什么是DTLS+?

举报
Sunshine_666 发表于 2020/05/21 15:03:53 2020/05/21
【摘要】 特性定义DTLS+(Datagram Transport Layer Security,数据报传输层安全性协议)是华为物联网平台采用的数据报传输层安全协议。

特性定义

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+

通信过程

  1. 终端与平台之间DTLS加密传输通道建立成功后,双方使用五元组(源/目的IP地址、源/目的端口号、协议类型)进行通信,发送报文只需在报文头携带五元组,对方收到报文后就可以根据五元组找到DTLS安全上下文。

  2. 终端与平台之间不保存协商后的密钥/IP地址等信息,每次传输数据都需要重新进行握手。

  1. 基于标准DTLS引入一个Resume_ID与五元组解耦,终端与平台配合新增字段Resume_ID。

  2. 终端与平台第一次通信握手成功后,IoT平台保存协商后的密钥及Resume_ID等信息,终端保存Resume_ID。以后每次上报数据,终端携带Resume_ID,IoT平台依据该ID找到对应的密钥信息,无需重新进行握手。

传输消息量

每次传输数据需要7条消息(握手消息6条,传输数据消息1条)。

第一次传输数据需要7条消息(握手消息6条,传输数据1条),后面传输数据,无需进行握手(只需要1条传输数据消息),从而减少了终端与平台之间的消息传输。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。