基于DTLS协议的窄带物联网数据安全可行性研究
2021-01-16刘倩倩
刘倩倩
(山西工程职业学院,山西 太原 030000)
0 引言
近年来,信息世界的交互已不再满足于计算机与计算机之间,逐渐向各种各样的物体或设备上蔓延,如智能穿戴、智能电表、共享单车等。物体与物体之间通过网络实现相互连接、相互通信,这就是物联网的概念[1]。物联网技术是一个统称,它包含了感知、传输、支撑与应用等多方面多结构的先进技术。由于技术涵盖广泛,应用灵活,物联网的涉足领域越来越大,智能家居、交通运输、物流管理、公共设施、医疗设备、农业种植等行业都有了物联网的身影[2]。全球企业紧跟时代步伐,积极研发物联网设备,或对传统设备进行数字化改造,添加物联网功能,使设备可以通过网络进行监控、升级、数据采集等操作,大大提高了设备的生产效率。
在物联网设备中,无论是从现场采集的数据,还是服务器下发的指令,这些信息都通过网络进行传递,所以整个过程中,必须采取一定措施与方案将数据进行防护,以免被外界窃取或攻击。而目前部分厂商在配置或升级数字化、信息化的物联网设备时,碍于技术限制或成本问题,其数据安全防护配置并未同步,对设备安全造成很大漏洞。同时由于物联网终端与应用的不断融合,以及场景适配的多样性,物联网的安全问题更加突出。
在传统的互联网中,一般使用安全协议来保障各个层级中数据的安全,如SSL/TLS、Telnet、SSH等,然而物联网体系架构、应用协议、产品特征等都与传统互联网不同,大多数物联网设备资源受限,在存储空间和计算能力上严重不足。所以绝大多数情况下,这些传统的互联网安全协议都无法部署于物联网设备中。因此,对于物联网设备,需要一些更具适配性的安全防护方案,来保证数据的安全。
本文通过分析目前物联网中比较先进的一种技术——窄带物联网NB-IoT,来阐述针对NB-IoT技术与其应用场景中的数据传输安全协议DTLS的适用性。
1 窄带物联网的特点与安全威胁
1.1 窄带物联网NB-IoT
随着物联网技术的不断进步,其通信方式已不满足于近距离传输,如蓝牙、Wi-Fi、ZigBee等,这些传输方式可以很好地应用在一个小范围空间内,如家庭内部、写字楼 等。然而随着应用场景的扩大,物联网设备的通信已逐渐不满足于局域传输,同时 增加了更多的需 求,如超低功耗、海量连接等。在一些特定的应用场景下,例如在许多偏远地区以及山林等人烟稀少的场所安装物联网设备并对其远程操控,这时就需要一种能同时实现广域通信和海量连接的物联网产品来满足应用需求,所以基于蜂窝网络的物联网技术逐渐受到市场的追捧,如 GPRS、CDMA、LTE等,甚至为了满足低功耗、低速率的应用需求,推出了专门针对物联网的NB-IoT与LoRa等新型蜂窝技术,这些新型蜂窝技术在功耗、带宽、数据传输方式等方面对于物联网应用都具有绝对的优势。
特别是窄带物联网NB-IoT,在目前物联网应用方面表现非常出色,它由NB-CIoT与NB-LTE两项技术结合构成,所以NB-IoT技术在部署方式上非常灵活,既可以在带内或在保护带部署,同时也支持独立部署[3]。之所以被称为“窄带”物联网的原因是由于NB-IoT的带宽只占了180 kHz。相较于传统的广域蜂窝网技术和Bluetooth、Wi-Fi、ZigBee等短距离传输技术,NB-IoT具备很多优势。首先是海量连接,NB-IoT技术中,每个扇区可接受高达10万个设备同时连接;其次是广域覆盖,只要有蜂窝网络的地点都可部署NB-IoT,而且覆盖面积比传统蜂窝网扩大了上百倍;三是超低功耗,模块的正常使用时间可长达十年或以上;不仅如此,NB-IoT模块还具有成本低廉的优势,单个模块成本小于5美元。
NB-IoT技术非常适用于数据需求小的网络指令业务,如共享单车、智能电表、烟雾报警器、智能门锁等,由于其优点众多,越来越多的企业开始采用NB-IoT技术提升竞争力,而运营商层面也在大力支持NB-IoT技术的发展。专家预测,NB-IoT的物联网连接量未来会达到总连接量的四分之一,可以肯定的是,NB-IoT技术已成为物联网生态越来越重要的一部分。
1.2 NB-IoT应用场景中存在的安全需求
NB-IoT技术优点众多,应用场景广泛。NB-IoT物联网技术在大力发展的同时,信息安全成为NB-IoT技术需要考虑的重要问题。物联网的层级架构共三层:感知层、传输层与应用层,每一层都存在受到安全威胁的可能性。感知层与应用层安全防护技术目前已经成熟,一般可用终端边界防护、蜂窝通信、访问控制、数据校验等技术进行安全防护,而互联网的传输层安全主要是靠安全传输协议TLS/SSL来防护,TLS/SSL协议建立在传输层TCP 与应用层之间,通 过数字证书认证与非对 称加密算法来保证数据传输的安全性。但由于NB-IoT模块的功耗和成本都有严格限制,在很多场景下,传输层协议并未选择TCP,而是选择占用系统资源较少、传输方式更简单的UDP协议,然而安全传输协议TLS/SSL只能建立在TCP之上,无法应用于UDP之上,即无法使用传统的安全传输层协议TLS/SSL 来为小容量、低功耗模块NB-IoT提供数据传输的保密性。为了确保NBIoT模块数据传输的安全性,需要一种更具适配性的安全传输方案。
2 基于DTLS在窄带物联网中的安全机制
2.1 DTLS协议在窄带物联网中应用的可行性
DTLS的英文全称为Datagram Transpor t Layer Security,中文叫做数据包传输层安全协议。
DTLS在原本的TLS协议代码架构上做了升级和适配,所以它的安全防护机制不变,而且并不低于TLS安全防护等级,对于信息的窃听与非法篡改,以及虚假身份验证等安全问题,都可以有效解决。DTLS部署于UDP之上,专门为基于UDP的数据传输提供安全保障。当窄带物联网NB-IoT模块应用在对功耗、存储空间、计算资源都有一定限制的场景中时,为了提高模块的通信效率,在传输层往往选择UDP协议。所以针对此类情况,选择DTLS协议作为传输层的安全防护解决方案,可有 效保证NB-IoT模块传输层数据的安全性与私密性。
2.2 DTLS的作用流程
DTLS是TLS的子集,目前OpenSSL库中已经包含DTLS1.0和DTLS1.2的版本。DTLS协议中包含多种加密算法,与TLS一样,秘钥协商在握手流程中完成。根据加密方式的不同,DTLS中的加密算法也可分为非对称加密和对称加密两大类。两类加密方式在算法强度、通信效率等方面各有所长,针对不同的应用场景,可选择不同的加密方式。
非对称加密,即基于椭圆加密算法的ECC加密方式。在握手连接阶段使用ECDH秘钥协商算法与ECDSA数字签名算法产生公钥、私钥与数字签名,而且需要通信双方互相验证数字证书;在数据传输阶段加密与解密使用不同的秘钥,这就是非对称加密的含义。这种非对称加密方式安全可靠,加密等级高,但是算法相对复杂,加密解密速度慢,同时对模块系统资源要求较高,但是在针对很多具体的NB-IoT应用中,尤其是一些微型设备上,其计算资源和内存空间都非常小,使用基于ECC的非对称加密方式会给设备造成不小的压力。因此,在大多数情况下,NB-IoT设备中采用更为轻量级的加密方式——基于PSK的对称加密算法。
PSK全称为Pre Shared Key,即预共享秘钥。支持使用PSK算法的通信双方会预先在本地存取对方的PSK秘钥(psk_id)与秘钥长度(psk_id_ length)。建立握手连接时,双方分别在server_key_ exchange与client_key_exchange报文段中携带各自的psk_id及psk_id_length发送给对方,只有通信双方接收的PSK秘钥与本地预先存储的对应IP地址的秘钥完全一致才能通过身份验证进入下一个握手流程。通过身份验证后,双方使用建立连接时各自端产生的32字节随机数生成对称的会话秘钥,用于握手成功后应用数据的加密与解密。因此可以保证,虽然本地预先存储的PSK秘钥未变,但每次建立通信时的临时会话秘钥都会发生变化,从而使传输层数据的安全性和抗攻击性得到了保证。
从PSK的加密流程中可以看出,对比基于ECC的加密方式,PSK在握手过程中报文更为简洁,减少了复杂算法的加密与解密,在传输应用数据时使用对称秘钥,为数据传输提供安全可靠性的同时提高了通信效率,同时降低了模块功耗,满足了NB-IoT模块应用场景中低功耗、计算资源有限的需求。
2.3 性能优化方案
基于PSK的加密方式不仅保证了传输层通信过程中应用数据的安全性,同时又满足NB-IoT模块资源受限的特点。在一些更为极限的条件下,为了延长模块的使用寿命,提高通信效率,若客户端与服务器需要频繁建立连接进行数据传输,在通信双方第一次握手成功后,通信双方可将对方的IP地址、端口号、加密方式、PSK秘钥等标识,作为一条新的标识进行储存,当再次建立握手连接时,在报文中加入新的标识,对方收到报文后便可通过身份验证,直接进行应用数据的传输,此方案可大大减小频繁通信时双方发送与接收的报文量,进一步节约模块功耗。
3 结束语
本文通过介绍窄带物联网NB-IoT技术的特点,分析了NB-IoT模块的应用场景和安全需求,提出了基于DTLS安全传输协议在NB-IoT模块中应用的可行性,着重阐述了DTLS协议中的PSK加密方式对于NB-IoT模块应用场景的适用性。基于PSK的加密方式不仅为模块的数据传输提供机密性与可靠性,同时在降低功耗、节省空间与计算资源方面也更加适用于窄带物联网模块;最后提出了一种基于PSK安全加密的改进方式,可在PSK算法优点的基础上将功率消耗降到更低,进一步提高通信效率。该方案可应用于窄带物联网对于功耗、资源更为苛刻的场景中,巩固PSK算法的轻量级实现。