國家保密局網(wǎng)站>>保密科技

一種基于層級鏈技術(shù)的數(shù)據(jù)保護(hù)方案

2023年12月05日    來源:國家保密科技測評中心【字體: 打印

【摘 要】 隨著云計算技術(shù)的發(fā)展,越來越多的數(shù)據(jù)被存儲在云端,但云服務(wù)器并不一定安全,存在數(shù)據(jù)泄露的風(fēng)險。針對此問題,本文提出一種基于層級鏈技術(shù)的數(shù)據(jù)保護(hù)方案,在保證數(shù)據(jù)安全的前提下,實現(xiàn)數(shù)據(jù)的密態(tài)檢索。該方案將數(shù)據(jù)資產(chǎn)存儲在私有鏈上,為方便對加密數(shù)據(jù)的靈活檢索,生成加密關(guān)鍵詞索引存儲在聯(lián)盟鏈上,通過數(shù)據(jù)存儲域與訪問域的隔離保證數(shù)據(jù)資產(chǎn)的機(jī)密性、完整性和不可篡改性;诳伤阉骷用芗夹g(shù)與屬性加密技術(shù),實現(xiàn)密文關(guān)鍵詞檢索、細(xì)粒度訪問控制與搜索結(jié)果的可驗證。本文還通過安全分析與性能評估證明了該方案的安全性,同時具有更高的計算效率。

【關(guān)鍵詞】 區(qū)塊鏈 可搜索加密 數(shù)據(jù)保護(hù)

1 引言

隨著各領(lǐng)域數(shù)據(jù)量的激增,越來越多的機(jī)構(gòu)選擇將數(shù)據(jù)存儲在云端,但有的云服務(wù)器可能是惡意的,因此存在著一定的信息泄露風(fēng)險,必須對數(shù)據(jù)進(jìn)行加密存儲,由此導(dǎo)致加密數(shù)據(jù)的檢索變得十分困難,只能頻繁下載全部數(shù)據(jù)解密后再進(jìn)行使用,這無疑會消耗大量的計算資源與時間。

隨著區(qū)塊鏈3.0時代的到來,區(qū)塊鏈技術(shù)被廣泛應(yīng)用到日常生產(chǎn)生活中的各個領(lǐng)域。區(qū)塊鏈?zhǔn)且环N適用于存儲和查詢的高度分布式數(shù)據(jù)結(jié)構(gòu),使關(guān)鍵詞查詢能夠通過所有相關(guān)方的共識得到驗證和記錄,并通過共識機(jī)制保證數(shù)據(jù)的完整性、不可篡改性。

雖然區(qū)塊鏈的特性可以很好地保護(hù)被檢索數(shù)據(jù)的隱私,但依舊無法解決加密數(shù)據(jù)檢索困難的問題。而可搜索加密技術(shù)恰好可以解決密文檢索困難問題,其通常的策略是:首先創(chuàng)建索引,然后將索引和加密數(shù)據(jù)分開存儲,通過對索引遍歷來查詢關(guān)鍵詞對應(yīng)的文件,從而達(dá)到密文檢索的目的。但其他授權(quán)用戶若要進(jìn)行同樣的查詢操作,只能先獲取數(shù)據(jù)擁有者的密鑰,這顯然是不安全的。此外,屬性加密技術(shù)可以為靈活的細(xì)粒度訪問控制提供支持,其將訪問結(jié)構(gòu)巧妙嵌入加密技術(shù),當(dāng)用戶的屬性滿足該訪問結(jié)構(gòu)方可成功解密。目前研究最多的是密文策略屬性加密,該方案將訪問策略嵌入密文,將用戶的屬性作為密鑰,當(dāng)屬性滿足密文的訪問策略時即可進(jìn)行解密,否則無權(quán)進(jìn)行訪問,以此達(dá)到細(xì)粒度訪問控制的目的。

本文提出了一種基于層級鏈技術(shù)的數(shù)據(jù)保護(hù)方案,在保證數(shù)據(jù)機(jī)密性、完整性的同時,實現(xiàn)數(shù)據(jù)密態(tài)檢索、細(xì)粒度訪問控制與搜索結(jié)果的可驗證。本方案具有以下3個特點。

(1)采用層級鏈和可搜索加密技術(shù),將加密數(shù)據(jù)存儲在私有鏈,加密關(guān)鍵詞索引存儲在聯(lián)盟鏈,通過數(shù)據(jù)存儲域和數(shù)據(jù)訪問域的隔離,實現(xiàn)數(shù)據(jù)機(jī)密性、完整性和不可篡改性。

