可信计算在智能家居安全机制中的应用研究*
2018-05-05路代安
路代安,周 骅
(贵州大学 大数据与信息工程学院,贵州 贵阳 550025)
0 引 言
智能家居[1]是家庭楼宇的智能化和自动化。智能家居让用户以更方便的手段来管理家庭设备,如通过触摸屏、手持遥控器、电话、互联网来控制家用设备,更可以执行情景操作,使多个设备形成联动。此外,智能家居内的各种设备相互间可以通讯,不需要用户指挥也能根据不同的状态互动运行,从而给用户带来最大程度的方便、高效、安全与舒适[2]。然而,存在安全漏洞的智能家居设备也时常被网络爆料。黑客可以远程操控智能设备在用户家中自由行动,窥探个人隐私。“家里的隐私”被“智能家居”设备泄露,令人感到毛骨悚然。目前,“智能家居”设备尚存在不少的安全漏洞。同时,智能家居中的安全措施主要依靠网络安全技术,一旦网络防御被攻破,家庭隐私必然暴露。因此,针对当前智能家居节点设备上存在的安全问题,提出了一种基于可信计算[3]的硬件安全机制,使用可信芯片设计了一个硬件安全模块。通过硬件安全模块实现智能节点到家庭主机之间、家庭主机到移动终端之间的身份认证协议和数据加密传输协议,从而为智能家居设备从底层添加一个硬件安全保护机制,使智能家居中的设备更加安全可靠。
1 基于可信计算芯片的硬件安全机制
可信计算作为一种在通用计算平台可行的安全防护机制,为传统计算机提供了有效的安全防护。可信计算的宗旨是以可信计算安全芯片为核心改进现有平台体系结构,增强通用计算平台和网络的可信性。国际可信计算组织(Trusted Computing Group)在现有体系结构上引入可信计算核心硬件——可信平台模块(Trusted Platform Module,TPM)。TPM内部主要包括密码协处理器、随机数发生器、密钥生成器、加密算法引擎和安全存储等功能,从而利用可信芯片的安全特性来保证通用计算平台的可信[4]。
然而,智能家居的各种节点设备上使用的处理器的计算资源及性能远远低于通用平台的计算机。因此,不能直接使用计算机中应用的可信计算理论及方法,需要有针对性地解决智能家居中智能设备的安全问题。本文采用可信计算芯片重新设计了一个硬件安全模块,在模块的基础上重新设计硬件架构、身份认证机制和数据加密传输机制。硬件安全模块内部框架如图1所示。
1.1 系统架构设计
采用可信芯片设计的硬件安全模块具有以下功能:
(1)密钥安全存储:采用物理不可克隆函数技术(PUF)[5]来防止加密密钥被克隆。
(2)身份认证:通过加入可信安全模块,在智能节点到家庭主机之间、家庭主机到移动终端之间建立身份认证和数据加密传输协议。
(3)数据加密:通过加密芯片对设备采集的数据进行加密,保障数据传输的安全。
因此,本文设计的基于硬件模块的智能家居系统架构,如图2所示。
图2 基于硬件安全模块的智能家居系统架构
架构中,硬件安全模块由集成哈希散列算法和对称加密算法的两片可信芯片构成,通过IIC总线与处理器连接。家庭主机和智能节点上的硬件安全模块用于上传数据时和外部请求控制节点时的身份认证,防止设备被非法替换和控制;在移动终端的App中,内嵌有SHA256和AES128加密算法,主要是由于移动终端型号非常多,不便于加入硬件安全模块。通过软硬件结合,从而实现移动终端与家庭主机之间的数据加密传输。
1.2 身份认证机制
为了实现高效快速的认证机制,本文采用标准的挑战-响应协议(Challenge-response Protocol)[6],以简化编程。挑战者向响应者发送challenge,响应者将challenge在其安全芯片内部通过散列算法计算产生response,并将response发送回挑战者,然后挑战者通过自身安全芯片验证response是否准确。使用随机数的密码散列算法防止总线上的观察者推导出密钥的值,但允许接收者通过执行相同的计算来验证响应者是否存储相同的密钥副本。本方案首先将控制单元作为挑战者,以携带的安全芯片的设备作为响应者,并通过计算验证设备身份信息。身份认证协议,如图3所示。
图3 身份认证过程
这里,请求者(Requester)→应答者(Responder)的组合模式可以是4种之一。
(1)智能设备→家庭主机;
(2)家庭主机→智能设备;
(3)家庭主机→移动终端;
(4)移动终端→家庭主机。
由于目前难以在移动终端内植入硬件安全模块,所以直接在APP内实现与芯片上相同的加密算法来替代HSM。其中,MCU即Microcontroller Unit。
认证过程如下:
(1)请求者将自身唯一序列号作为Id打包,向应答者发起请求;
(2)应答者识别到存在Id后,向HSM2发送nonce指令,生成并返回32字节随机数作为challenge,应答者将challenge发送给请求者;
(3)请求者将challenge发送到HSM1执行计算得出response并返回response给应答者,其中response=SHA(challenge),表示将challenge通过SHA256计算得出response。
(4)应答者将response发送到HSM2,通过内部计算验证challenge和response是否匹配,最后返回验证结果result。
(5)如果第4步中返回的result是0,则完成身份认证,并发送证书token给请求者;否则,将该设备Id加入黑名单,停止使用该设备。
通过上述过程完成设备之间的身份认证才能建立信任链,从而相互通信或控制。如果过程中出现超时、数据不匹配等错误,都将导致身份认证失败。
1.3 数据加密传输机制
为了防止攻击者通过数据的传输信道获取节点的有效数据甚至控制节点和对主机发动攻击,必须对数据进行加密,提高破译难度。本文通过引入可信芯片,实现基于硬件的加密方案,从而通过加密芯片对数据进行加密、解密处理,过程如图4所示。
图4 数据加解密过程
(1)Sender发送nonce指令到HSM1,HSM1在内部生成32字节唯一的随机数;
(2)Sender将需要加密的data发送到HSM1,data通过HSM1进行加密后返回给Sender,Sender将身份认证获得的证书token和已加密的数据发送给Receiver;
(3)Receiver通过解密判断token的正确性,然后将数据发送到HSM2的加密芯片进行解密,最后存储到数据库备用。
2 协议分析与测试
通过研究可信计算技术在智能家居安全机制中的应用,设计了基于可信计算芯片的硬件安全模块,结合App端的软件加密算法,采用挑战-响应协议建立了一个基于硬件保护的安全机制,以保护智能家居设备的数据信息安全。本方案主要应对智能家居面临的威胁,如表1所示。
表1 方案主要解决智能节点面临的安全威胁
此外,根据方案设计,使用Atmel的可信芯片ATSHA204和AES132,以及Cortex-M0内核的嵌入式微处理器和温度传感器,在PC端使用VB.net编写服务软件,设计了无线温度监测的物联网系统。在假设攻击者已通过信道监听获取准确的数据信息的前提下,进行了复制、假冒替换等攻防测试,结果系统都检测并提示了攻击情况,验证了设计的可行性。测试及结果如表2所示。
表2 攻防测试结果
3 结 语
智能家居是在物联网影响下的物联化体现,而物联网是在互联网基础上衍生而来,互联网上的安全威胁同样会涉及到物联网。因此,本文通过应用计算机使用的可信计算方法,在未来智能家居普遍应用时能够为智能设备提供一个基于硬件的保护机制。可信计算芯片的最大特点是保护密钥和通过硬件执行加密算法,大大提高了系统运行的效率,也提高了破解的难度,从而最大限度地保障了智能家居中的设备安全。
参考文献:
[1] Hill Jim.The smart Home:a Glossary Guide for the Perplexed[S].2017.
[2] 梁季彝,唐幸儿.智能家居场景控制系统[J].中小企业管理与科技,2015(19):178.LIANG Ji-yi,TANG Xing-er.Intelligent Home Scene Control System[J].Journal of SME Management and Technology,2015(19):178.
[3] 冯登国,秦宇,汪丹等.可信计算技术研究[J].计算机研究与发展,2011,48(08):1332-1349.FENG Deng-guo,QIN Yu,WANG Dan,et al.Study on Trusted Computing Technology[J].Journal of Computer Research and Development,2011,48(08):1332-1349.
[4] 周韫艺.可信计算在物联网安全中的应用[D].重庆:重庆邮电大学,2012.ZHOU Wen-yi.Trusted Computing in IoT Security[D].Chongqing:Chongqing University of Posts and Telecommunications,2012.
[5] 蒋政君,田海博,张方国.基于PUF的RFID防伪技术研究综述[J].信息网络安全,2016(04):38-43.JIANG Zheng-jun,TIAN Hai-bo,ZHANG Fang-guo.Review of RFID Anti-Counterfeit Technology Based on PUF[J].News Network Security,2016(04):38-43.
[6] Rhee K,Jin K,Kim S,et al.Challenge-Response Based RFID Authentication Protocol for Distributed Database Environment[C].International Conference on Security in Pervasive Computing,2005:70-84.