?

面向云存儲的支持完全外包屬性基加密方案

2019-02-20 08:47趙志遠王建華徐開勇郭松輝
計算機研究與發展 2019年2期
關鍵詞:敵手私鑰密文

趙志遠 王建華, 徐開勇 郭松輝

1(中國人民解放軍信息工程大學 鄭州 450001)2 (空軍電子技術研究所 北京 100195)

云存儲是基于云計算建立起來的一種新型的網絡存儲技術,其可以為數據用戶提供“無限”的存儲空間[1].當用戶將數據資源上傳至云存儲系統后,其將失去對數據的實際控制,尤其對于敏感的數據資源,數據擁有者應該能夠控制數據的訪問權限.因此,將數據加密處理并設計靈活細粒度的訪問控制機制對于保護云存儲系統中數據資源的安全至關重要.屬性基加密(attribute based encryption, ABE)[2]作為一種公鑰密碼原語,可以為云存儲系統提供靈活細粒度的訪問控制,對于保護云中數據資源安全發揮重要作用.依據訪問策略位置的不同,可以將ABE分為密鑰策略屬性基加密(key-policy ABE,KP-ABE)方案[3]和密文策略屬性基加密(ciphertext-policy ABE, CP-ABE)方案[4].ABE概念提出后,相關學者提出大量研究工作[5-7].

隨著移動互聯網和移動智能終端的快速發展,使用移動終端訪問云存儲系統中的數據成為一種趨勢,而移動智能終端受限的計算資源和電量資源致使其不能承載過大的計算負擔和通信負擔.傳統的屬性基加密在私鑰生成、數據加密和解密階段往往需要大量的計算,且計算量與屬性集合或訪問策略復雜度呈線性增長關系,這將給屬性授權機構和移動終端帶來嚴重的計算負擔和電量損耗.為解決該問題,相關學者提出外包ABE方案[8-10].即,在保證數據機密性的情況下將部分計算外包給云服務商,而屬性授權機構和移動終端只需要少量的計算即可.

Green等人[11]提出一種解密運算外包ABE方案,該方案在解密過程中首先將密文傳送給解密外包服務器,解密外包服務器對密文進行一次密文轉換獲得中間密文再傳送給用戶,達到降低本地解密計算量的目的.王皓等人[12]在給出外包ABE方案的形式化定義后,構造了一個具體的外包CP-ABE方案.該方案在標準模型下基于雙系統加密技術證明了方案是自適應安全,但該方案效率較低.Lai等人[13]所提方案在實現外包解密的同時,支持了外包計算的正確性驗證.Li等人[14]通過MapReduce實現了ABE數據加密的外包計算,且該方案支持樹形訪問策略,具有豐富的表達能力,但該方案沒有考慮外包解密計算.

Li等人[15]提出一種支持私鑰生成和解密計算外包的ABE方案,但該方案不能驗證外包計算結果的正確性.Zhou等人[16]提出一種同時支持加密和解密計算外包ABE方案.該方案將訪問策略分成“AND”門連接的2部分子訪問策略,然后將一部分訪問策略的加密任務外包給加密服務提供商,用戶只需完成一個屬性的加密任務,通過該方法隱藏隨機盲化因子s.但該方案只支持根節點為“AND”門的訪問策略樹;另外,該方案支持解密計算外包.Li等人[17]提出一個支持私鑰生成和解密外包的ABE方案.該方案雇傭2個密鑰生成服務提供商,共同幫助屬性授權機構完成私鑰生成工作.Fan等人[18]提出一種可驗證外包的多授權訪問控制方案.該方案將大部分加密和解密計算任務外包給霧節點,以減輕用戶的計算負擔.同時該方案能夠驗證外包計算結果的正確性.Li等人[19]提出一種新奇的可驗證外包解密ABE方案.該方案的密文長度與訪問策略復雜度無關,但該方案只支持解密計算外包,且訪問策略的表達能力有限.

上述方案都沒有實現完全外包,即將私鑰生成、加密和解密計算同時外包給第三方.Zhang等人[20]提出一種完全外包CP-ABE方案,即將密鑰產生、加密和解密都外包給云服務商,并且完成了方案的安全性證明.但該方案無法驗證外包計算結果的正確性,而可驗證性對于云存儲系統應用至關重要.

