專利名稱:一種云計(jì)算用戶數(shù)據(jù)檢查的方法
技術(shù)領(lǐng)域:
本發(fā)明是基于開源平臺(tái)的云計(jì)算環(huán)境下用戶數(shù)據(jù)安全性解決方案,主要用于解決云環(huán)境下終端用戶對(duì)于數(shù)據(jù)安全和完整性保證問題,保證用戶將對(duì)數(shù)據(jù)的安全性檢查交給第三方的前提下能夠有效保證用戶數(shù)據(jù)安全性,屬于云計(jì)算安全領(lǐng)域。
背景技術(shù):
云計(jì)算是繼網(wǎng)格計(jì)算、分布式計(jì)算之后計(jì)算機(jī)領(lǐng)域提出的又一大計(jì)算模式,云計(jì)算可以分為三種服務(wù)模式IaaS (Infrastructure-as-a-service),基礎(chǔ)設(shè)施即服務(wù)。消費(fèi)者通過Internet可以從完善的計(jì)算機(jī)基礎(chǔ)設(shè)施獲得服務(wù),PaaS (Platform-as-a-Service),平臺(tái)即服務(wù),Paas實(shí)際上是指將軟件研發(fā)的平臺(tái)作為一種服務(wù)。SaaS (Software-as-a-Service),軟件即服務(wù),它是通過Internet提供軟件的模式,用戶無需購(gòu)買軟件,而是向提供商租用基于Web的軟件,來管理企業(yè)經(jīng)營(yíng)活動(dòng)。相對(duì)于傳統(tǒng)計(jì)算模式,云計(jì)算模式擁有巨大優(yōu)勢(shì)按需自服務(wù)、無所不在的網(wǎng)絡(luò)訪問、按使用付費(fèi)、風(fēng)險(xiǎn)轉(zhuǎn)移。但由于云計(jì)算模式特殊性,用戶需要將它們的數(shù)據(jù)存儲(chǔ)在云服務(wù)器上,雖然將維護(hù)數(shù)據(jù)的負(fù)擔(dān)轉(zhuǎn)移到了運(yùn)供應(yīng)商那里,避免了對(duì)于軟件、硬件維護(hù)和相關(guān)維護(hù)人員的花費(fèi)開銷,但由于用戶缺乏對(duì)數(shù)據(jù)、設(shè)備和環(huán)境的可控性導(dǎo)致對(duì)云計(jì)算的不信任,用戶將自己的數(shù)據(jù)和日常處理的環(huán)境托管給服務(wù)提供商,失去了對(duì)數(shù)據(jù)的控制權(quán),所以在沒有取得云數(shù)據(jù)的前提下驗(yàn)證數(shù)據(jù)存儲(chǔ)安全性尤為重要,考慮到云端用戶有限的計(jì)算能力和存儲(chǔ)數(shù)據(jù)的龐大性,依靠用戶自身來檢查云環(huán)境中數(shù)據(jù)正確性將會(huì)很困難,因此為了確保數(shù)據(jù)的安全性和節(jié)約用戶計(jì)算資源,需要借助于可信的第三方檢查者TPA (third party auditor)的幫助來建立可靠的檢查機(jī)制,確保用戶數(shù)據(jù)的完整性與可用性。從而使云計(jì)算能夠?yàn)橛脩羲刨?,促進(jìn)云計(jì)算技術(shù)的大力發(fā)展,為中小企業(yè)和普通用戶帶來切身利益。
發(fā)明內(nèi)容
技術(shù)問題本發(fā)明的目的是提供一種云計(jì)算用戶數(shù)據(jù)檢查的方法,將改進(jìn)基于同 態(tài)認(rèn)證的公共密鑰技術(shù),來取得公共云系統(tǒng)的數(shù)據(jù)隱私保護(hù)作用,由于改進(jìn)技術(shù),增加了檢查的可靠性,保證的云用戶數(shù)據(jù)的完整性,由于本技術(shù)雙線性特性,從而使得檢查用戶范圍擴(kuò)展到多用戶環(huán)境,TPA從而可同時(shí)執(zhí)行多個(gè)檢查任務(wù),進(jìn)一步減少工作量和提高檢查效率。技術(shù)方案本發(fā)明的一種云計(jì)算用戶數(shù)據(jù)檢查的方法的具體步驟如下I)云計(jì)算用戶運(yùn)行密鑰生成算法KeyGenerator命令產(chǎn)生公鑰pk和私鑰sk,KeyGenerator是一種密鑰生成算法,用戶用來生成公鑰和私鑰;2)對(duì)于給定的用戶文件的用戶數(shù)據(jù)F=On1,.... mn),用戶數(shù)據(jù)被分為η塊,每個(gè)數(shù)據(jù)塊表示為叫(1 ( i彡η),取namek作為每個(gè)用戶文件的的唯一標(biāo)識(shí),用戶運(yùn)行SigGenerator命令來生成用戶數(shù)據(jù)F的標(biāo)簽t ;SigGenerator用來生成認(rèn)證的元數(shù)據(jù),包括MAC,簽名,或其他相關(guān)被用來檢查的信息;
3)然后計(jì)算每個(gè)數(shù)據(jù)塊的簽名Oi,簽名集合表示成O =,用戶然后將 {t,F(xiàn),0}發(fā)送到云服務(wù)器;
4)檢查階段在檢查階段,第三方檢查TPA首先取得文件標(biāo)簽t,然后TPA通過公共密鑰Pk來驗(yàn)證簽名t,如果認(rèn)證失敗就產(chǎn)生表示檢查出錯(cuò)FALSE信息,表明標(biāo)簽不完整, 否則進(jìn)入下一步;
5)TPA產(chǎn)生挑戰(zhàn)信息chal,“chal”指明了在檢查階段需要被檢查的數(shù)據(jù)塊的具體位置,然后將挑戰(zhàn)信息發(fā)送給云服務(wù)器;
6)云服務(wù)器一旦受到挑戰(zhàn)信息chal,就會(huì)運(yùn)行GeneratorProof來產(chǎn)生表明數(shù)據(jù)存儲(chǔ)正確性的響應(yīng)證據(jù)proof ;GeneratorProof由云服務(wù)器運(yùn)行,用來產(chǎn)生數(shù)據(jù)存儲(chǔ)正確性的證據(jù);
7)云服務(wù)器然后發(fā)送proof作為數(shù)據(jù)存儲(chǔ)正確性的證明給TPA ;
8)在收到云服務(wù)器發(fā)來的相應(yīng)證據(jù)后,TPA運(yùn)行VerifyProof命令檢查數(shù)據(jù)存儲(chǔ)的正確與否,如果認(rèn)證通過,表明云服務(wù)器正確存儲(chǔ)用戶數(shù)據(jù),從方案中看出在檢查階段 TPA不需要維護(hù)用戶私鑰也不會(huì)給用戶帶來任何額外負(fù)擔(dān),此外,由于在檢查過程中不需要取得用戶數(shù)據(jù),從而達(dá)到隱私保護(hù)的目的JerifyPiOOf由第三方檢查TPA運(yùn)行用來檢查服務(wù)器端發(fā)回相應(yīng)證據(jù)的正確性。
所述的TPA同時(shí)處理來自不同用戶的檢查代理,雙線性聚合簽名技術(shù)支持多個(gè)有多個(gè)不同用戶對(duì)不同信息的簽名聚合成單個(gè)簽名,將K個(gè)認(rèn)證方程聚合成一個(gè),實(shí)現(xiàn)多重任務(wù)的同時(shí)檢查,具體步驟如下
I)假設(shè)系統(tǒng)中有K個(gè)用戶,每個(gè)用戶k擁有
Fk= (mk;i,mk;2,. . . . , mkjn), k e {I, . . . . , K},對(duì)于特定用戶 k, KeyGenerator 命令產(chǎn)生系統(tǒng)公共密鑰Pk和私密密鑰pk ;
2)建立階段對(duì)于每個(gè)用戶數(shù)據(jù)Fk = (mk;1, mk;2,——,mk,n),ke {I,——,K},取 namek作為每個(gè)用戶文件的的唯一標(biāo)識(shí),用戶運(yùn)行SigGenerator命令來計(jì)算文件F的標(biāo)簽 tk = namek | SSigsk(namek), SSigsk(namek)為將 namek 用第 k 個(gè)用戶私鑰產(chǎn)生的簽名;
3)然后每個(gè)用戶k計(jì)算每個(gè)數(shù)據(jù)塊Hikii (i e {1,····η})的簽名 { σ k,i}i^k^K(i=1. . . .,η);簽名集合表示成 C>k = { σ J5 J1 ;用戶然后將{tk, Fk, C>k}發(fā)送到云服務(wù)器;
4)檢查階段TPA首先取得每個(gè)用戶k的文件標(biāo)簽tk,然后TPA通過公共密鑰來驗(yàn)證每個(gè)用戶簽名SSigssk(name,),如果認(rèn)證失敗就產(chǎn)生FALSE信息,表明標(biāo)簽不完整,否則進(jìn)入下一步;
5)然后TPA發(fā)送檢查挑戰(zhàn)信息chal給云服務(wù)器來代理所有K個(gè)用戶的數(shù)據(jù)檢查,云服務(wù)器在收到挑戰(zhàn)信息后,對(duì)于每個(gè)用戶i(i e {l,...,k}),服務(wù)器生成對(duì)應(yīng)的證明數(shù)據(jù)存儲(chǔ)完整性的證明Proofi (i e {l,...,k}),然后將每個(gè)用戶完整性證明聚合成 P= {proof;
6)云服務(wù)器然后返回?cái)?shù)據(jù)擁有性證據(jù)PHproof^qq給TPA,同單個(gè)用戶例子相似,TPA運(yùn)行VerifyProof代理k個(gè)用戶驗(yàn)證數(shù)據(jù)存儲(chǔ)的正確與否,批檢查不僅僅允許TPA 同時(shí)完成多重檢查工作,并且大大減少云服務(wù)器端的通信量和TPA端的計(jì)算花費(fèi)。
有益效果1.允許云計(jì)算用戶將檢查的工作提交給計(jì)算資源和可靠性更強(qiáng)的第三方檢查,減小用戶單獨(dú)進(jìn)行檢查的負(fù)擔(dān)和復(fù)雜性。2.由于增加了對(duì)數(shù)據(jù)文件簽名的檢查,使得檢查的可靠性進(jìn)一步提高,擴(kuò)大了云計(jì)算的進(jìn)一步使用。3.第三方在沒有取得用戶數(shù)據(jù)和給云計(jì)算用戶帶來額外負(fù)擔(dān)的前提下進(jìn)行用戶數(shù)據(jù)正確性的檢查工作,達(dá)到隱私保護(hù)的效果。4.此方案在云計(jì)算中支持可擴(kuò)展和高效 的公共檢查,特別是支持來自不同用戶檢查代理的批檢查,相比具體的單一檢查和其他方案要高效的多,并且沒有帶來通信和計(jì)算量的增加。
圖1云計(jì)算數(shù)據(jù)安全檢查系統(tǒng)整體框架圖,圖2.方案I所示圖示,圖3.方案2所示圖示,圖4.單個(gè)用戶檢查過程。
具體實(shí)施例方式本發(fā)明在于改進(jìn)已有的基于同態(tài)認(rèn)證的公共密鑰技術(shù),旨在確保檢查的可靠性,即用戶選取文件的唯一性標(biāo)志,然后對(duì)唯一標(biāo)識(shí)使用用戶私鑰生成文件標(biāo)簽,在檢查云計(jì)算用戶過程中首先用用戶公鑰驗(yàn)證簽名完整性,若簽名完整,則繼續(xù)對(duì)單個(gè)數(shù)據(jù)塊進(jìn)行檢查,由于加入了對(duì)用戶簽名的驗(yàn)證過程,相比已有的基于同態(tài)認(rèn)證的公共密鑰技術(shù),增加了檢查的可靠性,同時(shí)支持云計(jì)算用戶數(shù)據(jù)在公共檢查中的隱私保護(hù),即可信的第三方在檢查的過程中在不得到的用戶數(shù)據(jù)的前提下達(dá)到檢查的效果,相比有些需要將用戶數(shù)據(jù)提交給第三方檢查者來達(dá)到檢查的目的要安全的多,因?yàn)橛脩舨幌雽⒆约核接械臄?shù)據(jù)供檢查方檢查,這樣會(huì)帶來新的不安全因素,同時(shí)由于逐個(gè)檢查任務(wù)將會(huì)是乏味的和繁重的,支持批量檢查任務(wù)將會(huì)大大提高檢查效率,通過改進(jìn)同態(tài)認(rèn)證技術(shù),我們方案保證了檢查的可靠性,相比直接對(duì)用戶數(shù)據(jù)的塊進(jìn)行檢查相比,有較高的安全性保證保,這種認(rèn)證方式將進(jìn)一步優(yōu)化現(xiàn)有的檢查方案。下面將具體分析檢查流程。一、模型和體系結(jié)構(gòu)a)云存儲(chǔ)服務(wù)涉及到三個(gè)不同實(shí)體I)云終端用戶U,他有大量需要存儲(chǔ)在云服務(wù)器上的數(shù)據(jù);2)云服務(wù)器CS(cloud server),它由云服務(wù)提供商 CSP(cloud serviceprovider)管理并且提供數(shù)據(jù)存儲(chǔ)服務(wù)并且有足夠的存儲(chǔ)空間和巨大的計(jì)算資源(在此之后,我們對(duì)于CS和CSP將不予區(qū)分);3)第三方檢查TPA,他擁有云端用戶所沒有的專業(yè)檢查能力并且代理客戶端請(qǐng)求檢查云存儲(chǔ)安全;用戶依靠云服務(wù)器CS進(jìn)行云存儲(chǔ)和數(shù)據(jù)維護(hù),用戶為了各種各樣應(yīng)用目的也會(huì)和云服務(wù)器交互進(jìn)行數(shù)據(jù)的取得和更新操作。用戶也會(huì)求助于TPA確保他們存儲(chǔ)的數(shù)據(jù)安全,并且希望存儲(chǔ)的數(shù)據(jù)不被TPA所了解,我們認(rèn)為TPA是可靠和獨(dú)立的,并且在檢查過程中不會(huì)私自和CS或用戶串通,CS中任何數(shù)據(jù)泄露或流失的現(xiàn)象在通過TPA檢查時(shí)都將會(huì)被發(fā)現(xiàn)。其具體數(shù)據(jù)安全檢查系統(tǒng)框架圖如附圖1.所示。
b)公共檢查系統(tǒng)框架及定義
公共檢查方案包含有四種算法,即SigGenerator, GeneratorProof, VerifyProof, KeyGenerator是一種密鑰生成算法,用戶用來生成公鑰和私鑰, SigGenerator用來生成認(rèn)證的元數(shù)據(jù),包括MAC,簽名,或其他相關(guān)被用來檢查的信息, GeneratorProof由云服務(wù)器運(yùn)行,用來產(chǎn)生數(shù)據(jù)存儲(chǔ)正確性的證據(jù),VerifyProof由TPA運(yùn)行用來檢查服務(wù)器端發(fā)回相應(yīng)證據(jù)的正確性。
我們的公共檢查系統(tǒng)可以由以上檢查方案化分為兩個(gè)階段,建立和檢查
建立階段用戶通過執(zhí)行KeyGenerator命令初始化系統(tǒng)的公共和私有密鑰,通過使用私有密鑰預(yù)處理數(shù)據(jù)文件F來產(chǎn)生數(shù)據(jù)簽名標(biāo)簽。然后對(duì)數(shù)據(jù)塊簽名產(chǎn)產(chǎn)生簽名集合,然后將數(shù)據(jù)文件F和數(shù)據(jù)文件簽名標(biāo)簽和數(shù)據(jù)塊的簽名標(biāo)簽存儲(chǔ)在云服務(wù)器上。
檢查階段TPA首先從云服務(wù)其上取得文件標(biāo)簽,然后使用用戶公鑰進(jìn)行簽名認(rèn)證,如果認(rèn)證通過就會(huì)發(fā)出一條檢查或挑戰(zhàn)信息給云服務(wù)器來確保云服務(wù)器在檢查期間完整保存數(shù)據(jù)文件F。云服務(wù)器通過執(zhí)行GeneratorProof命令從存儲(chǔ)數(shù)據(jù)和認(rèn)證數(shù)據(jù)元生成相應(yīng)消息并反饋給TPA, TPA然后通過VerifyProof命令認(rèn)證相應(yīng)消息!
二、現(xiàn)有檢查方案
基本方案1.云計(jì)算用戶預(yù)計(jì)算每個(gè)數(shù)據(jù)塊HIiQ e {I, ... η})的MACs, σ ^MACsi (i |Iiii),將數(shù)據(jù)文件F和MACs { σ i} ^ ^發(fā)送到云服務(wù)器上,然后將私鑰sk發(fā)送給TPA。在檢查階段, TPA從云服務(wù)其上隨即選取一些數(shù)據(jù)塊和它們對(duì)應(yīng)的MACs來確認(rèn)數(shù)據(jù)文件的正確性,這種做法的好處是檢查部分文件比檢查全部文件要容易的多,然而,這一簡(jiǎn)單的解決方案存在以下嚴(yán)重缺點(diǎn)1)TPA檢查時(shí)需要取得用戶數(shù)據(jù),這在用戶隱私保護(hù)的前提下應(yīng)該被禁止; 2)它的通信和計(jì)算復(fù)雜度相對(duì)于抽樣數(shù)據(jù)大小呈線性關(guān)系,這會(huì)導(dǎo)致通信量和時(shí)延的擴(kuò)大化,特別是當(dāng)位于TPA和云服務(wù)器之間的可用帶寬有限時(shí)尤為明顯。其檢查過程如圖2所/Jn ο
基本方案2.
為了避免從云服務(wù)器上選取用戶數(shù)據(jù)從而保護(hù)用戶隱私,我們可以將方案改成如下所示在用戶將數(shù)據(jù)上傳到云服務(wù)器前,云用戶隨機(jī)選取s個(gè)認(rèn)證密鑰(SkJwas,對(duì)于整個(gè)文件系統(tǒng),預(yù)計(jì)算S個(gè)對(duì)應(yīng)的MACS,(MACskr L ",將這些認(rèn)證元數(shù)據(jù)提交給TPA。TPA 每次拿到一個(gè)sk,給云服務(wù)器,并且要求云服務(wù)器產(chǎn)生產(chǎn)生新的MAC做比較,這樣就達(dá)到了隱私保護(hù)的目的。其對(duì)應(yīng)的檢查過程如圖3所示。
缺點(diǎn)
I)特定的文件可以被用來檢查的次數(shù)收到密鑰個(gè)數(shù)的限制。一旦所有可能的密鑰用完了,云用戶不得不從云服務(wù)其上取得數(shù)據(jù),從而從新計(jì)算新的MACs供TPA驗(yàn)證。
2) TPA不得不維護(hù)和更新檢查之間狀態(tài),記錄擁有的MAC鑰,考慮到來自多用戶大量潛在的檢查代理,維護(hù)如此多的狀態(tài)對(duì)于TPA來說是困難的和容易產(chǎn)生誤差的。
本方案隱私保護(hù)的公共檢查方案的改進(jìn)
為了確保檢查的可靠性,我們的方案中對(duì)已有的檢查進(jìn)行改進(jìn),先用戶選取文件的唯一性標(biāo)志,然后對(duì)唯一標(biāo)識(shí)使用用戶私鑰生成文件標(biāo)簽,在檢查云計(jì)算用戶過程中首先用用戶公鑰驗(yàn)證簽名完整性,若簽名完整,則繼續(xù)對(duì)單個(gè)數(shù)據(jù)塊進(jìn)行檢查,由于加入了對(duì)用戶簽名的驗(yàn)證過程,相比已有的基于同態(tài)認(rèn)證的公共 密鑰技術(shù),增加了檢查的可靠性。為了在沒有取得用戶數(shù)據(jù)的前提下達(dá)到公共檢查效果,采用同態(tài)認(rèn)證技術(shù),然而,直接采用這些技術(shù)并不適合我們的最終目的,因?yàn)檫@些數(shù)據(jù)塊的線性結(jié)合很可能展露用戶數(shù)據(jù)信息,違反隱私保護(hù)原則。特別是,如果足夠數(shù)量的同樣數(shù)據(jù)塊的線性結(jié)合被收集到的話,TPA可以輕而義舉從一系列線性方程中取得用戶數(shù)據(jù)內(nèi)容。為此,采用同態(tài)認(rèn)證同隨機(jī)掩碼相結(jié)合的技術(shù),在我們的協(xié)議里,來自服務(wù)器的響應(yīng)的抽樣數(shù)據(jù)的線性結(jié)合被由偽隨機(jī)函數(shù)(PRF)產(chǎn)生的隨機(jī)數(shù)所掩蓋,由于掩蓋的作用,TPA不在擁有能夠建立正確線性方程組組的必要信息,所以不能取得用戶數(shù)據(jù)內(nèi)容,無論多少文件數(shù)據(jù)塊的線性結(jié)合被收集到都如此。于此同時(shí),注意到在我們方案中,我們采用基于同態(tài)認(rèn)證的公共密鑰技術(shù),具體來說,雙線性聚合簽名,來完善公共檢查協(xié)議,它在簽名聚合上的靈活性將使我們從多重設(shè)計(jì)任務(wù)中裨益,其檢查過程如圖3所示,圖中陰影部分為方案改進(jìn)處。采用同態(tài)認(rèn)證的技術(shù)能夠在不將用戶數(shù)據(jù)透露給TPA的情況下進(jìn)行檢查工作,對(duì)現(xiàn)有方案的改進(jìn)使得檢查的可靠性進(jìn)一步提高并且沒有給用戶帶來額外的負(fù)擔(dān),同時(shí)批檢查的支持使得本技術(shù)的在檢查用戶數(shù)據(jù)時(shí)更為有效下面將具體分析其檢查步驟。(一)單個(gè)用戶檢查方案具體步驟如下所示1.建立階段云計(jì)算用戶運(yùn)行KeyGenerator命令產(chǎn)生系統(tǒng)公共密鑰pk和私密密鑰sk ;2.對(duì)于用戶數(shù)據(jù)F=On1,....mn),取name,作為文件的的唯一標(biāo)識(shí),用戶運(yùn)行SigGenerator 命令來計(jì)算文件 F 的標(biāo)簽 t=name | | SSigsk (name), SSigsk (name)為將 name 用私鑰sk產(chǎn)生簽名;3.然后計(jì)算每個(gè)數(shù)據(jù)塊的簽名O i,i e (1,... η)。簽名集合表示成Φ = {σ 用戶然后將{t,F(xiàn),Φ}發(fā)送到云服務(wù)器;4.檢查階段在檢查階段,TPA首先取得文件標(biāo)簽t,然后TPA通過公共密鑰pk來驗(yàn)證簽名SSigssk (name),如果認(rèn)證失敗就產(chǎn)生FALSE信息,表明標(biāo)簽不完整,否則進(jìn)入下一
ι K
少;5.為了產(chǎn)生檢查信息chal,chal指明了在檢查階段需要被檢查的數(shù)據(jù)塊的具體位置;6.云服務(wù)器一旦受到挑戰(zhàn)信息proof,就會(huì)運(yùn)行GeneratorProof來產(chǎn)生表明數(shù)據(jù)存儲(chǔ)正確性的響應(yīng)證據(jù)proof ;7.發(fā)送proof作為數(shù)據(jù)存儲(chǔ)正確性的證明給TPA ;8.在收到云服務(wù)器發(fā)來的相應(yīng)證據(jù)后,TPA運(yùn)行VerifyProof命令通過檢查認(rèn)證方程來驗(yàn)證相應(yīng)正確性;9.如果檢查通過,證明用戶數(shù)據(jù)存儲(chǔ)完整性,用戶通過第三方TPA的代理檢查通過,表明云服務(wù)器正確存儲(chǔ)數(shù)據(jù)塊;
很明顯隨機(jī)掩碼的R對(duì)于數(shù)據(jù)的有效性驗(yàn)證上沒有什么影響。具體的流程如圖4 所示。
( 二 )對(duì)于多個(gè)用戶的批量檢查的支持
單個(gè)用戶的檢查工作對(duì)于TPA來說是乏味的和缺乏效率的,本方案可以支持批量檢查,即TPA可以同時(shí)處理來自不同用戶的檢查代理,雙線性聚合簽名技術(shù)支持多個(gè)有多個(gè)不同用戶對(duì)不同信息的簽名聚合成單個(gè)簽名,因此對(duì)所有信息真實(shí)性提供了有效的認(rèn)證。由于具有簽名聚合技術(shù)和雙線性的特性,我們可以將K個(gè)認(rèn)證方程聚合成一個(gè),因此多重任務(wù)的同時(shí)檢查目標(biāo)可以實(shí)現(xiàn)。
具體步驟如下
1.假設(shè)系統(tǒng)中有K個(gè)用戶,每個(gè)用戶k擁有Fk=Onlu, mk;2, . . . .,mk, n),k e {I,...., K},對(duì)于特定用戶k,KeyGenerator命令產(chǎn)生系統(tǒng)公共密鑰pk和私密密鑰 pk ;
2.建立階段對(duì)于每個(gè)用戶數(shù)據(jù)Fk=Onlu, mk,2,——,mk, n),k e {I,——,K}, 取namek作為每個(gè)用戶文件的的唯一標(biāo)識(shí),用戶運(yùn)行SigGen命令來計(jì)算文件F的標(biāo)簽 tk=namek | SSigsk(namek), SSigsk(namek)為將 namek 用第 k 個(gè)用戶私鑰產(chǎn)生的簽名;
3.然后每個(gè)用戶k計(jì)算每個(gè)數(shù)據(jù)塊e {I,....η})的簽名<K(i=l, . . .,η),簽名集合表示成C>k={ σ k;i}1<k<no用戶然后將{tk, Fk, C>k}發(fā)送到云服務(wù)器;
4.檢查階段TPA首先取得每個(gè)用戶k的文件標(biāo)簽tk,然后TPA通過公共密鑰來驗(yàn)證每個(gè)用戶簽名SSigssk (name,),如果認(rèn)證失敗就產(chǎn)生FALSE信息。表明標(biāo)簽不完整,否則進(jìn)入下一步;
5.然后TPA發(fā)送檢查挑戰(zhàn)信息chal給云服務(wù)器來代理所有K個(gè)用戶的數(shù)據(jù)檢查,云服務(wù)器在收到挑戰(zhàn)信息后,對(duì)于每個(gè)用戶i(i e {l,...,k}),服務(wù)器生成對(duì)應(yīng)的證明數(shù)據(jù)存儲(chǔ)完整性的證明Proofi (i e {1,...,k}),然后將每個(gè)用戶完整性證明聚合成 P= {proof;
6.云服務(wù)器然后返回?cái)?shù)據(jù)擁有性證據(jù)P= {proof J i ^ 給TPA,同單個(gè)用戶例子相似,TPA運(yùn)行VerifyProof代理k個(gè)用戶驗(yàn)證數(shù)據(jù)存儲(chǔ)的正確與否。批檢查不僅僅允許 TPA同時(shí)完成多重檢查工作,并且大大減少云服務(wù)器端的通信量和TPA端的計(jì)算花費(fèi)。
權(quán)利要求
1.一種云計(jì)算用戶數(shù)據(jù)檢查的方法,其特在在于該方法的具體步驟如下1)云計(jì)算用戶運(yùn)行密鑰生成算法KeyGenerator命令產(chǎn)生公鑰pk和私鑰sk, KeyGenerator是一種密鑰生成算法,用戶用來生成公鑰和私鑰;2)對(duì)于給定的用戶文件的用戶數(shù)據(jù)F=On1,....mn),用戶數(shù)據(jù)被分為η塊,每個(gè)數(shù)據(jù)塊表示為Hii (I ( i彡η),取namek作為每個(gè)用戶文件的的唯一標(biāo)識(shí),用戶運(yùn)行SigGenerator 命令來生成用戶數(shù)據(jù)F的標(biāo)簽t ;SigGenerator用來生成認(rèn)證的元數(shù)據(jù),包括MAC,簽名,或其他相關(guān)被用來檢查的信息;3)然后計(jì)算每個(gè)數(shù)據(jù)塊的簽名Oi,簽名集合表示成Φ= { Oj1-Kn,用戶然后將 {t,F(xiàn),0}發(fā)送到云服務(wù)器;4)檢查階段在檢查階段,第三方檢查TPA首先取得文件標(biāo)簽t,然后TPA通過公共密鑰Pk來驗(yàn)證簽名t,如果認(rèn)證失敗就產(chǎn)生表示檢查出錯(cuò)FALSE信息,表明標(biāo)簽不完整,否則進(jìn)入下一步;5)TPA產(chǎn)生挑戰(zhàn)信息chal,“chal”指明了在檢查階段需要被檢查的數(shù)據(jù)塊的具體位置,然后將挑戰(zhàn)信息發(fā)送給云服務(wù)器;6)云服務(wù)器一旦受到挑戰(zhàn)信息chal,就會(huì)運(yùn)行GeneratorProof來產(chǎn)生表明數(shù)據(jù)存儲(chǔ)正確性的響應(yīng)證據(jù)proof ;GeneratorProof由云服務(wù)器運(yùn)行,用來產(chǎn)生數(shù)據(jù)存儲(chǔ)正確性的證據(jù);7)云服務(wù)器然后發(fā)送proof作為數(shù)據(jù)存儲(chǔ)正確性的證明給TPA;8)在收到云服務(wù)器發(fā)來的相應(yīng)證據(jù)后,TPA運(yùn)行VerifyProof命令檢查數(shù)據(jù)存儲(chǔ)的正確與否,如果認(rèn)證通過,表明云服務(wù)器正確存儲(chǔ)用戶數(shù)據(jù),從方案中看出在檢查階段TPA不需要維護(hù)用戶私鑰也不會(huì)給用戶帶來任何額外負(fù)擔(dān),此外,由于在檢查過程中不需要取得用戶數(shù)據(jù),從而達(dá)到隱私保護(hù)的目的JerifyPiOOf由第三方檢查TPA運(yùn)行用來檢查服務(wù)器端發(fā)回相應(yīng)證據(jù)的正確性。
2.根據(jù)權(quán)利要求1所述的云計(jì)算用戶數(shù)據(jù)檢查的方法,其特在在于所述的TPA同時(shí)處理來自不同用戶的檢查代理,雙線性聚合簽名技術(shù)支持多個(gè)有多個(gè)不同用戶對(duì)不同信息的簽名聚合成單個(gè)簽名,將K個(gè)認(rèn)證方程聚合成一個(gè),實(shí)現(xiàn)多重任務(wù)的同時(shí)檢查,具體步驟如下1)假設(shè)系統(tǒng)中有K個(gè)用戶,每個(gè)用戶k擁有Fk = (mk;i,mk;2,. . . . , mkjn), k e {I,. . . . , K},對(duì)于特定用戶 k, KeyGenerator 命令產(chǎn)生系統(tǒng)公共密鑰Pk和私密密鑰pk ;2)建立階段對(duì)于每個(gè)用戶數(shù)據(jù)Fk= (mk;1,mk;2,——,mk,n),k e {I,——,K},取namek 作為每個(gè)用戶文件的的唯一標(biāo)識(shí),用戶運(yùn)行SigGenerator命令來計(jì)算文件F的標(biāo)簽tk = namek SSigsk (namek), SSigsk (namek)為將namek用第k個(gè)用戶私鑰產(chǎn)生的簽名;3)然后每個(gè)用戶k計(jì)算每個(gè)數(shù)據(jù)塊e{I,....η})的簽名 { σ k,i}i^k^K(i=1. . . .,η);簽名集合表示成 C>k = { σ J5 J1 ;用戶然后將{tk, Fk, C>k}發(fā)送到云服務(wù)器;4)檢查階段TPA首先取得每個(gè)用戶k的文件標(biāo)簽tk,然后TPA通過公共密鑰來驗(yàn)證每個(gè)用戶簽名SSigssk(name,),如果認(rèn)證失敗就產(chǎn)生FALSE信息,表明標(biāo)簽不完整,否則進(jìn)入下一步;5)然后TPA發(fā)送檢查挑戰(zhàn)信息chal給云服務(wù)器來代理所有K個(gè)用戶的數(shù)據(jù)檢查, 云服務(wù)器在收到挑戰(zhàn)信息后,對(duì)于每個(gè)用戶i(i e {l,...,k}),服務(wù)器生成對(duì)應(yīng)的證明數(shù)據(jù)存儲(chǔ)完整性的證明Proofi (i e {1,...,k}),然后將每個(gè)用戶完整性證明聚合成 P= {proof;6)云服務(wù)器然后返回?cái)?shù)據(jù)擁有性證據(jù)P={proof J i q 給TPA,同單個(gè)用戶例子相似, TPA運(yùn)行VerifyProof代理k個(gè)用戶驗(yàn)證數(shù)據(jù)存儲(chǔ)的正確與否,批檢查不僅僅允許TPA同時(shí)完成多重檢查工作,并且大大減 少云服務(wù)器端的通信量和TPA端的計(jì)算花費(fèi)。
全文摘要
本發(fā)明涉及一種云計(jì)算用戶數(shù)據(jù)檢查的方法,為了確保云計(jì)算用戶數(shù)據(jù)完整性和節(jié)省用戶計(jì)算資源和通信負(fù)擔(dān),建立可靠地檢查制度尤為關(guān)鍵,借助于第三方檢查(TPA)來代理用戶進(jìn)行檢查工作,它可以代理用戶進(jìn)行周期性的數(shù)據(jù)完整性檢查,它采用基于同態(tài)線性認(rèn)證的技術(shù),確保TPA在沒有取得用戶數(shù)據(jù)的前提下能夠正確代理用戶進(jìn)行檢查工作,取得了隱私保護(hù)的目的,保證了云計(jì)算用戶數(shù)據(jù)的安全。為了提高安全性和可靠性,本方案對(duì)此進(jìn)行改進(jìn),增加了對(duì)用戶數(shù)據(jù)塊的認(rèn)證過程,使得在檢查數(shù)據(jù)塊之前由TPA代理檢查用戶數(shù)據(jù)塊簽名,提高了檢查的可靠性。
文檔編號(hào)H04L9/32GK103002040SQ20121054376
公開日2013年3月27日 申請(qǐng)日期2012年12月14日 優(yōu)先權(quán)日2012年12月14日
發(fā)明者季一木, 康家邦, 王汝傳, 孫力娟, 王振洪, 馬曉東, 韓志杰, 付雄, 戴華 申請(qǐng)人:南京郵電大學(xué), 江蘇億通高科技股份有限公司