国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      可選的部件的安全引導(dǎo)方法

      文檔序號:6592742閱讀:275來源:國知局
      專利名稱:可選的部件的安全引導(dǎo)方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種用于在執(zhí)行安全引導(dǎo)的系統(tǒng)內(nèi)支持可選的或失敗的部件的系統(tǒng)。
      背景技術(shù)
      例如可信計(jì)算組(TCG)的移動可信模塊(MTM)先前的文件2007年6月12日的 TCG移動參考架構(gòu)版本1.0 (非專利引文1)和2007年6月12日的TCG移動可信模塊規(guī)范 1.0(非專利引文2)描述了如何以有保證的并且可信的方式來啟動設(shè)備。這些方法已經(jīng)徹 底地被審閱以保證在引導(dǎo)過程中維護(hù)信任和安全。因此向想要實(shí)現(xiàn)可以安全地引導(dǎo)的設(shè)備 的那些人提供有益的基準(zhǔn)。這個安全引導(dǎo)過程的一個關(guān)鍵組成部分是RIM證書。這是帶簽 名的結(jié)構(gòu),其定義了當(dāng)前期望的平臺狀態(tài)應(yīng)當(dāng)是什么,由一組平臺配置寄存器(PCR)的散 列表示所述簽名的結(jié)構(gòu),所述平臺配置寄存器(PCR)本身包含已知的、公共定義的散列值。 這些PCR作為完整性測量值,所述完整性測量值可以被記錄在RIM證書中,以定義期望的機(jī) 器狀態(tài)。另外,如果驗(yàn)證了當(dāng)前狀態(tài),則RIM證書也指定了要擴(kuò)展的PCR。這個擴(kuò)展處理獲 得指定的PCR,并且基于與在RIM證書中定義的新的已知值串聯(lián)的前一個PCR值來計(jì)算新的 散列值。由TCG定義的典型安全引導(dǎo)序列以核心部件的初始化和自我驗(yàn)證開始,所述核心 部件例如是用于驗(yàn)證和用于測量的根(RTV+RTM)、MTM本身和相關(guān)聯(lián)的核心MTM接口部件。 接下來,以可信的方式開始支持固件的其他部分的額外的部件,例如,由在它們之前已經(jīng)引 導(dǎo)的另一個部件,在它們的開始的時候,驗(yàn)證它們中的每一個。最后,操作系統(tǒng)運(yùn)行以向接 入MTM服務(wù)提供用于客戶應(yīng)用的安全和可信的路徑。專利引文1 美國專利申請No. 2005/0138414非專利引文1 :2007年6月12日的TCG移動參考架構(gòu)版本1. 0非專利引文2 2007年6月12日的TCG移動可信模塊規(guī)范1. 0

      發(fā)明內(nèi)容
      技術(shù)問題但是,規(guī)范很嚴(yán)格,僅提供了通過由完全成功或完全失敗導(dǎo)致的引導(dǎo)處理的單個 控制路徑。換句話說,如果一個部件的引導(dǎo)處理失敗,則即使他們自己的引導(dǎo)處理導(dǎo)致成 功,也不能使用所有其他部件。此外,TCG規(guī)范提供了用于審計(jì)并識別便攜設(shè)備(例如,移動電話)是否具有受限 的資源的設(shè)施。雖然它們定義的這些審計(jì)特征對于MTM是可選的,但是這產(chǎn)生了下述的問 題。如上所述,雖然這個特征僅是可選項(xiàng),但是在這個特征的引導(dǎo)處理中的失敗使得不能使 用移動電話的所有部件,此外,雖然不必實(shí)現(xiàn)這個特征(因?yàn)槠涫强蛇x項(xiàng)),但是在不實(shí)現(xiàn) 這個特征的情況下,驗(yàn)證變得總是失敗。這使得其他處理更難檢測為什么在引導(dǎo)處理中有 失敗或在引導(dǎo)處理中何處有失敗。此外,設(shè)備制造商可以希望提供特定的可信部件作為可 選項(xiàng)。另外,在許多市場中,服務(wù)提供商允許用戶可以與甚至當(dāng)前沒有服務(wù)合同或在其具有當(dāng)前的服務(wù)合同的區(qū)域外部的移動電話進(jìn)行緊急呼叫是合法地要求。在配備了 MTM的 電話上,證書的撤銷或非關(guān)鍵的部件的損壞導(dǎo)致電話根本不能操作,因此不能滿足這個合 法要求。在Zimmer等人提出的美國專利申請No. 2005/0138414(專利引文1)中,公開了具 有可選的部件的驗(yàn)證的引導(dǎo)方法,但是,可選的部件是根據(jù)明確的切換來實(shí)現(xiàn)的;沒有考慮 到如何處理當(dāng)處理例如部件程序文件損壞或硬件初始化失敗的可選的部件時出現(xiàn)的錯誤。因此,需要一種用于在由TCG移動電話工作組定義的安全引導(dǎo)的環(huán)境中支持可選 的部件的方法,并且即使撤銷了一些RIM證書(RIM Cert)或一些部件不起作用,也仍然可 以用簡化的功能方式來操作,并且其允許用更容易的、較少資源消耗的方法來確定在安全 引導(dǎo)結(jié)束后的MTM的狀態(tài)。雖然背景技術(shù)描述了根據(jù)單獨(dú)定義的序列來引導(dǎo)的方式,但是其未提出在如果一 個非關(guān)鍵部件失敗或不存在的情況下如何做。此外,僅對于整個安全引導(dǎo)處理,而不是對于 獨(dú)立的部件,記錄失敗狀態(tài)。結(jié)果,對于其中需要RIM證書的每一個角色,僅單個RIM證書可用。技術(shù)方案因此,存在對于下述系統(tǒng)和方法來說未滿足的需要,并且具有允許定義安全引導(dǎo) 的多個執(zhí)行序列的系統(tǒng)和方法是很有益的,同時仍然維護(hù)被引導(dǎo)的設(shè)備的安全和信任,以 使得能夠在設(shè)備上支持可選的和失敗的部件。此外,存在對于下述系統(tǒng)和方法來說未滿足的需要,并且具有除了上述之外,還在 安全引導(dǎo)系統(tǒng)中記錄每個獨(dú)立部件的成功或失敗是很有益的,以使得用戶能夠確定在安全 引導(dǎo)完成后的安全環(huán)境的狀態(tài)。此外,存在對于下述系統(tǒng)和方法來說的未滿足的需要,并且具有除了上部之外,還 允許對于每個角色使用多個RIM證書的系統(tǒng)和方法是很有益的,以使得在仍然維護(hù)設(shè)備的 安全性和信任的同時能夠支持可選的部件。根據(jù)本發(fā)明的一個優(yōu)選實(shí)施例,在所有其他信任的部件可訪問的表中記錄每個獨(dú) 立部件的成功或失敗。根據(jù)本發(fā)明的另一個優(yōu)選實(shí)施例,在描述用于在給定的部件失敗后執(zhí)行的替代部 件的表中描述多個執(zhí)行序列。通過失敗的模塊的標(biāo)識符和先前執(zhí)行或失敗的部件的狀態(tài)的 組合來索引這個表。根據(jù)本發(fā)明的另一個優(yōu)選實(shí)施例,為了可以根據(jù)先前執(zhí)行或失敗的部件的狀態(tài)來 正確地驗(yàn)證每個獨(dú)立的部件,每個部件具有多個RIM證書,所述RIM證書描述了在部件可以 運(yùn)行之前必須成立的各種有效前提。有益效果根據(jù)本發(fā)明,在保證信任和安全的引導(dǎo)處理中,即使當(dāng)一個部件的引導(dǎo)處理失敗 時,也可以執(zhí)行處理失敗的引導(dǎo)處理。通過引用于2008年1月30日提交的、包括說明書、附圖和權(quán)利要求的日本專利申 請No. 2008-019379,將其整體并入本文。


      當(dāng)結(jié)合附圖考慮優(yōu)選實(shí)施例的下面的詳細(xì)說明時,可以更好地理解本發(fā)明,其中圖1說明了表示現(xiàn)有技術(shù)的框圖。圖2說明了安全引導(dǎo)的排序的現(xiàn)有技術(shù)。圖3說明了表示具有可選的部件的安全引導(dǎo)的框圖。圖4說明了使用錯誤檢測和可選的部件的安全引導(dǎo)的其它排序。圖5a說明了 RIM證書,其包含額外的數(shù)據(jù),該額外的數(shù)據(jù)表示支持可選的部件所 需的表。圖5b說明了被附到RIM證書的ID到證書的映射表。圖5c說明了被附到RIM證書的下一部件的表。圖6說明了根據(jù)本發(fā)明的、用于執(zhí)行具有可選的部件的安全引導(dǎo)的處理的流程 圖。圖7說明了根據(jù)本發(fā)明的、用于執(zhí)行具有可選的部件的安全引導(dǎo)的處理的流程 圖。圖8說明了根據(jù)本發(fā)明的、用于執(zhí)行具有可選的部件的安全引導(dǎo)的處理的流程 圖。圖9說明了根據(jù)本發(fā)明的、用于執(zhí)行具有可選的部件的安全引導(dǎo)的處理的流程 圖。圖10說明了對于根據(jù)本發(fā)明的、用于執(zhí)行具有可選的部件的安全引導(dǎo)的處理的 增強(qiáng)的流程圖。標(biāo)記的說明102MTM104系統(tǒng)狀態(tài)106系統(tǒng)錯誤記錄器108起動器110證書數(shù)據(jù)庫112完整性保護(hù)114成功的RIM證書116可信部件1118可信部件2120可信部件3122,124,126正常執(zhí)行路徑200可信部件4202可信部件5204操作系統(tǒng)300部件錯誤狀態(tài)302部件錯誤記錄器304證書查找306ID到證書的映射
      9
      308失敗的RIM證書312下一部件的表324失敗排序器326,328錯誤執(zhí)行路徑
      具體實(shí)施例方式(實(shí)施例)本發(fā)明涉及一種用于在執(zhí)行安全引導(dǎo)的系統(tǒng)中支持可選的或失敗的部件的系統(tǒng)。 通過提供描述的附加的RIM證書和數(shù)據(jù)表,支持安全引導(dǎo)的設(shè)備的開發(fā)者能夠產(chǎn)生靈活地 處理未能啟動的部件的系統(tǒng),并且產(chǎn)生能夠報告從安全引導(dǎo)引起的可信環(huán)境內(nèi)的部件的狀 態(tài)的設(shè)備。描述了一種新方法,其用于處理在支持安全引導(dǎo)的設(shè)備上的可選的部件。在下面 的說明中,為了說明的目的,闡述了多個具體的細(xì)節(jié),以便提供對本發(fā)明徹底的理解。在其 他情況下,以框圖形式示出了公知的結(jié)構(gòu)和設(shè)備,而不說明它們的具體細(xì)節(jié)以便于說明。但 是,對于本領(lǐng)域的普通技術(shù)人員而言,顯而易見的是,可以通過修改這些具體細(xì)節(jié)或在沒有 這些具體細(xì)節(jié)的情況下實(shí)施本發(fā)明。優(yōu)選實(shí)施例的說明不旨在限制所附權(quán)利要求的范圍。圖1說明了現(xiàn)有技術(shù)。這個圖捕獲了在已經(jīng)自我驗(yàn)證了例如在可信區(qū)域100內(nèi)的 RTV+RTM和MTM接口的核心元件后的某個時刻的安全引導(dǎo)處理的狀態(tài)。MTM 102是可信區(qū) 域100的核心,但是在其之內(nèi)的其他關(guān)鍵項(xiàng)目是系統(tǒng)狀態(tài)104標(biāo)記,其指示是否已經(jīng)正確地 進(jìn)行了安全引導(dǎo);系統(tǒng)錯誤記錄器106,其設(shè)置系統(tǒng)狀態(tài)104 ;起動器108,其負(fù)責(zé)起動要增 加到可信區(qū)域100的下一部件;以及,證書數(shù)據(jù)庫110,其查找所需的成功的RIM證書114。 這些成功的RIM證書114描述了在完全成功的安全引導(dǎo)期間的期望的平臺狀態(tài)。應(yīng)當(dāng)防止 改變RIM證書,以便檢查安全引導(dǎo)是導(dǎo)致成功還是不正確,因此,它們受完整性保護(hù),并且 被置于一組受完整性保護(hù)的112數(shù)據(jù)項(xiàng)目中。如TCG所定義,通過在RIM證書內(nèi)嵌入簽名 的散列來實(shí)現(xiàn)這個完整性保護(hù),因此允許MTM 102檢測篡改。安全引導(dǎo)的目的是將可信區(qū)域100擴(kuò)展以涵蓋額外的部件,例如可信部件1116、 可信部件2118和可信部件3120。根據(jù)現(xiàn)有技術(shù)的一個方面,被標(biāo)注為122、124和126的、 從起動器108到可信部件1116、可信部件2118和可信部件3120的虛線指示正常的執(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)序列從MTM 102開始,然后可信部件1116運(yùn)行,向可信部件2118傳送控制,并且通 過可信部件3120、可信部件4200、可信部件5202,最后是操作系統(tǒng)204??尚挪考?118、可 信部件4200、可信部件5202是在由可信部件1116和可信部件3120提供的基本服務(wù)頂上 提供另外的可選的服務(wù)的部件。在成功的情況下,如在流程206中所示,所有部件成功地 運(yùn)行,并且可以獲得完全操作的可信區(qū)域208。但是,在流程210中,可信部件4200未能加 載,因此,由于處于失敗狀態(tài)導(dǎo)致不能獲得可信區(qū)域212的全部。在可信區(qū)域圖208和212 中,MTM表示MTM 102,TCl表示可信部件1116,TC2表示可信部件2118,TC3表示可信部件 3120,TC4表示可信部件4200,TC5表示可信部件5202,并且OS表示操作系統(tǒng)204。所有的部件依賴于MTM 102,另外,可信部件2118依賴于可信部件1116,可信部件4200和可信部 件5202依賴于可信部件3120。操作系統(tǒng)204依賴于可信部件1116和可信部件3120。陰 影部分示出了不能使用的部件。圖3說明了基于在圖1描述的現(xiàn)有技術(shù)的本發(fā)明。這個附圖捕獲在已經(jīng)自我驗(yàn)證 了例如在可信區(qū)域100內(nèi)的RTV+RTM和MTM接口的核心元件后的某個時刻的安全引導(dǎo)處理 的狀態(tài)。MTM 102是可信區(qū)域100的核心,但是在可信區(qū)域100中的其他關(guān)鍵項(xiàng)目是部件 錯誤狀態(tài)300標(biāo)記,其指示在安全引導(dǎo)中的每一個部件是否已經(jīng)起動,并且正確地操作;部 件錯誤記錄器302為適當(dāng)?shù)牟考O(shè)置部件錯誤狀態(tài)300 ;起動器108,其負(fù)責(zé)起動要加到可 信區(qū)域100的下一部件;證書查找304,其根據(jù)ID到證書的映射表306和部件錯誤狀態(tài)300 來查找所需的成功的RIM證書114或失敗的RIM證書308 ;這些失敗的RIM證書308描述 了在其中一個或多個部件已經(jīng)未能正確地操作的安全引導(dǎo)期間的期望的平臺狀態(tài)。在圖9 中詳細(xì)地描述了失敗排序器324,其使用下一部件的表312和部件錯誤狀態(tài)300來選擇接 下來要起動哪個部件。這些RIM證書114和308、下一部件的表312和ID到證書的映射表 306應(yīng)當(dāng)受完整性保護(hù),因此被置于一組受完整性保護(hù)的112數(shù)據(jù)項(xiàng)中。注意,像圖1那樣, 完整性保護(hù)是數(shù)據(jù)的固有屬性,而不是非固有屬性。還應(yīng)注意,成功的RIM證書114和失敗 的RIM證書308的格式相同;關(guān)鍵差別是根據(jù)ID到證書的映射表306向它們分配的角色; 除了基于那個表,在兩者之間沒有差別,事實(shí)上,不必在其他地方進(jìn)行區(qū)分。具有可選的部件的安全引導(dǎo)的目的是擴(kuò)展可信區(qū)域100,以在如果可能的情況下 涵蓋所有的額外的部件可信部件1116、可信部件2118和可信部件3120,但是如果任何部 件未能起動,則可信區(qū)域100不擴(kuò)展來覆蓋它們。根據(jù)現(xiàn)有技術(shù)的一個方面,被標(biāo)注為122、 124和126的、從起動器108到可信部件1116、可信部件2118和可信部件3120的虛線指示 正常的執(zhí)行路徑。根據(jù)現(xiàn)有技術(shù)的另一個方面,可以提供另外的可信部件,并且以操作系統(tǒng) (未示出)作為最后的可信部件。被標(biāo)注為326和328的、來自可信部件1116、失敗排序 器324和可信部件3120的粗實(shí)線指示根據(jù)本發(fā)明的一個方面,如果可信部件2118未能啟 動,則替代執(zhí)行路徑是可用的。圖4說明了從本發(fā)明得到的新結(jié)果。如在圖2中所述的可用的部件,并且成功結(jié)果 208當(dāng)然是一個有效的結(jié)果。但是,代替失敗狀態(tài)212,新的流程400能夠跳過發(fā)生失敗的 可信部件4200,并且繼續(xù)至可信部件5202,以產(chǎn)生起作用的可信區(qū)域402,但是具有有限的 能力。類似地,流程404說明了可信部件2118和可信部件5202未能正確地操作的情況,產(chǎn) 生了另一個起作用的可信區(qū)域406,但是也具有有限的能力。在可信區(qū)域圖208、402和406 中,TCl表示可信部件1116,TC2表示可信部件2118,TC3表示可信部件3120,TC4表示可信 部件4200,TC5表示可信部件5202,OS表示操作系統(tǒng)204。所有的部件依賴于MTM 102,另 外,可信部件2118依賴于可信部件1116,可信部件4200和可信部件5202依賴于可信部件 3120。操作系統(tǒng)204依賴于可信部件1116和可信部件3120。陰影部分示出了不能使用的 部件。圖5a說明了 RIM證書500、成功的RIM證書114和失敗的RIM證書308、由 現(xiàn)有技術(shù)定義的RIM證書的擴(kuò)展的細(xì)節(jié)。為了使得能夠支持可選的部件,向證書附加 mapIDtoCertTabIeSize 504、mapIDtoCertTabIe 506、nextComponentTableSize 508 禾口 nextComponentTable 510,并且,extensionDigest 502條目包含用于這個額外數(shù)據(jù)的加密散列值。僅需要這個擴(kuò)展的RIM證書的一個實(shí)例,并且一個實(shí)施例將這些表附到單個RIM 證書,其中RTV+RTM使用所述證書來自我驗(yàn)證。但是,在此不說明現(xiàn)有技術(shù)的這個方面。本領(lǐng)域內(nèi)的普通技術(shù)人員可以了解,存在在不使用RIM證書500的情況下使得可 以獲得并且維護(hù)mapIDtoCertTable 506和nextComponentTable510的完整性的其他方法, 例如通過使用簽名方和可信區(qū)域100已知的密鑰來單獨(dú)或一起加密地對每個表進(jìn)行簽名。圖5b說明了 ID到證書的映射表506的格式,所述格式具有說明了從邏輯標(biāo)識符 和先前的軟件部件到實(shí)際RIM證書的映射的數(shù)據(jù)條目。第一列邏輯證書ID 520是表示RIM 證書的特定角色的標(biāo)識符,并且是系統(tǒng)的其他部分使用來請求RIM證書的標(biāo)識符。第二列 依賴的可信部件狀態(tài)522是一組標(biāo)記,其指示可信部件的組的錯誤狀態(tài),每行是有效的。第 三列依賴的可信部件掩碼(mask) 524是一組標(biāo)記,其指示要檢查哪些部件的狀態(tài)。在一個 實(shí)施例中,使用位圖(bitmap)來實(shí)現(xiàn)這兩列。最后,RIM證書標(biāo)簽526列保存實(shí)際RIM證 書標(biāo)簽,其用于從RIM證書數(shù)據(jù)庫中查找成功的RIM證書114或失敗的RIM證書308。這個 值表示由TCG定義的RIM證書標(biāo)簽字段512。圖5c說明了具有采樣數(shù)據(jù)條目的下一部件的表510的格式。第一列失敗可信部件 540是表示已經(jīng)失敗的部件的標(biāo)識符。第二列依賴的可信部件狀態(tài)542是一組標(biāo)記,其指示 可信部件的組的錯誤狀態(tài)300,當(dāng)前行是有效的。第三列依賴的可信部件掩碼544是一組標(biāo) 記,其指示要檢查哪些部件的狀態(tài)。在一個實(shí)施例中,使用位圖來實(shí)現(xiàn)這兩列。最后,要起 動的可信部件546列保存標(biāo)識符,其描述了對于給定的失敗的可信部件540和一組依賴的 可信部件狀態(tài)542,接下來應(yīng)當(dāng)起動哪個模塊或者是否應(yīng)當(dāng)終止引導(dǎo),因?yàn)榘踩龑?dǎo)已經(jīng)進(jìn) 入不可恢復(fù)的狀態(tài)。參見圖4,如果例如可信部件1116或可信部件3120的部件未能加載, 則可以存在指示下一要起動的可信部件546為終止引導(dǎo)的條目;這是因?yàn)檫@兩個部件是對 于完整的可信系統(tǒng)的操作重要的基礎(chǔ)部件。如果可信部件2118、可信部件4200或可信部件 5202失敗,則可以存在指示例如可信部件3120、可信部件5202和操作系統(tǒng)204分別是下一 要起動的可信部件546的條目。由特定設(shè)備所需的安全引導(dǎo)序列的設(shè)計(jì)來定義ID到證書的映射表506和下一部 件的表510的內(nèi)容。在其中該表被附到RIM證書(RTV+RTM使用所述證書來自我驗(yàn)證)的 如上所述的實(shí)施例中,由TCG定義的RIM證書發(fā)放機(jī)構(gòu)(很可能是該設(shè)備制造商)將產(chǎn)生 這些表,并且向特定的RIM證書增加該數(shù)據(jù),然后對證書進(jìn)行簽名,并且使得其可在該設(shè)備 上使用。但是,這些表可以由另一方產(chǎn)生,并且獨(dú)立于RIM證書來發(fā)送。此外,如果安全引 導(dǎo)系統(tǒng)可以分析其本身的安全引導(dǎo)序列,則安全引導(dǎo)系統(tǒng)本身可以產(chǎn)生這些表。根據(jù)示出哪個部件依賴于另一個部件的信息來產(chǎn)生這些表。如果部件A依賴于另 一個部件B,則如果部件B的引導(dǎo)過程失敗,那么不應(yīng)當(dāng)引導(dǎo)部件A。并且,如果部件A獨(dú)立 于部件B,則即使部件B不能成功地引導(dǎo),那么可以從部件A的引導(dǎo)過程恢復(fù)引導(dǎo)處理。當(dāng) 然,可以根據(jù)更多的信息來產(chǎn)生這些表。例如,可以根據(jù)下述信息來產(chǎn)生它們,該信息示出 了如果另一個獨(dú)立的部件的引導(dǎo)過程失敗,則不應(yīng)當(dāng)引導(dǎo)一些部件。這個信息可以由每個 部件的設(shè)計(jì)者產(chǎn)生和提供。圖6到圖9說明了根據(jù)本發(fā)明的在安全引導(dǎo)系統(tǒng)的關(guān)鍵部分之間的控制流排序。 首先,在根據(jù)現(xiàn)有技術(shù)的圖6中,(600)系統(tǒng)開始上電,然后(602)開始執(zhí)行系統(tǒng)的基本引 導(dǎo),(604)初始化RTV、RTM、MTM等,(608)請求RIM證書以用于可信區(qū)域的自我驗(yàn)證,并且(610)通過將在RIM證書內(nèi)指定的PCR的子集串聯(lián)并且計(jì)算它們的散列值,來將該RIM證 書擴(kuò)展到MTM,然后將這個散列值與在由現(xiàn)有技術(shù)描述的RIM證書中存儲的值相比較。然 后,如果這些散列相等,則將在RIM證書內(nèi)指定的要擴(kuò)展的值擴(kuò)展到也在RIM證書內(nèi)指定的 PCR0 (612)檢查擴(kuò)展操作的結(jié)果以查看這個擴(kuò)展是否正確地工作,并且(614)在失敗時,系 統(tǒng)將進(jìn)入失敗狀態(tài)?,F(xiàn)在,根據(jù)本發(fā)明,(616)檢查下一部件的表312和ID到證書的映射 表306的完整性,以保證這兩個關(guān)鍵的表未被篡改;根據(jù)一個實(shí)施例,這是通過檢查在608 檢索到的用于自我驗(yàn)證的RIM證書中是否存在在圖5a中描述的擴(kuò)展信息來執(zhí)行的。但是, 本領(lǐng)域內(nèi)的技術(shù)人員可以了解,存在提供這些表并且保證這個數(shù)據(jù)未被篡改的其他方式。接下來,(618)請求RIM證書以進(jìn)行可信部件1驗(yàn)證,并且獲得描述了可信部件 1116的期望當(dāng)前狀態(tài)和期望狀態(tài)的RIM證書。(620)這個可信部件具有以與在RIM證書中 描述的、計(jì)算可信部件1的散列值相同的方式來計(jì)算其散列值,然后(622)檢查以查看該值 是否相等。如果該散列值不相等,則它們指示該部件有問題,例如偶然或有意的損壞。然后, (624) CPU將控制以及指示符傳送到失敗排序器,所述指示符指示可信部件1有散列錯誤, 從而允許失敗排序器對該錯誤進(jìn)行處理。在下面的圖9中描述了這個處理。如果散列值相 等,則(626)部件錯誤記錄器記錄這個部件的散列檢查成功。在圖7繼續(xù)該處理。圖7說明了安全引導(dǎo)序列的進(jìn)一步的處理。(700)通過將該RIM證書中定義的值 添加到根據(jù)現(xiàn)有技術(shù)的在這個RIM證書中定義的PCR中,來將先前獲得的RIM證書擴(kuò)展到 MTM。(702)檢查擴(kuò)展操作的結(jié)果以查看這個擴(kuò)展是否正確地工作。(704)如果否,則CPU 將控制傳送到失敗排序器,以允許失敗排序器處理錯誤。在下面的圖9中描述了這個處理。 如果正確地?cái)U(kuò)展散列值,則這指示可信區(qū)域可以完全信任部件,所以(706)啟動可信部件 1,并且向這個新的部件傳送控制。(708)第一處理是用于初始化可信部件,其執(zhí)行該部件和這個部件可以控制的任 何硬件等所需的初始化。(710)該部件自我檢查其是否已經(jīng)成功地初始化,并且如果存在錯 誤,則(712)可信的部件將控制以及錯誤代碼傳送到失敗排序器,以指示當(dāng)前的可信部件 未能初始化,從而允許失敗排序器處理錯誤。在下面的圖9中描述了這個處理。如果沒有 錯誤,則(714)該部件錯誤記錄器記錄這個部件的初始化是成功的。(716)接下來,可信部 件請求RIM證書以進(jìn)行自我驗(yàn)證,并且獲得描述了期望的當(dāng)前狀態(tài)和要擴(kuò)展到給定PCR的 給定值的RIM證書。(718)這個RIM證書根據(jù)現(xiàn)有技術(shù)被擴(kuò)展到MTM,并且(720)檢查擴(kuò)展 操作是否成功。如果擴(kuò)展操作失敗,則(722)可信部件向失敗排序器傳送控制以及錯誤代 碼以指示當(dāng)前的可信部件未能自我驗(yàn)證,從而允許失敗排序器處理該錯誤。在下面的圖9 中描述了這個處理。如果該值正確地?cái)U(kuò)展,則(724)當(dāng)前的可信部件可以繼續(xù)根據(jù)需要來 執(zhí)行其他任務(wù)。在圖8繼續(xù)該處理。圖8說明了安全引導(dǎo)序列的進(jìn)一步處理。(800)首先,檢查以查看是否存在要加 載的任何更多的可信部件,如果否,則(802)已經(jīng)成功地完成了安全引導(dǎo)。注意,在這個實(shí) 施例中,如果可選的部件的驗(yàn)證已經(jīng)失敗,則這個可選的部件還沒有被引導(dǎo)。因此,在步驟 802,即使已經(jīng)成功地完成了安全引導(dǎo),也可能未引導(dǎo)一些可選的部件。在一個實(shí)施例中,這 不是實(shí)際的檢查;在加載序列中的最后一個部件(在一個實(shí)施例中為操作系統(tǒng))被實(shí)現(xiàn), 以便其在完成(724)其被定義以執(zhí)行的其他任務(wù)后不查找另一個部件。如果存在要起動的 其他部件,則(804)請求RIM證書以驗(yàn)證下一可信部件,并且獲得描述了下一可信部件的期
      13望當(dāng)前狀態(tài)和期望狀態(tài)的RIM證書。在此,該下一可信部件表示接下來應(yīng)當(dāng)引導(dǎo)的可信部 件。(806)該可信部件具有以與在RIM證書中描述的、計(jì)算下一可信部件的散列值相同的方 式來計(jì)算的其散列值,然后(808)執(zhí)行檢查以查看這個計(jì)算的散列值是否等于在下一可信 部件的RIM證書中存儲的散列值。如果它們不相等,這指示該部件有問題,例如偶然或有意 損壞,則(810)該可信部件將控制以及錯誤代碼傳送到失敗排序器以指示下一可信部件的 散列值沒有驗(yàn)證,從而允許失敗排序器處理該錯誤。在下面的圖9中描述了這個處理。如 果散列值相等,則(812)部件錯誤記錄器記錄下一可信部件的散列檢查是成功的。接下來, (814)這個RIM證書根據(jù)現(xiàn)有技術(shù)被擴(kuò)展到MTM,并且(816)檢查擴(kuò)展操作是否成功。如果 擴(kuò)展操作失敗,則(818)可信部件將控制以及錯誤代碼傳送到失敗排序器以指示將下一可 信部件擴(kuò)展到MTM失敗了,從而允許失敗排序器處理該錯誤。在下面的圖9中描述了這個 處理。取而代之的是,如果散列值正確地?cái)U(kuò)展,則(820)這指示可信區(qū)域可以完全信任下一 可信部件,因此將從步驟708重復(fù)處理。其后,(708)起動下一額外的部件,并且如圖所示, 控制流程繼續(xù)上面的可信部件初始化。圖9說明了根據(jù)本發(fā)明的失敗排序器操作。(900)首先,將傳入的錯誤代碼記錄 在部件錯誤狀態(tài)300中。(902)接下來,從部件錯誤狀態(tài)300檢索所有當(dāng)前的部件錯誤狀 態(tài),該部件錯誤狀態(tài)300然后(904)用于查找下一部件的表312以發(fā)現(xiàn)應(yīng)當(dāng)起動的下一可 信部件。(906)進(jìn)行檢查以查看是否有定義的下一部件,并且如果沒有,則(908)安全引導(dǎo) 將進(jìn)入失敗狀態(tài),并且該設(shè)備未能以安全的方式啟動。如果存在下一可信部件,則(910)請 求RIM證書以進(jìn)行下一可信部件的驗(yàn)證,并且獲得失敗的RIM證書,其描述了下一可信部件 的期望當(dāng)前狀態(tài)和期望狀態(tài)。在此,下一可信部件表示接下來應(yīng)當(dāng)啟動的可信部件。(912) 下一可信部件具有計(jì)算的其散列值,(914)然后將計(jì)算的散列值與在RIM證書中的散列值 相比較。如果它們不相等,這指示該部件有問題,例如偶然或有意損壞。因此,(916)失敗排 序器將控制以及錯誤代碼傳回失敗排序器的開始,所述錯誤代碼指示下一可信部件的散列 值沒有驗(yàn)證,從而允許失敗排序器處理該錯誤,并且(900)控制流從在部件錯誤記錄器中 記錄適當(dāng)?shù)腻e誤的步驟繼續(xù)。如果該散列值相等,則(918)該部件錯誤記錄器記錄下一可 信部件的散列值檢查是成功的。接下來,(920)這個RIM證書根據(jù)現(xiàn)有技術(shù)被擴(kuò)展到MTM, 并且(922)檢查擴(kuò)展操作是否成功。如果擴(kuò)展操作失敗,則(926)失敗排序器將控制以及 錯誤代碼傳回失敗排序器的開始,所述錯誤代碼指示下一可信部件沒有驗(yàn)證,從而允許失 敗排序器處理該錯誤,并且(900)控制流從在部件錯誤記錄器中記錄適當(dāng)?shù)腻e誤的步驟繼 續(xù)。如果該散列值正確地?cái)U(kuò)展,則(924)這指示可信區(qū)域完全信任下一可信部件,因此,起 動下一額外的部件,并且如圖所示,控制流程繼續(xù)上述(708)可信部件初始化。如上所述,根據(jù)本發(fā)明的一個方面的安全引導(dǎo)方法是一種用于以預(yù)定的順序執(zhí)行 部件同時驗(yàn)證完整性的安全引導(dǎo)方法,該方法包括獲得當(dāng)前狀態(tài)信息,所述當(dāng)前狀態(tài)信息 指示在已經(jīng)成功地弓I導(dǎo)第一部件之前是否試圖弓丨導(dǎo)一個或多個部件中的每一個;通過查找 第一映射表來獲得與所述第一部件和由所述當(dāng)前狀態(tài)信息指示的狀態(tài)相對應(yīng)的第一完整 性測量值,在所述第一映射表中,邏輯標(biāo)識符、狀態(tài)信息和完整性測量值彼此相關(guān)聯(lián),所述 邏輯標(biāo)識符中的每一個識別所述部件中對應(yīng)的一個,所述狀態(tài)信息中的每一個指示在已經(jīng) 成功地引導(dǎo)一個或多個部件中對應(yīng)的一個之前是否試圖引導(dǎo)所述一個或多個部件中的每 一個,并且所述完整性測量值是用于驗(yàn)證由對應(yīng)的狀態(tài)信息指示已經(jīng)成功地引導(dǎo)的一個或
      14多個部件是否已經(jīng)真的被成功地引導(dǎo)的值;獲得當(dāng)前完整性測量值,所述當(dāng)前完整性測量 值是基于已經(jīng)被弓I導(dǎo)的一個或多個部件而計(jì)算的值;通過比較所述第一完整性測量值和所 述當(dāng)前完整性測量值,驗(yàn)證是否已經(jīng)真的成功地引導(dǎo)了由所述當(dāng)前狀態(tài)信息指示已經(jīng)成功 地引導(dǎo)的一個或多個部件;當(dāng)所述驗(yàn)證導(dǎo)致成功時,開始引導(dǎo)所述第一部件;以及,當(dāng)所述 第一部件成功地結(jié)束引導(dǎo)時,更新所述當(dāng)前狀態(tài)信息,以指示已經(jīng)成功地引導(dǎo)了所述第一 部件。此外,該安全引導(dǎo)方法可以進(jìn)一步包括判斷所述第一部件是否被篡改;當(dāng)所述 第一部件被判斷為被篡改時,即使驗(yàn)證導(dǎo)致成功,也抑制所述第一部件的引導(dǎo);當(dāng)所述引導(dǎo) 被抑制時,更新所述當(dāng)前狀態(tài)信息,以指示還沒有成功地引導(dǎo)所述第一部件;確定接下來要 引導(dǎo)的第二部件,通過查找第二映射表以獲得標(biāo)識符來執(zhí)行所述確定,所述標(biāo)識符對應(yīng)于 是否已經(jīng)成功地引導(dǎo)了所述第一部件以及所述當(dāng)前狀態(tài)信息是否指示已經(jīng)成功地引導(dǎo)了 第三部件,所述第三部件是依賴于所述第一部件的部件,并且所述第二映射表包括與是否 已經(jīng)成功地引導(dǎo)了所述第一部件的狀態(tài)和是否已經(jīng)成功地引導(dǎo)了第三部件的狀態(tài)相關(guān)聯(lián) 的、第二部件的候選者的邏輯標(biāo)識符;以及,開始引導(dǎo)所述第二部件。此外,所述完整性測量值中的每一個包括在完整性測量證書中,所述完整性測量 證書包括所述完整性測量值和一驗(yàn)證值,該驗(yàn)證值在判斷由與所述完整性測量值對應(yīng)的邏 輯標(biāo)識符識別的部件是否被篡改的過程中使用,在獲得所述第一完整性測量值的步驟中, 通過查找所述第一映射表來獲得完整性測量證書,在所述第一映射表中,每個狀態(tài)信息和 每個完整性測量證書彼此相關(guān)聯(lián),并且從所獲得的完整性測量證書中提取所述第一完整性 測量值,并且通過計(jì)算所述第一部件的驗(yàn)證值,并且將所計(jì)算的驗(yàn)證值與在所獲得的完整 性測量證書中包括的驗(yàn)證值相比較,來執(zhí)行所述第一部件是否被篡改的判斷。此外,在開始引導(dǎo)所述第一部件后,執(zhí)行所述第一部件是否被篡改的判斷,并且在 抑制引導(dǎo)的步驟中,當(dāng)判斷所述第一部件被篡改時,終止所述第一部件的引導(dǎo)。此外,該安全引導(dǎo)方法可以進(jìn)一步包括當(dāng)判斷所述第一部件被篡改時,獲得指示 還沒有成功地引導(dǎo)所述第一部件的失敗值;通過使用所述失敗值來更新所述當(dāng)前完整性測 量值;通過查找所述第一映射表來獲得與所述第二部件的邏輯標(biāo)識符和由所述更新的當(dāng)前 狀態(tài)信息指示的狀態(tài)相對應(yīng)的第二完整性測量值,所述更新的當(dāng)前狀態(tài)信息指示還沒有成 功地引導(dǎo)第一部件;通過比較所述第二完整性測量值和所述更新的當(dāng)前完整性測量值,來 驗(yàn)證如下所述的(a)和(b)的狀態(tài),其中(a)為是否已經(jīng)真的成功地引導(dǎo)了由所述更新的 當(dāng)前狀態(tài)信息指示已經(jīng)被成功地引導(dǎo)的一個或多個部件,以及(b)為是否還沒有真的引導(dǎo) 了由所述更新的當(dāng)前狀態(tài)信息指示沒有被成功地引導(dǎo)的一個或多個部件;以及,當(dāng)所述驗(yàn) 證導(dǎo)致成功時,引導(dǎo)所述第二部件。此外,當(dāng)判斷所述第一部件被篡改時,不更新所述當(dāng)前完整性測量值,并且所述方 法進(jìn)一步包括通過查找所述第一映射表來獲得與所述第二部件的邏輯標(biāo)識符和由所述更 新的當(dāng)前狀態(tài)信息指示的狀態(tài)相對應(yīng)的第二完整性測量值,所述更新的當(dāng)前狀態(tài)信息指示 還沒有成功地引導(dǎo)所述第一部件;通過比較所述第二完整性測量值和所述當(dāng)前完整性測量 值,驗(yàn)證是否已經(jīng)真的成功地引導(dǎo)了由所述更新的當(dāng)前狀態(tài)信息指示已經(jīng)被成功地引導(dǎo)的 一個或多個部件;以及,當(dāng)所述驗(yàn)證導(dǎo)致成功時,引導(dǎo)所述第二部件。此外,根據(jù)本發(fā)明的一個方面的方法是用于執(zhí)行軟件部件的方法,所述軟件部件用于驗(yàn)證完整性測量值,包括a)提供從邏輯標(biāo)識符和先前軟件部件狀態(tài)信息到包含驗(yàn)證 數(shù)據(jù)的實(shí)際完整性測量證書的映射;b)查找給定的邏輯標(biāo)識符的映射,以獲得完整性測量 證書,該給定的邏輯標(biāo)識符識別該部件的驗(yàn)證證書和該先前部件的狀態(tài);C)計(jì)算要執(zhí)行的 該部件的檢查值;d)驗(yàn)證該完整性測量值和該計(jì)算的檢查值,其中,所述完整性測量值匹 配在該完整性測量證書內(nèi)的完整性測量值,所述計(jì)算的檢查值匹配在該完整性測量證書內(nèi) 的檢查值;e)如果該驗(yàn)證成功,則更新當(dāng)前完整性測量以包括該存儲的測量值的指示;以 及,f)如果該驗(yàn)證成功,則執(zhí)行該部件。此外,該方法可以進(jìn)一步包括a)如果該驗(yàn)證不成功,則查找給定的邏輯標(biāo)識符 的映射,以獲得失敗的完整性測量證書,該給定的邏輯標(biāo)識符識別該部件的驗(yàn)證失敗證書 和該先前的部件狀態(tài);以及,b)更新當(dāng)前完整性測量以包括在失敗的完整性測量證書中存 儲的不成功完整性測量值的指示。此外,該方法可以進(jìn)一步包括a)如果該驗(yàn)證不成功,則提供從邏輯標(biāo)識符和先 前的軟件部件狀態(tài)信息到部件標(biāo)識符的映射,b)查找給定的邏輯標(biāo)識符的映射以獲得要執(zhí) 行的替代的軟件部件,該給定的邏輯標(biāo)識符識別失敗的部件和先前的部件狀態(tài)。此外,根據(jù)本發(fā)明的一個方面的方法是用于執(zhí)行軟件部件的方法,所述軟件部件 用于驗(yàn)證完整性測量值,包括a)提供從邏輯標(biāo)識符和先前軟件部件狀態(tài)信息到包含驗(yàn)證 數(shù)據(jù)的實(shí)際完整性測量證書的映射;b)查找給定的邏輯標(biāo)識符的映射,以獲得完整性測量 證書,該給定的邏輯標(biāo)識符識別該部件的自我驗(yàn)證證書和該先前部件狀態(tài);c)驗(yàn)證該完整 性測量值,其匹配在該完整性測量證書內(nèi)的完整性測量值;以及,d)如果該驗(yàn)證成功,則更 新當(dāng)前完整性測量值以包括在該完整性測量證書中存儲的成功的完整性測量值的指示。此外,該方法可以進(jìn)一步包括a)如果該驗(yàn)證不成功,則查找給定的邏輯標(biāo)識符 的映射,以獲得完整性測量證書,該邏輯標(biāo)識符識別該部件的自我驗(yàn)證失敗的證書和該先 前部件狀態(tài)。此外,該方法可以進(jìn)一步包括a)如果該驗(yàn)證不成功,則提供從邏輯標(biāo)識符和先 前軟件部件狀態(tài)信息到部件標(biāo)識符的映射,b)查找給定的邏輯標(biāo)識符的映射,以獲得要執(zhí) 行的替代部件,該給定的邏輯標(biāo)識符識別失敗的部件和該先前部件狀態(tài)。此外,根據(jù)本發(fā)明的一個方面的設(shè)備是用于執(zhí)行軟件部件的設(shè)備,所述軟件部件 用于驗(yàn)證完整性測量值,包括a)部件存儲單元,用于存儲在執(zhí)行之前驗(yàn)證的一個或多個 可信軟件部件;b)驗(yàn)證單元,用于驗(yàn)證可信軟件的完整性;c)執(zhí)行單元,用于如果所述驗(yàn)證 成功,則執(zhí)行該部件;d)失敗排序器單元,用于處理驗(yàn)證一些可信軟件部件和運(yùn)行與驗(yàn)證 失敗的可信軟件部件無關(guān)的其他部件的失敗。此外,該驗(yàn)證可以意味著驗(yàn)證該完整性測量值匹配在該完整性測量證書內(nèi)的完整 性測量值,并且該計(jì)算的檢查值匹配在該完整性測量證書內(nèi)的檢查值;并且,該設(shè)備可以進(jìn) 一步包括a)計(jì)算單元,用于計(jì)算要執(zhí)行的部件的檢查值;b)查找單元,用于查找給定的邏 輯標(biāo)識符的映射,以獲得完整性測量證書,該給定的邏輯標(biāo)識符識別部件的驗(yàn)證證書和先 前可信軟件部件狀態(tài);C)映射單元,用于從邏輯標(biāo)識符和先前可信軟件部件狀態(tài)信息向包 含驗(yàn)證數(shù)據(jù)的實(shí)際完整性測量證書的映射;d)更新單元,用于如果驗(yàn)證成功,則更新當(dāng)前 完整性測量值以包括存儲的測量值的指示。此外,該可信軟件部件可以被編程以執(zhí)行某個可信功能。
      此外,該可信軟件部件可以是操作系統(tǒng),其提供了可信的執(zhí)行環(huán)境以保護(hù)執(zhí)行軟 件;并且,該設(shè)備可以進(jìn)一步包括a)管理程序,用于控制一個或多個操作系統(tǒng);以及,b)失 敗排序器單元,用于處理驗(yàn)證所述操作系統(tǒng)以及設(shè)備運(yùn)行與該驗(yàn)證失敗的可信軟件部件無 關(guān)的其他操作系統(tǒng)中的至少一個的失敗。應(yīng)當(dāng)注意,雖然基于上述實(shí)施例描述了本發(fā)明,但是本發(fā)明顯然不限于這樣的實(shí) 施例。下面的情況也被包括在本發(fā)明中。(1)在上述實(shí)施例中,如果部件未正確地被引導(dǎo),則該系統(tǒng)搜索下一模塊,而不向 MTM反映失敗的狀態(tài)。但是,該系統(tǒng)可以向MTM反映失敗的狀態(tài)。圖10說明了對于本發(fā)明 的這種增強(qiáng)。為了明確地說明在(900)在部件錯誤記錄器中記錄適當(dāng)?shù)腻e誤后由失敗排序 器產(chǎn)生的錯誤,(IOOO)CPU請求RIM證書以驗(yàn)證可信部件的失敗。這個失敗的RIM證書308 包含明確地描述了當(dāng)前失敗的狀態(tài)的程度的值。(1002)這個RIM證書因此具有描述了擴(kuò) 展到在RIM證書內(nèi)描述的PCR的失敗狀態(tài)的值。(1004)檢查這個擴(kuò)展操作的成功或失敗, 并且如果失敗,則(1006)安全引導(dǎo)將進(jìn)入失敗的狀態(tài),并且該設(shè)備未能以安全的方式來啟 動。如果成功,則(902)控制流程返回到獲得當(dāng)前部件錯誤狀態(tài)以檢索當(dāng)前部件錯誤狀態(tài) 信息,以繼續(xù)試圖啟動替代部件,如上所述。(2)在虛擬環(huán)境的情況下,在一個實(shí)施例中,管理程序是用于執(zhí)行的最后的可信部 件。在另一個實(shí)施例中,例如操作系統(tǒng)的其他可信部件在管理程序可信部件執(zhí)行后執(zhí)行。(3)在上述實(shí)施例中,在起動每個部件之前,執(zhí)行每個部件的驗(yàn)證。但是,本發(fā)明可 以被應(yīng)用到其中在起動每個部件后執(zhí)行驗(yàn)證的系統(tǒng)。在這種情況下,如果部件的驗(yàn)證失敗, 則系統(tǒng)停止每個部件。(4)在上述實(shí)施例中,以與TCG規(guī)范類似的方式來執(zhí)行驗(yàn)證。但是,本發(fā)明可以被 應(yīng)用到另一個驗(yàn)證系統(tǒng),只要該驗(yàn)證系統(tǒng)可以使用其中像鏈條那樣驗(yàn)證部件的驗(yàn)證方法來 驗(yàn)證系統(tǒng)的部件(即,一個部件驗(yàn)證在該部件后起動的另一個部件)。例如,可以省略將散 列值擴(kuò)展到MTM,因?yàn)檫@個操作對于TCG規(guī)范是特有的。(5)在上述實(shí)施例中,通過使用在證書(RIM證書)中的散列值來執(zhí)行驗(yàn)證。但是, 不使用散列值的另一種驗(yàn)證方法可以應(yīng)用到本發(fā)明。從部件提取的傳統(tǒng)校驗(yàn)和或另一個數(shù)據(jù)(例如從部件提取的第一預(yù)定比特)可以 用于執(zhí)行驗(yàn)證。此外,該證書可以被替換為包括完整性測量值的數(shù)據(jù)組。并且,該驗(yàn)證方法不限于檢查從部件提取的值和期望值是否匹配。例如,檢查部件 的尺寸,并且如果該尺寸大于或小于預(yù)定量,則可以判斷該部件被驗(yàn)證。這些驗(yàn)證方法不像 將散列值與其期望值相比較那么嚴(yán)格,但是,可以快速地執(zhí)行它們。(6)具體地說,上述裝置中的每一個是計(jì)算機(jī)系統(tǒng),其包括微處理器、ROM、RAM、硬 盤單元、顯示單元、鍵盤和鼠標(biāo)等。計(jì)算機(jī)程序被存儲在RAM或硬盤單元中,各自的裝置通 過根據(jù)計(jì)算機(jī)程序的微處理器的操作來實(shí)現(xiàn)它們的功能。在此,通過組合指示計(jì)算機(jī)的指 令的多個指令代碼來配置該計(jì)算機(jī)程序。(7)可以根據(jù)單個LSI系統(tǒng)(大規(guī)模集成)配置構(gòu)成各自的裝置的構(gòu)成元件的一 部分或全部。LSI系統(tǒng)是通過將構(gòu)成單元集成在一個芯片上制造的超級多功能LSI,并且具 體地說是通過包括微處理器、ROM和RAM等來配置的計(jì)算機(jī)系統(tǒng)。計(jì)算機(jī)程序被存儲在RAM 中。系統(tǒng)LSI通過根據(jù)計(jì)算機(jī)程序的微處理器的操作來實(shí)現(xiàn)其功能。
      此外,構(gòu)成各自裝置的構(gòu)成元件中的每一個單元可以作為獨(dú)立的芯片或作為包括 其一部分或全部的單個芯片。此外,在此,描述了 LSI系統(tǒng),但是存在下述實(shí)例,其中,由于集成度的差別,使用 名稱IC、LSI、超大規(guī)模LSI和甚大規(guī)模(ultra)LSI。此外,用于電路集成的模塊不限于LSI,并且具有專用電路或通用處理器的實(shí)現(xiàn)也 是可行的。另外,使用現(xiàn)場可編程門陣列(FPGA),其在制造LSI之后是可編程的,以及可重 配置的處理器,其中,在LSI中的電路單元的連接和設(shè)置是可重配置的,也是可以接受的。此外,如果替代LSI的集成電路技術(shù)在半導(dǎo)體技術(shù)或其他派生技術(shù)中出現(xiàn)突破性 的進(jìn)步,則該技術(shù)可以自然地用于實(shí)現(xiàn)構(gòu)成元件的集成。期望可以應(yīng)用生物技術(shù)。(8)構(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)為防篡改的。(9)本發(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í)行。(10)本領(lǐng)域內(nèi)的技術(shù)人員容易理解,在實(shí)質(zhì)上不脫離本發(fā)明的新穎教導(dǎo)和優(yōu)點(diǎn)的 情況下,在該示例性實(shí)施例中,許多修改是可能的。因此,上述修改和實(shí)施例的任意組合被 包括在本發(fā)明的范圍內(nèi)。工業(yè)應(yīng)用本發(fā)明可以例如用在移動電話等中。
      權(quán)利要求
      一種安全引導(dǎo)方法,用于以預(yù)定的順序執(zhí)行部件,同時驗(yàn)證完整性,所述方法包括獲得當(dāng)前狀態(tài)信息,所述當(dāng)前狀態(tài)信息指示在已經(jīng)成功地引導(dǎo)第一部件之前是否試圖引導(dǎo)一個或多個部件中的每一個;通過查找第一映射表來獲得與所述第一部件和由所述當(dāng)前狀態(tài)信息指示的狀態(tài)相對應(yīng)的第一完整性測量值,在所述第一映射表中,邏輯標(biāo)識符、狀態(tài)信息和完整性測量值彼此相關(guān)聯(lián),所述邏輯標(biāo)識符中的每一個識別所述部件中對應(yīng)的一個,所述狀態(tài)信息中的每一個指示在已經(jīng)成功地引導(dǎo)一個或多個部件中對應(yīng)的一個之前是否試圖引導(dǎo)所述一個或多個部件中的每一個,并且所述完整性測量值是用于驗(yàn)證由對應(yīng)的狀態(tài)信息指示已經(jīng)成功地引導(dǎo)的一個或多個部件是否已經(jīng)真的被成功地引導(dǎo)的值;獲得當(dāng)前完整性測量值,所述當(dāng)前完整性測量值是基于已經(jīng)被引導(dǎo)的一個或多個部件而計(jì)算的值;通過比較所述第一完整性測量值和所述當(dāng)前完整性測量值,驗(yàn)證是否已經(jīng)真的成功地引導(dǎo)了由所述當(dāng)前狀態(tài)信息指示已經(jīng)成功地引導(dǎo)的一個或多個部件;當(dāng)所述驗(yàn)證導(dǎo)致成功時,開始引導(dǎo)所述第一部件;以及,當(dāng)所述第一部件成功地結(jié)束引導(dǎo)時,更新所述當(dāng)前狀態(tài)信息,以指示已經(jīng)成功地引導(dǎo)了所述第一部件。
      2.根據(jù)權(quán)利要求1所述的安全引導(dǎo)方法,進(jìn)一步包括 判斷所述第一部件是否被篡改;當(dāng)所述第一部件被判斷為被篡改時,即使驗(yàn)證導(dǎo)致成功,也抑制所述第一部件的引導(dǎo);當(dāng)所述引導(dǎo)被抑制時,更新所述當(dāng)前狀態(tài)信息,以指示還沒有成功地引導(dǎo)所述第一部件;確定接下來要引導(dǎo)的第二部件,通過查找第二映射表以獲得標(biāo)識符來執(zhí)行所述確定, 所述標(biāo)識符對應(yīng)于是否已經(jīng)成功地引導(dǎo)了所述第一部件以及所述當(dāng)前狀態(tài)信息是否指示 已經(jīng)成功地引導(dǎo)了第三部件,所述第三部件是依賴于所述第一部件的部件,并且所述第二 映射表包括與是否已經(jīng)成功地引導(dǎo)了所述第一部件的狀態(tài)和是否已經(jīng)成功地引導(dǎo)了第三 部件的狀態(tài)相關(guān)聯(lián)的、第二部件的候選者的邏輯標(biāo)識符;以及, 開始引導(dǎo)所述第二部件。
      3.根據(jù)權(quán)利要求2所述的安全引導(dǎo)方法,其中所述完整性測量值中的每一個包括在完整性測量證書中,所述完整性測量證書包括所 述完整性測量值和一驗(yàn)證值,該驗(yàn)證值在判斷由與所述完整性測量值對應(yīng)的邏輯標(biāo)識符識 別的部件是否被篡改的過程中使用,在獲得所述第一完整性測量值的步驟中,通過查找所述第一映射表來獲得完整性測量 證書,在所述第一映射表中,每個狀態(tài)信息和每個完整性測量證書彼此相關(guān)聯(lián),并且從所獲 得的完整性測量證書中提取所述第一完整性測量值,并且通過計(jì)算所述第一部件的驗(yàn)證值,并且將所計(jì)算的驗(yàn)證值與在所獲得的完整性測量證 書中包括的驗(yàn)證值相比較,來執(zhí)行所述第一部件是否被篡改的判斷。
      4.根據(jù)權(quán)利要求2所述的安全引導(dǎo)方法,其中在開始引導(dǎo)所述第一部件后,執(zhí)行所述第一部件是否被篡改的判斷,并且在抑制引導(dǎo)的步驟中,當(dāng)判斷所述第一部件被篡改時,終止所述第一部件的引導(dǎo)。
      5.根據(jù)權(quán)利要求2所述的安全引導(dǎo)方法,進(jìn)一步包括當(dāng)判斷所述第一部件被篡改時,獲得指示還沒有成功地引導(dǎo)所述第一部件的失敗值; 通過使用所述失敗值來更新所述當(dāng)前完整性測量值;通過查找所述第一映射表來獲得與所述第二部件的邏輯標(biāo)識符和由所述更新的當(dāng)前 狀態(tài)信息指示的狀態(tài)相對應(yīng)的第二完整性測量值,所述更新的當(dāng)前狀態(tài)信息指示還沒有成 功地引導(dǎo)第一部件;通過比較所述第二完整性測量值和所述更新的當(dāng)前完整性測量值,來驗(yàn)證如下所述的 (a)和(b)的狀態(tài),其中(a)為是否已經(jīng)真的成功地引導(dǎo)了由所述更新的當(dāng)前狀態(tài)信息指示 已經(jīng)被成功地引導(dǎo)的一個或多個部件,以及(b)為是否還沒有真的引導(dǎo)了由所述更新的當(dāng) 前狀態(tài)信息指示沒有被成功地引導(dǎo)的一個或多個部件;以及, 當(dāng)所述驗(yàn)證導(dǎo)致成功時,引導(dǎo)所述第二部件。
      6.根據(jù)權(quán)利要求2所述的安全引導(dǎo)方法,其中當(dāng)判斷所述第一部件被篡改時,不更新所述當(dāng)前完整性測量值,并且 所述方法進(jìn)一步包括通過查找所述第一映射表來獲得與所述第二部件的邏輯標(biāo)識符和由所述更新的當(dāng)前 狀態(tài)信息指示的狀態(tài)相對應(yīng)的第二完整性測量值,所述更新的當(dāng)前狀態(tài)信息指示還沒有成 功地引導(dǎo)所述第一部件;通過比較所述第二完整性測量值和所述當(dāng)前完整性測量值,驗(yàn)證是否已經(jīng)真的成功地 引導(dǎo)了由所述更新的當(dāng)前狀態(tài)信息指示已經(jīng)被成功地引導(dǎo)的一個或多個部件;以及, 當(dāng)所述驗(yàn)證導(dǎo)致成功時,引導(dǎo)所述第二部件。
      7.一種安全引導(dǎo)設(shè)備,其用于以預(yù)定的順序執(zhí)行部件同時驗(yàn)證完整性,所述安全引導(dǎo) 設(shè)備包括映射表存儲單元,其被配置用于存儲第一映射表;狀態(tài)存儲單元,其被配置用于存儲當(dāng)前狀態(tài)信息,所述當(dāng)前狀態(tài)信息指示在已經(jīng)成功 地弓I導(dǎo)第一部件之前是否試圖弓I導(dǎo)一個或多個部件中的每一個;獲得單元,其被配置用于通過查找所述第一映射表來獲得與所述第一部件和由所述當(dāng) 前狀態(tài)信息指示的狀態(tài)相對應(yīng)的第一完整性測量值,在所述第一映射表中,邏輯標(biāo)識符、狀 態(tài)信息和完整性測量值彼此相關(guān)聯(lián),所述邏輯標(biāo)識符中的每一個識別所述部件中對應(yīng)的一 個,所述狀態(tài)信息中的每一個指示在已經(jīng)成功地引導(dǎo)一個或多個部件中對應(yīng)的一個之前, 是否試圖引導(dǎo)所述一個或多個部件中的每一個,并且所述完整性測量值是用于驗(yàn)證由對應(yīng) 的狀態(tài)信息指示已經(jīng)被成功地引導(dǎo)的一個或多個部件是否已經(jīng)真的成功地被引導(dǎo)的值;值存儲單元,其被配置用于存儲當(dāng)前完整性測量值,所述當(dāng)前完整性測量值是基于已 經(jīng)被引導(dǎo)的一個或多個部件來計(jì)算的值;驗(yàn)證單元,其被配置用于通過比較所述第一完整性測量值和所述當(dāng)前完整性測量值, 來驗(yàn)證是否已經(jīng)真的成功地引導(dǎo)了由所述當(dāng)前狀態(tài)信息指示已經(jīng)成功地引導(dǎo)的一個或多 個部件;第一引導(dǎo)單元,其被配置用于當(dāng)所述驗(yàn)證導(dǎo)致成功時,開始引導(dǎo)所述第一部件;以及, 第一更新單元,其被配置用于當(dāng)所述第一部件成功地結(jié)束引導(dǎo)時,更新當(dāng)前狀態(tài)信息以指示已經(jīng)成功地引導(dǎo)了所述第一部件。
      8.根據(jù)權(quán)利要求7所述的安全引導(dǎo)設(shè)備,進(jìn)一步包括 判斷單元,其被配置用于判斷所述第一部件是否被篡改;抑制單元,其被配置用于當(dāng)所述第一部件被判斷為被篡改時,即使所述驗(yàn)證導(dǎo)致成功, 也抑制所述第一部件的引導(dǎo);第二更新單元,其被配置用于當(dāng)所述引導(dǎo)被抑制時,更新所述當(dāng)前狀態(tài)信息以指示還 沒有成功地引導(dǎo)所述第一部件;確定單元,其被配置用于通過查找第二映射表以獲得標(biāo)識符來確定接下來要引導(dǎo)的第 二部件,所述標(biāo)識符對應(yīng)于是否已經(jīng)成功地引導(dǎo)了所述第一部件以及所述當(dāng)前狀態(tài)信息是 否指示已經(jīng)成功地引導(dǎo)了第三部件,所述第三部件是依賴于所述第一部件的部件,所述第 二映射表包括與是否已經(jīng)成功地引導(dǎo)了第一部件的狀態(tài)和是否已經(jīng)成功地引導(dǎo)了第三部 件的狀態(tài)相關(guān)聯(lián)的、第二部件的候選者的邏輯標(biāo)識符;以及, 第二引導(dǎo)單元,其被配置用于開始引導(dǎo)所述第二部件。
      9.根據(jù)權(quán)利要求8所述的安全引導(dǎo)設(shè)備,其中所述完整性測量值中的每一個包括在完整性測量證書中,所述完整性測量證書包括所 述完整性測量值和一驗(yàn)證值,該驗(yàn)證值在判斷由與所述完整性測量值對應(yīng)的邏輯標(biāo)識符識 別的部件是否被篡改的過程中使用,所述獲得單元被配置用于通過查找所述第一映射表來獲得完整性測量證書,在所述第 一映射表中,每個狀態(tài)信息和每個完整性測量證書彼此相關(guān)聯(lián),并且從所獲得的完整性測 量證書中提取所述第一完整性測量值;并且所述判斷單元被配置用于通過計(jì)算所述第一部件的驗(yàn)證值,并且將所計(jì)算的驗(yàn)證值與 在所獲得的完整性測量證書中包括的驗(yàn)證值相比較,來判斷所述第一部件是否被篡改。
      10.根據(jù)權(quán)利要求8所述的安全引導(dǎo)設(shè)備,其中所述判斷單元被配置用于在開始引導(dǎo)所述第一部件后,判斷所述第一部件是否被篡 改,并且所述抑制單元被配置用于當(dāng)判斷所述第一部件被篡改時,終止所述第一部件的引導(dǎo)。
      11.根據(jù)權(quán)利要求8所述的安全引導(dǎo)設(shè)備,進(jìn)一步包括失敗值獲得單元,其被配置用于當(dāng)判斷所述第一部件被篡改時,獲得指示還沒有成功 地引導(dǎo)所述第一部件的失敗值;以及第三更新單元,其被配置用于通過使用所述失敗值來更新所述當(dāng)前完整性測量值; 其中,所述獲得單元被配置用于通過查找所述第一映射表來進(jìn)一步獲得與所述第二部 件的邏輯標(biāo)識符和由所述更新的當(dāng)前狀態(tài)信息指示的狀態(tài)相對應(yīng)的第二完整性測量值,所 述更新的當(dāng)前狀態(tài)信息指示還沒有成功地引導(dǎo)第一部件;所述驗(yàn)證單元被配置用于通過比較所述第二完整性測量值和所述更新的當(dāng)前完整性 測量值,來進(jìn)一步驗(yàn)證如下所述的(a)和(b)的狀態(tài),其中,(a)為是否已經(jīng)真的成功地引 導(dǎo)了由所述更新的當(dāng)前狀態(tài)信息指示的已經(jīng)被成功地引導(dǎo)的一個或多個部件,以及(b)為 是否還沒有真的地引導(dǎo)了由所述更新的當(dāng)前狀態(tài)信息指示的沒有被成功地引導(dǎo)的一個或 多個部件的狀態(tài);以及,所述第二引導(dǎo)單元被配置用于當(dāng)所述驗(yàn)證導(dǎo)致成功時,引導(dǎo)所述第 二部件。
      12.根據(jù)權(quán)利要求8所述的安全引導(dǎo)設(shè)備,其中當(dāng)判斷所述第一部件被篡改時,不更新所述當(dāng)前完整性測量值, 所述獲得單元被配置用于通過查找所述第一映射表來進(jìn)一步獲得與所述第二部件的 邏輯標(biāo)識符和由所述更新的當(dāng)前狀態(tài)信息指示的狀態(tài)相對應(yīng)的第二完整性測量值,所述更 新的當(dāng)前狀態(tài)信息指示還沒有成功地弓I導(dǎo)了所述第一部件;驗(yàn)證單元被配置用于通過比較所述第二完整性測量值和所述當(dāng)前完整性測量值,來驗(yàn) 證是否已經(jīng)真的成功地引導(dǎo)了由所述更新的當(dāng)前狀態(tài)信息指示已經(jīng)被成功地引導(dǎo)的一個 或多個部件;以及,所述第二引導(dǎo)單元被配置用于當(dāng)所述驗(yàn)證導(dǎo)致成功時,引導(dǎo)所述第二部 件。
      13.一種計(jì)算機(jī)程序,其被記錄在計(jì)算機(jī)可讀介質(zhì)上,所述計(jì)算機(jī)程序使得計(jì)算機(jī)執(zhí)行 一種安全引導(dǎo)方法,該方法用于以預(yù)定的順序執(zhí)行部件同時驗(yàn)證完整性,所述程序使得所 述計(jì)算機(jī)執(zhí)行以下步驟獲得當(dāng)前狀態(tài)信息,所述當(dāng)前狀態(tài)信息指示在已經(jīng)成功地引導(dǎo)第一部件之前是否試圖 引導(dǎo)一個或多個部件中的每一個;通過查找第一映射表來獲得與所述第一部件和由所述當(dāng)前狀態(tài)信息指示的狀態(tài)相對 應(yīng)的第一完整性測量值,在所述第一映射表中,邏輯標(biāo)識符、狀態(tài)信息和完整性測量值彼此 相關(guān)聯(lián),所述邏輯標(biāo)識符中的每一個識別所述部件中對應(yīng)的一個,所述狀態(tài)信息中的每一 個指示在已經(jīng)成功地引導(dǎo)一個或多個部件中對應(yīng)的一個之前是否試圖引導(dǎo)所述一個或多 個部件中的每一個,并且所述完整性測量值是用于驗(yàn)證由對應(yīng)的狀態(tài)信息指示已經(jīng)成功地 引導(dǎo)的一個或多個部件是否已經(jīng)真的成功地被引導(dǎo)的值;獲得當(dāng)前完整性測量值,所述當(dāng)前完整性測量值是基于已經(jīng)被引導(dǎo)的一個或多個部件 計(jì)算的值;通過比較所述第一完整性測量值和所述當(dāng)前完整性測量值,來驗(yàn)證是否已經(jīng)真的成功 地引導(dǎo)了由所述當(dāng)前狀態(tài)信息指示已經(jīng)成功地引導(dǎo)的一個或多個部件; 當(dāng)所述驗(yàn)證導(dǎo)致成功時,開始引導(dǎo)所述第一部件;以及,當(dāng)所述第一部件成功地結(jié)束引導(dǎo)時,更新所述當(dāng)前狀態(tài)信息,以指示已經(jīng)成功地引導(dǎo) 了所述第一部件。
      14.一種集成電路,用于以預(yù)定的順序執(zhí)行部件,同時驗(yàn)證完整性,所述集成電路包括映射表存儲單元,其被配置用于存儲第一映射表;狀態(tài)存儲單元,其被配置用于存儲當(dāng)前狀態(tài)信息,所述當(dāng)前狀態(tài)信息指示在已經(jīng)成功 地弓I導(dǎo)第一部件之前是否試圖弓I導(dǎo)一個或多個部件中的每一個;獲得單元,其被配置用于通過查找所述第一映射表來獲得與所述第一部件和由所述當(dāng) 前狀態(tài)信息指示的狀態(tài)相對應(yīng)的第一完整性測量值,在所述第一映射表中,邏輯標(biāo)識符、狀 態(tài)信息和完整性測量值彼此相關(guān)聯(lián),所述邏輯標(biāo)識符中的每一個識別所述部件中對應(yīng)的一 個,所述狀態(tài)信息中的每一個指示在已經(jīng)成功地引導(dǎo)一個或多個部件中對應(yīng)的一個之前是 否試圖引導(dǎo)所述一個或多個部件中的每一個,并且所述完整性測量值是用于驗(yàn)證由對應(yīng)的 狀態(tài)信息指示已經(jīng)成功地引導(dǎo)的一個或多個部件是否已經(jīng)真的成功地被引導(dǎo)的值;值存儲單元,其被配置用于存儲當(dāng)前完整性測量值,所述當(dāng)前完整性測量值是基于已經(jīng)被引導(dǎo)的一個或多個部件而計(jì)算的值;驗(yàn)證單元,其被配置用于通過比較所述第一完整性測量值和所述當(dāng)前完整性測量值, 來驗(yàn)證是否已經(jīng)真的成功地引導(dǎo)了由所述當(dāng)前狀態(tài)信息指示已經(jīng)被成功地引導(dǎo)的一個或 多個部件;第一引導(dǎo)單元,其被配置用于當(dāng)所述驗(yàn)證導(dǎo)致成功時,開始引導(dǎo)所述第一部件;以及, 第一更新單元,其被配置用于當(dāng)所述第一部件成功地結(jié)束引導(dǎo)時,更新當(dāng)前狀態(tài)信息 以指示已經(jīng)成功地引導(dǎo)了所述第一部件。
      全文摘要
      一種用于允許設(shè)備即使在安全設(shè)備的固件內(nèi)沒有出現(xiàn)一些部件、不正確地被授權(quán)或不正確地操作的情況下,也可以用安全的方式來引導(dǎo)的方法。
      文檔編號G06F21/00GK101925908SQ20098010290
      公開日2010年12月22日 申請日期2009年1月29日 優(yōu)先權(quán)日2008年1月30日
      發(fā)明者K·A·尼克爾森, 伊藤孝幸, 松島秀樹, 芳賀智之, 高山久 申請人:松下電器產(chǎn)業(yè)株式會社
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1