亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

來(lái)自加密模板的加密虛擬機(jī)的安全創(chuàng)建的制作方法

文檔序號(hào):11635157閱讀:407來(lái)源:國(guó)知局
來(lái)自加密模板的加密虛擬機(jī)的安全創(chuàng)建的制造方法與工藝



背景技術(shù):

計(jì)算系統(tǒng)的互連已經(jīng)促進(jìn)分布式計(jì)算系統(tǒng),諸如所謂的“云”計(jì)算系統(tǒng)。在本描述中,“云計(jì)算”可以是用于使能對(duì)可以利用減少的管理精力或服務(wù)提供商交互被提供且被釋放的可配置的計(jì)算資源(例如,網(wǎng)絡(luò)、服務(wù)器、存儲(chǔ)裝置、應(yīng)用、服務(wù)等)的共享池的無(wú)所不在的方便的按需網(wǎng)絡(luò)訪問(wèn)的系統(tǒng)或資源。云模型可以由以下各項(xiàng)組成:各種特性(例如,按需自助式服務(wù)、廣泛網(wǎng)絡(luò)接入、資源池、快速?gòu)椥?、所測(cè)量的服務(wù)等)、服務(wù)模型(例如,軟件即服務(wù)(“saas”)、平臺(tái)即服務(wù)(“paas”)、基礎(chǔ)設(shè)施即服務(wù)(“iaas”)以及部署模型(例如,私有云、社區(qū)云、公共云、混合云等)。

在云計(jì)算環(huán)境中,租戶可以包括用戶、公司或具有訪問(wèn)被部署在由云服務(wù)提供商運(yùn)行的數(shù)據(jù)中心處的虛擬機(jī)(vm)中的一個(gè)或多個(gè)虛擬機(jī)的權(quán)利的公司或其他實(shí)體的部門(mén)。通常,當(dāng)租戶想要具有數(shù)據(jù)中心中托管的vm時(shí),租戶通常想要大量的vm被創(chuàng)建且被托管。如果租戶將創(chuàng)建并且將所有這些vm從租戶傳送到數(shù)據(jù)中心,則將要求大型網(wǎng)絡(luò)流量和計(jì)算資源。然而,待啟動(dòng)的許多vm可能是幾乎或?qū)嶋H上同樣的。因此,在一些情況下,模板可以被提供給數(shù)據(jù)中心,數(shù)據(jù)中心可以復(fù)制以創(chuàng)建大量的實(shí)際上同樣的vm。

在其中數(shù)據(jù)中心中的租戶將有限信任放在數(shù)據(jù)中心的人員中的計(jì)算環(huán)境中,vm有時(shí)必須從同樣加密的模板以加密的形式被創(chuàng)建。來(lái)自模板的vm創(chuàng)建通常包含創(chuàng)建模板的虛擬硬驅(qū)動(dòng)(vhd)的副本,但是出于密碼安全的原因,每個(gè)vhd利用不同的密鑰被加密。

在此所請(qǐng)求保護(hù)的主題不限于解決任何缺點(diǎn)或僅在環(huán)境(諸如上文所描述的那些環(huán)境)中操作的實(shí)施例。相反,該背景僅被提供為圖示其中可以實(shí)踐本文所描述的一些實(shí)施例的一個(gè)示例性技術(shù)領(lǐng)域。



技術(shù)實(shí)現(xiàn)要素:

在此所說(shuō)明的一個(gè)實(shí)施例包括可以被實(shí)踐在計(jì)算環(huán)境中的方法。方法包括用于在潛在地不安全的環(huán)境中以安全方式引導(dǎo)機(jī)器的動(dòng)作。方法包括目標(biāo)機(jī)器開(kāi)始引導(dǎo)過(guò)程。方法還包括目標(biāo)機(jī)器確定其需要供應(yīng)數(shù)據(jù)以繼續(xù)引導(dǎo)。目標(biāo)機(jī)器聯(lián)系安全基礎(chǔ)設(shè)施以獲得供應(yīng)數(shù)據(jù)。目標(biāo)機(jī)器提供能夠由安全基礎(chǔ)設(shè)施驗(yàn)證的身份聲明。作為安全基礎(chǔ)設(shè)施驗(yàn)證身份聲明的結(jié)果,目標(biāo)機(jī)器從安全基礎(chǔ)設(shè)施接收請(qǐng)求以建立被密封到目標(biāo)機(jī)器的密鑰。目標(biāo)機(jī)器將建立的密鑰提供給安全基礎(chǔ)設(shè)施。目標(biāo)機(jī)器從安全基礎(chǔ)設(shè)施接收供應(yīng)數(shù)據(jù)。供應(yīng)數(shù)據(jù)被加密到所建立的密鑰。目標(biāo)機(jī)器對(duì)經(jīng)加密的供應(yīng)數(shù)據(jù)進(jìn)行解密,并且使用供應(yīng)數(shù)據(jù)完成引導(dǎo)。

提供該概述以引入以在詳細(xì)描述中下文進(jìn)一步描述的簡(jiǎn)化形式的概念的選擇。該概述不旨在標(biāo)識(shí)所要求保護(hù)的主題的關(guān)鍵特征或基本特征,其也不旨在用作輔助確定所要求保護(hù)的主題的范圍。

附加特征和優(yōu)點(diǎn)將在以下描述中被闡述并且部分從描述將是明顯的或可以通過(guò)本文中的教導(dǎo)的實(shí)踐被學(xué)習(xí)??梢越柚谠谒降臋?quán)利要求中特別指出的設(shè)備和組合實(shí)現(xiàn)和獲得本發(fā)明的特征和優(yōu)點(diǎn)。本發(fā)明的特征將從以下描述和所附的權(quán)利要求變得更充分地明顯或可以通過(guò)如在下文中所闡述的本發(fā)明的實(shí)踐被學(xué)習(xí)。

附圖說(shuō)明

為了描述可以獲得上文記載的優(yōu)點(diǎn)和其他優(yōu)點(diǎn)和特征的方式,將通過(guò)參考在附圖中圖示的特定實(shí)施例來(lái)提供上文簡(jiǎn)要描述的主題的更特定描述。理解這些附圖僅描述典型實(shí)施例并且因此將不被認(rèn)為在范圍方面是限制性的,將通過(guò)使用附圖以附加特殊性和細(xì)節(jié)描述和解釋實(shí)施例,在附圖中:

圖1圖示了用于在完全啟動(dòng)虛擬機(jī)之前執(zhí)行密鑰更新操作的系統(tǒng);

圖2圖示了高層組件架構(gòu);

圖3圖示了執(zhí)行密鑰更新操作的系統(tǒng)的詳細(xì)示例;以及

圖4圖示了在潛在地不安全的環(huán)境中以安全方式引導(dǎo)機(jī)器的方法。

具體實(shí)施方式

現(xiàn)在參考圖1,在此所描述的一些實(shí)施例實(shí)現(xiàn)以安全方式在完全地啟動(dòng)虛擬機(jī)(vm)102之前執(zhí)行密鑰更新操作的方法。在一些實(shí)施例中,這可以通過(guò)將從模板104創(chuàng)建的加密的vm102部署到主機(jī)106來(lái)完成,其中由在模板的虛擬硬驅(qū)動(dòng)(vhd)108上所執(zhí)行的卷加密方法來(lái)加密模板。經(jīng)加密的vm102副本被提供給主機(jī)106并且包括初始化管理器110??梢岳缡褂媚撤N技術(shù)(諸如從華盛頓雷德蒙德的微軟公司可獲得的可執(zhí)行的引導(dǎo)管理器軟件)實(shí)現(xiàn)初始化管理器110。

執(zhí)行初始化管理器110。初始化管理器110能夠?qū)hd108解密并且將vhd108重新加密為新的密鑰112,使得具有唯一密鑰的vm102被創(chuàng)建??梢匀缓笸耆谥鳈C(jī)106處啟動(dòng)vm102。新的密鑰112可以使用被提供有vm102的工具(諸如在初始化管理器110中的那些工具)本地生成或者可以從外部源(諸如密鑰分布服務(wù)(kds)114)被獲得。

在備選實(shí)施例中,vm102可以是未加密的vm。在這種情況下,可能已經(jīng)針對(duì)vm102創(chuàng)建測(cè)量(例如散列)。vm102可以被部署到主機(jī)106。在這些實(shí)施例中,vm102還包括初始化管理器110??梢詧?zhí)行初始化管理器110。初始化管理器110可以利用適當(dāng)?shù)?并且在一些情況下唯一的)密鑰112對(duì)vm102的vhd108進(jìn)行加密。在一些實(shí)施例中,主機(jī)106將通過(guò)計(jì)算vm102的散列,以確定vm102的哈希是否匹配先前所計(jì)算和所提供的散列以確保vm102尚未被篡改或被損壞。

針對(duì)虛擬機(jī)和物理機(jī)存在用于機(jī)器保護(hù)的相同原理和要求,并且許多相同架構(gòu)原理是適用的。加密敏感數(shù)據(jù)的機(jī)器在此被稱為受保護(hù)機(jī)器。

受保護(hù)機(jī)器是敏感數(shù)據(jù)已經(jīng)被加密的那些受保護(hù)機(jī)器,并且在靜止時(shí)且在傳送期間保持加密。受保護(hù)機(jī)器的數(shù)據(jù)在保護(hù)系統(tǒng)的信任邊界內(nèi)被解密。取決于(即,虛擬的或物理的)機(jī)器的類型以及實(shí)現(xiàn),該邊界可以是僅受保護(hù)機(jī)器自身或其可以包括附加服務(wù),諸如屬于虛擬機(jī)的管理程序或主機(jī)操作系統(tǒng)的那些服務(wù)。

受保護(hù)機(jī)器被描述為存在于兩個(gè)狀態(tài)(或者提供或者操作)之一中。受保護(hù)機(jī)器處于供應(yīng)狀態(tài),同時(shí)其與外部服務(wù)交互,接收受保護(hù)數(shù)據(jù)或執(zhí)行被要求使其操作的過(guò)程。一旦已經(jīng)成功地提供受保護(hù)機(jī)器,則其進(jìn)入其中其提供期望能力和服務(wù)的操作狀態(tài)。

在許多情況下,表征供應(yīng)狀態(tài)的供應(yīng)操作在初始機(jī)器設(shè)置期間僅發(fā)生一次。這些類型的操作的示例將是對(duì)建立唯一計(jì)算機(jī)實(shí)例所要求的機(jī)器名、地址或身份的變化。雖然常常是這種情況,但是其不必總是這樣。例如,如果在啟動(dòng)或某個(gè)規(guī)則間隔時(shí)由受保護(hù)機(jī)器要求一些數(shù)據(jù)片,則機(jī)器可能需要重復(fù)地提供。

在此描述了用于受保護(hù)機(jī)器的供應(yīng)架構(gòu)。實(shí)施例可以支持各種實(shí)現(xiàn),其支持物理機(jī)和虛擬機(jī)二者。另外,一系列操作技術(shù)可以跨越實(shí)現(xiàn)變化。這些包括可信平臺(tái)模塊(tpm)芯片的存在或缺乏,以及其版本、固件類型以及虛擬機(jī)底層的管理程序能力。

可以實(shí)現(xiàn)可以在實(shí)現(xiàn)之間變化的各種受保護(hù)機(jī)器操作技術(shù)。例如,一些實(shí)現(xiàn)可以要求專用硬件(諸如tpm芯片或硬件安全模塊(hsm)),而其他實(shí)現(xiàn)不是。不同的實(shí)現(xiàn)可以要求系統(tǒng)服務(wù)以及系統(tǒng)操作者和管理員中的不同的信任水平。

描述在此被組織為兩個(gè)主要章節(jié)。在第一章中,呈現(xiàn)了用于受保護(hù)機(jī)器的高層架構(gòu)。在第二章中,圖示了詳細(xì)實(shí)施例。

第1章:高層架構(gòu)

受保護(hù)機(jī)器

在此描述了提供受保護(hù)機(jī)器所使用的架構(gòu)。受保護(hù)機(jī)器的一個(gè)示例是具有使用某個(gè)全卷加密軟件加密的其盤(pán)卷的一個(gè)示例。例如,實(shí)施例可以使用從華盛頓雷德蒙德的微軟公司可獲得的bitlocker。受保護(hù)機(jī)器在提供兼容的信任測(cè)量集的環(huán)境內(nèi)操作。

在許多情況下,受保護(hù)機(jī)器將依賴于特定于針對(duì)主機(jī)系統(tǒng)的客戶虛擬機(jī)和/或物理tpm的虛擬tpm,在主機(jī)系統(tǒng)上,虛擬機(jī)被部署以確保密鑰的保護(hù),并且將該保護(hù)綁定到特定系統(tǒng)狀態(tài)。tpm的使用在許多情況下可以是期望的,然而其不是嚴(yán)格必須的。不支持測(cè)量的環(huán)境可以以相同的方式由用戶信任,并且如果該環(huán)境適當(dāng)?shù)乇粚?shí)現(xiàn)且被操作,則可以是至少與使用物理tpm的那些一樣值得信任。

信任模型和邊界

以其完整性可以被信任的這樣的方式創(chuàng)建和操作每個(gè)受保護(hù)機(jī)器。這隱含托管機(jī)器的環(huán)境可以僅通過(guò)定義明確的信道與受保護(hù)機(jī)器交互。其中環(huán)境可以妥協(xié)受保護(hù)機(jī)器的所有區(qū)域被信任并且這些區(qū)域的集合表示用于受保護(hù)機(jī)器的信任模型。

每個(gè)環(huán)境可以具有稍微不同的信任模型,并且實(shí)際上,相同環(huán)境中的不同的類型的受保護(hù)機(jī)器可以具有不同的信任模型。貫穿架構(gòu)討論,組件被分為被信任的那些組件和不被信任的那些組件。被信任的組件據(jù)稱在受保護(hù)的信任邊界內(nèi)。

架構(gòu)

該章節(jié)描述提供受保護(hù)機(jī)器所使用的高層概念組件架構(gòu)。可以使用不同的組合中的各種組件來(lái)實(shí)現(xiàn)該架構(gòu)。稍后的章節(jié)將描述實(shí)現(xiàn)該模式的特定實(shí)現(xiàn)架構(gòu)。

在圖2中描繪了高層組件架構(gòu)。在所圖示的示例中,提供受保護(hù)機(jī)制在包括結(jié)構(gòu)控制器202的計(jì)算結(jié)構(gòu)內(nèi)發(fā)生。結(jié)構(gòu)控制器202指定發(fā)生什么事件以及那些事件何時(shí)發(fā)生。

