路代安,周 驊
(貴州大學(xué) 大數(shù)據(jù)與信息工程學(xué)院,貴州 貴陽 550025)
智能家居[1]是家庭樓宇的智能化和自動(dòng)化。智能家居讓用戶以更方便的手段來管理家庭設(shè)備,如通過觸摸屏、手持遙控器、電話、互聯(lián)網(wǎng)來控制家用設(shè)備,更可以執(zhí)行情景操作,使多個(gè)設(shè)備形成聯(lián)動(dòng)。此外,智能家居內(nèi)的各種設(shè)備相互間可以通訊,不需要用戶指揮也能根據(jù)不同的狀態(tài)互動(dòng)運(yùn)行,從而給用戶帶來最大程度的方便、高效、安全與舒適[2]。然而,存在安全漏洞的智能家居設(shè)備也時(shí)常被網(wǎng)絡(luò)爆料。黑客可以遠(yuǎn)程操控智能設(shè)備在用戶家中自由行動(dòng),窺探個(gè)人隱私?!凹依锏碾[私”被“智能家居”設(shè)備泄露,令人感到毛骨悚然。目前,“智能家居”設(shè)備尚存在不少的安全漏洞。同時(shí),智能家居中的安全措施主要依靠網(wǎng)絡(luò)安全技術(shù),一旦網(wǎng)絡(luò)防御被攻破,家庭隱私必然暴露。因此,針對當(dāng)前智能家居節(jié)點(diǎn)設(shè)備上存在的安全問題,提出了一種基于可信計(jì)算[3]的硬件安全機(jī)制,使用可信芯片設(shè)計(jì)了一個(gè)硬件安全模塊。通過硬件安全模塊實(shí)現(xiàn)智能節(jié)點(diǎn)到家庭主機(jī)之間、家庭主機(jī)到移動(dòng)終端之間的身份認(rèn)證協(xié)議和數(shù)據(jù)加密傳輸協(xié)議,從而為智能家居設(shè)備從底層添加一個(gè)硬件安全保護(hù)機(jī)制,使智能家居中的設(shè)備更加安全可靠。
可信計(jì)算作為一種在通用計(jì)算平臺可行的安全防護(hù)機(jī)制,為傳統(tǒng)計(jì)算機(jī)提供了有效的安全防護(hù)??尚庞?jì)算的宗旨是以可信計(jì)算安全芯片為核心改進(jìn)現(xiàn)有平臺體系結(jié)構(gòu),增強(qiáng)通用計(jì)算平臺和網(wǎng)絡(luò)的可信性。國際可信計(jì)算組織(Trusted Computing Group)在現(xiàn)有體系結(jié)構(gòu)上引入可信計(jì)算核心硬件——可信平臺模塊(Trusted Platform Module,TPM)。TPM內(nèi)部主要包括密碼協(xié)處理器、隨機(jī)數(shù)發(fā)生器、密鑰生成器、加密算法引擎和安全存儲等功能,從而利用可信芯片的安全特性來保證通用計(jì)算平臺的可信[4]。
然而,智能家居的各種節(jié)點(diǎn)設(shè)備上使用的處理器的計(jì)算資源及性能遠(yuǎn)遠(yuǎn)低于通用平臺的計(jì)算機(jī)。因此,不能直接使用計(jì)算機(jī)中應(yīng)用的可信計(jì)算理論及方法,需要有針對性地解決智能家居中智能設(shè)備的安全問題。本文采用可信計(jì)算芯片重新設(shè)計(jì)了一個(gè)硬件安全模塊,在模塊的基礎(chǔ)上重新設(shè)計(jì)硬件架構(gòu)、身份認(rèn)證機(jī)制和數(shù)據(jù)加密傳輸機(jī)制。硬件安全模塊內(nèi)部框架如圖1所示。
采用可信芯片設(shè)計(jì)的硬件安全模塊具有以下功能:
(1)密鑰安全存儲:采用物理不可克隆函數(shù)技術(shù)(PUF)[5]來防止加密密鑰被克隆。
(2)身份認(rèn)證:通過加入可信安全模塊,在智能節(jié)點(diǎn)到家庭主機(jī)之間、家庭主機(jī)到移動(dòng)終端之間建立身份認(rèn)證和數(shù)據(jù)加密傳輸協(xié)議。
(3)數(shù)據(jù)加密:通過加密芯片對設(shè)備采集的數(shù)據(jù)進(jìn)行加密,保障數(shù)據(jù)傳輸?shù)陌踩?/p>
因此,本文設(shè)計(jì)的基于硬件模塊的智能家居系統(tǒng)架構(gòu),如圖2所示。
圖2 基于硬件安全模塊的智能家居系統(tǒng)架構(gòu)
架構(gòu)中,硬件安全模塊由集成哈希散列算法和對稱加密算法的兩片可信芯片構(gòu)成,通過IIC總線與處理器連接。家庭主機(jī)和智能節(jié)點(diǎn)上的硬件安全模塊用于上傳數(shù)據(jù)時(shí)和外部請求控制節(jié)點(diǎn)時(shí)的身份認(rèn)證,防止設(shè)備被非法替換和控制;在移動(dòng)終端的App中,內(nèi)嵌有SHA256和AES128加密算法,主要是由于移動(dòng)終端型號非常多,不便于加入硬件安全模塊。通過軟硬件結(jié)合,從而實(shí)現(xiàn)移動(dòng)終端與家庭主機(jī)之間的數(shù)據(jù)加密傳輸。
為了實(shí)現(xiàn)高效快速的認(rèn)證機(jī)制,本文采用標(biāo)準(zhǔn)的挑戰(zhàn)-響應(yīng)協(xié)議(Challenge-response Protocol)[6],以簡化編程。挑戰(zhàn)者向響應(yīng)者發(fā)送challenge,響應(yīng)者將challenge在其安全芯片內(nèi)部通過散列算法計(jì)算產(chǎn)生response,并將response發(fā)送回挑戰(zhàn)者,然后挑戰(zhàn)者通過自身安全芯片驗(yàn)證response是否準(zhǔn)確。使用隨機(jī)數(shù)的密碼散列算法防止總線上的觀察者推導(dǎo)出密鑰的值,但允許接收者通過執(zhí)行相同的計(jì)算來驗(yàn)證響應(yīng)者是否存儲相同的密鑰副本。本方案首先將控制單元作為挑戰(zhàn)者,以攜帶的安全芯片的設(shè)備作為響應(yīng)者,并通過計(jì)算驗(yàn)證設(shè)備身份信息。身份認(rèn)證協(xié)議,如圖3所示。
圖3 身份認(rèn)證過程
這里,請求者(Requester)→應(yīng)答者(Responder)的組合模式可以是4種之一。
(1)智能設(shè)備→家庭主機(jī);
(2)家庭主機(jī)→智能設(shè)備;
(3)家庭主機(jī)→移動(dòng)終端;
(4)移動(dòng)終端→家庭主機(jī)。
由于目前難以在移動(dòng)終端內(nèi)植入硬件安全模塊,所以直接在APP內(nèi)實(shí)現(xiàn)與芯片上相同的加密算法來替代HSM。其中,MCU即Microcontroller Unit。
認(rèn)證過程如下:
(1)請求者將自身唯一序列號作為Id打包,向應(yīng)答者發(fā)起請求;
(2)應(yīng)答者識別到存在Id后,向HSM2發(fā)送nonce指令,生成并返回32字節(jié)隨機(jī)數(shù)作為challenge,應(yīng)答者將challenge發(fā)送給請求者;
(3)請求者將challenge發(fā)送到HSM1執(zhí)行計(jì)算得出response并返回response給應(yīng)答者,其中response=SHA(challenge),表示將challenge通過SHA256計(jì)算得出response。
(4)應(yīng)答者將response發(fā)送到HSM2,通過內(nèi)部計(jì)算驗(yàn)證challenge和response是否匹配,最后返回驗(yàn)證結(jié)果result。
(5)如果第4步中返回的result是0,則完成身份認(rèn)證,并發(fā)送證書token給請求者;否則,將該設(shè)備Id加入黑名單,停止使用該設(shè)備。
通過上述過程完成設(shè)備之間的身份認(rèn)證才能建立信任鏈,從而相互通信或控制。如果過程中出現(xiàn)超時(shí)、數(shù)據(jù)不匹配等錯(cuò)誤,都將導(dǎo)致身份認(rèn)證失敗。
為了防止攻擊者通過數(shù)據(jù)的傳輸信道獲取節(jié)點(diǎn)的有效數(shù)據(jù)甚至控制節(jié)點(diǎn)和對主機(jī)發(fā)動(dòng)攻擊,必須對數(shù)據(jù)進(jìn)行加密,提高破譯難度。本文通過引入可信芯片,實(shí)現(xiàn)基于硬件的加密方案,從而通過加密芯片對數(shù)據(jù)進(jìn)行加密、解密處理,過程如圖4所示。
圖4 數(shù)據(jù)加解密過程
(1)Sender發(fā)送nonce指令到HSM1,HSM1在內(nèi)部生成32字節(jié)唯一的隨機(jī)數(shù);
(2)Sender將需要加密的data發(fā)送到HSM1,data通過HSM1進(jìn)行加密后返回給Sender,Sender將身份認(rèn)證獲得的證書token和已加密的數(shù)據(jù)發(fā)送給Receiver;
(3)Receiver通過解密判斷token的正確性,然后將數(shù)據(jù)發(fā)送到HSM2的加密芯片進(jìn)行解密,最后存儲到數(shù)據(jù)庫備用。
通過研究可信計(jì)算技術(shù)在智能家居安全機(jī)制中的應(yīng)用,設(shè)計(jì)了基于可信計(jì)算芯片的硬件安全模塊,結(jié)合App端的軟件加密算法,采用挑戰(zhàn)-響應(yīng)協(xié)議建立了一個(gè)基于硬件保護(hù)的安全機(jī)制,以保護(hù)智能家居設(shè)備的數(shù)據(jù)信息安全。本方案主要應(yīng)對智能家居面臨的威脅,如表1所示。
表1 方案主要解決智能節(jié)點(diǎn)面臨的安全威脅
此外,根據(jù)方案設(shè)計(jì),使用Atmel的可信芯片ATSHA204和AES132,以及Cortex-M0內(nèi)核的嵌入式微處理器和溫度傳感器,在PC端使用VB.net編寫服務(wù)軟件,設(shè)計(jì)了無線溫度監(jiān)測的物聯(lián)網(wǎng)系統(tǒng)。在假設(shè)攻擊者已通過信道監(jiān)聽獲取準(zhǔn)確的數(shù)據(jù)信息的前提下,進(jìn)行了復(fù)制、假冒替換等攻防測試,結(jié)果系統(tǒng)都檢測并提示了攻擊情況,驗(yàn)證了設(shè)計(jì)的可行性。測試及結(jié)果如表2所示。
表2 攻防測試結(jié)果
智能家居是在物聯(lián)網(wǎng)影響下的物聯(lián)化體現(xiàn),而物聯(lián)網(wǎng)是在互聯(lián)網(wǎng)基礎(chǔ)上衍生而來,互聯(lián)網(wǎng)上的安全威脅同樣會(huì)涉及到物聯(lián)網(wǎng)。因此,本文通過應(yīng)用計(jì)算機(jī)使用的可信計(jì)算方法,在未來智能家居普遍應(yīng)用時(shí)能夠?yàn)橹悄茉O(shè)備提供一個(gè)基于硬件的保護(hù)機(jī)制??尚庞?jì)算芯片的最大特點(diǎn)是保護(hù)密鑰和通過硬件執(zhí)行加密算法,大大提高了系統(tǒng)運(yùn)行的效率,也提高了破解的難度,從而最大限度地保障了智能家居中的設(shè)備安全。
參考文獻(xiàn):
[1] Hill Jim.The smart Home:a Glossary Guide for the Perplexed[S].2017.
[2] 梁季彝,唐幸兒.智能家居場景控制系統(tǒng)[J].中小企業(yè)管理與科技,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ì)算技術(shù)研究[J].計(jì)算機(jī)研究與發(fā)展,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] 周韞藝.可信計(jì)算在物聯(lián)網(wǎng)安全中的應(yīng)用[D].重慶:重慶郵電大學(xué),2012.ZHOU Wen-yi.Trusted Computing in IoT Security[D].Chongqing:Chongqing University of Posts and Telecommunications,2012.
[5] 蔣政君,田海博,張方國.基于PUF的RFID防偽技術(shù)研究綜述[J].信息網(wǎng)絡(luò)安全,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.