999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于擴展ROM的信任根設備設計與實現

2012-05-04 08:08:42魯青遠郝福珍
計算機工程與設計 2012年6期
關鍵詞:設備系統

魯青遠,郝福珍,牛 峰

(華北計算技術研究所,北京100083)

0 引 言

可信計算技術從計算機體系結構、固件和操作系統等方面采取綜合措施,意圖從根本上提高信息系統的安全性。可信計算的基本思想是:首先在計算機系統中建立一個信任根,再建立一條信任鏈,從信任根開始,經過硬件平臺和操作系統,再到應用,一級測量一級,一級信任一級,從而把這種信任擴展到整個計算機系統[1]。

信任根和信任鏈是可信計算機系統的基本組成部分。信任根是用來提供密碼運算、安全存儲、可信報告等服務的芯片,符合可信計算組織(trusted computing group,TCG)規(guī)約的信任根稱為可信平臺模塊(trust platform module,TPM);符合國家密碼管理局發(fā)布的 《可信計算密碼支撐平臺功能和接口規(guī)范》的信任根稱為可信計算模塊(trusted computing module,TCM)。信任鏈是信任的傳遞方式,把信任從信任源點傳遞到整個計算機系統。在可信計算組織的說明中,信任源點稱為核心測量根(core root of trust for measurement,CRTM);信任鏈是 CRTM->BIOS->OS Loader->OS的一個串行鏈[2]。

一般有兩種實現CRTM的方案,一種是在信任根中實現CRTM功能,另一種是在BIOS中實現CRTM功能。第一種方案將信任根作為系統加電后啟動的起始點,所有的可信認證工作都在信任根中實現,該方案需要對現行計算機體系結構進行較大改動。武漢瑞達推出的采用星型信任鏈模型的可信計算機采用的就是這種方案。第二種方案不必修改現行計算機體系結構,但需要在硬件平臺上部署TCM芯片,且BIOS中要有可信認證模塊。國內兩大TCM芯片供應商——國民技術股份有限公司和北京同方微電子有限公司采用的便是第二種解決方案。

兩種方案都要求在計算機硬件上部署信任根芯片,但目前在用的大量桌面計算機,主板上并沒有配備TCM芯片。本文提出基于擴展ROM的信任根設備RTD(root of trust device),可以在保護用戶現有投資的基礎上,以簡便、快捷的方式為這類計算平臺提供可信安全能力。該方案在計算機上部署一塊集成TCM與EEPROM的PCI接口卡,把該EEPROM當作PCI擴展ROM,在其中實現對BIOS和OS Loader的完整性認證功能。

擴展ROM代碼可以認為是BIOS代碼的一個擴展,因此RTD的CRTM仍然是BIOS的一個組成部分,所以該解決方案屬于第二種方案的一種實現。

1 總體設計

1.1 總體概要

RTD由硬件和軟件兩部分組成。硬件部分是一塊PCI卡,如圖1所示,主要包括TCM、EEPROM、PCI橋、CPLD等芯片。關鍵信息產品部件的國產化對于國家信息安全至關重要,故信任根設備采用了國民技術公司的TCM芯片SSX44。EEPROM直接連接在PLX公司的PCI橋芯片9030上。因為TCM芯片的外部接口為LPC,所以通過CPLD中的膠水邏輯實現與PCI橋接芯片的互連。

圖1 信任根設備邏輯框架

PCI總線在計算機中應用廣泛,這使得信任根設備能夠方便地部署,而且PCI的擴展ROM機制為軟件部分的實現提供了可能。

軟件部分燒寫在EEPROM中,作為BIOS的擴展ROM代碼,實現對BIOS和OS Loader的完整性認證。

以下我們將就軟件部分的設計和具體實現展開討論。

1.2 軟件部分設計

RTD的工作流程如圖2所示。系統加電,在BIOS的POST階段掃描PCI總線,檢測到擴展ROM后,會復制擴展ROM中的映像文件到系統內存,執(zhí)行映像文件的初始化模塊,掛鉤INT19中斷。在POST階段的最后,當BIOS調用INT19中斷啟動OS Loader時,可信驗證模塊被執(zhí)行。它通過調用可信服務模塊,驗證BIOS和OS Loader的完整性,驗證完畢并進行相應處理后,再將系統控制權重新交BIOS。BIOS啟動 OS Loader,在 OS Loader中驗證 OS Kernel的完整性,從而構建出計算機啟動階段的信任鏈。

