JP2014207607A - Altered data restoration system, altered data restoration method, and program - Google Patents

Altered data restoration system, altered data restoration method, and program Download PDF

Info

Publication number
JP2014207607A
JP2014207607A JP2013084886A JP2013084886A JP2014207607A JP 2014207607 A JP2014207607 A JP 2014207607A JP 2013084886 A JP2013084886 A JP 2013084886A JP 2013084886 A JP2013084886 A JP 2013084886A JP 2014207607 A JP2014207607 A JP 2014207607A
Authority
JP
Japan
Prior art keywords
verification information
data
verification
row
column
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013084886A
Other languages
Japanese (ja)
Inventor
新井 健一
Kenichi Arai
健一 新井
敏浩 元田
Toshihiro Motoda
敏浩 元田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2013084886A priority Critical patent/JP2014207607A/en
Publication of JP2014207607A publication Critical patent/JP2014207607A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To accurately calculate an evidence property information residual ratio.SOLUTION: Data is stored in a first storage part 23. A converted value generation part 221 generates a row direction converted value Cy[n] and a column direction converted value Cx[n][m]. A first verification information generation part 222 generates a row direction first verification information y[n] and a column direction first verification information x[m]. A second verification information generation part 223 generates a row direction second verification information y'[n] and a column direction second verification information x'[m]. A verification part 25 specifies each altered portion of the data using the row direction first verification information y[n], the column direction first verification information x[m], the row direction second verification information y'[n], and the column direction second verification information x'[m]. A restoration part verifies, for each specified altered portion, whether a row direction restored value Ey[n][m] generated using the row direction converted value Cy[n] matches a column direction restored value Ex[n][m] generated using the column direction converted value Cx[n][m].

Description

この発明は、セキュリティ技術に関する。特に、システムで利用するデータの偽造、削除、改ざん等を検知し、改ざんが行われたデータに対して誤りを訂正し、証拠性を高めるようにする技術に関する。   The present invention relates to security technology. In particular, the present invention relates to a technique for detecting forgery, deletion, falsification, and the like of data used in a system, correcting errors in the falsified data, and improving evidence.

企業情報システム、医療システム(EHR: Electric Health Record)、物流管理システム等において、システムから収集されるデータを分析することによってシステムが正しく運用されているか客観的に評価するために、システムから出力されるデータを収集することが重要な役割を果たすようになってきている。   In an enterprise information system, medical system (EHR: Electric Health Record), logistics management system, etc., it is output from the system in order to objectively evaluate whether the system is operating correctly by analyzing the data collected from the system. Collecting data is playing an important role.

このため、システムから収集されるデータの変更や改ざんは、システム運用上重大な脅威となるため、収集されたデータの完全性を確保することが重要な課題となっている。   For this reason, changing or falsifying data collected from the system is a serious threat to the operation of the system. Therefore, ensuring the integrity of the collected data is an important issue.

システムから出力されるデータはリアルタイム的に大量に次々と発生するため、システムから出力されたデータが変更又は改ざんされた場合に、データの変更又は改ざんを確実に検出できるようにする技術が求められている。   Since the data output from the system is generated in large quantities in real time one after another, there is a need for technology that can reliably detect data changes or alterations when the data output from the system is changed or altered. ing.

システムから出力されるデータとして、例えばログ情報がある。ログ情報の改ざん、削除の防止やそれらの検知を行うために、ログ情報そのものの暗号化や、ログ情報そのものを複数の媒体に退避する方法がとられている。   Data output from the system includes, for example, log information. In order to prevent falsification and deletion of log information and to detect them, methods of encrypting the log information itself and saving the log information itself to a plurality of media are used.

しかし今日、ログ情報はリアルタイム的に大量に次々と発生するため、このような方法は非効率となっており、ログ情報の改ざん検知が可能であり、情報量的に効率的で証拠性の高いログ情報の復元方法が求められている。   However, today, log information is generated one after another in large quantities in real time, so this method is inefficient, it is possible to detect falsification of the log information, and the amount of information is efficient and has high evidence There is a need for a method for restoring log information.

例えば、特許文献1では、ログ情報からリンクハッシュを用いたハッシュチェーンを行方向に生成し、これを用いてデータの偽造、削除、改ざん等を検知し、改ざんが行われたデータに関して証拠性のある個所を特定するようにしている。   For example, in Patent Document 1, a hash chain using a link hash is generated in the row direction from log information, and this is used to detect forgery, deletion, falsification, etc. of data, and evidence of the data that has been falsified. A certain place is specified.

国際公開第2008/026238号パンフレットInternational Publication No. 2008/026238 Pamphlet

しかしながら、特許文献1に記載された技術では、行方向のみのハッシュチェーンを用いているため、改ざん箇所が増加すると行方向に含まれる非改ざん箇所まで余計に改ざん箇所として検知してしまう。その結果、証拠性情報残存率に大きく誤差が生じてしまう。ここで、証拠性情報残存率とは、改ざんされた情報の中でも信頼できる情報が残っている場合の残った情報量である。   However, since the technique described in Patent Document 1 uses a hash chain only in the row direction, if the number of tampered portions increases, the non-tampered portion included in the row direction is detected as an extra tampered portion. As a result, a large error occurs in the evidence information remaining rate. Here, the evidence information remaining rate is the amount of information remaining when reliable information remains among the tampered information.

この発明の目的は、証拠性情報残存率を正確に算出することができるデータ改ざん復元技術を提供することである。   An object of the present invention is to provide a data falsification restoration technique capable of accurately calculating the evidence information remaining rate.

上記の課題を解決するために、この発明の一態様によるデータ改ざん復元システムは、N,Mを2以上の所定の整数とし、n=1,…,Nとし、m=1,…,Mとし、N行×M列に分割されているN×M個のデータブロックで構成されているデータを記憶する第一記憶部と、データのn行目のM個のデータブロックを用いて行方向変換値Cy[n]を生成し、データのn行目のm列目のデータブロックを用いて列方向変換値Cx[n][m]を生成する変換値生成部と、データのn行目のM個のデータブロックを用いて行方向第一検証情報y[n]を生成し、データのm列目のN個のデータブロックを用いて列方向第一検証情報x[m]を生成する第一検証情報生成部と、行方向変換値Cy[n]と列方向変換値Cx[n][m]と行方向第一検証情報y[n]と列方向第一検証情報x[m]とを記憶する第二記憶部と、第一記憶部から読み込んだデータのn行目のM個のデータブロックを用いて行方向第二検証情報y’[n]を生成し、第一記憶部から読み込んだデータのm列目のN個のデータブロックを用いて列方向第二検証情報x’[m]を生成する第二検証情報生成部と、第二記憶部から読み込んだ行方向第一検証情報y’[n]及び列方向第一検証情報x[m]が、それぞれ行方向第二検証情報y’[n]及び列方向第二検証情報x’[m]に一致するかどうかを検証することでデータの改ざん箇所を特定する検証部と、特定された改ざん箇所それぞれについて、行方向変換値Cy[n]を用いてn行目のm列目のデータブロックを復元した行方向復元値Ey[n][m]が、列方向変換値Cx[n][m]を用いてn行目のm列目のデータブロックを復元した列方向復元値Ex[n][m]に一致するかどうかを検証する復元部と、を含む。   In order to solve the above problems, a data falsification / restoration system according to an aspect of the present invention is configured such that N and M are predetermined integers of 2 or more, n = 1,..., N, m = 1,. , Using a first storage unit for storing data composed of N × M data blocks divided into N rows × M columns, and row direction conversion using M data blocks in the nth row of data A conversion value generation unit that generates a value Cy [n] and generates a column-direction conversion value Cx [n] [m] using the data block of the mth column of the nth row of data, and the nth row of the data Generate first row verification information y [n] using M data blocks, and generate first column verification information x [m] using N data blocks in the m-th column of data. A verification information generator, a row direction conversion value Cy [n], a column direction conversion value Cx [n] [m], a row direction first verification information y [n], and a column direction first verification information x [m] Read from the first storage unit and the second storage unit The second direction verification information y ′ [n] is generated using the M data blocks in the nth row of the data, and the N data blocks in the mth column of the data read from the first storage unit are used. A second verification information generation unit that generates column direction second verification information x ′ [m], row direction first verification information y ′ [n] and column direction first verification information x [ a verification unit that identifies a data falsification point by verifying whether m] matches each of the row direction second verification information y ′ [n] and the column direction second verification information x ′ [m] For each of the tampered locations, the row direction restoration value Ey [n] [m] obtained by restoring the data block of the mth column of the nth row using the row direction transformation value Cy [n] is the column direction transformation value Cx [ and a restoration unit that verifies whether or not the column-direction restoration value Ex [n] [m], which is obtained by restoring the data block of the mth column of the nth row using n] [m], is included.

この発明のデータ改ざん復元技術によれば、改ざんされたデータの改ざん箇所を特定して復元することで、証拠性情報残存率を正確に算出することができる。   According to the data falsification and restoration technique of the present invention, the evidence information remaining rate can be accurately calculated by specifying and restoring the falsified portion of the falsified data.

データ改ざん復元システムの機能構成を例示する図。The figure which illustrates the function structure of a data alteration restoration system. データ改ざん復元方法の処理フローを例示する図。The figure which illustrates the processing flow of the data falsification restoration method. 行方向の変換値及び検証情報の生成方法を例示する図。The figure which illustrates the production | generation method of the conversion value of row direction, and verification information. 列方向の変換値及び検証情報の生成方法を例示する図。The figure which illustrates the conversion value of column direction, and the production | generation method of verification information. 検証交点情報及び統合検証情報の生成方法を例示する図。The figure which illustrates the production | generation method of verification intersection information and integrated verification information. 行方向の改ざん箇所を特定する処理フローを例示する図。The figure which illustrates the processing flow which specifies the alteration location of a line direction. 列方向の改ざん箇所を特定する処理フローを例示する図。The figure which illustrates the processing flow which identifies the alteration location of a column direction. データの改ざん箇所の特定方法を例示する図。The figure which illustrates the identification method of the falsification location of data. データの改ざん箇所の特定方法を例示する図。The figure which illustrates the identification method of the falsification location of data.

