路代安 周驊



摘要 文章針對當前物聯網感知層安全防患不足的問題,設計了一個基于可信計算方法的物聯網感知層硬件安全機制,并完成了相關的硬件模塊及上層應用系統的設計。實現感知層節點上控制單元與外圍設備之間、以及節點到服務器之間的身份認證機制和數據加密傳輸機制,保護節點的身份信息和傳感器數據,使物聯網感知層的節點和服務器更加安全和可靠。
【關鍵詞】可信計算 物聯網感知層 硬件加密機制 身份認證
物聯網(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.