国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

支持用戶權限動態(tài)變更的可更新屬性加密方案

2020-06-09 00:52:44嚴新成賈洪勇王仲輝
計算機研究與發(fā)展 2020年5期
關鍵詞:私鑰密文解密

嚴新成 陳 越 巴 陽 賈洪勇 王仲輝

1(戰(zhàn)略支援部隊信息工程大學 鄭州 450001)2(鄭州大學軟件與應用科技學院 鄭州 450001)3(西部戰(zhàn)區(qū)陸軍參謀部附屬單位 蘭州 730030)

云計算技術的大規(guī)模應用使得存儲數據的隱私保護問題日益凸顯.隨著用戶對數據的安全性和訪問控制靈活性提出了更高要求,屬性加密技術在解決此類問題上發(fā)揮著越來越重要的作用.

在實際應用中,由于用戶權限具有動態(tài)變化的特性,用戶屬性發(fā)生變更或用戶退出系統(tǒng)時,進行用戶屬性撤銷或私鑰撤銷對于系統(tǒng)安全至關重要,這是屬性加密所必須解決的問題,也是研究的一個難點.通常的解決方法是將訪問策略中包含被撤銷屬性的所有密文進行更新,但存在計算及通信開銷較大的問題.比如,在系統(tǒng)運行過程中當出現大量用戶權限變更頻繁(如系統(tǒng)屬性撤銷、用戶屬性撤銷以及用戶退出、用戶私鑰泄露)時,密文更新帶來的巨大計算量易造成系統(tǒng)瓶頸.因此需要考慮一種高效的更新方法,在保證密文安全性的同時能夠以較低計算開銷來應對屬性撤銷或用戶私鑰撤銷.

1 相關工作

近年來,許多學者已經關注屬性基加密安全數據共享中屬性撤銷及用戶私鑰撤銷的需求,并在應對高效屬性撤銷及密文更新的問題上做了大量研究工作.

密文策略屬性加密中的屬性撤銷問題首次在文獻[1]中提出,需要用戶與屬性授權中心多次交互;文獻[2]在文獻[1]的基礎上為每個用戶和屬性添加截止日期,解決了密鑰多次協(xié)商問題.但要求保持用戶和授權中心實時在線;文獻[3]提出的方案限制了用戶剩余屬性的解密權限,不符合數據屬主設置訪問策略的初衷;文獻[4]通過實現用戶私鑰及密文同步更新來達到用戶屬性撤銷的目的,但訪問結構單一;文獻[5]未考慮系統(tǒng)屬性撤銷;文獻[6]在用戶屬性及用戶私鑰撤銷時均需要更新部分密文,計算開銷較大.

文獻[7]提出的屬性撤銷方案中公鑰參數與用戶數量線性相關,易造成公鑰參數過長;文獻[8]在實現屬性撤銷時只需進行密文密鑰部分更新,但用戶屬性撤銷實質上是移除被撤銷屬性對應的權限,剩余屬性權限應保留,此時可以通過直接更新用戶私鑰的方式實現;文獻[9]基于shamir秘密共享及訪問樹結構提出了屬性撤銷方案,但在秘密共享的效率上低于線性秘密分享方案(linear secret sharing scheme, LSSS)[10];文獻[11]基于文獻[12]構造免密鑰托管的密鑰產生協(xié)議,但要求用戶屬性撤銷后不具備任何訪問權限,這和實際情況不相符,且方案不能支持高效的系統(tǒng)屬性撤銷.

文獻[13]在撤銷屬性過程中采用懶惰重加密技術更新密文,計算及通信開銷較大;文獻[14]利用代理重加密技術將屬性撤銷實現系統(tǒng)屬性撤銷,但未給出用戶屬性撤銷及用戶私鑰撤銷算法;文獻[15]提出的方案在密鑰維護代價方面有待改進,需要考慮如何降低密鑰更新的工作量以及實現屬性直接撤銷;文獻[16]利用屬性組的概念有效地解決了屬性撤銷的問題,但組管理器需要更新其他用戶的密鑰;文獻[17]提出一種支持關鍵字搜索與屬性撤銷的屬性加密方案,可以在分布式多屬性授權中心下實現細粒度的搜索授權;文獻[18]通過設置代理解密密鑰列表實現用戶私鑰撤銷,但未給出屬性撤銷的實現方法;文獻[19]能夠實現屬性級用戶撤銷,但需要將被撤銷屬性對應的密文進行更新,若訪問策略涉及被撤銷屬性的密文數量較多時,云端密文更新計算開銷過大.

