◆許慶光 羅云鋒 熊 偉
(海軍計(jì)算技術(shù)研究所 北京 100841)
嵌入式可信計(jì)算平臺(tái)構(gòu)建技術(shù)研究
◆許慶光 羅云鋒 熊 偉
(海軍計(jì)算技術(shù)研究所 北京 100841)
嵌入式平臺(tái)面臨的信息安全威脅日益突出,傳統(tǒng)的信息安全防護(hù)手段難以應(yīng)對(duì)層出不窮的攻擊手段,將可信計(jì)算技術(shù)引入到嵌入式平臺(tái)中,構(gòu)建以可信密碼模塊(TCM)為信任根的嵌入式平臺(tái),設(shè)計(jì)嵌入式可信平臺(tái)信任鏈,建立從硬件平臺(tái)到上層應(yīng)用的信任鏈體系,是解決嵌入式平臺(tái)信息安全問(wèn)題的有效方法。
嵌入式平臺(tái); 可信計(jì)算技術(shù); 可信密碼模塊(TCM)
隨著工業(yè)化和信息化的高度融合,在嵌入式領(lǐng)域,信息安全面臨的威脅日益突出,近年來(lái),以震網(wǎng)病毒、火焰病毒為代表的嵌入式信息安全事件大規(guī)模涌現(xiàn)。2016年,德國(guó)電信遭遇一次大范圍的網(wǎng)絡(luò)故障,問(wèn)題是由于路由設(shè)備遭受有針對(duì)的攻擊;同年,美國(guó)遭受史上最大規(guī)模DDoS攻擊,東海岸網(wǎng)站集體癱瘓,經(jīng)過(guò)360與全球安全社區(qū)一起追蹤、分析、溯源,最終發(fā)現(xiàn)是由攝像頭等智能設(shè)備組成的僵尸網(wǎng)絡(luò)造成的。
導(dǎo)致嵌入式系統(tǒng)發(fā)生安全事件的主要原因是:第一,對(duì)嵌入式平臺(tái)沒(méi)有進(jìn)行完整性保護(hù),導(dǎo)致平臺(tái)執(zhí)行邏輯被篡改;第二,木馬或病毒等惡意代碼等可在嵌入式平臺(tái)上隨意執(zhí)行。在增強(qiáng)信息系統(tǒng)安全方面,可信計(jì)算是一種新技術(shù),它通過(guò)平臺(tái)完整性、平臺(tái)身份認(rèn)證和平臺(tái)數(shù)據(jù)安全保護(hù)等技術(shù),為PC機(jī)、服務(wù)器、移動(dòng)終端等提供了有效的系統(tǒng)級(jí)安全增強(qiáng)方法。為了從源頭上解決嵌入式系統(tǒng)面臨的安全威脅,將通用PC計(jì)算平臺(tái)上的可信計(jì)算技術(shù)引入到嵌入式平臺(tái)中,從可信根構(gòu)建和信任鏈傳遞的角度對(duì)構(gòu)建嵌入式可信計(jì)算系統(tǒng)的關(guān)鍵技術(shù)進(jìn)行討論和研究。從構(gòu)建的可信根出發(fā),一級(jí)度量一級(jí),將可信狀態(tài)從硬件平臺(tái)到操作系統(tǒng)再到上層應(yīng)用一直傳遞下去,從而保證平臺(tái)自身的完整性不被破壞,平臺(tái)上的計(jì)算環(huán)境始終可信,這也是信任鏈的傳遞機(jī)制。
根據(jù)可信計(jì)算的技術(shù)體制,要構(gòu)建嵌入式可信計(jì)算系統(tǒng),必不可少的兩個(gè)要素就是信任根和信任鏈,但由于嵌入式系統(tǒng)自身的體系結(jié)構(gòu)特點(diǎn)和特殊的應(yīng)用場(chǎng)景,通用PC上的可信計(jì)算技術(shù)機(jī)制無(wú)法直接應(yīng)用到嵌入式系統(tǒng)中,還需從物理接口、處理器通用性、功耗等方面進(jìn)行針對(duì)性的設(shè)計(jì),設(shè)計(jì)的嵌入式可信計(jì)算平臺(tái)架構(gòu)圖如圖1所示。
嵌入式可信計(jì)算平臺(tái)基于DSP處理器設(shè)計(jì)實(shí)現(xiàn),由硬件平臺(tái)及相關(guān)軟件組成,硬件平臺(tái)主要包括嵌入式主處理器、可信密碼模塊(TCM)、電源控制模塊、存儲(chǔ)設(shè)備及外圍接口。嵌入式TPM是嵌入式可信計(jì)算平臺(tái)的信任根,是嵌入式可信計(jì)算系統(tǒng)的關(guān)鍵硬件模塊,為整個(gè)系統(tǒng)提供密碼運(yùn)算服務(wù)。FPGA通過(guò)EMIF接口與主處理器連接,通過(guò)GPIO接口與TPM連接,為主處理器和TPM之間提供高速數(shù)據(jù)交換通道,從而實(shí)現(xiàn)嵌入式操作系統(tǒng)鏡像的完整性度量和嵌入式可信計(jì)算系統(tǒng)運(yùn)行過(guò)程中的密碼服務(wù)功能。NorFlash和RAM等外圍存儲(chǔ)設(shè)備提供數(shù)據(jù)存儲(chǔ)功能。
軟件包括TPM內(nèi)軟件、TPM驅(qū)動(dòng)、嵌入式可信操作系統(tǒng)、嵌入式可信軟件棧及應(yīng)用軟件。TPM內(nèi)軟件運(yùn)行在TPM內(nèi)密碼芯片上,完成對(duì)系統(tǒng)的主動(dòng)控制和數(shù)據(jù)的收發(fā)處理功能,包括接口處理模塊、主控和命令模塊、業(yè)務(wù)功能模塊和驅(qū)動(dòng)模塊。嵌入式可信操作系統(tǒng)除提供操作系統(tǒng)基礎(chǔ)服務(wù)外,還應(yīng)集成可信功能支撐層,包括可信平臺(tái)模塊驅(qū)動(dòng)和嵌入式可信軟件棧。應(yīng)用軟件運(yùn)行于嵌入式可信操作系統(tǒng)之上,系統(tǒng)啟動(dòng)后可信根對(duì)其進(jìn)行完整性度量,度量通過(guò)后在嵌入式可信計(jì)算平臺(tái)上運(yùn)行。
圖1 嵌入式可信計(jì)算平臺(tái)架構(gòu)圖
作為嵌入式平臺(tái)的信任根,TCM可以提供加解密、簽名驗(yàn)簽、完整性度量、可信存儲(chǔ)和可信報(bào)告等功能。嵌入式 TCM和應(yīng)用于通用PC的TCM在軟硬件功能方面基本相同,但需要在外部總線接口、物理尺寸、功耗等方面根據(jù)嵌入式平臺(tái)的特點(diǎn)進(jìn)行重新設(shè)計(jì)。
嵌入式計(jì)算平臺(tái)的高實(shí)時(shí)性要求其在主處理器端訪問(wèn)可信密碼服務(wù)同樣具有高實(shí)時(shí)特性,這一方面要求 TCM提供高效的密碼服務(wù),另一方面要求 TCM與主處理器之間提供高速數(shù)據(jù)通道,在硬件設(shè)計(jì)上解除通道瓶頸問(wèn)題。
采用雙口SRAM的方式為TPM和主處理器之間數(shù)據(jù)交互提供高效緩存。由于 TCM對(duì)外通信接口與主處理器對(duì)外通信接口不能直連,需要借助邏輯電路進(jìn)行接口轉(zhuǎn)換。為節(jié)省板卡空間,預(yù)在邏輯芯片 FPGA上開(kāi)辟雙口 SRAM區(qū)域,用于主處理器與TCM間高速數(shù)據(jù)通道及雙向數(shù)據(jù)緩存;同時(shí),F(xiàn)PGA提供雙方接口協(xié)議數(shù)據(jù)轉(zhuǎn)換、大數(shù)據(jù)量緩存控制、以及數(shù)據(jù)傳輸通道的邏輯選擇判斷,整個(gè)數(shù)據(jù)交換過(guò)程中采用FPGA邏輯硬件設(shè)計(jì)實(shí)現(xiàn),既提高了數(shù)據(jù)交換速度,又規(guī)避了軟件漏洞和缺陷。
嵌入式可信計(jì)算系統(tǒng)具有系統(tǒng)資源有限、實(shí)時(shí)性要求高、無(wú)需人機(jī)交互等特點(diǎn)。在無(wú)人化管理狀態(tài)下,為保證設(shè)備軟硬件的安全可信、程序按著預(yù)期的目標(biāo)運(yùn)行,保護(hù)設(shè)備平臺(tái)運(yùn)行安全及組網(wǎng)安全。采用可信啟動(dòng)控制和完整性度量等技術(shù),保證平臺(tái)的信任鏈傳遞。
嵌入式可信計(jì)算平臺(tái)采用星型信任度量模型,如圖2所示。
圖2 星型信任度量模型
星型信任度量模型各節(jié)點(diǎn)均由根節(jié)點(diǎn)進(jìn)行度量,在信任鏈擴(kuò)展過(guò)程中,不依賴于前一節(jié)點(diǎn),當(dāng)有新節(jié)點(diǎn)加入,或者有部分節(jié)點(diǎn)刪除時(shí),只需由根節(jié)點(diǎn)進(jìn)行度量即可,而不需重新度量整個(gè)信任鏈。星型信任度量模型提高了信任鏈靈活擴(kuò)展能力。 嵌入式可信計(jì)算平臺(tái)信任鏈構(gòu)建如圖3所示。
圖3 嵌入式計(jì)算平臺(tái)信任鏈構(gòu)建圖
在嵌入式計(jì)算平臺(tái)上增加可信啟動(dòng)控制,對(duì)加載啟動(dòng)的軟件目標(biāo)碼進(jìn)行完整性度量,確保軟件未被篡改。鑒于嵌入式實(shí)時(shí)操作系統(tǒng)的特殊性,其啟動(dòng)代碼、操作系統(tǒng)、應(yīng)用軟件集成編譯成一個(gè)鏡像文件,采用星型信任度量模型。因此,在啟動(dòng)過(guò)程中,通過(guò)對(duì)鏡像文件的完整性度量,可保證嵌入式平臺(tái)上運(yùn)行的所有軟件都完整可信。當(dāng)鏡像文件較大且系統(tǒng)啟動(dòng)時(shí)間較為苛刻時(shí),可通過(guò)對(duì)鏡像文件采用整體度量的方式,在確保文件完整性的同時(shí)縮短啟動(dòng)時(shí)間。
嵌入式可信計(jì)算平臺(tái)啟動(dòng)流程如圖4所示。
主板上電后,TCM控制主處理器處于復(fù)位狀態(tài),TCM主動(dòng)讀取外掛NorFlash存儲(chǔ)器中的操作系統(tǒng)映像文件,對(duì)讀出的數(shù)據(jù)執(zhí)行計(jì)算哈希值操作,并將操作系統(tǒng)映像文件保存在 FPGA的SRAM存儲(chǔ)器中。所有映像文件數(shù)據(jù)讀取完成后,判斷映像文件的完整性度量是否通過(guò),若度量通過(guò),則釋放主處理器的復(fù)位信號(hào),加載操作系統(tǒng)鏡像;若度量失敗,TCM記錄主動(dòng)度量失敗事件,通知FPGA擦除已經(jīng)寫(xiě)入SRAM中的數(shù)據(jù)內(nèi)容。
由于嵌入式可信計(jì)算系統(tǒng)往往具有應(yīng)用場(chǎng)景特定、應(yīng)用軟件相對(duì)固定和實(shí)時(shí)性要求較高的特點(diǎn),采用星型信任度量模型,將啟動(dòng)代碼、上層應(yīng)用和嵌入式可信操作系統(tǒng)一起打包成鏡像文件,存儲(chǔ)于TCM的外掛NorFlash存儲(chǔ)器中,由TCM對(duì)鏡像文件進(jìn)行完整型度量,這樣可以省去信任鏈傳遞所需的時(shí)間,適應(yīng)于嵌入式系統(tǒng)的特點(diǎn)。
圖4 可信啟動(dòng)流程圖
隨著信息化時(shí)代的不斷發(fā)展,物聯(lián)網(wǎng)、工業(yè)4.0概念的興起,嵌入式平臺(tái)設(shè)備的應(yīng)用領(lǐng)域越來(lái)越廣泛,其面臨的惡意代碼執(zhí)行、安全信息泄露等安全威脅也逐漸暴露出來(lái),亟需有效的安全防護(hù)手段來(lái)應(yīng)對(duì)。可信計(jì)算技術(shù)在PC領(lǐng)域已經(jīng)日趨成熟,將可信計(jì)算技術(shù)引入到嵌入式領(lǐng)域可有效應(yīng)對(duì)嵌入式設(shè)備面臨的安全威脅。結(jié)合嵌入式平臺(tái)的特點(diǎn)以及可信計(jì)算技術(shù)架構(gòu),分析了構(gòu)建嵌入式可信計(jì)算平臺(tái)的可行性以及需要解決的關(guān)鍵技術(shù)。目前,嵌入式可信計(jì)算技術(shù)還處于起步階段,還有許多嵌入式平臺(tái)的可信性問(wèn)題沒(méi)有得到解決,還有待進(jìn)一步研究和驗(yàn)證。
[1] 沈昌祥,張煥國(guó),王懷民.可信計(jì)算的研究與發(fā)展[J].中國(guó)科學(xué) F 輯: 信息科學(xué),2010.
[2] 徐明迪,張帆.可信計(jì)算技術(shù)在嵌入式操作系統(tǒng)中的應(yīng)用[J].武漢大學(xué)學(xué)報(bào)(理學(xué)版),2014.
[3] 張煥國(guó),李晶,潘丹鈴.嵌入式系統(tǒng)可信平臺(tái)模塊研究[J].計(jì)算機(jī)研究與發(fā)展,2011.