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

        ?

        虛擬平臺環(huán)境中一種新的可信證書鏈擴(kuò)展方法

        2018-07-30 09:45:28譚良齊能胡玲碧
        通信學(xué)報(bào) 2018年6期

        譚良,齊能,胡玲碧

        (1. 四川師范大學(xué)計(jì)算機(jī)科學(xué)學(xué)院,四川 成都 610101;2. 中國科學(xué)院計(jì)算技術(shù)研究所,北京 100190)

        1 引言

        IT資源服務(wù)化是云計(jì)算中最重要的外部特征[1-4],云端虛擬平臺包括物理硬件層、虛擬化管理層和客戶虛擬機(jī)層,其中,客戶虛擬機(jī)是資源服務(wù)化的直接依托環(huán)境。因此,云端虛擬平臺和客戶虛擬機(jī)的可信是云安全中最為核心的問題,是解決云租戶與云服務(wù)提供商之間相互信任的基礎(chǔ)[5-9]。文獻(xiàn)[5-9]均認(rèn)為,解決云端虛擬平臺和客戶虛擬機(jī)的可信問題是推動云計(jì)算在更廣的范圍內(nèi)擴(kuò)展、沿拓的重大安全問題。而可信計(jì)算[10-11]是保障計(jì)算平臺可信的基礎(chǔ)手段,它通過提供數(shù)據(jù)保護(hù)、身份證明以及完整性測量、存儲與報(bào)告等功能以提高計(jì)算平臺整體的可信性。因此,將可信計(jì)算技術(shù)融入云端虛擬平臺已成為云安全研究領(lǐng)域的一大熱點(diǎn)[12-16],其中,可信平臺模塊(TPM, trusted platform model)的虛擬化是可信計(jì)算和虛擬化結(jié)合的關(guān)鍵技術(shù)之一[17-24]。

        目前,TPM的虛擬化可以采用3種方式:軟件仿真型TPM虛擬化、硬件共享型TPM虛擬化和聚合型TPM虛擬化。所謂軟件仿真型TPM虛擬化,就是指虛擬平臺為每一個需要為用戶提供可信執(zhí)行環(huán)境的虛擬機(jī)創(chuàng)建一個軟件仿真型虛擬TPM實(shí)例。所謂硬件共享型TPM虛擬化,就是各虛擬機(jī)分時訪問物理TPM。所謂聚合型TPM虛擬化,即在一個TPM 內(nèi)聚合出多個 TPM 虛擬功能(VF, virtual function)——vTPM,然后將 vTPM 直接分配或調(diào)度給需要的客戶虛擬機(jī)使用。TPM無論采用何種虛擬化方式,均需向虛擬機(jī)提供一個具有TPM功能的邏輯實(shí)體——vTPM。在云環(huán)境中,通過vTPM為客戶虛擬機(jī)提供可信保障,使每個客戶虛擬機(jī)在邏輯上都能擁有單個“獨(dú)有”的TPM,就像擁有一個真實(shí)的物理 TPM 一樣??蛻籼摂M機(jī)環(huán)境可以使用vTPM提供的度量、存儲和報(bào)告等功能,特別是可通過vTPM的完整性校驗(yàn)功能實(shí)現(xiàn)客戶虛擬機(jī)環(huán)境的信任鏈傳遞,也可通過vTPM的數(shù)據(jù)保護(hù)功能實(shí)現(xiàn)客戶虛擬機(jī)數(shù)據(jù)的密封存儲,還可通過vTPM的遠(yuǎn)程證明功能實(shí)現(xiàn)客戶虛擬機(jī)環(huán)境的身份證明。

        然而,在虛擬環(huán)境下,當(dāng)客戶虛擬機(jī)進(jìn)行遠(yuǎn)程證明時,不僅需要向挑戰(zhàn)者證明頂層虛擬機(jī)環(huán)境的可信,還必須向挑戰(zhàn)者證明底層虛擬平臺的可信,因此,必須建立從物理TPM到vTPM的證書鏈,構(gòu)建物理平臺、虛擬平臺到客戶虛擬機(jī)平臺的綁定關(guān)系[17]。目前,在如何將底層物理TPM 的證書鏈擴(kuò)展延伸到虛擬機(jī)方面已有多種方案,包括vTPM vEK to hTPM AIK Binding[17]、TPM AIK signs vTPM vAIK[17]、vEK Certificate Signing CA[17]、vTPM vEK to hTPM EK Binding[25]、vTPM vAIK to hTPM SK Binding[26]和 hTPM EPS Product vEK[27]等,但以上這些方面均不完善,有的方案存在違背 TCG規(guī)范的情況,有的方案增加密鑰冗余,有的方案增加Privacy CA的性能負(fù)擔(dān),有的方案甚至不能進(jìn)行證書信任擴(kuò)展。

        針對這一問題,本文提出了對應(yīng)的解決方案,并通過實(shí)驗(yàn)驗(yàn)證其功能,具體實(shí)現(xiàn)思路及實(shí)驗(yàn)方案將在后續(xù)篇章做詳細(xì)介紹。

        2 相關(guān)工作

        所謂vTPM的證書信任擴(kuò)展,是指如何將物理TPM的證書信任關(guān)系擴(kuò)展到vTPM,構(gòu)造TPM到vTPM的證書信任鏈關(guān)系。

        目前,國內(nèi)外對vTPM的證書信任擴(kuò)展進(jìn)行了大量研究。文獻(xiàn)[17]在研究中提出了4種構(gòu)建vTPM證書鏈的設(shè)計(jì)思路,但最后一種與特殊硬件有關(guān),為不失一般性,本文不討論第4種,只討論前3種。

        1) vTPM vEK to hTPM AIK Binding

        如圖1所示,此方法中vEK和vAIK均由vTPM產(chǎn)生,vEK由TPM的AIK簽名綁定,vAIK由Privacy CA 的私鑰簽名,驗(yàn)證方用Privacy CA的公鑰進(jìn)行驗(yàn)證。此方法不僅將底層的證書信任擴(kuò)展到了虛擬機(jī),而且vTPM的證書結(jié)構(gòu)與TPM一致,便于理解和已有成果的移植,但缺點(diǎn)包括2個方面,一是用TPM的AIK對vEK簽名,違背了TCG規(guī)范,AIK只能對TPM內(nèi)部產(chǎn)生的信息進(jìn)行簽名,而vEK是TPM的外部信息;二是AIK的有效期通常很短,AIK的失效導(dǎo)致對vEK的簽名失效,從而導(dǎo)致vAIK失效,需要頻繁向Privacy CA重新申請vAIK,因此,Privacy CA的性能負(fù)擔(dān)重。

        2) hTPM AIK signs vTPM vAIK

        如圖2所示,此方法用TPM的AIK直接對vTPM的vAIK進(jìn)行簽名,不需要Privacy CA。此方法不僅將底層的證書信任擴(kuò)展到了虛擬機(jī),而且降低了Privacy CA的負(fù)擔(dān)。但該方法依賴于TPM的AIK對vAIK簽名,不僅同樣違反了TCG規(guī)范,而且AIK的失效同樣會導(dǎo)致其對vAIK的簽名失效,從而會頻繁更新AIK對vAIK的簽名,增加性能負(fù)擔(dān)。

        圖1 vTPM vEK to hTPM AIK Binding

        圖2 hTPM AIK signs vTPM vAIK

        3) Local CA issue vEK Certificate

        即由本地證書機(jī)關(guān)(注:不是Privacy CA)為vTPM發(fā)布vEK,如圖3所示。本文方案的優(yōu)點(diǎn)是vEK相對穩(wěn)定,不會隨著底層虛擬平臺和TPM的變化而變化,缺點(diǎn)是不僅需要增加額外的證書機(jī)關(guān),而且與TPM沒發(fā)生綁定關(guān)系,即TPM的可信證書擴(kuò)展沒有傳遞到vTPM。

        文獻(xiàn)[25]提出了vTPM vEK to hTPM EK Binding方案,即vEK由TPM的EK簽名綁定,如圖4所示。這個方案的優(yōu)點(diǎn)是避免由于AIK的失效導(dǎo)致對vEK簽名的失效,而且與TPM的綁定關(guān)系清楚、簡單,將底層的TPM證書信任擴(kuò)展到了虛擬機(jī)。但缺點(diǎn)是違反了TCG規(guī)范,即EK證書不能用于簽名。

        圖3 Local CA issue vEK Certificate

        圖4 vTPM vEK to hTPM EK Binding

        另外,為了對上述方案進(jìn)行改進(jìn),文獻(xiàn)[26]提出了vTPM vAIK to hTPM SK Binding方案,即引入了簽名密鑰SK作為中介,實(shí)現(xiàn)了AIK對vAIK的間接簽名,使AIK不再對TPM外部數(shù)據(jù)進(jìn)行簽名,更好地滿足TCG規(guī)范,而且vAIK的生成不依賴于Privacy CA,降低了Privacy CA的負(fù)擔(dān),如圖5所示。但該方案不僅增加了生成vAIK證書的復(fù)雜性,且沒有解決AIK失效會導(dǎo)致vAIK失效的問題,而重構(gòu)vAIK需要重新生成SK,從而帶來新的性能負(fù)擔(dān)。另外,每一個vAIK證書對應(yīng)一個SK,會產(chǎn)生大量的密鑰冗余。

        文獻(xiàn)[27]結(jié)合TPM 2.0的新特性,提出hTPM EPS Product vEK方案,如圖6所示。在該方案中,vTPM的身份證書vAIK由EPS推導(dǎo)產(chǎn)生的vEK向Privacy CA驗(yàn)證生成。文中認(rèn)為,基于vEK和EPS的映射關(guān)系,就能夠較為直接地標(biāo)識虛擬機(jī)中的真實(shí)物理身份,建立從物理平臺到虛擬平臺的信任鏈,但實(shí)際上是不行的。EPS僅僅是Endorsement Key的基礎(chǔ)密鑰種子,用KDF算法生成Endorsement Key,雖然簡單、容易,但僅僅是生成了vEK的密鑰對而已,不存在信任擴(kuò)展和傳遞的問題,外界不能通過這個密鑰對的公鑰推導(dǎo)出該公鑰是底層TPM的EPS產(chǎn)生的。vTPM證書信任鏈的擴(kuò)展仍然需要將EPS產(chǎn)生的vEK的密鑰公鑰、底層虛擬化平臺的簽名信息和vTPM的相關(guān)信息傳遞給Privacy CA生成vEK證書,再由vEK證書向Privacy CA生成vAIK來實(shí)現(xiàn)。

        圖5 vTPM vAIK to hTPM SK Binding

        圖6 hTPM EPS Product vEK

        從上面的分析可以看出,無論采用什么方式,將底層物理TPM的證書信任關(guān)系擴(kuò)展到vTPM證書均不完善,有的方案存在違背TCG規(guī)范的情況,有的方案增加密鑰冗余,有的方案增加Privacy CA的性能負(fù)擔(dān),有的方案甚至不能進(jìn)行證書信任擴(kuò)展。這將降低用戶使用的方便性和信任度。

        3 TPM新證書——VMEK的設(shè)計(jì)

        為了解決以上問題,本文特為 TPM 增加一種可選的新證書——VMEK(virtual machine extension key),該證書由TPM擁有者通過PCA生成并激活,私鑰由SRK保護(hù),不可遷移,可對TPM內(nèi)和TPM外的數(shù)據(jù)進(jìn)行簽名和加密,只用于虛擬機(jī)證書信任擴(kuò)展和虛擬機(jī)遷移(或 vTPM 遷移)。由于本文只研究證書信任擴(kuò)展,因此,在設(shè)計(jì) VEMK時不討論遷移問題。

        3.1 VMEK證書結(jié)構(gòu)與屬性

        TPM 中每種證書均要設(shè)定特定操作的數(shù)據(jù)段信息,包括背書證書、一致性證書、平臺證書、確認(rèn)證書和身份證書。VMEK證書的數(shù)據(jù)段如表1所示,包含VMEK公鑰、TPM制造商、TPM模塊、TPM一致性參考、平臺類型、平臺制造商、發(fā)布者、簽名值、TPM規(guī)范、PCR值、源VMEK證書、有效期、策略參考和其他。

        表1 VMEK證書的數(shù)據(jù)結(jié)構(gòu)

        其中,設(shè)置PCR值數(shù)據(jù)段的目的是通過該證書可以驗(yàn)證虛擬平臺的可信性,通常包含PCR[0]~PCR[15],源 VMEK 證書數(shù)據(jù)段存放的是虛擬機(jī)遷移之前的虛擬平臺VMEK,設(shè)置該數(shù)據(jù)段的目的是通過該證書回溯原虛擬平臺。

        VEMK密鑰具有不可遷移性,在加密方面,具有與存儲密鑰相同的作用;在簽名方面,具有與簽名密鑰相同的作用。具體比較如表2所示。

        表2 VMEK證書的密鑰屬性與簽名密鑰和存儲密鑰的比較

        3.2 VMEK證書與TPM其他證書之間的關(guān)系

        表3是VMEK與背書證書、一致性證書、平臺證書、確認(rèn)證書、AIK證書和 VMEK證書這 6種證書的比較。

        VMEK證書與EK證書、平臺證書和一致性證書之間還存在著一定的相互聯(lián)系和相互制約關(guān)系,具體如圖7所示。

        VMEK證書包括EK證書里的信息,如 TPM制造商、TPM 模塊等;VMEK證書也包括平臺證書里的信息,如平臺類型、平臺制造商等;VMEK證書還包括一致性證書。VMEK證書并不涉及EK公鑰部分、平臺證書公鑰部分、一致性證書公鑰部分等的私有敏感信息。

        3.3 VMEK證書管理

        VMEK證書管理包括2個方面的內(nèi)容,一方面是VMEK證書的生成和使用,另一方面是VMEK證書的存儲。

        對于 VMEK證書的生成和使用,本文定義 4個接口,分別是 TPM_CreateVMEKKeyPair、TPM_ActiveVMEK、TPM_VMEKLoad和TPM_VMEK_Signing。特別需要說明的是,為了節(jié)省篇幅和便于理解閱讀,接口中出現(xiàn)的類型、符號常量等與TPM規(guī)范一致。敘述中只定義與VMEK相關(guān)的接口和關(guān)鍵數(shù)據(jù)結(jié)構(gòu)。

        表3 TPM中證書功能比較

        圖7 VMEK證書與其他證書之間的關(guān)系

        定義1 TPM_Result TPM_CreateVMEKKeyPair (

        TPM_ENCAUTH *VMEKAuth, //輸入?yún)?shù),VMEK的加密授權(quán)數(shù)據(jù)

        TPM_CHOSENID_HASH *labelPrivCADigest,//輸入?yún)?shù),PCA身份標(biāo)簽摘要

        TPM_KEY *VMEKKeyParams, //輸入?yún)?shù),VMEK密鑰的所有相關(guān)參數(shù)

        TPM_AUTH *auth1, //輸入輸出參數(shù),授權(quán)協(xié)議參數(shù)1

        TPM_AUTH *auth2, //輸入輸出參數(shù),授權(quán)協(xié)議參數(shù)2

        TPM_KEY *VMEKKey, //輸出參數(shù),創(chuàng)建的VMEK密鑰對

        UINT32 *VMEKBindingSize, //輸出參數(shù),用VMEK簽名的內(nèi)容長度

        BYTE **VMEKBinding //輸出參數(shù), VMEK對TPM_VMEK_CONTENTS的簽名值

        );

        該接口用于創(chuàng)建 VMEK公私鑰對(長度至少是2 048 bit)。如果執(zhí)行成功,返回TPM_SUCCESS;否則,返回 TPM錯誤代碼。具體流程如圖 8所示。

        首先,TPM owner使用TPM_Create VMEKKeyPair命令生成一對VMEK公私鑰對(長度至少是2 048 bit),同時產(chǎn)生一個TPM_VMEK_ CONTENTS結(jié)構(gòu),該結(jié)構(gòu)中包括剛生成的VMEK的公鑰部分以及TPM的一些標(biāo)識信息。然后,使用 VMEK的私鑰部分對剛產(chǎn)生的TTPM_VMEK_ CONTENTS進(jìn)行簽名。最后,將簽名值、TPM_VMEK_CONTENTS、背書證書、平臺證書和一致性證書等一起發(fā)送給一個Privacy CA并等待其接受請求后生成VMEK證書,而VMEK的私鑰部分則通過SRK加密保存在TPM內(nèi)部。

        其中,TPM_VMEK_CONTENTS定義如下。

        struct TPM_VMEK _CONTENTS {

        TPM_STRUCT_VER ver;//版本

        UINT32 ordinal; //序號

        TPM_CHOSENID_HASH labelPrivCADigest;// PCA身份標(biāo)簽摘要

        TPM_PUBKEY VMEKPubKey; //VMEK公鑰

        };

        圖8 TPM_CreateVMEKKeyPair接口實(shí)現(xiàn)流程

        隨后,Privacy CA產(chǎn)生一個會話密鑰,并使用這個密鑰對剛生成的 VMEK證書進(jìn)行加密,然后使用用戶TPM的EK公鑰對該會話加密,產(chǎn)生一個TPM_ASYM_CA_ ATTESTATION結(jié)構(gòu),其中,包括被加密的會話密鑰、被加密的證書以及一些加密算法參數(shù)等。最后,Privacy CA將TPM_ASYM_CA_ATTESTATION發(fā)送給TPM。

        定義2 TPM_Result TPM_ActiveVMEK (

        TPM_KEY_HANDLE VMEKKeyHandle, //輸入?yún)?shù),VMEK密鑰句柄

        UINT32 blobSize, //輸入?yún)?shù),來自PCA的TPM_SYM_CA_ATTESTATION的長度

        BYTE *blob, //輸入?yún)?shù),來自 PCA的TPM_SYM_CA_ATTESTATION

        TPM_AUTH *auth1, //輸入輸出參數(shù),授權(quán)協(xié)議參數(shù)1

        TPM_AUTH *auth2, //輸入輸出參數(shù),授權(quán)協(xié)議參數(shù)2

        TPM_SYMMETRIC_KEY *symmetricKey //輸出參數(shù),和PCA交互的會話密鑰

        );

        該接口的主要作用是獲取 VMEK證書,并激活。如果執(zhí)行成功,返回TPM_SUCCESS;否則,返回TPM錯誤代碼。具體流程如圖9所示。

        圖9 TPM_ActiveVMEK實(shí)現(xiàn)流程

        首先,TPM owner驗(yàn)證從 PCA接收到的TPM_VMEK_CA_ATTESTATION是否為當(dāng)前自己申請的VMEK證書結(jié)構(gòu);然后,使用自己的vEK私鑰解密加密證書的會話密鑰;最后,使用該會話密鑰解密證書密文,獲得VMEK證書。

        定義3 TPM_Result TPM_VMEKLoad (

        TPM_KEY_HANDLE SRKHandle, // 輸入?yún)?shù),SRK的密鑰句柄

        TPM_KEY *inVMEK, //輸入?yún)?shù),VMEK的私鑰和公鑰部分

        TPM_AUTH *auth1, //輸入輸出參數(shù),授權(quán)協(xié)議參數(shù)

        TPM_KEY_HANDLE *inVMEKHandle, //輸出參數(shù),TPM內(nèi)部的VMEK句柄

        );

        該接口的主要作用是加載VMEN私鑰到TPM內(nèi)。如果執(zhí)行成功,返回TPM_SUCCESS;否則,返回TPM錯誤代碼。具體流程如圖10所示。

        圖10 TPM_VMEKLoad實(shí)現(xiàn)流程

        首先,確保執(zhí)行此操作是經(jīng)過授權(quán)的;然后,驗(yàn)證準(zhǔn)備加載的密鑰的父密鑰是否是 SRK,并用SRK對該密鑰進(jìn)行解密;接著,驗(yàn)證解密后密鑰的屬性;最后,把密鑰裝載到 TPM 內(nèi)部存儲器,并根據(jù)TPM規(guī)則給裝載的密鑰分配句柄。

        定義4 TPM_Result TPM_VMEK_Signing (TPM_KEY_HANDLE VMEKHandle, //輸入?yún)?shù),VMEK密鑰句柄

        TPM_NONCE *extrnalData, //輸入?yún)?shù),現(xiàn)時nonce

        UINT32 vEKbolb Size, //輸入?yún)?shù),vEK密鑰長度

        TPM_PRIKEY *vEK, //輸入?yún)?shù),vEK私鑰

        TPM_AUTH *auth1, //輸入?yún)?shù),授權(quán)協(xié)議參數(shù)

        UINT32 *sigSize, //輸出參數(shù),簽名值長度

        BYTE **sig//輸出參數(shù),簽名值

        );

        該接口的主要作用是用VMEK私鑰對vEK簽名。如果執(zhí)行成功,返回TPM_SUCCESS;否則,返回TPM錯誤代碼。具體流程如圖11所示。

        圖11 TPM_VMEK_Signing實(shí)現(xiàn)流程

        首先,確保執(zhí)行 TPM_VMEK_Signing操作是經(jīng)過授權(quán)的;其次,確認(rèn) VMEK的私鑰是用作簽名的;接著,創(chuàng)建TPM_Sign_INFO結(jié)構(gòu),記為Q1,并對Q1做hash運(yùn)算;最后,用VMEK的私鑰對此hash結(jié)果簽名,返回簽名結(jié)果。

        另外,VMEK證書私鑰的存儲和使用如圖 12所示。從圖12可以看出,VMEK私鑰存放在系統(tǒng)存儲區(qū),受SRK保護(hù),TPM owner可以通過相關(guān)命令使用VMEK私鑰,應(yīng)用程序則可以通過TCS使用VMEK私鑰。特別需要指出的是,VMEK的

        簽名和加密可以由用戶的應(yīng)用程序調(diào)用實(shí)施。

        4 基于VMEK的vTPM證書信任擴(kuò)展

        本節(jié)主要介紹基于VMEK的證書信任鏈擴(kuò)展,稱為vTPM vEK to hTPM VMEK Binding方案,并和已有6種方案進(jìn)行比較。

        4.1 vTPM vEK to hTPM VMEK Binding

        對于 vTPM 的證書信任擴(kuò)展,本文采用 hTPM VMEK signs vTPM vEK,即基于VMEK的vTPM證書信任擴(kuò)展,如圖13所示。該方案首先利用底層TPM的VMEK調(diào)用TPM_VMEK_Signing接口對vTPM的vEK簽名,將底層信任傳遞到vTPM,然后再由vTPM調(diào)用相關(guān)接口和Privacy CA一起生成vAIK。本文方案的實(shí)質(zhì)是用VMEK來替代AIK,有以下2個優(yōu)點(diǎn),一是VMEK可以對TPM內(nèi)外部信息進(jìn)行簽名,而AIK不能,不存在違反TCG規(guī)范的情況;二是相比AIK,VMEK不會頻繁失效,從而不會引起其簽名的失效,因而不會帶來多余的性能負(fù)擔(dān)。

        具體的實(shí)施流程如下。

        1) TPM首先調(diào)用 TPM_CreateVMEKKeyPair生成VEMK密鑰對,然后調(diào)用TPM_ActiveVMEK生成VMEK證書,并激活。此步驟TPM owner只需操作一次。

        2) 當(dāng)虛擬平臺產(chǎn)生新的vTPM時,會為vTPM生成vEK,此時TPM調(diào)用TPM_VMEK_ Signing對vEK進(jìn)行簽名,將底層TPM的證書信任擴(kuò)展到vTPM。

        3) vTPM owner調(diào)用TPM_MakeIdentity命令生成一對vAIK公私鑰對(長度至少是2 048 bit)。

        圖12 VMEK證書私鑰的存儲和使用

        4) vTPM owner再調(diào)用TPM_ActivateIdentity,獲得vAIK證書。

        圖13 vTPM vAIKto hTPM VMEK Binding

        4.2 本文方案與其他方案的比較分析

        從4.1節(jié)可以看出,本文方案由于采用vTPM vEK to hTPM VMEK Binding方式進(jìn)行證書信任擴(kuò)展具有以下4個優(yōu)點(diǎn)。

        1) 不存在違背TCG規(guī)范的情況。

        2) 沒有產(chǎn)生密鑰冗余。

        3) 沒有增加Privacy CA的性能負(fù)擔(dān)。

        4) 通過VMEK對vTPM的vEK進(jìn)行簽名,實(shí)現(xiàn)了底層TPM證書信任擴(kuò)展到vTPM。

        vTPM vEK to hTPM AIK Binding與本文方案相比,由于vTPM vEK to hTPM AIK Binding方案用AIK對vEK簽名,存在違背TCG規(guī)范中AIK不能對TPM外部信息簽名的要求,另外,AIK容易失效,會導(dǎo)致AIK對vEK簽名的失效,從而導(dǎo)致需重新向Privacy CA申請vAIK,增加了Privacy CA的負(fù)擔(dān)。而本文方案既不存在違背 TCG規(guī)范的情況,也沒有增加Privacy CA的負(fù)擔(dān)。顯然本文方案優(yōu)于vTPM vEK to hTPM AIK Binding。

        hTPM AIK signs vTPM vAIK與本文方案相比,由于hTPM AIK signs vTPM vAIK方案仍然用AIK對 vAIK簽名,同樣存在違背 TCG規(guī)范和增加Privacy CA負(fù)擔(dān)的問題。顯然本文方案優(yōu)于hTPM AIK signs vTPM vAIK。

        Local CA issue vEK Certificate與本文方案相比,由于Local CA issue vEK Certificate方案采用的是本地證書機(jī)關(guān)發(fā)放vEK證書,與TPM沒發(fā)生綁定關(guān)系,即 TPM 的證書信任擴(kuò)展沒有傳遞到vTPM,而本文方案不存在此類不足。

        vTPM vEK to hTPM EK Binding與本文方案相比,由于vTPM vEK to hTPM EK Binding方案用EK對vEK簽名,違反了TCG對EK的使用規(guī)范,而本文方案不存在此類不足。

        vTPM vAIK to hTPM SK Binding與本文方案相比,由于vTPM vAIK to hTPM SK Binding方案需生成SK替代AIK對vAIK簽名,這需要SK與AIK一一對應(yīng),當(dāng)AIK失效時,需要生成新的SK,帶來較大的密鑰冗余,增加了 TPM 的性能負(fù)擔(dān),而本文方案不存在此類不足。

        hTPM EPS Product vEK與本文方案相比,由于hTPM EPS Product vEK方案僅僅是通過TPM中的種子密鑰ESP產(chǎn)生vTPM的vEK,不存在信任擴(kuò)展和傳遞的問題,即底層 TPM 的證書信任并沒有通過ESP產(chǎn)生vEK傳遞到頂層的vTPM和虛擬機(jī),而本文方案不存在此類不足。

        表4是本文方案與其他6種方案的比較統(tǒng)計(jì)結(jié)果。

        表4 本文方案與其他6種方案的比較統(tǒng)計(jì)結(jié)果

        5 在Xen平臺中的實(shí)現(xiàn)

        目前,在Xen 4.4.0實(shí)現(xiàn)了基于VMEK證書的信任鏈擴(kuò)展。其中,特權(quán)管理域 Domain0為Ubuntu14.04 LTS,客戶虛擬機(jī)操作系統(tǒng)為Ubuntu14.04 LTS,并且為保證實(shí)驗(yàn)的可靠性和可操作性,選擇TPM_Emulator-0.7.4對TPM環(huán)境進(jìn)行仿真,TSS軟件棧為最新版本 TrouSerS0.3.14,并結(jié)合IBM發(fā)布的IBM's TPM 2.0 TSS,對實(shí)驗(yàn)參數(shù)進(jìn)行參考和調(diào)整。具體的實(shí)驗(yàn)設(shè)備配置如表5所示。

        表5 物理平臺(Dom0)和用戶虛擬機(jī)(DomU-Ubuntu)配置信息

        5.1 VMEK的實(shí)現(xiàn)

        為了實(shí)現(xiàn)VMEK及其管理,對TPM_Emulator-0.7.4和Xen的源碼做出了相應(yīng)的增加,添加了相關(guān)的數(shù)據(jù)結(jié)構(gòu)及管理接口。限于篇幅,本文僅列出數(shù)據(jù)結(jié)構(gòu)和接口增加的具體位置,具體實(shí)現(xiàn)流程和接口功能描述可詳見第3節(jié)和第4節(jié)。主要的實(shí)現(xiàn)如表6所示。

        其中,在實(shí)現(xiàn)過程中涉及的一些輔助實(shí)現(xiàn)函數(shù)本文不再贅述。具體的實(shí)現(xiàn)步驟描述如下。

        1) 在tpm_emulator-0.7.4/tpm/tpm_structures.h的TPM_KEY_USAGE中新增一種證書類型符號常量。

        2) 在tpm_emulator-0.7.4/tpm/tpm_structures.h中添加VMEK證書,結(jié)構(gòu)用于描述VMEK證書。

        3) 在tpm_emulator-0.7.4/tpm/tpm_structures.h中定義數(shù)據(jù)結(jié)構(gòu)TPM_VMEK_CONTENTS。

        4) 在 tpm_emulator-0.7.4/tpm/tpm_structures.h中新增函數(shù)TPM_CreateVMEKKeyPair、TPM_Active-VMEK、TPM_VMEKLoad和TPM_VMEK_Signing的接口定義。

        5) 在 tpm_emulator-0.7.4/tpm/tpm_identity.c和tpm_emulator-0.7.4/tpm/tpm_vmekref.c實(shí)現(xiàn)了TPM_CreateVMEKKeyPair、TPM_ActiveVMEK、TPM_VMEKLoad和TPM_VMEK_Signing函數(shù)。

        6) 在Xen中//xen-4.4.0/xen/include/public/ xen.h,在虛擬機(jī)的信息結(jié)構(gòu)體中添加 VMEK的相關(guān)標(biāo)識。

        7) 在//xen-4.4.0/stubdom/下的vtpm和vtpmmgr中添加VMEK字段。

        至此,TPM_Emulator-0.7.4和 Xen中 VMEK及其管理實(shí)現(xiàn)完成。

        5.2 基于VMEK的證書信任鏈擴(kuò)展的實(shí)現(xiàn)

        在TrouSerS0.3.14中對TPM_CreateVMEKKey Pair、TPM_VMEKLoad、TPM_ActiveVMEK 和TPM_VMEK_Signing進(jìn)行了封裝。主要實(shí)現(xiàn)的接口如表7所示。

        表6 VMEK在Xen中的實(shí)現(xiàn)

        表7 擴(kuò)展vTPM管理器的TSS接口

        其中,VTPM_CreateVMEKKeyPair函數(shù)用于在應(yīng)用層創(chuàng)建 VMEK公私鑰對;VTPM_TPM_VMEKLoad函數(shù)用于在應(yīng)用層獲取VMEK證書,并激活;VTPM_ActiveVMEK函數(shù)用于在應(yīng)用層加載VMEN私鑰到TPM內(nèi);VTPM_VMEK_Signing函數(shù)用于在應(yīng)用層用VMEK私鑰簽名。

        6 虛擬平臺環(huán)境的遠(yuǎn)程證明測試

        為驗(yàn)證 VMEK設(shè)計(jì)和實(shí)現(xiàn)的有效性,本節(jié)對虛擬平臺環(huán)境進(jìn)行遠(yuǎn)程證明測試,主要分 VMEK的生成、VMEK對vEK證書的簽名、vAIK證書的生成和遠(yuǎn)程證明中證明方平臺有效性驗(yàn)證 4個方面。具體的物理平臺配置參考表5。

        首先,測試了 VMEK的生成,更改./tpm_emulator-0.7.4/tpm/tpm_testing.c下的測試代碼,測試VMEK的生成,實(shí)驗(yàn)結(jié)果如圖14和圖15所示。

        圖14 VMEK相關(guān)函數(shù)測試

        圖15 VMEK證書部分內(nèi)容(加密后)

        其次,測試VMEK對vEK證書的簽名,利用TPM_VMEK_Signing()接口函數(shù),對vEK進(jìn)行簽名,返回執(zhí)行結(jié)果,如圖16所示。

        圖16 VMEK簽名vEK測試

        第三,vAIK證書的生成時間,并與物理AIK證書的生成時間做對比,其中,物理AIK證書的簽發(fā)使用隱私CA測試網(wǎng)站,具體實(shí)驗(yàn)結(jié)果如表8所示。

        表8 生成AIK證書與vAIK證書時間對比

        最后,本節(jié)在虛擬計(jì)算環(huán)境下進(jìn)行了遠(yuǎn)程證明實(shí)驗(yàn),結(jié)果如圖 17所示。該遠(yuǎn)程證明采用基于二進(jìn)制的直接模型,流程如圖18所示。

        驗(yàn)證方通過以下步驟確認(rèn)證明方平臺的可信性。

        1) 通過驗(yàn)證VMEK對vEK的簽名,可知vAIK是可信的,并且是由vTPM提供的。

        2) 通過VMEK對SK的簽名,可知vTPM是可信的,并且是受到物理TPM保護(hù)的。

        圖17 虛擬平臺下的遠(yuǎn)程證明實(shí)現(xiàn)

        圖18 遠(yuǎn)程證明流程

        3) 通過驗(yàn)證VMEK證書,證明物理TPM真實(shí)可信。

        4) 通過驗(yàn)證物理平臺的Quote可知,當(dāng)前虛擬平臺的運(yùn)行環(huán)境(VMM及特權(quán)域)是真實(shí)可信的。

        5)驗(yàn)證客戶虛擬域Domain U的Quote簽名,以驗(yàn)證當(dāng)前虛擬執(zhí)行環(huán)境的可信性。

        值得說明的是,在TCG規(guī)范中,TPM共定義了5種證書,學(xué)術(shù)界認(rèn)為其過于復(fù)雜,在我國的可信計(jì)算標(biāo)準(zhǔn)規(guī)范中,已減少到3種證書。本文又增加了一種新的證書,現(xiàn)任提升了管理的復(fù)雜度。不過,本文提出的 VMEK證書主要針對虛擬平臺環(huán)境,是一種可選的證書,因此,對非虛擬化平臺環(huán)境,只要用戶屏蔽不用,幾乎沒有額外負(fù)擔(dān)。

        7 結(jié)束語

        通過新增一類證書——VMEK,解決了在虛擬平臺環(huán)境中可信證書鏈擴(kuò)展時存在的違背 TCG規(guī)范、增加密鑰冗余或Privacy CA的性能負(fù)擔(dān)問題。

        下一步的工作是將 VMEK應(yīng)用到 vTPM 或TPM的密鑰遷移中。TPM或vTPM允許其可遷移密鑰從一個平臺遷移到另一個平臺,在遷移過程中,VMEK可以用來確保該可遷移密鑰公鑰的正確性和安全性。

        亚洲欧美国产日韩字幕| 国产偷国产偷高清精品| 免费人成在线观看播放国产| 国产精品久久久一本精品| 国产美女自拍国语对白| 日韩激情av不卡在线| 亚洲国产区中文在线观看 | 国产suv精品一区二区6| 男人扒开女人双腿猛进女人机机里| 欧美在线资源| 国产成人夜色在线视频观看| 男女啪啪啪的高清视频| 亚洲天堂二区三区三州| 成人免费看aa片| 日本乱人伦在线观看| 日韩精品区欧美在线一区| 人妻少妇看A偷人无码电影| 天堂av一区一区一区| 日本精品啪啪一区二区| 麻豆人妻性色av专区0000| 天天做天天爱夜夜爽毛片毛片 | 欧洲熟妇色xxxx欧美老妇软件| 亚洲欧美乱综合图片区小说区| 日日猛噜噜狠狠扒开双腿小说| 精品国产看高清国产毛片| AV无码免费不卡在线观看| 亚洲av中文字字幕乱码| 最新国产激情视频在线观看| 亚洲 欧美 综合 在线 精品| 精品亚洲成a人片在线观看| 无码一区二区三区老色鬼| 国产主播在线 | 中文| 少妇高潮紧爽免费观看| 九一精品少妇一区二区三区| 精品厕所偷拍一区二区视频| 人妻少妇乱子伦精品无码专区电影| 久久久久久久久888| 视频一区精品自拍| 在线观看国产自拍视频| 人妻少妇中文字幕在线| 久久视频在线|