江健豪 蔣 睿 裴 蓓 吳松洋
(1東南大學(xué)網(wǎng)絡(luò)空間與安全學(xué)院,南京210096)(2信息網(wǎng)絡(luò)安全公安部重點(diǎn)實(shí)驗(yàn)室,上海200031)
云計(jì)算通過互聯(lián)網(wǎng)為用戶提供大量虛擬資源和技術(shù),減小用戶在本地的存儲(chǔ)和計(jì)算開銷,同時(shí)對(duì)數(shù)據(jù)批量處理從而方便用戶進(jìn)行數(shù)據(jù)訪問.然而,云環(huán)境的公開性使得數(shù)據(jù)極易遭受攻擊.因此,應(yīng)用在云環(huán)境中的加密算法需要保證僅有符合條件的用戶能夠完成數(shù)據(jù)解密,并防止云服務(wù)器直接獲取數(shù)據(jù)內(nèi)容.同時(shí),加密方案需要更高效的密鑰分發(fā)與更新以滿足用戶身份的復(fù)雜性和用戶權(quán)限注冊(cè)與注銷帶來的高流動(dòng)性.由于云數(shù)據(jù)的數(shù)量大且種類繁多,需要根據(jù)用戶需求提供細(xì)粒度的數(shù)據(jù)訪問服務(wù),同時(shí)保證數(shù)據(jù)的機(jī)密性.因此常規(guī)的加密算法無法針對(duì)云數(shù)據(jù)的這一特點(diǎn)實(shí)現(xiàn)安全加密.
為了進(jìn)行細(xì)粒度的數(shù)據(jù)訪問控制,Sahai等[1]和Shamir[2]提出屬性基加密方案(attribute-based encryption, ABE).Bethencourt等[3]在此基礎(chǔ)上提出密文策略屬性基加密方案(ciphertext-policy ABE, CP-ABE),其相對(duì)于密鑰策略屬性基加密方案[4]更適合于云數(shù)據(jù)加密.如果需要撤銷CP-ABE方案中某個(gè)用戶的屬性以改變?cè)撚脩粼L問權(quán)限,需要解除該用戶對(duì)這些屬性相關(guān)密文的訪問權(quán)限并保留其他合法用戶的數(shù)據(jù)訪問權(quán)限.為了實(shí)現(xiàn)屬性的安全撤銷,Chang等[5]通過云服務(wù)器的重加密進(jìn)行屬性撤銷,但任何撤銷都會(huì)影響系統(tǒng)的所有屬性,效率較低.文獻(xiàn)[6]中的方案能夠同時(shí)實(shí)現(xiàn)安全撤銷并抵御共謀攻擊,但同樣運(yùn)行效率較低;文獻(xiàn)[7]通過引入屬性群組的概念改進(jìn)了效率.文獻(xiàn)[8]中的方案通過用戶群組管理員解決屬性撤銷的問題.Xiong等[9]提出了通過動(dòng)態(tài)身份群組簡(jiǎn)化訪問結(jié)構(gòu),實(shí)現(xiàn)屬性撤銷并保護(hù)用戶隱私.文獻(xiàn)[10]中的方案實(shí)現(xiàn)了數(shù)據(jù)刪除和屬性撤銷.然而,目前已經(jīng)出現(xiàn)有效運(yùn)算離散對(duì)數(shù)的量子算法[11].以上方案均不能抵御量子計(jì)算攻擊,需要應(yīng)用新的抗量子計(jì)算加密算法來抵御潛在的量子計(jì)算攻擊.
格難題是量子計(jì)算機(jī)不擅長(zhǎng)解決的一類傳統(tǒng)數(shù)學(xué)領(lǐng)域上的問題,主要包括最短格問題(shortest vector problem, SVP)、誤差學(xué)習(xí)(learning with error, LWE)難題等,這些難題被證明在量子計(jì)算攻擊下是難以解決的.由于格問題存在最壞情況到一般情況的困難性規(guī)約[12],降低了算法對(duì)困難性假設(shè)要求,因此出現(xiàn)了大量基于格的公鑰加密算法[13-14].Gentry等[15]基于LWE難題構(gòu)建了原像采樣陷門函數(shù),并將其運(yùn)用在數(shù)字簽名和IBE方案中,文獻(xiàn)[16]優(yōu)化了這種陷門函數(shù)生成的采樣向量長(zhǎng)度.Hoffstein等[17]基于近似最短向量問題提出了NTRU(number theory research unit)算法,提高了格加密算法的效率.Stehlé等[18]將NTRU算法與環(huán)上誤差學(xué)習(xí)問題(learning with error problem over ring, R-LWE)的困難性聯(lián)系在一起,證明了密鑰多項(xiàng)式生成的公鑰具有均勻隨機(jī)性,給出了標(biāo)準(zhǔn)模型下的安全性證明.
為了實(shí)現(xiàn)加密云數(shù)據(jù)抗量子計(jì)算攻擊的性能,一些學(xué)者致力于將傳統(tǒng)ABE方案與格加密算法相結(jié)合,構(gòu)造基于格加密算法的ABE方案.文獻(xiàn)[19]提出了一種理想格上的ABE方案,然而該方案既不能防止共謀攻擊也不能進(jìn)行屬性撤銷.文獻(xiàn)[20]提出了一種可以防止共謀攻擊的基于格的ABE方案,但同樣不能夠?qū)崿F(xiàn)屬性撤銷.文獻(xiàn)[21]改進(jìn)了訪問控制結(jié)構(gòu),優(yōu)化了屬性分配方案,但是同樣未能實(shí)現(xiàn)安全的屬性撤銷.文獻(xiàn)[22]將改進(jìn)的陷門函數(shù)應(yīng)用于ABE方案中,提高了計(jì)算效率,但仍然未考慮到屬性撤銷.文獻(xiàn)[23]采用二叉樹結(jié)構(gòu),通過羅列所有屬性和用戶集生成接入結(jié)構(gòu),并采用加密算法生成對(duì)應(yīng)所有接入結(jié)構(gòu)的重復(fù)密文,最后以此方式實(shí)現(xiàn)屬性撤銷;該方案運(yùn)算量遠(yuǎn)大于一般的屬性集加密算法,沒有實(shí)現(xiàn)真正意義上的屬性撤銷,無法適用于外包的云存儲(chǔ).文獻(xiàn)[24]采用二叉樹結(jié)構(gòu)實(shí)現(xiàn)屬性撤銷,并基于拉格朗日多項(xiàng)式實(shí)現(xiàn)門限訪問策略;然而該方案的缺陷在于屬性被撤銷的用戶仍能解密撤銷前上傳到云服務(wù)器的密文,并且基于屬性二叉樹的屬性撤銷的單次撤銷運(yùn)算量比重新初始化系統(tǒng)更大.文獻(xiàn)[25]結(jié)合文獻(xiàn)[24]的重加密方案,通過二叉樹結(jié)構(gòu)生成屬性用戶群密鑰并進(jìn)一步更新用戶私鑰,以此解密外包服務(wù)器重加密后的密文;然而,該方案的缺陷在于未對(duì)撤銷前存儲(chǔ)在云服務(wù)器的密文進(jìn)行更新,無法實(shí)現(xiàn)安全的屬性撤銷.文獻(xiàn)[26]基于R-LWE問題,通過構(gòu)造陷門函數(shù)產(chǎn)生屬性私鑰,并結(jié)合屬性基加密算法提出一種具備抗量子計(jì)算攻擊的云數(shù)據(jù)外包加密方案;該方案可實(shí)現(xiàn)有效的用戶屬性撤銷,但密鑰尺寸龐大,運(yùn)算效率較低.
除文獻(xiàn)[26]外,目前基于格難題的屬性基加密方案均不能實(shí)現(xiàn)真正意義上的有效屬性撤銷.為抵御量子計(jì)算攻擊并解決安全屬性撤銷問題,同時(shí)進(jìn)一步提高運(yùn)算效率,本文提出一個(gè)屬性可撤銷的抗量子計(jì)算攻擊CP-ABE方案RNL-ABE(revocable NTRU lattices based attribute-based encryption).首先通過構(gòu)建NTRU格并從中采樣生成屬性公私鑰對(duì),將R-LWE難題與CP-ABE方案結(jié)合,實(shí)現(xiàn)了密鑰的安全保護(hù),形式化地證明了該方案在選擇屬性集模型下能夠抵御量子計(jì)算攻擊;同時(shí),實(shí)現(xiàn)了云數(shù)據(jù)的細(xì)粒度訪問控制和高效安全的屬性撤銷,并且防止云中各類實(shí)體間實(shí)施共謀攻擊.
定義4(判定性小多項(xiàng)式商假設(shè)(decisional small polynomial ratio assumption,DSPRφ,q,χAssumption) 設(shè)φ(x)∈Z[x]為一個(gè)n階多項(xiàng)式,質(zhì)數(shù)q∈Z,χ為環(huán)R?Z[x]/φ(x)上的分布,那么從分布χ中采樣的多項(xiàng)式f,g的商h=g·f-1modq(假設(shè)f在環(huán)Rq=R/qR中可逆)和從Rq上均勻隨機(jī)采樣的多項(xiàng)式是不可區(qū)分的[13].
定義6(判定性R-LWE) 對(duì)于定義2中環(huán)Rq=Zq[x]/(xN+1),q=1mod(2N),a∈Rq為均勻隨機(jī)選取的向量,s∈Rq為秘密向量,e∈R為服從定義5中離散高斯分布Ψα的誤差向量.令環(huán)上向量b=a·s+e,b∈Rq,判定性R-LWE問題是區(qū)分向量組(a,b)與R2上均勻隨機(jī)選擇的向量組[14].
根據(jù)定義6,定義關(guān)于判定性R-LWE問題的隨機(jī)預(yù)言機(jī)Ω.
定義7(隨機(jī)預(yù)言機(jī)模型) 隨機(jī)預(yù)言機(jī)Ω將以同等的概率通過如下定義的2個(gè)采樣器中進(jìn)行采樣.
判定性R-LWE問題允許敵手多次詢問預(yù)言機(jī)Ω,并且根據(jù)得到的采樣給出對(duì)于采樣器的猜測(cè)Ωr,r∈{1,2}.由于判定性R-LWE問題是困難的,任何敵手對(duì)Ω的猜測(cè)Ωr所具有的優(yōu)勢(shì)Pr[r=1]-Pr[r=2]都是可忽略的.
定義8(選擇屬性集安全模型) 對(duì)于CP-ABE的選擇屬性集模型 (selective-set model)[28]定義如下.
①在初始化階段,敵手V公布訪問策略A.
②在啟動(dòng)階段,挑戰(zhàn)者運(yùn)行CP-ABE方案的啟動(dòng)算法生成公共參數(shù)并發(fā)送給敵手.
③在詢問階段,允許敵手V對(duì)不同的屬性集合Sj中的屬性詢問對(duì)應(yīng)私鑰,但V挑戰(zhàn)的屬性集Sj中的屬性不包含在訪問策略A中.
④在挑戰(zhàn)階段,敵手V提交2個(gè)等長(zhǎng)消息M0和M1.挑戰(zhàn)者拋擲硬幣c∈{0,1},根據(jù)結(jié)果選擇消息Mc加密后發(fā)送給敵手V.
⑤重復(fù)詢問階段.
⑥在猜測(cè)階段,敵手V對(duì)c返回猜測(cè)c′.敵手V在這個(gè)游戲中具有優(yōu)勢(shì)Pr[c′=c]-1/2.
定義9(屬性撤銷安全模型) 屬性撤銷安全模型定義如下.
①在初始化階段,敵手V公布目標(biāo)訪問策略、自身屬性集S和撤銷屬性集Sr.撤銷屬性集Sr是屬性集S的子集.
②在啟動(dòng)階段,挑戰(zhàn)者運(yùn)行CP-ABE方案的啟動(dòng)算法并生成私鑰發(fā)送給敵手V.
③在詢問階段,敵手V從集合SSr中選擇屬性j*,挑戰(zhàn)者撤銷屬性j*,生成相關(guān)更新組件并發(fā)送給敵手V.
④在挑戰(zhàn)階段,敵手從撤銷屬性集合中選擇屬性j,挑戰(zhàn)者拋擲硬幣c∈{0,1}.若c=0則隨機(jī)生成密文發(fā)送給敵手V.若c=1則撤銷屬性j,將更新后的密文發(fā)送給敵手V.
⑤重復(fù)詢問階段.
⑥在猜測(cè)階段,敵手V對(duì)c返回猜測(cè)c′.敵手V在這個(gè)游戲中具有優(yōu)勢(shì)Pr[c′=c]-1/2.
系統(tǒng)模型如圖1所示,共5個(gè)實(shí)體.
圖1 系統(tǒng)模型
證書頒發(fā)機(jī)構(gòu)(CA)是一個(gè)全局可信的中心機(jī)構(gòu),每個(gè)用戶需要向CA發(fā)送身份信息進(jìn)行注冊(cè).在CA確認(rèn)用戶合法性后,向用戶發(fā)送對(duì)應(yīng)證書,便于用戶在之后的過程中證明自己的身份.
密鑰管理中心(KGC)是一個(gè)管理用戶屬性和密鑰的權(quán)威機(jī)構(gòu).用戶在CA注冊(cè)后可以向KGC請(qǐng)求密鑰,KGC收到用戶發(fā)送的證書后,將對(duì)應(yīng)的屬性分配給用戶并為其生成對(duì)應(yīng)的密鑰.KGC同時(shí)負(fù)責(zé)屬性撤銷并更新用戶密鑰.
云服務(wù)器(CS)為用戶提供存儲(chǔ)數(shù)據(jù)的空間,接收需分享的加密數(shù)據(jù).當(dāng)KGC執(zhí)行屬性撤銷時(shí),CS可從KGC接受更新信息,進(jìn)行密文的更新.
數(shù)據(jù)擁有者(DO)指的是部分提供上傳數(shù)據(jù)的用戶.他們可以自己決定上傳數(shù)據(jù)的訪問策略,并將其嵌入密文進(jìn)行加密.
用戶根據(jù)自身需求從CS下載加密數(shù)據(jù),當(dāng)用戶屬性滿足訪問策略時(shí)可以成功解密.
本文方案定義威脅模型中共有6個(gè)實(shí)體:證書頒發(fā)機(jī)構(gòu)(CA)、密鑰管理中心(KGC)、云服務(wù)器(CS)、合法用戶、屬性被撤銷的用戶和外部攻擊者.CS是誠(chéng)實(shí)但好奇的,它始終正確地執(zhí)行方案中所有實(shí)體提出的要求,但會(huì)試圖解密密文內(nèi)容;CA和KGC為誠(chéng)實(shí)可信的,意味著它們始終正確地執(zhí)行方案中所有實(shí)體提出的要求,并且不會(huì)對(duì)密文密鑰等秘密內(nèi)容好奇;合法用戶是唯一有權(quán)利通過方案規(guī)定的合法途徑進(jìn)行解密的實(shí)體;屬性被撤銷用戶是指某個(gè)屬性已經(jīng)被撤銷,因而對(duì)該屬性相關(guān)的密文失去了訪問權(quán)限的用戶,他們?nèi)匀粫?huì)試圖解密這些密文;外部攻擊者是指沒有密鑰并試圖解密密文的非法入侵者.
在本文的威脅模型中,合法用戶、屬性被撤銷用戶以及外部攻擊者3方都可以相互交換部分信息,進(jìn)行共謀攻擊.
2.3.1 系統(tǒng)初始化
在系統(tǒng)初始化階段共有如下3個(gè)步驟:CA啟動(dòng)、KGC啟動(dòng)、生成系統(tǒng)公鑰和密鑰.
1) 在CA啟動(dòng)階段,CA根據(jù)系統(tǒng)安全參數(shù)λ選定多項(xiàng)式階數(shù)N、模數(shù)q以及一個(gè)較小的質(zhì)數(shù)p?q.隨后每個(gè)用戶將他們的身份信息發(fā)送給CA.在確定了用戶身份合法之后,CA隨機(jī)選擇一個(gè)uid∈Zq作為用戶唯一身份標(biāo)識(shí)符,然后輸出證書cert(uid).最后CA定義哈希函數(shù)H將uid∈Zq映射到H(uid)∈Zq.
2) 在KGC啟動(dòng)階段,KGC設(shè)定一個(gè)屬性集{x1,x2,…,x|S|}, 其中|S|為本文方案中涉及的屬性個(gè)數(shù),隨后為每個(gè)元素隨機(jī)選擇γj∈Rq作為屬性參數(shù).隨后KGC通過文獻(xiàn)[16]中的高斯采樣算法Gaussian_Sampler(B,σ,c)對(duì)定義2中的格基B生成系統(tǒng)公鑰與私鑰.
3) 生成系統(tǒng)公鑰和私鑰的流程如下.
②用擴(kuò)展歐幾里得算法計(jì)算多項(xiàng)式環(huán)向量ρf,ρg∈R和Rf,Rg∈Z,滿足等式
-ρf·f=Rfmod(xN+1)
-ρg·g=Rgmod(xN+1)
若gcd(Rf,Rg)≠1或gcd(Rf,q)≠1,則重新對(duì)f,g進(jìn)行采樣.
③對(duì)滿足條件的Rf,Rg∈Z再次使用擴(kuò)展歐幾里得算法,計(jì)算滿足uRf+vRg=1的u,v∈Z.
F←F-k·f,G←G-k·g
2.3.2 屬性密鑰生成
1) 輸入屬性參數(shù)tj,進(jìn)行高斯采樣(δj,1,δj,2)=(tj,0)-Gaussian_sampler(B,σf,(tj,0)),得到(δj,1,δj,2)滿足{δj,1+δj,2·h=p-1tj}.
2.3.3 數(shù)據(jù)加密
DO隨機(jī)選擇小多項(xiàng)式u∈{-1,0,1}N和e1,eφ,2∈Ψα作為誤差多項(xiàng)式.隨后將明文m∈{0,1}N設(shè)定為Nbit二進(jìn)制.密文組成如下:
2.3.4 數(shù)據(jù)解密
數(shù)據(jù)解密流程如下.
2) 解密時(shí),符合訪問路徑的合法用戶計(jì)算出的令牌能夠進(jìn)行進(jìn)一步的解密得出中間量μ,即
展開TKj、Cj,1得到
進(jìn)一步展開SK0,并合并式中誤差向量χj=ej,2·δj,2·γj-δj,1得到
pej,1·χj)
進(jìn)一步展開密文項(xiàng)C0=su·T0+pe1+m可得
進(jìn)一步計(jì)算m*=μmodp得到
因此,可得正確的解密結(jié)果.
2.3.5 屬性撤銷
屬性撤銷流程如下.
1) 生成更新密鑰時(shí),設(shè)S′為需更新的屬性集合.對(duì)屬性j′∈S′,KGC隨機(jī)選擇γ′j′∈Rq并為每個(gè)擁有該屬性的用戶計(jì)算屬性密鑰更新密鑰,即
KGC同時(shí)計(jì)算密文更新密鑰:
定理1本文方案的全部加解密計(jì)算過程是正確的,即指合法用戶能夠成功加解密,并能實(shí)現(xiàn)安全的屬性撤銷.
在解密的最后一步,計(jì)算得到除明文消息m以外的剩余項(xiàng)為
基于定義7中隨機(jī)預(yù)言機(jī)Ω和定義8中安全模型,將證明本文方案在DSPR假設(shè)和R-LWE假設(shè)下是選擇安全的,能夠抵御量子計(jì)算攻擊.
定理2若存在一個(gè)敵手V能夠通過概率性的時(shí)間多項(xiàng)式(probabilistic polynomial time)算法對(duì)本文方案進(jìn)行選擇屬性攻擊,并具有不可忽略的優(yōu)勢(shì)ε>0,則將會(huì)存在一個(gè)概率多項(xiàng)式時(shí)間模擬者B以1+ε/2的概率解決判定性R-LWE問題.
根據(jù)定義7,敵手V對(duì)于r的猜測(cè)r′具有優(yōu)勢(shì)為Pr[r′=r]-1/2.因此如果預(yù)言機(jī)Ω通過偽隨機(jī)采樣器Ω1進(jìn)行采樣,V對(duì)于r的猜測(cè)具有優(yōu)勢(shì)ε,Pr[r′=r|Ω=Ω1]=1/2+ε且Pr[Ω′=Ω|Ω=Ω1]=1/2+ε;如果預(yù)言機(jī)Ω通過隨機(jī)采樣器Ω2進(jìn)行采樣,V對(duì)于r的猜測(cè)不具有任何優(yōu)勢(shì),Pr[r′=r|Ω=Ω2]=1/2且Pr[Ω′=Ω|Ω=Ω2]=1/2.
那么對(duì)于模擬者B通過敵手V對(duì)預(yù)言機(jī)進(jìn)行的猜測(cè)Ω′所具備的優(yōu)勢(shì)為
由此定理2得證.
定理3本文方案能夠有效地防止合法用戶和屬性被撤銷用戶之間的共謀攻擊、合法用戶與外部攻擊者之間的共謀攻擊以及屬性被撤銷用戶之間的共謀攻擊.
證明在為用戶屬性生成密鑰的階段,KGC會(huì)對(duì)其選擇唯一的秘密值ki∈Zq并將其綁定在用戶i所擁有的屬性密鑰中.由于每個(gè)用戶對(duì)應(yīng)的ki∈Zq都由KGC保密,非法用戶i*即使獲取了合法用戶i的密鑰也不能得到屬于自己的合法密鑰.因此本文方案能防止合法用戶和屬性被撤銷用戶之間的共謀攻擊.
同理,外部攻擊者與合法用戶共謀也無法偽造屬于自己的密鑰.因此,本文方案能夠防止外部攻擊者和合法用戶之間的共謀攻擊.
對(duì)屬性被撤銷的用戶,其屬性密鑰中對(duì)應(yīng)參數(shù)的值γj不變,但對(duì)應(yīng)密文中Cj,2的參數(shù)γj已更新為γj′,因此屬性被撤銷的用戶無法正確計(jì)算令牌TKj.即使他們通過共謀獲取更新后的密鑰SK′j,由于綁定在每個(gè)用戶密鑰中唯一的秘密值ki無法被替換,這些屬性被撤銷用戶無法擁有屬于自己的新的屬性密鑰,無法成功解密.因此本文方案能夠防止屬性被撤銷用戶之間的共謀攻擊.證畢.
基于定義7中隨機(jī)預(yù)言機(jī)Ω和定義9中安全撤銷模型,我們將證明本文方案的撤銷算法在DSPR假設(shè)和R-LWE假設(shè)下能夠抵御量子計(jì)算攻擊.
定理4如果存在一個(gè)敵手V能夠通過概率性的時(shí)間多項(xiàng)式算法對(duì)本文方案進(jìn)行選擇屬性攻擊,并具有不可忽略的優(yōu)勢(shì)ε>0,那么將會(huì)存在一個(gè)概率多項(xiàng)式時(shí)間模擬者B以1+ε/2的概率解決判定性R-LWE問題.
根據(jù)定義7,敵手V對(duì)于r的猜測(cè)r′具有優(yōu)勢(shì)Pr[r′=r]-1/2.因此如果預(yù)言機(jī)Ω通過偽隨機(jī)采樣器Ω1進(jìn)行采樣,V對(duì)于r的猜測(cè)具有優(yōu)勢(shì)ε;如果預(yù)言機(jī)Ω通過隨機(jī)采樣器Ω2進(jìn)行采樣,V對(duì)于r的猜測(cè)不具有任何優(yōu)勢(shì).因此,模擬者B通過敵手V對(duì)預(yù)言機(jī)進(jìn)行的猜測(cè)Ω′所具備的優(yōu)勢(shì)為
由此定理4得證.
我們將RNL-ABE方案與其他同類型方案[22-25,26]進(jìn)行了比較,比較的目標(biāo)有防止共謀攻擊、安全撤銷和抵御量子計(jì)算攻擊.根據(jù)表1,RNL-ABE方案可以實(shí)現(xiàn)上述所有安全目標(biāo),而其他方案不能,因此本文方案在安全性上具有較大優(yōu)勢(shì).
表1 各方案的安全性比較
本節(jié)進(jìn)行計(jì)算開銷的對(duì)比,分別比較同類型方案中加密和解密的運(yùn)算量.表2為一些基于格難題的CP-ABE方案(方案1~方案5)與本文方案計(jì)算開銷的對(duì)比.其中,|S|表示系統(tǒng)屬性個(gè)數(shù),|J|表示密文屬性個(gè)數(shù),|Si|表示解密涉及屬性個(gè)數(shù),θ表示方案3中默認(rèn)屬性的個(gè)數(shù),β表示方案2中訪問策略析取范式分解的子策略個(gè)數(shù),l1=5「logq?,l2=6「logq?,l3=「logq?+2分別為相關(guān)文獻(xiàn)中的陷門函數(shù)參數(shù),mul表示環(huán)Rq上向量之間的乘法,mod表示模運(yùn)算.
表2 各方案中每個(gè)實(shí)體的計(jì)算開銷
4.1.1 加密開銷
加密開銷來源于生成密文的計(jì)算,如表2所示.RNL-ABE方案加密開銷比方案1的小.這是因?yàn)榉桨?的訪問控制涉及系統(tǒng)中全體屬性,加密過程中需計(jì)算全體屬性對(duì)應(yīng)的密文組件,而本文方案只需計(jì)算密文中涉及的屬性對(duì)應(yīng)的組件;并且在方案1中的每1 bit明文對(duì)應(yīng)的單個(gè)屬性密文長(zhǎng)度為l3bit,對(duì)應(yīng)的計(jì)算量是本文方案的l3倍.因此,本方案的加密計(jì)算開銷小于方案1.
同時(shí),RNL-ABE方案的加密開銷比方案2的小.這是因?yàn)樵诩用苓^程中方案2需要對(duì)密文涉及的屬性進(jìn)行3次環(huán)上的向量乘法計(jì)算,而本文方案僅需要進(jìn)行2次;同時(shí)其屬性密文長(zhǎng)度是本文方案的l2倍,單次計(jì)算開銷同樣是本文方案的l2倍.另外方案2需要對(duì)β個(gè)子策略進(jìn)行共β次加密,這將進(jìn)一步帶來數(shù)倍于本文方案的開銷.因此,本方案的加密計(jì)算開銷遠(yuǎn)小于方案2的加密計(jì)算開銷.
相比于方案3,RNL-ABE方案的加密開銷更小.這是因?yàn)樵诩用苓^程中,方案3需要進(jìn)行3(θ+|J|)次向量乘法運(yùn)算,而本文方案僅需要進(jìn)行2|J|次運(yùn)算,并且方案3的單次運(yùn)算開銷是本文方案的l2倍.因此本方案的加密計(jì)算開銷小于方案3.
相比于方案4,RNL-ABE方案具有更小的加密開銷.這是因?yàn)榉桨?在加密過程中需對(duì)密文涉及的屬性進(jìn)行4次環(huán)上向量乘法運(yùn)算,而本文方案僅需進(jìn)行2次,且方案4單次運(yùn)算開銷是本文方案的l1倍.因此本方案加密計(jì)算開銷小于方案4.
最后,RNL-ABE方案加密開銷比方案5的小.雖然方案5加密過程中僅需對(duì)密文涉及的屬性進(jìn)行1次運(yùn)算,但其單次運(yùn)算開銷是本文方案的l2倍;而本文方案僅需進(jìn)行2次運(yùn)算,大多數(shù)情況下l2?2.因此本文方案的加密計(jì)算開銷比方案5小.
4.1.2 解密開銷
解密開銷來源于計(jì)算解密的令牌以及解密密文,如表2所示.RNL-ABE方案的解密開銷比方案1的小,因?yàn)楸疚姆桨竷H需要進(jìn)行|Si|次的環(huán)上乘法運(yùn)算,小于方案1中的|S|次,并且本文方案的單次乘法運(yùn)算的開銷也小于方案1.因此對(duì)比方案1,本文方案的解密開銷較小.
同時(shí),RNL-ABE方案解密開銷比方案2的小,因?yàn)榉桨?在解密時(shí)需要進(jìn)行4次環(huán)上乘法運(yùn)算,相比之下本文方案僅需要進(jìn)行2次環(huán)上乘法運(yùn)算,并且方案2中單次解密計(jì)算的開銷是本文方案的l2倍.因此對(duì)比方案2,本文方案解密開銷較小.
與方案3相比,RNL-ABE方案解密開銷較小.因?yàn)榉桨?引入了數(shù)量為θ的默認(rèn)屬性,在解密時(shí)需要對(duì)這些額外的屬性進(jìn)行3次參數(shù)計(jì)算,同時(shí)方案3單次解密運(yùn)算開銷是本文方案的l2倍.因此本文方案的解密開銷小于方案3.
與方案4相比,RNL-ABE方案的解密開銷較小.這是因?yàn)榉桨?在解密過程需要對(duì)用戶屬性進(jìn)行3次環(huán)上乘法運(yùn)算,而本文方案僅需要進(jìn)行2次,并且方案4的單次乘法運(yùn)算開銷是本文方案的l1倍.因此本文方案的解密計(jì)算開銷小于方案4.
最后,RNL-ABE方案解密開銷比方案5小.盡管方案5在解密開銷中進(jìn)行環(huán)上乘法運(yùn)算次數(shù)與RNL-ABE方案相同,但其單次乘法運(yùn)算的開銷是本文方案的l2倍.因此本文方案的解密計(jì)算開銷小于方案5.
為了直觀地展現(xiàn)計(jì)算量對(duì)比結(jié)果,通過柱狀圖進(jìn)行展示,如圖2所示.RNL-ABE方案的加解密運(yùn)算量小于方案1~方案5,并減少50%以上.該結(jié)果與上文分析完全一致.
圖2 各方案加解密計(jì)算量對(duì)比
本節(jié)進(jìn)行通信開銷的對(duì)比,模擬了基于格難題的CP-ABE方案(方案1~方案5)和RNL-ABE方案的通信開銷,結(jié)果如圖3所示.通信開銷主要來源于密文上傳云服務(wù)器產(chǎn)生的開銷.設(shè)定明文長(zhǎng)度為256 bit的整數(shù)倍,計(jì)算明文長(zhǎng)度從256 bit到 7 280 bit對(duì)應(yīng)的密文長(zhǎng)度,同時(shí)設(shè)置參數(shù)N=64,q=129,部分方案中陷門函數(shù)參數(shù)m1=5N「logq?,m2=6N「logq?,m3=N(「logq+1?+2),方案2中析取范式分解得到的子策略個(gè)數(shù)β=10,方案3中的默認(rèn)屬性個(gè)數(shù)θ=10、密文涉及到的屬性個(gè)數(shù)|J|=50以及系統(tǒng)屬性總數(shù)|S|=100.
圖3 各方案通信開銷對(duì)比
由圖3可知,RNL-ABE方案的通信開銷小于方案1,這是因?yàn)榉桨?中與屬性相關(guān)的密文采用m3×N的矩陣形式,數(shù)據(jù)量大于本文方案中的密文長(zhǎng)度N.因此,本文方案的通信開銷比方案1小.
RNL-ABE方案的通信開銷遠(yuǎn)小于方案2,這是因?yàn)榉桨?需要對(duì)訪問策略析取范式分解后的β個(gè)子策略一一加密,并且每Nbit對(duì)應(yīng)單個(gè)屬性密文長(zhǎng)度為3m2,遠(yuǎn)大于本文方案的屬性密文長(zhǎng)度N.因此,本文方案的通信開銷遠(yuǎn)小于方案2.
與方案3相比,RNL-ABE方案具有較小的通信開銷.這是因?yàn)榉桨?的屬性密文個(gè)數(shù)相較于本文方案多θ個(gè),并且每Nbit對(duì)應(yīng)的單個(gè)屬性密文長(zhǎng)度為3m1,遠(yuǎn)大于本文方案屬性密文長(zhǎng)度N.因此,本文方案的通信開銷小于方案3.
與方案4相比,RNL-ABE方案具有更小的通信開銷.這是因?yàn)榉桨?每Nbit明文對(duì)應(yīng)的單個(gè)屬性密文的長(zhǎng)度為2m2,大于本文方案中的屬性密文長(zhǎng)度N.因此,本文方案通信開銷小于方案4.
最后,RNL-ABE方案相比于方案5具有較小的通信開銷.這是因?yàn)榉桨?需要一次性加密m2N/|S| bit(圖3中對(duì)應(yīng)通信開銷呈階梯上升),平均每Nbit明文對(duì)應(yīng)的單個(gè)屬性密文長(zhǎng)度為m2,大于本文方案中的屬性密文長(zhǎng)度N.因此,本文方案的通信開銷小于方案5.
1) 本文提出了一種基于NTRU格的可撤銷ABE方案RNL-ABE.該方案通過R-LWE難題保證算法的安全性,同時(shí)基于NTRU格進(jìn)行高效的采樣和運(yùn)算以保證算法的效率,并且形式化證明了RNL-ABE方案能夠抵御量子計(jì)算攻擊.
2) 本文方案實(shí)現(xiàn)安全的屬性撤銷并防止共謀攻擊.RNL-ABE方案與已有的基于格難題的屬性基加密方案相比,在解密計(jì)算開銷基本相同的情況下實(shí)現(xiàn)了安全的屬性撤銷,真正實(shí)現(xiàn)了對(duì)云數(shù)據(jù)的細(xì)粒度訪問控制,能夠較好地應(yīng)用于云環(huán)境中.
3) 本文方案能抵御云中各類實(shí)體共謀攻擊.被撤銷用戶和外部攻擊者無法與合法用戶共謀生成自己的合法密鑰,確保云存儲(chǔ)環(huán)境中數(shù)據(jù)安全.