我的 IoT 设备与智能手机建立了 BLE 连接,并通过该连接连接到云。集成 TLS 时,它应该在 MQTT 之上还是之下?到目前为止,我所审查的所有实现都在 MQTT 层之下。
多于:
TLS 握手和记录消息被放入 MQTT 有效负载并通过 BLE 发送到电话,然后通过 TCP/IP 将其转发到云端。智能手机只是转发 MQTT 数据包,并不知道其内容。
以下:
在设备和云之间建立第一个 TLS 会话。第一种方法是让设备创建一个 IP 数据包,并通过 BLE 将其发送到智能手机以转发到云端。只有当 TLS 建立后,才开始通过这个 TLS 会话发送 MQTT。在我查阅文献时,这是更常见的方法。但这会添加更多代码来处理创建 IP 数据包。