何欣楓,田俊峰,劉凡鳴
(1. 河北大學管理學院,河北 保定 071002;2. 河北大學網(wǎng)絡空間安全與計算機學院,河北 保定 071002;3. 河北省高可信信息系統(tǒng)重點實驗室,河北 保定 071002)
以虛擬化、資源租用、應用托管、服務外包等為典型應用的云計算(cloud computing),實現(xiàn)了人們長期以來的“把計算作為一種設施”的夢想[1]。當前,云計算發(fā)展面臨許多關鍵性問題,其中的安全問題已成為制約云計算進一步發(fā)展的重要因素[2]。
一般認為,云計算環(huán)境自身的結(jié)構(gòu)特點是造成安全問題的主要原因[3]。在云計算環(huán)境中,用戶基本喪失了對私有信息和數(shù)據(jù)的控制能力,從而引起了一系列重要的安全挑戰(zhàn)[4],增強云計算平臺自身的安全性是保證云計算安全的基礎,提高用戶對云計算平臺的信任度是云計算技術(shù)向更深層次領域發(fā)展、全面普及和應用的關鍵。構(gòu)建可信云計算平臺是解決上述問題的一個有效手段。2017年,中國工程院院士沈昌祥在《用可信計算構(gòu)筑云計算安全》主旨報告中提出,要用可信計算構(gòu)筑云計算安全,在云的基礎上解決數(shù)據(jù)安全[5]。其他學者也從數(shù)據(jù)存儲外包、計算外包、虛擬機外包等涉及云服務安全可信的領域開展了相關的研究工作[6]。
本文將從可信虛擬化、可信云平臺構(gòu)建和可信虛擬機等角度出發(fā),綜述近年來可信云計算技術(shù)的研究進展,具體分類如圖1所示。通過介紹相關研究進展,分析并對比典型方案的特點和適用范圍,討論已有工作的局限性,進而指出未來發(fā)展趨勢和后續(xù)研究方向。
圖1 可信云計算研究分類
虛擬化是云計算的核心特征之一,通過虛擬化技術(shù)使CPU、內(nèi)存、硬盤等計算資源和存儲資源得到合理共享和充分利用。將可信計算技術(shù)引入云計算,也需要進行虛擬化處理,以滿足云計算的需求??尚庞嬎憬M織(TCG, trusted computing group)虛擬化工作組(virtualized platform)提出了虛擬可信平臺模塊(vTPM, virtual trusted platform module)的概念[7-8],為云計算環(huán)境提供可信功能。它通過模擬硬件TPM(trusted platform module)的接口和功能,使每個虛擬機擁有自己獨立的vTPM,達到保護敏感信息、存儲虛擬環(huán)境度量值、提供遠程證明等目的,從而實現(xiàn)多個虛擬機TPM 硬件資源的共享與復用。
TPM的虛擬化主要有TPM passthrough、基于函數(shù)庫(如libtpms)模擬以及CUSE(character device in userspace)TPM這3種實現(xiàn)方式,其中后2種都屬于軟件模擬TPM虛擬化方式[9]。3種實現(xiàn)方式的各自特征如表1所示。
表1 TPM的虛擬化方式
由于 TPM passthrough方式可實現(xiàn)虛擬機與TPM的直接綁定,具有較好的可信性,大量的研究者基于此方式開展可信云平臺構(gòu)建研究,詳見 3.2節(jié)內(nèi)容。
我國在可信計算領域起步并不晚,水平也不低,成果可喜[10],已經(jīng)建立了完整的自主可控可信計算體系,以國產(chǎn)密碼算法為基礎提出了可信密碼模塊(TCM, trusted cryptography module)標準。文獻[11]給出了基于可信根服務器的虛擬 TCM 密鑰管理方案。在該方案中,所有的虛擬可信密碼模塊vTCM密鑰均通過vTCM管理器調(diào)用物理可信密碼模塊TCM芯片來產(chǎn)生,保證了密鑰產(chǎn)生的規(guī)范性。文獻[12]提出了一種全新的虛擬可信根設計方案,該方案以模塊化的結(jié)構(gòu)對可信根進行重構(gòu),各個模塊之間通過內(nèi)部統(tǒng)一的消息格式來協(xié)調(diào)合作,為云環(huán)境提供安全可靠的計算保障。
為了解決原有 TPM 存在的安全問題,滿足更多場景的應用,TCG將可信平臺規(guī)范族升級到2.0版本。結(jié)合TPM 2.0的新特性,文獻[13]提出了一個Ng-vTPM框架,由物理TPM產(chǎn)生vTPM密鑰提供安全存儲屬性,基于物理 TPM 背書平臺種子與虛擬背書密鑰的映射關系,提供虛擬機可信身份,將信任鏈由物理平臺擴展到虛擬機平臺,并提出使用基于平臺配置寄存器策略的封裝存儲方法解決vTPM 遷移后數(shù)據(jù)的可用性。
目前,可信虛擬化還面臨功能缺失和性能受限這兩方面的問題。從功能角度考慮,多數(shù)虛擬化方案通過軟件來模擬 TPM 的功能,失去了可信計算技術(shù)使用硬件保護敏感信息的初衷。因此,可信計算技術(shù)原有的技術(shù)特征并不能完全體現(xiàn)在虛擬化后的方案中,如非易失存儲、平臺配置信息等。從性能角度考慮,當虛擬化方案采用TPM passthrough實現(xiàn)方式時,則某一時刻物理 TPM 只能被單個虛擬機獨占,這將嚴重影響可用性,不適合在大規(guī)模的云平臺使用。此外,云計算和虛擬化環(huán)境具有大規(guī)模、分布式、動態(tài)、不確定性的特點,這就需要進行大量的、高效率的可信度量。受限于目前TPM的設計及實現(xiàn)方式,現(xiàn)有虛擬化方案面對大量的、高頻率的可信度量時顯得力不從心,無法滿足云計算平臺的全部可信度量需求。
為了更好地適應云計算平臺的需求,根本的解決方法是增加可信芯片的運算能力和控制能力,更好地為云計算平臺服務。國產(chǎn)可信計算標準創(chuàng)新性地提出了主動控制的可信平臺控制模塊(TPCM,trusted platform control module)概念[14],使用對稱密碼與非對稱密碼相結(jié)合, 以TPCM為根進行主動控制和可信度量,提高了安全性和效率,改變了TPM模塊作為被動設備的傳統(tǒng)思路, 將可信平臺模塊設計為主動控制節(jié)點,實現(xiàn)了TPCM對整個平臺的主動控制[15]。以TPCM為基礎進行可信虛擬化設計,一方面可以利用TPCM主動的、絕對的控制能力,對云平臺節(jié)點實施動態(tài)監(jiān)控,保持其運行環(huán)境的可信性。一旦有惡意代碼入侵而導致系統(tǒng)失控,TPCM可以采取切斷物理通道、關閉電源等絕對性保護措施保護數(shù)據(jù)及網(wǎng)絡安全。另一方面,TPCM不再從屬于 CPU,可以進行獨立的設計,具有比TPM更好的性能,可較好地解決功能缺失和性能受限的問題。TPCM必將成為未來可信計算虛擬化技術(shù)的一個發(fā)展方向。但目前國產(chǎn)可信計算標準還處于發(fā)展的初期階段,TPCM普及程度較低,相關產(chǎn)品較少,還需要進一步加快產(chǎn)業(yè)化進程。
可信云平臺通過可信計算技術(shù)為用戶提供可信云服務,是可信云計算技術(shù)最直接的體現(xiàn)方式。目前,構(gòu)造可信云平臺的主要方案包括:1)借助硬件隔離技術(shù)構(gòu)造可信執(zhí)行環(huán)境(TEE, trusted execution environment),如 Intel的 SGX(software guard extension)、ARM的TrustZone等,為虛擬機監(jiān)控器添加安全隔離、可信驗證等功能;2)基于可信虛擬化(如vTPM)技術(shù)構(gòu)建可信云平臺;3)通過建立可信第三方,對云計算平臺進行動態(tài)可信度量;4)以可信安全芯片的密鑰管理為基礎,將終端密鑰管理轉(zhuǎn)化為云平臺密鑰管理,借此為虛擬機提供可信服務。此外,還出現(xiàn)了其他可信云平臺構(gòu)建方案。
TEE技術(shù)主要通過硬件隔離技術(shù)保證代碼的機密性和完整性,從而達到在不可信的環(huán)境中保證特定應用可信的目的。
早在2003年,Garfinkel等[16]就提出了Terra模型,構(gòu)建可信虛擬機監(jiān)控器(TVMM, trusted virtual machine monitor),通過將虛擬機放置于 open box和closed box的方式來實現(xiàn)安全隔離,但受限于當時硬件平臺的性能,方案的優(yōu)勢不能充分發(fā)揮。為了更好地實現(xiàn)安全隔離,Intel和ARM分別提出了基于處理器的安全隔離方案,為TEE的實現(xiàn)奠定了良好的基礎。
Intel SGX技術(shù)首先應用于Skylake處理器,用于增強軟件的安全性。這種方式將合法代碼和數(shù)據(jù)封裝在一個被稱作 enclave的容器中,保護其不受惡意軟件的攻擊,特權(quán)或者非特權(quán)的軟件都無法訪問enclave,即使操作系統(tǒng)或者VMM(hypervisor)也無法影響enclave里面的代碼和數(shù)據(jù)。enclave的安全邊界只包含CPU和它自身。同時SGX還提供了對這些代碼和數(shù)據(jù)的遠程證明功能。
TrustZone是ARM針對消費電子設備設計的一種硬件架構(gòu),目的是為消費電子產(chǎn)品構(gòu)建一個安全框架來抵御各種可能的攻擊。TrustZone在概念上將SoC(system on chip)的硬件和軟件資源劃分為安全世界(secure world)和非安全世界(normal world),所有需要保密的操作(如指紋識別、密碼處理、數(shù)據(jù)加解密、安全認證等)在安全世界執(zhí)行,其余操作(如用戶操作系統(tǒng)、各種應用程序等)在非安全世界執(zhí)行,安全世界和非安全世界通過一個名為monitor mode的模式進行轉(zhuǎn)換。
Inter SGX和TrustZone的基本體系如圖2所示,這2種方式的聯(lián)系與區(qū)別如表2所示。
基于SGX技術(shù),Schuster等[17]提出了VC3模型,保證在使用云平臺進行MapReduce計算時,代碼、數(shù)據(jù)以及運算結(jié)果的可信性。Jain等[18]還提出了開源的TEE實驗平臺OpenSGX,可實現(xiàn)Intel SGX的指令級模擬,為硬件安全隔離技術(shù)的應用、開發(fā)提供實驗、測試環(huán)境。
在移動云計算領域,文獻[19]利用 TrustZone硬件隔離技術(shù)構(gòu)建可信移動終端,保護云服務客戶端及安全敏感操作在移動終端上的安全執(zhí)行, 結(jié)合物理不可克隆函數(shù)技術(shù),給出了移動終端密鑰與敏感數(shù)據(jù)管理機制。Santos等[20]利用TrustZone技術(shù)提出并實現(xiàn)了TLR(trusted language runtime),用于構(gòu)建與操作系統(tǒng)和其他應用隔離的可信組件,從而保證移動應用的機密性和完整性。
圖2 Intel SGX和TrustZone的基本體系
表2 Intel SGX和TrustZone的聯(lián)系與區(qū)別
可信虛擬化的目標是為云計算環(huán)境提供可信支持,因此,基于vTPM構(gòu)建可信云平臺是此類研究的主要方向之一。文獻[21]提出了一種基于信任擴展的可信虛擬執(zhí)行環(huán)境的構(gòu)建方法,實現(xiàn)vTPM與底層可信計算基的綁定,從而構(gòu)建了可信虛擬執(zhí)行環(huán)境。文獻[22-23]通過vTPM擴展現(xiàn)有可信鏈,將可信傳遞到用戶虛擬機內(nèi)部,提出了一種動態(tài)的用戶運行環(huán)境可信性驗證機制,并將vTPM和可信審計技術(shù)結(jié)合起來,建立了用戶可信運行環(huán)境的構(gòu)建與審計機制。文獻[24]提出的多租戶可信計算環(huán)境模型(MTCEM, multi-tenancy trusted computing environment model)利用TPM/vTPM將云計算服務的安全職責進行分離,采用云提供商和用戶協(xié)作的方式保證云節(jié)點平臺的執(zhí)行環(huán)境可信,云提供商負責基礎設施的可信,用戶負責虛擬機實例和應用程序的可信。文獻[25]提出的 POSTER利用基于TPM/vTPM 的可信網(wǎng)絡連接保護云服務端和云客戶端之間的通信安全,從而為云計算提供端到端的可信保護。
在產(chǎn)業(yè)界,Intel給出了基于TPM/vTPM的,以全面保護虛擬計算環(huán)境為目的的數(shù)據(jù)可信方案——可信執(zhí)行技術(shù)(TXT, trusted execution technology)。TXT通過硬件密鑰和子系統(tǒng)雙路控制電腦內(nèi)部資源,并決定哪些程序、哪些用戶允許訪問或拒絕訪問這些資源。TPM與DMA(direct memory access)頁面保護共同構(gòu)成了這項技術(shù)的主要內(nèi)容。以TXT為基礎,Intel還給出了trusted pool和trusted cloud的概念,為以 Intel處理器為核心的云計算節(jié)點提供可信服務,支持可信云平臺的構(gòu)建。
使用可信第三方(TTP, trusted third party)實現(xiàn)安全管理是簡化管理過程的最佳手段,TTP已經(jīng)在大量的安全協(xié)議中有成熟的應用。結(jié)合TTP也可實現(xiàn)云計算平臺的可信管理。使用TTP的主要思想是建立一個獨立于云提供商的可信協(xié)調(diào)中心(TC,trusted coordinator),提供用戶對云計算平臺執(zhí)行環(huán)境、虛擬機狀態(tài)的可信狀態(tài)監(jiān)測和控制,如圖3所示。
圖3 基于TTP的可信云平臺架構(gòu)
Santos等[26]提出了可信云計算平臺(TCCP,trusted cloud computing platform),該平臺通過TC管理云中的所有可信節(jié)點,但當節(jié)點規(guī)模很大時,管理這些節(jié)點的時間開銷過大。隨后 Santos等[27]對TCCP進行了改進,設計了Excalibur系統(tǒng),該系統(tǒng)通過引入多個中心化的監(jiān)視器來改進管理可信節(jié)點所造成的性能瓶頸。文獻[28]針對可信云平臺構(gòu)建過程中可信節(jié)點動態(tài)管理存在的性能瓶頸問題,提出了基于 TPM 聯(lián)盟的可信云平臺體系結(jié)構(gòu)及管理模型,引入了時間樹的概念組織TPM聯(lián)盟,利用TPM和認證加密技術(shù)解決數(shù)據(jù)在 TPM 聯(lián)盟內(nèi)節(jié)點間的可信傳輸問題。
此外,從其他角度實現(xiàn)可信云平臺的構(gòu)建方案也非常具有參考價值。針對 TPM 進行可信度量時的效率和多租戶安全隔離問題,文獻[29]提出的cTPM 通過 TPM 和云平臺共享一個云密鑰來解決TPM資源受限的問題。文獻[30]給出了一個高度自治的多租戶網(wǎng)絡安全框架 Jobber,用于適應云數(shù)據(jù)中心的動態(tài)特性和優(yōu)化租戶之間的通信。文獻[31]對云租戶隔離機制進行定義,并制定了云計算平臺中域間信息流策略控制方式。文獻[32]提出了基于可驗證計算的可信云計算研究,成為實現(xiàn)可信云計算的一種建設性思路。
上述研究工作雖然以不同的方式研究了云計算平臺的安全、可信問題,并給出了相應的解決方案,但大多方案集中在如何保障計算節(jié)點的可信性,忽略了云計算環(huán)境的典型特征,即高度資源共享和分布式管理。云平臺作為管理各類 IT資源的基礎設施,需要實現(xiàn)計算節(jié)點、虛擬機、存儲、網(wǎng)絡等全面的可信方案,這就需要可信證據(jù)的傳遞與管理、跨主機/網(wǎng)絡的可信度量、分布式可信協(xié)同機制等一系列技術(shù)的支持。單個計算節(jié)點可信并不等同于云平臺可信,上述研究方案中使用的硬件隔離技術(shù)(如 SGX等)和可信虛擬化技術(shù)(如 vTPM等)都以保證節(jié)點內(nèi)部可信為基礎,缺乏可信證據(jù)跨節(jié)點傳遞和度量的機制,無法做到在云平臺范圍內(nèi)可信狀態(tài)的一致性與連續(xù)性。基于密鑰共享類方案,如文獻[29],雖可實現(xiàn)云平臺節(jié)點間的信任傳遞,但由于缺乏可信硬件的支持,難以實現(xiàn)真正意義上的可信云平臺,因此,現(xiàn)有的研究工作還缺乏完善的解決方案。
可信計算主要解決計算終端可信問題,為此提出了諸如密鑰管理、數(shù)據(jù)綁定、可信啟動、身份認證、遠程證明等一系列保證終端可信的概念。在云計算平臺中,虛擬機是保證云服務可信的前提,保證其行為可預期至關重要,將可信計算用于計算終端的相關技術(shù)移植到虛擬機,來保障虛擬機的可信自然就成為可信云計算的一個重要研究方向??尚庞嬎慵夹g(shù)的引入可以增強云平臺租戶對虛擬機的信心,提高對云計算技術(shù)的信任程度。
針對虛擬化安全監(jiān)控技術(shù)的研究出現(xiàn)較早,其主要思想是利用虛擬機管理器隔離和保護特定的安全工具。從實現(xiàn)技術(shù)的角度來看,基于虛擬化安全監(jiān)控的研究工作主要分為內(nèi)部監(jiān)控和外部監(jiān)控這2種方式。內(nèi)部監(jiān)控是在虛擬機中加載內(nèi)核模塊來攔截目標虛擬機的內(nèi)部事件,而內(nèi)核模塊的安全通過虛擬機管理器來進行保護;外部監(jiān)控通過在虛擬機管理器中對虛擬機中事件進行攔截,從而在虛擬機外部進行檢測[33]。與內(nèi)部監(jiān)控相比,外部監(jiān)控在安全性和生存性方面具有一定的優(yōu)勢,不易被攻擊者屏蔽。虛擬機自省(VMI, virtual machine introspection)[34]技術(shù)是外部監(jiān)控中最為流行的一種,被廣泛地研究與改進,其架構(gòu)如圖 4所示。美國Sandia國家實驗室的 Payne等[35]開發(fā)了提供 VMI功能的程序庫 LibVMI,該程序庫可對虛擬機的內(nèi)存、硬件中斷和vCPU的寄存器進行監(jiān)控。VMI利用一個隔離和安全的虛擬機監(jiān)視其他的虛擬機,隔離主要依賴 VMM 來實現(xiàn)。由于 VMI只能通過VMM 獲取虛擬機的原始數(shù)據(jù),語義級別較低,而安全監(jiān)控往往需要了解數(shù)據(jù)的高層語義信息,因此,如何跨越語義鴻溝是 VMI的一個研究熱點問題[36-39]。文獻[40]首次提出了基于虛擬化安全監(jiān)控的通用性問題,同時提出了一種基于驅(qū)動的通用監(jiān)控系統(tǒng)——VMDriver來實現(xiàn)細粒度監(jiān)控,從而動態(tài)地屏蔽虛擬機中客戶操作系統(tǒng)的差異,保證了監(jiān)控系統(tǒng)的通用性。
圖4 虛擬機自省技術(shù)架構(gòu)
但基于虛擬化的安全監(jiān)控技術(shù)并不能覆蓋可信虛擬機的全部要求,如可信啟動、數(shù)據(jù)平臺綁定等,同時VMI默認VMM和VMI的代碼是絕對可信的,但現(xiàn)實中這個假設未必成立。針對這個問題,文獻[41]給出了一個T-VMI模型,該模型借助硬件隔離技術(shù)在云計算環(huán)境中實現(xiàn)虛擬機安全監(jiān)控。此外,由于設計目標的不同,VMI重點研究的是低級語義與高級語義之間的語義鴻溝問題,以此來判斷虛擬機是否遭受惡意的外部攻擊,但并不能保證虛擬機自身的動態(tài)可信。在現(xiàn)有的研究中,大量模型并沒有引入可信計算技術(shù),無法給出一個得到廣泛認可的可信根,虛擬機的可信性也就無法保障。
可信啟動是可信計算技術(shù)中用于保證終端可信的技術(shù)之一,已經(jīng)廣泛應用于多種類型的操作系統(tǒng),如用于 Linux平臺的 IMA(IBM integrity measurement)架構(gòu)及Windows8/Windows10的可信啟動技術(shù)。將上述技術(shù)移植到虛擬機,實現(xiàn)虛擬機的可信啟動成為保證虛擬機可信的方案之一。但虛擬機與計算終端有著明顯的區(qū)別,因此還需要對可信啟動方案進行適當調(diào)整。
文獻[42]提出了一種解決在云平臺基礎設施服務策略下虛擬機的安全存儲和可信啟動方案SSTL。根據(jù)TPM的一些核心功能,分別從VM鏡像加解密、VM宿主平臺信息的遠程證明和VM度量機制來保證VM存儲安全、運行環(huán)境安全以及可信啟動。利用可信技術(shù)中的封裝、綁定等技術(shù),文獻[43]提出一個用于保證虛擬機實例可信啟動的協(xié)議,為公有云用戶虛擬機可信度量提供支持。
目前,專門針對虛擬機可信啟動的技術(shù)研究較少,虛擬機的可信啟動涉及虛擬鏡像可信、云存儲可信、節(jié)點環(huán)境可信、同駐虛擬機可信[44-45]等一系列問題。同時,虛擬機可信啟動又是虛擬機可信的前提條件,未來的發(fā)展方向必然是與新一代的可信計算和虛擬化技術(shù)緊密結(jié)合,共同構(gòu)筑虛擬機可信的第一道防線。
IMA對計算終端的身份認證與遠程證明也進行了相關的討論,并提出了2種方案。一種方案是借助隱私簽證機構(gòu)PCA(privacy CA),通過PCA對TPM身份驗證、頒發(fā)證書AIK(attestation identity key),并且對網(wǎng)內(nèi)的TPM密鑰管理分發(fā)、注銷等;另一種方案稱為直接匿名認證(DAA, direct anonymous attestation),根據(jù)零知識證明技術(shù)進行TPM身份的認證[46]。針對上述方案存在的計算開銷大和無法滿足跨域匿名認證需求等不足,還出現(xiàn)了一些改進方案[47-48]。
虛擬機托管在遠程的云計算平臺,租戶無法對其進行直接控制,其運行可信狀態(tài)的獲取只能通過間接和遠程的方式實現(xiàn),對其身份認證和遠程證明的需求比計算終端更為迫切。此外,虛擬機動態(tài)特性表現(xiàn)明顯,其身份認證與遠程證明必然也是動態(tài)進行的。而傳統(tǒng)的可信計算技術(shù)往往采用AIK、PCR等靜態(tài)內(nèi)容作為認證的依據(jù),與虛擬機的特征不符,一些研究工作針對傳統(tǒng)方案進行了改進。
文獻[49]提出了一種虛擬機身份證明方案,在保障原有認證和信任關系的情況下,實現(xiàn)了身份證明過程中對身份權(quán)威信息的隱藏,避免了上述組織結(jié)構(gòu)、位置等信息的暴露,支持云環(huán)境結(jié)構(gòu)透明、位置無關的特點。為了解決目前云環(huán)境下用戶與云端之間進行身份認證時所存在的安全問題和不足,文獻[50]將PTPM(portable TPM)和無證書公鑰密碼體制應用到云環(huán)境中,提出了一種實現(xiàn)用戶與云端之間雙向身份認證的方案,確保了終端平臺的安全可信和云端與用戶之間認證結(jié)果的真實正確。
目前關于遠程證明的研究主要包括基于實體標識的二進制證明和基于屬性的遠程證明[51-52]。其中,二進制遠程證明方案通過實體對象散列值的完整性驗證,得出終端是否可信的結(jié)論;而在云計算環(huán)境下,所有實體均被虛擬化、動態(tài)化,使用散列值已經(jīng)難以描述VM的可信狀態(tài)。此外,二進制遠程證明只能驗證VM啟動等特定時刻的可信狀態(tài),而VM是動態(tài)的,狀態(tài)隨時會發(fā)生遷移等影響其可信性的操作,需要進行動態(tài)遠程證明,二進制證明很難做到這一點。因此,已經(jīng)有部分研究工作探討如何在云環(huán)境下使用屬性證明的方式實現(xiàn)虛擬機的遠程證明。
文獻[53]利用基于遠程屬性證明技術(shù),監(jiān)測和阻止針對云基礎設施的安全攻擊,從而保障租戶的安全。文獻[54]提出并設計了云安全監(jiān)控系統(tǒng)CloudPass,利用TPM和屬性證明實現(xiàn)系統(tǒng)完整性和身份認證的目的。
目前的虛擬機身份認證與遠程證明方案仍存在功能單一、可信屬性缺乏規(guī)范性等不足,大量方案僅集中在解決虛擬機安全監(jiān)控、匿名等部分問題,不能對云平臺中的虛擬機實現(xiàn)實時、動態(tài)的身份認證和遠程證明?;趯傩缘纳矸菡J證和遠程證明依然是未來研究工作的熱點,但需對虛擬機實例在整個生命周期內(nèi)的可信屬性進行規(guī)范化處理,提出了對可信屬性的形式化證明方法,進一步給出了虛擬機可信的理論依據(jù)。
虛擬機與計算終端存在著很多不同之處,使可信計算技術(shù)無法全面覆蓋虛擬機可信的全部安全需求。虛擬機管理涉及虛擬機的生成、分配、回收、遷移等一系列問題[55]。保證虛擬機整個生命周期內(nèi)的安全是實現(xiàn)云平臺可信的基礎,尤其是當虛擬機發(fā)生遷移后,如何確保目標平臺的可信性和虛擬機可信狀態(tài)的一致性是虛擬機整個生命周期安全管理需要解決的重點問題,也是難點問題。而傳統(tǒng)的可信計算技術(shù)中并沒有針對該問題的解決方案,導致虛擬機安全管理的功能缺失。虛擬機的可信遷移給上述問題的解決提供了一個可行方案。
虛擬機的可信遷移是指以現(xiàn)有可信計算技術(shù)為基礎,保證虛擬機從云計算平臺原計算節(jié)點遷移到目標計算節(jié)點后,仍可保持其可信狀態(tài)的一致性和連續(xù)性,從而實現(xiàn)虛擬機生命周期內(nèi)的可信度量。這里的可信狀態(tài)主要指與虛擬機綁定的各類密鑰(包括 AIK、存儲根密鑰等)、軟硬件平臺配置信息(PCR內(nèi)容)、隱私數(shù)據(jù)及其他相關數(shù)據(jù)。
虛擬機遷移是云計算中的核心技術(shù)之一,具有負載均衡、解除硬件依賴、高效利用資源等優(yōu)點,但也會將虛擬機信息和用戶信息暴露在網(wǎng)絡通信中,成為云計算脆弱性的源頭之一。虛擬機遷移過程除了會受到傳統(tǒng)的網(wǎng)絡攻擊外,還有可能導致co-residence攻擊的出現(xiàn)。co-residence攻擊是針對云平臺的一種新型攻擊手段,基本思想是利用虛擬機之間共享的硬件計算資源,進行旁路(side channel)攻擊,獲取敏感信息。傳統(tǒng)的網(wǎng)絡安全措施對其無法防范。文獻[56]給出了co-residence攻擊產(chǎn)生的原因,并實現(xiàn)了名為 HomeAlone的系統(tǒng)工具,用于檢測用戶虛擬機是否存在 co-residence攻擊。文獻[57]給出了一種虛擬機分配策略,該策略降低產(chǎn)生co-residence攻擊的可能性。文獻[58]則在Amazon EC2(elastic compute cloud)公有云上進行了測試,說明了co-residence攻擊存在的普遍性。文獻[59]深入分析了跨虛擬機 cache側(cè)信道攻擊的機理和實現(xiàn)方式,對跨虛擬機cache側(cè)信道攻擊技術(shù)的研究現(xiàn)狀與進展進行總結(jié)。
依據(jù)可信云平臺的實現(xiàn)機制不同,目前虛擬機可信遷移方案也分為多種類型,如基于vTPM的虛擬機可信遷移、基于密鑰管理的虛擬機可信遷移等。文獻[60]提出了一種適用于私有云環(huán)境的虛擬機安全遷移協(xié)議,該協(xié)議基于vTPM構(gòu)建分級云密鑰來保證虛擬機在遷移前后的機密性和完整性。文獻[61]給出了一個VM-vTPM虛擬機可信遷移協(xié)議,并對協(xié)議的安全性和性能進行了定量分析。在公有云領域,文獻[62]給出了虛擬機從一個云服務提供商(CSP, cloud service provider)遷移到其他CSP的安全機制。文獻[63]給出了在異構(gòu)的云環(huán)境中,如何使用可信計算技術(shù)來增強云平臺的可信性,特別是虛擬機遷移時的可信性。文獻[64]結(jié)合可信計算中的密鑰管理技術(shù),提出了虛擬機可信證據(jù)的概念,并給出了一種應用于IaaS平臺的可信虛擬機遷移協(xié)議,確保虛擬機在遷移前后的可信狀態(tài)的一致性和連續(xù)性,為IaaS平臺提供虛擬機的可信遷移支持。文獻[65]分析了虛擬機動態(tài)遷移時的內(nèi)存泄漏安全隱患,結(jié)合KVM(kernel-based virtual machine)虛擬化技術(shù)原理、通信機制、遷移機制,設計并提出一種基于混合隨機變換編碼方式的安全防護模型,保證虛擬機動態(tài)遷移時的數(shù)據(jù)安全。文獻[66]針對可信虛擬機的遷移缺乏統(tǒng)一的安全模型及測試方法問題,提出了一種可信虛擬機遷移框架,對可信遷移的過程進行了抽象,并使用標號遷移系統(tǒng)LTS進行了形式化的描述。
虛擬機的可信遷移是保證虛擬機在整個生命周期內(nèi)行為可控、可預期的基礎,對整個云平臺的可信性起著至關重要的作用,是保證虛擬機可信的重要一環(huán)。虛擬機有著比物理終端更為動態(tài)化的行為,對其進行可信度量和評價也是一個較為復雜的問題?,F(xiàn)有研究工作分別從虛擬機可信啟動、身份認證與遠程證明及可信遷移等多方面進行了討論,但尚無完整機制能夠全面保障虛擬機可信。結(jié)合可信云平臺構(gòu)建方案,開展統(tǒng)一的虛擬機可信度量、評價機制研究,保證虛擬機在整個生命周期內(nèi)行為的可控、可預期,必將是未來研究工作的重點。
本文主要圍繞可信云計算的最新研究內(nèi)容展開綜述,介紹了近年來具有代表性的可信虛擬化及可信云平臺構(gòu)建技術(shù)。通過分析可以看出,現(xiàn)有可信云計算領域仍然存在大量尚未解決的問題,未來的科研工作可以更多地關注以下幾點。
1)適用于云計算的可信虛擬化方案。前述內(nèi)容已說明,現(xiàn)有的可信虛擬化方案存在可信功能缺失和性能受限兩方面的問題,不能滿足云計算平臺的可信度量的全部要求。要實現(xiàn)該問題的突破,需要對現(xiàn)有可信計算技術(shù)的體系做較大規(guī)模的調(diào)整,這有可能成為可信云計算技術(shù),甚至是可信計算技術(shù)未來研究的重點之一。
2)可信云平臺的協(xié)同工作問題?,F(xiàn)有的可信云平臺構(gòu)建方案重點在于對計算節(jié)點可信度量,而針對節(jié)點間可信協(xié)同問題的研究相對較少。但云計算平臺是一個典型的分布式系統(tǒng),所有機制均建立在協(xié)同工作的基礎上,研究適用于云計算平臺的分布式可信度量方案是未來可信云平臺的研究方向之一。
3)提出更為完善的虛擬機可信度量機制,支持虛擬機啟動、遠程證明、動態(tài)遷移等整個生命周期的可信狀態(tài)一致性、連續(xù)性和完整性,形成一套完整的可信云平臺構(gòu)建解決方案。
4)建立自主可控可信云平臺構(gòu)建標準。2016年,微軟公布所有Win10新設備必須默認支持TPM 2.0規(guī)范,并且TPM芯片必須默認激活狀態(tài),這說明可信計算技術(shù)在計算終端領域已逐步進入推廣階段。與國外普遍采用的 TCG系列標準不同,我國已經(jīng)初步建立了自主可控的可信計算標準,要占領信息安全高地,必須也要建立自己的可信云平臺構(gòu)建標準,從云計算節(jié)點可信、虛擬機可信、傳輸可信、用戶行為可信等多角度保障云基礎設施的自主、安全、可控,掌握芯片、云操作系統(tǒng)、網(wǎng)絡服務器等軟硬件的核心技術(shù),扼守我國關鍵信息基礎設施的安全大門。
可信云計算技術(shù)將可信計算理論及技術(shù)應用于云平臺的構(gòu)建,以保證云平臺的可信性,增加用戶對云計算技術(shù)的信任度。在可信云計算領域,國內(nèi)外已取得較好的研究成果,但是仍有許多遺留問題尚待探討,本文重點介紹了當前可信云計算技術(shù)中可信計算、云計算相互融合、相互支持的方式,分別圍繞可信虛擬化、可信云平臺構(gòu)建和可信虛擬機3個研究熱點問題展開綜述,以期為可信云計算技術(shù)的未來研究做出一些有益的探索。