肖思煜 葛愛軍,3 馬傳貴,2
1(數(shù)學(xué)工程與先進(jìn)計(jì)算國(guó)家重點(diǎn)實(shí)驗(yàn)室(中國(guó)人民解放軍信息工程大學(xué)) 鄭州 450000)2(陸軍航空兵學(xué)院 北京 101116)3(信息安全國(guó)家重點(diǎn)實(shí)驗(yàn)室(中國(guó)科學(xué)院信息工程研究所) 北京 100093) (siyuxiao32@163.com)
?
去中心化且固定密文長(zhǎng)度的基于屬性加密方案
肖思煜1葛愛軍1,3馬傳貴1,2
1(數(shù)學(xué)工程與先進(jìn)計(jì)算國(guó)家重點(diǎn)實(shí)驗(yàn)室(中國(guó)人民解放軍信息工程大學(xué)) 鄭州 450000)2(陸軍航空兵學(xué)院 北京 101116)3(信息安全國(guó)家重點(diǎn)實(shí)驗(yàn)室(中國(guó)科學(xué)院信息工程研究所) 北京 100093) (siyuxiao32@163.com)
基于素?cái)?shù)階雙線性群,提出了一種去中心化的基于屬性加密方案,并在標(biāo)準(zhǔn)模型下證明了方案的安全性.該方案中含有一個(gè)中央機(jī)構(gòu)(central authority, CA)和多個(gè)屬性機(jī)構(gòu)(attribute authority, AA),其中中央機(jī)構(gòu)負(fù)責(zé)生成與用戶全局唯一身份標(biāo)識(shí)綁定的隨機(jī)值,并且不參與任何屬性相關(guān)的操作,有效地抵抗了合謀攻擊.每個(gè)屬性機(jī)構(gòu)負(fù)責(zé)互不相交的屬性域并且相互獨(dú)立,甚至不需要知道其他屬性機(jī)構(gòu)的存在.特別地,任何機(jī)構(gòu)都不能獨(dú)立解開密文.進(jìn)一步,可以將該方案推廣至多中央機(jī)構(gòu)情形,中央機(jī)構(gòu)之間亦相互獨(dú)立,用戶只需在其信任的任何一個(gè)中央機(jī)構(gòu)注冊(cè)即可,實(shí)現(xiàn)了真正意義上的“去中心化”.該方案中密文長(zhǎng)度達(dá)到了固定值,同時(shí)解密運(yùn)算只需要2個(gè)雙線性對(duì),在Charm架構(gòu)下的仿真實(shí)驗(yàn)表明:該方案具有非常高的效率.
去中心化;多機(jī)構(gòu)基于屬性加密;密文數(shù)據(jù)訪問控制;固定長(zhǎng)度密文;抗合謀攻擊
作為一種新型的公鑰密碼技術(shù),基于屬性加密體制[1]在對(duì)數(shù)據(jù)加密的同時(shí),還可以基于用戶屬性對(duì)數(shù)據(jù)的解密權(quán)限進(jìn)行細(xì)粒度的控制,很好地解決了密文機(jī)密性和訪問控制靈活性的沖突,是云環(huán)境下基于密碼學(xué)方法實(shí)現(xiàn)對(duì)數(shù)據(jù)對(duì)象訪問控制的關(guān)鍵技術(shù)[2],在安全云存儲(chǔ)[3]、物聯(lián)網(wǎng)隱私保護(hù)[4]以及社交網(wǎng)絡(luò)訪問[5]等領(lǐng)域都有著廣泛的應(yīng)用前景.
基于屬性密碼體制可看作是基于身份密碼體制[6]的推廣.在基于屬性加密系統(tǒng)中,用戶的身份標(biāo)識(shí)被泛化為與其身份相關(guān)的一系列描述性的屬性集合,如性別、年齡、職業(yè)、級(jí)別等,同時(shí)用戶私鑰以及密文都與屬性相關(guān)聯(lián).加密者在加密數(shù)據(jù)的時(shí)候并不需要知道用戶的公鑰或者具體身份信息,只有滿足訪問策略的用戶才能對(duì)密文成功解密.通過(guò)在密文或者私鑰中嵌入訪問策略的方法,基于屬性加密體制提供了靈活的訪問控制,并且相比基于身份加密體制的“一對(duì)一”通信模式,基于屬性加密體制是一種“多對(duì)多”的通信模式:即一個(gè)密文可以被多個(gè)私鑰解密,同時(shí)一個(gè)私鑰也可以解密對(duì)應(yīng)不同訪問結(jié)構(gòu)的密文.基于屬性加密體制的這些特點(diǎn),非常適合云計(jì)算等加解密方都不固定的應(yīng)用場(chǎng)景,因此受到了廣泛的關(guān)注,并成為當(dāng)前密碼理論及應(yīng)用領(lǐng)域的研究熱點(diǎn)[7].
需要指出的是,傳統(tǒng)的基于屬性加密系統(tǒng)都是單機(jī)構(gòu)情形,即系統(tǒng)中只存在一個(gè)認(rèn)證授權(quán)中心負(fù)責(zé)管理所有的屬性,為每個(gè)用戶分發(fā)相應(yīng)的私鑰,工作量巨大并且容易成為系統(tǒng)瓶頸.同時(shí),該授權(quán)機(jī)構(gòu)能夠解密系統(tǒng)所有的密文,因此也需要求授權(quán)機(jī)構(gòu)完全可信.針對(duì)此問題,Chase[8]最早研究了多機(jī)構(gòu)的基于屬性加密體制.多機(jī)構(gòu)基于屬性加密系統(tǒng)可以將單授權(quán)機(jī)構(gòu)的信任和工作量分散到系統(tǒng)所有授權(quán)機(jī)構(gòu),有效減輕了單授權(quán)機(jī)構(gòu)的負(fù)載,同時(shí)也符合分布式應(yīng)用要求信任擴(kuò)散的原則,在實(shí)際中應(yīng)用更加廣泛.
在多機(jī)構(gòu)基于屬性加密體制中,系統(tǒng)授權(quán)機(jī)構(gòu)一般由一個(gè)中央機(jī)構(gòu)(central authority, CA)和多個(gè)屬性機(jī)構(gòu)(attribute authority, AA)組成.用戶從中央機(jī)構(gòu)CA處獲得與其身份相關(guān)的密鑰,從屬性機(jī)構(gòu)AA處獲得與其屬性相關(guān)的密鑰.為了保證解密算法的正確性,屬性機(jī)構(gòu)AA的秘密密鑰一般是由中央機(jī)構(gòu)CA根據(jù)系統(tǒng)主密鑰計(jì)算生成,即中央機(jī)構(gòu)CA具有非常強(qiáng)的解密權(quán)限,可解密系統(tǒng)所有密文.
為了避免使用中央機(jī)構(gòu)CA帶來(lái)的安全脆弱性問題,林煌等人[9]采用密鑰分發(fā)和聯(lián)合零秘密共享技術(shù),最早提出了一種不需要中央機(jī)構(gòu)的多屬性機(jī)構(gòu)基于屬性加密體制.此外,Chase等人[10]在文獻(xiàn)[8]基礎(chǔ)上也構(gòu)造了一個(gè)隱私性保護(hù)且無(wú)中央機(jī)構(gòu)的多機(jī)構(gòu)基于屬性加密方案.但是這類方案要求所有屬性機(jī)構(gòu)必須在線并且通過(guò)交互方可建立系統(tǒng),效率較低.
2011年,密碼學(xué)家Lewko和Waters[11]提出了一種新型的稱之為去中心化的基于屬性加密體制(decentralized attribute-based encryption).中央機(jī)構(gòu)在系統(tǒng)建立后即可退出,任何一個(gè)實(shí)體都可充當(dāng)屬性機(jī)構(gòu)的角色,并且無(wú)需中央機(jī)構(gòu)協(xié)助即可獨(dú)立為用戶分發(fā)相關(guān)屬性密鑰.特別地,在去中心化的基于屬性密碼系統(tǒng)中,屬性機(jī)構(gòu)相互之間是完全獨(dú)立的,甚至不必知道其他屬性機(jī)構(gòu)的存在.
Lewko和Waters[11]提出的方案具有非常強(qiáng)的靈活性,能夠支持任意單調(diào)訪問結(jié)構(gòu),但是該方案及其改進(jìn)方案[12]只能在隨機(jī)預(yù)言模型(random oracle model, ROM)下可證明安全,即在安全性證明中需要把Hash函數(shù)假定為一個(gè)完全隨機(jī)的預(yù)言機(jī).而實(shí)際中的Hash函數(shù)與隨機(jī)預(yù)言機(jī)的問答模式是有區(qū)別的,近年來(lái)也有學(xué)者指出某些在隨機(jī)預(yù)言模型下可證明安全的方案在Hash函數(shù)實(shí)例化后并不安全[13],因此,在不借助于隨機(jī)預(yù)言機(jī)的標(biāo)準(zhǔn)模型下設(shè)計(jì)去中心化的多機(jī)構(gòu)基于屬性加密方案更有意義.國(guó)內(nèi)外學(xué)者在這領(lǐng)域已有一些探索[14-18],但是這些方案或者安全性證明不夠嚴(yán)謹(jǐn)[14,16],或者安全性存在缺陷[15],不能抵抗合謀攻擊[17-18].因此,如何在標(biāo)準(zhǔn)模型下構(gòu)造可證明安全的去中心化的基于屬性加密方案,這仍然是一個(gè)有待解決的公開問題.
為了減少對(duì)中央機(jī)構(gòu)的信任,另外一個(gè)思路就是由劉振等人[19]提出的多中央機(jī)構(gòu)和多屬性機(jī)構(gòu)的基于屬性加密體制.系統(tǒng)中存在多個(gè)中央機(jī)構(gòu)和多個(gè)屬性機(jī)構(gòu),其中中央機(jī)構(gòu)負(fù)責(zé)為用戶分發(fā)身份相關(guān)的密鑰,不參與任何屬性相關(guān)的密鑰分發(fā);而屬性機(jī)構(gòu)可獨(dú)立分發(fā)屬性相關(guān)的密鑰.系統(tǒng)中沒有單個(gè)機(jī)構(gòu)能夠獨(dú)立地解開任何密文,因此它可以有效防止中央機(jī)構(gòu)作弊,該方案在標(biāo)準(zhǔn)模型下可證明安全,并且具有諸多良好的性質(zhì):支持任意單調(diào)訪問結(jié)構(gòu)、適應(yīng)性安全等.針對(duì)該方案基于合數(shù)階雙線性群構(gòu)造所導(dǎo)致的效率不高問題,李琦等人[20]基于素?cái)?shù)階雙線性群給出了一個(gè)改進(jìn)方案,具有更高的計(jì)算效率.需要指出的是,上述2個(gè)多機(jī)構(gòu)基于屬性加密方案中[19-20],中央機(jī)構(gòu)通過(guò)門限秘密共享的方式分享系統(tǒng)主密鑰,因此用戶需要與所有中央機(jī)構(gòu)交互以生成其身份密鑰.特別地,如果系統(tǒng)中只有一個(gè)中央機(jī)構(gòu),則該中央機(jī)構(gòu)可獨(dú)立解密所有密文.
受劉振等人的多機(jī)構(gòu)基于屬性加密方案[19]啟發(fā),本文在單機(jī)構(gòu)基于屬性加密方案[21]的基礎(chǔ)上構(gòu)造了一個(gè)標(biāo)準(zhǔn)模型下可證明安全的去中心化基于屬性加密方案.方案中授權(quán)機(jī)構(gòu)由一個(gè)中央機(jī)構(gòu)CA和多個(gè)屬性機(jī)構(gòu)AA組成,其中CA負(fù)責(zé)系統(tǒng)的建立以及生成與用戶身份相關(guān)的密鑰.每個(gè)屬性機(jī)構(gòu)AA負(fù)責(zé)不同的屬性域,相互獨(dú)立甚至不需要知道其他屬性機(jī)構(gòu)的存在.任何實(shí)體只需要在CA注冊(cè)并生成關(guān)于自己屬性相關(guān)的參數(shù)即可加入系統(tǒng)并成為一個(gè)屬性機(jī)構(gòu).即便中央機(jī)構(gòu)也不能單獨(dú)解密,這保證了系統(tǒng)中沒有單個(gè)機(jī)構(gòu)能夠獨(dú)立地解開任何密文.針對(duì)中央機(jī)構(gòu)負(fù)責(zé)為所有用戶分發(fā)身份相關(guān)密鑰所帶來(lái)的負(fù)載過(guò)重問題,在不影響安全性的前提下,我們方案很容易推廣到多中央機(jī)構(gòu)情形,實(shí)現(xiàn)了真正意義上的“去中心化”.
在不借助于隨機(jī)預(yù)言機(jī)的標(biāo)準(zhǔn)模型下,我們證明了所構(gòu)造方案的安全性.該方案能夠支持靈活的與非門訪問策略,在選擇性安全模型下基于n-BDHE假設(shè)證明了方案具有選擇明文攻擊(chosen plaintext attacks, CPA)安全性.特別地,在我們的方案中,密文長(zhǎng)度達(dá)到了常數(shù)級(jí)別,與用戶屬性個(gè)數(shù)、訪問策略屬性個(gè)數(shù)都無(wú)關(guān),同時(shí)解密運(yùn)算只需要2個(gè)雙線性對(duì)運(yùn)算,具有非常高的計(jì)算效率.本文最后,我們?cè)贑harm架構(gòu)[22]下對(duì)方案進(jìn)行了具體實(shí)現(xiàn),分別考慮了在固定訪問策略中屬性個(gè)數(shù)而增加用戶屬性個(gè)數(shù),以及固定用戶屬性個(gè)數(shù)而增加訪問策略中屬性個(gè)數(shù)這2種情況下,密鑰生成、加密以及解密算法分別運(yùn)行時(shí)間的變化,實(shí)驗(yàn)結(jié)果正如預(yù)期.
1.1 雙線性映射
設(shè)G和GT是2個(gè)階為素?cái)?shù)p的乘法循環(huán)群,g是G的生成元,如果一個(gè)映射e:G×G→GT同時(shí)滿足3個(gè)性質(zhì):
1) 雙線性性.對(duì)任意u,v∈p,有:e(gu,gv)=e(g,g)uv.
2) 非退化性.e(g,g)≠1.
3) 可計(jì)算性.對(duì)于任意的g,h∈G,存在多項(xiàng)式時(shí)間算法來(lái)計(jì)算e(g,h)的值.
則稱這個(gè)映射是一個(gè)雙線性映射.
1.2 困難性假設(shè)
本文基于屬性加密方案的安全性依賴于n-BDHE假設(shè),Boneh等人[23]證明了這個(gè)假設(shè)在一般群模型中是困難的,也即這個(gè)假設(shè)是合理的.下面給出這個(gè)復(fù)雜性假設(shè)的具體描述.
|Pr[A(g,gs,yg,α,n,e(gn+1,gs))=0]-
Pr[A(g,gs,yg,α,n,Z)=0]|,
其中,Z∈GT和s,α∈p均為隨機(jī)選取.如果對(duì)于任意概率多項(xiàng)式時(shí)間的敵手(λ)對(duì)安全參數(shù)λ都是可忽略的,則稱n-BDHE假設(shè)是成立的.
1.3 多機(jī)構(gòu)基于屬性加密
1.3.1 形式化定義
一個(gè)多機(jī)構(gòu)基于屬性加密方案包括4個(gè)階段:1)系統(tǒng)建立階段,包括生成系統(tǒng)全局參數(shù)、中央機(jī)構(gòu)建立和屬性機(jī)構(gòu)建立;2)用戶密鑰生成階段,包括身份密鑰生成和屬性密鑰生成;3)加密階段;4)解密階段.特別地,當(dāng)一個(gè)用戶加入系統(tǒng)時(shí),他首先訪問中央機(jī)構(gòu)獲得身份相關(guān)的密鑰,然后訪問與其相關(guān)的屬性機(jī)構(gòu)獲得該機(jī)構(gòu)授權(quán)的屬性密鑰.具體而言,一個(gè)多機(jī)構(gòu)基于屬性加密方案應(yīng)包括7個(gè)算法:
1)GlobalSetup(λ):系統(tǒng)建立算法.算法以安全參數(shù)λ為輸入,輸出系統(tǒng)公開參數(shù)GPK.
2)CASetup(GPK):中央機(jī)構(gòu)建立算法.算法以系統(tǒng)公開參數(shù)GPK為輸入,輸出中央機(jī)構(gòu)的主密鑰CSK和公鑰CPK,其中CPK只會(huì)被屬性機(jī)構(gòu)使用,在加解密算法中并不使用.
3)AASetup(GPK,Uk):屬性機(jī)構(gòu)建立算法.每個(gè)屬性機(jī)構(gòu)單獨(dú)運(yùn)行此算法來(lái)建立自己的公開參數(shù)和密鑰.算法以系統(tǒng)公開參數(shù)GPK和序號(hào)為k的屬性機(jī)構(gòu)AAk管理的屬性域Uk為輸入,輸出AAk的主密鑰ASKk和公鑰APKk.
4)CKeyGen(GPK,CSK,GID,S):身份密鑰生成算法.由中央機(jī)構(gòu)運(yùn)行,算法以系統(tǒng)公開參數(shù)GPK、中央機(jī)構(gòu)主密鑰CSK、用戶唯一身份標(biāo)識(shí)GID和用戶屬性集合S為輸入,輸出用戶的身份密鑰SKGID,S.
5)AKeyGen(GPK,CPK,ASKk,SKGID,S,atti):屬性密鑰生成算法.當(dāng)用戶GID訪問屬性機(jī)構(gòu)AAk請(qǐng)求屬性atti的密鑰時(shí),AAk運(yùn)行此算法.算法以系統(tǒng)公開參數(shù)GPK、中央機(jī)構(gòu)公鑰CPK、AAk主密鑰ASKk、用戶GID的身份密鑰SKGID,S和屬性atti∈S為輸入,輸出屬性密鑰SKGID,i.對(duì)于用戶GID,我們用S表示他的屬性集合,則他的解密密鑰(decryptionkey)被定義為DKGID=(SKGID,S,{SKGID,i}atti∈S).
6)Encrypt(GPK,{APKk},M,W):加密算法.算法以系統(tǒng)公開參數(shù)GPK、相關(guān)屬性機(jī)構(gòu)的公鑰{APKk}、消息M和一個(gè)訪問策略W為輸入,輸出密文CTW.
7)Decrypt(GPK,CTW,DKGID):解密算法.算法以系統(tǒng)公開參數(shù)GPK、一個(gè)密文CTW和一個(gè)解密密鑰DKGID為輸入.令W表示密文CTW包含的訪問策略,S表示解密密鑰DKGID的屬性集合,若S滿足W,算法輸出一個(gè)消息M,否則輸出⊥表示解密失敗.
1.3.2 安全模型
我們通過(guò)如下挑戰(zhàn)者和攻擊者之間的不可區(qū)分游戲來(lái)定義多機(jī)構(gòu)基于屬性加密方案的安全性.假設(shè)系統(tǒng)中只有一個(gè)中央機(jī)構(gòu)且屬性機(jī)構(gòu)集合為Q={AA1,AA2,…,AAK}.
1) 系統(tǒng)建立.挑戰(zhàn)者運(yùn)行算法GlobalSetup,CASetup和AASetup(GPK,Uk)(k=1,2,…,K),并且把GPK,CPK和{APKk|k=1,2,…,K}給攻擊者.隨后攻擊者提交序號(hào)集合D?{1,2,…,K}來(lái)指定被其腐化的屬性機(jī)構(gòu),挑戰(zhàn)者把相應(yīng)私鑰{ASKk|k∈D}發(fā)送給攻擊者.
2) 階段1.攻擊者可以自適應(yīng)地向挑戰(zhàn)者進(jìn)行如下詢問:
① 身份密鑰詢問.攻擊者提交(GID,S)進(jìn)行查詢,挑戰(zhàn)者返回相應(yīng)的用戶身份密鑰SKGID,S.
② 屬性密鑰詢問.攻擊者提交(SKGID,S,atti∈S)進(jìn)行查詢,其中atti屬于一個(gè)未被腐化的屬性機(jī)構(gòu),挑戰(zhàn)者生成相應(yīng)的屬性密鑰SKGID,i給攻擊者.
5) 猜測(cè).攻擊者輸出對(duì)位b的猜測(cè)值b′∈{0,1},當(dāng)且僅當(dāng)b=b′,敵手獲得成功.
一個(gè)多機(jī)構(gòu)基于屬性加密方案被稱為是適應(yīng)性安全(adaptively secure)的,當(dāng)且僅當(dāng)任何概率多項(xiàng)式時(shí)間的敵手在上述不可區(qū)分游戲中成功的優(yōu)勢(shì)|Pr[b′=b]-12|都是可忽略的.
如果敵手在系統(tǒng)建立之前公布自己將要挑戰(zhàn)的訪問策略W,那么在這樣的模型下證明的方案安全性被稱為選擇性安全(selectively secure).
2.1 單中央機(jī)構(gòu)情形
本節(jié)我們提出了一個(gè)單中央機(jī)構(gòu)情形下的多機(jī)構(gòu)基于屬性加密方案,并且密文長(zhǎng)度達(dá)到了常數(shù)級(jí)別,具體如下:
1)GlobalSetup(λ):系統(tǒng)建立算法.此算法由一個(gè)只參與系統(tǒng)建立階段的可信第三方來(lái)運(yùn)行.輸入安全參數(shù)λ,生成一個(gè)p階(p>2λ)雙線性群(p,G,GT,e,g)并且選擇一個(gè)存在性不可偽造的簽名方案Σsign=(KeyGen,Sign,Verify),輸出系統(tǒng)公開參數(shù)GPK=(p,G,GT,e,g,Σsign).
2)CASetup(GPK):中央機(jī)構(gòu)建立算法.中央機(jī)構(gòu)運(yùn)行Σsign中的KeyGen算法得到簽名密鑰對(duì)(Signkey,Verifykey),其中簽名私鑰CSK=Signkey保密,CPK=Verifykey公開.
3)AASetup(GPK,Uk):屬性機(jī)構(gòu)建立算法.對(duì)于每個(gè)atti∈Uk,AAk隨機(jī)選擇ri∈p,ui∈G,計(jì)算Ri=g-ri以及Ti=e(ui,g),然后公布公鑰APKk={Ri,Ti|atti∈Uk},并設(shè)定它的主密鑰ASKk={ri,ui|atti∈Uk}.
4)CKeyGen(GPK,CSK,GID,S):身份密鑰生成算法.用戶GID將自己的全局唯一身份標(biāo)識(shí)以及屬性集合S發(fā)送給中央機(jī)構(gòu)CA,CA隨機(jī)選擇V∈G,將SKGID,S=(GID,S,V,Sign(Signkey,GID‖S‖V))返回給用戶.
5)AKeyGen(GPK,CPK,ASKk,SKGID,S,atti):屬性密鑰生成算法.當(dāng)用戶提交SKGID,S以及屬性atti給AAk申請(qǐng)屬性密鑰時(shí),AAk首先將SKGID,S進(jìn)行拆分,并且驗(yàn)證簽名Sign(Signkey,GID‖S‖V)的合法性,若驗(yàn)證成功且atti∈S成立,則計(jì)算并返回SKGID,i=uiVri給用戶.用戶GID的解密密鑰定義為DKGID=(SKGID,S,{SKGID,i}atti∈S).
2.1.1 正確性分析
正確性驗(yàn)證如下:
故上述方案是滿足正確性的.
2.1.2 安全性分析
定理1. 假定簽名方案Σsign在標(biāo)準(zhǔn)模型下是存在性不可偽造的,基于n-BDHE困難問題假設(shè),我們構(gòu)造的多機(jī)構(gòu)基于屬性加密方案對(duì)于選擇性敵手是安全的.
證明. 本文為實(shí)現(xiàn)多機(jī)構(gòu)的基于屬性加密,將密鑰生成算法中隨機(jī)值V∈G的選擇交由中央機(jī)構(gòu)CA來(lái)負(fù)責(zé),并將其與用戶的全局唯一標(biāo)識(shí)GID和屬性集合S進(jìn)行綁定,這樣可以有效防止惡意用戶之間的合謀攻擊;否則,擁有不同屬性的用戶A和B之間可以通過(guò)共享同一個(gè)V來(lái)獲得自己權(quán)限之外的信息.若方案中的簽名算法滿足存在性不可偽造,則用戶不可能生成一個(gè)有效的簽名,所以即使想共享同一個(gè)V,也通不過(guò)屬性機(jī)構(gòu)AAs的驗(yàn)證.
假設(shè)挑戰(zhàn)者S輸入一個(gè)在雙線性群(p,G,GT,e,g)上的n-BDHE實(shí)例(g,h,yg,α,n,T),他可以通過(guò)下列步驟來(lái)模擬不可區(qū)分游戲.
(Ri*,Ti*)=(g-ri*,e(ui*,g))=
對(duì)于i∈{j|attj∈Ω*{atti*}},計(jì)算:
否則,計(jì)算:
挑戰(zhàn)者再選取存在性不可偽造的簽名算法Σsign=(KeyGen,Sign,Verify),并且生成簽名密鑰對(duì)(Signkey,Verifykey),將{(Ri,Ti)|atti∈U}, {(ri,ui)|atti∈UU1}以及(p,G,GT,e,g,Σsign,Verifykey)發(fā)送給敵手A.
2) 階段1.敵手可以自適應(yīng)地向挑戰(zhàn)者進(jìn)行任意密鑰問詢:
① 身份密鑰問詢.敵手首先將全局唯一標(biāo)識(shí)GID和屬性集合S發(fā)送給挑戰(zhàn)者,其中Ω*?S,所以必然存在atti′∈Ω*S.挑戰(zhàn)者S選取隨機(jī)的v∈p,計(jì)算V=gi′gv,將δ=(GID,S,V,Sign(Signkey,GID‖S‖V))發(fā)送給敵手.
② 屬性密鑰問詢.敵手將(δ,atti)提交給挑戰(zhàn)者,其中atti∈S由屬性機(jī)構(gòu)AA1控制.挑戰(zhàn)者首先拆分δ并驗(yàn)證簽名的合法性,然后按如下規(guī)則進(jìn)行密鑰回復(fù).
若i≠i*,計(jì)算:
這里我們假定i*≠i′,如果i*=i′,就只需要按照第2種方式計(jì)算密鑰.將SKGID,i返回給敵手.
3) 挑戰(zhàn).在某個(gè)時(shí)刻,敵手A提交給挑戰(zhàn)者2個(gè)等長(zhǎng)消息M0,M1,挑戰(zhàn)者隨機(jī)選擇比特b∈{0,1},計(jì)算
C0=MbTe(g,h)aΩ,C1=h-rΩ,C2=h,
Mbe(gn+1,h)e(g,h)aΩ,
當(dāng)T=e(gn+1,h)時(shí),CT=(C0,C1,C2)是明文Mb的合法密文.否則,在敵手眼里CT是一個(gè)隨機(jī)消息的對(duì)應(yīng)密文.
4) 階段2.同階段1.
5) 猜測(cè).敵手A輸出對(duì)位b的猜測(cè)值b′,如果b′=b,則挑戰(zhàn)者S輸出0;否則,輸出1.
如果敵手能以ε的優(yōu)勢(shì)攻破上述加密方案,則挑戰(zhàn)者能以同樣ε的優(yōu)勢(shì)解決n-BDHE問題.
證畢.
值得注意的是,在我們的方案中,敵手每次問詢GID的身份密鑰,挑戰(zhàn)者都選擇一個(gè)隨機(jī)值作為回答,而屬性密鑰是在身份密鑰的基礎(chǔ)生成的,因此只要每一個(gè)S都不能滿足挑戰(zhàn)訪問策略,同一個(gè)GID就可以詢問多個(gè)不同屬性集合S的密鑰.
2.2 多中央機(jī)構(gòu)的情形
為減輕一個(gè)中央機(jī)構(gòu)為所有用戶生成身份密鑰帶來(lái)的負(fù)載過(guò)重的問題,我們可以將上述方案拓展到多中央機(jī)構(gòu)的情形,做到真正意義上的去中心化.
1)GlobalSetup(λ):系統(tǒng)建立算法.與單中央機(jī)構(gòu)情形相同.
2)CASetup(GPK,j):中央機(jī)構(gòu)建立算法.第j個(gè)中央機(jī)構(gòu)CAj單獨(dú)運(yùn)行Σsign中的KeyGen算法得到簽名密鑰對(duì)(Signkeyj,Verifykeyj),其中CSKj=Signkeyj保密,CPKj=Verifykeyj公開.
3)AASetup(GPK,Uk):屬性機(jī)構(gòu)建立算法.與單中央機(jī)構(gòu)情形相同.
4)CKeyGen(GPK,CSKj,GID,S):身份密鑰生成算法.用戶將自己的全局唯一身份標(biāo)識(shí)GID以及屬性集合S發(fā)送給任意一個(gè)中央機(jī)構(gòu)CAj申請(qǐng)身份密鑰,CAj隨機(jī)選擇V∈G,計(jì)算SKGID,S,j=(GID,S,V,j,Sign(Signkeyj,GID‖S‖V‖j))并將其返回給用戶.
5)AKeyGen(GPK,{CPKj},ASKk,SKGID,S,j,atti):屬性密鑰生成算法.用戶將SKGID,S,j以及屬性atti發(fā)送給相應(yīng)的AAk申請(qǐng)屬性密鑰,AAk首先將δGID,S,j進(jìn)行拆分,并且驗(yàn)證簽名Sign(Signkeyj,GID‖S‖V‖j)的合法性,若驗(yàn)證成功且atti∈S成立,則計(jì)算并返回SKGID,i=uiVri給用戶.
6) 加解密算法與單中央機(jī)構(gòu)情形相同.
定理2. 假定簽名方案Σsign在標(biāo)準(zhǔn)模型下是存在性不可偽造的,那么基于n-BDHE困難問題假設(shè),上述多中央機(jī)構(gòu)情形下的方案也是選擇性安全的.
證明. 方案中引入多個(gè)中央機(jī)構(gòu)只是為了緩解單個(gè)中央機(jī)構(gòu)運(yùn)算量過(guò)大的問題,并不影響方案的安全性,即多個(gè)中央機(jī)構(gòu)的安全性證明與單中央機(jī)構(gòu)情形基本相同,這里就不再贅述.
證畢.
表1將本文多機(jī)構(gòu)基于屬性加密方案和相關(guān)方案在效率和安全模型方面進(jìn)行了詳細(xì)的比較,其中l(wèi)是指表示某個(gè)單調(diào)布爾函數(shù)的線性秘密共享(linear secret sharing scheme, LSSS)矩陣的行數(shù),S代表密鑰屬性集合,D和K分別代表CA和AA的個(gè)數(shù),|I|是指LSSS矩陣用于解密的行數(shù).
Table 1 Efficiency Comparisons of Different Multi-Authority ABE
Fig. 1 The number of user attributes and policy attributes influence on running time.圖1 用戶屬性和策略屬性數(shù)目對(duì)方案運(yùn)行時(shí)間的影響
與其他2個(gè)方案相比,本文的方案實(shí)現(xiàn)了固定密文長(zhǎng)度與固定數(shù)目的雙線性對(duì)運(yùn)算,在計(jì)算和存儲(chǔ)上有著較大的優(yōu)勢(shì).盡管只能支持簡(jiǎn)單的與非門訪問策略,但是在一般場(chǎng)景下,這種策略已經(jīng)足夠滿足實(shí)際需求.
為驗(yàn)證本文方案在實(shí)際部署中的可用性,我們?cè)贑harm架構(gòu)下對(duì)其進(jìn)行了具體實(shí)現(xiàn).注意到GlobalSetup中的簽名方案Σsign與加解密算法是互不影響的,我們主要考慮加解密算法.
在圖1(a)中,我們考察了用戶屬性個(gè)數(shù)對(duì)方案中各個(gè)算法運(yùn)行時(shí)間的影響.在實(shí)驗(yàn)中,我們令整個(gè)系統(tǒng)中屬性總數(shù)N=20,訪問策略中屬性個(gè)數(shù)N1=4,用戶屬性個(gè)數(shù)由5變化至20.可以看出,只有屬性密鑰生成算法AKeyGen的平均運(yùn)行時(shí)間隨著用戶屬性個(gè)數(shù)的增加線性增長(zhǎng),其余算法包括加解密時(shí)間與用戶屬性個(gè)數(shù)無(wú)關(guān).
在圖1(b)中,我們考察了策略屬性個(gè)數(shù)對(duì)方案中各個(gè)算法運(yùn)行時(shí)間的影響.在該實(shí)驗(yàn)中,我們令整個(gè)系統(tǒng)中屬性總數(shù)N=20,用戶屬性個(gè)數(shù)N2=20,策略屬性個(gè)數(shù)由5變化至20.從圖1中可以看出,加密時(shí)間與所涉及的策略屬性數(shù)目無(wú)關(guān).并且加密算法中只涉及到群中的指數(shù)運(yùn)算,速度較快,平均時(shí)間大約是0.016 s.解密算法中涉及到2個(gè)對(duì)運(yùn)算,但是不管策略屬性數(shù)目如何增長(zhǎng),其運(yùn)行時(shí)間基本也在0.02 s左右,變化不大.
在去中心化的多機(jī)構(gòu)基于屬性加密體制中,不同的屬性域由不同的屬性機(jī)構(gòu)進(jìn)行管理,每個(gè)屬性機(jī)構(gòu)都獨(dú)立運(yùn)作,并且沒有機(jī)構(gòu)能夠獨(dú)立解開任何密文.將單授權(quán)機(jī)構(gòu)的信任和工作量分散到系統(tǒng)所有授權(quán)機(jī)構(gòu),有效減輕了傳統(tǒng)的基于屬性加密體制中單授權(quán)機(jī)構(gòu)的負(fù)載,同時(shí)也契合網(wǎng)絡(luò)結(jié)構(gòu)去中心化的趨勢(shì),在實(shí)際中有著更加廣泛的應(yīng)用前景.
本文基于素?cái)?shù)階雙線性群構(gòu)造的去中心化基于屬性加密方案,在標(biāo)準(zhǔn)模型下基于n-BDHE假設(shè)證明了方案具有選擇性安全.特別地,該方案中密文長(zhǎng)度達(dá)到了常數(shù)級(jí)別,與用戶屬性個(gè)數(shù)、訪問策略屬性個(gè)數(shù)都無(wú)關(guān),同時(shí)解密運(yùn)算只需要2個(gè)雙線性對(duì),在Charm架構(gòu)下的仿真實(shí)驗(yàn)表明該方案具有非常高的效率.本文方案不足之處在于表達(dá)力有限,只能支持簡(jiǎn)單的與非門訪問策略,即通過(guò)犧牲訪問結(jié)構(gòu)的表達(dá)性來(lái)達(dá)到提高方案效率的目的.如何在標(biāo)準(zhǔn)模型下構(gòu)造表達(dá)力更強(qiáng)的或者適應(yīng)性安全的去中心化基于屬性加密方案,這是當(dāng)前研究的公開難題,也是下一步我們要繼續(xù)研究的問題.
[1]Sahai A, Waters B. Fuzzy identity-based encryption[G] //LNCS 3494: Proc of Int Conf on Theory and Applications of Cryptographic Techniques. Berlin: Springer, 2005: 457-473
[2]Feng Dengguo, Zhang Min, Zhang Yan, et al. Study on cloud computing security[J]. Journal of Software, 2011, 22(1): 71-83 (in Chinese)(馮登國(guó), 張敏, 張妍, 等. 云計(jì)算安全研究[J]. 軟件學(xué)報(bào), 2011, 22(1): 71-83)
[3]Fu Yingxun, Luo Shengmei, Shu Jiwu. Survey of secure cloud storage system and key technologies[J]. Journal of Computer Research and Development, 2013, 50(1): 136-145 (in Chinese)(傅穎勛, 羅圣美, 舒繼武. 安全云存儲(chǔ)系統(tǒng)與關(guān)鍵技術(shù)綜述[J]. 計(jì)算機(jī)研究與發(fā)展, 2013, 50(1): 136-145)
[4]Dong Xiaolei. Advances of privacy preservation in Internet of things[J]. Journal of Computer Research and Development, 2015, 52(10): 2341-2352 (in Chinese)(董曉蕾. 物聯(lián)網(wǎng)隱私保護(hù)研究進(jìn)展[J]. 計(jì)算機(jī)研究與發(fā)展, 2015, 52(10): 2341-2352)
[5]Lü Zhiquan, Hong Cheng, Zhang Min, et al. Privacy-preserving scheme for social networks[J]. Journal of Communications, 2014, 35(8): 23-32 (in Chinese)(呂志泉, 洪澄, 張敏, 等. 面向社交網(wǎng)絡(luò)的隱私保護(hù)方案[J]. 通信學(xué)報(bào), 2014, 35(8): 23-32)
[6]Shamir A. Identity-based cryptosystems and signature schemes[G] //LNCS 196: Advances in Cryptology. Berlin: Springer, 1985: 47-53
[7]Su Jinshu, Cao Dan, Wang Xiaofeng, et al. Attribute-based encryption schemes[J]. Journal of Software, 2011, 22(6): 1299-1315 (in Chinese)(蘇金樹, 曹丹, 王小峰, 等. 屬性基加密機(jī)制[J]. 軟件學(xué)報(bào), 2011, 22(6): 1299-1315)
[8]Chase M. Multi-authority attribute based encryption[C] //Proc of the 4th Theory of Cryptography Conf (TCC 2007). Berlin: Springer, 2007: 515-534
[9]Lin Huang, Cao Zhenfu, Liang Xiaohui, et al. Secure threshold multi authority attribute based encryption without a central authority[G] //LNCS 5365: Proc of the 9th Int Conf on Cryptology in India (INDOCRYPT 2008). Berlin: Springer, 2008: 426-436
[10]Chase M, Chow S. Improving privacy and security in multi-authority attribute-based encryption[C] //Proc of the 16th ACM Conf on Computer and Communications Security. New York: ACM, 2009: 121-130
[11]Lewko A, Waters B. Decentralizing attribute-based encryption[G] //LNCS 6632: Advances in Cryptology (EUROCRYPT). Berlin: Springer, 2011: 568-588
[12]Okamoto T, Takashima K. Decentralized attribute-based signature[G] //LNCS 7778: Proc of Public Key Cryptology (PKC). Berlin: Springer, 2013: 125-142
[13]Canetti R, Goldreich O, Halevi S. The random oracle methodology, revisited[C] //Proc of ACM Annual Symp on Theory of Computing (STOC). New York: ACM, 1998: 209-218
[14]Han Jinguang, Susilo W, Mu Yi, et al. Privacy-preserving decentralized key-policy attribute-based encryption[J]. IEEE Trans on Parallel and Distributed Systems, 2012, 23(11): 2150-2162
[15]Han Jinguang, Susilo W, Mu Yi, et al. Improving privacy and security in decentralized ciphertext-policy attribute-based encryption[J]. IEEE Trans on Information Forensics and Security, 2015, 10(3): 665-678
[16]Yogachandran R. User collusion avoidance scheme for privacy-preserving decentralized key-policy attribute-based encryption-full version[EB/OL]. [2016-06-20]. http://120.52.73.76/arxiv.org/pdf/1602.01261v1.pdf
[17]Ge Aijun, Zhang Jiang, Zhang Rui, et al. Security analysis of a privacy-preserving decentralized key-policy attribute-based encryption scheme[J]. IEEE Trans on Parallel and Distributed Systems, 2013, 24(11): 2319-2321
[18]Wang Minqian, Zhang Zhenfeng, Chen Cheng. Security analysis of a privacy-preserving decentralized ciphertext-policy attribute-based encryption scheme[J]. Concurrency and Computation: Practice and Experience, 2016, 28(4): 1237-1245
[19]Liu Zhen, Cao Zhenfu, Huang Qiong, et al. Fully secure multi-authority ciphertext-policy attribute-based encryption without random oracles[G] //LNCS 6879: Proc of Computer Security (ESORICS). Berlin: Springer, 2011: 278-297
[20]Li Qi, Ma Jianfeng, Xiong Jinbo, et al. An adaptively secure multi-authority ciphertext-policy ABE scheme on prime order groups [J]. Acta Electronica Sinica, 2014, 42(4): 696-702 (in Chinese)(李琦, 馬建峰, 熊金波, 等.一種素?cái)?shù)階群上構(gòu)造的自適應(yīng)安全的多授權(quán)機(jī)構(gòu)CP-ABE方案[J]. 電子學(xué)報(bào), 2014, 42(4): 696-702)
[21]Chen Cheng, Zhang Zhenfeng, Feng Dengguo. Efficient ciphertext policy attribute-based encryption with constant-size ciphertext and constant computation-cost[C] //Proc of the 5th Int Conf on Provable Security (ProvSec 2011). Berlin: Springer, 2011: 84-101
[22]Akinyele J A, Garman C, Miers I, et al. Charm: A framework for rapidly prototyping cryptosystems[J]. Journal of Cryptographic Engineering, 2013, 3(2): 111-128
[23]Boneh D, Boyen X, Goh E. Hierarchical identity based encryption with constant size ciphertext[G] //LNCS 3494: Advances in Cryptology (EUROCRYPT). Berlin: Springer, 2005: 440-456
Xiao Siyu, born in 1993. Master candidate. Her main research interests include public key encryption.
Ge Aijun, born in 1985. PhD. His main research interests include public key encryption and digital signatures.
Ma Chuangui, born in 1962. Professor and PhD supervisor. His main research interests include network and information security(chuaguima@sina.com).
Decentralized Attribute-Based Encryption Scheme with Constant-Size Ciphertexts
Xiao Siyu1, Ge Aijun1,3, and Ma Chuangui1,2
1(StateKeyLaboratoryofMathematicalEngineeringandAdvancedComputing(PLAInformationEngineeringUniversity),Zhengzhou450000)2(ArmyAviationInstitute,Beijing101116)3(StateKeyLaboratoryofInformationSecurity(InstituteofInformationEngineering,ChineseAcademyofSciences),Beijing100093)
Based on prime-order bilinear groups, we propose a decentralized multi-authority attribute-based encryption scheme which is proven to be secure in the standard model. Firstly, we construct an attribute-based encryption system with a central authority (CA) and multiple attribute authorities (AAs), where CA is responsible for generating a random value associated with each user’s unique global identifier (GID), and does not participate in any operation related to users’ attributes. Different users will get different random values, thus they cannot obtain any information beyond authority even through collusion. Every attribute authority is responsible for different attributes domain and they are independent of each other. It’s even not necessary to know the existence of each other in the system. In particular, there is no authority that can decrypt a ciphertext alone. Secondly, this scheme can be extended to a decentralized attribute-based encryption with multiple CAs setting, where every CA is also independent of each other, and each user can issue his private key from only one CA. Bringing it into practice under the Charm infrastructure, the results show that the decentralized attribute based encryption schemes are very efficient, whose ciphertexts are of constant size, i.e., regardless of the number of underlying attributes of access control policy or users.
decentralized; multi-authority attribute-based encryption; ciphertext access control; constant-size ciphertext; collusion resistant
2016-06-16;
2016-08-17
國(guó)家自然科學(xué)基金項(xiàng)目(61309016,61379150,61502529);信息安全國(guó)家重點(diǎn)實(shí)驗(yàn)室開放課題(2016-MS-15)
葛愛軍(geaijun@163.com)
TP309
This work was supported by the National Natural Science Foundation of China (61309016, 61379150, 61502529) and the Open Foundation of the Sate Key Laboratory of Information Security (2016-MS-15).