以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。   Hereinafter, embodiments of the present invention will be described in detail. In addition, the same number is attached | subjected to the component which has the same function in drawing, and duplication description is abbreviate | omitted.

[実施形態]
図1を参照して、実施形態のデータ改ざん復元システムの機能構成例を説明する。データ改ざん復元システムは、データ発生部1及びデータ処理装置2を含み、この例ではTSAサーバ32を更に含む。データ処理装置2は、データ収集部21、検証情報生成部22、第一記憶部23、第二記憶部24、検証部25及び復元部26を含み、この例ではTSAクライアント部31を更に含む。検証情報生成部22は、変換値生成部221、第一検証情報生成部222及び第二検証情報生成部223を更に含む。TSAクライアント部31及びTSAサーバ32は、時刻情報付加部3を構成する。なお、TSAは、Time Stamping Authorityの略称であり、タイムスタンプ認証プロトコルにおける時刻認証局である。
[Embodiment]
With reference to FIG. 1, an example of a functional configuration of the data falsification restoration system of the embodiment will be described. The data alteration / restoration system includes a data generation unit 1 and a data processing device 2, and further includes a TSA server 32 in this example. The data processing device 2 includes a data collection unit 21, a verification information generation unit 22, a first storage unit 23, a second storage unit 24, a verification unit 25, and a restoration unit 26, and further includes a TSA client unit 31 in this example. The verification information generation unit 22 further includes a conversion value generation unit 221, a first verification information generation unit 222, and a second verification information generation unit 223. The TSA client unit 31 and the TSA server 32 constitute a time information adding unit 3. TSA is an abbreviation for Time Stamping Authority, and is a time certificate authority in the time stamp authentication protocol.

図2を参照して、データ改ざん復元システムの実行するデータ改ざん復元処理の動作例を、実際に行われる手続きの順に従って説明する。   With reference to FIG. 2, an operation example of data falsification restoration processing executed by the data falsification restoration system will be described in the order of procedures actually performed.

データ発生部1は、データ改ざん復元処理の対象となるデータを発生させる(ステップS1)。データ発生部1とデータ処理装置2とは、インターネット、イーサネット(登録商標)、専用線、システムバス等によって接続されており、データ発生部1で発生したデータは、データ処理装置2に送信される。データ発生部1は、例えばログサーバである。データ発生部1は、PC、携帯電話、スマートフォン等の情報端末であってもよい。   The data generation unit 1 generates data to be subjected to data falsification restoration processing (step S1). The data generation unit 1 and the data processing device 2 are connected by the Internet, Ethernet (registered trademark), a dedicated line, a system bus, etc., and data generated by the data generation unit 1 is transmitted to the data processing device 2. . The data generation unit 1 is, for example, a log server. The data generation unit 1 may be an information terminal such as a PC, a mobile phone, or a smartphone.

データ処理装置2のデータ収集部21は、データ発生部1から受信したデータを、検証情報生成部22を介して第一記憶部23に記憶させる(ステップS21)。もちろん、データ収集部21は、データ発生部1から受信したデータを、検証情報生成部22を介さずに直接第一記憶部23に記憶させてもよい。   The data collection unit 21 of the data processing device 2 stores the data received from the data generation unit 1 in the first storage unit 23 via the verification information generation unit 22 (step S21). Of course, the data collection unit 21 may directly store the data received from the data generation unit 1 in the first storage unit 23 without using the verification information generation unit 22.

第一記憶部23に記憶されるデータは、N,Mを2以上の所定の整数とし、n=1,…,Nとし、m=1,…,Mとし、N行×M列に分割されているN×M個のデータブロックで構成されている。データブロックのデータ長は処理対象とするデータの性質等を鑑みて任意のサイズに設計することができる。   The data stored in the first storage unit 23 is divided into N rows × M columns, where N and M are predetermined integers of 2 or more, n = 1,..., N, m = 1,. Is composed of N × M data blocks. The data length of the data block can be designed to an arbitrary size in consideration of the nature of the data to be processed.

検証情報生成部22の変換値生成部221は、データ発生部1から受信したデータのn行目のM個のデータブロックを用いて行方向変換値Cy[n]を生成し、データ発生部1から受信したデータのn行目のm列目のデータブロックを用いて列方向変換値Cx[n][m]を生成する(ステップS221)。   The conversion value generation unit 221 of the verification information generation unit 22 generates the row direction conversion value Cy [n] using the M data blocks in the n-th row of the data received from the data generation unit 1, and the data generation unit 1 The column direction conversion value Cx [n] [m] is generated using the data block of the mth column of the nth row of the data received from (Step S221).

変換値生成部221は、まず、図3に示すように、データの行方向のデータ長と同じサイズの乱数Iを生成する。変換値生成部221は、逐一ランダムに乱数Iを生成してもよいし、事前に生成されメモリ等の記憶部に格納されている複数個の値から所定の規則に従って乱数Iを選択してもよい。   First, the conversion value generation unit 221 generates a random number I having the same size as the data length in the row direction of the data, as shown in FIG. The conversion value generation unit 221 may generate the random number I at random one by one, or may select the random number I according to a predetermined rule from a plurality of values generated in advance and stored in a storage unit such as a memory. Good.

変換値生成部221は、乱数Iとデータの1行目のM個のデータブロックとの排他的論理和を計算することで行方向変換値Cy[1]を生成し、行方向変換値Cy[1]とデータの2行目のM個のデータブロックとの排他的論理和を計算することで行方向変換値Cy[2]を生成し、・・・、行方向変換値Cy[N-1]とデータのN行目のM個のデータブロックとの排他的論理和を計算することで行方向変換値Cy[N]を生成する。   The conversion value generation unit 221 generates the row direction conversion value Cy [1] by calculating the exclusive OR of the random number I and the M data blocks in the first row of data, and the row direction conversion value Cy [ 1] and M data blocks in the second row of data are calculated to generate a row direction conversion value Cy [2], and so on, and ..., row direction conversion value Cy [N-1 ] And M data blocks in the Nth row of data are calculated to generate a row direction conversion value Cy [N].

変換値生成部221は、つぎに、図4に示すように、データブロックのデータ長と同じサイズのN個の乱数I[1],…,I[N]を生成する。変換値生成部221は、逐一ランダムにN個の乱数I[1],…,I[N]を生成してもよいし、事前に生成されいずれかの記憶部に格納されている複数個の値から所定の規則に従ってN個の乱数I[1],…,I[N]を選択してもよい。   Next, as shown in FIG. 4, the conversion value generation unit 221 generates N random numbers I [1],..., I [N] having the same size as the data length of the data block. The conversion value generation unit 221 may generate N random numbers I [1],..., I [N] at random one by one, or a plurality of conversion values generated in advance and stored in any storage unit N random numbers I [1],..., I [N] may be selected from the values according to a predetermined rule.

変換値生成部221は、乱数I[1]とデータの1行目の1列目のデータブロックとの排他的論理和を計算することで列方向変換値Cx[1][1]を生成し、列方向変換値Cx[1][1]とデータの1行目の2列目のデータブロックとの排他的論理和を計算することで列方向変換値Cx[1][2]を生成し、・・・、列方向変換値Cx[1][M-1]とデータの1行目のM列目のデータブロックとの排他的論理和を計算することで列方向変換値Cx[1][M]を生成する。   The conversion value generation unit 221 generates a column direction conversion value Cx [1] [1] by calculating an exclusive OR of the random number I [1] and the data block in the first column of the first row of data. The column direction conversion value Cx [1] [2] is generated by calculating the exclusive OR of the column direction conversion value Cx [1] [1] and the data block in the second column of the first row of data. , ..., the column direction conversion value Cx [1] [M-1] and the column direction conversion value Cx [1] are calculated by calculating the exclusive OR of the data block of the Mth column of the first row of data. Generate [M].

変換値生成部221は、同様に、m=2,…,Nについて、乱数I[n]とデータのn行目の1列目のデータブロックとの排他的論理和を計算することで列方向変換値Cx[n][1]を生成し、列方向変換値Cx[n][1]とデータのn行目の2列目のデータブロックとの排他的論理和を計算することで列方向変換値Cx[n][2]を生成し、・・・、列方向変換値Cx[n][M-1]とデータのn行目のM列目のデータブロックとの排他的論理和を計算することで列方向変換値Cx[n][M]を生成する。   Similarly, the conversion value generation unit 221 calculates the exclusive OR of the random number I [n] and the data block in the first column of the nth row of data for m = 2,. The conversion value Cx [n] [1] is generated, and the column direction is calculated by calculating the exclusive OR of the column direction conversion value Cx [n] [1] and the data block in the second column of the nth row of data. A converted value Cx [n] [2] is generated, and an exclusive OR of the column direction converted value Cx [n] [M-1] and the data block of the Mth column of the nth row of data is obtained. The column direction conversion value Cx [n] [M] is generated by calculation.

変換値生成部221は、生成した行方向変換値Cy[n]と列方向変換値Cx[n][m]とを第二記憶部に記憶させる。   The conversion value generation unit 221 stores the generated row direction conversion value Cy [n] and column direction conversion value Cx [n] [m] in the second storage unit.

検証情報生成部22の第一検証情報生成部222は、データ発生部1から受信したデータのn行目のM個のデータブロックを用いて行方向第一検証情報y[n]を生成し、データ発生部1から受信したデータのm列目のN個のデータブロックを用いて列方向第一検証情報x[m]を生成する(ステップS222)。   The first verification information generation unit 222 of the verification information generation unit 22 generates row direction first verification information y [n] using M data blocks in the nth row of data received from the data generation unit 1, Column direction first verification information x [m] is generated using the N data blocks in the m-th column of the data received from the data generation unit 1 (step S222).

第一検証情報生成部222は、まず、図3に示すように、データの1行目のM個のデータブロックを用いて行方向第一検証情報y[1]を生成し、データの2行目のM個のデータブロックを用いて行方向第一検証情報y[2]を生成し、・・・、データのN行目のM個のデータブロックを用いて行方向第一検証情報y[N]を生成する。   First, the first verification information generation unit 222 generates row direction first verification information y [1] using M data blocks in the first row of data, as shown in FIG. The first row verification information y [2] is generated using the M data blocks of the eye, and the first row verification information y [2] is generated using the M data blocks of the Nth row of data. N] is generated.

