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

一種對虛擬機作動態(tài)密碼學保護與所需的密鑰管理方法

文檔序號:6362913閱讀:348來源:國知局
專利名稱:一種對虛擬機作動態(tài)密碼學保護與所需的密鑰管理方法
技術領域
本發(fā)明涉及對虛擬化計算平臺架構上的虛擬機作動態(tài)密碼學保護以及所需使用的密鑰管理的方法和系統(tǒng),具體說,涉及用于將虛擬計算機內(nèi)部包括操作系統(tǒng)、中間件、網(wǎng)絡、通信、數(shù)據(jù)庫、應用程序、用戶文件及數(shù)據(jù)等所有資源與部件之集合看作為一個運行中時刻動態(tài)變化著的系統(tǒng),對該系統(tǒng)進行實時動態(tài)的密碼學保護的方法和系統(tǒng)。
背景技術
(I) “客體虛擬機”或“虛擬機”計算機虛擬化技術可以在一臺真實的物理的計算機(主機,Host)上模擬出一臺或若干臺客體(Guest)虛擬的計算機(Guest Virtual Machine, VM),運行于虛擬化計算平臺架構的虛擬機層。每臺虛擬的計算機(簡稱為客體虛擬機,或虛擬機)可以運行獨立的操作系統(tǒng)與應用程序而互不干擾。這些虛擬機完全就像真正的計算機那樣工作,例如可以在虛擬機上安裝操作系統(tǒng)、中間件、數(shù)據(jù)庫、應用程序,配置通信端口與防火墻策略,用戶可以訪問網(wǎng)絡資源、運行應用程序、編輯和存儲文件等等。(2) “虛擬機監(jiān)控器”除了上述虛擬機外,虛擬化計算平臺架構還包括虛擬機監(jiān)控器(Virtual Machine Monitor, VMM),運行在虛擬化計算平臺架構的底層(底層-VMM,或Bare-Metal-VMM),或主機(Host)操作系統(tǒng)層(Host-OS-VMM),用于為虛擬機提供虛擬化功能以支持虛擬機的運行,為虛擬機虛擬出計算機所需的所有部件,如中央處理器(Central Processing Unit, CPU),內(nèi)部記憶體(Random Access Memory, RAM),網(wǎng)絡通信設備,夕卜部存儲器(External Storage,磁盤),等等。工業(yè)界知名的虛擬化計算平臺技術以及所用的底層-VMM或 host-0S-VMM包含VMware公司的ESX (底層-VMM),微軟公司的Hyper-V (底層-VMM), Citrix公司的Xen (底層-VMM),以及開源社區(qū)的KVM(Host-OS-VMM)。(3) “服務控制臺”除了上述虛擬機監(jiān)控器外,虛擬化計算平臺架構還安裝了一個服務控制臺 (Service Console)。服務控制臺可以是如上所述的虛擬機監(jiān)控器中的一個功能模塊,也可以是由如上所述的虛擬機監(jiān)控器所支持的一個虛擬機。客體虛擬機的生成、啟動、停機、對外部存儲介質或網(wǎng)絡通信的輸入/輸出以及虛擬機的銷毀都要通過服務控制臺的幫助來實現(xiàn)。(4) “可信計算集團技術”一個配備有可信計算集團(Trusted Computing Group, TCG, www. trustedcomputinggroup.org)技術的物理計算平臺上裝有一個基于硬件的(Hardware Based)可信計算基(Trusted Computing Base, TCB),叫做可信平臺模塊(Trusted Platform Module, TPM),又叫做主可信計算基(Primary TCB),和基于軟件的可信計算基 (Software Based),又叫做次可信計算基(SecondaryTCB)。在虛擬化計算平臺上,通常由以上所述的底層-VMM或Host-OS-VMM來承擔基于軟件的次可信計算基的角色,又稱為虛擬機監(jiān)控器次可信計算基(Virtual Machine Monitor Secondary Trusted Computing Base, VMM-Secondary-TCB)。基于硬件的主可信計算基通過使用密碼學方法對基于軟件的虛擬機監(jiān)控器次可信計算基施加以密碼學保護。由于硬件系統(tǒng)可以實現(xiàn)為具有抗物理攻擊性能, 該基于硬件的主可信計算基還能對密碼學方法所需使用的密鑰施加以具有抗物理攻擊性能的保護。主、次可信計算基,抗物理攻擊性能以及密碼學方法,這些部件和機理相互作用, 有機地建立了一個基本的保護環(huán)境,可以防止非授權主體對主、次可信計算基本身以及對被主、次可信計算基所保護的對象的實施干擾,篡改,或惡意攻擊。在以下全文中以及在權利要求書中,我們用“虛擬機監(jiān)控器次可信計算基”來統(tǒng)稱被基于硬件的主可信計算基所保護的底層-VMM 或 Host-OS-VMM。(5) “可以對虛擬機全機作密碼學處理”對于使用者觀察,虛擬機與由硬件制作的物理計算機在行為上沒有任何不同。但是與物理硬件計算機不同,虛擬機完全由軟件組成,不含任何硬件組件,包括安裝在虛擬機中的操作系統(tǒng)、中間件、數(shù)據(jù)庫、應用程序、虛擬的硬件資源、內(nèi)部所設置的網(wǎng)絡通信協(xié)議、防火墻安全策略、以及用戶文件等等,都是存儲在物理計算機的外部存儲器(External Storage,如硬盤)上的一個數(shù)據(jù)包,叫做虛擬機映像數(shù)據(jù)包(Virtual Machine Image File)。虛擬機映像數(shù)據(jù)包為虛擬機模擬了一個硬盤,所以也叫做虛擬硬盤。由于虛擬機完全由軟件組成,只是一堆數(shù)字,所以可以對虛擬機整機做密碼學處理可以對虛擬機加密, 加密后的虛擬機還可以被解密,還原成加密前的虛擬機。如同密碼學能夠保護一般數(shù)據(jù)一樣,加密后的虛擬機受到密碼學方法的保護。與本發(fā)明相關技術如上所述,客體虛擬機的生成以及對外數(shù)據(jù)交換都必須在服務控制臺的幫助下得到執(zhí)行。首先,服務控制臺生成虛擬機映像數(shù)據(jù)包,并將之存儲在外部存儲器上。一個客體虛擬機映像數(shù)據(jù)包由若干數(shù)據(jù)塊構成,每個數(shù)據(jù)塊當其被生成時,或作為輸入輸出處理的對象時,是服務控制臺在其內(nèi)部記憶體(RAM)中被處理的一個單位。為了安全起見,可以在對虛擬機映像數(shù)據(jù)包進行全包加密后再存儲到外部存儲器。在這種情況中,在生成一個客體虛擬機之前,首先,服務控制臺在內(nèi)部記憶體中生成密鑰,然后逐個地生成每個數(shù)據(jù)塊,在將每個數(shù)據(jù)塊存儲到外部存儲器之前,服務控制臺利用所述密鑰對每個數(shù)據(jù)塊逐塊加密,只有加密后的數(shù)據(jù)塊才能被存儲在外部存儲器中。其次,在客體虛擬機起動過程中,服務控制臺從外部存儲器讀取客體虛擬機映像數(shù)據(jù)包中需要載入的各個加了密的數(shù)據(jù)塊,并使用所述密鑰對每個數(shù)據(jù)塊進行解密后再傳給客體虛擬機的內(nèi)部記憶體去運行。最后,在客體虛擬機啟動了以后,運行中的客體虛擬機執(zhí)行所引起的任何數(shù)據(jù)塊的輸入、輸出都要由服務控制臺執(zhí)行解密或加密。圖I示意性地示出了這一過程??腕w虛擬機映像數(shù)據(jù)包在外存儲器上任何時候都是密文,從外存輸入任何數(shù)據(jù)塊到客體虛擬機的內(nèi)部記憶體,該數(shù)據(jù)塊都要由服務控制臺解密(圖I中的過程(I)),將任何數(shù)據(jù)塊輸出到外存以進行存儲,該數(shù)據(jù)塊都要由服務控制臺加密(圖I中的過程(2))。虛擬機中也虛擬化了網(wǎng)絡通信設備,也可以與外部世界通過虛擬化的通信設備進行數(shù)據(jù)通信。與針對客體虛擬機的虛擬磁盤作輸入輸出情況一樣,客體虛擬機與其虛擬網(wǎng)絡通信設備交換的數(shù)據(jù)時也是以數(shù)據(jù)塊為單位的,通信交互也都必須在服務控制臺的幫助下得到執(zhí)行。為了安全起見,也可以對客體虛擬機與外部世界通信所交換的數(shù)據(jù)塊進行密碼學保護。但是,按當前技術,服務控制臺加解密所用的密鑰或者是一個用戶口令,由用戶腦力記憶,或者是以明文的形式存儲在外部存儲器上。對于加密密鑰是用戶口令的情況,虛擬機可以被用戶在任何一臺物理機上解密,解密后的虛擬機便完全受用戶控制,所以無法對用戶強制實施系統(tǒng)所需的安全策略定制。對于密鑰以明文形式存儲在外部存儲器上的情況,我們知道計算機的外部存儲器(硬盤)的安全級別不是很高,容易受到黑客(包括用戶本身)的攻擊,計算機硬盤上存儲的明文密鑰會被容易地被拷貝,所以也無法強制實施系統(tǒng)所需的安全策略定制。在云計算應用場景下,需要對虛擬機強制實施安全策略,任意攻擊者哪怕是虛擬機的合法用戶(比如用戶是虛擬機所屬機構或組織的一名員工)都不得旁路虛擬機中所實施的安全策略。比如虛擬機對外通信時必須對通信數(shù)據(jù)進行加密保護,這就是一條安全策略,不可被任何實體(包括虛擬機用戶)旁路。但是根據(jù)以上分析,當前技術無法有效實現(xiàn)這一云安全的基本需求。

