你可以自定义 BluFi 配网过程中使用的对称加密、非对称加密以及校验算法。 BluFi 提供的示例程序默认将使用 DH 算法进行密钥协商,使用 128-AES 算法进行数据加密,使用 CRC16 进行进行数据校验。
流程:
-----
+-----
BluFi 配网功能包含配置 SoftAP 和 Station 两部分。
下面以配置 Station 为例说明配置步骤。
BluFi 配网的配置 Station 包含广播、连接、服务发现、协商共享密钥、传输数据、回传连接状态等步骤。
完整的配网过程如下:
-----------------
+-------------------
1. ESP32 开启 GATT Server 功能,发送带有特定 *adv data* 的广播。你可以自定义该广播,该广播不属于 BluFi Profile。
:figclass: align-center
BLUFI 传输格式
-*************
+**************
手机 APP 与 ESP32 之间的 BluFi 通信格式定义如下:
* 控制帧,暂不进行加密,可校验;
* 数据帧,可加密,可校验。
+
+---------+------------------------+--------------+-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Type | 帧类型 | Subtype | 含义 | 解释 | 备注 |
+---------+------------------------+--------------+-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
此域为 2 Byte 的校验,用来校验『序列 + 数据长度 + 明文数据』。
ESP32端的安全实现
-****************
+*****************
1. 保证数据安全