針對上述問題,本文提出一種支持可驗證的完全外包CP-ABE方案.該方案可以同時實現密鑰生成、加密和解密的計算外包,并且其能夠驗證外包計算結果的正確性.具體來說,屬性授權機構雇傭2個不能合謀的密鑰生成云服務商生成中間私鑰ISKx,其中x={1,2}.然后屬性授權機構根據ISKx只需簡單計算便可完成私鑰生成工作;本文引入一個缺省屬性ξ重新構造訪問策略完成加密外包工作;通過私鑰SK重新構造轉換密鑰TK和取回密鑰RK,然后解密云服務商通過TK完成密文的部分解密工作;另外,通過2個雜湊函數完成外包計算結果的正確性驗證.該方案可以有效減輕屬性授權機構和用戶的計算負擔.本文基于決策性q-BDHE(q-bilinear Diffie-Hellman exponent)假設在隨機預言機模型下證明了所提方案的選擇明文攻擊的不可區分安全性,提供了所提方案的可驗證性證明.最后,理論分析與實驗驗證表明所提方案在功能性和效率方面具有優勢,更加適合實際應用情況.

1 理論基礎知識

本節主要介紹文中所需的相關技術,包括雙線性群、線性秘密共享方案和決策性q-BDHE假設.

1.1 雙線性群

雙線性群是密碼系統中重要的關鍵技術.令ψ是一個群生成算法,其以安全參數λ作為輸入,輸出(p,G,GT,e).其中p是由安全參數λ決定的素數,G和GT是階為素數p的循環群.雙線性映射e:G×G→GT滿足下列性質:

1) 雙線性.對于?u,v∈G,a,b∈p,有e(ua,vb)=e(u,v)ab.

2) 非退化性.存在g∈G,使得e(g,g)在GT中的階是p.

3) 可計算性.對于?u,v∈G,可以有效計算e(u,v).

1.2 線性秘密共享方案

線性秘密共享方案(linear secret sharing scheme, LSSS)的定義是參與者集合P上的一個密鑰共享方案Π如果滿足下列2個條件,則被稱為p上的線性秘密共享方案.

2) 對于每個秘密共享方案Π,存在一個生成矩陣M(l×n),對于矩陣M中的每一行i=1,2,…,l,映射ρ:{1,2,…,l}→P把M的每一行映射到參與者ρ(i),ρ為單射函數.考慮向量v=(s,y2,…,yn),s∈p是共享密鑰,y2,…,yn∈p隨機選擇用來隱藏s,Mv是l個秘密份額形成的向量,其中λi=(Mv)i表示參與者ρ(i)所持有的秘密份額.

LSSS方案具有線性重構特性.假設Π是訪問策略的一個線性秘密共享,設S∈是一個訪問授權集合,定義為I={i:ρ(i)∈S}.如果{λi}是對秘密s的有效共享份額,那么可以在多項式時間內找到一組常數{wi∈p}i∈I,使等式λi=s成立.

1.3 決策性q-BDHE假設

令G表示階為素數p的雙線性群,g和h為群G的2個獨立生成元,選取隨機值α∈,然后定義yg,α,l=(g1,g2,…,gl,gl+2,…,g2l)∈G2l-1,其中gi=g(αi).算法通過輸出值z∈{0,1}進行猜測,若|Pr[B(g,h,yg,α,l,e(gl+1,h))=0]-Pr[B(g,h,yg,α,l,Z)=0]|≥ε,則定義其擁有優勢ε來解決群G和GT下的決策性q-BDHE問題.若無多項式時間算法以不可忽略的優勢來解決決策性q-BDHE問題,那么我們就說決策性q-BDHE假設在群G和GT中是成立的.

2 VFO-CP-ABE方案系統及安全模型

2.1 混合訪問策略

本文基于Waters的CP-ABE方案[21]提出支持可驗證的完全外包CP-ABE方案,方案中的用戶私鑰與屬性集合S相關聯,密文與訪問策略(M,ρ)相關聯.為了確保在外包加密過程中數據的機密性,本文建立了一個混合訪問策略Str=(M,ρ)∧{ξ},其中∧代表“AND”門,(M,ρ)代表原訪問策略,ξ代表缺省屬性.也就是說,在任意一個指定的訪問策略(M,ρ)中,本文通過“AND”門在原訪問策略(M,ρ)中引入缺省屬性ξ來構造混合訪問策略Str=(M,ρ)∧{ξ}.本文通過這種巧妙的構造,使得原訪問策略可以是任意形式.在加密過程中,數據擁有者完成ξ的加密,E-CSP完成(M,ρ)的加密,且不會泄露明文信息.

