專利名稱:擴展完整性測量的制作方法
擴展完整性測量
背景技術:
計算實體之間的交互的重要考慮是信任——外來計算實體是將以可靠且可預測的方式表現,還是將(或者已經)經受破壞。組成可信計算組織(TCG)的公司已經開發了可信系統,其包含采取至少在邏輯上被保護以免于破壞的硬件可信組件(或設備)形式的可信實體。TCG開發了此領域中的規范,例如“TCG TPM規范”版本1. 2,其在TCG網站https://www.trustedcomputinggroup.org/上公布。并且,還有TCG移動電話規范(移動可信模塊(MTM)規范),其使得能夠在移動平臺上實現可信計算,所述MTM規范是在著眼于與移動設備相關聯的特定需要和限制的情況下開發的。可信系統的隱含可信組件使得能夠實現可信系統的測量,并且然后能夠以完整性度量的形式將這些提供給希望與可信系統相交互的適當實體。接收實體然后能夠根據所測量的完整性度量與已知或預期值的一致性來確定可信系統正在如預期的那樣操作。可信組件的原始設計規則中的一個是它們能夠被廉價地生產。這導致可信組件能和不能做什么方面的許多權衡。例如,可信組件至少最初不具有實時可信時鐘且沒有對稱密碼引擎。這兩個特征在主流計算中是相對標準的,但并不被認為是用于可信組件的基礎規范所必需的(并且對于該基礎規范而言過于昂貴)。隨著新代次的可信組件被規定,可以預期,越來越多的功能將被自然地添加——隨著技術進步和成本降低——例如,如在從TCG規范的版本1.1前進至1. 2的情況下已經存在的那樣。將始終存在可信組件應該和不應該執行哪些功能方面的權衡。因此,用一般化命令來替換可信環境中的專用命令可以導致改善的資源利用,這可以帶來較低的成本和較高的效率,這例如在移動計算環境中是特別有價值的。
現在將以非限制性示例的方式參考現有技術和本發明的實施例的附圖來描述本發明的實施例,在所述附圖中
圖1是圖示出示例性現有技術計算平臺的示意 圖2是指示存在于現有技術可信計算平臺的母板上的功能元件的方框 圖3是指示圖2的可信計算平臺的現有技術可信實體(在該實例中,為可信設備)的功能元件的方框 圖4是圖示出將值擴展至圖2的可信設備的平臺配置寄存器中的已知現有技術過程的流程 圖5是圖示出現有技術可信計算平臺中的可傳遞信任的原理的流程 圖6是圖示出已知完整性質詢/響應過程的流程 圖7是圖示出與諸如可信設備的可信實體相關聯的密鑰分級結構的方框 圖8是運行管理程序(hypervisor)且提供多個隔離可信操作系統環境的另一現有技術可信計算平臺的功能方框 圖9是根據本發明的實施例的可信設備和關聯的外部策略引擎的功能方框圖,可信設備使用所述關聯的外部策略引擎來對從進行請求的應用接收到的各安全操作請求執行策略;
圖10是根據本發明的實施例的由可信設備使用外部策略引擎制定的可信過程的流程圖;以及
圖11是根據本發明的另ー實施例的可信設備和三個關聯的外部策略引擎的功能方框圖,可信設備使用所述三個關聯的外部策略引擎來對從進行請求的應用接收到的安全操作請求執行三個相應的策略。
具體實施例方式完整性度量通常將包括可信系統所使用的軟件的測量。這些測量通常可以組合地用來指示可信系統的狀態或可信狀態。通常將以“摘要(digest)”——使用散列算法對所測量數據進行散列以產生固定大小結果的結果的形式,來記錄這些測量。可以將此類摘要組合到可信組件的“平臺配置寄存器”(PCR)中,可信組件一般將具有專用于特定目的的多個PCR。在某些可信計算組織規范中,還講授了用于將數據“密封”到特定平臺狀態的機制——這具有將所密封數據加密成不能預測的“不透明ニ進制大對象(opaque blob)”的結果,其包含至少部分地從平臺上的軟件的測量導出的值。所指出的測量包括軟件的摘要,因為摘要值將在對軟件進行任何修改時改變。根據依照TGC規范的可信組件的最一般策略,僅在如果可信組件測量當前平臺狀態并發現其在不透明ニ進制大對象中由(ー個或多個)相同的值來表示吋,才可以在可信組件之外釋放此所密封數據。鑒于此過程,當想到對可信平臺的軟件或硬件配置進行合法變化、導致關聯的PCR值的變化時,可能需要同時開始管理過程,該管理過程在仍處于舊狀態的同時恢復所有所密封數據并將該數據重新密封到新的PCR值和各平臺狀態。當然,是否恢復并釋放數據還能夠取決于許多其他種類的策略,該策略取決于各操作的性質。 在描述本發明的實施例之前,將參考圖1至8來描述兩個現有技術可信計算平臺,以介紹稍后在描述本發明的實施例時所使用的某些術語和概念。所描述的現有技術可信計算平臺的特定細節(從下一段開始)并不意圖限制本發明的范圍,除非另外說明。應將本文所使用的術語“計算平臺”理解為涵蓋能夠執行計算且不限于計算機的任何設備。因此,包括移動電話和個人數字助理(PDA)的數字式蜂窩設備在術語“計算平臺”的范圍內,并且事實上特別相關,因為移動可信模塊的提供很可能將被結合在大多數現代移動電話中。另外,除非在上下文另外要求的情況下,本文中的術語計算平臺包括虛擬計算平臺環境,其基本上獨立于其他此類計算環境(例如相對于其他此類計算環境被封裝或劃分),所述計算環境全部存在于公共物理計算平臺上(在下文中給出此類環境的示例)。此外,在本上下文中,“信任”是設備將出于特定目的以特定方式表現的預期,并且“用戶”可以是本地用戶或諸如遠程計算實體之類的遠程用戶。
_7] 現有技術可信平臺的一般特性
可信計算平臺提供了可信任的平臺完整性測量和報告,并且為此具有多個被隔開位置(shielded location),亦即其中可安全地對敏感數據進行操作的地方(存儲器、寄存器等)。完整性測量是獲得平臺的完整性度量測量(亦即,影響平臺的完整性——可信任性的平臺特性的測量)并將該測量(在這里被取為涵蓋諸如摘要之類的衍生值)放入被隔開位置的過程;用TCG用語,把用于存儲完整性度量的被隔開位置稱為平臺配置寄存器或“PCR”且在下文中將使用此術語。保持在PCR中的值是可報告完整性度量值。完整性報告是以使記錄在PCR中的完整性度量與相關平臺相關聯的方式來證明這些完整性度量的過程。除被隔開位置之外,可信計算平臺還可以提供用于以加密形式安全地存儲數據并用于保證對此數據的訪問僅在命名環境中發生的可信任存儲。前述可信特征將通常涉及密碼函數的使用。用戶可以例如在與可信計算平臺交換數據之前,通過請求可信平臺提供一個或多個完整性度量,來驗證可信計算平臺的正確操作。用戶接收一個或多個完整性度量,并且將它們與其相信為真的值(這些值是由準備好保證平臺的可信任性的可信方“ TP”或由用戶愿意信任的另一方提供)進行比較。如果存在匹配,則含意是平臺的至少一部分正在正確地操作,取決于完整性度量的范圍。如果不存在匹配,則假設是整個平臺已經被破壞且不能被信任(除非采用隔離技術以限制什么不能信任的范圍)。一旦用戶已確定了該平臺的可信操作,則其與平臺交換數據。針對本地用戶,該交換可能是通過與在平臺上運行的某個軟件應用相交互。針對遠程用戶,該交換可能涉及安全交易。在任ー情況下,優選地由可信平臺來對所交換數據進行‘簽名’。用戶然后可以具有更大的信心——正在與其行為能夠被信任的平臺交換數據。所交換數據可以是關于在計算機平臺上運行的某些或所有軟件的信息。提供信任根的可信實體
為了對計算平臺賦予可信計算平臺的特性,必需為平臺提供某些固有地可信任的功能(共同地構成在本文中稱為“可信實體”的東西),其在物理上或在邏輯上綁定到平臺并連同計算平臺的元件一起操作以提供期望的可信特性(最低限度地,完整性測量和報告)。實際上,可信實體為平臺提供“信任根”,并且下面給出其示例。對于遵循TCG規范的可信平臺,可信實體是稱為可信平臺模塊(“TPM”)或可信移動模塊(“TMM”)的硬件組件或設備,其用于連同可信實體被綁定到的計算平臺的元件一起提供以下“信任根”
一用于測量的信任根(RTM),-RTM是能夠進行固有地可靠的完整性測量的計算引擎,并且通常是由所謂的用于測量的核心信任根(CRTM)所控制的普通平臺計算引擎(主處理器),用于測量的核心信任根(CRTM)是當其充當RTM時由平臺執行的指令。CRTM在邏輯上是上述可信實體的一部分,并且理想地會被包括在TPM中,但是由于成本原因,通常是由單獨ROM實現的。一用于存儲的信任根(RTS) —RTS是能夠在完整性測量摘要的值的PCR中保持準確的概要(smnmary)的計算引擎;RTS還可以提供“受保護存儲”,其用于保護作為不透明“ニ進制大對象”和‘密封’ / ‘開封’而被保持在外部存儲設備中的供RTS訪問的數據(常常是密鑰)免受特定環境侵害(如PCR值所指示的)。一用于報告的信任根(RTR) -RTR是負責建立平臺身份、報告平臺配置(PCR值)、保護所報告值和建立用于證明所報告值的上下文的計算引擎。RTR與RTS分擔保護測量摘要的責任。可以注意到的是,如上文所指示的,形成RTM的元件通常(但不一定)在可信模塊外面;相反,RTS和RTR —般是由可信模塊本身提供的。一般地,任何可信平臺將提供此類信任根(不過可能采取不同的概念布置)。
可以將可信實體體現為硬件設備(其可以包括程序控制的處理器)或者體現為軟件以便由平臺的主處理器執行(在這種情況下,其通常稱為‘虛擬’可信實體/設備或者在TPM/TMM的情況下為虛擬TPM/TMM)。實際上,一般在具有用于基本平臺環境的基本硬件可信實體但采用用于在平臺上創建的虛擬環境的另外的可信實體的平臺上提供虛擬可信實體。硬件可信實體通常在物理上被綁定于其與之相關聯的平臺,而軟件可信實體在邏輯上被綁定于其與之相關聯的平臺。當然,還可以將可信實體實現為硬件設備和意圖用于在平臺上執行的軟件的組合;其中,可以用生根于RTM中的信任鏈來確定軟件的可信任性。可信實體的功能可以分布在多個設備(在硬件實施例的情況下)之間或分布在多個代碼塊(在‘虛擬’實施例的情況下)之間。可信實體使用密碼過程,但不一定提供到那些密碼過程的外部接ロ。應在邏輯上保護可信實體免受其他實體侵害,其他實體包括它本身是其中一部分的平臺的其他部分。并且,最期望的實施方式為可信實體提供保護性特征,以通過使得由可信實體存儲或者正在由可信實體處理的秘密對于其他平臺功能而言不可訪問,來保護該秘密,并且提供對于未授權修改基本上免疫的環境。對于硬件實施例,可信實體因此優選地由防篡改的ー個物理組件組成。與防篡改有關的技術對于安全領域的技術人員而言是眾所周知的。這些技術包括用于防篡改的方法(諸如可信實體的適當封裝)、用于檢測篡改的方法(諸如可信實體外殼中的物理完整性的損失、X射線或規范電壓之外的檢測),以及用于在篡改很明顯時消除數據的方法。關于‘虛擬’可信實體,雖然軟件可能不會給予如硬件設備那樣高度的防篡改性,但這可以用附加保護措施來補償。例如,軟件代碼可以包括自測功能,以檢查可信功能的完整性。信仟鏈
通過平臺中的可信實體的存在所實現的可信任完整性測量和報告通常使得能夠在其他平臺組件或功能中給予信任,其他平臺組件或功能又執另外的平臺組件或功能的可信任完整性測量等等。擴展什么是可信任的邊界的此過程稱為“可傳遞信任”,并且可以視為建立生根于平臺的信任根中的信任鏈。因此,在典型示例中
一用于執行初始完整性測量的可信代碼(例如,TCG用語中的CRTM)用于測量OS加載器代碼的完整性度量以使得能夠對此代碼給予信任(如果該度量與預期值匹配的話);
-OS加載器代碼又確定用于操作系統代碼的完整性度量以使得能夠對操作系統給予ィ目任;
一操作系統又確定用于應用代碼的完整性度量以使得能夠對該應用給予信任。第一示例性現有技術可信平臺ー概述
在圖1中的圖中圖示出示例性可信平臺10。計算平臺10被示為所謂的個人計算機,并且在外觀上完全是常規的——其已經關聯了鍵盤14、鼠標16和視覺顯示単元(VDU)19的標準特征,這些標準特征提供平臺的物理‘用戶接ロ’。另外,平臺可以具有關聯的安全設備,諸如用于讀取智能卡19的智能卡讀取器17。此類安全設備為平臺提供制定雙因素認證的能力。附加或替換安全設備(未示出)可以包括生物計量讀取器,諸如指紋讀取器或虹膜讀取器。計算平臺10被布置成例如運行諸如Microsoft Windows XP的標準操作系統。可替換地,諸如移動電話之類的移動設備可以是可信平臺,并且應將在下文中對圖1中所描述的可信平臺的組件的引用視為包括諸如移動電話或PDA之類的移動設備中所存在的那些。因此,移動可信平臺可以包括用戶接ロ,其允許用戶控制正在討論中的設備,并且可以使用諸如觸摸屏、按鈕、操縱桿等之類的設備的多個控制機構中的一個來控制該設備。可以將適當的移動設備布置成運行任何數目的適當移動設備特定操作系統。如圖2中所示,可信計算平臺10的母板20包括(除了其他標準組件外)主處理器21、主存儲器22、在這里以可信設備24 (諸如硬件TMM)的形式體現的可信實體、數據總線26和各控制線27和地址線28、包含用于平臺10的BIOS程序的BIOS存儲器29、輸入/輸出(10)設備23,其控制母板的組件與設備的輸入/輸出機制之間的交互。主系統存儲器22通常是隨機存取存儲器(RAM)。可信設備24到設備母板上的安裝用于在物理上將其綁定于
\T7.ムIn。在重置之后,設備的主處理器適合于最初由CRTM代碼(其在本示例中包括存儲在可信設備24中的散列函數代碼)來控制,該CRTM代碼然后將控制移交給平臺特定的BIOS程序,該平臺特定的BIOS程序又正常地對所有輸入/輸出設備進行初始化。在已經執行BIOS程序之后,控制被BIOS程序正常地移交給操作系統程序。主處理器21最初是由CRTM代碼控制的,因為必需對將在可信平臺上執行的第一測量給予信任。CRTM代碼通常由于其出處而被至少部分地信任。如已指出的,主處理器21在處于CRTM控制下時形成“用于測量的信任根” RTM。通常,本情況下的RTM的ー個作用是,在其他測量代理被使用并且它們的測量依賴之前,來測量這些測量代理。RTM是用于上述“信任鏈”的基礎。請注意,RTM和后續測量代理不需要驗證后續測量代理它們僅僅在其執行之前對其進行測量和記錄。這稱為“認證的啟動過程”。可以通過將測量代理的摘要與有效測量代理的摘要的列表進行比較來識別有效測量代理。未列出的測量代理將不會被識別,并且由它們和后續測量代理進行的測量將被認為是可疑的。
示例性可信設備
現在將給出可信設備24的實施方式的進ー步細節,應理解的是可以在軟件可信實體(亦即,虛擬可信設備)中提供相應的功能。可信設備24包括多個塊,如在圖3中所示。如已經指出的,在系統重置之后,可信設備24參與認證的啟動過程以保證平臺10的操作狀態被以安全的方式記錄。在認證的啟動過程期間,可信設備24獲取計算平臺10的至少ー個完整性度量。可信設備24還可以執行安全的數據傳輸。可信設備24還可以安全地執行各種安全控制策略,諸如用戶接ロ的鎖定。具體地,本實施例中的可信設備24包括控制器30,其被編程為控制可信設備24的總體操作,并與可信設備24上的其他功能且與母板20上的其他設備相交互;測量功能31,其用于經由直接測量或可替換地間接地經由要在平臺的主處理器上執行的可執行指令,從平臺10獲取第一完整性度量;加密功能32,其用于對指定數據進行簽名、加密/解密;認證功能33,其用于對智能卡19進行認證;以及接ロ電路34,其具有用于將可信設備24分別連接至母板20的數據總線26、控制線27和地址線28的適當端ロ(36、37 & 38)。可信設備24中的每個塊可訪問(通常經由控制器20)可信設備24的適當易失性存儲區域4和/或非易失性存儲區域3。如已經描述的,可信設備24被以已知方式設計成防篡改的。由于性能原因,可以將可信設備24實現為專用集成電路(ASIC)。然而,為了靈活性,可信設備24可以是適當編程的微控制器。ASIC和微控制器兩者在微電子領域中是眾所周知的,并且在本文中將不會更詳細地考慮。可信設備24的非易失性存儲器3存儲特定于可信設備24的簽注密鑰(EK)對的私鑰355 (PRIVEK);優選地,非易失性存儲器3還存儲至少包含可信設備24的簽注密鑰對的公鑰351 (PUBEK)和由可信方(TP)測量的至少ー個平臺完整性度量的認證值352的證書350。在將證書350存儲在可信設備24中之前,由TP使用TP的私鑰對其進行簽名。在稍后的通信會話中,平臺10的用戶可以通過驗證證書上的TP的簽名來推斷公鑰屬于可信設備。并且,平臺10的用戶可以通過將ー個或多個獲取的完整性度量與真實完整性度量值(多個)352相比較來驗證平臺10的完整性。如果存在匹配,則用戶可以相信平臺10尚未被破壞。TP的一般可用公鑰的知識使得能夠實現證書350的簡單驗證。非易失性存儲器35還可以包含身份(ID)標簽353。ID標簽353是常規ID標簽,例如序號,其在某個上下文內是唯一的。ID標簽353 —般被用于對與可信設備24相關的數據編索引和加標簽,但是其本身不足以在可信條件下證明平臺10的身份。如已經指出的,可信設備24與平臺10的其他元件協作以可靠地獲取平臺的至少一個完整性度量。在本實施例中,通過使主平臺處理器執行存儲在可信設備24的非易失性存儲器3中的CRTM代碼354來獲取第一完整性度量;CRTM在被平臺處理器執行時在BIOS存儲器中生成BIOS指令的摘要并將其傳遞至測量功能以用于存儲。此類所獲取的完整性度量如果被如上所述地驗證則給平臺10的潛在用戶提供平臺10尚未在硬件或BIOS程序級別被破壞的高級別的置信度。可替換地,可以在可信設 備內提供測量引擎,并且使此引擎在平臺啟動(重置)時形成對BIOS代碼的完整性測量。在本示例中,測量功能31可訪問非易失性存儲器3 (用于訪問CRTM散列碼354)和易失性存儲器4 (用于存儲所獲取的完整性度量測量)。可信設備24具有有限存儲器,然而可能期望存儲關于大量完整性度量測量的信息。這是在可信計算平臺中完成的,如可信計算組織通過使用PCR 8a — Sn所描述的。可信設備24具有固定大小的多個PCR (與標準測量摘要相同的大小)一在平臺的初始化時,它們被設置為固定初始值。然后用圖4中所示的過程將完整性測量“擴展”至PCR中。將PCR 8i值與輸入41序連(concatenate) 43,其為將被擴展至PCR的完整性測量的值。然后對該序連進行散列42以形成新的160位值。此散列被反饋至PCR以形成相關完整性度量的新值。除了將完整性測量擴展到PCR中之夕卜,為了提供所執行測量的清楚歷史,還可以將測量過程記錄在常規日志文件中(其可以簡單地在計算機平臺的主存儲器中)。然而,出于信任目的,將依賴的是PCR值而不是軟件日
O很明顯,根據所需信任的范圍,存在可以用來計算初始完整性度量值的許多不同方式。BIOS程序的完整性的測量提供對平臺的底層處理環境的完整性的基本檢查。完整性度量測量應采取這樣的形式,即其將使得能夠實現關于啟動過程的有效性的推理一完整性度量的值可以用來驗證是否使用正確的BIOS啟動了平臺。可選地,BIOS內的単獨功能塊可以具有其自己的摘要值,全體(enSemble)BI0S摘要是這些単獨摘要的摘要。這使得策略能夠說明BIOS操作的哪些部分對于預定目的而言是關鍵的,以及哪些是無關的(在這種情況下,必須以能夠確定該策略下的操作的有效性的方式來存儲單獨的摘要)。
還可以注意的是,優選地,BIOS啟動過程包括用以驗證啟動過程本身的完整性的機制。從例如 Intel 的草案“Wired for Management baseline specification v 2. 0 -BOOT Integrity Service”已經了解此類機制,并且此類機制涉及在加載軟件或固件之前計算該軟件或固件的摘要。將此類所計算摘要與存儲在由可信實體提供的證書中的值相比較,該可信實體的公鑰是BIOS所知的。然后只有當所計算值與來自證書的預期值匹配時才加載軟件/固件,并且通過可信實體的公鑰的使用,該證書已被證明是有效的。否則,調用適當的異常處理例程。可選地,在接收到所計算的BIOS摘要之后,可信設備24可以檢查證書中的BIOS摘要的適當值,并且如果所計算摘要并不與該適當值匹配,則不將控制傳遞至BIOS—可以調用適當的異常處理例程。一旦已經由CRTM測量了 BIOS代碼、完整性度量測量被存儲于PCR且BIOS被加載,BIOS就優選地測量下ー個軟件組件(諸如OS加載器)并促使在加載該軟件之前將相應的完整性度量測量存儲在可信設備24中,等等(參見圖5);這樣,可以構建信任鏈(“可傳遞信任”)以包括操作系統和由其加載的應用,其中相應的完整性度量被存儲在可信設備24的PCR 中。可以執行其他完整性檢查,涉及程序代碼的測量和相應完整性度量測量在可信設備中的存儲;例如,可以將CRTM或BIOS布置成測量與SCSI控制器相關聯的BIOS程序以使得能夠信任與外圍設備的通信。還可以執行其他形式的完整性檢查,例如可以通過制定固定質詢/響應交互來驗證平臺上的存儲器設備或協處理器以保證一致的結果;這些檢查也可以引起完整性度量被存儲在可信設備24的PCR中。如從前述內容將清楚的,可以直接地通過測量代理來收集大量完整性測量或可以由RTM來間接地測量該大量完整性測量,并且這些完整性測量擴展至可信設備24的PCR中。這些完整性測量的某些ー常常是許多一將涉及可信平臺的軟件狀態。優選地針對每個平臺類型對如何分配PCR進行標準化。舉例來說,根據用于PC客戶端的TCG規范,PCR被劃分成兩個主要集合第一集合是針對平臺的預-OS環境指定的(PCR
),并且另一集合是針對平臺的OS指定的(PCR[8-15])。在這種情況下,預-OS PCR從平臺重置開始提供平臺的初始信任鏈;換言之,它們通過OS的IPL (初始程序加載)代碼從CRTM建立信任鏈。在其初始測量和加載之后對軟件組件的改變導致軟件組件被重新測量,并且結果得到的完整性測量將被傳遞至可信設備以擴展與該組件相關聯的PCR。如已經指出的,當用戶希望與平臺通信時,他使用質詢/響應例程來質詢可信設備24 (平臺的操作系統或適當軟件應用被布置成識別該質詢并將其傳遞至可信設備24,通常以適當的方式經由BIOS類型呼叫完成此)。可信設備24接收該質詢并基于所測量的一個或多個完整性度量來創建適當的響應-這可以被提供以給出(ー個或多個)預期完整性度量值的(ー個或多個)證書并進行簽名。這提供了足以允許由用戶進行驗證的信息。圖6更詳細地圖示出(例如,遠程平臺的)用戶可以用于驗證結合了可信設備24的可信平臺的完整性的總體過程。作為初始步驟,為可信平臺作擔保的可信方TP將已檢查了平臺的類型以決定是否為其作擔保。這將是策略的問題。如果全部都很好,在步驟600中,TP測量平臺的完整性度量352的值。然后,TP在步驟605中生成用于平臺的證書350。該證書是由TP通過將可信設備的公鑰(EKPUB)和可選地其ID標簽附加于所測量的完整性度量并用TP的私鑰來對該串簽名而生成的。在步驟610中,通過將證書30寫入可信設備24的適當非易失性存儲器位置來對可信設備14進行初始化。這優選地通過在可信設備14被安裝在母板10中之后的與可信設備14的安全通信來完成。該安全通信由只有TP知道的‘主密鑰’支持,該主密鑰在制造期間被寫入可信設備,并且用來實現數據到可信設備24的寫入;在沒有主密鑰的知識的情況下,數據到可信設備14的寫入是不可能的。在平臺操作期間的某一稍后的點處,例如當可信設備24被接通或重置時,在步驟615中,可信設備24獲取平臺的一個或多個完整性度量并將其存儲在其PCR中。當用戶希望與平臺通信時,在步驟620中,他創建諸如隨機數字之類的隨機數,并且在步驟625中質詢可信設備24。該隨機數用來保護用戶免于由不可信平臺的舊的但真實的簽名的重放引起的欺詐(稱為“重放攻擊”)。提供隨機數并驗證響應的過程是眾所周知的“質詢/響應”過程的示例。在步驟630中,可信設備24接收質詢并創建所測量完整性度量(PCR值)、隨機數以及可選地其ID標簽中的ー個、某些或全部的序連。然后,在步驟635中,可信設備24使用其私鑰EK對該序連進行簽名,并將已簽名序連連同證書一起返回給用戶。在步驟640中,用戶接收質詢響應并使用TP的眾所周知的公鑰來驗證該證書。用戶然后在步驟650中從證書提取可信設備24的公鑰并將其用來對來自質詢響應的已簽名序連進行解密。然后,在步驟660中,用戶驗證質詢響應內部的隨機數。接下來,在步驟670中,用戶將其從質詢響應提取的所報告PCR值與其從證書提取的(ー個或多個)真實平臺完整性度量值相比較。如果在步驟645、655、665或675中,前述驗證步驟中的任何ー個失敗,則整個過程在步驟680中結束而不發生進ー步的通信。將認識到的是,用于PCR的真實值可以被質詢者以任何適當的方式獲得(例如,直接從可信方),并且不需要通過存儲在TPM中的證書來提供這些真實值。假設在步驟685和690中,一切都是令人滿意的,則用戶和可信平臺使用其他協議來建立用于其他數據的安全通信,其中,優選地由可信設備24對來自平臺的數據進行簽名。步驟620至675組成證明協議(質詢者可以用來基于TPM簽名的PCR值對平臺進行查驗的程序)。實際上,通常(但不一定)在至少兩個領域中增強了該證明協議
首先,作為TPM在步驟635中使用其私有簽注密鑰PRIVEK的替代,其使用作為所謂的證明身份密鑰(AIK)對的一部分的短期私鑰;其原因是,如果僅采用EK,其就能夠用來鏈接涉及TPM的交易,這從保密性觀點出發通常是不期望的。因此,優選地將TPM布置成生成一連串的AIK,AIK中的每ー個被可信方擔保為屬于有效TPM (可信方通過為AIK的公共部分提供已簽名證書來為AIK作擔保)。其他機制(諸如‘直接匿名證明’)可以替換地用來提供TPM匿名性。其次,TPM不僅報告ー個或多個PCR值,而且報告所進行的測量的日志。此日志(稱為所存儲測量日志,SML)是由TPM創建的,用以按照進行測量的次序來全面地記錄所進行的完整性測量;與由作為這些測量的摘要的PCR值提供的相比,這提供了關于什么軟件已被加載到平臺上的大得多的可見性。SML占用比PCR值更多的存儲器,并且因此不被存儲在TPM中;然而,并不要求SML的安全存儲。質詢者在接收到SML時可以用用于相關軟件的真實值來檢查其包含的測量值(這些真實值是以任何適當方式獲得的);假設測量值檢驗合格(check out),然后它們可以用來計算用于所報告PCR的預期值。然后比較預期值和所報告PCR值,并且如果它們匹配,則對平臺狀態進行查驗。SML的使用不僅提供更大的透明度,而且提供更高的效率,因為在任何給定環境中需要的真實測量值的數目(例如,用于可加載的每個軟件模塊中的ー個)明顯小于可以得到的PCR值的潛在數目(因為后ー個數目不僅取決于所加載軟件模塊的可能組合數目,而且取決于其加載次序)。受保護存儲——對數據進行密封/開封
如上文所指出的,諸如可信設備24之類的可信實體可以包括提供用于將數據(通常為密鑰或ロ令)密封到被保持在可信實體外面的不透明ニ進制大對象的‘受保護存儲’機制的可信功能(RTS),所述ニ進制大對象隨后只有當平臺處于特定(可信)狀態時才是可訪問的。此狀態是在密封時由ー些或全部PCR的值的摘要指定的。為了將數據ニ進制大對象開封,必須從PCR的當前值形成相同摘要。如果新摘要并不與不透明ニ進制大對象中的摘要相同,則用戶不能恢復數據。現在將描述實現可信設備24中的受保護存儲的ー種方法。如圖7所示,在這種方法中,將受保護存儲實現為存儲數據對象的節點的分級結構(樹)72,其根是被永久地存儲在可信設備24中(且不從其釋放)的存儲根密鑰(SRK) 71。除SRK之外,可以將樹72存儲在可信設備外面的正常存儲器74中。當使用或披露節點中的信息時,節點被可信設備操縱。樹中的每個中間節點對象被樹中的在其上面的節點對象(父節點)中的密鑰所加密,一直返回至SRK根節點;在圖7中,在SRK下面示出了兩個級別,即存儲密鑰Kl-1至K1-3的第一級別和存儲密鑰K2-1和K2-2的第二級別,每個密鑰的加密性質是由環繞影線環指示的。每個密鑰具有希望利用該密鑰的實體必須在可信設備允許使用密鑰之前呈現給可信設備24 (或者,更準確地,在不披露值的 情況下在體現證明該值的知識的策略的協議中使用)的相關聯授權值。樹中的中間節點將始終是密鑰,但是葉節點可以是任意數據(但是其常常也將是密鑰,諸如供應用進程在保護批量數據時使用的對稱密鑰)。樹中的密鑰一般可以是“可遷移的”或“不可遷移的”。可以將可遷移密鑰開封并傳遞至其他可信設備;因此可以存在多個副本。可以將可遷移密鑰用于對來自特定用戶的電子郵件進行簽名,并且可以例如存在于用戶的工作和家用計算機兩者上。此類密鑰可能是由可信設備或由在可信設備外面的任何其他應用或設備生成的,不存在關于私鑰的起源或可信任性的保證,并且不存在用于使可信設備確定用于可遷移密鑰的預定目的地是否安全且可靠的容易方式。由特定可信設備產生不可遷移密鑰且其并不意圖在該設備外面披露;其僅為該可信設備所知,并且因此固有地是安全的,但在可信設備之間不是可移動的。不可遷移密鑰用來例如證明可信實體的身份。另ー類密鑰是已證明可遷移密鑰(“CMK”,由TGC規范的版本1.2定義)。CMK是介于不可遷移密鑰與可遷移密鑰之間的ー種密鑰。CMK是可遷移的,但是在ー個操作模式下,如果來自可信組件的所有者和各遷移選擇權カ機構(MSA)的許可被認證為特殊CMK遷移協議的一部分——這是由存儲CMK的相應可信設備執行的,CMK只能從ー個平臺遷移至另ー個。因此,CMK是可在可信設備之間移動的且是相對安全的。按照慣例,期望的是,將不可遷移密鑰存儲在存儲分級結構樹的ー個或多個分支中并將可遷移密鑰存儲在不同的分支中,從而使得可信設備管理不同類別的密鑰相對簡単。可以將CMK存儲在其他分支中。對于可信平臺的每個用戶,可以復制(對于不同類別的密鑰的使用不同分支的)此布置,使得僅僅屬于ー個用戶的密鑰被存儲在每個分支中。第二示例性現有技術可信平臺
假設針對操作系統和由操作系統加載的應用記錄了完整性度量,則上述可信平臺10使得用戶能夠檢查平臺的狀態并決定是否信任它。如果操作系統已經運行不被第一用戶信任(但可能被不同的用戶信任)的應用,則第一用戶可以通過檢查相關PCR檢測到這一點(甚至在應用已經終止之后)。然而,在這種情況下,對于上述可信平臺,用于針對第一用戶重建對平臺的信任的唯一方式是使平臺被重新啟動。此缺點在平臺用來運行支持多個計算環境的分隔式操作系統的情況下倍増,因為除非適當的措施就位,否則在任何環境中運行不可信應用都要求重新啟動平臺以重建信任。其解決方案是提供ー種硬件/軟件架構,其使得能夠將核心軟件(BI0S&操作系統/管理程序)與較高級別的軟件隔離,使得如果后者不被信任,則只需從核心軟件重建信任(假設后者是被信任的)。在核心軟件支持多個計算環境的情況下,然后假設后者被相互隔離,則可以重新啟動不可信環境,而不重新啟動核心軟件或由其支持的其他計算環境。此夕卜,在支持多個計算環境的情況下,為每個此類環境提供相應的可信實體(通常是虛擬可信設備)是方便的。現在將參考圖8來簡要地描述支持多個隔離計算環境的示例性可信平臺80。在通過引用結合到本文中的美國公開專利申請US 2005/0223221中可以找到各種形式的此類可信平臺的更全面描述。圖8中所示的可信平臺80具有一個或多個平臺處理器81和與先前所述可信設備24類似但是其中形成CRTM的代碼在單獨ROM 83中的硬件可信設備82。以與上文針對平臺10和可信設備24所述等同的方式,在平臺重置之后,由主平臺處理器81中的一個來運行CRTM代碼以確定用于BIOS代碼(例如存儲在與CRTM相同的ROM 83中)的完整性度量并將該度量傳遞至可信設備82以便插入PCR中。其后,加載BIOS 84,BIOS又在加載安全核85之前測量并在可信設備82中記錄安全核代碼的完整性度量;安全核85然后在加載管理程序86 (也稱為虛擬機監視程序)之前測量并在可信設備82中記錄管理程序代碼的完整性度量。實際上,通常將記錄更多的完整性度量并加載中間代碼模塊。元件81至85形成平臺80的可信計算基800。也可以將管理程序86視為可信計算基的一部分,附帯條件是針對諸如管理程序86之類的任何復雜程序,雖然可以驗證平臺上的管理程序代碼與參考版本相同,但非常難以保證參考版本本身并不具有任何安全弱點。管理程序86使得能夠提供多個操作系統環境,每個在被與其他操作系統環境隔離的其自己的分區中;在圖8中,舉例來說,示出了三個操作系統環境88A、88B和88C,每個在其自己的相應分區87A、87B、87C中;可以將每個分區布置成在不同的平臺處理器81上執行,從而改善隔離程度。管理程序86使得能夠實現且保護分區之間和與外面世界的通信。按照需要,應用在操作系統環境中的適當的一個中運行;在這種情況下,示出了在操作系統環境88A中運行的一個應用801。可以通過使用提供多個特權級別的主平臺處理器來提供分區的隔離的附加/替換保證。在這種情況下,BIOS 84和安全核85例如在主平臺處理器81的最特權級別運行,而管理程序86在主平臺處理器81的第二最特權級別運行。所有其他代碼在較低特權級別運行(應用通常在低于操作系統環境的級別的最低特權級別運行),因此提供了 BIOS 84、安全核85和管理程序86與潛在不可信代碼的隔離。將認識到的是,實際上,每個分區87A、87B、87C提供虛擬計算平臺環境,該虛擬計算平臺環境基本上獨立于其他此類計算環境(例如相對于其他此類計算環境被封裝或分隔)。對于用戶而言,此類環境看起來與標準的獨立式計算平臺完全相同的方式表現,甚至下至重新啟動平臺的能力其中,虛擬計算平臺的重新啟動操作僅重新啟動相關分區中可用的資源(換言之,重新啟動操作將不會對其他虛擬計算平臺具有任何影響)。在本示例中,每個分區87A、87B、87C具有其自己的關聯虛擬可信設備89A、89B、89C (雖然在圖8中在每個分區中示出,但虛擬可信設備在邏輯上是安全核的一部分,并且對于具有特權級別的主處理器,虛擬可信設備可以在與安全核相同的特權級別或在単獨分區中運行)。硬件可信設備82負責存儲用于虛擬設備和相關可信功能(諸如虛擬RTM)的代碼的完整性度量。其后,分區的虛擬可信設備89負責記錄和報告用于相關操作系統環境及其正在運行的任何應用的完整性度量。每個虛擬可信設備具有其自己的(ー個或多個)AIK以便對其完整性度量報告進行簽名;此類AKI是由可信實體(其可以是硬件可信設備82)基于由用于可信計算基的設備82報告的完整性度量和虛擬可信設備代碼而發布的。與給定分區中的應用有關的完整性度量的全面報告是以下各項的組合
一由硬件可信設備簽名的用于可信計算基和虛擬可信設備代碼的完整性度量;以及 一由相關虛擬可信設備簽名的應用及其操作系統環境的完整性度量。將認識到的是,由平臺80提供的隔離使必須被重啟以重建對任何特定分區的信任的軟件最小化。還將認識到的是,具有用于可信計算基800的一個硬件可信設備82和每個分區一個虛擬可信設備的布置僅僅是許多可能性之中的ー個,該許多可能性包括僅僅具有用于整個平臺的單個硬件或虛擬可信設備。—般而言,本發明的實施例使得可信實體能夠將用于執行策略的責任委托給外部策略引擎可信實體外面的意義上的外部,例如在同一可信平臺上或在遠程平臺上。因此,可以在可信設備內不要求顯著的附加資源的情況下執行甚為復雜的策略,從而使得可信設備能夠保持相對廉價。策略引擎可以涉及可信實體內部的密鑰的使用、秘密從可信實體的釋放、密鑰從可信實體(密鑰至可信實體)的遷移。事實上,可以將所述原則應用于要求策略執行的任何可信過程。本發明的實施例信賴于這樣的認識即,默認地,使用密鑰和秘密的應用就緒,宣稱策略;亦即,何時使用密鑰或秘密。例如,如果密鑰將被環境中的應用軟件使用或者秘密被可信實體披露給環境中的應用軟件,則可以在與該應用相同的程度上保護該環境中的其他軟件。因此,在可信實體(策略引擎)外面的軟件可以用來在由應用進行密鑰使用或秘密披露之前應用任意復雜的策略。在未提供硬件可信模塊的設備中,可以提供用于執行如上所述的相同任務的軟件核。例如,在其中成本和/或空間非常重要的某些設備中,可能期望用軟件來實現信任模塊。因此,移動可信模塊(MTM)是形成供在移動和嵌入式設備中使用的TCG規范的一部分的安全元件。MTM的實現是作為軟件功能而不是硬件的物理實現而提供的。移動電話例如通常將包含多個MTM,其全部提供與現有TPM類似的功能,但其中的某些具有附加功能以將電話的數個部分引導到預置狀態。ー個 MTM 命令是“MTM_VerifyRMCertAndExtend” (RIM =參考完整性度量),其使得能夠在嵌入式平臺中實現與非嵌入式平臺中的TCG的局部性授權等同的功能。此命令使用第一公鑰來驗證PCR值上的所簽名證書加上要被擴展至所述PCR中的測量。如果驗證成功,并且證書中的PCR值與當前在MTM中的那些相同,則來自證書的測量被MTM擴展至所述PCR中。在使用第一公鑰之前對第一公鑰本身進行驗證。可以通過將其與存儲在MTM中的值相比較來對其進行驗證。可以通過使用通過將第二公鑰與存儲在MTM中的值相比較而被驗證的第二公鑰來檢查第一公鑰上的簽名,來驗證第一公鑰。可以將該方法一般化至使用公鑰分級結構的任何深度以便驗證證書,其中,通過將分級結構的根與存儲在TPM中的值相比較來對其進行驗證(以某種期望方式)。因此,當由MTM_VerifyRIMCertAndExtend命令發起PCR更新時,用由命令中的密鑰句柄所指示的所加載驗證密鑰來檢查外部RM證書上的簽名。如果簽名匹配,并且前提條件、計數值等效值和PCR內容也匹配,則用在RM證書中所述的值來更新給定PCR。在圖9中,可信實體是可信硬件設備90,其被示為被附著于可信存儲器92 (例如,系統RAM或普通硬盤),可信存儲器92包含受保護存儲分級結構94,如上所述。可信設備90與進行請求的應用96和策略引擎98進行通信。圖9中的布置根據圖10中的流程圖進行操作。參考圖10,進行請求的應用96與可信設備90通信[步驟100]并讓可信設備執行某種安全操作(例如,對例如密鑰、ロ令等秘密進行釋放、接收或以某種方式進行操作)。出于本示例的目的,假設請求是釋放存儲在ニ進制大對象中的秘密。可信設備90接收該請求并從可信存儲器92恢復ニ進制大對象[步驟105]。接下來[步驟110],可信設備90生成包括授權值(authValue)的質詢,其被傳遞至所識別策略引擎98且被其接收[步驟115]。可信設備90還保持authValue的副本以用于將來的比較目的。在該簡單實施例中,authValue包括新生成的隨機數(隨機數字)。策略引擎98和進行請求的應用96相交互[步驟120和125]以便以適當的方式執行策略,通常驗證除進行請求的應用96所固有的任何授權或認證之外的授權和/或認證。附加授權和/或認證可以采取各種形式。例如,其可以包括由控制該進行請求的應用96的用戶將ロ令輸入到圖形用戶界面彈出框,或智能卡19的使用,和用戶進行的關聯ロ令的輸入。如果該進行請求的應用96 (以及潛在地控制該進行請求的應用的用戶)未經認證[步驟130],則將策略視為不令人滿意且過程結束[步驟135]。如果進行請求的應用96(和控制該進行請求的應用的任何用戶)被認證[步驟130],則將策略視為令人滿意且策略引擎98將authValue傳遞至進行請求的應用96,該進行請求的應用96接收authValue [在步驟140中]。隨后[步驟145],該進行請求的應用96將authValue傳遞至可信設備90且可信設備將接收到的authValue與所存儲副本[步驟150]相比較以便對請求進行認證。如果接收到的authValue并不與所存儲副本匹配,則過程結束[步驟135]。然而,如果接收到的authValue與所存儲副本匹配,則可信設備90接受該策略一定已被滿足并向該進行請求的應用釋放秘密[步驟160]。圖11中的圖舉例說明了圖9中所示方案的替換方案。 在圖11中,附圖標記與在圖9中相同,除存在兩個附加策略引擎98’和98’’之外。在該實例中,來自進行請求的應用96的請求要求在可信設備90將釋放秘密之前三個不同的策略被滿足。因此,可信設備90可以在ー個或多個ニ進制大對象中存儲每個策略引擎的身份。在本示例中,可信設備90生成三個不同的質詢(每個策略引擎ー個質詢),其中,每個質詢包括不同的authValue (隨機數),并且將每個隨機數密封到各策略引擎的測量。如果進行請求的應用96滿足每個策略,則每個策略引擎將其各自的隨機數轉送至進行請求的應用96。如果進行請求的應用96能夠將正確數目和形式的隨機數發送至可信設備90,則可信設備相信策略一定已經被滿足,并且向進行請求的應用96釋放秘密。如所指出的,在需要執行多個策略的情況下,如在圖11中所示的方案中,用于姆個策略引擎的姆個質詢可以包含不同的authValue。作為存儲姆個單獨authValue的副本的替代,可信設備90可以使用‘秘密共享’來將多個authValue (或authValue份額)組合成單個authValue,例如通過對AuthValue份額一起取“異或”91并存儲結果得到的authValue。當進行請求的應用96從策略引擎接收到姆個authValue份額時(當然,假設其滿足每個策略),則其還可 以將各份額一起取“異或”98成單個authValue,其將該authValue傳遞至可信設備90。可信設備90然后可以在單個比較操作中將接收到的authValue與所存儲authValue相比較。可以通過記錄在policyHash寄存器(類似于PCR寄存器)中來將響應ー個接ー個地組合,即用來驗證每個響應的方法。然后將policyHash寄存器的最終內容與例如目標密鑰中的PolicyDigest值相比較。如果它們是相同的,則密鑰的使用已經例如經由策略機制被授權。TCG的TPM工作組已經定義了授權方法,其使得能夠實現除其他算子之外的布爾與等式的構造和驗證,其中,該等式中的每ー項表示對數據的操作。如果操作成功地完成,則表示該操作的某些數據被以與對PCR執行的擴展過程類似的方式擴展至稱為policyHash的策略寄存器中。如果policyHash的內容與存儲在諸如TCG的密鑰中的ー個之類的對象內的PolicyDigest匹配,則認為對該對象的操作被批準。因此將來自授權方法的命令稱為‘策略命令’,因為該方法可以用來驗證與對象相關聯的策略。可以使用授權方案、具體地通過使用三個命令來執行實現MTM_VerifyRIMCertAndExtend命令的功能的方法1.策略命令,其提供PCR的列表加上測量值,并且使TPM將該列表加上所列PCR的當前值加上意圖被擴展的PCR擴展至policyHash中。2.策略命令,其驗證先前策略命令中的被擴展至policyHash中的值[的摘要]上的簽名,并且(如果驗證成功)使TPM將驗證密鑰加上其為驗證密鑰的指示擴展至policyHash 中。3.策略命令,其將先前策略命令中的被擴展至policyHash中的值[的摘要]與存儲在TPM中的值相比較,并且(如果它們是相同的)使TPM將所存儲值加上其為存儲值的指示擴展至policyHash中。命令(I)和(2)和(3)使得能夠消除專用VerifyRIMCertAndExtend命令。要使用三級公鑰分級結構對針對PCR的擴展操作進行授權所采取的步驟的示例如下
(i)在策略會話開始時使用命令(I)。被擴展至policyHash寄存器中的值是等同于VerifyRIMCertAndExtend證書的內容的值,除實際測量值之外。
(ii)使用命令(2)以使用第一驗證公鑰來驗證該證書值是預期值。被擴展至policyHash寄存器中的值是[第一]驗證公鑰加上其為驗證密鑰的指示。(iii)使用命令(2)以使用第二驗證公鑰來驗證在先前命令中使用的[第一]驗證公鑰是預期值。被擴展至policyHash寄存器中的值是當前[第二]驗證公鑰加上其為驗證密鑰的指示。(iv)使用命令(2)以使用第三公鑰來驗證在先前命令中使用的[第二 ]驗證公鑰是預期值。被擴展至policyHash寄存器中的值是當前[第三]驗證公鑰加上其為驗證密鑰的指示。(v)使用命令(3)以驗證在先前命令中使用的[第三]驗證公鑰是預期值。被擴展至policyHash寄存器中的值是在先前命令中所使用的[第三]驗證公鑰加上其為所存儲值的指示。根據實施方式,無論公鑰分級結構的深度如何,都要求步驟(i) (ii)和(V)。如果公鑰分級結構是ー級,則不要求步驟(iii )和(iv)。如果公鑰分級結構是僅僅兩級,則不要求步驟(iv)。如果公鑰分級結構大于三級,則要求步驟(iii)或(iv)的附加復制。因此,提供了專用MTM_VerifyRIMCertAndExtend命令的消除和由一般化命令進行的其替換。
權利要求
1.一種通過使用一組策略命令來擴展在可信平臺中操作的可信設備中的完整性測量的方法,該方法用于 將用于該設備的平臺配置寄存器(PCR)的列表及所列PCR的當前值和標識完整性測量的完整性值擴展至策略寄存器中; 驗證被擴展至策略寄存器中的完整性值上的簽名,并且如果驗證成功,則將可信平臺的驗證密鑰加上其為驗證密鑰的指示擴展至策略寄存器中; 將被擴展至策略寄存器中的完整性值與存儲在可信平臺中的值相比較,并且如果它們是相同的 將所存儲值加上其為所存儲的值的指示擴展至策略寄存器中;以及如果策略寄存器中的值與和完整性測量一起存儲的值匹配,則擴展可信設備中的完整性測量。
2.如權利要求1所述的方法,其中,所述完整性測量是PCR的內容。
3.如權利要求1所述的方法,其中,所述可信平臺是嵌入式可信平臺。
4.如權利要求1所述的方法,其中,擴展PCR的列表在策略會話開始時使用策略命令。
5.如權利要求1所述的方法,其中,被擴展至策略寄存器中的完整性值是等同于可信平臺環境中的專用證明和擴展證書的內容的值。
6.如權利要求1所述的方法,其中,使用第一驗證公鑰來執行對簽名進行驗證。
7.如權利要求6所述的方法,其中,被擴展至策略寄存器中的值是第一驗證公鑰加上其為驗證密鑰的指示。
8.如權利要求6所述的方法,還包括 使用第二驗證公鑰來驗證在先前命令中所使用的第一驗證公鑰是預期值。
9.如權利要求8所述的方法,其中,被擴展至策略寄存器中的值是第二驗證公鑰加上其為驗證密鑰的指示。
10.一種控制對對象的訪問的方法,包括 將第一值結合到特權值中; 將第二值結合到特權值中,其中,第二值描述成功地對第一值進行驗證的方法;以及 當特權值與和對象一起存儲的值匹配時,提供對對象的訪問。
11.一種在可信平臺中操作的設備,該設備包括用于通過使用一組策略命令通過以下操作來擴展設備中的完整性測量的處理器 將用于該設備的平臺配置寄存器(PCR)的列表及所列PCR的當前值和標識完整性測量的完整性值擴展至策略寄存器中; 驗證被擴展至策略寄存器中的完整性值上的簽名,并且如果驗證成功,則將可信平臺的驗證密鑰加上其為驗證密鑰的指示擴展至策略寄存器中; 將被擴展至策略寄存器中的完整性值與存儲在可信平臺中的值相比較,并且如果它們是相同的 將所存儲值加上其為所存儲的值的指示擴展至策略寄存器中;以及如果策略寄存器中的值與和完整性測量一起存儲的值匹配,則擴展可信設備中的完整性測量。
全文摘要
一種通過使用一組策略命令來擴展在嵌入式可信平臺中操作的可信設備中的完整性測量的方法,該方法用于將用于該設備的平臺配置寄存器(PCR)的列表及所列PCR的當前值和標識完整性測量的完整性值擴展至策略寄存器中,驗證被擴展至策略寄存器中的完整性值上的簽名,并且如果驗證成功,則將可信平臺的驗證密鑰加上其為驗證密鑰的指示擴展至策略寄存器中,將被擴展至策略寄存器中的完整性值與存儲在可信平臺中的值相比較,并且如果它們是相同的將所存儲值加上其為所存儲的值的指示擴展至策略寄存器中,并且如果策略寄存器中的值與和完整性測量一起存儲的值匹配,則擴展可信設備中的完整性測量。
文檔編號G06F9/44GK103038745SQ201180035623
公開日2013年4月10日 申請日期2011年5月12日 優先權日2010年5月21日
發明者G.J.普勞德勒, L.陳 申請人:惠普發展公司,有限責任合伙企業