|
嵌入式學(xué)術(shù)論文中英文_保證嵌入式系統(tǒng)程序完整性的技術(shù)設(shè)計(jì)方案,
1 項(xiàng)目背景
信息產(chǎn)業(yè)的高速發(fā)展,帶來(lái)了信息技術(shù)的空前繁榮;但危害信息安全的事件也不斷發(fā)生,信息安全的形勢(shì)是嚴(yán)峻的. 信息安全事關(guān)國(guó)家安全,事關(guān)社會(huì)穩(wěn)定,必須采取措施確保信息安全. 硬件結(jié)構(gòu)的安全和操作系統(tǒng)的安全是信息系統(tǒng)安全的基礎(chǔ),密碼、網(wǎng)絡(luò)安全等技術(shù)是關(guān)鍵技術(shù). 只有從信息系統(tǒng)的硬件和軟件的底層開(kāi)始做起,從整體上采取措施,才能比較有效地確保信息系統(tǒng)的安全.
隨著計(jì)算機(jī)技術(shù)、通信技術(shù)的飛速發(fā)展,特別是互聯(lián)網(wǎng)的迅速普及和3C(計(jì)算機(jī)、通信和消費(fèi)電子)融合的加速,嵌入式系統(tǒng)逐漸成為信息產(chǎn)業(yè)的一個(gè)支柱,其市場(chǎng)的深度和廣度不斷擴(kuò)大。然而,嵌入式系統(tǒng)在快速發(fā)展的同時(shí)也面臨安全方面的巨大挑戰(zhàn),特別是隨著嵌入式系統(tǒng)的不斷發(fā)展和推廣,它越來(lái)越多地被非法入侵和破壞,給各個(gè)國(guó)家和眾多企業(yè)造成巨大的損失,有時(shí)甚至危害到國(guó)家和地區(qū)的安全。例如嵌入式系統(tǒng)廣泛地被用于控制各種關(guān)鍵設(shè)備:通訊網(wǎng)絡(luò)、電力柵格、核電站、飛行控制系統(tǒng)等,一旦這樣的系統(tǒng)遭到惡意入侵者的破壞,其帶來(lái)的損失是可想而知。所以,安全將會(huì)是嵌入式系統(tǒng)設(shè)計(jì)的一種新的思維。嵌入式系統(tǒng)軟、硬件結(jié)構(gòu)簡(jiǎn)化,導(dǎo)致資源可任意使用,尤其是執(zhí)行代碼可修改,惡意程序可以被植入。病毒程序利用操作系統(tǒng)對(duì)執(zhí)行代碼不檢查一致性的弱點(diǎn),將病毒代碼嵌入到執(zhí)行代碼程序,實(shí)現(xiàn)病毒傳播。黑客利用被攻擊系統(tǒng)的漏洞竊取超級(jí)用戶權(quán)限,植入攻擊程序,肆意進(jìn)行破壞。更為嚴(yán)重的是對(duì)合法的用戶沒(méi)有進(jìn)行嚴(yán)格的訪問(wèn)控制,可以進(jìn)行越權(quán)訪問(wèn),造成不安全事故。由于在嵌入式系統(tǒng)的制造鏈、供給鏈和使用鏈都可能存在那些惡意的入侵者,就此安全需求會(huì)依不同的角度而有所變化。為了保證通信安全,這時(shí)就提出了安全功能的要求,諸如數(shù)據(jù)機(jī)密性、完整性和可用性。機(jī)密性防止未授權(quán)用戶獲得存儲(chǔ)在系統(tǒng)中的敏感信息;數(shù)據(jù)的完整性保證在未經(jīng)允許的情況下,系統(tǒng)中的數(shù)據(jù)不能被任意地刪除和修改;完整性保證病毒、惡意用戶等不能隨意地修改系統(tǒng)中的程序,可用性核實(shí)信息的發(fā)送或者接收只能是相應(yīng)的對(duì)方,而不能是不合法者。這些安全功能,在如今的嵌入式系統(tǒng)中也得到了廣泛的應(yīng)用。
基于軟件,操作系統(tǒng),硬件三者協(xié)同保證計(jì)算機(jī)系統(tǒng)的安全,產(chǎn)生出可信計(jì)算的基本思想。目前可信計(jì)算規(guī)范主要面向個(gè)人PC領(lǐng)域,但是對(duì)這個(gè)概念的理解,對(duì)于嵌入式可信系統(tǒng)的構(gòu)造具有相當(dāng)意義?尚庞(jì)算的目的是在計(jì)算和通信系統(tǒng)中廣泛使用基于硬件安全模塊支持下的可信計(jì)算平臺(tái),以提高整體的安全性?尚庞(jì)算的思想源于社會(huì). 其基本思想是在計(jì)算機(jī)系統(tǒng)中首先建立一個(gè)信任根,再建立一條信任鏈,一級(jí)測(cè)量認(rèn)證一級(jí),一級(jí)信任一級(jí),把信任關(guān)系擴(kuò)大到整個(gè)計(jì)算機(jī)系統(tǒng),從而確保計(jì)算機(jī)系統(tǒng)的可信.在技術(shù)領(lǐng)域,可信計(jì)算發(fā)展非常迅速. 1983 年,美國(guó)國(guó)防部就制定了《可信計(jì)算機(jī)系統(tǒng)評(píng)價(jià)準(zhǔn)則》. 1999 年, TCPA 組織成立,2003 年改組為可信計(jì)算組織TCG. TCPA 和TCG 制定了關(guān)于可信計(jì)算平臺(tái)、可信存儲(chǔ)和可信網(wǎng)絡(luò)連接等一系列技術(shù)規(guī)范. 目前已有200 多個(gè)企業(yè)加入了TCG,可信計(jì)算機(jī)已經(jīng)進(jìn)入實(shí)際應(yīng)用階段.在理論領(lǐng)域, IEEE 組織于2004 年開(kāi)辦了IEEE Transactions on Dependable and Secure Computing 雜志,專門(mén)刊發(fā)可信計(jì)算研究論文.
在我國(guó),與可信計(jì)算概念相對(duì)應(yīng)的是由我國(guó)相關(guān)部門(mén)自主制定的TCM標(biāo)準(zhǔn)。目前,中國(guó)的可信計(jì)算事業(yè)處于蓬勃發(fā)展的階段。
2000年6月武漢瑞達(dá)公司和武漢大學(xué)合作,開(kāi)始研制安全計(jì)算機(jī),研究成果于2004年10月通過(guò)國(guó)家密碼管理委員會(huì)主持的技術(shù)鑒定。它是國(guó)內(nèi)第一款自主研制的可信計(jì)算平臺(tái),在系統(tǒng)結(jié)構(gòu)和主要技術(shù)路線方面與TCG的規(guī)范是類似的。這一產(chǎn)品被國(guó)家科技部等四部委聯(lián)合認(rèn)定為“國(guó)家級(jí)重點(diǎn)新產(chǎn)品”,并獲得2006年國(guó)家密碼科技進(jìn)步二等獎(jiǎng),已在我國(guó)電子政務(wù)、公安、銀行、軍隊(duì)得到實(shí)際應(yīng)用。
2005年聯(lián)想集團(tuán)的“恒智”芯片和可信計(jì)算機(jī)相繼研制成功。同年,兆日公司的TPM芯片研制成功。這些產(chǎn)品都相繼通過(guò)國(guó)家密碼管理委員會(huì)的鑒定和認(rèn)可。
聯(lián)想推出了兩款基于自主知識(shí)產(chǎn)權(quán)的TCM芯片的筆記本電腦和臺(tái)式電腦,并獲得了公安部、國(guó)家安全部、國(guó)家保密局和國(guó)家密碼管理局的安全認(rèn)證。該可信PC具備文件夾解密、安全管理箱、安全文件共享等功能,并且在易用性方面做了特色設(shè)計(jì)。
同方公司于2007年6月26日發(fā)布了基于TCM標(biāo)準(zhǔn)的同方TST安全平臺(tái),可預(yù)防企業(yè)的機(jī)密信息通過(guò)終端計(jì)算機(jī)泄密,可隱藏硬盤(pán),通過(guò)指紋鎖進(jìn)行硬盤(pán)加密以及安全備份等。同時(shí),同方還推出了授權(quán)密網(wǎng)產(chǎn)品——將工作組的幾臺(tái)計(jì)算機(jī)設(shè)置成一個(gè)域,非授權(quán)用戶無(wú)法傳遞文件。
專門(mén)提供調(diào)用可信計(jì)算機(jī)中TCM密鑰體系,讓TCM、可信計(jì)算機(jī)與人的身份結(jié)合,構(gòu)建完整可信計(jì)算信任鏈的吉大正元公司,則利用PKI/PMI技術(shù),推出了可信接入安全支撐平臺(tái),保證不同網(wǎng)絡(luò)可安全地接入整個(gè)體系。
雖然在PC領(lǐng)域,通過(guò)各機(jī)構(gòu)和企業(yè)的努力,可信計(jì)算技術(shù)已經(jīng)得到了一定程度的發(fā)展,但是在嵌入式系統(tǒng)領(lǐng)域,我國(guó)無(wú)論在規(guī)范還是在實(shí)際應(yīng)用上,還是處于發(fā)展不足的狀態(tài)。而基于嵌入式系統(tǒng)對(duì)于資源的敏感性,能源的緊缺性,功能的專業(yè)性等特點(diǎn),生搬硬套過(guò)往的“大而全”的可信計(jì)算規(guī)范的服務(wù)顯然是不合適。同時(shí),目前市場(chǎng)上通用的TPM芯片大部分是通過(guò)與CPU的LPC引腳連接提供相關(guān)的加密驗(yàn)證服務(wù)。個(gè)人PC市場(chǎng)的處理器少?gòu)S商的壟斷局面與嵌入式系統(tǒng)芯片市場(chǎng)百花齊放的情況不同,這也決定了現(xiàn)有的TPM芯片不能滿足各種各樣的傳輸接口需求。因此,一種基于嵌入式系統(tǒng)特性的安全保證技術(shù)實(shí)現(xiàn)方案的實(shí)現(xiàn)就顯得非常必要。
2 系統(tǒng)建設(shè)總體原則
2.1 建設(shè)目標(biāo)
本項(xiàng)目目的在于,基于目前現(xiàn)有的嵌入式部件的安全功能(Spartan-3A的Device DNA和中興TCM芯片),提供一個(gè)保證嵌入式系統(tǒng)程序完整性的設(shè)計(jì)方案。于此同時(shí),參照可信計(jì)算規(guī)范標(biāo)準(zhǔn),為嵌入式系統(tǒng)打造一個(gè)可信根,為之后的可信鏈的建立及嵌入式可信平臺(tái)的構(gòu)造提供必要的條件。最終滿足國(guó)內(nèi)嵌入式系統(tǒng)安全需求,并為我國(guó)嵌入式系統(tǒng)可信技術(shù)獨(dú)立自主發(fā)展提供支持。
2.2 建設(shè)原則
1、可擴(kuò)展性原則:嵌入式系統(tǒng)本身就是一個(gè)被要求具備可擴(kuò)展性的系統(tǒng)。其任務(wù)多變性,外設(shè)可裁剪性等原則也決定了本次設(shè)計(jì)應(yīng)該具有與之匹配的特性。在保證核心,基本的完整性保證服務(wù)功能后,應(yīng)該支持用戶根據(jù)自身需要定制不同的,更復(fù)雜的安全性服務(wù),即為今后系統(tǒng)應(yīng)用的擴(kuò)展和系統(tǒng)升級(jí)提供必要的接口。
2、安全性原則:由于設(shè)計(jì)中任何部件的安全性缺陷以及運(yùn)行步驟上的漏洞都會(huì)導(dǎo)致系統(tǒng)被破壞的可能,所以本方案的安全性必須通過(guò)可信計(jì)算規(guī)范中可信鏈的建立過(guò)程進(jìn)行論證。從而構(gòu)造一個(gè)牢固的安全根基。
3、兼容性原則:基于嵌入式芯片廠商眾多,使用的架構(gòu)也不盡相同。因此本嵌入式系統(tǒng)程序完整性保證設(shè)計(jì)方案應(yīng)該盡量做到只經(jīng)過(guò)有限的修改甚至無(wú)需進(jìn)行修改,即可應(yīng)用到大部分主流的嵌入式系統(tǒng)之中。保證本設(shè)計(jì)的通用性。
3 項(xiàng)目研制內(nèi)容
本項(xiàng)目對(duì)嵌入式系統(tǒng)完整性保證技術(shù)中的加密算法實(shí)現(xiàn),系統(tǒng)部件身份識(shí)別,系統(tǒng)運(yùn)行效率等關(guān)鍵技術(shù)進(jìn)行了綜合、深入的研究。
3.1 系統(tǒng)設(shè)計(jì)框架
整個(gè)嵌入式系統(tǒng)設(shè)計(jì)總體結(jié)構(gòu)圖如下圖所示,主要有主處理芯片、提供數(shù)據(jù)驗(yàn)證功能的可編程邏輯器件(FPGA)、提供TCM規(guī)范服務(wù)的TCM芯片以及外部存儲(chǔ)器件。本系統(tǒng)運(yùn)行與兩種模式下:1、主要由FPGA與PC進(jìn)行數(shù)據(jù)交互的配置模式。2嵌入式處理芯片,F(xiàn)PGA,TCM芯片協(xié)同工作的運(yùn)行模式。
配置模式下,F(xiàn)PGA讀出內(nèi)部Device DNA,輸出到PC端。之后掃描外部存儲(chǔ)設(shè)備(如flash)制定地址區(qū)間的內(nèi)容(一般為boot loader),進(jìn)行SHA-1運(yùn)算,產(chǎn)生數(shù)據(jù)摘要,輸出到PC端。Device DNA會(huì)作為DES算法的密鑰對(duì)上面提到的數(shù)據(jù)摘要進(jìn)行加密,Device DNA與加密值會(huì)通過(guò)固件程序保存在TCM芯片的可信存儲(chǔ)區(qū)域內(nèi)。
運(yùn)行模式下,主處理芯片通過(guò)FPGA產(chǎn)生的時(shí)鐘信號(hào)進(jìn)行工作。系統(tǒng)上電后,F(xiàn)PGA并不馬上對(duì)主處理芯片提供時(shí)鐘,而是先進(jìn)行完整性驗(yàn)證工作:1、裝載Device DNA,提供給內(nèi)部DES運(yùn)算部件作為密鑰使用。2、請(qǐng)求TCM芯片發(fā)送32位隨機(jī)數(shù),此隨機(jī)數(shù)將會(huì)被DES算法加密后送到FPGA,F(xiàn)PGA的DES部件對(duì)其進(jìn)行解密后,進(jìn)行存儲(chǔ)。3、FPGA讀取flash制定區(qū)域的內(nèi)容,并進(jìn)行SHA-1運(yùn)算,產(chǎn)生160位數(shù)據(jù)摘要。4、160位數(shù)據(jù)摘要被分為5組,每組32位。每組與此前接收到的32位隨機(jī)數(shù)組成64位數(shù)據(jù),進(jìn)行DES加密后,送到TCM芯片進(jìn)行校驗(yàn)。5、TCM芯片接收到5組數(shù)據(jù)后進(jìn)行解密。首先校驗(yàn)隨機(jī)數(shù)部分是否與之前發(fā)出的一致,若一致,則繼續(xù)校驗(yàn)數(shù)據(jù)摘要部分?jǐn)?shù)據(jù)與之前在配置模式下寫(xiě)入的理想值是否一致。對(duì)比結(jié)果存放于特定內(nèi)存位置。6、FPGA為主處理芯片提供時(shí)鐘,并接通主處理芯片與外部存儲(chǔ)器與TCM的數(shù)據(jù)通路。用戶可以通過(guò)相關(guān)的接口讀取對(duì)比值,判斷系統(tǒng)是否被修改。
嵌入式完整性保證方案框架
3.2 安全性分析
硬件安全性: Spartan-3A,全部硬件邏輯固化在芯片內(nèi)部,不可讀取。TCM:通過(guò)國(guó)家商密辦檢驗(yàn),不可讀取。Boot Loader完整性:FPGA將依次讀取Boot Loader的內(nèi)容,并計(jì)算Hash值。對(duì)Boot ROM的任何篡改都將改變Hash值。從而導(dǎo)致驗(yàn)證不通過(guò)。
以下是幾種可預(yù)見(jiàn)的攻擊方式:1、在已知Boot loader的內(nèi)容的前提下,計(jì)算出數(shù)據(jù)摘要的內(nèi)容,偽造FPGA。由于Device DNA是每一塊FPGA的身份識(shí)別碼,此值是唯一的。更換FPGA會(huì)導(dǎo)致用于DES加密密鑰的Device DNA改變,從而向TCM芯片傳送的加密值不正確。2、監(jiān)聽(tīng)FPGA與TCM之間的通訊。由于TCM與FPGA通訊內(nèi)容還依賴于隨機(jī)數(shù),具有不可預(yù)見(jiàn)性,所以監(jiān)聽(tīng)當(dāng)次的通訊內(nèi)容對(duì)之后內(nèi)容的破解并沒(méi)有作用。
3.3 可信鏈的建立
如之前所提到,一個(gè)可信的系統(tǒng)的建立,必須是硬件,操作系統(tǒng),軟件應(yīng)用三者共同作用的結(jié)果,本完整性保證設(shè)計(jì)也不例外。本次設(shè)計(jì)的可信根建立于以下兩個(gè)事實(shí)之上:1、TCM的保密區(qū)域存儲(chǔ)空間不能被讀取。2、FPGA的Device DNA是唯一對(duì)應(yīng)于一塊FPGA的。
經(jīng)過(guò)3.1小結(jié)的驗(yàn)證步驟,我們把可信根擴(kuò)展到了Boot Loader。Boot Loader是嵌入式系統(tǒng)中用于系統(tǒng)初始化以及載入操作系統(tǒng)的程序。保證Boot Loader的完整性的意義在于保證了操作系統(tǒng)在正確的環(huán)境以及以正確的方式被加載。之后程序員就可以通過(guò)軟件的手段對(duì)建立在操作系統(tǒng)之上的應(yīng)用進(jìn)行安全保證。
信任鏈的建立及傳遞
5 研制成果及應(yīng)用
5.1 研制成果
本項(xiàng)目的主要研制成果有三個(gè)方面:
完成了一套具備可信計(jì)算功能的硬件開(kāi)發(fā)板。
經(jīng)過(guò)了一年的研發(fā),本開(kāi)發(fā)板的各項(xiàng)功能都被驗(yàn)證具備穩(wěn)定運(yùn)作的能力,由于其采用的是主流的資源配置,因此可擴(kuò)展性也是有目共睹的,具體指標(biāo)如下:
ARM7內(nèi)核的三星44B0X處理器,最高運(yùn)行速度達(dá)到66Mhz
Xilinx Spartan3A FPGA芯片,多達(dá)200萬(wàn)門(mén)的可編程邏輯資源
16M Nor Flash,16M SDRAM能滿足大部分應(yīng)用需要
100M網(wǎng)絡(luò)接口,支持高速內(nèi)核下載及燒寫(xiě)
2個(gè)標(biāo)準(zhǔn)UART-232接口,能提供與TCM芯片的穩(wěn)定連接及常見(jiàn)外設(shè)的數(shù)據(jù)傳輸
完成了TCM固件程序開(kāi)發(fā)及uclinux工具鏈的配套
目前,我們已經(jīng)利用中興提供的開(kāi)發(fā)平臺(tái)開(kāi)發(fā)了相關(guān)的TCM固件程序,使得TCM芯片與本嵌入式平臺(tái)在啟動(dòng)階段可以自動(dòng)完成驗(yàn)證功能。而與此同時(shí),通過(guò)進(jìn)一步的固件程序開(kāi)發(fā),TCM芯片可以提供更豐富的驗(yàn)證加密功能,以滿足更多的可信計(jì)算需要。
與此同時(shí),通過(guò)busybox工具鏈,也成功把uclinux2.4成功移植到本嵌入式平臺(tái)上,運(yùn)行正常。
6 項(xiàng)目總結(jié)
通過(guò)本項(xiàng)目的研發(fā),項(xiàng)目組總結(jié)經(jīng)驗(yàn)如下:
1) 需要注意項(xiàng)目經(jīng)驗(yàn)的積累及轉(zhuǎn)化。從2008年12月提出設(shè)計(jì)方案到2010年產(chǎn)品的實(shí)現(xiàn),其中進(jìn)行過(guò)數(shù)次的方案改動(dòng)。改進(jìn)方案的建議不僅來(lái)自領(lǐng)隊(duì)老師自己,還來(lái)自參與本項(xiàng)目的學(xué)生和過(guò)程中不斷吸收進(jìn)來(lái)的一些最新的外來(lái)研究經(jīng)驗(yàn)和成果。不斷的改進(jìn)并不代表對(duì)之前工作的否定,恰恰相反,沒(méi)有一些針對(duì)前期方案的準(zhǔn)備和工作的體會(huì),是沒(méi)有可能提出更成熟,更穩(wěn)定的改進(jìn)方案。因此,在項(xiàng)目實(shí)施過(guò)程中,積極與外界溝通,同時(shí)組織團(tuán)隊(duì)進(jìn)行方案的再三討論,對(duì)于項(xiàng)目的實(shí)施和進(jìn)步是十分有利的。
2) 對(duì)中間結(jié)果進(jìn)行規(guī)范化的制作,形成可用的產(chǎn)品。在本項(xiàng)目進(jìn)行的過(guò)程中,恰逢IBM PowerPC與工業(yè)和信息化部IP核標(biāo)準(zhǔn)工作組共同推廣中國(guó)開(kāi)源IP標(biāo)準(zhǔn)化工作。于是在保證工作質(zhì)量和進(jìn)度的前提下,我們嘗試把嵌入式系統(tǒng)程序完整性保證的概念移植到PowerPC支持的PLB總線上。同時(shí)參照相關(guān)的標(biāo)準(zhǔn)化要求,完成了“帶有完整性驗(yàn)證功能的外部存儲(chǔ)控制器”的IP核標(biāo)準(zhǔn)化設(shè)計(jì)。最終在這個(gè)過(guò)程中,不僅使學(xué)生的能力得到鍛煉,同時(shí)還驗(yàn)證了本設(shè)計(jì)的可擴(kuò)展性和可移植性。
3) 注重項(xiàng)目管理和人員培養(yǎng)。項(xiàng)目管理一直是IT項(xiàng)目的重要課題。如何保證項(xiàng)目進(jìn)度和項(xiàng)目質(zhì)量,成了這個(gè)項(xiàng)目的其中一個(gè)關(guān)注點(diǎn)。在本次項(xiàng)目開(kāi)發(fā)過(guò)程中,隊(duì)員注意了項(xiàng)目文檔的編寫(xiě)工作,讓每一個(gè)階段的進(jìn)度都有章可循。與此同時(shí),我們還定期進(jìn)行小組討論,這不僅加強(qiáng)了隊(duì)員間的信息交流,活躍了成員的思維。于此同時(shí),這還是工作進(jìn)度量度和工作質(zhì)量提高的審核平臺(tái)。通過(guò)以上手段,保證了項(xiàng)目的有序高效進(jìn)行。在人員培養(yǎng)上,本項(xiàng)目采用導(dǎo)師指導(dǎo),研究生完成,本科生輔助的模式。導(dǎo)師對(duì)重要問(wèn)題進(jìn)行提出,對(duì)于技術(shù)難題,與研究生共同攻關(guān)。研究生對(duì)導(dǎo)師提出問(wèn)題進(jìn)行逐步解答,在此過(guò)程中不斷吸收知識(shí),并嘗試獨(dú)立解決其中發(fā)現(xiàn)的問(wèn)題。同時(shí)把一些工作下放到優(yōu)秀的本科生,讓其進(jìn)行探討和完成。這一工作模式,不僅合理地把項(xiàng)目難度分?jǐn)偟礁鞒蓡T,同時(shí)還充分調(diào)動(dòng)起各個(gè)成員的工作積極性,而到最后,還提高了整個(gè)團(tuán)隊(duì)的技術(shù)水平。
7 存在問(wèn)題
經(jīng)過(guò)一年的努力和工作積累,嵌入式系統(tǒng)程序完整性保證技術(shù)方案的功能日趨完善、性能越來(lái)越高、穩(wěn)定性越來(lái)越強(qiáng),但還存在下列問(wèn)題:
(1)相關(guān)的工具鏈的開(kāi)發(fā)不足,產(chǎn)品化程度不高。
(2)盡管已完成完整性保證的功能,但是離可信計(jì)算的最終目標(biāo)還有一定距離。未來(lái)還需要進(jìn)一步的功能開(kāi)發(fā)。
(3)TCM芯片功能移植到FPGA上的設(shè)想。這將進(jìn)一步減少本設(shè)計(jì)的面積,更符合嵌入式系統(tǒng)的要求。
這些問(wèn)題將在以后研發(fā)中繼續(xù)努力解決。 |
|