文獻[20]中,中央控制在解密過程中通過直接拒絕為撤銷列表中的用戶返回中間密文達到撤銷用戶的目的.雖然所構造方案利用安全兩方計算技術解決了密鑰托管問題,但此時密文的安全性過度依賴于中央控制的可靠性,被撤銷用戶若通過某種手段獲取密文后仍然具備密文解密能力,因此降低了存儲密文的安全性;文獻[21]通過對被撤銷屬性對應的密文進行更新實現用戶屬性撤銷;文獻[22]利用屬性撤銷加密原語和Merkle散列樹來實現細粒度的訪問控制和可驗證的數據刪除;文獻[23]提出了LU-MA-ABE(large universe and multi-authority attribute-based encryption)方案,同時支持解密外包,屬性撤銷以及策略更新;文獻[24]在霧計算系統(tǒng)中提出基于多授權中心屬性簽密的數據訪問控制方案(data access control scheme based on multi-auth-ority attribute-based signcryption with computation outsourcing and attribute revocation, OMDAC-ABSC),支持匿名身份認證,屬性撤銷以及公開驗證.但上述文獻并未就系統(tǒng)屬性撤銷及用戶私鑰撤銷展開研究.

通過上述國內外相關研究進展分析,現階段實現支持間接屬性撤銷的用戶權限變更主要依賴于密文密鑰的更新.雖然基于屬性版本密鑰更新可以實現相關密文密鑰的同步演化,避免數據重加密的帶來的計算開銷,但對于用戶屬性撤銷而言,若數據中心包含大量涉及被撤銷屬性的密文,則計算代價過高.本文基于密文策略屬性加密展開研究,通過為用戶及屬性設置版本密鑰,設計支持高效用戶屬性撤銷、用戶私鑰撤銷及系統(tǒng)屬性撤銷的數據外包密文策略屬性加密方案,即SDCUR-UABE(updatable attribute-based encryption scheme supporting dynamic change of user rights),由此實現高效的用戶權限動態(tài)變更,并利用密鑰分割技術將數據解密外包來降低用戶解密開銷.

2 預備知識

2.1 雙線性映射

假設G0,G1是2個階為大素數p的乘法循環(huán)群,雙線性映射e:G0×G0→G1具有3個性質:

1) 雙線性性.對任意g1,g2∈G0以及a,b∈p,都有

2) 非退化性.存在g0∈G0,使得e(g0,g0)≠1.

3) 可計算性.對任意g1,g2∈G0,存在多項式時間算法計算e(g1,g2).

2.2 線性秘密共享方案(LSSS)

每一個單調的布爾表達式都可以轉化為一個等價的LSSS秘密共享方案[21],一個參與方集合Q上的LSSS秘密共享矩陣是p域上線性的,如果它具有2個性質:

2) 秘密共享方案存在一個共享生成矩陣Ml×m,對所有i=1,2,…,l,M的第i行Mi被標識為參與方ρ(i)(ρ:{1,2,…,l}→Q),同時有列向量v=(s,r2,r3,…,rm)T,其中s∈p是將要共享的秘密值,而r2,r3,…,rm∈p是隨機數.則向量M·v為秘密s的l個共享子秘密,且(M·v)i屬于ρ(i).

假定一個LSSS秘密共享方案的訪問結構為Λ.令S∈Λ為一個授權屬性集合,定義I?{1,2,…,l}且I={i:ρ(i)∈S}.存在常量{ωi∈p}i∈I對任意合法共享秘密{λi},有其中ε=(1,0,…,0).這些常量值{ωi}可以在與共享生成矩陣M的大小相關的多項式時間內計算出來,而對于未授權的集合,這些常量值不存在.

2.3 判定性q-Parallel BDHE假設

選擇一個階為大素數p的群G0,其生成元為g.隨機選取a,s,b1,b2,…,bq∈p,給定敵手參數:

y=(g,gs,ga,…,g(aq),g(aq+2),…,g(a2q),

?1≤j≤q:gs bj,gabj,…,g(aqbj),g(aq+2bj),…,

g(a2qbj),

?1≤j,k≤q,k≠j:ga s bkbj,ga2s bkbj,…,

g(aq s bkbj)),

對于敵手而言,區(qū)分e(g,g)aq+1s∈G1和G1中的某個隨機元素R是困難的.

3 SDCUR-UABE方案設計

