專利名稱:將虛擬令牌連接到物理令牌的制作方法
背景技術(shù):
現(xiàn)有的基于軟件的安全服務(wù)都隱含地假設(shè)計(jì)算設(shè)備或平臺(tái)都是可信任的。假定它們?cè)诎踩沫h(huán)境中執(zhí)行,在此前提下它們提供應(yīng)用級(jí)的安全性。這種假設(shè)對(duì)于保證現(xiàn)有的商務(wù)模型所需的安全級(jí)別而言是成立的,但是當(dāng)前的安全功能已在提供最高級(jí)別的保護(hù),這些級(jí)別的保護(hù)無需額外的硬件支持就能實(shí)現(xiàn)。
到目前為止,可信平臺(tái)計(jì)算聯(lián)盟(TPCA)在2001年7月31日發(fā)布的TCPA主規(guī)范,版本1.1中描述了一種可信平臺(tái)模塊(TPM)或物理令牌,其提供了更大的可信度,并且實(shí)現(xiàn)了現(xiàn)有服務(wù)的增強(qiáng)和新服務(wù)。TPM支持對(duì)軟件過程、平臺(tái)引導(dǎo)完整性、文件完整性和軟件許可的審計(jì)(audit)和寫日志(log)。TPM為平臺(tái)提供了受保護(hù)信息存儲(chǔ)庫,其可被用來證實(shí)由存在的硬件(例如,處理器、芯片集、固件等)定義的平臺(tái)的身份。這些特征鼓勵(lì)著第三方將對(duì)某些信息的訪問權(quán)授予平臺(tái),而在不具有上述特征的情況下,平臺(tái)將被拒絕訪問這些信息。
TPM包含單獨(dú)的計(jì)算引擎,由于該引擎的過程無法更改,所以這些過程可被信任。這些過程以及該子系統(tǒng)到平臺(tái)的綁定,它們結(jié)合起來能夠可靠地量度并報(bào)告平臺(tái)內(nèi)部主計(jì)算環(huán)境的狀態(tài)。TPM為平臺(tái)的引導(dǎo)提供了信任的根基。向平臺(tái)提供安全的操作系統(tǒng)是所有者的責(zé)任,一旦OS被加載,它就可以在不可信的軟件被加載之前向TPM報(bào)告不可信軟件的加載情況。TPM因此可以報(bào)告量度數(shù)據(jù),這些數(shù)據(jù)指示出平臺(tái)中主軟件環(huán)境的當(dāng)前狀態(tài)。本地或遠(yuǎn)程實(shí)體可以僅僅查詢TPM就可靠地獲得這些量度結(jié)果,并判斷平臺(tái)的行為是否使得它對(duì)于預(yù)期目的而言是可信任的。因?yàn)門PM可以證實(shí)操作系統(tǒng)的當(dāng)前狀態(tài),所以軟件加載中的可信度增大了。
TPM對(duì)保密數(shù)據(jù)可以起到入口的作用,并且只有在訪問權(quán)和軟件環(huán)境的特定組合下才會(huì)允許這種數(shù)據(jù)的公開或使用。當(dāng)然,TPM的受保護(hù)存儲(chǔ)庫可用于任何敏感數(shù)據(jù),而不僅僅是身份信息。TPM可將這些服務(wù)輸出到系統(tǒng)級(jí)的軟件安全服務(wù)(例如IPSec),所述系統(tǒng)級(jí)的軟件安全服務(wù)自身也被通常的應(yīng)用程序稱為服務(wù)。這種布置帶來了對(duì)平臺(tái)身份的更大信任,并且如果需要可同時(shí)允許平臺(tái)匿名。因此,可以更加信任地來使用調(diào)用身份驗(yàn)證的任何應(yīng)用程序,并可授予這些應(yīng)用程序更大的權(quán)力。
在附圖中以示例的方式而不是以限制的方式圖示了這里所描述的發(fā)明。為簡(jiǎn)單和清楚起見,附圖中所示的元件未必是按照比例繪制的。例如,為了清楚起見,某些元件的尺寸可以相對(duì)于其它元件被夸大。此外,在合適的地方,在附圖中用相同的標(biāo)號(hào)來表示對(duì)應(yīng)的或類似的元件。
圖1示出了包括物理令牌和虛擬令牌的計(jì)算設(shè)備的例子。
圖2示出了圖1中的物理令牌和虛擬令牌的例子。
圖3示出了可由圖1中的計(jì)算設(shè)備來實(shí)施的可信運(yùn)行環(huán)境的例子。
圖4示出了獲得圖1中的虛擬令牌的證書(credential)的方法示例。
具體實(shí)施例方式
在下面的詳細(xì)描述中,描述了很多具體的細(xì)節(jié)以徹底地理解本發(fā)明。然而,沒有這些具體細(xì)節(jié)也可以實(shí)現(xiàn)本發(fā)明。此外,沒有具體地描述公知的方法、過程、組件和電路,以免模糊本發(fā)明。而且,給出了示例性的尺寸/模型/值/范圍,但是本發(fā)明不限于這些具體的示例。
在說明書中引用“一個(gè)實(shí)施例”、“實(shí)施例”、“示例性實(shí)施例”等都表示所描述的實(shí)施例可以包括特定的特點(diǎn)、結(jié)構(gòu)或特征,但不是每個(gè)實(shí)施例都要包括這些特定的特點(diǎn)、結(jié)構(gòu)或特征。而且,這些短語指的不一定是同一個(gè)實(shí)施例。此外,當(dāng)關(guān)于某個(gè)實(shí)施例來描述特定的特點(diǎn)、結(jié)構(gòu)或特征時(shí),我們認(rèn)為無論是否做出明確的描述,都可以將這樣的特點(diǎn)、結(jié)構(gòu)或特征應(yīng)用到其它實(shí)施例中,這種做法屬于本領(lǐng)域技術(shù)人員的知識(shí)范圍之內(nèi)。
圖1中所示的示例性計(jì)算設(shè)備100可以包括一個(gè)或多個(gè)處理器110。處理器110可支持一種或多種工作模式,例如實(shí)模式、保護(hù)模式、虛擬8086模式和虛擬機(jī)器模式(VMX模式)。此外,在每一種支持的工作模式中,處理器110可支持一個(gè)或多個(gè)特權(quán)級(jí)別或環(huán)??傊?,處理器110的工作模式和特權(quán)級(jí)別決定了可用于執(zhí)行的指令以及執(zhí)行這些指令的效果。更具體地說,只有當(dāng)處理器110處于適當(dāng)?shù)哪J胶?或特權(quán)級(jí)別時(shí),才允許處理器110執(zhí)行某些具有特權(quán)的指令。
芯片集120可包括一個(gè)或多個(gè)集成電路封裝或芯片,它們將處理器110耦合到存儲(chǔ)器130、網(wǎng)絡(luò)接口140、物理令牌150、虛擬令牌160和計(jì)算設(shè)備100的其它I/O設(shè)備170,例如鼠標(biāo)、鍵盤、盤驅(qū)動(dòng)器、視頻控制器等。芯片集120可包括存儲(chǔ)器控制器(未示出),用于將數(shù)據(jù)寫入存儲(chǔ)器130或從中讀出數(shù)據(jù)。此外,芯片集120和/或處理器110可將存儲(chǔ)器130的某些區(qū)域定義為受保護(hù)存儲(chǔ)器132,這些區(qū)域只有當(dāng)處于特定的工作模式(例如保護(hù)模式)和特權(quán)級(jí)別(例如,OP)時(shí)才可由處理器110進(jìn)行訪問。
網(wǎng)絡(luò)接口140通常為計(jì)算設(shè)備100提供通信機(jī)制,以經(jīng)由網(wǎng)絡(luò)180與遠(yuǎn)程代理190和認(rèn)證機(jī)構(gòu)195通信。例如,網(wǎng)絡(luò)接口140可包括10Mb或100Mb的以太網(wǎng)控制器、纜線調(diào)制解調(diào)器、數(shù)字用戶線(DSL)調(diào)制解調(diào)器、普通老式電話業(yè)務(wù)(POTS)調(diào)制解調(diào)器等,從而將計(jì)算設(shè)備100耦合到一個(gè)或多個(gè)遠(yuǎn)程代理190和/或認(rèn)證機(jī)構(gòu)195。
總的來說,計(jì)算設(shè)備100的物理令牌150包括用于完整性度量、密鑰和機(jī)密的受保護(hù)存儲(chǔ),并可響應(yīng)于來自處理器110和芯片集120的請(qǐng)求執(zhí)行各種完整性功能。具體地說,物理令牌150可以可信方式來存儲(chǔ)完整性度量,可以可信方式來引用完整性度量,可將機(jī)密對(duì)于特定的環(huán)境(當(dāng)前的或以后的)施行保密,并可將機(jī)密對(duì)于以前施行保密的環(huán)境進(jìn)行解密。此外,后面將進(jìn)行解釋,物理令牌150可包括一個(gè)用于獨(dú)一無二地標(biāo)識(shí)計(jì)算設(shè)備100的標(biāo)識(shí)符或密鑰。
虛擬令牌160以和計(jì)算設(shè)備100的物理令牌150相類似的方式來操作。然而,由于虛擬令牌160可利用存儲(chǔ)器130和受保護(hù)存儲(chǔ)器132的存儲(chǔ)能力來存儲(chǔ)完整性度量、密鑰和機(jī)密,所以虛擬令牌160可包括更多的用于完整性度量、密鑰和機(jī)密的受保護(hù)存儲(chǔ)。此外,由于虛擬令牌160可以利用處理器110的處理能力來執(zhí)行完整性操作,所以虛擬令牌160相比物理令牌150可以更快地執(zhí)行這些完整性操作。
如圖2所示,物理令牌150可包括一個(gè)或多個(gè)處理單元210,它們可為計(jì)算設(shè)備100執(zhí)行完整性功能。物理令牌150還可以根據(jù)非對(duì)稱密碼算法例如RSA密碼算法來生成固定私有密鑰220和對(duì)應(yīng)的固定公開密鑰222。在一個(gè)示例性的實(shí)施例中,物理令牌150生成固定私有/公共密鑰對(duì)220、222,使得固定私有密鑰220和對(duì)應(yīng)的公開密鑰222是獨(dú)一無二的,并且一旦激活就不可改變。
也可以將物理令牌150附接到計(jì)算設(shè)備100上或合并到計(jì)算設(shè)備100當(dāng)中,以向遠(yuǎn)程代理190提供某種保證,確保物理令牌150僅與一個(gè)計(jì)算設(shè)備100相關(guān)聯(lián)。例如,物理令牌150可合并到芯片集120的多個(gè)芯片之一中,和/或表面安裝到計(jì)算設(shè)備100的主板上。由于固定物理令牌150的獨(dú)一無二性,并且它還合并到計(jì)算設(shè)備100中,所以遠(yuǎn)程代理190可以基于物理令牌150的固定公開密鑰222而有一定把握地識(shí)別計(jì)算設(shè)備100。
除了固定私有/公共密鑰對(duì)220、222之外,物理令牌150還可以根據(jù)非對(duì)稱密碼算法來生成一個(gè)或多個(gè)輔助私有/公共密鑰對(duì)230、232。在一個(gè)示例性的實(shí)施例中,盡管固定私有/公共密鑰對(duì)220、222是不可改變的,但是計(jì)算設(shè)備100可以根據(jù)需要生成輔助私有/公共密鑰對(duì)230、232。由此,計(jì)算設(shè)備100一般僅向一小組可信實(shí)體例如遠(yuǎn)程代理190和認(rèn)證機(jī)構(gòu)195提供固定公開密鑰222。此外,計(jì)算設(shè)備100一般使用它的輔助私有/公共密鑰對(duì)230、232來進(jìn)行其它大部分加密、解密和數(shù)字簽名操作,以減少固定公開密鑰222的暴露。
物理令牌150還包括一個(gè)或多個(gè)平臺(tái)配置寄存器(PCR寄存器)240、242、244,它們可被用來以可信方式記錄并報(bào)告完整性度量。處理單元210可支持一種PCR引文操作,該操作返回所標(biāo)識(shí)的PCR寄存器240、242、244的內(nèi)容或引文。處理單元210也可以支持PCR擴(kuò)展操作,所述操作在所標(biāo)識(shí)的PCR寄存器240、242、244中記錄接收到的完整性度量。具體地說,PCR擴(kuò)展操作可以(i)將接收到的完整性度量聯(lián)接或附加到存儲(chǔ)在所標(biāo)識(shí)的PCR寄存器240、242、244中所存儲(chǔ)的一個(gè)完整性度量上,以獲得一個(gè)附加后的完整性度量,(ii)散列(hash)所述附加后的完整性度量,以獲得一個(gè)更新后的完整性度量,其代表了接收到的完整性度量和先前由所標(biāo)識(shí)的PCR寄存器240、242、244記錄的完整性度量,以及(iii)將更新后的完整性度量存儲(chǔ)在PCR寄存器240、242、244中。
用在這里,動(dòng)詞“散列”以及相關(guān)的形式指的是在一個(gè)操作數(shù)或消息上執(zhí)行操作,以產(chǎn)生一個(gè)值或一個(gè)“散列值”。理想情況下,散列操作生成一個(gè)散列值,要想從該散列值中找到具有這個(gè)散列值的消息,在計(jì)算上是不可行的,并且也不可能從該散列值中確定出關(guān)于具有這個(gè)散列值的消息的任何有用信息。此外,散列操作在理想情況下生成散列值,使得要確定兩個(gè)產(chǎn)生同一散列值的消息在計(jì)算上是不可能實(shí)現(xiàn)的。散列操作在理想情況下具有以上性質(zhì),在實(shí)際當(dāng)中,單向函數(shù)例如Message Digest 5函數(shù)(MD5)和Secure Hashing Algorithm(SHA-1)生成一些散列值,要想從中推導(dǎo)出所述消息是很困難的,在計(jì)算上是很密集的和/或在現(xiàn)實(shí)中是不可行的。
可用多種不同的方式來實(shí)現(xiàn)物理令牌150。但是,在一個(gè)示例性的實(shí)施例中,遵循可信平臺(tái)模塊(TPM)的規(guī)范來實(shí)現(xiàn)物理令牌150,所述規(guī)范在可信計(jì)算平臺(tái)聯(lián)盟(TCPA)主規(guī)范,版本1.1,2001年7月31日中做了詳細(xì)描述。
還是參考圖2,虛擬令牌160可提供虛擬結(jié)構(gòu)或軟件結(jié)構(gòu),這些結(jié)構(gòu)提供與物理令牌150類似的功能。具體地說,虛擬令牌160可以包括一個(gè)或多個(gè)處理單元250,這些單元可為計(jì)算設(shè)備100執(zhí)行完整性功能。虛擬令牌160還可以根據(jù)非對(duì)稱密碼算法生成固定私有密鑰260和對(duì)應(yīng)的固定公開密鑰262,使得固定私有密鑰260和對(duì)應(yīng)的公開密鑰262是獨(dú)一無二的,并且一旦激活就不可改變。
除了固定私有/公共密鑰對(duì)260、262之外,虛擬令牌160也可以根據(jù)非對(duì)稱密碼算法生成一個(gè)或多個(gè)輔助私有/公共密鑰對(duì)270、272。虛擬令牌160還可以包括一個(gè)或多個(gè)虛擬PCR寄存器280,這些寄存器可被用于以可信的方式來記錄并報(bào)告完整性度量。
圖3中示出了示例性的可信運(yùn)行環(huán)境300。計(jì)算設(shè)備100可以利用處理器110的工作模式和特權(quán)級(jí)別來建立可信的運(yùn)行環(huán)境300。如圖所示,可信運(yùn)行環(huán)境300可以包括可信虛擬機(jī)內(nèi)核或監(jiān)控器310、一個(gè)或多個(gè)標(biāo)準(zhǔn)虛擬機(jī)(標(biāo)準(zhǔn)VM)320和一個(gè)或多個(gè)可信虛擬機(jī)(可信VM)330。運(yùn)行環(huán)境300的監(jiān)控器310運(yùn)行在最高特權(quán)的處理器環(huán)(例如OP)上的受保護(hù)模式中,以管理虛擬機(jī)320、330之間的安全和特權(quán)屏障。此外,監(jiān)控器310可包括實(shí)現(xiàn)虛擬令牌160的功能的代碼?;蛘?,可用單獨(dú)的VT軟件模塊來實(shí)現(xiàn)虛擬令牌160。
標(biāo)準(zhǔn)VM 320可包括操作系統(tǒng)322和一個(gè)或多個(gè)應(yīng)用程序324,所述操作系統(tǒng)322在VMX模式的最高特權(quán)處理器環(huán)(例如0D)上運(yùn)行,所述應(yīng)用程序324在VMX模式的較低特權(quán)處理器環(huán)(例如3D)上運(yùn)行。因?yàn)楸O(jiān)控器310運(yùn)行所在的處理器環(huán)比操作系統(tǒng)322運(yùn)行所在的處理器環(huán)具有更高的特權(quán),所以操作系統(tǒng)322不具有對(duì)計(jì)算設(shè)備100的隨意控制,相反,卻受到監(jiān)控器310的控制和約束。具體地說,監(jiān)控器310可以防止操作系統(tǒng)322及其應(yīng)用程序324訪問受保護(hù)的存儲(chǔ)器132和物理令牌150。
監(jiān)控器310可以對(duì)可信內(nèi)核332執(zhí)行一種或多種量度,例如內(nèi)核代碼的散列,以獲得一個(gè)或多個(gè)完整性度量,可使得物理令牌150能用內(nèi)核332的完整性度量來擴(kuò)展所標(biāo)識(shí)的PCR寄存器244,并可將所述完整性度量記錄在存儲(chǔ)于受保護(hù)存儲(chǔ)器132中的關(guān)聯(lián)PCR日志中。監(jiān)控器310然后可基于內(nèi)核332的完整性度量來確定它是否信任內(nèi)核332。如果確定內(nèi)核332是值得信任的,則監(jiān)控器310可響應(yīng)于此,在受保護(hù)存儲(chǔ)器132中建立可信VM 330,并在建立起來的可信VM 330中啟動(dòng)可信內(nèi)核332。
類似地,可信內(nèi)核332可對(duì)小應(yīng)用程序(applet)或應(yīng)用程序334進(jìn)行一種或多種量度,例如對(duì)小應(yīng)用程序的代碼進(jìn)行散列,以獲得一個(gè)或多個(gè)完整性度量??尚艃?nèi)核332接著通過監(jiān)控器310使得物理令牌150用小應(yīng)用程序334的完整性度量來擴(kuò)展所標(biāo)識(shí)的PCR寄存器??尚艃?nèi)核332還可以將所述完整性度量記錄在存儲(chǔ)于受保護(hù)存儲(chǔ)器132中的關(guān)聯(lián)PCR日志中??尚艃?nèi)核332可基于小應(yīng)用程序334的完整性度量來確定它是否信任小應(yīng)用程序334。如果確定小應(yīng)用程序334是值得信任的,則可信內(nèi)核332可響應(yīng)于此,在受保護(hù)存儲(chǔ)器132中已建立的可信VM 330中啟動(dòng)可信小應(yīng)用程序334。
如果啟動(dòng)了圖3中的可信運(yùn)行環(huán)境300,則計(jì)算設(shè)備100可響應(yīng)于此,也將對(duì)監(jiān)控器310和虛擬令牌160的完整性度量記錄在監(jiān)控器PCR寄存器240中,還將對(duì)硬件的完整性度量記錄在可信支持(TS)PCR寄存器242中。可響應(yīng)于各種事件而啟動(dòng)可信運(yùn)行環(huán)境300,例如系統(tǒng)啟動(dòng)、應(yīng)用程序請(qǐng)求、操作系統(tǒng)請(qǐng)求等。
在一個(gè)示例性的實(shí)施例中,計(jì)算設(shè)備100如下所述地獲得并記錄對(duì)監(jiān)控器310和虛擬令牌160的完整性度量。處理器110散列監(jiān)控器軟件模塊,以獲得監(jiān)控器完整性度量。然后,處理器110使得物理令牌150利用所述監(jiān)控器完整性度量來擴(kuò)展監(jiān)控器PCR寄存器240,并將所述監(jiān)控器完整性度量記錄在存儲(chǔ)于受保護(hù)存儲(chǔ)器132中的監(jiān)控器PCR日志當(dāng)中。此外,如果虛擬令牌(VT)功能被實(shí)現(xiàn)為單獨(dú)的軟件模塊,則處理器110散列該VT軟件模塊,以獲得VT完整性度量。然后,處理器110使得物理令牌150利用所述VT完整性度量來進(jìn)一步擴(kuò)展監(jiān)控器PCR寄存器240,并將所述VT完整性度量記錄在監(jiān)控器PCR日志中。監(jiān)控器PCR寄存器240現(xiàn)在包括了一個(gè)既代表監(jiān)控器310又代表虛擬令牌160的值。
計(jì)算設(shè)備100還可以將對(duì)硬件的完整性度量記錄在TS PCR寄存器242中,以提供對(duì)可信運(yùn)行環(huán)境的硬件支持的記錄。在一個(gè)示例性的實(shí)施例中,處理器110可以獲得硬件標(biāo)識(shí)符,例如處理器110、芯片集120和物理令牌150的處理器系列、處理器版本、處理器微代碼版本、芯片集版本和物理令牌版本。然后,處理器110可以利用所獲得的硬件標(biāo)識(shí)符來擴(kuò)展TS PCR寄存器242,并將所述硬件標(biāo)識(shí)符記錄在存儲(chǔ)于受保護(hù)的存儲(chǔ)器132中的TS PCR日志中。
除了在物理令牌150中記錄完整性度量之外,計(jì)算設(shè)備100還可以將所記錄的完整性度量報(bào)告給遠(yuǎn)程代理190或認(rèn)證機(jī)構(gòu)195,以使得遠(yuǎn)程代理190和認(rèn)證機(jī)構(gòu)195能夠基于所報(bào)告的完整性度量來做出信任判斷。例如,計(jì)算設(shè)備100可向認(rèn)證機(jī)構(gòu)195提供完整性度量,從而讓認(rèn)證機(jī)構(gòu)195向計(jì)算設(shè)備100簽發(fā)身份證書,該身份證書用于證實(shí)與身份證書所標(biāo)識(shí)的實(shí)體(例如,計(jì)算設(shè)備100)綁定在一起的身份證書的公開密鑰。計(jì)算設(shè)備100可以向遠(yuǎn)程代理190提供所簽發(fā)的身份證書,從而從該遠(yuǎn)程代理190處獲得機(jī)密。然后,遠(yuǎn)程代理190可以確定是否向身份證書所標(biāo)識(shí)的實(shí)體公開機(jī)密。如果遠(yuǎn)程代理190決定向所述身份證書所標(biāo)識(shí)的實(shí)體公開機(jī)密,則遠(yuǎn)程代理190可以用所述身份證書的公開密鑰來加密所請(qǐng)求的機(jī)密,并向發(fā)出請(qǐng)求的實(shí)體提供加密后的機(jī)密。
在一個(gè)示例性的實(shí)施例中,認(rèn)證機(jī)構(gòu)195可以向計(jì)算設(shè)備100的輔助公開密鑰232簽發(fā)物理令牌-(PT)身份證書。在簽發(fā)該P(yáng)T身份證書時(shí),認(rèn)證機(jī)構(gòu)195主要證實(shí)該P(yáng)T身份證書的輔助公開密鑰232屬于該P(yáng)T身份證書所標(biāo)識(shí)的物理令牌150。所述PT身份證書可以包括該P(yáng)T身份證書的身份標(biāo)簽、與這個(gè)PT身份證書綁定在一起的輔助公開密鑰232、PT背書證書的引用、平臺(tái)證書的引用、一致性證書的引用、以及物理令牌150的版本標(biāo)識(shí)符,這些都由簽發(fā)PT身份證書的認(rèn)證機(jī)構(gòu)195的私有密鑰CAPriv來加密。
PT身份證書所引用的PT背書證書、平臺(tái)證書和一致性證書都是認(rèn)證機(jī)構(gòu)195簽發(fā)的證書,它們用于證實(shí)計(jì)算設(shè)備100的多個(gè)完整性方面,并提供用于支持這種證實(shí)的信息。具體地說,PT背書證書證實(shí)該P(yáng)T背書證書的固定公開密鑰232是由所識(shí)別出的物理令牌150生成的,并且所識(shí)別出的物理令牌150滿足為適當(dāng)?shù)奈锢砹钆?50而定義的標(biāo)準(zhǔn)。類似地,平臺(tái)證書主要證實(shí)與所引用的PT背書證書綁定在一起的平臺(tái)或計(jì)算設(shè)備100所具有的設(shè)計(jì)和構(gòu)造滿足為適當(dāng)?shù)钠脚_(tái)所定義的標(biāo)準(zhǔn)。此外,一致性證書用于證實(shí)與所引用的PT背書證書綁定在一起的平臺(tái)或計(jì)算設(shè)備100所具有的總體設(shè)計(jì)符合為適當(dāng)?shù)钠脚_(tái)所定義的標(biāo)準(zhǔn)。
可以多種不同方式來實(shí)現(xiàn)并簽發(fā)PT身份證書、PT背書證書、平臺(tái)證書和一致性證書。然而,在一個(gè)示例性的實(shí)施例中,所實(shí)施并簽發(fā)的PT身份證書、PT背書證書、平臺(tái)證書和一致性證書分別遵循在2001年7月31日發(fā)布的TCPA主規(guī)范,版本1.1中所具體描述的“身份證書”、“TPM背書證書”、“平臺(tái)證書”和“一致性證書”的要求。
現(xiàn)在參考圖4,描繪了一種方法400,該方法用于從所選擇的認(rèn)證機(jī)構(gòu)195處獲得VT背書證書。計(jì)算設(shè)備100可以響應(yīng)于各種事件而執(zhí)行方法400,所述事件例如是監(jiān)控器310、標(biāo)準(zhǔn)VM 320、可信VM 330、遠(yuǎn)程代理190和/或認(rèn)證機(jī)構(gòu)195請(qǐng)求計(jì)算設(shè)備100建立虛擬令牌160及相應(yīng)的VT背書證書。在簽發(fā)VT背書證書時(shí),所選擇的認(rèn)證機(jī)構(gòu)195證實(shí)該VT背書證書的固定公開密鑰262與虛擬令牌160綁定,該虛擬令牌160與所述計(jì)算設(shè)備100綁定并唯一地標(biāo)識(shí)它,并且所述虛擬令牌160滿足為適當(dāng)?shù)奶摂M令牌所定義的標(biāo)準(zhǔn)。
計(jì)算設(shè)備100和所選擇的認(rèn)證機(jī)構(gòu)195可以響應(yīng)于執(zhí)行機(jī)器可讀介質(zhì)的指令而執(zhí)行方法400的所有步驟或其中一部分,所述機(jī)器可讀介質(zhì)例如是只讀存儲(chǔ)器(ROM)、隨機(jī)訪問存儲(chǔ)器(RAM)、磁盤存儲(chǔ)介質(zhì)、光盤存儲(chǔ)介質(zhì)、閃存器件、和/或以電、光、聲或其它形式傳播的信號(hào),例如載波、紅外信號(hào)、數(shù)字信號(hào)、模擬信號(hào)。另外,雖然方法400將計(jì)算設(shè)備100和所選擇的認(rèn)證機(jī)構(gòu)195的操作圖示為一序列的操作,但是計(jì)算設(shè)備100和所選擇的認(rèn)證機(jī)構(gòu)195可以并行地或以不同的順序來執(zhí)行多種不同的操作。
在框410,響應(yīng)于一個(gè)請(qǐng)求,監(jiān)控器310生成和/或獲得被提供給物理令牌150的參數(shù),其中所述請(qǐng)求是請(qǐng)求物理令牌150證實(shí)監(jiān)控器310的身份,將接收的參數(shù)聯(lián)系到所述請(qǐng)求,并證實(shí)計(jì)算設(shè)備100的當(dāng)前硬件和/或軟件環(huán)境。在框418,監(jiān)控器310可通過執(zhí)行請(qǐng)求函數(shù)例如TPM_VirtualTPMCredential函數(shù)來對(duì)物理令牌150做出這一請(qǐng)求。下面示出了示例性的TPM_VirtualTPMCredential函數(shù)的格式TPM_VirtualTPMCredential(SigH,MQuote,CertM1,H2,AllPCRQuote)其中,被簽名的散列值SigH是一個(gè)輸入?yún)?shù),而參數(shù)MQuote、CertM1、H2、AllPCRQuote是由物理令牌150提供的輸出參數(shù)。
被簽名的散列值SigH向物理令牌150提供一個(gè)值,這個(gè)值標(biāo)識(shí)出VT公開密鑰262、物理令牌150的PT身份證書PTIdCred和所選擇的認(rèn)證機(jī)構(gòu)195的公開密鑰CAPub。例如,監(jiān)控器310可生成一個(gè)數(shù)據(jù)集,其包括有VT公開密鑰262、PT身份證書PTIdCred和公開密鑰CAPub,并可用VT私有密鑰260對(duì)該數(shù)據(jù)集進(jìn)行加密,以獲得被簽名的數(shù)據(jù)集SigDS。然后,監(jiān)控器310可以通過SHA-1散列算法或其它一些算法來散列這個(gè)被簽名的數(shù)據(jù)集SigDS,以獲得被簽名的散列值SigH,用于證實(shí)、對(duì)之取指紋或者標(biāo)識(shí)VT公開密鑰262、PT身份證書PTIdCred和公開密鑰CAPub。
響應(yīng)于所述請(qǐng)求,物理令牌150在框422中向監(jiān)控器310提供用于證實(shí)監(jiān)控器310的身份、VT公開密鑰262和PT身份證書PTIdCred并且證實(shí)計(jì)算設(shè)備100的當(dāng)前硬件和/或軟件環(huán)境的信息。例如,響應(yīng)于示例性的TPM_VirtualTPMCredential函數(shù),物理令牌150向監(jiān)控器310提供認(rèn)證消息CertM1,被簽名的索引MQuote,所有PT PCR寄存器240、242、244的引文AllPCRQuote,以及具備唯一性并用于證實(shí)其它參數(shù)的散列值H2。物理令牌150可通過利用與PT身份證書PTIdCred相關(guān)聯(lián)的輔助私有密鑰230來加密用于標(biāo)識(shí)物理令牌150的監(jiān)控器PCR寄存器240的索引MPCR,從而生成被簽名的索引MQuote。
在一個(gè)示例性的實(shí)施例中,物理令牌150基于以下消息格式來生成認(rèn)證消息CertM1CertM1=(Format1,H1,H2)CAPub這表示認(rèn)證消息CertM1包括由公開密鑰CAPub加密的散列值H1和所述散列值H2。格式參數(shù)Format1可以包括預(yù)定義的ASCII字符串,例如“PT_CertM1”,其用于將所述消息標(biāo)識(shí)為由物理令牌150創(chuàng)建的認(rèn)證消息CertM1。公開密鑰CAPub對(duì)應(yīng)于所選擇的認(rèn)證機(jī)構(gòu)195的公開密鑰,它可能已經(jīng)應(yīng)監(jiān)控器310的請(qǐng)求而提供,或先前已提供給物理令牌150。
散列值H1用于標(biāo)識(shí)VT公開密鑰262、PT身份證書PTIdCred和公開密鑰CAPub,并具備唯一性以利于防止重放(replay)攻擊。在一個(gè)示例性的實(shí)施例中,物理令牌150生成一個(gè)隨機(jī)現(xiàn)時(shí)值Noncel,例如由它的處理單元210的隨機(jī)數(shù)發(fā)生器生成的160位隨機(jī)值。然后,物理令牌150可通過根據(jù)某種散列算法例如SHA-1散列算法,散列從監(jiān)控器310接收的被簽名的散列值SigH以及所生成的隨機(jī)現(xiàn)時(shí)值Noncel,從而生成散列值H1。
散列值H2證實(shí)散列值H1、索引MPCR、被簽名的索引MPCR,并具備唯一性。在一個(gè)示例性的實(shí)施例中,物理令牌150可通過對(duì)散列值H1、索引MPCR和被簽名的索引MQuote進(jìn)行散列而生成散列值H2,從而將散列值H1聯(lián)系到索引MPCR和被簽名的索引MQuote。此外,因?yàn)樯⒘兄礖2包括散列值H1,所以散列值H2還證實(shí)VT公開密鑰262、PT身份證書PTIdCred和公開密鑰CAPub,因而還將這些參數(shù)聯(lián)系到索引MPCR和被簽名的索引MPCR。此外,散列值H2通過散列值H1的隨機(jī)現(xiàn)時(shí)值Noncel而包括唯一性。
監(jiān)控器310在框426中可生成證書請(qǐng)求包CredP1,其向認(rèn)證機(jī)構(gòu)195提供信息,認(rèn)證機(jī)構(gòu)195可從所述信息決定簽發(fā)VT背書證書。在一個(gè)示例性的實(shí)施例中,物理令牌150基于以下的包格式來生成證書請(qǐng)求包CredP1CredP1=(EDS1,CredM1·CAPub)這表示證書請(qǐng)求包CredP1包括用所選擇的認(rèn)證機(jī)構(gòu)195的公開密鑰CAPub進(jìn)行加密的證書請(qǐng)求消息CredM1以及不是用公開密鑰CAPub進(jìn)行加密的加密數(shù)據(jù)集EDS1。
加密數(shù)據(jù)集EDS1提供關(guān)于計(jì)算設(shè)備100的信息。在一個(gè)示例性的實(shí)施例中,監(jiān)控器310生成數(shù)據(jù)集DS1,該數(shù)據(jù)集包括認(rèn)證消息CertM1,VT公開密鑰262,PT身份證書PTIdCred,用于標(biāo)識(shí)TS PCR寄存器242的索引TSPCR,PCR寄存器240、242、244的引文AllPCRQuote以及PCR寄存器240、242、244的日志AllPCRLog。監(jiān)控器310還生成會(huì)話密鑰S1,并使用會(huì)話密鑰S1和對(duì)稱加密算法例如DES、3DES和/或AES對(duì)數(shù)據(jù)集DS1進(jìn)行加密。
證書請(qǐng)求消息CredM1證實(shí)加密數(shù)據(jù)集EDS1的信息,并提供用于加密/解密所述加密數(shù)據(jù)集EDS1的會(huì)話密鑰S1。在一個(gè)示例性的實(shí)施例中,監(jiān)控器310基于下列消息格式生成證書請(qǐng)求消息CredM1CredM1=(Format2,H2,H3,S1)CAPub這表示證書請(qǐng)求消息CredM1包括格式參數(shù)Format2、由物理令牌150提供的散列值H2、另一個(gè)散列值H3和會(huì)話密鑰S1,上述信息都用所選擇的認(rèn)證機(jī)構(gòu)195的公開密鑰CAPub進(jìn)行加密。
格式參數(shù)Format2可包括預(yù)定義的ASCII字符串,例如“Mon_CredM1”,其用于將所述消息標(biāo)識(shí)為由監(jiān)控器310創(chuàng)建的證書請(qǐng)求消息。散列值H3用于證實(shí)數(shù)據(jù)集DS1的數(shù)據(jù)。監(jiān)控器310可通過使用散列算法或其它某種算法來散列數(shù)據(jù)集DS1的參數(shù),從而生成散列值H3。在一個(gè)示例性的實(shí)施例中,監(jiān)控器31使用SHA-1散列算法來散列證書消息CredM1、VT公開密鑰262、PT身份證書PTIdCred、索引TSPCR、引文AllPCRQuote以及日志AllPCRLog。
在框430中,監(jiān)控器310可以請(qǐng)求所選擇的認(rèn)證機(jī)構(gòu)195向虛擬令牌160簽發(fā)VT背書證書,并且可以將證書請(qǐng)求包CredP1傳送到所選擇的認(rèn)證機(jī)構(gòu)195以支持所述請(qǐng)求。在一個(gè)示例性的實(shí)施例中,作為一個(gè)事務(wù)(transaction)的一部分,監(jiān)控器310將證書請(qǐng)求包CredP1傳送到認(rèn)證機(jī)構(gòu)195,該事務(wù)可以提供有關(guān)所述請(qǐng)求的進(jìn)一步信息,例如所使用的加密算法、所使用的散列算法、所使用的證書請(qǐng)求包格式等。
在框434中,認(rèn)證機(jī)構(gòu)195可以拆分所述證書請(qǐng)求包CredP1,以獲得由該證書請(qǐng)求包CredP1提供的信息。例如,認(rèn)證機(jī)構(gòu)195可以使用它相應(yīng)的私有密鑰CAPriv來解密證書請(qǐng)求包CredP1,以得到會(huì)話密鑰S1和證書請(qǐng)求包CredP1的其它信息。認(rèn)證機(jī)構(gòu)195還可以使用認(rèn)證消息CertM1的會(huì)話密鑰S1來解密所述加密數(shù)據(jù)集EDS1,從而獲得數(shù)據(jù)集DS1的數(shù)據(jù)。認(rèn)證機(jī)構(gòu)195還可以使用它的私有密鑰CAPriv來解密認(rèn)證消息CertM1和證書請(qǐng)求消息CredM1。
在框438,認(rèn)證機(jī)構(gòu)195可以驗(yàn)證證書請(qǐng)求包CredP1所提供的信息。例如,認(rèn)證機(jī)構(gòu)195可以由數(shù)據(jù)集DS1所提供的參數(shù)來重新計(jì)算散列值H1、H2、H3,以獲得計(jì)算后的散列值CH1、CH2、CH3。然后,如果計(jì)算后的散列值CH1、CH2、CH3與所提供的散列值H1、H2、H3具有預(yù)定的關(guān)系(例如,相等),則認(rèn)證機(jī)構(gòu)195響應(yīng)于此,可以確定數(shù)據(jù)集DS1的數(shù)據(jù)正是散列值H1、H2、H3證實(shí)的參數(shù)。
如果確定證書請(qǐng)求包CredP1所提供的信息不對(duì)應(yīng)于該證書請(qǐng)求包CredP1的散列值H1、H2、H3,則響應(yīng)于此,認(rèn)證機(jī)構(gòu)195在框442可以拒絕簽發(fā)所請(qǐng)求的VT背書證書。認(rèn)證機(jī)構(gòu)195還可以向計(jì)算設(shè)備100提供關(guān)于為什么拒絕對(duì)VT背書證書VTCred的請(qǐng)求的指示。在一個(gè)示例性的實(shí)施例中,認(rèn)證機(jī)構(gòu)195不提供有關(guān)為什么拒絕請(qǐng)求的任何指示,以防止提供可被用來規(guī)避認(rèn)證過程的信息。
如果確定證書請(qǐng)求包CredP1所提供的信息對(duì)應(yīng)于該證書請(qǐng)求包CredP1的散列值H1、H2、H3,則響應(yīng)于此,認(rèn)證機(jī)構(gòu)195在框446可以基于PT身份證書參數(shù)PTIdCred來確定它是否不信任物理令牌150。認(rèn)證機(jī)構(gòu)195可能由以下原因而確定虛擬令牌160是不值得信任的所識(shí)別出的物理令牌150的版本已知為易受攻擊的、PT身份證書已過期、和/或PT身份證書所標(biāo)識(shí)的實(shí)體是不值得信任的。認(rèn)證機(jī)構(gòu)195還可以由以下原因而確定虛擬令牌160是不值得信任的簽發(fā)PT身份證書的認(rèn)證機(jī)構(gòu)195是不值得信任的、所引用的平臺(tái)一致性證書是不值得信任的、和/或所引用的一致性證書是不值得信任的。
如果基于PT身份證書參數(shù)PTIdCred而不信任虛擬令牌160,則響應(yīng)于此,認(rèn)證機(jī)構(gòu)195在框442可以拒絕簽發(fā)所請(qǐng)求的VT背書證書。否則,認(rèn)證機(jī)構(gòu)195在框450中可以基于監(jiān)控器PCR寄存器240的引文以及它對(duì)應(yīng)的PCR日志來確定認(rèn)證機(jī)構(gòu)195是否不信任計(jì)算設(shè)備100的虛擬令牌160。如上所述,監(jiān)控器PCR寄存器240記錄監(jiān)控器310和虛擬令牌160的完整性度量。此外,監(jiān)控器PCR日志包括被監(jiān)控器PCR寄存器240記錄的完整性度量。因此,認(rèn)證機(jī)構(gòu)195可以基于證書請(qǐng)求包CredP1的索引MPCR,從引文AllPCRQuote和日志AllPCRLog中獲得監(jiān)控器PCR寄存器240的引文和日志。然后,認(rèn)證機(jī)構(gòu)195可確定監(jiān)控器PCR寄存器240的引文和日志是否指示出監(jiān)控器310的一種可信任實(shí)現(xiàn)。
如果基于監(jiān)控器PCR寄存器240的引文和日志而不信任虛擬令牌160,則響應(yīng)于此,認(rèn)證機(jī)構(gòu)195在框442可以拒絕簽發(fā)所請(qǐng)求的VT背書證書。否則,認(rèn)證機(jī)構(gòu)195在框454可以基于TS PCR寄存器242的引文以及它對(duì)應(yīng)的PCR日志來確定認(rèn)證機(jī)構(gòu)195是否不信任計(jì)算設(shè)備100的虛擬令牌160。如上所述,TS PCR寄存器242記錄對(duì)計(jì)算設(shè)備100的硬件組件的完整性度量,從中可以確定可信的環(huán)境支持能力。此外,TS PCR日志包括由TS PCR寄存器242記錄的完整性度量。因此,認(rèn)證機(jī)構(gòu)195可以基于證書請(qǐng)求包CredP1的索引TSPCR,從引文AllPCRQuote和日志AllPCRLog中獲得TS PCR寄存器242的引文和日志。然后,認(rèn)證機(jī)構(gòu)195可以確定TS PCR寄存器242的引文和日志是否指示了可信的硬件組件。
如果基于TS PCR寄存器242的引文和/或日志而不信任虛擬令牌160,則響應(yīng)于此,認(rèn)證機(jī)構(gòu)195在框442可以拒絕簽發(fā)所請(qǐng)求的VT背書證書。否則,認(rèn)證機(jī)構(gòu)195在框458可以基于證書請(qǐng)求包CredP1的附加信息來確定是否不信任計(jì)算設(shè)備100的虛擬令牌160。例如,認(rèn)證機(jī)構(gòu)195可以基于由證書請(qǐng)求包CredP1的引文AllPCRQuote和日志AllPCRLog提供的其它PCR寄存器244的引文和/或日志來確定對(duì)虛擬令牌160的不信任。
如果基于所述附加信息而不信任虛擬令牌160,則響應(yīng)于此,認(rèn)證機(jī)構(gòu)195在框442可以拒絕簽發(fā)VT背書證書。否則,認(rèn)證機(jī)構(gòu)195在框462可以向監(jiān)控器310提供所請(qǐng)求的VT背書證書。為此,認(rèn)證機(jī)構(gòu)195可以生成VT背書證書,其包括用于將該證書標(biāo)識(shí)為VT背書證書的標(biāo)簽、虛擬令牌160的固定公開密鑰262、對(duì)認(rèn)證機(jī)構(gòu)195的引用,以及關(guān)于計(jì)算設(shè)備100、物理令牌150和/或虛擬令牌160的其它可能信息。然后,認(rèn)證機(jī)構(gòu)195可以用它的私有密鑰CAPub給VT背書證書進(jìn)行數(shù)字簽名,并且還用虛擬令牌160的公開密鑰262對(duì)被簽名的背書證書加密。
計(jì)算設(shè)備100隨后可以向遠(yuǎn)程代理190提供所獲得的VT背書證書,以證實(shí)該VT背書證書的固定公開密鑰262被綁定到計(jì)算設(shè)備100。此外,計(jì)算設(shè)備100可以利用VT背書證書從所選擇的認(rèn)證機(jī)構(gòu)195中獲得VT身份證書,這些VT身份證書用于證實(shí)輔助公開密鑰272被綁定到計(jì)算設(shè)備100。認(rèn)證機(jī)構(gòu)195可以用類似于上述PT身份證書的方式來簽發(fā)VT身份證書。
應(yīng)當(dāng)理解,上述方法400僅是一個(gè)示例性的方法。例如,方法400利用一些技術(shù)克服了典型的非對(duì)稱密碼算法的大小限制。非對(duì)稱密碼算法一般只能成功地對(duì)某些數(shù)據(jù)或數(shù)據(jù)集進(jìn)行加密,這些數(shù)據(jù)或數(shù)據(jù)集的大小要小于或等于該非對(duì)稱密碼算法的模數(shù)(modulus)所定義的最大尺寸。一種克服非對(duì)稱密碼算法的大小限制的方法就是生成用于對(duì)稱算法的會(huì)話密鑰,使用該會(huì)話密鑰和所述對(duì)稱算法對(duì)數(shù)據(jù)集進(jìn)行加密,并且使用非對(duì)稱密鑰和非對(duì)稱加密算法來加密所述會(huì)話密鑰。隨后可由使用對(duì)應(yīng)的非對(duì)稱密鑰和非對(duì)稱算法而獲取的會(huì)話密鑰來解密所述數(shù)據(jù)集。這樣,就通過非對(duì)稱密鑰和非對(duì)稱加密算法對(duì)數(shù)據(jù)集進(jìn)行了有效地加密。
另一種克服非對(duì)稱密碼算法的大小限制的方法則是生成一個(gè)或多個(gè)用于證實(shí)包含在數(shù)據(jù)集中的數(shù)據(jù)的散列值,并對(duì)所述一個(gè)或多個(gè)所生成的散列值進(jìn)行非對(duì)稱加密。一個(gè)實(shí)體(例如,認(rèn)證機(jī)構(gòu)195)可以非對(duì)稱地解密這些散列值,從所接收的數(shù)據(jù)集中算出計(jì)算后的散列值,并且如果計(jì)算后的散列值與解密后的散列值具有預(yù)定的關(guān)系(例如,相等),則響應(yīng)于此,確定所接收的數(shù)據(jù)集就是解密后的散列值所證實(shí)的數(shù)據(jù)集。
另外一種克服所述大小限制的方法是將數(shù)據(jù)集分割為若干數(shù)據(jù)子集,這些子集都小于非對(duì)稱密碼算法的最大尺寸。然后,可以使用非對(duì)稱密鑰和非對(duì)稱算法來逐個(gè)加密各數(shù)據(jù)子集。隨后,一個(gè)實(shí)體(例如,認(rèn)證機(jī)構(gòu)195)可以使用對(duì)應(yīng)的非對(duì)稱密鑰來解密每一個(gè)子集,并由這些數(shù)據(jù)子集重建該數(shù)據(jù)集。
應(yīng)當(dāng)理解,根據(jù)數(shù)據(jù)集的大小和所使用的加密算法的大小限制,可以實(shí)現(xiàn)方法400來使用以上技術(shù)中的一些技術(shù),也可不使用它們。此外,應(yīng)當(dāng)理解,所描述的方法400也使用散列值(例如,H1、H2、H3)來減小各組件(例如,監(jiān)控器和物理令牌150)和/或各實(shí)體(計(jì)算設(shè)備100和認(rèn)證機(jī)構(gòu)195)之間的流量,所述散列值是較大數(shù)據(jù)集(例如160KByte)的壓縮表示(例如,160比特)。然而,應(yīng)當(dāng)理解的是,總的來說,可以用散列值所代表的數(shù)據(jù)集的傳送來代替散列值的生成和/或傳送。
例如,監(jiān)控器310可向物理令牌150提供由被簽名的散列值SigH來表示的數(shù)據(jù)集的一個(gè)或多個(gè)部分(例如,VT公開密鑰262、PT身份證書PTIdCred、和/或公開密鑰CAPub)。因此,被簽名的散列值SigH的生成和傳送,或者在被簽名的散列值SigH中包含數(shù)據(jù)集的那些部分,這些操作都可以被消除。然后,如上所述,物理令牌150可以通過認(rèn)證消息CertM1的散列值H1、H2來證實(shí)數(shù)據(jù)集的已接收部分?;蛘撸锢砹钆?50可以通過將數(shù)據(jù)集的所接收部分中的一個(gè)或多個(gè)包括在認(rèn)證消息CertM1中,而證實(shí)數(shù)據(jù)集的所接收部分。這樣,就可消除認(rèn)證消息CertM1的散列值H1、H2,或者不必包含數(shù)據(jù)集中的某些部分就可以生成認(rèn)證消息CertM1的散列值H1、H2,其中所述數(shù)據(jù)集中的某些部分僅通過包含在認(rèn)證消息CertM1中就可以被證實(shí)。應(yīng)當(dāng)理解,如果認(rèn)證消息CertM1包括數(shù)據(jù)而不是該數(shù)據(jù)的散列值,那么由于認(rèn)證機(jī)構(gòu)195可以從認(rèn)證消息CertM1中獲得該數(shù)據(jù),所以可從數(shù)據(jù)集DS1中消除這樣的數(shù)據(jù)。
雖然已參考示例性的實(shí)施例對(duì)本發(fā)明的某些特點(diǎn)進(jìn)行了描述,但是不應(yīng)將這些描述理解為限制性的含義。對(duì)于本發(fā)明所屬領(lǐng)域的技術(shù)人員而言,可以對(duì)所述示例性的實(shí)施例、以及本發(fā)明的其它實(shí)施例做出各種修改,這些修改都被視為落入本發(fā)明的精神和范圍之內(nèi)。
權(quán)利要求
1.一種方法,包括接收由計(jì)算設(shè)備的物理令牌生成的認(rèn)證消息,該認(rèn)證消息用于證實(shí)與所述計(jì)算設(shè)備的虛擬令牌相關(guān)聯(lián)的公開密鑰以及所述物理令牌;以及請(qǐng)求某一實(shí)體基于所述認(rèn)證消息,為和所述虛擬令牌相關(guān)聯(lián)的所述公開密鑰簽發(fā)證書。
2.如權(quán)利要求1所述的方法,其中的接收包括接收由所述實(shí)體的公開密鑰進(jìn)行加密的認(rèn)證消息,并且該認(rèn)證消息包括與所述虛擬令牌相關(guān)聯(lián)的所述公開密鑰、以及簽發(fā)給所述物理令牌的證書這二者的散列值。
3.如權(quán)利要求2所述的方法,其中的請(qǐng)求包括向所述實(shí)體發(fā)送所述認(rèn)證消息、與所述虛擬令牌有關(guān)的所述公開密鑰、以及簽發(fā)給所述物理令牌的所述證書。
4.如權(quán)利要求3所述的方法,其中的請(qǐng)求還包括向所述實(shí)體發(fā)送一個(gè)或多個(gè)來自所述物理令牌的完整性度量引文、以及與該完整性度量引文有關(guān)的一個(gè)或多個(gè)日志。
5.如權(quán)利要求1所述的方法,還包括用一種對(duì)稱密碼算法的會(huì)話密鑰來加密一個(gè)或多個(gè)完整性度量引文,以獲得第一加密參數(shù);用與所述實(shí)體有關(guān)的公開密鑰來加密所述認(rèn)證消息和會(huì)話密鑰,以獲得第二加密參數(shù);其中的請(qǐng)求包括向所述實(shí)體發(fā)送所述第一加密參數(shù)和第二加密參數(shù)。
6.如權(quán)利要求1所述的方法,其中的接收包括接收由所述實(shí)體的公開密鑰進(jìn)行加密的認(rèn)證消息,該認(rèn)證消息包括用于證實(shí)與所述虛擬令牌相關(guān)聯(lián)的公開密鑰以及簽發(fā)給所述物理令牌的證書的散列值。
7.如權(quán)利要求1所述的方法,其中的接收包括接收由所述實(shí)體的公開密鑰進(jìn)行加密的認(rèn)證消息,該認(rèn)證消息包括與所述虛擬令牌有關(guān)的公開密鑰以及簽發(fā)給所述物理令牌的證書。
8.一種用于計(jì)算設(shè)備的物理令牌,包括寄存器,用于記錄對(duì)所述計(jì)算設(shè)備的虛擬令牌進(jìn)行量度的完整性度量,和一個(gè)或多個(gè)處理單元,用于生成隨機(jī)數(shù)以及指定所述寄存器的認(rèn)證消息,該認(rèn)證消息由某一實(shí)體的密鑰進(jìn)行加密,并且基于所述隨機(jī)數(shù)而具有唯一性。
9.如權(quán)利要求8所述的物理令牌,其中所述一個(gè)或多個(gè)處理單元生成所述認(rèn)證消息,使得該認(rèn)證消息還包括用于標(biāo)識(shí)與所述虛擬令牌相關(guān)聯(lián)的密鑰以及簽發(fā)給所述物理令牌的證書的散列值。
10.如權(quán)利要求8所述的物理令牌,其中所述一個(gè)或多個(gè)處理單元生成所述認(rèn)證消息,使得該認(rèn)證消息還標(biāo)識(shí)與所述虛擬令牌有關(guān)的密鑰以及簽發(fā)給所述物理令牌的證書。
11.如權(quán)利要求8所述的物理令牌,其中所述完整性度量包括虛擬機(jī)監(jiān)控器的散列值,所述虛擬機(jī)監(jiān)控器包括所述虛擬令牌。
12.如權(quán)利要求8所述的物理令牌,其中所述認(rèn)證消息包括一個(gè)或多個(gè)散列值,這些散列值用于證實(shí)與所述虛擬令牌有關(guān)的密鑰、簽發(fā)給所述物理令牌的所述證書、以及指定所述寄存器的索引。
13.一種計(jì)算設(shè)備,包括虛擬令牌,用于記錄完整性度量;物理令牌,用于記錄量度所述虛擬令牌的完整性度量,并且生成用于證實(shí)所述完整性度量的認(rèn)證消息,所述認(rèn)證消息由某一實(shí)體的非對(duì)稱密鑰進(jìn)行加密,并且具有唯一性;和處理器,用于請(qǐng)求所述實(shí)體基于所述認(rèn)證消息,為與所述虛擬令牌相關(guān)聯(lián)的非對(duì)稱密鑰簽發(fā)證書。
14.如權(quán)利要求13所述的計(jì)算設(shè)備,其中所述物理令牌生成所述認(rèn)證消息,使得該認(rèn)證消息標(biāo)識(shí)與所述虛擬令牌相關(guān)聯(lián)的非對(duì)稱密鑰以及簽發(fā)給所述物理令牌的證書,并且所述處理器向所述實(shí)體發(fā)送所述認(rèn)證消息、與所述虛擬令牌相關(guān)聯(lián)的非對(duì)稱密鑰、以及簽發(fā)給所述物理令牌的證書。
15.如權(quán)利要求14所述的計(jì)算設(shè)備,其中所述處理器還發(fā)送一個(gè)或多個(gè)來自所述物理令牌的完整性度量引文、以及與該完整性度量引文相關(guān)聯(lián)的一個(gè)或多個(gè)日志。
16.如權(quán)利要求13所述的計(jì)算設(shè)備,其中,所述處理器向所述實(shí)體發(fā)送對(duì)稱密鑰,該對(duì)稱密鑰是用所述實(shí)體的非對(duì)稱密鑰進(jìn)行加密的,并且向所述實(shí)體發(fā)送認(rèn)證消息、與所述虛擬令牌相關(guān)聯(lián)的非對(duì)稱密鑰以及簽發(fā)給所述物理令牌的證書,上述三項(xiàng)信息都用所述對(duì)稱密鑰加密。
17.一種計(jì)算設(shè)備,包括物理令牌,用于生成認(rèn)證消息,以證實(shí)所述計(jì)算設(shè)備的運(yùn)行環(huán)境、以及簽發(fā)給所述物理令牌的證書;和包括虛擬令牌的虛擬機(jī)監(jiān)控器,所述虛擬令牌用于進(jìn)一步證實(shí)所述運(yùn)行環(huán)境,其中,所述虛擬機(jī)監(jiān)控器請(qǐng)求所述物理令牌提供所述認(rèn)證消息,使得該認(rèn)證消息被傳送到某一實(shí)體,并響應(yīng)于將所述認(rèn)證消息傳送到所述實(shí)體而接收用于所述虛擬令牌的證書。
18.如權(quán)利要求17所述的計(jì)算設(shè)備,其中所述物理令牌生成所述認(rèn)證消息,使得該認(rèn)證消息還包括一個(gè)或多個(gè)散列值,這些散列值用于標(biāo)識(shí)與所述虛擬令牌相關(guān)聯(lián)的公開密鑰以及簽發(fā)給所述物理令牌的證書。
19.如權(quán)利要求17所述的計(jì)算設(shè)備,其中所述物理令牌生成所述認(rèn)證消息,使得該認(rèn)證消息還包括與所述虛擬令牌相關(guān)聯(lián)的公開密鑰以及簽發(fā)給所述物理令牌的證書。
20.如權(quán)利要求17所述的計(jì)算設(shè)備,其中所述物理令牌將所述認(rèn)證消息生成為包括代表所述虛擬機(jī)監(jiān)控器的完整性度量。
21.如權(quán)利要求17所述的計(jì)算設(shè)備,其中所述物理令牌和虛擬令牌通過提供所記錄完整性度量的引文來證實(shí)所述運(yùn)行環(huán)境,并且所述虛擬機(jī)監(jiān)控器還向所述實(shí)體提供所記錄的完整性度量的一個(gè)或多個(gè)引文。
22.一種方法,包括接收一個(gè)請(qǐng)求,該請(qǐng)求用于使得向計(jì)算設(shè)備的虛擬令牌簽發(fā)證書;基于所述請(qǐng)求的信息來確定所述虛擬令牌是否滿足對(duì)適當(dāng)?shù)奶摂M令牌的標(biāo)準(zhǔn);以及如果確定所述虛擬令牌滿足所述標(biāo)準(zhǔn),則響應(yīng)于此,向所述計(jì)算設(shè)備的虛擬令牌簽發(fā)所述證書。
23.如權(quán)利要求22所述的方法,其中的確定包括分析已被簽發(fā)給所述計(jì)算設(shè)備的物理令牌的、由所述請(qǐng)求提供的證書。
24.如權(quán)利要求23所述的方法,其中的確定還包括分析代表所述計(jì)算設(shè)備的虛擬令牌的完整性度量。
25.如權(quán)利要求24所述的方法,其中的確定還包括分析一個(gè)完整性度量,該完整性度量依賴于包括所述虛擬令牌的監(jiān)控器的散列值。
26.一種包括指令的機(jī)器可讀介質(zhì),這些指令在被執(zhí)行時(shí),導(dǎo)致計(jì)算設(shè)備生成認(rèn)證消息,該認(rèn)證消息用于證實(shí)計(jì)算設(shè)備的物理令牌和運(yùn)行環(huán)境;并且請(qǐng)求某一實(shí)體基于所述認(rèn)證消息,向所述計(jì)算設(shè)備的虛擬令牌簽發(fā)證書。
27.如權(quán)利要求26所述的機(jī)器可讀介質(zhì),其中,所述指令在被執(zhí)行時(shí),還導(dǎo)致所述計(jì)算設(shè)備生成所述認(rèn)證消息,使得該認(rèn)證消息包括用于證實(shí)與所述虛擬令牌相關(guān)聯(lián)的公開密鑰的散列值。
28.如權(quán)利要求27所述的機(jī)器可讀介質(zhì),其中,所述指令在被執(zhí)行時(shí),還導(dǎo)致所述計(jì)算設(shè)備生成所述認(rèn)證消息,使得該認(rèn)證消息是由所述實(shí)體的公開密鑰進(jìn)行加密的,并且所述散列值還證實(shí)簽發(fā)給所述物理令牌的證書。
29.如權(quán)利要求28所述的機(jī)器可讀介質(zhì),其中,所述指令在被執(zhí)行時(shí),還導(dǎo)致所述計(jì)算設(shè)備發(fā)送與所述虛擬令牌相關(guān)聯(lián)的公開密鑰以及與所述物理令牌相關(guān)聯(lián)的證書。
30.如權(quán)利要求26所述的機(jī)器可讀介質(zhì),其中,所述指令在被執(zhí)行時(shí),還導(dǎo)致所述計(jì)算設(shè)備生成所述認(rèn)證消息,使得該認(rèn)證消息是用所述實(shí)體的公開密鑰進(jìn)行加密的,并且包括一個(gè)或多個(gè)散列值,這些散列值證實(shí)與所述虛擬令牌相關(guān)聯(lián)的公開密鑰以及簽發(fā)給所述物理令牌的證書;用會(huì)話密鑰來加密與所述虛擬令牌相關(guān)聯(lián)的公開密鑰、與所述物理令牌相關(guān)聯(lián)的證書、所述認(rèn)證消息、由所述物理令牌記錄的完整性度量的引文、以及與所述完整性度量相關(guān)聯(lián)的日志,以獲得第一參數(shù);并且用所述實(shí)體的公開密鑰來加密所述會(huì)話密鑰,以獲得第二參數(shù),其中的請(qǐng)求包括向所述實(shí)體發(fā)送所述第一參數(shù)和第二參數(shù)。
全文摘要
可基于簽發(fā)給計(jì)算設(shè)備的物理令牌的證書,向該計(jì)算設(shè)備的虛擬令牌簽發(fā)證書,從而將虛擬令牌證書聯(lián)系到物理令牌證書。
文檔編號(hào)G06F21/00GK1605054SQ02825303
公開日2005年4月6日 申請(qǐng)日期2002年11月22日 優(yōu)先權(quán)日2001年12月17日
發(fā)明者戴維·克勞羅克 申請(qǐng)人:英特爾公司