支持受保護(hù)機(jī)器的結(jié)構(gòu)具有某種服務(wù)或組件,這種服務(wù)或組件可以可靠地并且安全地存儲(chǔ)值得保護(hù)的秘密。出于該描述的目的,服務(wù)被假定為管理被用于訪問(wèn)受保護(hù)數(shù)據(jù)的密鑰。在一些實(shí)現(xiàn)中,該服務(wù)可以存儲(chǔ)受保護(hù)數(shù)據(jù)的整個(gè)內(nèi)容。在概念架構(gòu)中,這被示出為密鑰管理服務(wù)204。圖1中所圖示的kds114是密鑰管理服務(wù)的示例。

供應(yīng)服務(wù)206負(fù)責(zé)分發(fā)被用于提供特定受保護(hù)機(jī)器的數(shù)據(jù)。被分發(fā)的數(shù)據(jù)可以包括受保護(hù)數(shù)據(jù)和非受保護(hù)數(shù)據(jù)二者。供應(yīng)服務(wù)206可以提供其服務(wù)以同時(shí)支持許多受保護(hù)機(jī)器。對(duì)于每個(gè)受保護(hù)機(jī)器而言,供應(yīng)服務(wù)206與組件(被稱為供應(yīng)代理208)交互。供應(yīng)代理208的實(shí)例在每個(gè)受保護(hù)機(jī)器基礎(chǔ)上存在。

供應(yīng)服務(wù)206和供應(yīng)代理208經(jīng)由一個(gè)或多個(gè)供應(yīng)信道210通信。供應(yīng)信道簡(jiǎn)單地是通信的裝置。這些信道210不需要提供隱私性、完整性或可靠性。在所圖示的示例中,信道210被假定為不安全的。信道可以涵蓋這樣的不同的機(jī)制作為網(wǎng)絡(luò)、共享存儲(chǔ)器、串行端口或盤(pán)文件。由于這些信道所要求的低服務(wù)質(zhì)量,供應(yīng)服務(wù)器206和供應(yīng)代理208可以根據(jù)需要添加隱私性、完整性和可靠性。

供應(yīng)代理208可以執(zhí)行由受保護(hù)機(jī)器所要求的所有任務(wù),然而,存在可以要求附加的專業(yè)能力的特定場(chǎng)景。特別重要的一組能力包含將通用模板機(jī)器鏡像用作用于多個(gè)受保護(hù)機(jī)器的基礎(chǔ)的過(guò)程。為了適應(yīng)這一點(diǎn),一些實(shí)施例可以包括可以可選地存在的兩個(gè)附加組件。

模板組件中的第一個(gè)模板組件被稱為模板管理器212。模板管理器212負(fù)責(zé)對(duì)盤(pán)鏡像執(zhí)行所有操作,盤(pán)鏡像被要求以將(一個(gè)或多個(gè))模板盤(pán)轉(zhuǎn)換為針對(duì)受保護(hù)機(jī)器的特定(一個(gè)或多個(gè))目標(biāo)盤(pán)。例如,如果模板盤(pán)被加密并且被簽名,則模板管理器212將從供應(yīng)代理208接收一個(gè)或多個(gè)密鑰并且將然后驗(yàn)證簽名,并且根據(jù)需要更新加密。

一旦模板管理器212已經(jīng)完成創(chuàng)建特定機(jī)器盤(pán)鏡像所要求的任務(wù),則受保護(hù)機(jī)器可能能夠運(yùn)行,然而,更可能的是,存在仍然被要求的操作系統(tǒng)或?qū)S枚ㄖ?。最后的組件(被稱為目標(biāo)鏡像適配器214)能夠從供應(yīng)代理208接收受保護(hù)數(shù)據(jù)并且使用這些數(shù)據(jù)執(zhí)行受保護(hù)盤(pán)鏡像的定制。

受保護(hù)機(jī)器將通常具有一個(gè)或多個(gè)加密卷。可以例如使用從華盛頓雷德蒙德的微軟公司獲得的bitlocker對(duì)這些卷進(jìn)行加密。將加密包含os的卷。為了os引導(dǎo),該卷使用某個(gè)適當(dāng)?shù)拿荑€被解鎖。在受保護(hù)機(jī)器內(nèi),可以存在附加的加密卷并且這些可以使用被存儲(chǔ)在os卷內(nèi)的密鑰被解鎖。受保護(hù)機(jī)器還可以包含未被加密的卷。

一旦被創(chuàng)建,受保護(hù)機(jī)器就在其壽命期間操作。受保護(hù)機(jī)器的操作可以要求某些秘密在正確的時(shí)間被管理用于并且被引入該機(jī)器。這些操作被認(rèn)為是再發(fā)生的供應(yīng)任務(wù)并且假定正確的架構(gòu)組件將完成這些任務(wù)。

密鑰管理和分布

存在于受保護(hù)機(jī)器內(nèi)或提供那些機(jī)器的秘密數(shù)據(jù)可以采取各種大小和類型。在一些情況下,這些數(shù)據(jù)可以簡(jiǎn)單地是類似密碼的小項(xiàng),其中在其他中其可以是大的復(fù)雜結(jié)構(gòu),諸如虛擬盤(pán)內(nèi)的加密卷。

為了完成保護(hù)目標(biāo),架構(gòu)將指代僅數(shù)據(jù)的保護(hù)而非受保護(hù)數(shù)據(jù)自身。受保護(hù)數(shù)據(jù)常常具有以下特點(diǎn):

●其被認(rèn)證-受保護(hù)數(shù)據(jù)可以通過(guò)某種方式被認(rèn)證,使得可以檢測(cè)那些數(shù)據(jù)的任何變更。

●其被加密-受保護(hù)數(shù)據(jù)還可以是敏感的并且被加密以防止未授權(quán)的公開(kāi)。

將通過(guò)某個(gè)密鑰管理服務(wù)204管理認(rèn)證和加密數(shù)據(jù)項(xiàng)所使用的密鑰。要求對(duì)受保護(hù)數(shù)據(jù)的訪問(wèn)的實(shí)體(諸如結(jié)構(gòu)服務(wù))將請(qǐng)求來(lái)自密鑰管理服務(wù)204的適當(dāng)?shù)拿荑€。其是密鑰管理服務(wù)204僅在值得信任的環(huán)境下發(fā)布這樣的密鑰的責(zé)任。

結(jié)構(gòu)控制器

在具有負(fù)責(zé)機(jī)器自身外的系統(tǒng)操作的所有方面的管理軟件的一組系統(tǒng)內(nèi)管理受保護(hù)機(jī)器。這樣的機(jī)器的集合通常在此被稱為結(jié)構(gòu)并且控制結(jié)構(gòu)的軟件系統(tǒng)被稱為結(jié)構(gòu)控制器202。

結(jié)構(gòu)管理可以被分解為若干組件。這些組件中的一些組件將是跨管理的機(jī)器而操作的服務(wù),而其他可以特定于個(gè)體機(jī)器,諸如在單個(gè)主機(jī)上操作的代理。

供應(yīng)服務(wù)

結(jié)構(gòu)維持可以統(tǒng)籌供應(yīng)過(guò)程以及貫穿其壽命向機(jī)器提供秘密的服務(wù)。該服務(wù)被稱為供應(yīng)服務(wù)206,并且其是將由主機(jī)擁有并且操作的總體結(jié)構(gòu)的一部分。供應(yīng)服務(wù)206獲得受保護(hù)供應(yīng)數(shù)據(jù)116并且將那些數(shù)據(jù)傳遞給用于目標(biāo)os實(shí)例的另一組件(被稱為供應(yīng)代理208)。

供應(yīng)服務(wù)206被期望具有對(duì)用于一個(gè)或多個(gè)受保護(hù)機(jī)器的供應(yīng)數(shù)據(jù)116的訪問(wèn)。其是供應(yīng)服務(wù)206維持屬于多個(gè)機(jī)器的數(shù)據(jù)之間的正確分離的責(zé)任,這是因?yàn)槠涮幱谄浞?wù)的每個(gè)這樣的機(jī)器的信任邊界內(nèi)。

在要求的情況下——例如由于通信限制——供應(yīng)服務(wù)206可以被分割為被信任和不被信任的部分。當(dāng)這完成時(shí),不被信任的部分不具有對(duì)受保護(hù)數(shù)據(jù)的清楚文本的訪問(wèn)并且不能夠使得那些數(shù)據(jù)被發(fā)布到不正確的目標(biāo)。

供應(yīng)代理

供應(yīng)代理208是在信任邊界內(nèi)運(yùn)行并且負(fù)責(zé)統(tǒng)籌供應(yīng)操作的特定組件。供應(yīng)代理208可以在提供被要求的任何時(shí)間運(yùn)行。一些示例可以包括:

●一次,在初始引導(dǎo)期間,為了獲得由目標(biāo)os實(shí)例需要操作的唯一的私有數(shù)據(jù)。

●在每次引導(dǎo)時(shí)。例如,為了獲得不能安全地被存儲(chǔ)在os實(shí)例自身內(nèi)的憑證或密鑰。

供應(yīng)代理208使用由該對(duì)組件定義的協(xié)議和數(shù)據(jù)交換方法與供應(yīng)服務(wù)206交互。供應(yīng)代理208存在于受保護(hù)機(jī)器的信任邊界內(nèi)并且將通常具有對(duì)從供應(yīng)服務(wù)206傳遞的敏感信息的訪問(wèn)。如果被要求,例如由于與供應(yīng)服務(wù)206通信的細(xì)節(jié),則供應(yīng)代理208可以被分割為被信任組件和不被信任的組件二者。如果這被完成,不被信任的組件存在于受保護(hù)機(jī)器的信任邊界外部并且不使受保護(hù)數(shù)據(jù)對(duì)其暴露。通常期望給定供應(yīng)代理208實(shí)例將僅與單個(gè)供應(yīng)服務(wù)206交互。

一旦供應(yīng)代理208已經(jīng)完成操作,目標(biāo)受保護(hù)機(jī)器(例如,圖1中的vm102)就能夠引導(dǎo)??梢允且韵虑闆r:目標(biāo)能夠直接地引導(dǎo),或者目標(biāo)可以需要重新引導(dǎo)但是其是供應(yīng)代理208在或者故障或者可引導(dǎo)的受保護(hù)機(jī)器的情況下退出的責(zé)任。供應(yīng)代理208可以在每個(gè)受保護(hù)機(jī)器起動(dòng)時(shí)操作。如果每次系統(tǒng)開(kāi)始時(shí)需要某種水平的供應(yīng),則情況可以是這樣。特定示例可以是每次其引導(dǎo)時(shí)被遞送到系統(tǒng)的盤(pán)加密密鑰。

供應(yīng)信道

供應(yīng)服務(wù)206和供應(yīng)代理208相互通信。在一些實(shí)現(xiàn)中,這些可以實(shí)際上是相同程序的部分并且通信可以以內(nèi)部數(shù)據(jù)結(jié)構(gòu)的形式。在其他情況下,兩個(gè)組件可以在不同的過(guò)程中或甚至在不同的機(jī)器上運(yùn)行。這些組件的確切實(shí)現(xiàn)將指定允許他們通信的一個(gè)或多個(gè)信道的要求。

當(dāng)供應(yīng)信道不具有超過(guò)通信-不可靠的通信的特定能力,各種不同的信道可以存在。一些可能的示例包括:

●在存儲(chǔ)器中,相同可執(zhí)行的組件之間的數(shù)據(jù)結(jié)構(gòu)。

●主機(jī)之間的基于網(wǎng)絡(luò)的傳輸。

●虛擬機(jī)與相同主機(jī)的引導(dǎo)中運(yùn)行的服務(wù)之間的專門(mén)傳輸

模板管理器

受保護(hù)機(jī)器壽命中所設(shè)計(jì)的固有挑戰(zhàn)之一是簡(jiǎn)單地創(chuàng)建受保護(hù)機(jī)器。在一些情況下,受保護(hù)機(jī)器將由被信任的管理員在緊密控制的條件下被創(chuàng)建。在這樣的情況下,存在用于安裝的硬件、環(huán)境和源介質(zhì)值得信任的高度保證。然而,在大多數(shù)情況下,新的受保護(hù)機(jī)器的創(chuàng)建從現(xiàn)有模板(例如,圖1中的模板104)發(fā)生。模板包含運(yùn)行系統(tǒng)的通用副本。為了創(chuàng)建新的受保護(hù)機(jī)器,副本由通用系統(tǒng)組成并且然后該副本被專用于創(chuàng)建唯一目標(biāo)實(shí)例(例如,vm102)。

在供應(yīng)過(guò)程內(nèi),其是模板管理器212將機(jī)器模板轉(zhuǎn)換為唯一目標(biāo)的任務(wù)。模板內(nèi)的源盤(pán)(例如,vhd108)可以被加密或者其可以具有某種形式的完整性驗(yàn)證。模板管理器212在信任邊界內(nèi)運(yùn)行以驗(yàn)證源模板并且實(shí)施任何必要的加密。

模板管理器212從供應(yīng)代理208被調(diào)用,并且期望模板管理器212在受保護(hù)機(jī)器的壽命中被調(diào)用至多一次。供應(yīng)服務(wù)206應(yīng)當(dāng)具有足夠的控制來(lái)確定其何時(shí)調(diào)用模板管理器212。

目標(biāo)鏡像適配器

一旦模板管理器212已經(jīng)創(chuàng)建唯一目標(biāo)受保護(hù)機(jī)器鏡像,鏡像自身就可能需要變更以允許其操作。例如,通用操作系統(tǒng)鏡像將要求一些設(shè)置組,其將允許其操作為唯一操作系統(tǒng)鏡像。在從華盛頓雷德蒙德的微軟公司可獲得的windows中,這是被稱為專用的過(guò)程。目標(biāo)鏡像適配器214負(fù)責(zé)將特定實(shí)例數(shù)據(jù)注入到受保護(hù)機(jī)器鏡像中。

一旦供應(yīng)代理208已經(jīng)驗(yàn)證模板管理器212已經(jīng)成功地運(yùn)行,其就斷定目標(biāo)盤(pán)卷具有必需的安全性水平以允許其內(nèi)的敏感特定機(jī)器數(shù)據(jù)的持久性。供應(yīng)代理208然后執(zhí)行目標(biāo)鏡像適配器214,其負(fù)責(zé)這些“修復(fù)”類型的操作。

