999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

云虛擬化平臺可信證明技術研究綜述

2022-01-12 09:41:04涂碧波程杰夏豪駿張坤孫瑞娜
通信學報 2021年12期
關鍵詞:物理

涂碧波,程杰,夏豪駿 ,張坤,孫瑞娜,3

(1.中國科學院信息工程研究所,北京 100093;2.中國科學院大學網絡空間安全學院,北京 100049;3.新疆財經大學信息管理學院,新疆 烏魯木齊 830012)

1 引言

隨著互聯網的普及和業務數據的激增,云計算[1]因其高性能、低成本的優勢得到飛速發展。Amazon、Google、阿里、華為等國內外知名的大型互聯網公司都擁有獨立的云計算平臺及云計算推進戰略規劃,政府部門、事業單位也將部分業務遷移到云上。Gartner 數據顯示,截至2019 年,全球云計算市場規模已達到1 883 億美元,增速為20.86%。2020 年,線上辦公、線上會議等應用爆發式增長,催生了“云經濟”,不少企業加快數字化轉型的進程。除此之外,新基建提出的“加快5G 網絡、數據中心等基礎設施建設”為云計算的發展奠定了政策基調。目前,我國的云計算發展已經進入了一個躍升的階段。

云計算飛速發展的同時,云安全問題也日益突出。在云計算環境下,用戶失去了對計算和數據的完全控制[2]能力,造成了信任缺失,虛擬化技術擴展了軟件棧、增加了新的攻擊面,底層資源的共享可能引發同駐攻擊,解決云安全問題迫在眉睫。然而,傳統的被動防護策略難以抵御新的漏洞和攻擊,同時安全產品自身的安全性也相當脆弱,容易被攻擊者利用而成為新的攻擊面。

可信計算是一種前瞻性的安全技術,它將防護前置以主動的方式彌補被動防護的不足。目前,用“可信計算構筑網絡安全”已成為一種共識,基于可信計算技術構建新一代的安全結構也成為國際的主流。同時,可信計算作為云安全體系的重要技術之一,是解決云安全問題的有效手段[3]。對我國來說,安全市場對可信的需求也在不斷攀升,2019 年發布和實施的等級保護2.0[4]的云安全的相關標準中,強化了可信計算技術的使用,從一級到四級都提出了可信驗證的防護要求。

可信證明是可信計算的重要的技術特征之一。隨著云虛擬化平臺下可信計算的發展,對可信證明技術的研究也在不斷深入。本文對云虛擬化平臺可信證明的關鍵技術進行分析和總結,以期為研究人員對此研究進展有個總體把握,對未來研究提供借鑒。

2 背景

2.1 云計算

云計算是目前互聯網時代信息基礎設施與應用服務模式的重要形態,它依托于虛擬化技術,為信息系統的軟硬件資源提供按需共享的應用方式。云計算提供了多樣的服務模式,包括基礎設施即服務(IaaS,infrastructure as a service)、平臺即服務(PaaS,platform as a service)、軟件即服務(SaaS,software as a service),甚至X 即服務(XaaS,X as a service)。其中,IaaS 具有高度虛擬化、動態伸縮性和龐大規模的技術特征,是其他服務模式的基礎,也是整個云平臺建設的基石。本文的研究重點也在IaaS 云。

2.2 可信證明的定義

不同的組織對可信有不同的定義。其中,可信計算組(TCG,trusted computing group)的定義得到了普遍的認可。TCG 認為,若實體是可信的,則它的行為總是以預期的方式朝著預期的目標發展。即若一個實體可信,則其行為、能力符合預期并且可驗證其符合預期。

對于證明,TCG 規范中的定義是證明是一種報告機制,證明方將其平臺的身份以及軟硬件配置信息報告給挑戰方。挑戰方驗證成功后,相信證明方提供的身份信息和報告是正確、可靠的。美國國家安全局對證明的定義[5]則是證明是證明方向挑戰方提供證據而表明其具備某些特性的行為。文獻[6]在這2 個定義的基礎上重新定義證明,并給出形式化描述。其認為證明是證明方通過提供證據和(或)邏輯推理向挑戰方表明自己具有某種屬性的過程。形式化表示為

其中,S表示證明方,C表示挑戰方;E(S)表示獲取證明信息的操作,R(S,r)表示邏輯推理的操作;evidence 表示證據的結果,I(evidence)表示驗證證據結果的操作,P表示證明方具有的屬性。

結合可信和證明的定義,可信證明的定義如定義1 所示。

定義1可信證明是證明方向挑戰方提供可信相關的證據,挑戰方驗證可信證據是否符合預期來判斷證明方是否可信的過程。

根據可信證明的定義,可信證明應包括2 個基本步驟:一是證明方提供與可信相關的可信證據,這些可信證據包括證明方的平臺身份信息、證明方平臺軟硬件配置的完整性信息等;二是挑戰方收到可信證據后,驗證其是否符合預期,并根據驗證結果推理證明方是否具備可信性。

3 云虛擬化平臺可信證明

本節首先介紹物理平臺可信證明的關鍵技術,并在此基礎上,分析將可信證明技術應用到虛擬平臺時面臨的問題和解決思路。

3.1 物理平臺可信證明

根據可信證明的定義,可信證明的過程分為可信憑證的獲取和可信憑證的驗證。根據可信憑證類型的不同,將可信證明分為平臺身份證明和平臺狀態證明。

