專利名稱:基于輪詢機(jī)制的防止可信客戶虛擬域啟動(dòng)崩潰的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)信息安全可信計(jì)算領(lǐng)域,特別是指基于輪詢機(jī)制的防
止可信客戶虛擬域啟動(dòng)崩潰的方法。在Xen虛擬機(jī)的可信客戶虛擬域中提供
了一種方法,使得利用在特權(quán)域?qū)崿F(xiàn)的虛擬可信平臺(tái)模塊進(jìn)行可信計(jì)算的可信客戶虛擬域在系統(tǒng)啟動(dòng)過程中不因?yàn)樘摂M可信平臺(tái)模塊創(chuàng)建過程的緩慢
而導(dǎo)致啟動(dòng)崩潰。
背景技術(shù):
目前,現(xiàn)有的虛擬機(jī)技術(shù)應(yīng)用整機(jī)虛擬化的概念,解除了實(shí)體機(jī)兼容性和硬件資源對(duì)應(yīng)用程序的約束,實(shí)現(xiàn)同一硬件平臺(tái)上多操作系統(tǒng)的并行運(yùn)行。網(wǎng)絡(luò)化時(shí)代以效率優(yōu)先而不是以安全優(yōu)先原則設(shè)計(jì)的現(xiàn)有PC系統(tǒng)越來越容易遭受黑客、間諜軟件和病毒的攻擊。為了解決PC機(jī)結(jié)構(gòu)上的不安全問題,從根本上提高其可信性,可信計(jì)算平臺(tái)聯(lián)盟TCPA (后來更名為TCG)提出通過增強(qiáng)現(xiàn)有的終端體系結(jié)構(gòu)的安全性來保證整個(gè)系統(tǒng)的安全,主要思路是在各種終端(包含PC、手機(jī)以及其它移動(dòng)智能終端等)硬件平臺(tái)上引入具有安全存儲(chǔ)和加密功能的可信平臺(tái)模塊(又稱為可信芯片)TPM;將操作系統(tǒng)啟動(dòng)過程分為幾個(gè)相對(duì)獨(dú)立的層,以TPM作為可信計(jì)算平臺(tái)的信任根,下層先度量驗(yàn)證上層完整性,并將度量結(jié)果存入TPM芯片的PCR寄存器中,然后再傳遞系統(tǒng)的運(yùn)行控制權(quán),從而構(gòu)建一條完整的信任鏈。PCR寄存器的數(shù)據(jù)在計(jì)算機(jī)啟動(dòng)后不能直接修改,也不能清空。用戶可以根據(jù)相應(yīng)PCR寄存器的數(shù)值判斷當(dāng)前運(yùn)行環(huán)境是否可信,某些環(huán)節(jié)是否存在安全問題。虛擬化技術(shù)與可信計(jì)算技術(shù)有機(jī)結(jié)合將能構(gòu)建出極其有效的終端平臺(tái)安全解決方案。傳統(tǒng)的可信計(jì)算技術(shù)只能保證單一計(jì)算機(jī)的安全性,要實(shí)現(xiàn)可信應(yīng)用軟件在客戶虛擬域上無縫地運(yùn)行,必須解決兩個(gè)問題 一是如何為客
3戶虛擬域提供TPM設(shè)備;二是如何實(shí)現(xiàn)客戶虛擬域啟動(dòng)可信鏈各個(gè)階段的完
整性度量。圖l為Xen虛擬機(jī)組件框架示意圖,每個(gè)計(jì)算域運(yùn)行一個(gè)操作系 統(tǒng),虛擬機(jī)監(jiān)控器位于系統(tǒng)硬件平臺(tái)與虛擬計(jì)算域操作系統(tǒng)軟件之間,負(fù)責(zé) 監(jiān)控下層硬件,并將硬件抽象成可管理調(diào)度的實(shí)體供上層計(jì)算域使用。Xen 虛擬機(jī)啟動(dòng)后,特權(quán)域是必須而且首先進(jìn)入的操作系統(tǒng),然后再根據(jù)具體情 況啟動(dòng)客戶虛擬域;特權(quán)計(jì)算域具有最高的權(quán)限,特權(quán)域利用虛擬域管理工 具管理客戶計(jì)算域,包括創(chuàng)建、刪除、訪問物理設(shè)備等。圖2為一種客戶虛 擬域利用特權(quán)域?qū)崿F(xiàn)的虛擬TPM (vTPM)設(shè)備進(jìn)行可信計(jì)算的方法的組件框 架示意圖;在該方法中,不同客戶虛擬域使用不同vTPM設(shè)備,客戶虛擬域 里可信應(yīng)用軟件發(fā)出的TPM指令請(qǐng)求通過vTPM前端驅(qū)動(dòng)、vTPM后端驅(qū)動(dòng)、 vTPM設(shè)備管理工具,最后到達(dá)vTPM設(shè)備,處理后的結(jié)果再經(jīng)相反路線回到 可信應(yīng)用軟件。圖3為來自客戶虛擬域頂A軟件的TPM指令的處理流程圖, 其中IMA軟件是I麗研究院開發(fā)的用于對(duì)執(zhí)行程序或內(nèi)核模塊進(jìn)行完整性度 量的軟件工具,在客戶虛擬域操作系統(tǒng)啟動(dòng)過程中加載該軟件。
圖4是客戶虛擬域啟動(dòng)和虛擬TPM設(shè)備創(chuàng)建的流程圖,之所以將虛擬域 的啟動(dòng)與虛擬TPM設(shè)備的創(chuàng)建設(shè)計(jì)成兩個(gè)并行的過程主要是為了提高系統(tǒng) 資源有效利用率,加快整個(gè)系統(tǒng)的啟動(dòng)過程;但是這種設(shè)計(jì)方法與現(xiàn)有的完 整性度量軟件IMA整合在一起工作時(shí),可信客戶虛擬域啟動(dòng)可能會(huì)出現(xiàn)崩潰 現(xiàn)象。原因是圖3中的虛擬域管理工具、vTPM設(shè)備管理工具和vTPM設(shè)備 進(jìn)程都是作為用戶空間的普通進(jìn)程被調(diào)度執(zhí)行的,虛擬域間CPU調(diào)度以及虛 擬域內(nèi)進(jìn)程調(diào)度的不確定性會(huì)導(dǎo)致IMA發(fā)出訪問TPM指令時(shí),相應(yīng)的vTPM 設(shè)備可能還未建立好,IMA無法處理這種情況,進(jìn)而導(dǎo)致啟動(dòng)崩潰。
發(fā)明內(nèi)容
本發(fā)明的目的在于為避免上述現(xiàn)有技術(shù)中的不足而提供了一種基于輪 詢機(jī)制的防止可信客戶虛擬域啟動(dòng)崩潰的方法。本發(fā)明為解決可信客戶虛擬 域啟動(dòng)崩潰問題提供了一種方法。該方法在虛擬域內(nèi)核的IMA軟件被加載并不是立即進(jìn)行軟件初始化,而是采用輪詢探測(cè)vTPM設(shè)備的方式,直到 vTPM設(shè)備創(chuàng)建完畢,可以處理TPM指令后,才進(jìn)行軟件初始化。 木發(fā)明的目的可以通過以下措施來實(shí)現(xiàn)
基于輪詢機(jī)制的防止可信客戶虛擬域啟動(dòng)崩潰的實(shí)現(xiàn)方法,其特征在
于IMA軟件在被虛擬域內(nèi)核加載之后,并不立即進(jìn)行初始化工作,而是先
檢測(cè)虛擬TPM設(shè)備是否可以處理TPM指令,如果檢測(cè)結(jié)果不正確,則定期 檢測(cè)直到返回結(jié)果正確,然后才進(jìn)行軟件初始化
本發(fā)明相比現(xiàn)有技術(shù)具有如下優(yōu)點(diǎn)
1. 簡(jiǎn)單,可擴(kuò)展性強(qiáng),兼容性好。只需要更改內(nèi)核一處,而且只需在
原有系統(tǒng)代碼上增加8行代碼,更改后的頂A軟件在傳統(tǒng)的單一計(jì)算機(jī)下仍 可正常工作。
2. 保持了現(xiàn)有提供虛擬TPM技術(shù)的系統(tǒng)的優(yōu)點(diǎn)。將對(duì)虛擬TPM設(shè)備檢 測(cè)工作推遲到第一個(gè)訪問虛擬TPM設(shè)備的虛擬域軟件初始化之前,這樣能夠 充分利用系統(tǒng)的資源,特別是有多個(gè)CPU的系統(tǒng)。
圖1為Xen虛擬機(jī)組件框架示意圖2為一種客戶虛擬域基于虛擬TPM進(jìn)行可信計(jì)算的方法的組件框架示 意圖3為圖2方法中的客戶虛擬域IMA軟件所發(fā)出的TPM指令的處理流程
圖4為圖2方法中的客戶虛擬域啟動(dòng)和虛擬TPM設(shè)備創(chuàng)建這兩個(gè)并行過 程的流程圖5為修改后的IMA完整性度量工作流程,其中虛框部分為本發(fā)明提供 的方法。
具體實(shí)施方式
本發(fā)明為解決可信客戶虛擬域啟動(dòng)崩潰問題提供了 一種方法。該方法在
虛擬域內(nèi)核的IMA軟件被加載之后且在初始化之前,增加了輪詢探測(cè)vTPM 設(shè)備的功能,定期發(fā)出訪問虛擬TPM設(shè)備寄存器的請(qǐng)求,直到返回正確結(jié)果, 再繼續(xù)系統(tǒng)啟動(dòng)。
本發(fā)明目的在于提供一種基于輪詢機(jī)制方法,該方法只需要修改IMA軟件。
系統(tǒng)部屬過程如下 步驟l,修改后的IMA軟件,整合到虛擬域內(nèi)核啟動(dòng)文件中
步驟2,部署圖2方法的組件
下面根據(jù)圖5說明對(duì)修改后的IMA完整性度量軟件的工作流程進(jìn)行詳細(xì) 說明
1、 虛擬域操作系統(tǒng)內(nèi)核加載IMA完整性度量軟件。
2、 加載之后,IMA軟件并不立即進(jìn)行初始化工作,而是先嘗試訪問虛擬 TPM設(shè)備,如果返回結(jié)果正確,則繼續(xù)內(nèi)核啟動(dòng),否則就睡眠5秒,然后再 嘗試訪問虛擬TPM設(shè)備,直到檢測(cè)結(jié)果正確。
通過上述方法,可信客戶虛擬域在系統(tǒng)啟動(dòng)過程中不會(huì)因?yàn)樘摂MTPM設(shè) 備創(chuàng)建過程的緩慢而導(dǎo)致啟動(dòng)的崩潰。
權(quán)利要求
1、基于輪詢機(jī)制的防止可信客戶虛擬域啟動(dòng)崩潰的方法,其特征在于IMA軟件在被虛擬域內(nèi)核加載之后,并不立即進(jìn)行初始化工作,而是先檢測(cè)虛擬TPM設(shè)備是否可以處理TPM指令,如果檢測(cè)結(jié)果不正確,則定期檢測(cè)直到返回結(jié)果正確,然后才進(jìn)行軟件初始化。
全文摘要
本發(fā)明涉及基于輪詢機(jī)制的防止可信客戶虛擬域啟動(dòng)崩潰的方法,該方法使得可信客戶虛擬域在系統(tǒng)啟動(dòng)過程中不因?yàn)樘摂M可信平臺(tái)模塊創(chuàng)建過程的緩慢而出現(xiàn)啟動(dòng)崩潰。本發(fā)明的方法采用了對(duì)虛擬域內(nèi)核啟動(dòng)文件中的完整性度量軟件進(jìn)行功能擴(kuò)充,因此方法簡(jiǎn)單,兼容性好,可擴(kuò)展性強(qiáng)。功能增強(qiáng)的度量軟件在被加載之后并不立即進(jìn)行初始化工作,而是先對(duì)虛擬可信平臺(tái)模塊進(jìn)行檢測(cè),即定期發(fā)出訪問虛擬可信平臺(tái)模塊寄存器的請(qǐng)求,直到返回正確結(jié)果,才開始軟件初始化。該方法將檢測(cè)工作推遲到第一個(gè)訪問虛擬可信平臺(tái)模塊的虛擬域軟件的初始化之前,保持了原系統(tǒng)有效利用系統(tǒng)資源的優(yōu)點(diǎn)。
文檔編號(hào)G06F21/00GK101488175SQ20091007803
公開日2009年7月22日 申請(qǐng)日期2009年2月10日 優(yōu)先權(quán)日2009年2月10日
發(fā)明者帆 何, 博 劉, 劉吉強(qiáng), 常曉林, 李生智, 彬 邢, 臻 韓 申請(qǐng)人:北京交通大學(xué)