• 沒有找到結果。

設計及實作雲端環境中可用性之行為違反證明技術

N/A
N/A
Protected

Academic year: 2021

Share "設計及實作雲端環境中可用性之行為違反證明技術"

Copied!
33
0
0

加載中.... (立即查看全文)

全文

(1)國立臺灣師範大學 資訊工程研究所碩士論文. 指導教授: 黃冠寰. 博士. 設計及實作雲端環境中可用性之行為違反證明技術. Design and Implementation of POV Scheme for Availability in Cloud Computing. 研究生:. 葉上語. 撰. 中華民國. 2015 年. 6月.

(2) 摘要 在雲端環境中有效率的收集證據進行可用性檢測. 葉上語. 今日的雲端提供商(Cloud Provider)在提供服務給予使用者前,皆會與其 簽訂服務階層協議(Service-Level Agreement,簡稱 SLA),然而目前雲端上卻 沒有提供一個可信任的方法去證明服務是否達到 SLA 的標準。Amazon 本身有 提供雲端監控服務(CloudWatch),然而此監控工具(Monitoring tools),為雲 端提供商所提供,若提供商給予錯誤資訊或想規避一些服務缺失,使用者也無 從防範,可稱為「球員兼做裁判」的狀況,球員自己審查自己的比賽,對使用 者來說沒有信服力。 本論文為避免雲端服務商在租用虛擬機器給予使用者時,出現非使用者自 主性服務中斷等狀況,我們使用證明違約(Proof of Violation,POV)技術在 服務提供商及虛擬機器間建立一個可信任的演算法,並且再改良此演算法,使 其證據儲存空間及稽核時間能進一步優化。. 關鍵字: 雲端運算、安全協定、可用性檢測. i.

(3) 致謝 首先誠摯的感謝指導教授黃冠寰博士,老師悉心的教導使我得以一窺雲 端運算領域的深奧,不時的討論並指點我正確的方向,使我在這些年中獲益匪 淺。老師對學問的嚴謹更是我輩學習的典範。 兩年裡的日子,實驗室裡共同的生活點滴,學術上的討論、言不及義的 閒扯、讓人又愛又怕的宵夜、趕作業的革命情感,感謝眾位學長姐、同學、學 弟妹的共同砥礪,你們的陪伴讓兩年的研究生活變得絢麗多彩。 感謝吳李祺、林裕偉學長們不厭其煩的指出我研究中的缺失,且總能在 我迷惘時為我解惑,也感謝陳虹甫、傅詩凱、王子豪同學的幫忙,恭喜我們順 利走過這兩年。實驗室的袁儀齡、廖柏翔、陳佳均、江浩群、陳之中、簡偉智 學弟們當然也不能忘記,也祝福你們未來一切順心。 最後,謹以此文獻給我摯愛的雙親。. 葉上語. 誌於. 國立臺灣師範大學資訊工程研究所 民國一百零四年六月. ii.

(4) 目錄 摘要................................................................................................................................. i 第一章 緒論............................................................................................................ 1 第一節 簡介 IaaS 及 CC ................................................................................ 1 第二節 IaaS 的 Availability............................................................................ 2 第二章 POV 協定................................................................................................... 4 第一節 Proof of Violation............................................................................... 4 第二節 Proof of Violation for Availability ..................................................... 5 第三章 可用性之行為違反證明技術.................................................................... 7 第一節 系統架構(System Architecture) ................................................... 7 第二節 壹、 貳、 第四章 第五章 第六章 第七章. POV 演算法...................................................................................... 9 Pure Chain-Hashing ..................................................................... 10 Simplified Chain-Hashing ........................................................... 12. 參、 Recursive Hashing ....................................................................... 15 實驗結果.................................................................................................. 19 相關研究.................................................................................................. 23 結論.......................................................................................................... 24 參考著作.................................................................................................. 25. iii.

(5) 表格目錄 表格 四-1 # Comparison of the three schemes with different number of unavailable time slots in 30 days. ........................................................ 22. iv.

(6) 圖目錄 圖 二-1 計算虛擬機器之可用性 ................................................................ 6 圖 三-1 服務提供商與使用者之關係 ........................................................ 7 圖 三-2 Pure Chain-Hashing 示意圖 ......................................................... 10 圖 三-3 Simplified Chain-Hashing 示意圖 ............................................... 12 圖 三-4 時間差計算 .................................................................................. 13 圖 三-5 Recursive Hashing .......................................................................... 16 圖 三-6 Recursive Hash 稽核 ...................................................................... 18 圖 四-1 各演算法的比較 .......................................................................... 20. v.