平臺身份證明是通過提供與平臺相關的身份證書來驗證平臺是一個可信的實體。在物理平臺,作為可信根的可信平臺模塊(TPM,trusted platform module)中都有一個唯一的背書密鑰(EK,endorsement key)來標識平臺的身份。若直接采用EK 來進行平臺身份證明,會暴露平臺的真實身份。對此,在TPM v1.1 規范中提出了基于隱私CA(PCA,privacy CA)的平臺身份證明方案。該方案引入一個可信第三方(PCA),通過驗證TPM內EK 的正確性來為證明方頒發身份密鑰(AIK,attestation identity key)證書;當證明方向挑戰方請求驗證平臺身份的可信性時,證明方提供AIK證書作為平臺的身份信息,挑戰方驗證AIK 證書的正確性來確定平臺身份的可信性。該方案雖然在一定程度上避免了身份的泄露,但是AIK 證書的請求和驗證都需要PCA 的參與,PCA 的安全性和性能可能成為該方案的瓶頸。TPM v1.2 提出的直接匿名證明(DAA,direct anonymous attestation)的平臺身份證明方案[7]采用群簽名和零知識證明等密碼學技術解決了平臺匿名問題,提高了平臺身份的隱私保護,但是該方案使用的簽名技術長度過長,導致計算量過大、效率不高。對此,一些學者提出了改良的DAA 方案[8],如基于橢圓曲線及雙線性映射對的優化的DAA 方案,有效降低了傳統DAA 方案中長度過長和計算量大的問題,提高通信和計算性能。

在平臺狀態證明方面,證明方向挑戰方報告平臺軟硬件配置的狀態信息用于驗證平臺的可信性。基于二進制的證明是其他證明方法的基礎。該方法是證明方在平臺自啟動時,從硬件可信根TPM 開始,遵循“先度量,再驗證,最后跳轉”的思想,逐級度量啟動序列上實體的完整性,并將度量結果的哈希值存儲到TPM 的平臺配置寄存器(PCR,platform configuration register)內,如實地獲取了系統從BIOS 到操作系統各層次的完整性狀態信息,再將這些度量信息報告給挑戰方驗證。在此基礎上,文獻[9]提出了完整性度量框架(IMA,integrity measurement architecture),該框架將完整性度量擴展到了應用層,實現應用程序加載時的完整性度量。IMA 將可信證明研究工作向前推進一大步,為實現系統的完整性度量提供了參考意義。隨后,文獻[10]在IMA 的基礎上提出了一種基于信息流完整性的證明方法(PRIMA,policy-reduced IMA)。該方法通過增加信息流完整性約束,簡化了系統完整性證明的范圍。上述基于二進制的證明方法存在易泄露平臺配置信息、擴展性差、效率低、TOCTOU(time-of-check to time-of-use)等問題[11]。對此,有些學者開始基于屬性證明(PBA,property-based attestation)方法的研究。PBA 是將系統的某些配置映射為具體的安全屬性,然后證書中心頒發相應的安全屬性證書,挑戰方通過驗證屬性證書來判斷證明方是否可信。PBA 不再直接驗證配置信息的哈希值,一定程度上保護了平臺的隱私和提高了可擴展性。IBM 公司提出了基于屬性的證明框架[12],隨后有學者提出相應的證明方案和具體的證明協議。文獻[13]提出了基于組件的屬性證明方法,利用證書權威機構頒發各種組件屬性證書,證明方根據配置的組件屬性證書和TPM 的完整性度量值向挑戰方證明其配置的狀態滿足一定的安全屬性,實現了細粒度的可信證明。

物理平臺可信證明的框架如圖1 所示。該框架中包含3 個實體:擁有TPM 的證明方、挑戰方以及證書頒發方。證明方負責基于TPM 獲取平臺的身份或狀態信息(如平臺配置、軟件特征、系統狀態等),并將這些可信信息通過驗證代理報告給挑戰方。挑戰方又稱為驗證者,負責請求證明方的可信信息,并根據相應的驗證策略驗證證明方的身份或平臺的狀態,從而判斷其可信性。證書頒發方負責頒發證明方的身份證書或者屬性證書,并在驗證時提供證書的有效性的驗證。3 個實體相互合作,共同實現物理平臺的可信證明。

圖1 物理平臺可信證明框架

3.2 虛擬平臺可信證明

由于虛擬化平臺高度虛擬化、動態伸縮、規模龐大的特征,直接將物理平臺的可信證明技術應用于虛擬機平臺存在一些問題,一些學者對此展開了研究,如圖2 所示。

圖2 虛擬平臺可信證明關鍵技術概括

1) 可信根虛擬化技術。在物理平臺下,每個證明方都擁有一個硬件防篡改的物理可信根TPM,用于提供平臺的身份信息,存儲平臺的可信度量值,以及遠程證明等。但在虛擬化平臺,由于資源的高度虛擬化,一臺云服務器上可以同時部署多臺虛擬機,而單個物理可信根無法同時為多臺虛擬機提供可信服務,難以滿足云平臺可信的需求。因此需要可信根虛擬化技術,為虛擬機提供可信證明的基礎。

2) 虛擬平臺的身份證明技術。對于物理平臺,其物理TPM擁有一個唯一且可信的EK標識平臺的身份。但對于虛擬機,由于可信根虛擬化技術,無法提供一個硬件可信的虛擬EK(vEK,virtual EK)標識虛擬機的身份。因此需要建立一條從物理TPM到虛擬TPM 的證書鏈,將信任從物理平臺擴展到虛擬機。除此之外,PCA 和DAA 的平臺身份證明方法,因為其對隱私CA 的過度依賴或計算量過大等問題,難以適應大規模的云虛擬化環境。基于環簽名的身份證明技術為解決大規模身份證明提供思路。

3) 虛擬平臺的狀態證明技術。物理平臺從可信根開始構建信任鏈,通過逐級度量的方式獲得平臺的可信狀態信息,并通過基于二進制或屬性的方式進行平臺的狀態驗證。對于虛擬平臺,虛擬機的可信憑證不僅可以利用虛擬可信根通過構建信任鏈的方式獲取,還可以利用虛擬機外度量技術。此外,對于云虛擬化平臺,由于其動態的特性,進一步研究了基于行為的平臺狀態證明方法,以期實現對虛擬機動態、實時的可信證明。

4) 虛擬機的可信證明框架。在物理平臺下,挑戰方僅需與物理平臺(證明方)建立可信連接以驗證其可信性。但對于虛擬平臺,虛擬機監視器(VMM,virtual machine monitor)和底層宿主機的可信性可能影響虛擬機的可信性。因此,在對虛擬機進行可信證明時,也需要證明底層平臺的可信性。此時驗證的對象發生了變化,可信證明框架也隨之改變。