2.2 系統模型

本文所用相關名詞及其縮寫如表1所示:

Table 1 Related Terms and Their Acronyms表1 相關名詞及其縮寫

Fig. 1 System model of fully outsourced ABE圖1 完全外包屬性基加密系統模型

本文所提方案的系統模型如圖1所示.其中,密鑰生成云服務商(KG-CSP)、加密云服務商(E-CSP)、解密云服務商(D-CSP)和存儲云服務商(S-CSP)是該系統模型實現完全外包功能的核心組件.它們分別提供私鑰生成服務、數據加密服務、數據解密服務和數據存儲服務.但在服務過程中,它們不能知道用戶私鑰和數據明文.本文方案中,數據擁有者(DO)可以使用移動計算終端加密明文信息并存儲到云端;數據用戶(DU)可以使用移動計算終端從云端下載密文信息并解密,且移動計算終端可以承受這種計算負載.

本文假設屬性授權機構(AA)是一個完全可信的密鑰分發機構;云服務商是誠實但好奇的(honest but curious)[22],即云服務商會誠實地按照正確的步驟執行,但是由于好奇心,其會在工作過程中窺探數據中的隱私.2個KG-CSP不能互相合謀共享數據,因此最終獲得的ISK對于2個KG-CSP是信息隱藏的.

本文所提VFO-CP-ABE方案(fully outsourced CP-ABE with verifiability)包含9個多項式時間算法.

Setup(1λ):該算法由AA運行,其以安全參數λ作為輸入,輸出系統公鑰PK和主私鑰MSK.

KeyGeninit(PK,N):該算法由KG-CSPx運行,其以系統公鑰PK和系統屬性集合N(系統屬性總數量)作為輸入,輸出中間私鑰ISKx,其中x={1,2}.

KeyGenpackage(MSK,S,ISK1,ISK2):該算法由AA運行,其以系統主私鑰MSK、用戶屬性集合S和中間私鑰ISKx(x={1,2})作為輸入,輸出用戶私鑰SK.

KeyBlind(SK):該算法由DU運行,其以用戶私鑰SK作為輸入,輸出轉換密鑰TK和取回密鑰RK.

Encryptinit(m):該算法由DO運行,其以明文消息m∈M作為輸入,輸出加密密鑰對(EKE-CSP,EKDO).

EncryptE-CSP(PK,(M,ρ),EKE-CSP):該算法由E-CSP運行,其以系統公鑰PK、訪問策略(M,ρ)和加密密鑰EKE-CSP作為輸入,輸出中間密文CTE-CSP.

EncryptDO(PK,(M,ρ),EKDO,CTE-CSP,m):該算法由DO運行,其以系統公鑰PK、訪問策略(M,ρ)、加密密鑰EKDO、中間密文CTE-CSP和明文消息m∈M作為輸入,輸出密文CT和驗證標志VKm.最后,DO將CT和VKm發送給S-CSP.

DecryptD-CSP(TK,CT):該算法由D-CSP運行,其以轉換密鑰TK和密文CT作為輸入,輸出轉換密文TC.

DecryptDU(TC,VKm,RK):該算法由DU運行,其以轉換密鑰TC、驗證標志VKm和取回密鑰RK作為輸入,輸出明文消息m或者中止符⊥.

2.3 安全模型

本文考慮這樣一個敵手:敵手A是一些惡意用戶并且能夠與KG-CSPx(x只能為1或者只能為2),E-CSP,D-CSP,S-CSP進行合謀,其能夠獲取惡意用戶的私鑰,KG-CSPx的ISKx(x只能為1或者只能為2),E-CSP的加密密鑰EKE-CSP和中間密文CTE-CSP,D-CSP的轉換密鑰TK,S-CSP的密文CT.不失一般性,本文假設x=1,然后A試圖去解密其他正常用戶的密文.

選擇明文攻擊安全游戲.本文針對提出的VFO-CP-ABE方案描述了選擇性選擇明文攻擊(chosen plaintext attack, CPA)安全游戲.具體描述如下.

系統初始化:敵手A將要挑戰的訪問策略(M*,ρ*)傳送給仿真者B.

系統建立:B執行Setup算法,然后將PK發送給敵手A.