目標(biāo)鏡像適配器214在受保護(hù)機(jī)器的信任邊界內(nèi)運(yùn)行,處理敏感數(shù)據(jù)(諸如私有密鑰和管理憑證)。適配器功能取決于目標(biāo)os類型和需要發(fā)生的配置的性質(zhì)。例如,數(shù)據(jù)可以被寫(xiě)到目標(biāo)os卷以允許專用化。目標(biāo)鏡像適配器214可以被分割為多個(gè)部分,如果例如那些部分需要在機(jī)器的引導(dǎo)周期中的不同的點(diǎn)處運(yùn)行。在這種情況下,假定目標(biāo)鏡像適配器214的所有部分在受保護(hù)機(jī)器的信任邊界內(nèi)運(yùn)行。

第2章——提供受保護(hù)虛擬機(jī)

實(shí)施例可以包括將使能受保護(hù)物理機(jī)或虛擬機(jī)的創(chuàng)建、遷移和操作的服務(wù)和組件的集合。

可以實(shí)現(xiàn)其中結(jié)構(gòu)管理器254(即,sc-vmm)和本地虛擬化管理程序215主機(jī)管理員二者都不應(yīng)當(dāng)能夠妥協(xié)虛擬機(jī)的保護(hù)或訪問(wèn)該機(jī)器的保密數(shù)據(jù)中的任一個(gè)的實(shí)施例。

受保護(hù)虛擬機(jī)可以依賴于操作系統(tǒng)的一個(gè)或多個(gè)技術(shù)和特征以安全地操作。

基礎(chǔ)組件

可以被用于構(gòu)建使用從華盛頓雷德蒙德的微軟公司可獲得的hyper-v實(shí)現(xiàn)的實(shí)施例中的總體受保護(hù)vm場(chǎng)景的若干組件如下:

·虛擬安全模式(vsm)——用于保護(hù)高值數(shù)據(jù)的hyper-v(或其他管理程序)實(shí)施的存儲(chǔ)器隔離模型。

·hyper-v代碼完整性(hvci)——由控制什么代碼可以被執(zhí)行在根分區(qū)的內(nèi)核模式中的hyper-v(或其他管理程序)實(shí)施的策略。

·可信平臺(tái)模塊(tpm)——可以被用于測(cè)量平臺(tái)狀態(tài)和保護(hù)秘密的硬件或固件中實(shí)現(xiàn)的隔離安全性模塊。

·遠(yuǎn)程認(rèn)證——使用tpm以密碼認(rèn)證的方式在平臺(tái)的狀態(tài)上報(bào)告并且然后確定該平臺(tái)的某個(gè)部分的狀態(tài)或健康的過(guò)程。

·健康證書(shū)——當(dāng)通過(guò)結(jié)構(gòu)可接受的某個(gè)測(cè)量已知為健康時(shí)被發(fā)出到主機(jī)的證書(shū)。

·密鑰分布服務(wù)(kds)——如果平臺(tái)可以證明其健康則將密鑰發(fā)布到平臺(tái)的服務(wù)。

方案預(yù)演

現(xiàn)在,在圖3中圖示詳細(xì)示例。示例vm102(或在一些實(shí)施例中,物理機(jī))的保護(hù)的基礎(chǔ)單元可以是加密盤(pán)卷(諸如vhd108)。受保護(hù)數(shù)據(jù)被放置在虛擬盤(pán)(vhdx)內(nèi)的卷上,并且該卷使用全卷加密(fve)被加密。給定虛擬機(jī)可以具有以該方式加密的其虛擬盤(pán)卷的任何集合。受保護(hù)vm102具有利用fve加密的其操作系統(tǒng)(os)卷。fve強(qiáng)加針對(duì)vm的os的引導(dǎo)卷被解密的要求,然而該卷的內(nèi)容將被完整性驗(yàn)證。

fve保護(hù)卷可以被配置用于使用若干不同的密鑰類型進(jìn)行解鎖。一些密鑰要求用戶存在以錄入密碼或pin。其他類型的密鑰可以要求被存儲(chǔ)在另一卷上的受保護(hù)數(shù)據(jù)內(nèi)或來(lái)源于其的密鑰。然而,可以從外部設(shè)備(諸如usb拇指驅(qū)動(dòng)器)讀取其他類型的密鑰。當(dāng)加密卷表示數(shù)據(jù)卷時(shí),這些密鑰中的一些密鑰適于服務(wù)器使用。例如,來(lái)源于運(yùn)行的os中的存儲(chǔ)庫(kù)的密鑰足以解鎖用于機(jī)器的數(shù)據(jù)卷。

以上密鑰通常不適于解鎖os卷,并且甚至更多地因此,托管云環(huán)境中的os卷。原因在于,所有密鑰或者已經(jīng)要求運(yùn)行os——當(dāng)加鎖卷是os卷時(shí)不可能的一些東西——或者其要求用戶輸入。fve還支持在硬件251中運(yùn)行的可信平臺(tái)模塊或tpm261的使用以保護(hù)os卷解鎖密鑰,其允許os卷被密封到特定計(jì)算機(jī)系統(tǒng)并且在引導(dǎo)期間自動(dòng)地解鎖。

在一些實(shí)施例中,vm102可以具有虛擬tpm(vtpm)220作為其虛擬硬件的一部分。這允許基于tpm的fve保護(hù)器被使用在vm102的os卷上。在一些方面中,保護(hù)fve卷的虛擬tpm或vtpm的并入簡(jiǎn)單地移動(dòng)保護(hù)問(wèn)題?,F(xiàn)在,不是保護(hù)fve密鑰,使vtpm的私有屏蔽數(shù)據(jù)免于公開(kāi)和篡改變得必要。vm的虛擬硬件可以被實(shí)現(xiàn)在根分區(qū)內(nèi)。這已經(jīng)傳統(tǒng)地意味著機(jī)器的根分區(qū)的管理員可以訪問(wèn)虛擬硬件并且公開(kāi)或改變被存儲(chǔ)在其內(nèi)的數(shù)據(jù)。然而,該方案將不符合與使本地管理員免于妥協(xié)受保護(hù)vm的目標(biāo)。

一些實(shí)施例實(shí)現(xiàn)虛擬安全模式或vsm266。簡(jiǎn)單地,vsm使用硬件存儲(chǔ)器映射來(lái)創(chuàng)建單個(gè)分區(qū)內(nèi)的不同的信任水平(被稱為虛擬信任水平或簡(jiǎn)單地vtl)。分區(qū)內(nèi)的代碼使用特定虛擬化管理程序215調(diào)用進(jìn)入或退出vtl。進(jìn)入或退出vtl將使得虛擬化管理程序215改變對(duì)在分區(qū)內(nèi)運(yùn)行的代碼可訪問(wèn)的存儲(chǔ)器映射。

vsm創(chuàng)建由此在比如根分區(qū)中運(yùn)行的代碼不能夠訪問(wèn)某些受保護(hù)數(shù)據(jù)的新的能力。這甚至適于在當(dāng)前不具有放置在其上的限制的內(nèi)核模式中運(yùn)行的代碼。僅非常小數(shù)量的代碼將被允許在提高的vtl處執(zhí)行。該被信任代碼——常?,F(xiàn)在僅被稱為“vsm代碼”——可以被控制使得第三方將不能夠?qū)ζ溥M(jìn)行延伸。

在一些實(shí)施例中,在vsm266代碼中實(shí)現(xiàn)新的vtpm220硬件。這意味著包括vtpm220的秘密屏蔽部分的數(shù)據(jù)將對(duì)大部分根分區(qū)代碼是不可訪問(wèn)的,即使該代碼利用管理權(quán)限運(yùn)行并且即使該代碼在內(nèi)核模式中運(yùn)行。vsm266代碼被認(rèn)為是在管理受保護(hù)vm的信任邊界內(nèi)。

雖然vsm266可以為被信任代碼和數(shù)據(jù)的管理提供顯著地改進(jìn)的邊界,但是其并不是不受攻擊影響。防止攻擊的一個(gè)方式是對(duì)系統(tǒng)強(qiáng)加代碼完整性控制或ci控制。ci控制使用特定策略(被稱為ci策略)以確定什么代碼被允許在系統(tǒng)上執(zhí)行。然而,存在于系統(tǒng)的根分區(qū)中的ci策略容易受到攻擊。實(shí)施例可以實(shí)現(xiàn)使得用于內(nèi)核模式根分區(qū)組件的ci策略執(zhí)行能夠從管理程序自身完成的安全性特征。該特征橫過(guò)ci策略的運(yùn)行時(shí)間變更,并且在從華盛頓雷德蒙德的微軟公司可獲得的方案中,被稱為hyper-v代碼完整性或hvci。在ci263處圖示了示例。

雖然ci策略可以在系統(tǒng)運(yùn)行時(shí)間期間被很好地保護(hù),但是其仍然容易受到離線攻擊。如果系統(tǒng)關(guān)閉,則具有對(duì)機(jī)器的存儲(chǔ)裝置的訪問(wèn)的攻擊者可能能夠變更控制ci263的策略以及其他策略,并且然后重新啟動(dòng)妥協(xié)狀態(tài)中的機(jī)器。這將然后允許后續(xù)的在線攻擊。為了減輕該類型的攻擊,實(shí)施例還可以實(shí)現(xiàn)機(jī)器健康的附加硬件邊界測(cè)量,其允許在使受保護(hù)數(shù)據(jù)被部署到其之前檢測(cè)妥協(xié)的主機(jī)。這些測(cè)量將機(jī)器的物理tpm261使用在遠(yuǎn)程認(rèn)證的過(guò)程中。

以上特征描述了實(shí)現(xiàn)重要的深度防御策略以及提供并且操作受保護(hù)vm所要求的信任邊界的最小化的手段。對(duì)于受保護(hù)vm功能存在而言,技術(shù)上并不要求這些特征中的每個(gè)特征。

受保護(hù)vm的信任邊界

受保護(hù)vm120的所有者明確地僅信任將操作并且可能地創(chuàng)建vm120的結(jié)構(gòu)的密鑰分布服務(wù)(kds)114。所有者通過(guò)創(chuàng)建和/或操作vm102所要求的秘密的保護(hù)者做出kds114來(lái)明確地表達(dá)該信任。在結(jié)構(gòu)內(nèi),kds114具有在堅(jiān)持結(jié)構(gòu)策略的條件下分發(fā)密鑰的能力。

對(duì)于待創(chuàng)建或待操作的受保護(hù)vm102而言,一個(gè)或多個(gè)秘密在主機(jī)106處是可用的。這些秘密包括vtpm220以及可能的卷加密密鑰或從模板104創(chuàng)建新的vm所需要的其他數(shù)據(jù)。受保護(hù)數(shù)據(jù)被遞送到主機(jī)106并且在該主機(jī)的vsm265內(nèi)被解密。主機(jī)106上的vsm265內(nèi)的代碼請(qǐng)求來(lái)自kds114的密鑰,并且如果kds114將主機(jī)106視為健康的,則那些密鑰被遞送。證實(shí)的結(jié)構(gòu)主機(jī)的vsm265內(nèi)的代碼被認(rèn)為是在用于在該主機(jī)106上運(yùn)行的受保護(hù)vm的信任邊界內(nèi)。

受保護(hù)vm102還是的信任邊界自身的一部分。也即,受保護(hù)vm102內(nèi)的代碼具有構(gòu)成受保護(hù)vm102的受保護(hù)數(shù)據(jù)的訪問(wèn)。這一點(diǎn)的隱含在于,在主機(jī)106的vsm265內(nèi)已經(jīng)訪問(wèn)的受保護(hù)數(shù)據(jù)可以然后在那些數(shù)據(jù)所屬的受保護(hù)vm102內(nèi)暴露。然而,關(guān)于vsm中的vm的并非所有數(shù)據(jù)可以暴露在vm內(nèi)。例如,vtpm的屏蔽位置未被暴露,僅因?yàn)槟切﹑tpm將不在物理機(jī)上。

如果存在適當(dāng)?shù)某橄?諸如虛擬化機(jī)制)來(lái)支持其,則對(duì)于一些受保護(hù)數(shù)據(jù)而言從vsm266直接暴露于受保護(hù)vm102是可能的。vtpm220是該類型的數(shù)據(jù)的示例,其中vtpm內(nèi)容在允許功能vtpm被暴露到vm102中的vsm266內(nèi)操作。vm102絕不具有對(duì)vtpm220內(nèi)容(諸如屏蔽數(shù)據(jù))的直接訪問(wèn)。該模型直接地并行物理機(jī)上的物理tpm。

在其他情況下,可用于主機(jī)的vsm265中的受保護(hù)vm102的受保護(hù)數(shù)據(jù)不具有虛擬硬件等效。在這些情況下,數(shù)據(jù)被安全地傳輸?shù)絭m102中以供使用。大多數(shù)供應(yīng)數(shù)據(jù)116落到該類別中。在這些情況下,在主機(jī)的vsm265與目標(biāo)受保護(hù)vm102之間保護(hù)數(shù)據(jù),使得其不能以不可檢測(cè)的方式或以任何其他方式被公開(kāi)、被修改,妥協(xié)由方案做出的完整性和私有性保證。

從架構(gòu)視角,在一些實(shí)施例中,kds114、供應(yīng)服務(wù)206的部分、供應(yīng)代理208、模板管理器212和目標(biāo)適配器214(參見(jiàn)圖1)全部在針對(duì)受保護(hù)vm102的信任邊界內(nèi)。

受保護(hù)數(shù)據(jù)

受保護(hù)vm的創(chuàng)建和操作使用受保護(hù)數(shù)據(jù)。受保護(hù)數(shù)據(jù)是被加密且被認(rèn)證并且其在方案的正式信任邊界內(nèi)被解密的(一個(gè)或多個(gè))數(shù)據(jù)項(xiàng)。在一些實(shí)施例中,每個(gè)分離的受保護(hù)數(shù)據(jù)片具有描述當(dāng)前保護(hù)狀態(tài)的唯一數(shù)據(jù)結(jié)構(gòu)。該結(jié)構(gòu)被稱為保護(hù)描述符或pd。在一些實(shí)施例中,每個(gè)受保護(hù)數(shù)據(jù)片是不具有內(nèi)在意思的八位字節(jié)流。各種組件和過(guò)程封裝受保護(hù)數(shù)據(jù)用于其使用。

受保護(hù)vm可以依賴于其操作壽命期間的一個(gè)受保護(hù)數(shù)據(jù)片(即vtpm220)。vtpm220進(jìn)而被用于保護(hù)vm的fveos卷的加密密鑰。vtpm220是每個(gè)受保護(hù)vm的操作狀態(tài),并且如此,其被攜帶在vm的定義中(例如,在由華盛頓雷德蒙德的微軟公司所提供的虛擬機(jī)實(shí)現(xiàn)的情況下的a.vmcx文件)。

