◆許慶光 羅云鋒 熊 偉
(海軍計算技術研究所 北京 100841)
嵌入式可信計算平臺構建技術研究
◆許慶光 羅云鋒 熊 偉
(海軍計算技術研究所 北京 100841)
嵌入式平臺面臨的信息安全威脅日益突出,傳統的信息安全防護手段難以應對層出不窮的攻擊手段,將可信計算技術引入到嵌入式平臺中,構建以可信密碼模塊(TCM)為信任根的嵌入式平臺,設計嵌入式可信平臺信任鏈,建立從硬件平臺到上層應用的信任鏈體系,是解決嵌入式平臺信息安全問題的有效方法。
嵌入式平臺; 可信計算技術; 可信密碼模塊(TCM)
隨著工業化和信息化的高度融合,在嵌入式領域,信息安全面臨的威脅日益突出,近年來,以震網病毒、火焰病毒為代表的嵌入式信息安全事件大規模涌現。2016年,德國電信遭遇一次大范圍的網絡故障,問題是由于路由設備遭受有針對的攻擊;同年,美國遭受史上最大規模DDoS攻擊,東海岸網站集體癱瘓,經過360與全球安全社區一起追蹤、分析、溯源,最終發現是由攝像頭等智能設備組成的僵尸網絡造成的。
導致嵌入式系統發生安全事件的主要原因是:第一,對嵌入式平臺沒有進行完整性保護,導致平臺執行邏輯被篡改;第二,木馬或病毒等惡意代碼等可在嵌入式平臺上隨意執行。在增強信息系統安全方面,可信計算是一種新技術,它通過平臺完整性、平臺身份認證和平臺數據安全保護等技術,為PC機、服務器、移動終端等提供了有效的系統級安全增強方法。為了從源頭上解決嵌入式系統面臨的安全威脅,將通用PC計算平臺上的可信計算技術引入到嵌入式平臺中,從可信根構建和信任鏈傳遞的角度對構建嵌入式可信計算系統的關鍵技術進行討論和研究。從構建的可信根出發,一級度量一級,將可信狀態從硬件平臺到操作系統再到上層應用一直傳遞下去,從而保證平臺自身的完整性不被破壞,平臺上的計算環境始終可信,這也是信任鏈的傳遞機制。
根據可信計算的技術體制,要構建嵌入式可信計算系統,必不可少的兩個要素就是信任根和信任鏈,但由于嵌入式系統自身的體系結構特點和特殊的應用場景,通用PC上的可信計算技術機制無法直接應用到嵌入式系統中,還需從物理接口、處理器通用性、功耗等方面進行針對性的設計,設計的嵌入式可信計算平臺架構圖如圖1所示。
嵌入式可信計算平臺基于DSP處理器設計實現,由硬件平臺及相關軟件組成,硬件平臺主要包括嵌入式主處理器、可信密碼模塊(TCM)、電源控制模塊、存儲設備及外圍接口。嵌入式TPM是嵌入式可信計算平臺的信任根,是嵌入式可信計算系統的關鍵硬件模塊,為整個系統提供密碼運算服務。FPGA通過EMIF接口與主處理器連接,通過GPIO接口與TPM連接,為主處理器和TPM之間提供高速數據交換通道,從而實現嵌入式操作系統鏡像的完整性度量和嵌入式可信計算系統運行過程中的密碼服務功能。NorFlash和RAM等外圍存儲設備提供數據存儲功能。
軟件包括TPM內軟件、TPM驅動、嵌入式可信操作系統、嵌入式可信軟件棧及應用軟件。TPM內軟件運行在TPM內密碼芯片上,完成對系統的主動控制和數據的收發處理功能,包括接口處理模塊、主控和命令模塊、業務功能模塊和驅動模塊。嵌入式可信操作系統除提供操作系統基礎服務外,還應集成可信功能支撐層,包括可信平臺模塊驅動和嵌入式可信軟件棧。應用軟件運行于嵌入式可信操作系統之上,系統啟動后可信根對其進行完整性度量,度量通過后在嵌入式可信計算平臺上運行。