3.1 系統(tǒng)模型

本文提出的SDCUR-UABE方案系統(tǒng)模型如圖1所示.系統(tǒng)主要由屬性授權中心(attribute auth-ority, AA)、云存儲服務器(cloud storage server, CSS)、代理解密服務器(proxy decryption server, PDS)、數據屬主(data owner, DO)和數據用戶(data user, DU)5個部分組成,分別提供密鑰生成、密文存儲、代理解密、數據加密和數據解密服務.DO可通過終端進行數據加密并上傳至CSS,而DU可通過云端下載數據并解密.在數據解密時,系統(tǒng)將計算開銷較大的部分運算外包給代理解密服務器來降低DU計算開銷.由于代理解密服務器和云服務商是誠實并好奇的,它們既會誠實地按照指示正確地執(zhí)行步驟,也會出于好奇在工作過程中窺探用戶數據隱私.因此在方案設計中,代理服務器所持有的代理解密密鑰并不能將密文還原成明文,而用戶上傳的數據在云存儲服務器中也始終以密文形式存儲.各參與方的職責在3.2節(jié)方案構建中進行具體描述.

Fig. 1 System model of SDCUR-UABE圖1 SDCUR-UABE方案系統(tǒng)模型

3.2 方案構建

定義雙線性映射e:G0×G0→G1以及散列函數H1:{0,1}*→G0.其中,{0,1}*代表任意長度的二進制串.本文方案包含5個階段:

1)Setup(λ,U)→(PK,MK,PKx).

初始化過程,由屬性授權中心執(zhí)行.輸入為安全參數及全局描述.為覆蓋最一般的情形,令U={0,1}*,隨機選擇α,a,β∈p,設置主私鑰MK=(β,gα),公開參數PK=(g,e(g,g)α,ga,H1).屬性授權中心為系統(tǒng)屬性集中的每個屬性x設置屬性版本Vx∈p(可以與時間相關)以及公開屬性密鑰PKx=gVx.

2)KeyGen(MSK,S)→(SK,TK).

密鑰產生過程,由屬性授權中心執(zhí)行.選擇隨機的變量t,z∈首先設置轉換密鑰

TK=(PK,L=gβ t z,
{Kx}x∈S={(H1(x)×gVx)β t z}x∈S).

然后設置用戶版本密鑰VKu=gα βgat以及用戶私鑰SK=(z,TK).

3)Encrypt(PK,m∈{0,1}k,(M*,ρ))→CT.

數據加密階段,由數據屬主執(zhí)行.輸入為公開參數PK以及消息m.此外,輸入LSSS類型的訪問策略(M,ρ),函數ρ將矩陣M的每一行映射到一個屬性,其中M是一個l×n的矩陣.算法隨機選擇列向量v=(s,r2,r3,…,rn)∈用于共享秘密s.對于所有的i=1,2,…,l,有λi=(M·v)i,其中Mi是矩陣M的第i行.另外,算法隨機選擇變量r1,r2,…,rl∈p,產生密文CT=(C,C′,(Ci,Di)),其中:

C=m×e(g,g)αs,

(1)

C′=gβ s z,

(2)

(Ci,Di)=((C1=ga λ1×(H1(ρ(1))×gVρ(1))-r1,
D1=gr1),…,(Cl=ga λl×(H1(ρ(l))×gVρ(l))-rl,
Dl=grl))

(3)

以及對訪問矩陣的描述(M,ρ).

4)Transform(TK,CT)→parCT.

代理解密階段,由代理解密服務器運行.算法輸入為某個屬性集合S對應的TK=(PK,L,{Kx}x∈S),以及對應于(M,ρ)的密文CT=(C,C′,(Ci,Di)).若屬性集合S不滿足設定的訪問結構,則輸出⊥.若滿足,則定義集合I={i:ρ(i)∈S},且滿足I?{1,2,…,l}.存在常量{ωi∈p}i∈I,對任意合法共享秘密份額{λi},都有成立.計算半解密密文為

(4)

5)UserVerandDec(C′,VKu,parCT)→CT′.

用戶驗證階段,由屬性授權中心執(zhí)行,輸入為密文構件C′,用戶版本密鑰VKu及半解密密文parCT并計算:

CT′=e(C′,VKu)parCT=
e(gβ s z,gα βga t)e(g,g)a t β s z=e(g,g)α s z.

(5)

6)Decrypt(SK,CT′)→m.

數據解密階段,客戶端執(zhí)行,輸入為用戶私鑰及半解密密文并計算:

m′=CCT′SKu=m×e(g,g)αs(e(g,g)αs z)z=m.

(6)

3.3 用戶權限變更

用戶權限變更包括用戶屬性撤銷、系統(tǒng)屬性撤銷以及用戶私鑰撤銷3種情況,相對應的用戶權限的變化情況分析為:用戶某屬性因為到期或者其他原因被撤銷時,不能影響該用戶剩余屬性集的解密能力以及擁有該屬性的其他用戶的解密權限;撤銷系統(tǒng)某屬性影響擁有該屬性的所有用戶的解密能力,同時需要對訪問策略涉及該屬性的所有密文進行更新;用戶私鑰撤銷即撤銷該用戶的所有訪問權限(可以看做是用戶屬性撤銷的特殊情形,等價于撤銷該用戶所有屬性).

3.3.1 用戶屬性撤銷

TK′=(PK,L=gβ t z,{Kx}x∈S).

(7)

對于?x∈S,x≠att,有:

{Kx}x∈S={(H1(x)×gVx)β t z}x∈S;

(8)

對于x=att,有:

(9)

由于用戶屬性撤銷而非私鑰撤銷,因此用戶A剩余屬性集的解密能力以及擁有該屬性的其他用戶的解密權限不變,此時無需更新用戶版本密鑰.為保證密文的前向安全性,可以從3個方面討論方案正確性.

1) 撤銷att前可解密,撤銷之后亦可解密.

由代理解密過程知,在半解密密文parCT以及CT′=e(C′,VKu)parCT計算過程中,私鑰分量TK的更新只影響中的計算,即由LSSS秘密共享方案知,若剩余屬性集合仍滿足訪問結構(即(M,ρ)),則存在常量{ωi∈p}i∈I使得即不影響后續(xù)解密.

2) 撤銷att前可解密,撤銷之后不可解密.

同理,若撤銷att前可解密,說明在上述過程中最后環(huán)節(jié)存在常量{ωi∈p}i∈I使得而撤銷屬性att后(可能是關鍵屬性),使得剩余屬性集合不滿足訪問矩陣,因此不存在常量{ωi∈p}i∈I來恢復共享秘密s.上述情形成立.

3) 撤銷att前不可解密,撤銷之后不可解密.

同理,若撤銷att前不可解密,說明在上述過程中最后環(huán)節(jié)不存在常量{ωi∈p}i∈I來恢復共享秘密s.由于訪問結構的單調性,顯然撤銷屬性att后剩余屬性集合仍不滿足訪問矩陣,即無法完成解密.上述情形成立.

用戶屬性撤銷過程可由屬性授權中心獨立完成,只需對用戶私鑰的部分構件進行更新即可,無需對其他用戶私鑰對應的轉換密鑰以及訪問策略涉及被撤銷屬性的密文進行更新,能夠極大降低因用戶屬性撤銷引起的權限變更的相關計算開銷.

3.3.2 系統(tǒng)屬性撤銷

系統(tǒng)屬性撤銷和用戶屬性撤銷類似.由于系統(tǒng)屬性撤銷涉及包含該屬性的所有用戶,因此對相應的用戶需要分發(fā)新的私鑰分量TK,同時對訪問矩陣中涉及被撤銷屬性的密文進行更新.

需要說明的是系統(tǒng)屬性撤銷后,在訪問策略不變的情形下,包含被撤銷屬性的用戶解密權限降低,可能會背離數據屬主定義策略的初衷,但通過本節(jié)提出的屬性撤銷算法,能夠在保證已有密文的前向安全性基礎上保留數據屬主原有訪問策略的可解密用戶范圍,而非簡單地將撤銷屬性的部分構件去掉.應滿足:之前有屬性att且可不可訪問的,撤銷att后還能不可訪問;對于之前沒有att且可訪問不可訪問的用戶,在系統(tǒng)屬性att撤銷后仍能保持原有權限.此時用戶版本密鑰無需更新.

這里,通過對轉換密鑰和涉及被撤銷屬性的密文中屬性版本的更新,實現系統(tǒng)屬性撤銷,保證撤銷前密文的前向安全性.具體過程為:

撤銷系統(tǒng)某屬性att時(對應屬性版本為Vatt),

TK′=(PK,L=gβ t z,{Kx}x∈S).

(10)

對于?x∈S,x≠att,有:

{Kx}x∈S={(H1(x)×gVx)β t z}x∈S;

