999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

密文去重系統(tǒng)中的數(shù)據(jù)訪問控制策略

2020-06-06 00:54:40賈春福哈冠雄李瑞琪
通信學(xué)報(bào) 2020年5期
關(guān)鍵詞:用戶

賈春福,哈冠雄,李瑞琪

(1.南開大學(xué)網(wǎng)絡(luò)空間安全學(xué)院,天津 300350;2.天津市網(wǎng)絡(luò)與數(shù)據(jù)安全技術(shù)重點(diǎn)實(shí)驗(yàn)室,天津 300350)

1 引言

如今,全球每天都會(huì)產(chǎn)生大量數(shù)據(jù)。互聯(lián)網(wǎng)數(shù)據(jù)中心(IDC,Internet Data Center)預(yù)計(jì)2020 年的全球數(shù)據(jù)總量可能會(huì)達(dá)到40 ZB。隨著云計(jì)算的迅猛發(fā)展,大量的個(gè)人和企業(yè)都選擇將數(shù)據(jù)外包給云服務(wù)提供商。有的云服務(wù)商為節(jié)省存儲(chǔ)空間開始采用數(shù)據(jù)去重技術(shù),即多個(gè)用戶上傳相同數(shù)據(jù)時(shí)服務(wù)器只存儲(chǔ)一份。

近年來,云數(shù)據(jù)安全問題頻出,用戶為保證數(shù)據(jù)隱私,需要將數(shù)據(jù)先加密再上傳至云存儲(chǔ)服務(wù)器[1]。然而,傳統(tǒng)密碼學(xué)安全的加密算法與數(shù)據(jù)去重技術(shù)難以結(jié)合,數(shù)據(jù)加密后云存儲(chǔ)服務(wù)器無法對(duì)用戶上傳的密文進(jìn)行重復(fù)檢測(cè)。文獻(xiàn)[2]提出了收斂加密(CE,convergent encryption),CE 使用基于文件內(nèi)容生成的哈希值作為對(duì)稱加密的密鑰加密文件,相同明文加密后將得到相同密文,因此,云存儲(chǔ)服務(wù)器能夠?qū)γ芪倪M(jìn)行重復(fù)檢測(cè)。但CE 無法保證可預(yù)測(cè)(即明文空間{Mi}有限,Mi表示文件)文件的安全性,攻擊者可以通過猜測(cè)有限明文空間中的Mi,依次加密{Mi}中的明文并與截獲的密文對(duì)比,通過字典攻擊破解出密文對(duì)應(yīng)的明文。DupLESS[3]中使用專門的密鑰服務(wù)器生成密鑰,通過在密鑰服務(wù)器端進(jìn)行速率限制抵抗攻擊者的字典攻擊。但CE 和DupLESS 都屬于消息鎖定加密(MLE,message locked encryption)[4]的范疇。MLE 中相同明文被加密成相同密文,這嚴(yán)重泄露了數(shù)據(jù)頻率信息,Li 等[5]提出了基于數(shù)據(jù)塊局部性的頻率分析攻擊,攻擊者可通過統(tǒng)計(jì)明文塊和密文塊的頻率信息有效推測(cè)出大量密文數(shù)據(jù)塊所對(duì)應(yīng)的明文信息。此外,現(xiàn)有的客戶端去重系統(tǒng)容易受到攻擊者的側(cè)信道攻擊[6]和所有權(quán)欺騙攻擊[7]。在側(cè)信道攻擊中,攻擊者可以通過觀察客戶端上傳文件哈希值后服務(wù)器端是否去重來判斷該文件的存儲(chǔ)情況,威脅其他用戶的數(shù)據(jù)隱私;所有權(quán)欺騙攻擊是指攻擊者在沒有完整文件的情況下,通過文件的部分信息(如文件哈希值)從服務(wù)器端獲取整個(gè)文件的訪問權(quán)限。Li 等[8]和Shin 等[9]分別提出使用收斂擴(kuò)散和差分隱私抵抗側(cè)信道攻擊。Halevi 等[7]提出了所有權(quán)證明(PoW,proof of ownership)方案,抵抗惡意攻擊者的所有權(quán)欺騙攻擊。在PoW[7,10]方案中,文件所有者能夠高效安全地向云存儲(chǔ)服務(wù)器證明其擁有完整文件內(nèi)容。文獻(xiàn)[11]提出了差異化去重的思想,設(shè)計(jì)了基于混合云模型的授權(quán)去重概念,授權(quán)去重中每個(gè)用戶被賦予一系列權(quán)限。云存儲(chǔ)服務(wù)器中的文件都對(duì)應(yīng)一組訪問權(quán)限,滿足訪問權(quán)限的用戶才能夠進(jìn)行去重檢測(cè)。客戶端提交去重檢測(cè)前,用戶需要輸入文件及自己的屬性,當(dāng)屬性滿足權(quán)限要求時(shí)用戶才能夠檢測(cè)到文件去重。文獻(xiàn)[12]通過結(jié)合MLE 和CAONT(convergent all-or-nothing transform)實(shí)現(xiàn)了密文去重中的密鑰更新,對(duì)數(shù)據(jù)進(jìn)行加密后得到存根信息(st1,st2,...,stn)和TP 分組信息(TP1,TP2,...,TPn),通過重新加密體量較小的存根信息實(shí)現(xiàn)外包數(shù)據(jù)的密鑰更新。但文獻(xiàn)[11-12]都是基于MLE 的確定性加密,會(huì)泄露用戶數(shù)據(jù)的頻率信息,并且單純利用密碼學(xué)技術(shù)實(shí)現(xiàn)去重?cái)?shù)據(jù)的機(jī)密性,缺乏對(duì)數(shù)據(jù)的分布式管理,無法確保用戶訪問策略的有效執(zhí)行。

密文去重系統(tǒng)屬于云存儲(chǔ)系統(tǒng),而云存儲(chǔ)系統(tǒng)中的虛擬化和多租戶特征導(dǎo)致了用戶數(shù)據(jù)的所有權(quán)與管理權(quán)分離,用戶不知道與其共享資源的實(shí)體身份,這一特性給用戶數(shù)據(jù)帶來了巨大威脅。因此,在云數(shù)據(jù)管理中,身份認(rèn)證和訪問控制是保護(hù)用戶數(shù)據(jù)隱私性和機(jī)密性的重要防線。Squicciarini 等[13]提出了自我控制對(duì)象(SCO,self-controlling object)的概念,通過面向?qū)ο缶幊谭庋b用戶的敏感數(shù)據(jù)和訪問策略,確保用戶為數(shù)據(jù)設(shè)置的訪問策略能夠有效地被執(zhí)行。文獻(xiàn)[14]提出了基于SCO 技術(shù)設(shè)計(jì)的敏感數(shù)據(jù)保護(hù)方案,防止用戶數(shù)據(jù)被其他用戶發(fā)布,確保用戶對(duì)外包數(shù)據(jù)的訪問控制。Zafar 等[15]提出SCO 技術(shù)可以拓展到數(shù)據(jù)可信刪除和數(shù)據(jù)去重領(lǐng)域。

本文關(guān)注去重?cái)?shù)據(jù)訪問控制中的身份認(rèn)證、授權(quán)去重與權(quán)限更新問題,這些問題在很多實(shí)際場景中都具有很大的實(shí)用價(jià)值。例如,公司選擇外包數(shù)據(jù)至云存儲(chǔ)服務(wù)器端,而公司內(nèi)的部分?jǐn)?shù)據(jù)可能僅允許具有某些權(quán)限的用戶進(jìn)行去重檢測(cè),或者某些數(shù)據(jù)僅在部門內(nèi)去重,其他部門的用戶不應(yīng)得到該數(shù)據(jù)的任何信息,上述情況均需要應(yīng)用授權(quán)去重。例如公司的某個(gè)項(xiàng)目由A、B 這2 個(gè)團(tuán)隊(duì)共同開發(fā),但項(xiàng)目進(jìn)行到中期時(shí)公司決定由團(tuán)隊(duì)C 代替團(tuán)隊(duì)B,項(xiàng)目數(shù)據(jù)的訪問權(quán)限應(yīng)從A、B 屬性修改為A、C 屬性,此時(shí)便需要更新應(yīng)用數(shù)據(jù)的訪問權(quán)限。

