鄒秀斌
(江漢大學(xué) 數(shù)學(xué)與計算機科學(xué)學(xué)院,湖北 武漢 430056)
多認證機構(gòu)的屬性加密方案
鄒秀斌
(江漢大學(xué) 數(shù)學(xué)與計算機科學(xué)學(xué)院,湖北 武漢 430056)
通常情況下,用戶所具有的屬性集合由不同的認證機構(gòu)負責(zé)分配和認證。針對這種情況,提出了一種多認證機構(gòu)的屬性加密方案。在該方案中,將屬性全集分成若干個屬性子集,而且各個屬性子集之間相交結(jié)果是空集。對于每一個屬性子集,由一認證機構(gòu)負責(zé)監(jiān)控用戶的屬性值并分配對應(yīng)該屬性值的密鑰。任意發(fā)送者可用一屬性集合加密信息,而具有該屬性集合的用戶可以解密已加密了的信息。所提方案滿足IND-sSET-CPA安全。
屬性加密;多認證機構(gòu)的屬性加密;雙線性映射
Sahai和Waters[1]介紹了一種新的IBE,即基于模糊身份加密FIBE(Fully Identity-Based Encryption)。在FIBE方案中,Sahai和Waters還創(chuàng)造性地稱它為基于屬性加密ABE(Attribute-Based Encryption)。
在當(dāng)今信息社會,將敏感的用戶數(shù)據(jù)放到Internet網(wǎng)上的第三方,這是大趨勢。為了保護好用戶的數(shù)據(jù),用戶一般都要將他們的數(shù)據(jù)加密成密文后才放到第三方??墒沁@樣做會產(chǎn)生一個問題:即我們僅能夠粗度層次地共享這些加密的數(shù)據(jù)(即將我們的密鑰給需要知道這些數(shù)據(jù)的人)。若不將我們的密鑰共享出來,則經(jīng)過加密的數(shù)據(jù)又限制了我們以良好細度層次方式共享這些數(shù)據(jù)。為了解決這個問題,Goyal[2-3]設(shè)計了一種ABE方案(我們將其稱為G-ABE方案)。在G-ABE方案中,加密者根據(jù)屬性集合標識密文。每個私鑰都和一存取結(jié)構(gòu)相關(guān)聯(lián),該存取結(jié)構(gòu)規(guī)定了該密鑰能夠解密那種類型的密文。由于存取結(jié)構(gòu)在密鑰中已確定,而密文用一組屬性集合加以標示,所以Goyal將G-ABE方案稱為密鑰策略的ABE(即KP-ABE:Key-Policy Attribute-Based Encryption)方案。在很多時候,我們將敏感數(shù)據(jù)加密,但同時還需要建立一種確定誰可以解密該敏感數(shù)據(jù)的存取策略。例如,對于一上市股份制公司,其公司內(nèi)部的商業(yè)機密等重要數(shù)據(jù)都已加密了。為了公司發(fā)展的需要,該公司領(lǐng)導(dǎo)制定了讀取這些重要數(shù)據(jù)的存取結(jié)構(gòu):
(部門=“銷售部”or部門=“財務(wù)部”)and職務(wù)=“總經(jīng)理”or職務(wù)=“董事長”。
通過上面的設(shè)定,來自銷售部的總經(jīng)理或者來自財務(wù)部的總經(jīng)理以及該公司董事長亦可以解密這些重要數(shù)據(jù),以便相應(yīng)地制定公司的發(fā)展戰(zhàn)略。上例說明,擁有重要機密數(shù)據(jù)的人可基于基礎(chǔ)數(shù)據(jù)中的特定知識制定可以存取這些數(shù)據(jù)的存取結(jié)構(gòu)。對于那些可以讀取這些重要機密數(shù)據(jù)的人,數(shù)據(jù)發(fā)送者可能還不知道讀取數(shù)據(jù)者的身份信息。但是,他可以知道他們是否具有的屬性以及其資質(zhì)。
Chase[4]提出了多認證機構(gòu)的屬性加密方案(以下簡稱為MA-ABE:Multi-Authority Attribute Based Encryption),在MA-ABE方案中,可以允許多項式數(shù)量(設(shè)該數(shù)量的值是n=f(λ),其中λ是安全參數(shù))的相互獨立的認證結(jié)構(gòu)監(jiān)管、認證用戶的屬性以及發(fā)布密鑰。對于k=1,2,…,n,密文發(fā)送者可以根據(jù)需要選擇合適的門限值tk,以及一屬性集合Rk(Rk中的屬性是由認證機構(gòu)證實認可的),然后加密任意消息mj(j為任意值)。那么,對于某用戶Useri,設(shè)認證結(jié)構(gòu)確定用戶Useri的屬性集合為,如果|ˉk∩Rk|≥tk時,用戶Useri才能解密密文mj。然而,MA-ABE方案中的CA有權(quán)解密每個密文,而這與CA在許多潛在不可信認證機構(gòu)之間分布控制的原始目標相矛盾。而且,全局標識符的運用使得認證機構(gòu)可以利用他們的信息得到用戶屬性全面的信息概況,這與用戶的私有性相矛盾。為了解決這兩個矛盾問題,2009年,Chase[5]又提出了一個改進的多認證機構(gòu)ABE方案(我們簡稱IMA-ABE:Im?proved MA-ABE方案)。在IMA-ABE方案中,除去可信認證機構(gòu),通過防止認證機構(gòu)共享出關(guān)于某個用戶的信息,從而使得ABE在實踐中更加可用。
本文提出了一種多認證機構(gòu)的屬性加密方案。在該方案中,將屬性全集分成若干個屬性子集,而且各個屬性子集之間相交結(jié)果是空集。對于每一個屬性子集,由一認證機構(gòu)負責(zé)監(jiān)控用戶的屬性值并分配對應(yīng)該屬性值的密鑰。任意發(fā)送者可用一屬性集合加密信息,而具有該屬性集合的用戶可以解密已加密了的信息。方案滿足IND-sSET-CPA安全。
DBDHE(Decisional q-Bilinear Diffie-Hellman Exponent)問題定義如下:根據(jù)安全參數(shù)選擇一素數(shù) p階群G1。隨機選擇a,s∈?p,選擇一生成員 g∈G1,令hi表示 gai。提供給敵手 y→=(g,h1,h2,…,hq,hq+2,…,h2q,gs),敵手區(qū)分GT中的一元素與e(g,g)aq+1s∈GT。
定義1 在解決DBDHE問題時,如果非多項式時間敵手有不可忽略的優(yōu)勢,則說DBDHE假設(shè)成立。
定義2 令Φ=(SignKeyGen,Sign,SignVerify)是基于身份的簽名系統(tǒng),其中SignKeyGen是簽名密鑰/驗證密鑰產(chǎn)生算法,Sign是消息簽名算法,SignVerify是簽名驗證算法。如果算法SignVerify驗證簽名通過時,返回1,否則返回0。對于任意概率多項式時間敵手A而言,在以選擇消息攻擊簽名系統(tǒng)Φ時優(yōu)勢是可忽略的,則說簽名系統(tǒng)Φ是不可偽造簽名的。我們可以使用強RSA假設(shè)和2-SSDH(Strong Diffie-Hellman)假設(shè)構(gòu)造出這樣的簽名系統(tǒng)Φ。
在本節(jié)中,筆者提出了多認證機構(gòu)的屬性加密方案,簡寫成Z-MAABE方案。
3.1 構(gòu)造Z-MAABE方案
在本方案中,參與方包括中心認證機構(gòu)CA(Central Authority)、K個屬性認證機構(gòu) AAi(Attribute Authority)以及一般用戶,其中i=1,2,…,K。對于i=1,2,…,K,設(shè)屬性認證機構(gòu) AAk的身份是IDk∈?p。
初始化。設(shè)方案中的屬性認證機構(gòu)個數(shù)是 K。令 ?=?1+?2+…+?K,U1={a1,1,a1,2,…,a1,?1},U2={a2,1,a2,2,…,a2,?2},…,UK={aK,1,aK,2,…,aK,?K},此處U1,U2,…,UK彼此不相交,并且 ?≤q。屬性全集是U=U1∪U2∪…UK={a1,1,…,a1,?1,a2,1,…,a2,?2,…,aK,1,…,aK,?K}。對于i=1,…,K ,屬性認證機構(gòu) AAk負責(zé)認證屬性ak,1,…,ak,?k。再令MaxNum?是?1,?2,…,?K中的最大值。設(shè)η(x):{1,2,…,?}→U是雙射函數(shù),u(x):U→{1,2,…,?}是雙射函數(shù),η(x)是 u(x)的逆函數(shù)。對于i=1,…,K,vi(x):Ui→{1,2,…,MaxNum?},該函數(shù)的作用是返回屬性機構(gòu)給定該屬性的編號。定義函數(shù)f(x):U→{1,2,…,K},其作用是:返回負責(zé)管理屬性x的屬性機構(gòu)的編號。例如:ai,j∈U,f(ai,j)=i,vi(ai,j)=j。而我們可以得到負責(zé)認證屬性 x的屬性認證機構(gòu)編號為u(x)。構(gòu)造矩陣 M ,可以得到存取結(jié)構(gòu)(M,η)。隨機選擇α,a,c,d∈?p,并隨機選擇生成員g∈G1,令g1=gc,g2=gd,A=e(g,g)α,系統(tǒng)主密鑰MSK=gα,公開系統(tǒng)參數(shù):
1)中心認證機構(gòu)CA 功能包括兩個方面:
①為用戶分配私鑰(用戶公鑰為其中關(guān)鍵字屬性值VKA(Value of Key Attribute),該關(guān)鍵字屬性值VKA可以區(qū)分不同的用戶。
②對于k=1,…,K,中心認證機構(gòu)CA隨機選擇sk,并秘密將sk發(fā)送給屬性認證機構(gòu)AAk,并對外公開PKk,其中PKk=。屬性認證機構(gòu)AAk只需驗證
是否成立,如果(1)式成立,則屬性認證機構(gòu) AAk知道中心認證機構(gòu)CA發(fā)送的密鑰sk是正確的;否則,屬性認證機構(gòu)AAk要求中心認證機構(gòu)CA重新發(fā)送密鑰。
2)屬性認證機構(gòu)AAk設(shè)屬性認證機構(gòu)AAk負責(zé)集合Uk中的?k個屬性認證分配。設(shè)屬性認證機構(gòu) AAk的私鑰是 sk。對于用戶UserVKAi來說,其關(guān)鍵字屬性值為VKAi。屬性認證機構(gòu) AAk運行SignKeyGen算法,產(chǎn)生簽名密鑰/驗證密鑰對是(SignKeyk,VerifyKeyk),對外公布驗證密鑰VerifyKeyk。
對于 j=1,…,?k,屬性認證機構(gòu) AAk隨機選擇rk,j∈?p,計算用戶UserVKAi對應(yīng)于屬性ak,j的私鑰,公開元組
并將私鑰 SKVKAi,ak,j秘密發(fā)送給用戶UserVKAi。用戶UserVKAi只需驗證下面等式
是否成立。如果該等式成立,則用戶UserVKAi認為屬性認證機構(gòu) AAk發(fā)送給自己的密鑰SKVKAi,ak,j是正確的;否則他要求屬性認證機構(gòu) AAk重新發(fā)送一個新的密鑰。而任何人可以知道元組Tk,VKAi,ak,j是屬性認證機構(gòu)AAk發(fā)布的。令
任何人只需驗證下面兩式
是否成立。如果(2)、(3)式成立,則他便知道Tk,VKAi,ak,j是屬性認證機構(gòu)AAk發(fā)布的元組,而且該值是正確無誤的。
3)KeyGen(MSK,S) 輸入系統(tǒng)主密鑰和屬性集合S,產(chǎn)生對應(yīng)于屬性集合S的私鑰KS。隨機選擇,得到KS=(K0,K1=gαgat,K2=gt)。
3.2 Z-MAABE方案安全分析
定理1 假定DBDHE假設(shè)成立,則Z-MAABE方案滿足IND-sSET-CPA安全。
證明 假設(shè)存在多項式敵手在選擇性地攻擊Z-MAABE方案時有不可忽略優(yōu)勢ε。給定矩陣?和某用戶關(guān)鍵字屬性值VKA*,此處?≤q。
首先,挑戰(zhàn)者Challenger繼承如上面方案所定義的公共參數(shù) params=(G1,GT,K,U,g,A,g1,g2,η(x),u(x),f(x),vi(x)|i=1,2,…,K)。令生成元 g∈G ,α∈,并設(shè) yi=g(αi)。定義 DL是元組 (g,gs,y1,y2,…,yq,yq+2,…,y2q,T)的分布(T=e(g,g)(aq+1)·s),而 DR是 (g,gs,y1,y2,…,yq,yq+2,…,y2q,T)元組的分布(T∈GT)。
將(g,gs,y1,y2,…,yq,yq+2,…,y2q,T)發(fā)送給挑戰(zhàn)者Challenger。當(dāng)(g,gs,y1,y2,…,yq,yq+2,…,y2q,T)來自分布 DL時,則挑戰(zhàn)者Challenger輸出1;而當(dāng)(g,gs,y1,y2,…,yq,yq+2,…,y2q,T)來自分布 DR時,則挑戰(zhàn)者輸出0。
初始化。敵手Adversary在游戲開始之前,敵手Adversary選擇一個屬性集合S*={b1,b2,…,bd},對于i=1,2,…,d,bi∈U,而且敵手Adversary選擇一個 M?*×?*和VKA*。
設(shè)置階段。挑戰(zhàn)者Challenger首先得到 g,gs,y1,y2,…,yq,yq+2,…,y2q,和 M?*×?*、VKA*。挑戰(zhàn)者隨機選擇 α′,并通過e(g,g)α=e(g,g)aq+1·e(g,g)α′含蓄地設(shè)α=α′+aq+1。將公共參數(shù) params=(G1,GT,K,U,g,A,g1,g2,η(x),u(x),f(x),vi(x)|i=1,2,…,K)發(fā)送給敵手Adversary。
密鑰查詢階段1。敵手Adversary向挑戰(zhàn)者發(fā)起多次關(guān)于屬性集合的密鑰查詢。在此處,我們僅僅考慮一次密鑰查詢。即查詢對應(yīng)于屬性集合S的密鑰。這里,要求屬性集合S≠S*,而且S不滿足存取結(jié)構(gòu)*(M*,η)。挑戰(zhàn)者Challenger找到一列向量(u1,u2,…,u?)T∈,且滿足0。隨機選擇r∈?p,挑戰(zhàn)者Challenger令t=r+u1aq+…+u?aq-(?-1),而且u1=-1。則
挑戰(zhàn)階段。一旦敵手Adversary認為密鑰查詢階段1結(jié)束了,便輸入兩個等長的明文m0、m1,這兩個明文是他希望挑戰(zhàn)的,唯一的限制是以前未發(fā)起針對屬性集合S*的密鑰查詢。另外還輸入存取結(jié)構(gòu)M,η)。Challenger還可以得到公開信息 Tk,VKAx=(Ak,x,1,Ak,x,2,Ak,x,3,x,VKAi,Ak,VKAx),其中x∈S。對于x∈S,隨機 ρx∈?p。挑戰(zhàn)者Challenger拋幣方式得到d∈{0,1},并得到
x∈S時,挑戰(zhàn)者將密文CT發(fā)送給敵手Adversary。
密鑰查詢階段2。類似于密鑰查詢階段1,唯一的要求是查詢密鑰對應(yīng)的屬性集合S和存取結(jié)構(gòu)′(M′,η)分別不同于密鑰查詢階段1中的屬性集合和存取結(jié)構(gòu)。
猜測階段。敵手輸出關(guān)于 d的猜測 d′。如果 d=d′,則挑戰(zhàn)者Challenger輸出1,說明元組(g,gs,y1,y2,…,yq,yq+2,…,y2q,T)來自分布 DL,此處T=e(g,g)(aq+1)·s;否則輸出0,說明(g,gs,y1,y2,…,yq,yq+2,…,y2q,T)來自分布 DR,此處T∈GT。而當(dāng)元組(g,gs,y1,y2,…,yq,yq+2,…,y2q,T)來自分布DR,敵手Adversary認為挑戰(zhàn)密文CT與d值無關(guān)。令=(y1,y2,…,yq,yq+2,…,y2q),于是可以得到
[1] Sahai A,Waters B.Fuzzy identity-based encryption[C]//Advances in cryptology EUROCRYPT 2005.Heidelberg:Spring?er,2005,3494:557.
[2] Goyal V,Pandey O,Sahai A,et al.Attribute-based encryption for fine-grained access control of encrypted data[C]// CCS06 Proceedings of the 13th ACM Conference on Computer and Communications Security,New York:ACM,2006,537060:89-98.
[3] Goyal V,Jain A,Pandey O,et al.Bounded ciphertext policy attribute based encryption[C]//Automata,Languages and Pro?gramming.Heidelberg:Springer,2008,5126:579-591.
[4] Chase M.Multi-authority attribute based encryption[J].Theory of Cryptography,2007,4392:515-534.
[5] Chase M,Chow S S M.Improving privacy and security in multi-authority attribute-based encryption[C]//CCS’09 Proceed?ings of the 16th ACM Conference on Computer and Communications Security.New York:ACM,2009,537091:121-130.
Attribute Encryption Scheme of Multi-authority
ZOU Xiu-bin
(School of Mathematics and Computer Science,Jianghan University,Wuhan 430056,Hubei,China)
A user's attributs are usually distributed and authenticated by the different authori?ties.Proposes a multi-authority attribute-based encryption scheme for this case.The universal attri?bute set is divided into a number of attribute subsets,moreover,the attribute subsets intersect is null set.For every attribute subset,an authority takes charge of monitoring the attribute value and as?signs a key corresponding to the attribute value.Every senter can encrypt the information with a cer?tain attribute set,and the user obtaining the attribute set can decrypt the encrypted information.The proposed scheme meets the security of IND-sSET-CPA.
attribute-based encryption;multi-authority attribute-based encryption;bilinear Map
TP309.7
:A
:1673-0143(2013)01-0061-06
(責(zé)任編輯:強士端)
2012-12-02
國家自然科學(xué)基金資助項目(60903175);湖北省自然科學(xué)基金資助項目(2009CBD307)
鄒秀斌(1974—),男,講師,博士,研究方向:公鑰密碼體制及其安全分析。