陳文聰,張應輝,鄭 東
基于密文策略的權重多中心屬性加密方案
陳文聰1,2,張應輝1,2,鄭 東1
(1.西安郵電大學無線網絡安全技術國家工程實驗室,西安 710121; 2.中國科學院信息安全國家重點實驗室,北京 100093)
針對已有的云存儲方案無法有效支持多授權中心和屬性權重的問題,提出了一種基于密文策略的多授權中心權重屬性加密方案。利用偽隨機函數在各個授權中心之間共享一個秘密參數,實現無可信中心的多授權中心機制。通過對來自所有授權中心的屬性進行基于權重的分割,實現基于權重的加解密。分析表明,新方案是安全的,可以抵抗惡意用戶和授權中心的合謀攻擊,并可用于實現針對云存儲的安全訪問控制。
屬性加密;權重;多授權中心;云計算
隨著互聯網與云計算的發展,在開放環境下共享與處理數據顯得尤為重要。數據提供方不僅要保證通信過程中數據的機密性,而且需要在共享數據時制定靈活的訪問控制策略。為了滿足上述要求,Sahai等[1]2005年首次提出屬性基加密方案(attributebased encryption,簡稱ABE),屬性基加密的概念是由基于身份的密碼學[2-4]衍生而來。Goyal等[5]將屬性基加密體制分為密鑰策略下的屬性基加密(keypolicy ABE,簡稱KP-ABE)和密文策略下的屬性基加密(ciphertext-policy ABE,簡稱CP-ABE),提出了第一個KP-ABE方案,方案中密文對應于屬性集合,而密鑰關聯訪問結構,其本質上是一個多級秘密共享機制。而在CP-ABE中,密文與訪問結構相關聯,密鑰對應于屬性集合,只有私鑰的屬性滿足了密文中的訪問結構才能獲得明文。CP-ABE比KP-ABE更適合于云存儲系統。文獻[6]將權重應用到屬性加密中,但僅支持單個授權中心。由于單個授權中心在管理密鑰時存在安全問題,Chase等[7]于2007年提出首個多授權中心的屬性加密方案(MA-ABE),但該方案違背了最初的分散控制目的,由一個具有絕對權力的可信中心(CA)發布私鑰,這樣一旦CA因攻擊而出現問題,整個系統的安全性都會受到威脅。文獻[8-9]提出了去除CA的MA-ABE方案,但都未引入權重,導致不能滿足細粒度訪問,且靈活性不高。Wang等[10]雖然引入了權重的概念,但方案建立在絕對權力的可信中心基礎上,安全性不高。
為此,在全局身份標識碼(GID)[7]概念的基礎上,引入屬性權重,提出一種基于密文策略的權重多授權中心屬性加密方案,克服使用CA具有絕對權力的缺陷,每個授權中心都為用戶發布與其屬性相關的私鑰,同時將屬性根據其重要性進行分割,使方案更具靈活性和可擴展性,并應用偽隨機函數改進用戶的隱私保護。在該方案中,只有當用戶的屬性分割集滿足權重的訪問控制結構時才可以解密,實現了細粒度訪問控制。
1.1 訪問結構
定義1(訪問結構[11]) 設{p1,p2,…,pn}為參與者集合,?B,C,若B?A且B?C,則C∈A,稱集合A?2{p1,p2,…,pn}是單調的。一個訪問結構A是一個非空集合{p1,p2,…,pn}的子集,即A?2{p1,p2,…,pn}{φ}。在A中的集合稱為授權集合,不在A中的集合稱為非授權集合。
定義2(權重門限訪問結構[12]) 設U為全體屬性的集合,令ω:U→N為一個權重函數,T∈N為門限值,定義且Γ={A?U:ω(A)≥T},則Γ為N的權重門限訪問結構。
在本方案中,運用上述權重門限訪問結構,葉子節點對應屬性的權值,根節點對應門限值。圖1為一個權重門限訪問結構,有3個葉子節點,分別對應某人的職位、年齡、國家的權值,只有當私鑰的這3部分的權重之和不小于門限t,才能恢復出明文。假設用戶1具有屬性{教授;50歲;中國};用戶2具有屬性{講師;30歲;美國}。系統根據實際需求對用戶1和用戶2的3個屬性分別賦予權重{5,2,2}、{2,3,2}。若訪問結構要求門限值大于8才可以解密密文,用戶1具有的權重和為9,超過了門限值8,因此可以解密。而用戶2的權重和為7,未達到門限值,因此不能恢復明文。

