趙司宇 蔣 睿
(東南大學(xué)信息科學(xué)與工程學(xué)院, 南京 210096)
云存儲是云計算中最重要的服務(wù)之一,它允許用戶將數(shù)據(jù)上傳到云端來共享給其他用戶.常用于保護數(shù)據(jù)安全性的方法是將數(shù)據(jù)上傳至云端之前進行加密,只有擁有有效密鑰的用戶才能成功解密.Sahai等[1]提出了基于屬性的加密方案(ABE),該方案是使用一組屬性來表示用戶身份的新型公鑰加密方案.在現(xiàn)實中,每個人都有許多屬性,每個屬性表示人的某一特征.可看出,ABE是一種新型的基于身份的加密方案(IBE)[2],可以實現(xiàn)靈活且細粒度的數(shù)據(jù)訪問控制.
ABE可分為2類:采用密鑰嵌入策略的基于屬性的加密方案 (KP-ABE)和采用密文嵌入策略的基于屬性的加密方案 (CP-ABE).Goyal等[3]最早提出了KP-ABE,在該方案中,數(shù)據(jù)擁有者使用一組屬性加密密文,并且將用戶的屬性訪問策略嵌入到用戶密鑰中.僅當(dāng)密鑰中的訪問策略符合密文中的屬性時,對應(yīng)的用戶能夠成功解密消息.之后,Bethencourt等[4]提出了CP-ABE,在該方案中,數(shù)據(jù)擁有者將他們的訪問策略嵌入在密文中,并且有一個密鑰分發(fā)中心(KGC)來管理用戶的屬性以及為用戶分配簽入了對應(yīng)屬性的密鑰.僅當(dāng)密鑰中的屬性滿足訪問策略時,密文能夠成功解密.此外,KGC也能夠?qū)崿F(xiàn)細粒度的密鑰管理與分發(fā).CP-ABE已經(jīng)成為云存儲中最合適的訪問控制技術(shù)之一.
在CP-ABE中,用戶訪問數(shù)據(jù)的權(quán)力通過對用戶屬性的分配和撤銷來實現(xiàn)動態(tài)變化.屬性撤銷最初由Bethencourt等[4]提出.撤銷方案共有2種:一種被稱為直接撤銷,如文獻[5],它列出一個撤銷列表并直接撤銷列表上用戶的訪問權(quán)力,但這種方法在效率和靈活性上存在限制;另一種被稱為非直接撤銷[6],又稱屬性撤銷,它通過更新用戶的屬性得以實現(xiàn),使得屬性不再能夠滿足訪問策略的用戶失去訪問權(quán)力,然而如何提高撤銷用戶屬性的效率也是一個瓶頸.
屬性撤銷對安全性通常有2個要求:前向安全,即新加入系統(tǒng)的用戶只要屬性滿足訪問策略就能夠解密以前被上傳的屬性文件;后向安全,即防止訪問權(quán)力已經(jīng)被撤銷的用戶依舊能夠解密數(shù)據(jù)文件.Ruj等[7]提出了一個能夠進行匿名認(rèn)證的方案,然而這一方案在前向安全方面有漏洞.文獻[8]方案中,共謀攻擊會威脅到后向安全.文獻[9]提出了一個細粒度且高效的方案,然而已經(jīng)被撤銷的用戶可以通過截取信息或進行共謀攻擊來威脅方案的后向安全.文獻[10]也由于不能抵抗共謀攻擊而在后向安全方面存在漏洞.文獻[11]能夠同時提供前向和后向安全并抵抗共謀攻擊,然而方案存在運行效率不高的問題.
密鑰托管問題也是一個常見問題,如文獻[12-13],由于用戶密鑰僅由一個機構(gòu)生成,該機構(gòu)可能濫用這些密鑰.Chow[14]提出了一個匿名方案能夠解決密鑰托管問題,然而該方案難以進行細粒度控制.文獻[15]給出了一個解決密鑰托管問題的方法2PC,但該方法不能抵抗共謀攻擊.文獻[16]提出了一個分配方案來解決密鑰托管問題,然而這一方案的訪問樹僅能包含與門.文獻[17]中的方案能夠解決密鑰托管問題,并使用權(quán)重屬性來優(yōu)化對不同用戶之間特權(quán)的表達,但該方案不能進行屬性撤銷,且攻擊者能夠在用戶密鑰傳輸時竊聽或截獲這些密鑰,除非這些密鑰在安全信道上傳輸.
本文提出了一個云環(huán)境下具有兩層次撤銷的安全數(shù)據(jù)共享(SDSS-TLR)方案.該方案能夠抵抗用戶與用戶之間、用戶與云服務(wù)器之間的共謀攻擊,通過2個不同實體生成密鑰來解決密鑰托管問題,保證包括了前、后向安全的安全撤銷,在僅有用戶登記階段使用安全信道傳輸信息的條件下實現(xiàn)安全的密鑰分發(fā).此外,SDSS-TLR方案中有2種不同層次的撤銷.該方案能通過管理用戶屬性或列出撤銷用戶列表來控制用戶解密密文的權(quán)力.
定義1(雙線性對)[18]定義G0和G1是有著相同素數(shù)階p的乘法循環(huán)群,定義e:G0*G0→G1是滿足如下性質(zhì)的映射:
2) 非退化性 對?g0,g1∈G0{1},e(g0,g1)≠1;
3) 可計算性 對?g0,g1∈G0,e(g0,g1)可以在群G1中得到有效的計算.
定義2(拉格朗日多項式)[4]對k+1個不同的點(x0,f(x0)),(x1,f(x1)),…,(xk,f(xk)),通過如下方法構(gòu)建的多項式f(x)是唯一經(jīng)過這些點的多項式:
設(shè)F為0-1函數(shù),它對于區(qū)分上述2個向量的優(yōu)勢為ε=Pr[F(e(g,g)abc)=0]-Pr[F(e(g,g)z)=0],當(dāng)ε在一個多項式的時間內(nèi)可忽略時,DBDH假設(shè)成立.
設(shè)F為0-1函數(shù),它對于區(qū)分上述2個向量的優(yōu)勢為ε=Pr[F(gab)=0]-Pr[F(gc)=0],當(dāng)ε在一個多項式的時間內(nèi)可忽略時,DDH假設(shè)成立.
SDSS-TLR方案中使用如下形式的訪問策略樹來表示嵌入在密文中的訪問策略.在訪問策略樹中,每個葉節(jié)點代表一個屬性,每個非葉節(jié)點z則代表一個子節(jié)點數(shù)為nz,對應(yīng)多項式為qz(x),門限值為kz,即由(nz,kz,qz(x))共同表達的門限.其中多項式形式為qz(x)=akz-1xkz-1+…+a1x+a0.對于門限值kz,有0 在SDSS-TLR方案中有5種不同的實體,包括證書分發(fā)機構(gòu)(CA)、密鑰分發(fā)中心(KGC)、云服務(wù)器(CS)、數(shù)據(jù)擁有者和用戶,它們的結(jié)構(gòu)關(guān)系如圖1所示. 1) CA是一個全局可信的機構(gòu),常為受委托發(fā)放證書的第三方公司或組織.它接受用戶的登記,隨后將證書分發(fā)給合法的用戶,用戶以此在系統(tǒng)中證明他們的身份. 圖1 系統(tǒng)模型 2) KGC是一個獨立管理用戶身份的機構(gòu),可以是位于某一地點、得到授權(quán)的機關(guān)或組織.當(dāng)KGC通過證書了解用戶的身份后,它將對應(yīng)的用戶屬性分配給用戶,生成相應(yīng)的用戶密鑰并在撤銷階段生成用于屬性撤銷的組件.KGC還將屬性公鑰公開. 3) CS被用來存儲數(shù)據(jù)文件.它也可以進行計算,如生成全局參數(shù)、生成密鑰和重加密密文. 4) 數(shù)據(jù)擁有者將密文上傳到CS.他們首先選擇他們的訪問策略,將策略以屬性表達,生成訪問策略樹.隨后,他們使用訪問策略樹加密消息并上傳. 5) 用戶可以下載密文并嘗試通過他們的密鑰進行解密. 本方案安全模型建立在誠實但是好奇的KGC,CS和有挑戰(zhàn)性的用戶的基礎(chǔ)上.KGC誠實但是好奇意味著它會正確地執(zhí)行密鑰生成函數(shù)并將正確的密鑰發(fā)送給用戶,但它會試圖獲取密文的內(nèi)容;CS誠實但是好奇則意味著CS會正確地執(zhí)行密鑰生成函數(shù)并保存密文,但會泄露生成的信息或獲取外部信息,以此試圖獲取密文的內(nèi)容.其中KGC不能參與共謀攻擊. 在安全模型中包括挑戰(zhàn)者和對手,其中對手能夠查詢信息,從而嘗試威脅方案的安全性,挑戰(zhàn)者則能運行方案中的各種算法,從而生成密文、密鑰等組件以回應(yīng)對手的查詢.由于對手可以試圖威脅密文和密鑰的安全性,本文分別針對密文和密鑰的安全性設(shè)置了密文內(nèi)容猜測和密鑰參數(shù)猜測2個安全模型,分別通過一個游戲?qū)崿F(xiàn).在密文內(nèi)容猜測模型中,對手試圖解密密文,對手可以與合法用戶或CS進行共謀,從而獲取密文以及不能直接解密密文的密鑰.在密鑰參數(shù)猜測模型中,對手則試圖構(gòu)造屬于自己的密鑰,從而完成對密文的解密;對手可以與合法用戶或CS進行共謀,獲取不能直接解密密文的密鑰. 定義5(密文內(nèi)容猜測模型) 初始化: 挑戰(zhàn)者運行系統(tǒng)初始化算法來生成算法中使用的參數(shù),然后將它們保留或發(fā)送給對手. 階段1:對手將一組(uid,Suid) 發(fā)送給挑戰(zhàn)者,其中Suid是一個屬性集合.然后,挑戰(zhàn)者運行密鑰生成函數(shù),針對每一組用戶身份通識符和屬性集生成對應(yīng)的密鑰SK={D,D2,Di,1,Di,2,?j∈Si,Dj},發(fā)回密鑰來回應(yīng)對手對密鑰的查詢. 挑戰(zhàn): 對手選擇2個長度相同的不同消息m0和m1,然后將它們發(fā)送給挑戰(zhàn)者.隨后,挑戰(zhàn)者選擇一個訪問策略Α*,階段1中已查詢的密鑰均不能滿足Α*.最后,挑戰(zhàn)者拋出一枚硬幣,隨機得到一個值b:如果硬幣正面向上,b=1;反之,b=0.根據(jù)得到的值,挑戰(zhàn)者通過Α*加密消息mb,生成一組密文CT={C1,C2,?y∈Y,Cy,1,Cy,2},然后將它發(fā)送給對手. 階段2: 對手通過將另一組(uid,Suid)發(fā)送給挑戰(zhàn)者來查詢?nèi)舾擅荑€,挑戰(zhàn)者再次運行密鑰生成函數(shù),將對應(yīng)SK={D,D2,Di,1,Di,2,?j∈Si,Dj}發(fā)送給對手.這些密鑰也不能滿足訪問策略Α*. 猜測: 對手給出對于b的猜測b′. 對手在這場游戲中擁有優(yōu)勢ε=Pr[b=b′]-1/2.當(dāng)該優(yōu)勢在多項式時間內(nèi)可忽略時,意味著密鑰安全性能夠得到保證. 定義6(密鑰參數(shù)猜測模型) 初始化: 挑戰(zhàn)者運行系統(tǒng)初始化算法來生成算法中使用的參數(shù),然后將它們保留或發(fā)送給對手. 挑戰(zhàn): 對手選擇2個長度相同的參數(shù)ω0和ω1,將他們發(fā)送給挑戰(zhàn)者.然后,挑戰(zhàn)者拋擲一枚硬幣,隨機輸出一個值b,將ωb作為參數(shù)應(yīng)用在密鑰生成函數(shù)中,從而生成密鑰SK={D,D2,Di,1,Di,2,?j∈Si,Dj}并將它發(fā)送給對手. 猜測: 對手給出對于b的猜測b′. 對手在這場游戲中擁有優(yōu)勢ε=Pr[b=b′]-1/2.當(dāng)該優(yōu)勢在多項式時間內(nèi)可忽略時,意味著密鑰安全性能夠得到保證. 本文提出的SDSS-TLR方案有5個階段,包括系統(tǒng)初始化、密鑰生成、數(shù)據(jù)加密、數(shù)據(jù)解密和撤銷. CS通過與KGC交互生成部分密鑰組件,每一步使用文獻[21]中的Schnorr協(xié)議來確保消息的完整性.密鑰生成步驟如下: ① KGC計算出(gβ)ri=griβ,然后將它發(fā)送給CS. ② 收到消息后,CS使用公鑰gβ來計算(gβ)α=gαβ并得到gαβgriβ=g(α+ri)β. ③ KGC計算出A=g(α+ri)βH(uid)riβ,然后將它發(fā)送給CS. 用戶在收到KGC和CS發(fā)來的密鑰組件后,將它們組合得到用戶密鑰.密鑰為SK={D,D2,Di,1,Di,2,?j∈Si,Dj}. 用戶i首先計算出與KGC的共享密鑰xi=e(Di,2,PSK)=e(H(uid)γ,gτ),隨后輸入密鑰中與屬性j相關(guān)的部分和密文中與屬性j所對應(yīng)的部分以計算得到 e(H(uid)ri,gqy(0)+γ)e(g,g)ri(qy(0)+γ) (1)式中,DecryptNodey可利用遞歸算法計算得到.對于z=parent(y)的全部子節(jié)點Sz,Sz中擁有的屬性數(shù)量滿足門限值kz的用戶可以算出DecryptNodeparent(y)的值, 即 DecryptNodez= e(g,g)ri(qparent(y)(index(y))+γ)Δj(0)= e(H(uid)ri,gqz(0)+γ)e(g,g)ri(qz(0)+γ) (2) 式中,Δj(0)是定義2中拉格朗日多項式代入0得到的值;qparent(y)(index(y))+γ和index(y)等價于定義2中的f(xj)和xj. 通過上述相同的方法,當(dāng)用戶能夠計算出Sparent(z)中滿足門限值kparent(z)的DecryptNode時,用戶能夠得到DecryptNodeparent(z). 因此,如果一個用戶所擁有的屬性滿足訪問策略樹的要求,該用戶能夠從底部到根部計算出根節(jié)點的節(jié)點值X=DecryptNodeR=e(H(uid)ri,gs+γ)·e(g,g)ri(s+γ).然后,該用戶能夠計算出與CS的共享密鑰zi=e(D2,PSK)=e(H(uid)α,gτ),以此解密密文: 用戶層次的撤銷則被用于解決一些用戶因濫用他們解密密文的權(quán)力而需要被撤銷的情況.它無視用戶屬性,直接撤銷用戶解密密文的權(quán)力,效果等同于撤銷這些用戶的全部屬性,更加簡單、直接.在該方法中,KGC列出了一個需要被撤銷的用戶的列表,然后更新密文和不在列表上的用戶的密鑰. 本節(jié)將證明SDSS-TLR方案在2.2節(jié)中的安全模型下能夠抵抗選擇明文攻擊(CPA). 定理1 SDSS-TLR能夠抵御CPA. 對訪問策略樹Α*中涉及到的屬性j,挑戰(zhàn)者輸出密鑰{Dj=gdtiH(j)dticvjH(uid)dti}.對訪問策略樹Α*中未涉及到的屬性j,挑戰(zhàn)者輸出密鑰 {Dj=gdtiH(j)dtivjH(uid)dti}. 挑戰(zhàn): 對手選擇2個有相同長度的不同消息m0和m1,然后將它們發(fā)送給挑戰(zhàn)者.然后,挑戰(zhàn)者拋擲一枚硬幣,隨機輸出一個值b,再運行數(shù)據(jù)加密算法,得到 {C1=mbΩ,C2=gβs, ?j∈S,Cy,1=gqy(0)+γ,Cy,2=H(j)vj(qy(0)+γ)} 階段2: 與階段1類似,對手選擇一組(uid,Suid)發(fā)給挑戰(zhàn)者來查詢密鑰.這些密鑰均不能滿足訪問策略樹Α*. 猜測: 對手輸出對b的猜測b′=0或1. 若對手給出正確的猜測b′=b,挑戰(zhàn)者認(rèn)為密文是有效的,因此猜測λ′=0.而當(dāng)Ω=e(g,g)cde時,密文是有效的.因此,基于挑戰(zhàn)者針對DBDH假設(shè)有優(yōu)勢ε,挑戰(zhàn)者游戲獲勝的概率為Pr[b′=bλ′=0]=1/2+ε.若對手給出錯誤的猜測b′≠b,挑戰(zhàn)者猜測λ′=1.當(dāng)Ω=e(g,g)z時,由于Ω是隨機選得的,密文是無效的,對手對于找出正確的結(jié)果沒有優(yōu)勢,因此挑戰(zhàn)者游戲獲勝的概率為 Pr[b′≠bλ′=1]=1/2.由此可知,挑戰(zhàn)者全局游戲獲勝的概率為 (3) 它在多項式時間內(nèi)是可以忽略的.通過這一游戲,可知對手不能在多項式時間內(nèi)以不可忽略的優(yōu)勢攻破SDSS-TLR方案,因此SSDS-TLR方案針對CPA是安全的. 本節(jié)將證明SDSS-TLR方案可以進行安全的密鑰分發(fā).該方案能夠抵御共謀攻擊,解決攻擊者在密鑰傳輸中的竊聽和密鑰托管問題. 引理1 SDSS-TLR方案中的密鑰能夠保證安全性. 初始化: 挑戰(zhàn)者運行初始化算法,生成公共參數(shù){G0,G1,e,H,g,p}發(fā)送給對手并對每一屬性j隨機選擇參數(shù)δj∈G0. 猜測: 對手輸出對b的猜測b′=0或1. 若對手給出正確的猜測b′=b,可以認(rèn)為密鑰是有效的,即Z=gcd.因此,基于挑戰(zhàn)者針對DDH有優(yōu)勢ε,挑戰(zhàn)者游戲獲勝的概率為Pr[b′=bλ′=0]=1/2+ε.若對手給出錯誤的猜測b′≠b,可認(rèn)為密鑰是無效的,即當(dāng)Z=ge時,由于Z是隨機選取的,密鑰是無效的,對手對于找出正確的結(jié)果沒有優(yōu)勢,因此挑戰(zhàn)者游戲獲勝的概率為 Pr[b′≠bλ′=1]=1/2.由此可知,挑戰(zhàn)者全局游戲獲勝的概率為 (4) 它在多項式時間內(nèi)是可以忽略的.通過這一游戲,可知SDSS-TLR方案中的密鑰能夠保證安全性. 定理2 SDSS-TLR方案能夠抵抗用戶之間、用戶與CS之間的共謀攻擊. 此外,由于CS只能夠生成密鑰中的部分組件,它僅通過自己無法解密密文.對無效的用戶,CS無法賦予他們正確的ruid.因此,由引理1可知,CS無法讓無效的用戶生成屬于他們的有效密鑰,即SSDS-TLR方案能夠抵御用戶與CS之間的共謀攻擊. 定理3 SDSS-TLR方案能夠在公共信道上進行安全的密鑰傳輸. 證明 為了應(yīng)對竊聽KGC與用戶之間或CS與用戶之間傳遞的密鑰的攻擊者,SDSS-TLR方案設(shè)定一個用戶i與KGC之間的共享密鑰xi,用戶i與CS之間的共享密鑰zi,將它們包含在通過公共信道傳遞的密鑰中.用戶發(fā)送給KGC和CS的用來生成共享密鑰xi和zi的部分在用戶登記階段通過安全信道傳遞給了KGC和CS.因此,攻擊者們無法得到共享密鑰,由引理1可知,即使攻擊者竊聽到了密鑰,由于沒有共享密鑰,他們也無法得到有效的解密密鑰.因此,SDSS-TLR方案在公共信道上也能夠保證安全的密鑰傳輸. 定理4 SDSS-TLR方案能夠防止密鑰托管問題. 證明 KGC能夠輕易地從CS處獲取密文.然而,即使KGC擁有部分主密鑰和用戶唯一的參數(shù)ruid,由于密鑰中的部分組件由KGC和CS共同生成且僅由CS傳遞,KGC無法獲得用戶的全部密鑰.因此,由引理1可知,KGC無法自己生成全部的用戶密鑰.此外,由引理1可知,共享密鑰zi能夠防止KGC竊聽得到CS傳輸?shù)拿荑€組件.因此KGC無法得到全部的用戶密鑰.綜上可知,SDSS-TLR方案能防止密鑰托管問題. 本節(jié)將證明SDSS-TLR方案能夠同時保證撤銷的前向與后向安全. 定理5 SDSS-TLR方案能夠保證撤銷的安全性. 證明 對于有屬性需要被更新的用戶,他們可以獲得密鑰更新密鑰KUKj=H(j)ri(vj′-vj)來更新與屬性相關(guān)的組件.這些密鑰更新密鑰與用戶的唯一參數(shù)ruid綁定.因此,被撤銷的用戶即使能夠竊聽得到未被撤銷的用戶的密鑰更新密鑰,他們也無法得到屬于自己的有效密鑰更新密鑰.而對于用戶層次的撤銷,由于每個未被撤銷用戶的密鑰更新密鑰KUK2=H(uid)γ′-γ都是唯一的,被撤銷的用戶也無法通過其他未被撤銷的用戶的密鑰更新密鑰,得到屬于自己的有效密鑰更新密鑰. 表1是對文獻[7,9,17]中的方案和SDSS-TLR方案的綜合性比較.從表中可看出,SDSS-TLR方案滿足所有安全性目標(biāo),相對于其他方案在安全性上更具備優(yōu)勢. 表1 安全性比較 下面對本文的SSDS-TLR方案與文獻[7,9,17]中方案的存儲開銷進行對比,如表2所示.表中,p為群G0,G1中的元素尺寸;naid為離散KGC方案中一個KGC管理的密鑰數(shù)量;na為整個系統(tǒng)中屬性的數(shù)量;nu為整個系統(tǒng)中用戶的數(shù)量;nA為離散KGC方案中KGC的數(shù)量;na,uid為整個系統(tǒng)中一個用戶被分配的屬性數(shù)量;l為密文相關(guān)的屬性數(shù)量;k為分層的訪問策略樹平均每個屬性所擁有的層數(shù). 表2 每個實體的存儲開銷 1) 將4種方案的KGC存儲開銷進行對比,忽略文獻[7,9]中分別由每個KGC管理naid個屬性的情況,這4種方案在KGC的總存儲開銷上區(qū)別不大,其中本文和文獻[9]的總存儲開銷略高于文獻[7,17].在 本文方案中,由于KGC需要給每個屬性存儲vj,KGC的開銷與屬性總數(shù)na成線性關(guān)系,且系數(shù)為1.此外,由于KGC為用戶生成密鑰,KGC需要存儲與用戶綁定的ruid和用戶的公鑰,因此開銷與用戶的數(shù)量nu成線性關(guān)系,且系數(shù)為2.KGC還需要存儲2個主密鑰和CS公鑰的一個組件. 3) 將4種方案的用戶存儲開銷進行對比,本文方案的存儲開銷與文獻[7,17]中方案幾乎相同,少于文獻[9].在本文方案中,用戶的存儲開銷來自于他們的密鑰.每個密鑰由5個組件組成,其中4個與用戶直接相關(guān),另一個與擁有的屬性相對應(yīng).因此,用戶的存儲開銷與他們擁有的屬性na,uid成線性關(guān)系,系數(shù)為1.此外,用戶需要存儲一個主密鑰.文獻[9]中,由于密鑰由不同的KGC生成并分發(fā),開銷也與KGC的數(shù)量nA成線性關(guān)系. 4) 將4種方案的CS存儲開銷進行對比發(fā)現(xiàn),本文方案開銷最小.在本文方案中,CS的存儲開銷主要來自密文,它由4個組件組成,其中2個與訪問策略樹中的屬性相關(guān),因此SDSS-TLR方案存儲開銷與密文相關(guān)的屬性個數(shù)l成線性關(guān)系,系數(shù)為2. 1) 本文給出了一個安全分發(fā)密鑰的方法,它不同于常見的通過安全信道來傳輸密鑰的方法,而是使安全信道僅用于在登記階段傳遞用戶證書與信息,在其他階段,用戶密鑰均通過公共信道傳輸.此外,由于密鑰由2個不同的實體產(chǎn)生,密鑰托管問題能夠得到解決. 2) 本文中SDSS-TLR方案能夠保證數(shù)據(jù)的安全性,能夠抵抗用戶與用戶之間、用戶與CS之間的共謀攻擊和其他多種攻擊,也能夠保證安全且細粒度的撤銷,使得前向與后向安全同時得到保障. 3) 本文中SDSS-TLR方案能夠完成2種不同層次的撤銷:屬性層次的撤銷和用戶層次的撤銷.屬性層次的撤銷采用常見的屬性撤銷方法,通過細粒度地控制用戶擁有的屬性來決定用戶解密密文的能力;用戶層次的撤銷則無視用戶屬性,能夠給出一個用戶撤銷列表來直接撤銷這些用戶解密密文的權(quán)力,等效于撤銷這些用戶全部屬性,更加簡單、直接.2 SDSS-TLR方案結(jié)構(gòu)
2.1 系統(tǒng)模型
2.2 安全模型
3 SDSS-TLR方案
3.1 系統(tǒng)初始化
3.2 密鑰生成
3.3 數(shù)據(jù)加密
3.4 數(shù)據(jù)解密
3.5 撤銷
4 安全性分析
4.1 選擇性安全
4.2 安全的密鑰分發(fā)
4.3 安全撤銷
4.4 安全性比較
5 效率分析
6 結(jié)論