數(shù)據(jù)完整性檢驗系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及云存儲技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)完整性檢驗系統(tǒng)及方法。
【背景技術(shù)】
[0002] 在云存儲技術(shù)領(lǐng)域中,用戶擔心的數(shù)據(jù)安全和隱私問題越來越受到重視,而數(shù)據(jù) 的完整性是信息安全的一個重要基本屬性。
[0003] 現(xiàn)有技術(shù)中一般使用RSA公私鑰加密體制,進行分布式云儲存的數(shù)據(jù)完整性檢驗, 并且在數(shù)據(jù)分塊時,只要抽取其中一部分,即可有著較高的比率保證全數(shù)據(jù)是完好的。但 是,檢驗數(shù)據(jù)完整性的過程中,在委托第三方檢驗的同時不能保證隱私數(shù)據(jù)的安全性,且無 法進行文件的動態(tài)更新和還原。
[0004] 因此,如何提供一種避免檢驗服務器獲得關(guān)鍵信息的數(shù)據(jù)完整性檢驗方法是急需 解決的問題。
【發(fā)明內(nèi)容】
[0005] (一)要解決的技術(shù)問題
[0006] 本發(fā)明要解決的技術(shù)問題是提供一種能夠避免檢驗服務器獲得關(guān)鍵信息的數(shù)據(jù) 完整性檢驗系統(tǒng)及方法。
[0007] (二)技術(shù)方案
[0008] 第一方面,為解決上述技術(shù)問題,本發(fā)明的技術(shù)方案提供了一種數(shù)據(jù)完整性檢驗 系統(tǒng),包括:數(shù)據(jù)處理服務器、s個普通服務器、k個冗余服務器以及檢驗服務器;
[0009] 所述數(shù)據(jù)處理服務器,用于根據(jù)待檢驗數(shù)據(jù)生成n Xs階矩陣Μ,所述矩陣 M = '并將該矩陣Μ儲存到所述s個普通服務器中; 1<j<s
[0010] 所述數(shù)據(jù)處理服務器,還用于獲取偽隨機函數(shù)f及其秘鑰kprf、所述偽隨機函數(shù)對 應的種子以及一個隨機的S Xk階柯西矩陣A;其中,sfjf中ver表示版本號,i為矩陣Μ中 的行標,1 < i < η,ρ為所述k個冗余服務器的標號,且1 < p < k;
[0011] 所述數(shù)據(jù)處理服務器,還用于根據(jù)所述偽隨機函數(shù)f、所述秘鑰kprf以及所述種子 得到矩陣R,根據(jù)矩陣R以及所述預設(shè)有限域的生成元g得到矩陣貨 ;根據(jù)所述矩陣M、所 述sXk階柯西矩陣A以及所述矩陣R得到冗余矩陣S,并將所述冗余矩陣S以及所述矩陣哀儲 存到所述k個冗余服務器中;
[0012] 所述數(shù)據(jù)處理服務器,還用于根據(jù)sXk階柯西矩陣A以及所述預設(shè)有限域的生成 元g得到矩陣V,并將所述矩陣V發(fā)送至所述檢驗服務器;
[0013] 所述檢驗服務器,用于接收所述數(shù)據(jù)處理器發(fā)送的矩陣V,對所述待檢驗數(shù)據(jù)進行 檢驗,并輸出檢驗結(jié)果。
[0014] 優(yōu)選地,所述數(shù)據(jù)處理服務器具體用于:
[0015] 根據(jù)待檢驗數(shù)據(jù)生成nXs階矩陣M,所述矩陣^1 = 將所述矩陣Μ按照 1<j<s 行和列劃分為η X s個文件塊,并將每個普通服務器劃分為η塊;
[0016] 將所述n Xs個文件塊按照預定的順序存儲到所述s個普通服務器。
[0017]優(yōu)選地,所述數(shù)據(jù)處理服務器具體用于:獲取偽隨機函數(shù)f及其秘鑰kprf、所述偽隨 機函數(shù)對應的種子以及一個隨機的sXk階柯西矩陣A;
[0018] 所述矩陣R為nXk階矩陣,且其中每個元素 rip二得到:
[0019]
[0020] 其中,i為矩陣Μ中的行標,1 <i<n,p為所述k個冗余服務器的標號,且1 <p<k, %ρ,?ρΘΙ〇表示以'f為密鑰、以Sf為種子并根據(jù)所述偽隨機函數(shù)f得到的隨機數(shù);
[0021] 根據(jù)矩陣R以及預設(shè)有限域的生成元g得到矩陣I,即:
[0022]
[0023]根據(jù)所述矩陣M、sXk階柯西矩陣A以及矩陣R得到冗余矩陣S;
[0024]所述冗余矩陣S為:
[0025]
[0026] 其中,所述sXk階的柯西矩陣A為:
[0027]
[0028] 其中,xi,X2,···,xs表示各不相同的數(shù)值,yi,y2,···,yk表示各不相同的數(shù)值;
[0029] 并將所述冗余矩陣S以及所述矩陣貸劃分后儲存到k個冗余服務器。
[0030] 優(yōu)選地,所述數(shù)據(jù)處理服務器具體用于:根據(jù)SXk階柯西矩陣A以及所述預設(shè)有限 域的生成元g得到矩陣V,即:
[0031]
[0032] 其中,所述sXk階的柯西矩陣A為:
[0033]
[0034]其中,X1,X2,···,Xs表示各不相同的數(shù)值,yi,y2,···,yk表示各不相同的數(shù)值;
[0035] 并將所述矩陣V發(fā)送至所述檢驗服務器。
[0036] 優(yōu)選地,所述檢驗服務器,具體用于隨機生成一個子集1C [1,n],所述I中每個 元素i e I生成一個隨機值21,記Q為{(i,Zl)};
[0037] 所述s個普通服務器,用于分別通過下式計算第一消息聚合值μ」,
[0038]
[0039] 并將μ」的計算結(jié)果發(fā)送至所述檢驗服務器;
[0040] 所述k個冗余服務器,用于分別通過下式計算第二消息聚合值〇P,
[0041]
[0042] 其中,^'為所述矩陣R中第i行第p列的元素,
[0043] 并將%的計算結(jié)果發(fā)送至所述檢驗服務器;
[0044] 所述檢驗服務器,還用于將接收到的s個普通服務器發(fā)送的μ」組成向量 這二(μ^…,μ5)τ,并將接收到的k個冗余服務器發(fā)送的σ ρ組成向量這二ffk)T;
[0045] 按照檢驗公式對數(shù)據(jù)的完整性進行檢驗;所述檢驗公式為:
[0046]
[0047]其中,1 < p < k,vw為所述矩陣V中第p行第j列處的元素;
[0048]若μ」、〇Ρ以及滿足所述檢驗公式,則所述待檢驗數(shù)據(jù)具有完整性;若μ」、〇Ρ以及v PJ 不滿足所述檢驗公式,則所述待檢驗數(shù)據(jù)不具有完整性;
[0049] 所述檢驗服務器,還用于輸出檢驗結(jié)果。
[0050] 優(yōu)選地,所述系統(tǒng)還包括:
[0051 ]數(shù)據(jù)還原模塊,用于所述檢驗結(jié)果為所述待檢驗數(shù)據(jù)不具有完整性,并且總出錯 服務器數(shù)量不超過k,則根據(jù)所述冗余服務器中存儲的數(shù)據(jù)還原出錯部分;
[0052] 所述數(shù)據(jù)還原模塊,具體用于遍歷所有普通服務器來確定普通服務器中出錯的文 件塊所在位置;選擇出錯的普通服務器對應的矩陣A中的行,并選擇所有未出錯 的冗余服務器對應的矩陣A中的列{,…,i b},其中b>a;組成一個a階的對于矩陣A的子方陣 A,并得到該子方陣A的逆
[0053]
[0054] 取出冗余服務器中矩陣S對應,…,ib}得到向量豆和矩陣R中對應,…,ib}得 到的向量?,得到普通服務器中的出錯的向量m:,.
[0055]
[0056] 將if存儲到對應的普通服務器中;
[0057]所述數(shù)據(jù)處理服務器,還用于重新計算矩陣S;
[0058] 所述檢驗服務器,還用于對所述待檢驗數(shù)據(jù)重新進行驗證。
[0059] 優(yōu)選地,所述系統(tǒng)還包括:
[0060] 數(shù)據(jù)更新模塊,用于當需要對所述待檢測數(shù)據(jù)進行更新時,改變待更新文件塊nuj 的種子sjf1"對應版本號ver的值,并用文件塊rfiij = rnij +Δ mij代替所述待更新文件塊 mijo
[0061] 第二方面,為解決上述技術(shù)問題,本發(fā)明的技術(shù)方案還提供了一種基于上述系統(tǒng) 的數(shù)據(jù)完整性檢驗方法,包括:
[0062] S1 :所述數(shù)據(jù)處理服務器根據(jù)待檢驗數(shù)據(jù)生成η X s階矩陣Μ,所述矩陣 M = 并將該矩陣Μ儲存到所述s個普通服務器中; l<j<S
[0063] S2:所述數(shù)據(jù)處理服務器獲取偽隨機函數(shù)f及其秘鑰kprf、所述偽隨機函數(shù)對應的 種子Sf1"以及一個隨機的sXk階柯西矩陣A;其中,sf中 ver表示版本號,i為矩陣Μ中的行 標,1 < i < η,ρ為所述k個冗余服務器的標號,且1 < p < k;
[0064] 所述數(shù)據(jù)處理服務器根據(jù)所述偽隨機函數(shù)f、所述秘鑰kprf以及所述種子Sf1·得到 矩陣R,根據(jù)矩陣R以及所述預設(shè)有限域的生成元g得到矩陣艮并根據(jù)所述矩陣M、所述sXk 階柯西矩陣A以及所述矩陣R得到冗余矩陣S,并將所述冗余矩陣S以及所述矩陣g儲存到k 個冗余服務器中;
[0065]