圖2 RTD工作流程

RTD的軟件部分固化在EEPROM中,它主要由3個部分組成,初始化模塊、可信驗證模塊及TCM可信服務。

1.2.1 初始化模塊

初始化模塊是一段按照PCI協議和BIOS啟動規(guī)范實現的擴展ROM代碼。它要保證計算機啟動過程中能夠被正常加載、執(zhí)行。

這部分要考慮兩個問題,首先是兼容性問題,不同廠商不同版本BIOS的啟動過程不盡相同,初始化模塊應盡可能支持更多的BIOS;另外進行可信驗證時需要訪問硬盤以獲得所需數據對象(比如OS Loader等),要保證此時BIOS提供的相關中斷服務已準備好。

1.2.2 可信驗證模塊

可信驗證模塊的主要功能是實現對BIOS和OS Loader的完整性驗證,構建系統信任鏈。完整性驗證的過程是調用TCM提供的服務計算BIOS和OS Loader的哈希值,并與預先存儲的基準值對比。如果一致,則認為完整性未遭破壞,繼續(xù)啟動系統;不一致,則提醒用戶。

該模塊的關鍵是能正確獲得BIOS和OS Loader的代碼文件。

1.2.3 TCM 可信服務

TCM可信服務是可信驗證模塊與信任根設備通信的接口。通過該接口,可信驗證模塊將待驗證數據提交給信任根設備,并接收由信任根設備返回的哈希值。由于TCM芯片自身性能的限制,當數據量較大時,使用TCM芯片計算校驗值速度很慢,大大增加系統啟動時間。該模塊采取軟硬件相結合的方式加快校驗速度,從而縮短系統引導時間。

2 軟件部分實現

初始化模塊由匯編語言實現,運行在保護模式;可信驗證模塊和TCM可信服務由C語言實現。

2.1 初始化模塊

2.1.1 擴展ROM的映像文件格式

PCI局部總線協議提供了一種機制,供掛載在PCI總線上的設備嵌入特定的初始化代碼,這部分代碼以映像文件形式存儲在擴展ROM(expansion ROM)中。

擴展ROM中的映像文件通常需要包含PCI擴展ROM頭標、PCI數據結構和文件映像,如圖3所示。擴展ROM頭標為位于整個映像文件開始處的兩個字節(jié),作為判斷是否為ROM文件的標識,必須是0xAA55[3]。

圖3 擴展ROM映像文件格式

不同廠商不同版本BIOS的實現不盡相同,比如出于安全方面的考慮,可能會禁止執(zhí)行某些設備的擴展ROM映像文件。為了增強RTD的兼容性,需要在擴展ROM的頭部添加PNP擴展頭。包含PNP擴展頭的擴展ROM稱為PNP擴展ROM。帶有PNP擴展ROM的設備可以是PCI設備(稱為PCI/PNP擴展ROM)或者ISA設備,這種設備通常被稱為PNP卡[4]。PCI/PNP擴展ROM頭部格式如表1所示。

2.1.2 擴展ROM代碼的加載與執(zhí)行

BIOS認為 PNP卡是一個IPL(initial program load)設備,IPL設備即操作系統的載體設備,比如floppy drives、CD-ROM drives、hard drives等,一旦檢測到IPL設備,會立即執(zhí)行其擴展ROM中的映像文件[4]。檢測和初始化IPL設備是BIOS POST階段的重要任務。

計算機系統加電后,首先執(zhí)行BIOS的加電自檢代碼(power on self test,POST),在此過程中,BIOS遍歷PCI總線上的設備,如果這個設備的配置空間中包含擴展ROM基地址寄存器,則BIOS檢查擴展ROM的頭兩個字節(jié)是否是0xAA55,如果是,則認為有擴展ROM存在。BIOS在擴展ROM地址空間中通過PCI數據結構中的code Type域查找合適的映像文件(可能存在多種CPU架構的映像),然后把擴展ROM中找到的映像文件拷貝到系統內存,并執(zhí)行。

表1 PCI/PNP擴展ROM頭部格式

2.1.3 擴展ROM對磁盤的訪問

RTD在驗證OS Loader的完整性時,需要訪問磁盤以獲得OS Loader文件。通常,系統底層利用INT 13中斷服務訪問磁盤。然而,BIOS在POST過程中,當PCI/PNP擴展ROM初始化映像文件執(zhí)行時,INT 13中斷服務有可能尚未準備就緒,故這時候不宜通過INT13操作磁盤。

