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

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

2019-07-11 03:55:12馮朝勝羅王平秦志光袁丁鄒莉萍
通信學報 2019年6期
關鍵詞:用戶

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

(1. 四川師范大學計算機科學學院,四川 成都 610101;2. 電子科技大學網絡與數據安全四川省重點實驗室,四川 成都 610054)

1 引言

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

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

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

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

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

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

2) 能夠防止替換攻擊。為每個文件分配一個數據唯一標識符,并將其嵌入重加密密鑰和數據密文中,只有當重加密密鑰和文件密文的唯一標識符相匹配時,代理才能進行重加密操作。

3) 顯著減少了客戶端的計算負擔。加密時,云服務器分擔了近一半共享訪問策略對應密文子項的計算工作;而解密時,客戶端僅需要3次指數運算就能完成一個數據密文的解密工作。

2 相關研究

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

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

表1 幾種方案的特性對比

3 基本知識

3.1 雙線性映射

設G和GT都是階為大素數p的乘法循環群,g為G的生成元,e為雙線性映射,即雙線性映射e具有以下性質。

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

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

3.2 線性整數秘密共享方案

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

在LISS訪問結構(Μ,)ρ中,M是訪問矩陣,ρ是矩陣每一行Mi到屬性ρ(i)的映射關系。

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

4.1 算法定義

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

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

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

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

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

5)ReKeyGen(PK,SK,(M′,ρ′))→(RK):重加密由用戶執行,輸入待加密數據m、線性整數秘密共享LISS訪問結構(M,)ρ和系統公鑰PK,輸出數據m與LISS相關聯的部分密文CT′。密鑰生成算法由用戶執行,輸入系統公鑰 PK、用戶私鑰SK和新的線性整數秘密共享LISS訪問結構(M′,ρ′),輸出一個重加密密鑰RK。若重加密密鑰RK在用戶私鑰SK對應用戶屬性集合S滿足密文的訪問結構(M,)ρ時,代理可以利用該重加密密鑰RK將該密文的訪問結構(M,)ρ轉換為新的訪問結構(M′,ρ′)。

6)ReEncrypt(PK,CT,RK)→(CT*):重加密算法由云服務器執行,輸入系統公鑰 PK、與訪問結構(M,ρ)相關聯的密文CT和與訪問結構(M′,ρ′)相關聯的重加密密鑰RK,當密文CT被設置為不能重加密或S|≠(M,ρ)時,輸出⊥,否則輸出與訪問結構(M′,ρ′)相關聯的密文CT*。

圖1 10個算法的關系

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

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

9)*

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

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

F和轉換密鑰中用戶保留的密鑰DK,輸出明文數據m。

4.2 代理重加密方案特性

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

對于任意安全參數k∈N、任意屬性集合S(S?U∪A)、由U中屬性構建的任意訪問結構(M,ρ)和任意數據m∈{0,1}k,若Setup(U,A,k)→(PK,MK)、KeyGen(PK,MK,S)→(SK)、OutKeyGen(SK)→(TK,DK),對在系統中使用的屬性集合S,當S|=(M,ρ)和S|=(M′,ρ′)時,有

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

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

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

3) 可重復性:代理可以對同一密文進行多次重加密。

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

5) 可驗證性:加密方可以對代理進行重加密后的計算結果進行正確性驗證。

4.3 安全模型

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

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

預備階段Adv選擇挑戰的訪問結構(M′′,ρ′′)。

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

階段1敵手可以重復執行以下任何查詢。

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

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

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

階段2Adv繼續階段1的查詢。

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

5 方案構造

方案包括初始化、私鑰生成、加密、外包加密、重加密密鑰生成、重加密、重加密驗證、轉換密鑰生成、外包解密和解密共10個算法。

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

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

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

其中,DA和′ 為虛擬屬性密鑰子項。

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

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

若將該密文設置為不能被重加密,只需去掉密文子項即可。

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

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

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

對密文共享訪問策略計算

最后計算F為

完整的重加密密文*CT為

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

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

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

對密文共享訪問策略計算

最后計算F*為

10) 解密:*

Decrypt(CT,F,DK)

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

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

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

6 特性與安全性分析

6.1 特性分析

1) 單向性

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

2) 非交互性

重加密密鑰計算過程由兩部分構成:在用戶私鑰中嵌入隨機因子和生成隨機因子與新訪問結構相關聯的密文數據。然而這兩部分都可以由用戶客戶端獨立完成,不需要其他信任的第三方和授權中心參與。

3) 可重復性

重加密密鑰由用戶私鑰嵌入了隨機因子后的數據及隨機因子與新訪問結構相關聯的密文數據構成,代理利用該重加密密鑰重加密時,將原始密文轉換為含有隨機因子的半解密密文(此時若知道隨機因子,就可以解密出明文數據),重加密后的密文由原始密文(除了C0)、半解密密文和隨機因子的密文構成。再次重加密時,對隨機因子的密文數據進行相同的操作即可達到多次重加密的目的。

4) 可控性

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

5) 可驗證性

①如果數據所有者想要驗證云服務器代理重加密結果是否正確,只需將密文子項C′、C0′及云服務器代理重加密結果F傳回用戶客戶端,此時用戶客戶端已知gd,故用戶客戶端可以計算

6.2 抗替換攻擊

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

為避免云服務器能夠將重加密密鑰子項和密文子項中的數據唯一標識符η直接替換為其他的數據唯一標識符,該方案采用了隨機化方法,即在重加密密鑰子項rkD中,用A