(2)通過密文策略的屬性加密技術(shù),實現(xiàn)細(xì)粒度的訪問控制,并由聯(lián)盟鏈服務(wù)器為用戶執(zhí)行耗時的中間解密過程,減小用戶的計算開銷。

(3)通過結(jié)果的可驗證,保證搜索結(jié)果的正確性,防止被惡意攻擊。

論文對本方案進(jìn)行了安全分析和性能評估,結(jié)果表明,本方案具有較高安全性和計算效率。

2 相關(guān)工作

2.1 可搜索加密

可搜索加密(Searchable Encryption,SE)是一種在不需要解密的情況下,可以直接對存儲在云端服務(wù)器上的加密數(shù)據(jù)文件進(jìn)行關(guān)鍵詞檢索的技術(shù)。常見的可搜索加密方案包括對稱可搜索加密(Symmetric Searchable Encryption,SSE)與公鑰可搜索加密(Public Key Encryption with Keywords Search,PEKS)。最初,Goldreich和Ostrovsky于2000年提出可搜索加密的概念。基于此,Song等人提出第一個實用的對稱可搜索加密的構(gòu)造方案。該方案通過使用特殊的2層加密結(jié)構(gòu)來搜索加密數(shù)據(jù),使用順序掃描來搜索密文。但由于每次搜索都需要遍歷整個密文文件,搜索時間和文件大小線性相關(guān),搜索效率低。Goh等人構(gòu)造了第一個基于索引的方案,利用Bloom過濾器以及偽隨機(jī)函數(shù)來構(gòu)建安全索引。Chen首次提出了S-HashMap索引結(jié)構(gòu),在實現(xiàn)多關(guān)鍵字模糊密文檢索的同時,使數(shù)據(jù)的更新更高效、更安全。Stefanov等人首次提出前向安全的概念并設(shè)計了相應(yīng)方案,該方案泄露信息更少且效率更高,在最壞的情況下該方案支持亞線性時間內(nèi)的更新和搜索,同時保持僅線性大小的數(shù)據(jù)結(jié)構(gòu)。

但隨著技術(shù)發(fā)展,單一可搜索加密技術(shù)已不能滿足數(shù)據(jù)的功能性和安全性需求,迫切需要新技術(shù)的加入來解決此問題。

2.2 可搜索加密與區(qū)塊鏈的結(jié)合

利用可搜索加密技術(shù)實現(xiàn)鏈上數(shù)據(jù)加密及密文搜索是當(dāng)前常見的一種解決方案?伤阉骷用芩阉鞯膶ο笫羌用苊芪模虼诵枰孪冗x擇搜索關(guān)鍵詞,加密生成查詢目標(biāo)密文。在構(gòu)建鏈上可搜索加密方案時,研究人員將關(guān)注點放在加密搜索安全性及性能上的提升,區(qū)塊鏈僅僅作為方案實現(xiàn)的平臺,提供可信的數(shù)據(jù)存儲及檢索功能。例如,Chen等人針對醫(yī)療數(shù)據(jù),提出基于區(qū)塊鏈的電子病例(EHR)可搜索加密方案,該方案中索引存儲在區(qū)塊鏈中,區(qū)塊鏈技術(shù)的使用確保EHR索引的完整性、防篡改性和可追溯性。Li等人提出了一種基于區(qū)塊鏈的索引分層可搜索加密方案,該方案首先設(shè)計了一種分層搜索索引結(jié)構(gòu)并將其外包給區(qū)塊鏈網(wǎng)絡(luò),以實現(xiàn)可靠的分層搜索。Ali等人提出將區(qū)塊鏈作為一個分布式數(shù)據(jù)庫,采用同態(tài)加密技術(shù),以確保對數(shù)據(jù)庫的安全搜索和基于關(guān)鍵詞的訪問。

但是這些工作中,區(qū)塊鏈只提供存儲與檢索功能,如何利用區(qū)塊鏈的其他特性來滿足方案的需求值得去深入研究。本方案提出利用聯(lián)盟鏈服務(wù)器性能優(yōu)勢,為用戶提供中間解密功能,可以大大縮短用戶解密時間,提升用戶使用體驗。

2.3 基于屬性的可搜索加密

