《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 一種基于CP-ABE多屬性授權中心的隱私保護方案
一種基于CP-ABE多屬性授權中心的隱私保護方案
2016年微型機與應用第14期
譚躍生, 婁燕賀
(內蒙古科技大學 信息工程學院,內蒙古 包頭 014010)
摘要: 針對云計算環(huán)境下用戶隱私保護的問題,提出一種基于CPABE多屬性授權中心隱私保護方案(PPMACPABE)。方案中采用多個屬性授權中心代替單一中央授權服務器,避免了由單一中央授權服務器引起的安全性問題。方案設計了一種交互式的密鑰生成算法,利用承諾方案和零知識證明的方法,實現(xiàn)了用戶密鑰獲取過程中用戶的屬性以及全局身份標識不被泄露,安全性分析表明PPMACPABE方案能夠保護用戶隱私,并給出了方案的正確性證明。仿真實驗結果表明,與DCPABE方案相比,在保護用戶隱私信息的前提下,本方案有較高的效率。
Abstract:
Key words :

  譚躍生, 婁燕賀

  (內蒙古科技大學 信息工程學院,內蒙古 包頭 014010)

  摘要:針對云計算環(huán)境下用戶隱私保護的問題,提出一種基于CP-ABE多屬性授權中心隱私保護方案(PPMACP-ABE)。方案中采用多個屬性授權中心代替單一中央授權服務器,避免了由單一中央授權服務器引起的安全性問題。方案設計了一種交互式的密鑰生成算法,利用承諾方案和零知識證明的方法,實現(xiàn)了用戶密鑰獲取過程中用戶的屬性以及全局身份標識不被泄露,安全性分析表明PPMACP-ABE方案能夠保護用戶隱私,并給出了方案的正確性證明。仿真實驗結果表明,與DCP-ABE方案相比,在保護用戶隱私信息的前提下,本方案有較高的效率。

  關鍵詞:CP-ABE;多授權;隱私保護;零知識證明;承諾方案;