(11)

對于x=att,有:

(12)

C=m×e(g,g)αs,C′=gβ s z.

(13)

?ρ(i)≠att,

(Ci,Di)=(Ci=ga λi×(H1(ρ(i))×
gVρ(i))-ri,Di=gri);

(14)

?ρ(i)=att,

(15)

系統(tǒng)屬性撤銷過程需要為擁有待撤銷屬性的用戶進行代理解密密鑰部分更新,并為訪問策略中包含待撤銷屬性的密文進行相應更新.但通過本節(jié)提出的屬性撤銷算法,能夠在保證已有密文的前向安全性基礎上保留數據屬主原有訪問策略的可解密用戶范圍.為實現上述目標,可從4個方面討論方案正確性.

1) 用戶持有屬性att,撤銷前可解密,撤銷之后亦可解密.

撤銷系統(tǒng)屬性att之前,轉換密鑰TK為

TK=(PK,L=gβ t z,
{Kx}x∈S={(H1(x)×gVx)β t z)x∈S.

(16)

(17)

同時升級密文構件,即?ρ(i)=att,

(18)

由于轉換密鑰和密文中涉及att的構件是同步更新,因此保證了系統(tǒng)屬性att撤銷之后擁有屬性att且撤銷前可解密的用戶仍然能夠解密密文.

2) 用戶持有屬性att,撤銷前不可解密,撤銷之后亦不可解密.

同理,撤銷系統(tǒng)屬性att之后,上述情形用戶私鑰對應的轉換密鑰中涉及att的構件以及密文中包含att的構件為同步更新,在系統(tǒng)屬性撤銷前該類型用戶不具備解密條件,撤銷之后仍然不具備解密條件.

3) 用戶屬性集不包含att,撤銷前可解密,撤銷之后亦可解密.

4) 用戶屬性集不包含att,撤銷前不可解密,撤銷之后亦不可解密.

同理可以說明,系統(tǒng)屬性att撤銷前后上述用戶解密權限不變.

3.3.3 用戶私鑰撤銷

當系統(tǒng)中某些用戶被判定為“惡意用戶”或者某些用戶因其他原因退出系統(tǒng)時,需要通過撤銷該用戶私鑰以保證該用戶可解密密文的安全性.

4 安全性分析

4.1 安全模型

階段2.重復階段1的私鑰詢問過程,其中問詢的屬性集合Sq1+1,Sq1+2,…,Sq對應的私鑰均不滿足要挑戰(zhàn)的訪問結構M*.

|Pr[b′=b]-12|.

(19)

定義1.SDCUR-UABE方案是安全的,如果在多項式時間內沒有敵手能夠以不可忽略的優(yōu)勢贏得上述游戲.

4.2 安全性證明

定理1.若判定性q-Parallel BDHE假設成立,那么沒有多項式時間的敵手能夠選擇性地攻破本文提出的SDCUR-UABE方案,其中挑戰(zhàn)矩陣為M*,大小為l*×n*,其中l(wèi)*,n*≤q.

(20)

如果X=?,則設置hx=gzx.由于zx是隨機選取的,因此上述參數是隨機分布的.

模擬器首先選擇一個隨機值r∈p,并找到一個向量ω=(ω1,ω2,…,ωn*)∈使得ω1=-1并且對于滿足ρ*(i)∈S所有的i,都有由LSSS定義知這樣一個向量必然存在.注意若這樣一個向量不存在,則向量(1,0,…,0)為屬性集S的長度.模擬器設置

(21)

即t=(r+ω1aq+ω2aq-1+…+ωn*aq-n*+1)β.通過對t進行定義,可以看到gat包含代數式項g-aq+1β,在創(chuàng)建VKu的過程中可以通過與gα β=gα′β·gaq+1β進行乘法運算消去.

模擬器計算VKu:

(22)

對于?x∈S來計算Kx.如果不存在i滿足ρ*(i)=x,可令Kx=Lzx×LVx.對于x∈S且x在訪問結構中出現的情形,必須保證gaq+1bi形式的項都能夠被模擬.此外,有因此這些項都能夠消去.

仍然令X是滿足ρ*(i)=x這一條件的i的集合,模擬器創(chuàng)建Kx:

(23)

(24)

(25)

(26)

證畢.

定理2.本文提出的SDCUR-UABE方案中設置的代理解密服務器不影響方案的安全性,且該方案能夠抵抗用戶與代理解密服務器之間的合謀攻擊.