下一節將從這4 個方面梳理虛擬平臺可信證明的研究現狀。

4 關鍵技術

4.1 可信根虛擬化

虛擬化技術是云計算的核心技術之一,其使一臺云服務器上同時運行多臺虛擬機。但是在可信證明中,單個物理可信根無法為每臺虛擬機提供唯一的身份信息;并且,虛擬機的動態特性可能使通過構建信任鏈獲取可信度量值的方案產生信任環路;此外,多臺虛擬機的可信度量值的存儲可能造成可信根資源訪問沖突,降低可信性。為滿足虛擬平臺可信的需求,文獻[14]提出了虛擬可信平臺模塊(vTPM,virtual trusted platform module)的概念,每臺虛擬機都擁有獨立的vTPM。vTPM 通過模擬物理TPM 的功能,為虛擬機提供身份憑證、存儲可信度量值、保護敏感信息等,實現了多臺虛擬機對TPM 資源的共享和復用。

對于vTPM 的實現方式,國內外展開了大量的研究,本文接下來將按照虛擬化類型和虛擬機監視器類型2 種分類方式展開分析,并進一步介紹我國物理可信根及其虛擬化技術的研究現狀。

4.1.1 基于虛擬化類型的vTPM

根據虛擬化類型,vTPM 的實現方式可以分為軟件vTPM、硬件vTPM 和半虛擬化vTPM。圖3顯示了Xen 平臺下的這3 種實現方式。

圖3 Xen 平臺下vTPM 實現方式

軟件vTPM 是通過軟件模擬的方式為每臺虛擬機提供一個與物理TPM 相同功能的vTPM 實例,如圖3(a)所示。文獻[14]首次提出了基于Xen 平臺的軟件vTPM 實現方案,并介紹了在通用TPM 和IBM 的PCIXCC 外部卡2 種情況下的vTPM 實現框架。該方案是由Dom0 中的TPM 管理器為每臺虛擬機創建一個vTPM 實例,并利用Xen 平臺的通信機制和隔離特性使虛擬機能夠使用對應的vTPM 實例構建自身的可信環境。同時,底層的物理平臺利用物理TPM 構建可信的運行環境,vTPM 與TPM協同保證這個平臺的可信。此外,文獻[15]提出了一個云租戶可配置的軟件的vTPM 實現方案。該方案接收用戶的安全策略,并根據策略為用戶的虛擬機提供一個μTPM,確保云服務提供商可以為用戶提供一個滿足其安全需求的可信虛擬機。

軟件vTPM 的實現方案可同時為多臺虛擬機提供虛擬可信根,可用性較高。但是也存在一些明顯的問題:首先,軟件模擬的方式導致存儲的敏感信息不再受硬件保護,并且軟件vTPM 的安全性也無法保證;其次,由于vTPM 實例運行在Dom0 中,利用內存泄露等方式便可竊取vTPM 實例中的數據,增加了新的攻擊面;再者,vTPM 與虛擬機間的綁定關系是明文配置,攻擊者可以據此獲得敏感的數據。

為了提高軟件vTPM 的安全性,文獻[16]提出將vTPM 置于CPU 的系統管理模式(SMM,system management mode)中運行,實現了強隔離,保證了vTPM 的安全。然而進入SMM 模式需要掛起其他所有的CPU 內核,性能開銷大。文獻[17]基于Intel SGX 技術的隔離特性設計了一個新的可信安全組件eTPM(enclave TPM),通過將eTPM 的代碼數據放在SGX(software guard extensions)的隔離區域enclave 中運行,確保eTPM 運行時的安全。

硬件vTPM 是通過修改物理TPM,使之可以運行多個vTPM 實例,從而為每臺虛擬機提供獨立的vTPM,如圖3(b)所示。

文獻[18]基于Intel VT-x 技術提出了一個硬件輔助vTPM 方案。該方案中擴展了TPM 命令集,為每臺VM 提供一個TPM 控制結構(TPMCS,TPM control structure),并為每臺VM 保存和加載單獨的vTPM 上下文,并且利用基于硬件保護的保護環隔離vTPM 的上下文。當特定VM 使用其vTPM 時,vTPM 的前端驅動調用TPM 命令加載到TPM 對應的TPMCS 中,實現了多臺VM 共用物理TPM 的資源。該方案允許每臺VM 使用完整的TPM 的功能,好像每臺VM 都擁有屬于自己的TPM,并且由硬件保護虛擬機的敏感信息,可信性和安全性高。但是該方案需要硬件輔助虛擬化的支持,并且需要修改物理TPM,對于已經部署TPM 的環境改動較大。此外,該方案無法支持多臺虛擬機的并發訪問,可用性不高,無法不適用于大規模的云虛擬化平臺。

半虛擬化vTPM 是在虛擬機監視器中添加對物理TPM 的調度機制以及提供某些接口,為虛擬機提供中介訪問物理TPM,如圖3(c)所示。

文獻[19]在虛擬機監視器中增加了半虛擬化模塊來實現VM 對TPM 的訪問,盡可能地保證所有VM 之間公平的共享一個物理TPM。該半虛擬化模塊通過一個超級調用接口來允許VM 直接調用虛擬機監視器,并對TPM 的某些部分(如PCR 和計數器)進行了復制和分區。模塊內的上下文管理器維護了虛擬機與vTPM 的關聯,隔離不同的VM 的TPM 上下文。此外,該半虛擬化模塊還包含了調度程序和命令過濾器等。該方案克服了軟件vTPM 局限性和對硬件輔助虛擬化的需求;實現了對物理TPM 的多路復用。但是同一時間內僅允許一臺虛擬機訪問TPM,無法支持多虛擬機的并發訪問,可用性差,也尚未解決虛擬機身份密鑰的分配和管理的問題。

4.1.2 基于虛擬機監視器類型的vTPM