查詢階段1:仿真者B初始化空表T0,空集合E和整數j=0.敵手A可以對屬性集合S重復進行以下任何查詢.

1)Create(S):仿真者B設置jj+1,運行2次KenGeninit算法獲得中間私鑰ISK1和ISK2,運行KenGenpackage獲得關聯屬性集合S的私鑰SK,運行KeyBlind算法獲得轉換密鑰TK和取回密鑰RK.最后將(j,S,SK,TK,RK,ISK1)存儲于表T0中.

注意:敵手可以重復詢問相同的屬性集合S.其中,f((M*,ρ*),S)≠1.但A能夠提交滿足(M*,ρ*)的屬性集合S′進行CorruptISK1詢問.

2) CorruptSK(i):B驗證第i個實體(i,S,SK)是否存在于表T0中.如果存在,設置EE∪{S}并且返回SK;否則返回終止符⊥.

3) CorruptISK1(i):仿真者B驗證第i個實體(i,S,ISK1)是否存在于表T0中.如果存在,返回ISK1;否則返回終止符⊥.

4) CorruptTK(i):B驗證第i個實體(i,S,TK)是否存在于表T0中.如果存在,返回TK;否則返回終止符⊥.

猜測階段:敵手A輸出一個值b′∈{0,1}作為對b的猜測.如果b′=b,我們稱敵手A贏得了該游戲.敵手A在該游戲中的優勢定義為:

定義1. 若無多項式時間敵手以不可忽略的優勢來攻破上述安全模型,那么我們就說本文提出的VFO-CP-ABE方案是選擇明文安全.

可驗證性游戲.可驗證性可以確保轉換階段是否被正確執行,通過仿真者B和敵手A之間的博弈游戲描述VFO-CP-ABE方案的可驗證性,具體過程如下.

系統建立:仿真者B執行Setup算法,然后將PK發送給敵手A,自己保留主私鑰MSK.

查詢階段1:B按照方案私鑰生成方式響應敵手A的詢問.因為B知道MSK,所以其能回答所有私鑰詢問.

查詢階段2:B按照查詢階段1方式響應敵手A的詢問,但是敵手A不能詢問滿足訪問策略(M*,ρ*)的屬性集合S.

For the saturated regime, as shown in Fig. 3, the distribution of the depletion layer was made in five regions, and therefore:

定義2. 若無多項式時間敵手以不可忽略的優勢來攻破上述安全模型,那么我們就說本文提出的VFO-CP-ABE方案具有可驗證性.

3 VFO-CP-ABE方案構造

本節給出VFO-CP-ABE方案的詳細構造過程,及方案的選擇性CPA安全證明和可驗證性證明.

3.1 具體方案

VFO-CP-ABE方案包含9個多項式時間算法.每個算法詳細敘述如下.

Setup(1λ):該算法選擇一個階為素數p的雙線性群G,g為群G的生成元,hξ,h1,…,hU∈G為隨機群元素.另外,隨機選擇指數α,β∈p并計算g1=gβ.選擇雜湊函數H0:{0,1}2λ→{0,1}*,H1:{0,1}*→p,H2:{0,1}*→{0,1}λ.最后,輸出系統主私鑰MSK=gα和系統公鑰PK=G,g,g1,e(g,g)α,hξ,h1,…,hU,H0,H1,H2.

KeyBlind(SK):該算法選擇一個隨機值δ∈p,然后計算,.對于j∈S∪{ξ},計算.最后,輸出取回密鑰RK=δ和轉換密鑰TK=,,.

Encryptinit(m):該算法隨機選擇R∈GT,并計算s=H1(R,m).然后,其隨機指定一個一次多項式q(·),其中q(0)=s.進一步設置s1=q(1),s2=q(2).最后,輸出加密密鑰EKE-CSP={s1}和EKDO={s,s2,R}.

EncryptE-CSP(PK,(M,ρ),EKE-CSP):該算法輸入PK,(M,ρ),EKE-CSP.其中,M是一個l×n矩陣;函數ρ是一個單射函數,其將M的每一行映射到一個屬性.該算法隨機選擇向量v=(s1,y2,…,yn)∈p,其用于共享加密指數s1.對于i=1到l,計算λi=(vM)i,其中Mi是矩陣M的第i行.最后,輸出中間密文為CTE-CSP=C′=gs1,{Ci=gβ λi}1≤i≤l.

