国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

支持屬性撤銷的可追蹤外包屬性加密方案

2019-10-21 08:07:48高嘉昕孫加萌
計算機研究與發(fā)展 2019年10期
關(guān)鍵詞:可驗證挑戰(zhàn)者密文

高嘉昕 孫加萌 秦 靜

(山東大學(xué)數(shù)學(xué)學(xué)院 濟南 250100)

隨著社會發(fā)展,數(shù)據(jù)呈現(xiàn)爆炸性增長,用戶對計算機的存儲和計算能力有了更高要求,由于資源和成本的限制,用戶往往擁有有限的計算和存儲能力,難以達到數(shù)據(jù)處理所需要的條件.在這種背景下,云服務(wù)器的概念就產(chǎn)生了.服務(wù)商平臺陸續(xù)為用戶提供云服務(wù)器來解決用戶的資源受限問題,如華為云、阿里云、百度云等.信息上傳到云服務(wù)器存儲和加密,為用戶帶來便利的同時也出現(xiàn)了安全問題,即云服務(wù)器并不是完全可信的.用戶的敏感信息上傳到云服務(wù)器后,一方面信息脫離了用戶的物理掌控,用戶不能確保信息的隱私性和正確性;另一方面用戶的敏感信息未經(jīng)處理上傳到云服務(wù)器,云服務(wù)器的管理者可以訪問數(shù)據(jù)并竊取敏感信息,數(shù)據(jù)的隱私性遭到破壞.2011~2014年間約有11.4億人遭遇隱私數(shù)據(jù)被泄露的危機.2012年蘋果ICloud的訪問控制出現(xiàn)問題,導(dǎo)致大量用戶存儲在ICloud的數(shù)據(jù)被盜,不僅給用戶造成了巨大的損失,也給蘋果公司的股價和形象帶來了負面影響[1-2].隨著技術(shù)的發(fā)展,訪問控制在云計算中擁有越來越高的地位.而在云計算中,目前應(yīng)用較為廣泛的訪問控制是基于屬性加密技術(shù).

基于屬性的加密(attribute-based encryption, ABE)[3]是一種新型加密原語,在云計算中有著廣泛的應(yīng)用.在ABE體制中用戶的私鑰和密文分別用一組描述屬性和訪問策略標(biāo)記,當(dāng)描述的屬性與訪問策略相關(guān)聯(lián)時,即私鑰與密文相關(guān)聯(lián)時才能正確解密.ABE有2種形式:密鑰策略ABE(key-policy ABE,KP-ABE)和密文策略ABE(ciphertext-policy ABE,CP-ABE).KP-ABE是指密文由屬性標(biāo)記,私鑰由訪問策略標(biāo)記.而在CP-ABE中私鑰由屬性標(biāo)記,密文由訪問策略標(biāo)記,由數(shù)據(jù)發(fā)送方?jīng)Q定訪問策略.ABE體制中用戶可以設(shè)置訪問策略,并決定與訪問策略相關(guān)聯(lián)的屬性,即哪些屬性可以解開密文,因此用戶對數(shù)據(jù)具有靈活的訪問控制權(quán).基于屬性的加密技術(shù)可以在云服務(wù)器不完全可信的情況下,通過訪問控制保障云服務(wù)器中的數(shù)據(jù)安全.但是屬性加密中密鑰分配和解密計算的巨大開銷和存儲量,使得計算能力不足的用戶很難應(yīng)用屬性加密技術(shù)保障信息安全.

為了解決這個問題,Green等人[4]和Zhou等人[5]提出在不泄露隱私數(shù)據(jù)和密鑰的前提下將ABE體制中的解密階段外包給云服務(wù)器計算.即將屬性加密中計算成本大的部分外包給云服務(wù)器計算,解決了用戶計算負擔(dān)過重的問題,也加快了方案的運行效率.文中所構(gòu)造的方案在不受信任的云服務(wù)器環(huán)境下,雖然減少了用戶的計算和存儲開銷,但是用戶無法對服務(wù)器返回的結(jié)果進行驗證.2014年Li等人[6]提出了引用計算委托(refered delegation of computation, RDoC)的模型,首先方案支持密鑰委托生成,將部分密鑰生成過程外包給k個服務(wù)器,在權(quán)限端進行驗證并生成轉(zhuǎn)化密鑰,既加快了方案運行效率,又完善了部分外包計算的可驗證性,解決了用戶不能對返回結(jié)果驗證的問題,這是第1次考慮部分外包ABE的可驗證性;其次將部分解密工作外包給服務(wù)器計算,減少了用戶的計算負擔(dān),通過盲化密鑰保護解密密鑰的安全性.但是該方案中數(shù)據(jù)消息未經(jīng)處理直接發(fā)送給云服務(wù)器,不能有效保護數(shù)據(jù)的隱私性,同時也不支持屬性撤銷和可追蹤性.