證明. 首先,方案中設置的代理解密服務器所持有的代理解密密鑰TK為半解密密鑰,其密鑰構件L=gβ t z及{Kx}x∈S={(H1(x)×gVx)β t z}x∈S與屬性授權中心執(zhí)行密鑰產生算法所選擇隨機的變量t,z∈有關.進行代理解密時生成的半解密密文e(g,g)at β s z對于非授權用戶而言仍以密文形式存儲,因而在降低合法用戶解密開銷的同時保證了密文的安全性.

考慮多個用戶及代理解密服務器之間進行合謀的場景.正常進行代理解密計算過程為

(27)

(28)

由于用戶各自持有的私鑰為不同的隨機變量zi且變量t在用戶私鑰生成時隨機選取,此時無法將表達式e((H1(ρ(i))×gVρ(i)),g)βriωi(-t z+t′z′)消去,因此在計算過程中各自屬性集不滿足訪問策略的合謀用戶之間無法利用其他用戶私鑰對應的TK密鑰(代理解密服務器持有)構件完成代理解密過程,即合謀攻擊失敗.

證畢.

5 性能分析及實驗驗證

5.1 理論分析

本節(jié)對SDCUR-UABE方案在數據加解密、用戶屬性撤銷、系統(tǒng)屬性撤銷以及用戶私鑰撤銷過程的計算開銷進行分析.定義符號含義如表1所示:

Table 1 Symbols and Meanings表1 符號及含義

由于方案將大量的解密運算外包給CSS,用戶解密時只需1次冪運算即可.綜上,用戶加密計算開銷為(|Ap|+3)exp,解密過程計算開銷為exp.

若撤銷用戶A某屬性att,首先在用戶私鑰對應的轉換密鑰的更新階段,授權中心AA首先更新屬性密鑰需要一次冪操作,代理解密服務器使用更新密鑰更新轉換密鑰只需要一次乘法操作即可完成.由3.3.1節(jié)分析可知,此時無需更新密文.

撤銷系統(tǒng)某屬性att時,需要對所有訪問策略涉及att的密文進行更新.本文系統(tǒng)屬性撤銷過程中AA更新屬性密鑰需要一次冪操作,然后為訪問策略里包含屬性att的密文生成一個升級密鑰CUK需要1次冪操作,此時AA計算開銷為2exp;接下來代理解密服務器使用更新密鑰為屬性集包含被撤銷屬性的所有用戶更新相應的轉換密鑰(每次更新只需要一次乘法操作即可完成),計算開銷可記為|ASatt|×c;此外,在保證已有密文的前向安全性基礎上為保留數據屬主原有訪問策略的可解密用戶范圍,需要云存儲服務器對密文訪問結構中涉及被撤銷屬性的所有用戶更新密文構件(根據獲得的升級密鑰更新一次密文只需要一次乘法操作即可完成),計算開銷為|CTatt|×c.

Table 2 Comparison of Security and Computation Cost in User Attribute Revocation表2 安全性及用戶屬性撤銷過程計算開銷對比

Table 3 Comparison of Computation Cost in System Attribute Revocation and User Private Key Revocation表3 系統(tǒng)屬性撤銷及用戶私鑰撤銷過程計算開銷對比

由表2、表3的對比結果可知,文獻[4]缺乏解密外包機制導致用戶解密計算開銷較大,且在用戶屬性撤銷時需要將未被撤銷屬性的用戶私鑰和所有訪問策略涉及被撤銷屬性的密文進行更新;類似地,文獻[5,8,11,13-15]均存在用戶解密開銷大的問題,一方面在用戶屬性撤銷時需要同時更新密文密鑰,另一方面沒有考慮到用戶權限變更中的系統(tǒng)屬性或者用戶私鑰撤銷情形.文獻[20]將解密運算過程中復雜的雙線性配對運算外包給云服務商來提高解密效率,但用戶屬性撤銷實質是被撤銷屬性對應權限的移除,剩余屬性權限應當保留,此時可以通過直接更新用戶私鑰的方式實現,在計算開銷上優(yōu)于“通過計算更新密鑰對不包含被撤銷屬性的用戶密鑰與包含被撤銷屬性的密文進行更新”實現的用戶屬性撤銷.

5.2 實驗驗證