(7) 第一章. 緒論. 第一節 簡介 IaaS 及 CC 雲端運算(Cloud Computing,簡稱 CC),「雲」即是我們最常使用的網際 網路(Internet)、「端」即指使用者端(Client),表示一種基於網際網路的運算 方式,使用者端用其來完成任務,但不需要知道伺服器的位置或資料的所在, 也不需要知道雲端中基礎設施的細節。 目前普遍定義了幾種 CC 所提供的服務,分別為軟體即服務(Software as a Service,簡稱 SaaS)、平台即服務(Platform as a Service,簡稱 PaaS),基 礎建設即服務(Infrastructure as a Service,簡稱 IaaS)。SaaS 提供使用者應用 程式,但不需控制作業系統或硬體端,只需要透過網際網路且不經安裝即可使 用的服務方式,如:iCloud 及 Gmail;PaaS 提供使用者運作應用程式的環境, 使用程式語言或程式庫等服務,但並不需要控制作業系統及硬體端,介於 IaaS 和 SaaS 之間,如:GAE(Goole App Engine)[4];IaaS 提供基礎運算的資源 給予使用者,如處理器、儲存容量、網路等基礎的運算資源,且能自行控制作 業系統等底層的功能,但不需自行購買硬體即建置基礎設施,如:Amazon AW S[1]、EC2[2]等。此三層服務在雲端運算中是環環相扣的,在研究[11]中便有提 及,若 IaaS 層面的服務中斷,會影響到 SaaS 層及 PaaS 層的服務品質。 1.

(8) 第二節 IaaS 的 Availability 今日的雲端提供商(Cloud Provider,以下簡稱 CP)在提供服務給予使用 者前,皆會與其簽訂服務階層協議(Service-Level Agreement,簡稱 SLAs)[1 2]。舉例來說:在 EC2(Amazon Elastic Compute Cloud)提供的 SLAs 中[3], 有保證(Guarantee)其可用性(Availability)為 99.95%,當其 Availability 低於 99.95%,使用者可向 Amazon 索償[1],但僅止賠償違約金額或是增加使用時 間,並不會賠償服務中斷這一段時間的任何經營損失。 然而目前雲端上並沒有提供任何可信任的方法去證明服務是否達到 SLA 的 標準。如現今 Amazon 本身有提供雲端監控服務(Amazon CloudWatch)[1], 其基本監控服務為每五分鐘蒐集一次資訊並報告 EC2 的各項指標,如 CPU 使 用率、資料傳輸和硬碟使用活動。但此監控工具(Monitoring tools),為 Amaz on 提供商所提供,若提供商給予錯誤資訊或想規避一些服務缺失,我們也無從 防範,可稱為「球員兼做裁判」的狀況,球員自己審查自己的比賽,對使用者 無信服力。 在過去曾經發生幾次 Amazon 服務嚴重中斷[6][7][8],例如在 2011 年四月 的時,因個人為疏失,引發了 EC2 雲端服務中斷,導致四座資料中心大當機, 三天後才完全恢復正常;在這段時間內,建立在此設備之上的服務如:Reddi t、HotSuite 或 FourSqure 皆被影響導致服務中斷,另在美東有家心律調節器監 2.

(9) 控服務的廠商,有三部使用 EC2 服務的主機完全中斷,導致蒐集心電圖訊號的 服務停止運作。雖然沒有造成嚴重人員意外,但影響的商譽、經濟損失並不是 服務提供商賠償服務時間便能抵過的。因此在過去研究中,曾有人致力於研究 SLAaaS[11],希望能在簽訂 SLA 時便將責任分屬於各層間,讓使用者可以在服 務中斷後得到相對應合理的賠償,IaaS 端服務中斷,會連帶造成 PaaS 及 SaaS 的服務品質下降或中斷,因此建立公正可信任的機制十分重要。 目前有相當多關於各層面資訊的監控工具研究[14],如由雲端服務提供商 的 CloudWatch、Azure FC 等等,也有針對虛擬機器的監控工具研究[17],如 Cl oudSec、HyperWall、K-Tracer 等等,卻皆只留下了活動記錄的 Log,如:監測 記錄檔(Log),或是單方面的監測或計算結果,皆無足夠效力成為具有法律效用 的「證據(Attestation)」,無法讓使用者或雲端服務提供商用以證明服務是否 與 SLA 所簽訂內容相符。 過去研究中提及虛擬機器(Virtual Machine)為 IaaS 層中的關鍵角色[1 6],我們在本論文中致力於討論如何在 IaaS 層的虛擬硬碟(Virtual Machine, 簡稱 VM)中,針對其可用性(Availability)留下可信任且具有法律效力的證 據,讓使用者及雲端服務提供商皆可保護自身權益。. 3.

(10) 第二章. POV 協定. 第一節 Proof of Violation 我們需要一個可以讓服務提供者證明自己是無辜的以及讓使用者證明自己 沒有過失的方法,過去研究提出了證明違約演算法(Proof of Violation)[10], 可讓使用者及服務提供商製造具有法律效力的證據(Precise Proof、Cryptograp hic proof,在此我們通稱 Attestation),創造更可信任的雲端運算環境。 證明違約演算法有三項特性,第一,需要先定義其屬性(Properties);第 二,訊息要留做證據,且必須具有法律效力,每一則訊息都必須有使用者及服 務提供商兩方的簽章,證明雙方都同意此訊息內容。第三,具有稽核(Auditing) 機制,根據具有法律效力的證據,可證明是否有達到合約內容,稽核可以檢測 是否有證明違約,並且也可以反駁若其中一方做出的虛假指控。我們在此研究 中也使用證明違約的框架,在屬性中套入 IaaS 層面中可用性(Availability),定 義虛擬機器是否有如 SLA 上所給予的保障。 證明違約演算法過去主要應用於雲端儲存空間。其中的協定可以偵測並證 明雲端儲存空間上四種安全性質:保密性(Confidentiality)、完整性(Integrit y)、寫入循序性(Write Serializability)以及讀取新鮮性(Read Freshness),何 稱為 CIWF。使用者可以偵測雲端儲存空間是否違反 CIWF,而服務提供者可以 4.