② 如果數據所有者想要驗證云服務器是否按要求進行外包加密,在將待計算密文項上傳的同時計算挑戰的密文項。在收到返回的密文子項后,將挑戰密文項與返回的對應密文項進行對比,相等即通過驗證。

③ 如果數據所有者想要驗證云服務器是否按要求進行外包解密[33],待用戶客戶端解密出數據m對η進行隨機化,再使用對隨機化;在密文子項C′A中,用rA對η進行隨機化,再使用對隨機化。

6.3 機密性

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

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

預備階段模擬器Adv2啟動敵手Adv1,Adv1選擇一個挑戰訪問結構(M′′,ρ′′),Adv2將其對應的訪問結構樹T傳遞給BSW方案的挑戰者。

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

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

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

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

3) 私鑰查詢Osk(S):敵手 Adv1可重復發出查詢請求。Adv1發出一次查詢后,Adv2對查詢進行如下處理。

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

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

挑戰階段Adv1向Adv2提交2個等長的數據明文m0和m1,Adv2執行如下操作。

階段2Adv1繼續階段1的查詢。

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

7 性能分析

7.1 理論分析

下面從計算和存儲2個方面討論本文所提方案的性能。

1) 計算性能

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

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

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

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

表2 幾種方案的用戶客戶端計算開銷對比

2) 存儲性能

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

表3 幾種方案的私鑰與密文存儲空間占用對比

幾種方案存儲空間占用對比如表3所示。本文方案與文獻[1]方案相比,為了抵抗滿足重加密共享策略的用戶與代理之間的共謀攻擊,用戶私鑰增加了3個G群元素,而用戶數據密文增加了2個G群元素;為了實現重加密可控和可驗證性,各自增加了一個G群元素。故用戶數據密文共增加了7|G|。

7.2 實驗分析

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

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

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

文獻[1,14,18,22-23]方案以及本文方案的用戶客戶端原始密文解密時間對比如圖 4所示,文獻[14,18,22-23]方案和本文方案的用戶客戶端重加密密文解密時間對比如圖5所示。在2種對比方式中,其他方案的解密時間都隨著訪問結構的屬性數量不斷增加,解密時間與屬性數量呈線性關系,而本文方案的解密時間比較穩定,原始密文解密時間約4.5 ms,重加密密文解密時間約30.9 ms。

圖2 用戶客戶端加密時間對比

圖3 重加密密鑰生成時間對比

圖4 用戶客戶端原始密文解密時間對比

圖5 用戶客戶端重加密密文解密時間對比

8 結束語

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

猜你喜歡
用戶
雅閣國內用戶交付突破300萬輛
車主之友(2022年4期)2022-08-27 00:58:26
您撥打的用戶已戀愛,請稍后再哭
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年5期)2016-11-28 09:55:15
兩新黨建新媒體用戶與全網新媒體用戶之間有何差別
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
挖掘用戶需求尖端科技應用
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
100萬用戶
創業家(2015年10期)2015-02-27 07:54:39
主站蜘蛛池模板: 久久黄色视频影| 日韩免费毛片| 國產尤物AV尤物在線觀看| 亚洲精品麻豆| 国产精品视频久| 2022精品国偷自产免费观看| 中文天堂在线视频| 尤物国产在线| 97亚洲色综久久精品| 国产欧美日韩专区发布| 国产H片无码不卡在线视频| 婷婷午夜天| 黑色丝袜高跟国产在线91| 亚州AV秘 一区二区三区| 国产成人精品一区二区三在线观看| 永久天堂网Av| 精品视频福利| 九色在线观看视频| 日韩高清欧美| 婷婷伊人五月| 成年女人a毛片免费视频| 91视频99| 伊人五月丁香综合AⅤ| 思思99思思久久最新精品| 中文字幕亚洲精品2页| 国产区91| 亚洲一区无码在线| 最新无码专区超级碰碰碰| 特级精品毛片免费观看| 一本色道久久88| 深爱婷婷激情网| 国产一区二区三区在线无码| 精品91自产拍在线| 中文字幕人成人乱码亚洲电影| 久久中文字幕不卡一二区| 潮喷在线无码白浆| 亚洲人成在线精品| 国产精品网曝门免费视频| 一级在线毛片| 亚洲女同一区二区| 国产成人精品一区二区三在线观看| 久久成人免费| 老色鬼久久亚洲AV综合| 午夜综合网| 激情无码视频在线看| 精品自窥自偷在线看| 婷婷中文在线| 国产激情无码一区二区APP| 国产成人亚洲精品色欲AV| 中文字幕在线看| 毛片免费高清免费| 狠狠色香婷婷久久亚洲精品| 一本色道久久88亚洲综合| 四虎亚洲精品| 国产黄色片在线看| 91精品福利自产拍在线观看| 伊人激情综合网| 亚洲精品在线91| 九九热免费在线视频| 精品国产污污免费网站| 亚洲第一视频网站| 欧美高清日韩| 黄色国产在线| 免费在线a视频| yy6080理论大片一级久久| 色天堂无毒不卡| 青草午夜精品视频在线观看| 制服丝袜一区| 尤物精品视频一区二区三区| 亚洲中文无码av永久伊人| 欧美成人一区午夜福利在线| 欧美色综合网站| 自拍亚洲欧美精品| 日本免费福利视频| 精品剧情v国产在线观看| 亚洲精品欧美日韩在线| 亚洲午夜18| 国产69精品久久久久孕妇大杂乱 | 91精品国产综合久久不国产大片| 亚洲午夜福利在线| 国产偷国产偷在线高清| 日本午夜三级|