第一検証情報生成部222は、例えば、nをn=1,…,Nの各整数として、データのn行目のM個のデータブロックを所定の第一関数に入力した場合の出力値を行方向第一検証情報y[n]とする。第一関数は、例えばハッシュ関数又は数の入力を乗算する関数である。   For example, the first verification information generation unit 222 uses n as an integer of n = 1,..., N, and outputs an output value when M data blocks in the n-th row of data are input to a predetermined first function. The row direction first verification information y [n] is used. The first function is, for example, a hash function or a function that multiplies a number input.

この例では、第一検証情報生成部222は、更に、生成した行方向第一検証情報y[n](n=1,…,N)を用いて行方向第一検証交点情報Hy[n](n=2,…,N)を生成し、これらを用いて統合行方向第一検証情報Hyを生成する。   In this example, the first verification information generation unit 222 further uses the generated row direction first verification information y [n] (n = 1,..., N) to perform row direction first verification intersection information Hy [n]. (N = 2,..., N) are generated, and the integrated row direction first verification information Hy is generated using these.

第一検証情報生成部222は、図3に示すように、行方向第一検証情報y[1]及び行方向第一検証情報y[2]を用いて行方向第一検証交点情報Hy[2]を生成し、行方向第一検証交点情報Hy[2]及び行方向第一検証情報y[3]を用いて行方向第一検証交点情報Hy[3]を生成し、・・・、行方向第一検証交点情報Hy[N-1]及び行方向第一検証情報y[N]を用いて行方向第一検証交点情報Hy[N]を生成する。そして、生成した行方向第一検証交点情報Hy[n](n=2,…,N)を用いて統合行方向第一検証情報Hyを生成する。   As illustrated in FIG. 3, the first verification information generation unit 222 uses the row direction first verification information y [1] and the row direction first verification information y [2] to perform row direction first verification intersection information Hy [2 ], And the row direction first verification intersection information Hy [3] is generated using the row direction first verification intersection information Hy [2] and the row direction first verification information y [3]. The row direction first verification intersection information Hy [N] is generated using the direction first verification intersection information Hy [N-1] and the row direction first verification information y [N]. Then, integrated row direction first verification information Hy is generated using the generated row direction first verification intersection information Hy [n] (n = 2,..., N).

第一検証情報生成部222は、例えば、nをn=1,…,Nの各整数として、行方向第一検証交点情報Hy[n-1]及び行方向第一検証情報y[n]を所定の第二関数に入力した場合の出力値を行方向第一検証交点情報Hy[n]とする。そして、第一検証情報生成部222は、例えば、行方向第一検証交点情報Hy[n](n=2,…,N)を所定の第三関数に入力した場合の出力値を統合行方向第一検証情報Hyとする。第二関数は、例えばハッシュ関数又は数の入力を乗算する関数である。第三関数は、例えばハッシュ関数又は複数の入力を乗算する関数である。   For example, the first verification information generation unit 222 sets the row direction first verification intersection information Hy [n−1] and the row direction first verification information y [n], where n is an integer of n = 1,. The output value when input to a predetermined second function is defined as row direction first verification intersection information Hy [n]. Then, the first verification information generation unit 222, for example, outputs the output value when the row direction first verification intersection information Hy [n] (n = 2,..., N) is input to the predetermined third function as the integrated row direction. The first verification information Hy is assumed. The second function is, for example, a hash function or a function that multiplies a number input. The third function is, for example, a hash function or a function that multiplies a plurality of inputs.

第一検証情報生成部222は、つぎに、図4に示すように、データの1列目のN個のデータブロックを用いて列方向第一検証情報x[1]を生成し、データの2列目のN個のデータブロックを用いて列方向第一検証情報x[2]を生成し、・・・、データのM列目のN個のデータブロックを用いて列方向第一検証情報x[M]を生成する。   Next, as shown in FIG. 4, the first verification information generation unit 222 generates column direction first verification information x [1] using N data blocks in the first column of data, Column-direction first verification information x [2] is generated using N data blocks in the column, and so on ... Column-direction first verification information x using N data blocks in the M-th column of data Generate [M].

第一検証情報生成部222は、例えば、mをm=1,…,Mの各整数として、データのm列目のN個のデータブロックを所定の第四関数に入力した場合の出力値を列方向第一検証情報x[m]とする。第四関数は、例えばハッシュ関数又は数の入力を乗算する関数である。   For example, the first verification information generation unit 222 sets m as integers of m = 1,..., M, and outputs an output value when N data blocks in the m-th column of data are input to a predetermined fourth function. The column direction first verification information x [m] is assumed. The fourth function is, for example, a hash function or a function that multiplies a number input.

この例では、第一検証情報生成部222は、更に、生成した列方向第一検証情報x[m](m=1,…,M)を用いて列方向第一検証交点情報Hx[m](m=2,…,M)を生成し、統合列方向第一検証情報Hxを生成する。   In this example, the first verification information generation unit 222 further uses the column direction first verification information x [m] (m = 1,..., M) to generate column direction first verification intersection information Hx [m]. (M = 2,..., M) is generated, and integrated column direction first verification information Hx is generated.

第一検証情報生成部222は、図4に示すように、列方向第一検証情報x[1]及び列方向第一検証情報x[2]を用いて列方向第一検証交点情報Hx[2]を生成し、列方向第一検証交点情報Hx[2]及び列方向第一検証情報x[3]を用いて列方向第一検証交点情報Hx[3]を生成し、・・・、列方向第一検証交点情報Hx[M-1]及び列方向第一検証情報x[M]を用いて列方向第一検証交点情報Hx[M]を生成する。そして、生成した列方向第一検証交点情報Hx[m](m=2,…,M)を用いて統合列方向第一検証情報Hxを生成する。   As illustrated in FIG. 4, the first verification information generation unit 222 uses the column direction first verification information x [1] and the column direction first verification information x [2] to perform column direction first verification intersection information Hx [2 The column direction first verification intersection information Hx [3] is generated using the column direction first verification intersection information Hx [2] and the column direction first verification information x [3]. The column direction first verification intersection information Hx [M] is generated using the direction first verification intersection information Hx [M-1] and the column direction first verification information x [M]. Then, the integrated column direction first verification information Hx is generated using the generated column direction first verification intersection information Hx [m] (m = 2,..., M).

第一検証情報生成部222は、例えば、mをm=1,…,Mの各整数として、列方向第一検証交点情報Hx[m-1]及び列方向第一検証情報x[m]を所定の第五関数に入力した場合の出力値を列方向第一検証交点情報Hx[m]とする。そして、第一検証情報生成部222は、例えば、列方向第一検証交点情報Hx[m](m=2,…,M)を所定の第六関数に入力した場合の出力値を統合列方向第一検証情報Hxとする。第五関数は、例えばハッシュ関数又は数の入力を乗算する関数である。第六関数は、例えばハッシュ関数又は複数の入力を乗算する関数である。   For example, the first verification information generation unit 222 sets the column direction first verification intersection information Hx [m−1] and the column direction first verification information x [m], where m is an integer of m = 1,. The output value when input to the predetermined fifth function is the column direction first verification intersection information Hx [m]. Then, the first verification information generation unit 222, for example, outputs the output value when the column direction first verification intersection information Hx [m] (m = 2,..., M) is input to the predetermined sixth function. The first verification information is Hx. The fifth function is, for example, a hash function or a function that multiplies a number input. The sixth function is, for example, a hash function or a function that multiplies a plurality of inputs.

第一検証情報生成部222は、最後に、生成した統合行方向第一検証情報Hy及び統合列方向第一検証情報Hxを用いて統合第一検証情報Hrootを生成する。   Finally, the first verification information generation unit 222 generates integrated first verification information Hroot using the generated integrated row direction first verification information Hy and integrated column direction first verification information Hx.

第一検証情報生成部222は、例えば、統合行方向第一検証情報Hy及び統合列方向第一検証情報Hxを所定の第七関数に入力した場合の出力値を統合第位置検証情報Hrootとする。第七関数は、例えばハッシュ関数又は数の入力を乗算する関数である。   For example, the first verification information generation unit 222 sets the output value when the integrated row direction first verification information Hy and the integrated column direction first verification information Hx are input to the predetermined seventh function as the integrated first position verification information Hroot. . The seventh function is, for example, a hash function or a function that multiplies a number input.

図5に、第一検証情報生成部222が、行方向第一検証情報y[n]、行方向第一検証交点情報Hy[n]、統合行方向第一検証情報Hy、列方向第一検証情報x[m]、列方向第一検証交点情報Hx[m]、統合列方向第一検証情報Hx及び統合第一検証情報Hrootを生成する具体例を示す。この例では、データはN行×M列に分割されているN×M個のデータブロックから構成されており、hを任意のハッシュ関数とし、nをn=1,…,Nの各整数とし、mをm=1,…,Mの各整数とし、データのn行目のm列目のデータブロックをD[n][m]とし、データのn行目のM個のデータブロックをDy[n]={D[n][1],D[n][2],…,D[n][M]}とし、データのm列目のN個のデータブロックをDx[m]={D[1][m],D[2][m],…,D[N][m]}とする。第一検証情報生成部222は、行方向第一検証情報y[n]を、y[n]=h(Dy[n])として求め、行方向第一検証交点情報Hy[n]を、Hy[n]=h(Hy[n-1]|Hy[n])として求め、統合行方向第一検証情報Hyを、N-1番目の行方向第一検証交点情報Hy[N]とする。また、列方向第一検証情報x[m]を、x[m]=h(Dx[m])として求め、列方向第一検証交点情報Hx[m]を、Hx[m]=h(Hx[m-1]|Hx[m])として求め、統合列方向第一検証情報Hxを、M-1番目の列方向第一検証交点情報Hx[M]とする。そして、統合第一検証情報Hrootを、Hroot=h(Hy|Hx)として求める。ここで、「|(パイプ記号)」は連結操作を表す演算子である。   In FIG. 5, the first verification information generation unit 222 performs row direction first verification information y [n], row direction first verification intersection information Hy [n], integrated row direction first verification information Hy, column direction first verification. A specific example of generating information x [m], column direction first verification intersection information Hx [m], integrated column direction first verification information Hx, and integrated first verification information Hroot is shown. In this example, the data is composed of N × M data blocks divided into N rows × M columns, where h is an arbitrary hash function, and n is an integer of n = 1,..., N. , M is an integer of m = 1,..., M, the data block of the mth column of the data n is D [n] [m], and the M data blocks of the nth row of data are Dy [n] = {D [n] [1], D [n] [2], ..., D [n] [M]}, and the N data blocks in the m-th column of data are Dx [m] = Let {D [1] [m], D [2] [m], ..., D [N] [m]}. The first verification information generation unit 222 obtains the row direction first verification information y [n] as y [n] = h (Dy [n]), and obtains the row direction first verification intersection information Hy [n] as Hy. [n] = h (Hy [n-1] | Hy [n]) is obtained, and the integrated row direction first verification information Hy is set as the (N-1) th row direction first verification intersection information Hy [N]. Further, the column direction first verification information x [m] is obtained as x [m] = h (Dx [m]), and the column direction first verification intersection information Hx [m] is determined as Hx [m] = h (Hx [m-1] | Hx [m]), and the integrated column direction first verification information Hx is set as the (M-1) th column direction first verification intersection information Hx [M]. Then, the integrated first verification information Hroot is obtained as Hroot = h (Hy | Hx). Here, “| (pipe symbol)” is an operator representing a concatenation operation.

第一検証情報生成部222は、生成した行方向第一検証情報y[n]、列方向第一検証情報x[m]、行方向第一検証交点情報Hy[n]、列方向第一検証交点情報Hx[m]、統合行方向第一検証情報Hy、統合列方向第一検証情報Hx及び統合第一検証情報Hrootを第二記憶部に記憶させる。統合第一検証情報Hrootは、TSAクライアント部31に送信される。   The first verification information generation unit 222 generates the generated first row direction verification information y [n], first column direction verification information x [m], first row direction verification intersection information Hy [n], first column direction verification. The intersection information Hx [m], integrated row direction first verification information Hy, integrated column direction first verification information Hx, and integrated first verification information Hroot are stored in the second storage unit. The integrated first verification information Hroot is transmitted to the TSA client unit 31.

TSAクライアント部31は、統合第一検証情報Hrootを含むタイムスタンプ要求(TSA要求)を生成して、TSAサーバ32に送信する(ステップS31)。   The TSA client unit 31 generates a time stamp request (TSA request) including the integrated first verification information Hroot, and transmits it to the TSA server 32 (step S31).

TSAサーバ32は、受信したTSA要求に含まれる統合第一検証情報Hrootに時刻情報を付加して、時刻情報が付加された第一検証情報HrootをTSAサーバ32の秘密鍵で署名して、タイムスタンプ応答(TSA応答)を生成する。TSAサーバ32は、生成したTSA応答をTSAクライアント部31に送信する(ステップS32)。   The TSA server 32 adds time information to the integrated first verification information Hroot included in the received TSA request, signs the first verification information Hroot with the time information added with the private key of the TSA server 32, and sets the time A stamp response (TSA response) is generated. The TSA server 32 transmits the generated TSA response to the TSA client unit 31 (step S32).

TSAクライアント部31は、TSA応答を受信して、第二記憶部24に記憶させる。   The TSA client unit 31 receives the TSA response and stores it in the second storage unit 24.

TSAクライアント部31とTSAサーバ32とでTSA要求及びTSA応答を送受信する詳細な手順は、例えば、「“Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP)”、[online]、[平成25年4月3日検索]、インターネット<URL:http://www.ietf.org/rfc/rfc3161.txt>(参照文献1)」に記載されている。   A detailed procedure for transmitting and receiving a TSA request and a TSA response between the TSA client unit 31 and the TSA server 32 is, for example, ““ Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP) ”, [online], [2013]. April 3, 2009], Internet <URL: http://www.ietf.org/rfc/rfc3161.txt> (reference document 1) ”.