本文基于Li等人[6]的ABE方案構(gòu)造了一個可驗證的外包KP-ABE方案,本文方案使用具有高表達性的樹形訪問策略,提供了更細粒度的訪問控制,豐富了屬性之間的邏輯關(guān)系;將加密階段分為線上、線下2部分進行,線下加密指將部分只需要公鑰進行的計算轉(zhuǎn)移至線下進行,既減少用戶計算存儲量,又有效保護用戶數(shù)據(jù)的隱私性;面對不可避免的用戶訪問權(quán)限變更問題,本文通過重加密的方法生成重加密密鑰更新屬性與密文,間接撤銷單個屬性,達到細粒度屬性撤銷,實現(xiàn)用戶的動態(tài)加入及退出;最后將用戶身份嵌入到用戶私鑰中,通過泄露的密鑰即可追蹤到用戶身份,有效解決了密鑰的泄露問題,防止合謀攻擊.

1 相關(guān)工作

1.1 基于屬性的加密

ABE體制最初由Sahai和Waters[3]于2005年提出,正式提出了滿足可容忍誤差性和防止串謀攻擊性的生物識別技術(shù)與基于屬性加密技術(shù).文中首次將身份與一組屬性相關(guān)聯(lián),并正式給出了基于多項式插值的ABE具體構(gòu)造方案.隨后2006年Goyal等人[7]提出了由數(shù)據(jù)接收方規(guī)定訪問策略的KP-ABE,解決了基于屬性加密技術(shù)無法支持靈活的訪問控制問題.2007年Bethencourt等人[8]首次詳細描述了CP-ABE方案以及CP-ABE的特性,文中所構(gòu)造的CP-ABE方案的訪問控制由更為靈活的樹形訪問結(jié)構(gòu)描述,在典型的訪問控制樹中,非葉子節(jié)點為陷門,葉子節(jié)點為屬性值.樹形訪問結(jié)構(gòu)也是ABE方案中應(yīng)用較為廣泛的訪問控制.

在實際應(yīng)用中,ABE系統(tǒng)也難免面臨著用戶權(quán)限的改變、用戶的刪除與更新等問題,在2010年Yu等人[9]提出了CP-ABE的屬性撤銷方案.在這篇文章中采用了半可信的代理服務(wù)器進行代理重加密技術(shù),在撤銷屬性時只需生成重加密密鑰即可,并在文中提出了KP-ABE的大屬性空間撤銷方案.但是ABE中關(guān)于訪問結(jié)構(gòu)中關(guān)聯(lián)的一系列屬性以及其他運算的高額運算量依舊沒有得到解決,Hohenberger和Waters在2014年提出了線上線下ABE[10],通過將部分計算轉(zhuǎn)移到線下減少線上的計算量,有效地提高計算效率,減少用戶的計算量.

隨著互聯(lián)網(wǎng)的快速發(fā)展,移動終端與云存儲的結(jié)合成為未來趨勢,但是移動終端的計算資源受限,傳統(tǒng)的屬性加密技術(shù)往往需要大量的計算,給屬性授權(quán)機構(gòu)和移動終端帶來嚴重的計算負擔(dān),相關(guān)學(xué)者提出將外包計算與屬性加密技術(shù)相結(jié)合達到減少用戶計算負擔(dān)的目的.2017年,Zhao等人[11]提出了面向移動云計算的外包ABE方案.該方案支持加密外包和解密外包,解決了基于屬性加密的高效性帶來的解密計算中的高額計算量.Fan等人[12]提出了一種多授權(quán)中心的可驗外包計算.Zhang等人[13]提出一種完全外包ABE方案,即將密鑰生成、加密和解密都外包給云服務(wù)商,并且完成了方案的安全性證明.但該方案無法完成外包計算正確性的驗證,而可驗證性對于正確計算至關(guān)重要.Li等人[14]提出一種新的可驗證外包解密計算,該方案只實現(xiàn)了解密外包,而數(shù)據(jù)擁有者仍然需要大量計算完成數(shù)據(jù)加密任務(wù).2014年Li等人[6]提出了一個同時支持密鑰生成和解密外包的屬性加密方案,將密鑰生成和部分解密工作外包給不同的服務(wù)器計算,使得資源受限的用戶也可以進行計算繁重的任務(wù).該方案不僅減輕了用戶的計算負擔(dān),也對返回結(jié)果的正確性進行驗證,但是方案中用戶上傳到云服務(wù)器的數(shù)據(jù)隱私性等問題仍沒有解決.

