欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

數(shù)據(jù)完整性的保護(hù)和驗(yàn)證方法、設(shè)備和系統(tǒng)的制作方法

文檔序號:6334249閱讀:781來源:國知局
專利名稱:數(shù)據(jù)完整性的保護(hù)和驗(yàn)證方法、設(shè)備和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本公開涉及電子數(shù)據(jù)的完整性保護(hù),具體地,涉及電子數(shù)據(jù)完整性的保護(hù)和驗(yàn)證方法、設(shè)備以及系統(tǒng)。
背景技術(shù)
相對于紙質(zhì)媒體,電子數(shù)據(jù)(例如圖像、文本、音頻、視頻等)容易被篡改,也容易在傳輸或保存過程中出現(xiàn)誤差或丟失。在很多應(yīng)用中,用戶都需要檢查電子數(shù)據(jù)的完整性, 以確認(rèn)數(shù)據(jù)未被篡改或者未出現(xiàn)誤差或丟失。例如,隨著電子簽名法等法律法規(guī)的頒布,電子數(shù)據(jù)可以和紙質(zhì)媒體一樣作為法庭的證據(jù)。因此,確保電子數(shù)據(jù)的完整性日益成為重要的需求。

發(fā)明內(nèi)容
在下文中給出關(guān)于本公開的一些方面的簡要概述,以便提供對于本公開的基本理解。應(yīng)當(dāng)理解,這個概述并不是對本公開的窮舉性概述。該概述也并非意圖確定本公開的關(guān)鍵或重要部分,也不是意圖限定本公開的范圍。其目的僅僅是以簡化的形式給出某些概念,以此作為稍后論述的更詳細(xì)描述的前序。根據(jù)本公開的一個方面,提供了一種數(shù)據(jù)完整性的保護(hù)方法。該方法包括將數(shù)據(jù)分成多個數(shù)據(jù)塊;利用第一哈希函數(shù)來計(jì)算每個數(shù)據(jù)塊的哈希值,得到多個分塊哈希值,所述多個分塊哈希值形成第一哈希鏈;利用第二哈希函數(shù)、根據(jù)所述第一哈希鏈來計(jì)算第二哈希鏈,所述第二哈希鏈包括多個鏈哈希值,每個鏈哈希值與所述第一哈希鏈中的對應(yīng)的分塊哈希值關(guān)聯(lián),并與所述第二哈希鏈中的相鄰鏈哈希值關(guān)聯(lián);及利用所述第二哈希鏈中的最后一個鏈哈希值來生成所述數(shù)據(jù)的驗(yàn)證信息。根據(jù)本公開的另一方面,提供了一種數(shù)據(jù)完整性的保護(hù)設(shè)備。該設(shè)備包括數(shù)據(jù)分塊裝置,用于將數(shù)據(jù)分成多個數(shù)據(jù)塊;完整性信息生成裝置,該完整性信息生成裝置用于利用第一哈希函數(shù)來計(jì)算每個數(shù)據(jù)塊的哈希值,得到多個分塊哈希值,所述多個分塊哈希值形成第一哈希鏈;該完整性信息生成裝置還用于利用第二哈希函數(shù)、根據(jù)所述第一哈希鏈來計(jì)算第二哈希鏈,所述第二哈希鏈包括多個鏈哈希值,每個鏈哈希值與所述第一哈希鏈中的對應(yīng)的分塊哈希值關(guān)聯(lián)并與所述第二哈希鏈中的相鄰鏈哈希值關(guān)聯(lián);及驗(yàn)證信息生成裝置,用于利用所述第二哈希鏈中的最后一個鏈哈希值來生成所述數(shù)據(jù)的驗(yàn)證信息。根據(jù)本公開的另一方面,提供了一種數(shù)據(jù)完整性的驗(yàn)證方法。該方法包括將待驗(yàn)證的數(shù)據(jù)分成多個數(shù)據(jù)塊;利用第一哈希函數(shù)來計(jì)算每個數(shù)據(jù)塊的哈希值,得到多個分塊哈希值,所述多個分塊哈希值形成第一哈希鏈,并且每個分塊哈希值與所述多個數(shù)據(jù)塊中的一個對應(yīng);利用第二哈希函數(shù)、根據(jù)所述第一哈希鏈來計(jì)算第二哈希鏈,所述第二哈希鏈包括多個鏈哈希值,每個鏈哈希值與所述第一哈希鏈中的對應(yīng)的分塊哈希值關(guān)聯(lián),并與所述第二哈希鏈中的相鄰鏈哈希值關(guān)聯(lián);以及根據(jù)所述第二哈希鏈中的最后一個鏈哈希值以及所述待驗(yàn)證的數(shù)據(jù)的驗(yàn)證信息來判斷所述數(shù)據(jù)是否完整。
根據(jù)本公開的另一方面,提供了一種數(shù)據(jù)完整性的驗(yàn)證設(shè)備。該設(shè)備包括數(shù)據(jù)分塊裝置,用于將待驗(yàn)證的數(shù)據(jù)分成多個數(shù)據(jù)塊;哈希計(jì)算裝置,該哈希計(jì)算裝置用于利用第一哈希函數(shù)來計(jì)算每個數(shù)據(jù)塊的哈希值,得到多個分塊哈希值,所述多個分塊哈希值形成第一哈希鏈,并且每個分塊哈希值與所述多個數(shù)據(jù)塊中的一個對應(yīng);該計(jì)算裝置還用于利用第二哈希函數(shù)、根據(jù)所述第一哈希鏈來計(jì)算第二哈希鏈,所述第二哈希鏈包括多個鏈哈希值,每個鏈哈希值與所述第一哈希鏈中的對應(yīng)的分塊哈希值關(guān)聯(lián),并與所述第二哈希鏈中的相鄰鏈哈希值關(guān)聯(lián);以及驗(yàn)證裝置,用于根據(jù)所述第二哈希鏈中的最后一個鏈哈希值以及所述待驗(yàn)證的數(shù)據(jù)的驗(yàn)證信息來判斷所述數(shù)據(jù)是否完整。根據(jù)本公開的另一方面,提供了一種數(shù)據(jù)完整性的保護(hù)系統(tǒng)。該系統(tǒng)包括上述的保護(hù)設(shè)備和驗(yàn)證設(shè)備。另外,本公開的實(shí)施例還提供了用于實(shí)現(xiàn)上述方法的計(jì)算機(jī)程序。此外,本公開的實(shí)施例還提供了至少計(jì)算機(jī)可讀介質(zhì)形式的計(jì)算機(jī)程序產(chǎn)品,其上記錄有用于實(shí)現(xiàn)上述方法的計(jì)算機(jī)程序代碼。