以下、第一記憶部23に記憶されているデータの改ざん箇所を検知する方法について説明する。   Hereinafter, a method for detecting a falsified portion of data stored in the first storage unit 23 will be described.

検証情報生成部22の第二検証情報生成部223は、任意のタイミングにおいて、第一記憶部23から読み込んだデータのn行目のM個のデータブロックを用いて行方向第二検証情報y’[n]を生成し、第一記憶部23から読み込んだデータのm列目のN個のデータブロックを用いて列方向第二検証情報x’[m]を生成する(ステップS223)。   The second verification information generation unit 223 of the verification information generation unit 22 uses the M data blocks in the nth row of the data read from the first storage unit 23 at an arbitrary timing to perform the row direction second verification information y ′. [n] is generated, and column direction second verification information x ′ [m] is generated using the N data blocks in the m-th column of the data read from the first storage unit 23 (step S223).

任意のタイミングとは、例えば、(1)ある一定の任意の時間が経過した定時的な場合、(2)データが一定量蓄積された定量的な場合、(3)外部からシステムへの侵入が検知された場合、(4)データへのアクセス権所有者がシステムにログイン/ログアウトした場合、(5)システム管理者がシステムにログイン/ログアウトした場合、等である。   Arbitrary timing is, for example, (1) a fixed time when a certain arbitrary time has elapsed, (2) a quantitative case where a certain amount of data is accumulated, and (3) an intrusion to the system from the outside. When detected, (4) when the owner of data access right logs in / out of the system, (5) when the system administrator logs in / out of the system, etc.

第二検証情報生成部223は、まず、データの1行目のM個のデータブロックを用いて行方向第二検証情報y’[1]を生成し、データの2行目のM個のデータブロックを用いて行方向第二検証情報y’[2]を生成し、・・・、データのN行目のM個のデータブロックを用いて行方向第二検証情報y’[N]を生成する。   First, the second verification information generation unit 223 generates row direction second verification information y ′ [1] using M data blocks in the first row of data, and M data in the second row of data. Generate row direction second verification information y '[2] using a block, ..., generate row direction second verification information y' [N] using M data blocks in the Nth row of data To do.

第二検証情報生成部223は、例えば、nをn=1,…,Nの各整数として、データのn行目のM個のデータブロックを上述の第一関数に入力した場合の出力値を行方向第二検証情報y’[n]とする。   For example, the second verification information generation unit 223 sets an output value when M data blocks in the n-th row of data are input to the first function, where n is an integer of n = 1,. The row direction second verification information y ′ [n] is used.

この例では、第二検証情報生成部223は、更に、生成した行方向第二検証情報y’[n](n=1,…,N)を用いて行方向第二検証交点情報H’y[n](n=2,…,N)を生成し、これらを用いて統合行方向第二検証情報H’yを生成する。   In this example, the second verification information generation unit 223 further uses the generated row direction second verification information y ′ [n] (n = 1,..., N) to perform row direction second verification intersection information H′y. [n] (n = 2,..., N) is generated, and the integrated row direction second verification information H′y is generated using these.

第二検証情報生成部223は、行方向第二検証情報y’[1]及び行方向第二検証情報y’[2]を用いて行方向第二検証交点情報H’y[2]を生成し、行方向第二検証交点情報H’y[2]及び行方向第二検証情報y’[3]を用いて行方向第二検証交点情報H’y[3]を生成し、・・・、行方向第二検証交点情報H’y[N-1]及び行方向第二検証情報y’[N]を用いて行方向第二検証交点情報H’y[N]を生成する。そして、生成した行方向第二検証交点情報H’y[n](n=2,…,N)を用いて統合行方向第二検証情報H’yを生成する。   The second verification information generation unit 223 generates row direction second verification intersection information H′y [2] using the row direction second verification information y ′ [1] and the row direction second verification information y ′ [2]. Then, using the row direction second verification intersection information H′y [2] and the row direction second verification information y ′ [3], the row direction second verification intersection information H′y [3] is generated, and so on. The row direction second verification intersection information H′y [N] is generated using the row direction second verification intersection information H′y [N−1] and the row direction second verification intersection information y ′ [N]. Then, the integrated row direction second verification information H′y is generated using the generated row direction second verification intersection information H′y [n] (n = 2,..., N).

第二検証情報生成部223は、例えば、nをn=1,…,Nの各整数として、行方向第二検証交点情報H’y[n-1]及び行方向第二検証情報y’[n]を上述の第二関数に入力した場合の出力値を行方向第二検証交点情報H’y[n]とする。そして、第二検証情報生成部223は、例えば、行方向第二検証交点情報H’y[n](n=2,…,N)を上述の第三関数に入力した場合の出力値を統合行方向第二検証情報H’yとする。   For example, the second verification information generation unit 223 sets n as integers of n = 1,..., N, and the row direction second verification intersection information H′y [n−1] and the row direction second verification information y ′ [ The output value when n] is input to the second function is the row direction second verification intersection information H′y [n]. Then, the second verification information generation unit 223, for example, integrates the output values when the row direction second verification intersection information H′y [n] (n = 2,..., N) is input to the above third function. The row direction second verification information is H'y.

第二検証情報生成部223は、つぎに、データの1列目のN個のデータブロックを用いて列方向第二検証情報x’[1]を生成し、データの2列目のN個のデータブロックを用いて列方向第二検証情報x’[2]を生成し、・・・、データのM列目のN個のデータブロックを用いて列方向第二検証情報x’[M]を生成する。   Next, the second verification information generation unit 223 generates column direction second verification information x ′ [1] using the N data blocks in the first column of data, and generates N pieces of data in the second column of data. The column direction second verification information x ′ [2] is generated using the data block, and the column direction second verification information x ′ [M] is generated using the N data blocks in the Mth column of the data. Generate.