RTD采用掛鉤INT19中斷的方式來解決這一問題。當BIOS完成必要的初始化工作之后,會調用INT 19中斷來啟動OS Loader引導操作系統。通過掛鉤INT 19中斷,能在BIOS調用該中斷時,第二次獲得系統控制權,而此時所有中斷服務安裝完畢,可以使用INT 13中斷服務方便的訪問磁盤。

綜上所述,RTD的執(zhí)行流程如下:BIOS的POST階段檢測到PCI/PNP擴展ROM頭標,執(zhí)行初始化模塊,RTD第一次獲得系統控制權,掛鉤INT 19中斷,然后把系統控制權轉交還給BIOS;BIOS完成自檢工作,調用INT19中斷,RTD再次獲得系統控制權,它將可信驗證模塊從ROM拷貝到內存,并跳轉到可信驗證模塊起始處,開始對BIOS和OS Loader進行完整性驗證,驗證完畢后恢復中斷向量表中INT 19中斷的原始地址,并調用INT 19中斷繼續(xù)系統引導。

2.2 可信驗證模塊

可信驗證模塊分別對BIOS和OS Loader進行完整性驗證。

2.2.1 BIOS完整性驗證

BIOS完整性驗證的目標數據,包括BIOS的代碼文件和配置信息。在x86體系架構中,BIOS代碼文件存儲在EEPROM或Flash ROM中,稱為BIOS ROM。除非重新刷新BIOS的代碼文件,否則代碼文件一般不會改變,也不應該改變。BIOS配置信息保存在CMOS中,主板為其提供電池,以保證存放在里面的數據不丟失。CMOS是主板上的一個RAM,CMOS RAM中存放一些基本系統數據,如實時時鐘和系統配置信息,這些配置信息對于系統安全性至關重要,因此也應納入驗證范圍。

BIOS ROM直接與CPU相連,CPU能夠直接從它獲得代碼和數據。在地址空間分配上,DRAM被編址在低位,從0x0開始的CPU地址空間。而BIOS ROM通常被編址在CPU地址空間的最高部分,這是因為加電后CPU執(zhí)行的第一條指令總是在高位,在有32位地址的系統中,物理地址為0xFFFFFFF0;在有36位地址的系統中,為0xFFFFFFFF0[5]。系統加電后,先執(zhí)行BIOS ROM中的初始化代碼,此時BIOS處于實模式,CPU通過設置CS段寄存器,使BIOS能正常在高位ROM空間運行。進行必要的初始化后,BIOS將功能代碼解壓到1MB以內的DRAM中,然后進行跳轉,CS寄存器清0,運行時存儲空間轉到DRAM中[6]。

CMOS大小通常為128字節(jié)或256字節(jié),其中每個字節(jié)保存的數據有相應的約定,可以根據約定排除不需要進行完整性校驗的部分,比如時鐘和重啟標志位。時鐘每次開機都不一樣,如果將時鐘也納入完整性校驗范圍,則每次啟動都會校驗失敗。重啟標志位會導致每次重啟校驗失敗,不能正確反映系統的完整性。通過訪問70h~73h這4個I/O端口可以訪問CMOS RAM。

2.2.2 OS Loader完整性驗證

RTD支持的OS Loader為開源引導器GRUB。選用開放源代碼的引導器,便于添加對OS Kernel的可信驗證功能。GRUB既能引導Windows系統,又能引導Linux系統,便于OS Loader對這兩種OS Kernel的可信驗證與加載。OS Loader一般存儲在磁盤上,可信驗證模塊根據GRUB在磁盤上的鏈式存儲結構,通過調用BIOS的INT13中斷訪問磁盤,并獲得目標文件進行驗證。

2.3 TCM可信服務

TCM可信服務包括TCM驅動和可信服務兩部分。TCM驅動負責與TCM芯片通信,向TCM發(fā)送命令和接受數據;可信服務負責與上層模塊進行通信,如TCM啟動、自檢、哈希值計算相關等接口。

RTD采用國民技術的TCM芯片,該芯片采用兼容標準8051指令集的8位CPU內核,計算能力有限。在不計算傳輸消耗的情況下,采用SM3算法計算哈希值的速率是1Mbps左右,也就是說計算1M字節(jié)的數據理論上至少需要8s,啟動時間耗時較長。

