?

云存儲中基于代理重加密的CP-ABE訪問控制方案

2019-10-31 09:21王海勇彭垚郭凱璇
計算機應用 2019年9期
關鍵詞:訪問控制云存儲

王海勇 彭垚 郭凱璇

摘 要:針對云存儲中基于密文策略的屬性加密(Ciphertext Policy Attribute-Based Encryption, CP-ABE)訪問控制方案存在用戶解密開銷較大的問題,提出了一種基于代理重加密的CP-ABE(CP-ABE Based on Proxy Re-Encryption,CP-ABE-BPRE)方案,并對密鑰的生成方法進行了改進。此方案包含五個組成部分,分別是可信任密鑰授權、數據屬主、云服務提供商、代理解密服務器和數據訪問者,其中云服務器對數據進行重加密,代理解密服務器完成大部分的解密計算。方案能夠有效地降低用戶的解密開銷,在保證數據細粒度訪問控制的同時還支持用戶屬性的直接撤銷,并解決了傳統CP-ABE方案中因用戶私鑰被非法盜取帶來的數據泄露問題。與其他CP-ABE方案比較,此方案對訪問云數據的用戶在解密性能方面具有較好的優勢。

關鍵詞:云存儲;屬性加密;代理重加密;訪問控制;可信任密鑰

中圖分類號:TP302.1

文獻標志碼: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 引言

隨著信息技術的快速發展和用戶數據的爆炸式增長,通過網絡實現云數據共享也變得越來越便捷[1-2]。云計算是實現云數據共享最主要的技術之一[3],它是一種新的計算模式,以服務的方式為用戶按需部署、動態優化及回收、按需付費以及可隨時隨地通過互聯網獲取大量的存儲空間和計算資源,借助軟件即服務(Software as a Service, SaaS)、平臺即服務(Platform as a Service, PaaS)、基礎設施即服務(Infrastructure as a Service, IaaS)等模式把云計算系統共享到用戶[4]。共享的數據一般是遠程存儲,數據擁有者的隱私以及共享數據本身的安全性存在一定的威脅[5]。因此,對于云存儲中的數據和用戶隱私保護是至關重要的,當存在大量用戶同時訪問數據時,還要對其進行細粒度的訪問控制[6]?;趯傩缘募用埽ˋttribute-Based Encryption, ABE)[7]提供了一個靈活的訪問控制方案。ABE能夠在云存儲環境下實現一對多的通信機制[8],這意味著一個密鑰可以解密不同的密文或者不同的密鑰可以解密相同的密文。ABE可分為基于密鑰策略的屬性加密(Key Policy Attribute-Based Encryption, KP-ABE)和基于密文策略的屬性加密(Ciphertext Policy Attribute-Based Encryption, CP-ABE)[9]兩類。在CP-ABE中,訪問策略與密文關聯,屬性集合與解密私鑰關聯,用戶可以自定義訪問策略,屬性集合滿足訪問策略的用戶才能夠訪問數據,適用于云存儲環境下的安全訪問控制。

屬性加密的概念最開始由Sahai等[10]提出,Goyal等[7]在次年將屬性加密劃分為KP-ABE和CP-ABE兩類。盡管CP-ABE能實現云存儲環境下的安全的訪問控制,但仍然存在可改進的地方。Ostrovsky等[11]構造了可執行“非”運算的CP-ABE方案,Cheung等[12]在2007年首次提出可執行“與”門的CP-ABE。Lewko等[13]和Green等[14]都提出了線性秘密共享方案(Linear Secret Share Scheme, LSSS)類型的CP-ABE。隨著移動智能終端的快速普及,越來越多的移動設備參與到云數據共享中來,例如:智能手機、可穿戴設備等。而在CP-ABE的解密過程中,需要進行大量的雙線性對、乘法、取冪等計算,會產生大量的計算開銷[14]。與此同時,目前對移動終端非法攻擊也越來越多,用戶的解密私鑰在移動終端也存在被非法用戶盜取的可能性。屬性基加密最初在文獻[9]中被提出,許多論文在此基礎上作了進一步研究。文獻[14]基于HDFS提出了一種延遲重加密和代理重加密的機制,該方案中,大量的加解密計算由云服務器來完成,且減少了在用戶權限撤銷時數據屬主的計算開銷。文獻[15]提出一種基于CP-ABE的多授權方案,可實現高效解密。文獻[16]提出一種針對移動設備的全外包解密方案,實現了移動設備網絡流量的穩定性。文獻[17]提出了一個基于屬性的數據共享系統,通過在密鑰生成中心與數據存儲中心之間引入兩方計算,為單一權限系統中的密鑰托管問題提供了新的解決方案。

