專利名稱:高效細(xì)粒度數(shù)據(jù)完整性檢驗方法
技術(shù)領(lǐng)域:
本發(fā) 明涉及計算機學(xué)科、信息安全學(xué)科中的數(shù)據(jù)安全領(lǐng)域,特別涉及一種計算機取證領(lǐng)域的數(shù)據(jù)完整性檢驗方法。
背景技術(shù):
使用單向Hash函數(shù)生成數(shù)據(jù)的數(shù)字摘要信息后存儲下來,通過重新生成待檢驗數(shù)據(jù)的數(shù)字摘要信息,再與所存儲的信息進行比較可以檢查待驗證數(shù)據(jù)是否發(fā)生變化,從而實現(xiàn)數(shù)據(jù)完整性檢驗——如果數(shù)字摘要信息不完全相同,則數(shù)據(jù)已發(fā)生變化。上述數(shù)字摘要信息是具有固定長度的Hash數(shù)據(jù)。數(shù)字摘要信息的實際長度取決于完整性檢驗中采用的單向Hash函數(shù),該長度和Hash函數(shù)本身的安全性一起對完整性檢驗問題的安全性產(chǎn)生影響。為方便描述,將Hash函數(shù)生成的一份Hash數(shù)據(jù)稱為一個Hash數(shù)據(jù)或一個Hash。 在關(guān)心原數(shù)據(jù)是否具有完整性時,通過重新生成Hash數(shù)據(jù)并進行比較,來驗證數(shù)據(jù)的完整性。信息社會人們面對的往往是海量數(shù)據(jù),大量的場合需要確認(rèn)數(shù)據(jù)(信息)的安全性。計算機取證領(lǐng)域典型的應(yīng)用是在進行取證復(fù)制的過程中計算并存儲取證映像的數(shù)字摘要信息以實現(xiàn)證據(jù)固定,從而保證取證分析用的副本、最后的實際證據(jù)等的完整性。單向Hash函數(shù)的一個重要特性是數(shù)據(jù)中一個比特的變化都會導(dǎo)致Hash數(shù)據(jù)與源數(shù)據(jù)變化之前生成的Hash數(shù)據(jù)不同。取證映像(完全復(fù)制件)的完整性如果只停留在整體是否可靠的層面,則偶然的數(shù)據(jù)變化就會影響全部數(shù)據(jù)的可用性、可靠性,給數(shù)據(jù)的安全、證據(jù)的選用帶來災(zāi)難性的影響。所以,使用細(xì)粒度的數(shù)據(jù)完整性校驗是計算機取證的必然需求,即我們需要分別判斷單個文件或小數(shù)據(jù)塊(以下統(tǒng)稱為數(shù)據(jù)對象)是否具有完整性。細(xì)粒度是一個相對概念,指滿足實際完整性檢驗需要的基本數(shù)據(jù)對象的大小。依照傳統(tǒng)的方法,每個數(shù)據(jù)對象都需要單獨存儲一份固定長度的Hash數(shù)據(jù)。當(dāng)處理海量數(shù)據(jù)對象時,細(xì)粒度完整性校驗面臨新問題——完整性校驗Hash數(shù)據(jù)也成了大規(guī)模數(shù)據(jù),且Hash校驗數(shù)據(jù)具有隨機性,無法使用數(shù)據(jù)壓縮技術(shù)進行壓縮,這將給完整性校驗數(shù)據(jù)的存儲和網(wǎng)絡(luò)傳輸效率帶來較大的負(fù)面影響。例如一個512GB硬盤的扇區(qū)級Hash值將需要16GB的存儲量,如果使用強度較高的SHA-256則需要32GB。Vassil Roussev 等人在文獻"md5bloom :Forensic Filesystem Hashing Revisited”(見期刊 Digital Investigation, 2006, vol. 3 (si) :82_90)中考慮衡量海量數(shù)據(jù)之間的相似性時意識到了 Hash數(shù)據(jù)的大數(shù)據(jù)量問題,引入Bloomfilter技術(shù)將若干數(shù)據(jù)對象的Hash存儲到一起形成一個Hash包——Bloomfilter0該方法的Hash包不滿足原來單向Hash函數(shù)的單向性,即不具有抗碰撞性,即使兩個相同的Hash包對應(yīng)的原始數(shù)據(jù)也可能不同,所以不能用于完整性檢驗。按照傳統(tǒng)思路,數(shù)據(jù)完整性的檢驗有以下三種選擇一是忽略細(xì)粒度的完整性檢驗的需求,仍然使用單一 Hash數(shù)據(jù);二是對每份細(xì)粒度數(shù)據(jù)都生成獨立Hash數(shù)據(jù),存儲大規(guī)模的Hash數(shù)據(jù);三是折衷使用某一中等規(guī)模的粒度,生成適量的Hash數(shù)據(jù)。
第一、二種選擇會出現(xiàn)前面分析的問題,或者完整性檢驗需求未得到滿足,或者 Hash數(shù)據(jù)規(guī)模太大。第三種選擇只實現(xiàn)了比細(xì)粒度要大的中等粒度的完整性檢驗,也沒有很好地滿足完整性檢驗的需求。為了能 夠更好地保證完整性檢驗效果同時提高空間效率,研究者設(shè)計出一系列的完整性檢驗方法。陳龍等在“系列單錯完整性指示碼及其性能分析”(計算機科學(xué),2009,Vol. 36(6) 97-100)論文中提出了一種能夠準(zhǔn)確指示單個錯誤的“超方體單錯完整性指示碼”。陳龍等在“一種細(xì)粒度數(shù)據(jù)完整性檢驗方法”(軟件學(xué)報,2009,Vol. 20 (4) 902-909)論文中提出了一種能夠準(zhǔn)確指示單個錯誤的“組合單錯完整性指示碼”,與上面提到的“超方體單錯完整性指示碼”相比,該碼的壓縮效果較好。陳龍等在“基于復(fù)數(shù)旋轉(zhuǎn)碼的細(xì)粒度數(shù)據(jù)完整性指示方法”(西南交通大學(xué)學(xué)報, 2009,Vol. 44(5) :667_671)論文中提出的“復(fù)數(shù)旋轉(zhuǎn)指示碼”,首次實現(xiàn)可以準(zhǔn)確指示多個錯誤,該碼能夠?qū)崿F(xiàn)十幾或者二十幾倍的數(shù)據(jù)壓縮,在需要準(zhǔn)確指示的錯誤數(shù)稍多時,壓縮效果較差。當(dāng)取證中數(shù)據(jù)量不是很大并且對錯誤指示能力要求不高時,可以采用超方體單錯完整性指示碼對電子證據(jù)進行固定;當(dāng)數(shù)據(jù)量比較大但對錯誤指示能力要求不高時,可以采用組合單錯完整性指示碼對電子證據(jù)進行固定;當(dāng)取證中數(shù)據(jù)量不是很大但對錯誤指示能力要求較高時,可以采用復(fù)數(shù)旋轉(zhuǎn)指示碼對電子證據(jù)進行固定;當(dāng)數(shù)據(jù)量很大并且對錯誤指示能力要求較高時,現(xiàn)有的細(xì)粒度完整性指示碼都無法滿足該要求。計算機取證的實際案例越來越復(fù)雜,已經(jīng)出現(xiàn)涉及幾百GB甚至幾個TB數(shù)據(jù)的個案,在需要處理細(xì)粒度的海量數(shù)據(jù)時,現(xiàn)有的多錯完整性指示碼的壓縮率已經(jīng)不能滿足實際需要。因此急需一種既能夠滿足海量數(shù)據(jù)的處理需求,又能節(jié)省Hash數(shù)據(jù)的存儲空間和傳輸Hash數(shù)據(jù)需要的網(wǎng)絡(luò)帶寬的一種高壓縮率的數(shù)據(jù)完整性檢驗方法。
發(fā)明內(nèi)容
有鑒于此,為了解決上述問題,本發(fā)明提出一種既能夠滿足海量數(shù)據(jù)的處理需求, 又能節(jié)省Hash數(shù)據(jù)的存儲空間和傳輸Hash數(shù)據(jù)需要的網(wǎng)絡(luò)帶寬的一種高壓縮率的數(shù)據(jù)完整性檢驗方法;當(dāng)需要進行數(shù)據(jù)完整性檢驗時,對待監(jiān)督數(shù)據(jù)對象按相同步驟生成Hash數(shù)據(jù),比較存儲的源Hash數(shù)據(jù)和新生成的Hash數(shù)據(jù),由發(fā)生變化的Hash數(shù)據(jù)個數(shù)及位置指示出發(fā)生了變化的數(shù)據(jù)對象個數(shù)和位置。本發(fā)明的目的是這樣實現(xiàn)的本發(fā)明提供的高效細(xì)粒度數(shù)據(jù)完整性檢驗方法,包括以下步驟Sl 參數(shù)初始化,用于根據(jù)應(yīng)用需求確定參數(shù),確定數(shù)據(jù)處理的粒度和數(shù)據(jù)對象分組數(shù)以及每組數(shù)據(jù)對象的個數(shù)(以下步驟對每組數(shù)據(jù)對象進行處理);S2 確定Hash監(jiān)督關(guān)系,將每個數(shù)據(jù)對象對應(yīng)于PG(d,q)中的點Ci,每個Hash數(shù)據(jù)對應(yīng)于有限射影空間PG(d,q)中的直線Ii,根據(jù)有限射影空間PG(d,q)中點Ci與直線Ii 的關(guān)聯(lián)關(guān)系來確定各Hash與數(shù)據(jù)對象的監(jiān)督關(guān)系;其中,PG(d,q)表示d維有限射影幾何空間,對應(yīng)存在含q個元素的有限域GF(q) (下同),q為素數(shù)或素數(shù)冪;
S3 =Hash生成,依次讀取待監(jiān)督數(shù)據(jù)對象,根據(jù)Hash監(jiān)督關(guān)系生成一組監(jiān)督Hash 數(shù)據(jù);S4 =Hash檢驗,首先采用S3步驟針對待檢驗數(shù)據(jù)對象生成一組新的監(jiān)督Hash數(shù)據(jù),并將新Hash數(shù)據(jù)與原Hash數(shù)據(jù)進行比較,確定出錯數(shù)據(jù)對象。進一步,所述 步驟S2包括如下步驟S21 依次讀入η個數(shù)據(jù)對象;S22 生成Hash數(shù)據(jù),用Hash并發(fā)計算方法計算得到η個數(shù)據(jù)對象的m個Hash數(shù)據(jù)。進一步,所述步驟S22中的Hash并發(fā)計算方法計算包括如下步驟S221 定義參與計算的m個Hash對象;S222 依次讀入數(shù)據(jù)對象,并依次編號;S223 根據(jù)數(shù)據(jù)對象編號和對應(yīng)的直線,選擇Hash對象參與計算;S224 對相應(yīng)Hash的數(shù)據(jù)對象進行Hash計算;S225 直到所有的數(shù)據(jù)對象計算完畢;S226 對m個Hash對象進行數(shù)據(jù)填充處理并計算最后的Hash值;S227 輸出 Hash 值;進一步,所述步驟S2中構(gòu)造有限射影幾何空間PG (d,q)的一組初始直線包括如下
步驟由有限射影空間中的兩點,確定這兩點所在的直線(其他點),所用公式為
aw p0ac° J Aaei(l)式中α為GF(q)的生成元,表示有限射影空間PG(d,q)中給定的兩個點, Ptl,P1PGF(Ci),且不同時為零;當(dāng)Po,P1取不同的值時,由該公式可以得到由這兩個點
確定的直線上的其余q-Ι個點;因為點?與指數(shù)W (整數(shù))一一對應(yīng),該直線也可記為{cQ,C1,..., cj ;以下第SS21、SS23步的計算中,從簡化運算的角度考慮,設(shè)定C。= 0 ;SS21 初始化集合,S = Z,Z表示空集;SS22 通過公式CT P0ac° J P1C^獲得有限射影幾何空間PG (d,q)中的一條初始直線Ictl, C1,..., CqI。其中,C1為不在S集中且滿足C1 <= m/2的任意一個整數(shù),如果不存在這樣的C1,則已形成所有的初始直線;SS23:根據(jù)直線{cQ,C1, %},計算相應(yīng)的差值集合s,計算方式如下s =
{(Ci-Cj) % m| i ^ j ;i, j = 0,1, . . . , q};SS24:將差值集合s并入集合S,S = S U s。SS25 重復(fù)步驟SS22-SS24,直至形成所有的初始直線;進一步,所述步驟S4包括如下步驟S41 選取參數(shù);S42 讀入原先儲存的監(jiān)督Hash數(shù)據(jù);S43 為待檢驗數(shù)據(jù)對象計算一組新的監(jiān)督Hash數(shù)據(jù);S44 比較原Hash數(shù)據(jù)和新Hash數(shù)據(jù);S45 如果兩組Hash數(shù)據(jù)相同,則所有源數(shù)據(jù)對象為完整數(shù)據(jù),轉(zhuǎn)入步驟S47 ;S46 如果兩組Hash數(shù)據(jù)存在差異,將所有相異的Hash數(shù)據(jù)編號存入數(shù)組errhash中,通過該組編號計算是否存在出錯數(shù)據(jù)對象;S47 輸出檢 驗結(jié)果,如果有出錯數(shù)據(jù)塊,則輸出出錯數(shù)據(jù)對象的編號;進一步,所述步驟S46還包括如下步驟S461 定義數(shù)組 temp ;S462 從數(shù)組errhash中依次選取兩個數(shù)據(jù)X1, X2 (所有編號的兩兩組合),并檢查 X15X2是否都已在數(shù)組temp中;S463 如果Xl,X2是都已在數(shù)組temp中,說明會導(dǎo)致重復(fù)檢查,則重新從errhash 中選取兩個數(shù);否則,繼續(xù)進行下一步;,S464:判斷選取的數(shù)據(jù)是否已經(jīng)檢查,如果由這兩個數(shù)據(jù)已經(jīng)檢查過,則重新從數(shù)組errhash中選取兩個數(shù)據(jù);否則,繼續(xù)下一步;S465 計算由這兩個數(shù)據(jù)X1, X2確定的直線{x1; x2,... , xk},并將X1, x2,...,xk這 k個數(shù)存于數(shù)組temp中;S466 檢查直線上x3,...,Xk這k_2個點所對應(yīng)的Hash數(shù)據(jù)是否出錯;S467 如果對應(yīng)的Hash數(shù)據(jù)全部出錯,則該直線對應(yīng)的數(shù)據(jù)對象出錯,計算并記錄該數(shù)據(jù)對象編號,否則該直線對應(yīng)的數(shù)據(jù)對象無錯;S468 讀取數(shù)組errhash中另兩個數(shù)據(jù);S469 重復(fù)S462-S468,直到數(shù)組errhash中所有數(shù)據(jù)處理完;S4610 得到所有出錯數(shù)據(jù)對象的編號。本發(fā)明的優(yōu)點在于本發(fā)明利用有限射影幾何上點與線的關(guān)聯(lián)關(guān)系來確定Hash 監(jiān)督關(guān)系,將每個監(jiān)督Hash對應(yīng)于一個有限射影空間中的點,將待監(jiān)督數(shù)據(jù)對象對應(yīng)于該有限射影空間中的直線,由點與線的關(guān)聯(lián)、組合關(guān)系進行編碼設(shè)計,在保證設(shè)定的錯誤指示能力條件下,實現(xiàn)Hash之間完全均勻的交叉。在數(shù)據(jù)對象出現(xiàn)不滿足完整性(簡稱出錯) 的可能性較小,或者在所有數(shù)據(jù)對象中出錯的數(shù)據(jù)對象數(shù)量較少(以下簡稱低錯誤率)的情況下,利用本發(fā)明的方法使用適量的Hash數(shù)據(jù)即可實現(xiàn)細(xì)粒度的數(shù)據(jù)完整性檢驗,可以減少因偶然的錯誤或者少數(shù)的篡改而造成整體數(shù)據(jù)失效的災(zāi)難性影響,在數(shù)據(jù)量較大并且對錯誤指示能力要求較高的場合能夠很好地發(fā)揮作用,當(dāng)錯誤數(shù)超過所設(shè)計的錯誤指示能力時,也只有相對少量的其它對象被判斷為出錯的數(shù)據(jù)對象,不影響實際應(yīng)用;相對傳統(tǒng)每個數(shù)據(jù)對象使用一個Hash的方式,本發(fā)明具有較高的壓縮率,能高效地實現(xiàn)Hash數(shù)據(jù)壓縮,能夠滿足海量數(shù)據(jù)的處理需求;可以大大節(jié)省Hash數(shù)據(jù)的存儲空間和傳輸Hash數(shù)據(jù)需要的網(wǎng)絡(luò)帶寬,適用于取證數(shù)據(jù)量比較大等數(shù)據(jù)安全應(yīng)用場合;本發(fā)明可以用于計算機取證中取證映像的完整性指示;適用于數(shù)據(jù)處理業(yè)務(wù)部門、司法部門對數(shù)據(jù)進行管理和獲取的海量數(shù)據(jù)、電子數(shù)據(jù)證據(jù)、計算機證據(jù)的完整性檢驗;也適用于其他需要實現(xiàn)細(xì)粒度完整性檢驗的場合;本發(fā)明可按照用戶的需求來自由設(shè)定數(shù)據(jù)對象的實際粒度、準(zhǔn)確指示的錯誤數(shù)量 t和Hash數(shù)據(jù)壓縮的程度,其壓縮率隨著射影幾何的維數(shù)d和準(zhǔn)確指示錯誤的數(shù)目t的增長而迅速增長;可以根據(jù)數(shù)據(jù)對象的多少以及對壓縮率的要求等因素,靈活選擇用于監(jiān)督的Hash數(shù)目,在指錯能力范圍內(nèi)能準(zhǔn)確檢驗出多個錯誤,在超出該范圍時,也能夠準(zhǔn)確指示實際出錯對象,并且不會將出錯對象判定為正確的對象,符合完整性檢驗的要求。本發(fā)明的其它優(yōu)點、目標(biāo)和特征在某種程度上將在隨后的說明書中進行闡述,并且在某種程度上,基于對下文的考察研究對本領(lǐng)域技術(shù)人員而言將是顯而易見的,或者可以從本發(fā)明的實踐中得到教導(dǎo)。本發(fā)明的目標(biāo)和其它優(yōu)點可以通過下面的說明書,權(quán)利要求書,以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。
為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明作進一步的詳細(xì)描述,其中圖1為Hash并發(fā)計算流程圖;圖2為Hash生成流程圖;圖3為完整性檢驗流程圖。
具體實施例方式以下將結(jié)合附圖,對本發(fā)明的優(yōu)選實施例進行詳細(xì)的描述;應(yīng)當(dāng)理解,優(yōu)選實施例僅為了說明本發(fā)明,而不是為了限制本發(fā)明的保護范圍。本發(fā)明提供的高效細(xì)粒度數(shù)據(jù)完整性檢驗方法,包括以下步驟Sl 參數(shù)初始化,用于根據(jù)應(yīng)用需求確定參數(shù),確定數(shù)據(jù)處理的粒度和數(shù)據(jù)對象分組數(shù)以及每組數(shù)據(jù)對象的個數(shù)(以下步驟對每組數(shù)據(jù)對象進行處理);S2 確定Hash監(jiān)督關(guān)系,將每個數(shù)據(jù)對象對應(yīng)于PG (d,q)中的點Ci,每個Hash數(shù)據(jù)對應(yīng)于有限射影空間PG(d,q)中的直線Ii,根據(jù)有限射影空間PG(d,q)中點Ci與直線Ii 的關(guān)聯(lián)關(guān)系來確定各Hash與數(shù)據(jù)對象的監(jiān)督關(guān)系;其中,PG (d,q)表示d維有限射影幾何空間,對應(yīng)存在含q個元素的有限域GF (q) (下同),q為素數(shù)或素數(shù)冪;S3 =Hash生成,依次讀取待監(jiān)督數(shù)據(jù)對象,根據(jù)Hash監(jiān)督關(guān)系生成一組監(jiān)督Hash 數(shù)據(jù);S4 =Hash檢驗,首先采用S3步驟重新生成一組新的監(jiān)督Hash數(shù)據(jù),并將新Hash數(shù)據(jù)與原Hash數(shù)據(jù)進行比較,確定出錯數(shù)據(jù)對象。作為上述實施例的進一步改進,所述步驟S2包括如下步驟S21 依次讀入η個數(shù)據(jù)對象;根據(jù)用戶要求的粒度,將數(shù)據(jù)對象分成count組,每組數(shù)據(jù)對象的個數(shù)為η;根據(jù)每組η個數(shù)據(jù)對象和用戶要求的指示錯誤能力t,計算滿足下列公式條件的最小d值
n (qdh (\)(qdh (q).n}KH ^2計算Hash數(shù)據(jù)數(shù)目《式中m表示Hash數(shù)據(jù)的個
(q「「W ,^ ,
數(shù);S22 生成Hash數(shù)據(jù),用于通過Hash并發(fā)計算方法計算得到η個數(shù)據(jù)對象的m個 Hash數(shù)據(jù)。例如,取證映像是一個512GB的硬盤,用戶需要的粒度是扇區(qū)級,即512字節(jié),則數(shù)據(jù)對象總個數(shù)為512GB/512B = 230。如此大量的數(shù)據(jù)對象無法一次處理完畢,可以進行分組,如取η = 2667,即每組2667個數(shù)據(jù)對象。 或者,取證映像是一個文件目錄,目錄下共有300個文件,用戶需要的粒度是文件級別。如果要一次處理完所有文件,則η = 300/1 = 300 ;如果分兩次處理,則η = 300/2 = 150。例如,η = 2667,t = 2時,合適的d為6,對應(yīng)的Hash數(shù)據(jù)數(shù)目m= 127 ;η = 357, t = 4時,合適的d為3,對應(yīng)的Hash數(shù)據(jù)數(shù)目m = 85。圖1為Hash并發(fā)計算流程圖,圖2為Hash生成流程圖,如圖所示,作為上述實施例的進一步改進,所述步驟S22中的Hash并發(fā)計算方法計算包括如下步驟S221 定義參與計算的m個Hash對象;S222 依次讀入數(shù)據(jù)對象,并依次編號; S223 根據(jù)數(shù)據(jù)對象編號和對應(yīng)的直線,選擇Hash對象參與計算;S224 對相應(yīng)Hash的數(shù)據(jù)對象進行Hash計算;S225 直到所有的數(shù)據(jù)對象計算完畢;S226 對m個Hash對象進行數(shù)據(jù)填充處理并計算最后的Hash值;S227 輸出 Hash 值。作為上述實施例的具體辦法,所述步驟S2中構(gòu)造有限射影幾何空間PG (d,q)的一組初始直線包括如下步驟由有限射影空間中的兩點,確定這兩點所在的直線(其他點),所用公式為
權(quán)利要求
1.高效細(xì)粒度數(shù)據(jù)完整性檢驗方法,其特征在于包括以下步驟51參數(shù)初始化,用于根據(jù)應(yīng)用需求確定參數(shù),確定數(shù)據(jù)處理的粒度和數(shù)據(jù)對象分組數(shù)以及每組數(shù)據(jù)對象的個數(shù),以下步驟對每組數(shù)據(jù)對象進行處理;52確定Hash監(jiān)督關(guān)系,將每個數(shù)據(jù)對象對應(yīng)于PG (d,q)中的點Ci,每個Hash數(shù)據(jù)對應(yīng)于有限射影空間PG(d, q)中的直線Ii,根據(jù)有限射影空間PG(d, q)中點Ci與直線Ii的關(guān)聯(lián)關(guān)系來確定各Hash與數(shù)據(jù)對象的監(jiān)督關(guān)系;其中,PG(d,q)表示d維有限射影幾何空間,對應(yīng)存在含q個元素的有限域GF(q),q為素數(shù)或素數(shù)冪;53=Hash生成,依次讀取待監(jiān)督數(shù)據(jù)對象,根據(jù)Hash監(jiān)督關(guān)系生成一組監(jiān)督Hash數(shù)據(jù);54=Hash檢驗,首先采用S3步驟針對待檢驗數(shù)據(jù)對象生成一組新的監(jiān)督Hash數(shù)據(jù),并將新Hash數(shù)據(jù)與原Hash數(shù)據(jù)進行比較,確定出錯數(shù)據(jù)對象。
2.根據(jù)權(quán)利要求1所述的高效細(xì)粒度數(shù)據(jù)完整性檢驗方法,其特征在于所述步驟S2 包括如下步驟S21:依次讀入η個數(shù)據(jù)對象;S22 生成Hash數(shù)據(jù),用Hash并發(fā)計算方法計算得到η個數(shù)據(jù)對象的m個Hash數(shù)據(jù)。
3.根據(jù)權(quán)利要求2所述的高效細(xì)粒度數(shù)據(jù)完整性檢驗方法,其特征在于所述步驟S22 中的Hash并發(fā)計算方法計算包括如下步驟5221定義參與計算的m個Hash對象;5222依次讀入數(shù)據(jù)對象,并依次編號;5223根據(jù)數(shù)據(jù)對象編號和對應(yīng)的直線,選擇Hash對象參與計算;5224對相應(yīng)Hash的數(shù)據(jù)對象進行Hash計算;5225直到所有的數(shù)據(jù)對象計算完畢;5226對m個Hash對象進行數(shù)據(jù)填充處理并計算最后的Hash值;5227輸出 Hash 值。
4.根據(jù)權(quán)利要求1所述的高效細(xì)粒度數(shù)據(jù)完整性檢驗方法,其特征在于所述步驟S2 中構(gòu)造有限射影幾何空間PG(d,q)的一組初始直線包括如下步驟由有限射影空間中的兩點,確定這兩點所在的直線,所用公式為 aw = p0ac° + PlOf1 (l)式中α為GF(q)的生成元,C^表示有限射影空間PG(d,q)中給定的兩個點, pQ,P1GGF(Ci),且不同時為零;當(dāng)Po,P1取不同的值時,由該公式可以得到由這兩個點確定的直線上的其余q_l個點;因為點α w與指數(shù)w —一對應(yīng),其中w為整數(shù),該直線記為{C(1,Cl,..., };以下第SS21、SS23步的計算中,從簡化運算的角度考慮,設(shè)定Ctl = O ;S521初始化集合,S=0,0表示空集; S522通過公式⑴獲得有限射影幾何空間PG(d,q)中的一條初始直線Ictl, C1,..., cq};其中,C1為不在S集中且滿足C1 <=m/2的任意一個整數(shù),如果不存在這樣的C1,則已形成所有的初始直線;S523根據(jù)直線Ictl, C1,..., CtJ,計算相應(yīng)的差值集合s,計算方式如下S = {(Ci-Cj) % m I i ^ j ; i, j = 0,1, . . . , q};5524將差值集合s并入集合S,S = S U S ; 5525重復(fù)步驟SS22-SS24,直至形成所有的初始直線。
5.根據(jù)權(quán)利要求1所述的高效細(xì)粒度數(shù)據(jù)完整性檢驗方法,其特征在于所述步驟S4 包括如下步驟541選取參數(shù);542讀入原先儲存的監(jiān)督Hash數(shù)據(jù);543為待檢驗數(shù)據(jù)對象計算一組新的監(jiān)督Hash數(shù)據(jù);544比較原Hash數(shù)據(jù)和新Hash數(shù)據(jù);545如果兩組Hash數(shù)據(jù)相同,則所有源數(shù)據(jù)對象為完整數(shù)據(jù),轉(zhuǎn)入步驟S47 ;546如果兩組Hash數(shù)據(jù)存在差異,將所有相異的Hash數(shù)據(jù)編號存入數(shù)組errhash中, 通過該組編號計算是否存在出錯數(shù)據(jù)對象;547輸出檢驗結(jié)果,如果有出錯數(shù)據(jù)塊,則輸出出錯數(shù)據(jù)對象的編號。
6.根據(jù)權(quán)利要求5所述的Hash檢驗方法,其特征在于所述步驟S46還包括如下步驟5461定義數(shù)組temp ;5462從數(shù)組errhash中依次選取兩個數(shù)據(jù)X1, X2,其中X1, X2為所有編號的兩兩組合, 并檢查X1, X2是否都已在數(shù)組temp中;5463如果Xl,X2是都已在數(shù)組temp中,說明會導(dǎo)致重復(fù)檢查,則重新從errhash中選取兩個數(shù);否則,繼續(xù)進行下一步;S464:判斷選取的數(shù)據(jù)是否已經(jīng)檢查,如果由這兩個數(shù)據(jù)已經(jīng)檢查過,則重新從數(shù)組 errhash中選取兩個數(shù)據(jù);否則,繼續(xù)下一步;5465計算由這兩個數(shù)據(jù)X1, X2確定的直線{x1;x2,...,xk},并將x1;x2,...,xk這k個數(shù)存于數(shù)組temp中;5466檢查直線上x3,...,Xk這k-2個點所對應(yīng)的Hash數(shù)據(jù)是否出錯;5467如果對應(yīng)的Hash數(shù)據(jù)全部出錯,則該直線對應(yīng)的數(shù)據(jù)對象出錯,計算并記錄該數(shù)據(jù)對象編號,否則該直線對應(yīng)的數(shù)據(jù)對象無錯;5468讀取數(shù)組errhash中另外的兩個數(shù)據(jù);5469重復(fù)S462-S468,直到數(shù)組errhash中所有數(shù)據(jù)處理完; S4610 得到所有出錯數(shù)據(jù)對象的編號。
全文摘要
本發(fā)明公開了一種高效細(xì)粒度數(shù)據(jù)完整性檢驗方法,涉及數(shù)據(jù)安全、計算機取證領(lǐng)域的數(shù)據(jù)完整性檢驗方法,利用有限射影幾何中的直線與點的關(guān)聯(lián)、組合關(guān)系進行編碼設(shè)計,將每個監(jiān)督Hash對應(yīng)于有限射影空間中的點,將待監(jiān)督數(shù)據(jù)對象對應(yīng)于該有限射影空間中的直線,利用點線關(guān)系來確定Hash監(jiān)督關(guān)系,能夠準(zhǔn)確指示一組數(shù)據(jù)對象中的多個錯誤,具有較高的壓縮率,能夠滿足海量數(shù)據(jù)的處理需求,節(jié)省了Hash數(shù)據(jù)的存儲空間和傳輸Hash數(shù)據(jù)需要的網(wǎng)絡(luò)帶寬,本發(fā)明可以用于計算機取證中取證映像的完整性指示;適用于數(shù)據(jù)處理業(yè)務(wù)部門、司法部門的海量數(shù)據(jù)、電子數(shù)據(jù)、計算機證據(jù)的完整性檢驗;需要實現(xiàn)細(xì)粒度完整性檢驗、指示少量數(shù)據(jù)出錯的場合。
文檔編號G06F21/24GK102222202SQ20111015426
公開日2011年10月19日 申請日期2011年6月9日 優(yōu)先權(quán)日2011年6月9日
發(fā)明者婁曉會, 陳龍 申請人:重慶郵電大學(xué)