论文部分内容阅读
受限环境是物联网场景下一种比较常见的应用场景,主要是指由内存较小、计算能力较弱、通信带宽较差的受限设备组成的网络环境。IETF为了解决受限设备的应用层数据交互,提出了CoAP协议。利用该协议,受限设备可以实现和因特网相同的资源访问服务。而在受限场景下,安全问题又是一个比较严重的问题。在CoAP定义的协议栈中,可以采用类似于TLS的DTLS协议来保障数据的安全。然而这样的做法却有两个问题:一个是效率问题,另外一个是跨代理场景下的应用层数据安全问题。效率问题主要指DTLS最初是针对UDP来设计的,并没有考虑受限环境,因此需要对DTLS协议本身进行优化;跨代理场景下的应用层数据安全问题主要指,CoAP代理会将原本端到端的传输层安全协议截成两段,所有经由CoAP代理转发的应用层数据,必须经过代理进行解密。而CoAP代理又是易受黑客攻击的,所以用户和服务器交互的应用层明文很容易被代理截获。因此需要另外提出一种解决方案,来保障跨代理场景下的应用层数据安全。为了解决以上两个问题,本论文提出了轻量级M2M安全机制。该机制包括两部分内容:一部分是轻量级DTLS协议,另外一部分就是ATLS机制,也就是应用层TLS。轻量级M2M安全机制的提出,主要是为了更加高效、安全地保障端到端的数据传输。在轻量级DTLS协议设计与实现部分,本论文主要采用占用资源更少的PSK(预分配密钥)算法,删除基于ECC加密算法和基于证书交换的代码逻辑,并且就基于PSK的DTLS握手过程进行优化,省略对密钥套件的协商,将会话密钥的生成提前,减少了握手数据的传输量。本论文分别基于SMS和低功耗蓝牙,实现了受限环境下远距离通信和近距离通信的性能测试,证明了轻量级DTLS的高效性。另外本论文针对CoAP代理可以截获应用层数据明文这一问题,参考传输层安全的设计方法,设计了ATLS机制。该机制利用应用层报文传输握手消息,并且经过握手建立起一个应用层之上的ATLS会话,该会话中保存着用于应用层明文加密的会话密钥,之后就可以利用会话密钥对应用层数据进行加密了。这时CoAP代理截获到的应用层数据均为经过加密的密文,由于CoAP代理没有部署ATLS,因此也就无法对该密文解密。本论文最后又对ATLS进行了CoAP代理数据拦截实验和压力测试。数据拦截实验中截获通过CoAP代理的应用层数据,结果发现截获到的数据为无法解密的应用层密文,证明了ATLS机制的安全性;压力测试则在高并发情况下测试ATLS性能,实验结果证明了基于轻量级PSK加密的ATLS在高并发情况下具备更高的吞吐率。