針對上面提出的潛在問題,本文提出了一種基于代理重加密的CP-ABE方案 (CP-ABE Based on Proxy Re-Encryption, CP-ABE-BPRE),在CP-ABE-BPRE方案中,解密私鑰由兩部分組成,代理解密服務器利用其中一個密鑰解密得到半解密密文后將其發送給用戶,由用戶完成半解密密文的解密操作。該方案能有效地減少用戶的解密開銷,在保證靈活的細粒度訪問控制的同時,還降低了因用戶私鑰被非法盜取帶來數據泄露問題。

1 背景知識

定義1 雙線性對。設G0和GT是秩為素數p的乘法循環群,其中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 訪問結構。設所有用戶的屬性集合為P={P1,P2,…,Pn},訪問結構A是2P的一個非空子集,即A2P|{Φ},其中2P是P的所有子集的集合。對于任意的B和C,如果B∈A,BC,那么有C∈A,則稱A是單調的。若有D∈A,則稱D為A的一個授權集合,否則稱之為未授權集合。

定義3 線性密鑰共享方案。設M是一個m行n列的共享生成矩陣,由用戶的訪問策略生成。對于i=1,2,…,m,ρ(i)的值表示與矩陣M的第i行關聯的屬性。設列向量v=(s,r1,r2,…,rn)T,其中s∈Z*p是將要分享的秘密,r1,r2,…,rn∈Z*p是隨機數,那M·v表示秘密s分配給m個參與者的秘密份額。

設S是一個授權的屬性集合,即S∈A,定義屬性集合I={i: ρ(i)∈S}{1,2,…,m},在多項式時間內可計算出一組常量{ωi∈Z*p}i∈I,如果{λρ(i)}是秘密s的有效共享份額,則可通過∑ωi·ρ(i)=s(i∈I)恢復共享的秘密值。

定義4 設用戶的集合為U={u1,u2,…,ul},其中l代表系統用戶的總數。

定義5 設授權的屬性集合為A={att1,att2,…,attp},其中P代表屬性總數。

定義6 設Gt表示具有相同屬性attt的用戶,稱之為用戶組屬性,且GtU,用戶組屬性的集合表示為G={Gt|attt∈A}。

定義7 設Kt表示與Gt相關的屬性組密鑰,K={Gt|attt∈A}表示屬性組密鑰集合。

假設1 離散對數(Discrete Logarithm Assumption, DL)問題。對于給定任意兩個元素X,Y∈G0,不存在一個算法能在多項式時間內以不可忽略的優點計算出一個整數k∈Z*p使得Y=Xk成立。

假設2 判斷雙線性Diffie-Hellman(Decisional Bilinear Diffie-Hellman Assumption, DBDH)問題。設g是乘法循環群的G0的一個生成元,對于任意的元素a,b,c∈Z*p,給定一個五元組(g,ga,gb,gc,e(g,g)abc),不存在一個算法能在多項式時間內以不可忽略的優點計算出一個整數z∈Z*p使得e(g,g)z=e(g,g)abc成立。

2 基于代理重加密的CP-ABE方案

以上介紹了相關的基本概念和原方案存在的不足。本章將詳細闡述如何改進方案,降低用戶的解密開銷。

2.1 模型構造

本文提出的方案模型如圖1所示,主要由5個部分組成,5個組成部分之間通過互聯網進行連接。

可信任密鑰授權(Trusted Key Authority, TKA) 文中假設TKA是可信任的,主要用于公共參數、主密鑰、解密私鑰的生成。

數據屬主(Data Owner, DO) 想要上傳共享數據的用戶,DO 可以自己定義數據的訪問策略,只有屬性滿足訪問策略的用戶才能獲得明文數據。

云服務提供商(Cloud Service Provider, CSP) CSP負責數據的存儲、管理以及密文重加密操作。文中認為CSP是可疑但誠實的,它會誠實地執行各項任務。

代理解密服務器(Proxy Decryption Server, PDS) PDS承擔系統中的大部分解密計算,減少了用戶解密的計算開銷。本文也認為PDS是可疑但誠實的。