基于虛擬機監視器類型vTPM 的實現方式,主要分為Xen 和KVM(Kernel-based VM)2 種架構,前文已分析了Xen 架構下vTPM 的實現方式,本節將對KVM 中vTPM 的實現方式展開介紹。

KVM架構下vTPM的實現方式主要分為以下3類:TPM passthrough、基于函數庫模擬和CUSE TPM。

TPM passthrough 是一種基于硬件的vTPM 實現方式。它利用I/O 虛擬化技術使虛擬機直接使用物理TPM 來實現vTPM 的所有計算和存儲操作。該方式將虛擬機和物理TPM 直接綁定,可信性強;但也存在物理TPM 單一時刻僅能被單臺VM 獨占的問題,制約了可用性。

基于函數庫模擬和CUSE TPM 都是軟件vTPM的實現。區別在于,基于函數庫模擬是在Qemu 內部使用libtpms 函數庫模擬物理TPM,從而為每臺VM 提供vTPM 實例。CUSE TPM 是在QEMU 外部使用libtpms 函數庫模擬物理TPM,再通過宿主機提供的IOCTL 接口訪問vTPM 實例。這2 種方式具有軟件vTPM 支持虛擬機并發訪問、高可用性的優點;但同樣存在vTPM 自身的安全性,以及存儲的敏感信息缺少安全防護的問題。基于Intel SGX技術的物理安全隔離特性和密封功能,可以實現對KVM 架構下的軟件vTPM 運行時的安全保護[20]。

4.1.3 國產可信根虛擬化

我國也高度重視對可信計算領域的研究與發展,目前已經形成了基于使用國產密碼算法的可信密碼模塊(TCM,trusted cryptography module)的可信計算體系,制定了一系列相關的標準。TCM 目前已得到廣泛的應用,多種設備等已普遍集成TCM,可支持基于TCM 的安全啟動和信任鏈的構建。

針對TCM虛擬化的研究也受到了廣泛的關注。文獻[21]提出了基于單根設備虛擬化技術的硬件vTCM 實現方案。在該方案中,vTCM 是基于硬件實現,與VM 一一對應,繞過了VMM,直接為VM提供可信密碼服務。這不僅提高了安全性,也進一步提高了效率,滿足高安全可信虛擬環境的需求。隨后,文獻[22]也提出了一種vTCM 方案,該方案是在底層宿主機的物理環境中增加少量的vTCM,保證物理TCM 和vTCM 可以同時運行。在vTCM的調度模塊和管理模塊的相互配合下實現在vTCM有限的情況下多個vTCM 的調度切換,如此一來,不僅支持為每臺虛擬機分配一個綁定的vTCM 實例,而且保證這些實例輪流在物理vTCM 場景中運行,確保了安全要求和成本之間的平衡。

無論是TPM 還是TCM 都是被動設備,其功能的實現依賴于上層應用的調用。對此,我國提出了的可信平臺控制模塊(TPCM,trusted platform control module)的概念[23],將對稱密碼和非對稱密碼相結合,以TPCM 為根對整個平臺進行主動控制和可信度量,增強了可信芯片的運算能力和控制能力,提高了平臺的安全性和效率。TPCM 不再從屬于CPU,可以進行獨立的設計,因此,其擁有比TPM 更好的性能;并且TPCM 的主動控制能力可以對云虛擬化平臺實施動態的監控,保證運行環境實時的可信。因此,TPCM 將來很有可能成為實現云虛擬化平臺可信根虛擬化的一個發展方向。

4.1.4 小結

本節首先從虛擬化類型和虛擬機監視器類型2個角度介紹了現有的vTPM 的實現方式,方案對比如表1 所示。進一步地,介紹了國內可信根TCM 和TPCM 以及它們的虛擬化研究現狀。

表1 vTPM 類型對比

目前來說,可信根虛擬化技術存在一些問題。首先,軟件的vTPM 實現方式通過軟件模擬TPM的功能,違背了可信計算使用硬件保護敏感信息的初衷,無法保證軟件vTPM 自身的安全性以及其保護的敏感信息的可信性。現有的解決方案也存在引入額外性能開銷的問題。其次,硬件和半虛擬化的vTPM 實現方式,在某一時刻,物理TPM 僅能被單臺虛擬機獨占,嚴重影響了可用性。面對動態化、大規模、分布式的云虛擬化平臺,現有的可信根虛擬化方案無法滿足云平臺的大量的可信度量的需求。具有主動控制能力的TPCM 在實現可信計算虛擬化技術中更具有優勢,但目前TPCM 的相關技術并不成熟,未來還需進一步的研究和探索。

4.2 平臺身份證明

平臺身份證明是證明方向挑戰方提供平臺的身份證書來證明其是可以被信任的實體。虛擬機的平臺身份證明將從證書鏈的擴展和平臺身份驗證2個方面進行歸納、分析和總結。

4.2.1 證書鏈的擴展

每個物理TPM都擁有一個唯一的EK標識平臺的身份,但出于安全和隱私保護的目的,平臺身份證明過程并不直接使用EK,而是采用EK 的別名AIK。由于EK 是物理可信的,根據信任傳遞特性,則AIK 也是可信的,從而可以利用AIK 驗證平臺身份的可信。vTPM 的實現方式中,軟件vTPM 通過軟件模擬的方式為虛擬機提供類似物理TPM 的接口和功能,被廣泛應用。但軟件vTPM 沒有硬件保護,無法提供一個可信的vEK,進而無法生成可信的虛擬AIK(vAIK,virtual AIK)。對此,虛擬機平臺身份證明時,需要將證書鏈從物理TPM 擴展到vTPM。

為了實現證書鏈的擴展,文獻[14]提出了EK→AIK→vEK→vAIK 的證書鏈方案。該方案中vEK和vAIK 均由vTPM 產生,利用物理TPM 中的AIK簽名來綁定vEK 的可信,通過PCA 驗證vEK 的可信并頒發vAIK 證書用于虛擬機的身份證明。該方案直接將信任擴展到虛擬機,TPM 和vTPM 的證書結構一致,現有的物理平臺身份證明協議可以直接應用于虛擬機,易于部署和實現。然而,AIK 的時效很短,AIK 的失效會導致vEK 簽名的失效,最終導致vAIK 的失效,因此需要頻繁地向PCA 申請AIK 證書、vAIK 證書,增加PCA 的負擔;并且,此方案需要使用AIK 對vEK 簽名,違背了TCG 規范中AIK 只能對TPM 內部數據簽名的要求。

為了解決AIK 時效短的問題,文獻[24]提出了EK→vEK→vAIK 的證書鏈方案。該方案用TPM 的EK 替代AIK 對vEK 進行簽名綁定。由于EK 唯一且一直存在,因此解決了AIK 時效短的問題。但根據TCG 的規范,EK 證書同樣不能用于外部簽名。

為了減少 PCA 的負擔,文獻[25]提出了EK→AIK→vAIK 的證書鏈方案。該方案中vAIK 證書直接由AIK 簽發,從而減少了PCA 的使用。但同樣存在不符合TCG 規范的問題。

為了符合 TCG 規范,文獻[26]提出了EK→AIK→SK→vAIK 的證書鏈方案。該方案在TPM 內引入簽名密鑰(SK,signature key),并以此為中介實現AIK 對vAIK 的間接簽名。但該方案需要vAIK 和SK 一一綁定,產生大量的密鑰冗余,并且vAIK 的重構需要生成新的SK,也帶來新的性能壓力。文獻[27]在TPM 內增加一類證書——VMEK(virtual machine extension key),并提出了VMEK→vEK→vAIK 的證書鏈方案。VMEK 的密鑰不可遷移,且可對TPM 內外的數據簽名和加密。由VMEK 對vEK 簽名,實現了證書鏈的擴展,解決了違背TCG 規范、增加密鑰冗余和PCA 性能負擔等問題。

上述的證書鏈擴展方案中,vAIK 證書的申請都需要TPM 的支持,虛擬機狀態切換頻繁,將增加系統的負擔。對此,文獻[28] 提出了EK→tEK→vEK→vAIK 的證書鏈方案。該方案是在Xen 平臺下新增一個DomainT 域,該域擁有一個身份密鑰tEK。首先CA 驗證DomainT 的完整性向其簽發tEK 證書;再由DomainT 簽發vEK 證書,進而保證vAIK 證書的合法性。vAIK 證書的生成由DomainT 參與,減少了對TPM 的訪問,減輕了系統負擔。

綜上所述,現有的虛擬機證書鏈擴展方案對比如表2 所示,證書鏈的擴展方案正在向符合TCG規范,減少密鑰冗余,降低PCA 負擔,以及vAIK證書的申請避免TPM 的參與來不斷優化和完善。

表2 虛擬機證書鏈擴展方案對比

4.2.2 平臺身份驗證

虛擬機的平臺身份證明中,先通過證書鏈擴展獲取虛擬機的可信身份證書,進一步需進行平臺身份驗證。在物理平臺中,典型的方案為PCA方案和DAA 方案。vTPM 的設計和實現使這些方案可以直接應用于虛擬機的身份驗證,但是在實際應用中面臨一些問題。首先,PCA 方案中,證明過程的各個操作都需要PCA 的參與,PCA 的安全性和性能可能成為平臺身份證明的瓶頸。在云虛擬化環境,虛擬機的數量顯著增加,更加劇了PCA 的負擔。其次,DAA 方案雖然克服了PCA 方案中PCA 瓶頸局限性,但其復雜的計算量使其無法適用于大規模的云虛擬化平臺。為此,一些學者將研究聚焦于基于環簽名[29]的平臺身份證明。

基于環簽名的平臺身份證明方案[30]是選定一個臨時的包含簽名者(證明方)的集合,簽名者利用自己的私鑰和集合中其他成員的公鑰獨立地產生簽名,挑戰方通過驗證簽名的正確性,確定證明方身份的合法性。該方案中,挑戰方無法知道具體的簽名者,滿足匿名性的要求;集合中的其他成員并不知道自己包含其中,成員可以動態地增減,可擴展性強;并且方案中不存在群管理員,也避免了中心節點的性能瓶頸問題。文獻[31]設計了一種基于環簽名的虛擬機遠程證明方案。該方案引入了一個私鑰生成中心(PKG,private key generation),首先云平臺采用基于PCA 的證明方案向PKG 證明物理平臺的可信性;然后PKG 和vTPM 管理器通過無證書算法共同生成了vTPM 環簽名密鑰;最后利用環簽名技術實現虛擬機的可信證明。

PCA 方案、DAA 方案以及基于環簽名的身份證明方案對比如表3 所示。對于大規模的云虛擬化環境,基于環簽名的方案更具有優勢。但是環簽名的無條件匿名,很難追溯不可信的證明方,并且基于環簽名的研究相對較少,還處于起步階段,此方案的推廣和應用還需進一步探索。

表3 平臺身份證明方案對比

4.3 平臺狀態證明

平臺狀態證明是挑戰方驗證證明方的平臺狀態(如軟硬件配置、系統狀態)的可信性的過程。本節將從狀態度量和平臺狀態驗證2 個方面來探討。

4.3.1 狀態度量

狀態度量是為了獲取證明方的可信度量憑證。從技術實現角度,可以將其分為虛擬機內度量和虛擬機外度量。

1) 虛擬機內度量

虛擬機內度量是將度量軟件置于虛擬機內部,通過構建信任鏈的方式,逐級度量來獲取虛擬機的可信憑證。

基于vTPM,傳統物理平臺的IMA、PRIMA 等完整性度量方案可以直接用于虛擬機,實現虛擬機內的平臺狀態度量。除此之外,文獻[32]在每臺虛擬機內部以內核模塊的形式安裝感知代理,利用此代理監控虛擬機內的系統事件,并將收集到的信息存儲到一個共享的內存區域,最后由中心監控軟件驗證這些信息和控制相應的代理。

虛擬機內度量的方式可以實時獲取虛擬機軟硬件配置的完整性度量值,直接且易于實現。但這種方式需要將度量軟件和被度量對象放在同一區域,度量軟件易受到不合法程序的攻擊,安全性低;其次,這種方式只能檢測虛擬機內部的安全攻擊,對于虛擬機外部的同駐攻擊、側信道攻擊等無能為力;再者,虛擬機內度量的方式需要云服務提供商為每臺虛擬機都提供虛擬可信根(vTCM、vTPM 等)和部署遠程證明代理,增加了部署的難度和造成資源的浪費。

2) 虛擬機外度量

虛擬機外度量的方式是通過在虛擬機外部攔截虛擬機事件,間接獲取虛擬機的可信證據。

虛擬機外度量的方式可以通過攔截系統調用等技術實現。文獻[33]提出的Patagonix 架構就是利用虛擬機監視器控制內存管理單元,在所有程序執行前度量其二進制文件內存頁的完整性,從而驗證虛擬機是否發生rootkit攻擊;文獻[34]提出的HIMA架構是在虛擬機監視器內添加鉤子,主動攔截虛擬機內調用、中斷、異常等,阻止未授權的二進制文件的執行,但這對虛擬機的每次系統調用都執行相應的處理,系統開銷較大;文獻[35]提出了OB-IMA完整性度量方案,該方案也是在虛擬機外部通過攔截系統調用的方式度量虛擬機內關鍵文件的完整性,不僅度量了IMA 方案中所考慮的文件,還進一步度量了影響系統行為和完整性的系統配置文件、程序加載器和腳本解釋器等文件。在此基礎上,文獻[36]進一步提出了虛擬機內度量和虛擬機外度量相協同的完整性度量方案,并在Windows 虛擬機內實現了該完整性度量方案,具有可接受的性能影響。

虛擬機自省技術(VMI,virtual machine introspection)作為虛擬機外度量中最流行的一種技術,也常被用于虛擬機外的可信度量。文獻[37]在虛擬機外部通過VMI、地址轉換以及內容定位等技術,度量虛擬機內部運行的進程、內核模塊以及動態鏈接庫中不變量的完整性,以此來判斷程序的可信性。針對云計算環境中加密服務調用的安全性,文獻[38]提出了En-ACCI 方案,利用VMI 技術提供的豐富的虛擬機上下文信息,更好實現了訪問控制和審計。但該方案僅在加密服務調用時才驗證,未對已經驗證過的代碼頁提供任何保護,易遭受TOCTOU 攻擊。對此,文獻[39]提出了一種透明且細粒度的二進制完整性驗證方案(TF-BIV),該方案在進程創建時識別敏感進程,檢查與進程相關的Guest OS 內核及依賴的二進制文件的完整性,并且利用現有的Intel EPT(extended page table)和MTF(monitor trap flag)機制來連續監視對目標進程頁和已驗證物理頁的更新,有效地滿足了二進制驗證方案需滿足的隔離性、透明性、TOCTOU 攻擊和細粒度的驗證,且性能開銷很小。

與虛擬機內度量的方式相比,虛擬機外度量的方式將度量軟件與度量對象分離,度量軟件不易被攻擊者屏蔽,增加了安全性。但是由于無法直接獲取虛擬機內的可信度量值,存在語義鴻溝等問題。

綜上所述,虛擬機內度量和虛擬機外度量這2 種方式的對比如表4 所示。虛擬機內度量的方式可以直接度量虛擬機內的狀態的度量值,獲得豐富的語義信息,但是度量軟件與度量對象不隔離,安全性較差;虛擬機外度量的方式是在虛擬機外獲取虛擬機的可信證據,對虛擬機透明,因此安全性較高,但是語義信息空白會導致語義信息缺失。

表4 虛擬機可信狀態度量方式對比

4.3.2 平臺狀態驗證

根據可信度量憑證的差異,可以將虛擬化平臺的平臺狀態驗證分為基于二進制的證明、基于屬性的證明以及基于行為的證明。

1) 基于二進制的證明

基于二進制的證明是在平臺狀態證明時直接用二進制哈希值表示平臺的可信憑證。

第一類是通過在服務器內部構建一個可信虛擬機監視器(TVMM,trusted virtual machine monitor),為虛擬機提供一個可信的隔離執行環境。文獻[40]提出的Terra 模型是構建了一個TVMM,實現在一個高可靠的通用平臺上為用戶提供互相隔離的虛擬機底層部件,從而保護了閉盒虛擬機的隱私和完整性。文獻[41]提出了可信云計算平臺(TCCP,trusted cloud computing platform)模型。該模型引入了一個云外部可信實體——可信協調器(TC,trusted coordinator),基于二進制證明技術,TC 可以驗證云節點的可信性并控制虛擬機只能在可信節點中啟動和遷移。在TCCP 模型中,所有的安全可信操作都需要與TC 交互,當節點規模很大時,TC 的節點管理的時間開銷也會增加,制約性能。對此,有學者提出在云平臺內部選擇節點充當TC 的角色[42],有效地將TC 的任務分散,緩解TC的壓力。

第二類是基于vTPM 的實現,將傳統的物理平臺的二進制可信證明方案用于虛擬機。文獻[43]提出了雙層非平衡散列樹的遠程證明方案。該方案引入了層級的概念,構建了雙層非平衡散列樹,將單一樹擴展為主樹和子樹,主樹和子樹分別對應云平臺中的虛擬機和虛擬機中的度量組件,證明時僅需要提供待度量組件和認證路徑,細化了證明粒度,提高了證明效率,還提供了較好的隱私保護能力。文獻[44]提出了一種博弈論的方法來分析開源云的可信性,同時討論了可信計算對云計算的有效性。開源的軟件系統提高了攻擊者對軟件系統的了解,增加了系統遭受攻擊的可能性,但云租戶可以利用基于二進制的證明技術驗證底層平臺和虛擬機的可信性,增強了對云服務提供商的信任程度。

構建TVMM 的二進制證明方式本質上是對物理平臺進行二進制證明,在可信的物理環境的基礎上為虛擬機提供一個可信的隔離執行環境,保證運行在隔離環境的虛擬機不受非法的篡改,但是無法驗證虛擬機自身的可信性。基于vTPM 的二進制證明方式是通過構建信任鏈獲取平臺軟硬件的完整性度量值,只能驗證虛擬機的特定時刻的可信狀態,是一種靜態的證明方式。然而在云虛擬化環境中,虛擬機是動態的,其可信狀態可能由于遷移等操作而改變,基于二進制的靜態證明方式已經不足以驗證虛擬機的可信狀態。因此,一些學者研究云虛擬化環境下基于屬性的可信證明。

2) 基于屬性的證明

基于屬性的證明是雖然平臺運行不同的組件、擁有不同的配置,但只要能提供相同的屬性,就認為其是可信的。

基于屬性的證明方式可以通過一個代理將平臺的完整性度量值轉化為相應的屬性用于平臺狀態證明。文獻[45]根據安全屬性的需求和信任策略將平臺度量值轉換為相應的屬性,利用轉換后的屬性驗證平臺的可信性,從而有效監測和阻止對云基礎設施的攻擊,保障了租戶虛擬機的安全。文獻[46]將基于屬性的證明技術和云安全監控系統CloudPass 結合,實現對CloudPass 系統的完整性驗證和平臺身份驗證。

除此之外,基于屬性的證明還可以直接利用虛擬機自身的安全屬性來驗證虛擬機的平臺狀態。文獻[47]通過租戶虛擬機流量源地址的正確性、來自租戶虛擬機的流量以及租戶虛擬機的狀態這3 個屬性驗證租戶虛擬機的行為可信,對于不可信的虛擬機可以動態隔離,甚至精細到終止服務,有效減少了租戶和客戶之間的攻擊。文獻[48]提出了一種云環境下虛擬機監視和驗證框架(CloudMonatt),不僅驗證虛擬機在啟動和運行時的完整性,還進一步驗證虛擬機的機密性和可用性,完成對虛擬機全生命周期的可信驗證,防止了潛在的安全漏洞。

3) 基于行為的證明

為了實現虛擬機動態證明,還有學者提出了基于行為的證明。基于行為的證明方式是通過驗證系統或程序在運行時的行為變化來推理其可信性。

文獻[49]通過攔截系統調用和VMI 技術獲取虛擬機內進程的上下文信息,對虛擬機的進程列表、模塊列表等的一些行為進行“行為跟蹤”,并利用這些行為變化特征驗證虛擬機在運行時的可信性。在產業界,阿里云結合大數據分析和機器學習技術,對白名單應用的系統調用行為進行分析。搜集了用戶正常行為并建立行為規則庫,此后實時采集應用行為數據,對比應用行為規則庫,從而驗證應用行為的可信性。

在平臺狀態驗證的研究中,根據可信度量憑證可以分為基于二進制的證明、基于屬性的證明、基于行為的證明,其對比如表5 所示。基于二進制的證明可以直接驗證度量組件的可信狀態信息,易于實現。但是二進制是靜態的驗證方式,難以應對云計算環境虛擬化和動態化的特性。基于屬性證明和基于行為的證明這種方式都可以實現對虛擬機動態的平臺狀態驗證,大大提高了證明的靈活性。但是,就目前的研究來說,存在著可信屬性和行為特征的規范化定義不足,缺少理論支撐等問題。

表5 平臺狀態證明方式對比

4.4 虛擬機可信證明框架

在云虛擬化平臺,虛擬機監視器負責資源的分配、虛擬機與宿主機以及管理軟件的通信。惡意的虛擬機監視可能會破壞虛擬機的完整性,從而影響虛擬機的可信性。因此,在僅驗證虛擬機的可信性而不驗證底層平臺(虛擬機監視器或宿主機)的情況下,虛擬機可信的結論是不準確的。虛擬機的可信證明需要滿足同一性的需求,即虛擬機的可信證明應與底層平臺的證明綁定在一起。對此,形成3 種主要的虛擬機可信證明框架,即虛實分離模式的可信證明框架、虛擬機模式的可信證明框架和宿主機模式的可信證明框架。

虛實分離模式的可信證明框架如圖4(a)所示,該框架在虛擬機和宿主機內分別部署驗證代理,通過完整性度量和可信驗證技術,挑戰方分別驗證虛擬機和宿主機的可信性,2 個驗證結果最終表示整個平臺的可信性。該框架直接利用物理平臺成熟的可信證明技術,在實現方面改動較少;同時,對挑戰方而言,虛擬機和宿主機是等價的,可以平等地驗證,簡化了挑戰方的難度。但是,此框架需要虛擬機、虛擬機監視器以及宿主機之間相互隔離,彼此之間沒有相互影響,在實際生產中無法滿足此要求;再者,虛擬機和虛擬機監視器應該是綁定的,挑戰方應知道它們之間的綁定關系,避免同一性問題。文獻[50]利用度量聯系和MAC 地址判定解決了證明過程中的同一性問題。但在云環境中,虛擬機遷移等操作勢必會破壞綁定關系,因此帶來了綁定關系的一致性同步問題。

圖4 虛擬機可信證明框架

虛擬機模式的可信證明框架如圖4(b)所示,該框架是將宿主機的可信信息映射到虛擬機,并通過虛擬機與挑戰方建立的可信連接一起驗證虛擬機和宿主機的可信性。此框架將宿主機和虛擬機綁定,保證了同一性,避免了綁定更新的同步問題;然而,當宿主機的可信憑證無法及時映射時,無法保證可信證明時可信信息的新鮮度。

這2 種框架每驗證一臺虛擬機時都需要驗證其底層的宿主機,造成了驗證的冗余;同時,需要頻繁使用TPM,TPM 的性能制約可信證明的效率;并且,每臺虛擬機都要與挑戰方交互,增加了平臺身份證明的負擔;再者,大量的虛擬機與挑戰方連接,也造成網絡的擁塞。綜上,這2 種框架更適用于有限數量的虛擬機的可信證明。