最后,DO輸出密文CT=CTDO,CTE-CSP,然后將VKm和CT發送給S-CSP.

DecryptD-CSP(TK,CT):假設用戶私鑰關聯的屬性集合S∪{ξ}滿足密文CT關聯的混合訪問策略Str=(M,ρ)∧{ξ}.參與者下標集合I?{1,2,…,l}被定義為I={i:ρ(i)∈S},如果{λi}是對秘密s1的有效共享份額,那么可以在多項式時間內找到一組常數{wi∈p}i∈I使得λi=s1.我們注意到,可能有幾種不同的方法來選擇wi來滿足上述公式.另外,解密算法只需要知道M和I就能確定這些常數.DU將TK發送到D-CSP,D-CSP按下列公式計算:

(1)

(2)

然后我們能夠計算獲得T=e(g,g)αsδ.輸出轉換密文TC=C,C″,T.最后,D-CSP將轉換密文TC發送給DU.

DecryptDU(TC,VKm,RK):DU接收到TC后,計算R=C(T),t=H2(R).若H0(t‖C″)≠VKm,則輸出終止符⊥;否則計算m=C″⊕t和s=H1(R,m).若C=R·e(g,g)α s,T=e(g,g)α s δ,輸出m;否則輸出終止符⊥.

3.2 安全證明

定理1. 假設決策性q-BDHE假設在群G和GT中成立,那么本文所提VFO-CP-ABE方案是隨機預言機模型下選擇性CPA安全.

證明. 假設存在一個多項式時間敵手A能夠以不可忽略的優勢ε在選擇性CPA安全模型下攻破本文方案,那么我們能夠構建一個仿真者B以不可忽略的優勢解決決策性q-BDHE困難問題.敵手A是一些惡意用戶并且能夠與KG-CSPx(x只能為1或者只能為2)、E-CSP、D-CSP、S-CSP進行合謀.本文假設2個KG-CSP不能互相合謀共享數據,而ISK是由ISK1和ISK2計算獲得,所以在敵手A的視角里ISK是信息隱藏的.不失一般性,本文假設x=1,然后敵手A試圖去解密其他正常用戶的密文.因此,敵手A能夠提交滿足(M*,ρ*)的屬性集合S′進行ISK1詢問,而其不能獲取任何關于ISK的有用的信息.

B輸入決策性q-BDHE挑戰元組(g,h,yg,α,l,Z),其中,Z是群GT中的隨機元素或者是e(gl+1,h),yg,α,l=(g1,g2,…,gl,gl+2,…,g2l)∈G2l-1.

系統初始化:敵手A選擇一個需要挑戰的訪問策略T*=(M*,ρ*)并發送給仿真者B.

系統建立:B按照Waters方案[21]中挑戰者C的方式計算PK=G,g,g1=ga,e(g,g)α,h1,…,hU,hξ,然后仿真者B將公鑰PK發送給敵手A.

查詢階段1:B初始化空表T0,T1,T2,空集合E和整數j=0.敵手A可以對屬性集合重復進行以下任何查詢.

1) Random Oracle HashH1(R,m):若表T1中存在實體(R,m,s),則返回s;否則,選擇一個隨機值s∈p,并在表T1中記錄(R,m,s),返回s.

2) Random Oracle HashH2(R):若表T2中存在實體(R,t),則返回t;否則,選擇一個隨機值t∈{0,1}λ,在表T2中記錄(R,t),返回t.

3) Creat(S):B從敵手A處接收到屬性集合S的私鑰詢問后,在屬性集合中增加缺省屬性ξ,即私鑰詢問集合為S∪{ξ}.然后,B設置jj+1,并按照Waters方案[21]中挑戰者C的方式計算獲得SK=D,L,{Dj}j∈S∪{ξ}.B運行KenGeninit獲得ISK1,運行KeyBlind獲得轉換密鑰TK和取回密鑰RK.最后將(j,S,SK,TK,RK,ISK1)存儲于表T0中.

注意:A可以重復詢問相同的屬性集合S,其中S滿足f((M*,ρ*),S)≠1.但A能夠提交滿足(M*,ρ*)的屬性集合S′進行ISK1詢問.

4) CorruptSK(i):B驗證第i個實體(i,S,SK)是否存在于表T0中.如果存在,設置EE∪{S}并且返回SK;否則返回終止符⊥.

