什么是DTLS+?
特性定义
DTLS+(Datagram Transport Layer Security,数据报传输层安全性协议)是华为OceanConnectdmp物联网平台采用的数据报传输层安全协议,相比传统DTLS协议,在会话协商等方面做了优化,减少了终端与物联网平台通信过程中的握手次数,从而延长终端电池的使用寿命。
特性价值
对行业:优化后的DTLS+安全传输,相比采用DTLS协议的终端来说,终端功耗可节约50%。
对运营商:减少无线消息,提升联接容量。
应用场景
用于保障NB-IoT NAT(Network Address Translation 网络地址转换)场景下终端设备和IoT平台之间的应用数据、管理数据的安全。
约束与影响
NB-IoT终端必须使用华为芯片,同时要求支持DTLS+协议。
每个NB-IoT终端设备出厂时预置PSK。
实现原理
NB-IoT设备和IoT平台之间采用DTLS协议对应用/管理数据进行保护。DTLS连接由Client和Server握手建立,建立成功后,双方使用五元组(源/目的IP地址、源/目的端口号、协议类型)唯一标识一条DTLS连接(如下图)。因此Client、Server后续发送报文只需在报文头携带上述五元组,对方收到报文后就可以根据五元组找到DTLS安全上下文。
标准DTLS在NB-IoT NAT场景中问题:
在NB-IoT的NAT场景下,因NB-IoT终端发包周期长导致NAT表项过期,NAT老化后会给终端分配新的源IP地址/端口,因此终端每次发包所带IP地址/端口都会不同,导致IoT平台无法根据报文头的五元组找到原来的DTLS上下文,必须重新协商。
DTLS正常协商需要交互6个报文,利用Session ID快速握手也需要5条消息,对终端功耗影响很大(覆盖等级2的情况下,功耗增加60%以上),需要优化。
DTLS与DTLS+的对比
对比项 |
标准DTLS |
DTLS+ |
---|---|---|
通信过程 |
|
|
传输消息量 |
每次传输数据需要7条消息(握手消息6条,传输数据消息1条)。 |
第一次传输数据需要7条消息(握手消息6条,传输数据1条),后面传输数据,无需进行握手(只需要1条传输数据消息),从而减少了终端与平台之间的消息传输。 |
- 点赞
- 收藏
- 关注作者
评论(0)