亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        支持多種特性的基于屬性代理重加密方案

        2019-07-11 03:55:12馮朝勝羅王平秦志光袁丁鄒莉萍
        通信學(xué)報(bào) 2019年6期
        關(guān)鍵詞:私鑰密文解密

        馮朝勝,羅王平,秦志光,袁丁,鄒莉萍

        (1. 四川師范大學(xué)計(jì)算機(jī)科學(xué)學(xué)院,四川 成都 610101;2. 電子科技大學(xué)網(wǎng)絡(luò)與數(shù)據(jù)安全四川省重點(diǎn)實(shí)驗(yàn)室,四川 成都 610054)

        1 引言

        如今,越來越多的企業(yè)將數(shù)據(jù)外包存儲(chǔ)在云中,越來越多的人將個(gè)人信息存儲(chǔ)在社交網(wǎng)絡(luò)。然而,頻發(fā)的信息泄露事件,使安全性和隱私性成為服務(wù)提供商必須面臨的問題。解決外包數(shù)據(jù)存儲(chǔ)安全的一種簡單做法是在數(shù)據(jù)上傳前進(jìn)行加密,但加密又使數(shù)據(jù)共享變得非常困難。解決方法是采用密文策略基于屬性加密(CP-ABE, ciphertext-policy attribute-based encryption)算法[1],該算法因具有“一次加密,多人分享”和細(xì)粒度訪問控制等優(yōu)勢受到人們的廣泛關(guān)注[2-3]。

        然而,現(xiàn)有的CP-ABE因加解密效率低和密文訪問策略更改而導(dǎo)致的重加密效率低的問題,影響了其應(yīng)用和推廣。解決外包云數(shù)據(jù)重新加密的一般方案是用戶先將密文數(shù)據(jù)從云服務(wù)器下載至本地,利用該用戶私鑰對(duì)密文數(shù)據(jù)執(zhí)行一次解密算法從而得到明文數(shù)據(jù),使用新的共享訪問策略對(duì)明文數(shù)據(jù)再次加密后將新的密文數(shù)據(jù)上傳至云服務(wù)器存儲(chǔ)并共享。顯然,這種方法不但加重了用戶客戶端的計(jì)算負(fù)擔(dān),而且增加了云服務(wù)器與用戶之間的通信開銷,使它難以應(yīng)用于實(shí)際的環(huán)境中。為了更有效地進(jìn)行數(shù)據(jù)共享,在CP-ABE中引入代理重加密技術(shù)(PRE, proxy re-encryption)。由于代理重加密技術(shù)允許一個(gè)半可信代理將一個(gè)用戶能解密的密文轉(zhuǎn)換成另一個(gè)用戶能解密的具有相同明文的密文,而不會(huì)泄露數(shù)據(jù)的明文和授權(quán)者的私鑰,整個(gè)過程不需要解密,不需要代理方之外的任何其他方參與,因此,用戶僅需要計(jì)算一個(gè)重加密密鑰,將大部分重加密工作外包給云服務(wù)器完成,使上述問題得到解決。然而,現(xiàn)有的代理重加密方案普遍存在以下2個(gè)明顯問題。

        1) 僅滿足代理重加密方案要求的部分特性。一個(gè)理想的代理重加密方案應(yīng)滿足5個(gè)特性[4-5]:單向性、非交互性、可重復(fù)性、可控性和可驗(yàn)證性。然而現(xiàn)有的方案普遍只具有其中的2個(gè)或者3個(gè),降低了在實(shí)際應(yīng)用中的實(shí)用性。

        2) 無法抵御替換攻擊。在密文策略基于屬性代理重加密的算法中,代理不僅能夠利用用戶提供的重加密密鑰轉(zhuǎn)換該用戶希望重加密的密文,而且也能用此密鑰轉(zhuǎn)換其他密文數(shù)據(jù),若一個(gè)滿足新共享訪問策略的其他用戶與代理勾結(jié),委托方的其他密文數(shù)據(jù)將被泄露。另一方面,滿足新共享訪問策略的其他用戶采用一定手段截獲到委托方的重加密密鑰,該用戶可以利用其私鑰解密出嵌入重加密密鑰中的隨機(jī)因子,再結(jié)合委托方的重加密密鑰也可以解密出委托方的其他密文數(shù)據(jù)。

        針對(duì)以上問題,本文在Bethencourt等[1]提出的CP- ABE方案的基礎(chǔ)上,結(jié)合線性整數(shù)秘密共享方案(LISS, linear integer secret-sharing scheme)[6],提出了一種支持多種特性的基于屬性代理重加密方案。該方案的特點(diǎn)如下。

        1) 滿足理想代理重加密方案所要求的所有特性。除了具有現(xiàn)有代理重加密方案普遍有的單向性、非交互性和可重復(fù)性外,還通過在加密時(shí)選擇是否生成重加密密文解密時(shí)需要的一個(gè)密文子項(xiàng)實(shí)現(xiàn)了可控性,通過在數(shù)據(jù)密文中增加驗(yàn)證項(xiàng)來確??沈?yàn)證性。

        2) 能夠防止替換攻擊。為每個(gè)文件分配一個(gè)數(shù)據(jù)唯一標(biāo)識(shí)符,并將其嵌入重加密密鑰和數(shù)據(jù)密文中,只有當(dāng)重加密密鑰和文件密文的唯一標(biāo)識(shí)符相匹配時(shí),代理才能進(jìn)行重加密操作。

        3) 顯著減少了客戶端的計(jì)算負(fù)擔(dān)。加密時(shí),云服務(wù)器分擔(dān)了近一半共享訪問策略對(duì)應(yīng)密文子項(xiàng)的計(jì)算工作;而解密時(shí),客戶端僅需要3次指數(shù)運(yùn)算就能完成一個(gè)數(shù)據(jù)密文的解密工作。

        2 相關(guān)研究

        2007年,Bethencourt等[1]首先提出密文策略基于屬性加密(CP-ABE)算法,在該算法中,用戶私鑰與屬性集合相關(guān)聯(lián),數(shù)據(jù)密文與秘密共享訪問結(jié)構(gòu)相關(guān)聯(lián),只有用戶的屬性集合滿足密文的秘密共享訪問策略才能解密出該密文的明文數(shù)據(jù),該方案在一般群模型和隨機(jī)預(yù)言模型下可以對(duì)抗選擇明文攻擊(CPA, chosen plaintext attack)[7-8]。2011年,Waters等[9]提出一個(gè)采用線性秘密共享方案(LSSS, linear secret sharing scheme)實(shí)現(xiàn)秘密共享的CP-ABE,相比Bethencourt等[1]的方案,該方案在效率上有所提升。2014年,Balu等[10]為了解決Waters等[9]提出的CP-ABE方案中屬性出現(xiàn)次數(shù)有限制這一問題,提出用 LISS代替 LSSS實(shí)現(xiàn)CP-ABE方案,并給出構(gòu)造矩陣的規(guī)則。LISS和LSSS具有相同的表達(dá)力且同樣基于d-BDH假設(shè),不同的是,LSSS是在有限群上實(shí)現(xiàn)秘密共享,而LISS是在整數(shù)區(qū)間上實(shí)現(xiàn)秘密共享,LISS比LSSS具有更高的效率。2004年,Canetti等[11]提出了一種將CPA安全轉(zhuǎn)換為選擇密文攻擊(CCA, chosen ciphertext attack)的方法,該方法的核心是簽名。2007年,Ling等[12]采用 Canetti等[11]提出的轉(zhuǎn)換方法,提出了一種具有CCA安全的CP-ABE方案,但該方案在設(shè)計(jì)簽名公鑰的驗(yàn)證時(shí),對(duì)公鑰的每一個(gè)比特生成一個(gè)密文子項(xiàng),這不但增加了密文空間的大小,而且加重了加解密過程中用戶客戶端的計(jì)算負(fù)擔(dān)。2010年,Zhao等[13]也同樣采用一次簽名算法提出一種具有CCA安全的基于屬性的條件代理重加密方案。2009年,Liang等[14]為了解決CP-ABE共享訪問策略更新問題,首次將代理重加密技術(shù)引入 CP-ABE中,提出密文策略基于屬性代理重加密方案,該方案允許一個(gè)代理將一種共享訪問策略下的密文轉(zhuǎn)換為另一種共享訪問策略下具有相同明文的密文,而代理無法獲取數(shù)據(jù)明文,但該方案僅具有單向性、非交互性和可重復(fù)性,無法對(duì)抗選擇密文攻擊。為了解決這一問題,2013年,Liang等[15]提出一個(gè)CP-ABE代理重加密方案,該方案能對(duì)抗選擇明文攻擊和選擇密文攻擊,然而重加密密鑰的生成和重加密都需要很大的計(jì)算量,且密文空間與重加密次數(shù)呈線性關(guān)系。為了彌補(bǔ)一般服務(wù)器計(jì)算能力和存儲(chǔ)能力不足的問題,2015年,Liang等[16]又提出了利用云服務(wù)器來進(jìn)行代理重加密,采用強(qiáng)不可偽造一次簽名(OTS, one-time signature)技術(shù)[11]實(shí)現(xiàn) CCA安全,但該方案過于復(fù)雜且不支持密文的多次重加密,與前面方案一樣,僅具有單向性、非交互性。2010年,Luo等[17]提出的面向 CP-ABE的代理重加密方案則較好地解決了這一問題,該方案允許用戶在重加密密鑰中嵌入一個(gè)隨機(jī)的參數(shù),并利用新的共享訪問策略對(duì)該參數(shù)加密,代理重加密后,只有滿足新共享訪問策略的用戶解密出該參數(shù)才能解密出數(shù)據(jù)明文,在密文中增加一個(gè)密文子項(xiàng)控制該密文是否能重加密,使只有在加密或重加密時(shí)生成了該密文子項(xiàng)的密文才能被重加密。該方案雖然具有單向性、非交互性、可控性和可重復(fù)性,但是其共享訪問結(jié)構(gòu)僅支持AND門,加解密計(jì)算量隨重加密次數(shù)呈線性增長。2015年,Li等[18]受Luan等[19]的具有 CPA安全的CP-ABE方案的啟發(fā),提出了一種具有CCA安全的 CP-ABE代理重加密方案,該方案與 Luo等[17]的方案一樣具有單向性、非交互性、可重復(fù)性和可控性,但無法控制用戶利用其私鑰的多個(gè)與屬性相關(guān)的密鑰子項(xiàng)構(gòu)造出一個(gè)并不具有的密鑰子項(xiàng),用戶無法控制代理利用重加密密鑰重加密該用戶的其他密文。同年,Kawai[20]為了解決現(xiàn)有代理重加密方案生成重加密密鑰時(shí)給用戶帶來繁重的計(jì)算負(fù)擔(dān),提出由授權(quán)中心來完成重加密密鑰的生成工作,用戶只需少量計(jì)算并向授權(quán)中心提出生成重加密密鑰請(qǐng)求,但該方案不僅會(huì)造成授權(quán)中心的計(jì)算“瓶頸”,還失去了用戶對(duì)重加密的控制,此外,該方案也僅具有單向性、非交互性。Fu[21]也提出一種具有單向性、非交互性、可重復(fù)性的基于屬性的代理重加密方案。2016年,一種具有隱藏訪問策略的代理重加密方案被 Zhang等[22]首次提出,該方案引入一種稱為匹配再重加密的新技術(shù),即在重加密之前,先利用代理重加密密鑰和數(shù)據(jù)密文的特殊組件進(jìn)行匹配計(jì)算,以檢測該用戶是否有權(quán)限進(jìn)行重加密操作。但在2017年,Yin等[23]發(fā)現(xiàn)該方案并不能實(shí)現(xiàn)訪問策略的隱藏,因?yàn)榇嬖跀呈帜芾貌糠置芪慕M件及系統(tǒng)公鑰測試隨機(jī)選擇的屬性集合是否在密文屬性集合中的問題。為了解決這一問題,Yin等[23]提出一種改進(jìn)的具有隱藏訪問策略的代理重加密方案,該方案與 Zhang等[22]提出的方案一樣,具有單向性、非交互性、可重復(fù)性和可控性,但兩者均采用AND門共享訪問結(jié)構(gòu),致使其共享訪問策略的表達(dá)力較低。2017年,Sepehri等[24]提出一種能實(shí)現(xiàn)數(shù)據(jù)安全共享的基于屬性代理重加密方案,該方案將用戶屬性集合與密文共享訪問策略均采用向量表示,當(dāng)用戶屬性集合向量與密文共享訪問策略向量內(nèi)積為0時(shí),該用戶才能重加密該數(shù)據(jù)密文。該方案盡管具有單向性、非交互性和可重復(fù)性,但過于復(fù)雜,且用戶私鑰和數(shù)據(jù)密文占用存儲(chǔ)空間較大。同年,Ma等[25]提出一種可驗(yàn)證的外包加密和解密方案,加密和解密的外包運(yùn)算分別由加密服務(wù)器(ESP, encryption service provider)和解密服務(wù)器(DSP, decryption service provider)完成。后來,Xiong等[26]認(rèn)為該方案并不具有可驗(yàn)證屬性,證明該方案的 ESP可以將偽造的中間密文返回給用戶而不被檢測到。Feng等[27]提出一種完全安全的基于屬性代理重加密方案,但僅支持AND門共享訪問結(jié)構(gòu),缺乏表達(dá)力。2018年,Ge等[28]提出了一種具有CCA安全的密鑰策略基于屬性代理重加密方案,該方案的代理重加密過程與Liang等[16]的方案類似,同樣僅具有單向性、非交互性。除上述文獻(xiàn)外,文獻(xiàn)[29-31]也對(duì)代理重加密問題進(jìn)行了研究,但其方案與上面討論的方案類似。

        從上面的分析不難看出,現(xiàn)有的方案普遍只支持單向性、非交互性,已有較好的代理重加密方案(如文獻(xiàn)[17-18,22-23])雖然支持可重復(fù)性和可控性,但是在效率、安全性和訪問結(jié)構(gòu)的表達(dá)力方面還需要進(jìn)一步的提高,幾種方案的特性對(duì)比如表 1所示。此外,現(xiàn)有的方案都存在代理能夠利用用戶提交的重加密密鑰重加密該用戶的其他密文的問題,并且在加密或重加密過程中,用戶客戶端承擔(dān)了過多的計(jì)算量。

        表1 幾種方案的特性對(duì)比

        3 基本知識(shí)

        3.1 雙線性映射

        設(shè)G和GT都是階為大素?cái)?shù)p的乘法循環(huán)群,g為G的生成元,e為雙線性映射,即雙線性映射e具有以下性質(zhì)。

        1) 雙線性。對(duì)于任意的u,v∈G和有

        3) 可計(jì)算性。對(duì)于所有的u,v∈G,e(u,v)都能被有效計(jì)算。

        3.2 線性整數(shù)秘密共享方案

        1) 對(duì)共享訪問策略P的每個(gè)屬性ai表示為Mu。

        在LISS訪問結(jié)構(gòu)(Μ,)ρ中,M是訪問矩陣,ρ是矩陣每一行Mi到屬性ρ(i)的映射關(guān)系。

        4 代理重加密算法與安全模型

        4.1 算法定義

        定義1支持多種特性的代理重加密方案(CPABPRE)由以下10個(gè)算法構(gòu)成,其關(guān)系如圖1所示。

        1) Setup(U,A,k)→(PK,MK):初始化算法由授權(quán)中心執(zhí)行,輸入屬性空間U、系統(tǒng)用戶共有的虛擬屬性A和安全參數(shù)k,輸出系統(tǒng)公鑰PK和系統(tǒng)主密鑰MK。

        2) KeyGen(PK,MK,S)→(SK):私鑰生成算法由授權(quán)中心執(zhí)行,輸入系統(tǒng)公鑰 PK、系統(tǒng)主密鑰MK和用戶屬性集合S?U,輸出與屬性集合S相關(guān)聯(lián)的用戶私鑰SK。

        3) Encrypt(m,(M,ρ),PK)→(CT′):加密算法

        4) OutEncrypt(CT′,PK)→(CT):外包加密算法由云服務(wù)器執(zhí)行,輸入用戶計(jì)算的部分密文CT′和系統(tǒng)公鑰PK,輸出數(shù)據(jù)m的完整密文CT。

        5)ReKeyGen(PK,SK,(M′,ρ′))→(RK):重加密由用戶執(zhí)行,輸入待加密數(shù)據(jù)m、線性整數(shù)秘密共享LISS訪問結(jié)構(gòu)(M,)ρ和系統(tǒng)公鑰PK,輸出數(shù)據(jù)m與LISS相關(guān)聯(lián)的部分密文CT′。密鑰生成算法由用戶執(zhí)行,輸入系統(tǒng)公鑰 PK、用戶私鑰SK和新的線性整數(shù)秘密共享LISS訪問結(jié)構(gòu)(M′,ρ′),輸出一個(gè)重加密密鑰RK。若重加密密鑰RK在用戶私鑰SK對(duì)應(yīng)用戶屬性集合S滿足密文的訪問結(jié)構(gòu)(M,)ρ時(shí),代理可以利用該重加密密鑰RK將該密文的訪問結(jié)構(gòu)(M,)ρ轉(zhuǎn)換為新的訪問結(jié)構(gòu)(M′,ρ′)。

        6)ReEncrypt(PK,CT,RK)→(CT*):重加密算法由云服務(wù)器執(zhí)行,輸入系統(tǒng)公鑰 PK、與訪問結(jié)構(gòu)(M,ρ)相關(guān)聯(lián)的密文CT和與訪問結(jié)構(gòu)(M′,ρ′)相關(guān)聯(lián)的重加密密鑰RK,當(dāng)密文CT被設(shè)置為不能重加密或S|≠(M,ρ)時(shí),輸出⊥,否則輸出與訪問結(jié)構(gòu)(M′,ρ′)相關(guān)聯(lián)的密文CT*。

        圖1 10個(gè)算法的關(guān)系

        7) ReEncryptVerify(F,C′,C0′)→(true):重加密驗(yàn)證算法由用戶執(zhí)行,輸入CT密文組件C′、C0′和云服務(wù)器代理重加密計(jì)算結(jié)果F,若驗(yàn)證通過,輸出true,否則直接輸出⊥。

        8) OutKeyGen(SK)→(TK,DK):轉(zhuǎn)換密鑰生成算法由用戶執(zhí)行,輸入用戶私鑰 SK,輸出外包云服務(wù)器部分解密的轉(zhuǎn)換密鑰TK和最后用戶完全解密時(shí)使用的密鑰DK。

        9)*

        OutDecrypt(CT,TK)→(F):外包解密算法由云服務(wù)器執(zhí)行,輸入密文CT和轉(zhuǎn)換密鑰TK,當(dāng)S|=(M,ρ)時(shí),輸出密文CT的部分解密密文F*,否則直接輸出⊥。

        10) Decrypt(CT,F*,DK)→ (m):解密算法由用戶執(zhí)行,輸入密文 CT、云服務(wù)器代理計(jì)算的部分解密密文*

        F和轉(zhuǎn)換密鑰中用戶保留的密鑰DK,輸出明文數(shù)據(jù)m。

        4.2 代理重加密方案特性

        代理重加密方案首先要具有正確性,正確性的定義如下。

        對(duì)于任意安全參數(shù)k∈N、任意屬性集合S(S?U∪A)、由U中屬性構(gòu)建的任意訪問結(jié)構(gòu)(M,ρ)和任意數(shù)據(jù)m∈{0,1}k,若Setup(U,A,k)→(PK,MK)、KeyGen(PK,MK,S)→(SK)、OutKeyGen(SK)→(TK,DK),對(duì)在系統(tǒng)中使用的屬性集合S,當(dāng)S|=(M,ρ)和S|=(M′,ρ′)時(shí),有

        除正確性外,代理重加密方案通常具有以下特性。

        1) 單向性:代理可以利用用戶提交的重加密密鑰將一種共享策略下的密文CT轉(zhuǎn)換為另一種共享策略下具有相同明文的密文CT*,但不允許利用該重加密密鑰將密文CT*轉(zhuǎn)換為密文CT。

        2) 非交互性:加密方在構(gòu)造重加密密鑰過程中,不需要其他信任的第三方和授權(quán)中心參與。

        3) 可重復(fù)性:代理可以對(duì)同一密文進(jìn)行多次重加密。

        4) 可控性:由用戶在加密或重加密時(shí)決定密文是否可以重新加密。

        5) 可驗(yàn)證性:加密方可以對(duì)代理進(jìn)行重加密后的計(jì)算結(jié)果進(jìn)行正確性驗(yàn)證。

        4.3 安全模型

        接下來,定義 CP-ABPRE方案的針對(duì)性(selective)CPA安全模型。

        定義 2如果沒有一個(gè)概率多項(xiàng)式時(shí)間(PPT,probabilistic polynomial-time)敵手Adv能夠以不可忽略的優(yōu)勢贏得下面的游戲,則代理重加密方案達(dá)到sCPA安全。在游戲中,C是挑戰(zhàn)者,k、U和A分別是安全參數(shù)、屬性空間和虛擬屬性。

        預(yù)備階段Adv選擇挑戰(zhàn)的訪問結(jié)構(gòu)(M′′,ρ′′)。

        初始化C運(yùn)行(PK,MK)←Setup(U,A,k)獲得系統(tǒng)公鑰PK和系統(tǒng)主密鑰MK,并將PK發(fā)送給Adv。

        階段1敵手可以重復(fù)執(zhí)行以下任何查詢。

        1) 私鑰查詢Osk(S):Adv提交一個(gè)屬性集合S,該屬性集合S不滿足挑戰(zhàn)訪問結(jié)構(gòu)(M′′,ρ′′),C 返回用戶私鑰SK←KeyGen(PK,MK,S)給Adv。

        2) 重加密密鑰查詢Ork(S,(M′,ρ′)):Adv提交一個(gè)屬性集合S(該屬性集合S不滿足挑戰(zhàn)訪問結(jié)構(gòu)(M′′,ρ′′))和一個(gè)訪問結(jié)構(gòu)(M′,ρ′),C 返回重加密密鑰 RK←ReKeyGen(PK,SK,(M′,ρ′))給Adv,其中用戶私鑰SK←KeyGen(PK,MK,S)。

        挑戰(zhàn)階段Adv向C提交2個(gè)等長的明文m0和m1,C隨機(jī)選擇b∈{0,1},返回CT′←OutEncrypt(CT′,PK)給 Adv,其中CT′←Encrypt(mb,(M′,ρ′),PK)。

        階段2Adv繼續(xù)階段1的查詢。

        猜測Adv輸出一個(gè)猜測值b′∈{0,1},如果b=b′,Adv贏得游戲。Adv贏得游戲的優(yōu)勢被定義為

        5 方案構(gòu)造

        方案包括初始化、私鑰生成、加密、外包加密、重加密密鑰生成、重加密、重加密驗(yàn)證、轉(zhuǎn)換密鑰生成、外包解密和解密共10個(gè)算法。

        1) 初始化:Setup(U,A,k)

        k為系統(tǒng)安全參數(shù)。授權(quán)中心選擇階為大素?cái)?shù)p的雙線性群G和GT,記g∈G為G的生成元,雙線性映射e:G×G→GT。設(shè)屬性空間為U,其中的虛擬屬性A為所有用戶共有。選擇g2∈G,a,b,α,β∈Z*p,對(duì)虛擬屬性A和任意i∈U,選擇TA、Ti∈G,計(jì)算定義散列函數(shù)定義編碼變換:{0,1}k EG→。授權(quán)中心將系統(tǒng)公鑰PK向云服務(wù)器和所有用戶公開,系統(tǒng)主密鑰 MK由授權(quán)中心秘密保存。系統(tǒng)公鑰PK為

        2) 生成用戶私鑰:KeyGen(PK,MK,S)

        其中,DA和′ 為虛擬屬性密鑰子項(xiàng)。

        3) 加密:Encrypt(m,(M,ρ),PK)

        加密算法輸入數(shù)據(jù){0,1}k m∈,LISS訪問結(jié)構(gòu)(M,)ρ,其中M是一個(gè)l×q的矩陣,ρ是矩陣每一行Mi到屬性ρ(i)的映射關(guān)系。

        若將該密文設(shè)置為不能被重加密,只需去掉密文子項(xiàng)即可。

        4) 外包加密:OutEncrypt(CT′,PK)

        生成重加密密鑰算法使用用戶私鑰SK和新的LISS訪問結(jié)構(gòu)(M′,ρ′)生成重加密密鑰 RK,其中M′是一個(gè)l′ ×q′的矩陣,ρ′是矩陣每一行到屬性ρ′(i)的映射關(guān)系。

        6) 重加密:ReEncrypt(PK,CT,RK)

        對(duì)密文共享訪問策略計(jì)算

        最后計(jì)算F為

        完整的重加密密文*CT為

        8) 生成轉(zhuǎn)換密鑰:OutKeyGen(SK)

        由用戶保存的密鑰為DK=<δ>。

        9) 外包解密:OutDecrypt(CT,TK)屬性計(jì)算

        對(duì)密文共享訪問策略計(jì)算

        最后計(jì)算F*為

        10) 解密:*

        Decrypt(CT,F,DK)

        對(duì)于未被重加密的密文,數(shù)據(jù)所有者或共享用戶將密文子項(xiàng)C、C1及云服務(wù)器部分解密F*從云服務(wù)器下載到本地。解密R的算法為

        對(duì)于被重加密的密文,按照上述算法對(duì)隨機(jī)因子的密文Crk解密得到E(gd),解碼得dg。將重加密前的密文子項(xiàng)C、C1、C0′及重加密時(shí)計(jì)算的F從云服務(wù)器下載到本地,解密R的算法為

        對(duì)于被多次重加密的密文,采用第一種解密算法解密出最后一次重加密的數(shù)據(jù),再重復(fù)使用第二種解密算法,最后得出明文數(shù)據(jù)m。

        6 特性與安全性分析

        6.1 特性分析

        1) 單向性

        重加密密鑰由用戶私鑰嵌入隨機(jī)因子后的數(shù)據(jù)及隨機(jī)因子與新訪問結(jié)構(gòu)(M',ρ')相關(guān)聯(lián)的密文數(shù)據(jù)構(gòu)成,在重加密密鑰滿足訪問結(jié)構(gòu)(M,ρ)的情況下,代理利用該重加密密鑰將密文的訪問結(jié)構(gòu)由(M,ρ)轉(zhuǎn)換為(M',ρ')時(shí)能計(jì)算出一個(gè)包含隨機(jī)因子的半解密密文(此時(shí)若知道隨機(jī)因子,就可以解密出明文數(shù)據(jù)),但缺少隨機(jī)因子與訪問結(jié)構(gòu)(M,ρ)相關(guān)聯(lián)的密文而無法將密文的訪問結(jié)構(gòu)由(M',ρ')轉(zhuǎn)換為(M,ρ)。

        2) 非交互性

        重加密密鑰計(jì)算過程由兩部分構(gòu)成:在用戶私鑰中嵌入隨機(jī)因子和生成隨機(jī)因子與新訪問結(jié)構(gòu)相關(guān)聯(lián)的密文數(shù)據(jù)。然而這兩部分都可以由用戶客戶端獨(dú)立完成,不需要其他信任的第三方和授權(quán)中心參與。

        3) 可重復(fù)性

        重加密密鑰由用戶私鑰嵌入了隨機(jī)因子后的數(shù)據(jù)及隨機(jī)因子與新訪問結(jié)構(gòu)相關(guān)聯(lián)的密文數(shù)據(jù)構(gòu)成,代理利用該重加密密鑰重加密時(shí),將原始密文轉(zhuǎn)換為含有隨機(jī)因子的半解密密文(此時(shí)若知道隨機(jī)因子,就可以解密出明文數(shù)據(jù)),重加密后的密文由原始密文(除了C0)、半解密密文和隨機(jī)因子的密文構(gòu)成。再次重加密時(shí),對(duì)隨機(jī)因子的密文數(shù)據(jù)進(jìn)行相同的操作即可達(dá)到多次重加密的目的。

        4) 可控性

        重加密密文在解密時(shí),需要原始密文的一個(gè)密文子項(xiàng)C0′的參與才能解密,但原始密文解密時(shí)并不需要該密文子項(xiàng),故該密文子項(xiàng)控制了加密或重加密后的密文是否可以再次重加密。

        5) 可驗(yàn)證性

        ①如果數(shù)據(jù)所有者想要驗(yàn)證云服務(wù)器代理重加密結(jié)果是否正確,只需將密文子項(xiàng)C′、C0′及云服務(wù)器代理重加密結(jié)果F傳回用戶客戶端,此時(shí)用戶客戶端已知gd,故用戶客戶端可以計(jì)算

        6.2 抗替換攻擊

        為防止云服務(wù)器利用數(shù)據(jù)所有者提交的重加密密鑰重加密數(shù)據(jù)所有者其他密文數(shù)據(jù),從而導(dǎo)致滿足新共享策略的用戶可以非法解密數(shù)據(jù)所有者其他密文數(shù)據(jù),在外包數(shù)據(jù)時(shí)為每個(gè)數(shù)據(jù)分配一個(gè)數(shù)據(jù)唯一標(biāo)識(shí)符η,并將其嵌入重加密密鑰和數(shù)據(jù)密文中。云服務(wù)器代理重加密時(shí),只有嵌入重加密密鑰和數(shù)據(jù)密文的數(shù)據(jù)唯一標(biāo)識(shí)符匹配時(shí),才能進(jìn)行重加密操作。

        為避免云服務(wù)器能夠?qū)⒅丶用苊荑€子項(xiàng)和密文子項(xiàng)中的數(shù)據(jù)唯一標(biāo)識(shí)符η直接替換為其他的數(shù)據(jù)唯一標(biāo)識(shí)符,該方案采用了隨機(jī)化方法,即在重加密密鑰子項(xiàng)rkD中,用A

        ② 如果數(shù)據(jù)所有者想要驗(yàn)證云服務(wù)器是否按要求進(jìn)行外包加密,在將待計(jì)算密文項(xiàng)上傳的同時(shí)計(jì)算挑戰(zhàn)的密文項(xiàng)。在收到返回的密文子項(xiàng)后,將挑戰(zhàn)密文項(xiàng)與返回的對(duì)應(yīng)密文項(xiàng)進(jìn)行對(duì)比,相等即通過驗(yàn)證。

        ③ 如果數(shù)據(jù)所有者想要驗(yàn)證云服務(wù)器是否按要求進(jìn)行外包解密[33],待用戶客戶端解密出數(shù)據(jù)m對(duì)η進(jìn)行隨機(jī)化,再使用對(duì)隨機(jī)化;在密文子項(xiàng)C′A中,用rA對(duì)η進(jìn)行隨機(jī)化,再使用對(duì)隨機(jī)化。

        6.3 機(jī)密性

        定理 1本文所提出的方案,可抵御針對(duì)性選擇明文攻擊。

        證明假設(shè)敵手 Adv1在一般群模型和隨機(jī)預(yù)言模型能以不可忽略優(yōu)勢攻破本文所提出的方案,那么可以基于Adv1構(gòu)建敵手Adv2,使其可以在同樣模型下攻破BSW方案,這與在一般群模型和隨機(jī)預(yù)言模型下BSW方案可以抵御選擇明文攻擊矛盾,故本文所提出的方案在一般群模型和隨機(jī)預(yù)言模型下可抵御選擇明文攻擊。接下來,說明敵手Adv2的構(gòu)建過程。

        預(yù)備階段模擬器Adv2啟動(dòng)敵手Adv1,Adv1選擇一個(gè)挑戰(zhàn)訪問結(jié)構(gòu)(M′′,ρ′′),Adv2將其對(duì)應(yīng)的訪問結(jié)構(gòu)樹T傳遞給BSW方案的挑戰(zhàn)者。

        初始化敵手 Adv2獲取 BSW 方案的公鑰并將其發(fā)送給Adv1。

        階段 1Adv2初始化空表T、T1、T2,Adv1能完成如下查詢。

        1)H1(R,m):若(R,m,s)已經(jīng)在T1中,返回s;否則選擇一個(gè)隨機(jī)值將(R,m,s)記錄在T1中并返回s。

        2) 隨機(jī)預(yù)言機(jī)散列函數(shù)H2(R):若(R,r)已經(jīng)在T2中,返回r;否則選擇一個(gè)隨機(jī)值{0,1}k r∈,將(R,r)記錄在T2中并返回r。

        3) 私鑰查詢Osk(S):敵手 Adv1可重復(fù)發(fā)出查詢請(qǐng)求。Adv1發(fā)出一次查詢后,Adv2對(duì)查詢進(jìn)行如下處理。

        ① 屬性集合S|≠(M′,ρ′)。將S發(fā)送給BSW方案挑戰(zhàn)者,由BSW方案挑戰(zhàn)者利用密鑰生成算法生成與S對(duì)應(yīng)的私鑰SK′并返回給 Adv2。Adv2選擇一個(gè)隨機(jī)數(shù),由SK′計(jì)算出轉(zhuǎn)換密鑰TK,計(jì)算SK=(n,TK)。將 SK返回給 Adv1,將(S,SK,TK)存入到表T中。

        4) 重加密密鑰查詢Ork(S,(M′,ρ′)):Adv1提交一個(gè)屬性集合S和一個(gè)訪問結(jié)構(gòu)(M′,ρ′)。若S|≠ (M′,ρ′),Adv2返回RK←ReKeyGen(PK,SK,(M′,ρ′))給Adv1,其中SK←KeyGen(PK,MK,S)。

        挑戰(zhàn)階段Adv1向Adv2提交2個(gè)等長的數(shù)據(jù)明文m0和m1,Adv2執(zhí)行如下操作。

        階段2Adv1繼續(xù)階段1的查詢。

        猜測Adv1輸出猜測值b′∈{0,1},Adv2忽視Adv1的猜測值。Adv2檢索T1和T2以確定R0或R1是否出現(xiàn)在表中,換言之,確定 Adv1是否發(fā)起過H1(R,?)或H2(R)的查詢。如果這2個(gè)數(shù)都出現(xiàn)或都沒有出現(xiàn)在這2個(gè)表中,Adv2隨機(jī)輸出猜測值b′;如果只出現(xiàn)Rb′,Adv2輸出b′。

        7 性能分析

        7.1 理論分析

        下面從計(jì)算和存儲(chǔ)2個(gè)方面討論本文所提方案的性能。

        1) 計(jì)算性能

        由于數(shù)據(jù)處理時(shí),最耗費(fèi)時(shí)間的運(yùn)算依次是雙線性運(yùn)算B和指數(shù)運(yùn)算E(EG、ET分別表示G群、GT群的指數(shù)運(yùn)算),因此用這2個(gè)指標(biāo)來衡量性能。為了方便比較,假設(shè)每次加密或重加密后的密文能再次被重加密。

        云服務(wù)器重加密時(shí),計(jì)算虛擬屬性的代價(jià)為2B。在共享訪問策略對(duì)應(yīng)邏輯關(guān)系都為“AND”的情況下,計(jì)算共享訪問策略的每個(gè)屬性ρ(i)都要參與一次指數(shù)運(yùn)算和2次雙線性運(yùn)算,計(jì)算共享訪問策略的代價(jià)為NPET+2NPB。計(jì)算F需要執(zhí)行一次雙線性運(yùn)算,云服務(wù)器為新的共享訪問策略中每個(gè)屬性ρ(i)、虛擬屬性的CA執(zhí)行一次指數(shù)運(yùn)算的計(jì)算代價(jià)為(1+NP)EG,云服務(wù)器重加密時(shí)的計(jì)算代價(jià)為(1+NP)EG+NPET+(3+2NP)B。用戶客戶端驗(yàn)證云服務(wù)器是否正確執(zhí)行重加密時(shí)的計(jì)算代價(jià)為EG+B,故在整個(gè)重加密過程中,用戶客戶端的計(jì)算代價(jià)為(11+NP)EG+ET+B。

        原始密文解密時(shí),用戶客戶端需要對(duì)*F執(zhí)行一次指數(shù)運(yùn)算,驗(yàn)證需要兩次指數(shù)運(yùn)算,計(jì)算代價(jià)為3ET。重加密密文解密時(shí),用戶客戶端還需要執(zhí)行一次雙線性計(jì)算,用戶客戶端解密重加密密文的計(jì)算代價(jià)為4ET+B。云服務(wù)器代理解密過程與云服務(wù)器重加密過程類似(除重加密過程中計(jì)算E(gd)部分密文子項(xiàng)),計(jì)算代價(jià)為NPET+(3+2NP)B。

        幾種方案的計(jì)算開銷對(duì)比如表2所示。其中,NP表示共享訪問策略中屬性數(shù)量,NS表示用戶私鑰屬性數(shù)量,N表示系統(tǒng)屬性空間屬性數(shù)量,|SYM|表示執(zhí)行一次對(duì)稱加密算法的計(jì)算開銷,|OTS|表示執(zhí)行一次簽名算法的計(jì)算開銷。本文方案的加密和生成重加密密鑰的計(jì)算開銷與文獻(xiàn)[21]方案接近,而2種解密方式的計(jì)算開銷在對(duì)比的幾種方案中是最低的且為固定值。

        表2 幾種方案的用戶客戶端計(jì)算開銷對(duì)比

        2) 存儲(chǔ)性能

        在本文方案中,用戶私鑰由用戶秘密保存,而用戶數(shù)據(jù)則外包給云服務(wù)器存儲(chǔ)。用戶私鑰密鑰子項(xiàng)D和DB,共2個(gè)G群元素,另外每個(gè)屬性包括2個(gè)G群元素(包括虛擬屬性),故用戶私鑰存儲(chǔ)代價(jià)為(4+2NS)|G|。用戶數(shù)據(jù)密文子項(xiàng)C、C0、C0′和C′,共一個(gè)GT群元素和3個(gè)G群元素存儲(chǔ)空間,虛擬屬性共2個(gè)G群元素,共享策略中每個(gè)屬性包括2個(gè)G群元素,數(shù)據(jù)密文存儲(chǔ)代價(jià)為(5+2NP)|G|+|GT|。對(duì)于重加密密文,對(duì)隨機(jī)因子生成一個(gè)與原始密文相同大小的密文,而原始密文僅保留C、′以及新生成的密文子項(xiàng)F,故重加密一次后的重加密密文存儲(chǔ)代價(jià)為3|GT|+(7+2NP)|G|。其中,|G|表示G中一個(gè)元素所需的存儲(chǔ)空間,|GT|表示GT中一個(gè)元素所需的存儲(chǔ)空間,|σ|表示簽名數(shù)據(jù)所需的存儲(chǔ)空間。

        表3 幾種方案的私鑰與密文存儲(chǔ)空間占用對(duì)比

        幾種方案存儲(chǔ)空間占用對(duì)比如表3所示。本文方案與文獻(xiàn)[1]方案相比,為了抵抗?jié)M足重加密共享策略的用戶與代理之間的共謀攻擊,用戶私鑰增加了3個(gè)G群元素,而用戶數(shù)據(jù)密文增加了2個(gè)G群元素;為了實(shí)現(xiàn)重加密可控和可驗(yàn)證性,各自增加了一個(gè)G群元素。故用戶數(shù)據(jù)密文共增加了7|G|。

        7.2 實(shí)驗(yàn)分析

        為了評(píng)估本文所提出的代理重加密方案的性能,在Hadoop環(huán)境下采用Java語言實(shí)現(xiàn)了本文所提出的算法并對(duì)其進(jìn)行了性能實(shí)驗(yàn)。在實(shí)現(xiàn)的算法中,采用雙線性對(duì)加密庫和CP-ABE開發(fā)工具包作為基礎(chǔ)開發(fā)包,雙線性映射和冪運(yùn)算等有關(guān)橢圓曲線加密的操作均來自雙線性對(duì)加密庫 JPBC。從素?cái)?shù)階y2=x3+x中選取群G1、G2、GT,采用對(duì)稱雙線性映射e(g,g),即G1=G2=G,群G和GT中的元素長度為1 024位。實(shí)驗(yàn)的用戶客戶端使用的虛擬機(jī)配置為一個(gè)Intel(R) Xeon(R) CPU (E5-2620 2.0 GHZ),內(nèi)存為1 GB,系統(tǒng)為CentOS6.5 64位。

        加密、重加密密鑰生成、原始密文解密和重加密密文解密實(shí)驗(yàn)分別針對(duì)文獻(xiàn)[1]方案(僅有加密、原始密文解密)、文獻(xiàn)[14,18,22-23]方案和本文方案各進(jìn)行 20輪,每輪使用相同大小的數(shù)據(jù)和屬性數(shù)量相同的共享訪問結(jié)構(gòu)(為了方便比較,共享訪問結(jié)構(gòu)的邏輯關(guān)系均取為“AND”),分配給用戶的屬性數(shù)量8個(gè);每輪實(shí)驗(yàn)進(jìn)行50次,取50次實(shí)驗(yàn)結(jié)果的平均值為最終實(shí)驗(yàn)結(jié)果,共享訪問結(jié)構(gòu)的屬性數(shù)量依次遞增。

        文獻(xiàn)[1,14,18,22-23]方案及本文方案的用戶客戶端加密時(shí)間對(duì)比如圖2所示,文獻(xiàn)[14,18,22-23]方案與本文方案的重加密密鑰生成時(shí)間對(duì)比如圖3所示。在2種對(duì)比方式中,每種方案的用戶客戶端計(jì)算時(shí)間都隨共享訪問結(jié)構(gòu)屬性數(shù)量的不斷增加呈線性增長,但與文獻(xiàn)[1,22-23]方案的加密時(shí)間相比,本文方案的加密時(shí)間更短且增長較為緩慢;與文獻(xiàn)[14,18]方案的加密時(shí)間相比,本文方案具有相同的增長趨勢,加密時(shí)間分別僅多了90 ms和37 ms,但與其重加密密鑰生成時(shí)間相比,本文方案的重加密密鑰生成時(shí)間更短,而且隨著共享訪問結(jié)構(gòu)屬性數(shù)量的增加,其他方案與本文方案的差距逐漸增大。

        文獻(xiàn)[1,14,18,22-23]方案以及本文方案的用戶客戶端原始密文解密時(shí)間對(duì)比如圖 4所示,文獻(xiàn)[14,18,22-23]方案和本文方案的用戶客戶端重加密密文解密時(shí)間對(duì)比如圖5所示。在2種對(duì)比方式中,其他方案的解密時(shí)間都隨著訪問結(jié)構(gòu)的屬性數(shù)量不斷增加,解密時(shí)間與屬性數(shù)量呈線性關(guān)系,而本文方案的解密時(shí)間比較穩(wěn)定,原始密文解密時(shí)間約4.5 ms,重加密密文解密時(shí)間約30.9 ms。

        圖2 用戶客戶端加密時(shí)間對(duì)比

        圖3 重加密密鑰生成時(shí)間對(duì)比

        圖4 用戶客戶端原始密文解密時(shí)間對(duì)比

        圖5 用戶客戶端重加密密文解密時(shí)間對(duì)比

        8 結(jié)束語

        代理重加密技術(shù)在代理無法獲取明文的情況下,利用用戶提供的重加密密鑰將一種共享策略下的密文轉(zhuǎn)換為另一種共享策略下的密文,不但降低了用戶客戶端的性能需求,而且減小了密文數(shù)據(jù)往返傳輸所帶來的帶寬和時(shí)間開銷。然而,已有的基于CP-ABE的代理重加密方案存在僅支持2個(gè)或3個(gè)特性、客戶端計(jì)算量過大、代理能夠利用用戶提供的重加密密鑰重加密該用戶所有的密文數(shù)據(jù)等問題。針對(duì)這些問題,本文提出了一種支持多種特性的密文策略基于屬性代理重加密方案。該方案支持多種特性的同時(shí)將絕大多數(shù)計(jì)算工作外包給云服務(wù)器,用戶客戶端僅需少量的計(jì)算。所提方案構(gòu)建于經(jīng)典CP-ABE方案的基礎(chǔ)之上,不但能對(duì)抗惡意用戶的合謀攻擊,而且還能抵御滿足重加密共享策略的用戶與云代理服務(wù)器之間的合謀攻擊,防止?jié)M足重加密共享策略的用戶非法解密共享者其他密文數(shù)據(jù)。安全分析表明,所提方案能抵御針對(duì)性選擇明文攻擊。

        猜你喜歡
        私鑰密文解密
        解密“熱脹冷縮”
        一種針對(duì)格基后量子密碼的能量側(cè)信道分析框架
        一種支持動(dòng)態(tài)更新的可排名密文搜索方案
        比特幣的安全性到底有多高
        基于模糊數(shù)學(xué)的通信網(wǎng)絡(luò)密文信息差錯(cuò)恢復(fù)
        基于改進(jìn)ECC 算法的網(wǎng)絡(luò)信息私鑰變換優(yōu)化方法
        解密“一包三改”
        炫詞解密
        一種基于虛擬私鑰的OpenSSL與CSP交互方案
        云存儲(chǔ)中支持詞頻和用戶喜好的密文模糊檢索
        亚洲开心婷婷中文字幕| 亚洲国产国语对白在线观看| 偷拍一区二区三区黄片| 亚洲欧美日韩国产精品网| 免费一级黄色大片久久久| 国产免费无码9191精品| 日本一区二区视频免费观看| 国产日韩精品视频一区二区三区| 白色白色白色在线观看视频| 香港三级日本三韩级人妇久久| 国产在线视频91九色| 无码精品人妻一区二区三区漫画 | 国语对白自拍视频在线播放| 成av人片一区二区久久| 人人妻人人澡人人爽国产| 亚洲乳大丰满中文字幕| 国产乱国产乱老熟300部视频| 内谢少妇xxxxx8老少交| 国产黄a三级三级三级av在线看| 加勒比无码专区中文字幕| 韩国主播av福利一区二区| 国产美女冒白浆视频免费| 亚洲一区二区三区在线视频| 精品香蕉99久久久久网站| 国产精品熟女视频一区二区| 成人国产精品免费视频| 欧美性一区| 性色av成人精品久久| 精品亚洲一区中文字幕精品| 欧美激情一区二区三区成人| 天下第二社区在线视频| 18禁美女裸身无遮挡免费网站 | 日韩av中文字幕少妇精品| 亚洲熟女乱一区二区三区| 亚洲精品国产一二三区| 免费观看18禁无遮挡真人网站| 久久久久久久岛国免费观看| 国内少妇偷人精品视频免费| 丰满熟妇人妻无码区| 丝袜美腿一区在线观看| 国语对白福利在线观看|