亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

使用多個(gè)認(rèn)證代碼模塊進(jìn)入安全計(jì)算環(huán)境的制作方法

文檔序號(hào):6341524閱讀:183來(lái)源:國(guó)知局
專利名稱:使用多個(gè)認(rèn)證代碼模塊進(jìn)入安全計(jì)算環(huán)境的制作方法
技術(shù)領(lǐng)域
本公開(kāi)涉及信息處理領(lǐng)域;更特別地,涉及信息處理系統(tǒng)的安全。
背景技術(shù)
信息處理系統(tǒng),諸如包括來(lái)自因特爾公司的因特爾 奔騰 處理器系列中的處理 器的那些系統(tǒng),可支持在安全系統(tǒng)環(huán)境中的操作。安全系統(tǒng)環(huán)境可包括信任的分區(qū)和不信 任的分區(qū)。系統(tǒng)的裸平臺(tái)硬件和信任的軟件可包括在信任的分區(qū)中??勺柚箯牟恍湃蔚姆?區(qū)對(duì)信任的分區(qū)的資源的直接訪問(wèn)以保護(hù)系統(tǒng)可能包含的任何秘密,以免被發(fā)現(xiàn)或更改。 這些秘密可包括在信息處理系統(tǒng)上生成或存儲(chǔ)的密碼、密鑰以及私人或機(jī)密信息。通過(guò)執(zhí)行安全系統(tǒng)進(jìn)入?yún)f(xié)議(secured system entry protocol),系統(tǒng)的裸平臺(tái) 硬件可包括在信任的分區(qū)或域內(nèi)。例如,啟動(dòng)處理器(initiating processor)可執(zhí)行安全 進(jìn)入(“SENTER”)指令,系統(tǒng)中的所有代理必須適當(dāng)?shù)貙?duì)其進(jìn)行響應(yīng)以使協(xié)議順利進(jìn)行。 在安全進(jìn)入過(guò)程中,可阻止響應(yīng)代理執(zhí)行任何程序指令或處理任何外部事務(wù),使得啟動(dòng)處 理器可將帶簽名的代碼模塊驗(yàn)證為可信的和信任的,執(zhí)行帶簽名的代碼模塊以將系統(tǒng)配置 為支持信任的操作、測(cè)量(以密碼的方式,使用散列擴(kuò)展功能)并隨后啟動(dòng)被測(cè)虛擬機(jī)監(jiān)視 器(“MVMM”)的執(zhí)行。MVMM可創(chuàng)建一個(gè)或多個(gè)運(yùn)行不信任軟件的虛擬機(jī)環(huán)境,這樣,不信 任軟件對(duì)系統(tǒng)資源不直接訪問(wèn)。

發(fā)明內(nèi)容
本發(fā)明提供了一種處理器,包括解碼器,解碼安全進(jìn)入指令;控制邏輯,響應(yīng)于 解碼該安全進(jìn)入指令,在主認(rèn)證代碼模塊中的匹配表中尋找與處理器相應(yīng)的條目,并從主 認(rèn)證代碼模塊中讀取主報(bào)頭和單獨(dú)的認(rèn)證代碼模塊。本發(fā)明還提供了一種方法,包括在主認(rèn)證代碼模塊中的匹配表中尋找與第一處 理器相應(yīng)的第一條目;將來(lái)自主認(rèn)證代碼模塊的主報(bào)頭載入第一安全存儲(chǔ)器;并且將第一 處理器的第一單獨(dú)的認(rèn)證代碼模塊從主代碼模塊載入第一安全存儲(chǔ)器。本發(fā)明還提供了一種系統(tǒng),包括第一處理器,包括解碼器,解碼安全進(jìn)入指令; 消息傳遞邏輯,發(fā)送安全進(jìn)入消息;以及第一控制邏輯,響應(yīng)于解碼安全進(jìn)入指令,在主認(rèn) 證代碼模塊中的匹配表中尋找與第一處理器相應(yīng)的第一條目,并從主認(rèn)證代碼模塊中讀取 主報(bào)頭和第一單獨(dú)的認(rèn)證代碼模塊;和第二處理器,包括消息傳遞邏輯,接收安全進(jìn)入消 息;以及第二控制邏輯,響應(yīng)于接收安全進(jìn)入消息,在主認(rèn)證代碼模塊中的匹配表中尋找與 第二處理器相應(yīng)的第二條目,并從主認(rèn)證代碼模塊中讀取主報(bào)頭和第二單獨(dú)的認(rèn)證代碼模 塊。