通過理論分析,本文在加解密功能實現和用戶權限變更的效率上具有較大優(yōu)勢.為了對方案的實際性能進行評估,本節(jié)在密鑰生成、數據加密、代理解密以及用戶解密4個方面與VFO-CP-ABE(fully outsourced ciphertext-policy attribute-based encryp-tion with verifiability)方案[25]進行計算時間的仿真實驗測試對比.該方案是一種支持可驗證的完全外包密文策略屬性基加密方案,能夠同時實現密鑰生成、數據加密以及解密階段的外包計算功能,解決上述各階段需要大量計算資源的問題,對于計算資源有限的用戶優(yōu)勢更為明顯.實驗環(huán)境描述如下:

Fig. 2 Comparison of computation cost for key steps of SDCUR-UABE圖2 SDCUR-UABE方案中關鍵步驟計算開銷對比

Windows 64 b操作系統(tǒng)、Intel?CoreTMi7-4770 CPU (3.4 GHz)、內存12 GB、基于JPBC(Java pairing-based cryptography)庫進行實驗代碼的編寫.

在參與對比方案的具體實現過程中使用(att1ANDatt2AND … ANDattn)形式的訪問策略進行測試,其中atti代表屬性.參與測試的屬性數量每次以10遞增,選取從10~100共10種訪問策略.對于每種策略重復進行多次獨立測試,去掉最高值與最低值后取剩余數據平均值作為本次測試對象的實驗結果.

實驗測試結果如圖2所示,圖2(a)~(d)分別展示了SDCUR-UABE方案與VFO-CP-ABE方案在密鑰生成、數據加密、代理解密以及用戶解密4個方面的計算開銷對比.由于VFO-CP-ABE方案中轉換密鑰TK和取回密鑰RK由解密用戶進行KeyBlind(SK)運算產生,而本文所提方案中轉換密鑰的產生由屬性授權中心產生,無需用戶參與.這里將KeyBlind(SK)過程開銷計入密鑰產生階段的總開銷.從實驗結果來看,在密鑰生成階段本文提出的SDCUR-UABE與VFO-CP-ABE計算開銷相近;在加密階段SDCUR-UABE方案的開銷隨訪問策略中的屬性數量增加而增大,而VFO-CP-ABE進行加密外包.解密過程包括代理服務器進行部分解密和數據用戶解密2個階段.該過程中2個方案的計算開銷都較小,但從結果來看SDCUR-UABE方案更有優(yōu)勢.整體來說,本文提出的方案能夠滿足實際需求,且在解密運算上具有較高的效率.

討論用戶屬性撤銷過程的計算開銷.這里主要對涉及相關運算的屬性授權中心和云存儲服務器的計算開銷進行測試.由表3分析結果可知,選取用于對比的LU-MA-ABE方案[23]和OMDAC-ABSC方案[24]均支持高效屬性撤銷.用戶屬性撤銷時,LU-MA-ABE和OMDAC-ABSC方案中無需代理服務器參與運算,而本文中分析代理服務器的開銷為常數(如乘法運算等),計算量較小,在實驗仿真中開銷可忽略.

需要說明的是LU-MA-ABE方案在每次進行屬性撤銷時候需要對新選取的屬性組密鑰進行被撤銷屬性的最小覆蓋集(minimum covering set, MCS)元素個數次的對稱加密.根據其定義的用于屬性組密鑰分發(fā)的二進制狀態(tài)樹,最小覆蓋集元素個數NMCS為樹的高度h,即NMCS=h.在實驗過程中選取的對稱加密密鑰長度為128 b,并基于sun.misc.BASE64Encoder和sun.misc.BASE64Decoder實現對屬性組密鑰的對稱加解密.LU-MA-ABE和OMDAC-ABSC方案中屬性授權中心的計算開銷分別依賴于二進制狀態(tài)樹的高度和門限值的大小,這里選取從1~10共10種不同的變化(遞增值為1);而云存儲服務器進行密文更新過程計算開銷分別依賴于訪問結構中涉及的屬性數量以及訪問結構中涉及被撤銷屬性的密文數量,這里選取從10~100共10種不同的變化(遞增值為10).

用戶屬性撤銷過程中AA的計算開銷實驗對比結果如圖3(a)所示.由于LU-MA-ABE方案需要對屬性組密鑰進行加密,計算開銷較大,且隨著狀態(tài)樹的高度增加呈線性增長;OMDAC-ABSC方案中AA主要進行冪運算,相對LU-MA-ABE方案開銷較小,但也隨著門限值的增加而增大.而本文中用戶屬性撤銷時AA只需要進行固定次數的冪運算,因此計算開銷較小.從實驗結果來看,測試的相關參與方的計算開銷和理論分析一致.圖3(b)展示了該過程中云存儲服務器CSS的計算開銷對比,其中本文提出的SDCUR-UABE方案無需對密文進行更新,因此在用戶屬性撤銷中更為高效.

