王海勇 彭垚 郭凱璇
摘 要:針對云存儲中基于密文策略的屬性加密(Ciphertext Policy Attribute-Based Encryption, CP-ABE)訪問控制方案存在用戶解密開銷較大的問題,提出了一種基于代理重加密的CP-ABE(CP-ABE Based on Proxy Re-Encryption,CP-ABE-BPRE)方案,并對密鑰的生成方法進行了改進。此方案包含五個組成部分,分別是可信任密鑰授權(quán)、數(shù)據(jù)屬主、云服務(wù)提供商、代理解密服務(wù)器和數(shù)據(jù)訪問者,其中云服務(wù)器對數(shù)據(jù)進行重加密,代理解密服務(wù)器完成大部分的解密計算。方案能夠有效地降低用戶的解密開銷,在保證數(shù)據(jù)細粒度訪問控制的同時還支持用戶屬性的直接撤銷,并解決了傳統(tǒng)CP-ABE方案中因用戶私鑰被非法盜取帶來的數(shù)據(jù)泄露問題。與其他CP-ABE方案比較,此方案對訪問云數(shù)據(jù)的用戶在解密性能方面具有較好的優(yōu)勢。
關(guān)鍵詞:云存儲;屬性加密;代理重加密;訪問控制;可信任密鑰
中圖分類號:TP302.1
文獻標(biāo)志碼:A
CP-ABE access control scheme based on proxy re-encryption in cloud storage
WANG Haiyong1*, PENG Yao2, GUO Kaixuan2
1.College of Computer Science, Nanjing University of Posts and Telecommunications, Nanjing Jiangsu 210023, China;
2.College of Internet of Things, Nanjing University of Posts and Telecommunications, Nanjing Jiangsu 210003, China
Abstract:
Focused on the large users decryption overhead of the Ciphertext Policy Attribute-Based Encryption (CP-ABE) access control scheme in cloud storage, a CP-ABE Access Control Scheme Based on Proxy Re-Encryption (CP-ABE-BPRE) was proposed, and the key generation method was improved. Five components were included in this scheme: trusted key authority, data owner, cloud service provider, proxy decryption server and data visitor. The cloud server re-encrypted the data, and the proxy decryption server performed most of the decryption calculation. The proposed scheme reduces the users decryption overhead effectively,and solves the data leakage problem caused by illegal stealing of the users private key in the traditional CP-ABE scheme, and the direct revocation of user attributes is provided while the fine-grained access control is ensured in the scheme. A comparison with other CP-ABE schemes demonstrates that this scheme has better decryption performance for users when accessing cloud data.
Key words:
cloud storage; attribute-based encryption; proxy re-encryption; access control; trusted key
0 引言
隨著信息技術(shù)的快速發(fā)展和用戶數(shù)據(jù)的爆炸式增長,通過網(wǎng)絡(luò)實現(xiàn)云數(shù)據(jù)共享也變得越來越便捷[1-2]。云計算是實現(xiàn)云數(shù)據(jù)共享最主要的技術(shù)之一[3],它是一種新的計算模式,以服務(wù)的方式為用戶按需部署、動態(tài)優(yōu)化及回收、按需付費以及可隨時隨地通過互聯(lián)網(wǎng)獲取大量的存儲空間和計算資源,借助軟件即服務(wù)(Software as a Service, SaaS)、平臺即服務(wù)(Platform as a Service, PaaS)、基礎(chǔ)設(shè)施即服務(wù)(Infrastructure as a Service, IaaS)等模式把云計算系統(tǒng)共享到用戶[4]。共享的數(shù)據(jù)一般是遠程存儲,數(shù)據(jù)擁有者的隱私以及共享數(shù)據(jù)本身的安全性存在一定的威脅[5]。因此,對于云存儲中的數(shù)據(jù)和用戶隱私保護是至關(guān)重要的,當(dāng)存在大量用戶同時訪問數(shù)據(jù)時,還要對其進行細粒度的訪問控制[6]?;趯傩缘募用埽ˋttribute-Based Encryption, ABE)[7]提供了一個靈活的訪問控制方案。ABE能夠在云存儲環(huán)境下實現(xiàn)一對多的通信機制[8],這意味著一個密鑰可以解密不同的密文或者不同的密鑰可以解密相同的密文。ABE可分為基于密鑰策略的屬性加密(Key Policy Attribute-Based Encryption, KP-ABE)和基于密文策略的屬性加密(Ciphertext Policy Attribute-Based Encryption, CP-ABE)[9]兩類。在CP-ABE中,訪問策略與密文關(guān)聯(lián),屬性集合與解密私鑰關(guān)聯(lián),用戶可以自定義訪問策略,屬性集合滿足訪問策略的用戶才能夠訪問數(shù)據(jù),適用于云存儲環(huán)境下的安全訪問控制。
屬性加密的概念最開始由Sahai等[10]提出,Goyal等[7]在次年將屬性加密劃分為KP-ABE和CP-ABE兩類。盡管CP-ABE能實現(xiàn)云存儲環(huán)境下的安全的訪問控制,但仍然存在可改進的地方。Ostrovsky等[11]構(gòu)造了可執(zhí)行“非”運算的CP-ABE方案,Cheung等[12]在2007年首次提出可執(zhí)行“與”門的CP-ABE。Lewko等[13]和Green等[14]都提出了線性秘密共享方案(Linear Secret Share Scheme, LSSS)類型的CP-ABE。隨著移動智能終端的快速普及,越來越多的移動設(shè)備參與到云數(shù)據(jù)共享中來,例如:智能手機、可穿戴設(shè)備等。而在CP-ABE的解密過程中,需要進行大量的雙線性對、乘法、取冪等計算,會產(chǎn)生大量的計算開銷[14]。與此同時,目前對移動終端非法攻擊也越來越多,用戶的解密私鑰在移動終端也存在被非法用戶盜取的可能性。屬性基加密最初在文獻[9]中被提出,許多論文在此基礎(chǔ)上作了進一步研究。文獻[14]基于HDFS提出了一種延遲重加密和代理重加密的機制,該方案中,大量的加解密計算由云服務(wù)器來完成,且減少了在用戶權(quán)限撤銷時數(shù)據(jù)屬主的計算開銷。文獻[15]提出一種基于CP-ABE的多授權(quán)方案,可實現(xiàn)高效解密。文獻[16]提出一種針對移動設(shè)備的全外包解密方案,實現(xiàn)了移動設(shè)備網(wǎng)絡(luò)流量的穩(wěn)定性。文獻[17]提出了一個基于屬性的數(shù)據(jù)共享系統(tǒng),通過在密鑰生成中心與數(shù)據(jù)存儲中心之間引入兩方計算,為單一權(quán)限系統(tǒng)中的密鑰托管問題提供了新的解決方案。
針對上面提出的潛在問題,本文提出了一種基于代理重加密的CP-ABE方案 (CP-ABE Based on Proxy Re-Encryption, CP-ABE-BPRE),在CP-ABE-BPRE方案中,解密私鑰由兩部分組成,代理解密服務(wù)器利用其中一個密鑰解密得到半解密密文后將其發(fā)送給用戶,由用戶完成半解密密文的解密操作。該方案能有效地減少用戶的解密開銷,在保證靈活的細粒度訪問控制的同時,還降低了因用戶私鑰被非法盜取帶來數(shù)據(jù)泄露問題。
1 背景知識
定義1 雙線性對。設(shè)G0和GT是秩為素數(shù)p的乘法循環(huán)群,其中G0生成元是g。如果e:G0×G0 → GT是雙線性映射,其滿足如下三個條件:
雙線性性(Bilinear) 對于任意的u,v∈G0和a,b∈Zp,存在e(ua,vb)=e(u,v)ab;
非退化性(Non-Degenerate) e(g,g)是群GT的生成元,且有e(g,g)≠1;
可計算性(Computable) 對于任意u,v∈G0均存在有效算法計算e(u,v)。
定義2 訪問結(jié)構(gòu)。設(shè)所有用戶的屬性集合為P={P1,P2,…,Pn},訪問結(jié)構(gòu)A是2P的一個非空子集,即A2P|{Φ},其中2P是P的所有子集的集合。對于任意的B和C,如果B∈A,BC,那么有C∈A,則稱A是單調(diào)的。若有D∈A,則稱D為A的一個授權(quán)集合,否則稱之為未授權(quán)集合。
定義3 線性密鑰共享方案。設(shè)M是一個m行n列的共享生成矩陣,由用戶的訪問策略生成。對于i=1,2,…,m,ρ(i)的值表示與矩陣M的第i行關(guān)聯(lián)的屬性。設(shè)列向量v=(s,r1,r2,…,rn)T,其中s∈Z*p是將要分享的秘密,r1,r2,…,rn∈Z*p是隨機數(shù),那M·v表示秘密s分配給m個參與者的秘密份額。
設(shè)S是一個授權(quán)的屬性集合,即S∈A,定義屬性集合I={i: ρ(i)∈S}{1,2,…,m},在多項式時間內(nèi)可計算出一組常量{ωi∈Z*p}i∈I,如果{λρ(i)}是秘密s的有效共享份額,則可通過∑ωi·ρ(i)=s(i∈I)恢復(fù)共享的秘密值。
定義4 設(shè)用戶的集合為U={u1,u2,…,ul},其中l(wèi)代表系統(tǒng)用戶的總數(shù)。
定義5 設(shè)授權(quán)的屬性集合為A={att1,att2,…,attp},其中P代表屬性總數(shù)。
定義6 設(shè)Gt表示具有相同屬性attt的用戶,稱之為用戶組屬性,且GtU,用戶組屬性的集合表示為G={Gt|attt∈A}。
定義7 設(shè)Kt表示與Gt相關(guān)的屬性組密鑰,K={Gt|attt∈A}表示屬性組密鑰集合。
假設(shè)1 離散對數(shù)(Discrete Logarithm Assumption, DL)問題。對于給定任意兩個元素X,Y∈G0,不存在一個算法能在多項式時間內(nèi)以不可忽略的優(yōu)點計算出一個整數(shù)k∈Z*p使得Y=Xk成立。
假設(shè)2 判斷雙線性Diffie-Hellman(Decisional Bilinear Diffie-Hellman Assumption, DBDH)問題。設(shè)g是乘法循環(huán)群的G0的一個生成元,對于任意的元素a,b,c∈Z*p,給定一個五元組(g,ga,gb,gc,e(g,g)abc),不存在一個算法能在多項式時間內(nèi)以不可忽略的優(yōu)點計算出一個整數(shù)z∈Z*p使得e(g,g)z=e(g,g)abc成立。
2 基于代理重加密的CP-ABE方案
以上介紹了相關(guān)的基本概念和原方案存在的不足。本章將詳細闡述如何改進方案,降低用戶的解密開銷。
2.1 模型構(gòu)造
本文提出的方案模型如圖1所示,主要由5個部分組成,5個組成部分之間通過互聯(lián)網(wǎng)進行連接。
可信任密鑰授權(quán)(Trusted Key Authority, TKA) 文中假設(shè)TKA是可信任的,主要用于公共參數(shù)、主密鑰、解密私鑰的生成。
數(shù)據(jù)屬主(Data Owner, DO) 想要上傳共享數(shù)據(jù)的用戶,DO 可以自己定義數(shù)據(jù)的訪問策略,只有屬性滿足訪問策略的用戶才能獲得明文數(shù)據(jù)。
云服務(wù)提供商(Cloud Service Provider, CSP) CSP負責(zé)數(shù)據(jù)的存儲、管理以及密文重加密操作。文中認為CSP是可疑但誠實的,它會誠實地執(zhí)行各項任務(wù)。
代理解密服務(wù)器(Proxy Decryption Server, PDS) PDS承擔(dān)系統(tǒng)中的大部分解密計算,減少了用戶解密的計算開銷。本文也認為PDS是可疑但誠實的。
數(shù)據(jù)訪問者(Data User, DU) DU是訪問密文數(shù)據(jù)的用戶,隨著云服務(wù)的快速發(fā)展,移動設(shè)備成為了訪問云端數(shù)據(jù)的主要設(shè)備,因此認為移動端的解密私鑰存在被盜取的可能性。
本文認為各個參與方不會相互串通以非法的手段獲取數(shù)據(jù),否則系統(tǒng)模型沒有任何意義。用戶提交的屬性由TKA認證,每一個授權(quán)的屬性由公共參數(shù)中的一個隨機數(shù)來進行表示;當(dāng)DO想要上傳數(shù)據(jù)時,利用自定義的訪問策略和公共參數(shù)加密數(shù)據(jù)得到密文C0,然后將其上傳到云服務(wù)器;云服務(wù)器對C0進行重加密得到C1。當(dāng)有DU向TKA提交屬性時,TKA會生成解密私鑰,其由兩部分組成,將分別分發(fā)給DU和CPS;當(dāng)DU向CPS發(fā)送密文請求后,CPS會向DU的代理解密服務(wù)器發(fā)送密文C1和存放于CPS處的解密私鑰;PDS解密得到C2并將其發(fā)送給DU,DU利用自己的解密私鑰解密。
2.2 方案構(gòu)造
1)初始化。
TKA首先選取k作為安全參數(shù),G1和G2是秩為素數(shù)p的兩個乘法循環(huán)群,G1的生成元為g,定義散列函數(shù)如下:
H:{0,1}*→G1
H1:G2→Z*P
然后完成初始化操作,生成系統(tǒng)公共參數(shù)PP和主密鑰MK。
算法1 Setup(1k,A)。
輸入:系統(tǒng)安全參數(shù)k和授權(quán)屬性集合A;
輸出:系統(tǒng)公共參數(shù)PP和主密鑰MK。
步驟1 選取隨機數(shù)α, β∈Z*p和h1,h2,…,hm∈R? G1,其中ht與屬性attt對應(yīng)(t∈[1,m]);
步驟2 輸出公共參數(shù)主密鑰如下:
PP={g,gβ,h1,h2,…,hm,e(g,g)α,H,H1}
MK={β,gα}
2)密鑰生成。
此操作由TKA完成,利用公共參數(shù)PP、主密鑰MK以及用戶提交的屬性S來完成解密私鑰的生成,解密私鑰由DKCSP和DKDU兩部分組成,分別由CSP和DU保存,無論CSP還是PDS都無法單獨解密密文。
算法2 KeyGen(PP,MK,S)。
輸入:公共參數(shù)PP、主密鑰MK和用戶屬性S;
輸出:解密私鑰DKCSP和DKDU。
步驟1 取隨機數(shù)τ∈ R Z*p,計算初始化密鑰K1={gτ,x∈S:hτx};
步驟2 利用生成公共參數(shù)的隨機數(shù)α、 β以及步驟1中的τ計算K2=gα+βτ;
步驟3 選取隨機數(shù)r,π,∈ R Z*p,計算K3 = g(α + βτ)r/π;
步驟4 利用步驟3中的隨機數(shù)計算D = gτr/π,x∈S:Dx = hτr/πx;
步驟5 通過上述4步的計算,輸出解密私鑰DKCSP和DKDU如下:
DKDU=π/r
DKCSP ={K3=g(α+βτ)r/π,D=gτr/π,x∈S:Dx=hτr/πx}
3)數(shù)據(jù)加密。
此操作由DO完成,為了保證數(shù)據(jù)的機密性和完整性,DO利用公共參數(shù)和自定義的訪問策略實現(xiàn)對明文數(shù)據(jù)M的加密操作。
算法3 Encrypt(PP,M,A)。
輸入:公共參數(shù)PP、明文M和訪問策略A;
輸出:初始化密文C0。
步驟1 生成向量v=(s,y2,y3,…,yd)和線性密鑰共享方案(M,ρ);
步驟2 為每一個用戶ui∈U計算λi=v·Mi;
步驟3 輸出初始化密文C0如下:
C0=((M, ρ),C)=M·e(g,g)αs,C′=gs,attt∈A:Ct=gβλth-sρ(t))
4)密文重加密。
重加密算法由CSP完成,此處采用文獻[17]中屬性組加密算法來對密文進行重加密,以公共參數(shù)PP、初始化密文C0和用戶屬性組集合G作為輸入。當(dāng)CSP收到C0和G后,選擇兩個隨機數(shù)μ,γ∈R Z*p來構(gòu)造屬性組密鑰集合K,并為用戶uk∈G定義唯一的標(biāo)識IDk∈{0,1}*,標(biāo)簽不會隨著用戶屬性的更改而發(fā)生改變。
算法4 ReEncrypt(PP,C0,G)。
輸入:公共參數(shù)PP、初始化密文C0和用戶屬性組集合G;
輸出:最終密文C1。
步驟1 為用戶uk∈G定義一個唯一的用戶標(biāo)簽IDk∈{0,1}*;
步驟2 選擇兩個隨機數(shù)μ,γ∈R Z*p,SKDUk=H(IDk)γ和SKCSP=gγ分別為用戶uk和CSP的會話密鑰,并為每一個用戶uk計算對應(yīng)的元素;
步驟3 為每一個Gt∈G構(gòu)造一個多項式ft(x)=∏vi=1(x-xi)=∑vi=1aixi(mod p)其中v表示Gt中用戶個數(shù);
步驟4 定義{P0,P1,…,Pv}={ga0,ga1,…,gav},并選取隨機數(shù)R∈R Z*p進行如下計算:Headt=(Kt·PR0,PR1,…,PRv);
步驟5 構(gòu)造信息頭為:Head=(gμ,γ,Gt∈G:Hdrt);
步驟6 輸出密文C1如下:
C′0=((M,ρ),C)=M·e(g,g)αs,C′=gs,attt∈A:Ct=(gβλth-sρ(t))Kt)
C1=(Head,C′0)
5)數(shù)據(jù)解密。
CSP收到用戶uk的密文請求之后,會立即將密文C1和解密私鑰DKCSP發(fā)送給PDS,PDS對C1進行解密得到C2,將其發(fā)送給uk,uk利用自身保存的解密私鑰DKDU進行解密,從而獲得明文。
算法5 Decrypt(S,C1,DKCSP,DKDU)。
輸入:用戶屬性集合S、密文C1以及解密私鑰DKCSP和DKDU;
輸出:明文M。
步驟1 PDS通過如下計算構(gòu)造屬性組密鑰{Kt|θt∈S};
H1(e(SKDUkμ,SKCSP)) = xk
Kt·PR0∏vi=1PR·xiki=Kt
步驟2 PDS利用DKCSP進行初步解密,具體如下:
∏ρ(t)∈S(e(Ct1Kt,D)·e(C′,Dρ(t)))ωt=∏ρ(t)∈S(e((gβλth-sρ(t))Kt·1Kt,gτrπ)·e(gs,hτrπρ(t)))ωt=∏ρ(t)∈S(e(g,g)βλtτrπ)ωt=e(g,g)βsτrπ=C1′
e(C′,DKCSP)C1′=e(gs,g(α+βτ)rπ)e(g,g)βsτrπ=e(g,g)αsrπ=C2
步驟3 PDS將C2發(fā)送給用戶uk,uk利用私鑰EKDU解密獲得明文,具體如下:
CC2DKDU=M·e(g,g)αs(e(g,g)αsr/π)π/r=M
6)屬性撤銷。
當(dāng)用戶將屬性集合中的屬性attq撤銷后,系統(tǒng)將立即執(zhí)行屬性撤銷操作。TKA先更新屬性組集合,即G更新為G′。然后CSP執(zhí)行重加密操作,最后TKA完成密鑰更新操作。
首先,更新屬性組密鑰集合:
K′={K′q,attt∈A\{attq}:Kt}
然后為Gq構(gòu)造新的多項式,其中v′代表Gq中的用戶個數(shù),具體如下:
fq(x)=∏v′i=1(x-xi)=∑v′i=0a′ixi(mod p)
重加密算法選擇一個新的隨機數(shù)R′∈R Z*p,構(gòu)造新的信息頭,具體如下:
{P0,P1,…,Pv′}={ga′0,ga′1,…,ga′v}
Head′q=(Kq′·PR′0,PR′1,…,PR′v′)
Head′=(gμ,Headq′,Gt∈G\{Gq}:Headt)
結(jié)合上述計算結(jié)果,完成重加密密文的更新,具體如下:
C″0=(C=M·e(g,g)αs,C′=gs,Cq=(gβλqh-sρ(q))Kq,(M, ρ),attt∈A\{attq}:Ct=(gβλth-sρ(t))Kt)
C″1=(Head′,C″0)
最后,TKA完成解密私鑰的更新,具體如下:
DK′DU=π′/r′
DKCSP′={K3′=g(α+βτ)r′/π′,D=gτr′/π′,x∈S:Dx=
hτr′/π′x}
3 綜合分析
本章主要從安全性和解密性能兩個方面對本文提出的方案進行分析。
3.1 安全性分析
理論1 假設(shè)DBDH困難性假設(shè)問題存在,那么不存在任何敵手能在概率多項式時間內(nèi)以一定的優(yōu)勢選擇性地破壞本文提出的CP-ABE-BPRE方案。
證明 在CP-ABE-BPRE方案的選擇性安全游戲中,假定敵手E存在不可忽略的優(yōu)勢ε=Pr[b=b′]-(1/2)來攻破方案。先構(gòu)建一個模擬者P,它能以ε/2的優(yōu)勢區(qū)分一個DBDH元組和一個隨機生成的元組。設(shè)G0和GT是秩為素數(shù)p的乘法循環(huán)群,其中G0的生成元是g,且滿足雙線性對e:G0×G0→GT。首先,DBDH挑戰(zhàn)者隨機選擇參數(shù)a,b,c∈Zp, μ∈{0,1},生成元g∈G0和一個隨機元素R∈GT。然后,如果μ=0,挑戰(zhàn)者定義T=e(g,g)abc,否則定義T=R。挑戰(zhàn)者將〈g,X,Y,Z,T〉=〈g,ga,gb,gc,T〉發(fā)送給模擬者P。在接下來的安全游戲中,模擬者將扮演挑戰(zhàn)者。在證明過程中,本文認為只有一份文件需要被加密,且將方案的密文C′0={(M, ρ),C=M·e(g,g)αs,C′=gs, attt∈A:Ct=(gβλth-sρ(t))Kt}和C1=(Head,C′0)簡化為:C1={(M, ρ),C,C′,Ct,Head}。
Initialization階段 敵手E選擇接下來要挑戰(zhàn)的訪問策略A,并提交A給模擬者P。
Setup階段 模擬者P為敵手E生成公鑰PK。選擇一個隨機數(shù)α′∈Zp,令α=α′+ab。模擬者P計算e(g,g)α=e(g,g)α′e(g,g)ab。模擬者P設(shè)定h=gβ=Y=gb,然后將生成的系統(tǒng)公鑰PK發(fā)送給敵手E。
Query階段1 在密鑰詢問階段1中,敵手E通過向P提交不滿足訪問策略A的屬性集合Sj={aj|aj∈A′}(SjA)可以進行解密私鑰SK的詢問。首先,P隨機生成一個數(shù)字τ′∈R Z*p,令τ=τ′+a,為屬性集合Sj中的每一個屬性生成一個隨機數(shù)hj∈Zp與之對應(yīng),并計算初始化密鑰K1={gτ,aj∈Sj:hτaj}和K2=gα+βτ。然后選取隨機數(shù)r′,π′,∈R Z*p,令r=r′+a,π=π′+a,計算K3=Kr/π2=g(α+βτ)r/π。因此,P可為敵手E構(gòu)建私DKDU=π/r和DKCSP={K3=g(α+βτ)r/π,D=gτr/π,aj∈Sj:Daj=hτr/πaj},最后,將解密私鑰發(fā)送給E。
Challenge階段 E向模擬者P提交兩個長度相等的消息M0和M1。然后,P隨機選擇一個比特μ∈{0,1},并使用挑戰(zhàn)的訪問策略A加密Mμ,加密得到的密文C*如下:
C′=gs=gc=Z
C=Mμ·e(g,g)αs=Mμ·e(g,g)αc=Mμ·Te(g,g)α′c
然后,P將加密得到的密文發(fā)送給E。
Query階段2 此階段與Query階段1一致。
Guess階段 在猜測階段,敵手E針對μ給出一個猜測μ′∈{0,1}。如果μ=μ′,P輸出0來猜測T=e(g,g)abc,否則,P輸出1來猜測T是乘法循環(huán)群GT上的一個隨機數(shù),即T=R。
如果T=e(g,g)abc,那么密文C*是一份有效的密文,有定義可知敵手E的優(yōu)勢為ε,有μ=μ′的概率接近1/2,則有:
Pr[P(g,ga,gb,gc,T=e(g,g)abc)=0]=1/2+ε
如果T=R,由于R是一個隨機值,密文C*也存在隨機性,但對于敵手E來說,C*就是一份完整的密文,有μ≠μ′的概率接近1/2,則有:
Pr[P(g,ga,gb,gc,T=R)=0]=1/2
由CP-ABE的安全模型可知,敵手不可忽略的優(yōu)勢為ε,那模擬者P在此安全游戲中,利用敵手的能力獲得勝利的優(yōu)勢可描述為:
ε′=12(Pr[P(g,ga,gb,gc,T=e(g,g)abc)=0]+
Pr[P(g,ga,gb,gc,T=R)=0])-1/2=
12(12+ε+12)-12=12+ε2-12=ε2
綜上所述,CP-ABE-BPRE方案是選擇明文攻擊安全的。
在CP-ABE-BPRE方案中,TKA是可信任的,CSP和PDS是可疑但誠實的,且各參與方不會相互串通以非法的手段獲取數(shù)據(jù)。在該方案中,CSP從DO獲得初始化密文后對其進行重加密,同文獻[9] 和文獻[14]中的可信任第三方一樣,TKA利用用戶提交的屬性生成和分發(fā)解密私鑰,但不同之處在于CP-ABE-BPRE方案中用戶的解密私鑰由兩部分組成,分別保存于CSP和DU,CSP無法僅用保存于自身的密鑰解密密文。PDS將C1解密為C2的過程中,由于C2被El Gamal算法加密過,因此PDS在解密過程中也無法獲得相關(guān)明文。對于非法用戶是無法得到明文的,任何屬性不滿足訪問策略的用戶都無法得到C′1和C2,由于無法計算恢復(fù)e(g,g)αs,從而無法獲得明文。
在前后向安全性方面,當(dāng)用戶撤銷某屬性時,TKA會更新用戶組屬性集合,然后更新相應(yīng)的屬性組密鑰集合,通過重建信息頭來重加密密文,然后再重新生成和分發(fā)解密私鑰。此后,只有擁有該屬性的用戶才能訪問密文,沒有該屬性的用戶將無法得到任何信息。當(dāng)有新的用戶加入時,TKA會更新用戶組屬性集合,CSP會根據(jù)新增用戶的屬性完成密文的重加密,此操作不會影響其他用戶的解密操作。綜上所述,CP-ABE-BPRE方案保證了數(shù)據(jù)的前后向安全性。
在解密私鑰暴露方面,隨著云計算的快速發(fā)展,通過移動設(shè)備來備份和訪問數(shù)據(jù)變得越來越便捷[18],同時也伴隨著各類隱私安全問題的出現(xiàn)。在文獻[9]的方案中,解密私鑰直接保存在用戶端,當(dāng)解密私鑰被非法用戶獲取時,非法用戶可直接對密文進行解密操作。文獻[14]的方案中也引入了代理解密服務(wù)器來減少用戶的解密開銷,但代理解密服務(wù)器的解密私鑰由用戶端生成和分發(fā),因此解密私鑰被盜取的危險依舊存在。文獻[17]中引入安全的兩方計算解決了用戶解密私鑰可能被盜取的問題,但用戶依舊存在解密開銷較大的問題。由于移動設(shè)備的隱私保護遠不如云存儲服務(wù)器[19],在CP-ABE-BPRE方案中,解密私鑰由兩部分組成,分別保存于CSP和DU處,當(dāng)移動端的密鑰被非法盜取時,非法用戶并不能直接對CSP處的密文進行解密,從而有效地防止了用戶解密私鑰暴露的問題。
3.2 解密性能分析
在解密性能方面,將CP-ABE-BPRE方案與文獻[9,14,17]中方案進行比較,主要從是否支持屬性撤銷和用戶解密開銷兩方面進行比較。分析比較過程中使用的相關(guān)符號含義如表1所示。算法解密性能如表2所示。
1)支持屬性撤銷。
文獻[9]和文獻[14]不支持用戶屬性撤銷,本文CP-ABE-BPRE方案引入文獻[17]中介紹的基于屬性組的重加密方案,在云服務(wù)器端對用戶上傳的初始密文進行密文重加密操作,當(dāng)用戶屬性發(fā)生變更時,數(shù)據(jù)屬主不需要重新加密數(shù)據(jù)再上傳云端,而是將此操作代理給云服務(wù)器,因此本文方案支持屬性撤銷。
2)用戶解密開銷。
首先從理論上進行分析,文獻[9]和文獻[17]的方案中,用戶在進行解密計算時,涉及到了大量的雙線性對的運算,且與用戶的屬性和訪問策略中的屬性個數(shù)|A|、門限個數(shù)SG以及與門個數(shù)ST相關(guān),大量的計算必然會降低終端用戶訪問共享數(shù)據(jù)的用戶體驗。如表2所示,與文獻[9]和文獻[17]中方案相比,本文方案在傳統(tǒng)的CP-ABE方案的基礎(chǔ)上引入代理解密服務(wù)器,通過外包解密的方式,將1·th+(2|S|+2)tp+(2|S|+v)te+(2|S|+v-1)tm+1·td解密計算外包給PDS,用戶只需要完成固定的一次雙線性對的冪運算和除法運算便可解密獲得明文。而在文獻[9]和文獻[17]的方案中,用戶需要承擔(dān)全部的計算開銷。與文獻[14]的方案相比,雖然該方案也引入了代理解密服務(wù)器,但在解密過程中,解密服務(wù)器的解密密鑰由用戶分發(fā),而在CP-ABE-BPRE方案中,代理解密服務(wù)器的解密密鑰由可信任授權(quán)中心分發(fā),使得代理解密密鑰分發(fā)不會影響到解密階段用戶的解密開銷。因此,與文獻[9,14,17]中方案相比,在用戶解密開銷方面,CP-ABE-BPRE方案具有一定的優(yōu)勢。
為了驗證理論分析結(jié)果,本文采用CP-ABE工具包和基于開源代碼庫的JPBC(Java Pairing-Based Cryptography library)進行仿真實驗,完成CP-ABE-BPRE方案與文獻[9,14,17]中方案的用戶解密開銷對比。為了達到80比特的安全等級,基于512比特的奇異曲線y2=x3+x,采用160比特的橢圓雙曲線群進行構(gòu)建。仿真實驗是在64-bit Windows 10(3.1GHz的Intel Core i7-6500Ud的CPU處理器和8.0GB的RAM硬件)平臺下采用Java語言完成,所有的實驗數(shù)據(jù)是運行5次得到的平均值。
為了不失一般性和保證所有的密文成分在解密階段都能被計算,文章構(gòu)建最壞情況下的訪問策略,即只包含“與”門,如att1 AND att2 AND … AND attN,其中每個atti表示一個屬性,N的取值從1到30,用戶解密開銷仿真實驗結(jié)果如圖2所示。
從圖2可知,CP-ABE-BPRE方案與文獻[14]方案在用戶解密開銷方面遠遠小于文獻[9]方案和文獻[17]方案,這是因為CP-ABE-BPRE方案和文獻[14]方案中大量的計算是由代理解密服務(wù)器完成,用戶的解密計算量是固定的,所以用戶在解密階段的開銷不會隨著屬性集合的增大而增大。CP-ABE-BPRE方案用戶解密開銷低于文獻[14]方案用戶解密開銷,這是由于文獻[14]方案中用戶分發(fā)代理解密密鑰會額外增加用戶的解密開銷。因此本文方案在用戶解密開銷性能上相比其他三種方案是最優(yōu)的。通過前面理論和仿真實驗分析,可以看出CP-ABE-BPRE方案在支持用戶屬性靈活變更的同時降低了用戶的解密開銷,進一步說明了CP-ABE-BPRE方案更適用于資源受限的用戶終端環(huán)境。
綜上,與文獻[9]、[14]以及[17]的方案相比,本文提出的方案對訪問云數(shù)據(jù)的用戶無論是在解密性能方面還是在支持屬性靈活撤銷方面都具有較好的優(yōu)勢。
4 結(jié)語
本文聚焦用戶解密開銷和屬性加密方案中如何支持用戶屬性靈活變更的問題,在傳統(tǒng)的CP-ABE的基礎(chǔ)上進行改進,提出了一種基于代理重加密的CP-ABE方案,引入了文獻[17]中的屬性組的概念來實現(xiàn)對密文的重加密,從而使得方案能夠較好地支持用戶屬性的靈活變更。此方案中密文解密私鑰由兩部分組成,分別保存于CSP和DU。由TKA生成分發(fā)給CSP和DU,PDS利用CSP向其發(fā)送的密鑰完成密文解密操作中的絕大多數(shù)計算,由DU利用自己的解密私鑰完成最終的解密計算。該方案在有效降低用戶解密開銷的同時還解決了云數(shù)據(jù)共享環(huán)境中移動終端因隱私保護缺陷而導(dǎo)致的用戶解密私鑰被盜問題。此外用戶的加密開銷和密文的大小也是屬性加密技術(shù)中備受關(guān)注的地方,在以后的工作中,期望可以通過降低系統(tǒng)的總解密開銷和密文大小來完善此方案。
參考文獻
[1]SUKHODOLSKIY I A, ZAPECHNIKOV S V. An access control model for cloud storage using attribute-based encryption [C]// Proceedings of the 2017 IEEE Conference of Russian Young Researchers in Electrical and Electronic Engineering. Piscataway, NJ: IEEE, 2017:578-581.
[2]SANDHIA G K, KASMIR RAJA S V, JANSI K R. Multi-authority-based file hierarchy hidden CP-ABE scheme for cloud security [J]. Service Oriented Computing and Applications, 2018,12(3/4):295-308.
[3]WANG S, ZHOU J, LIU J K, et al. An efficient file hierarchy attribute-based encryption scheme in cloud computing [J]. IEEE Transactions on Information Forensics and Security, 2016, 11(6):1265-1277.
[4]GRUMAN G, KNORR E. What cloud computing really means [J]. Courts Today, 2010, 8(4):34.
[5]劉建,鮮明,王會梅,等.面向移動云的屬性基密文訪問控制優(yōu)化方法[J].通信學(xué)報,2018,39(7):43-53.(LIU J, XIAN M, WANG H M, et al. Optimization method for attribute-based cryptographic access control in mobile cloud computing [J]. Journal on Communications, 2018, 39(7): 43-53.)
[6]NARUSE T, MOHRI M, SHIRAISHI Y. Attribute revocable attribute-based encryption with forward secrecy for fine-grained access control of shared data [J]. IEICE technical report. Information and communication system security, 2015:114-126.
NARUSE T, MOHRI M, SHIRAISHI Y. Attribute revocable attribute-based encryption with forward secrecy for fine-grained access control of shared data [EB/OL]. [2019-01-03]. https://www.researchgate.net/publication/320140444_Attribute_Revocable_Attribute-Based_Encryption_with_Forward_Secrecy_for_Fine-Grained_Access_Control_of_Shared_Data.
[7]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.
[8]閆璽璽,孟慧.支持直接撤銷的密文策略屬性基加密方案[J].通信學(xué)報,2016,37(5):44-50.(YAN X X, MENG H. Ciphertext policy attribute-based encryption scheme supporting direct revocation [J]. Journal on Communications, 2016, 37(5):44-50.)
[9]BETHENCOURT J, SAHAI A, WATERS B. Ciphertext-policy attribute-based encryption [C]// Proceedings of the 2007 IEEE Symposium on Security and Privacy. Washington, DC: IEEE Computer Society, 2007: 321-334.
[10]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.
[11]OSTROVSKY R, SAHAI A, WATERS B. Attribute-based encryption with non-monotonic access structures [C]// CCS ‘07: Proceedings of the 14th ACM Conference on Computer and Communications Security. New York: ACM, 2007:195-203.
[12]CHEUNG L, NEWPORT C. Provably secure ciphertext policy ABE [C]// CCS ‘07: Proceedings of the 14th ACM Conference on Computer and Communications Security. New York: ACM, 2007:456-465.
[13]LEWKO A, OKAMOTO T, SAHAI A, et al. Fully secure functional encryption: attribute-based encryption and (hierarchical) inner product encryption [C]// Proceedings of the 2010 Annual International Conference on the Theory and Applications of Cryptographic Techniques, LNCS 6110. Berlin: Springer, 2010: 62-91.
[14]GREEN M, HOHENBERGER S, WATERS B. Outsourcing the decryption of ABE ciphertexts [C]// SEC ‘11: Proceedings of the 20th USENIX conference on Security. Berkeley, CA: USENIX Association, 2011: 34.
[15]ODELU V, DAS A K, KHURRAM KHAN M, et al. Expressive CP-ABE scheme for mobile devices in IoT satisfying constant-size keys and ciphertexts [EB/OL]. [2019-01-06]. https://www.researchgate.net/publication/313814297_Expressive_CP-ABE_Scheme_for_Mobile_Devices_in_IoT_satisfying_Constant-size_Keys_and_Ciphertexts.
[16]OHIGASHI T, NISHIMURA K, AIBARA R, et al. Implementation and evaluation of secure outsourcing scheme for secret sharing scheme on cloud storage services [C]// Proceedings of the 2014 IEEE 38th International Computer Software and Applications Conference Workshops. Piscataway, NJ: IEEE, 2014: 78-83.
[17]HUR J. Improving security and efficiency in attribute-based data sharing [J]. IEEE Transactions on Knowledge and Data Engineering, 2013, 25(10): 2271-2282.
[18]DINH H T, LEE C, NIYATO D, et al. A survey of mobile cloud computing: architecture, applications, and approaches [J]. Wireless Communications and Mobile Computing, 2013, 13(18):1587-1611.
[19]AHMAD M S, MUSA N E, NADARAJAH R, et al. Comparison between Android and iOS operating system in terms of security [C]// Proceedings of the 2013 8th International Conference on Information Technology in Asia. Piscataway, NJ: IEEE, 2013,7: 1-4.
This work is partially supported by the National Natural Science Foundation of China (GZ215045), the Education Informatization Research Project of Jiangsu Province (20172105), the Teaching Reform Project of Nanjing University of Posts and Telecommunications (JG06717JX66).
WANG Haiyong, born in 1979, Ph. D., associate research fellow. His research interests include computer network and security, information network.
PENG Yao, born in 1993, M. S. candidate. His research interests include computer network and security, cloud computing.
GUO Kaixuan, born in 1991, M. S. candidate. Her research interests include blockchain, consensus algorithm, Internet of things.