2 本文工作

引言中的實(shí)際場景充分體現(xiàn)了外包數(shù)據(jù)訪問控制的應(yīng)用需求,而目前的密文去重系統(tǒng)大多基于MLE,難以提供外包數(shù)據(jù)的高效訪問控制。密文去重中的側(cè)信道攻擊和所有權(quán)欺騙攻擊等安全威脅均是基于去重系統(tǒng)中多個(gè)用戶共享同一密文這一特點(diǎn)。如果系統(tǒng)中不能提供外包數(shù)據(jù)的高效安全的訪問控制,用戶將無法控制與其共享同一數(shù)據(jù)的實(shí)體身份,這將造成嚴(yán)重的數(shù)據(jù)安全問題。現(xiàn)有密文去重系統(tǒng)中的訪問控制[11-12]主要基于確定性加密方案,并且在權(quán)限更新時(shí)需要下載并重新加密數(shù)據(jù)后上傳。這種方式具有以下缺點(diǎn):首先,確定性加密容易使數(shù)據(jù)受到字典攻擊并且泄露數(shù)據(jù)的頻率信息;其次,頻繁的數(shù)據(jù)傳輸與加解密大大增加了客戶端的計(jì)算開銷和系統(tǒng)的帶寬開銷。此外,現(xiàn)有方案一般僅使用密碼學(xué)方法提供數(shù)據(jù)的訪問控制,缺乏數(shù)據(jù)的分布式管理,難以保證當(dāng)數(shù)據(jù)位于云存儲(chǔ)服務(wù)器或其他用戶的客戶端時(shí)訪問策略仍能有效地被執(zhí)行。因此,實(shí)際場景中的應(yīng)用需求和密文去重系統(tǒng)在訪問控制方面的功能限制是本文工作要解決的主要問題。

針對(duì)上述問題,結(jié)合SCO 技術(shù)、多種密碼算法與密碼協(xié)議,本文設(shè)計(jì)并實(shí)現(xiàn)了一種支持身份認(rèn)證、授權(quán)去重和訪問權(quán)限更新的客戶端密文去重系統(tǒng)。該系統(tǒng)中,用戶可為外包數(shù)據(jù)設(shè)定訪問控制策略,確定數(shù)據(jù)與哪些屬性的用戶去重,并能夠高效地更新數(shù)據(jù)的訪問權(quán)限。

本文系統(tǒng)在去重標(biāo)簽中嵌入了屬性密鑰,基于消息認(rèn)證碼的安全性,實(shí)現(xiàn)了安全的授權(quán)去重,未授權(quán)用戶無法進(jìn)行側(cè)信道攻擊,數(shù)據(jù)對(duì)于未授權(quán)用戶而言是語義安全的。客戶端使用SCO 技術(shù)封裝用戶數(shù)據(jù)和訪問策略,提供了對(duì)數(shù)據(jù)訪問者的身份認(rèn)證并實(shí)現(xiàn)了用戶數(shù)據(jù)的分布式管理,確保數(shù)據(jù)的訪問策略無論在云存儲(chǔ)服務(wù)器還是其他客戶端中均能有效執(zhí)行。本文系統(tǒng)利用密文策略屬性基加密(CP-ABE,ciphertext-policy attribute-based encryption)[16]和ElGamal 加密算法等密碼學(xué)技術(shù)實(shí)現(xiàn)了高效的數(shù)據(jù)訪問權(quán)限更新,更新過程中僅需重新拆分ElGamal 私鑰,不需要用戶數(shù)據(jù)文件的任何傳輸或加解密,系統(tǒng)的帶寬開銷和客戶端的計(jì)算開銷均可以忽略。使用隨機(jī)密鑰加密取代確定性加密,混淆了數(shù)據(jù)的頻率信息,通過在滿足訪問權(quán)限的用戶間共享密鑰來實(shí)現(xiàn)密文去重,同時(shí)有效抵制了攻擊者的字典攻擊和頻率分析攻擊。最后,安全性分析和仿真實(shí)驗(yàn)證明本文系統(tǒng)在有效實(shí)現(xiàn)去重?cái)?shù)據(jù)訪問控制的同時(shí)仍具有較高的執(zhí)行效率。

3 相關(guān)知識(shí)和技術(shù)概述

3.1 SCO 技術(shù)

SCO 是一種策略執(zhí)行技術(shù),將用戶數(shù)據(jù)和訪問策略封裝在可執(zhí)行JAR(Java archive)包當(dāng)中,通過適應(yīng)性的安全策略保證數(shù)據(jù)安全。SCO 可能會(huì)被分布式地存儲(chǔ)在多個(gè)服務(wù)器中,數(shù)據(jù)接收者可隨時(shí)下載SCO,其工作流程如圖1 所示[13]。

當(dāng)接收者試圖訪問SCO 中的數(shù)據(jù)內(nèi)容時(shí),其內(nèi)部封裝的程序?qū)Ⅱ?yàn)證用戶輸入的身份證書是否滿足訪問策略,若該證書滿足訪問策略,SCO 的應(yīng)用程序部件可為用戶解密其中封裝的密文。基于SCO 的數(shù)據(jù)共享方案不需要可信第三方完成身份認(rèn)證和訪問控制,所有核心的安全部件均封裝在SCO 中。

圖1 SCO 工作流程

客戶端可使用SCO 封裝數(shù)據(jù)和安全策略,其中安全策略包括訪問控制、認(rèn)證、用法控制等。客戶端將封裝完成的SCO 發(fā)送至云存儲(chǔ)服務(wù)器,數(shù)據(jù)接收者訪問SCO 時(shí)通過輸入身份證書進(jìn)行認(rèn)證。

SCO 的內(nèi)部架構(gòu)[13]如圖2 所示,其中包括數(shù)據(jù)內(nèi)容和應(yīng)用程序兩部分。

圖2 SCO 內(nèi)部架構(gòu)

數(shù)據(jù)內(nèi)容部分存儲(chǔ)用戶封裝的文件內(nèi)容和策略文件;應(yīng)用程序部分是一組軟件部件,負(fù)責(zé)驗(yàn)證用戶身份證書及訪問SCO 內(nèi)的數(shù)據(jù)內(nèi)容。應(yīng)用程序部分包括行為控制部件、訪問控制部件和內(nèi)容保護(hù)部件。行為控制部件使用Java 中的JAAS(Java authentication and authorization service)實(shí)現(xiàn),驗(yàn)證用戶輸入的X.509 證書;訪問控制部件根據(jù)身份驗(yàn)證和授權(quán)的結(jié)果訪問數(shù)據(jù)內(nèi)容;內(nèi)容保護(hù)部件管理數(shù)據(jù)內(nèi)容部分,處理數(shù)據(jù)內(nèi)容的更新。

3.2 密文策略屬性基加密

CP-ABE 是一種公鑰加密算法。加密方可以在密文中嵌入所需的訪問控制策略,只有當(dāng)解密方的屬性滿足密文中的訪問策略時(shí)才能夠解密數(shù)據(jù)。CP-ABE 加密包括以下4 個(gè)算法。

Setup。輸入安全參數(shù)L,輸出公鑰PK 和主密鑰MK。PK 用來加密數(shù)據(jù),MK 用來生成用戶的屬性私鑰UK。

KeyGen。輸入用戶的屬性集合UA 和主密鑰MK,輸出屬性私鑰UK。

Encryption。輸入明文M、訪問控制策略ACP和公共參數(shù)PK,輸出密文C。

Decryption。輸入密文C和用戶屬性私鑰UK,如果用戶屬性UA 滿足密文C中的訪問策略,輸出明文M;否則輸出⊥。

3.3 ElGamal 加密

ElGamal 加密[17]是一種基于離散對(duì)數(shù)的公鑰加密算法,其安全性基于判定性Diffie-Hellman 問題的困難性。ElGamal 加密算法由以下步驟組成。

1) Initialization。選擇素?cái)?shù)p,計(jì)算p的原根c,計(jì)算b=cxmodp,其中,x是隨機(jī)選擇的私鑰,公鑰為{p,b,c}。

2) Encryption。生成隨機(jī)值r,計(jì)算消息m的密文E(m)=mbrmodp=mcrxmodp,計(jì)算g=crmodp。