第二検証情報生成部223は、例えば、mをm=1,…,Mの各整数として、データのm列目のN個のデータブロックを上述の第四関数に入力した場合の出力値を列方向第二検証情報x’[m]とする。   For example, the second verification information generation unit 223 sets m as integers of m = 1,..., M, and outputs an output value when N data blocks in the m-th column of data are input to the above fourth function. The column direction second verification information x ′ [m] is assumed.

この例では、第二検証情報生成部223は、更に、生成した列方向第二検証情報x’[m](m=1,…,M)を用いて列方向第二検証交点情報H’x[m](m=2,…,M)を生成し、統合列方向第二検証情報H’xを生成する。   In this example, the second verification information generation unit 223 further uses the generated column direction second verification information x ′ [m] (m = 1,..., M) to generate column direction second verification intersection information H′x. [m] (m = 2,..., M) is generated, and integrated column direction second verification information H′x is generated.

第二検証情報生成部223は、列方向第二検証情報x’[1]及び列方向第二検証情報x’[2]を用いて列方向第二検証交点情報H’x[2]を生成し、列方向第二検証交点情報H’x[2]及び列方向第二検証情報x’[3]を用いて列方向第二検証交点情報H’x[3]を生成し、・・・、列方向第二検証交点情報H’x[M-1]及び列方向第二検証情報x’[M]を用いて列方向第二検証交点情報H’x[M]を生成する。そして、生成した列方向第二検証交点情報H’x[m](m=2,…,M)を用いて統合列方向第二検証情報H’xを生成する。   The second verification information generation unit 223 generates column direction second verification intersection information H′x [2] using the column direction second verification information x ′ [1] and the column direction second verification information x ′ [2]. Then, column-direction second verification intersection information H′x [3] is generated using the column-direction second verification intersection information H′x [2] and the column-direction second verification information x ′ [3], and so on. The column direction second verification intersection information H′x [M] is generated using the column direction second verification intersection information H′x [M−1] and the column direction second verification intersection information x ′ [M]. Then, the generated column direction second verification intersection information H′x [m] (m = 2,..., M) is used to generate integrated column direction second verification information H′x.

第二検証情報生成部223は、例えば、mをm=1,…,Mの各整数として、列方向第二検証交点情報Hx[m-1]及び列方向第二検証情報x[m]を上述の第五関数に入力した場合の出力値を列方向第二検証交点情報H’x[m]とする。そして、第二検証情報生成部223は、例えば、列方向第二検証交点情報H’x[m](m=2,…,M)を所定の第六関数に入力した場合の出力値を統合列方向第二検証情報H’xとする。   For example, the second verification information generation unit 223 sets the column direction second verification intersection information Hx [m−1] and the column direction second verification information x [m], where m is an integer of m = 1,. The output value when input to the fifth function is the column direction second verification intersection information H′x [m]. Then, for example, the second verification information generation unit 223 integrates output values when the column direction second verification intersection information H′x [m] (m = 2,..., M) is input to a predetermined sixth function. The column direction second verification information H′x.

第二検証情報生成部223は、最後に、生成した統合行方向第二検証情報H’y及び統合列方向第二検証情報H’xを用いて統合第二検証情報H’rootを生成する。   Finally, the second verification information generation unit 223 generates integrated second verification information H′root using the generated integrated row direction second verification information H′y and integrated column direction second verification information H′x.

第二検証情報生成部223は、例えば、統合行方向第二検証情報H’y及び統合列方向第二検証情報H’xを上述の第七関数に入力した場合の出力値を統合第二検証情報H’rootとする。   For example, the second verification information generation unit 223 integrates the output values when the integrated row direction second verification information H′y and the integrated column direction second verification information H′x are input to the seventh function described above. Information H'root.

生成された行方向第二検証情報y’[n]、列方向第二検証情報x’[m]、行方向第二検証交点情報Hy’[n]、列方向第二検証交点情報x’[m]、統合行方向第二検証情報H’y、統合列方向第二検証情報H’x及び統合第二検証情報H’rootは、検証部25に送信される。   Row direction second verification information y ′ [n], column direction second verification information x ′ [m], row direction second verification intersection information Hy ′ [n], column direction second verification intersection information x ′ [ m], integrated row direction second verification information H′y, integrated column direction second verification information H′x, and integrated second verification information H′root are transmitted to the verification unit 25.

また、TSAクライアント部31は、第二記憶部24から読み込んだTSA応答をTSAサーバ32の公開鍵を用いて復号し、統合第一検証情報Hrootを生成する。生成した統合第一検証情報Hrootは、検証部25に送信される。   In addition, the TSA client unit 31 decrypts the TSA response read from the second storage unit 24 using the public key of the TSA server 32, and generates integrated first verification information Hroot. The generated integrated first verification information Hroot is transmitted to the verification unit 25.

検証部25は、この例ではまず、TSAクライアント部31が生成した統合第一検証情報Hrootが、第二検証情報生成部223が生成した統合第二検証情報H’rootに一致するかどうかを検証する(図2のステップS25、図6のステップy1、図7のステップx1)。統合第一検証情報Hrootが統合第二検証情報H’rootに一致する場合には、TSA要求を復号したときに得られた時刻情報が示す時刻において、データが存在し、そのデータが改ざんされていないことが証明される。統合第一検証情報Hrootが統合第二検証情報H’rootに一致しない場合には、データが変更又は改ざんされたことが証明される。この場合、検証部25は、以下に述べる、行方向のデータの改ざんの検知及び列方向のデータの改ざんの検知を行う。   In this example, the verification unit 25 first verifies whether the integrated first verification information Hroot generated by the TSA client unit 31 matches the integrated second verification information H′root generated by the second verification information generation unit 223. (Step S25 in FIG. 2, Step y1 in FIG. 6, Step x1 in FIG. 7). If the integrated first verification information Hroot matches the integrated second verification information H'root, the data exists at the time indicated by the time information obtained when the TSA request is decoded, and the data has been falsified. Proven not. If the integrated first verification information Hroot does not match the integrated second verification information H'root, it is proved that the data has been changed or altered. In this case, the verification unit 25 detects the alteration of the data in the row direction and the alteration of the data in the column direction, which will be described below.

以下、図6を参照して、行方向のデータの改ざんの検知について説明する。   Hereinafter, detection of falsification of data in the row direction will be described with reference to FIG.

検証部25は、統合第一検証情報Hrootが、統合第二検証情報H’rootに一致するかどうかを検証する(ステップy1)。統合第一検証情報Hrootが統合第二検証情報H’rootに一致しない場合には、第二記憶部24から読み込んだ統合行方向第一検証情報Hyが、第二検証情報生成部223が生成した統合行方向第二検証情報H’yに一致するかどうかを検証する(ステップy2)。   The verification unit 25 verifies whether the integrated first verification information Hroot matches the integrated second verification information H′root (step y1). If the integrated first verification information Hroot does not coincide with the integrated second verification information H'root, the integrated verification information Hy that has been read from the second storage unit 24 is generated by the second verification information generation unit 223. It is verified whether or not the integrated row direction second verification information H′y matches (step y2).

統合第一検証情報Hrootが統合第二検証情報H’rootに一致していないにもかかわらず、統合行方向第一検証情報Hyが統合行方向第二検証情報H’yに一致することはシステム設計上あり得ない。統合行方向第一検証情報Hyが統合行方向第二検証情報H’yに一致する場合には、システムに不具合などが生じたことが原因と考えられるため、システムユーザに対してエラーを上げる(ステップy3)。システムユーザに対してエラーを上げる手段としては、GUI画面にアラーム表示するなど周知の方法で構わない。   Although the integrated first verification information Hroot does not match the integrated second verification information H'root, the integrated row direction first verification information Hy matches the integrated row direction second verification information H'y. There is no design. If the integrated row direction first verification information Hy matches the integrated row direction second verification information H'y, it is considered that a problem has occurred in the system, so an error is raised to the system user ( Step y3). As a means for raising an error to the system user, a known method such as displaying an alarm on the GUI screen may be used.

統合行方向第一検証情報Hyが統合行方向第二検証情報H’yに一致しない場合には、ステップy4に進む。   If the integrated row direction first verification information Hy does not match the integrated row direction second verification information H′y, the process proceeds to step y4.

検証部25は、行方向第一検証情報y[N]が、行方向第二検証情報y’[N]に一致するかどうかを検証する(ステップy4)。一致しない場合には、検証部25はその比較結果を記憶する(ステップy5)。   The verification unit 25 verifies whether or not the row direction first verification information y [N] matches the row direction second verification information y ′ [N] (step y4). If they do not match, the verification unit 25 stores the comparison result (step y5).

検証部25は、行方向第一検証交点情報Hy[N-1]が行方向第二検証交点情報H’y[N-1]に一致するかどうかを検証する(ステップy6)。一致する場合には、以降のデータに改ざんはないことを示しているため、行方向の改ざんを検知する処理を終了する。一致しない場合には、行方向第一検証情報y[N-1]が、行方向第二検証情報y’[N-1]に一致するかどうかを検証する(ステップy7)。一致しない場合には、検証部25はその比較結果を記憶する(ステップy8)。   The verification unit 25 verifies whether or not the row direction first verification intersection information Hy [N-1] matches the row direction second verification intersection information H'y [N-1] (step y6). If they match, it indicates that the subsequent data has not been tampered with, and therefore the process of detecting tampering in the row direction is terminated. If they do not match, it is verified whether or not the row direction first verification information y [N-1] matches the row direction second verification information y '[N-1] (step y7). If they do not match, the verification unit 25 stores the comparison result (step y8).

検証部25は、同様にして、n=N-2,…,1について、行方向第一検証交点情報Hy[n]が行方向第二検証交点情報H’y[n]に一致するかどうかを検証する。行方向第一検証交点情報Hy[n]が行方向第二検証交点情報H’y[n]に一致する場合には、行方向の改ざんを検知する処理を終了する。行方向第一検証交点情報Hy[n]が行方向第二検証交点情報H’y[n]に一致しない場合には、更に、行方向第一検証情報y[n]が行方向第二検証情報y’[n]に一致するかどうかを検証する。行方向第一検証情報y[n]が行方向第二検証情報y’[n]に一致しない場合には検証部25はその比較結果を記憶する。   Similarly, the verification unit 25 determines whether or not the row direction first verification intersection information Hy [n] matches the row direction second verification intersection information H′y [n] for n = N−2,. To verify. When the row direction first verification intersection information Hy [n] matches the row direction second verification intersection information H′y [n], the processing for detecting the row direction alteration is terminated. When the row direction first verification intersection information Hy [n] does not match the row direction second verification intersection information H'y [n], the row direction first verification information y [n] is further changed to the row direction second verification information. It is verified whether or not the information y ′ [n] matches. If the first verification information y [n] in the row direction does not match the second verification information y ′ [n] in the row direction, the verification unit 25 stores the comparison result.

