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

一種虛擬環(huán)境信任構(gòu)建方法

文檔序號:6464829閱讀:320來源:國知局
專利名稱:一種虛擬環(huán)境信任構(gòu)建方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種虛擬環(huán)境信任構(gòu)建方法,具體地說,本發(fā)明涉及一種將可信計算和虛 擬技術(shù)相結(jié)合,通過完善的信任鏈傳遞機制構(gòu)建可信虛擬平臺的安全應(yīng)用解決方法,屬于 信息安全中的可信計算領(lǐng)域。該方法支持各個虛擬域?qū)尚庞布陌踩蚕恚瑸榉植际?安全應(yīng)用提供可靠服務(wù)。
背景技術(shù)
隨著信息技術(shù)的發(fā)展,計算機系統(tǒng)所處的環(huán)境進(jìn)一步復(fù)雜化和多樣化,傳統(tǒng)的基于軟 件的安全解決方案(如防火墻、入侵檢測、防病毒),往往很難抵擋住黑客,病毒,內(nèi)部竊 密者的侵襲。針對這些問題,為了增強計算機平臺的內(nèi)部免疫力,近年來以可信平臺模塊 (Trusted Platform Module, TPM)為核心的可信計算平臺技術(shù)迅速發(fā)展,可信計算提供了基 于可信硬件提供的可信度量、可信證明、可信封裝等安全功能,構(gòu)建從"硬件一系統(tǒng)一應(yīng)用" 的信任框架體系,保證了平臺的完整性、機密性和可用性。由國際大型IT公司(如Intel, IBM, Microsoft等)組成的可信計算組織(TCG)自成立以來, 一直致力于可信計算的規(guī)范化 和應(yīng)用的推廣,提出了面向多個分布式環(huán)境的基于可信平臺的解決方案,極大地擴展了可 信計算技術(shù)的應(yīng)用范圍,同時諸多科研機構(gòu)和學(xué)術(shù)機構(gòu)也將可信計算作為重點研究課題, 可信計算已經(jīng)成為信息安全中最熱門的技術(shù)之一。
另一方面,應(yīng)用的復(fù)雜性對于計算機系統(tǒng)的性能和功能有了更高的要求,傳統(tǒng)的單機 系統(tǒng)往往體現(xiàn)出功能單一的缺陷,難以滿足系統(tǒng)服務(wù)多樣化的要求.在一個硬件平臺上支持 多個操作系統(tǒng)的虛擬技術(shù)應(yīng)運而生??尚盘摂M系統(tǒng)中,對硬件實現(xiàn)虛擬或半虛擬功能的虛 擬機監(jiān)控層(VMM)提供隔離機制,支持多個操作系統(tǒng)并發(fā)執(zhí)fi1。虛擬機監(jiān)控層上運行的操 作系統(tǒng)之間彼此互相隔離,可以支持不同的異構(gòu)環(huán)境,對系統(tǒng)的性能影響較小。市場的驅(qū) 動催生了支持虛擬技術(shù)(VT)的CPU芯片,Intel, AMD相繼發(fā)布支持VT的CPU。支持VT 的CPU大大提升了虛擬機監(jiān)控器對虛擬機的掌控靈活性和粒度,而且充分考慮了如何有效 減小虛擬機的開銷,使得創(chuàng)建完全虛擬化實現(xiàn)方案成為可能。劍橋大學(xué)在此基礎(chǔ)上,研發(fā) 了基于半虛擬化的Xen技術(shù),其特點為支持開源、系統(tǒng)性能影響小,支持更多的硬件驅(qū)動。
將可信技術(shù)和虛擬技術(shù)相結(jié)合而成的可信虛擬技術(shù),可以構(gòu)建可信虛擬層,保證進(jìn)程 間的可信隔離,同時可以為各個虛擬操作系統(tǒng)提供可信平臺支持,增強系統(tǒng)的安全性。 Standford大學(xué)提出的Terra系統(tǒng),建立一個以可信硬件為信任根的可信虛擬層(TVMM), 同時對應(yīng)用程序?qū)嵤┱J(rèn)證,但其中軟件升級和更新存在不安全因素,同時證書撤銷機制復(fù) 雜。Intel和IBM針對可信虛擬平臺首先提出了 VTPM體系結(jié)構(gòu),對物理TPM實施虛擬化, 解決各虛擬域?qū)PM的共享問題,但VTPM采取對TPM虛擬化的方式,為每個虛擬域提 供基于軟件的信任根,無法支持各虛擬域基于硬件的證明和加密機制。IBM針對可信虛擬 平臺中各個虛擬域的安全共享,提出了 sHype結(jié)構(gòu),基于安全策略STE和Chinese Wall 對各個虛擬域的安全共享實施訪問控制。sHype對各個虛擬域?qū)嵤┰L問控制粒度較粗,不 能支持基于可信平臺屬性的訪問控制。IBM在VTPM和sHype技術(shù)的基礎(chǔ)上提出面向分布 式Web服務(wù)的可信虛擬域技術(shù)(TVD),但在安全性和擴展性方面存在一定局限性。目前的 可信虛擬平臺構(gòu)建的信任鏈機制,主要集中在某一方面,同時存在不足,難以構(gòu)建完整和 完善的虛擬環(huán)境信任鏈機制。

