用于托管虛擬機的加密證實資源的制作方法
【專利說明】用于托管虛擬機的加密證實資源
[0001] 相關(guān)申請的交叉引用
[0002] 本申請要求2013年7月1日提交的標題為"CRYPTOGRAPHICALLY ATTESTED RESOURCES FOR冊STING VIRTUAL MACHI肥S"的美國非臨時專利申請序列號13/932,828的 優(yōu)先權(quán),所述專利申請?zhí)卮薟引用的方式全文并入本文并且用于所有目的。
【背景技術(shù)】
[0003] 隨著越來越多的應用和服務在諸如互聯(lián)網(wǎng)的網(wǎng)絡上變得可用,越來越多的內(nèi)容、 應用、和/或服務提供商轉(zhuǎn)向諸如云計算的技術(shù)。一般來說,云計算是通過諸如網(wǎng)絡服務的 服務提供對電子資源的訪問的方法,其中用于支持那些服務的硬件和/或軟件是動態(tài)可擴 展的,W便在任何給出的時間滿足服務的需要。用戶或客戶通常將通過云租用、租出、或另 外支付對資源的訪問,并且因此不必須購買和維持需要的硬件和/或軟件。
[0004] 在運種情況下,許多云計算供應商利用虛擬化來允許多用戶共享基礎硬件和/或 軟件資源。虛擬化可W允許計算服務器、存儲設備或其他資源被劃分為與特定用戶(例如, 客戶)相關(guān)聯(lián)(例如,擁有)的多個孤立的實例(即虛擬機)。每一個虛擬機常規(guī)地包括它本身 的操作系統(tǒng),所述操作系統(tǒng)能夠代表用戶執(zhí)行一個或多個應用。虛擬化可W因此使各種用 戶能夠遠程地運行他們的應用,在云計算提供商或操作人員的資源(例如,主機服務器等) 上使用。然而,提供常規(guī)虛擬計算環(huán)境具有許多限制。例如,某些客戶可對由于在遠程資源 上執(zhí)行虛擬機可產(chǎn)生的安全問題特別敏感。因為客戶不具有對運些資源的物理訪問,所W 許多客戶想要獲取資源沒有被惡意用戶篡改或者W其他方式被盜用的某種加密保證。
【附圖說明】
[0005] 將參照附圖描述根據(jù)本公開的各個實施方案,在附圖中:
[0006] 圖1示出可W根據(jù)各種實施方案使用的電子資源環(huán)境的實例;
[0007] 圖2示出根據(jù)各種實施方案,獲取在其上供應虛擬機的主機計算設備上的資源的 加密測量的實例;
[0008] 圖3示出根據(jù)各種實施方案,將加密測量與已經(jīng)被可信實體證實的一列認可的測 量比較的實例;
[0009] 圖4示出根據(jù)各種實施方案,使用管理程序利用一個虛擬化技術(shù)的實例;
[0010] 圖5示出根據(jù)各種實施方案,提供可W被用來確保虛擬化計算環(huán)境的物理資源的 服務提供商的資源中屯、的實例;
[0011] 圖6示出根據(jù)各種實施方案,可W在虛擬化計算環(huán)境中對用戶提供的多個虛擬機 的虛擬網(wǎng)絡的實例;
[0012] 圖7示出根據(jù)各種實施方案,用于證實被配置來托管虛擬機的計算資源過程的實 例;
[0013] 圖8示出根據(jù)各種實施方案,用于編譯一列認可的加密測量并將所述列提供到可 信第=方的過程的實例;
[0014] 圖9示出可W根據(jù)各種實施方案被利用的示例性計算設備的一組通用部件的邏輯 布置;并且
[0015] 圖10示出用于根據(jù)各種實施方案實現(xiàn)各方面的環(huán)境的實例。
【具體實施方式】
[0016] 在W下描述中,將在附圖的圖式中作為實例而非作為限制示出各種實施方案。對 在本公開中的各種實施方案的參考對于相同的實施方案是不必要的,并且此類參考意味著 至少一個。盡管討論了指定的實現(xiàn)和其他細節(jié),應理解,僅僅為了示例性目的執(zhí)行運個。相 關(guān)領(lǐng)域的技術(shù)人員將意識到在不背離所要求保護的主題的范圍和精神的情況下,可使用其 他部件和配置。
[0017] 根據(jù)本公開的各種實施方案的系統(tǒng)和方法可克服在用于加密證實計算資源的常 規(guī)方法中經(jīng)歷的前述缺點和其他缺點中的一個或多個。具體來說,各種實施方案使虛擬化 多組織計算環(huán)境的操作人員能夠加密證實和/或驗證用來代表用戶(例如,客戶、客戶端等) 執(zhí)行一個或多個虛擬機的計算資源的配置。當用戶請求對于用戶供應虛擬機時,虛擬化計 算環(huán)境(例如,云計算服務提供商)的操作人員可W開始虛擬機的兩相啟動。在第一相中,操 作人員可在主機計算設備上供應虛擬機,并且隨后獲取在主機計算設備上的軟件和/或硬 件資源的加密測量。加密測量可使用可信平臺模塊(TPM)來獲取,并存儲在TPM的平臺配置 寄存器(PCR)中。操作人員可隨后將加密測量提供到請求虛擬機的用戶。如果用戶認可加密 測量,那么操作人員可繼續(xù)進行第二相并在主機計算設備上實際啟動(即,開始執(zhí)行)虛擬 機。在一些實施方案中,替代(或除了)將加密測量提供到用戶,操作人員可將加密測量與已 知測量或一列認可的測量(例如,"白名單")或其他參考值比較,W便確定主機計算設備對 托管虛擬機是否是可接受的。所述列的認可的加密測量可由用戶提供作為對供應虛擬機的 請求的一部分,或可由可信實體(例如,可信第=方)提供。
[0018] 根據(jù)實施方案,用戶通過使用一個或多個應用程序編程接口(APIK諸如由虛擬化 多組織計算環(huán)境的操作人員提供的網(wǎng)絡服務API)提交對虛擬機的請求。在一些實施方案 中,作為提交請求的一部分,當供應虛擬機時,用戶可指定主機計算設備的特定配置或提供 待使用的一列認可的加密測量。響應于接收來自用戶的運種請求,操作人員(例如,在服務 器上的服務)可W開始對用戶供應虛擬機。具體來說,供應虛擬機可包括選擇主機計算設 備;解壓包含虛擬機配置的機器圖像;W及執(zhí)行任何其他必要步驟來對用戶供應虛擬機。一 旦虛擬機已經(jīng)被供應并且準備在主機計算設備上被啟動(即,執(zhí)行),那么可暫停過程并且 可W獲取在主機計算設備上的各種軟件和/或硬件資源的一個或多個加密測量。例如,在主 機計算設備上的可信平臺模塊(TPM)或其他加密模塊可被用來創(chuàng)建主機計算設備的軟件配 置的散列測量。可W通過讀取在某些存儲器位置中的值并將散列函數(shù)應用到那些值來生成 散列測量而創(chuàng)建散列測量。存儲器位置可與主機計算設備的基本輸入/輸出系統(tǒng)(BIOS)、在 主機計算設備上的管理程序(或虛擬機管理器)、虛擬機的客體操作系統(tǒng)的配置、硬件配置 寄存器、在外圍部件互連(PCI)卡上的固件W及其他的相關(guān)聯(lián)。在一個實施方案中,散列測 量是存儲在TPM的PCR中的安全散列算法1 (SHA-I)測量。
[0019] 一旦已經(jīng)獲取加密測量,那么它們可W被用來確定在主機計算設備上的資源是否 處在可接受的狀態(tài)來啟動虛擬機。在一個實施方案中,虛擬化多組織計算環(huán)境的操作人員 可將加密測量(例如,SHA-1)提供到請求虛擬機的用戶,并且用戶可在啟動虛擬機之前認可 或拒絕加密測量。在另一個實施方案中,如果用戶已經(jīng)指定主機計算設備的特定配置作為 請求的一部分,那么操作人員可將主機的加密測量與對應于指定配置的已知和認可的加密 測量(例如,已知的細A-1)比較。在另一個實施方案中,如果用戶已經(jīng)將一列認可的加密測 量提供到操作人員(例如,作為虛擬機的請求的一部分或在不同的時間處),那么操作人員 可將加密測量與所述列的認可的測量比較來確定是否認可啟動虛擬機或拒絕它。在一些實 施方案中,可由可信第=方證實所述列的認可的測量,諸如由多用戶通過(例如,在互聯(lián)網(wǎng) 上)公布所述列。
[0020] 在各種實施方案中,如果操作人員確定主機計算設備的配置的加密測量不匹配任 何認可的參考值,那么操作人員可W卷回恢復或撤銷在主機計算設備上供應虛擬機的過 程?;蛘撸僮魅藛T可能W其他方式不將虛擬機提供到用戶,諸如通過防止虛擬機加入用戶 的虛擬網(wǎng)絡。
[0021] 圖1示出可W根據(jù)各種實施方案使用的電子資源環(huán)境100的實例。在運個實例中, 終端用戶的計算設備102被展示能夠進行呼叫通過至少一個網(wǎng)絡106(例如,互聯(lián)網(wǎng)、蜂窩網(wǎng) 絡、無線網(wǎng)絡、局域網(wǎng)絡(LAN)等巧Ij控制平面108中,W便執(zhí)行諸如來在數(shù)據(jù)平面110中供應 數(shù)據(jù)儲存庫或啟動虛擬機的任務。例如,用戶或應用104可W直接通過數(shù)據(jù)平面110的接口 訪問儲存庫和/或虛擬機。盡管出于解釋的目的使用終端用戶計算設備和應用,但是應理 解,如在各種實施方案中適當?shù)模魏芜m當?shù)挠脩?、應用、服務、設備、部件或資源可W訪問 控制平面和/或數(shù)據(jù)平面的接口。此外,盡管部件被分成控制和數(shù)據(jù)"平面",但是應理解運 可指用來提供各自功能性的至少一些資源(例如,硬件和/或軟件)的邏輯上或地理上的真 實或虛擬分離。
[0022] 在運個實例中的控制平面108基本上是處理控制和管理行動(諸如供應、實例化、 啟動、縮放、復制等)的硬件和軟件部件的虛擬層。在運個實施方案中的控制平面包括網(wǎng)絡 服務層112,或可W包括例如,與計算機可執(zhí)行軟件、應用服務器或其他此類部件一起的至 少一個網(wǎng)絡服務器的層。網(wǎng)絡服務層還可W包括用于從跨過至少一個網(wǎng)絡106接收網(wǎng)絡服 務呼叫或請求的一組API 132(或其他此類接口)。每一個API可被提供來接收對相對于數(shù)據(jù) 環(huán)境待執(zhí)行的至少一個指定行動的請求。在接收對一個API的請求時,網(wǎng)絡服務層可W解析 或者另外分析請求來確定需要作用于或處理呼叫的步驟或行動。例如,可能接收包括對啟 動虛擬機的請求的網(wǎng)絡服務呼叫。在運個實例中,網(wǎng)絡服務層可W解析請求來確定待創(chuàng)建 的虛擬機的類型、請求的硬件的類型(如果存在的話)、或其他此類方面。請求的信息可W被 寫入到管理(A血in)數(shù)據(jù)存儲,或其他適當?shù)拇鎯w位置或作業(yè)隊列,用于隨后的處理。
[0023] 在一個實施方案中的網(wǎng)絡服務層包括可擴展的一組面向客戶服務器,所述面向客 戶服務器可W提供各種控制平面API并基于API規(guī)范返回適當?shù)捻憫?。網(wǎng)絡服務層還可W包 括至少一個API服務層,所述API服務層在一個實施方案中由處理面向外部客戶API的無狀 態(tài)、復制服務器組成。網(wǎng)絡服務層可W對網(wǎng)絡服務前端特征負責,諸如基于證書驗證客戶; 授權(quán)客戶;將客戶請求限流到API服務器;驗證用戶輸入;W及封送或解封送請求和響應。 API層還可W響應于API呼叫,對從管理數(shù)據(jù)存儲讀取配置數(shù)據(jù)/將配置數(shù)據(jù)寫入到管理數(shù) 據(jù)存儲負責。在很多實施方案中,網(wǎng)絡服務層和/或API服務層將是唯一外部可見的部件,或 對于控制服務的客戶可見,并可被控制服務的客戶訪問的唯一部件。如在本領(lǐng)域中已知的, 網(wǎng)絡服務層的服務器可W是無狀態(tài)的和水平縮放的。API服務器,W及持久性數(shù)據(jù)存儲,可 W在區(qū)域中傳遍多數(shù)據(jù)中屯、,例如,W使得服務器對單一數(shù)據(jù)中屯、故障是彈性的。API或其 他此類部件的功能或配置可W由至少一個系統(tǒng)管理部件114或其他此類系統(tǒng)或服務管理。
[0024] 在運個實施方案中的控制平面108包括至少一個主機監(jiān)測部件116。主機監(jiān)測部件 可W包括硬件和/或軟件的任何適當?shù)慕M合,所述硬件和/或軟件包括用于監(jiān)測數(shù)據(jù)平面的 方面的指令。例如,主機監(jiān)測部件可W包括專用主機、跨許多機器分布的過程、或網(wǎng)絡服務, 在其他此類選擇中。當在數(shù)據(jù)平面中創(chuàng)建虛擬機(VM)時,可W將VM的信息寫到在控制平面 中的數(shù)據(jù)存儲,諸如監(jiān)測數(shù)據(jù)存儲120。應理解,監(jiān)測數(shù)據(jù)存儲可W是單獨的數(shù)據(jù)存儲,或可 W是另一個數(shù)據(jù)存儲的一部分(諸如在Admin數(shù)據(jù)存儲122中的一組不同表格),或其他適當 的儲存庫。主機監(jiān)測部件116可W訪問在監(jiān)測數(shù)據(jù)存儲中的信息,W便確定有效VM、資源實 例、或在數(shù)據(jù)平面110中的其他此類資源或部件134。主機監(jiān)測部件還可W執(zhí)行其他任務,諸 如收集來自控制平面和/或數(shù)據(jù)平面(諸如網(wǎng)絡服務層和各種主機管理器128)的多部件的 日志和/或事件信息。出于諸如實現(xiàn)面向客戶的API的目的,使用此類事件信息,監(jiān)測部件可 W暴露客戶可見的事件。監(jiān)測部件可W不斷監(jiān)測控制平面的所有運行儲存