圖1 權重門限訪問結構Fig.1 The structure of weighted threshold access
1.2 雙線性對
定義3(雙線性對定義) G1、G2和GT是素數階為p的3個乘法循環群,其中g1、g2分別為群G1、G2上的生成元。雙線性映射e(·,·):G1×G2→GT為一個確定性的函數,以G1中的一個元素和G2中的一個元素作為輸入,輸出目標群GT中的元素,滿足如下性質:
1)雙線性。對于所有的a,b∈Zp,e()=e (g1,g2)ab。
2)不可退化性。e(g1,g2)≠1,其中1為GT的單位元。
3)可計算性。對所有的u∈G1和v∈G1存在一個有效的算法可計算e(u,v)。
1.3 屬性分割
定義4(屬性分割算法[6]) 屬性分割算法的輸入是一個屬性集合,系統根據屬性的重要性將屬性分割,并賦予不同的權值。對于屬性集合A={a1,a2,…,ar}中的每個屬性ai允許在系統中的最大權值為ωi=w(ai),權值僅為整數。將屬性集中的每個屬性ai依據權重進行分割,分割后屬性ai對應于(ai,1), (ai,2),…,(ai,ωi),設定分割后的最小份額為1,其構成的集合稱為屬性權重分割集A*。
2.1 方案模型
本方案共包含4個參與方:數據提供者、多個授權中心、云存儲服務器、云端用戶,云存儲方案模型如圖2所示。各授權中心根據其所管理屬性的權重不同,用屬性分割算法生成對應的屬性分割集,進而生成屬性分割集中屬性的密鑰對。數據上傳者先用對稱加密方法將文件加密,再用權重門限訪問結構將加密密鑰加密,并一起上傳至云存儲服務器。當一個云端用戶要使用文件時,各中心根據用戶屬性集合為其生成屬性分割集與屬性對應的解密密鑰。若用戶屬性分割集滿足權重訪問結構,則用戶可以解密出文件的加密密鑰,從而進一步解密出用戶所需的文件。

圖2 云存儲方案模型Fig.2 The model of cloud storage
2.2 方案定義
基于密鑰策略的權重多授權中心屬性加密方案包含系統建立、密鑰生成、加密算法、解密算法4種算法。
1)系統建立(λ,U)。系統根據安全參數λ和一系列描述性的屬性集合U建立算法,生成系統主密鑰對(mpk,msk)。每個授權中心根據自己的權重管理將屬性集合轉化為對應的屬性分割集,并生成每個屬性的密鑰對(apk,ask)。
2)密鑰生成(u,S,ask)。各授權中心根據GID的值u建立算法并生成用戶解密密鑰Du。將用戶屬性集合S轉化為屬性分割集S*,并判斷用戶屬性是否屬于K中心,生成對應屬性的解密密鑰usk。
3)加密算法(m,apk,Γ)。數據提供者將明文m、訪問結構以及期望加密屬性的公鑰apk輸入加密算法,輸出結果為密文M。密文中包含了訪問結構,只有用戶的屬性分割集滿足訪問結構,才可解密密文。
4)解密算法(usk,M,Du)。若用戶滿足訪問結構,則將用戶屬性私鑰usk、密文M以及用戶解密密鑰Du輸入解密算法中,恢復出明文m;若用戶不滿足訪問結構,則算法輸出錯誤消息⊥。
3.1 方案構造
3.1.1 系統建立
選擇一個安全參數λ,公共隨機串R∈{0,1}p(λ),授權中心生成一個雙線性對e(·,·):G1×G2→GT的參數群〈e(·,·),q,g1,g2,G1,G2,GT〉,再計算一個抗碰撞哈希函數H:{0,1}*→Zq,輸入為用戶的GID,輸出為u。對每一個k授權中心AAk隨機選取vk∈Zq,并計算Yk=e(g1,g2)vk,然后把Yk發給其他授權中心,每個授權中心計算