0引言

  隨著云計算[1]的發(fā)展,存儲在云中的數(shù)據(jù)是否安全是關系到云存儲能否發(fā)展的關鍵問題。加密的方法可以有效保證存儲在云中的數(shù)據(jù)安全。本文利用基于屬性加密的密文策略(CP-ABE)[2]的加密算法保護云中的數(shù)據(jù)。CP-ABE方案是更加靈活有效的加密算法,因為加密者可以在加密數(shù)據(jù)時為數(shù)據(jù)制定相應的訪問結構。

  但是在CP-ABE方案中,中央授權(CA)服務器的安全性成為了整個系統(tǒng)的安全瓶頸,因為一旦中央授權服務器遭受攻擊,整個系統(tǒng)將會癱瘓。因此,參考文獻[3]最后遺留了一個公開問題,即如何構建一個ABE方案,其中私鑰能由多個授權方生成,這樣用戶可以減少對中央授權服務器的信任。之后CHASE M[4]給出了一個肯定的回答。但是在CHASE M的方案中,如何抵抗用戶合謀攻擊是一個難題,為了克服這個難題,引出了全局身份標識(Global Identity,GID)的概念,通過每個用戶的GID與對應的私鑰進行綁定抵抗合謀攻擊。但是本方案需要一個中央授權服務器。

  HUR J等人[5]于2013年提出將密鑰生成中心進行拆分,多個機構之間進行交互式計算,共同生成用戶私鑰。其優(yōu)點是,任一密鑰生成機構無法獲得全部密鑰,不能解密密文,以消除不可信第三方密鑰生成機構問題。但其缺點是,增加了用戶端的計算量,降低了執(zhí)行效率。

  Lin Hhuan等人[6]通過利用分布式密鑰產生協(xié)議[7](Distributed Key Generation protocol,DKG )和聯(lián)合零秘密共享協(xié)議[8](Joint Zero Secret Sharing protocol ,JZSS)提出了一種MAABE方案,其中不需要中央授權服務器。為了進行系統(tǒng)初始化,多個授權服務器必須協(xié)同工作,并各自運行2次DKG協(xié)議和k次JZSS協(xié)議,其中k是每個授權服務器所對應多項式的次數(shù)。每個授權服務器必須要維護k+2個密鑰。這個方案只有當合謀攻擊用戶的數(shù)量少于k時才是安全的,并且k的值在系統(tǒng)初始化的時候就確定了。此方案授權方計算量過大,而且系統(tǒng)的性能會隨著屬性數(shù)量的增長而不斷退化。

  Liu Zhen等人[9]提出了一種在標準化模型下完全安全的多授權中心CPABE方案,此方案存在多個中央授權服務器和多個屬性授權服務器。中央授權服務器負責給用戶發(fā)行與身份相關的密鑰,屬性授權服務器為用戶發(fā)行屬性相關的密鑰,在獲得屬性相關密鑰之前,用戶必須先從中央授權服務器獲得私鑰。但這個方案是在復合順序線性群組中設計的。

  LEKWO A和WATERS B[10]提出了一種新的去中心化的CP-ABE方案(DCP-ABE),改變了之前需要多個授權服務器合作才能進行系統(tǒng)初始化的情況。此方案中,多個授權服務器在系統(tǒng)初始化和密鑰產生階段不需要合作,并且也不需要中心授權服務器,任何一個授權服務器都可以自由加入或離開本系統(tǒng),而且不需要重新進行系統(tǒng)初始化。這個系統(tǒng)是在復合順序線性群組上構建的,并在隨機預言模型中實現(xiàn)了安全性。但是本方案中的授權服務器能夠通過追蹤用戶的GID來收集用戶屬性。

  上述多個方案并沒能有效地保護用戶隱私,因此,基于上述方案,本文提出了PPMAC-ABE方案,該方案基于DCP-ABE模型,設計交互式密鑰生成算法IAKeyGen,在用戶向多個AA進行密鑰獲取時,有效保護用戶的屬性以及GID,進而實現(xiàn)了用戶的隱私保護。

1預備知識

  定義1(雙線性映射) 若設G、Gr是兩個階為素數(shù)q的群,g為G的一個生成元,存在映射e:G×G→Gr。當e為雙線性映射時,其有如下性質:

  (1)雙線性性,即:

  u,v∈G,a,b∈Z,e(ga,gb)=e(g,g)ab

  (2)非退化性:e(g,g)≠1x。其中1x是群Gr的標識。

  (3)可計算性:對任意u,v∈G,存在有效的算法計算出e(u,v)。

  定義2(訪問結構)設P={P1,P2,…,Pn}是所有屬性的集合,訪問結構A是{P1,P2,…,Pn}的非空子集,即A∈2{P1,P2,…,Pn}/{Φ}。則A作為一個判斷條件:在A中的集合為授權集合,否則,為非授權結合。

  定義3(線性秘密共享)設p為一有限集合,Zp為素數(shù)域,一個基于集合P的秘密共享方案Π如果滿足下列屬性,則稱作是線性的:

 ?。?)一方共享的值構成基于Zp上的一個向量。

 ?。?)對于Π,存在一個l行n列的矩陣Μ稱作共享生成矩陣。對于x=1,2,…,l第i行用ρ(i)表示。其中ρ:{1,2,…,l}→Zp。當一個向量v=(s,v2,…,vn),其中s∈Zp是要共享的秘密值,v2,…,vn∈Zp為隨機值,那么Μv即為將s共享為l份共享值所組成的向量。ρ(i)=Μiv表示第i個實體得到的共享值,Μi表示Μ的第i行。

2PPMACP-ABE方案

  本方案一共包括四類實體:數(shù)據(jù)擁有(Data Owner,DO)、云服務商(Cloud Server,CS)、多個屬性授權方(Attribute Authorities,AA )和用戶User,系統(tǒng)模型圖如圖1所示?! ?/p>