本發(fā)明以示例而不是限制的方式示出在附圖中。圖1根據(jù)本發(fā)明的實(shí)施例示出了信息處理系統(tǒng)。
圖2根據(jù)本發(fā)明的實(shí)施例示出了處理器。圖3根據(jù)本發(fā)明的實(shí)施例示出了芯片組。圖4根據(jù)本發(fā)明的實(shí)施例示出了主認(rèn)證代碼模塊。圖5根據(jù)本發(fā)明的實(shí)施例示出了使用多個(gè)認(rèn)證代碼模塊進(jìn)入安全計(jì)算環(huán)境的方法。
具體實(shí)施例方式描述了使用多個(gè)認(rèn)證代碼模塊(每個(gè),“ACM”)進(jìn)入安全計(jì)算環(huán)境的系統(tǒng)、設(shè)備和 方法中的本發(fā)明的實(shí)施例。在說(shuō)明書(shū)中,可能闡明特定的細(xì)節(jié)(諸如處理器和系統(tǒng)配置) 以便提供對(duì)于本發(fā)明更徹底的理解。但是本領(lǐng)域技術(shù)人員將理解的是,可在沒(méi)有這樣特定 細(xì)節(jié)的情況下實(shí)現(xiàn)本發(fā)明。另外,一些公知結(jié)構(gòu)、電路和類似物未詳細(xì)示出,以避免不必要 地使本發(fā)明難懂。進(jìn)一步,此說(shuō)明書(shū)可能用根據(jù)一個(gè)實(shí)施例所用的名字(即“SENTER”)來(lái) 稱呼指令;在其他實(shí)施例中,這些指令或類似的指令可具有不同的名字。本發(fā)明的實(shí)施例提供用于使用多個(gè)ACM來(lái)進(jìn)入安全計(jì)算環(huán)境。多個(gè)ACM的使用可 能是所期望的,因?yàn)樾畔⑻幚硐到y(tǒng)可包括多個(gè)處理器或處理器包,并且當(dāng)這些處理器或處 理器包可能不一樣時(shí),單個(gè)ACM可能不適于初始化所有這些處理器或處理器包以進(jìn)入安全 環(huán)境。圖1示出了信息處理系統(tǒng)100中的本發(fā)明的實(shí)施例。信息處理系統(tǒng)100可為個(gè) 人計(jì)算機(jī)、主計(jì)算機(jī)、便攜式計(jì)算機(jī)、手持裝置、機(jī)頂盒(set-top box)、服務(wù)器或任何其他 計(jì)算系統(tǒng)。在此實(shí)施例中,系統(tǒng)100包括裸平臺(tái)硬件110、所述裸平臺(tái)硬件110又包括處理 器120、130以及140、系統(tǒng)存儲(chǔ)器150、芯片組160、令牌170、裝置180以及非易失性存儲(chǔ)器 190。處理器120、130以及140中的每一個(gè)可代表具有一個(gè)或多個(gè)執(zhí)行核心的組件,其 中每個(gè)執(zhí)行核心可基于多種不同類型的處理器的任何一個(gè),所述多個(gè)不同類型的處理器包 括通用微處理器(諸如因特爾 奔騰 處理器系列、安騰 處理器系列或因特爾 公司的 其他處理器系列中的處理器,或來(lái)自另一個(gè)公司的另一個(gè)處理器)或?qū)S锰幚砥骰蛭⒖刂?器,或者可以是可重構(gòu)核(例如,現(xiàn)場(chǎng)可編程門(mén)陣列)。雖然圖1示出了三個(gè)這樣的處理器, 但是系統(tǒng)100可包括任意數(shù)量的處理器,各包括任意數(shù)量的執(zhí)行核心和執(zhí)行線程的任意組 合。在一些實(shí)施例中,任意個(gè)或所有的處理器120、130或140可代表運(yùn)行在一個(gè)或多個(gè)物 理處理器上的單獨(dú)硬件執(zhí)行線程或“邏輯處理器”。系統(tǒng)存儲(chǔ)器150可以是在其上可存儲(chǔ)諸如數(shù)據(jù)和/或程序代碼等信息的任何介 質(zhì),諸如動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器,或任何其他類型的由處理器120、130和140可讀的介質(zhì),或 任何這些介質(zhì)的組合。芯片組160可代表任何組的電路和邏輯,其支持存儲(chǔ)器操作、輸入/輸出(“I/O”) 操作、配置、控制、內(nèi)部或外部接口、連接或通信功能(例如“膠合”邏輯和總線橋),和/或 處理器120、130、140和/或系統(tǒng)100的任何類似功能。芯片組160的單獨(dú)的元件可一起編 組在單個(gè)芯片、一對(duì)芯片上,或分散在多個(gè)芯片中,和/或部分地、完全地、冗余地或根據(jù)分 布方式集成到包括處理器120、130和/或140中任意個(gè)的一個(gè)或多個(gè)處理器。令牌(token) 170可包括信任的平臺(tái)模塊(“TPM”)172和平臺(tái)配置寄存器(“PCR”)174。TPM 172可為包括微控制器的組件,以便安全地存儲(chǔ)密鑰、密碼、數(shù)字證書(shū)和 其他用于建立和維護(hù)安全的信息。PCR 174可包括存儲(chǔ)系統(tǒng)配置信息的任意數(shù)量的寄存器 和/或其他存儲(chǔ)單元。配置TPM 172和/或PCR 174只對(duì)某些代理和/或在某些條件下是 可訪問(wèn)的。令牌170和/或TPM 172和PCR174任意一個(gè)或二者可包括在系統(tǒng)100的芯片 組160或其他組件中。裝置180可代表任意數(shù)量的任意類型的I/O、外設(shè)或其他裝置,諸如鍵盤(pán)、鼠標(biāo)、追 蹤球、點(diǎn)擊裝置、監(jiān)視器、打印機(jī)、媒介卡、網(wǎng)絡(luò)接口、信息存儲(chǔ)裝置等。裝置180可以分立組 件實(shí)例化,或可與任何其他裝置一起包括在集成組件中。在一個(gè)實(shí)施例中,裝置180可代表 多功能I/O、外設(shè)或其他裝置中的單個(gè)功能。處理器120、130和140、系統(tǒng)存儲(chǔ)器150、芯片組160、令牌170和裝置180可根據(jù)
任何已知的方式彼此耦合或通信,諸如通過(guò)一個(gè)或多個(gè)并行的、順序的、管線的、異步的、同 步的、有線的、無(wú)線的或其他總線或點(diǎn)對(duì)點(diǎn)連接直接或間接的方式。系統(tǒng)100也可包括任意 數(shù)量的附加裝置、代理、組件或連接。圖2示出了處理器200,其可代表根據(jù)本發(fā)明的實(shí)施例的圖1中的任意個(gè)的處理器 120、130或140,或任何其他處理器。處理器200可包括可為靜態(tài)隨機(jī)存取存儲(chǔ)器的高速緩存210,或任何其他形式的 存儲(chǔ)裝置來(lái)存儲(chǔ)信息,諸如從系統(tǒng)存儲(chǔ)器150復(fù)制的數(shù)據(jù)等。處理器200 (或高速緩存210) 也可包括高速緩存控制邏輯220,以控制高速緩存210是以正常模式操作還是以作為隨機(jī) 存取存儲(chǔ)器的高速緩存(cache-as-random-access-memory “CRAM”)模式操作。在正常模 式,高速緩存210響應(yīng)高速緩存命中而滿足存儲(chǔ)器請(qǐng)求,響應(yīng)高速緩存未命中而代替高速 緩存線,并且可響應(yīng)監(jiān)聽(tīng)請(qǐng)求(snoop request)而無(wú)效(invalidate)或代替高速緩存線。 在CRAM模式,高速緩存210作為隨機(jī)存取存儲(chǔ)器操作,其中高速緩沖存儲(chǔ)器滿足高速緩沖 存儲(chǔ)器的存儲(chǔ)范圍內(nèi)的請(qǐng)求,并且響應(yīng)于監(jiān)聽(tīng)請(qǐng)求而不代替或無(wú)效高速緩存線。處理器200也可包括指令單元230、控制單元M0、執(zhí)行單元250以及消息傳遞單 元沈0。指令單元230可包括任何電路、邏輯或其他硬件或結(jié)構(gòu),諸如解碼器等,以便接收、 識(shí)別、解碼,或者以其他方式接收指令??刂茊卧?40可包括任何電路、邏輯或其他硬件或 結(jié)構(gòu),諸如微碼、狀態(tài)機(jī)邏輯、可編程邏輯或任何其他形式的控制邏輯,以便響應(yīng)于指令單 元230接收的指令和/或消息傳遞單元260接收的消息來(lái)生成控制信號(hào)或以其他方式來(lái)用 于控制處理器200。執(zhí)行單元250可包括任何電路、邏輯或其他硬件或結(jié)構(gòu)以執(zhí)行指令單元230接收 的指令。執(zhí)行單元250可基于控制單元240生成的控制信號(hào)來(lái)操作。消息傳遞單元260可 包括任何電路、邏輯或其他硬件或結(jié)構(gòu)以生成由處理器200發(fā)送到系統(tǒng)100中的其他組件 或代理的消息,并接收由系統(tǒng)100中的其他組件或代理發(fā)送到處理器200的消息。在處理器200的一個(gè)實(shí)施例中,指令單元210可接收用于處理器200的指令 (“SENTER”指令),以開(kāi)始在系統(tǒng)100中建立安全的環(huán)境的過(guò)程(“SENTER”過(guò)程)。響應(yīng) 于SENTER指令,控制單元240生成控制信號(hào)以使消息傳遞單元260生成“SENTER”總線消 息(或系統(tǒng)中其他類型的消息,其中處理器和其他代理通過(guò)非總線的方式進(jìn)行通信),該總 線消息由其他處理器和代理的消息傳遞單元識(shí)別為SENTER總線消息。執(zhí)行SENTER指令并 發(fā)送SENTER總線消息的處理器或執(zhí)行線程稱為“啟動(dòng)邏輯處理器”(initiating logicalprocessor “ILP")。系統(tǒng)中接收SENTER總線消息的每個(gè)處理器、執(zhí)行線程或其他代理稱為“響應(yīng)邏輯 處理器”(responding logical processor “RLP”)。響應(yīng)于 SENTER 總線消息,每個(gè) RLP 執(zhí) 行準(zhǔn)備建立安全的環(huán)境的動(dòng)作,以及允許ILP繼續(xù)進(jìn)行啟動(dòng)(launch)安全的環(huán)境的動(dòng)作。 這些動(dòng)作之一可用于它們的消息傳遞單元以生成“ACK”總線消息從而確認(rèn)SENTER總線消 息的接收。圖3示出了芯片組300,根據(jù)本發(fā)明的實(shí)施例,其可代表芯片組160或執(zhí)行芯片組 160的功能的任何其他芯片組或組件。芯片組300可包括消息傳遞單元310、控制單元320、 “EXISTS”存儲(chǔ)單元330、“ JOINS”存儲(chǔ)單元;340、以及“ALL_J0INED”存儲(chǔ)單元;350。消息傳遞單元310可包括任何電路、邏輯或其他硬件或結(jié)構(gòu)以生成由芯片組300 發(fā)送到系統(tǒng)100中的其他組件或代理的消息,以及接收由系統(tǒng)100中的其他組件或代理發(fā) 送的消息??刂茊卧?20可包括任何電路、邏輯或其他硬件或結(jié)構(gòu),諸如微碼、狀態(tài)機(jī)邏輯、 可編程邏輯或任何其他形式的控制邏輯,以便響應(yīng)于消息傳遞單元310接收的消息而生成 控制信號(hào)或以其他方式來(lái)用于控制芯片組200?!癊XISTS” 存儲(chǔ)單元 330、“JOINS” 存儲(chǔ)單元 340、以及“ALL_J0INED” 存儲(chǔ)單元 350 中的每一個(gè)可包括寄存器或任何其他形式的存儲(chǔ)裝置來(lái)存儲(chǔ)信息,并可包括用于任意數(shù)目 的位的存儲(chǔ)裝置。在一個(gè)實(shí)施例中,控制單元320可使用EXISTS存儲(chǔ)單元330來(lái)跟蹤在系 統(tǒng)100中操作的所有邏輯處理器和其他代理,以及使用JOINS存儲(chǔ)單元340來(lái)跟蹤已確認(rèn) 收到SENTER總線消息的所有邏輯處理器和其他代理。當(dāng)系統(tǒng)100中的所有處理器和其他代 理,如EXISTS存儲(chǔ)單元330中所反映的,已確認(rèn)收到SENTER總線消息,如JOINS存儲(chǔ)單元 340中所反映的,則控制單元320可在“ALL_J0INED”存儲(chǔ)單元350中設(shè)置指示器以向ILP 指示可繼續(xù)進(jìn)行安全的環(huán)境的啟動(dòng)。注意,在本說(shuō)明書(shū)的SENTER過(guò)程中,如在本說(shuō)明書(shū)的 其余部分,不要求描述和實(shí)現(xiàn)本發(fā)明的實(shí)施例的許多細(xì)節(jié)已被省略,并且該過(guò)程的許多變 型是可能的。例如,ILP和RLP通過(guò)前端處理器總線(front-side processor bus “FSB”) 來(lái)連接,F(xiàn)SB事務(wù)可包括每個(gè)事務(wù)的啟動(dòng)器的標(biāo)識(shí)符,并且芯片組300可連接到FSB以跟蹤 所有FSB邏輯處理器或其他總線代理。返回到圖1,非易失性存儲(chǔ)裝置190可代表系統(tǒng)100中的任意數(shù)量的單獨(dú)非易失性 存儲(chǔ)介質(zhì),諸如半導(dǎo)體閃存或磁盤(pán)或光盤(pán)。非易失性存儲(chǔ)裝置190可用于存儲(chǔ)在本發(fā)明實(shí) 施例中使用的軟件組件。例如,非易失性存儲(chǔ)裝置190可存儲(chǔ)認(rèn)證代碼模塊(“ACM”)192 和被測(cè)虛擬機(jī)監(jiān)視器(measured virtual machinemonitor “MVMM”)194。在SENTER過(guò)程中可由一個(gè)或多個(gè)處理器執(zhí)行ACM 192,以執(zhí)行涉及建立安全的環(huán) 境的任意數(shù)量的動(dòng)作。例如ACM 192可用于初始化、配置和測(cè)試系統(tǒng)100內(nèi)的組件來(lái)用于 其參與安全的環(huán)境。在一個(gè)實(shí)施例中,ACM 192可用于測(cè)試系統(tǒng)100的存儲(chǔ)器配置(由系 統(tǒng)100中的任何處理器、芯片組或其他組件的存儲(chǔ)器控制器功能所控制),以確保對(duì)系統(tǒng)存 儲(chǔ)器150的某些頁(yè)或部分的訪問(wèn)可以被限制或控制,這樣,MVMM 194和/或用于使系統(tǒng)100 安全的其他軟件可以在其存儲(chǔ)在系統(tǒng)存儲(chǔ)器150中時(shí)被保護(hù)。在另一個(gè)實(shí)施例中,ACM 192 可用于認(rèn)證MVMM 194和將在安全的環(huán)境內(nèi)使用的任何其他軟件,以及啟動(dòng)MVMM 194的執(zhí) 行。MVMM 194可以是作為在SENTER過(guò)程期間調(diào)用的可信任實(shí)體的任何虛擬機(jī)監(jiān)視器、管理程序或其他這樣的軟件程序,以便控制一個(gè)或多個(gè)虛擬機(jī)執(zhí)行其他軟件程序(通 常稱為被測(cè)的啟動(dòng)環(huán)境或“MLE”),其中的一些是可信任的,而一些是不可信任的。為了在系統(tǒng)100中建立安全的環(huán)境,運(yùn)行在任何處理器120、130、140或系統(tǒng)100 中的任何其他處理器上的諸如操作系統(tǒng)(“Os”)或基本輸入/輸出系統(tǒng)(“BIOS”)等系 統(tǒng)軟件可從非易失性存儲(chǔ)裝置190向系統(tǒng)存儲(chǔ)器150傳輸ACM192和MVMM 194,接著使這些 處理器之一(例如處理器120)執(zhí)行SENTER指令。SENTER指令的執(zhí)行可使處理器120作 為ILP發(fā)布SENTER總線消息,輪詢ALL_J0INED存儲(chǔ)單元350直至所有的RLP已確認(rèn)收到 SENTER總線消息,配置高速緩存122在CRAM模式操作,以及將ACM 192(或根據(jù)本發(fā)明的實(shí) 施例,ACM 192的部分,如下所述)載入高速緩存122。高速緩存122可配置為在CRAM模式 操作,使得高速緩存122可充當(dāng)私有、安全的存儲(chǔ)器,其中處理器120可認(rèn)證ACM 192 (或根 據(jù)本發(fā)明的實(shí)施例,ACM 192的部分,如下所述)。為了特定處理器和/或芯片組可寫(xiě)ACM,并可由處理器和/或芯片組的制造商或賣(mài) 主對(duì)其進(jìn)行數(shù)字簽名。由于使得系統(tǒng)中的每個(gè)處理器處于穩(wěn)定的狀態(tài)所采取的各種動(dòng)作的 復(fù)雜性,其中在穩(wěn)定的狀態(tài)加入(join in) SENTER過(guò)程,因此除了 ILP之外,對(duì)于RLP執(zhí)行 ACM或ACM的某個(gè)部分也可能是所期望的。此外,諸如系統(tǒng)100等系統(tǒng)可包括兩個(gè)或更多不 同步進(jìn)、版本或類型的處理器。因此,將用于不同處理器的代碼組合到一個(gè)ACM可能是所期 望的,使得任何不同的處理器可充當(dāng)ILP,和/或使得RLP可執(zhí)行ACM或ACM的某個(gè)部分。 然而,ACM的尺寸可能限于可將ACM載入以供認(rèn)證的高速緩沖存儲(chǔ)器的尺寸(例如64千字 節(jié))。因此,本發(fā)明的實(shí)施例提供用于在SENTER過(guò)程中將使用的或可用的不止一個(gè)ACM。根據(jù)本發(fā)明的實(shí)施例,圖4示出了主ACM400,其可用作系統(tǒng)100中的ACM192。主 ACM400包括主報(bào)頭410、ACM420、ACM430以及ACM440??蔀椴煌牟竭M(jìn)、版本或類型的處 理器對(duì)ACM 420、430以及440中的每一個(gè)進(jìn)行寫(xiě)入。例如,可分別為系統(tǒng)100中的處理器 120、130 和 140 對(duì) ACM 420、ACM430 以及 ACM440 進(jìn)行寫(xiě)入。ACM 420,430以及440中的每一個(gè)可包括包含代碼和數(shù)據(jù)的部分(例如分別是部 分422、432和44 ,以及包含報(bào)頭的部分(例如分別是部分424、434和444)。代碼和數(shù)據(jù)部 分中的每一個(gè)包括由處理器在SENTER過(guò)程期間執(zhí)行的代碼,連同在執(zhí)行此代碼期間使用 的數(shù)據(jù)和/或執(zhí)行此代碼期間所生成的數(shù)據(jù)的便箋式存儲(chǔ)單元(scratchpad locations) 0 報(bào)頭部分中的每一個(gè)包括摘要(digest)和/或數(shù)字簽名(“散列”)和/或從相應(yīng)ACM中得 到或以其他方式代表相應(yīng)ACM的其他值,所述摘要和/或數(shù)字簽名或其他值由散列和/或 其他密碼功能生成。報(bào)頭部分中的每一個(gè)也可包括有關(guān)ACM的作者、尺寸、版本等的信息。 這些報(bào)頭部分中的信息可用于認(rèn)證(即核實(shí)真實(shí)性)相應(yīng)的ACM0主報(bào)頭410可包括匹配表412和主散列414。匹配表412可包括例如根據(jù)從在各 處理器內(nèi)或與各處理器相關(guān)的寄存器或其他存儲(chǔ)單元可讀的唯一的處理器標(biāo)識(shí)符(“CPU ID”)而標(biāo)識(shí)包括在系統(tǒng)100的各處理器的表。對(duì)于每個(gè)CPU ID,基于有關(guān)處理器的步進(jìn)、 版本、類型或其他信息,匹配表指示包括在主ACM 400中的哪個(gè)ACM將被該處理器執(zhí)行。主散列414包括從匹配表412和報(bào)頭似4、4;34和444 (或報(bào)頭似4、4;34和444中 的每一個(gè)的部分)得出或以其他方式代表匹配表412和報(bào)頭似4、434和444(或報(bào)頭424、 434和444中的每一個(gè)的部分)的拼接(concatenation)的散列。主散列414可由在匹配 表412和ACM 420,430和440的散列的拼接上執(zhí)行的散列和/或其他密碼功能生成。因此,主散列414可用于認(rèn)證所有包括在主ACM400中的信息。圖5示出了本發(fā)明的方法實(shí)施例,具體而言,示出了使用多個(gè)認(rèn)證代碼模塊進(jìn)入 安全的計(jì)算環(huán)境的方法500。雖然本發(fā)明的方法實(shí)施例不限于此方面,但是可參照系統(tǒng) 100、處理器200、芯片組300或主ACM 400的元件來(lái)描述圖5的方法500。此外,方法500 可代表單獨(dú)的方法的匯編(compilation),其中每個(gè)可能在不同存儲(chǔ)單元由不同的實(shí)體或 個(gè)人或自動(dòng)執(zhí)行。此外,在方法500中執(zhí)行的某些動(dòng)作可由處理器200響應(yīng)于控制單元240所生成 的控制信號(hào)來(lái)執(zhí)行(例如框550到558),或由芯片組300響應(yīng)于控制單元320所生成的控 制信號(hào)來(lái)執(zhí)行。處理器200中的控制信號(hào)又可響應(yīng)于指令單元230將指令解碼為一個(gè)或多 個(gè)微指令或微操作和/或消息傳遞單元260接收總線消息或其他事務(wù)而生成,而芯片組300 中的控制信號(hào)又可響應(yīng)于消息傳遞單元310接收總線消息或其他事務(wù)而生成。在圖5的框502,方法500可以開(kāi)始。在框510中,可例如由處理器或其他信息處理系統(tǒng)組件的制造商或賣(mài)主,或者為 了處理器或其他信息處理系統(tǒng)組件的制造商或賣(mài)主而寫(xiě)入或以其他方式創(chuàng)建任意數(shù)量的 單獨(dú)的ACM,例如ACM420、430以及440。在框512中,通過(guò)向ACM的代碼、數(shù)據(jù)和/或其他 部分應(yīng)用散列或其他這樣的算法,可以為每個(gè)ACM創(chuàng)建散列。在框514中,每個(gè)散列可通過(guò) 應(yīng)用使用例如公鑰/私鑰對(duì)的密碼算法來(lái)加密。在框516中,每個(gè)散列可被加入到相應(yīng)ACM 的報(bào)頭。在框520,諸如主ACM 400等主ACM可以為諸如系統(tǒng)100等信息處理系統(tǒng)而創(chuàng)建。 主ACM可以例如由系統(tǒng)制造商或賣(mài)主或者為了系統(tǒng)制造商或賣(mài)主使用諸如ACM 420、430和 440等任意數(shù)量的單獨(dú)的ACM而創(chuàng)建。在框522,諸如匹配表412等匹配表可以通過(guò)創(chuàng)建系 統(tǒng)100中的各處理器或其他代理的條目(包括各處理器的標(biāo)識(shí)符連同哪個(gè)ACM將由該處理 器來(lái)執(zhí)行的指示)而創(chuàng)建。在框524,匹配表可與包括在主ACM中的各個(gè)單獨(dú)的ACM的散列拼接。在框526, 諸如主散列414等主散列可以通過(guò)將散列或其他這樣的算法應(yīng)用到匹配表和單獨(dú)的ACM散 列的拼接而創(chuàng)建。在框528,主散列可以通過(guò)應(yīng)用使用例如公鑰/私鑰對(duì)的密碼算法來(lái)進(jìn)行 加密。在框530,主ACM可以通過(guò)將主散列和匹配表拼接成主報(bào)頭以及將主報(bào)頭與單獨(dú) 的ACM相拼接來(lái)完成。在框532,主ACM可以被加載或以其他方式安裝在系統(tǒng)中,例如被加 載或以其他方式安裝在諸如非易失性存儲(chǔ)裝置190等非易失性存儲(chǔ)裝置。在框M0,主ACM可以例如通過(guò)運(yùn)行在系統(tǒng)100中的BIOS、弓|導(dǎo)裝載程序或OS而從 非易失性存儲(chǔ)裝置復(fù)制到諸如系統(tǒng)存儲(chǔ)器150等系統(tǒng)存儲(chǔ)器。在框M2,系統(tǒng)100進(jìn)入安全 的系統(tǒng)環(huán)境可以例如通過(guò)BIOS、引導(dǎo)裝載程序、OS向處理器120發(fā)布SENTER指令來(lái)啟動(dòng)。 在框M4,處理器120可發(fā)送SENTER總線消息。在框M6,系統(tǒng)100中的每個(gè)RLP,例如,處 理器130和140可發(fā)送ACK總線消息。在框M8,所有RLP已經(jīng)加入SENTER過(guò)程的指示可 以設(shè)置在例如ALL_J0INED存儲(chǔ)單元350中。在框550,系統(tǒng)100中的處理器(例如ILP或和RLP)可讀取主ACM中的匹配表以 尋找相應(yīng)條目(entry)。如果匹配沒(méi)有找到,則在框552,處理器可向非易失性存儲(chǔ)器寫(xiě)入 錯(cuò)誤代碼值,并使系統(tǒng)重置。然而,如果找到了匹配,則在框554,處理器可配置其高速緩存以便以CRAM模式操作并將主報(bào)頭和匹配的單獨(dú)的ACM載入其高速緩存。在框556,處理器可試圖通過(guò)對(duì)每一個(gè)主報(bào)頭和匹配ACM進(jìn)行散列并且將結(jié)果散 列與從主ACM讀取的主散列和單獨(dú)的ACM散列進(jìn)行比較來(lái)認(rèn)證主報(bào)頭和匹配的ACM。如果 任何一個(gè)比較失敗,則在框552,處理器可向非易失性存儲(chǔ)器寫(xiě)入錯(cuò)誤代碼值,并使系統(tǒng)重 置。然而,如果主報(bào)頭和匹配的單獨(dú)的ACM都成功被認(rèn)證,則在框558,主散列可被發(fā)送到諸 如令牌170的令牌(token),以便存儲(chǔ)在PCR中,供在密封或解封被測(cè)啟動(dòng)環(huán)境或安全的系 統(tǒng)環(huán)境中的秘密時(shí)使用。在框560,框550到558可被系統(tǒng)100中的每個(gè)其他處理器重復(fù)。在框562,系統(tǒng) 100中的一個(gè)或多個(gè)處理器可開(kāi)始執(zhí)行它的ACM。在框564,執(zhí)行ACM的處理器可啟動(dòng)MVMM。 在框566,系統(tǒng)100進(jìn)入被測(cè)啟動(dòng)環(huán)境(“MLE”)或安全的系統(tǒng)環(huán)境可以完成。在框598,方法500可結(jié)束。在本發(fā)明的范圍內(nèi),對(duì)于方法500而言,以不同的順序執(zhí)行、同時(shí)執(zhí)行所示的塊、 省略所示的塊、增加額外的塊、或者組合重新排序的、組合的、省略的或額外的塊是可能的。 本發(fā)明的方法實(shí)施例的許多變型是可能的,但是其可能不是從方法500的描述顯而易見(jiàn) 的。例如,框520至530中創(chuàng)建主ACM可以發(fā)生在系統(tǒng)100之外或者發(fā)生在系統(tǒng)100內(nèi)。因此,已公開(kāi)了系統(tǒng)、設(shè)備和方法以及使用多個(gè)認(rèn)證代碼模塊進(jìn)入安全的計(jì)算環(huán) 境的系統(tǒng)。雖然已對(duì)某些實(shí)施例進(jìn)行了描述,并在附圖中示出,但應(yīng)理解,這樣的實(shí)施例 僅僅是對(duì)寬廣的本發(fā)明進(jìn)行示例而非限制,并且本發(fā)明不限于所示和所述的特定結(jié)構(gòu)和安 排,因?yàn)楸绢I(lǐng)域技術(shù)人員在研究本公開(kāi)時(shí)可以想到各種其他的修改。在快速成長(zhǎng)并且進(jìn)一 步的提高難以預(yù)見(jiàn)的技術(shù)領(lǐng)域,諸如本發(fā)明的技術(shù)領(lǐng)域,通過(guò)實(shí)現(xiàn)技術(shù)提高而進(jìn)行促進(jìn),所 公開(kāi)的實(shí)施例可以容易地在安排和細(xì)節(jié)上進(jìn)行修改,而沒(méi)有背離本公開(kāi)的原理或所附權(quán)利 要求書(shū)的范圍。
權(quán)利要求
1.一種處理器,包括解碼器,解碼安全進(jìn)入指令;控制邏輯,響應(yīng)于解碼該安全進(jìn)入指令,在主認(rèn)證代碼模塊中的匹配表中尋找與處理 器相應(yīng)的條目,并從主認(rèn)證代碼模塊中讀取主報(bào)頭和單獨(dú)的認(rèn)證代碼模塊。
2.如權(quán)利要求1所述的處理器,進(jìn)一步包括配置成安全模式的高速緩存,其中控制邏 輯將主報(bào)頭和單獨(dú)的代碼模塊讀入配置成安全模式的高速緩存。
3.如權(quán)利要求2所述的處理器,其中控制邏輯也使主報(bào)頭和單獨(dú)的認(rèn)證代碼模塊在高 速緩存內(nèi)被認(rèn)證。
4.如權(quán)利要求1所述的處理器,其中單獨(dú)的認(rèn)證代碼模塊是在主認(rèn)證代碼模塊內(nèi)的多 個(gè)單獨(dú)的認(rèn)證代碼模塊之一。
5.如權(quán)利要求4所述的處理器,其中控制邏輯還基于匹配表中的條目來(lái)選擇多個(gè)單獨(dú) 的認(rèn)證代碼模塊之一。
6.如權(quán)利要求3所述的處理器,其中在認(rèn)證主報(bào)頭和單獨(dú)的認(rèn)證代碼模塊之后,控制 邏輯還向令牌發(fā)送主散列。
7.一種方法,包括在主認(rèn)證代碼模塊中的匹配表中尋找與第一處理器相應(yīng)的第一條目;將來(lái)自主認(rèn)證代碼模塊的主報(bào)頭載入第一安全存儲(chǔ)器;并且將第一處理器的第一單獨(dú)的認(rèn)證代碼模塊從主代碼模塊載入第一安全存儲(chǔ)器。
8.如權(quán)利要求7所述的方法,進(jìn)一步包括發(fā)布安全進(jìn)入指令,其中響應(yīng)于發(fā)布安全進(jìn) 入指令而進(jìn)行尋找第一條目、加載主報(bào)頭并加載第一單獨(dú)的認(rèn)證代碼模塊。
9.如權(quán)利要求7所述的方法,其中第一安全存儲(chǔ)器是第一處理器的高速緩沖存儲(chǔ)器。
10.如權(quán)利要求7所述的方法,進(jìn)一步包括認(rèn)證在第一安全存儲(chǔ)器內(nèi)的主報(bào)頭和第一 單獨(dú)的認(rèn)證代碼模塊。
11.如權(quán)利要求7所述的方法,進(jìn)一步包括從主認(rèn)證代碼模塊中的多個(gè)單獨(dú)的認(rèn)證代 碼模塊中選擇第一單獨(dú)的認(rèn)證代碼模塊。
12.如權(quán)利要求11所述的方法,其中選擇第一單獨(dú)的認(rèn)證代碼模塊是基于匹配表中的 第一條目。
13.如權(quán)利要求10所述的方法,進(jìn)一步包括在認(rèn)證主報(bào)頭和第一單獨(dú)的認(rèn)證代碼模塊 之后向令牌發(fā)送主散列。
14.如權(quán)利要求7所述的方法,進(jìn)一步包括在主認(rèn)證代碼模塊中的匹配表中尋找與第二處理器相應(yīng)的第二條目;將來(lái)自主認(rèn)證代碼模塊的主報(bào)頭載入第二安全存儲(chǔ)器;以及將第二處理器的第二單獨(dú)的認(rèn)證代碼模塊從主代碼模塊載入第二安全存儲(chǔ)器。
15.如權(quán)利要求14所述的方法,其中第二安全存儲(chǔ)器是第二處理器的高速緩沖存儲(chǔ)ο
16.如權(quán)利要求14所述的方法,進(jìn)一步包括認(rèn)證第二安全存儲(chǔ)器內(nèi)的主報(bào)頭和第二單 獨(dú)的認(rèn)證代碼模塊。
17.一種系統(tǒng),包括第一處理器,包括解碼器,解碼安全進(jìn)入指令;消息傳遞邏輯,發(fā)送安全進(jìn)入消息;以及第一控制邏輯,響應(yīng)于解碼安全進(jìn)入指令,在主認(rèn)證代碼模塊中的匹配表中尋找與第 一處理器相應(yīng)的第一條目,并從主認(rèn)證代碼模塊中讀取主報(bào)頭和第一單獨(dú)的認(rèn)證代碼模 塊;和第二處理器,包括消息傳遞邏輯,接收安全進(jìn)入消息;以及第二控制邏輯,響應(yīng)于接收安全進(jìn)入消息,在主認(rèn)證代碼模塊中的匹配表中尋找與第 二處理器相應(yīng)的第二條目,并從主認(rèn)證代碼模塊中讀取主報(bào)頭和第二單獨(dú)的認(rèn)證代碼模 塊。
18.如權(quán)利要求17所述的系統(tǒng),進(jìn)一步包括存儲(chǔ)主認(rèn)證代碼模塊的非易失性存儲(chǔ)裝 置,所述主認(rèn)證代碼模塊包括匹配表、第一單獨(dú)的認(rèn)證代碼模塊、第二單獨(dú)的認(rèn)證代碼模 塊,以及基于匹配表、第一單獨(dú)的認(rèn)證代碼模塊和第二認(rèn)證代碼模塊的主散列。
19.如權(quán)利要求17所述的系統(tǒng),進(jìn)一步包括將主認(rèn)證代碼模塊載入非易失性存儲(chǔ)器的 系統(tǒng)存儲(chǔ)器。
20.如權(quán)利要求19所述的系統(tǒng),進(jìn)一步包括在認(rèn)證第一處理器的安全存儲(chǔ)器內(nèi)的主報(bào) 頭和第一認(rèn)證代碼模塊后,將主認(rèn)證代碼模塊的主散列載入的令牌。
全文摘要
公開(kāi)了使用多個(gè)認(rèn)證代碼模塊進(jìn)入安全系統(tǒng)環(huán)境的系統(tǒng)、設(shè)備和方法。在一個(gè)實(shí)施例中,處理器包括解碼器和控制邏輯。解碼器解碼安全進(jìn)入指令。響應(yīng)于解碼安全進(jìn)入指令,控制邏輯在主認(rèn)證代碼模塊中的匹配表中尋找與處理器相應(yīng)的條目,并從主認(rèn)證代碼模塊中讀取主報(bào)頭和單獨(dú)的認(rèn)證代碼模塊。
文檔編號(hào)G06F21/00GK102122327SQ20101062514
公開(kāi)日2011年7月13日 申請(qǐng)日期2010年12月24日 優(yōu)先權(quán)日2009年12月31日
發(fā)明者E·F·布里克爾, M·J·庫(kù)馬, S·M·達(dá)塔 申請(qǐng)人:英特爾公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1