3) Decryption。解密時(shí)使用私鑰x解密數(shù)據(jù)D x(E(m))=g?xE(m)modp=(cr)?xmcrxm odp=mmodp。

3.4 所有權(quán)證明

所有權(quán)證明協(xié)議使客戶端能夠向云存儲(chǔ)服務(wù)器證明其確實(shí)具有完整文件。假設(shè)云存儲(chǔ)服務(wù)器擁有完整數(shù)據(jù)M,并根據(jù)數(shù)據(jù)內(nèi)容計(jì)算認(rèn)證信息w=f(M)。客戶端為證明其具有完整文件,需要發(fā)送所計(jì)算的認(rèn)證信息v給云存儲(chǔ)服務(wù)器,云存儲(chǔ)服務(wù)器檢查v是否與w相等,判斷客戶端是否具有完整文件,具體過程如圖3 所示。

圖3 所有權(quán)證明過程

4 系統(tǒng)模型

4.1 系統(tǒng)架構(gòu)

本文方案中設(shè)計(jì)的密文去重系統(tǒng)架構(gòu)如圖4 所示,由客戶端、云存儲(chǔ)服務(wù)器和分布式密鑰服務(wù)器組成,每個(gè)用戶都擁有自己的屬性及與該屬性對(duì)應(yīng)的權(quán)限私鑰和屬性密鑰。權(quán)限私鑰安全地存儲(chǔ)在客戶端,用來解密CP-ABE 密文,當(dāng)用戶的權(quán)限私鑰滿足密文的訪問結(jié)構(gòu)時(shí)可解密出明文;屬性密鑰存儲(chǔ)在分布式密鑰服務(wù)器,幫助客戶端生成有效的去重標(biāo)簽。

圖4 密文去重系統(tǒng)架構(gòu)

1) 云存儲(chǔ)服務(wù)器。為個(gè)人或企業(yè)提供云存儲(chǔ)服務(wù),用戶可將需要外包的數(shù)據(jù)及其相關(guān)信息上傳至云存儲(chǔ)服務(wù)器,并能夠隨時(shí)訪問和下載這些數(shù)據(jù)。為提高存儲(chǔ)效率和降低通信開銷,云存儲(chǔ)服務(wù)器將根據(jù)用戶的去重標(biāo)簽等信息對(duì)數(shù)據(jù)進(jìn)行去重。

2) 分布式密鑰服務(wù)器。存儲(chǔ)系統(tǒng)中使用ElGamal 私鑰x和CP-ABE 主密鑰MK,幫助用戶生成去重標(biāo)簽,并且可通過動(dòng)態(tài)拆分x和CP-ABE加密為用戶更新數(shù)據(jù)的訪問策略。

3) 客戶端。幫助用戶外包數(shù)據(jù)至云存儲(chǔ)服務(wù)器,節(jié)省用戶的本地?cái)?shù)據(jù)存儲(chǔ)和管理開銷。系統(tǒng)中的每個(gè)數(shù)據(jù)都對(duì)應(yīng)一個(gè)數(shù)據(jù)所有者,其可通過客戶端對(duì)外包數(shù)據(jù)設(shè)定訪問策略,僅當(dāng)其他用戶的屬性滿足數(shù)據(jù)訪問策略時(shí)才可與此數(shù)據(jù)進(jìn)行去重檢測(cè)并下載解密數(shù)據(jù)。當(dāng)需要修改數(shù)據(jù)訪問策略時(shí),數(shù)據(jù)所有者可通過與云存儲(chǔ)服務(wù)器和分布式密鑰服務(wù)器的交互來更新數(shù)據(jù)的訪問策略。

4.2 安全模型

為規(guī)范本文系統(tǒng)的安全性分析,本文提出以下安全性假設(shè)。

1) 云存儲(chǔ)服務(wù)器是誠實(shí)但好奇的,會(huì)按照既定協(xié)議存儲(chǔ)用戶外包的數(shù)據(jù),但會(huì)嘗試獲取用戶的數(shù)據(jù)信息。

2) 分布式密鑰服務(wù)器是誠實(shí)但好奇的,會(huì)按照既定協(xié)議完成生成去重標(biāo)簽、拆分密鑰成分、權(quán)限更新等操作,但會(huì)試圖獲取用戶的數(shù)據(jù)信息。

3) 系統(tǒng)中存在不可信的惡意攻擊者,他們會(huì)通過截獲客戶端與云存儲(chǔ)服務(wù)器及分布式密鑰服務(wù)器之間的通信數(shù)據(jù)或攻擊云存儲(chǔ)服務(wù)器中的數(shù)據(jù)內(nèi)容,嘗試獲取合法用戶的數(shù)據(jù)信息。

4) 部分合法用戶可能會(huì)與攻擊者發(fā)起聯(lián)合攻擊,通過偽造去重標(biāo)簽或身份證書等方式獲取自身權(quán)限外的數(shù)據(jù)信息。

4.3 設(shè)計(jì)目標(biāo)

本文關(guān)注去重?cái)?shù)據(jù)的訪問控制問題,提出了一種新的云數(shù)據(jù)密文去重系統(tǒng),支持以下功能。

1) 身份認(rèn)證。當(dāng)實(shí)體試圖訪問SCO 內(nèi)封裝的數(shù)據(jù)時(shí),SCO 將基于實(shí)體輸入的身份證書和SCO內(nèi)部的訪問控制策略決定該實(shí)體是否有權(quán)限訪問數(shù)據(jù)內(nèi)容。身份證書無效或不符合訪問控制策略的實(shí)體將無法獲取到任何數(shù)據(jù)信息。

2) 授權(quán)去重。系統(tǒng)中的不同用戶擁有不同的權(quán)限,每個(gè)用戶能夠基于自己的權(quán)限執(zhí)行去重檢查。用戶外包數(shù)據(jù)至云存儲(chǔ)服務(wù)器時(shí)可選擇該數(shù)據(jù)與哪些屬性的用戶去重,未授權(quán)用戶無法進(jìn)行去重檢測(cè)。

3) 權(quán)限更新。數(shù)據(jù)所有者可更新云存儲(chǔ)服務(wù)器端的數(shù)據(jù)訪問權(quán)限、撤銷或添加訪問策略中的屬性。權(quán)限更新后,被撤銷訪問權(quán)限的用戶將不能與該數(shù)據(jù)進(jìn)行去重檢測(cè),且不能下載解密數(shù)據(jù);只有被授予訪問權(quán)限的用戶才可以檢測(cè)到數(shù)據(jù)在服務(wù)器端的存儲(chǔ)情況。

本文系統(tǒng)的設(shè)計(jì)目標(biāo)包括性能目標(biāo)和安全目標(biāo)。性能目標(biāo)包括以下幾點(diǎn)。

1) 較高的加密/解密效率。系統(tǒng)中客戶端對(duì)數(shù)據(jù)使用高效的對(duì)稱加密算法,而公鑰加密算法僅用于加密密鑰和策略文件。

2) 較高的權(quán)限更新效率。系統(tǒng)中的權(quán)限更新僅需重新拆分ElGamal 密鑰及執(zhí)行CP-ABE 加密算法,不需要重新下載與解密文件,具有較高的執(zhí)行效率。

安全目標(biāo)包括以下幾點(diǎn)。

1) 授權(quán)去重安全性。未授權(quán)用戶無法與其權(quán)限外的數(shù)據(jù)進(jìn)行去重檢測(cè),這需要去重標(biāo)簽的不可偽造性和不可區(qū)分性。不可偽造性表示任何用戶不能偽造其權(quán)限外的任何有效去重標(biāo)簽;不可區(qū)分性表示用戶不能夠通過去重標(biāo)簽得到任何額外信息,例如該標(biāo)簽代表哪些屬性或文件。

2) 數(shù)據(jù)機(jī)密性。惡意攻擊者無法通過截獲客戶端發(fā)送的SCO 或攻擊服務(wù)器端存儲(chǔ)的SCO 獲取到用戶數(shù)據(jù)的任何信息。即使攻擊者與內(nèi)部用戶進(jìn)行聯(lián)合攻擊,也無法通過偽造去重標(biāo)簽和身份證書等方式獲取到自己權(quán)限外的數(shù)據(jù)信息。