如果新的受保護(hù)vm102在被信任環(huán)境中由其所有者創(chuàng)建,則其可以絕不要求超過(guò)vtpm220的任何受保護(hù)數(shù)據(jù)。在這種情況下,受保護(hù)vm102被創(chuàng)建為運(yùn)行虛擬化管理程序215的計(jì)算機(jī)上的空的vm。新的vm102具有與其相關(guān)聯(lián)的vtpm220并且所有者將新的軟件安裝到安全和被信任環(huán)境中的vm102中。環(huán)境是安全并且被信任的,這是因?yàn)榘惭b過(guò)程自身不是安全的。

然而,在許多情況下,新的受保護(hù)vm102通過(guò)從模板104開(kāi)始創(chuàng)建并且將模板104專用以形成不同的受保護(hù)目標(biāo)vm102。首先,新的模板os被放下在os盤(pán)上。模板os是以通用的形式并且其稍后被專用化以產(chǎn)生不同的os實(shí)例。部署和專用化的過(guò)程要求被用于區(qū)分新實(shí)例的某個(gè)供應(yīng)數(shù)據(jù)116的集合(參見(jiàn)圖1)。這些供應(yīng)數(shù)據(jù)116通常包括類似計(jì)算機(jī)名和管理員密碼的內(nèi)容。

當(dāng)從模板創(chuàng)建新的vm時(shí),需要一些附加的受保護(hù)數(shù)據(jù)。這些受保護(hù)數(shù)據(jù)包含敏感信息,諸如初始加密密鑰(稍后待描述的)以及管理員密碼或其他專用數(shù)據(jù))。在一些實(shí)施例中,供應(yīng)數(shù)據(jù)根據(jù)受保護(hù)vm并且僅在創(chuàng)建時(shí)間時(shí)被使用一次。

基于受保護(hù)虛擬機(jī)模板的供應(yīng)能力

在一系列步驟中執(zhí)行來(lái)自模板os盤(pán)的不同的vm102。步驟的集合可以基于確切的場(chǎng)景變化,但是其通常可以包括以下各項(xiàng):

1.將模板os卷解密——os卷可以具有被要求將其解鎖的外部密鑰。如果這樣的話,密鑰被傳遞到工廠中并且被用于將安全卷解鎖。

2.將os卷重新加密——在大多數(shù)情況中,模板os卷不具有加密密鑰或者跨從相同模板得到的所有盤(pán)將相同的加密密鑰??赡苄枰獙⒕碇匦录用堋?/p>

3.認(rèn)證os卷——一些os卷伴隨有簽名信息。簽名被驗(yàn)證以確保模板尚未變更。

4.將供應(yīng)數(shù)據(jù)與模板相匹配——所有者可以具有旨在用于與不同的模板操作一起使用的不同的供應(yīng)數(shù)據(jù)。供應(yīng)數(shù)據(jù)被匹配到模板。

5.注入供應(yīng)數(shù)據(jù)——一旦目標(biāo)os卷被驗(yàn)證并且安全的,供應(yīng)數(shù)據(jù)就可以被注入到其中。這些數(shù)據(jù)被傳遞到工廠中。

模板盤(pán)類型

存在現(xiàn)在描述的兩個(gè)基于不同的模板的供應(yīng)場(chǎng)景。這兩者導(dǎo)致具有一個(gè)或多個(gè)fve加密卷的受保護(hù)vm102。另外,這兩個(gè)場(chǎng)景要求受保護(hù)供應(yīng)數(shù)據(jù)116的某個(gè)集合。場(chǎng)景之間的差異在于(一個(gè)或多個(gè))模板虛擬盤(pán)的源和保護(hù)。兩個(gè)盤(pán)場(chǎng)景是:

1)加密的模板——虛擬os盤(pán)包含使用秘密fve密鑰加密的os卷。秘密fve密鑰是受保護(hù)數(shù)據(jù)。

2)簽名的模板——虛擬os盤(pán)包含加密的os卷,然而fve被暫停意味著沒(méi)有秘密密鑰被要求以訪問(wèn)卷。根分區(qū)包含os卷上的簽名目錄以允許完整性檢查。

在這兩種情況下,被執(zhí)行的vm工廠操作在根盤(pán)的os卷上。vm102可以包含附加的加密卷,并且如果其這樣做,則任何自動(dòng)解鎖被設(shè)定在模板盤(pán)的os卷中。在一些實(shí)施例中,vm工廠不對(duì)數(shù)據(jù)卷執(zhí)行重新加密操作。

加密模板被預(yù)期由單個(gè)所有者或租戶私有地使用并且可以包含該租戶的私有數(shù)據(jù)。vm工廠使這些數(shù)據(jù)免于公開(kāi)。簽名模板被預(yù)期發(fā)布并且不包含敏感數(shù)據(jù)??梢允褂煤灻夸浾J(rèn)證簽名模板,但是包含在其中的數(shù)據(jù)應(yīng)當(dāng)被假定為自由地公開(kāi)。簽名模板是用于通用工作量的有用的起始點(diǎn)。因此,例如,可以由租戶直接地提供加密模板,而簽名模板通常在任何租戶的模板圖庫(kù)中是可用的。

模板虛擬硬盤(pán)創(chuàng)建

為了使能來(lái)自模板的受保護(hù)vm的創(chuàng)建,首先創(chuàng)建一個(gè)或多個(gè)模板虛擬硬盤(pán)。在安全環(huán)境中創(chuàng)建模板虛擬硬盤(pán)。這被完成,因?yàn)閯?chuàng)建過(guò)程可能依賴于管理未給予用于受保護(hù)vm的規(guī)定的信任邊界內(nèi)的保護(hù)的數(shù)據(jù)的操作。

在大多數(shù)情況下,由需要私有加密模板的租戶或由希望發(fā)布標(biāo)準(zhǔn)模板的主機(jī)或供應(yīng)商創(chuàng)建模板虛擬硬盤(pán)??梢栽讵?dú)立安全機(jī)器上創(chuàng)建這些模板盤(pán)。

os盤(pán)創(chuàng)建

每個(gè)受保護(hù)vm從虛擬根盤(pán)上的加密os卷引導(dǎo)。為了創(chuàng)建新的os模板盤(pán),過(guò)程以新的未保護(hù)的vm開(kāi)始。該新的vm(被稱為模板vm)特別地存在以創(chuàng)建新的模板os盤(pán)。模板vm不需要具有vtpm。

模板vm初始地具有空白根盤(pán)。一旦創(chuàng)建新根盤(pán),就安裝操作系統(tǒng)的新副本。這可以是支持fve的可商業(yè)獲得的版本。例如,一些實(shí)施例可以使用windows8或稍后從華盛頓雷德蒙德的微軟公司獲得。os盤(pán)然后使fve驅(qū)動(dòng)器加密啟用??梢岳靡韵聟?shù)執(zhí)行驅(qū)動(dòng)器加密:

1)加密可以被設(shè)定為僅對(duì)所使用的空間進(jìn)行加密。大多數(shù)os盤(pán)是多驅(qū)動(dòng)器錯(cuò)誤容限(例如,通過(guò)具有冗余度)盤(pán),并且該選項(xiàng)快速得多并且導(dǎo)致更小的虛擬盤(pán)文件。

2)將密鑰保存到文件。由傳輸密鑰(transportkey)或tk保護(hù)的fve密鑰可以被保存到文件。為了促進(jìn)這一點(diǎn),附加的虛擬盤(pán)可以被附接到vm或者密鑰可以暫時(shí)地被保存到os盤(pán)自身。

一旦fve已經(jīng)完成加密os卷,密鑰就被存儲(chǔ)在安全位置。密鑰被包含在上文(2)中所指定的位置處的文件中。一旦密鑰已經(jīng)被保存到安全位置,其就從原始位置被擦除。

對(duì)于簽名模板而言,如果模板創(chuàng)建過(guò)程被用于授權(quán)簽名模板,那么在os卷上現(xiàn)在暫停fve。暫停fve允許在沒(méi)有上文所創(chuàng)建的密鑰的情況下訪問(wèn)os卷。以上密鑰不應(yīng)當(dāng)在暫停fve之后被要求。

一旦os或任何附加元件被安裝并且所有配置已經(jīng)被完成,os就應(yīng)當(dāng)被一般化。在一些實(shí)施例中,這可以使用從華盛頓雷德蒙德的微軟公司獲得的windowssysprep實(shí)用程序完成。當(dāng)完成一般化時(shí),目標(biāo)os可以被配置為當(dāng)其被然后引導(dǎo)時(shí),使設(shè)置專用化和定制免于運(yùn)行?,F(xiàn)在,模板vm應(yīng)當(dāng)關(guān)閉。

模板簽名目錄創(chuàng)建

模板盤(pán)被簽名而不管最后的產(chǎn)品是加密模板還是僅簽名模板。該基本原理在于,加密單獨(dú)不能被用于檢測(cè)篡改。雖然攻擊者可以以可以引入安全漏洞的方式篡改fve加密盤(pán)被認(rèn)為是極其不可能的,但是有可能的是,可以破壞使得結(jié)果的vm不正確地操作的數(shù)據(jù)。

來(lái)自包含新模板鏡像的模板vm的os虛擬盤(pán)文件被安裝在安全授權(quán)工作站上。這可以是在其上模板vm被更早地創(chuàng)建但是那未被要求的相同工作站。os盤(pán)文件被安裝在其上的工作站使模板簽名證書(shū)被安裝。

一旦os虛擬盤(pán)被安裝,就存在在其上存在的兩個(gè)分區(qū)。第一個(gè)是包含根文件的未加密的根分區(qū)。第二個(gè)是已經(jīng)利用fve加密的os卷自身。fve可能暫?;蚩赡苌形磿和#侨绻鹒ve是活躍的,則卷未被解鎖。os卷被離線,使得當(dāng)前os不具有安裝在其上的文件系統(tǒng)。

作者可以使用特殊簽名目錄創(chuàng)建工具生成用于os卷的簽名目錄。作為結(jié)果的簽名目錄是被寫(xiě)到盤(pán)的根分區(qū)的文件。工具考慮針對(duì)卷id和版本的用戶輸入,如下文所描述的。

os卷目錄文件字段如下:

散列-盤(pán)的所有使用塊的密碼散列。在一些實(shí)施例中,散列未覆蓋由當(dāng)前文件系統(tǒng)未使用的塊。散列包含算法id和散列值二者。

卷id-由允許發(fā)布者對(duì)卷進(jìn)行命名和記版本的發(fā)布者分配的結(jié)構(gòu)。卷id包含以下部分:

-名稱-分配給卷的文本名稱。該名稱可以是發(fā)布者的選擇的任何東西。

-版本號(hào)-在一些實(shí)施例中,這可以是形式w.x.y.z的四部分版本號(hào)。

發(fā)布者證書(shū)-證書(shū)包含對(duì)應(yīng)于由發(fā)布者所使用的簽名密鑰的公共密鑰。簽名檢查可以使用僅密鑰,或者如果其能夠的話,使用整個(gè)證書(shū)確定簽名是否有效。

簽名-目錄中的所有字段上的簽名。

目錄的位置應(yīng)當(dāng)具有默認(rèn),但是還應(yīng)當(dāng)能夠經(jīng)由根配置數(shù)據(jù)(bcd)設(shè)置而被指定。

加密模板發(fā)布

當(dāng)加密模板被發(fā)布時(shí),對(duì)應(yīng)的密鑰文件被維持并且在參考模板的新的供應(yīng)數(shù)據(jù)將被創(chuàng)建時(shí)是可用的。密鑰文件被保持在安全位置(諸如加密外部驅(qū)動(dòng)器),并且僅在供應(yīng)數(shù)據(jù)創(chuàng)建要求其時(shí)是可用的。

數(shù)據(jù)盤(pán)創(chuàng)建

除受保護(hù)os盤(pán)之外,受保護(hù)vm可以具有一個(gè)或多個(gè)數(shù)據(jù)盤(pán)。數(shù)據(jù)盤(pán)(如果其存在的話)可以是清楚的或者根據(jù)需要被加密。如果要求加密數(shù)據(jù)盤(pán),則在一些實(shí)施例中,其可以在模板os盤(pán)的創(chuàng)建之前被創(chuàng)建。模板os盤(pán)上的os被配置為自動(dòng)地解鎖fve加密數(shù)據(jù)盤(pán)。

供應(yīng)數(shù)據(jù)創(chuàng)建

當(dāng)要從模板104創(chuàng)建新的受保護(hù)vm102時(shí),則可以使用特殊文件(被稱為供應(yīng)數(shù)據(jù)密鑰文件(pdk))。密鑰文件簡(jiǎn)單地是結(jié)構(gòu)化的一組元件,其中每個(gè)元件包含其自身的描述表頭。pdk提供針對(duì)包括必需密鑰和允許卷id的基于模板的創(chuàng)建的一種方法。通過(guò)將創(chuàng)建新的受保護(hù)vm的租戶確定pdk的顆粒度。一些示例包括:

·租戶可以選擇具有被用于創(chuàng)建所有受保護(hù)vm的一個(gè)pdk。

·租戶可以基于其內(nèi)容和使用創(chuàng)建針對(duì)不同種類的機(jī)器的不同的pdk。

·租戶可以選擇針對(duì)每個(gè)單個(gè)受保護(hù)vm的不同的pdk以確保針對(duì)每一個(gè)的特定設(shè)置。

供應(yīng)數(shù)據(jù)116可以被提供到密鑰文件結(jié)構(gòu)中??傮w密鑰文件可以然后被保護(hù)為私有數(shù)據(jù)。

在一些實(shí)施例中,pdk包含使用在供應(yīng)過(guò)程中的至少三個(gè)項(xiàng),這些是:

1)卷id限定符——描述來(lái)自對(duì)應(yīng)的ps卷目錄的信息的一組限定符。如果pdk包含可以匹配os卷id的卷id限定符,則特定pdk可以與模板os盤(pán)一起被使用,如稍后所描述的。

2)工廠數(shù)據(jù)——引導(dǎo)安全vm工廠操作的設(shè)置。

3)定制數(shù)據(jù)段——被用于定制來(lái)自模板盤(pán)的os的一組數(shù)據(jù)項(xiàng)和描述。

os卷id限定符

在所說(shuō)明的實(shí)施例中,每個(gè)目錄包含針對(duì)os卷和版本號(hào)的文本名,其二者由模板的創(chuàng)建者或發(fā)布者確定。將總體目錄簽名。目錄包含簽名者的證書(shū),其繼而包含公共簽名密鑰。