發(fā)明內(nèi)容
針對上述問題,本發(fā)明的發(fā)明人提出了本發(fā)明。根據(jù)本發(fā)明,在客體虛擬機在將數(shù)據(jù)塊存儲到虛擬磁盤之前,或將數(shù)據(jù)塊發(fā)給一個外部實體之前,由服務控制臺對該輸出數(shù)據(jù)塊加密,當客體虛擬機從虛擬磁盤輸入數(shù)據(jù)塊時,或從一個外部實體接受數(shù)據(jù)塊時,由服務控制臺對該數(shù)據(jù)塊解密。在這一加密和解密過程中,由可信計算基提供密鑰管理服務。密鑰管理服務包括,響應于服務控制臺的請求生成密鑰,將密鑰和服務控制臺發(fā)送的對應于客體虛擬機的密鑰管理信息一一對應地保護,并將密鑰發(fā)送到服務控制臺以用于加密或解密。密鑰管理服務還包括,響應于服務控制臺的請求并利用服務控制臺發(fā)送的密鑰管理信息查詢相應的密鑰,并將密鑰發(fā)送回服務控制臺以用于加密和解密。本發(fā)明旨在通過由安全級別很高的主、次可信計算基可信安全地保護加密所用的密鑰,從而提高對客體虛擬機中設置的安全策略及數(shù)據(jù)的保護。又由于虛擬機中的操作系統(tǒng)運行,安全策略設定,及數(shù)據(jù)變更具有實時動態(tài)性,所采用的密碼學保護必須也具有實時動態(tài)性。本發(fā)明通過將虛擬機映像數(shù)據(jù)包分割成多個小數(shù)據(jù)塊,對這些小數(shù)據(jù)塊的生成、以及對由于虛擬機在動態(tài)計算中這些小數(shù)據(jù)塊發(fā)生變化更新所造成這些小數(shù)據(jù)塊的輸入、輸出進行實時動態(tài)密碼學保護。將客體虛擬機的映像數(shù)據(jù)包分割成多個小數(shù)據(jù)塊,對每個數(shù)據(jù)塊分別進行實時動態(tài)密碼學保護,這一方法解決了加密后數(shù)據(jù)的“定格性”與明文數(shù)據(jù)在內(nèi)部記憶體中處理時的“動態(tài)性”之間的不一致問題。這個解決方案可以用電影膠片來比擬每一幅電影膠片單個看時都是定格的,而放映中的電影卻是動態(tài)的。同理,由于虛擬機映像數(shù)據(jù)包(虛擬磁盤)存儲在外部存儲器上的,或者虛擬機對外通信而與外部網(wǎng)絡交換的,那些小數(shù)據(jù)塊由于被加了密,都是定格的,而解密后在虛擬機內(nèi)部記憶體中處理的那些小數(shù)據(jù)塊卻可以是動態(tài)變化著的。根據(jù)本發(fā)明的一個方面,提供一種在虛擬化計算平臺架構上的密鑰管理方法,該虛擬化計算平臺架構包括,一個或多個客體虛擬機,每一個客體虛擬機都唯一關聯(lián)著一個映像數(shù)據(jù)包作為該客體虛擬機的虛擬磁盤,映像數(shù)據(jù)包存儲在外部存儲器上;虛擬機監(jiān)控器次可信計算基(VMM-TCB),用于支持、監(jiān)控客體虛擬機的運行;服務控制臺,可以是虛擬機監(jiān)控器次可信計算基(VMM-TCB)中的一個功能模塊,也可以基于虛擬機監(jiān)控器次可信計算基而運行的一個虛擬機,所述一個或多個客體虛擬機在運行時通過該服務控制臺來完成數(shù)據(jù)塊從映像數(shù)據(jù)包輸入與數(shù)據(jù)塊向映像數(shù)據(jù)包輸出;所述密鑰管理方法包括當運行中的所述客體虛擬機發(fā)生從其內(nèi)部記憶體(RAM)輸出數(shù)據(jù)塊到其位于外部存儲器上的映像數(shù)據(jù)包時,或輸出數(shù)據(jù)塊到外部網(wǎng)絡時,所述服務控制臺對該輸出數(shù)據(jù)塊進行加密,當所述客體虛擬機發(fā)生從其位于外部存儲器上的映像數(shù)據(jù)包,或從外部網(wǎng)絡,輸入數(shù)據(jù)塊到其內(nèi)部記憶體(RAM)時,所述服務控制臺對該數(shù)據(jù)塊進行解密;所述服務控制臺向所述虛擬機監(jiān)控器次可信計算基(VMM-TCB)發(fā)出密鑰管理服務請求,使得所述虛擬機監(jiān)控器次可信計算基(VMM-TCB)對所述加密和解密所采用的密鑰提供密鑰管理服務。根據(jù)本發(fā)明的另一個方面,提供一種生成客體虛擬機的方法,包括,生成密鑰;由虛擬機監(jiān)控器次可信計算基對該密鑰進行保護;服務控制臺逐個生成構成待生成客體虛擬機的數(shù)據(jù)塊,并用所述密鑰對各個數(shù)據(jù)塊加密;將加密后的數(shù)據(jù)塊存儲到外部存儲介質上。根據(jù)本發(fā)明的另一個方面,提供一種在虛擬化計算平臺架構上的密鑰管理方法,該虛擬化計算平臺架構包括,一個或多個客體虛擬機;虛擬機監(jiān)控器次可信計算基 (VMM-TCB),用于支持客體虛擬機的運行,并為客體虛擬機提供安全保護;服務控制臺,基于虛擬機監(jiān)控器次可信計算基(VMM-TCB)而運行,一個或多個所述客體虛擬機通過該服務控制臺與外部世界發(fā)生數(shù)據(jù)塊輸入輸出交換;所述密鑰管理方法包括客體虛擬機向服務控制臺發(fā)出輸出數(shù)據(jù)塊請求及待輸出數(shù)據(jù)塊;服務控制臺向虛擬機監(jiān)控器次可信計算基 (VMM-TCB)發(fā)送與該客體虛擬機標識符相對應的密鑰管理信息及密鑰請求指令以獲取與該密鑰管理信息對應的密鑰;服務控制臺利用該密鑰對待加密數(shù)據(jù)塊加密。根據(jù)本發(fā)明的另一個方面,提供一種用于虛擬機的密鑰管理方法,包括,生成密鑰,由該虛擬機監(jiān)控器次可信計算基對該密鑰進行保護。有益效果根據(jù)本發(fā)明的技術方案,由于將虛擬機內(nèi)部包括操作系統(tǒng)、中間件、數(shù)據(jù)庫、應用程序、用戶文件及數(shù)據(jù)、通信協(xié)議的配置、防火墻安全策略、等所有部件及資源之集合看作為一個運行中時刻動態(tài)變化著的系統(tǒng),又由于該系統(tǒng)完全是以數(shù)據(jù)的形式存在,可以將其切割成多個小數(shù)據(jù)快,從而可以對每一個數(shù)據(jù)塊進行實時動態(tài)的密碼學保護,而且還由于所用密鑰是由可信計算基保護,因此,即使被加密后的虛擬機系統(tǒng)被未授權者竊取,由于該未授權者沒有獲得密鑰,從而難以對虛擬機解密。這樣就提高了虛擬機的安全性,以及保證了虛擬機中處理的數(shù)據(jù)不可被非授權方法獲取,篡改,操作系統(tǒng)中所設定的安全策略具有不可被旁路的強制性。


