? 可信芯片
可信芯片應(yīng)依據(jù)《GM/T 0028密碼模塊安全技術(shù)要求》規(guī)范研發(fā)并制造箕肃。TCM可信密碼模塊結(jié)構(gòu)如圖1-1所示:
TCM可信密碼模塊硬件組成部分包括4類:
? 中央處理單元,是TCM可信密碼模塊的執(zhí)行引擎翁潘;
? 密碼算法引擎(包括SM2尺迂、SM3、SM4、隨機(jī)數(shù)發(fā)生器)霞篡,提供獨(dú)立的密碼算法支撐;
? 存儲(chǔ)器端逼,分易失性存儲(chǔ)器和非易失性存儲(chǔ)器兩種朗兵,非易失性存儲(chǔ)器存儲(chǔ)重要安全參數(shù),包括固件和密鑰之類顶滩;
? I/O接口余掖,即與主機(jī)平臺(tái)的接口,支持標(biāo)準(zhǔn)USB2.0诲祸、ESPI等接口浊吏。
TCM可信密碼模塊固件組成的部件包括3類:
? 跟硬件相關(guān)的驅(qū)動(dòng)程序;
? 功能命令程序救氯,是固件的核心與主體找田;
? 與主機(jī)程序交互的函數(shù)接口。
? 安全操作系統(tǒng)可信計(jì)算框架結(jié)構(gòu)
安全操作系統(tǒng)提供可信芯片着憨,可信引導(dǎo)墩衙,靜態(tài)度量,動(dòng)態(tài)度量甲抖,芯片軟件棧漆改,平臺(tái)CA服務(wù),平臺(tái)度量管理服務(wù)准谚,平臺(tái)可信備份服務(wù)等功能挫剑,這些功能相互協(xié)作保證計(jì)算平臺(tái)的可信性。安全操作系統(tǒng)可信計(jì)算體系結(jié)構(gòu)如圖2-1所示:
安全操作系統(tǒng)利用可信芯片柱衔,度量引導(dǎo)階段啟動(dòng)的組件樊破,并且為芯片設(shè)置引導(dǎo)策略,只有正確的可信引導(dǎo)唆铐,才能使用芯片內(nèi)部的公私鑰哲戚、證書等密碼學(xué)實(shí)體,在系統(tǒng)引導(dǎo)完成的最后一步艾岂,通過(guò)能否自動(dòng)掛載加密分區(qū)來(lái)認(rèn)證系統(tǒng)的安全狀態(tài)顺少。安全操作系統(tǒng)提供靜態(tài)度量功能,用以度量系統(tǒng)數(shù)據(jù)、文件的完整性脆炎,而且提供動(dòng)態(tài)度量功能梅猿,實(shí)時(shí)度量系統(tǒng)進(jìn)程、內(nèi)核模塊核心內(nèi)存數(shù)據(jù)的完整性腕窥。安全操作系統(tǒng)提供完整的可信芯片服務(wù)和軟件棧粒没,為固件層、內(nèi)核層簇爆、用戶層提供種類豐富的密碼接口癞松,比如度量擴(kuò)展接口,算法接口入蛆,密鑰接口等响蓉。最后,安全操作系統(tǒng)提供三個(gè)云端可信管理服務(wù):平臺(tái)CA服務(wù)哨毁,平臺(tái)度量管理服務(wù)和平臺(tái)可信備份服務(wù)枫甲,其中平臺(tái)CA服務(wù)用于證實(shí)計(jì)算平臺(tái)的可信,平臺(tái)度量管理服務(wù)用于配置計(jì)算平臺(tái)的度量策略和保護(hù)計(jì)算平臺(tái)的度量基準(zhǔn)庫(kù)扼褪,平臺(tái)可信備份服務(wù)用于備份和遷移計(jì)算平臺(tái)的數(shù)據(jù)和秘密想幻。
? 安全操作系統(tǒng)芯片軟件棧子系統(tǒng)
為給可信引導(dǎo),靜態(tài)度量话浇,動(dòng)態(tài)度量等可信功能提供芯片接口支撐脏毯,安全操作系統(tǒng)分別在固件層、內(nèi)核層提供TCM Driver Lib幔崖,在用戶層提供TCM Core Service和TCM API Lib食店,具體調(diào)用關(guān)系如圖3-1所示:
? 安全操作系統(tǒng)可信引導(dǎo)子系統(tǒng)
安全操作系統(tǒng)在計(jì)算平臺(tái)系統(tǒng)中建立一個(gè)信任根,該信任根由BIOS CRTM模塊和可信芯片構(gòu)成赏寇;平臺(tái)上電后吉嫩,系統(tǒng)執(zhí)行CRTM模塊程序,該模塊是平臺(tái)BIOS系統(tǒng)第一個(gè)子模塊嗅定,它將CRTM數(shù)據(jù)自娩、BIOS數(shù)據(jù)以及平臺(tái)擴(kuò)展項(xiàng)度量并擴(kuò)展記入可信芯片平臺(tái)配置寄存器(Platform Configuration Register)0號(hào)位置,并且記錄度量事件到事件日志中渠退;CRTM模塊是被完整性寫保護(hù)的忙迁,保證其度量序列不可篡改,如果度量擴(kuò)展成功智什,則可信芯片保存平臺(tái)CRTM獨(dú)一無(wú)二的描述动漾。依靠這種度量擴(kuò)展機(jī)制將BIOS剩余引導(dǎo)階段記錄到1~6號(hào)位平臺(tái)配置寄存器丁屎≤В可信引導(dǎo)功能如4-1圖所示:
BIOS引導(dǎo)結(jié)束,啟動(dòng)shim組件晨川,shim組件為OS-LOADER提供度量服務(wù)和密碼服務(wù)证九,利用度量擴(kuò)展機(jī)制BIOS將shim組件數(shù)據(jù)記錄到7號(hào)平臺(tái)配置寄存器删豺。
shim組件結(jié)束引導(dǎo),啟動(dòng)grub2組件愧怜,該組件是操作系統(tǒng)引導(dǎo)器(OS-LOADER)呀页,負(fù)責(zé)引導(dǎo)操作系統(tǒng),利用度量擴(kuò)展機(jī)制shim組件將grub2組件數(shù)據(jù)記錄到8號(hào)平臺(tái)配置寄存器拥坛。
grub2組件結(jié)束引導(dǎo)蓬蝶,啟動(dòng)操作系統(tǒng)內(nèi)核,利用度量擴(kuò)展機(jī)制grub2組件將內(nèi)核數(shù)據(jù)記錄到9號(hào)平臺(tái)配置寄存器猜惋。
內(nèi)核結(jié)束引導(dǎo)丸氛,啟動(dòng)systemd進(jìn)程,systemd進(jìn)程是系統(tǒng)用戶態(tài)根進(jìn)程著摔,利用內(nèi)核靜態(tài)度量模塊度量功能將systemd數(shù)據(jù)記錄到10號(hào)平臺(tái)配置寄存器缓窜。
最后系統(tǒng)啟動(dòng)TCMProvider服務(wù)進(jìn)程,TCMProvider服務(wù)進(jìn)程負(fù)責(zé)對(duì)接云端可信管理服務(wù)谍咆,利用內(nèi)核靜態(tài)度量模塊度量功能將TCMProvider數(shù)據(jù)記錄到10號(hào)平臺(tái)配置寄存器禾锤。
? 安全操作系統(tǒng)靜態(tài)度量子系統(tǒng)
安全操作系統(tǒng)在內(nèi)核中構(gòu)建靜態(tài)度量子系統(tǒng),靜態(tài)度量子系統(tǒng)包括度量機(jī)制摹察,完整性挑戰(zhàn)機(jī)制和完整性驗(yàn)證機(jī)制恩掷。靜態(tài)度量子系統(tǒng)度量目標(biāo)對(duì)象有初始內(nèi)核,內(nèi)核模塊港粱,進(jìn)程加載的可執(zhí)行文件螃成,進(jìn)程加載的動(dòng)態(tài)庫(kù),進(jìn)程的配置文件查坪。比如寸宏,應(yīng)用程序啟動(dòng)時(shí),該子系統(tǒng)利用度量擴(kuò)展機(jī)制將應(yīng)用程序度量值提交到可信芯片10號(hào)平臺(tái)配置寄存器偿曙,從而支持可信計(jì)算平臺(tái)從OS到應(yīng)用程序級(jí)的信任鏈擴(kuò)展氮凝。靜態(tài)度量子系統(tǒng)創(chuàng)建并維護(hù)一個(gè)度量列表ML,輔以TCMProvider服務(wù)進(jìn)程可為計(jì)算平臺(tái)提供可信證明望忆。結(jié)構(gòu)如圖5-1所示:
? 安全操作系統(tǒng)動(dòng)態(tài)度量子系統(tǒng)
安全操作系統(tǒng)在內(nèi)核中構(gòu)建動(dòng)態(tài)度量子系統(tǒng)罩阵,該子系統(tǒng)是基于信息流的動(dòng)態(tài)度量模型研發(fā)的,動(dòng)態(tài)度量子系統(tǒng)的度量目標(biāo)對(duì)象有進(jìn)程启摄,內(nèi)核模塊稿壁。動(dòng)態(tài)度量子系統(tǒng)根據(jù)度量策略對(duì)進(jìn)程和內(nèi)核模塊只讀性質(zhì)的內(nèi)存段進(jìn)行周期性度量,實(shí)時(shí)驗(yàn)證平臺(tái)執(zhí)行環(huán)境的可信狀態(tài)歉备。如果在周期性度量環(huán)節(jié)發(fā)現(xiàn)只讀內(nèi)存區(qū)域遭受篡改或者破壞傅是,會(huì)立即觸發(fā)審計(jì)或終止進(jìn)程和內(nèi)核模塊運(yùn)行。進(jìn)程和內(nèi)核模塊第一次動(dòng)態(tài)度量值會(huì)擴(kuò)展到可信芯片11號(hào)平臺(tái)配置寄存器。動(dòng)態(tài)度量子系統(tǒng)結(jié)構(gòu)如圖6-1所示: