摘 要: 針對云計算中數據和計算的保密性和完整性無法保證的問題,設計了一種基于虛擬機的可信賴云計算平臺,它為客戶虛擬機安全執行提供封閉環境,允許用戶在執行虛擬機前先檢驗服務商,以確保服務安全。
關鍵詞: 云計算;可信賴;虛擬機
云計算服務能夠大大節約存儲和計算數據的成本,但由于安全問題,多數企業卻對此表現很冷淡。近期有研究[1]發現,企業最關心的是數據的安全性和失去數據控制權會對隱私帶來什么樣的危害,而不僅僅是如何降低數據存儲和處理的成本。云服務商的雇員很有可能篡改或者泄露用戶數據,甚至是公司的財務狀況,從而對用戶造成巨大危害。
本文提出一種可信賴云計算平臺(TCCP),可以確保外包給基礎設施服務(IaaS)的計算的保密性和完整性。TCCP為用戶VM提供了一個封閉的執行環境,避免云服務商的特權用戶窺視或者篡改內容,在執行VM申請前,用戶可以遠程判斷服務后臺運行的TCCP是否可信。該方法拓展了整體服務驗證的概念,使用戶能夠預估計算執行安全性。
1 相關知識
1.1 基礎設施服務(IaaS)
當前眾多云服務商提供不同的軟件層級服務,在較低層可以提供客戶訪問服務商控制的整體虛擬機,客戶和系統用戶需要配備虛擬機上運行的軟件;在較高層級可以完全在線運行,無需客戶干預;在高軟件層級運行服務更難保證計算的保密性,因為服務本身需要操作客戶數據的軟件。本文主要研究低層級IaaS云服務商,此時更容易保證客戶虛擬機安全運行。
如圖1所示,以Eucalyptus為例,系統包含一個或多個運行客戶虛擬機的鏡像(典型的如Xen)的節點簇,而Eucalyptus擁有一系列組件來管理這些簇。簡言之,需要將所有這些組件集中到一個云管理者CM(Cloud Manager)。

從客戶角度,Eucalyptus提供了一個可執行、可管理和可終止VM的Web服務接口,虛擬機鏡像VMI運行VM,而CM負載VMI。VM啟動以后,用戶可以利用普通工具登錄,如ssh。除了用戶接口,CM還提供管理服務,如添加或刪除VMI或用戶。Xen支持熱遷移,允許VM在執行時更換物理主機,而過程對用戶透明,這種遷移對于簇內資源整合和負載平衡有重要意義。
1.2 攻擊模型
云服務商的系統管理員擁有控制后臺的特權,可以實施多種攻擊以訪問客戶虛擬機內存。IaaS提供商不會允許某人擁有全部特權,而且也部署了嚴格的安全設施,嚴格訪問權限策略,保護硬件的物理安全??梢哉J為服務商能夠阻止對機器物理訪問的攻擊,但系統管理員還是需要簇內機器的訪問特權來管理機器上運行的軟件。因此TCCP必須做到以下兩點:(1)確保虛擬機在安全保護域內運行;(2)任何時候,擁有根權限的系統管理員遠程登錄運行虛擬機的機器,都不能訪問虛擬機內存。
1.3 可信賴計算
可信賴計算群(TCG)提出了一系列的軟硬件技術來構建可信賴平臺,而且給出了可信賴平臺模塊(TPM)集成的設計標準。TPM支持私鑰(EK)并將此作為身份識別的唯一標準,還支持一些不可修改的加密方法,不同廠商設備使用不同的公鑰識別集成模塊。
可信賴平臺[2-4]改進了TPM集成特性,使其可以遠程識別。在啟動時,主機計算一個由啟動軟件序列哈希值組成的測度列表ML,啟動軟件即BIOS、啟動項、軟件執行平臺等。ML安全載入主機TPM,遠程一方利用當前nU挑戰運行在主機的平臺,平臺調用TPM生成包含ML和nU的應答信息,并用TPM的私鑰加密,主機將信息反饋給遠程方,遠程方利用對應的EK公鑰解密,這樣就完成了對主機的認證。通過核驗ML和nU,遠程方可以鑒別主機上運行的平臺是否可信賴。
可信賴平臺如Terra[3],執行瘦VMM,即強制使用封閉執行環境,這樣擁有主機全部特權的用戶也無法窺視和篡改客戶VM,即使機器重啟VMM也可以保證自身的完整性。因此遠程方可以通過驗證主機上運行的平臺,證實VMM的可信性,如此即可保證其客戶VM的計算是安全的。
假設傳統可信賴平臺能夠保證單臺主機上的計算安全性,保證IaaS服務的最自然的想法就是在服務后臺每個節點都部署平臺,然而這樣是不夠的,不論VM載入時(通過操作CM)還是運行時(通過遷移),系統管理員都可以將客戶VM轉移到沒有運行平臺的節點上。所以平臺驗證機制并不能保證遠程方得到的測度列表ML就是VM運行(或即將運行)主機的真實信息。因此,TCCP需要設計遠程驗證方法,保證后臺平臺資源持久安全。
2 可信賴云計算平臺
可信賴云計算平臺TCCP加強了IaaS后臺,使其可以在不改變結構的情況下提供封閉執行環境,如圖2所示。TCCP可信賴計算的基礎包含可信賴虛擬機映像(TVMM)和可信賴協調者(TC)兩個方面。

