基于可信计算的物联网感知层安全机制

2018-02-25 02:39路代安周骅
电子技术与软件工程 2018年7期
关键词:身份认证

路代安 周骅

摘要 文章针对当前物联网感知层安全防患不足的问题,设计了一个基于可信计算方法的物联网感知层硬件安全机制,并完成了相关的硬件模块及上层应用系统的设计。实现感知层节点上控制单元与外围设备之间、以及节点到服务器之间的身份认证机制和数据加密传输机制,保护节点的身份信息和传感器数据,使物联网感知层的节点和服务器更加安全和可靠。

【关键词】可信计算 物联网感知层 硬件加密机制 身份认证

物联网(IoT)是在互联网技术基础上的延伸和扩展的一种网络技术。由于涉及到个人、机构和系统的范围,安全性已成为任何物联网系统的关键部分的重要组成部分。物联网的核心可划分为三个逻辑层,分别是感知层、传输层和处理应用层。其中传输层以及处理应用层由于同互联网的架构以及处理能力上较接近,互联网安全中的理论、技术方法都能适用于其中。而感知层在这方面由于自身特点在计算能力、通信能力、存储能力等多个方面都受到限制,无法应用互联网中使用的复杂的安全技术,导致针对感知层的安全防护不足。当前在节点上的加密技术主要分两类,一类是直接在节点的微控制器中实现开销低的传感网密码算法,如文献[2]和文献[3]中的两种通过代码实现的身份认证算法;另一类是在搭载Linux操作系统的嵌入式设备上直接使用计算机上的可信技术来实现身份认证,如文献[5]中提出的基于可信计算的RFID安全协议等。其中第一类技术方案受节点的硬件资源限制导致加密级别不够高。第二类完全使用计算机上的可信计算,只能运行于搭载计算机操作系统的场景。然而很多情况下边缘节点用到的微处理器并不具有运行操作系统的能力。诸如电子密码锁、手持设备等,这些设备同样容易成为被攻击对象。因此本文通过研究可信计算方法,结合物联网感知层边缘节点的应用特点,建立一个能够运行且不限于采用轻量级控制器的节点上的硬件安全机制,实现身份认证、密钥管理以及数据加密传输的功能。

1 基于可信计算的物联网感知层的安全机制

可信计算作为一种在通用计算平台可行的安全防护机制保护计算机安全。可信计算的宗旨是以可信计算安全芯片为核心改进现有平台体系结构,增强通用计算平台和网络的可信性。国际可信计算组织(Trusted ComputingGroup)在现有体系结构上引入可信平台模块(Trusted Platform Module;TPM),利用TPM的安全特性来保证通用计算平台的可信。由于物联网感知层中使用的处理器计算资源及性能远远低于通用平台的计算机,不能直接套用计算机中应用的可信计算理论及方法。因此本文采用可信计算芯片,针对感知层节点特征,重新设计基于可信芯片的硬件架构、身份认证机制和数据加密传输机制。可信安全芯片内部结构如图1所示。

1.1 硬件架构设计

采用可信芯片设计的硬件安全模块能够通过芯片自身的物理不可克隆函数(PUF)技术来保护存储区域的安全,内部集成的散列算法和对称加密算法或者非对称加密算法能够为系统的身份信息和数据信息提供加密计算。本文设计的基于可信硬件安全模块的物联网安全架构如图2所示。

架构中,感知设备和联网设备上的单个集成SHA256算法的可信安全芯片用于该设备的身份认证,防止设备被替换。连接控制单元和服务器的硬件安全模块由集成SHA256算法和集成AES128算法的两个芯片构成,用于节点与设备和服务器之间的双向身份认证和数据加解密。

1.2 身份认证机制

为了在物联网感知层的节点与服务器之间实现高效快速的认证机制,本文采用硬件产生的32字节高品质随机数来实现标准的挑战,响应协议(challenge-response protocol), 以简化编程。本方案首先将控制单元作为挑战者,以携带的安全芯片的设备作为响应者。通过计算验证设备身份信息。身份认证过程如图3所示。

这里外围设备包含节点可能应用到的传感器设备和联网设备,过程描述如下:

(1)节点控制器向硬件安全模块执行nonce命令,产生32字节的唯一随机数challenge;