2019年Zhao等人[15]提出一種可驗證的完全外包的CP-ABE方案,即將密鑰產(chǎn)生、加密和解密都外包給云服務(wù)商,并完善了完全外包方案的可驗證性,并且給出了該方案的選擇明文攻擊下的不可區(qū)分性安全和可驗證安全性證明.

1.2 外包計算

外包計算是一項新興技術(shù),它有效地解決了計算能力及存儲空間不足等問題.Chaum等人[16]在1995年提出了外包密碼運算的雛形,即通過在用戶的設(shè)備上安裝安全的硬件來幫助用戶完成復(fù)雜的計算.隨后在2005年Hohenberger等人[17]給出外包計算的安全定義,并且提出了一個全新的外包計算方案,文中具體算法是基于模指數(shù)運算提出的.2010年Gennaro等人[18]首次提出了非交互式可驗證計算的概念,并且基于混淆電路和全同態(tài)加密提出一個適用于任意運算的可驗證的外包計算,將待計算的函數(shù)轉(zhuǎn)化成相對的電路函數(shù).2011年Green等人[4]給出了支持解密運算外包的基于屬性加密方案,但是方案沒有考慮到用戶對于返回結(jié)果的驗證問題.隨后Lai等人[19]通過增加密文冗余的方法改善了之前不支持外包計算結(jié)果的正確性驗證.

Dong等人[20]提出了基于雙線性對的完全可驗證安全外包.2014年Li等人[6]提出了一個同時支持密鑰生成和解密外包的屬性加密方案,既能達到將計算外包的目的,也可以對返回結(jié)果的正確性進行驗證.隨后出現(xiàn)了大量以數(shù)學(xué)運算為基礎(chǔ)的安全外包,2015年Chen等人[21]利用稀疏矩陣提出一個安全的矩陣外包方案.2016年Yu等人[22]對大規(guī)模線性方程組求解的安全外包進行了深入研究,2017年Kumar等人[23]提出了對于惡意的云服務(wù)器如何利用矩陣乘法安全外包.

1.3 線上線下技術(shù)

最初在1989年Even等人[24]提出了線上線下簽名的概念,作者在線下進行簽名的高計算率部分,將輕量級的計算在線上進行,雖然有效減少了計算量,但是增加了簽名的長度.隨后,2001年Shamir等人[25]提出了一個更高效的線上線下簽名方案,所提出的線上線下簽名無需將簽名的長度增加一個二次因子.

2008年Guo等人[26]正式提出基于身份的線上線下加密方案,在這個方案中將加密過程分成線上加密和線下加密2個部分,線下完成大部分加密計算,但不知道消息與接收方的身份,保存部分密文,線上只需要進行少量的加密計算即可得到密文.線上線下加密既有效保護信息安全性,又減少存儲空間和計算成本的浪費.

2 預(yù)備知識

2.1 符 號

本文所用到的縮略詞如表1所示:

Table 1 Related Terms and Their Acronyms

其中,本文中屬性機構(gòu)AA是可信任的,但密鑰生成服務(wù)商KGSP、云存儲服務(wù)商SSP和解密服務(wù)商DSP是“誠實且好奇”(honest but curious)的,即云服務(wù)器會遵守協(xié)議,但是會試圖獲取更多的隱私信息.

2.2 相關(guān)定義

定義1.訪問結(jié)構(gòu).設(shè){P1,P2,…,Pn}為n個參與者的集合,如果?B,C滿足B∈A,B?C,則C∈A,集合A?2{P1,P2,…,Pn}是單調(diào)的.其中屬于A的集合稱為認證集.此外本文定義γ(·,·),

定義2.訪問樹.在一棵訪問樹中,其根節(jié)點為r,所有的葉子節(jié)點m均為輸入的屬性值,每一個節(jié)點關(guān)聯(lián)一個dm階多項式qm(·),其中dm=km-1,km為該節(jié)點的門限值.所有的非葉子結(jié)點m則是門限值為km的陷門,其中非葉子節(jié)點m擁有numm個孩子節(jié)點.在訪問樹中,定義操作:

parent(m)表示節(jié)點m的父節(jié)點,children(m)表示節(jié)點m的子節(jié)點,index(m)表示兄弟節(jié)點中的序號,att(m)表示葉子節(jié)點所關(guān)聯(lián)的屬性.

定義3.雙線性映射.設(shè)置2個階為素數(shù)q的乘法循環(huán)群G和GT,g是G的一個生成元.存在一個雙線性映射e:G×G|→GT,滿足3個屬性:

2) 非退化性.?g1,g2∈G滿足e(g1,g2)≠1.

3) 可計算性.?g1,g2∈G,計算e(g1,g2)是有效函數(shù).

2.3 困難假設(shè)

定義4.判定雙線性Diffie-Hellman問題(decision bilinear Diffie -Hellman problem, DBDH).假設(shè)給定一個四元組(g,ga,gb,gc),其中g(shù)是階為q的乘法循環(huán)群G的生成元,a,b,c,z∈Zq,區(qū)分2個四元組(ga,gb,gc,e(g,g)abc)和(ga,gb,gc,e(g,g)z).如果對于多項式時間內(nèi)解決DBDH的概率是可以忽略的,就說DBDH問題是困難的.

3 模型定義

3.1 VDC-KP-ABE方案模型

圖1給出本文所提VDC-KP-ABE(delegation of computation KP-ABE with verifiability)方案模型.

Fig.1 System model for this paper圖1 本文方案的模型

用戶向AA請求密鑰,AA將密鑰生成階段外包給KGSP[i]進行,對返回結(jié)果進行檢驗后將密鑰發(fā)送給用戶.用戶將密文發(fā)送到SSP存儲,解密過程中,用戶從SSP中搜索下載密文,并將解密工作外包給DSP進行,用戶可以對返回結(jié)果進行驗證.

在密鑰分配過程中,為了防止KGSP與DSP串通下的不誠實行為,利用AA生成的d-1階隨機多項式gRG(·),將gRG(·)與另一個多項式以隨機的順序發(fā)送給KGSP[i].KGSP利用多項式生成部分轉(zhuǎn)化密鑰,AA只需要檢驗由gRG(·)計算的部分轉(zhuǎn)化密鑰即可.

記A為訪問策略,ω為屬性集合.

根據(jù)系統(tǒng)模型,算法定義:

1) 初始化算法

Setup(λ)→(PK,MK):AA運行該算法,輸入為系統(tǒng)的安全參數(shù)λ.輸出為公鑰PK和主密鑰MK.

2) 密鑰生成

KeyGeninit(A,MK,ID)→(S[i]REAL,SRG):AA運行密鑰生成初始化算法,輸入屬性訪問策略A和主密鑰MK,輸出一對外包密鑰集(OKKGSP[i],OKAA)和一組基于外包密鑰OKKGSP[i]生成的數(shù)對(S[i]REAL,SRG).

KeyGenout(S[i]REAL,SRG)→(TKKGSP[i],TKRGi):KGSP[i]被委托計算部分轉(zhuǎn)化密鑰,即運行密鑰生成算法.算法中的輸入為(S[i]REAL,SRG),最終輸出部分轉(zhuǎn)化密鑰對(TKKGSP[i],TKRGi).

KeyGenin(A,OKAA)→TKAA:由AA運行內(nèi)部密鑰生成算法,輸入為樹形訪問策略A和AA的外包密鑰OKAA,輸出另一個部分轉(zhuǎn)化密鑰TKAA.

KeyCheck(TKKGSP[i],TKRGi,ID)→TK:AA對KGSP發(fā)回的結(jié)果進行檢驗,通過驗證后輸出轉(zhuǎn)化密鑰TK.

KeyBlind(TK)→(SK,TK′):由AA計算,輸入轉(zhuǎn)化密鑰TK,輸出私鑰SK和盲化密鑰TK′.

3) 加密算法

Encryptoff(PK)→CToff:線下執(zhí)行加密算法,輸入公鑰PK,輸出部分密文CToff.

EncryptU(M,CToff,γ)→(CT,VK):用戶進行加密計算,輸入消息M、加密屬性γ和部分密文CToff,輸出密文CT和驗證密鑰VK.

4) 解密算法