3) 權(quán)限更新安全性。數(shù)據(jù)所有者更新數(shù)據(jù)權(quán)限后,被撤銷權(quán)限的用戶不能與服務(wù)器進(jìn)行去重檢測(cè)或下載解密數(shù)據(jù);被授予訪問權(quán)限的用戶可針對(duì)該數(shù)據(jù)進(jìn)行去重檢測(cè),通過所有權(quán)證明即可下載解密數(shù)據(jù)。

5 方案設(shè)計(jì)

5.1 方案設(shè)計(jì)思想

本文設(shè)計(jì)了一種支持身份認(rèn)證、授權(quán)去重和權(quán)限更新的密文去重系統(tǒng)。基本思想是,客戶端首先通過與分布式密鑰服務(wù)器(DKS,distributed key server)的認(rèn)證和交互得到去重標(biāo)簽d_token。去重標(biāo)簽中不僅包含數(shù)據(jù)信息,還包含表示用戶屬性的屬性密鑰。客戶端將d_token 發(fā)送至云服務(wù)提供商(CSP,cloud server provider)進(jìn)行去重檢測(cè),若云存儲(chǔ)服務(wù)器檢測(cè)到數(shù)據(jù)已存儲(chǔ),則與客戶端進(jìn)行所有權(quán)證明。所有權(quán)證明通過后,該客戶端具有下載文件的權(quán)限,不需要上傳完整文件;若檢測(cè)數(shù)據(jù)尚未存儲(chǔ),則要求客戶端上傳完整文件。客戶端將加密后的密文數(shù)據(jù)和訪問策略封裝在SCO 中上傳至云存儲(chǔ)服務(wù)器。后續(xù)用戶上傳數(shù)據(jù)時(shí),由于去重標(biāo)簽中帶有用戶屬性,云存儲(chǔ)服務(wù)器可根據(jù)去重標(biāo)簽檢測(cè)該用戶是否具有數(shù)據(jù)去重的權(quán)限,實(shí)現(xiàn)授權(quán)去重。未授權(quán)用戶將無法進(jìn)行去重檢測(cè),數(shù)據(jù)對(duì)于他們而言是語義安全的。

當(dāng)用戶需要更新數(shù)據(jù)的訪問權(quán)限時(shí),客戶端與云存儲(chǔ)服務(wù)器和分布式密鑰服務(wù)器交互,通過動(dòng)態(tài)拆分ElGamal 私鑰和CP-ABE 加密實(shí)現(xiàn)數(shù)據(jù)訪問策略的更新。

5.2 方案詳細(xì)設(shè)計(jì)

系統(tǒng)可分為加密數(shù)據(jù)上傳、密文授權(quán)去重、數(shù)據(jù)下載解密和訪問權(quán)限更新4 個(gè)模塊。

5.2.1 加密數(shù)據(jù)上傳

假設(shè)A屬性用戶需要上傳文件F至云存儲(chǔ)服務(wù)器,客戶端首先計(jì)算文件的哈希值H(F)作為文件標(biāo)簽,其中,H(.)為密碼學(xué)安全的哈希函數(shù)。客戶端與分布式密鑰服務(wù)器進(jìn)行身份認(rèn)證,認(rèn)證后客戶端將文件標(biāo)簽H(F)發(fā)送至分布式密鑰服務(wù)器。分布式密鑰服務(wù)器驗(yàn)證用戶信息后,找到A屬性用戶對(duì)應(yīng)的屬性密鑰ka,計(jì)算文件去重標(biāo)簽d_token=H(H(F),ka)并將其返回給客戶端,客戶端將d_token 發(fā)送至云存儲(chǔ)服務(wù)器進(jìn)行去重檢測(cè),具體過程如圖5 所示。

圖5 獲取去重標(biāo)簽

云存儲(chǔ)服務(wù)器通過去重標(biāo)簽檢測(cè)該數(shù)據(jù)是否已存儲(chǔ)。若已存儲(chǔ),與客戶端進(jìn)行所有權(quán)證明協(xié)議,證明通過則允許客戶端下載數(shù)據(jù);若未存儲(chǔ),要求客戶端上傳完整文件。

若需要客戶端上傳完整文件,客戶端可以先設(shè)置該數(shù)據(jù)的訪問權(quán)限。假設(shè)客戶端希望和B屬性用戶共享密文,即指定A(上傳者的屬性)、B屬性用戶可與數(shù)據(jù)進(jìn)行去重檢測(cè),客戶端將共享屬性B發(fā)送至分布式密鑰服務(wù)器。密鑰服務(wù)器找到B屬性對(duì)應(yīng)的屬性密鑰kb,計(jì)算B屬性用戶的去重標(biāo)簽d_token=H(H(F),kb)。隨后,密鑰服務(wù)器將存儲(chǔ)的ElGamal 私鑰x隨機(jī)拆分成n+1 份,分別為{x1,x2,...,xn}和x’。密鑰服務(wù)器將{x1,x2,...,xn}分布式地存儲(chǔ)在n個(gè)密鑰服務(wù)器中,使用CP-ABE 加密x’得到Cx’,訪問結(jié)構(gòu)為A∪B,即A、B屬性用戶的權(quán)限私鑰均可解密Cx’。密鑰服務(wù)器將B屬性的去重標(biāo)簽d_token 和CP-ABE 密文Cx’發(fā)送至云存儲(chǔ)服務(wù)器。

客戶端封裝SCO 步驟如下。

1) 客戶端選擇隨機(jī)密鑰key,使用AES 加密算法加密文件F為密文C。

2) 用戶構(gòu)建訪問策略文件policy,將訪問結(jié)構(gòu){A,B}寫入policy。數(shù)據(jù)解密中過程,僅當(dāng)訪問者提供的身份證書滿足訪問策略時(shí),SCO 才執(zhí)行解密程序。客戶端使用ElGamal 公鑰加密策略文件policy和AES 密鑰key,得到密文Cpolicy和Ckey。

3) 客戶端將C、Ckey和Cpolicy封裝在SCO 的數(shù)據(jù)內(nèi)容部分,本文方案的SCO 結(jié)構(gòu)如圖6 所示,包括身份認(rèn)證、部分解密、密文更新和數(shù)據(jù)解密。其中,身份認(rèn)證在實(shí)體訪問SCO 時(shí)執(zhí)行,部分解密和密文更新由云存儲(chǔ)服務(wù)器端執(zhí)行,數(shù)據(jù)解密在客戶端解密數(shù)據(jù)時(shí)執(zhí)行。SCO 根據(jù)身份認(rèn)證的結(jié)果為不同實(shí)體執(zhí)行不同操作。

4) 為了防止攻擊者截獲SCO 后分析其內(nèi)部的程序部分,客戶端生成SCO 后對(duì)其內(nèi)部的程序部分進(jìn)行代碼混淆。

客戶端生成SCO 后將其上傳至云存儲(chǔ)服務(wù)器,如圖7 所示。云存儲(chǔ)服務(wù)器調(diào)用SCO 中的密文更新程序,將分布式密鑰服務(wù)器發(fā)送來的CP-ABE 密文Cx’封裝進(jìn)SCO 中。然后,云存儲(chǔ)服務(wù)器將SCO數(shù)據(jù)的去重標(biāo)簽設(shè)定為 d_token={H(H(F),ka),H(H(F),kb)},后續(xù)用戶上傳的去重標(biāo)簽在此集合中才可進(jìn)行去重檢測(cè)。

圖6 本文方案的SCO 結(jié)構(gòu)

圖7 數(shù)據(jù)加密上傳

5.2.2 密文授權(quán)去重

假設(shè)B屬性用戶同樣外包文件F至云存儲(chǔ)服務(wù)器,此時(shí)系統(tǒng)將進(jìn)行密文授權(quán)去重過程,如圖8 所示。

圖8 授權(quán)去重

B屬性客戶端從分布式密鑰服務(wù)器得到自己的去重標(biāo)簽d_token=H(H(F),kb)并發(fā)送至云存儲(chǔ)服務(wù)器,云存儲(chǔ)服務(wù)器發(fā)現(xiàn)客戶端發(fā)送的去重標(biāo)簽已在云端存儲(chǔ)(本文所述場景中為A屬性用戶上傳)。此時(shí),云存儲(chǔ)服務(wù)器將告知B屬性用戶文件已存儲(chǔ),需要進(jìn)行所有權(quán)證明。證明通過后,B屬性用戶即可從服務(wù)器下載完整數(shù)據(jù)。