001.jpg

  DO首先為將要上傳的明文M制定相應的訪問策略T,并從多個屬性授權服務器獲取多個公鑰PKi,利用T和PKi對明文M進行加密得到密文CT,并將CT上傳到CS。當用戶從CS下載到CT并且想要對密文CT進行解密時,用戶會向多個AA提交自己的屬性集得到相應的私鑰SKi,當SKi中的屬性集合滿足了密文CT中的訪問策略T,并能夠將秘密值成功恢復時,解密成功。

  本方案由下列算法構成。

  2.1系統(tǒng)初始化算法Setup

  初始化算法分為系統(tǒng)初始化Global Setup和屬性授權服務器初始化Authority Setup:

  Global Setup(1k)→params。全局初始化算法:設本方案中共有N個屬性授權服務器{A1,A2,…,An},每一個屬性授權服務器Ai監(jiān)管一組屬性Bi={bi,1,bi,2,…,bi,n},其中一個屬性值滿足:

  bi,j∈Zp(i=1,2,…,N,j=1,2,…,qi)。

  每個用戶擁有唯一的全局身份標識GIDU并有一組屬性U。本算法輸入安全參數(shù)1k,輸出線性組(e,p,G,Gr),則公共參數(shù)為:

  params=(g,h,f,e,p,G,Gr)

  其中g、h、f為G的生成元,Authority Setup(1k) →(SKi,PKi)。授權服務器初始化算法每個屬性授權服務器生成各自的密鑰對(SKi,PKi)。每個屬性授權服務器Ai任選αi,βi,γi,xi∈Zp,計算:

  Hi=e(g,g)αi,Ai=gxi,Bi=gβi,Γ1=gγi,Γ2=hγi(i∈1,2,…,N)

  對于Ai中的每一個屬性bi,j,A任選zi,j∈Zp并計算:

  Zi,j=gzi,j,Ti,j=hzi,j/gri+ai,j(1)

  然后Ai發(fā)表公鑰:

  PKi={Hi,Ai,Bi,( Γ1,Γ2),(Ti,j,Zi,j)bi,j∈B}(2)

  同時保留主密鑰:

  SKi={αi,βi , γi, ai,(zi,j)bi,j∈B}(3)

  2.2密文生成算法Encrypt

  Encrypt(params,M,(Μi, ρi,PKi)i∈I) →CT,I是一組屬性授權服務器的集合,并且I中的屬性授權服務器所監(jiān)管的屬性會用來加密明文M。對于j∈I,加密算法首先選擇訪問結構(Μj,ρi),v=(sj,vj,2,…,vj,nj),其中sjvj,2,…,vj,nj∈Zp,Μj是一個lj×nj矩陣,計算λi,j=Μjivj,其中Μji是Μj的第i行,最后,任選rj,1,rj,2,…rj,lj∈Zp,計算:

  ((Cj,1=gxjλj,1Z-rj,1ρj(1),Dj,1=grj,1),…,

  (Cj,lj=gxjλj,ljZ-rj,ljρj(lj),Dj,lj=grj,lj))j∈I(4)

  得到密文:

  CT={C0,(Xj,Yj,Ej(Cj,1,Dj,1),…,(Cj,lj,Dj,lj))j∈I}(5)

  隨后DO將產生的密文CT上傳到云服務器CS上。

  2.3交互式密鑰生成算法IAKeyGen

  IAKeyGen中使用的承諾方案[11]由下列幾個算法構成:

  (1)Setup(1k) →params:這個算法輸入安全參數(shù)1k,輸出公共參數(shù)params。

  (2)Commit(params,m) →(com,decom)。本算法輸入公共參數(shù)params和數(shù)據(jù)m,輸出承諾com和解承諾decom。decom能夠從com中解出m。

  (3)Decommit(params,m,com,decom) →{0,1}。本算法輸入公共參數(shù)params,數(shù)據(jù)m,承諾com和解承諾decom。如果decom能夠從com中解出m,輸出1,否則輸出0。

  一個承諾方案必須滿足兩種屬性:隱藏性和綁定性。

  隱藏性:要求用戶在解密出數(shù)據(jù)m之前,m一直都是隱藏的。

  綁定性:要求只有decom才能從com中解密出數(shù)據(jù)m。

  IAKeyGen算法:當用戶從CS下載到CT并且要對CT進行解密時,用戶與多個屬性授權中心執(zhí)行算法:

  IAKeyGen(U(params,GIDU,U~,PKi,decomi,6.jpg

  首先用戶利用授權標簽Ti,j向每一個參與加密的AA進行授權認證。

  7.png

  其中γi是A~i的密鑰中的一部分,Ti,j可以在不泄露屬性bi,j的前提下,使AA相信此用戶擁有屬性bi,j。然后用戶U執(zhí)行承諾方案,對GIDU和屬性bi,j進行承諾,即:

  Commit(params,bi,j)→(comi,j,decomi,j)bi,j∈A~i∩U~

  Commit(params,GIDU)→(comi,decomi)(8)

  將(comi,(comi,j)bi,j∈U~∩A~i)發(fā)送給AA,通過零知識證明向AA申請私鑰,此時:

  用戶U輸入:(params,GIDU,U~,PKi,decomi,(decomi,j)bi,j∈A~i∩U~)

  屬性授權服務器A~i輸入:(params,SKi,PKi,comi,(comi,j)ai,j∈A~i∩U~)

  當解承諾:

  Decommit(params,GIDU,comi,decomi)=1

  Decommit(params,ai,j,comi,j,decomi,j)=1(9)

  同時成立時,A~i任選(cu,eu),U任選(d1,k2),雙方進行安全雙方計算[12]得到:wU,i=eud1,tU,i=cu/k2,A~i利用得到的參數(shù),計算:

  Ki=gαigxiwU,if tU,if βi+μtU,i,Pi=gwU,i,Li=gtU,i,L′i=htU,i,

  Ri=g1tU,i,R′i=h1tU,i,(Fx=ZwU,ix)ax∈A~i∩U~(10)

  得到私鑰:

  SKiU={Ki,Pi,Li,L′i,Ri,R′i,(Fx)ax∈U~∩A~}(11)

  并發(fā)送給用戶。否則,算法終止。

  2.4解密算法Decrypt

  合法用戶對CT進行解密:

  12.png

3方案安全性分析

  通過以下游戲來定義本方案的安全模型,該模型是在挑戰(zhàn)者和敵手Α之間進行的。初始化階段:敵手Α提交一組惡意屬性授權方的列表B={Bi}i∈I和一組訪問結構A={Μμi,ρμi}i∈I*,其中I∈{1,2,…,N},I*∈{1,2,…,N},應該至少存在一個訪問結構(Μ*,ρ*)∈A不能被B所監(jiān)管的屬性滿足,敵手Α也不能通過其獲取密鑰。

  Global Setup階段:挑戰(zhàn)者運行本算法產生公共參數(shù)params,并發(fā)送給敵手Α。

  Authority Setup階段:存在以下兩種情況。

  (1)對于屬性授權服務器Bi∈B,挑戰(zhàn)者運行本算法生成公私鑰對(PKi,SKi),并把它們發(fā)送給敵手Α。

 ?。?)對于屬性授權服務器BiB,挑戰(zhàn)者運行此算法生成公私鑰對(PKi,SKi),并把PKi發(fā)送給敵手Α。

  階段1:敵手Α詢問用戶U的GID和一組屬性集生成的密鑰,挑戰(zhàn)者運行KeyGen算法生成SKU,并發(fā)送給敵手Α,本次詢問具有自適應性及可重復性。

  挑戰(zhàn)階段:敵手Α提交兩份相同長度的信息M0和M1,挑戰(zhàn)者在{0,1}上隨機擲幣,得到b∈{0,1}。

  然后挑戰(zhàn)者運行:

  Encrypt(params,Mb,(M*i,ρi,PKi)i∈I*)(13)

  產生被挑戰(zhàn)的密文CT*發(fā)送給敵手Α。

  第二階段:重復第一階段。

  猜測階段:Α輸出他的猜測值b′,若b′=b則敵手Α贏得游戲。

  如果不存在任何多項式時間內的敵手能以不可忽略的優(yōu)勢猜測出挑戰(zhàn)者的隨機擲幣,那么本方案就是安全的。

4仿真實驗

  實驗環(huán)境:VMware Workstation 12.0.0虛擬機平臺,部署多臺64位Cent操作系統(tǒng),4 GB內存。實驗中文件大小為100 KB,并利用CPABE工具包[13]實現(xiàn)仿真實驗,與文獻[10]中的DCP-ABE方案進行對比。

002.jpg

  通過與DCP-ABE方案在參數(shù)生成時間、加密算法以及解密算法所耗費的時間進行了對比分析。圖2表示對于不同數(shù)量的AA,兩方案在參數(shù)生成階段所需要的時間??梢婋S著AA數(shù)量的增加,本方案所消耗的時間更少。

003.jpg

004.jpg

  加密與解密的耗時對比如圖3和圖4所示,圖中表示當密文中的屬性個數(shù)增加時,用戶的加密解密時間也會增長,本方案在實現(xiàn)隱私保護的同時,在時間上的消耗上與DCP-ABE方案相近。

  在密鑰產生階段,由于需要AA和用戶之間進行交互式計算,因此與DCP-ABE相比,本方案在密鑰產生階段用戶一端增加了計算量,設密文中的屬性個數(shù)為n,則客戶端的計算量數(shù)量級為O(n),增加的計算量在可接受范圍之內。

5結論

  CPABE方案在云存儲環(huán)境下有著重要的應用,但系統(tǒng)中CA的安全性是整個系統(tǒng)的安全瓶頸。本文提出的PPMACP-ABE方案的目的在于保護云存儲環(huán)境中用戶的隱私。采用交互式算法,利用承諾方案和零知識證明等技術實現(xiàn)了在多個AA模型下對用戶的屬性和GID的保護,在合理的計算量范圍內提高了系統(tǒng)的安全性。適用于對安全性要求較高的云存儲系統(tǒng)。

參考文獻

 ?。?] MellP,Grance T.800145. The NIST definition of cloud computing[S]. Gaithersburg,USA: National Institute of Standards and Technology,2009.

 ?。?] BETHENCOURT S A,WATERS B.Ciphertextpolicy attributebased encryption[C]. IEEE Symposium on Security and Privacy (SP’07),Oakland,USA: IEEE Computer Society,2007: 321334.

  [3] SAHAI A, WATERS B. Fuzzy identity based encryption[J]. Lecture Notes in Computer Science,2005,3494:457473.

 ?。?] CHASE M. Multiauthority Attribute Based Encryption[J]. Lecture Notes in Computer Science,2007,4392:515534.

 ?。?] HUR J,KOO D,HWANG S O,et al. Removing escrow from ciphertext policy attributebased encryption[J]. Computers & Mathematics with Applications,2013,65(9):13101317.

 ?。?] Lin Huang, Cao Zhenfu, Liang Xiaohui,et al. Secure threshold multi authority attribute based encryption without a central authority[J]. Information Sciences An International Journal,2010,180(13):26182632.

 ?。?] 王小英. 基于橢圓曲線密碼的分布式密鑰生成協(xié)議與應用[D]. 成都:西華大學, 2007.

  [8] 孫昌霞,馬文平,陳和風. 可證明安全的中心授權的多授權屬性簽名[J].電子科技大學學報,2012,41(4):552556.


此內容為AET網站原創(chuàng),未經授權禁止轉載。