基于vtpm對虛擬機進行安全保護的方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別涉及一種基于VTPM對虛擬機進行安全保護的方法及系統(tǒng)。
【背景技術(shù)】
[0002]在現(xiàn)代生活中,互聯(lián)網(wǎng)為用戶的生活帶來了極大的便利,同時也滋生了很多欺詐和犯罪行為,加上互聯(lián)網(wǎng)上客觀存在的各種各樣的漏洞,就衍生出一系列信息安全問題。隨著互聯(lián)網(wǎng)日益深入到政治、軍事、經(jīng)濟、文化、生活的方方面面,信息安全已成為影響國家安全、社會穩(wěn)定、經(jīng)濟發(fā)展的重大問題,必須采取有力措施保障信息安全。
[0003]以對虛擬機的安全進行保護為例,當前主要通過物理主機中的TPM為虛擬機中的VTPM(Virtualizing the Trusted Platform Module,虛擬可信平臺模塊)創(chuàng)建根密鑰,VTPM利用該根密鑰為虛擬機創(chuàng)建密鑰保護體系,以保護虛擬機的敏感信息、存儲虛擬環(huán)境度量值、為虛擬機提供遠程證明等。對于VTPM對虛擬機進行安全保護的過程如下:
[0004]TPM為物理主機創(chuàng)建AIK(Attestat1n Identity Key,證言身份密鑰),隱私CA(Certificat1n Authority,證書)對所創(chuàng)建的AIK進行簽名后,TPM將簽名后的AIK及Quote(引用)命令發(fā)送至物理主機上的任一 VTPM,該VTPM通過采用簽名后的AIK及Quote命令,為虛擬機創(chuàng)建EK',并基于EK'為虛擬機創(chuàng)建AIK',進而基于所創(chuàng)建的EK'和AIK'對虛擬機的安全進行保護。
[0005]在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)明現(xiàn)有技術(shù)至少存在以下問題:
[0006]在上述過程中,VTPM得以對虛擬機進行安全保護主要依賴于TPM所創(chuàng)建的AIK,而當虛擬機從一個物理主機迀移到另一個物理主機上時,VTPM為虛擬機創(chuàng)建的密鑰保護體系將不再適用,此時需要在新的物理主機上為虛擬機重新創(chuàng)建新的密鑰保護體系,該過程不僅操作復雜、資源消耗較大,且破壞了虛擬機中的密鑰層次。
【發(fā)明內(nèi)容】
[0007]為了解決相關(guān)技術(shù)的問題,本發(fā)明實施例提供了一種基于VTPM對虛擬機進行安全保護的方法及系統(tǒng)。
[0008]第一方面,本發(fā)明實施例提供了一種基于VTPM對虛擬機的安全進行保護的方法,該方法包括:當虛擬機在虛擬平臺上初次運行時,虛擬機向物理主機發(fā)送基礎(chǔ)種子獲取請求,該基礎(chǔ)種子獲取請求中攜帶1]1110(1]11;^6183117 Unique Identifier,通用唯一標識碼)等信息。物理主機接收虛擬機發(fā)送的基礎(chǔ)種子獲取請求,并將基礎(chǔ)種子獲取請求中所攜帶的UUID發(fā)送至KMC(Key Management Center,密鑰管理中心)dKMC基于該UUIID生成基礎(chǔ)種子,并將所生成的基礎(chǔ)種子發(fā)送至虛擬機。當接收機到KMC發(fā)送的基礎(chǔ)種子,虛擬機根據(jù)基礎(chǔ)種子為VTPM創(chuàng)建根密鑰,進而創(chuàng)建密鑰保護體系。由于該基礎(chǔ)種子并不依賴于物理主機,而是由KMC進行派發(fā),因而當虛擬機從一個物理主機上迀移到另一個物理主機時,虛擬機可根據(jù)該基礎(chǔ)種子重新為VTPM創(chuàng)建密鑰保護體系,以保護虛擬機中數(shù)據(jù)安全。
[0009]在一個可能的設(shè)計中,物理主機可根據(jù)預先配置的KMC地址,有針對性地向該KMC地址所指向的KMC發(fā)送密鑰保護請求。當接收物理主機發(fā)送的密鑰保護請求時,KMC從密鑰數(shù)據(jù)庫中隨機獲取一個非對稱密鑰,存儲該非對稱密鑰中的私鑰,同時將該非對稱密鑰中的公鑰發(fā)送至物理主機。物理主機接收KMC發(fā)送的公鑰,并采用該公鑰對UUID及其他信息(例如創(chuàng)建者、物理地址等)進行加密后,發(fā)送至KMC。物理主機通過采用公鑰對待發(fā)送至KMC的UUID及其他信息進行加密,避免了UUID及其他信息在發(fā)送至KMC的過程中被其他用戶截獲,提高了虛擬機的信息安全。
[0010]在一個可能的設(shè)計中,物理主機中設(shè)置有第一TPM,該第一TPM用于存儲物理主機內(nèi)不同層次的密鑰,在物理主機與KMC的交互中,物理主機可從該第一 TPM中調(diào)用KMC所發(fā)送的公鑰,對待發(fā)送至KMC的數(shù)據(jù)進行加密,并對KMC發(fā)送的數(shù)據(jù)進行解密,從而保證與KMC之間交互的數(shù)據(jù)安全。
[0011]在一個可能的設(shè)計中,KMC采用存儲的私鑰對生成的基礎(chǔ)種子進行加密,并將加密后的基礎(chǔ)種子發(fā)送至物理主機。當接收到KMC采用私鑰加密后的基礎(chǔ)種子,物理主機從第一TPM中調(diào)用公鑰,并使用公鑰對該加密后的基礎(chǔ)種子進行解密,得到基礎(chǔ)種子。通過對基礎(chǔ)種子進行加密,有效地保證了基礎(chǔ)種子的安全。
[0012]在一個可能的設(shè)計中,KMC中設(shè)置有第二TPM,當接收到物理主機發(fā)送的UUID時,KMC生成一對對稱密鑰,從OpenSSL庫中調(diào)用隨機數(shù)生成函數(shù),并以UUID和對稱密鑰作為隨機數(shù)生成函數(shù)的參數(shù),生成基礎(chǔ)種子。
[0013]在一個可能的設(shè)計中,KMC將所生成的基礎(chǔ)種子及UUID存儲到數(shù)據(jù)庫中(如備份數(shù)據(jù)庫中),在使用過程中,即便物理平臺的第一TPM或主板損壞,虛擬機仍然可從KMC中獲取到基礎(chǔ)種子,進而根據(jù)基礎(chǔ)種子恢復出相同的根密鑰,創(chuàng)建相同的密鑰體系,從而有效地防止了虛擬機中的數(shù)據(jù)丟失。
[0014]第二方面,本發(fā)明實施例提供了一種基于VTPM對虛擬機的安全保護的體系,該體系包括:虛擬機、物理主機、KMC。其中,物理主機內(nèi)設(shè)置有第一 TSS和第一 TPM,第一 TSS可為外部設(shè)備(如虛擬機、KMC等)訪問TPM提供接口;虛擬機中安裝有多個應用程序,可觸發(fā)虛擬機執(zhí)行不同的操作,虛擬機內(nèi)設(shè)置有第二 TSS和VTPM等,第二 TSS可為外部設(shè)備訪問VTPM提供接口 ;KMC內(nèi)設(shè)置有備份數(shù)據(jù)庫、密鑰數(shù)據(jù)庫等多個數(shù)據(jù)庫。
[0015]當虛擬機在虛擬平臺上初次運行時,虛擬機向物理主機發(fā)送基礎(chǔ)種子獲取請求,該基礎(chǔ)種子獲取請求中攜帶UUID等信息。物理主機接收虛擬機發(fā)送的基礎(chǔ)種子獲取請求,并將基礎(chǔ)種子獲取請求中所攜帶的UUID發(fā)送至KMC13KMC基于該UUIID生成基礎(chǔ)種子,并將所生成的基礎(chǔ)種子發(fā)送至虛擬機。當接收機到KMC發(fā)送的基礎(chǔ)種子,虛擬機根據(jù)基礎(chǔ)種子為VTPM創(chuàng)建根密鑰,進而創(chuàng)建密鑰保護體系。由于該基礎(chǔ)種子并不依賴于物理主機,而是由KMC進行派發(fā),因而當虛擬機從一個物理主機上迀移到另一個物理主機時,虛擬機可根據(jù)該基礎(chǔ)種子重新為VTPM創(chuàng)建密鑰保護體系,以保護虛擬機中數(shù)據(jù)安全。
[0016]在一個可能的設(shè)計中,物理主機可根據(jù)預先配置的KMC地址,有針對性地向該KMC地址所指向的KMC發(fā)送密鑰保護請求。當接收物理主機發(fā)送的密鑰保護請求時,KMC從密鑰數(shù)據(jù)庫中隨機獲取一個非對稱密鑰,存儲該非對稱密鑰中的私鑰,同時將該非對稱密鑰中的公鑰發(fā)送至物理主機。物理主機接收KMC發(fā)送的公鑰,并采用該公鑰對UUID及其他信息(例如創(chuàng)建者、物理地址等)進行加密后,發(fā)送至KMC。物理主機通過采用公鑰對待發(fā)送至KMC的UUID及其他信息進行加密,避免了UUID及其他信息在發(fā)送至KMC的過程中被其他用戶截獲,提高了虛擬機的信息安全。
[0017]在一個可能的設(shè)計中,物理主機中設(shè)置有第一TPM,該第一TPM用于存儲物理主機內(nèi)不同層次的密鑰,在物理主機與KMC的交互中,物理主機可從該第一 TPM中調(diào)用KMC所發(fā)送的公鑰,對待發(fā)送至KMC的數(shù)據(jù)進行加密,并對KMC發(fā)送的數(shù)據(jù)進行解密,從而保證與KMC之間交互的數(shù)據(jù)安全。
[0018]在一個可能的設(shè)計中,KMC采用存儲的私鑰對生成的基礎(chǔ)種子進行加密,并將加密后的基礎(chǔ)種子發(fā)送至物理主機。當接收到KMC采用私鑰加密后的基礎(chǔ)種子,物理主機從第一TPM中調(diào)用公鑰,并使用公鑰對該加密后的基礎(chǔ)種子進行解密,得到基礎(chǔ)種子。通過對基礎(chǔ)種子進行加密,有效地保證了基礎(chǔ)種子的安全。
[0019]在一個可能的設(shè)計中,KMC中設(shè)置有第二TPM,當接收到物理主機發(fā)送的UUID時,KMC生成一對對稱密鑰,從OpenSSL庫中調(diào)用隨機數(shù)生成函數(shù),并以UUID和對稱密鑰作為隨機數(shù)生成函數(shù)的參數(shù),生成基礎(chǔ)種子。
[0020]在一個可能的設(shè)計中,KMC將所生成的基礎(chǔ)種子及UUID存儲到數(shù)據(jù)庫中(如密鑰備份數(shù)據(jù)庫中),在使用過程中,即便物理平臺的第一TPM或主板損壞,虛擬機仍然可從KMC中獲取到基礎(chǔ)種子,進而根據(jù)基礎(chǔ)種子恢復出相同的根密鑰,創(chuàng)建相同的密鑰體系,從而有效地防止了虛擬機中的數(shù)據(jù)丟失。
[0021]第三方面,本發(fā)明實施例提供了一種計算設(shè)備,該計算設(shè)備包括:存儲器、處理器和總線,其中,所述存儲器和所述處理器通過總線直連;
[0022]所述存儲器用于存放計算機指令,所述處理器用于執(zhí)行所述存儲器存儲的計算機指令;當所述計算機設(shè)備運行時,所述處理器運行計算機指令,使得所述計算機設(shè)備執(zhí)行上述第一方面所述的基于VTPM對虛擬機進行安全保護的方法。
[0023]本發(fā)明實施例提供的技術(shù)方案來帶的有益效果是:
[0024]物理主機接收虛擬機發(fā)送的至少攜帶UUID的基礎(chǔ)種子獲取請求,并將UUID發(fā)送至KMC,由KMC根據(jù)UUID生成基礎(chǔ)種子,當接收到KMC反饋的基礎(chǔ)種子,物理主機將基礎(chǔ)種子發(fā)送至虛擬機,虛擬機根據(jù)基礎(chǔ)種子創(chuàng)建VTPM的根密鑰,VTPM使用該根密鑰為虛擬機創(chuàng)建密鑰,以保護虛擬機的安全。本發(fā)明不依賴于任一物理主機,通過第三方設(shè)備為虛擬機派發(fā)基礎(chǔ)種子,從而在虛擬機從一個物理主機迀移到另一個物理主機上時,通過基礎(chǔ)種子即可創(chuàng)建出相同的根密鑰,不僅降低了操作復雜度、節(jié)省了資源,而且不會破壞虛擬機中的密鑰層次。
【附圖說明】
[0025]為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,