發(fā)明內(nèi)容
本發(fā)明的目的是在虛擬環(huán)境中構(gòu)建完整和完善的信任系統(tǒng),該信任系統(tǒng)貫穿于平臺的 啟動、加載、應(yīng)用過程中,可以較好的支持各個虛擬域?qū)ν馓峁┛尚欧?wù),滿足分布式環(huán) 境的安全需求,虛擬機信任構(gòu)建過程主要包括如下兩個環(huán)節(jié)
(1) 虛擬環(huán)境的信任建立在虛擬平臺硬件加電啟動、虛擬層加載、虛擬域啟動和創(chuàng) 建階段,提供完整性度量機制,并保證度量值的完整性,是平臺對外證明自身可信性的依 據(jù),構(gòu)成可信虛擬平臺的信任前提和依據(jù)。
(2) 各虛擬域?qū)PM的安全共享在可信虛擬域建立后的可信應(yīng)用階段,接收和處理 來自虛擬域的TPM命令請求,為每個虛擬域創(chuàng)建并維護(hù)相應(yīng)的TPM上下文,實現(xiàn)基于虛擬 域的TPM資源可信隔離,構(gòu)成可信虛擬平臺運行的可信環(huán)境。
根據(jù)上述內(nèi)容,本發(fā)明設(shè)計了虛擬環(huán)境信任構(gòu)建系統(tǒng),系統(tǒng)的核心是運行于虛擬機監(jiān) 控器層的TPM信任構(gòu)建器(TPM Trust Builder),如圖1所示,主要包括虛擬域信任建立 模塊、TPM上下文管理模塊。這兩個模塊共同完成虛擬環(huán)境的信任構(gòu)建過程虛擬域信任 建立模塊主要建立從硬件啟動、虛擬層加載、虛擬域啟動的信任傳遞機制;TPM上下文管 理模塊為每個虛擬域創(chuàng)建和維護(hù)對應(yīng)的TPM上下文,為虛擬域運行環(huán)境提供可信的密碼
服務(wù)、密鑰管理服務(wù)、虛擬機完整性管理服務(wù)、遠(yuǎn)程證明服務(wù)等。上述虛擬域信任建立模 塊和TPM上下文管理模塊都建立在TPM物理芯片之上,通過TPM驅(qū)動程序調(diào)用TPM安 全芯片。
上述兩個模塊運行于平臺運行的不同階段,完成信任鏈的最終建立首先,虛擬域信 任建立模塊執(zhí)行于系統(tǒng)啟動、虛擬機新創(chuàng)建和運行、虛擬機狀態(tài)恢復(fù)階段,主要用來度量 系統(tǒng)過程中加載的內(nèi)核模塊、可執(zhí)行文件、各種庫文件,保證可信虛擬平臺啟動過程的可 信;然后,虛擬平臺TPM上下文管理模塊執(zhí)行在虛擬域操作TPM命令階段,主要接受來 自每個虛擬域的TPM命令請求,為每個虛擬域創(chuàng)建和維護(hù)TPM上下文,保證虛擬域在運 行過程中的可信。
下面對上述兩個模塊分別闡述如下 虛擬域信任建立模塊
該部分根據(jù)可信虛擬平臺體系結(jié)構(gòu),分兩階段對虛擬域啟動、加載、建立過程實施度 量,同時保證度量值的完整性,可以作為可信證明的基礎(chǔ)和依據(jù),如圖2所示。
(1) 系統(tǒng)啟動階段
系統(tǒng)啟動階段完成硬件、固件、可信引導(dǎo)器、虛擬機監(jiān)控器的完整性檢查。主要過程

