欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

安全引導(dǎo)方法和安全引導(dǎo)裝置的制作方法

文檔序號:6349368閱讀:291來源:國知局
專利名稱:安全引導(dǎo)方法和安全引導(dǎo)裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及以有保證的方式啟動部件的安全引導(dǎo)(boot)方法和安全引導(dǎo)裝置, 并且本發(fā)明具體地涉及啟動可選部件的安全引導(dǎo)方法和安全引導(dǎo)裝置。
背景技術(shù)
例如在非專利文獻(xiàn)1和非專利文獻(xiàn)2中的新方案描述了如何以有保證并且可信的方式啟動設(shè)備。這些方法已經(jīng)被全面地評估,以確保在整個(gè)引導(dǎo)過程中始終保持可信和安全,因此為那些希望實(shí)施能夠安全引導(dǎo)的設(shè)備的人們提供有用的基準(zhǔn)。該安全引導(dǎo)過程的關(guān)鍵部件為RIM證書。這是一種定義當(dāng)前預(yù)期的平臺狀態(tài)應(yīng)當(dāng)是什么的簽名結(jié)構(gòu)(signed structure),該簽名結(jié)構(gòu)由一組平臺配置寄存器(PCR)的散列來表示,該組平臺配置寄存器本身包含已知的公共定義的散列值。這些PCR用作可以被記錄在RIM證書中以定義期望的機(jī)器狀態(tài)的完整性測量。此外,如果當(dāng)前狀態(tài)被驗(yàn)證,則RIM證書還指定要被擴(kuò)展的PCR。 該擴(kuò)展過程得到指定的PCR,并且基于與在RIM證書內(nèi)定義的新的已知值連結(jié)的先前PCR值來計(jì)算新的散列值。TCG定義的典型安全引導(dǎo)順序開始于核心部件(例如用于驗(yàn)證和測量的可信根(RTV+RTM))、MTM本身和關(guān)聯(lián)的核心MTM接口部件的初始化和自驗(yàn)證。接下來,支持固件其它部分的附加部件以可信方式啟動,例如,每個(gè)附加部件在它們啟動時(shí)由在它們之前已經(jīng)被引導(dǎo)的另一部件進(jìn)行驗(yàn)證。并且最終操作系統(tǒng)運(yùn)行,從而為訪問MTM服務(wù)的客戶應(yīng)用提供安全和可信的路徑。然而,規(guī)范是嚴(yán)格的,僅提供單個(gè)控制路徑,盡管引導(dǎo)過程導(dǎo)致徹底成功或者導(dǎo)致徹底失敗。換言之,如果一個(gè)部件的引導(dǎo)過程失敗了,則所有其它部件都不可以被使用,即使它們自己的引導(dǎo)過程成功。此外,考慮諸如移動電話等便攜式設(shè)備具有有限的資源,TCG規(guī)范提供了用于審核的工具。雖然它們定義了這些審核的特征對于MTM是可選的,但是這產(chǎn)生了下文所示的問題。如上所述,雖然該特征只是一個(gè)可選項(xiàng),但是在該特征的引導(dǎo)過程中的失敗使得移動電話的所有部件都不能被使用。此外,雖然該特征不是必須實(shí)施的(因?yàn)槠涫沁x項(xiàng)),但是在不實(shí)施該特征的情況下,驗(yàn)證經(jīng)常失敗。這使得對于其它過程更難以檢測在引導(dǎo)過程中為什么存在失敗或在引導(dǎo)過程中哪里存在失敗。此外,設(shè)備制造商可能希望提供某些可信的部件作為選項(xiàng)。在此,可選的部件表示例如在用戶進(jìn)入附加契約之后能夠被啟用的系統(tǒng)或應(yīng)用軟件。在此,“啟用(或激活)”表示將應(yīng)用軟件的狀態(tài)改變?yōu)橛脩裟軌蜻\(yùn)行該應(yīng)用軟件的狀態(tài)。除非軟件被啟用了,否則用戶不可以使用該系統(tǒng)或應(yīng)用軟件,即使該系統(tǒng)或應(yīng)用軟件本身是預(yù)裝在機(jī)器中的或從服務(wù)器下載的。如上所述,可選部件是否被啟用可以由每個(gè)用戶的決定來確定。因此,用于向機(jī)器發(fā)送更新的RIM證書的服務(wù)器將知道對于每個(gè)機(jī)器哪些部件被啟用,從而發(fā)送對應(yīng)于已啟用部件的更新的證書。另外,在很多市場中,對服務(wù)提供商存在下列法定的要求允許用戶即使是利用沒有當(dāng)前服務(wù)契約的移動電話或在具有當(dāng)前服務(wù)契約的區(qū)域之外的移動電話來進(jìn)行緊急呼叫。在具有MTM的電話上,證書的撤銷或非關(guān)鍵部件的損壞導(dǎo)致電話可能完全無法操作,從而不能滿足該法定的要求。在專利文獻(xiàn)1中,公開了一種具有可選部件的驗(yàn)證引導(dǎo)方法,但是可選部件是根據(jù)明確的開關(guān)來實(shí)施的;并沒有考慮如何處理當(dāng)處理可選部件時(shí)發(fā)生的錯(cuò)誤,例如部件程序文件損壞或硬件初始化失敗。在專利文獻(xiàn)2中,公開了一種具有可能使驗(yàn)證失敗的部件的驗(yàn)證引導(dǎo)方法,但是其并未教導(dǎo)如何解決該問題。因此,需要一種將在由TCG移動電話工作組定義的安全引導(dǎo)的環(huán)境內(nèi)支持可選部件的方法,并且即使一些RIM證書(RIM Cert)被撤銷或者部件禁用或不起作用,該方法仍將以簡化功能的方式操作,并且在安全引導(dǎo)結(jié)束之后該方法允許一種用于確定MTM狀態(tài)的較容易、較少占用繁重資源的方法。因此,進(jìn)一步需要的是,一種用于在不需要為每個(gè)機(jī)器制作一組定制的更新證書的情況下對被啟用或禁用的部件進(jìn)行更新的機(jī)器和服務(wù)器。引用列表專利文獻(xiàn)[專利文獻(xiàn)1]美國專利申請2005/0138414[專利文獻(xiàn)2]美國專利6,477,648非專利文獻(xiàn)[非專利文獻(xiàn) l]The Trusted Computing Group ‘ s (TCG)Mobile Trusted Module(MTM) documents TCG Mobile Reference Architecture, H 1. 0 fk, 2007 ^6^ 12
曰[非專利文獻(xiàn) 2]TCG Mobile Trusted Module Specification,第 1.0 版,2OO7 年 6月12日

發(fā)明內(nèi)容
技術(shù)問題雖然背景技術(shù)描述了根據(jù)單個(gè)定義的順序進(jìn)行引導(dǎo)的方式,但是它并沒有建議如果一個(gè)非關(guān)鍵的部件失敗或不存在時(shí)做什么。此外,僅僅為整個(gè)安全引導(dǎo)過程記錄失敗狀態(tài),而不是為各個(gè)部件記錄失敗狀態(tài)。結(jié)果,對于每個(gè)角色,在需要RIM證書的情況下,僅僅單個(gè)一個(gè)是可用的。因此,存在的一個(gè)未滿足的需求是一種系統(tǒng)和方法,其在仍然維持將要引導(dǎo)的設(shè)備的安全性和可信性的情況下允許定義多個(gè)用于安全引導(dǎo)的執(zhí)行順序,從而在該設(shè)備上能夠?qū)崿F(xiàn)對可選的和失敗的部件的支持,并且具有該系統(tǒng)和方法是非常有用的。此外,存在的一個(gè)未滿足的需求是一種系統(tǒng)和方法,其除了上文所述之外,還記錄在安全引導(dǎo)系統(tǒng)內(nèi)的每個(gè)個(gè)體部件的成功或失敗,從而使用戶能夠在安全引導(dǎo)完成之后確定安全環(huán)境的狀態(tài),并且具有該系統(tǒng)和方法是非常有用的。此外,存在的一個(gè)未滿足需求是一種系統(tǒng)和方法,其除了上文所述之外,還允許對于每個(gè)角色使用多個(gè)RIM證書,從而在仍然維持該設(shè)備的安全性和可靠性的情況下使可選
5部件能夠被支持,并且具有該系統(tǒng)和方法是非常有用的。問題的解決方案根據(jù)本發(fā)明的方面的方法是一種執(zhí)行根據(jù)完整性測量可驗(yàn)證的軟件部件的方法, 該方法包括a)提供從邏輯標(biāo)識符到軟件部件啟用狀態(tài)標(biāo)志的第一映射;b)提供從該邏輯標(biāo)識符和先前的軟件部件狀態(tài)信息到包含驗(yàn)證數(shù)據(jù)的實(shí)際完整性測量證書的第二映射;c) 針對識別軟件部件的給定邏輯標(biāo)識符來對第一映射進(jìn)行查找,以得到指示軟件部件是否被啟用的狀態(tài)標(biāo)志012 ;d)針對識別軟件部件的驗(yàn)證證書的給定邏輯標(biāo)識符和先前的部件狀態(tài)來對第二映射進(jìn)行查找,以得到完整性測量證書012 ;e)計(jì)算要執(zhí)行的軟件部件的校驗(yàn)值0126) ;f)驗(yàn)證下列各項(xiàng)完整性測量與完整性測量證書內(nèi)的完整性測量值相匹配,以及所計(jì)算的校驗(yàn)值與完整性測量證書內(nèi)的校驗(yàn)值相匹配0128) ;g)如果狀態(tài)標(biāo)志指示軟件部件被啟用并且驗(yàn)證成功,則對當(dāng)前完整性測量進(jìn)行更新,以包括對完整性測量證書內(nèi)的校驗(yàn)值的指示O200);以及h)如果軟件部件被啟用且驗(yàn)證成功,則執(zhí)行該軟件部件 (2206)。另外,該方法還可以包括a)如果該部件未被啟用,則對于識別該部件的驗(yàn)證失敗證書的給定邏輯標(biāo)識符和先前部件狀態(tài)來對第二映射進(jìn)行查找,以得到被禁用的完整性測量證書0134) ;b)對當(dāng)前的完整性測量進(jìn)行更新以包括對存儲在禁用的完整性測量證書內(nèi)的禁用的部件狀態(tài)的指示0134)。此外,該方法還可以包括a)如果驗(yàn)證是不成功的,則對于識別部件的驗(yàn)證失敗證書的給定邏輯標(biāo)識符和先前的部件狀態(tài)來對第二映射進(jìn)行查找,以得到失敗的完整性測量證書0136);以及b)對當(dāng)前完整性測量進(jìn)行更新,以包括對存儲在失敗的完整性測量證書內(nèi)的不成功完整性測量的指示0136)。而且,該方法還可以包括a)如果部件是未被啟用或者驗(yàn)證是不成功的,則提供從邏輯標(biāo)識符和先前的軟件部件狀態(tài)信息到部件標(biāo)識符的第三映射O404);以及b)對于給定的識別部件的邏輯標(biāo)識符和先前的部件狀態(tài)來對第三映射進(jìn)行查找,以得到要被執(zhí)行的替代軟件部件O404)。根據(jù)本發(fā)明的一個(gè)優(yōu)選實(shí)施例,每個(gè)獨(dú)立的部件的成功或失敗被記錄在可由所有其它可信部件訪問的表內(nèi)。根據(jù)本發(fā)明的另一個(gè)優(yōu)選實(shí)施例,在表中描述了多個(gè)執(zhí)行順序,該表描述了在給定的部件失敗后要執(zhí)行的替代部件。該表通過對失敗的模塊的標(biāo)識符和先前被執(zhí)行或失敗的部件的狀態(tài)的組合來進(jìn)行索引。根據(jù)本發(fā)明的另一個(gè)優(yōu)選實(shí)施例,在表內(nèi)描述了可選部件,該表包含指示部件是否被啟用的標(biāo)志。在安全引導(dǎo)期間引用該表以控制是否引導(dǎo)可選部件,因而該表明確地描述了可選部件的優(yōu)選執(zhí)行順序。根據(jù)本發(fā)明的另一個(gè)優(yōu)選實(shí)施例,為了根據(jù)先前執(zhí)行或失敗的部件的狀態(tài)使每個(gè)獨(dú)立的部件能被正確地驗(yàn)證,每個(gè)部件具有多個(gè)描述在部件可以運(yùn)行之前多種有效先決條件必須為真的RIM證書。為了解決該問題,根據(jù)本發(fā)明,一種可連接到服務(wù)器的設(shè)備包括存儲單元,其被配置為將多個(gè)軟件部分和與所述多個(gè)軟件部件相關(guān)聯(lián)的多個(gè)證書進(jìn)行存儲,該多個(gè)軟件部分的每個(gè)被分配給一個(gè)證書,多個(gè)證書的每個(gè)被用于驗(yàn)證所述多個(gè)軟件部分的每個(gè);設(shè)置單元,其被配置為將該多個(gè)軟件部分的一個(gè)設(shè)置到該設(shè)備以作為多個(gè)軟件部分的被啟用的一個(gè),所述多個(gè)軟件部分的被啟用的一個(gè)能夠在設(shè)備上執(zhí)行;執(zhí)行單元,其被配置為通過使用與所述多個(gè)軟件部分的被啟用的一個(gè)相關(guān)聯(lián)的證書來驗(yàn)證所述多個(gè)軟件部分的被啟用的一個(gè),并且在驗(yàn)證之后執(zhí)行所述多個(gè)軟件部分的被啟用和被驗(yàn)證的一個(gè);接收單元,其被配置為從服務(wù)器接收對應(yīng)于預(yù)先確定的證書的多個(gè)更新的證書,所述預(yù)先確定的證書由服務(wù)器在多個(gè)證書中確定為要被更新的,服務(wù)器確定要被更新的證書而不檢測所述多個(gè)更新的證書中的哪個(gè)對應(yīng)于所述多個(gè)軟件部分的被啟用的一個(gè);以及選擇單元,其被配置為從接收的多個(gè)更新的證書選擇對應(yīng)于與所述多個(gè)軟件部分的被啟用的一個(gè)相關(guān)聯(lián)的證書的一個(gè)更新的證書,其中執(zhí)行單元通過使用這個(gè)被更新的并且被選擇的證書來驗(yàn)證所述多個(gè)軟件部分的被啟用的一個(gè)。發(fā)明的有益效果通過該結(jié)構(gòu),該設(shè)備在未檢測哪些更新的證書是對應(yīng)于在設(shè)備上被啟用的部件的情況下,接收存在于服務(wù)器上的更新的證書。因此,本發(fā)明的該方面可以在未定制將由服務(wù)器發(fā)送的一組證書的情況下,將對于被啟用的部件的合適的證書進(jìn)行更新,因而,并不需要在服務(wù)器上放置創(chuàng)建多個(gè)更新的證書所要求的潛在高機(jī)密的密鑰,而替代地將該密鑰在安全的離線設(shè)施中進(jìn)行管理。