os卷限定符(或簡(jiǎn)單地限定符)基本上是被用于匹配一個(gè)或多個(gè)目錄的規(guī)則。在一些實(shí)施例中,每個(gè)限定符包含以下項(xiàng):

名稱-被用于匹配目錄中的名稱的名稱。限定符中的名稱可以包含具有與命令提示相同匹配規(guī)則的通配符(諸如“*”和“?”)。

版本-在一些實(shí)施例中,多部分版本號(hào)。版本的每個(gè)部分是可選的,與總體版本一樣。如果版本被省略,那么空版本匹配來(lái)自目錄的所有版本。如果版本的任何部分是缺失的,則該部分被解譯為是0。

版本規(guī)則-可以是大于、大于等于、小于、小于等于、等于或不等于。這是將限定符中的版本與目錄中的版本匹配所使用的規(guī)則。

簽名密鑰-被期望被用于簽名卷目錄的公共密鑰??梢允÷院灻荑€以創(chuàng)建允許所有目錄的限定符,盡管這顯著地放寬安全性。

卷密鑰-可選的并且不存在于僅簽名模板中,包含解鎖卷所需要的fve加密密鑰。

pdk的限定符段包含一個(gè)或多個(gè)個(gè)體os卷限定符條目。每個(gè)條目可以描述一系列目標(biāo)os卷目錄。最簡(jiǎn)單的限定符包含通配符名、沒(méi)有版本、等于版本規(guī)則、沒(méi)有簽名密鑰并且沒(méi)有卷密鑰。所得到的pdk可以與所有僅簽名的模板一起使用。

工廠數(shù)據(jù)

工廠數(shù)據(jù)描述工廠將如何處理模板盤(pán)。工廠數(shù)據(jù)是os相關(guān)的。在一些實(shí)施例中,指定以下值:

·fvek重新加密——僅適于加密模板盤(pán),(如果模板盤(pán)是僅簽名的)被忽略。選擇指定“沒(méi)有重新加密”,其針對(duì)非加密(即,僅簽名的)模板被忽略,因?yàn)樵谀切┣闆r下,密鑰是眾所周知的,使得實(shí)施例總是滾動(dòng)fvek。當(dāng)該選項(xiàng)被指定時(shí),針對(duì)每個(gè)模板副本滾動(dòng)全卷加密密鑰(fvek)。應(yīng)用該選項(xiàng)顯著地增加vm工廠的處理時(shí)間。應(yīng)用該選項(xiàng)還防止其中單個(gè)父盤(pán)由多個(gè)差異盤(pán)使用的場(chǎng)景。

·忽略簽名檢查——使得簽名檢查被忽略。在僅簽名的模板盤(pán)中,甚至不需要計(jì)算簽名,其節(jié)省了時(shí)間。該選項(xiàng)可以被指定以放寬簽名檢查以及速度創(chuàng)建(特別地針對(duì)僅簽名的模板)。一些實(shí)施例可以被配置為除在加密模板上之外,絕不使用該選項(xiàng)。

定制數(shù)據(jù)

每個(gè)pdk可以包含專用數(shù)據(jù)段。專用數(shù)據(jù)段是由租戶用于將私有數(shù)據(jù)和指令傳遞到受保護(hù)工廠過(guò)程的機(jī)制。專用數(shù)據(jù)旨在描述模板-目標(biāo)過(guò)程發(fā)生的方式。

可以在受保護(hù)vm工廠內(nèi)消耗專用數(shù)據(jù)中的一些專用數(shù)據(jù),而可以在目標(biāo)os內(nèi)消耗其他部分。特別地,工廠數(shù)據(jù)由工廠過(guò)程消耗,而專用數(shù)據(jù)以os有關(guān)的方式被傳遞到os。

專用數(shù)據(jù)

在vm工廠的專用化管理器組件內(nèi)或者在專用化管理器與目標(biāo)os之間完全地消耗專用數(shù)據(jù)。責(zé)任的劃分取決于目標(biāo)os和將其專用化所使用的機(jī)制。

假定專用數(shù)據(jù)是os相關(guān)的,格式和內(nèi)容也是這樣。例如,在microsoftwindows中,存在兩個(gè)數(shù)據(jù)段。每個(gè)段中的每個(gè)條目以名稱開(kāi)始。名稱基于windowsunattend.xml應(yīng)答文件的名稱。

第一段被稱為受保護(hù)值段。該段包含與每個(gè)數(shù)據(jù)項(xiàng)的名稱相對(duì)應(yīng)的值。值是數(shù)據(jù)類型和兼容的數(shù)據(jù)值的復(fù)合。這是被傳遞到unattend.xml應(yīng)答文件中的指定條目的目標(biāo)操作系統(tǒng)的值。

第二段被稱為允許結(jié)構(gòu)值段。這僅是名稱的列表并且其被解譯為值的“白名單”。專用化管理器和目標(biāo)os中的任何專用化代碼允許在該段中指定的值的不安全的源。在受保護(hù)vm工廠的情況下,結(jié)構(gòu)管理器254被允許在模板值中傳遞。那些模板值在要被應(yīng)用的pdk的允許值列表中。

供應(yīng)操作

如先前所描述的,供應(yīng)操作可以被分離為被要求創(chuàng)建受保護(hù)vm的一次性操作和被要求操作該vm的再發(fā)生的操作??梢栽诰哂谢谪S富模板的提供能力但是不要求再發(fā)生的操作的環(huán)境中實(shí)現(xiàn)一些實(shí)施例。

在安全vm工廠中實(shí)現(xiàn)供應(yīng)過(guò)程。安全vm工廠在提供可擴(kuò)展的安全方案的目標(biāo)受保護(hù)vm內(nèi)完全地運(yùn)行。每個(gè)受保護(hù)vm在未提供的狀態(tài)中開(kāi)始,使用下面的數(shù)段中所描述的過(guò)程在該受保護(hù)vm內(nèi)創(chuàng)建個(gè)體受保護(hù)目標(biāo)os。

初始未提供的vm狀態(tài)

結(jié)構(gòu)管理器254統(tǒng)籌新的受保護(hù)vm102的創(chuàng)建。當(dāng)新的受保護(hù)vm102首先被創(chuàng)建時(shí),其處于未提供的狀態(tài)。在初始狀態(tài)中,vm是不可用的并且可以甚至不引導(dǎo)。另外,由vtpm組成的受保護(hù)vm狀態(tài)不能遷移出從當(dāng)前運(yùn)行虛擬化管理程序215實(shí)例,這是因?yàn)槠洳痪哂信c其相關(guān)聯(lián)的保護(hù);僅保護(hù)提供新的vtpm220在于,其完全存在于vsm266內(nèi)。

受保護(hù)vm創(chuàng)建的詳細(xì)步驟

當(dāng)新的受保護(hù)的vm被創(chuàng)建時(shí),執(zhí)行一系列步驟以使其處于初始未提供的狀態(tài)。

復(fù)制模板盤(pán)

為了開(kāi)始受保護(hù)創(chuàng)建,結(jié)構(gòu)管理器254創(chuàng)建形成新vm的基礎(chǔ)的新盤(pán)。新盤(pán)可以是例如以下各項(xiàng)中的任一項(xiàng):

1)模板盤(pán)的副本。任何模板盤(pán)可以包含加密或簽名卷。

2)新的空盤(pán)。新的vm的盤(pán)中的任一個(gè)可以是空盤(pán)。當(dāng)所有者將創(chuàng)建安全環(huán)境中的新受保護(hù)vm時(shí),os盤(pán)可以僅是空盤(pán)。

3)不同的盤(pán)??梢詣?chuàng)建參考父親的新的不同盤(pán)。在某些情況中父親可以被共享。父親盤(pán)可以是加密盤(pán)但非簽名盤(pán)。

下面更詳細(xì)地描述了對(duì)來(lái)自加密模板的不同盤(pán)的使用的限制。

初始vm創(chuàng)建

結(jié)構(gòu)管理器254選擇能夠托管受保護(hù)vm102的主機(jī)106。結(jié)構(gòu)管理器254使得該主機(jī)106上的管理程序215創(chuàng)建新的vm。新的vm具有新的vtpm220。新的vm102被配置有先前創(chuàng)建的正確的虛擬盤(pán)集。虛擬硬盤(pán)的剩余部分由結(jié)構(gòu)管理器254指定并且不是vm102的安全或受保護(hù)配置的一部分。

當(dāng)新的vm102被創(chuàng)建時(shí),虛擬化管理程序215使得新的vtpm信任程序(trustlet)被實(shí)例化以托管該vm的vtpm220實(shí)例。該信任程序是管理針對(duì)特定vtpm實(shí)例的tpm功能的vtpm程序。新的vtpm220的創(chuàng)建能夠創(chuàng)建屏蔽位置(tpm分層子孫)中的持久偽影。這時(shí)候,vm102和vtpm220二者都不運(yùn)行。

當(dāng)虛擬化管理程序215創(chuàng)建新的vtpm220實(shí)例時(shí),該實(shí)例不具有與其相關(guān)聯(lián)的保護(hù)。例如,可能不存在傳輸密鑰(tk)和/或可用于其的保護(hù)方案的列舉??梢允褂迷诖吮环Q為保護(hù)描述符(pd)實(shí)現(xiàn)保護(hù)方案的列舉。對(duì)象存在于vsm266內(nèi),但是由于不存在保護(hù),在一些實(shí)施例中,因而其不曾離開(kāi)vsm266。這意味著其不能被保存或被遷移到另一主機(jī)。

供應(yīng)數(shù)據(jù)的實(shí)例化

結(jié)構(gòu)管理器254取回對(duì)應(yīng)于新的vm102的供應(yīng)數(shù)據(jù)116(參見(jiàn)圖1)。供應(yīng)數(shù)據(jù)116作為具有特定內(nèi)部格式的受保護(hù)數(shù)據(jù)對(duì)象存在,如先前所描述的。供應(yīng)數(shù)據(jù)116對(duì)于結(jié)構(gòu)管理器254是完全不透明的。結(jié)構(gòu)管理器254僅控制該對(duì)象的存儲(chǔ)和移動(dòng)。

在其中新vm102已經(jīng)創(chuàng)建的相同主機(jī)106上,結(jié)構(gòu)管理器254實(shí)例化供應(yīng)信任程序?qū)嵗T撔湃问枪芾磲槍?duì)特定vm實(shí)例的供應(yīng)數(shù)據(jù)116的vsm程序。結(jié)構(gòu)管理器254將供應(yīng)數(shù)據(jù)116傳遞到新信任程序?qū)嵗?/p>

vtpm保護(hù)的建立

一旦結(jié)構(gòu)管理器254已經(jīng)取回供應(yīng)數(shù)據(jù)116,結(jié)構(gòu)管理器254就從包含供應(yīng)數(shù)據(jù)116的pdk提取pd。結(jié)構(gòu)管理器254調(diào)用到vtpm信任程序以將枚舉相容的保護(hù)方案的pd設(shè)定在vtpm220上。vtpm220允許保護(hù)從vsm266外部在vtpm220上被設(shè)定一次,這是因?yàn)樵谶m當(dāng)?shù)奈恢貌淮嬖陔娏鞅Wo(hù)。

vtpm信任程序嘗試基于已經(jīng)從結(jié)構(gòu)管理器254(對(duì)vsm265自身不被信任的)傳遞的pd,來(lái)設(shè)定對(duì)vtpm220的保護(hù)。為了這樣做,vtpm信任程序聯(lián)系在現(xiàn)有pd中傳遞的正確的kds114。kds114通過(guò)從pd解開(kāi)現(xiàn)有tk以及創(chuàng)建用于出口的新的tk112和新的pd以描述新的tk112,來(lái)對(duì)該請(qǐng)求作出反應(yīng)。這些被返回到vtpm信任程序。解開(kāi)的tk未由vtpm信任程序需要,因?yàn)槠鋺?yīng)用到pdk。新的tk112和相關(guān)聯(lián)的新pd用于新的vtpm220。vtpm信任程序可以現(xiàn)在從vsm266根據(jù)需要輸出vtpm220,因?yàn)槠渚哂嗅槍?duì)數(shù)據(jù)的足夠的保護(hù)。重要的是,注意,新的vtpmpd224上的所有者(擁有數(shù)據(jù)集的所有者)、保護(hù)者(可以托管或存儲(chǔ)用于所有者的數(shù)據(jù)集的實(shí)體)和所有權(quán)的保護(hù)者(保護(hù)數(shù)據(jù)集的實(shí)體)匹配供應(yīng)數(shù)據(jù)116上的pd。

創(chuàng)建用于vtpm的新保護(hù)的過(guò)程具有以下特性:

·充當(dāng)供應(yīng)數(shù)據(jù)116的所有權(quán)的保護(hù)者的kds114與借助于將一個(gè)pd從另一個(gè)pd導(dǎo)出的vtpm220的所有權(quán)的保護(hù)者的那個(gè)相同。

·雖然待設(shè)定在vtpm上的很好格式的pd可以由幾乎任何實(shí)體創(chuàng)建,但是該實(shí)體將不能夠簽名為所有權(quán)的正確保護(hù)者。

·當(dāng)使用完全kds114時(shí),新的vsm對(duì)象(在這種情況下,vtpm220)的保護(hù)可能僅基于來(lái)自另一對(duì)象的保護(hù)被設(shè)定。

虛擬機(jī)工廠

如先前所描述的,可以使用用于os安裝的分布介質(zhì)從空的vm來(lái)手動(dòng)地創(chuàng)建新的受保護(hù)vm。然而,還如先前所述的,很少是這種情況并且這幾乎是針對(duì)特殊情況預(yù)留的過(guò)程(諸如模板的創(chuàng)建)。模板進(jìn)而被用于以更自動(dòng)化的方式產(chǎn)生附加的vm。

創(chuàng)建新的vm使用的資源、過(guò)程和工具集被稱為vm工廠。vm工廠可以產(chǎn)生受保護(hù)或未受保護(hù)的vm,這取決于虛擬硬件和被執(zhí)行的過(guò)程;一些受保護(hù)vm要求vtpm和至少fve加密os卷。

為了創(chuàng)建受保護(hù)vm,所執(zhí)行的過(guò)程具有兩個(gè)輸入。這些是:

1)模板盤(pán)——包含模板盤(pán)的一個(gè)或多個(gè)虛擬硬盤(pán)驅(qū)動(dòng)器文件。過(guò)程復(fù)制這些模板盤(pán)并且然后根據(jù)需要對(duì)內(nèi)容進(jìn)行專用化。

