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