宋文納,李安康,張月欣,陶 然,田 彪
(武漢理工大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,武漢 430070)
?
基于密文分離的屬性加密方案
宋文納,李安康,張月欣,陶然,田彪
(武漢理工大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,武漢 430070)
摘要:屬性加密技術(shù)的核心是通過定義基于屬性的訪問策略,實現(xiàn)該策略對加解密的控制。本文提出了基于密文分離的屬性加密方案,通過引入密文服務(wù)中心,對密文進(jìn)行分離,提高了加密效率,并對該方案進(jìn)行了安全性分析。通過分析可知,該方案提高了密文通信的安全性、機(jī)密性、完整性。
關(guān)鍵詞:屬性加密;密文服務(wù)中心;線性秘密共享
1引言
隨著云共享在用戶中的廣泛使用,傳統(tǒng)公鑰加密體制已經(jīng)不適合互聯(lián)網(wǎng)中數(shù)據(jù)的處理與共享需求?;谠L問策略的屬性加密,是一種靈活的加密體制,很好地實現(xiàn)了網(wǎng)絡(luò)中數(shù)據(jù)的訪問需求,然而其過于靈活的訪問機(jī)制也恰恰給密文的安全性帶來了威脅。為了增加密文的安全性,本文在總結(jié)部分文獻(xiàn)的基礎(chǔ)上提出了密文分離的屬性加密方案,將密文分為加密階段、解密階段。該算法優(yōu)點如下:
(1)加密者存儲的密文空間規(guī)模變小。
(2)降低了密文傳輸?shù)陌踩?fù)擔(dān)。加密者加密的是半成品密文,即使黑客攻擊也不能解密出有效密文,保證了密文的機(jī)密性。
(3)通過密文服務(wù)中心對用戶進(jìn)行二次驗證,保證了密文的安全性、完整性。
2相關(guān)工作
屬性加密[1]是一種適合一對多通信環(huán)境的加密機(jī)制,滿足屬性要求的用戶都可以解密密文。文獻(xiàn)[2]提出的屬性加密方案,訪問控制策略缺乏靈活性。文獻(xiàn)[3]中屬性加密方案,運算效率較低。文獻(xiàn)[4]提出的屬性加密方案中,密文空間規(guī)模較大,加密運算量高。文獻(xiàn)[7]提出了運算效率較高屬性加密方案,但是其密文規(guī)模依然很大。文中給出了基于密文分隔的屬性加密方案,具有較高運算效率,實現(xiàn)了密文傳輸?shù)臋C(jī)密性、完整性和安全性。
改進(jìn)方案的基本算法結(jié)構(gòu)[9]包括四部分:初始化,加密,獲取用戶私鑰,解密。其基本原理是:首先,加密用戶使用訪問控制結(jié)構(gòu)對密文加密,此時密文與訪問控制結(jié)構(gòu)的布爾函數(shù)關(guān)聯(lián);解密用戶收到密文后,將密文提交到密文服務(wù)中心,通過密文轉(zhuǎn)換生成完整密文,此時密文與線性秘密共享矩陣關(guān)聯(lián);最后發(fā)送給解密用戶。
改進(jìn)方案運用到的基礎(chǔ)知識包括三部分:訪問結(jié)構(gòu)[5]、雙線性映射[6]、線性秘密共享方案[7](Linear Secret Sharing Schemes,LSSS)、安全假設(shè)。其中安全假設(shè)分為兩個方面:(1)可信第三方是非常可信的;(2)數(shù)學(xué)困難性假設(shè)判定性q-BDHE(Decisional q-Bilinear Diffie-Hellman Exponent)假設(shè)[8]。
3密文分離的屬性加密方案
3.1安全模型
本文的安全模型基于文獻(xiàn)[4]中的安全模型。
定義1:在文獻(xiàn)[4]的選擇明文游戲中,若敵手以不可忽略的優(yōu)勢贏得游戲,則方案是不安全的。否則,不存在一個算法能以不可忽略的優(yōu)勢解決判定性q-BDHE假設(shè)問題。
3.2改進(jìn)方案
改進(jìn)方案包括四部分:系統(tǒng)中心、加密系統(tǒng)、解密系統(tǒng)、密文服務(wù)中心。其中,密文服務(wù)中心是由可信賴的第三方信任機(jī)構(gòu)組成,主要用于生成共享密鑰參數(shù)并備份參數(shù),提供查詢參數(shù)功能以及密文轉(zhuǎn)換功能。具體算法如下:
3.2.1初始化:運行初始化算法,生成q階循環(huán)群G1,G1的生成元g,雙線性映射e:G1×G1->G2。隨機(jī)選擇a,b∈Zp,以及群G1的元素H(1),…,H(u),其中1,…,u表示系統(tǒng)屬性。輸出系統(tǒng)公鑰PK={g,ga,e(g,g)0},系統(tǒng)私鑰MSK=g0。
3.2.2加密(PK,m,Γ):算法輸入明文m,公鑰PK,和邏輯訪問結(jié)構(gòu)Γ,加密明文m輸出密文,該部分是主要改進(jìn)部分,具體過程如下。
(1)格式化訪問結(jié)構(gòu)。根據(jù)文獻(xiàn)[11]格式化規(guī)則。訪問結(jié)構(gòu)Γ={((學(xué)生and姓名and性別)OR(老師and姓名and職稱))And計算機(jī)科學(xué)與技術(shù)學(xué)院 },格式化結(jié)果記為:?!?{(((學(xué)生,姓名,2)性別,2),((老師,姓名,2)職稱,2)),計算機(jī)學(xué)院,2}。
(2)設(shè)置訪問結(jié)構(gòu)映射函數(shù)。仍然用上面的例子,從左向右,對格式化后的布爾函數(shù)設(shè)置屬性標(biāo)號集B′=(1,2,3,4,5,6,7)(各屬性無優(yōu)先級關(guān)系)。映射函數(shù)記為:ρ(i):B′->Γ,ρ(i)表示集合B′中第i個元素對應(yīng)集合Γ中的屬性。
(3)計算密文。這里屬性共享密鑰s不是加密者隨機(jī)選取的,而是向密文服務(wù)中心申請獲取的,密文服務(wù)中心在向用戶發(fā)送s后,自己會再將s與Γ備份,以便后續(xù)操作使用。生成密文如下:CT={C=m×e(g,g)0s,C1=g3,C2=H(ρ(1))-3}
其中i∈B′.
改進(jìn)后密文不與線性秘密共享矩陣關(guān)聯(lián),而是與布爾函數(shù)式關(guān)聯(lián),密文空間規(guī)模變小。
3.2.3獲取用戶屬性私鑰(MSK,S):算法輸入系統(tǒng)私鑰MSK,用戶屬性集合S,選擇隨機(jī)值t∈Zp,運行私鑰算法輸出私鑰。SK={K0=g0(ga)t,L=gt,任意x∈S,Kx=H(x)t}
3.2.4解密(CT,SK,S,Γ):輸入用戶密鑰SK,密文CT,若用戶屬性不滿足訪問結(jié)構(gòu),則解密終止,否則具體算法如下:
(1)用戶端。用戶計算交集N。N=?!蓅=Γ′∩s={x:x∈s,x∈Γ,ρ(i)=x}
將交集N、密文CT、訪問結(jié)構(gòu)Γ打包發(fā)送給密文服務(wù)中心,申請轉(zhuǎn)換密文。
(2)密文服務(wù)中心。主要負(fù)責(zé)驗證用戶的正確性、合法性,計算轉(zhuǎn)換密文。具體步驟如下。
a.密文服務(wù)中心收到消息后,計算用戶提交密文HASH值,如果此HASH值與接收到的HASH不同,說明密文被修改拒絕接收,否則,使用公鑰解密,在這一過程中保證了用戶發(fā)送過來消息的完整性和機(jī)密性。
b.二次驗證,驗證用戶提交交集N是否滿足訪問結(jié)構(gòu)Γ。首先根據(jù)文獻(xiàn)[7]中的單調(diào)張成方案計算基于訪問結(jié)構(gòu)Γ和交集N的線性秘密共享矩陣M。然后,根據(jù)LSSS[7]驗證用戶屬性是否滿足訪問結(jié)構(gòu)。
e.打包密文CT′發(fā)送給解密用戶。
用戶解密。
3.3改進(jìn)方案的安全性證明
定理1:假設(shè)q-BDHE安全假設(shè)成立。則在3.1中的安全模型中,不存在多項式時間算法,使敵手可以攻破3.2中改進(jìn)方案。
證明:在3.1安全模型游戲中,假設(shè)存在一個敵手在多項式時間內(nèi)能夠攻破該方案,則可以構(gòu)造一個模擬器,以不可忽略的概率解決判定性q-BDHE問題,以下為模擬過程:
3.3.1初始化:模擬器加載判定性q-BDHE假設(shè)參數(shù)。敵手宣布想要挑戰(zhàn)的訪問結(jié)構(gòu)為Γ。q≥n, n為矩陣的行,也是訪問結(jié)構(gòu)中屬性的個數(shù)。
3.3.2系統(tǒng)建立:首先模擬器隨機(jī)選擇α=α′+aq+1,α∈Zp, 系統(tǒng)公鑰e(g,g)α=e(g,g)+aq+1=e(g,g)aq+1e(g,g)30。利用aq+1將方案與判定性q-BDHE難題關(guān)聯(lián)起來。假設(shè)敵手隨機(jī)選擇屬性集合為U,對任意屬性x∈U,隨機(jī)選擇Zx∈Zp來隨機(jī)化屬性參數(shù)。模擬器對屬性參數(shù)的加載過程如下:
當(dāng)?ρ(j)=x時,
H(x)=gzxgaM11ga2M12…ganM1n
否則,H(x)=gz
其中ρ是一個與屬性關(guān)聯(lián)的映射。以上的加載公式表明: q-BDHE假設(shè)帶來的參數(shù)能夠?qū)γ恳粋€屬性x進(jìn)行有效加載, q≥n,。
3.3.3階段1,敵手查詢私鑰。規(guī)定敵手不能詢問滿足訪問結(jié)構(gòu)的屬性的私鑰。除此之外,敵手可以任意次地詢問私鑰。
(1)模擬者構(gòu)造t:t=r+w1a+……+wnaq,私鑰構(gòu)造如下:
L=gt=gr+w1a+…+wnaq
(2)計算私鑰構(gòu)件
k。k=gα×gat=gα+aq+1×gat=gα
=gα×La=gα×gar∏i=2,…,n(gaq+a-1)wi
此處將困難因子gaq+1消除。
(3)計算私鑰構(gòu)件Kx。
當(dāng)敵手提交的屬性集為空集時,則Kx=gzxt=Lzx當(dāng)敵手提交的屬性集非空時:
X={ρ(j)=x}
Kx=H(x)t
(4)挑戰(zhàn)明文:敵手把兩個等長度的明文發(fā)給挑戰(zhàn)者,挑戰(zhàn)者選擇其中一個明文加密,密文計算如下:
挑戰(zhàn)者隨機(jī)選擇其中一個明文,并向密文服務(wù)中心申請一個隨機(jī)參數(shù)s,選擇一隨機(jī)參數(shù)s′∈Zp挑戰(zhàn)者定義s=s×bk+s。X屬性標(biāo)號集合。
C=mu×e(g,g)αs
=mu×e(g,g)(α+aq+1)s
=mu×e(g,g)aq+1s×e(g,g)αs
=mu×T×e(g,g)αs
=mu×T×e(gα,gs)
C1=gs
C2=H(ρ(j))-s
密文CT={C,C1,C2},挑戰(zhàn)者把加密的密文CT發(fā)送給敵手。
(5)敵手獲得密文之后進(jìn)行計算如下。
a.用戶端,計算交集:
N=?!蓅=?!洹蓅={x;?x∈s,x∈Γ}
b.密文服務(wù)中心:
(6)重復(fù)步驟3,敵手可以繼續(xù)向挑戰(zhàn)者詢問屬性私鑰,除了滿足訪問結(jié)構(gòu)的屬性私鑰。
(7)猜測階段,若敵手可以成功地猜測出步驟4中挑戰(zhàn)者選擇的明文,則判定性q-BDHE問題是可以解決的,存在一個多項式時間算法可以計算出:T=e(g,g)aq+1s,
若敵手沒有猜測出來加密的是哪一個明文,則
模擬器解決判定性q-BDHE問題的概率是:
4改進(jìn)方案性能分析
本章主要從運算規(guī)模與安全性兩方面來分析方案性能。如表1是改進(jìn)方案與其他方案的對比。n表示用戶屬性個數(shù),m表示加密時密文屬性個數(shù):
表1 規(guī)模與效率對比
分析表格得出改進(jìn)方案在對比中優(yōu)勢。運算規(guī)模方面:(1)改進(jìn)方案的解密運算中雙線性個數(shù)僅3個,運算復(fù)雜性降低;(2)密文長度變短,同時密文僅僅與訪問結(jié)構(gòu)關(guān)聯(lián),減小了密文存儲空間,降低了加密者的運算負(fù)荷。理論分析可知安全方面:(3)采用二次驗證,防止黑客一次攻擊就達(dá)到所需目的;(4)密文的分階段生成,加密時只生成部分密文,在密文服務(wù)中心生成完整密文,增加了加密者與解密者之間的攻擊復(fù)雜度,提高了密文的完整性和機(jī)密性。然而本方案也有很多的不足之處:(1)方案的安全性依賴密文服務(wù)中心的安全可靠性,一旦密文服務(wù)中心被攻擊,系統(tǒng)的安全問題將面臨嚴(yán)重威脅;(2)密文分階段生成,增加了密文和系統(tǒng)的傳輸負(fù)擔(dān);(3)方案的安全性主要是針對加密者和解密者之間,創(chuàng)建解密者與密文服務(wù)之間的安全證明方案是下一步研究方向。
5結(jié)束語
分析改進(jìn)方案可知:該方案進(jìn)一步提高密文通信安全性,提升解密運算的效率研究發(fā)現(xiàn):密文分隔方案可以在數(shù)字版權(quán)方面進(jìn)行權(quán)限分離設(shè)置,在數(shù)字版權(quán)管理中有良好的應(yīng)用前景。
參考文獻(xiàn):
[1] Baek J, Safavi-Naini R, Susilo W. Efficient Multi-Receiver Identity-Based Encryption and Its Application to Broadcast Encryption[J]. Lecture Notes in Computer Science, 2005, 3386:380-397.
[2] Sahai A, Waters B. Fuzzy Identity Based Encryption[J]. Lecture Notes in Computer Science, 2004, 3494:457-473.
[3] Ling C, Newport C. Provably secure ciphertext policy ABE[C]. Proceedings of the 14th ACM conference on Computer and communications security. ACM, 2007:456-465.
[4] Waters B. Ciphertext-Policy Attribute-Based Encryption: An Expressive, Efficient, and Provably Secure Realization[J]. Lecture Notes in Computer Science, 2008, 2008:321-334.
[5] Beimel A. Secure Schemes for Secret Sharing and Key Distribution[J]. International Journal of Pure & Applied Mathematics, 1996.
[6] Dan B, Franklin M. Identity based encryption from the Weil pairing[C]. Proc of the Crypto Lncs. 2003:213-229.
[7] Liu Z, Cao Z. On Efficiently Transferring the Linear Secret-Sharing Scheme Matrix in Ciphertext-Policy Attribute-Based Encryption.[J]. Iacr Cryptology Eprint Archive +, 2010, 2010.
[8] Dan B, Franklin M. Identity based encryption from the Weil pairing[C]. Proc of the Crypto Lncs. 2003:213-229.
[9] Dan B, Boyen X, Goh E J. Hierarchical identity based encryption with constant size ciphertext[C]. Proceedings of the 24th annual international conference on Theory and Applications of Cryptographic Techniques. Springer-Verlag, 2005:440-456.
Attribute-Based Encryption Scheme Based on Ciphertext Separation
SONG Wen-na,LI An-kang,ZHANG Yue-Xin,TAO Ran,TIAN Biao
(School of Computer Science and Technology, Wuhan University of Technology, Wuhan 430070, China)
Abstract:The core of encryption technology is to realize the control of encryption and decryption by defining the attribute-based access strategy. This paper puts forward an encryption scheme based on ciphertext separation, where a ciphertext service center is introduced to separate the ciphertext, thus to improve the efficiency of encryption. Also, security analysis of the scheme is presented here, and the result shows that the scheme has improved the security confidentiality and integrity of ciphertext communication.
Key words:attribute-based encryption; ciphertext service; linear secret-sharing Scheme
收稿日期:2016-01-05
基金項目:湖北省教育廳科學(xué)技術(shù)研究計劃優(yōu)秀中青年人才項目(Q20123105)
作者簡介:宋文納(1989-),女,河南平頂山人,碩士研究生,研究方向為信息安全。
中圖分類號:TP309.7
文獻(xiàn)標(biāo)識碼:A
文章編號:1674-344X(2016)02-0032-04