專利名稱:原本性保證系統、信息嵌入和篡改檢測裝置和方法及記錄介質的制作方法
技術領域:
本發明涉及用于主要針對數據結構的描述方法利用存在的冗余性來嵌入信息并對數據的篡改或正當性進行檢測的信息嵌入和篡改檢測裝置及信息嵌入和篡改檢測方法以及存儲有信息嵌入和篡改檢測程序的計算機可讀取的記錄介質。本發明具體涉及用于檢測把信息嵌入到由三維圖形或CAD等生成的三維設計數據等描述三維形狀的數據內的三維形狀數據的篡改或正當性進行檢測的技術,該三維形狀數據是作為數據隱藏技術、多面體或旋轉體等基元幾何學形狀的組合而構成的。
背景技術:
迄今,作為電子水印技術和數據隱藏技術,以下技術是公知的。
例如,在專利文獻1內記載了通過變更三維形狀模型的幾何參數來嵌入信息的技術。
具體地說,在該常規技術中,采用以下方法,即通過變更三維形狀模型的幾何參數、即用于定義幾何形狀的描述,在可見或不可見的狀態下把各種信息嵌入到上述三維形狀模型內。
作為嵌入對象的三維形狀模型通常由作為其基元(構成要素)的多面體、直線、點的集合或者曲面構成。并且,各基元由幾何參數來定義。因此,三維形狀模型通過許多幾何參數的集合來定義其整體的幾何形狀。
因此,在該常規技術中記載有通過變更構成三維形狀模型的多個基元的幾何參數來嵌入信息。
并且,在該常規技術中記載有通過把幾何參數分成數值參數和相位,并將其各自變更來嵌入信息,反過來,抽出是指通過對上述變更的幾何參數進行檢測來取出所嵌入的信息。
并且,在專利文獻2內記載了通過對三維形狀模型的數據進行小波變換,并把信息嵌入到該結果內的技術。
具體地說,根據該常規例,三維形狀變換單元對原始模型V0的數據進行小波變換處理,電子水印嵌入單元把透明數據嵌入到由小波變換處理生成的WT系數矢量內,根據該WT系數矢量,三維形狀逆變換單元生成嵌入有透明數據的三維形狀模型(流通模型V’0)的數據。
因此,根據該常規技術,記載了以下方法,即當把包含著作權信息等的電子信息數據嵌入到三維形狀數據內時,考慮到所嵌入的三維形狀模型的視覺變化,可進行誤差控制,并且,即使在接受形狀模型的刪除或變形的情況下,也能進行頑強的電子信息數據嵌入。
特開平10-334272號公報[專利文獻2]特開2000-82156號公報另一方面,作為有關電子水印技術和數據隱藏技術的設計要求,列舉如下等·透明信息針對編輯、壓縮、傳送等的各種處理不變質或不消失;·伴隨透明信息嵌入的內容劣化為最小限度;·配置成不集中在首部或特定區域,而是分散在內容全域;·對于電子水印的篡改或消失等的具有惡意的攻擊有抵抗力;·透明信息的嵌入和檢測處理簡便,處理所需時間短。
針對在上述在先技術文獻1內記載的發明,存在以下問題,即為了嵌入信息而有必要變更原來的幾何數據,并且透明信息的檢測算法復雜化。
并且,針對在上述在先技術文獻2內記載的發明,存在以下問題,即盡管作為具體運算方法,特征是使用小波變換,然而在本發明的情況下,數據與原始數據不同。
發明內容
本發明是考慮到這種情況而提出的,本發明的目的是提供用于完全不改變所表現的數據的“意義”和“品質”就能嵌入和讀出信息的信息嵌入和篡改檢測裝置及信息嵌入和篡改檢測方法以及存儲有信息嵌入和篡改檢測程序的計算機可讀取的記錄介質。
由于本發明是為解決上述問題而提出的,因而本發明的特征在于,一種原本性保證系統,其包括信息嵌入裝置,用于把信息嵌入到多個結構體數據內;以及信息篡改檢測裝置,用于對該信息嵌入裝置嵌入信息的多個結構體數據的篡改進行檢測;上述信息嵌入裝置具有數據標準化單元,用于根據第1規則,把上述多個結構體數據進行排序;信息摘要(message digest)生成單元,用于針對由該數據標準化單元排序的多個結構體數據組成的位流,使用規定的散列函數算出信息摘要;以及數據變換單元,用于把該信息摘要生成單元算出的信息摘要作為關鍵字(key),根據與上述第1規則不同的第2規則,把上述數據標準化單元排序的多個結構體數據進行排序;上述信息篡改檢測裝置具有數據標準化單元,用于根據上述第1規則,把多個結構體數據進行排序;信息摘要生成單元,用于針對由該數據標準化單元排序的多個結構體數據組成的位流,使用上述散列函數算出信息摘要;數據變換單元,用于把該信息摘要生成單元算出的信息摘要作為關鍵字,根據上述第2規則,把上述數據標準化單元排序的多個結構體數據進行排序;以及判定單元,用于把該數據變換單元排序的多個結構體數據和上述數據標準化單元排序前的多個結構體數據進行比較,如果該多個結構體數據一致,則判定為上述數據標準化單元排序前的多個結構體數據未被篡改,如果該多個結構體數據不一致,則判定為上述數據標準化單元排序前的多個結構體數據被篡改。
并且,本發明的特征在于,具有數據標準化單元,用于根據規定的規則,把多個結構體數據進行排序;信息摘要生成單元,用于針對由該數據標準化單元排序的多個結構體數據組成的位流,使用規定的散列函數算出信息摘要;以及數據變換單元,用于把該信息摘要生成單元算出的信息摘要作為關鍵字,根據與上述規則不同的規則,把上述數據標準化單元排序的多個結構體數據進行排序。
并且,本發明的特征在于,具有數據標準化單元,用于根據與信息嵌入裝置的數據標準化單元相同的第1規則,把多個結構體數據進行排序;信息摘要生成單元,用于針對由該數據標準化單元排序的多個結構體數據組成的位流,使用規定的散列函數算出信息摘要;數據變換單元,用于把該信息摘要生成單元算出的信息摘要作為關鍵字,根據與上述信息嵌入裝置的數據變換單元相同的規則且與上述第1規則不同的規則,把上述數據標準化單元排序的多個結構體數據進行排序;以及判定單元,用于把該數據變換單元排序的多個結構體數據和上述數據標準化單元排序前的多個結構體數據進行比較,如果該多個結構體數據一致,則判定為上述數據標準化單元排序前的多個結構體數據未被篡改,如果該多個結構體數據不一致,則判定為上述數據標準化單元排序前的多個結構體數據被篡改。
并且,本發明的特征在于,根據第1規則,把多個結構體數據進行排序;針對由該排序的多個結構體數據組成的位流,使用規定的散列函數算出信息摘要;把該算出的信息摘要作為關鍵字,根據與上述第1規則不同的第2規則,把上述排序的多個結構體數據進行排序。
并且,本發明的特征在于,根據信息嵌入方法中的第1規則,把多個結構體數據進行排序;針對由該排序的多個結構體數據組成的位流,使用規定的散列函數算出信息摘要;把該算出的信息摘要作為關鍵字,根據上述信息嵌入方法中的第2規則,把上述排序的多個結構體數據進行排序;把根據該第2規則排序的多個結構體數據和根據上述第1規則排序前的多個結構體數據進行比較,如果該多個結構體數據一致,則判定為根據上述第1規則排序前的多個結構體數據未被篡改,如果該多個結構體數據不一致,則判定為根據上述第1規則排序前的多個結構體數據被篡改。
并且,本發明是一種存儲有信息嵌入程序的計算機可讀取的記錄介質,該信息嵌入程序用于使計算機執行下述處理根據第1規則,把多個結構體數據進行排序;針對由該排序的多個結構體數據組成的位流,使用規定的散列函數算出信息摘要;把該算出的信息摘要作為關鍵字,根據與上述第1規則不同的第2規則,把上述排序的多個結構體數據進行排序。
并且,本發明是一種存儲有信息篡改檢測程序的計算機可讀取的記錄介質,該信息篡改檢測程序用于使計算機執行下述處理根據使計算機執行信息嵌入程序來執行的排序處理中的第1規則,把多個結構體數據進行排序;針對由該排序的多個結構體數據組成的位流,使用規定的散列函數算出信息摘要;把該算出的信息摘要作為關鍵字,根據上述信息嵌入方法中的第2規則,把上述排序的多個結構體數據進行排序;把根據該第2規則排序的多個結構體數據和根據上述第1規則排序前的多個結構體數據進行比較,如果該多個結構體數據一致,則判定為根據上述第1規則排序前的多個結構體數據未被篡改,如果該多個結構體數據不一致,則判定為根據上述第1規則排序前的多個結構體數據被篡改。
圖1是示出本實施方式的信息嵌入裝置的構成的構成圖。
圖2是示出用xyz坐標系描述的6多角形的VRML格式的示例的圖。
圖3是示出用xyz坐標系描述的3角形的Raw Triangle格式的示例圖。
圖4是示出本實施方式的信息篡改檢測裝置的構成的構成圖。
圖5是示出本實施方式的原本性保證系統的信息嵌入處理過程的流程圖。
圖6是示出信息篡改檢測處理過程的流程圖。
1、11 控制部2、12 輸入部3、13 輸出部4、14 存儲部5、15 數據標準化處理部6、16 附加信息賦予處理部
7、17 信息摘要處理部8、18 數據變換部19篡改判定處理部具體實施方式
以下,參照附圖,對應用本發明的信息嵌入和篡改檢測裝置的數據原本性保證系統的第1實施方式進行說明。本實施方式的數據原本性保證系統由以下部分構成,即信息嵌入裝置,用于把信息嵌入到多個結構體數據(后述)內;以及信息篡改檢測裝置,用于對信息嵌入裝置嵌入信息的多個結構體數據的篡改進行檢測。
圖1是示出本實施方式的信息嵌入裝置的構成的構成圖。
本實施方式的信息嵌入裝置的構成為使控制部1、輸入部2、輸出部3、存儲部4、數據標準化處理部5、附加信息賦予處理部6、信息摘要處理部7以及數據變換處理部8通過總線10連接。
控制部1對輸入部2、輸出部3、存儲部4、數據標準化處理部5、附加信息賦予處理部6、信息摘要處理部7以及數據變換處理部8中的數據輸入輸出進行控制。
輸入部2是用于接收由作為嵌入透明信息的對象數據的多個結構體數據組成的對象(object)的輸入的接口部。
此處,結構體數據是指具有由1個或多個參數描述的數據結構的數據,并且是可按該參數值排序的數據。具體地說,是指把數據按多個塊劃分和保持的形式的聲音數據,把圖形形狀等的描述數據按多個塊劃分和保持的形式的二維圖像數據和三維圖像數據,把聲音數據和圖像數據按多個塊劃分和保持的形式的動態圖像數據等,該數據的結構為即使把該順序重新排列,數據具有的意義也不會改變。
以下,作為三維圖像數據,以由三維圖形或CAD等生成的幾何形狀數據為例進行說明。作為用于描述三維形狀的格式,例如有·VRML(虛擬現實建模語言Virtual Reality Modeling Language)由萬維網(Web)等使用的三維描述方式;
·X3D(可擴展3DExtensible 3D)把VRML與XML整合的新的描述形式;·DXF/DWG使用CAD的實際(de facto)標準的格式;·HPGL HP的圖形格式;·Raw Triangle用ASCII TEXT僅書寫三角形坐標的格式;等。
作為結構體數據,圖2和圖3示出了用于描述三維形狀的對象的格式的一例。圖2示出了用xyz坐標系描述的6多角形的VRML格式的示例。在本發明的觀點中,VRML格式是具有用1個參數即xyz坐標值描述的數據結構的文本數據,并且是可按該參數值排序的數據(詳情后述)。
并且,圖3示出了同樣用xyz坐標系描述的三角形的Raw Triangle格式的示例。Raw Triangle也同樣是用xyz坐標描述的3個點表示1個三角形。
這樣,對象描述格式由用于決定對象的種類、大小、位置和方向的幾何參數組成。
輸出部3是用于輸出由嵌入有透明信息的多個結構體數據組成的對象的接口部。
作為首部附加信息,存儲部4存儲有·表示生成者或權利者的信息(姓名,某些ID或郵件地址,URL等);·與處理該數據的軟件或裝置有關的信息(序列號或軟件的版本信息等);·生成日期和時間或數據大小等的信息。
數據標準化處理部5根據規定的規則(以下,稱為第1規則),把多個結構體數據進行排序。
此處,數據標準化處理部5使用的規則,即排序算法及其安裝形式雖然可考慮幾種方法,然而基本上是使用按某些基準進行重新排列的方法。
作為排序算法的應用對象,即重新排列對象,有以下2種A.使對象自身的描述內容標準化;
B.使文件(流)內的對象的記載順序標準化;作為與各自有關的具體安裝示例,考慮了例如以下方法。
A.構成對象的結構體數據的描述內容的標準化1).例如象多邊形那樣,如果是作為點的順序集合所表現的形式的結構體數據,則針對從哪個點開始描述,即使變更順序,作為對象的意義也不會變更。因此,該順序存在自由度。也就是說,例如,作為第1規則,可以考慮距離預先任意決定的基準點最近的點或最遠的點作為描述開始點。
2).在cylinder(柱)或旋轉體那樣的數據結構的情況下,具有軸,該軸使用表示線段的數據來描述。也就是說,該描述內容也同樣存在自由度,可以考慮用基點和方向矢量來描述,或者用始端和終端這2點來描述。
B.把對象進行排序1).按照從對象到預先任意決定的基準點的距離近的順序或者遠的順序進行重新排列。此時,可以僅對特定坐標應用重新排列處理,或者也可以對將坐標變換為規定坐標系的坐標應用重新排列處理。也就是說,無論坐標系是否是正交坐標系。
并且,作為用于測定距離的對象的代表點(作為代表的參數值)的選擇方法的示例,例如,考慮了如下等·在對象描述中最初出現的點·對象的重心·在對象中,最接近基準點的點(或者遠點)2).按照與對象特性對應的順序進行重新排列。
·例如,如果是面對象,則按面積進行排序,如果是具有體積的對象,則按體積進行排序。
·如果對象是具有紋理的對象,則針對表現該紋理的數據定義某些順序,并按照該順序進行排序。此處所說的“某些順序”是指,例如把紋理表現數據解釋為數值并導入基于其大小的順序,或者把紋理表現數據解釋為文字串并導入基于詞典順序的順序,等。
3).按照基于對象位置的相對關系的順序進行重新排列。
指定1個對象,并根據離該對象的距離構成樹狀的數據結構。然后,采用根據某些規則追尋該樹的方法進行排序。
可以考慮以上等方式,并且,也可考慮將其進行組合。
以下,作為標準化處理部5中的標準化處理的示例,使用RawTriangle的示例進行說明。
也就是說,首先在三維空間內,定義特定的基準點A(Step 0)。
然后,針對全部三角形,變換成從接近基準點A的點描述的形式(Step 1)。也就是說,Step 1的過程是選擇1個三角形,并計算從用于描述該選擇的三角形的3點中的各點到基準點A的距離。然后,根據各點到基準點A的距離的大小關系,變更三角形的描述,以便最先描述距離最近的點。
然后,在三維空間內,定義特定的基準點B(Step 2)。然后,與Step1同樣,針對全部三角形,計算到基準點B的距離。另外,把距離計算的對象作為三角形描述的第1點作為規則。然后,根據到基準點B的距離算出結果,按照到基準點B的距離近的順序,把三角形進行重新排列。
針對簡單示例,示出了基于上述第1規則的標準化處理的示例。
現在,對(0,0,0,1,0,0,0,1,0)的三角形T1以及(0,1,0,1,1,0,1,2,0)的三角形T2加以考慮。在Raw Triangle格式的表述中,描述如下……………000100010010110120………………表述1假定例如基準點A為(10,0,0),則通過上述Step 1,三角形的描述順序變為T1(1,0,0,0,1,0,0,0,0)T2(1,1,0,1,2,0,0,1,0)(標準化A)。
然后,假定基準點B為(0.10.0),則通過上述Step 2,由于T2接近B,因而三角形的順序以T2為先。結果,Raw Triangle的表述順序從上述表述1進行以下重新排列(標準化B)。
……………110120010100010000………………表述2至此,“標準化”完成。也就是說,如果基準點A、B未知,則即使排序算法已知,也不可能正確進行重新排列。
并且,關于距離計算方法,例如可以考慮在變換成極坐標或圓筒坐標系等之后進行加權距離計算等的各種變化。
附加信息賦予處理部6把存儲在上述存儲部4內的·表示生成者或權利者的信息(姓名,某些ID或郵件地址,URL等)·與處理該數據的軟件或裝置有關的信息(序列號或軟件的版本信息等)·生成日期或數據大小等的信息的附加信息附加給標準化處理部5的輸出結果。另外,上述附加信息的內容在嵌入側和接收側雙方作為共用關鍵字。
信息摘要處理部7針對由數據標準化處理部5排序的多個結構體數據組成的位流、或附加信息賦予處理部6向其進一步附加了附加信息的位流,使用規定的散列函數算出信息摘要。
作為具體的信息摘要處理,例如,如果輸入1位以上的任意位串,則考慮使用固定長度的位串(160位的位模式)被輸出的這種MD5規格等。
數據變換處理部8把信息摘要生成單元算出的信息摘要作為關鍵字,根據與上述第1規則不同的第2規則,把數據標準化單元排序的多個結構體數據進行排序。
作為上述示例的繼續,示出以作了標準化的表述2為出發點來決定描述順序的第2規則的示例。
……………
110120010100010000………………表述2首先,針對由作了標準化的多個結構體數據組成的位流、或附加信息賦予處理部6向其進一步附加了附加信息的位流,如果進行信息摘要處理,則例如假定獲得下述位串(二進制表述)的信息摘要值。
1110100110100011110000110101000111…使用該位串,對表述2的描述進行數據變換。
A.各個三角形的頂點的描述順序的變換首先,從最初每2位取得上述位串。在該情況下,由于是2位,因而考慮了4種組合。
假定最初三角形T1的作了標準化的3頂點為T1a、T1b、T1c,根據所獲得的位,按如下進行重新排列。
00T1a,T1b,T1c01T1b,T1c,T1a10T1c,T1a,T1b11T1a,T1b,T1c信息摘要值的先頭2位為“11”,保持這種重新排列。其后的2位為“10”,關于第2個三角形,按照(c,a,b)的順序替換頂點的描述順序。
B.三角形本身的重新排列接著,決定對象(在該說明中為2個三角形)的順序。另外,以下,作為更恰當的示例,作為1個實施例,現在,盡管對對象A、B、C、D、E、F、G這7個作了考慮,然而即使在2個三角形的情況下,也可完全同樣適用,本發明不限于此。
也就是說,繼續信息摘要結果的位流,現在,為“100110”,考慮將其按照從左的順序來使用。
最初[A]BCDEFG首先,針對先頭的對象A,由于先頭的位是“1”,因而和相鄰的B替換。另外,重新排列操作對象的對象用[]圍住。
B[A]CDEFG其后的位是“0”,此次不和相鄰的位替換,而是把作為操作對象的對象設定為相鄰的C。
BA[C]DEFG由于其后也是“0”,因而把相鄰的D設定為操作對象。
BAC[D]EFG由于其后是“1”,因而和相鄰的E替換。
BACE[D]FG由于還是“1”,因而也和相鄰的F替換。
BACEF[D]G由于最后是“0”,因而結束重新排列。
BACEFDG至此,數據變換處理部8進行的基于信息摘要值的重新排列處理完成,作了重新排列處理的結構體數據被送到輸出部3。
也就是說,這樣,按照信息摘要函數輸出的位串,可唯一決定對象的描述順序。
圖4是示出本實施方式的信息篡改檢測裝置的構成的構成圖。
本實施方式的信息篡改檢測裝置的構成為使控制部11、輸入部12、輸出部13、存儲部14、數據標準化處理部15、附加信息賦予處理部16、信息摘要處理部17、數據變換處理部18以及篡改判定處理部19通過總線20連接。
控制部11對輸入部12、輸出部13、存儲部14、數據標準化處理部15、附加信息賦予處理部16、信息摘要處理部17、數據變換處理部18以及篡改判定處理部19中的數據輸入輸出進行控制。
輸入部12是用于輸入由上述信息嵌入裝置嵌入透明信息的多個結構體數據組成的對象的接口部。
輸出部13是用于輸出由篡改判定處理部19判定有無篡改的判定結果(后述)的接口部。
存儲部14與上述信息嵌入裝置的存儲部4同樣,把同一附加信息作為共用關鍵字來存儲。
數據標準化處理部15與數據標準化處理部5同樣,根據上述第1規則,把輸入到輸入部12內的多個結構體數據進行排序。
附加信息賦予處理部16與上述信息嵌入裝置的附加信息賦予處理部6同樣,把存儲部14存儲的附加信息附加給標準化處理部5的輸出結果。
信息摘要處理部17針對由數據標準化處理部15排序的多個結構體數據組成的位流,使用散列函數算出信息摘要。
數據變換處理部18把信息摘要生成處理部17算出的信息摘要作為關鍵字,并與上述數據變換處理部8同樣,根據上述第2規則,把數據標準化處理部15排序的多個結構體數據或由附加信息賦予處理部16進一步賦予了附加信息的多個結構體數據進行排序。
篡改判定處理部19把數據變換處理部18作了數據變換的多個結構體數據和數據標準化處理部15排序前的多個結構體數據進行比較,如果這2種多個結構體數據一致,則判定為數據標準化處理部15排序前的多個結構體數據,即所輸入的多個結構體數據未被篡改,如果這2種多個結構體數據不一致,則判定為數據標準化單元排序前的多個結構體數據被篡改。
并且,篡改判定處理部19針對數據變換處理部18作了數據變換的多個結構體數據,在數據變換前,當被賦予有附加數據時,如果這2種多個結構體數據一致,則判定為該附加數據也未被篡改,如果這2種多個結構體數據不一致,則判定為數據標準化單元排序前的多個結構體數據或者附加數據中的任何一方或者雙方被篡改。
然后,參照附圖,對本實施方式的數據提供系統的動作進行說明。圖5是示出本實施方式的原本性保證系統的信息嵌入處理過程的流程圖。并且,圖6是示出伴隨該過程的信息篡改檢測處理過程的流程圖。
作為信息嵌入處理,在信息嵌入裝置中,首先準備作為由多個結構體數據組成的對象集合的三維形狀模型數據。如果該三維形狀模型數據被輸入到輸入部2內,則數據標準化處理部5根據預定的第1規則進行排序,并變換成標準數據表現形式。
然后,附加信息賦予處理部6把首部信息、共用關鍵字等的附加信息賦予給變換成標準數據表現形式的三維形狀模型數據。
然后,信息摘要處理部7針對附加信息、作了標準化處理的三維形狀模型數據的全部或一部分等進行信息摘要處理,并獲得信息摘要值。
數據變換處理部8按照該信息摘要值的位流,根據第2規則,變換標準數據形式的表現。
至此,信息嵌入處理完成。
然后,作為信息篡改檢測處理,在信息篡改檢測裝置中,準備被認為嵌入有信息的三維形狀模型數據。如果該三維形狀模型數據被輸入到輸入部12內,則數據標準化處理部15與數據標準化處理部5同樣,根據預定的第1規則進行排序,并變換成標準數據表現形式。
然后,附加信息賦予處理部16與附加信息賦予處理部6同樣,把首部信息、共用關鍵字等的附加信息賦予給變換成標準數據表現形式的三維形狀模型數據。
然后,信息摘要處理部17與信息摘要處理部7同樣,針對附加信息、作了標準化處理的三維形狀模型數據的全部或一部分等進行信息摘要處理,并獲得信息摘要值。
數據變換處理部18與數據變換處理部8同樣,按照該信息摘要值的位流,根據第2規則,變換標準數據形式的表現。
篡改判定處理部19把數據變換處理部18作了數據變換的多個結構體數據和數據標準化處理部15排序前的多個結構體數據進行比較,如果這2種多個結構體數據一致,則判定為數據標準化處理部15排序前的多個結構體數據,即所輸入的多個結構體數據未被篡改,如果這2種多個結構體數據不一致,則判定為數據標準化單元排序前的多個結構體數據被篡改。并且,篡改判定處理部19針對數據變換處理部18作了數據變換的多個結構體數據,在數據變換前,當被賦予有附加數據時,如果這2種多個結構體數據一致,則判定為該附加數據也未被篡改,如果這2種多個結構體數據不一致,則判定為數據標準化單元排序前的多個結構體數據或者附加數據中的任何一方或者雙方被篡改。
因此,由于本實施方式的原本性保證系統通過利用原本性保證原理把某些數據的散列值作為關鍵字來改變對象的描述方法,按照用于表現數據的“冗余性”,即用于描述對象的順序嵌入信息,因而完全不改變所表現的數據的“意義”和“品質”就能嵌入信息。不是明顯地把信息嵌入,而是使數據結構具有意義。當作了篡改時,由于合適結構發生變化,因而具有可檢測篡改的效果。
以下,對本實施方式的數據提供系統的更詳細動作的示例進行說明。現在,對對象(基元)是三角形集合的情況加以考慮。另外,即使是一般多角形或旋轉體、用任意算式模型表現的幾何學模型,同樣也能適用。
例如,假定有三角形T1~T100,把各自頂點表示為T1(T1_a,T1_b,T1_c)。此處,T1_a等表現三維矢量。
在數據結構中,用于描述T1至T100的順序,并且,用于在三角形Ti中描述頂點(Ti_a,Ti_b,Ti_c)的順序具有冗余性。最先,考慮例如任意基準點A,并從各自三角形的重心矢量接近A的一方進行排序。
甚至,對最先描述各自三角形的3個頂點中的哪個,也采用例如把距離任意基準點B最近的點設定為基點的方法,使各個三角形的描述方法也標準化。
這樣使數據標準化。
然后,根據附屬于該數據的附加信息(記載在首部內)或保密位串、或者被標準化的數據本身以及這些的組合,使用信息摘要函數來獲得特定長度的位串。
由于三角形的3頂點的記載順序考慮了3種,因而針對例如信息摘要位中的各位,決定要最先描述哪個頂點。這樣變換被標準化的數據的表現。
此處,通過把基準點A或B的坐標、以及用于計算信息摘要的處理方法、使用什么作為在計算摘要時使用的數據等進行保密,可防止在被篡改的情況下不正當地變換數據。
上述信息嵌入裝置和信息篡改檢測裝置在內部具有計算機系統。
然后,通過把與上述信息嵌入和信息篡改檢測有關的一系列處理過程以程序形式存儲在計算機可讀取的記錄介質內,并使計算機讀出和執行該程序,進行上述處理。
也就是說,信息嵌入裝置和信息篡改檢測裝置中的各處理單元和處理部是通過使CPU等的中央運算處理裝置在ROM或RAM等的主存儲裝置中讀出上述程序,并執行信息的加工和運算處理來實現的。
此處,計算機可讀取的記錄介質是指磁盤、光磁盤、CD-ROM、DVD-ROM、半導體存儲器等。并且,可以把該計算機程序通過通信線路分配給計算機,并可以使收到該分配的計算機執行該程序。
權利要求
1.一種數據原本性保證系統,其包括信息嵌入裝置,用于把信息嵌入到多個結構體數據內;以及信息篡改檢測裝置,用于對該信息嵌入裝置嵌入信息的多個結構體數據的篡改進行檢測,其特征在于,上述信息嵌入裝置具有數據標準化單元,用于根據第1規則,把上述多個結構體數據進行排序;信息摘要生成單元,用于針對由該數據標準化單元排序的多個結構體數據組成的位流,使用規定的散列函數算出信息摘要;以及數據變換單元,用于把該信息摘要生成單元算出的信息摘要作為關鍵字,根據與上述第1規則不同的第2規則,把上述數據標準化單元排序的多個結構體數據進行排序;上述信息篡改檢測裝置具有數據標準化單元,用于根據上述第1規則,把多個結構體數據進行排序;信息摘要生成單元,用于針對由該數據標準化單元排序的多個結構體數據組成的位流,使用上述散列函數算出信息摘要;數據變換單元,用于把該信息摘要生成單元算出的信息摘要作為關鍵字,根據上述第2規則,把上述數據標準化單元排序的多個結構體數據進行排序;以及判定單元,用于把該數據變換單元排序的多個結構體數據和上述數據標準化單元排序前的多個結構體數據進行比較,如果該多個結構體數據一致,則判定為上述數據標準化單元排序前的多個結構體數據未被篡改,如果該多個結構體數據不一致,則判定為上述數據標準化單元排序前的多個結構體數據被篡改。
2.一種信息嵌入裝置,其特征在于,該信息嵌入裝置具有數據標準化單元,用于根據規定的規則,把多個結構體數據進行排序;信息摘要生成單元,用于針對由該數據標準化單元排序的多個結構體數據組成的位流,使用規定的散列函數算出信息摘要;以及數據變換單元,用于把該信息摘要生成單元算出的信息摘要作為關鍵字,根據與上述規則不同的規則,把上述數據標準化單元排序的多個結構體數據進行排序。
3.一種信息篡改檢測裝置,其特征在于,該信息篡改檢測裝置具有數據標準化單元,用于根據與信息嵌入裝置的數據標準化單元相同的第1規則,把多個結構體數據進行排序;信息摘要生成單元,用于針對由該數據標準化單元排序的多個結構體數據組成的位流,使用規定的散列函數算出信息摘要;數據變換單元,用于把該信息摘要生成單元算出的信息摘要作為關鍵字,根據與上述信息嵌入裝置的數據變換單元相同的規則且與上述第1規則不同的規則,把上述數據標準化單元排序的多個結構體數據進行排序;以及判定單元,用于把該數據變換單元排序的多個結構體數據和上述數據標準化單元排序前的多個結構體數據進行比較,如果該多個結構體數據一致,則判定為上述數據標準化單元排序前的多個結構體數據未被篡改,如果該多個結構體數據不一致,則判定為上述數據標準化單元排序前的多個結構體數據被篡改。
4.一種信息嵌入方法,其特征在于根據第1規則,把多個結構體數據進行排序;針對由該排序的多個結構體數據組成的位流,使用規定的散列函數算出信息摘要;把該算出的信息摘要作為關鍵字,根據與上述第1規則不同的第2規則,把上述排序的多個結構體數據進行排序。
5.一種信息篡改檢測方法,其特征在于根據在權利要求4所述的信息嵌入方法中的第1規則,把多個結構體數據進行排序;針對由該排序的多個結構體數據組成的位流,使用規定的散列函數算出信息摘要;把該算出的信息摘要作為關鍵字,根據上述信息嵌入方法中的第2規則,把上述排序的多個結構體數據進行排序;把根據該第2規則排序的多個結構體數據和根據上述第1規則排序前的多個結構體數據進行比較,如果該多個結構體數據一致,則判定為根據上述第1規則排序前的多個結構體數據未被篡改,如果該多個結構體數據不一致,則判定為根據上述第1規則排序前的多個結構體數據被篡改。
6.一種存儲有信息嵌入程序的計算機可讀取的記錄介質,該信息嵌入程序用于使計算機執行下述處理根據第1規則,把多個結構體數據進行排序;針對由該排序的多個結構體數據組成的位流,使用規定的散列函數算出信息摘要;把該算出的信息摘要作為關鍵字,根據與上述第1規則不同的第2規則,把上述排序的多個結構體數據進行排序。
7.一種存儲有信息篡改檢測程序的計算機可讀取的記錄介質,該信息篡改檢測程序用于使計算機執行下述處理根據使計算機執行在權利要求6所述的信息嵌入程序來進行的排序處理中的第1規則,把多個結構體數據進行排序;針對由該排序的多個結構體數據組成的位流,使用規定的散列函數算出信息摘要;把該算出的信息摘要作為關鍵字,根據上述信息嵌入方法中的第2規則,把上述排序的多個結構體數據進行排序;把根據該第2規則排序的多個結構體數據和根據上述第1規則排序前的多個結構體數據進行比較,如果該多個結構體數據一致,則判定為根據上述第1規則排序前的多個結構體數據未被篡改,如果該多個結構體數據不一致,則判定為根據上述第1規則排序前的多個結構體數據被篡改。
全文摘要
提供了用于完全不改變所表現的數據的“意義”和“品質”就能嵌入和讀出信息的信息嵌入和篡改檢測裝置及信息嵌入和篡改檢測方法以及存儲有信息嵌入和篡改檢測程序的計算機可讀取的記錄介質。在信息嵌入裝置中,根據第1規則,把多個結構體數據進行排序;針對排序結果算出信息摘要;把算出結果作為關鍵字,并根據與第1規則不同的第2規則進行排序。在信息篡改檢測裝置中,根據第1規則,把多個結構體數據進行排序;針對排序結果算出信息摘要;把算出結果作為關鍵字,并根據第2規則進行排序。把該排序結果和根據第1規則排序前的數據進行比較,如果一致,則判定為無篡改,如果不一致,則判定為有篡改。
文檔編號G06F21/64GK1532776SQ20041000421
公開日2004年9月29日 申請日期2004年2月10日 優先權日2003年3月26日
發明者長谷川浩 申請人:精工愛普生株式會社