Decryptin(CTpart,SK,VK)→M⊥:用戶執(zhí)行最后解密算法,輸入部分解密密文CTpart、私鑰SK和驗證密鑰VK,首先對DSP返回結(jié)果進行驗證,若通過驗證,輸出明文M,否則輸出⊥.

5) 屬性撤銷

ReKeyGen(θ,MK)→rk:由AA計算,輸入更新的屬性集θ,和主密鑰MK生成重加密密鑰rk.

ReEnc(E,rk,β)→CT′:輸入屬性集β、密文CT和重加密密鑰rk,輸出更新后的密文CT′.

ReKey(SK,rk)→SK′:輸入密鑰SK和重加密密鑰rk,輸出更新后的密鑰SK′.

6) 追蹤算法

單JSON 格式也存在諸多問題,保密性不高,缺少專用的加密技術(shù)框架,導(dǎo)致JSON 存在泄密的可能。JSON 數(shù)據(jù)和XML 數(shù)據(jù)功能結(jié)構(gòu)的相似性,且有成熟的加密技術(shù)框架。因此,采用XML 的加密傳輸技術(shù)對JSON 數(shù)據(jù)進行出加密傳輸。XML 通常的加密方式是加構(gòu)建在PKI 體系結(jié)構(gòu)上。但PKI 體系存在認證效率低,數(shù)字證書管理復(fù)雜等問題[3]。

Trace(SK)→ID:輸入密鑰SK,對密鑰進行驗證是否為正常,如果通過驗證,則可以得知密鑰所屬用戶的ID.

3.2 安全模型

1) 選擇安全性游戲

考慮未授權(quán)和授權(quán)已撤銷2種攻擊者,重加密密文與原始密文分布相同,因此只討論原始密文的安全性.本文針對所提出的VDC-KP-ABE方案描述攻擊者A與挑戰(zhàn)者B之間的游戲如下:

初始化.攻擊者A選擇要挑戰(zhàn)的一個屬性集合和撤銷的屬性列表發(fā)送給挑戰(zhàn)者B.

系統(tǒng)建立.挑戰(zhàn)者B運行本文方案的Setup階段,將公鑰發(fā)送給攻擊者.

詢問階段1.攻擊者可以詢問關(guān)于訪問策略屬性的私鑰,其中屬性不屬于訪問策略,或者屬性屬于撤銷屬性列表中.

挑戰(zhàn):挑戰(zhàn)者對于攻擊者發(fā)送的消息M0,M1,挑戰(zhàn)者隨機投擲一枚硬幣v∈{0,1},在屬性集和撤銷的屬性列表下對Mv進行加密,并將結(jié)果返回給攻擊者A.

詢問階段2.重復(fù)詢問階段1的步驟.

猜測.攻擊者輸出對v的猜測v′,若v′=v,則攻擊者贏得游戲.

2) 可驗證性游戲

可驗證性可以驗證外包階段的算法是否有被正確執(zhí)行.通過攻擊者A與挑戰(zhàn)者B之間的交互描述VDC-KP-ABE方案的可驗證性.

初始化.攻擊者A選擇要挑戰(zhàn)的2個Hash函數(shù).

系統(tǒng)建立.挑戰(zhàn)者B運行本文方案的Setup階段,將公鑰發(fā)送給攻擊者,自己保留主私鑰.

詢問階段1.挑戰(zhàn)者B按照方案算法生成方式適應(yīng)性回答攻擊者A的詢問

挑戰(zhàn).攻擊者A提交一個密文M*和一個訪問策略A*,挑戰(zhàn)者B運行Enc算法獲得密文CT*和驗證密鑰VK*.

詢問階段2.重復(fù)詢問階段1的步驟,但是攻擊者不可以詢問屬于訪問策略A*的屬性.

猜測階段.A輸出轉(zhuǎn)換密文CT*part.若Decryptin(CT*part,RK*,VK*)?(m*,⊥),則攻擊者A贏得了游戲.

定義6.可驗證性安全.若無多項式時間攻擊者以不可忽略的優(yōu)勢攻破上述安全模型,那么我們就說本文提出的方案具有可驗證性.

4 本文方案

在密鑰委托生成過程,本文利用一個混合密鑰策略Policy=PolicyKGSP∧PolicyAA,其中∧是連接2個子策略的和門,PolicyKGSP是用于用戶請求的屬性集,PolicyAA是用于一個“不重要”的屬性.稱之為“不重要”屬性的原因是每個請求的屬性集都附加一個對整個訪問控制策略沒有影響的“不重要”屬性θ.利用這個技巧可以隨機生成一個外包密鑰OKKGSP,無需主密鑰和私鑰的前提下,將密鑰生成階段外包給KGSP進行.

