1. 引言
圖靈獎獲得者吉姆·格雷(Jim Gray)在其獲獎演說[1]中指出:由于互聯網的發展,未來每十八個月新產生的數據量將是有史以來數據量之和。人類社會產生的數據信息一方面來自于互聯網,一方面來自于日常生產及各種科學試驗,例如科學計算和仿真、飛行動力學、核爆炸仿真、太空探測及醫療影像數據等每天所產生的數據信息更是大到了驚人的程度[2]。
信息存儲系統朝無限的帶寬、無限的容量和無限的處理能力(Infinite Bandwidth, Infinite Capacity, Infinite Processing Capability),即“3i”方向發展,提出“Anytime, Anywhere, Anything”的目標,即要求數據在任意時間、任意地點實現任意數據訪問。存儲產品不再是附屬于服務器的輔助設備,而成為互聯網中最主要的花費所在。信息技術正從以計算為核心的計算時代進入到以存儲為核心的存儲時代,網絡化存儲將成為未來存儲市場的熱點。甚至有人說:網絡存儲已成為繼計算機浪潮和互聯網浪潮之后的第三次浪潮。而目前的云存儲服務是網絡存儲發展的必然趨勢。
首先介紹云存儲服務的意義與重要性,然后介紹國內外目前在可證明數據持有和恢復技術方面的研究現狀,在第四部分討論了云存儲服務的安全性與可靠性需求,并研究云存儲服務對可證明數據持有及恢復方案的特殊要求,最后進行總結。
2. 云存儲服務
目前對云存儲(Cloud Storage)的定義眾說紛紜,還沒有一個統一的定義,但是云存儲的特點可概括為:
高德納(Gartner)咨詢公司預測到2012年,20%的公司將不再擁有自己的IT資產而轉向云。在日立數據系統公司公布的《2010年十大存儲投資方向》報告[4]中,云存儲位列第二。該公司聲稱:“2010年,人們對云的認識將繼續提升,私有云的構建者和公共云服務提供商也將持續關注彈性、可靠性、多租戶和安全性等問題。我們預計,隨著安全性、多租戶和付費模式等關鍵功能的不斷演進,未來用戶將會越來越多地采用云存儲。”存儲市場具有無限的潛力,而云存儲是信息存儲的一種趨勢,它可為用戶帶來如下好處:
云存儲的主要特色是容量規模大,使用多少,支付多少,上不封頂,下不設限。有了云存儲,永遠也不會出現存儲空間不足的情況。對存儲需求不可預測、需要廉價存儲陣列或低成本長期存檔的用戶來說,按需購買存儲容量的云存儲與一次性購買整套存儲系統相比顯然會帶來更多的方便和效益。并且,云存儲在為用戶節省初始投資的同時也節約了社會資源與能源。
云存儲具有眾多優點,但是因為用戶對云存儲服務的安全性、可靠性及可用性等問題有所懷疑,所以目前還沒有得到人們的廣泛認可與使用。特別地,在微軟弄丟了Sidekick用戶的數據,SwissDisk的文件管理器出現崩潰故障,Amazon S3宕機頻繁,曾經一次持續了8個小時,哪個用戶還敢將數據托付給云存儲服務呢?即便是著名品牌服務商也沒有擔保其云存儲服務的安全性與可靠性。
引用美國前總統羅納德·里根的一句名言,“要我相信你,請你先證明給我看(Trust but verify)”。所以在云存儲中,讓用戶可以驗證服務提供者正確地持有其數據,且如果檢測發生錯誤時可以恢復其數據是一件很有意義的研究工作。
如果用戶都信任云存儲服務提供者,或者是服務提供者確實做到了安全可靠地存儲用戶的數據,那么云存儲將具有無限的潛力,它在為用戶帶來方便和效益的同時,也為社會節約了大量的資源與能源。
3. 可證明數據持有與恢復技術
可證明數據持有和恢復技術是驗證不可信的存儲服務器是否正確地持有(保存)數據,避免存儲服務提供者刪除、篡改數據,并確保存儲數據的可恢復性。目前的研究工作主要集中在可證明數據持有(Provable Data Possession, PDP)方案和可恢復證明(Proof Of Retrievability, POR)方案。PDP和POR方案的主要區別是:PDP方案可檢測到存儲數據是否完整,但無法確保數據可恢復性;POR方案保證了存儲數據的可恢復性。通常,考核數據持有性證明方案優劣的指標有:
(1)計算復雜度,包括用戶預處理文件、服務器生成證據及用戶驗證等開銷;
(2)通信復雜性,指用戶與服務器之間的數據傳輸量;
(3)存儲需求,指用戶與服務器需要的額外的存儲空間;
(4)允許的數據更新,包括數據修改、插入、添加、刪除;如果不支持更新,就只能用于靜態數據,一旦存儲就不再改變,比如歸檔存儲;
(5)允許驗證的次數,是否支持公開驗證;
(6)檢測到錯誤后是否可恢復,比如是否使用糾刪碼/糾錯碼等;
(7)安全性證明,確保方案的安全性;
(8)是否需要訪問數據塊以及需要訪問多少數據塊等。
下面將根據評價指標綜述PDP方案和POR方案及其相關工作在國內外的研究現狀。
3.1 PDP方案
文獻[5]最早提出遠程數據的完整性檢查,使用基于RSA的Hash函數對整個文件計算Hash值。其原理為:令N為RSA模數,F為代表文件的大整數,g∈ZN*,檢查者保存a = gF mod N;在挑戰中,檢查者生成任意元素r并發送gr到服務器,服務器返回s = (gr)F mod N,檢查者計算ar,并驗證等式s = ar mod N是否成立。因為該方法基于公鑰密碼技術,所以方案的計算開銷很大;特別當存儲文件大的時候,該方案的計算開銷更大。文獻[6]的原理與此相同,但其目的是阻止數據傳輸中的欺騙。
約翰·霍普金斯大學(Johns Hopkins University)的Ateniese等人在這方面做了一些研究工作,他們在文獻[7]中第一次正式定義PDP方案,文中提出的兩個PDP方案都是使用同態可驗證標簽(Homomorphic Verifiable Tags),用戶為每個數據塊生成一個Tag,將此Tag連同數據存放在服務器上。驗證時,用戶隨機選擇一些塊向服務器發出挑戰,要求服務器返回持有這些塊的證據。服務器利用請求塊及相應的標簽生成持有證據,因為同態性,多個文件塊的標簽可以聚合成一個值,因此極大地節省了響應帶寬。用戶通過驗證響應信息確認數據擁有,而不需要檢索數據。提出的方案只需要用戶維護常量的元數據信息,服務器的開銷也近似為一個常量,挑戰應答只要1Kbit左右,實驗表明方案的性能受限于磁盤I/O而不是密碼計算。文中作者第一次提出公開驗證的方法。但是該方案在生成證據時使用基于RSA的模指運算,也沒有考慮數據更新問題。并且該方案的多個服務器可以共謀(collusion attacks),所以不適用于多復本協議。
他們在文獻[8]中提出在隨機預言模型(Random Oracle Model)下使用任何具有同態屬性的鑒定協議(Identification Protocol)構造公鑰同態線性認證器(Homomorphic Linear Authenticator,HLA)的通用機制,并表明怎樣將任何公鑰HLA轉化為公開可驗證的存儲證明方案(Proofs of storage, PoS),使通信復雜度與文件長度無關,并且支持無限次驗證。但是該方案也是基于公鑰密碼技術,所以計算開銷比較大。在文獻[9]中,他們提出基于對稱密碼技術構造PDP方案。該方案在初始化的時候,由用戶設定要挑戰的次數和內容,將響應作為元數據存放在用戶端,因此,更新次數和挑戰次數都是有限的。而且只支持append-類型的插入,也不支持公開驗證。同時,他們所在的研究小組第一次提出多復本PDP(multiple-replica PDP, MR-PDP)方案[10],允許用戶通過挑戰應答協議驗證服務器存儲文件t個復本:(1)每個復本是可用的;(2)使用t倍的存儲空間存儲數據的t個復本。MR-PDP擴展了文獻[7]的單拷貝的情況,還可以增加新的復本,而不需要對文件進行預處理。該方案首先將數據加密,然后將加密數據與t個不同的隨機掩碼異或,當數據量大時會帶來較大的計算開銷,而且每個服務器要分別響應挑戰,其開銷也很大。該方案仍然基于RSA,也沒有考慮數據更新問題。
清華大學的舒繼武教授等人提出的數據持有性檢查(data possession checking,DPC)[11]是國內第一篇關于數據持有性證明的論文。方案的基本思想是在一次挑戰中,檢查者指定文件中c個隨機位置的數據塊和一個密鑰k2,服務器根據這些數據塊和密鑰k2由單向Hash函數h(·)計算出一個Hash值,并和一個與之對應的校驗塊一起返回給檢查者,檢查者檢查Hash值和校驗塊是否匹配以確定應答是否有效。為了避免檢查者為每個挑戰記住c個隨機位置和密鑰,每次挑戰的位置由偽隨機置換g(·)根據一個密鑰k1生成,并且第j次挑戰的k1和k2可由第j-1次挑戰的k1和k2得到,這樣檢查者只需為每個文件記住兩個密鑰即可。同時提出一個基于校驗塊循環隊列的挑戰更新機制,通過更新挑戰允許動態增加檢查者可發起的有效挑戰的次數。分析表明檢查者端的存儲開銷和檢查者和服務器間的通信開銷均為常數量級.測試結果表明一次置信度為99.4%的持有性檢查的計算開銷為1.8ms,和磁盤I/O開銷相比可以忽略不計。方案通過避免使用公鑰密碼系統,將文件預處理的計算開銷降低了3個數量級。但是他們沒有提供安全性證明。
布朗大學(Brown University)的Erway等人提出兩種動態數據持有性證明方案(Dynamic PDP, DPDP)[12]實現數據更新。一種使用基于等級的鑒別跳表(Rank-based authenticated skip lists),一種基于RSA樹結構。他們的主要工作是實現動態性,即實現插入操作。整個方案仍然是基于RSA的模指運算。
文獻[13]利用基于RSA的Hash函數的同態性,可以在初始化時間開銷與用戶的存儲開銷間進行權衡,該方案也是基于RSA,用戶和存儲服務器都有模指運算,計算開銷太大。文獻[14]提出利用同態Hash構建同態標簽實現無限次數據持有性驗證,其缺點在于沒有考慮數據的動態性。文獻[15]提出利用代數簽名實現數據持有性驗證,該方案簡單高效,其基本方案只支持有限次數據驗證,作者提出一種挑戰更新方案。文獻[16]提出一種高效的數據持有性證明,作者還提出一種基于RSA的挑戰更新機制,但它們的缺點仍然在于沒有考慮數據的動態性。
3.2 POR方案
RSA實驗室的Juels和EMC公司的Kaliski第一次提出POR的概念[17],并提出基于“哨兵”(sentinel)的POR方案。其基本思想是首先將文件加密并使用糾錯碼編碼,在編碼后的文件中隨機插入和文件數據不可區分的“哨兵”;檢查者在挑戰時要求服務器返回在這些隨機位置的“哨兵”。他們證明只要服務器以大于一定值的概率作出有效應答,則文件是可恢復的。因為每挑戰一次就消耗一個崗哨,并且沒有挑戰更新機制,因此只能進行有限次的挑戰。因為編碼及增加的“哨兵”導致文件的膨脹率達到15%。
加州大學圣地亞哥分校的Shacham和德克薩斯大學奧斯汀分校的Waters在文獻[18]中提出的兩個方案也是使用同態標簽:一個方案基于偽隨機函數,不支持公開驗證;另一個方案基于BLS簽名[19],支持公開驗證。他們使用糾刪碼編碼,但是沒有考慮數據更新問題。
在文獻[20]中,Dodis等人第一次提出POR碼,并對其進行形式化及理論分析工作,給出了幾個將POR碼轉換為POR方案的方法。他們提出在安全性與其它參數(如使用次數、挑戰位置和服務器存儲開銷等)之間進行權衡的方案,但文中沒有特別考慮通信開銷及計算開銷,也沒有考慮數據更新問題。
RSA實驗室的Bowers等人在文獻[23]中提出的HAIL方案在多個存儲服務提供者之間作數據副本或冗余,然后使用POR方案檢測數據是否被破壞。當檢測到某一服務提供者的數據被破壞時,可以利用其它服務器的數據進行恢復。作者提出將MAC碼嵌入奇偶校驗塊中。首先HAIL使用分散碼(dispersal code)將文件塊分散到不同服務器上,因為MAC和奇偶校驗塊都可以基于UHFs (universal hash functions),因此就可能創建一個塊同時是MAC和奇偶校驗塊,基于這個思想,作者構造保護完整性的糾錯碼IP-ECC,結合PRFs, ECCs及UHFs,實現糾錯碼的同時也是一種抵抗破壞的MAC碼。文中對攻擊模型有一個重要的約束條件:在一個給定的時間段,只能控制n個服務器中的b個,這樣的一個時間段叫做epoch,那么過了n/b個epoch,數據可能都被破壞。HAIL方案保護靜態數據的完整性,不能進行數據更新,也不能進行公開驗證。
Curtmola等人集成前向糾錯碼(forward errorcorrecting codes,FEC)到PDP方案中,他們考慮不同的FEC編碼有不同的性能、靈活性、糾錯碼效率和數據輸出格式等.他們認為RS編碼效率太低,所以將原始文件交換位置,從中選擇一部分進行RS編碼,從而提高編碼效率;而且攻擊者不知道冗余碼是從哪些塊計算得到的,可以提高安全性。
3.3其它方案
圣塔克萊拉大學(Santa Clara University)的Schwarz和加州大學圣克魯茲分校(UCSC)的Miller在文獻[24]中提出使用線性糾刪碼將數據編碼,使用代數簽名(algebraic signature)對塊計算指紋。因為代數簽名具同態屬性,而且ECC是線性碼,所以只要在相同的域上計算簽名和奇偶校驗,就可以使用數據的簽名計算得到唯一的奇偶校驗的代數簽名。他們考慮的是P2P的環境下,將數據編碼后分條存放在Internet上的普通機器上,他們沒有給出方案的安全性證明。
HP實驗室的Lillibridge等人在文獻[25]中提出利用Internet的普通機器實現P2P備份系統。每個計算機有一個伙伴集,并且由一個簡單的中心服務器來尋找伙伴。每個計算機周期地向中心服務器更新它的身份及需要的伙伴,中心服務器向它提供侯選伙伴集,該計算機再聯系這些伙伴。為保證機密性,數據發送給伙伴機前使用對稱密碼技術加密,并且使用Reed-Solomon糾錯碼在伙伴機器間進行冗余糾錯。數據擁有者可以向伙伴機器發起挑戰,判斷該伙伴是否完整保存數據,類似于PDP方案,驗證時使用MAC碼,額外的存儲開銷比較大。
HP實驗室的Shah等人在文獻[26]中提出了基于數據委托的方案。基于加密文件的MAC,第三方審計者通過挑戰應答驗證存儲服務提供者持有一個加密的文件。因為挑戰是預計算的,只能進行有限次的驗證,元數據也隨挑戰次數線性增長;并且方案只能用于加密的文件,要求審計者維護長期的狀態信息。在文獻[27]中他們提出了具有隱私保護特性的方案,即不向第三方泄露任何信息。該方案也只能用于加密的文件,也要對整個文件計算MAC以及使用MAC驗證數據持有性,有較大的計算和存儲開銷,且沒有考慮數據更新問題及相關數據恢復技術。
布朗大學(Brown University)的Heitzmann等人在文獻[28]中提出驗證服務器響應的數據與用戶執行的更新是否一致。該方案不同于PDP方案,其目標不在于檢測到數據破壞,而是驗證服務器響應的數據與Client執行的更新一致,因此,響應數據只被用于驗證完整性,并且只在請求文件的時候才執行。方案使用鑒別跳表維護認證信息,支持簡單快速的更新。他們實現了一個在Amazon S3上的原型系統,用戶只需存放一個Hash值,存儲開銷為O(1),服務器的計算開銷是O(log(n))。
Sebe等人在文獻[29]中提出的方案基于Diffie-Hellman問題,要求用戶為每個塊存放N位RSA模位數,因此其存儲開銷隨塊數線性增長,并且協議要求服務器訪問整個文件。
新加坡國立大學(National University of Singapore)的Chang和Xu在文獻[30]中提出Remote Integrity Check (RIC),RIC方案結合文獻[6]中基于RSA的方案和文獻[31]中基于ECC的鑒定器,它不是POR系統,但是所有在RIC下證明安全的方案也可用于POR系統。RIC的目標在于只需要驗證者存放少量的額外信息就可以定期地檢測遠程服務是否保存了一個大文件。但是他們的方案也繼承了文獻[6]和[31]中方案的缺陷,基于公鑰密碼技術,并且要求對整個文件取冪,計算開銷很大。
在文獻[32]中,Yamamoto等人也提出使用基于RSA的同態Hash函數進行數據持有性驗證,同時作者還提出使用批驗證提高效率。
伊利諾理工大學(Illinois Institute of Technology)的Wang和伍斯特理工學院(Worcester Polytechnic Institute)的Lou在文獻[33]中第一次在云計算環境下考慮數據存儲的安全性,他們提出的方案可以定位發生錯誤的服務器,并實現了部分數據更新操作,在接下來的工作[34]中,他們提出結合基于BLS[19]的同態鑒別器和MHT,支持公開驗證和數據更新。在文獻[35]中,他們考慮的是引入一個第三方的審計者,結合隨機掩碼技術實現隱私保護,不向第三方審計者泄露信息。但是他們的數據持有性證明方案都是基于公鑰密碼技術,且沒有考慮相關數據恢復技術。
3.4方案比較
根據方案的評價指標,一些方案的對比見表1,首先PDP方案一般不提供數據恢復技術,另外上述的各種方案或者基于公鑰密碼技術,所以計算開銷很大,或者無數據更新方法,只能用于靜態歸檔存儲,或者挑戰次數有限,不支持公開驗證。評價指標如下:
表1 方案的各項指標比較
如果考慮數據可恢復性時,必然會增加用戶和服務器的計算開銷,那么為了公平,這里的計算開銷只指發起挑戰與響應的計算開銷。而且不同的可恢復方案,其冗余度與糾錯能力也有不同。總之,根據國內外研究現狀可知,現有方案存在如下一些缺陷:
4. 云存儲服務對方案的需求研究
云存儲服務體系結構如圖2所示,它是一種面向服務的體系結構,由用戶與存儲服務提供者組成。用戶將數據存放在服務提供者的服務器上,然后定期或不定期地驗證其數據是否仍然完整無誤。
一般來說,對于云存儲服務提供者,他可能會:
(1) 為了節約成本,丟棄不被訪問或者訪問較少的數據,或者將在線數據遷移到二級磁帶等低速存儲設備上;
(2) 掩蓋由于管理失誤、硬件故障或者受到攻擊而引起的數據丟失事件;
(3) 篡改用戶數據,或者泄漏用戶數據;
(4) 不能達到聲稱的性能、可靠性,比如聲稱存放了t份復本,而事實上只有一份拷貝。
因此,對于用戶來說,云存儲服務安全性和可靠性主要集中在如下幾個方面:
(1) 數據的機密性保障;
(2) 數據的完整性保護;
(3) 數據的可用性與可靠性保障。
數據的機密性可以通過加密實現,完整性通過對數據計算摘要。但是,如何讓用戶確信其數據仍然正確無誤地存放在云存儲服務提供者的存儲設備上,我們稱之為存儲服務的數據持有性驗證,這是一個亟待攻克的研究課題。此外,檢測到數據受到破壞后,必須研究相應的恢復技術對數據進行恢復。因此,根據云存儲服務的特點及其廣泛的應用領域,云存儲服務對可證明數據持有方案有以下幾方面的需求:
(1) 云存儲服務中高效且安全的數據持有性證明與恢復方案的設計。一方面要提高數據持有性證明方案的計算、通信、存儲效率;一方面提高檢測效率,以高概率和精度檢測到錯誤并實現數據恢復。
(2) 支持更廣泛使用環境的云存儲技術研究。一方面可以使用任意聯網的設備,如PDA、手機、無線電話、上網本等驗證數據是否正確存放并且可用,即實現適用于無線網絡環境的方案;因為無線設備的計算與存儲能力非常有限,所以對方案設計的要求較高。一方面要適用于各類數據集,包括適用于海量數據集的方案。
(3) 有效地支持數據更新的云存儲方案研究。數據更新操作主要包括數據修改、插入、添加、刪除,動態數據更新對于存儲服務是一項非常重要的特征,它將決定用戶是否選擇使用該服務。
(4) 提供服務質量保證的云存儲方案研究。一方面提供不同質量的服務;一方面用戶可以利用性能跟蹤工具以及多復本協議等來評價服務提供者的質量,以達到服務器聲稱的性能及質量。比如,聲稱數據帶寬為100KB/s,就可以達到100KB/s,如果聲稱是t份復本,則確實擁有t份復本。
(5) 針對不同類型云存儲方案安全性證明方法的研究。因為云存儲方案的設計大部分是采用了現代密碼技術,所以其安全性證明可分為兩種:基于標準模型與基于隨機預言模型的安全性證明。但是,根據威脅模型及使用環境的不同,比如有些環境下存在一些動態的攻擊者,那么安全性證明還要考慮到威脅的動態性。因此,不同類型的與儲存方案需要有符合相應安全要求的安全性證明方法。
5. 結論
目前,因為安全性與可靠性問題,云存儲服務還不為用戶廣泛接納與采用。國內對云存儲的研究工作還相當的缺乏,一旦云存儲的安全性與可靠性得到保障,它將具有廣泛而巨大的應用前景。本文綜述了可證明數據持有及恢復技術在國內外的研究現狀,根據一系列的評價指標對已有方案進行比較,指出目前方案存在的不足,從而明確應該改進的方向。然后考慮云存儲服務的特殊需求,對可證明數據持有及恢復技術提出了一些新的要求,可以明確在云存儲環境下可證明數據持有及恢復技術的研究方向。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:云存儲服務中可證明數據持有及恢復技術研究
本文網址:http://www.guhuozai8.cn/html/consultation/1083972046.html