屬性加密是Sahai和Waters在2005年提出的概念,他們將訪問結(jié)構(gòu)結(jié)合在密文中,從而達(dá)到訪問控制的目的。屬性加密可分為密文策略屬性加密(CP-ABE)和密鑰策略屬性加密(KP-ABE),當(dāng)前學(xué)者針對CP-ABE的研究較多。Sun等人受屬性加密的啟發(fā)提出了第一個基于屬性的關(guān)鍵詞檢索方案,從而實現(xiàn)了細(xì)粒度訪問控制。Qiu等人提出了支持隱藏訪問策略的基于屬性的可搜索加密方案,如果數(shù)據(jù)用戶的屬性憑證不能滿足數(shù)據(jù)所有者指定的訪問控制策略,則數(shù)據(jù)用戶無法搜索加密數(shù)據(jù)并了解有關(guān)訪問結(jié)構(gòu)的任何信息。Liu等人為解決密鑰管理等安全問題,引入?yún)^(qū)塊鏈技術(shù),利用其去中心化的性質(zhì),負(fù)責(zé)系統(tǒng)參數(shù)與密鑰生成等過程,使方案更加安全。

但是,現(xiàn)有的基于屬性的可搜索加密方案,均需把關(guān)鍵詞一同通過屬性進(jìn)行加密,這大大增加了加密耗時與陷門生成耗時。本方案將關(guān)鍵詞與文件索引單獨加密,屬性加密只對加密文件的對稱密鑰進(jìn)行加密,效率更高。

3 系統(tǒng)模型

本方案采用層級區(qū)塊鏈架構(gòu),加密數(shù)據(jù)存儲在私有鏈上,關(guān)鍵詞索引等存儲在聯(lián)盟鏈,從而有效降低數(shù)據(jù)泄露的風(fēng)險,并保證用戶數(shù)據(jù)的不可篡改。層級鏈?zhǔn)疽鈭D如圖1所示。

本方案提出的系統(tǒng)模型主要包含4大實體,分別是:數(shù)據(jù)擁有者(DO)、數(shù)據(jù)用戶(DU)、私有鏈(PB)和聯(lián)盟鏈(CB)。

圖1 層級鏈技術(shù)

DU可根據(jù)關(guān)鍵詞搜索DO發(fā)布的加密數(shù)據(jù)。PB是DO維護(hù)的私有區(qū)塊鏈,負(fù)責(zé)存儲DO加密后的數(shù)據(jù)。CB由各數(shù)據(jù)使用方共同構(gòu)成和維護(hù),負(fù)責(zé)存儲加密索引、文件哈希值等,并通過智能合約執(zhí)行搜索算法,CB還可代替DU完成中間解密工作,減少DU的計算耗時,提高效率和體驗。該方案的系統(tǒng)模型如圖2所示。

圖2 系統(tǒng)模型

4 系統(tǒng)實現(xiàn)

基于上一節(jié)提到的系統(tǒng)模型,本節(jié)基于屬性加密技術(shù)和可搜索加密技術(shù),構(gòu)建了一個基于層級區(qū)塊鏈的數(shù)據(jù)安全保護(hù)方案。該方案兼顧了數(shù)據(jù)存儲的機(jī)密性、完整性與數(shù)據(jù)檢索的靈活性。

本方案的設(shè)計思想是采用層級鏈的架構(gòu),私有鏈PB存儲數(shù)據(jù)密文,聯(lián)盟鏈CB存儲關(guān)鍵詞索引等信息,通過數(shù)據(jù)存儲域和數(shù)據(jù)訪問域的隔離,達(dá)到數(shù)據(jù)保護(hù)的目的,保護(hù)數(shù)據(jù)的機(jī)密性、完整性和不可篡改性。其具體工作流程如圖3所示:

圖3 系統(tǒng)工作流程

(1)CB先進(jìn)行系統(tǒng)初始化,生成公共參數(shù)和主密鑰,公開公共參數(shù)并保留主密鑰;

(2)DO將自己的數(shù)據(jù)文件進(jìn)行加密后上傳至PB;

(3)PB返回文件的存儲位置給DO;

(4)DO根據(jù)關(guān)鍵詞及文件列表生成加密索引,連同文件存儲位置、文件哈希值、訪問策略等信息上傳至CB;

(5)DU向DO發(fā)起關(guān)鍵詞查詢請求;

(6)DO根據(jù)DU提供的關(guān)鍵詞為其生成對應(yīng)的陷門;

(7)DU將陷門上傳至CB發(fā)起關(guān)鍵詞查詢請求;

(8)CB首先判斷DU的屬性是否滿足訪問策略的要求,若滿足則執(zhí)行檢索算法并向PB獲取加密文件;

(9)PB將密文文件返回給CB;