2)供應(yīng)數(shù)據(jù)——制造新的vm盤(pán)——初始地模板的副本——屬于新的vm的不同的實(shí)例所需要的數(shù)據(jù)值。

創(chuàng)建受保護(hù)vm的過(guò)程包括將專用數(shù)據(jù)注入新的vm中并且然后新的vm被引導(dǎo)。初始引導(dǎo)使得os設(shè)置的專用化階段運(yùn)行,其消耗專用數(shù)據(jù)并且導(dǎo)致針對(duì)vm的唯一os實(shí)例。

為了完成創(chuàng)建受保護(hù)vm的過(guò)程,os卷并且也許如所期望的其他卷被fve加密以確保其在靜止時(shí)被保護(hù)。一旦這已經(jīng)完成,就可以在其vtpm能夠被解密的任何地方將受保護(hù)vm實(shí)例化。

安全vm工廠

如上文所描述的vm工廠在被信任環(huán)境中是可使用的。也即,在其中vm的所有者可以信任用于執(zhí)行過(guò)程的硬件和軟件的環(huán)境中,還可以信任所得到的受保護(hù)vm。在非常常見(jiàn)的情況中,在由除了新的受保護(hù)vm的所有者之外的某個(gè)實(shí)體擁有和操作的結(jié)構(gòu)內(nèi)創(chuàng)建受保護(hù)vm。當(dāng)情況是這樣時(shí),vm工廠在先前所描述的信任邊界內(nèi)操作。備選地,可以針對(duì)vm創(chuàng)建放寬該信任邊界,但是重要的是,識(shí)別放寬信任邊界可能妥協(xié)所得到的受保護(hù)vm的完整性。

對(duì)于安全vm工廠而言,對(duì)過(guò)程的輸入可能需要被保護(hù)。以上描述描述了對(duì)模板盤(pán)和供應(yīng)數(shù)據(jù)116的創(chuàng)建,包括這些的受保護(hù)實(shí)例的創(chuàng)建。

實(shí)施例將受保護(hù)vm102自身用作用于安全vm工廠的主機(jī)。為了實(shí)現(xiàn)這一點(diǎn),受保護(hù)vm102以允許其解鎖并且處理模板os以及供應(yīng)數(shù)據(jù)116的方式進(jìn)行引導(dǎo)。所得到的目標(biāo)os信息絕不暴露在受保護(hù)vm102自身外部。

安全vm工廠過(guò)程

上文描述了創(chuàng)建初始未提供的受保護(hù)vm的過(guò)程。在該過(guò)程的結(jié)尾處,受保護(hù)vm和供應(yīng)數(shù)據(jù)116存在于以下?tīng)顟B(tài)中:

·包括vtpm220的受保護(hù)vm102已經(jīng)由虛擬化管理程序215創(chuàng)建但是尚未開(kāi)始。

·以pdk的形式的受保護(hù)供應(yīng)數(shù)據(jù)已經(jīng)被下載到主機(jī)106并且供應(yīng)信任程序已經(jīng)被實(shí)例化以保持該數(shù)據(jù)。

·供應(yīng)信任程序?qū)嵗呀?jīng)接收針對(duì)pdk的密鑰并且已經(jīng)解密和認(rèn)證現(xiàn)在存在于vsm265內(nèi)的清楚文本中的供應(yīng)數(shù)據(jù)。

·結(jié)構(gòu)管理器254已經(jīng)使用來(lái)自pdk的pd來(lái)設(shè)定vtpm220上的新pd。

正常模式供應(yīng)服務(wù)

結(jié)構(gòu)管理器254現(xiàn)在啟動(dòng)新的過(guò)程,被稱為正常模式供應(yīng)服務(wù)(nmps)206。nmps206是用作參見(jiàn)安全供應(yīng)過(guò)程的組件之間的通信橋接器的簡(jiǎn)單的服務(wù)。nmps206自身不是任何超過(guò)結(jié)構(gòu)管理器254的被信任代碼。

在創(chuàng)建時(shí),nmps206接收對(duì)正確vtpm信任程序的處理、對(duì)正確供應(yīng)信任程序的處理、以及針對(duì)新受保護(hù)vm102的局部端點(diǎn)標(biāo)識(shí)符。這些允許nmps206促進(jìn)這些實(shí)體之間的所有通信。nmps206使用vm端點(diǎn)標(biāo)識(shí)符開(kāi)始傾聽(tīng)來(lái)自新受保護(hù)vm102自身的連接嘗試。在一些實(shí)施例中,沒(méi)有nmps206與其他對(duì)象中的任一個(gè)對(duì)象之間的通信依賴于安全連接;所有隱私性和完整性由對(duì)象自身確保。

初始受保護(hù)vm引導(dǎo)

利用在適當(dāng)?shù)奈恢玫幕窘M件,結(jié)構(gòu)管理器254可以信號(hào)通知虛擬化管理程序215以應(yīng)用虛擬電源使得受保護(hù)vm102啟動(dòng)其首次引導(dǎo)。在所圖示的示例中,受保護(hù)vm硬件使統(tǒng)一可擴(kuò)展固件接口(uefi)262安全引導(dǎo)并且tpm261測(cè)量引導(dǎo)啟用。控制安全根——pk/kek/db/dbx的uefi262由虛擬化管理程序控制并且允許僅授權(quán)簽名引導(dǎo)代碼執(zhí)行。uefi第一階段加載器加載、測(cè)量并且執(zhí)行引導(dǎo)管理器。

在第一引導(dǎo)期間,引導(dǎo)配置數(shù)據(jù)(bcd)由引導(dǎo)管理器讀取。bcd條目指示引導(dǎo)管理器執(zhí)行受保護(hù)vm工廠代碼路徑。bcd設(shè)置駐留在引導(dǎo)盤(pán)的未加密的引導(dǎo)分區(qū)上并且因此打開(kāi)以篡改。如果攻擊者嘗試通過(guò)禁用受保護(hù)vm工廠來(lái)阻礙過(guò)程,那么所得到的vm提供將不發(fā)生并且沒(méi)有信息將被妥協(xié)。

引導(dǎo)環(huán)境供應(yīng)代理

受保護(hù)vm工廠代碼路徑的啟動(dòng)開(kāi)始引導(dǎo)環(huán)境供應(yīng)代理(bepa)。bepa在引導(dǎo)環(huán)境中的受保護(hù)vm內(nèi)運(yùn)行。通常,上文將bepa圖示為供應(yīng)代理208。bepa代碼緊接地嘗試聯(lián)系根分區(qū)中的nmps端點(diǎn)。bepa中的任何通信故障導(dǎo)致受保護(hù)vm工廠和無(wú)功能vm的整體故障。一旦bepa與nmps206建立通信,就交換一系列消息以支持提供。消息交換使得一系列步驟在供應(yīng)過(guò)程中發(fā)生。

pdk-請(qǐng)求消息

緊接地在連接到nmps206之后,bepa發(fā)送pdk請(qǐng)求消息以請(qǐng)求其供應(yīng)數(shù)據(jù)116。消息包括vtpm220的公共認(rèn)可密鑰(ekpub)。bepa直接讀取ekpub。

nmps206從bepa接收pdk請(qǐng)求消息并且將消息轉(zhuǎn)發(fā)給相關(guān)聯(lián)的供應(yīng)信任程序?qū)嵗?。在所圖示的示例中,確切地存在與每個(gè)nmps實(shí)例相關(guān)聯(lián)的一個(gè)供應(yīng)信任程序。不存在由nmps206所執(zhí)行的pdk-request消息的加密、認(rèn)證或驗(yàn)證。

vtpm-保護(hù)-查詢消息

當(dāng)供應(yīng)信任程序?qū)嵗邮盏絧dk-request時(shí),其利用vtpm-保護(hù)-查詢消息進(jìn)行響應(yīng)。該消息初始地從供應(yīng)信任程序被發(fā)送到nmps206。消息簡(jiǎn)單地包含從pdk-請(qǐng)求所接收的ekpub。nmps206定位與ekpub相對(duì)應(yīng)的vtpm信任程序?qū)嵗⑶覍tpm-保護(hù)-查詢消息轉(zhuǎn)發(fā)給該信任程序。

vtpm-保護(hù)-說(shuō)明消息

當(dāng)vtpm信任程序接收vtpm-保護(hù)-查詢消息時(shí),vtpm信任程序首先基于接收到的ekpub,來(lái)確定其是否托管具有正確ek的vtpm。如果密鑰不匹配,那么創(chuàng)建認(rèn)可密鑰失配錯(cuò)誤消息。

如果所請(qǐng)求的ek匹配vtpm信任程序?qū)嵗齟k,那么信任程序取回vtpm的pd。這被寫(xiě)到vtpm保護(hù)說(shuō)明消息。

vtpm信任程序使得vsm使用vsm私有密鑰將vtpm-保護(hù)-說(shuō)明消息簽名。這允許消息被認(rèn)證為在稍后的時(shí)候發(fā)生于當(dāng)前vsm265。消息經(jīng)由nmps206被返回到供應(yīng)信任程序。

確定保護(hù)兼容性

在接收vtpm-保護(hù)-說(shuō)明消息之后,供應(yīng)信任程序首先使得vsm將消息認(rèn)證和/或保證為還已經(jīng)發(fā)起于vsm。這可以例如通過(guò)對(duì)消息進(jìn)行加密/簽名來(lái)完成。在一個(gè)示例實(shí)施例中,這通過(guò)允許數(shù)據(jù)通過(guò)vsm內(nèi)核在vsm內(nèi)行進(jìn)完成。如果這是成功的,那么供應(yīng)信任程序具有針對(duì)pdk和vtpm二者的pd。為了繼續(xù)供應(yīng)操作,pd必須是兼容的。

在一些實(shí)施例中,存在pd兼容性的一個(gè)概念并且那是所有者、保護(hù)者和所有權(quán)保護(hù)者的等價(jià),其中等價(jià)意味著實(shí)體具有相同的pd身份和角色。該模型要求被設(shè)定在vtpm上的pd初始地根據(jù)pdk上的pd生成,因此除了在誤差和嘗試的妥協(xié)方面,該檢查應(yīng)當(dāng)成功。如果pd兼容性不能被驗(yàn)證,那么供應(yīng)信任程序簡(jiǎn)單地將故障消息返回到nmps206。nmps206將該故障消息傳遞回到bepa。

供應(yīng)機(jī)器密鑰的創(chuàng)建

一旦對(duì)供應(yīng)數(shù)據(jù)116和目標(biāo)受保護(hù)vm的vtpm的保護(hù)被確定為相同,供應(yīng)信任程序就向前移動(dòng)以將供應(yīng)數(shù)據(jù)116提供給受保護(hù)vm。為了這樣做,供應(yīng)數(shù)據(jù)116當(dāng)其離開(kāi)vsm266中的供應(yīng)信任程序中時(shí)被保護(hù),直到其安全地處于受保護(hù)vm102內(nèi)。該傳送期間的數(shù)據(jù)的保護(hù)繼續(xù)間接地由vsm266保證。為了這樣做,目標(biāo)vm的vtpm220中的tpm密鑰被用于保護(hù)數(shù)據(jù);vtpm220進(jìn)而由vsm266保護(hù)。

供應(yīng)信任程序使用針對(duì)目標(biāo)vm的安全設(shè)備(例如,tpm)的遠(yuǎn)程命令執(zhí)行以將消息發(fā)送回到bepa。這些消息是bepa直接地遞送到其tpm的tpm穿過(guò)消息。tpm處理這樣的消息并且返回對(duì)bepa的響應(yīng),其全部通過(guò)nmps206返回對(duì)供應(yīng)信任程序的該響應(yīng)。該布置允許供應(yīng)信任程序直接使用目標(biāo)vtpm。

供應(yīng)信任程序與目標(biāo)tpm建立有經(jīng)驗(yàn)的授權(quán)會(huì)話。在這種情況下,供應(yīng)信任程序知道目標(biāo)tpm的ekpub并且基于從vtpm信任程序接收到的說(shuō)明,知道這是有效的tpm。供應(yīng)信任程序?qū)⒛繕?biāo)tpm的ek用作用于知道僅該目標(biāo)tpm可以直接使用所得到的消息的新會(huì)話的有經(jīng)驗(yàn)的加密器。

一旦建立授權(quán)會(huì)話,供應(yīng)信任程序就向目標(biāo)tpm發(fā)出命令以創(chuàng)建被封閉到特定平臺(tái)控制寄存器(pcr)值的包裝密鑰。雖然什么進(jìn)入哪些pcr主要是操作系統(tǒng)的選擇,但是在一個(gè)示例實(shí)施例中,實(shí)現(xiàn)以下pcr內(nèi)容:

·pcr[7]-包含正確虛擬化管理程序215根組件的已知“魔術(shù)數(shù)字”散列。

·pcr[11]-必須包含與被信任引導(dǎo)環(huán)境相對(duì)應(yīng)的已知值。引導(dǎo)環(huán)境然后覆蓋此以限制密鑰使用。

所得到的密鑰團(tuán)被返回到供應(yīng)信任程序。該密鑰被稱為提供機(jī)器密鑰,其被用于保護(hù)供應(yīng)數(shù)據(jù)116。

保護(hù)用于目標(biāo)vm的供應(yīng)數(shù)據(jù)

供應(yīng)信任程序現(xiàn)在寫(xiě)入pdk的新的版本。新的pdk包含與原始pdk相同段加上以下附加:

·結(jié)構(gòu)數(shù)據(jù)——來(lái)自結(jié)構(gòu)密鑰文件的密鑰文件段被包含到pdk中。

當(dāng)創(chuàng)建新pdk時(shí),供應(yīng)信任程序然后建立對(duì)其的保護(hù)。在vsm266內(nèi)生根該保護(hù)。步驟包含創(chuàng)建針對(duì)新的對(duì)象的vsm標(biāo)準(zhǔn)pd。以下步驟發(fā)生:

1)新的tk使用密鑰導(dǎo)出函數(shù)(諸如基于密碼的密鑰導(dǎo)出函數(shù)2(pbkdf2)認(rèn)證)被生成并且導(dǎo)出加密密鑰(tk-e和tk-a)。

2)使用tk-e對(duì)pdk進(jìn)行加密。

3)使用tk-a生成用于pdk的基于散列的消息認(rèn)證碼。

4)vsm公共密鑰被用于創(chuàng)建包裝在pd內(nèi)的所有者。

5)機(jī)器密鑰的公共部分被用于創(chuàng)建保護(hù)者tk包裝并且被添加到pd。

6)pd使用vsm私有密鑰被簽名,這做出所有權(quán)中的保護(hù)者的當(dāng)前主機(jī)的vsm265。

