一種云存儲數(shù)據(jù)可恢復(fù)性驗證方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及信息安全技術(shù)領(lǐng)域,具體涉及一種云存儲數(shù)據(jù)可恢復(fù)性驗證方法及系 統(tǒng)。
【背景技術(shù)】
[0002] 近些年來,隨著云存儲技術(shù)的迅猛發(fā)展,越來越多的人或者企業(yè)選擇使用云存儲 環(huán)境存放自己的資料,但是云存儲給用戶帶來了極大的便利的同時也帶來了很多問題,其 中,最重要的問題就是數(shù)據(jù)安全問題和隱私問題。
[0003] 為了確保云存儲中數(shù)據(jù)的安全性,研究者提出了兩種基本的方法,即數(shù)據(jù)的可持 有性證明及數(shù)據(jù)的可恢復(fù)性證明,以允許用戶驗證數(shù)據(jù)的完整性和可用性。其中,數(shù)據(jù)的可 持有性證明允許用戶隨時知道數(shù)據(jù)是否有效的保存在云存儲平臺中,而不用讀取整個文 件;數(shù)據(jù)的可恢復(fù)性證明是在數(shù)據(jù)的可持有性證明的基礎(chǔ)上,讓云存儲商有能力向用戶證 明其存儲的數(shù)據(jù)可以被完整的恢復(fù)。
[0004] 另外,研究者們還提出了門限秘密共享概念,秘密共享是信息安全和數(shù)據(jù)保密的 重要手段,它在重要信息和秘密數(shù)據(jù)的安全保存、傳輸以及合法利用中起著關(guān)鍵作用。
[0005] 現(xiàn)有技術(shù)中已經(jīng)存在將數(shù)據(jù)可恢復(fù)性證明從單個服務(wù)器擴(kuò)展到多個服務(wù)器,但為 了有效的保證數(shù)據(jù)的可恢復(fù)性,而將原始數(shù)據(jù)未加保護(hù)的全部存儲到了云端,降低了數(shù)據(jù) 的安全性,為此,現(xiàn)有技術(shù)中提出了一種可恢復(fù)性證明用于解決上述敵手模型的安全性問 題,但僅局限于單個服務(wù)器存儲。而且,單個云上存儲無法確保數(shù)據(jù)的可用性和機(jī)密性,現(xiàn) 有的多云存儲采用秘密共享算法保證了云存儲數(shù)據(jù)的可用性和機(jī)密性但減小了數(shù)據(jù)的安 全性。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明提供一種云存儲數(shù)據(jù)可恢復(fù)性驗證方法及系統(tǒng),以解決現(xiàn)有技術(shù)中未能將 門限秘密分享與云端多服務(wù)器存儲有效結(jié)合以保障數(shù)據(jù)的機(jī)密性和可用性的問題。
[0007] 第一方面,本發(fā)明提供一種云存儲數(shù)據(jù)可恢復(fù)性驗證方法,所述方法包括:
[0008] 將原始數(shù)據(jù)文件S分割成t個秘密信息:&?,…,U
[0009] 對所述t個秘密信息分別采用門限秘密信息分配方法生成tXn個信息份額,其 中,0 < i < t_l,0 < u < η-1;
[0010] 對所述t X η個信息份額I進(jìn)行加密處理,生成對應(yīng)的t X η個密文元",其中,0仝i < t-1?0 < u < η-1;
[0011] 將所述tXn個密文之,,通過秘密信道分別發(fā)送給云端η個服務(wù)器,所述η個服務(wù)器 與所述t X η個密文%中的η數(shù)目相同;
[0012] 向云端η個服務(wù)器分別發(fā)送挑戰(zhàn)信息?,其中,t為隨機(jī)選取的挑戰(zhàn)密 文的行索引,\是為每一個挑戰(zhàn)密文的行索引4隨機(jī)選取的挑戰(zhàn)矩陣;
[0013] 從云端η個服務(wù)器產(chǎn)生的響應(yīng)信息
中多次挑選任意k個響應(yīng)信 息,計算聚合秘密
[0014] 將多次得到的聚合秘密^進(jìn)行比較,若所述多次得到的聚合秘密^ 一致,則驗證 云端η個服務(wù)器中的數(shù)據(jù)是完整的。
[0015] 其中,當(dāng)驗證云端η個服務(wù)器中的數(shù)據(jù)不完整時,所述方法還包括:
[0016] 向云端η個服務(wù)器分別發(fā)送攜帶有密文心傳輸量的請求信息;
[0017] 對從云端η個服務(wù)器接收到的密文進(jìn)行解密,得到對應(yīng)η個解密后的信息份額 Jx, ,u ?
[0018] 從所述η個解密后的信息份額中隨機(jī)選取k個解密后的信息份額 ,采用門限秘密還原方式計算還原后的秘密4,其中,0 < i < t-1,〇 <u< n~l 〇
[0019] 其中,所述方法還包括:生成文件密鑰,所述文件密鑰包括一個偽隨機(jī)函數(shù)f的密 鑰kprf和隨機(jī)矩陣妒;
[0020] 所述偽隨機(jī)函數(shù)f的密鑰kprf由密鑰生成算法生成;
[0021 ]所述隨機(jī)矩陣,=根據(jù)隨機(jī)矩陣#" = 生成,其中,當(dāng)m = u時,$_Γ= ,
其中 i = (p-m)mod p或i = (j+m)mod p時ei,j取值為1,否則取值為0, g 43,υ s m s p-丄,υ s s p-丄 〇
[0022] 其中,所述對所述tXη個信息份額瓦,,進(jìn)行加密處理,生成對應(yīng)的tXη個密文, 其中,0 < i < t-1,0 < u < η-1,具體包括:
[0023] 根據(jù)所述文件密鑰中的偽隨機(jī)函數(shù)f的密鑰kprf和所述信息份額)\"的行標(biāo)i生成 偽隨機(jī)序列
[0024] 根據(jù)所述偽隨機(jī)序列足,(〇和所述隨機(jī)矩陣『計算與所述tX η個信息份額1對 應(yīng)的t X η個密文七,,公式為:
[0025]
[0026] 其中,所述向云端η個服務(wù)器分別發(fā)送挑戰(zhàn)信息?,其中,'為隨機(jī)選 取的挑戰(zhàn)密文的行索引,\是為每一個挑戰(zhàn)密文的行索引k隨機(jī)選取的挑戰(zhàn)矩陣,具體包 括:
[0027] 從密文行索引i的集合[0,t_l]中隨機(jī)選取含有1個行索引的子集,生成挑戰(zhàn)密文 行索引集合/ =丨"人,···,々,};
[0028] 為所述挑戰(zhàn)密文行索引集合./= {m,…,U中的每一個密文行索引4隨機(jī)選 取挑戰(zhàn)矩陣\,其中,0 < c < 1-1,所述挑戰(zhàn)矩陣\ =句_4根據(jù)隨機(jī)矩陣左二生成,其中,當(dāng)m =u時,句―,?其中,句-丨= 當(dāng)i = ( j+u)mod p時ei,j取值為1,否則取值為 0,其中,0<m<p-l,0< j《p-l;
[0029] 生成挑戰(zhàn)信息0 ,vjj,其中,^ e / ;
[0030] 將所述挑戰(zhàn)信息, V'(/ 分別發(fā)送給所述云端η個服務(wù)器。
[0031] 其中,所述從云端η個服務(wù)器產(chǎn)生的響應(yīng)信肩
;>中多次挑選任意 k個響應(yīng)信息,計算聚合秘密& 具體包括:
[0032] 從所述從云端η個服務(wù)器產(chǎn)生的響應(yīng)信肩
《中多次挑選任意k個 響應(yīng)信息;
[0033] 獲取所述偽隨機(jī)函數(shù)f的密鑰kprf和所述隨機(jī)矩陣妒;
[0034] 根據(jù)所述偽隨機(jī)函數(shù)f的密鑰kprf、所述隨機(jī)矩陣β11、所述k個響應(yīng)信息
以及所述挑戰(zhàn)矩陣\分別計算k個服務(wù)器的聚合份額爲(wèi)。,3^,公 式為:
[0035]
[0036] 其中,為解密后的信息份額,0 < u < η-1;
[0037] 根據(jù)所述分別計算的k個服務(wù)器的聚合份額乂。,義,…計算聚合秘密
[0038]第二方面,本發(fā)明提供了一種云存儲數(shù)據(jù)可恢復(fù)性驗證系統(tǒng),所述系統(tǒng)包括:
[0039] 密鑰生成模塊,用于生成文件密鑰,所述文件密鑰包括一個偽隨機(jī)函數(shù)f的密鑰 kPrf和隨機(jī)矩陣β11;
[0040] 文件劃分模塊,用于將原始數(shù)據(jù)文件S分割成t個秘密信息:?,馬,.?,…,;
[0041] 門限信息分配模塊,用于對所述t個秘密信息分別采用門限秘密信息分配方法生 成tXn個信息份額,其中,0 < i < t-1,0 < u < n-1;
[0042] 安全處理模塊,用于根據(jù)所述文件密鑰對所述t X η個信息份額進(jìn)行加密處理, 生成對應(yīng)的t Xη個密文,其中,〇 < i < t-1,0 < u < n-1;
[0043] 文件上傳模塊,用于將所述tXn個密文<"通過秘密信道分別發(fā)送給云端η個服務(wù) 器,所述η個服務(wù)器與所述t X η個密文中的η數(shù)目相同;
[0044] 挑戰(zhàn)模塊,用于向云端η個服務(wù)器分別發(fā)送挑戰(zhàn)信息= ,r,; ^ >其中,&為隨 機(jī)選取的挑戰(zhàn)密文的行索引,\是為每一個挑戰(zhàn)密文的行索引?隨機(jī)選取的挑戰(zhàn)矩陣;
[0045] 聚合模塊,用于從云端η個服務(wù)器產(chǎn)生的響應(yīng)信息& ' Σ & 中多次挑選 任意k個響應(yīng)信息,計算聚合秘密七;
[0046] 驗證模塊,用于將多次得到的聚合秘密&進(jìn)行比較,若所述多次得到的聚合秘密 %-致,則驗證云端η個服務(wù)器中的數(shù)據(jù)是完整的。
[0047]其中,所述系統(tǒng)還包括:數(shù)據(jù)恢復(fù)模塊,用于當(dāng)驗證云端η個服務(wù)器中的數(shù)據(jù)不完 整時,對云端η個服務(wù)器存儲的密文進(jìn)行恢復(fù);
[0048] 所述數(shù)據(jù)恢復(fù)模塊具體包括:
[0049] 請求信息發(fā)送單元,用于向云端η個服務(wù)器分別發(fā)送攜帶有密文傳輸量的請求 信息;
[0050] 份額計算單元,對從云端η個服務(wù)器接收到的密文進(jìn)行解密,得到對應(yīng)η個解密后 的信息份額;
[0051] 秘密計算單元,用于從所述η個解密后的信息份額另#中隨機(jī)選取k個解密后的信 息份額,采用門限秘密還原方式計算還原后的秘密4,其中,0 < i < t-1, 0 < u < n-1 〇
[0052] 其中,所述安全處理模塊,具體包括:
[0053] 偽隨機(jī)序列生成單元,用于根據(jù)所述文件密鑰中的偽隨機(jī)函數(shù)f的密鑰kprf和所述 信息份額天> 的行標(biāo)i生成偽隨機(jī)序列4 (0 ;
[0054] 密文生成單元,用于根據(jù)所述偽隨機(jī)序列/^仍和所述隨機(jī)矩陣『計算與所述t X η個信息份額瓦"對應(yīng)的t X η個密文兩#,公式為:
[0055]
[0056 ]其中,所述聚合模塊,具體包括:
[0057] 響應(yīng)信息獲取單元,用于從所述從云端η個服務(wù)器產(chǎn)生的響應(yīng)信息
'中多次挑選任意k個響應(yīng)信息;
[0058] 密鑰獲取單元,用于獲取所述偽隨機(jī)函數(shù)f的密鑰kprf和所述隨機(jī)矩陣妒;
[0059] 份額聚合單元,用于根據(jù)所述偽隨機(jī)函數(shù)f的密鑰kprf、所述隨機(jī)矩陣β11、所述k個 響應(yīng)信息&=, Σ 以及所述挑戰(zhàn)矩陣\分別計算k個服務(wù)器的聚合份額 1,為,···,_,公式為:
[0060]
[0061] 其中,為解密后的挑戰(zhàn)密文,0 < u < n-1;
[0062] 秘密聚合單元,用于根據(jù)所述分別計算的k個服務(wù)器的聚合份額 算聚合秘密·
[0063]本發(fā)明提供的一種云存儲數(shù)據(jù)可恢復(fù)性驗證方法及系統(tǒng),通過將門限秘密分享與 云端多服務(wù)器存儲有效結(jié)合,進(jìn)行云存儲數(shù)據(jù)可恢復(fù)性證明,并在將經(jīng)門限秘密信息分配 方法生成的信息份額分別發(fā)送給云端多個服務(wù)器之前,對信息份額進(jìn)行加密處理,保障了 數(shù)據(jù)的機(jī)密性和可用性,不僅可以對多服務(wù)器存儲數(shù)據(jù)進(jìn)行可恢復(fù)性驗證,還將原始數(shù)據(jù) 經(jīng)過加密保護(hù)后存儲到云端服務(wù)器,保證了數(shù)據(jù)的安全性。
【附圖說明】
[0064]為了更清楚地說明本公開實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 公開的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以 根據(jù)這些圖獲得其他的附圖。
[0065]圖1為本發(fā)明一實施例提供的一種云存儲數(shù)據(jù)可恢復(fù)