閆璽璽,何旭,劉濤,葉青,于金霞,湯永利
(河南理工大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,河南 焦作 454003)
云計(jì)算的推廣和應(yīng)用方便了人們生活。無論用戶的地理位置如何變化,都可以遠(yuǎn)程訪問云端,獲取資源和計(jì)算服務(wù)。云服務(wù)提供商可能在云端部署多個(gè)計(jì)算節(jié)點(diǎn)以響應(yīng)不同的請(qǐng)求,例如分別處理和發(fā)布交通路況信息、天氣預(yù)報(bào)信息和物價(jià)信息等不同資源信息的多個(gè)服務(wù)器。云端計(jì)算節(jié)點(diǎn)如圖1 所示。云服務(wù)提供商不希望用戶沒有限制地訪問其經(jīng)營的計(jì)算節(jié)點(diǎn),如果用戶要獲得某個(gè)節(jié)點(diǎn)上的服務(wù),就需要付費(fèi)購買相應(yīng)的訪問權(quán)限。實(shí)際中,如何控制終端用戶對(duì)計(jì)算節(jié)點(diǎn)的訪問權(quán)限是一個(gè)重要的研究課題。屬性基加密(ABE,attribute-based encryption)[1]特別是密文策略屬性基加密(CP-ABE,ciphertext-policy attribute based encryption)[2],允許數(shù)據(jù)擁有者為加密數(shù)據(jù)制定靈活的訪問策略并且不需要預(yù)先獲知接收方的具體身份,可以實(shí)現(xiàn)細(xì)粒度訪問控制和支持一對(duì)多通信模式。因此,ABE 被視為實(shí)現(xiàn)終端用戶對(duì)計(jì)算節(jié)點(diǎn)訪問控制的一個(gè)理想途徑。
圖1 云端計(jì)算節(jié)點(diǎn)
然而,ABE 本身存在的一些安全問題制約了其在訪問控制方面的應(yīng)用。大多數(shù)關(guān)于ABE 的文獻(xiàn)[1-5]主要關(guān)注并且可以保證抗串謀攻擊。如圖1 所示,假設(shè)用自然數(shù)表示屬性,用戶 Alice 擁有屬性{1,3,5},用戶Bob 擁有屬性{2,4,6},節(jié)點(diǎn)C 上的訪問策略為“1 ∧4 ∧6”。顯然無論Alice 還是Bob都不能單獨(dú)訪問節(jié)點(diǎn)C,但是如果Alice 和Bob 獲得他們屬性集合的超集{1,2,3,4,5,6},那么他們就可以訪問節(jié)點(diǎn)C。為了避免這種情況,ABE 需要保證抗串謀,也就是要保證“用戶不能派生超集”。然而,派生超集的逆過程派生子集在已有的關(guān)于ABE 的文獻(xiàn)中缺少充分的關(guān)注[6-7]。為了更好地說明“用戶派生子集”問題對(duì)ABE 安全性的影響,可以考慮下面一個(gè)具體的場景。
如圖1 所示,假設(shè)一個(gè)云服務(wù)提供商P 經(jīng)營4 個(gè)云計(jì)算節(jié)點(diǎn)A、B、C 和D,其中每個(gè)節(jié)點(diǎn)的接入服務(wù)售價(jià)是7 元/月。用戶Alice 支付28 元給P從而購得A、B、C 和D 的訪問權(quán)限,訪問權(quán)限對(duì)應(yīng)的屬性集合為S=SA∪SB∪SC∪SD。其中,SA、SB、SC和SD是S的子集,并且可以分別用于訪問節(jié)點(diǎn)A、B、C 和D。此時(shí)若允許“用戶派生子集”,Alice 就可以從中謀取利益。例如Alice 分別生成關(guān)聯(lián)屬性集合SA、SB、SC和SD的4 個(gè)用戶私鑰,并且以5 元/月銷售每個(gè)用戶私鑰;Alice 又分別生成關(guān)聯(lián)屬性集合SA∪SB,SB∪SC和SC∪SD的3 個(gè)用戶私鑰,并且以10 元/月銷售每個(gè)用戶私鑰。注意,Alice 派生S的子集可以是SA、SB、SC和SD中的單個(gè),也可以是其中任意2 個(gè)的并集、任意3 個(gè)的并集或者全部4 個(gè)的并集,因此S的子集不只限于以上的例子。當(dāng)Alice 成功出售這7 個(gè)用戶私鑰時(shí),她將獲得50 元的收入。顯然與Alice 最初購買訪問權(quán)限所支付的28 元相比,她得到了非正常的經(jīng)濟(jì)利益。另外,由于Alice 比P 的售價(jià)低,更易獲得潛在用戶的青睞,使Alice 會(huì)對(duì)合法的服務(wù)提供商P 造成嚴(yán)重的競爭威脅。因此,ABE 不僅要保證“用戶不能派生超集”,還應(yīng)保證“用戶不能派生子集”。文獻(xiàn)[7]將“用戶不能派生子集”正式定義為抗密鑰委托濫用(key-delegation abuse resistance)。
除了抗串謀和抗密鑰委托濫用外,可追蹤性也是ABE 需要實(shí)現(xiàn)的安全保障。由于ABE 中用戶私鑰僅與用戶持有的屬性有關(guān),而不同的用戶可能持有相同的屬性,當(dāng)發(fā)生用戶私鑰泄露時(shí),如何確定泄露用戶私鑰的惡意用戶就成為ABE 中重要的可追蹤問題[8]。繼續(xù)考慮上述場景,假使Alice“不能派生子集”,但是如果其可以直接泄露關(guān)聯(lián)屬性集合S的用戶私鑰而不被追蹤發(fā)現(xiàn),那么仍然能夠通過直接泄露自己的私鑰給非授權(quán)用戶來獲得非法利益。因此,實(shí)現(xiàn)ABE 的可追蹤性是十分必要的。
當(dāng)前研究工作缺乏對(duì)既支持抗密鑰委托濫用又具有可追蹤功能的ABE 方案的關(guān)注。一方面,現(xiàn)有可追蹤ABE 方案不具備上述場景要求的“抗用戶派生子集”的能力。他們聲稱的抗密鑰濫用能力大多是利用追蹤功能對(duì)泄露自己部分或全部解密密鑰的用戶起到威懾作用。實(shí)際上,用戶仍然能將自己屬性集合的一部分(即子集)所關(guān)聯(lián)的部分解密密鑰泄露給非授權(quán)的第三方,部分解密密鑰只有完整解密密鑰中的部分組件,但仍然可以完成正確的解密操作。因此,通過追蹤功能而附帶產(chǎn)生的抗密鑰濫用能力是不完備的,只能起到威懾和事后追責(zé)的作用,而不能在事前避免“用戶派生子集”。
文獻(xiàn)[7]擴(kuò)展方案提出了一種霧計(jì)算中抗密鑰委托濫用且可追蹤的CP-ABE 方案,但是該方案效率不高。具體而言,文獻(xiàn)[7]擴(kuò)展方案的追蹤方法如下。將用戶的身份標(biāo)識(shí)編碼成虛擬屬性,并將虛擬屬性加入真實(shí)的屬性集合中。當(dāng)用戶泄露自己的私鑰時(shí),用戶私鑰所關(guān)聯(lián)的虛擬屬性連同真實(shí)屬性會(huì)被一起泄露,從而可以通過解析虛擬屬性得到其對(duì)應(yīng)的用戶身份標(biāo)識(shí),實(shí)現(xiàn)對(duì)惡意用戶的可追蹤。然而,該追蹤方法導(dǎo)致文獻(xiàn)[7]擴(kuò)展方案的公共參數(shù)大小、密文大小、用戶私鑰大小及加密和解密計(jì)算量都與用戶身份標(biāo)識(shí)編碼后的長度線性相關(guān),制約了文獻(xiàn)[7]擴(kuò)展方案的執(zhí)行效率。
綜上所述,為了克服現(xiàn)有可追蹤ABE 方案在抗密鑰委托濫用上的不足,以及改善文獻(xiàn)[7]擴(kuò)展方案效率不高的問題,本文從改進(jìn)文獻(xiàn)[7]擴(kuò)展方案性能出發(fā),在繼承其抗密鑰委托濫用優(yōu)點(diǎn)的基礎(chǔ)上,采用一種更為高效的追蹤方法,提出一種新的抗密鑰委托濫用的可追蹤屬性基加密方案。本文的主要?jiǎng)?chuàng)新點(diǎn)如下。
1)為了同時(shí)支持抗密鑰委托濫用和可追蹤,本文方案借鑒文獻(xiàn)[9]中“粘合”屬性層和秘密分享層的思想,將抗密鑰委托濫用功能和可追蹤功能視為2 個(gè)分離的層,即抗密鑰委托濫用層和可追蹤層,并且設(shè)計(jì)了2 個(gè)獨(dú)立的參數(shù)α和β。將α嵌入抗密鑰委托濫用層,將β嵌入可追蹤層。最終,通過α和β之間的運(yùn)算,實(shí)現(xiàn)抗密鑰委托濫用層和可追蹤層之間的“粘合”,從而使本文方案同時(shí)獲得了抗密鑰委托濫用和可追蹤2 個(gè)重要的功能。
2)本文方案采用文獻(xiàn)[8]中基于短簽名[10]結(jié)構(gòu)的追蹤方法,與文獻(xiàn)[7]擴(kuò)展方案相比,公共參數(shù)、密文和用戶私鑰的尺寸更短,加密和解密的計(jì)算量更小,從而獲得了更高效的性能。
3)本文方案的可追蹤性證明基于標(biāo)準(zhǔn)模型上的安全游戲,比文獻(xiàn)[7]擴(kuò)展方案基于一般雙線性群模型(generic bilinear group model)的可追蹤性證明更加嚴(yán)格,安全性更高。
正如前文場景所述,抗密鑰委托濫用和可追蹤是ABE 需要實(shí)現(xiàn)的重要安全保證。在可追蹤ABE方面,Liu 等[8]利用一種短簽名結(jié)構(gòu)保護(hù)用于追蹤的參數(shù),提出了一種支持任意單調(diào)訪問結(jié)構(gòu)的白盒可追蹤C(jī)P-ABE方案。Liu等[8]指出ABE中存在2種類型的追蹤:白盒追蹤和黑盒追蹤。白盒追蹤中追蹤算法根據(jù)被泄露的用戶私鑰進(jìn)行追蹤;黑盒追蹤中追蹤算法只能根據(jù)解密設(shè)備進(jìn)行追蹤,而參與構(gòu)造解密設(shè)備的用戶私鑰和解密算法是隱藏的,因此解密設(shè)備也被稱為黑盒。Ning等[11]采用與文獻(xiàn)[8]相似的追蹤結(jié)構(gòu),提出了一種支持大屬性集且追蹤存儲(chǔ)開銷為常數(shù)級(jí)的白盒可追蹤C(jī)P-ABE 方案。在抗密鑰濫用ABE 方面,現(xiàn)有相關(guān)文獻(xiàn)[12-18]大多利用追蹤方法來解決密鑰濫用問題,因此它們也屬于可追蹤ABE 的研究范疇。但是,可追蹤性對(duì)于想要泄露用戶私鑰的用戶來說只能起到威懾作用,實(shí)際上,用戶仍然具有派生子集的能力。為了真正實(shí)現(xiàn)抗用戶派生子集,Jiang 等[6]設(shè)計(jì)了一個(gè)新的CP-ABE 方案,其中解密操作要求全部屬性的共同參與,如果只擁有全部屬性的一部分(即子集),則不能完成正確的解密操作,從而真正達(dá)到抗用戶派生子集的目的。Jiang等[7]進(jìn)一步將他們實(shí)現(xiàn)的抗用戶派生子集CP-ABE 方案應(yīng)用到霧計(jì)算中,并且正式將這種性質(zhì)定義為抗密鑰委托濫用。用抗密鑰濫用來表達(dá)文獻(xiàn)[12-18]的工作是為了與Jiang 等[6-7]所實(shí)現(xiàn)的抗密鑰委托濫用進(jìn)行區(qū)分。此外,Qiao 等[19]提出了一個(gè)霧計(jì)算中支持黑盒追蹤的CP-ABE 方案,但他們解決權(quán)限濫用(即密鑰濫用)問題的方式仍然依賴于方案的可追蹤性。
本文定義的訪問結(jié)構(gòu)A由與門(用符號(hào)“∧”表示)構(gòu)成,即,其中,W表示屬性全集的一個(gè)子集,i表示一個(gè)屬性。給定一個(gè)屬性集合S,S滿足A當(dāng)且僅當(dāng)W?S。
文獻(xiàn)[7]實(shí)現(xiàn)抗用戶派生子集的方法依賴于與門訪問結(jié)構(gòu),本文方案沿用了文獻(xiàn)[7]的技術(shù)思路,所以本文方案僅支持與門訪問結(jié)構(gòu)。
假設(shè)1設(shè)G是階為素?cái)?shù)p的雙線性群,g是G的一個(gè)生成元,e是G上雙線性映射。判定性雙線性 Diffie-Hellman(DBDH,decisional bilinear Di ffie-Hellman)假設(shè)是指挑戰(zhàn)者隨機(jī)選取a,b,c,z∈Zp,Zp為模p的剩余類集,不存在多項(xiàng)式時(shí)間的攻擊者能以不可忽略的優(yōu)勢正確區(qū)分下面2 個(gè)元組。
假設(shè)2設(shè)G是階為素?cái)?shù)p的雙線性群,g是G的一個(gè)生成元。G上的l-強(qiáng) Diffie-Hellman(l-SDH,l-strong Diffie-Hellman)問題定義為:給定(l+1)元組作為輸入,輸出。算法A 可以優(yōu)勢ε攻破G上的l-SDH 假設(shè),如果Pr[A(g,gx,,其中x是從中隨機(jī)選取的元素。
定義1G上的(l,t,ε)-SDH 假設(shè)成立,如果不存在t-時(shí)間的算法可以至少ε的優(yōu)勢解決G上的l-SDH 問題。
本文方案由5 個(gè)算法組成,分別是系統(tǒng)初始化算法setup、加密算法encrypt、用戶私鑰生成算法KeyGen、解密算法decrypt 和追蹤算法trace。具體算法定義如下。
1)setup(κ,U)→(PK,MK)。ABE 系統(tǒng)的建立者執(zhí)行初始化算法setup。算法以安全參數(shù)κ和屬性全集U 作為輸入,輸出公共參數(shù)PK 和主密鑰MK,并初始化追蹤表T=?,?為空集。MK 和T由機(jī)構(gòu)(authority)持有和維護(hù)。
2)encrypt(PK,A,m)→CT 。加密方執(zhí)行加密算法encrypt。算法以公共參數(shù)PK、屬性全集U 上的訪問結(jié)構(gòu)A和消息m作為輸入,輸出密文CT。其中訪問結(jié)構(gòu)A包含在CT 中。
3)KeyGen(PK,MK,id,S)→SK。機(jī)構(gòu)執(zhí)行用戶私鑰生成算法KeyGen。算法以公共參數(shù)PK、主密鑰MK、用戶身份id 和用戶屬性集合S作為輸入,輸出用戶私鑰SK。
4)decrypt(PK,CT,SK)→mor ⊥。用戶執(zhí)行解密算法decrypt。算法以公共參數(shù)PK、密文CT 和用戶私鑰SK 作為輸入。如果SK 關(guān)聯(lián)的用戶屬性滿足CT 中的訪問結(jié)構(gòu),則算法輸出消息m;否則輸出⊥,表示解密失敗。
本文采用文獻(xiàn)[7]定義的方案安全模型,該模型定義為挑戰(zhàn)者與攻擊者之間交互的安全游戲,該游戲是選擇明文攻擊(CPA,chosen plaintext attack)下的不可區(qū)分性(IND,indistinguishability)游戲,即IND-CPA 游戲。具體描述如下。
1)初始化前,攻擊者將欲挑戰(zhàn)的訪問結(jié)構(gòu)A*傳遞給挑戰(zhàn)者。
2)初始化,挑戰(zhàn)者運(yùn)行初始化算法,將公共參數(shù)PK 傳遞給攻擊者。
3)階段1,攻擊者向挑戰(zhàn)者詢問(id1,S1),…,(i dq1,Sq1)關(guān)聯(lián)的用戶私鑰,其中,id 為用戶身份,S為該用戶的屬性集合。
4)挑戰(zhàn),攻擊者向挑戰(zhàn)者提交2 個(gè)等長的消息m0和m1。挑戰(zhàn)者擲一枚均勻的硬幣η∈{0,1},并在A*下加密mη生成挑戰(zhàn)密文CT*。挑戰(zhàn)者將CT*傳遞給攻擊者。
6)猜測,攻擊者輸出對(duì)η的猜測η'。
如果η'=η并且用于詢問的用戶屬性集合S1,…,Sq不能滿足訪問結(jié)構(gòu)A*,攻擊者贏得上述游戲。攻擊者贏得上述游戲的優(yōu)勢定義為。
定義2如果所有多項(xiàng)式時(shí)間的攻擊者在上述安全游戲中至多有可忽略的優(yōu)勢,則本文方案是選擇性安全和IND-CPA 安全的。
本文采用文獻(xiàn)[8]定義的可追蹤性模型,其中可追蹤性定義為挑戰(zhàn)者與攻擊者之間交互的安全游戲。具體描述如下。
1)初始化。挑戰(zhàn)者運(yùn)行初始化算法,將公共參數(shù)PK 傳遞給攻擊者。
2)密鑰詢問。攻擊者向挑戰(zhàn)者詢問(id1,S1),…,(idq,Sq)關(guān)聯(lián)的用戶私鑰。
3)密鑰偽造。攻擊者輸出一個(gè)用戶私鑰SK*。
如果trace(PK,SK*,T)≠(即SK*是格式良好的),并且trace(PK,SK*,T)?{id1,…,idq},其中idi為用于詢問的用戶身份(i=1,…,q),攻擊者贏得上述游戲。攻擊者贏得上述游戲的優(yōu)勢定義為。
定義3如果所有多項(xiàng)式時(shí)間的攻擊者在上述可追蹤性游戲中至多有可忽略的優(yōu)勢,則本文方案是可追蹤的。
可追蹤性模型之所以沒有考慮“實(shí)際惡意用戶是idm,但追蹤到的是idn(m,n∈{1,…,q}且m≠n)”的情況,是因?yàn)楸疚姆桨傅木唧w構(gòu)造保證攻擊者不能采用這種方式抗追蹤,具體原因如下。由第5 節(jié)可知,追蹤算法利用參數(shù)r追蹤用戶id,對(duì)應(yīng)關(guān)系(r,id)存儲(chǔ)于追蹤表T。假設(shè)用戶idm的私鑰為
用戶idn的私鑰為
如果攻擊者用idn代替idm,則會(huì)輸出私鑰
顯然,SK*中發(fā)生了參數(shù)t不匹配的情況,即K中是t(n),而K0和{Ki}中是t(m)({Ki}中隱含參數(shù)t,參見第5 節(jié))。這樣SK*就不能用于正常的解密,SK*也就失去了被追蹤的意義。實(shí)際上,設(shè)置參數(shù)t是為了保證SK 中組件的“配套”,防止用戶串謀。
由上述分析可知,攻擊者不能采用“用idn代替idm”的抗追蹤方式,因此可追蹤性模型沒有考慮這種情況。
本節(jié)主要展示方案的具體構(gòu)造并對(duì)相關(guān)參數(shù)進(jìn)行說明,其中每種算法的執(zhí)行者已經(jīng)在4.1 節(jié)中明確指出。具體方案如下。
1)初始化setup(κ,U)→(PK,MK)
首先,運(yùn)行群生成算法(p,g,G,GT,e)←G(κ),輸入安全參數(shù)κ,輸出循環(huán)群的描述。其中,G和GT是階為素?cái)?shù)p的循環(huán)群,e:G×G→GT是雙線性映射,g是群G的生成元。屬性全集U={1,…,n}。
隨機(jī)選取α,β,δ←RZp,,。計(jì)算,…,,。輸出公共參數(shù),主密鑰。初始化追蹤表T=?。
2)加密encrypt(PK,A,m)→CT
消息m∈GT,訪問結(jié)構(gòu),其中,W為加密者指定的U 的一個(gè)子集,i表示一個(gè)屬性。隨機(jī)選取s←RZp,s為欲分享的秘密。輸出密文
3)用戶私鑰生成KeyGen(PK,MK,id,S)→SK
4)解密decrypt(PK,CT,SK)→mor ⊥
5)追蹤trace(PK,SK,T)→id or
如果SK 同時(shí)滿足下述2 個(gè)用戶私鑰格式檢查條件,則SK 是格式良好的;否則,SK 不是格式良好的,算法輸出。
用戶私鑰格式檢查條件如下。
①K'∈Zp,K,K0,Ki∈G。
當(dāng)SK 格式良好時(shí),算法在T中查詢r(jià)(K'=r),如果r存在,則輸出對(duì)應(yīng)的id;否則,輸出特殊的符號(hào)id?(表示在T中沒有存儲(chǔ))。
定理1如果DBDH 假設(shè)成立,則本文方案在4.2節(jié)的安全模型中是選擇性安全和IND-CPA 安全的。
證明假設(shè)存在一個(gè)概率多項(xiàng)式時(shí)間敵手A可以以不可忽略的優(yōu)勢ε攻破本文方案,那么能夠構(gòu)造一個(gè)概率多項(xiàng)式時(shí)間算法B 可以以不可忽略的優(yōu)勢攻破DBDH 假設(shè)。
挑戰(zhàn)者設(shè)置階為素?cái)?shù)p的群G和GT,雙線性映射e:G×G→GT,G的一個(gè)生成元g,隨機(jī)選取a,b,c,z←RZp。挑戰(zhàn)者擲一枚隨機(jī)均勻的硬幣μ∈{0,1},如 果μ=0,則設(shè)置;否則,設(shè)置。設(shè)屬性全集。模擬者B 收到四元組(A,B,C,Z)后,與敵手A 進(jìn)行下面的游戲。
初始化B隨機(jī)選取,λ1,…,λn←RZp,γ1,…,γn←RZp。B計(jì)算和,其中對(duì)i∈U,令ti=λi;對(duì)i∈W*,令;對(duì);令α=ab,β=b+θ(注意,這里在模擬β時(shí)令β=b+θ,通過加上隨機(jī)數(shù)θ,使盡管α和β的模擬中都含有參數(shù)b,但它們?nèi)匀粷M足真實(shí)方案中的獨(dú)立隨機(jī)性)。然后B 將公共參數(shù)傳遞給A,初始化追蹤表T=?。
階段1A向B 提交(id,S),詢問關(guān)聯(lián)的用戶私鑰,并且要求W*?S。B 隨機(jī)選取,計(jì)算,K'=r,其中表示(d+r)模p下的逆元,當(dāng)“r已經(jīng)在T中”發(fā)生時(shí),隨機(jī)選取新的并重復(fù)上述操作。
因?yàn)閃*?S,所以必定存在一個(gè)屬性k∈W*使k?S,B 選擇這樣一個(gè)屬性k。B 隨機(jī)選取,令t=bt',計(jì)算。B 隨機(jī)選取,…,,并計(jì)算。對(duì)i∈U{k},令;對(duì)i=k,令。B按以下4 種情況進(jìn)行計(jì)算。
B傳遞給A用戶私鑰
最后將對(duì)應(yīng)關(guān)系(r,id)存入T中。
這里指出B 對(duì)xi(i∈U)模擬的正確性,具體如下。
挑戰(zhàn)A 將2 個(gè)等長的消息m0、m1提交給B。B 隨機(jī)選取η←R{0,1},然后傳遞給A 挑戰(zhàn)密文,具體如下。
其中,令秘密s=c。
階段2A 與B 的交互過程同階段1。
猜測 A 將對(duì)η的猜測η'提交給B。如果η'=η,則B 輸出μ'=0,表示B 收到四元組(A,B,C,Z)=(ga,gb,gc,e(g,g)abc);如果η'≠η,則 B 輸出μ'=1,表示B收到四元組(A,B,C,Z)=(ga,gb,gc,e(g,g)z)。
B 模擬的公共參數(shù)、用戶私鑰和挑戰(zhàn)密文與實(shí)際方案中的分布是相同的。下面分析B 的優(yōu)勢。
當(dāng)μ=1時(shí),A 不能獲得mη的有效密文,A 只能純粹猜測η的值,因此。而當(dāng)η'≠η時(shí),B 輸 出μ'=1,所 以。
當(dāng)μ=0時(shí),A 可以獲得mη的有效密文,由前面的假設(shè)可知,A 攻破本文方案(即解密)的優(yōu)勢是ε,因此。而當(dāng)η'=η時(shí),B 輸出μ'=0,所以。
μ=1發(fā)生的概率為,μ=0發(fā)生的概率為,B 純粹猜測μ'(使μ'=μ)的概率為。綜上所述,B 攻破DBDH 假設(shè)的優(yōu)勢為
證畢。
定理2如果l-SDH 假設(shè)成立,則本文方案是可追蹤的(q<l,q是敵手詢問的次數(shù))。
證明假設(shè)存在一個(gè)概率多項(xiàng)式時(shí)間敵手A在進(jìn)行q次(不妨設(shè)l=q+1)密鑰詢問后可以以不可忽略的優(yōu)勢ε贏得4.3 節(jié)給出的可追蹤游戲,那么能夠構(gòu)造一個(gè)概率多項(xiàng)式時(shí)間算法B 可以以不可忽略的優(yōu)勢攻破l-SDH 假設(shè)。
設(shè)置G和GT是階為素?cái)?shù)p的循環(huán)群,是雙線性映射,。給出實(shí)例,B 的目標(biāo)是輸出并滿足,從而解決l-SDH 假設(shè)。B 設(shè)置,i=0,1,…,l。B 將作為輸入與A 進(jìn)行可追蹤游戲。
初始化B 隨機(jī)選取q個(gè)不同值r1,…,。令多項(xiàng)式。展開f(y),可以得到形式如的表達(dá)式,其中是多項(xiàng)式f(y)展開式中各項(xiàng)的系數(shù)。B 計(jì)算g和gd。
密鑰詢問A 提交(idi,Si)給B,詢問關(guān)聯(lián)的用戶私鑰SKi。假設(shè)這是A 的第i次詢問(i≤q)。令多項(xiàng)式。展開fi(y),可以得到形式如的表達(dá)式,其中β0,β1,…,βq-1∈Zp是多項(xiàng)式fi(y)展開式中各項(xiàng)的系數(shù)。B 計(jì)算
B 將對(duì)應(yīng)關(guān)系(ri,idi)存入T中,并將用戶私鑰SKi=(K,K',K0,{Kk}k∈Si,{Kk}k∈USi)傳遞給A 。SKi表示A 第i次詢問得到的用戶私鑰。
密鑰偽造A 將用戶私鑰SK*提交給B。
注意到,可追蹤游戲中B 模擬的公共參數(shù)和用戶私鑰與實(shí)際方案中的分布是相同的。
令EA表示A 贏得可追蹤游戲,即SK*滿足第5 節(jié)中用戶私鑰格式檢查的2 個(gè)條件,并且SK*中的K'?{r1,…,rq}。由證明開始時(shí)的假設(shè),有Pr[EA]=ε。下面討論EA的發(fā)生對(duì)B 解決l-SDH假設(shè)的幫助。
當(dāng)EA發(fā)生時(shí),B 做多項(xiàng)式除法,商為,余項(xiàng),因?yàn)椋?y+K')不能整除f(y)),進(jìn)而f(y)可以寫作。因?yàn)閜為素?cái)?shù)且,所以與p互素,即它們的最大公約數(shù)。因此在模p下存在逆元。此時(shí)B 可以按照以下方式計(jì)算。
綜上可知,B 攻破l-SDH 假設(shè)的概率為
其中,在沒有任何幫助的情況下B 解決l-SDH 假設(shè)的概率被認(rèn)為是可以忽略的,為方便計(jì)算,設(shè)其為0。則B 攻破l-SDH 假設(shè)的優(yōu)勢為
因此,B 可以以不可忽略的優(yōu)勢ε攻破l-SDH假設(shè)。
證畢。
本文方案中,只有當(dāng)敵手可以不利用全部屬性而采用其他的方法重構(gòu)出秘密參數(shù)α?xí)r,敵手才能實(shí)現(xiàn)密鑰委托。但是,用戶私鑰中與α有關(guān)的參數(shù)只有,并且只有全部的Ki共同參與才能重構(gòu)出α。這意味著敵手不能僅由全部屬性的子集或者其他不利用全部屬性的方法將α重構(gòu)出來,也就是說敵手不能實(shí)現(xiàn)密鑰委托,所以抗密鑰委托濫用性成立。本文僅給出了證明抗密鑰委托濫用性的基本思路,嚴(yán)格的證明過程見文獻(xiàn)[7]。
將本文方案與相關(guān)方案從性質(zhì)和性能兩方面進(jìn)行比較。功能和安全性等性質(zhì)對(duì)比如表1 所示,通信代價(jià)和計(jì)算代價(jià)等性能對(duì)比如表2 所示。為表述方便,將文獻(xiàn)[7]中只實(shí)現(xiàn)抗密鑰委托濫用性的方案稱為基礎(chǔ)方案,將文獻(xiàn)[7]中同時(shí)實(shí)現(xiàn)抗密鑰委托濫用性和可追蹤性的方案稱為擴(kuò)展方案。
從表1 可以看出,本文方案和文獻(xiàn)[7]的2 個(gè)方案建立在素?cái)?shù)階群上,而文獻(xiàn)[8]方案建立在合數(shù)階群上,有文獻(xiàn)指出,素?cái)?shù)階群上的方案比合數(shù)階群上的方案具有更好的執(zhí)行效率[19]。在功能上,文獻(xiàn)[8]方案僅支持可追蹤,文獻(xiàn)[7]基礎(chǔ)方案僅支持抗密鑰委托濫用,而本文方案和文獻(xiàn)[7]擴(kuò)展方案既支持抗密鑰委托濫用又支持可追蹤,因此本文方案和文獻(xiàn)[7]擴(kuò)展方案實(shí)現(xiàn)的功能更加全面。然而,本文方案與文獻(xiàn)[7]擴(kuò)展方案實(shí)現(xiàn)可追蹤性的方法不同,一方面影響方案的性能(具體參見關(guān)于表2 的分析);另一方面也影響方案的安全性,主要體現(xiàn)在可追蹤性證明上。文獻(xiàn)[7]擴(kuò)展方案的可追蹤性證明基于一般雙線性群模型,而本文方案的可追蹤性證明利用標(biāo)準(zhǔn)模型上的安全游戲,相較而言,基于標(biāo)準(zhǔn)模型的證明比基于一般雙線性群模型的證明更加嚴(yán)格,因此本文方案比文獻(xiàn)[7]擴(kuò)展方案在可追蹤性證明上更具優(yōu)勢。
表1 不同方案性質(zhì)對(duì)比
表2 相關(guān)方案性能對(duì)比
結(jié)合表1 的性質(zhì)對(duì)比,從表2 可以看出,本文方案與文獻(xiàn)[8]方案相比,雖然通信代價(jià)和計(jì)算代價(jià)更大,但是這些開銷是為了使本文方案獲得文獻(xiàn)[8]方案所不具備的抗密鑰委托濫用性,從而實(shí)現(xiàn)更好的安全保障,因此本文方案做出這樣的性能犧牲是合理的。本文方案與文獻(xiàn)[7]基礎(chǔ)方案相比,公共參數(shù)大小增加了2,密文大小增加了2,用戶私鑰大小增加了3;加密計(jì)算量中群G上指數(shù)運(yùn)算增加了2,解密計(jì)算量中雙線性運(yùn)算增加了1 并增加了一個(gè)群G上指數(shù)運(yùn)算,而功能上本文方案比文獻(xiàn)[7]基礎(chǔ)方案增加了可追蹤性。也就是說與文獻(xiàn)[7]基礎(chǔ)方案相比,本文方案在獲得可追蹤性的同時(shí)雖然增加了性能開銷,但是增加的性能開銷僅僅是常數(shù)量。本文方案與文獻(xiàn)[7]擴(kuò)展方案相比,公共參數(shù)大小減小了2ρ-2,密文大小減小了2ρ-2,用戶私鑰大小減小了ρ-3,加密計(jì)算量中群G上指數(shù)運(yùn)算減小了2ρ-2;解密計(jì)算量中雙線性運(yùn)算減小了ρ-1,同時(shí)增加了一個(gè)群G上指數(shù)運(yùn)算。顯然在既支持抗密鑰委托濫用又支持可追蹤的方案中,本文方案具有比文獻(xiàn)[7]擴(kuò)展方案更好的性能。
此外,本文還通過實(shí)驗(yàn)仿真對(duì)表2 中方案進(jìn)行了性能評(píng)估。實(shí)驗(yàn)運(yùn)行環(huán)境為Intel(R)Core(TM)i5-7200U CPU @ 2.50 GHz,8.00 GB 內(nèi)存,Windows10 操作系統(tǒng)。實(shí)驗(yàn)程序采用Java 語言編寫,基于JPBC(Java pairing based cryptography)類庫[20]實(shí)現(xiàn)雙線性運(yùn)算。由于文獻(xiàn)[8]方案建立在合數(shù)階群上,本文方案和文獻(xiàn)[7]的2 種方案建立在素?cái)?shù)階群上,通常在滿足相同安全強(qiáng)度時(shí),合數(shù)階方案運(yùn)行速度慢于素?cái)?shù)階方案運(yùn)行速度[19],因此實(shí)驗(yàn)只測試了本文方案和文獻(xiàn)[7]的2 種方案在加密和解密過程中的時(shí)間開銷。實(shí)驗(yàn)中給定?=10和ρ=20,主要關(guān)注各方案計(jì)算時(shí)間開銷隨屬性全集中屬性數(shù)量增加的變化趨勢。具體實(shí)驗(yàn)結(jié)果如圖2 和圖3 所示。
圖2 不同方案加密時(shí)間開銷對(duì)比
圖3 不同方案解密時(shí)間開銷對(duì)比
從圖2 可以看出,隨著屬性全集中屬性數(shù)量的增加,各方案加密時(shí)間開銷基本呈線性增長。本文方案實(shí)驗(yàn)曲線位于文獻(xiàn)[7]擴(kuò)展方案實(shí)驗(yàn)曲線的下方,而與文獻(xiàn)[7]基礎(chǔ)方案實(shí)驗(yàn)曲線在多個(gè)節(jié)點(diǎn)處幾乎重疊,這表明本文方案的加密時(shí)間開銷小于文獻(xiàn)[7]擴(kuò)展方案的加密時(shí)間開銷,而與文獻(xiàn)[7]基礎(chǔ)方案的加密時(shí)間開銷大體相當(dāng)。
從圖3 可以看出,隨著屬性全集中屬性數(shù)量的增加,各方案解密時(shí)間開銷也基本呈線性增長。其中本文方案實(shí)驗(yàn)曲線明顯低于文獻(xiàn)[7]擴(kuò)展方案實(shí)驗(yàn)曲線,整體略高于文獻(xiàn)[7]基礎(chǔ)方案實(shí)驗(yàn)曲線。例如當(dāng)時(shí),文獻(xiàn)[7]擴(kuò)展方案、本文方案和文獻(xiàn)[7]基礎(chǔ)方案的解密時(shí)間開銷分別為401.45 ms、275.1 ms 和255.4 ms。此時(shí),本文方案的解密時(shí)間開銷比文獻(xiàn)[7]擴(kuò)展方案減小了126.35 ms,但只比文獻(xiàn)[7]基礎(chǔ)方案增加了19.7 ms。這表明,本文方案的解密效率明顯優(yōu)于文獻(xiàn)[7]擴(kuò)展方案的解密效率,而稍弱于文獻(xiàn)[7]基礎(chǔ)方案的解密效率。圖2 和圖3 的實(shí)驗(yàn)結(jié)果與表2 的理論分析結(jié)果是一致的。
綜上所述,本文方案同時(shí)具備抗密鑰委托濫用性和可追蹤性,并且可追蹤性證明基于嚴(yán)格的標(biāo)準(zhǔn)模型。與同功能特點(diǎn)的文獻(xiàn)[7]擴(kuò)展方案相比,本文方案具有明顯的性能優(yōu)勢。
屬性基加密的推廣和應(yīng)用面臨著密鑰委托濫用和惡意用戶追蹤2 個(gè)重要的安全問題,然而現(xiàn)有屬性基加密方案對(duì)于同時(shí)解決這2 個(gè)問題缺少充分的關(guān)注。為此本文結(jié)合文獻(xiàn)[7]基礎(chǔ)方案和文獻(xiàn)[8]追蹤方法,提出了一種新的抗密鑰委托濫用的可追蹤屬性基加密方案。該方案與同樣支持抗密鑰委托濫用和可追蹤的文獻(xiàn)[7]擴(kuò)展方案相比,在性能上更加高效,并且可追蹤性證明基于更嚴(yán)格的標(biāo)準(zhǔn)模型。目前,本文方案僅支持由與門構(gòu)成的訪問結(jié)構(gòu),未來將進(jìn)一步改進(jìn)本文方案,使其能夠支持任意的單調(diào)訪問結(jié)構(gòu),從而表達(dá)更加靈活的訪問策略。