(11) 反駁使用者的誣告,這個系統有保證不可否認性,使用者所做的請求以及服務 提供者維護資料的狀態都會被綁定在證據裡面。過去[9]曾提出相關研究,然而 此方法不能抵禦來自服務提供商的回覆式攻擊(Roll-Back Attack),利用回復 版本較舊的資料以及相關的電子簽章去否認他們遺失最新版本的資料。 而後研究提出了新的方法 C&L Scheme[22]解決了這個問題,利用鏈結雜湊 (Chain Hash)搭配嵌入 LSN(Local Sequence Number)、客戶識別名稱(Cli entID)以及時代識別名稱(EpochID)於證據中,不只確保了雙方的不可否認 性可以成功抵禦服務提供者發起的回復式攻擊。 而後也有應用於雲端回傳時間及雲端資料庫等[23],在本研究中,我們將 時段違約技術應用於 IaaS 層的虛擬機器中。. 第二節 Proof of Violation for Availability 在雲端服務中虛擬機器的可用性(Availability),一般是指虛擬機器「實際 上」被開啟的時間百分比,在 Azure[5]及 Amazon 上稱為每月運行時間百分比 (Monthly uptime rate)[3],每個月從百分之百減去不可用(Unavailable)的 分鐘數,其中不可用之定義為目前所有運行中的資源皆無法從外部連接,也就 是使用者無法控制自己所租用的虛擬機器。本研究所探討之可用性(Availabilit y)之表示法,我們在此可用下方公式圖 二-1 表示:. 5.

(12) Availability. = Monthly uptime rate = =. (Actually uptime) 𝑇𝑜𝑡𝑎𝑙 𝑢𝑝𝑡𝑖𝑚𝑒 (Total uptime)−(𝐔𝐧𝐚𝐯𝐚𝐢𝐥𝐚𝐛𝐥𝐞 time) 𝑇𝑜𝑡𝑎𝑙 𝑢𝑝𝑡𝑖𝑚𝑒. 圖 二-1 計算虛擬機器之可用性 本研究中的不可用時間(Unavailable time),為無法連接的狀態,也包括 使用者非自主性服務中斷的狀態,如服務提供商為節省資源惡意將虛擬機器服 務中斷的狀態,皆為不可用時間的定義。 我們在本研究中建立一個可信任且可具有法律效力的方法,可以證明虛擬 機器的可用性,是否與使用者及服務提供商所簽訂的 SLA 合約內容相符。. 6.

(13) 第三章. 可用性之行為違反證明技術. 第一節 系統架構(System Architecture). Q0 Virtual Machine. R0 Q1 Heart Beat Server. R1. ‧‧‧. Agent. Q2 R2. Trust Third Party. 圖 三-1 服務提供商與使用者之關係 使用者在虛擬機器內置入代理程式(Agent),此代理程式會在虛擬機器啟 動時,每隔一段固定時間(Interval Time,本實驗為 1 分鐘)不斷的向雲端服 務提供商上的 HBS(HeartBeat Server,即服務心跳檢測服務)發出請求訊息 (Request Message),HBS 收到確認上面的請求訊息內容沒有錯誤後,會簽章 7.

(14) 並且回傳一個確認訊息(Acknowledgment Message)給使用者的代理程式,並 將此證據與上一個證據使用鏈結雜湊(Hash Chain)產生關聯性,並且保存於 HBS 中,以供未來證明雙方沒有過失,在此我們稱做稽核(Auditing)[18], 代理程式收到確認訊息後,檢查此訊息上的內容是否正確。 此訊息溝通過程藉由虛擬機器內的代理程式發送,並且在 HBS 檢測無誤後 回傳,因此若順利完成此協定,足以代表虛擬機器目前服務正常,此時訊息便 為證據可以作證虛擬機器的狀態為運作中。 我們在 HBS 及代理程式所留下的每一個訊息(Message),都經過雲端服務 提供商以及使用者雙方的認證及簽章,因此訊息具有不可否認性(Nonrepudiation)及足夠的效力成為證據(Attestation)證明虛擬機器的可用性。 在此協定中,另存在可信任的第三方(Trust Third Party)。可信任第三方在 研究中[24]提到大致有以下分類,如:inline、online 及 offline。inline TTP 會在 協定中涉入每一則訊息;online TTP 在協定中不會每一則傳送訊息都干涉,但 是每過一個階段就會稽核一次;而 offline TTP 只有在出現行為異常、其中一方 不誠實或是網路故障等狀況,才會出來干涉協定或兩方之間的內容。很明顯的 可以推敲出,Inline TTP 是不可能真正實現的,首先若第三方須乘載這麼大量的 訊息溝通,那麼第三方的訊息量可能會超載,另外若每一個訊息都必須經過第 三方,那麼「Trust」這樣的假設就顯得過於強大,因為若第三方判斷偏頗,但. 8.