4.1 VDC-KP-ABE方案構(gòu)造

1) 初始化算法

Setup(1λ):定義屬性全集U和身份全集I.首先,將全集U和I中的屬性定義為Zq中的元素.簡單起見取Zq中前n個元素為全集.定義Hash函數(shù)H:{0,1}*→Zp,H0:{0,1}*→{0,1}λ,H1:{0,1}2λ→{0,1}*.選擇一個生成元g∈RG,整數(shù)x,a,w,w1,w2,…,wn∈RZq,并設(shè)g1=gx,W=gw,Wi=gwi,選擇元素g2∈RG.最終輸出公鑰PK=(g,g1,g2,W,W1,…,Wn,H,H0,H1)和主私鑰MK=(x,a,w,w1,…,wn).

2) 密鑰生成

KeyGeninit:AA選擇x11,x12∈RZq,并設(shè)OKAA=x2=x-x11-x12modq.接下來隨機選取dm階多項式fm(·),pm(·).滿足:

①i=att(m)時,fm(i)=pm(i);

②fm(0)=x11;

③pm(0)=x12;

④fm(i)+pm(i)=qm(i),其中i=att(m),att(m)表示葉子節(jié)點所關(guān)聯(lián)的屬性.

選擇一個隨機多項式gRG(·).此外,選取rKGSP[1],i,rKGSP[2],i,rRG,i∈Zp,滿足rKGSP[1],i=rKGSP[2],i,ri=rKGSP[1],i+rKGSP[2],i,i=att(m).最后,AA將(S[1]REAL,SRG),(S[2]REAL,SRG)分別發(fā)送給KGSP[1],KGSP[2].其中:

S[1]REAL=(fm(0)H(ID),{rKGSP[1],i}i=att(m)),
S[2]REAL=(pm(0)H(ID),{rKGSP[2],i}i=att(m)),
SRG=(gRG(·),{rRG,i}i=att(m)).

KeyGenout:KGSP[j]計算部分轉(zhuǎn)化密鑰,即TKKGSP[j]=({d[j]i0,d[j]i1}i=att(m))和TKRGj=({d[RGj]i0,d[RGj]i1}),并將(TKKGSP[j],TKRGj)發(fā)送給AA.其中:

KeyCheck:AA檢查所有的KGSP都是正確的輸出,也就是檢驗

d[1]i0=d[2]i0,d[1]i1=d[2]i1;

d[RG1]i0=d[RG2]i0,d[RG1]i1=d[RG2]i1;

其中,i=att(m).

通過計算di0=d[1]i0·d[2]i0,di1=d[1]i1×d[2]i1,i=att(x)將部分轉(zhuǎn)化密鑰合并,并輸出轉(zhuǎn)化密鑰TK=({di0,di1}i∈A∪θ).

3) 加密算法

Encryptoff:選擇一個隨機數(shù)s∈RZq,然后計算K=e(g1,g2)s,C0=gs,Ci=(g1Wi)s,生成部分密文CToff=(K,C0,{Ci}i∈U).

EncryptU:用戶在明文后附加一串冗余,即MT=M‖0k,用來在解密后檢驗DSP是否有不誠實行為;計算C1=MT×KH(ID),VK=H1(H0(KH(ID))‖C1),生成密文CTS=(γ∪θ,C1,C0,{Ci}i∈γ∪{θ})和驗證標(biāo)志.

4) 解密算法

Dncryptout:首先定義一個遞歸算法DecryNode(E,D,m),記i=att(m).

① 若m是葉子節(jié)點,則:

② 若m非葉子節(jié)點,那么對于m的任意孩子節(jié)點z調(diào)用遞歸算法DecryNode(E,D,m),并將輸出記為Fz.Sm是任意numm個子節(jié)點的集合,則:

若密文滿足訪問策略樹,則該遞歸算法將返回計算結(jié)果:

e(g,g2)xtsH(ID)=e(g1,g2)tsH(ID).

用戶檢查是否附有一個冗余0k.如果是,則可以得到M;否則DSP則存在不誠實的行為,輸出終止符⊥.

5) 屬性撤銷

6) 追蹤算法

驗證用戶身份密鑰是否滿足e(D0,g)=e(D1,g)e(g1,g),當(dāng)通過密鑰檢查時,可直接通過D2查詢擁有密鑰的用戶身份.