參照下面結(jié)合附圖對本公開實(shí)施例的說明,會更加容易地理解本公開的以上和其它目的、特點(diǎn)和優(yōu)點(diǎn)。附圖中的部件只是為了示出本公開的原理。在附圖中,相同的或類似的技術(shù)特征或部件將采用相同或類似的附圖標(biāo)記來表示。圖1是示出了根據(jù)本公開的一個實(shí)施例的用于數(shù)據(jù)完整性的保護(hù)的方法的示意性流程圖;圖2是示出了根據(jù)本公開的一個實(shí)施例的用于數(shù)據(jù)完整性的驗(yàn)證的方法的示意性流程圖;圖3(A)是示出了基于第一哈希鏈來生成第二哈希鏈的方法的一個示例的示意性流程圖;圖3(B)是示出了基于第一哈希鏈來生成第二哈希鏈的方法的另一示例的示意性流程圖;圖4是示出了根據(jù)本公開的一個實(shí)施例的用于數(shù)據(jù)完整性的保護(hù)的系統(tǒng)的示意圖;圖5是示出了根據(jù)本公開的另一實(shí)施例的用于數(shù)據(jù)完整性的保護(hù)的系統(tǒng)的示意圖;圖6(A)是示出了生成具有雙哈希鏈結(jié)構(gòu)的完整性信息和利用這樣的信息來驗(yàn)證數(shù)據(jù)完整性的一個示例的示意圖;圖6(B)是示出了生成具有雙哈希鏈結(jié)構(gòu)的完整性信息和利用這樣的信息來驗(yàn)證數(shù)據(jù)完整性的另一示例的示意7是示出了利用第二哈希鏈中的最后一個鏈哈希值來驗(yàn)證數(shù)據(jù)的完整性的一個示例的示意圖;圖8是示出了利用第二哈希鏈中的最后一個鏈哈希值來驗(yàn)證數(shù)據(jù)的完整性的另一示例的示意圖;圖9是示出用于定位錯誤數(shù)據(jù)塊的方法的一個示例的示意圖10是示出用于定位錯誤數(shù)據(jù)塊的方法的另一示例的示意圖;圖11是示出用于定位錯誤數(shù)據(jù)塊的方法的又一示例的示意圖;圖12 (A)、(B)、(C)是分別示出了圖像或視頻數(shù)據(jù)的分割方法的示意圖;圖13是示出了根據(jù)一個實(shí)施例的用于數(shù)據(jù)的完整性保護(hù)的設(shè)備的示意性框圖;圖14是示出了根據(jù)另一實(shí)施例的用于數(shù)據(jù)的完整性保護(hù)的設(shè)備的示意性框圖;圖15是示出了根據(jù)一個實(shí)施例的用于數(shù)據(jù)的完整性驗(yàn)證的設(shè)備的示意性框圖; 以及圖16是示出用于實(shí)現(xiàn)本公開的計(jì)算機(jī)的結(jié)構(gòu)的示例性框圖。
具體實(shí)施例方式下面參照附圖來說明本公開的實(shí)施例。在本公開的一個附圖或一種實(shí)施方式中描述的元素和特征可以與一個或更多個其它附圖或?qū)嵤┓绞街惺境龅脑睾吞卣飨嘟Y(jié)合。應(yīng)當(dāng)注意,為了清楚的目的,附圖和說明中省略了與本公開無關(guān)的、本領(lǐng)域普通技術(shù)人員已知的部件和處理的表示和描述。本公開的實(shí)施例提供了對電子數(shù)據(jù)的完整性進(jìn)行保護(hù)和驗(yàn)證的方法、設(shè)備和系統(tǒng)。本公開的實(shí)施例或技術(shù)方案中所提及的“數(shù)據(jù)”均是指電子數(shù)據(jù),并且所述數(shù)據(jù)可以是圖像、文本、視頻、音頻或其任意組合等任何形式的電子數(shù)據(jù),本公開對此不作限定。圖1是示出了根據(jù)本公開的一個實(shí)施例的用于對數(shù)據(jù)的完整性進(jìn)行保護(hù)的方法的示意性流程圖。在圖1示出的實(shí)施例中,信息生成方可以生成與要保護(hù)的數(shù)據(jù)相關(guān)的雙層哈希鏈,作為數(shù)據(jù)的完整性信息。如圖1所示,該方法可以包括步驟103、105、107和109。具體地,在步驟103中,信息生成方設(shè)備(簡稱信息生成方)將要保護(hù)的數(shù)據(jù)分成多個數(shù)據(jù)塊??梢园凑杖魏芜m當(dāng)?shù)捻樞驅(qū)?shù)據(jù)進(jìn)行分割。例如,可以按照時(shí)間或傳輸順序?qū)?shù)據(jù)分成數(shù)據(jù)塊。又如,可以按照空間順序?qū)?shù)據(jù)分成數(shù)據(jù)塊,圖12(C)示出了將一幅圖像從空間上分成多個塊的一個示例,在該示例中,圖像P被劃分成16個塊A1-A1615又如,可以按照時(shí)間和空間順序二者來分割數(shù)據(jù),如在圖12(A)所示的示例中,將每幀圖像作為一個數(shù)據(jù)塊、按照時(shí)間順序分割圖像序列,即每幀圖像f2,...,或4分別作為一個數(shù)據(jù)塊 A1, A2,...,或An ;又如在圖12⑶所示的示例中,將圖像序列按照時(shí)間順序劃分成多組,每組包括多幀圖像f1; f2,. . .,fm,然后,按照空間順序?qū)⒚拷M圖像中的每幀圖像劃分為多個區(qū)域,多幀圖像的某個相應(yīng)位置的區(qū)域組成一個數(shù)據(jù)塊。在本示例中,圖像組f\,f2,...,乙被劃分成16個數(shù)據(jù)塊塊A1-A16,其中每個圖像塊包括該組圖像f1; f2,. . .,fn中相應(yīng)位置的多個區(qū)域,即Ai =出^,...、,」,、^},」=1,2,...,m,i = 1,...,16。應(yīng)理解,可以按照任何適當(dāng)?shù)姆绞絹矸指顢?shù)據(jù),本公開并不局限于上述示例。然后,在步驟105中,信息生成方利用哈希函數(shù)(稱為第一哈希函數(shù))來計(jì)算每個數(shù)據(jù)塊的哈希值。計(jì)算得到的每個數(shù)據(jù)塊的哈希值稱為分塊哈希值。這樣,得到多個分塊哈希值,每個分塊哈希值與一個數(shù)據(jù)塊對應(yīng)。這些分塊哈希值可以稱為第一哈希鏈。然后,在步驟107中,以迭代哈希鏈將第一哈希鏈中的多個分塊哈希值依次鏈接起來,形成所述數(shù)據(jù)的第二哈希鏈。第二哈希鏈中包括多個哈希值,為了與第一哈希鏈中的分塊哈希值區(qū)分開,本公開中將第二哈希鏈中的哈希值稱為“鏈哈希值”。具體地,可以利用哈希函數(shù)(稱為第二哈希函數(shù))、根據(jù)第一哈希鏈來進(jìn)行迭代計(jì)算,從而得到第二哈希鏈, 每個鏈哈希值不但與第一哈希鏈中的對應(yīng)的分塊哈希值關(guān)聯(lián),而且還與該第二哈希鏈中的相鄰鏈哈希值關(guān)聯(lián)。所形成的第一哈希鏈和第二哈希鏈可以作為所述數(shù)據(jù)的完整性信息。作為一個示例,計(jì)算第二哈希鏈所采用的第二哈希函數(shù)可以與計(jì)算第一哈希鏈所采用的第一哈希函數(shù)相同。作為另一示例,第二哈希函數(shù)可以不同于第一哈希函數(shù)。應(yīng)理解,可以采用任何適當(dāng)?shù)姆椒▉碛?jì)算哈希值。例如,第一哈希函數(shù)或者第二哈希函數(shù)可以采用SHA256、SHA512(其中,SHA的全稱Secure Hash Algorithm,即安全哈希算法)和NIST (National Institute of Standards and ^Technology,美國國家標(biāo)準(zhǔn)與技術(shù)研究院)在下一代哈希函數(shù)競賽中選定的新的哈希函數(shù)等,這里不一一列舉。圖3(A)示出了計(jì)算第二哈希鏈的方法的一個示例。如圖3(A)所示,根據(jù)第一哈希鏈來計(jì)算第二哈希鏈的方法可以包括步驟107-1和107-2。在步驟107-1中,計(jì)算第二哈希鏈中的第一個鏈哈希值。具體地,將利用多個數(shù)據(jù)塊中的頭兩個或更多個數(shù)據(jù)塊的分塊哈希值作為第二哈希函數(shù)的自變量而計(jì)算得到的哈希值作為第一個鏈哈希值。然后,在步驟107-2中依次計(jì)算后面的鏈哈希值。具體地,對于從第二個鏈哈希值開始的每個鏈哈希值,將利用前一個鏈哈希值和對應(yīng)的分塊哈希值作為第二哈希函數(shù)的自變量而計(jì)算得到的哈希值作為該鏈哈希值。圖3(B)示出了計(jì)算第二哈希鏈的方法的另一個示例。如圖3 (B)所示,根據(jù)第一哈希鏈來計(jì)算第二哈希鏈的方法可以包括步驟107-3和107-4。在步驟107-3中,計(jì)算第二哈希鏈中的第一個鏈哈希值。具體地,利用指定的初始化值和第一哈希鏈中的第一個分塊哈希值(即第一個數(shù)據(jù)塊的分塊哈希值)作為第二哈希函數(shù)的自變量而計(jì)算得到的哈希值作為第一個鏈哈希值。指定的初始化值可以是前一組數(shù)據(jù)的最后一個哈希值或驗(yàn)證信息,或者可以是包含指定的驗(yàn)證信息(如時(shí)間信息、數(shù)據(jù)源信息、或者用戶定義的任何附加信息) 的數(shù)據(jù)。步驟107-4與圖3(A)中的步驟107-2相似,這里不再重復(fù)。假設(shè)數(shù)據(jù)被分成多個數(shù)據(jù)塊A1, A2, ... , An, (η > 1),這些數(shù)據(jù)塊的分塊哈希值分另Ij表示為 h1 h2, . . . , hn Iii = Hl(Ai), i = 1,···,η,(1)其中,HlO表示第一哈希函數(shù),其可以是任何適當(dāng)?shù)墓:瘮?shù)。根據(jù)圖3(A)所示的方法,假設(shè)第二哈希鏈中的鏈哈希值表示為h’ m,h’ m+1,..., h’ n,則可以用下式來計(jì)算這些鏈哈希值h,m = H2(hm,hm_1,...,h1),(2)h,m+1 = H2 (hm+1,h,m),· · ·,h,n = H(hn,h,η) (3)其中,2彡m < n,η為數(shù)據(jù)塊的個數(shù)。優(yōu)選地,m = 2。根據(jù)圖3(B)所示的方法,可以用下式來計(jì)算鏈哈希值h’ h’ 2,. . .,h’ n h' ! = H2(h!, IV),(4)h' i = H2(hi, h' ^1)(5)其中,IV表示指定的初始化值,2彡η, η為數(shù)據(jù)塊的個數(shù)。在上式( -^中,H2()表示第二哈希函數(shù),其可以是任何適當(dāng)?shù)墓:瘮?shù)。H2() 可以與HlO相同,也可以與HlO不同。應(yīng)理解,上述示例僅僅是示例性的,而不是窮舉性的??梢圆捎闷渌m當(dāng)?shù)姆椒▉碛?jì)算所述第二哈希鏈,只要第二哈希鏈中的鏈哈希值將第一哈希鏈中的分塊哈希值用鏈狀結(jié)構(gòu)連接起來既可。然后,在步驟109中,利用第二哈希鏈中的最后一個鏈哈希值來生成所述數(shù)據(jù)的驗(yàn)證信息驗(yàn)證信息=Verify(h,n)(6)其中,VerifyO表示驗(yàn)證算法。應(yīng)理解,可以采用任何適當(dāng)?shù)尿?yàn)證算法。作為一個示例,VerifyO可以是數(shù)字簽名算法,所述驗(yàn)證信息可以是對最后一個鏈哈希值進(jìn)行數(shù)字簽名(可以采用任何適當(dāng)?shù)姆椒ㄟM(jìn)行簽名計(jì)算,這里不作限定)而得到的簽名信息。作為另一示例,VerifyO可以是時(shí)間戳的計(jì)算方法,所述驗(yàn)證信息可以是利用最后一個鏈哈希值和時(shí)間信息而生成的時(shí)間戳信息(可以采用任何適當(dāng)?shù)姆椒▉碛?jì)算時(shí)間戳,這里也不作限定)。作為又一示例,所述驗(yàn)證信息還可以包括數(shù)字簽名和時(shí)間戳信息二者。這里不一一列舉。利用圖1所示的方法,可以計(jì)算得到雙層哈希鏈,作為要保護(hù)的數(shù)據(jù)的完整性信肩、ο圖2示出了根據(jù)本公開的一個實(shí)施例的對數(shù)據(jù)的完整性進(jìn)行驗(yàn)證的方法的示意性流程圖。在圖2示出的實(shí)施例中,信息驗(yàn)證方設(shè)備(簡稱信息驗(yàn)證方)可以生成與要驗(yàn)證的數(shù)據(jù)相關(guān)的雙層哈希鏈,并利用該哈希信息來驗(yàn)證數(shù)據(jù)的完整性。如圖2所示,該驗(yàn)證方法可以包括步驟213、215、217和219。首先,信息驗(yàn)證方采用與信息生成方同樣的方式來生成待驗(yàn)證的數(shù)據(jù)的雙層哈希鏈。具體地,在步驟213中,將待驗(yàn)證的數(shù)據(jù)分成多個數(shù)據(jù)塊。數(shù)據(jù)的分割方式要與信息生成方分割數(shù)據(jù)的方式相同。這里不再重復(fù)。例如,這些數(shù)據(jù)塊可以用RA1,RA2,...,RAn(η > 1,η表示數(shù)據(jù)塊的個數(shù))來表示。然后,在步驟215中,利用第一哈希函數(shù)來計(jì)算每個數(shù)據(jù)塊的哈希值,得到第一哈希鏈,第一哈希鏈中的每個分塊哈希值與多個數(shù)據(jù)塊中的一個對應(yīng)。可以采用與信息生成方所使用的相同的哈希函數(shù)來計(jì)算哈希值,這里不再重復(fù)。假設(shè)基于待驗(yàn)證的數(shù)據(jù)計(jì)算得到的分塊哈希值分別表示為hK1,hE2, ... , hEn(hEi = Hl (RAi),i = 1,. . .,n,其中Hl ()表示第一哈希函數(shù),其可以是任何適當(dāng)?shù)墓:瘮?shù))。在步驟217中,信息驗(yàn)證方利用迭代哈希鏈將第一哈希鏈中的分塊哈希值連接起來,形成第二哈希鏈。具體地,信息驗(yàn)證方可以利用第二哈希函數(shù)、根據(jù)所述第一哈希鏈來計(jì)算第二哈希鏈。第二哈希鏈可以包括多個鏈哈希值,每個鏈哈希值與第一哈希鏈中的對應(yīng)的分塊哈希值關(guān)聯(lián),并與所述第二哈希鏈中的相鄰鏈哈希值關(guān)聯(lián)。信息驗(yàn)證方采用與信息生成方所使用的相同的方法(如上文中參考圖2或圖3(A)圖3(B)描述的實(shí)施例/示例中的方法)來計(jì)算第二哈希鏈。以圖3(A)所示的方法為例,假設(shè)信息驗(yàn)證方基于待驗(yàn)證的數(shù)據(jù)計(jì)算得到的第二哈希鏈中的鏈哈希值表示為h’ Effl, h’ E(ffl+1), ...,h’ Kn,則根據(jù)圖3㈧的方法,h’ w =
H2 Qism, · · ·,hE1),h,E(m+1) = H2 (hE(m+1), h,咖),· · ·,h,如=H2 Qisn, h,r^—d) , 2 ^ m < η, H2 ()
表示第二哈希函數(shù),其可以是任何適當(dāng)?shù)墓:瘮?shù)。H20可以與HlO相同,也可以與HlO 不同。以圖3(B)所示的方法為例,假設(shè)信息驗(yàn)證方基于待驗(yàn)證的數(shù)據(jù)計(jì)算得到的第二哈希鏈中的鏈哈希值表示為h’ E1, h' E2, ... , h’ Kn,則根據(jù)圖3⑶的方法,h’ E1 = H2 (hE1, IV), h' E2 = H2 (hE2, h,K1),. . .,h,a = H2 Qw h,Kfo-D),IV 表示指定的初始化值,H2 ()表示第二哈希函數(shù),其可以是任何適當(dāng)?shù)墓:瘮?shù)。H2 0可以與HlO相同,也可以與HlO不同。在步驟219中,信息驗(yàn)證方可以基于待驗(yàn)證的數(shù)據(jù)而計(jì)算得到的最后一個鏈哈希值(如h’ En)及來自信息接收方的驗(yàn)證信息(如利用h’ n計(jì)算得到的驗(yàn)證信息)來判斷待驗(yàn)證的數(shù)據(jù)是否具有完整性。具體地,可以采用例如圖7或圖8所示的方法進(jìn)行驗(yàn)證。例如,在圖7所示的示例中,可以利用來自信息生成方的驗(yàn)證信息Verify(h’n)來反推(如步驟219-1所示)鏈哈希值h’ n,即對來自信息生成方的驗(yàn)證信息進(jìn)行驗(yàn)證運(yùn)算,然后在步驟219-2中,將驗(yàn)證運(yùn)算的結(jié)果h’ n與在步驟217中得到的最后一個鏈哈希值h’相比較,如果二者相同,則可以初步確定數(shù)據(jù)是完整的,否則,則可以初步確定數(shù)據(jù)不具有完整性。又如,在圖8所示的示例中,可以利用與信息接收方相同的方法、利用基于待驗(yàn)證的數(shù)據(jù)而計(jì)算得到的最后一個鏈哈希值h’ En生成驗(yàn)證信息Verify (h’ (如步驟219-3所示),然后在步驟219-4中, 將計(jì)算得到的驗(yàn)證信息Verify(Msn)與來自信息生成方的驗(yàn)證信息Verify (h’ n)相比較, 如果二者相同,則可以初步確定數(shù)據(jù)是完整的,否則,則可以初步確定數(shù)據(jù)不具有完整性。圖4和圖5分別示出了基于圖1和圖2所示的實(shí)施例數(shù)據(jù)完整性保護(hù)系統(tǒng)的示意圖。在圖4所示的系統(tǒng)400中,可以包括信息生成方(即信息生成方設(shè)備)410、信息驗(yàn)證方(即信息驗(yàn)證方設(shè)備)420和安全存儲器430。信息生成方410可以采用參考圖1和圖 3描述的方法來生成數(shù)據(jù)的完整性信息以及數(shù)據(jù)的驗(yàn)證信息。然后,信息生成方410可以將所生成的完整性信息(第一哈希鏈和第二哈希鏈)存儲在安全存儲器430中,還可以將數(shù)據(jù)和驗(yàn)證信息通過數(shù)據(jù)傳輸方式(可以是任何適當(dāng)?shù)挠芯€或無線的傳輸方式,這里不作限定)傳輸給信息驗(yàn)證方420。在數(shù)據(jù)的傳輸過程中有可能存在丟包或誤碼的情況,因此,信息驗(yàn)證方420可以采用參考圖3描述的方法來驗(yàn)證接收到的數(shù)據(jù)的完整性。在圖5所示的系統(tǒng)500中,可以包括信息生成方(即信息生成方設(shè)備)510、信息驗(yàn)證方(即信息驗(yàn)證方設(shè)備)520、數(shù)據(jù)存儲裝置540和安全存儲器530。信息生成方510可以采用參考圖1和圖3描述的方法來生成數(shù)據(jù)的完整性信息(包括第一哈希鏈和第二哈希鏈)。信息生成方510可以將第二哈希鏈中的最后一個鏈哈希值發(fā)送給時(shí)間戳服務(wù)器570, 由時(shí)間戳服務(wù)器570利用該鏈哈希值和附加的時(shí)間信息來生成時(shí)間戳信息(可以采用任何適當(dāng)?shù)姆绞絹砩蓵r(shí)間戳,這里不作限定),并反饋給信息生成方510。信息生成方將所生成的完整性信息存儲在安全存儲器530中,并將數(shù)據(jù)和時(shí)間戳信息存儲在數(shù)據(jù)存儲裝置 540 中。存儲在裝置MO中的數(shù)據(jù)有可能被數(shù)據(jù)修改者580修改或篡改。例如,數(shù)據(jù)的管理方有可能不希望數(shù)據(jù)中的某個或某些片段或區(qū)域?yàn)樗怂?,因此對其進(jìn)行掩蓋或修改(即數(shù)據(jù)的管理方可以作為數(shù)據(jù)修改者580)。又如,存儲該數(shù)據(jù)的存儲裝置540有可能遭到某些攻擊者的攻擊,從而導(dǎo)致存儲的數(shù)據(jù)被篡改(即這種攻擊者也可以是數(shù)據(jù)修改者 580)。當(dāng)信息驗(yàn)證方520從數(shù)據(jù)存儲裝置540中獲取了這些數(shù)據(jù)和驗(yàn)證信息(時(shí)間戳)之后,可以采用參考圖3描述的方法來驗(yàn)證所得到的數(shù)據(jù)的完整性。
作為具體示例,在上述實(shí)施例或示例中的安全存儲器可以設(shè)置在信息生成方設(shè)備中,也可以獨(dú)立于信息生成方設(shè)備。所述安全存儲器可以是非易失性的存儲器,以便確保數(shù)據(jù)的完整性信息的安全。上述系統(tǒng)400或500可以應(yīng)用于多種場景,如視頻監(jiān)控或知識產(chǎn)權(quán)的保護(hù)等等。例如,在視頻監(jiān)控系統(tǒng)中,信息生成方設(shè)備400或500可以設(shè)置于攝像或拍照裝置中,以根據(jù)該攝像或拍照裝置拍攝的數(shù)據(jù)來生成完整性信息和驗(yàn)證信息?;蛘?,信息生成方設(shè)備400或500可以與攝像或拍照裝置分離,并可以用任何適當(dāng)?shù)姆绞?有線或無線的方式)與其相連接,以接收該攝像或拍照裝置拍攝的數(shù)據(jù)并生成完整性信息和驗(yàn)證信息。拍攝得到的數(shù)據(jù)和驗(yàn)證信息可以存儲在數(shù)據(jù)存儲裝置(如數(shù)據(jù)服務(wù)器)中。所生成的完整性信息可以存儲在安全存儲器中,該安全存儲器可以是攝像或拍照裝置中內(nèi)置的存儲器,也可以采用其他存儲器。拍攝得到的數(shù)據(jù)及其驗(yàn)證信息還可以通過任何適當(dāng)?shù)耐ㄐ磐ǖ蓝话l(fā)送給接收方(信息驗(yàn)證方)。在待驗(yàn)證的數(shù)據(jù)中,可能僅其中的部分?jǐn)?shù)據(jù)出現(xiàn)錯誤,而其他部分的數(shù)據(jù)仍是正確的。作為一個具體實(shí)施例,信息驗(yàn)證方可以根據(jù)數(shù)據(jù)的完整性信息(例如保存在安全存儲器中)來定位出現(xiàn)錯誤的數(shù)據(jù)塊,并確定其他數(shù)據(jù)塊的完整性。信息驗(yàn)證方可以通過查詢信息生成方基于原始數(shù)據(jù)而生成的第一哈希鏈和第二哈希鏈(為了描述方便,其中的哈希值分別稱為原始分塊哈希值和原始鏈哈希值)來確定待驗(yàn)證的多個數(shù)據(jù)塊中哪個數(shù)據(jù)塊出現(xiàn)了錯誤。具體地,信息驗(yàn)證方可以采用例如圖9或圖10或圖11所示的方法來定位出現(xiàn)錯誤的數(shù)據(jù)塊,驗(yàn)證其他數(shù)據(jù)塊的完整性,并驗(yàn)證數(shù)據(jù)中的簽名信息和時(shí)間戳信息。在圖9所示的示例中,該定位錯誤的方法開始于步驟921。假設(shè)驗(yàn)證方已根據(jù)圖2 所示的方法得知待驗(yàn)證的數(shù)據(jù)不是完整的(即11\是錯誤的),則可以進(jìn)行回溯計(jì)算,即從最后一個鏈哈希值開始向例如存儲有完整性信息的安全存儲器G30或530)回溯請求前面的鏈哈希值。具體地,在步驟921中,可以例如從安全存儲器中獲取最后一個數(shù)據(jù)塊的原始分塊哈希值hn及與前一鏈哈希值h’“Μ)對應(yīng)的原始鏈哈希值h'y。在步驟923中,將計(jì)算得到的最后一個數(shù)據(jù)塊的分塊哈希值V1與其原始分塊哈希值hn進(jìn)行比較,以確定最后一個數(shù)據(jù)塊是否發(fā)生錯誤。如果二者不同,則確定最后一個數(shù)據(jù)塊RAnS生錯誤(步驟925)。 如果二者不同,則可以確定RAn未出錯。然后,在步驟927中,進(jìn)一步判斷所述前一鏈哈希值 h’ Rfa-D與其原始鏈哈希值h’ 是否相同;若是,則確定RAn之前的數(shù)據(jù)塊(RA1,...,RAlri) 均沒有錯誤,因此結(jié)束錯誤數(shù)據(jù)塊定位處理,否則,判斷h’ ,(^1)是否第二哈希鏈中的第一個,若是,則結(jié)束處理;否則進(jìn)一步請求前一數(shù)據(jù)塊的原始分塊哈希值Iv1及下一個鏈哈希值h’ E(n-2)對應(yīng)的原始鏈哈希值h’ n_2,并重復(fù)步驟921-927。采用圖9所示的方法,如果出現(xiàn)錯誤的數(shù)據(jù)塊的位置越靠近最后一個數(shù)據(jù)塊的位置,則查詢次數(shù)(重復(fù)步驟921-927的次數(shù))越少;反之,查詢次數(shù)越多。平均查詢次數(shù)為n/2,平均計(jì)算次數(shù)為η/2。圖6㈧和圖6(B)示出了兩個具體示例。在圖6㈧所示的示例中,信息生成方和驗(yàn)證方均采用圖3(A)所示的方法來計(jì)算第二哈希鏈,并取m = 2。具體地,信息生成方基于原始數(shù)據(jù)塊A1, A2, ...,An生成了原始分塊哈希值h1; h2, . . . , hn和原始鏈哈希值h’ 2, h’ 3,. . .,h’ n,并生成了驗(yàn)證信息Verify (h’ n)。信息驗(yàn)證方在得到待驗(yàn)證的數(shù)據(jù)之后,基于數(shù)據(jù)塊RA1, RA2,...,RAn生成了分塊哈希值hK1,hE2,...,V1和鏈哈希值h’ E2, h’ K3,..., h’ En,并生成了驗(yàn)證信息Verify (h’ En)。通過比較Verify (h’ n)和Verify (h’ Kn),發(fā)現(xiàn)二者不同,因此確定待驗(yàn)證的數(shù)據(jù)不完整。通過向安全存儲器請求原始哈希值,確定數(shù)據(jù)塊RA2 出現(xiàn)錯誤。在圖6(B)所示的示例中,信息生成方和驗(yàn)證方均采用圖3(B)所示的方法來計(jì)算第二哈希鏈。具體地,信息生成方基于原始數(shù)據(jù)塊A1, A2,. . . ,An以及指定的初始化值IV 生成了原始分塊哈希值I^h2,...,&和原始鏈哈希值h’ 1;h’ 2,...,h’ n,并生成了驗(yàn)證信息Verify (h’ n)。信息驗(yàn)證方在得到待驗(yàn)證的數(shù)據(jù)之后,基于數(shù)據(jù)塊RA1, RA2,. . .,RAn以及相同的初始化值IV生成了分塊哈希值hK1,hK2,...,V1和鏈哈希值h’ K1,h’ K2,...,h’ Kn,并生成了驗(yàn)證信息Verify (h’ En)。通過比較Verify (h’ n)和Verify (h’ En),發(fā)現(xiàn)二者不同,因此確定待驗(yàn)證的數(shù)據(jù)不完整。通過向安全存儲器請求原始哈希值,確定數(shù)據(jù)塊RA2出現(xiàn)錯誤。在圖10所示的示例中,可以一次查詢兩個或更多個數(shù)據(jù)塊的原始哈希值。所述兩個或更多個數(shù)據(jù)塊可以分布在整個數(shù)據(jù)塊集合的不同位置上,可以根據(jù)查詢得到的原始哈希值來判斷這些數(shù)據(jù)塊所對應(yīng)的哪個數(shù)據(jù)塊區(qū)域中有錯誤的數(shù)據(jù)塊。作為一個具體示例, 下面以二分法為例來描述該方法。在步驟1021中,從例如安全存儲器中獲取所存儲的原始第二哈希鏈中的兩個鏈哈希值,例如,h’n_i和h’ /2。然后,在步驟1023中,根據(jù)這些原始鏈哈希值來判斷驗(yàn)證方基于待驗(yàn)證的數(shù)據(jù)而計(jì)算的對應(yīng)的鏈哈希值h’ ,(^1)和h’ E(n/2)是否正確,以確定出現(xiàn)錯誤的數(shù)據(jù)塊是位于區(qū)域[RA1,... ,RAn72]還是[RAn72,...,RAn_J。具體地, 如果h’ 乒h’ 而h’ n/2 = h’ E(n/2),則可以確定區(qū)域[RAn/2,... , RAn_J中有錯誤的數(shù)據(jù)塊,而區(qū)域[RA1,. . . ,RAn72]中沒有錯誤的數(shù)據(jù)塊。如果h,Φ h,n)且h, /2乒h,E(n/2), 則可以確定區(qū)域[RA1,... ,RAn/2]中有錯誤的數(shù)據(jù)塊;在這種情況下,區(qū)域[RAn72,...,RAlri] 中可能有錯誤數(shù)據(jù)塊,也可能沒有錯誤數(shù)據(jù)塊);進(jìn)一步地,信息驗(yàn)證方可以根據(jù)查詢獲得的原始鏈哈希值h’ /2重新計(jì)算區(qū)域[RAn72,RAlri]中數(shù)據(jù)塊RAn/2,之后的鏈哈希值,這
些鏈哈希值用h’ U((n/2)+l) ‘ h u((n/2)+2) ‘ · · ·,h u(n—工) 來表示,其中,h’ U((n/2)+l) = H2 (hR((n/2)+1), h,η/2),h,U(^2) = H2 (hR((n/2)+2) , h,u((n/2)+l)),h,u(n-l) = H2 (hR(n—”,h,u(n—2)) O 如果重新計(jì)算得到的鏈哈希值h’ υ(η_ 與查詢獲得的鏈哈希值h’ 仍不相等,即h’ υ(η_ Φ h’ ,則可以確定區(qū)域[RAn/2,...,RAn_J中也有錯誤的數(shù)據(jù)塊。所確定的出現(xiàn)錯誤的區(qū)域既可以作為下一次查詢的區(qū)域??梢灾貜?fù)執(zhí)行步驟1021和1023,直到準(zhǔn)確定位出現(xiàn)錯誤的數(shù)據(jù)塊。在圖 10所示的方法中,假設(shè)數(shù)據(jù)塊的總數(shù)為n,則其中一塊數(shù)據(jù)發(fā)生錯誤時(shí),采用這種方法的平均查詢次數(shù)為10 (η),平均哈希計(jì)算次數(shù)為η/2。與圖9所示的方法相比,這種方法的查詢次數(shù)較少。在圖11所示的示例中,可以在步驟1121中一次性例如從安全存儲器中獲取所有的原始分塊哈希值Ivh2,. . .,hn ;然后在步驟1123中將這些原始分塊哈希值分別與驗(yàn)證方基于待驗(yàn)證的數(shù)據(jù)而計(jì)算得到的多個分塊哈希值hK1,hK2,. . .,V1分別進(jìn)行比較。這樣即可確定出現(xiàn)錯誤的數(shù)據(jù)塊的位置。在圖11所示的方法中,假設(shè)數(shù)據(jù)塊的總數(shù)為n,則采用這種方法只需查詢一次,但查詢流量為n,平均哈希計(jì)算次數(shù)為η/2。與圖9和圖10所示的方法相比,這種方法的查詢次數(shù)最少,但查詢的流量最大。作為一個示例,信息生成方可以將所生成的所有或部分完整性信息(第一哈希鏈和/或第二哈希鏈)連同數(shù)據(jù)和驗(yàn)證信息一起發(fā)送給信息接收方(驗(yàn)證方)。在傳輸過程中,如果有數(shù)據(jù)塊丟失或出現(xiàn)錯誤但第一哈希鏈(分塊哈希值)沒有丟失或錯誤,則驗(yàn)證方可以通過這些分塊哈希值來驗(yàn)證是否有以及哪個(哪些)數(shù)據(jù)塊出現(xiàn)錯誤或丟失,并可以根據(jù)這些分塊哈希值來重新生成鏈哈希值,從而驗(yàn)證信息的簽名信息。如果數(shù)據(jù)塊和第一哈希鏈均發(fā)生丟失或錯誤,則驗(yàn)證方可以通過第二哈希鏈來定位出現(xiàn)錯誤的數(shù)據(jù)塊,并驗(yàn)證其他數(shù)據(jù)塊的完整性。如果數(shù)據(jù)塊、第一和第二哈希鏈均發(fā)生丟失或錯誤,則可以通過向安全存儲器查詢其所保存的完整性信息,從而定位出現(xiàn)錯誤的數(shù)據(jù)塊,并驗(yàn)證數(shù)據(jù)的簽名信息是否正確。圖13示出了根據(jù)本公開的一個實(shí)施例的用于數(shù)據(jù)完整性的保護(hù)的設(shè)備的示意性框圖。該設(shè)備1310采用上述實(shí)施例/示例中的方法來生成數(shù)據(jù)的完整性信息和驗(yàn)證信息, 可以用 作上述實(shí)施例/示例中所述的信息生成方設(shè)備(如410或510)。如圖13所示,設(shè)備1310可以包括數(shù)據(jù)分塊裝置1312、完整性信息生成裝置1314、 驗(yàn)證信息生成裝置1316。數(shù)據(jù)分塊裝置1312用于將要保護(hù)的數(shù)據(jù)分成多個數(shù)據(jù)塊。數(shù)據(jù)分塊裝置1312可以采用上述實(shí)施例/示例中所述的方法來分割數(shù)據(jù),這里不再重復(fù)。完整性信息生成裝置1314用于利用哈希函數(shù)(稱為第一哈希函數(shù))來計(jì)算數(shù)據(jù)分塊裝置輸出的每個數(shù)據(jù)塊的哈希值,得到多個分塊哈希值。這些分塊哈希值形成第一哈希鏈。然后,完整性信息生成裝置1314進(jìn)一步利用哈希函數(shù)(稱為第二哈希函數(shù))、根據(jù)第一哈希鏈來計(jì)算第二哈希鏈。第二哈希鏈包括多個鏈哈希值,每個鏈哈希值與所述第一哈希鏈中的對應(yīng)的分塊哈希值關(guān)聯(lián)并與所述第二哈希鏈中的相鄰鏈哈希值關(guān)聯(lián)。完整性信息生成裝置1314可以采用上述實(shí)施例/示例中所述的方法來生成第一哈希鏈和第二哈希鏈; 所采用的第一和第二哈希函數(shù)可以彼此相同,也可以相互不同,這里也不再重復(fù)。所生成的第一哈希鏈和第二哈希鏈作為要保護(hù)的數(shù)據(jù)的完整性信息。驗(yàn)證信息生成裝置1316可以利用第二哈希鏈中的最后一個鏈哈希值來生成數(shù)據(jù)的驗(yàn)證信息。驗(yàn)證信息生成裝置1316可以采用上述實(shí)施例/示例中所述的方法來生成所述驗(yàn)證信息,所生成的驗(yàn)證信息可以包括數(shù)據(jù)的數(shù)字簽名和/或時(shí)間戳信息,這里不作限定。作為一個示例,設(shè)備1310還可以包括發(fā)送裝置1318,以便將數(shù)據(jù)以及所生成的驗(yàn)證信息發(fā)送給信息接收方(如驗(yàn)證方420)。作為一個具體示例,發(fā)送裝置1318可以將完整性信息連同數(shù)據(jù)及驗(yàn)證信息一起發(fā)送給信息接收方。完整性信息生成裝置1314所生成的完整性信息可以保存在安全存儲器1330中。 作為一個示例,安全存儲器可以獨(dú)立于設(shè)備1310。作為另一示例,安全存儲器可以是設(shè)備 1310的一個組成部分。安全存儲器可以是非易失性存儲器,從而確保完整性信息的安全。圖14示出了根據(jù)本公開的另一實(shí)施例的用于數(shù)據(jù)完整性的保護(hù)的設(shè)備的示意性框圖。該設(shè)備1410也采用上述實(shí)施例/示例中的方法來生成數(shù)據(jù)的完整性信息和驗(yàn)證信息,可以用作上述實(shí)施例/示例中所述的信息生成方設(shè)備(如510)。與圖13所示的實(shí)施例不同的是,該設(shè)備1410通過外部的時(shí)間戳服務(wù)器來生成數(shù)據(jù)的時(shí)間戳。如圖14所示,設(shè)備1410可以包括數(shù)據(jù)分塊裝置1412、完整性信息生成裝置1414、 發(fā)送裝置1416-1和接收裝置1416-2。數(shù)據(jù)分塊裝置1412與圖13所示的數(shù)據(jù)分塊裝置1312相似,用于將要保護(hù)的數(shù)據(jù)分成多個數(shù)據(jù)塊。數(shù)據(jù)分塊裝置1412可以采用上述實(shí)施例/示例中所述的方法來分割數(shù)據(jù),這里不再重復(fù)。完整性信息生成裝置1414與圖13所示的生成裝置1314相似,用于利用第一哈希函數(shù)來計(jì)算數(shù)據(jù)分塊裝置輸出的每個數(shù)據(jù)塊的哈希值,得到多個分塊哈希值。這些分塊哈希值形成第一哈希鏈。然后,完整性信息生成裝置1414進(jìn)一步利用第二哈希函數(shù)、根據(jù)第一哈希鏈來計(jì)算第二哈希鏈。第二哈希鏈包括多個鏈哈希值,每個鏈哈希值與所述第一哈希鏈中的對應(yīng)的分塊哈希值關(guān)聯(lián)并與所述第二哈希鏈中的相鄰鏈哈希值關(guān)聯(lián)。完整性信息生成裝置1414可以采用上述實(shí)施例/示例中所述的方法來生成第一哈希鏈和第二哈希鏈; 所采用的第一和第二哈希函數(shù)可以彼此相同,也可以相互不同,這里也不再重復(fù)。
所生成的第一哈希鏈和第二哈希鏈作為要保護(hù)的數(shù)據(jù)的完整性信息。發(fā)送裝置1316-1可以將第二哈希鏈中的最后一個鏈哈希值發(fā)送給時(shí)間戳服務(wù)器 1470。時(shí)間戳服務(wù)器1470可以采用任何適當(dāng)?shù)姆绞嚼迷撴湽V祦砩蓵r(shí)間戳文件,并反饋給設(shè)備1410。接收裝置1316-2可以接收時(shí)間戳服務(wù)器反饋的時(shí)間戳信息,并將其作為要保護(hù)的數(shù)據(jù)的驗(yàn)證信息。完整性信息生成裝置1414所生成的完整性信息可以保存在安全存儲器(圖14中未示出)中。作為一個示例,安全存儲器可以獨(dú)立于設(shè)備1410。作為另一示例,安全存儲器可以是設(shè)備1410的一個組成部分。安全存儲器可以是非易失性存儲器,從而確保完整性信息的安全。上述設(shè)備1410或1310還可以包括數(shù)據(jù)存儲裝置(未示出),以便存儲要保護(hù)的數(shù)據(jù)和驗(yàn)證信息。圖15示出了根據(jù)本公開的一個實(shí)施例的用于數(shù)據(jù)完整性的驗(yàn)證的設(shè)備的示意性框圖。該設(shè)備1520采用上述實(shí)施例/示例中的方法來驗(yàn)證數(shù)據(jù)的完整性,可以用作上述實(shí)施例/示例中所述的信息驗(yàn)證方設(shè)備(如420或520)。如圖15所示,設(shè)備1520可以包括數(shù)據(jù)分塊裝置1522、哈希計(jì)算裝置1524、驗(yàn)證裝置 1526。數(shù)據(jù)分塊裝置1522用于將待驗(yàn)證的數(shù)據(jù)分成多個數(shù)據(jù)塊。數(shù)據(jù)分塊裝置1522可以采用上述實(shí)施例/示例中所述的方法來分割數(shù)據(jù),這里不再重復(fù)。哈希計(jì)算裝置1524用于利用第一哈希函數(shù)來計(jì)算數(shù)據(jù)分塊裝置1522輸出的每個數(shù)據(jù)塊的哈希值,得到多個分塊哈希值。這些分塊哈希值形成第一哈希鏈。然后,哈希計(jì)算裝置1524進(jìn)一步利用第二哈希函數(shù)、根據(jù)第一哈希鏈來計(jì)算第二哈希鏈。第二哈希鏈包括多個鏈哈希值,每個鏈哈希值與所述第一哈希鏈中的對應(yīng)的分塊哈希值關(guān)聯(lián)并與所述第二哈希鏈中的相鄰鏈哈希值關(guān)聯(lián)。哈希計(jì)算裝置1314可以采用上述實(shí)施例/示例中所述的方法來生成第一哈希鏈和第二哈希鏈,這里也不再重復(fù)。驗(yàn)證裝置1526可以利用計(jì)算裝置1524基于待驗(yàn)證的數(shù)據(jù)而生成的第二哈希鏈中的最后一個鏈哈希值以及待驗(yàn)證的數(shù)據(jù)的驗(yàn)證信息來判斷數(shù)據(jù)的完整性。待驗(yàn)證的數(shù)據(jù)的驗(yàn)證信息可以包括該數(shù)據(jù)的數(shù)字簽名和/或時(shí)間戳信息,這里不作限定。驗(yàn)證裝置1526可以采用圖7或圖8所示的方法來驗(yàn)證數(shù)據(jù)的完整性,這里不再重復(fù)。作為一個示例,設(shè)備1520還可以包括錯誤定位裝置1528。錯誤定位裝置1528可以在驗(yàn)證裝置1526確定待驗(yàn)證的數(shù)據(jù)不完整時(shí)獲取原始數(shù)據(jù)的完整性信息,并根據(jù)完整性信息來定位待驗(yàn)證的數(shù)據(jù)中出現(xiàn)錯誤的數(shù)據(jù)塊。完整性信息可以包括信息生成方基于原始數(shù)據(jù)而計(jì)算得到的第一哈希鏈和第二哈希鏈,原始數(shù)據(jù)的第一哈希鏈包括多個分塊哈希值(稱為原始分塊哈希值),原始數(shù)據(jù)的第二哈希鏈包括多個鏈哈希值(稱為原始鏈哈希值)。作為示例,錯誤定位裝置15 可以采用上文中參考圖9或圖10或圖11來描述的方法來定位錯誤數(shù)據(jù)塊,并進(jìn)一步驗(yàn)證數(shù)據(jù)的驗(yàn)證信息(簽名信息和/或時(shí)間戳信息)。在本公開的實(shí)施例中,采用如上所述的雙哈希鏈結(jié)構(gòu)(第一哈希鏈和第二哈希鏈)用于數(shù)據(jù)的完整性保護(hù)。采用這種方法或設(shè)備或系統(tǒng),可以快速地生成數(shù)據(jù)的完整性信息。由于采用了雙層的哈希鏈結(jié)構(gòu)而第二哈希鏈將第一哈希鏈的分塊哈希值依次連接起來,因此,在數(shù)據(jù)部分缺失或出現(xiàn)錯誤的情況下,可以快速定位出現(xiàn)錯誤的數(shù)據(jù)塊所處的位置或者區(qū)域。另外,由于第一哈希鏈中的分塊哈希值是與數(shù)據(jù)塊一一對應(yīng)的,因此,即使部分?jǐn)?shù)據(jù)塊缺失或錯誤,驗(yàn)證方也可以驗(yàn)證其他部分的數(shù)據(jù)的完整性。另外,根據(jù)本公開的實(shí)施例的方法、設(shè)備或系統(tǒng)在保證數(shù)據(jù)安全和系統(tǒng)開銷之間可以達(dá)到良好的平衡。根據(jù)本公開的實(shí)施例的方法、設(shè)備或系統(tǒng)既適用于數(shù)據(jù)傳輸系統(tǒng)中的數(shù)據(jù)保護(hù), 也適用于數(shù)據(jù)存儲系統(tǒng)中的數(shù)據(jù)保護(hù),例如,可以應(yīng)用于視頻監(jiān)控、知識產(chǎn)權(quán)保護(hù)、數(shù)據(jù)傳輸?shù)榷喾N應(yīng)用場景,可以為這些應(yīng)用提供了靈活而魯棒的完整性保護(hù)。另外,在本公開的一些實(shí)施例和/或示例中,用于存儲完整性信息的存儲器可以是可信第三方。而在另一些實(shí)施例和/或示例中,用于存儲完整性信息的存儲器可以為非易失性存儲器既可,這樣既可以保證完整性信息的存儲的安全,也可以減輕對可信第三方的依賴。應(yīng)理解,上述實(shí)施例和示例是示例性的,而不是窮舉性的,本公開不應(yīng)被視為局限于任何具體的實(shí)施例或示例。另外,在上述實(shí)施例和示例中,采用了“第一”、“第二”等表述。本領(lǐng)域的普通技術(shù)人員應(yīng)理解,上述表述只是為了對這些表述作文字上的區(qū)分,而并非表示其順序或任何其他限定。作為一個示例,上述方法的各個步驟以及上述設(shè)備的各個組成模塊和/或單元可以實(shí)施為軟件、固件、硬件或其組合。作為一個示例,在通過軟件或固件實(shí)現(xiàn)的情況下,可以從存儲介質(zhì)或網(wǎng)絡(luò)向具有專用硬件結(jié)構(gòu)的計(jì)算機(jī)(例如圖16所示的通用計(jì)算機(jī)1600)安裝構(gòu)成用于實(shí)施上述方法的軟件的程序,該計(jì)算機(jī)在安裝有各種程序時(shí),能夠執(zhí)行各種功能等。在圖16中,中央處理單元(CPU) 1601根據(jù)只讀存儲器(ROM) 1602中存儲的程序或從存儲部分1608加載到隨機(jī)存取存儲器(RAM) 1603的程序執(zhí)行各種處理。在RAM 1603中, 也根據(jù)需要存儲當(dāng)CPU 1601執(zhí)行各種處理等等時(shí)所需的數(shù)據(jù)。CPU 160UROM 1602和RAM 1603經(jīng)由總線1604彼此鏈路。輸入/輸出接口 1605也鏈路到總線1604。下述部件鏈路到輸入/輸出接口 1605 輸入部分1606(包括鍵盤、鼠標(biāo)等等)、輸出部分1607(包括顯示器,比如陰極射線管(CRT)、液晶顯示器(LCD)等,和揚(yáng)聲器等)、存儲部分1608 (包括硬盤等)、通信部分1609 (包括網(wǎng)絡(luò)接口卡比如LAN卡、調(diào)制解調(diào)器等)。 通信部分1609經(jīng)由網(wǎng)絡(luò)比如因特網(wǎng)執(zhí)行通信處理。根據(jù)需要,驅(qū)動器1610也可鏈路到輸入/輸出接口 1605??刹鹦督橘|(zhì)1611比如磁盤、光盤、磁光盤、半導(dǎo)體存儲器等等根據(jù)需要被安裝在驅(qū)動器1610上,使得從中讀出的計(jì)算機(jī)程序根據(jù)需要被安裝到存儲部分1608中。在通過軟件實(shí)現(xiàn)上述系列處理的情況下,從網(wǎng)絡(luò)比如因特網(wǎng)或存儲介質(zhì)比如可拆卸介質(zhì)1611安裝構(gòu)成軟件的程序。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,這種存儲介質(zhì)不局限于圖16所示的其中存儲有程序、與設(shè)備相分離地分發(fā)以向用戶提供程序的可拆卸介質(zhì)1611。可拆卸介質(zhì)1611的例子包含磁盤(包含軟盤(注冊商標(biāo)))、光盤(包含光盤只讀存儲器(⑶-ROM)和數(shù)字通用盤 (DVD))、磁光盤(包含迷你盤(MD)(注冊商標(biāo)))和半導(dǎo)體存儲器?;蛘?,存儲介質(zhì)可以是 ROM 1602、存儲部分1608中包含的硬盤等等,其中存有程序,并且與包含它們的設(shè)備一起被分發(fā)給用戶。本公開還提出一種存儲有機(jī)器可讀取的指令代碼的程序產(chǎn)品。所述指令代碼由機(jī)器讀取并執(zhí)行時(shí),可執(zhí)行上述根據(jù)本公開實(shí)施例的方法。相應(yīng)地,用于承載上述存儲有機(jī)器可讀取的指令代碼的程序產(chǎn)品的存儲介質(zhì)也包括在本公開的公開中。所述存儲介質(zhì)包括但不限于軟盤、光盤、磁光盤、存儲卡、存儲棒等寸。在上面對本公開具體實(shí)施例的描述中,針對一種實(shí)施方式描述和/或示出的特征可以用相同或類似的方式在一個或更多個其它實(shí)施方式中使用,與其它實(shí)施方式中的特征相組合,或替代其它實(shí)施方式中的特征。應(yīng)該強(qiáng)調(diào),術(shù)語“包括/包含”在本文使用時(shí)指特征、要素、步驟或組件的存在,但并不排除一個或更多個其它特征、要素、步驟或組件的存在或附加。此外,本公開的方法不限于按照說明書中描述的時(shí)間順序來執(zhí)行,也可以按照其他的時(shí)間順序地、并行地或獨(dú)立地執(zhí)行。因此,本說明書中描述的方法的執(zhí)行順序不對本公開的技術(shù)范圍構(gòu)成限制。盡管上面已經(jīng)通過對本公開的具體實(shí)施例的描述對本公開進(jìn)行了披露,但是,應(yīng)該理解,上述的所有實(shí)施例和示例均是示例性的,而非限制性的。本領(lǐng)域的技術(shù)人員可在所附權(quán)利要求的精神和范圍內(nèi)設(shè)計(jì)對本公開的各種修改、改進(jìn)或者等同物。這些修改、改進(jìn)或者等同物也應(yīng)當(dāng)被認(rèn)為包括在本公開的保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種數(shù)據(jù)完整性的保護(hù)方法,包括 將數(shù)據(jù)分成多個數(shù)據(jù)塊;利用第一哈希函數(shù)來計(jì)算每個數(shù)據(jù)塊的哈希值,得到多個分塊哈希值,所述多個分塊哈希值形成第一哈希鏈;利用第二哈希函數(shù)、根據(jù)所述第一哈希鏈來計(jì)算第二哈希鏈,所述第二哈希鏈包括多個鏈哈希值,每個鏈哈希值與所述第一哈希鏈中的對應(yīng)的分塊哈希值關(guān)聯(lián),并與所述第二哈希鏈中的相鄰鏈哈希值關(guān)聯(lián);及利用所述第二哈希鏈中的最后一個鏈哈希值來生成所述數(shù)據(jù)的驗(yàn)證信息。
2.如權(quán)利要求1所述的方法,其中,根據(jù)所述第一哈希鏈來計(jì)算第二哈希鏈包括 利用所述多個數(shù)據(jù)塊中的頭兩個或更多個數(shù)據(jù)塊的分塊哈希值作為第二哈希函數(shù)的自變量來計(jì)算哈希值,作為所述第二哈希鏈中的第一個鏈哈希值;及對于從所述第二哈希鏈中的第二個鏈哈希值開始的每個鏈哈希值,利用前一鏈哈希值和對應(yīng)的分塊哈希值作為所述第二哈希函數(shù)的自變量來計(jì)算該鏈哈希值。
3.如權(quán)利要求1所述的方法,其中,根據(jù)所述第一哈希鏈來計(jì)算第二哈希鏈包括 利用所述多個數(shù)據(jù)塊中的第一個數(shù)據(jù)塊的分塊哈希值和指定的初始化值作為第二哈希函數(shù)的自變量來計(jì)算哈希值,作為所述第二哈希鏈中的第一個鏈哈希值;及對于從所述第二哈希鏈中的第二個鏈哈希值開始的每個鏈哈希值,利用前一鏈哈希值和對應(yīng)的分塊哈希值作為所述第二哈希函數(shù)的自變量來計(jì)算該鏈哈希值。
4.如權(quán)利要求1所述的方法,其中,所述第一哈希鏈和所述第二哈希鏈作為所述數(shù)據(jù)的完整性信息被保存在安全存儲器中,所述安全存儲器為非易失性存儲器。
5.如權(quán)利要求1所述的方法,其中,利用所述第二哈希鏈中的最后一個鏈哈希值來生成所述數(shù)據(jù)的驗(yàn)證信息包括對所述最后一個鏈哈希值進(jìn)行簽名,以生成簽名信息,作為所述驗(yàn)證信息,并且其中,所述方法還包括將所述數(shù)據(jù)以及所述簽名信息發(fā)送給信息接收方。
6.如權(quán)利要求4所述的方法,還包括將所述第一哈希鏈和/或所述第二哈希鏈發(fā)送給信息接收方。
7.如權(quán)利要求1所述的方法,其中,所述驗(yàn)證信息為所述數(shù)據(jù)的時(shí)間戳信息,并且利用所述最后一個鏈哈希值來生成所述數(shù)據(jù)的驗(yàn)證信息包括將所述最后一個鏈哈希值發(fā)送給時(shí)間戳服務(wù)器;以及接收從所述時(shí)間戳服務(wù)器反饋的、由所述時(shí)間戳服務(wù)器利用所述最后一個鏈哈希值和時(shí)間信息而生成的時(shí)間戳信息。
8.一種數(shù)據(jù)完整性的保護(hù)設(shè)備,包括數(shù)據(jù)分塊裝置,用于將數(shù)據(jù)分成多個數(shù)據(jù)塊;完整性信息生成裝置,該完整性信息生成裝置用于利用第一哈希函數(shù)來計(jì)算每個數(shù)據(jù)塊的哈希值,得到多個分塊哈希值,所述多個分塊哈希值形成第一哈希鏈;該完整性信息生成裝置還用于利用第二哈希函數(shù)、根據(jù)所述第一哈希鏈來計(jì)算第二哈希鏈,所述第二哈希鏈包括多個鏈哈希值,每個鏈哈希值與所述第一哈希鏈中的對應(yīng)的分塊哈希值關(guān)聯(lián)并與所述第二哈希鏈中的相鄰鏈哈希值關(guān)聯(lián);及驗(yàn)證信息生成裝置,用于利用所述第二哈希鏈中的最后一個鏈哈希值來生成所述數(shù)據(jù)的驗(yàn)證信息。
9.如權(quán)利要求8所述的設(shè)備,其中,所述完整性信息生成裝置通過以下來計(jì)算所述第二哈希鏈利用所述多個數(shù)據(jù)塊中的頭兩個或更多個數(shù)據(jù)塊的分塊哈希值作為所述第二哈希函數(shù)的自變量來計(jì)算哈希值,作為所述第二哈希鏈中的第一個鏈哈希值;及對于從所述第二哈希鏈中的第二個鏈哈希值開始的每個鏈哈希值,利用前一鏈哈希值和對應(yīng)的分塊哈希值作為所述第二哈希函數(shù)的自變量來計(jì)算該鏈哈希值。
10.如權(quán)利要求8所述的設(shè)備,其中,所述完整性信息生成裝置通過以下來計(jì)算所述第二哈希鏈利用所述多個數(shù)據(jù)塊中的第一個數(shù)據(jù)塊的分塊哈希值和指定的初始化值作為第二哈希函數(shù)的自變量來計(jì)算哈希值,作為所述第二哈希鏈中的第一個鏈哈希值;及對于從所述第二哈希鏈中的第二個鏈哈希值開始的每個鏈哈希值,利用前一鏈哈希值和對應(yīng)的分塊哈希值作為所述第二哈希函數(shù)的自變量來計(jì)算該鏈哈希值。
11.如權(quán)利要求8所述的設(shè)備,其中,所述第一哈希鏈和所述第二哈希鏈作為所述數(shù)據(jù)的完整性信息而被保存在安全存儲器中,所述安全存儲器為非易失性存儲器。
12.如權(quán)利要求8所述的設(shè)備,其中,所述驗(yàn)證信息為對所述最后一個鏈哈希值進(jìn)行簽名而得到的簽名信息,所述設(shè)備還包括發(fā)送裝置,該發(fā)送裝置用于將所述數(shù)據(jù)以及所述簽名信息發(fā)送給信息接收方。
13.如權(quán)利要求12所述的設(shè)備,其中,所述發(fā)送裝置還被配置用于將所述第一哈希鏈和/或所述第二哈希鏈發(fā)送給信息接收方。
14.如權(quán)利要求8所述的設(shè)備,其中,所述驗(yàn)證信息為所述數(shù)據(jù)的時(shí)間戳信息,所述驗(yàn)證信息生成裝置包括發(fā)送裝置,用于將所述最后一個鏈哈希值發(fā)送給時(shí)間戳服務(wù)器;以及接收裝置,用于接收從所述時(shí)間戳服務(wù)器反饋的、由所述時(shí)間戳服務(wù)器利用所述最后一個鏈哈希值和時(shí)間信息而生成的時(shí)間戳信息。
15.一種數(shù)據(jù)完整性的驗(yàn)證方法,包括 將待驗(yàn)證的數(shù)據(jù)分成多個數(shù)據(jù)塊;利用第一哈希函數(shù)來計(jì)算每個數(shù)據(jù)塊的哈希值,得到多個分塊哈希值,所述多個分塊哈希值形成第一哈希鏈;利用第二哈希函數(shù)、根據(jù)所述第一哈希鏈來計(jì)算第二哈希鏈,所述第二哈希鏈包括多個鏈哈希值,每個鏈哈希值與所述第一哈希鏈中的對應(yīng)的分塊哈希值關(guān)聯(lián),并與所述第二哈希鏈中的相鄰鏈哈希值關(guān)聯(lián);以及根據(jù)所述第二哈希鏈中的最后一個鏈哈希值以及所述待驗(yàn)證的數(shù)據(jù)的驗(yàn)證信息來判斷所述數(shù)據(jù)是否完整。
16.如權(quán)利要求15所述的方法,其中,根據(jù)所述第一哈希鏈來計(jì)算第二哈希鏈包括 利用所述多個數(shù)據(jù)塊中的頭兩個或更多個數(shù)據(jù)塊的分塊哈希值作為所述第二哈希函數(shù)的自變量來計(jì)算哈希值,作為所述第二哈希鏈中的第一個鏈哈希值;及對于從所述第二哈希鏈中的第二個鏈哈希值開始的每個鏈哈希值,利用前一鏈哈希值和對應(yīng)的分塊哈希值作為所述第二哈希函數(shù)的自變量來計(jì)算該鏈哈希值。
17.如權(quán)利要求15所述的方法,其中,根據(jù)所述第一哈希鏈來計(jì)算第二哈希鏈包括 利用所述多個數(shù)據(jù)塊中的第一個數(shù)據(jù)塊的分塊哈希值和指定的初始化值作為第二哈希函數(shù)的自變量來計(jì)算哈希值,作為所述第二哈希鏈中的第一個鏈哈希值;及對于從所述第二哈希鏈中的第二個鏈哈希值開始的每個鏈哈希值,利用前一鏈哈希值和對應(yīng)的分塊哈希值作為所述第二哈希函數(shù)的自變量來計(jì)算該鏈哈希值。
18.如權(quán)利要求15-17中任一項(xiàng)所述的方法,還包括如果判斷所述待驗(yàn)證的數(shù)據(jù)不是完整的,則從保存有原始數(shù)據(jù)的完整性信息的安全存儲器中獲取信息,并利用該信息來定位所述待驗(yàn)證的數(shù)據(jù)中出現(xiàn)錯誤的數(shù)據(jù)塊,其中,所述完整性信息包括原始數(shù)據(jù)的第一哈希鏈和第二哈希鏈,原始數(shù)據(jù)的第一哈希鏈包括根據(jù)原始數(shù)據(jù)的數(shù)據(jù)塊計(jì)算的多個原始分塊哈希值,原始數(shù)據(jù)的第二哈希鏈包括根據(jù)其第一哈希鏈計(jì)算的多個原始鏈哈希值。
19.如權(quán)利要求18所述的方法,其中,定位所述待驗(yàn)證的數(shù)據(jù)中出現(xiàn)錯誤的數(shù)據(jù)塊包括從所述第二哈希鏈的最后一個鏈哈希值開始,從所述安全存儲器中獲取與該最后一個鏈哈希值對應(yīng)的數(shù)據(jù)塊的原始分塊哈希值及與前一鏈哈希值對應(yīng)的原始鏈哈希值;判斷最后一個數(shù)據(jù)塊的分塊哈希值是否與其原始分塊哈希值相同,若不相同,則確定最后一個數(shù)據(jù)塊發(fā)生錯誤;以及進(jìn)一步判斷前一鏈哈希值是否與其原始鏈哈希值相同,若相同,則確定該數(shù)據(jù)塊之前的數(shù)據(jù)塊均未發(fā)生錯誤,處理終止,否則,重復(fù)以上獲取和判斷步驟,直到找到所有發(fā)生錯誤的數(shù)據(jù)塊。
20.如權(quán)利要求18所述的方法,其中,定位所述待驗(yàn)證的數(shù)據(jù)中出現(xiàn)錯誤的數(shù)據(jù)塊包括從所述安全存儲器中獲取所述第二哈希鏈中的兩個或更多個原始鏈哈希值,根據(jù)這些原始鏈哈希值來確定出現(xiàn)錯誤的數(shù)據(jù)塊所處的區(qū)域。
21.如權(quán)利要求18所述的方法,其中,定位所述待驗(yàn)證的數(shù)據(jù)中出現(xiàn)錯誤的數(shù)據(jù)塊包括從所述安全存儲器中獲取與所述待驗(yàn)證的數(shù)據(jù)的多個數(shù)據(jù)塊對應(yīng)的所有的原始分塊哈希值;以及將計(jì)算得到的所述多個分塊哈希值中的每個與對應(yīng)的原始分塊哈希值進(jìn)行比較,以定位出現(xiàn)錯誤的數(shù)據(jù)塊。
22.—種數(shù)據(jù)完整性的驗(yàn)證設(shè)備,包括數(shù)據(jù)分塊裝置,用于將待驗(yàn)證的數(shù)據(jù)分成多個數(shù)據(jù)塊;哈希計(jì)算裝置,該哈希計(jì)算裝置用于利用第一哈希函數(shù)來計(jì)算每個數(shù)據(jù)塊的哈希值, 得到多個分塊哈希值,所述多個分塊哈希值形成第一哈希鏈;該計(jì)算裝置還用于利用第二哈希函數(shù)、根據(jù)所述第一哈希鏈來計(jì)算第二哈希鏈,所述第二哈希鏈包括多個鏈哈希值,每個鏈哈希值與所述第一哈希鏈中的對應(yīng)的分塊哈希值關(guān)聯(lián),并與所述第二哈希鏈中的相鄰鏈哈希值關(guān)聯(lián);以及驗(yàn)證裝置,用于根據(jù)所述第二哈希鏈中的最后一個鏈哈希值以及所述待驗(yàn)證的數(shù)據(jù)的驗(yàn)證信息來判斷所述數(shù)據(jù)是否完整。
23.如權(quán)利要求22所述的設(shè)備,其中,所述哈希計(jì)算裝置被配置用于利用以下來計(jì)算第二哈希鏈包括利用所述多個數(shù)據(jù)塊中的頭兩個或更多個數(shù)據(jù)塊的分塊哈希值作為所述第二哈希函數(shù)的自變量來計(jì)算哈希值,作為所述第二哈希鏈中的第一個鏈哈希值;及對于從所述第二哈希鏈中的第二個鏈哈希值開始的每個鏈哈希值,利用前一鏈哈希值和對應(yīng)的分塊哈希值作為所述第二哈希函數(shù)的自變量來計(jì)算該鏈哈希值。
24.如權(quán)利要求22所述的設(shè)備,其中,所述哈希計(jì)算裝置被配置用于利用以下來計(jì)算第二哈希鏈包括利用所述多個數(shù)據(jù)塊中的第一個數(shù)據(jù)塊的分塊哈希值和指定的初始化值作為第二哈希函數(shù)的自變量來計(jì)算哈希值,作為所述第二哈希鏈中的第一個鏈哈希值;及對于從所述第二哈希鏈中的第二個鏈哈希值開始的每個鏈哈希值,利用前一鏈哈希值和對應(yīng)的分塊哈希值作為所述第二哈希函數(shù)的自變量來計(jì)算該鏈哈希值。
25.如權(quán)利要求22-24中任一項(xiàng)所述的設(shè)備,還包括錯誤定位裝置,用于在所述驗(yàn)證裝置判斷所述待驗(yàn)證的數(shù)據(jù)不是完整的時(shí)獲取原始數(shù)據(jù)的完整性信息,并根據(jù)所述完整性信息來定位所述待驗(yàn)證的數(shù)據(jù)中出現(xiàn)錯誤的數(shù)據(jù)塊,其中,所述完整性信息包括原始數(shù)據(jù)的第一哈希鏈和第二哈希鏈,原始數(shù)據(jù)的第一哈希鏈包括根據(jù)原始數(shù)據(jù)的數(shù)據(jù)塊計(jì)算的多個原始分塊哈希值,原始數(shù)據(jù)的第二哈希鏈包括根據(jù)其第一哈希鏈計(jì)算的多個原始鏈哈希值。
26.如權(quán)利要求25所述的設(shè)備,其中,所述錯誤定位裝置用于通過以下來定位所述待驗(yàn)證的數(shù)據(jù)中出現(xiàn)錯誤的數(shù)據(jù)塊從所述第二哈希鏈的最后一個鏈哈希值開始,從所述安全存儲器中獲取與該最后一個鏈哈希值對應(yīng)的數(shù)據(jù)塊的原始分塊哈希值及與前一鏈哈希值對應(yīng)的原始鏈哈希值;判斷最后一個數(shù)據(jù)塊的分塊哈希值是否與其原始分塊哈希值相同,若不相同,則確定最后一個數(shù)據(jù)塊發(fā)生錯誤;以及進(jìn)一步判斷前一鏈哈希值是否與其原始鏈哈希值相同,若相同,則確定該數(shù)據(jù)塊之前的數(shù)據(jù)塊均未發(fā)生錯誤,處理終止,否則,重復(fù)以上獲取和判斷步驟,直到找到所有發(fā)生錯誤的數(shù)據(jù)塊。
27.如權(quán)利要求25所述的設(shè)備,其中,所述錯誤定位裝置用于通過以下來定位所述待驗(yàn)證的數(shù)據(jù)中出現(xiàn)錯誤的數(shù)據(jù)塊從所述安全存儲器中獲取所述第二哈希鏈中的兩個或更多個原始鏈哈希值,根據(jù)這些原始鏈哈希值來確定出現(xiàn)錯誤的數(shù)據(jù)塊所處的區(qū)域。
28.如權(quán)利要求25所述的設(shè)備,其中,所述錯誤定位裝置用于通過以下來定位所述待驗(yàn)證的數(shù)據(jù)中出現(xiàn)錯誤的數(shù)據(jù)塊從所述安全存儲器中獲取與所述待驗(yàn)證的數(shù)據(jù)的多個數(shù)據(jù)塊對應(yīng)的所有的原始分塊哈希值;以及將計(jì)算得到的所述多個分塊哈希值中的每個與對應(yīng)的原始分塊哈希值進(jìn)行比較,以定位出現(xiàn)錯誤的數(shù)據(jù)塊。
29.一種數(shù)據(jù)完整性的保護(hù)系統(tǒng),包括根據(jù)權(quán)利要求8-14中任一項(xiàng)所述的數(shù)據(jù)完整性的保護(hù)設(shè)備和根據(jù)權(quán)利要求22-28中任一項(xiàng)所述的數(shù)據(jù)完整性的驗(yàn)證設(shè)備。
全文摘要
本公開提供了數(shù)據(jù)完整性的保護(hù)和驗(yàn)證方法、設(shè)備和系統(tǒng)。一種數(shù)據(jù)完整性的保護(hù)方法包括將數(shù)據(jù)分成多個數(shù)據(jù)塊;利用第一哈希函數(shù)來計(jì)算每個數(shù)據(jù)塊的哈希值,得到多個分塊哈希值,形成第一哈希鏈;利用第二哈希函數(shù)、根據(jù)所述第一哈希鏈來計(jì)算第二哈希鏈,所述第二哈希鏈包括多個鏈哈希值,每個鏈哈希值與所述第一哈希鏈中的對應(yīng)的分塊哈希值關(guān)聯(lián),并與所述第二哈希鏈中的相鄰鏈哈希值關(guān)聯(lián),其中,所述第一哈希鏈和所述第二哈希鏈作為所述數(shù)據(jù)的完整性信息;及利用所述第二哈希鏈中的最后一個鏈哈希值來生成所述數(shù)據(jù)的驗(yàn)證信息。
文檔編號G06F21/00GK102446250SQ20101051563
公開日2012年5月9日 申請日期2010年10月13日 優(yōu)先權(quán)日2010年10月13日
發(fā)明者李基 申請人:索尼公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
同江市| 卢湾区| 大足县| 杂多县| 吉木萨尔县| 睢宁县| 长治市| 南皮县| 治县。| 襄樊市| 南川市| 香河县| 延长县| 卢氏县| 法库县| 北宁市| 宁明县| 句容市| 西乌珠穆沁旗| 北流市| 东兰县| 射洪县| 镇赉县| 昌黎县| 古交市| 孟村| 米泉市| 双辽市| 顺平县| 常山县| 准格尔旗| 陈巴尔虎旗| 穆棱市| 城步| 义马市| 建瓯市| 绍兴市| 南投县| 图片| 甘谷县| 揭西县|