石宇清,凌 捷
廣東工業(yè)大學(xué) 計算機學(xué)院,廣州 510006
隨著云計算技術(shù)的快速發(fā)展和廣泛應(yīng)用,越來越多的企業(yè)和個人將數(shù)據(jù)存儲在云中以減少本地的存儲和管理開銷。然而,云服務(wù)提供商通常被認為是不受信任的,可能會對用戶的數(shù)據(jù)內(nèi)容感到好奇,甚至擅自將數(shù)據(jù)泄露給數(shù)據(jù)所有者的競爭對手以獲取不當利益。因此,如何保護用戶的敏感數(shù)據(jù)就顯得尤為重要。一種可行的方法是將數(shù)據(jù)進行加密存儲。傳統(tǒng)的公鑰加密技術(shù)雖然允許用戶將數(shù)據(jù)秘密分享給一個指定用戶,但是無法實現(xiàn)細粒度的訪問控制。文獻[1]首次提出了屬性基加密(Attribute-Based Encryption,ABE)的概念,這種可擴展的一對多加密機制為云存儲提供了良好的安全性和細粒度訪問控制。文獻[2]將ABE 分為密鑰策略 ABE(Key-Policy ABE,KP-ABE)和密文策略ABE(Ciphertext-Policy ABE,CP-ABE)。
然而,傳統(tǒng)的CP-ABE 方案中存在私鑰泄露的問題:多個授權(quán)用戶可能擁有相同的屬性集,導(dǎo)致一個解密私鑰可能會對應(yīng)多個用戶,因此用戶敢于非法共享其私鑰以獲取不當利益而不受追責。從而,對泄露的私鑰進行追蹤并定位泄露源就顯得尤為重要。
此外,在傳統(tǒng)的CP-ABE 方案中,訪問策略由訪問結(jié)構(gòu)表示,用于加密消息,并與密文一起顯式發(fā)送。任何獲得密文的人都知道相關(guān)的訪問策略,而訪問策略通常包含敏感信息。例如,一份病歷通過CP-ABE機制加密,它的策略是只允許心臟病科專家訪問,這條策略暴露了這份病歷的病人極有可能心臟方面有問題。在類似場景中,出于隱私性的考慮,策略隱藏就顯得十分必要。
文獻[3-4]首先研究了CP-ABE中的密鑰追蹤問題,文獻[5]提出了隱藏訪問策略的CP-ABE方案,但是三者僅支持“與”門和通配符表達的訪問策略,且安全性與效率均不高。為此,文獻[6]提出了支持策略隱藏的完全安全的CP-ABE方案,能夠處理任意可以表示成線性秘密共享方案(Linear Secret Sharing Scheme,LSSS)的訪問結(jié)構(gòu)。文獻[7]提出了一種稱為“match-then-decrypt”的方法,在解密階段之前引入一個匹配階段,通過生成冗余密文組件,在不進行解密的情況下,測試解密私鑰中的屬性是否與密文中隱藏的訪問策略相匹配,以提高解密效率。文獻[8-9]在合數(shù)階群下分別提出了支持白盒可追蹤(根據(jù)泄露私鑰的具體組件對惡意用戶進行追蹤)和黑盒可追蹤(通過包含泄露私鑰的解密設(shè)備的輸入輸出特性對惡意用戶進行追蹤)的CP-ABE 方案,二者均支持策略的高表達力,并證明了在標準模型下方案的適應(yīng)性安全。但是,文獻[8]需要維護一個記錄用戶的列表來實現(xiàn)白盒可追蹤,其用于追蹤的存儲開銷隨著系統(tǒng)用戶的增加而線性增長。因為合數(shù)階群的困難假設(shè)通?;诖笳麛?shù)分解的困難性,在相同的安全級別下,合數(shù)階群中元素的比特長度要高于素數(shù)階群中元素的比特長度,所以合數(shù)階群上的計算開銷要高于素數(shù)階群。因此,文獻[10]在素數(shù)階群下提出了支持大屬性域的白盒可追蹤CP-ABE方案,并且消除了文獻[8]中用于記錄用戶的列表,僅需在系統(tǒng)初始化時記錄一小部分預(yù)先設(shè)定的參數(shù)即可,從而使追蹤的存儲開銷降至常數(shù)級。相比于小屬性域構(gòu)造的方案,支持大屬性域構(gòu)造的方案,其系統(tǒng)屬性域不需要在系統(tǒng)建立時確定,而且公共參數(shù)的大小并不隨著屬性的數(shù)量線性增長。文獻[11]提出了支持屬性撤銷的策略隱藏與層次化訪問控制方案,既保護了訪問策略的隱私,又實現(xiàn)了屬性的撤銷,同時減少了單一授權(quán)的負擔和風險。文獻[12]在合數(shù)階群下提出了一個支持大屬性域和高表達力的策略隱藏CP-ABE 方案,證明了在標準模型下方案是完全安全的。文獻[13]在合數(shù)階群上構(gòu)造了完全安全的白盒可追蹤的CP-ABE方案,用于追蹤的存儲開銷極低。但上述文獻中,文獻[3-4,8-10,13]均不支持策略隱藏,文獻[5-7,11-12]均不支持密鑰追蹤。為此,文獻[14]提出了支持白盒可追蹤的策略隱藏CP-ABE 方案,文獻[15]基于多屬性授權(quán)機構(gòu)提出了黑盒可追蹤的策略隱藏CP-ABE方案。雖然文獻[14-15]都在素數(shù)階群中構(gòu)造,但是都只支持帶有通配符的多值“與”門的訪問結(jié)構(gòu),并且僅達到標準模型下的選擇性安全,訪問策略的表達能力以及安全性都比較弱。
針對上述問題,本文在合數(shù)階群下提出了一個隱藏訪問策略的可追蹤CP-ABE(Policies Hiding and Traceable Ciphertext-Policy Attribute-Based Encryption,PHT-CP-ABE)方案,證明了在標準模型下方案是完全安全和可追蹤的。這是一個同時滿足大屬性域、高表達力和完全安全性的隱藏訪問策略的可追蹤CP-ABE 方案。本文使用線性秘密共享矩陣來表達訪問結(jié)構(gòu),將用戶的身份信息嵌入到該用戶的私鑰中實現(xiàn)可追蹤性。為實現(xiàn)策略隱藏,將用戶屬性集S拆分為屬性名集合IS=?N和屬性值集合V={vi}i∈IS,即S=(IS,V)。利用解密測試技術(shù)提高解密效率,并且在標準模型下基于子群假設(shè)和q-SDH假設(shè)證明方案的完全安全性和可追蹤性。
本文方案的特點包括以下六點:
(1)可追蹤。追蹤算法能夠追蹤到泄露或非法共享私鑰的惡意用戶的身份,并且不需要維護記錄用戶的列表,也不需要引入其他額外的參數(shù),用于追蹤的存儲開銷極低。
(2)策略隱藏。訪問策略中的特定敏感屬性值隱藏在密文中,只有通用屬性名與密文一起發(fā)送。
(3)解密效率高。在完全解密之前,生成冗余密文組件來添加解密測試以提高解密效率,該測試僅涉及屬性匹配檢測中的少量雙線性配對操作。
(4)大屬性域。系統(tǒng)屬性域不需要在系統(tǒng)建立時確定,而且公共參數(shù)的大小并不隨著屬性的數(shù)量線性增長,提高了方案的可擴展性。
(5)完全安全。敵手在知道公共參數(shù)之前不需要聲明要攻擊的訪問結(jié)構(gòu),可以證明方案在標準模型下是抗自適應(yīng)敵手的。完全安全又稱為適應(yīng)性安全。
(6)高表達力。訪問策略支持任意單調(diào)訪問結(jié)構(gòu),能夠支持靈活的訪問控制。
表1 與4個相關(guān)方案的特征比較
表2 與4個相關(guān)方案的性能比較
表1 和表2 分別給出了文獻[12-13]的方案、已有的隱藏訪問策略的可追蹤CP-ABE方案[14-15]和本文提出的PH-T-CP-ABE 方案的特征對比和性能對比。表2 中的表示屬性域大小,|S|表示私鑰對應(yīng)屬性集的大小,l表示訪問策略中涉及的屬性數(shù),EG表示群G中的指數(shù)運算,ET表示群GT中的指數(shù)運算,—表示無此過程,P表示對運算,|I|表示私鑰中滿足密文訪問策略的屬性個數(shù),ρ表示用戶全局身份標識的位長度。與群G和GT中的運算相比,?N中的運算開銷很小,因此表2中忽略了?N中的運算開銷。
從表1中可以看出,文獻[12-13]的方案僅支持策略隱藏或可追蹤,雖然文獻[14-15]的方案同時支持策略隱藏和可追蹤,但是不支持大屬性域,訪問策略表達能力受限(僅支持帶通配符的多值“與”門),安全性也不夠高。相比于上述相關(guān)方案,本文方案同時支持策略隱藏、可追蹤和大屬性域,訪問策略表達能力和安全性都有所提高,并且利用解密測試以提高解密效率。
從表2 中可以看出,本文方案支持大屬性域,即本文方案的公共參數(shù)大小不隨屬性域大小線性增長,而文獻[13-15]的方案的公共參數(shù)大小隨著屬性域大小線性增長。文獻[12]僅支持策略隱藏,文獻[13]僅支持密鑰可追蹤,而本文方案以可接受的代價,同時實現(xiàn)策略隱藏和可追蹤。本文方案通過生成冗余密文實現(xiàn)解密測試,為了同時實現(xiàn)策略隱藏和可追蹤,密文相較于文獻[14-15]的方案要大,對應(yīng)的加密開銷也有所增加。但是在解密測試階段僅需4個對運算,便能大幅度地減少完全解密時的運算開銷,從而提高解密效率。
本文基于合數(shù)階群提出了一個隱藏訪問策略的可追蹤CP-ABE 方案。方案不僅可以追蹤泄露解密私鑰的惡意用戶,還可以隱藏訪問策略以保護隱私;通過解密測試,在完全解密之前檢測屬性是否匹配隱藏的訪問策略,以提高解密效率;證明了在標準模型下方案是完全安全和可追蹤的;對比分析結(jié)果表明,本文方案在解密運算方面有所優(yōu)化,從而降低了解密運算的開銷,提高了效率。此外,本文方案支持策略的高表達力以及大屬性域,具有良好的擴展性。但本文方案只能進行白盒追蹤,因此進一步的研究工作是設(shè)計能夠進行黑盒追蹤的方案。