5) CorruptISK1(i):仿真者B驗證第i個實體(i,S,ISK1)是否存在于表T0中.如果存在,返回ISK1;否則返回終止符⊥.

6) CorruptTK(i):B驗證第i個實體(i,S,TK)是否存在于表T0中.如果存在,返回TK;否則返回終止符⊥.

查詢階段2:類似查詢階段1,敵手A繼續向B提交一系列屬性列表.

猜測階段:敵手A輸出一個值b′∈{0,1}作為對b的猜測.如果b′=b,B輸出0表示猜測Z=e(gn+1,h);否則輸出1表示猜測Z為群GT中的隨機元素.當Z=e(gn+1,h)時,仿真者B能夠提供一個有效的仿真.因此得出:Pr[B(g,h,yg,α,l,e(gl+1,h))=0]=12+AdvA;當Z為GT中的隨機元素時,mb對于A來說是完全隨機的,因此得出:Pr[B(g,h,yg,α,l,Z)=0]=12.因此,B能以不可忽略的優勢攻破決策性q-BDHE假設.

證畢.

定理2. 假設H0和H2是抵抗合謀攻擊的雜湊函數,那么VFO-CP-ABE方案具有可驗證性.

查詢階段1:B按照方案算法適應性回答敵手A的詢問.

查詢階段2:B按照查詢階段1方式響應敵手A的詢問,但是敵手A不能詢問滿足訪問策略(M*,ρ*)的屬性集合S.

猜測階段:A輸出屬性集合S*(f((M*,ρ*),S)=1)和轉換密文TC=〈C,C″,T〉.

通過上述分析完成定理2的安全證明.

證畢.

4 方案分析及實驗驗證

4.1 理論分析

為評估本文所提VFO-CP-ABE方案的計算效率,本節從理論層面分析了私鑰生成、加密和解密階段的計算開銷,將本文方案與文獻[12,18-21]中相關ABE方案在計算效率方面進行對比分析.對比過程中,|U|表示系統所有屬性數量;|S|表示DU所擁有的屬性數量;s和l分別表示滿足解密需求的屬性集合和LSSS中矩陣M的行數.另外,EG和EGT分別表示G和GT中的模指數運算;P表示雙線性對運算.為對比公平,假設文獻[18]只有一個AA.表2給出了原理方面的效率對比.文獻[12]加密階段采用離線在線技術,為便于比較,將其與其他方案外包技術等同對比.

Table 2 Comparison of Efficiency and Outsourcing Capability表2 效率及外包能力對比分析

各方案效率及外包能力對比如表2所示.其中文獻[21]是一個基本CP-ABE方案,本文基于文獻[21]提出VFO-CP-ABE方案.本文方案實現了可驗證的完全外包功能.這種方法能夠減少AA,DO,DU的計算量,極大緩解計算資源受限終端的計算負擔.在原始文獻[21]中,屬性授權機構、數據用戶和數據擁有者都需要計算大量的對運算和指數運算.文獻[19]僅支持外包解密計算,可以驗證計算結果的正確性.文獻[19]雖然不支持密鑰生成和加密的外包計算功能,但是其實現了密文長度恒定,在密鑰生成和加密階段只需較少的計算,其不足之處是僅支持“AND”門訪問策略,表達能力有限.文獻[12]支持離線在線加密和解密計算外包功能,但該方案不支持外包解密正確性驗證,且AA需要計算大量的指數運算.文獻[18]支持加密和解密計算外包功能,并且可以驗證計算結果的正確性,但是其AA需要計算大量的指數運算.文獻[20]和本文方案同時實現了密鑰生成、加密和解密計算外包功能.但文獻[20]不支持可驗證性,不能保證計算結果的正確性.

綜合分析,只有本文方案實現了密鑰生成、加密和解密的外包計算功能,減少了終端的計算量,支持可驗證性.外包計算對于電量和計算資源有限的移動設備具有重要意義.本文所提方案是有效且實際的.

4.2 實驗分析

通過理論分析,本文方案在功能和效率方面具有優勢.為了進一步評估本文方案的實際性能,本節通過以下實驗環境測試了文獻[20]和本文方案在私鑰生成、數據加密和數據解密方面的計算時間.

實驗環境:64 b Ubuntu 14.04操作系統、Intel?CoreTMi5-6200U(2.3 GHz)、內存4 GB,實驗代碼基于PBC-0.5.14 (pairing-based cryptography library)與CPABE-0.11進行修改與編寫,并且使用224 b MNT的橢圓曲線.