Fig. 3 Comparison of computation overhead in user attribute revocation圖3 用戶屬性撤銷過程計算開銷對比

Fig. 4 Computation overhead in system attribute revocation圖4 系統(tǒng)屬性撤銷過程計算開銷

圖4和圖5分別展示了SDCUR-UABE方案在系統(tǒng)屬性撤銷和用戶私鑰撤銷時的計算開銷的仿真實驗結果.由于大部分方案并未在用戶屬性撤銷的同時對系統(tǒng)屬性撤銷和用戶私鑰撤銷展開討論,因此這里只是對本文提出的方案在系統(tǒng)屬性撤銷和用戶私鑰撤銷過程的性能進行測試和說明.從表3的理論分析可以看出,在這2個階段中,AA均只需要進行固定次數的冪運算,計算開銷較??;而代理服務器和云存儲服務器在用戶私鑰撤銷時無需參與運算,在系統(tǒng)屬性撤銷時候只需要進行固定次數的乘法運算,計算開銷可以忽略.從仿真實驗結果來看,SDCUR-UABE方案在計算性能上能夠滿足系統(tǒng)屬性撤銷和用戶私鑰撤銷的實際需求,且具有較高的效率,能夠有效應對加密云存儲中頻繁的用戶權限變更的情形.

Fig. 5 Computation overhead in user private key revocation圖5 用戶私鑰撤銷過程計算開銷

6 結束語

針對云存儲系統(tǒng)中因用戶權限動態(tài)變更帶來的密文密鑰更新計算開銷過大等問題,本文在密文策略屬性加密的基礎上通過構造屬性版本密鑰和用戶版本密鑰設計了SDCUR-UABE方案.撤銷用戶屬性時,無需對其他用戶私鑰及訪問策略中涉及被撤銷屬性的密文進行更新,有效降低了密鑰授權中心與云存儲服務器的計算開銷;撤銷系統(tǒng)屬性時,通過更新屬性版本密鑰并生成轉換密鑰及密文更新所需要的更新密鑰,實現對密文密鑰關鍵構件的可替換更新,有效解決了通用方法中基于密鑰分發(fā)和重加密實現密文密鑰更新帶來的計算開銷大的問題以及未能保證密文前向安全性問題;撤銷用戶私鑰時,只需要將用戶版本密鑰進行更新,無需更新密文,避免了存儲密文重加密帶來的巨大計算及通信開銷.此外,方案在設計過程中將解密運算開銷較大的部分外包給代理解密服務器,在保證數據安全性的前提下降低了客戶端的解密運算開銷.理論分析及實驗驗證表明,本文提出的SDCUR-UABE方案能夠實現用戶屬性、系統(tǒng)屬性以及用戶私鑰的高效撤銷,同時保證密文的前后向安全性和用戶解密的高效性,從而有效解決了屬性基加密云存儲系統(tǒng)中因用戶權限動態(tài)變更所導致的密文密鑰更新計算開銷過大等問題.

猜你喜歡
私鑰密文解密
解密“熱脹冷縮”
一種針對格基后量子密碼的能量側信道分析框架
一種支持動態(tài)更新的可排名密文搜索方案
比特幣的安全性到底有多高
基于模糊數學的通信網絡密文信息差錯恢復
基于改進ECC 算法的網絡信息私鑰變換優(yōu)化方法
解密“一包三改”
少先隊活動(2020年9期)2020-12-17 06:17:31
炫詞解密
一種基于虛擬私鑰的OpenSSL與CSP交互方案
云存儲中支持詞頻和用戶喜好的密文模糊檢索
银川市| 奉新县| 东丽区| 建德市| 定襄县| 察哈| 陆丰市| 许昌县| 阿巴嘎旗| 谢通门县| 五河县| 千阳县| 卫辉市| 察隅县| 黑河市| 湖南省| 红河县| 朔州市| 巨鹿县| 齐河县| 芦山县| 大方县| 灵台县| 元谋县| 拉孜县| 马边| 华池县| 德格县| 神农架林区| 鹤山市| 三亚市| 新安县| 抚顺县| 林芝县| 岳西县| 韶关市| 博乐市| 阜南县| 霍山县| 卢氏县| 大悟县|