4.2 分 析

4.2.1 安全性分析

4.2.1.1 選擇性安全

定理1.在DBDH的假設(shè)下本文所構(gòu)造的VDC-KP-ABE方案具有不可區(qū)分選擇明文攻擊(indistinguishable chosen-plaintext attack, IND-CPA)安全.

證明. 若攻擊者可以在一個概率多項式時間內(nèi)以不可忽略的優(yōu)勢ε在IND-CPA安全模型下攻破本文方案,那我們就能創(chuàng)建一個挑戰(zhàn)者B能夠以不可忽略的優(yōu)勢解決DBDH問題.因此在分析中我們主要的任務(wù)是提供一個挑戰(zhàn)者和攻擊者之間的真實方案的正確模擬.

假設(shè)挑戰(zhàn)者隨機翻轉(zhuǎn)一個二進制硬幣μ.當(dāng)μ=0時,四元組為(X=gx,Y=gy,Z=gz,T=e(g,g)xyz);否則,四元組為(X=gx,Y=gy,Z=gz,T=e(g,g)v).其中x,y,z,v∈Zq,挑戰(zhàn)者B輸出μ′作為μ的猜測值.

1) 初始化

挑戰(zhàn)者B運行身份為ID的攻擊者A,并且接受挑戰(zhàn)屬性集ω和撤銷列表R.

2) 系統(tǒng)建立

3) 查詢階段1

grKGSP[b],i}i∈U-R),

挑戰(zhàn)者B設(shè)置

① 當(dāng)詢問的屬性滿足訪問結(jié)構(gòu),但詢問的屬性屬于撤銷列表時,

② 不滿足訪問結(jié)構(gòu)時,

此外,di0=d[b]i0×d[1-b]i0,di1=d[b]i1×d[1-b]i1,其中i∈U,挑戰(zhàn)者B將計算TK=({di0,di1}i∈(U-R)∪θ),并設(shè)置j=j+1,將(j,ω,·,x1b,x1(1-b),·)加入T后,返回x1b.

挑戰(zhàn)者B驗證(i,ω,·,x1b,x1(1-b),·)是否存在T中,若存在,則返回私鑰SK;否則返回終止符⊥.

4) 挑戰(zhàn)

攻擊者A向挑戰(zhàn)者B提交2個明文M0,M1.挑戰(zhàn)者B隨機投擲硬幣v,選擇隨機數(shù)r∈RZP,并返回明文Mv加密后的結(jié)果,密文被模擬為

CT*=(ω∪θ,rMvTH(ID),gz,g-zα,{gzαi}i∈ω∪θ).

注意:

① 如果μ=0,則T=e(g,g)xyz.如果s=z,則:

其中,i∈ω∪θ.

② 如果μ=1,則T=e(g,g)v,那么C0=rMve(g,g)v.因為v是隨機的,在攻擊者A的視圖里C0也是隨機的,因此加密后的消息不包含Mv的任何信息.

5) 查詢階段2

重復(fù)查詢階段1.

6) 猜測

攻擊者A提供一個v的猜想v′.如果v′=v,挑戰(zhàn)者B會輸出μ′=0表示它是一個DBDH四元組.否則,它是一個隨機四元組.

證畢.

4.2.1.2 可驗證性安全

定理2.假設(shè)H0和H1抵抗合謀攻擊的Hash函數(shù),那么VDC-KP-ABE方案具有可驗證性.

證明.

假設(shè):若攻擊者A可以攻破本文方案的可驗證性,那我們就能創(chuàng)建一個挑戰(zhàn)者B能夠以不可忽略的優(yōu)勢攻破Hash函數(shù)的抵抗合謀攻擊特性.

初始化:攻擊者提交2個Hash函數(shù)(H*0,H*1).

系統(tǒng)建立:挑戰(zhàn)者執(zhí)行Setup階段,然后用(H*0,H*1)替換公鑰中的(H0,H1).

階段1:B按照方案算法生成方式適應(yīng)性回答攻擊者A的詢問.

挑戰(zhàn)階段:攻擊者A提交一個密文M*和一個訪問策略A*,挑戰(zhàn)者運行Enc算法獲得密文CT*和驗證VK*.

階段2:B按照方案算法生成方式適應(yīng)性回答攻擊者A的詢問,攻擊者不可以詢問屬于訪問策略A*的屬性.

猜測階段:攻擊者A輸出轉(zhuǎn)換密文CT*part=(C1,B).

