明洋 何寶康



摘 要:針對云存儲中基于多授權屬性加密(MA-ABE)訪問控制方案存在數據使用者解密開銷大,同時缺乏有效屬性撤銷的問題,提出了一種支持屬性撤銷的可驗證外包的多授權屬性加密方案。首先,利用可驗證外包技術,降低數據使用者的解密開銷,同時驗證數據的完整性。然后,利用雙線性映射保護訪問策略,防止數據擁有者身份泄露。最后,利用每個屬性的版本密鑰實現立即的屬性撤銷。安全性分析表明所提方案在標準模型中判定性的q雙線性Diffie-Hellman指數假設下是安全的,同時滿足了前向安全性和抗合謀攻擊。性能分析表明所提方案在功能性和計算開銷兩方面都具有較好的優勢,因此所提方案更適用于云存儲下多授權屬性加密環境。
關鍵詞:云存儲;多授權;可驗證外包;屬性撤銷;策略隱藏
中圖分類號: TP309.7(加密與解密)文獻標志碼:A
Attribute revocation and verifiable outsourcing supported multi-authority
attribute-based encryption scheme
MING Yang*, HE Baokang
(School of Information Engineering, Changan University, Xian Shaanxi 710064, China)
Abstract: Focusing on the large decryption overhead of the data user and the lack of effective attribute revocation of the Multi-Authority Attribute-Based Encryption (MA-ABE) access control scheme in cloud storage, an attribute revocation and verifiable outsourcing supported multi-authority attribute-based encryption scheme was proposed. Firstly, the data users decryption overhead was markedly reduced and the integrity of the data was verified by using verifiable outsourcing technology. Then, the bilinear mapping was used to protect the access policy, preventing the identity of the data owner from leaking. Finally, the version key of each attribute was used to realize the immediate attribute revocation. The security analysis shows that the proposed scheme is safe under the decisional q-bilinear Diffie-Hellman exponent assumption in the standard model, achieves forward security and is able to resist collusion attack. The performance analysis shows that the proposed scheme has great advantages in terms of functionality and computational cost. Therefore, this scheme is more suitable for multi-authority attribute-based encryption environment in cloud storage.
Key words: cloud storage; multi-authority; verifiable outsourcing; attribute revocation; policy hiding
0 引言
云存儲是云計算[1]的一種應用范例,它可以存儲大量的數據,因此越來越多的公司和個人將數據存儲在云服務器上,但云服務器不能完全信任。為了保證存放在云服務器上的數據隱私性,同時實現對數據的細粒度訪問控制,Sahai等[2]首次提出基于屬性加密(Attribute-Based Encryption, ABE)機制。隨后,Goyal等[3]首次提出基于密鑰策略的屬性加密(Key-Policy Attribute-Based Encryption, KP-ABE)方案,其中在密鑰中指定訪問結構,在密文中指定屬性集合,只有當密文的屬性集合滿足密鑰所指定的訪問結構時才能解密。Bethencourt等[4]首次提出基于密文策略的屬性加密(Ciphertext-Policy Attribute-Based Encryption, CP-ABE)方案,與KP-ABE方案的構造相反,它在密文中指定訪問結構,在密鑰中指定屬性集合,只有當密鑰的屬性集合滿足密文指定的訪問結構時才能解密。因為CP-ABE 方案不僅可以對數據進行細粒度的訪問控制,而且數據使用者可以定義訪問結構,所以CP-ABE得到更廣泛的應用。最近,很多研究者提出了一系列基于單授權的屬性加密方案[5-7],在這些方案中僅存在一個屬性授權機構,由這個屬性授權機構來管理所有的屬性并為數據使用者分發相應的密鑰;但單授權方案無法滿足云存儲中的實際要求,其中數據使用者的屬性可能來自不同的屬性授權機構,即多授權的應用場景。
為解決上述問題,許多研究者提出了多授權的ABE方案[8-9]。Chase等[10]首次提出多授權屬性加密(Multi-Authority Attribute-Based Encryption, MA-ABE)方案,該方案由一個中心權威和多個屬性授權機構組成,但中心權威可以解密所有的密文。Lewko等[11]提出的多授權屬性加密方案不需要一個受信任的中心權威,并且每個屬性授權機構都是獨立的。但在上述的MA-ABE方案中,解密計算開銷過大,阻礙了MA-ABE方案在計算資源受限設備上的應用和發展。Green等[12]提出了一種能夠實現外包解密的屬性加密方案。為確保數據完整性,數據使用者應能夠驗證由外包解密產生的轉換密文是否正確。Lai等[13]提出了一種方案,該方案可以驗證云服務器生成的轉換密文的正確性;但是,該方案僅在單授權環境中工作,不能用于多授權環境。Yang等[14]提出了基于令牌的外包解密的多授權的CP-ABE方案,但是該方案仍需要一個受信任的中心權威。Li等[15]提出外包可驗證的屬性加密方案,它不需要信任的中心權威,并且可以驗證外包解密的正確性;但該方案不能實現策略隱藏和屬性撤銷。為了在多授權環境下同時實現屬性撤銷、可驗證外包解密、策略隱藏,本文提出了一個支持屬性撤銷的可驗證外包的多授權屬性加密方案。本文的主要工作如下:
1)利用外包解密技術,降低解密計算量,利用散列函數驗證云服務器解密的正確性,利用線性秘密共享方案增強訪問策略的表達性,同時利用雙線性對對訪問策略進行隱藏,并通過在每個屬性中引入版本密鑰來實現立即的屬性撤銷。
2) 通過安全性分析表明,本文所提的方案在標準模型中判定性的q雙線性Diffie-Hellman指數(Decisional q-Bilinear Diffie-Hellman Exponent, q-DBDHE)假設下滿足對所選明文攻擊的不可區分性,同時實現了前向安全性和抗合謀攻擊。
3) 通過性能分析表明,本文所提的方案在功能性和計算開銷方面相較其他方案更有效。
1 基礎知識
1.1 訪問結構
令P={P1,P2,…,Pn}表示包含n個屬性的集合。一個集合A是單調的,如果對于任意集合B、C,滿足B∈A且BC,則CA。假設A是P的非空集合,即A2{P1,P2,…,Pn}\{},對于集合Q∈A,稱Q為授權集合;而對于集合QA,稱Q為非授權集合。
1.2 雙線性映射
令G、GT是兩個循環乘法群,素數p為G、GT的階數,g為G的生成元。假設e:G×G→GT為雙線性映射,則其滿足下列性質:
1)雙線性性。e(ga,hb)=e(g,h)ab,g,h∈G,a,b∈Zp。
2)非退化性。e(g,h)≠1。
3)可計算性。對任意g,h∈G,存在一個有效的算法計算e(g,h)。
1.3 線性秘密共享方案
屬性集P={P1,P2,…,Pn}上的秘密共享方案Π如果滿足以下兩點,則被稱為線性秘密共享方案[16]:
1)每一個屬性獲得的分享部分是Zp上的一個向量。
2)由秘密共享方案Π生成的矩陣Ml×n為l行n列,Mi(i∈{1,2,…,l})記為矩陣Ml×n的第i行向量,ρ是從i∈{1,2,…,l}到屬性集P上的映射函數,記為ρ(i)。隨機選取s,r2,…,rn∈Zp,其中s為被共享的秘密值,定義列向量ζ=(s,r2,…,rn)T,那么Mζ是根據Π得到的關于秘密值s的l個份額,其中份額λi=Miζ屬于屬性ρ(i)。
線性秘密共享方案的重構性:令S為授權屬性集, 如果I={i:ρ(i)∈S}且I{1,2,…,l},則存在多項式時間算法得到常數{ci∈Zp}i∈I,滿足∑li=1ciMi=(1,0,…,0),由此可以恢復秘密值s=∑li=1ciλi。
1.4 困難問題及安全假設
判定性q雙線性Diffie-Hellman指數(q-DBDHE)問題,給定元組:
y=(g,gs,ga,…,gaq,gaq+2,…,ga2q,
1≤j≤q:gsbj,ga/bj,…,gaq/bj,gaq+2/bj,…,ga2q/bj,
1≤k, j≤q,k≠j:gsabk/bj,…,gsaqbk/bj,Z)
其中:s,a,b1,…,bq∈Zp,Z∈GT。 解決q-DBDHE問題就是區分Z=e(g,g)aq+1s或Z=R,其中R為群GT中的隨機元素。
定義算法A*解決q-DBDHE問題的優勢為:
Advq-DBDHEA*=|Pr[(y,Z=e(g,g)aq+1s)=0]-
Pr[(y,Z=R)=0]|
q-DBDHE假設:對于任意多項式時間算法A*,其解決q-DBDHE問題的優勢是可忽略的。
2 系統和安全模型
2.1 系統模型
本文所提方案的系統模型如圖1所示,該方案包含5個實體:
1)認證中心(Certificate Authority, CA):負責生成系統參數,同時對屬性授權機構和數據使用者的身份進行認證注冊。
2)數據所有者(Data Owner, DO):定義訪問結構,同時對數據進行加密,生成驗證令牌;然后將密文、驗證令牌上傳至云服務器。
3)屬性授權機構(Attribute Authority, AA): 每個AA負責管理不同的屬性集,它們彼此相互獨立,并根據數據使用者的屬性生成密鑰。當屬性撤銷時,相應的AA會對未撤銷的數據使用者的屬性密鑰進行更新。
4)數據使用者(Data Consumer, DC): 數據使用者發送自己的密鑰給云服務器用于獲取轉換密文;同時,數據使用者通過驗證令牌驗證云服務器的解密是否正確。
5)云服務器(Cloud Service Provider, CSP):負責存儲數據所有者上傳的數據,并根據數據使用者的要求提供數據訪問控制,幫助數據使用者產生轉換密文。當屬性撤銷時,CSP幫助數據所有者進行密文更新。
2.2 方案定義
1)系統初始化。
這個階段包括四個算法:CA Setup、DC Reg、AA Reg 和AA Setup。
CA Setup(λ,Ω)→(SP,Signkey,Verifykey,MSK) :CA輸入安全參數λ, 群參數生成器Ω,輸出系統參數SP,簽名驗證密鑰對(Signkey,Verifykey),系統主密鑰MSK。
DC Reg(InfoDC)→(uid,GPKuid,GSKuid,Usign):CA輸入數據使用者DC的身份信息,輸出唯一標識符uid、DC的全局公鑰密鑰對(GPKuid,GSKuid),以及身份簽名Usign。
AA Reg(InfoAA)→(aid):CA輸入屬性授權機構AA的身份信息,輸出唯一標識符aid。
AA Setup(SP,Said)→(PKaid,SKaid,{VKxaid,PKxaid}xaid∈Said):每個屬性授權機構AAaid輸入系統參數SP,AAaid管理的屬性集Said,輸出AAaid的公鑰密鑰對(PKaid,SKaid),屬性版本密鑰和屬性公鑰集合{VKxaid,PKxaid}xaid∈Said。
2)密鑰生成。
KeyGen(SP,SKaid,uid,Suid,aid,{VKxaid}xaid∈Suid,aid)→SKuid,aid: 每個屬性授權機構AAaid輸入系統參數SP、AAaid的密鑰SKaid、數據使用者DC的唯一標識符uid和它的屬性集合Suid,aid,以及相對應的屬性版本密鑰{VKxaid}xaid∈Suid,aid, 輸出數據使用者DC的密鑰SKuid,aid。
3)數據加密。
Encrypt({PKaidk}aidk∈IA,T,m)→(CT,Token):數據所有者輸入相關屬性授權集合IA的公鑰{PKaidk}aidk∈IA、訪問結構T及數據m, 輸出密文CT和驗證令牌Token。
4)數據預解密。
PDecrypt(CT,{SKuid,aidk}k∈IA)→CT:云服務器輸入密文CT,數據使用者的密鑰{SKuid,aidk}k∈IA,輸出轉換密文CT。
5)數據使用者解密。
Decrypt(CT,Token,GSKuid)→m:數據使用者輸入轉換密文CT、驗證令牌Token、自己的全局密鑰GSKuid,輸出數據m。
6)屬性撤銷。
這個階段包括三個過程: 生成更新鑰、密鑰更新、密文更新。
UKeyGen(SKaid′,aid′,VKaid′) →(VKaid′,KUKaid′,CUKaid′):包含有撤銷屬性aid′的AAaid′輸入其密鑰SKaid′,被撤銷的屬性aid′,以及當前的屬性版本密鑰VKaid′,輸出新的屬性版本密鑰VKaid′、密鑰更新鑰KUKaid′、密文更新鑰CUKaid′。
SKUpdate(SKuid,aid′,KUKaid′)→ SKuid,aid′:未被撤銷的數據使用者輸入密鑰SKuid,aid′、密鑰更新鑰KUKaid′,輸出新的密鑰SKuid,aid′。
CTUpdate(CT,CUKaid′)→ CT:CSP輸入當前的密文CT、密文更新鑰CUKaid′,輸出新的密文CT。
2.3 安全模型
為了說明本文方案在選擇明文攻擊下具有不可區分性,定義敵手A和挑戰者C之間的游戲如下。
初始化階段 挑戰者C運行CA Setup算法,得到系統參數SP以及主密鑰MSK,并將SP發送給敵手A。 此外,敵手A指定一組被攻陷的屬性授權機構S′ASA,并將其發送給挑戰者C。對于在S′A集合中的被攻陷的屬性授權機構,挑戰者C運行AA Setup算法,輸出屬性授權機構的公鑰和密鑰,并將其發送給對手A。對于在集合SA-S′A中的未被攻陷的屬性授權機構,挑戰者C僅僅輸出屬性授權機構的公鑰,并發送給敵手A。
查詢階段1 敵手A可以選擇(uid,{Suid,aidk}aidk∈SA-S′A)進行密鑰詢問,其中uid代表數據使用者的身份,{Suid,aidk}aidk∈SA-S′A是一組未被攻陷的屬性授權機構擁有的屬性集。挑戰者C運行Secret Key Generation算法,并返回相應的屬性密鑰給敵手A。
挑戰階段 敵手A提交兩個比特位數相同的數據m0和m1,以及訪問結構(M,ρ)給挑戰者C。敵手A在對屬性密鑰進行詢問時有一個約束條件,即被詢問的屬性密鑰不能滿足訪問結構。挑戰者C隨機拋出一枚硬幣b∈{0,1},同時加密數據mb,并輸出挑戰密文CT,返回密文CT給敵手A。
查詢階段 2 敵手能夠詢問屬性密鑰如同查詢階段1,但不能查詢滿足訪問結構(M,ρ)的屬性密鑰。
猜測階段 敵手A對b進行猜測,輸出b′。假如b′=b, 那么敵手A贏得游戲。敵手A在上述游戲中的優勢為:AdvA=Pr[b′=b]-12。
定義1 如果任何時間有界的多項式攻擊者在上述游戲中的優勢是可忽略的,則該方案在選擇明文攻擊下具有不可區分性。
3 方案構造
3.1 系統初始化
1)CA Setup。CA選取雙線性對e:G×G→GT,其中G和GT是階為素數p的乘法循環群,g是群G的生成元。CA隨機選擇三個抗碰撞的哈希函數H:{0,1} →Zp,H1:{0,1}→G,H2:GT→{0,1},以及安全的密鑰提取函數H′,同時隨機選取a∈Zp,計算h=ga, 并且選擇簽名密鑰和驗證密鑰對(Signkey,Verifykey)。
CA公布系統參數SP,保留系統主密鑰MSK。
SP=(g,p,e,G,GT,h,H,H1,H2,H′,Verifykey)
MSK=(a,Signkey)
2)DC Reg。DC向CA提交其身份信息,發出注冊請求。如果該用戶是合法用戶,CA為其分配一個唯一標識符 uid,計算D=H(uid)。然后,CA對 uid‖D‖Tpor 進行簽名,生成身份簽名Usign=(uid‖D‖Tpor,Signkey)并返還給DC,其中Tpor表示數據使用者身份有效期。最后,CA為每一個DC隨機選擇zuid∈Zp,計算B=gH(uid),Z=g1/zuid。
DC公布全局公鑰 GPKuid,保留全局密鑰 GSKuid。
GPKuid=(D,B,Z)
GSKuid=(zuid)
3)AA Reg。CA對AA的身份進行認證,如果該屬性授權機構是合法的,則為其分配一個唯一標識符aid。
4)AA Setup。每個AAaid隨機選擇三個值αaid,βaid,γaid∈Zp,計算Y=e(g,g)αaid,L=gβaid 和Q=g1/βaid,并且為每一個屬性xaid∈Said,選擇一個值vxaid∈Zp作為該屬性的版本密鑰VKxaid,計算PKxaid=(gνxaidH1(xaid))γaid。
每個AAaid公布公鑰PKaid,屬性公鑰PKxaid,保留密鑰SKaid。
PKaid=(Y,L,Q)
PKxaid=(gνxaidH1(xaid))γaid,xaid∈Said
SKaid=(αaid,βaid,γaid,{VKxaid=νxaid,xaid∈Said})
3.2 密鑰生成
DC在向{AAaidk}aidk∈IA申請密鑰時,首先提交自己的身份簽名Usign進行驗證,其中IA={AAaid1,AAaid2,…,AAaidk}代表相關屬性授權機構的集合。如果AAaid使用簽名密鑰Verifykey驗證通過,并且數據使用者DC的身份仍在有效期內,則AAaid依據DC的屬性集合Suid,aid計算密鑰;否則,拒絕其申請。
各授權機構AAaid隨機選擇tuid,aid∈Zp,計算:Kuid,aid=gaH(uid)/βaid·gαaid/(βaidzuid),Duid,aid=gtuid,aid,Dxaid,uid=H1(xaid)βaid,Kxaid,uid=gβaidtuid,aid(gνxaidH1(xaid))βaidγaidH(uid)。
AAaid輸出密鑰SKuid,aid=(Kuid,aid,Duid,aid,{Dxaid,uid,Kxaid,uid}xaid∈Suid,aid),那么數據使用者DC的密鑰最終形式為:SKuid={SKuid,aidk)k∈IA。
3.3 數據加密
首先DO隨機選擇R∈GT,計算KSE=H′(R),CSE=SE.Enc(KSE,m),其中KSE表示對稱密鑰,CSE表示密文。另外,計算驗證令牌Token=H2(H′(R)‖CSE)。
其次DO定義一個訪問策略T, 隨機選取w∈Zp,線下計算Sy=e((gβaidk)w,H1(Ty)), 其中{Ty}y∈YTy∈Saidk代表訪問策略中的屬性集,Y代表訪問結構T中屬性的個數,利用Sy代替訪問策略T中的屬性Ty,同時將替換后的訪問策略T′轉換為訪問結構(Ml×n,ρ), 其中M是一個l×n的矩陣,ρ是一個將M的行向量映射到屬性的函數,記為ρ(i)。
然后DO隨機選擇s,r2,…,rn∈ZP,隨機列向量λ=(s,y2,…,yn), 其中s代表秘密值,y2,y3,…,yn∈Zp,計算λi=λ×Mi,其中Mi代表矩陣M的第i(i=1,2,…,l)行向量。DO計算:C=R·(∏aidk∈IAe(g,g)αaidk)s,C1=gw ,C2=gβaidks,C1,i=g-ri,C2,i=gri/βaidk,C3,i=gaλi((gνxaidkH1(ρ(i))γaidk)-ri。
最終DO輸出密文CT=(C,C1,C2,{C1,i,C2,i,C3,i}i=[1,2,…,l],CSE,Token,(M,ρ))。
3.4 數據預解密
如果DC想要解密密文獲得數據m,則先獲取對稱密鑰KSE, 然后解密密文CT獲得m。對于系統中每一個合法數據使用者DC都可以下載密文,并且屬性集滿足訪問策略的DC才可以正確解密。
DC發送它的密鑰SKuid={SKuid,aidk}k∈IA給云服務器,請求對于密文CT的轉換密文CT。云服務器首先利用密文CT中的C1=gw,密鑰集{SKuid,aidk}k∈IA中的Dxaid,uid=H(xaid)βaidk,計算S′y=e(C1,Dxaid,uid)=e(gw,H1(xaid)βaidk),利用S′y代替DC擁有的屬性。如果{S′y=Sy}y∈Y,則滿足訪問策略,云服務器能夠選擇一組常數{ci}i∈1,2,…,l∈Zp,滿足∑li=1ciMi=(1,0,…,0),計算:
CT=∏aidk∈IA[e(C2,Kuid,aid)/
∏i∈Saidk(e(C3,i,PKuid)·e(C2,i,Kρ(i),uid)·e(C1,i,Duid,aid))ciNA]=
∏aidk∈IAe(g,g)asH(uid)·e(g,g)αaidks/zuid∏i∈Saidke(g,g)aciλiH(uid)NA=
∏aidk∈IAe(g,g)αaidks/zuid
其中,NA代表相關屬性授權機構IA的數量。然后云服務器發送轉換密文CT給DC。
C1,i=gr′i+sbi
C2,i=g(-r′i-sbi)/βaidk
C3,i=(∏nj=1gsajMi, j∏nj=2gay′jMi, j)·(gvxaidk+zxaidk)γaidk(r′i+sbi)·
(∏i∈X∏nj=1(gaj/bi)Mi, jγaidkr′i)·(∏k∈Ri∏nj=1(gsajbi/bk)Mk, jγaidk)
其中隱含設置ri=-r′i-sbi, Ri表示不同下標但對應的屬性相同的集合,例如ρ(i)=ρ(k)。挑戰者B返回密文CT=(C,C1,C2,{C1,i,C2,i,C3,i}i=[1,2,…,l])給敵手A。
查詢階段2 敵手能夠詢問密鑰如同查詢階段1,但不能查詢滿足訪問結構(M,ρ)的屬性密鑰。
猜測階段 敵手A對b進行猜測,輸出b′∈{0,1}。假如b′=b,挑戰者B輸出0,則Z=e(g,g)aq+1aidk·s;否則輸出1,則Z=R。如果b=0,那么Z=e(g,g)aq+1aidk·s,則敵手A猜測正確的概率為Pr[(y,Z=e(g,g)aq+1aidks)=0]=12+AdvA。如果b=1,那么Z=R,R是完全隨機的,則敵手A猜測正確的概率為Pr[(y,Z=R)=0]=12。敵手A解決q-DBDHE問題的優勢是ε′。
ε'=Pr[β(y,Z=e(g,g)aq+1aidks)=0]-
Pr[β(y,Z=R)=0]=AdvA=ε
4.2 抗合謀攻擊
合謀攻擊指系統中的部分屬性授權機構或者數據使用者串通起來,彼此進行信息的交換,試圖獲取更多的明文。在本方案中,由于在解密的過程中,需要計算∏aidk∈IA∏i∈Saidke(g,g)aciλiH(uid)NA,如果密鑰不是來自同一個標識符為uid的數據使用者,則不能正確解密。因此,本文方案是抗合謀攻擊的。
4.3 前向安全
在基于屬性加密的系統中,前向安全指任何已經被撤銷的數據使用者不能再對數據進行訪問,除非該數據使用者剩余的屬性集依舊能夠滿足訪問結構。在本文方案中,如果某個屬性被撤銷,僅僅對部分密鑰和部分密文進行更新,在減少計算量的同時防止已經失去訪問權限的數據使用者對系統中的數據造成威脅,以此滿足前向安全性。
5 性能分析
5.1 功能性比較
本文方案與相關方案功能上比較如表1所示。
由表1可以看出:文獻[14]方案實現外包功能,同時支持屬性撤銷,但不能對解密密文的正確性進行驗證;文獻[17]方案僅僅實現多授權和撤銷功能;文獻[18]方案和文獻[19]方案僅僅滿足多授權的環境;本文方案同時實現多授權、屬性撤銷、外包解密、可驗證、策略隱藏,功能齊全,擁有更大的優勢。
5.2 計算開銷
本小節對本文方案和文獻[14] 方案、文獻[17-19]方案的計算開銷進行評估。本文方案在i5-M60, 2.53GHz、i5 CPU、4GB內存和64位Windows 10上進行仿真。操作的平均運行時間如表2所示。
假設在加密解密過程涉及k個屬性授權機構,并且數據使用者從每個屬性授權機構獲取的屬性數量j是相同的。本文方案和文獻[14] 方案、文獻[17-19]方案的計算開銷如表3所示,對每個過程所需要的計算量進行了量化,對應的實驗仿真結果如圖2所示。
圖2(a)和圖2(b)分別給出了AA加密和AA解密時間與AA數量的關系,其中來自每個AA的所涉及的屬性數量被設置為10,即j=10。從圖2(a)~(b)可知,加密和解密階段的計算開銷隨著AA的數量的變化呈線性增長。在圖2(a)中,本文方案的加密計算成本低于所有比較的方案。在圖2(b)中,本文方案和文獻[14]方案實現了外包,解密的計算開銷為一常數1.41ms,具有明顯優勢。
圖2(c)和圖2(d)分別給出了DO加密和DO解密時間與每個AA的屬性數量的關系,其中所涉及的AA數量被設置為10,即k=10。從圖2(c)~(d)可知,加密和解密階段的計算開銷隨著每個AA的屬性數量變化呈線性增長。在圖2(c)中,本文方案加密的計算開銷低于所有比較的方案。在圖2(d)中,本文方案和文獻[14]方案實現了外包,解密計算成本為一常數1.41ms,具有明顯優勢。
圖2(e)給出了密文更新的計算開銷與密文中出現的撤銷屬性數量的關系,可知密文更新計算開銷隨著撤銷屬性數變化呈線性增長。在圖2(e)中,本文方案和文獻[14]方案的計算開銷相同,但低于文獻[17]方案。
經分析可知,本文提出的方案在加密、解密和密文更新階段所需的計算開銷是最低的,相較文獻[14] 方案 、文獻[17-19]方案有更多的優勢。
6 結語
本文主要關注數據使用者解密開銷、解密數據的完整性、屬性撤銷的效率和訪問策略的隱私性,在傳統的多授權屬性加密方案上進行修改,提出了一種基于屬性撤銷的可驗證外包的多授權屬性加密方案。在本文方案中,數據使用者將解密操作外包給云服務器執行,同時可以驗證云服務器解密的正確性和完整性;還通過在每個屬性中引入版本密鑰來提供屬性級別的立即撤銷方法;為滿足抗合謀攻擊安全性需求,本文為每個數據使用者分配唯一標識符,并且綁定到屬性密鑰;利用雙線性映射隱藏訪問策略,保護數據擁有者的隱私,此外數據擁有者的加密開銷和系統的通信開銷也是多授權屬性加密技術中備受關注的地方。在以后的工作中,我們期望可以通過降低系統總的計算開銷和通信開銷來完善此方案。
參考文獻 (References)
[1]MELL P, GRANCE T. The NIST definition of cloud computing: SP 800-145 [R]. Gaithersburg, MD: National Institute of Standards & Technology, 2011.
[2]SAHAI A, WATERS B. Fuzzy identity-based encryption [C]// Proceedings of the 2005 Annual International Conference on the Theory and Applications of Cryptographic Techniques, LNCS 3494. Berlin: Springer, 2005: 457-473.
[3]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. New York: ACM, 2006: 89-98.
[4]BETHENCOURT J, SAHAI A, WATERS B. Ciphertext-policy attribute-based encryption [C]// Proceedings of the 2007 IEEE Symposium on Security and Privacy. Piscataway: IEEE, 2007: 321-334.
[5]WATERS B. Ciphertext-policy attribute-based encryption: an expressive, efficient, and provably secure realization [C]// Proceedings of the 2011 International Workshop on Public Key Cryptography, LNCS 6571. Berlin: Springer, 2011: 53-70.
[6]LEWKO A, WATERS B. New proof methods for attribute-based encryption: achieving full security through selective techniques [C]// Proceedings of the 2012 Annual Cryptology Conference, LNCS 7417. Berlin: Springer, 2012: 180-198.
[7]ROUSELAKIS Y, WATERS B. Practical constructions and new proof methods for large universe attribute-based encryption [C]// Proceedings of the 2013 ACM SIGSAC Conference on Computer and Communications Security. New York: ACM, 2013: 463-474.
[8]仲紅,崔杰,朱文龍,等.高效且可驗證的多授權機構屬性基加密方案[J].軟件學報,2018,29(7):2006-2017.(ZHONG H, CUI J, ZHU W L, et al. Efficient and verifiable multi-authority attribute based encryption scheme [J]. Journal of Software, 2018, 29(7): 2006-2017.)
[9]范運東,吳曉平.基于策略隱藏屬性加密的云存儲訪問控制方案[J].計算機工程,2018,44(7):139-144,149.(FAN Y D, WU X P. Cloud storage access control scheme based on policy hiding attribute encryption [J]. Computer Engineering, 2018, 44(7): 139-144, 149.)
[10]CHASE M. Multi-authority attribute based encryption [C]// Proceedings of the 2007 Theory of Cryptography Conference, LNCS 4392. Berlin: Springer, 2007: 515-534.
[11]LEWKO A, WATERS B. Decentralizing attribute-based encryption [C]// Proceedings of the 2011 Annual International Conference on the Theory and Applications of Cryptographic Techniques, LNCS 6632. Berlin: Springer, 2011: 568-588.
[12]GREEN M, HOHENBERGER S, WATERS B. Outsourcing the decryption of ABE ciphertexts [C]// Proceedings of the 2011 USENIX Conference on Security. Berkeley, CA: USENIX Association, 2011: 34-34.
[13]LAI J, DENG R H, GUAN C, et al. Attribute-based encryption with verifiable outsourced decryption [J]. IEEE Transactions on Information Forensics and Security, 2013, 8(8): 1343-1354.
[14]YANG K, JIA X, REN K, et al. DAC-MACS: effective data access control for multi-authority cloud storage systems [C]// Proceedings of the 2013 IEEE INFOCOM. Piscataway: IEEE, 2013: 2589-2903.
[15]LI J, HUANG X, LI J, et al. Securely outsourcing attribute-based encryption with checkability [J]. IEEE Transactions on Parallel and Distributed Systems, 2013, 25(8): 2201-2210.
[16]BEIMEL A. Secure schemes for secret sharing and key distribution [D]. Haifa, Israel: Technion-Israel Institute of Technology, 1996: 76-90.
[17]YANG K, JIA X. Expressive, efficient, and revocable data access control for multi-authority cloud storage [J]. IEEE Transactions on Parallel and Distributed Systems, 2013, 25(7): 1735-1744.
[18]YANG Y, CHEN X Y, CHEN H, et al. Improving privacy and security in decentralizing multi-authority attribute-based encryption in cloud computing [J]. IEEE Access, 2018, 6: 18009-18021.
[19]LI W, XUE K, XUE Y, et al. TMACS: a robust and verifiable threshold multi-authority access control system in public cloud storage [J]. IEEE Transactions on Parallel and Distributed Systems, 2015, 27(5): 1484-1496.
This work is partially supported by the Natural Science Foundation of Shaanxi Province (2018JM6081), the Fundamental Research Funds for the Central Universities (300102249204).
MING Yang, born in 1979, Ph. D., professor. His research interests include big data security, intelligent transportation, wireless network security.
HE Baokang, born in 1994, M. S. candidate. His research interests include cloud computing security, Internet of vehicles, attribute-based encryption.
收稿日期:2019-06-17;修回日期:2019-08-26;錄用日期:2019-09-18。
基金項目:陜西省自然科學基金資助項目(2018JM6081);中央高校基本科研業務費專項資金資助項目(300102249204)。
作者簡介:明洋(1979—),男,陜西西安人,教授,博士,主要研究方向:大數據安全、智能交通、無線網絡安全; 何寶康(1994—),男,河南三門峽人,碩士研究生,主要研究方向:云計算安全、車聯網、屬性加密。
文章編號:1001-9081(2019)12-3556-07DOI:10.11772/j.issn.1001-9081.2019061019