a) 從系統(tǒng)加電啟動開始,TPM度量硬件BIOS并將度量值擴展存入PCR中;
b) TPM度量引導(dǎo)系統(tǒng)(BootLoader)并將其度量值擴展存入PCR中,將啟動控制權(quán) 轉(zhuǎn)移給引導(dǎo)系統(tǒng);
c) TPM度量虛擬層(VMM)并將其度量值擴展存入PCR中,將啟動控制權(quán)轉(zhuǎn)移給虛 擬層(VMM);
d) TPM度量加載的管理虛擬域(Management VM)內(nèi)核并將其度量值擴展存入PCR 中,將啟動控制權(quán)轉(zhuǎn)移給管理虛擬域(Management VM);
e) 在管理虛擬域(Management VM)啟動的過程中,調(diào)用TPM對加載的內(nèi)核模塊、 庫文件、可執(zhí)行文件實施度量驗證,并將度量值擴展存入PCR中。
第一階段保證信任機制從可信硬件TPM擴展至管理虛擬域(Management VM),是構(gòu)成 第二階段信任的基礎(chǔ)。
(2) 虛擬機運行階段
虛擬機運行階段完成虛擬機運行的信任建立,主要過程為
a)管理虛擬域(Management VM)調(diào)用TPM對啟動的各個應(yīng)用虛擬域(Guest VM)內(nèi)核進(jìn)行度量驗證,并將度量值擴展PCR存入為各個應(yīng)用虛擬域建立的虛擬PCR,即VPCR, 中,開啟應(yīng)用虛擬域(GuestVM)的啟動;
b) 在應(yīng)用虛擬域(GuestVM)啟動過程中,對加載的內(nèi)核模塊、庫文件、可執(zhí)行文件 實施度量驗證,并將度量值擴展存入VPCR中。
第二階段的信任是在第一階段的基礎(chǔ)上把信任機制進(jìn)一步擴展至應(yīng)用空間,滿足可信 安全應(yīng)用。在兩階段信任建立的同時,必須保證度量值的完整性。第一階段完整性度量值 直接通過擴展進(jìn)入實際硬件TPM中的平臺配置寄存器(PCR)。第二階段主要通過建立每個 虛擬域?qū)?yīng)的虛擬平臺配置寄存器(VPCR)和實際PCR的映射關(guān)系保證其的完整性。
虛擬域信任建立模塊是整個信任系統(tǒng)信任鏈傳遞的前提,其保證了從系統(tǒng)啟動、虛擬 層加載、虛擬域啟動過程的可信性,為對外信任證明提供了客觀、真實的依據(jù)。 TPM上下文管理模塊
TPM上下文管理模塊主要為每個Guest VM創(chuàng)建和維護(hù)相應(yīng)的TPM上下文,實現(xiàn)每 個虛擬域?qū)尚庞布鵗PM的安全共享,保證可信硬件根TPM的唯一性,支持每個虛擬 域基于硬件的數(shù)據(jù)封裝和遠(yuǎn)程證明。
TPM上下文管理模塊包括TPM命令接口, TPM上下文接口和TPM處理接口,如圖 3所示。
對VM的TPM請求處理包含三個階段TPM命令接收和解析、TPM上下文的創(chuàng)建 和維護(hù)、TPM命令處理,處理流程具體如下
(l)TPM命令的接收和解析,主要由TPM命令接口完成
TPM命令接口接受來自虛擬域的TPM命令請求,實施分析,判定TPM命令的流向, 具體來說-
a) TPM命令接口對來自虛擬域的TPM命令請求實施解析,判定TPM命令的類型 和對應(yīng)的虛擬域標(biāo)識符(DomainID);
b) 對于來自于Guest VM的TPM命令請求,TPM命令接口依據(jù)每個Guest VM對 TPM命令的訪問權(quán)限,判定其對TPM命令的執(zhí)行權(quán)限,若無權(quán)執(zhí)行則放棄該請求,有權(quán) 執(zhí)行則將TPM命令請求發(fā)送至TPM上下文接口 。對于來自于管理虛擬域的TPM命令請 求則直接獲得執(zhí)行權(quán)限并發(fā)送至TPM上下文接口,從而實現(xiàn)基于虛擬域的TPM命令訪問 控制;
c) 獲得執(zhí)行權(quán)限的TPM命令請求可分為兩類
i.與TPM上下文無關(guān)的命令,任何VM都可以發(fā)布此類命令,其執(zhí)行沒有沖
突;
ii.與TPM上下文相關(guān)的命令,主要包括虛擬域啟動或關(guān)閉時發(fā)出的創(chuàng)建或刪 除TPM上下文命令請求、命令的執(zhí)行與每個TPM上下文中的資源如密鑰(Key)和平臺配置 寄存器(PCR)等關(guān)聯(lián)。
其中與TPM上下文無關(guān)的命令直接發(fā)給TPM處理接口 ,交由硬件TPM執(zhí)行,和TPM 上下文相關(guān)的命令由步驟(2)TPM上下文接口執(zhí)行,根據(jù)情況再進(jìn)一步發(fā)給TPM處理接口 執(zhí)行。
(2) TPM上下文的創(chuàng)建及維護(hù),主要由TPM上下文接口完成
對來自Guest VM的和TPM上下文相關(guān)的命令,為每個Guest VM創(chuàng)建、維護(hù)、管理 相應(yīng)的TPM上下文,主要包括TPM上下文的安全存儲、TPM上下文的維護(hù),分別描述 如下-
1) TPM上下文的安全存儲為每個Guest VM維護(hù)相應(yīng)的TPM上下文,主要內(nèi)容 包括虛擬平臺配置寄存器(VPCR)、 TPM狀態(tài)、關(guān)聯(lián)接口狀態(tài)、TPM的密鑰句柄、會話 句柄,對其的具體表示和存儲方式表示如下
a) VPCR: VPCR直接存儲了每個Guest VM所對應(yīng)平臺度量值。對于VPCR 的完整性保護(hù),主要通過雜湊樹的運算將Guest VM中的各個度量點的度量值匯聚成該 GuestVM的度量值,并建立實際硬件PCR和VPCR的對應(yīng)關(guān)系,如圖4所示。該雜湊樹 中,每個根節(jié)點是每個Guest VM所對應(yīng)的VPCR,稱為W,C《(對應(yīng)第i個Guest VM, i 應(yīng)在允許的虛擬域最大數(shù)目范圍內(nèi))和TPM的PC^(對應(yīng)第j個PCR, j應(yīng)在PCR的數(shù)目 范圍)建立映射,用r及五五表示圖4所示雜湊數(shù)算法,對應(yīng)關(guān)系可以表示為
戶CA = j/pc^ =麗攀尸c《?!璻尸c氣")
其中; "表示Guest VM對應(yīng)平臺配置寄存器數(shù)目。
b) TPM及關(guān)聯(lián)接口狀態(tài)為每個Guest VM建立對應(yīng)的虛擬的TPM狀態(tài),同 時根據(jù)每個Guest VM對應(yīng)的TPM驅(qū)動連接(TPM Frontend和Backend)狀態(tài)實施保存,作 為該Guest VM可否執(zhí)行TPM命令的依據(jù)。
c) TPM密鑰及會話句柄。為每個Guest VM將其創(chuàng)建的密鑰及會話句柄實施 記錄,建立每個Guest VM和密鑰及會話句柄的對應(yīng)關(guān)系。
TPM上下文通過TPM處理接口提供的數(shù)據(jù)封裝機制實施保護(hù)。
2) TPM上下文的維護(hù)。對TPM命令接口傳來的和TPM上下文相關(guān)的命令,對于
相應(yīng)的TPM上下文實施處理,主要包括
a) 分配和清除TPM上下文資源。當(dāng)Guest VM啟動或關(guān)閉時,為其分配相應(yīng) 的TPM上下文資源,返回TPM命令接口。
b) 驗證和記錄TPM上下文的實體資源。對TPM命令中需要訪問的實體資源, 首先根據(jù)所維護(hù)TPM上下文實施驗證,如果驗證通過,則進(jìn)一步發(fā)給TPM處理接口處理。
(3)TPM命令的處理,主要由TPM處理接口完成
主要對TPM命令請求,驗證其的完整性,交由硬件TPM實施處理,進(jìn)一步協(xié)助TPM 完成可能引起TPM沖突的操作,減輕TPM負(fù)載能力,同時還對TPM上下文提供數(shù)據(jù)封 裝,保護(hù)TPM上下文的安全。主要處理以下命令
1) 來源于TPM命令接口,即經(jīng)過分析判斷后直接送由TPM執(zhí)行的命令,如
Get Capability命令,SHA1操作命令等,該類命令和TPM上下文無關(guān),不會引起資源沖突。 同時還有Management VM發(fā)布的只有TPM Owner才能執(zhí)行的管理TPM的命令,也是直 接傳遞給TPM硬件執(zhí)行,命令執(zhí)行完成后返回。
2) 來源于TPM上下文接口 ,主要處理訪問TPM上下文資源的命令以及TPM上下 文發(fā)出的安全存儲需求,分別有
a) 處理訪問TPM上下文資源的命令。主要針對TPM命令接口發(fā)出的和TPM 上下文資源相關(guān)的命令,由TPM上下文接口驗證通過后,根據(jù)TPM命令的不同類型實施 處理,主要包括直接對TPM上下文操作、再進(jìn)一步發(fā)給TPM硬件執(zhí)行,同時針對從硬件 TPM返回的結(jié)果,需要在TPM上下文中實施記錄,便于下次訪問。
b) 處理TPM上下文發(fā)出的安全存儲命令。針對TPM上下文發(fā)出的安全存儲 命令,采取密碼機制,提供數(shù)據(jù)封裝/解封操作,保證TPM上下文的安全性。
TPM上下文管理模塊為虛擬機提供了可信的運行環(huán)境,其接收來自虛擬域的TPM命 令請求,創(chuàng)建和維護(hù)TPM上下文和虛擬域的對應(yīng)關(guān)系,較好的支持各虛擬域基于硬件的 數(shù)據(jù)封裝和遠(yuǎn)程證明,進(jìn)一步將基于硬件根TPM的信任機制擴展至每個虛擬域中。
以上兩個核心模塊完成了虛擬環(huán)境下從系統(tǒng)啟動到應(yīng)用服務(wù)的信任構(gòu)建。
此外,本發(fā)明還可配置虛擬平臺日志、虛擬平臺遷移、可信平臺管理等擴展部件,實
現(xiàn)TPM上下文模塊的管理功能。TPM上下文管理操作只能由特權(quán)管理域的管理員完成,
其他普通虛擬域的用戶無權(quán)執(zhí)行管理操作。
TPM上下文模塊的管理操作流程具體步驟如下
1) TPM上下文模塊接收到來自管理虛擬域的管理員的管理操作請求。
2) TPM上下文模塊分析管理請求的類型,根據(jù)不同的請求類型執(zhí)行相應(yīng)的處理。
a) 如果是日志管理請求,TPM上下文模塊提供相關(guān)虛擬域操作日志供管理員查 詢、刪除、歸檔。
b) 如果是訪問控制策略管理請求,TPM上下文模塊提供訪問控制策略的創(chuàng)建、 修改、刪除、取消。
c) 如果是平臺遷移管理操作請求,TPM上下文模塊提供虛擬域上下文的存檔, 傳輸密鑰的協(xié)商,上下文存儲鏡像的加密傳輸。
d) 如果是密鑰遷移操作請求,TPM上下文模塊修改密鑰所屬的虛擬域上下文屬 性,實現(xiàn)密鑰在同一平臺不同虛擬域之間的密鑰遷移。
3) TPM上下文模塊將管理請求結(jié)果返回給管理員。
本發(fā)明針對虛擬環(huán)境,構(gòu)建了完整和完善的信任系統(tǒng),實現(xiàn)更為安全的分布式應(yīng)用, 優(yōu)點主要表現(xiàn)在
(1) 完善的可信隔離機制。在可信硬件根TPM提供可信度量和可信證明的基礎(chǔ)上, 構(gòu)建兩層度量體系,保證平臺啟動和建立過程中的可信性,在此基礎(chǔ)上,對應(yīng)用級別的虛 擬域提供了可信隔離機制。相比其他信任體系結(jié)構(gòu),加強了平臺的安全性和可信性,更好 的支持可信應(yīng)用服務(wù)。
(2) 安全的共享TPM。在為每個虛擬域創(chuàng)建和維護(hù)TPM上下文的基礎(chǔ)上,實現(xiàn)了各 虛擬域?qū)尚庞布鵗PM的安全共享。解決了其他的對TPM虛擬化的解決方案的中軟件 信任根的平臺身份認(rèn)證問題,有效的支持各虛擬域基于硬件的數(shù)據(jù)封裝和遠(yuǎn)程證明。


