楊詩雨 李學俊
(西安電子科技大學網(wǎng)絡與信息安全學院 陜西 西安 710071)
可密鑰驗證的多授權屬性基加密方案
楊詩雨 李學俊
(西安電子科技大學網(wǎng)絡與信息安全學院 陜西 西安 710071)
在多授權屬性基加密方案中,每個授權機構都會給用戶發(fā)一個私鑰,當用戶拿到所有的私鑰但不能成功解密時,就不知道是哪個授權機構對應得私鑰出錯,所以只能要求所有的授權機構重發(fā)一次,這樣既浪費時間又浪費資源。為了解決上述問題,提出了一種可密鑰驗證的多授權基于屬性的加密方案,實現(xiàn)了在矩陣訪問結(jié)構下對私鑰的正確性進行驗證,解決了當合法用戶不能成功解密時需要大量的授權機構重發(fā)私鑰的問題。同時實現(xiàn)了抗共謀攻擊,提高了系統(tǒng)的安全性。最后證明了該方案在selective-set模型下達到選擇明文攻擊安全。
多授權 屬性基加密 密鑰驗證 抗共謀攻擊
在屬性加密機制中,用戶的身份信息不是由單個信息來生成,而是由一系列描述性的屬性集合組成,增強了描述性。同時引入了靈活的訪問結(jié)構,實現(xiàn)了一對多通信,使得發(fā)送方在加密信息時不需要指定具體的接收方,只有符合相應條件的接收者才能解密恢復出明文。基于這一特性,屬性基加密可廣泛應用于分布式環(huán)境下的信息安全,如云計算中的安全存儲。如今,屬性基加密也已成為公鑰加密機制的研究熱點之一。
2005年,Sahai等首次實現(xiàn)了模糊的基于身份的加密[1]方案,提出了基于屬性加密的概念。2006年,Goyal等首次提出可支持細粒度訪問控制的密鑰策略屬性基加密方案[2],方案中用一般的單調(diào)樹形訪問結(jié)構來描述用戶的屬性,將訪問結(jié)構嵌入到用戶私鑰中,只有當密文中的屬性集合滿足用戶的訪問結(jié)構時才能正常解密。這一重大改進大大擴展了屬性加密的應用范圍。2007年,Bethencourt等提出了一種密文策略屬性基加密方案[3],方案中將樹形訪問結(jié)構嵌入到密文中,加密者可以自行決定哪些用戶可以解密消息,實現(xiàn)了更靈活的訪問策略。
上述幾種基于屬性的加密方案中都只有一個授權機構管理屬性,計算密鑰并發(fā)送給不同的用戶,工作量大,負擔重,并且整個系統(tǒng)的安全性很低,一旦授權機構被攻破,所有的信息都會泄露,風險較大。為了解決上述問題,在2007年Chase首次提出多授權機構的屬性基加密系統(tǒng)[4]。但在該方案中還是需要一個可信的中央機構來管理授權機構集合,一旦中央機構被攻破,系統(tǒng)安全性就受到威脅。所以在2015年,Longo等便提出了去除中央機構的多授權屬性基加密方案[6]。該方案雖然避免了中央機構帶來的安全隱患,但是不能抵抗共謀攻擊,系統(tǒng)安全性較低。同時也不能驗證用戶得到的私鑰是否正確,當用戶不能成功解密時就只能所有的授權機構重發(fā)一次密鑰,這樣既浪費時間又浪費資源。
本文針對文獻[6]中的兩個問題,提出了一種可密鑰驗證的多授權屬性基加密方案。該方案可以抵抗共謀攻擊,即使不同的用戶聯(lián)合起來共享他們所得的密鑰也無法成功解密出明文,提高了系統(tǒng)的安全性。并且利用密鑰可驗證的構造思想[5]實現(xiàn)了用戶私鑰的正確性驗證,當用戶得到授權機構分發(fā)的私鑰時運行驗證算法驗證其正確性。如果該私鑰不正確則只需對應的授權機構重發(fā)一次,不用所有的授權機構都重發(fā)一次私鑰,大大減輕了授權機構的負擔,也減少了不必要的資源浪費。
1.1 雙線性映射
設G0和G1為乘法循環(huán)群,階為素數(shù)p。假設離散對數(shù)問題DLP在這兩個循環(huán)群中為困難問題,定義映射e:G0×G0→G1,如果e滿足下面這些性質(zhì),則e為一個雙線性對:
1) 雙線性:e(ga,hb)=e(g,h)ab,其中g,h∈G0,a,b∈Zp。
2) 非退化性:存在g∈G0,滿足e(g,g)≠1,1表示G1中的單位元。
3) 可計算性:對?P,Q∈G0,e(P,Q)都是可計算的。
如果存在上述雙線性映射e:G0×G0→G1以及群G1,則稱G0為雙線性群。又因為映射滿足e(ga,gb)=e(g,g)ab=e(gb,ga),所以映射e具有對稱性。
1.2 困難假設
1.3 訪問結(jié)構
定義1(訪問結(jié)構) 對于一個實體集合{P1,P2,…,Pn},任何B和C,如果當B∈A且B?C時,都有C∈A,我們就稱集合A?2{P1,P2,…,Pn}是單調(diào)的。一個單調(diào)的訪問結(jié)構是{P1,P2,…,Pn}的非空子集合A,即A?2{P1,P2,…,Pn}{φ}。包含于A的集合為授權集合,不包含于A的集合為非授權集合。
在最初的屬性基加密方案中都是采用樹形訪問結(jié)構[2],本文采用矩陣訪問結(jié)構。文獻[7]中詳細講解了怎么將一個訪問樹轉(zhuǎn)化為矩陣結(jié)構。下面我們來回顧一下線性秘密共享機制LSSS(Linear Secret-Sharing Schemes)。假設一個秘密共享方案Π擁有p個屬性(在Zp中),如果滿足下列條件,則稱其為線性的:
(1) 每個屬性都可以由Zp中的一個向量來表示。
任意滿足上述定義的線性秘密共享方案都滿足線性重構性質(zhì),重構性質(zhì)如下:令Π是一個LSSS,其訪問結(jié)構為A,授權集合為S。令I={i:ρ(i)∈S}表示矩陣中與屬性相關的行的集合,其中I?{1,2,…,l}。那么存在常數(shù)ωi∈Zp,i∈I,使得如果λi是主秘密s的有效分享,則有∑i∈Iωiλi=s。
并且在文獻[8]中指出常數(shù)ωi可以在生成矩陣M大小的多項式時間內(nèi)找到。本文的構造方案中就很好地利用LSSS的重構性質(zhì)進行解密。更多關于LSSS和訪問結(jié)構的細節(jié)可參見文獻[8-9]。
2.1 安全模型
在本方案中,每個授權機構獨立生成自己的公開參數(shù)。每個用戶都有一個全局身份標識GID[5](Global Identifier),將用戶的GIDu嵌入主密鑰中,這樣可以防止用戶1和用戶2聯(lián)合得到主密鑰,以抵抗共謀攻擊。加密者選擇屬性集S和一系列信任的授權機構,利用一系列公開參數(shù)對明文進行加密。用戶向授權機構詢問并得到私鑰,私鑰中嵌入了用戶的GID和訪問結(jié)構A。只有當密文中的屬性集滿足用戶的訪問結(jié)構,即S∈A時,用戶才有可能成功解密出明文。整個方案在selective-set模型下達到選擇明文攻擊安全IND-CPA(Indistinguishability under chosen-plaintext attack)。其安全模型定義如下:
1) 初始化:敵手申明要挑戰(zhàn)的屬性集S和授權機構集合A,并且選擇一個誠實的授權機構k0∈A。
2) 建立階段:挑戰(zhàn)者運行生成密鑰算法,初始化授權機構,將公開參數(shù)交給敵手。
3) 查詢階段1:敵手對私鑰和驗證信息進行詢問。對每一個GID,授權機構k0只回答對不滿足S的訪問結(jié)構A(即S?A)所對應的私鑰和驗證信息作出的詢問。而其他的授權機構回答所有的詢問。
4) 挑戰(zhàn)階段:敵手向挑戰(zhàn)者提交兩個等長的消息m0和m1。挑戰(zhàn)者隨機拋一枚硬幣,根據(jù)其結(jié)果b∈{0,1}來決定加密消息mb。再將密文發(fā)給敵手。
5) 查詢階段2:重復查詢階段1的操作。
6) 猜測階段:敵手猜測b的值,輸出b′∈{0,1},如果b′=b,那么就說明敵手贏得勝利。
2.2 具體方案構造
選取素數(shù)階雙線性群G,G1,雙線性映射e:G×G→G1,生成元g∈G。假設有N個獨立的授權機構,全部屬性被劃分為N個互不相交的集合,每個屬性集合由不同的授權機構負責管理。隨機選擇偽隨機算法(PRF)種子s1,s2,…,sn。屬性集合為U。
1) 初始化:假設加密者選取其中A個授權機構進行加密,對每一個授權機構k∈A,隨機選取αk∈Zp,和zk,i∈Zp,其中i∈U。授權機構私鑰為{sk,αk},系統(tǒng)的公開參數(shù)為PKk=(e(g,g)αk,{Ti=gzk,i}i∈U)。
2) 加密:輸入系統(tǒng)的公開參數(shù)PKk,屬性集合S和明文m。隨機選取一個s∈Zp,加密后輸出密文如下:
3) 密鑰生成:
? 對任意用戶u,令yk,u=FSk(u),F(xiàn)sk(·)為偽隨機函數(shù)。則授權機構k的主密鑰MKk,u=(yk,u,{zk,i}i∈U)。
? 最后計算hk,i=e(g,g)λk,i,Y=e(g,g)yk,u,Tk,m={e(g,g)rm}m=2,…,n。
? 輸出Qu,驗證信息{hk,i,Y,Tk,m}和私鑰SKk,u。
4) 驗證:用戶得到私鑰和一些驗證信息之后,首先檢查是否e(kk,i,ck,ρk(i))=hk,i。如果相等則說明私鑰中的λk,i和hk,i中的λk,i一致。之后再檢查λk,i是否正確。驗證如下等式:
當?shù)仁匠闪r,則表示該行通過驗證。如果有一項未通過驗證,則表明私鑰有錯,可要求該授權機構重發(fā)對應部分的私鑰。當所有項都通過驗證時,則表示該私鑰正確,用戶可繼續(xù)解密。
5) 解密: 輸入密文CT,授權機構集合A和私鑰。對每個授權機構k,(Mk,ρk)是矩陣訪問結(jié)構,假設屬性集合Sk是授權集合(即訪問結(jié)構滿足屬性集Sk),其中Sk表示授權機構k對應的屬性集合,便可以找到ωk,i∈Zp,i∈Ik,使得∑i∈Ikλk,i·ωk,i=yk,u,其中Ik={i,ρ(i)∈Sk},Ik∈{1,2,…,l}。解密過程如下:
2.3 安全性證明
上述方案在selective-set安全模型下可以達到IND-CPA安全。并且確保只要有一個完全誠實的授權機構存在,該方案就是安全的。下面描述如何將方案的安全性規(guī)約到DBDH困難問題上。
定理1 假設存在一個敵手能夠在多項式時間內(nèi)攻破該方案,那么就可以構造一個以不可忽略的優(yōu)勢解決DBDH困難問題的模擬器。
首先假設對每個誠實的授權機構,當偽隨機函數(shù)PRFFSK被替換為真正的隨機函數(shù)時,敵手仍然能以相同的優(yōu)勢攻破方案。因為如果不替換,我們就可以區(qū)分PRF和隨機函數(shù),這和PRF的定義相矛盾。
挑戰(zhàn)者選取兩個群G1、G2和這兩個群上的一個雙線性映射e,設G1的生成元為g。之后挑戰(zhàn)者私下拋一枚硬幣,查看其結(jié)果v∈{0,1}。如果v=1,則選取A=ga,B=gb,C=gc,Z=e(g,g)abc。如果v=0,則選取A=ga,B=gb,C=gc,Z=e(g,g)z。其中a,b,c,z都是隨機整數(shù)。
e(g,g)αk=e(gb,g-rk) ?k∈A{k0}
由以上公式可以得出:
αk0=ab+b∑k∈A{k0}rk
αk=-rkb?k∈A{k0}
由以上公式可以得到公開參數(shù)gzk,i的值如下:
對所有的i,模擬器計算:
Tk0,m={e(g,g)um}m=2,…n
對所有的i,模擬器計算:
Y=e(gb,ghk,1)=e(g,g)-b·tk,u=e(g,g)yk,u
Tk,m={e(gb,ghk,m)=e(g,g)bhk,m}m=2,…,n
3.1 密鑰可驗證性分析
3.2 抗共謀分析
在本方案中,系統(tǒng)的主密鑰由各個授權機構產(chǎn)生的密鑰主密鑰份額組成,而各個授權機構的主密鑰嵌入了每個用戶的GID(我們要求每個用戶的GID是唯一的可識別的,并且每個用戶不能給不同的授權機構發(fā)送不同的GID),從而保證了系統(tǒng)的抗共謀攻擊能力。
3.3 效率對比分析
文獻[10]中陳勤等提出了一種多認證機構可驗證的屬性基加密方案。表1和表2將本文的方案和文獻[10]中的方案進行效率對比分析。表中P和E分別代表雙線性對和冪指數(shù)運算。U、SC、SK和I分別代表系統(tǒng)的屬性域,加密所用的屬性集,密鑰生成所用的屬性集和解密所用的屬性集。F代表授權機構的數(shù)量,D代表樹形訪問結(jié)構中非葉子節(jié)點對應的多項式次數(shù),n代表矩陣訪問結(jié)構的列數(shù)。
表1 計算量對比
表2 公開參數(shù)、私鑰、驗證信息和密文大小對比
本文構造出一種無中央機構的多授權可驗證的屬性基加密方案,避免了因中央機構被攻破而導致整個系統(tǒng)安全受到威脅的問題。方案采用矩陣訪問結(jié)構,實現(xiàn)了密鑰驗證,解決了當合法用戶不能成功解密時需要大量的授權機構重發(fā)私鑰的問題。并且整個方案可以抵抗共謀攻擊,增強了系統(tǒng)的安全性。
[1] Sahai A, Waters B. Fuzzy identity-based encryption[C]// LNCS 3494: Proceedings of Eurocrypt’05.Berlin: Springer, 2005:457-473.
[2] Goyal V, Pandey O, Sahai A, et al. Attribute Based Encryption for Fine-Grained Access Control of Encrypted Data[C]// Proceedings of CCS’06.New York: ACM Press, 2006:89-98.
[3] Bethencourt J, Sahai A, Waters B. Ciphertext-Policy Attribute-Based Encryption[C]// Security and Privacy, 2007. SP '07. IEEE Symposium on. IEEE Xplore, 2007:321-334.
[4] Melissa Chase. Multi-authority attribute based encryption[C]//LNCS 4392: Proceedings of TCC’07.Springer, 2007: 515-534.
[5] Tang Qiang, Ji Dongyao. Verifiable Attribute Based Encryption [J]. International Journal of Network Security, 2010, 10(2): 114-120.
[6] Riccardo Longo, Chiara Marcolla, Massimiliano Sala. Key-Policy Multi-authority Attribute-Based Encryption[C]// LNCS 9270:Proceedings of CAI’15.Switzerland:Springer,2015:152-164.
[7] Lewko A, Waters B. Decentralizing attribute-based encryption[C]// LNCS 6632: Proceedings of Cryptology Eurocrypt’11. Berlin: Springer, 2011:568-588.
[8] Beimel A. Secure schemes for secret sharing and key distribution[D]. Israel: Faculty of computer science, Technion-Israel Institute of technology, 1996.
[9] Liu Z, Cao Z. On efficiently transferring the linear secret-sharing scheme matrix in ciphertext-policy attribute-based encryption[Z]. IACR Cryptology ePrint Archive, 2010.
[10] Chen Qin, Dang ZhengQin, Zhang Jinman, et al. Verifiable attribute based encryption scheme with multi-authority[J]. Application Research of Computers, 2012, 29(1):308-311.
MULTI-AUTHORIZATION ATTRIBUTE-BASED ENCRYPTION WITH KEY VERIFICATION
Yang Shiyu Li Xuejun
(InstituteofNetworkandInformationSecurity,XidianUniversity,Xi’an710071,Shaanxi,China)
In the multi-authorization attribute-based encryption scheme, each authority will send a private key to the user. When the user to get all the private key but can not be successfully decrypted, the authority does not know which is the corresponding private key error, it can only ask all authorized agencies to re-send time, so that a waste of time and waste of resources. In order to solve the above problems, a multi-authorization attribute-based encryption scheme with key verification is proposed. This method can verify the correctness of the private key under the matrix access structure, and solves the problem that a large number of authorized institutions need to retransmit the private key when the legitimate user can not decrypt successfully. At the same time, it realizes the anti-collusion attack and improves the security of the system. Finally, it is proved that the proposed scheme achieves the security of selective plaintext attack in the selective-set model.
Multi-authorization Attribute-based encryption Key verification Resist collusion attack
2016-06-29。楊詩雨,碩士,主研領域:密碼學。李學俊,副教授。
TP309.2
A
10.3969/j.issn.1000-386x.2017.05.054