(15) 第三方卻又擁有過大的權力去決定使用者及雲端提供商的行為,是非常可怕的 一件事。因此本研究在此使用 offline TTP,也就是服務提供商或是使用者出現 行為異常、規避協定未在 Interval Time 內傳遞訊息等狀況,第三方才會出來做 為仲裁者。 本篇論文組織如下: 第二章介紹可用性之行為違反證明技術,其中第二節說 明POV技術上的演算法,第一點是使用傳統兩步驟POV用法,第二點改良傳統 POV儲存過多證據耗費記憶體的缺點,第三點將前面兩點證據多需要儲存的問 題全部改良,讓伺服器端也可以只存最後一則訊息仍可擁有與儲存多則訊息的 效力。第三章提提出實作成果以及實驗數據,第四章描述相關研究,在第五章 我們提及相關研究,最後於第六章提出結論。. 第二節 POV 演算法 在這個章節我們會介紹可用性使用證明違約技術的方法。首先為了清楚描 述此協定,我們先解釋這個協定的符號意義。[O]pri(x)表示使用者 x 簽署在資 料物件(Data object)O 上的電子簽章,此簽章是由使用者 x 自己的私有鑰匙所簽 署,此外在中括號內,多個資料物件會以逗號隔開,表示多個物件資料被使用 者 x 簽署,如例子[O1, O2, O3]pri(x)表示資料物件 O1、O2 和 O3 被使用者 x 的 私有鑰匙所簽署。. 9.

(16) 壹、. Pure Chain-Hashing. 先將原本的 POV 演算法套入虛擬機器可用性的研究,以下圖三-3 為 Pure Chain-Hashing 協定的流程圖:. R1. R2. R3. Hash(0) 10:00, VMID. Hash(R1) 10:01 ,VMID. Hash(R2) 10:02 ,VMID. 圖 三-2 Pure Chain-Hashing 示意圖 Step 1:. 虛擬機器啟動時,代理程式會在每段 Interval Time(本研究為 1 分. 鐘)時傳送一個請求訊息(Qi)訊息給予 HBS,以代表虛擬機器目前開機 狀態。Qi = { CurTime, VMID, hash(Ri-1) , [ CurTime, VMID ]pri(U) },其中 Current Time(CurTime)為虛擬機器現在的時間,VMID 記錄此虛擬機器的 ID,並且在訊息內保有雜湊值(Hash Value),指向上一個證據(Ri-1) 。 Step 2:. HBS 收到請求訊息,並且檢查剛剛傳來的 Current Time 及確認訊息細. 節 Hash 的內容是否正確,防止使用者方作弊或鏈結到錯誤的訊息。 10.

(17) Step 3:. HBS 確認完成後,回傳卻認訊息(Ri)。Ri ={ Qi, [ Qi ]pri(provider) }給予虛. 擬機器的代理程式,證明收到且無誤,並且儲存於 HBS 中以供未來稽核使 用。 Step 4:. 虛擬機器的代理程式收到確認訊息 Ri,檢查訊息內容是否正確,若正. 確則將訊息保存。 若虛擬機器出現非使用者自願性服務中斷,服務提供商也承認服務出現中 斷,可不需請求第三方協助,由虛擬機器的代理程式重新啟動後,繼續完成協 定內容即可。由留下訊息之間的時間差,便可推出虛擬機器服務中斷的時間, 其中訊息中的雜湊值可保證其順序性,且皆有服務提供商及使用者間雙方的簽 章,因此不需要第三方協助即可做為服務中斷力之證據。 倘若代理程式失效或使用者想規避協定內容,在 Interval time 未發出請求 訊息給予 HBS,HBS 可通知第三方協助,由第三方檢查虛擬機器的服務狀況, 並且留下紀錄,可做為證據證明服務提供商有提供相符的可用性。 若使用者或服務提供商所傳遞的訊息內容有誤,即可馬上請求可信任第三 方做為仲裁,稽核訊息內容。 此演算法可保證其虛擬機器的可用性,但每一則傳遞的訊息皆需儲存於 HBS 中,以供未來稽核時做為證據使用,需花費較大的儲存空間,也在稽核時 需花費較大的時間,因此我們針對其虛擬機器的特性,發展出以下的演算法。. 11.

(18) 貳、. Simplified Chain-Hashing. 為了有效解決在 Pure Chain-Hashing 需留下每一則訊息而造成過度浪費空 間的狀況,我們提出了 Simplified Chain-Hashing。在證明虛擬機器可用性的過 程中,訊息的處理比其以往證明違約技術應用於儲存空間[10]更具有邏輯及規 律性,因此我們在這裡針對其特性做了大幅度的修改。以下圖 三-3 為 Simplified Chain-Hashing 協定的流程圖:. R1. 10:00, 10:01 ,1. R2. 10:01, 10:02, 2. Unavailable Time. R3. 10:02, 10:10, 3. R4. 10:10, 10:11, 4. R5. 10:11, 10:12, 5. ‧VM agent keeps last attestation and each attestation after service disruption period ‧HBS keeps last attestation and attestation after each service disruption period. 圖 三-3 Simplified Chain-Hashing 示意圖 Step 1:. 虛擬機器中的代理程式,在每 Interval Time(在本研究為 1 分鐘)會. 傳送一個請求訊息(Qi)訊息給予 HBS,Qi = { LastTime, CurTime, SN, 12.

(19) VMID [LastTime, CurTime, SN, VMID ]pri(u) },Current Time(CurTime)為虛 擬機器現在的時間,Last Time(LastTime)為前一個訊息中所記錄的 Current Time, VMID 為此虛擬機器的 ID。在此演算法中另外新增了循序 數列(Sequence Number,簡稱 SN),從 1 開始記錄訊息的順序與個數,每 次增加 1。 Step 2:. HBS 收到請求訊息後,檢查剛剛傳來的 Current Timestamp、Last. Timestamp、VMID、SN 數值等訊息內容是否正確。並且確認無誤後,回傳 確認訊息(Ri),Ri ={ Qi, [ Qi ]pri(provider) }給予虛擬機器的代理程式,已證明 收到且內容無誤,並且儲存於 HBS 中。 Step 3:. 虛擬機器的代理程式收到確認訊息 Ri,檢查訊息內容是否正確,若正. 確則保存。 (a). (LastTime − CurTime) = Interval Time. (b) (LastTime − CurTime) > Interval Time 圖 三-4 時間差計算 每則訊息內有含有 LastTime 及 CurTime,因此若時間差與 Interval Time 相 等(如圖 三-4 (a))則可證明在上一次訊息到這次訊息中,虛擬機器的服務正 常,可由圖 三-3 R1, R2, R4, R5 看出。若時間差大於 Interval Time(如圖 三-4 (b))則可證明在上一次訊息到這次訊息中,虛擬機器的服務有發生中斷。. 13.