數據訪問者(Data User, DU) DU是訪問密文數據的用戶,隨著云服務的快速發展,移動設備成為了訪問云端數據的主要設備,因此認為移動端的解密私鑰存在被盜取的可能性。

本文認為各個參與方不會相互串通以非法的手段獲取數據,否則系統模型沒有任何意義。用戶提交的屬性由TKA認證,每一個授權的屬性由公共參數中的一個隨機數來進行表示;當DO想要上傳數據時,利用自定義的訪問策略和公共參數加密數據得到密文C0,然后將其上傳到云服務器;云服務器對C0進行重加密得到C1。當有DU向TKA提交屬性時,TKA會生成解密私鑰,其由兩部分組成,將分別分發給DU和CPS;當DU向CPS發送密文請求后,CPS會向DU的代理解密服務器發送密文C1和存放于CPS處的解密私鑰;PDS解密得到C2并將其發送給DU,DU利用自己的解密私鑰解密。

2.2 方案構造

1)初始化。

TKA首先選取k作為安全參數,G1和G2是秩為素數p的兩個乘法循環群,G1的生成元為g,定義散列函數如下:

H:{0,1}*→G1

H1:G2→Z*P

然后完成初始化操作,生成系統公共參數PP和主密鑰MK。

算法1 Setup(1k,A)。

輸入:系統安全參數k和授權屬性集合A;

輸出:系統公共參數PP和主密鑰MK。

步驟1 選取隨機數α, β∈Z*p和h1,h2,…,hm∈R? G1,其中ht與屬性attt對應(t∈[1,m]);

步驟2 輸出公共參數主密鑰如下:

PP={g,gβ,h1,h2,…,hm,e(g,g)α,H,H1}

MK={β,gα}

2)密鑰生成。

此操作由TKA完成,利用公共參數PP、主密鑰MK以及用戶提交的屬性S來完成解密私鑰的生成,解密私鑰由DKCSP和DKDU兩部分組成,分別由CSP和DU保存,無論CSP還是PDS都無法單獨解密密文。

算法2 KeyGen(PP,MK,S)。

輸入:公共參數PP、主密鑰MK和用戶屬性S;

輸出:解密私鑰DKCSP和DKDU。

步驟1 取隨機數τ∈ R Z*p,計算初始化密鑰K1={gτ,x∈S:hτx};

步驟2 利用生成公共參數的隨機數α、 β以及步驟1中的τ計算K2=gα+βτ;

步驟3 選取隨機數r,π,∈ R Z*p,計算K3 = g(α + βτ)r/π;

步驟4 利用步驟3中的隨機數計算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)數據加密。

此操作由DO完成,為了保證數據的機密性和完整性,DO利用公共參數和自定義的訪問策略實現對明文數據M的加密操作。

算法3 Encrypt(PP,M,A)。

輸入:公共參數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]中屬性組加密算法來對密文進行重加密,以公共參數PP、初始化密文C0和用戶屬性組集合G作為輸入。當CSP收到C0和G后,選擇兩個隨機數μ,γ∈R Z*p來構造屬性組密鑰集合K,并為用戶uk∈G定義唯一的標識IDk∈{0,1}*,標簽不會隨著用戶屬性的更改而發生改變。

算法4 ReEncrypt(PP,C0,G)。

輸入:公共參數PP、初始化密文C0和用戶屬性組集合G;

輸出:最終密文C1。

步驟1 為用戶uk∈G定義一個唯一的用戶標簽IDk∈{0,1}*;

步驟2 選擇兩個隨機數μ,γ∈R Z*p,SKDUk=H(IDk)γ和SKCSP=gγ分別為用戶uk和CSP的會話密鑰,并為每一個用戶uk計算對應的元素;

步驟3 為每一個Gt∈G構造一個多項式ft(x)=∏vi=1(x-xi)=∑vi=1aixi(mod p)其中v表示Gt中用戶個數;

步驟4 定義{P0,P1,…,Pv}={ga0,ga1,…,gav},并選取隨機數R∈R Z*p進行如下計算:Headt=(Kt·PR0,PR1,…,PRv);

步驟5 構造信息頭為: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)數據解密。

