1 可信計算的主要規(guī)范文檔
TCG體系結(jié)構(gòu)總體規(guī)范(ArchitectureOverview) 總體上說明了與可信計算相關(guān)的內(nèi)容。包括:定義了可信計算目標,可信計算應(yīng)用場景,TCG(Trusted Computing Grounp)架構(gòu)-即從平臺無關(guān)角度全局上闡述了可信平臺模塊TPM(Trusted Platform Module)的架構(gòu),功能,主要模塊,工作原理,密鑰管理方式等。介紹了基于TPM的可信軟件棧TSS(TrustedSoftware Stack)的使用和應(yīng)用場景,TPM命令的授權(quán)協(xié)議。 可信平臺模塊規(guī)范(TrustedPlatform Module Specifications) Parts1-4 闡述了TPM的體系結(jié)構(gòu),各個部件的功能,設(shè)計規(guī)范,TPM內(nèi)部所通訊的數(shù)據(jù)結(jié)構(gòu),TPM底層執(zhí)行的命令規(guī)范。主要包括三個標準:TPM Main-Part 1 DesignPrinciples-即TPM的設(shè)計原則。 TPM Main Part 2 TPM Structures-即TPM編程中使用的數(shù)據(jù)結(jié)構(gòu). TPM Main Part 3 Commands-TPM命令說明。 軟件棧規(guī)范(TSSSpecifications) TSS可以理解為方便可信應(yīng)用使用TPM功能的軟件中間件,向上層應(yīng)用提供一些標準APT接口,屏蔽底層TPM編程實現(xiàn)細節(jié)。該標準說明了軟件棧包括內(nèi)容和作用,以及接口規(guī)范。其中從上到下包括:TCGService Provider (TSP),TCG Core Services (TCS),TCG Device Driver Library (TDDL),TCG DeviceDriver (TDD),以及每層模塊的接口使用方式。相當于是一個可信應(yīng)用的標準API。 基礎(chǔ)框架規(guī)范(InfrastructureSpecifications) 提高TCG相關(guān)技術(shù)的互操作性,側(cè)重于可信系統(tǒng)的開發(fā)、配置、互操作性方面。 個人計算機客戶端規(guī)范(PCClient Specifications) 具體對于PC,TPM的相關(guān)規(guī)范,主要說明了TPMInterface Specification (TIS)。如果使用PC做可信計算的開發(fā),需要參照該文檔。但是這僅是一個規(guī)范標準,具體還要參照TPM的生產(chǎn)商的規(guī)范和實現(xiàn)方式。
另外如果需要做可信的遠程驗證,則需要參考IWG(Infrastructure Work Group)標準:TCG TrustedNetwork Connect TNC Architecture for Interoperability。其標準文檔系列如下圖所示。 2 TCG架構(gòu)注意,這里的架構(gòu)是平臺獨立的,可以用于PC,PDA,移動電話等。 1.1 可信平臺的基本特征TPM平臺基本的特色,包括三個方面:一個可信平臺要達到可信的目標,最基本的原則就是必須真實報告系統(tǒng)的狀態(tài),同時決不暴露密鑰和盡量不表露自己的身份。TCG規(guī)定一個可信的平臺需要三個必要的基礎(chǔ)功能:保護能力(ProtectedCapabilities),完整性度量、存儲和報告(Integrity Measurement,Storage and Reporting),證明能力(Attestation Capabilities ) 1.1.1 保護能力(Protected Capabilities):以可信的方式執(zhí)行計算和安全的存儲數(shù)據(jù)保護能力是唯一被許可訪問保護區(qū)域(shieldedlocations)的一組命令。保護區(qū)域是能夠安全操作敏感數(shù)據(jù)的地方(比如內(nèi)存,寄存器等)。 TPM實現(xiàn)了保護能力和被保護區(qū)域,可以用來保護和報告完整性度量(稱作平臺配置寄存器:PCRs,這種寄存器位于TPM內(nèi)部,僅僅用來裝載對模塊的度量值,大小為160bits)。 TPM保護能力還有許多的安全和管理功能,比如密鑰管理、隨機數(shù)生成、將系統(tǒng)狀態(tài)值封印(seal)到數(shù)據(jù)等。這些功能使得系統(tǒng)的狀態(tài)任何時候都處于可知,同時可以將系統(tǒng)的狀態(tài)與數(shù)據(jù)綁定起來。 1.1.2 證明能力(AttestationCapabilities ):確認信息正確性的過程外部實體可以通過該功能驗證保護區(qū),保護功能指令,和可信根。也可以驗證平臺完整性。通過證明,可以完成網(wǎng)絡(luò)通信中身份的認證,而且由于引入了PCR值,在身份認證的同時還鑒別了通訊對象的平臺環(huán)境配置。 證明可以在不同層次進行: 基于TPM(Attestation by the TPM)的證明是一個提供TPM數(shù)據(jù)的校驗操作,這是通過使用AIK對TPM內(nèi)部某個PCR值的數(shù)字簽名來完成的,AIK是通過唯一秘密私鑰EK獲得的,可以唯一地確認身份;AIK由私有CA使用或者一個可信的驗證協(xié)議。 針對平臺(Attestation to theplatform)的證明則是通過使用平臺相關(guān)的證書或這些證書的子集來提供證據(jù),證明平臺可以被信任以作出完整性度量報告; 基于平臺(Authentication of theplatform)的證明通過在TPM中使用AIK對涉及平臺環(huán)境狀態(tài)的PCR值進行數(shù)字簽名,提供平臺完整性度量的證據(jù)。 1.1.3 完整性度量、存儲和報告(IntegrityMeasurement, Storage and Reporting)完整性的度量是一個過程,包括:獲得一個關(guān)于平臺的影響可信度的特征值(metrics),存儲這些值,然后將這些值的摘要放入PCRs中。 通過計算某個模塊的摘要同期望值的比較,就可以維護這個模塊的完整性。 在TCG的體系中,所有模塊(軟件和硬件)都被納入保護范圍內(nèi),假如有任何模塊被惡意感染,它的摘要值必然會發(fā)生改變,使我們可以知道它出現(xiàn)了問題。 另外,平臺BIOS及所有啟動和操作系統(tǒng)模塊的摘要值都將存入特定的PCR,在進行網(wǎng)絡(luò)通信時,可以通過對通信方PCRs值的校驗確定對方系統(tǒng)是否可信(即是否感染了病毒、是否有木馬、是否使用盜版軟件等)。靜態(tài)的可信根(SRTM)從一個已知狀態(tài)開始度量。動態(tài)可信根(DRTM)從一個不可信狀態(tài)度量度量到一個可信狀態(tài)的轉(zhuǎn)移過程。 完整性報告則是用來證明完整性存儲的過程,展示保護區(qū)域中完整性度量值的存儲,依靠可信平臺的的鑒定能力證明存儲值的正確性。 TPM本身并不知道什么是正確的值,它只是忠實地計算并把結(jié)果報告出來。這個值是否正確還需要執(zhí)行度量的程序本身通過度量存儲日志(Stored Measurement Log,SML)來確定。 此時的完整性報告使用AIK簽名,以鑒別PCR的值。 |
|