1)每一對授權中心AAk、AAj選擇一個秘密的偽隨機函數[13](PRF)種子skj∈Zq,對于p?{j,k}的其他授權中心均不知道skj,且skj=sjk。
2)每個授權中心AAk隨機選取xk∈Zq,并計算yk=,定義一個關于身份的偽隨機函數Pkj(·)只能被授權中心AAk、AAj計算,P(u)=可計算得出。
3)每個授權中心k需要對屬性初始化,假設授權中心的個數為N,每個授權中心根據自己屬性的側重將屬性集分割。k中心管理的屬性集為AK={ak1,ak2,…,akn},分割后的屬性集為:


表1 系統初始化參數Tab.1 Parameters in system setup
3.1.2 密鑰生成
為了獲取密鑰,用戶需要與每個授權中心交互信息,對于每個授權中心AAk進行如下計算:
1)k,j分別為授權解密中心的標號,對于j∈{1, 2,…,N}/{k},當k>j時,用戶u從AAk獲得Dkj= gRkj Pkj(u);當k<j時,Dkj=gRkj/Pkj(u),其中AAk隨機取Rkj∈Zq。
2)k中心隨機選一個dk階多項式pk(·),使得

3)授權中心對用戶u的屬性集合S進行屬性集分割,得S*。對于屬性i∈S*,計算Sk,j=gp(i)/tγ1并發送給用戶。
4)收到所有的Dkj,用戶計算

3.1.3 加密
數據提供者選擇屬性分割集{A*C1,A*C2,…,A*CN}和訪問控制Γ:ω(S*k)≥ω(A*Ck),1≤k≤N,將明文m加密,選擇s∈Zq,計算
并上傳到云存儲服務器。
3.1.4 解密
1)對于每個授權中心k∈[1,2,…,N],首先判斷用戶u是否滿足Γ,若不滿足,輸出⊥;若滿足Γ: ω(S*K)≥ω(A*Ck),則取dk個元素屬性屬于A*Ck∩S*k,并計算e(Sk,j,Ck,j)=e(g1,g2)sPk(i),將所有的值都相乘,可得

2)將所有的Pk相乘得

計算

3)根據E0/Ys恢復出明文m。
3.2 方案分析
3.2.1 正確性分析
若滿足Γ:ω(S*K)≥ω(A*Ck),即A*Ck∩S*k≥dk,則計算:

根據拉式定理,可得:

利用因子W可得加密參數Ys:

因此,可將參數Ys消去,恢復出明文m:

3.2.2 安全性分析
方案中每個用戶有自己特有的GID,用戶的私鑰是各個授權中心根據用戶的GID,利用偽隨機函數生成Dk,j,再計算出相應的Du,因此,不可能有許多擁有不同GID的用戶合謀獲取解密密鑰。而且將每個用戶的屬性根據其在不同授權中心的權值不同進行分割,相同的屬性在不同的授權中心分割后的分割屬性集也是不同的,因此,本方案可抵抗合謀攻擊。
本方案的安全性證明通過一個2PC[9](two party computation,簡稱2PC)安全協議規約到DDH(decisionnal diffie-hellman,簡稱DDH)困難問題,即給出g, A=ga,B=gb,C=gc,很難判斷c=ab還是c∈Zq。
首先建立2PC安全協議,如表2所示。用戶取u∈Zq,而授權中心取α,β,γ∈Zq。用戶計算(hαg1/(β+u))γ,其中g,h∈G。只有用戶可以獲取結果,且其余信息都是隱藏的。用戶取ρ1,ρ2∈Zq發給屬性中心,屬性中心計算x=(β+u)ρ1,τ∈Zq,X1= g(τ/x),X2=hατ,然后將結果返回給用戶。用戶計算Y=發給屬性中心,屬性中心再計算Z= Yγ/τ,并返回給用戶。用戶最后計算D:

