第一節 簡介雲端運算
雲端運算(Cloud Computing),是近代常使用的網路服務。目前雲端服務大至
上分為三種服務模式:基礎設施即服務(Infrastructure as a Service,IaaS)、軟體
即服務(Software as a Service,SaaS)、平台即服務(Platform as a Service,PaaS)。
IaaS 提供了使用者基礎的運算資源,例如處理器、儲存容量等等。如:Amazon
GCE(Google Compute Engine)[1]、EC2[2]等;SaaS 提供使用者軟體服務,但不需 控制作業系統或硬體端,只需要透過網際網路且不經安裝即可使用的服務方式,
如:iCloud 及 Gmail;PaaS 提供使用者運作應用程式的環境,使用程式語言或程
式庫等服務,但並不需要控制作業系統及硬體端,介於 IaaS 和 SaaS 之間,如:
GAE(Goole App Engine)[3]。因此客戶端對三者之間的選擇如下述:IaaS 僅基 礎建設服務,但是與上述應用程式服務是無關的。對於客戶端(Client)而言,
假如客戶端已經寫了很多程式碼或軟體套件,倘若要安裝並運行在雲中,那麼客
戶端就需要找 IaaS 層的服務。PaaS 則提供了一個應用程式開發的服務環境,假
如客戶端有還沒建置軟體或想從頭開始自行開發建置,那麼客戶端應該去 PaaS
層尋找相關服務,因為這些軟體可能太昂貴或太複雜,使用 PaaS 服務將可大量
降低成本、風險。SaaS 則提供了一個完整的應用程式作為服務,本文討論的雲端
儲存空間應屬於 SaaS 層級。熱門的雲端儲存系統包括 Google Drive[4]、Dropbox[5]、
SugarSync[6]、SkyDrive[7]及box[8]。
第二節 雲端上的信任問題
在雲端服務的快速發展下,雲端服務面臨了使用者對雲端系統的信任度的問
題。當使用者把一個檔案丟給雲端處理時,雲端服務是否真的是照使用者要求的
方式去處理?存放在雲端儲存空間的檔案是否被竄改、或者遺失?重要的檔案是
否會曝光?現行的雲端服務幾乎都會遇到這類型的問題。目前並沒有非常有效的
方式去解決使用者對雲端不信任的問題[20][21]。現行系統大多強迫使用者相信
雲端服務,頂多只留下了活動記錄 (Log),或是單方面的計算結果,皆無足夠效
力成為具有法律效用的「證據(Cryptographic proof)」。使用者使用雲端服務時
只能選擇相信雲端服務提供商(Service Provider),這對使用者是不公平的,使
用起來十分沒有保障。萬一重要的文件被雲端服務提供商遺失或者竄改,使用者
的損失可能會十分慘重。為了解決這類型的問題,過去研究提出了證明違約演算
法(Proof of Violation,簡稱 POV)[9],讓使用者及雲端服務提供商製造具有法
律效力的證據。然而只是提出強而有力的證據是不夠的,因為有些情況必須在取
得服務的同時,使用者就必須知道該次取得的服務內容是不是可信任的。
假設一份兩間公司要簽約的文件放置在雲端儲存空間被雲端服務提供商竄
改,等到兩間公司將文件印出,並簽約完成以後才發現文件內容被竄改,很可能
對兩間公司造成巨大的損失。上述問題發生原因在於使用者必須等到稽核的時候
才能知道文件是否被竄改,因此證明違約演算法必須具備即時稽核之功能,在每
次提供服務的同時就做稽核。本實驗室過去提出的以部分雜湊樹達成有效率的雲
端儲存系統即時稽核[10]研究已經能夠達到即時稽核的功能,不過該系統架構須
架設同步伺服器,對該研究的介紹會在第二章第二節詳細討論。本研究的作法則
不須架設同步伺服器。
第三節 章節介紹
首先在第二章我們會介紹 POV 協定與其發展,說明為何需要 POV、現行的
技術又為如何,及 POV 協定可能會遇到的問題。第三章會介紹本篇論文系統的
做法,包含系統的架構、證據的產生、證據的縮減以及如何加快稽核。第四章為
實驗結果及與其他方法的比較。第五章為相關的研究。第六章則為結論以及其未
來的發展。