專利名稱:數(shù)據(jù)中心內(nèi)平臺的包容性確認的制作方法
背景通信網(wǎng)絡以及在這些網(wǎng)絡之間交換和轉(zhuǎn)移數(shù)據(jù)的用戶的數(shù)量持續(xù)增長。具體來說,隨著互聯(lián)網(wǎng)的出現(xiàn),電子商務交易已經(jīng)引起了用戶的個人和/或金融信息的交換和/或轉(zhuǎn)移。當前,試圖完成與給定web站點進行電子商務交易的用戶和/或商務和與該web站點相關聯(lián)的服務器進行通信,這并不保險。特別是,網(wǎng)際協(xié)議(IP)監(jiān)聽正變得更為猖獗,使得一給定的計算機平臺能夠假裝成與一web站點相關聯(lián),從而欺騙(試圖與該web站點進行電子商務交易的)用戶透露其個人和/或金融信息。
為了提高與給定計算機平臺/服務器的通信相關聯(lián)的安全性和信任度,已經(jīng)形成了受托(trusted)計算平臺聯(lián)盟(TCPA)(Trusted Computing PlatformAlliance)。TCPA在TCPA主要規(guī)范(2001年12月1日,1.1a版本)中描述了一種受托(trusted)平臺模塊(TPM)或物理令牌,它提供提高的置信度,使現(xiàn)有的服務和新的服務得到了增強。TPM支持軟件進程的審核和記錄、平臺引導完整性、文件完整性、以及軟件許可。TPM為平臺提供受保護的信息存儲,能夠用于證實由存在的硬件(如處理器、芯片組、固件等)所定義的平臺的身份(identity)。這些特征鼓勵第三方準許平臺訪問信息,而在別的情況下這可能被拒絕。
雖然對于一給定計算機平臺,對這些安全性和信任問題提供了一定程度的救濟,但是TCPA所介紹的標準局限于它們的應用。特別是,由于因特網(wǎng)用戶數(shù)量的增加,要求給定的web站點包含許多計算機平臺/服務器,以處理對單獨的web站點的負載需求,從而由于在這些通信過程中對這些平臺/服務器的動態(tài)選擇,使得提供安全通信的能力變得復雜。
附圖簡述通過例子但不受附圖的限制而說明了這里所揭示的本發(fā)明。為了簡單而清楚地說明,無需將附圖中所例示的元素用等比例繪制。例如,為了清楚,某些元素的尺寸可相對于其它元素擴大。此外,在合適的情況下,在附圖中使用重復的參考標號以指示對應的或類似的元素。
圖1A-1B說明了根據(jù)本發(fā)明的實施例的用于數(shù)據(jù)中心內(nèi)的平臺的確認的系統(tǒng)。
圖2說明了根據(jù)本發(fā)明的實施例的平臺的更為詳細的框圖。
圖3說明了根據(jù)本發(fā)明的一個實施例的管理員106的框圖。
圖4說明了根據(jù)本發(fā)明的一個實施例的詢問者單元108的框圖。
圖5A-5B說明了根據(jù)本發(fā)明的實施例的用于存儲用于數(shù)據(jù)中心內(nèi)的包容性確認的私有密鑰的流程圖。
圖6說明了根據(jù)本發(fā)明的一個實施例的用于數(shù)據(jù)中心內(nèi)平臺的包容性確認的流程圖。
圖7說明了根據(jù)本發(fā)明的一個實施例的用于響應數(shù)據(jù)中心內(nèi)平臺的包容性確認的流程圖。
圖8說明了根據(jù)本發(fā)明的一個實施例的用于取消數(shù)據(jù)中心的私有密鑰的流程圖。
詳細說明下面的說明描述了數(shù)據(jù)中心內(nèi)平臺包容性確認的方法和裝置。在下面的說明中,提出了諸如邏輯實現(xiàn)、操作碼、指定操作數(shù)的手段、資源劃分/共享/復制實現(xiàn)、系統(tǒng)組件的類型和相互關系、以及邏輯劃分/集成選擇之類的各種具體細節(jié),以提供對本發(fā)明更為充分的理解。然而,應理解到,本領域的技術人員能夠不限于這些具體細節(jié)來實施本發(fā)明。在其它實例中,沒有詳細地示出控制結(jié)構(gòu)、門級電路和完整的軟件指令序列,以便不會使本發(fā)明不清楚。利用這里所包含的說明,本領域的普通技術人員將能夠不通過創(chuàng)造性的勞動而實現(xiàn)合適的功能。
在說明書中,“一個實施例”、“實施例”、“示例性實施例”等表示所描述的實施例可以包括某一特點、結(jié)構(gòu)或特征,但是每個實施例并不是必須包含該特點、結(jié)構(gòu)或特征。而且,這些短語并不是必須針對相同的實施例。此外,當連同某一實施例描述某一特點、結(jié)構(gòu)或特征時,本領域的技術人員能夠在其它實施例中實施這種特點、結(jié)構(gòu)或特征,不管是否直接說明,這都是本領域的技術人員所接受的。
在下面的說明以及權利要求中,可使用術語“耦合”、“連接”以及它們的派生詞。應理解到,這些術語并不意味著是彼此的同義詞。相反,在某些實施例中,“連接”可用于指示兩個或多個元素彼此直接地物理上或電氣上的接觸?!榜詈稀笨梢馕吨鴥蓚€或多個元素彼此間接地物理上或電氣上接觸。然而,“耦合”還可意味著兩個或多個元素彼此不直接接觸,但仍然彼此協(xié)作或交互。
圖1-4示出了根據(jù)本發(fā)明的實施例的用于數(shù)據(jù)中心內(nèi)平臺包容性確認的系統(tǒng)的框圖。圖5-9示出了說明根據(jù)本發(fā)明的實施例的用于數(shù)據(jù)中心內(nèi)平臺包容性確認的操作的流程圖。流程圖中的操作將參考框圖中所示的系統(tǒng)進行描述。然而,應理解到,流程圖中的操作可由除了參考框圖所討論的系統(tǒng)的實施例之外的那些系統(tǒng)來執(zhí)行,并且參考所述系統(tǒng)而討論的實施例可執(zhí)行除了所述流程圖所討論的那些操作之外的操作。
圖1A-1B說明了根據(jù)本發(fā)明的實施例的用于數(shù)據(jù)中心內(nèi)平臺的確認的系統(tǒng)。參考圖1A,系統(tǒng)100包括詢問者(challenger)單元108、網(wǎng)絡120以及數(shù)據(jù)中心140。數(shù)據(jù)中心140可包括管理者單元106和平臺104A-104I(即一至若干個平臺)。
在一個實施例中,平臺104A-104I與網(wǎng)絡中的同一實體相關聯(lián)。例如,平臺104A-104I可以是與一給定web站點相關聯(lián)的服務器。此web站點可與產(chǎn)品(如書籍、計算機產(chǎn)品、用于在線拍賣的產(chǎn)品等)的銷售者和發(fā)行者相關聯(lián),其中該web站點的消費者數(shù)量太多,以至于需要許多服務器來處理來自這些消費者的請求的負荷。而且,數(shù)據(jù)中心140內(nèi)的不同的平臺可提供不同的功能。例如,第一組平臺104可包括應用服務器,而第二組平臺104可包括用于同一web站點的數(shù)據(jù)服務器。
如下文將更為詳細地描述的那樣,平臺104A-104I可存儲作為密鑰對的一部分的數(shù)據(jù)中心私有密鑰120。此外,一給定的數(shù)據(jù)中心私有密鑰120可以是基于許多密碼算法的密鑰對的一部分。在一個實施例中,密鑰對可以是非對稱密鑰對,例如基于Rivest-Shamir-Adleman(RSA)密碼算法的密鑰對。在一個實施例中,數(shù)據(jù)中心私有密鑰120是在不同的平臺104A-104I之間存儲的相同的私有密鑰。管理者單元106可生成該密鑰對,其中數(shù)據(jù)中心私有密鑰120存儲在平臺104A-104I中,而該密鑰對中的相關的公共密鑰可分配給詢問者單元108,用于詢問數(shù)據(jù)中心內(nèi)的平臺包容性(如下文中將更為詳細地描述的那樣)。
詢問者單元108以及數(shù)據(jù)中心140的組件可通過網(wǎng)絡102而互相耦合。在一個實施例中,網(wǎng)絡102可以是局域網(wǎng)(LAN)。在一個實施例中,網(wǎng)絡102可以是廣域網(wǎng)(WAN)。此外,網(wǎng)絡102可以是耦合詢問者單元108與數(shù)據(jù)中心140的組件的不同網(wǎng)絡的組合。在一個實施例中,可在數(shù)據(jù)中心140的諸單元與詢問者單元108之間的通信中采用虛擬專用網(wǎng)絡(VPN)。
參考圖1B,系統(tǒng)150包括詢問者單元108、證明機構(gòu)116、網(wǎng)絡102和數(shù)據(jù)中心180。詢問者單元108、證明機構(gòu)116以及數(shù)據(jù)中心180的組件可通過網(wǎng)絡102而耦合在一起。數(shù)據(jù)中心180可包括管理者單元106和平臺105A-105I(即一至若干個平臺)。
如下文將更為詳細地描述的那樣,平臺105A-105I可存儲經(jīng)證明的數(shù)據(jù)中心身份私有密鑰130A-130I。在一個實施例中,平臺105A-105I存儲不同的經(jīng)證明的數(shù)據(jù)中心身份私有密鑰130A-130I。例如,如所示,平臺105A存儲經(jīng)證明的數(shù)據(jù)中心身份私有密鑰130A,而平臺105I存儲經(jīng)證明的數(shù)據(jù)中心身份私有密鑰130I。此外,一給定的經(jīng)證明的數(shù)據(jù)中心身份私有密鑰130A-130I可以是基于許多密碼算法的密鑰對的一部分。在一個實施例中,密鑰對可以是非對稱密鑰對,如基于RSA密碼算法的那些密鑰對。
在一個實施例中,該密鑰對可由平臺105生成。管理者單元106可生成由證明機構(gòu)116簽署的根密鑰(root key)170,從而生成簽署密鑰175??刹捎煤炇鹈荑€175來證明存儲在平臺105A-105I中的不同的經(jīng)證明的數(shù)據(jù)中心身份密鑰130A-130I。
雖然所示的系統(tǒng)100和系統(tǒng)150中,詢問者單元108分別位于數(shù)據(jù)中心140和數(shù)據(jù)中心180的外部,但是本發(fā)明的實施例并不限于此。例如,管理者單元106和詢問者單元108可以是同一單元的一部分。在另一實施例中,詢問者單元108位于數(shù)據(jù)中心140和180的內(nèi)部,但與管理者單元106互相獨立。就系統(tǒng)150而言,在一個實施例中,證明機構(gòu)116可以是管理者單元106的一部分。在另一實施例中,證明機構(gòu)116是數(shù)據(jù)中心180的一部分,但與管理者單元106互相獨立。系統(tǒng)100和系統(tǒng)150的操作將在下文更為詳細地描述。
圖2說明了根據(jù)本發(fā)明的平臺的更為詳細的框圖。如所示,平臺104/105可包括一個或多個處理器210、芯片組220、存儲器230、平臺密鑰應用邏輯202、令牌(token)250、網(wǎng)絡控制器240以及其它輸入/輸出(I/O)設備270。處理器110可耦合至芯片組220和平臺密鑰應用邏輯202。存儲器230可耦合至平臺密鑰應用邏輯202和芯片組220。
處理器110可支持一個或多個操作模式,例如實模式、保護模式、虛擬8086模式、以及虛擬機模式(VMX模式)。此外,處理器110可支持在每個所支持的操作模式中支持一個或多個特權級或環(huán)(ring)。一般來說,處理器110的操作模式和特權級定義了可用于執(zhí)行的指令,以及執(zhí)行這種指令的效果。具體來說,僅當處理器110處于合適的模式和/或特權級時,才允許處理器110執(zhí)行確定的有特權的指令。
芯片組220可包括將處理器210耦合至存儲器230、網(wǎng)絡控制器240、令牌250、以及諸如鼠標、鍵盤、盤驅(qū)動器、視頻控制器等之類的平臺104/105的其它I/O設備270的一個或多個集成電路封裝或芯片。芯片組220可包括用于對存儲器230進行讀寫數(shù)據(jù)的存儲器控制器(未示出)。此外,芯片組220和/或處理器210可定義存儲器230的某些區(qū)域作為受保護的存儲器,僅可由處理器210在某一操作模式(如保護模式)和特權級(如OP)時訪問。
網(wǎng)絡控制器240一般向平臺104/105提供通信機制,以通過網(wǎng)絡102與諸如管理者單元108、證明機構(gòu)116以及詢問者單元108之類的各種遠程設備進行通信。例如,網(wǎng)絡控制器240可包括10兆字節(jié)(Mb)或100Mb以太網(wǎng)控制器、電纜調(diào)制解調(diào)器(cable modem)、數(shù)字訂戶線路(DSL)調(diào)制解調(diào)器、簡易老式電話業(yè)務(POTS)調(diào)制解調(diào)器等,以將平臺104耦合到一個或多個遠程設備。
如圖2中的平臺104/105的不同實施例中所說明的那樣,私有密鑰225可存儲在令牌250中。然而,本發(fā)明的實施例并不限于此,私有密鑰225可存儲在平臺104/105內(nèi)的許多不同的位置。私有密鑰225可存儲在芯片組220中、存儲器230中、處理器210的高速緩存112中、以及平臺104/105內(nèi)的其它位置。私有密鑰225可代表數(shù)據(jù)中心私有密鑰120(示于圖1A)和/或經(jīng)證明的數(shù)據(jù)中心身份私有密鑰130(示于圖1B)。在一個實施例中,對于私有密鑰225的存儲使得對其的訪問限于被認為是安全的那些操作。
令牌250可包括處理單元258、若干平臺配置寄存器(PCR)255和私有密鑰225。一般來說,平臺104/105的令牌250包括對完整性規(guī)格(integrity metric)、密鑰以及密碼(secret)的保護存儲,并可根據(jù)來自處理器210和芯片組220的請求執(zhí)行各種完整性功能(integrity function)。特別是,令牌250可以受托(trusted)方式存儲完整性規(guī)格,可以受托方式引用完整性規(guī)格,可對某一環(huán)境(當前的或?qū)淼?將密碼密封(seal secret),以及可對密碼受到密封的環(huán)境開啟密碼。此外,如將要被闡述的那樣,令牌250可包括用于數(shù)據(jù)中心140/180內(nèi)平臺的包容性確認的識別平臺104/105的私有密鑰225。
令牌250還可附屬于或集成于平臺104/105中,以對遠程設備(如詢問者單元108)提供該令牌250僅與一個平臺104/105相關聯(lián)的保證。例如,令牌250可集成于芯片組220的一個芯片中,和/或表面安裝(surface mount)于平臺104/105的主板上。由于固定的令牌250的唯一性,并且由于令牌集成于平臺104/105中,因此遠程設備可根據(jù)與私有密鑰225相關聯(lián)的公共密鑰,以某種確定性來識別平臺104/105。在實施例中,令牌250的操作可集成于平臺104/105的其它模塊中。例如,在一個實施例中,令牌250的操作可集成于芯片組220中、存儲器230內(nèi)的安全存儲器中等等。在實施例中,令牌250的操作可結(jié)合于虛擬令牌中。在題為“Connecting a Virtual Token to a Physical Token”的專利申請?zhí)?0/028,984中詳細描述了虛擬令牌及其與實際令牌的關系。
PCR 255可用于以受托方式記錄和報告完整性規(guī)格。處理單元258可支持PCR引用(quote)操作,該操作返回一個識別的PCR 255的引用或內(nèi)容。處理單元258還可支持PCR擴展操作,該操作在識別的PCR 255中記錄接收的完整性規(guī)格。特別是,PCR擴展操作可(1)將接收的完整性規(guī)格連接或追加于識別的PCR 255中存儲的完整性規(guī)格,以獲得經(jīng)追加的完整性規(guī)格,(2)對追加的完整性規(guī)格進行散列(hash),以獲得代表接收的完整性規(guī)格和由所述識別的PCR 255記錄的先前的完整性規(guī)格的更新的完整性規(guī)格,以及(3)在一個PCR 255中存儲所述更新的完整性規(guī)格。
如這里所使用的那樣,動詞“散列”及其相關形式指的是根據(jù)操作數(shù)或消息進行的操作,以產(chǎn)生值或“雜亂信息”(“hash”)。理想情況下,散列操作產(chǎn)生一個雜亂信息(hash),從該雜亂信息中尋找消息在計算上是不可行的,并且從該雜亂信息中不能用該雜亂信息確定與消息有關的任何可用信息。此外,散列操作理想上產(chǎn)生這種雜亂信息,使得確定產(chǎn)生相同雜亂信息的兩個消息的操作在計算上是不可行的。雖然散列操作在理想上具有上述特性,但是實際上,諸如消息摘譯5函數(shù)(Message Digest 5 functionMD5)和安全散列算法1(Secure HashingA1gorithm 1SHA-1)之類的單向函數(shù)(one way function)產(chǎn)生散列值,從這些散列值推斷消息是困難的、計算密集的、和/或?qū)嶋H不可行的。
可以若干種不同的方式實現(xiàn)令牌250。然而,在示例性實施例中,將令牌250實現(xiàn)為符合受托計算平臺聯(lián)盟(TCPA)主要規(guī)范(2001年12月1日,1.1a版本)中描述的受托平臺模塊(TPM)。
此外,平臺104/105可包括平臺密鑰應用邏輯202。在實施例中,平臺密鑰應用邏輯202可以是可駐留于存儲器230和/或處理器210內(nèi)的、并可在處理器210內(nèi)執(zhí)行的進程或任務。因此,平臺104/105可包括機器可讀介質(zhì),在機器可讀介質(zhì)上存儲了體現(xiàn)這里所述的任一方法或全部方法的指令集(即軟件)。出于本說明書的目的,術語“機器可讀介質(zhì)”應包括提供(即存儲和/或傳輸)機器(如計算機)可讀形式的信息。例如,機器可讀介質(zhì)包括只讀存儲器(ROM);隨機存取存儲器(RAM);磁盤存儲介質(zhì);光存儲介質(zhì);閃存設備;電、光、聲或其它形式的傳播信號(如載波、紅外信號、數(shù)字信號等);以及其它。
然而,本發(fā)明的實施例并不限于此,平臺密鑰應用邏輯202可以是執(zhí)行這里所述的處理(下文中將詳細描述)的各種不同類型的硬件(如數(shù)字邏輯)。而且,如下文中更為詳細地描述的那樣,平臺密鑰應用邏輯202可使得處理單元258檢索(retrieve)存儲在PCR 255內(nèi)的值,和/或使處理單元258使用私有密鑰225簽署存儲在PCR 255內(nèi)的值。此外,這里將平臺密鑰應用邏輯202描述為執(zhí)行若干操作。例如,平臺密鑰應用邏輯202可使得若干操作在令牌250中執(zhí)行。然而,本發(fā)明的實施例并不限于此。例如,在另一實施例中,這些操作的執(zhí)行與平臺密鑰應用邏輯202無關,使得這些操作可直接在令牌250中執(zhí)行。
此外,在一個實施例中,設立平臺104/105,使得平臺密鑰應用邏輯202成為平臺104/105內(nèi)的安全環(huán)境的一部分。此外,與平臺104/105的通信是這樣的,即,在允許對該安全環(huán)境內(nèi)的平臺104/105的存儲器部分進行訪問(包括讀和寫)之前,進行確認。在一個實施例中,這些通信可基于采用與對象無關的授權協(xié)議(Object-Independent Authorization Protocol)和/或?qū)ο筇囟ǖ氖跈鄥f(xié)議(Object-Specific Authorization Protocol)的TCPA操作。在其它實施例中,可通過其它形式的確認,包括公共/私有密鑰交換,諸如管理者單元106之類的處于安全環(huán)境之外的單元可被授權訪問平臺104/105。
在實施例中,該安全環(huán)境具有相關的根加密密鑰(root encryption key),用于存儲和檢索與所述安全環(huán)境相關聯(lián)的存儲器部分中的數(shù)據(jù)。在一個實施例中,根加密密鑰基于存儲在令牌250中的永久公共密鑰(未示出)以及存儲在一個PCR255中的提要(digest)值。在實施例中,根加密密鑰用永久公共密鑰進行加密,使得提要值存儲為加密的一部分。因此,當存儲的提要值與當前存儲于PCR 255中的提要值相匹配時,可使用該永久公共密鑰,根據(jù)解密來使用根加密密鑰。因此,如下文中將更為詳細地描述的那樣,可根據(jù)基于根加密密鑰的密碼算法,從與平臺104/105內(nèi)的安全環(huán)境相關聯(lián)的平臺104/105內(nèi)的存儲器部分中存儲和檢索用于數(shù)據(jù)中心的私有密鑰(數(shù)據(jù)中心私有密鑰120和經(jīng)證明的數(shù)據(jù)中心身份私有密鑰130)。
圖3說明了根據(jù)本發(fā)明的一個實施例的管理者單元106的框圖。管理者單元106可包括處理器310、管理邏輯302、存儲器320以及網(wǎng)絡控制器330。
處理器310可耦合到管理邏輯302、存儲器320和網(wǎng)絡控制器330。管理邏輯302可耦合到網(wǎng)絡控制器330和存儲器320。存儲器320可耦合到網(wǎng)絡控制器330。
處理器310可包括任何適用的處理器架構(gòu),對于一個實施例而言,處理器可包括用于例如來自加利福尼亞州圣克拉拉市的英特爾公司(IntelCorporation)的奔騰(Pentium)系列中所使用的英特爾(Intel)架構(gòu)。用于其它實施例的管理者單元106可包括多個處理器,任一處理器可執(zhí)行根據(jù)本發(fā)明的實施例的一組指令。存儲器320可存儲例如用于管理者單元106的數(shù)據(jù)和/或指令,并可包括任何適當?shù)拇鎯ζ?,如動態(tài)隨機存取存儲器(DRAM)。
網(wǎng)絡控制器330一般提供通信機制,用于管理者單元106與諸如平臺104/105、證明機構(gòu)116、詢問者單元108等之類的各種遠程設備進行通信。例如,網(wǎng)絡控制器330可包括10Mb或100Mb以太網(wǎng)控制器、電纜調(diào)制解調(diào)器、數(shù)字訂戶線路(DSL)調(diào)制解調(diào)器、簡易老式電話業(yè)務(POTS)調(diào)制解調(diào)器等,以將管理者單元106耦合到一個或多個遠程設備。
在實施例中,管理邏輯302可以是可駐留于存儲器320和/或處理器310內(nèi)的、并可在處理器310內(nèi)執(zhí)行的進程或任務。然而,本發(fā)明的實施例并不限于此,管理邏輯302可以是執(zhí)行這里所述的處理(下文中將詳細描述)的各種不同類型的硬件(如數(shù)字邏輯)。
因此,管理者單元106可包括存儲了體現(xiàn)這里所述的任一方法或全部方法的指令集(即軟件)的機器可讀介質(zhì)。例如,軟件可完全或至少部分駐留于存儲器320和/或處理器310內(nèi)。
圖4說明了根據(jù)本發(fā)明的一個實施例的詢問者單元108的框圖。詢問者單元108可包括處理器410、確認邏輯402、存儲器420以及網(wǎng)絡控制器430。
處理器410可耦合到確認邏輯402、存儲器420和網(wǎng)絡控制器430。確認邏輯402可耦合到網(wǎng)絡控制器430和存儲器420。存儲器420可耦合到網(wǎng)絡控制器430。
處理器410可包括任何適用的處理器架構(gòu),對于一個實施例而言,處理器可包括用于例如來自加利福尼亞州圣克拉拉市的英特爾公司(IntelCorporation)的奔騰(Pentium)系列中所使用的英特爾(Intel)架構(gòu)。用于其它實施例的詢問者單元108可包括多個處理器,任一處理器可執(zhí)行根據(jù)本發(fā)明的實施例的一組指令。存儲器420可存儲例如用于詢問者單元108的數(shù)據(jù)和/或指令,并可包括任何適當?shù)拇鎯ζ鳎鐒討B(tài)隨機存取存儲器(DRAM)。
網(wǎng)絡控制器430一般提供通信機制,用于詢問者單元108與諸如平臺104/105、證明機構(gòu)116、管理者單元106等之類的各種遠程設備進行通信。例如,網(wǎng)絡控制器430可包括10Mb或100Mb以太網(wǎng)控制器、電纜調(diào)制解調(diào)器、數(shù)字訂戶線路(DSL)調(diào)制解調(diào)器、簡易老式電話業(yè)務(POTS)調(diào)制解調(diào)器等,以將詢問者單元108耦合到一個或多個遠程設備。
在實施例中,確認邏輯402可以是可駐留于存儲器420和/或處理器410內(nèi)的、并可在處理器410內(nèi)執(zhí)行的進程或任務。然而,本發(fā)明的實施例并不限于此,確認邏輯402可以是執(zhí)行這里所述的處理(下文中將詳細描述)的各種不同類型的硬件(如數(shù)字邏輯)。
因此,詢問者單元108可包括存儲了體現(xiàn)這里所述的任一方法或全部方法的指令集(即軟件)的機器可讀介質(zhì)。例如,軟件可完全或至少部分駐留于存儲器420和/或處理器410內(nèi)。
將描述系統(tǒng)100和系統(tǒng)150的操作。將參考圖5A、6、7和8的流程圖描述系統(tǒng)100,同時將參考圖5B、6、7和9的流程圖描述系統(tǒng)150。圖5A說明了根據(jù)本發(fā)明的一個實施例的用于存儲用于數(shù)據(jù)中心內(nèi)的包容性確認的私有密鑰的流程圖。
在塊502中,流程圖500以生成用于數(shù)據(jù)中心的策略開始。參考圖3所例示的實施例,管理者單元106的管理邏輯302為要被包容于數(shù)據(jù)中心140內(nèi)的平臺產(chǎn)生策略。在一個實施例中,該策略可包括用于平臺104的硬件規(guī)格(hardwaremetrics)。例如,策略可包括基于TCPA的TMP模塊處于平臺104之內(nèi)的要求。用于策略的硬件規(guī)格的其它例子可以是處理器類型或平臺104中是否包括不同類型的私有或安全存儲器,使得對這種存儲器的訪問被限制于被認為是安全的那些應用。其它例子可包括虛擬機的要求,虛擬機進行監(jiān)控使得平臺104內(nèi)的部分存儲器以及其它單元受限于對它們的訪問。用于策略的硬件規(guī)格的另一例子可以是平臺104內(nèi)包容加密加速卡、網(wǎng)卡等。
在一個實施例中,該策略可包括用于平臺104的軟件規(guī)格。例如,策略可包括平臺正在執(zhí)行給定類型的操作系統(tǒng)或執(zhí)行于其上的其它類型的高級應用的要求。策略所要求的高級應用的例子可包括某一類型的數(shù)據(jù)庫、用于該數(shù)據(jù)庫的接口應用、以及可執(zhí)行某些類型的加密操作的加密應用。
管理邏輯302可根據(jù)來自數(shù)據(jù)中心的管理者的輸入而產(chǎn)生該策略。在一個這樣的實施例中,該策略可基于數(shù)據(jù)中心的用戶所要求的要求和標準。例如,一組平臺允許從這些平臺檢索數(shù)據(jù)而不用傳送保密信息,同時第二組平臺允許書籍、玩具等的電子商務消費者交易,包括上傳保密/金融信息,同時第三組平臺允許上傳包括保密政府公文、個人醫(yī)療記錄等的高敏感信息。因此,對這些不同類型組的平臺的策略的要求將根據(jù)與這些平臺的通信類型而改變。
在塊504中,產(chǎn)生用于數(shù)據(jù)中心的密鑰對。參考圖3所例示的實施例,管理者單元106的管理邏輯302產(chǎn)生用于數(shù)據(jù)中心140的密鑰對。在一個實施例中,密鑰對可以是非對稱密鑰對,例如那些基于RSA密碼算法的密鑰對。在一個實施例中,管理邏輯302產(chǎn)生一密鑰對,使得該密鑰對中的私有密鑰(數(shù)據(jù)中心私有密鑰120)是存儲在不同平臺104A-104I之間的相同的私有密鑰。因此,在不同平臺104包容于數(shù)據(jù)中心140的確認中采用單個密鑰對。如將要更詳細地描述的那樣,數(shù)據(jù)中心私有密鑰120存儲于平臺104中,同時由諸如詢問者單元108之類的不同的單元在有關平臺104包容于數(shù)據(jù)中心140的確認中采用對應的公共密鑰。
在塊506中,接收來自要成為數(shù)據(jù)中心140的一部分的平臺104的請求。參考圖3所例示的實施例,管理邏輯302接收來自要成為數(shù)據(jù)中心140的一部分的平臺104的請求。
在塊508中,作出關于(作出請求的)平臺104是否滿足用于數(shù)據(jù)中心140的策略的判斷。參考圖3所例示的實施例,管理邏輯302作出關于平臺104是否滿足用于數(shù)據(jù)中心140的策略的這種判斷。在一個實施例中,管理邏輯302可通過采用平臺104內(nèi)的令牌250來作出該判斷。在一個這樣的實施例中,管理邏輯302查詢存儲于PCR 255中的值。例如,不同的PCR 255中的具體的值可指示出用于該平臺104的不同硬件或軟件規(guī)格(如處理器類型、操作系統(tǒng)等等)。
在另一個實施例中,管理邏輯302可通過查詢存儲了用于符合包容于一數(shù)據(jù)中心的條件的若干平臺的策略的位于平臺104外部的其它安全存儲器(如安全數(shù)據(jù)庫服務器),來作出該判斷。一當判斷出請求包容于數(shù)據(jù)中心140中的平臺104的策略不滿足用于數(shù)據(jù)中心140的策略時,流程圖500結(jié)束,因為不允許作出請求的平臺104包容于數(shù)據(jù)中心140內(nèi)。此外,該平臺104和/或其它平臺104的后續(xù)請求可使得當請求被接收時,流程圖500的操作從塊506開始。
在塊510,一當判斷出平臺104的策略確實滿足用于數(shù)據(jù)中心140的策略,密鑰對的數(shù)據(jù)中心私有密鑰120就存儲于平臺104中。參考圖3所例示的實施例,管理邏輯302將數(shù)據(jù)中心私有密鑰120存儲于平臺104中。如圖2所例示的那樣,管理邏輯302可將數(shù)據(jù)中心私有密鑰120(以私有密鑰225表示)存儲于平臺104中的若干位置處(包括存儲器230、處理器210、芯片組220、令牌250等)。在一個實施例中,管理邏輯302將數(shù)據(jù)中心私有密鑰120存儲于平臺104中的安全位置處,例如使用不同的加密操作來允許對其的訪問。
在塊512中,數(shù)據(jù)中心私有密鑰120與平臺104相關聯(lián)。參考圖3所例示的實施例,管理邏輯302將數(shù)據(jù)中心私有密鑰120與平臺104相關聯(lián)。在一個實施例中,當管理邏輯302將數(shù)據(jù)中心私有密鑰120與平臺104相關聯(lián)時,管理邏輯302可采用令牌250。在令牌250是TPM的一個實施例中,管理邏輯302可采用“綁定”(bind)命令(如受托計算平臺聯(lián)盟(TCPA)主要規(guī)范,2001年12月1日,1.1a版本中所定義的那樣)來將數(shù)據(jù)中心私有密鑰120關聯(lián)到平臺104。綁定命令將數(shù)據(jù)中心私有密鑰120與平臺104相關聯(lián),使得數(shù)據(jù)中心私有密鑰120僅可用于平臺104上。
在一個實施例中,管理邏輯302可采用“密封”(seal)命令(如受托計算平臺聯(lián)盟(TCPA)主要規(guī)范,2001年12月1日,1.1a版本中所定義的那樣)來將數(shù)據(jù)中心私有密鑰120關聯(lián)到平臺104。因此,僅當平臺處于適當?shù)呐渲脮r,數(shù)據(jù)中心私有密鑰120才顯露出來并從而可用。特別是,在一個實施例中,(管理邏輯302調(diào)用的)“密封”命令將存儲于PCR 255中的值(這些值指示出平臺104的適當配置)結(jié)合于包含數(shù)據(jù)中心私有密鑰120的數(shù)據(jù)中。因此,在包含數(shù)據(jù)中心私有密鑰120的該數(shù)據(jù)的“密封”操作中,令牌250將存儲于該數(shù)據(jù)中的PCR 255的值與PCR 255的當前值相比較。如果這兩個不同的值相匹配,令牌250將數(shù)據(jù)中心私有密鑰120提供給作出請求的應用/邏輯(這將連同對平臺104包容于數(shù)據(jù)中心140的確認的詢問一起在下文中更詳細地描述)。在一個實施例中,管理邏輯302可執(zhí)行數(shù)據(jù)中心私有密鑰120的多個密封,其中將數(shù)據(jù)中心私有密鑰120密封成平臺104內(nèi)的不同軟件和硬件配置的組合,這更詳細地描述于題為“Multi-Token Sealand Unseal”的專利申請?zhí)?0/082,600中。
在一個實施例中,管理邏輯302既可采用“綁定”命令也可采用“密封”命令來將數(shù)據(jù)中心私有密鑰120關聯(lián)到平臺104。因此,在一個實施例中,管理邏輯302將數(shù)據(jù)中心私有密鑰120綁定到平臺104。此外,管理邏輯302可解除數(shù)據(jù)私有密鑰120的綁定,并允許將數(shù)據(jù)中心私有密鑰120密封到平臺104的密封操作。
然而,本發(fā)明的實施例不限于使用TPM/令牌250將數(shù)據(jù)中心私有密鑰120關聯(lián)到平臺104。在另一個實施例中,管理邏輯302可根據(jù)處理器210的版本和/或它們的補丁級(patch level),將數(shù)據(jù)中心私有密鑰120關聯(lián)到平臺104。因此,管理邏輯302可將數(shù)據(jù)中心私有密鑰120與處理器210的版本和/或補丁級一起加密。因此,當數(shù)據(jù)中心私有密鑰120隨后用于簽署數(shù)據(jù)作為該平臺104包容于數(shù)據(jù)中心140的詢問的一部分時,檢索該數(shù)據(jù)中心私有密鑰120的應用/邏輯將處理器210的當前版本和/或補丁級與作為數(shù)據(jù)中心私有密鑰120的加密的一部分存儲的版本和/或補丁級相比較。
在其他實施例中,管理邏輯302可類似地采用硬件外設(如硬件驅(qū)動器的類型和網(wǎng)卡的類型)。此外,在一個實施例中,管理邏輯302可采用運行于平臺104上的軟件類型(如硬件驅(qū)動器的盤幾何形狀(disk geometry)、基本輸入輸出系統(tǒng)(BIOS)設置、數(shù)據(jù)庫應用的類型等)。因此,已把數(shù)據(jù)中心私有密鑰120存儲與平臺104中且使之與平臺104相關聯(lián)之后,平臺104如今包容于數(shù)據(jù)中心140中。
將描述與用于數(shù)據(jù)中心內(nèi)的包容性確認的私有密鑰的存儲有關的系統(tǒng)150的操作。與系統(tǒng)100的操作(圖5A)相反,在一個實施例中,系統(tǒng)150的操作可以是這樣的,即,不同的私有密鑰存儲于作為數(shù)據(jù)中心的部分的不同的平臺中,其中這些私有密鑰通過用于該數(shù)據(jù)中心的簽署密鑰來得到簽署。圖5B例示出根據(jù)本發(fā)明的一個實施例的用于存儲用于數(shù)據(jù)中心內(nèi)的包容性確認的私有密鑰的流程圖。
在塊552中,流程圖550以生成用于數(shù)據(jù)中心180的簽署密鑰175和根密鑰170為開始。參考圖3所例示的實施例,管理邏輯302產(chǎn)生用于數(shù)據(jù)中心180的根密鑰170。此外,管理邏輯302可使證明機構(gòu)116證明根密鑰170,從而生成簽署密鑰175。在一個實施例中,管理邏輯302可根據(jù)若干種不同的密碼算法,包括RSA、Diffie-Hellman等,來產(chǎn)生根密鑰170。因此,根密鑰170充當僅用于數(shù)據(jù)中心180的簽署密鑰175的密鑰簽署密鑰(key-signing key),如下面將更為詳細地描述的那樣,與充當用于存儲于不同平臺105中的不同私有密鑰的數(shù)據(jù)中心180內(nèi)的密鑰簽署密鑰的簽署密鑰175相比,密鑰簽署密鑰將更局限于攻擊(attack)。
在塊554,產(chǎn)生用于數(shù)據(jù)中心180的策略。參考圖3所例示的實施例,管理邏輯320產(chǎn)生用于要包容于數(shù)據(jù)中心180內(nèi)的平臺的策略。在一個實施例中,策略的生成與(上述連同圖5的流程圖所描述的)用于數(shù)據(jù)中心140的策略的生成相類似。例如,管理邏輯302可根據(jù)平臺105的硬件規(guī)格和/或軟件規(guī)格來產(chǎn)生策略。
在塊556中,接收來自要成為數(shù)據(jù)中心180的一部分的平臺105(包括用于該平臺105的經(jīng)證明的數(shù)據(jù)中心身份私有密鑰130)的請求。參考圖3所例示的實施例,管理邏輯302接收來自平臺105的請求。在一個實施例中,經(jīng)證明的數(shù)據(jù)中心身份密鑰130是已由平臺105產(chǎn)生的私有密鑰。在一個實施例中,平臺105可使用令牌250根據(jù)TCPA操作(如受托計算平臺聯(lián)盟(TCPA)主要規(guī)范,2001年12月1日,1.1a版本中所定義的那樣)來產(chǎn)生經(jīng)證明的數(shù)據(jù)中心身份密鑰130。在一個實施例中,可根據(jù)若干不同類型的密碼算法,包括RSA、Diffie-Hellman等,來產(chǎn)生經(jīng)證明的數(shù)據(jù)中心身份私有密鑰130。
在塊558中,作出關于(作出請求的)平臺105是否滿足用于數(shù)據(jù)中心180的策略的判斷。參考圖3所例示的實施例,管理邏輯302作出關于平臺105是否滿足用于數(shù)據(jù)中心180的策略這種判斷(如上述連同圖5的流程圖500所述的那樣)。例如,管理邏輯302可根據(jù)存儲于PCR 255(或平臺105內(nèi)部或外部的其他安全區(qū)域)中的指示出用于該平臺105的不同硬件或軟件規(guī)格的值來作出該判斷。一當判斷出請求包容于數(shù)據(jù)中心180中的平臺105的策略不滿足用于數(shù)據(jù)中心180的策略時,流程圖550結(jié)束,因為作出請求的平臺105沒有包容于數(shù)據(jù)中心180內(nèi)。此外,該平臺105和/或其它平臺105的后續(xù)請求可使得當請求被接收時,流程圖550的操作從塊556開始(其中請求來自平臺105)。
在塊560,一當判斷出平臺105的策略確實滿足用于數(shù)據(jù)中心180的策略,證明(按照來自平臺105的一部分接收的)經(jīng)證明的數(shù)據(jù)中心身份私有密鑰130。參考圖3所例示的實施例,管理邏輯302使用已由證明機構(gòu)116證明的簽署密鑰175來證明該經(jīng)證明的數(shù)據(jù)中心身份私有密鑰130。
在塊562中,將對經(jīng)證明的數(shù)據(jù)中心身份私有密鑰130的證明與平臺105相關聯(lián)。參考圖3所例示的實施例,管理邏輯302將對經(jīng)證明的數(shù)據(jù)中心身份私有密鑰130的證明與平臺105相關聯(lián)。在一個實施例中,該證明可包括由該平臺105的詢問者(如詢問者單元108)隨后所采用的數(shù)字證明,以確認與數(shù)據(jù)中心180有關的經(jīng)證明的數(shù)據(jù)中心身份私有密鑰130的真實性(如下面將更詳細地描述的那樣)。類似于上述的用于數(shù)據(jù)中心私有密鑰120的相關,在一個實施例中,當管理邏輯302將對經(jīng)證明的數(shù)據(jù)中心身份私有密鑰130的證明與平臺105相關聯(lián)時,管理邏輯302可采用令牌250。在令牌250是TPM的一個實施例中,管理邏輯302可采用“密封”(seal)命令(如受托計算平臺聯(lián)盟(TCPA)主要規(guī)范,2001年12月1日,1.1a版本中所定義的那樣)來將經(jīng)證明的數(shù)據(jù)中心身份私有密鑰130關聯(lián)到平臺105。在一個實施例中,管理邏輯302可執(zhí)行雙密封(double seal)證明,其中證明被密封到平臺105內(nèi)的硬件和軟件配置中。
然而,本發(fā)明的實施例不限于使用TPM/令牌250將對經(jīng)證明的數(shù)據(jù)中心身份私有密鑰130關聯(lián)到平臺105。在另一個實施例中,管理邏輯302可采用平臺105內(nèi)的其他可度量的配置。例如(如上所述),管理邏輯302可根據(jù)處理器210的版本和/或其補丁級(patch level)來將對經(jīng)證明的數(shù)據(jù)中心身份私有密鑰130的證明關聯(lián)到平臺105。因此,管理邏輯302可將對經(jīng)證明的數(shù)據(jù)中心身份私有密鑰130的證明與處理器210的版本和/或補丁級一起加密。因此,當對經(jīng)證明的數(shù)據(jù)中心身份私有密鑰130的證明隨后用于簽署數(shù)據(jù)作為該平臺105包容于數(shù)據(jù)中心180的詢問的一部分時,檢索該數(shù)據(jù)中心私有密鑰120的應用/邏輯將處理器210的當前版本和/或補丁級與作為對經(jīng)證明的數(shù)據(jù)中心身份私有密鑰130的證明的加密的一部分存儲的版本和/或補丁級相比較。
在其他實施例中,管理邏輯302可類似地采用硬件外設(如硬件驅(qū)動器的類型和網(wǎng)卡的類型)。此外,在一個實施例中,管理邏輯302可采用運行于平臺105上的軟件類型(如硬件驅(qū)動器的盤幾何形狀(disk geometry)、基本輸入輸出系統(tǒng)(BIOS)設置、數(shù)據(jù)庫應用的類型等)。因此,已把對經(jīng)證明的數(shù)據(jù)中心身份私有密鑰130的證明存儲與平臺105中且使之與平臺105相關聯(lián)之后,平臺105如今包容于數(shù)據(jù)中心180中。
將描述用于系統(tǒng)100/150的數(shù)據(jù)中心140/150內(nèi)平臺104/105的包容性詢問/確認的操作。特別地,圖6說明了根據(jù)本發(fā)明的一個實施例的用于數(shù)據(jù)中心內(nèi)平臺的包容性確認的流程圖。將參考系統(tǒng)100描述流程圖600中的操作,然而,這些操作也適用于系統(tǒng)150。
在塊602中,檢索用于要被確認的平臺104的公共密鑰(該公共密鑰是包括數(shù)據(jù)中心私有密鑰120的密鑰對的一部分)。參考圖4所例示的實施例,詢問者單元108的確認邏輯檢索公共密鑰。在一個實施例中,確認邏輯402可從管理單元106檢索公共密鑰。在一個實施例中,確認邏輯402可從平臺104檢索公共密鑰。
在塊604中,檢索用于數(shù)據(jù)中心140的策略。參考圖4所例示的實施例,確認邏輯402檢索用于數(shù)據(jù)中心140的策略。在一個實施例中,確認邏輯402可從管理者單元106檢索用于數(shù)據(jù)中心140的策略。在一個實施例中,確認邏輯402可從平臺104檢索用于數(shù)據(jù)中心140的策略。
在塊606中,產(chǎn)生用于數(shù)據(jù)中心140內(nèi)平臺104的包容性確認的引用請求(quote request)。參考圖4所例示的實施例,確認邏輯402產(chǎn)生該引用請求。在一個實施例中,引用請求可包括對存儲于PCR 255中的表示用于平臺104的策略的值的請求。在另一個實施例中,引用請求可包括對表示平臺104的配置的其他數(shù)據(jù)或規(guī)格的請求。例如,在一個實施例中,引用請求可包括處理器類型及其當前補丁級,以及硬盤驅(qū)動器的盤幾何形狀等。在另一個實施例中,確認邏輯402可產(chǎn)生要與引用請求以及一指示符一起包含在內(nèi)的隨機值,使得平臺104使用存儲于其中的數(shù)據(jù)中心私有密鑰120來簽署該隨機值。
在一個實施例中,確認邏輯402和平臺104之間的通信可基于采用與對象無關的授權協(xié)議(Object-Independent Authorization Protocol)和/或?qū)ο筇囟ǖ氖跈鄥f(xié)議(Object-Specific Authorization Protocol)的TCPA操作。在其他實施例中,確認邏輯402可被授權通過包括公共/私有密鑰交換的其他形式的確認來訪問平臺104。
在塊608中,引用請求傳送到平臺104。參考圖4所例示的實施例,確認邏輯402將該引用請求傳送到平臺104。如將要詳細描述地那樣,該引用請求可由平臺密鑰應用邏輯202接收。在請求存儲于令牌250的PCR 255中的值的一個實施例中,平臺密鑰應用邏輯202可調(diào)用TCPA操作使得處理單元258檢索PCR 255內(nèi)的值。在另一個實施例中,平臺密鑰應用邏輯202可對平臺104的不同組件(如處理器)作出關于其中的配置的直接查詢。此外(如下面將更為詳細地描述的那樣),平臺密鑰應用邏輯202致使用數(shù)據(jù)中心私有密鑰120簽署對引用請求的響應。在一個實施例中,平臺密鑰應用邏輯202可使得令牌250內(nèi)的處理單元258簽署該響應。平臺密鑰應用邏輯202可將簽署的響應發(fā)送回詢問者單元108。在另一個實施例中,對平臺104的引用請求使得處理單元258執(zhí)行上述的操作,而與平臺密鑰應用邏輯202無關。
在塊610,接收用數(shù)據(jù)中心私有密鑰120簽署的對引用請求的響應。參考圖4所例示的實施例,確認邏輯402接收該對引用請求的響應。
在塊612,確認數(shù)據(jù)中心140中平臺104的包容性。參考圖4所例示的實施例,確認邏輯402根據(jù)從發(fā)送到平臺104的引用請求來的響應來確認平臺104的包容性。在一個實施例中,確認邏輯402可通過采用已經(jīng)檢索的公共密鑰來確認平臺104的包容性。特別地,確認邏輯402可采用公共密鑰(該公共密鑰對應于密鑰對的數(shù)據(jù)中心私有密鑰120)來解密和比較所述響應中的散列值。
在一個實施例中,確認邏輯402可確認表示用于平臺104的策略的值對應于用于數(shù)據(jù)中心140的策略。例如,在一個實施例中,來自PCR 255的值可表示平臺104內(nèi)的策略。因此,當平臺104處于數(shù)據(jù)中心140內(nèi)且當平臺104處于適當?shù)呐渲脮r,這些值被包含于對引用請求的響應中,并且對應于表示數(shù)據(jù)中心140的策略的值。因此,確認邏輯402可通過比較這兩個不同的策略來確認平臺104在數(shù)據(jù)中心140中的包容性。在一隨機值作為引用請求的一部分而被傳送的實施例中,確認邏輯402還可通過使用(上述的)公共密鑰對響應進行解密,并判斷解密出的隨機值是否等于包含于引用請求中的隨機值,來確認響應。
在一個實施例中,確認邏輯402可使用證明機構(gòu)116證明經(jīng)證明的數(shù)據(jù)中心身份私有密鑰130已由代表數(shù)據(jù)中心180的簽署密鑰175簽署,來確認數(shù)據(jù)中心180內(nèi)平臺105的包容性。
在一個實施例中,對平臺104的包容性的這種確認可結(jié)合于若干不同的應用中。例如,在一個實施例中,確認邏輯402可以是結(jié)合于與若干服務器中的一個服務器進行的通信中的軟件模塊的一部分,以驗證給定的服務器處于合適的配置中并且是用于一給定web站點的若干有效服務器的一部分。因此,這樣一種應用向用于一web站點的若干服務器中的一個服務器的用戶提供了與用于該web站點的若干服務器中的適當配置的服務器通信的保證。特別地,在與服務器的其他類型的通信(如電子商務交易以及其他保密通信)之前,可執(zhí)行該應用來確認服務器在若干服務器內(nèi)的包容性。
將描述對數(shù)據(jù)中心140/180內(nèi)平臺104/105的包容性詢問/確認的響應的操作。特別地,圖7說明了根據(jù)本發(fā)明的一個實施例的用于響應對數(shù)據(jù)中心內(nèi)平臺的包容性確認的流程圖。將參考系統(tǒng)100來描述流程圖700種所例示的操作;然而這些操作同樣可用于系統(tǒng)150。
在塊702,流程圖700以接收用于數(shù)據(jù)中心140內(nèi)的包容性確認的引用請求為開始。參考圖2所例示的實施例,平臺104內(nèi)的平臺密鑰應用邏輯202接收用于確認的引用請求。如上所述(取決于數(shù)據(jù)中心140的配置),引用請求可包括不同類型的請求。例如,引用請求可包括對平臺104的策略(該策略應對應于包括該平臺104的數(shù)據(jù)中心140的策略)的請求。如果平臺104支持TCPA操作,則引用請求可包括對存儲于令牌250的PCR 255中的值的請求。作為另一個例子,引用請求可包括對其他硬件和/或軟件規(guī)格(如平臺104內(nèi)的硬件和軟件單元的補丁級或版本)的請求。
在塊704,檢索引用請求所請求的值。參考圖2所例示的實施例,平臺密鑰應用邏輯202檢索該值。如對塊702的描述中所提出的那樣,引用請求可包括對存儲于PCR 255中的(表示用于平臺104的當前策略的)值的請求。因此,平臺密鑰應用邏輯202可使得令牌250的處理單元258檢索存儲于其中的PGR 255內(nèi)的值。在另一個實施例中,其中引用請求包括對存儲于其他位置中的表示用于平臺的策略的值的請求,平臺密鑰應用邏輯202可檢索這種數(shù)據(jù)。在一個實施例中,引用請求所請求的值可以是包含于引用請求內(nèi)的隨機數(shù)(如上所述)。特別地,引用請求可包括一隨機數(shù)和用數(shù)據(jù)中心私有密鑰120簽署該隨機數(shù)的指示。
在塊706,根據(jù)數(shù)據(jù)中心私有密鑰120簽署(從平臺104內(nèi)和/或從接收的引用請求內(nèi)檢索的)該值。參考圖2所例示的實施例,平臺密鑰應用邏輯202使用數(shù)據(jù)中心私有密鑰120簽署該值。在一個實施例中,平臺密鑰應用邏輯202可使得處理單元258使用數(shù)據(jù)中心私有密鑰120簽署該值。
在塊708,經(jīng)簽署的值被傳送回請求單元(如詢問者單元108)。參考圖2所例示的實施例,平臺密鑰應用邏輯202可通過網(wǎng)絡102使用網(wǎng)絡控制器240傳送經(jīng)簽署的值,作為對引用請求的響應。如上連同圖6的流程圖600所述的那樣,詢問者單元108內(nèi)的確認邏輯402可使用對應于數(shù)據(jù)中心私有密鑰120的公共密鑰、與所述私有密鑰相關聯(lián)的證明、和/或用于數(shù)據(jù)中心140/180的策略,來確認所述響應。
在一個實施例中,由于平臺的安全性被破壞、私有密鑰的訛誤等,可能需要取消存儲于數(shù)據(jù)中心的平臺中的私有密鑰。管理者單元106可接收來自平臺104/105、詢問者單元108或其他源的指示出這種與平臺104/105和/或私有密鑰120/130有關的問題的報警或差錯消息。例如,當數(shù)據(jù)中心140內(nèi)平臺104/105中的一個平臺的包容性確認失敗時,詢問者單元108可產(chǎn)生傳送到管理者單元106的差錯消息。此外,管理者單元106可根據(jù)與平臺104/105的嘗試性通信來判斷這些問題,其中平臺104/105不在通信。圖8說明了根據(jù)本發(fā)明的一個實施例的用于取消數(shù)據(jù)中心的私有密鑰的流程圖。
在塊802,作出數(shù)據(jù)中心140/180中的任一平臺104/105中的私有密鑰120/130不可用的確定。參考圖3所例示的實施例,管理邏輯302確定私有密鑰120/130不可用。如上所述,管理邏輯302可根據(jù)來自詢問者單元108、平臺104等的通信來作出該確定。
在塊804,作出關于包括不可用的私有密鑰120/130的給定的平臺104/105是否已被泄密(compromise)的判斷。參考圖3所例示的實施例,管理邏輯302判斷給定的平臺104/105是否已被泄密。在一個實施例中,管理邏輯302可通過檢索存儲于令牌250內(nèi)的PCR 255中的指示平臺104/105的當前配置的值來判斷給定的平臺104/105是否已被泄密。在另一個實施例中,管理邏輯302可通過從平臺104/105檢索其他類型的配置(包括硬件和軟件)來判斷給定的平臺104/105是否已被泄密。例如,管理邏輯302可查詢軟件/硬件的當前補丁級等。在一個實施例中,以肯定回答來回答該判斷(無需管理邏輯302作出這種判斷),從而取消用于數(shù)據(jù)中心140/180的當前密鑰對,重新分配用于數(shù)據(jù)中心140/180的新的密鑰對(如下所述)。
在塊806,一當判斷出給定的平臺104/105還未被泄密,私有密鑰120/130被重新分配到(包括不可用的私有密鑰120/130的)給定的平臺104/105。參考圖3所例示的實施例,管理邏輯302將私有密鑰120/130重新分配給給定的平臺104/105。參考系統(tǒng)100,管理邏輯302可將數(shù)據(jù)中心私有密鑰120重新分配給該給定的平臺104。參考系統(tǒng)150,管理邏輯302可使得令牌150重新產(chǎn)生經(jīng)證明的數(shù)據(jù)中心身份私有密鑰130,并將該經(jīng)證明的數(shù)據(jù)中心身份私有密鑰130傳送回管理者單元106。因此,如上所述,管理邏輯302可使得使用數(shù)據(jù)中心180的簽署密鑰175來證明該經(jīng)證明的數(shù)據(jù)中心身份私有密鑰130。在系統(tǒng)150的一個實施例中,經(jīng)證明的數(shù)據(jù)中心身份私有密鑰130仍然可用,但是對該私有密鑰130的證明是不可用的。因此,管理邏輯302可使得令牌250將該經(jīng)證明的數(shù)據(jù)中心身份私有密鑰130重傳回管理者單元106用于重新證明(如上所述)。因此,流程圖800所例示的取消操作結(jié)束。
在塊808,一當判斷出給定的平臺104/105已被泄密,則作出關于私有密鑰120/130是否對于平臺104/105是唯一的判斷。關于圖3所例示的實施例,管理邏輯302可作出該判斷。管理邏輯302可根據(jù)用于該給定數(shù)據(jù)中心的系統(tǒng)的類型來作出該判斷。例如,對于系統(tǒng)100,私有密鑰120對于平臺104來說不是唯一的,因為數(shù)據(jù)中心140的每個平臺104包括相同的私有密鑰120。相反,對于系統(tǒng)150,私有密鑰130對于平臺150來說是唯一的(如上所述)。
在塊810,一當判斷出私有密鑰120/130對于平臺104/105來說是唯一的,則在給定平臺104/105上取消私有密鑰120/130。關于圖3所例示的實施例,管理邏輯302取消給定平臺104/105上的私有密鑰120/130。在一個實施例中,管理邏輯302可通過將取消消息傳送給平臺104/105、詢問者單元108和/或具有私有密鑰120/130和/或其對應的公共密鑰的其他單元或模塊,來取消私有密鑰120/130。這樣一種取消消息可指示出這些密鑰對于該數(shù)據(jù)中心140/180來說不再有效。操作在塊814中繼續(xù)(下述)。
在塊812,一當判斷出私有密鑰120/130對于平臺104/105來說不是唯一的,在數(shù)據(jù)中心140/180的每個平臺104/105上取消私有密鑰120/130。參考圖3所例示的實施例,管理邏輯302取消具有存儲了這些密鑰的每個平臺104/105上的私有密鑰120/130。例如,關于系統(tǒng)100,數(shù)據(jù)中心私有密鑰120分布并存儲于數(shù)據(jù)中心140內(nèi)的每個不同的平臺104中。因此,在一個實施例中,管理邏輯302可將取消消息分布到存儲數(shù)據(jù)中心私有密鑰120的這些不同的平臺104的每一個中(如上所述)。而且,管理邏輯302可將取消消息分布到包括對應于該數(shù)據(jù)中心私有密鑰120的公共密鑰的其他單元或模塊(如詢問者單元108)(指示出這些密鑰對于該數(shù)據(jù)中心140來說不再有效)。
在塊814(私有密鑰120/130是否在一個或多個平臺104/105中取消),作出關于用于數(shù)據(jù)中心140/180的策略是否被修改的判斷。參考圖3所例示的實施例,管理邏輯302作出該判斷。如上所述,用于數(shù)據(jù)中心140/180的策略可包括平臺104/105要包含的以允許它們包容于數(shù)據(jù)中心140/180內(nèi)的若干不同的規(guī)格。因此,在私有密鑰120/130變得不可用之外,管理邏輯302將當前策略與數(shù)據(jù)中心140/180的策略相比較。在一個實施例中,這些不同版本的策略可存儲于管理者單元106內(nèi)。在一個實施例中,周期性地記錄用于數(shù)據(jù)中心140/180的策略,以允許跟蹤對其的改變。
在塊816,一當判斷出已修改了用于數(shù)據(jù)中心140/180的策略,各平臺104/105的包容性被重新建立于數(shù)據(jù)中心140/180中。參考圖3所例示的實施例,管理邏輯302重新建立各平臺104/105的包容性。在一個實施例中,管理邏輯302可對各平臺104/105取消私有密鑰120/130(如上所述),以重新建立它們的包容性(從而使得平臺104/105嘗試執(zhí)行上述的圖5A-5B中關于允許它們包容于數(shù)據(jù)中心140/180內(nèi)的操作)。
在塊818,一當判斷出用于數(shù)據(jù)中心140/180的策略未被改變,私有密鑰已被取消的平臺104/105的包容性被重新建立于平臺140/180中。參考圖3所例示的實施例,管理邏輯302將這些平臺104/105的包容性重新建立于數(shù)據(jù)中心140/180內(nèi)。這些平臺104/105在數(shù)據(jù)中心140/180中的這種建立已在上述關于圖5A-5B中描述。
因此,如所述,本發(fā)明的實施例允許對數(shù)據(jù)中心內(nèi)平臺的包容性的確認。在一個實施例中,在確認操作中可采用用于數(shù)據(jù)中心的不同平臺的單個私有密鑰。在另一個實施例中,在確認操作中可采用用于數(shù)據(jù)中心中的由數(shù)據(jù)中心證明的不同平臺的不同的私有密鑰。
雖然已經(jīng)描述了某些示例性實施例,并示于附圖中,但是要理解到這些實施例僅僅是說明性的,而非對本發(fā)明的限制,并且,本發(fā)明的實施例不限于所示和所述的特定結(jié)構(gòu)和配置,因為本領域的技術人員在研究了這里的揭示之后能夠作出各種其他修改。
權利要求
1.一種平臺,其特征在于,包括確認所述平臺在數(shù)據(jù)中心內(nèi)的包容性的私有密鑰;以及將所述私有密鑰密封到所述平臺的至少一個令牌。
2.如權利要求1所述的平臺,其特征在于,還包括根據(jù)接收到的詢問,提供由所述私有密鑰簽署的響應的接口。
3.如權利要求1所述的平臺,其特征在于,所述至少一個令牌包括存儲平臺的規(guī)格的寄存器;以及將所述私有密鑰密封于所述規(guī)格中的處理單元。
4.如權利要求3所述的平臺,其特征在于,當平臺處于數(shù)據(jù)中心內(nèi)時,存儲于寄存器中的規(guī)格對應于數(shù)據(jù)中心的策略。
5.如權利要求3所述的平臺,其特征在于,處理單元用于在平臺的初始化期間產(chǎn)生規(guī)格。
6.如權利要求3所述的平臺,其特征在于,處理單元用于產(chǎn)生所述私有密鑰。
7.如權利要求1所述的平臺,其特征在于,所述私有密鑰要存儲于數(shù)據(jù)中心的多個平臺內(nèi)。
8.如權利要求1所述的平臺,其特征在于,所述私有密鑰與要存儲于數(shù)據(jù)中心的其它平臺中的私有密鑰不同。
9.一種數(shù)據(jù)中心,其特征在于,包括產(chǎn)生包含私有密鑰的密鑰對的管理單元;耦合到所述管理單元的平臺,所述平臺包括令牌,所述令牌包括確認數(shù)據(jù)中心內(nèi)所述平臺的包容性的私有密鑰;存儲平臺的規(guī)格的寄存器;以及根據(jù)所述規(guī)格密封所述私有密鑰的處理單元。
10.如權利要求9所述的數(shù)據(jù)中心,其特征在于,所述私有密鑰要存儲于數(shù)據(jù)中心的多個平臺內(nèi)。
11.如權利要求9所述的數(shù)據(jù)中心,其特征在于,所述私有密鑰與要存儲于數(shù)據(jù)中心的其它平臺中的私有密鑰不同。
12.如權利要求9所述的數(shù)據(jù)中心,其特征在于,所述寄存器用于存儲對應于所述數(shù)據(jù)中心的策略的平臺的規(guī)格。
13.如權利要求9所述的數(shù)據(jù)中心,其特征在于,所述平臺還包括根據(jù)接收到的詢問,提供由所述私有密鑰簽署的響應的接口。
14.一種數(shù)據(jù)中心,其特征在于,包括平臺,所述平臺包括包括處理單元和寄存器的令牌,所述寄存器存儲值,所述值表示平臺的策略,所述處理單元產(chǎn)生包括私有密鑰的密鑰對;存儲所述密鑰對的私有密鑰的存儲器;耦合到所述平臺的管理單元,所述管理單元產(chǎn)生用于數(shù)據(jù)中心的根密鑰、根據(jù)根密鑰的證明產(chǎn)生用于數(shù)據(jù)中心的簽署密鑰、利用所述數(shù)據(jù)中心的簽署密鑰簽署平臺的私有密鑰。
15.如權利要求14所述的數(shù)據(jù)中心,其特征在于,還包括證明根密鑰的證明機構(gòu)。
16.如權利要求15所述的數(shù)據(jù)中心,其特征在于,所述證明機構(gòu)用于確認數(shù)據(jù)中心內(nèi)平臺的包容性。
17.如權利要求14所述的數(shù)據(jù)中心,其特征在于,所述存儲器用于存儲與存儲于數(shù)據(jù)中心的其它平臺中的私有密鑰不同的私有密鑰。
18.一種方法,其特征在于,包括產(chǎn)生與數(shù)據(jù)中心相關聯(lián)的密鑰對;以及將所述密鑰對的私有密鑰存儲于平臺內(nèi),所述私有密鑰用于簽署平臺內(nèi)存儲的值,用于平臺在數(shù)據(jù)中心內(nèi)的包容性確認。
19.如權利要求18所述的方法,其特征在于,還包括在把私有密鑰存儲于平臺內(nèi)之前,確認用于平臺的策略。
20.如權利要求19所述的方法,其特征在于,確認策略包括確認平臺的規(guī)格。
21.如權利要求19所述的方法,其特征在于,還包括將私有密鑰與用于平臺的策略相關聯(lián)。
22.如權利要求21所述的方法,其特征在于,將私有密鑰與用于平臺的策略相關聯(lián)包括根據(jù)平臺的硬件綁定私有密鑰;以及根據(jù)用于平臺的策略密封私有密鑰。
23.如權利要求22所述的方法,其特征在于,根據(jù)用于平臺的策略密封私有密鑰包括根據(jù)存儲于平臺中物理令牌內(nèi)的寄存器中的值密封私有密鑰。
24.如權利要求18所述的方法,其特征在于,還包括將密鑰對的私有密鑰存儲于數(shù)據(jù)中心內(nèi)的多個平臺中。
25.一種方法,其特征在于,包括接收引用請求以確認數(shù)據(jù)中心內(nèi)平臺的包容性;檢索與平臺的策略相關聯(lián)的值,所述值存儲于平臺中;使用存儲于平臺中的密鑰對的私有密鑰簽署該值;以及響應于所述引用請求而輸出經(jīng)簽署的值。
26.如權利要求25所述的方法,其特征在于,檢索與平臺的策略相關聯(lián)的值包括從平臺的物理令牌檢索該值。
27.如權利要求25所述的方法,其特征在于,使用密鑰對的私有密鑰簽署該值包括使用與存儲于數(shù)據(jù)中心內(nèi)其它平臺中的私有密鑰不同的私有密鑰來簽署該值。
28.如權利要求25所述的方法,其特征在于,接收引用請求包括接收包含一隨機值的引用請求。
29.如權利要求25所述的方法,其特征在于,還包括使用私有密鑰簽署隨機值;以及響應于所述引用請求而輸出隨機值。
30.一種機器可讀介質(zhì),其特征在于,該機器可讀介質(zhì)提供指令,當由機器執(zhí)行指令時致使所述機器進行下述操作產(chǎn)生引用請求以確認數(shù)據(jù)中心內(nèi)平臺的包容性;將引用請求傳送到平臺;接收對引用請求的響應,所述響應包括存儲于平臺中的由存儲于平臺中的私有密鑰簽署的值,其中所述值與平臺的策略相關聯(lián);以及根據(jù)使用對應于私有密鑰的公共密鑰對所述值的解密來確認數(shù)據(jù)中心內(nèi)平臺的包容性。
31.如權利要求30所述的機器可讀介質(zhì),其特征在于,還包括檢索用于數(shù)據(jù)中心的策略。
32.如權利要求31所述的機器可讀介質(zhì),其特征在于,確認平臺的包容性包括確認平臺的策略對應于數(shù)據(jù)中心的策略。
33.如權利要求3 1所述的機器可讀介質(zhì),其特征在于,確認數(shù)據(jù)中心內(nèi)平臺的包容性包括確認平臺的多個規(guī)格對應于數(shù)據(jù)中心的策略。
34.如權利要求30所述的機器可讀介質(zhì),其特征在于,確認數(shù)據(jù)中心內(nèi)平臺的包容性包括使用證明授權確認來確認私有密鑰已由與數(shù)據(jù)中心相關聯(lián)的簽署密鑰簽署。
35.如權利要求30所述的機器可讀介質(zhì),其特征在于,產(chǎn)生引用請求包括產(chǎn)生包含一隨機值的引用請求,其中確認數(shù)據(jù)中心內(nèi)平臺的包容性包括確認所述響應的解密包括所述隨機值。
36.一種機器可讀介質(zhì),其特征在于,該機器可讀介質(zhì)提供指令,當由機器執(zhí)行指令時致使所述機器進行下述操作產(chǎn)生與數(shù)據(jù)中心相關聯(lián)的根密鑰;使用根密鑰的證明,根據(jù)所述根密鑰產(chǎn)生簽署密鑰;接收來自平臺的用于包容于數(shù)據(jù)中心內(nèi)的請求,所述請求包括與所述平臺相關聯(lián)的私有密鑰;根據(jù)從與所述數(shù)據(jù)中心相關聯(lián)的簽署密鑰來的簽名來證明所述私有密鑰;以及將私有密鑰的證明存儲于平臺中,所述私有密鑰簽署存儲于平臺內(nèi)的值,用于數(shù)據(jù)中心內(nèi)平臺的包容性確認。
37.如權利要求36所述的機器可讀介質(zhì),其特征在于,接收來自平臺的請求包括接收包括用于所述平臺的與數(shù)據(jù)中心內(nèi)其它平臺的私有密鑰不同的私有密鑰的請求。
38.如權利要求36所述的機器可讀介質(zhì),其特征在于,還包括在證明平臺的私有密鑰之前,確認平臺包含對應于用于數(shù)據(jù)中心的策略的策略。
39.如權利要求38所述的機器可讀介質(zhì),其特征在于,所述確認包括確認所述平臺包括用于數(shù)據(jù)中心的多個規(guī)格。
40.如權利要求39所述的機器可讀介質(zhì),其特征在于,還包括將私有密鑰與用于平臺的策略相關聯(lián)。
41.如權利要求40所述的機器可讀介質(zhì),其特征在于,將私有密鑰與用于平臺的策略相關聯(lián)包括根據(jù)平臺的硬件綁定私有密鑰;以及根據(jù)用于平臺的策略密封私有密鑰。
42.如權利要求41所述的機器可讀介質(zhì),其特征在于,根據(jù)用于平臺的策略密封私有密鑰包括根據(jù)存儲于平臺中物理令牌內(nèi)的寄存器中的值來密封私有密鑰。
43.一種機器可讀介質(zhì),其特征在于,該機器可讀介質(zhì)提供指令,當由機器執(zhí)行指令時致使所述機器進行一當判斷出數(shù)據(jù)中心的多個平臺中的一個平臺已泄密,就執(zhí)行下述操作取消存儲于數(shù)據(jù)中心的多個平臺中的當前密鑰對;產(chǎn)生與數(shù)據(jù)中心相關聯(lián)的新的密鑰對;以及將新的密鑰對的私有密鑰存儲于已泄密的多個平臺中。
44.如權利要求43所述的機器可讀介質(zhì),其特征在于,還包括在把新的私有密鑰存儲于多個平臺中之前,確認該多個平臺的策略。
45.如權利要求44所述的機器可讀介質(zhì),其特征在于,確認策略包括確認平臺的規(guī)格。
46.如權利要求44所述的機器可讀介質(zhì),其特征在于,所述執(zhí)行下述操作包括將新的私有密鑰與平臺的策略相關聯(lián)。
47.如權利要求43所述的機器可讀介質(zhì),其特征在于,還包括確定當前密鑰對的當前私有密鑰在多個平臺中的至少一個平臺中不可用。
48.如權利要求47所述的機器可讀介質(zhì),其特征在于,還包括一當判斷出所述至少一個平臺未泄密,則將當前私有密鑰重新分配給該至少一個平臺。
49.一種機器可讀介質(zhì),其特征在于,該機器可讀介質(zhì)提供指令,當由機器執(zhí)行指令時致使所述機器進行一當判斷處數(shù)據(jù)中心的多個平臺中的一個平臺已泄密,以及存儲于該平臺中的當前私有密鑰不同于存儲于數(shù)據(jù)中心的其它平臺中的私有密鑰,就執(zhí)行下述操作取消包含所述當前私有密鑰的當前密鑰對;根據(jù)來自與數(shù)據(jù)中心相關聯(lián)的簽署密鑰的簽名來證明新的私有密鑰;以及將新的私有密鑰的證明存儲于平臺中,所述新的私有密鑰簽署平臺中存儲的值,用于數(shù)據(jù)中心內(nèi)平臺的確認。
50.如權利要求49所述的機器可讀介質(zhì),其特征在于,還包括在證明新的私有密鑰之前,確認平臺包括對應于用于數(shù)據(jù)中心的策略的策略。
51.如權利要求50所述的機器可讀介質(zhì),其特征在于,所述執(zhí)行下述操作包括將新的私有密鑰與平臺的策略相關聯(lián)。
52.如權利要求49所述的機器可讀介質(zhì),其特征在于,還包括確定所述當前私有密鑰在多個平臺中的至少一個平臺中不可用。
53.如權利要求52所述的機器可讀介質(zhì),其特征在于,一當判斷出所述至少一個平臺未泄密,則將當前密鑰重新分配給該至少一個平臺。
全文摘要
在一個實施例中,一種方法包括產(chǎn)生與數(shù)據(jù)中心相關聯(lián)的密鑰對。該方法還包括在平臺中存儲密鑰對的私有密鑰。私有密鑰用于簽署存儲于平臺中的值,用于平臺包容于數(shù)據(jù)中心內(nèi)的確認。在一個實施例中,一當判斷出平臺被泄密,就取消私有密鑰。在一個實施例中,可在數(shù)據(jù)中心的每個平臺中取消私有密鑰。
文檔編號G06F1/00GK1659495SQ03813679
公開日2005年8月24日 申請日期2003年3月28日 優(yōu)先權日2002年4月15日
發(fā)明者J·薩頓二世, D·格垃洛克 申請人:英特爾公司