(20) 在此演算法中,另外加入了循序數列,即可不需要雜湊鏈結便能證明其順 序及不可否認性,也可藉由循序數列推算出虛擬機器的可用性。如本實驗的 Interval Time 為 1 分鐘,則 1 小時應有 60 個證據,因此最後一則證據的循序數 列應為 60;若最後一個證據的循序數列為 50,則可推算出此虛擬機器的服務可 50. 用性為 ( 60 = 83.3% )。 加入循序數列及 LastTime 後,我們不必將所有證據留下。在 Pure ChainHashing 中,每一則證據用來證明虛擬機器的狀態正常;在本演算法中,我們 只留下最後一則訊息及使用者非自主性服務中斷後的訊息。 HBS 在收到請求訊息後,可利用時間差檢查此訊息傳遞前是否服務正常, 若正常則將此訊息保留到下一則訊息送達時刪除,如 圖 三-3 中, R1 是起始 訊息(SN 為 1)必須保留,以供未來計算可用性時快速算出虛擬機器的可用 性,計算公式如下: 𝑄𝑖 (𝑆𝑁) = Availability (𝑄1 (Last Time) − 𝑄𝑖 (Current Time))/𝑚𝑖𝑛𝑢𝑡𝑒 其 R2 訊息內可由時間差推得出服務正常,因此於 Q3 到達 HBS 時,將 R2 內的 SN 及 Current Time 等數值與 R2 檢查,確認訊息有按照協定內容,即可將 R2 刪除,並且將 Q3 簽訂為確認訊息 R3 回傳給使用者端。使用者端亦只需要留 下最後一個證據,以供下一次訊息回傳時檢查訊息內容是否正確。若時間差推 出服務中斷,如圖 三-3 中之 R3,則 HBS 需儲存此訊息做為證據,以供未來在. 14.

(21) 稽核時,可讓提供商即使用者得知確切服務中斷的時間。 其中若使用者想竄改訊息時間或 HBS 竄改訊息內容,皆可利用 SN 的數字 及訊息中的 Last Time 檢查時推算得知,因此雖然沒使用雜湊鍊結仍可保證其證 據力足夠,即可使用立即請求第三方出來做證。 實際上,如 Amazon 公司保證其虛擬機器上的 Availability 會大於 99.95%, 因此我們只留下使用者非自主性服務中斷時間後的證據,即代表我們可以省下 一般狀況下 99.95%服務正常的證據數量,不僅大量減少需要儲存的數量,也因 為數量降低大大減少了稽核時所需花費的時間。. 參、. Recursive Hashing. 在前一個方法 Simplified Chain-Hashing 中,每一個非使用者自願服務中斷 後的證據 HBS 都要儲存下來。皆下來我們發展了一個新的證據儲存方法 Recursive Hashing,以期望能減少儲存證據所需要的空間。 我們所發展的演算法,利用 Hash Function 之不可逆的特性,讓服務提供商 端使用一個 List(在此我們稱為 Hash-List)記錄非使用者自願服務中斷時間, 也就是不可用時間(Unavailable time),則使用者及服務提供商均只需記錄最後 一則訊息即可具有足夠證據力做為證據。. 15.

(22) R0. Hash0. 10:00, 10:00 , 10:01, 1. Hash0. R1. 10:00, 10:01, 10:02, 2 Hash-List={(10:02, 10:10)}. Unavailable Time Hash-List. R2. R3. Hash1. Hash1 = h(Hash0 , 10:02, 10:10). 10:00, 10:02, 10:10, 3. Hash1. 10:00, 10:10, 10:11, 4 Hash-List ={(10:02, 10:10), (10:11, 10:20)}. Unavailable Time. R4. Hash-List. Hash2 = h(Hash1 ,10:11 ,10:20). Hash2. 10:00, 10:11, 10:20, 5. ‧VM agent keeps {last attestation} ‧HBS keeps {Hash-List, last attestation}. Hash2. R5. 10:00, 10:20, 10:21, 6. last attestation. 圖 三-5 Recursive Hashing 16.

