中圖分類號:TP309.2 文獻標志碼:A
Attribute-based Encryption Privacy Protection Model for Decentralized Key Management
ZHANG Xin-tao, XIE Xiao-feng,LU Xiu-qing (School of Computer Science and Technology,Qingdao University,Qingdao 266071,China)
Abstract: A decentralized key management and outsourced decryption privacy protection model for attribute-based encryption was proposed. Issues such as insecure centralized key management,heavy decryption computation burden on users,and inability to trace malicious users in traditional atribute-based encryption were addressed. The model combined attribute-based encryption and symmetric encryption to achieve fine-grained access control over data. Decryption operations were outsourced by leveraging computing nodes in the blockchain network,and the decryption computation burden on users was reduced. Secure multi-party computation technology was used to enable collaborative key generation and management. The blockchain public ledger was introduced to monitor and record user activities within the system,enabling full accountability in access control. Experimental result verifies that the scheme can protect user security and privacy while enabling secure data sharing.
Keywords: attribute-based encryption; blockchain; access control; secure multi-partycomputation
隨著大數據和云計算技術的不斷發展和應用,當今社會正逐步進入一個由數據驅動的新時代,大數據不僅改變了商業運作的模式,也深刻地影響著日常生活,并帶來前所未有的便利[1]。如通過分析海量醫療數據,醫生可以制定更準確的治療方案[2];利用交通數據,實時了解道路擁堵情況,規劃最優的出行路線[3]。大數據在教育、娛樂、金融等多個領域也發揮了重要作用[4-5]。傳統的大數據和云計算將海量的數據信息存儲在云端平臺進行分析和計算,但云存儲是半可信的第三方數據存儲,可能會嘗試竊取其中的敏感信息,若這些信息泄露,將對人們自身和財產安全產生極大的隱患。為保證存儲數據的安全性,只有被授權的合法用戶才能訪問存儲的數據。屬性基加密算法(Attribute-Based Encryption,ABE)[6]可以實現數據的細粒度訪問控制并靈活的制定訪問策略,是一種有效的解決方案。密鑰策略屬性基加密算法(Key Policy Attribute-Based Encryption,KP-ABE)[]和密文策略屬性基加密算法(Ciphertext Policy Atribute-Based Encryption,CP-ABE)[8-10]是兩種主流的屬性基加密算法。作為線性秘密共享技術,基于線性秘密共享方案(Linear Se-cret Sharing Scheme,LSSS)[11]是由 CP-ABE方案改進而得,具有較好的秘密分享性能和靈活性,能實現細粒度的訪問控制[12-13]。區塊鏈[14]是一種多方共同維護的分布式數據庫[15],具有數據難以篡改和去中心化兩大特點,保證了區塊鏈所記錄信息的可靠性和真實性[16],但存儲能力不足[17]。邊緣計算節點輔助計算可以減少用戶加解密的計算[18],但會產生用戶合謀攻擊問題。在數據安全共享訪問控制的研究中,兼顧數據安全性保護和信息泄露追責的相關研究較少。本文提出了一種去中心化密鑰管理屬性基加密隱私保護模型(Decentralized Key Management Attribute-Based Encryption Privacy Protection Model,DKM-ABE-PPM),解決惡意用戶或半可信計算節點竊取隱私數據的問題,并利用區塊鏈對惡意用戶進行追責。
1 系統模型
1.1 系統架構
DKM-ABE-PPM系統架構如圖1所示,主要包括數據所有者(DataOwn-er,DO)、數據訪問者(DataUser,DU)、系統管理中心(SystemManagementCenter,SMC)、星際文件系統(InterPlanetaryFileSystem,IPFS)和區塊鏈(Blockchain,BC)5個實體,其中區塊鏈由區塊鏈網絡和公共賬本兩部分組成。
(1)DO:對數據加密和制定自定義訪問控制策略;(2)DU:訪問數據并獲取數據密文,使用屬性私鑰解密密文,以獲得明文數據;(3)SMC:負責系統初始化以及生成系統主密鑰及主公鑰,完成以上任務后永久的退出系統;(4)IPFS:負責存儲數據密文,然后返回存儲數據密文文件的哈希值;(5)BC:區塊鏈網絡由兩類節點組成,分別是具有較強計算能力的計算節點集 CN={CNi},i∈[1,n],n 代表計算節點的個數和能夠請求獲取交易的用戶節點UNk". k∈[1,+∞] 代表用戶的個數;公共賬本是由一系列區塊按照時間先后構成的鏈狀結構,負責記錄系統內的交易信息、ID、時間戳等。
圖1 DKM-ABE-PPM系統架構