CSP收到用戶uk的密文請求之后,會立即將密文C1和解密私鑰DKCSP發送給PDS,PDS對C1進行解密得到C2,將其發送給uk,uk利用自身保存的解密私鑰DKDU進行解密,從而獲得明文。

算法5 Decrypt(S,C1,DKCSP,DKDU)。

輸入:用戶屬性集合S、密文C1以及解密私鑰DKCSP和DKDU;

輸出:明文M。

步驟1 PDS通過如下計算構造屬性組密鑰{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發送給用戶uk,uk利用私鑰EKDU解密獲得明文,具體如下:

CC2DKDU=M·e(g,g)αs(e(g,g)αsr/π)π/r=M

6)屬性撤銷。

當用戶將屬性集合中的屬性attq撤銷后,系統將立即執行屬性撤銷操作。TKA先更新屬性組集合,即G更新為G′。然后CSP執行重加密操作,最后TKA完成密鑰更新操作。

首先,更新屬性組密鑰集合:

K′={K′q,attt∈A\{attq}:Kt}

然后為Gq構造新的多項式,其中v′代表Gq中的用戶個數,具體如下:

fq(x)=∏v′i=1(x-xi)=∑v′i=0a′ixi(mod p)

重加密算法選擇一個新的隨機數R′∈R Z*p,構造新的信息頭,具體如下:

{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)

結合上述計算結果,完成重加密密文的更新,具體如下:

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 假設DBDH困難性假設問題存在,那么不存在任何敵手能在概率多項式時間內以一定的優勢選擇性地破壞本文提出的CP-ABE-BPRE方案。

證明 在CP-ABE-BPRE方案的選擇性安全游戲中,假定敵手E存在不可忽略的優勢ε=Pr[b=b′]-(1/2)來攻破方案。先構建一個模擬者P,它能以ε/2的優勢區分一個DBDH元組和一個隨機生成的元組。設G0和GT是秩為素數p的乘法循環群,其中G0的生成元是g,且滿足雙線性對e:G0×G0→GT。首先,DBDH挑戰者隨機選擇參數a,b,c∈Zp, μ∈{0,1},生成元g∈G0和一個隨機元素R∈GT。然后,如果μ=0,挑戰者定義T=e(g,g)abc,否則定義T=R。挑戰者將〈g,X,Y,Z,T〉=〈g,ga,gb,gc,T〉發送給模擬者P。在接下來的安全游戲中,模擬者將扮演挑戰者。在證明過程中,本文認為只有一份文件需要被加密,且將方案的密文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選擇接下來要挑戰的訪問策略A,并提交A給模擬者P。

Setup階段 模擬者P為敵手E生成公鑰PK。選擇一個隨機數α′∈Zp,令α=α′+ab。模擬者P計算e(g,g)α=e(g,g)α′e(g,g)ab。模擬者P設定h=gβ=Y=gb,然后將生成的系統公鑰PK發送給敵手E。

Query階段1 在密鑰詢問階段1中,敵手E通過向P提交不滿足訪問策略A的屬性集合Sj={aj|aj∈A′}(SjA)可以進行解密私鑰SK的詢問。首先,P隨機生成一個數字τ′∈R Z*p,令τ=τ′+a,為屬性集合Sj中的每一個屬性生成一個隨機數hj∈Zp與之對應,并計算初始化密鑰K1={gτ,aj∈Sj:hτaj}和K2=gα+βτ。然后選取隨機數r′,π′,∈R Z*p,令r=r′+a,π=π′+a,計算K3=Kr/π2=g(α+βτ)r/π。因此,P可為敵手E構建私DKDU=π/r和DKCSP={K3=g(α+βτ)r/π,D=gτr/π,aj∈Sj:Daj=hτr/πaj},最后,將解密私鑰發送給E。

Challenge階段 E向模擬者P提交兩個長度相等的消息M0和M1。然后,P隨機選擇一個比特μ∈{0,1},并使用挑戰的訪問策略A加密Mμ,加密得到的密文C*如下:

C′=gs=gc=Z

C=Mμ·e(g,g)αs=Mμ·e(g,g)αc=Mμ·Te(g,g)α′c

然后,P將加密得到的密文發送給E。

Query階段2 此階段與Query階段1一致。

Guess階段 在猜測階段,敵手E針對μ給出一個猜測μ′∈{0,1}。如果μ=μ′,P輸出0來猜測T=e(g,g)abc,否則,P輸出1來猜測T是乘法循環群GT上的一個隨機數,即T=R。