検証部25は、このようにして、第二記憶部24から読み込んだ行方向第一検証情報y[n]が、第二検証情報生成部223が生成した行方向第二検証情報y’[n]に一致するかどうかを検証する。   In this way, the verification unit 25 uses the row direction second verification information y ′ [n] generated by the second verification information generation unit 223 as the row direction first verification information y [n] read from the second storage unit 24. ] Is verified.

以下、図7を参照して、列方向のデータの改ざんの検知について説明する。   Hereinafter, detection of alteration of data in the column direction will be described with reference to FIG.

検証部25は、統合第一検証情報Hrootが、統合第二検証情報H’rootに一致するかどうかを検証する(ステップx1)。統合第一検証情報Hrootが統合第二検証情報H’rootに一致しない場合には、第二記憶部24から読み込んだ統合列方向第一検証情報Hxが、第二検証情報生成部223が生成した統合列方向第二検証情報H’xに一致するかどうかを検証する(ステップx2)。   The verification unit 25 verifies whether the integrated first verification information Hroot matches the integrated second verification information H′root (step x1). If the integrated first verification information Hroot does not match the integrated second verification information H′root, the second verification information generation unit 223 generates the integrated column direction first verification information Hx read from the second storage unit 24. It is verified whether or not it matches the integrated column direction second verification information H′x (step x2).

統合第一検証情報Hrootが統合第二検証情報H’rootに一致していないにもかかわらず、統合列方向第一検証情報Hxが統合列方向第二検証情報H’xに一致することはシステム設計上あり得ない。統合列方向第一検証情報Hxが統合列方向第二検証情報H’xに一致する場合には、システムに不具合などが生じたことが原因と考えられるため、システムユーザに対してエラーを上げる(ステップx3)。   The integrated column direction first verification information Hx matches the integrated column direction second verification information H'x even though the integrated first verification information Hroot does not match the integrated second verification information H'root. There is no design. If the integrated column direction first verification information Hx matches the integrated column direction second verification information H′x, it is considered that a problem or the like has occurred in the system, so an error is given to the system user ( Step x3).

統合列方向第一検証情報Hxが統合列方向第二検証情報H’xに一致しない場合には、ステップx4に進む。   If the integrated column direction first verification information Hx does not match the integrated column direction second verification information H′x, the process proceeds to step x4.

検証部25は、列方向第一検証情報x[M]が、列方向第二検証情報x’[M]に一致するかどうかを検証する(ステップx4)。一致しない場合には、検証部25はその比較結果を記憶する(ステップx5)。   The verification unit 25 verifies whether the column direction first verification information x [M] matches the column direction second verification information x ′ [M] (step x4). If they do not match, the verification unit 25 stores the comparison result (step x5).

検証部25は、列方向第一検証交点情報Hx[M-1]が、列方向第二検証交点情報H’x[M-1]に一致するかどうかを検証する(ステップx6)。一致する場合には、以降のデータに改ざんはないことを表しているため、列方向の改ざんを検知する処理を終了する。一致しない場合には、列方向第一検証情報x[M-1]が、列方向第二検証情報x’[M-1]に一致するかどうかを検証する(ステップx7)。一致しない場合には、検証部25はその比較結果を記憶する(ステップy8)。   The verification unit 25 verifies whether or not the column direction first verification intersection information Hx [M-1] matches the column direction second verification intersection information H′x [M−1] (step x6). If they match, it means that the subsequent data has not been tampered with, and therefore the processing for detecting tampering in the column direction is terminated. If they do not match, it is verified whether the column direction first verification information x [M-1] matches the column direction second verification information x '[M-1] (step x7). If they do not match, the verification unit 25 stores the comparison result (step y8).

検証部25は、同様にして、m=M-2,…,1について、列方向第一検証交点情報Hx[m]が列方向第二検証交点情報Hx’[m]に一致するかどうかを検証する。列方向第一検証交点情報Hx[m]が列方向第二検証交点情報H’x[m]に一致する場合には、列方向の改ざんを検知する処理を終了する。列方向第一検証交点情報Hx[m]が列方向第二検証交点情報H’x[m]に一致しない場合には、更に、列方向第一検証情報x[m]が列方向第二検証情報x’[m]に一致するかどうかを検証する。列方向第一検証情報x[m]が列方向第二検証情報x’[m]に一致しない場合には検証部25はその比較結果を記憶する。   Similarly, the verification unit 25 determines whether or not the column direction first verification intersection information Hx [m] matches the column direction second verification intersection information Hx ′ [m] for m = M−2,. Validate. If the column direction first verification intersection information Hx [m] matches the column direction second verification intersection information H′x [m], the processing for detecting the column direction alteration is terminated. If the column direction first verification intersection information Hx [m] does not match the column direction second verification intersection information H′x [m], the column direction first verification information x [m] is further determined by the column direction second verification. It is verified whether or not it matches information x '[m]. If the column direction first verification information x [m] does not match the column direction second verification information x ′ [m], the verification unit 25 stores the comparison result.

検証部25は、このようにして、第二記憶部24から読み込んだ列方向第一検証情報x[m]が、第二検証情報生成部223が生成した列方向第二検証情報x’[m]に一致するかどうかを検証する。各検証情報の比較結果の集合である検証結果は復元部26に送信される。   In this way, the verification unit 25 uses the column direction second verification information x ′ [m] generated by the second verification information generation unit 223 as the column direction first verification information x [m] read from the second storage unit 24. ] Is verified. A verification result that is a set of comparison results of each verification information is transmitted to the restoration unit 26.

復元部26は、検証結果に基づいてデータが改ざんされた可能性がある箇所それぞれについて、行方向変換値から復元した行方向復元値が列方向変換値から復元した列方向復元値に一致するかどうかを検証する(ステップS26)。   The restoration unit 26 determines whether the row direction restoration value restored from the row direction transformation value matches the column direction restoration value restored from the column direction transformation value for each portion where the data may be falsified based on the verification result. Whether or not is verified (step S26).

復元部26は、例えば、検証結果がn行目のm列目のデータブロックが改ざんされた可能性があることを示しているとして、行方向変換値Cy[n-1]と行方向変換値Cy[n]との排他的論理和を計算することで行方向復元値Ey[n][m]を生成し、列方向変換値Cx[n][m-1]と列方向変換値Cx[n][m]との排他的論理和を計算することで列方向復元値Ex[n][m]を生成する。このとき、n-1行目のm列目のデータブロックが改ざんされた可能性がある場合、もしくはn行目のm-1列目のデータブロックが改ざんされた可能性がある場合には、先に、n-1行目のm列目のデータブロックもしくはn行目のm-1列目のデータブロックを復元しなければならない。したがって、検証結果が複数のデータブロックが改ざんされたことを示している場合には、n及びmの値が小さいデータブロックから順番に復元していけばよい。   For example, the restoration unit 26 assumes that the verification result may indicate that the data block of the mth column of the nth row has been tampered with, and the row direction conversion value Cy [n-1] and the row direction conversion value A row-direction restoration value Ey [n] [m] is generated by calculating an exclusive OR with Cy [n], and a column-direction conversion value Cx [n] [m-1] and a column-direction conversion value Cx [ The column direction restoration value Ex [n] [m] is generated by calculating exclusive OR with n] [m]. At this time, if there is a possibility that the data block of the (m-1) th row and the mth column is falsified, or if there is a possibility that the data block of the (m-1) th row is falsified, First, it is necessary to restore the data block of the (m-1) th row and the mth column or the data block of the (m-1) th row. Therefore, when the verification result indicates that a plurality of data blocks have been falsified, it is only necessary to restore the data blocks in order from the data block having the smallest values of n and m.

復元部26は、生成した行方向復元値Ey[n][m]が列方向変換値Cx[n][m]に一致するかどうか検証し、一致する場合には、そのデータブロックが改ざんされていたものとしてn行目のm列目のデータブロックを列方向変換値Cx[n][m]もしくは列方向復元値Ex[n][m]で更新する。一致しない場合には、そのデータブロックは実際には改ざんされていなかったことを表しているため、n行目のm列目のデータブロックを元に戻す。   The restoration unit 26 verifies whether or not the generated row direction restoration value Ey [n] [m] matches the column direction conversion value Cx [n] [m]. If they match, the data block is falsified. As a result, the data block of the mth column of the nth row is updated with the column direction conversion value Cx [n] [m] or the column direction restoration value Ex [n] [m]. If they do not match, it means that the data block was not actually altered, so the data block in the mth column of the nth row is restored.

復元部26は、同様に、検証結果からデータが改ざんされた可能性が示されている全てのデータブロックについて、行方向変換値及び列方向変換値を用いたデータブロックの復元を行い、そのデータブロックが実際に改ざんされていたか否かを検証する。   Similarly, the restoration unit 26 restores the data block using the row direction conversion value and the column direction conversion value for all the data blocks in which the possibility that the data is falsified from the verification result, and the data Verify whether the block was actually tampered with.

以下、復元部26の処理により、証拠性情報残存率を正確に算出することができる理由について説明する。   Hereinafter, the reason why the evidence information remaining rate can be accurately calculated by the processing of the restoration unit 26 will be described.

