陳垚,陳立全,3,吳昊
〔1.東南大學網絡空間安全學院,江蘇南京 211100;2.網絡空間國際治理研究基地(東南大學),江蘇南京211189;3.網絡通信與安全紫金山實驗室,江蘇南京 211111〕
隨著大數據技術的不斷發展,傳統的存儲方式已經不能滿足企業和用戶的基礎要求。云計算技術具有計算能力強、價格低廉、功能擴展性強等特點,用戶可以將自己的數據信息提交給云存儲系統,根據自己的需求,讓云存儲平臺操作數據信息[1,2]。可搜索加密技術支持在經過加密后的密文文件中進行關鍵詞或文件的搜索,得到了各界的廣泛關注。目前可搜索加密方案,在實際應用與安全性上,都具有很多的研究價值[3]。
本文針對目前動態可搜索加密方案中存在的動態安全問題與搜索結果準確率較低的問題,提出了一種基于優先級排序的動態安全可搜索加密方案(A Multi-Keyword Rank Searchable Encryption Scheme with Dynamic Security, DSMRSE)。DS-MRSE方案采用預處理字典樹結構,提高了搜索和動態更新效率,更適用于支持多用戶、多關鍵詞的應用場景。具體的系統模型如圖1所示。在該系統中包括了三個主要部分:云存儲平臺、數據持有者以及合法用戶。
(1)云存儲平臺(Cloud Storage Platform,CSP):云存儲平臺具有高存儲容量,快速計算能力,同時是“誠實且好奇的”。
(2)數據持有者(Data Owner,DO):數據持有者將自己的隱私文件加密,利用關鍵詞構建索引,并將密文文件與加密索引一同上傳給云存儲平臺CSP。
(3)認證用戶(Authenticated User, AU):認證用戶AU接收數據持有者DO發送的密鑰集。在需要進行搜索文件時,生成搜索陷門,并提交給云存儲平臺。
DS-MRSE方案主要包括幾個階段:初始化階段、字典樹索引生成階段、索引動態更新階段與搜索階段。本小節將分別給出這些階段的具體算法流程。
系統初始化階段時,數據持有者DO需要提交自己選定的安全參數,明文文件集合。數據持有者DO使用函數生成密鑰集,接著選擇抗強碰撞性的哈希函數,然后采用AES加密方式得到密文文件,之后使用關鍵詞提取技術提取出關鍵詞集合,最后生成 個新地址隨機值,并且使用抗強碰撞性的哈希函數將其映射為個新添加文件地址,并記錄在數據持有者端。

本方案的搜索階段主要包括三個部分,分別是認證用戶的陷門生成、服務器的關鍵詞查詢以及服務器對結果進行排序并返回給認證用戶。這三個部分的具體流程分三步。
(1)陷門生成


(2)關鍵詞查詢

(3)搜索結果排序
數據持有者可以在任意時刻對索引進行動態更新。動態更新一共有四種:添加關鍵詞、刪除關鍵詞、添加文件以及刪除文件。在本節中將給這四種操作具體分為四步驟。
(1)添加關鍵詞
(2)刪除關鍵詞
(3)添加文件
(4)刪除文件

圖1 DS-MRSE方案系統模型
圖2為DS-MRSE方案實現時不同部分所用的時間,分別為不同文件數量時索引生成所用時間、不同關鍵詞數量時陷門生成時間以及不同搜索關鍵詞數量時搜索時間。從圖中可以看出本方案的實際運行時間均為線性增長。即使在較多文件數量、較多關鍵詞時,本方案依舊有很好的性能,運行所耗的時間都比較理想。因此,本方案效率較高。
在DS-MRSE方案中,索引結構為加密字典樹。索引中每一個關鍵詞字符均采用一個密鑰進行具有抗強碰撞性的哈希函數進行計算,威脅模型為已知密文模型。因此,攻擊者獲知DS-MRSE中的索引為加密字典樹模型。假設挑戰者進行DS-MRSE方案的實現,存在一個敵手A試圖利用分析與統計攻擊。敵手獲知整個字典樹的加密節點,并進行頻率統計。挑戰者給出兩個字符與經過加密后得到的加密字符與。敵手A輸出一個值,其中表示,表示。由于抗強碰撞性A無法找出一對字符,使且另外敵手A無法獲取索引加密密鑰與密鑰生成器,因此無法猜測明文。此外,由不同層使用不同的密鑰,因此相同字符在不同層中的密文不相等。敵手A對于任意兩個加密字符無法判斷其是否來自同一層以及是否代表相同的字符。至此,敵手A無法進行有效的統計攻擊。因此,DS-MRSE方案中的索引可以抵抗統計攻擊。
如表1所示,方案[6]與本方案支持個性化排序,可以針對實際需求,設置合適的權重值,實現個性化,更符合實際要求的排序操作。方案[5]、方案[8]與本方案都可以動態更新,在面對需要修改的應用場景,具有良好的功能性。

圖2 DS-MRSE方案索引生成、陷門生成和搜索運行所用時間圖

表1 DS-MRSE方案功能比較

表2 DS-MRSE方案安全性比較
(1)功能比較
表1為DS-MRSE方案在功能上與其他支持對搜索結果進行排序的方案的比較結果。如表1所示,這些方案都支持對多關鍵詞進行搜索。方案[5]、方案[6]與本方案均采用了TF×IDE模型結構,可以更好的根據詞頻以及文檔相關度進行相關值計算。方案[6]與本方案支持個性化排序,可以針對實際需求,設置合適的權重值,實現個性化,更符合實際要求的操作。方案[5]、方案[8]與本方案都可以實現動態更新,在面對經常需要修改的應用場景,具有非常良好的功能性。
(2)安全性比較
表2為DS-MRSE方案在功能上與其他支持排序的可搜索加密方案的比較。DS-MRSE方案與其他文獻都考慮了安全性問題,針對密文、索引和陷門都進行了加密,具有不可區分性。方案[4]和方案[7]不具備動態更新的功能。方案[5]在更新時沒有對前向、后向安全進行考慮,而方案[8]與本方案均進行了前向安全與后向安全的設計。
本文根據目前云存儲的環境,對支持多用戶多關鍵詞的可搜索加密方案進行深入研究,提出了一種基于優先級排序的動態安全可搜索加密方案(DS-MRSE)。DS-MRSE方案在隱私密文安全、索引安全、陷門安全以及前向、后向安全上都得到了保障。但在效率上還有可以改進的地方,可以針對不同的應用場景,采用更合理的數據結構或者是預計算處理,提高搜索效率或更新效率。