第二章 證明違約
一般雲端環境下,使用者跟服務提供者雙方之間溝通的不可否認性是沒辦 法保證的。也就是說,若是有一方否認有其溝通,另外一方無法提供相關的證
據來反駁。
一般情況,使用者並不會留下跟服務提供者溝通的記錄,當服務提供者提 供錯誤的資料,使用者無法證明是服務提供者的錯誤還是自己操作上的錯誤。
通常服務提供者會利用日誌檔來記錄跟使用者溝通之過程,但是日誌檔不是真
正的安全、可信任的,有可能會遭到服務提供者竄改、遺失,而且日誌檔是服
務提供者產生,當發生問題時使用者並不一定會相信服務提供者所提供之記
錄。
過去的研究證明違約[27](Proof of Violation)能建立雙方不可否認性,當使用 者提供的資料有問題時,能證明服務提供者是無辜的,是使用者本身的問題。
又或者當服務提供者發生問題時,使用者可以證明是服務提供者產生的問題,
當作求償的依據。進一步來達到整個系統的安全及責任歸屬,創造更加可信任
的雲端運算環境。
證明違約有三個特性:第一,需要先定義其屬性(Properties);第二,雙方 都要保留證據(Attestation),且證據具有法律效益,每個證據都必需要有雙方
的簽章(Digital Signature),來證明雙方都同意證據的內容,來完成不可否認
性;第三,具有稽核(Auditing)的機制,因保存的證據具有法律效益,發生問
6
題時,可以根據證據的內容,來檢測是何者發生問題,達到責任釐清,更可進
一步檢討改善。
目前著名的雲端儲存空間有 Google Drive [2]、 Dropbox [3]、OneDrive
[4]、 iCloud [5]、 SugerSync [6]以及 Box [7]。在 CloudProof[8]文中提出一個 系統,其中的協定可以偵測並證明雲端儲存空間上四種安全性質:保密性
(Confidentiality)、完整性(Integrity)、寫入循序性(Write Serializability)以及
讀取新鮮性(Read Freshness),合稱 CIWF。使用者可以偵測服務提供者是否違
反 CIWF,若是違反,可向服務提供者提出賠償。反之,服務提供者也可證明
使用者是否提供錯誤資料故意敲詐。
這個系統具有雙方不可否認性,使用者所做的請求、服務提供者提供的服 務,都會被綁定在證據裡面。雙方保留的證據都會利用鏈結雜湊(Chain
Hash)的方式記錄下來,因此使用者僅需保留最後一個鏈結雜湊的證據,而服 務提供者要保留所有的證據,以便稽核所需。然而鏈結雜湊這個方法並不能抵
禦服務提供者的回復式攻擊[9](Roll-Back Attack),利用舊版的資料來否認遺
失新版的資料,除非使用者保留所有的證據或是可以確保所有參與的使用者都
可以得到最新的證據。
C&L Scheme[10]解決了這個問題,在證據裡面加上 LSN(Local Sequence
Number)、使用者名稱(Client ID)、時代識別名稱(Epoch ID)搭配鏈結雜湊
(Chain Hash),不只確保了雙方不可否認性,在使用者不需要彼此交換證據
7
下,也可成功抵禦服務提供者發起的回復式攻擊,但是會遭遇到慢速攻擊
(Slow Running Attack)[17]。在本文中採用 Double Chain Hash Scheme[17]來抵
擋慢速攻擊。
而後相關的研究也有針對應用於雲端資料庫、雲端回應時間[11]、雲端即 時稽核[12][16]。在上述研究中,都是一個服務提供者搭配少量使用者的雲端環
境。在本研究中,我們將 CAP 推廣,應用於雲端聯盟中,探討多個服務提供
者,彼此之間溝通會產生的問題。最後我們針對上述問題,提出方法,並用理
論證明提出來的方法是可行的,最後利用實作來驗證其效能。
8