RTD通過軟硬件相結合的二級計算方式可以有效提高哈希值的計算效率,計算過程如圖4所示。進行完整性驗證時,首先將需要驗證的數據輸入到軟件實現的SHA1算法,得到20字節(jié)的校驗值,接著將該校驗值再送到TCM芯片中利用SM3硬算法進行計算,得到最終的32字節(jié)校驗值。

另外,安全性方面,由于校驗值的計算是在固件層,運行環(huán)境相對簡單,不會出現軟件校驗時的計算過程被打斷,中間值被攔截篡改等情況,并不會給系統帶來新的安全隱患。

圖4 二級校驗機制

3 實驗與分析

RTD的測試主要有兩個方面,功能測試和兼容性測試。

首先為功能測試,RTD在系統啟動過程中能正常的構建出系統啟動過程的信任鏈,完成BIOS自驗證、BIOS對OS Loader的完整性驗證以及OS Loader對OS Kernel的完整性驗證,報告驗證結果,如果驗證失敗,則提醒用戶,用戶選擇是否啟動系統;驗證成功正常啟動系統,達到預期目標。在整個系統啟動過程中,增加的時間消耗在2s以內。

兼容性測試,即測試RTD對于不同廠商不同版本BIOS的兼容性。測試選用了品牌電腦 HP Compaq dc7700(BIOS顯示為786E1V01.10)、PCI總線版本為2.0和BIOS為 Award Bios V6.0、PCI總線版本為3.0的計算機中分別進行了部署和測試,能夠被正常加載和啟動,并完成預期功能。

4 結束語

RTD將可信模塊芯片與擴展ROM部署在同一塊PCI卡上,以BIOS插件的形式,在擴展ROM中完成對BIOS和OS Loader的完整性驗證。這種實現方式在硬件和軟件方面進行少量的變動,即可在一臺無任何可信軟硬件基礎的計算機上部署可信模塊芯片,并且構建出計算機啟動階段的信任鏈,為將普通計算機改造為可信計算機提供了新的技術途徑。

事實上,RTD采用的硬件部分既可以是PCI卡,也可以是PCIe卡。而且,RTD的軟件部分也能夠以BIOS模塊的形式刷新到BIOS中,從而省去PCI擴展ROM。新一代BIOS規(guī)范——統一可擴展固件接口UEFI(unified extensible firmware interface)發(fā)展迅猛,基于 UEFI的可信計算技術和RTD值得進一步深入研究。

[1]ZHANG Huanguo,HE Yanxiang,ZHAO Bo,et al.Research and development of the trusted computing of China [J].Communications of the CCF,2010,6(9):8-14(in Chinese).[張煥國,何炎祥,趙波,等.我國可信計算研究與發(fā)展 [J].中國計算機學會通訊,2010,6(9):8-14.]

[2]WANG Jiangshao,YU Zong,LI Guang.Study of trusted chain technology of computing trusted [J].Computer Engineering &Design,2005,29(9):2195-2198(in Chinese).[王江少,余綜,李光.可信計算之信任鏈技術研究 [J].計算機工程與設計,2005,29(9):2195-2198.]

[3]PCI-SIG.PCI Firmware specification 3.0 [EB/OL]. [2005-06-20].http://www.pcisig.com/specification/conven-ional/pci_firmware/.

[4]Compaq Computer Corp,phoenix Technologies Ltd,Intel Corp.BIOS boot specs [EB/OL].[1996-01-11].http://www.scs.stanford.edu/nyu/04fa/lab/specsbbs101.

[5]Intel Corp.Intel?64and IA-32Architectures software developer’s manual volume 3a[EB/OL].http://www.intel.com/products/processor/manuals/,2011.

[6]CHEN Wenqin.Bios inside [M].Beijing:Tsinghua University Press,2001(in Chinese).[陳文欽.BIOS研發(fā) 技 術 剖 析[M].北京:清華大學出版社,2001.]

[7]UEFI.UEFI specification version 2.3.1 [EB/OL].http://www.uefi.org/specs/,2011.

[8]Trusted computing group.TCG.PC client specific TPM interface specification [EB/OL]. [2005-07-11].https://www.trustedcomputinggroup.org/home/.

[9]SUN Dayong.The applied research in the hard disk protective technology based on PCI bus [D].Hefei:Hefei University of Technology,2009(in Chinese). [孫大勇.基于PCI的硬盤保護技術的應用研究 [D].合肥:合肥工業(yè)大學,2009.]