從下面結合附圖給出的優(yōu)選實施例的描述中,本發(fā)明的上述和其它目的和特征將變得更加明顯,附圖中圖I示意性地示出了從外部存儲器輸入數(shù)據(jù)塊到客體虛擬機時由服務控制臺對其解密,以及從客體虛擬機輸出數(shù)據(jù)塊到外部存儲器時由服務控制臺對其加密的過程;圖2是根據(jù)本發(fā)明一個實施例對數(shù)據(jù)塊加密的流程圖;圖3是根據(jù)本發(fā)明另一個實施例對數(shù)據(jù)塊解密的流程圖。
具體實施例方式在下文中,將參照附圖描述本發(fā)明的示例性實施例。然而,本發(fā)明的范圍不應當被認為是局限于下面的實施例。本發(fā)明的實施例旨在為本領域技術人員更全面地解釋本發(fā)明。本發(fā)明的一個實施例涉及客體虛擬機的生成。在該實施例中,首先,服務控制臺在其內(nèi)部記憶體中生成一個密鑰,并將該密鑰發(fā)送至虛擬機監(jiān)控器次可信計算基,由該虛擬機監(jiān)控器次可信計算基(VMM-TCB)對該密鑰進行保護。接著,服務控制臺生成一個客體虛擬機的第一個數(shù)據(jù)塊,服務控制臺對該數(shù)據(jù)塊加密,然后將加密后的數(shù)據(jù)塊輸出或存儲到外部存儲器。然后,服務控制臺生成一個客體虛擬機的第二個數(shù)據(jù)塊,對其加密,并存儲到外部存儲器。服務控制臺重復上述對數(shù)據(jù)塊的處理過程,直至客體虛擬機的整個映像數(shù)據(jù)包被生成并存儲在外部存儲器。另外,服務控制臺還可以生成客體虛擬機的標識符(ID),并將客體虛擬機的標識符存儲到客體虛擬機映像數(shù)據(jù)包中。并且根據(jù)客體虛擬機的標識符(ID)生成密鑰管理信息,使該密鑰管理信息對應于該客體虛擬機(即,對應于客體虛擬機的標識符,在一個例子中,該密鑰管理信息是客體虛擬機的標識符本身),同時也對應于對該客體虛擬機的映像數(shù)據(jù)包加密所使用的密鑰。服務控制臺在將所生成的密鑰發(fā)送到虛擬機監(jiān)控器次可信計算基進行保護時,可以將該密鑰管理信息和密鑰一起發(fā)送到虛擬機監(jiān)控器次可信計算基,以使得該密鑰和該密鑰管理信息相互對應地被虛擬機監(jiān)控器次可信計算基保護。這里所說的相互對應地被虛擬機監(jiān)控器次可信計算基保護是指,在虛擬機監(jiān)控器次可信計算基對這二者進行保護的同時,利用該密鑰管理信息能夠找到被虛擬機監(jiān)控器次可信計算基保護的對應的密鑰。服務控制臺可以按照上述過程生成多個客體虛擬機,并使得加密每個客體虛擬機映像數(shù)據(jù)包的密鑰和與每個客體虛擬機對應的密鑰管理信息一一對應地由虛擬機監(jiān)控器次可信計算基保護。另外,在上述實施例中,服務控制臺可以將其所生成的密鑰和密鑰管理信息發(fā)送到虛擬機監(jiān)控器次可信計算基以相互對應地進行保護?;蛘?,在服務控制臺可以將其所生成的密鑰和密鑰管理信息發(fā)送到虛擬機監(jiān)控器次可信計算基后,還可以由基于硬件的主可信計算基對密鑰和密鑰管理信息相互對應地進行保護。在上述實施例的一個變型中,密鑰由可信計算基生成并保護,例如,由基于軟件的次可信計算基生成并保護,或者密鑰由基于硬件的主可信計算基生成并保護,而不是由服務控制臺生成。虛擬機監(jiān)控器次可信計算基將生成的該密鑰的拷貝發(fā)送到所述服務控制臺,以由服務控制臺利用該密鑰對客體虛擬機的數(shù)據(jù)塊進行加密或解密。在上述實施例的另一個變型中,密鑰管理信息由可信計算基生成,例如,由基于軟件的次可信計算基生成,或由基于硬件的主可信計算基生成,而不是服務控制臺生成,虛擬機監(jiān)控器次可信計算基或可信計算基的硬件將生成的密鑰管理信息和所述密鑰相互對應地保護。并且,虛擬機監(jiān)控器次可信計算基將該密鑰管理信息發(fā)送到服務控制臺,服務控制臺建立該密鑰管理信息和客體虛擬機標識符(ID)的對應關系。圖2是根據(jù)本發(fā)明另一個實施例對要輸出的數(shù)據(jù)塊加密的流程圖。參考圖2,當一個已經(jīng)啟動了的客體虛擬機要將其內(nèi)部記憶體中處理的數(shù)據(jù)塊輸出或存儲到外部存儲器上時,該客體虛擬機向服務控制臺發(fā)出輸出數(shù)據(jù)塊請求、該待輸出的數(shù)據(jù)塊、指定待輸出數(shù)據(jù)塊位于映像數(shù)據(jù)包中所處位置的指定信息和/或該客體虛擬機的標識符(ID)(步驟S310)。然后,在步驟S320,服務控制臺利用標識該客體虛擬機的標識符確定對應于該客體虛擬機的密鑰管理信息,并利用該密鑰管理信息向虛擬機監(jiān)控器次可信計算基發(fā)出密鑰請求指令,以查詢由虛擬機監(jiān)控器次可信計算基保護的對應的密鑰,并獲取該密鑰(在所述密鑰由基于硬件的主可信計算基保護的情況下,所述密鑰請求指令用于從基于硬件的主可信計算基查詢并獲取該密鑰)。在步驟S330,服務控制臺使用該查詢到的密鑰對所述數(shù)據(jù)塊加密。在步驟S340,服務控制臺將被加密后的數(shù)據(jù)塊存儲到外部存儲器,即存儲在該客體虛擬機的映像數(shù)據(jù)包中。由以上實施例可以看到,即使外部存儲器或通信網(wǎng)絡受到黑客攻擊,客體虛擬機的映像數(shù)據(jù)包被竊取,或通信中的某些數(shù)據(jù)塊被竊取,但該映像數(shù)據(jù)包或通信中的數(shù)據(jù)塊是被加密的,密鑰受到基于軟件的虛擬機監(jiān)控器次可信計算基的保護或受到基于硬件的主可信計算基的更安全的保護,黑客無法獲得密鑰,因而無法對映像數(shù)據(jù)包或通信中的數(shù)據(jù)塊解密。在上述實施例中,在步驟S320,服務控制臺向虛擬機監(jiān)控器次可信計算基發(fā)出密鑰請求指令以及密鑰管理信息。圖3是根據(jù)本發(fā)明另一個實施例對數(shù)據(jù)塊解密的流程圖。下面參照圖3介紹客體虛擬機從外部存儲介質上輸入數(shù)據(jù)塊的過程。首先,在步驟S410,客體虛擬機向服務控制臺發(fā)出輸入數(shù)據(jù)塊請求、指定所述輸入的數(shù)據(jù)塊在映像數(shù)據(jù)包中所處位置的指定信息和/或客體虛擬機ID。在步驟S420,響應于接收到的該請求,服務控制臺根據(jù)客體虛擬機ID確定密鑰管理信息,利用該密鑰管理信息向虛擬機監(jiān)控器次可信計算基發(fā)出密鑰請求指令,以查詢并獲取由虛擬機監(jiān)控器次可信計算基保護的對應的密鑰(在所述密鑰由基于硬件的主可信計算基保護的情況下,所述密鑰請求指令用于從基于硬件的主可信計算基查詢并獲取該密鑰),并從外部存儲器輸入所述指定信息指定的數(shù)據(jù)塊。在步驟S430,服務控制臺利用所查詢到的密鑰對該數(shù)據(jù)塊解密。在步驟S440,服務控制臺將被解密的數(shù)據(jù)塊發(fā)送到所述客體虛擬機內(nèi)部記憶體以進行處理。在上述實施例中,在步驟S420,服務控制臺向虛擬機監(jiān)控器次可信計算基發(fā)出密鑰請求指令以及所述密鑰管理信息。盡管已經(jīng)結合詳細示出并描述的優(yōu)選實施例公開了本發(fā)明,但是本領域技術人員應當理解,對于上述本發(fā)明所提出的各個實施例,還可以在不脫離本發(fā)明內(nèi)容的基礎上做出各種變型或改進。因此,本發(fā)明的保護范圍應當由所附的權利要求書的內(nèi)容確定。
權利要求
1.一種在虛擬化計算平臺架構上的虛擬機動態(tài)密碼學保護與密鑰管理方法,該虛擬化計算平臺架構包括,一個或多個客體虛擬機,每一個客體虛擬機都唯一關聯(lián)著一個映像數(shù)據(jù)包作為該客體虛擬機的虛擬磁盤,映像數(shù)據(jù)包存儲在外部存儲器上;每一個客體虛擬機都也都唯一關聯(lián)著一個虛擬網(wǎng)絡設備與外部世界通信;基于軟件的虛擬機監(jiān)控器次可信計算基,用于支持、監(jiān)控客體虛擬機的運行;基于硬件的主可信計算基,用于通過密碼學方法保護基于軟件的虛擬機監(jiān)控器次可信計算基;服務控制臺,可以是虛擬機監(jiān)控器次可信計算基的一個功能模塊部件,也可以是由虛擬機監(jiān)控器次可信計算基所支持的一個虛擬機,所述一個或多個客體虛擬機在運行時通過該服務控制臺的幫助來完成數(shù)據(jù)塊從映像數(shù)據(jù)包輸入與數(shù)據(jù)塊向映像數(shù)據(jù)包輸出;也通過該服務控制臺的幫助來完成數(shù)據(jù)塊與外部世界的通信;所述虛擬機動態(tài)密碼學保護與密鑰管理方法包括當運行中的所述客體虛擬機發(fā)生從其內(nèi)部記憶體輸出數(shù)據(jù)塊到其位于外部存儲器上的映像數(shù)據(jù)包時,或從其內(nèi)部記憶體向虛擬網(wǎng)絡設備發(fā)出數(shù)據(jù)塊時,所述服務控制臺對該輸出數(shù)據(jù)塊進行加密,當所述客體虛擬機發(fā)生從其位于外部存儲器上的映像數(shù)據(jù)包輸入數(shù)據(jù)塊到其內(nèi)部記憶體時,或從虛擬網(wǎng)絡設備接受數(shù)據(jù)塊時,所述服務控制臺對該數(shù)據(jù)塊進行解密;所述服務控制臺向所述虛擬機監(jiān)控器次可信計算基發(fā)出密鑰管理服務請求,使得所述虛擬機監(jiān)控器次可信計算基對所述加密和解密所采用的密鑰提供密鑰管理服務。
2.如權利要求I所述的虛擬機動態(tài)密碼學保護與密鑰管理方法,其中所述密鑰管理包括,由所述虛擬機監(jiān)控器次可信計算基或由所述基于硬件的主可信計算基對所述密鑰進行保護。
3.如權利要求2所述的虛擬機動態(tài)密碼學保護與密鑰管理方法,其中所述密鑰管理包括根據(jù)服務控制臺向所述虛擬機監(jiān)控器次可信計算基發(fā)送密鑰管理服務請求,響應于接收到的該服務請求,所述虛擬機監(jiān)控器次可信計算基將其保護的密鑰發(fā)送到該服務控制臺以由該服務控制臺用于加密或解密。
4.一種生成客體虛擬機的方法,包括,生成常鑰;由虛擬機監(jiān)控器次可信計算基對該密鑰進行保護;服務控制臺逐個生成構成待生成客體虛擬機的數(shù)據(jù)塊,并用所述密鑰對各個數(shù)據(jù)塊加密;將加密后的數(shù)據(jù)塊存儲到外部存儲介質上,最終形成該客體虛擬機的映像數(shù)據(jù)包。
5.如權利要求4所述的生成客體虛擬機的方法,還包括,生成密鑰管理信息,該密鑰管理信息對應于待生成的客體虛擬機;并且所述由虛擬機監(jiān)控器次可信計算基對該密鑰進行保護包括,將該密鑰和該鑰管理信息相對應地保護,使得根據(jù)該密鑰管理信息能夠唯一找到被保護的該密鑰。
6.如權利要求4所述的生成客體虛擬機的方法,其中,所述生成密鑰包括,由服務控制臺生成密鑰,并將密鑰發(fā)送到虛擬機監(jiān)控器次可信計算基以獲得保護。
7.如權利要求4所述的生成客體虛擬機的方法,其中,所述生成密鑰包括,由虛擬機監(jiān)控器次可信計算基,或基于硬件的主可信計算基生成密鑰,并將該密鑰發(fā)送到服務控制臺。
8.如權利要求5所述的生成客體虛擬機的方法,其中,所述生成密鑰管理信息包括,由服務控制臺生成密鑰管理信息,并將該密鑰管理信息發(fā)送到虛擬機監(jiān)控器次可信計算基以和所述密鑰相對應地保護,使得根據(jù)該密鑰管理信息能夠找到被保護的該密鑰。
9.如權利要求5所述的生成客體虛擬機的方法,其中,所述生成密鑰管理信息包括,由虛擬機監(jiān)控器次可信計算基生成密鑰管理信息,并將該密鑰管理信息發(fā)送到服務控制臺。
10.如權利要求5所述的生成客體虛擬機的方法,還包括,服務控制臺生成客體虛擬機標識符,并將該客體虛擬機標識符和構成該客體虛擬機的各加密后數(shù)據(jù)塊一起存儲在外部存儲器,服務控制臺能夠根據(jù)該客體虛擬機標識符確定與該客體虛擬機對應的密鑰管理信息。
11.一種在虛擬化計算平臺架構上的虛擬機動態(tài)密碼學保護與密鑰管理方法,該虛擬化計算平臺架構包括,一個或多個如權利要求4所述方法生成的客體虛擬機;基于軟件的虛擬機監(jiān)控器次可信計算基,用于支持客體虛擬機的運行,并為客體虛擬機提供安全保護;基于硬件的主可信計算基,用于通過密碼學方法保護基于軟件的虛擬機監(jiān)控器次可信計算基;服務控制臺,可以是虛擬機監(jiān)控器次可信計算基的一個功能部件,也可以是由基于軟件的虛擬機監(jiān)控器次可信計算基支持而運行的一個虛擬機,一個或多個所述客體虛擬機通過該服務控制臺來輸入輸出數(shù)據(jù)塊;所述虛擬機動態(tài)密碼學保護與密鑰管理方法包括客體虛擬機向服務控制臺發(fā)出輸出數(shù)據(jù)塊請求及待輸出數(shù)據(jù)塊;服務控制臺向虛擬機監(jiān)控器次可信計算基發(fā)送與該客體虛擬機標識符相對應的密鑰管理信息及密鑰請求指令以獲取與該密鑰管理信息對應的密鑰;服務控制臺利用該密鑰對待加密數(shù)據(jù)塊加密。
12.如權利要求11所述的虛擬機動態(tài)密碼學保護與密鑰管理方法,其中,所述客體虛擬機向服務控制臺發(fā)出輸出數(shù)據(jù)塊請求及待輸出數(shù)據(jù)塊還包括,客體虛擬機向服務控制臺發(fā)出指定待輸出數(shù)據(jù)塊位于映像數(shù)據(jù)包中所處位置的指定信息,或者指定待通信數(shù)據(jù)塊期望接受實體的通信地址信息。
13.如權利要求11所述的虛擬機動態(tài)密碼學保護與密鑰管理方法,還包括,服務控制臺將被加密后數(shù)據(jù)塊存儲在位于外部存儲介質上的該客體虛擬機映像數(shù)據(jù)包中,或者將被加密后通信數(shù)據(jù)塊發(fā)往所述通信地址。
14.如權利要求12所述的虛擬機動態(tài)密碼學保護與密鑰管理方法,還包括,服務控制臺根據(jù)所述該指定信息將被加密后數(shù)據(jù)塊存儲在位于外部存儲介質上的該客體虛擬機映像數(shù)據(jù)包中,或者根據(jù)所述該地址信息將被加密后的通信數(shù)據(jù)塊發(fā)往所述通信地址。
15.如權利要求11所述的虛擬機動態(tài)密碼學保護與密鑰管理方法,還包括,所述客體虛擬機向所述服務控制臺發(fā)出輸入數(shù)據(jù)塊請求和指定待輸入數(shù)據(jù)塊位于映像數(shù)據(jù)包中所處位置的指定信息,響應于接收到的該請求,該服務控制臺根據(jù)所述指定信息從位于外部存儲器上該客體虛擬機映像數(shù)據(jù)包中,或從虛擬網(wǎng)絡設備上,找到該指定待輸入的數(shù)據(jù)塊,并向虛擬機監(jiān)控器次可信計算基發(fā)送與該客體虛擬機標識符相對應的密鑰管理信息及密鑰請求指令以獲取與該密鑰管理信息對應的密鑰;服務控制臺利用獲取的密鑰對所述待解密數(shù)據(jù)塊解密,服務控制臺將解密后的數(shù)據(jù)塊發(fā)送到該客體虛擬機,以使該客體虛擬機可以在其內(nèi)部記憶體中處理。
16.如權利要求11所述的虛擬機動態(tài)密碼學保護與密鑰管理方法,其中,服務控制臺向虛擬機監(jiān)控器次可信計算基發(fā)送密鑰請求指令包括,服務控制臺向虛擬機監(jiān)控器次可信計算基發(fā)送密鑰請求指令。
17.一種用于虛擬機動態(tài)密碼學保護與密鑰管理方法,包括,生成密鑰,由虛擬機監(jiān)控器次可信計算基對該密鑰進行保護或由虛擬機監(jiān)控器次可信計算基向基于硬件的主可信計算基發(fā)出請求對該密鑰進行保護。
18.如權利要求17所述的虛擬機動態(tài)密碼學保護與密鑰管理方法,還包括,生成對應于所述密鑰的密鑰管理信息;該虛擬機監(jiān)控器次可信計算基或基于硬件的主可信計算基對該密鑰和密鑰管理信息相互對應地保護。
19.如權利要求18所述的虛擬機動態(tài)密碼學保護與密鑰管理方法,還包括,服務控制臺作為虛擬機監(jiān)控器次可信計算基的一個功能模塊部件向基于硬件的主可信計算基直接發(fā)出密鑰管理信息及密鑰請求指令,以獲得對應于該密鑰管理信息的密鑰,服務控制臺利用所獲得的密鑰對數(shù)據(jù)塊進行加密或解密。
全文摘要
提供一種用于虛擬機動態(tài)密碼學保護以及所需密鑰的密鑰管理的方法。該方法包括,將虛擬機分割成多個數(shù)據(jù)塊,當每個數(shù)據(jù)塊發(fā)生輸入輸出時進行動態(tài)加解密處理,其中加解密所需的密鑰由虛擬機監(jiān)控器次可信計算基或者基于硬件的可信計算基進行保護,以使密鑰得到安全級別更高的保護,服務控制臺從虛擬機監(jiān)控器次可信計算基查詢并獲取該密鑰,并使用該密鑰對客體虛擬機的數(shù)據(jù)塊加密,將被加密后的數(shù)據(jù)塊保存在客體虛擬機映像數(shù)據(jù)包中,從而在客體虛擬機映像數(shù)據(jù)包失竊的情況下,該失竊的加密數(shù)據(jù)包也難以被解密。并且,在客體虛擬機從外存輸入數(shù)據(jù)塊時,服務控制臺利用所述密鑰對該數(shù)據(jù)塊解密,將解密后的數(shù)據(jù)塊發(fā)送到客體虛擬機內(nèi)部記憶體處理。
文檔編號G06F21/00GK102609643SQ201210006168
公開日2012年7月25日 申請日期2012年1月10日 優(yōu)先權日2012年1月10日
發(fā)明者毛文波 申請人:道里云信息技術(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1