(2)节点控制器将challenge发送到设备安全芯片计算产生response并返回,其中:

response=SHA(challenge) //SHA表示将challenge通过SHA256计算得出response。

(3)节点控制器将challenge和response发送到硬件安全模块验证否匹配,返回验证结果:

(4)如果第3步中返回验证成功,则完成该身份认证过程并读取设备Id,继续执行操作,否则认证失败。

通过上述过程,完成外围设备的身份认证才能向服务器请求身份认证,认证过程如图

4 所示。

这里ASK是请求包,其中result是节点对外围设备的验证报告;Id包含所有设备的标识符,Ie是节点的标识符,response的计算方法与图3中的过程2相同。过程描述如下:

(1)节点向服务器发送ASK,服务器通过判断result的值及是否存在该节点。如果result为l或节点不存在,则认证失败;

(2)服务器通过硬件安全模块产生challenge发送给节点计算并返回response,如果接收response重复或错误则认证失败;

(3)服务器上将challenge和response发送到硬件安全模块进行校验,校验正确,则进行下一步,否則认证失败。

(4)校验正确后服务器返回证书token给节点作为数据交换的凭证;

(5)如果是服务器请求控制节点,则从第二部开始执行。

1.3 数据加密传输机制

完成身份认证的节点上传感器采集的数据需要通过网络向服务器传输。为了防止攻击者通过数据的传输信道获取节点的有效数据甚至控制节点和对服务器发动攻击,须对数据进行加密。本文使用可信芯片实现的数据加密传输方案过程如图5。

(1)节点向硬件加密模块执行nonce指令,模块内部生成32字节唯一随机数RN;

(2)节点将data发送到加密模块,data在芯片内部被加密并生产消息认证码MAC用于解密数据时的消息完整性驗证,其中:

MACdata=AES(dataIIRN)/+式子表示将data和RN混合后通过AES-128计算出MACdata*/

(3)节点将已获得的授权证书token和被加密的数据发送到服务器;

(4)服务器接收到数据后校验token,然后将数据发送到服务器的加密芯片进行解密,最后存储到数据库以各后用;

(5)如果是服务器向节点发送数据,则交换加密、解密对象。

2 协议分析与测试

本方案通过应用在计算机上使用的可信计算方法,加入使用PUF技术的可信芯片,采用挑战.响应协议建立一个从节点到服务器之间的双向身份认证机制,保护物联网的身份信息安全;采用集成非对称加密算法的安全芯片建立一个有效的数据加密传输机制,保护数据传输安全。本方案主要应对物联网面临的安全威胁如表1。

此外,根据方案设计,本文使用Atmel的可信计算芯片ATSHA204和ATAES132,以及嵌入式微处理器SAMD21和温度传感器设计终端节点,使用VB在Winl0环境下编写服务平台软件,设计一个无线温度监测的测试系统,然后进行了穷举攻击、复制攻击、重放攻击等测试,服务平台上都能够及时检测到攻击源,并且给出提示信息和拒绝接收非法数据。实验验证了本方案的可行性。

参考文献

[1] Eustace Asanghanwa, Ronald Ih, SecurityICs,CryptoAuthentication Marketing.Security for Intelligent, ConnectedIoT Edge Nodes [EB/OL]. ht tp://www.a tmel. com/images/Atmel-899 4-Security-for-Intelligent-Connected-IoT-Edge-Nodes _Whitepaper. pdf.

[2]张玉婷,严承华,魏玉人,基于节点认证的物联网感知层安全性问题研究[J],信息网络安全,2015 (11): 27-32.

[3]曾雅丽,蓝欣露.物联网感知层安全设计与实现[J].网络安全技术与应用,2015 (04):95-96.

[4]冯登国,秦宇,汪丹等,可信计算技术研究[J],计算机研究与发展,2011, 48 (08):1332-1349.

[5]周韫艺,可信计算在物联网安全中的应用[D].重庆邮电大学,2012.

[6]蒋政君,田海博,张方国,基于PUF的RFID防伪技术研究综述[J].信息网络安全,2016 (04):38-43.

[7]费运亚,一种基于SHA2 56加密算法的软硬件协同设计方法研究[D].北京大学,2014.

猜你喜欢
身份认证
云电子身份管理与认证系统中的关键技术优化改进