圖1 嵌入式可信計算平臺架構圖
作為嵌入式平臺的信任根,TCM可以提供加解密、簽名驗簽、完整性度量、可信存儲和可信報告等功能。嵌入式 TCM和應用于通用PC的TCM在軟硬件功能方面基本相同,但需要在外部總線接口、物理尺寸、功耗等方面根據嵌入式平臺的特點進行重新設計。
嵌入式計算平臺的高實時性要求其在主處理器端訪問可信密碼服務同樣具有高實時特性,這一方面要求 TCM提供高效的密碼服務,另一方面要求 TCM與主處理器之間提供高速數據通道,在硬件設計上解除通道瓶頸問題。
采用雙口SRAM的方式為TPM和主處理器之間數據交互提供高效緩存。由于 TCM對外通信接口與主處理器對外通信接口不能直連,需要借助邏輯電路進行接口轉換。為節省板卡空間,預在邏輯芯片 FPGA上開辟雙口 SRAM區域,用于主處理器與TCM間高速數據通道及雙向數據緩存;同時,FPGA提供雙方接口協議數據轉換、大數據量緩存控制、以及數據傳輸通道的邏輯選擇判斷,整個數據交換過程中采用FPGA邏輯硬件設計實現,既提高了數據交換速度,又規避了軟件漏洞和缺陷。
嵌入式可信計算系統具有系統資源有限、實時性要求高、無需人機交互等特點。在無人化管理狀態下,為保證設備軟硬件的安全可信、程序按著預期的目標運行,保護設備平臺運行安全及組網安全。采用可信啟動控制和完整性度量等技術,保證平臺的信任鏈傳遞。
嵌入式可信計算平臺采用星型信任度量模型,如圖2所示。

圖2 星型信任度量模型
星型信任度量模型各節點均由根節點進行度量,在信任鏈擴展過程中,不依賴于前一節點,當有新節點加入,或者有部分節點刪除時,只需由根節點進行度量即可,而不需重新度量整個信任鏈。星型信任度量模型提高了信任鏈靈活擴展能力。 嵌入式可信計算平臺信任鏈構建如圖3所示。

圖3 嵌入式計算平臺信任鏈構建圖
在嵌入式計算平臺上增加可信啟動控制,對加載啟動的軟件目標碼進行完整性度量,確保軟件未被篡改。鑒于嵌入式實時操作系統的特殊性,其啟動代碼、操作系統、應用軟件集成編譯成一個鏡像文件,采用星型信任度量模型。因此,在啟動過程中,通過對鏡像文件的完整性度量,可保證嵌入式平臺上運行的所有軟件都完整可信。當鏡像文件較大且系統啟動時間較為苛刻時,可通過對鏡像文件采用整體度量的方式,在確保文件完整性的同時縮短啟動時間。
嵌入式可信計算平臺啟動流程如圖4所示。
主板上電后,TCM控制主處理器處于復位狀態,TCM主動讀取外掛NorFlash存儲器中的操作系統映像文件,對讀出的數據執行計算哈希值操作,并將操作系統映像文件保存在 FPGA的SRAM存儲器中。所有映像文件數據讀取完成后,判斷映像文件的完整性度量是否通過,若度量通過,則釋放主處理器的復位信號,加載操作系統鏡像;若度量失敗,TCM記錄主動度量失敗事件,通知FPGA擦除已經寫入SRAM中的數據內容。
由于嵌入式可信計算系統往往具有應用場景特定、應用軟件相對固定和實時性要求較高的特點,采用星型信任度量模型,將啟動代碼、上層應用和嵌入式可信操作系統一起打包成鏡像文件,存儲于TCM的外掛NorFlash存儲器中,由TCM對鏡像文件進行完整型度量,這樣可以省去信任鏈傳遞所需的時間,適應于嵌入式系統的特點。

圖4 可信啟動流程圖
隨著信息化時代的不斷發展,物聯網、工業4.0概念的興起,嵌入式平臺設備的應用領域越來越廣泛,其面臨的惡意代碼執行、安全信息泄露等安全威脅也逐漸暴露出來,亟需有效的安全防護手段來應對。可信計算技術在PC領域已經日趨成熟,將可信計算技術引入到嵌入式領域可有效應對嵌入式設備面臨的安全威脅。結合嵌入式平臺的特點以及可信計算技術架構,分析了構建嵌入式可信計算平臺的可行性以及需要解決的關鍵技術。目前,嵌入式可信計算技術還處于起步階段,還有許多嵌入式平臺的可信性問題沒有得到解決,還有待進一步研究和驗證。
[1] 沈昌祥,張煥國,王懷民.可信計算的研究與發展[J].中國科學 F 輯: 信息科學,2010.
[2] 徐明迪,張帆.可信計算技術在嵌入式操作系統中的應用[J].武漢大學學報(理學版),2014.
[3] 張煥國,李晶,潘丹鈴.嵌入式系統可信平臺模塊研究[J].計算機研究與發展,2011.