對TCG的概要分析和對TPM的學習(一)

(YOUXIANG:lichunwen1987ATqq。com)

參考TCG Specification Architecture Overview 1.4 。http://www.trustedcomputinggroup.org/ 檢索TCG Specification Architecture Overview

1      可信計算的主要規範文檔

 

 

Ø  TCG體系結構總體規範(ArchitectureOverview)

總體上說明了與可信計算相關的內容。包括:定義了可信計算目標,可信計算應用場景,TCG(Trusted Computing Grounp)架構-即從平臺無關角度全局上闡述了可信平臺模塊TPM(Trusted Platform Module)的架構,功能,主要模塊,工作原理,密鑰管理方式等。介紹了基於TPM的可信軟件棧TSS(TrustedSoftware Stack)的使用和應用場景,TPM命令的授權協議。

Ø  可信平臺模塊規範(TrustedPlatform Module Specifications) Parts1-4

闡述了TPM的體系結構,各個部件的功能,設計規範,TPM內部所通訊的數據結構,TPM底層執行的命令規範。主要包括三個標準:TPM Main-Part 1 DesignPrinciples-即TPM的設計原則。 TPM Main Part 2 TPM Structures-即TPM編程中使用的數據結構. TPM Main Part 3 Commands-TPM命令說明。

Ø  軟件棧規範(TSSSpecifications)

TSS可以理解爲方便可信應用使用TPM功能的軟件中間件,向上層應用提供一些標準APT接口,屏蔽底層TPM編程實現細節。該標準說明了軟件棧包括內容和作用,以及接口規範。其中從上到下包括:TCGService Provider (TSP),TCG Core Services (TCS),TCG Device Driver Library (TDDL),TCG DeviceDriver (TDD),以及每層模塊的接口使用方式。相當於是一個可信應用的標準API。

Ø  基礎框架規範(InfrastructureSpecifications)

提高TCG相關技術的互操作性,側重於可信系統的開發、配置、互操作性方面。

Ø  個人計算機客戶端規範(PCClient Specifications)

具體對於PC,TPM的相關規範,主要說明了TPMInterface Specification (TIS)。如果使用PC做可信計算的開發,需要參照該文檔。但是這僅是一個規範標準,具體還要參照TPM的生產商的規範和實現方式。

 

另外如果需要做可信的遠程驗證,則需要參考IWG(Infrastructure Work Group)標準:TCG TrustedNetwork Connect TNC Architecture for Interoperability。其標準文檔系列如下圖所示。

 

2      TCG架構

注意,這裏的架構是平臺獨立的,可以用於PC,PDA,移動電話等。

1.1  可信平臺的基本特徵

TPM平臺基本的特色,包括三個方面:一個可信平臺要達到可信的目標,最基本的原則就是必須真實報告系統的狀態,同時決不暴露密鑰和儘量不表露自己的身份。TCG規定一個可信的平臺需要三個必要的基礎功能:保護能力(ProtectedCapabilities),完整性度量、存儲和報告(Integrity Measurement,Storage and Reporting),證明能力(Attestation Capabilities )

1.1.1   保護能力(Protected Capabilities):以可信的方式執行計算和安全的存儲數據

  保護能力是唯一被許可訪問保護區域(shieldedlocations)的一組命令。保護區域是能夠安全操作敏感數據的地方(比如內存,寄存器等)。

  TPM實現了保護能力和被保護區域,可以用來保護和報告完整性度量(稱作平臺配置寄存器:PCRs,這種寄存器位於TPM內部,僅僅用來裝載對模塊的度量值,大小爲160bits)。

  TPM保護能力還有許多的安全和管理功能,比如密鑰管理、隨機數生成、將系統狀態值封印(seal)到數據等。這些功能使得系統的狀態任何時候都處於可知,同時可以將系統的狀態與數據綁定起來。

1.1.2   證明能力(AttestationCapabilities ):確認信息正確性的過程

  外部實體可以通過該功能驗證保護區,保護功能指令,和可信根。也可以驗證平臺完整性。通過證明,可以完成網絡通信中身份的認證,而且由於引入了PCR值,在身份認證的同時還鑑別了通訊對象的平臺環境配置。

  證明可以在不同層次進行:

  基於TPM(Attestation by the TPM)的證明是一個提供TPM數據的校驗操作,這是通過使用AIK對TPM內部某個PCR值的數字簽名來完成的,AIK是通過唯一祕密私鑰EK獲得的,可以唯一地確認身份;AIK由私有CA使用或者一個可信的驗證協議。

  針對平臺(Attestation to theplatform)的證明則是通過使用平臺相關的證書或這些證書的子集來提供證據,證明平臺可以被信任以作出完整性度量報告;

  基於平臺(Authentication of theplatform)的證明通過在TPM中使用AIK對涉及平臺環境狀態的PCR值進行數字簽名,提供平臺完整性度量的證據。

1.1.3   完整性度量、存儲和報告(IntegrityMeasurement, Storage and Reporting

  完整性的度量是一個過程,包括:獲得一個關於平臺的影響可信度的特徵值(metrics),存儲這些值,然後將這些值的摘要放入PCRs中。

  通過計算某個模塊的摘要同期望值的比較,就可以維護這個模塊的完整性。

  在TCG的體系中,所有模塊(軟件和硬件)都被納入保護範圍內,假如有任何模塊被惡意感染,它的摘要值必然會發生改變,使我們可以知道它出現了問題。

  另外,平臺BIOS及所有啓動和操作系統模塊的摘要值都將存入特定的PCR,在進行網絡通信時,可以通過對通信方PCRs值的校驗確定對方系統是否可信(即是否感染了病毒、是否有木馬、是否使用盜版軟件等)。靜態的可信根(SRTM)從一個已知狀態開始度量。動態可信根(DRTM)從一個不可信狀態度量度量到一個可信狀態的轉移過程。

  完整性報告則是用來證明完整性存儲的過程,展示保護區域中完整性度量值的存儲,依靠可信平臺的的鑑定能力證明存儲值的正確性。

  TPM本身並不知道什麼是正確的值,它只是忠實地計算並把結果報告出來。這個值是否正確還需要執行度量的程序本身通過度量存儲日誌(Stored Measurement Log,SML)來確定。

  此時的完整性報告使用AIK簽名,以鑑別PCR的值。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章