A、B屬性外的用戶無法檢測(cè)到數(shù)據(jù)在服務(wù)器端的存儲(chǔ)情況。如圖9 所示,B′屬性用戶外包文件F,上傳去重標(biāo)簽d_token=H(H(F),kb’)。云存儲(chǔ)服務(wù)器并未存儲(chǔ)過該去重標(biāo)簽,無法檢測(cè)到數(shù)據(jù)重復(fù)。

圖9 未授權(quán)無法去重

通過密文授權(quán)去重過程可以看出,數(shù)據(jù)所有者設(shè)定的數(shù)據(jù)訪問策略為{A,B},只有A、B這2 個(gè)屬性的用戶能夠識(shí)別數(shù)據(jù)重復(fù)。未授權(quán)用戶即使上傳相同文件,云存儲(chǔ)服務(wù)器仍無法與該數(shù)據(jù)進(jìn)行去重,數(shù)據(jù)對(duì)于未授權(quán)用戶來說是語義安全的。

5.2.3 數(shù)據(jù)下載解密

客戶端向云存儲(chǔ)服務(wù)器提出下載請(qǐng)求,如圖10所示,云存儲(chǔ)服務(wù)器從n個(gè)密鑰服務(wù)器中檢索n個(gè)密鑰成分{x1,x2,...,xn},并向SCO 申請(qǐng)部分解密。SCO通過身份認(rèn)證程序驗(yàn)證云存儲(chǔ)服務(wù)器提交的證書后,使用{x1,x2,...,xn}對(duì)SCO 內(nèi)部的Cpolicy和Ckey調(diào)用部分解密程序。Cpolicy和Ckey是ElGamal 密文,密文形式為(cr,keycrxmodp)和(cr,policycrxmodp)。SCO 中的部分解密程序使用{x1,x2,...,xn}進(jìn)行部分解密,得到更新的密文為和云存儲(chǔ)服務(wù)器將部分解密后的SCO 發(fā)送至客戶端。

客戶端收到SCO 后,輸入自己的X.509 證書和權(quán)限私鑰sk。SCO 若驗(yàn)證證書有效,則使用sk 解密CP-ABE 密文Cx’,若權(quán)限私鑰sk 滿足密文的訪問結(jié)構(gòu),則可解密出x’。SCO 使用x’解密云存儲(chǔ)服務(wù)器部分解密后的policy 的密文,得到policy modp)=policy modp=policy。解密得到訪問策略policy 后,SCO 驗(yàn)證用戶的X.509 證書是否滿足策略文件policy 中設(shè)定的訪問權(quán)限。在上述例子中,SCO 的驗(yàn)證程序?qū)⑴袛嘤脩糇C書是否來自A屬性或B屬性客戶端。若用戶證書滿足訪問權(quán)限,SCO使用x′解密Ckey,得到。得到AES 密鑰key 后,SCO 使用key 解密密文C得到明文M。

在數(shù)據(jù)下載解密過程中,用戶只有能提供有效且滿足訪問策略的證書并擁有滿足密文訪問結(jié)構(gòu)的權(quán)限私鑰sk 時(shí),SCO 才能解密出明文。任何未經(jīng)授權(quán)的用戶均無法得到明文數(shù)據(jù)。

5.2.4 訪問權(quán)限更新

數(shù)據(jù)所有者可能會(huì)更改數(shù)據(jù)的訪問策略,例如授予新屬性用戶訪問權(quán)限或撤銷舊屬性用戶訪問權(quán)限,這時(shí)就需要使用訪問權(quán)限更新模塊。訪問權(quán)限更新時(shí),某個(gè)數(shù)據(jù)所有者(代表全體的數(shù)據(jù)所有者)通過與云存儲(chǔ)服務(wù)器和分布式密鑰服務(wù)器的交互更新數(shù)據(jù)的訪問權(quán)限。例如,數(shù)據(jù)所有者希望將文件F的訪問權(quán)限{A,B}修改為{A,B′},客戶端發(fā)送新設(shè)定的訪問權(quán)限{A,B′}至分布式密鑰服務(wù)器。分布式密鑰服務(wù)器將此前存儲(chǔ)的{A,B}的密鑰成分{x1,x2,...,xn}刪除,重新拆分ElGamal私鑰x為和x”,分別把存儲(chǔ)在n個(gè)密鑰服務(wù)器中,使用新的訪問結(jié)構(gòu)A∪B′加密x″得到新的CP-ABE 密文Cx″。密鑰服務(wù)器還需計(jì)算新的去重標(biāo)簽d_token=H(H(F),ka)和d_token=H(H(F),kc),并將新的去重標(biāo)簽同Cx″一起發(fā)送至云存儲(chǔ)服務(wù)器。云存儲(chǔ)服務(wù)器使用新去重標(biāo)簽取代舊標(biāo)簽,此前存儲(chǔ)的舊去重標(biāo)簽將不能再進(jìn)行去重檢測(cè),在本例中B屬性用戶的去重標(biāo)簽將失效,而B′屬性用戶的去重標(biāo)簽將生效。客戶端生成新的訪問策略文件policy′,進(jìn)行ElGamal 加密后得到Cpolicy′并將其發(fā)送至云存儲(chǔ)服務(wù)器。云存儲(chǔ)服務(wù)器調(diào)用SCO 內(nèi)部的密文更新程序,使用Cx″和Cpolicy′替換原有的Cx′和Cpolicy,完成數(shù)據(jù)的訪問權(quán)限更新。

圖10 數(shù)據(jù)下載解密

訪問權(quán)限更新后云存儲(chǔ)服務(wù)器存儲(chǔ)的去重標(biāo)簽中已無B屬性的去重標(biāo)簽,B屬性用戶將無法進(jìn)行去重檢測(cè);并且由于SCO 中的Cpolicy和Cx′已替換,被撤銷訪問權(quán)限的B屬性用戶的身份證書將無法通過策略文件policy′的訪問控制,也無法使用權(quán)限私鑰sk 解密密文Cx″。而B′屬性用戶可以成功地與云存儲(chǔ)服務(wù)器進(jìn)行去重檢測(cè)并下載解密SCO 中的明文。

上述的訪問權(quán)限更新中不需要完整文件數(shù)據(jù)的網(wǎng)絡(luò)傳輸和加解密,系統(tǒng)帶寬開銷較低,且客戶端僅需加密體量很小的策略文件,客戶端計(jì)算開銷較低。

5.3 安全性分析

本文方案的安全性分析主要考慮系統(tǒng)中數(shù)據(jù)機(jī)密性、授權(quán)去重安全性和權(quán)限更新安全性三方面。假設(shè)方案中使用的密碼原語均是安全的,包括消息認(rèn)證碼、CP-ABE、AES 和ElGamal 加密算法。假設(shè)方案中的安全參數(shù)為n,存在可忽略的函數(shù)negl1、negl2和negl3,使AES、CP-ABE 和ElGamal 加密算法被攻破的概率分別為negl1(n)、negl2(n)和negl3(n)。

圖11 權(quán)限更新

5.3.1 授權(quán)去重安全性

定理1本文方案滿足授權(quán)去重安全性,當(dāng)且僅當(dāng)方案中的去重標(biāo)簽滿足不可偽造性和不可區(qū)分性。

標(biāo)簽的不可偽造性指的是惡意用戶不能偽造出其自身屬性外的去重標(biāo)簽。若A屬性用戶上傳文件F,相應(yīng)的文件去重標(biāo)簽應(yīng)為d_token=H(H(F),kA)。不可偽造性要求A屬性的攻擊者不能偽造出A′屬性的文件F的有效去重標(biāo)簽d_token=H(H(F),kA′)(A′≠A)。不可區(qū)分性表示假設(shè)用戶具有屬性A,他不能通過d_token=H(H(F),kA′)(A′≠A)區(qū)分標(biāo)簽中包含了哪個(gè)文件或哪個(gè)屬性。

授權(quán)去重的關(guān)鍵在于去重標(biāo)簽的生成,若保證了去重標(biāo)簽的安全性,也就保證了授權(quán)去重的安全性。去重標(biāo)簽安全性可分為標(biāo)簽的不可偽造性和不可區(qū)分性。下面將證明本文方案中去重標(biāo)簽的不可偽造性和不可區(qū)分性,從而證明本文方案具有授權(quán)去重安全性。