圖1示出了表示現(xiàn)有技術(shù)的方框圖。圖2示出了現(xiàn)有技術(shù)的安全引導(dǎo)排序。圖3示出了包含可選部件控制結(jié)構(gòu)的移動設(shè)備的使用期和外部交互。圖4示出了表示用于維持可選部件控制表和相關(guān)數(shù)據(jù)的密鑰部件的方框圖。圖5示出了包含表示需支持可選部件的表的附加數(shù)據(jù)的RIM證書。
圖6示出了標(biāo)簽到證書的映射表。圖7示出了下個(gè)部件表。圖8示出了一種可選部件控制表,該可選部件控制表包含計(jì)數(shù)器值、證書標(biāo)識符及它們狀態(tài)的表和表示可選部件的狀態(tài)的加密簽名。圖9示出了根據(jù)本發(fā)明,對可選部件控制表進(jìn)行初始化的過程的流程圖。圖10示出了根據(jù)本發(fā)明,撤銷內(nèi)部RIM證書和需要與可選部件控制表的交互的過程的流程圖。圖11示出了根據(jù)本發(fā)明,與服務(wù)器進(jìn)行交互以更新可選部件控制表的過程的順序圖。圖12示出了包含證書標(biāo)識符及它們狀態(tài)的表、表示可選部件的狀態(tài)的可選部件控制表。圖13示出了保護(hù)在圖12中的表的可選部件控制表RIM證書。圖14示出了根據(jù)本發(fā)明,在原始引導(dǎo)期間對可選部件控制表進(jìn)行初始化的過程的流程圖。圖15示出了根據(jù)本發(fā)明,通過使用可選部件控制表撤銷內(nèi)部RIM證書的過程的流程圖。
圖16示出了根據(jù)本發(fā)明,與服務(wù)器進(jìn)行交互以更新可選部件控制表的過程的順序圖。圖17示出了從服務(wù)器傳送到移動設(shè)備的可選部件控制更新表。圖18示出了在服務(wù)器內(nèi)用于支持由客戶設(shè)備對可選部件控制表的維持的密鑰部件的方框圖。圖19示出了對可選部件的安全引導(dǎo)的方框圖。圖20示出了對錯(cuò)誤檢測和可選部件的安全引導(dǎo)的附加排序。圖21A示出了根據(jù)本發(fā)明,執(zhí)行對可選部件的安全引導(dǎo)的過程的流程圖。圖21B示出了根據(jù)本發(fā)明,執(zhí)行對可選部件的安全引導(dǎo)的過程的流程圖。圖21C示出了根據(jù)本發(fā)明,執(zhí)行對可選部件的安全引導(dǎo)的過程的流程圖。圖22示出了根據(jù)本發(fā)明,執(zhí)行對可選部件的安全引導(dǎo)的過程的流程圖。圖23示出了根據(jù)本發(fā)明,執(zhí)行對可選部件的安全引導(dǎo)的過程的流程圖。圖M示出了根據(jù)本發(fā)明,執(zhí)行對可選部件的安全引導(dǎo)的過程的流程圖。
具體實(shí)施例方式根據(jù)本發(fā)明的第一方面,一種可連接到服務(wù)器的設(shè)備包括存儲單元,其被配置為存儲多個(gè)軟件部分和與所述多個(gè)軟件部分相關(guān)聯(lián)的多個(gè)證書,所述多個(gè)軟件部分中的每個(gè)被分配給一個(gè)證書,多個(gè)證書中的每個(gè)被用于驗(yàn)證所述多個(gè)軟件部分中的每個(gè);設(shè)置單元, 其被配置為將所述多個(gè)軟件部分中的一個(gè)設(shè)置到設(shè)備中以作為所述多個(gè)軟件部分中被啟用的一個(gè),所述多個(gè)軟件部分中被啟用的一個(gè)能夠在該設(shè)備上被執(zhí)行;執(zhí)行單元,其被配置為使用與所述多個(gè)軟件部分中被啟用的一個(gè)相關(guān)聯(lián)的證書來驗(yàn)證所述多個(gè)軟件部分中被啟用的一個(gè),并且在驗(yàn)證之后執(zhí)行所述多個(gè)軟件部分中被啟用和驗(yàn)證的一個(gè);接收單元,其被配置為從服務(wù)器接收對應(yīng)于預(yù)先確定的證書的多個(gè)更新的證書,該預(yù)先確定的證書由服務(wù)器在多個(gè)證書中確定為要被更新的,服務(wù)器確定要被更新的證書,而不用檢測該多個(gè)更新的證書中的哪個(gè)對應(yīng)于所述多個(gè)軟件部分中被啟用的一個(gè);以及選擇單元,其被配置為從接收的多個(gè)更新的證書中選擇一個(gè)更新的證書,所選擇的一個(gè)更新的證書對應(yīng)于與所述多個(gè)軟件部分中被啟用的一個(gè)相關(guān)聯(lián)的證書,其中執(zhí)行單元使用該一個(gè)被更新并且被選擇的證書來驗(yàn)證所述多個(gè)軟件部分中被啟用的一個(gè)。根據(jù)本發(fā)明的第二方面,服務(wù)器共同地將多個(gè)更新的證書傳送給該設(shè)備和另外的設(shè)備。根據(jù)本發(fā)明的第三方面,所述多個(gè)更新的證書包括對應(yīng)于與所述多個(gè)軟件部分的另一個(gè)相關(guān)聯(lián)的證書的更新的證書,所述多個(gè)軟件部分中的另一個(gè)不同于所述多個(gè)軟件部分中的被啟用的一個(gè)。根據(jù)本發(fā)明的第四方面,該設(shè)備還包括更新單元,其被配置為基于所述一個(gè)更新的證書,對與所述多個(gè)軟件部分中被啟用的一個(gè)相關(guān)聯(lián)的證書進(jìn)行更新,其中執(zhí)行單元使用由更新單元更新的證書,來對所述多個(gè)軟件部分中被啟用的一個(gè)進(jìn)行驗(yàn)證。根據(jù)本發(fā)明的第五方面,該設(shè)備還包括設(shè)備密鑰存儲單元,其被配置為存儲設(shè)備密鑰,該設(shè)備密鑰是該設(shè)備的唯一密鑰;更新單元通過使用該設(shè)備密鑰對所述一個(gè)更新的證書進(jìn)行轉(zhuǎn)換并且利用所轉(zhuǎn)換的一個(gè)更新的證書重寫與所述多個(gè)軟件部分的被啟用的一個(gè)相關(guān)聯(lián)的證書,來對與所述多個(gè)軟件部分的被啟用的一個(gè)相關(guān)聯(lián)的證書進(jìn)行更新。根據(jù)本發(fā)明的第六方面,該設(shè)備還包括標(biāo)志存儲單元,其被配置為當(dāng)設(shè)置單元將多個(gè)軟件部分中的一個(gè)設(shè)置到設(shè)備中以作為所述多個(gè)軟件部分中被啟用的一個(gè)時(shí),存儲指示所述多個(gè)軟件部分中被啟用的一個(gè)的啟用標(biāo)志,其中選擇單元被配置為,基于存儲在標(biāo)志存儲單元中的啟用標(biāo)志,從接收的多個(gè)更新的證書中選擇一個(gè)對應(yīng)于與所述多個(gè)軟件部分中被啟用的一個(gè)相關(guān)聯(lián)的證書的更新的證書。根據(jù)本發(fā)明的第七方面,該設(shè)備還包括計(jì)數(shù)器,其被配置為當(dāng)撤銷(revoking) 單元撤銷存儲在存儲單元中的一個(gè)證書時(shí)增加計(jì)數(shù)器值;計(jì)數(shù)器值設(shè)置單元,其被配置為當(dāng)計(jì)數(shù)器值增加時(shí),將增加后的計(jì)數(shù)器值設(shè)置到包括啟用標(biāo)志的管理信息中;以及確定單元,其被配置為使用設(shè)置在該管理信息中的計(jì)數(shù)器值來確定該管理信息是否被篡改。根據(jù)本發(fā)明的第八方面,該設(shè)備還包括計(jì)算單元,其被配置為計(jì)算包括啟用標(biāo)志和計(jì)數(shù)器值的管理信息的加密散列值;值存儲單元,其被配置為存儲對應(yīng)于所計(jì)算的加密散列值的驗(yàn)證值;驗(yàn)證單元,其被配置為在選擇單元使用管理信息來選擇所述一個(gè)更新的證書之前,通過將所存儲的驗(yàn)證值和所計(jì)算的加密散列值進(jìn)行比較,來驗(yàn)證該管理信息是否被篡改。根據(jù)本發(fā)明的第九方面,該設(shè)備還包括映射數(shù)據(jù)存儲單元,其被配置為存儲示出所述多個(gè)軟件部分和所述多個(gè)證書之間的映射的映射數(shù)據(jù);計(jì)算單元,其被配置為計(jì)算該映射數(shù)據(jù)的加密散列值;值存儲單元,其被配置為存儲對應(yīng)于所計(jì)算的加密散列值的驗(yàn)證值;驗(yàn)證單元,其被配置為在選擇單元選擇所述一個(gè)更新的證書之前,通過將所存儲的驗(yàn)證值和所計(jì)算的加密散列值進(jìn)行比較,來驗(yàn)證所述映射數(shù)據(jù)是否被篡改;以及選擇單元,其基于該映射數(shù)據(jù)選擇所述一個(gè)更新的證書。根據(jù)本發(fā)明的第十方面,該設(shè)備還包括計(jì)數(shù)器,其被配置為當(dāng)撤銷單元撤銷存儲在存儲單元中的所述一個(gè)證書時(shí),增加計(jì)數(shù)器值;計(jì)數(shù)器值分配單元,其被配置為當(dāng)計(jì)數(shù)器值增加時(shí),將增加的計(jì)數(shù)器值分配給映射數(shù)據(jù);以及計(jì)算單元,其使用映射數(shù)據(jù)和被分配給映射數(shù)據(jù)的計(jì)數(shù)器值來計(jì)算加密散列值。(本實(shí)施例的綜述)本實(shí)施例涉及一種用于對用于驗(yàn)證軟件部分的證書進(jìn)行更新的系統(tǒng)。在設(shè)備中, 如果存在一個(gè)或多個(gè)可選部件,則依據(jù)用戶來決定哪個(gè)部件被啟用。因此,通常服務(wù)器需要知道對于每個(gè)設(shè)備哪些部件被啟用,從而發(fā)送對應(yīng)被啟用的部件的更新的證書。并且,服務(wù)器為每個(gè)設(shè)備,發(fā)送對應(yīng)于每個(gè)設(shè)備中被啟用的部件的一組定制的更新的證書。然而,為每個(gè)設(shè)備制作一組定制的更新的證書是非常麻煩并且需要很多代價(jià)的。 因此,在本實(shí)施例中,示出了一種用于對證書進(jìn)行更新而不需要為每個(gè)設(shè)備制作一組定制的更新的證書的系統(tǒng)。本發(fā)明涉及一種用于支持在將執(zhí)行安全引導(dǎo)的系統(tǒng)內(nèi)的可選的或失敗的部件的系統(tǒng)。通過提供所描述的附加RIM證書和數(shù)據(jù)表,支持安全引導(dǎo)的設(shè)備的開發(fā)者能夠開發(fā) 一種能夠靈活處理無法啟動或被指示為禁用的部件的系統(tǒng),以及一種能夠報(bào)告在安全引導(dǎo)生成的可信環(huán)境內(nèi)的部件的狀態(tài)的設(shè)備。通過進(jìn)一步提供被啟用的可選部件的列表,系統(tǒng)還將處理可以被外部參與者啟用和禁用的部件。本實(shí)施例假設(shè)這樣一種系統(tǒng)其中設(shè)備中的至少一個(gè)部件是可選的,并且證書被用于在引導(dǎo)該部件的時(shí)刻,對該部件和在該部件之前被引導(dǎo)的其它部件進(jìn)行驗(yàn)證。因此在通常的系統(tǒng)中,在部件的引導(dǎo)過程中的失敗或者因?yàn)榻盟晕幢灰龑?dǎo)的部件,影響了在該失敗的部件之后進(jìn)行引導(dǎo)的其它部件的引導(dǎo)過程,即使該失敗的部件是可選的并且其它部件本身是有效的。為了避免該問題,本實(shí)施例使用了在下文描述的失敗RIM證書和成功RIM證書。該結(jié)構(gòu)也是相對于現(xiàn)有技術(shù)的新結(jié)構(gòu)。然而,請注意,本發(fā)明涉及撤銷證書的部分,可以被應(yīng)用于并不對上文所示的問題進(jìn)行處理的系統(tǒng)。描述了一種用于撤銷部件的新系統(tǒng)和方法,該新系統(tǒng)和方法包括處理在支持安全引導(dǎo)的設(shè)備上的可選部件。在下文的描述中,出于解釋的目的,陳述了許多具體細(xì)節(jié)以提供對本發(fā)明的完全理解。在其它例子中,在不解釋它們的具體細(xì)節(jié)的情況下,以方框圖的形式示出了公知的結(jié)構(gòu)和設(shè)備以利于解釋。然而,對一個(gè)本領(lǐng)域普通技術(shù)人員來說,通過修改或者不利用這些具體細(xì)節(jié)來實(shí)踐本發(fā)明是顯而易見的。優(yōu)選實(shí)施例的描述并不視為限制隨附權(quán)利要求的范圍。(本實(shí)施例的細(xì)節(jié))本發(fā)明涉及一種用于支持對將執(zhí)行安全引導(dǎo)的系統(tǒng)內(nèi)的可選的或失敗的部件的系統(tǒng)。通過提供所描述的附加RIM證書和數(shù)據(jù)表,支持安全引導(dǎo)的設(shè)備的開發(fā)者能夠開發(fā)出一種能夠靈活處理無法啟動的部件的系統(tǒng),以及一種能夠報(bào)告在安全引導(dǎo)生成的可信環(huán)境內(nèi)的部件的狀態(tài)的設(shè)備。圖1示出了現(xiàn)有技術(shù)。該圖捕獲了在核心部件已經(jīng)自驗(yàn)證之后的那一時(shí)刻安全引導(dǎo)過程的狀態(tài),該核心部件例如在可信區(qū)域100內(nèi)的RTV+RTM和MTM接口等。MTM102是該可信區(qū)域100的核心,但是在該可信區(qū)域100內(nèi)的其它關(guān)鍵項(xiàng)是指示安全引導(dǎo)是否已經(jīng)正確地進(jìn)行的系統(tǒng)狀態(tài)104標(biāo)志;設(shè)置系統(tǒng)狀態(tài)104的系統(tǒng)錯(cuò)誤記錄器106 ;負(fù)責(zé)啟動將被加入到可信區(qū)域100的下個(gè)部件的啟動器108 ;以及查找所要求的成功RIM證書114的證書數(shù)據(jù)庫110。這些成功RIM證書114描述了在完全成功的安全引導(dǎo)期間所期望的平臺狀態(tài)。 RIM證書應(yīng)當(dāng)被保護(hù)以防改變,從而檢查安全引導(dǎo)導(dǎo)致成功還是導(dǎo)致不正確的,因此,它們是完整性保護(hù)的,并且被放置在完整性保護(hù)112數(shù)據(jù)項(xiàng)的組中。如TCG所定義地,通過將簽名的散列嵌入到RIM證書從而允許MTM102檢測篡改來實(shí)現(xiàn)該完整性保護(hù)。安全引導(dǎo)的目的為將可信區(qū)域100進(jìn)行擴(kuò)展以包圍諸如可信部件1116、可信部件 2 118和可信部件3 120等的附加部件。從啟動器108到可信部件1 116、可信部件2 118 和可信部件3 120的被標(biāo)注為122、IM和1 的點(diǎn)劃線指示根據(jù)現(xiàn)有技術(shù)的一方面的正常執(zhí)行路徑。根據(jù)現(xiàn)有技術(shù)的另一方面,可以存在另外的可信部件,且將操作系統(tǒng)(未示出) 作為最終的可信部件。啟動可信部件的具體順序由具體安全引導(dǎo)系統(tǒng)的設(shè)計(jì)來定義。圖2示出了根據(jù)在圖1中描述的方法的現(xiàn)有技術(shù)安全引導(dǎo)過程的結(jié)果。在此,標(biāo)準(zhǔn)引導(dǎo)順序從MTM102開始,然后可信部件1 116運(yùn)行,將控制權(quán)傳送到可信部件2 118,并且以此類推到可信部件3 120、可信部件4 200、可信部件5 202,然后最終到操作系統(tǒng)204。 可信部件2118、可信部件4 200和可信部件5 202是在由可信部件1 116和可信部件3 120 提供的基礎(chǔ)服務(wù)之上提供進(jìn)一步可選服務(wù)的部件。在成功的例子中,如在流程206所指示地,所有部件成功地運(yùn)行,并且完全操作的可信區(qū)域208是可用的。然而,在流程210中,可信部件4 200無法裝載,因此由于處于失敗的狀態(tài),全部可信區(qū)域212都是不可用的。在可信區(qū)域框208和212中,MTM表示MTM102,TC1表示可信部件1 116,TC2表示可信部件2
10118,TC3表示可信部件3 120,TC4表示可信部件4 200, TC5表示可信部件5 202,并且OS 表示操作系統(tǒng)204。所有部件取決于MTM102,并且此外可信部件2 118取決于可信部件1 116,并且可信部件4 200和可信部件5 202取決于可信部件3 120。操作系統(tǒng)204取決于可信部件1 116和可信部件3 120。陰影部分顯示不能被使用的部件。圖3示出了以安全引導(dǎo)為特征的移動設(shè)備的生命期。在工廠300,初始化過程302 安裝了一組可選部件以及與對于每個(gè)設(shè)備而言哪些可選部件是可用的有關(guān)的信息。當(dāng)其被運(yùn)送到移動電話商店304或諸如在線商店等其它賣方時(shí),顧客可以購買對應(yīng)于可選部件的多種選項(xiàng)306,或與對應(yīng)于可選部件的多種選項(xiàng)306達(dá)成契約。移動設(shè)備308現(xiàn)在準(zhǔn)備好被使用,并且在設(shè)備的生命期期間,如由TCG移動參考架構(gòu)所定義地,諸如可選和托管部件的更新的證書310被廣播到所有設(shè)備312等的行動將發(fā)生。此外,設(shè)備擁有者可以通過由移動電話運(yùn)營商316或其它設(shè)備管理實(shí)體提供的服務(wù)器來明確地更新他們的契約選項(xiàng)314, 使得該組可選部件對將被更新的特定設(shè)備是可用的。下文將描述包含在對可選部件進(jìn)行管理的這些過程中的每個(gè)的行為。圖4示出了本發(fā)明的方面,即用于建立和維持在系統(tǒng)內(nèi)的可選部件的方法。關(guān)鍵的功能元件和數(shù)據(jù)項(xiàng)如下。首先,數(shù)據(jù)結(jié)構(gòu)被完整性保護(hù)400 ;在優(yōu)選的實(shí)施例中,這是通過使用簽名散列來實(shí)現(xiàn)的。數(shù)據(jù)結(jié)構(gòu)首先為成功RIM證書402和失敗RIM證書404,這些證書描述了當(dāng)所有部件正確操作時(shí)在安全引導(dǎo)期間所期望的平臺狀態(tài),以及當(dāng)一個(gè)或多個(gè)部件無法正確操作或者由于分別禁用而已經(jīng)無法啟動時(shí)在安全引導(dǎo)期間所期望的平臺狀態(tài)。 標(biāo)簽到證書的映射表406將可信部件的狀態(tài)映射到特定的成功RIM證書402或失敗RIM證書404,可選部件控制表408描述了哪些可選可信部件是啟用或禁用的,并且默認(rèn)可選部件控制表410用于在移動電話的第一次引導(dǎo)時(shí)或者用于在可選部件控制表408被損壞時(shí)的其它時(shí)間,對可選部件控制表408進(jìn)行初始化。在優(yōu)選的實(shí)施例中,該表的結(jié)構(gòu)與可選部件控制表408的結(jié)構(gòu)相同。為了對該可選部件控制表408進(jìn)行初始化,初始化器406基于默認(rèn)可選部件控制表410建立了可選部件控制表408。稍后描述該過程的細(xì)節(jié)。證書更新器412通過處理從移動手機(jī)廣播塔經(jīng)由無線網(wǎng)絡(luò)416傳輸并且由更新接收器414在設(shè)備上接收的證書列表來保持成功RIM證書402和失敗RIM證書404為最新的。 稍后描述該過程的細(xì)節(jié)。本領(lǐng)域普通技術(shù)人員將發(fā)現(xiàn)存在其它方式使這些更新有效,例如通過存儲卡或者經(jīng)由其它有線或無線的傳輸模塊。契約更新器418通過請求在設(shè)備420上的網(wǎng)頁瀏覽器來訪問位于服務(wù)器似4上的可選部件維持頁面,來維持在可選部件控制表408內(nèi)的部件的啟用狀態(tài)或禁用狀態(tài)。在優(yōu)選的實(shí)施例中,網(wǎng)頁瀏覽器420到服務(wù)器424的連接422使用安全套接層(SSL)以保護(hù)通信信道不被攻擊。稍后描述該過程的細(xì)節(jié)。圖5基于由TCG移動可信模塊規(guī)范定義的RIM證書,示出了 RIM證書500、 成功RIM證書402和失敗RIM證書404的細(xì)節(jié)。為了允許對可選部件的支持, mapIDtoCertTabIeSize506> mapIDtoCertTable508> nextComponentTableSize510 以及 nextComponentTable512被附加到證書,并且extensionDigest504條目包含了對于該額外數(shù)據(jù)的加密散列值。僅需要該擴(kuò)展的RIM證書的一個(gè)例子,并且這一個(gè)實(shí)施例將這些表附著到RTV+RTM用于自驗(yàn)證的單個(gè)RIM證書。然而,在此不描述現(xiàn)有技術(shù)的該方面。此外,RIM證書500具有識別RIM證書的標(biāo)簽字段502。
本領(lǐng)域普通技術(shù)人員將發(fā)現(xiàn)存在其他方式在不使用RIM證書500的情況下實(shí)現(xiàn)并且保持mapIDtoCertTable508和nextComponentTable512的完整性,例如通過使用對于簽名者和可信區(qū)域100都是已知的密鑰來單獨(dú)或共同地對每個(gè)表進(jìn)行加密簽名。圖6示出了具有數(shù)據(jù)條目的ID到證書的映射表508的格式,所述數(shù)據(jù)條目示出了從作為用于部件的標(biāo)識符的邏輯證書標(biāo)簽和先前的軟件部件狀態(tài)到實(shí)際的RIM證書的映射。ID到證書的映射表508為從邏輯標(biāo)識符和先前的軟件部件狀態(tài)信息到包含驗(yàn)證數(shù)據(jù)的實(shí)際完整性測量證書的第二映射的示例。第一列,邏輯證書標(biāo)簽600為一種識別標(biāo)簽,該識別標(biāo)簽是邏輯標(biāo)識符的示例,并且對用于特定的成功RIM證書和零個(gè)或更多的失敗RIM證書的特定角色進(jìn)行標(biāo)識,并且該識別標(biāo)簽為系統(tǒng)的其它部分用于請求RIM證書的標(biāo)簽。第二列,從屬可信部件狀態(tài)602為一組標(biāo)志,該組標(biāo)志指示針對哪組可信部件錯(cuò)誤狀態(tài)每行是有效的。第三列,從屬可信部件掩碼(mask)604為指示哪些部件將具有其狀態(tài)被校驗(yàn)的一組標(biāo)志。在一個(gè)實(shí)施例中,使用位圖實(shí)現(xiàn)這兩列。最后,RIM證書標(biāo)簽606列容納了將被用于從RIM證書數(shù)據(jù)庫查找成功RIM證書402或失敗RIM證書404的實(shí)際RIM證書標(biāo)簽。 RIM證書標(biāo)簽606為包含驗(yàn)證數(shù)據(jù)的實(shí)際完整性測量證書的示例。該值表示由TCG定義的 RIM證書標(biāo)簽字段502的例子。圖7示出了具有采樣數(shù)據(jù)條目的下個(gè)部件表512的格式。下個(gè)部件表512為從邏輯標(biāo)識符和先前的軟件部件狀態(tài)信息到部件標(biāo)識符的第三映射的示例。第一列,失敗的可信部件700為這樣的標(biāo)識符其是邏輯標(biāo)識符的示例并且表示已經(jīng)失敗的部件。第二列,從屬可信部件狀態(tài)702為一組標(biāo)志,該組標(biāo)志為先前的軟件部件狀態(tài)信息的示例并且指示針對哪組可信部件錯(cuò)誤狀態(tài)當(dāng)前行是有效的。第三列,從屬可信部件掩碼704為指示哪些部件將使它們的狀態(tài)被校驗(yàn)的一組標(biāo)志。在一個(gè)實(shí)施例中,通過使用位圖實(shí)現(xiàn)這兩列。最后, 要啟動的可信部件706列容納了這樣的標(biāo)識符其是部件標(biāo)識符的示例,并且針對給定的失敗可信部件700和一組從屬可信部件狀態(tài)702對接下來哪個(gè)模塊應(yīng)當(dāng)被啟動或者因?yàn)榘踩龑?dǎo)已經(jīng)進(jìn)入不能恢復(fù)的狀態(tài)對是否應(yīng)當(dāng)拋棄該引導(dǎo)進(jìn)行描述。參考圖4,如果可信部件 1116或可信部件3 120的部件無法裝載,則指示下個(gè)要啟動的可信部件706的條目可能實(shí)際上為放棄引導(dǎo)的指令;這是因?yàn)檫@兩個(gè)部件為對于完全可信系統(tǒng)的操作是必要的基本部件。如果可信部件2 118、可信部件4 200或可信部件5 202失敗,則可能存在表示例如可信部件3 120、可信部件5 202和操作系統(tǒng)204各自為下個(gè)將啟動的可信部件706的條目。ID到證書的映射表508和下個(gè)部件表512的表的內(nèi)容由對于特定設(shè)備所需的安全引導(dǎo)順序的設(shè)計(jì)來進(jìn)行定義。在上文描述的當(dāng)表附著到RTV+RTM用于自驗(yàn)證的RIM證書時(shí)的實(shí)施例中,由TCG (最可能為設(shè)備制造商)定義的發(fā)布授權(quán)的RIM證書將生成這些表,并且將數(shù)據(jù)加入到特定RIM證書,然后對該證書進(jìn)行簽名,并且使之能夠用于設(shè)備上。然而, 這些表可能由另一個(gè)組織生成,并且分別被從RIM證書發(fā)送。此外,如果安全引導(dǎo)系統(tǒng)可以分析自己的安全引導(dǎo)順序,安全引導(dǎo)系統(tǒng)可以自己生成這些表。根據(jù)示出哪個(gè)部件是取決于另一個(gè)部件的信息生成這些表。如果部件A取決于另一個(gè)部件B,則如果部件B的引導(dǎo)程序失敗,部件A不應(yīng)當(dāng)被引導(dǎo)。并且如果部件A獨(dú)立于部件B,則即使部件B不能夠被成功地引導(dǎo),引導(dǎo)過程也可以從部件A的引導(dǎo)程序恢復(fù)。當(dāng)然,可以根據(jù)更多信息生成這些表。例如,它們可以根據(jù)示出如果另一個(gè)獨(dú)立部件的引導(dǎo)程序失敗則一些部件不應(yīng)當(dāng)被引導(dǎo)的信息來生成。該信息可以由每個(gè)可信部件的作者來生成并提供。為了對這些可以由外部參與者(例如,移動設(shè)備擁有者或移動設(shè)備服務(wù)提供商或移動設(shè)備生產(chǎn)商)可選地啟用的可信部件進(jìn)行管理,設(shè)備將維持哪些可選可信部件被啟用或禁用的列表。圖8示出了在可選部件控制表408中的該數(shù)據(jù)的優(yōu)選實(shí)施例。可選部件控制表408為從邏輯標(biāo)識符到軟件部件啟用狀態(tài)標(biāo)志的第一映射的示例。RIMProtectVlue802 為在建立或更新該結(jié)構(gòu)的時(shí)候由TCG移動可信模塊規(guī)范定義的coimterRIMProtect單調(diào)計(jì)數(shù)器的復(fù)制,以幫助保護(hù)該結(jié)構(gòu)不受反轉(zhuǎn)攻擊或再刷新攻擊。接下來是在每行具有兩個(gè)字段的表;首先為可選可信部件邏輯證書標(biāo)簽804,其使用了與在ID到證書的映射表508中的邏輯證書ID600所使用的部件標(biāo)識符相同的部件標(biāo)識符。邏輯證書標(biāo)簽804為邏輯標(biāo)識符的示例。接下來,指示由邏輯證書ID804識別的可選可信部件是否被啟用的標(biāo)志806,如果該可選可信部件被啟用,則該標(biāo)記被設(shè)置為TRUE ;如果該可選可信部件禁用,則該標(biāo)志被設(shè)置為FALSE。標(biāo)記806為軟件部件啟用狀態(tài)標(biāo)志的示例。該對值對于在系統(tǒng)中的每個(gè)可選可信部件進(jìn)行重復(fù),并且表由-1的邏輯證書ID808和對于禁用通常被設(shè)置為FALSE的標(biāo)志810來結(jié)束。該對值的集合共同的被稱為邏輯證書標(biāo)簽表814。最后,為了保護(hù)在可選部件控制結(jié)構(gòu)內(nèi)的所有上述數(shù)據(jù)不被篡改,存在根據(jù)PKCS#lvl. 5規(guī)范產(chǎn)生的加密簽名 812,該P(yáng)KCS#lvl. 5規(guī)范利用如下文圖9的描述所建立的并且對于外部過程是不可用的密鑰進(jìn)行簽名。本領(lǐng)域普通技術(shù)人員將發(fā)現(xiàn)存在其它方式實(shí)現(xiàn)并且保持每個(gè)可選部件的狀態(tài)的完整性,并且諸如HMAC的其它數(shù)字簽名算法可以被使用。圖9示出了根據(jù)本發(fā)明的可選部件控制表的初始建立。如在對于原始引導(dǎo)的TCG 移動可信模塊規(guī)范中所詳細(xì)示出地,一旦MTM已經(jīng)初始地啟動,則該示出的過程將恰好發(fā)生在設(shè)備的第一次引導(dǎo)時(shí)。也如在該文獻(xiàn)中所詳細(xì)描述地,原始引導(dǎo)可以發(fā)生在移動設(shè)備的生命周期的其它時(shí)刻,因此圖9還示出了根據(jù)要求對該結(jié)構(gòu)的重建。首選,在原始引導(dǎo)順序已經(jīng)執(zhí)行了充分的初始化以構(gòu)建并且初始化MTM和可信根后,從MTM請求用于對可選部件控制結(jié)構(gòu)進(jìn)行簽名的密鑰900。在優(yōu)選的實(shí)施例中,該密鑰指示RSA密鑰對的私鑰。對該請求的成功或失敗進(jìn)行校驗(yàn)902,并且如果MTM無法找到所請求的密鑰,則在MTM中建立密鑰904。該密鑰必須利用如在TPM主要規(guī)范部分2內(nèi)定義的使用類型TPM_KEY_SIGNING 來建立,并且在優(yōu)選的實(shí)施例中,密鑰算法為長度為IOM位的TPM_ALG_RSA,并且可與TPM_ SS_RSASSAPKCSAlvl5_SHAl簽名方案一起使用。然而,如果密鑰被發(fā)現(xiàn),則不需要建立它,因此作為代替,使用校驗(yàn)以查看是否存在現(xiàn)有的并且有效簽名的可選部件控制表906。因?yàn)槔鐚υ摻Y(jié)構(gòu)的重建可能重寫了被改變的選項(xiàng),所以如果存在一個(gè),則不需要重建它,并且原始引導(dǎo)程序以由TCG移動參考架構(gòu)指定的其它過程繼續(xù)進(jìn)行920。如果沒有可選部件控制表(或者如果沒有發(fā)現(xiàn)密鑰因而不得不建立密鑰904),那么請求由MTM管理的用于保護(hù) RIM證書的單調(diào)計(jì)數(shù)器910,這是因?yàn)樵搯握{(diào)計(jì)數(shù)器為可選部件的默認(rèn)狀態(tài)信息912。建立新的可選部件控制表914,并且該單調(diào)計(jì)數(shù)器被插入到RIMProtectValue域802中,并且可選部件及它們的狀態(tài)被插入到域804和806中,并且還建立表終結(jié)符808和810。接下來, 利用請求,該新的結(jié)構(gòu)被傳送到MTM以利用早先建立或獲取的密鑰對這個(gè)新的結(jié)構(gòu)進(jìn)行加密簽名916。該簽名過程致使加密簽名812被建立?,F(xiàn)在,該明顯篡改的可選部件控制表 408可以根據(jù)要求被存儲,甚至存儲在可公共訪問的位置中。現(xiàn)在對于可選部件控制表的建立過程完成了,因此原始引導(dǎo)程序以在TCG移動參考架構(gòu)內(nèi)指定的其它過程繼續(xù)進(jìn)行920。
圖10示出了根據(jù)本發(fā)明如在TCG移動參考架構(gòu)的第6. 3. 4. 5節(jié)中描述地,對于 RIM撤銷的任務(wù)所需要的附加過程。該規(guī)范描述了如何對RIM_Auth進(jìn)行驗(yàn)證,如何對RIM_ Cert有效性列表進(jìn)行校驗(yàn),并且在新的有效性列表上不具有對應(yīng)的外部RIM_Cert的所有內(nèi)部RIM_Cert被刪除,所有剩余的內(nèi)部RIM_Cert重新生效,并且對counterRIMProtect單調(diào)計(jì)數(shù)器進(jìn)行更新。在圖10中示出的過程增加了對所有剩余的內(nèi)部RIM_Cert進(jìn)行重新生效,對counterRIMProtect單調(diào)計(jì)數(shù)器進(jìn)行更新的步驟。首先,獲取可選部件控制結(jié)構(gòu) 1000。接下來,為了能夠驗(yàn)證數(shù)據(jù)仍然有效并且未被篡改,從MTM獲取用于建立加密簽名 512的密鑰的公共部分(1002)以及當(dāng)前counterRIMProtect單調(diào)計(jì)數(shù)器(1004)。該簽名被驗(yàn)證以保證數(shù)據(jù)還未被篡改(1006),并且當(dāng)前counterRIMProtect單調(diào)計(jì)數(shù)器與存儲在可選部件控制結(jié)構(gòu)008)中的COunterRIMPrOtect802進(jìn)行比較。如果所存儲的值大于或等于當(dāng)前單調(diào)計(jì)數(shù)器值,那么可選部件控制結(jié)構(gòu)為當(dāng)前的,表示在該結(jié)構(gòu)上還未有重刷新或反轉(zhuǎn)攻擊。(1008)如果兩個(gè)校驗(yàn)的結(jié)果顯示該簽名是不正確的或者當(dāng)前的單調(diào)計(jì)數(shù)器大于在可選部件控制結(jié)構(gòu)008)內(nèi)的RIMProtectValue802,那么(1010) RIM撤銷過程失敗并且安裝的程序或RIM證書將不會被改變。然而,如果校驗(yàn)指示可選部件控制結(jié)構(gòu)為有效的, 那么(1012)在可選部件控制結(jié)構(gòu)008)內(nèi)的RIMProtectValue802被設(shè)置為大于在1004 獲取的counterRIMProtect單調(diào)計(jì)數(shù)器的當(dāng)前值的一個(gè)值。(1014)由MTM根據(jù)由在1002 所獲取的密鑰簽名的I3KCS vl. 5算法生成加密簽名。接下來,執(zhí)行如在TCG移動參考架構(gòu)規(guī)范中描述的任務(wù)(1016)現(xiàn)有的內(nèi)部RIM證書利用增值的RIMProtect計(jì)數(shù)器值進(jìn)行重新生效,然后(1018) counterRIMProtect單調(diào)計(jì)數(shù)器增值以保護(hù)RM證書和可選部件控制結(jié)構(gòu)G08)以防反轉(zhuǎn)或重刷新攻擊。最后,(1020)如在TCG移動參考架構(gòu)規(guī)范中描述的執(zhí)行剩余的撤銷功能。圖11示出了處理在移動設(shè)備1100和控制可選部件的啟用或禁用的服務(wù)器1104 之間的通信。此外,還示出了由移動設(shè)備1100經(jīng)由該設(shè)備1100上的移動可信模塊1102所請求的服務(wù)。首先,1106用戶請求存儲在服務(wù)器上的契約維持選項(xiàng)。在優(yōu)選的實(shí)施例中, 這通過與服務(wù)器建立SSL(安全套接層)會話來執(zhí)行。然后,服務(wù)器執(zhí)行如在TCG規(guī)范架構(gòu)綜述中定義的與設(shè)備的認(rèn)證1108,從而以驗(yàn)證設(shè)備的身份和信用。設(shè)備將請求轉(zhuǎn)發(fā)到 MTMl 110以使MTM能夠報(bào)告給服務(wù)器。從MTM1102經(jīng)由設(shè)備1112將確認(rèn)消息返回到服務(wù)器1114。在認(rèn)證成功完成之后,客戶在優(yōu)選的實(shí)施例中通過使用Diffie-Hellman密鑰交換建立與服務(wù)器共享的秘密1116、1118。接下來,服務(wù)器傳送適于所識別手機(jī)的定制可選部件狀態(tài)頁面1120。在優(yōu)選的實(shí)施例中,這是設(shè)備用戶與1122交互以選擇哪些選項(xiàng)加入設(shè)備或從設(shè)備上去除的基于HTML的頁面。在做出所要求的改變之后,設(shè)備發(fā)送包括每個(gè)可選部件的新的啟用的或禁用的狀態(tài)的消息,以示出交互完成了 1124。在優(yōu)選的實(shí)施例中, 這由到HTTPS頁面的POST來執(zhí)行,所述到HTTPS頁面的POST在先前傳送的定制選項(xiàng)頁面 1120內(nèi)描述了。在另一個(gè)優(yōu)選實(shí)施例中,設(shè)備對于由設(shè)備用戶做出的每個(gè)改變發(fā)送單獨(dú)的消息。在另一個(gè)優(yōu)選實(shí)施例中,設(shè)備通過使用基于AJAX的機(jī)制在每個(gè)改變做出之后發(fā)送單獨(dú)的消息,并且用戶選擇了一旦結(jié)束則發(fā)送完成消息的選項(xiàng)。服務(wù)器適當(dāng)?shù)馗缕淇蛻魯?shù)據(jù)庫,并且將新的一組由在1116和1118建立的密鑰進(jìn)行編碼的更新的可選部件狀態(tài)標(biāo)志 1126發(fā)送到設(shè)備。這些步驟對應(yīng)于在圖18中標(biāo)注為1814、1816、1818、1820和1822的項(xiàng)。 在優(yōu)選的實(shí)施例中,數(shù)據(jù)與邏輯證書標(biāo)簽表814具有類似的格式,具有多對邏輯證書標(biāo)簽804和啟用標(biāo)志806,并且由值為-1的808和FALSE810的對結(jié)束。這在圖17中示出了,其中如上文所述地,可選部件更新表1700包含邏輯證書標(biāo)簽表814,以及該表的散列1702以保證數(shù)據(jù)在傳輸期間未被損壞。設(shè)備對可選部件更新結(jié)構(gòu)11 進(jìn)行解碼和驗(yàn)證,并且如果解碼和驗(yàn)證成功,則開始該選項(xiàng)的過程以保證啟用和禁用的部件被正確配置。接下來的任務(wù)是對于該設(shè)備來將每個(gè)RIM證書1130進(jìn)行重裝,這一重裝對存在于設(shè)備上的所有內(nèi)部RIM證書(成功RIM證書和失敗RIM證書)進(jìn)行重復(fù)1132。該行動保證了在證書內(nèi)具有的RIM保護(hù)計(jì)數(shù)器值在RIM保護(hù)計(jì)數(shù)器增值1146之前而增值,否則如果計(jì)數(shù)器首先增值,然后在重裝過程完成之前發(fā)生系統(tǒng)失敗,則設(shè)備可能陷入不能引導(dǎo)的狀態(tài)。 一旦所有的現(xiàn)有內(nèi)部RIM證書已經(jīng)被更新,從MTM請求當(dāng)前RIM保護(hù)計(jì)數(shù)器值1134,并且返回該值1136。通過使用一個(gè)大于在1134獲取的RIM保護(hù)計(jì)數(shù)器值的值和在11 所提供來自可選部件更新結(jié)構(gòu)的狀態(tài)標(biāo)志來建立新的可選部件控制表1138。向MTM1102做出請求, 以利用根據(jù)在圖9示出的方法生成的簽名密鑰來對數(shù)據(jù)進(jìn)行簽名1140。MTM1102返回簽名 1142,因此設(shè)備存儲1144該新的可選部件控制表,從而重寫了先前的表。為了保護(hù)以防反轉(zhuǎn)或重刷新攻擊,設(shè)備請求MTM1102對RIM保護(hù)單調(diào)計(jì)數(shù)器1146 進(jìn)行增值,并且MTM1102對操作的成功進(jìn)行確認(rèn)1148?,F(xiàn)在所有在設(shè)備上的與可選部件相關(guān)聯(lián)的信息都已經(jīng)被成功地更新了,即所述信息為可選部件控制結(jié)構(gòu)408、適當(dāng)?shù)某晒IM 證書402和失敗RIM證書404和counterRIMProtect單調(diào)計(jì)數(shù)器,設(shè)備通知服務(wù)器過程完成1150。最后,設(shè)備重新引導(dǎo)1152,以保證新啟用的部件運(yùn)轉(zhuǎn)并且禁用的部件停止運(yùn)行。如上文描述地,圖8到圖11示出了優(yōu)選實(shí)施例,其中可選部件控制表408包含 RIMProtectValure802和加密簽名812。然而,在下文描述用于維持可選部件的啟用或禁用狀態(tài)的另一個(gè)優(yōu)選實(shí)施例。圖12示出了在可選部件控制表1200(先前描述的可選部件控制表808的簡化版本)中的該數(shù)據(jù)的優(yōu)選實(shí)施例??蛇x部件控制表1200為第一映射的示例。如上文描述地, 在每行存在具有兩個(gè)域的表;首先為可選可信部件邏輯證書標(biāo)簽804,其使用與在ID到證書的映射表508中的邏輯證書標(biāo)簽600相同的部件標(biāo)識符。接下來為指示由邏輯證書標(biāo)簽識別的可選可信部件是否被啟用的標(biāo)志806,如果該可選可信部件被啟用,則該標(biāo)志被設(shè)置為TRUE,或者如果該可選可信部件被禁用,則該標(biāo)志被設(shè)置為FALSE。該對值對于在系統(tǒng)中的每個(gè)可選可信部件進(jìn)行重復(fù),并且該表以-1的邏輯證書標(biāo)簽808和對于禁用通常被設(shè)置為FALSE的標(biāo)志810而結(jié)束。該對值的組共同被稱為邏輯證書標(biāo)簽表814。圖13示出了可選部件控制RIM證書1300的優(yōu)選實(shí)施例,該可選部件控制RIM 證書1300被用于維持可選部件控制表1200的完整性。該RIM證書在設(shè)備內(nèi)建立,因此其總是為例如由TCG移動可信模塊規(guī)范定義的內(nèi)部RIM證書。在單個(gè)設(shè)備內(nèi),僅有一個(gè)這樣的證書,因此標(biāo)簽1302為固定的字符串;在優(yōu)選的實(shí)施例中,其被設(shè)置為“0CC_ RIMC0在優(yōu)選的實(shí)施例中,RIMProtectValue802被用于保護(hù)以防反轉(zhuǎn)或重刷新攻擊,但是在此使用referenceCounterl304。如由TCG移動可信模塊規(guī)范所定義地,該域由MTM 進(jìn)行管理。因?yàn)樵揜IM證書從未被傳送到MTM API MTM_VerifyRIMCertAndExtend,設(shè)置狀態(tài) 1306,以使 TPM_PCR_SELECTION 為空,并且 measurementPCMndexl308 被設(shè)置為 0 值。measurementValueUlO存儲了可選部件控制表1200的散列,在這個(gè)優(yōu)選實(shí)施例中使用SHA-I算法來生成該值。不需要對該散列進(jìn)行簽名。域eXtensi0nDigestSize1312
15被設(shè)置為零,并且eXtenSi0nDigeStl314不存在。在另一個(gè)優(yōu)選的實(shí)施例中,代替域被設(shè)置為零的measurementValuel310中存儲散列,而是extensionDigestl314存儲可選部件控制表1200的散列,并且extensi0nDigestSize1312以字節(jié)保持該散列的大小。最后, integrityCheckSizel316和integrityCheckl318存儲如由TCG移動可信模塊規(guī)范定義的完整性校驗(yàn)信息。圖14示出了根據(jù)本發(fā)明對可選部件控制表的初始建立。如在對于原始引導(dǎo)的TCG 移動可信模塊規(guī)范中所詳述地,一旦MTM102已經(jīng)初始啟動,所示出的過程將在設(shè)備的恰好第一次引導(dǎo)時(shí)發(fā)生。再如那個(gè)文獻(xiàn)中所詳述地,原始引導(dǎo)可以發(fā)生在移動設(shè)備的生命周期的其它時(shí)間,因此圖14還示出了根據(jù)要求對該結(jié)構(gòu)的重建。首先,在原始引導(dǎo)順序已經(jīng)執(zhí)行了充分的初始化以構(gòu)建并初始化MTM和可信根之后,利用校驗(yàn)1400觀察是否存在現(xiàn)有的可選部件控制表1200。如果存在一個(gè)1402,那么計(jì)算該結(jié)構(gòu)的散列1404,并且對可選部件控制RIM證書1300進(jìn)行再調(diào)用1406。如果再調(diào)用成功并且存儲在measurementValuel310 中的散列值等于在1404計(jì)算的散列值,并且MTM_VerifyRIMCert返回TPM_SUCCESS以確認(rèn)該結(jié)構(gòu)是當(dāng)前的并且還未被篡改1408,原始引導(dǎo)程序以如在TCG移動參考架構(gòu)內(nèi)指定的其它過程1402來繼續(xù)進(jìn)行。如果在1402或1408處的校驗(yàn)失敗了,那么對可選部件控制表 1200和可選部件控制RIM證書1300進(jìn)行重建,或者進(jìn)行恰好第一次建立。首先,對默認(rèn)可選部件控制表1200進(jìn)行建立1410,并且對該結(jié)構(gòu)的散列進(jìn)行計(jì)算1412。接下來,對未簽名的可選部件控制RIM證書1300進(jìn)行建立1414,將measurementValuel310設(shè)置為在1412計(jì)算的散列值。通過利用該未簽名的證書調(diào)用MTM API MTMJnstallRIM 1416,MTM將其用作模板,以通過將當(dāng)前的counterRIMProctect值插入到referenceCounterl304域并且使用如在TCG移動可信模塊規(guī)范中描述的內(nèi)部私鑰生成integrityCheckData1318,來建立有效的內(nèi)部RIM證書。將這兩個(gè)新的結(jié)構(gòu)進(jìn)行存儲1418,并且原始引導(dǎo)程序以如在TCG移動參考架構(gòu)中指定的其它過程來繼續(xù)進(jìn)行1420。圖15示出了根據(jù)本發(fā)明如在TCG移動參考架構(gòu)的第6. 3. 4. 5節(jié)中描述的,對于RIM撤銷的任務(wù)所需的附加過程。該規(guī)范描述了如何驗(yàn)證RIM_Auth,對RIM_Cert有效性列表進(jìn)行校驗(yàn),并且對在該新的有效性列表上的不具有對應(yīng)的外部RIM_Cert的所有內(nèi)部RIM_Cert進(jìn)行刪除,對所有剩余的內(nèi)部RIM_Cert進(jìn)行重新生效,并且對 counterRIMProctect單調(diào)計(jì)數(shù)器進(jìn)行更新。在圖15示出的過程增加了對所有剩余的內(nèi)部 RIM_Cert進(jìn)行重新生效和對counterRIMProctect單調(diào)計(jì)數(shù)器進(jìn)行更新的步驟。首先,對可選部件控制表1200進(jìn)行獲取1500,對結(jié)構(gòu)的散列進(jìn)行計(jì)算1502并且對可選部件控制RIM 證書1300進(jìn)行再調(diào)用1504。如果再調(diào)用不成功,或者存儲在measurementValuel310中的散列值并不等于在1502計(jì)算的散列值,或者M(jìn)TM_VerifyRIMCert返回除了表示結(jié)構(gòu)為非當(dāng)前或已經(jīng)被篡改的TPM_SUCCESS之外的值1506,那么RIM撤銷過程失敗1508,并且將不會對安裝的程序或RIM證書做出改變。如果在另一方面,校驗(yàn)表示可選部件控制表1200有效,那么通過利用在1504 獲取的現(xiàn)有證書來調(diào)用MTM API MTMJnstallRIM 1510,MTM使用其作為模板,以利用插入referenceCounterl304域的±曾力口的counterRIMProctect值來建立新的內(nèi)部RIM證書,并且然后通過使用如在TCG移動可信模塊規(guī)范中描述的內(nèi)部私鑰來生成 intergrityCheckDatal3180
接下來,執(zhí)行如在TCG移動參考架構(gòu)規(guī)范中描述的任務(wù)利用增加的RIMProtect 計(jì)數(shù)器值對現(xiàn)有的內(nèi)部RIM證書進(jìn)行重新生效1512,然后增加counterRIMProtect單調(diào)計(jì)數(shù)器1514以保護(hù)可信部件RIM證書和可選部件控制RIM證書1300以防反轉(zhuǎn)或重刷新攻擊。 最后,如在TCG移動參考架構(gòu)規(guī)范中描述地,執(zhí)行剩余的撤銷功能。圖16示出了對在移動設(shè)備1600和控制可選部件的啟用和禁用的服務(wù)器1604之間的通信進(jìn)行處理。此外,還描述了由移動設(shè)備1600從在設(shè)備1600上的移動可信模塊1602 請求的服務(wù)。首先,1606用戶請求存儲在服務(wù)器上的契約維持選項(xiàng)。在優(yōu)選的實(shí)施例中,這是通過建立與服務(wù)器的SSL(安全套接層)會話來執(zhí)行的。然后,服務(wù)器執(zhí)行如在TCG規(guī)范架構(gòu)綜述中定義的與設(shè)備的認(rèn)證1608,從而驗(yàn)證設(shè)備的身份和信用。設(shè)備將請求轉(zhuǎn)發(fā)到 MTM1610以使MTM能夠報(bào)告給服務(wù)器。從MTM1602通過設(shè)備1612將確認(rèn)消息返回到服務(wù)器 1614。在認(rèn)證成功完成之后,客戶通過在優(yōu)選的實(shí)施例中使用Diffie-Hellman密鑰交換建立與服務(wù)器共享的秘密1616、1618。接下來,服務(wù)器傳送適于所識別的手機(jī)的定制可選部件狀態(tài)頁面1620。在優(yōu)選的實(shí)施例中,這是一種設(shè)備用戶與1622交互以選擇哪些選項(xiàng)加入設(shè)備或從設(shè)備上去除的基于HTML的頁面。在做出所要求的改變之后,設(shè)備發(fā)送包括每個(gè)可選部件的新的啟用或禁用的狀態(tài)的消息,以示出交互完成了 16M。在優(yōu)選的實(shí)施例中, 這由到HTTPS頁面的POST來執(zhí)行,所述到HTTPS頁面的POST在先前傳送的定制選項(xiàng)頁面 1160內(nèi)描述了。在另一個(gè)優(yōu)選實(shí)施例中,設(shè)備對于由設(shè)備用戶做出的每個(gè)改變發(fā)送單獨(dú)的消息。在另一個(gè)優(yōu)選實(shí)施例中,設(shè)備通過使用基于AJAX的機(jī)制在每個(gè)改變做出之后發(fā)送單獨(dú)的消息,并且用戶選擇一旦結(jié)束則發(fā)送完成消息的選項(xiàng)。服務(wù)器適當(dāng)?shù)馗缕淇蛻舻臄?shù)據(jù)庫,并且將新的一組利用在1616和1618建立的密鑰進(jìn)行編碼的更新后的可選部件狀態(tài)標(biāo)志16 發(fā)送到設(shè)備。這些步驟對應(yīng)在圖18中標(biāo)注為1814、1816、1818、1820和1822的項(xiàng)。在優(yōu)選的實(shí)施例中,數(shù)據(jù)與邏輯證書標(biāo)簽表814具有類似的格式,具有多對邏輯證書標(biāo)簽804和啟用標(biāo)志806,并且由值為-1的808和FALSE810的對結(jié)束。這在圖17中示出了, 其中如上文所述,可選部件更新表1700包含邏輯證書標(biāo)簽表814,以及該表的散列1702,以保證數(shù)據(jù)在傳輸期間不被損壞。設(shè)備對可選部件更新結(jié)構(gòu)16 進(jìn)行解碼和驗(yàn)證,并且如果解碼和驗(yàn)證成功,則開始選項(xiàng)的過程以保證啟用和禁用的部件被正確地配置。接下來的任務(wù)是對于設(shè)備來將每個(gè)RIM證書1630進(jìn)行重裝,這一重裝對于存在于設(shè)備1632上的所有內(nèi)部RIM證書(成功RIM證書和失敗RIM證書)進(jìn)行重復(fù)。該行動保證了,在證書內(nèi)具有的RIM保護(hù)計(jì)數(shù)器值在RIM保護(hù)計(jì)數(shù)器增值1646之前而增值,否則如果計(jì)數(shù)器首先增值,然后在重裝過程完成之前發(fā)生系統(tǒng)失敗,則設(shè)備可能陷入不能引導(dǎo)的狀態(tài)。一旦所有的現(xiàn)有內(nèi)部RIM證書已經(jīng)被更新,通過使用來自在16 提供的可選部件更新結(jié)構(gòu)的狀態(tài)標(biāo)志,來對新的可選部件控制表1200進(jìn)行建立,并且對該表的散列進(jìn)行計(jì)算1636。接下來,利用被設(shè)置為在1636處計(jì)算的散列值的measurementValuel310,來對未簽名的可選部件控制RIM證書1300進(jìn)行建立1638。通過利用該未簽名的證書對MTM API MTMJnstal 1RIM1640進(jìn)行調(diào)用,MTM將其用作模板,以通過將當(dāng)前的counterRIMProtect值插入referenceCOunterl304域中并且使用如在TCG移動可信模塊規(guī)范中描述的內(nèi)部私鑰生成intergrityCheckDatal318,來建立有效的內(nèi)部RIM證書,并且MTM將簽名結(jié)構(gòu)返回到移動設(shè)備1642,并存儲該新的結(jié)構(gòu)1644。
為了保護(hù)以防反轉(zhuǎn)或重刷新攻擊,設(shè)備請求MTM 1602對RIM保護(hù)單調(diào)計(jì)數(shù)器1646 進(jìn)行增值,并且MTM 1602對操作的成功進(jìn)行確認(rèn)1648?,F(xiàn)在所有在設(shè)備上與可選部件相關(guān)聯(lián)的信息都已經(jīng)被成功地更新,即所述為可選部件控制結(jié)構(gòu)408、適當(dāng)?shù)某晒IM證書402 和失敗RIM證書404和counterRIMProtect單調(diào)計(jì)數(shù)器,設(shè)備通知服務(wù)器過程完成1650。 最后,設(shè)備重新引導(dǎo)1652,以保證新啟用的部件運(yùn)轉(zhuǎn)并且禁用的部件停止運(yùn)行。圖18示出了本發(fā)明的另一個(gè)方面,即允許設(shè)備用戶對在他們的設(shè)備上被啟用或禁用的可選部件進(jìn)行維持的服務(wù)器316的結(jié)構(gòu)。關(guān)鍵功能元件和數(shù)據(jù)項(xiàng)如下。秘密生成器1802、頁面生成器1808、選項(xiàng)處理器1816、加密器1820和交易執(zhí)行器(transaction commiter) 1826這五個(gè)方塊為到外部設(shè)備的接口點(diǎn),并且這個(gè)五個(gè)方塊具有從左到右的通信流。首先秘密生成器1802通過使用諸如Diffe-Hellman的雙向通信協(xié)議1800來建立共享密鑰1804。接下來,移動設(shè)備請求契約維持網(wǎng)頁1806,因此頁面生成器1808建立一個(gè)從客戶選項(xiàng)維持器1810請求當(dāng)前可選部件狀態(tài)的頁面,該客戶選項(xiàng)維持器1810詢問客戶選項(xiàng)數(shù)據(jù)庫1812以找到該當(dāng)前狀態(tài)。在設(shè)備用戶結(jié)束與生成的網(wǎng)頁的交互之后,完成消息被發(fā)送到服務(wù)器1814,并且選項(xiàng)處理器1816將通知客戶選項(xiàng)維持器1810新的選項(xiàng),開始在客戶選項(xiàng)數(shù)據(jù)庫1812內(nèi)的交易。該選項(xiàng)被傳送給可選部件控制表生成器1818,所述生成器 1818將選項(xiàng)格式化到可選部件更新表1700中。加密器1820利用共享的密鑰1804對該結(jié)構(gòu)進(jìn)行加密,并且將該結(jié)構(gòu)返回到移動設(shè)備1822。最后,在移動設(shè)備結(jié)束對所有的內(nèi)部結(jié)構(gòu)的更新之后,由交易執(zhí)行器1擬6接收完成消息1824,該完成消息1擬4通知客戶選項(xiàng)維持器 1810 在客戶選項(xiàng)數(shù)據(jù)庫1812內(nèi)的未解決交易將被執(zhí)行。前述的圖已經(jīng)描述了如何管理可選部件控制表;接下來的部分將描述如何在多路徑安全引導(dǎo)期間使用可選部件控制表。圖19基于現(xiàn)有技術(shù)的圖1示出了本發(fā)明。該圖捕獲了在核心部件(諸如可信區(qū)域100內(nèi)的RTV+RTM和MTM接口)已自驗(yàn)證之后的某一時(shí)刻的安全引導(dǎo)過程的狀態(tài)。MTM 102是該可信區(qū)域100的核心,但是在該可信區(qū)域100內(nèi)的其它關(guān)鍵項(xiàng)為部件錯(cuò)誤狀態(tài) 1900,其標(biāo)志著指示在安全引導(dǎo)中的每個(gè)部件是否已啟動并且正確地操作;部件錯(cuò)誤記錄器1902,其針對適當(dāng)?shù)牟考O(shè)置部件錯(cuò)誤狀態(tài)1900 ;啟動器108,其負(fù)責(zé)啟動被添加到可信區(qū)域100的下個(gè)部件;證書查找器1904,其根據(jù)標(biāo)簽到證書映射表1908、可選部件控制表 1910和部件錯(cuò)誤狀態(tài)1900來查找所要求的成功RIM證書114或失敗RIM證書1906。證書查找器1904為查找單元的示例。啟動器108為在執(zhí)行可信部件1116的情況下的計(jì)算單元、 驗(yàn)證單元、更新單元和執(zhí)行單元的示例。證書查找器1904還是在執(zhí)行后的部件(例如,可信部件1116成功地執(zhí)行)執(zhí)行下個(gè)部件的情況下的計(jì)算單元、驗(yàn)證單元、更新單元和執(zhí)行單元的示例。標(biāo)簽到證書映射表1908為第二映射的示例。可選部件控制表1910為第一映射的示例。失敗RIM證書1906描述了在一個(gè)或多個(gè)部件未能正確操作的情況下,安全引導(dǎo)期間所期望的平臺狀態(tài)。可選部件控制表1910包含由邏輯證書標(biāo)簽表814描述并存儲在完整性保護(hù)的容器(如圖8和圖12中所示出的)中的數(shù)據(jù)。換言之,作為第二映射的示例的標(biāo)簽到證書映射表1908以及作為第一映射的示例的可選部件控制表1910是由提供單元提供的(或者存儲在存儲單元中,未示出)。失敗定序器1918使用下個(gè)部件表1912和部件錯(cuò)誤狀態(tài)1900來選擇接下來啟動哪個(gè)部件,在圖M中將對其進(jìn)行詳細(xì)描述。失敗定序器1918為在部件的執(zhí)行失敗的情況下的計(jì)算單元、驗(yàn)證單元、更新單元和執(zhí)行單元的示例。這些RIM證書114和1906、下個(gè)部件表1912、可選部件控制表1910、以及標(biāo)簽到證書映射表1908應(yīng)當(dāng)被完整性保護(hù),因此被放置在完整性保護(hù)112的數(shù)據(jù)項(xiàng)的組中。下個(gè)部件表1912為第三映射的示例。應(yīng)當(dāng)注意的是,正如圖1,完整性保護(hù)是數(shù)據(jù)的內(nèi)在屬性而不是外在屬性。還應(yīng)當(dāng)注意的是,成功RIM證書114和失敗RIM證書1906的格式是相同的;關(guān)鍵的區(qū)別在于根據(jù)ID到證書映射表1908 而分配給它們的角色;除了基于該表之外,無法在這兩者之間進(jìn)行區(qū)分,并且確實(shí)不需要做出這樣的區(qū)分。具有可選部件的安全引導(dǎo)的目的是擴(kuò)大可信區(qū)域100,以包含(如果可能)所有附加部件(可信部件1 116、可信部件2 118和可信部件3 120),但是如果任何部件啟動失敗,則可信區(qū)域100將不擴(kuò)展到覆蓋它們。從啟動器108通往可信部件1 116、可信部件2 118和可信部件3 120的虛線(被標(biāo)記為122、1M和126)指示根據(jù)現(xiàn)有技術(shù)的一個(gè)方面的正常執(zhí)行路徑。根據(jù)現(xiàn)有技術(shù)的另一方面,在操作系統(tǒng)(未示出)作為最后的可信部件的情況下,可能存在另外的可信部件。從可信部件1 116到失敗定序器1 918然后到可信部件3 120的較粗的線(被標(biāo)記為1914和1916)指示根據(jù)本發(fā)明的一個(gè)方面,如果可信部件2 118啟動失敗或者在可選部件控制表1 919中被標(biāo)注為禁用,則替換的執(zhí)行路徑是可用的。圖20示出了由本發(fā)明所致的新的安全引導(dǎo)結(jié)果??捎玫牟考侨鐖D2中所描述的,并且期望的成功結(jié)果208必然是一個(gè)有效結(jié)果。然而,替換了失敗條件212,新的流程 2000能夠跳過失敗的或禁用的可信部件4 200,并且繼續(xù)用可信部件5 202來產(chǎn)生運(yùn)行的但具有有限能力的可信區(qū)域2002。類似地,流程2004示出了在可信部件2 118和可信部件 5 202兩者均未能正確操作或者在可信部件控制表1910內(nèi)被標(biāo)注為禁用的情況下,產(chǎn)生另一運(yùn)行的但具有有限能力的可信區(qū)域2006。在可信區(qū)域框圖208、2002和2006中,TCl表示可信部件1 116,TC2表示可信部件2 118,TC3表示可信部件3 120,TC4表示可信部件4 200,TC5表示可信部件5 202,并且OS表示操作系統(tǒng)204。所有部件依賴于MTM 102,此外可信部件2 118依賴于可信部件1 116,并且可信部件4 200和可信部件5 202依賴于可信部件3120。操作系統(tǒng)204依賴于可信部件1 116和可信部件3 120。陰影部分表示不能使用的部件。圖21A到圖M示出了根據(jù)本發(fā)明,在安全引導(dǎo)系統(tǒng)的關(guān)鍵部分之間的控制流程序列。根據(jù)本發(fā)明的安全引導(dǎo)系統(tǒng)執(zhí)行一種方法,該方法執(zhí)行根據(jù)完整性測量執(zhí)行可驗(yàn)證的軟件部件。首先,在根據(jù)現(xiàn)有技術(shù)的圖21A中,系統(tǒng)開始通電2100,然后繼續(xù)執(zhí)行系統(tǒng)的基本引導(dǎo)2102,對RTV、RTM、MTM等進(jìn)行初始化2104,請求用于可信區(qū)域自驗(yàn)證的RIM證書2108,并且如果沒發(fā)現(xiàn),則已經(jīng)存在嚴(yán)重錯(cuò)誤,因此所有設(shè)備能做的就是進(jìn)入失敗狀態(tài) 2132。如果發(fā)現(xiàn)2110,則通過對RIM證書內(nèi)指定的PCR的子集進(jìn)行連接,來將RIM證書擴(kuò)展到MTM 2112中。如果擴(kuò)展操作失敗2114,則已經(jīng)存在嚴(yán)重錯(cuò)誤,因此所有設(shè)備能夠做的就是進(jìn)入失敗狀態(tài)2132。否則,需要對關(guān)鍵數(shù)據(jù)表的完整性進(jìn)行驗(yàn)證。對于下個(gè)部件表1912 和標(biāo)簽到證書映射表1908,因?yàn)樗鼈兪艿絉IM證書500的extensionDigest域504的保護(hù), 則可以對該散列的有效性進(jìn)行檢查,然后MTM API MTM_VerifyRIMCert用于對RIM證書500 本身的完整性進(jìn)行驗(yàn)證2116。對于可選部件控制表1910,由于該表的兩個(gè)實(shí)施例需要不同驗(yàn)證過程,因此在圖21B和圖21C中描述了驗(yàn)證過程2118。如果驗(yàn)證操作中的任何一個(gè)失
19敗2120,則已經(jīng)存在嚴(yán)重錯(cuò)誤,因此所有設(shè)備能夠做的就是進(jìn)入失敗狀態(tài)2132。本領(lǐng)域的一個(gè)普通技術(shù)人員應(yīng)明白,存在該驗(yàn)證過程可能的其它實(shí)施方式,諸如在每次使用下面的序列中的表之前執(zhí)行驗(yàn)證。接下來,請求用于可信部件1的驗(yàn)證的RIM證書2122,以獲得描述可信部件1 116 的所期望的當(dāng)前狀態(tài)和所期望的狀態(tài)的RIM證書。換言之,第一映射(可選部件控制表408 或1200)查找識別軟件部件(可信部件1 116)的給定的邏輯標(biāo)識符,以得到指示該軟件部件是否啟用的狀態(tài)標(biāo)志。然后,針對識別軟件部件的驗(yàn)證證書的給定的邏輯標(biāo)識符以及先前部件的狀態(tài)來對第二映射(ID到證書映射表508)進(jìn)行查找,以得到完整性測量證書(RIM 證書)2126。如果未返回該RIM證書2124,CPU將利用指示獲取可信部件1的RIM證書有錯(cuò)誤的指示符來將控制傳遞給失敗定序器21;34,以允許失敗定序器來處理該錯(cuò)誤。換言之, 如果該部件未啟用,則失敗定序器處理該錯(cuò)誤。在下文的圖M中描述了該過程。失敗的一個(gè)可能的原因是,當(dāng)在2122中請求RIM證書時(shí),證書查找過程1904涉及可選部件控制表 1910,并且應(yīng)注意的是,對應(yīng)于所請求的RIM證書的部件被禁用,因此其返回明顯的錯(cuò)誤代碼以指示所請求的RIM證書對應(yīng)于禁用的部件。該可信部件計(jì)算其散列值2126,并且存在對所計(jì)算出的值是否等于在RIM證書中存儲的值的校驗(yàn)21觀。換言之,對要執(zhí)行的軟件部件(可信部件1116)的校驗(yàn)值(散列值)進(jìn)行計(jì)算21沈。接下來,驗(yàn)證21 以下方面完整性測量匹配完整性測量證書內(nèi)的完整性測量值;以及,所計(jì)算出的校驗(yàn)值匹配完整性測量證書(所請求的RIM證書)內(nèi)的校驗(yàn)值。如果所述散列值不相等,則其指示所述部件存在諸如意外或故意損壞之類的問題。然后,CPU將利用指示存在針對可信部件1的散列錯(cuò)誤的指示符來將控制傳遞給失敗定序器 2136,以允許失敗定序器來處理該錯(cuò)誤。換言之,如果驗(yàn)證未成功,則失敗定序器處理該錯(cuò)誤。下面在圖M中描述該過程。如果所述散列值相等,那么部件錯(cuò)誤記錄器記錄對該部件進(jìn)行的散列校驗(yàn)成功2130。過程繼續(xù)到圖22。圖21B示出了當(dāng)可選部件控制表的實(shí)施例如圖8中所示時(shí),用于驗(yàn)證可選部件控制表1910有效的驗(yàn)證可選部件控制表2118步驟的細(xì)節(jié)。首先,獲取用于驗(yàn)證可選部件控制表上的簽名的密鑰的公共部分。如果未發(fā)現(xiàn)該密鑰2152,那么錯(cuò)誤已經(jīng)發(fā)生,則將錯(cuò)誤代碼返回到調(diào)用過程2巧4。如果密鑰存在,則接下來獲取可選部件控制表2156。如果其不存在 2158,則錯(cuò)誤已經(jīng)發(fā)生,將錯(cuò)誤代碼返回到調(diào)用過程2巧4?,F(xiàn)在,獲取coimterRIMProtect 單調(diào)計(jì)數(shù)器值2160,并且對可選部件控制表進(jìn)行驗(yàn)證2162。這包括校驗(yàn)所計(jì)算的簽名是否與所存儲的簽名匹配以檢測篡改,以及校驗(yàn)所存儲的RIMProtectValue802是大于還是等于所再調(diào)用的單調(diào)計(jì)數(shù)器值。如果其失敗2164,那么已經(jīng)發(fā)生錯(cuò)誤,則將錯(cuò)誤代碼返回到調(diào)用過程21M。如果其成功,那么可選部件控制表是有效的,并且將成功代碼返回到調(diào)用過程 2166,并且安全引導(dǎo)過程如在圖21A中描述的繼續(xù)進(jìn)行。圖21C示出了當(dāng)可選部件控制表的實(shí)施例如圖12和圖13中所示時(shí),用于驗(yàn)證可選部件控制表1910有效的驗(yàn)證可選部件控制表2118步驟的細(xì)節(jié)。首先,獲取保護(hù)可選部件控制表的RIM證書2170。如果其未被發(fā)現(xiàn)2172,那么錯(cuò)誤已經(jīng)發(fā)生,則將錯(cuò)誤代碼返回到調(diào)用過程2174。接下來,獲取可選部件控制表2176。如果其不存在2178,那么錯(cuò)誤已經(jīng)發(fā)生,則將錯(cuò)誤代碼返回到調(diào)用過程2174。否則,對可選部件控制表1200的散列進(jìn)行計(jì)算 2180,并且將結(jié)果與存儲在可選部件控制表的RIM證書內(nèi)的參考散列值進(jìn)行比較2182。如果它們不匹配2184,那么已經(jīng)發(fā)生錯(cuò)誤,則將錯(cuò)誤代碼返回到調(diào)用過程2174。接下來,請求 MTM以執(zhí)行可選部件控制表的RIM證書上MTM的API MTM_VerifyRIMCert 2186,以確保證書本身是有效的。如果該API返回錯(cuò)誤代碼2188,那么已經(jīng)發(fā)生錯(cuò)誤,則將錯(cuò)誤代碼返回到調(diào)用過程2174。如果其成功,則可選部件控制表是有效的,并且將成功代碼返回到調(diào)用過程 2190,并且安全引導(dǎo)過程如圖21A中描述地繼續(xù)進(jìn)行。圖22示出了安全引導(dǎo)序列的進(jìn)一步處理。根據(jù)現(xiàn)有技術(shù),通過將該RIM證書中定義的值附加到該RIM證書中定義的PCR中,來將先前得到的RIM證書擴(kuò)展到MTM 2200中。 換言之,如果狀態(tài)標(biāo)志指示該軟件部件被啟用并且校驗(yàn)21 成功,則將當(dāng)前完整性測量更新2200為包括完整性測量證書內(nèi)的校驗(yàn)值的指示。對擴(kuò)展操作的結(jié)果進(jìn)行校驗(yàn)2202,以判斷該擴(kuò)展是否正確工作。如果為否,則CPU將控制傳遞給失敗定序器2204,以允許失敗定序器處理該錯(cuò)誤。在下面的圖M中描述該過程。如果正確地?cái)U(kuò)展了該散列值,則其指示該部件可以被可信區(qū)域完全信任,因此可信部件1啟動2206,并且將控制傳遞給該新的部件。 換言之,如果軟件部件啟動并且驗(yàn)證成功,則執(zhí)行該軟件部件2206。第一過程針對要初始化的可信部件2208,該第一過程執(zhí)行部件和該部件可以控制的任何硬件等所要求的初始化。該部件自校驗(yàn)其已經(jīng)成功地初始化2210,并且如果存在錯(cuò)誤,則該可信部件將利用指示當(dāng)前可信部件未能初始化的錯(cuò)誤代碼來將控制傳遞給失敗定序器2212,以允許失敗定序器處理該錯(cuò)誤。下面在圖M中描述該過程。如果不存在錯(cuò)誤, 則該部件錯(cuò)誤記錄器2214記錄該部件的初始化成功。接下來,該可信部件請求用于自驗(yàn)證的RIM證書2216,以得到對所期望的當(dāng)前狀態(tài)和擴(kuò)展到給定的PCR中的給定值進(jìn)行描述的 RIM證書。如果未找到所請求的RIM證書2217,則該可信部件將利用指示當(dāng)前可信部件未能初始化的錯(cuò)誤代碼來將控制傳遞給失敗定序器2212,以允許失敗定序器處理該錯(cuò)誤。下面在圖M中描述該過程。否則,根據(jù)現(xiàn)有技術(shù),將RIM證書擴(kuò)展2218到MTM中,并且對擴(kuò)展操作的成功或其它方面進(jìn)行校驗(yàn)2220。如果擴(kuò)展操作失敗,則可信部件將利用指示當(dāng)前可信部件未能自驗(yàn)證的錯(cuò)誤代碼來將控制傳遞給失敗定序器2222,以允許該失敗定序器處理該錯(cuò)誤。下面在圖M中描述該過程。如果正確地?cái)U(kuò)展所述值,則當(dāng)前可信部件根據(jù)要求繼續(xù)執(zhí)行其它任務(wù)22對。過程繼續(xù)到圖23。圖23示出了安全引導(dǎo)序列的進(jìn)一步處理。首先,進(jìn)行校驗(yàn)以判斷是否還有要加載的可信部件2300,并且如果沒有,則已經(jīng)成功地完成安全引導(dǎo)2302。應(yīng)當(dāng)注意的是,在該實(shí)施例中,如果可選部件的驗(yàn)證已經(jīng)失敗,則該可選部件未被引導(dǎo)。因此,在步驟2302中,即使安全引導(dǎo)已經(jīng)成功地完成,但是一些可選部件可能未被弓I導(dǎo)。在一個(gè)實(shí)施例中,這不是實(shí)際的校驗(yàn);在一個(gè)操作系統(tǒng)的實(shí)施例中,實(shí)施加載序列中的最后一個(gè)部件,以使其在完成其被定義成執(zhí)行的其它任務(wù)22M之后,不尋找另一部件。如果存在要啟動的其它部件,則請求用于下個(gè)可信部件的驗(yàn)證的RIM證書2304。在此,所述下個(gè)可信部件的含義是接下來應(yīng)當(dāng)被引導(dǎo)的可信部件。如果未返回該RIM證書2305,則CPU將利用指示獲取下個(gè)可信部件的RIM證書的有錯(cuò)誤的指示符,來將控制傳遞給失敗定序器2322,以允許失敗定序器處理該錯(cuò)誤。下面在圖M中描述該過程。失敗的一個(gè)可能的原因是,當(dāng)在2304中請求該RIM 證書時(shí),證書查找過程1904涉及可選部件控制表1910,應(yīng)注意的是,對應(yīng)于所請求的RIM證書的部件禁用,因此其返回明顯的錯(cuò)誤代碼,以指示所請求的RIM證書對應(yīng)于禁用的部件。在計(jì)算下個(gè)可信部件的散列中,可信部件以與如RIM證書中所描述的相同的方式計(jì)算其散列值2306,然后執(zhí)行校驗(yàn)2308以判斷該計(jì)算出的散列值是否等于存儲在下個(gè)可信部件的RIM證書中的散列值。如果它們不相等,則指示該部件存在諸如意外或故意損壞之類的問題,該可信部件將利用指示下個(gè)可信部件的散列沒有生效的錯(cuò)誤代碼來將控制傳遞給失敗定序器2310,以允許該失敗定序器處理該錯(cuò)誤。下面在圖M中描述該過程。如果所述散列值相等,則部件錯(cuò)誤記錄器記錄下個(gè)可信部件的散列校驗(yàn)成功2312。接下來, 根據(jù)現(xiàn)有技術(shù)將該RIM證書擴(kuò)展到MTM中2314,并且對擴(kuò)展操作的成功或其它方面進(jìn)行校驗(yàn)2316。如果擴(kuò)展操作失敗,則該可信部件將利用指示將下個(gè)可信部件擴(kuò)展到MTM中失敗的錯(cuò)誤代碼來將控制傳遞給失敗定序器2318,以允許該失敗定序器處理該錯(cuò)誤。下面在圖 24中描述該過程。如果相反地正確擴(kuò)展了所述散列值,則其指示下個(gè)可信部件可以由可信區(qū)域完全地信任,因此其將被啟動2320,并且過程將從步驟2208重復(fù)。圖對示出了根據(jù)本發(fā)明的失敗定序器操作。首先,在部件錯(cuò)誤狀態(tài)1900中記錄傳遞進(jìn)來的錯(cuò)誤代碼M00。例如,如果狀態(tài)標(biāo)志指示軟件部件未啟用2314,則針對識別軟件部件的驗(yàn)證證書的給定的邏輯標(biāo)識符以及先前部件的狀態(tài)來對第二映射(ID到證書映射表508)進(jìn)行查找,以得到禁用的完整性測量證書(失敗RIM證書404)。接下來,對當(dāng)前完整性測量進(jìn)行更新,以包括存儲在禁用的完整性測量證書內(nèi)的禁用的部件狀態(tài)的指示。如果驗(yàn)證未成功2136,則針對識別該部件的驗(yàn)證失敗證書的給定邏輯標(biāo)識符以及先前的部件狀態(tài)對第二映射(ID到證書映射表508)進(jìn)行查找,以得到失敗完整性測量證書(失敗RIM 證書404)。然后,對當(dāng)前完整性測量進(jìn)行更新,以包括存儲在失敗完整性測量證書內(nèi)的未成功的完整性測量的指示。接下來,從部件錯(cuò)誤狀態(tài)1900獲取所有當(dāng)前的部件錯(cuò)誤狀態(tài)M02,然后所述部件錯(cuò)誤狀態(tài)1900被用于查找下個(gè)部件表1912,以找到應(yīng)當(dāng)啟動的下個(gè)可信部件M04。換言之,針對識別該部件的給定邏輯標(biāo)識符和先前的部件狀態(tài)對第三映射(下個(gè)部件表1912) 進(jìn)行查找,以得到要執(zhí)行的替代的軟件部件。進(jìn)行校驗(yàn)以判斷是否存在所定義的下個(gè)部件 M06,并且如果不存在,則安全引導(dǎo)將進(jìn)入失敗狀態(tài)M08,并且設(shè)備將無法以正常的安全方式啟動。如果存在下個(gè)可信部件,然后請求下個(gè)可信部件驗(yàn)證的RIM證書M10,以得到描述下個(gè)可信部件的所期望的當(dāng)前狀態(tài)和所期望的狀態(tài)的失敗RIM證書。在此,所述下個(gè)可信部件的含義是接下來應(yīng)當(dāng)引導(dǎo)的可信部件。如果未返回該RIM證書2411,則CPU將利用指示獲取下個(gè)可信部件的RIM證書有錯(cuò)誤的指示符,來將控制傳遞到失敗定序器的起始處 2428,以允許失敗定序器處理該錯(cuò)誤。如果成功地返回該RIM證書,則下個(gè)可信部件計(jì)算其散列值2412,并且將所計(jì)算出的散列值與在該RIM證書內(nèi)的散列值進(jìn)行比較M14。如果它們不相等,則指示該部件存在諸如意外或故意的損壞之類的問題,失敗定序器將利用指示下個(gè)可信部件的散列未生效的錯(cuò)誤代碼來將控制傳遞給失敗定序器的起始處M16,以允許該失敗定序器處理該錯(cuò)誤。如果所述散列值相等,那么部件錯(cuò)誤記錄器記錄下個(gè)可信部件的散列校驗(yàn)成功對18。接下來,根據(jù)現(xiàn)有技術(shù)將該RIM證書擴(kuò)展到MTM中2420,并且對擴(kuò)展操作的成功或其它方面進(jìn)行校驗(yàn)M22。如果該擴(kuò)展操作失敗,則失敗定序器將利用指示下個(gè)可信部件的擴(kuò)展未成功的錯(cuò)誤代碼,來將控制傳遞回失敗定序器的始端2426,以允許該失敗定序器處理該錯(cuò)誤。如果該散列值成功地?cái)U(kuò)展,則其指示下個(gè)可信部件可以由可信區(qū)域完全地信任,因此啟動下個(gè)附加部件MM,并且根據(jù)所指示的,控制流繼續(xù)進(jìn)行上面的可信部件初始化2208。
22
應(yīng)當(dāng)注意的是,雖然基于前述的實(shí)施例對本發(fā)明進(jìn)行了描述,但是本發(fā)明明顯并不限于這樣的實(shí)施例。以下的情況也包括在本發(fā)明中。(1)在虛擬化環(huán)境的情況下,在一個(gè)實(shí)施例中,管理程序?yàn)閳?zhí)行的最終可信部件。 在另一個(gè)實(shí)施例中,其它可信部件(諸如操作系統(tǒng))在管理程序可信部件執(zhí)行之后執(zhí)行。(2)在前述的實(shí)施例中,對每個(gè)部件的驗(yàn)證在每個(gè)部件被啟動之前執(zhí)行。然而,本發(fā)明可以被應(yīng)用到驗(yàn)證在每個(gè)部件啟動之后執(zhí)行的系統(tǒng)中。在那樣的情況下,如果對該部件的驗(yàn)證失敗,則系統(tǒng)停止每個(gè)部件。(3)在前述的實(shí)施例中,以與TCG規(guī)范類似的方式來執(zhí)行驗(yàn)證。然而,本發(fā)明可以被應(yīng)用到另一個(gè)驗(yàn)證系統(tǒng),只要該驗(yàn)證系統(tǒng)可以使用如同鏈一樣對部件進(jìn)行驗(yàn)證的驗(yàn)證方法(即,一個(gè)部件驗(yàn)證在該一個(gè)部件之后啟動的另一個(gè)部件),來對系統(tǒng)的部件進(jìn)行驗(yàn)證。 例如將散列值擴(kuò)展到MTM中可以被省略,這是因?yàn)樵摬僮魇翘囟ㄓ糜赥CG規(guī)范的。(4)在前述的實(shí)施例中,通過使用證書(RIM證書)中的散列值來執(zhí)行驗(yàn)證。然而, 可以將不使用散列值的另一驗(yàn)證方法應(yīng)用到本發(fā)明。常見的校驗(yàn)和或者從部件中提取的另外的數(shù)據(jù)(例如,從部件提取的第一預(yù)定位)可以用于執(zhí)行驗(yàn)證。此外,證書可以被包括完整性校驗(yàn)值的數(shù)據(jù)組替換。并且,驗(yàn)證方法并不限于校驗(yàn)從部件中提取的值是否與所期望的值匹配。例如,對該部件的大小進(jìn)行校驗(yàn),并且如果該大小比預(yù)定量更大或更小,則該部件可以被判斷為被驗(yàn)證了。這些驗(yàn)證方法并不如將散列值與其期望的值進(jìn)行比較那么精確,然而它們執(zhí)行起來更快。(5)特別地,每個(gè)前述的裝置為包括微處理器、ROM、RAM、硬盤單元、顯示單元、鍵盤、鼠標(biāo)等的計(jì)算機(jī)系統(tǒng)。計(jì)算機(jī)程序存儲在RAM和硬盤單元中。各自的裝置通過根據(jù)計(jì)算機(jī)程序的微處理器的操作來完成它們的功能。此處,通過將指示用于計(jì)算機(jī)的指令的復(fù)數(shù)個(gè)指令代碼進(jìn)行組合來配置該計(jì)算機(jī)程序。(6)可以根據(jù)單個(gè)LSI (大規(guī)模集成電路)系統(tǒng)來對構(gòu)成各個(gè)裝置的構(gòu)成元件中的一部分或全部進(jìn)行配置。該LSI系統(tǒng)為通過在一個(gè)芯片上集成構(gòu)成單元來制造的超級多功能LSI,并且尤其是通過包括微處理器、ROM、RAM等等配置的計(jì)算機(jī)系統(tǒng)。計(jì)算機(jī)程序存儲在RAM中。LSI系統(tǒng)通過根據(jù)計(jì)算機(jī)程序的微處理器的操作獲取其功能。此外,配置各個(gè)裝置的構(gòu)成元件的每個(gè)單元可以被制作成單個(gè)芯片,或者包括單個(gè)芯片的部分或所有的單獨(dú)芯片。此外,在此提及了 LSI系統(tǒng),但是由于集成度的差別所致,存在使用指定IC、LSI、 超級LSI和極大LSI的例子。此外,用于電路集成的手段并不限于LSI,并且利用專用的電路或通用的處理器的實(shí)施方式也是可行的。另外,使用在制造LSI之后可編程的現(xiàn)場可編程門陣列(FPGA),以及可重配置的處理器(在其中對LSI內(nèi)的電路單元的連接和設(shè)置可進(jìn)行重配置)也是可以接受的。此外,如果替代LSI的集成電路技術(shù)在半導(dǎo)體技術(shù)或其它派生技術(shù)中出現(xiàn)突破性的進(jìn)步,則該技術(shù)可以自然地用于實(shí)現(xiàn)構(gòu)成元件的集成。期望應(yīng)用生物技術(shù)。 (7)構(gòu)成各自裝置的構(gòu)成元件的部分或全部可以被配置為可以附接到各自的裝置或從各自的裝置脫離開的IC卡,或可以作為獨(dú)立的模塊。該IC卡或模塊是從微處理器、ROM和RAM等配置的計(jì)算機(jī)系統(tǒng)。該IC卡或模塊也可以被包括在上述的超級多功能LSI中。該 IC卡或模塊通過根據(jù)計(jì)算機(jī)程序的微處理器的操作來實(shí)現(xiàn)其功能。該IC卡或模塊也可以被實(shí)現(xiàn)為防篡改的。(8)本發(fā)明可以是用于通過使用計(jì)算機(jī)來實(shí)現(xiàn)前述方法的計(jì)算機(jī)程序,并且也可以是包括計(jì)算機(jī)程序的數(shù)字信號。此外,也可以通過在計(jì)算機(jī)可讀記錄介質(zhì)中存儲計(jì)算機(jī)程序或數(shù)字信號來實(shí)現(xiàn)本發(fā)明,該計(jì)算機(jī)可讀記錄介質(zhì)例如是軟盤、硬盤、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD (藍(lán)光光盤)和半導(dǎo)體存儲器。此外,本發(fā)明也包括在這些記錄介質(zhì)中記錄的數(shù)字信號。此外,也可以通過經(jīng)由電信線、無線或有線通信線、由因特網(wǎng)所代表的網(wǎng)絡(luò)、以及數(shù)據(jù)廣播等傳輸上述計(jì)算機(jī)程序或數(shù)字信號來實(shí)現(xiàn)本發(fā)明。本發(fā)明也可以是計(jì)算機(jī)系統(tǒng),該計(jì)算機(jī)系統(tǒng)包括微處理器和存儲器,其中,該存儲器存儲上述的計(jì)算機(jī)程序,并且微處理器根據(jù)計(jì)算機(jī)程序來操作。此外,通過記錄到上述的記錄介質(zhì)中來傳送程序或數(shù)字信號,或通過經(jīng)由上述網(wǎng)絡(luò)等來傳送程序或數(shù)字信號,則使用另外的獨(dú)立計(jì)算機(jī)系統(tǒng)的執(zhí)行也是可能的。(9)本領(lǐng)域內(nèi)的技術(shù)人員容易理解,在實(shí)質(zhì)上不脫離本發(fā)明的新穎教導(dǎo)和優(yōu)點(diǎn)的情況下,在該示例性實(shí)施例中,許多修改是可能的。因此,上述修改和實(shí)施例的任意組合被包括在本發(fā)明的范圍內(nèi)。工業(yè)應(yīng)用本發(fā)明可被應(yīng)用到信息和電信裝置以及為其更新程序數(shù)據(jù)的家用電子裝置(例如個(gè)人電腦、移動電話、音頻播放器、電視機(jī)和錄像機(jī)等)。附圖標(biāo)記列表
100可信區(qū)域
102 MTM
108啟動器
112、400完整性保護(hù)
114,402成功RIM證書
116可信部件1
118可信部件2
120可信部件3
404、1906失敗RIM證書
406、1908標(biāo)簽到證書的映射表
408、1200、1910可選部件控制表
410默認(rèn)可選部件控制表
1900部件錯(cuò)誤狀態(tài)
1902部件錯(cuò)誤記錄器
1904證書查找
1912下個(gè)部件表
1918失敗定序器
權(quán)利要求
1.一種用于執(zhí)行根據(jù)完整性測量可驗(yàn)證的軟件部件的方法,所述方法包括a)提供從邏輯標(biāo)識符到軟件部件啟用狀態(tài)標(biāo)志的第一映射;b)提供從所述邏輯標(biāo)識符和先前的軟件部件狀態(tài)信息到包含驗(yàn)證數(shù)據(jù)的實(shí)際完整性測量證書的第二映射;c)針對識別所述軟件部件的給定邏輯標(biāo)識符來對所述第一映射進(jìn)行查找,以得到指示所述軟件部件是否啟用的狀態(tài)標(biāo)志;d)針對識別所述軟件部件的驗(yàn)證證書的給定邏輯標(biāo)識符和所述先前的部件狀態(tài)來對所述第二映射進(jìn)行查找,以得到完整性測量證書;e)計(jì)算要執(zhí)行的所述軟件部件的校驗(yàn)值;f)對下列各項(xiàng)進(jìn)行驗(yàn)證所述完整性測量與所述完整性測量證書內(nèi)的完整性測量值相匹配,以及所計(jì)算出的校驗(yàn)值與所述完整性測量證書內(nèi)的校驗(yàn)值相匹配;g)如果所述狀態(tài)標(biāo)志指示所述軟件部件是啟用的并且所述驗(yàn)證是成功的,則對當(dāng)前完整性測量進(jìn)行更新,以包括對所述完整性測量證書內(nèi)的所述校驗(yàn)值的指示;以及h)如果所述軟件部件是啟用的并且所述驗(yàn)證是成功的,則執(zhí)行所述軟件部件。
2.根據(jù)權(quán)利要求1所述的方法,還包括a)如果所述部件未啟用,則針對識別所述部件的驗(yàn)證失敗證書的給定邏輯標(biāo)識符和所述先前的部件狀態(tài)來對所述第二映射進(jìn)行查找,以得到禁用的完整性測量證書;以及b)對當(dāng)前完整性測量進(jìn)行更新,以包括對存儲在所述禁用的完整性測量證書內(nèi)的禁用部件狀態(tài)的指示。
3.根據(jù)權(quán)利要求1所述的方法,還包括a)如果所述驗(yàn)證是不成功的,則針對識別所述部件的驗(yàn)證失敗證書的給定邏輯標(biāo)識符和所述先前的部件狀態(tài)來對所述第二映射進(jìn)行查找,以得到失敗的完整性測量證書;以及b)對當(dāng)前完整性測量進(jìn)行更新,以包括對存儲在所述失敗的完整性測量證書內(nèi)的不成功的完整性測量的指示。
4.根據(jù)權(quán)利要求1所述的方法,還包括a)如果所述部件是未啟用的或者所述驗(yàn)證是不成功的,則提供從邏輯標(biāo)識符和先前的軟件部件狀態(tài)信息到部件標(biāo)識符的第三映射;以及b)針對識別所述部件的給定邏輯標(biāo)識符和所述先前的部件狀態(tài)來對所述第三映射進(jìn)行查找,以得到要被執(zhí)行的替代軟件部件。
5.一種存儲執(zhí)行以下步驟的可執(zhí)行的計(jì)算機(jī)軟件代碼的計(jì)算機(jī)可讀存儲介質(zhì)a)提供從邏輯標(biāo)識符到軟件部件啟用狀態(tài)標(biāo)志的第一映射;b)提供從所述邏輯標(biāo)識符和先前的軟件部件狀態(tài)信息到包含驗(yàn)證數(shù)據(jù)的實(shí)際完整性測量證書的第二映射;c)針對識別所述部件的給定邏輯標(biāo)識符來對所述第一映射進(jìn)行查找,以確定所述部件是啟用的;以及d)針對識別所述部件的驗(yàn)證證書的給定邏輯標(biāo)識符和所述先前的部件狀態(tài)來對所述第二映射進(jìn)行查找,以得到完整性測量證書;e)計(jì)算要執(zhí)行的所述部件的校驗(yàn)值;f)對下列各項(xiàng)進(jìn)行驗(yàn)證所述完整性測量與所述完整性測量證書內(nèi)的完整性測量值相匹配,以及所計(jì)算出的校驗(yàn)值與所述完整性測量證書內(nèi)的校驗(yàn)值相匹配;g)如果所述部件是啟用的并且如果所述驗(yàn)證是成功的,則對當(dāng)前完整性測量進(jìn)行更新,以包括對所述完整性測量證書內(nèi)的所述校驗(yàn)值的指示;以及h)如果所述部件是啟用的并且所述驗(yàn)證是成功的,則執(zhí)行所述部件。
6.一種用于執(zhí)行根據(jù)完整性測量可驗(yàn)證的軟件部件的集成電路,所述集成電路包括a)提供單元,所述提供單元被配置為提供從邏輯標(biāo)識符到軟件部件啟用狀態(tài)標(biāo)志的第一映射以及從所述邏輯標(biāo)識符和先前的軟件部件狀態(tài)信息到包含驗(yàn)證數(shù)據(jù)的實(shí)際完整性測量證書的第二映射;b)查找單元,所述查找單元被配置為針對識別所述部件的給定邏輯標(biāo)識符來對所述第一映射進(jìn)行查找,以確定所述部件是啟用的,以及針對識別所述部件的驗(yàn)證證書的給定邏輯標(biāo)識符和所述先前的部件狀態(tài)來對所述第二映射進(jìn)行查找,以得到完整性測量證書;c)計(jì)算單元,所述計(jì)算單元被配置為計(jì)算要執(zhí)行的所述部件的校驗(yàn)值;d)驗(yàn)證單元,所述驗(yàn)證單元被配置為對下列各項(xiàng)進(jìn)行驗(yàn)證所述完整性測量與所述完整性測量證書內(nèi)的完整性測量值相匹配,以及所計(jì)算出的校驗(yàn)值與所述完整性測量證書內(nèi)的校驗(yàn)值相匹配;e)更新單元,所述更新單元被配置為,如果對所述啟用狀態(tài)的確定確定了所述部件要被啟用并且所述驗(yàn)證是成功的,則對當(dāng)前完整性測量進(jìn)行更新,以包括對所述完整性測量證書內(nèi)的所述校驗(yàn)值的指示;以及f)執(zhí)行單元,所述執(zhí)行單元被配置為,如果對所述啟用狀態(tài)的確定確定了所述部件要被啟用并且所述驗(yàn)證是成功的,則執(zhí)行所述部件。
7.一種用于執(zhí)行根據(jù)完整性測量可驗(yàn)證的軟件部件的裝置,所述裝置包括a)提供單元,所述提供單元被配置為提供從邏輯標(biāo)識符到軟件部件啟用狀態(tài)標(biāo)志的第一映射以及從所述邏輯標(biāo)識符和先前的軟件部件狀態(tài)信息到包含驗(yàn)證數(shù)據(jù)的實(shí)際完整性測量證書的第二映射;b)查找單元,所述查找單元被配置為針對識別所述部件的給定邏輯標(biāo)識符來對所述第一映射進(jìn)行查找,以確定所述部件是啟用的,以及針對識別所述部件的驗(yàn)證證書的給定邏輯標(biāo)識符和所述先前的部件狀態(tài)來對所述第二映射進(jìn)行查找,以得到完整性測量證書;c)計(jì)算單元,所述計(jì)算單元被配置為計(jì)算要執(zhí)行的所述部件的校驗(yàn)值;d)驗(yàn)證單元,所述驗(yàn)證單元被配置為對下列各項(xiàng)進(jìn)行驗(yàn)證所述完整性測量與所述完整性測量證書內(nèi)的完整性測量值相匹配,以及所計(jì)算出的校驗(yàn)值與所述完整性測量證書內(nèi)的校驗(yàn)值相匹配;e)更新單元,所述更新單元被配置為,如果對所述啟用狀態(tài)的確定確定了所述部件要被啟用并且所述驗(yàn)證是成功的,則對當(dāng)前完整性測量進(jìn)行更新,以包括對所述完整性測量證書內(nèi)的所述校驗(yàn)值的指示;以及f)執(zhí)行單元,所述執(zhí)行單元被配置為,如果對所述啟用狀態(tài)的確定確定了所述部件要被啟用并且所述驗(yàn)證是成功的,則執(zhí)行所述部件。
全文摘要
一種即使在安全設(shè)備的固件內(nèi)的一些部件可能不存在、未授權(quán)或不正確地運(yùn)轉(zhuǎn),而允許該設(shè)備以安全的方式引導(dǎo)的方法。
文檔編號G06F21/57GK102449634SQ20108002380
公開日2012年5月9日 申請日期2010年7月1日 優(yōu)先權(quán)日2009年7月1日
發(fā)明者K·A·尼克爾森, 伊藤孝幸, 前田學(xué), 松島秀樹, 芳賀智之, 高山久 申請人:松下電器產(chǎn)業(yè)株式會社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
博乐市| 韩城市| 三河市| 沽源县| 龙里县| 沙田区| 蒙阴县| 河津市| 黑龙江省| 广水市| 科技| 锡林郭勒盟| 旬阳县| 黔西县| 界首市| 凯里市| 唐山市| 曲靖市| 罗田县| 临洮县| 枞阳县| 洛南县| 博乐市| 清涧县| 高安市| 勐海县| 天祝| 桃江县| 始兴县| 京山县| 盐城市| 满洲里市| 泰和县| 磴口县| 绥德县| 波密县| 安西县| 定日县| 沙湾县| 和田市| 玉溪市|