復元部26は検証部25の生成した検証結果に基づいてデータが改ざんされた可能性がある箇所の特定を行うことができる。例えば、図8に示すように、y[5]≠y’[5]かつx[4]=x’[4]であり、それ以外の部分では一致した場合、5行目の4列目のデータブロックに改ざん又は変更があったことがわかる。また、例えば、図9に示すように、y[2]≠y’[2]かつy[4]≠y’[4]かつx[2]=x’[2]かつx[5]=x’[5]であり、それ以外の部分では一致した場合、2行目の2列目のデータブロック、2行目の4列目のデータブロック、5行目の2列目のデータブロック及び5行目の4列目のデータブロックに改ざん又は変更があった可能性があることがわかる。   The restoration unit 26 can specify a location where the data may be falsified based on the verification result generated by the verification unit 25. For example, as shown in FIG. 8, if y [5] ≠ y ′ [5] and x [4] = x ′ [4], and other portions match, the fourth column of the fifth row It can be seen that the data block has been tampered with or changed. Also, for example, as shown in FIG. 9, y [2] ≠ y ′ [2] and y [4] ≠ y ′ [4] and x [2] = x ′ [2] and x [5] = x If it is' [5] and matches otherwise, the data block in the second row, the second column, the data block in the second row, the data column in the fourth column, the data block in the second row in the second row, and 5 It can be seen that the data block in the fourth column of the row may have been altered or changed.

このとき、複数のデータブロックに改ざんがあった場合には、実際に改ざんが行われた箇所のみを特定することができない。具体的には、i個のデータブロックが改ざんされた場合、i2個のデータブロックが改ざん箇所として特定されてしまう。例えば、図9の例において、太線で囲われた2行目の2列目のデータブロック及び5行目の4列目のデータブロックの2つのデータブロックのみが改ざんされていた場合には、一点鎖線で囲われた2行目の4列目のデータブロック及び5行目の2列目のデータブロックは実際には改ざんされていないにも関わらず改ざんされた可能性があるとして特定されてしまう。これにより改ざんされた情報の中で信頼できる情報の割合を示す証拠性情報残存率が実際よりも低く算出されてしまう。 At this time, when a plurality of data blocks are falsified, it is not possible to specify only the part where the falsification has actually been performed. Specifically, when i data blocks have been tampered with, i 2 data blocks are identified as tampered locations. For example, in the example of FIG. 9, if only two data blocks of the second row of data blocks in the second row and the data block of the fourth column in the fifth row surrounded by a thick line are falsified, The data block in the 4th column of the 2nd row and the data block in the 2nd column of the 5th row surrounded by a chain line will be specified as having been possibly altered even though they have not actually been altered. . As a result, the evidence information remaining rate indicating the ratio of reliable information among the altered information is calculated to be lower than actual.

復元部26により特定された改ざん箇所それぞれについて行方向変換値Cy[n]及び列方向変換値Cx[n][m]を用いて復元した値を確認することで、実際に改ざんされた箇所のみを改ざんされたデータブロックとして特定することができる。これにより、改ざんされたデータブロックの数をより正確に把握することができる。したがって、証拠性情報残存率を正確に算出することが可能になる。   By confirming the restored values using the row-direction conversion value Cy [n] and the column-direction conversion value Cx [n] [m] for each of the falsification points specified by the restoration unit 26, only the portions that have been actually falsified Can be identified as an altered data block. Thereby, the number of data blocks that have been tampered with can be grasped more accurately. Therefore, it is possible to accurately calculate the evidence information remaining rate.

[プログラム、記録媒体]
この発明は上述の実施形態に限定されるものではなく、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。上記実施例において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
[Program, recording medium]
The present invention is not limited to the above-described embodiment, and it goes without saying that modifications can be made as appropriate without departing from the spirit of the present invention. The various processes described in the above-described embodiments are not only executed in time series according to the order described, but may be executed in parallel or individually as required by the processing capability of the apparatus that executes the processes.

また、上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。   When various processing functions in each device described in the above embodiment are realized by a computer, the processing contents of the functions that each device should have are described by a program. Then, by executing this program on a computer, various processing functions in each of the above devices are realized on the computer.

この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。   The program describing the processing contents can be recorded on a computer-readable recording medium. As the computer-readable recording medium, for example, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used.

また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。   The program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.

このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。   A computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. When executing the process, the computer reads a program stored in its own recording medium and executes a process according to the read program. As another execution form of the program, the computer may directly read the program from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer. Each time, the processing according to the received program may be executed sequentially. Also, the program is not transferred from the server computer to the computer, and the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. It is good. Note that the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).

また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。   In this embodiment, the present apparatus is configured by executing a predetermined program on a computer. However, at least a part of these processing contents may be realized by hardware.

1 データ発生部
2 データ処理装置
21 データ収集部
221 変換値生成部
222 第一検証情報生成部
223 第二検証情報生成部
22 検証情報生成部
23 第一記憶部
24 第二記憶部
25 検証部
26 復元部
3 時刻情報付加部
31 TSAクライアント部
32 TSAサーバ
DESCRIPTION OF SYMBOLS 1 Data generation part 2 Data processing apparatus 21 Data collection part 221 Conversion value generation part 222 First verification information generation part 223 Second verification information generation part 22 Verification information generation part 23 First storage part 24 Second storage part 25 Verification part 26 Restoration unit 3 Time information addition unit 31 TSA client unit 32 TSA server

Claims (7)