引理1假設(shè)方案中使用的消息認(rèn)證碼是密碼學(xué)安全的,其基于的哈希函數(shù)可抵抗碰撞攻擊和原像攻擊,則攻擊者成功偽造出其權(quán)限外的去重標(biāo)簽的概率是可忽略的,攻擊者成功區(qū)分去重標(biāo)簽中的屬性信息的概率也是可忽略的。

證明使用2 個(gè)安全游戲來說明方案中去重標(biāo)簽的不可偽造性和不可區(qū)分性,安全游戲描述了系統(tǒng)中攻擊者的攻擊能力。下面證明攻擊者在2 個(gè)給定安全游戲中獲得成功的概率均為可忽略的。

1) 去重標(biāo)簽不可偽造性安全游戲

準(zhǔn)備階段假設(shè)游戲中存在挑戰(zhàn)者和攻擊者,攻擊者向挑戰(zhàn)者詢問去重標(biāo)簽,并試圖生成自身權(quán)限外的有效去重標(biāo)簽。挑戰(zhàn)者可生成去重標(biāo)簽并可利用函數(shù)Verify(d_token)驗(yàn)證去重標(biāo)簽的有效性。攻擊者具有文件集合{F1,...,Fs}和屬性Ap,挑戰(zhàn)者擁有文件集合{F1,...,Fs}和屬性密鑰集合{k1,...,km}。

詢問階段 攻擊者可以從文件集合中選取任意文件Fi(i=1,2,…,s),然后計(jì)算文件標(biāo)簽H(Fi),并發(fā)送H(Fi)和屬性Ap給挑戰(zhàn)者。挑戰(zhàn)者根據(jù)屬性Ap找到其相應(yīng)的屬性密鑰kp,并計(jì)算去重標(biāo)簽d_token=H(H(Fi),kp)發(fā)送給攻擊者。

挑戰(zhàn)階段攻擊者根據(jù)詢問階段得到的信息,計(jì)算一個(gè)新的去重標(biāo)簽d_token′=H(H(Fj),kq)并發(fā)送給挑戰(zhàn)者。挑戰(zhàn)者根據(jù)文件集合{F1,...,Fs}和屬性?密鑰集合{k1,...,km}檢測(cè)d_token′是否為攻擊者權(quán)限外的有效去重標(biāo)簽,即 d_token′=H(H(Fj),kq)(Fj∈{F1,…,Fs},kq∈{k1,…,km},q≠p)。若d_token′滿足上述條件,則Verify(d_token′)=1,攻擊者贏得游戲。否則,Verify(d_token′)=0,攻擊者輸?shù)粲螒颉?/p>

由于攻擊者在詢問階段不能獲知其他屬性的密鑰kq,因此攻擊者若生成有效的 d_token=H(H(F),kq),則存在2 種情況,即攻擊者未破解出kq或者破解出kq。當(dāng)攻擊者未破解出kq時(shí),說明攻擊者找到了kl,使H(H(F),kl)=H(H(F),kq)(l≠q)。但此時(shí)消息認(rèn)證碼中的哈希函數(shù)不滿足抗碰撞特性,與假設(shè)中消息認(rèn)證碼是密碼學(xué)安全的這一點(diǎn)相矛盾。若攻擊者通過暴力破解獲得了其他屬性的密鑰kq,由于屬性密鑰kq是從{0,1}n中隨機(jī)選取,暴力猜測(cè)成功的概率為,而此概率是可忽略的。

證畢。

2) 去重標(biāo)簽不可區(qū)分性安全游戲

本節(jié)的去重標(biāo)簽不可區(qū)分性安全游戲是針對(duì)屬性的不可區(qū)分性證明,針對(duì)文件的不可區(qū)分證明與之類似,這里不再贅述。

準(zhǔn)備階段假設(shè)游戲中存在挑戰(zhàn)者和攻擊者,攻擊者具有2個(gè)屬性A0和A1,請(qǐng)求挑戰(zhàn)者為其生成去重標(biāo)簽。挑戰(zhàn)者擁有屬性密鑰集合{k1,...,km},,可為攻擊者生成去重標(biāo)簽。

詢問階段攻擊者任意選擇文件Fi,計(jì)算文件標(biāo)簽H(Fi),并將其與2 個(gè)屬性A0和A1共同發(fā)送至挑戰(zhàn)者。挑戰(zhàn)者隨機(jī)選擇,計(jì)算去重標(biāo)簽d_token=H(H(Fi),kb),將去重標(biāo)簽發(fā)送給攻擊者。

挑戰(zhàn)階段攻擊者輸出。若b′=b,則攻擊者贏得游戲;否則攻擊者失敗。

由于攻擊者在安全游戲的詢問階段不能獲知屬性密鑰kb,而消息驗(yàn)證碼中的哈希函數(shù)是抗碰撞的且哈希函數(shù)的輸出結(jié)果是隨機(jī)的,攻擊者只能通過暴力破解猜測(cè)密鑰kb以區(qū)分b和b′,而kb是在中隨機(jī)選取的。因此,,其中是可忽略的。

證畢。

由定理1 和引理1 可知,本文方案實(shí)現(xiàn)了去重標(biāo)簽的安全性。此外,由于本文方案中實(shí)現(xiàn)了所有權(quán)證明協(xié)議,只有滿足訪問策略且擁有完整文件的用戶才能夠使用有效地去重標(biāo)簽檢測(cè)云存儲(chǔ)服務(wù)器中的數(shù)據(jù)存儲(chǔ)情況。攻擊者不能通過去重標(biāo)簽檢測(cè)到自身權(quán)限外數(shù)據(jù)的存儲(chǔ)情況,無法進(jìn)行側(cè)信道攻擊。

5.3.2 數(shù)據(jù)機(jī)密性

基于4.2 節(jié)安全模型中的假設(shè),即云存儲(chǔ)服務(wù)器和分布式密鑰服務(wù)器均為誠實(shí)但好奇的,本文提出引理2,證明方案的數(shù)據(jù)機(jī)密性。

引理2假設(shè)方案中使用的密碼學(xué)工具均是密碼學(xué)安全的。攻擊者通過截獲通信數(shù)據(jù)或攻擊云存儲(chǔ)服務(wù)器得到SCO 時(shí),破解自身權(quán)限外的數(shù)據(jù)明文信息的概率p1是可忽略的;攻擊者通過與內(nèi)部用戶發(fā)起聯(lián)合攻擊,偽造滿足SCO 中訪問策略的身份證書或篡改SCO 中的身份認(rèn)證程序,破解自身權(quán)限外的明文信息的概率p2是可忽略的。此時(shí),稱方案滿足數(shù)據(jù)機(jī)密性。

證明

情況1攻擊者通過截獲通信數(shù)據(jù)或攻擊云存儲(chǔ)服務(wù)器得到SCO。由于數(shù)據(jù)均以AES 密文形式存儲(chǔ),攻擊者無法提供有效的身份證書和權(quán)限私鑰sk,不能解密出AES 密鑰key。而攻擊者在不知道key 的情況下,成功破解數(shù)據(jù)的概率小于或等于破解AES 的概率,即p1≤negl1(n),這一概率是可忽略的。

情況2攻擊者與內(nèi)部用戶發(fā)起聯(lián)合攻擊,偽造身份證書或篡改身份認(rèn)證程序,試圖破解權(quán)限外的數(shù)據(jù)信息。本文方案對(duì)SCO 中的代碼進(jìn)行了代碼混淆,攻擊者難以篡改SCO 中的認(rèn)證程序繞過身份認(rèn)證。假使攻擊者通過偽造身份證書進(jìn)入解密程序,由于攻擊者沒有滿足訪問策略的權(quán)限私鑰sk,破解密文Cx’的概率p3小于或等于破解CP-ABE加密算法,即p3≤neg l2(n),這一概率是可忽略的。而在沒有解密Cx′的情況下,試圖解密ElGamal 密文Ckey的概率p4小于或等于攻破ElGamal 算法,即p4≤neg l3(n),此概率可忽略。最終,攻擊者只能以可忽略的概率破解出Ckey。因此,攻擊者破解出明文的概率p5仍小于或等于破解AES的概率,即p5≤negl1(n) 。因此,攻擊者只能以可忽略的概率破解權(quán)限外明文數(shù)據(jù)。證畢。