如果T=e(g,g)abc,那么密文C*是一份有效的密文,有定義可知敵手E的優勢為ε,有μ=μ′的概率接近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的安全模型可知,敵手不可忽略的優勢為ε,那模擬者P在此安全游戲中,利用敵手的能力獲得勝利的優勢可描述為:

ε′=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是可疑但誠實的,且各參與方不會相互串通以非法的手段獲取數據。在該方案中,CSP從DO獲得初始化密文后對其進行重加密,同文獻[9] 和文獻[14]中的可信任第三方一樣,TKA利用用戶提交的屬性生成和分發解密私鑰,但不同之處在于CP-ABE-BPRE方案中用戶的解密私鑰由兩部分組成,分別保存于CSP和DU,CSP無法僅用保存于自身的密鑰解密密文。PDS將C1解密為C2的過程中,由于C2被El Gamal算法加密過,因此PDS在解密過程中也無法獲得相關明文。對于非法用戶是無法得到明文的,任何屬性不滿足訪問策略的用戶都無法得到C′1和C2,由于無法計算恢復e(g,g)αs,從而無法獲得明文。

在前后向安全性方面,當用戶撤銷某屬性時,TKA會更新用戶組屬性集合,然后更新相應的屬性組密鑰集合,通過重建信息頭來重加密密文,然后再重新生成和分發解密私鑰。此后,只有擁有該屬性的用戶才能訪問密文,沒有該屬性的用戶將無法得到任何信息。當有新的用戶加入時,TKA會更新用戶組屬性集合,CSP會根據新增用戶的屬性完成密文的重加密,此操作不會影響其他用戶的解密操作。綜上所述,CP-ABE-BPRE方案保證了數據的前后向安全性。

在解密私鑰暴露方面,隨著云計算的快速發展,通過移動設備來備份和訪問數據變得越來越便捷[18],同時也伴隨著各類隱私安全問題的出現。在文獻[9]的方案中,解密私鑰直接保存在用戶端,當解密私鑰被非法用戶獲取時,非法用戶可直接對密文進行解密操作。文獻[14]的方案中也引入了代理解密服務器來減少用戶的解密開銷,但代理解密服務器的解密私鑰由用戶端生成和分發,因此解密私鑰被盜取的危險依舊存在。文獻[17]中引入安全的兩方計算解決了用戶解密私鑰可能被盜取的問題,但用戶依舊存在解密開銷較大的問題。由于移動設備的隱私保護遠不如云存儲服務器[19],在CP-ABE-BPRE方案中,解密私鑰由兩部分組成,分別保存于CSP和DU處,當移動端的密鑰被非法盜取時,非法用戶并不能直接對CSP處的密文進行解密,從而有效地防止了用戶解密私鑰暴露的問題。

3.2 解密性能分析

在解密性能方面,將CP-ABE-BPRE方案與文獻[9,14,17]中方案進行比較,主要從是否支持屬性撤銷和用戶解密開銷兩方面進行比較。分析比較過程中使用的相關符號含義如表1所示。算法解密性能如表2所示。

1)支持屬性撤銷。

文獻[9]和文獻[14]不支持用戶屬性撤銷,本文CP-ABE-BPRE方案引入文獻[17]中介紹的基于屬性組的重加密方案,在云服務器端對用戶上傳的初始密文進行密文重加密操作,當用戶屬性發生變更時,數據屬主不需要重新加密數據再上傳云端,而是將此操作代理給云服務器,因此本文方案支持屬性撤銷。

2)用戶解密開銷。

首先從理論上進行分析,文獻[9]和文獻[17]的方案中,用戶在進行解密計算時,涉及到了大量的雙線性對的運算,且與用戶的屬性和訪問策略中的屬性個數|A|、門限個數SG以及與門個數ST相關,大量的計算必然會降低終端用戶訪問共享數據的用戶體驗。如表2所示,與文獻[9]和文獻[17]中方案相比,本文方案在傳統的CP-ABE方案的基礎上引入代理解密服務器,通過外包解密的方式,將1·th+(2|S|+2)tp+(2|S|+v)te+(2|S|+v-1)tm+1·td解密計算外包給PDS,用戶只需要完成固定的一次雙線性對的冪運算和除法運算便可解密獲得明文。而在文獻[9]和文獻[17]的方案中,用戶需要承擔全部的計算開銷。與文獻[14]的方案相比,雖然該方案也引入了代理解密服務器,但在解密過程中,解密服務器的解密密鑰由用戶分發,而在CP-ABE-BPRE方案中,代理解密服務器的解密密鑰由可信任授權中心分發,使得代理解密密鑰分發不會影響到解密階段用戶的解密開銷。因此,與文獻[9,14,17]中方案相比,在用戶解密開銷方面,CP-ABE-BPRE方案具有一定的優勢。

