專利名稱:用于硬件設(shè)備的密鑰供應(yīng)的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本公開一般地涉及信息處理領(lǐng)域,并且具體地涉及計(jì)算系統(tǒng)和微處理器中的安全領(lǐng)域。
背景技術(shù):
密碼算法和使用密碼算法的協(xié)議需要基于隨機(jī)數(shù)的密鑰。例如,這種密鑰能夠是由用于塊或流加密的對(duì)稱密鑰算法(例如高級(jí)加密標(biāo)準(zhǔn)(AES)和數(shù)據(jù)加密標(biāo)準(zhǔn)(DES))所使用的秘密/共享密鑰,和由非對(duì)稱密鑰算法(例如Riverst、Shamir、Adleman (RSA)和數(shù)字信號(hào)算法(DSA))所使用的公共/私有密鑰對(duì)??尚牌脚_(tái)模塊(TPM)是符合可信平臺(tái)模塊規(guī)范來使能可信計(jì)算特征的集成電路(設(shè)備)。TPM的制造商將非對(duì)稱密鑰供應(yīng)到每個(gè)TPM。這個(gè)非對(duì)稱密鑰能夠用于加密并且用于獲得其他密鑰。
當(dāng)進(jìn)行下列詳細(xì)的描述時(shí),并且參考附圖,所要求保護(hù)的主題的實(shí)施例的特征將變得顯而易見,在附圖中相似的數(shù)字表示類似的部分,并且在其中:圖1是示出在制造環(huán)境中用于執(zhí)行初始密鑰供應(yīng)的系統(tǒng)的框圖;圖2是示出用于向硬件設(shè)備基本初始制造供應(yīng)設(shè)備唯一密鑰110的方法的流程圖;圖3是示出用于向硬件設(shè)備初始制造供應(yīng)具有設(shè)備唯一密鑰110的共享密鑰保護(hù)的設(shè)備唯一密鑰110的 方法的流程圖;圖4是示出用于向硬件設(shè)備安全初始制造供應(yīng)設(shè)備唯一密鑰110的方法的流程圖;圖5示出了包括密鑰生成服務(wù)器、供應(yīng)服務(wù)器和包括與通信網(wǎng)絡(luò)相耦合的設(shè)備的平臺(tái)的系統(tǒng);圖6示出了用于設(shè)備從供應(yīng)服務(wù)器獲取密鑰的在線方法的實(shí)施例;圖7示出了用于對(duì)在設(shè)備中實(shí)現(xiàn)的加密密鑰進(jìn)行解密的方法;圖8是可信平臺(tái)的可信計(jì)算基礎(chǔ)(TCB)的實(shí)施例的框圖;圖9是示出從圖8中所示的TCB中的安全漏洞恢復(fù)的方法的流程圖;圖10是執(zhí)行密鑰推導(dǎo)來計(jì)算以前的存儲(chǔ)密鑰的散列鏈方法的實(shí)施例的流程圖;圖11是示出通過不可恢復(fù)TCB執(zhí)行的以推導(dǎo)存儲(chǔ)密鑰的方法的實(shí)施例的流程圖;圖12是兩層TCB的框圖;圖13是示出使用散列鏈來保護(hù)可恢復(fù)層的混合方法的框圖;圖14示出了在平臺(tái)和供應(yīng)服務(wù)器之間的設(shè)備認(rèn)證密鑰(DAK)供應(yīng)協(xié)議的實(shí)施例;圖15示出了在平臺(tái)和支持隱私的供應(yīng)服務(wù)器之間的圖14中的重新供應(yīng)協(xié)議的實(shí)施例;圖16示出了在平臺(tái)和供應(yīng)服務(wù)器(存儲(chǔ)通過其存儲(chǔ)密鑰加密的平臺(tái)DAK)之間的DAK備份檢索協(xié)議的實(shí)施例;圖17是用于在非易失性可重寫存儲(chǔ)器中存儲(chǔ)P-SVN的方法的實(shí)施例的流程圖。雖然將參照要求保護(hù)的主題的圖示實(shí)施例來描述以下的“具體實(shí)施方式
”,但是對(duì)本領(lǐng)域的那些技術(shù)人員而言顯而易見的是可以做出許多替換、修改和變型。因此,期望的是廣泛地查看所要求保護(hù)的主題,并且所述主題僅由隨附的權(quán)利要求闡述的那樣進(jìn)行限定。
具體實(shí)施例方式一種用于在平臺(tái)中提供安全的供應(yīng)密鑰的方法,是用于硬件設(shè)備的制造商來在制造硬件設(shè)備期間永久性地將密鑰(密鑰材料)存儲(chǔ)在可編程一次寫入存儲(chǔ)器中。這些密鑰可以在平臺(tái)中安裝硬件設(shè)備之前存儲(chǔ)在硬件設(shè)備中。例如,一次寫入存儲(chǔ)器可以是在固件或軟件不能訪問的硬件設(shè)備的安全區(qū)域中的多個(gè)熔絲(fuse)。但是,因?yàn)樗械拿荑€材料都存儲(chǔ)在一次寫入存儲(chǔ)器中,所以設(shè)備制造商僅能在制造過程期間將密鑰材料供應(yīng)到硬件設(shè)備中。此外,如果有大量的密鑰待被安全地供應(yīng)給硬件設(shè)備,則需要有對(duì)應(yīng)的大面積的一次寫入存儲(chǔ)器(這會(huì)是昂貴的)加入到平臺(tái)。供應(yīng)密鑰材料的另一方法是用于設(shè)備制造商在制造過程期間將唯一的非對(duì)稱設(shè)備認(rèn)證密鑰(DAK)存儲(chǔ)在一次寫入存儲(chǔ)器中。隨后,供應(yīng)服務(wù)器能夠使用交互式供應(yīng)協(xié)議將密鑰遠(yuǎn)程地供應(yīng)(傳輸密鑰)到安裝在平臺(tái)中的硬件設(shè)備。在認(rèn)證了從硬件設(shè)備接收到的存儲(chǔ)的DAK之后,供應(yīng)服務(wù)器將密鑰材料發(fā)送到硬件設(shè)備。這種方法的缺點(diǎn)包括:用于在硬件設(shè)備中存儲(chǔ)唯一 DAK的一次寫入存儲(chǔ)器的區(qū)域大小,經(jīng)由將密鑰存儲(chǔ)在一次寫入存儲(chǔ)器中的制造測(cè)試設(shè)備的安全缺口的可能性,不支持離線供應(yīng)(也就是,當(dāng)安裝硬件的平臺(tái)沒有可用的互聯(lián)網(wǎng)連接時(shí)),以及使 用非對(duì)稱密鑰操作需要更多存儲(chǔ)器來用于在硬件設(shè)備中的更大的可信計(jì)算基礎(chǔ)(TCB)大小。在本發(fā)明的實(shí)施例中,密鑰供應(yīng)方法使用對(duì)稱密鑰并且支持在線和離線供應(yīng)。對(duì)稱密鑰由消息的發(fā)送方和接收方共享和使用來加密和解密消息。此外,在硬件設(shè)備的制造期間,執(zhí)行保護(hù)不受攻擊危害的初始密鑰供應(yīng)方法來在硬件設(shè)備中存儲(chǔ)設(shè)備唯一密鑰110。密鑰供應(yīng)服務(wù)器包括供應(yīng)數(shù)據(jù)庫(kù),來存儲(chǔ)用于由制造測(cè)試設(shè)備進(jìn)行測(cè)試的每個(gè)硬件設(shè)備的唯一供應(yīng)密鑰。供應(yīng)密鑰用于支持離線和在線供應(yīng)。圖1是示出在制造環(huán)境中用于執(zhí)行初始密鑰供應(yīng)的系統(tǒng)100的框圖。系統(tǒng)100包括硬件設(shè)備102、制造測(cè)試設(shè)備104和密鑰生成服務(wù)器106。制造測(cè)試設(shè)備104和密鑰生成服務(wù)器106經(jīng)由安全信道108進(jìn)行通信。安全信道是在兩個(gè)實(shí)體之間經(jīng)過認(rèn)證和加密的通信信道。例如,使用傳輸層安全(TLS),平臺(tái)能夠建立與服務(wù)器的安全信道來執(zhí)行網(wǎng)上銀行。在制造期間,設(shè)備唯一密鑰110由密鑰生成服務(wù)器106分配給硬件設(shè)備102,并且存儲(chǔ)在硬件設(shè)備102中的受保護(hù)存儲(chǔ)器109中。這個(gè)設(shè)備唯一密鑰110由硬件保護(hù),并且絕不會(huì)在隨后暴露給平臺(tái)(隨后硬件設(shè)備102安裝在該平臺(tái)中)中執(zhí)行的軟件。其中安裝有硬件設(shè)備102的平臺(tái)可以是任意的計(jì)算設(shè)備,例如,移動(dòng)電話或計(jì)算機(jī)。在實(shí)施例中,硬件設(shè)備102可以是處理器。處理器可以是多個(gè)處理器中的任意一個(gè),例如單核 Intel Pentium IV 處理器、單核 Intel Celeron 處理器、Intel XScale處理器或多核處理器,諸如intel Pentium D、Intel Xeon 處理器,或Intel Core Duo處理器,或任意其他類型的處理器。在另一實(shí)施例中,硬件設(shè)備102可以是與平臺(tái)上的處理器相耦合的集成電路,用于控制與輸入/輸出設(shè)備進(jìn)行的通信。集成電路可以是被設(shè)計(jì)為共同工作的芯片組中的多個(gè)集成電路中的一個(gè)。例如,在芯片組中的集成電路能夠?qū)⑻幚砥麈溄拥礁咚僭O(shè)備(例如存儲(chǔ)器和圖形控制器),并且在芯片組中的另一集成電路能夠?qū)⑻幚砥麈溄拥浇?jīng)由外圍設(shè)備控制器接口(PCI)、通用串行總線(USB)或諸如以太網(wǎng)的通信協(xié)議訪問的低速外圍設(shè)備。密鑰生成服務(wù)器106是生成密鑰材料的離線服務(wù)器,所述密鑰材料包括分配給硬件設(shè)備102的硬件設(shè)備唯一密鑰110和平臺(tái)使用的其他密鑰,例如由諸如高級(jí)加密標(biāo)準(zhǔn)(AES)的加密/解密算法所使用的密鑰。離線服務(wù)器是用于密鑰生成的安全設(shè)施,其不直接與因特網(wǎng)上的外部實(shí)體相互作用。密鑰生成服務(wù)器106在安全/受保護(hù)的環(huán)境中操作。有許多不同的方法能用來執(zhí)行向硬件設(shè)備102初始供應(yīng)設(shè)備唯一密鑰110。所使用的方法取決于制造環(huán)境的安全級(jí)別。這三種方法將結(jié)合圖2-4在下文進(jìn)行描述。圖2是示出用于向硬件設(shè)備基本初始制作供應(yīng)設(shè)備唯一密鑰的方法的流程圖。在塊200,密鑰生成服務(wù)器106選擇用于硬件設(shè)備102的隨機(jī)設(shè)備唯一密鑰,所述硬件設(shè)備102與制造測(cè)試設(shè)備104相耦合。過程繼續(xù)進(jìn)行到塊202。在塊202,密鑰生成服務(wù)器106使用安全信道108將用于在測(cè)試下的硬件設(shè)備102的設(shè)備唯一密鑰Iio發(fā)送到制造測(cè)試設(shè)備104。在接收到設(shè)備唯一密鑰110時(shí),制造測(cè)試設(shè)備104在受保護(hù)的存儲(chǔ)器109中存儲(chǔ)設(shè)備唯一密鑰110,所述受保護(hù)的存儲(chǔ)器109可以是一次寫入存儲(chǔ)器或可重寫存儲(chǔ)器,例如在硬件設(shè)備102中的閃存設(shè)備。在實(shí)施例中,一次寫入存儲(chǔ)器包括多個(gè)熔絲,并且通過燒斷熔絲存儲(chǔ)唯一密鑰以永久地將設(shè)備唯一密鑰110存儲(chǔ)在設(shè)備102中。過程繼續(xù)進(jìn)行到塊204。在塊204,密鑰生成服務(wù)器106使用不同的單向函數(shù)來從設(shè)備唯一密鑰推導(dǎo)出用于硬件設(shè)備102的供應(yīng)標(biāo)識(shí)符和供應(yīng)密鑰804。供應(yīng)密鑰804和供應(yīng)標(biāo)識(shí)符將在隨后描述。使用單向函數(shù)允許從設(shè)備唯一密鑰110推導(dǎo)出供應(yīng)密鑰804和供應(yīng)標(biāo)識(shí)符,但是不能從供應(yīng)密鑰804或供應(yīng)標(biāo)識(shí)符推導(dǎo)出設(shè)備唯一密鑰110。在實(shí)施例中,單向函數(shù)是用于密鑰推導(dǎo)的偽隨機(jī)函數(shù)(PRF),例如基于散列的信息認(rèn)證碼(HMAC)和高級(jí)加密標(biāo)準(zhǔn)-基于密碼的消息認(rèn)證碼(AES-CMAC)。供應(yīng)標(biāo)識(shí)符和供應(yīng)密鑰804對(duì)硬件設(shè)備102是唯一的。過程繼續(xù)進(jìn)行到塊206。在塊206,密鑰生成服務(wù)器106將從設(shè)備唯一密鑰110推導(dǎo)出的供應(yīng)標(biāo)識(shí)符和供應(yīng)密鑰存儲(chǔ)在供應(yīng)數(shù)據(jù)庫(kù)112中,以隨后用于向硬件設(shè)備102現(xiàn)場(chǎng)密鑰供應(yīng)其他安全密鑰。過程繼續(xù)進(jìn)行到塊208。在塊208,密鑰生成服務(wù)器106刪除存儲(chǔ)在密鑰生成服務(wù)器106中的設(shè)備唯一密鑰110的拷貝,所述拷貝用于生成存儲(chǔ)在供應(yīng)數(shù)據(jù)庫(kù)112中的供應(yīng)密鑰和供應(yīng)標(biāo)識(shí)符(ID)。圖3是示出用于向硬件設(shè)備初始制造供應(yīng)具有共享密鑰保護(hù)的設(shè)備唯一密鑰的方法的流程圖。為了增強(qiáng)安全,密鑰生成服務(wù)器106使用嵌入在每個(gè)硬件設(shè)備102中的共享密鑰對(duì)設(shè)備唯一密鑰110進(jìn)行加密,使得僅有硬件設(shè)備102能夠解密設(shè)備唯一密鑰110。制造測(cè)試設(shè)備104不能存儲(chǔ) 或訪問共享密鑰。因此,制造測(cè)試設(shè)備104不能對(duì)密鑰生成服務(wù)器106生成的設(shè)備唯一密鑰110進(jìn)行解密。
在塊300,將要測(cè)試的硬件設(shè)備102具有嵌入在硬件設(shè)備102的邏輯中的對(duì)稱共享密鑰(SK)。共享密鑰對(duì)多個(gè)設(shè)備來說是相同的。共享密鑰對(duì)硬件設(shè)備102和密鑰生成服務(wù)器106是已知的,但是對(duì)制造測(cè)試設(shè)備104是未知的。在實(shí)施例中,由密鑰生成服務(wù)器生成共享密鑰。密鑰生成服務(wù)器106選擇用于每個(gè)硬件設(shè)備102的隨機(jī)設(shè)備唯一密鑰。密鑰生成服務(wù)器106使用密鑰生成服務(wù)器106已知的共享密鑰來加密設(shè)備唯一密鑰。共享密鑰的目的是雙重的:(I)添加保護(hù)來不受惡意制造測(cè)試設(shè)備的危害,(2)在已制造設(shè)備102之后,對(duì)設(shè)備唯一密鑰添加更多保護(hù)。過程繼續(xù)進(jìn)行到塊302。在塊302,密鑰生成服務(wù)器106使用安全信道108將加密的設(shè)備唯一密鑰發(fā)送到制造測(cè)試設(shè)備104。制造測(cè)試設(shè)備104將加密的設(shè)備唯一密鑰存儲(chǔ)在硬件設(shè)備102中的受保護(hù)的存儲(chǔ)器109 (例如,一次寫入存儲(chǔ)器(熔絲))中。由于硬件設(shè)備102存儲(chǔ)由密鑰生成服務(wù)器106使用來對(duì)設(shè)備唯一密鑰進(jìn)行加密的共享密鑰,所以硬件設(shè)備102能夠訪問其存儲(chǔ)的加密的設(shè)備唯一密鑰并且使用共享密鑰解密來獲得設(shè)備唯一密鑰。過程繼續(xù)進(jìn)行到塊304。在塊304,如更早結(jié)合圖2中的實(shí)施例描述的,密鑰生成服務(wù)器106從設(shè)備唯一密鑰中推導(dǎo)出供應(yīng)標(biāo)識(shí)符和供應(yīng)密鑰。過程繼續(xù)進(jìn)行到塊306。在塊306,密鑰生成服務(wù)器106刪除其已生成的設(shè)備唯一密鑰110,并且將從設(shè)備唯一密鑰Iio中推導(dǎo)出的供應(yīng)標(biāo)識(shí)符和供應(yīng)密鑰存儲(chǔ)在供應(yīng)數(shù)據(jù)庫(kù)112中。
圖4是示出用于向硬件設(shè)備安全初始制造供應(yīng)設(shè)備密鑰的方法的流程圖。聯(lián)合圖4描述的方法比聯(lián)合圖2和圖3描述的方法更安全,這是因?yàn)樵O(shè)備唯一密鑰在設(shè)備中生成并且其不通過通信信道向任意其他硬件設(shè)備102傳輸。硬件設(shè)備102具有嵌入在邏輯中的對(duì)稱共享密鑰(GK)。GK對(duì)硬件設(shè)備102和密鑰生成服務(wù)器106是已知的,但是對(duì)制造測(cè)試設(shè)備104是未知的。除了聯(lián)合圖3討論的實(shí)施例中的GK,在這個(gè)實(shí)施例中非對(duì)稱密鑰對(duì)(也就是,公共加密密鑰(PEK)和私有解密密鑰(PDK))嵌入在硬件設(shè)備102中。該非對(duì)稱密鑰對(duì)也存儲(chǔ)在密鑰生成服務(wù)器106中。硬件設(shè)備102使用已知方法(其超出了本發(fā)明的范圍)來生成唯一設(shè)備密鑰110。例如,能夠使用隨機(jī)門技術(shù)或使用具有模糊提取的物理不可克隆函數(shù)(PUF)來生成唯一設(shè)備密鑰110。硬件設(shè)備102從設(shè)備唯一密鑰110推導(dǎo)供應(yīng)標(biāo)識(shí)符(ID)和供應(yīng)密鑰,使用PEK對(duì)這兩個(gè)密鑰進(jìn)行加密并且使用共享密鑰來計(jì)算這兩個(gè)密鑰的消息認(rèn)證碼(MAC)。所使用的函數(shù)的示例如下所示:Cl=RSA-Enc (PEK,供應(yīng) ID | | 供應(yīng)密鑰),C2=MAC (GK, Cl),密文=ClΜ C2。RSA-Enc (K, M)表不使用 RSA (Rivest, Shamir and Adleman)公共加密密鑰 K 對(duì)消息M的RSA加密。在實(shí)施例中,消息認(rèn)證碼(MAC)函數(shù)是HMAC。在另一實(shí)施例中,MAC函數(shù)是AES-CMAC.5。硬件設(shè)備102將密文(加密的密鑰)輸出到制造測(cè)試設(shè)備104。在塊400,密鑰生成服務(wù)器106經(jīng)由安全信道108從制造測(cè)試設(shè)備104接收密文。過程繼續(xù)到塊402。在塊402,密鑰生成服務(wù)器106對(duì)于每個(gè)密文使用GK來驗(yàn)證MAC,接著使用PDK來進(jìn)行解密。密鑰生成服務(wù)器106經(jīng)由安全信道108安全地獲得硬件設(shè)備102的供應(yīng)ID和供應(yīng)密鑰。在實(shí)施例中,密鑰生成服務(wù)器106在接收的密文上執(zhí)行下列函數(shù)來獲取從存儲(chǔ)在硬件設(shè)備102中的設(shè)備唯一密鑰110推導(dǎo)出的供應(yīng)標(biāo)識(shí)符和供應(yīng)密鑰。使用 GK 驗(yàn)證 C2=MAC (GK, Cl),供應(yīng) ID I I 供應(yīng)密鑰=使用 PDK RSA-Dec (PDK, Cl), 過程繼續(xù)進(jìn)行到塊404。在塊404,密鑰生成服務(wù)器106將供應(yīng)標(biāo)識(shí)符和供應(yīng)密鑰存儲(chǔ)在供應(yīng)數(shù)據(jù)庫(kù)112中。在制造了硬件設(shè)備102之后,硬件設(shè)備102可以分布到外部設(shè)備制造商(OEM)并安裝在平臺(tái)中。典型地,平臺(tái)分布到終端用戶。硬件設(shè)備制造商可能需要將密鑰發(fā)送(供應(yīng))到包括硬件設(shè)備102的平臺(tái)的終端用戶。例如,硬件設(shè)備制造商能夠?yàn)槊總€(gè)硬件設(shè)備102供應(yīng)唯一密鑰,例如,對(duì)稱設(shè)備認(rèn)證密鑰、可信平臺(tái)模塊(TPM)背書密鑰(endorsement key)、高帶寬數(shù)字內(nèi)容保護(hù)(HDCP)密鑰,或高級(jí)訪問內(nèi)容系統(tǒng)(AACS)設(shè)備密鑰或硬件設(shè)備102的通用密鑰。為了確保硬件設(shè)備制造商僅為其已經(jīng)制造的硬件設(shè)備102供應(yīng)密鑰,在向硬件設(shè)備102發(fā)送密鑰之前,使用存儲(chǔ)在供應(yīng)數(shù)據(jù)庫(kù)112中的與硬件設(shè)備102相關(guān)聯(lián)的供應(yīng)密鑰對(duì)密鑰進(jìn)行加密。設(shè)備制造商能夠多次使用這種供應(yīng)方法向其已經(jīng)制造的硬件設(shè)備102供應(yīng)不同的密鑰。在密鑰生成服務(wù)器106中的供應(yīng)數(shù)據(jù)庫(kù)112存儲(chǔ)用于每個(gè)硬件設(shè)備102的供應(yīng)標(biāo)識(shí)符和供應(yīng)密鑰,所述硬件設(shè)備102已由制造測(cè)試設(shè)備104測(cè)試。為了供應(yīng)用于與供應(yīng)標(biāo)識(shí)符和供應(yīng)密鑰相關(guān)聯(lián)的硬件設(shè)備102的密鑰,密鑰生成服務(wù)器106準(zhǔn)備將供應(yīng)給硬件設(shè)備102的密鑰材料。密鑰材料(也稱為“密鑰塊”)可以是單個(gè)密鑰,例如,TPM密鑰;或可以是多個(gè)密鑰,例如,TPM密鑰和HDCP密鑰。每個(gè)硬件設(shè)備102能夠被分配不同的密鑰材料。密鑰生成服務(wù)器106使用供應(yīng)密鑰加密密鑰材料。由密鑰包裝(加密)算法來執(zhí)行加密,所述密鑰包裝算法可以是任意加密算法,例如高級(jí)加密標(biāo)準(zhǔn)-Galois/Counter模式(AES-GCM)模式加密或與偽隨機(jī)函數(shù)(PRF)組合的高級(jí)加密標(biāo)準(zhǔn)-密碼塊鏈接(AES-CBC)模式加密。AES-GCM和AES-CBC定義在NIST標(biāo)準(zhǔn)FIPS-197中。密鑰生成服務(wù)器106準(zhǔn)備供應(yīng)數(shù)據(jù)庫(kù)112來存儲(chǔ)所有的供應(yīng)ID和對(duì)應(yīng)的加密密鑰。圖5示出了包括密鑰生成服務(wù)器106、供應(yīng)服務(wù)器500和包括與通信網(wǎng)絡(luò)504相耦合的硬件設(shè)備102的平臺(tái)502的系統(tǒng)。在實(shí)施例中,系統(tǒng)還包括可以是磁盤驅(qū)動(dòng)器的儲(chǔ)存設(shè)備506,例如具有可移除儲(chǔ)存介質(zhì)(⑶或DVD)的光盤(⑶)或數(shù)字視頻盤(DVD)。密鑰生成服務(wù)器106將供應(yīng)數(shù)據(jù)庫(kù)112的內(nèi)容發(fā)送到供應(yīng)服務(wù)器500,從而供應(yīng)服務(wù)器500能經(jīng)由通信網(wǎng)絡(luò)504來執(zhí)行向安裝有硬件設(shè)備102的平臺(tái)502在線供應(yīng)密鑰。供應(yīng)數(shù)據(jù)庫(kù)112還能存儲(chǔ)在可移除儲(chǔ)存設(shè)備上(例如,非易失性存儲(chǔ)器設(shè)備,例如閃存或光盤(CD)或數(shù)字視頻盤(DVD)),來執(zhí)行向硬件設(shè)備102離線供應(yīng)密鑰。當(dāng)硬件設(shè)備102安裝在平臺(tái)(例如,主機(jī)系統(tǒng))中,并且發(fā)現(xiàn)其密鑰已被撤銷時(shí),設(shè)備發(fā)出請(qǐng)求來接觸供應(yīng)服務(wù)器500。在實(shí)施例中,經(jīng)由在平臺(tái)502中的主機(jī)網(wǎng)絡(luò)堆棧通過安全通信信道,將請(qǐng)求從硬件設(shè)備102發(fā)送到供應(yīng)服務(wù)器500。因?yàn)榘踩诺缹?duì)中間人攻擊是健壯的,所以即使主機(jī)網(wǎng)絡(luò)堆棧被破壞,也不會(huì)影響密鑰供應(yīng)的安全,這是因?yàn)閮H固件能夠訪問供應(yīng)ID和供應(yīng)密鑰。
圖6示出了硬件設(shè)備102從供應(yīng)服務(wù)器獲得密鑰的在線方法的實(shí)施例。在塊600,在平臺(tái)中的硬件設(shè)備102獲得存儲(chǔ)在硬件設(shè)備102中的受保護(hù)存儲(chǔ)器109中的設(shè)備唯一密鑰,例如,以熔絲或隨機(jī)門的方式。如果硬件設(shè)備唯一密鑰110是加密的,則硬件設(shè)備102使用共享密鑰(GK)對(duì)硬件設(shè)備唯一密鑰110進(jìn)行解密。硬件設(shè)備102使用早先如聯(lián)合密鑰生成服務(wù)器106所討論的偽隨機(jī)函數(shù)從設(shè)備唯一密鑰推導(dǎo)供應(yīng)ID。過程繼續(xù)進(jìn)行到塊602。在塊602,硬件設(shè)備102啟動(dòng)與供應(yīng)服務(wù)器500的密鑰交換協(xié)議來建立安全信道。在實(shí)施例中,使用安全套接層(SSL) /傳輸層安全(TLS)會(huì)話來執(zhí)行密鑰交換協(xié)議,以驗(yàn)證供應(yīng)服務(wù)是經(jīng)認(rèn)證的。在通過通信網(wǎng)絡(luò)504泄漏供應(yīng)ID不會(huì)構(gòu)成隱私關(guān)注的實(shí)施例中,安全信道是不必要的并且沒有使用。過程繼續(xù)進(jìn)行到塊604。在塊604,經(jīng)由通信網(wǎng)絡(luò)(例如,因特網(wǎng))上的安全信道,硬件設(shè)備102將其供應(yīng)ID發(fā)送到供應(yīng)服務(wù)器500。過程繼續(xù)進(jìn)行到塊606。在塊606,供應(yīng)服務(wù)器500從供應(yīng)數(shù)據(jù)庫(kù)112接收供應(yīng)ID,并且獲得與存儲(chǔ)在供應(yīng)數(shù)據(jù)庫(kù)中的供應(yīng)ID相關(guān)聯(lián)的加密密鑰。硬件設(shè)備102經(jīng)由安全信道從供應(yīng)服務(wù)器500接收加密密鑰。在一些實(shí)施例中,為了提供在硬件設(shè)備102中的安全功能,硬件設(shè)備102可能不訪問通信網(wǎng)絡(luò)并且需要提供的密鑰。通過將可移除儲(chǔ)存設(shè)備上的供應(yīng)數(shù)據(jù)庫(kù)112分布到硬件設(shè)備102的終端用戶,能夠?qū)⒚荑€離線供應(yīng)給硬件設(shè)備102。終端用戶接收在可移除儲(chǔ)存設(shè)備上的整個(gè)供應(yīng)數(shù)據(jù)庫(kù),但是僅能使用供應(yīng)數(shù)據(jù)庫(kù)中由從唯一設(shè)備密鑰中推導(dǎo)出的硬件設(shè)備的供應(yīng)密鑰加密的密鑰。對(duì)于離線供應(yīng),硬件設(shè)備102使用用于在線供應(yīng)所討論的方法來獲得其供應(yīng)ID。但是,與經(jīng)由通信網(wǎng)絡(luò)發(fā)送其供應(yīng)ID不同,硬件設(shè)備102為了與其供應(yīng)ID相關(guān)聯(lián)的加密密鑰而搜索本地供應(yīng)數(shù)據(jù)庫(kù)。圖7示出了用于解密加密密鑰的硬件設(shè)備102實(shí)現(xiàn)的方法。在圖7中示出的方法適用于使用在線或離線供應(yīng)而供應(yīng)的加密密鑰。在塊700,硬件設(shè)備102獲得存儲(chǔ)在硬件設(shè)備102中的設(shè)備唯一密鑰110。過程繼續(xù)進(jìn)程到塊702。在塊702,硬件設(shè)備102使用單向偽隨機(jī)函數(shù)(PRF)從設(shè)備唯一密鑰110來推導(dǎo)供應(yīng)密鑰和存儲(chǔ)密鑰。推導(dǎo)出的存儲(chǔ)密鑰能用于密封平臺(tái)的任意秘密。推導(dǎo)的供應(yīng)密鑰用于供應(yīng)。過程繼續(xù)進(jìn)行到塊704。 在塊704,硬件設(shè)備102使用推導(dǎo)出的供應(yīng)密鑰來解密利用聯(lián)合圖6討論的在線或離線密鑰供應(yīng)方法所獲得的加密密鑰。過程繼續(xù)進(jìn)行到塊706。在塊706,硬件設(shè)備102將加密密鑰本地存儲(chǔ)在其安全儲(chǔ)存器中。在另一實(shí)施例中,加密密鑰能使用存儲(chǔ)密鑰和偽隨機(jī)函數(shù)進(jìn)行再次加密,該額外加密的結(jié)果能本地存儲(chǔ)在安全儲(chǔ)存器中而不是接收到的加密密鑰。硬件設(shè)備102能成功地從硬件設(shè)備102的制造商處遠(yuǎn)程地獲得密鑰材料(加密密鑰),這是因?yàn)槠淠軌蛲茖?dǎo)用于加密密鑰材料的供應(yīng)密鑰。攻擊者(例如,惡意軟件)不能沒有設(shè)備唯一密鑰110 (使用偽隨機(jī)函數(shù)來從其推導(dǎo)供應(yīng)密鑰)而從硬件設(shè)備制造商處得到密鑰材料。攻擊者可經(jīng)由可移除儲(chǔ)存設(shè)備來訪問供應(yīng)數(shù)據(jù)庫(kù), 但是攻擊者不能沒有有效的供應(yīng)密鑰來解密加密的密鑰。在使用聯(lián)合圖3討論的共享密鑰的實(shí)施例中,如果制造測(cè)試設(shè)備104被破壞,則攻擊者不能從制造商處獲得加密密鑰,這是因?yàn)樗械脑O(shè)備唯一密鑰是由對(duì)制造測(cè)試設(shè)備104未知的共享密鑰加密的。在聯(lián)合圖4討論的實(shí)施例中,即使制造測(cè)試設(shè)備104知道共享密鑰,也不能知悉設(shè)備唯一密鑰或供應(yīng)密鑰。小型一次寫入存儲(chǔ)器用來存儲(chǔ)作為用于硬件設(shè)備102的可信根的設(shè)備唯一密鑰,所述設(shè)備唯一密鑰用于推導(dǎo)用來保護(hù)硬件設(shè)備102不受惡意攻擊者危害的其他密鑰。在一個(gè)實(shí)施例中,一次寫入存儲(chǔ)器是128位的。在另一實(shí)施例中,一次寫入存儲(chǔ)器是256位的。在其它實(shí)施例中,一次寫入存儲(chǔ)器是128位或192位或取決于對(duì)稱加密所使用的密鑰長(zhǎng)度的其他大小。在制造過程期間用于在硬件設(shè)備102中存儲(chǔ)密鑰的方法對(duì)于防止惡意制造測(cè)試設(shè)備104危害是健壯的,這當(dāng)設(shè)備制造外包到其他實(shí)體時(shí)是重要的。在至少包括處理器和具有一個(gè)或多個(gè)集成電路的芯片組的平臺(tái)中,芯片組中的每一個(gè)集成電路和處理器能夠包括具有設(shè)備唯一密鑰的安全引擎。密鑰供應(yīng)是簡(jiǎn)單和可擴(kuò)展的,并且因?yàn)槭褂昧藢?duì)稱密鑰操作,所以減小了可信計(jì)算基礎(chǔ)(TCB)的大小??尚牌脚_(tái)典型地具有設(shè)備認(rèn)證密鑰(DAK)來用于證實(shí)執(zhí)行環(huán)境的配置或用于平臺(tái)認(rèn)證。使用聯(lián)合圖6-7所描述的在線或離線供應(yīng)方法能將DAK供應(yīng)給可信平臺(tái)??尚牌脚_(tái)還可以具有用于加密平臺(tái)密鑰和秘密的存儲(chǔ)根密鑰(SRK)。在實(shí)施例中,DAK可以是直接匿名證明(DAA)密鑰或任意其他類型的數(shù)字簽名密鑰。直接匿名證明(DAA)是用于提供匿名簽名的密碼協(xié)議。DAA特定地設(shè)計(jì)為用于可信平臺(tái)模塊(TPM)。DAA使得能夠進(jìn)行可信平臺(tái)的遠(yuǎn)程 認(rèn)證,同時(shí)保留可信平臺(tái)的用戶的隱私。如果例如基于平臺(tái)上的惡意攻擊(軟件病毒),發(fā)現(xiàn)平臺(tái)的可信計(jì)算基礎(chǔ)(TCB)中的漏洞,則可以通過在平臺(tái)中安裝另一版本的固件來進(jìn)行修補(bǔ)。但是,平臺(tái)在密碼學(xué)上不能證實(shí)固件中的漏洞對(duì)其他方(例如,外部實(shí)體)來說是已經(jīng)糾正好的。圖8是可行平臺(tái)的可信計(jì)算基礎(chǔ)(TCB) 800的實(shí)施例的框圖。在可信計(jì)算基礎(chǔ)800的密鑰層級(jí)中,存在嵌入在平臺(tái)502中的硬件設(shè)備102中的設(shè)備唯一密鑰110。設(shè)備唯一密鑰110永久地存儲(chǔ)在硬件設(shè)備102中受保護(hù)的儲(chǔ)存器109中。這個(gè)設(shè)備唯一密鑰110是用于平臺(tái)中其他密鑰的“根密鑰”,也就是說,在可信計(jì)算基礎(chǔ)800中的若干其他密鑰可以推導(dǎo)自這個(gè)設(shè)備唯一密鑰110,例如,供應(yīng)ID802,供應(yīng)基礎(chǔ)密鑰822、供應(yīng)密鑰804和存儲(chǔ)密鑰806。供應(yīng)ID802和供應(yīng)密鑰804用于從密鑰供應(yīng)服務(wù)器500下載唯一 DAK密鑰。存儲(chǔ)密鑰806用于加密包括DAK密鑰的平臺(tái)502的密鑰和秘密。在TCB802中的更新固件需要訪問這些推導(dǎo)出的密鑰以起作用,例如,供應(yīng)ID802、供應(yīng)密鑰804,和存儲(chǔ)密鑰806。分配唯一標(biāo)識(shí)符來識(shí)別固件的不同版本。在一個(gè)實(shí)施例中,唯一標(biāo)識(shí)符是安全版本號(hào)(SVN) 808,其能存儲(chǔ)在非易失性存儲(chǔ)器中的非報(bào)告固件代碼818中,并且由不可恢復(fù)的TCB810進(jìn)行讀取。在其它實(shí)施例中,與分配唯一標(biāo)識(shí)符來識(shí)別固件的不同版本不同,用于每個(gè)固件版本的唯一標(biāo)識(shí)符能通過在固件鏡像的每個(gè)版本上執(zhí)行密碼函數(shù)來推導(dǎo)出。從設(shè)備唯一密鑰110推導(dǎo)出的密鑰,S卩,供應(yīng)ID802、供應(yīng)密鑰804和存儲(chǔ)密鑰806,是在TCB810的簽名驗(yàn)證部分內(nèi)部計(jì)算出的,所述TCB810被指定為非報(bào)告的并且也能稱作為“不可恢復(fù)的TCB”。供應(yīng)密鑰804和存儲(chǔ)密鑰806是基于安全版本號(hào)808推導(dǎo)出的,接著從TCB810的簽名驗(yàn)證部分輸出到TCB800的可恢復(fù)部分。在密鑰已從設(shè)備唯一密鑰110推導(dǎo)出之后,TCB810的簽名驗(yàn)證部分“鎖定”對(duì)設(shè)備唯一密鑰110的訪問,防止TCB800的可恢復(fù)部分訪問設(shè)備唯一密鑰110,也就是,原始的“根密鑰”。因?yàn)楣?yīng)密鑰804和存儲(chǔ)密鑰806存儲(chǔ)在TCB的可恢復(fù)部分,所以當(dāng)TCB800的SVN808更新時(shí),更新供應(yīng)密鑰804和存儲(chǔ)密鑰806。例如,在設(shè)備引導(dǎo)期間,在可恢復(fù)的TCB810內(nèi)部執(zhí)行密鑰推導(dǎo)。每次新固件安裝在平臺(tái)中時(shí),執(zhí)行設(shè)備重新引導(dǎo),這導(dǎo)致新的供應(yīng)在設(shè)備重新引導(dǎo)期間計(jì)算出密鑰和存儲(chǔ)密鑰。圖9是示出從TCB800中的安全漏洞恢復(fù)的方法的流程圖。如果在可恢復(fù)TCB中發(fā)現(xiàn)安全漏洞,則觸發(fā)TCB恢復(fù)事件。在塊900,當(dāng)在TCB800中發(fā)現(xiàn)安全漏洞時(shí),平臺(tái)/硬件制造商生成新版本的固件,所述固件包括修復(fù)漏洞的軟件修改。新版本的固件分配了安全版本號(hào)808。為了驗(yàn)證固件不是惡意軟件而是來自平臺(tái)/硬件制造商,新版本的固件由硬件制造商進(jìn)行數(shù)字簽署(力口密)。不可恢復(fù)TCB810能使用制造商的公共密鑰來驗(yàn)證簽名,也就是說,固件驗(yàn)證密鑰嵌入在硬件設(shè)備102中,并且確保新的固件鏡像是從硬件制造商處接收的而不是惡意軟件。制造商使用已知的方法(例如,經(jīng)由來自原始設(shè)備制造商(OEM)的固件更新,或來自軟件制造商的軟件更新)來將新固件分布到每個(gè)平臺(tái)。過程繼續(xù)進(jìn)行到塊902。在塊902,在新版本的固件安裝在平臺(tái)上之后,TCB800的簽名驗(yàn)證部分使用嵌入在平臺(tái)中的硬件設(shè)備102中的固件驗(yàn)證密鑰820,來驗(yàn)證用于可恢復(fù)TCB的新固件的簽名。TCB810的簽名驗(yàn)證部分取回嵌入在固件中的新固件的安全版本號(hào)(SVN) 808,并且取回存儲(chǔ)在硬件設(shè)備102中的設(shè)備唯一密鑰110。從設(shè)備唯一密鑰110推導(dǎo)供應(yīng)ID802和供應(yīng)基礎(chǔ)密鑰822。從供應(yīng)基礎(chǔ)密鑰822和SVN808推導(dǎo)供應(yīng)密鑰804。從設(shè)備唯一密鑰110和SVN808來推導(dǎo)存儲(chǔ)密鑰806。用于推導(dǎo)這些密鑰的方法將在隨后描述。將推導(dǎo)出的供應(yīng)ID802、供應(yīng)密鑰804和存儲(chǔ)密鑰806發(fā)送到可恢復(fù)TCB。過程繼續(xù)進(jìn)行到塊804。在塊906,生成用于 新版本固件的新DAK。在已觸發(fā)TCB恢復(fù)事件之后,硬件制造商重新向接收新版本的固件來修復(fù)安全漏洞的每個(gè)平臺(tái)502供應(yīng)設(shè)備驗(yàn)證密鑰(DAK)。密鑰生成服務(wù)器106生成DAK,并且經(jīng)由通信網(wǎng)絡(luò)504向?qū)?yīng)的平臺(tái)502發(fā)送。如更早描述的,在密鑰生成服務(wù)器106中的供應(yīng)數(shù)據(jù)庫(kù)112存儲(chǔ)用于由制造測(cè)試設(shè)備所測(cè)試的每個(gè)硬件設(shè)備102的供應(yīng)ID802和供應(yīng)基礎(chǔ)密鑰822。基于最新安全版本號(hào)808從存儲(chǔ)的供應(yīng)基礎(chǔ)密鑰822來推導(dǎo)供應(yīng)密鑰804。在實(shí)施例中,所選的密鑰推導(dǎo)方法與塊904中所使用的方法相同。為硬件設(shè)備102生成新的唯一 DAK,并且使用供應(yīng)密鑰804對(duì)其進(jìn)行加密。能夠使用任意的對(duì)稱加密算法,例如,AES-GCM。密鑰生成服務(wù)器106準(zhǔn)備DAK供應(yīng)數(shù)據(jù)庫(kù),其中每個(gè)數(shù)據(jù)庫(kù)條目具有供應(yīng)密鑰804和對(duì)應(yīng)的加密DAK。密鑰生成服務(wù)器106將DAK供應(yīng)數(shù)據(jù)庫(kù)發(fā)送到密鑰供應(yīng)服務(wù)器500。每個(gè)平臺(tái)從密鑰供應(yīng)服務(wù)器500下載新的DAK??苫謴?fù)的TCB具有供應(yīng)ID802和供應(yīng)密鑰804,并且使用供應(yīng)協(xié)議與供應(yīng)服務(wù)器500進(jìn)行通信來獲得用于平臺(tái)502的新DAK密鑰。平臺(tái)502使用供應(yīng)服務(wù)器500的公共密鑰來加密其供應(yīng)ID802,并且將加密的供應(yīng)ID發(fā)送到供應(yīng)服務(wù)器500。供應(yīng)服務(wù)器500使用其私鑰來解密接收到的加密的供應(yīng)ID以獲得請(qǐng)求平臺(tái)502的未加密的供應(yīng)ID802。供應(yīng)服務(wù)器500為對(duì)應(yīng)于供應(yīng)ID802的條目搜索DAK供應(yīng)數(shù)據(jù)庫(kù),所述DAK供應(yīng)數(shù)據(jù)庫(kù)存儲(chǔ)由用于平臺(tái)502中的硬件設(shè)備102的新供應(yīng)密鑰進(jìn)行加密的加密的新DAK密鑰。供應(yīng)服務(wù)器500將加密的新DAK發(fā)送到平臺(tái)502。平臺(tái)502使用新的供應(yīng)密鑰來解密新的DAK。平臺(tái)502使用其新的存儲(chǔ)密鑰806來重新加密新DAK,并且安全地存儲(chǔ)加密的新DAK。加密的新DAK存儲(chǔ)在平臺(tái)502中的非易失性存儲(chǔ)器中。非易失性存儲(chǔ)器可以是BIOS閃存、芯片組閃存、固態(tài)驅(qū)動(dòng)器或硬盤驅(qū)動(dòng)器。因?yàn)镈AK是由存儲(chǔ)密鑰加密的,所以即使攻擊者訪問非易失性存儲(chǔ)器,攻擊者也不能解密DAK。如果平臺(tái)502沒有安裝新固件來修復(fù)安全漏洞,其不能根據(jù)最新SVN來推導(dǎo)新供應(yīng)密鑰804。因此,即使平臺(tái)502從供應(yīng)服務(wù)器500接收解密的新DAK,平臺(tái)502不能解密新DAK。過程繼續(xù)進(jìn)行到塊908。在塊908,在平臺(tái)502已安裝具有新SVN的新固件之后,平臺(tái)502還具有對(duì)應(yīng)新SVN的新的存儲(chǔ)密鑰806。在固件更新之前,平臺(tái)502可以使用對(duì)應(yīng)于舊SVN的舊存儲(chǔ)密鑰806來加密平臺(tái)密鑰材料和秘密。因此,平臺(tái)502執(zhí)行密鑰遷移,也即是說,使用新的存儲(chǔ)密鑰來重新加密所有的平臺(tái)密鑰材料。對(duì)于由舊存儲(chǔ)密鑰加密的每個(gè)數(shù)據(jù)項(xiàng)(密鑰材料或秘密),平臺(tái)502使用舊存儲(chǔ)密鑰來解密并且驗(yàn)證未加密數(shù)據(jù)的完整性。平臺(tái)502接著使用新的存儲(chǔ)密鑰來重新加密數(shù)據(jù),并且在平臺(tái)中的非易失性存儲(chǔ)器中存儲(chǔ)加密后的數(shù)據(jù)。如更早討論的,非易失性存儲(chǔ)器是TCB之外的存儲(chǔ)器。因?yàn)槿绻粽咭哑茐呐f版本的TCB固件并且抽取了與舊版本相關(guān)聯(lián)的存儲(chǔ)密鑰806,則即使在固件更新之后攻擊者仍能解密平臺(tái)秘密(包括新DAK),所以推導(dǎo)新的存儲(chǔ)密鑰。如果在當(dāng)前可恢復(fù)TCB中已發(fā)現(xiàn)軟件漏洞,通過更新修復(fù)漏洞的可恢復(fù)TCB固件并且分配新SVN808,則恢復(fù)是可能的。舊版本的TCB不能訪問或推導(dǎo)新的供應(yīng)密鑰804或新的存儲(chǔ)密鑰806,其分別用于下載和包裝(加密)新的DAK密鑰,這是因?yàn)槭褂眯碌腟VN808推導(dǎo)了這些密鑰。此外,平臺(tái)502的制造商可能撤銷與以前TCB版本相關(guān)聯(lián)的DAK。每個(gè)平臺(tái)502在下載新的DAK之后,能使用其新的DAK來證明和從密碼學(xué)角度證實(shí)正在使用哪個(gè)版本的TCB800。 如果可恢復(fù)TCB沒有使用修復(fù)漏洞的新固件進(jìn)行更新,則可恢復(fù)TCB不能獲得用于最新SVN的供應(yīng)密鑰804,因此其不能得到DAK密鑰的當(dāng)前版本。還有,如果可恢復(fù)TCB可以訪問用于密鑰遷移目的的先前存儲(chǔ)密鑰824,并且可恢復(fù)TCB已更新到新的SVN,則新的可恢復(fù)TCB能解密來自先前版本的密鑰和數(shù)據(jù)并且使用新的存儲(chǔ)密鑰來加密它們。將在下文描述執(zhí)行密鑰推導(dǎo)來計(jì)算以前的存儲(chǔ)密鑰的方法。在實(shí)施例中,分配給SVN的初始值為I并且對(duì)于每個(gè)新固件更新,SVN遞增I。SK[i]表示對(duì)應(yīng)于SVN i的存儲(chǔ)密鑰。如下所示來計(jì)算供應(yīng)ID和供應(yīng)密鑰804:供應(yīng)ID=PRF(設(shè)備唯一密鑰,“供應(yīng)ID”),供應(yīng)基礎(chǔ)密鑰=PRF (設(shè)備唯一密鑰,“供應(yīng)基礎(chǔ)密鑰”),供應(yīng)密鑰=PRF (供應(yīng)基礎(chǔ)密鑰,“供應(yīng)密鑰” I I SVN)在一個(gè)實(shí)施例中,不可恢復(fù)TCB如下所示推導(dǎo)所有先前的存儲(chǔ)密鑰824:對(duì)于i=l,…,SVN計(jì)算SK[i] =PRF(設(shè)備唯一密鑰,“存儲(chǔ)密鑰” I I i)不可恢復(fù)TCB接著將所有的存儲(chǔ)密鑰發(fā)送到可恢復(fù)TCB。
在另一實(shí)施例中,僅計(jì)算一個(gè)以前的存儲(chǔ)密鑰。控制由存儲(chǔ)密鑰806所保護(hù)的數(shù)據(jù)存儲(chǔ)的平臺(tái)502可以僅需要訪問當(dāng)前存儲(chǔ)密鑰和其以前的存儲(chǔ)密鑰。以前的存儲(chǔ)密鑰是在上次固件更新之前由平臺(tái)502所使用的存儲(chǔ)密鑰。固件使用以前的SVN能夠解密所有現(xiàn)存的數(shù)據(jù),并且接著使用當(dāng)前的SVN來重新加密數(shù)據(jù),除了在這個(gè)轉(zhuǎn)換期間,移除對(duì)任何舊的SVN密鑰的需要。不可恢復(fù)TCB810輸出兩個(gè)存儲(chǔ)密鑰:用于當(dāng)前SVN的第一存儲(chǔ)密鑰806和用于以前的SVN的第二存儲(chǔ)密鑰824。因?yàn)槠脚_(tái)的用戶可能略過一些固件更新,所以以前的SVN (pSVN)可能不是SVN-1。不可恢復(fù)TCB802計(jì)算下列公式:SK [SVN] =PRF (設(shè)備唯一密鑰,“存儲(chǔ)密鑰” | | SVN)SK [pSVN] =PRF (設(shè)備唯一密鑰,“存儲(chǔ)密鑰” I I pSVN)其中:SVN是當(dāng)前SVN ;pSVN是以前的SVN而PRF是偽隨機(jī)函數(shù)。SVN808可從TCB800的固件處獲得。能夠?qū)SVN從存儲(chǔ)其的非易失性存儲(chǔ)器提供給不可恢復(fù)TCB810。例如,在實(shí)現(xiàn)芯片組TCB的恢復(fù)實(shí)現(xiàn)中,平臺(tái)將pSVN存儲(chǔ)在內(nèi)置操作系統(tǒng)(BIOS)的閃存分區(qū)表FPT分區(qū)中。在用于處理器TCB恢復(fù)實(shí)現(xiàn)的實(shí)施例中,能夠不使用pSVN來推導(dǎo)先前的存儲(chǔ)密鑰。圖10是執(zhí)行密鑰推導(dǎo) 來計(jì)算先前的存儲(chǔ)密鑰的散列鏈方法的實(shí)施例的流程圖。在不控制受保護(hù)的數(shù)據(jù)存儲(chǔ)在何處的平臺(tái)502中,需要多個(gè)以前的存儲(chǔ)密鑰824來確保對(duì)先前受保護(hù)的數(shù)據(jù)的適當(dāng)訪問。在塊1000,從可恢復(fù)TCB固件讀取當(dāng)前SVN808。過程繼續(xù)進(jìn)行到塊1002。在塊1002,存在最大數(shù)量的可恢復(fù)以前SVN (“η”)。例如,在一個(gè)實(shí)施例中,可恢復(fù)以前SVN的最大數(shù)量可以是32。如果當(dāng)前SVN小于可恢復(fù)以前SVN的最大數(shù)量,則過程繼續(xù)進(jìn)行到塊1004。如果不是,也就是SVN大于η,則不能推導(dǎo)供應(yīng)密鑰和存儲(chǔ)密鑰,并且TCB不再是可恢復(fù)的。在塊1004,對(duì)應(yīng)于最大數(shù)量的可恢復(fù)存儲(chǔ)密鑰的存儲(chǔ)密鑰值計(jì)算如下:SK [n] =PRF (設(shè)備唯一密鑰,“存儲(chǔ)密鑰” I I η).
過程繼續(xù)進(jìn)行到塊1006。在塊1006,到最大數(shù)量-1的所有存儲(chǔ)密鑰計(jì)算如下:SK[i]=Hash(SK[i+l])對(duì)于 i=l,…,η_1.
給定SK[i],能夠通過計(jì)算散列函數(shù)來推導(dǎo)用于任意先前固件版本的存儲(chǔ)密鑰。但是,給定SK[i],在沒有設(shè)備唯一密鑰110的情況下,不能推導(dǎo)存儲(chǔ)密鑰的未來版本。過程繼續(xù)進(jìn)行到塊1008。在塊1008,輸出 SK[SVN]。不可恢復(fù)TCB810僅需要輸出單個(gè)存儲(chǔ)密鑰806。但是,推導(dǎo)存儲(chǔ)密鑰的計(jì)算量隨著以前存儲(chǔ)密鑰的最大數(shù)量增長(zhǎng)而增長(zhǎng),但是如果以前存儲(chǔ)密鑰的最大數(shù)量是小的,則能夠恢復(fù)的以前的存儲(chǔ)密鑰的數(shù)量會(huì)減少。在又一實(shí)施例中,一些存儲(chǔ)密鑰直接從設(shè)備唯一密鑰110中推導(dǎo),而其他存儲(chǔ)密鑰從下一版本的散列計(jì)算出。存儲(chǔ)密鑰的值定義如下:如果i是η的倍數(shù),則SK[n] =PRF(設(shè)備唯一密鑰,“存儲(chǔ)密鑰” | | i)如果i 不是 η 的倍數(shù),則 SK[i]=Hash(SK[i+l])。
其中η是檢查點(diǎn)整數(shù)。圖11是示出通過不可恢復(fù)TCB執(zhí)行的以推導(dǎo)存儲(chǔ)密鑰的方法的實(shí)施例的流程圖。在塊1100,從不可恢復(fù)TCB固件讀取SVN808。過程繼續(xù)進(jìn)行到塊1102。在塊1102,如下使用設(shè)備唯一密鑰110來推導(dǎo)當(dāng)前存儲(chǔ)密鑰:使m=[SVN/n];SK[m-n] =PRF (設(shè)備唯一密鑰,“存儲(chǔ)密鑰” I I m-η);對(duì)于i=mn-l,…,SVN, SK[i]=Hash(SK[i+l])過程繼續(xù)進(jìn)行到塊1104。在塊1104,如下使用當(dāng)前存儲(chǔ)密鑰來計(jì)算以前的存儲(chǔ)密鑰:對(duì)于i=l,計(jì)算 SK [1-n] =PRF (設(shè)備唯一密鑰,“存儲(chǔ)密鑰” | | i_n)過程繼續(xù)到塊1106。在塊1106,將計(jì)算存儲(chǔ)密鑰,SK[SVN]、SK[n]、SK[2n],…,SK[ (m_l)-η]輸出到可恢復(fù) TCB。給定 SK [SVN]、SK [n]、SK [2n],…,SK[ (m_l)-η],對(duì)于 i=l,…,SVN,可恢復(fù) TCB能計(jì)算任意的SK[i]。已描述了計(jì)算用于單個(gè)可恢復(fù)TCB的先前存儲(chǔ)密鑰824的方法的實(shí)施例。但是,平臺(tái)能夠具有多層可恢復(fù)TCB。在實(shí)施例中,每層TCB具有其自身的SVN808。每層具有由先前層計(jì)算出的推導(dǎo)密鑰。如果安全版本號(hào)是整數(shù),則每層TCB可能需要驗(yàn)證下一層TCB固件的簽名。例如,在實(shí)施例中,不可恢復(fù)TCB能夠是固件補(bǔ)丁加載器,層ITCB是固件層I而層2TCB是更高級(jí)別技術(shù)的固件實(shí)現(xiàn)。圖12是示出不可恢復(fù)TCB810和層1TCB1202的框圖。在引導(dǎo)序列期間,也就是說,每次平臺(tái)通電時(shí),不可恢復(fù)TCB810接收設(shè)備唯一密鑰110。在塊1204,不可恢復(fù)TCB810驗(yàn)證不可恢復(fù)TCB固件的簽名,并且將不可恢復(fù)TCB的SVN轉(zhuǎn)發(fā)到塊1206。在塊1206,不可恢復(fù)TCB基于在接收的設(shè)備唯一密鑰110和不可恢復(fù)TCB的SVN上執(zhí)行偽隨機(jī)函數(shù)來推導(dǎo)用于層1TCB1202的密鑰。在層1TCB1202中在塊1208,層1TCB1202檢查層ITCB固件的簽名。在塊1210,基于在塊1210中在接收到的推導(dǎo)出的不可恢復(fù)TCB密鑰和層ITCB的SVN上執(zhí)行偽隨機(jī)函數(shù),層1TCB1202推導(dǎo)用于層2TCB的密鑰(未示出)的密鑰。為了生成k個(gè)密鑰,在塊1204、1026、1208和1210中示出的密鑰生成函數(shù)重復(fù)了 k次。在更早討論的實(shí)施例中,其中使用了當(dāng)前密鑰和先前密鑰,多層TCB中的每層均能基于那層的SVN和pSVN產(chǎn)生兩個(gè)密鑰。這兩個(gè)密鑰從先前層的SVN和pSVN密鑰中推導(dǎo)。聯(lián)合圖10討論的散列鏈方法提供了單層TCB恢復(fù),但是這不能擴(kuò)展到多個(gè)層。如果平臺(tái)包含能夠在運(yùn)行時(shí)間被查詢的活躍可恢復(fù)層,則混合方法使用散列鏈來保護(hù)可恢復(fù)層??苫謴?fù)層存儲(chǔ)剩余層SVN,并且能夠根據(jù)需要推導(dǎo)用于不同層的任意pSVN組合的存儲(chǔ)密鑰。圖13是示出使用散列鏈來保護(hù)可恢復(fù)層的混合方法的框圖。示出了四個(gè)層:不可恢復(fù)TCB層810、層1TCB1300、層2TCB1303和層31304。示出的所有四層能夠以用于處理單元的實(shí)施例來實(shí)現(xiàn)。僅有兩個(gè)層:不可恢復(fù)TCB層810和層1TCB1300是典型地用在用于芯片組的實(shí)施例中。密鑰寄存器1314能夠是在用于處理單元的實(shí)施例中的由不可恢復(fù)TCB層810和層31304所使用的處理單元或芯片組中的特定寄存器。
用于每層(i )的TCB計(jì)算如下:TCB [i] =TCB 層 i 的 SVN。不可恢復(fù)TCB層810接收存儲(chǔ)的設(shè)備唯一密鑰110,驗(yàn)證層I可恢復(fù)TCB固件的完整性和來源,并且使用在PFR回路1312中的散列鏈來計(jì)算SK[TCB [I] ]。PFR回路1312推導(dǎo)用于具體層用于具體修正密鑰的供應(yīng)密鑰,并且將用于層1TCB1300的供應(yīng)密鑰存儲(chǔ)在密鑰寄存器中。PRF回路還生成層ISVNl305、層2SVN1306和層3SVN1308。在PRF回路1312中執(zhí)行的PRF函數(shù)能夠是在根密鑰和當(dāng)前TCB版本(或以前的TCB版本號(hào))上執(zhí)行的散列函數(shù)。層1TCB130 2驗(yàn)證層2的完整性和來源,并且將由PRF回路1312所生成的層2的安全版本號(hào)(SVN) 1306存儲(chǔ)在受保護(hù)的寄存器中,例如,存儲(chǔ)在TCBSVN寄存器1310中。TCBSVN寄存器1310能夠被保護(hù)防止其他層覆寫。層2直到最后一層執(zhí)行如聯(lián)合層11300所討論的相同操作。在最后一層中實(shí)現(xiàn)的指令能調(diào)用層I函數(shù)getKey (TCB_request[]),其執(zhí)行下列操作。對(duì)于i=l,…,TCB層計(jì)數(shù)如果TCB_request[i]>TCB[i],則返回失敗。如果TCB_request [i]〈TCB [i],則tmp=SK[TCB_request [i]]使用鏈返回PRF (tmp, “存儲(chǔ)密鑰” | | j | | k);其中j和k是用于層1TCB1300和層2TCB1302的SVN0如果層I保持活躍,則能夠推導(dǎo)用于TCB層的任意先前置換的存儲(chǔ)密鑰806。如果要求生成供應(yīng)密鑰的先前版本,則層31304也使用存儲(chǔ)在密鑰寄存器1314中的供應(yīng)密鑰并且在PRF回路1318中執(zhí)行可選的PRF函數(shù)。在1320,可以在存儲(chǔ)于密鑰寄存器1314中的存儲(chǔ)供應(yīng)密鑰上執(zhí)行PRF函數(shù),或使用存儲(chǔ)的層2SVN1306和存儲(chǔ)的層3SVN1308來在PRF回路1318中推導(dǎo)PRF函數(shù)?;谶@個(gè)PRF函數(shù)1326的結(jié)果來計(jì)算存儲(chǔ)密鑰。防止遭破壞的平臺(tái)從供應(yīng)服務(wù)器500接收新的DAK。如果每個(gè)平臺(tái)已更新其可恢復(fù)TCB固件,則每個(gè)平臺(tái)能接收新的DAK。如果已撤銷平臺(tái),例如,在惡意硬件攻擊期間,已抽取平臺(tái)的設(shè)備唯一密鑰110,則DAK預(yù)供應(yīng)協(xié)議不會(huì)將新的DAK提供給平臺(tái)。圖14示出了在平臺(tái)502和供應(yīng)服務(wù)器500之間的DAK供應(yīng)協(xié)議的實(shí)施例。在1400,平臺(tái)502和供應(yīng)服務(wù)器500使用標(biāo)準(zhǔn)協(xié)議(例如TLS/SSL)建立安全通信信道。在1402,平臺(tái)502使用其先前的DAK來加密消息,并且將加密的消息發(fā)送到供應(yīng)服務(wù)器500。供應(yīng)服務(wù)器500檢查先前的DAK,并且在先前的DAK上執(zhí)行撤銷檢查來確定其是否已被撤銷。如果已撤銷平臺(tái)502,則供應(yīng)服務(wù)器500終止協(xié)議。在1404,平臺(tái)通過安全信道將供應(yīng)ID802發(fā)送到供應(yīng)服務(wù)器500。供應(yīng)服務(wù)器500使用接收到的供應(yīng)ID (每硬件設(shè)備102 —個(gè))來搜索DAK供應(yīng)數(shù)據(jù)庫(kù),并且取回用于平臺(tái)502的加密的新DAK。在1406,供應(yīng)服務(wù)器500將新的加密DAK發(fā)送到平臺(tái)502。在對(duì)供應(yīng)服務(wù)器500存在隱私要求以在DAK已供應(yīng)給平臺(tái)502之后刪除該DAK的實(shí)施例中,修改DAK重新供應(yīng)來將DAK存儲(chǔ)在供應(yīng)服務(wù)器500中。圖15示出了在平臺(tái)502和支持隱私的供應(yīng)服務(wù)器500之間的圖14中的重新供應(yīng)協(xié)議的實(shí)施例。如聯(lián)合圖14討論的,在1400,平臺(tái)502建立與供應(yīng)服務(wù)器500的安全信道。在1402,平臺(tái)502通過向供應(yīng)服務(wù)器500發(fā)送其先前的DAK來證實(shí)其還未被撤銷。在1404,平臺(tái)502通過安全信道向供應(yīng)服務(wù)器500發(fā)送供應(yīng)ID。供應(yīng)服務(wù)器500搜索DAK供應(yīng)數(shù)據(jù)庫(kù)以與先前DAK匹配,并且取回用于平臺(tái)502的新DAK。在1406,供應(yīng)服務(wù)器500將使用供應(yīng)密鑰804加密的新DAK發(fā)回到平臺(tái)502。平臺(tái)502使用其供應(yīng)密鑰804來解密所述加密的DAK。在1408,平臺(tái)502使用其存儲(chǔ)密鑰806來重新加密接收到的新DAK,新DAK對(duì)供應(yīng)服務(wù)器500和密鑰生成服務(wù)器106是未知的。平臺(tái)502將通過其存儲(chǔ)密鑰806加密的新DAK發(fā)送到供應(yīng)服務(wù)器500。供應(yīng)服務(wù)器500從其數(shù)據(jù)庫(kù)刪除平臺(tái)的DAK,并且將由其存儲(chǔ)密鑰加密的新DAK存儲(chǔ)在數(shù)據(jù)庫(kù)中。圖16示出了在平臺(tái)和供應(yīng)服務(wù)器500 (存儲(chǔ)通過其存儲(chǔ)密鑰加密的平臺(tái)DAK)之間的DAK備份檢索協(xié)議的實(shí)施例。如果平臺(tái)丟失了其DAK,則平臺(tái)能下載存儲(chǔ)在供應(yīng)服務(wù)器500中的數(shù)據(jù)庫(kù)中的DAK。在1600,平臺(tái)502使用供應(yīng)服務(wù)器的公共密鑰來加密其供應(yīng)ID804,并將加密的供應(yīng)ID發(fā)送到供應(yīng)服務(wù) 器500。在接收加密的供應(yīng)ID時(shí),供應(yīng)服務(wù)器500解密供應(yīng)ID并且在供應(yīng)服務(wù)器的數(shù)據(jù)庫(kù)中搜索對(duì)應(yīng)于供應(yīng)ID的條目。在1602,供應(yīng)服務(wù)器500將通過平臺(tái)的存儲(chǔ)密鑰806(其存儲(chǔ)在供應(yīng)服務(wù)器500的數(shù)據(jù)庫(kù)中)加密的DAK發(fā)送到平臺(tái)。在接收加密DAK時(shí),平臺(tái)502使用其存儲(chǔ)密鑰來解密接收到的加密DAK (DAK的備份拷貝)。先前安全版本號(hào)(PSVN)存儲(chǔ)在非易失性可重寫存儲(chǔ)器中,例如在平臺(tái)502中的閃存。簡(jiǎn)單的磨損保護(hù)算法用來將PSVN永久性地存儲(chǔ)在非易失性可重寫存儲(chǔ)器(具有最小閃存文件系統(tǒng)支持)中,以避免非易失性可重寫存儲(chǔ)器中的清除周期。非易失性可重寫存儲(chǔ)器(例如,閃存)中的64字節(jié)塊(分區(qū))用于存儲(chǔ)先前的安全版本(PSVN)。每一字節(jié)表示潛在的PSVN,在任意時(shí)間64字節(jié)塊僅有單個(gè)字節(jié)是有效的。64字節(jié)塊中的用于字節(jié)的默認(rèn)值是255 (十六進(jìn)制中表示為OxFF)。如果字節(jié)的值是O (十六進(jìn)制中表示為0x00),則已使用了 PSVN條目并且PSVN條目現(xiàn)在是無效的。任意其他值(I到255 (十六進(jìn)制中表示為OxO1-OxFE))表示PSVN條目是有效的。圖17是用于在非易失性可重寫存儲(chǔ)器中存儲(chǔ)PSVN的方法的實(shí)施例的流程圖。在塊1700,如果當(dāng)前字節(jié)地址小于64字節(jié)塊中的最大字節(jié)地址,則過程繼續(xù)進(jìn)行到塊1702。在塊1702,讀取在當(dāng)前地址的64字節(jié)塊中的字節(jié)。過程繼續(xù)進(jìn)行到塊1704。在塊1704,如果值為零,則過程繼續(xù)進(jìn)行到塊1705。如果不為零,則過程繼續(xù)進(jìn)行到塊1706。在塊1705,遞增64字節(jié)塊的地址以讀取下一字節(jié)位置。過程繼續(xù)進(jìn)行到塊17000。在塊1706,如果值為255,則沒有活躍的PSVN。過程繼續(xù)進(jìn)行到塊1708。如果值不為255,則值從I到254,并且PSVN是有效的。過程繼續(xù)進(jìn)行到塊1710。在塊1710,推導(dǎo)先前的根密鑰。在塊1708,PSVN條目的數(shù)量超過64(保留用于存儲(chǔ)PSVN條目的64字節(jié)塊中可用位置的數(shù)量),不能推導(dǎo)供應(yīng)密鑰并且DAK密鑰不能進(jìn)行密鑰更新。描述了一種方法和裝置來用于平臺(tái)通過促進(jìn)供應(yīng)新的DAK以證明TCB已被修補(bǔ)。通過安全應(yīng)用(例如,可管理引擎(ME)和TPM)能夠使用這種方法和裝置。對(duì)本領(lǐng)域的普通技術(shù)人員顯而易見的是,本發(fā)明的實(shí)施例中涉及的方法可以體現(xiàn)在包括計(jì)算機(jī)可用介質(zhì)的計(jì)算機(jī)程序產(chǎn)品中。例如,這樣的計(jì)算機(jī)可用介質(zhì)可以由其上存儲(chǔ)有計(jì)算機(jī)可讀程序代碼的只讀存儲(chǔ)器設(shè)備組成,例如光盤只讀存儲(chǔ)器(CD ROM)磁盤或傳統(tǒng)的ROM設(shè)備,或計(jì)算機(jī)軟盤。雖然本發(fā)明的實(shí)施例已參考其實(shí)施例進(jìn)行了具體顯示和說明,但本領(lǐng)域的那些技術(shù)人員將理解的是在不偏離所附權(quán)利要求所包含的本發(fā)明的實(shí)施例的范圍的情況下,可以對(duì)實(shí)施例做出各種形式 和細(xì)節(jié)上的改變。
權(quán)利要求
1.一種方法,包括: 由系統(tǒng)中的硬件設(shè)備接收加密的安全密鑰,所述加密的安全密鑰存儲(chǔ)在由供應(yīng)服務(wù)器所維護(hù)的數(shù)據(jù)庫(kù)中,所述供應(yīng)服務(wù)器與從唯一設(shè)備密鑰推導(dǎo)出的供應(yīng)標(biāo)識(shí)符相關(guān)聯(lián),通過將所述唯一設(shè)備密鑰寫入到在所述硬件設(shè)備中的受保護(hù)的存儲(chǔ)器中,密鑰生成服務(wù)器將所述唯一設(shè)備密鑰嵌入所述硬件設(shè)備中,使用從所述唯一設(shè)備密鑰推導(dǎo)出的基礎(chǔ)供應(yīng)密鑰來加密所述安全密鑰; 由所述硬件設(shè)備從存儲(chǔ)在受保護(hù)的存儲(chǔ)器中的所述唯一設(shè)備密鑰推導(dǎo)所述基礎(chǔ)供應(yīng)密鑰,所述受保護(hù)的存儲(chǔ)器不能被軟件訪問;以及 由所述硬件使用所推導(dǎo)出的基礎(chǔ)供應(yīng)密鑰來解密所述加密的安全密鑰。
2.根據(jù)權(quán)利要求1所述的方法,其中,所述受保護(hù)的存儲(chǔ)器是一次寫入存儲(chǔ)器。
3.根據(jù)權(quán)利要求1所述的方法,其中,所述密鑰生成服務(wù)器是在可信環(huán)境中操作的離線服務(wù)器。
4.根據(jù)權(quán)利要求1所述的方法,其中,從所述唯一設(shè)備標(biāo)識(shí)符推導(dǎo)出的所述供應(yīng)標(biāo)識(shí)符和供應(yīng)密鑰是對(duì)稱密鑰。
5.根據(jù)權(quán)利要求1所述的方法,其中,在所述唯一設(shè)備密鑰被寫入到所述受保護(hù)的存儲(chǔ)器之后,所述唯一設(shè)備密鑰的拷貝對(duì)于第一服務(wù)器是不可用的。
6.根據(jù)權(quán)利要求1所述的方法,其中,所述硬件設(shè)備經(jīng)由通信網(wǎng)絡(luò)來接收所述加密的安全密鑰。
7.根據(jù)權(quán)利要求1所述的方法,其中,所述硬件設(shè)備從所述系統(tǒng)中的存儲(chǔ)介質(zhì)來接收所述加密的安全密鑰。
8.根據(jù)權(quán)利要求1所述的方法,還包括: 由所述硬件設(shè)備從所述基礎(chǔ)供應(yīng)密鑰推導(dǎo)供應(yīng)密鑰,所述供應(yīng)密鑰是基于與可用于安裝在所述硬件設(shè)備中的固件相關(guān)聯(lián)的最新的固件版本號(hào)來推導(dǎo)的。
9.根據(jù)權(quán)利要求7所述的方法,還包括: 由所述硬件設(shè)備接收加密的設(shè)備認(rèn)證密鑰,所述設(shè)備認(rèn)證密鑰是由所述供應(yīng)密鑰加密的;以及 由所述硬件設(shè)備解密與所述供應(yīng)密鑰相關(guān)聯(lián)的所述加密的設(shè)備認(rèn)證密鑰,所述供應(yīng)密鑰與所述最新的固件版本號(hào)或以前的固件版本號(hào)相關(guān)聯(lián)。
10.一種裝置,包括: 在系統(tǒng)中的用于接收加密的安全密鑰的硬件設(shè)備,所述加密的安全密鑰存儲(chǔ)在由供應(yīng)服務(wù)器所維護(hù)的數(shù)據(jù)庫(kù)中,所述供應(yīng)服務(wù)器與從唯一設(shè)備密鑰推導(dǎo)出的供應(yīng)標(biāo)識(shí)符相關(guān)聯(lián),通過將所述唯一設(shè)備密鑰寫入到在所述硬件設(shè)備中的受保護(hù)的存儲(chǔ)器中,密鑰生成服務(wù)器將所述唯一設(shè)備密鑰嵌入所述硬件設(shè)備中,使用從所述唯一安全密鑰推導(dǎo)出的基礎(chǔ)供應(yīng)密鑰來加密所述安全密鑰,所述硬件設(shè)備用于從存儲(chǔ)在受保護(hù)的存儲(chǔ)器中的所述唯一設(shè)備密鑰推導(dǎo)所述基礎(chǔ)供應(yīng)密鑰,所述受保護(hù)的存儲(chǔ)器不能被軟件訪問,并且所述硬件設(shè)備用于使用所推導(dǎo)出的基礎(chǔ)供應(yīng)密鑰來解密所加密的安全密鑰。
11.根據(jù)權(quán)利要求10所述的裝置,其中,所述受保護(hù)的存儲(chǔ)器是一次寫入存儲(chǔ)器。
12.根據(jù)權(quán)利要求10所述的裝置,其中,所述密鑰生成服務(wù)器是在可信環(huán)境中操作的離線服務(wù)器。
13.根據(jù)權(quán)利要求10所述的裝置,其中,從所述唯一設(shè)備標(biāo)識(shí)符推導(dǎo)出的所述供應(yīng)標(biāo)識(shí)符和供應(yīng)密鑰是對(duì)稱密鑰。
14.根據(jù)權(quán)利要求10所述的裝置,其中,在所述唯一設(shè)備密鑰被寫入到所述受保護(hù)的存儲(chǔ)器之后,所述唯一設(shè)備密鑰的拷貝對(duì)于第一服務(wù)器是不可用的。
15.根據(jù)權(quán)利要求10所述的裝置,其中,所述硬件設(shè)備經(jīng)由通信網(wǎng)絡(luò)來接收所述加密的安全密鑰。
16.根據(jù)權(quán)利要求10所述的裝置,其中,所述硬件設(shè)備從所述系統(tǒng)中的存儲(chǔ)介質(zhì)來接收所述加密的安全密鑰。
17.根據(jù)權(quán)利要求10所述的裝置,其中,所述硬件設(shè)備從所述基礎(chǔ)供應(yīng)密鑰推導(dǎo)供應(yīng)密鑰,基于與可用于安裝在所述硬件設(shè)備中的固件相關(guān)聯(lián)的最新的固件版本號(hào)來推導(dǎo)所述供應(yīng)密鑰。
18.根據(jù)權(quán)利要求16所述的裝置,其中,所述硬件設(shè)備接收加密的設(shè)備認(rèn)證密鑰,所述設(shè)備認(rèn)證密鑰是由所述供應(yīng)密鑰加密的,并且所述硬件設(shè)備解密與所述供應(yīng)密鑰相關(guān)聯(lián)的所述加密的設(shè)備驗(yàn)證密鑰,所述供應(yīng)密鑰與所述最新的固件版本號(hào)或以前的固件版本號(hào)相關(guān)聯(lián)。
19.一種物品,包括具有相關(guān)聯(lián)信息的機(jī)器可訪問媒介,當(dāng)訪問所述信息時(shí)導(dǎo)致機(jī)器執(zhí)行以下操作: 由系統(tǒng)中的硬件設(shè)備接收加密的安全密鑰,所述加密的安全密鑰存儲(chǔ)在由供應(yīng)服務(wù)器所維護(hù)的數(shù)據(jù)庫(kù)中,所述供應(yīng)服務(wù)器與從唯一設(shè)備密鑰推導(dǎo)出的供應(yīng)標(biāo)識(shí)符相關(guān)聯(lián),通過將所述唯一設(shè)備密鑰寫入到在所述硬件設(shè)備中的受保護(hù)的存儲(chǔ)器中,密鑰生成服務(wù)器將所述唯一設(shè)備密鑰嵌入所述硬件設(shè)備中,使用從所述唯一設(shè)備密鑰推導(dǎo)出的基礎(chǔ)供應(yīng)密鑰來加密所述安全密鑰; 由所述硬件設(shè)備從存儲(chǔ)在受保護(hù)的存儲(chǔ)器中的所述唯一設(shè)備密鑰推導(dǎo)所述基礎(chǔ)供應(yīng)密鑰,所述受保護(hù)的存儲(chǔ)器不能被軟件訪問;以及 由所述硬件使用所述推導(dǎo)出的基礎(chǔ)供應(yīng)密鑰來解密所述加密的安全密鑰。
20.根據(jù)權(quán)利要求19所述的物品,還包括: 由所述硬件設(shè)備從所述基礎(chǔ)供應(yīng)密鑰推導(dǎo)供應(yīng)密鑰,基于與可用于安裝在所述硬件設(shè)備中的固件相關(guān)聯(lián)的最新的固件版本號(hào)來推導(dǎo)所述供應(yīng)密鑰。
21.—種系統(tǒng),包括: 磁盤驅(qū)動(dòng)器;以及 硬件設(shè)備,所述硬件設(shè)備用于接收加密的安全密鑰,所述加密的安全密鑰存儲(chǔ)在由供應(yīng)服務(wù)器所維護(hù)的數(shù)據(jù)庫(kù)中,所述供應(yīng)服務(wù)器與從唯一設(shè)備密鑰推導(dǎo)出的供應(yīng)標(biāo)識(shí)符相關(guān)聯(lián),通過將所述唯一設(shè)備密鑰寫入到在所述硬件設(shè)備中的受保護(hù)的存儲(chǔ)器中,密鑰生成服務(wù)器將所述唯一設(shè)備密鑰嵌入所述硬件設(shè)備中,使用從所述唯一設(shè)備密鑰推導(dǎo)出的基礎(chǔ)供應(yīng)密鑰來加密所述安全密鑰,所述硬件設(shè)備用于從存儲(chǔ)在受保護(hù)的存儲(chǔ)器中的所述唯一設(shè)備密鑰推導(dǎo)所述基礎(chǔ)供應(yīng)密鑰,所述受保護(hù)的存儲(chǔ)器不能被軟件訪問,以及所述硬件設(shè)備用于使用所述推導(dǎo)出的基礎(chǔ)供應(yīng)密鑰來解密所述加密的安全密鑰。
22.根據(jù)權(quán)利要求21所述的系統(tǒng),其中,所述加密的安全密鑰存儲(chǔ)在經(jīng)由所述磁盤驅(qū)動(dòng)器能夠訪問的存儲(chǔ)媒介上,并且所述硬件設(shè)備從所述磁盤驅(qū)動(dòng)器接收所述加密的安全密鑰。
全文摘要
安全地在線和離線供應(yīng)用于在平臺(tái)中提供安全的密鑰材料到遠(yuǎn)程平臺(tái)中的設(shè)備。密鑰材料的安全供應(yīng)是基于安裝在平臺(tái)中的固件版本的。
文檔編號(hào)H04L9/14GK103229451SQ201180057317
公開日2013年7月31日 申請(qǐng)日期2011年11月11日 優(yōu)先權(quán)日2010年11月30日
發(fā)明者E·F·布里克爾, S·格倫, J·李, C·V·羅扎斯, D·內(nèi)米羅夫, V·R·斯卡拉塔, U·R·薩瓦岡卡爾, S·P·約翰遜 申請(qǐng)人:英特爾公司