為了適用大規模的云虛擬化環境,支持更多數量的虛擬機的可信證明,有學者提出了宿主機模式可信證明框架[51],如圖4(c)所示。此框架中,虛擬機不再直接與挑戰方交互,而是在虛擬機監視器層增加一個代理,代理利用虛擬機外監控技術獲取虛擬機的可信信息,并將其與宿主機的可信信息一同報告給挑戰方。基于此框架,文獻[52]利用VMI 技術實現了虛擬機的可信證明,但是該方案需要對每臺虛擬機都執行一個很耗時的TPM_Qoute 操作,在大規模的云環境,會影響證明的可擴展性。

虛擬機的可信證明不僅要滿足MIRTE 提出的遠程證明設計時的5 項基本原則,還應進一步滿足同一性和可擴展性的需求。現根據這7 項要求對上述3 種框架進行對比,如表6 所示。其中宿主機模式的可信證明框架更為完善,但現有的研究中仍存在TPM 性能的制約的問題,使其無法適用于大規模的云虛擬化環境。

表6 虛擬機可信證明框架對比

5 未來的研究展望

本文主要圍繞云虛擬化平臺可信證明中可信根虛擬化、平臺身份證明、平臺狀態證明、虛擬機可信證明框架4 個關鍵技術展開綜述,通過分析可知,仍存在一些問題尚未解決,未來的研究工作中,可以更多地關注以下幾個方面。

1) 適用于云虛擬化平臺的可信根虛擬化方案。根據前文所述內容,軟件vTPM 方案存在功能缺失的問題,無法保證本身的可信性;基于硬件和半虛擬化方式的vTPM 性能不足,無法滿足大規模、動態的云平臺可信度量的需求;TPCM 可能成為適用于云平臺可信根的發展方向,但目前來說,相關技術還不成熟,亟須展開進一步的研究。

2) 適用于虛擬機運行時動態的可信度量機制。現有虛擬機度量機制都僅度量虛擬機運行時關鍵不變量的完整性,片面地表示虛擬機運行時的可信狀態,其虛擬機可信的結論并不十分準確。因此,需要一種新的機制,實現對虛擬機運行時整體的可信度量和驗證。

3) 適用于云虛擬化平臺的可信證明系統。現有的虛擬機可信證明框架都是對虛擬機逐一驗證,云虛擬化平臺的規模在不斷擴大,逐一驗證的方式易造成網絡的擁塞,并且挑戰方的性能也會制約可信證明的效率。因此,需要從虛擬機的平臺身份證明、平臺狀態證明以及可信證明框架的多個方面進行系統化的設計,為大規模、動態化的云虛擬化平臺提供一個高效、靈活、可擴展的可信證明系統。

6 結束語

隨著云計算技術進一步成熟,隨之而來的云平臺的可信性問題也將成為未來信息安全領域學術界和產業界的關注焦點。本文結合可信證明的定義,在物理平臺的可信證明關鍵技術的基礎上,對虛擬機的可信證明關鍵技術進行梳理、分析和總結,為研究人員進行下一步的研究工作提供有益探索。

猜你喜歡
物理
物理中的影和像
只因是物理
井岡教育(2022年2期)2022-10-14 03:11:44
高考物理模擬試題(五)
高考物理模擬試題(二)
高考物理模擬試題(四)
高考物理模擬試題(三)
留言板
如何打造高效物理復習課——以“壓強”復習課為例
處處留心皆物理
我心中的物理
主站蜘蛛池模板: 午夜免费小视频| vvvv98国产成人综合青青| 国产精品jizz在线观看软件| 午夜少妇精品视频小电影| 久久久久国色AV免费观看性色| 国产精品免费久久久久影院无码| 五月婷婷综合网| 亚洲精品国产乱码不卡| 欧美色图久久| 国产精品片在线观看手机版 | 欧美日韩国产在线观看一区二区三区| 久久国产免费观看| 欧美日韩在线成人| 波多野结衣中文字幕久久| 国内精品久久人妻无码大片高| 午夜啪啪网| 国产丝袜无码精品| 2021最新国产精品网站| 四虎永久在线| 久久精品91麻豆| 日韩A∨精品日韩精品无码| 操美女免费网站| 国产区在线观看视频| 欧美亚洲一区二区三区导航| 精品国产免费观看一区| 日韩欧美亚洲国产成人综合| 日本午夜精品一本在线观看| 久久久91人妻无码精品蜜桃HD| 国产麻豆精品久久一二三| 91无码人妻精品一区二区蜜桃| 男女精品视频| 亚洲欧美成人综合| 国产精品第一区| 国产综合日韩另类一区二区| 72种姿势欧美久久久大黄蕉| 亚洲一区二区成人| www.亚洲色图.com| 毛片在线区| 麻豆AV网站免费进入| 欧美日韩另类在线| 精品福利视频导航| 成人国产精品一级毛片天堂| 亚洲一本大道在线| 三级国产在线观看| 色哟哟色院91精品网站 | 国产一级视频久久| 国产亚洲精久久久久久无码AV| 午夜爽爽视频| 国产成人亚洲综合A∨在线播放| 特级精品毛片免费观看| 久久久久亚洲精品成人网| 午夜在线不卡| 青青草原偷拍视频| 青草视频在线观看国产| 中文字幕在线欧美| 无码精品福利一区二区三区| 日本黄网在线观看| 精品少妇人妻av无码久久| 亚洲第一天堂无码专区| 亚洲人人视频| 亚洲国产精品无码AV| 国产午夜不卡| 理论片一区| 日本免费高清一区| 国产精品亚洲一区二区在线观看| 成人午夜福利视频| 综1合AV在线播放| 免费激情网站| 91精品国产情侣高潮露脸| 色妺妺在线视频喷水| 精品视频一区在线观看| 日韩AV无码一区| 日本成人福利视频| 伊人久久久大香线蕉综合直播| 国产鲁鲁视频在线观看| 国产激情影院| 亚洲天堂网2014| 毛片手机在线看| 亚洲中字无码AV电影在线观看| 在线免费亚洲无码视频| 国产欧美日韩精品综合在线| 欧美激情视频在线观看一区|