后臺每個節點運行掌控客戶VM的TVMM,并防止被特權用戶窺視和篡改。TVMM可以保護自身安全性并遵守TCCP協議,節點被嵌入經驗證的TPM并通過安全啟動進程加載TVMM。
TC管理一系列可以安全運行客戶VM的節點,稱為可信賴節點,節點必須位于安全域內并運行TVMM,這要求TC保存節點安全域的記錄,并判斷該節點是否運行著可信賴TVMM。TC管理諸如簇中添加或移除節點、由于維修或升級需臨時關閉節點等事件。通過TC驗證,用戶可以判斷IaaS是否安全。
為了VM的安全,每個節點上運行的每個TVMM必須與TC相配合,目的是:(1)將VM限制在可信賴節點上;(2)在VM遷移時保證其狀態不受窺視和篡改。這些保護措施關鍵在加載和遷移VM時的操作,為了保護這些操作,TCCP制訂了具體協議。
假設由外部可信賴實體(ETE)來管理TC,并為TC更新部署在IaaS域中一系列節點和可信賴配置的信息,最重要的是管理IaaS的系統管理員在ETE內部沒有特權,因此不能篡改TC。本文假設ETE由沒有與IaaS服務商共謀動機的第三方維護。





在實時遷移[5]中,運行中的VM的狀態信息在源節點Ns和目標節點Nd間遷移。為保證操作的安全性必須使兩個節點互信,而且VM狀態必須可信并且在完成遷移前是不可修改的。圖5所示是參與VM安全遷移的消息隊列,首先Ns請求TC檢驗Nd是否可信,消息3中,Ns向Nd發起VM遷移申請并附加會話密鑰KS。Nd驗證Ns是否可信。如果兩個節點都認證成功,Nd通知Ns接受KS,在消息7中Ns最終將VM狀態哈希值加密發送給Nd,VM遷移成功。

企業普遍應用云計算的主要阻力源自對數據和計算的保密性和完整性的擔心,本文提出一種可信云計算平臺TCCP,它可以為IaaS服務提供一個封閉執行環境,保證了客戶VM執行的機密性,允許用戶驗證IaaS提供商并在裝載其虛擬機前先判斷服務是否安全。
參考文獻
[1] CircleID Reporter.Survey:cloud computing‘No Hype’,but fear of security and control slowing adoption[C/OL].(2009-02-26)[2010-03-01].http://www.circleid.com/posts/2009- 0226_cloud_computing_hype_security/.
[2] BERGER S,CACERES R,GOLDMAN K A.vTPM:virtualizing the trusted platform module[R].In Proc.of USENIX-SS’06,Berkeley,CA,USA,2006.
[3] GARFINKEL T,PFAFF B,CHOW J.Terra:a virtual machinebased platform for trusted computing[C].In Proc.of SOSP’03,2003.
[4] MURRAY D G,MILOS G,HAND S.Improving xen security through disaggregation[C].In Proc. of VEE’08,New York,NY,USA,2008.
[5] CLARK C,FRASER K,HAND S.Live migration of virtual machines[C].In Proc.of NSDI’05,Berkeley,CA,USA,USENIX Association.