[10]Intel Corp.Intel?64Architectures X2APIC specification [EB/OL].http://www.Intel.com/product-s/proce ssor/manuals/,2008.

[11]Intel Corp.Intel?64and IA-32architectures software developer’s manual volume 3b [EB/OL].http://www.intel.com/products/processor/manuals/,2011.

[12]Trusted Computing Group.TCG.TCG specification architecture overview version 1.4[EB/OL].https://www.trustedcomputinggroup.org/home/,2007.

[13]Paul.Stoffregen.Understanding FAT32filesystem [EB/OL]. [2009-10-20].Http://www.pjrc.com/tech/8051/ide/fat32.html.

[14]SHEN Changxiang,ZHANG Huanguo.Research and development of the trusted computing [J].Science China,2010,40(2):139-166(in Chinese).[沈昌祥,張煥國.可信計算的研究與發(fā)展 [J].中國科學,2010,40(2):139-166.]

[15]YIN Yongsheng,HU Yonghua,ZHOU Ganmin.Implementation of PCI expansion ROM mechanism [J].Computer Engineering and Application,2005,41(10):101-103(in Chinese).[尹勇生,胡永華,周干民.PCI擴展ROM機制的實現方法 [J].計算機工程與應用,2005,41(10):101-103.]

猜你喜歡
設備系統
諧響應分析在設備減振中的應用
Smartflower POP 一體式光伏系統
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
基于VB6.0+Access2010開發(fā)的設備管理信息系統
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
500kV輸變電設備運行維護探討
主站蜘蛛池模板: 97se亚洲综合| 亚洲无码高清一区| 亚洲中文精品人人永久免费| 日韩精品一区二区三区中文无码 | 91福利一区二区三区| 日韩欧美国产精品| 婷婷久久综合九色综合88| 亚洲精品无码av中文字幕| 激情综合婷婷丁香五月尤物| 九色视频在线免费观看| 不卡午夜视频| 激情综合网激情综合| 青青草国产在线视频| 亚洲一区第一页| 亚洲黄色高清| 最新国产网站| 国产特一级毛片| 国产在线第二页| 日韩成人午夜| 99精品在线看| 91久久天天躁狠狠躁夜夜| 日韩大乳视频中文字幕| 久久99国产综合精品1| 久久综合AV免费观看| 美女一级毛片无遮挡内谢| 亚洲成人手机在线| 无码中字出轨中文人妻中文中| 亚洲av色吊丝无码| 亚洲精品国产自在现线最新| 欧美午夜性视频| 91国内在线观看| 一级毛片无毒不卡直接观看| 亚洲av无码牛牛影视在线二区| 久久久精品国产SM调教网站| 噜噜噜久久| 少妇极品熟妇人妻专区视频| 日韩av电影一区二区三区四区| 在线视频亚洲欧美| 国产门事件在线| 欧美精品在线观看视频| 久青草免费在线视频| 亚洲天堂网视频| 在线高清亚洲精品二区| 天天爽免费视频| 久久综合五月婷婷| 国产极品嫩模在线观看91| 香蕉精品在线| 亚洲欧洲日产国产无码AV| 色成人亚洲| 亚洲天堂视频网站| 777午夜精品电影免费看| 好紧太爽了视频免费无码| 成人午夜免费观看| 亚洲av成人无码网站在线观看| 无码精品福利一区二区三区| 精品超清无码视频在线观看| 黑人巨大精品欧美一区二区区| 国产黄色爱视频| 婷婷综合亚洲| 欧美精品成人一区二区在线观看| 免费亚洲成人| 国产成人久视频免费| 大陆精大陆国产国语精品1024| 免费国产好深啊好涨好硬视频| 亚洲中字无码AV电影在线观看| 国产小视频a在线观看| 国产无遮挡裸体免费视频| 国产精品部在线观看| 国产主播在线观看| 欧美日韩成人在线观看| 久久亚洲中文字幕精品一区| 久久久亚洲色| 波多野结衣在线se| 性网站在线观看| 国产成人精品综合| 无码国产偷倩在线播放老年人| 99久久成人国产精品免费| 在线观看网站国产| 亚洲一区二区精品无码久久久| 国产精品嫩草影院视频| 亚洲日本中文字幕乱码中文| 日本一本正道综合久久dvd|