(23) Step 1:. 虛擬機器啟動時,代理程式在每個 Interval Time 會傳送一個請求訊息. (Qi)訊息給予 HBS,以代表虛擬機器目前服務正常,Qi = { InitialTime, LastTime, CurTime, SN, VMID, Hash, [ InitialTime, LastTS, CurTime, SN , VMID, Hash ]pri(u) }, Current Time 便為虛擬機器現在的時間,而 Last Time 為前一個訊息中所記錄的 Current Time,Initial Time 記錄此此 Recursive Hash 的起始時間;VMID 記錄此虛擬機器的 ID,最後加上 Hash 利用其不 可逆特性,讓未經過簽章的 Hash-List 也有足夠證據力。最後加上 SN 讓此 演算法仍就可保有 Simplified Hash-Chain 中,可只保留最後一則訊息並具 有不可否認性、可確認順序性及能快速粗估 Availability 的特性。 Step 2:. HBS 收到請求訊息並檢查傳來的訊息內容 Current Time、Last Time、. Initial Time、VMID、Hash 是否正確。若正確則回傳確認訊息(Ri), Ri={Qi, [Qi]pri(provider)}給予虛擬機器的代理程式,已證明收到且無誤,並將 此訊息保留。 Step 3:. 虛擬機器的代理程式收到確認訊息 Ri,代理程式檢查訊息內容是否正. 確,若一切無誤後將之訊息保存。 此方法與 Simplified Hash-Chain 一樣有 Last Time、Current Tim 及 SN,但 在此演算法中有多加 Initial Time 及一個 Hash Value。加上 Initial Time 後,第一 則訊息亦不須保存,只需儲存最後一則證據即可。. 17.

(24) 若訊息內的時間差(圖 三-4)與 Interval Time 相符,表示服務正常,則 Hash Value(Hi)保持不變;若時間差大於 Interval Time,表示有發生非使用者 自主服務中斷,則將 Hash Value 改為 Hi+1 = h( hi, CurTime, LastTime ),且 Hash-List = List append( CurTime, LastTime ),如圖 三-5 之範例,有發生兩次非 使用者自主性服務中斷,所以 Hash-List = { (10:02, 10:10), (10:11, 10:20) },並 且在第一次發生時 H1 = h( H0, (10:02, 10:10) ),第二次發生時的 Hash Value 會 改為 H2 = h( H1, (10:11, 10:20) )。. H0. H1. (10:02, 10:10). (10:11, 10:20). H2. 圖 三-6 Recursive Hash 稽核 稽核時 HBS 有責任提供 Hash-List,並且使用者可利用 Hash Value 之不可 逆的特性產生之公式圖 三-6,讓 Hash-List 擁有足夠的效力,足以證明 List 中 的資料為證確且具有證據力。 此方法改良了 Simplified Hash-Chain 方法,將原有的 SN 可快速估算虛擬機 器可用性之性質保留,並改良原方法仍需儲存使用者非自主性服務中斷之後的 證據,在此只需讓服務提供商及使用者兩方只儲存最後一則訊息,將服務中斷 時間以另一個 Hash-List 儲存於 HBS 中,大量降低儲存空間的使用,亦加快稽 核的時間,且仍具有足夠的效力做為證據。. 18.

(25) 第四章. 實驗結果. 本論文提及之三種演算法分別為 Pure Chain-Hashing、Simplified ChainHashing 及 Recursive Hash,此三種方法證據的儲存方式差異比較如圖 四-1。 Pure Chain-Hashing 儲存了所有可以證明虛擬機器可用性的證據,證據大小在此 以 K 表示,數量以 N 表示;而 Simplified Chain-Hashing 因大量減少了需要儲 存的證據數量(Y),只需存取有發生非使用者自主性服務中斷之後的證據,因 此在兩者單個證據大小接近(在此都用 K 表示)之下,數量比變成為很大的差 距;若是以 Amazon 所保證的可用性為 99.95%的一般狀況之下,兩者的數量差 距便顯而易見,Pure Chain-Hashing 儲存的證據數量為 99.95%的狀況,而 Simplified Chain-Hashing 則只需存取剩餘的 0.05%甚至更少,因此可比較出後 者演算法的儲存空間大量減少,亦因證據數量下降,稽核的時間也跟著降低。 第三個演算法 Recursive Hashing,進一步改良了 Simplified Chain-Hashing 中若非使用者自主中斷的次數一多,或未來在雲端服務提供商存取訊息的時間 拉長,例如一季甚至是一年,仍要記錄多筆證據耗費大量的空間,因此我們藉 由 Hash Value 不可逆之特性,讓中斷的時間可直接存於 Hash-List 中,永遠保持 服務提供商及使用者端皆只需存取最後一個證據,仍然可具有足夠的效力做為 證據,並且更優化了儲存空間及稽核上時間的量。. 19.

(26) K. K K K N. K. K Y. Hash-List. K. K. …. …. K. K. N*|K|. L L L. Y. Y*|K|+|K| Compare quantity:N >> Y Compare size:K >> L. K. Y*(|L|+1)+|K| ●:attestation K:normal attestation size L:Hash-Array’s attestation size Y:normal attestation quantity N:set-off attestation quantity. 圖 四-1 各演算法的比較 以下表四-1 為此研究之數據,可由表中明顯看出三種演算法之時間差異。 其中左側為非使用者自主性服務中斷的次數(Unavailable Time Slots,此處皆假 設服務中斷每次為 1 分鐘),右側為三種演算法之實驗數據比較。 α 標號內之前者為證據的個數、後者為證據總量所耗費的儲存空間(kB), β 為稽核證據時所需的時間(ms),另外 δ 為 Recursive Hashing 中另外挾帶的. 20.

