專(zhuān)利名稱(chēng):一種可信虛擬機(jī)平臺(tái)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種虛擬機(jī)平臺(tái),特別是一種可信虛擬機(jī)平臺(tái)。
背景技術(shù):
當(dāng)前的虛擬機(jī)平臺(tái)包括普通硬件平臺(tái)、虛擬機(jī)監(jiān)視器、一個(gè)特權(quán)虛擬機(jī)(或宿主 操作系統(tǒng))和若干非特權(quán)虛擬機(jī)。但是當(dāng)前的虛擬機(jī)平臺(tái)多專(zhuān)注于功能而在安全性方面考 慮較少,給上層的應(yīng)用帶來(lái)很大的安全隱患。第一,當(dāng)前虛擬機(jī)平臺(tái)基于普通硬件平臺(tái)實(shí) 現(xiàn),缺乏硬件級(jí)的安全防護(hù),物理根不可信,無(wú)法保證虛擬域的可信。第二,當(dāng)前虛擬機(jī)平臺(tái) 大都未采取安全防護(hù)措施,有的雖然做了安全上的考慮,但是一切安全手段都是基于軟件 實(shí)現(xiàn),保護(hù)能力有限。第三,整個(gè)虛擬機(jī)平臺(tái)的安全過(guò)多的依賴(lài)于虛擬機(jī)監(jiān)視器和特權(quán)虛擬 機(jī)的安全,而針對(duì)虛擬機(jī)監(jiān)視器和特權(quán)虛擬機(jī)的安全機(jī)制明顯不足。第四,缺乏虛擬機(jī)監(jiān)視 器級(jí)的身份認(rèn)證和權(quán)限控制,特權(quán)虛擬機(jī)的特權(quán)過(guò)于集中。第五,虛擬機(jī)之間的通信缺乏有 效的管控,一個(gè)虛擬機(jī)被攻擊也可能影響至其他虛擬機(jī)。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種可信虛擬機(jī)平臺(tái),解決當(dāng)前虛擬機(jī)平臺(tái)安全機(jī)制不足 和虛擬域間通信缺乏有效管控的問(wèn)題。一種可信虛擬機(jī)平臺(tái),包括硬盤(pán)、USBKey和非特權(quán)虛擬機(jī),還包括可信硬件、安 全增強(qiáng)虛擬機(jī)監(jiān)視器、管理虛擬機(jī)、通信虛擬機(jī)和驅(qū)動(dòng)虛擬機(jī);其中,可信硬件包括可信 主板、可信密碼模塊和可信BIOS ;安全增強(qiáng)虛擬機(jī)監(jiān)視器包括身份認(rèn)證模塊、權(quán)限控制模 塊、通信控制模塊和虛擬機(jī)完整性度量模塊;管理虛擬機(jī)包括非特權(quán)虛擬機(jī)管理模塊、實(shí) 時(shí)加解密模塊和完整性度量模塊;驅(qū)動(dòng)虛擬機(jī)包括硬件驅(qū)動(dòng)模塊和虛擬可信密碼管理模 塊;通信虛擬機(jī)包括通信管理模塊、雙向認(rèn)證模塊和數(shù)據(jù)包過(guò)濾模塊;非特權(quán)虛擬機(jī)包括 通信客戶(hù)端模塊和虛擬可信密碼模塊。管理虛擬機(jī)、驅(qū)動(dòng)虛擬機(jī)和通信虛擬機(jī)均為特權(quán)虛 擬機(jī),管理虛擬機(jī)負(fù)責(zé)創(chuàng)建、管理、銷(xiāo)毀和遷移其他虛擬機(jī);驅(qū)動(dòng)虛擬機(jī)負(fù)責(zé)提供虛擬機(jī)運(yùn) 行所需的驅(qū)動(dòng)和虛擬可信密碼模塊的管理;通信虛擬機(jī)負(fù)責(zé)內(nèi)部虛擬機(jī)以及虛擬機(jī)平臺(tái)之 間的通信。安全增強(qiáng)虛擬機(jī)監(jiān)視器分別與可信硬件、管理虛擬機(jī)、通信虛擬機(jī)、驅(qū)動(dòng)虛擬機(jī)雙 向連接,可信硬件中的可信主板分別與可信密碼模塊、可信BIOS、USBKey和硬盤(pán)雙向連接, 管理虛擬機(jī)與非特權(quán)虛擬機(jī)雙向連接,管理虛擬機(jī)還可與多個(gè)非特權(quán)虛擬機(jī)雙向連接;安 全增強(qiáng)虛擬機(jī)監(jiān)視器中,身份認(rèn)證模塊、權(quán)限控制模塊、通信控制模塊和虛擬機(jī)完整性度量 模塊順次串聯(lián);管理虛擬機(jī)中,非特權(quán)虛擬機(jī)管理模塊、實(shí)時(shí)加解密模塊和完整性度量模塊 順次串聯(lián);通信虛擬機(jī)中,通信管理模塊、雙向認(rèn)證模塊和數(shù)據(jù)包過(guò)濾模塊順次串聯(lián);驅(qū)動(dòng) 虛擬機(jī)中,硬件驅(qū)動(dòng)模塊與虛擬可信密碼管理模塊連接;非特權(quán)虛擬機(jī)中,通信客戶(hù)端模塊 與虛擬可信密碼模塊連接。計(jì)算機(jī)加電,可信硬件中的可信密碼模塊作為信任根首先啟動(dòng),并對(duì)可信BIOS進(jìn)行完整性度量,如果度量失敗將可信BIOS進(jìn)行恢復(fù)并重新進(jìn)行度量??尚臖IOS度量成功 后,系統(tǒng)加載BIOS正常啟動(dòng)??尚臖IOS首先對(duì)安全增強(qiáng)虛擬機(jī)監(jiān)視器進(jìn)行度量,度量通過(guò) 后將控制權(quán)交給安全增強(qiáng)虛擬機(jī)監(jiān)視器。安全增強(qiáng)虛擬機(jī)監(jiān)視器首先調(diào)用身份認(rèn)證模塊 對(duì)當(dāng)前用戶(hù)基于USBKey進(jìn)行身份認(rèn)證,識(shí)別用戶(hù)權(quán)限,然后調(diào)用權(quán)限控制模塊進(jìn)行權(quán)限控 制,通信控制模塊根據(jù)權(quán)限進(jìn)行通信控制,最后調(diào)用虛擬機(jī)完整性度量模塊,分別對(duì)管理虛 擬機(jī)、驅(qū)動(dòng)虛擬機(jī)和通信虛擬機(jī)進(jìn)行度量,如果度量成功則啟動(dòng)管理虛擬機(jī)、驅(qū)動(dòng)虛擬機(jī)和 通信虛擬機(jī)。當(dāng)非特權(quán)虛擬機(jī)啟動(dòng)時(shí),管理虛擬機(jī)中的完整性度量模塊對(duì)非特權(quán)虛擬機(jī)進(jìn) 行度量,如果度量成功則啟動(dòng)非特權(quán)虛擬機(jī)。至此,可信虛擬機(jī)平臺(tái)實(shí)現(xiàn)了可信啟動(dòng)。在可信虛擬機(jī)平臺(tái)啟動(dòng)之后,管理虛擬機(jī)、驅(qū)動(dòng)虛擬機(jī)、通信虛擬機(jī)和非特權(quán)虛擬 機(jī)對(duì)硬件資源的訪問(wèn)通過(guò)驅(qū)動(dòng)虛擬機(jī)的硬件驅(qū)動(dòng)模塊來(lái)實(shí)現(xiàn)。當(dāng)驅(qū)動(dòng)虛擬機(jī)的硬件驅(qū)動(dòng)模 塊出現(xiàn)異常時(shí),進(jìn)行自動(dòng)重啟,不會(huì)影響到其他未訪問(wèn)該硬件設(shè)備的非特權(quán)虛擬機(jī)的正常 運(yùn)行。驅(qū)動(dòng)虛擬機(jī)中的虛擬可信密碼管理模塊,負(fù)責(zé)對(duì)各非特權(quán)虛擬機(jī)中的虛擬可信密碼 模塊的管理,實(shí)現(xiàn)多個(gè)非特權(quán)虛擬機(jī)共享一個(gè)真實(shí)的物理可信密碼模塊,將基于物理信任 根的信任鏈在虛擬域進(jìn)行傳遞,保證虛擬環(huán)境的可信。管理虛擬機(jī)對(duì)非特權(quán)虛擬機(jī)進(jìn)行管理時(shí),首先需識(shí)別當(dāng)前的權(quán)限,用戶(hù)權(quán)限下只 能進(jìn)行開(kāi)啟或關(guān)閉非特權(quán)虛擬機(jī)的操作,直接拒絕創(chuàng)建、銷(xiāo)毀或遷移非特權(quán)虛擬機(jī)的請(qǐng)求; 管理員權(quán)限下創(chuàng)建、管理、銷(xiāo)毀和遷移非特權(quán)虛擬機(jī)。當(dāng)前的權(quán)限為管理員權(quán)限時(shí),管理虛 擬機(jī)接到創(chuàng)建、銷(xiāo)毀和遷移非特權(quán)虛擬機(jī)的命令后,首先調(diào)用完整性度量模塊對(duì)安全增強(qiáng) 虛擬機(jī)監(jiān)視器進(jìn)行度量,度量成功后,管理虛擬機(jī)向安全增強(qiáng)虛擬機(jī)監(jiān)視器發(fā)送創(chuàng)建、銷(xiāo)毀 或遷移的請(qǐng)求。安全增強(qiáng)虛擬機(jī)監(jiān)視器在接到上述請(qǐng)求后,調(diào)用虛擬機(jī)完整性度量模塊對(duì) 管理虛擬機(jī)進(jìn)行度量,度量成功后執(zhí)行上述請(qǐng)求。在度量的過(guò)程中,任何一方的度量失敗都 表明虛擬機(jī)平臺(tái)已經(jīng)被篡改,不再可信,拒絕執(zhí)行命令請(qǐng)求,可信虛擬機(jī)平臺(tái)主動(dòng)關(guān)閉。在 管理虛擬機(jī)工作的過(guò)程中,非特權(quán)虛擬機(jī)管理模塊調(diào)用實(shí)時(shí)加解密模塊,對(duì)非特權(quán)虛擬機(jī) 的鏡像文件和關(guān)鍵數(shù)據(jù)進(jìn)行透明加解密,保證了鏡像文件始終以密文存儲(chǔ),增強(qiáng)了安全性。各虛擬機(jī)之間的通信由安全增強(qiáng)虛擬機(jī)監(jiān)視器中的通信控制模塊和通信虛擬機(jī) 共同來(lái)控制完成。通信控制模塊負(fù)責(zé)管理虛擬機(jī)、驅(qū)動(dòng)虛擬機(jī)和通信虛擬機(jī)之間的通信,并 嚴(yán)格控制非特權(quán)虛擬機(jī)之間的通信,用戶(hù)權(quán)限下非特權(quán)虛擬機(jī)之間無(wú)法進(jìn)行通信,管理員 權(quán)限下通過(guò)通信虛擬機(jī)實(shí)現(xiàn)非特權(quán)虛擬機(jī)之間的通信。管理員權(quán)限下,非特權(quán)虛擬機(jī)中的 任意兩個(gè)需要通信時(shí),假設(shè)通信雙方為A方和B方,A方首先調(diào)用其中的通信客戶(hù)端模塊向 通信虛擬機(jī)發(fā)送與B方進(jìn)行通信的請(qǐng)求,通信虛擬機(jī)中的通信管理模塊接到通信請(qǐng)求后, 調(diào)用雙向認(rèn)證模塊對(duì)通信虛擬機(jī)和A方進(jìn)行雙向認(rèn)證,認(rèn)證成功之后,雙向認(rèn)證模塊對(duì)通 信虛擬機(jī)和B方進(jìn)行雙向認(rèn)證,并將認(rèn)證結(jié)果返回給A方,通信虛擬機(jī)、A方和B方都可信 的情況下,A方發(fā)送通信內(nèi)容到通信虛擬機(jī),通信虛擬機(jī)中的數(shù)據(jù)包過(guò)濾模塊對(duì)數(shù)據(jù)包進(jìn)行 檢測(cè),檢測(cè)通過(guò)后將通信內(nèi)容發(fā)送給B方,B方接收完通信內(nèi)容后,返回成功,至此成功完成 A方和B方的通信。在認(rèn)證的過(guò)程中,如果認(rèn)證失敗,表明認(rèn)證失敗方不再可信,立刻停止通 信,并且認(rèn)證失敗方自動(dòng)重啟。本發(fā)明以可信硬件為信任根,保證虛擬平臺(tái)的可信啟動(dòng);通過(guò)虛擬可信密碼模塊 管理模塊將基于硬件信任根的信任鏈在虛擬域安全傳遞,保證虛擬環(huán)境的可信;將特權(quán)虛 擬機(jī)的特權(quán)進(jìn)行分離,提高整個(gè)虛擬化平臺(tái)的穩(wěn)定性和抗攻擊性;關(guān)鍵數(shù)據(jù)和鏡像文件都以密文存儲(chǔ);創(chuàng)建、銷(xiāo)毀和遷移虛擬機(jī),在管理員權(quán)限下進(jìn)行,虛擬機(jī)監(jiān)視器和管理虛擬機(jī) 進(jìn)行雙向認(rèn)證,提高虛擬機(jī)平臺(tái)的安全性;虛擬機(jī)之間的通信借助于通信虛擬機(jī)進(jìn)行,通信 之前進(jìn)行雙向認(rèn)證,并對(duì)通信內(nèi)容進(jìn)行監(jiān)控,防止信息泄露和惡意代碼傳遞。
圖1 一種可信虛擬機(jī)平臺(tái)的結(jié)構(gòu)示意圖。1.可信硬件2.安全增強(qiáng)虛擬機(jī)監(jiān)視器3.管理虛擬機(jī)4.通信虛擬機(jī)5.驅(qū)動(dòng) 虛擬機(jī)6.非特權(quán)虛擬機(jī)7.可信密碼模塊8.可信主板9.可信BIOS 10. USBKey 11.硬 盤(pán)12.身份認(rèn)證模塊13.權(quán)限控制模塊14.通信控制模塊15.虛擬機(jī)完整性度量模塊 16.非特權(quán)虛擬機(jī)管理模塊17.實(shí)時(shí)加解密模塊18.完整性度量模塊19.通信管理模 塊20.雙向認(rèn)證模塊21.數(shù)據(jù)包過(guò)濾模塊22.硬件驅(qū)動(dòng)模塊23.虛擬可信密碼管理模塊 24.通信客戶(hù)端模塊25.虛擬可信密碼模塊
具體實(shí)施例方式一種可信虛擬機(jī)平臺(tái),包括硬盤(pán)ll、USBKeylO和非特權(quán)虛擬機(jī)6,還包括可信硬 件1、安全增強(qiáng)虛擬機(jī)監(jiān)視器2、管理虛擬機(jī)3、通信虛擬機(jī)4和驅(qū)動(dòng)虛擬機(jī)5 ;其中,可信硬 件1包括可信主板8、可信密碼模塊7和可信BIOS 9 ;安全增強(qiáng)虛擬機(jī)監(jiān)視器2包括身 份認(rèn)證模塊12、權(quán)限控制模塊13、通信控制模塊14和虛擬域完整性度量模塊15 ;管理虛擬 機(jī)3包括非特權(quán)虛擬機(jī)管理模塊16、實(shí)時(shí)加解密模塊17和完整性度量模塊18 ;驅(qū)動(dòng)虛擬 機(jī)5包括硬件驅(qū)動(dòng)模塊22和虛擬可信密碼管理模塊23 ;通信虛擬機(jī)4包括通信管理模 塊19、雙向認(rèn)證模塊20和數(shù)據(jù)包過(guò)濾模塊21 ;每個(gè)非特權(quán)虛擬機(jī)6包括通信客戶(hù)端模塊24 和虛擬可信密碼模塊25。管理虛擬機(jī)3、驅(qū)動(dòng)虛擬機(jī)5和通信虛擬機(jī)4均為特權(quán)虛擬機(jī),管 理虛擬機(jī)3負(fù)責(zé)創(chuàng)建、管理、銷(xiāo)毀和遷移其他虛擬機(jī);驅(qū)動(dòng)虛擬機(jī)5負(fù)責(zé)提供虛擬機(jī)運(yùn)行所 需的驅(qū)動(dòng)和虛擬可信密碼模塊的管理;通信虛擬機(jī)4負(fù)責(zé)內(nèi)部虛擬機(jī)以及虛擬機(jī)平臺(tái)之間 的通信。安全增強(qiáng)虛擬機(jī)監(jiān)視器2分別與可信硬件1、管理虛擬機(jī)3、通信虛擬機(jī)4、驅(qū)動(dòng)虛 擬機(jī)5雙向連接,可信硬件1中的可信主板8分別與可信密碼模塊7、可信BIOS 9、USBKey 10、硬盤(pán)11雙向連接,管理虛擬機(jī)3與非特權(quán)虛擬機(jī)6雙向連接,管理虛擬機(jī)還可與多個(gè)非 特權(quán)虛擬機(jī)雙向連接;安全增強(qiáng)虛擬機(jī)監(jiān)視器2中,身份認(rèn)證模塊12、權(quán)限控制模塊13、通 信控制模塊14、虛擬機(jī)完整性度量模塊15順次串聯(lián);管理虛擬機(jī)3中,非特權(quán)虛擬機(jī)管理 模塊16、實(shí)時(shí)加解密模塊17和完整性度量模塊18順次串聯(lián);通信虛擬機(jī)中4的通信管理 模塊19、雙向認(rèn)證模塊20與數(shù)據(jù)包過(guò)濾模塊21順次串聯(lián);驅(qū)動(dòng)虛擬機(jī)5中的硬件驅(qū)動(dòng)模 塊22和虛擬可信密碼管理模塊23連接;非特權(quán)虛擬機(jī)6中通信客戶(hù)端模塊24和虛擬可信 密碼模塊25連接。計(jì)算機(jī)加電,可信硬件1中的可信密碼模塊7作為信任根首先啟動(dòng),并對(duì)可信BIOS 9進(jìn)行完整性度量,如果度量失敗將可信BIOS 9進(jìn)行恢復(fù)并重新進(jìn)行度量??尚臖IOS 9度 量成功后,系統(tǒng)加載可信BIOS 9正常啟動(dòng)??尚臖IOS 9首先對(duì)安全增強(qiáng)虛擬機(jī)監(jiān)視器2 進(jìn)行度量,度量通過(guò)后將控制權(quán)交給安全增強(qiáng)虛擬機(jī)監(jiān)視器2。安全增強(qiáng)虛擬機(jī)監(jiān)視器2首 先調(diào)用身份認(rèn)證模塊12對(duì)當(dāng)前用戶(hù)基于USBKey 11進(jìn)行身份認(rèn)證,識(shí)別用戶(hù)權(quán)限,然后調(diào)用權(quán)限控制模塊13進(jìn)行權(quán)限控制,通信控制模塊14根據(jù)權(quán)限進(jìn)行通信控制,最后調(diào)用虛擬 機(jī)完整性度量模塊15,分別對(duì)管理虛擬機(jī)3、驅(qū)動(dòng)虛擬機(jī)4和通信虛擬機(jī)5進(jìn)行度量,如果 度量成功則啟動(dòng)管理虛擬機(jī)3、驅(qū)動(dòng)虛擬機(jī)4和通信虛擬機(jī)5。當(dāng)非特權(quán)虛擬機(jī)6啟動(dòng)時(shí), 管理虛擬機(jī)3中的完整性度量模塊18對(duì)非特權(quán)虛擬機(jī)6進(jìn)行度量,如果度量成功則啟動(dòng)非 特權(quán)虛擬機(jī)6。至此,可信虛擬機(jī)平臺(tái)實(shí)現(xiàn)了可信啟動(dòng)。在可信虛擬機(jī)平臺(tái)啟動(dòng)之后,管理虛擬機(jī)3、驅(qū)動(dòng)虛擬機(jī)4、通信虛擬機(jī)5和非特權(quán) 虛擬機(jī)6對(duì)硬件資源的訪問(wèn)通過(guò)驅(qū)動(dòng)虛擬機(jī)5的硬件驅(qū)動(dòng)模塊22實(shí)現(xiàn)。當(dāng)驅(qū)動(dòng)虛擬機(jī)5 的硬件驅(qū)動(dòng)模塊22出現(xiàn)異常時(shí),進(jìn)行自動(dòng)重啟,不會(huì)影響到其他未訪問(wèn)該硬件設(shè)備的非特 權(quán)虛擬機(jī)6的正常運(yùn)行。驅(qū)動(dòng)虛擬機(jī)5中的虛擬可信密碼管理模塊23,負(fù)責(zé)對(duì)各非特權(quán)虛 擬機(jī)6中的虛擬可信密碼模塊25的管理,實(shí)現(xiàn)多個(gè)非特權(quán)虛擬機(jī)6共享一個(gè)真實(shí)的物理可 信密碼模塊7,將基于物理信任根的信任鏈在虛擬域進(jìn)行傳遞,保證虛擬環(huán)境的可信。管理虛擬機(jī)3對(duì)非特權(quán)虛擬機(jī)6進(jìn)行管理時(shí),首先需識(shí)別當(dāng)前的權(quán)限,用戶(hù)權(quán)限下 只能進(jìn)行開(kāi)啟和關(guān)閉對(duì)非特權(quán)虛擬機(jī)6的操作,直接拒絕創(chuàng)建、銷(xiāo)毀或遷移非特權(quán)虛擬機(jī)6 的請(qǐng)求;管理員權(quán)限下創(chuàng)建、管理、銷(xiāo)毀和遷移非特權(quán)虛擬機(jī)6。當(dāng)前的權(quán)限為管理員權(quán)限 時(shí),管理虛擬機(jī)3在接到創(chuàng)建、銷(xiāo)毀和遷移非特權(quán)虛擬機(jī)的命令后,首先調(diào)用完整性度量模 塊18對(duì)安全增強(qiáng)虛擬機(jī)監(jiān)視器2進(jìn)行度量,度量成功后,管理虛擬機(jī)3向安全增強(qiáng)虛擬機(jī) 監(jiān)視器2發(fā)送創(chuàng)建、銷(xiāo)毀或遷移的請(qǐng)求。安全增強(qiáng)虛擬機(jī)監(jiān)視器2在接到上述請(qǐng)求后,調(diào)用 虛擬機(jī)完整性度量模塊15對(duì)管理虛擬機(jī)3進(jìn)行度量,度量成功后執(zhí)行上述請(qǐng)求。在度量 的過(guò)程中,任何一方的度量失敗都表明虛擬機(jī)平臺(tái)已經(jīng)被篡改,不再可信,拒絕執(zhí)行命令請(qǐng) 求,可信虛擬機(jī)平臺(tái)主動(dòng)關(guān)閉。在管理虛擬機(jī)3工作的過(guò)程中,非特權(quán)虛擬機(jī)管理模塊16 調(diào)用實(shí)時(shí)加解密模塊17,對(duì)非特權(quán)虛擬機(jī)6的鏡像文件和關(guān)鍵數(shù)據(jù)進(jìn)行透明加解密,保證 了鏡像文件和關(guān)鍵數(shù)據(jù)始終以密文存儲(chǔ),增強(qiáng)了安全性。各虛擬機(jī)之間的通信由安全增強(qiáng)虛擬機(jī)監(jiān)視器2中的通信控制模塊14和通信虛 擬機(jī)4共同來(lái)控制完成。通信控制模塊14負(fù)責(zé)管理虛擬機(jī)3、驅(qū)動(dòng)虛擬機(jī)5和通信虛擬機(jī) 4之間的通信,并嚴(yán)格控制非特權(quán)虛擬機(jī)6之間的通信,用戶(hù)權(quán)限下非特權(quán)虛擬機(jī)6之間無(wú) 法進(jìn)行通信,管理員權(quán)限下可以通過(guò)通信虛擬機(jī)4實(shí)現(xiàn)非特權(quán)虛擬機(jī)6之間的通信。管理 員權(quán)限下,非特權(quán)虛擬機(jī)6中的任意兩個(gè)需要通信時(shí),假設(shè)通信雙方為A方和B方,A方首先 調(diào)用其中的通信客戶(hù)端模塊24向通信虛擬機(jī)4發(fā)送與B方進(jìn)行通信的請(qǐng)求,通信虛擬機(jī)4 中的通信管理模塊19接到通信請(qǐng)求后,調(diào)用雙向認(rèn)證模塊20對(duì)通信虛擬機(jī)4和A方進(jìn)行 雙向認(rèn)證,認(rèn)證成功之后,雙向認(rèn)證模塊20對(duì)通信虛擬機(jī)4和B方進(jìn)行雙向認(rèn)證,并將認(rèn)證 結(jié)果返回給A方,通信虛擬機(jī)4、A方和B方都可信的情況下,A方發(fā)送通信內(nèi)容到通信虛擬 機(jī)4,通信虛擬機(jī)4中的數(shù)據(jù)包過(guò)濾模塊21對(duì)數(shù)據(jù)包進(jìn)行檢測(cè),檢測(cè)通過(guò)后將通信內(nèi)容發(fā)送 給B方,B方接收完通信內(nèi)容后,返回成功,至此成功完成A方和B方的通信。在認(rèn)證的過(guò) 程中,如果認(rèn)證失敗,表明認(rèn)證失敗方不再可信,立刻停止通信,并且認(rèn)證失敗方自動(dòng)重啟。
權(quán)利要求
一種可信虛擬機(jī)平臺(tái),包括硬盤(pán)(11)、USBKey(10)和非特權(quán)虛擬機(jī)(6),其特征在于還包括可信硬件(1)、安全增強(qiáng)虛擬機(jī)監(jiān)視器(2)、管理虛擬機(jī)(3)、通信虛擬機(jī)(4)和驅(qū)動(dòng)虛擬機(jī)(5);其中,可信硬件(1)包括可信主板(8)、可信密碼模塊(7)和可信BIOS(9);安全增強(qiáng)虛擬機(jī)監(jiān)視器(2)包括身份認(rèn)證模塊(12)、權(quán)限控制模塊(13)、通信控制模塊(14)和虛擬域完整性度量模塊(15);管理虛擬機(jī)(3)包括非特權(quán)虛擬機(jī)管理模塊(16)、實(shí)時(shí)加解密模塊(17)和完整性度量模塊(18);驅(qū)動(dòng)虛擬機(jī)(5)包括硬件驅(qū)動(dòng)模塊(22)和虛擬可信密碼管理模塊(23);通信虛擬機(jī)(4)包括通信管理模塊(19)、雙向認(rèn)證模塊(20)和數(shù)據(jù)包過(guò)濾模塊(21);非特權(quán)虛擬機(jī)(6)包括通信客戶(hù)端模塊(24)和虛擬可信密碼模塊(25);管理虛擬機(jī)(3)、驅(qū)動(dòng)虛擬機(jī)(5)和通信虛擬機(jī)(4)均為特權(quán)虛擬機(jī),管理虛擬機(jī)(3)負(fù)責(zé)創(chuàng)建、管理、銷(xiāo)毀和遷移其他虛擬機(jī);驅(qū)動(dòng)虛擬機(jī)(5)負(fù)責(zé)提供虛擬機(jī)運(yùn)行所需的驅(qū)動(dòng)和虛擬可信密碼模塊的管理;通信虛擬機(jī)(4)負(fù)責(zé)內(nèi)部虛擬機(jī)以及虛擬機(jī)平臺(tái)之間的通信;安全增強(qiáng)虛擬機(jī)監(jiān)視器(2)分別與可信硬件(1)、管理虛擬機(jī)(3)、通信虛擬機(jī)(4)、驅(qū)動(dòng)虛擬機(jī)(5)雙向連接,可信硬件(1)中的可信主板(8)分別與可信密碼模塊(7)、可信BIOS(9)、USBKey(10)、硬盤(pán)(11)雙向連接,管理虛擬機(jī)(3)與非特權(quán)虛擬機(jī)(6)雙向連接,管理虛擬機(jī)(3)還可與多個(gè)非特權(quán)虛擬機(jī)(6)雙向連接;安全增強(qiáng)虛擬機(jī)監(jiān)視器(2)中,身份認(rèn)證模塊(12)、權(quán)限控制模塊(13)、通信控制模塊(14)、虛擬機(jī)完整性度量模塊(15)順次串聯(lián);管理虛擬機(jī)(3)中,非特權(quán)虛擬機(jī)管理模塊(16)、實(shí)時(shí)加解密模塊(17)和完整性度量模塊(18)順次串聯(lián);通信虛擬機(jī)中(4)的通信管理模塊(19)、雙向認(rèn)證模塊(20)與數(shù)據(jù)包過(guò)濾模塊(21)順次串聯(lián);驅(qū)動(dòng)虛擬機(jī)(5)中的硬件驅(qū)動(dòng)模塊(22)和虛擬可信密碼管理模塊(23)連接;非特權(quán)虛擬機(jī)(6)中通信客戶(hù)端模塊(24)和虛擬可信密碼模塊(25)連接;計(jì)算機(jī)加電,可信硬件(1)中的可信密碼模塊(7)作為信任根首先啟動(dòng),并對(duì)可信BIOS(9)進(jìn)行完整性度量,如果度量失敗將可信BIOS(9)進(jìn)行恢復(fù)并重新進(jìn)行度量;可信BIOS(9)度量成功后,系統(tǒng)加載可信BIOS(9)正常啟動(dòng);可信BIOS(9)首先對(duì)安全增強(qiáng)虛擬機(jī)監(jiān)視器(2)進(jìn)行度量,度量通過(guò)后將控制權(quán)交給安全增強(qiáng)虛擬機(jī)監(jiān)視器(2);安全增強(qiáng)虛擬機(jī)監(jiān)視器(2)首先調(diào)用身份認(rèn)證模塊(12)對(duì)當(dāng)前用戶(hù)基于USBKey(11)進(jìn)行身份認(rèn)證,識(shí)別用戶(hù)權(quán)限,然后調(diào)用權(quán)限控制模塊(13)進(jìn)行權(quán)限控制,通信控制模塊(14)根據(jù)權(quán)限進(jìn)行通信控制,最后調(diào)用虛擬機(jī)完整性度量模塊(15),分別對(duì)管理虛擬機(jī)(3)、驅(qū)動(dòng)虛擬機(jī)(4)和通信虛擬機(jī)(5)進(jìn)行度量,如果度量成功則啟動(dòng)管理虛擬機(jī)(3)、驅(qū)動(dòng)虛擬機(jī)(4)和通信虛擬機(jī)(5);當(dāng)非特權(quán)虛擬機(jī)(6)啟動(dòng)時(shí),管理虛擬機(jī)(3)中的完整性度量模塊(18)對(duì)非特權(quán)虛擬機(jī)(6)進(jìn)行度量,如果度量成功則啟動(dòng)非特權(quán)虛擬機(jī)(6);至此,可信虛擬機(jī)平臺(tái)實(shí)現(xiàn)了可信啟動(dòng);在可信虛擬機(jī)平臺(tái)啟動(dòng)之后,管理虛擬機(jī)(3)、驅(qū)動(dòng)虛擬機(jī)(4)、通信虛擬機(jī)(5)和非特權(quán)虛擬機(jī)(6)對(duì)硬件資源的訪問(wèn)通過(guò)驅(qū)動(dòng)虛擬機(jī)(5)的硬件驅(qū)動(dòng)模塊(22)實(shí)現(xiàn);當(dāng)驅(qū)動(dòng)虛擬機(jī)(5)的硬件驅(qū)動(dòng)模塊(22)出現(xiàn)異常時(shí),進(jìn)行自動(dòng)重啟,不會(huì)影響到其他未訪問(wèn)該硬件設(shè)備的非特權(quán)虛擬機(jī)(6)的正常運(yùn)行;驅(qū)動(dòng)虛擬機(jī)(5)中的虛擬可信密碼管理模塊(23),負(fù)責(zé)對(duì)各非特權(quán)虛擬機(jī)(6)中的虛擬可信密碼模塊(25)的管理,實(shí)現(xiàn)多個(gè)非特權(quán)虛擬機(jī)(6)共享一個(gè)真實(shí)的物理可信密碼模塊(7),將基于物理信任根的信任鏈在虛擬域進(jìn)行傳遞,保證虛擬環(huán)境的可信;管理虛擬機(jī)(3)對(duì)非特權(quán)虛擬機(jī)(6)進(jìn)行管理時(shí),首先需識(shí)別當(dāng)前的權(quán)限,用戶(hù)權(quán)限下只能進(jìn)行開(kāi)啟和關(guān)閉對(duì)非特權(quán)虛擬機(jī)(6)的操作,直接拒絕創(chuàng)建、銷(xiāo)毀或遷移非特權(quán)虛擬機(jī)(6)的請(qǐng)求;管理員權(quán)限下創(chuàng)建、管理、銷(xiāo)毀和遷移非特權(quán)虛擬機(jī)(6);當(dāng)前的權(quán)限為管理員權(quán)限時(shí),管理虛擬機(jī)(3)在接到創(chuàng)建、銷(xiāo)毀和遷移非特權(quán)虛擬機(jī)的命令后,首先調(diào)用完整性度量模塊(18)對(duì)安全增強(qiáng)虛擬機(jī)監(jiān)視器(2)進(jìn)行度量,度量成功后,管理虛擬機(jī)(3)向安全增強(qiáng)虛擬機(jī)監(jiān)視器(2)發(fā)送創(chuàng)建、銷(xiāo)毀或遷移的請(qǐng)求;安全增強(qiáng)虛擬機(jī)監(jiān)視器(2)在接到上述請(qǐng)求后,調(diào)用虛擬機(jī)完整性度量模塊(15)對(duì)管理虛擬機(jī)(3)進(jìn)行度量,度量成功后執(zhí)行上述請(qǐng)求;在度量的過(guò)程中,任何一方的度量失敗都表明虛擬機(jī)平臺(tái)已經(jīng)被篡改,不再可信,拒絕執(zhí)行命令請(qǐng)求,可信虛擬機(jī)平臺(tái)主動(dòng)關(guān)閉;在管理虛擬機(jī)(3)工作的過(guò)程中,非特權(quán)虛擬機(jī)管理模塊(16)調(diào)用實(shí)時(shí)加解密模塊(17),對(duì)非特權(quán)虛擬機(jī)(6)的鏡像文件和關(guān)鍵數(shù)據(jù)進(jìn)行透明加解密,保證了鏡像文件和關(guān)鍵數(shù)據(jù)始終以密文存儲(chǔ),增強(qiáng)了安全性;各虛擬機(jī)之間的通信由安全增強(qiáng)虛擬機(jī)監(jiān)視器(2)中的通信控制模塊(14)和通信虛擬機(jī)(4)共同來(lái)控制完成;通信控制模塊(14)負(fù)責(zé)管理虛擬機(jī)(3)、驅(qū)動(dòng)虛擬機(jī)(5)和通信虛擬機(jī)(4)之間的通信,并嚴(yán)格控制非特權(quán)虛擬機(jī)(6)之間的通信,用戶(hù)權(quán)限下非特權(quán)虛擬機(jī)(6)之間無(wú)法進(jìn)行通信,管理員權(quán)限下可以通過(guò)通信虛擬機(jī)(4)實(shí)現(xiàn)非特權(quán)虛擬機(jī)(6)之間的通信;管理員權(quán)限下,非特權(quán)虛擬機(jī)(6)中的任意兩個(gè)需要通信時(shí),假設(shè)通信雙方為A方和B方,A方首先調(diào)用其中的通信客戶(hù)端模塊(24)向通信虛擬機(jī)(4)發(fā)送與B方進(jìn)行通信的請(qǐng)求,通信虛擬機(jī)(4)中的通信管理模塊(19)接到通信請(qǐng)求后,調(diào)用雙向認(rèn)證模塊(20)對(duì)通信虛擬機(jī)(4)和A方進(jìn)行雙向認(rèn)證,認(rèn)證成功之后,雙向認(rèn)證模塊(20)對(duì)通信虛擬機(jī)(4)和B方進(jìn)行雙向認(rèn)證,并將認(rèn)證結(jié)果返回給A方,通信虛擬機(jī)(4)、A方和B方都可信的情況下,A方發(fā)送通信內(nèi)容到通信虛擬機(jī)(4),通信虛擬機(jī)(4)中的數(shù)據(jù)包過(guò)濾模塊(21)對(duì)數(shù)據(jù)包進(jìn)行檢測(cè),檢測(cè)通過(guò)后將通信內(nèi)容發(fā)送給B方,B方接收完通信內(nèi)容后,返回成功,至此成功完成A方和B方的通信;在認(rèn)證的過(guò)程中,如果認(rèn)證失敗,表明認(rèn)證失敗方不再可信,立刻停止通信,并且認(rèn)證失敗方自動(dòng)重啟。
全文摘要
本發(fā)明公開(kāi)了一種可信虛擬機(jī)平臺(tái),包括硬盤(pán)(11)、USBKey(10)和非特權(quán)虛擬機(jī)(6),還包括可信硬件(1)、安全增強(qiáng)虛擬機(jī)監(jiān)視器(2)、管理虛擬機(jī)(3)、通信虛擬機(jī)(4)和驅(qū)動(dòng)虛擬機(jī)(5)。安全增強(qiáng)虛擬機(jī)監(jiān)視器(2)分別與可信硬件(1)和管理虛擬機(jī)(3)雙向連接。管理虛擬機(jī)(3)、驅(qū)動(dòng)虛擬機(jī)(5)和通信虛擬機(jī)(4)均為特權(quán)虛擬機(jī),管理虛擬機(jī)(3)創(chuàng)建、管理、銷(xiāo)毀和遷移其他虛擬機(jī);驅(qū)動(dòng)虛擬機(jī)(5)提供虛擬機(jī)運(yùn)行所需的驅(qū)動(dòng)和虛擬可信密碼模塊的管理;通信虛擬機(jī)(4)負(fù)責(zé)內(nèi)部虛擬機(jī)以及虛擬機(jī)平臺(tái)之間的通信。本發(fā)明有效的保證了虛擬機(jī)平臺(tái)運(yùn)行環(huán)境的安全、可信,并實(shí)現(xiàn)了虛擬域間通信的有效管控。
文檔編號(hào)G06F21/00GK101957900SQ20101051899
公開(kāi)日2011年1月26日 申請(qǐng)日期2010年10月26日 優(yōu)先權(quán)日2010年10月26日
發(fā)明者曾穎明, 李紅, 杜中平, 段翼真, 王斌, 王曉程, 陳志浩 申請(qǐng)人:中國(guó)航天科工集團(tuán)第二研究院七○六所