劉文心,高 瑩
1北京航空航天大學(xué) 數(shù)學(xué)科學(xué)學(xué)院 北京 中國(guó)100191
2北京航空航天大學(xué) 網(wǎng)絡(luò)空間安全學(xué)院 北京 中國(guó)100191
在當(dāng)今的信息時(shí)代,云技術(shù)作為一種重要的技術(shù)得到了廣泛關(guān)注和發(fā)展,云存儲(chǔ)服務(wù)作為其較為核心的應(yīng)用技術(shù)也備受人們的重視和研究。云存儲(chǔ)服務(wù)可以為個(gè)人或者企業(yè)提供方便而又靈活的額外存儲(chǔ)空間而得到廣泛應(yīng)用。然而在大數(shù)據(jù)潮流下,數(shù)據(jù)隱私的泄露給人們帶來巨大困擾,以明文存儲(chǔ)的方式顯然無法滿足數(shù)據(jù)的隱私和安全需求。事實(shí)上,近年來由于黑客攻擊,內(nèi)部人員泄露或私下買賣用戶數(shù)據(jù)庫(kù)的事件層出不窮,保障云存儲(chǔ)服務(wù)的數(shù)據(jù)隱私安全成為迫切需求。另一方面,如果用戶將存儲(chǔ)文件以傳統(tǒng)加密的方式上傳到云服務(wù)器又將導(dǎo)致另一個(gè)問題: 試想一個(gè)實(shí)際情形,Alice希望將文件存儲(chǔ)到云服務(wù)器,出于隱私需求,Alice可以通過傳統(tǒng)加密方式預(yù)先加密好的文件并上傳,但只有Alice擁有密鑰。當(dāng)Alice希望查找含有某一關(guān)鍵字的文件時(shí),由于服務(wù)器對(duì)密文一無所知,Alice需要從服務(wù)器上下載全部文件并一一解密以獲得想要的文件,這一方式顯然效率極低。為了實(shí)現(xiàn)對(duì)加密文件的檢索功能,可搜索加密(Searchable Encryption,SE)技術(shù)應(yīng)運(yùn)而生。
可搜索加密技術(shù)是搜索技術(shù)和加密技術(shù)的結(jié)合??伤阉骷用苣軌?qū)崿F(xiàn)將用戶的數(shù)據(jù)進(jìn)行特殊的加密后上傳到云服務(wù)器上,并且可以實(shí)現(xiàn)根據(jù)關(guān)鍵字進(jìn)行檢索的功能,有些可搜索加密方案更能實(shí)現(xiàn)范圍查詢或布爾查詢等高級(jí)檢索功能。在方便用戶使用的過程中,也保護(hù)了文件的隱私安全。
目前,可搜索加密技術(shù)一般分為對(duì)稱可搜索加密(Searchable Symmetric Encryption,SSE)和非對(duì)稱可搜索加密(Asymmetric Searchable Encryption,ASE),非對(duì)稱可搜索加密目前一般又稱為公鑰可搜索加密(Public Key Encryption With Searching,PEKS),下文在簡(jiǎn)稱時(shí)統(tǒng)一用PEKS來指代。兩者有不同的應(yīng)用場(chǎng)景和構(gòu)造方式。對(duì)稱可搜索加密一般考慮單用戶使用的情況,相當(dāng)于建立個(gè)人加密云盤,依賴對(duì)稱加密算法進(jìn)行方案構(gòu)造。而公鑰可搜索加密一般考慮多用戶使用的場(chǎng)景例如郵件系統(tǒng)或者多人文件共享系統(tǒng),主要依賴公鑰加密算法進(jìn)行構(gòu)造。
近幾年來可搜索加密的研究成為熱點(diǎn),其發(fā)展非常迅速。已經(jīng)有可搜索加密相關(guān)的綜述性文章[1-7]從整體上梳理了可搜索加密的研究和發(fā)展,而對(duì)可搜索加密中安全性發(fā)展這條重要路線的梳理很少。其中,文獻(xiàn)[1-2]主要從搜索功能和應(yīng)用場(chǎng)景對(duì)可搜索加密進(jìn)行了梳理,文獻(xiàn)[3-4]比較具體的描述了之前典型的可搜索加密方案的方案細(xì)節(jié)以及做出對(duì)比,同樣比較詳細(xì)地列舉了可搜索加密的研究重點(diǎn)。文獻(xiàn)[5-7]都對(duì)可搜索加密的模型進(jìn)行了分類,并從安全、效率、表達(dá)能力三個(gè)方面進(jìn)行了總結(jié),粗略描述了各個(gè)方面的進(jìn)展和挑戰(zhàn)。不過以上綜述性文章在安全性方面仍然缺少更多細(xì)節(jié),體現(xiàn)不了近年來研究中可搜索加密安全性研究的內(nèi)在聯(lián)系。因此,本文從可搜索加密的安全性研究著手,對(duì)其進(jìn)行細(xì)致的整理和歸納總結(jié),對(duì)可搜索加密發(fā)展以來不斷面臨的新安全問題以及研究者們?yōu)榇俗龅墓ぷ魉悸愤M(jìn)行脈絡(luò)整理。
根據(jù)以上可搜索加密綜述性文章[1-7]以及我們進(jìn)一步的總結(jié)發(fā)現(xiàn),對(duì)稱可搜索加密的安全性主要考慮以下幾個(gè)方面:
1.上傳文件本身的隱私。一般來說,對(duì)稱可搜索加密需要結(jié)合傳統(tǒng)的對(duì)稱加密手段如AES進(jìn)行文件內(nèi)容的加密,但保證搜索功能是關(guān)鍵;
2.用戶搜索的關(guān)鍵字隱私。當(dāng)用戶搜索關(guān)鍵字時(shí),關(guān)鍵字內(nèi)容與文件信息、用戶習(xí)慣等隱私內(nèi)容掛鉤,需要保護(hù)其安全性;
3.加密數(shù)據(jù)庫(kù)相關(guān)信息的隱私。相關(guān)信息如關(guān)鍵字頻率,搜索結(jié)果大小等容易被主動(dòng)攻擊的敵手利用并破壞其隱私性。
本文圍繞以上三個(gè)方面對(duì)對(duì)稱可搜索加密的安全性研究進(jìn)行梳理。首先,我們總結(jié)了已有的可搜索加密方案如何在保護(hù)文件內(nèi)容的同時(shí)增加可搜索能力; 其次,我們指出這些方案是否能夠保證搜索時(shí)關(guān)鍵字的隱私,以及如何保證隱私性; 最后,面對(duì)近年來一些新型的利用加密數(shù)據(jù)庫(kù)相關(guān)信息進(jìn)行攻擊的現(xiàn)象,我們給出了對(duì)稱可搜索加密的最新進(jìn)展以及應(yīng)對(duì)措施。
本文結(jié)構(gòu)如下: 第 2節(jié)簡(jiǎn)要介紹可搜索加密的基本概念與分類,并著重對(duì)對(duì)稱可搜索加密進(jìn)行描述; 第 3節(jié)梳理了對(duì)稱可搜索加密安全性的相關(guān)研究成果,并對(duì)其做出比較; 第4節(jié)具體地梳理有關(guān)對(duì)稱可搜索加密的適應(yīng)性安全研究進(jìn)展與相關(guān)成果;第5節(jié)是在第4節(jié)描述的適應(yīng)性安全基礎(chǔ)上,對(duì)對(duì)稱可搜索加密安全性的最新問題和研究方向進(jìn)行了說明; 最后,在第6節(jié)我們指出了目前可搜索加密面臨的問題以及未來的發(fā)展方向。
2004年,Boneh等人[8]將公鑰加密應(yīng)用到可搜索加密中,基于BDH(Bilinear Diffie-Hellman)困難問題假設(shè),首次提出了非對(duì)稱可搜索加密(PEKS)的概念,其主要目的是為了解決“多對(duì)一”的多用戶郵件模型。例如Bob,Carol等多人向Alice發(fā)送郵件,這些郵件通過Alice的公鑰進(jìn)行加密,Alice可以根據(jù)私鑰在郵件系統(tǒng)中進(jìn)行關(guān)鍵字搜索并解密郵件內(nèi)容并保證郵件服務(wù)器對(duì)內(nèi)容一無所知。PEKS算法描述如下:
定義2.1.(PEKS).一個(gè)PEKS系統(tǒng)由如下四個(gè)多項(xiàng)式時(shí)間的算法組成:
1.KeyGen(s): 輸入安全參數(shù)s,生成Alice的一對(duì)公私鑰對(duì)
實(shí)際上,Boneh等人的PEKS方案可以視為在加密文件后附上加密的關(guān)鍵字清單,用戶可以通過私鑰和 Test算法與所檢索關(guān)鍵字進(jìn)行匹配,以此進(jìn)行關(guān)鍵字的搜索。隨后2006年Byun[9]發(fā)現(xiàn)當(dāng)前PEKS方案存在安全隱患: 由于關(guān)鍵字空間遠(yuǎn)小于密鑰空間,敵手可以通過離線關(guān)鍵字猜測(cè)攻擊輕松破解PEKS體制。隨后,這一安全性問題由 Tang等人[10]提出注冊(cè)關(guān)鍵字得以解決。目前公鑰可搜索加密的安全性研究已經(jīng)基本趨于成熟,PEKS領(lǐng)域的研究主要集中于擴(kuò)展方案的表達(dá)能力使其具備高級(jí)檢索功能,例如結(jié)合ABE實(shí)現(xiàn)訪問權(quán)限的細(xì)粒度控制[11-12]等。然而,對(duì)稱可搜索加密的安全性問題還未得到完全解決,其安全性進(jìn)展是目前研究的一個(gè)熱點(diǎn)方向。因此,本文接下來主要圍繞對(duì)稱可搜索加密的安全性進(jìn)展進(jìn)行梳理。
2.2.1 SSE的構(gòu)建方法
2000年,對(duì)稱可搜索加密由Song等人[13]第一次提出,用來解決“一對(duì)一”單用戶進(jìn)行云存儲(chǔ)模型的方案,即主要應(yīng)用場(chǎng)景是個(gè)人用戶將數(shù)據(jù)加密存儲(chǔ)于云服務(wù)器,并能在之后對(duì)加密數(shù)據(jù)進(jìn)行檢索。對(duì)稱可搜索加密過程如圖1所示。這之后,可搜索加密迅速成為了被關(guān)注的熱點(diǎn)研究問題。
SSE的構(gòu)建方法一般分為基于存儲(chǔ)結(jié)構(gòu)和基于索引兩種方式?;诖鎯?chǔ)結(jié)構(gòu)的 SSE方案[13-15]的構(gòu)建方法一般通過特殊的加密手段將數(shù)據(jù)存儲(chǔ)于特定的位置。例如Song等人[12]的方案是應(yīng)用流密碼加密將密文在服務(wù)器內(nèi)進(jìn)行線性存儲(chǔ),而Naveed等人[16]的方案是利用偽隨機(jī)函數(shù)和偽隨機(jī)序列生成器將文件加密并“隨機(jī)”分配到特定的隨機(jī)位置,只有擁有隨機(jī)生成器“種子”的用戶能準(zhǔn)確找到文件的位置。然而,基于存儲(chǔ)結(jié)構(gòu)構(gòu)建 SSE方案的效率往往比較低,在搜索時(shí)需要服務(wù)器對(duì)整個(gè)存儲(chǔ)器進(jìn)行線性掃描并依次進(jìn)行匹配,而且對(duì)服務(wù)器的存儲(chǔ)拓?fù)溥M(jìn)行了嚴(yán)格要求。因此基于索引構(gòu)建SSE方案是目前公認(rèn)的主流方法,絕大多數(shù)方案都是基于索引來構(gòu)造的,在本文接下來的討論中我們默認(rèn)討論的是基于索引的SSE方案。基于索引的構(gòu)建方法的優(yōu)勢(shì)在于不需要特定的加密手段和存儲(chǔ)結(jié)構(gòu),并且在搜索時(shí)有很高的效率,其主要流程可以描述如下:
圖1 對(duì)稱可搜索加密過程Figure 1 Process of Symmetric Searchable Encryption
1.用戶選擇安全通用的對(duì)稱加密算法SKE例如AES,對(duì)數(shù)據(jù)文件加密,保存密鑰;
2.用戶根據(jù)文件內(nèi)容構(gòu)建索引結(jié)構(gòu),保證索引內(nèi)容與加密文件可以進(jìn)行“鏈接”;
3.將索引結(jié)構(gòu)進(jìn)行特殊加密,和加密的數(shù)據(jù)文件一起發(fā)送給服務(wù)器;
4.服務(wù)器存儲(chǔ)加密索引和加密文件,等待用戶發(fā)送陷門進(jìn)行操作。
如上所述,這一類型的SSE構(gòu)建方法中,不同方案的核心在于第 2步的索引結(jié)構(gòu)的建立以及密文與索引進(jìn)行“鏈接”的方式,以及第3步對(duì)索引結(jié)構(gòu)的特殊加密。而用戶加密文件的手段使用的對(duì)稱加密算法 SKE和服務(wù)器存儲(chǔ)文件的方式都是可選的,具有靈活性。雖然基于索引的SSE相較于基于存儲(chǔ)結(jié)構(gòu)的 SSE方案需要額外的索引構(gòu)建過程,以及額外存放索引的存儲(chǔ)代價(jià),但是在效率上,基于索引的SSE方案具有非常大的優(yōu)勢(shì),這在應(yīng)用層面上決定了基于索引來構(gòu)建SSE方案是最佳的。
2.2.2 SSE的算法框架
在本文中我們參考Curtmola等人[16]第一次正式定義的 SSE的算法框架,這一算法框架是基于索引的,其定義如下:
定義 2.2.(SSE)一個(gè)單用戶的 SSE方案的參與者包含一個(gè)用戶和一個(gè)服務(wù)器,假設(shè)是關(guān)鍵字字典,是文件集合,用戶希望將文件集合D存儲(chǔ)與服務(wù)器上,并且服務(wù)器可以提供對(duì)字典的搜索服務(wù),一個(gè)基于索引的對(duì)稱可搜索加密體制是指一個(gè)多項(xiàng)式時(shí)間算法的集合 SSE=(Gen,Enc,Trpdr,Search,Dec)如下,
之后,Kamara[17]在 Curtmola[16]的方案上稍加改進(jìn),增加了方案動(dòng)態(tài)性以支持添加文件或刪除文件的操作,根據(jù)這兩篇文章的工作,可以把對(duì)稱可搜索加密過程簡(jiǎn)化為歸為以下4個(gè)步驟:
步驟 1.建立和密鑰生成過程: 用戶對(duì)文件集合進(jìn)行某種特殊加密后上傳至服務(wù)器并生成密鑰和加密數(shù)據(jù)庫(kù);
步驟 2.陷門生成過程: 用戶根據(jù)密鑰和將要檢索的內(nèi)容生成特定陷門,分為生成檢索陷門和生成更新陷門,并都上傳給服務(wù)器;
步驟 3.檢索過程: 用戶提交陷門,由服務(wù)器根據(jù)陷門對(duì)加密數(shù)據(jù)庫(kù)進(jìn)行安全搜索和返回結(jié)果,用戶收到密文后解密得到最終結(jié)果;
步驟 4.更新過程: 對(duì)于支持動(dòng)態(tài)更新的可搜索加密,可以通過將加密文件和更新陷門上傳到服務(wù)器進(jìn)行文件添加或刪除操作,注意添加操作和刪除操作是區(qū)分開來的。
在這一節(jié),我們首先粗略地梳理了對(duì)稱可搜索加密安全性的相關(guān)研究成果,并對(duì)其做出比較。之后在第 4節(jié)我們將更加具體細(xì)致地分析它們的細(xì)節(jié)以及各個(gè)工作間內(nèi)在的邏輯聯(lián)系。
2000年,Song等人[13]第一次提出 SSE,他們方案的搜索時(shí)間與數(shù)據(jù)庫(kù)大小成線性關(guān)系,但在安全性和表達(dá)能力各方面都有欠缺。
2003 年,Goh 等人[18]使用布隆過濾器首次建立了基于倒排索引的可搜索加密方案,這篇文章中也正式地討論了可搜索加密需要滿足的安全模型,但安全定義存在缺陷。2005年,Chang等人[14]之后也提出了一種搜索時(shí)間為線性的方案,并且在文章中同樣提出了一個(gè)安全模型,但是仍然存在缺陷。
2006年,Curtmola等人[16]第一次正式定義了幾種泄露信息,指出了以往工作中安全模型存在的問題,并在靜態(tài)環(huán)境下設(shè)計(jì)了基于倒排索引的 SSE方案,實(shí)現(xiàn)了亞線性的搜索復(fù)雜度。
表1 SSE安全性相關(guān)工作的對(duì)比Table 1 Security comparison of SSE related work
之后,2012年,Kamara等人[17]正式引入了動(dòng)態(tài)對(duì)稱可搜索加密(Dynamic Symmetric Searchable Encryption,DSSE)的概念,動(dòng)態(tài)性的引入要求SSE方案具有方便地添加或刪除文件的能力。而之前的靜態(tài)SSE方案中,更新文件意味著重構(gòu)索引,代價(jià)高昂。這篇文章給出了實(shí)現(xiàn)亞線性搜索時(shí)間的DSSE方案,但其在更新文件時(shí)會(huì)泄露更新關(guān)鍵字的哈希值。2014年,Stefanov等人[19]提出前向安全的概念,這是一個(gè)針對(duì)DSSE方案的安全概念,具體含義我們將在第4節(jié)具體解釋,Stefanov指出這一安全概念在之前的DSSE方案中一直被忽略,作者在文章中構(gòu)建了一個(gè)動(dòng)態(tài)的支持前向安全的亞線性搜索時(shí)間方案,但存儲(chǔ)結(jié)構(gòu)比較復(fù)雜導(dǎo)致效率不高。之后,前向安全的DSSE方案得到了廣泛研究,2016年,Bost等人[20]給出了前向安全的正式定義,并提出了一個(gè)前向安全的DSSE方案。2017年,Kim等人[21]構(gòu)建了支持高效更新的前向安全可搜索加密方案。
在安全性的研究中,發(fā)現(xiàn)可能存在的信息泄露并完善已有的安全模型是普遍的研究方法。在這些工作中往往假設(shè)敵手是半誠(chéng)實(shí)的被動(dòng)敵手。在Curtmola較好地完善了 SSE的安全模型后,另一條工作路線則是對(duì)已有的SSE方案進(jìn)行主動(dòng)攻擊的研究,即惡意敵手模型。例如,2012年,Islam等人[22]針對(duì)SSE方案的信息泄露給出了分析并提出了攻擊手段,他們的工作隨后被Cash等人[23]進(jìn)一步的總結(jié)并改善。2016年,Zhang等人[24]提出的文件注入攻擊說明了前向安全對(duì)于SSE的重要性。這些內(nèi)容我們?cè)诘?節(jié)進(jìn)行更詳細(xì)的描述。
如第3節(jié)所描述的,SSE的安全性研究是不斷進(jìn)步和完善的,而在這一節(jié)我們主要梳理的是 SSE適應(yīng)性安全模型的建立。
Song等人[13]提出首個(gè)對(duì)稱可搜索加密方案,即SWP方案,見圖2。其方法是: 將明文視為編碼后的關(guān)鍵字流,與密鑰流進(jìn)行異或后上傳至服務(wù)器,之后用戶進(jìn)行搜索需要用同樣的密鑰流依次解密并進(jìn)行比對(duì)。顯然這個(gè)方案在檢索時(shí)需要服務(wù)器對(duì)密文依次全部掃描,搜索時(shí)間與文件的大小成正比關(guān)系,效率很低。
圖2 Song的SWP方案Figure 2 Song’s SWP scheme
SWP方案在考慮安全性時(shí)將可證明安全理論中的 IND-CPA安全(選擇明文攻擊下的不可區(qū)分性)引入,保障了密文本身不會(huì)泄露隱私,但還不足以描述可搜索加密面臨的安全問題,因?yàn)闆]有考慮到搜索過程中關(guān)鍵字的安全。2003年,Goh[18]提出了選擇關(guān)鍵字攻擊下的不可區(qū)分性即IND-CKA安全以及一個(gè)稍強(qiáng)的 IND2-CKA安全,兩者區(qū)別在于是否為適應(yīng)性敵手。IND-CKA和IND2-CKA安全模型中,敵手可以要求用戶產(chǎn)生要求的密文文件以及查詢陷門,但無法做出和正常用戶信息的區(qū)分并獲得除此之外的更多信息。在此安全基礎(chǔ)上,Goh給出了基于布隆過濾器的具體方案,相較于 Song,這一方案引入了一份安全加密的倒排索引,從而提高了搜索效率。2005年,Chang 等人[14]提出基于模擬的安全性定義,考慮了敵手在實(shí)施攻擊時(shí)即使能夠獲得之前所有輪次服務(wù)器端的查詢結(jié)果情況,但敵手在之后每一輪除了查詢結(jié)果外,無法獲得任何信息。我們不詳細(xì)描述Goh和Chang提出的安全模型,是因?yàn)?.2節(jié)中隨后Curtmola的工作指出了這兩個(gè)安全模型的問題。
總而言之,以上研究作為對(duì)稱可搜索加密的初期工作,在安全性的構(gòu)建上雖有一些進(jìn)展,但缺乏正式安全模型定義,或者定義中存在一些漏洞。
在考慮 SSE的安全性時(shí),我們首先需要考察敵手的威脅模型,聯(lián)系到現(xiàn)實(shí)背景的角度,可搜索加密方案通常以服務(wù)器作為敵手,通常分為兩類: 半誠(chéng)實(shí)的敵手和主動(dòng)攻擊的敵手。半誠(chéng)實(shí)的敵手會(huì)誠(chéng)實(shí)地執(zhí)行方案中的每一步協(xié)議,但會(huì)盡可能解讀協(xié)議過程中產(chǎn)生的信息并試圖獲取用戶的隱私信息;主動(dòng)攻擊的敵手往往會(huì)破壞正常的協(xié)議進(jìn)程或進(jìn)行額外的操作以此來威脅用戶隱私。一般而言,對(duì)SSE來說,我們假設(shè)兩種敵手擁有共同的能力包括:
· 可以觀測(cè)到協(xié)議中用戶與服務(wù)器間的全部交互
· 可以收集到協(xié)議進(jìn)行過程中產(chǎn)生的信息
· 可以對(duì)文件的存儲(chǔ)空間進(jìn)行控制和訪問
實(shí)際上,現(xiàn)實(shí)場(chǎng)景中服務(wù)器作為敵手完全擁有這些能力,因此我們所需要確保的是在這些威脅之下方案仍能保護(hù)用戶的隱私。故安全目標(biāo)主要在于:
臨近蘋果采收時(shí),許多蘋果園痘斑病、縮果病、黑紅斑點(diǎn)、水裂紋、果銹等嚴(yán)重發(fā)生。據(jù)調(diào)查,痘斑病、縮果病等生理性病害果園受害率輕者8%左右,重者達(dá)到32%。黑紅斑點(diǎn)危害率平均13.5%,嚴(yán)重的46.5%,直接影響到本果季的經(jīng)濟(jì)效益。
· 用戶的數(shù)據(jù)本身具有隱私性,敵手無法獲取數(shù)據(jù)本身
· 用戶的根據(jù)關(guān)鍵字查詢時(shí),敵手無法獲取關(guān)鍵字內(nèi)容
SSE的適應(yīng)性安全最初是由 Curtmola等人[16]給出定義,之后由 Chase等人[25]對(duì)其進(jìn)行了改進(jìn)和簡(jiǎn)化。
4.2.1 Curtmola的適應(yīng)性安全模型
Curtmola通過構(gòu)造兩個(gè)實(shí)例分別說明了IND2-CKA安全與Chang等人定義的安全性仍有漏洞: 這兩個(gè)實(shí)例可以滿足以上兩個(gè)安全定義,但是具有明顯的漏洞可以讓敵手還原用戶的搜索內(nèi)容。Curtmola給出了一個(gè)新正式定義的安全模型,構(gòu)造了一個(gè)基于索引的對(duì)稱可搜索加密方案。我們首先給出Curtmola的安全模型定義如下:
定義 4.1.(q-查詢歷史).假設(shè)是關(guān)鍵字字典,是文件集合,一個(gè)在 D上的q-詢問歷史是一個(gè)包含了文件集合D,以及一個(gè)q個(gè)關(guān)鍵字的向量的雙元組H=(D,w)。
定義 4.3.(搜索模式).假設(shè)是關(guān)鍵字字典,是文件集合,對(duì)于一個(gè)在D上的q-詢問歷史H=(D,w)來說,搜索模式是指一個(gè)對(duì)稱二進(jìn)制矩陣第i行,第j列的元素為 1若否則為 0。
定義 4.4.(視圖).敵手關(guān)于查詢歷史 H 的視圖包括密鑰K產(chǎn)生的加密文件及其索引,歷史查詢陷門,返回文件標(biāo)識(shí)符信息。
對(duì)以上定義,訪問模式表示方案中對(duì)存儲(chǔ)系統(tǒng)進(jìn)行訪問時(shí)返回結(jié)果中發(fā)生的信息泄露,比如搜索后返回結(jié)果的大小等。搜索模式則表示用戶進(jìn)行搜索時(shí)所泄露的信息,比如兩次詢問是否是重復(fù)的。而視圖實(shí)際上指在q次詢問中服務(wù)器所掌握的全部已知信息。
Curtmola分別在自適應(yīng)(adaptive)和非自適應(yīng)(nonadaptive)模型下形式化地定義了 SSE 的語(yǔ)義安全(semantic security,簡(jiǎn)稱 SS安全)和不可區(qū)分性安全(indistinguishability security,簡(jiǎn)稱IND安全),從而定義了四種模型。其安全性定義和密碼學(xué)中可證明安全的定義類似,都是通過敵手和模擬機(jī) S間進(jìn)行交互實(shí)驗(yàn),具體交互如圖3所示[2]。
實(shí)際上,自適應(yīng)(非自適應(yīng))指的是服務(wù)器在q次查詢中能(否)根據(jù)返回信息進(jìn)行查詢調(diào)整的能力,而語(yǔ)義安全是指加密文件、加密索引和陷門信息這些包含在一次q-查詢歷史H中的內(nèi)容的隱私性,而不可區(qū)分性安全則是考慮用戶不同的q-查詢歷史對(duì)服務(wù)器來說不可區(qū)分。另外Curtmola還說明了它們具有如下關(guān)系:
· 非自適應(yīng)模型下: SS安全與IND安全相互等價(jià)
· 自適應(yīng)模型下: SS安全包含IND安全,即有了SS安全就有IND安全
因此,Curtmola所定義的SS安全比IND安全具備更高的安全度。
圖3 Curtmola定義的安全模型Figure 3 Security model defined by Curtmola
4.2.2 Chase等人優(yōu)化的適應(yīng)性安全模型
實(shí)際上,Curtmola所定義的四種安全模型中,自適應(yīng)性模型下的SS安全是安全性最強(qiáng)的,但它僅僅是針對(duì)靜態(tài)SSE方案。另外,其中所定義的查詢歷史,訪問模式,搜索模式,視圖等概念在表達(dá)不同SSE方案的泄露信息時(shí)具有局限性,不能完全代表不同方案中實(shí)際泄露的全部信息。而為了更一般的對(duì)不同方案中產(chǎn)生的泄露信息進(jìn)行說明,Chase等人[25]在他們的安全模型中提出了更為抽象的一個(gè)概念: 泄露函數(shù)。具體來說,Chase用泄露函數(shù)來統(tǒng)一表達(dá)SSE方案在建立過程和檢索過程中泄露的全部信息。根據(jù) SSE方案的步驟,這些泄露信息被劃分為兩個(gè)部分: 建立過程中的泄露函數(shù)和檢索操作過程中的泄露函數(shù)。這樣做的好處在于,不同 SSE方案的構(gòu)建者可以不用繁瑣的定義查詢歷史、視圖等,而是根據(jù)自己方案的特殊性,將全部可能的泄露信息用泄露函數(shù)進(jìn)行形式化表達(dá),這樣做使得不同方案的安全性表述以及安全性證明更加清晰統(tǒng)一,對(duì)可搜索加密安全性的研究工作具有重大意義。不過,Chase所做的安全模型改進(jìn)仍然是建立于靜態(tài)SSE方案之上。
4.2.3 引入動(dòng)態(tài)性后最終的適應(yīng)性安全模型
2012年,Kamara等人[17]第一次將動(dòng)態(tài)性正式引入SSE方案。相應(yīng)地,Kamara將之前Chase等人在靜態(tài)環(huán)境下定義的適應(yīng)性安全模型進(jìn)行了擴(kuò)展,引入了新的泄露函數(shù)用于表達(dá)用戶在更新文件的過程中所產(chǎn)生的信息泄露,例如更新時(shí)間和更新文件的大小等。我們將Kamara最終得到的適應(yīng)性安全模型稱之為L(zhǎng)-適應(yīng)性安全模型,這也是目前公認(rèn)的 SSE需要滿足的安全模型,我們給出它的完整定義如下[17,26]。
圖4 安全游戲Figure 4 Security games
在理想游戲中敵手得到的結(jié)果都是由模擬器根據(jù)泄露信息所模擬出的結(jié)果,如果敵手 A不能區(qū)分出這兩個(gè)游戲,即通過泄露函數(shù)模擬的數(shù)據(jù)庫(kù)與真實(shí)的數(shù)據(jù)庫(kù)在操作中使得敵手無法做出區(qū)分。則說明方案除了泄露函數(shù)中包含的信息外,并無更多的信息泄露。因此,在以上條件下,我們只需要考慮泄露函數(shù)本身的信息的安全。根據(jù)文獻(xiàn)[5]中的總結(jié),以前大多數(shù)方案的泄露函數(shù)中包含4.2.1節(jié)中定義的訪問模式和搜索模式等信息。然而在最終的適應(yīng)性安全模型中,Curtmola等人已經(jīng)證明它們?cè)诒粍?dòng)敵手的假設(shè)下是足夠安全的。另外,如數(shù)據(jù)庫(kù)大小,關(guān)鍵詞總數(shù),時(shí)間信息等常見的泄露函數(shù)包含信息,通常被認(rèn)為是可以被敵手拿到而不影響方案的安全。然而隨著研究的發(fā)展,被動(dòng)模型下某些證明安全的泄露信息成為了惡意敵手的攻擊手段,具體見第5節(jié)。
定義 4.5.(L-適應(yīng)性安全).一個(gè)對(duì)稱可搜索加密系統(tǒng)滿足L-適應(yīng)性安全(L-adaptive security)是指對(duì)所有可能的具有多項(xiàng)式時(shí)間算法的敵手 A,對(duì)于以上定義的游戲模型存在一個(gè)模擬器 S滿足下列等式,其中為可忽略函數(shù):
總而言之,研究者們以 Curtmola的靜態(tài)環(huán)境下的 SS自適應(yīng)安全模型作為雛形,在逐漸完善下,得到了L-適應(yīng)性安全模型。不同的方案中泄露函數(shù)有所區(qū)別,但形式上的統(tǒng)一為安全性方面的研究提供了很大的便利。直觀上,L-適應(yīng)性安全的定義可以參考圖5,這一安全保證了SSE方案在被動(dòng)敵手的安全假設(shè)下具有足夠的安全性,因此也是所有 SSE方案應(yīng)當(dāng)滿足的最基本的安全模型。
圖5 L-適應(yīng)性安全Figure 5 L-adaptive security
然而,隨著近年來的研究發(fā)現(xiàn),如第 5節(jié)描述的,對(duì)稱可搜索加密的安全性仍需進(jìn)一步完善。在L-適應(yīng)性安全中被證明安全的泄露信息在主動(dòng)敵手模型下不再安全。因此僅僅滿足L-適應(yīng)性安全的SSE方案不能抵擋惡意敵手發(fā)起的一些新型的主動(dòng)攻擊手段,研究者們?yōu)榇颂岢隽诵碌陌踩远x和解決方法。
如第3,4節(jié)所述,L-適應(yīng)性安全模型能夠完全抵抗半誠(chéng)實(shí)的被動(dòng)敵手模型。但惡意敵手模型的引入導(dǎo)致對(duì)稱可搜索加密的安全性出現(xiàn)了兩類新的挑戰(zhàn),一類是5.1節(jié)提到的如IKK攻擊等利用數(shù)據(jù)挖掘思想與公共數(shù)據(jù)庫(kù)進(jìn)行比對(duì)的攻擊手段的提出,這里我們統(tǒng)稱為推理攻擊(Inference Attack),另一類是5.2節(jié)提到的文件注入攻擊的威脅。
我們強(qiáng)調(diào): 兩類攻擊的目的都在于恢復(fù)用戶搜索的關(guān)鍵字內(nèi)容。而由于文件與關(guān)鍵字緊密聯(lián)系,如果一份文件的多個(gè)關(guān)鍵字被泄露無異于文件內(nèi)容本身失去隱私。如何解決這兩種攻擊揭示的安全問題,成為了目前對(duì)稱可搜索加密安全性研究的重點(diǎn)方向。5.3節(jié)和 5.4節(jié)將說明面對(duì)這兩個(gè)新挑戰(zhàn),目前研究者們所提出的新的安全定義以及解決方法。
由于研究的前沿性,這類攻擊的命名并未統(tǒng)一,例如文獻(xiàn)[23]稱這類攻擊為泄露濫用攻擊(Leakageabuse attacks),在文獻(xiàn)[27-28]中將他們提出的攻擊手段稱之為重建攻擊(reconstruction attack),但本文我們將列舉出的文獻(xiàn)[22-23,28-33]中的攻擊統(tǒng)一稱為推理攻擊,這一命名來源于文獻(xiàn)[30-31]中命名的推理攻擊(Inference Attack),而我們將說明這些攻擊實(shí)際上運(yùn)用的是同一類攻擊思想。首先我們用Islam提出的具體的IKK攻擊方案[22]為例來說明這類推理攻擊的攻擊思想。
在2012年,Islam等人[22]首次發(fā)現(xiàn)了已有的對(duì)稱可搜索加密系統(tǒng)存在這種安全漏洞: 用戶進(jìn)行搜索時(shí)的行為模式和搜索習(xí)慣會(huì)為服務(wù)器帶來額外可收集的信息。例如某用戶多次檢索關(guān)鍵字后,敵手通過監(jiān)視存儲(chǔ)空間和交互信息,可以將返回的加密文件集合記錄并對(duì)每個(gè)搜索結(jié)果進(jìn)行頻率統(tǒng)計(jì),并與公開數(shù)據(jù)庫(kù)或已泄露文檔比較。
Islam提出的具體的IKK攻擊方案如下:
考慮一個(gè)單關(guān)鍵字搜索的可搜索方案,在假設(shè)下,敵手Mallory掌握用戶與服務(wù)器間的交互信息。用戶向服務(wù)器提交一系列的搜索序列對(duì)應(yīng)的,敵手觀察到每個(gè)搜索用戶提交的 陷 門和 返 回 結(jié) 果 序 列Mallory的目標(biāo)在于確認(rèn)陷門所對(duì)應(yīng)的具體關(guān)鍵字,即關(guān)鍵字序列分別對(duì)應(yīng)IKK攻擊中定義了一個(gè)單詞并發(fā)矩陣M: 其中每個(gè)(i,j)矩陣元素第i個(gè)元素和第j個(gè)元素出現(xiàn)在任意文件中的概率,即其中d為均勻分布。敵手通過對(duì)公開數(shù)據(jù)庫(kù)或者從用戶之前已泄露的數(shù)據(jù)文件進(jìn)行分析得到具體的矩陣M,最后可以規(guī)約為解決以下優(yōu)化問題來破解關(guān)鍵字:
參考Islam[22]中的實(shí)驗(yàn)結(jié)果,結(jié)果表明IKK攻擊具有相當(dāng)高的成功率,在關(guān)鍵字空間小于2500個(gè)時(shí),攻擊還原關(guān)鍵字的成功率為 60%~80%,且用戶提出的搜索請(qǐng)求越頻繁,攻擊的成功率就越高。此外,Islam 還在文章中表示這一攻擊具有自適應(yīng)性,即敵手可以根據(jù)已猜測(cè)出的關(guān)鍵字對(duì)矩陣M進(jìn)行調(diào)整,達(dá)到更好的攻擊效果。
和 IKK攻擊類似,推理攻擊一般是敵手通過數(shù)據(jù)挖掘,收集到用戶進(jìn)行搜索和訪問時(shí)的統(tǒng)計(jì)數(shù)據(jù),獲得例如關(guān)鍵字搜索返回文件集合的大小等信息。之后,敵手可以通過構(gòu)建一些特征比較函數(shù)來比較用戶數(shù)據(jù)與公開數(shù)據(jù)庫(kù)間的特征相似之處,不斷推理出用戶的關(guān)鍵字信息。在第 4節(jié)描述的適應(yīng)性安全模型無法抵擋這種攻擊原因在于,適應(yīng)性安全模型是半誠(chéng)實(shí)的被動(dòng)敵手模型,其中我們往往只考慮某一次單獨(dú)的搜索或更新中的信息泄露是否安全,但敵手不會(huì)主動(dòng)收集用戶的多次搜索或更新的歷史信息進(jìn)行利用。
因此這一類型攻擊的特點(diǎn)在于通過用戶多次,大量的進(jìn)行搜索或更新操作,以此提供返回文件信息和陷門信息給敵手進(jìn)行分析,恢復(fù)出用戶搜索的關(guān)鍵字內(nèi)容。而且,一旦某些關(guān)鍵字內(nèi)容被破解或用戶已經(jīng)提前泄露了部分關(guān)鍵字內(nèi)容,將形成“多米諾骨牌”效應(yīng),攻擊的效果將大大增強(qiáng)。
在這之后,2014年,Liu等人[29]給出了一種新的推理攻擊手段,與 IKK攻擊的區(qū)別在于沒有采用單詞并發(fā)矩陣,而是通過公開的單詞頻率統(tǒng)計(jì)工具得到單個(gè)關(guān)鍵字在公眾數(shù)據(jù)庫(kù)中的頻率特征,然后同樣與用戶進(jìn)行多次交互,收集并統(tǒng)計(jì)每個(gè)陷門對(duì)應(yīng)的結(jié)果信息進(jìn)行對(duì)比。
進(jìn)一步地,2015年,Cash[23]提出了計(jì)數(shù)攻擊(Count Attack),結(jié)合了之前Islam和Liu提出攻擊的優(yōu)點(diǎn),并改進(jìn)了由于關(guān)鍵字空間增大會(huì)導(dǎo)致攻擊效果顯著下降的缺點(diǎn)如圖 6所示,即在關(guān)鍵字空間較大時(shí),Cash的計(jì)數(shù)攻擊仍有較高的成功率和效率。
圖6 計(jì)數(shù)攻擊與IKK攻擊對(duì)比Figure 6 Counting attack vs.IKK attack
近年來,這種針對(duì)用戶訪問模式進(jìn)行數(shù)據(jù)挖掘思想的推理攻擊仍然不斷被提出[12,30-34],例如Naveed等人[30]和 Grubbs等人[32]將推理攻擊應(yīng)用到滿足性質(zhì)保持(property-preserving)的加密數(shù)據(jù)庫(kù)上給出了具體的攻擊方案,Pouliot等人[31]則針對(duì)采用了 EDESE(文件后附帶加密關(guān)鍵字列表)設(shè)計(jì)思想的可搜索加密協(xié)議進(jìn)行攻擊,結(jié)合圖論中的WGM(Weighted Graph Matching)問題來設(shè)計(jì)用戶數(shù)據(jù)與公開數(shù)據(jù)庫(kù)的比對(duì)方法。Kellaris等人[27]和Lacharité等人[28]則將他們提出的攻擊手段稱之為重建攻擊(reconstruction attack),它們都是對(duì)支持范圍查詢(range queries)的加密數(shù)據(jù)庫(kù)進(jìn)行攻擊,攻擊基本原理是標(biāo)記范圍查詢中最小(或最大)的結(jié)果,利用查詢記錄返回的頻率結(jié)合已知的其他記錄來進(jìn)行標(biāo)記和比對(duì),實(shí)際上我們可以看出這與之前所描述的推理攻擊的基本思想是一致的,都是按照數(shù)據(jù)收集-公開比對(duì)的模式來恢復(fù)關(guān)鍵字內(nèi)容。
2016年,Zhang[24]針對(duì)動(dòng)態(tài)對(duì)稱可搜索加密方案提出了文件注入攻擊。這一攻擊只針對(duì)具有動(dòng)態(tài)性的SSE方案,并且具有代價(jià)小,攻擊效果強(qiáng)的特點(diǎn)。
與5.1節(jié)中的推理攻擊方式不同,這一攻擊方法是: 敵手首先向動(dòng)態(tài)的對(duì)稱可搜索加密系統(tǒng)注入一些含有特定關(guān)鍵字(敵手設(shè)計(jì))的文件,系統(tǒng)在更新這些文件后,敵手根據(jù)用戶原來提交過的用戶陷門私自進(jìn)行關(guān)鍵字查詢,通過查詢結(jié)果還原陷門對(duì)應(yīng)的關(guān)鍵字。
下面用一個(gè)簡(jiǎn)單的例子來說明文件注入攻擊。假設(shè)關(guān)鍵字總共有8個(gè)分別編號(hào)1~8,敵手構(gòu)建3份含有特定關(guān)鍵字的注入文件,每份文件含有 4個(gè)不同的關(guān)鍵字,如圖7所示,第一份文件含有4,5,6,7號(hào)關(guān)鍵字,第二份文件含有2,3,6,7號(hào)關(guān)鍵字,第三份文件含有1,3,5,7號(hào)關(guān)鍵字。用戶以前查詢過2號(hào)關(guān)鍵字并對(duì)應(yīng)提交過陷門T,敵手為了還原T所對(duì)應(yīng)的關(guān)鍵字,首先向系統(tǒng)注入這 3份特定文件并等待系統(tǒng)更新后,根據(jù)陷門T私下對(duì)系統(tǒng)進(jìn)行搜索。敵手根據(jù)三份注入的文件是否響應(yīng)搜索,如果響應(yīng)結(jié)果為0,1,0,根據(jù)二分法的思想,就可以確定陷門T對(duì)應(yīng)了2號(hào)關(guān)鍵字,從而破解了搜索的隱私安全。
圖7 文件注入攻擊示例Figure 7 Example of file-injection attack
文件注入攻擊簡(jiǎn)單高效,敵手可以任意設(shè)定可能的關(guān)鍵字空間,如果敵手事先了解用戶的使用背景就可以限定到一個(gè)更小的關(guān)鍵字空間使得攻擊更為成功。并且,對(duì)于K個(gè)關(guān)鍵字,只需要構(gòu)造log份注入文件即可,代價(jià)很小。由于這一攻擊對(duì)不滿足前向安全的DSSE方案具有致命的威脅,可以100%地還原用戶的關(guān)鍵字信息,因此前向安全的可搜索加密方案得到了迅速的關(guān)注和深入的研究,在5.3.2中進(jìn)一步介紹。
如5.1節(jié)與5.2節(jié)中所描述的,對(duì)稱可搜索加密目前主要面臨兩個(gè)新的安全性挑戰(zhàn)。而在這些攻擊提出以來,可搜索加密的研究者們也積極地提出了新的安全模型和對(duì)抗手段。
5.3.1 針對(duì)推理攻擊
根據(jù)推理攻擊的原理,近年來,SSE的研究者們一般給出的解決辦法是隱藏返回結(jié)果的大小(Result Pattern Hiding)。由于推理攻擊一般是利用用戶查詢操作后,返回文件時(shí),由于服務(wù)器對(duì)交互信息和存儲(chǔ)空間的監(jiān)視,可以獲得返回結(jié)果文件的個(gè)數(shù)與大小等信息,以此和公共數(shù)據(jù)進(jìn)行比對(duì)。因此,隱藏返回結(jié)果的大小是直接且有效的方法。
從細(xì)節(jié)上,目前隱藏返回結(jié)果的大小有填充(padding)和分區(qū)(partition)兩種通用方法。填充是指對(duì)每個(gè)關(guān)鍵字返回的結(jié)果用虛假數(shù)據(jù)進(jìn)行填充使得每個(gè)關(guān)鍵字的返回結(jié)果大小一致; 分區(qū)是指將同一個(gè)關(guān)鍵字在服務(wù)器不知情的情況下拆分成多個(gè)區(qū)域進(jìn)行搜索,以此隱藏單個(gè)關(guān)鍵字結(jié)果的真實(shí)大小。顯然填充需要額外的存儲(chǔ)和交互開銷,分區(qū)搜索需要額外的密鑰管理和搜索時(shí)間的延長(zhǎng),這都會(huì)對(duì)方案的效率產(chǎn)生很大影響。
還有一些其他的方法進(jìn)行結(jié)果隱藏,例如 2018年,Lai等人[34]就結(jié)合 HVE方法 (Hidden Vector Encryption)給出了隱藏返回結(jié)果大小的支持多關(guān)鍵字查詢的SSE方案。2019年,Kamara等人[35]給出了一個(gè)通用轉(zhuǎn)換器,將填充和分區(qū)兩種方法結(jié)合使用,能夠?qū)⒁话愕腟SE方案進(jìn)行轉(zhuǎn)換達(dá)到隱藏返回結(jié)果大小的目的。雖然這些方案都能直接抵抗推理攻擊,但如何構(gòu)建更為高效的方案或給出新的方法也是目前研究的重要方向之一。
5.3.2 針對(duì)文件注入攻擊
2014年,針對(duì)動(dòng)態(tài)對(duì)稱可搜索加密,Stefanov[26]首次提出,在用戶進(jìn)行添加文件時(shí)應(yīng)當(dāng)滿足前向安全,在刪除文件時(shí)應(yīng)該滿足后向安全。簡(jiǎn)單來講,前向安全是指添加的新文件不應(yīng)該被以前的陷門查詢到,后向安全是指刪除后的文件不能被服務(wù)器訪問到。雖然有部分文章[37-38]對(duì)后向安全進(jìn)行了一些研究,但目前為止還沒有發(fā)現(xiàn)不滿足后向安全所帶來的安全漏洞,因此目前的研究重心主要在前向安全。
在2016年提出的文件注入攻擊大大強(qiáng)調(diào)了前向安全的重要性。實(shí)際上滿足前向安全就能夠抵抗文件注入攻擊,這是因?yàn)槿?.2中所述,服務(wù)器要成功恢復(fù)關(guān)鍵字內(nèi)容,必須用舊的陷門得到新注入文件的響應(yīng),而前向安全不允許舊的陷門查詢到新的更新文件。因此近年來,前向安全作為新的安全模型得到了廣泛的研究。
Stefanov構(gòu)造了一個(gè)滿足前向安全的DSSE方案,卻并沒有給出這個(gè)安全概念的正式定義或討論其重要性。在之后,Bost等人[20]才第一次正式形式化地定義了前向安全,并給出了一個(gè)前向安全的方案。
這一定義說明更新時(shí)的泄露信息只能嚴(yán)格包含操作類型、文件標(biāo)識(shí)符、文件大小,而沒有其他任何信息,因此可以被寫成如上形式。實(shí)際上,前向安全并不與L-適應(yīng)性安全沖突,應(yīng)當(dāng)理解為在L-適應(yīng)性安全的基礎(chǔ)上同時(shí)滿足前向安全。之后,Bost等人[36]又提出了同時(shí)滿足前向安全和后向安全的通用方案,2017年,Kim等人[21]設(shè)計(jì)了一種新的索引結(jié)構(gòu)雙重字典(dual dictionary),以此給出了支持高效更新的前向安全方案。2018年,Ghareh等人[37]的前向安全方案是利用偽隨機(jī)函數(shù)生成器將更新文件時(shí)的密鑰進(jìn)行更新。同年,Mishra等人[38]結(jié)合ORAM技術(shù)思想給出了一個(gè)提供不經(jīng)意訪問的安全索引結(jié)構(gòu)Oblix來實(shí)現(xiàn)前向安全。
近年來,面對(duì)新的安全挑戰(zhàn),一些方案[26,39-40]結(jié)合ORAM思想進(jìn)行設(shè)計(jì),以犧牲一定的效率來保證安全性。
Oblivious RAM (簡(jiǎn)稱ORAM)技術(shù)是1996年[41]提出用于云存儲(chǔ)服務(wù)并進(jìn)行數(shù)據(jù)保密的一種技術(shù),是另一獨(dú)立的研究方向,至今仍有很高的研究熱度。ORAM 因?yàn)槠渫耆[藏用戶的訪問和存儲(chǔ)信息而可以提供云存儲(chǔ)中最高級(jí)別的安全。然而ORAM的劣勢(shì)相當(dāng)明顯,即計(jì)算復(fù)雜度和帶寬開銷過大,效率極低。因此在第5節(jié)中描述新的安全問題提出以前,將 ORAM 用于 SE的設(shè)計(jì)是冗余且低效的。文獻(xiàn)[26,39-40]中的方案沒有直接利用 ORAM 結(jié)構(gòu)作為方案的主體,而是間接采用其“混淆”存儲(chǔ)位置和訪問信息的思想進(jìn)行構(gòu)造,實(shí)現(xiàn)了效率和安全的權(quán)衡,具有一定的可行性,但還需要進(jìn)一步的效率提升。
綜上所述,自2000年對(duì)稱可搜索加密被提出以來,到2012年Kamara等人完成了動(dòng)態(tài)對(duì)稱可搜索加密的L-適應(yīng)性安全模型的建立,對(duì)稱可搜索加密的安全性研究已經(jīng)逐漸趨向成熟。然而,2012年以來,對(duì)稱可搜索加密的安全性有了兩個(gè)新的挑戰(zhàn): 一是如何抵抗類似 IKK攻擊的推理攻擊; 二是對(duì)文件注入攻擊和前向安全的進(jìn)一步研究。針對(duì)前者,隱藏返回結(jié)果的大小是較為直接的方法,但這一方法會(huì)導(dǎo)致效率受到很大影響,還需要進(jìn)一步的討論和研究。在前向安全方面,雖然研究已經(jīng)具備一定的成果,各種方法實(shí)現(xiàn)前向安全的方案層出不窮,但是效率和開銷問題仍然需要進(jìn)一步的取舍。除此之外,不滿足后向安全具有的安全威脅還未被發(fā)現(xiàn),值得未來探討。
一般地,在構(gòu)造可搜索加密方案時(shí),研究者們需要考慮三個(gè)方面: 安全性、表達(dá)能力和效率開銷。安全性毋庸置疑是可搜索加密提出的前提,也是最重要的問題。在安全性的研究以外,效率和表達(dá)能力的研究也備受關(guān)注。表達(dá)能力主要考慮的是在進(jìn)行檢索詢問時(shí)是否支持更多的功能如模糊搜索,連詞搜索等。效率開銷問題則是在前兩個(gè)問題基礎(chǔ)上將可搜索加密技術(shù)應(yīng)用到現(xiàn)實(shí)設(shè)備中的一大阻礙。其中,如研究用戶除了搜索單個(gè)關(guān)鍵字外還支持布爾查詢的方案[42-43],支持模糊查詢[44]等,通過結(jié)合ABE或IBE實(shí)現(xiàn)細(xì)粒度的訪問控制的可搜索加密方案[45-46],對(duì)可搜索加密效率與安全間權(quán)衡問題的研究[47-48]等。實(shí)際上,表達(dá)能力和效率的研究與安全性也是息息相關(guān)的。
從可搜索加密提出的最根本目的出發(fā),為了保障用戶使用云存儲(chǔ)服務(wù)時(shí)的隱私安全,安全性問題依舊是可搜索加密技術(shù)未來研究最重要的一環(huán)。除此之外,可搜索加密技術(shù)仍然依附于現(xiàn)有的傳統(tǒng)加密技術(shù)進(jìn)行設(shè)計(jì),而傳統(tǒng)加密技術(shù)目前面臨的一大挑戰(zhàn)是量子計(jì)算機(jī)的誕生,雖然目前抗量子密碼算法設(shè)計(jì)工作正如火如荼的進(jìn)行,但還沒有具體應(yīng)用到可搜索加密技術(shù)中。
最后,總結(jié)一下可搜索加密技術(shù)如今面臨的問題以及未來的發(fā)展方向:
1.如何更有效地抵抗類似IKK攻擊等推理攻擊;
2.對(duì)前向安全和后向安全進(jìn)一步的探討;
3.在安全性實(shí)現(xiàn)的同時(shí)如何權(quán)衡效率和表達(dá)能力以應(yīng)用于實(shí)際;
4.抗量子的可搜索加密方案的討論與設(shè)計(jì)。