由于使用概率性隨機(jī)加密而非類似收斂加密的確定性加密,本文方案不會(huì)暴露數(shù)據(jù)的頻率信息。并且,由于本文方案中使用了隨機(jī)密鑰而非基于數(shù)據(jù)內(nèi)容產(chǎn)生的收斂密鑰,攻擊者在不知道密鑰的情況下無法通過遍歷明文集合的方式對(duì)截獲的密文進(jìn)行字典攻擊。5.3.1 節(jié)中說明了攻擊者無法對(duì)其權(quán)限外的數(shù)據(jù)進(jìn)行側(cè)信道攻擊,結(jié)合本節(jié)中論述的數(shù)據(jù)機(jī)密性,方案中的外包密文數(shù)據(jù)對(duì)未授權(quán)用戶實(shí)現(xiàn)了語義安全。數(shù)據(jù)在云存儲(chǔ)服務(wù)器和分布式密鑰服務(wù)器中均是以密文形式存儲(chǔ)的,因此誠實(shí)但好奇的云存儲(chǔ)服務(wù)器和分布式密鑰服務(wù)器無法獲取數(shù)據(jù)的任何明文信息。

5.3.3 權(quán)限更新安全性

權(quán)限更新安全性在于保證被撤銷權(quán)限的用戶不能再訪問數(shù)據(jù)內(nèi)容。

引理3假設(shè)方案中使用的密碼學(xué)工具均是密碼學(xué)安全的,數(shù)據(jù)所有者更新權(quán)限后,被撤銷權(quán)限的攻擊者仍可訪問明文數(shù)據(jù)的概率p6是可忽略的。

證明權(quán)限更新后,密鑰服務(wù)器將重新拆分ElGamal 私鑰x并基于新的訪問策略對(duì)x'進(jìn)行CP-ABE 加密,被撤銷權(quán)限的攻擊者存儲(chǔ)的私鑰成分x′失效,其權(quán)限私鑰sk 將無法解密出CP-ABE密文。攻擊者即使截獲密文數(shù)據(jù),由于AES 密鑰key 以ElGamal 密文的形式存儲(chǔ),其破解出key 的概率p7小于或等于破解 ElGamal 算法,即p7≤neg l3(n)。因此,攻擊者只能以可忽略的概率得到AES 密鑰key,那么其破解出明文的概率p8小于或等于破解AES 的概率,即p8≤neg l1(n),此概率是可忽略的。

此外,由于本文方案實(shí)現(xiàn)了去重標(biāo)簽安全性,且在權(quán)限更新階段云存儲(chǔ)服務(wù)器的去重標(biāo)簽也完成了更新,被撤銷權(quán)限的用戶無法通過自己的去重標(biāo)簽檢測(cè)到數(shù)據(jù)在云端的存儲(chǔ)情況,無法進(jìn)行側(cè)信道攻擊。攻擊者還可能在自己未被撤銷權(quán)限前分析SCO 內(nèi)部的解密程序或通過攻擊分布式密鑰服務(wù)器試圖獲取密鑰信息。本文方案中對(duì)SCO 的內(nèi)部程序進(jìn)行了代碼混淆,可以進(jìn)一步采用白盒加密[18]或?qū)⒊绦蚍旁贗nternet SGX(software guard extensions)[19]等可信執(zhí)行環(huán)境中運(yùn)行以緩解攻擊者分析SCO 解密程序的攻擊。由于ElGamal 私鑰x拆分后的{x1,x2,...,xn}分布式地存儲(chǔ)在了n個(gè)不同的密鑰服務(wù)器中,攻擊者要得到ElGamal 私鑰x需要在其未被撤銷權(quán)限的情況下攻擊n個(gè)密鑰服務(wù)器,得到{x1,x2,…,xn},再加上自身存儲(chǔ)的x′才能得到完整的ElGamal私鑰x,但攻擊者同時(shí)攻擊n個(gè)密鑰服務(wù)器是困難的。

結(jié)合上述的相關(guān)引理,可以得到安全性結(jié)論如結(jié)論1 所述。

結(jié)論1假設(shè)方案中使用的密碼學(xué)工具均是密碼學(xué)安全的,那么本文方案中攻擊者破壞授權(quán)去重安全性、數(shù)據(jù)機(jī)密性和權(quán)限更新安全性的概率均是可忽略的。本文方案實(shí)現(xiàn)了預(yù)設(shè)的安全目標(biāo)。

6 仿真與性能分析

本文實(shí)現(xiàn)了方案中的密文去重系統(tǒng),系統(tǒng)采用C++與Java 語言編寫。為使仿真實(shí)驗(yàn)更加接近真實(shí)場景,實(shí)驗(yàn)中租用了云存儲(chǔ)服務(wù)器作為實(shí)驗(yàn)的服務(wù)器端,客戶端是個(gè)人PC 平臺(tái),共同完成方案中的數(shù)據(jù)加密上傳、下載解密與權(quán)限更新過程。搭建的服務(wù)器環(huán)境如下:云存儲(chǔ)服務(wù)器位于上海,2 核4 GB 內(nèi)存,操作系統(tǒng)為Windows Server 2016 版64 位,帶寬為5 Mbit/s;客戶端位于杭州,操作系統(tǒng)為Windows10,處理器為Inter Core i7-8550U,內(nèi)存為16 GB。

系統(tǒng)中的SCO 應(yīng)用程序部分、AES 加密和CP-ABE 加密由Java 語言編寫,數(shù)據(jù)傳輸和數(shù)據(jù)存儲(chǔ)由C++語言編寫。方案的實(shí)現(xiàn)技術(shù)包括jPBC 庫,Proguard、JAAS 和可執(zhí)行JAR 包。

本節(jié)對(duì)所設(shè)計(jì)的系統(tǒng)給出了運(yùn)行性能的評(píng)估,包括數(shù)據(jù)加密上傳、密文下載解密以及訪問權(quán)限更新的時(shí)間開銷。在測(cè)試中,關(guān)注去重?cái)?shù)據(jù)訪問控制功能所帶來的時(shí)間開銷以及權(quán)限更新過程中各部分的時(shí)間開銷,并與基于收斂加密的密文去重方案進(jìn)行了性能對(duì)比。本節(jié)中的所有實(shí)驗(yàn)數(shù)據(jù)均為10 次以上實(shí)驗(yàn)的平均值,除文件的上傳下載過程易受網(wǎng)絡(luò)情況影響外,其他實(shí)驗(yàn)過程在多次實(shí)驗(yàn)中數(shù)值均較為穩(wěn)定。

6.1 加密上傳

1) 首次數(shù)據(jù)上傳

測(cè)試1 MB、5 MB、10 MB、50 MB、100 MB、200 MB、300 MB、400 MB、500 MB、600 MB、700 MB、800 MB 和1 000 MB 的文件,統(tǒng)計(jì)系統(tǒng)中加密數(shù)據(jù)、封裝SCO 和上傳數(shù)據(jù)的時(shí)間開銷,測(cè)試結(jié)果如圖12 所示。由圖12 可以看出,系統(tǒng)的主要時(shí)間開銷來自數(shù)據(jù)的上傳時(shí)間,而數(shù)據(jù)加密時(shí)間和封裝SCO 時(shí)間占比較低。圖13 中將本文方案與CE 在加密過程中產(chǎn)生的時(shí)間開銷進(jìn)行了對(duì)比,可以看出本文方案在實(shí)現(xiàn)外包數(shù)據(jù)訪問控制的同時(shí)僅增加了有限開銷,系統(tǒng)中為訪問控制所添加的封裝SCO 和ElGamal 加密等步驟并未引起過多開銷。

圖12 數(shù)據(jù)加密上傳

圖13 本文方案與CE 對(duì)比

2)后續(xù)數(shù)據(jù)上傳

