借助 DTLS,通过窄带 IoT 实现安全数据交换(第 3 部分)

Collection of structured data for analysis and processing.
Post Reply
suchona.kani.z
Posts: 55
Joined: Sat Dec 21, 2024 6:27 am

借助 DTLS,通过窄带 IoT 实现安全数据交换(第 3 部分)

Post by suchona.kani.z »

虽然本博客系列的第一部分讨论了窄带物联网技术,在第二部分中我讨论了基于 MQTT-SN over NB-IoT 的通信的特殊功能,但该系列的第三部分也是最后一部分是关于物联网的重点关于安全的重要方面。

使用 DTLS 加密
可以使用常见移动电话提供商的资费通过 VPN 在终端设备和云基础设施之间建立连接。然而,在这种情况下,并没有真正的端到端加密。例如,尽管 VPN 连接可以通过 IPSec 进行加密,但通过 VPN 传输的数据却不能。理论上,移动运营商(接入点)有机会查看和操作数据。

根据应用,例如,如果在智能计量领域必须确保传输数据的完整性和机密性,则不可以选择这种非端到端加密传输。

正如上一篇博客文章中已经提到的,建议使用基于 UDP 的通信协议通 哥斯达黎加 whatsapp 数据​ 过窄带 IoT 进行云通信。

虽然广泛使用的加密协议可用于具有传输层安全性 (TLS) 的基于 TCP 的连接,但基于 TCP 的数据报传输层安全性 (DTLS) 协议必须用于 UDP。然而,与 TLS 实现相比,DTLS 实现的数量(尤其是在服务器端)是可以管理的。

尽管如此,DTLS 提供了多种可用于加密的算法。除此之外,还支持预共享密钥过程(简称PSK)。发送者和接收者(即云平台和现场终端设备)已知的密钥用于建立加密连接。

通过 DTLS 进行身份验证
无论使用 MQTT-SN 还是 CoAP 作为通信协议,这两种协议最初都不支持对连接设备进行身份验证。

例如,在规范的当前实现(v1.2)中,MQTT-SN没有提供确定客户端身份的方法。 CONNECT 消息中仅传输 ClientID。如果需要对客户端进行身份验证,则必须以基于 MQTT-SN 的“自己的协议”的形式实现。

在封闭系统中,缺乏身份验证选项似乎就足够了,但它需要对方高度信任。例如,在涉及将智能电表连接到云端的窄带物联网场景中,可以使用电表的全球唯一序列号作为ClientID。因此,攻击者有机会通过读取或读取(设备)序列号,甚至通过简单猜测来确定第三方客户端 ID,并代表第三方设备读取数据。机密信息可能被拦截,或者消息可能被发送到云端,这反过来又会导致数据操纵。

为了弥补 MQTT-SN(或 CoAP)身份验证的不足,这里也可以使用 DTLS-PSK。为了建立安全连接,服务器已知的正确凭据必须以客户端标识符和预共享密钥的形式传输。然后,可以根据所使用的客户端标识符将传入的 MQTT-SN 消息分配给云中的相应设备。
Post Reply