陳陽陽
摘要: 云計(jì)算中的信息數(shù)據(jù)風(fēng)險(xiǎn)傳播保護(hù)問題極大地影響了云計(jì)算各類產(chǎn)品的發(fā)展速度,而這種在用戶端加密的體制下,對(duì)于數(shù)據(jù)共享來說極其不便,用戶過于頻繁的獲得和釋放授權(quán)將使得用戶端數(shù)據(jù)加解密工作量大大增加。代理重加密是一個(gè)非常有用的密碼學(xué)工具,無需對(duì)密文進(jìn)行解密,代理者就可以通過一些額外信息將密文轉(zhuǎn)化成授權(quán)者可以解密的密文,同時(shí)也確保代理者不能了解該明文的任何信息??梢姶碇丶用艿奶厥庑再|(zhì)特別適合于云計(jì)算中數(shù)據(jù)的安全共享,本文針對(duì)云計(jì)算數(shù)據(jù)的安全性問題,提出了一種基于代理重加密的在云計(jì)算中共享數(shù)據(jù)的應(yīng)用模型,并設(shè)計(jì)了一個(gè)安全的基于代理重加密數(shù)據(jù)間的共享方案,最后給出了方案的安全性證明和效率分析。
關(guān)鍵字:代理重加密;云計(jì)算;數(shù)據(jù)共享;安全
引言
作為一種具有廣闊發(fā)展前景的新興計(jì)算模式,云計(jì)算技術(shù)吸引了大量學(xué)術(shù)界和工業(yè)界愛好者的廣泛關(guān)注和好評(píng)。在云計(jì)算中,云上共享的資源、設(shè)施和信息可以通過云按需、便捷、快速地提供給終端設(shè)備即計(jì)算機(jī),用戶不再需要了解“云”中基礎(chǔ)設(shè)施以及工作環(huán)境,同時(shí)對(duì)具云計(jì)算專業(yè)知識(shí)沒有過多要求,也不需要學(xué)會(huì)行控制,就能夠得到想要的結(jié)果,實(shí)現(xiàn)了計(jì)算機(jī)資源公共化、共享化,方便了社會(huì)交流,為信息管理和服務(wù)提供了一種高效的解決方案[1]。然而在當(dāng)前,由全球最具有權(quán)威的IT研究與顧問咨詢公司Gartner在2009年做的調(diào)查結(jié)果中可以看出,超過70%的企業(yè)CTO認(rèn)為,數(shù)據(jù)的私密性與安全性的難以得到保護(hù)是近期暫時(shí)不采用云計(jì)算的原因。與此同時(shí)大型公司爆出各種安全性事故更加劇了人們的擔(dān)憂,云計(jì)算安全問題已得到社會(huì)各行各業(yè)越來越多的關(guān)注。
代理重密碼這個(gè)概念首先Blaze等人在1998年的歐洲密碼會(huì)議上提出[2]。由于Blaze等人沒有在文章中描述具體的形式化定義以及安全模型,使得人們經(jīng)常把代理重密碼和其他一些相似性的密碼體制相混淆,因此代理重密碼的好處并沒有被人們很好地認(rèn)識(shí)到。
經(jīng)過多年來人們的研究發(fā)現(xiàn)代理重加密可以在不對(duì)密文進(jìn)行解密的前提下,把一個(gè)域中的密文轉(zhuǎn)換為另一個(gè)域中的密文,并且不能在未授權(quán)的情況下生成其中任何一個(gè)域中的密文,安全有效的解決了跨域操作的問題。因此代理重加密體制在安全云計(jì)算具有十分重要的理論及實(shí)踐意義。
1.相關(guān)知識(shí)
1.1云計(jì)算數(shù)據(jù)安全分析
雖然云服務(wù)對(duì)于廣大互聯(lián)網(wǎng)用戶有著不可抵抗的吸引力,但其存在的安全隱患不容忽視。對(duì)云計(jì)算的安全的定義可謂仁者見仁智者見智,一般可以理解為,確保用戶在較為穩(wěn)定和隱密的情況下在云計(jì)算中運(yùn)行相應(yīng)的應(yīng)用,并且同時(shí)保證在云中存儲(chǔ)的數(shù)據(jù)完整性不被破壞和機(jī)密性不會(huì)泄露。通過分析不難發(fā)現(xiàn),云計(jì)算至少在以下三個(gè)方面存在數(shù)據(jù)安全隱患。
1.特權(quán)用戶的訪問。云計(jì)算的出現(xiàn),使得我們將數(shù)以萬計(jì)的數(shù)據(jù)存儲(chǔ)于云中心。同時(shí),也給了云內(nèi)部少數(shù)別有用心的員工可乘之機(jī)。
2.數(shù)字信息被非法利用。云計(jì)算下用戶數(shù)據(jù)具有易復(fù)制、轉(zhuǎn)移方便、傳播速度快等特點(diǎn),同時(shí)因?yàn)閿?shù)據(jù)存放在“云”端導(dǎo)致用戶對(duì)數(shù)據(jù)不可控,由于信息的不對(duì)稱,用戶可能在不知情的情況下,存儲(chǔ)在“云”端的數(shù)據(jù)極容易因?yàn)樗饺死妗⑸虡I(yè)利益被非法利用,即使這種情況發(fā)生,用戶也不易被察覺。
3.數(shù)字信息被篡改、破壞。對(duì)于使用云計(jì)算服務(wù)的用戶來說,他們并不清楚有哪些服務(wù)器提供數(shù)據(jù)的存儲(chǔ)和處理,此時(shí)用戶喪失了對(duì)數(shù)據(jù)的控制。當(dāng)更換服務(wù)器或者服務(wù)器或者服務(wù)器發(fā)生異常時(shí)數(shù)據(jù)是否還丟失,數(shù)據(jù)是否完整這些都是模糊的,一旦問題發(fā)生可能導(dǎo)致數(shù)據(jù)無法恢復(fù)的風(fēng)險(xiǎn)。
1.2代理重加密體制的思想。
代理重加密的核心思想是利用半可信的代理P,將S(任意發(fā)送者)發(fā)送給A(被代理者)的密文轉(zhuǎn)化為B(代理者)可以利用其私鑰解開的密文,但在這個(gè)轉(zhuǎn)化過程中要求代理不能得知被轉(zhuǎn)化密所對(duì)應(yīng)的明文,也不能得知A和B的私鑰。他們也初步給出了代理重加密的分類:按照可轉(zhuǎn)化的方向來說,可分為雙向代理重加密和單向代理重加密兩種;按照可轉(zhuǎn)化的次數(shù)來說,可分為單跳代理重加密和多跳代理重加密兩種。代理重加密的示意圖如圖1所示。
1.3 雙線性對(duì)
雙線性對(duì)在密碼學(xué)領(lǐng)域應(yīng)用廣泛,它被用于Tate對(duì)的FR攻擊和Weil對(duì)的MOV攻擊。在Joux于2000年發(fā)表他的論文之前,雙線性對(duì)一直被認(rèn)為只能用于對(duì)超奇異橢圓曲線的攻擊。文章利用超奇異橢圓曲線上判定雙線性Diffie-Hellman問題易解,計(jì)算雙線性Diffie-Hellman問題難解,構(gòu)造了一個(gè)基于身份的Diffie-Hellman密鑰協(xié)商協(xié)議。2001年,Boneh等利用它構(gòu)造了著名的高效且可證明安全的基于身份的加密方案(BF方案),但方案中的安全證明模型是隨機(jī)預(yù)言機(jī)模型。Waters基于身份的簽名方案[39]的提出,解決了之前很多公開問題。
由于論文中所提方案采用了雙線性對(duì)為數(shù)學(xué)工具,下面將對(duì)雙線性映射的定義進(jìn)行介紹:
定義設(shè)群 和群 分別為循環(huán)加法群和循環(huán)乘法群, 為群 的生成元, 為 、 的階。且兩個(gè)群滿足雙線性映射 :
(1)雙線性:對(duì)于所有的 和 有 。
(2)非退化性: ,使得 。
(3)可計(jì)算性:對(duì)于任意群中元素 ,存在一個(gè)有效算法計(jì)算 。
滿足上述條件的雙線性映射稱為可接納的(Admissible)雙線性映射。在實(shí)際中,利用橢圓曲線上的Weil對(duì)或Tate對(duì)便可構(gòu)造這種可接納的雙線性映射。
2 基于代理重加密的云計(jì)算數(shù)據(jù)共享的模型設(shè)計(jì)
本節(jié)針對(duì)云計(jì)算數(shù)據(jù)的安全性問題,提出了基于代理重加密的云計(jì)算數(shù)據(jù)共享的模型.本模型由一個(gè)數(shù)據(jù)屬主、若干用戶、密鑰分發(fā)中心和數(shù)據(jù)共享服務(wù)器組成。用戶主要實(shí)現(xiàn)對(duì)秘密文件加密共享和對(duì)應(yīng)文件的授權(quán)解密密文的分發(fā);密鑰分發(fā)中心主要對(duì)于用戶進(jìn)行管理,選擇系統(tǒng)參數(shù),給每一個(gè)用戶分配一個(gè)公私鑰對(duì),把私鑰秘密分發(fā)給系統(tǒng)用戶,公鑰公開;數(shù)據(jù)共享服務(wù)器主要實(shí)現(xiàn)秘密文件的存儲(chǔ)及共享,并提供數(shù)據(jù)的完整性和魯棒性。具體描述如下:
1.系統(tǒng)初始化:由系統(tǒng)選擇系統(tǒng)參數(shù),將公開參數(shù)公布,用作以后數(shù)據(jù)進(jìn)行加密共享的計(jì)算參數(shù)。
2.密鑰生成:由可信的密鑰服務(wù)器根據(jù)系統(tǒng)參數(shù),計(jì)算用戶的公私鑰對(duì),將公鑰公開,私鑰秘密傳送給用戶。
3.數(shù)據(jù)共享:當(dāng)一個(gè)合法用戶A想將消息進(jìn)行共享時(shí),首先將明文消息進(jìn)行加密,存儲(chǔ)于云存儲(chǔ)服務(wù)器中,將此部分生成的密文稱為共享密文,用戶為數(shù)據(jù)屬主。為了簡(jiǎn)便考慮,本方案中將數(shù)據(jù)的完整性檢驗(yàn)交由云存儲(chǔ)服務(wù)器完成。
4.數(shù)據(jù)授權(quán):當(dāng)系統(tǒng)中某個(gè)合法用戶B需要獲得該消息時(shí),首先向數(shù)據(jù)屬主A提出請(qǐng)求。A判斷B是否為合法用戶,當(dāng)B為合法用戶時(shí),A首先獲取接收者Bob公鑰,用數(shù)據(jù)存儲(chǔ)階段的隨機(jī)數(shù),生成另一部分密文,把它稱為授權(quán)解密密文,將其發(fā)送給用戶B。
5.數(shù)據(jù)恢復(fù):數(shù)據(jù)接收者B利用數(shù)據(jù)共享階段的共享密文和數(shù)據(jù)授權(quán)階段數(shù)據(jù)屬主A給定的授權(quán)解密密文,利用自己的私鑰,運(yùn)行解密算法,以獲得明文消息。
3 基于代理重加密的云計(jì)算數(shù)據(jù)共享的方案設(shè)計(jì)
3.1方案描述
該方案主要應(yīng)用于云計(jì)算數(shù)據(jù)共享環(huán)境中,實(shí)現(xiàn)數(shù)據(jù)的安全共享,主要由系統(tǒng)初始化、密鑰生成、數(shù)據(jù)共享、數(shù)據(jù)授權(quán)、數(shù)據(jù)恢復(fù)五個(gè)過程組成。
1.系統(tǒng)初始化。由系統(tǒng)服務(wù)器完成。給定一個(gè)安全參數(shù) ,選擇階為素?cái)?shù) 的雙線性對(duì)映射群 。隨機(jī)選擇 中的四個(gè)生成元 。選擇一個(gè)強(qiáng)不可偽造一次簽名體制 (Gen,Sig,Ver),選取一個(gè)目標(biāo)防碰撞的散列函數(shù) 。全局參數(shù)為 。
2.密鑰生成。由密鑰生成服務(wù)器完成。某一用戶i,服務(wù)器從 中隨機(jī)選取一個(gè)元素 作為i的私鑰,計(jì)算i公鑰 。把用戶的公鑰公開,將私鑰秘密發(fā)送給各個(gè)用戶。
3.數(shù)據(jù)共享。隨機(jī)選擇一次簽名密鑰對(duì) 并且設(shè)置 。隨機(jī)選擇 及 之后計(jì)算
, , ,
對(duì) 進(jìn)行一次簽名,得到簽名值 ,輸出的共享密文
4.數(shù)據(jù)授權(quán)。當(dāng)用戶向數(shù)據(jù)屬主請(qǐng)求數(shù)據(jù)訪問時(shí),數(shù)據(jù)屬主判斷用戶的身份是否合法。若為不合法用戶,發(fā)送者拒絕進(jìn)行數(shù)據(jù)授權(quán)操作;若合法用戶,數(shù)據(jù)屬主生成密文的另一部分,即授權(quán)解密密文。此授權(quán)解密密文生成算法的輸入是上面發(fā)送者在加密算法過程中所使用的隨機(jī)數(shù) ,接收者的公鑰 ,發(fā)送者生成授權(quán)解密密文為: 。將此授權(quán)解密密鑰傳送給接收者。
5.數(shù)據(jù)恢復(fù)。 (1)
(2)
如果式(1)式(2)不成立,則輸出 ,否則繼續(xù)一下步驟
計(jì)算 ,解析 為 ,m為 , 為 ,并輸出m。
3.2方案的安全分析
本方案采用參考文獻(xiàn)第二層密文,在基于3- 弱判定型雙線性迪菲-赫爾曼求逆假設(shè), 假設(shè)Signure是一個(gè)不可偽造的一次強(qiáng)簽名函數(shù),并且群 的3- wDBDHI假設(shè)成立,那么,該方案是 CCA 安全的。該文獻(xiàn)已經(jīng)對(duì)第二層密文進(jìn)行了詳細(xì)的安全性證明。本方案摘取其第二層密文,所以保證了其安全性。
本文沒有討論數(shù)據(jù)屬主向不合法用戶發(fā)送授權(quán)解密密文,這是因?yàn)椋?dāng)不合法用戶i獲得授權(quán)解密密文 ,他就可以通過自己的私鑰 計(jì)算 。當(dāng)不合法用戶公布 后,任何用戶都能通過計(jì)算 ,導(dǎo)致數(shù)據(jù)不安全。因此在本方案中,要求數(shù)據(jù)的發(fā)送者要檢查其授權(quán)用戶的合法性,只有合法的用戶才能獲得授權(quán)解密密文。
3.3 方案的效率分析
本文通過對(duì)數(shù)據(jù)共享過程中計(jì)算復(fù)雜度和存儲(chǔ)開銷對(duì)方案的效率進(jìn)行分析。
LV方案和WJ方案和本文方案采用的雙線性配對(duì)都是Tate 雙線性配對(duì)。要達(dá)到 1024 bit RSA 的安全級(jí)別,需要 512 bit的Tate雙線性配對(duì)操作。根據(jù)文獻(xiàn)的實(shí)驗(yàn)結(jié)果,執(zhí)行一次Tate 雙線性操作需要20.04 ms,一次模指數(shù)運(yùn)算為 5.31 ms。而RSA 的簽名時(shí)間約為執(zhí)行一次模指數(shù)運(yùn)算的時(shí)間,RSA 的驗(yàn)證時(shí)間相對(duì)于簽名時(shí)間可忽略。因此,可分別估算WJ方案、LV方案和本文方案的總運(yùn)算時(shí)間為302.59 ms,307.5 ms和220.13 ms,由此得出本文方案總運(yùn)算時(shí)間分別是WJ方案的 72.75%,是LV方案的71.59%。
4結(jié)束語
云計(jì)算憑借其不可忽視的優(yōu)勢(shì)迅速發(fā)展,但同時(shí),作為具有廣闊前景的新興產(chǎn)業(yè),數(shù)據(jù)安全問題始終是制約其推廣應(yīng)用的瓶頸,如何利用新興密碼技術(shù),如基于身份加密、基于屬性加密、全同態(tài)加密等具有特殊性質(zhì)的加密系統(tǒng)來解決云計(jì)算中存在的安全問題是一個(gè)很好的研究方向。
參考文獻(xiàn)
[1] NIST definition of cloud.Nist 500-292 “NIST Cloud Computing Reference Architecture” [OL], http://www.nist.gov
[2] M. Blaze, G. Bleumer, and M. Strauss. Divertible Protocols and Atomic Proxy Cryptography[C]. In EUROCRYPT 1998, LNCS 1403, pp. 127-144, 1998.
[3] 淺談云計(jì)算和云安全 吳濤.