(10)CB首先生成解密密鑰并執(zhí)行耗時的中間解密過程得到中間密文,連同文件哈希值等信息發(fā)送至數(shù)據(jù)用戶DU;

(11)DU執(zhí)行最后一步輕量級解密算法獲得明文,并可根據(jù)哈希值判斷文件的完整性,驗證結(jié)果是否正確。

5 安全分析與性能評估

5.1 安全分析

(1)機(jī)密性

所有隱私信息均加密存儲,其中原始數(shù)據(jù)加密存儲在PB上,索引加密存儲在CB上,密鑰使用屬性加密保護(hù),只有屬性滿足訪問策略的用戶才能成功解密;同時關(guān)鍵詞也進(jìn)行加密處理,除了DO和DU,沒有參與方可以獲取到關(guān)鍵詞的明文信息。因此,機(jī)密性得以保證。

(2)不可篡改性和完整性

首先,數(shù)據(jù)存儲在鏈上,區(qū)塊鏈不可篡改的性質(zhì)保證了數(shù)據(jù)完整性,惡意用戶無法修改鏈上數(shù)據(jù)。其次,數(shù)據(jù)用戶收到數(shù)據(jù)密文的同時得到原始數(shù)據(jù)的哈希值,由此可以驗證數(shù)據(jù)的完整性。

通過以上分析,在本方案中,數(shù)據(jù)加密存儲以保證機(jī)密性,使用屬性加密保護(hù)密鑰,實現(xiàn)了安全的訪問控制。數(shù)據(jù)鏈上存儲,利用區(qū)塊鏈的共識機(jī)制,保證數(shù)據(jù)的完整性和不可篡改性。因此本文所提的數(shù)據(jù)保護(hù)方案在各個環(huán)節(jié)中均很好地保護(hù)了數(shù)據(jù)的安全。

5.2 性能評估

本節(jié)將從功能性和計算開銷來評估本文方案和其他方案的主要性能。

表1給出了本文所提出方案與文獻(xiàn)[11]-[13]所提出方案的功能性對比。從表1可以看出,文獻(xiàn)[11]-[13]所提出方案均支持隱私保護(hù)、訪問控制與可搜索加密,文獻(xiàn)[13]所提出方案引入?yún)^(qū)塊鏈技術(shù)以防止惡意行為,使方案更安全。而相比這3種方案,本文所提方案支持外包解密和結(jié)果可驗證功能,由聯(lián)盟鏈代替用戶進(jìn)行耗時的中間解密工作,用戶只需要進(jìn)行輕量級解密即可獲得最終明文,大大提升用戶體驗。結(jié)果可驗證功能的加入,可以使用戶對搜索結(jié)果完整性進(jìn)行驗證,防止收到錯誤結(jié)果?偟膩碚f,本文所述方案在隱私保護(hù)、訪問控制、可搜索加密、外包解密、結(jié)果可驗證等方面均具有優(yōu)勢,兼具功能性和安全性。

表1 功能性對比

在算法計算開銷方面,綜合評估了本方案在系統(tǒng)初始化、密鑰生成和加密3個階段的計算開銷,并與文獻(xiàn)[11]-[13]所提出方案進(jìn)行對比。在3個階段的整體計算開銷上,文獻(xiàn)[11]所提方案所需時間為5n的群運算時間,文獻(xiàn)[12]所提方案需要4n的群運算時間,而文獻(xiàn)[13]所提方案需要20n的群運算時間。本文方案整體需要4n的群運算時間,但相比文獻(xiàn)[12]方案需要更少的哈希計算時間。因此本方案計算開銷明顯優(yōu)于其他方案。

6 結(jié)語

本文提出了一種基于層級鏈技術(shù)的數(shù)據(jù)保護(hù)方案。該方案融合區(qū)塊鏈技術(shù)、可搜索加密技術(shù)與屬性加密技術(shù),將密文數(shù)據(jù)存儲在私有區(qū)塊鏈上,加密關(guān)鍵詞索引存儲在聯(lián)盟鏈中,并通過屬性加密進(jìn)行細(xì)粒度訪問控制,使得只有滿足訪問控制策略的用戶才能對數(shù)據(jù)進(jìn)行解密訪問,保證了數(shù)據(jù)的機(jī)密性、完整性和不可篡改性。相較于其他方案,本方案在計算開銷上有一定優(yōu)勢。未來的研究工作中,我們將結(jié)合具體應(yīng)用場景,進(jìn)一步完善方案,使方案滿足更多安全需求的同時,效率更高。

(原載于《保密科學(xué)技術(shù)》雜志2023年3月刊)