【摘 要】 隨著云計算技術的發展,越來越多的數據被存儲在云端,但云服務器并不一定安全,存在數據泄露的風險。針對此問題,本文提出一種基于層級鏈技術的數據保護方案,在保證數據安全的前提下,實現數據的密態檢索。該方案將數據資產存儲在私有鏈上,為方便對加密數據的靈活檢索,生成加密關鍵詞索引存儲在聯盟鏈上,通過數據存儲域與訪問域的隔離保證數據資產的機密性、完整性和不可篡改性。基于可搜索加密技術與屬性加密技術,實現密文關鍵詞檢索、細粒度訪問控制與搜索結果的可驗證。本文還通過安全分析與性能評估證明了該方案的安全性,同時具有更高的計算效率。
【關鍵詞】 區塊鏈 可搜索加密 數據保護
1 引言
隨著各領域數據量的激增,越來越多的機構選擇將數據存儲在云端,但有的云服務器可能是惡意的,因此存在著一定的信息泄露風險,必須對數據進行加密存儲,由此導致加密數據的檢索變得十分困難,只能頻繁下載全部數據解密后再進行使用,這無疑會消耗大量的計算資源與時間。
隨著區塊鏈3.0時代的到來,區塊鏈技術被廣泛應用到日常生產生活中的各個領域。區塊鏈是一種適用于存儲和查詢的高度分布式數據結構,使關鍵詞查詢能夠通過所有相關方的共識得到驗證和記錄,并通過共識機制保證數據的完整性、不可篡改性。
雖然區塊鏈的特性可以很好地保護被檢索數據的隱私,但依舊無法解決加密數據檢索困難的問題。而可搜索加密技術恰好可以解決密文檢索困難問題,其通常的策略是:首先創建索引,然后將索引和加密數據分開存儲,通過對索引遍歷來查詢關鍵詞對應的文件,從而達到密文檢索的目的。但其他授權用戶若要進行同樣的查詢操作,只能先獲取數據擁有者的密鑰,這顯然是不安全的。此外,屬性加密技術可以為靈活的細粒度訪問控制提供支持,其將訪問結構巧妙嵌入加密技術,當用戶的屬性滿足該訪問結構方可成功解密。目前研究最多的是密文策略屬性加密,該方案將訪問策略嵌入密文,將用戶的屬性作為密鑰,當屬性滿足密文的訪問策略時即可進行解密,否則無權進行訪問,以此達到細粒度訪問控制的目的。
本文提出了一種基于層級鏈技術的數據保護方案,在保證數據機密性、完整性的同時,實現數據密態檢索、細粒度訪問控制與搜索結果的可驗證。本方案具有以下3個特點。
(1)采用層級鏈和可搜索加密技術,將加密數據存儲在私有鏈,加密關鍵詞索引存儲在聯盟鏈,通過數據存儲域和數據訪問域的隔離,實現數據機密性、完整性和不可篡改性。
(2)通過密文策略的屬性加密技術,實現細粒度的訪問控制,并由聯盟鏈服務器為用戶執行耗時的中間解密過程,減小用戶的計算開銷。
(3)通過結果的可驗證,保證搜索結果的正確性,防止被惡意攻擊。
論文對本方案進行了安全分析和性能評估,結果表明,本方案具有較高安全性和計算效率。
2 相關工作
2.1 可搜索加密
可搜索加密(Searchable Encryption,SE)是一種在不需要解密的情況下,可以直接對存儲在云端服務器上的加密數據文件進行關鍵詞檢索的技術。常見的可搜索加密方案包括對稱可搜索加密(Symmetric Searchable Encryption,SSE)與公鑰可搜索加密(Public Key Encryption with Keywords Search,PEKS)。最初,Goldreich和Ostrovsky于2000年提出可搜索加密的概念。基于此,Song等人提出第一個實用的對稱可搜索加密的構造方案。該方案通過使用特殊的2層加密結構來搜索加密數據,使用順序掃描來搜索密文。但由于每次搜索都需要遍歷整個密文文件,搜索時間和文件大小線性相關,搜索效率低。Goh等人構造了第一個基于索引的方案,利用Bloom過濾器以及偽隨機函數來構建安全索引。Chen首次提出了S-HashMap索引結構,在實現多關鍵字模糊密文檢索的同時,使數據的更新更高效、更安全。Stefanov等人首次提出前向安全的概念并設計了相應方案,該方案泄露信息更少且效率更高,在最壞的情況下該方案支持亞線性時間內的更新和搜索,同時保持僅線性大小的數據結構。
但隨著技術發展,單一可搜索加密技術已不能滿足數據的功能性和安全性需求,迫切需要新技術的加入來解決此問題。
2.2 可搜索加密與區塊鏈的結合
利用可搜索加密技術實現鏈上數據加密及密文搜索是當前常見的一種解決方案。可搜索加密搜索的對象是加密密文,因此需要事先選擇搜索關鍵詞,加密生成查詢目標密文。在構建鏈上可搜索加密方案時,研究人員將關注點放在加密搜索安全性及性能上的提升,區塊鏈僅僅作為方案實現的平臺,提供可信的數據存儲及檢索功能。例如,Chen等人針對醫療數據,提出基于區塊鏈的電子病例(EHR)可搜索加密方案,該方案中索引存儲在區塊鏈中,區塊鏈技術的使用確保EHR索引的完整性、防篡改性和可追溯性。Li等人提出了一種基于區塊鏈的索引分層可搜索加密方案,該方案首先設計了一種分層搜索索引結構并將其外包給區塊鏈網絡,以實現可靠的分層搜索。Ali等人提出將區塊鏈作為一個分布式數據庫,采用同態加密技術,以確保對數據庫的安全搜索和基于關鍵詞的訪問。
但是這些工作中,區塊鏈只提供存儲與檢索功能,如何利用區塊鏈的其他特性來滿足方案的需求值得去深入研究。本方案提出利用聯盟鏈服務器性能優勢,為用戶提供中間解密功能,可以大大縮短用戶解密時間,提升用戶使用體驗。
2.3 基于屬性的可搜索加密
屬性加密是Sahai和Waters在2005年提出的概念,他們將訪問結構結合在密文中,從而達到訪問控制的目的。屬性加密可分為密文策略屬性加密(CP-ABE)和密鑰策略屬性加密(KP-ABE),當前學者針對CP-ABE的研究較多。Sun等人受屬性加密的啟發提出了第一個基于屬性的關鍵詞檢索方案,從而實現了細粒度訪問控制。Qiu等人提出了支持隱藏訪問策略的基于屬性的可搜索加密方案,如果數據用戶的屬性憑證不能滿足數據所有者指定的訪問控制策略,則數據用戶無法搜索加密數據并了解有關訪問結構的任何信息。Liu等人為解決密鑰管理等安全問題,引入區塊鏈技術,利用其去中心化的性質,負責系統參數與密鑰生成等過程,使方案更加安全。
但是,現有的基于屬性的可搜索加密方案,均需把關鍵詞一同通過屬性進行加密,這大大增加了加密耗時與陷門生成耗時。本方案將關鍵詞與文件索引單獨加密,屬性加密只對加密文件的對稱密鑰進行加密,效率更高。
3 系統模型
本方案采用層級區塊鏈架構,加密數據存儲在私有鏈上,關鍵詞索引等存儲在聯盟鏈,從而有效降低數據泄露的風險,并保證用戶數據的不可篡改。層級鏈示意圖如圖1所示。
本方案提出的系統模型主要包含4大實體,分別是:數據擁有者(DO)、數據用戶(DU)、私有鏈(PB)和聯盟鏈(CB)。
圖1 層級鏈技術
DU可根據關鍵詞搜索DO發布的加密數據。PB是DO維護的私有區塊鏈,負責存儲DO加密后的數據。CB由各數據使用方共同構成和維護,負責存儲加密索引、文件哈希值等,并通過智能合約執行搜索算法,CB還可代替DU完成中間解密工作,減少DU的計算耗時,提高效率和體驗。該方案的系統模型如圖2所示。
圖2 系統模型
4 系統實現
基于上一節提到的系統模型,本節基于屬性加密技術和可搜索加密技術,構建了一個基于層級區塊鏈的數據安全保護方案。該方案兼顧了數據存儲的機密性、完整性與數據檢索的靈活性。
本方案的設計思想是采用層級鏈的架構,私有鏈PB存儲數據密文,聯盟鏈CB存儲關鍵詞索引等信息,通過數據存儲域和數據訪問域的隔離,達到數據保護的目的,保護數據的機密性、完整性和不可篡改性。其具體工作流程如圖3所示:
圖3 系統工作流程
(1)CB先進行系統初始化,生成公共參數和主密鑰,公開公共參數并保留主密鑰;
(2)DO將自己的數據文件進行加密后上傳至PB;
(3)PB返回文件的存儲位置給DO;
(4)DO根據關鍵詞及文件列表生成加密索引,連同文件存儲位置、文件哈希值、訪問策略等信息上傳至CB;
(5)DU向DO發起關鍵詞查詢請求;
(6)DO根據DU提供的關鍵詞為其生成對應的陷門;
(7)DU將陷門上傳至CB發起關鍵詞查詢請求;
(8)CB首先判斷DU的屬性是否滿足訪問策略的要求,若滿足則執行檢索算法并向PB獲取加密文件;
(9)PB將密文文件返回給CB;
(10)CB首先生成解密密鑰并執行耗時的中間解密過程得到中間密文,連同文件哈希值等信息發送至數據用戶DU;
(11)DU執行最后一步輕量級解密算法獲得明文,并可根據哈希值判斷文件的完整性,驗證結果是否正確。
5 安全分析與性能評估
5.1 安全分析
(1)機密性
所有隱私信息均加密存儲,其中原始數據加密存儲在PB上,索引加密存儲在CB上,密鑰使用屬性加密保護,只有屬性滿足訪問策略的用戶才能成功解密;同時關鍵詞也進行加密處理,除了DO和DU,沒有參與方可以獲取到關鍵詞的明文信息。因此,機密性得以保證。
(2)不可篡改性和完整性
首先,數據存儲在鏈上,區塊鏈不可篡改的性質保證了數據完整性,惡意用戶無法修改鏈上數據。其次,數據用戶收到數據密文的同時得到原始數據的哈希值,由此可以驗證數據的完整性。
通過以上分析,在本方案中,數據加密存儲以保證機密性,使用屬性加密保護密鑰,實現了安全的訪問控制。數據鏈上存儲,利用區塊鏈的共識機制,保證數據的完整性和不可篡改性。因此本文所提的數據保護方案在各個環節中均很好地保護了數據的安全。
5.2 性能評估
本節將從功能性和計算開銷來評估本文方案和其他方案的主要性能。
表1給出了本文所提出方案與文獻[11]-[13]所提出方案的功能性對比。從表1可以看出,文獻[11]-[13]所提出方案均支持隱私保護、訪問控制與可搜索加密,文獻[13]所提出方案引入區塊鏈技術以防止惡意行為,使方案更安全。而相比這3種方案,本文所提方案支持外包解密和結果可驗證功能,由聯盟鏈代替用戶進行耗時的中間解密工作,用戶只需要進行輕量級解密即可獲得最終明文,大大提升用戶體驗。結果可驗證功能的加入,可以使用戶對搜索結果完整性進行驗證,防止收到錯誤結果。總的來說,本文所述方案在隱私保護、訪問控制、可搜索加密、外包解密、結果可驗證等方面均具有優勢,兼具功能性和安全性。
表1 功能性對比
在算法計算開銷方面,綜合評估了本方案在系統初始化、密鑰生成和加密3個階段的計算開銷,并與文獻[11]-[13]所提出方案進行對比。在3個階段的整體計算開銷上,文獻[11]所提方案所需時間為5n的群運算時間,文獻[12]所提方案需要4n的群運算時間,而文獻[13]所提方案需要20n的群運算時間。本文方案整體需要4n的群運算時間,但相比文獻[12]方案需要更少的哈希計算時間。因此本方案計算開銷明顯優于其他方案。
6 結語
本文提出了一種基于層級鏈技術的數據保護方案。該方案融合區塊鏈技術、可搜索加密技術與屬性加密技術,將密文數據存儲在私有區塊鏈上,加密關鍵詞索引存儲在聯盟鏈中,并通過屬性加密進行細粒度訪問控制,使得只有滿足訪問控制策略的用戶才能對數據進行解密訪問,保證了數據的機密性、完整性和不可篡改性。相較于其他方案,本方案在計算開銷上有一定優勢。未來的研究工作中,我們將結合具體應用場景,進一步完善方案,使方案滿足更多安全需求的同時,效率更高。
(原載于《保密科學技術》雜志2023年3月刊)