圖1是本發(fā)明虛擬環(huán)境信任構(gòu)建系統(tǒng)示意圖2是本發(fā)明虛擬環(huán)境的兩層度量體系結(jié)構(gòu)示意圖3是本發(fā)明TPM上下文管理模塊結(jié)構(gòu)示意圖4是本發(fā)明基于Hash Tree的VPCR結(jié)構(gòu);
圖5是本發(fā)明實施例基于Xen的可信虛擬環(huán)境示意圖。
具體實施例方式
下面通過具體實施例結(jié)合附圖對本發(fā)明作進(jìn)一步描述。
本實施例對虛擬環(huán)境中的信任系統(tǒng)實施構(gòu)建主要是建立在Xen技術(shù)的基礎(chǔ)上,Xen建 立在半虛擬化技術(shù)(Para Virtualization)之上,其中的虛擬層(VMM)中的系統(tǒng)管理程序(Xen Hypervisor)對內(nèi)存、CPU、 I/O實施虛擬化,在此基礎(chǔ)上,對各虛擬域提供了地址空間隔離 機制,提高系統(tǒng)性能。為了更好的實現(xiàn)安全應(yīng)用,Xen將管理虛擬域和應(yīng)用虛擬域分別實 現(xiàn)為Domain0和DomainU,其中DomainO對DomainU的運行、操作實施管理。目前,Xen 對于DomainU發(fā)出的TPM命令請求,主要由DomainO和DomainU之間采取Event Channel 通信機制,由DomainO接受來自DomainU的TPM命令請求,為每個DomainU維護(hù)相應(yīng) 的TPM實例,但該種方案不能支持各虛擬域基于硬件的數(shù)據(jù)封裝和可信證明。
基于Xen的信任構(gòu)建系統(tǒng)如圖5所示,整個系統(tǒng)的核心是執(zhí)行在Xen層的TPM信任 構(gòu)建器,其基于可信硬件TPM,保證從系統(tǒng)啟動、虛擬域加載、虛擬域運行各部分的可信 性,共包括兩個核心模塊可信虛擬平臺信任模塊主要提供了從BIOS啟動、BootLoader 啟動、Xen加載、DomainO啟動,DomainU啟動的兩層度量機制,保證平臺信任鏈的建立, 在此基礎(chǔ)上,TPM上下文管理模塊負(fù)責(zé)接收來自DomainU傳來的TPM命令,為每個 DomainU維護(hù)相應(yīng)的TPM上下文(TPM Context),實現(xiàn)各虛擬域?qū)尚庞布PM的安全共 享。下面對上述兩個主要模塊的具體實施分別描述如下 虛擬域信任建立模塊
虛擬域建立模塊隨著平臺啟動而被加載,主要基于TPM的可信度量功能,對加載的 虛擬層、虛擬域啟動中加載的模塊、可執(zhí)行文件、庫文件實施度量,并擴展到相應(yīng)的平臺 配置寄存器中,構(gòu)成信任的前提。根據(jù)所處的不同階段,度量過程分為系統(tǒng)啟動度量和虛 擬機運行度量,分別實施如下
(1)系統(tǒng)啟動度量
可信啟動部分主要通過對系統(tǒng)引導(dǎo)管理器的修改,采取BIOS度量Grub,在加載 Xen之前,對Xen的代碼實施度量,保證平臺啟動環(huán)境的可信性。該操作及功能實現(xiàn)都是 在引導(dǎo)系統(tǒng)的過程中完成的,尚未進(jìn)入操作系統(tǒng),所以其中用到的TPM操作,都是通過 在實模式下調(diào)用BIOS的中斷來實現(xiàn)的。具體實施運用AT&T匯編語言來實現(xiàn)這些函數(shù), 這些函數(shù)必須清晰明確,可以供上層代碼直接調(diào)用。函數(shù)主要有TPM狀態(tài)査詢函數(shù)、TPM 的hash操作函數(shù)、PCR讀取函數(shù)、PCR擴展函數(shù)、TPM日志函數(shù)等,分別實現(xiàn)對TPM相
關(guān)狀態(tài)查詢、對度量內(nèi)容的Hash(Shal算法)、對度量值擴展至相應(yīng)的PCR中,記錄相應(yīng) 的擴展操作。這部分實現(xiàn)對BIOS, Xen層的度量,將BIOS的度量值存入PCR
—PCR[6], 將Xen層的度量值存入PCR[7〗。
DomainO啟動部分主要通過在Domain0內(nèi)核中插入度量點,對Domain0中啟動的內(nèi) 核模塊、動態(tài)加載庫、可執(zhí)行文件實施度量。其中度量點的插入主要通過在系統(tǒng)調(diào)用中插 入LSMHook方式,具體可以分為內(nèi)核模塊hook、動態(tài)加載庫hook,可執(zhí)行文件hook。 具體實施采取C語言實現(xiàn)這些函數(shù),函數(shù)功能同可信啟動部分。這部分實現(xiàn)對DomainO 加載部分的度量,將對DomainO的度量值存入PCR[8]。
可信啟動和DomainO啟動兩部分構(gòu)成第一層完整的信任體系構(gòu)建機制。
(2)虛擬機運行度量
主要實現(xiàn)對DomainU啟動過程中的內(nèi)核模塊、動態(tài)加載庫、可執(zhí)行文件實施度量,度 量方式同DomainO啟動部分,將DomainU的度量值存入每個TPM執(zhí)行上下文對應(yīng)的VPCR 中,對VPCR的保護(hù)通過和實際TPM建立基于Hash Tree的映射方式實現(xiàn)。
整個度量過程貫穿虛擬環(huán)境的啟動、建立、運行,構(gòu)成信任建立的前提條件。 TPM上下文管理模塊
具體實施中,TPM上下文管理模塊主要負(fù)責(zé)和DomainU通訊,接收來自DomainU的 TPM命令,維護(hù)相應(yīng)的TPM上下文,實現(xiàn)各虛擬域?qū)PM的安全共享。管理模塊主要采 取C語言對來自DomainU的TPM命令處理流程如下
(1) TPM命令的接收和解析
釆取TPM命令接口實現(xiàn),主要在原有的虛擬域間的通信機制(Event Channel)中插入截 獲機制,可以獲取從DomainU處傳來的TPM數(shù)據(jù)包,對該數(shù)據(jù)包實施解析和處理,在此 基礎(chǔ)上對TPM命令實施訪問控制,轉(zhuǎn)發(fā)TPM命令給其他部分,步驟如下
1) 獲取從DomainU處傳來的數(shù)據(jù)包,對數(shù)據(jù)包實施解析,得到TPM命令。
2) 根據(jù)TPM的命令及對應(yīng)虛擬域,實施訪問控制。根據(jù)TPM標(biāo)準(zhǔn)規(guī)范提供命令管 理函數(shù),可以由安全管理員設(shè)置DomainU對應(yīng)命令的標(biāo)志位,允許或禁止該DomainU
使用對應(yīng)TPM命令,保證DomainU對于TPM命令的安全使用。如果允許使用,則繼續(xù) 執(zhí)行,否則返回拒絕結(jié)果。
3) 根據(jù)命令的不同類型,實施分析如下-
如果TPM命令和TPM Context無關(guān),則直接由TPM處理接口發(fā)給硬件TPM直接執(zhí) 行,并返回執(zhí)行結(jié)果。
如果TPM命令和TPM上下文相關(guān),則發(fā)給TPM上下文接口進(jìn)一步對TPM上下文實 施操作。
上述處理步驟中,各個接口的通信方式采取進(jìn)程間通信中的管道的通信方式。 (2) TPM上下文的創(chuàng)建與維護(hù)
采取TPM上下文接口實現(xiàn),主要創(chuàng)建和維護(hù)每個虛擬域?qū)?yīng)的TPM上下文,保證各 虛擬域?qū)PM資源的正確訪問,主要包括TPM上下文的安全存儲和操作,分別實施如下
1) TPM上下文安全存儲。創(chuàng)建TPM靜態(tài)資源,主要包括虛擬平臺配置寄存器 (VPCR)、 TPM狀態(tài)及關(guān)聯(lián)接口狀態(tài)、TPM的密鑰句柄、會話句柄,具體內(nèi)容如下
a) VPCR。建立Hash Tree數(shù)據(jù)結(jié)構(gòu),分別包括根節(jié)點、節(jié)點、靜態(tài)PCR。 其中,靜態(tài)PCR對應(yīng)虛擬平臺信任模塊中第一層度量值(PCR
PCR[8]),節(jié)點對應(yīng)虛擬 域的VPCR值及中間Hash結(jié)果,根節(jié)點則是最終VPCR的最終Hash結(jié)果,其中的關(guān)系構(gòu) 建按照HashTree數(shù)據(jù)結(jié)構(gòu)構(gòu)建(可以參照圖4)。提供的函數(shù)主要有初始化函數(shù)、更新函 數(shù)、重置函數(shù)、映射函數(shù),簽名函數(shù)、分別實現(xiàn)對Hash Tree的初始化、在VPCR變化后 的更新、重置、和實際PCR的映射、采取TPM的簽名功能實施簽名。該函數(shù)實現(xiàn)了為每 個虛擬域維護(hù)相應(yīng)的VPCR值,同時建立和實際硬件TPM的PCR的映射,保證完整性。
b) TPM狀態(tài)及關(guān)聯(lián)接口狀態(tài)函數(shù)。為每個DomainU建立TPM狀態(tài) (Enable/Disable),同時為每個DomainU建立TPM驅(qū)動鏈接狀態(tài)(Connected/Disconnected)。 該函數(shù)根據(jù)每個DomainU對應(yīng)的相應(yīng)狀態(tài),判定DomainU的TPM命令執(zhí)行。
c) TPM的密鑰及會話句柄函數(shù)。在每個虛擬域創(chuàng)建密鑰和會話時,將相應(yīng)的 密鑰及會話加載至TPM中,記錄對應(yīng)的返回密鑰句柄和會話句柄,使每個虛擬域可以且 僅可以使用自身創(chuàng)建的句柄資源。該函數(shù)保證了每個虛擬域?qū)τ谙鄳?yīng)的TPM密鑰和會話 安全使用。
對TPM上下文的存儲采取TPM處理接口提供的封裝機制實施保護(hù)。
2) TPM上下文操作。主要針對TPM命令接口傳來的和TPM上下文相關(guān)的命令請求, 對TPM上下文實施操作,主要包括
a) 對于創(chuàng)建和撤銷虛擬域的TPM上下文請求。在靜態(tài)TPM資源中分配或者清 空對應(yīng)虛擬域的TPM上下文資源。
b) 對于和每個虛擬域上下文相關(guān)的TPM命令。主要涉及每個虛擬域的PCR、 密鑰句柄、會話句柄,先對TPM命令所訪問的TPM上下文資源及虛擬域進(jìn)行檢驗,保證 其的對應(yīng)關(guān)系,再進(jìn)一步交由TPM處理接口,經(jīng)過硬件TPM處理,返回執(zhí)行結(jié)果。
(3) TPM命令的處理
采取TPM命令接口實現(xiàn),主要協(xié)助硬件TPM完成TPM請求的處理和響應(yīng),同時對 TPM上下文的存儲實施保護(hù),主要包括-
1) 安全存儲。主要對來自TPM上下文發(fā)出的保護(hù)請求,實現(xiàn)密碼算法庫實施封裝和 解封,主要密碼機制包括SHA-1算法,RSA算法,RC4對稱密鑰算法,HMAC算法。
2) TPM請求處理。對TPM上下文接口傳來的和上下文相關(guān)的TPM命令,分別對應(yīng) 如下函數(shù)
a) PCR處理函數(shù)。對和數(shù)據(jù)完整性相關(guān)的TPM命令,依據(jù)TPM上下文接口 建立的VPCR結(jié)構(gòu),實施如下
對VPCR的讀取,通過讀取對應(yīng)虛擬域的VPCR結(jié)構(gòu)完成。
對VPCR的擴展,首先對對應(yīng)虛擬域的VPCR值實施擴展,更新對應(yīng)的Hash樹結(jié)構(gòu), 再將Hash樹的根節(jié)點寫入TPM硬件對應(yīng)PCR寄存器。
對VPCR的驗證。主要針對數(shù)據(jù)解封操作,首先對相應(yīng)的VPCR實施驗證,如果驗證 通過,則進(jìn)一步發(fā)給TPM硬件實施解封操作。
會話處理函數(shù)。主要針對會話的創(chuàng)建、使用、刪除,首先對TPM上下文中的會話資 源實施驗證,保證虛擬域和資源的對應(yīng),進(jìn)一步發(fā)給TPM處理,同時在TPM上下文中記 錄返回結(jié)果。
權(quán)利要求
1.一種虛擬環(huán)境信任構(gòu)建方法,其特征在于,使用單個TPM實現(xiàn)一個或多個虛擬域的信任,包含下列步驟a)TPM依次度量硬件,虛擬層,管理虛擬域和一個或多個應(yīng)用虛擬域,實現(xiàn)所述應(yīng)用虛擬域的信任;b)接收并處理來自各個虛擬域的TPM命令請求,為各個虛擬域創(chuàng)建和維護(hù)TPM上下文。
2. 如權(quán)利要求1所述的方法,其特征在于,步驟a)通過下述步驟實現(xiàn)所述應(yīng)用虛擬域的 信任-所述TPM依次對BIOS,引導(dǎo)系統(tǒng),虛擬層,管理虛擬域,以及管理虛擬域加載的內(nèi) 核模塊、庫文件和可執(zhí)行文件實施度量,每次度量后將度量值擴展存入PCR,實現(xiàn)所述 TPM到所述管理虛擬域的信任傳遞;所述TPM依次對一個或多個應(yīng)用虛擬域以及各個應(yīng)用虛擬域加載的內(nèi)核模塊、庫文件 和可執(zhí)行文件實施度量,每次度量后將度量值擴展存入VPCR,實現(xiàn)所述管理虛擬域到所 述應(yīng)用虛擬域的信任傳遞。
3. 如權(quán)利要求l所述的方法,其特征在于,步驟b)所述接收來自各個虛擬域的TPM命令 請求時,依據(jù)設(shè)定的規(guī)則判斷所述虛擬域是否具有執(zhí)行所述TPM命令請求所對應(yīng)的TPM 命令的權(quán)限,若是則接受所述TPM命令請求。
4 如權(quán)利要求l所述的方法,其特征在于,步驟b)所述接收來自各個虛擬域的TPM命令 請求時,依據(jù)設(shè)定的規(guī)則判斷所述虛擬域中的應(yīng)用虛擬域是否具有執(zhí)行所述TPM命令請 求所對應(yīng)的TPM命令的權(quán)限,若是則接受所述TPM命令請求,對于管理虛擬域的TPM 命令請求則直接接受。
5. 如權(quán)利要求3或4所述的方法,其特征在于,所述管理虛擬域的TPM命令請求被接受 后,判定其是否屬于管理員的管理請求,若否則直接交由TPM處理所述TPM命令請求對 應(yīng)的TPM命令;若是則分析所述管理請求的類型,根據(jù)不同的類型執(zhí)行相應(yīng)的管理操作。
6. 如權(quán)利要求5所述的方法,其特征在于,所述的管理請求類型若為日志管理類型,則 執(zhí)行虛擬域日志的査詢、刪除、歸檔等操作;所述的管理請求類型若為訪問控制管理類型, 則執(zhí)行控制策略的創(chuàng)建、修改、刪除、取消等操作;所述的管理請求類型若為平臺遷移管 理類型,則執(zhí)行虛擬域上下文的存檔、傳輸密鑰協(xié)商,上下文存儲鏡像加密傳輸;所述的 管理請求類型若為密鑰遷移管理類型,則修改密鑰所屬的虛擬域上下文屬性。
7. 如權(quán)利要求3或4所述的方法,其特征在于,所述應(yīng)用虛擬域的TPM命令請求被接受后,判斷所述TPM命令請求對應(yīng)的TPM命令是否和所述應(yīng)用虛擬域的TPM上下文有關(guān), 若否,則交由TPM處理所述TPM命令請求對應(yīng)的TPM命令,若是,則在TPM處理所述 TPM命令請求對應(yīng)的TPM命令的同時對所述應(yīng)用虛擬域的TPM上下文作相應(yīng)的更新。 8.如權(quán)利要求l所述的方法,其特征在于,所述TPM上下文包括虛擬平臺配置寄存器、 TPM狀態(tài)、關(guān)聯(lián)接口狀態(tài)、和TPM的密鑰句柄和會話句柄。
全文摘要
本發(fā)明公開了一種虛擬環(huán)境信任構(gòu)建方法,屬于信息安全中的可信計算領(lǐng)域。本發(fā)明使用單個TPM實現(xiàn)一個或多個虛擬域的信任,包含下列步驟a)TPM依次度量硬件,虛擬層,管理虛擬域和一個或多個應(yīng)用虛擬域,實現(xiàn)所述應(yīng)用虛擬域的信任;b)接收并處理來自各個虛擬域的TPM命令請求,為各個虛擬域創(chuàng)建和維護(hù)TPM上下文。本發(fā)明的優(yōu)勢在于(1)通過完善的可信隔離機制加強了平臺的安全性和可信性,更好的支持可信應(yīng)用服務(wù);(2)實現(xiàn)了各虛擬域?qū)尚庞布鵗PM的安全共享。
文檔編號G06F21/00GK101350044SQ20081011928
公開日2009年1月21日 申請日期2008年9月2日 優(yōu)先權(quán)日2008年9月2日
發(fā)明者馮等國, 宇 秦, 聶曉偉 申請人:中國科學(xué)院軟件研究所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1