所得到的受保護(hù)對(duì)象僅可用在vsm265內(nèi)的當(dāng)前主機(jī)106上或bepa中的目標(biāo)受保護(hù)vm中。當(dāng)目標(biāo)vm中的引導(dǎo)環(huán)境退出時(shí),其覆蓋渲染在那之后不可用的數(shù)據(jù)的pcr[11]。雖然新的受保護(hù)pdk未由bepa持續(xù),但是其可以被持續(xù)為保存恢復(fù)操作的一部分或由實(shí)況遷移而進(jìn)行遷移。注意,在最終的受保護(hù)pdk被發(fā)送到bepa之前發(fā)生的任何這樣的操作使得供應(yīng)過(guò)程失敗。供應(yīng)過(guò)程失敗要求該過(guò)程的重新引導(dǎo)。

最終的pdk傳送

供應(yīng)信任程序然后創(chuàng)建包含新的受保護(hù)pdk的消息連同包含機(jī)器密鑰的tpm密鑰團(tuán)。該消息被返回到nmps206,其滿足以上題為“pdk-請(qǐng)求消息”的章節(jié)中所描述的請(qǐng)求。nmps206將此返回到bepa。

當(dāng)bepa接收pdk消息時(shí),其首先與tpm261建立新本地會(huì)話。在該會(huì)話內(nèi),bepa加載從具有pdk的供應(yīng)服務(wù)返回的機(jī)器密鑰團(tuán)。該操作僅在處于正確狀態(tài)(由于pcr密封)的正確tpm261內(nèi)成功。一旦機(jī)器密鑰已經(jīng)被加載,bepa就使用該密鑰解開(kāi)來(lái)自pdk的pd的tk的正確副本。

已經(jīng)恢復(fù)tk,bepa本地運(yùn)行標(biāo)準(zhǔn)密鑰導(dǎo)出函數(shù)并且產(chǎn)生tk-e和tk-a的副本。其使用這些密鑰解密并且認(rèn)證受保護(hù)pdk數(shù)據(jù)。一旦已經(jīng)在清楚文本中恢復(fù)pdk,如下面所定義的,受保護(hù)模板管理器212就可以運(yùn)行以處理模板引導(dǎo)盤(pán)。

受保護(hù)模板管理器

一旦bepa已經(jīng)完成執(zhí)行,則所得到的清楚文本pdk僅存在于vm的存儲(chǔ)器中。受保護(hù)工廠然后啟動(dòng)傳遞pdk的模板數(shù)據(jù)部分的受保護(hù)模板管理器(ptm)模塊。ptm被用于處理模板引導(dǎo)盤(pán),其包括檢查簽名、改變密鑰并且建立新的fve保護(hù)。

卷限定符匹配

ptm首先確定模板os卷是否可以適于與當(dāng)前可用的供應(yīng)數(shù)據(jù)116一起被使用。該過(guò)程通過(guò)從引導(dǎo)盤(pán)的引導(dǎo)分區(qū)讀取os卷目錄文件而開(kāi)始。如果目錄是缺失的,則操作被標(biāo)記為卷限定符失配,然而其被允許繼續(xù)。如果os卷目錄被正確地讀取并且解析,則過(guò)程繼續(xù)以看到其是否對(duì)于當(dāng)前工廠操作有效。

匹配過(guò)程通過(guò)存在于當(dāng)前供應(yīng)數(shù)據(jù)116中的所有限定符進(jìn)行迭代。對(duì)于每個(gè)限定符而言,執(zhí)行一組步驟:

1)確定是否存在名稱匹配。如果目錄中的模板的名稱匹配當(dāng)前限定符(包括通配符)的名稱,則匹配過(guò)程繼續(xù),否則當(dāng)前限定符被丟棄。

2)確定是否存在版本匹配。使用來(lái)自限定符的版本和版本規(guī)則,確定目錄版本是否匹配限定符。如果存在匹配,則匹配過(guò)程繼續(xù),否則當(dāng)前限定符被丟棄。

3)檢查目錄簽名密鑰。確定當(dāng)前限定符是否具有針對(duì)目錄中的簽名密鑰的確切匹配。如果這些是相等的,則匹配過(guò)程繼續(xù),否則當(dāng)前限定符被丟棄。

4)由于當(dāng)前限定符匹配目錄,因而其被添加到可能的限定符的列表。

匹配過(guò)程繼續(xù)直到pdk中所供應(yīng)的列表中的所有限定符被耗盡。在匹配的結(jié)尾處,如果不存在限定符,那么操作被標(biāo)記為卷限定符失配。然而,ptm處理被允許繼續(xù)。

如果一個(gè)或多個(gè)限定符匹配卷目錄,則使用供應(yīng)有其的公共密鑰檢查目錄上的簽名。該操作證明發(fā)布者實(shí)際上具有正確私有簽名密鑰。

os卷解鎖

ptm然后確定os卷是否要求解鎖密鑰。對(duì)os卷進(jìn)行fve加密,然而針對(duì)僅簽名的模板暫停fve保護(hù)。由于每個(gè)這樣的限定符包含零或一個(gè)外部fve密鑰,因而ptm使用來(lái)自匹配過(guò)程的匹配的卷限定符。ptm通過(guò)嘗試解鎖模板os卷的密鑰的列表進(jìn)行迭代。

如果在目標(biāo)上暫停fve,那么tpm內(nèi)部地將卷標(biāo)記為僅簽名的。如果在模板os卷上未暫停fve并且沒(méi)有密鑰將解鎖該卷,那么ptm發(fā)生故障并且將錯(cuò)誤返回給安全vm工廠。這時(shí)候,如果操作已經(jīng)先前被標(biāo)記為卷限定符失配,那么其是僅簽名卷,因?yàn)椴淮嬖诳捎玫拿荑€。

模板處理模式確定

ptm然后確定如何處理os卷。為了開(kāi)始這個(gè),兩個(gè)變量被設(shè)定為初始值:

1)fvek-rekey-設(shè)定為真。

2)hash-設(shè)定為真。

ptm查看來(lái)自pdk的工廠數(shù)據(jù)并且確定fvekre-encrypt是否被指定在該數(shù)據(jù)中。如果值存在并且值被設(shè)定為假并且當(dāng)前模板未被標(biāo)記為僅簽名的,那么fvek-rekey的值被設(shè)定為假。

然后,ptm查看管理卷簽名檢查的工廠數(shù)據(jù)。如果工廠數(shù)據(jù)指定簽名不需要被檢查并且卷不是僅簽名模板,那么hash的值被設(shè)定為假。

模板處理

ptm然后處理模板。如果fvek-rekey或者h(yuǎn)ash是真,那么ptm建立全卷掃描。全卷掃描使用非常有限的掃描器確定卷中的使用空間。過(guò)程被初始化如下:

1)如果hash==真→初始化卷散列計(jì)算。

2)如果fvek-rekey==真→生成新fvek。

使用該能力,ptm在執(zhí)行以下處理的盤(pán)上的每個(gè)塊上迭代:

1)讀取新塊。

2)如果hash==真→使用新塊延伸卷散列。

3)如果fvek-rekey==真→

a)使用現(xiàn)有的fvek解密塊。

b)使用新fvek加密塊。

c)更新盤(pán)上的適當(dāng)?shù)奈恢玫膲K。

在處理的結(jié)尾處(如果任何被要求),ptm使用當(dāng)前vm的tpm(虛擬tpm)生成用于fve的新tpm保護(hù)器。在os卷上更新被添加到fve元數(shù)據(jù)和所有三個(gè)副本的新tpm的保護(hù)器。

簽名檢查

如果hash變量被設(shè)定為真,那么計(jì)算的os散列現(xiàn)在與os卷目錄中存在并且認(rèn)證的散列相比較。如果散列不匹配,那么從ptm返回錯(cuò)誤。一旦該最后的步驟已經(jīng)完成,ptm就已經(jīng)斷定其工作和模板盤(pán)已經(jīng)完全處理。

專用化代理

如果安全vm工廠確定ptm已經(jīng)完成執(zhí)行并且尚未信號(hào)通知任何錯(cuò)誤,則其然后啟動(dòng)專用化代理(sa)。sa被傳遞pdk的專用化部分。在工廠執(zhí)行中的該階段處,目標(biāo)os盤(pán)利用唯一tpm密鑰被加密和被保護(hù)。在不關(guān)心其可能被妥協(xié)的情況下,將敏感數(shù)據(jù)寫(xiě)到受保護(hù)vm的os卷現(xiàn)在是安全的。

sa可以執(zhí)行將原始模板盤(pán)內(nèi)的os專用化到唯一目標(biāo)實(shí)例所要求的任何動(dòng)作。一般而言,存在所執(zhí)行的兩種類型的操作的組合:

1)離線——這些是sa可以對(duì)離線os實(shí)例自身執(zhí)行的操作。sa應(yīng)當(dāng)執(zhí)行盡可能多的目標(biāo)的離線專用化。

2)在線準(zhǔn)備——對(duì)于不能離線執(zhí)行的任何操作而言,sa可以將數(shù)據(jù)寫(xiě)到os卷以允許在目標(biāo)os引導(dǎo)時(shí)發(fā)生在線操作。

os首次引導(dǎo)

一旦安全fv工廠已經(jīng)完成,處理正常os引導(dǎo)就繼續(xù)。硬件、固件和tpm的引導(dǎo)狀態(tài)與現(xiàn)有的os引導(dǎo)環(huán)境一致,并且特別地,tpmpcr7和11處于允許fve將os卷解鎖的狀態(tài)(注意:作為這個(gè)的捷徑,實(shí)施例可以根據(jù)ptm預(yù)創(chuàng)建鑰匙鏈)。

一些實(shí)施例使得用戶能夠使用具有客戶操作系統(tǒng)的多個(gè)版本的現(xiàn)有硬件和主機(jī)上的fve全卷加密。為了完成這一點(diǎn),實(shí)施例可以以通過(guò)下方式給租戶提供使能卷上的fve加密的工具和指令:

·數(shù)據(jù)卷:所有數(shù)據(jù)卷利用被存儲(chǔ)在os卷內(nèi)的自動(dòng)解鎖密鑰進(jìn)行fve加密(例如,在從華盛頓雷德蒙德的微軟公司可獲得的windows操作系統(tǒng)的windows注冊(cè)表中)。如果其被安裝在正確os內(nèi),則這些卷自動(dòng)地解鎖。

·os卷:每個(gè)受保護(hù)vm具有被fve加密的os卷。當(dāng)執(zhí)行fve加密時(shí),外部恢復(fù)密鑰通過(guò)fve被保存到文件。該文件被上載到云服務(wù)提供商內(nèi)的受保護(hù)位置。

云服務(wù)提供商將針對(duì)客戶的客戶fve密鑰管理為受保護(hù)數(shù)據(jù)。當(dāng)被要求時(shí),結(jié)構(gòu)控制器(fc)指示特定計(jì)算節(jié)點(diǎn)取回并且運(yùn)行客戶vm。計(jì)算節(jié)點(diǎn)上的結(jié)構(gòu)代理(fa)請(qǐng)求來(lái)自fc的fveos卷密鑰。fc將具有恢復(fù)密鑰的文件返回到fa。

在一些實(shí)施例中,能夠托管受保護(hù)vm的每個(gè)計(jì)算節(jié)點(diǎn)具有小的——在一些實(shí)施例中,近似地3gb——卷(被稱為scratch)。在每次引導(dǎo)時(shí),當(dāng)fa開(kāi)始時(shí),fa執(zhí)行以下步驟:

1)格式scratch:卷被格式化為空白卷(在一些實(shí)施例中,作為ntfs卷)。

2)fvescratch:對(duì)scratch卷進(jìn)行fve保護(hù)。密鑰被保存在os卷上的文件內(nèi)。

3)密鑰刪除:針對(duì)scratch卷的密鑰密碼地刪除(重寫(xiě))以使其不可訪問(wèn)。

一旦已經(jīng)采取這些步驟,主機(jī)就具有被加密但是對(duì)當(dāng)前引導(dǎo)周期的持續(xù)時(shí)間可訪問(wèn)的小卷。一旦機(jī)器被關(guān)閉,則可能絕不再訪問(wèn)卷的內(nèi)容。

當(dāng)fa接收具有針對(duì)受保護(hù)vm的恢復(fù)密鑰的文件時(shí),則其創(chuàng)建scratch卷內(nèi)的新的vhd文件。這是最小大小的動(dòng)態(tài)vhd。fa將具有恢復(fù)密鑰的文件寫(xiě)到新卷中并且訪問(wèn)控制文件和目錄以移除所有訪問(wèn)。隨后地,fa將新vhd從根分區(qū)卸除。

fa將新的scratchvhd附接到受保護(hù)vm并且開(kāi)始vm。在vm的引導(dǎo)環(huán)境內(nèi),固件列舉包括scratch的盤(pán)、包含具有恢復(fù)密鑰的文件的盤(pán)。引導(dǎo)環(huán)境中的os卷解鎖代碼定位具有恢復(fù)密鑰的正確文件并且解鎖os卷,這允許os引導(dǎo)。一旦客戶os已經(jīng)引導(dǎo),scratch卷就保持附接并且在客戶重新引導(dǎo)的任何時(shí)間被使用。具有恢復(fù)密鑰的文件的內(nèi)容僅對(duì)可以改變對(duì)目錄和文件的保護(hù)的管理用戶是可訪問(wèn)的。

一旦os已經(jīng)引導(dǎo),則os能夠自動(dòng)地解鎖已經(jīng)正確地fve保護(hù)的任何數(shù)據(jù)卷。

供應(yīng)

受保護(hù)vm的供應(yīng)被期望以兩種方式之一執(zhí)行:

1)適當(dāng)位置轉(zhuǎn)換-在該模型中,現(xiàn)有的vm通過(guò)使用fve加密os以及可能地其他盤(pán)卷在適當(dāng)?shù)奈恢帽槐Wo(hù)。

2)上載-該模型允許用戶創(chuàng)建內(nèi)部的受保護(hù)vm并且將該vm上載到云服務(wù)。所得到的vm絕不存在于未受保護(hù)的狀態(tài)中的云服務(wù)內(nèi)。

一旦已經(jīng)創(chuàng)建受保護(hù)vm,就存在解鎖fve受保護(hù)os卷所要求的單個(gè)密鑰。在任一提供方法中,創(chuàng)建被備份到用于恢復(fù)的文件的外部fve密鑰。所得到的文件包含可以被用于允許對(duì)驅(qū)動(dòng)的訪問(wèn)的密鑰。文件是受保護(hù)數(shù)據(jù)并且使用租戶秘密管理被保護(hù)。從提供視角,外部密鑰被提供為在每個(gè)vm重新引導(dǎo)處發(fā)生的供應(yīng)過(guò)程的一部分。

