唐廣鎮(zhèn),陳 卓
(湖北工業(yè)大學(xué)計(jì)算機(jī)學(xué)院,湖北 武漢 430068)
隨著云技術(shù)的迅猛發(fā)展,廣大企業(yè)和個(gè)人開始選擇云服務(wù)商的服務(wù)實(shí)現(xiàn)計(jì)算和存儲(chǔ)。但是,在將海量計(jì)算和存儲(chǔ)轉(zhuǎn)移到云端的同時(shí),云服務(wù)商通常是不受信任的,因此有效解決云端數(shù)據(jù)安全問題成為云服務(wù)突破發(fā)展瓶頸的重要手段[1]。密文策略屬性加密CP-ABE(Ciphertext-Policy Attribute-Based Encryption)[2]的創(chuàng)造性提出為實(shí)現(xiàn)用戶的細(xì)粒度訪問和云端數(shù)據(jù)的保密提供了新的思路,眾多研究人員對(duì)CP-ABE方案的功能從不同方面進(jìn)行了拓展。
在傳統(tǒng)的CP-ABE方案中,沒有對(duì)違規(guī)行為進(jìn)行追責(zé),用戶會(huì)為了利益違規(guī)地將私鑰共享給具有相同屬性集的多個(gè)用戶,因此追責(zé)泄露私鑰的違規(guī)用戶是提高CP-ABE方案安全性的一個(gè)重要步驟。另外,解密者接收到的密文包含訪問策略,加密者的信息通常嵌在顯性策略中,存在信息被違規(guī)用戶泄露的可能性,因此隱匿訪問策略也十分重要。
Waters等[3]首次用秘密同享方案表達(dá)訪問策略。Zhang等[4]在合數(shù)階群下提出了一種滿足廣域的半策略隱匿方案。許盛偉等[5]和閆璽璽等[6]都提出了多權(quán)威層次授權(quán)的方案,均可以隱匿策略。Wu等[7]提出了一種可追責(zé)的方案,能讓第三方追溯私鑰的來源。Yadav等[8]提出了一個(gè)具有高表達(dá)力的方案,能對(duì)濫用密鑰的用戶進(jìn)行白箱追責(zé),但計(jì)算開銷較大。Ning等[9]在合數(shù)階群下也提出了能進(jìn)行白箱追責(zé)的方案,而且存儲(chǔ)開銷小。馬瀟瀟等[10]提出了滿足廣域的可追蹤方案。Khan等[11]在方案中運(yùn)用隱匿向量加密技術(shù),實(shí)現(xiàn)了完全隱匿。但是以上方案中,文獻(xiàn)[4-6]方案不支持密鑰的追責(zé),文獻(xiàn)[8-10]方案不支持訪問策略的隱匿。為此,王梅等[12]提出了一種支持密鑰追責(zé)和策略隱匿的方案,公鑰和主密鑰會(huì)略有增長(zhǎng)。Li等[13]實(shí)現(xiàn)的隱匿策略方案能夠進(jìn)行黑箱追責(zé)且采用多權(quán)威機(jī)構(gòu)授權(quán)。Changhee等[14]實(shí)現(xiàn)的隱匿策略方案能夠進(jìn)行白箱追責(zé)。石宇清等[15]提出了一種支持白箱追責(zé)的廣域隱匿方案。文獻(xiàn)[13,14]方案的實(shí)現(xiàn)均基于素?cái)?shù)階,提升了計(jì)算效率,但訪問結(jié)構(gòu)用多值與門表達(dá),訪問策略的安全性和表達(dá)力稍弱。胡媛媛等[16]提出的隱匿訪問策略方案,融合了密文搜索和代理重加密技術(shù),但不支持用戶追責(zé)。
針對(duì)密鑰泄露和訪問策略顯性暴露的問題,本文基于樹訪問結(jié)構(gòu),在合數(shù)階雙線性群下提出了一種可隱匿策略且可追責(zé)私鑰的層次屬性加密方案THH-CP-ABE(Traceable Hierarchical Hidden Ciphertext-Policy Attribute-Based Encryption),并證明了本文方案在完全安全模型下是選擇明文安全。本文方案的特點(diǎn)如下所示:
(1)策略隱匿。訪問策略中插入合數(shù)階子群中的隨機(jī)元素,以合數(shù)階子群的正交特性,隱匿訪問策略。
(2)可追責(zé)。將用戶標(biāo)識(shí)加入其私鑰運(yùn)算中,可對(duì)違規(guī)用戶追責(zé)。
(3)層次授權(quán)。使用層次授權(quán)體系,避免根權(quán)威的負(fù)荷過重和風(fēng)險(xiǎn)過高,提高了安全性和效率。
(4)高表達(dá)力。用樹訪問結(jié)構(gòu)表達(dá)訪問結(jié)構(gòu),提高了表達(dá)的靈活性。
設(shè)G和GT是階數(shù)為N的乘法循環(huán)群,其中,N=p*r,階N為2個(gè)不同素?cái)?shù)p和r的乘積,g為G的生成元,映射e:G×G→GT滿足下列性質(zhì):
(2)非退化性:e(g,g)≠1。
(3)正交性:假設(shè)存在2個(gè)不同子群G1和G2的2個(gè)元素g1和g2,即g1∈G1,g2∈G2,則有e(g1,g2)=1,子群元素彼此正交。
THH-CP-ABE方案的安全性證明是通過敵手A*同挑戰(zhàn)者C*之間的互動(dòng)游戲模型給出的,詳細(xì)描述如下:
(1)初始化建立階段:敵手A*挑選并發(fā)送給挑戰(zhàn)者C*一個(gè)挑戰(zhàn)訪問結(jié)構(gòu)。C*運(yùn)行參數(shù)初始化算法,得到主密鑰MK和公鑰PK。C*保留主密鑰MK并將PK發(fā)送給A*。
(2)第1階段:敵手A*向挑戰(zhàn)者C*發(fā)出屬性集L={v1,v2,…,vn}的私鑰輸出問詢。C*通過運(yùn)行私鑰生成算法生成私鑰SK并發(fā)送給A*。
(3)挑戰(zhàn)階段:敵手A*遞交長(zhǎng)度一致的2個(gè)明文M1和M2給挑戰(zhàn)者C*。C*隨機(jī)選擇Mγ,γ∈{1,2},運(yùn)行明文加密算法,得到密文Cγ,并發(fā)送給A*。
(4)第2階段:敵手A*多次進(jìn)行第1階段的操作,繼續(xù)私鑰輸出問詢。
(5)猜測(cè)階段:敵手A*猜測(cè)并給出γ′∈{1,2}。
如若在任意多項(xiàng)式時(shí)間內(nèi),敵手A*沒有以不可忽視的攻擊優(yōu)勢(shì)將選擇明文攻擊不可區(qū)分性IND-CPA(INDistinguishability under Chosen-Plaintext Attack)游戲贏下,則該方案被認(rèn)為是選擇明文(CPA)安全的。其中,攻擊成功的優(yōu)勢(shì)為Adv=|Pr[γ′=γ]-1/2|。
本文提出的基于樹訪問結(jié)構(gòu)的可隱藏策略且可追責(zé)私鑰的層次屬性加密方案(THH-CP-ABE)包括如下6個(gè)算法:
(1)Setup(1k)→(PK,MK):輸入方案安全參數(shù)k,進(jìn)行初始化運(yùn)算,輸出公鑰PK和主密鑰MK。
(2)KeyGen(MK,L)→(SKTA):輸入主密鑰MK、頂級(jí)權(quán)威的屬性集L,輸出頂級(jí)屬性權(quán)威的私鑰SKTA。
(3)Delegate(SKTA,L′,PK,MK,ID)→(SKU,Τ):輸入頂級(jí)屬性權(quán)威的私鑰SKTA、公鑰PK、主密鑰MK及次級(jí)新成員的屬性集L′∈L,輸出新成員的私鑰SKU和查詢表T。
(4)Encrypt(m,Λ,PK)→(CT):輸入需要加密的明文m、訪問結(jié)構(gòu)Λ及公鑰PK,將訪問結(jié)構(gòu)Λ按轉(zhuǎn)換規(guī)則轉(zhuǎn)換為訪問樹分派秘密s,輸出m的密文CT。
(5)Decrypt(CT,SKU,PK)→(mor ⊥):輸入公鑰PK、包含用戶屬性集L′的用戶私鑰SKU和在訪問結(jié)構(gòu)Λ下加密生成的密文CT,屬性集L′只有滿足訪問結(jié)構(gòu)Λ要求時(shí),方能計(jì)算并輸出明文m,否則輸出中止符號(hào)⊥,表示解密失敗。
(6)Trace(PK,T,SKU)→(IDor ⊥*):輸入公鑰PK、查詢表T和私鑰SKU。若SKU檢驗(yàn)通過,輸出用戶ID;否則輸出中止符號(hào)⊥*,表示不用追蹤。
圖1為具有2級(jí)授權(quán)THH-CP-ABE方案的模型,由5個(gè)實(shí)體組成: 根權(quán)威、屬性權(quán)威、數(shù)據(jù)擁有者、云服務(wù)提供商和用戶(數(shù)據(jù)使用者)。根權(quán)威生成主密鑰和公鑰,為屬性權(quán)威頒發(fā)私鑰,擁有最高的權(quán)限,可以認(rèn)為是完全信任的;各級(jí)屬性權(quán)威為新加入的次級(jí)屬性權(quán)威、數(shù)據(jù)使用者或者數(shù)據(jù)擁有者頒發(fā)私鑰;數(shù)據(jù)擁有者依照選取的訪問結(jié)構(gòu),將隱私文件加密成密文,并上傳到云端。用戶若想訪問此文件,當(dāng)且僅當(dāng)其屬性集滿足訪問結(jié)構(gòu)要求,才能從云端下載文件后用解密算法對(duì)密文進(jìn)行解密,從而實(shí)現(xiàn)隱匿策略的屬性加密細(xì)粒度訪問控制。云服務(wù)商提供密文上傳、存儲(chǔ)和下載的服務(wù),同時(shí)可以追責(zé)泄露私鑰的違規(guī)用戶。方案采用層次授權(quán)體系,有效分散授權(quán)私鑰的計(jì)算量,避免根權(quán)威的負(fù)擔(dān)過重和風(fēng)險(xiǎn)過高,提升了安全性和效率。
THH-CP-ABE方案進(jìn)行如下安全性假設(shè):(1)假設(shè)云服務(wù)提供商會(huì)切實(shí)有效地履行用戶的上傳或下載請(qǐng)求,但同時(shí)存在好奇心,串通惡意用戶對(duì)隱私文件進(jìn)行窺視或竊取,是半可信的;(2)假設(shè)數(shù)據(jù)使用者只能用只讀方式訪問隱私文件;(3)假設(shè)每個(gè)實(shí)體之間所有通信信道風(fēng)險(xiǎn)極低,都是安全可靠的。
(1)Setup(1k)。
(2)KeyGen(MK,L)。
(3)Delegate(SKTA,L′,PK,MK,ID)。
(4)Encrypt(m,Λ,PK)。
①若節(jié)點(diǎn)標(biāo)識(shí)符是∧(與操作),使用(t,n)Shamir秘密共享方案來共享秘密s,n是孩子節(jié)點(diǎn)的個(gè)數(shù),門限值t=n。向所有孩子節(jié)點(diǎn)依次分派si=f(i)并標(biāo)注為已分派。
②若節(jié)點(diǎn)標(biāo)識(shí)符是∨(或操作),t=0,向所有孩子節(jié)點(diǎn)依次分派s并標(biāo)注為已分派。
③若節(jié)點(diǎn)標(biāo)識(shí)符是of(門限操作),且使用(t,n)Shamir秘密共享方案來共享秘密s,t是用來重構(gòu)秘密s的孩子節(jié)點(diǎn)數(shù)。向所有孩子節(jié)點(diǎn)依次分派si=f(i)并標(biāo)注為已分派。
密文由樹中葉子節(jié)點(diǎn)的值組成,i表示葉子節(jié)點(diǎn)的位置索引,t表示孩子節(jié)點(diǎn)個(gè)數(shù),aj表示從U中隨機(jī)取出的屬性。
(5)Decrypt(CT,SKU,PK)。
計(jì)算檢驗(yàn)函數(shù)的值F,若F=(L′?Λ)=0,返回⊥。若F=(L′?Λ)=1,計(jì)算明文m′:
其中,li(0)是樹索引i計(jì)算出來的拉格朗日系數(shù)。輸出明文m′。
(6)Trace(PK,T,SKU)。
執(zhí)行解密算法Decrypt()階段,數(shù)據(jù)使用者獲得密文CT后,唯有數(shù)據(jù)使用者自身的屬性集L′滿足了訪問結(jié)構(gòu)Λ的要求,才能用解密算法對(duì)密文進(jìn)行解密,本文方案的正確性證明如下所示:
由于合數(shù)階雙線性群的正交性原理,THH-CP-ABE方案在加密算法中引入合數(shù)階子群中的隨機(jī)元素R′0和R′j,將訪問結(jié)構(gòu)隱形嵌入在密文中實(shí)現(xiàn)策略隱匿。從上述的正確性證明中可以看出,解密結(jié)果的正確性不受隨機(jī)元素影響,能有效地防止敵手通過訪問結(jié)構(gòu)中的信息推斷出用戶隱私。
假設(shè)敵手A*能用不可忽視的優(yōu)勢(shì)ε/2勝得IND-CPA游戲打破本文方案,則存在挑戰(zhàn)者C*可用優(yōu)勢(shì)ε/2解決DBDH假設(shè)。具體證明過程如下:
①若節(jié)點(diǎn)標(biāo)識(shí)符是∧,f(i)的階數(shù)設(shè)為n-1,n是葉子節(jié)點(diǎn)的總數(shù)。
②若節(jié)點(diǎn)標(biāo)識(shí)符是∨,f(i)的階數(shù)設(shè)為0,f(0)=c。
③若節(jié)點(diǎn)標(biāo)識(shí)符是of,f(i)的階數(shù)設(shè)為t-1,t是可恢復(fù)秘密的葉子節(jié)點(diǎn)的總數(shù)。
(5)第2階段:多次進(jìn)行第1階段私鑰輸出問詢。
(6)猜測(cè)階段:敵手A*對(duì)γ′進(jìn)行猜測(cè),γ′∈{1,2},有以下2種情況:
①若γ′=γ,說明敵手A*能猜想Z=e(g1,g1)abc,挑戰(zhàn)者C*能獲得有效密文,其優(yōu)勢(shì)為Pr[γ′=γ|Z=e(g1,g1)abc]=1/2+ε。
②若γ′≠γ,說明敵手A*能猜想Z=e(g1,g1)θ,只能獲得隨機(jī)密文,無法獲得有效密文,挑戰(zhàn)者C*的優(yōu)勢(shì)為Pr[γ′≠γ|Z=e(g1,g1)θ]=1/2。
因此,挑戰(zhàn)者C*可以解決DBDH假設(shè),其解決優(yōu)勢(shì)為ε/2。THH-CP-ABE方案在此安全模型中是安全的。
本節(jié)將比對(duì)THH-CP-ABE方案與其他屬性加密方案,以說明THH-CP-ABE方案的優(yōu)勢(shì)。
從表1中可以看出,本文方案與文獻(xiàn)[6,12]方案相比較,主密鑰和密文長(zhǎng)度會(huì)更短,本文方案與文獻(xiàn)[6]方案的公鑰長(zhǎng)度一樣長(zhǎng),但比文獻(xiàn)[12]方案的公鑰長(zhǎng)度稍短。本文方案的構(gòu)造是基于合數(shù)階群,私鑰長(zhǎng)度會(huì)稍長(zhǎng),但提高了安全性,同時(shí)引入層次化授權(quán)結(jié)構(gòu),提高了分發(fā)私鑰的授權(quán)中心的效率。一般情況下,|u|和|E|小于n,且在復(fù)雜的方案中,下級(jí)用戶個(gè)數(shù)和訪問結(jié)構(gòu)中屬性數(shù)量越多,|u|、|E|和n的差會(huì)越大,因此本文方案的通信和存儲(chǔ)代價(jià)更小,更便于傳輸和私鑰保存。
從表2中可以看出,本文方案的加密和解密計(jì)算開銷都比文獻(xiàn)[6]方案的更優(yōu),同時(shí)本文方案還支持密鑰追責(zé)。對(duì)比文獻(xiàn)[12]方案,參與加密屬性數(shù)量較少時(shí),本文方案加密計(jì)算開銷略高,在屬性數(shù)量增多后,本文方案體現(xiàn)出加密優(yōu)勢(shì),在解密開銷方面也小于文獻(xiàn)[12]方案的。文獻(xiàn)[16]方案同樣可以使訪問策略隱匿,但在解密中,比本文方案增加了|L|+1次雙線性對(duì)運(yùn)算,加密中群G上的運(yùn)算次數(shù)也有所增加。文獻(xiàn)[5]方案也是基于訪問樹提出的,與本文方案一樣,同樣支持策略隱匿和層次加密。在解密開銷方面,本文方案的雙線性對(duì)運(yùn)算次數(shù)減少了|L|+1次,在加密開銷方面,本文方案則遠(yuǎn)遠(yuǎn)優(yōu)于文獻(xiàn)[5]方案。
Table 1 Keys and ciphertext length comparison of different schemes
Table 2 Characteristic and time cost comparison of different schemes
為了更精準(zhǔn)地評(píng)估本文方案的運(yùn)行效率,通過實(shí)驗(yàn)對(duì)本文方案和文獻(xiàn)[6,12]的方案進(jìn)行計(jì)算開銷仿真測(cè)試比對(duì)。仿真測(cè)試的PC機(jī)配置3.30 GHz的Intel Core i5-4590 CPU與8 GB RAM,使用Java的JPBC密碼庫(kù)。圖2和圖3分別表示THH-CP-ABE方案與2種對(duì)比方案在不同數(shù)量屬性參與的加密和解密過程的時(shí)間消耗對(duì)比。
從圖2可以看出,隨著屬性數(shù)量的增加,文獻(xiàn)[6,12]方案的加密開銷隨之線性上升,本文方案在參與加密的屬性數(shù)量為5~20個(gè)時(shí),加密開銷略高于對(duì)比方案,隨著屬性數(shù)量|E|增加,本文方案將具有明顯優(yōu)勢(shì)。
從圖3中能看出,本文方案和對(duì)比方案的解密計(jì)算開銷均隨參與解密的屬性數(shù)量的增加而線性變化,本文方案解密開銷略低于文獻(xiàn)[12]方案的解密開銷,明顯低于文獻(xiàn)[6]方案的解密開銷。
本文在合數(shù)階雙線性群下基于樹訪問結(jié)構(gòu),提出了一種可隱匿策略且可追責(zé)私鑰的層次屬性加密方案THH-CP-ABE。THH-CP-ABE方案使用層次授權(quán)體系,減少了根權(quán)威的負(fù)荷和風(fēng)險(xiǎn);采用樹訪問結(jié)構(gòu),使訪問策略具有高表達(dá)力和高拓展性;運(yùn)用合數(shù)階群的正交性原理,將合數(shù)階子群的隨機(jī)元素加進(jìn)密鑰生成算法中,實(shí)現(xiàn)了隱匿訪問策略;通過用戶標(biāo)識(shí)能夠及時(shí)有效地追責(zé)違規(guī)泄露私鑰的用戶。實(shí)驗(yàn)結(jié)果和效率分析顯示,THH-CP-ABE方案在加解密效率上優(yōu)于對(duì)比方案,且在功能上更豐富。后續(xù)研究方向是在現(xiàn)有方案中加入在線離線加密和屬性撤銷支持,使方案能更高效、更安全地運(yùn)用。