為了驗證理論分析結果,本文采用CP-ABE工具包和基于開源代碼庫的JPBC(Java Pairing-Based Cryptography library)進行仿真實驗,完成CP-ABE-BPRE方案與文獻[9,14,17]中方案的用戶解密開銷對比。為了達到80比特的安全等級,基于512比特的奇異曲線y2=x3+x,采用160比特的橢圓雙曲線群進行構建。仿真實驗是在64-bit Windows 10(3.1GHz的Intel Core i7-6500Ud的CPU處理器和8.0GB的RAM硬件)平臺下采用Java語言完成,所有的實驗數據是運行5次得到的平均值。

為了不失一般性和保證所有的密文成分在解密階段都能被計算,文章構建最壞情況下的訪問策略,即只包含“與”門,如att1 AND att2 AND … AND attN,其中每個atti表示一個屬性,N的取值從1到30,用戶解密開銷仿真實驗結果如圖2所示。

從圖2可知,CP-ABE-BPRE方案與文獻[14]方案在用戶解密開銷方面遠遠小于文獻[9]方案和文獻[17]方案,這是因為CP-ABE-BPRE方案和文獻[14]方案中大量的計算是由代理解密服務器完成,用戶的解密計算量是固定的,所以用戶在解密階段的開銷不會隨著屬性集合的增大而增大。CP-ABE-BPRE方案用戶解密開銷低于文獻[14]方案用戶解密開銷,這是由于文獻[14]方案中用戶分發代理解密密鑰會額外增加用戶的解密開銷。因此本文方案在用戶解密開銷性能上相比其他三種方案是最優的。通過前面理論和仿真實驗分析,可以看出CP-ABE-BPRE方案在支持用戶屬性靈活變更的同時降低了用戶的解密開銷,進一步說明了CP-ABE-BPRE方案更適用于資源受限的用戶終端環境。

綜上,與文獻[9]、[14]以及[17]的方案相比,本文提出的方案對訪問云數據的用戶無論是在解密性能方面還是在支持屬性靈活撤銷方面都具有較好的優勢。

4 結語

本文聚焦用戶解密開銷和屬性加密方案中如何支持用戶屬性靈活變更的問題,在傳統的CP-ABE的基礎上進行改進,提出了一種基于代理重加密的CP-ABE方案,引入了文獻[17]中的屬性組的概念來實現對密文的重加密,從而使得方案能夠較好地支持用戶屬性的靈活變更。此方案中密文解密私鑰由兩部分組成,分別保存于CSP和DU。由TKA生成分發給CSP和DU,PDS利用CSP向其發送的密鑰完成密文解密操作中的絕大多數計算,由DU利用自己的解密私鑰完成最終的解密計算。該方案在有效降低用戶解密開銷的同時還解決了云數據共享環境中移動終端因隱私保護缺陷而導致的用戶解密私鑰被盜問題。此外用戶的加密開銷和密文的大小也是屬性加密技術中備受關注的地方,在以后的工作中,期望可以通過降低系統的總解密開銷和密文大小來完善此方案。

參考文獻

[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]劉建,鮮明,王會梅,等.面向移動云的屬性基密文訪問控制優化方法[J].通信學報,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].通信學報,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.

猜你喜歡
訪問控制云存儲
電力通信運維系統中基于用戶可信度的訪問控制
云的訪問控制研究
云計算訪問控制技術研究綜述
基于云存儲的氣象數字化圖像檔案存儲研究
試論云存儲與數字版權的沖突、法制與協同
云存儲出版服務的版權侵權責任風險分析
云存儲技術的起源與發展
基于云存儲的數據庫密文檢索研究
淺析龍巖煙草業務數據與監控數據中的云存儲與大數據
淺談分層管控建立集團大廈內部網絡權限管理
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合