李 莉,朱江文,楊春艷,謝絨娜
(1.北京電子科技學(xué)院 電子與通信工程系,北京 100070;2.西安電子科技大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,陜西 西安 710071;3.北京電子科技學(xué)院 密碼科學(xué)與技術(shù)系,北京 100070)
隨著網(wǎng)絡(luò)和通信技術(shù)的快速發(fā)展,數(shù)據(jù)的重要性越來越凸顯,但與此同時,數(shù)據(jù)的安全性和保密性問題也日益突出。例如,基于互聯(lián)網(wǎng)的在線云服務(wù)提供了巨大的存儲空間和計算資源,用戶和企業(yè)都傾向于將數(shù)據(jù)存儲在云服務(wù)器中。一旦數(shù)據(jù)所有者將數(shù)據(jù)上傳到云服務(wù)器與其他用戶進行分享,數(shù)據(jù)的存儲和管理則完全由云提供商控制。由于云提供商是不完全可信的,為了保證數(shù)據(jù)安全,數(shù)據(jù)所有者將數(shù)據(jù)上傳到云服務(wù)器之前,通常使用某種加密算法對數(shù)據(jù)進行加密,再與某個用戶或一類用戶進行共享。
自Sahai 等[1]于2006 年提出屬性基加密(attributebased encrypted,ABE)的概念后,密鑰策略ABE(key-policy ABE,KP-ABE)[2]和密文策略ABE(ciphertext-policy ABE,CP-ABE)[3]相繼被提出,并在數(shù)據(jù)共享系統(tǒng)中廣泛用于提供加密數(shù)據(jù)的細(xì)粒度訪問控制。但在實際應(yīng)用中,由于ABE 系統(tǒng)中的屬性是由多個用戶共享,若存在無意或故意泄露自己密鑰的用戶,則會導(dǎo)致文件在非授權(quán)用戶中的訪問,造成安全隱患,這里將無意或故意泄露自己密鑰的用戶定義為惡意用戶或叛逆者。如何追蹤到此類用戶從而避免或降低安全風(fēng)險是值得研究的問題。2008 年,Hinder 等[4]提出基于令牌的屬性基加密方案,在密鑰生成階段引入用戶身份,防止非法密鑰克隆。但需要一個可信的第三方,為每次解密提供相應(yīng)的交互服務(wù)。2011 年,Lewko 等[5]第一次提出無界ABE 的概念,即公共參數(shù)大小固定,不受全局屬性集合限制,由于相關(guān)權(quán)限是用一系列屬性加以描述,一旦叛逆者非法泄露其權(quán)限,就很難抓住叛逆者。威瑞森發(fā)布的2021 年數(shù)據(jù)泄露調(diào)查報告顯示,85%的數(shù)據(jù)泄露涉及人的因素[6]。因此,發(fā)現(xiàn)并找到叛逆者,以及如何實現(xiàn)一個高效、可靠的叛逆者追蹤技術(shù)尤為重要[7]。
2000 年,Chor 等[8]首次提出叛逆者追蹤技術(shù)的概念。圖1 顯示了叛逆者追蹤技術(shù)中加密數(shù)據(jù)的一般結(jié)構(gòu)和單個塊的處理流程。加密數(shù)據(jù)包含使能數(shù)據(jù)塊和密文數(shù)據(jù)塊兩部分,其中使能數(shù)據(jù)塊是對解密密鑰的封裝,密文數(shù)據(jù)塊是對明文的封裝。這樣,用戶首先利用自己的個人密鑰處理使能數(shù)據(jù)塊以獲得解密密鑰,然后通過解密密鑰解密密文數(shù)據(jù)塊獲得明文。由于每個用戶持有的個人密鑰都不同,當(dāng)獲得盜版解密器時,可以通過輸入輸出間的關(guān)系分析出盜版解密器中包含的解密密鑰,從而追蹤到叛逆者。之后,各種叛逆者追蹤方案相繼被提出。
Fig.1 Data structure and processing flow in traitor tracking technology圖1 叛逆者追蹤技術(shù)中的數(shù)據(jù)結(jié)構(gòu)與處理流程
在傳統(tǒng)的公鑰密碼體制中,用戶的公鑰和私鑰是一一對應(yīng)。如果系統(tǒng)用戶將其私鑰泄露或售賣給其他用戶,則可通過與證書相關(guān)的公鑰輕松地追蹤到該用戶[9]。但在屬性基加密的叛逆者追蹤方案中,由于系統(tǒng)中的屬性個數(shù)遠(yuǎn)小于用戶個數(shù),存在不同用戶具有相同的屬性,導(dǎo)致用戶間可能存在相同的解密密鑰,從而使得判定誰是真正的叛逆者非常困難[10]。
假設(shè)有一個文件只有密碼學(xué)領(lǐng)域的用戶才能訪問,Alice 是密碼學(xué)教授,Bob 是密碼學(xué)副教授,他們都可以基于屬性集合構(gòu)造一個屬性密鑰。但目前,這個文件被其它領(lǐng)域的用戶訪問,由于Alice 和Bob 都擁有解密權(quán)限,因此無法確定誰泄露了解密密鑰。針對該問題,提出基于屬性基加密的叛逆者追蹤方案,通過基于黑盒正向推導(dǎo)或白盒直接定位的方式追蹤到叛逆者。當(dāng)獲得一個盜版解密器時,可以根據(jù)能否打開盜版解密器分為非黑盒追蹤(白盒追蹤)和黑盒追蹤[11]。白盒追蹤可以打開解密器并獲取其中的解密密鑰信息,再利用獲取的解密密鑰作為輸入,從而追蹤到叛逆者。如果獲取的解密密鑰不完整,則會導(dǎo)致追蹤失敗。白盒追蹤是一種輕量級和高效的跟蹤方法[12]。黑盒追蹤無法打開解密器,是以嵌入密鑰與解密算法的盜版解密器為輸入,在追蹤時需要用戶身份和大量的雙線性映射計算。
基于屬性加密的叛逆者追蹤方案(以CP-ABE 為例)主要包含Setup、KeyGen、Encrypt、Decrypt和Trace5 個算法。①Setup:系統(tǒng)初始化算法以安全參數(shù)為輸入,輸出系統(tǒng)的主密鑰和公共參數(shù);②KeyGen:密鑰生成算法以主密鑰、公共參數(shù)和用戶的屬性集為輸入,輸出用戶的解密密鑰;③Encrypt:加密算法以公共參數(shù)、訪問策略、明文為輸入,輸出密文;④Decrypt:解密算法以用戶的解密密鑰、密文和公共參數(shù)為輸入,若用戶的解密密鑰的屬性集合滿足密文中的訪問策略,則輸出明文,否則解密失敗;⑤Trace:追蹤算法以盜版解密器為輸入,輸出盜版解密器中所屬用戶的ID。
白盒追蹤的對象為被泄露的密鑰,根據(jù)被泄露的已知密鑰追蹤到叛逆者。但這種追蹤方案存在一定局限性,需要解密密鑰和解密算法都公開,且解密密鑰必須滿足某種特定的格式,才能追蹤到叛逆者。目前,屬性基加密中的白盒追蹤方案主要有構(gòu)造用戶身份列表[13-14]和對用戶的解密密鑰與身份進行綁定[15-16]兩種。
2.1.1 構(gòu)造用戶身份列表的叛逆者追蹤方案
構(gòu)造用戶身份列表的叛逆者追蹤流程如圖2 所示,其過程為:在Setup階段,生成一個身份列表;在KeyGen階段,權(quán)威機構(gòu)為用戶生成解密密鑰;在Trace階段,從盜版解密器抽取泄露的解密密鑰中的唯一主鍵,根據(jù)用戶身份列表的身份信息,追蹤到叛逆者。
Fig.2 Traitor tracking process for constructing user identity list圖2 構(gòu)造用戶身份列表的叛逆者追蹤流程
Liu 等[17]于2013 年第一次提出構(gòu)造用戶身份列表的可追蹤CP-ABE 方案,通過線性秘密共享方案實現(xiàn)了支持任何單調(diào)訪問結(jié)構(gòu)策略。在Setup階段,系統(tǒng)初始化一個用戶身份列表T。在KeyGen階段,生成一個隨機整數(shù)c作為唯一主鍵,將用戶身份標(biāo)識ID和c一起添加到用于追蹤的用戶身份列表T中。并將c作為解密密鑰中的一部分,從而解決了由于多個用戶擁有相同權(quán)限導(dǎo)致的將解密權(quán)限泄露給第三方而不被發(fā)現(xiàn)的問題。方法如下:假設(shè)發(fā)現(xiàn)一個盜版解密器,首先對解密密鑰進行完整性檢查,如果它是一個格式良好的解密密鑰,只需提取解密密鑰中的組件c以查詢用戶身份列表T,就可以追蹤到叛逆者ID。
基于文獻[17]提出的方案,Zhou 等[18]將其應(yīng)用于醫(yī)療文件的安全存儲,并能追蹤到濫用密鑰的叛逆者的ID,提出一種在多級隱私保護電子醫(yī)療云計算系統(tǒng)中叛逆者可追蹤多權(quán)限屬性加密方案。2015 年,Ning 等[19]首次提出一個支持大屬性域的可追蹤CP-ABE 方案,在密鑰生成階段,將身份標(biāo)識符和唯一主鍵進行綁定,并保存在用于追蹤的身份列表中。大屬性域是指公鑰長度與屬性無關(guān),且任何一個字符串都可以作為一個新屬性加入系統(tǒng)。當(dāng)叛逆者被捕獲后,需要將其從系統(tǒng)中剔除,上述方案都沒考慮該問題。針對此問題,Liu 等[20]提出一種支持叛逆者可追蹤和撤銷的新型可更新CP-ABE 方案,該方案維護了身份列表和撤銷列表兩個表格,分別用于追蹤和撤銷。在文獻[20]的基礎(chǔ)上,Li 等[21]于2021 年提出一種高效、可追蹤和可撤銷的訪問控制方案,實現(xiàn)對將權(quán)限泄露給非授權(quán)實體的叛逆者的精確追蹤,并將其添加到撤銷列表中,且最終密文的長度和用于解密的雙線性不會造成運算時間的增長。
2.1.2 解密密鑰嵌入用戶身份組件的叛逆者追蹤方案
由于構(gòu)造用戶身份列表的可追蹤方案需要維護一個用戶列表,龐大的用戶數(shù)量會給系統(tǒng)帶來非常大的搜索開銷。Ning 等[22]和Zhang 等[23]對其進行改進,將用戶的身份和密鑰進行綁定,無需維護用戶列表。其過程如圖3 所示,在KeyGen階段,權(quán)威機構(gòu)為用戶生成與用戶身份進行綁定的解密密鑰;在Trace階段,從盜版解密器抽取泄露的解密密鑰中與用戶身份相關(guān)的組件,并從組件中提取用戶身份,從而追蹤到叛逆者。
Fig.3 Traitor tracking process where the decryption key is embedded in the user identity component圖3 解密密鑰嵌入用戶身份組件的叛逆者追蹤流程
Ning 等[24-25]改進了他們的方案,允許識別惡意機構(gòu),即非法分發(fā)密鑰的機構(gòu)。隨后,Ning 等[26]基于同態(tài)承諾協(xié)議Pedersen[27]提出嵌入用戶身份組件的叛逆者追蹤白盒方案,有效地捕捉為了盈利而泄露解密密鑰的授權(quán)用戶。在Setup階段,初始化3 個大素數(shù)p1、p2和p3、Gi是pi階的循環(huán)乘法群,并生成一個整數(shù)k。在KeyGen階段,隨機選擇一個整數(shù)r,h是一個雙線性群G1的生成元,R0是一個雙線性群G3的生成元。計算承諾L=,其中id是用戶的唯一身份標(biāo)識符,并將L作為用戶解密密鑰中的一個組件。在Trace階段,首先對解密密鑰進行完整性檢查。如果它是一個格式良好的解密密鑰,需從泄露的解密密鑰中提取承諾L=。為了提取id,借鑒了Boneh 等[28]提出的一種同態(tài)加密思想,計算,令,并計算的離散對數(shù)即可。
2015 年,Xhafa 等[29]提出一種嵌入用戶身份組件的可追蹤CP-ABE 方案,可以追蹤將解密密鑰泄露給其他未授權(quán)用戶的叛逆者身份,并且訪問策略是隱藏的,保護了用戶的訪問隱私。Zeng 等[30]提出一種部分策略隱藏的具有公開可追蹤的大屬性域ABE 方案,用于構(gòu)建一個實用的醫(yī)療物聯(lián)網(wǎng)系統(tǒng),但存在計算開銷較大的問題。Sethi 等[31]提出一種實用的去中心化多機構(gòu)可追蹤和可撤銷的ABE系統(tǒng),具有大屬性域和外包解密優(yōu)勢,保證了系統(tǒng)的前向和后向安全,且外包解密減少了用戶解密的計算開銷。Han 等[32]提出一種可撤銷、可追蹤和隱藏策略的CP-ABE方案,該密文由兩部分組成:一部分嵌入訪問策略,訪問策略中只有屬性名是明文顯示的;另一部分與撤銷信息相關(guān),撤銷信息由與用戶相關(guān)的二叉樹生成。解密密鑰中二叉樹的葉子節(jié)點值用于跟蹤惡意用戶。2021 年,Ziegler等[33]結(jié)合白盒追蹤、策略隱藏和外包解密功能,提出一種可以在資源有限的環(huán)境中使用的CP-ABE 方案,計算開銷較小。2022 年,Varri 等[34]為了解決現(xiàn)有大部分方案中只有單一的密鑰生成權(quán)限,提出一種可追蹤、可撤銷的多機構(gòu)CP-ABE 方案,該方案要求多個機構(gòu)共同生成用戶密鑰,以限制任何個人權(quán)限對云數(shù)據(jù)的未授權(quán)訪問。由于嵌入用戶身份組件的叛逆者可追蹤方案只關(guān)注用戶的可追蹤性,不適用于多域環(huán)境下的多層體系結(jié)構(gòu)。Yan 等[35]提出一種多域環(huán)境中的可追蹤CP-ABE 方案,在域名層面,利用短簽名技術(shù)實現(xiàn)域名可追蹤性,在用戶層面,利用可鏈接環(huán)簽名技術(shù)實現(xiàn)可追蹤性。2022 年,Zhang 等[36]融合區(qū)塊鏈技術(shù)和星際文件系統(tǒng),構(gòu)建一個可追蹤和可撤銷的多機構(gòu)CP-ABE 方案,利用區(qū)塊鏈技術(shù)確保數(shù)據(jù)的完整性和不可否認(rèn)性,實現(xiàn)了對叛逆者的準(zhǔn)確追蹤,并且能夠在不需要密鑰或密文更新的情況下實現(xiàn)間接即時的用戶和屬性撤銷。
基于屬性基加密的黑盒可追蹤方案的操作對象是解密黑盒,解密黑盒是由一個或多個惡意用戶串通構(gòu)建、無法打開的盜版解密器,用以獲取非法利益。解密密鑰和解密算法都嵌入在解密黑盒中,不被公開[37]。雖然解密黑盒的解密操作大部分時間都以失敗告終,但審計者仍然希望通過將追蹤密文發(fā)送到解密黑盒進行解密操作,并通過計算結(jié)果追蹤到構(gòu)建此解密設(shè)備的其中一個惡意用戶的身份信息[38]。
文獻[7]在屬性基加密的基礎(chǔ)上,提出了第一個抗合謀的黑盒可追蹤方案,但該系統(tǒng)的密文大小與系統(tǒng)的用戶總數(shù)呈線性關(guān)系。Zhao 等[39]提出一種具有黑盒和公共可追蹤的多機構(gòu)CP-ABE,其中私鑰由一個中央權(quán)威機構(gòu)和多個機構(gòu)之間的合作進行配置。Ning 等[40]首先提出一種短密文的黑盒可追蹤的CP-ABE 方案,隨后又提出一種密文大小與訪問策略大小呈線性關(guān)系,而不是與系統(tǒng)用戶數(shù)呈線性關(guān)系的方案[41],可以實現(xiàn)針對特定訪問策略的解密黑盒可追蹤性。然而,這些黑盒可追蹤方案的計算代價都很高,因為它們都是建立在復(fù)數(shù)階雙線性群上?;贚ewko[42]開發(fā)的雙配對向量空間,Liu 等[43]提出一種在素數(shù)階群下支持完全安全的黑盒追蹤方案,該方案的效率達到了的次線性開銷,其中n是系統(tǒng)的用戶數(shù)。之后,Liu 等[44]借鑒了Garg 等[45]將部分密文分為兩個正交分量的思想,提出一種新的基于素數(shù)階群的黑盒追蹤方案,在支持完全抗合謀的黑盒可追蹤和撤銷的同時,該方案的效率達到了次線性開銷。
2018 年,Qiao 等[46]提出一種輕量級、可擴展的黑盒可追蹤CP-ABE 方案,且敵手無法區(qū)分追蹤密文和正常密文。在對解密黑盒進行追蹤操作時,需要向解密黑盒發(fā)送帶有陷門的追蹤密文,并將結(jié)果與身份列表進行匹配。若匹配成功,則叛逆者為該身份記錄所對應(yīng)的用戶。在Setup階段,隨機選擇兩個整數(shù)r和α、雙線性群的一個生成元g和公共參數(shù)gα,以生成身份記錄IDSK=e(ga,gr),并保存到身份列表中。追蹤密文的生成和普通密文的生成類似,唯一不同的是,加密時隨機選擇兩個整數(shù)s和s',并生成陷門trap=s-s'。然后,選擇解密黑盒可以滿足的訪問結(jié)構(gòu),并隨機選擇消息M。利用Encrypt算法生成追蹤密文。在追蹤解密黑盒中存在的身份時,首先向解密黑盒發(fā)送追蹤密文。如果能正確執(zhí)行解密算法,則結(jié)果為M'=Me(g,g)ar(s'-s),并計算W=M'/M=e(g,g)ar(s'-s)。對 于身份列表的每個IDSK,計算(IDSK)trap并與W進行比較,直到相等,即可得出叛逆者為IDSK所對應(yīng)的用戶。
Qiao 等[47]在文獻[46]的基礎(chǔ)上提出了第一個適用于加密云存儲的黑盒可跟蹤CP-ABE 方案,該方案具有可擴展性和高效性,追蹤的代價降低到O(N)或O(1),其中N是系統(tǒng)的用戶數(shù),其在選擇性標(biāo)準(zhǔn)模型下被證明是安全的。2020 年,Zhandry[48]提出一個抗合謀交易者追蹤方案,其追蹤算法與文獻[7]的方案類似,且公鑰、密鑰和密文開銷更小。Ye 等[49]提出一種更靈活的具有黑盒可追蹤性的密鑰策略屬性加密方案,該方案具有固定大小的公共參數(shù),可以靈活地構(gòu)造與屬性相關(guān)的參數(shù),并在廣播加密中引入叛逆者追蹤的方法以實現(xiàn)有效的惡意用戶追蹤。2021 年,Luo 等[50]提出第一個基于格的黑盒追蹤ABE 方案,支持自適應(yīng)安全的黑盒追蹤,并且具有與用戶數(shù)量無關(guān)的短密鑰和短密文,在標(biāo)準(zhǔn)模型下被證明是弱選擇性安全的。
現(xiàn)有的屬性基加密叛逆者追蹤方案優(yōu)缺點分析與比較如表1 所示??梢园l(fā)現(xiàn),白盒追蹤的對象是可以從盜版解密器提取出來的解密密鑰,從而根據(jù)解密密鑰定向追蹤叛逆者。而黑盒追蹤的對象是無法打開的盜版解密器,即解密黑盒。黑盒追蹤算法將解密黑盒視為可以提供密文并從中獲取明文的一個設(shè)備,可以至少正向追蹤到一個參與制造解密黑盒的叛逆者。白盒追蹤的前提是解密密鑰和解密算法都公開,且解密密鑰滿足特定的格式。黑盒追蹤方案也支持白盒追蹤,反之則不然。白盒追蹤計算開銷較小,但黑盒追蹤更具普遍性和安全性。
Table 1 Analysis and comparison of existing traitor tracking schemes based on attribute encryption表1 現(xiàn)有基于屬性加密的叛逆者追蹤方案分析與比較
ABE 機制中,用戶或授權(quán)機構(gòu)有意泄露密鑰使得叛逆者難以追蹤的問題制約著ABE 的應(yīng)用與發(fā)展,因此成為研究的熱點之一。從表1 可以看出,基于ABE 的叛逆者追蹤主要有以下研究問題。
(1)目前,無論是白盒追蹤還是黑盒追蹤,都是通過已知盜版解密器追蹤叛逆者,兩者都沒有提到如何定位和獲取到盜版解密器,這是必須要考慮的問題。
(2)在ABE 的早期研究中,大多數(shù)方案的關(guān)注點在訪問策略的表達和實現(xiàn)能力上,沒有對用戶屬性撤銷問題進行關(guān)注。在基于ABE 的叛逆者追蹤中,當(dāng)叛逆者被捕獲時,身份標(biāo)識符將會被禁用,需要從系統(tǒng)中撤銷。目前,存在直接撤銷、間接撤銷和混合撤銷3 種不同的撤銷機制。直接撤銷即數(shù)據(jù)擁有者在加密文件時將撤銷信息添加到撤銷列表中,并將撤銷列表嵌入到密文中。間接撤銷可以動態(tài)地發(fā)布撤銷信息,對密文和用戶的密鑰進行更新?;旌铣蜂N是指結(jié)合間接撤銷和直接撤銷兩種方式,實現(xiàn)撤銷機制。目前,可撤銷ABE 方案日益成熟,但在計算開銷、密鑰更新、系統(tǒng)安全性等方面仍需改進與發(fā)展,如在執(zhí)行撤銷的同時,如何保證文件的前后向安全性。后向安全性是指在撤銷某個用戶或者某個用戶的某個屬性后,被撤銷的用戶無法解密用新的公共屬性密鑰加密的密文。前向安全性是指在添加某個用戶或者某個用戶添加某個屬性后,用戶無法正確解密之前加密的密文。
(3)現(xiàn)有基于ABE 的叛逆者追蹤方案中,用戶的密鑰依賴于權(quán)威機構(gòu)的生成,未能抵御中心化屬性權(quán)限帶來的密鑰托管和濫用問題。一旦權(quán)威機構(gòu)偽造用戶的合法密鑰并分享給其他用戶,會給合法用戶及數(shù)據(jù)帶來安全風(fēng)險。采用多機構(gòu)合作生成密鑰的方案解決權(quán)威機構(gòu)偽造密鑰的問題,會存在計算開銷大、機構(gòu)間協(xié)調(diào)溝通困難等不足,這有待后續(xù)進一步研究解決。
(4)隨著量子技術(shù)的發(fā)展,提出量子算法可以快速解決離散對數(shù)等數(shù)學(xué)難題,這使得屬性基加密方案可能被量子計算攻擊破解,從而帶來安全隱患。目前,為了抵抗量子計算對屬性基加密的威脅,提出將基于格的加密算法與屬性基加密算法結(jié)合,并且通過基于格難題的數(shù)學(xué)歸約確??沽孔佑嬎愕陌踩阅?。但將格上的加密方案應(yīng)用于ABE 方案,如何實現(xiàn)更靈活的屬性門限操作、如何縮短用戶私鑰及密文大小、如何在多機構(gòu)ABE 方案中確保抗量子計算的安全性能等,都是未來研究的方向。
目前,屬性基加密的理論研究雖然成果顯著,在云計算、隱私保護、大數(shù)據(jù)領(lǐng)域都有著廣闊的發(fā)展前景,但在實際應(yīng)用層面還存在一定缺陷。本文針對屬性基加密的共享系統(tǒng)中存在叛逆者無意或有意地泄露其解密密鑰或非法構(gòu)造盜版解密器以獲取利益的情況,對現(xiàn)有基于屬性加密的叛逆者追蹤方案進行了回顧和分析,介紹了叛逆者追蹤技術(shù)的基本概念、優(yōu)缺點、研究進展、追蹤流程等。重點從構(gòu)造用戶身份列表的白盒可追蹤技術(shù)和嵌入用戶身份組件的白盒可追蹤技術(shù),以及黑盒可追蹤技術(shù)3 個方面進行了梳理和對比。最后,對基于屬性加密的叛逆者追蹤技術(shù)未來發(fā)展進行了展望。