實驗設置:在CP-ABE方案中,訪問策略的復雜度影響加密和解密時間.為了說明這一點,本文用(S1ANDS2AND…ANDSn)形式的訪問策略模擬最復雜的情況,其中每個Si都是一個屬性.這種方法保證了所有密文組件都參與解密計算.本文以這種形式每次遞增10,從10增加到100產生10種不同的訪問策略.對于每個訪問策略,重復20次實驗且每次實驗完全獨立,然后取平均值作為實驗結果.

屬性基加密一般與對稱加密相互配合實現明文數據的加密,即首先用對稱密鑰加密明文,然后用屬性基加密封裝對稱密鑰.因此,本文為獲得基準結果,基于上述訪問策略封裝了一個128 b對稱密鑰.測試實驗結果如圖2所示.

Fig. 2 Comparison of simulation time圖2 仿真時間對比

圖2有6個子圖.每個子圖給出本文方案與文獻[20]方案的執行時間對比情況.

圖2(a)和圖2(d)說明KG-CSP承擔大部分密鑰生成工作,且密鑰生成時間與屬性數量呈線性增長關系.屬性授權機構只需承擔少量計算即可完成密鑰生成工作.在4.1節中,本文分析AA的計算量為0,這是因為本文忽略了乘法運算、雜湊運算等計算量小的運算,它們是次要的因素.圖2(b)和圖2(e)說明E-CSP承擔大部分的加密工作,且加密時間與訪問策略的復雜度呈線性增長關系.數據擁有者只需恒定的計算量即可完成加密工作.圖2(c)和圖2(f)說明D-CSP承擔大部分的解密工作,密文轉換時間與訪問策略的復雜度呈線性增長關系.用戶解密只需要常量計算即可完成解密工作,與訪問策略的復雜性無關.

圖2(a)、圖2(b)和圖2(c)說明密鑰生成時間、加密時間和解密時間隨屬性集合或訪問策略復雜度的增加而增加.同時,通過2種方案對比發現,本文方案在云端的計算花費小于文獻[20],這種優勢隨著屬性數量或訪問策略復雜度的增加而變得更加明顯.圖2(d)說明文獻[20]和本文方案的AA都只需較少計算量即可完成密鑰生成工作,且效率相當.圖2(e)和圖2(f)說明文獻[20]的DO和DU較本文方案需要更少的計算,但是這種差距是非常小的,且不會隨著屬性數量或訪問策略復雜度的增加而變化.

綜上所述,本文方案在云端的計算小于文獻[20]方案,且隨著屬性數量或訪問策略復雜度的增加而變得更加明顯,這有助于AA和用戶租用較少的云計算資源,節約成本.本文方案在本地計算量略高于文獻[20]方案,但這種差距非常小且不隨著屬性數量或訪問策略復雜度的增加而變化.另外,本文方案支持解密外包可驗證性,文獻[20]不具備該能力.

5 結束語

為提高CP-ABE方案效率,本文提出一種支持可驗證的完全外包CP-ABE方案VFO-CP-ABE.該方案可以同時實現密鑰生成、加密和解密計算外包功能,并且能夠驗證外包計算結果的正確性.該方案可以有效緩解屬性授權機構、數據擁有者和數據用戶的計算負擔,尤其面向具有大量用戶的云存儲系統和資源有限的用戶,優勢更加明顯.然后,在隨機預言機模型下證明了所提方案的選擇明文攻擊的不可區分安全性,提供了所提方案的可驗證性證明.最后,理論分析與實驗驗證結果表明所提方案在功能性和效率方面具有優勢,更加適合實際應用情況.

猜你喜歡
敵手私鑰密文
一種支持動態更新的可排名密文搜索方案
比特幣的安全性到底有多高
與“敵”共舞
基于模糊數學的通信網絡密文信息差錯恢復
Spatially defined single-cell transcriptional profiling characterizes diverse chondrocyte subtypes and nucleus pulposus progenitors in human intervertebral discs
支持多跳的多策略屬性基全同態短密文加密方案
密鑰共享下跨用戶密文數據去重挖掘方法*
不帶著怒氣做任何事
一種基于虛擬私鑰的OpenSSL與CSP交互方案
基于秘密共享的IBE移動密碼系統
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合