操作

受保護(hù)vm依賴于被信任結(jié)構(gòu)。在被信任結(jié)構(gòu)內(nèi),供應(yīng)服務(wù)駐留在每個(gè)計(jì)算節(jié)點(diǎn)上的結(jié)構(gòu)代理(fa)內(nèi)。fa能夠訪問(wèn)fve外部密鑰并且通過(guò)包括附接到vm的vhd的信道來(lái)將其提供給vm。

以下討論現(xiàn)在指代可以被執(zhí)行的若干方法和方法動(dòng)作。盡管方法動(dòng)作可以以某個(gè)順序討論或在如以特定順序發(fā)生的流程圖中圖示,但是除非因?yàn)閯?dòng)作依賴于在正被執(zhí)行的動(dòng)作之前完成的另一動(dòng)作而特別地陳述或要求,否則不必要求特定排序。

雖然已經(jīng)在虛擬機(jī)環(huán)境中說(shuō)明許多前述內(nèi)容,但是應(yīng)當(dāng)理解,也可以在物理機(jī)環(huán)境中實(shí)現(xiàn)概念。因此,除非另外指定,否則在此權(quán)利要求可以被應(yīng)用到物理機(jī)、虛擬機(jī)或其組合。

現(xiàn)在參考圖4,圖示了方法400。該方法400可以實(shí)踐在計(jì)算環(huán)境中。方法包括用于在潛在地不安全的環(huán)境中以安全方式引導(dǎo)機(jī)器的動(dòng)作。方法400包括目標(biāo)機(jī)器開(kāi)始引導(dǎo)過(guò)程(動(dòng)作402)。例如,圖3圖示了其中目標(biāo)機(jī)器是客戶虛擬機(jī)102的示例。客戶虛擬機(jī)102可以開(kāi)始引導(dǎo)過(guò)程。

方法400還包括目標(biāo)機(jī)器確定其需要供應(yīng)數(shù)據(jù)以繼續(xù)引導(dǎo)(動(dòng)作404)。因此,例如,客戶虛擬機(jī)102可以確定其需要供應(yīng)數(shù)據(jù)116以完成引導(dǎo)。這樣的供應(yīng)數(shù)據(jù)可以包括例如各種特定的數(shù)據(jù)項(xiàng),諸如用戶名、密碼、機(jī)器設(shè)置等。

方法400還包括目標(biāo)機(jī)器聯(lián)系安全基礎(chǔ)設(shè)施以獲得供應(yīng)數(shù)據(jù)(動(dòng)作406)。例如,安全基礎(chǔ)設(shè)施可以包括元件(諸如虛擬機(jī)102的vsm266和/或kds114)。

方法400還包括目標(biāo)機(jī)器提供能夠由安全基礎(chǔ)設(shè)施驗(yàn)證的身份聲明(動(dòng)作408)。例如,虛擬機(jī)102可以將標(biāo)識(shí)虛擬機(jī)102的身份聲明提供給kds114。

作為安全基礎(chǔ)設(shè)施驗(yàn)證身份聲明的結(jié)果,方法400還包括目標(biāo)機(jī)器從安全基礎(chǔ)設(shè)施接收請(qǐng)求以建立被密封到目標(biāo)機(jī)器的密鑰(動(dòng)作410)。因此,在所圖示的示例中,虛擬機(jī)102可以接收對(duì)于建立密鑰的請(qǐng)求。

方法400還包括目標(biāo)機(jī)器將所建立的密鑰提供給安全基礎(chǔ)設(shè)施(動(dòng)作412)。虛擬機(jī)102可以建立密鑰112并且將該密鑰提供給安全基礎(chǔ)設(shè)施。

方法400還包括目標(biāo)機(jī)器從安全基礎(chǔ)設(shè)施接收供應(yīng)數(shù)據(jù),其中供應(yīng)數(shù)據(jù)被加密到所建立的密鑰(動(dòng)作414)。因此,例如,供應(yīng)服務(wù)206可以使用由kds114所提供的密鑰112對(duì)供應(yīng)數(shù)據(jù)116加密。

方法400還包括目標(biāo)機(jī)器對(duì)經(jīng)加密的供應(yīng)數(shù)據(jù)進(jìn)行解密,并且使用供應(yīng)數(shù)據(jù)完成引導(dǎo)(動(dòng)作416)。因此,vm102可以使用密鑰對(duì)供應(yīng)數(shù)據(jù)116解密并且使用該數(shù)據(jù)完成引導(dǎo)vm102。

雖然以上示例圖示了使用供應(yīng)數(shù)據(jù)引導(dǎo)主機(jī)上的虛擬機(jī),但是應(yīng)當(dāng)理解,在其他實(shí)施例中,可以對(duì)其他機(jī)器和/或環(huán)境使用供應(yīng)數(shù)據(jù)。例如,供應(yīng)數(shù)據(jù)可以被用于引導(dǎo)各種物理機(jī)和/或引導(dǎo)各種聯(lián)網(wǎng)和/或集群環(huán)境中的機(jī)器。

例如,可以實(shí)踐方法400,其中使用供應(yīng)數(shù)據(jù)完成引導(dǎo)包括使用供應(yīng)數(shù)據(jù)連接到網(wǎng)絡(luò)存儲(chǔ)裝置以執(zhí)行網(wǎng)絡(luò)引導(dǎo)。備選地或者附加地,可以實(shí)踐方法400,其中使用供應(yīng)數(shù)據(jù)完成引導(dǎo)包括使用供應(yīng)數(shù)據(jù)加入機(jī)器集群。備選地或者附加地,可以實(shí)踐方法400,其中使用供應(yīng)數(shù)據(jù)完成引導(dǎo)包括使用供應(yīng)數(shù)據(jù)創(chuàng)建主機(jī)上的虛擬機(jī)(vm),其中供應(yīng)數(shù)據(jù)包括用于vm的數(shù)據(jù)。

可以實(shí)踐方法400,其中目標(biāo)機(jī)器基于模板開(kāi)始引導(dǎo)過(guò)程。在一些這樣的實(shí)施例中,方法還可以包括使用供應(yīng)數(shù)據(jù)驗(yàn)證模板可接受用于在引導(dǎo)目標(biāo)機(jī)器中使用。備選地或者附加地,在這樣的實(shí)施例中,方法還可以包括將模板重新加密到目標(biāo)機(jī)器作為驗(yàn)證模板的一部分,以防止在模板的部分已經(jīng)被驗(yàn)證之后篡改模板。在一些實(shí)施例中,將模板重新加密到目標(biāo)機(jī)器可以包括執(zhí)行tpm密封。

在一些實(shí)施例中,方法400還可以包括在驗(yàn)證模板可接受用于在引導(dǎo)目標(biāo)機(jī)器中使用之后,將保密數(shù)據(jù)(例如,密碼、證書(shū)、密碼、加密密鑰等)注入目標(biāo)機(jī)器中。

方法400的一些實(shí)施例還可以包括接收待被注入目標(biāo)機(jī)器中的非保密數(shù)據(jù)(例如,從vmm(諸如結(jié)構(gòu)管理器254))。方法還可以包括確定非保密數(shù)據(jù)是被允許被注入到目標(biāo)機(jī)器中的非保密數(shù)據(jù)的類別中的數(shù)據(jù)。方法還可以包括作為結(jié)果將非保密數(shù)據(jù)注入到目標(biāo)機(jī)器中。

此外,可以通過(guò)包括一個(gè)或多個(gè)處理器和計(jì)算機(jī)可讀介質(zhì)(諸如計(jì)算機(jī)存儲(chǔ)器)的計(jì)算機(jī)系統(tǒng)實(shí)踐方法。特別地,計(jì)算機(jī)存儲(chǔ)器可以存儲(chǔ)當(dāng)由一個(gè)或多個(gè)處理器執(zhí)行時(shí)使得各種功能被執(zhí)行(諸如實(shí)施例中記載的動(dòng)作)的計(jì)算機(jī)可執(zhí)行指令。

本發(fā)明的實(shí)施例可以包括或利用包括計(jì)算機(jī)硬件的專用計(jì)算機(jī)或通用計(jì)算機(jī),如下面更詳細(xì)討論的。本發(fā)明的范圍內(nèi)的實(shí)施例還包括用于攜帶或存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令和/或數(shù)據(jù)結(jié)構(gòu)的物理和其他計(jì)算機(jī)可讀介質(zhì)。這樣的計(jì)算機(jī)可讀介質(zhì)可以是可以由通用計(jì)算機(jī)系統(tǒng)或?qū)S糜?jì)算機(jī)系統(tǒng)訪問(wèn)的任何可用介質(zhì)。存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)是物理存儲(chǔ)介質(zhì)。攜帶計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)是傳輸介質(zhì)。因此,以示例而非限制的方式,本發(fā)明的實(shí)施例可以包括至少兩個(gè)清楚地不同種類的計(jì)算機(jī)可讀介質(zhì):物理計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)和傳輸計(jì)算機(jī)可讀介質(zhì)。

物理計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)包括ram、rom、eeprom、cd-rom或其他光盤(pán)存儲(chǔ)裝置(諸如cd、dvd等)、磁盤(pán)存儲(chǔ)裝置或其他磁性存儲(chǔ)設(shè)備、或者可以被用于存儲(chǔ)以計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)的形式的期望的程序代碼裝置并且可以由通用計(jì)算機(jī)或?qū)S糜?jì)算機(jī)訪問(wèn)的任何其他介質(zhì)。

“網(wǎng)絡(luò)”被定義為使能計(jì)算系統(tǒng)和/或模塊和/或其他電子設(shè)備之間的電子數(shù)據(jù)的傳輸?shù)囊粋€(gè)或多個(gè)數(shù)據(jù)鏈路。當(dāng)信息通過(guò)網(wǎng)絡(luò)或另一通信連接(硬連線、無(wú)線、或硬連線或無(wú)線的組合)被傳送或提供給計(jì)算機(jī)時(shí),計(jì)算機(jī)適當(dāng)?shù)貙⑦B接視為傳輸介質(zhì)。傳輸介質(zhì)可以包括網(wǎng)絡(luò)和/或數(shù)據(jù)鏈路,其可以被用于攜帶以計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)的形式的期望的程序代碼裝置并且可以由通用計(jì)算機(jī)或?qū)S糜?jì)算機(jī)訪問(wèn)。以上組合還被包括在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。

進(jìn)一步地,在到達(dá)各種計(jì)算機(jī)系統(tǒng)部件時(shí),以計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)的形式的程序代碼裝置可以從傳輸計(jì)算機(jī)可讀介質(zhì)自動(dòng)地傳送給物理計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)(或反之亦然)。例如,通過(guò)網(wǎng)絡(luò)或數(shù)據(jù)鏈路所接收的計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)可以被緩沖在網(wǎng)絡(luò)接口模塊(例如,“nic”)內(nèi)的ram中,并且然后最終地被傳送到計(jì)算機(jī)系統(tǒng)ram和/或計(jì)算機(jī)系統(tǒng)處的較少的易失性計(jì)算機(jī)可讀物理存儲(chǔ)介質(zhì)。因此,計(jì)算機(jī)可讀物理存儲(chǔ)介質(zhì)可以被包括在還(或甚至主要地)利用傳輸介質(zhì)的計(jì)算機(jī)系統(tǒng)組件中。

計(jì)算機(jī)可執(zhí)行指令包括例如使得通用計(jì)算機(jī)、專用計(jì)算機(jī)或?qū)S锰幚碓O(shè)備執(zhí)行某個(gè)功能或功能組的指令和數(shù)據(jù)。計(jì)算機(jī)可執(zhí)行指令可以是例如二值化、中間格式指令(諸如匯編語(yǔ)言)或甚至源代碼。雖然已經(jīng)以特定于結(jié)構(gòu)特征和/或方法動(dòng)作的語(yǔ)言描述了主題,但是應(yīng)理解到,所附的權(quán)利要求中定義的主題不必限于上文所描述的特定特征或動(dòng)作。相反,所描述的特征和動(dòng)作被公開(kāi)為實(shí)現(xiàn)權(quán)利要求的示例形式。

本領(lǐng)域的技術(shù)人員將理解到,本發(fā)明可以被實(shí)踐在具有許多類型的計(jì)算機(jī)系統(tǒng)配置的網(wǎng)絡(luò)計(jì)算環(huán)境中,包括個(gè)人計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)、消息處理器、手持式設(shè)備、多處理器系統(tǒng)、基于微處理器或可編程的消費(fèi)電子產(chǎn)品、網(wǎng)絡(luò)pc、小型計(jì)算機(jī)、大型計(jì)算機(jī)、移動(dòng)電話、pda、平板電腦、尋呼機(jī)、路由器、交換機(jī)等。本發(fā)明還可以實(shí)踐在其中通過(guò)網(wǎng)絡(luò)鏈接(由硬連線數(shù)據(jù)鏈路、無(wú)線數(shù)據(jù)鏈路、或者由硬連線和無(wú)線數(shù)據(jù)鏈路的組合)鏈接的本地計(jì)算機(jī)系統(tǒng)和遠(yuǎn)程計(jì)算機(jī)系統(tǒng)二者執(zhí)行任務(wù)的分布式系統(tǒng)環(huán)境中。在分布式系統(tǒng)環(huán)境中,程序模塊可以定位在本地存儲(chǔ)器存儲(chǔ)設(shè)備和遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備二者中。

備選地或者附加地,可以至少部分通過(guò)一個(gè)或多個(gè)硬件邏輯組件執(zhí)行本文所描述的功能。例如,并且非限制性地,可以使用的說(shuō)明性類型的硬件邏輯組件包括現(xiàn)場(chǎng)可編程門(mén)陣列(fpga)、專用集成電路(asic)、專用標(biāo)準(zhǔn)產(chǎn)品(assp)、芯片上系統(tǒng)(soc)、復(fù)雜可編程邏輯設(shè)備(cpld)等。

在不脫離其精神或特性的情況下,可以以其他特定形式實(shí)現(xiàn)本發(fā)明。所描述的實(shí)施例在所有方面中將被認(rèn)為是說(shuō)明性而非限制性的。因此,本發(fā)明的范圍由所附的權(quán)利要求而不是由前述描述指示。在權(quán)利要求的等價(jià)的意義和范圍內(nèi)的所有改變將被包括在其范圍內(nèi)。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1