• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于擴展屬性基功能加密的有效外包計算

    2018-08-28 08:52:28楊曉元王緒安
    計算機應用 2018年6期
    關鍵詞:敵手私鑰密文

    李 聰 ,楊曉元,王緒安

    (1.武警工程大學密碼工程學院,西安710086; 2.網(wǎng)絡與信息安全武警部隊重點實驗室,西安710086)

    (*通信作者電子郵箱wugongcong@163.com)

    0 引言

    2005年,Sahai等[1]首次提出屬性基加密(Attribute-Based Encryption,ABE)的概念,實現(xiàn)了根據(jù)不同的訪問策略加解密。然而,現(xiàn)有方案僅僅實現(xiàn)了簡單的單一功能,每一個單獨的加密方案只能定義一種特殊的訪問策略場景。在一些應用場景中,僅僅定義一個訪問結(jié)構(gòu)很難完成一個加密方案。例如,在一個醫(yī)療信息系統(tǒng)中,醫(yī)生要想訪問病人的健康記錄系統(tǒng),應該根據(jù)他們的專業(yè)技能(一組涵蓋專業(yè)技能的屬性)以及他們多年的醫(yī)療實踐經(jīng)驗(一組年經(jīng)驗值在特定范圍內(nèi)的屬性)。盡管一些現(xiàn)有的方案,比如ABE支持基于第一個標準(專業(yè)技能)的訪問策略,但它們不能有效地描述第二個標準(年經(jīng)驗)作為價值范圍的約束。反之亦然,支持第二個訪問策略的現(xiàn)有方案,也不能有效描述第一個標準。

    鑒于這些困難,研究人員積極尋求一種新型包含不同功能的加密系統(tǒng)。2010年歐洲密碼學年會上,Lewko等[2]首次提出了功能加密(Functional Encryption,F(xiàn)E)的概念,突破了傳統(tǒng)公鑰密碼方案的以上限制,它能支持靈活的密文解密表達式,具有很強的實用性。FE是一種新型加密方法,通過對敏感數(shù)據(jù)的細粒度訪問控制,實現(xiàn)了不同功能加密系統(tǒng),比如基于身份的加密、可搜索的加密和基于屬性的功能加密。2011年,Boneh等[3]給出了功能加密的定義,功能加密通過功能性函數(shù)F:∑K×∑C→{0,1}*,實現(xiàn)密鑰與密文更加靈活的對應關系。在功能加密系統(tǒng)中,用戶擁有的私鑰能夠求解加密數(shù)據(jù)的一個函數(shù)即功能性函數(shù)。這個函數(shù)決定了擁有密鑰k的用戶能從加密數(shù)據(jù)中獲取明文的信息x,這使得密文的訪問能力是由關系式?jīng)Q定的。由于允許用戶對敏感數(shù)據(jù)定義更加細粒度和靈活的訪問控制策略,因此具有很強的實用性,適用于許多訪問控制應用場景,如個人數(shù)據(jù)云計算中的隱私保護。

    許多傳統(tǒng)的加密方案可以看作是功能加密方案(FE)的一種特殊情況,Sahai等[1]提出支持閾值訪問策略 ABE。Goyal等[4]提出支持單調(diào)訪問結(jié)構(gòu)的ABE方案,并根據(jù)訪問策略嵌入密文中或者用戶私鑰中,將ABE方案分為密文策略ABE(Ciphertext-Policy ABE,CP-ABE)和密鑰策略ABE(Key-Policy ABE,KP-ABE)。Katz等[5]在歐洲密碼學年會上提出了謂詞加密(Predicate Encryption,PE),并構(gòu)建了一個內(nèi)積關系加密(Inner Product Encryption,IPE)方案。

    屬性基功能加密作為一種新型的加密方案,其用戶私鑰和密文與屬性相關聯(lián),非常適用于云存儲環(huán)境下數(shù)據(jù)安全共享、細粒度訪問控制和安全存儲等。2010年,Okamoto等[6]提出了包含ABE和IPE[7]兩個功能的加密方案,因此能夠描述范圍廣泛的訪問策略。然而,他們的方案只是功能加密(FE)巨大潛力中的一個個別案例。2014年,Huo等[8]提出了基于擴展屬性功能加密的集成方案(Key Policy-Attribute Based Encryption-Attribute Extension,KP-ABE-AE),通過“擴展屬性”可以定義各種復雜的訪問策略,從而集成FE方案實現(xiàn)多種功能。在解密階段,擴展屬性基加密方案密文的大小和解密時間隨著訪問公式的復雜性而增長,同時訪問策略需要判斷是否存在擴展屬性,根據(jù)不同的屬性進行解密計算,這大大增加了解密時間,不適合應用于小型移動設備。

    當前基于屬性功能加密方案的密文長度和解密時間隨著屬性數(shù)增加而增加;同時方案的構(gòu)建也是基于群中的雙線性對,密文需要兩個群元素對應公式中的每個節(jié)點,而解密則需要滿足公式對中每個節(jié)點進行配對。傳統(tǒng)的臺式計算機能夠處理這種典型公式計算,但是對于管理和查看移動設備上私有數(shù)據(jù)的用戶來說是一個巨大的挑戰(zhàn),因為移動設備處理器比臺式機慢一到兩個數(shù)量級,而且電池壽命是一個持久的問題。隨著云計算的發(fā)展,用戶可以通過亞馬遜的EC2和微軟的Windows Azure等云服務[9-12]來購買按需計算服務。

    為有效節(jié)省用戶端的解密運算時間,本文提出對功能加密方案的復雜計算進行安全外包(如圖1)。首先通過對密鑰生成算法進行改進,相比傳統(tǒng)的外包密鑰生成算法有效減少了外包密鑰運算次數(shù)和生成時間,外包轉(zhuǎn)換密鑰包括外包轉(zhuǎn)換公鑰tkout和外包轉(zhuǎn)換私鑰skout(保密)。在解密運算階段,用戶將外包轉(zhuǎn)換公鑰tkout和密文CT傳送給云服務器,云服務器利用轉(zhuǎn)換公鑰tkout對密文進行運算生成部分解密密文CT',用戶端利用轉(zhuǎn)換私鑰skout對短密文CT'進行簡單的指數(shù)運算即可解密密文。其次,本文利用兩個哈希函數(shù)對外包運算結(jié)果進行有效驗證,確保外包計算結(jié)果的正確性。同時,引入一個對稱加密方案,運用對稱加密方案加密明文,運用功能加密方案加密對稱密鑰,大大提升了加解密速度,減小了密文大小。另外,本文還實現(xiàn)了對擴展屬性基功能加密的可驗證外包解密(Verifiable Outsourcing Key-Policy ABE Attribute Extension,VO-KP-ABE-AE)實例化應用,將IPE與KP-ABE功能集成在一起,實現(xiàn)了更高性能的功能解密方案。

    1 基礎知識

    定義1 功能加密(FE)[13]。定義功能函數(shù) F:∑K×∑C→{0,1}*,其中∑K是密鑰描述空間,∑C是密文描述空間,功能加密方案由以下四個算法組成:

    1)Setup(1n,des):該算法輸入安全參數(shù)1n和方案描述des,輸出共公參數(shù)pp和主私鑰msk。

    2)KeyGen(pp,msk,X):該算法輸入主私鑰 msk、共公參數(shù)pp和密鑰描述X∈∑K,輸出相應私鑰sk。

    3)Encrypt(pp,M,Y):該加密算法輸入公共參數(shù) pp、明文M和密文描述Y∈∑C,輸出密文ct。

    4)Decrypt(pp,sk,ct):該解密算法是輸入公共參數(shù) pp、私鑰sk和密文ct。假如F(X,Y)=1,則輸出明文M,否則輸出⊥。

    功能加密主要關注的是訪問控制的功能,即通過合適的訪問控制來決定是否可以獲得明文。

    圖1 外包解密Fig.1 Outsourced decryption

    定義2 雙線性映射。令p是一個大素數(shù),G,GT是兩個以素數(shù)p為階的乘法循環(huán)群,g是G的生成元,則雙線性映射e:G×G→GT滿足以下性能:

    1) 雙線性性:對于任意的 a,b∈ Zp,有 e(ga,gb)=e(g,g)ab;

    2)非退化性:e(ga,gb)≠1;

    3)可計算性:存在一個有效的算法可以計算e(ga,gb)。

    定義3 訪問結(jié)構(gòu)[14]。令 P={P1,P2,…,Pn} 是 n 個參與方的集合,訪問結(jié)構(gòu)是非空集合A 2P{ },擁有以下性能:對于 B,C,假如B∈A,B C則C∈A。那么集合A叫作授權集,而2P-A稱為非授權集。

    定義4 線性秘密共享方案(Linear Secret-Sharing Scheme,LSSS)。當滿足以下兩個條件時,參與方P上的秘密共享方案(M,ρ)在Zp域上是線性的[15]。

    1)各方共享的秘密形成一個Zp域上的矩陣;

    2)存在一個l×n矩陣M和函數(shù)ρ:{1,2,…,l}→P被標識為參與方ρ(i),函數(shù)ρ把矩陣的每一個行映射到參與方P。當要共享的秘密值α∈Zp時,任意選擇隨機數(shù)r2,r3,…,rn∈Zp組成列向量 v=(α,r2,…,rn),向量λ =Mv為秘密α的l個共享子秘密屬于參與方ρ(i)。

    對于S∈A為一個授權集合,I={i:ρ(i)∈S},當共享秘密 α 生成{λi},存在有效算法計算固定系數(shù){μi∈ Zp}i∈I,使

    定義5 隨機提取器[10]。當所有的隨機變量(X,Z),X∈X且H∞(X|Z)≥k時,一個有效的函數(shù)Ext:X×{0,1}t→Y是平均(k,ε) 的強提取器,可計算 SD((Z,s,Ext(X,s)),(Z,s,Uy)) ≤ ε,0,1}t,Uy,其中 SD(* ,*) 代表的是兩方的統(tǒng)計距離。當H∞(X|Z)≥log|Y|+2log|1/ε|時,成對獨立的哈希函數(shù)H:=(h:X→Y)是平均(H∞(X|Z),ε)的強提取器。

    定義6 擴展方案[8]。擴展方案是一種基于雙線性映射的功能加密方案,具有以下性能:

    2)初始化算法輸出的主私鑰msk包括以下指數(shù):α,gα,g-α。

    定義7 擴展屬性[8]。擴展屬性由元組a=(id,scheme)來表示,其中id是屬性名,scheme是擴展方案。令Sch(a)=scheme代表輸出潛在擴展方案中擴展屬性的功能。

    定義8 本文方案模型。外包解密計算的功能加密方案由六個算法組成:

    Setup(1n,U,Ω,{desa}a∈Ω):該概率算法輸入安全參數(shù)1n,屬性集 U,擴展屬性集Ω U和擴展方案的方案描述{desa};輸出公共參數(shù)pp和主密鑰msk。

    KeyGen(pp,msk,A ,{Xa}a∈Ω):該算法輸入公共參數(shù) pp,主密鑰msk,訪問結(jié)構(gòu)A,和擴展方案加密算法所需的密鑰描述{Xa};輸出私鑰sk。

    Encrypt(pp,M,Γ,{Ya}a∈?!搔?:該算法輸入隨機選取明文消息K∈M,公共參數(shù)pp,屬性集Γ和擴展方案加密算法規(guī)定的密文描述{Ya};輸出密文ct。另外計算Lab0=H0(K),計算對稱加密密鑰KSE=h(K),利用任意對稱加密方案SE.Enc,加密明文得 CSE=SE.Enc(KSE,M),和 Lab=H1(Lab0,CSE)最后輸出密文CT=(ct,CSE)和驗證密鑰VK=Lab。

    KeyGenout(pp,sk,t):外包密鑰生成算法輸入私鑰sk和隨機數(shù)t∈Zp;輸出外包私鑰skout,外包公鑰tkout。

    Decryptout(pp,tkout,ct):外包解密算法輸入公共參數(shù) pp,外包公鑰tkout和密文ct;計算輸出部分解密密文CTout。

    Decrypt(pp,skout,CTout):運行解密算法,首先恢復隨機消息K。然后計算Lab0=H0(K),驗證H1(Lab0‖CSE)≠VK,則輸出⊥,否則計算KSE=h(K),解密出明文M。

    2 本文方案

    通過學習方案[8,16-17]的相關工作,本文提出非單調(diào)訪問結(jié)構(gòu)——基于擴展屬性功能加密的可驗證外包(Verifiable Outsourcing Functional Encryption Attribute Extension,VO-FE-AE)解密方案。本文案由以下六個方面組成:

    1)Setup(1n,U,Ω,{desa}a∈Ω):選擇一個大素數(shù) p > 2n,生成階為 p的雙線性群 G=(p,e,G,GT)。隨機選擇 g,α,β0,{βi}i∈U。對于擴展屬性a∈Ω,它執(zhí)行 Sch(a) 的算法Setupa(desa)得(ppa,mska)。選擇兩個哈希函數(shù)H0:M→{0,1}lH0,H1:{0,1}*→{0,1}lH1,密鑰提取器h∈H,及一個對稱加密方案SE。最后輸出:

    pp:(H0,H1,h,SE,G,e(g,g)α,h0=gβ0,{hi=gβi}i∈U,{ppa}a∈Ω)

    msk:α,β0,{βi}i∈Ω,{mska}a∈Ω

    2)KeyGen(pp,msk,A ,{Xa}a∈Ω):給定一非單調(diào)訪問結(jié)構(gòu)A,存在單調(diào)訪問結(jié)構(gòu)的屬性滿足線性秘密共享方案(M,ρ),A=NM(),則該算法通過應用秘密α共享算法獲得共享{λi}。對于任意行 x,令 i= ρ(x),選擇隨機數(shù) rip,生成密鑰如下:

    a) 當 i是普通屬性時,則 Di0=gλi(h0hi)ri,Di=gri,{R=}。ikk∈Ui

    b)當i是擴展屬性時,則Di=gri,{Rik=hkri}k∈Ui。

    然后修改 mski獲得 mski',其中 αi被 αi'= αi- (λi+(β0+βi)ri) 取代,即:

    然后執(zhí)行Sch(i)的密鑰生成算法KeyGeni獲得ski←KeyGen(ppi,mski',Xi)。

    3)Encrypt(pp,M,Γ,{Ya}a∈?!搔?:假設 M ∈ GT,用戶在明文空間中任意選擇一個消息R∈GT,這個算法隨機選擇s,計算:

    最后,輸出私鑰:

    對于 i∈Γ,執(zhí)行Sch(i)加密算法Encrypti,獲得密文Ri∈ 1GT,cti← Encrypti(ppi,Ri=1GT,Yi)。最后輸出密文:

    ct:C0,Cs,Cr,{cti}i∈?!搔?/p>

    另外,計算對稱加密密鑰KSE=h(R),利用任意對稱加密方案 SE,加密明文得 CSE=SE.Enc(KSE,M),計算 Lab0=H0(R)和 Lab=H1(Lab0,CSE)最后輸出密文CT=(ct,CSE)和驗證密鑰VK=Lab。

    4)KeyGenout(pp,sk,t):外包密鑰生成算法輸入私鑰sk和隨機數(shù)t∈Zp,輸出外包私鑰skout=t,外包公鑰tkout:

    a) 當i是普通屬性時,則Di0'=gλi(h0hi)ri,Di'=gri·gt,{R'=}。ikk∈Ui

    b) 當i是擴展屬性時,則 Di'=gri·gt,{Rik'=hkri}k∈Ui。

    然后修改 mski獲得 mski',其中 αi被 αi'= αi- (λi+(β0+βi)ri) 取代,即:

    然后執(zhí)行Sch(i)的密鑰生成算法KeyGeni獲得ski←KeyGen(ppi,mski',Xi)。

    5)Decryptout(pp,tkout,ct):令P是非單調(diào)訪問結(jié)構(gòu)A里的

    最后,輸出外包公鑰:潛在屬性集,假如 P∩ Γ A,那么輸出 ⊥;否則輸出:{Mi'=Decrypti(ppi,tkout,cti)}i∈Ω∩P∩Γ。

    令S=(P∩Γ)-{i|i∈Ω∩P∩Γ,Mi'=⊥},假如S A,則輸出⊥;否則,有N(S)∈槇A,令(M,ρ)是單調(diào)訪問結(jié)構(gòu)槇A的LSSS,獲得系數(shù){μ}。對于任意行數(shù)x,令i=ρ(x),那么:

    a)當i是普通屬性時,那么計算:

    b)當i是擴展屬性時,那么計算:

    c)當i是無效的屬性時,那么計算:

    讓S1、S2、S3分別代表屬性集S中的普通屬性、擴展屬性和無效屬性,那么計算:

    解密得外包密文:CTout=(A,B,Q,C0)。

    6)Decrypt(pp,skout,CTout): 運行解密算法,A·Qt/B=W計算得W=e(g,g)αs,那么可以恢復隨機消息 R=C0/W。然后計算Lab0=H0(R),假如H1(Lab0‖CSE)≠VK,則輸出⊥;否則計算 KSE=h(R),解密出明文M=SE.Dec(KSE,CSE)。

    3 方案分析

    3.1 性能分析

    本文方案與文獻[9]方案、文獻[10]方案在轉(zhuǎn)換密鑰生成算法性能的比較如表1所示,其中:s為用于計算重建系數(shù)的屬性數(shù),Ken.out代表外包密鑰運算,Mec代表模指數(shù)運算次數(shù),Mf代表實現(xiàn)功能種數(shù)。

    表1 轉(zhuǎn)換密鑰算法性能對比Tab.1 Performance comparison of conversion key algorithms

    本文是基于擴展屬性功能加密方案的外包云計算,在密鑰封裝機制環(huán)境下,本文方案與文獻[6]方案、文獻[8]方案和文獻[16]方案的性能進行對比如表2所示。由表2中可知,方案[6,8,16]的密文處理都是在本地服務器上,解密時間隨著策略的屬性數(shù)量而增長。本文方案將計算復雜的解密運算外包給計算能力強大的云去處理,用戶只進行外包返回的簡單計算即可解密,同時利用兩個哈希函數(shù)可以驗證外包運算的正確性。本文方案的解密時間比方案[6,8,16]的解密時間要短,在本地服務器上的解密速度恒定。

    在表2中,KG.C代表密鑰生成算法的運算量;Enc.C代表加密運算量,Dec.C解密運算量;|GT|、|G|分別代表群GT、G的元素大小;exp和pair分別代表對運算和指數(shù)運算;u=|attribute universe|;t是 LSSS矩陣中的行數(shù);n=|attribute set of ciphertext|;s用于計算重建系數(shù)的屬性數(shù);l代表向量長度;ω代表潛在訪問結(jié)構(gòu)中擴展屬性;s1、s2、s3分別代表解密算法中S1、S2、S3的大小。

    表2 不同方案性能對比分析Tab.2 Performance comparison analysis of different schemes

    3.2 安全性分析

    由于基于擴展屬性訪問策略可以整合各種功能集成FE方案,所以一個安全模型不可能適合所有的方案,因此本文通過以下方法對其安全性進行證明:

    首先,設Ω= ,獲得一個VO-FE-AE的頂層KP-ABE方案。這個頂層方案在選擇性明文攻擊安全模型下是安全的。下面給出安全性證明。其次,當攻擊者的屬性被擴展屬性所替代時,攻擊者不能獲得任何有關原始頂層KP-ABE方案的信息,將重點關注這些由擴展屬性引起的組件變化。

    公共參數(shù)安全性:雖然增加了擴展屬性{ppa}a∈Ω,同樣運行初始化算法Setupa(desa)→(ppa,mska)獨立于安全的KP-ABE方案,因此公共參數(shù)的改變不會向敵手提供任何有用的信息。

    密文安全性:在密文生成算法中新增加的部分Encrypti(ppi,Mi=1GT,{Yi}) → cti,同樣獨立于 KP-ABE 方案,所以加密部分的更改也不會向敵手泄露任何有用的信息。

    密鑰安全性:在密鑰生成算法中,新增加的部分KeyGeni(ppi,mski',{Xi}) →ski。參數(shù) mski'與安全KP-ABE方案有關,但是{ski}完全地隱藏其主密鑰,這是保證任何可擴展方案的基本安全屬性,因此私鑰部分更改不會向敵手提供任何新信息。

    外包密鑰安全性:在上述外包方案的構(gòu)建中,選擇一個隨機數(shù)t∈Zp,由主權威機構(gòu)構(gòu)造轉(zhuǎn)換公鑰tkout,轉(zhuǎn)換公鑰生成算法是對原密鑰生成算法的改進Di'=gri/t,在原密鑰生成算法的基礎上外包密鑰的安全性可規(guī)約為Diffie-Hellman的計算復雜性(Computational Diffie-Hellman Problem-CDHP),因此外包密鑰部分更改不會向敵手提供任何新信息。

    解密階段安全性:該階段可以獲得新的群元素Mi'=e(g,g)λis·e(hi,g)ris,但是這些群元素可以通過KP-ABE方案的原始部分進行計算。因為 e(Cs,Di0)=e(gs,gλi)=e(g,g)λis·e(hi,g)ris,所以解密階段也不會向敵手提供任何有用的信息。

    根據(jù)以上分析,擴展屬性方案不會向敵手提供任何有用信息,是安全的。

    頂層KP-ABE方案的安全性證明:選擇明文攻擊安全模型(Chosen Plaintext Attack,CPA),主要描述挑戰(zhàn)者和敵手之間的關系:

    Init:敵手宣布一組要挑戰(zhàn)的屬性S*。

    Setup:挑戰(zhàn)者運行Setup算法,把公共參數(shù)pp傳送給敵手。

    Query Phase 1:敵手對訪問結(jié)構(gòu)A進行重復密鑰的詢問,其中S*A。挑戰(zhàn)者運行密鑰生成算法KeyGen(pp,msk,A),將密鑰sk返回給敵手。

    Challenge:敵手選擇兩個長度相等的密文M0、M1。挑戰(zhàn)者隨機選擇 b ←R{0,1} 將 Mb加密 Encrypt(pp,Mb,S*) → ct,并將密文ct給敵手。

    Query Phase 2:該階段的詢問與階段1類似。

    Guess:敵手輸出對 b的猜測 b'∈ {0,1}。如果 b=b',則敵手猜測成功。

    如果概率性多項式時間敵手的優(yōu)勢Pr[b'=b]-1/2是可以忽略的,那么方案游戲中所選取的頂層KP-ABE方案是安全的。

    判定性q階雙線性迪菲赫爾曼指數(shù) (q-Bilinear Diffie-Hellman Exponent,q-BDHE) 假設:設 G,GT是兩個階為素數(shù)p的乘法循環(huán)群,g是生成元,隨機選擇a,sp,T∈GT,公開(g,gs,ga1,…,gaq,gaq+1,…,ga2q),不存在概率性多項式時間算法以不可忽略的優(yōu)勢區(qū)分T=e(g,g)saq+1或者隨機數(shù)在GT中。

    定理1 假設頂層KP-ABE方案是(選擇性)CPA安全,H0和H1是兩個獨立的哈希函數(shù),SE是語義安全的對稱加密方案,參數(shù)滿足0 <lSE≤(log|M|-lH0)-2log(1/εH)。然后,如上所述具有可驗證外包解密的功能加密方案(VO-AE-FE)是(選擇性)CPA安全。

    證明 設U是一個屬性集,為了方便,假設所有屬性都是從1到|U|的整數(shù)。設q=|U|,挑戰(zhàn)者接受q-BDHE挑戰(zhàn)輸入雙線性對群(p,e,G,GT)。游戲如下:

    Init:敵手給出要挑戰(zhàn)的屬性集S*。

    Setup:挑戰(zhàn)者隨機選取 α',{zi}i∈U,z0。令{hi=gzigai}i∈U然后計算gaq),令α=α'+aq+1。將公共參數(shù)pp中的組件傳送給敵手,由于是隨機值,這些組件分布良好。

    Query Phase 1:挑戰(zhàn)者接收一個非單調(diào)訪問結(jié)構(gòu)A,設單調(diào)訪問結(jié)構(gòu)槇A滿足A=NM(槇A),(M,ρ)是相應的LSSS方案,M是l×ω矩陣。設W={i|ρ(i)∈N(S*)},生成向量v=(1,v2,…,vw),滿足 i∈W,Miv=0,其中Mi代表矩陣M的第i行。由于S*槇A和向量(1,0,…,0)不在行{Mi}i∈W的范圍內(nèi),所以,向量αv可以用來生成共享值α,對于任意行數(shù)x,設 i= ρ(x),cx=Mxv,情況如下:

    假如 i∈ N(S*),有 λi= αcx=0。設 ri=0,則 Di0=Di=Rik=g0或者

    假如i N(S*),i是普通屬性,有i S*且λi=αcx=cx(α'+aq+1)。令 ri= - cxaq+1-i,可以計算:

    其他的密鑰:Di=g-cxaq+1-i,Rik=g-cxzkaq+1-ig-cxaq+1-i+k,因為k≠i,所以它們是可計算的。

    假如i N(S*),i是無效屬性,那么i S*且λi= αcx=cx(α'+aq+1),令 ri=cxaq+1-i,可以計算:

    以上的密鑰組成計算方面隨機分布不是很好,可以通過下面的方法來解決。選擇隨機值并形成向量v'=(0,v2',…,vw'),然后用此向量去生成共享值和計算一組新的密鑰Di0','。通過以下運算生成最后的密鑰:

    并將它們傳送給敵手。

    Challenge:挑戰(zhàn)者收到敵手發(fā)來的兩個消息M0,M1。任意選擇一個比特 b0,1},生成密文:

    假如T=e(g,g)saq+1,則上面的加密密文是Mb的真實密文;否則,即是對群GT中的隨機元素的加密。

    Query Phase 2:該階段的詢問與階段1類似。

    Guess:挑戰(zhàn)者收到敵手對b的猜測b'。如果b'=b,則猜測T=e(g,g)saq+1,否則猜測T是隨機值。

    如上所述,假如敵手能夠有效區(qū)分出挑戰(zhàn)密文,則挑戰(zhàn)者可以解決q-BDHE問題。

    定理2 假如H0和H1是耐碰撞哈希函數(shù),那么本文功能加密外包運算是可驗證的。

    證明 令敵手A攻擊可驗證性,首先建立一個有效模擬器Sim攻擊哈希函數(shù)(H0,H1)的抗碰撞性,給出兩個挑戰(zhàn)哈希函數(shù)(H*0,H*1)。

    模擬器Sim運行初始化算法生成主公鑰pp和主私鑰msk。模擬器Sim可以模擬敵手進行相關詢問在階段1和階段2中。對于敵手A提交的挑戰(zhàn)明文M*和值,模擬器先運行加密算法 Encrypt'(pp',K*)加密生成密文,其中K*∈M是隨機的。然后計算=(K*),=h*(K*),=SE.Enc(,M*),VK*=(‖)。然后傳送= (,)和VK*給敵手。最后,假如f()=1,那么敵手輸出值和轉(zhuǎn)換密文CTout=(C0,CT'out,CSE)。假如敵手可以成功攻擊驗證性,那么模擬器Sim通過解密算法計算出來的明文M (M*,⊥),現(xiàn)在討論敵手成功的可能性,假如(CSE‖Lab0)≠VK*其中=(K)和K=Decrypt'(,CT'out),則解密算法輸出⊥。因此考慮下面情形:

    情形1 (CSE,Lab0) ≠(,),因為Sim擁有(,),如果滿足這種情形,那么模擬器Sim可直接獲得一個碰撞哈希函數(shù)。

    情形 2 (CSE,Lab0)=(,),但是 K ≠ K*。由于(K)=Lab0==(K*),那么模擬器Sim攻擊了哈希函數(shù)抗碰撞性。

    4 集成IPE和KP-ABE的外包解密方案

    4.1 外包解密方案

    在文獻[8]中,利用文獻[7]中 IPE方案去定義擴展屬性,提出了效率更高的集成IPE和KP-ABE功能的方案,能描述廣泛范圍的訪問策略。本文的另一工作,通過定義外包算法,利用文獻[8]方案中的KP-ABE-AE方案構(gòu)建VO-FE-AE方案,實現(xiàn)比文獻[8]方案更高的加密/解密效率。

    Setup(1n,U,Ω,{na}a∈Ω):假設{na} 是 IPE 方案潛在擴展屬性的向量長度,運行第三部分算法獲得H0,H1,h,SE,G,e(g,g)α,h0,{hi}i∈U, 對 于 i ∈ Ω, 隨 機 選 擇 ui0,{uik}k=1,2,…,ni。則最后輸出:

    KeyGen(pp,msk,A ,{va}a∈Ω):假設{va} 是IPE方案潛在擴展屬性的密鑰描述(向量),通過前面第三部分算法獲得共享{λ}的秘密α,令P是A的潛在屬性,對于任意行數(shù)x,i=ρ(x),隨機選擇 ri,生成密鑰如下:

    1) 當 i是普通屬性時,則 Di0=gλi(h0hi)ri,Di=gri,

    2) 當 i是擴展屬性時,則 Di0=gλi(h0hiui0)ri,Di=gri,ui0

    rk}k∈Pi。

    最后,輸出私鑰:

    Encrypt(pp,M,Γ ,{xa}a∈?!搔?:假設{xa} 是 IPE 方案潛在擴展屬性的密文描述(即向量),在明文空間中任意選擇一個消息R∈GT,通過前面第2章中的Encrypt算法獲得s,C0,Cr,Cs,對于 i∈ Γ ∩ Ω,計算:

    輸出密文:

    ct:C0,Cs,Cr,{Ci}i∈?!搔?/p>

    另外,計算對稱加密密鑰KSE=h(R),利用任意對稱加密方案SE.Enc,加密明文得CSE=SE.Enc(KSE,M),計算Lab0=H0(R) 和 Lab=H1(Lab0,CSE),最后輸出密文 CT=(ct,CSE)和驗證密鑰VK=Lab。

    KeyGenout(pp,sk,t):外包密鑰生成算法輸入私鑰sk和隨機數(shù)t∈Zp,輸出外包私鑰skout=t,外包公鑰tkout:

    1) 當i是普通屬性時,則 Di0'=gλi(h0hi)ri,D'i=gri·gt,

    2) 當 i是擴展屬性時,則 Di0'=gλi(h0hiui0)ri,Di'=gri·

    Decryptout(pp,tkout,ct):假如不滿足訪問策略,則輸出⊥。否則,通過前面第2章中的Decryptout算法獲得系數(shù){μ},讓S1、S2、S3分別代表屬性集S中的普通屬性、擴展屬性和無效屬性,那么計算:

    解密得外包密文:CTout=(A,B,Q,C0)。

    Decrypt(pp,skout,CTout): 讓 S1、S2、S3分別代表屬性集 S中的普通屬性、擴展屬性和無效屬性,那么解密可簡化為:運行解密算法,A·Qt/B=U 計算得 U=e(g,g)αs,那么可以恢復隨機消息 R=C0/U。然后計算 Lab0=H0(R),假如H1(Lab0‖CSE)≠VK,則輸出⊥;否則計算KSE=h(R),解密出明文 M=SE.Dec(KSE,CSE)。

    4.2 方案性能分析

    與 文獻[6]方案、文獻[8]方案相比,本文上述方案具有更好的性能,不僅集成IPE和KP-ABE兩種功能,而且解密算法更快。特別是在解密中只需進行一次指數(shù)運算,不需要進行雙線性對運算。不同方案計算復雜度對比如表3所示。

    在表3中,KG.C代表密鑰生成算法的運算量;Enc.C代表加密運算量,Dec.C解密運算量;|GT|、|G|分別代表群GT、G的元素大小;exp和pair分別代表對運算和指數(shù)運算;u=|attribute universe|;t是 LSSS矩陣中的行數(shù);n=|attribute set of ciphertext;|s用于計算重建系數(shù)的屬性數(shù);l代表向量長度;ω代表潛在訪問結(jié)構(gòu)中擴展屬性。

    表3 不同方案計算復雜度對比Tab.3 Comparison of computational complexity of different schemes

    5 結(jié)語

    針對功能加密的計算復雜且解密速度慢的問題,本文提出將基于屬性的功能加密方案進行可驗證的外包解密,利用云服務器的巨大計算能力,將功能加密方案的復雜運算外包給云服務器,同時,利用兩個抗碰撞的哈希函數(shù)實現(xiàn)外包運算的驗證性。為了具體地評估本文方法的性能,本文基于Huo的方案[8]提出了一個實例化方案。性能分析對比結(jié)果表明,本文方案的解密計算效率大大提高,它使外包密鑰生成計算降低至一次模指數(shù)運算,使用戶端的解密計算降低至一次指數(shù)運算和一次對運算。

    猜你喜歡
    敵手私鑰密文
    一種針對格基后量子密碼的能量側(cè)信道分析框架
    一種支持動態(tài)更新的可排名密文搜索方案
    比特幣的安全性到底有多高
    基于模糊數(shù)學的通信網(wǎng)絡密文信息差錯恢復
    基于改進ECC 算法的網(wǎng)絡信息私鑰變換優(yōu)化方法
    不帶著怒氣做任何事
    一種基于虛擬私鑰的OpenSSL與CSP交互方案
    云存儲中支持詞頻和用戶喜好的密文模糊檢索
    LeeB私鑰分發(fā)協(xié)議的改進方案
    不帶著怒氣作戰(zhàn)
    如东县| 易门县| 怀宁县| 虎林市| 营山县| 昭觉县| 洛阳市| 化隆| 仙居县| 水城县| 天镇县| 沭阳县| 多伦县| 酒泉市| 逊克县| 南皮县| 花莲市| 岱山县| 怀化市| 彰化市| 辉南县| 上杭县| 邻水| 滕州市| 海口市| 伊宁县| 宾阳县| 平遥县| 自治县| 鹤庆县| 新津县| 金堂县| 米泉市| 治多县| 贡嘎县| 黔江区| 皮山县| 景宁| 玛曲县| 宜昌市| 德惠市|