即為(hαg1/(β+u))γ。
然后將困難問題嵌入到2PC安全協議中,取h= Aθ,θ∈Zq,b=τ,令X1=B(1/x),X2=Cθα,用戶計算Y′=(g(1/x)bgcθα)ρ2,那么Z′=(g(1/x)bgcθα)ρ2γ/b,即D′= (g(1/x)bgcθα)γ/b。
最后敵手需要判斷D′是否等于D,若敵手不能判斷,則說明方案是安全的;若敵手判斷出D=D′,則說明c=ab,利用敵手解決了DDH困難問題。因為DDH問題是困難的,所以本方案是安全的。
基于密文策略提出了一種權重多授權中心屬性加密方案。該方案不再依賴中央授權中心,使用偽隨機函數保護用戶隱私,提高了安全性和機密性,同時將實際應用中很重要的權重因素引入到方案,使得多授權中心的屬性加密方案在云存儲環境下具有更好的靈活性和更高的可擴展性。
[1] Sahai A,Waters B.Fuzzy identity-based encryption[M]// Advances in Cryptology-Eurocrypt,2005:457-473.
[2] Boneh D,Franklin M.Identity-based encryption from the Weil pairing[C]//Advances in Cryptology-Crypto,2001: 213-229.
[3] Boneh D,Boyen X.Efficient selective-ID secure identity-based encryption without random oracles[C]//Advances in Cryptology-Eurocrypt,2004:223-238.
[4] 張應輝,鄭東,趙慶蘭.密碼學綜述[J].西安郵電大學學報,2013,18(6):1-10.
[5] Goyal V,Pandey O,Sahai A,et al.Attribute-based encryption for fine-grained access control of encrypted data[C]// Proceedings of the 13th ACM Conference on Computer and Communications Security,2006:89-98.
[6] 劉西蒙,馬建峰,熊金波,等.密文策略的權重屬性基加密方案[J].西安交通大學學報,2013,47(8):44-48.
[7] Chase M.Multi-authority attribute based encryption[M]// Theory of Cryptography,2007:515-534.
[8] Lin Huang,Cao Zhenfu,Liang Xiaohui,et al.Secure threshold multi authority attribute based encryption without a central authority[J].Information Sciences,2010,180(13): 2618-2632.
[9] Chase M,Chow S S M.Improving privacy and security in multi-authority attribute-based encryption[C]//Proceedings of the 16th ACM Conference on Computer and Communications Security,2009:121-130.
[10] Wang Yun,Zhang Dalei,Zhong Hong.Multi-authority based weighted attribute encryption scheme in cloud computing[C]//IEEE 2014 10th International Conference on Natural Computation,2014:1033-1038.
[11] Beimel A.Secure schemes for secret sharing and key distribution[D].Israel:Technion-Israel Institute of Technology, 1996:742-754.
[12] Beimel A,Tassa T,Weinreb E.Characterizing ideal weighted threshold secret sharing[M]//Theory of Cryptography,2005:600-619.
[13] Naor M,Pinkas B,Reingold O.Distributed pseudo-random functions and KDCs[C]//Advances in Cryptology-Eurocrypt,1999:327-346.
編輯:張所濱
Weighted multi-authority attribute encryption based on ciphertext policy
Chen Wencong1,2,Zhang Yinghui1,2,Zheng Dong1
(1.National Engineering Laboratory for Wireless Security,Xi’an University of Posts and Telecommunications,Xi’an 710121,China; 2.State Key Laboratory of Information Security,Chinese Academy of Sciences,Beijing 100093,China)
Most of existing cloud storage solutions can not support multi-authority and weight of attributes,so the weighted multi-authority attribute encryption based on ciphertext policy is proposed.The multi-authority ABE without a central authority is realized by a pseudo-random function that shares a secret parameter among each authority.Encryption and decryption based on weighted attribute is achieved through weight-based segmentation of the attributes from all the authorization centers.Analysis result shows that the scheme is safe,which can resist the collusion attack from malicious users and authorized centers and control the secure access of cloud storage.
attribute encryption;weighted attribute;multi-authority;cloud computing
TP309.2
A
1673-808X(2015)05-0386-05
2015-05-11
國家自然科學基金(61272037,61402366);陜西省自然科學基礎研究計劃(2013JZ020,2015JQ6236);陜西省國際科技合作與交流計劃(2015KW-010);西安郵電大學研究生創新基金(CXL2014-10,CXL2014-04)
鄭東(1964-),男,山西臨汾人,教授,博士,研究方向為密碼學與網絡安全。E-mail:zhengdong@xupt.edu.cn
陳文聰,張應輝,鄭東.基于密文策略的權重多中心屬性加密方案[J].桂林電子科技大學學報,2015,35(5):386-390.