王鑫龍
摘 ?要:在本次論文中,主要在文獻(xiàn)的基礎(chǔ)上,針對(duì)的場景是群組里面的成員分享數(shù)據(jù)、群組中有可能有群組的成員離開群組,所以該成員的簽名并不再生效,如果把數(shù)據(jù)重新下載下來再重新簽名這樣并不適用,所以在這次的論文中,利用第三方審計(jì)端的代理重簽名思想,來解決群組成員以后重新簽名的問題。
關(guān)鍵詞:云存儲(chǔ);完整性審計(jì);代理重簽名
引言
云存儲(chǔ)是由云計(jì)算提供的一種數(shù)據(jù)外包的存儲(chǔ)服務(wù)。然而,這種新的數(shù)據(jù)托管服務(wù)面臨著重要的安全挑戰(zhàn),即如何保障數(shù)據(jù)的機(jī)密性和數(shù)據(jù)的完整性。在數(shù)據(jù)機(jī)密性方面,現(xiàn)在一般采用由數(shù)據(jù)擁有者自行對(duì)上傳云端的數(shù)據(jù)進(jìn)行加密這種方式來解決。相比數(shù)據(jù)機(jī)密性,在數(shù)據(jù)完整性方面,可能存在更大的擔(dān)憂,擔(dān)心存儲(chǔ)在云服務(wù)器中的數(shù)據(jù)可能會(huì)丟失,由于數(shù)據(jù)被存儲(chǔ)到云服務(wù)器上,數(shù)據(jù)擁有者就放棄了對(duì)所存儲(chǔ)的數(shù)據(jù)的控制權(quán)。要是云存儲(chǔ)服務(wù)提供商是不可信或者半可信的,那么云服務(wù)器可能會(huì)對(duì)數(shù)據(jù)擁有者隱瞞數(shù)據(jù)丟失的情況,或者丟掉那些在長時(shí)間內(nèi)未被訪問過或很少被訪問的數(shù)據(jù)以達(dá)到節(jié)省存儲(chǔ)空間的目的。但是云存儲(chǔ)服務(wù)提供商卻可能欺騙數(shù)據(jù)擁有者說數(shù)據(jù)仍然被完整地存儲(chǔ)在云服務(wù)器中。所以數(shù)據(jù)擁有者需要一種安全可信的服務(wù)機(jī)制來確保數(shù)據(jù)被真實(shí)、完整地存儲(chǔ)在云服務(wù)器中。為了提高云存儲(chǔ)的安全性、可靠性,驗(yàn)證云服務(wù)器中數(shù)據(jù)擁有者數(shù)據(jù)的完整性和可用性,現(xiàn)在有許多的云存儲(chǔ)數(shù)據(jù)完整性審計(jì)的概念被大家所提出來,并具有很多優(yōu)點(diǎn),但是也有很多不足之處。其中一個(gè)問題就是當(dāng)用戶將其數(shù)據(jù)存儲(chǔ)到云端之后,他們最關(guān)心的問題之一就是存儲(chǔ)的文件是否完好。最直接的辦法是將文件全部取回檢查,但是這樣將耗費(fèi)大量的網(wǎng)絡(luò)帶寬,特別當(dāng)存儲(chǔ)在云端的數(shù)據(jù)量很大的時(shí)候,將文件全部取回檢查是很不現(xiàn)實(shí)的。近年來出現(xiàn)的遠(yuǎn)程數(shù)據(jù)完整性審計(jì)協(xié)議,使得云用戶不需要訪問原始數(shù)據(jù),就能夠?qū)υ瓟?shù)據(jù)的完整性和正確性進(jìn)行校驗(yàn),特別適用于云計(jì)算環(huán)境。因此,對(duì)云存儲(chǔ)環(huán)境下的數(shù)據(jù)完整性驗(yàn)證審計(jì)協(xié)議的研究,具有重要的現(xiàn)實(shí)意義。云存儲(chǔ)下數(shù)據(jù)完整性驗(yàn)證主要用戶、云服務(wù)提供商、可信的第三方審計(jì)端組成。由于本地客戶不可能將大量的時(shí)間的精力花費(fèi)在對(duì)數(shù)據(jù)的完整性檢測上面,所以一般交給可信的第三方來處理。采用第三方驗(yàn)證時(shí),驗(yàn)證方只需要掌握少量的公開信息即可完成完整性驗(yàn)證任務(wù)。文獻(xiàn)基于代理重簽名的思想,設(shè)計(jì)了一個(gè)可以有效地支持群組用戶撤銷的方案。但是在文獻(xiàn)中,作者提到由于使用了代理重簽名的思想,這樣有可能出現(xiàn)一個(gè)問題:云端有可能和已經(jīng)離開群組的用戶串謀,從而泄露用戶的隱私的問題。還有一個(gè)問題就是,重簽名該簽署誰的名,如果是一個(gè)非常機(jī)密的組織,這樣還有可能導(dǎo)致一個(gè)問題,就是容易泄露群組中用戶的信息的問題,比如:當(dāng)一個(gè)數(shù)據(jù)塊分成多個(gè)數(shù)據(jù)塊以后,如果里面大多數(shù)是其中某一個(gè)人的簽名,那么我們有理由相信他是這個(gè)群組中比較重要的人物,所以在本論文中還要解決這個(gè)問題。
1 預(yù)備知識(shí)
1.1 雙線性映射
設(shè)G1和G2分別是同為q階的加群和乘群,并假設(shè)p,g為G1的生成子,假設(shè)在群G1和G2中,離散對(duì)數(shù)問題是難解的。
可定義雙線性映射對(duì)為e:
,并滿足以下特性:
可計(jì)算性:存在一個(gè)有效的算法計(jì)算雙線性映射e
雙線性:對(duì)于所有的u,v∈G1和a,b∈Zp,
非退化性:e(g,g)≠1
1.2 同態(tài)驗(yàn)證標(biāo)簽
同態(tài)是從一個(gè)代數(shù)結(jié)構(gòu)到另一個(gè)代數(shù)結(jié)構(gòu)的映射,它保持所有相關(guān)的結(jié)構(gòu)不變,即存在映射: ? ? ? ? ,滿足
其中:·是X上的運(yùn)算,是Y上的運(yùn)算。
同態(tài)標(biāo)簽是基于同態(tài)概念而生成的標(biāo)簽,在數(shù)據(jù)完整性檢測過程中,可以利用同態(tài)標(biāo)簽的同態(tài)性來驗(yàn)證數(shù)據(jù)是否完整,同態(tài)標(biāo)簽具有以下兩個(gè)性質(zhì):(1)通過使用同態(tài)標(biāo)簽,可使用少量特定的數(shù)據(jù)塊數(shù)據(jù)的完整性檢測,而無數(shù)對(duì)所有的數(shù)據(jù)塊進(jìn)行檢測,降低了通信開銷的計(jì)算開銷。(2)對(duì)于任意兩個(gè)數(shù)據(jù)塊mi和mj,mi+mj的標(biāo)簽信息T(mi+mj)可以由它們各自的標(biāo)簽信息T(mi)、T(mj)生成,即T(mi+mj)=T(mi)?T(mj)。
2 改進(jìn)的方案
在本次論文中,假設(shè)在一個(gè)群組中有n個(gè)人,他們分享數(shù)據(jù),一個(gè)數(shù)據(jù)被分成很多個(gè)數(shù)據(jù)塊,當(dāng)某一個(gè)數(shù)據(jù)塊有人修改的時(shí)候,修改完成就簽上那個(gè)的人的名字,通常一個(gè)群組往往有人會(huì)退出這個(gè)群組,所以他的簽名就不應(yīng)該還在群組中。當(dāng)這個(gè)人離開后該簽誰的名字,簽了以后如何解決用戶隱私的問題。
如圖1所示:當(dāng)Bob離開群組,cloud需要用重簽名密鑰重新計(jì)算之前由B簽名的數(shù)據(jù)塊??梢钥闯鰜?,經(jīng)過重簽名以后之前由Bob簽署的數(shù)據(jù)塊變成了A的。
假設(shè)群組中B由于某種原因離開了這個(gè)群組,所以當(dāng)B離開后,可以簽署組長E的名字,具體步驟如下:
令M代表外包的數(shù)據(jù)塊, ?1和 ?2是階為p的乘法群,g為
1的生成元。
e: ? ? ? ? ? ? ? 為雙線性映射,全局變量有(e,p, ?1, ?2,g,w,H),其中H是哈希函數(shù) ? ? ? ? ? ? 。
KeyGen:給出了全局變量(e,p, ?1, ?2,g,w,H),用戶uA隨機(jī)生成一個(gè)隨機(jī)數(shù) ? ? ?,輸出公鑰pkA=ga,私鑰skA=a
ReKey:可信第三方按照以下步驟生成重簽名的密鑰rkA→B:(1)代理生成一個(gè)隨機(jī)數(shù) ? ? ?并把他發(fā)送給用戶uA;(2)用戶uA計(jì)算并把r/a發(fā)送給用戶uB,其中skA=a;(3)用戶uB計(jì)算并把rb/a給第三方代理,其中skB=b;(4)代理恢復(fù)
Sign:通過私鑰skA=a,數(shù)據(jù)塊 ? ? ? ,數(shù)據(jù)塊的標(biāo)示符id,用戶uA數(shù)據(jù)塊m的簽名: ? ? ? ? ? ? ? ? ?。
Resign:通過重簽名的密鑰rkA→B,公鑰pkA,簽名σ,數(shù)據(jù)塊的標(biāo)示符id,代理驗(yàn)證Verify(pkA,m,id,σ)是否等于1,如果結(jié)果是0,代理輸出 ?,否則 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 。Verify:通過公鑰pkA,數(shù)據(jù)塊m,數(shù)據(jù)塊的標(biāo)示符id,簽名σ,如果數(shù)據(jù)塊是完整的,則e(σ,g)=e(H(id)ωm,pkA),否則輸出為0。
前面提到這樣還有可能導(dǎo)致一個(gè)問題,就是容易泄露群組中用戶的信息的問題,比如:當(dāng)一個(gè)數(shù)據(jù)塊分成多個(gè)數(shù)據(jù)塊以后,如果里面大多數(shù)是其中某一個(gè)人的簽名,那么我們有理由相信他是這個(gè)群組中比較重要的人物。在代理重簽名的方案中,我們可以隨機(jī)的抽取群組的成員,利用代理重簽名的方案,讓離開群組的用戶簽名簽署成群里面隨機(jī)成員的,這樣可以不用泄露群組重要成員的問題。
3 結(jié)束語
本次論文針對(duì)的是在群組用戶分享數(shù)據(jù)的時(shí)候,由于有用戶離開群組,這樣離開的用戶的簽名并不再生效,為了使用戶不用下載數(shù)據(jù)修改簽名以后在上傳到云端這樣的通信開銷,所以本論文利用代理重簽名的方法來解決這個(gè)問題。
參考文獻(xiàn)
[1]李暉,孫文海,李鳳華,等.公共云存儲(chǔ)服務(wù)數(shù)據(jù)安全及隱私保護(hù)技術(shù)綜述[J].計(jì)算機(jī)研究與發(fā)展,2014.
[2]傅穎勛,羅圣美,舒繼武.安全云存儲(chǔ)系統(tǒng)與關(guān)鍵技術(shù)綜述[J].計(jì)算機(jī)研究與發(fā)展,2013.