N,Mを2以上の所定の整数とし、n=1,…,Nとし、m=1,…,Mとし、N行×M列に分割されているN×M個のデータブロックで構成されているデータを記憶する第一記憶部と、
上記データのn行目のM個のデータブロックを用いて行方向変換値Cy[n]を生成し、上記データのn行目のm列目のデータブロックを用いて列方向変換値Cx[n][m]を生成する変換値生成部と、
上記データのn行目のM個のデータブロックを用いて行方向第一検証情報y[n]を生成し、上記データのm列目のN個のデータブロックを用いて列方向第一検証情報x[m]を生成する第一検証情報生成部と、
上記行方向変換値Cy[n]と上記列方向変換値Cx[n][m]と上記行方向第一検証情報y[n]と上記列方向第一検証情報x[m]とを記憶する第二記憶部と、
上記第一記憶部から読み込んだデータのn行目のM個のデータブロックを用いて行方向第二検証情報y’[n]を生成し、上記第一記憶部から読み込んだデータのm列目のN個のデータブロックを用いて列方向第二検証情報x’[m]を生成する第二検証情報生成部と、
上記第二記憶部から読み込んだ上記行方向第一検証情報y[n]及び上記列方向第一検証情報x[m]が、それぞれ上記行方向第二検証情報y’[n]及び上記列方向第二検証情報x’[m]に一致するかどうかを検証することで上記データの改ざん箇所を特定する検証部と、
特定された改ざん箇所それぞれについて、上記行方向変換値Cy[n]を用いてn行目のm列目のデータブロックを復元した行方向復元値Ey[n][m]が、上記列方向変換値Cx[n][m]を用いてn行目のm列目のデータブロックを復元した列方向復元値Ex[n][m]に一致するかどうかを検証する復元部と、
を含むデータ改ざん復元システム。
N, M is a predetermined integer of 2 or more, n = 1,..., N, m = 1,..., M, and is composed of N × M data blocks divided into N rows × M columns A first storage unit for storing the stored data;
A row-direction conversion value Cy [n] is generated using M data blocks in the n-th row of the data, and a column-direction conversion value Cx [n is generated using a data block in the m-th column of the n-th row. ] a conversion value generation unit for generating [m],
First direction information y [n] is generated using M data blocks in the nth row of the data, and first direction verification information is generated using N data blocks in the mth column of the data. a first verification information generation unit for generating x [m];
The row direction conversion value Cy [n], the column direction conversion value Cx [n] [m], the row direction first verification information y [n], and the column direction first verification information x [m] are stored. A second storage unit;
The row direction second verification information y ′ [n] is generated using the M data blocks in the n-th row of the data read from the first storage unit, and the m-th column of the data read from the first storage unit A second verification information generation unit that generates column direction second verification information x ′ [m] using the N data blocks;
The row direction first verification information y [n] and the column direction first verification information x [m] read from the second storage unit are the row direction second verification information y ′ [n] and the column direction, respectively. A verification unit that identifies whether or not the data has been altered by verifying whether or not the second verification information x ′ [m] matches,
For each identified alteration, the row direction restoration value Ey [n] [m] obtained by restoring the data block of the mth column of the nth row using the row direction transformation value Cy [n] is the column direction transformation. A restoration unit that verifies whether or not the column-direction restoration value Ex [n] [m] is obtained by restoring the data block of the m-th column of the n-th row using the value Cx [n] [m];
Including data falsification and restoration system.
請求項1に記載のデータ改ざん復元システムであって、
上記第一検証情報生成部は、更に、上記生成した行方向第一検証情報y[n](n=1,…,N)を用いて統合行方向第一検証情報を生成し、上記生成した列方向第一検証情報x[m](m=1,…,M)を用いて統合列方向第一検証情報を生成し、上記統合行方向第一検証情報及び上記統合列方向第一検証情報を用いて統合第一検証情報を生成し、
上記第二検証情報生成部は、更に、上記生成した行方向第二検証情報y[n](n=1,…,N)を用いて統合行方向第二検証情報を生成し、上記生成した列方向第二検証情報x[m](m=1,…,M)を用いて統合列方向第二検証情報を生成し、上記統合行方向第二検証情報及び上記統合列方向第二検証情報を用いて統合第二検証情報を生成し、
上記検証部は、更に、上記統合第一検証情報が上記統合第二検証情報に一致するかどうかを検証する
データ改ざん復元システム。
A data falsification restoration system according to claim 1,
The first verification information generation unit further generates integrated row direction first verification information using the generated row direction first verification information y [n] (n = 1,..., N), and generates the above Integrated column direction first verification information is generated using column direction first verification information x [m] (m = 1,..., M), and the integrated row direction first verification information and the integrated column direction first verification information are generated. To generate integrated first verification information,
The second verification information generation unit further generates integrated row direction second verification information using the generated row direction second verification information y [n] (n = 1,..., N), and generates the above The integrated column direction second verification information and the integrated column direction second verification information are generated using the column direction second verification information x [m] (m = 1,..., M). Is used to generate integrated second verification information,
The data verifying / restoring system, wherein the verification unit further verifies whether the integrated first verification information matches the integrated second verification information.
請求項1又は2に記載のデータ改ざん復元システムであって、
上記第一検証情報生成部は、更に、上記生成した行方向第一検証情報y[n](n=1,…,N)を用いて行方向第一検証交点情報Hy[n](n=2,…,N)を生成し、上記生成した列方向第一検証情報x[m](m=1,…,M)を用いて列方向第一検証交点情報Hx[m](m=2,…,M)を生成し、
上記第二検証情報生成部は、更に、上記生成した行方向第二検証情報y’[n](n=1,…,N)を用いて行方向第二検証交点情報H’y[n](n=2,…,N)を生成し、上記生成した列方向第二検証情報x’[m](m=1,…,M)を用いて列方向第二検証交点情報H’x[m](m=2,…,M)を生成し、
上記検証部は、更に、上記行方向第一検証交点情報Hy[n]及び上記列方向第一検証交点情報Hx[m]が、上記行方向第二検証交点情報H’y[n]及び上記列方向第二検証交点情報H’x[m]に一致するかどうかを検証する
データ改ざん復元システム。
The data falsification restoration system according to claim 1 or 2,
The first verification information generation unit further uses the generated row direction first verification information y [n] (n = 1,..., N) to perform row direction first verification intersection information Hy [n] (n = , N), and column direction first verification intersection information Hx [m] (m = 2) using the column direction first verification information x [m] (m = 1,..., M) generated above. , ..., M)
The second verification information generation unit further uses the generated row direction second verification information y ′ [n] (n = 1,..., N) to perform row direction second verification intersection information H′y [n]. (N = 2,..., N) is generated, and the column direction second verification intersection information H′x [is generated using the generated column direction second verification information x ′ [m] (m = 1,..., M). m] (m = 2, ..., M)
The verification unit further includes the row direction first verification intersection information Hy [n] and the column direction first verification intersection information Hx [m], the row direction second verification intersection information H'y [n] and the above A data falsification restoration system that verifies whether the column direction second verification intersection information H'x [m] matches.
請求項1から3のいずれかに記載のデータ改ざん復元システムであって、
上記変換値生成部は、n-1行目の行方向変換値Cy[n-1]とn行目のM個のデータブロックとの排他的論理和を計算することで上記行方向変換値Cy[n]を生成し、n行目のm-1列目の列方向変換値Cx[n][m-1]とn行目のm列目のデータブロックとの排他的論理和を計算することで上記列方向変換値Cx[n][m]を生成し、
上記復元部は、n-1行目の行方向変換値Cy[n-1]とn行目の行方向変換値Cy[n]との排他的論理和を計算することで上記行方向復元値Ey[n][m]を生成し、n行目のm-1列目の列方向変換値Cx[n][m-1]とn行目のm列目の列方向変換値Cx[n][m]との排他的論理和を計算することで上記列方向復元値Ex[n][m]を生成する
データ改ざん復元システム。
A data falsification restoration system according to any one of claims 1 to 3,
The conversion value generation unit calculates the exclusive OR of the row direction conversion value Cy [n-1] of the (n-1) th row and the M data blocks of the nth row, thereby calculating the row direction conversion value Cy. [n] is generated, and the exclusive OR of the column direction conversion value Cx [n] [m-1] of the nth row and the m-1th column and the data block of the mth column of the nth row is calculated. The above column direction conversion value Cx [n] [m] is generated,
The restoration unit calculates an exclusive OR of the row direction conversion value Cy [n-1] of the (n-1) th row and the row direction conversion value Cy [n] of the nth row, thereby calculating the row direction restoration value. Ey [n] [m] is generated, and the column direction conversion value Cx [n] [m-1] of the mth column of the nth row and the column direction conversion value Cx [n of the mth column of the nth row ] A data falsification restoration system that generates the column direction restoration value Ex [n] [m] by calculating an exclusive OR with] [m].
請求項1から4のいずれかに記載のデータ改ざん復元システムであって、
上記行方向第一検証情報y[n]及び上記列方向第一検証情報x[m]を生成した時刻についての情報である時刻情報を上記行方向第一検証情報y[n]及び上記列方向第一検証情報x[m]に付加する時刻情報付加部を更に含む、
データ改ざん復元システム。
A data falsification restoration system according to any one of claims 1 to 4,
Time information, which is information about the time at which the row direction first verification information y [n] and the column direction first verification information x [m] are generated, is represented as the row direction first verification information y [n] and the column direction. It further includes a time information addition unit to be added to the first verification information x [m].
Data falsification restoration system.
N,Mを2以上の所定の整数とし、n=1,…,Nとし、m=1,…,Mとし、データがN行×M列に分割されているN×M個のデータブロックで構成されているとして、
変換値生成部が、上記データのn行目のM個のデータブロックを用いて行方向変換値Cy[n]を生成し、上記データのn行目のm列目のデータブロックを用いて列方向変換値Cx[n][m]を生成する変換値生成ステップと、
第一検証情報生成部が、上記データのn行目のM個のデータブロックを用いて行方向第一検証情報y[n]を生成し、上記データのm列目のN個のデータブロックを用いて列方向第一検証情報x[m]を生成する第一検証情報生成ステップと、
第二検証情報生成部が、上記データのn行目のM個のデータブロックを用いて行方向第二検証情報y’[n]を生成し、上記データのm列目のN個のデータブロックを用いて列方向第二検証情報x’[m]を生成する第二検証情報生成ステップと、
検証部が、上記行方向第一検証情報y[n]及び上記列方向第一検証情報x[m]が、それぞれ上記行方向第二検証情報y’[n]及び上記列方向第二検証情報x’[m]に一致するかどうかを検証することで上記データの改ざん箇所を特定する検証ステップと、
復元部が、特定された改ざん箇所それぞれについて、上記行方向変換値Cy[n]を用いてn行目のm列目のデータブロックを復元した行方向復元値Ey[n][m]が、上記列方向変換値Cx[n][m]を用いてn行目のm列目のデータブロックを復元した列方向復元値Ex[n][m]に一致するかどうかを検証する復元部ステップと、
を含むデータ改ざん復元方法。
N and M are predetermined integers of 2 or more, n = 1,..., N, m = 1,..., M, and N × M data blocks in which data is divided into N rows × M columns As configured
The conversion value generation unit generates a row direction conversion value Cy [n] using M data blocks in the nth row of the data, and uses a data block in the mth column of the nth row of the data. A conversion value generation step for generating a direction conversion value Cx [n] [m];
The first verification information generation unit generates row direction first verification information y [n] using the M data blocks in the nth row of the data, and the N data blocks in the mth column of the data A first verification information generation step for generating column direction first verification information x [m] using:
The second verification information generation unit generates row direction second verification information y ′ [n] using M data blocks in the n-th row of the data, and N data blocks in the m-th column of the data A second verification information generation step for generating column direction second verification information x ′ [m] using
The verification unit is configured such that the row direction first verification information y [n] and the column direction first verification information x [m] are the row direction second verification information y ′ [n] and the column direction second verification information, respectively. a verification step for identifying a falsified portion of the data by verifying whether it matches x '[m];
For each identified alteration location, the restoration unit restores the data block in the mth column of the nth row using the row direction transformation value Cy [n], and the row direction restoration value Ey [n] [m] Restoring unit step for verifying whether or not it matches the column direction restoration value Ex [n] [m] obtained by restoring the data block of the mth column of the nth row using the column direction transformation value Cx [n] [m] When,
Including data falsification and restoration.
請求項1から5のいずれかに記載のデータ改ざん復元システムとしてコンピュータを機能させるためのプログラム。   The program for functioning a computer as a data falsification restoration system in any one of Claim 1 to 5.
JP2013084886A 2013-04-15 2013-04-15 Altered data restoration system, altered data restoration method, and program Pending JP2014207607A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013084886A JP2014207607A (en) 2013-04-15 2013-04-15 Altered data restoration system, altered data restoration method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013084886A JP2014207607A (en) 2013-04-15 2013-04-15 Altered data restoration system, altered data restoration method, and program

Publications (1)

Publication Number Publication Date
JP2014207607A true JP2014207607A (en) 2014-10-30

Family

ID=52120833

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013084886A Pending JP2014207607A (en) 2013-04-15 2013-04-15 Altered data restoration system, altered data restoration method, and program

Country Status (1)

Country Link
JP (1) JP2014207607A (en)

Similar Documents

Publication Publication Date Title
CN102314572B (en) Registration information file generation method and device, and use authorization method of application software
US10621381B2 (en) Event log tamper detection
JP5753273B2 (en) Data authenticity guarantee method, management computer and storage medium
JP2019013009A (en) Automatic fraudulent digital certificate detection
CN104732159B (en) A kind of document handling method and device
JP2006135465A (en) Document management apparatus, document management method, and computer program
CN107423639B (en) Webpage tampering monitoring method and device
CN104796257A (en) Flexible data authentication
EP3316160A1 (en) Authentication method and apparatus for reinforced software
CN108153858A (en) Information-pushing method, device, storage medium and computer equipment
CN104199654A (en) Open platform calling method and device
CN108075888B (en) Dynamic URL generation method and device, storage medium and electronic equipment
CN107483407B (en) Method and system for preventing hotlinking
CN105007301A (en) Electronic evidence processing system and method based on social platform
CN104579558A (en) Method for detecting integrity in data transmission process
CN113448817A (en) Page screen recording method and device and storage medium
CN111488372A (en) Data processing method, device and storage medium
US20150271171A1 (en) Systems and methods for discovering website certificate information
CN107171808B (en) A kind of verification method and device of electronic record authenticity
CN110738513B (en) Method and device for generating and verifying redemption code
US20110225634A1 (en) CAPTCHA (Completely Automated Public Test to Tell Computers and Humans Apart) Data Generation Methods and Related Data Management Systems and Computer Program Products Thereof
CN104394166A (en) Certificate anti-fake authentication system and method for mobile terminal under cloud environment
CN111445250B (en) Block chain key testing method and device
JP2011253511A (en) Information generation system and method thereof
JP6149523B2 (en) File tampering detection system