亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        具有瀑布特征的可信虛擬平臺信任鏈模型

        2018-04-12 05:51:06能,譚
        計(jì)算機(jī)應(yīng)用 2018年2期
        關(guān)鍵詞:度量虛擬化組件

        齊 能,譚 良

        (1.四川師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院,成都 610101; 2.中國科學(xué)院 計(jì)算技術(shù)研究所,北京 100190)(*通信作者電子郵箱qihuaneng@163.com)

        0 引言

        隨著云計(jì)算、大數(shù)據(jù)等大型計(jì)算應(yīng)用環(huán)境在實(shí)際業(yè)務(wù)上更多的應(yīng)用,具有提高效率、節(jié)約成本等優(yōu)點(diǎn)的虛擬化技術(shù)得到工業(yè)界和學(xué)術(shù)界的高度關(guān)注,并得以快速應(yīng)用和推廣。如何保障虛擬化平臺服務(wù)的可信[1-3],確認(rèn)虛擬化平臺向用戶提供可信任的資源和服務(wù)[4-6],是目前亟待解決的問題。基于硬件信任根的可信計(jì)算技術(shù)作為保障信息系統(tǒng)安全的關(guān)鍵技術(shù),通過構(gòu)建從平臺底層硬件到平臺上層應(yīng)用程序的信任鏈[7-8],并結(jié)合可信遠(yuǎn)程證明向平臺外部實(shí)體提供可信證明[9-11]。因此,利用可信計(jì)算技術(shù)保證虛擬機(jī)平臺可信、構(gòu)建可信虛擬平臺(Trusted Virtualization Platform, TVP)環(huán)境并構(gòu)建其信任鏈模型成為目前的研究熱點(diǎn)。

        TVP的概念首先由Berger等[12]提出,隨后一些學(xué)者[13-16]針對如何構(gòu)建具體應(yīng)用場景的TVP功能應(yīng)用以及抽象和統(tǒng)一的TVP概念取得了很多較好的研究成果,并且達(dá)成了一些基本的共識。目前,相關(guān)學(xué)者絕大多數(shù)都認(rèn)為,在物理上,TVP作為一個可以支持虛擬化技術(shù)的可信計(jì)算物理主機(jī),與一般的可信計(jì)算的區(qū)別在于:擁有在物理硬件可信平臺模塊(Trusted Platform Module, TPM)構(gòu)建起來的虛擬可信信任根;可以為多個用戶虛擬機(jī)(Virtual Machine, VM)提供可信虛擬信任環(huán)境。這種TVP的運(yùn)行架構(gòu)如圖1所示。從功能上看,TVP架構(gòu)主要分為四個層次:第一層為硬件信任根TVP,為整個架構(gòu)提供信任的物理保證;第二層主要包括虛擬機(jī)監(jiān)視器(Virtual Machine Monitor, VMM),及構(gòu)建于VMM之上的管理域,它們通常被認(rèn)為是TVP的可信計(jì)算基(Trusted Computing Base, TCB);第三層是虛擬信任根(virtual Root of Trust, vRT),由于實(shí)現(xiàn)方案不同(如圖1中(a)、(b)所示),可作為傳統(tǒng)信任鏈的擴(kuò)展,或者利用動態(tài)度量信任根(Dynamic Root of Trusted Measurement, DRTM)機(jī)制啟動;第四層是與用戶緊密相關(guān)的用戶虛擬機(jī)。

        圖1 TVP基本運(yùn)行架構(gòu)Fig. 1 Basic running architecture of TVP

        盡管如此,上述的TVP基本運(yùn)行架構(gòu)以及信任鏈傳遞模型存在過粗且邏輯上不完全合理的問題,與云環(huán)境中虛擬化平臺也不完全相符合。如圖1所示,為了便于敘述,本文將圖1中從TPM到第三層的信任鏈稱為可信虛擬平臺信任鏈,將第四層的信任鏈稱為虛擬機(jī)信任鏈。具體問題表現(xiàn)在:

        1)現(xiàn)有的TVP模型把整個第三層都作為TVP的TCB并作為虛擬機(jī)的vRT,顯然是不精細(xì)的,且邏輯上也不完全合理的。第三層包括VMM以及DOM管理域(即宿主機(jī)Domain0,為方便描述,后文稱為Dom0),信任鏈為CRTM(Core Root of Trust for Measurement)→BIOS→BootLoader→VMM→DOM OS→Apps,DOM管理域包含OS及大量的應(yīng)用程序,顯然不能采用鏈?zhǔn)蕉攘克械膽?yīng)用程序并存儲其平臺配置寄存器(Platform Configuration Register, PCR)值。

        2)虛擬平臺信任鏈與虛擬機(jī)信任鏈?zhǔn)莾蓷l不同的信任鏈,即在整個TVP以及客戶虛擬機(jī)啟動過程中存在兩條在度量層次和度量時間上完全分隔的信任鏈,一條是可信虛擬平臺在啟動時的信任鏈,另一條是客戶虛擬機(jī)在啟動時的信任鏈。

        針對上述問題,本文提出了一種具有瀑布特征的TVP架構(gòu)TVP-QT,并對TVP-QT信任鏈傳遞模型進(jìn)行了構(gòu)建,建立了擁有可信銜接點(diǎn)(Trusted-Joint Point, TJP)的TVP-QT及其完整的信任鏈模型。該模型以虛擬化硬件層物理TPM為起點(diǎn),在可信虛擬化平臺信任鏈和可信虛擬機(jī)信任鏈之間加入可信銜接點(diǎn)。當(dāng)信任鏈從可信云平臺傳遞到可信銜接點(diǎn)時,由可信銜接點(diǎn)負(fù)責(zé)對可信虛擬機(jī)的可信虛擬平臺模塊(virtualization Trusted Platform Module, vTPM)及相關(guān)組件進(jìn)行度量,之后再將控制權(quán)交給vTPM,由vTPM負(fù)責(zé)對虛擬機(jī)的VBIOS(Virtual BIOS)、VMOS(OS of Virtual Machine)到VM應(yīng)用進(jìn)行度量。該模型中可信銜接點(diǎn)具有承上啟下的瀑布特征,能滿足云環(huán)境的層次性和動態(tài)性特征,保證了整個可信虛擬平臺的可信性。

        1 相關(guān)工作

        目前針對TVP及其抽象模型以及信任鏈傳遞模型的研究得到了國內(nèi)外學(xué)者的廣泛關(guān)注,本文就目前對TVP、TVP信任鏈模型的研究進(jìn)行了以下總結(jié)和分析。

        對于TVP的研究,早在TVP概念出現(xiàn)之前,就出現(xiàn)了利用可信計(jì)算技術(shù)解決虛擬系統(tǒng)平臺安全的方案,為TVP的發(fā)展提供了一些理論和構(gòu)建基礎(chǔ),這些平臺包括Terra[17]、PERSEUS[18]等,這些平臺的主要思想是把底層計(jì)算平臺分為兩部分,包括運(yùn)行著高安全性需求虛擬機(jī)的可信區(qū)域和其他不可信區(qū)域。隨后,Berger等[12]首先提出構(gòu)建TVP的基本組件vRT、vTPM等基本思想,并且構(gòu)建了具體的TVP架構(gòu)。根據(jù)文獻(xiàn)[12]的vRT等概念,HP、IBM等研究機(jī)構(gòu)分別提出并構(gòu)建了相應(yīng)的TVP[13-14],其TVP架構(gòu)可根據(jù)不同應(yīng)用需求建立用戶可定制的TVP,在很大程度上推動了TVP的發(fā)展。隨后,Krautheim等[15]、王麗娜等[16]基于云計(jì)算環(huán)境建立了TVP,使其可以保護(hù)云計(jì)算環(huán)境下的虛擬機(jī)運(yùn)行,以及保護(hù)虛擬機(jī)運(yùn)行時上層服務(wù)軟件的完整性、安全性。之后,常德顯等[19]根據(jù)TVP的功能層次給出了包括虛擬機(jī)和虛擬可信根的TVP定義,并細(xì)分為VMM、Dom0、TPM、vRT等組件。Zhang等[20]提出一種具有可信域?qū)哟蔚腡VP,通過采用可信云平臺和可信虛擬機(jī)進(jìn)行分離的TVP構(gòu)建機(jī)制,實(shí)現(xiàn)了對可信云平臺以及可信虛擬機(jī)的安全保障。Yu等[21]、池亞平等[22]、李海威等[23]提出的可信虛擬平臺均為鏈?zhǔn)浇Y(jié)構(gòu),存在信任鏈分離的問題。徐天琦等[24]、楊麗芳等[25]、蔡誼等[26]也分別利用可信計(jì)算技術(shù)構(gòu)建TVP解決虛擬化平臺服務(wù)器的安全性問題??偨Y(jié)起來,目前已有的研究成果把TVP的VMM和管理域都作為TCB,一起作為虛擬機(jī)的vRT,這顯然存在過粗且邏輯上不完全合理的問題,因?yàn)楣芾碛虬琌S及大量的應(yīng)用程序,不能采用鏈?zhǔn)蕉攘克械膽?yīng)用程序并存儲其PCR值。

        對于TVP信任鏈模型的研究,主要包括三個方面。其一是通過對可信計(jì)算組織(Trusted Computing Group, TCG)鏈?zhǔn)叫湃捂溎P偷臄U(kuò)展,實(shí)現(xiàn)TVP下可信度量以及信任傳遞。Scarlata等[27]提出在構(gòu)建TVP時,通過可信測量構(gòu)建從CRTM可信根到每個客戶虛擬機(jī)的信任鏈,就可以證明每個客戶虛擬機(jī)是可信的;這種信任鏈模型是不完善的,無法適應(yīng)比較復(fù)雜的TVP環(huán)境。Krautheim等[28]對信任鏈擴(kuò)展上提出了“Transitive Trust Chain”信任鏈模型,并且簡要地指出了信任鏈傳遞過程為TPM→VMM→TVEM manager→TVEM→VM OS→應(yīng)用程序(APP),但是此種信任鏈模型沒有詳細(xì)描述特權(quán)域操作系統(tǒng)以及虛擬機(jī)操作系統(tǒng)的可信度量。Shen等[29]根據(jù)TCG動態(tài)度量方法提出了一種基于Xen的可信虛擬機(jī)在DRTM下的信任鏈構(gòu)建,其具體的構(gòu)建過程為:CPU→可信代碼→Xen VMM→Dom0(→vTPM Manager→Domain Builder)→Guest OS→APP,此種信任鏈模型也存在Krautheim等[28]所提模型中的問題。其二是通過研究可信云平臺和可信虛擬機(jī)兩部分的信任鏈,構(gòu)建TVP下的信任鏈模型。常德顯等[19]提出的TVP信任鏈從功能層次可表示為:硬件TPM層→TCB層→vRT層→用戶虛擬機(jī)層的信任鏈模型,此信任鏈模型對vRT及層次間的連接定義比較模糊。Zhang等[20]提出一種基于無干擾的可信域?qū)哟涡湃捂溎P?,并且指出分別度量物理主機(jī)和VM的方式,即首先度量從物理的TPM到物理主機(jī)的應(yīng)用程序,然后度量VM的vTPM和應(yīng)用程序,此種信任鏈模型無法有效地在TVP下構(gòu)建完整的鏈?zhǔn)叫湃捂溎P?,不能向用戶虛擬機(jī)呈現(xiàn)一條完整的信任鏈模型,文獻(xiàn)[22-23]也存在此類問題。其三是樹型或者星型的信任鏈模型。一部分學(xué)者認(rèn)為TCG的鏈?zhǔn)叫湃捂溈尚哦攘糠绞皆谔摂M化環(huán)境下是難以有效構(gòu)建的。朱智強(qiáng)[30]、曲文濤[31]基于星型信任度量結(jié)構(gòu),提出基于信任根(Root of Trust, RT)對各個節(jié)點(diǎn)進(jìn)行度量的模型及其改進(jìn),但是此種信任鏈模型也存在負(fù)擔(dān)重的管理域(Management Domain, MD)節(jié)點(diǎn)。總結(jié)起來,目前針對TVP的信任鏈模型的共同問題是信任鏈模型過粗且邏輯上不合理,而且目前研究內(nèi)容中的可信虛擬平臺信任鏈與虛擬機(jī)信任鏈?zhǔn)莾蓷l在度量層次和度量時間上分離的信任鏈,不能向虛擬機(jī)用戶展示一條從TPM到虛擬機(jī)應(yīng)用的完整信任鏈。

        綜上所述,TVP基本運(yùn)行架構(gòu)以及信任鏈傳遞模型均有待改進(jìn)。特別地,由于TVP具有層次性和動態(tài)性,已有的研究成果不能精細(xì)地描述虛擬化環(huán)境中復(fù)雜的信任鏈傳遞機(jī)制,且存在兩條分離的信任鏈。

        2 具有瀑布特征的TVP及信任鏈模型

        為解決引言中提出的問題,本文提出了具有瀑布特征的TVP-QT及信任鏈模型。本文主要針對TVP-QT及信任鏈模型,而針對虛擬化平臺固有的安全性機(jī)制,比如VMM的特權(quán)域操作、VM之間的隔離性等安全性機(jī)制,可參考Barthe等[32]給出的形式化描述與分析。本章將對TVP-QT的功能組件以及TVP-QT信任鏈信任屬性進(jìn)行定義,并在下一章利用文獻(xiàn)[33]提出的安全邏輯形式化方法對信任鏈進(jìn)行形式化分析。本文主要對文獻(xiàn)[19]給出的定義進(jìn)行擴(kuò)展,其基本定義不再敘述。

        2.1 TVP-QT信任模型

        基于已有的TVP研究方案,本文提出的TVP-QT信任模型如圖2所示。TVP-QT分為五個層次:第一層是硬件信任根TPM構(gòu)成的可信虛擬平臺底層。第二層主要包括VMM以及管理域Dom0的相關(guān)組件,包括VBOIS、VOSLoader、VMOS等組件,作為TVP-QT的可信計(jì)算基。把Dom0 Kernel看成是可信基,這比已有的TVP更合理,因?yàn)镈om0實(shí)際上是整個虛擬化平臺的管理域,含大量的應(yīng)用程序,這些管理程序無法采用TCG鏈?zhǔn)蕉攘浚埠苋菀资艿焦舳淖僛34-37]。第三層是重點(diǎn)設(shè)計(jì)的可信銜接點(diǎn),可信銜接點(diǎn)位于Dom0,是Dom0的一組應(yīng)用程序,包括vTPM實(shí)例的創(chuàng)建模塊vTPM Builder、vTPM-VM映射組件vTPM-VM Binding以及VM的創(chuàng)建組件VM Builder,且作為vRT的一部分,在信任鏈上按照vTPM Builder→vTPM-VM Binding→VM Builder的順序依次進(jìn)行度量??尚陪暯狱c(diǎn)可對TVP-QT的第一、第二層與第四、第五層進(jìn)行有效銜接,保證TVP-QT信任鏈構(gòu)建的連貫性,起到承上啟下的作用,具有瀑布特征。第四層為vTPM,最上層為用戶虛擬機(jī)層次,其運(yùn)行時組件主要包括VBIOS、VOSLoader、VMOS、應(yīng)用程序(APP)等相關(guān)組件。基于上述對TVP-QT的分析,本文依據(jù)文獻(xiàn)[19]的基礎(chǔ)定義進(jìn)行擴(kuò)展抽象定義。

        圖2 TVP-QT運(yùn)行架構(gòu)Fig. 2 Running architecture of TVP-QT

        定義1TVP-QT主要包括兩類功能組件:TVP-QT:={M, RT}。其中:M表示虛擬化平臺所有主機(jī)類型集合,包括構(gòu)成虛擬化平臺的基本組件VMM、管理域內(nèi)核、可信銜接點(diǎn)及用戶虛擬機(jī)等;信任根(RT)是構(gòu)建TVP信任環(huán)境的基礎(chǔ),也是TVP的核心組件,對TVP-QT來說,它包括硬件TPM、可信銜接點(diǎn)TJP和vTPM。

        其中:M={m, vm},m:={VMM, Dom0 Kernel, TJP},vm:={vm1, vm2, …, vmn};RT:={TPM, vRT}={TPM, (TJP, vTPM)};并且m必須利用TPM進(jìn)行可信度量來提供信任,vm利用TJP和vm對應(yīng)的vTPM實(shí)例進(jìn)行可信度量??尚陪暯狱c(diǎn)TJP可以劃分為TJP:={vTPM Builder, vTPM-VM Binding, VM Builder},其中vTPM Builder表示與創(chuàng)建和管理vTPM實(shí)例相關(guān)的組件,并負(fù)責(zé)提供給vm運(yùn)行時的vTPM標(biāo)識以及端口;而vTPM-VM Binding則表示對vm和vTPM實(shí)例間綁定關(guān)系的相關(guān)組件;VM Builder表示與創(chuàng)建用戶虛擬機(jī)相關(guān)的配置文件、組件等。在TVP-QT涉及到的vTPM架構(gòu)中,每個vm必須與唯一對應(yīng)的vTPM實(shí)例綁定。可信銜接點(diǎn)TJP的來源如表1所示,其中vTPM管理組件可由VMM上的vTPM組件提供,比如目前存在于Xen上的vTPM Manager。

        表1 TJP功能組件來源Tab. 1 Resource of TJP’s components

        相對于已有的TVP,本文提出的TVP-QT信任模型具有如下特點(diǎn):

        1)TVP-QT更加精細(xì)。已有的TVP把整個管理域作為TCB,TVP-QT模型僅把Dom0 Kernel、TJP及vTPM作為TCB。

        2)TVP-QT在邏輯上更合理。一方面,TVP-QT可以按鏈?zhǔn)蕉攘克袑哟危蟃CG的鏈?zhǔn)蕉攘繕?biāo)準(zhǔn);另一方面,TVP-QT增加了TJP,從邏輯上比已有的TVP更加合理。

        2.2 TVP-QT信任鏈及屬性

        本文依據(jù)TCG對信任鏈的基本定義和要求構(gòu)建了基于TVP-QT的信任鏈模型,如圖3所示,從外部實(shí)體來看,虛擬化平臺仍然滿足TCG最初建立信任環(huán)境的思想。

        圖3 虛擬化平臺可信環(huán)境信任鏈構(gòu)建與驗(yàn)證Fig. 3 Construction and validation of TVP-QT trust chain

        本文將2.1節(jié)的可驗(yàn)證目標(biāo)抽象為信任鏈的信任屬性(Trusted Property, TP),其抽象定義如下。

        定義2TVP-QT的信任屬性為一個二元組:TPTVP-QT:={TCTVP-QT,VerTVP-QT},其中TCTVP-QT表示2.1節(jié)對TVP-QT信任鏈模型具體構(gòu)建過程描述的各個組件序列,VerTVP-QT表示為需要對TVP-QT信任鏈模型進(jìn)行遠(yuǎn)程認(rèn)證的執(zhí)行序列。

        按照定義1對TVP-QT中相應(yīng)功能組件的定義,該TVP-QT信任屬性可以進(jìn)一步細(xì)分為:

        TPTVP-QT:={(TCm,(TCTJP,TCvTPM),TCvm),

        (Verm,(VerTJP,VervTPM),Vervm)}

        由定義可知TVP-QT信任屬性可以分為三類:m的信任屬性TCm,vRT的信任屬性TCvRT,以及vm的信任屬性TCvm。其中TCvRT包含TCTJP和TCvTPM兩個屬性。下面對TVP-QT三類組件的信任屬性進(jìn)行分別闡述。

        1)主機(jī)m的信任屬性表示為TPm:={TCm,Verm},其中,TCm表示基于硬件信任根構(gòu)建的信任鏈,即CRTM→BIOS→OSLoader→VMM→Dom0 KernelTPM_Static,此部分信任鏈可基于硬件可信芯片TPM的可信度量,在TVP-QT信任鏈可信傳遞過程中沒有其他程序代碼加載或者執(zhí)行。Verm:=Verify(m, TCm)表示對外驗(yàn)證主機(jī)m所聲稱的信任屬性TCm,使遠(yuǎn)程驗(yàn)證者R相信TVP-QT平臺主機(jī)m擁有這樣的信任鏈屬性TCm。

        2)vRT的信任屬性為TPvRT:={TCvRT, VervRT}。由定義1對vRT以及定義2對TVP-QT信任屬性的定義:

        TPvRT:={(TCTJP, VerTJP), (TCvTPM, VervTPM)}

        其中,TCTJP表示基于硬件信任根構(gòu)建的信任鏈銜接點(diǎn),其信任傳遞的過程包括兩種情況:其一是在m啟動時,需要采用靜態(tài)度量方式對TJP進(jìn)行度量,其信任傳遞的過程為 (…→Dom0 Kernel→TJP)TPM_Static,完整地表示為:(CRTM→BIOS→OSLoader→VMM→Dom0 Kernel →vTPM Builder → vTPM-VM Binding→VM Builder)TPM_Static;其二是在創(chuàng)建vm時,為了保證TJP的可信(由于TJP是應(yīng)用程序,惡意程序容易篡改),從而使得信任關(guān)系可以傳遞到新建的vm, 需要采用動態(tài)度量方式對TJP重新度量驗(yàn)證,信任傳遞的過程為 (TJP)TPM_Dynamic,完整表示為:(vTPM Builder→vTPM-VM Binding→VM Builder)TPM_Dynamic。在這兩種情況下,VerTJP:=Verify(TJP, TCTJP)表示對外驗(yàn)證可信銜接點(diǎn)所聲稱的信任屬性TCTJP;TCvTPM表示用戶虛擬機(jī)信任根vTPM。其中,TJP到vTPM的信任傳遞,既可以采用靜態(tài)度量,也可以采用動態(tài)度量,其信任傳遞的過程為:(TJP→vTPM)TPM_Staic或(TJP→vTPM)TPM_Dynamic。VervTPM:=Verify(vTPM, VervTPM)表示對外驗(yàn)證vTPM所聲稱的信任屬性TCvTPM。

        3)vm的信任屬性表示為TPvm:={TCvm,Vervm},其中TCvm表示基于vTPM構(gòu)建的信任鏈,在創(chuàng)建vm時需采用動態(tài)度量方式對TJP進(jìn)行度量,vm從初始化到應(yīng)用的可信啟動過程為:(TJP)TPM_Dynamic→{INIT→VBIOS→VOSLoader→VMOS→APP}vTPM_Static。VerVM:=Verify(vm,TCvm)表示vm信任鏈的外部驗(yàn)證。

        顯然,相對于已有的TVP信任鏈模型,本文提出的TVP-QT信任鏈模型具有如下特點(diǎn):

        1)TVP-QT信任鏈模型具有瀑布特征。TJP將分離的兩條信任鏈鏈接起來,保證TVP-QT信任鏈構(gòu)建的連貫性,起到承上啟下的作用。

        2)TVP-QT信任鏈模型具有動態(tài)性和層次性。動態(tài)性主要體現(xiàn)在兩個方面:其一,從時間上看ms的信任鏈和vm的信任鏈?zhǔn)莾蓷l分離的信任鏈;其二,可信銜接點(diǎn)TJP在ms啟動時采用的是靜態(tài)度量,而在vm創(chuàng)建時,需要動態(tài)度量。層次性主要體現(xiàn)在ms的信任鏈?zhǔn)腔A(chǔ),處于底層,而各vm的信任鏈?zhǔn)切湃螖U(kuò)展,處于頂層。底層信任鏈和頂層信任鏈通過銜接點(diǎn)TJP鏈接,保證底層信任鏈到頂層信任鏈的信任擴(kuò)展。

        3)TVP-QT信任鏈模型利用構(gòu)建的可信銜接點(diǎn)解決了虛擬平臺信任鏈與虛擬機(jī)信任鏈的銜接問題。

        3 基于擴(kuò)展LS2的TVP-QT信任鏈分析

        本文將采用已有的形式化分析方法“擴(kuò)展安全邏輯(Logic of Secure System, LS2)”對TVP-QT信任鏈模型進(jìn)行形式化分析。對LS2的具體內(nèi)容可參考文獻(xiàn)[19,33]。

        3.1 基本假定

        在對TVP-QT信任鏈屬性進(jìn)行形式化分析前,本文假定以下條件是成立的:1)TVP中的每個層次的鏡像文件未受破壞,用戶虛擬機(jī)可被可信度量;2)m支持 DRTM技術(shù),能夠動態(tài)度量TJP和vTPM;3)vTPM的平臺身份密鑰(Attestation Identity Key,AIK)已得到認(rèn)證并頒發(fā)證書,具體實(shí)現(xiàn)方案參見vTPM[14]及 Trust Visor[38]等;4)遠(yuǎn)程挑戰(zhàn)者 R 與本地TVP之間已經(jīng)建立了安全信道[19]。

        從2.2節(jié)的分析可知,本文對TVP-QT 信任鏈的信任屬性分析驗(yàn)證主要包括三部分:

        1)包括TJP在內(nèi)的m信任鏈構(gòu)建的驗(yàn)證及遠(yuǎn)程驗(yàn)證;

        2)TJP動態(tài)度量驗(yàn)證及遠(yuǎn)程驗(yàn)證;

        3)利用vTPM構(gòu)建的vm信任鏈驗(yàn)證及遠(yuǎn)程證明。

        在這三部分中,對3)的驗(yàn)證分析與文獻(xiàn)[19]相同,具體過程可參見文獻(xiàn)[19],本文不再論述;下面本文只對1)、2)進(jìn)行驗(yàn)證分析。

        3.2 m信任鏈的本地驗(yàn)證及遠(yuǎn)程證明

        3.2.1本地程序執(zhí)行

        根據(jù)2.2節(jié)對TVP中m信任屬性TPm定義以及TPvRT中對TCTJP的定義,其信任鏈本地執(zhí)行過程中涉及到的程序如下列程序1(Code Segment 1)所示。

        Code Segment 1:

        SRTM(m)≡b=read m.bios_loc

        Extend m.pcr.s,b;

        Jump b

        BIOS(m)≡o=read m.os_loader_loc

        Extend m.pcr.s,o;

        Jump o

        OSLoader(m)≡v=read m.vmm_loc

        Extend m.pcr.s,v;

        Jump v

        VMM(m)≡d=read m.dom0_Kernel_loc

        Extend m.pcr.s,d;

        Jump d

        Dom0 Kernel(m)≡vb=read m.tjp_loc

        Extend t.pcr.s,t;

        Jump vb

        vTPMBuilder(m)≡vv=read m.vtpm-vm-binding_loc

        Extend m.pcr.s,vv;

        Jump vv

        vTPMVM Binding(m)≡vmb=read m.vm-builder_loc

        Extend m.pcr.s,vm;

        Jump vmb

        VMBuilder(m)≡o_app=read m. o_app _loc

        Extend m.pcr.s, o_app;

        Jump o_app

        OtherAPP(m)≡…

        程序執(zhí)行流程:m首先從CRTM啟動執(zhí)行,它從主機(jī)內(nèi)存地址m.bios_loc中讀取BIOS的代碼b,將其擴(kuò)展到一個PCR中,之后執(zhí)行指令Jump b;然后CRTM將控制權(quán)傳遞給m的BIOS,它從主機(jī)內(nèi)存地址m.os_loader_loc中讀取OS_Loader代碼o,將其擴(kuò)展到一個PCR中,之后執(zhí)行指令Jump o,將控制權(quán)交給OSLoader;OSLoader繼續(xù)按序從內(nèi)存m.vmm_loc讀取VMM的代碼v,將其擴(kuò)展到m.pcr.s[19],然后轉(zhuǎn)換控制權(quán)給VMM,VMM、Dom0 Kernel執(zhí)行相似流程,直到可信銜接點(diǎn)TJP的加載。

        3.2.2本地可信屬性描述

        由上文信任鏈傳遞程序執(zhí)行過程可知,體現(xiàn)主機(jī)m信任鏈的是主機(jī)進(jìn)行可信度量后唯一對應(yīng)的PCR值。因此,基于定義2,可將m的本地信任傳遞屬性歸納為:信任鏈加載的正確由PCR中度量值決定。即m的本地信任傳遞屬性就是要求所有相應(yīng)啟動程序如BIOS、OSLoader、VMM、Dom0 Kernel、vTPM Builder、 vTPM-VM Binding、VM Builder等都能按確定的先后順序加載。以LS2將這種順序形式化表示為:

        MeasuredBootSRTM(m,t)=

        ?tS.?tb.?to.?tv.?td.?tvb.?tvv.?tvmb.?to_app∧

        ?J.(tS

        (Reset(m,J)@tS)∧(Jump(J,BIOS(m))@tb)∧

        (Jump(J,OSLoader(m))@to)∧

        (Jump(J,VMM(m))@tv)∧

        (Jump(J,Dom0_Kernel(m))@td)∧

        (Jump(J,vTPM-Builder(m))@tvb)∧

        (Jump(J,vTPM-VMBinding(m))@tvv)∧

        (Jump(J,VM-Builder(m))@tvvb)∧

        (Jump(J,VM-Builder(m))@to_app)∧

        (┐Reset(m)on(tS,t])∧(┐Jump(J)on(tS,tb))∧

        (┐Jump(J)on(tB,to))∧(┐Jump(J)on(to,tv))∧

        (┐Jump(J)on(tv,td))∧(┐Jump(J)on(td,tvb))∧

        (┐Jump(J)on(tvb,tvv))∧(┐Jump(J)on(tvv,tvvb))∧

        (┐Jump(J)on(tvvb,to_app))

        上述公式表示:如果TVP的m基于信任鏈構(gòu)建了本地信任環(huán)境,則其啟動過程一定是從BIOS跳轉(zhuǎn)到OSLoader,從OSLoader到VMM,從VMM到Dom0_Kernel,然后從Dom0_ Kernel到TJP,而在此期間不會有其他程序執(zhí)行。為保證程序逐級加載順序與PCR值相對應(yīng),必須證明信任鏈本地屬性是成立的。

        定理1如果m從CRTM啟動運(yùn)行,且與該m啟動過程對應(yīng)的PCR值為seq(BIOS(m),OSLoader(m),VMM(m),Dom0_Kernel(m), vTPM Builder(m), vTPM-VM Binding(m), VM Builder(m)),那么該m的本地信任鏈傳遞過程就是唯一的、正確的,即確定地從BIOS(m)到OSLoader(m)再到VMM(m)、Dom0 Kernel(m)、vTPM Builder(m)、 vTPM-VM Binding(m)、VM Builde(m)。該信任屬性形式化表示為:

        ProtectedSRTM(m)+Mem(m.pcr.s,seq(BIOS(m),

        OSLoader(m),VMM(m),Dom0_Kernel(m),

        vTPMBuilder(m),vTPM-VM Binding(m),

        VM Builder(m)))?MeasuredBootSRTM(m,t)

        證明本文按照以下步驟進(jìn)行證明:

        首先,由前提條件可知在時間點(diǎn)t,有Mem(m.pcr.s, seq(BIOS(m),OSLoader(m), VMM(m), Dom0_Kernel(m), vTPM Builder(m), vTPM-VM Binding(m), VM Builder(m)))成立,反復(fù)利用PCR公理即可直接得到在該序列中的所有子序列一定在時間t之前就出現(xiàn)在m.pcr.s中,即:

        ?tS,t1,t2,t3,t4,t5,t6,J.(tS≤t1

        (Mem(m.pcr.s,seq(BIOS(m),OSLoader(m),

        VMM(m),Dom0_Kernel(m),vTPM Builder(m),

        vTPM-VM Binding(m),VM Builder(m)))@t)∧

        (Mem(m.pcr.s,seq(BIOS(m),OSLoader(m),

        VMM(m),Dom0_Kernel(m),vTPM Builder(m),

        vTPM-VM Binding(m)))@t6)∧(Mem(m.pcr.s,

        seq(BIOS(m),OSLoader(m),VMM(m),

        Dom0_Kernel(m),vTPM Builder(m))),@t5)∧

        (Mem(m.pcr.s,seq(BIOS(m),OSLoader(m),

        VMM(m),Dom0_Kernel(m)))@t4)∧(Mem(m.pcr.s,

        seq(BIOS(m),OSLoader(m),VMM(m)))@t3)∧

        (Mem(m.pcr.s,seq(BIOS(m),OSLoader(m)))@t2)∧

        (Mem(m.pcr.s,seq(BIOS(m)))@t1)∧

        Reset(m,J)@tS∧(┐Reset(m)on(tS,t))

        (1)

        接下來對程序1中信任鏈的執(zhí)行過程進(jìn)行說明,最先執(zhí)行的操作是以CRTM為起點(diǎn)啟動m,即Reset(m,J),然后m執(zhí)行第一個信任程序BIOS(m)。利用LS2規(guī)則,在某個時間tB,程序會跳轉(zhuǎn)到b,此時內(nèi)存位置被鎖定,防止其他程序跳轉(zhuǎn)[19]。即有以下屬性(2)成立。

        ?t′,b,o

        (((Mem(m.pcr.s,seq(BIOS,b,o))@t′)∧(ts

        ?tb·((ts

        (IsLocked(m.pcr.s,J)@tb)

        (2)

        類似地,接下來的信任程序:OSLoader(m)、VMM(m)、Dom0_Kernel(m)、vTPM Builder(m)、vTPM-VM Binding(m)和VM Builder(m)也利用LS2規(guī)則,在某個時間to、tv、td、tvb、tvv、tvmb、to_app,程序會跳轉(zhuǎn)到o、v、d、vb、vv、vmb、o_app,且其他時間不會有程序跳轉(zhuǎn),相應(yīng)的內(nèi)存位置(即PCR值)被該線程鎖定,即有o、v等對應(yīng)的類似式(2)的屬性成立,限于篇幅,這些屬性略。

        根據(jù)式(2)及o、v、d等對應(yīng)的屬性可知,如果前提條件滿足,那么m上執(zhí)行程序的順序一定是從BIOS(m)到OSLoader(m)再到VMM(m)、Dom0Kernel(m)、TJP(m)。

        ?tS,tb,to,tv,td,tvb,tvv,tvmb,to_app

        (tS

        (┐Reset(m,I)on(tS,t])∧(Reset(m,J)@tS)∧

        (Jump(J,BIOS(m))@tb)(┐Jump(J,BIOS(m))

        on(tS,tb))∧(Jump(J,OSLoader(m))@to)∧

        (┐Jump(J,OSLoader(m))on(tb,to))∧

        (Jump(J,VMM(m))@tv)∧

        (┐Jump(J,VMM(m))on(to,tv))∧

        (Jump(J,Dom0_Kernel(m))@td)∧

        (┐Jump(J,Dom0_Kernel(m))on(tv,td))∧

        (Jump(J,vTPM-Builder(m))@tvb)∧

        (┐Jump(J,vTPM-Builder(m))on(td,tvb))∧

        (Jump(J,vTPM-VM Binding(m))@tvv)∧

        (┐Jump(J,vTPM-Builder(m))on(tvb,tvv))∧

        (Jump(J,VM Binding(m))@tvmb)∧

        (┐Jump(J,VM Builder(m))on(tvv,tvmb))∧

        (Jump(J,VM Binding(m))@to_app)∧

        (┐Jump(J,VM Builder(m))on(tvmb,to_app))

        (3)

        定理1即得證。

        可信計(jì)算技術(shù)提供的度量擴(kuò)展機(jī)制能夠保證只有程序得到正確的內(nèi)存值時才能繼續(xù)運(yùn)行下一個程序,可確保程序是在無攻擊者存在的情況下運(yùn)行的。

        3.2.3信任鏈遠(yuǎn)程驗(yàn)證

        TVP-QT的m需要對外部挑戰(zhàn)者證明自身的信任屬性,需要證明MeasuredBootSRTM(m,t)成立,證明方法可參照上文以及文獻(xiàn)[33],本文在此僅對驗(yàn)證程序進(jìn)行說明。m信任傳遞的遠(yuǎn)程驗(yàn)證過程中涉及到的程序,如程序2(Code Segment 2)所示。

        Code Segment 2:

        TPMSRTM(m)≡w=read m.pcr.s;

        r=sign(PCR(s),w),AIK-1(m);

        send r

        Verifier(m)≡sig=recieve;

        v=verify sig, AIK(m);

        match v,(PCR(s),

        seq(BIOS(m),OSLoader(m),VMM(m),

        Dom0_Kernel(m),vTPM Builder(m),

        vTPM-VM Binding(m),VM Builder(m)))

        首先,m讀取存儲的PCR值,用AIK簽名(AIK-1(m))并將其發(fā)送給遠(yuǎn)程驗(yàn)證者R。然后,R驗(yàn)證該簽名,如果PCR值是匹配的,則說明m的可信屬性是值得信任的。在此過程中R與m應(yīng)是不同的實(shí)體,以保證該驗(yàn)證過程的有效性,避免驗(yàn)證過程的偽造。

        這些前提條件形式化表示為:

        {TPMSRTM(m),TPMDRTM(m)})}

        (4)

        3.3 可信銜接點(diǎn)TJP的本地驗(yàn)證及遠(yuǎn)程證明

        本節(jié)根據(jù)2.2節(jié)對TVP-QT中的相關(guān)定義和說明,對可信銜接點(diǎn)TJP的動態(tài)度量機(jī)制進(jìn)行本地驗(yàn)證和遠(yuǎn)程證明的形式化描述。

        3.3.1本地程序執(zhí)行

        根據(jù)2.2節(jié)對TVP-QT中TJP信任屬性TPTJP定義以及TPvRT中對TCTJP的定義,其信任鏈本地執(zhí)行過程中涉及到的程序如程序3(Code Segment 3)所示。

        Code Segment 3:

        LatelaunchDTRM(vTPM-Builder) ≡vtb=read m.vTPM-Builder_loc;

        Extend m.dpcr.d,m;

        Jump vtb

        vTPM-Builder(TJP)≡vvb=

        read m.vTPM-VM-Binding_loc;

        Extend m.dpcr.d,vvb;

        Jump vvb

        vTPM-VM Binding(TJP)≡vvmb=read m.VM-Builder_loc

        Extend m.dpcr.d,vvmb;

        Jump vvmb

        VM-Builder(TJP)≡vtpmb=read m.vTPM_loc

        Extend m.dpcr.d,vtpmB;

        Jump vtpmb

        vTPM(m)≡…

        程序執(zhí)行流程:首先確保TJP的vTPM-Builder能正常加載。然后利用DRTM度量TJP的三個組件vTPM Builder、vTPM-VM Binding、VM Builder,從主機(jī)內(nèi)存地址中讀取vTPM Builder的代碼,將其擴(kuò)展到一個PCR中[19];之后執(zhí)行命令Jump vtb將控制權(quán)交給vTPM Builder,按照上面的過程依次度量vTPM-VM Binding、VM Builder。

        在此過程中,對TJP的動態(tài)度量必須在m啟動之后且創(chuàng)建vm之前,否則會導(dǎo)致TJP無法按順序正確度量。將其表示為:

        Honest(TPMSRTM(m)?TJPDRTM(m)∧

        TJPDRTM(m)?vTPMSRTM/DRTM(vm))

        此外,TVP在啟動m時,相應(yīng)的線程K對必須能夠?qū)Ξ?dāng)前m對應(yīng)的PCR值有鎖控制,這種控制對潛在的攻擊者也成立,表示為:

        ProtectedSRTM(m)=?t,K.(Reset(m,K)@t)?

        (IsLocked((m.pcr.s,m.pcr.d),K)@)t

        由于TJP 的vTPM Builder被抽象為一個單獨(dú)的應(yīng)用程序,利用Latelaunch(vTPM Builder)動態(tài)加載機(jī)制確保其可信執(zhí)行,即KDRTM成立[27]。

        3.3.2本地可信屬性描述

        基于定義2及TJP度量后的PCR和其中的每個組件存在的唯一性、確定性映射關(guān)系,可將TJP的本地信任傳遞屬性歸納為:TJP信任鏈加載程序執(zhí)行順序的正確性由最終產(chǎn)生的PCR值決定。即TJP的本地信任傳遞屬性就是要求所有相應(yīng)啟動程序如vTPM Builder、vTPM-VM Binding、VM Builder等都能按確定的先后順序加載。以LS2將這種順序形式化表示為:

        MeasuredBootDRTM(TJP,t)=

        ?I∈m.?tvtb.?tvvb.?tvvmb.?tvtpmb.

        ?K.(tvtb

        (Jump(K,vTPM Builder(TJP))@tvtb)∧

        (Jump(K,vTPM-VM Binding(TJP))@tvvb)∧

        (Jump(K,VM Builder(TJP))@tvvmb)∧

        (Jump(K,vTPM(TJP))@tvtpmb)∧

        (┐Reset(m)on(tvtb,t])(┐Jump(K)on(tvtb,tvvb))∧

        (┐Jump(K)on(tvvb,tvvmb))∧

        (┐Jump(K)on(tvvmb,tvtpmb))

        (5)

        式(5)表示:如果TVP基于信任鏈構(gòu)建TJP信任環(huán)境,則其啟動過程一定是從vTPM Builder跳轉(zhuǎn)到vTPM-VM Binding,然后到VM Builder,在程序執(zhí)行期間,程序啟動序列都有唯一的PCR值,并且不會有其他應(yīng)用程序或者組件執(zhí)行。需要證明的信任鏈本地信任屬性如下。

        定理2如果TJP加載成功,且與該TJP加載過程對應(yīng)的PCR值為seq(vTPM Builder(TJP),vTPM-VM Binding(TJP),VM Builder(TJP)),那么該TJP的本地信任鏈傳遞過程就是唯一的、正確的,即確定地從vTPM Builder(TJP)到vTPM-VM Binding(TJP)再到VM Builder(TJP)。該信任屬性形式化表示為:

        ProtectedDRTM(TJP)+

        Mem(m.dpcr.d,seq(vTPM Builder(TJP),

        vTPM-VM Binding(TJP),VM Builder(TJP)))?

        MeasuredBootDRTM(TJP,t)

        (6)

        證明過程類似m的信任鏈本地可信屬性的證明,在此不再敘述。

        3.3.3信任鏈遠(yuǎn)程驗(yàn)證

        TVP-QT的TJP 需要向R證明自己在信任鏈傳遞過程中進(jìn)行可信度量的組件的信任屬性及構(gòu)建的可信執(zhí)行環(huán)境,需要證明MeasuredBootDRTM(TJP,t)成立。

        1)遠(yuǎn)程驗(yàn)證程序執(zhí)行。

        首先,根據(jù) TCG 遠(yuǎn)程證明協(xié)議規(guī)范及在虛擬化平臺中的實(shí)現(xiàn),給出TJP 信任傳遞的遠(yuǎn)程驗(yàn)證過程中涉及到的程序,如程序4(Code Segment 4)所示。

        Code Segment 4:

        TPMDRTM(TJP)≡w=read m.pcr.d;

        r=sign(PCR(s),w),AIK-1(m);

        send r

        Verifier(TJP)≡sig=recieve;

        v=verify sig, AIK(m);

        match v, (PCR(s),

        seq(vTPM Builder(TJP),vTPM-VM

        Binding(TJP),VM Builder(TJP)))

        首先,m讀取本地TJP的PCR值,用AIK簽名(AIK-1(m))并將其發(fā)送給挑戰(zhàn)者。然后,由遠(yuǎn)程驗(yàn)證者R驗(yàn)證簽名,并用預(yù)期的度量值與收到的PCR值進(jìn)行匹配,驗(yàn)證TJP是否擁有可信屬性。在此過程中遠(yuǎn)程驗(yàn)證者與TJP所屬的主機(jī)m應(yīng)是不同實(shí)體。

        這些前提條件形式化表示為:

        2)信任鏈屬性的遠(yuǎn)程驗(yàn)證。

        根據(jù)遠(yuǎn)程證明協(xié)議執(zhí)行流程,給出以下信任傳遞屬性的遠(yuǎn)程證明目標(biāo)。

        定理3如果遠(yuǎn)程驗(yàn)證者確認(rèn)TJP提供的度量值是唯一的、正確的,那么該TJP對應(yīng)的PCR值一定是如下的確定序列seq(vTPM Builder(TJP),vTPM-VM Binding(TJP),VM Builder(TJP)),因?yàn)楦鶕?jù)定理2可知,該序列表明該虛擬機(jī)的確執(zhí)行了相應(yīng)的信任鏈傳遞過程。

        形式化表示為:

        (Mem(m.pcr.d,seq(vTPM Builder(TJP),

        vTPM-VMBinding(TJP),VM Builder(TJP)))@t)

        (7)

        ΓDRTM,ProtectedSRTM(m)

        MeasureBootDRTM(m,t)

        (8)

        證明過程類似m的信任鏈遠(yuǎn)程驗(yàn)證的證明,在此不再敘述。

        4 實(shí)例系統(tǒng)分析與討論

        本文基于Xen虛擬化平臺對TVP-QT信任鏈進(jìn)行實(shí)際的驗(yàn)證和分析,如圖4所示。其中,vRT被分散在Dom0、vTPMmanager域和vTPM域。本章根據(jù)第2章中對TVP-QT信任鏈的描述,將TVP-QT信任鏈分為三部分,結(jié)合Xen 4.4系統(tǒng),對這三部分信任鏈進(jìn)行實(shí)際的分析與討論。

        對于第一部分,在Xen平臺硬件加電啟動之后,把CRTM作為整個信任鏈的起點(diǎn),并由CRTM首先度量物理平臺BIOS和其他有關(guān)BIOS的配置,然后BIOS獲得系統(tǒng)的控制權(quán)并度量Xen的引導(dǎo)程序Grub,主要度量grub-xen(head.S, trampoline.S, x86_32.S),Grub獲得控制權(quán)后會根據(jù)Xen的鏡像頭信息獲得入口地址Oxl0000后讀入Xen的鏡像,并對此鏡像和_startxen()進(jìn)行度量,然后把控制權(quán)交給Xen,Xen獲得信任之后對Dom0相關(guān)組件進(jìn)行度量,包括construct_dom0()、_start_32_、start_Kernel和LinuxOS鏡像等。然后把控制權(quán)交給Dom0。至此,第一部分可信引導(dǎo)結(jié)束。

        圖4 基于Xen的TVP-QT系統(tǒng)Fig. 4 TVP-QT system based on Xen

        對于第二部分,Dom0 Kernel獲得控制權(quán)后首先度量TJP的vTPM Builder,包括Xen中創(chuàng)建vTPMManager域的配置文件(.cfg)、vTPM Manger域(主要是MiniOS鏡像文件和vTPM Manger程序)以及啟動vTPM的vtpm-common.sh、vtpm-impl.sh等組件。然后把控制權(quán)交給vTPM Builder,vTPM Builder獲得控制權(quán),對TJP的vTPM-VM Binding進(jìn)行度量,包括Xen中xl、xenstore、vtpmd、tpm-xen、vtpm_manager_handle等針對vTPM-VM綁定的組件。隨后vTPMBuilder把控制權(quán)交給vTPM-VM Binding,vTPM-VM Binding獲得控制權(quán)后,對TJP的最后的組件VM Builder進(jìn)行度量,包括Xen的xl、libxl(Xen4.1之后xl作為默認(rèn)的管理工具)等創(chuàng)建虛擬機(jī)所需的組件以及創(chuàng)建虛擬機(jī)的配置文件(.cfg)和虛擬機(jī)的鏡像文件(.img)。完成VM Builder可信度量后,VM Builder獲得信任鏈控制權(quán)。至此,第二部分可信信任鏈傳遞結(jié)束。

        對于第三部分,完成度量VM Builder后,可以采用兩種方法對vTPM進(jìn)行度量,其一是靜態(tài)度量,其二是動態(tài)度量。如果采用靜態(tài)度量,控制權(quán)在VM Builder;如果采用動態(tài)度量,則控制權(quán)在物理TPM。但無論是靜態(tài)度量還是動態(tài)度量,度量的對象都是vTPM實(shí)例域,包括vTPM實(shí)例域的配置文件(.cfg)以及啟動文件(.img)和Mini OS、tpm instance等組件。由于DRTM技術(shù)受硬件廠商所限制,利用靜態(tài)度量方式對vTPM實(shí)例域進(jìn)行可信度量。VM Builder完成對vTPM實(shí)例域的度量后,把控制權(quán)交給vTPM實(shí)例域,vTPM實(shí)例域獲得控制權(quán),對最后的DomU部分進(jìn)行可信度量,包括DomU啟動的內(nèi)核所需啟動信息頁的有關(guān)的xen.h、start_info、qemu-dm、qemu-xen、pc-bios等組件和Linux鏡像文件進(jìn)行度量。需要說明的是,Xen中虛擬機(jī)有關(guān)的BIOS、引導(dǎo)等組件是利用封裝在Xen中的Qemu實(shí)現(xiàn)的,所以需要對Xen中Qemu重要組件進(jìn)行可信度量,如qemu-io、qemu-img等。在DomU啟動相關(guān)組件完成度量之后,可信虛擬平臺最后一部分信任鏈完成可信度量和信任傳遞。

        以上述實(shí)例系統(tǒng)為例完整展示了本文建立的通用抽象模型。值得注意的是,本實(shí)例系統(tǒng)的信任鏈得以正確傳遞需要滿足以下前提:

        1)必須保障vRT:=TJP+vTPM自身的可信。在實(shí)例系統(tǒng)中,可信銜接點(diǎn)TJP包含的組件比較多,還涉及Dom0、vTPMManager和vTPM等域,需要度量的內(nèi)容多,不允許出現(xiàn)遺漏,特別是TJP和vTPM關(guān)鍵的組件和配置文件必須是被度量的對象。

        2)必須確保TJP中的vTPM Builder、vTPM-VM Binding、VM Builder三個管理程序在啟動時按順序執(zhí)行。盡管vTPM Builder、vTPM-VM Binding和VM Builder是Dom0中的應(yīng)用程序,但必須保證按順序執(zhí)行才能度量結(jié)果。

        5 實(shí)驗(yàn)及結(jié)果分析

        基于Xen實(shí)現(xiàn)了TVP-QT的原型系統(tǒng),并進(jìn)行仿真實(shí)現(xiàn)和結(jié)果分析,對TVP-QT信任鏈進(jìn)行有效性驗(yàn)證和性能測試。下面對仿真實(shí)驗(yàn)的環(huán)境進(jìn)行描述。

        使用TPM-Emulator對TPM功能進(jìn)行仿真模擬,實(shí)驗(yàn)的Xen VMM版本為Xen4.4.0[40-41],實(shí)驗(yàn)物理平臺的配置為Intel Core i3 @3.4 GHz處理器,內(nèi)存為8 GB,物理存儲為1 TB。Dom0采用Ubuntu LTS14.04,內(nèi)核版本為Linux3.19.0,DomU使用類型為Ubuntu LTS14.04的半虛擬化虛擬機(jī),內(nèi)存為4 GB,并且部署不同的應(yīng)用作為仿真實(shí)驗(yàn)的測試對比。

        表2為TVP-QT實(shí)驗(yàn)環(huán)境所用物理平臺和DomU類型為Ubuntu的具體配置信息。

        表2 物理平臺(Dom0)和用戶虛擬機(jī)(DomU-Ubuntu)配置Tab. 2 Configure infomation of Dom0 and (DomU-Ubuntu)

        本文實(shí)驗(yàn)按照云計(jì)算環(huán)境實(shí)際建立了Dom0,DomU(Ubuntu LTS14.04)以及實(shí)驗(yàn)所需的vTPMManager域和vTPM實(shí)例域,它們的配置文件和啟動方式本文不再作詳細(xì)敘述。

        5.1 TVP-QT信任鏈構(gòu)建

        TVP-QT信任鏈利用哈希函數(shù)對信任鏈各層次的構(gòu)建模塊、功能組件或文件進(jìn)行哈希值存儲,計(jì)算Hash值作為新的完整性度量值存儲到PCR中[29],描述如下:

        New PCRi=Hash(Old PCRi‖New Value)

        其中:Hash函數(shù)選用SHA- 1,‖表示連接符號。在實(shí)驗(yàn)中成功運(yùn)行虛擬機(jī)UbuntuTest1,按照表3的順序?qū)CR進(jìn)行存儲。其中PCR[0]~PCR[7]存儲TVP-QT信任鏈第一層到第二層TCB的可信度量信息;PCR[8]~PCR[10]分別存儲信任鏈中可信銜接點(diǎn)三個重要的組件的度量信息;PCR[11]~PCR[15]存儲vTPM實(shí)例域和用戶虛擬機(jī)信任鏈度量信息。具體的存儲情況如表3所示。

        按照TVP-QT信任鏈順序存儲的信任鏈信息結(jié)果如圖5所示。一旦程序或文件內(nèi)容發(fā)生變化,下次執(zhí)行該程序或者打開該文件時,用戶虛擬機(jī)就可以根據(jù)PCR值的信息判斷平臺狀態(tài)是否可信。

        表3 仿真實(shí)驗(yàn)PCR存儲情況Tab. 3 Storage of PCR in simulation experiment

        圖5  信任鏈PCR信息Fig. 5 PCR information of trust chain

        5.2 TVP-QT性能測試及分析

        與已有的TVP信任鏈模型相比,TVP-QT信任鏈模型增加了可信銜接點(diǎn)TJP,需要對其獨(dú)立度量并且?guī)眍~外的開銷。對于底層m信任鏈的構(gòu)建,TVP-QT信任鏈模型比已有的TVP信任鏈模型增加了對TJP的靜態(tài)度量;對于頂層vm信任鏈的構(gòu)建, TVP-QT信任鏈模型比已有的TVP信任鏈模型增加了對TJP的動態(tài)度量。

        為此首先針對TVP-QT信任鏈構(gòu)建過程中有關(guān)主機(jī)m的信任鏈構(gòu)建進(jìn)行性能測試和結(jié)果分析,并與傳統(tǒng)的TVP架構(gòu)(圖1所示)進(jìn)行對比分析。

        本節(jié)性能測試的實(shí)驗(yàn)環(huán)境采用表1所描述實(shí)驗(yàn)環(huán)境,并且在Dom0和DomU分別安裝一些常用軟件來模擬云計(jì)算開發(fā)環(huán)境和云用戶環(huán)境,比如Firefox[41]、WPS for Linux[42]、Wine[43]、Eclipse[44]等。下面本文分別針對在TVP-QT和傳統(tǒng)TVP下m、vm的信任鏈構(gòu)建實(shí)驗(yàn),對性能方面進(jìn)行對比和分析。

        5.2.1 信任鏈構(gòu)建的性能分析

        傳統(tǒng)TVP信任鏈中主機(jī)m的信任鏈構(gòu)建過程為:

        CRTM→BIOS→OSLoader→VMM→Dom0 OS Kernel →APP

        TVP-QT中主機(jī)m的信任鏈構(gòu)建過程為:

        CRTM→BIOS→OSLoader→VMM→Dom0 OS Kernel →

        vTPM Builder →vTPM-VM Binding→VM Builder→

        other_app

        對以上兩條信任鏈進(jìn)行10次實(shí)驗(yàn),并記錄每次的完成時間,結(jié)果如圖6所示。由圖6可知,雖然TVP-QT在主機(jī)m上比傳統(tǒng)TVP多了TJP的靜態(tài)度量,但是在時間上并沒有太大的多余開銷,對可信虛擬運(yùn)行的影響不大。所以,TJP的引入可以在保證可信虛擬平臺m相關(guān)組件實(shí)現(xiàn)完整度量的情況下,不會給平臺帶來太多的開銷。

        圖6 m信任鏈構(gòu)建時間Fig. 6 Construction time of m trust chain

        5.2.2vm信任鏈構(gòu)建的性能分析

        傳統(tǒng)TVP信任鏈中vm的信任鏈構(gòu)建過程為:

        INIT→VBIOS→VOSLoader→VMOS→APP

        TVP-QT中主機(jī)vm的信任鏈構(gòu)建過程為:

        (TJP)TPM_Dynamic→vTPM→VBIOS→VOSLoader→

        VMOS→APP

        對以上兩條信任鏈進(jìn)行10次實(shí)驗(yàn),并記錄每次的完成時間,結(jié)果如圖7所示。由圖7可知,TVP-QT相比傳統(tǒng)TVP下對vm的信任鏈構(gòu)建過程,也僅僅多了由TJP帶來的額外開銷,可以保證對vm可信度量后的正常啟動。

        圖7 vm信任鏈構(gòu)建時間Fig. 7 Construction time of vm trust chain

        綜上對TVP-QT與TVP信任鏈構(gòu)建過程的對比實(shí)驗(yàn)來看,帶有可信銜接點(diǎn)TJP的可信虛擬平臺TVP-QT能夠保證在對整個平臺帶來足夠小開銷的情況下實(shí)現(xiàn)對平臺的可信度量,保證了虛擬化環(huán)境的安全可信。

        6 結(jié)語

        利用可信計(jì)算技術(shù)構(gòu)建可信虛擬平臺并且構(gòu)建信任鏈模型是目前解決云計(jì)算安全一個重要的研究方向。本文為了解決已有TVP模型過粗且邏輯不完全合理,而且還存在底層虛擬化平臺和頂層用戶虛擬機(jī)兩條分離的信任鏈等問題,提出了一種具有可信銜接點(diǎn)的TVP-QT模型,對TVP-QT中的功能組件及其信任屬性進(jìn)行詳細(xì)定義,并結(jié)合可信銜接點(diǎn)在TVP-QT建立從虛擬化平臺硬件TPM開始的完整信任鏈模型TVP-QT。最后,本文基于Xen VMM實(shí)現(xiàn)了TVP-QT原型系統(tǒng),并對TVP-QT信任鏈的構(gòu)建過程進(jìn)行了詳細(xì)的描述,通過仿真實(shí)驗(yàn)對TVP-QT及其信任鏈的有效性和性能等進(jìn)行了測試,驗(yàn)證了該信任鏈的正確性和有效性。

        參考文獻(xiàn):

        [1]林闖,蘇文博,孟坤,等.云計(jì)算安全:架構(gòu)、機(jī)制與模型評價[J].計(jì)算機(jī)學(xué)報(bào),2013,36(9):1765-1784. (LIN C, SU W B, MENG K, et al. Cloud computing security: architecture, mechanism and modeling [J]. Chinese Journal of Computers, 2013, 36(9): 1765-1784.)

        [2]俞能海,郝卓,徐甲甲,等.云安全研究進(jìn)展綜述[J]. 電子學(xué)報(bào),2013,41(2):371-381. (YU N H, HAO Z, XU J J, et al. Review of cloud computing security [J]. Acta Electronica Sinica, 2013, 41(2): 371-381.)

        [3]ALI M, KHAN S U, VASILAKOS A V. Security in cloud computing: opportunities and challenges [J]. Information Science, 2015, 305: 357-383.)

        [4]XU P, CHEN H, ZOU D, et al. Fine-grained and heterogeneous proxy re-encryption for secure cloud storage [J]. Chinese Science Bulletin, 2014, 59(32): 4201-4209.

        [5]XIANG S, ZHAO B, YANG A, et al. Dynamic measurement protocol in infrastructure as a service [J]. Tsinghua Science and Technology, 2014, 19(5): 470-477.

        [6]YU F, ZHANG H, ZHAO B, et al. A formal analysis of trusted platform module 2.0 hash-based message authentication code authorization under digital rights management scenario [J]. Security and Communication Networks, 2015, 9(15): 2802-2815.

        [7]譚良,徐志偉.基于可信計(jì)算平臺的信任鏈傳遞研究進(jìn)展[J].計(jì)算機(jī)科學(xué),2008,35(10):15-18. (TAN L, XU Z W. Development of the transitive trusted chain based on TPM [J]. Computer Science, 2008, 35(10): 15-18.)

        [8]徐明迪,張煥國,張帆,等.可信系統(tǒng)信任鏈研究綜述[J].電子學(xué)報(bào),2014,42(10):2024-2031. (XU M D, ZHANG H G, ZHANG F, et al. Survey on chain of trust of trusted system [J]. Acta Electronica Sinica, 2014, 42(10): 2024-2031.)

        [9]譚良,陳菊,周明天.可信終端動態(tài)運(yùn)行環(huán)境的可信證據(jù)收集機(jī)制[J]. 電子學(xué)報(bào),2013,41(1):77-85. (TAN L, CHEN J, ZHOU M T. Trustworthiness evidence collection mechanism of running dynamic environment of trusted terminal[J]. Acta Electronica Sinica, 2013, 41(1): 77-85.)

        [10]于愛民,馮登國,汪丹.基于屬性的遠(yuǎn)程證明模型[J].通信學(xué)報(bào),2010,31(8):1-8. (YU A M, FENG D G, WANG D. Property-based remote attestation model [J]. Journal on Communications, 2010, 31(8):1-8.)

        [11]譚良,陳菊.一種可信終端運(yùn)行環(huán)境遠(yuǎn)程證明方案[J].軟件學(xué)報(bào),2014,25(6):1273-1290. (TAN L, CHEN J. Remote attestation project of the running environment of the trusted terminal [J]. Journal of Software, 2014, 25(6): 1273-1290.)

        [13]DALTON C I, PLAQUIN D, WEIDNER W, et al. Trusted virtual platforms: a key enabler for converged client devices [J]. ACM SIGOPS Operating Systems Review, 2009, 43(1): 36-43.

        [15]KRAUTHEIM F J, PHATAK D S, SHERMAN A T. Introducing the trusted virtual environment module: a new mechanism for rooting trust in cloud computing [C]// TRUST’10: Proceedings of the 3rd International Conference on Trust and Trustworthy Computing, LNCS 6101. Berlin: Springer, 2010: 211-227.

        [16]王麗娜,高漢軍,余榮威,等.基于信任擴(kuò)展的可信虛擬執(zhí)行環(huán)境構(gòu)建方法研究[J].通信學(xué)報(bào),2011,32(9):1-8. (WANG L N, GAO H J, YU R W, et al. Research of constructing trusted virtual execution environment based on trust extension[J]. Journal on Communications, 2011, 32(9): 1-8.)

        [17]GARFINKEL T, PFAFF B, CHOW J, et al. Terra: a virtual machine-based platform for trusted computing [C]// SOSP ’03: Proceedings of the Nineteenth ACM Symposium on Operating Systems Principles. New York: ACM, 2003: 193-206.

        [18]PFITZMANN B, RIORDAN J, STüBLE C, et al. The PERSEUS system architecture, IBM Research Report RZ 3335 (#93381)[R]. Zurich: IBM Research, 2001.

        [19]常德顯,馮登國,秦宇,等.基于擴(kuò)展LS2的可信虛擬平臺信任鏈分析[J].通信學(xué)報(bào),2013,34(5):31-41. (CHANG D X, FENG D G, QIN Y, et al. Analyzing the trust chain of trusted virtualization platform based on the extended LS2[J]. Journal on Communications, 2013, 34(5): 31-41.)

        [20]ZHANG L, CHEN X, LIU L, et al. Trusted domain hierarchical model based on noninterference theory [J]. The Journal of China Universities of Posts and Telecommunications, 2015, 22(4): 7-16.

        [21]YU Z, ZHANG W, DAI H, et al. A trusted architecture for virtual machines on cloud servers with trusted platform module and certificate authority [J]. Journal of Signal Processing Systems, 2017, 86(2/3): 327-336.

        [22]池亞平,李欣,王艷,等.基于KVM的可信虛擬化平臺設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)工程與設(shè)計(jì),2016,37(6):1451-1455. (CHI Y P, LI X, WANG Y, et al. KVM-based trusted virtualization platform design and implementation[J]. Computer Engineering and Design, 2016, 37(6): 1451-1455.)

        [23]李海威,范博,李文鋒.一種可信虛擬平臺構(gòu)建方法的研究和改進(jìn)[J].信息網(wǎng)絡(luò)安全,2015(1):1-5. (LI H W, FAN B, LI W F. Research and improvement on constructing method of a trusted virtualization platform [J]. Netinfo Security, 2015(1): 1-5.)

        [24]徐天琦,劉淑芬,韓璐.基于KVM的可信虛擬化架構(gòu)模型[J]. 吉林大學(xué)學(xué)報(bào)(理學(xué)版),2014,52(3):531-534. (XU T Q, LIU S F, HAN L. KVM-based trusted virtualization architecture model [J]. Journal of Jilin University (Science Edition), 2014, 52(3): 531-534.)

        [25]楊麗芳,劉琳.基于虛擬機(jī)的可信計(jì)算安全平臺架構(gòu)設(shè)計(jì)[J].煤炭技術(shù),2014,33(2):170-172. (YANG L F, LIU L. Design of trusted computing security platform architecture based on virtual machine [J]. Coal Technology, 2014, 33(2): 170-172.)

        [26]蔡誼,左曉棟.面向虛擬化技術(shù)的可信計(jì)算平臺研究[J].信息安全與通信保密,2013(6):77-79. (CAI Y, ZUO X D. Trusted computing platform for virtualization technology [J]. Information Security and Communications Privacy, 2013(6): 77-79.)

        [27]SCARLATA V, ROZAS C, WISEMAN M, et al. TPM virtualization: building a general framework [M]// Trusted Computing. [S.l.]: Vieweg+Teubner, 2007, 2007: 43-56.

        [28]KRAUTHEIM F J, PHATAK D S, SHERMAN A T. Introducing the trusted virtual environment module: a new mechanism for rooting trust in cloud computing [C]// TRUST 2010: Proceedings of the 3rd International Conference on Trust and Trustworthy Computing, LNCS 6101. Berlin: Springer, 2010: 211-227.

        [29]SHEN C, ZHANG H, WANG H, et al. Research on trusted computing and its development [J]. Science China Information Sciences, 2010, 53(3): 405-433.

        [30]朱智強(qiáng).混合云服務(wù)安全若干理論與關(guān)鍵技術(shù)研究[D].武漢:武漢大學(xué),2011:91-117. (ZHU Z Q. The research on some theories and key technologes of hybrid cloud computing security [D]. Wuhan: Wuhan University, 2011: 91-117.)

        [31]曲文濤.虛擬機(jī)系統(tǒng)的可信檢測與度量[D].上海:上海交通大學(xué),2010. (QU W T. Trusted detect and measure for virtual machine system[D]. Shanghai: Shanghai Jiao Tong University, 2010.)

        [32]BARTHE G, BETARTE G, CAMPO J D, et al. Formally verifying isolation and availability in an idealized model of virtualization [C]// FM 2011: Proceedings of the 17th International Symposium on Formal Methods, LNCS 6664. Berlin: Springer, 2011: 231-245.

        [33]DATTA A, FRANKLIN J, GARG D, et al. A logic of secure systems and its application to trusted computing [C]// SP ’09: Proceedings of the 2009 30th IEEE Symposium on Security and Privacy. Washington, DC: IEEE Computer Society, 2009: 221-236.

        [34]CHEN G, JIN H, ZOU D, et al. SafeStack: automatically patching stack-based buffer overflow vulnerabilities [J]. IEEE Transactions on Dependable and Secure Computing, 2013, 10(6): 368-379.

        [35]VERMEULEN S. SELinux Cookbook [M]// Birmingham, UK: Packet Publishing, 2014: 2-9.

        [36]VARMA P D K, RADHA V. Prevention of buffer overflow attacks using advanced stackguard [C]// Proceedings of 2010 International Conference on Advances in Communication, Network, and Computing. Washington, DC: IEEE Computer Society, 2010: 357-359.

        [37]WANG Z, JIANG X. HyperSafe: a lightweight approach to provide lifetime hypervisor control-flow integrity [C]// SP ’10: Proceedings of the 2010 IEEE Symposium on Security and Privacy. Washington, DC: IEEE Computer Society, 2010: 380-395.

        [38]McCUNE J M, LI Y, QU N, et al. TrustVisor: efficient TCB reduction and attestation [C]// SP ’10: Proceedings of the 2010 IEEE Symposium on Security and Privacy. Washington, DC: IEEE Computer Society, 2010: 143-158.

        [39]TAKEMURA C, CRAWFORD L S. The Book of Xen: A Practical Guide for the System Administrator [M]. San Francisco, CA: No Starch Press, 2009: 2-15.

        [40]Xen Project. The Xen Project, the powerful open source industry standard for virtualization [EB/OL]. [2017- 03- 22]. http://www.xenproject.org.

        [41]Mozilla Firefox Ltd. The new, fast browser for Mac, PC and Linux | Firefox [EB/OL]. [2017- 04- 12]. https://www.mozilla.org/en-US/firefox/#.

        [42]Kingsoft Office Software. Best office run on Linux platform, WPS Office for Linux [EB/OL]. [2017- 05- 05]. https://www.wps.com/linux?from=download_page.

        [43]CodeWeavers Inc. WineHQ — Run Windows applications on Linux, BSD, Solaris and macOS [EB/OL]. [2017- 04- 12]. https://www.winehq.org/.

        [44]The Eclipse Foundation. Eclipse [EB/OL]. [2017- 04- 02]. https://www.eclipse.org/downloads/.

        猜你喜歡
        度量虛擬化組件
        有趣的度量
        無人機(jī)智能巡檢在光伏電站組件診斷中的應(yīng)用
        能源工程(2022年2期)2022-05-23 13:51:50
        模糊度量空間的強(qiáng)嵌入
        新型碎邊剪刀盤組件
        U盾外殼組件注塑模具設(shè)計(jì)
        迷向表示分為6個不可約直和的旗流形上不變愛因斯坦度量
        基于OpenStack虛擬化網(wǎng)絡(luò)管理平臺的設(shè)計(jì)與實(shí)現(xiàn)
        電子制作(2019年10期)2019-06-17 11:45:10
        對基于Docker的虛擬化技術(shù)的幾點(diǎn)探討
        電子制作(2018年14期)2018-08-21 01:38:20
        虛擬化技術(shù)在計(jì)算機(jī)技術(shù)創(chuàng)造中的應(yīng)用
        電子測試(2017年11期)2017-12-15 08:57:56
        地質(zhì)異常的奇異性度量與隱伏源致礦異常識別
        天天摸天天做天天爽天天舒服| 精品国产人妻一区二区三区| 四虎影视一区二区精品| 97av在线播放| 国产一级内射一片视频免费| 亚洲一区二区三区尿失禁| 国产精品久久毛片av大全日韩| 无码国产精品第100页| 手机在线看片在线日韩av| 极品尤物人妻堕落沉沦| 国产三级精品三级在线观看| 國产AV天堂| 91中文字幕精品一区二区| 国产精品一区二区三久久不卡| 羞羞视频在线观看| 久久久久久中文字幕有精品| 一区二区三区手机看片日本韩国| 亚洲av中文无码乱人伦在线观看| 中文字幕乱伦视频| 中文字幕第一页亚洲观看| 一区二区亚洲精品国产精| 国产播放隔着超薄丝袜进入| 亚洲乱码日产精品bd在线观看 | 亚洲欧美在线观看| 亚洲女同成av人片在线观看| 日韩av中文字幕波多野九色| 中国美女a级毛片| 中文无码精品一区二区三区| 精品日本韩国一区二区三区| 一区二区视频在线观看地址| 久久99精品久久久久久秒播 | 少妇人妻系列中文在线| 午夜不卡无码中文字幕影院| 无码国产激情在线观看| 日韩美女av二区三区四区| 国产变态av一区二区三区调教 | 亚洲av色在线播放一区| 99精品人妻无码专区在线视频区| 亚洲一区二区三区成人| 久久精品国产亚洲av成人网| 女人张开腿让男人桶爽|