文獻標識碼: B
文章編號: 0258-7998(2012)01-0136-03
隨著計算機技術(shù)的高速發(fā)展和信息戰(zhàn)的愈演愈烈,,計算系統(tǒng)的研究面臨的關(guān)鍵問題已不再僅僅局限于運算性能、接口的豐富程度等方面,可信性等方面的研究已變得日益重要,,很多軍用領(lǐng)域所用的計算機系統(tǒng)已經(jīng)趨向于使用國產(chǎn)處理器以保證系統(tǒng)的安全性,,但是從可信性的角度來講,僅使用國產(chǎn)處理器是不夠的,,本文針對這一趨勢,,對可信系統(tǒng)進行了研究,實現(xiàn)了基于國產(chǎn)龍芯處理器的可信系統(tǒng)構(gòu)建,。
1 基于國產(chǎn)處理器的可信系統(tǒng)架構(gòu)
構(gòu)建一個可信系統(tǒng)首先需要構(gòu)建一個信任根,,再建立一條信任鏈,信任的傳遞從信任根開始至硬件平 臺的BootLoader,,再到操作系統(tǒng),,最后到應用程序,一級認證一級,,一級信任一級,,進而擴展到整個計算機系統(tǒng),基于國產(chǎn)龍芯處理器的可信系統(tǒng)體系結(jié)構(gòu)主要分為四層:可信系統(tǒng)硬件層,、可信BootLoader層,、可信操作系統(tǒng)層和安全應用程序?qū)?如圖1所示,其中信任根包含在可信BootLoader層內(nèi),。本文主要介紹可信系統(tǒng)硬件層,、可信BootLoader層、可信操作系統(tǒng)層的構(gòu)建及整個系統(tǒng)的啟動過程和信任鏈建立的過程,。
1.1 可信系統(tǒng)硬件層
可信系統(tǒng)的硬件層如圖2所示,,包括主處理器(龍芯2F芯片)、存儲器系統(tǒng),、I/O系統(tǒng),、可信平臺模塊TPM等,主處理器通過LPC總線與可信平臺模塊TPM進行通信,,TPM由輸入和輸出,、密碼協(xié)處理器、存儲單元等組件構(gòu)成,,是一個可以獨立進行密鑰生產(chǎn)與加解密的安全微控制器,。
1.2 可信BootLoader層
可信BootLoader層由可信PMON與CRTM組成,,如圖3所示,。
其中CRTM(Core Root of Trust Measurement)是信任度量核心根,簡稱信任根,,是整個可信計算機的核心測量部分,,同時也是可信計算機的整條信任鏈的起點,在可信計算機上電啟動后最先運行,,主要負責啟動TPM,、校驗可信PMON的完整性、與可信PMON通信,??尚臥MON除了作為整個系統(tǒng)的啟動引導程序外還具有與CRTM通信以及校驗操作系統(tǒng)內(nèi)核完整性的功能。
1.3 可信操作系統(tǒng)層
操作系統(tǒng)的可信性問題一直是業(yè)內(nèi)的一個難點,,目前現(xiàn)有的可信產(chǎn)品中所使用的可信操作系統(tǒng)大多是在通用操作系統(tǒng)中加入可信軟件棧TSS,,以解決操作系統(tǒng)上的應用程序與TPM的通信問題。本文提出的可信操作系統(tǒng)層構(gòu)建如圖4所示,。
可信軟件棧TSS是對可信系統(tǒng)提供支持的軟件,,它的設(shè)計目標是對應用TPM功能的應用程序提供一個唯一的入口,并提供對TPM的同步訪問管理,??尚跑浖SS具體可以分為如下4層:
(1) TPM驅(qū)動程序?qū)樱═DD)。該模塊主要負責把TDDL傳入的字節(jié)流發(fā)送給 TPM,,然后把 TPM 的返回數(shù)據(jù)發(fā)送回TDDL,。TDD模塊的設(shè)計與 TPM制造商和操作系統(tǒng)有關(guān),它和TPM在物理層進行通信,,依賴于TPM的訪問接口和操作系統(tǒng)的驅(qū)動編寫模型,。由于TPM一次只能處理一個請求,所以TDD只允許一個進程進行訪問,,由TCS層負責對多個請求的同步管理,。
(2) TPM驅(qū)動程序庫(TDDL)。由TPM制造商提供,,位于TCS和TDD之間,,TDDL提供了一個用戶態(tài)的接口。該接口是標準的C接口,,可以使不同的TCS很容易地在平臺之間移植,。由于TDD只允許一個進程進行訪問,因此TDDL在同一時刻只允許被一個進程打開,。
(3) TPM核心服務層(TCS),。在一個平臺操作系統(tǒng)上只能有一個TCS,TCS接口(TCSI)被設(shè)計用來提供一種直接而簡便的方法來控制和請求TPM服務,。TCS提供了一個公共的服務集合,,可以為多個TSP使用。TCS提供的功能包括TPM命令的組包拆包,、日志,、審計,、密鑰證書的管理,以及協(xié)調(diào)多個應用程序?qū)PM的同步訪問等,。
(4) TPM服務提供層(TSP),。該模塊位于TSS的最上層,為應用程序提供TPM服務,。該模塊和應用程序都位于用戶層,,并且在同一進程空間內(nèi),為應用程序與 TPM之間的數(shù)據(jù)傳輸提供保護,,可以為應用程序提供TPM安全平臺的所有功能,。
2 可信系統(tǒng)啟動過程和信任鏈的建立
基于龍芯處理器的可信系統(tǒng)基于TPM建立了一條完整的信任鏈,整個平臺的啟動過程和信任鏈工作方式如圖5所示,。
(1) 在計算機終端加電后,,信任根CRTM首先啟動初始化TPM;
(2) TPM運行起來后,,信任根度量可信PMON的完整性,,將度量值存入TPM;
(3) 可信PMON運行,,初始化龍芯2F計算機主模塊硬件部分,;
(4) 信任根將控制權(quán)交給可信PMON,由可信PMON度量操作系統(tǒng)的完整性,將度量值存入TPM,;
(5) 可信PMON將控制權(quán)交給操作系統(tǒng),,操作系統(tǒng)度量應用程序完整性,將度量結(jié)果報告TPM,;
(6) TPM將完整性度量值經(jīng)過內(nèi)部加密處理生成完整性序列值報告給操作系統(tǒng),,操作系統(tǒng)將序列值和已存儲在TPM芯片內(nèi)部的完整性驗證碼進行比較,如果發(fā)現(xiàn)有修改,,則操作系統(tǒng)運行中斷,;如果沒有修改,則操作系統(tǒng)正常啟動,,并進入可信運行環(huán)境,。
本文構(gòu)建了基于國產(chǎn)龍芯處理器的可信系統(tǒng),整個系統(tǒng)的核心器件龍芯2F處理器和TPM全部為國產(chǎn)器件,,它的實現(xiàn)對于軍用,、金融等保密領(lǐng)域具有極其重要的意義,但是目前尚存在部分關(guān)鍵技術(shù)需要攻克,,如硬件集成技術(shù),、動態(tài)可信測量技術(shù)及I/O的安全技術(shù)等,且目前可信領(lǐng)域的權(quán)威組織TCG(可信計算組織)僅給出了可信系統(tǒng)的相關(guān)技術(shù)規(guī)范,,可信操作系統(tǒng),、可信數(shù)據(jù)庫,、可信應用軟件的相關(guān)技術(shù)規(guī)范還有待于進一步完善。
參考文獻
[1] Loongson2F_DS_CN Rev1.0[S]. 2008.
[2] Loongson2F_UM_CN Rev1.0[S]. 2008.
[3] 楊功立,,付永慶.基于龍芯CPU的高性能安全服務器主板的設(shè)計與研究[D]. 哈爾濱:哈爾濱工程大學,2002.
[4] 吳少校,,史崗,劉金剛.龍芯2F處理器評估板的設(shè)計與實現(xiàn)[D].北京:首都師范大學,,2008.
[5] 劉志華.可信計算平臺研究[J].計算機安全,2009(07):53-54
[6] 師俊芳,李小將,,李新明.基于TPM的安全操作系統(tǒng)的設(shè)計研究[J].裝備指揮技術(shù)學院學報,2009(05):87-91.
[7] 林小茶,,李光,金爽.嵌入式可信計算機研究[J].計算機工程與設(shè)計,2009,30(16):3730-3734.
[8] 吳少剛,,徐華.可信嵌入式龍芯啟動加載程序tPMON的設(shè)計[J].計算機工程與設(shè)計,2008,29(1):5-8.
[9] 李祖松,,唐志敏,胡偉武.龍芯2號處理器多線程技術(shù)研究[D].北京:中國科學院計算技術(shù)研究所,,中國科學院研究生院,,2006.
[10] Wind River. General purpose platform,VxWorks Edition Migration Guide 3.6[S]. 2010.