1.2 安全模型
DKM-ABE-PPM選擇明文攻擊下的不可區分性。
(1)初始化:挑戰者C進行初始化生成系統主公鑰PK和主密鑰參數 α ,PK發送給敵手 B,α 使用Shamir的 (t,n) 門限秘密共享方案[19在所有計算節點之間共享;
(2)查詢1:B向C發送屬性集合獲取屬性私鑰,C執行密鑰生成算法,輔助B生成屬性私鑰;
(3)挑戰:B向C發送兩條長度相等的消息 key0 和 key1 ,C 隨機選擇一條消息 keyφ(φ∈{0,1}) 對其加密生成密文 CT* 發送給B;
(4)查詢2:重復查詢1;
(5)猜測:B輸出猜測 φ′∈{0,1} ,猜測優勢為 ε=|Pr[φ′=φ]-0.5| ,選擇明文攻擊是安全的。
2方案實現
DKM-ABE-PPM系統流程如圖2所示,主要包括系統初始化、屬性私鑰生成、轉換密鑰生成、數據加密上傳和數據訪問解密5部分。
圖2 DKM-ABE-PPM方案流程

2.1 系統初始化
系統初始化階段由系統管理中心SMC執行算法Setup (U,1λ)(PK) 。輸入屬性域 U 以及安全參數λ ,輸出階為素數 ΣP 的兩個乘法循環群 G1、G2 和雙線性映射 e:G1×G1G2,g 為群 G1 的一個生成元。
算法執行隨機選擇參數 α,a∈Zp ,并生成具有抗碰撞性的哈希函數 H1
然后SMC為每一個計算節點 CNi 隨機選擇參數 cni∈Zp ;最后生成主公鑰 PK=(g,e(g,g)α,gα,H1,H2 {cni} i∈[1,n]; 和主密鑰參數 α ,SMC公布主公鑰PK。
為分散系統權威,防止主密鑰由單個節點保管,SMC使用Shamir的 (t,n) 門限秘密共享方案在所有計算節點之間共享主密鑰參數 α ,即每個計算節點均持有 α 的一個片段,當至少集齊 ΨtΨΨ 個片段之后才能恢復完整的 α 。操作時,系統管理中心構建多項式
,令 b0=α ,多項式的系數 {bi} . i∈[1,t-1] 均為 Z? 中的隨機元素,SMC計算 {αi=f(cni)},i∈[1,n] ,并將 αi 秘密地分發給計算節點 CNi 。
2.2 生成屬性私鑰
生成屬性私鑰時,在區塊鏈的計算節點集CN的協助下由用戶DU完成,即用戶發起屬性私鑰生成請求,生成獨屬于自己的身份ID,計算 H2(ID)=τ ,最后將關于自己身份的參數 τ 和屬性集合 S={S1,S2,… Sm} 發送給計算節點集 CN 。
(1)任一計算節點 CNi 在接收到 τ 和 s 后,執行算法 KeyGen1(PK,αi,S)(SKi) 。首先, CNi 使用Shamir的 (t,n) 門限秘密共享方案在所有計算節點之間共享隨機選取的參數
,共享時, CNi 隨機構建多項式
,其中系數 ei,n 是有限域內的隨機元素, CNi 計算 n 個共享片段 hi(cn1),hi(cn2),…,hi(cnn) ,然后將 hi(cnj) 秘密地分享給 CNj 。當 CNj 收到所有的其他計算節點發來的秘密片段 hi(cnj) 后,計算
。
CNi 計算屬性私鉬片段公式為
g2∑=1?(cm2)。對于每個屬性{Sx},x∈S,計算
,最后, CNi 將屬性私鑰片段 SKi=(Ki,Li,{Kx,i},x∈S) 發送給用戶。
(2)用戶收到所有屬性私鑰片段后,執行算法 KeyGen2(SKi)(SK) ,即使用拉格朗日插值公式對各個計算節點發送的屬性私鑰片段進行整合計算以重構完整的屬性私鉬。定義拉格朗日系數 Qi,N(x)=
x-cn;,其中,i∈Z,,N≤{1,2,…,n}。
用戶計算
后,獲得其屬性私鑰 SK=(K,L,{Kx},x∈S) 。
2.3 生成轉換密鑰
轉換密鑰生成時由用戶DU獨立完成。DU在獲得獨屬于自己的SK后,為保證密文數據外包解密計算時SK 和密文數據的隱私性,將SK 轉換,,生成轉換密鑰TK。DU執行算法TKeyGen(SK) $$ (TK),首先輸人 SK,然后隨機選擇 ζ∈ZP? 并保存,最后生成轉換密鑰;
TK=(Ktra ,
。
2.4上傳加密數據
數據加密由數據所有者DO執行并上傳共享。屬性基加密模型采用對稱加密算法AES 和密文策略屬性基加密算法CP-ABE 相結合的加密方式,所以此階段由對稱加密算法和屬性基加密算法兩部分組成。
(1)對稱加密算法加密。DO選擇要共享的明文數據文件 m ,然后調用對稱加密算法生成對稱加密算法AES密鑰key,最后執行算法Encryptl (m,key)(M) 。算法輸入 m 和key,輸出對稱加密密文 M 。DO將M上傳到 IPFS,存儲完成后向DO返回存儲的哈希值H,并上傳至區塊鏈公共賬本。
(2)密文策略屬性基加密算法加密。DO 制定訪問策略 A=(W,ρ) ,其中, W 是一個 l×n 的矩陣, ρ 是把W 的每一行映射到相應屬性值的映射函數。獲得 PK 和 key 后,DO 執行算法 Encrypt2(key,A,PK) $$ (CT),CT為AES算法密鑰 key 進行屬性基加密的密文。算法輸入key、A和PK,隨機選擇向量
,…,vn)∈Zp ,其中, s 為隨機選擇且需要分享的秘密值,對 W 中的每一行 Wi 計算內積
,隨機選擇參數 r1,r2,…,rl∈Zp ,密文
。 C′=g? ,
(2號
),最后DO將CT上傳至區塊鏈公共賬本。
2.5 數據訪問解密
數據訪問解密由數據使用者DU和區塊鏈計算節點CN共同完成。首先DU請求獲取密文文件在IPFS存儲的H和key生成的CT,然后DU根據H下載對稱加密文件M,最后將CT和TK發送給任意一個計算節點 CNi ,由 CNi 幫助完成密文轉換,而最終的解密過程由DU自行完成。所以此階段分為轉換密文計算和轉換密文解密兩部分。
(1)轉換密文計算。由 CNi 完成此部分。 CNi 在獲得CT和TK后,執行算法Transform(TK,CT) $$ (TCT),TCT為轉換屬性基加密密文。輸入TK和CT,如果TK對應的屬性集合
,則 s 不滿足DO所制定的訪問控制策略,解密失敗;如果TK對應的屬性集合 S∈A ,則 s 滿足DO制定的訪問控制策略,{λi} 是訪問矩陣 W 的共享秘密值 s 的有效份額,令 I'={1,2,…,l} 且定義 I={i:ρ(i)∈S} ,其中, I 是系統屬性域 U 的子集,算法在多項式時間內計算出 {wi∈Zp},i∈I ,使
。然后運行公式:





最后,計算節點 CNi 將TCT發送給DU。
(2)轉換密文解密。由DU獨自完成此部分。在獲得 CNi 發送的TCT后,DU執行算法Decrypt2(20號 (TCT)(key) ,輸入TCT,計算
TCT\$ 便可直接得到 key,將 key 和從IPFS 中下載的對稱加密密文M作為輸人,DU 執行算法 Decrypt1 $( \mathrm { M } , \mathrm { k e y } ) { } ( \mathrm { m } )$ ,獲得所需訪問的明文文件 $\mathrm { ~ m ~ }$ 。
3安全性證明與分析
3.1 安全性證明
定義1基于判定性 Φq -PBDHE假設,任何概率多項式時間的敵手B,也無法以不可忽略的優勢 ε ,成功攻破具備IND-CPA安全性的DKM-ABE-PPM方案。
證明:確立挑戰者C與敵手B的博弈機制,B提出查詢請求,C依據相應規則對其答復。
(1)初始化:C運行初始化算法,生成主公鑰 PK=(g,e(g,g)α,gα,H1,H2,{cni},i∈[1,n]) 和主密鑰參數 α ,將PK發送給B,使用Shamir的 (t,n) 門限秘密共享方案在所有計算節點之間共享主密鑰參數 α:B 制定一個訪問控制策略 A*=(W* ? ρ* )并發送給C,其中, W* 是 l×n 的矩陣, ρ* 是把 W* 的每一行映射到相應屬性值的映射函數。
(2)查詢1:B挑選出一系列屬性集合 S1,S2,…,Sn ,這些集合均不滿足訪問策略 A* ,隨后將其發送給C 執行密鑰生成算法,協助 B為每一個屬性集合生成相應的屬性私鑰 SK1,SK2,…,SKn 。
(3)挑戰:B向C發送兩條長度相等的消息 key0 和 key1 c 隨機選擇一條消息
使用主公鑰PK和訪問策略 A* 對其進行屬性基加密,生成密文 CT* 發送給 B 。
(4)查詢2:重復查詢1。
(5)猜測:B輸出猜測 φ′∈{0,1} ,如果 φ′=φ ,則B獲勝。
在選擇明文攻擊場景下,DKM-ABE-PPM方案的安全性以B在猜測階段的成功率作為衡量指標。具體而言,定義安全性優勢
,這里 Pr[φ′=φ] 為B正確猜測 φ′ 的概率。DKM-ABE-PPM選擇明文攻擊時,要求 ε 的值極小,通常小到可忽略不計,以此證明了此方案的安全性。
3.2 安全性分析
DKM-ABE-PPM借助區塊鏈技術與密文策略屬性基加密技術,實現對數據的細粒度訪問控制。由數據所有者針對待存儲數據實施加密,并將加密后的數據上傳至IPFS 存儲。在此過程中,IPFS 的服務提供商因數據已加密,無法直接獲取數據的明文內容,從而有效保障了數據在存儲環節的保密性。其次,依托區塊鏈智能合約技術搭建通信渠道,使不同參與者之間能夠高效、安全的通信。同時,公共賬本詳盡記錄所有涉及數據的操作行為以及相關事務信息,憑借區塊鏈自身的技術特性,賦予整個系統強大的可追溯能力以及數據的不可篡改性,為分布式大數據環境下的隱私保護及數據管理提供堅實的技術支撐與可靠保障。
定義2IPFS 提供商以及系統外的敵手所能接觸到的只有密文數據集,無法獲取和明文相關的一切信息。
證明:DKM-ABE-PPM中, m 經key加密,得到密文M并上傳至IPFS,數據所有者DO用密文策略屬性基加密算法對 key加密,生成CT存于區塊鏈。雖然IPFS提供商與敵手可獲得M,但若想解密M需先解密CT,而在CT中,
,需算出 e(g,g)αs 方可恢復key,屬于離散對數難題,且敵手無滿足訪問策略A的屬性私鑰SK,則無法算出秘密值 s 。
綜上,唯有獲此私鑰才可計算出key以恢復明文數據,證畢。
4性能分析
通過仿真實驗驗證DKM-ABE-PPM的可靠性。實驗所用的操作系統為64位的Windowsl1計算機,處理器為AMDRyzen 76800H ,CPU頻率為 3.2GHz ,內存為 16GB 。虛擬機環境為4核4GB內存,操作系統為Ubuntu 20.04.1;一臺本地服務器;編程語言為Python;使用的密碼庫為pbc-0.5.14;區塊鏈網絡由HyperLedger Fabric 開源框架和 Docker 容器技術搭建;IPFS 分布式網絡由 go-ipfs 搭建,由同一局域網下的7臺設備組成。
4.1計算開銷
將 DKM-ABE-PPM與 Scheme[12]、[16]、[18]在密鑰生成、加密、解密3個階段進行計算開銷對比;與傳統的云存儲方案對比文件上傳下載效率。對比計算開銷時, E 代表群上的一次指數運算, P 代表群上的一次雙線性對運算, f 代表用戶屬性數量,代表秘密分享矩陣行數, u 代表解密密鑰的屬性數量。4種模型的計算開銷見表1。
(1)密鑰生成。在算法KeyGen2中,DU 計算 gαgaτt 和 gτt ,然后對 f 個屬性分別計算 H1(Sx)τt ,在此階段DU總的計算開銷是 (3+f)E 。
表14種模型的計算開銷

(2)數據加密。在算法Encrypt2中,DO 計算 e(g?g)αs 和 gs ,對于
l×n 的矩陣 W 的每一行分別計算
和
,在此階段 DO 總的計算開銷是 (2+3l)E 。
(3)用戶解密。在解密環節,鑒于解密過程中部分計算量較為龐大,為優化計算資源的分配與利用效率,提升整體解密效能,DKM-ABE-PPM采取將計算量開銷較大的部分外包至特定計算節點的策略。在此架構下,DU僅需專注于完成轉換密文的解密操作,即可順利獲取明文數據。在轉換密文解密中,DU 計算
,在此階段DU的計算開銷是 E 。
4.2 功能對比
DKM-ABE-PPM使用LSSS訪問結構,并具有外包解密、惡意追責、安全多方計算等技術特征,將DKM-ABE-PPM與現有的方案進行功能對比,見表2。
4.3 實驗結果分析
4種模型的密鑰計算生成時間如圖3(a)所示,在屬性密鑰生成階段,與Scheme[12]、[18]方案相比,隨著用戶屬性數量的增加,DKM-ABE-PPM在密鑰生成計算方面有著明顯的優勢,比Scheme16方案略勝一籌。在加密計算階段(圖3(b)),隨著訪問策略中屬性個數的增加,DKM-ABE-PPM在加密計算時間方面優勢明顯,比Scheme[18]方案有明顯的進步。
表24種模型的功能對比

圖34種模型性能對比

(a)密鑰生成計算時間;(b)加密計算時間;(c)解密計算時間;(d)文件存取開銷;(e)不同門限值的計算時間
圖3(c)為4種模型的解密計算時間。在解密計算階段,由于DKM-ABE-PPM將復雜的解密計算外包,而用戶僅需一次指數運算即可完成解密,所以用戶的屬性個數基本不會影響DKM-ABE-PPM的解密效率,隨著用戶屬性個數的增加,DKM-ABE-PPM在解密計算方面的優勢逐漸顯著。圖3(d)為DKM-ABE-PPM與Scheme[12]的文件上傳和下載開銷,其中DKM-ABE-PPM采用IPFS系統存儲,Scheme[12]采用云存儲,在上傳和下載相同大小文件的條件時,DKM-ABE-PPM上傳、下載所消耗的時間約為 Scheme[12]的10% 和 20% ,并且隨著文件大小的增長,這一優勢不斷擴大。圖3(e)為不同門限組合的私鑰計算效率,隨著計算節點個數的增加私鑰的計算時間呈線性增長,在相同的個數的計算節點的條件下,門限值越大,所需的計算時間越長,私鑰計算效率越低。
5 結論
DKM-ABE-PPM采用對稱加密算法和密文策略屬性基加密算法相結合的方式加密數據,并上傳到IPFS。當用戶產生訪問交易時,系統會將一個相應的證明交易發送至區塊鏈,實現監管系統內的用戶。當用戶訪問共享數據文件時,只有滿足文件訪問策略的用戶才可以解密該文件。為解決屬性基加密中心化密鑰管理與區鏈去中心化特征的矛盾和減輕用戶的解密計算壓力,DKM-ABE-PPM使用安全多方計算技術實現密鑰的去中心化管理,借助區塊鏈網絡計算節點輔助用戶進行解密計算操作;為了防止泄露用戶的敏感信息,解密時先將加密密文外包給計算節點進行部分解密,而最終的解密計算由用戶自行完成。通過仿真實驗對本文方案進行分析驗證,結果表明,該方案具有安全性和有效性。
參考文獻
[1]胡韻,胡愛群,胡奧婷,等.大數據背景下數據可追蹤性應用分析與方法研究[J].密碼學報,2020,7(5):565-582.
[2]CHAUHANR,JANGADER.Arobustmodelforbig healthcaredataanalytics[C]/6th InternationalConference-CloudSystemandBigData Engineering. Noida,2016:221-225.
[3]LIUY.igdtatehnditsalyisofplicatioiunintellgenttrasporatsstmC/IteaalCeeItelligent Transportation,Big Dataamp;. Smart City (ICITBS).Xiamen,2Ol8:17-19.
[4]ZHENGY.BigdatatechnologyboostsresearchonthemodernizatioofvocationaleducationmanagementinShandongprovinceC/2ndInternational Conference on Big Data and Informatization Education (ICBDIE).Hangzhou,2O21: 47-50.
[5]YANGRBResearhothiskandsupervisionmetodofbigdataplicatioinfancialfieldC/InteratioalCoferenenelli
gent Transportation,Big Data amp; Smart City. Vientiane,202o:695-698.
[6]SAHAIA,WAERSB.FuzzidentitybsedencrtionC/24thAnualInteratioalCofereneoneryandApplatsfCrtographic Techniques.Berlin,2005:457-473.
[7]GOYALVANDEYOAHAIA,etal.AtriutebasedencyptionforfinegrainedacesscntrolfencypteddataC//ACConference on Computer and Communications Security. New York,2oo5:89-98.
[8]BETHENCOURTJ,SAHAIA,WATERS B.Ciphertext-policytribute-basedencryption[C]/EEE SymposiumonSeurityandPriva-cy.Berkeley,2007:321-334.
[9]LIW,XUEKP,XUEYJ,etal.ACS:Arobusandverifablethresholdultiauthorityacesscontrolsysteminpublicdtoage[J].IEEE Transactions on Parallel and Distributed Systems,2ol6,27(5):1484-1496.
[10]劉翔宇,李會格,張方國.一種多訪問級別的動態可搜索云存儲方案[J].密碼學報,2019,6(1):61-72.
[11]WATERSBCpertext-olicyributesedncryo:Anexpresivefcent,andprovablysureealizatioC]/InteatiolWorkshop on Public Key Cryptography. Heidelberg,2oll:53-70.[12]ZHANGYH,ZHENGD,DENGRH.Securityandprivacyinsmarthealth;Eficientpolicy-idingatribute-basedacesontrol].IEEEInternet of ThingsJournal,2018,5(3):2130-2145.[13]LIUZH,XUUYetal.Uatableiheret-olicyrbutesedeptioheithtraceabilitdvocabilitEEAccess,2019,7:66832-66844.[14]BOTTICELLIM,MOREF,ZZUSetal.ChalengesandopportunitiesofblockchaintecolgyintheeergsctoC/In-ternational Annual Conference(AEIT).Catania,2o2o:1-6.[15]劉懿中,劉建偉,張宗洋,等.區塊鏈共識機制研究綜述[J].密碼學報,2019,6(4):395-432.[16]SETHI K,PRADHANA,BERA P.PMTER-ABE:A practial multi-authority CP-ABE withtraceabilty,revocation andoutsourcingdecryptionforsecureaccesscontrolincloudsystemsJ].ClusterComputing-TheJournalofNetworksSoftwareTolsandApplications,2021,24(2):1525-1550.[17]GECP,LIUZ,FANGLM.AblockchainbaseddecentralizeddatasecuritymechanismfortheInternetofthingsJJouralofParaleland Distributed Computing,202o,141(7):1-9.[18]LIJG,YAOW,HANJG,etal.UsercolsonavodanceCP-ABEwiteficentatributerevocationforloudstorageJ]EystemsJournal,2018,12(2):1767-1777.[19]SHAMIR A. How to share asecret[J]. Communications of the ACM,1979,22(11):612-613.