喬 娜
(國(guó)家圖書(shū)館 信息網(wǎng)絡(luò)部,北京100081)
隨著計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)的發(fā)展,大規(guī)模的共享數(shù)據(jù)需要更有效的存儲(chǔ)方式,云存儲(chǔ)的提出為數(shù)據(jù)的分布式存儲(chǔ)問(wèn)題提供了可行的解決方案[1]。另一方面,受制于云存儲(chǔ)的開(kāi)放性,其安全問(wèn)題也受到很大的關(guān)注,特別是2011年出現(xiàn)的CSDN網(wǎng)站 “泄密門(mén)”事件,密碼在網(wǎng)站上以明文方式傳輸,600萬(wàn)用戶(hù)密碼遭泄露,更增加了人們的擔(dān)憂(yōu)。人們一般不大傾向于將一些重要數(shù)據(jù) (如個(gè)人健康記錄、犯罪信息等)放在不大可信的云端,一旦泄露,后果嚴(yán)重。上例說(shuō)明在云中托管信息必須要有強(qiáng)安全性的保護(hù)措施。因此提出安全的云存儲(chǔ)機(jī)制就成為了云計(jì)算發(fā)展和應(yīng)用中急需解決的問(wèn)題。
從技術(shù)層面來(lái)看,保證安全性的有效方法仍然是加密。加密分為對(duì)稱(chēng)加密和基于公鑰的加密技術(shù)[2],前者具有高運(yùn)算速度、低存儲(chǔ)和能量開(kāi)銷(xiāo)的優(yōu)點(diǎn),但如何將共享會(huì)話(huà)密鑰安全分發(fā)給相應(yīng)的通信方也是一個(gè)不簡(jiǎn)單的問(wèn)題。利用公鑰密碼技術(shù)來(lái)解決分布式網(wǎng)絡(luò)中的密鑰管理問(wèn)題是很成功的解決方法。然而并不適合要求效率和大規(guī)模分布式網(wǎng)絡(luò)的即時(shí)性要求,
基于上述考慮,本文提出了基于引導(dǎo)密鑰加密的廣播加密的安全云存儲(chǔ)方案,利用了對(duì)稱(chēng)密碼的優(yōu)勢(shì),同時(shí)由文件所有者掌握引導(dǎo)密鑰,解決了密鑰管理中密鑰傳遞的難題。利用廣播加密,使得密鑰可以在任意子集的用戶(hù)集合間共享,同時(shí)保證了只有合法用戶(hù)才知道文件的內(nèi)容和訪(fǎng)問(wèn)文件對(duì)象的密鑰。
云存儲(chǔ)是云計(jì)算的一個(gè)基礎(chǔ)架構(gòu)技術(shù)[3],Hamdi研究了了云存儲(chǔ)中存在的各種安全攻擊、對(duì)抗攻擊的技術(shù)的發(fā)展以及研究趨勢(shì),從服務(wù)、原則、需求等方面強(qiáng)調(diào)了安全管理的要素。類(lèi)似的綜述還有文獻(xiàn)[4],提出了一系列的安全需求,除了傳統(tǒng)的數(shù)據(jù)完整性、機(jī)密性、認(rèn)證和控制,還有配置安全、可信虛擬安全等。
針對(duì)云存儲(chǔ)的安全,主要有3個(gè)維度:安全體系架構(gòu)[5]、協(xié)議策略[6]、數(shù)據(jù)管理[7]。邊根慶等人提出了一種分散式存儲(chǔ)的安全架構(gòu)[5],采用信息擴(kuò)散、分片存儲(chǔ)管理、數(shù)據(jù)恢復(fù)等技術(shù),并用層次化的方式實(shí)現(xiàn)存儲(chǔ)數(shù)據(jù)的安全管理和傳輸,然而該算法開(kāi)銷(xiāo)較大。林秦穎等人提出了一種面向云存儲(chǔ)的安全的存儲(chǔ)模型和策略[6],旨在解決云存儲(chǔ)中用戶(hù)的匿名性和數(shù)據(jù)安全性的問(wèn)題,類(lèi)似的還有田俊峰等人提出的可信的云存儲(chǔ)控制模型[8],通過(guò)定義一組協(xié)議策略實(shí)現(xiàn)數(shù)據(jù)的完整性、機(jī)密性和安全存儲(chǔ)。李茂等人提出了一種數(shù)據(jù)管理的新模型[7],通過(guò)詳細(xì)的定義數(shù)據(jù)模型的數(shù)據(jù)操作、約束條件和數(shù)據(jù)結(jié)構(gòu),保證了模型的完整性。上述算法的缺點(diǎn)是沒(méi)有從云端安全性、密碼認(rèn)證、數(shù)據(jù)共享多方面來(lái)保證云存儲(chǔ)的安全性能。文獻(xiàn)[6]考察了強(qiáng)安全性的情況,但是缺乏秘密信息的高效保存機(jī)制,文獻(xiàn)[8]利用可信第三方存儲(chǔ)密鑰,不能解決大規(guī)模分布式存儲(chǔ)的密鑰管理問(wèn)題。
在數(shù)據(jù)安全性認(rèn)證方面,于洋洋等人提出了一種云存儲(chǔ)中的數(shù)據(jù)完整性驗(yàn)證算法[9],結(jié)合MD5和可恢復(fù)性證明方法,可檢測(cè)出數(shù)據(jù)是否被損壞,但是該算法沒(méi)有恢復(fù)機(jī)制。文獻(xiàn)[10]提出了一種基于糾刪碼中的Tornado碼設(shè)計(jì)數(shù)據(jù)冗余系統(tǒng)以解決數(shù)據(jù)丟失恢復(fù)問(wèn)題,并通過(guò)帶密鑰的哈希使Tornado碼具備糾錯(cuò)功能從而解決數(shù)據(jù)的篡改問(wèn)題。上述算法都沒(méi)有考慮問(wèn)責(zé)機(jī)制,出現(xiàn)數(shù)據(jù)的損壞丟失不能迅速清晰的定位責(zé)任方。問(wèn)責(zé)機(jī)制是強(qiáng)安全性的必備條件,目前已經(jīng)引起多位研究者的關(guān)注,如文獻(xiàn)[11-13]。安寶宇提出了基于可信第三方的數(shù)據(jù)完整性問(wèn)責(zé)方案[14],基于Merkel哈希樹(shù)建立憑單鏈條保證數(shù)據(jù)完整性,是一個(gè)有益的探索。
最后在云存儲(chǔ)的數(shù)據(jù)共享方面,廣播加密方案是一個(gè)有效的方法,目前出現(xiàn)了各種廣播加密算法,如基于公鑰密碼體制的廣播加密[15],基于身份的廣播加密算法[16],基于屬性的加密算法[17]和其他算法[18]等?;诠€密碼體制的廣播加密的缺點(diǎn)是計(jì)算量復(fù)雜,不太適合要求效率的場(chǎng)合;基于身份的廣播加密技術(shù)由Delerablee等提出[16],每個(gè)身份或ID與每個(gè)用戶(hù)一一對(duì)應(yīng)。每個(gè)用戶(hù)可以從可信的權(quán)威機(jī)構(gòu)獲得自己的私鑰,同時(shí)將ID作為自己的公鑰。一個(gè)具有基于屬性機(jī)制的BE方案 (ABBE)在[17]中提出,主要利用基于可表達(dá)屬性的訪(fǎng)問(wèn)控制策略替代了簡(jiǎn)單接收者列表。然而該算法適用一類(lèi)模糊條件下的安全問(wèn)題,而云存儲(chǔ)中共享的節(jié)點(diǎn)組是清晰的,而且相同的屬性并不代表合法的節(jié)點(diǎn),所以不適用本文的云存儲(chǔ)環(huán)境。
綜上所述,就本文的強(qiáng)安全性要求的云存儲(chǔ)的場(chǎng)景而言,目前還沒(méi)有完美的解決方案。本文提出引導(dǎo)密鑰解決密鑰管理問(wèn)題,考察了強(qiáng)安全性的條件,提出了一種由文件所有者掌握引導(dǎo)密鑰來(lái)生成所需要的加密密鑰的方案,確保了即使云端泄露用戶(hù)數(shù)據(jù)也不會(huì)造成嚴(yán)重的危害。本文的另一個(gè)特點(diǎn)是融合廣播加密機(jī)制到云存儲(chǔ)的過(guò)程中。為了滿(mǎn)足合法用戶(hù)的讀取要求,同時(shí)避免非法用戶(hù)的越權(quán)訪(fǎng)問(wèn),引入廣播加密方案。廣播加密使得密鑰可以在任意子集的用戶(hù)集合間共享,同時(shí)保證了只有合法用戶(hù)才知道文件的內(nèi)容和訪(fǎng)問(wèn)文件對(duì)象的密鑰。
設(shè)置一個(gè)應(yīng)用場(chǎng)景如下:
(1)分布式云存儲(chǔ)系統(tǒng)中,用戶(hù)將自己的數(shù)據(jù)放在云端,并能隨時(shí)隨地讀取,而不需要重復(fù)認(rèn)證。
(2)云端是不可信的,存在丟失和篡改數(shù)據(jù)的風(fēng)險(xiǎn)。
(3)數(shù)據(jù)在篡改時(shí)能夠定位并恢復(fù)數(shù)據(jù)。能夠在可信第三方的監(jiān)察下,確定問(wèn)責(zé)主體。
(4)能實(shí)現(xiàn)合法用戶(hù)的數(shù)據(jù)共享和非法用戶(hù)的拒絕訪(fǎng)問(wèn)。
基于上述場(chǎng)景,給出技術(shù)上的實(shí)現(xiàn)功能框圖,如圖1所示。主要涉及4個(gè)部分的技術(shù)細(xì)節(jié):數(shù)據(jù)處理、引導(dǎo)密鑰的加密和數(shù)據(jù)讀取、廣播加密方案和基于可信第三方的數(shù)據(jù)審計(jì)和問(wèn)責(zé)。
圖1 云存儲(chǔ)方案框架
基于圖1的框圖,在下一節(jié)中逐項(xiàng)給出相應(yīng)的技術(shù)實(shí)現(xiàn)。
用戶(hù)文件首先被切割成分片,然后分片被發(fā)散存儲(chǔ)到不同的存儲(chǔ)節(jié)點(diǎn)?,F(xiàn)有的大部分存儲(chǔ)系統(tǒng)都使用的這種存儲(chǔ)方式。分片處理的原因是由于文件的大小并不統(tǒng)一,整體存儲(chǔ)容易產(chǎn)生碎片。而且文件完整存儲(chǔ)在某個(gè)存儲(chǔ)節(jié)點(diǎn)上,容易導(dǎo)致信息泄露。為避免分片的節(jié)點(diǎn)的崩潰,需要引入冗余。
然后對(duì)分片的數(shù)據(jù)進(jìn)行編碼,如Tornado碼[10],具有良好的糾刪能力。
進(jìn)一步對(duì)數(shù)據(jù)碼進(jìn)行哈希運(yùn)算,實(shí)現(xiàn)檢測(cè)數(shù)據(jù)篡改功能。
這里使用一種帶密鑰的哈希函數(shù),如HMAC-SHA1。對(duì)每個(gè)數(shù)據(jù)塊都使用HAMC-SHA1和密鑰Enck計(jì)算一個(gè)哈希值,并且將數(shù)據(jù)塊與對(duì)應(yīng)的哈希值保存。對(duì)于數(shù)據(jù)塊x,攻擊者在沒(méi)有Enck的情況下,無(wú)法找到數(shù)據(jù)塊y≠x且Hmac(Enck,x)=Hmac(Enck,y),而且也無(wú)法使用 (y,Hmac(Enck,y))替換 (x,Hmac(Enck,x))。這種特性將保證我們可以檢測(cè)出數(shù)據(jù)是否被篡改,只要我們對(duì)數(shù)據(jù)進(jìn)行相同的哈希并與保存的哈希值進(jìn)行配對(duì)比較。
我們檢測(cè)到錯(cuò)誤數(shù)據(jù)后,還需要去糾正它。先丟棄錯(cuò)誤的數(shù)據(jù)塊,利用Tornado碼的良好糾刪能力可以實(shí)現(xiàn)數(shù)據(jù)塊的恢復(fù)。
這個(gè)方法是因?yàn)樗婕暗矫荑€的管理問(wèn)題,代價(jià)較大,在這里,使用3.2里由引導(dǎo)密碼產(chǎn)生的加密密鑰Enck來(lái)解決這個(gè)問(wèn)題。
根據(jù)Diffie-Hellman原理,一個(gè)密碼系統(tǒng)的安全性不能依賴(lài)于算法本身,而是密鑰,所以對(duì)密鑰的產(chǎn)生和管理是系統(tǒng)安全的關(guān)鍵。
該部分主要講述如何實(shí)現(xiàn)數(shù)據(jù)的強(qiáng)機(jī)密性,即除了用戶(hù)自己,任何人都無(wú)法獲取數(shù)據(jù)的有意義信息,哪怕是云服務(wù)提供商。為了達(dá)到這種安全性,傳統(tǒng)的由云端負(fù)責(zé)加密的架構(gòu)已經(jīng)不適用。數(shù)據(jù)在上傳到云端之前就需要在本地加密,且加密密鑰僅用戶(hù)所有。數(shù)據(jù)既然在本地被加密后存放到云端,則在下載回本地。進(jìn)行數(shù)據(jù)讀取時(shí)也需要被解密,其中的過(guò)程都將牽涉到密鑰。
非對(duì)稱(chēng)加密算法的速度較慢,在面對(duì)較大的文件時(shí)力不從心,很難達(dá)到理想的速度,因此我們選用對(duì)稱(chēng)加密算法,用戶(hù)在上傳數(shù)據(jù)之前采用傳統(tǒng)的對(duì)稱(chēng)加密技術(shù) (如AES)對(duì)數(shù)據(jù)進(jìn)行加密。
在云存儲(chǔ)中,由于存在大規(guī)模的用戶(hù),用戶(hù)必須自己維護(hù)管理密鑰,而云存儲(chǔ)也喪失了簡(jiǎn)單、隨地可用的特性。為了解決這個(gè)問(wèn)題,我們引入引導(dǎo)密碼。如圖2所示。
圖2 引導(dǎo)密碼
引導(dǎo)密碼是一個(gè)類(lèi)似于郵箱密碼或MSN密碼的一個(gè)普通密碼字符串,它的作用相當(dāng)于一個(gè)密鑰生成種子,通過(guò)它來(lái)生成加密所需的加密密鑰。引導(dǎo)密碼由兩部分組成:第一部分是由用戶(hù)輸入的記憶密碼,第二部分是自動(dòng)加上的當(dāng)前加密的文件名或其它的文件唯一標(biāo)識(shí)符。這樣用戶(hù)可以通過(guò)相同的記憶密碼為不同的文件產(chǎn)生不同的引導(dǎo)密碼,進(jìn)而生成不同的加密密鑰。相比直接使用加密密鑰,使用更易于記憶的引導(dǎo)密碼可以使用戶(hù)避開(kāi)密鑰的管理等難題,用戶(hù)只需要記憶自己輸入的記憶密碼即可。
引導(dǎo)密鑰的獲取需要一個(gè)密鑰產(chǎn)生函數(shù),這個(gè)函數(shù)的輸入是引導(dǎo)密碼,輸出是加密密鑰。密鑰產(chǎn)生函數(shù)應(yīng)該具備的第一個(gè)特性是只要而且只有輸入相同,產(chǎn)生的輸出相同。第二個(gè)特性是它應(yīng)該將長(zhǎng)度較短的引導(dǎo)密碼發(fā)散成長(zhǎng)度固定的加密密鑰,如AES所需要的最短加密密鑰長(zhǎng)度128位。很明顯,哈希函數(shù)MD5或SHA1都具備這兩種特性,可以充當(dāng)我們的密鑰產(chǎn)生函數(shù)。
用戶(hù)每次上傳 (下載)文件,都需要先輸入記憶密碼,組裝成引導(dǎo)密碼,通過(guò)哈希函數(shù)計(jì)算出加密密鑰,然后對(duì)文件進(jìn)行加密 (解密)。引導(dǎo)密碼只有用戶(hù)知道,因此即使云提供商也無(wú)法獲取數(shù)據(jù)的有意義信息。不足的地方是數(shù)據(jù)機(jī)密性不再取決于AES的安全性,降低到了引導(dǎo)密碼的安全性。但這種安全性并非所想的那么不堪,對(duì)于一個(gè)16位長(zhǎng)的沒(méi)有任何社會(huì)規(guī)律的密碼,不考慮其它途徑如中毒導(dǎo)致的密碼泄露,使用一臺(tái)普通PC窮舉攻擊獲取這個(gè)密碼所需的時(shí)間以?xún)|年計(jì)。而且相對(duì)于直接使用加密密鑰帶來(lái)的幾乎無(wú)法接受的密鑰管理問(wèn)題,這是可以接受的。
為了使得合法數(shù)據(jù)得到共享,同時(shí)禁止非法用戶(hù)獲取資源,采用廣播加密方案 (broadcast encryption scheme)來(lái)解決。
廣播加密方案是發(fā)送者向所有節(jié)點(diǎn)頒發(fā)加密的消息,只允許授權(quán)解密的用戶(hù)能成功解密的密碼系統(tǒng)。已廣泛應(yīng)用于有償電視 (pay-TV)系統(tǒng)、版權(quán)資料發(fā)布和CD/DVD內(nèi)容保護(hù)等等。
最基本的廣播加密方案一般由以下3個(gè)算法組成:
-Setup:輸入用戶(hù)u∈U,且構(gòu)造一個(gè)私有信息Pu∈P。
-Broadcast:輸入revoked用戶(hù)集R和會(huì)話(huà)密鑰k∈K,輸出廣播消息B,其中B=(u1,F(xiàn)(Ku(1),M)) ( (uN-r,F(xiàn)(Ku(N-r),M));
-Decrypt:輸入B,Pu和u,并計(jì)算共同密鑰 (,輸出對(duì)應(yīng)的明文F-1(k,c)=M。否則失敗。
本文的廣播加密方案是在最新的方案 (文獻(xiàn)[19])的基礎(chǔ)上改進(jìn)的。
初始化:用戶(hù)首先生成一個(gè)足夠健壯的私有主密鑰MSK,主密鑰即為足夠長(zhǎng)度的引導(dǎo)密鑰,然后將私有主密鑰與目標(biāo)接收點(diǎn)的身份ID和密鑰版本串聯(lián)在一起,并對(duì)該整體進(jìn)行哈希運(yùn)算,將得到的結(jié)果 (聯(lián)合私鑰skIDi)作為該對(duì)象的對(duì)應(yīng)于本次版本下的一個(gè)加密密鑰。
加密:對(duì)于私鑰skIDi和一個(gè)用戶(hù)的身份集合S={ID1,…,IDs},s為用戶(hù)節(jié)點(diǎn)數(shù)目,經(jīng)過(guò)3.1節(jié)所提出的哈希處理,加密密鑰即為skIDi,輸出為一對(duì) (H,K),其中H為S的哈希后的值,K是加密方案的密鑰集合,為s個(gè)私鑰skIDi的集合。
廣播:當(dāng)需要將消息M∈{0,1}廣播給s中的所有或部分用戶(hù)時(shí),廣播者先生成 (H,K)←H (s,skIDi),然后根據(jù)加密算法生成 (Hdr,S,CM)←Encrypt(H,K,M),CM為消息 M 的加密信息。廣播者廣播 (Hdr,S,CM)。(Hdr,S)作為整個(gè)報(bào)頭,CM作為廣播主體。
解密:利用解密算法計(jì)算Decrypt(S,ID,Hdr,skIDi),在已知子集S={ID1,…,IDs}、某個(gè)接收者的身份ID和其私鑰skID的情況下,可以解析報(bào)頭Hdr,得到該合法節(jié)點(diǎn)加密密鑰,再對(duì)消息解CM解密,從而恢復(fù)消息M。
其中加密和解密算法采用了文獻(xiàn)[19]中的設(shè)計(jì)過(guò)程,此處就不再重復(fù)敘述了。改進(jìn)后的算法融合了本文的引導(dǎo)密鑰機(jī)制和帶密鑰的哈希運(yùn)算,相對(duì)于原文獻(xiàn),靈活性和安全性有進(jìn)一步的提高。
融合上述的引導(dǎo)密鑰機(jī)制和廣播加密方案,進(jìn)一步提出基于引導(dǎo)密鑰加密的廣播加密方案的云存儲(chǔ)方案如圖3所示。
圖3 安全云存儲(chǔ)架構(gòu)
實(shí)線(xiàn)表示實(shí)際的路徑,用戶(hù)將數(shù)據(jù)通過(guò)加密,傳到網(wǎng)上,通過(guò)公共接口達(dá)到云存儲(chǔ)服務(wù)器端,寫(xiě)入云端。虛線(xiàn)表示透明功能選項(xiàng),本文的加密機(jī)制采用引導(dǎo)密鑰加密,從用戶(hù)角度來(lái)看,就是直接加密數(shù)據(jù)放到云端,并用引導(dǎo)密鑰讀取數(shù)據(jù);云端的加密密鑰是采用廣播方式發(fā)送到用戶(hù)端,合法的認(rèn)證用戶(hù)可以提取數(shù)據(jù)。上述的引導(dǎo)密鑰只對(duì)文件所有者或共享者所有的,對(duì)云端也是保密的,安全性進(jìn)一步提高。
為了實(shí)現(xiàn)強(qiáng)安全性的審計(jì)功能,本文引入了可信第三方參與。引入可信第三方之后的數(shù)據(jù)流向圖如圖4所示。
圖中SSP(storage service provider)表示云存儲(chǔ)服務(wù)提供商,TTP表示可信第三方。相對(duì)于圖3,圖4增加了可信第三方以及基于第三方的審計(jì)功能,圖中描述了3種獨(dú)立的數(shù)據(jù)流:文件讀/寫(xiě)數(shù)據(jù)流,該數(shù)據(jù)流只存在于用戶(hù)和SSP之間;憑單生成數(shù)據(jù)流,關(guān)于數(shù)據(jù)流的交互憑據(jù),存放在SSP上;問(wèn)責(zé)審計(jì)數(shù)據(jù)流。
圖4 用戶(hù)、云端、可信第三方的數(shù)據(jù)流向
審計(jì)和問(wèn)責(zé)的過(guò)程如下:
(1)在文件讀寫(xiě)的過(guò)程中分別增加憑據(jù)流和審計(jì)流,可信第三方負(fù)責(zé)認(rèn)證信息的收集和證言的判斷。用戶(hù)讀寫(xiě)數(shù)據(jù)流 (R\W flow)時(shí),按照版本遞增的原則給每條操作設(shè)置一個(gè)字符串—憑據(jù),為用戶(hù)讀取和寫(xiě)入的文件提供完整性保護(hù)的同時(shí)為審計(jì)提供證據(jù)。
(2)當(dāng)通過(guò)3.1中描述的方法檢測(cè)出數(shù)據(jù)不完整或者丟失篡改時(shí),由于云端的不可信,用戶(hù)很可能與云端發(fā)生錯(cuò)誤歸屬的爭(zhēng)議。這時(shí)SSP可以提取和驗(yàn)證在數(shù)據(jù)交互中產(chǎn)生的憑單鏈條來(lái)實(shí)現(xiàn)相關(guān)操作的舉證。
(3)可信第三方在認(rèn)證各方以及憑據(jù)的合法性后,出示證言,進(jìn)行追責(zé),或是用戶(hù)的操作錯(cuò)誤,或是云端的惡意操作,然后主張權(quán)責(zé)歸屬。
該方案,在圖3對(duì)云端保密數(shù)據(jù)的基礎(chǔ)上,進(jìn)一步確保了云端的強(qiáng)安全性。
所提方案具有較好的靈活性和較高的安全性。
(1)本方案采用用戶(hù)引導(dǎo)密碼來(lái)生成主密鑰,在保證系統(tǒng)機(jī)密性要求的前提下,使得用戶(hù)能夠在任何時(shí)間、任何地點(diǎn)和任何一臺(tái)機(jī)器上實(shí)現(xiàn)對(duì)密鑰數(shù)據(jù)的有效管理。這實(shí)質(zhì)上是引入了人的管理因素,每個(gè)人只需要記住涉及自己的若干個(gè)密碼,就可以維護(hù)自己的數(shù)據(jù)以及與他人進(jìn)行廣播共享,而若干密碼可以由用戶(hù)設(shè)置的引導(dǎo)密碼來(lái)完成加密解密。這樣可以避免云端管理密鑰帶來(lái)的可能的泄漏或者負(fù)擔(dān)過(guò)重的問(wèn)題。
(2)用戶(hù)內(nèi)容對(duì)云端保密。本文方案通過(guò)用戶(hù)來(lái)管理密鑰,同時(shí)對(duì)具體內(nèi)容進(jìn)行加密傳輸并儲(chǔ)存在云端。這樣云端或可信第三方都無(wú)法知道文件內(nèi)容,就可以避免前述的存儲(chǔ)在云端的數(shù)據(jù)不會(huì)被泄露 (至少泄露信息可控),另一方面云端很難有意或無(wú)意的更改存儲(chǔ)的數(shù)據(jù)。特別是將重要敏感的數(shù)據(jù)交給云端托管時(shí),這些措施很有必要。傳統(tǒng)的云存儲(chǔ)都是用明文存放數(shù)據(jù)后在云端加密,因此數(shù)據(jù)的安全性依賴(lài)于對(duì)云端的信任,而一旦云端的訪(fǎng)問(wèn)控制機(jī)制出現(xiàn)問(wèn)題后果不堪設(shè)想。
(3)本文的廣播加密的作用類(lèi)似于數(shù)字版權(quán)保護(hù)。文件對(duì)象的創(chuàng)建者通過(guò)廣播加密向允許訪(fǎng)問(wèn)該文件對(duì)象的用戶(hù)范圍廣播該對(duì)象的加密密鑰,只有處于創(chuàng)建者指定的集合中的用戶(hù)才能解密收到的消息從而獲得加密密鑰。密鑰輪換用來(lái)在需要變更能夠訪(fǎng)問(wèn)該文件的用戶(hù)范圍時(shí)使用,文件對(duì)象的創(chuàng)建者將對(duì)新的能夠訪(fǎng)問(wèn)該對(duì)象的用戶(hù)集合廣播新的密鑰,同時(shí)更改密鑰版本 (版本號(hào)加1)。
(4)所提方案使用一種帶密鑰的哈希函數(shù)對(duì)數(shù)據(jù)塊進(jìn)行加密。這種哈希函數(shù)與普通哈希函數(shù)的區(qū)別是它的哈希結(jié)果不僅與輸入數(shù)據(jù)有關(guān),而且與輸入密鑰也有關(guān)。對(duì)于同一個(gè)數(shù)據(jù)塊,輸入不同的密鑰產(chǎn)生的哈希結(jié)果也是不同的。相對(duì)普通哈希解決方案不能檢測(cè)內(nèi)容和哈希值同時(shí)被替換的情況,提高了篡改檢測(cè)的準(zhǔn)確性和安全性。
(5)問(wèn)責(zé)的效果和抗攻擊。云提供商故意修改或破壞存放的數(shù)據(jù)對(duì)象:由于存放在云端的數(shù)據(jù)經(jīng)過(guò)了分片和單向函數(shù)的置亂,云提供商SSP無(wú)法偽造一個(gè)合法簽名的數(shù)據(jù)對(duì)象;同時(shí)由于每個(gè)數(shù)據(jù)對(duì)象每次合理的修改后,都會(huì)產(chǎn)生一個(gè)憑據(jù),這樣就形成了一個(gè)憑據(jù)鏈,本方案引入了可信第三方的簽名認(rèn)證,這樣方案中涉及到的關(guān)鍵動(dòng)作均有三方簽名的憑據(jù)做保障,可信第三方負(fù)責(zé)確保憑據(jù)鏈的完整性和最新性。若出現(xiàn)云提供商的違規(guī),是可以定位SSP的責(zé)任的。如果SSP想刪除某個(gè)對(duì)象時(shí),由于每個(gè)數(shù)據(jù)對(duì)象每次合理的修改后的版本號(hào)是遞增的關(guān)系,不同的版本之間也構(gòu)成了一個(gè)可認(rèn)證的憑據(jù)鏈,刪除對(duì)象會(huì)造成憑據(jù)鏈條的跳躍情況,很容易被發(fā)現(xiàn)。如果云端想用替換的方法,如用一個(gè)相同版本號(hào)的憑據(jù)替換惡意操作部分的憑據(jù),則需要同時(shí)偽造TTP和用戶(hù)的簽名,這是非常困難的。
同理用戶(hù)出現(xiàn)上述的違規(guī)行為,或抵賴(lài)自身行為,或污蔑對(duì)方,也是可以通過(guò)對(duì)方 (SSP)舉證,可信第三方認(rèn)證雙方身份,并出示證言,而判斷各自的權(quán)責(zé)歸屬的。
本文關(guān)注并解決了強(qiáng)安全性的條件下的數(shù)據(jù)安全問(wèn)題。提出了一種由文件所有者掌握引導(dǎo)密鑰來(lái)生成所需要的廣播加密密鑰的方案,確保了即使云端泄露用戶(hù)數(shù)據(jù)也不會(huì)造成嚴(yán)重的危害,同時(shí)解決了傳統(tǒng)對(duì)稱(chēng)數(shù)據(jù)加密中密鑰難以管理和保存的問(wèn)題。另外,引入了審計(jì)問(wèn)責(zé)機(jī)制,實(shí)現(xiàn)了用戶(hù)和云存儲(chǔ)服務(wù)商的責(zé)任歸屬,從而進(jìn)一步約束行為,加強(qiáng)了數(shù)據(jù)的安全性。分析表明本文算法具有較高的安全性和靈活性。下一步的工作進(jìn)一步完善和優(yōu)化廣播加密方案,使之安全性能更高,更符合云計(jì)算的服務(wù)提供需求。引導(dǎo)密鑰用于廣播加密以及其自身的強(qiáng)安全性也值得進(jìn)一步研究。
[1]WU Jiyi.Study on DHT based open P2Pcloud storage services systems[D].Hangzhou:University of Zhejiang,2011:17-18(in Chinese).[吳吉義.基于DHT的開(kāi)放對(duì)等云存儲(chǔ)服務(wù)系統(tǒng)研究[D].杭州:浙江大學(xué),2011:17-18.]
[2]Tang Yang,Lee Patrick P C,Lui John C S.Secure overlay cloud storage with access control and assured deletion[J].IEEE Transactions on Dependable and Secure Computing,2012,9(6):903-916.
[3]Hamdi M.Security of cloud computing,storage,and networking[C]//International Conference on Collaboration Technologies and Systems,2012:1-5.
[4]YU Nenghai,HAO Zhuo,XU Jiajia,et al.Review of cloud computing security[J].Journal of Electronic.2013,41 (2):371-381(in Chinese).[俞能海,郝卓,徐甲甲,等.云安全研究進(jìn)展綜述[J].電子學(xué)報(bào),2013,41 (2):371-381.]
[5]BIAN Genqing,GAO Song,SHAO Bilin.Security structure of cloud storage based on dispersal[J].Journal of Xi'an Jiaotong University,2011,45 (4):41-45(in Chinese).[邊根慶,高松,邵必林.面向分散式存儲(chǔ)的云存儲(chǔ)安全架構(gòu)[J].西安交通大學(xué)學(xué)報(bào),2011,45 (4):41-45.]
[6]LIN Qinying,GUI Xiaolin,SHI Deqin,et al.Study of the secure access strategy of cloud storage[J].Journal of Computer Research and Development,2011,48 (Suppl):240-243 (in Chinese).[林秦穎,桂小林,史德琴,等.面向云存儲(chǔ)的安全存儲(chǔ)策略研究[J].計(jì)算機(jī)研究與發(fā)展,2011,48 (Suppl):240-243.]
[7]LI Mao,JIA Hong,LI Yanming,et al.New data model for cloud data management[J].Computer Engineering and Design,2012,33 (10):3870-3876(in Chinese).[李茂,賈宏,李艷明,等.云數(shù)據(jù)管理的新數(shù)據(jù)模型[J].計(jì)算機(jī)工程與設(shè)計(jì),2012,33 (10):3870-3876.]
[8]TIAN Junfeng,WU Zhijie.Trusted control model of cloud storage[J].Journal of Chinese Computer Systems,2013,34 (4):789-795(in Chinese).[田俊峰,吳志杰.一種可信的云存儲(chǔ)控制模型[J].小型微型計(jì)算機(jī)系統(tǒng),2013,34 (4):789-795.]
[9]YU Yangyang,YU Huiqun,F(xiàn)AN Guisheng.An approach to verifying the data integrity of cloud storage[J].Journal of East China University of Science and Technology(Natural Science Edition),2013,39 (2):211-216(in Chinese).[于洋洋,虞慧群,范貴生.一種云存儲(chǔ)數(shù)據(jù)完整性驗(yàn)證方法[J].華東理工大學(xué)學(xué)報(bào) (自然科學(xué)版),2013,39 (2):211-216.]
[10]FU Yongkang,Sun bin.A scheme of data confidentiality and fault-tolerance in Cloud Storage[C]//Proceedings of 2nd IEEE International Conference on Cloud Computing and Intelligence Systems,2012:293-298.
[11]Yemerefendi A R,Chase J S.Strong accountability for network storage[J].ACM Transactions on Strorage,2007,3(3):11-33.
[12]Andreas Haeberlen.A case for accountable cloud[J].ACM SIGOPS Operating Systems Review,2010,44 (2):52-57.
[13]Yao J H,Chen S P,Wang C,et al.Accountability as a service for the cloud[C]//Proceeding of IEEE International Conference on Services Computing,2010:81-88.
[14]AN Baoyu.Research on the key technologies of data integrity protection in cloud storage[D].Beijing:Beijing University of Posts and Telecommunications,2012:55-79(in Chinese).[安寶宇.云存儲(chǔ)中數(shù)據(jù)完整性保護(hù)關(guān)鍵技術(shù)研究[D].北京:北京郵電大學(xué),2012:55-79.]
[15]WANG Shyh Yih,YANG Wuchuan,Tzeng Show-Shiow.A symmetric-key broadcast encry-ption scheme with shorter transmissions[C]//IEEE International Symposium on Next-Generation Electronics,2013:275-278.
[16]Delerabl'ee C.Identity-based broadcast encry-ption with constant size cipher-texts and private keys[G].LNCS 4833:Kurasawa,k.(ed.)ASIACRYPT,2007:200-215.
[17]Lubicz D,Sirvent T.Attribute-based broadcast encryption scheme made efficient[C]//Progress in 1st International Conference on Cryptology in Africa,2008:325-342.
[18]Dua A,Bulusu N.Resource aware broadcast encryption for selective sharing in mobile social sensing[C]//IEEE Eighth International Conference on Intelligent Sensors,Sensor Networks and Information Processing,2013:195-200.
[19]ZHANG Mingwu,Tsuyoshi T.Efficient constructions of anonymous multi-receiver encryption protocol and their deployment in group e-mail system with privacy preservation[J].IEEE Systems Journal,2013,7 (3):410-419.