肖人毅
(國家自然科學基金委員會,北京 100085)
云計算是繼分布式計算、網格計算、對等計算后出現的一種嶄新的計算模式,其核心思想是資源租用、應用托管和服務外包,希望為其他行業和個人提供便捷、經濟和高可擴展性的 IT服務平臺,幫助企業和個人從繁重的IT基礎建設、管理和維護工作中解放出來,集中精力發展自己的核心業務。
云計算模型代表了信息領域朝專業化、規?;图s化的方向發展,是信息領域內一場新的革命,受到了各國政府和各大 IT企業的高度重視。美國聯邦首席信息委員會在 2010年發布的《公共云計算態勢》中要求所有IT投資必須完成基于云計算的替代方案分析,我國分別在 2010年、2011年頒布的《關于加快培育發展戰略性新型產業的決定》和《國家“十二五”科學與技術發展規劃》中都明確將云計算作為發展重點。Google、微軟、IBM、Amazon等公司都在大力推進和發展云計算。
然而,在云計算中數據擁有者、數據用戶和云服務提供商分別處在不同的安全域,數據的安全問題是制約云計算發展的關鍵因素。2010年,Google解雇了2名入侵客戶Google Voice、Gtalk等賬戶以獲取隱私數據的員工,表明云計算服務提供商存在對數據擁有者敏感數據泄露的風險。2010年6月,Apple公司出現用戶信息泄密事故[1];2011年12月,CSDN網站600多萬用戶的數據庫信息被盜取并公開,這一系列的安全事故加深了人們對云計算安全問題的憂慮。2011年,國際知名非盈利研究機構——ITGI對21個國家10個行業的834名首席執行官進行調查后的調查報告顯示,49.6%的人對云數據的隱私性擔憂,47.2%的人對云安全擔憂。出于對數據安全和隱私方面的考慮,很多公司在控制云計算方面的投資或延緩云的部署[2]。
因此,研究建立數據安全保障機制是云計算首要解決的問題之一。數據查詢服務是云計算中需要提供的最重要的數據服務。在云計算環境下,數據擁有者失去了對數據存儲與訪問的物理控制權和直接控制權,如何建立一套完善的安全機制來保證數據的安全是一個極具挑戰性的難題。其困難之處體現在以下3個方面:第一,為防止信息泄露,數據用戶將數據存儲到云服務器之前需要對數據進行加密,同樣,數據用戶向云服務器提交查詢請求時,也需要對相應的請求條件進行加密,因此要解決云服務器在既不知數據真實值,又不知道查詢條件真實值的情況下,如何進行數據的查詢計算;第二,在各種利益的驅使下,云平臺可能會偽造虛假的查詢結果或者刪除滿足查詢條件的一些數據,因此需要對查詢結果完整性進行認證,以監測出云服務器的這種惡意行為;第三,為有效防止云平臺對數據的非法使用以及其他用戶對數據的非法使用,要解決數據擁有者將數據存儲到云服務器后,依然能實現對數據訪問權限的控制;第四,云服務器上存儲了大量用戶的數據,需要研究一套有效的機制來保證這些數據的物理安全。本文首先分別從云計算中數據的隱私保護、查詢結果的完整性認證,數據訪問權限控制以及數據的物理安全機制4個方面對已有工作進行了分類總結,旨在為后續研究工作提供參考。
為保護用戶數據的隱私,用戶在把數據交給云服務器前需要對數據進行加密,然后將密文數據提交給云服務器進行存儲。隨后當用戶對其數據進行查詢時,用戶也需要將查詢條件加密,否則查詢條件將暴露數據信息。這就需要云服務器能夠在加密的數據上根據加密的查詢條件進行查詢處理。下面分別從基于不經意隨機訪問存儲器(ORAM)的隱私保護、基于對稱加密的隱私保護方法、基于公鑰體制的隱私保護方法以及文檔的排名查詢和模糊查詢等方面來闡述國內外的研究現狀。
加密數據的查詢問題可以采用不經意隨機訪問內存(ORAM, oblivious RAM)來實現。所謂的不經意(oblivious)內存訪問是指對存儲器的訪問不暴露任何查詢信息,即對任意2個不同的輸入所需要的處理時間相同,則處理過程中對內存的訪問序列相同。ORAM最開始研究是為了進行軟件版權保護和防止代碼反向工程[3~6]。在云計算中,不同數據的訪問頻度也泄漏了大量的數據信息,因此研究者基于 ORAM 上來實現可搜索對稱加密問題上進行了大量研究[7~17]。文獻[7]提出了一種基于二叉樹結構的不經意數據存儲方案,在進行數據讀取時,每一次都是讀取一條從根節點到葉子節點路徑上的所有節點數據,利用二叉樹的內部節點可以同時處在不同路徑上的特點,在讀取后重新對處在該路徑上的數據進行重新分布,并且可以將一些數據修改到其他路徑上,使服務器無從知道數據的訪問頻度。文獻[12]將加密數據存儲在 Mainpart和Shelter 2部分,并且在客戶端建立指向Shelter部分的索引結構,在進行數據讀取時,分別讀取索引指向的Shelter對應的層和MainPart來防止服務器了解真實讀取的數據。
基于 ORAM 的可搜索加密能夠達到非常高的安全保障,但這種高安全保障所需要的計算代價很高,例如文獻[7]每一次要讀取數據總量的對數級的數據量,當數據量很大時,這些方案很難具有實際價值。同時客戶端要保存大量的相關數據,例如文獻[7]和文獻[12]上都要保存對數據的索引。在云計算中,數據的量往往很大,相應的數據客戶也非常多,因此目前基于 ORAM 的隱私保護方案還很難在實際中應用。
基于關鍵字的隱私保護查詢第一種方案就是采用可搜索對稱加密技術。Song等[18]首先明確提出了基于對稱加密的可搜索密文技術(SSE, searchable symmetric encryption),并給出了一種無交互密文搜索方案。具體來說,Song等的方案是為每一個關鍵詞設計一個2層加密結構,當進行查詢時,服務器通過用戶提供加密的查詢條件解開關鍵詞的第一層加密來核對內層密文是否具有正確的形式來判斷對應文檔是否滿足查詢條件。該方案存的缺陷是容易遭受統計攻擊,同時查詢的時間復雜度是線性級。隨后, Goh給出了2種索引的安全模型[19],即抵抗選擇明文攻擊的語義安全 IND-CKA和IND2-CKA。IND-CKA和IND2-CKA模型保證文檔內容不會被建立在其上的索引以及其他文檔的索引泄漏,并提出了一種滿足IND-CKA安全的安全索引Z-Index。Z-Index采用布魯姆過濾器和偽隨機函數為每一個文檔建立了一個索引,通過為每一個布魯姆過濾器分配一個不同的 ID以及對一些位隨機置“1”使這些索引不可區分。Goh的方案同樣需要的查詢時間復雜度與文檔的數量呈線性級;同時,由于布魯姆過濾器的假陽性問題使查詢結果不可避免地含有假陽性數據,特別是當不同文檔中出現的關鍵詞的數量出現差異較大時,對布魯姆過濾器的一些位隨機置“1”來隱藏關鍵詞數量將使查詢結果中的假陽性比例進一步增大。
Curtmola等[20]指出 IND2-CKA不能夠保證用戶查詢條件的隱私,他們構建了一個滿足IND2-CKA安全的索引,并證明了通過該索引不能構建一個安全的可搜索的對稱加密方案。在此基礎上提出了2種攻擊模型:非自適應的攻擊模型和自適應的攻擊模型。對于非自適應的攻擊模型,攻擊者構建查詢條件時不考慮已有的查詢歷史,即已有的查詢條件以及對應該查詢條件的查詢結果。自適應攻擊模型中,攻擊者的查詢條件是根據已有的查詢歷史來進行構建,并指出在此之前的所有可搜索對稱加密方案考慮的是在非自適應攻擊模型下的安全,并將此前的 IND-CKA和 IND2-CKA稱為CKA1,稱在自適應攻擊模型下滿足抵抗選擇性明文攻擊的安全為CKA2。只有當查詢條件獨立于密文、加密的索引以及查詢歷史的情況下,滿足CKA1安全模型的方案才真正安全[21]。文獻[20]提出了一個滿足CKA2安全的安全方案,該方案將不同文件中出現的同一個關鍵詞采用不同的方式來表示,例如3個文檔D5、D8、D9同時包含關鍵詞“coin”,則分別采用“coin1”、“coin2”和“coin3”來表示。正如該文自身指出的一樣,該方案雖然能滿足CKA2安全,但同時增大了查詢代價和存儲代價。此后,研究者提出了多個滿足CKA2安全的可搜索對稱加密方案[22~24],其中,文獻[23]提出了一種更強的安全方案,該方案可以在惡意攻擊模型下保證用戶查詢結果的正確性。
數據更新是一項基本的操作,如何在可搜索對稱加密方案上實現數據更新一直是一個難點。Kamara等在文獻[21]中提出了動態可搜索對稱加密的概念(dynamic searchable symmetric encryption),指出一個實際可行的可搜索對稱加密方案必須滿足如下 3個條件:1)查詢時間復雜度應該是亞線性;2)能抵抗適應性選擇明文攻擊;3)緊湊的索引結構并且支持高效的數據更新操作。并對其在文獻[20]中提出的SSE-1方案進行改進來滿足上述3個條件。SSE-1方案只滿足抵抗非自適應性選擇明文攻擊,并且不支持數據的更新操作。Kamara通過采用非提交式加密方案實現SSE-1滿足抵抗適應性選擇明文攻擊;為了實現動態性,他們通過增加一個額外的刪除數組來幫助服務器找到指向被刪除文件的指針;采用同態加密方案對存儲在節點上的指向數據文件的指針進行加密,使服務器在不進行解密的情況下對指針內容進行修改;采用包含可利用空間表在內的額外結構來維護可用存儲空間實現新節點的加入。但是該方案過于復雜,很難實現[25],同時在更新數據的過程中泄漏了過多信息。
2013年,Kamara等進一步提出了一個基于紅黑樹結構的并行動態對稱可搜索加密方案[25]。在他們的方案中,紅黑樹的每一個節點的數據域是2個長度完全相等的散列表,每一個關鍵詞對應到2個散列表的同一個位置中的一個。通過這中構造來實現抵抗自適應選擇明文攻擊這種安全強度。通過二叉樹結構的可并行性來實現查詢過程的并行。該方案需要為關鍵字集合中所有關鍵詞在散列表中分配一個位置,因此只適用于關鍵字數目較少的情況。
與基于對稱加密的可搜索方案對應的就是基于公鑰體制的加密可搜索方案。
Boneh等于2004年提出了一種基于雙線性對的抵抗自適應選擇明文攻擊的可搜索的公鑰加密(PEKS, public-key encryption with keyword search)方案[26]。該方案存在2個缺陷:由于采用公開的公鑰對關鍵字進行加密,攻擊者可以對關鍵字進行猜測并采用公布的公鑰來驗證其猜測的正確性;查詢的時間復雜度與文檔數量呈線性級。在此基礎上,Abdalla等進一步完善了PEKS的基礎理論[27]。目前,科研人員基于PEKS提出了多種檢索方法,文獻[28]提出了支持范圍檢索和子集檢索的 PEKS方案,文獻[29]提出了支持時間范圍的檢索方案,文獻[30]提出了相似性檢索方案,文獻[31,32]提出了支持關鍵詞合取的檢索方案。然而,基于公鑰體制的檢索方法計算復雜度高,在實際應用中難以應用。
安全排名查詢是指系統按照一定的相關度準則(例如關鍵字出現的頻率)將查詢結果返回給用戶。安全排名查詢提高了系統的適用性,符合云計算環境下的隱私數據保護的實際需求。
可搜索密碼方案使用戶能夠安全地通過關鍵字搜索加密后的數據。考慮到“半可信”(semi-honest but curious)情形下,一方面,云服務器可能會主動分析存儲在其本地的文件數據,窺探用戶隱私,破壞數據安全性;另一方面,出于節省經濟成本或帶寬的目的,自私的云服務器可能只執行部分查詢操作或只返回部分正確的查詢結果。因此,Chai等[33]提出了一種可驗證查詢結果的對稱加密搜索算法。算法采用隱私保護特里樹(privacy-preserving trie)對數據集合進行組織,利用對稱密鑰對所有文件數據進行獨立加密確保其安全性。然而,可搜索密碼方案只支持布爾查詢,無法捕獲數據的相關度信息。用戶需要對查詢結果中所有文件進行解密處理,并從中尋找出最佳匹配的結果,從而造成了用戶需要處理大量數據文件的負擔。另一方面,取回每個包含關鍵字的返回數據文件,勢必會消耗許多不必要的網絡流量,這是不適合當前“Pay-as-You-Use”的云架構。因此,可搜索密碼方案在云計算環境下的查詢效率并不是最佳的。
Wang等[34]利用關鍵字頻率和反文檔頻率的評分規則(TF-IDF rules)[35]對數據文檔和關鍵字之間的相關度進行衡量,已現有可搜索密碼方案[20]為基礎上提出了一種RSSE(ranked searchable symmetric encryption)算法,從而實現了對云計算環境下加密數據的安全排名查詢。然而,RSSE算法存在以下不足:1)繼承可搜索加密算法的同時也引入了算法的固有缺陷,即在客戶端會產生較大的計算功耗和后處理功耗;2)文件的相關度分數(relevance score)可能會被估算出來。因此,Wang等進一步在該文中提出了一種基于保序對稱加密算法[36]的 OPSE算法,利用一對多的保序映射實現對數據文件的隱私性保護,同時通過對映射范圍的優化提高了查詢效率。
隨后,Cao等[37]將安全排名查詢從一維關鍵字推廣到了多維關鍵字,基于“協調匹配”原理[38]提出一種MRSE(multi-keyword ranked search)算法,通過在查詢條件中增加虛假關鍵字保護了用戶的搜索行為模式和文件訪問模式,同時結合內積相似度(inner product similarity)計算文件與多維關鍵字之間的相關度。然而 MRSE算法存在如下問題[39]:1) MRSE采用靜態的關鍵字詞典,一旦關鍵字數量增加就需要重新構建詞典;2) MRSE的令牌生成算法會導致查詢結果順序混亂的問題,查詢結果可能遺漏包含較多匹配關鍵字的文件;3) MRSE沒有考慮關鍵字訪問頻率,降低了系統的實用性。針對上述詞典重構、查詢結果亂序等問題,Xu等[39]通過引入分塊矩陣構建關鍵字詞典,使關鍵字詞典的內容實現動態更新,同時向關鍵字詞典引入隨機因子,減少正態分布下的冗余關鍵字對查詢結果正確性的影響。為了進一步實現精確查詢,算法在相關度分數計算過程中引入了關鍵字頻率,避免遺漏正確的查詢結果。然而,該算法與MRSE算法均采用了矩陣保護文件隱私性,矩陣的乘法運算開銷會對高維數據情形下的查詢效率造成一定的影響[40]。
安全模糊查詢是指系統根據查詢條件和數據文檔之間的相似程度將查詢結果返回給用戶。安全模糊查詢能夠容忍查詢條件在文字或者格式上的細微錯誤,提高了系統的用戶體驗性,符合云計算環境下的隱私數據保護的實際需求??伤阉髅艽a方案只支持精確查詢,不能容忍少量的文字或格式錯誤,而這些少量錯誤往往在用戶安全查詢過程中不可避免。因此,可搜索密碼方案并不適合云計算環境下的安全模糊查詢。
Li等[41]利用編輯距離(edit distance)[42]量化了關鍵字之間的相似度,并在通配符技術(wildcard)的基礎上建立了模糊關鍵字集合,由此提出了一種安全模糊查詢方案,實現了模糊語義下的安全查詢,這是云計算環境下首次提出的安全模糊查詢方案。文獻[43]將各個關鍵字的通配符集合轉換成反向索引表,通過特里樹對索引進行結構化組織,提高了查詢效率,同時通過采用虛假關鍵字提高了查詢機制的安全性。然而上述工作存在以下不足:1)算法需要將各個關鍵字作為索引樹的葉子節點,導致存儲空間開銷很大;2) 不支持高效的增量式更新;3) 由于采用枚舉方式構造模糊關鍵字集合,算法復雜度較高,當關鍵字長度為l,編輯距離為d時,集合元素有
與關鍵字查詢相比,數值型數據的查詢更復雜,因為對數值型數據進行查詢不僅僅是進行等值查詢,大多數情況還需要進行數據的大小比較。如何在保護隱私情況下進行數據大小的比較是一個極大的挑戰。數值型數據的隱私查詢技術同樣可以分為基于對稱密鑰的方案和基于非對稱密鑰的方案。傳統基于對稱密鑰的數值隱私查詢解決方案又可以進一步分為3種:基于桶劃分的方案[44,45]、基于保序散列的方案[46]和基于保序加密的方案[47]。基于桶劃分方案的基本思想是用戶首先把數據按大小排序并劃分成若干桶,然后將每個桶內的數據逐一加密,最后把桶編號并和數據一起交給云服務器;之后用戶對其數據查詢時,用戶首先根據查詢條件找出相關桶的編號并將編號交給云服務器作為查詢條件。這種基于桶劃分的隱私保護方案存在3個主要缺陷:1) 攻擊者比較容易估計出數據的分布情況,這將部分暴露敏感信息;2)當數據集中在少數幾個桶中時,假陽性數據顯著增加,浪費了傳輸帶寬;3) 在多維情況時,存儲空間將隨數據維數增長呈指數級上升?;诒P蛏⒘蟹桨负突诒P蚣用芊桨傅幕舅枷腩愃?,都是對數據進行特定的散列或者加密運算,其特點是運算后數據之間的大小關系保持不變。目前的保序加密和保序散列方法存在以下3個缺陷:1) 數據擁有者需要與數據使用者共享大量信息,造成胖客戶端問題;2) 當攻擊者已知數據域范圍以及數據分布時,容易對數據真實值進行估計;3) 保序方法部分暴露了數據用戶的興趣信息。這2種方案的一個共同弱點是安全性不高,不能抵抗選擇明文攻擊。
在國內,研究人員對云計算下的隱私保護計算也進行了一系列的研究,并取得了一定的成績。黃汝維等[48]設計了一個基于矩陣和向量運算的可計算加密方案,該方案通過運用向量和矩陣的各種運算實現對數據的加密,并支持對加密字符串的模糊檢索和對加密數值型數據的加、減、乘、除4種算術運算。張逢喆等[49]從系統的角度設計了一個數據隱私保護與自我銷毀的安全系統Dissolver。該系統采用可信技術作為硬件上的可信計算基礎,借助虛擬機監控器作為軟件上的可信計算基礎。通過虛擬監控機來監控、保護數據的隱私性以及負責對數據的銷毀處理。黃勤龍等[50]提出了一種云環境中支持隱私保護的數字版權保護方案。該方案采用基于屬性基加密算法和同態加密算法保護內容加密秘鑰的安全性。該協議允許用戶匿名向云服務器訂購內容和申請授權,在保護用戶隱私的前提下防止云服務器收集用戶使用習慣等敏感信息。朱旭東等[51]針對云計算環境下加密圖像檢索問題,提出了一種基于安全相似度運算的隱私保護檢索方案。Li等[52]針對目前云計算環境中隱私保護的范圍查詢協議存在的問題,提出了一個滿足IND-CKA安全模型的快速范圍查詢協議。這些研究工作對云計算下的隱私保護研究具有積極的意義。
由于腐敗雇員等問題,云平臺可能并不可信,當用戶向云服務器提交數據查詢時,云服務器在返回給用戶的查詢結果中有可能包括虛假偽造的數據或者刪除部分滿足查詢條件的數據。因此在云計算環境下查詢結果的完整性認證非常重要,可以及時發現云的惡意行為。查詢結果的完整性認證與傳統意義上數據的完整性和所有權認證有一定的聯系,但存在較大區別。傳統意義上的數據完整性和所有權認證通常采用基于散列函數的消息認證碼和數字簽名來實現。例如,數據擁有者為了讓數據使用者驗證數據D的完整性和所有權,數據擁有者分別采用散列函數和簽名函數計算數據的散列結果H=Hash(D)和簽名結果S=Signpk(D),其中簽名采用數據擁有者的私鑰進行。數據用戶收到密文數據后進行解密得到明文,通過計算明文的散列結果與收到的散列結果H進行比對來確定數據的完整性,通過數據擁有者的公鑰來驗證簽名S的真實性確定數據是否被偽造。但在云計算環境下,用戶的查詢結果只是整個數據文檔中的一部分,而且查詢結果隨查詢條件的改變而改變,數據用戶很難實現計算某一個散列值,同樣,也不能為所有的數據組合來計算簽名值。
2007年,Ateniese等在ACM CCS會議上從云計算的角度提出了數據擁有的可證明性問題(PDP,provable data possession),即如何在不可信的服務器上存儲文件,并且服務器能夠向用戶證明數據是完整的。在此基礎上,Shacham等[53]在 2008年提出了一種基于橢圓曲線雙線性對的緊湊查詢結果證明(CPOR, compact proof of retrievability),該方案能支持所有用戶的私有驗證與授權用戶的公開驗證,但該方案建立在獨立算法的基礎上,缺乏統一的安全框架。2009年,Dodis等[54]研究了困難更大的 POR方案。但所有這些方案都針對靜態數據且基于公鑰體制,因此都存在認證開銷大的問題。
為解決動態數據操作下的數據驗證問題,Ateniese等[55]提出了一種可擴展的數據擁有證明方案,該方案建立在密碼學的Merkele散列樹和對稱密鑰加密的基礎上。但該方案缺乏隨機性,攻擊者可以通過竊聽獲得的信息欺騙數據用戶;該方案另外一個缺陷是數據的修改次數是預先設定,存在容易失效的問題。2009年,Erway等[56]為了支持動態數據修改,提出了一種動態數據擁有證明方案(DPDP, dynamic provable data possession)。這些方案依然建立在散列樹的基礎上。對于具有n個數據塊的數據文件,其基本方案在完整性認證方面需要O(logn)的通信與計算復雜度,在其改進的方案中存在信息泄露的問題。2009年,Wang等[57]采用CPOR和 Merkle散列樹相結合的辦法提出了一種動態方案,該方案中散列樹的變化依然非常復雜,與此相關的工作還有文獻[58~60]。這些工作都不適合對多維數據的完整性認證問題。
在數據庫方面,Narasimha等[61]提出基于聚集簽名與鄰居鏈的關系數據庫的查詢認證方案。Chen等[62]提出了一種規則區間樹(CRT, canonical range trees)用于存儲多維數據的統計信息,在不缺失界信息的情況下可利用統計信息對查詢結果的完整性進行驗證。但簽名技術和數據鏈技術需要額外的驗證對象,空間數據結構建立復雜并且不支持隱私保護下的查詢。
在國內,咸鶴群等[63]提出了一種帶掩碼驗證樹的完整性認證方案。劉媛等[64]提出了一種基于RSA數據完整性機制來確保數據的完整性。李睿等[65]提出了一種水印鏈技術對查詢結果進行驗證。其思路是將數據組成呈線性結構,對每一個數據計算其散列值并將該散列值采用水印的方式嵌入到其前驅數據中,形成一條水印鏈。通過驗證查詢結果中水印鏈的完整性來驗證查詢結果的完整性。周恩光等[66]研究了在本地無副本的情況下對遠程數據進行完整性認證問題,并利用基于等級的認證跳表提出了一種支持完全數據更新和公開審計的數據完整性認證方案。
數據的訪問控制是指數據擁有者管理數據用戶訪問數據的權限,包括對用戶進行數據訪問權限的授權以及對訪問權限的回收。訪問控制技術是保護數據不被非法使用的基礎。在云計算環境中,數據擁有者和數據存儲服務提供商不在同一個安全域內。一方面,為了保護數據的隱私性,云服務器不會被授權對數據內容的訪問;另外一方面,數據存儲到云服務器上后,數據擁有者已經無法從物理上對數據進行控制。因此采用傳統的訪問控制技術,即便數據擁有者制定了非常完善的訪問控制策略,這些策略都可能不被執行。如何將數據存儲到不可信的云服務器中還能對數據訪問進行控制是一個極大的挑戰。
目前,研究者主要從密碼學角度出發來設計實現對數據的訪問權限進行控制,即通過控制對數據加密密鑰的分配來實現數據訪問權限的控制。采用密鑰的方式進行數據訪問權限控制需要考慮的 2個最基本問題:在實現數據訪問權限的前提下如何降低密鑰管理以及數據加密所需要的代價。
2001年,Boneh等[67]和Cocks[68]分別基于雙線性對和二次剩余假設提出了不同的身份加密方案,這些方案為后續構造靈活實用的屬性和身份加密方案奠定了基礎。
2005年,文獻[69]給出了第一個屬性加密(ABE,attribute based encryption)方案,其基本思想是將數據與一系列的屬性相關,并且用戶也具有一定量的屬性,屬性系統根據用戶的屬性為其頒發密鑰。數據擁有者在對數據進行加密時,設置解密者需要滿足的屬性條件;數據用戶只有在滿足所設置的屬性條件才能對數據進行解密。此后出現了大量的ABE方案,根據訪問控制策略通過密文或者密鑰來實現的不同,可以分為基于密鑰的屬性加密(key policy ABE)方案[70,71]和基于密文的屬性加密(cipher text policy ABE)方案[72~74]。在 KP-ABE 中,屬性用于標記密文,屬性的策略表達采用用戶的私鑰形式進行表達。在CP-ABE中,密鑰與用戶的屬性相關,屬性的策略在密文中表達。2007年,Bethencour等[72]采用密鑰共享的方式提出了一種支持邏輯“與”、“或”運算的基于密文的CP-ABE方案,該方案可以產生多種訪問控制策略。
2010年,文獻[75,76]分別提出了與廣泛使用的腳色訪問模型(RBAC, role based access control)一致的密碼系統模型。Shahandashi提出了基于門限的屬性簽名方案(t-ABS),同年,Khader提出了基于屬性的群簽名方案[74]。
文獻[77]觀察到在實際應用中每一個文件都可以賦予一組與該文件內容相關的屬性,將每一個用戶的訪問權限采用定義在這些屬性之上的一個邏輯表達式來表達。通過邏輯表達式的強表達能力來實現用戶細粒度數據訪問權限的控制。該方案采用基于雙線性對的公鑰密碼體制,為每一個屬性分配一個公鑰分量,數據文件采用與其相關的屬性的公鑰分量進行加密。分配給用戶的密鑰直接反應該用戶的訪問結構,一個文件的屬性如果滿足該用戶的訪問結構,則該用戶的密鑰能對該文件進行解密。該方案的加密復雜性只與數據文件的屬性相關,與用戶數目沒有關系,因此適合用戶數量大的應用場合。
在國內,洪澄等[78]提出了一種稱之為 ABACCS的訪問控制方法,其核心思想是采用基于密文屬性的加密算法為用戶私鑰設置屬性,為數據密文設置屬性條件,通過匹配用戶私鑰屬性和密文數據屬性來確定用戶解密能力,從而達到對用戶權限的控制。
數據擁有者將數據存儲在云服務器上,如何保證這些數據不被丟失是云端需要解決的問題。數據備份是一種常用的方法,Chen等[79]提出了采用隨機可擴展碼技術對大規模云存儲系統中的數據進行備份,對一個含有n個硬盤的陣列使用t個硬盤進行冗余備份,系統能夠容忍t/2硬盤的數據失效。Sun等[80]首先對云環境中動態數據備份策略進行建模,分析出副本數和系統可靠性的關系,在此基礎上設計出了一種動態備份算法,以提高系統數據可用性、容錯能力,并能夠優化系統帶寬開銷。Bonvin等[81]針對云環境數據失效問題,提出一種可靠、高效的自管理密鑰存儲管理機制,動態地為多個應用分配資源,并對每個數據分區進行單獨優化,根據最大化分區、存儲和維護開銷的凈收益來選擇是否進行數據遷移、備份和移除。Chen等[82]提出了一種稱為ECT(ensure codes token)的容錯機制保證云存儲數據的正確性和錯誤的快速定位、恢復。數據用戶事先計算一系列校驗標記,每個標記對應一組隨機的數據塊,用戶通過檢查云服務器上隨機生成字符串的塊索引是否與校驗標記是否一致來檢查數據存儲是否發生異常。Bicer等[83]設計開發了一個應用程序接口,為云平臺下數據的計算提供可靠性保障,該接口可由編程人員顯式定義歸約對象,系統周期性地將每個節點上的這些對象緩存在其他地方,并用其支持失效還原。當一個節點失效后,不在該節點處理的數據可以分發給其他節點,從該失效節點拷走的歸約對象可以和其他節點上的歸約對象合并處理以獲得最終結果,其實驗結果證明當失效發生時,能夠快速地進行恢復。
目前,國內針對云計算中數據物理安全方面鮮有研究。
數據安全是安全云計算的核心,本文從數據的隱私保護、計算結果的完整性認證、數據訪問權限控制以及數據的物理安全等4個方面對已有工作進行了總結,希望對后續云計算中的數據安全研究提供幫助。
[1] TechCrunch. iPad breach update: more personal data was potentially at risk[EB/OL]. http://techcrunch.com/2010/06/15/iPad-breach-personaldata/,2010.
[2] ITGI. Global status report on the gorvance of enterprise IT (GETIT)-2011[EB/OL].http://www.isaca.org/ITGI-Global-Survey-Results, 2011.
[3] GOLDREICH O. Towards a theory of software protection and simulation by oblivious RAMs[A]. STOC[C]. 1987.
[4] OSTROVSKY R, SHOUP V. Private information storage (extended abstract)[A]. STOC[C]. 1997.294-303.
[5] GOLDREICH O, OSTROVSKY R. Software protection and simulation on oblivious RAMs[J]. J ACM, 1996, 43(3): 431-473.
[6] OSTROVSKY R. Efficient computation on oblivious RAMs[A]. ACM Symposium on Theory of Computing(STOC)[C]. 1990.
[7] STEFANOV E, DIJK M, SHI E,et al. Path oram: an extremely simple oblivious ram protocol[A]. CCS[C]. 2013.
[8] GOODRICH M T, MITZENMACHER M, OHRIMENKO O,et al.Privacy-preserving group data access via stateless oblivious RAM simulation[A]. SODA[C]. 2012.
[9] KUSHILEVITZ E, LU S, OSTROVSKY R. On the (in)security of hash-based oblivious RAM and a new balancing scheme[A]. SODA[C]. 2012.
[10] WILLIAMS P, SION R. Round-optimal access privacy on outsourced storage[A]. CCS[C]. 2012.
[11] SHI E, CHAN T H H, STEFANOV E,et al. Oblivious RAM with O((logN)3) worst-case cost[A]. ASIACRYPT[C]. 2011.197-214.
[12] BONEH D, MAZIERES D, POPA R A. Remote oblivious storage:making oblivious RAM practical manuscript[EB/OL]. http://dspace.mit.edu/bitstream/handle/1721.1/62006/MIT-CSAIL-TR-2011-018.pdf,2011.
[13] DAMGARD I, MELDGAARD S, NIELSEN J B. Perfectly secure oblivious RAM without random oracles[A]. TCC[C]. 2011.
[14] GOODRICH M T, MITZENMACHER M. Privacy-preserving access of outsourced data via oblivious RAM simulation[A]. ICALP[C].2011.
[15] GOODRICH M T, MITZENMACHER M, OHRIMENKO O,et al.Oblivious RAM simulation with efficient worst-case access overhead[A]. ACM Cloud Computing Security Workshop (CCSW)[C].2011.
[16] PINKAS B, REINMAN T. Oblivious RAM revisited[A]. CRYPTO[C].2010.
[17] WILLIAMS P, SION R, CARBUNAR B. Building castles out of mud:practical access pattern privacy and correctness on untrusted storage[A]. CCS[C]. 2008.
[18] SONG D, WAGNER D, PERRIG A. Practical techniques for searching on encrypted data[A]. Proc Symposium on Research in Security and Privacy (S&P)[C]. 2000.44-55.
[19] GOH E J. Technical report 2003/216, IACR ePrint Cryptography Archive[EB/OL]. http://eprint.iacr.org/2003/216.
[20] CURTMOLA R, GARAY J, KAMARA S,et al. Searchable symmetric encryption: improved definition and effcient constructions[A]. Proc ACM Conference on Computer and Communications Security(CCS)[C]. 2006. 79-88.
[21] KAMARA S, PAPAMANTHOU C, ROEDER T. Dynamic searchable symmetric encryption[A]. ACM CCSI[C]. 2012. 965-976.
[22] CHASE M, KAMARA S. Structured encryption and controlled disclosure[A]. Proc Int Conference on the Theory and Application of Cryptology and Information Security (ASIACRYPT)[C]. 2010.577-594.
[23] KUROSAWA K, OHTAKI Y. UC-secure searchable symmetric encryption[A]. Proc Financial Cryptography and Data Security (FC)[C].2012.
[24] LIESDONK P, SEDGHI S, DOUMEN J,et al. Computationally efficient searchable symmetric encryption[A]. Proc Workshop on Secure Data Management (SDM)[C]. 2010. 87-100.
[25] KAMARA S, PAPAMANTHOU C. Parallel and dynamic searchable symmetric encryption[A]. Financial Cryptography and Data Security(FC'13)[C]. 2013.
[26] BONEH D, CRESCENZO G, OSTROVSKY R,et al. Public key encryption with keyword search[A]. Proceedings of Eurocrypt 2004,LNCS 3027[C]. 2004.506-522.
[27] ABDALLA M, BELLARE M, CATALANO D,et al. Searchable encryption revisited: consistency properties, relation to anonymous IBE, and extensions[J]. J Cryptology, 2008, 21(3): 350-391.
[28] BONEH D, WATERS B. Conjunctive, subset, and range queries on encrypted data[A]. The Theory of Cryptography Conference (TCC)[C].2006.535-554.
[29] DAVIS D, MONROSE Fn, MICHAEL K. Reiter: Time-scoped searching of encrypted audit logs[A]. ICICS 2004[C]. 2004. 532-545.
[30] CHEUNG D W, MAMOULIS N, WONG W K,et al. Anonymous fuzzy identity-based encryption for similarity search[A]. ISAAC[C].2010.61-72.
[31] PARK D J, KIM K, LEE P J. Public key encryption with conjunctive field keyword search[A]. WISA 2004[C]. Springer, Heidelbeg,2004.73-86.
[32] GOLLE P, STADDON J, WATERS B. Secure conjunctive keyword search over encrypted data[A]. ACNS 04: 2nd International Conference on Applied Cryptography and Network Security[C]. 2004.31-45.
[33] WANG J, CHEN X, MA H,et al. A verifiable fuzzy keyword search over encrypted data[J]. Journal of Internet Services and Information Security, 2012:49-58.
[34] WANG C, CAO N, REN K,et al. Enabling secure and efficient ranked keyword search over outsourced cloud data[J]. IEEE Transactions on Parallel and Distributed Systems, 2012, 23(8): 1467-1479.
[35] ZOBEL J, MOFFAT A. Exploring the similarity space[J]. SIGIR Forum, 1998, 32(1):18-34.
[36] BOLDYREVA A, CHENETTE N, LEE Y,et al. Order-preserving symmetric encryption[A]. Proc of Eurocrypt[C]. 2009.
[37] CAO N, WANG C, LI M,et al. Privacy-preserving multi-keyword ranked search over encrypted cloud data[A]. Proc of INFOCOM[C].2011. 829-837.
[38] WITTEN I H, MOFFAT A, BELL T C. Managing Gigabytes: Compressing and Indexing Documents and Images[M]. Morgan Kaufmann Publishing, San Francisco, 1999.
[39] XU Z, KANG W, LI R,et al. Efficient multi-keyword ranked query on encrypted data in the cloud[A]. Proc of ICPADS[C]. 2012.
[40] SAVA? E, ?RENCIK C. Efficient and secure ranked multi-keyword search on encrypted cloud data[A]. Proc of Joint EDBT/ICDT Workshops[C]. 2012.186-195.
[41] LI J, WANG Q, WANG C,et al. Fuzzy keyword search over encrypted data in cloud computing[A]. Proc of IEEE INFOCOM[C]. 2010.441-445.
[42] LI J, WANG Q, WANG C,et al. Fuzzy keyword search over encrypted data in cloud computing[A]. Proc of IEEE INFOCOM[C]. 2010.441-445.
[43] WANG C, REN K, YU S,et al. Achieving usable and privacy- assuredsimilarity search over outsourced cloud data[A]. Proc of INFOCOM[C]. 2012.
[44] AGRAWAL R, KIERNAN J, SRIKANT R,et al. Order preserving encryption for numeric data[A]. Proc SIGMOD[C]. 2004.563-574.
[45] BONEH D, CRESCENZO G D, OSTROVSKY R,et al. Public key encryption with keyword search[A]. Proceedings of Eurocrypt 2004[C]. 2004. 506-522.
[46] MICHEL A, MIHIR B, DARIO C,et al. Searchable encryption revisited: consistency properties, relation to anonymous IBE, and extensions[J]. Cryptology,2008, 21(3):350-391.
[47] DAN B, BRENT W. Conjunctive, subset, and range queries on encrypted data[A]. The Theory of Cryptography Conference (TCC)[C].2006.535-554
[48] 黃汝維,桂小林,余思等. 云計算環境中支持隱私保護的可計算加密方法[J]. 計算機學報, 2011, 34(12): 2391-2402.HUANG R W, GUI X L, YU S,et al. Privacy-preserving computable encryption scheme of cloud computing[J]. Chinese Journal of Computers, 2011, 34(12): 2391-2402.
[49] 張逢喆, 陳進, 陳海波等. 云計算中的數據隱私性保護與自我銷毀[J]. 計算機研究與發展, 2011, 48(7):1155-1167.ZHANG F Z, CHEN J, CHEN H B,et al. Life time privacy and self-destruction of data in the cloud[J]. Journal of Computer Research and Development, 2011, 48(7):1155-1167.
[50] 黃勤龍, 馬兆豐, 傅鏡藝等. 云計算環境中支持隱私保護的數字版權保護方案[J]. 通信學報, 2014, 35(2):95-103.HUANG Q L, MA Z F, FU J Y,et al. Privacy-preserving digital rights management scheme in cloud computing[J]. Journal on Communications, 2014, 35(2):95-103.
[51] 朱旭東, 李暉, 郭禎. 云計算環境下加密圖像檢索[J]. 西安電子科技大學學報(自然科學版), 2014, 41(2): 151-158.ZHU X D, LI H, GOU Z. Privacy-preserving query over the encrypted image in cloud computing[J]. Journal of Xidian University, 2014,41(2): 151-158.
[52] LI R, LIU A X, WANG L Y,et al. Fast range query processing with strong privacy protection for cloud computing[A]. The 40th International Conference on Very Large Data Bases[C]. 2014.1953-1964.
[53] SHACHAM H, WATERS B. Compact proofs of retrievability[A].Proceedings of Asia Crypt[C]. Melbourne, Australia, 2008.90-107.
[54] DODIS Y, SALIL P, VADHAN D. Wichs: proofs of retrievability via hardness amplification[A]. IACR Cryptology ePrint Archive[C]. 2009.41.
[55] ATENIESE G, PIETRO R D, LUIGI V,et al. Scalable and efficient provable data possession[A]. IACR Cryptology ePrint Archive[C].2008.114.
[56] ERWAY C, KUPCU A, PAPAMANTHOU C,et al. Dynamic provable data possession[A]. Proceedings of the 16th ACM conference on Computer and communications security[C].2009. 213-222.
[57] WANG Q, WANG C, LI J,et al. Enabling public verifiability and data dynamics for storage security in cloud computing[A]. ESORICS 2009[C]. Saint Malo, France, 2009.21-25.
[58] BOWERS K D, JUELS A, OPREA A. HAIL: a high-availability and integrity layer for cloud storage[A]. Proceedings of the 16th ACM Conference on Computer and Communications Security[C]. 2009.187-198.
[59] CURTMOLA R, KHAN O, BURNS R,et al. MR-PDP: multiple-replica provable data possession[A]. Proceeding ICDCS '08 Proceedings of the 2008 The 28th International Conference on Distributed Computing Systems[C]. 2008. 411-420.
[60] ATENIESE G, KAMARA S, KATZ J. Proofs of storage from homomorphic identification protocols[A]. Cryptology-ASIACRYPT'09[C].2009.319-333.
[61] NARASIMHA M, TSUDIK G. Authentication of outsourced databases using signature aggregation and chaining[A]. Proc Inte Conf on Database Systems for Advanced Applications[C]. Springer Berlin, 2006.420-436.
[62] CHEN H, MAN X, HSU W,et al. Access control friendly query verification for outsourced data publishing[A]. Proc 13th European Symposium on Research in Computer Security[C]. Springer-Verlag, 2008.177-191.
[63] 咸鶴群, 馮登國. 外包數據庫模型中的完整性檢測方案[J]. 計算機研究與發展, 2010,47(6):1107-1115.XIAN H Q, FENG D G. An integrity checking scheme in outsourced database model[J]. Journal of Computer Research and Development,2010,47(6):1107-1115.
[64] 劉媛, 涂曉東, 張兵. 關于外包數據庫完整性驗證的研究[J]. 計算機技術與發展, 2010, 20(5):150-153, 157.LIU Y, TU X D, ZHANG B. Research on integrity verification of outsourcing database[J]. Journal of Computer Technology and Development, 2010, 20(5):150-153, 157.
[65] 李睿, 林亞平, 易葉青等. 兩層傳感器網絡中隱私與完整性保護的范圍查詢協議[J]. 計算機學報, 2013, 36(6): 1194-1209.LI R, LIN Y P, YI Y Q,et al. A privacy and integrity preserving range query protocol two-tiered sensor networks[J]. Chinese Journal of Computers, 2013, 36(6): 1194-1209.
[66] 周恩光, 李舟軍, 郭華等. 一個改進的云存儲數據完整性驗證方案[J]. 電子學報, 2014, 42(1): 150-154.ZHOU E G, LI Z J, GUO H,et al. An improved data integrity verfication scheme in cloud storage system[J]. Acta Electronica Sinica, , 2014,42(1): 150-154.
[67] BONEH D, FRANKLIN M. Identity based encryption from the Weil pairing[A]. Crypto[C]. 2001.213-229.
[68] COCKS C. An identity based encryption scheme based on quadratic residues[A]. Proceedings of the 8th IMA International Conference on Cryptography and Coding[C]. 2001.360-363.
[69] SAHAI A, WATERS B. Fuzzy identity-based encryption[A]. EUROCRYPT 2005[C]. 2005. 457-473.
[70] GOYAL V, PANDEY O, SAHAI A,et al. Attribute-based encryption for fine-grained access control of encrypted data[A]. ACM Conference on Computer and Communications Security 2006[C]. 2006.89-98.
[71] OSTROVSKY R, SAHAI A, WATERS B. Attribute-based encryption with non-monotonic access structures[A]. ACM Conference on Computer and Communications Security 2007[C]. 2007.195-203.
[72] BETHENCOURT J, WATERS B, SAHAI A. Ciphertext-policy attribute-based encryption[A]. SP '07 Proceedings of the 2007 IEEE Symposium on Security and Privacy[C]. 2007.321-334.
[73] GOYAL V, JAIN A, PANDEY O,et al. Bounded ciphertext policy attribute based encryption[A]. ICALP '08 Proceedings of the 35th international colloquium on Automata, Languages and Programming[C].2008.579-591.
[74] KHADER D. Attribute Based Group Signatures[R]. Cryptology ePrint Archive, Report 2007/159.
[75] ZHU Y, AHN G J, HU H X,et al. Cryptographic role-based security mechanisms based on role-key hierarchy[A]. Proceedings of 5th ACM Symposium on Information, Computer and Communications Security(ASIACCS 2010)[C]. Beijing, China, 2010.
[76] ZHU Y, AHN G J, HU H G,et al. Cryptographic role-based security mechanisms based on role-key hierarchy[A]. ASIACCS 2010[C]. 2010.314-319
[77] YU S C, WANG C, REN K,et al. Achieving secure, scalable, and fine-grained data access control in cloud computing[A]. Proc of INFOCOM 2010[C]. 2010.
[78] 洪澄, 張敏, 馮登國. AB-ACCS: 一種云存儲密文訪問控制方法[J].計算機研究與發展, 2010, 47(Z1): 259-265.HONG C, ZHANG M, PENG D G. AB-ACCS: a cryptographic access control scheme for cloud storage[J]. Journal of Computer Research and Development, 2010, 47(Z1): 259-265.
[79] CHEN Z, XU Y, WANG X,et al. A new fault tolerance system for cloud storage[J]. Journal of Convergence Information Technology,2011, 6(4): 34-41.
[80] SUN D, CHANG G, GAO S,et al. Modeling a dynamic data replication strategy to increase system availability in cloud computing environments[J]. Journal of Computer Science and Technology,2012, 27(2):256-272.
[81] BONVIN N, PAPAIOANNOU T G, ABERER K. A self-organized,fault-tolerant and scalable replication scheme for cloud storage[A].Proceedings of the 1st ACM Symposium on Cloud Computing(SoCC)[C]. New York, NY, 2010.
[82] CHEN D, PING X. Research on data fault tolerance mechanism based on ECT in cloud storage[J]. Communications in Computer and Information Science, 2013, 334:14-25.
[83] BICER T, JIANG W, AGRAWAL G. Supporting fault tolerance in a data-intensive computing middleware[A]. IEEE International Symposium on Parallel & Distributed Processing (IPDPS)[C]. 2010.1-12.