專利名稱:基于tpm的虛擬機(jī)安全協(xié)議方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及的是一種計算機(jī)應(yīng)用技術(shù)領(lǐng)域的方法及系統(tǒng),具體是一種基于 TPM的虛擬機(jī)安全協(xié)議方法及系統(tǒng)。
背景技術(shù):
隨著計算系統(tǒng)的資源不斷擴(kuò)展、處理能力不斷增強(qiáng)、應(yīng)用需求不斷提高、多
核高性能處理器不斷普及,尋求如何利用和發(fā)揮計算機(jī)強(qiáng)大功能己成為未來信息
技術(shù)領(lǐng)域面臨的重大挑戰(zhàn)。計算機(jī)系統(tǒng)的虛擬化技術(shù)作為一種新型的計算機(jī)技術(shù),
極大地提高了計算機(jī)系統(tǒng)的資源利用率,從而挖掘了計算機(jī)系統(tǒng)閑置的計算潛力,
最大地發(fā)揮了計算機(jī)系統(tǒng)的處理能力。
除此以外,虛擬化計算機(jī)系統(tǒng)(虛擬機(jī))還具有以下特性
1、 易牽引性。完整地克隆傳統(tǒng)計算機(jī)系統(tǒng)的硬件和軟件環(huán)境和狀態(tài)是相當(dāng)困 難的。然而,完整地克隆虛擬機(jī)的硬件和軟件環(huán)境卻是相當(dāng)容易的。虛擬機(jī)的這 一特性滿足了很多應(yīng)用場景的需求。
2、 隔離性。同一物理計算機(jī)系統(tǒng)上的虛擬機(jī)之間可以達(dá)到物理計算機(jī)系統(tǒng)之 間的隔離程度。這一特性可以使虛擬機(jī)之間互不影響,獨(dú)立工作。
3、 可伸縮性。虛擬機(jī)的實際物理計算資源可由系統(tǒng)本身或系統(tǒng)管理員根據(jù)應(yīng) 用進(jìn)行合理分配和動態(tài)調(diào)整。這一特性使各個虛擬機(jī)按需分配物理計算資源成為 可能。
虛擬化技術(shù)的逐漸普及和應(yīng)用使其安全問題也越來越被重視,虛擬機(jī)中安全 性的基礎(chǔ)是各個通信實體的真實性,即通信雙方能夠在通信前確認(rèn)對方的身份, 并且只與合法的通信人進(jìn)行通信。這就需要一種安全協(xié)議方法及系統(tǒng)來保證。
經(jīng)對現(xiàn)有技術(shù)文獻(xiàn)的檢索發(fā)現(xiàn),IBM公司的Stefan Berger等人在 "Security , 06: 15th USENIX Security Symposium" (2006年第十五屆USENIX 安全技術(shù)石開討大會)上發(fā)表的"vTPM: Virtualizing the Trusted Platform Module" (vTPM:虛擬化可信計算模塊),提出了虛擬化可信計算模塊,這種虛擬化可信模塊被部署在每一個虛擬機(jī)上,從而解決了多個虛擬機(jī)共享一個硬件可信計算模塊的 問題。其不足在于僅僅提出了一種在虛擬機(jī)環(huán)境下共享一個硬件可信計算模塊 TPM的方法,而未解決虛擬機(jī)環(huán)境下如何利用這個硬件可信計算模塊TPM來保證虛 擬環(huán)境下的通信安全。而傳統(tǒng)的安全協(xié)議方法及系統(tǒng)不適用于虛擬機(jī)環(huán)境下的新 特點(diǎn)、新需求,主要表現(xiàn)在1、虛擬機(jī)之間的通信與傳統(tǒng)的計算機(jī)系統(tǒng)不同,虛 擬機(jī)之間的通信可能是兩臺物理計算機(jī)之間的通訊,也可能是一臺物理計算機(jī)內(nèi) 部的通信;2、 一臺物理計算機(jī)上可以部署多臺虛擬機(jī),不能簡單地以物理計算機(jī) 的硬件區(qū)別標(biāo)識不同的虛擬機(jī);3、 一臺虛擬機(jī)上還可以進(jìn)一步嵌套部署多臺虛擬 機(jī),這就引入了新的復(fù)雜性。
發(fā)明內(nèi)容
本發(fā)明針對上述現(xiàn)有技術(shù)中的不足,提出了一種基于TPM的虛擬機(jī)安全協(xié)議 方法及系統(tǒng),首先,本發(fā)明提供一種虛擬機(jī)環(huán)境下的身份認(rèn)證協(xié)議,來保證通信 者身份的真實性;其次,本發(fā)明保證虛擬機(jī)環(huán)境下通信者之間的通信內(nèi)容是保密 的,防止傳輸路徑上的其它結(jié)點(diǎn)得到通信的內(nèi)容;最后,本發(fā)明為了高效合理地 保證虛擬機(jī)內(nèi)的安全性的正確性和可靠性,將安全問題歸結(jié)一個完全可信的實體 ——硬件可信計算模塊(TPM)上。因此,只要保證硬件可信計算模塊的安全性, 則整個虛擬機(jī)環(huán)境中的安全性也可以得到保證。
本發(fā)明是通過以下技術(shù)方案實現(xiàn)的。
本發(fā)明涉及一種基于TPM的虛擬機(jī)安全協(xié)議方法,包括如下步驟
步驟^,特權(quán)虛擬機(jī)分別為兩個需要進(jìn)行通信的非特權(quán)虛擬機(jī)初始化并建立 非特權(quán)虛擬機(jī)的身份信息,特權(quán)虛擬機(jī)是唯一能夠與TPM直接交互的虛擬機(jī),TPM 是初始狀態(tài)下唯一可信的通信實體;
步驟二,兩個非特權(quán)虛擬機(jī)雙向之間互相鑒別身份,以確認(rèn)雙方的身份信息 是真實的并且符合進(jìn)行實質(zhì)通信的條件;
步驟三,如果步驟二成功,則兩個需要通信的非特權(quán)虛擬機(jī)之間進(jìn)行實質(zhì)的
通信;
步驟四,當(dāng)非特權(quán)虛擬機(jī)的密鑰或證書過期時,特權(quán)虛擬機(jī)會強(qiáng)制更新其密
鑰或證書,以確保兩個非特權(quán)虛擬機(jī)在長時間的通信過程中仍然是安全的。 所述初始化并建立非特權(quán)虛擬機(jī)的身份信息,包括如下具體步驟第一步,需要進(jìn)行通信的某非特權(quán)虛擬機(jī)向特權(quán)虛擬機(jī)發(fā)送初始化請求,并 將請求消息存儲在特權(quán)虛擬機(jī)與非特權(quán)虛擬機(jī)之間的共享消息環(huán)中;
第二步,非特權(quán)虛擬機(jī)通知特權(quán)虛擬機(jī)接收請求消息,特權(quán)虛擬機(jī)接收請求, 特權(quán)虛擬機(jī)從它與非特權(quán)虛擬機(jī)之間的共享環(huán)中讀取請求消息,并將初始化請求 發(fā)送給TPM;
第三步,TPM向特權(quán)虛擬機(jī)返回非特權(quán)虛擬機(jī)的身份信息,特權(quán)虛擬機(jī)向它與 非特權(quán)虛擬機(jī)的共享數(shù)據(jù)區(qū)存儲初始化得到的非特權(quán)虛擬機(jī)的身份信息,身份信 息包括發(fā)送請求者的公鑰、私鑰、標(biāo)識符以及簽名;
第四步,特權(quán)虛擬機(jī)向非特權(quán)虛擬機(jī)發(fā)送接收身份信息的請求,將請求消息 被存儲在特權(quán)虛擬機(jī)與非特權(quán)虛擬機(jī)的共享消息環(huán)中,并通知非特權(quán)虛擬機(jī)接收 請求;
第五步,非特權(quán)虛擬機(jī)從它與特權(quán)虛擬機(jī)的共享環(huán)中讀取請求消息,并從它 與特權(quán)虛擬機(jī)的共享數(shù)據(jù)區(qū)讀取身份信息。
所述雙向之間互相鑒別身份,以確認(rèn)雙方的身份信息是真實的并且符合進(jìn)行 實質(zhì)通信的條件,其鑒別的方式為挑戰(zhàn)應(yīng)答,包括如下具體步驟
第一步,非特權(quán)虛擬機(jī)向另一個非特權(quán)虛擬機(jī)發(fā)送挑戰(zhàn)請求,并通知該非特
權(quán)虛擬機(jī)接收請求;
第二步,如果該非特權(quán)虛擬機(jī)接收請求并應(yīng)答挑,則向原發(fā)送挑戰(zhàn)請求的非 特權(quán)虛擬機(jī)回發(fā)挑戰(zhàn)請求,并通知原非特權(quán)虛擬機(jī)接收請求,進(jìn)入第三步如果 該非特權(quán)虛擬機(jī)未能應(yīng)答挑戰(zhàn)或錯誤應(yīng)答挑戰(zhàn)則通信立即終止;
第三步,如果原非特權(quán)虛擬機(jī)接收請求并應(yīng)答挑戰(zhàn),兩個非特權(quán)虛擬機(jī)之間 建立實質(zhì)的通信;如果原非特權(quán)虛擬未能應(yīng)答挑戰(zhàn)或錯誤應(yīng)答挑戰(zhàn)則通信立即終 止。
所述實質(zhì)通信,其通信中的內(nèi)容為加密或簽名形式,加密通信時加密策略是 開放的。
本發(fā)明還涉及一種基于TPM的虛擬機(jī)安全協(xié)議系統(tǒng),包括TPM硬件模塊、 TPM驅(qū)動程序、TPM軟件堆棧模塊、虛擬機(jī)監(jiān)控器、特權(quán)虛擬機(jī)、若干非特權(quán)虛擬 機(jī)、安全協(xié)議模塊,其中
TPM硬件模塊是計算機(jī)系統(tǒng)的可信計算模塊,它是虛擬環(huán)境下安全可信的根基,TPM硬件模塊接收由TPM軟件堆棧模塊發(fā)送的請求,并根據(jù)不同的請求把生成 的標(biāo)識符、公鑰、密鑰的句柄發(fā)送回TPM軟件堆棧模塊;
TPM驅(qū)動程序負(fù)責(zé)TPM硬件模塊與TPM軟件堆棧模塊之間的通信;
TPM軟件堆棧模塊為虛擬機(jī)提供了一系列的可調(diào)用的功能,包括生成標(biāo)識符、 公鑰、密鑰的句柄,TPM軟件堆棧模塊接收到虛擬機(jī)的請求后,根據(jù)不同的請求調(diào) 用一系列的函數(shù)來完成請求,這些被調(diào)用的函數(shù)負(fù)責(zé)調(diào)用TPM硬件模塊生成標(biāo)識 符、公鑰、密鑰的句柄;
虛擬機(jī)監(jiān)控器負(fù)責(zé)對所有特權(quán)虛擬機(jī)與非特權(quán)虛擬機(jī)進(jìn)行監(jiān)控,在虛擬機(jī)之 間分配計算機(jī)硬件資源,虛擬機(jī)監(jiān)控器設(shè)定只有唯一的特權(quán)虛擬機(jī)才擁有特權(quán);
特權(quán)虛擬機(jī)是虛擬機(jī)監(jiān)控器設(shè)定的唯一有特權(quán)能夠與TPM軟件堆棧模塊直接 通信的虛擬機(jī),同時,特權(quán)虛擬機(jī)能夠與其它非特權(quán)虛擬機(jī)通信;
非特權(quán)虛擬機(jī)是虛擬機(jī)監(jiān)控器管理的其它虛擬機(jī),非特權(quán)虛擬機(jī)是系統(tǒng)保證 安全的對象,非特權(quán)虛擬機(jī)必須根據(jù)安全協(xié)議通過特權(quán)虛擬機(jī)與其他非特權(quán)虛擬 機(jī)間接通信;
安全協(xié)議模塊負(fù)責(zé)特權(quán)虛擬機(jī)與非特權(quán)虛擬機(jī)中實際的消息發(fā)送與接收,在 每個虛擬機(jī)中都部署有一個安全協(xié)議模塊,特權(quán)虛擬機(jī)的安全協(xié)議模塊與非特權(quán) 虛擬機(jī)的安全特權(quán)模塊有所不同,即只有特權(quán)虛擬機(jī)的安全協(xié)議模塊具有調(diào)用TPM 軟件堆棧的功能。
所述非特權(quán)虛擬機(jī),其與特權(quán)虛擬機(jī)均設(shè)有一個共享的消息環(huán),這個消息環(huán) 供通信雙方虛擬機(jī)發(fā)送和接收請求,發(fā)送請求時, 一方虛擬機(jī)先把消息放入消息 環(huán),并通過事件通道通知對方,另一方虛擬機(jī)從消息環(huán)中把消息取出。
所述消息環(huán),是其所對應(yīng)的非特權(quán)虛擬機(jī)所獨(dú)占,其它的非特權(quán)虛擬機(jī)無法 直接利用它們通信。
所述非特權(quán)虛擬機(jī),其與特權(quán)虛擬機(jī)之間設(shè)有共享的數(shù)據(jù)區(qū),數(shù)據(jù)區(qū)供通信 雙方虛擬機(jī)發(fā)送和接收數(shù)據(jù)。
所述數(shù)據(jù)區(qū),是其所對應(yīng)的非特權(quán)虛擬機(jī)獨(dú)占的,其它的非特權(quán)虛擬機(jī)無法 直接利用它們通信。
本發(fā)明系統(tǒng)中,特權(quán)虛擬機(jī)、非特權(quán)虛擬機(jī)以及TPM硬件模塊、TPM驅(qū)動程 序以及TPM軟件堆棧模塊,之間互相協(xié)調(diào)通信,從而實現(xiàn)了各個安全協(xié)議。在本發(fā)明的實現(xiàn)中,當(dāng)消息環(huán)與數(shù)據(jù)區(qū)被創(chuàng)建以后,虛擬機(jī)與虛擬機(jī)之間便 能夠開始根據(jù)安全協(xié)議通信了,各個虛擬機(jī)的安全協(xié)議模塊是實際負(fù)責(zé)通信的模 塊,另外,在安全協(xié)議的實現(xiàn)中,特權(quán)虛擬機(jī)不僅要與非特權(quán)虛擬機(jī)進(jìn)行通信, 還要與TPM軟件堆棧模塊跟據(jù)安全協(xié)議進(jìn)行通信,TPM軟件堆棧模塊最終調(diào)用TPM 硬件模塊的功能。
與現(xiàn)有技術(shù)相比,本發(fā)明具有如下有益效果
本發(fā)明把保證虛擬機(jī)環(huán)境下通信的安全最終歸結(jié)到保證TPM硬件模塊的安全。 由于TPM硬件模塊為計算機(jī)系統(tǒng)硬件的一部分,其安全性易于保證,從而使整個 虛擬機(jī)環(huán)境下的通信安全易于得到保證。
本發(fā)明共實現(xiàn)了四個安全協(xié)議,包括初始化協(xié)議、雙向鑒別協(xié)議、保密通信 協(xié)議、密碼或證書更新協(xié)議,安全協(xié)議規(guī)定了虛擬機(jī)與虛擬機(jī)之間,虛擬機(jī)與TPM 軟件堆棧模塊之間如何通信,從而,本發(fā)明引入了完整的虛擬機(jī)安全協(xié)議,從整 個系統(tǒng)保證了虛擬機(jī)環(huán)境下所有虛擬機(jī)的通信安全,而改進(jìn)了傳統(tǒng)虛擬機(jī)環(huán)境下 每個虛擬機(jī)獨(dú)立保證自身安全的局限性。
圖l是本發(fā)明的系統(tǒng)結(jié)構(gòu)框圖2是本發(fā)明的特權(quán)虛擬機(jī)和非特權(quán)虛擬機(jī)之間通過共享消息環(huán)交互信息的 模式圖。
具體實施例方式
下面結(jié)合附圖對本發(fā)明的實施例作詳細(xì)說明本實施例在以本發(fā)明技術(shù)方案 為前提下進(jìn)行實施,給出了詳細(xì)的實施方式和具體的操作過程,但本發(fā)明的保護(hù) 范圍不限于下述的實施例。
本實施例的虛擬機(jī)環(huán)境中共有三個虛擬機(jī),分別為特權(quán)虛擬機(jī)domainO、非特
權(quán)虛擬機(jī)domainUl以及非特權(quán)虛擬機(jī)domainU2。
本實施例涉及一種基于TPM的虛擬機(jī)安全協(xié)議方法,包括如下具體歩驟-
步驟一,特權(quán)虛擬機(jī)domain0分別為兩個需要進(jìn)行通信的非特權(quán)虛擬機(jī)
domainlil與domainU2初始化并建立非特權(quán)虛擬機(jī)的身份信息,特權(quán)虛擬機(jī)是唯一
能夠與TPM直接交互的虛擬機(jī),TPM是初始狀態(tài)下唯一可信的通信實體,具體如下
①非特權(quán)虛擬機(jī)domainUl (或domainU2)向特權(quán)虛擬機(jī)doamin0發(fā)送初始化請求。請求消息被存儲在特權(quán)虛擬機(jī)domain0與非特權(quán)虛擬機(jī)doaminUl (或特權(quán)虛擬機(jī)doamin0與domainU2)的共享消息環(huán)中;
② 非特權(quán)虛擬機(jī)domainUl (或doaminU2)通知特權(quán)虛擬機(jī)doamin0接收請 求;
③ 特權(quán)虛擬機(jī)domain0接收請求。特權(quán)虛擬機(jī)從它與非特權(quán)虛擬機(jī)doaminUl
(或它與非特權(quán)虛擬機(jī)domainU2)的共享消息環(huán)中讀取請求消息;
④ 特權(quán)虛擬機(jī)domain0向TPM發(fā)送初始化請求;
⑤ TPM向特權(quán)虛擬機(jī)domain0返回非特權(quán)虛擬機(jī)domainUl (或domainU2)的 身份信息。特權(quán)虛擬機(jī)domain0向它與非特權(quán)虛擬機(jī)doaminUl (或
.domainU2)的共享數(shù)據(jù)區(qū)存儲初始化得到的非特權(quán)虛擬機(jī)doaminUl或 domainU2的身份信息;
⑥ 特權(quán)虛擬機(jī)domain0向非特權(quán)虛擬機(jī)doaminUl (或domainU2)發(fā)送接收 身份信息的請求。請求消息被存儲在特權(quán)虛擬機(jī)domain0與非特權(quán)虛擬機(jī) doaminUl (或特權(quán)虛擬機(jī)doamin0與domainU2)的共享消息環(huán)中;
⑦ 特權(quán)虛擬機(jī)domain0通知非特權(quán)虛擬機(jī)doaminUl或domainU2接收請求。
⑧ 非特權(quán)虛擬機(jī)doaminUl (或domainU2)接收請求。非特權(quán)虛擬機(jī)domainUl
(或domainU2)從它與特權(quán)虛擬機(jī)doamin0的共享消息環(huán)中讀取請求消 息;
⑨ 非特權(quán)虛擬機(jī)doaminUl或domainU2從它與特權(quán)虛擬機(jī)domain0的共享數(shù) 據(jù)區(qū)讀取身份信息。
步驟二,當(dāng)兩個非特權(quán)虛擬機(jī)domainUl與domainU2都各自成功建立了身份 信息時,非特權(quán)虛擬機(jī)domainUl與domainU2雙向之間互相鑒別身份,以確認(rèn)雙 方的身份信息是真實的并且符合進(jìn)行實質(zhì)通信的條件,具體步驟如下
① 非特權(quán)虛擬機(jī)domainUl向非特權(quán)虛擬機(jī)domainU2發(fā)送挑戰(zhàn)請求;
② 非特權(quán)虛擬機(jī)domainUl通知非特權(quán)虛擬機(jī)doaminU2接收請求;
③ 非特權(quán)虛擬機(jī)domainU2接收請求并應(yīng)答挑戰(zhàn);
非特權(quán)虛擬機(jī)domainU2向非特權(quán)虛擬機(jī)domainUl發(fā)送挑戰(zhàn)請求; ⑤非特權(quán)虛擬機(jī)domainU2通知非特權(quán)虛擬機(jī)doaminUl接收請求; 非特權(quán)虛擬機(jī)domainUl接收請求并應(yīng)答挑戰(zhàn);⑦非特權(quán)虛擬機(jī)doaminlll與非特權(quán)虛擬機(jī)domainU2建立實質(zhì)的通信。 步驟三,如果步驟二成功,兩個非特權(quán)虛擬機(jī)domainUl與domainU2之間則
根據(jù)保密通信協(xié)議進(jìn)行實質(zhì)的通信了,保密通信協(xié)議的策略是開放的,通信的內(nèi)
容可以加密也可以不加密;
步驟四,當(dāng)兩個非特權(quán)虛擬機(jī)domainUl與domainU2通信一段時間后,非特
權(quán)虛擬機(jī)的密鑰或證書過期時,特權(quán)虛擬機(jī)會強(qiáng)制更新其密鑰或證書,以確保兩
個非特權(quán)虛擬機(jī)在長時間的通信過程中仍然是安全的。
如圖1所示,本實施例還涉及一種基于TPM的虛擬機(jī)安全協(xié)議系統(tǒng),包括 TPM硬件模塊、TPM驅(qū)動程序、TPM軟件堆棧模塊(TSS)、虛擬機(jī)監(jiān)控器(Xen)、 一個特權(quán)虛擬機(jī)domainU0 (基于Linux系統(tǒng))、兩個非特權(quán)虛擬機(jī)domainUl、 domainU2 (基于Linux系統(tǒng))、三個安全協(xié)議模塊,其中
TPM硬件模塊是計算機(jī)系統(tǒng)的可信計算模塊,它是虛擬環(huán)境下安全可信的根 基,TPM硬件模塊接收由TPM軟件堆棧模塊發(fā)送的請求,并根據(jù)不同的請求把生成 的標(biāo)識符、公鑰、密鑰的句柄發(fā)送回TPM軟件堆棧模塊;
TPM驅(qū)動程序負(fù)責(zé)TPM硬件模塊與TPM軟件堆棧模塊之間的通信;
TPM軟件堆棧模塊為虛擬機(jī)提供了一系列的可調(diào)用的功能,包括生成標(biāo)識符、 公鑰、密鑰的句柄,TPM軟件堆棧模塊接收到虛擬機(jī)的請求后,根據(jù)不同的請求調(diào) 用一系列的函數(shù)來完成請求,這些被調(diào)用的函數(shù)負(fù)責(zé)調(diào)用TPM硬件模塊生成標(biāo)識 符、公鑰、密鑰的句柄;
虛擬機(jī)監(jiān)控器負(fù)責(zé)對所有特權(quán)虛擬機(jī)與非特權(quán)虛擬機(jī)進(jìn)行監(jiān)控,在虛擬機(jī)之 間分配計算機(jī)硬件資源,虛擬機(jī)監(jiān)控器設(shè)定只有唯一的特權(quán)虛擬機(jī)才擁有特權(quán);
特權(quán)虛擬機(jī)domainU0是虛擬機(jī)監(jiān)控器設(shè)定的唯一有特權(quán)能夠與TPM軟件堆棧
模塊直接通信的虛擬機(jī),同時,特權(quán)虛擬機(jī)能夠與其它非特權(quán)虛擬機(jī)通信;
兩個非特權(quán)虛擬機(jī)domainUl、 domainU2是虛擬機(jī)監(jiān)控器管理的其它虛擬機(jī), 非特權(quán)虛擬機(jī)是系統(tǒng)保證安全的對象,非特權(quán)虛擬機(jī)必須根據(jù)安全協(xié)議通過特權(quán) 虛擬機(jī)與其他非特權(quán)虛擬機(jī)間接通信;
三個安全協(xié)議模塊分別負(fù)責(zé)特權(quán)虛擬機(jī)與非特權(quán)虛擬機(jī)中實際的消息發(fā)送與 接收,在每個虛擬機(jī)中都部署有一個安全協(xié)議模塊,特權(quán)虛擬機(jī)的安全協(xié)議模塊同,即只有特權(quán)虛擬機(jī)的安全協(xié)議模塊具 有調(diào)用TPM軟件堆棧的功能。
如圖'2所示,所述非特權(quán)虛擬機(jī)domainUl、 domainU2,其與特權(quán)虛擬機(jī) domainU0均設(shè)有一個共享的消息環(huán),這個消息環(huán)供通信雙方虛擬機(jī)發(fā)送和接收請 求,發(fā)送請求時, 一方虛擬機(jī)先把消息放入消息環(huán),并通過事件通道通知對方, 另 一方虛擬機(jī)從消息環(huán)中把消息取出。
所述消息環(huán),是其所對應(yīng)的非特權(quán)虛擬機(jī)所獨(dú)占,其它的非特權(quán)虛擬機(jī)無法 直接利用它們通信。
所述非特權(quán)虛擬機(jī)domainUl 、 domainU2,其與特權(quán)虛擬機(jī)domainU0之間均 設(shè)有共享的數(shù)據(jù)區(qū),數(shù)據(jù)區(qū)供通信雙方虛擬機(jī)發(fā)送和接收數(shù)據(jù)。
所述數(shù)據(jù)區(qū),是其所對應(yīng)的非特權(quán)虛擬機(jī)獨(dú)占的,其它的非特權(quán)虛擬機(jī)無法 直接利用它們通信。
本實施例中共實現(xiàn)了四個安全協(xié)議,包括初始化協(xié)議、雙向鑒別協(xié)議、保密 通信協(xié)議、密碼或證書更新協(xié)議,安全協(xié)議規(guī)定了虛擬機(jī)與虛擬機(jī)之間,虛擬機(jī) 與TPM軟件堆棧模塊之間如何通信,從而,本實施例引入了完整的虛擬機(jī)安全協(xié) 議,從整個系統(tǒng)保證了虛擬機(jī)環(huán)境下所有虛擬機(jī)的通信安全,而改進(jìn)了傳統(tǒng)虛擬 機(jī)環(huán)境下每個虛擬機(jī)獨(dú)立保證自身安全的局限性。
權(quán)利要求
1、一種基于TPM的虛擬機(jī)安全協(xié)議方法,其特征在于,包括如下步驟步驟一,特權(quán)虛擬機(jī)分別為兩個需要進(jìn)行通信的非特權(quán)虛擬機(jī)初始化并建立非特權(quán)虛擬機(jī)的身份信息,特權(quán)虛擬機(jī)是唯一能夠與TPM直接交互的虛擬機(jī),TPM是初始狀態(tài)下唯一可信的通信實體;步驟二,兩個非特權(quán)虛擬機(jī)雙向之間互相鑒別身份,以確認(rèn)雙方的身份信息是真實的并且符合進(jìn)行實質(zhì)通信的條件;步驟三,如果步驟二成功,則兩個需要通信的非特權(quán)虛擬機(jī)之間進(jìn)行實質(zhì)的通信;步驟四,當(dāng)非特權(quán)虛擬機(jī)的密鑰或證書過期時,特權(quán)虛擬機(jī)強(qiáng)制更新其密鑰或證書,以確保兩個非特權(quán)虛擬機(jī)在長時間的通信過程中仍然是安全的。
2、 根據(jù)權(quán)利要求1所述的基于TPM的虛擬機(jī)安全協(xié)議方法,其特征是,所述 初始化并建立非特權(quán)虛擬機(jī)的身份信息,包括如下具體步驟第一步,需要進(jìn)行通信的某非特權(quán)虛擬機(jī)向特權(quán)虛擬機(jī)發(fā)送初始化請求,并 將請求消息存儲在特權(quán)虛擬機(jī)與非特權(quán)虛擬機(jī)之間的共享消息環(huán)中;第二步,非特權(quán)虛擬機(jī)通知特權(quán)虛擬機(jī)接收請求消息,特權(quán)虛擬機(jī)接收請求, 特權(quán)虛擬機(jī)從它與非特權(quán)虛擬機(jī)之間的共享環(huán)中讀取請求消息,并將初始化請求 發(fā)送給TPM;第三步,TPM向特權(quán)虛擬機(jī)返回非特權(quán)虛擬機(jī)的身份信息,特權(quán)虛擬機(jī)向它與 非特權(quán)虛擬機(jī)的共享數(shù)據(jù)區(qū)存儲初始化得到的非特權(quán)虛擬機(jī)的身份信息,身份信 息包括發(fā)送請求者的公鑰、私鑰、標(biāo)識符以及簽名;第四步,特權(quán)虛擬機(jī)向非特權(quán)虛擬機(jī)發(fā)送接收身份信息的請求,將請求消息 被存儲在特權(quán)虛擬機(jī)與非特權(quán)虛擬機(jī)的共享消息環(huán)中,并通知非特權(quán)虛擬機(jī)接收 請求;第五步,非特權(quán)虛擬機(jī)從它與特權(quán)虛擬機(jī)的共享環(huán)中讀取請求消息,并從它 與特權(quán)虛擬機(jī)的共享數(shù)據(jù)區(qū)讀取身份信息。
3、 根據(jù)權(quán)利要求1所述的基于TPM的虛擬機(jī)安全協(xié)議方法,其特征是,所述 雙向之間互相鑒別身份,以確認(rèn)雙方的身份信息是真實的并且符合進(jìn)行實質(zhì)通信的條件,其鑒別的方式為挑戰(zhàn)應(yīng)答,包括如下具體步驟第一步,非特權(quán)虛擬機(jī)向另一個非特權(quán)虛擬機(jī)發(fā)送挑戰(zhàn)請求,并通知該非特權(quán)虛擬機(jī)接收請求;第二步,如果該非特權(quán)虛擬機(jī)接收請求并應(yīng)答挑,則向原發(fā)送挑戰(zhàn)請求的非 特權(quán)虛擬機(jī)回發(fā)挑戰(zhàn)請求,并通知原非特權(quán)虛擬機(jī)接收請求,進(jìn)入第三步;如果 該非特權(quán)虛擬機(jī)未能應(yīng)答挑戰(zhàn)或錯誤應(yīng)答挑戰(zhàn)則通信立即終止;第三步,如果原非特權(quán)虛擬機(jī)接收請求并應(yīng)答挑戰(zhàn),兩個非特權(quán)虛擬機(jī)之間 建立實質(zhì)的通信;如果原非特權(quán)虛擬未能應(yīng)答挑戰(zhàn)或錯誤應(yīng)答挑戰(zhàn)則通信立即終 止。
4、 根據(jù)權(quán)利要求1所述的基于TPM的虛擬機(jī)安全協(xié)議方法,其特征是,所述 實質(zhì)通信,其通信中的內(nèi)容為加密或簽名形式,加密通信時加密策略是開放的。
5、 一種基于TPM的虛擬機(jī)安全協(xié)議系統(tǒng),其特征在于,包括TPM硬件模塊、 TPM驅(qū)動程序、TPM軟件堆棧模塊、虛擬機(jī)監(jiān)控器、特權(quán)虛擬機(jī)、若干非特權(quán)虛擬 機(jī)、安全協(xié)議模塊,其中TPM硬件模塊是計算機(jī)系統(tǒng)的可信計算模塊,它是虛擬環(huán)境下安全可信的基 礎(chǔ),TPM硬件模塊接收由TPM軟件堆棧模塊發(fā)送的請求,并根據(jù)不同的請求把生成 的標(biāo)識符、公鑰、密鑰的句柄發(fā)送回TPM軟件堆棧模塊;TPM驅(qū)動程序負(fù)責(zé)TPM硬件模塊與TPM軟件堆棧模塊之間的通信;TPM軟件堆棧模塊為虛擬機(jī)提供了一系列的可調(diào)用的功能,包括生成標(biāo)識符、 公鑰、密鑰的句柄,TPM軟件堆棧模塊接收到虛擬機(jī)的請求后,根據(jù)不同的請求調(diào) 用一系列的函數(shù)來完成請求,這些被調(diào)用的函數(shù)負(fù)責(zé)調(diào)用TPM硬件模塊生成標(biāo)識 符、公鑰、密鑰的句柄;虛擬機(jī)監(jiān)控器負(fù)責(zé)對所有特權(quán)虛擬機(jī)與非特權(quán)虛擬機(jī)進(jìn)行監(jiān)控,在虛擬機(jī)之 間分配計算機(jī)硬件資源,虛擬機(jī)監(jiān)控器設(shè)定只有唯一的特權(quán)虛擬機(jī)才擁有特權(quán);特權(quán)虛擬機(jī)是虛擬機(jī)監(jiān)控器設(shè)定的唯一有特權(quán)能夠與TPM軟件堆棧模塊直接 通信的虛擬機(jī),同時,特權(quán)虛擬機(jī)能夠與其它非特權(quán)虛擬機(jī)通信;非特權(quán)虛擬機(jī)是虛擬機(jī)監(jiān)控器管理的其它虛擬機(jī),非特權(quán)虛擬機(jī)是系統(tǒng)保證 安全的對象,非特權(quán)虛擬機(jī)必須根據(jù)安全協(xié)議通過特權(quán)虛擬機(jī)與其他非特權(quán)虛擬 機(jī)間接通信;安全協(xié)議模塊負(fù)責(zé)特權(quán)虛擬機(jī)與非特權(quán)虛擬機(jī)中實際的消息發(fā)送與接收,在 每個虛擬機(jī)中都部署有一個安全協(xié)議模塊,特權(quán)虛擬機(jī)的安全協(xié)議模塊與非特權(quán) 虛擬機(jī)的安全特權(quán)模塊有所不同,即只有特權(quán)虛擬機(jī)的安全協(xié)議模塊具有調(diào)用TPM 軟件堆棧模塊的功能。
6、 根據(jù)權(quán)利要求5所述的基于TPM的虛擬機(jī)安全協(xié)議系統(tǒng),其特征是,所述非特權(quán)虛擬機(jī),其與特權(quán)虛擬機(jī)均設(shè)有一個共享的消息環(huán),這個消息環(huán)供通信雙 方虛擬機(jī)發(fā)送和接收請求,發(fā)送請求時, 一方虛擬機(jī)先把消息放入消息環(huán),并通 過事件通道通知對方,另一方虛擬機(jī)從消息環(huán)中把消息取出。
7、 根據(jù)權(quán)利要求6所述的基于TPM的虛擬機(jī)安全協(xié)議系統(tǒng),其特征是,所述 消息環(huán),是其所對應(yīng)的非特權(quán)虛擬機(jī)所獨(dú)占,其它的非特權(quán)虛擬機(jī)無法直接利用 它們通信。
8、 根據(jù)權(quán)利要求5所述的基于TPM的虛擬機(jī)安全協(xié)議系統(tǒng),其特征是,所述 非特權(quán)虛擬機(jī),其與特權(quán)虛擬機(jī)之間設(shè)有共享的數(shù)據(jù)區(qū),數(shù)據(jù)區(qū)供通信雙方虛擬 機(jī)發(fā)送和接收數(shù)據(jù)。
9、 根據(jù)權(quán)利要求8所述的基于TPM的虛擬機(jī)安全協(xié)議系統(tǒng),其特征是,所述 數(shù)據(jù)區(qū),是其所對應(yīng)的非特權(quán)虛擬機(jī)獨(dú)占的,其它的非特權(quán)虛擬機(jī)無法直接利用 它們通信。
全文摘要
一種計算機(jī)應(yīng)用技術(shù)領(lǐng)域的基于TPM的虛擬機(jī)安全協(xié)議方法及系統(tǒng),本發(fā)明方法中,首先通過虛擬機(jī)環(huán)境下的身份認(rèn)證,來保證通信者身份的真實性;其次保證虛擬機(jī)環(huán)境下通信者之間的通信內(nèi)容是加密的,防止傳輸路徑上的其它結(jié)點(diǎn)得到通信的內(nèi)容;最后為保證虛擬機(jī)內(nèi)的安全性的正確性和可靠性,將安全問題歸結(jié)到TPM模塊上。本發(fā)明系統(tǒng)包括TPM硬件模塊、TPM驅(qū)動程序、TPM軟件堆棧模塊、虛擬機(jī)監(jiān)控器、特權(quán)虛擬機(jī)、若干非特權(quán)虛擬機(jī)、安全協(xié)議模塊。本發(fā)明中安全性易于保證,使整個虛擬機(jī)環(huán)境下的通信安全易于得到保證。
文檔編號G06F9/455GK101425027SQ20081020300
公開日2009年5月6日 申請日期2008年11月20日 優(yōu)先權(quán)日2008年11月20日
發(fā)明者喆 方, 李明祿, 翁楚良, 源 駱 申請人:上海交通大學(xué)