(27) Hash-List 之時間對數。. 21.

(28) 表格 四-1 # Comparison of the three schemes with different number of unavailable time slots in 30 days. α:(#of attestation total, size of total attestation (kB)) β:Time of auditing (ms). δ:# of time stamp pair Simplified ChainHashing. Pure Chain-Hashing. Recursive Hashing. α. β. α. β. α. δ. β. 0. (43200, 102384kB). 127980ms. (2, 5 kB). 6 ms. (1, 2 kB). 0. 3 ms. 1. (43199, 102382 kB). 127977ms. (3, 7 kB). 9 ms. (1, 2 kB). 1. 3 ms. 10. (43190, 102360 kB). 127950 ms. (12, 28 kB). 36 ms. (1, 2 kB). 10. 3. ms. 50. (43150, 102265 kB). 127831 ms. (52, 23 kB). 154 ms. (1, 2 kB). 50. 4. ms. 100. (43100, 102149 kB). 302616 ms. (102, 242 kB). 302 ms. (1, 2 kB). 100. 5. ms. #. unavailable time slots. 22.

(29) 第五章. 相關研究. 在[16]研究中曾提及,虛擬機器為 IaaS 層面中的關鍵角色,但也因為其硬 體虛擬化,出現了許多需要解決的問題。目前有許多針對雲端虛擬機器上的監 控應用[17],如 CloudSec[16]提供了虛擬機器即時性(real-time)、透明化 (transparent)、活躍(active)安全監測系統;Aftersight[19]可用於分析虛擬機 器的行為,此系統提供了完整的生命週期控制流程(liftetime control-flow integrity),因此可記錄下非預測事件(non-deterministic events),以用於分析虛 擬機器行為。 在過去也有很多並非建立於雲端環境中檢測虛擬機器的研究,如各項 Virtual Machine Introspection 相關研究[20]、Virtual Machine Monitor[13] [21]等。 多半於在虛擬機器上置入程式並留下活動紀錄檔,亦有於 OS 下裝設虛擬機器 監控等模式,防止有外來的駭客竄改虛擬機器內的資料等檔案;Terra[25]發展 出 TVMM(Trusted Virtual Machine Monitor),所有建立於此系統上面的應用如 Email、Web Apps、Online Game、Management VM 等,皆會與 TVMM 做溝通 並且於 TVMM 之下留下證據,此 TVMM 如同一個可信任的第三方,以 inline 的模式經手所有的訊息。 在過去的虛擬機器監控研究中,因擁有者皆為使用者,並無多人關係,因 此只需要保存記錄便可以證明虛擬機器的活動狀態等。目前應用於雲端環境上 23.

(30) 的機器監控研究,仍然為過去並非雲端環境上機器監控研究的應用,讓服務提 供商、使用者甚至是可信任第三方擁有過大的權力,在其中ㄧ方想破壞協定 時,另一方無法擁有可證明自我清白的證據。 在雲端環境中,我們認為若只留下紀錄並不具有法律效力,雲端環境是由 多方所組成的,並且具有商業、金錢交易等行為,每項服務皆有簽訂服務導向 合約,約定服務提供商所提供之服務內容,因此紀錄需具有法律效力,有足夠 的效力成為證據讓兩方皆能信服,並且擁有防止其中ㄧ方為惡意破壞者,在製 造假證據、或是惡意不記錄虛擬機器狀態時,另一方仍能夠保障自身權益。. 第六章. 結論. 目前雲端環境上仍有許多安全上的疑慮,證明違約便為其中一個非常重要 的議題。所有監測或測試的紀錄若不具有法律效力,便不足以做為雲端環境上 的證據,在碰到與服務導向合約上不符合的內容時,便無法申訴保障自我權 益。因此我們應用證明違約的技術賦予監測或測試的記錄重要意義,使其成為 證據,並且在於擁有能夠防止惡意使用者或惡意服務提供商的效力。 本研究提出了解決雲端環境 IaaS 層中虛擬機器可用性的證明違約應用,另 外提出了解決傳統證明違約技術中會儲存大量證據的缺點,大量降低儲存空間 與稽核的時間,且仍具有足夠效力做為可用性的證據。. 24.

(31) 第七章. 參考著作. [1] “Amazon AWS,” http://aws.amazon.com/tw/ [2] “Amazon EC2,” http://aws.amazon.com/tw/ec2/ [3] “Amazon EC2 SLA,” http://aws.amazon.com/tw/ec2/sla/ [4] “Google App Engine,” https://cloud.google.com/appengine/docs [5] “Microsoft Azure,” http://azure.microsoft.com/zh-tw/ [6] “Summary of the October 22, 2012 AWS Service Event in the US-East Region,” http://aws.amazon.com/tw/message/680342/ [7] “Summary of the Amazon EC2, Amazon EBS, and Amazon RDS Service Event in the EU West Region,” http://aws.amazon.com/tw/message/2329B7/ [8] “Summary of the Amazon EC2 and Amazon RDS Service Disruption in the US East Region,” http://aws.amazon.com/tw/message/65648/ [9] R. A. Popa and J. R. Lorch. “Enabling Security in Cloud Storage SLAs with CloudProof,” USENIX Annual Technical Conference (USENIX), 2011, pp. 31. [10] Gwan-Hwan Hwang, Jenn-Zjone Peng, and Wei-Sian Huang, “A Mutual Nonrepudiation Protocol for Cloud Storage with Interchangeable Accesses of a Single Account from Multiple Devices,” The 12th IEEE International Conference on Trust, Security and Privacy in Computing and Communications (IEEE TrustCom-2013), Melbourne, Australia, 16-18 July. [11] Dami´an Serrano, Sara Bouchenak, Yousri Kouki, Thomas Ledoux, and Jonathan Lejeune, Julien Sopena, ” Towards QoS-Oriented SLA Guarantees for Online Cloud Services” in Proceeding of the IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid ), 2013, pp. 19–26 25.

