對受保護數(shù)據(jù)集進行基于網(wǎng)絡的管理的制作方法
【專利摘要】一種包括被配置成維持受保護賬戶的賬戶管理模塊的系統(tǒng)。例如,特定受保護賬戶包括在系統(tǒng)外部無法讀取并且可能甚至在賬戶外部無法讀取的受保護數(shù)據(jù)集。該特定數(shù)據(jù)集對應于指派給特定賬戶的特定實體并且包括對應于特定實體的密鑰。安全處理器響應于從特定實體接收到一個或多個受信執(zhí)行環(huán)境命令而使用多個密鑰中的至少一些以執(zhí)行密碼過程。
【專利說明】對受保護數(shù)據(jù)集進行基于網(wǎng)絡的管理
[0001] 背景
[0002] 受信平臺模塊(即"TPM")是與計算設備的常規(guī)操作環(huán)境隔離的受信執(zhí)行環(huán)境。 通常,TPM以物理上綁定到計算設備的芯片形式來實現(xiàn)。常規(guī)計算環(huán)境可以通過接口(該 接口的一個示例是基于TPM的服務(即"TBS"))與TPM通信。
[0003] TPM提供各種功能,這些功能中最常用的是密碼密鑰生成、策略驅動的密鑰使用、 密封存儲、以及證明。TPM具有被稱為"受保護區(qū)域"的存儲器區(qū)域,該"受保護區(qū)域"包含 無法被讀取的數(shù)據(jù),但是可以使用這些數(shù)據(jù)來執(zhí)行操作和/或對這些數(shù)據(jù)執(zhí)行操作。一些 數(shù)據(jù)是不可改變的,并且因而由正在執(zhí)行的操作讀?。ǖ槐桓淖儯恍?shù)據(jù)是可改變 的并且可以通過這些操作來改變。注意到,讀取數(shù)據(jù)的是在TPM內部正在執(zhí)行的操作。受 保護數(shù)據(jù)在TPM外部是不可讀的。
[0004] 因而,TPM具有執(zhí)行操作的操作組件,以及保留不能夠在TPM外部被讀取的受保護 數(shù)據(jù)的存儲器組件。TPM的操作速度受限于TPM內硬件的能力。同樣,受保護區(qū)域的大小受 限于TPM內的空間。
[0005] 簡要概述
[0006] 本文描述的至少一個實施例涉及一種包括被配置成維持受保護賬戶的賬戶管理 模塊的系統(tǒng)。例如,特定受保護賬戶包括從系統(tǒng)外部無法訪問并且可能甚至從賬戶外部無 法訪問的受保護數(shù)據(jù)集。該特定數(shù)據(jù)集與指派給特定賬戶的特定實體(例如,設備、系統(tǒng)、 用戶、組件、或其組合)相對應并且包括對應于特定設備的密鑰。安全處理器響應于從特定 實體接收到一個或多個受信執(zhí)行環(huán)境命令而使用這些密鑰中的至少一些以執(zhí)行密碼和安 全過程。在一些實施例中,可能存在針對屬于相同賬戶的不同實體的多個數(shù)據(jù)集。
[0007] 提供本概述是為了以簡化的形式介紹將在以下【具體實施方式】中進一步描述的概 念選擇。本概述不旨在標識出所要求保護的主題的關鍵特征或必要特征,也不旨在用于幫 助確定所要求保護的主題的范圍。
【專利附圖】
【附圖說明】
[0008] 為了描述能夠獲得上述和其它優(yōu)點和特征的方式,各實施例的更具體的描述將通 過參考各附圖來呈現(xiàn)??梢岳斫?,這些附圖只描繪了示例實施例,并且因此不被認為是對其 范圍的限制,將通過使用附圖并利用附加特征和細節(jié)來描述和解釋各實施例,在附圖中:
[0009] 圖1示出可用于采用本文描述的各實施例并且包括管理級和本地受信執(zhí)行環(huán)境 級的示例計算系統(tǒng);
[0010] 圖2示出了一環(huán)境,其中多個客戶端中的一些客戶端通過網(wǎng)絡利用受信平臺模塊 (TPM)與系統(tǒng)對接,該系統(tǒng)包括多個賬戶,每一個賬戶具有一個或多個受保護數(shù)據(jù)集,這些 受保護數(shù)據(jù)集服從響應于從客戶端接收到的本地受信執(zhí)行環(huán)境命令而實現(xiàn)的密碼過程;
[0011] 圖3將受保護數(shù)據(jù)集抽象地示為包括不可改變數(shù)據(jù)和可改變數(shù)據(jù);以及
[0012] 圖4示出了用于管理受信執(zhí)行環(huán)境命令的方法的流程圖。
【具體實施方式】
[0013] 根據(jù)本文描述的至少一個實施例,描述了一種系統(tǒng),其中賬戶管理模塊維持受保 護賬戶。例如,特定受保護賬戶包括從系統(tǒng)外部無法訪問并且可能甚至從賬戶外部無法訪 問的受保護數(shù)據(jù)集。該特定數(shù)據(jù)集與指派給特定賬戶的特定實體(例如,設備、系統(tǒng)(諸如 計算系統(tǒng))、用戶、組件、或其組合)相對應并且包括對應于特定實體的密鑰。安全處理器響 應于從特定實體接收到的一個或多個受信執(zhí)行環(huán)境命令而使用多個密鑰中的至少一些以 執(zhí)行密碼和安全過程。在一些實施例中,可能存在多個數(shù)據(jù)集,每個數(shù)據(jù)集對應于不同的實 體。此外,盡管未作要求,但也可能在單個賬戶內存在多個受保護數(shù)據(jù)集。
[0014] 計算系統(tǒng)現(xiàn)在越來越多地采取多種多樣的形式。例如,計算系統(tǒng)可以是手持式設 備(諸如智能電話)、電器、膝上型計算機、臺式計算機、大型機、分布式計算系統(tǒng)或甚至常 規(guī)上不被認為是計算系統(tǒng)的設備(諸如腕帶手表、廚房電器、汽車、醫(yī)療植入設備等)。在本 說明書以及權利要求書中,術語"計算系統(tǒng)"被廣義地定義為包括任何設備或系統(tǒng)(或其組 合),該設備或系統(tǒng)包含至少一個物理有形的處理器以及其上能含有可由處理器執(zhí)行的計 算機可執(zhí)行指令的物理有形的存儲器。存儲器可以采取任何形式,并可以取決于計算系統(tǒng) 的性質和形式。
[0015] 如此處所使用的那樣,術語"模塊"或"組件"可以指在計算系統(tǒng)上執(zhí)行的軟件對 象或例程。此處所描述的不同組件、模塊、引擎,以及服務可以實現(xiàn)為在計算系統(tǒng)上執(zhí)行的 對象或進程(例如,作為分開的線程)。
[0016] 這里描述的各實施例可包括或利用專用或通用計算機,該專用或通用計算機包括 諸如例如一個或多個處理器和系統(tǒng)存儲器等計算機硬件,如以下更詳細討論的。這里描述 的各實施例還包括用于承載或存儲計算機可執(zhí)行指令和/或數(shù)據(jù)結構的物理和其他計算 機可讀介質。這樣的計算機可讀介質可以是可由通用或專用計算機系統(tǒng)訪問的任何可用介 質。存儲計算機可執(zhí)行指令或數(shù)據(jù)的計算機可讀介質是物理存儲介質。承載計算機可執(zhí)行 指令或數(shù)據(jù)的計算機可讀介質是傳輸介質。由此,作為示例而非限制,本發(fā)明的各實施例可 包括至少兩種顯著不同的計算機可讀介質:計算機存儲介質和傳輸介質。
[0017] 計算機存儲介質包括RAM、ROM、EEPROM、CD-ROM或其他光盤存儲、磁盤存儲或其他 磁存儲設備、或可用于存儲計算機可執(zhí)行指令或數(shù)據(jù)結構形式的所需程序代碼裝置且可由 通用或專用計算機訪問的任何其他介質。
[0018] "網(wǎng)絡"被定義為使得電子數(shù)據(jù)能夠在計算機系統(tǒng)和/或模塊和/或其它電子設 備之間傳輸?shù)囊粋€或多個數(shù)據(jù)鏈路。當信息通過網(wǎng)絡或另一個通信連接(硬連線、無線、 或者硬連線或無線的組合)傳輸或提供給計算機時,該計算機將該連接適當?shù)匾暈閭鬏斀?質。傳輸介質可包括可用于攜帶計算機可執(zhí)行指令或數(shù)據(jù)結構形式的所需程序代碼裝置且 可由通用或專用計算機訪問的網(wǎng)絡和/或數(shù)據(jù)鏈路。上述的組合也應被包括在計算機可讀 介質的范圍內。
[0019] 此外,在到達各種計算機系統(tǒng)組件之后,計算機可執(zhí)行指令或數(shù)據(jù)結構形式的程 序代碼資料可從傳輸介質自動傳輸?shù)接嬎銠C存儲介質(或反之亦然)。例如,通過網(wǎng)絡或 數(shù)據(jù)鏈路接收到的計算機可執(zhí)行指令或數(shù)據(jù)結構可被緩存在網(wǎng)絡接口模塊(例如,"NIC") 內的RAM中,然后最終被傳輸?shù)接嬎銠C系統(tǒng)RAM和/或計算機系統(tǒng)處的較不易失性的計算 機存儲介質。因而,應當理解,計算機存儲介質可被包括在還利用(或甚至主要利用)傳輸 介質的計算機系統(tǒng)組件中。
[0020] 計算機可執(zhí)行指令包括,當在處理器處執(zhí)行時使通用計算機、專用計算機、或專用 處理設備執(zhí)行某一功能或某組功能的指令和數(shù)據(jù)。計算機可執(zhí)行指令可以是例如二進制代 碼、諸如匯編語言之類的中間格式指令、或甚至源代碼。盡管用結構特征和/或方法動作專 用的語言描述了本主題,但可以理解,所附權利要求書中定義的主題不必限于上述特征或 動作。更具體而言,上述特征和動作是作為實現(xiàn)權利要求的示例形式而公開的。
[0021] 本領域的技術人員將理解,本發(fā)明可以在具有許多類型的計算機系統(tǒng)配置的網(wǎng)絡 計算環(huán)境中實踐,這些計算機系統(tǒng)配置包括個人計算機、臺式計算機、膝上型計算機、消息 處理器、手持式設備、多處理器系統(tǒng)、基于微處理器的或可編程消費電子設備、網(wǎng)絡PC、小型 計算機、大型計算機、移動電話、PDA、尋呼機、路由器、交換機等等。
[0022] 在本說明書和權利要求書中,"設備"被定義為不是分布式的任何計算系統(tǒng)。然而, 本發(fā)明也可在其中通過網(wǎng)絡鏈接(或者通過硬連線數(shù)據(jù)鏈路、無線數(shù)據(jù)鏈路,或者通過硬 連線和無線數(shù)據(jù)鏈路的組合)的本地和遠程計算機系統(tǒng)兩者都執(zhí)行任務的分布式系統(tǒng)環(huán) 境中實施。在分布式系統(tǒng)環(huán)境中,程序模塊可以位于本地和遠程存儲器存儲設備二者中。
[0023] 圖1示出了計算系統(tǒng)100的示例。計算系統(tǒng)100包括管理域110(即"管理級") 和本地受信執(zhí)行環(huán)境域120 (即"本地受信執(zhí)行環(huán)境級")。管理域110包括處理器111和 主存儲器112。主存儲器112經(jīng)由處理器111的使用可供計算系統(tǒng)100的管理員訪問。主 存儲器112可以是物理系統(tǒng)存儲器,該物理系統(tǒng)存儲器可以是易失性、非易失性、或兩者的 某種組合。術語"存儲器"在此也可用來指諸如物理存儲介質等非易失性大容量存儲。
[0024] 本地受信執(zhí)行環(huán)境域120甚至無法直接由人類管理員訪問。本地受信執(zhí)行環(huán)境域 120包括受信平臺模塊(TPM) 121,受信平臺模塊(TPM) 121包括密碼功能122和受保護區(qū)域 123。如果存在直接訪問TPM內容的任何可能的方法,則該方法將會涉及實際上物理地將 TPM分片或以其它方式將TPM分解并且使用復雜設備來物理地檢查內容。因而,本地受信 執(zhí)行環(huán)境域120的內容是安全的。受保護區(qū)域123包括在TPM外部無法讀取的至少一些內 容。然而,密碼功能122能夠使用受保護區(qū)域123的內容來操作。受保護區(qū)域包括不可改 變數(shù)據(jù)123A和可改變數(shù)據(jù)123B。這兩種類型的數(shù)據(jù)都能夠由密碼功能122讀取。然而,僅 可改變數(shù)據(jù)123B能夠被密碼功能122寫入。
[0025] 不可改變數(shù)據(jù)的一個示例是背書密鑰,其充當TPM的通行證,從而提供TPM身份的 制造商級安全性。此外,由于常規(guī)TPM物理地附連于計算系統(tǒng),背書密鑰還安全地標識了計 算系統(tǒng)100,并且因而可以充當計算系統(tǒng)100的信任基礎。
[0026] 可改變數(shù)據(jù)的示例包括其它密鑰、單調計數(shù)器、以及非易失性存儲器。其它密鑰可 以應處理器111的請求來構造。單調計數(shù)器開始于0,并且當處理器111作出請求時或者響 應于某些事件(諸如打開系統(tǒng)電源)遞增。密鑰可以是可迀移的或者不可迀移的??赊|移 密鑰可以在具有正確授權的任何TPM中使用,而不可迀移密鑰僅可在TPM 121中使用。
[0027] 計算系統(tǒng)100包括用于在處理器111與TPM 121中間進行通信的接口 130。常規(guī) 接口 130的一個示例是基于TPM的服務模塊(TBS),基于TPM的服務模塊(TBS)將來自處 理器111的TPM命令提供給TPM 121,并且如果合適,將密碼處理的結果(當然不包括TPM 121的內容)返回給處理器111。
[0028] 參考圖1描述的具有常規(guī)部署的TPM的這一常規(guī)計算系統(tǒng)100具有某些優(yōu)點和缺 點。例如,常規(guī)TPM制造起來較不昂貴,并且的確提供本地受信執(zhí)行環(huán)境級的受保護區(qū)域。 然而,TPM的密碼功能由于處理受限于小型TPM的能力而常常是相當慢的。此外,受保護區(qū) 域122的存儲器空間也常常是相當小的,并且常常遠低于1兆字節(jié)。此外,如果計算系統(tǒng) 100或TPM 121被破壞,綁定到TPM或者由TPM構造的所有密鑰都變得無用。而且,常規(guī)計 算系統(tǒng)僅能夠通過物理地綁定到TPM來利用TPM的功能。
[0029] 盡管包含TPM的常規(guī)計算系統(tǒng)不是分布式的,但如本文所使用的術語"計算系統(tǒng)" 也可以在網(wǎng)絡環(huán)境上分布,在該情形中,處理、存儲器和/或存儲能力也可以是分布式的。
[0030] 在隨后的描述中,參考由一個或多個計算系統(tǒng)執(zhí)行的動作描述了各實施例。如果 這樣的動作是以軟件實現(xiàn)的,則執(zhí)行動作的相關聯(lián)計算系統(tǒng)的一個或多個處理器響應于已 經(jīng)執(zhí)行了計算機可執(zhí)行指令來引導計算系統(tǒng)的操作。這樣的操作的示例涉及對數(shù)據(jù)的操 縱。計算機可執(zhí)行指令(以及被操縱的數(shù)據(jù))可被存儲在計算系統(tǒng)的存儲器中。
[0031] 圖2示出了可采用本文中所描述的原理的環(huán)境200。具體地,環(huán)境200包括多個客 戶端計算系統(tǒng)201 (在下文被稱為"客戶端201")。本文描述的原理允許至少一些本地受信 執(zhí)行環(huán)境功能通過網(wǎng)絡203從客戶端卸載到系統(tǒng)210中。這是違反直覺的,因為傳統(tǒng)上TPM 模塊在本地受信執(zhí)行環(huán)境級操作并且因而物理地綁定到客戶端。在圖2的情形中,多個客 戶端能夠將TPM功能卸載到系統(tǒng)210中。網(wǎng)絡203的一個示例是因特網(wǎng),但是本文描述的 原理還可應用于其它網(wǎng)絡,諸如可能是企業(yè)網(wǎng)絡。
[0032] TPM的功能通過使系統(tǒng)210仿真受保護區(qū)域及其不可讀取性的特征來卸載。例如, 傳統(tǒng)TPM具有包括在TPM外部無法被讀取的數(shù)據(jù)的受保護區(qū)域,而系統(tǒng)210具有針對每一 實體的受保護區(qū)域,并且該受保護區(qū)域從系統(tǒng)外部或者從賬戶外部無法讀取,除了安全處 理器213能夠讀取之外。由于系統(tǒng)210不容易遭到破壞而藉此允許另一實體讀取受保護數(shù) 據(jù),因此系統(tǒng)210在造成對發(fā)現(xiàn)受保護區(qū)域的內容的嚴重障礙方面提供了本地受信執(zhí)行環(huán) 境安全的等效物。
[0033] 此外,安全處理器213可以用本地TPM通常將對受信執(zhí)行環(huán)境命令作出響應的相 同方式來對這些受信執(zhí)行環(huán)境命令作出響應。例如,安全處理器213可以對密鑰和/或受 保護數(shù)據(jù)集執(zhí)行密碼和/或安全處理。這允許對TPM的許多功能進行仿真。如果客戶端被 毀壞,TPM在系統(tǒng)210中仍然可用,并且因而從TPM生成的密鑰和其它數(shù)據(jù)(諸如與TPM相 關聯(lián)的單調計數(shù)器、非易失性RAM內容等)仍然可以使用。
[0034] 在圖2中,存在示出的六個客戶端20IA到20IF。然而,省略號20IG表示本文描述 的原理不受到連接到系統(tǒng)210的客戶端201的特定數(shù)量的限制??赡艽嬖谏僦烈粋€客戶端, 但也可能存在很多個客戶端,尤其在網(wǎng)絡203是因特網(wǎng)和/或系統(tǒng)210是云計算環(huán)境的情 況下。此外,客戶端201的數(shù)量可以隨著時間而改變。例如,如果系統(tǒng)210是云計算環(huán)境, 則客戶端201的數(shù)量可以每秒或每分鐘地變化。
[0035] 在該描述和下面的權利要求書中,"云計算"被定義為用于允許對可配置計算資源 (例如,網(wǎng)絡、服務器、存儲、應用和服務)的共享池的按需網(wǎng)絡訪問的模型。"云計算"的定 義不限于可從這樣的模型(在被合適地部署時)中獲得的任何其他多個優(yōu)點。
[0036] 例如,云計算機當前被用于市場,以便提供對可配置計算資源的共享池的普遍存 在且方便的按需訪問。此外,可配置計算資源的共享池可經(jīng)由虛擬化而被快速地供應,并可 利用低管理努力或服務提供商干預來發(fā)布,并隨后因此被縮放。
[0037] 云計算模型可由各種特性組成,諸如按需自服務、廣泛網(wǎng)絡訪問、資源池、快速靈 活性、測定的服務等。云計算模型還可形成各種服務模型,諸如例如軟件即服務(SaaS)、平 臺即服務(PaaS)以及基礎結構即服務(IaaS)。云計算模型還可以使用不同的部署模型來 部署,諸如私有云、社區(qū)云、公共云和混合云等。在該描述和權利要求書中,"云計算環(huán)境"是 其中采用了云計算的環(huán)境。
[0038] 一些客戶端201可包括TPM,而一些客戶端可以不包括TPM。例如,在圖2的情形 中,客戶端201A具有TPM 202A,客戶端201B具有TPM 202B,而客戶端201E具有客戶端 202E。包括客戶端201C、201D或201F的其它客戶端不具有TPM。TPM的存在允許將TPM的 一些機器特定的功能(諸如提供與機器相關聯(lián)的受信事件歷史的能力)如下文所說明地進 行卸載,即便本地客戶端TPM可能無法完全作為TPM來運作。然而,即便沒有TPM,一些TPM 功能仍然可以如下所述地進行卸載。
[0039] 系統(tǒng)210包括接收模塊211,接收模塊211接收由客戶端201發(fā)出的受信執(zhí)行環(huán)境 命令。通常使用TPM軟件接口(諸如TBS)被發(fā)到TPM的受信執(zhí)行環(huán)境命令取而代之被截 取,并且指派到系統(tǒng)210以藉此由接收模塊211接收。例如,客戶端201A到201F將這些受 信執(zhí)行環(huán)境命令指派為由對應的箭頭205A到205F所表示的。每一受信執(zhí)行環(huán)境命令是用 于對與發(fā)出命令的實體相對應的安全上下文(例如,密鑰或數(shù)據(jù))進行操作的命令。系統(tǒng) 包括安全處理器213,安全處理器213響應于由接收模塊211接收到受信執(zhí)行環(huán)境命令來執(zhí) 行密碼和安全功能。
[0040] 系統(tǒng)210還包括賬戶管理模塊212,賬戶管理模塊212包括多個受保護賬戶221。 在圖2中,賬戶包括三個賬戶221A、221B和221C,但省略號221D表示可以存在由系統(tǒng)210 管理的任何數(shù)目的賬戶。每一個賬戶對應于客戶端201中的一個或多個客戶端,并且包括 對應于每一客戶端的受保護數(shù)據(jù)集。每一受保護數(shù)據(jù)集仿真TPM的受保護區(qū)域對于每個客 戶端而言看起來將是如何。然而,由于受保護數(shù)據(jù)集不受TPM的較小區(qū)域的限制,因此受保 護數(shù)據(jù)集可以大得多,可能在兆字節(jié)、千兆字節(jié)或萬億字節(jié)的范圍內。
[0041] 在圖2中,賬戶221A具有對應于客戶端201A的受保護數(shù)據(jù)集222A。賬戶221B 具有對應于客戶端201B的受保護數(shù)據(jù)集222B,以及對應于客戶端201C的受保護數(shù)據(jù)集 222C。賬戶221B的各個客戶端由點劃線框涵蓋。賬戶221C具有對應于客戶端201D的受 保護數(shù)據(jù)集222D,對應于客戶端201E的受保護數(shù)據(jù)集222E,以及對應于客戶端201F的受 保護數(shù)據(jù)集222F。賬戶221C的各個客戶端由虛線框涵蓋。
[0042] 受保護數(shù)據(jù)集222在它們的內容在系統(tǒng)的上下文外部無法讀取并且可能在對應 的賬戶外部無法讀?。ǔ丝赡苡砂踩幚砥?13讀取之外)的意義上是"受保護"的。在 一個實施例中,安全處理器213的一個實例是在賬戶的上下文內部運行。在該情形中,將會 在賬戶221A內部存在安全處理器213,在賬戶221B內部存在另一安全處理器213,并且在 賬戶221C內部存在另一安全處理器213。
[0043] 每一數(shù)據(jù)集仿真在TPM不存在存儲器限制的情況下對應的客戶端201可能在其 TPM中具有什么的示例。例如,圖3示出了包括不可改變數(shù)據(jù)301和可改變數(shù)據(jù)302的特定 數(shù)據(jù)集300。例如,不可改變數(shù)據(jù)302包括背書密鑰311,其是不可迀移的。不可改變數(shù)據(jù) 302還包括可迀移密鑰312以及其它不可改變數(shù)據(jù)313。可改變數(shù)據(jù)302包括可迀移密鑰 321、不可迀移密鑰322、單調計數(shù)器323、以及非易失性存儲器324。
[0044] 所有的數(shù)據(jù)集300如上所提及地受保護。然而,不可改變數(shù)據(jù)301無法被改變,即 便是安全處理器213也無法改變它??筛淖償?shù)據(jù)302可以改變,但僅響應于安全處理器213 的執(zhí)行。背書密鑰311是不可迀移密鑰,因為其僅能在對應于數(shù)據(jù)集的賬戶內部使用。然 而,可迀移密鑰312可以在賬戶外部使用,但僅能在阻止對可迀移密鑰不受阻礙地讀取的 受保護環(huán)境(諸如在另一 TPM或另一類似配置的賬戶內)下進行。不可改變數(shù)據(jù)301還可 包括其它數(shù)據(jù)313??筛淖償?shù)據(jù)302也可具有可迀移和不可迀移密鑰,諸如可迀移密鑰321 和不可迀移密鑰322??筛淖償?shù)據(jù)302還包括單調計數(shù)器,單調計數(shù)器響應于遞增的請求和 /或響應于另一事件(諸如打開機器的電源)而不可逆地遞增。可改變數(shù)據(jù)302還可包括 非易失性存儲器。
[0045] 可任選地,每一受保護賬戶221A到221C可以進一步包括對應的賬戶級數(shù)據(jù)集 223A到223C。例如,賬戶221A具有帳戶級數(shù)據(jù)集223A,賬戶221B具有賬戶級數(shù)據(jù)集223B, 而賬戶221C具有賬戶級數(shù)據(jù)集223C。每一賬戶級數(shù)據(jù)集不特定于與該賬戶相關聯(lián)的任 何實體,而是通用于該賬戶本身。作為一個示例,使用現(xiàn)有的TPM通信協(xié)議,可以將上級 PCR(諸如PCR 24及以上)用于這樣的賬戶級數(shù)據(jù)。
[0046] 作為一個示例,假定賬戶22IB對應于特定用戶,賬戶級數(shù)據(jù)集223B可列出用戶口 令。賬戶級數(shù)據(jù)集223B還可用于記錄與賬戶相關聯(lián)的不可改變事件。例如,賬戶級數(shù)據(jù)集 223B可以存儲操作系統(tǒng)中高敏感度功能(諸如賬戶和會話管理)的記錄。這將使得難以提 高特權或劫持賬戶。此外,能夠將賬戶綁定到其它受信平臺模塊(TPM)屬性(例如像PCR) 允許向用戶隱式證明系統(tǒng)是被成功認證并且是可操作的。作為另一示例,用戶可以存儲用 戶向其注冊的許可序列。再一次,這一序列可以是不可改變的,并且可能使用可從中數(shù)學地 導出許可序列的單個條目來作出。在該情形中,如果出現(xiàn)關于用戶是否具有對特定產(chǎn)品的 許可證的問題,則該用戶可能具體地知道答案。
[0047] 相應地,本文所描述的是一種將受保護區(qū)域的內容的有保證的不可改變性通過網(wǎng) 絡(諸如在云計算環(huán)境中)從本地TPM卸載到服務的有效方式。這通過截取從客戶端處理 器向TPM發(fā)出的受信執(zhí)行環(huán)境命令,并且通過網(wǎng)絡將它們重定向到具有能夠解讀受信執(zhí)行 環(huán)境命令的安全處理器以及針對包括要受保護的數(shù)據(jù)的每一客戶端的數(shù)據(jù)集的系統(tǒng)來完 成。
[0048] 這保護了本地受信執(zhí)行環(huán)境層的安全性,因為要破壞受保護區(qū)域(例如數(shù)據(jù)集) 將是極度困難的或不可能的,實質上要求破壞系統(tǒng)210以便訪問受保護數(shù)據(jù)。由于系統(tǒng)210 可能是相當復雜且具有高安全級,破壞系統(tǒng)210將是極度困難的或不可能的。該難度或不 可能性甚至可能超過試圖破壞客戶端機器本身上的客戶端TPM的難度或不可能性。相應 地,保護了本地受信執(zhí)行環(huán)境安全性。盡管信息可以從客戶端傳達到系統(tǒng)210,但這些信息 僅僅是受信執(zhí)行環(huán)境命令,而非數(shù)據(jù)集中受保護的實際數(shù)據(jù)。相應地,即便有人能夠讀取這 些話務,受保護數(shù)據(jù)仍然是受保護的。在某一實施例中,如果客戶端處理器和系統(tǒng)210之間 存在信任關系,則甚至網(wǎng)絡話務都可以被加密。在存在與毫無障礙地傳送命令相關聯(lián)的安 全問題的情形中,這可能是有幫助的。這樣的信任關系可以例如在供應客戶端的時候被引 導。
[0049] 作為一種附加益處,由于存儲器空間不再受限于小的芯片,可用存儲器的量可顯 著增加。此外,由于處理能力不再受限于小型TPM芯片,密碼過程可以被更高效得多地執(zhí)行 和/或變得更復雜。同樣,由于受保護區(qū)域不再物理耦合至客戶端,如果客戶端被毀壞,使 用來自受保護區(qū)域的數(shù)據(jù)構造的密鑰仍然可以使用。
[0050] 在描述其它方面之前,本文將進一步描述與處理受信執(zhí)行環(huán)境命令相關聯(lián)的一般 處理流程。具體地,圖4示出了用于處理受信執(zhí)行環(huán)境命令的方法400的流程圖。作為一 個示例,受信執(zhí)行環(huán)境命令可以是任何TPM命令,無論是否符合任何現(xiàn)有協(xié)議(諸如TPM版 本1. 2和TPM版本2. 0)或者是否符合促進與本地受信執(zhí)行環(huán)境層的通信的將來TPM協(xié)議 或任何協(xié)議。方法400的一些動作由客戶端(例如客戶端201A)執(zhí)行,如圖4的右側列中 標題"客戶端"下方所示。其它動作由系統(tǒng)210執(zhí)行,如圖4的中間列中標題"系統(tǒng)"下方 所示。其它動作由安全處理器213執(zhí)行,如圖4的左側列中標題"安全操作"下方所示。
[0051] 該過程當客戶端發(fā)出受信執(zhí)行環(huán)境命令時開始(動作401)。作為指派到客戶端上 的本地TPM的替換或者補充,受信執(zhí)行環(huán)境命令被截?。▌幼?02),并且指派到系統(tǒng)(動作 403) 〇
[0052] 系統(tǒng)接著接收到受信執(zhí)行環(huán)境命令(動作411),標識與發(fā)出該受信執(zhí)行環(huán)境命令 的客戶端相關聯(lián)的賬戶(動作412),標識與該客戶端相關聯(lián)的數(shù)據(jù)集(動作413),以及標 識要執(zhí)行的操作(動作414)。安全處理器隨后被指令執(zhí)行操作(動作415),并且安全處理 器隨后對標識出的賬戶的標識出的數(shù)據(jù)集執(zhí)行操作(動作421)。
[0053] 尚未提及的TPM的功能之一依賴于檢測對應客戶端的電力循環(huán)的能力。這是TPM 在對應客戶端內綁定并且硬連線到客戶端的電源的原因之一,因為這樣TPM能夠檢測電源 的丟失以及電源的恢復。檢測電力循環(huán)的原因之一在于使得TPM能夠在經(jīng)歷電源丟失和恢 復之際重置受保護數(shù)據(jù)內的一些數(shù)據(jù)。在一些情形中,一些機器專用的數(shù)據(jù)在TPM內的可 靠性依賴于知曉電力循環(huán)。
[0054] 應當在電力循環(huán)之際被重置的數(shù)據(jù)的一個示例是平臺事件日志。在典型的TPM 中,事件日志被表示為單個條目。只要感興趣的新事件發(fā)生(例如,加載了一段軟件,或者 開始執(zhí)行了一段軟件),該事件與先前的條目串接、散列、并且隨后作為該條目的新值被存 儲。如果以保留來自舊條目的信息(即先前事件)的方式來完成這些操作,則可以數(shù)學地 求解該條目以回放在平臺上發(fā)生的事件序列。由此,能夠證明平臺完整性。
[0055] 然而,由于系統(tǒng)210沒有物理地綁定到任何客戶端201而是取而代之通過網(wǎng)絡進 行通信,使系統(tǒng)210確定各個客戶端201中的任一個客戶端是否經(jīng)歷電力循環(huán)是困難的。然 而,如果客戶端的確具有TPM,則該TPM可追蹤剛好夠推斷已經(jīng)發(fā)生電力循環(huán)的信息。甚至 在給定受信執(zhí)行環(huán)境命令可能未被給予本地TPM而是取而代之被截取并且指派給系統(tǒng)210 從而本地客戶端TPM無法完全運轉的情況下,這也是可能的。例如,在圖2中,客戶端20IA 被示為包括TPM 202A,客戶端201B被示為包括TPM 202B,而客戶端201E被示為包括TPM 202E〇
[0056] 在此情形中,賬戶管理模塊212和/或系統(tǒng)210作為整體可以通過與安裝在該客 戶端中的本地客戶端TPM進行通信(例如,在客戶端20IA的情形中與TPM 202A進行通信) 來檢測給定客戶端已經(jīng)被重新引導。例如,系統(tǒng)210可以從客戶端201A接收指示已經(jīng)發(fā)生 動力循環(huán)的加密陳述。存在能夠發(fā)生這一操作的若干方式。
[0057] 在第一示例中,系統(tǒng)210和本地客戶端TPM可以通信,以使得系統(tǒng)210接收到在電 力循環(huán)之際將被重置的與寄存器相關聯(lián)的PCR值。系統(tǒng)210隨后將系統(tǒng)處的受保護數(shù)據(jù)中 的PCR的當前值與本地客戶端TPM中的PCR值作比較,并且可以推斷是否已經(jīng)發(fā)生了電力 循環(huán)。
[0058] 在第二示例中,本地客戶端TPM可以在客戶端每次通電之際建立短暫密鑰,并且 隨后與客戶端處理器協(xié)商關于使用這一短暫密鑰以便通信。系統(tǒng)210知曉這一短暫密鑰, 因為它追蹤通信。如果系統(tǒng)210檢測到它不再能夠理解通信,則該短暫密鑰一定已經(jīng)改變, 從而暗示客戶端經(jīng)歷了電力循環(huán)。
[0059] 在一替換實施例中,系統(tǒng)210的電力循環(huán)甚至可以在系統(tǒng)210上沒有TPM的情況 下被檢測到。例如,這可以通過具有能夠監(jiān)視客戶端系統(tǒng)的電力循環(huán)的系統(tǒng)監(jiān)視器來完 成。這一系統(tǒng)監(jiān)視器的一個非限制示例是MICROSOFT?的系統(tǒng)中央虛擬機監(jiān)視器(即 SCVMM)〇
[0060] 只要新的客戶端被添加到賬戶,系統(tǒng)210就可以將受保護數(shù)據(jù)添加到給定賬戶。 例如,當檢測到與特定賬戶的通信并且該通信或多或少指示了該通信來自未經(jīng)識別的客戶 端時,則可以將新的數(shù)據(jù)集添加到該賬戶。因而,例如,假定客戶端使用加密密鑰來與系統(tǒng) 通信,如果使用未經(jīng)識別的加密密鑰的通信到達,則可能已經(jīng)添加了新的客戶端。同樣地, 在對應客戶端不再在賬戶上操作之后,可以刪除該賬戶的受保護數(shù)據(jù)集。例如,可能存在垃 圾收集動作,其中在某一時間段(可能幾年)內未被使用的受保護數(shù)據(jù)集從賬戶刪除。
[0061] 策略模塊214可用于取決于關于對應于客戶端的受保護數(shù)據(jù)集的一個或多個數(shù) 據(jù)字段是否滿足準則來允許客戶端作出的動作。替換地或附加地,策略模塊214可用于取 決于關于賬戶級數(shù)據(jù)集的一個或多個數(shù)據(jù)字段是否滿足準則來允許與賬戶相關聯(lián)的任何 客戶端作出的動作。結合與受保護數(shù)據(jù)集相關聯(lián)的存儲器與本地TPM相比可被顯著擴充的 事實,這能夠實現(xiàn)極多的可能性。
[0062] 例如,假定給定客戶端的受保護數(shù)據(jù)集包括客戶端的恢復狀態(tài)的整個映像(例 如,操作系統(tǒng)、任何標準應用、標準配置設置等)。如果該客戶端被丟失或破壞,賬戶上的另 一客戶端可以訪問該映像并且將該映像安裝到新的客戶端上(假定滿足某些策略),該策 略旨在受保護以免不正確地獲得客戶端的恢復狀態(tài)。
[0063] 系統(tǒng)210還可包括證書管理模塊215,證書管理模塊215使用不可迀移密鑰(例如 在賬戶外部無法使用的密鑰)來生成專用于該賬戶并且因而可以由與該賬戶相關聯(lián)的任 何客戶端使用的證書。因而,每一客戶端不必為了參與基于證書的認證而創(chuàng)建其自己的證 書。
[0064] 本發(fā)明可具體化為其它具體形式而不背離其精神或本質特征。所描述的實施例在 所有方面都應被認為僅是說明性而非限制性的。因此,本發(fā)明的范圍由所附權利要求書而 非前述描述指示。落入權利要求書的等效方案的含義和范圍內的所有改變應被權利要求書 的范圍所涵蓋。
【權利要求】
1. 一種系統(tǒng),包括: 接收模塊,所述接收模塊能夠接收由多個實體通過網(wǎng)絡發(fā)出的受信執(zhí)行環(huán)境命令,每 一受信執(zhí)行環(huán)境命令是用于對與發(fā)出所述命令的實體相對應的安全上下文進行操作的命 令; 安全處理器,所述安全處理器被配置成響應于由所述接收模塊接收到所述受信執(zhí)行環(huán) 境命令對密鑰和受保護數(shù)據(jù)集執(zhí)行多個密碼和安全過程;W及 賬戶管理模塊,所述賬戶管理模塊被配置成維持多個受保護賬戶,其中所述多個受保 護賬戶中的特定受保護賬戶包括對應于指派給所述特定賬戶的特定實體的且包括對應于 所述特定實體的多個密鑰的受保護數(shù)據(jù)集,所述受保護數(shù)據(jù)集在所述系統(tǒng)外部不能讀取, 所述安全處理器響應于從所述特定實體接收到一個或多個受信執(zhí)行環(huán)境命令使用所述多 個密鑰中的至少一些密鑰來執(zhí)行密碼過程。
2. 如權利要求1所述的系統(tǒng),其特征在于,所述受信執(zhí)行環(huán)境命令符合受信平臺模塊 (TPM)通信協(xié)議。
3. 如權利要求1所述的系統(tǒng),其特征在于,所述受保護數(shù)據(jù)集包括除了所述安全處理 器之外不能讀取的數(shù)據(jù)的至少一部分。
4. 如權利要求1所述的系統(tǒng),其特征在于,所述特定賬戶包括各自對應于與所述特定 賬戶相關聯(lián)的實體的多個數(shù)據(jù)集,所述特定數(shù)據(jù)集是第一數(shù)據(jù)集,所述特定實體是第一實 體,并且所述多個密鑰是第一多個密鑰,所述特定賬戶進一步包括: 對應于指派給所述特定賬戶的第二實體的且包括對應于所述第二實體的第二多個密 鑰的第二受保護數(shù)據(jù)集,所述第二受保護數(shù)據(jù)集在所述系統(tǒng)外部不能讀取,所述安全處理 器響應于從所述第二實體接收到一個或多個受信執(zhí)行環(huán)境命令使用所述第二多個密鑰中 的至少一些密鑰來執(zhí)行密碼過程。
5. 如權利要求1所述的系統(tǒng),其特征在于,所述賬戶管理模塊被進一步配置成當新的 實體被添加到所述賬戶時將新的受保護數(shù)據(jù)集添加到所述多個數(shù)據(jù)集。
6. 如權利要求1所述的系統(tǒng),其特征在于,所述賬戶管理模塊被進一步配置成在對應 實體不再進行操作之后從所述多個數(shù)據(jù)集中移除受保護數(shù)據(jù)集。
7. 如權利要求1所述的系統(tǒng),其特征在于,所述特定實體是特定設備或系統(tǒng),所述賬戶 管理模塊被進一步配置成檢測所述特定設備或系統(tǒng)已經(jīng)被重新引導并且作為響應重置所 述受保護數(shù)據(jù)集的一部分。
8. 如權利要求1所述的系統(tǒng),其特征在于,進一步包括: 策略模塊,所述策略模塊被配置成取決于關于所述數(shù)據(jù)集是否滿足策略來允許所述特 定實體作出的動作。
9. 一種包括在其上具有計算機可執(zhí)行指令的一個或多個計算機存儲介質的計算機程 序產(chǎn)品,當所述計算機可執(zhí)行指令由計算系統(tǒng)的一個或多個處理器執(zhí)行時,使得所述計算 系統(tǒng)實例化W下: 賬戶管理模塊,所述賬戶管理模塊被配置成維持多個受保護賬戶,其中所述多個賬戶 中的特定受保護賬戶包括對應于指派給所述特定賬戶的特定實體的且包括對應于所述特 定實體的多個密鑰的受保護數(shù)據(jù)集,所述受保護數(shù)據(jù)集在所述特定賬戶外部不能讀取,安 全處理器響應于從所述特定實體接收到一個或多個受信執(zhí)行環(huán)境命令使用所述多個密鑰 中的至少一些密鑰和受保護數(shù)據(jù)集來執(zhí)行密碼和安全過程。
10.如權利要求9所述的計算機程序產(chǎn)品,其特征在于,所述計算機可執(zhí)行指令在被所 述一個或多個處理器執(zhí)行時進一步使所述計算系統(tǒng)實例化W下: 安全處理器,所述安全處理器被配置成響應于多個實體通過網(wǎng)絡發(fā)出的受信執(zhí)行環(huán)境 命令對密鑰執(zhí)行多個密碼和安全過程,每一受信執(zhí)行環(huán)境命令是用于對與發(fā)出所述命令的 實體相對應的安全上下文進行操作的命令。
【文檔編號】G06F21/57GK104471584SQ201380032549
【公開日】2015年3月25日 申請日期:2013年6月13日 優(yōu)先權日:2012年6月19日
【發(fā)明者】M·F·諾瓦克, A·J·雷曼, M·尼斯特倫, S·湯姆 申請人:微軟公司