趙 波 ,費(fèi)永康 ,向 騻 ,李逸帆
ZHAO Bo1,2,FEI Yongkang1,2,XIANG Shuang1,2,LI Yifan1,2
1.武漢大學(xué) 計(jì)算機(jī)學(xué)院,武漢 430072
2.武漢大學(xué) 空天信息安全與可信計(jì)算教育部重點(diǎn)實(shí)驗(yàn)室,武漢 430072
1.Computer School,Wuhan University,Wuhan 430072,China
2.Key Laboratory of Aerospace Information Security and Trusted Computing Ministry of Education,Wuhan University,Wuhan 430072,China
近年來,移動(dòng)智能平臺(tái)設(shè)備以其良好的開放性、交互性、友好用戶體驗(yàn)性和平臺(tái)便捷性等特點(diǎn),越來越受到人們的青睞。然而,由于智能終端過分追求性能而忽略安全性要求,從而造成移動(dòng)設(shè)備的安全性能發(fā)展滯后的事實(shí),給各種網(wǎng)絡(luò)黑手提供了可乘之機(jī)。近年來,智能終端廣泛應(yīng)用于手機(jī)支付,身份認(rèn)證等生活的各個(gè)方面。應(yīng)用場(chǎng)景的拓展特別是安全性要求較高的應(yīng)用的引入,使得智能平臺(tái)的安全問題隱患逐步暴露出來。
針對(duì)當(dāng)前的嵌入式系統(tǒng)存在的安全發(fā)展滯后,易受到攻擊等問題,如何解決其面臨的安全問題已經(jīng)成為當(dāng)務(wù)之急[1]。將可信計(jì)算技術(shù)引入到嵌入式設(shè)備上來,是一種可行且高效的嵌入式安全方案[2-3]。
針對(duì)嵌入式設(shè)備的安全可信,近年來學(xué)者們進(jìn)行了許多研究,并取得了多項(xiàng)研究成果。可信計(jì)算組織TCG專門成立了移動(dòng)電話工作組,并且發(fā)布了移動(dòng)可信模塊(Mobile Trusted Module,MTM)規(guī)范解決移動(dòng)終端安全問題[4]。TMP項(xiàng)目組也試圖將可信計(jì)算技術(shù)移植到嵌入式設(shè)備上來,以解決嵌入式設(shè)備遇到的安全問題。然而,因?yàn)橹悄芙K端特殊的硬件環(huán)境導(dǎo)致該方案未能實(shí)現(xiàn)。Luo等人提出了一種基于SHA-1模塊的嵌入式啟動(dòng)方法[5],但是這種方法缺少系統(tǒng)安全啟動(dòng)所需的可信根,不能保證系統(tǒng)啟動(dòng)的絕對(duì)安全。文獻(xiàn)[6-7]中,武漢大學(xué)研制出我國(guó)第一款可信PDA系統(tǒng),該可信PDA的系統(tǒng)結(jié)構(gòu)和安全機(jī)制在TCG的基礎(chǔ)上做了較大創(chuàng)新和改進(jìn),從硬件底層、操作系統(tǒng)到應(yīng)用層,都建立了一套完整的可信機(jī)制。是一種相對(duì)安全的解決方案。
本文基于可信計(jì)算理論,針對(duì)嵌入式設(shè)備的安全啟動(dòng)機(jī)制展開研究,實(shí)現(xiàn)系統(tǒng)的可信啟動(dòng)。相比于其他方案,本文方案充分考慮嵌入式設(shè)備的特殊性;并且引入安全TF卡作為可信根;另外無需改變?cè)O(shè)備原有硬件架構(gòu),使該方案更能貼近實(shí)用。
本文將可信計(jì)算理論成功遷移到嵌入式平臺(tái)上來,利用安全TF卡作為外置可信平臺(tái)模塊,將硬件的信任邊界從物理硬件擴(kuò)展到軟件層次乃至整個(gè)設(shè)備平臺(tái),從而保證嵌入式設(shè)備的可信啟動(dòng)、可信運(yùn)行。從硬件底層為用戶的軟件運(yùn)行環(huán)境安全提供保障。
信任鏈?zhǔn)切湃味攘磕P偷膶?shí)施技術(shù)方案[8]。可信計(jì)算平臺(tái)通過信任鏈技術(shù),把信任關(guān)系從信任根擴(kuò)展到整個(gè)計(jì)算系統(tǒng)[9-10]。在TCG的可信PC技術(shù)規(guī)范中,具體給出了可信PC的信任鏈:CRTM→BIOS→OSLoader→OS→Applications系統(tǒng)從CRTM出發(fā),沿著這條信任鏈,一級(jí)度量一級(jí),一級(jí)信任一級(jí),確保整個(gè)平臺(tái)資源的完整性。
然而,由于嵌入式設(shè)備的特殊性,使得可信PC的信任鏈模型并不適用于嵌入式設(shè)備,嵌入式設(shè)備的特殊性主要表現(xiàn)在以下幾個(gè)方面:(1)大多數(shù)嵌入式設(shè)備并不存在類似于可信PC上的TPM設(shè)備[11],使得嵌入式設(shè)備缺乏了啟動(dòng)所需要的信任根;(2)嵌入式設(shè)備軟、硬件設(shè)計(jì)靈活多樣化,使得適用于PC端的TPM芯片并不能完全照搬到嵌入式設(shè)備上來[12-13,15];(3)嵌入式設(shè)備的應(yīng)用場(chǎng)景不同,對(duì)體積、性能等有嚴(yán)格要求[14]。如何在盡量不增加硬件,不影響性能,并且不改變現(xiàn)有架構(gòu)的前提下,達(dá)到保護(hù)平臺(tái)安全性的目的,是本文要研究的內(nèi)容。
本文充分研究嵌入式設(shè)備特殊性,并借鑒TCG規(guī)范之可信PC信任鏈技術(shù),構(gòu)造出一種適用于移動(dòng)智能平臺(tái)的信任鏈模型。這種信任鏈結(jié)構(gòu)根據(jù)智能終端自身的特點(diǎn),對(duì)可信PC的信任鏈結(jié)構(gòu)進(jìn)行了必要的優(yōu)化與改進(jìn)。
嵌入式系統(tǒng)上電后,Boot ROM引導(dǎo)嵌入式系統(tǒng)從Bootloader啟動(dòng)。Boot ROM是一段與硬件相關(guān)的代碼,通常通過硬件方式固化在對(duì)應(yīng)的硬件設(shè)備中,用戶無法更改。所以本文將Bootloader作為系統(tǒng)信任鏈的起點(diǎn),將Bootloader改造為具有度量功能的SBootloader(Security Bootloader)。同時(shí),引入安全TF卡硬件,將SBootloader存放于安全TF卡中受硬件保護(hù)的安全區(qū)域內(nèi)。該安全區(qū)域由硬件技術(shù)實(shí)現(xiàn)寫保護(hù),防止了SBootloader遭到非法篡改的可能性。
SBootloader作為整個(gè)信任鏈度量的起點(diǎn),其最先執(zhí)行。系統(tǒng)從SBootloader開始啟動(dòng),其首先對(duì)ENV和內(nèi)核進(jìn)行可信性度量,SBootloader根據(jù)度量結(jié)果判斷兩者如果都安全可信,則系統(tǒng)將控制權(quán)交給Kernel。Kernel繼續(xù)對(duì)系統(tǒng)啟動(dòng)腳本init.rc以及其他啟動(dòng)關(guān)鍵節(jié)點(diǎn)進(jìn)行安全性度量。如果度量通過,系統(tǒng)將控制權(quán)交給init進(jìn)程,init進(jìn)程繼續(xù)對(duì)MSapp.ko內(nèi)核模塊進(jìn)行完整性度量。如果度量通過,系統(tǒng)自動(dòng)載入該內(nèi)核模塊。MSapp.ko模塊實(shí)現(xiàn)對(duì)上層應(yīng)用程序的可配置度量。這樣就構(gòu)成了一個(gè)完整的信任鏈。沿著這條信任鏈,一級(jí)度量認(rèn)證一級(jí),一級(jí)信任一級(jí),確保整個(gè)智能平臺(tái)的系統(tǒng)資源安全可信。
其中,ENV環(huán)境變量作為系統(tǒng)啟動(dòng)的配置文件,由Bootloader讀取傳送給Kernel,Kernel根據(jù)變量信息配置平臺(tái)信息,如內(nèi)核參數(shù)、本地IP地址、網(wǎng)卡MAC地址等信息。
本文對(duì)上層應(yīng)用程序的度量采取可加載內(nèi)核模塊的形式設(shè)計(jì)而成。通過修改啟動(dòng)腳本init.rc文件,實(shí)現(xiàn)度量模塊MSapp.ko系統(tǒng)啟動(dòng)時(shí)的自動(dòng)載入。載入后的MSapp.ko模塊對(duì)上層應(yīng)用程序?qū)崿F(xiàn)度量。這種方式縮小了內(nèi)核的尺寸,同時(shí)又非常靈活,提高了內(nèi)核的效率。
另外,嵌入式平臺(tái)的度量證據(jù)信息由平臺(tái)的存儲(chǔ)根密鑰SRK簽名存放??尚臥C機(jī)中,度量證據(jù)信息存儲(chǔ)于TPM芯片內(nèi)部的平臺(tái)配置寄存器PCR中,存儲(chǔ)根密鑰則存儲(chǔ)于TPM的非易失性存儲(chǔ)器中,受到TPM硬件的保護(hù),安全性非常高。而移動(dòng)智能終端卻沒有這些安全硬件,為保證其度量證據(jù)信息的安全可信,本文采用數(shù)字簽名方式實(shí)現(xiàn)度量證據(jù)信息的完整性保護(hù)。系統(tǒng)初始化時(shí),將各個(gè)啟動(dòng)節(jié)點(diǎn)的度量參考值通過安全通道發(fā)送給安全TF卡,由安全TF卡的存儲(chǔ)根密鑰SRK簽名存放。存儲(chǔ)根密鑰受到安全TF卡的硬件保護(hù),永遠(yuǎn)不出TF卡,保證了SRK的絕對(duì)安全。系統(tǒng)每次提取參考值時(shí)都對(duì)參考值進(jìn)行簽名驗(yàn)證,保證參考信息的完整性。如圖1所示。
圖1 數(shù)據(jù)安全存儲(chǔ)
綜上,本文的信任鏈結(jié)構(gòu)為:Bootloader→ENV→Kernel→init.rc→MSapp.ko→APP,如圖2所示。
假設(shè)當(dāng)前獲得系統(tǒng)控制權(quán)的節(jié)點(diǎn)為SCP,現(xiàn)在其需要對(duì)下一個(gè)啟動(dòng)節(jié)點(diǎn)FP進(jìn)行安全性度量,驗(yàn)證是否安全可信。如果驗(yàn)證通過,則將控制權(quán)交給FP,如果驗(yàn)證未通過,則關(guān)閉系統(tǒng)。信任鏈傳遞過程分析如下:
SCP:?jiǎn)?dòng)過程中獲得系統(tǒng)控制權(quán)的程序;
FP:被度量組件;
SRK:平臺(tái)存儲(chǔ)根密鑰對(duì)。設(shè)備出廠時(shí)由RSA算法生成非對(duì)稱密鑰對(duì)。該密鑰私鑰由安全TF卡保存,由硬件保證其永久不出安全TF卡。
獲得系統(tǒng)控制權(quán)的程序SCP對(duì)啟動(dòng)過程中的下一個(gè)啟動(dòng)節(jié)點(diǎn)進(jìn)行安全性度量,得到度量結(jié)果PCRFP。
SCP通過安全通道將PCRFP和被平臺(tái)存儲(chǔ)根密鑰SRK簽名了的FP組件的度量參考結(jié)果一起發(fā)送給安全TF卡。
安全TF卡接收到消息后,利用其片上計(jì)算芯片COS驗(yàn)證簽名值是否正確,如果簽名完整性未被破壞,再比對(duì)度量值PCRFP是否正確。最后得出度量結(jié)果:Result。
TF通過安全通道將驗(yàn)證結(jié)果Result返回給SCP。系統(tǒng)控制程序SCP根據(jù)度量結(jié)果判斷是否將控制權(quán)交給FP。
綜上所述,系統(tǒng)一級(jí)度量一級(jí),一級(jí)認(rèn)證一級(jí)。啟動(dòng)過程中的任何一個(gè)組件不可信,其上一級(jí)組件都拒絕將控制權(quán)移交給它,從而做到系統(tǒng)的安全啟動(dòng)。
本文將信任鏈的源點(diǎn)SBootloader存放于安全TF卡中,受硬件的保護(hù),減小了信任根被攻擊的可能,提高系統(tǒng)的安全可信性。可信計(jì)算機(jī)的信任鏈起點(diǎn)BIOS Boot Block,是一個(gè)位于TPM之外的軟件模塊,該模塊不受TPM的保護(hù),所以很容易受到非法攻擊,而一旦該模塊受到攻擊,則建立在可信根上的信任鏈將無從談起。因此,相比于BIOS Boot Block模塊,本文的信任鏈源點(diǎn)安全性更高,信任鏈更安全。
同時(shí),系統(tǒng)的度量過程中,片上芯片COS的參與,分擔(dān)了系統(tǒng)CPU的相當(dāng)一部分工作,大大提高了系統(tǒng)效率。
圖2 移動(dòng)智能平臺(tái)信任鏈
嵌入式系統(tǒng)的安全開發(fā),需要宿主機(jī)環(huán)境、開發(fā)板環(huán)境以及嵌入式Linux交叉編譯環(huán)境。交叉編譯(crosscompilation),即在主機(jī)平臺(tái)上用交叉編譯器編譯出可在其他平臺(tái)上運(yùn)行的可執(zhí)行程序的過程。本實(shí)驗(yàn)在PC(Ubuntu11.0.4系統(tǒng))上安裝交叉編譯環(huán)境,編譯出針對(duì)TQ210開發(fā)板的可執(zhí)行程序。實(shí)驗(yàn)過程中,使用GNU提供的開發(fā)工具便捷地開發(fā)、調(diào)試嵌入式平臺(tái)應(yīng)用軟件。
(1)宿主機(jī)環(huán)境
①CPU:Intel x86單處理器;
②4 GB內(nèi)存;
③Linux2.6.38內(nèi)核;
④Linux發(fā)行版Ubuntu11.04;
⑤調(diào)試器:gcc-4.4.6;
⑥串口交互工具:minicom。
(2)目標(biāo)板環(huán)境
①開發(fā)板:TQ210開發(fā)套件;
②CPU:S5PV210;
③安全TF卡,自主設(shè)計(jì),實(shí)現(xiàn)SM4算法,RSA算法,sha1算法等;
④500 MB內(nèi)存;
⑤Android4.0操作系統(tǒng)。
在實(shí)驗(yàn)過程采用uboot作為Bootloader進(jìn)行開發(fā)。uboot具有良好的開源性特點(diǎn),并且目前大多數(shù)嵌入式操作系統(tǒng)都支持uboot,用uboot作實(shí)驗(yàn),有利于本文中安全啟動(dòng)機(jī)制的普及。uboot第一階段代碼主要負(fù)責(zé)設(shè)備硬件(包括外部RAM)的初始化,當(dāng)外部RAM等硬件初始化完成后,第一階段代碼再負(fù)責(zé)將第二階段Main Bootloader代碼載入外部RAM,并進(jìn)入第二階段。Main Bootloader主要負(fù)責(zé)找到內(nèi)核代碼,并將內(nèi)核加載進(jìn)RAM。
經(jīng)過安全優(yōu)化后的uboot,其具有對(duì)內(nèi)核進(jìn)行完整性檢測(cè)的功能。函數(shù) do_bootm_linuxcmdtp,flag,argc,argv,images,調(diào)用:
函數(shù)(1)負(fù)責(zé)設(shè)置kernel的加載地址;函數(shù)(2)負(fù)責(zé)將控制權(quán)轉(zhuǎn)交給內(nèi)核。本文在系統(tǒng)將控制權(quán)交給內(nèi)核之前加入度量函數(shù):
實(shí)現(xiàn)對(duì)內(nèi)核和ENV分區(qū)的摘要計(jì)算,并調(diào)用安全TF卡驅(qū)動(dòng)接口,將摘要值傳送給安全TF卡的片上芯片COS。由COS首先驗(yàn)證標(biāo)準(zhǔn)值的簽名完整性,再比對(duì)摘要值和標(biāo)準(zhǔn)值是否一致,最后將比對(duì)結(jié)果返回給uboot,uboot根據(jù)校驗(yàn)結(jié)果決定是否執(zhí)行轉(zhuǎn)交控制權(quán)的操作。控制臺(tái)輸出的安全啟動(dòng)信息如圖3所示。
圖3 控制臺(tái)信息
對(duì)內(nèi)核的改造包括兩部分。其一,對(duì)init.rc等系統(tǒng)啟動(dòng)腳本進(jìn)行度量。其二,對(duì)動(dòng)態(tài)載入的內(nèi)核安全管理模塊MSapp.ko進(jìn)行完整性度量。init.rc配置腳本實(shí)現(xiàn)MSapp.ko模塊的自啟動(dòng),對(duì)init.rc的完整性度量,確保了MSapp.ko模塊的自啟動(dòng)特性不被篡改,并且防止未被授權(quán)的用戶安插非法啟動(dòng)項(xiàng)。而對(duì)MSapp.ko的度量,則為了保證該內(nèi)核模塊的安全可信。
本模塊作為動(dòng)態(tài)載入內(nèi)核的內(nèi)核安全模塊,其實(shí)現(xiàn)對(duì)上層關(guān)鍵系統(tǒng)程序的度量。系統(tǒng)設(shè)計(jì)時(shí)通過修改init.rc配置,實(shí)現(xiàn)該模塊MSapp.ko的自啟動(dòng)。用戶啟動(dòng)一個(gè)應(yīng)用程序時(shí),系統(tǒng)會(huì)自動(dòng)調(diào)用本模塊,對(duì)應(yīng)用程序的完整性進(jìn)行度量,如果度量成功,才能啟動(dòng)。
其具體實(shí)現(xiàn)方案,當(dāng)系統(tǒng)啟動(dòng)一個(gè)APP時(shí),用戶進(jìn)程調(diào)用execve系統(tǒng)調(diào)用,陷入內(nèi)核態(tài)。內(nèi)核接收到這個(gè)系統(tǒng)調(diào)用后調(diào)用do_execve函數(shù),該函數(shù)從nand flash中的相應(yīng)位置讀出APP二進(jìn)制文件,正常情況下,為其創(chuàng)建進(jìn)程,實(shí)現(xiàn)系統(tǒng)啟動(dòng)。修改后的內(nèi)核,在從nand flash中的相應(yīng)位置讀出APP二進(jìn)制文件后,需要對(duì)二進(jìn)制文件進(jìn)行完整性度量,如果完整性度量通過才能為其創(chuàng)建進(jìn)程,實(shí)現(xiàn)APP的啟動(dòng)。應(yīng)用程序的安全啟動(dòng)過程如圖4所示。
圖4 APP安全啟動(dòng)
啟動(dòng)機(jī)制在實(shí)際應(yīng)用中的安全性以及性能損耗大小是一種啟動(dòng)方案能不能推廣的重要評(píng)判標(biāo)準(zhǔn)?;诖耍槍?duì)本文啟動(dòng)方法的安全性和性能損耗兩個(gè)方面進(jìn)行了測(cè)試分析。
為了驗(yàn)證基于該信任鏈機(jī)制設(shè)計(jì)的嵌入式平臺(tái)是否能抵御針對(duì)安全啟動(dòng)的各種攻擊。本文分析系統(tǒng)可能存在的漏洞,并針對(duì)各種可能漏洞進(jìn)行有針對(duì)性的攻擊測(cè)試。實(shí)驗(yàn)中,模擬了包括信道攻擊、篡改攻擊、偽造攻擊等各種攻擊手段,針對(duì)啟動(dòng)過程中的各個(gè)啟動(dòng)節(jié)點(diǎn)進(jìn)行攻擊測(cè)試。
信道攻擊中,假設(shè)SCP將PCRFP和發(fā)送給安全TF卡進(jìn)行比對(duì)的過程中,傳輸內(nèi)容存在被篡改的可能,攻擊者對(duì)兩個(gè)值之一或都進(jìn)行非法篡改,之后再將值發(fā)送給TF卡進(jìn)行完整性比對(duì);偽造攻擊中,假設(shè)啟動(dòng)節(jié)點(diǎn)或者受保護(hù)的上層應(yīng)用程序存在被偽造的可能,攻擊者利用自己的程序代碼替代合法代碼,以達(dá)到自己的非法目的;篡改攻擊中,假設(shè)系統(tǒng)啟動(dòng)腳本文件的完整性存在被破壞的可能,攻擊者對(duì)配置文件內(nèi)容進(jìn)行局部篡改,以達(dá)到自己的目的。實(shí)驗(yàn)結(jié)果顯示(表1),無論啟動(dòng)過程中的任何數(shù)據(jù),程序節(jié)點(diǎn),或啟動(dòng)配置文件遭到篡改或者破壞,本啟動(dòng)方法都能及時(shí)發(fā)現(xiàn),并且根據(jù)相應(yīng)安全策略實(shí)施安全措施。
表1 攻擊實(shí)驗(yàn)結(jié)果
信道攻擊中,PCR標(biāo)準(zhǔn)值已經(jīng)被TF卡安全密鑰私鑰簽名,并且TF卡安全私鑰受到TF卡硬件保護(hù),永遠(yuǎn)不出TF卡密鑰存儲(chǔ)區(qū)。因此如實(shí)驗(yàn)結(jié)果顯示,如果攻擊者對(duì)PCR標(biāo)準(zhǔn)值進(jìn)行非法篡改,則當(dāng)驗(yàn)證PCR簽名時(shí),能夠及時(shí)準(zhǔn)確發(fā)現(xiàn)簽名被篡改。如果度量值被篡改,片上芯片驗(yàn)證度量值時(shí),同樣能夠發(fā)現(xiàn)度量值與標(biāo)準(zhǔn)PCR值不一致。數(shù)字簽名保證了該通道的安全。
在偽造攻擊中,本文對(duì)各個(gè)啟動(dòng)節(jié)點(diǎn)做了偽造攻擊測(cè)試實(shí)驗(yàn)分析。其中,針對(duì)內(nèi)核的完整性攻擊實(shí)驗(yàn),偽造了一個(gè)與合法安全內(nèi)核高度相似的內(nèi)核,該內(nèi)核非法篡改原有安全內(nèi)核的MAC強(qiáng)制訪問控制功能,達(dá)到自己的某些非法目的。實(shí)驗(yàn)結(jié)果顯示,平臺(tái)啟動(dòng)過程中,當(dāng)SBootloader將控制權(quán)交給內(nèi)核之前,能夠及時(shí)發(fā)現(xiàn)內(nèi)核的度量值與內(nèi)核標(biāo)準(zhǔn)PCR值不同,進(jìn)而判斷其完整性遭到破壞,并自動(dòng)關(guān)閉系統(tǒng),控制臺(tái)輸出如圖5所示。攻擊測(cè)試結(jié)果如表2所示。
圖5 內(nèi)核攻擊測(cè)試
在篡改攻擊中,本文對(duì)啟動(dòng)腳本init.rc內(nèi)容進(jìn)行篡改,注銷了內(nèi)核安全增強(qiáng)模塊的自啟動(dòng)腳本。實(shí)驗(yàn)結(jié)果顯示,系統(tǒng)啟動(dòng)過程中,能夠及時(shí)發(fā)現(xiàn)init.rc的完整性遭到破壞,系統(tǒng)用備份的init.rc腳本替換遭到篡改的腳本文件,并重新對(duì)新的init.rc執(zhí)行度量。最后實(shí)現(xiàn)系統(tǒng)的可信啟動(dòng)。腳本攻擊測(cè)試結(jié)果如表3所示。
本文設(shè)計(jì)的安全啟動(dòng)機(jī)制,相對(duì)于原有的平臺(tái)可能造成性能影響的部分主要在于啟動(dòng)過程中的安全度量過程,以及內(nèi)核模塊的載入耗時(shí)。本文在度量過程中,充分利用片上芯片COS的計(jì)算資源,分擔(dān)了系統(tǒng)的相當(dāng)一部分工作,提高了系統(tǒng)效率。
表2 Kernel偽造攻擊測(cè)試
表3 腳本文件(init.rc)篡改攻擊測(cè)試
圖6 性能分析
對(duì)此,著重測(cè)試系統(tǒng)啟動(dòng)的整體耗時(shí)。系統(tǒng)測(cè)試時(shí),選擇對(duì)所有組件進(jìn)行度量,得出最大開銷情況。本文累計(jì)記載了15次普通啟動(dòng),以及安全啟動(dòng)耗時(shí)。其結(jié)果如圖6所示。
實(shí)驗(yàn)結(jié)果顯示,正常啟動(dòng)耗時(shí)大概為89 s到92 s之間。而本文的安全啟動(dòng)機(jī)制耗時(shí)則控制在94 s到96 s之間。由此得出,安全啟動(dòng)相對(duì)于普通啟動(dòng)的性能損耗控制在6%以內(nèi),用戶基本感受不到。因此,本安全啟動(dòng)機(jī)制不會(huì)對(duì)用戶的實(shí)際體驗(yàn)造成影響。
將可信計(jì)算技術(shù)引入到嵌入式設(shè)備上來,是一種可行且高效的嵌入式安全方案。信任鏈技術(shù)是可信計(jì)算的關(guān)鍵技術(shù),通過信任鏈的信任傳遞機(jī)制來確保系統(tǒng)數(shù)據(jù)和文件的完整性。本文將安全TF卡作為外置的可信平臺(tái)模塊,采用信任鏈技術(shù)有效地將硬件的信任邊界從物理硬件擴(kuò)展到軟件層次乃至整個(gè)設(shè)備平臺(tái)。該方案的創(chuàng)新性在于不改變現(xiàn)有移動(dòng)設(shè)備硬件架構(gòu)的前提下,設(shè)計(jì)實(shí)現(xiàn)了一套嵌入式系統(tǒng)的安全啟動(dòng)機(jī)制,從硬件底層為用戶的平臺(tái)環(huán)境安全提供保障。
[1]Dietrich K,Winter J.Implementation aspects of mobile and embedded trusted computing[M]//Trusted Computing.Berlin Heidelberg:Springer,2009:29-44.
[2]沈昌祥,張煥國(guó),王懷民,等.可信計(jì)算的研究與發(fā)展[J].中國(guó)科學(xué):信息科學(xué),2010,40(2):139-166.
[3]馮登國(guó),秦宇,汪丹,等.可信計(jì)算技術(shù)研究[J].計(jì)算機(jī)研究與發(fā)展,2011,48(8):1332-1349.
[4]MPWG T C G.The TCG mobile trusted module specification[J].TCG Specification Version 1.0 Revision,1.
[5]羅鈞,蔣敬旗,閔志盛,等.基于 SHA-1模塊的可信嵌入式系統(tǒng)安全啟動(dòng)方法[J].山東大學(xué)學(xué)報(bào):理學(xué)版,2012,47(9).
[6]Bo Z,Huan-Guo Z,Jing L,et al.The system architecture and security structure of trusted PDA[J].Chinese Journal of Computers,2010,33(1):82-92.
[7]張煥國(guó),李晶,潘丹鈴,等.嵌入式系統(tǒng)可信平臺(tái)模塊研究[J].計(jì)算機(jī)研究與發(fā)展,2011,48(7):1269-1278.
[8]Lin K J,Wang C Y.Using tpm to improve boot security at bios layer[C]//2012 IEEE International Conference on Consumer Electronics(ICCE).[S.l.]:IEEE,2012:376-377.
[9]司麗敏,蔡勉,陳銀鏡,等.一種信任鏈傳遞模型研究[J].計(jì)算機(jī)科學(xué),2011,38(9):79-81.
[10]譚良,徐志偉.基于可信計(jì)算平臺(tái)的信任鏈傳遞研究進(jìn)展[J].計(jì)算機(jī)科學(xué),2008,35(10):15-18.
[11]Ryan M D.Automatic analysis of security properties of the TPM[M]//Trusted Systems.Berlin Heidelberg:Springer,2012:1-4.
[12]Winter J.Trusted computing building blocks for embedded linux-based ARM trustzone platforms[C]//Proceedings of the 3rd ACM Workshop on Scalable Trusted Computing.[S.l.]:ACM,2008:21-30.
[13]Huanguo Z,Jing L,Danling P,et al.Trusted platform module in embedded system[J].JournalofComputer Research and Development,2011(7).
[14]李善平,劉文峰,王煥龍.Linux與嵌入式系統(tǒng)[M].北京:清華大學(xué)出版社,2006.
[15]Yang J,Wang H H,Wong F F,et al.Mobile trusted platform model for smart phone[J].Computer Science,2012,39(8):20-25.