(32) [12] Salman A. Baset, “Cloud SLAs: Present and Future,” ACM SIGOPS Operating Systems Review, vol. 46, no. 2, Jul. 2012. [13] A. Haeberlen, P. Aditya, R. Rodrigues, and P. Druschel. “Accountable Virtual Machines, “In Proc. of OSDI, 2010. [14] Khalid Alhamazani, Rajiv Ranjan, Karen Mitra, Fethi Rabhi, Prem Prakash Jayaraman, Samee Ullah Khan, Adnene Guabtni, Vasudha Bhatnagar. “An overview of the commercial cloud monitoring tools: research dimensions, design issues, and state-of-theart,” arXiv Computing Research Repository, vol. abs/1312.6170, Dec. 2013. [15] Yan Han, “IaaS cloud computing services for libraries: cloud storage and virtual machines,” , OCLC Systems & Services: International digital library perspectives, Vol. 29 Iss: 2, pp.87 – 100, 2013. [16] Ibrahim, Amani S., et al. "CloudSec: a security monitoring appliance for Virtual Machines in the IaaS cloud model." Network and System Security (NSS), 2011 5th International Conference on. IEEE, 2011. [17] Petcu, Dana, and C. Crăciun. "Towards a security sla-based cloud monitoring service." 2014 4th International Conference on Cloud Computing and Services Science (CLOSER). 2014. [18] Kamara, Seny, and Kristin Lauter. "Cryptographic cloud storage." Financial Cryptography and Data Security. Springer Berlin Heidelberg, 2010. 136-149, 2010. [19] Wang, Zhi, and Xuxian Jiang. "Hypersafe: A lightweight approach to provide lifetime hypervisor control-flow integrity." Security and Privacy (SP), 2010 IEEE Symposium on. IEEE, 2010. [20] Garfinkel, Tal, and Mendel Rosenblum. "A Virtual Machine Introspection Based Architecture for Intrusion Detection." NDSS. Vol. 3. 2003. [21] Rosenblum, Mendel, and Tal Garfinkel. "Virtual machine monitors: Current technology 26.

(33) and future trends." Computer 38.5 (2005): 39-47. [22] Hwang, Gwan ‐ Hwan, et al. "Fulfilling mutual nonrepudiation for cloud storage." Concurrency and Computation: Practice and Experience (2014). [23] Proof of Violation for Response Time Auditing in Cloud Systems. Gwan-Hwan Hwang and Yi-Ling Yuan Accepted for presentation in the 2015 International Conference on Cloud Computing and Big Data (CloudCom-asia 2015), sponsored by IEEE Computer Society, Huangshan, China, June 17-19, 2015. [24] Kremer, Steve, Olivier Markowitch, and Jianying Zhou. "An intensive survey of fair nonrepudiation protocols." Computer communications 25.17 (2002): 1606-1621. [25] Garfinkel, Tal, et al. "Terra: A virtual machine-based platform for trusted computing." ACM SIGOPS Operating Systems Review. Vol. 37. No. 5. ACM, 2003.. 27.

(34)

參考文獻

相關文件

進而能自行分析、設計與裝配各 種控制電路,並能應用本班已符 合機電整合術科技能檢定的實習 設備進行實務上的實習。本課程 可習得習得氣壓-機構連結控制

職務再設計專業人員在職場訪視的過程,實際就事業單位的要 求、作業人員的困難及其業務內容進行瞭解,並對職場作業環境進 行檢測,如以下說明:.

表 6.3.2 為不同電壓下,驅動整個系統運作所需電流。圖 6.3.2 為 測試情形。其中紅燈代表正常工作。結果證明只要太陽能板能夠提供

機器人、餐飲服務、花藝、雲端運算、網路安全、3D 數位遊戲藝術、旅 館接待、行動應用開發、展示設計、數位建設

二、 國民身分證正、反面影本;與在中華民國設 有戶籍之國民結婚且獲准居留之外國人或 大陸地區人民,提供有效之居留證明文件 及配偶戶口名簿影本。. 三、

Step 3: : : :模擬環境設定 模擬環境設定 模擬環境設定 模擬環境設定、 、 、 、存檔與執行模擬 存檔與執行模擬

Our current solution, called “Iterative Earliest Deadline First+Best Fit” (IEDF+BF), includes three steps: First, estimate the number of high frequency cores; second, schedule

二、 求才人次:係以透過公立就業服務機構(包含中心、臺服務臨櫃及現場徵才)之求才 登記職缺並鍵入就服資訊系統之人次,及加上臺灣就業通求才登記工作地點為雲嘉