本發明涉及一種基于云環境分布式虛擬機代理架構及數據完整性保障方法,屬于可信計算、云計算和信息安全等技術領域。
背景技術:
云計算技術的日益普及、發展,為用戶便捷、低成本地使用計算資源打開方便之門,成為了“互聯網+”賴以發展的新基礎設施。但是,云用戶數據的所有權和控制權分離,導致了眾多安全問題,例如數據隱私泄漏、數據完整性破壞,因此云用戶有必要對其數據進行完整性驗證。遠程數據完整性驗證是解決這一問題的有效方法,其能夠在不下載用戶數據的基礎上,根據事先存儲數據標簽和“挑戰——響應”協議對數據進行驗證。目前,數據完整性驗證機制根據是否對數據文件采用了容錯預處理分為數據持有效證明PDP機制和數據可恢復證明POR機制,為了減少客戶端計算、存儲和傳輸開銷,這兩種機制大都采用了基于第三方審計的方案,而一個理想的支持公開審計方案應具有以下特性:不會增加額外的計算、存儲代價,數據隱私性不會泄露,和支持數據的動態操作。同時,如何建立一個安全、可信、高效率的第三方審計機構也是一種重大挑戰。
為了保證在云基礎設施中數據和計算的完整性,可信云計算技術應運而生??尚旁朴嬎銖囊肟尚诺耐庠趨f調方開始,通過協調方對云端網絡中的節點進行認證,維護可信節點,并保證客戶虛擬機僅在可信節點上運行。其通過安裝可信平臺模塊芯片并執行一個安全啟動過程來進行安裝,能夠防止特權用戶對客戶的虛擬機進行監視或修改。
可信計算是在計算和通信系統中廣泛使用基于硬件安全模塊支持下的可信計算平臺,以提高系統整體的安全性。為了保證云計算使用主體之間的信任,盡可能避免安全威脅、及時發現并處理不可信事件,一種基于TPM的可信云計算架構被提出。TPM作為目前普遍認可的可信計算模塊,被廣泛應用為可信系統的可信根,以此保障基于可信根的所有應用主體行為的可信性。
現有的數據完整性驗證協議將注意力集中在數據可能被非法篡改后,進行概率性的驗證,不能在數據發生非法篡改時,及時準確的判別正常修改和非法篡改。經計算,如果想要達到99%的驗證準確度,當損壞數據塊數目與數據塊總數比為0.1%時,假設數據塊總數為10000塊,則挑戰數目應為4600塊;當損壞比為1%時,挑戰數目為460塊,因此,在損壞比較低的情況下,所有的完整性協議表現相對不足,另外,引進第三方審計實體將導致數據隱私性泄露給第三方的潛在威脅,雖然可采用隨機掩碼技術對數據標簽進行,但是無疑增加了計算開銷。
技術實現要素:
本發明所要解決的技術問題是提供一種采用全新設計模式,能夠有效保證數據完整性的基于云環境分布式虛擬機代理架構。
本發明為了解決上述技術問題采用以下技術方案:本發明設計了一種基于云環境分布式虛擬機代理架構,包括用于聯系用戶虛擬機與云服務提供服務器的虛擬機代理,用戶虛擬機中設置自驗證模塊,云服務提供服務器中設置可信任控制芯片,虛擬機代理包括主體模塊、附屬模塊和可信安全保障沒模塊,其中,主體模塊包括初始化模塊、數據庫模塊、數據完整性驗證模塊和數據主動監測模塊,初始化模塊用于針對多臺用戶虛擬機,通過預設指定地址初始化構建代理網絡,為各臺用戶虛擬機初始代理指令,同時用于實現針對用戶虛擬機管理與監督;數據庫模塊用于存儲用戶虛擬機進行驗證的公開驗證信息;數據完整性驗證模塊用于接收云服務提供服務器響應的挑戰數據塊信息,并通過調用數據庫模塊中所存儲的公開驗證信息計算挑戰證據;數據主動監測模塊用于與用戶虛擬機中自驗證模塊進行協作完成數據監測;
附屬模塊包括虛擬機代理標識存儲模塊、虛擬機代理屬性存儲模塊、虛擬機代理狀態信息存儲模塊、通信模塊和虛擬機代理映射鏈接信息存儲模塊;虛擬機代理標識存儲模塊用于存儲虛擬機代理的唯一標識;虛擬機代理屬性存儲模塊用于存儲虛擬機代理的指定屬性項目信息;虛擬機代理狀態信息存儲模塊用于存儲虛擬機代理執行過程中的狀態信息;虛擬機代理映射鏈接信息存儲模塊用于存儲虛擬機代理與各個用戶虛擬機之間的映射鏈接關系;
可信安全保障模塊包括加解密模塊、可信評估模塊、自銷毀模塊、信任證模塊和安全接口,加解密模塊用于針對用戶虛擬機的文件進行加解密操作;可信評估模塊用于針對所監督的用戶虛擬機進行信任評估;自銷毀模塊用于針對由可信評估模塊評估為威脅的用戶虛擬機,實現用戶虛擬機信息和所操作數據的銷毀;信任證模塊用于負責用戶虛擬機與虛擬機代理初始交互時,提供身份認證操作與本地資源初始操作;安全接口用于實現與外界的通信;
自驗證模塊用于負責監測用戶虛擬機數據,并與虛擬機代理內主體模塊中的數據主動監測模塊協同完成數據主動監測操作;
可信任控制芯片用于針對各個啟動軟件實現后續軟件的度量,以及度量結果的存儲。
作為本發明的一種優選技術方案:所述可信安全保障模塊中的安全接口為基于SSH協議的通信接口。
本發明所述一種基于云環境分布式虛擬機代理架構采用以上技術方案與現有技術相比,具有以下技術效果:本發明設計基于云環境分布式虛擬機代理架構,采用可信技術對用戶虛擬機進行擴展,創建適合虛擬機代理中各個模塊所需的環境,使得整個設計系統具有靈活性、跨平臺和可擴展性;而且虛擬機代理是動態生成的,并具有一定的生存周期,因此對其功能進行修改和擴展都非常簡便。
相應的,本發明還要解決的技術問題是基于所設計基于云環境分布式虛擬機代理架構,設計全新控制策略,通過虛擬機代理進行數據主動監測和周期性完整性驗證,能夠提高驗證效率,保護用戶數據完整性的數據完整性保障方法。
本發明為了解決上述技術問題采用以下技術方案:本發明設計了一種基于云環境分布式虛擬機代理架構的數據完整性保障方法,用于目標用戶針對其在云環境中所存儲的數據實現完整性驗證,包括如下步驟:
步驟A.建立虛擬機代理,并構建虛擬機代理分別與用戶虛擬機、云服務提供服務器的連接;
步驟B.目標用戶通過用戶虛擬機,經虛擬機代理建立與云服務提供服務器之間的通信;
步驟C.目標用戶通過用戶虛擬機,經虛擬機代理與云服務提供服務器通信,驗證所存儲數據的完整性。
作為本發明的一種優選技術方案,所述步驟A包括如下步驟:
步驟A01.目標用戶通過用戶虛擬機生成用戶RSA非對稱密鑰和時間戳,并向云服務提供服務器發送虛擬機代理建立請求,其中,虛擬機代理建立請求包含用戶RSA公鑰和時間戳;
步驟A02.云服務提供服務器響應虛擬機代理建立請求,并生成一個會話密鑰,將用戶RSA公鑰、時間戳和會話密鑰用散列函數計算得到一個散列值,此散列值作為可信任控制芯片的第一個度量值;
步驟A03.云服務提供服務器使用用戶RSA公鑰將會話密鑰加密,連同TPM證言和CA證書發送給用戶虛擬機;
步驟A04.用戶虛擬機首先驗證CA證書的合法性,確認后,對TPM證言進行驗證,確認是可信任控制芯片的簽名,證明當前運行的云服務提供服務器可信;
步驟A05.用戶虛擬機用RSA私鑰將會話密鑰解密,用散列函數將RSA公鑰、時間戳和會話密鑰進行求值,比較是否和本地值一致,若一致,則證明通信沒有受到中間攻擊;若不一致,則證明通信受到中間攻擊,則結束;
步驟A06.用戶虛擬機首先用會話密鑰加密虛擬機代理鏡像,然后將預先配置的虛擬機代理上傳至云端;
步驟A07.云服務提供服務器將待啟動的軟件的度量值記錄在可信任控制芯片中。待啟動完畢后,將虛擬機代理標識為活動狀態,并執行步驟A03操作,然后進入步驟A08;
步驟A08.執行步驟A04操作,驗證虛擬機代理是否建立成功,若成功,用戶虛擬機使用會話密鑰與虛擬機代理通信,若失敗,向云服務提供服務器反饋,返回步驟A01。
作為本發明的一種優選技術方案,所述步驟B包括如下步驟:
步驟B01.取大素數p,Zp是p上的域,設G1,G2,GT是素數p的乘法循環群,g1是G1的生成元,g2是G2的生成元,存在雙線性映射l:G1×G2→GT,隨機選取a,x∈Zp,用戶在本地生成密鑰對{SK={a,sk},PK={g1,u,pk}};其中私鑰sk=x,
步驟B02.用戶虛擬機向云服務提供服務器發送請求,請求云服務提供服務器打開用戶虛擬機所對應的虛擬機代理,云服務提供服務器接到用戶虛擬機請求,驗證其是否合法,若合法,開啟虛擬機代理,同時向用戶虛擬機返回虛擬機代理的唯一標識,若不合法,返回拒絕連接響應;
步驟B03.用戶虛擬機連接虛擬機代理;
步驟B04.用戶虛擬機調用數據初始化信息在本地初始化數據信息文件F,并將數據信息文件F(F_Id,Φ={(σi)|1≤i≤n})發送給虛擬機代理,F_Id是數據信息文件F的唯一標志符,Φ是數據信息文件F數據塊的標簽集合;
步驟B05.用戶虛擬機將數據信息文件F上傳到虛擬機代理,由虛擬機代理調用標簽生成算法為每一數據塊生成標簽σi,然后通過該代理私鑰加密上傳數據信息文件F至云服務提供服務器的分布式文件存儲系統中,并在虛擬機代理中保存數據信息文件F數據塊的標簽集合Φ。
作為本發明的一種優選技術方案,所述步驟B03中,用戶虛擬機通過SSH協議連接虛擬機代理。
作為本發明的一種優選技術方案,所述步驟B04包括:將數據信息文件F進行分塊F={m1、…、mi、…、mn},1≤i≤n,再分別針對各個分塊mi進行平均分塊,分別分成k個段,即mi={mi,1,…,mi,j,…,mi,k},并且針對各個段編號bn,獲得分塊mi的簽名為σi,如下所示:
其中,H是哈希函數:H:{0,1}*→G1,j為數據段序號:1≤j≤k。
作為本發明的一種優選技術方案,所述步驟C包括如下步驟:
步驟C01.用戶虛擬機針對所存儲待檢測文件,向虛擬機代理發出待檢測文件的數據完整性驗證請求,數據完整性驗證請求chal包括:待檢測文件數據塊集合IDX={idxi|1≤i≤c,c≤n}和對應的隨機數集合R={ri|i∈IDX,r∈Zp}:
接著,虛擬機代理向云服務提供服務器發出待檢測文件的數據完整性驗證請求;其中,c為待檢測的數據塊總數,n為待檢測文件數據塊集合中數據塊總數;
步驟C02.云服務提供服務器根據待檢測文件的數據完整性驗證請求,確定待檢測文件所處位置,先向虛擬機代理返回待檢測文件的唯一標志符F_Id;
步驟C03.虛擬機代理根據待檢測文件的唯一標志符F_Id,獲取到待檢測文件的相應數據塊,計算總數據塊M:
其中,mij表示待檢測文件數據塊集合中第i個數據塊、第j段數據,mi={mi,1,…,mi,j,…,mi,k},待檢測文件數據塊集合IDX={idxi|1≤i≤c,c≤n},根據虛擬機代理數據庫中存儲的公開信息,計算待挑戰數據塊標簽值的一部分D:
利用標簽生成算法計算待檢測文件塊標簽值,虛擬機代理從自身數據庫讀取待檢測文件的數據塊標簽值計算T,同時計算對應的待檢測文件的數據塊編號的哈希值B;
其中ti表示待檢測文件數據塊集合中第i個數據塊的數據簽名,ri表示數據完整性驗證請求chal中第i個數據塊所對應的隨機數;
生成證據proof={D,B,T},返回給用戶虛擬機;
步驟C04.用戶虛擬機接收虛擬機代理所返回的證據proof,并計算若等式成立,則證明待檢測文件完整,若等式不成立,則證明待檢測文件不完整。
本發明所述一種基于云環境分布式虛擬機代理架構的數據完整性保障方法采用以上技術方案與現有技術相比,具有以下技術效果:本發明所設計基于云環境分布式虛擬機代理架構的數據完整性保障方法,基于云環境,采用動態虛擬機代理技術,針對數據進行實時監控,有效保證數據的完整性,提高實際工作安全性和效率。
附圖說明
圖1是本發明所設計基于云環境分布式虛擬機代理架構的示意圖;
圖2本發明所設計中基于虛擬機代理的數據主動監測流程圖;
圖3本發明所設計基于虛擬機代理數據完整性驗證協議的示意圖。
具體實施方式
下面結合說明書附圖對本發明的具體實施方式作進一步詳細的說明。
如圖1所示,本發明設計了一種基于云環境分布式虛擬機代理架構,實際應用中,具體包括用于聯系用戶虛擬機與云服務提供服務器的虛擬機代理,用戶虛擬機中設置自驗證模塊,云服務提供服務器中設置可信任控制芯片,虛擬機代理包括主體模塊、附屬模塊和可信安全保障沒模塊,其中,主體模塊包括初始化模塊、數據庫模塊、數據完整性驗證模塊和數據主動監測模塊,初始化模塊用于針對多臺用戶虛擬機,通過預設指定地址初始化構建代理網絡,為各臺用戶虛擬機初始代理指令,同時用于實現針對用戶虛擬機管理與監督;數據庫模塊用于存儲用戶虛擬機進行驗證的公開驗證信息;數據完整性驗證模塊用于接收云服務提供服務器響應的挑戰數據塊信息,并通過調用數據庫模塊中所存儲的公開驗證信息計算挑戰證據;數據主動監測模塊用于與用戶虛擬機中自驗證模塊進行協作完成數據監測。附屬模塊包括虛擬機代理標識存儲模塊、虛擬機代理屬性存儲模塊、虛擬機代理狀態信息存儲模塊、通信模塊和虛擬機代理映射鏈接信息存儲模塊;虛擬機代理標識存儲模塊用于存儲虛擬機代理的唯一標識;虛擬機代理屬性存儲模塊用于存儲虛擬機代理的指定屬性項目信息;虛擬機代理狀態信息存儲模塊用于存儲虛擬機代理執行過程中的狀態信息;虛擬機代理映射鏈接信息存儲模塊用于存儲虛擬機代理與各個用戶虛擬機之間的映射鏈接關系。可信安全保障模塊包括加解密模塊、可信評估模塊、自銷毀模塊、信任證模塊和安全接口,加解密模塊用于針對用戶虛擬機的文件進行加解密操作;可信評估模塊用于針對所監督的用戶虛擬機進行信任評估;自銷毀模塊用于針對由可信評估模塊評估為威脅的用戶虛擬機,實現用戶虛擬機信息和所操作數據的銷毀;信任證模塊用于負責用戶虛擬機與虛擬機代理初始交互時,提供身份認證操作與本地資源初始操作;可信安全保障模塊中的安全接口為基于SSH協議的通信接口,安全接口用于實現與外界的通信。自驗證模塊用于負責監測用戶虛擬機數據,并與虛擬機代理內主體模塊中的數據主動監測模塊協同完成數據主動監測操作??尚湃慰刂菩酒糜卺槍Ω鱾€啟動軟件實現后續軟件的度量,以及度量結果的存儲。
上述技術方案所設計基于云環境分布式虛擬機代理架構,采用可信技術對用戶虛擬機進行擴展,創建適合虛擬機代理中各個模塊所需的環境,使得整個設計系統具有靈活性、跨平臺和可擴展性;而且虛擬機代理是動態生成的,并具有一定的生存周期,因此對其功能進行修改和擴展都非常簡便。
基于上述所設計基于云環境分布式虛擬機代理架構,本發明還進一步設計了如下基于云環境分布式虛擬機代理架構的數據完整性保障方法,用于目標用戶針對其在云環境中所存儲的數據實現完整性驗證,實際應用中,如圖3所示,具體包括如下步驟:
步驟A.建立虛擬機代理,并構建虛擬機代理分別與用戶虛擬機、云服務提供服務器的連接。其中,步驟A具體包括如下步驟:
步驟A01.目標用戶通過用戶虛擬機生成用戶RSA非對稱密鑰和時間戳,并向云服務提供服務器發送虛擬機代理建立請求,其中,虛擬機代理建立請求包含用戶RSA公鑰和時間戳。
步驟A02.云服務提供服務器響應虛擬機代理建立請求,并生成一個會話密鑰,將用戶RSA公鑰、時間戳和會話密鑰用散列函數計算得到一個散列值,此散列值作為可信任控制芯片的第一個度量值。
步驟A03.云服務提供服務器使用用戶RSA公鑰將會話密鑰加密,連同TPM證言和CA證書發送給用戶虛擬機。
步驟A04.用戶虛擬機首先驗證CA證書的合法性,確認后,對TPM證言進行驗證,確認是可信任控制芯片的簽名,證明當前運行的云服務提供服務器可信。
步驟A05.用戶虛擬機用RSA私鑰將會話密鑰解密,用散列函數將RSA公鑰、時間戳和會話密鑰進行求值,比較是否和本地值一致,若一致,則證明通信沒有受到中間攻擊;若不一致,則證明通信受到中間攻擊,則結束。
步驟A06.用戶虛擬機首先用會話密鑰加密虛擬機代理鏡像,然后將預先配置的虛擬機代理上傳至云端。
步驟A07.云服務提供服務器將待啟動的軟件的度量值記錄在可信任控制芯片中。待啟動完畢后,將虛擬機代理標識為活動狀態,并執行步驟A03操作,然后進入步驟A08。
步驟A08.執行步驟A04操作,驗證虛擬機代理是否建立成功,若成功,用戶虛擬機使用會話密鑰與虛擬機代理通信,若失敗,向云服務提供服務器反饋,返回步驟A01。
步驟B.目標用戶通過用戶虛擬機,經虛擬機代理建立與云服務提供服務器之間的通信。
上述步驟B包括如下步驟:
步驟B01.取大素數p,Zp是p上的域,設G1,G2,GT是素數p的乘法循環群,g1是G1的生成元,g2是G2的生成元,存在雙線性映射l:G1×G2→GT,隨機選取a,x∈Zp,用戶在本地生成密鑰對{SK={a,sk},PK={g1,u,pk}};其中私鑰sk=x,
步驟B02.用戶虛擬機向云服務提供服務器發送請求,請求云服務提供服務器打開用戶虛擬機所對應的虛擬機代理,云服務提供服務器接到用戶虛擬機請求,驗證其是否合法,若合法,開啟虛擬機代理,同時向用戶虛擬機返回虛擬機代理的唯一標識,若不合法,返回拒絕連接響應。
步驟B03.用戶虛擬機通過SSH協議連接虛擬機代理。
步驟B04.用戶虛擬機調用數據初始化信息在本地初始化數據信息文件F,將數據信息文件F進行分塊F={m1、…、mi、…、mn},1≤i≤n,再分別針對各個分塊mi進行平均分塊,分別分成k個段,即mi={mi,1,…,mi,j,…,mi,k},并且針對各個段編號bn,獲得分塊mi的簽名為σi,如下所示:
其中,H是哈希函數:H:{0,1}*→G1,j為數據段序號:1≤j≤k;然后將數據信息文件F(F_Id,Φ={(σi)|1≤i≤n})發送給虛擬機代理,F_Id是數據信息文件F的唯一標志符,Φ是數據信息文件F數據塊的標簽集合。
步驟B05.用戶虛擬機將數據信息文件F上傳到虛擬機代理,由虛擬機代理調用標簽生成算法為每一數據塊生成標簽σi,然后通過該代理私鑰加密上傳數據信息文件F至云服務提供服務器的分布式文件存儲系統中,并在虛擬機代理中保存數據信息文件F數據塊的標簽集合Φ。
步驟C.目標用戶通過用戶虛擬機,經虛擬機代理與云服務提供服務器通信,驗證所存儲數據的完整性。
上述步驟C具體包括如下步驟:
步驟C01.用戶虛擬機針對所存儲待檢測文件,向虛擬機代理發出待檢測文件的數據完整性驗證請求,數據完整性驗證請求chal包括:待檢測文件數據塊集合IDX={idxi|1≤i≤c,c≤n}和對應的隨機數集合R={ri|i∈IDX,r∈Zp}:
接著,虛擬機代理向云服務提供服務器發出待檢測文件的數據完整性驗證請求;其中,c為待檢測的數據塊總數,n為待檢測文件數據塊集合中數據塊總數。
步驟C02.云服務提供服務器根據待檢測文件的數據完整性驗證請求,確定待檢測文件所處位置,先向虛擬機代理返回待檢測文件的唯一標志符F_Id。
步驟C03.虛擬機代理根據待檢測文件的唯一標志符F_Id,獲取到待檢測文件的相應數據塊,計算總數據塊M:
其中,mij表示待檢測文件數據塊集合中第i個數據塊、第j段數據,mi={mi,1,…,mi,j,…,mi,k},待檢測文件數據塊集合IDX={idxi|1≤i≤c,c≤n},根據虛擬機代理數據庫中存儲的公開信息,計算待挑戰數據塊標簽值的一部分D:
利用標簽生成算法計算待檢測文件塊標簽值,虛擬機代理從自身數據庫讀取待檢測文件的數據塊標簽值計算T,同時計算對應的待檢測文件的數據塊編號的哈希值B。
其中ti表示待檢測文件數據塊集合中第i個數據塊的數據簽名,ri表示數據完整性驗證請求chal中第i個數據塊所對應的隨機數。
最后證據proof={D,B,T},返回給用戶虛擬機。
步驟C04.用戶虛擬機接收虛擬機代理所返回的證據proof,并計算若等式成立,則證明待檢測文件完整,若等式不成立,則證明待檢測文件不完整。
實際應用中,用戶將數據上傳至云端后,數據的控制權交于云服務提供服務器,因此數據監測要求能夠及時、有效的檢測出異常篡改;如圖2示,數據監測包括以下步驟:
步驟1、當訪問者發出數據訪問請求,首先向虛擬機代理發出請求,查看虛擬機代理是否處于活動狀態,若虛擬機代理處于活動狀態,則轉步驟2,否則,轉步驟8;
步驟2、虛擬機代理收到訪問請求后,首先由可信安全保障模塊進行授權驗證,根據訪問者屬性,給予相應讀、寫、執行和下載等權限,轉步驟3。若驗證權限失敗轉步驟8;
步驟3、虛擬機代理向云服務提供服務器發出數據訪問請求,云服務提供服務器根據請求,定位到對應的分布式文件存儲系統,將存儲時使用虛擬機代理公鑰加密后的數據傳給虛擬機代理;
步驟4、虛擬機代理使用虛擬機代理私鑰將數據解密,計算數據標簽Ta,并與存儲在虛擬機代理中的文件標簽Tt對比,若一致,表明文件正常,未被非法篡改,轉步驟5,否則轉步驟8;
步驟5、虛擬機代理將文件傳輸給訪問者,訪問者獲取到文件,可在權限許可內對文件進行處理;
步驟6、訪問者對文件進行處理完畢后,向虛擬機代理發出結束請求,虛擬機代理重新利用用戶RSA公鑰更新文件標簽,并用虛擬機代理公鑰對文件進行加密上傳至云服務提供服務器,云服務提供服務器更新分布式存儲系統中的文件,轉步驟7;
步驟7、由附屬模塊將訪問者信息記錄和文件修改信息寫入到日志文件,為問責提供依據,并向發出正常修改信息。
步驟8、拒絕數據訪問請求,由附屬模塊寫入日志文件,為問責提供依據,并向用戶發送非法篡改警告。
如果用戶要將數據保存到分布式文件存儲系統,虛擬機代理會在存儲前對數據進行加密;反之,如果用戶要從分布式文件存儲系統中讀取數據,虛擬機代理機制會讀取后將數據解密。該方法另一個特點是將云操作系統和分布式文件系統進行了隔離,數據加解密由虛擬機代理機制來完成,實現了云操作系統和用戶數據的隔離。由于對于云操作系統而言數據始終是已加密的密文,當分布式存儲系統被入侵時,攻擊者得到的是已加密的密文數據,保證了數據的安全性和機密性。
上述所設計基于云環境分布式虛擬機代理架構的數據完整性保障方法,采用可信技術對用戶虛擬機進行擴展,創建適合虛擬機代理各個模塊所需的環境,如,自驗證模塊驗證負責用戶所屬虛擬機本身的完整性,做到事先預防,虛擬機代理負責用戶所屬虛擬機的管理和完整性驗證,做到事后反饋。系統具有靈活性、跨平臺和可擴展性;而且虛擬機代理是動態生成的,并具有一定的生存周期,因此對其功能進行修改和擴展都非常簡便。并在基于虛擬機代理的租戶環境中,當虛擬機自驗證模塊監測到遭受非法篡改,能夠及時通知虛擬機代理和云管理員,警告其所在環境可能處于危險狀態,并作出相應措施,如遷移、銷毀等。設計中,虛擬機代理本身處于云環境中,可作為用戶與云服務提供商之間的可信封裝器,能夠保存用戶與云服務提供商的交互信息,以及紀錄云環境中對用戶數據操作的不可抵賴的信息,對數據泄露等問題進行有效、可靠的法律依據取證,從而建立完善的問責機制,做到事后取證。
上面結合附圖對本發明的實施方式作了詳細說明,但是本發明并不限于上述實施方式,在本領域普通技術人員所具備的知識范圍內,還可以在不脫離本發明宗旨的前提下做出各種變化。