專利名稱:提供多階段鎖步完整性報(bào)告機(jī)構(gòu)的制作方法
提供多階段鎖步完整性報(bào)告機(jī)構(gòu)
背景技術(shù):
許多計(jì)算機(jī)系統(tǒng)包含根據(jù)依照PCI Express Specification BaseSpecification version 2. 0 (公布于2007年I月17日)(下文稱為PCIe 規(guī)范)的外設(shè)部件互連Express (PCI Express (PCIe ))協(xié)議的根聯(lián)合體(root complex)通信總線。在這種系統(tǒng)中,平臺(tái)設(shè)備、嵌入式微處理器、輸入/輸出(10)控制器、10橋以及在中央處理單元(CPU)上運(yùn)行的虛擬設(shè)備均可交互。在根聯(lián)合體總線上使用的平臺(tái)初始化和可管理性協(xié)議既能夠支持主-從交互模型又能夠支持對(duì)等交互模型。根聯(lián)合體節(jié)點(diǎn)可經(jīng)由直接存儲(chǔ)器訪問(wèn)(DMA)架構(gòu)以及通過(guò)管理控制傳輸協(xié)議(MCTP)與其它節(jié)點(diǎn)直接交互。隨著根聯(lián)合體設(shè)備的復(fù)雜性和能力的增強(qiáng),與可能的損害相關(guān)聯(lián)的安全風(fēng)險(xiǎn)也增力口。因此,在設(shè)備的配置被驗(yàn)證之前,這些設(shè)備相互懷疑其它設(shè)備。然而,當(dāng)前的驗(yàn)證過(guò)程是費(fèi)時(shí)且復(fù)雜的,并且仍會(huì)導(dǎo)致安全性損害。
圖1為根據(jù)本發(fā)明的實(shí)施例的系統(tǒng)的框圖。圖2為根據(jù)本發(fā)明的一個(gè)實(shí)施例的具有完整性報(bào)告構(gòu)造的配置空間的框圖。圖3為根據(jù)本發(fā)明的一個(gè)實(shí)施例的游標(biāo)儲(chǔ)存器的框圖。圖4為根據(jù)本發(fā)明的一個(gè)實(shí)施例的表的框圖。圖5為根據(jù)本發(fā)明的實(shí)施例的進(jìn)行通信的主設(shè)備和從設(shè)備的框圖。圖6為根據(jù)本發(fā)明的實(shí)施例的包括雙緩沖區(qū)的存儲(chǔ)器表示的框圖。圖7為根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于收集設(shè)備完整性測(cè)量的主-從模型的框圖。圖8為根據(jù)本發(fā)明的又一實(shí)施例的系統(tǒng)的框圖。圖9為根據(jù)本發(fā)明的一個(gè)實(shí)施例的使用隱私增強(qiáng)型識(shí)別符(EPID)的完整性驗(yàn)證的框圖。圖10為根據(jù)本發(fā)明的一個(gè)實(shí)施例的平臺(tái)的框圖。圖11為根據(jù)本發(fā)明的一個(gè)實(shí)施例的多階段鎖步完整性方法的流程圖。圖12為根據(jù)本發(fā)明的一個(gè)實(shí)施例的多階段完整性報(bào)告方法的流程圖。圖13為根據(jù)本發(fā)明的另一實(shí)施例的系統(tǒng)的框圖。
具體實(shí)施例方式在各個(gè)實(shí)施例中,提供了一種在用于主-從交互模型和對(duì)等交互模型的多個(gè)根聯(lián)合體設(shè)備之間引導(dǎo)信任的方法,其中最初每個(gè)設(shè)備與其它設(shè)備相互不信任。用于報(bào)告和驗(yàn)證設(shè)備完整性的兩階段鎖步協(xié)議能夠確保不受信任的設(shè)備能夠與后續(xù)交互隔離,因?yàn)檫@些不受信任的設(shè)備會(huì)對(duì)安全性造成重大風(fēng)險(xiǎn)。也就是說(shuō),如果惡意設(shè)備(rogue device)被容許變?yōu)橥耆僮?,則惡意設(shè)備可利用用于根聯(lián)合體設(shè)備和虛擬設(shè)備的固件/微代碼的弱點(diǎn)來(lái)獲得未授權(quán)訪問(wèn)。例如,惡意設(shè)備能夠執(zhí)行對(duì)主機(jī)固件/軟件(其對(duì)于可接受/不可接受設(shè)備固件可具有啟動(dòng)控制策略)隱瞞的代碼。在沒有如本文所述的保護(hù)的情況下,根聯(lián)合體上的設(shè)備可對(duì)主機(jī)資源進(jìn)行訪問(wèn)。惡意代碼可用于訪問(wèn)主機(jī)資源或者向可直接訪問(wèn)這些主機(jī)資源的設(shè)備發(fā)起攻擊。根聯(lián)合體設(shè)備可以弓I入對(duì)于一些設(shè)備而言可信任以使用而對(duì)其它設(shè)備而言不可信任以使用的虛擬設(shè)備消息(VDM)。這樣,出于利用VDM進(jìn)行交互的目的,惡意設(shè)備可偽裝成可信設(shè)備?,F(xiàn)在參照?qǐng)D1,示出了根據(jù)本發(fā)明的實(shí)施例的系統(tǒng)的框圖。如圖1所示,系統(tǒng)10可以為基于PCIe 的系統(tǒng),其中各個(gè)部件經(jīng)由根聯(lián)合體總線30耦合。具體地,在圖1的實(shí)施例中,處理器20經(jīng)由總線30耦合到輸入輸出中心(10H)40,IOH 40接著耦合到外圍控制器中心(PCH)60。接著,PCH 60可耦合到可信平臺(tái)模塊(TPM)90??梢钥闯?,每個(gè)部件均可以包括耦合到根聯(lián)合體總線的各種根聯(lián)合體設(shè)備。每個(gè)這樣的設(shè)備可以包括或者可關(guān)聯(lián)PCI配置空間,PCI配置空間可以為本地存儲(chǔ)器的包括配置信息的部分。在各個(gè)實(shí)施例中,這種配置空間還可包括根據(jù)本發(fā)明的實(shí)施例的完整性報(bào)告構(gòu)造。從圖1中可見,處理器20可以包括多個(gè)內(nèi)核,為了便于圖示,在圖1中僅示出了一個(gè)內(nèi)核??梢钥闯?,可執(zhí)行線程X的內(nèi)核22可以包括配置空間24,線程X可以執(zhí)行在下文進(jìn)一步說(shuō)明的隱藏資源管理器(HRM)的細(xì)節(jié)。另外,處理器20還可以包括非內(nèi)核25,非內(nèi)核25可以包括在處理器內(nèi)核的外部執(zhí)行的處理器的各種邏輯。另外,處理器20還可包括集成存儲(chǔ)器控制器(MC) 28,IMC 28可以耦合到系統(tǒng)存儲(chǔ)器(為便于圖示而未在圖1中示出)。可存在橋26,在一個(gè)實(shí)施例中,橋26可以為PCIe 橋,其可耦合到與處理器耦合的一個(gè)或多個(gè)PCIe 設(shè)備??梢钥闯?,這些部件中的每個(gè)部件均可包括相關(guān)聯(lián)的配置空間27和29。從圖1的實(shí)施例可進(jìn)一步看出,IOH 40還可包括PCIe 橋41和控制器43,在一個(gè)實(shí)施例中,控制器43可以為使能執(zhí)行各種測(cè)試操作的聯(lián)合測(cè)試工作組(JTAG)控制器。另夕卜,還可以存在符合直接介質(zhì)接口(DMI)規(guī)范的橋45??梢钥闯?,這些部件中的每個(gè)部件可以包括配置空間,即空間42、44和46。從圖1中還顯示出,PCH 60可以包括各種部件,這些部件包括橋和控制器。另外,可以存在虛擬引擎(VE)62和管理引擎(ME)64,該兩者中的每個(gè)可與相應(yīng)的配置空間63和65相關(guān)聯(lián)。可以看出,PCH 60的部件可以包括控制器和橋68、70、72、74、76、78和82,其每一個(gè)均包括相應(yīng)的配置空間69、71、73、75、77、79和83。除了別的以外,這些控制器可以包括可擴(kuò)展主機(jī)控制器接口(XHCI )、高級(jí)主機(jī)控制器接口(AHCI )、低弓I腳數(shù)(LPC)和串行外圍接口( SPI)控制器。在一些實(shí)施例中,部件還可以包括傳感器和專用設(shè)備??梢钥闯?,根聯(lián)合體中的每個(gè)節(jié)點(diǎn)可以具有PCI配置空間,PCI配置空間能夠用于存儲(chǔ)設(shè)備能力的完整性測(cè)量。聯(lián)合體設(shè)備具有可加載固件,能夠支持修補(bǔ)和更新,并且可以連接至其它總線或網(wǎng)絡(luò)。因此,被與根聯(lián)合體設(shè)備連接的惡意軟件、主機(jī)或設(shè)備利用的風(fēng)險(xiǎn)會(huì)很高?,F(xiàn)在參照?qǐng)D2,示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的具有完整性報(bào)告構(gòu)造(S卩,完整性數(shù)據(jù)塊100)的PCIe 配置空間的框圖??梢钥闯觯纱鎯?chǔ)在給定設(shè)備的配置空間中的塊100包括完整性數(shù)據(jù)110。這種數(shù)據(jù)可包括報(bào)頭115,報(bào)頭115提供各種識(shí)別信息。另外,可存在用于可充當(dāng)給定完整性鎖步協(xié)議的主設(shè)備的一個(gè)設(shè)備和其它設(shè)備的各種指示符。具體地,可存在第一設(shè)備就緒指示符(DRO) 120和第二設(shè)備就緒指示符(DRl) 125。如將在下文進(jìn)一步討論的,這些指示符可由設(shè)備設(shè)置以指示該設(shè)備已到達(dá)其認(rèn)證協(xié)議的特定階段。類似地,一個(gè)或多個(gè)主設(shè)備指示符(MRO-N) 130可向主設(shè)備提供類似的信息??蛇M(jìn)一步看出,可以存在表140。該表可以實(shí)現(xiàn)為標(biāo)簽-長(zhǎng)度-值(TLV)條目的列表。在圖2的實(shí)施例中,表包含在PCIe 配置空間中,但是表還可以存儲(chǔ)在其它設(shè)備存儲(chǔ)器中。如將在下文進(jìn)一步討論的,該表可以存儲(chǔ)與針對(duì)該設(shè)備進(jìn)行的完整性測(cè)量和度量有關(guān)的各種信息。通過(guò)這種方式,PCIe 配置空間用于基于自校驗(yàn)狀態(tài)的完整性進(jìn)行記錄和報(bào)告。
當(dāng)根聯(lián)合體節(jié)點(diǎn)初始化時(shí),其可加載應(yīng)用程序、修補(bǔ)程序、固件或更新包??衫冒瑪?shù)字簽名的一個(gè)或多個(gè)完整性散列的清單(manifest)來(lái)描述包完整性。用于對(duì)清單進(jìn)行簽名的密鑰是授權(quán)密鑰。被稱為設(shè)備啟動(dòng)策略(DLP)的清單指定該設(shè)備被授予哪個(gè)授權(quán)密鑰,并且清單被測(cè)量成TLV表中的條目,稱為策略TLV條目。策略TLV條目斷言設(shè)備固件和設(shè)置被精確地陳述,并且因此權(quán)限值為用于保護(hù)設(shè)備清單的簽名密鑰的散列。主設(shè)備可利用策略TLV條目驗(yàn)證設(shè)備的完整性配置符合信息技術(shù)(IT)策略。設(shè)備和主設(shè)備的這些行動(dòng)可以為鎖步完整性報(bào)告協(xié)議的第一階段。例如,IT可構(gòu)造對(duì)應(yīng)于由硬件生成的條目的TLV策略條目的白名單。比較函數(shù)將確定哪個(gè)TLV不在白名單中且因此未被IT授權(quán)。在某些環(huán)境中,能夠創(chuàng)建由設(shè)備加載的每個(gè)編碼圖像(例如,設(shè)備固件和PCI配置設(shè)置)的加密散列(也即測(cè)量)。在不同的實(shí)現(xiàn)中,包含圖像的實(shí)際散列的清單可能被散列,或者圖像可能被直接散列。可利用嵌入式散列函數(shù)(諸如安全散列算法I (Shal)、Sha2或基于高級(jí)加密標(biāo)準(zhǔn)散列的消息認(rèn)證代碼(HMAC)、密碼消息認(rèn)證代碼(CMAC)等)來(lái)計(jì)算這些散列。細(xì)節(jié)完整性值被寫入細(xì)節(jié)TLV條目,細(xì)節(jié)TLV條目存儲(chǔ)固件配置設(shè)置的散列。主設(shè)備隨后可在協(xié)議的第二階段中訪問(wèn)該細(xì)節(jié)TLV條目。這樣,PCIe 配置空間可包含控制指示符(在一個(gè)實(shí)施例中可利用控制位來(lái)實(shí)現(xiàn)控制指示符),即設(shè)備和主設(shè)備指示符,控制指示符用于選通多階段協(xié)議。在一個(gè)這樣的實(shí)施例中,設(shè)備就緒-O (DRO)指示符能夠用于報(bào)告權(quán)限測(cè)量何時(shí)準(zhǔn)備好由讀取器/驗(yàn)證設(shè)備消費(fèi)。依次,設(shè)備就緒-1(DRl)指示符能夠用于報(bào)告細(xì)節(jié)測(cè)量何時(shí)準(zhǔn)備好消費(fèi)。依次,主設(shè)備使用主設(shè)備就緒-O (MRO)指示符來(lái)發(fā)出其何時(shí)已完成完整性處理的第一階段的信號(hào)。然后,主設(shè)備使用主設(shè)備就緒-1 (MRl)來(lái)結(jié)束第二階段。這樣,主設(shè)備通過(guò)設(shè)置相應(yīng)的MR位來(lái)結(jié)束第一階段和第二階段。因此,協(xié)議繼續(xù)進(jìn)行鎖步,使得設(shè)備不能完成其完整性校驗(yàn),直到主設(shè)備確認(rèn)成功完成至少部分校驗(yàn)。當(dāng)存在多個(gè)主設(shè)備時(shí),可使用額外的位用作主設(shè)備就緒位。現(xiàn)在參照?qǐng)D3,示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的TLV游標(biāo)的框圖。主設(shè)備利用TLV游標(biāo)150來(lái)讀取TLV條目,TLV游標(biāo)通常包括寄存器域和值域。⑶RSOR_READ_INDEX寄存器152指向下一未讀取的TLV條目,并且⑶RS0R_VALUE寄存器154包含可用于傳送的TLV條目。在各個(gè)實(shí)施例中,TLV游標(biāo)可存在于配置空間中,例如存在于TLV表本身的頭部。接下來(lái),在圖4中示出了根據(jù)本發(fā)明的實(shí)施例的TLV表。可以看出,TLV表160為包括策略TLV條目和細(xì)節(jié)TLV條目(通常為162^1620的測(cè)量的示例表。每個(gè)條目包括類型或標(biāo)簽域164、長(zhǎng)度域166和值域168。標(biāo)簽域164可用于識(shí)別測(cè)量類型,而長(zhǎng)度域166可用于指定值域168的長(zhǎng)度。依次,值域168可以包含包括識(shí)別被測(cè)量的清單或圖像的全局唯一識(shí)別符(GUID)的各種信息。該域的下一部分<alg>識(shí)別設(shè)備用于測(cè)量清單的散列算法,而接下來(lái)該域的最后部分〈hash〉是散列計(jì)算的結(jié)果。
現(xiàn)在參照?qǐng)D5,其示出了根據(jù)本發(fā)明的實(shí)施例的進(jìn)行通信的主設(shè)備和從設(shè)備的框圖。如圖5所示,系統(tǒng)200包括主設(shè)備210,主設(shè)備210可以包括一組TPM平臺(tái)配置寄存器(PCR) 215。可以看出,主設(shè)備可通過(guò)總線230與設(shè)備220耦合,在一個(gè)實(shí)施例中,總線230可以為根聯(lián)合體總線。依次,設(shè)備220可以包括各種部件,這些部件包括固件圖像222、配置空間224、設(shè)備存儲(chǔ)器226和命令緩沖器228。除了上文針對(duì)圖2所述的其它各種完整性數(shù)據(jù)之外,諸如上面圖4所示的認(rèn)證表可包括在配置空間224中。在圖5的系統(tǒng)運(yùn)作時(shí),主設(shè)備210可從設(shè)備220請(qǐng)求用于報(bào)告設(shè)備日志信息的設(shè)備條目日志(DEL)條目,其中條目的數(shù)量超過(guò)PCI配置區(qū)域中的有限資源。在這種情況下,設(shè)備能夠?qū)崿F(xiàn)虛擬設(shè)備方法(VDM),VDM支持通過(guò)命令接口來(lái)報(bào)告DEL。在一個(gè)這樣的實(shí)施例中,設(shè)備可雙重緩沖DEL內(nèi)容以避免與將指針返回到設(shè)備存儲(chǔ)頁(yè)面相關(guān)聯(lián)的安全風(fēng)險(xiǎn)。該通信可經(jīng)由設(shè)備條目寄存器/記錄(DER)日志讀取命令,其使用用于報(bào)告設(shè)備日志信息的固定大小的緩沖區(qū)?,F(xiàn)在參照?qǐng)D6,其示出了根據(jù)本發(fā)明的實(shí)施例的包括雙緩沖區(qū)的存儲(chǔ)器表示的框圖。可以看出,為了執(zhí)行存在于配置空間中的信息的存儲(chǔ)器復(fù)制,表的一些條目被復(fù)制到命令緩沖區(qū)。具體地,如圖6所示,示出了配置空間224的一部分以及命令緩沖區(qū)228??梢钥闯觯鎯?chǔ)在配置空間中的TLV表242的條目可實(shí)現(xiàn)為具有多個(gè)條目242Q-242n+3的鏈接列表。指針240 (以及稍后的240')可用于指向待讀取的當(dāng)前條目??梢钥闯觯瑮l目經(jīng)由存儲(chǔ)器復(fù)制操作被緩沖到命令緩沖區(qū)228。具體地,條目ZSlISZn被完全復(fù)制。在圖6中,日志條目表示為索引陣列242或鏈接列表,其中游標(biāo)指針240用于保持對(duì)列表中的當(dāng)前TLV條目的引用。命令緩沖區(qū)228可用于將條目傳達(dá)到調(diào)用程序。然而,因?yàn)槊罹彌_區(qū)可能具有有限的尺寸,所以整個(gè)結(jié)構(gòu)不能適應(yīng)單個(gè)命令緩沖區(qū)。在這種實(shí)現(xiàn)中,多位255用于指示調(diào)用程序何時(shí)存在額外的條目。如果多位為“真”,則調(diào)用程序再次重新發(fā)布VDM,直到多位變成“假”或者直到調(diào)用程序中止操作。在每個(gè)命令調(diào)用之后,游標(biāo)指針被更新(在圖6中顯示為240 ')以指代未復(fù)制的日志條目直到所有的日志條目均被復(fù)制。然后,指針可復(fù)位到列表的開始。圖7示出了用于收集設(shè)備完整性測(cè)量的主-從模型的框圖??梢钥闯觯髟O(shè)備210經(jīng)由總線230與多個(gè)設(shè)備220耦合。設(shè)備220可充當(dāng)主設(shè)備的從設(shè)備??梢钥闯?,系統(tǒng)200 ;包括主設(shè)備210,主設(shè)備210具有配置空間212和TPM PCR 215。經(jīng)由總線230,主設(shè)備210可與多個(gè)設(shè)備22(^-22(^耦合,每個(gè)設(shè)備220(|-220 可包括固件圖像22(^-22(^和配置空間224^224#主設(shè)備210隱含地?cái)嘌钥偩€上的所有設(shè)備均信任它。這可經(jīng)由具有輪詢根聯(lián)合體設(shè)備并利用本地PCR 215處理完整性值的額外功能的TPM來(lái)實(shí)現(xiàn)?,F(xiàn)在參照?qǐng)D8,其示出了根據(jù)本發(fā)明的又一實(shí)施例的系統(tǒng)的框圖。如圖8所示,系統(tǒng)200"可以包括多個(gè)設(shè)備220,每個(gè)設(shè)備包括固件、配置空間和TPM PCR0通過(guò)這種方式,每個(gè)節(jié)點(diǎn)能夠充當(dāng)主設(shè)備和/或設(shè)備。具體地,在圖8中,描繪了對(duì)等模型,其中每個(gè)節(jié)點(diǎn)既是報(bào)告其完整性的設(shè)備又是從其它設(shè)備處收集完整性值的主設(shè)備。每個(gè)主設(shè)備可包含適于向應(yīng)用程序軟件、管理控制臺(tái)或其它網(wǎng)絡(luò)服務(wù)報(bào)告完整性數(shù)據(jù)的TPM PCR的等價(jià)TPM PCR0在該模型的一個(gè)實(shí)施例中,每個(gè)主設(shè)備試圖以循環(huán)模式從其它設(shè)備處收集完整性信息。圖9為根據(jù)本發(fā)明的一個(gè)實(shí) 施例的使用隱私增強(qiáng)型識(shí)別符(EPID)的完整性驗(yàn)證的框圖。EPID為非對(duì)稱加密系統(tǒng),其具有用于公鑰的單個(gè)實(shí)例的多個(gè)私鑰。圖9中的設(shè)備300可根據(jù)情形而充當(dāng)設(shè)備和/或主設(shè)備??梢钥闯?,設(shè)備可以包括根據(jù)本發(fā)明的實(shí)施例的用于執(zhí)行完整性測(cè)量的固件圖像310和各種結(jié)構(gòu)。具體地,除了配置空間320之外,可存在一組擴(kuò)展寄存器330。此外,除了 EPID私鑰350和公鑰360之外還可以存在完整性報(bào)告密鑰(IRK) 340。由于TPM的實(shí)現(xiàn)可能成本過(guò)高并且對(duì)IT產(chǎn)生部署成本,所以由私鑰350和公鑰360形成的EPID能夠用于報(bào)告完整性值,作為在每個(gè)設(shè)備中實(shí)現(xiàn)TPM功能的備選。包含EPID的設(shè)備能夠使用EPID來(lái)對(duì)完整性報(bào)告密鑰(IRK)340進(jìn)行數(shù)字簽名,而IRK 340能夠用于認(rèn)證完整性值A(chǔ)ER和DER。IRK 340可以為本地生成的用于執(zhí)行擴(kuò)展寄存器330的HMAC或AES_CMAC的對(duì)稱密鑰。當(dāng)報(bào)告協(xié)議尋求免于重放攻擊以及現(xiàn)時(shí)(nonce)的保護(hù)并且其它信息由調(diào)用程序供給時(shí),可以使用IRK。需要注意的是,如果不使用IRK,則EPID能夠用于直接對(duì)擴(kuò)展寄存器進(jìn)行簽名。充當(dāng)主設(shè)備的設(shè)備可通過(guò)使用EPID公鑰360的嵌入式復(fù)件驗(yàn)證EPID簽名來(lái)對(duì)其收集到的完整性報(bào)告進(jìn)行驗(yàn)證。由于單個(gè)EPID公鑰可用于制造多個(gè)EPID設(shè)備識(shí)別符,所以單個(gè)EPID公鑰可用于驗(yàn)證多個(gè)設(shè)備。如上所述,實(shí)施例可應(yīng)用于可在各種環(huán)境中運(yùn)行的各種類型的系統(tǒng)。例如,如上文所提及的,處理器可以實(shí)現(xiàn)隱藏資源管理器。一般地,存儲(chǔ)器的整個(gè)范圍對(duì)于諸如操作系統(tǒng)
(OS)或虛擬機(jī)監(jiān)控器(VMM)的系統(tǒng)軟件是可見的。然而,為了提供安全的操作等,在存儲(chǔ)器中可提供隱藏分區(qū),隱藏分區(qū)包括能夠使用資源管理器運(yùn)行的代碼,隱藏分區(qū)可以例如以處理器微代碼實(shí)現(xiàn)或經(jīng)由軟件線程實(shí)現(xiàn)并且能夠?qū)?S/VMM隱藏。在這種實(shí)現(xiàn)中,多階段鎖步協(xié)議能夠用于認(rèn)證設(shè)備?,F(xiàn)在參照?qǐng)D10,器示出了根據(jù)本發(fā)明的另一實(shí)施例的平臺(tái)的框圖。如圖10所示,平臺(tái)410可以為任意類型的計(jì)算機(jī)系統(tǒng),例如服務(wù)器計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)、平板式計(jì)算機(jī)、上網(wǎng)本計(jì)算機(jī)等等。平臺(tái)包括一起操作以執(zhí)行所請(qǐng)求的操作的各種硬件和軟件??梢钥闯觯脚_(tái)硬件包括處理器420,在一個(gè)實(shí)施例中,處理器420可以為包括多個(gè)處理器內(nèi)核422a-422n的多核處理器。每個(gè)內(nèi)核422可以包括用于在隱藏環(huán)境中執(zhí)行的微代碼,其中該環(huán)境對(duì)諸如OS或VMM的其它系統(tǒng)軟件是隱藏的??蛇M(jìn)一步看出,處理器420包括與系統(tǒng)存儲(chǔ)器430進(jìn)行通信的集成存儲(chǔ)控制器中心(MCH) 424,在一個(gè)實(shí)施例中,系統(tǒng)存儲(chǔ)器430可以為動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)。平臺(tái)410另外的硬件可以包括PCH 440, PCH 440可以包括VE 442和ME 444,其可提供對(duì)諸如儲(chǔ)存器450 (例如諸如磁盤驅(qū)動(dòng)器、光學(xué)儲(chǔ)存器或其它非易失性儲(chǔ)存器的大容量?jī)?chǔ)存器)的各種外圍設(shè)備的控制功能。另外,網(wǎng)絡(luò)接口控制器(NIC) 455可使得在平臺(tái)410與諸如有線網(wǎng)絡(luò)(例如局域網(wǎng)(LAN))、無(wú)線網(wǎng)絡(luò)(諸如無(wú)線LAN (WLAN))或?qū)挿秶鸁o(wú)線網(wǎng)絡(luò)(諸如蜂窩網(wǎng)絡(luò))的網(wǎng)絡(luò)的其它代理之間進(jìn)行通信。盡管在圖10的實(shí)施例中示出了該特定硬件,但是應(yīng)當(dāng)理解的是本發(fā)明的范圍在這點(diǎn)上不受限制。從圖10中可進(jìn)一步看出,還存在各種軟件。首先,示出了隱藏資源管理器(HRM)425。可以看出,該層軟件可充當(dāng)下層處理器硬件和隱藏分區(qū)470之間的接口。在一個(gè)實(shí)施例中,HRM 425可以實(shí)現(xiàn)為存儲(chǔ)在處理器的微代碼儲(chǔ)存器中的處理器微代碼。應(yīng)注意的是,該微代碼和儲(chǔ)存器可與用于為指令集架構(gòu)(ISA)的相應(yīng)用戶級(jí)指令提供處理器指令的常規(guī)微代碼和微代碼儲(chǔ)存器分離。然而,在一些實(shí)施例中,隱藏微代碼和常規(guī)微代碼可存儲(chǔ)在單個(gè)微代碼儲(chǔ)存器的不同分區(qū)中。資源管理器可執(zhí)行以為隱藏分區(qū)470的代碼提供服務(wù)??梢钥闯?,各種代碼可存在于該隱藏分區(qū)中,這些代碼可存儲(chǔ)在例如被分割且對(duì)其它系統(tǒng)軟件(即,OS和VMM)隱藏的系統(tǒng)存儲(chǔ)器430的分區(qū)中。隱藏分區(qū)470包括各種代碼,包括一個(gè)或多個(gè)隱藏內(nèi)核和驅(qū)動(dòng)器472,其可提供內(nèi)核服務(wù)以及用于與平臺(tái)的其它設(shè)備接口的驅(qū)動(dòng)器。除了可在隱藏執(zhí)行環(huán)境中執(zhí)行的一個(gè)或多個(gè)應(yīng)用程序475之外,可以存在額外的內(nèi)核功能代碼474。盡管本發(fā)明的范圍在這點(diǎn)上不受限制,但是隱藏執(zhí)行環(huán)境可用于諸如實(shí)現(xiàn)為遵從提供比通用OS高的完整性的正式安全性模型的操作。另外,平臺(tái)410包括包含主機(jī)OS/VMM分區(qū)460的常規(guī)軟件,主機(jī)OS/VMM分區(qū)460可以包括各種主機(jī)設(shè)備驅(qū)動(dòng)器462和主機(jī)應(yīng)用程序464。這種代碼可存儲(chǔ)在系統(tǒng)存儲(chǔ)器430的另一分區(qū)中。HRM 425可為OS/VMM分區(qū)提供系統(tǒng)硬件的抽象。如下文將說(shuō)明的,在一個(gè)實(shí)施例中,多階段鎖步完整性協(xié)議可用于包括隱藏環(huán)境的暫態(tài)內(nèi)核(稱為Kernel-Ο)的環(huán)境中,暫態(tài)內(nèi)核充當(dāng)啟動(dòng)隱藏環(huán)境的永久內(nèi)核(Kernel-1)的引導(dǎo)加載程序。隨后,Kernel-1使用由Kernel-O供給的啟動(dòng)控制策略來(lái)驗(yàn)證應(yīng)用程序代碼完整性。應(yīng)用程序的完整性測(cè)量可記錄在稱為啟動(dòng)歷史的日志文件中?,F(xiàn)在參照?qǐng)D11,其示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的多階段鎖步完整性方法的流程圖。在圖11中,示出了用于單個(gè)主設(shè)備和多個(gè)設(shè)備的2階段鎖步完整性報(bào)告協(xié)議流程。當(dāng)在對(duì)等配置中使用時(shí),每個(gè)主設(shè)備節(jié)點(diǎn)重復(fù)該協(xié)議??梢钥闯?,能夠并行地執(zhí)行用于設(shè)備(開始于方框505)和主設(shè)備(開始于方框550)的操作。關(guān)于設(shè)備操作,設(shè)備X開始于通過(guò)使用嵌入式驗(yàn)證內(nèi)核來(lái)驗(yàn)證其固件的設(shè)備清單(方框505)。接下來(lái),在方框510處,清單用于加載、測(cè)量和驗(yàn)證設(shè)備固件(但不執(zhí)行該設(shè)備固件)。然后,設(shè)備測(cè)量權(quán)限密鑰清單并且通過(guò)將權(quán)限測(cè)量寫到其TLV表的條目來(lái)創(chuàng)建策略TLV條目(方框515)。設(shè)備將其設(shè)備就緒位(DRO)設(shè)定為“真”(方框520)并且阻塞在MRO位上(菱形525 ),表示設(shè)備進(jìn)入等待狀態(tài)直到主設(shè)備已對(duì)該位進(jìn)行設(shè)置。并行地,主設(shè)備輪詢?cè)O(shè)備X并且阻塞在DRO位上(方框550)。也就是說(shuō),如果在菱形555處確定了 DRO為“假”,則設(shè)備X尚未就緒并且可置于黑名單上(方框558),從而不會(huì)履行來(lái)自該設(shè)備的正常服務(wù)請(qǐng)求。在一個(gè)實(shí)施例中,主設(shè)備可拒絕將消息路由到黑名單上的任一從設(shè)備。更加復(fù)雜的策略能夠指定被允許/拒絕的具體VDM。如果設(shè)備支持用于禁用設(shè)備的VDM,則主設(shè)備可選擇禁用設(shè)備(假設(shè)設(shè)備供應(yīng)商實(shí)現(xiàn)了允許在設(shè)備被禁用的同時(shí)該設(shè)備繼續(xù)進(jìn)行2階段協(xié)議的禁用命令)。主設(shè)備可保持阻塞在設(shè)備X的DRO位上或者繼續(xù)輪詢其它設(shè)備。當(dāng)DRO變成“真”時(shí),控制轉(zhuǎn)向方框560,此時(shí)主設(shè)備從TLV條目(例如,策略TLV條目)讀取權(quán)限值并且擴(kuò)展TPM權(quán)限PCR并更新TPM PCR日志。然后,在方框570處,主設(shè)備例如利用VDM功能將設(shè)備X的主設(shè)備就緒位(MRO)設(shè)置為“真”。在對(duì)等模式中,VDM消息可由設(shè)備使用EPID簽名或TPM簽名密鑰來(lái)認(rèn)證,并且采用與每個(gè)具體主設(shè)備相關(guān)聯(lián)的主設(shè)備就緒位?,F(xiàn)在返回參照設(shè)備側(cè),在菱形525處,如果MRO為“假”則設(shè)備會(huì)阻塞,并且因此,設(shè)備等待主設(shè)備變成就緒(方框530)。需注意的是,在對(duì)等模式中,對(duì)每個(gè)主設(shè)備可以存在單獨(dú)的MRO位。當(dāng)設(shè)備測(cè)量含有圖像的散列的圖像清單或者當(dāng)設(shè)備動(dòng)態(tài)地測(cè)量圖像時(shí),可以開始認(rèn)證過(guò)程的第二階段(方框535)。因此,創(chuàng)建細(xì)節(jié)TLV條目。然后,設(shè)備將其DRl位設(shè)定為“真”(方框540)。返回參照主設(shè)備操作,如果在菱形572處確定DRl位為“假”,則主設(shè)備在塊575處阻塞,設(shè)備X位于黑名單上。當(dāng)DRl變成“真”時(shí),主設(shè)備讀取細(xì)節(jié)TLV條目并且擴(kuò)展TPM細(xì)節(jié)PCR并相應(yīng)地更新TPM PCR日志(方框580)。然后,主設(shè)備將第二主設(shè)備就緒位(MRl)設(shè)置為“真”并且從黑名單中移除設(shè)備X (塊585)。依次,設(shè)備阻塞在MRl位上直到主設(shè)備就緒(菱形545和方框548)。當(dāng)設(shè)備檢測(cè)到MRl現(xiàn)為“真”時(shí),其完成其設(shè)備初始化并且可用于正常操作(方框549)。主設(shè)備對(duì)下一設(shè)備進(jìn)行輪詢(方框590)。盡管圖11的實(shí)施例中顯示,但應(yīng)當(dāng)理解本發(fā)明的范圍在這點(diǎn)上不受限制。在BIOS和隱藏執(zhí)行環(huán)境中,2階段鎖步完整性報(bào)告協(xié)議可在主-從模式中執(zhí)行,在這種模式中,BIOS扮演主設(shè)備的角色,而隱藏執(zhí)行環(huán)境執(zhí)行扮演設(shè)備的角色?,F(xiàn)在參照?qǐng)D12,其示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的2階段完整性報(bào)告流程方法600的流程圖。在圖12的實(shí)施例中,當(dāng)BIOS設(shè)置特征控制機(jī)專屬寄存器(MSR)而使隱藏執(zhí)行環(huán)境特征變得活躍時(shí),通過(guò)BIOS、隱藏執(zhí)行環(huán)境和OS三者中的每個(gè)來(lái)執(zhí)行各種操作(方框605)。在方框610處,BIOS阻塞在DRO位上,直到來(lái)自隱藏執(zhí)行環(huán)境的完整性測(cè)量就緒?,F(xiàn)在,關(guān)于由隱藏執(zhí)行環(huán)境執(zhí)行的操作,HRM創(chuàng)建包含隱藏公鑰(HPK)的策略TLV,HPK包括用于驗(yàn)證Kerne1-O和Kerne1-1圖像的密鑰,并且HRM還創(chuàng)建Kerne1-O的細(xì)節(jié)TLV條目(方框625)。在HRM使用HPK已經(jīng)對(duì)Kerne1-O進(jìn)行驗(yàn)證之后,HRM引導(dǎo)Kerne1-O (方框630)。應(yīng)注意的是,如果Kernel-O驗(yàn)證失敗,則處置權(quán)限TLV并且復(fù)位HRM。接下來(lái),Kernel-O通過(guò)對(duì)啟動(dòng)控制策略(LCP)清單進(jìn)行散列來(lái)創(chuàng)建隱藏執(zhí)行環(huán)境應(yīng)用程序的權(quán)限TLV (方框 635)。然后,HRM設(shè)置DRO位(方框640)。HRM阻塞在MRO位上直到BIOS已完成PCR擴(kuò)展(方框645)。返回參照BIOS操作,BIOS擴(kuò)展日志中條目的權(quán)限和細(xì)節(jié)PCR (方框615)。BIOS還可以設(shè)置MRO位,允許隱藏執(zhí)行環(huán)境繼續(xù)(方框618)。BIOS還引導(dǎo)主OS,主OS承擔(dān)了主設(shè)備的角色(方框620)。OS啟動(dòng)隱藏測(cè)量服務(wù)(HMS)以繼續(xù)主設(shè)備的角色(方框670)。HMS阻塞在DRl位上直到剩余的完整性值就緒(方框675)。返回參照隱藏執(zhí)行環(huán)境操作,Kernel-O創(chuàng)建Kernel-1的細(xì)節(jié)測(cè)量并且將它們置于TLV條目中(方框648)。然后,Kernel-O啟動(dòng)Kernel-1(方框649)。依次,Kernel-1通過(guò)對(duì)應(yīng)用程序清單進(jìn)行散列來(lái)創(chuàng)建每個(gè)應(yīng)用程序的細(xì)節(jié)測(cè)量并且創(chuàng)建TLV條目(方框650)。Kernel-1設(shè)置DRl位,向HMS發(fā)出繼續(xù)進(jìn)行的信號(hào)(方框655)。Kernel-1阻塞在MRl位上以等待HMS完成(方框660)。HMS使用由HRM管理的TLV條目來(lái)擴(kuò)展TPM中的細(xì)節(jié)PCR(方框680)。HMS通過(guò)設(shè)置MRl位而向Kernel-1發(fā)出繼續(xù)的信號(hào)(方框685)。最后,Kernel-1啟動(dòng)隱藏執(zhí)行環(huán)境應(yīng)用程序(方框665)。兩階段協(xié)議確保主設(shè)備環(huán)境不會(huì)由于隱藏執(zhí)行環(huán)境中不知何故影響主設(shè)備安全地更新PCR值的能力的惡意軟件而受損。當(dāng)然,多階段鎖步完整性報(bào)告的其它實(shí)現(xiàn)是可能的?,F(xiàn)在參照?qǐng)D12,示出了根據(jù)本發(fā)明的又一實(shí)施例的系統(tǒng)的框圖。如圖12所示,系統(tǒng)700可以包括主設(shè)備720,主設(shè)備720與包括配置空間745的隱藏執(zhí)行設(shè)備740耦合。為了使主設(shè)備能夠執(zhí)行,可存在安全初始化認(rèn)證代碼模塊(SINIT ACM) 710并且可進(jìn)一步與包括一組PCR 735的TPM 730耦合。在圖13的實(shí)施例中,可信執(zhí)行技術(shù)(TXT)扮演主設(shè)備的角色,而隱藏執(zhí)行環(huán)境扮演設(shè)備的角色。在該模型中,SINIT ACM 710可由于發(fā)布SENTER指令705而被啟動(dòng)。SENTER致使隱藏執(zhí)行環(huán)境暫停。SINIT在其不能夠執(zhí)行協(xié)議的整個(gè)主設(shè)備側(cè)的約束環(huán)境中運(yùn)行。因?yàn)橹髟O(shè)備以與SINIT相同的特權(quán)等級(jí)操作,所以SINIT可將其功能的一些或全部委派給主設(shè)備720。由于SENTER狀態(tài)的特殊本質(zhì),所以不遵從2階段鎖步協(xié)議。而是,在系統(tǒng)啟動(dòng)時(shí)計(jì)算出的完整性值能夠被向前進(jìn)行。SINIT/主設(shè)備確保在容許隱藏執(zhí)行環(huán)境執(zhí)行之前對(duì)(例如圖12的方框680的)動(dòng)態(tài)啟動(dòng)PCR進(jìn)行更新。在一個(gè)實(shí)施例中,該實(shí)現(xiàn)可按如下方式進(jìn)行。如果隱藏執(zhí)行未被使能/運(yùn)行,則主設(shè)備可被調(diào)用。SENTER致使隱藏執(zhí)行暫停,并且對(duì)進(jìn)入SINIT的條目進(jìn)行初始化(該初始化對(duì)隱藏執(zhí)行驅(qū)動(dòng)器進(jìn)行驗(yàn)證并且將隱藏執(zhí)行驅(qū)動(dòng)器擴(kuò)展到PCR中),然后加載隱藏執(zhí)行驅(qū)動(dòng)器。該驅(qū)動(dòng)器可以為TXT的系統(tǒng)管理模式(SMM)轉(zhuǎn)移監(jiān)視器,其在測(cè)量被擴(kuò)展到TPM中之前保護(hù)系統(tǒng)免于可能損害測(cè)量的未權(quán)限SMM中斷。接下來(lái),SINIT從在第一系統(tǒng)弓I導(dǎo)程序處生成的HRM獲得TLV條目,并且將細(xì)節(jié)條目擴(kuò)展到第一 TPM PCR中,并且將權(quán)限條目擴(kuò)展到第二 TPM PCR中。最后,SINIT再次使能隱藏執(zhí)行環(huán)境。因此,通過(guò)直接計(jì)算圖像的完整性散列(或者通過(guò)驗(yàn)證清單中所包含的完整性散列,然后對(duì)清單進(jìn)行測(cè)量),實(shí)施例使得PCIe 設(shè)備能夠在加載時(shí)測(cè)量固件和配置文件完整性??衫肞CIe 配置空間將測(cè)量報(bào)告給其它PCIe 設(shè)備,PCIe 配置空間可被配置為能由其它設(shè)備和虛擬設(shè)備讀而僅能由PCIe 設(shè)備寫??商鎿Q地,能夠向可信設(shè)備制造商認(rèn)證具有EPID的設(shè)備。EPID能夠用于對(duì)報(bào)告的完整性測(cè)量進(jìn)行簽名,從而參與設(shè)備能夠驗(yàn)證設(shè)備完整性。此外,諸如BI0S、0S和TXT的主機(jī)環(huán)境能夠擴(kuò)展TPM PCR,并且在該環(huán)境被給予操作和使用設(shè)備報(bào)告機(jī)制的完全的特權(quán)之前,驗(yàn)證隱藏執(zhí)行環(huán)境清單,以在設(shè)備被允許完全訪問(wèn)其他平臺(tái)資源之前,在設(shè)備/虛擬設(shè)備(諸如隱藏執(zhí)行環(huán)境)中建立信任。因此,包括諸如隱藏執(zhí)行環(huán)境和ME或VE的虛擬PCIe 設(shè)備的根聯(lián)合體設(shè)備可被列入黑名單,從而它們不能與其它平臺(tái)部件進(jìn)行交互直到已經(jīng)執(zhí)行完整性校驗(yàn)。在一個(gè)實(shí)施例中,非內(nèi)核/CPU (例如,圖1)強(qiáng)制執(zhí)行黑名單。實(shí)施例可實(shí)現(xiàn)為代碼并且可存儲(chǔ)在已經(jīng)存儲(chǔ)有能夠用于對(duì)系統(tǒng)進(jìn)行編程以執(zhí)行指令的指令的存儲(chǔ)介質(zhì)上。存儲(chǔ)介質(zhì)可以包括但不限于任何類型的磁盤,包括軟盤、光盤、固態(tài)驅(qū)動(dòng)器(SSD)、高密度磁盤只讀存儲(chǔ)器(⑶-ROM)、可重寫高密度磁盤(⑶-RW)以及磁光盤;半導(dǎo)體設(shè)備,諸如只讀存儲(chǔ)器(ROM)、諸如動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)、靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)的隨機(jī)存取存儲(chǔ)器(RAM)、可擦除可編程只讀存儲(chǔ)器(EPROM)、閃速存儲(chǔ)器、電可擦除可編程只讀存儲(chǔ)器(EEPR0M)、磁卡或光學(xué)卡;或用于存儲(chǔ)電子指令的任何其它類型的介質(zhì)。盡管已經(jīng)參照有限數(shù)量的實(shí)施例說(shuō)明了本發(fā)明,但本領(lǐng)域技術(shù)人員將從中領(lǐng)悟到多種改進(jìn)方案和變型例。目的在于使隨附的權(quán)利要求涵蓋落在本發(fā)明的精神和范圍內(nèi)的所有這樣的改進(jìn)方案和變型例。
權(quán)利要求
1.一種方法,包括: 驗(yàn)證與根聯(lián)合體總線耦合的設(shè)備的固件并且將對(duì)所述固件的權(quán)限測(cè)量寫入到所述設(shè)備的表中; 經(jīng)由與所述根聯(lián)合體總線耦合的主設(shè)備訪問(wèn)所述表以讀取所述權(quán)限測(cè)量,響應(yīng)于此而擴(kuò)展權(quán)限平臺(tái)配置寄存器(PCR),以及將所述設(shè)備放置在黑名單上從而防止所述設(shè)備對(duì)至少一個(gè)平臺(tái)資源進(jìn)行訪問(wèn); 響應(yīng)于權(quán)限PCR擴(kuò)展,測(cè)量所述設(shè)備的圖像清單,并且將用于所述圖像清單的細(xì)節(jié)條目寫入到所述表中;以及 經(jīng)由所述主設(shè)備訪問(wèn)所述表以讀取所述細(xì)節(jié)條目,響應(yīng)于此而擴(kuò)展細(xì)節(jié)PCR,以及從所述黑名單中去除所述設(shè)備。
2.如權(quán)利要求1所述的方法,其中所述設(shè)備計(jì)算所述固件的完整性散列值以驗(yàn)證所述固件,并且將所述權(quán)限測(cè)量寫入到所述設(shè)備的配置空間的策略條目。
3.如權(quán)利要求2所述的方法,還包括:使所述主設(shè)備能夠讀取至少一部分所述配置空間而不能寫入到所述配置空間。
4.如權(quán)利要求1所述的方法,還包括:在驗(yàn)證所述固件之后,將第一設(shè)備指示符設(shè)置在所述設(shè)備的完整性數(shù)據(jù)結(jié)構(gòu)中。
5.如權(quán)利要求4所述的方法,其中在所述第一設(shè)備指示符被設(shè)置之后,所述主設(shè)備訪問(wèn)所述表以讀取所述權(quán)限測(cè)量。
6.如權(quán)利要求4所述的方法,還包括:在所述權(quán)限PCR被擴(kuò)展之后,將第一主設(shè)備指示符設(shè)置在所述完整性數(shù)據(jù)結(jié)構(gòu)中。
7.如權(quán)利要求6所述的方法,其中在所述第一主設(shè)備指示符被設(shè)置之后,所述設(shè)備測(cè)量所述圖像清單。
8.如權(quán)利要求1所述的方法,還包括:在測(cè)量所述圖像清單之后,將第二設(shè)備指示符設(shè)置在完整性數(shù)據(jù)結(jié)構(gòu)中。
9.如權(quán)利要求8所述的方法,其中在所述第二設(shè)備指示符被設(shè)置之后,所述主設(shè)備訪問(wèn)所述表以讀取所述細(xì)節(jié)條目。
10.如權(quán)利要求9所述的方法,還包括:在所述細(xì)節(jié)PCR被擴(kuò)展之后,將第二主設(shè)備指示符設(shè)置在所述完整性數(shù)據(jù)結(jié)構(gòu)中。
11.如權(quán)利要求10所述的方法,其中在所述第二主設(shè)備指示符被設(shè)置之后,所述設(shè)備完成初始化。
12.一種裝置,包括: 處理器,其包括多個(gè)內(nèi)核和非內(nèi)核邏輯,其中所述處理器強(qiáng)制執(zhí)行黑名單并且根據(jù)多階段鎖步完整性協(xié)議來(lái)驗(yàn)證與所述處理器耦合的設(shè)備,所述黑名單包括尚未根據(jù)所述多階段鎖步完整性協(xié)議驗(yàn)證的設(shè)備的列表。
13.如權(quán)利要求12所述的裝置,還包括主設(shè)備,所述主設(shè)備與所述設(shè)備耦合以執(zhí)行至少一部分的所述多階段鎖步完整性協(xié)議,其中在所述設(shè)備已經(jīng)完成所述多階段鎖步完整性協(xié)議的第一階段的至少一部分之后,所述主設(shè)備響應(yīng)于由所述設(shè)備寫入的、從所述設(shè)備的表的策略條目讀取出的權(quán)限值,而擴(kuò)展第一可信平臺(tái)模塊(TPM)平臺(tái)配置寄存器(PCR)。
14.如權(quán)利要求13所述的裝置,其中所述第一階段包括由設(shè)備對(duì)固件的驗(yàn)證。
15.如權(quán)利要求14所述的裝置,其中在所述設(shè)備已經(jīng)完成所述多階段鎖步完整性協(xié)議的第二階段的至少一部分之后,所述主設(shè)備響應(yīng)于由所述設(shè)備寫入的、從所述表的細(xì)節(jié)條目讀取出的細(xì)節(jié)值而擴(kuò)展第二 TPM PCR0
16.如權(quán)利要求15所述的裝置,其中所述第二階段包括由所述設(shè)備對(duì)圖像清單的測(cè)量。
17.如權(quán)利要求15所述的裝置,其中所述表包括:多個(gè)條目,每個(gè)條目具有指示存儲(chǔ)在所述條目中的測(cè)量類型的類型域、指示值域的長(zhǎng)度的長(zhǎng)度域以及識(shí)別被測(cè)量代理的值域;算法,其用于執(zhí)行所述測(cè)量;以及所述算法的結(jié)果。
18.如權(quán)利要求17所述的裝置,其中所述表存儲(chǔ)在所述設(shè)備的配置空間中,所述配置空間還包括:設(shè)備指示符,每個(gè)所述設(shè)備指示符指示所述設(shè)備何時(shí)已完成所述多階段鎖步完整性協(xié)議的一階段;以及主設(shè)備指示符,每個(gè)所述主設(shè)備指示符指示所述主設(shè)備何時(shí)已完成所述多階段鎖步完整性協(xié)議的一階段。
19.一種系統(tǒng),包括: 主設(shè)備,其能訪問(wèn)第一平臺(tái)配置寄存器(PCR)和第二 PCR ;以及 從設(shè)備,其經(jīng)由互連與所述主設(shè)備耦合,其中在所述從設(shè)備被允許訪問(wèn)所述系統(tǒng)的至少一個(gè)資源之前,用于所述從設(shè)備的完整性報(bào)告協(xié)議繼續(xù)經(jīng)過(guò)多個(gè)階段,并且所述主設(shè)備將所述從設(shè)備置于黑名單上以防止所述從設(shè)備與至少一個(gè)資源進(jìn)行交互直到所述完整性報(bào)告協(xié)議的多個(gè)階段已經(jīng)完成。
20.如權(quán)利要求19所述的系統(tǒng),其中所述完整性報(bào)告協(xié)議的所述多個(gè)階段包括:由設(shè)備對(duì)固件的驗(yàn)證以及由所述設(shè)備對(duì)圖像清單的測(cè)量,以及分別響應(yīng)于所述驗(yàn)證和所述圖像清單測(cè)量而通過(guò)所述主設(shè)備相應(yīng)擴(kuò)展所述第一和第二 PCR。
21.如權(quán)利要求20所述的系統(tǒng),其中在所述固件的驗(yàn)證之后所述從設(shè)備將第一設(shè)備指示符設(shè)置在所述設(shè)備的完整性數(shù)據(jù)結(jié)構(gòu)中,并且在所述第一設(shè)備指示符被設(shè)置之后,所述主設(shè)備讀取由所述從設(shè)備寫入所述完整性數(shù)據(jù)結(jié)構(gòu)中的關(guān)于所述固件驗(yàn)證的權(quán)限測(cè)量。
22.如權(quán)利要求21所述的系統(tǒng),其中在所述第一PCR被擴(kuò)展之后,所述主設(shè)備將第一主設(shè)備指示符設(shè)置在所述完整性數(shù)據(jù)結(jié)構(gòu)中,并且在所述第一主設(shè)備指示符被設(shè)置之后,所述從設(shè)備測(cè)量所述圖像清單,并且在所述圖像清單的測(cè)量之后將第二設(shè)備指示符設(shè)置在所述完整性數(shù)據(jù)結(jié)構(gòu)中。
23.如權(quán)利要求22所述的系統(tǒng),其中在所述第二設(shè)備指示符被設(shè)置之后,所述主設(shè)備訪問(wèn)所述完整性數(shù)據(jù)結(jié)構(gòu),以讀取由所述從設(shè)備寫入所述完整性數(shù)據(jù)結(jié)構(gòu)中的關(guān)于所述圖像清單測(cè)量的細(xì)節(jié)條目。
24.如權(quán)利要求23所述的系統(tǒng),其中在所述第二PCR被擴(kuò)展之后,所述主設(shè)備將第二主設(shè)備指示符設(shè)置在所述完整性數(shù)據(jù)結(jié)構(gòu)中,并且在所述第二主設(shè)備指示符被設(shè)置之后所述從設(shè)備完成初始化。
全文摘要
在一個(gè)實(shí)施例中,處理器強(qiáng)制執(zhí)行黑名單并且根據(jù)多階段鎖步完整性協(xié)議來(lái)驗(yàn)證與所述處理器耦合的設(shè)備。這種強(qiáng)制執(zhí)行可防止設(shè)備在驗(yàn)證之前訪問(wèn)系統(tǒng)的一個(gè)或多個(gè)資源。黑名單可以包括尚未根據(jù)所述多階段鎖步完整性協(xié)議驗(yàn)證的設(shè)備的列表。描述并要求保護(hù)了其它實(shí)施例。
文檔編號(hào)G06F11/16GK103080904SQ201180041576
公開日2013年5月1日 申請(qǐng)日期2011年7月28日 優(yōu)先權(quán)日2010年7月28日
發(fā)明者N·M·史密斯, W·M·懷斯曼, V·尚博格, D·W·格勞羅克, G·S·斯特龍金 申請(qǐng)人:英特爾公司