近年來,由於虛擬機器技術以及分散式結構的電腦運算技術成熟,導致了雲 端運算的流行,使用者資料不再隨身攜帶,全部都放置在網路世界的另一頭,常 見的雲端儲存系統包含了 Google Drive [1]、Dropbox[2]、SugarSync [3]、SkyDrive [4]、and Box[5],但這些系統都不支援相互的不可否認性服務層級協議,當使用 者資料出問題的時候,就只能束手無策。一個有效且簡單解決問題的辦法是將已 經儲存的固定資料完整的複製幾份到不同的伺服器上,當伺服器出問題時,可以 利用這些備份還原,Plutus[13]是一個加密的儲存系統,即使不依靠伺服器上部屬 的資訊安全環境,也能讓使用者安全的分享資料。其所有資料被加密過後儲存,
而且加密的金鑰採用分散式的配置管理。使用者可以透過備份的伺服器讀取與寫 入資料,當某一台複製的伺服器損毀,使用者可以透過其他備份的伺服器進行修 復,但是這個方法的缺點是,他必須在不同伺服器管理多份完整的備分資料。即 使在許多伺服器都遭受攻擊而損毀的情況下,利用多台伺服器上的備份也可以確 保資料的完整性。此外,有些系统利用這個備份的方法達到資料的安全性,像是 [14][15][16][17]。
有一些系統考慮雲端儲存伺服器是不可信任的,這些系統不解決資料遺失之 後該如何還原,而是著重於偵測系統錯誤,像是偵測資料的完整性及一致性,以 及做運算時,是否符合循序寫入以及讀取最新的原則。SiRiUS[19]是一個具安全 性考量的檔案系統,他的設計理念是在不安全的網路環境下利用階層的概念實作 系統,檔案儲存在檔案伺服器中包含兩個部分,第一個部分是檔案的元資料(meta
data),第二個部分是加密過的檔案資料,利用雜湊樹保證元資料是否為最新 的。客戶端為使用者生成最新的元資料雜湊樹,藉由這個雜湊樹保證使用者在讀 取元資料時能讀到最新的,然而這個系統就只能保證元資料的最新鮮性質
(freshness)。由於回復性攻擊[9],攻擊者可能拿舊的檔案資料謊充新的檔案資料,
因此並不能保證使用者讀取檔案資料一定可以讀取到最後修改的。SUNDR[20]是 一個網路檔案系統,設計的核心是假設伺服器端是不可信任的,使用者的資料可 會被竄改或是損毀。SUNDR 讓使用者偵測所有伺服器端未經過授權的檔案更動,
SUNDR 的協定當達成循序的寫入以及讀取時一定是最新的資料兩種性質時,稱 為滿足 fork consistency,並且能保證客戶端能偵測檔案的完整性或一致性是否正 確。客戶端必須要在檔案系統上維護一份檔案系統的快照清單,當使用者想要對 檔案系統上的資料做更動,使用者必須要下載最新的檔案系統的快照清單,然後 才開始做運算。這個快照清單可以讓使用者偵測檔案系統是否有異常,檔案系統 若是沒有異常,當運算結束後,使用者必須產生一個最新的檔案系統快照,並且 加入至檔案系統快照清單中,持續維持系統的完整性及一致性。SUNDR 處理違 規檢測的問題,並利用”forking”的語意,在[21][22][23]中被採用。這些解決的方 案保證資料的完整性並利用使用者間額外的通訊頻寬來實現相關的資料一致性 概念。Venus[10]這個檔案系統藉由假設運算都能符合規定的完成,消除使用者間 額外的通訊負擔,最後在檢驗資料是否滿足一致性。做完運算時,當伺服器回覆”
optimistically”,這裡稱為紅色的運算代表這個運算滿足了資料的完整性但不保證 資料的一致性,假使過了一段時間,並驗證這些紅色的運算是正確的,Venus 的 應用程式會將紅色的運算改為綠色的運算,代表運算通過一致性的驗證,透過這 樣的概念我們可以瞭解到 Venus 這個檔案系統在最後會達成檔案的一致性,他保
證所有的綠色運算都滿足一致性。假如某個紅色運算驗證錯誤,那他絕對不會被 標記成綠色的運算,在最後會通知所有系統上的使用者發生錯誤,但使用者必須 經常的跟系統管理核心溝通(系統管理核心由部分常駐的使用者們所組成),且核 心內部成員不可以發生錯誤。總括上述幾個系統,他們都只能偵測是否違反資料 的一致性及完整性,但不能證明以及釐清導致資料發生錯誤的原因,說服第三方 的人員。
在 Microsoft Cloud Proof[11]中,使用者不僅僅能資料的完整性、寫入的循序 性、以及讀取資料時,還能對第三方的人證明當違反這些性質時,責任歸屬在何 方。本文作者 Popa et al.在文中提出一個實作富有安全性的雲端儲存系統架構,伴 隨者簽章以及鏈結雜湊,他們的架構可以滿足不可否認性以及寫入循序性,而讀 取資料的最新性則在定期的稽核資料就可以滿足其性質。然而就像是緒論所提出 的問題,在遇到單一資源需要給多個使用者使用時,每個使用者都必須相互溝通,
拿到所有的證據,對使用者而言會多出很多溝通上的負擔。Feng et al[24]考慮不 可抵賴性協定的公平性問題,他們假設使用者和服務提供者雙方都有可能在收到 對方的證據後,拒絕回覆證據,因此當發生這類問題時,必須仰賴第三方的人員 來協調,然而他們所提出的架構,使用者們也需要交換訊息,增加額外的溝通。