若攻擊者A攻破可驗證性,則挑戰(zhàn)者B可以從Decryptin(CT*part,RK*,VK*)恢復(fù)出明文.

計算攻擊者A成功的概率,只需考慮2種情況:

① (H0(R),C1)≠(H0(R)*,C*1),因為B知道(H0(R)*,C*1),則B得到Hash函數(shù)H*1的碰撞值.

② (H0(R),C1)=(H0(R)*,C*1),但R≠R*,因為H*0(R)≠H*0(R*),則H*0抗合謀性將被攻破.

綜上所述,完成定理2的證明.

證畢.

4.2.2 效率

本節(jié)從理論上分析密鑰生成、加密過程和解密過程的計算開銷,將本文構(gòu)造方案與文獻[3,6,13]中方案進行計算效率對比.其中,E表示G中指數(shù)計算,P表示對計算,M表示群乘法計算.另外W表示屬性集的大小,d表示陷門值,l表示線性秘密共享(LSSS)中生成矩陣的行數(shù).指數(shù)、群乘法運算和雙線性對的計算量相對于其他計算需要更多的計算時間,因此本文忽略了次要因素.

本文方案和文獻[3,6,13]中方案的效率對比如表2所示.文獻[3]中是原始ABE方案,與文獻[3]中方案對比,本文方案將密鑰分配和解密工作外包,并且可驗證外包結(jié)果正確性,同時用戶計算量減少,緩解了資源受限用戶的計算負擔(dān)問題,加快了方案運行效率,且支持屬性撤銷與用戶追蹤.與文獻[13]方案相比,本文方案支持外包計算的可驗證性,且計算效率更高.與文獻[6]中ABE方案相比,本文構(gòu)造的方案使用線下加密,既減少線上加密時間、加快方案效率,又有效保護用戶數(shù)據(jù)的安全性,同時支持屬性撤銷和用戶可追蹤.

Table 2 Comparison of Efficiency

Note: The tick indicates that this function is supported in the article, and the cross indicates that this function is not supported in the article.

5 總 結(jié)

為了滿足計算、存儲能力不足用戶的訪問需求,本文構(gòu)造了將密鑰分配和解密過程外包的屬性加密方案,并且能夠驗證外包計算的正確性.該方案支持屬性撤銷,并且可追蹤泄露密鑰的用戶.本文方案應(yīng)用樹形訪問策略,達到更細粒度的訪問控制;其次方案將加密過程分為在線階段和離線階段,離線階段利用已知的公鑰進行部分加密,既有效保護用戶數(shù)據(jù)的隱私性,又減輕了用戶的計算負擔(dān);針對實際應(yīng)用中用戶訪問權(quán)限的變更,本文方案通過使用重加密的方法更新密文與密鑰,支持基于訪問樹的細粒度屬性撤銷,并將用戶身份嵌入到用戶密鑰中,既防止合謀攻擊,又可以通過密鑰追蹤到用戶身份.最后,在標(biāo)準(zhǔn)模型下基于DBDH假設(shè)證明了本文方案是IND-CPA安全的.

猜你喜歡
可驗證挑戰(zhàn)者密文
一種針對格基后量子密碼的能量側(cè)信道分析框架
“挑戰(zhàn)者”最后的絕唱
一種支持動態(tài)更新的可排名密文搜索方案
基于模糊數(shù)學(xué)的通信網(wǎng)絡(luò)密文信息差錯恢復(fù)
“可驗證”的專業(yè)術(shù)語解釋
閃電遠擊俠“挑戰(zhàn)者”2
一種基于區(qū)塊鏈技術(shù)的可信電子投票方法
云計算視角下可驗證計算的分析研究
挑戰(zhàn)者 敢闖敢創(chuàng)激發(fā)無限可能
挑戰(zhàn)者
鄢陵县| 禹州市| 城步| 上林县| 柞水县| 汉中市| 邯郸市| 呼伦贝尔市| 浑源县| 衡东县| 四平市| 勐海县| 中山市| 轮台县| 廉江市| 宁河县| 遵义县| 大宁县| 稻城县| 杭锦旗| 台前县| 景谷| 平顺县| 鹤岗市| 庆安县| 抚顺市| 甘南县| 肇东市| 邢台县| 来宾市| 宜丰县| 瓦房店市| 原平市| 贵德县| 开远市| 尉氏县| 陈巴尔虎旗| 潞西市| 乐亭县| 北宁市| 莱西市|