姜 頔,宋德鵬
(1. 武警工程大學(xué) 電子技術(shù)系,陜西 西安 710086;2. 武警工程大學(xué) 信息工程系,陜西 西安 710086)
云計算環(huán)境下的高效的多授權(quán)方屬性加密方案
姜頔1,宋德鵬2
(1. 武警工程大學(xué) 電子技術(shù)系,陜西 西安710086;2. 武警工程大學(xué) 信息工程系,陜西 西安710086)
云計算環(huán)境下的信息安全保密十分重要,針對以往的加密方案無法適應(yīng)云環(huán)境下靈活的訪問控制特點,提出了一個能夠達(dá)到靈活訪問云存儲數(shù)據(jù)的屬性加密方案,在多授權(quán)方的情形下,提供了可行的密鑰管理,并且確保了可行的用戶撤銷,具有很強(qiáng)的實用性,在一般雙線性群模型下和隨機(jī)預(yù)言機(jī)模型下,可以證明本方案是安全的。
云計算;信息安全;屬性加密;可證明安全
本文著錄格式:姜頔,宋德鵬. 云計算環(huán)境下高效的多授權(quán)方屬性加密方案[J]. 軟件,2016,37(9):85-90
借助于網(wǎng)絡(luò)和存儲技術(shù)的飛速發(fā)展,云計算已成為一種新興的服務(wù)模式。云計算通過將計算和存儲職責(zé)從本地轉(zhuǎn)移到云中,為用戶節(jié)省了大量成本,因此得到了廣泛的支持和應(yīng)用[1]。越來越多的企業(yè)會將自己的企業(yè)的數(shù)據(jù)外包給云服務(wù)提供商,除了節(jié)省資源消耗這個優(yōu)勢,存儲的靈活性也是外包數(shù)據(jù)的主要推動力。但是,云存儲所帶來的好處的同時,也面臨著嚴(yán)峻的安全問題[2-4],因此加密數(shù)據(jù)成為保證安全的關(guān)鍵技術(shù)。傳統(tǒng)的加密系統(tǒng)是能夠保證將數(shù)據(jù)機(jī)密性地傳送給指定的接收方,但是這樣的傳輸特點就限制了云環(huán)境的靈活性,是不符合當(dāng)前的云環(huán)境的安全需求的,也無法充分發(fā)揮云計算的優(yōu)勢。
基于屬性的密碼體制[5]由Sahai和Waters于2005年在歐密會上提出,主要針對面向多用戶的通信模式,只有滿足一定要求的接收方才能夠成功解密密文。根據(jù)密文和密鑰表現(xiàn)形式和應(yīng)用場景的不同分為密鑰策略的屬性加密(KP-ABE)和密文策略的屬性加密(CP-ABE)兩類。其中密文策略的屬性加密能夠在云中提供細(xì)粒度的訪問控制,在CP-ABE中,密文是與訪問策略相關(guān)聯(lián),是由加密者來制定的,用戶屬性與用戶的私鑰相關(guān)聯(lián)。只有當(dāng)用戶屬性滿足密文中的訪問結(jié)構(gòu),才能夠成功解密,因此在預(yù)先不知道接收者的情形下,數(shù)據(jù)分享成為可能,即使在加密后,這一特點也維持了云中訪問數(shù)據(jù)的靈活性。
盡管擁有如此多的優(yōu)良特性,但是CP-ABE的實用上仍需要很多要求。屬性加密系統(tǒng)重要的特性就是可以抵抗合謀攻擊。在絕大多數(shù)例子中,是通過將某用戶的屬性私鑰與隨機(jī)數(shù)綁定在一起。這樣的結(jié)果就是私鑰必須由一個單一授權(quán)方授權(quán),而且還必須保持在線以便于證明為系統(tǒng)用戶所分發(fā)的屬性和證書。這種情況的出現(xiàn)極有可能導(dǎo)致,一個授權(quán)方出現(xiàn)了問題,整個密碼通信系統(tǒng)就會癱瘓。為了克服這個問題,LW11方案[6]使用了分權(quán)的CP-ABE。
另一個重要因素就是用戶撤銷,在日常的實用當(dāng)中,改變用戶權(quán)限的功能是必須的。撤銷在ABE當(dāng)中是個相當(dāng)困難的問題。ABE中的屬性撤銷分為用戶撤銷、用戶屬性撤銷和系統(tǒng)屬性撤銷3種情況。撤銷用戶時,直接作廢該用戶的所有權(quán)限;撤銷用戶屬性時,需保證該用戶失去該屬性對應(yīng)的權(quán)限,而具有該屬性的其余用戶仍具備此權(quán)限;撤銷系統(tǒng)屬性時,所有與該屬性相關(guān)的用戶都受影響,執(zhí)行起來比較簡單。撤銷問題的解決與否直接關(guān)系到屬性密碼方案能否走向?qū)嵱谩?/p>
針對上述的單一授權(quán)方的缺陷和屬性加密中的撤銷問題,本文提出了一個在多授權(quán)方CP-ABE中實現(xiàn)高效的基于身份的用戶撤銷方案,在屬性加密方案中,通過身份這個特殊而唯一的屬性來完成撤銷列表,在撤銷時不會對原有其他屬性造成影響。多授權(quán)方的CP-ABE方案,能夠解決單一授權(quán)方所出現(xiàn)的缺陷。效率和安全性分析表明,本文方案是安全且高效的,符合云計算環(huán)境下對于數(shù)據(jù)共享的靈活性要求。
1.1雙線性映射及困難問題
令G和TG為兩個階為素數(shù)p的乘法循環(huán)群,g為G的生成元,如果映射滿足如下性質(zhì),則稱e為雙線性映射:
a)可計算性:對任意2(,)uvG∈,(,)euv可以被有效計算。
c)非退化性:(,)euv是TG的生成元。
DBDH假設(shè):令G和TG為兩個階為素數(shù)p的循環(huán)群,g為G的生成元,定義困難問題就是攻擊者A能區(qū)分和的優(yōu)勢大小問題,a,b, c,r是隨機(jī)從中選擇的。我們說如果對任意的多項式時間攻擊者A能夠具有可以忽略的優(yōu)勢解決DBDH問題,那么DBDH假設(shè)成立。
1.2線性秘密共享方案
定義1如果一個秘密共享方案Π在屬性集P上能夠滿足下列條件,那么就稱秘密共享方案Π是線性秘密共享方案。
(1)每個屬性元素分到的秘密份額是一個在qZ上的向量;
(2)存在一個l行n列的秘密生成矩陣M,存在這樣一個函數(shù)關(guān)系式ρ,計算()iρ來代表第i行,其中1,,il=…。定義秘密分享向量其中s為需要被分享的秘密,隨機(jī)地選擇根據(jù)方案Π計算Mv作為獲得l份秘密分享,作為秘密分享額屬于集合ρ(i)。
線性秘密共享方案同樣是滿足線性重構(gòu)這個特點的,即對于一個訪問結(jié)構(gòu)A,如果方案Π是線性秘密共享方案,那么令集合S作為訪問結(jié)構(gòu)A中的一個授權(quán)集合,存在么對于方案Π中任意秘密s的有效的份額能夠在多項式時間內(nèi)計算得到以滿足
2.1多授權(quán)方CP-ABE撤銷方案算法定義
具有基于身份的用戶撤銷的多授權(quán)方CP-ABE方案算法由以下組成:
全局初始化(λ)→GP:全局初始化算法輸入安全參數(shù)λ后,為系統(tǒng)輸出全局參數(shù)GP。
主授權(quán)方初始化(GP)→(SK*,PK*):主授權(quán)方運行該算法,輸入全局參數(shù)GP,產(chǎn)生主授權(quán)方自身的公私鑰對SK*,PK*。
身份密鑰生成(GP,RL,GID,SK*)→K*GID:主授權(quán)方根據(jù)用戶的需求運行該算法,GID是作為用戶的全局通用標(biāo)示符,檢查該需求是否合理,如果合理(比如說GID不屬于撤銷用戶),為其生成密鑰
授權(quán)方初始化(GP)→(SK,PK):每一屬性授權(quán)方運行該初始化算法,輸入全局參數(shù)GP后,生成自身的公私鑰對SK,PK。
密鑰生成(GP,SK,GID,I)→Ki,GID:屬性密鑰生成算法在輸入身份GID,全局參數(shù),屬于某一授權(quán)方的某屬性i,該授權(quán)方的私鑰SK。生成密鑰針對屬性i和身份的密鑰Ki,GID。
加密(GP,M,(,)Aρ,{PK},PK*,RL)→CT:加密算法輸入明文M,訪問矩陣(,)Aρ,相關(guān)授權(quán)方的公鑰集,主授權(quán)方的公鑰,撤銷用戶列表和全局參數(shù),然后算法生成密文CT。
解密(GP, CT, (,)Aρ, {Ki,GID}, K*GID, RL)→M:解密算法輸入全局參數(shù),撤銷用戶列表,密文,身份密鑰和所有相同的身份GID的(屬性,身份)密鑰集合。只有當(dāng)屬性i的集合滿足訪問矩陣,才能夠解密,否則解密失敗。
2.2多授權(quán)方CP-ABE撤銷方案安全模型
定義2如果多項式概率時間的攻擊者贏得如下定義的攻擊游戲的概率是可忽略的,則稱該基于屬性的多授權(quán)方CP-ABE方案滿足選擇明文攻擊安全。
通過攻擊者和挑戰(zhàn)者之間的安全游戲來定義方案的選擇明文攻擊的安全模型。游戲定義如下:
初始化:挑戰(zhàn)者運行全局初始化算法來獲得全局公開參數(shù)GP。攻擊者A指定一個集合AAAA'?并且運行授權(quán)方初始化算法獲得公私鑰對。挑戰(zhàn)者獲得相應(yīng)的密鑰通過運行授權(quán)方初始化算法和主授權(quán)方初始化算法,并將公鑰給攻擊者。
密鑰詢問階段:攻擊者A為身份GIDk進(jìn)行自適應(yīng)的密鑰詢問(代表第k次GID詢問)。挑戰(zhàn)者給A相關(guān)的身份密鑰K*GIDk通過運行身份密鑰生成算法。UL代表所有的被詢問的GIDk集合。攻擊者A通過提交(I,GIDk)對給挑戰(zhàn)者進(jìn)行屬性密鑰詢問,其中i是屬于合法授權(quán)方的屬性,挑戰(zhàn)者回應(yīng)給攻擊者相應(yīng)的密鑰Ki,GIDk。
挑戰(zhàn)階段:攻擊者A呈遞兩個相同長度的挑戰(zhàn)明文M0,M1,一個撤銷身份集合RLUL?合一個訪問矩陣(,)Aρ。
RL和A必須要滿足下列限制:使得V代表A中被某些屬性貼上標(biāo)簽的行集合,這些屬性都是由腐化的授權(quán)方來進(jìn)行控制的。對于每個用戶的身份則使得VGIDk代表A中被屬性i貼上標(biāo)簽的行集合,其中的屬性i是攻擊者所進(jìn)行的針對性詢問(I,GIDk)。對于每一個攻擊者不能請求詢問一組密鑰,在GIDk不被撤銷的情況下,這組密鑰和從腐化授權(quán)方獲得的密鑰相結(jié)合可以解密密文。針對撤銷用戶的身份,僅不能允許腐化的屬性獨自滿足訪問結(jié)構(gòu)。
攻擊者必須要給挑戰(zhàn)者相應(yīng)的公鑰,這些公鑰是針對腐化授權(quán)方,腐化授權(quán)方的屬性需要出現(xiàn)在標(biāo)簽ρ中。
密鑰詢問階段2:在該階段,攻擊者可以提交額外的屬性密鑰詢問(I,GIDk),只要這些詢問沒有違反針對挑戰(zhàn)撤銷列表RL和矩陣(,)Aρ的相關(guān)限制。
猜測階段:攻擊者A必須要提交一個針對β的猜測β',如果存在ββ'=,那么就認(rèn)為攻擊者在該游戲中贏得了勝利。因此在該游戲當(dāng)中,攻擊者贏得勝利的優(yōu)勢可以定義為
為了使得下述方案構(gòu)造步驟中相關(guān)符號參數(shù)得以清晰明了,根據(jù)第二節(jié)中所設(shè)計的方案算法定義,并且參照對比LW11方案,總結(jié)了本文方案當(dāng)中所使用的一些新的參數(shù)變量。PK*代表著主授權(quán)方的公鑰;SK*代表著主授權(quán)方的私鑰;GIDK*代表著某個用戶的全局身份私鑰;1,kC*代表著密文中撤銷用戶的身份認(rèn)證;2,kC*代表著密文中的秘密份額;RL代表著用戶撤銷列表。
所設(shè)計的方案具體構(gòu)造如下:
在該階段當(dāng)中,首先需要選擇一個素數(shù)p為階數(shù)的雙線性群G0,全局公共參數(shù)GP是素數(shù)p和群G0生成元g,和一個映射函數(shù)H,定義函數(shù)
該算法首先選擇隨機(jī)元素a,b∈Zp,將它們秘密存儲作為私鑰(在后續(xù)的安全性證明當(dāng)中將會作為隨機(jī)預(yù)言機(jī)的模型)。然后公開公鑰
在該步驟當(dāng)中,根據(jù)用戶的請求,算法首先要檢查某個用戶是否在撤銷用戶列表上,或者改用戶之前被詢問過,如果成立那么拒絕該請求,如果不成立則計算并生成全局身份私鑰:
Authority Setup(GP)→(PK, SK)
對于每一個屬于授權(quán)方的屬性i(這些索引值i不會在授權(quán)方之間再次使用),該授權(quán)方會隨機(jī)選擇兩個參數(shù)公開作為其公鑰,保密存儲}作為其私鑰。
為了給GID和屬于授權(quán)方的某屬性i產(chǎn)生一個密鑰,授權(quán)方運行該算法得到:
在本步驟中,加密算法輸入明文M,一個nl×的訪問矩陣A,其中的ρ將矩陣的行映射到屬性元素上,全局公共參數(shù)GP,相關(guān)授權(quán)方的公鑰,用戶的身份公鑰和最近的撤銷用戶列表。然后隨機(jī)選擇,和一個隨機(jī)向量其中s作為它的第一個輸入元素。定義xλ代表xAv·,其中xA代表矩
對于矩陣A中的每一行Ax,隨機(jī)選擇
首先需要假設(shè)的是,密文確實是在訪問矩陣(,)Aρ的控制下進(jìn)行加密的,如果解密者不存在于撤銷用戶列表上,而且擁有針對其GID的私鑰GIDK*和針對矩陣A中行Ax的子集的那么解密者就會按照下列進(jìn)程進(jìn)行解密算法。首先選擇常數(shù)使得并且,可以計算求得:
4.1效率分析
傳統(tǒng)意義上,基于屬性的用戶撤銷方案(比如說方案RNS11[7],YJRZ13[8])會對屬性造成一定的影響,因此一個用戶的撤銷可能會影響那些和撤銷用戶擁有相同屬性的用戶在自身屬性私鑰上的更新,也就是說一個一般的屬性可能會影響一大部分用戶;有可能影響所有密文的再次加密,也有可能影響那些擁有任一撤銷用戶屬性的訪問結(jié)構(gòu)。
在本文所設(shè)計的方案中,撤銷這個功能不會影響到任何屬性,因為本文方案的撤銷功能是在基于身份的技術(shù)上完成的。盡管這是一個權(quán)衡,而且在加解密算法上有計算負(fù)載,但是使用這種方法,授權(quán)方必要的大計算量被減少和分發(fā)到很多不同的計算單元上,有效避免了該系統(tǒng)的計算效率的瓶頸問題。與此同時,通信消耗的大量計算也被減少到只需公布撤銷用戶列表即可。本文方案的需要下列的計算消耗和通信消耗。
如果撤銷用戶數(shù)是r的話,那密文會有額外的2r元素。為了計算得到這些數(shù)值,在群G0當(dāng)中3r次取冪運算和r次乘法運算是必須的。或者撤銷用戶列表可能包含而不是全局身份參數(shù),在這種情況下,相比于方案LW11,數(shù)據(jù)加密者僅需要群G0中的2r次額外取冪計算就可以得到密文。解密算法的負(fù)載是群G1中2r次配對運算,r次乘法運算和r次取冪運算,這樣的計算消耗是比較低,相比于其他方案,效率有所提升。
可以改進(jìn)的是,所有的模型都是使用LSSS來表達(dá)訪問結(jié)構(gòu),訪問矩陣和映射函數(shù)ρ必須作為密文的一部分,這樣就增加了密文的長度。然而通過使用格式化的布爾函數(shù)是有可能減少密文長度,或者通過使用LC10[9]算法足可以使得計算LSSS中必要步驟更加高效。
4.2安全性分析
根據(jù)方案LW11所使用的通用雙線性群模型,在該模型下證明本文方案的安全性。
定義H作為隨機(jī)預(yù)言機(jī),在該模型下的安全可以確保任何一個敵手僅僅通過黑盒訪問群操作和隨機(jī)預(yù)言機(jī),是不可能攻破本文方案的。本文方案所采用的困難問題是DBDH困難問題,也就是說是將方案的安全性規(guī)約到DBDH困難問題的難解程度上。
根據(jù)LW11定義通用雙線性群模型。使得1ψ和2ψ代表加法群Zp的兩個隨機(jī)元素,而且每個1ψ,2ψ都是一個從Zp到的單射,定義群和假設(shè)能夠正常詢問預(yù)言機(jī),該預(yù)言機(jī)可以計算群操作,也可以計算非退化雙線性映射定義G0是一個一般雙線性群,為了簡化概念,使得g代表0(1)ψ,xg代表0()xψ,(,)egg代表1(1)ψ,(,)yegg代表1()yψ。
定理1對于任意的攻擊者A,使q作為群元素總數(shù)的邊界范圍值,根據(jù)2.2節(jié)所定義的安全攻擊游戲,攻擊者會做出與群預(yù)言機(jī)的詢問,并得到相應(yīng)的回復(fù)。根據(jù)定義3如果成立,則說明本文方案是安全的,攻擊者A贏得定義的安全游戲的優(yōu)勢是
模擬這個較為簡單的安全游戲,其中C0被設(shè)置為(,)T
egg。使得S代表所有授權(quán)方的集合,U代表屬性域,RL代表撤銷列表。模擬者運行全局初始化算法,并且把g發(fā)送給攻擊者。攻擊者S'作為S中一部分被腐化的授權(quán)方,并把它們釋放給模擬者。模擬者隨機(jī)選擇開始Identity key generation這一算法,為屬性i∈U選擇,進(jìn)而模擬者針對和每一個詢問群預(yù)言機(jī),并將結(jié)果發(fā)送給攻擊者。當(dāng)攻擊者對于一些進(jìn)行第一次詢問時,模擬者會選擇一個隨機(jī)值并詢問群預(yù)言機(jī)并將該結(jié)果作為發(fā)送給攻擊者。它會保存這個數(shù)值,為的是可以在以后的詢問當(dāng)中一如既往的回答同樣的數(shù)值。
在一定程度上,攻擊者來指定訪問矩陣(,)Aρ給挑戰(zhàn)密文,并且還要黑模擬者提供由腐化授權(quán)方所控制的屬性i的模擬者通過詢問群預(yù)言機(jī)來驗證這些數(shù)值是否是合理的群元素。
然后將挑戰(zhàn)密文發(fā)送給攻擊者。
最后敵手A輸出對T的猜測結(jié)果,如果Ts=,則定義攻擊者贏得游戲的勝利,否則則定義攻擊者失敗,因為模擬者的游戲攻擊過程是按照2.2節(jié)所定義的安全模型進(jìn)行模擬,所以過程是正確的,根據(jù)方案[9],因此就得到模擬者在該游戲中獲得勝利的優(yōu)勢為2(q/p)O。
根據(jù)定理1本文方案在隨機(jī)預(yù)言機(jī)模型下滿足選擇明文攻擊安全。
本文提出了一個在多授權(quán)方CP-ABE中實現(xiàn)高效的基于身份的用戶撤銷方案。在實現(xiàn)撤銷功能的同時,不會對系統(tǒng)的屬性造成影響;而且多授權(quán)方的CP-ABE提供了安全可行的密鑰管理,防止了合謀攻擊。與其他方案相比,本文方案得到了效率上的提升,并且在隨機(jī)預(yù)言機(jī)模型下證明了方案的安全性,與云計算環(huán)境的結(jié)合,可以說明本文方案具有一定的實用性。
[1] 洪澄, 張敏, 馮登國. 面向云存儲的高效動態(tài)密文訪問控制方法[J]. 通信學(xué)報, 2011, 32(7): 125-132.
[2] 王倩, 曹彥. 云計算研究[J]. 軟件, 2013, 34(5): 116-118.
[3] 白亞魯. 云計算環(huán)境下大規(guī)模數(shù)據(jù)處理的研究[J]. 軟件, 2013, 34(5): 128-129.
[4] 吳繪萍. 云計算數(shù)據(jù)安全技術(shù)探討[J]. 軟件, 2014, 35(1): 138-139.
[5] Sahai A, Waters B. Fuzzy identity-based encryption[C]. Eurocrypt2005, LNCS3494, 2005: 457-473.
[6] Allison Lewko and Brent Waters. Decentralizing attributebased encryption. In Advances in Cryptology{EUROCRYPT 2011, pages 568-588. Springer, 2011.
[7] Sushmita Ruj, Amiya Nayak, and Ivan Stojmenovic. Dacc: Distributed access control in clouds. In IEEE 10th International Conference on Trust, Security and Privacy in Computing and Communications, pages 91-98, 2011.
[8] Kan Yang, Xiaohua Jia, Kui Ren, and Bo Zhang. DAC-MACS: Eective data access controlfor multi-authority cloud storage systems. In INFOCOM, 2013 Proceedings IEEE, pages 2895-2903, 2013.
[9] Zhen Liu and Zhenfu Cao. On Efficiently Transferring the Linear Secret-Sharing Scheme Matrixin Ciphertext-Policy Attribute-Based Encryption. IACR Cryptology ePrint Archive, 2010:374, 2010.
Multi-Authority Attribute Based Encryption Optimized for Cloud Conputing
JIANG Di1, SONG De-peng2
(1. Department of Electronic Technology, Engineering University of PAP, XI an 710086, Shanxi, China; 2. Department of Information Engineering, Engineering University of PAP, XI an 710086, Shanxi, China)
In cloud computing environment, information security is very important. The existing encryption schemes have the disadvantages that they cannot adapt to the flexible access control features of cloud environment. In this work, we aim to make attribute-based encryption more suitable for access control to data stored in the cloud, concentrate on giving to the encryptor full control over the access rights, providing feasible key management even in case of multiple independent authorities, and enabling viable user revocation, which is essential in practice. The formal security proof of our scheme is given in the generic bilinear group and random oracle models.
Cloud computing; Information security; Attribute-based encryption; Provable security
TP309
A
10.3969/j.issn.1003-6970.2016.09.020
姜頔(1991-),男,碩士研究生,主要研究方向:密碼學(xué);宋德鵬(1991-),男,碩士研究生,主要研究方向:信息系統(tǒng)工程。
通訊聯(lián)系人: 姜頔(1991-),男,碩士研究生,主要研究方向:密碼學(xué)。