数据自治开放的加密技术挑战
數據自治開放的加密技術挑戰
黃霖1,2, 黎源1,2, 汪星辰1,2, 趙運磊1,2
1. 復旦大學計算機科學技術學院,上海 201203
2. 上海市數據科學重點實驗室,上海 201203
摘要:數據自治開放以數據盒為基本數據單元向數據使用者開放,因此數據資源稀缺性喪失和隱私泄露等問題的防范主要針對數據盒。一個數據盒可能包含照片、視頻、文本和結構化數據等,傳統的數據加密技術無法有效應用。系統分析了數據盒對數據加密的需求和傳統數據加密技術面臨的挑戰,探討了面向數據自治開放的加密新型技術的展望。
關鍵詞:數據自治開放;對稱可搜索加密;屬性保留加密;屬性揭示加密;同態加密;不經意隨機存取
doi:10.11959/j.issn.2096-0271.2018018
論文引用格式:黃霖, 黎源, 汪星辰, 等. 數據自治開放的加密技術挑戰[J]. 大數據, 2018, 4(2): 50-62.
HUANG L, LI Y, WANG X C, et al. Challenge of encryption technology for self-governing openness of data[J]. Big Data Research, 2018, 4(2): 50-62.
1? 引言
隨著大數據時代的來臨,各行各業產生并收集的數據量日益增長。愈來愈多的政府、企業以及個人開始重視數據的嚴格定義、規范產生、安全存儲、約束讀取以及有效分析。因此,對數據進行自治開放、開通獲取和利用的渠道已成為當代數據科學和業界的重要共識和發展方向。
“數據盒”模型是一個面向數據開放共享的數據模型,它由為數據使用者提供開放數據的基本組成單元——數據盒、封裝在數據盒中的數據防泄露和數據權益保護機制、數據盒的計量與定價組成。數據擁有者將數據灌裝入數據盒中,封裝的數據只能通過數據盒中的自主程序單元接口進行受控的訪問,使得數據使用者既方便使用開放數據,即外部可見、可理解、可編程,又能防止數據擁有者權益受到侵犯,即內部可控、可跟蹤、可撤銷。
目前,數據的開放共享極易導致數據資源稀缺性喪失,部分數據也存在隱私泄露的風險。在數據盒中數據的版權和隱私保護若采用傳統的私鑰加密和公鑰加密(如高級加密標準(AES)、RSA等),數據的操作需要用戶將密文全部下載到客戶端,解密后執行。這種應用架構明顯具有吞吐量低、帶寬需求大、可用性差的缺點,無法在大數據場景下得到有效應用。
面向大數據時代自治開放的需求,發展支持密文域處理的新型數據訪問安全技術是當前密碼領域的研究熱點。2011年Popa R A等人[1]發表了第一個實用的數據訪問安全技術CryptDB,大量的數據訪問安全技術被學術機構和商業公司開發出來并應用,例如:Ciphercloud、Google’s EncryptedBigQuery、Skyhigh等。
在支持密文域處理的數據訪問安全技術中,全同態加密(fully-homomorphic encryption,FHE)[2]和不經意隨機存取(oblivious random access memory, ORAM)[3]作為具有計算普適性的一類,其高帶寬需求、高計算量、存儲復雜度和多輪次數據通信大大降低了實際應用的可能性。因此,可搜索對稱加密(searchable symmetric encryption,SSE)、屬性保留加密(property-preserving encryption, PPE)、屬性揭示加密(propertyrevealing encryption,PRE)、同態加密(homomorphic encryption,HE),甚至SQL語句重寫模型(SQL-aware rewriting model,SRM)是目前較為實用的支持密文域處理的數據訪問安全技術,它們的發展也對數據自治開放中的隱私保護起到了很大的作用。
上述的底層算法、技術和整個數據訪問安全技術,其發展都是不斷尋求些許的單方面突破以及效率、安全性、易用性和適用性等之間的平衡。目前也并沒有一個系統或底層算法有絕對的優勢,因此,本文旨在基于數據自治開放的大背景,梳理現有支持密文域處理加密算法和架構技術的優劣,一方面引起國內學術界和商業界對數據安全和支持密文域處理的數據訪問安全技術的重視,另一方面為將來的學術研究理清脈絡,展現重點與難點。
本文的貢獻有以下幾點:
● 基于自治開放的需求,分析數據盒訪問面臨的數據安全挑戰;
● 研究數據訪問安全技術底層的密文查詢技術,涵蓋可搜索對稱加密、屬性保留加密、屬性揭示加密、同態加密以及較不實用的全同態加密和ORAM,分析并歸納其用途、信息泄露、功能完備性以及安全性和效率的權衡;
● 針對確定性加密、可搜索對稱加密、屬性保留加密和屬性揭示加密,研究現有的不同攻擊,分析其敵手能力要求、攻擊目標、先決條件和效率等;
● 歸納查詢轉換技術,基于復雜查詢可由基本查詢轉換而來的思想,分解難以實現的復雜查詢,降低底層技術需求,分析數據訪問系統基礎功能的轉換盲區;
● 分析現有支持密文域處理的數據訪問安全技術,歸納其支持功能、安全性、效率和附加功能等方面的優劣。
2 ?數據盒訪問的數據安全挑戰
2.1 威脅模型和安全挑戰
概括地說,數據訪問安全技術的設計主要是為了應對兩種安全威脅[1], 即來自外部的侵入系統竊取數據的黑客和網絡信道的數據觀測者、來自內部的監守自盜的數據庫管理人員。針對兩種安全威脅,數據訪問安全技術多用于私有云場景。這是典型的雙方場景,數據提供者和數據查詢者由同一人扮演,再與服務器進行交互。也有一種應用場景是數據提供者和數據查詢者由不同人扮演,與服務器進行交互。絕大多數的數據訪問安全技術沒有考慮實施數據規則制定與實施監管的問題。CryptDB采用了洋蔥分層加密的思想提高安全性,并進行有效的效率保障。同時,其針 對TPC-C規范中事務處理的吞吐量下降較少,因此獲得廣泛認可和借鑒。
對于數據盒,數據訪問安全技術的挑戰按照攻擊者來源可分為以下兩種。
(1)內部攻擊者的挑戰
在數據盒正常使用的情況下,需要在明文上進行查詢,這時好奇的管理員/第三方平臺維護人員可能窺探到數據,這明顯會侵害數據擁有者在數據自治情況下的利益。在這種威脅下,數據訪問安全技術可以防止好奇的管理員訪問數據盒中的真正數據。解決方案是:在灌裝數據盒前,通過特定的非傳統私鑰、公鑰加密方法對數據盒中的數據進行加密,從而在交互模塊中直接對密文進行查詢,將查詢結果返回給用戶。
(2)外部攻擊者的挑戰
在數據盒被盜取或控制的情況下,來自外部的黑客和網絡信道的數據爬取者可能侵入系統竊取數據,同時控制數據源管理模塊、交互模塊等多個模塊。這時雖然第一種挑戰的解決方案有助于保障被盜取的數據呈現密文形態,不泄露明文,但其難以應對暴力破解或者特定的攻擊方式。解決方案是可以采用不同的密鑰加密不同的數據字段。在這種情況下,只有在攻擊者侵入并獲取數據擁有者的所有加密私鑰的情況下,才有可能導致此用戶的數據泄露。此外,在發現有人不正當使用數據盒時,還可以啟動數據盒自毀機制。
依據挑戰的威脅程度,可以將挑戰分為以下3種。
● 快照挑戰:敵手僅能獲取某一時刻的數據信息,無法獲取動態的數據更新信息。這是最弱的挑戰威脅,絕大多數數據訪問底層加密技術均可保障這種情況下的隱私安全。
● 監測挑戰:敵手僅能持續獲取數據,相對于快照挑戰,能夠額外獲得動態更新的數據信息。
● 訪問挑戰:敵手不僅能夠獲取時刻更新的數據信息,同時還可以偽造數據進行測試、推理與攻破。這是攻擊者能力極強的一種挑戰,當前應對這種挑戰的數據訪問底層加密技術可能效率較差。
2.2 數據信息泄露模型
即使采用數據訪問底層加密技術應對以上挑戰,依然會有不同的算法泄露些許不同的數據信息。本節介紹的數據個數、數據基本結構、查詢、查詢回復記錄和訪問控制與模式等消息易被數據訪問安全技術泄露。即使其中有諸多內容是以密文形式出現的,其加密算法本身造成的信息泄露也擴大了明文有效恢復的幾率與途徑。
基于普遍使用的底層加密算法,現歸納5種宏觀的泄露類型,以危害程度遞增、安全性遞減方式排列。
● 數據結構:此處的數據結構是廣義的,包含諸如字符串長度、集合內元素數量、樹型數據結構等內容。它們是由數據訪問存儲基本模式泄露的,除非執行內容填充和結構置換等操作,否則難以進行隱藏。
● 數據標識符:一些底層加密算法將數據額外存儲,以其指針作為加密基元,因此數據標識符(或指針)的泄露相較于等值信息泄露危害較小。
● 多重輔助判斷信息:包括數據標識符信息和其余輔助信息。例如多個數據位于同一已知范圍、且由同一數據插入操作導入等信息。
● 等值信息:數據相等的信息。
● 順序信息:數據之間大小關系的信息。
絕大多數的信息泄露發生在數據查詢操作時,諸如數據結構、等值信息和順序信息可能在數據初始化操作時就已經泄露(例如,使用確定性加密[4]或保序加密[5,6]時可能發生此情況),而數據更新操作可能會有較少的信息再次泄露。
3 ?安全數據訪問基本查詢技術
在數據自治開放情況下,為了保證敏感數據可用性,同時保證敏感數據的保密性,防止敏感數據被竊取,可以使用數據訪問安全技術進行加密。數據底層加密技術主要有3類加密算法:以源數據進行加密的傳統加密(不是諸如AES、RSA之類的傳統加密);以源數據指針進行加密的自定義加密;主要以ORAM為算法基礎的Oblivious加密。
3.1 屬性保留和屬性揭示加密
絕大多數的屬性保留加密[7]和屬 性揭示加密都是傳統加密,它們的構造是為了方便密文對對應的操作產生正確的反應,將密文返回并解密,得到正確的明文結果。此處的“屬性”主要是指“等值”屬性和“順序”屬性,因此絕大多數確定性加密[4]、保序加密[5-11](或順序保留加密)和揭序加密[12-14](或順序揭示加密(order-revealingencryption,ORE))都是傳統加密算法。在數據的自治開放中,它們既可以使權限擁有者能夠進行一些數據查詢(如找到最大值)操作,又能對數據進行保密操作,使擁有查詢權限者無法得知數據訪問系統中存儲信息的具體值。
確定性加密是“將相同的明文加密成相同的密文”的加密算法,理想的泄露情況是其他的屬性信息完全隱藏。此外,絕大多數保序加密和揭序加密都是確定性加密。
保序加密具有通過密文比較得出明文大小關系的特質。2004年Agrawal R等人[8]首先給出了關于保序加密方案的概念、定義和一種構造數值型保序加密方法。此后5年,關于保序加密的相關研究一直未能有較大突破。直到2009年,Boldyreva A等人[5]才對該問題有了較為系統的研究。首先,作者提出了關于保序加密的嚴格安全定義(IND-OCPA,即關于保序加密理想的安全性,也即前文所述的理想順序泄露狀態)。為了使方案的構造成為可能,作者對安全模型的安全性進行了一定程度的放松。隨后,作者試圖通過超幾何分布這一工具得到一個映射,使得該映射在多項式級別的敵手看來與理想對象是不可區分的。這一方案便是前文描述的基于隨機保序函數產生泄露的方案。在2011年,Boldyreva A等人[6]對保序加密方案的安全性進行了更為深入的分析。他們提出了窗口單向性(window onewayness)和距離窗口單向性(distance window one-wayness)的概念,針對這些安全定義給出了保序加密對應于它們的上界和下界。同時,作者指出其在2009年提出的保序加密方案[5]會泄露明文一半的比特位。
為了構造足夠安全的保序加密,Popa R A等人[11]于2013年另辟蹊徑,打破了傳統保序加密算法非交互的框架,轉而采用交互的框架,使構造的保序加密方案滿足理想的安全性。基于Popa R A的交互框架, Kerschbaum F和Schropfer A[10]受到隨機二叉搜索樹的平均高度相關研究的啟發,將方案的平均通信復雜度由O(nlogn)縮減到了O(n)。隨后,Kerschbaum F[9]為了設計出具有更強安全性的保序加密方案,構造了具有頻率隱藏性質的保序加密方案。不同于之前的所有確定性的保序加密方案,該方案使敵手無法區分兩個相同明文的密文。該算法采用的方法是客戶端在與服務器交互的過程中對于等值的數據隨機回復大于或小于。
2015年Boneh D等人[12]受到了密碼學混淆器的啟發,提出了一種新的能夠提供比較密文相應明文大小功能的加密方案,即揭序加密。作為保序加密的泛化,揭序加密中密文對應明文的順序無法直接通過比較密文數值的大小來確定,而是借助了公開的比較函數。出于實用性考慮, Chenette N等人[14]在效率和安全性之間做出了一定的權衡,構造了第一個實用的只泄露有限明文信息卻高效的揭序加密方案。該文章首次基于泄露函數制定安全定義,證明了構造的方案只泄露了任意兩個密文的第一個不相同的最高比特位。同時,該方案的構造只使用了偽隨機函數這一密碼學工具,方案具有極高的效率。最近, Cash D等人[13]提出了一個相比Chenette N等人提出的方法算法安全性更高的揭序加密方案,但是由于需要使用一種新型的、基于雙線性圖的屬性保留函數,計算效率較差。
3.2 自定義加密
絕大多數可搜索加密屬于自定義加密,也有一些其他加密方法屬于此類。在自治開放中,如果數據使用者需要用到搜索操作,但不知道具體數據,則可使用自定義加密。自定義加密的構造主要依據反相指數查找和樹型遍歷兩種方案。
關于反向指數查找方案,不少工作都涉及反向查找單一數據表并映射關鍵字到標識符列表的技術。諸多的工作為其提供了額外的特性,Bost R[15]提出了依賴陷門置換的、較為實用的公鑰可搜索加密,實現了前向安全與后向安全。目前前向安全的揭序加密算法也已設計出來,屬于傳統加密方案。
關于樹型遍歷方案,Kamara S等人[16]展示了一種可平行方法以支持等值查詢,通過足夠多的平行處理,該算法的查詢復雜度可在攤銷后達到常數級。Stefanov E等人[17]也利用類似的方法,首次正式提出并設計了前向安全的可搜索加密算法。此外,樹型遍歷方案也滿足范圍查詢。非關系型數據訪問安全技術Arx[18]中的Arxpange算法通過建立明文簡歷存儲與二叉樹的索引,實現不泄露所有數據的順序關系的范圍查詢。利用Yao A C[19]的亂碼電路,可以實現服務器在遍歷索引時無法獲得比較的數據的值與比較結果。值得額外一提的是,Roche D S等人[20]提出并實現了一種基于緩沖區二叉平衡樹的部分保序加密,它是一種針對多數據插入、少范圍查詢應用場景的屬性保密加密。不同于Popa R A等人和Kerschbaum F的樹型保序加密算法,該算法將數據提供者和服務器的交互排序環節置于數據查詢階段。也正因如此,該算法實現了至今最高的安全性——基于頻率分析的偏序選擇明文攻擊的不可區分性(IND-FA-POCPA)。
3.3 Oblivious加密
ORAM由于其極強的安全性,在近20年里一直作為重要的研究課題,并且在性能上有了穩步的提升,其中諸多最近算法的實現是基于PathORAM算法[21]的,性能方面的優化也有Garg S等人[22]的TWORAM算法可參考,該算法致力于縮減搜索操作的回合。鑒于其目前仍具有高帶寬、多數據輪次和高客戶端存儲等需求,以ORAM為基本算法的可操作性數據加密仍然不具有廣泛的適用性,此外由于其不是數據自治開放情況下數據訪問安全技術發展的重點,不再贅述其相關工作。
3.4 同態加密
同態加密是一種具備特殊性質的加密。在數據自治開放中,同態加密可以使數據使用者對密文進行特定運算,其結果為對應明文執行相應運算后的密文,即對密文的運算等價于對明文執行相同的運算,而數據使用者并不能知道數據的具體值。同態的性質使其在云計算、外包計算、安全多方計算、數據訪問安全技術等多個領域有著極大的應用前景。
對于乘法同態加密,較為代表性的例子當屬經典的RSA加密[23]和ElGamal加密[24],而Paillier加密[25]和GM加密方案[26]則具備加法同態性質。為了使同態加密能夠支持更廣泛的運算操作,2005年由Boneh D等人[27]利用雙線性映射構造了支持對密文進行一次同態乘法運算和任意次同態加法運算的同態加密方案。
2009年,Gentry C[2]首次提出了全同態加密的概念,它支持對密文進行任意次數的同態加法和同態乘法運算。同時, Gentry C基于理想格構造出了第一個全同態加密方案。然而,由于Gentry C方案的效率極低,使其僅具有理論意義。
Van D M等人[28]在2010年首次給出了基于整數的全同態加密方案。基于整數的思路,從縮減密鑰規模[29]、縮減密文規模、提升計算效率[30]等方面構造優化的全同態加密方案,其采用的技術路線主要是壓縮公鑰、密文批處理、統一模數等。與基于理想格的全同態加密相比,基于整數的全同態加密具有更為簡單的代數結構,使得方案更易于理解和分析。
LWE(learning with error)問題為許多密碼學方向指出了新的突破思路, Brakerski Z等人[31]也嘗試基于LWE問題構造全同態加密方案。隨后,Brakerski Z等人[32]基于LWE問題給出了一個擺脫Gentry C框架的新的構造思路,其主要基于LWE問題構造部分同態加密方案,然后利用模數轉換技術達成替換壓縮解密電路技術的目的。之后,Gentry C等人[33]針對降低同態計算的計算復雜度給出了解決方法,技術路線主要是解除對電路深度的依賴,從而使計算復雜度與電路深度無關。
結合數據自治開放模型,可以根據數據即將使用或慣用的查詢操作,結合各方面要求,預先定義(對于數據盒則在灌裝時定義)或自適應地[1]對相關數據采取最合適的加密方式,如范圍查詢使用保序加密和揭序加密;在需要用到搜索操作而不能知道具體數據時,使用可搜索加密;在需要對數據進行運算時,采用同態加密。這些不同的加密方式均可以在保證數據自治開放的同時,防止數據盒中數據泄露,保護數據權益。
4 ?安全數據訪問查詢轉換技術
在數據自治開放中防止敏感數據泄露的同時,數據查詢的有效性也是一個重要的課題。安全數據訪問查詢轉換技術可以有效地將復雜的查詢轉換成其他查詢的組合,這樣可以有效擴充數據訪問安全技術的功能集,也可以有效減少數據訪問安全技術的程序大小。弊端是可能額外增加計算復雜度和臨時存儲復雜度。現定義以下基本查詢和操作的表述符號,以便后文安全數據訪問查詢轉換技術的描述,見表1。
表1? 基本查詢及操作的表述符號
現羅列可執行的查詢轉換如下。
● 雙限范圍查詢轉換為單限范圍查詢和布爾運算:
RQ(b1<B≤b2)→RQ(b1<B)∩RQ (B≤b2)
● 等值查詢轉換為范圍查詢:
EQ(A=a)→RQ(a≤A≤a)→RQ (a≤A)∩RQ(A≤a)
● “或”門等值、范圍查詢轉換為等值、范圍查詢和布爾運算:
EQ(A in[a1,a2,…,an])→EQ (A≤a1)∪EQ(A≤a2)∪…∪EQ(A≤an)
RQ(b1<B)or RQ(b2>B)→RQ (b1<B)∪RQ(B<b2)
● “與”門等值查詢轉換為等值查詢和布爾運算:
EQ(A1=a1and A2=a2)→EQ(A1=a1)∩EQ(A2=a2)
● 模糊查詢轉換為等值查詢:模糊查詢用來查詢與關鍵字相近的數據,一種方法是將字符串數據拆分,每兩個相鄰字符組合構成新的列,根據等值查詢數據匹配計算相似度,另一種較為簡便的方法是利用局部敏感散列,相關的距離計算或相似度計算也可以專門優化。
● 詞干查詢轉換為等值查詢:針對查詢相同詞干的字符串,若想轉換為等值查詢,需要在數據初始化和導入階段添加額外的數據列,并存入其對應的詞干密文數據。然后改寫查詢:
StemmerQ(C,c)→EQ(D=c)
● 小范圍查詢轉換為等值查詢和布爾運算(可枚舉):
RQ(b1<B≤b1+2)→EQ(B=b1+1)∪EQ(B=b1+2)
● 大范圍查詢轉換為等值查詢和布爾運算(不可枚舉):此情況需要構造特定數據存儲結構,如利用[0,256)的數據構造一個二叉樹,每個數據作為完美平衡二叉樹的葉子節點,且生成新的層范圍列,記錄每層所屬區間。例如:33這個數據需要生成層范圍列,并記錄B1:[0,256)、B2:[0,128)、B3:[0,64)、B4:[32,64)、B5:[32,48)、B6:[32,40)、B7:[32,36)、B8:[32,34)、B9:[33,34)。若查詢大于33且小于等于58的數據可進行如下轉換:
RQ(33<B≤58)→RQ(34≤B<59)→EQ(B8=[34,36))∪EQ(B7=[36, 40))∪EQ(B6=[40,48))∪EQ(B6=[48, 56))∪EQ(B8=[56,58))∪EQ(B9=[58, 59))
● 不等值查詢轉換為范圍查詢和布爾運算:
NEQ(F≠f)→RQ(fmin≤F<f)∪RQ (f<F<fmax)
● 連接語句轉換為不同表不同列等值查詢:這一種轉換需要在數據訪問安全技術不同表不同列在同一權限下確定性加密密鑰一致(即相同明文在不同表不同列的密文一致)的情況下,才可使連接語句轉換為兩層循環的不同表不同列等值查詢。
● 字符串的子串以及通配符查詢:這兩者均需要產生并利用極多的附加列,在初始化和數據導入階段,依據子串和通配符長度查詢需求,進行子串列的枚舉式構造,以便拆分改寫子串查詢語句和通配符查詢語句。由于增加了多次遍歷,因此大大增加了計算復雜度。
除了上述的查詢轉換技術,仍有許多常用的數據訪問操作未能以數據訪問安全技術實現。例如基于自定義加密算法和Oblivious加密算法的笛卡爾積運算(即連接查詢)、矩陣的乘法、字符串的大小比較等。
在數據盒中,結合不同查詢,應用不同的合適的安全數據訪問查詢轉換技術,可以提高數據查詢的有效性,便捷地保障數據盒在加密保護機制下的功能性。
5? 數據訪問安全技術
近年來,數據的自治開放已成為當下數據價值開拓的重要課題,數據訪問安全技術也成為業界倍加關注的方向。其中大多解決方案保證了數據訪問系統的絕大多數基本功能,同時保障了數據的機密性,即以些許信息泄露為代價,對加密的數據執行有效操作。
在數據加密方面,麻省理工學院(MIT)的CryptDB項目首先打開了大門,證實了密文操作數據訪問系統的可行性和實用性,也展示了未來發展的方向與瓶頸,隨后Google公司的Big Query、SAP公司的SEEED、Skyhigh Networks、CipherCloud、IntegriDB[34]以及SQL Server 2016的“始終加密”方案等項目都各有側重地涉足這一領域。其中,SEEED面向HANA內存型數據訪問系統,Big Query和Skyhigh Networks面向弱關系型,SQL Server 2016、IntegriDB的加密方案面向關系型。然而,現有的諸多解決方案有些依靠一套弱加密方案,極容易泄露敏感數據相關信息,也有些基于安全級別高的加密方案,但是無法保證復雜數據操作需求。應用程序開發商如何選擇并改進一套契合的數據訪問安全技術、科研人員如何彌補數據訪問安全技術功能上的缺陷并提升效率、普通群眾如何認知和了解不同數據訪問安全技術的優劣與瓶頸,成為了這個時代的長久命題。
傳統的數據訪問安全往往涉及訪問控制、接口控制、數據流控制和數據加密等較為廣義的安全措施。目前的絕大多數數據訪問安全技術為了保障基本功能,對訪問控制等方面有所舍棄,即極少考慮規則制定者和規則執行者的用例。Fuller B等人[35]基于自身開發的性能評估平臺,對現有諸多數據訪問安全技術進行了測試。通過測試查詢回復完整性、并行更新數據完整性、查詢時延和吞吐量等,可看出密文查詢恢復時間極度依賴于網絡能力、負載、結果集大小、數據和查詢子句順序、查詢子句內容、規則的存在和復雜度等方面。
CryptDB是建立于關系型數據庫MySQL的數據訪問安全技術,其主要組件位于三模式架構的概念模式與外模式之間,相當于應用程序與數據訪問系統管理服務器之間的一個加密解密插件。作為第一個實用的、有較為完整安全性證明的數據訪問安全技術,它以洋蔥加密結構較好地實現了效率和安全性上的平衡。該程序通過在數據訪問管理系統MySQL中擬定一些用戶自定義函數,成功地實現了數據訪問系統內的逐層解密,以保障對應的數據操作得以執行。其輔助插件Monomi[36]也通過添加規劃器和設計師,在復雜查詢的拆分規劃和查詢預處理等方面有顯著的性能提升。
A r x[19]是建立于非關系型數據庫MongoDB的數據訪問安全技術,該方案借鑒了Google公司 Big Query,為了保證效率,使用時需要指定哪些是需要加密的敏感字段和這些字段將會進行的操作,這樣便于程序采用對應加密算法。ArxRANGE和Arx-EQ是創新的算法。ArxRANGE用于處理范圍查詢和排序查詢,為了便于密文比較,它采用了亂碼電路的思想,利用該算法在客戶端可以使用密鑰k(32位系統采用1 KB)篡改程序P,并且創建一個經過模糊處理的程序ObfP。為防止服務器學習排序信息,這種算法要求主鍵必須加密。而Arx-EQ采用了搜索令牌樹的思想,將關鍵字確定性加密結果和對應計數器的總體散列值作為密文,這樣有效防止了攻擊者通過計算某一值出現的頻率而進行推理攻擊。
BlindSeer[37 ]是Pappas等人提出的一個三方數據訪問安全技術,它可縮放,旨在控制布爾查詢次線性復雜度,其中三方指代兩方服務器和一方用戶。該方案采用一個包含葉子節點對應數據訪問記錄的搜索樹的索引和存儲后代節點關鍵字的布隆過濾器,再輔以Ya o A C的亂碼電路,成功實現了高效的布爾查詢。基于現代服務器,該方案可以支持在10 T B數據、1億條數據記錄和每行70項可搜索對象的數據訪問系統中執行查詢。
目前自治開放可使用的數據訪問安全技術各有千秋,均在衡量功能性、安全性與效率之間的平衡點,使用者可根據自己的具體需求,采用或借鑒合適的數據訪問安全技術。在效率方面, CryptDB相對于TPC-C的事務吞吐率下降26%左右,Arx在測試網站應用ShareLaTeX時計算耗時增加約10%,而BlindSeer對于絕大多數查詢來說,性能均下降20%~300%。在功能保障方面, CryptDB支持全部關系代數和代碼修改,不包括關鍵字查詢、子串查詢和通配符查詢,支持多客戶端、用戶認證和訪問控制,不支持查詢協議制定;Arx支持大多數關聯陣列操作,不支持布爾查詢、關鍵字查詢、子串查詢和通配符查詢,不支持一切行為管控、多客戶端和代碼改寫;Blind Seer支持除了笛卡爾積的關系代數操作,支持關鍵字查詢,不支持子串查詢、通配符查詢和求和操作,行為管控僅支持查詢協議的制定與實施。
6 ?結束語
本文基于數據自治開放的大背景,分析了數據盒面臨的安全挑戰。通過介紹不同支持密文域處理的數據訪問安全技術的原理與優劣,研討不同攻擊的條件、目標和成效,歸納現有查詢轉換技術和盲區,分析現有主流數據訪問安全技術的應用特征與性能。支持密文域處理的數據訪問安全技術目前主要針對結構良好的數據,且安全數據訪問軟件也以關系型數據庫居多。
現有安全數據訪問底層技術多在安全度和效率上做出權衡,尤其對于全同態加密、ORAM等技術仍需對效率進行大幅優化,對于保序加密、可搜索加密仍需對安全性和可驗證性加以深化。數據訪問安全技術也在操作上存在30%~300%的耗時增益,對體系架構的設計和優化也必將為數據自治開放模式帶來新的突破。考慮到通用全同態加密的效率瓶頸以及支持密文域的數據訪問安全技術難以擴展到文件、圖片等類型的數據,對于大數據環境下數量龐大且格式各異的數據密文域的處理,目前的密碼技術還難以提供有效的解決手段。未來需要綜合密碼學、數據科學技術、軟件工程和系統訪問控制的交叉研究,完善發展面向數據自治開放的新型數據保護機制,形成開放自治的“數據盒”。研究數據盒的新型加密機制、訪問控制和監控分析機制、數據盒的遭受惡意使用或攻擊時的自毀機制,是大數據環境下數據開放自治共享的重要研究方向,具有重要的理論和應用價值。
點擊下方?閱讀原文?即可獲取全文
作 者 簡 介
黃霖(1994-),女,復旦大學軟件學院碩士生,主要研究方向為大數據安全及隱私保護。
?
黎源(1988-),男,復旦大學計算機科學技術學院博士生,主要研究方向為大數據安全及隱私保護。
?
汪星辰(1993-),男,復旦大學軟件學院碩士生,主要研究方向為大數據安全及隱私保護。
?
趙運磊(1974-),男,復旦大學計算機科學技術教授、博士生導師,主要研究方向為密碼協議理論及應用、密碼學與計算復雜性的交叉研究。
?
《大數據》期刊
《大數據(Big?Data?Research,BDR)》雙月刊是由中華人民共和國工業和信息化部主管,人民郵電出版社主辦,中國計算機學會大數據專家委員會學術指導,北京信通傳媒有限責任公司出版的科技期刊。
關注《大數據》期刊微信公眾號,獲取更多內容
總結
以上是生活随笔為你收集整理的数据自治开放的加密技术挑战的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【2016年第6期】情境大数据建模及其在
- 下一篇: 【内网安全】域横向网络传输应用层隧道技术