本發(fā)明涉及云數(shù)據(jù)處理技術(shù)領(lǐng)域,特別是涉及一種云存儲(chǔ)的密鑰生成方法。本發(fā)明還涉及一種云數(shù)據(jù)存儲(chǔ)方法以及相關(guān)的云存儲(chǔ)數(shù)據(jù)審計(jì)方法。
背景技術(shù):
在云平臺(tái)應(yīng)用中,將數(shù)據(jù)外包到云端在經(jīng)濟(jì)上和管理上具有很大的吸引力,但如果不能保證數(shù)據(jù)的完整性和可用性,將會(huì)阻礙云平臺(tái)的廣泛應(yīng)用。在云存儲(chǔ)中,由于用戶的數(shù)據(jù)脫離了用戶的控制,任何云端的錯(cuò)誤都可能導(dǎo)致用戶數(shù)據(jù)的修改或丟失,云服務(wù)提供商的硬件故障或存在的內(nèi)外部攻擊會(huì)使得用戶存儲(chǔ)于云端的數(shù)據(jù)可能被修改甚至刪除。因此,從用戶角度,完全有理由懷疑自己存儲(chǔ)在云端的數(shù)據(jù)是否仍然完整,就有必要采取一定的方法來(lái)驗(yàn)證數(shù)據(jù)的完整性和正確性。云數(shù)據(jù)審計(jì)就是用戶不需從云端恢復(fù)下載自己全部的數(shù)據(jù)而可以檢查存儲(chǔ)在云端的數(shù)據(jù)是否完整的方法。
簡(jiǎn)單來(lái)說(shuō),一個(gè)云數(shù)據(jù)審計(jì)方案包含4個(gè)過(guò)程,具體包括以下幾個(gè)步驟:
(1)用戶對(duì)其要上傳到云端的數(shù)據(jù)文件進(jìn)行預(yù)處理。用戶使用自己的私鑰對(duì)數(shù)據(jù)塊進(jìn)行運(yùn)算,得到這些數(shù)據(jù)塊的認(rèn)證標(biāo)簽,并將所有數(shù)據(jù)塊及其對(duì)應(yīng)的認(rèn)證標(biāo)簽上傳到云端;
(2)為了驗(yàn)證用戶在云端數(shù)據(jù)的完整性,用戶自己或者某獨(dú)立的第三方審計(jì)者(Third-party auditor,TPA)隨機(jī)生成一些質(zhì)詢消息,將這些質(zhì)詢消息發(fā)送給云端,質(zhì)詢消息中包括了審計(jì)者所選取了哪些消息塊進(jìn)行審計(jì)的信息;
(3)當(dāng)云端收到審計(jì)者的質(zhì)詢消息后,根據(jù)質(zhì)詢消息和所存儲(chǔ)的消息塊生成用來(lái)證明數(shù)據(jù)塊正確存儲(chǔ)的證據(jù),并將其發(fā)送給審計(jì)者;
(4)當(dāng)審計(jì)者收到云端的證據(jù)后,驗(yàn)證云端是否正確存儲(chǔ)了用戶數(shù)據(jù)。
在多用戶云數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)審計(jì)方面,可能出現(xiàn)這樣的情況:一個(gè)多用戶群體的成員在云端存儲(chǔ)一組數(shù)據(jù)供群體所有成員訪問(wèn)和修改,即群體中的任何成員都可以對(duì)該組數(shù)據(jù)進(jìn)行讀和寫(xiě)的操作。但是如果該群體中的某個(gè)成員撤銷(xiāo)了,他的密鑰就應(yīng)該不能再生成有效的認(rèn)證標(biāo)簽。因此就引出如何解決這種場(chǎng)景中用戶的撤銷(xiāo)問(wèn)題。
現(xiàn)有的審計(jì)方案解決這一問(wèn)題是基于代理重簽名技術(shù),當(dāng)出現(xiàn)群中的一個(gè)用戶被撤銷(xiāo)的情況,云端便將這個(gè)用戶之前的全部簽名進(jìn)行重簽名,即將這個(gè)用戶之前的簽名轉(zhuǎn)化到群中目前正常存在的用戶的簽名,在此更新處理中,云端需要進(jìn)行大量的計(jì)算,尤其在大數(shù)據(jù)環(huán)境下,會(huì)產(chǎn)生更大量的計(jì)算量,會(huì)給云端產(chǎn)生巨大的計(jì)算負(fù)擔(dān)和經(jīng)濟(jì)負(fù)擔(dān)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種云存儲(chǔ)的密鑰生成方法、云數(shù)據(jù)存儲(chǔ)方法以及相關(guān)的云存儲(chǔ)數(shù)據(jù)審計(jì)方法,使群中在當(dāng)前時(shí)間在注冊(cè)的群用戶才可生成私鑰,撤銷(xiāo)的群用戶將不再更新私鑰,將不能生成云數(shù)據(jù)標(biāo)簽,因此對(duì)于群中撤銷(xiāo)用戶,云端無(wú)需再更新撤銷(xiāo)用戶之前產(chǎn)生的標(biāo)簽,極大地緩解了云端的計(jì)算壓力。
為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
一種云存儲(chǔ)的密鑰生成方法,包括步驟:
S10:系統(tǒng)劃分為z個(gè)時(shí)間段,私鑰產(chǎn)生中心為群設(shè)定主密鑰和時(shí)間主密鑰,z為大于零的正整數(shù);
S11:所述私鑰產(chǎn)生中心基于所述主密鑰生成所述群的群身份密鑰,并將所述群身份密鑰發(fā)送給群中在當(dāng)前時(shí)間在注冊(cè)的群用戶;
S12:所述群的群管理員基于所述時(shí)間主密鑰,結(jié)合時(shí)間段參數(shù),生成所述群的群當(dāng)前時(shí)間更新密鑰,并將所述群當(dāng)前時(shí)間更新密鑰發(fā)送給群中在當(dāng)前時(shí)間在注冊(cè)的群用戶;
S13:所述群中在注冊(cè)的群用戶根據(jù)所述群身份密鑰、所述群當(dāng)前時(shí)間更新密鑰生成當(dāng)前私鑰。
可選地,還包括:所述群的在當(dāng)前時(shí)間在注冊(cè)的群用戶在接收到所述群身份密鑰時(shí),驗(yàn)證所述群身份密鑰的正確性,若驗(yàn)證正確,則群用戶接收所述群身份密鑰;若驗(yàn)證錯(cuò)誤,則群用戶拒絕接收所述群身份密鑰。
可選地,還包括:所述群的在當(dāng)前時(shí)間在注冊(cè)的群用戶在接收到所述群當(dāng)前時(shí)間更新密鑰時(shí),驗(yàn)證所述群當(dāng)前時(shí)間更新密鑰的正確性,若驗(yàn)證正確,則群用戶接收所述群當(dāng)前時(shí)間更新密鑰,若驗(yàn)證錯(cuò)誤,則群用戶要求所述群管理員重新發(fā)送群當(dāng)前時(shí)間更新密鑰。
可選地,所述步驟S10還包括設(shè)定系統(tǒng)參數(shù),具體包括:所述私鑰產(chǎn)生中心選擇兩個(gè)階為素?cái)?shù)q>2λ的乘法循環(huán)群G1和G2,g是G1的一個(gè)生成元,同時(shí)選擇一個(gè)雙線性映射e:G1×G1→G2,一個(gè)隨機(jī)元素u∈G1,以及三個(gè)加密哈希函數(shù):
所述私鑰產(chǎn)生中心為群設(shè)定主密鑰和時(shí)間主密鑰具體包括:隨機(jī)選擇作為主密鑰,隨機(jī)選擇作為時(shí)間主密鑰。
可選地,所述私鑰產(chǎn)生中心基于所述主密鑰生成所述群的群身份密鑰,具體包括:隨機(jī)選擇并基于所述主密鑰計(jì)算群的群身份密鑰IDKID=(R1,σ1),其中σ1=r1+xH1(ID,R1)mod q。
可選地,所述群的群管理員基于所述時(shí)間主密鑰,結(jié)合時(shí)間段參數(shù),生成所述群的群當(dāng)前時(shí)間更新密鑰,具體包括:當(dāng)前處于時(shí)間段t,t∈[1,z],隨機(jī)選擇時(shí)間段參數(shù)基于所述時(shí)間主密鑰計(jì)算群當(dāng)前時(shí)間更新密鑰,TID=(Rt,σt),其中σt=rt+yH2(ID,Rt,t)modq。
可選地,所述步驟S13具體包括:計(jì)算當(dāng)前私鑰SKID,t=(R,σ),其中R=R1·Rt,σ=(σ1+σt)mod q。
一種云數(shù)據(jù)存儲(chǔ)方法,包括步驟:
S20:系統(tǒng)劃分為z個(gè)時(shí)間段,私鑰產(chǎn)生中心為群設(shè)定主密鑰和時(shí)間主密鑰,z為大于零的正整數(shù);
S21:群向私鑰產(chǎn)生中心發(fā)送群身份標(biāo)識(shí),所述私鑰產(chǎn)生中心基于所述主密鑰生成所述群的群身份密鑰,將所述群身份密鑰發(fā)送給所述群中在當(dāng)前時(shí)間在注冊(cè)的群用戶;
S22:所述群中在當(dāng)前時(shí)間在注冊(cè)的群用戶基于所述時(shí)間主密鑰,結(jié)合時(shí)間段參數(shù)生成群當(dāng)前時(shí)間更新密鑰,并根據(jù)所述群身份密鑰、所述群當(dāng)前時(shí)間更新密鑰生成當(dāng)前私鑰;
S23:所述群中在注冊(cè)的群用戶采用所述當(dāng)前私鑰,為共享文件的每一數(shù)據(jù)塊生成認(rèn)證標(biāo)簽,并將所述共享文件的數(shù)據(jù)塊、對(duì)應(yīng)的認(rèn)證標(biāo)簽、所處時(shí)間段上傳到云存儲(chǔ)端。
可選地,包括步驟:
S30:群中在注冊(cè)的群用戶采用當(dāng)前私鑰,為共享文件的每一數(shù)據(jù)塊生成認(rèn)證標(biāo)簽,并將所述共享文件的數(shù)據(jù)塊、對(duì)應(yīng)的認(rèn)證標(biāo)簽、所處時(shí)間段上傳到云存儲(chǔ)端,所述當(dāng)前私鑰為采用如上所述的云存儲(chǔ)的密鑰生成方法生成;
S31:第三方審計(jì)者向云存儲(chǔ)端發(fā)送審計(jì)質(zhì)詢;
S32:所述云存儲(chǔ)端根據(jù)所述審計(jì)質(zhì)詢生成證明,所述證明包括認(rèn)證標(biāo)簽、數(shù)據(jù)塊和生成所述認(rèn)證標(biāo)簽的時(shí)間段;
S33:所述第三方審計(jì)者通過(guò)驗(yàn)證所述證明,以驗(yàn)證存儲(chǔ)在所述云存儲(chǔ)端的數(shù)據(jù)是否完整。
可選地,包括步驟:
S40:群IDk中在注冊(cè)的群用戶采用其當(dāng)前私鑰,為共享文件Fk的每一數(shù)據(jù)塊生成認(rèn)證標(biāo)簽,將所述共享文件Fk的數(shù)據(jù)塊、對(duì)應(yīng)的認(rèn)證標(biāo)簽、所處的時(shí)間段上傳到云存儲(chǔ)端,所述共享文件Fk來(lái)自所述群IDk,所述當(dāng)前私鑰采用如上所述的云存儲(chǔ)的密鑰生成方法生成;
S41:第三方審計(jì)者向云存儲(chǔ)端發(fā)送審計(jì)質(zhì)詢;
S42:所述云存儲(chǔ)端根據(jù)所述審計(jì)質(zhì)詢生成證明,所述證明包括聚合認(rèn)證標(biāo)簽、聚合數(shù)據(jù)塊、各認(rèn)證標(biāo)簽對(duì)應(yīng)生成的時(shí)間段;
S43:所述第三方審計(jì)者通過(guò)驗(yàn)證所述證明,以驗(yàn)證存儲(chǔ)在所述云存儲(chǔ)端的數(shù)據(jù)是否完整。
由上述技術(shù)方案可以看出,本發(fā)明所提供的云存儲(chǔ)的密鑰生成方法,系統(tǒng)劃分為z個(gè)時(shí)間段,由私鑰產(chǎn)生中心為群設(shè)定主密鑰和時(shí)間主密鑰,并基于主密鑰生成群的群身份密鑰,發(fā)送給群中在當(dāng)前時(shí)間在注冊(cè)的群用戶;群的群管理員基于時(shí)間主密鑰,結(jié)合時(shí)間段參數(shù)生成群的群當(dāng)前時(shí)間更新密鑰,并將群當(dāng)前時(shí)間更新密鑰發(fā)送給群中在當(dāng)前時(shí)間在注冊(cè)的群用戶;群中在注冊(cè)的群用戶根據(jù)群身份密鑰、群當(dāng)前時(shí)間更新密鑰生成當(dāng)前私鑰,從而實(shí)現(xiàn)更新群中在注冊(cè)用戶的當(dāng)前私鑰。因此,只有群中在當(dāng)前時(shí)間在注冊(cè)的群用戶才可生成當(dāng)前私鑰,才能為云數(shù)據(jù)生成標(biāo)簽,而群中撤銷(xiāo)的用戶將不能生成私鑰,之前的私鑰也變得無(wú)效,不能再為云數(shù)據(jù)生成標(biāo)簽,從而該群用戶安全撤銷(xiāo),因此云端也無(wú)需再更新該撤銷(xiāo)用戶之前產(chǎn)生的簽名,為云端極大地緩解了計(jì)算壓力。
本發(fā)明提供的云數(shù)據(jù)存儲(chǔ)方法、云存儲(chǔ)數(shù)據(jù)審計(jì)方法及云存儲(chǔ)數(shù)據(jù)批量審計(jì)方法,基于當(dāng)前更新的當(dāng)前私鑰為共享文件加密,只有群中在當(dāng)前時(shí)間在注冊(cè)的群用戶才可生成當(dāng)前私鑰,才能為云數(shù)據(jù)生成標(biāo)簽,而群中撤銷(xiāo)的用戶將不能生成私鑰,之前的私鑰也變得無(wú)效,不能再為云數(shù)據(jù)生成標(biāo)簽。與現(xiàn)有技術(shù)相比,對(duì)于群中撤銷(xiāo)用戶,避免了云端需要更新該撤銷(xiāo)用戶之前產(chǎn)生的簽名,因此極大地減少計(jì)算量,為云端極大地緩解了計(jì)算壓力和經(jīng)濟(jì)負(fù)擔(dān)。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的一種云存儲(chǔ)的密鑰生成方法的流程圖;
圖2為本發(fā)明實(shí)施例提供的一種云數(shù)據(jù)存儲(chǔ)方法的流程圖;
圖3為本發(fā)明實(shí)施例提供的一種云存儲(chǔ)數(shù)據(jù)審計(jì)方法的流程圖;
圖4為本發(fā)明實(shí)施例提供的一種云存儲(chǔ)數(shù)據(jù)批量審計(jì)方法的流程圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明中的技術(shù)方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實(shí)施例提供的一種云存儲(chǔ)的密鑰生成方法,包括:
S10:系統(tǒng)劃分為z個(gè)時(shí)間段,私鑰產(chǎn)生中心為群設(shè)定主密鑰和時(shí)間主密鑰,z為大于零的正整數(shù);
S11:所述私鑰產(chǎn)生中心基于所述主密鑰生成所述群的群身份密鑰,并將所述群身份密鑰發(fā)送給群中在當(dāng)前時(shí)間在注冊(cè)的群用戶;
S12:所述群的群管理員基于所述時(shí)間主密鑰,結(jié)合時(shí)間段參數(shù),生成所述群的群當(dāng)前時(shí)間更新密鑰,并將所述群當(dāng)前時(shí)間更新密鑰發(fā)送給群中在當(dāng)前時(shí)間在注冊(cè)的群用戶;
S13:所述群中在注冊(cè)的群用戶根據(jù)所述群身份密鑰、所述群當(dāng)前時(shí)間更新密鑰生成當(dāng)前私鑰。
由上述內(nèi)容可以看出,本實(shí)施例提供的云存儲(chǔ)的密鑰生成方法,系統(tǒng)劃分為z個(gè)時(shí)間段,由私鑰產(chǎn)生中心為群設(shè)定主密鑰和時(shí)間主密鑰,并基于主密鑰生成群的群身份密鑰,發(fā)送給群中在當(dāng)前時(shí)間在注冊(cè)的群用戶;群的群管理員基于時(shí)間主密鑰,結(jié)合時(shí)間段參數(shù)生成群的群當(dāng)前時(shí)間更新密鑰,并將群當(dāng)前時(shí)間更新密鑰發(fā)送給群中在當(dāng)前時(shí)間在注冊(cè)的群用戶;群中在注冊(cè)的群用戶根據(jù)群身份密鑰、群當(dāng)前時(shí)間更新密鑰生成當(dāng)前私鑰,從而實(shí)現(xiàn)更新群中在注冊(cè)用戶的當(dāng)前私鑰。因此,只有群中在當(dāng)前時(shí)間在注冊(cè)的群用戶才可生成當(dāng)前私鑰,才能為云數(shù)據(jù)生成標(biāo)簽,而群中撤銷(xiāo)的用戶將不能生成私鑰,之前的私鑰也變得無(wú)效,不能再為云數(shù)據(jù)生成標(biāo)簽,從而該群用戶安全撤銷(xiāo),因此云端也無(wú)需再更新該撤銷(xiāo)用戶之前產(chǎn)生的簽名,為云端極大地緩解了計(jì)算壓力。
下面對(duì)本實(shí)施例提供的云存儲(chǔ)的密鑰生成方法進(jìn)行詳細(xì)說(shuō)明。
請(qǐng)參考圖1,為本實(shí)施例提供的一種云存儲(chǔ)的密鑰生成方法的流程圖。本實(shí)施例云存儲(chǔ)的密鑰生成方法,包括步驟:
S10:系統(tǒng)劃分為z個(gè)時(shí)間段,私鑰產(chǎn)生中心為群設(shè)定主密鑰和時(shí)間主密鑰,z為大于零的正整數(shù)。
群用戶的密鑰用于群向云存儲(chǔ)端存儲(chǔ)數(shù)據(jù)時(shí)對(duì)數(shù)據(jù)進(jìn)行加密,生成認(rèn)證標(biāo)簽。本實(shí)施例中,一個(gè)由群用戶共享的文件F被劃分為n等塊,即F=(m1,…,mn),其中mi表示文件F的第i個(gè)塊,并且系統(tǒng)被劃分為z個(gè)時(shí)間段,z為大于零的正整數(shù)。
私鑰產(chǎn)生中心(PKG)為一個(gè)被群用戶和云端所信任的權(quán)威實(shí)體,在云數(shù)據(jù)審計(jì)方案中產(chǎn)生系統(tǒng)參數(shù),具體包括:私鑰認(rèn)證中心選擇兩個(gè)階為素?cái)?shù)q>2λ的乘法循環(huán)群G1和G2,g是G1的一個(gè)生成元,同時(shí)還選擇一個(gè)雙線性映射e:G1×G1→G2,一個(gè)隨機(jī)元素u∈G1,以及三個(gè)加密哈希函數(shù):
PKG隨機(jī)選擇作為主密鑰,隨機(jī)選擇作為時(shí)間主密鑰,并計(jì)算相應(yīng)的公鑰:Y1=gx,Y2=gy。PKG公開(kāi)系統(tǒng)參數(shù)(G1,G2,e,q,g,u,Y1,Y2,H1,H2,h),將主密鑰x以及時(shí)間主密鑰y保密。
S11:所述私鑰產(chǎn)生中心基于所述主密鑰生成所述群的群身份密鑰,并將所述群身份密鑰發(fā)送給群中在當(dāng)前時(shí)間在注冊(cè)的群用戶。
私鑰產(chǎn)生中心(PKG)隨機(jī)選擇并基于所述主密鑰計(jì)算群的群身份密鑰IDKID=(R1,σ1),其中PKG將計(jì)算好的群身份密鑰IDKID=(R1,σ1)通過(guò)安全信道發(fā)送給所述群中沒(méi)有撤銷(xiāo)的群用戶,即在注冊(cè)的群用戶,并將R1通過(guò)安全信道發(fā)送給第三方審計(jì)者(TPA)。
進(jìn)一步的,所述群在當(dāng)前時(shí)間在注冊(cè)的群用戶在接收到所述群身份密鑰時(shí),可驗(yàn)證所述群身份密鑰的正確性,若驗(yàn)證正確,則群用戶接收所述群身份密鑰;若驗(yàn)證錯(cuò)誤,則群用戶拒絕接收所述群身份密鑰。驗(yàn)證所述群身份密鑰的正確性具體包括:驗(yàn)證等式是否成立,若所述等式成立,則群身份密鑰正確;若所述等式不成立,則群身份密鑰錯(cuò)誤,群用戶拒絕接收所述群身份密鑰。
S12:所述群的群管理員基于所述時(shí)間主密鑰,結(jié)合時(shí)間段參數(shù),生成所述群的群當(dāng)前時(shí)間更新密鑰,并將所述群當(dāng)前時(shí)間更新密鑰發(fā)送給群中在當(dāng)前時(shí)間在注冊(cè)的群用戶。
群管理員從私鑰產(chǎn)生中心接收到時(shí)間主密鑰當(dāng)前處于時(shí)間段t,t∈[1,z]。在當(dāng)前時(shí)間段t,群管理員隨機(jī)選擇時(shí)間段參數(shù)基于時(shí)間主密鑰計(jì)算群當(dāng)前時(shí)間更新密鑰TID,t=(Rt,σt),其中σt=rt+yH2(ID,Rt,t)mod q。
然后,可通過(guò)安全信道將生成的群當(dāng)前時(shí)間更新密鑰TID,t=(Rt,σt)發(fā)送給群中在當(dāng)前時(shí)間在注冊(cè)的群用戶。并將Rt通過(guò)安全信道發(fā)送給第三方審計(jì)者TPA。在系統(tǒng)不同時(shí)間段內(nèi),群當(dāng)前時(shí)間更新密鑰可更新生成。因此對(duì)于群中新加入的群用戶,在加入群時(shí)可獲得群當(dāng)前時(shí)間更新密鑰,以生成私鑰;對(duì)于群撤銷(xiāo)用戶,則不能再獲得群當(dāng)前時(shí)間更新密鑰,將不能更新私鑰。
進(jìn)一步的,所述群的在當(dāng)前時(shí)間在注冊(cè)的群用戶在接收到所述群當(dāng)前時(shí)間更新密鑰時(shí),可以驗(yàn)證所述群當(dāng)前時(shí)間更新密鑰的正確性,若驗(yàn)證正確,則群用戶接收所述群當(dāng)前時(shí)間更新密鑰,若驗(yàn)證錯(cuò)誤,則群用戶要求所述群管理員重新發(fā)送群當(dāng)前時(shí)間更新密鑰。群用戶驗(yàn)證群當(dāng)前時(shí)間更新密鑰的正確性具體包括:驗(yàn)證等式是否成立,若該等式成立,則所述群當(dāng)前時(shí)間更新密鑰正確;若該等式不成立,則所述群當(dāng)前時(shí)間更新密鑰錯(cuò)誤,群用戶可以要求群管理員重新發(fā)送群當(dāng)前時(shí)間更新密鑰。
S13:所述群中在注冊(cè)的群用戶根據(jù)所述群身份密鑰、所述群當(dāng)前時(shí)間更新密鑰生成當(dāng)前私鑰。
群中在注冊(cè)的群用戶在接收到群身份密鑰IDKID=(R1,σ1)和群當(dāng)前時(shí)間更新密鑰TID,t=(Rt,σt)之后,計(jì)算在當(dāng)前時(shí)間段t(t∈[1,z])時(shí)的當(dāng)前私鑰SKID,t=(R,σ),其中R=R1·Rt,σ=(σ1+σt)modq。
可以看出,本實(shí)施例云存儲(chǔ)的密鑰生成方法,系統(tǒng)劃分為z個(gè)時(shí)間段,群用戶根據(jù)群身份密鑰和群當(dāng)前時(shí)間更新密鑰更新當(dāng)前私鑰,,在系統(tǒng)時(shí)間段內(nèi)群管理員更新群當(dāng)前時(shí)間更新密鑰,只發(fā)送給群中在當(dāng)前時(shí)間在注冊(cè)的群用戶,因此只有群中在當(dāng)前時(shí)間在注冊(cè)的群用戶才可生成當(dāng)前私鑰,才能為云數(shù)據(jù)生成標(biāo)簽,而群中撤銷(xiāo)的用戶將不能生成私鑰,之前的私鑰也變得無(wú)效,不能再為云數(shù)據(jù)生成簽名,從而該群用戶安全撤銷(xiāo),本實(shí)施例云存儲(chǔ)的密鑰生成方法與現(xiàn)有技術(shù)相比,云端也無(wú)需再更新該撤銷(xiāo)用戶之前產(chǎn)生的簽名,降低了計(jì)算量,為云端極大地緩解了計(jì)算壓力。
相應(yīng)的,本發(fā)明實(shí)施例還提供一種云數(shù)據(jù)存儲(chǔ)方法,請(qǐng)參考圖2,為本實(shí)施例提供的一種云存儲(chǔ)的密鑰生成方法的流程圖,包括步驟:
S20:系統(tǒng)劃分為z個(gè)時(shí)間段,私鑰產(chǎn)生中心為群設(shè)定主密鑰和時(shí)間主密鑰,z為大于零的正整數(shù)。
一個(gè)由群用戶共享的文件F被劃分為n等塊,即F=(m1,…,mn),其中mi表示文件F的第i個(gè)塊,并且系統(tǒng)被劃分為z個(gè)時(shí)間段,z為大于零的正整數(shù)。
私鑰產(chǎn)生中心(PKG)產(chǎn)生系統(tǒng)參數(shù),具體包括:私鑰產(chǎn)生中心選擇兩個(gè)階為素?cái)?shù)q>2λ的乘法循環(huán)群G1和G2,g是G1的一個(gè)生成元,同時(shí)還選擇一個(gè)雙線性映射e:G1×G1→G2,一個(gè)隨機(jī)元素u∈G1,以及三個(gè)加密哈希函數(shù):
PKG隨機(jī)選擇作為主密鑰,隨機(jī)選擇作為時(shí)間主密鑰,并計(jì)算相應(yīng)的公鑰:Y1=gx,Y2=gy。PKG公開(kāi)系統(tǒng)參數(shù)(G1,G2,e,q,g,u,Y1,Y2,H1,H2,h),將主密鑰x以及時(shí)間主密鑰y保密。
S21:群向私鑰產(chǎn)生中心發(fā)送群身份標(biāo)識(shí),所述私鑰產(chǎn)生中心基于所述主密鑰生成所述群的群身份密鑰,將所述群身份密鑰發(fā)送給所述群中在當(dāng)前時(shí)間在注冊(cè)的群用戶。
群向私鑰產(chǎn)生中心發(fā)送群身份標(biāo)識(shí),即群ID。私鑰產(chǎn)生中心在接收到群身份標(biāo)識(shí)后,隨機(jī)選擇并基于群的主密鑰計(jì)算群的群身份密鑰IDKID=(R1,σ1),其中σ1=r1+xH1(ID,R1)mod q。PKG將計(jì)算好的群身份密鑰IDKID=(R1,σ1)通過(guò)安全信道發(fā)送給所述群中在注冊(cè)的群用戶,并將R1通過(guò)安全信道發(fā)送給第三方審計(jì)者(TPA)。
進(jìn)一步的,所述群的在當(dāng)前時(shí)間在注冊(cè)的群用戶在接收到所述群身份密鑰時(shí),可驗(yàn)證所述群身份密鑰的正確性,若驗(yàn)證正確,則群用戶接收所述群身份密鑰;若驗(yàn)證錯(cuò)誤,則群用戶拒絕接收所述群身份密鑰。驗(yàn)證所述群身份密鑰的正確性具體包括:驗(yàn)證等式是否成立,若所述等式成立,則所述群身份密鑰正確;若所述等式不成立,則所述群身份密鑰錯(cuò)誤,群用戶拒絕接收所述群身份密鑰。
S22:所述群中在當(dāng)前時(shí)間在注冊(cè)的群用戶基于所述時(shí)間主密鑰,結(jié)合時(shí)間段參數(shù)生成群當(dāng)前時(shí)間更新密鑰,并根據(jù)所述群身份密鑰、所述群當(dāng)前時(shí)間更新密鑰生成當(dāng)前私鑰。
群管理員從私鑰產(chǎn)生中心接收到時(shí)間主密鑰在當(dāng)前時(shí)間段t,t∈[1,z],群管理員隨機(jī)選擇時(shí)間段參數(shù)基于時(shí)間主密鑰計(jì)算群當(dāng)前時(shí)間更新密鑰TID,t=(Rt,σt),其中σt=rt+yH2(ID,Rt,t)mod q。
可通過(guò)安全信道將生成的群當(dāng)前時(shí)間更新密鑰TID,t=(Rt,σt)發(fā)送給群中在當(dāng)前時(shí)間在注冊(cè)的群用戶。并將Rt通過(guò)安全信道發(fā)送給第三方審計(jì)者TPA。
群中在注冊(cè)的群用戶在接收到群身份密鑰IDKID=(R1,σ1)和群當(dāng)前時(shí)間更新密鑰TID,t=(Rt,σt)之后,計(jì)算在當(dāng)前時(shí)間段t(t∈[1,z])時(shí)的當(dāng)前私鑰SKID,t=(R,σ),其中R=R1·Rt,σ=(σ1+σt)modq。
進(jìn)一步的,所述群的在當(dāng)前時(shí)間在注冊(cè)的群用戶在接收到所述群當(dāng)前時(shí)間更新密鑰時(shí),可以驗(yàn)證所述群當(dāng)前時(shí)間更新密鑰的正確性,若驗(yàn)證正確,則群用戶接收所述群當(dāng)前時(shí)間更新密鑰,若驗(yàn)證錯(cuò)誤,則群用戶要求所述群管理員重新發(fā)送群當(dāng)前時(shí)間更新密鑰。群用戶驗(yàn)證群當(dāng)前時(shí)間更新密鑰的正確性具體包括:驗(yàn)證等式是否成立,若該等式成立,則所述群當(dāng)前時(shí)間更新密鑰正確;若等式不成立,則所述群當(dāng)前時(shí)間更新密鑰錯(cuò)誤,群用戶可以要求群管理員重新發(fā)送群當(dāng)前時(shí)間更新密鑰。
S23:所述群中在注冊(cè)的群用戶采用所述當(dāng)前私鑰,為共享文件的每一數(shù)據(jù)塊生成認(rèn)證標(biāo)簽,并將所述共享文件的數(shù)據(jù)塊、對(duì)應(yīng)的認(rèn)證標(biāo)簽、所處時(shí)間段上傳到云存儲(chǔ)端。
在當(dāng)前時(shí)間段t,群中在注冊(cè)的群用戶為文件F中的每一個(gè)數(shù)據(jù)塊mi產(chǎn)生標(biāo)簽,具體為:計(jì)算認(rèn)證標(biāo)簽其中i是數(shù)據(jù)塊mi的索引,是由群隨機(jī)選擇的一個(gè)元素。群將(mi,Ti,t)上傳到云存儲(chǔ)端,同時(shí)刪除本地?cái)?shù)據(jù)F=(m1,…,mn)。
本實(shí)施例云數(shù)據(jù)存儲(chǔ)方法,基于群當(dāng)前私鑰為共享文件加密,只有群中在當(dāng)前時(shí)間在注冊(cè)的群用戶才可生成當(dāng)前私鑰,才能為云數(shù)據(jù)生成標(biāo)簽,而群中撤銷(xiāo)的用戶將不能生成私鑰,之前的私鑰也變得無(wú)效,不能再為云數(shù)據(jù)生成標(biāo)簽,從而該群用戶安全撤銷(xiāo),這樣與現(xiàn)有技術(shù)相比,云端也無(wú)需再更新該撤銷(xiāo)用戶之前產(chǎn)生的簽名,為云端極大地緩解了計(jì)算壓力。
并且現(xiàn)有技術(shù)中,有成員撤銷(xiāo)功能的數(shù)據(jù)審計(jì)方案是基于公鑰基礎(chǔ)設(shè)施(PKI)環(huán)境下的,這種方法使得云存儲(chǔ)端必須在用戶上傳數(shù)據(jù)之前認(rèn)證用戶的證書(shū)。而在大數(shù)據(jù)環(huán)境下,大量的用戶可能頻繁的向云端傳輸數(shù)據(jù),頻繁的新用戶加入群體或是舊用戶的撤銷(xiāo),這些都將會(huì)產(chǎn)生一系列的證書(shū)頒發(fā)或是撤銷(xiāo)操作,使得系統(tǒng)變得十分龐大并且效率低。本實(shí)施例云數(shù)據(jù)存儲(chǔ)方法,基于群身份,并結(jié)合當(dāng)前時(shí)間段更新當(dāng)前私鑰,不再基于PKI環(huán)境下認(rèn)證身份證書(shū),大大簡(jiǎn)化了一系列證書(shū)操作,提高了效率。
因此,本實(shí)施例云數(shù)據(jù)存儲(chǔ)方法,基于群身份密鑰和群當(dāng)前時(shí)間更新密鑰更新當(dāng)前私鑰,對(duì)于撤銷(xiāo)用戶,云端也無(wú)需再更新該撤銷(xiāo)用戶之前產(chǎn)生的簽名,與現(xiàn)有技術(shù)相比減少了計(jì)算量,尤其在大數(shù)據(jù)環(huán)境下,極大地緩解了云端的計(jì)算負(fù)擔(dān)和經(jīng)濟(jì)負(fù)擔(dān);并且大大簡(jiǎn)化了一系列證書(shū)操作,提高了系統(tǒng)效率。本實(shí)施例云數(shù)據(jù)存儲(chǔ)方法非常適用于大數(shù)據(jù)環(huán)境下,以此來(lái)緩解云端的壓力。
相應(yīng)的,本發(fā)明實(shí)施例還提供一種云存儲(chǔ)數(shù)據(jù)審計(jì)方法,請(qǐng)參考圖3,為本實(shí)施例提供的云存儲(chǔ)數(shù)據(jù)審計(jì)方法的流程圖,包括步驟:
S30:群中在注冊(cè)的群用戶采用當(dāng)前私鑰,為共享文件的每一數(shù)據(jù)塊生成認(rèn)證標(biāo)簽,并將所述共享文件的數(shù)據(jù)塊、對(duì)應(yīng)的認(rèn)證標(biāo)簽、所處時(shí)間段上傳到云存儲(chǔ)端,所述當(dāng)前私鑰為采用如上所述的方法生成。
在時(shí)間段t,群中在注冊(cè)的群用戶為共享文件F中的每一個(gè)數(shù)據(jù)塊mi產(chǎn)生標(biāo)簽,具體為:計(jì)算認(rèn)證標(biāo)簽其中i是數(shù)據(jù)塊mi的索引,是由群隨機(jī)選擇的一個(gè)元素。群將(mi,Ti,t)上傳到云存儲(chǔ)端,同時(shí)刪除本地?cái)?shù)據(jù)F=(m1,…,mn)。
S31:第三方審計(jì)者向云存儲(chǔ)端發(fā)送審計(jì)質(zhì)詢。
具體包括:隨機(jī)選擇c個(gè)元素的集合I,其中對(duì)每一個(gè)i∈I,隨機(jī)選擇vi∈Zp*,將審計(jì)質(zhì)詢chal={i,vi}i∈I發(fā)送給云存儲(chǔ)端。
S32:所述云存儲(chǔ)端根據(jù)所述審計(jì)質(zhì)詢生成證明,所述證明包括認(rèn)證標(biāo)簽、數(shù)據(jù)塊和生成所述認(rèn)證標(biāo)簽的時(shí)間段。
云存儲(chǔ)端在接收到第三方審計(jì)者發(fā)送的審計(jì)質(zhì)詢后,計(jì)算生成證明,具體包括:計(jì)算生成證明將其發(fā)送給第三方審計(jì)者,其中t是這個(gè)群上傳文件F=(m1,…,mn)及相應(yīng)標(biāo)簽的時(shí)間段。
S33:所述第三方審計(jì)者通過(guò)驗(yàn)證所述證明,以驗(yàn)證存儲(chǔ)所述云存儲(chǔ)端的數(shù)據(jù)是否完整。
第三方審計(jì)者在接收到證明后,檢查等式是否成立,若成立,則表明存儲(chǔ)在云存儲(chǔ)端的數(shù)據(jù)完整;若不成立,則表明存儲(chǔ)在云存儲(chǔ)端的數(shù)據(jù)不完整。上述等式的正確性如下:
可以看出,本實(shí)施例云存儲(chǔ)數(shù)據(jù)審計(jì)方法,在該審計(jì)方案中,對(duì)于群中撤銷(xiāo)用戶,云端無(wú)需再更新撤銷(xiāo)用戶之前產(chǎn)生的認(rèn)證標(biāo)簽,在大數(shù)據(jù)環(huán)境中,用戶撤銷(xiāo)會(huì)是很頻繁的,本實(shí)施例審計(jì)方法不再需要云端更新大量的認(rèn)證標(biāo)簽,這便極大地緩解了云端的計(jì)算壓力。同時(shí),本實(shí)施例審計(jì)方法是基于身份的密碼體制,直接使用用戶的身份作為公鑰(本方法中群中的每個(gè)用戶都使用同一個(gè)公鑰,即群的身份ID),不再是基于PKI環(huán)境下的,避免了一系列復(fù)雜的證書(shū)操作,可提高系統(tǒng)效率。本實(shí)施例審計(jì)方法十分適合大數(shù)據(jù)環(huán)境中。
本發(fā)明實(shí)施例還提供一種云存儲(chǔ)數(shù)據(jù)的批量審計(jì)方法,請(qǐng)參考圖4,為本實(shí)施例提供的云存儲(chǔ)數(shù)據(jù)批量審計(jì)方法的流程圖,包括步驟:
S40:群IDk中在注冊(cè)的群用戶采用其當(dāng)前私鑰,為共享文件Fk的每一數(shù)據(jù)塊生成認(rèn)證標(biāo)簽,將所述共享文件Fk的數(shù)據(jù)塊、對(duì)應(yīng)的認(rèn)證標(biāo)簽、所處的時(shí)間段上傳到云存儲(chǔ)端,所述共享文件Fk來(lái)自所述群IDk,所述當(dāng)前私鑰采用如上所述的云存儲(chǔ)的密鑰生成方法生成。
在該方案中,包括K個(gè)共享文件,被審計(jì)的共享文件為Fk=(mk,1,mk,2,...,mk,n),其中1≤k≤K.文件Fk來(lái)自群IDk,并且群IDk在時(shí)間段tk時(shí)為共享文件Fk生成認(rèn)證標(biāo)簽,并將文件Fk上傳到云存儲(chǔ)端。群IDk在時(shí)間段tk時(shí)的當(dāng)前私鑰為其中Rk=R1,k·Rt,k,σk=(σ1,k+σt,k)modq。公開(kāi)密鑰為Y1,k、Y2,k,其中每一個(gè)文件Fk相應(yīng)的認(rèn)證標(biāo)簽為{Tk,i}1≤i≤n,其中uk∈G1是由群IDk隨機(jī)選擇的元素。
本實(shí)施例中,K個(gè)共享文件可來(lái)自不同的群體,也可以是來(lái)自同一個(gè)群體。
S41:第三方審計(jì)者向云存儲(chǔ)端發(fā)送審計(jì)質(zhì)詢。
S42:所述云存儲(chǔ)端根據(jù)所述審計(jì)質(zhì)詢生成證明,所述證明包括:聚合認(rèn)證標(biāo)簽、聚合數(shù)據(jù)塊、各認(rèn)證標(biāo)簽生成的時(shí)間段。
第三方審計(jì)者在接收到云存儲(chǔ)端發(fā)送的審計(jì)質(zhì)詢后,計(jì)算一個(gè)聚合的簽名以及一個(gè)聚合的數(shù)據(jù)塊將生成的證明發(fā)送給第三方審計(jì)者TPA。
S43:所述第三方審計(jì)者通過(guò)驗(yàn)證所述證明,以驗(yàn)證存儲(chǔ)在所述云存儲(chǔ)端的數(shù)據(jù)是否完整。
第三方審計(jì)者通過(guò)驗(yàn)證以下等式是否成立:
若等式成立,則表明存儲(chǔ)在云存儲(chǔ)端的數(shù)據(jù)完整;若不成立,則表明存儲(chǔ)在云存儲(chǔ)端的數(shù)據(jù)不完整。上述等式的正確性如下:
因此,本實(shí)施例云存儲(chǔ)數(shù)據(jù)的批量審計(jì)方法,可以實(shí)現(xiàn)第三方審計(jì)者TPA同時(shí)處理來(lái)自不同群用戶的、對(duì)不同數(shù)據(jù)文件的審計(jì)工作,這樣大大減少了審計(jì)過(guò)程中的計(jì)算和通信開(kāi)銷(xiāo)。
以上對(duì)本發(fā)明所提供的云存儲(chǔ)的密鑰生成方法、云數(shù)據(jù)存儲(chǔ)方法以及相關(guān)的云存儲(chǔ)數(shù)據(jù)審計(jì)方法進(jìn)行了詳細(xì)介紹。本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以對(duì)本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。