摘 要:為了有效解決數(shù)據(jù)隱私保護和安全搜索等問題,可搜索加密技術(shù)應(yīng)時而生??伤阉骷用苁且环N保護數(shù)據(jù)隱私的加密技術(shù),允許在加密的狀態(tài)下進行搜索和查詢??伤阉骷用艿难芯恐饕▽ΨQ可搜索加密和非對稱可搜索加密等,其基本原理包括對關(guān)鍵詞進行編碼和加密,設(shè)計相應(yīng)的索引結(jié)構(gòu)和搜索算法??伤阉骷用芗夹g(shù)在云計算、醫(yī)療健康、金融和物聯(lián)網(wǎng)等領(lǐng)域具有廣泛的應(yīng)用潛力。研究者致力于提供效率更高、安全性更好、擴展性更強的可搜索加密方案。介紹了可搜索加密的相關(guān)研究歷史以及2 種可搜索加密技術(shù),從安全性和關(guān)鍵詞猜測攻擊分析了可搜索加密技術(shù)的實用性,還指出了該領(lǐng)域存在的亟需解決的問題和今后的研究方向,在推進可搜索加密的進一步研究方面發(fā)揮了作用。
關(guān)鍵詞:可搜索加密;對稱可搜索加密;非對稱可搜索加密;隱私保護;安全搜索
中圖分類號:TN918. 4 文獻標志碼:A 開放科學(資源服務(wù))標識碼(OSID):
文章編號:1003-3106(2024)07-1786-09
0 引言
可搜索加密技術(shù)是針對數(shù)據(jù)隱私保護、安全搜索等問題所提出的解決方案。隨著互聯(lián)網(wǎng)時代的到來,人們越來越重視個人隱私和敏感信息的保護,同時也希望能夠在加密數(shù)據(jù)上進行有效的搜索和查詢。用戶數(shù)據(jù)應(yīng)用需求主要包括[1-4]:
隱私保護需求:在互聯(lián)網(wǎng)和云計算時代,個人和組織的敏感數(shù)據(jù)越來越多地存儲在云端,這些數(shù)據(jù)可能包含個人身份信息、醫(yī)療記錄和金融數(shù)據(jù)等。為了保護這些數(shù)據(jù)的隱私,人們需要一種安全的方式來存儲和處理這些數(shù)據(jù)。可搜索加密技術(shù)可以將用戶的數(shù)據(jù)加密存儲,使得只有授權(quán)的用戶才能解密和訪問數(shù)據(jù),可以防止第三方獲取敏感數(shù)據(jù),保護用戶的隱私。
安全搜索需求:傳統(tǒng)的加密方法通常需要將數(shù)據(jù)解密后才能進行搜索和查詢,這會暴露數(shù)據(jù)的明文,存在安全風險。可搜索加密技術(shù)的出現(xiàn)可以在不暴露數(shù)據(jù)明文的情況下,實現(xiàn)安全搜索和查詢,滿足用戶的安全需求。
法律和合規(guī)要求:隨著數(shù)據(jù)保護法律和合規(guī)要求的不斷加強,個人和組織需要采取措施,確保數(shù)據(jù)的安全性和隱私保護??伤阉骷用芗夹g(shù)可以幫助滿足法律要求,同時保護數(shù)據(jù)的隱私和安全。
數(shù)據(jù)共享與協(xié)作:在某些場景下,多個用戶或組織需要共享和協(xié)作處理加密數(shù)據(jù),但又不希望將數(shù)據(jù)解密??伤阉骷用芗夹g(shù)可以實現(xiàn)在加密數(shù)據(jù)上進行搜索和查詢,方便用戶的數(shù)據(jù)共享和協(xié)作。
綜上所述,可搜索加密技術(shù)能夠有效解決數(shù)據(jù)隱私保護和安全搜索等問題。隨著技術(shù)的不斷發(fā)展和應(yīng)用場景的擴大,可搜索加密技術(shù)將在數(shù)據(jù)安全和隱私保護領(lǐng)域發(fā)揮更重要的作用。
1 基本原理
可搜索加密的研究歷史可以追溯到21 世紀初。2000 年,Song 等[5]首次提出了可搜索加密的概念,研究表明,通過將加密數(shù)據(jù)轉(zhuǎn)換為可搜索的形式,可以實現(xiàn)在加密數(shù)據(jù)上進行搜索的功能。2003 年,Goh[6]提出基于陷門函數(shù)(Trapdoor Function)的可搜索加密方案,同時使用Bloom Filter 技術(shù),實現(xiàn)在加密數(shù)據(jù)上進行模糊匹配的搜索。2004 年,Boneh等[7]提出了靜態(tài)可搜索加密方案。允許用戶加密數(shù)據(jù),然后在保持數(shù)據(jù)加密的同時,可以在加密數(shù)據(jù)上進行關(guān)鍵字搜索。但由于方案需要將數(shù)據(jù)完全解密,存在安全性和隱私性的問題。之后Kamara等[8 -9]引入了動態(tài)可搜索加密的概念。與靜態(tài)可搜索加密不同,動態(tài)可搜索加密允許用戶在加密數(shù)據(jù)上進行動態(tài)的更新和搜索操作,而無需解密整個數(shù)據(jù)集。2007 年,Boneh 等[10]提出非對稱可搜索加密方案,首次使用了公鑰密碼學,實現(xiàn)了不需要將數(shù)據(jù)解密即可在加密數(shù)據(jù)上進行關(guān)鍵詞搜索。2015 年,Cash 等[11]基于屬性的可搜索加密方案,允許用戶根據(jù)數(shù)據(jù)的屬性進行搜索和查詢。在傳統(tǒng)的可搜索加密方案中,搜索模式可能會被泄露,從而導致隱私泄露。因此,文獻[12]開始關(guān)注如何保護搜索模式的隱私。一些方案通過引入陷門函數(shù)技術(shù)或模糊搜索模式來保護搜索模式的隱私。隨著可搜索加密的研究深入,關(guān)注點變成了如何提高可搜索加密的實用性和效率。研究者們提出了一系列改進方案,包括加速搜索算法、減少通信和計算開銷等。文獻[13]對可搜索加密方案的安全性進行了深入的分析,并提出了多種攻擊模型,如泄漏濫用攻擊、側(cè)信道攻擊等。這些研究為改進和設(shè)計更安全的可搜索加密方案提供了指導。
近年來,可搜索加密的研究重點逐漸轉(zhuǎn)向了更高級別的加密技術(shù),如多方安全計算和同態(tài)加密,以實現(xiàn)更復雜的搜索和查詢功能,同時保護數(shù)據(jù)的隱私和安全。2018 年,Acar 等[14]對同態(tài)加密方案進行了調(diào)研和總結(jié)。同態(tài)加密是一種特殊的加密技術(shù),允許在加密狀態(tài)下對數(shù)據(jù)進行計算,而無需解密。隨后,楊亞濤等[15]介紹了不同類型的同態(tài)加密方案和實現(xiàn)技術(shù),并討論了同態(tài)加密在隱私保護、云計算和數(shù)據(jù)共享等領(lǐng)域的應(yīng)用。2021 年,Mousavi 等[16]對互聯(lián)網(wǎng)物聯(lián)網(wǎng)領(lǐng)域的安全和隱私保護加密技術(shù)進行了總結(jié)。它涵蓋了各種加密算法、安全協(xié)議和隱私保護技術(shù),以及它們在物聯(lián)網(wǎng)環(huán)境中的應(yīng)用。2023 年,馮濤等[17]結(jié)合可搜索加密技術(shù)和基于屬性的加密,大大加強了數(shù)據(jù)隱私的保護??伤阉骷用艿难芯恐荚诒Wo數(shù)據(jù)隱私的同時,實現(xiàn)有效的搜索和查詢功能。隨著互聯(lián)網(wǎng)和云計算的發(fā)展,可搜索加密技術(shù)在實際應(yīng)用中扮演越來越重要角色[18-19]。
可搜索加密的過程通常包括以下幾個步驟:
① 數(shù)據(jù)預(yù)處理:在進行可搜索加密之前,需要對原始數(shù)據(jù)進行預(yù)處理。包括將數(shù)據(jù)分成適當?shù)膯卧ㄈ缥臋n、文件和記錄等)以及提取關(guān)鍵詞或?qū)傩浴?/p>
② 數(shù)據(jù)加密:使用合適的加密算法對數(shù)據(jù)進行加密??伤阉骷用芡ǔJ褂脤ΨQ或非對稱加密算法。對稱加密使用相同的密鑰進行加密和解密,而非對稱加密使用公鑰加密和私鑰解密。
③ 陷門生成:在可搜索加密中,需要生成用于搜索的陷門。陷門是一個特殊的密鑰或標識符,用于在加密數(shù)據(jù)中進行搜索和匹配。陷門生成通常基于關(guān)鍵詞或?qū)傩?,并使用加密算法生成?/p>
④ 索引構(gòu)建:在加密數(shù)據(jù)上構(gòu)建索引,以便快速執(zhí)行搜索操作。索引是根據(jù)關(guān)鍵詞或?qū)傩詷?gòu)建的數(shù)據(jù)結(jié)構(gòu),用于存儲和檢索加密數(shù)據(jù)中的信息。
⑤ 搜索操作:當用戶需要搜索特定的關(guān)鍵詞或?qū)傩詴r,使用生成的陷門進行搜索操作。搜索操作通常涉及使用陷門與索引進行匹配,以確定是否存在匹配的數(shù)據(jù)。
⑥ 結(jié)果返回:根據(jù)搜索操作的結(jié)果,返回符合搜索條件的加密數(shù)據(jù)或相關(guān)信息給用戶。這可能涉及解密或部分解密數(shù)據(jù),以提取相關(guān)信息。
可搜索加密的過程會在保護數(shù)據(jù)隱私的同時提供搜索和查詢功能[20]。這意味著在加密數(shù)據(jù)上進行搜索操作時,不會暴露數(shù)據(jù)的明文內(nèi)容??伤阉骷用艿年P(guān)鍵,在于如何高效地實現(xiàn)陷門生成和索引構(gòu)建,以提升查詢的效率和準確度。另外,保護密碼數(shù)據(jù)的安全和私密性也是可搜索加密過程中的主要考量原因??伤阉骷用苤饕藢ΨQ可搜索加密和非對稱可搜索加密。以下將對這2 種可搜索加密進行詳細說明。
2 對稱可搜索加密
2. 1 定義
對稱可搜索加密使用對稱加密算法對數(shù)據(jù)進行加密和搜索,允許用戶在不暴露數(shù)據(jù)明文的情況下,通過加密的方式進行關(guān)鍵詞搜索和查詢。
定義1 對稱可搜索加密算法描述如下:
① 密鑰生成KeyGen(μ)→S:輸入安全參數(shù)μ,生成加密密鑰S。
② 數(shù)據(jù)加密Encrypt(S,M)→(I,V):M 是明文。首先,加密要被搜索和查詢的數(shù)據(jù),加密過程中需要使用一個密鑰,該密鑰需要保密且只有授權(quán)的用戶可以獲得;其次,此算法生成文件索引I 和密文文件集V = (V1 ,V2 ,…,Vn ),部分方案無需生成索引;最后,為了支持高效的搜索和查詢,需要構(gòu)建相應(yīng)的索引結(jié)構(gòu);索引結(jié)構(gòu)通常包括關(guān)鍵詞和對應(yīng)加密數(shù)據(jù)的映射關(guān)系,以及其他輔助信息,如關(guān)鍵詞出現(xiàn)的頻率等。
③ 陷門生成Trapdoor(S,ε)→Tε:輸入用戶所需查詢的關(guān)鍵詞ε,生成關(guān)鍵詞ε 對應(yīng)的陷門Tε。
④ 搜索查詢Search(I,Tε)→M(ε):當用戶需要搜索或查詢特定關(guān)鍵詞時,用戶根據(jù)此算法輸入文件索引I 以及生成陷門Tε 進行查找匹配,根據(jù)匹配結(jié)果,用戶可以獲得加密數(shù)據(jù)的相關(guān)信息或者搜索結(jié)果的文件集合M(ε)。
⑤ 數(shù)據(jù)解密Decrypt(S,Vi)→Mi:使用加密密鑰S 解密已返回的密文文件Vi,生成明文文件Mi。
對稱可搜索加密通常對關(guān)鍵詞先進行處理,當用戶在關(guān)鍵詞搜索中,查詢的關(guān)鍵詞也會被處理。通過相似性匹配文件的關(guān)鍵詞,結(jié)果滿足一定格式,則匹配成功,返回對應(yīng)的文件。模型如圖1 所示。
2. 2 SWP 方案
Searchable Symmetric Encryption with PredicatePrivacy(SWP)是一種對稱可搜索加密方案,其設(shè)計目標是保護搜索的關(guān)鍵詞詞隱私。SWP 方案的基本原理如下。
① 在SWP 方案中,首先需要對明文數(shù)據(jù)建立一個索引結(jié)構(gòu),以支持搜索操作。索引結(jié)構(gòu)通常使用基于倒排列表的方式,將關(guān)鍵詞與對應(yīng)的文檔標識符關(guān)聯(lián)起來。索引結(jié)構(gòu)可以在本地維護,也可以存儲在云中。
② 加密:對于每個文檔,使用對稱加密算法對其進行加密。對稱密鑰是由用戶設(shè)定的,用于加密和解密文檔。
③ 搜索:當用戶需要搜索某個關(guān)鍵詞時,首先使用對稱密鑰解密索引結(jié)構(gòu),獲取到包含該關(guān)鍵詞的文檔標識符。然后使用對稱密鑰解密相應(yīng)的加密文檔,得到明文結(jié)果。
④ 關(guān)鍵詞隱私保護:SWP 方案的一個關(guān)鍵特性是保護搜索的關(guān)鍵詞隱私。關(guān)鍵詞隱私指的是用戶的搜索關(guān)鍵詞不會被泄露給第三方。在SWP 方案中,搜索過程是在加密的文檔和索引結(jié)構(gòu)上進行的,用戶的搜索謂詞(關(guān)鍵詞)不會暴露給云服務(wù)器或其他未授權(quán)的實體。
定義2 SWP 按圖2 加密,算法描述如下:
① 加密算法Encrypt():將數(shù)據(jù)分為長度一定的單詞塊Wi,計算Xi = Encrypt′(Wi )= 〈Li,Ri 〉,ki =H1(Li),Si = Random(s),Fki = H2(Si ),Ti = 〈Si,Fki 〉,Vi = Ti ⊕Xi。其中Encrypt′()是分組加密算法,H()是哈希函數(shù),Random()是偽隨機函數(shù),Li 和Ri 是長度相等的字符,Si 是偽隨機序列,Vi 是異或后得到的密文。
② 檢索算法Serrch():用戶把需查詢關(guān)鍵詞對應(yīng)的Xi 和ki 上傳至服務(wù)器進行檢索。服務(wù)器得到Xi 和ki,計算Ti = Xi ⊕Vi,令Ti = 〈Ti L,Ti R〉,驗證等式H2ki(Ti L)= Ti R,若相等,則檢索成功。
③ 解密算法Dncrypt():令Si = 〈Si L,Si R〉,Vi =〈Vi L,Vi R〉,計算Li =Si L⊕Vi L,ki =H1(Li),Fki =H2(Si),R i = F k i ⊕ Vi R,將Li 和R i 拼接得到X i ,解密X i = 〈Li ,R i 〉。
SWP 方案的設(shè)計需要兼顧搜索效率和數(shù)據(jù)安全性。在實際應(yīng)用中,還需要考慮索引結(jié)構(gòu)的大小、搜索速度以及加密算法的安全性等因素。此外,SWP 方案也需要解決關(guān)鍵詞模糊搜索、動態(tài)更新索引等實際應(yīng)用中的問題,以提供更好的用戶體驗和數(shù)據(jù)保護。
2. 3 安全性分析
對稱可搜索加密的安全性主要包括以下幾個方面:
① 保護數(shù)據(jù)隱私:對稱可搜索加密技術(shù)應(yīng)該保證加密后的數(shù)據(jù)對于未授權(quán)的第三方是不可讀的。只有擁有對稱密鑰的合法用戶才能解密和獲取明文數(shù)據(jù)。
② 保護搜索謂詞隱私:對稱可搜索加密方案應(yīng)該確保用戶的搜索謂詞不被泄露給云服務(wù)器或其他未授權(quán)的實體。這樣可以避免第三方通過分析搜索謂詞來獲取用戶的隱私信息。
③ 抵抗關(guān)聯(lián)攻擊:對稱可搜索加密方案應(yīng)該具備抵抗關(guān)聯(lián)攻擊的能力。關(guān)聯(lián)攻擊是指通過分析多個搜索請求的結(jié)果,來推斷出某個特定的搜索謂詞。對稱可搜索加密方案應(yīng)該采用技術(shù)手段來防止這種關(guān)聯(lián)攻擊。
④ 防止信息泄露:對稱可搜索加密方案應(yīng)該防止信息泄露。這包括在索引結(jié)構(gòu)中隱藏關(guān)鍵詞信息,以及在搜索結(jié)果中僅返回與搜索謂詞相關(guān)的文檔而不暴露其他文檔的信息。
⑤ 抵抗暴力破解:對稱可搜索加密方案應(yīng)該使用強大的對稱加密算法和密鑰長度,以抵抗暴力破解攻擊。密鑰空間足夠大且加密算法安全可靠,才能保證對稱密鑰的機密性。
對稱可搜索加密方案的安全性是一個復雜的問題,需要綜合考慮加密算法的安全性、密鑰管理的安全性、搜索過程的安全性等多個方面。在設(shè)計和選擇對稱可搜索加密方案時,需要綜合權(quán)衡安全性和性能,以滿足實際應(yīng)用的需求。
2. 4 小結(jié)
對稱可搜索加密技術(shù)的優(yōu)點是搜索和查詢的過程不需要解密數(shù)據(jù),有效保護了數(shù)據(jù)的隱私和安全。同時,由于使用對稱加密算法,搜索和查詢的效率較高。然而,在構(gòu)造索引結(jié)構(gòu)時,由于其包含了關(guān)鍵詞和對應(yīng)加密數(shù)據(jù)的映射關(guān)系,對稱可搜索加密技術(shù)表現(xiàn)出其局限性。此外,對稱可搜索加密技術(shù)可能受到關(guān)鍵詞泄露和頻譜分析等攻擊,需要設(shè)計相應(yīng)的安全機制來抵御這些攻擊。
3 非對稱可搜索加密
非對稱可搜索加密,即公鑰可搜索加密(Public-key Encryption with Keyword Search,PEKS),最早由Boneh 等[7]在2004 年提出,旨在解決在加密狀態(tài)下進行有效搜索的問題。最初的可搜索加密方案是基于對稱加密的,即使用相同的密鑰進行加密和搜索操作。
然而,對稱可搜索加密方案存在一個問題,即密鑰的管理和分發(fā)[21]。因為對稱加密需要發(fā)送者和接收者事先共享密鑰,這在大規(guī)模的系統(tǒng)中是不可行的。故研究人員開始探索使用公鑰密碼學的方法來實現(xiàn)可搜索加密。
公鑰密碼學是一種使用不同的密鑰進行加密和解密的密碼學體系[22]。它使用一對密鑰,即公鑰和私鑰,其中公鑰是公開的,私鑰只有密鑰持有者擁有。公鑰可用于加密數(shù)據(jù),私鑰用于解密數(shù)據(jù)。公鑰密碼學的出現(xiàn)為可搜索加密提供了新的思路。
在PEKS 中,搜索關(guān)鍵詞不再直接加密,而是使用公鑰進行加密。只有私鑰持有者才能解密搜索關(guān)鍵詞,并在加密索引中進行搜索操作[23]。這樣,用戶的搜索隱私得到了更好的保護。
PEKS 的研究和發(fā)展仍在不斷進行中。研究人員提出了許多不同的PEKS 方案,包括基于陷門函數(shù)的方案、基于同態(tài)加密的方案和基于加密搜索樹的方案等。這些方案在保護搜索隱私的同時,也在效率和功能需求方面提供了不同的權(quán)衡。PEKS 在保護搜索隱私和提供靈活性方面具有重要的應(yīng)用潛力,是可搜索加密領(lǐng)域的重要研究方向之一。
相比對稱可搜索加密方案,非對稱可搜索加密方案具有以下優(yōu)點[24-25]:
① 搜索隱私保護:非對稱可搜索加密方案通過使用公鑰對搜索關(guān)鍵詞進行加密,只有私鑰持有者能夠解密搜索關(guān)鍵詞,保護了用戶的搜索隱私。即使服務(wù)提供方和其他第三方攻擊者獲取到了加密的搜索關(guān)鍵詞,也無法獲知其明文內(nèi)容。
② 公鑰加密的便利性:使用公鑰進行加密搜索關(guān)鍵詞,無需事先與服務(wù)提供方進行密鑰的共享,方便實現(xiàn)用戶與服務(wù)提供方的通信。用戶只需獲取服務(wù)提供方的公鑰即可進行加密搜索,而不需要擔心密鑰的管理和分發(fā)問題。
③ 靈活性和可擴展性:非對稱可搜索加密方案可以支持多個用戶同時進行搜索,而不需要為每個用戶分配特定的密鑰。服務(wù)提供方只需保持自己的私鑰,即可支持多個用戶的搜索請求,大大提高了系統(tǒng)的靈活性和可擴展性。
④ 安全性較高:非對稱可搜索加密方案基于公鑰密碼學,利用數(shù)學難題的計算復雜性保證了加密和解密操作的安全性。只有私鑰的持有者才能解密搜索結(jié)果,確保了搜索結(jié)果的保密性。
⑤ 可驗證性:非對稱可搜索加密方案可以支持搜索結(jié)果的驗證,即用戶可以使用服務(wù)提供方的公鑰對返回的搜索結(jié)果進行驗證,確保結(jié)果的完整性和可靠性。
非對稱可搜索加密方案也存在一些挑戰(zhàn)和限制,如加密計算和搜索效率較低,索引結(jié)構(gòu)的設(shè)計和管理等問題。在實際應(yīng)用中,需要綜合考慮安全性、效率和功能需求,選擇合適的可搜索加密方案。
定義3 非對稱可搜索加密即PEKS 模圖如圖3 所示,PEKS 算法描述如下: = (Setup,KeyGen,Encrypt,Tropdoor,Test)。
① 系統(tǒng)建立Setup(μ):輸入安全參數(shù)KeyGen(μ)→(sk,pk)。
② 密鑰生成KeyGen(μ)→(sk,pk):輸入安全參數(shù)μ,輸出私鑰sk 和公鑰pk。
③ 加密算法Encrypt(pk,ε)→Vε:輸入公鑰pk和關(guān)鍵詞ε,輸出關(guān)鍵詞對應(yīng)密文Vε。
④ 陷門生成Trapdoor(sk,ε)→Tε:輸入私鑰sk和關(guān)鍵詞ε,輸出關(guān)鍵詞對應(yīng)的陷門Tε。
⑤ 測試算法Test(Tε,V)→b:輸入陷門Tε 和密文V,輸出布爾變量b,陷門與密文相匹配時b = 1,否則b = 0。
3. 1 Boneh-PKES 方案
現(xiàn)有的非對稱可搜索加密技術(shù)大都基于雙線性對,描述如下。
定義4 (雙線性對)設(shè)循環(huán)群G 和GT 具有相同的素數(shù)階數(shù)q,定義一個雙線性對映射e^:G×G→GT 滿足如下性質(zhì)。
① 雙線性:對于?a,b∈Z*q 和g1 ,g2 ∈G,e^(ga1 ,gb2)= e^(g1 ,g2) ab 成立。
② 非退化性:存在P1 ,P2 ∈G,使得e^(g1 ,g2 )≠1。
③ 可計算性:對于?g1 ,g2 ∈G,存在有效算法計算e^(g1 ,g2 )。
定義5 Boneh-PKES 方案描述如下:
① 系統(tǒng)建立Setup(μ)→params:給定安全參數(shù)μ,輸出雙線性對e:G×G→GT,定義g 為群G 的生成元,G 為q 階循環(huán)群。計算h = e(g,g),定義哈希函數(shù)組H1 :{0,1}* →G,H2 :GT →{0,1} l b p。公布系統(tǒng)參數(shù)params = {q,g,e,h,G,GT,H1 ,H2 }。
② 密鑰生成KeyGen(params)→(sk,pk):輸入系統(tǒng)公開參數(shù)params,選擇隨機數(shù)y∈Zq ,私鑰sk =y,公鑰pk = gy。
③ 加密Encrypt(pkB ,M,ε)→V:輸入公鑰ε 和關(guān)鍵詞ε,隨機選擇x∈Z*q ,計算:t = e(H1(ε),hx ),密文V = [gx,H2(t)]。
④ 陷門生成Trapdoor(sk,ε)→Tε:輸入私鑰sk和關(guān)鍵詞ε,輸出陷門Tε = H1(ε) y
⑤ 測試算法Test(Tε,V)→b:輸入陷門Tε 和密文V,令密文V = (V1 ,V2 ),驗證等式H2(e(Tε,V1 ))= V2是否成立,若成立,輸出b =1,否則輸出b =0。
3. 2 安全性分析
非對稱可搜索加密的安全性是指其對敵手的攻擊具有一定的保護能力。具體來說,非對稱可搜索加密方案應(yīng)具備以下安全性:
① 保護數(shù)據(jù)隱私:非對稱可搜索加密方案應(yīng)能夠保護加密數(shù)據(jù)的隱私,確保只有授權(quán)的用戶能夠搜索和訪問數(shù)據(jù)內(nèi)容,而其他人無法獲取明文數(shù)據(jù)信息。
② 保護搜索隱私:非對稱可搜索加密方案應(yīng)能夠保護用戶的搜索隱私,即在搜索過程中不泄露用戶的搜索關(guān)鍵詞和搜索行為,防止敵手通過分析搜索模式和關(guān)鍵詞來獲取敏感信息。
③ 抵抗關(guān)鍵詞推斷攻擊:非對稱可搜索加密方案應(yīng)能夠抵抗關(guān)鍵詞推斷攻擊,即敵手無法通過觀察和分析加密索引和搜索結(jié)果來推斷出明文關(guān)鍵詞。
④ 抵抗頻譜分析攻擊:非對稱可搜索加密方案應(yīng)能夠抵抗頻譜分析攻擊,即敵手無法通過對加密索引的頻率分析來推斷出明文信息。
⑤ 抵抗選擇明文攻擊:非對稱可搜索加密方案應(yīng)能夠抵抗選擇明文攻擊,即敵手無法通過選擇特定的明文關(guān)鍵詞和搜索條件來獲取額外的信息。
非對稱可搜索加密方案的安全性是一個復雜的問題,并且受到方案設(shè)計和實現(xiàn)的影響。不同的方案可能具備不同的安全性保證,具體的安全性分析需要結(jié)合具體的方案和攻擊模型進行評估。因此,在選擇和使用非對稱可搜索加密方案時,需要綜合考慮其安全性和實際需求,確保方案能夠提供足夠的保護和安全性保證??伤阉骷用艿亩鄠€典型方案對比如表1 所示。
3. 3 小結(jié)
非對稱可搜索加密是一個保障用戶信息隱私的保密方法,同時也可以利用加密的方法實現(xiàn)更有效的查詢使用。和常規(guī)的對稱可搜索加密方法不同,其采用了非對稱加密算法,如橢圓曲線加密算法。非對稱可搜索加密的基本原理是將使用者的數(shù)據(jù)進行加密,同時得到一種可查詢的索引。使用者能夠在不透露數(shù)據(jù)信息的前提下,將密碼的索引上傳給服務(wù)提供者并完成查詢作業(yè)。提供者可以通過其私鑰解密索引,并根據(jù)解密后的索引進行搜索。通過這種方式,用戶的數(shù)據(jù)得到了保護,只有掌握私鑰的服務(wù)提供者可以進行搜索。
4 關(guān)鍵詞猜測攻擊
4. 1 攻擊原理
關(guān)鍵詞猜測攻擊是一種針對密碼或加密密鑰的攻擊方法。攻擊者通過嘗試使用常見的、可能的或已知的關(guān)鍵詞來猜測目標的密碼或密鑰,以獲取未經(jīng)授權(quán)的訪問或解密目標的數(shù)據(jù)。在可搜索加密中關(guān)鍵詞猜測攻擊是一種針對可搜索加密技術(shù)的攻擊手段。它的目標是通過分析加密后的搜索索引或搜索結(jié)果,來推測出加密的關(guān)鍵詞或搜索內(nèi)容。這種攻擊主要基于以下幾個原因[26-29]:
① 加密后的搜索索引或搜索結(jié)果可能泄露一些關(guān)鍵信息:即使數(shù)據(jù)在存儲和傳輸過程中得到了加密保護,但搜索索引或搜索結(jié)果可能因為一些原因而暴露給攻擊者。攻擊者可以通過分析這些信息,推測出加密的關(guān)鍵詞或搜索內(nèi)容。
② 加密后的搜索索引或搜索結(jié)果可能存在信息泄露:搜索索引或搜索結(jié)果通常會包含一些與關(guān)鍵詞相關(guān)的信息,例如出現(xiàn)頻率、位置等。攻擊者可以通過分析這些信息,來推斷出加密的關(guān)鍵詞或搜索內(nèi)容。
③ 攻擊者可以使用統(tǒng)計分析和機器學習算法來分析加密后的搜索索引或搜索結(jié)果,以推測出加密的關(guān)鍵詞或搜索內(nèi)容。通過分析不同的特征和模式,攻擊者可以建立起關(guān)鍵詞和搜索內(nèi)容之間的關(guān)聯(lián)。
4. 2 攻擊方法
關(guān)鍵詞猜測攻擊通常是基于以下幾種原理或方法進行的:
① 字典攻擊:攻擊者使用事先準備好的字典,其中包含常見的密碼、常用詞和組合,對目標進行猜測。這樣的攻擊方法可以有效地破解弱密碼。
② 布魯特弗斯攻擊:攻擊者通過嘗試所有可能的密碼組合,逐個猜測密碼直到找到正確的密碼。這種方法可以破解較短的密碼,但對于較長的密碼則需要更多時間和計算資源。
③ 社會工程學攻擊:攻擊者通過研究目標的個人信息、社交媒體活動或其他公開信息來猜測密碼。例如,攻擊者可能嘗試使用目標的生日、家庭成員姓名和寵物名等作為關(guān)鍵詞進行猜測。
4. 3 解決措施
為了防止可搜索加密關(guān)鍵詞猜測攻擊,可以采取以下措施:
① 強化加密算法:使用更強的加密算法可以提高攻擊者猜測關(guān)鍵詞的難度。例如,采用具有更大密鑰空間和更復雜的加密算法。
② 增加噪音和混淆:在搜索索引或搜索結(jié)果中加入噪音和混淆可以增加攻擊者的困惑和難度,使其難以推測出關(guān)鍵詞或搜索內(nèi)容。
③ 限制訪問權(quán)限:對加密后的搜索索引或搜索結(jié)果進行嚴格的訪問控制,只允許授權(quán)用戶進行訪問,可以減少攻擊者獲取信息的機會。
④ 定期更新加密密鑰:定期更換加密密鑰可以降低攻擊者猜測關(guān)鍵詞的成功率,因為攻擊者需要重新分析和計算。
可搜索加密關(guān)鍵詞猜測攻擊是一種針對可搜索加密技術(shù)的攻擊方式。為了防止這種攻擊,可以采取加強加密算法、增加噪音和混淆、限制訪問權(quán)限以及定期更新加密密鑰等措施。
5 工作展望
5. 1 應(yīng)用場景展望
可搜索加密技術(shù)具有廣泛的應(yīng)用場景,以下是幾個可能的展望:
① 企業(yè)數(shù)據(jù)安全:可搜索加密技術(shù)可以應(yīng)用于企業(yè)的數(shù)據(jù)存儲和共享過程中,確保敏感數(shù)據(jù)的隱私和安全。企業(yè)可以將數(shù)據(jù)加密并存儲在云端,并對加密后的數(shù)據(jù)進行搜索,以便在需要時快速檢索信息,同時保護數(shù)據(jù)不被未經(jīng)授權(quán)的人訪問。
② 醫(yī)療保?。横t(yī)療行業(yè)需要處理大量的敏感患者數(shù)據(jù)??伤阉骷用芗夹g(shù)可以用于保護患者隱私,同時支持醫(yī)療研究和數(shù)據(jù)分析。醫(yī)院和研究機構(gòu)可以對患者數(shù)據(jù)進行加密,并使用可搜索加密技術(shù)進行數(shù)據(jù)查詢和分析,以推動醫(yī)學研究和改進醫(yī)療服務(wù)。
③ 金融領(lǐng)域:金融機構(gòu)需要處理大量的客戶和交易數(shù)據(jù),而同時也需要保護客戶數(shù)據(jù)的隱私??伤阉骷用芗夹g(shù)可以用于加密金融數(shù)據(jù),并允許進行快速的搜索和查詢。這樣可以保護客戶隱私,同時提供高效的數(shù)據(jù)管理和分析。
④ 法律與合規(guī):律師事務(wù)所和法律部門需要處理大量的敏感法律文檔和案件數(shù)據(jù)??伤阉骷用芗夹g(shù)可以用于對法律文檔進行加密,并在需要時進行搜索和查詢。這樣可以維護法律文檔的機密性,同時提高工作效率。
⑤ 互聯(lián)網(wǎng)隱私保護:隨著人們對個人隱私的關(guān)注增加,可搜索加密技術(shù)可以用于保護互聯(lián)網(wǎng)用戶的隱私。搜索引擎和在線服務(wù)提供商可以使用可搜索加密技術(shù)來保護用戶的搜索歷史、個人信息和在線活動數(shù)據(jù),同時仍然提供有效的搜索和推薦功能。
可搜索加密技術(shù)的應(yīng)用場景非常廣泛,涵蓋了許多不同的行業(yè)和領(lǐng)域。隨著對數(shù)據(jù)隱私和安全性需求的不斷增加,可搜索加密技術(shù)有望在更多的應(yīng)用領(lǐng)域得到廣泛應(yīng)用。
5. 2 研究方向展望
可搜索加密技術(shù)是一項前沿的技術(shù),在數(shù)據(jù)隱私和數(shù)據(jù)可搜索性之間找到了平衡點。未來,可搜索加密技術(shù)有望在以下方面發(fā)展和應(yīng)用:
① 安全云計算:可搜索加密技術(shù)可以為云計算提供更高的數(shù)據(jù)隱私和安全性。通過在云端對數(shù)據(jù)進行加密和搜索,用戶可以將敏感數(shù)據(jù)放置在云服務(wù)提供商的服務(wù)器上,同時保持數(shù)據(jù)的隱私和安全。
② 多方安全計算:可搜索加密技術(shù)可以在多方參與的場景中實現(xiàn)數(shù)據(jù)的安全計算。例如,在醫(yī)療保健領(lǐng)域,醫(yī)院和研究機構(gòu)可以使用可搜索加密技術(shù)來共享和分析患者的匿名化數(shù)據(jù),以推動醫(yī)學研究和發(fā)現(xiàn)新的治療方法。
③ 隱私保護搜索引擎:可搜索加密技術(shù)可以用于構(gòu)建隱私保護搜索引擎,以提供用戶對加密數(shù)據(jù)的搜索功能。用戶可以在保護隱私的前提下,通過搜索引擎來獲取所需的信息。
④ 區(qū)塊鏈和加密貨幣:可搜索加密技術(shù)可以應(yīng)用于區(qū)塊鏈和加密貨幣領(lǐng)域,以保護交易和用戶的隱私。通過使用可搜索加密技術(shù),可以在保持交易數(shù)據(jù)的隱私的同時,實現(xiàn)有效的數(shù)據(jù)查詢和驗證。
⑤ 物聯(lián)網(wǎng)安全:隨著物聯(lián)網(wǎng)設(shè)備的普及,可搜索加密技術(shù)可以用于保護物聯(lián)網(wǎng)設(shè)備和傳感器產(chǎn)生的大量數(shù)據(jù)。通過對數(shù)據(jù)進行加密和搜索,可以確保物聯(lián)網(wǎng)設(shè)備的數(shù)據(jù)隱私和安全。
可搜索加密技術(shù)有望在各個領(lǐng)域得到廣泛應(yīng)用,以解決數(shù)據(jù)隱私和數(shù)據(jù)可搜索性的問題。未來的發(fā)展將繼續(xù)關(guān)注提高可搜索加密的效率和安全性,以滿足日益增長的數(shù)據(jù)隱私需求。
6 結(jié)束語
本文從可搜索加密技術(shù)的研究現(xiàn)狀開始,對可搜索加密的研究機制進行介紹;從對稱可搜索加密和非對稱可搜索加密2 個方面展開分析??伤阉骷用苁且环N將數(shù)據(jù)進行加密并保持其可搜索性的技術(shù)。它允許用戶在保護數(shù)據(jù)隱私的同時,仍然能夠?qū)用軘?shù)據(jù)進行搜索和查詢。可搜索加密的實現(xiàn)方式多種多樣,包括基于陷門函數(shù)的方案、基于加密索引的方案以及基于同態(tài)加密的方案等??伤阉骷用芗夹g(shù)可以保護用戶的搜索隱私,防止第三方獲取搜索關(guān)鍵詞或搜索結(jié)果的明文。同時,可搜索加密方案還可以支持搜索結(jié)果的驗證,確保結(jié)果的完整性和可靠性。但其也存在一些挑戰(zhàn)和限制,包括加密和解密操作的效率問題,搜索性能的影響問題,以及如何平衡安全性、效率和功能需求等問題。未來的研究將繼續(xù)改進和推進可搜索加密技術(shù),以滿足不斷增長的數(shù)據(jù)安全和隱私保護需求。
參考文獻
[1] 李穎,馬春光. 可搜索加密研究進展綜述[J]. 網(wǎng)絡(luò)與信息安全學報,2018,4(7):13-21.
[2] 劉文心,高瑩. 對稱可搜索加密的安全性研究進展[J]. 信息安全學報,2021,6(2):73-84.
[3] 董曉蕾,周俊,曹珍富. 可搜索加密研究進展[J]. 計算機研究與發(fā)展,2017,54(10):2107-2120.
[4] 李經(jīng)緯,賈春福,劉哲理,等. 可搜索加密技術(shù)研究綜述[J]. 軟件學報,2015,26(1):109-128.
[5] SONG D X D,WAGNER D,PERRIG A. Practical Techniques for Searches on Encrypted Data[C]∥Proceeding2000 IEEE Symposium on Security and Privacy. S&P2000. Berkeley:IEEE,2000:44-55.
[6] GOH E J. Secure Indexes [R / OL ]. (2004 - 03 - 16 )[2023-05-21]. https:∥eprint. iacr. org / 2003 / 216. pdf.
[7] BONEH D,DI CRESCENZO G,OSTROVSKY R,et al.Public Key Encryption with Keyword Search [C ]∥Advances in CryptologyEUROCRYPT 2004:InternationalConference on the Theory and Applications of CryptographicTechniques. Interlaken:Springer,2004:506-522.
[8] KAMARA S,PAPAMANTHOU C,ROEDER T. DynamicSearchable Symmetric Encryption [C]∥ Proceedings ofthe 2012 ACM Conference on Computer and Communications Security. New York:ACM,2012:965-976.
[9] KAMARA S,PAPAMANTHOU C. Parallel and DynamicSearchable Symmetric Encryption[C]∥Financial Cryptography and Data Security:17th International Conference,FC2013. Okinawa:Springer,2013:258-274.
[10] BONEH D,WATERS B. Conjunctive,Subset,and RangeQueries on Encrypted Data[C]∥Theory of Cryptography:4th Theory of Cryptography Conference,TCC 2007.Amsterdam:Springer,2007:535-554.
[11] CASH D,GRUBBS P,PERRY J,et al. LeakageabuseAttacks Against Searchable Encryption[C]∥Proceedings ofthe 22nd ACM SIGSAC Conference on Computer and Communications Security. New York:ACM,2015:668-679.
[12] 陸海寧. 可隱藏搜索模式的對稱可搜索加密方案[J].信息網(wǎng)絡(luò)安全,2017(1):38-42.
[13] 秦志光,徐駿,聶旭云,等. 公鑰可搜索加密體制綜述[J]. 信息安全學報,2017,2(3):1-12.
[14] ACAR A,AKSU H,ULUAGAC A S,et al. A Survey onHomomorphic Encryption Schemes:Theory and Implementation[J]. ACM Computing Surveys,2018,51(4):1-35.
[15] 楊亞濤,趙陽,張卷美,等. 同態(tài)密碼理論與應(yīng)用進展[J]. 電子與信息學報,2021,43(2):475-487.
[16] MOUSAVI S K,GHAFFARI A,BESHARAT S. et al.Security of Internet of Things Based on Cryptographic Algorithms:A Survey [J ]. Wireless Networks,2021,27:1515-1555.
[17] 馮濤,陳李秋,方君麗,等. 基于本地化差分隱私和屬性基可搜索加密的區(qū)塊鏈數(shù)據(jù)共享方案[J]. 通信學報,2023,44(5):224-233.
[18] 秦志光,包文意,趙洋,等. 云存儲中一種模糊關(guān)鍵字搜索加密方案[J]. 信息網(wǎng)絡(luò)安全,2015(6):7-12.
[19] 黃一才,李森森,郁濱. 云環(huán)境下對稱可搜索加密研究綜述[J]. 電子與信息學報,2023,45(3):1134-1146.
[20] CURTMOLA R,GARAY J,KAMARA S,et al. SearchableSymmetric Encryption:Improved Definitions and EfficientConstructions[C]∥Proceedings of the 13th ACM Conference on Computer and Communications Security. Alexandria:ACM,2006:79-88.
[21] KHADER D. Public Key Encryption with Keyword SearchBased on Kresilient IBE[C]∥International Conference onComputational Science and Its Applications. Kuala Lumpur:Springer,2007:1086-1095.
[22] DI CRESCENZO G,SARASWAT V. Public Key Encryptionwith Searchable Keywords Based on Jacobi Symbols[C]∥Progress in CryptologyINDOCRYPT 2007:8th InternationalConference on Cryptology in India. Chennai:Springer,2007:282-296.
[23] BAEK J,SAFAVINAINI R,SUSILO W. On the Integrationof Public Key Data Encryption and Public Key Encryptionwith Keyword Search[C]∥ Information Security:9th International Conference,ISC 2006. Samos Island:Springer,2006:217-232.
[24] TANG Q,CHEN L Q. Publickey Encryption with Registered Keyword Search[C]∥European Public Key Infrastructure Workshop. Pisa:Springer,2009:163-178.
[25] XU P,JIN H,WU Q H,et al. Publickey Encryption withFuzzy Keyword Search:A Provably Secure Scheme UnderKeyword Guessing Attack [J ]. IEEE Transactions onComputers,2012,62(11):2266-2277.
[26] 鄧樺,宋甫元,付玲,等. 云計算環(huán)境下數(shù)據(jù)安全與隱私保護研究綜述[J]. 湖南大學學報(自然科學版),2022,49(4):1-10.
[27] 陳寧江,劉燦,黃汝維,等. 云環(huán)境中抵御內(nèi)部關(guān)鍵字猜測攻擊的快速公鑰可搜索加密方案[J]. 電子與信息學報,2021,43(2):467-474.
[28] 閆璽璽,馮蘇偉,湯永利,等. 基于區(qū)塊鏈的多關(guān)鍵詞模糊搜索加密方案[J]. 電子與信息學報,2023,45(4):1346-1355.
[29] 沈志榮,薛巍,舒繼武. 可搜索加密機制研究與進展[J]. 軟件學報,2014,25(4):880-895.
作者簡介
李亞紅 女,(1984—),博士,副教授,碩士生導師。主要研究方向:密碼學、信息安全。
李哲瑋 男,(2000—),碩士研究生。主要研究方向:密碼學。
李 強 男,(1998—),碩士研究生。主要研究方向:密碼學。
基金項目:國家自然科學基金(61063041,61901201,61762058,62002050,61872060)