本文方案為了實(shí)現(xiàn)去重?cái)?shù)據(jù)的訪問控制,增加了將數(shù)據(jù)封裝進(jìn)SCO 的開銷。但由于方案實(shí)現(xiàn)了客戶端去重,所有重復(fù)數(shù)據(jù)僅需加密上傳一次。后續(xù)用戶上傳重復(fù)數(shù)據(jù)時(shí),若該用戶符合訪問權(quán)限,則僅需與云存儲(chǔ)服務(wù)器進(jìn)行數(shù)據(jù)所有權(quán)證明,不需要再次加密上傳數(shù)據(jù)。本文測(cè)試了當(dāng)數(shù)據(jù)已在服務(wù)器端存儲(chǔ)時(shí),后續(xù)用戶上傳數(shù)據(jù)的時(shí)間開銷,測(cè)試中所有權(quán)證明協(xié)議使用了POEF(provable ownership of encrypted file)方案[20],實(shí)驗(yàn)結(jié)果如表1 所示。

由表1 可以看出,當(dāng)后續(xù)用戶上傳重復(fù)數(shù)據(jù)時(shí),系統(tǒng)的時(shí)間開銷明顯減少。因此,由于系統(tǒng)實(shí)現(xiàn)了跨用戶客戶端去重,多個(gè)用戶上傳相同數(shù)據(jù)時(shí),僅數(shù)據(jù)的首次上傳需要一定的時(shí)間開銷,后續(xù)上傳時(shí)開銷很小,系統(tǒng)具有較高的執(zhí)行效率。

表1 后續(xù)數(shù)據(jù)上傳

6.2 下載解密

系統(tǒng)中不同大小數(shù)據(jù)的下載解密時(shí)間如圖14所示,系統(tǒng)的下載解密時(shí)間隨著文件大小的增長逐步增加。

圖14 數(shù)據(jù)下載解密

系統(tǒng)的主要時(shí)間開銷依然集中在數(shù)據(jù)的下載過程,客戶端的數(shù)據(jù)解密時(shí)間與服務(wù)器端的部分解密時(shí)間基本相當(dāng)。

6.3 權(quán)限更新

本節(jié)測(cè)試了系統(tǒng)中不同大小文件的權(quán)限更新性能。圖15 顯示了隨文件大小的增長,權(quán)限更新過程中的運(yùn)行時(shí)間變化情況。更新過程中客戶端的主要開銷為對(duì)新的策略文件進(jìn)行ElGamal 加密;云存儲(chǔ)服務(wù)器端的主要開銷為運(yùn)行SCO 的密文更新函數(shù),將新加密的策略文件封裝進(jìn)SCO 中;分布式密鑰服務(wù)器的主要開銷為對(duì)重新拆分的ElGamal私鑰成分并進(jìn)行CP-ABE 加密。

圖15 數(shù)據(jù)權(quán)限更新中運(yùn)行時(shí)間變化情況

由圖15 可以看出客戶端與分布式密鑰服務(wù)器的開銷較為固定,不會(huì)隨著文件大小的增長而增加。而云存儲(chǔ)服務(wù)器需要更新SCO 中的內(nèi)容,開銷會(huì)隨著SCO 中數(shù)據(jù)文件大小的增長而增加。

在權(quán)限更新過程中,由于客戶端不需要進(jìn)行數(shù)據(jù)的下載及重新加密等復(fù)雜過程,客戶端的計(jì)算開銷是非常低的。并且由于客戶端開銷不隨文件大小而變化,其在整體開銷中的占比隨著文件大小的增長而不斷降低。當(dāng)更新1 MB 文件權(quán)限時(shí),客戶端開銷占比總體開銷為20.40%;而當(dāng)文件大小為1 000 MB時(shí),客戶端開銷占比僅為9.18%。

無論數(shù)據(jù)所有者需要更新權(quán)限的文件大小為多少,客戶端的計(jì)算開銷都是較低的。因此,本文方案實(shí)現(xiàn)了低客戶端開銷的外包數(shù)據(jù)權(quán)限更新。

7 結(jié)束語

在現(xiàn)有的云數(shù)據(jù)密文去重系統(tǒng)中,用戶普遍缺乏數(shù)據(jù)的管理權(quán),無法確定數(shù)據(jù)與哪些實(shí)體共享。惡意用戶可能會(huì)利用去重中共享密文的特點(diǎn)威脅用戶的數(shù)據(jù)隱私。本文提出密文去重場景下的數(shù)據(jù)訪問控制方案,數(shù)據(jù)所有者可對(duì)外包數(shù)據(jù)進(jìn)行訪問控制,被授權(quán)的用戶才能夠與云存儲(chǔ)服務(wù)器進(jìn)行去重檢測(cè),數(shù)據(jù)對(duì)于未授權(quán)用戶而言是語義安全的;當(dāng)用戶的身份證書和權(quán)限私鑰均滿足訪問策略時(shí)才可下載解密數(shù)據(jù);數(shù)據(jù)所有者可通過與密鑰服務(wù)器和云存儲(chǔ)服務(wù)器的交互動(dòng)態(tài)更新數(shù)據(jù)的訪問控制策略。系統(tǒng)中通過SCO 技術(shù)封裝用戶數(shù)據(jù)和訪問策略,驗(yàn)證用戶身份證書并確保訪問策略有效執(zhí)行;通過CP-ABE 和動(dòng)態(tài)拆分ElGamal 私鑰實(shí)現(xiàn)權(quán)限更新。分析表明,本文方案在實(shí)現(xiàn)去重?cái)?shù)據(jù)訪問控制的同時(shí)僅增加了有限開銷,具有較高的執(zhí)行效率和良好的應(yīng)用前景。

猜你喜歡
用戶
雅閣國內(nèi)用戶交付突破300萬輛
車主之友(2022年4期)2022-08-27 00:58:26
您撥打的用戶已戀愛,請(qǐng)稍后再哭
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關(guān)注用戶
商用汽車(2016年5期)2016-11-28 09:55:15
兩新黨建新媒體用戶與全網(wǎng)新媒體用戶之間有何差別
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
挖掘用戶需求尖端科技應(yīng)用
Camera360:拍出5億用戶
100萬用戶
主站蜘蛛池模板: 无码粉嫩虎白一线天在线观看| 一级毛片在线播放免费| 凹凸精品免费精品视频| 老司国产精品视频| 国产精品欧美在线观看| 99精品影院| 日本亚洲欧美在线| 久久99精品久久久久纯品| 国产成人凹凸视频在线| 欧美色图久久| 国产SUV精品一区二区| 国产喷水视频| 国产精品自在自线免费观看| 欧美一级一级做性视频| AV在线天堂进入| 日韩免费中文字幕| 国产在线精品人成导航| 久久精品人人做人人爽| 区国产精品搜索视频| 国产精品免费p区| 国产主播在线一区| 国产在线八区| 热re99久久精品国99热| 91九色国产porny| 国产精品无码AV片在线观看播放| 久久窝窝国产精品午夜看片| 亚洲国产精品无码久久一线| 热re99久久精品国99热| 99视频精品全国免费品| 就去色综合| 欧美啪啪精品| www.日韩三级| 成人中文在线| 国产成人综合在线观看| 亚洲香蕉在线| 国产精品久久久久鬼色| 尤物国产在线| 亚洲精品第五页| 成人va亚洲va欧美天堂| 毛片基地视频| 国产特级毛片| 成人福利一区二区视频在线| 中文无码精品A∨在线观看不卡 | 91麻豆精品视频| 国产成人亚洲精品无码电影| 午夜啪啪网| 青青青国产视频| 五月婷婷综合网| 国产18在线播放| 久久国产免费观看| 国产激情无码一区二区APP| 一本久道久久综合多人| 最新国产在线| 免费在线视频a| 欧美激情综合| 久草美女视频| 国产精品自在在线午夜| 国产高清无码第一十页在线观看| 2020极品精品国产| 波多野结衣中文字幕一区二区 | 激情综合激情| 美女毛片在线| 亚欧成人无码AV在线播放| 天天躁夜夜躁狠狠躁图片| 视频二区亚洲精品| 毛片在线播放网址| 亚洲国产日韩一区| 国模粉嫩小泬视频在线观看| 在线日韩日本国产亚洲| 午夜一区二区三区| 大陆精大陆国产国语精品1024| 久久国产黑丝袜视频| 国产精品真实对白精彩久久| 亚洲一区免费看| 国产男女XX00免费观看| 国产亚洲精品自在线| 97人人模人人爽人人喊小说| 欧美日韩国产在线人成app| 国产男人天堂| 欧美色综合网站| 日韩毛片免费| 日本成人福利视频|