JP2004336702A - Data originality securing method and system, and program for securing data originality - Google Patents
Data originality securing method and system, and program for securing data originality Download PDFInfo
- Publication number
- JP2004336702A JP2004336702A JP2003357910A JP2003357910A JP2004336702A JP 2004336702 A JP2004336702 A JP 2004336702A JP 2003357910 A JP2003357910 A JP 2003357910A JP 2003357910 A JP2003357910 A JP 2003357910A JP 2004336702 A JP2004336702 A JP 2004336702A
- Authority
- JP
- Japan
- Prior art keywords
- data
- divided
- originality
- division
- identification
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 114
- 238000012545 processing Methods 0.000 claims description 80
- 238000012790 confirmation Methods 0.000 claims description 15
- 230000001172 regenerating effect Effects 0.000 claims description 7
- 239000006185 dispersion Substances 0.000 abstract 1
- 238000004321 preservation Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 25
- 230000005540 biological transmission Effects 0.000 description 23
- 239000011159 matrix material Substances 0.000 description 22
- 238000004891 communication Methods 0.000 description 19
- 238000007726 management method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000013500 data storage Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000005192 partition Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
Images
Abstract
Description
本発明は、データを、その原本性を確保して保管するためのデータ原本性確保方法およびシステム、ならびにデータ原本性確保用プログラムに関する。 The present invention relates to a data originality securing method and system for securing and storing data originality, and a data originality securing program.
ITの発展に伴って、自らの端末をインターネット等の通信ネットワークに接続し、この通信ネットワークに接続されている他端末に対して通信ネットワークを介してデータを通信する機会が非常に増えている。 With the development of IT, opportunities to connect one's own terminal to a communication network such as the Internet and to communicate data to another terminal connected to this communication network via the communication network have been greatly increased.
このとき、端末は通信ネットワークに接続されているため、悪意を持った第三者(ハッカー等)が通信ネットワークに接続された第三者側の端末を介して端末にアクセスし、端末に保管されているデータを改竄する恐れが生じており、改竄されたデータの原本性(故意または過失による改竄がなく、内容が完全であること)を確保する必要が生じていた。 At this time, since the terminal is connected to the communication network, a malicious third party (such as a hacker) accesses the terminal via the terminal of the third party connected to the communication network, and is stored in the terminal. There is a risk that the data may be falsified, and it is necessary to ensure the originality of the falsified data (the contents must be complete without any falsification by intention or negligence).
この点、従来では、電子署名を用いてデータの改竄を検出可能にして、原本性を確保する技術が導入されている(例えば、非特許文献1参照)。 In this regard, conventionally, a technique has been introduced in which falsification of data can be detected using an electronic signature to ensure originality (for example, see Non-Patent Document 1).
すなわち、電子署名技術を用いた原本性確保方法によれば、データ送信元のA氏は、予め認証局(CA;Certification Authority)により保証された公開鍵入りの電子証明書を受取る。 That is, according to the originality securing method using the digital signature technology, Mr. A of the data transmission source receives an electronic certificate containing a public key that has been previously guaranteed by a certification authority (CA).
そして、A氏は、送信したいデータ(データ本体とも呼ぶ)について電子署名を作成し、作成した電子署名を含むデータ(データ本体+電子署名+電子証明書)をB氏に送信する。 Then, Mr. A creates an electronic signature for the data to be transmitted (also referred to as the data body), and transmits data including the created electronic signature (data body + electronic signature + electronic certificate) to Mr. B.
B氏は、受信したデータのうち、データ本体から生成したハッシュ値と、A氏から受け取ったA氏の電子証明書に含まれる公開鍵で電子署名を復号化して得た値とを比較することにより、データが改竄されたか否かを判断している。
しかしながら、電子署名技術を用いた原本性確保方法によれば、B氏側において受け取ったデータを長期間保管する場合、秘密鍵の危殆化等からデータが改竄される恐れが生じている。 However, according to the originality securing method using the digital signature technology, when the data received by Mr. B is stored for a long period of time, the data may be falsified due to the compromise of the secret key or the like.
そこで、電子署名技術を用いた原本性確保方法において、認証局から発行される電子証明書には予め有効期限が定められており、有効期限到来前にA氏側において改めて秘密鍵と公開鍵とを生成し、公開鍵について電子証明書を認証局から発行してもらい、新しい秘密鍵を用いて再度電子署名付きのデータを作成する必要がある。 Therefore, in the method of securing originality using the digital signature technology, the expiration date is set in advance for the electronic certificate issued by the certificate authority, and Mr. A renews the secret key and public key before the expiration date. It is necessary to generate an electronic certificate for the public key from a certificate authority, and to create data with an electronic signature again using a new private key.
しかしながら、上述した電子証明書の有効期限に基づく認証局からの電子証明書の再発行処理、および新しい秘密鍵を用いた電子署名付きデータ作成処理は非常に手間および時間がかかり、また、有効期限毎に上述した電子証明書の再発行処理および電子署名付きデータ作成処理を繰り返し行わなければならず、データを、その原本性をより簡易に確保しながら保管できる方法の開発が待望されていた。 However, the process of re-issuing a digital certificate from a certificate authority based on the expiration date of the above-described digital certificate and the process of creating data with a digital signature using a new private key take a lot of trouble and time. The above-described process of re-issuing the electronic certificate and the process of creating data with an electronic signature must be repeated each time, and there has been a long-awaited need for a method of storing data while ensuring its originality more easily.
本発明は、上述した事情に鑑みてなされたものであり、データを、その原本性をより簡易に確保して保管することのできるデータ原本性確保方法およびシステム、ならびにデータ原本性確保用プログラムを提供することをその目的とする。 The present invention has been made in view of the above-described circumstances, and provides a data originality securing method and system, and a data originality securing program capable of easily securing and storing the originality of data. Its purpose is to provide.
上述した目的を達成するため、本発明は、請求項1に記載したように、データを、その原本性を確保して保管するデータ原本性確保システムであって、前記データを秘密分散法を用いて該データが復元できる複数の分割データにそれぞれ分割するデータ分割部と、分割された複数の分割データをそれぞれ記憶するハードウェア的に独立した複数の保管部と、を備えたことを要旨とする。
In order to achieve the above-mentioned object, the present invention provides a data originality securing system for storing data while securing its originality, as described in
請求項2に記載した発明は、前記データ分割部は、原本性確保対象となるデータ本体から、該データ本体をユニークに識別できる識別データを生成する識別データ生成部と、生成された識別データと前記データ本体とを結合した前記データを秘密分散法を用いて分割する分割部とを備えたことを要旨とする。
In the invention described in
請求項3に記載した発明は、前記識別データ生成部は、前記識別データとして、前記データ本体を所定のハッシュ関数を用いてハッシュ値を生成する生成部を備えたことを要旨とする。 According to a third aspect of the present invention, the identification data generation unit includes a generation unit that generates a hash value of the data body using a predetermined hash function as the identification data.
請求項4に記載した発明は、前記データ分割部は、分割された各分割データに、データ分割に関する管理情報を合わせたデータ全体から、該データ全体をユニークに識別できる分割識別データをそれぞれ生成し、前記複数の保管部は、前記分割データ、前記データ分割に関する管理情報、および前記分割識別データをそれぞれ記憶することを要旨とする。 According to a fourth aspect of the present invention, the data division unit generates division identification data capable of uniquely identifying the entire data from the entire data obtained by adding management information relating to the data division to each divided data. The gist is that the plurality of storage units store the divided data, management information on the data division, and the division identification data, respectively.
請求項5に記載した発明は、前記複数の保管部から前記複数の分割データをそれぞれ読み出し、読み出した複数の分割データから秘密分散法により前記データ本体および前記識別データをそれぞれ復元するデータ復元部と、復元されたデータ本体から前記識別データを再生成し、再生成された識別データと前記復元された識別データとが一致するか否かを確認する確認部と、を備えたことを要旨とする。
The invention according to
請求項6に記載した発明は、前記複数の保管部から前記分割データ、前記データ分割に関する管理情報、および前記分割識別データをそれぞれ読み出し、読み出した複数の分割データから秘密分散法により前記データ本体および前記識別データをそれぞれ復元するデータ復元部と、復元されたデータ本体から前記識別データを再生成し、再生成された識別データと前記復元された識別データとが一致するか否かを確認する第1の確認部と、前記複数の分割データそれぞれに対して、読み出した分割データおよびデータ分割に関する管理情報とを合わせたデータ全体から、前記分割識別データを再生成し、再生成された分割識別データと、読み出した前記分割識別データとが一致するか否かを確認する第2の確認部と、を備えたことを要旨とする。
In the invention described in
請求項7に記載した発明は、前記複数の保管部から前記複数の分割データをそれぞれ読み出し、読み出した複数の分割データを、異なる組合せにより組み合わせて複数のデータを復元し、復元した複数のデータがそれぞれ一致するか否かを確認する復元確認部をさらに備えたことを要旨とする。
In the invention described in
請求項8に記載した発明は、データを、その原本性を確保して保管するデータ原本性確保方法であって、前記データを秘密分散法を用いて該データが復元できる複数の分割データにそれぞれ分割するステップと、分割された複数の分割データをハードウェア的に独立した複数の保管装置にそれぞれ記憶するステップと、を備えたことを要旨とする。
The invention according to
請求項9に記載した発明は、前記分割ステップは、原本性確保対象となるデータ本体から、該データ本体をユニークに識別できる識別データを生成するステップと、生成された識別データと前記データ本体とを結合した前記データを秘密分散法を用いて分割するステップと、を備えたことを要旨とする。
In the invention described in
請求項10に記載した発明は、データを、その原本性を確保して保管するためのコンピュータが読み取り可能なデータ原本性確保用プログラムであって、前記コンピュータに、前記データを秘密分散法を用いて該データが復元できる複数の分割データにそれぞれ分割するデータ分割処理と、分割された複数の分割データを、該コンピュータが通信可能なハードウェア的に独立した複数の保管装置にそれぞれ記憶する保管処理と、をそれぞれ実行させることを要旨とする。
An invention according to
請求項11に記載した発明は、前記分割処理は、原本性確保対象となるデータ本体から、該データ本体をユニークに識別できる識別データを生成する識別データ生成処理と、生成された識別データと前記データ本体とを結合した前記データを秘密分散法を用いて分割する分割処理と、を備えたことを要旨とする。
The invention according to
請求項12に記載した発明は、前記識別データ生成処理は、前記識別データとして、前記データ本体を所定のハッシュ関数を用いてハッシュ値を生成することを要旨とする。
The gist of the invention described in
請求項13に記載した発明は、前記データ分割処理は、分割された各分割データに、データ分割に関する管理情報を合わせたデータ全体から、該データ全体をユニークに識別できる分割識別データをそれぞれ生成し、前記保管処理は、前記複数の保管装置に、前記分割データ、前記データ分割に関する管理情報、および前記分割識別データをそれぞれ記憶することを要旨とする。 According to a thirteenth aspect of the present invention, in the data division processing, division identification data capable of uniquely identifying the entire data is generated from the entire data obtained by adding management information relating to the data division to each divided data. The gist of the storage process is to store the divided data, the management information on the data division, and the division identification data in the plurality of storage devices.
請求項14に記載した発明は、前記複数の保管装置から前記複数の分割データをそれぞれ読み出し、読み出した複数の分割データから秘密分散法により前記データ本体および前記識別データをそれぞれ復元するデータ復元処理と、復元されたデータ本体から前記識別データを再生成し、再生成された識別データと前記復元された識別データとが一致するか否かを確認する確認処理と、を前記コンピュータに実行させることを要旨とする。 The invention according to claim 14, wherein the plurality of divided data are respectively read from the plurality of storage devices, and the data main body and the identification data are respectively restored from the read plurality of divided data by a secret sharing method. Regenerating the identification data from the restored data body, and confirming whether the regenerated identification data matches the restored identification data. Make a summary.
請求項15に記載した発明は、前記複数の保管装置から前記分割データ、前記データ分割に関する管理情報、および前記分割識別データをそれぞれ読み出し、読み出した複数の分割データから秘密分散法により前記データ本体および前記識別データをそれぞれ復元するデータ復元処理と、復元されたデータ本体から前記識別データを再生成し、再生成された識別データと前記復元された識別データとが一致するか否かを確認する第1の確認処理と、前記複数の分割データそれぞれに対して、読み出した分割データおよびデータ分割に関する管理情報とを合わせたデータ全体から、前記分割識別データを再生成し、再生成された分割識別データと、読み出した前記分割識別データとが一致するか否かを確認する第2の確認処理と、を前記コンピュータに実行させることを要旨とする。
The invention according to
請求項16に記載した発明は、前記複数の保管装置から前記複数の分割データをそれぞれ読み出し、読み出した複数の分割データを、異なる組合せにより組み合わせて複数のデータを復元し、復元した複数のデータがそれぞれ一致するか否かを確認する復元確認処理をさらに前記コンピュータに実行させることを要旨とする。 In the invention described in claim 16, the plurality of divided data are read from the plurality of storage devices, and the read plurality of divided data are combined in different combinations to restore a plurality of data. The gist of the present invention is to cause the computer to further execute a restoration confirmation process for confirming whether or not they match.
本発明に係わるデータ原本性確保方法およびシステム、ならびにデータ原本性確保用プログラムによれば、データを、秘密分散法を用いて複数の分割データに分割してハードウェア的に独立した複数の保管部(保管装置)にそれぞれ保管しているため、そのデータの内の少なくとも一部が改竄された場合でも、改竄データを含む分割データから、その分割データに対する改竄の有無を容易に確認することができる。 According to the data originality securing method and system and the data originality securing program according to the present invention, data is divided into a plurality of divided data by using a secret sharing method, and a plurality of storage units independent of hardware are provided. Since each of the data is stored in the (storage device), even if at least a part of the data is tampered with, it is possible to easily confirm whether the divided data has been tampered with from the divided data including the tampered data. .
この結果、例えばデータを長期間に亘って保管する場合であっても、電子署名のように、電子証明書の再発行処理および電子署名付きデータ作成処理を繰り返し行うことなく、簡易にデータを保管することができる。 As a result, even if the data is stored for a long period of time, the data can be easily stored without repeating the process of re-issuing the digital certificate and the process of creating the data with the digital signature as in the case of the digital signature. can do.
本発明に係わるデータ原本性確保方法およびシステム、ならびにデータ原本性確保用プログラムの実施の形態について、添付図面を参照して説明する。 An embodiment of a data originality securing method and system and a data originality securing program according to the present invention will be described with reference to the accompanying drawings.
(第1の実施の形態)
図1は、本発明の第1の実施の形態に係わるデータ原本性確保システム1の概略構成を示すブロック図である。
(First Embodiment)
FIG. 1 is a block diagram showing a schematic configuration of a data originality securing
図1に示すように、データ原本性確保システム1は、インターネット等の通信用ネットワークNに対して接続して通信できるクライアントコンピュータ(以下、単にクライアントとする)2と、ネットワークNに対して通信可能に接続されており、互いにハードウェア的に独立した複数(本実施の形態では4とする)のデータ保管用サーバコンピュータ(以下、単に保管サーバとする)3a1〜3a4とを備えている。
As shown in FIG. 1, a data
クライアント2は、演算処理部であるCPU、このCPUに接続され該CPUおよびネットワークN間の通信を可能にするインタフェース、CPUに接続されたデータ入力用の入力部およびCPUに接続されたメモリ10をそれぞれ備えている。
The
メモリ10には、原本性を確保して保管する対象となるデータ{例えば、M(Mは自然数)バイトのデジタルデータ;以下、元データとも呼ぶ}Bが格納されている。また、メモリ10には、クライアント2(そのCPU)が読み取り可能であり、後述する図2および図3に示す原本性確保処理(データ保管処理)をクライアント2(そのCPU)に実行させるためのデータ原本性確保用プログラムPが搭載されている。
The
なお、このデータ原本性確保用プログラムPは、磁気メモリや半導体メモリ等の各種記録媒体に搭載され、必要に応じてその記録媒体からクライアント2に読み出されてメモリ10にロードされるように構成することも可能である。
Note that the data originality securing program P is mounted on various recording media such as a magnetic memory and a semiconductor memory, and is read from the recording medium by the
クライアント2は、データ原本性確保用プログラムPにより実現される機能として、メモリ10に格納された元データBから、その元データBをユニークに識別できる例えばハッシュ値を生成するハッシュ値生成部11と、元データBおよびハッシュ値Hを含むデータを秘密分散法を用いて分割して分割データD(1)〜D(4)(本実施形態では、分割数を4とする)を生成する分割データ生成部13と、分割データD(1)〜D(4)から元データBおよびハッシュ値Hを生成する元データ復元部15と、分割データD(1)〜D(4)をネットワークNを介して通信する通信部17とを備えている。
The
各保管サーバ3a1〜3a4は、演算処理部であるCPU、このCPUに接続され該CPUおよびネットワークN間の通信を可能にするインタフェース、CPUに接続されたデータ入力用の入力部、CPUに接続されたメモリおよびハードディスク等の記憶装置をそれぞれ備えている。 Each of the storage servers 3a1-3a4 includes a CPU serving as an arithmetic processing unit, an interface connected to the CPU and enabling communication between the CPU and the network N, an input unit for data input connected to the CPU, and connected to the CPU. And a storage device such as a hard disk.
次に、本実施の形態に係わるデータ原本性確保システム1の全体処理について説明する。
Next, the overall processing of the data
図2および図3に示すように、クライアント2は、データ原本性確保用プログラムPに従って動作し、ハッシュ値生成部11の機能として、メモリ10に記憶された、原本性を確保して保管したい元データBをメモリ10から読み込み、読み込んだ元データBを、所定のハッシュ関数を用いてその元データBのハッシュ値Hを生成する(ステップS1)。
As shown in FIGS. 2 and 3, the
このハッシュ値Hは、その元データBが1ビットでも変更されると全く異なる値を示す性質、すなわち、元データBをユニークに識別できる性質を有している。 The hash value H has such a property that if the original data B is changed even by one bit, the hash value H shows a completely different value, that is, the original data B can be uniquely identified.
次いで、クライアント2は、分割データ生成部13の機能として、生成したハッシュ値Hを含む元データBを秘密分散法を用いて4つのデータ(分割データ)D(1)〜D(4)に分割する(ステップS2)。
Next, the
以下、ステップS2の秘密分散法に基づく分割データD(1)〜D(4)生成処理について詳細に説明する。 Hereinafter, the process of generating the divided data D (1) to D (4) based on the secret sharing scheme in step S2 will be described in detail.
例えば、2次多項式F(x)=ax2+bx+B(mod p;pで割った時の余りを表す)を基にしたShamirの秘密分散法{(k、n)閾値法;但し、分割数を表すnを4とし、復元できる数を表すkを3とする}で考える。ここでBは元データ、F(x)は分割データである。a、b、pは、元データBの分割に際して任意に決定される。但し、pは、a、b、Bよりも大きい素数とする。 For example, Shamir's secret sharing method {(k, n) threshold method based on a second-order polynomial F (x) = ax 2 + bx + B (mod p; representing the remainder when divided by p); Let n be 4 and let k be 3 representing the number that can be restored. Here, B is original data, and F (x) is divided data. a, b, and p are arbitrarily determined when dividing the original data B. Here, p is a prime number larger than a, b, and B.
このとき、クライアント2の分割データ生成処理により、分割データF(1)〜F(4){上記分割データD(1)〜D(4)に対応}は、次式(1)〜(4)のように作成される。
At this time, the divided data F (1) to F (4) {corresponding to the divided data D (1) to D (4)} obtained by the divided data generation processing of the
F(1)=a+b+B(mod p) ・・・(1)
F(2)=4a+2b+B(mod p) ・・・(2)
F(3)=9a+3b+B(mod p) ・・・(3)
F(4)=16a+4b+B(mod p) ・・・(4)
この分割データF(1)〜F(4)の内、k=3以上の分割データ{例えば、F(1)、F(2)、F(4)}が集まれば、この分割データ
F(1)=a+b+B(mod p) ・・・(1)
F(2)=4a+2b+B(mod p) ・・・(2)
F(4)=16a+4b+B(mod p) ・・・(4)
を連立して元データBを求めることができる。
F (1) = a + b + B (mod p) (1)
F (2) = 4a + 2b + B (mod p) (2)
F (3) = 9a + 3b + B (mod p) (3)
F (4) = 16a + 4b + B (mod p) (4)
If k = 3 or more divided data {for example, F (1), F (2), F (4)} among the divided data F (1) to F (4) is collected, the divided data F (1) ) = A + b + B (mod p) (1)
F (2) = 4a + 2b + B (mod p) (2)
F (4) = 16a + 4b + B (mod p) (4)
And the original data B can be obtained.
そして、k−1以下の分割データが集まっても、元データBを復元することはできない。 And even if the divided data of k-1 or less are collected, the original data B cannot be restored.
なお、元データBが長いデータ列である場合には、クライアント2は、例えば元データBの先頭から1バイト毎にF(1)からF(4)を順次作成して分割データD(1)(F(1))〜D(4)(F(4))を作成する。
When the original data B is a long data string, the
そして、クライアント2は、通信部17の機能として、作成した分割データD(1)〜D(4)を保管サーバ3a1〜3a4にネットワークNを介してそれぞれ送信する(ステップS3)。
Then, as a function of the
各保管サーバ3a1〜3a4は、ネットワークNを介して送信されてきた分割データD(1)〜D(4)を、それぞれのハードディスク等の記憶装置に記憶する(ステップS5)。 Each of the storage servers 3a1 to 3a4 stores the divided data D (1) to D (4) transmitted via the network N in a storage device such as a hard disk (step S5).
このようにして、元データBを、そのハッシュ値Hを含んで分割された分割データD(1)〜D(4)として保管サーバ3a1〜3a4に保管することができる。 In this way, the original data B can be stored in the storage servers 3a1 to 3a4 as the divided data D (1) to D (4) including the hash value H.
次に、保管サーバ3a1〜3a4に保管された分割データD(1)〜D(4)が改竄されているか否かを確認する場合、クライアント2は、分割データD(1)〜D(4)のダウンロード要求を保管サーバ3a1〜3a4にそれぞれ送信する(ステップS10)。
Next, when checking whether or not the divided data D (1) to D (4) stored in the storage servers 3a1 to 3a4 have been falsified, the
各保管サーバ3a1〜3a4は、送信されてきたダウンロード要求に応じて、それぞれのハードディスク等の記憶装置に保管された各分割データD(1)〜D(4)を各記憶装置から読み出し、読み出した各分割データD(1)〜D(4)をネットワークNを介してクライアント2に送信する(ステップS11)。
Each of the storage servers 3a1 to 3a4 reads out the divided data D (1) to D (4) stored in the storage device such as the hard disk from the storage device in response to the transmitted download request. The divided data D (1) to D (4) are transmitted to the
クライアント2は、データ原本性確保用プログラムPに従って動作し、元データ復元部15の機能として、ネットワークNを介して送信されてきた分割データD(1)〜D(4)を受信し、受信した分割データD(1)〜D(4)に基づいて秘密分散法により元データB1およびハッシュ値H1をそれぞれ復元する(ステップS12)。
The
次いで、クライアント2は、元データ復元部15の機能として、復元した元データB1からハッシュ値H2を再生成し、再生成したハッシュ値H2と復元したハッシュ値H1とを比較して一致するか否かを確認する(ステップS13)。
Next, the
このステップS12およびS13の処理を具体的に説明する。 The processing of steps S12 and S13 will be specifically described.
例えば、上記分割データF(1)、F(2)、F(3)、F(4)の内、一部の分割データが改竄{例えば、F(2)〜F(4)がFa(2)〜Fa(4)に改竄}されたと仮定する。 For example, among the divided data F (1), F (2), F (3), and F (4), some of the divided data is falsified. For example, F (2) to F (4) are Fa (2). ) To Fa (4).
このとき、クライアント2は、下式
F(1) =a+b+B(mod p) ・・・(1)
Fa(2)=4a+2b+B(mod p) ・・・(2)
Fa(3)=9a+3b+B(mod p) ・・・(3)
Fa(4)=16a+4b+B(mod p)・・・(4)
の中から少なくとも3つの式を連立させてハッシュ値Hを含む元データBを復元することになる。
At this time, the
Fa (2) = 4a + 2b + B (mod p) (2)
Fa (3) = 9a + 3b + B (mod p) (3)
Fa (4) = 16a + 4b + B (mod p) (4)
, The original data B including the hash value H is restored by combining at least three expressions.
しかしながら、分割データF(2)〜F(4)が分割データFa(2)〜Fa(4)に改竄されているため、この分割データFa(2)〜Fa(4)を連立しても、復元された元データB1は、原本性確保対象となる元データBとは異なるため、その元データB1から再生成されたハッシュ値H2も、復元されたハッシュ値H1とは異なる。この結果、保管サーバ3a1〜3a4に保管されている分割データD(1)〜D(4)の少なくとも一部が改竄されていることをクライアント2側において確認することができる。
However, since the divided data F (2) to F (4) have been falsified into the divided data Fa (2) to Fa (4), even if the divided data Fa (2) to Fa (4) are simultaneously Since the restored original data B1 is different from the original data B whose originality is to be secured, the hash value H2 regenerated from the original data B1 is also different from the restored hash value H1. As a result, the
以上述べたように、本実施形態によれば、元データBを、秘密分散法を用いて複数の分割データD(1)〜D(4)に分割して保管サーバ3a1〜3a4にそれぞれ保管しているため、その分割データD(1)〜D(4)の内の少なくとも一部が改竄された場合でも、改竄データを含む分割データD(1)〜D(4)から、その分割データD(1)〜D(4)に対する改竄の有無を容易に確認することができる。 As described above, according to the present embodiment, the original data B is divided into a plurality of divided data D (1) to D (4) using the secret sharing method and stored in the storage servers 3a1 to 3a4, respectively. Therefore, even if at least a part of the divided data D (1) to D (4) is falsified, the divided data D (1) to D (4) including the falsified data is converted from the divided data D (1) to D (4). It is possible to easily check whether (1) to D (4) have been tampered with.
この結果、例えば元データBを長期間に亘って保管する場合であっても、電子署名のように、電子証明書の再発行処理および電子署名付きデータ作成処理を繰り返し行うことなく、簡易に元データBを保管することができる。 As a result, for example, even when the original data B is stored for a long period of time, the original data B can be easily saved without repeating the process of reissuing the electronic certificate and the process of creating the data with the electronic signature as in the case of the electronic signature. Data B can be stored.
また、本実施形態によれば、元データBを分割データD(1)〜D(4)に分割して保管サーバ3a1〜3a4に保管しているため、例えば、分割データD(1)〜D(4)の内の1つの分割データが改竄された場合でも、残りの分割データを用いて元データBを復元することができる。 According to the present embodiment, since the original data B is divided into divided data D (1) to D (4) and stored in the storage servers 3a1 to 3a4, for example, the divided data D (1) to D (4) are stored. Even if one of the divided data in (4) is falsified, the original data B can be restored using the remaining divided data.
この結果、元データBの原本性をより確実に確保することができる。 As a result, the originality of the original data B can be secured more reliably.
(第2の実施の形態)
図4は、本発明の第2の実施の形態に係わるデータ原本性確保システムにおけるデータ原本性確保用プログラムに基づく原本性確保処理の一例を示す概略フローチャートである。なお、本実施の形態におけるデータ原本性確保システムの構成については、そのデータ原本性確保用プログラムの内容およびクライアントの処理が異なり、他の構成については、図1に示す構成と略同等であるため、その説明は省略する。
(Second embodiment)
FIG. 4 is a schematic flowchart showing an example of the originality securing process based on the data originality securing program in the data originality securing system according to the second embodiment of the present invention. Note that the configuration of the data originality securing system in the present embodiment is different from the content of the data originality securing program and the processing of the client, and the other configurations are substantially the same as those shown in FIG. , And the description is omitted.
本実施の形態において、クライアント2は、分割データ生成部13の機能として、メモリ10に記憶された、原本性を確保して保管したい元データBをメモリ10から読み込み、読み込んだ元データBを秘密分散法を用いて4つのデータ(分割データ)D(1)〜D(4)に分割する(ステップS21)。
In the present embodiment, as a function of the divided
なお、ステップS21の処理は、ステップS2の処理と略同等である。 Note that the processing in step S21 is substantially equivalent to the processing in step S2.
次いで、クライアント2は、通信部17の機能として、作成した分割データD(1)〜D(4)を保管サーバ3a1〜3a4にネットワークNを介してそれぞれ送信する(ステップS22)。
Next, as a function of the
各保管サーバ3a1〜3a4は、ネットワークNを介して送信されてきた分割データD(1)〜D(4)を、それぞれのハードディスク等の記憶装置に記憶する(ステップS23)。 Each of the storage servers 3a1-3a4 stores the divided data D (1) -D (4) transmitted via the network N in a storage device such as a hard disk (step S23).
このようにして、元データBを、分割データD(1)〜D(4)として保管サーバ3a1〜3a4に保管することができる。 In this way, the original data B can be stored in the storage servers 3a1-3a4 as the divided data D (1) to D (4).
次に、保管サーバ3a1〜3a4に保管された分割データD(1)〜D(4)が改竄されているか否かを確認する場合、クライアント2は、分割データD(1)〜D(4)のダウンロード要求を保管サーバ3a1〜3a4にそれぞれ送信する(ステップS30)。
Next, when checking whether or not the divided data D (1) to D (4) stored in the storage servers 3a1 to 3a4 have been falsified, the
各保管サーバ3a1〜3a4は、送信されてきたダウンロード要求に応じて、それぞれのハードディスク等の記憶装置に保管された各分割データD(1)〜D(4)を、その記憶装置から読み出し、読み出した各分割データD(1)〜D(4)をネットワークNを介してクライアント2に送信する(ステップS31)。
Each of the storage servers 3a1 to 3a4 reads out the divided data D (1) to D (4) stored in a storage device such as a hard disk from the storage device in response to the transmitted download request. The divided data D (1) to D (4) are transmitted to the
クライアント2は、元データ復元部15の機能として、ネットワークNを介して送信されてきた分割データD(1)〜D(4)を受信し、受信した分割データD(1)〜D(4)を秘密分散法により異なる組合せにより組み合わせて複数の元データB1〜Bm(本実施の形態では、m=2)を復元し、復元した元データB1〜B2が互いに一致するか否かを確認する(ステップS32)。
The
このステップS32の処理を具体的に説明する。 The processing in step S32 will be specifically described.
クライアント2は、上記分割データF(1)、F(2)、F(3)、F(4)の内、例えば、所定の組合せ、例えば分割データF(1)〜F(3)を用いて秘密分散法により元データB1を復元し、次いで、上記組合せとは異なる組合せ、例えば、分割データF(2)〜F(4)を用いて秘密分散法により元データB2を復元する。
The
このとき、上記分割データF(1)〜F(4)の内の一部に改竄が発生した場合、上述したように、復元された元データB1およびB2は、原本性確保対象となる元データBとは異なり、かつ元データB1およびB2は分割データF(1)〜F(4)を互いに異なる組合せにより組み合わせているため、復元した元データB1およびB2は互いに異なる。 At this time, if a part of the divided data F (1) to F (4) is tampered with, as described above, the restored original data B1 and B2 are the original data for which the originality is to be secured. Unlike B, the original data B1 and B2 combine the divided data F (1) to F (4) in different combinations, so that the restored original data B1 and B2 are different from each other.
したがって、クライアント2は、復元した元データB1および元データB2との不一致により、保管サーバ3a1〜3a4に保管されている分割データD(1)〜D(4)の少なくとも一部が改竄されていることをクライアント2側において確認することができる。
Therefore, in the
なお、本実施の形態では、分割データF(1)〜F(4)の中から異なる組合せとして、分割データF(1)〜F(3)と分割データF(2)〜F(4)とをそれぞれ選択したが、本発明はこの組合せに限定されるものではなく、4つの分割データD(1)〜D(4)それぞれが少なくとも1回復元に使用される複数の組合せを選択すればよく、互いの組合せに基づいて復元された元データが一致しているか否かを確認することができる。 Note that, in the present embodiment, the divided data F (1) to F (3) and the divided data F (2) to F (4) are different combinations from among the divided data F (1) to F (4). However, the present invention is not limited to this combination, and it is sufficient to select a plurality of combinations in which each of the four divided data D (1) to D (4) is used at least once for restoration. It can be confirmed whether or not the original data restored based on the combination of each other matches.
(第3の実施の形態)
図5は、本発明の第3の実施の形態に係わるデータ原本性確保システム4の概略構成を示すブロック図である。
(Third embodiment)
FIG. 5 is a block diagram showing a schematic configuration of the data originality securing system 4 according to the third embodiment of the present invention.
図5に示すように、データ原本性確保システム4は、インターネット等の通信用ネットワークNに対して接続して通信できる端末5および分割装置6と、ネットワークNに対して通信可能に接続されており、互いにハードウェア的に独立した複数(本実施の形態では3とする)のデータ保管用サーバコンピュータ(以下、単に保管サーバとする)3a1〜3a3とを備えている。そして、上記システム構成により、分割装置6は、ネットワークNを介して端末5からのデータ保管要求に応じてデータを複数の分割データに分割し、この分割した複数の分割データをネットワークNを介して複数の保管サーバ3a1〜3a3に保管するようになっている。尚、端末5と分割装置6との間の通信、および分割装置6と各保管サーバ3a1〜3a3との間の通信は、通信内容の漏洩を防止するため、SSL(Secure Socket Layer)、IP−VPN(Virtual Private Network)などにより、通信データが暗号化されている。
As shown in FIG. 5, the data originality assurance system 4 is communicably connected to a
端末5および分割装置6は、演算処理部であるCPU、このCPUに接続され該CPUおよびネットワークN間の通信を可能にするインタフェース、CPUに接続されたデータ入力用の入力部およびCPUに接続されたメモリをそれぞれ備えている。
The
端末5は、利用者が原本性を確保して保管するデータ{例えば、M(Mは自然数)バイトのデジタルデータ;以下、元データとも呼ぶ}Bを分割装置6に送信するとともに、保管したデータを分割装置6から受信するデータ送受信部31を備えている。
The
分割装置6のメモリ10には、端末5から送信された元データBが格納される。また、メモリ10には、分割装置6(そのCPU)が読み取り可能であり、後述する図6および図7に示すデータ原本性確保処理を分割装置6(そのCPU)に実行させるためのデータ原本性確保用プログラムP3が搭載されている。
The original data B transmitted from the
なお、このデータ原本性確保用プログラムP3は、磁気メモリや半導体メモリ等の各種記録媒体に搭載され、必要に応じてその記録媒体から分割装置6に読み出されてメモリにロードされるように構成することも可能である。
The data originality securing program P3 is mounted on various recording media such as a magnetic memory and a semiconductor memory, and is read from the recording medium by the
分割装置6は、データ原本性確保用プログラムP3により実現される機能として、メモリ10に格納された元データBから、その元データBをユニークに識別できる例えばハッシュ値Hを生成するとともに、後述するハッシュ値h1〜h3を生成するハッシュ値生成部32と、元データBおよびハッシュ値Hを含むデータを後述する秘密分散法(第1および第2の実施の形態とは異なる秘密分散法)Sを用いて分割して分割データ(以下、分割データ本体ともよぶ)D(1)〜D(3)(本実施形態では、分割数を3とする)を生成するとともに、該分割データ本体D(1)〜D(3)、ヘッダ情報、および分割データ本体とヘッダ情報の内容全体から生成されたハッシュ値h1〜h3から構成された分割データ(以下、送信分割データともよぶ)DD(1)〜DD(3)を生成する分割データ生成部33と、分割データ本体D(1)〜D(3)を生成する際に用いられる乱数データを発生させる乱数発生部34と、保管サーバ3a1〜3a3から取得した分割データ本体D(1)〜D(3)およびそのヘッダ情報からハッシュ値h1〜h3を再生成するとともに、復元された元データBからハッシュ値Hを再生成し、データの真正性を確認するハッシュ値確認部35と、分割データ本体D(1)〜D(3)から元データBおよびハッシュ値Hを秘密分散法Sを用いて生成する元データ復元部36と、元データBおよび送信分割データDD(1)〜DD(3)をネットワークNを介して送受信するデータ送受信部37とを備えている。
As a function realized by the data originality securing program P3, the
各保管サーバ3a1〜3a3は、演算処理部であるCPU、このCPUに接続され該CPUおよびネットワークN間の通信を可能にするインタフェース、CPUに接続されたデータ入力用の入力部およびCPUに接続されたメモリおよびハードディスク等の記憶装置をそれぞれ備えている。 Each of the storage servers 3a1-3a3 is connected to a CPU serving as an arithmetic processing unit, an interface connected to the CPU and enabling communication between the CPU and the network N, an input unit for data input connected to the CPU, and the CPU. And a storage device such as a hard disk.
次に、本実施の形態に係わるデータ原本性確保システム4の全体処理を図6および図7を用いて説明する。ここで、図6は、本実施の形態におけるデータ原本性確保用プログラムP3に基づくデータ原本性確保処理を示すフローチャートであり、図7は、図6に示すデータ原本性確保処理のデータシーケンスである。 Next, the overall processing of the data originality securing system 4 according to the present embodiment will be described with reference to FIGS. Here, FIG. 6 is a flowchart showing the data originality securing process based on the data originality securing program P3 in the present embodiment, and FIG. 7 is a data sequence of the data originality securing process shown in FIG. .
図6および図7に示すように、利用者が保管したい元データBを指定し、端末5から分割装置6に該元データBを送信すると、分割装置6は、データ原本性確保用プログラムP3に従って動作し、ハッシュ値生成部32の機能として、メモリ10に記憶された、原本性を確保して保管したい元データBをメモリ10から読み込み、読み込んだ元データBを、所定のハッシュ関数を用いてその元データBのハッシュ値Hを生成する(ステップS101,S102)。
As shown in FIG. 6 and FIG. 7, when the user specifies the original data B to be stored and transmits the original data B from the
このハッシュ値Hは、その元データBが1ビットでも変更されると全く異なる値を示す性質、すなわち、元データBをユニークに識別できる性質を有している。 The hash value H has such a property that if the original data B is changed even by one bit, the hash value H shows a completely different value, that is, the original data B can be uniquely identified.
次いで、分割装置6は、分割データ生成部33の機能として、生成したハッシュ値Hを含む元データBを秘密分散法Sを用いて3つのデータ(分割データ)D(1)〜D(3)に分割する(ステップS103)。そして、各分割データD(i)(i=1,2,3)について、図8に示す形式のデータ、即ち、ハッシュ値hi(i=1,2,3)、データ分割に関する管理情報を含むヘッダ情報Ai(i=1,2,3)、および分割データD(i)(i=1,2,3)から構成される送信分割データDD(i)を生成する(ステップS104,S105)。
Next, as a function of the divided data generating unit 33, the
ここで、ハッシュ値hiは、ハッシュ値生成部32の機能として、ヘッダ情報Aiおよび分割データD(i)を合わせた内容全体から、所定のハッシュ関数を用いて生成されるものである。尚、ヘッダ情報Aiのデータ識別子Ai1には、本実施の形態の秘密分散法Sにより分割されたデータであることを示す情報、バージョン情報Ai2には、データフォーマットのバージョンを識別する情報、およびヘッダサイズAi3には、元データサイズから分割データサイズまでの領域の合計データの長さを示す情報が格納されるようになっている。また、元データサイズAi4は、元データ(ハッシュ値Hを含む元データB)の長さを示す情報、分割数Ai5には、データの分割数(本実施の形態においては3)を示す情報、および処理単位ビット長Ai6には、秘密分散法Sによる分割処理において用いられる後述する処理単位ビット長を示す情報が格納されるようになっている。また、乱数データサイズAi7には、秘密分散法Sによる分割処理において用いられる乱数データの長さを示す情報、分割データタイプAi8には、いくつ目の分割データであるかを示す情報(例えば、3分割の場合は、分割データがD(1),D(2),D(3)のいずれかであるかを示す情報)、および分割データサイズAi9には、分割データD(i)の長さを示す情報が格納されるようになっている。
Here, as a function of the hash
そして、分割装置6は、データ送受信部37の機能として、作成した送信分割データDD(1)〜DD(3)を保管サーバ3a1〜3a3にネットワークNを介してそれぞれ送信する(ステップS106)。
Then, as a function of the data transmitting / receiving
各保管サーバ3a1〜3a3は、ネットワークNを介して送信されてきた送信分割データDD(1)〜DD(3)を、それぞれのハードディスク等の記憶装置に記憶する(ステップS107)。 Each of the storage servers 3a1 to 3a3 stores the transmission division data DD (1) to DD (3) transmitted via the network N in a storage device such as a hard disk (step S107).
このようにして、元データBをそのハッシュ値Hを含んで分割した分割データD(1)〜D(3)、ヘッダ情報A1〜A3、およびハッシュ値h1〜h3から構成される送信分割データDD(1)〜DD(3)をそれぞれ保管サーバ3a1〜3a3に保管することができる。 In this way, the divided data D (1) to D (3) obtained by dividing the original data B including the hash value H, the header information A1 to A3, and the transmission divided data DD composed of the hash values h1 to h3 (1) to DD (3) can be stored in the storage servers 3a1 to 3a3, respectively.
次に、保管サーバ3a1〜3a3に保管された送信分割データDD(1)〜DD(3)を取り出す場合には、利用者が取り出したい元データBを指定し、端末5から分割装置6に取り出し指示を送信すると、分割装置6は、送信分割データDD(1)〜DD(3)のダウンロード要求を保管サーバ3a1〜3a3にそれぞれ送信する(ステップS108,S109)。
Next, when retrieving the transmission division data DD (1) to DD (3) stored in the storage servers 3a1 to 3a3, the user specifies the original data B to be retrieved and retrieves it from the
各保管サーバ3a1〜3a3は、送信されてきたダウンロード要求に応じて、それぞれのハードディスク等の記憶装置に保管された各送信分割データDD(1)〜DD(3)を各記憶装置から読み出し、読み出した各送信分割データDD(1)〜DD(3)をネットワークNを介して分割装置6に送信する(ステップS110)。
Each of the storage servers 3a1-3a3 reads out the transmission divided data DD (1) -DD (3) stored in the storage device such as a hard disk from each storage device in response to the transmitted download request, and reads out. The transmitted divided data DD (1) to DD (3) are transmitted to the
分割装置6は、データ原本性確保用プログラムP3に従って動作し、ハッシュ値確認部35の機能として、ネットワークNを介して送信されてきた送信分割データDD(1)〜DD(3)を受信し、受信した送信分割データDD(1)〜DD(3)の分割データ本体D(1)〜D(3)およびヘッダ情報A1〜A3からハッシュ値h1’〜h3’を再生成する(ステップS111)。そして、再生成されたハッシュ値h1’〜h3’と受信した送信分割データDD(1)〜DD(3)のハッシュ値h1〜h3とを比較して一致するか否かを確認する(ステップS112)。これにより、各保管サーバ3a1〜3a3から取得したデータの内容が欠落したり、改竄されていないことを確認することができる。
The
次に、ステップS112でハッシュ値が一致する送信分割データDD(1)〜DD(3)が少なくとも2以上ある場合には、元データ復元部36の機能として、分割データD(1)〜D(3)およびヘッダ情報A1〜A3に基づいて秘密分散法Sにより元データB1およびハッシュ値H1をそれぞれ復元する(ステップS113)。これは、保管サーバ3a1〜3a3から分割データを取得できない場合やハッシュ値の一致が確認できない場合があっても、データが取得でき、ハッシュ値の一致が確認できたものがデータの復元に必要な個数以上(本実施の形態においては、後述するように2つ以上)あった場合には、後続処理(データ復元処理)を行うものである。 Next, in step S112, when there are at least two or more transmission divided data DD (1) to DD (3) having the same hash value, the divided data D (1) to D ( 3) Based on the header information A1 to A3 and the secret sharing method S, the original data B1 and the hash value H1 are restored (step S113). This is because even if the divided data cannot be obtained from the storage servers 3a1 to 3a3 or the hash value cannot be confirmed, the data can be acquired and the hash value can be confirmed to be necessary for data restoration. If the number is equal to or more than the number (in the present embodiment, two or more as described later), the subsequent processing (data restoration processing) is performed.
次いで、分割装置6は、ハッシュ値確認部35の機能として、復元した元データB1からハッシュ値H2を再生成し、再生成したハッシュ値H2と復元したハッシュ値H1とを比較して一致するか否かを確認する(ステップS114,S115)。これにより、復元された元データBおよびハッシュ値Hの内容が欠落したり、改竄されていないことを確認することができる。また、ヘッダ情報A1〜A3および分割データ本体D(1)〜D(3)の内容を改竄した後、改竄した内容に合わせてハッシュ値h1〜h3を算出し、書き換えた場合においても(この場合、ステップS112においてハッシュ値は一致してしまう)、改竄を検出をすることが可能となる。
Next, as a function of the hash
そして、分割装置6は、復元された元データBをネットワークNを介して端末5に送信し、これにより、端末5は元データBを取得する(ステップS116,S117)。
Then, the
ここで、本実施の形態における秘密分散法Sについて詳しく説明する。尚、以後の説明における元データとは、データ分割の対象となる元データ、即ち、本実施の形態においては、ハッシュ値生成部33で生成されたハッシュ値Hを含む元データBをいう。 Here, the secret sharing scheme S in the present embodiment will be described in detail. In the following description, the original data refers to the original data to be divided, that is, the original data B including the hash value H generated by the hash value generation unit 33 in the present embodiment.
本実施形態における元データの分割および復元では、元データを所望の処理単位ビット長に基づいて所望の分割数の分割データに分割するが、この場合の処理単位ビット長は任意の値に設定することができ、元データを処理単位ビット長毎に区分けして、この元部分データから分割部分データを分割数より1少ない数ずつ生成するので、元データのビット長が処理単位ビット長の(分割数-1)倍の整数倍に一致しない場合は、元データの末尾の部分に0を埋めるなどして元データのビット長を処理単位ビット長の(分割数-1)倍の整数倍に合わせることにより本実施形態を適用することができる。 In the division and restoration of the original data in the present embodiment, the original data is divided into a desired number of division data based on a desired processing unit bit length. In this case, the processing unit bit length is set to an arbitrary value. Since the original data is divided for each processing unit bit length, and the divided partial data is generated from the original partial data by a number smaller by one than the number of divisions, the bit length of the original data is equal to the processing unit bit length. If the value does not match the integral multiple of (number-1) times, the bit length of the original data is adjusted to an integral multiple of (the number of divisions-1) times the processing unit bit length by padding the trailing part of the original data with zeros. Thus, the present embodiment can be applied.
また、上述した乱数も(分割数-1)個の元部分データの各々に対応して処理単位ビット長のビット長を有する(分割数-1)個の乱数部分データとして乱数発生部34から生成される。すなわち、乱数は処理単位ビット長毎に区分けされて、処理単位ビット長のビット長を有する(分割数-1)個の乱数部分データとして生成される。更に、元データは処理単位ビット長に基づいて所望の分割数の分割データに分割されるが、この分割データの各々も(分割数-1)個の元部分データの各々に対応して処理単位ビット長のビット長を有する(分割数-1)個の分割部分データとして生成される。すなわち、分割データの各々は、処理単位ビット長毎に区分けされて、処理単位ビット長のビット長を有する(分割数-1)個の分割部分データとして生成される。
Further, the above-described random numbers are also generated from the random
なお、以下の説明では、上述した元データ、乱数、分割データ、分割数および処理単位ビット長をそれぞれB,R,D,nおよびbで表すとともに、また複数のデータや乱数などのうちの1つを表わす変数としてi(=1〜n)およびj(=1〜n-1)を用い、(分割数n-1)個の元部分データ、(分割数n-1)個の乱数部分データ、および分割数n個の分割データDのそれぞれのうちの1つをそれぞれB (j),R(j)およびD(i)で表記し、更に各分割データD(i)を構成する複数(n-1)の分割部分データをD(i,j)で表記するものとする。すなわち、B (j)は、元データBの先頭から処理単位ビット長毎に区分けして1番から順に採番した時のj番目の元部分データを表すものである。 In the following description, the above-described original data, random numbers, divided data, the number of divisions, and the processing unit bit length are represented by B, R, D, n, and b, respectively. Using i (= 1 to n) and j (= 1 to n-1) as variables representing one, (n-1) original partial data, and (n-1) random number partial data , And one of each of the n pieces of divided data D are represented by B (j), R (j) and D (i), respectively, and furthermore, a plurality of divided data D (i) It is assumed that the divided partial data of (n-1) is denoted by D (i, j). That is, B (j) represents the j-th original partial data when the original data B is divided from the top of the original data B by the processing unit bit length and numbered in order from the first.
この表記を用いると、元データ、乱数データ、分割データとこれらをそれぞれ構成する元部分データ、乱数部分データ、分割部分データは、次のように表記される。 Using this notation, the original data, the random number data, and the divided data, and the original partial data, the random number partial data, and the divided partial data that configure them, respectively, are represented as follows.
元データB=(n-1)個の元部分データB(j)
=B(1),B(2),…,B(n-1)
乱数R=(n-1)個の乱数部分データR(j)
=R(1),R(2),…,R(n-1)
n個の分割データD(i)=D(1),D(2),…,D(n)
各分割部分データD(i,j)
=D(1,1),D(1,2),…,D(1,n-1)
D(2,1),D(2,2),…,D(2,n-1)
… … …
D(n,1),D(n,2),…,D(n,n-1)
(i=1〜n), (j=1〜n-1)
本実施形態は、上述したように処理単位ビット長毎に区分けされる複数の部分データに対して元部分データと乱数部分データの排他的論理和演算(XOR)を行って、詳しくは、元部分データと乱数部分データの排他的論理和演算(XOR)からなる定義式を用いて、元データの分割を行うことを特徴とするものであり、上述したデータ分割処理に多項式や剰余演算を用いる方法(第1および第2の実施の形態における方法)に比較して、コンピュータ処理に適したビット演算である排他的論理和(XOR)演算を用いることにより高速かつ高性能な演算処理能力を必要とせず、大容量のデータに対しても簡単な演算処理を繰り返して分割データを生成することができるとともに、また分割データの保管に必要となる記憶容量も分割数に比例した倍数の容量よりも小さくすることができる。更に、任意に定めた一定の長さ毎にデータの先頭から順に演算処理を行うストリーム処理により分割データが生成される。
Original data B = (n-1) original partial data B (j)
= B (1), B (2),…, B (n-1)
Random number R = (n-1) random number partial data R (j)
= R (1), R (2),…, R (n-1)
n pieces of divided data D (i) = D (1), D (2), ..., D (n)
Each divided partial data D (i, j)
= D (1,1), D (1,2),…, D (1, n-1)
D (2,1), D (2,2),…, D (2, n-1)
………
D (n, 1), D (n, 2),…, D (n, n-1)
(i = 1 ~ n), (j = 1 ~ n-1)
The present embodiment performs an exclusive OR operation (XOR) of the original partial data and the random number partial data on a plurality of partial data divided according to the processing unit bit length as described above. The method is characterized in that the original data is divided using a definition expression consisting of exclusive OR operation (XOR) of data and random number partial data, and a method using a polynomial or remainder operation in the data division processing described above. Compared with (the method in the first and second embodiments), the use of an exclusive OR (XOR) operation, which is a bit operation suitable for computer processing, requires high-speed and high-performance operation processing capability. In addition to this, it is possible to generate divided data by repeating simple arithmetic processing even for large amounts of data, and the storage capacity required for storing the divided data is a multiple of the number proportional to the number of divisions. It can be made smaller than that. Further, the divided data is generated by a stream process in which the arithmetic processing is sequentially performed from the beginning of the data for each arbitrarily determined constant length.
なお、本実施形態で使用する排他的論理和演算(XOR)は、以下の説明では、「*」なる演算記号で表すことにするが、この排他的論理和演算のビット毎の演算規則での各演算結果は下記のとおりである。 In the following description, the exclusive OR operation (XOR) used in the present embodiment will be represented by an operation symbol “*”. The results of each operation are as follows.
0 * 0 の演算結果は 0
0 * 1 の演算結果は 1
1 * 0 の演算結果は 1
1 * 1 の演算結果は 0
また、XOR演算は交換法則、結合法則が成り立つ。すなわち、
a*b=b*a
(a*b)*c=a*(b*c)が成り立つことが数学的に証明される。
0 * 0 results in 0
Operation result of 0 * 1 is 1
The operation result of 1 * 0 is 1
1 * 1 operation result is 0
In addition, the XOR operation satisfies the exchange rule and the combination rule. That is,
a * b = b * a
It is mathematically proved that (a * b) * c = a * (b * c) holds.
また、a*a=0,a*0=0*a=aが成り立つ。 Further, a * a = 0 and a * 0 = 0 * a = a hold.
ここでa,b,cは同じ長さのビット列を表し、0はこれらと同じ長さですべて「0」からなるビット列を表す。 Here, a, b, and c represent bit strings of the same length, and 0 represents a bit string of the same length and composed of all “0”.
次に、フローチャートなどの図面も参照して、本実施の形態における秘密分散法Sの作用について説明するが、この説明の前に図9乃至12のフローチャートに示す記号の定義について説明する。 Next, the operation of the secret sharing scheme S in the present embodiment will be described with reference to the drawings such as flowcharts. Before this description, the definitions of the symbols shown in the flowcharts of FIGS. 9 to 12 will be described.
(1)Πi=1 nA(i)は、A(1)*A(2)*…A(n)を意味するものとする。 (1) Π i = 1 n A (i) means A (1) * A (2) *... A (n).
(2)c(j,i,k)を(n-1)×(n-1)行列であるU[n-1,n-1]×(P[n-1,n-1])^(j-1)のi行k列の値と定義する。 (2) c (j, i, k) is a [n-1) × (n-1) matrix U [n-1, n-1] × (P [n-1, n-1]) ^ It is defined as the value of the i-th row and the k-th column of (j-1).
このときQ(j,i,k)を下記のように定義する。 At this time, Q (j, i, k) is defined as follows.
c(j,i,k)=1 のとき Q(j,i,k)=R((n-1)×m+k)
c(j,i,k)=0 のとき Q(j,i,k)=0
(3)U[n,n]とは、n×n行列であって、i行j列の値をu(i,j)で表すと、
i+j<=n+1 のとき u(i,j)=1
i+j>n+1 のとき u(i,j)=0
である行列を意味するものとし、「上三角行列」ということとする。具体的には下記のような行列である。
j=i+1 のとき p(i,j)=1
i=1,j=n のとき p(i,j)=1
上記以外のとき p(i,j)=0
である行列を意味するものとし、「回転行列」ということとする。具体的には下記のような行列であり、他の行列の右側からかけると当該他の行列の1列目を2列目へ、2列目を3列目へ、…,n-1列目をn列目へ、n列目を1列目へ移動させる作用がある。つまり、行列Pを他の行列に右側から複数回かけると、その回数分だけ各列を右方向へ回転させるように移動させることができる。
Q (j, i, k) = 0 when c (j, i, k) = 0
(3) U [n, n] is an n × n matrix, and the value of the i-th row and the j-th column is represented by u (i, j).
u (i, j) = 1 when i + j <= n + 1
u (i, j) = 0 when i + j> n + 1
And is referred to as an “upper triangular matrix”. Specifically, the matrix is as follows.
When j = i + 1, p (i, j) = 1
When i = 1, j = n p (i, j) = 1
Other than above p (i, j) = 0
And a “rotation matrix”. Specifically, the following matrix is obtained. When multiplied from the right side of another matrix, the first column of the other matrix becomes the second column, the second column becomes the third column,. To the n-th column and the n-th column to the first column. That is, when the matrix P is applied to another matrix a plurality of times from the right side, each column can be moved so as to rotate to the right by the number of times.
(6)Aをn×n行列とし、iを整数とすると、A^iとは行列Aのi個の積を意味するものとする。また、A^0とは単位行列Eを意味するものとする。 (6) Assuming that A is an n × n matrix and i is an integer, A ^ i means i products of the matrix A. A ^ 0 means the unit matrix E.
(7)単位行列E[n,n]とは、n×n行列であって、i行j列の値をe(i,j)で表すと、
i=j のとき e(i,j)=1
上記以外のとき e(i,j)=0
である行列を意味するものとする。具体的には下記のような行列である。Aを任意のn×n行列とすると
A×E=E×A=A
となる性質がある。
e (i, j) = 1 when i = j
Other than above e (i, j) = 0
Let be a matrix. Specifically, the matrix is as follows. Let A be any n × n matrix
A × E = E × A = A
There is a property that.
まず、元データBを分割装置6に供給する(図9のステップS201)。なお、本例では、元データBは、16ビットの「10110010 00110111」とする。 First, the original data B is supplied to the dividing device 6 (Step S201 in FIG. 9). In this example, the original data B is 16-bit “10110010 00110111”.
次に、利用者は端末5から分割数nとして3を分割装置6に指示する(ステップS203)。この分割数nは分割装置6において予め定められた値を用いてもよい。なお、この分割数n=3に従って分割装置6で生成される3個の分割データをD(1),D(2),D(3)とする。この分割データD(1),D(2),D(3)は、すべて元データのビット長と同じ16ビット長のデータである。
Next, the user instructs the
それから、元データBを分割するために使用される処理単位ビット長bを8ビットと決定し、また元データと同じビット長である16ビットの乱数Rを乱数発生部34から取得して生成する(ステップS205)。この処理単位ビット長bは、利用者が端末5から分割装置6に対して指定してもよいし、または分割装置6において予め定められた値を用いてもよい。なお、処理単位ビット長bは、任意のビット数でよいが、ここでは元データBを割り切れることができる8ビットとしている。従って、上記16ビットの「10110010 00110111」の元データBは、8ビットの処理単位ビット長で区分けされた場合の2個の元分割データB(1)およびB(2)は、それぞれ「10110010」および「00110111」となる。
Then, the processing unit bit length b used to divide the original data B is determined to be 8 bits, and a 16-bit random number R having the same bit length as the original data is obtained from the random
次のステップS207では、元データBのビット長が8×2の整数倍であるか否かを判定し、整数倍でない場合には、元データBの末尾を0で埋めて、8×2の整数倍に合わせる。なお、本例のように処理単位ビット長bが8ビットおよび分割数nが3に設定された場合における分割処理は、元データBのビット長として16ビットに限られるものでなく、処理単位ビット長b×(分割数n-1)=8×2の整数倍の元データBに対して有効なものである。 In the next step S207, it is determined whether or not the bit length of the original data B is an integral multiple of 8 × 2, and if not, the end of the original data B is padded with 0, and the 8 × 2 Adjust to an integral multiple. Note that the division processing when the processing unit bit length b is set to 8 bits and the division number n is set to 3 as in this example is not limited to 16 bits as the bit length of the original data B. This is effective for original data B having an integer multiple of length b × (number of divisions n−1) = 8 × 2.
次に、ステップS209では、変数m、すなわち上述した整数倍を意味する変数mを0に設定する。本例のように、元データBが処理単位ビット長b×(分割数n-1)=8×2=16ビットである場合には、変数mは0であるが、2倍の32ビットの場合には、変数mは1となり、3倍の48ビットの場合には、変数mは2となる。 Next, in step S209, the variable m, that is, the variable m meaning the integral multiple described above, is set to 0. When the original data B has a processing unit bit length b × (number of divisions n−1) = 8 × 2 = 16 bits as in this example, the variable m is 0, but it is twice as large as 32 bits. In this case, the variable m becomes 1, and in the case of three times 48 bits, the variable m becomes 2.
次に、元データBの8×2×m+1ビット目から8×2ビット分のデータが存在するか否かが判定される(ステップS211)。これは、このステップS211以降に示す分割処理を元データBの変数mで特定される処理単位ビット長b×(分割数n-1)=8×2=16ビットに対して行った後、元データBとして次の16ビットがあるか否かを判定しているものである。本例のように元データBが16ビットである場合には、16ビットの元データBに対してステップS211以降の分割処理を1回行うと、後述するステップS219で変数mが+1されるが、本例の元データBでは変数mがm+1の場合に相当する17ビット以降のデータは存在しないので、ステップS211からステップS221に進むことになるが、今の場合は、変数mは0であるので、元データBの8×2×m+1ビット目は、8×2×0+1=1となり、元データBの16ビットの1ビット目から8×2ビット分にデータが存在するため、ステップS213に進む。 Next, it is determined whether or not data of 8 × 2 bits from the 8 × 2 × m + 1th bit of the original data B exists (step S211). This is because the division processing shown in step S211 and subsequent steps is performed on the processing unit bit length b × (number of divisions n−1) = 8 × 2 = 16 bits specified by the variable m of the original data B, and then It is determined whether there is the next 16 bits as data B. In the case where the original data B is 16 bits as in this example, if the division processing from step S211 is performed once on the 16-bit original data B, the variable m is incremented by 1 in step S219 described later. However, in the original data B of this example, since there is no data of 17 bits or less corresponding to the case where the variable m is m + 1, the process proceeds from step S211 to step S221. In this case, the variable m is Since it is 0, the 8 × 2 × m + 1-th bit of the original data B becomes 8 × 2 × 0 + 1 = 1, and data is stored in 8 × 2 bits from the first 16 bits of the original data B. Since it exists, the process proceeds to step S213.
ステップS213では、変数jを1から2(=分割数n-1)まで変えて、元データBの8×(2×m+j-1)+1ビット目から8ビット分(=処理単位ビット長)のデータを元部分データB(2×m+j)に設定し、これにより元データBを処理単位ビット長で区分けした2(分割数n-1)個の元部分データB(1),B(2)を次のように生成する。 In step S213, the variable j is changed from 1 to 2 (= the number of divisions n−1), and 8 bits from the 8 × (2 × m + j−1) +1 bit of the original data B (= processing unit bit) (Length) is set to the original partial data B (2 × m + j), whereby the original data B is divided by the processing unit bit length into 2 (division number n-1) original partial data B (1) , B (2) are generated as follows.
元データB=B(1),B(2)
第1の元部分データB(1)=「10110010」
第2の元部分データB(2)=「00110111」
次に、変数jを1から2(=分割数n-1)まで変えて、乱数部分データR(2×m+j)に乱数発生部34から発生する8ビットの長さの乱数を設定し、これにより乱数Rを処理単位ビット長で区分けした2(分割数n-1)個の乱数部分データR(1),R(2)を次のように生成する(ステップS215)。
Original data B = B (1), B (2)
First original partial data B (1) = “10110010”
Second original partial data B (2) = “00110111”
Next, the variable j is changed from 1 to 2 (= the number of divisions n-1), and an 8-bit random number generated from the random
乱数R=R(1),R(2)
第1の乱数部分データR(1)=「10110001」
第2の乱数部分データR(2)=「00110101」
次に、ステップS217において、変数iを1から3(=分割数n)まで変えるとともに、更に各変数iにおいて変数jを1から2(=分割数n-1)まで変えながら、ステップS217に示す分割データを生成するための元部分データと乱数部分データの排他的論理和からなる定義式により複数の分割データD(i)の各々を構成する各分割部分データD(i,2×m+j)を生成する。この結果、次に示すような分割データDが生成される。
Random number R = R (1), R (2)
First random number partial data R (1) = “10110001”
Second random number partial data R (2) = “00110101”
Next, in step S217, while changing the variable i from 1 to 3 (= the number of divisions n), and further changing the variable j in each variable i from 1 to 2 (= the number of divisions n-1), the process proceeds to step S217. Each of the divided partial data D (i, 2 × m + j) that constitutes each of the plurality of divided data D (i) by a definition formula consisting of exclusive OR of the original partial data and the random number partial data for generating the divided data ) Is generated. As a result, the following divided data D is generated.
分割データD
=3個の分割データD(i)=D(1),D(2),D(3)
第1の分割データD(1)
=2個の分割部分データD(1,j)=D(1,1),D(1,2)
=「00110110」,「10110011」
第2の分割データD(2)
=2個の分割部分データD(2,j)=D(2,1),D(2,2)
=「00000011」,「00000010」
第3の分割データD(3)
=2個の分割部分データD(3,j)=D(3,1),D(3,2)
=「10110001」,「00110101」
なお、各分割部分データ(i,j)を生成するためのステップS217に示す定義式は、本例のように分割数n=3の場合には、具体的には図11に示す表に記載されているものとなる。図11に示す表から、分割部分データD(1,1)を生成するための定義式はB(1)*R(1)*R(2)であり、D(1,2)の定義式はB(2)*R(1)*R(2)であり、D(2,1)の定義式はB(1)*R(1)であり、D(2,2)の定義式はB(2)*R(2)であり、D(3,1)の定義式はR(1)であり、D(3,2)の定義式はR(2)である。また、図11に示す表にはm>0の場合の任意の整数についての一般的な定義式も記載されている。
Division data D
= 3 divided data D (i) = D (1), D (2), D (3)
First divided data D (1)
= 2 divided partial data D (1, j) = D (1,1), D (1,2)
= “00110110”, “10110011”
Second divided data D (2)
= 2 divided partial data D (2, j) = D (2,1), D (2,2)
= "00000011", "00000010"
Third divided data D (3)
= 2 divided partial data D (3, j) = D (3,1), D (3,2)
= `` 10110001 '', `` 00110101 ''
Note that the definition expression in step S217 for generating each divided partial data (i, j) is specifically described in the table shown in FIG. 11 when the division number n = 3 as in this example. It is what is being done. From the table shown in FIG. 11, the definition formula for generating the divided partial data D (1,1) is B (1) * R (1) * R (2), and the definition formula of D (1,2) Is B (2) * R (1) * R (2), the definition of D (2,1) is B (1) * R (1), and the definition of D (2,2) is B (2) * R (2), the defining formula of D (3,1) is R (1), and the defining formula of D (3,2) is R (2). The table shown in FIG. 11 also describes a general definition formula for an arbitrary integer when m> 0.
このように整数倍を意味する変数m=0の場合について分割データDを生成した後、次に変数mを1増やし(ステップS219)、ステップS211に戻り、変数m+1に該当する元データBの17ビット以降について同様の分割処理を行おうとするが、本例の元データBは16ビットであり、17ビット以降のデータは存在しないので、ステップS211からステップS221に進み、上述したように生成した分割データD(1),D(2),D(3)を分割装置6のメモリ10に一時保存して、分割処理を終了する。なお、このように保管された分割データD(1),D(2),D(3)はそれぞれ単独では元データが推測できない。
After the division data D is generated for the case where the variable m = 0, which means an integer multiple, the variable m is incremented by 1 (step S219), and the process returns to step S211 to return to the original data B corresponding to the variable m + 1. In the present example, the same division processing is to be performed for the 17th and subsequent bits. However, since the original data B in this example is 16 bits and there is no data after the 17th bit, the process proceeds from step S211 to step S221, where The divided data D (1), D (2), and D (3) thus obtained are temporarily stored in the
ここで、上述した図9のフローチャートのステップS217における定義式による分割データの生成処理、具体的には分割数n=3の場合の分割データの生成処理について詳しく説明する。 Here, the generation processing of the divided data based on the definition formula in step S217 of the flowchart of FIG. 9 described above, specifically, the generation processing of the divided data when the number of divisions n = 3, will be described in detail.
まず、整数倍を意味する変数m=0の場合には、ステップS217に示す定義式から各分割データD(i)=D(1)〜D(3)の各々を構成する各分割部分データD(i,2×m+j)=D(i,j)(i=1〜3,j=1〜2)は、次のようになる。 First, when the variable m = 0, which means an integer multiple, the divided data D (i) = D (1) to D (3) constituting each of the divided partial data (i, 2 × m + j) = D (i, j) (i = 1 to 3, j = 1 to 2) is as follows.
D(1,1)=B(1)*Q(1,1,1)*Q(1,1,2)
D(1,2)=B(2)*Q(2,1,1)*Q(2,1,2)
D(2,1)=B(1)*Q(1,2,1)*Q(1,2,2)
D(2,2)=B(2)*Q(2,2,1)*Q(2,2,2)
D(3,1)=R(1)
D(3,2)=R(2)
上記の6つの式のうち上から4つの式に含まれるQ(j,i,k)を具体的に求める。
D (1,1) = B (1) * Q (1,1,1) * Q (1,1,2)
D (1,2) = B (2) * Q (2,1,1) * Q (2,1,2)
D (2,1) = B (1) * Q (1,2,1) * Q (1,2,2)
D (2,2) = B (2) * Q (2,2,1) * Q (2,2,2)
D (3,1) = R (1)
D (3,2) = R (2)
Q (j, i, k) included in the four equations from the top among the above six equations is specifically determined.
これはc(j,i,k)を2×2行列であるU[2,2]×(P[2,2])^(j-1)のi行k列の値としたとき下記のように定義される。 This is the following when c (j, i, k) is the value of the i × k matrix of U [2,2] × (P [2,2]) ^ (j−1) which is a 2 × 2 matrix. Is defined as
c(j,i,k)=1 のとき Q(j,i,k)=R(k)
c(j,i,k)=0 のとき Q(j,i,k)=0
ここで、
j=1のときは
Q (j, i, k) = 0 when c (j, i, k) = 0
here,
When j = 1
D(1,1)=B(1)*Q(1,1,1)*Q(1,1,2)=B(1)*R(1)*R(2)
D(1,2)=B(2)*Q(2,1,1)*Q(2,1,2)=B(2)*R(1)*R(2)
D(2,1)=B(1)*Q(1,2,1)*Q(1,2,2)=B(1)*R(1)*0=B(1)*R(1)
D(2,2)=B(2)*Q(2,2,1)*Q(2,2,2)=B(2)*0*R(2)=B(2)*R(2)
上述した各分割部分データD(i,j)を生成するための定義式は、図10にも図示されている。
D (1,1) = B (1) * Q (1,1,1) * Q (1,1,2) = B (1) * R (1) * R (2)
D (1,2) = B (2) * Q (2,1,1) * Q (2,1,2) = B (2) * R (1) * R (2)
D (2,1) = B (1) * Q (1,2,1) * Q (1,2,2) = B (1) * R (1) * 0 = B (1) * R (1 )
D (2,2) = B (2) * Q (2,2,1) * Q (2,2,2) = B (2) * 0 * R (2) = B (2) * R (2 )
The definition formula for generating each of the above-described divided partial data D (i, j) is also illustrated in FIG.
図10は、上述したように16ビットの元データBを8ビットの処理単位ビット長に基づいて分割数n=3で3分割する場合の各データと定義式および各分割部分データから元データを復元する場合の計算式などを示す表である。 FIG. 10 shows the case where the original data B is divided from each data, the definition formula, and each divided partial data when the original data B of 16 bits is divided into three by the division number n = 3 based on the processing unit bit length of 8 bits as described above. It is a table | surface which shows the calculation formula at the time of restoration.
ここで、上述した定義式により分割データD(1),D(2),D(3)および各分割部分データD(1,1),D(1,2),D(2,1),D(2,2),D(3,1),D(3,2)を生成する過程と定義式の一般形について説明する。 Here, the divided data D (1), D (2), D (3) and the divided partial data D (1,1), D (1,2), D (2,1), The process of generating D (2,2), D (3,1), D (3,2) and the general form of the definition formula will be described.
まず、第1の分割データD(1)に対しては、第1の分割部分データD(1,1)は、上述した定義式B(1)*R(1)*R(2)で定義され、第2の分割部分データD(1,2)は定義式B(2)*R(1)*R(2)で定義される。なお、この定義式の一般形は、D(1,j)に対してはB(j)*R(j)*R(j+1)であり、D(1,j+1)に対してB(j+1)*R(j)*R(j+1)である(jは奇数とする)。定義式に従って計算すると、D(1,1)は00110110, D(1,2)は10110011となるので、D(1)は00110110 10110011である。なお、定義式の一般形は、図11にまとめて示されている。 First, for the first divided data D (1), the first divided partial data D (1,1) is defined by the above-described definition formula B (1) * R (1) * R (2) Then, the second divided partial data D (1, 2) is defined by the definition formula B (2) * R (1) * R (2). Note that the general form of this definition formula is B (j) * R (j) * R (j + 1) for D (1, j), and for D (1, j + 1) B (j + 1) * R (j) * R (j + 1) (j is an odd number). When calculated according to the definition formula, D (1,1) becomes 00110110 and D (1,2) becomes 10110011, so that D (1) becomes 00110110 10110011. The general form of the definition formula is shown in FIG.
また、第2の分割データD(2)に対しては、D(2,1)はB(1)*R(1)で定義され、D(2,2)はB(2)*R(2)で定義される。この定義式の一般形は、D(2,j)に対してはB(j)*R(j)であり、D(2,j+1)に対してはB(j+1)*R(j+1)である(jは奇数とする)。定義式に従って計算すると、D(2,1)は00000011, D(2,2)は00000010となるので、D(2)は00000011 00000010である。 For the second divided data D (2), D (2,1) is defined as B (1) * R (1), and D (2,2) is B (2) * R ( Defined in 2). The general form of this definition is B (j) * R (j) for D (2, j) and B (j + 1) * R for D (2, j + 1) (j + 1) (j is an odd number). When calculated according to the definition formula, D (2,1) becomes 00000011 and D (2,2) becomes 00000010, so that D (2) is 00000011 00000010.
更に第3の分割データD(3)に対しては、D(3,1)はR(1)で定義され、D(3,2)はR(2)で定義される。この定義式の一般形は、D(3,j)に対してはR(j)であり、D(3,j+1)に対してはR(3,j+1)である(jは奇数とする)。定義式に従って計算すると、D(3,1)は10110001, D(3,2)は00110101となるので、D(3)は10110001 00110101である。 Further, for the third divided data D (3), D (3,1) is defined by R (1), and D (3,2) is defined by R (2). The general form of this definition is R (j) for D (3, j) and R (3, j + 1) for D (3, j + 1) (where j is Odd number). When calculated according to the definition formula, D (3,1) becomes 10110001, D (3,2) becomes 00110101, and thus D (3) becomes 10110001 00110101.
上記説明は、B,R,D(1),D(2),D(3)の長さを16ビットとしたが、データの先頭から上記分割処理を繰り返すことにより、どのような長さの元データBからでも分割データD(1),D(2),D(3)を生成することができる。また、処理単位ビット長bは任意にとることができ、元データBの先頭から順にb×2の長さ毎に上記分割処理を繰り返すことにより任意の長さの元データ、具体的には処理単位ビット長b×2の整数倍の長さの元データに対して適用することができる。なお、元データBの長さが処理単位ビット長b×2の整数倍でない場合は、例えば、データ末尾の部分を0で埋めるなどして元データBの長さを処理単位ビット長b×2の整数倍に合わせることにより上述した本実施形態の分割処理を適用することができる。 In the above description, the lengths of B, R, D (1), D (2), and D (3) are set to 16 bits. The divided data D (1), D (2), D (3) can be generated even from the original data B. Also, the processing unit bit length b can be arbitrarily set, and by repeating the above-described division processing for each length of b × 2 in order from the beginning of the original data B, the original data of an arbitrary length, specifically the processing It can be applied to original data having a length that is an integral multiple of the unit bit length b × 2. If the length of the original data B is not an integral multiple of the processing unit bit length b × 2, the length of the original data B is set to the processing unit bit length b × 2, for example, by padding the end of the data with 0. The above-described division processing according to the present embodiment can be applied by adjusting to the integral multiple of.
次に、図10の右側に示す表を参照して、分割データから元データを復元する処理について説明する。 Next, a process of restoring original data from divided data will be described with reference to a table shown on the right side of FIG.
まず、分割装置6に元データBの復元を要求する。分割装置6は、この元データBの復元要求を受け取ると、この元データBに対応する分割データD(1),D(2),D(3)が保管サーバ3a1,3a2,3a3に保管されていることを記憶しているので、ネットワークNを介して保管サーバ3a1,3a2,3a3から分割データD(1),D(2),D(3)を取得し、この取得した分割データD(1),D(2),D(3)から次に示すように元データBを復元する。
First, it requests the
まず、分割部分データD(2,1),D(3,1)から第1の元部分データB(1)を次のように生成することができる。 First, first original partial data B (1) can be generated from the divided partial data D (2,1), D (3,1) as follows.
D(2,1)*D(3,1)=(B(1)*R(1))*R(1)
=B(1)*(R(1)*R(1))
=B(1)*0
=B(1)
具体的に計算すると、D(2,1)は00000011, D(3,1)は10110001なので、B(1)は10110010となる。
D (2,1) * D (3,1) = (B (1) * R (1)) * R (1)
= B (1) * (R (1) * R (1))
= B (1) * 0
= B (1)
Specifically, since D (2, 1) is 00000011 and D (3, 1) is 10110001, B (1) is 10110010.
また、別の分割部分データから次のように第2の元部分データB(2)を生成することができる。 Further, second original partial data B (2) can be generated from another divided partial data as follows.
D(2,2)*D(3,2)=(B(2)*R(2))*R(2)
=B(2)*(R(2)*R(2))
=B(2)*0
=B(2)
具体的に計算すると、D(2,2)は00000010, D(3,2)は00110101なので、B(2)は00110111となる。
D (2,2) * D (3,2) = (B (2) * R (2)) * R (2)
= B (2) * (R (2) * R (2))
= B (2) * 0
= B (2)
Specifically, since D (2, 2) is 00000010 and D (3, 2) is 00110101, B (2) is 00110111.
一般に、jを奇数として、
D(2,j)*D(3,j)=(B(j)*R(j))*R(j)
=B(j)*(R(j)*R(j))
=B(j)*0
=B(j)
であるから、D(2,j)*D(3,j)を計算すれば、B(j)が求まる。
In general, if j is odd,
D (2, j) * D (3, j) = (B (j) * R (j)) * R (j)
= B (j) * (R (j) * R (j))
= B (j) * 0
= B (j)
Therefore, if D (2, j) * D (3, j) is calculated, B (j) can be obtained.
また、一般に、jを奇数として、
D(2,j+1)*D(3,j+1)=(B(j+1)*R(j+1))*R(j+1)
=B(j+1)*(R(j+1)*R(j+1))
=B(j+1)*0
=B(j+1)
であるから、D(2,j+1)*D(3,j+1)を計算すれば、B(j+1)が求まる。
Also, in general, j is an odd number,
D (2, j + 1) * D (3, j + 1) = (B (j + 1) * R (j + 1)) * R (j + 1)
= B (j + 1) * (R (j + 1) * R (j + 1))
= B (j + 1) * 0
= B (j + 1)
Therefore, if D (2, j + 1) * D (3, j + 1) is calculated, B (j + 1) is obtained.
次に、D(1),D(3)を取得してBを復元する場合には、次のようになる。 Next, when D (1) and D (3) are acquired and B is restored, the following is performed.
D(1,1)*D(3,1)*D(3,2)=(B(1)*R(1)*R(2))*R(1)*R(2) =B(1)*(R(1)*R(1))*(R(2)*R(2))
=B(1)*0*0
=B(1)
であるから、D(1,1)*D(3,1)*D(3,2)を計算すれば、B(1)が求まる。具体的に計算すると、D(1,1)は00110110, D(3,1)は10110001, D(3,2)は00110101なので、B(1)は10110010となる。
D (1,1) * D (3,1) * D (3,2) = (B (1) * R (1) * R (2)) * R (1) * R (2) = B ( 1) * (R (1) * R (1)) * (R (2) * R (2))
= B (1) * 0 * 0
= B (1)
Therefore, if D (1,1) * D (3,1) * D (3,2) is calculated, B (1) can be obtained. When specifically calculated, B (1) becomes 10110010 because D (1,1) is 00110110, D (3,1) is 10110001, and D (3,2) is 00110101.
また同様に、
D(1,2)*D(3,1)*D(3,2)=(B(2)*R(1)*R(2))*R(1)*R(2)
=B(2)*(R(1)*R(1))*(R(2)*R(2))
=B(2)*0*0
=B(2)
であるから、D(1,2)*D(3,1)*D(3,2)を計算すれば、B(2)が求まる。具体的に計算すると、D(1,2)は10110011, D(3,1)は10110001, D(3,2)は00110101なので、B(2)は00110111となる。
Similarly,
D (1,2) * D (3,1) * D (3,2) = (B (2) * R (1) * R (2)) * R (1) * R (2)
= B (2) * (R (1) * R (1)) * (R (2) * R (2))
= B (2) * 0 * 0
= B (2)
Therefore, if D (1,2) * D (3,1) * D (3,2) is calculated, B (2) can be obtained. When specifically calculated, D (1,2) is 10110011, D (3,1) is 10110001, D (3,2) is 00110101, and B (2) is 00110111.
一般に、jを奇数として、
D(1,j)*D(3,j)*D(3,j+1)=(B(j)*R(j)*R(j+1))*R(j)*R(j+1)
=B(j)*(R(j)*R(j))*(R(j+1)*R(j+1))
=B(j)*0*0
=B(j)
であるから、D(1,j)*D(3,j)*D(3,j+1)を計算すれば、B(j)が求まる。
In general, if j is odd,
D (1, j) * D (3, j) * D (3, j + 1) = (B (j) * R (j) * R (j + 1)) * R (j) * R (j +1)
= B (j) * (R (j) * R (j)) * (R (j + 1) * R (j + 1))
= B (j) * 0 * 0
= B (j)
Therefore, by calculating D (1, j) * D (3, j) * D (3, j + 1), B (j) can be obtained.
また、一般に、jを奇数として、
D(1,j+1)*D(3,j)*D(3,j+1)=(B(j+1)*R(j)*R(j+1))*R(j)*R(j+1)
=B(j+1)*(R(j)*R(j))*(R(j+1)*R(j+1))
=B(j+1)*0*0
=B(j+1)
であるから、D(1,j+1)*D(3,j)*D(3,j+1)を計算すれば、B(j+1)が求まる。
Also, in general, j is an odd number,
D (1, j + 1) * D (3, j) * D (3, j + 1) = (B (j + 1) * R (j) * R (j + 1)) * R (j) * R (j + 1)
= B (j + 1) * (R (j) * R (j)) * (R (j + 1) * R (j + 1))
= B (j + 1) * 0 * 0
= B (j + 1)
Therefore, if D (1, j + 1) * D (3, j) * D (3, j + 1) is calculated, B (j + 1) is obtained.
次に、D(1),D(2)を取得してBを復元する場合には、次のようになる。 Next, when D (1) and D (2) are acquired and B is restored, the following is performed.
D(1,1)*D(2,1)=(B(1)*R(1)*R(2))*(B(1)*R(1))
=(B(1)*B(1))*(R(1)*R(1))*R(2)
=0*0*R(2)
=R(2)
であるから、D(1,1)*D(2,1)を計算すれば、R(2)が求まる。具体的に計算すると、D(1,1)は00110110, D(2,1)は00000011なので、R(2)は00110101となる。
D (1,1) * D (2,1) = (B (1) * R (1) * R (2)) * (B (1) * R (1))
= (B (1) * B (1)) * (R (1) * R (1)) * R (2)
= 0 * 0 * R (2)
= R (2)
Therefore, if D (1,1) * D (2,1) is calculated, R (2) can be obtained. When specifically calculated, since D (1,1) is 00110110 and D (2,1) is 00000011, R (2) is 00110101.
また同様に、
D(1,2)*D(2,2)=(B(2)*R(1)*R(2))*(B(2)*R(2))
=(B(2)*B(2))*R(1)*(R(2)*R(2))
=0*R(1)*0
=R(1)
であるから、D(1,2)*D(2,2)を計算すれば、R(1)が求まる。具体的に計算すると、D(1,2)は10110011, D(2,2)は00000010なので、R(1)は10110001となる。
Similarly,
D (1,2) * D (2,2) = (B (2) * R (1) * R (2)) * (B (2) * R (2))
= (B (2) * B (2)) * R (1) * (R (2) * R (2))
= 0 * R (1) * 0
= R (1)
Therefore, if D (1,2) * D (2,2) is calculated, R (1) can be obtained. Specifically, since D (1, 2) is 10110011 and D (2, 2) is 00000010, R (1) is 10110001.
このR(1),R(2)を使用してB(1),B(2)を求める。 Using these R (1) and R (2), B (1) and B (2) are obtained.
D(2,1)*R(1)=(B(1)*R(1))*R(1)
=B(1)*(R(1)*R(1))
=B(1)*0
=B(1)
であるから、D(2,1)*R(1)を計算すれば、B(1)が求まる。具体的に計算すると、D(2,1)は00000011, R(1)は10110001なので、B(1)は10110010となる。
D (2,1) * R (1) = (B (1) * R (1)) * R (1)
= B (1) * (R (1) * R (1))
= B (1) * 0
= B (1)
Therefore, if D (2,1) * R (1) is calculated, B (1) is obtained. Specifically, since D (2, 1) is 00000011 and R (1) is 10110001, B (1) is 10110010.
また同様に、
D(2,2)*R(2)=(B(2)*R(2))*R(2)
=B(2)*(R(2)*R(2))
=B(2)*0
=B(2)
であるからD(2,2)*R(2)を計算すればB(2)が求まる。具体的に計算するとD(2,2)は00000010, R(2)は00110101なので、B(2)は00110111となる。
Similarly,
D (2,2) * R (2) = (B (2) * R (2)) * R (2)
= B (2) * (R (2) * R (2))
= B (2) * 0
= B (2)
Therefore, if D (2,2) * R (2) is calculated, B (2) can be obtained. Specifically, since D (2, 2) is 00000010 and R (2) is 00110101, B (2) is 00110111.
一般に、jを奇数として、
D(1,j)*D(2,j)=(B(j)*R(j)*R(j+1))*(B(j)*R(j))
=(B(j)*B(j))*(R(j)*R(j))*R(j+1)
=0*0*R(j+1)
=R(j+1)
であるからD(1,j)*D(2,j)を計算すればR(j+1)が求まる。
In general, if j is odd,
D (1, j) * D (2, j) = (B (j) * R (j) * R (j + 1)) * (B (j) * R (j))
= (B (j) * B (j)) * (R (j) * R (j)) * R (j + 1)
= 0 * 0 * R (j + 1)
= R (j + 1)
Then, if D (1, j) * D (2, j) is calculated, R (j + 1) can be obtained.
また同様に、
D(1,j+1)*D(2,j+1)=(B(j+1)*R(j)*R(j+1))*(B(j+1)*R(j+1))
=(B(j+1)*B(j+1))*R(j)*(R(j+1)*R(j+1))
=0*R(j)*0
=R(j)
であるからD(1,j+1)*D(2,j+1)を計算すればR(j)が求まる。
Similarly,
D (1, j + 1) * D (2, j + 1) = (B (j + 1) * R (j) * R (j + 1)) * (B (j + 1) * R (j +1))
= (B (j + 1) * B (j + 1)) * R (j) * (R (j + 1) * R (j + 1))
= 0 * R (j) * 0
= R (j)
Therefore, if D (1, j + 1) * D (2, j + 1) is calculated, R (j) can be obtained.
このR(j),R(j+1)を使用してB(j),B(j+1)を求める。 Using these R (j) and R (j + 1), B (j) and B (j + 1) are obtained.
D(2,j)*R(j)=(B(j)*R(j))*R(j)
=B(j)*(R(j)*R(j))
=B(j)*0
=B(j)
であるからD(2,j)*R(j)を計算すればB(j)が求まる。
D (2, j) * R (j) = (B (j) * R (j)) * R (j)
= B (j) * (R (j) * R (j))
= B (j) * 0
= B (j)
Therefore, B (j) can be obtained by calculating D (2, j) * R (j).
また同様に、
D(2,j+1)*R(j+1)=(B(j+1)*R(j+1))*R(j+1)
=B(j+1)*(R(j+1)*R(j+1))
=B(j+1)*0
=B(j+1)
であるからD(2,j+1)*R(j+1)を計算すればB(j+1)が求まる。
Similarly,
D (2, j + 1) * R (j + 1) = (B (j + 1) * R (j + 1)) * R (j + 1)
= B (j + 1) * (R (j + 1) * R (j + 1))
= B (j + 1) * 0
= B (j + 1)
Therefore, if D (2, j + 1) * R (j + 1) is calculated, B (j + 1) can be obtained.
上述したように、元データの先頭から処理単位ビット長bに基づいて分割処理を繰り返し行って、分割データを生成した場合には、3つの分割データD(1),D(2),D(3)のすべてを用いなくても、3つの分割データのうち、2つの分割データを用いて上述したように元データを復元することができる。 As described above, when divided processing is repeatedly performed based on the processing unit bit length b from the beginning of the original data to generate divided data, three divided data D (1), D (2), D ( Even without using all of 3), as described above, the original data can be restored using two of the three divided data.
本発明の他の方法として、乱数Rのビット長を元データBのビット長よりも短いものを使用して、元データの分割処理を行うことができる。 As another method of the present invention, the original data can be divided by using a bit length of the random number R shorter than that of the original data B.
すなわち、上述した乱数RはB,D(1),D(2),D(3)と同じビット長のデータとしたが、乱数Rを元データBのビット長より短いものとし、分割データD(1),D(2),D(3)の生成にこの短いビット長の乱数Rを繰り返し用いるものである。 That is, although the random number R described above is data having the same bit length as B, D (1), D (2), and D (3), the random number R is shorter than the bit length of the original data B, and the divided data D (1), D (2), and D (3) are generated by repeatedly using this short bit length random number R.
なお、分割データD(3)は乱数Rのみから生成されるので、分割データD(3)は乱数Rを繰り返して保管しておく必要はない。例えば、元データBのビット長を1600ビット(200バイト)としたとき、乱数Rは任意にとった160ビット(20バイト)のデータの繰り返しとする。つまり、R(1)〜R(20)はランダムに生成し、R(21)〜R(200)はR(21)=R(1),R(22)=R(2),…,R(40)=R(20),R(41)=R(1),R(42)=R(2),…,R(60)=R(20),R(61)=R(1),R(62)=R(2),…,R(80)=R(20),………,R(181)=R(1),R(182)=R(2),…,R(200)=R(20)とする。 Since the divided data D (3) is generated only from the random number R, it is not necessary to store the divided data D (3) by repeating the random number R. For example, when the bit length of the original data B is 1600 bits (200 bytes), the random number R is a repetition of arbitrarily taken 160 bits (20 bytes) of data. That is, R (1) to R (20) are randomly generated, and R (21) to R (200) are R (21) = R (1), R (22) = R (2),. (40) = R (20), R (41) = R (1), R (42) = R (2), ..., R (60) = R (20), R (61) = R (1) , R (62) = R (2),…, R (80) = R (20), ………, R (181) = R (1), R (182) = R (2),…, R (200) = R (20).
先の説明では、分割部分データD(3,j)を乱数部分データR(j)と定義してD(3)を生成しているが、D(3,20)まで保管すれば十分である。つまり、D(3)の長さはD(1),D(2)の10分の1となる。従って、保管すべきデータの総量は先の実施形態では元データBの3倍であるが、この実施形態では2.1倍とすることができる。 In the above description, D (3) is generated by defining the divided partial data D (3, j) as random number partial data R (j), but it is sufficient to store up to D (3, 20) . That is, the length of D (3) is 1/10 of D (1) and D (2). Therefore, the total amount of data to be stored is three times that of the original data B in the previous embodiment, but can be 2.1 times in this embodiment.
乱数Rにおける繰り返し部分のデータの長さは、短すぎると、D(1)またはD(2)のみからRが解読されてしまうことも考えられるため、適切な長さを選択することが望ましい。 If the length of the data of the repetition part in the random number R is too short, R may be decrypted only from D (1) or D (2), so it is desirable to select an appropriate length.
次に、図12に示すフローチャートを参照して、分割数がnで、処理単位ビット長がbである場合の一般的な分割処理について説明する。 Next, with reference to the flowchart shown in FIG. 12, a general division process when the number of divisions is n and the processing unit bit length is b will be described.
まず、元データBを分割装置6に供給する(ステップS401)。また、利用者は端末5から分割数n(n≧3である任意の整数)を分割装置6に指示する(ステップS403)。この分割数nは分割装置6において予め定められた値を用いてもよい。処理単位ビット長bを決定する(ステップS405)。なお、bは0より大きい任意の整数である。次に、元データBのビット長がb×(n-1)の整数倍であるか否かを判定し、整数倍でない場合には、元データBの末尾を0で埋める(ステップS407)。また、整数倍を意味する変数mを0に設定する(ステップS409)。
First, the original data B is supplied to the dividing device 6 (step S401). In addition, the user instructs the number of divisions n (an arbitrary integer satisfying n ≧ 3) to the
次に、元データBのb×(n-1)×m+1ビット目からb×(n-1)ビット分のデータが存在するか否かが判定される(ステップS411)。この判定の結果、データが存在しない場合は、ステップS421に進むことになるが、今の場合は、ステップS409で変数mは0に設定された場合であるので、データが存在するため、ステップS413に進む。 Next, it is determined whether there is data of b × (n−1) bits from the b × (n−1) × m + 1th bit of the original data B (step S411). If the result of this determination is that there is no data, the process proceeds to step S421. In this case, however, since the variable m has been set to 0 in step S409, there is data, so step S413 Proceed to.
ステップS413では、変数jを1からn-1まで変えて、元データBのb×(n-1)×m+j-1)+1ビット目からbビット分のデータを元部分データB((n-1)×m+j)に設定する処理を繰り返し、これにより元データBを処理単位ビット長bで区分けした(n-1)個の元部分データB(1),B(2),…B(n-1)が生成される。 In step S413, the variable j is changed from 1 to n−1, and data of b bits from the (b × (n−1) × m + j−1) +1 bit of the original data B is converted to the original partial data B ( (n-1) × m + j) is repeated, whereby (n-1) original partial data B (1) and B (2) are obtained by dividing the original data B by the processing unit bit length b. ,... B (n-1) are generated.
次に、変数jを1からn-1まで変えて、乱数部分データR((n-1)×m+j)に乱数発生部34から発生する処理単位ビット長bの乱数を設定し、これにより乱数Rを処理単位ビット長bで区分けしたn-1個の乱数部分データR(1),R(2),…R(n-1)が生成される(ステップS415)。
Next, the variable j is changed from 1 to n−1, and a random number having a processing unit bit length b generated from the random
次に、ステップS417において、変数iを1からnまで変えるとともに、更に各変数iにおいて変数jを1からn-1まで変えながら、ステップS417に示す分割データを生成するための定義式により複数の分割データD(i)の各々を構成する各分割部分データD(i,(n-1)×m+j)を生成する。この結果、次に示すような分割データDが生成される。 Next, in step S417, while changing the variable i from 1 to n, and further changing the variable j from 1 to n-1 in each variable i, a plurality of definitions are made according to the definition formula for generating the divided data shown in step S417. Each divided partial data D (i, (n−1) × m + j) constituting each of the divided data D (i) is generated. As a result, the following divided data D is generated.
分割データD
=n個の分割データD(i)=D(1),D(2),…D(n)
第1の分割データD(1)
=n-1個の分割部分データD(1,j)=D(1,1),D(1,2),…D(1,n-1)
第2の分割データD(2)
=n-1個の分割部分データD(2,j)=D(2,1),D(2,2),…D(2,n-1)
… … …
… … …
第nの分割データD(n)
=n-1個の分割部分データD(n,j)=D(n,1),D(n,2),…D(n,n-1)
このように変数m=0の場合について分割データDを生成した後、次に変数mを1増やし(ステップS419)、ステップS411に戻り、変数m=1に該当する元データBのb×(n-1)ビット以降について同様の分割処理を行う。最後にステップS411の判定の結果、元データBにデータがなくなった場合、ステップS411からステップS421に進み、上述したように生成した分割データD(1), …,D(n)を分割装置6のメモリ10に一時保存して、分割処理を終了する。
Division data D
= n pieces of divided data D (i) = D (1), D (2), ... D (n)
First divided data D (1)
= n-1 divided partial data D (1, j) = D (1,1), D (1,2), ... D (1, n-1)
Second divided data D (2)
= n-1 divided partial data D (2, j) = D (2,1), D (2,2), ... D (2, n-1)
………
………
N-th divided data D (n)
= n-1 divided partial data D (n, j) = D (n, 1), D (n, 2), ... D (n, n-1)
After the divided data D is generated for the case where the variable m = 0, the variable m is incremented by 1 (step S419), and the process returns to step S411, where b × (n) of the original data B corresponding to the variable m = 1 -1) The same division processing is performed for the bits and thereafter. Finally, as a result of the determination in step S411, when there is no more data in the original data B, the process proceeds from step S411 to step S421, where the divided data D (1),. Is temporarily stored in the
以上述べたように、本実施形態によれば、元データBを、元データBのハッシュ値Hを含めて秘密分散法Sにより複数の分割データD(1)〜D(3)に分割し、また、分割データD(1)〜D(3)、ヘッダ情報A1〜A3、並びに分割データD(1)〜D(3)およびヘッダ情報A1〜A3から算出されたハッシュ値h1〜h3から構成される送信分割データDD(1)〜DD(3)を生成し、該送信分割データDD(1)〜DD(3)を保管サーバ3a1〜3a3にそれぞれ保管しているため、その送信分割データDD(1)〜DD(3)の内の少なくとも一部が改竄された場合でも、改竄データを含む送信分割データDD(1)〜DD(3)から、その送信分割データDD(1)〜DD(3)に対する改竄の有無を容易に確認することができる。 As described above, according to the present embodiment, the original data B is divided into a plurality of divided data D (1) to D (3) by the secret sharing method S including the hash value H of the original data B, Further, it is composed of divided data D (1) to D (3), header information A1 to A3, and hash values h1 to h3 calculated from divided data D (1) to D (3) and header information A1 to A3. The transmission division data DD (1) to DD (3) are generated and the transmission division data DD (1) to DD (3) are stored in the storage servers 3a1 to 3a3, respectively. Even if at least a part of 1) to DD (3) has been tampered with, the transmission division data DD (1) to DD (3) are obtained from the transmission division data DD (1) to DD (3) including the falsified data. ) Can be easily checked for tampering. Can.
この結果、例えば元データBを長期間に亘って保管する場合であっても、電子署名のように、電子証明書の再発行処理および電子署名付きデータ作成処理を繰り返し行うことなく、簡易に元データBを保管することができる。 As a result, for example, even when the original data B is stored for a long period of time, the original data B can be easily saved without repeating the process of reissuing the electronic certificate and the process of creating the data with the electronic signature as in the case of the electronic signature. Data B can be stored.
また、本実施形態によれば、元データBを送信分割データDD(1)〜DD(3)に分割して保管サーバ3a1〜3a3に保管しているため、例えば、送信分割データDD(1)〜DD(3)の内の1つの分割データが改竄された場合でも、残りの分割データを用いて元データBを復元することができる。 Further, according to the present embodiment, since the original data B is divided into transmission divided data DD (1) to DD (3) and stored in the storage servers 3a1 to 3a3, for example, the transmission divided data DD (1) Even if one of the divided data of DD (3) is falsified, the original data B can be restored using the remaining divided data.
この結果、元データBの原本性をより確実に確保することができる
また、第1および第2の実施の形態における秘密分散法は、公開鍵暗号方式の秘密鍵の分割管理などで利用されており、比較的データ容量の小さいデータに対して実用的な方法であるが、本実施の形態における秘密分散法Sは、多項式演算・剰余演算などを含む多倍長整数の演算処理を必要としないので、大容量データを多数処理する場合においても簡単かつ迅速にデータの分割および復元を行うことができるという効果を得ることができる。
As a result, the originality of the original data B can be more reliably ensured. The secret sharing method in the first and second embodiments is used for division management of a secret key of a public key cryptosystem. Although this is a practical method for data having a relatively small data capacity, the secret sharing scheme S according to the present embodiment does not require multiple long integer arithmetic processing including polynomial arithmetic and remainder arithmetic. Therefore, it is possible to obtain an effect that the data can be easily and quickly divided and restored even when a large amount of large data is processed.
なお、第1および第2の実施の形態では、元データBを分割した分割データD(1)〜D(4)を、クライアント2に対してネットワークNを介して接続された保管サーバ3a1〜3a4に保管し、第3の実施の形態では、元データBを分割した送信分割データDD(1)〜DD(3)を、分割装置6に対してネットワークNを介して接続された保管サーバ3a1〜3a3に保管するように構成したが、本発明はこの構成に限定されるものではない。
In the first and second embodiments, the divided data D (1) to D (4) obtained by dividing the original data B are stored in the storage servers 3a1 to 3a4 connected to the
例えば、データ原本性確保システム1の変形例を図13に示す。
For example, a modification of the data
図13に示すように、変形例に係わるデータ原本性確保システム1Aは、クライアント側単独でのクライアントシステム25として構成されており、このクライアントシステム25は、クライアント2と、このクライアント2に対してLAN等を介して接続された互いにハードウェア的に独立した複数の保管用記憶装置20a1〜20a4とを備えている。
As shown in FIG. 13, the data originality securing system 1A according to the modified example is configured as a
図13に示すようにデータ原本性確保システム1Aを構成しても、元データBを分割データD(1)〜D(4)として複数の保管用記憶装置20a1〜20a4に保管することができ、元データBの原本性を簡易かつ確実に確保しながら保管することができる。 Even if the data originality assurance system 1A is configured as shown in FIG. 13, the original data B can be stored as the divided data D (1) to D (4) in the plurality of storage storage devices 20a1 to 20a4, The original data B can be stored while ensuring the originality thereof simply and reliably.
また、同様に、データ原本性確保システム4の変形例として、端末5、分割装置6、および保管サーバ3a1〜3a3をクライアント側単独でのクライアントシステムとして構成してもよいものである。
Similarly, as a modified example of the data originality securing system 4, the
さらに、上記実施の形態で説明した各システム構成は、あくまでも好適な一具体例を示したものであり、機能的に同一であるのならば、他のシステム構成、例えば、データ原本性確保システム1のシステム構成をデータ原本性確保システム4に示すようなシステム構成としてもよい。これは、データ原本性確保システム1のクライアント2の機能を端末5と分割装置6に機能分散したシステム構成とするものである。同様にして、例えば、データ原本性確保システム4のシステム構成をデータ原本性確保システム1に示すようなシステム構成としてもよい。これは、データ原本性確保システム4の端末5と分割装置6の機能を集約してクライアント2の機能とするものである。
Furthermore, each system configuration described in the above embodiment is merely a preferred specific example, and if the functions are the same, other system configurations, for example, the data
また、上記実施の形態、ならびにその変形例によれば、秘密分散法としてShamirの秘密分散法{(k、n)閾値法;但し、分割数を表すnを4とし、復元できる数を表すkを3とする}、および秘密分散法Sを用いたが、本発明はこの構成に限定されるものではなく、上記実施の形態で述べた秘密分散法以外の他の秘密分散法を用いることも可能である。 Further, according to the above-described embodiment and its modification, as a secret sharing method, Shamir's secret sharing method {(k, n) threshold method; provided that n representing the number of divisions is 4, k representing the number that can be restored Is set to 3, and the secret sharing scheme S is used. However, the present invention is not limited to this configuration, and other secret sharing schemes other than the secret sharing scheme described in the above embodiment may be used. It is possible.
さらに、上記実施の形態、ならびにその変形例によれば、元データのユニークに識別できる識別データとしてハッシュ値を用いたが、ハッシュ値以外の識別データ、例えばパリティ、チェックサム(元データをブロックに分割し、分割されたブロックを数値とみなして全てのブロックを合計した値)等であってもよい。 Furthermore, according to the above-described embodiment and its modifications, the hash value is used as the identification data that can uniquely identify the original data. However, the identification data other than the hash value, for example, parity, checksum (the original data is It may be a value obtained by dividing all the blocks and treating the divided blocks as numerical values).
1、1A、4…データ原本性確保システム
2…クライアント
3a1〜3a4…保管サーバ
5…端末
6…分割装置
10…メモリ
11…ハッシュ値生成部
13…分割データ生成部
15…元データ復元部
17…通信部
20a1〜20a4…保管用記憶装置
25…クライアントシステム
31、37…データ送受信部
32…ハッシュ値生成部
33…分割データ生成部
34…乱数発生部
35…ハッシュ値確認部
36…元データ復元部
37…データ送受信部
1, 1A, 4 ... Data
Claims (16)
前記データを秘密分散法を用いて該データが復元できる複数の分割データにそれぞれ分割するデータ分割部と、
分割された複数の分割データをそれぞれ記憶するハードウェア的に独立した複数の保管部と、
を備えたことを特徴とするデータ原本性確保システム。 A data originality securing system that secures the originality of data and stores the data,
A data dividing unit that divides the data into a plurality of divided data that can be restored using the secret sharing method,
A plurality of hardware-independent storage units for storing a plurality of divided data,
A data originality assurance system comprising:
生成された識別データと前記データ本体とを結合した前記データを秘密分散法を用いて分割する分割部と
を備えたことを特徴とする請求項1記載のデータ原本性確保システム。 The data dividing unit is an identification data generation unit that generates identification data that can uniquely identify the data main body from the data main body whose originality is to be secured,
2. The data originality assurance system according to claim 1, further comprising a dividing unit for dividing the data obtained by combining the generated identification data and the data body by using a secret sharing method.
前記複数の保管部は、前記分割データ、前記データ分割に関する管理情報、および前記分割識別データをそれぞれ記憶することを特徴とする請求項2又は3記載のデータ原本性確保システム。 The data division unit generates division identification data that can uniquely identify the entire data, from the entire data obtained by adding management information on data division to each divided data,
4. The data originality assurance system according to claim 2, wherein the plurality of storage units store the divided data, management information on the data division, and the division identification data, respectively.
復元されたデータ本体から前記識別データを再生成し、再生成された識別データと前記復元された識別データとが一致するか否かを確認する確認部と、
を備えたことを特徴とする請求項2又は3記載のデータ原本性確保システム。 A data restoration unit that respectively reads the plurality of divided data from the plurality of storage units and restores the data body and the identification data by a secret sharing scheme from the read plurality of divided data,
A confirmation unit that regenerates the identification data from the restored data body, and checks whether the regenerated identification data matches the restored identification data.
The data originality securing system according to claim 2 or 3, further comprising:
復元されたデータ本体から前記識別データを再生成し、再生成された識別データと前記復元された識別データとが一致するか否かを確認する第1の確認部と、
前記複数の分割データそれぞれに対して、読み出した分割データおよびデータ分割に関する管理情報とを合わせたデータ全体から、前記分割識別データを再生成し、再生成された分割識別データと、読み出した前記分割識別データとが一致するか否かを確認する第2の確認部と、
を備えたことを特徴とする請求項4記載のデータ原本性確保システム。 Data restoration for reading the divided data, the management information relating to the data division, and the division identification data from the plurality of storage units, respectively, and restoring the data body and the identification data from the read plural division data by a secret sharing method, respectively. Department and
A first confirmation unit that regenerates the identification data from the restored data body, and confirms whether the regenerated identification data matches the restored identification data;
For each of the plurality of divided data, the divided identification data is regenerated from the entire data obtained by combining the read divided data and the management information relating to the data division. A second confirmation unit for confirming whether or not the identification data matches;
The data originality securing system according to claim 4, further comprising:
前記データを秘密分散法を用いて該データが復元できる複数の分割データにそれぞれ分割するステップと、
分割された複数の分割データをハードウェア的に独立した複数の保管装置にそれぞれ記憶するステップと、
を備えたことを特徴とするデータ原本性確保方法。 A data originality securing method for storing data while securing its originality,
Dividing the data into a plurality of divided data that can be restored using a secret sharing method,
Storing each of the plurality of divided data in a plurality of storage devices independent of hardware,
A data originality securing method characterized by comprising:
生成された識別データと前記データ本体とを結合した前記データを秘密分散法を用いて分割するステップと、
を備えたことを特徴とする請求項8記載のデータ原本性確保方法。 The dividing step is a step of generating identification data that can uniquely identify the data main body from the data main body whose originality is to be secured,
Dividing the data obtained by combining the generated identification data and the data body using a secret sharing method,
9. The data originality securing method according to claim 8, comprising:
前記コンピュータに、前記データを秘密分散法を用いて該データが復元できる複数の分割データにそれぞれ分割するデータ分割処理と、
分割された複数の分割データを、該コンピュータが通信可能なハードウェア的に独立した複数の保管装置にそれぞれ記憶する保管処理と、
をそれぞれ実行させることを特徴とするデータ原本性確保用プログラム。 A computer-readable data originality securing program for securing data and storing the originality thereof,
In the computer, a data dividing process of dividing the data into a plurality of divided data that can be restored using the secret sharing method,
A storage process of storing a plurality of divided data in a plurality of hardware-independent storage devices capable of communicating with the computer,
A program for ensuring originality of data.
生成された識別データと前記データ本体とを結合した前記データを秘密分散法を用いて分割する分割処理と、
を備えたことを特徴とする請求項10記載のデータ原本性確保用プログラム。 The division process is an identification data generation process of generating identification data that can uniquely identify the data main body from the data main body whose originality is to be secured,
A division process of dividing the data obtained by combining the generated identification data and the data body using a secret sharing method,
The data originality assurance program according to claim 10, further comprising:
前記保管処理は、前記複数の保管装置に、前記分割データ、前記データ分割に関する管理情報、および前記分割識別データをそれぞれ記憶することを特徴とする請求項11又は12記載のデータ原本性確保用プログラム。 The data division processing generates division identification data that can uniquely identify the entire data, from the entire data obtained by adding management information on data division to each divided data,
13. The data originality assurance program according to claim 11, wherein the storage processing stores the divided data, the management information on the data division, and the division identification data in the plurality of storage devices. .
復元されたデータ本体から前記識別データを再生成し、再生成された識別データと前記復元された識別データとが一致するか否かを確認する確認処理と、
を前記コンピュータに実行させることを特徴とする請求項11又は12記載のデータ原本性確保用プログラム。 A data restoration process of respectively reading the plurality of divided data from the plurality of storage devices and restoring the data body and the identification data from the read plurality of divided data by a secret sharing method,
Confirmation processing for regenerating the identification data from the restored data body, and confirming whether the regenerated identification data matches the restored identification data,
13. The data originality assurance program according to claim 11, wherein the program is executed by the computer.
復元されたデータ本体から前記識別データを再生成し、再生成された識別データと前記復元された識別データとが一致するか否かを確認する第1の確認処理と、
前記複数の分割データそれぞれに対して、読み出した分割データおよびデータ分割に関する管理情報とを合わせたデータ全体から、前記分割識別データを再生成し、再生成された分割識別データと、読み出した前記分割識別データとが一致するか否かを確認する第2の確認処理と、
を前記コンピュータに実行させることを特徴とする請求項13記載のデータ原本性確保用プログラム。 Data restoration for reading the divided data, the management information relating to the data division, and the division identification data from the plurality of storage devices, respectively, and restoring the data body and the identification data from the read plurality of division data by a secret sharing method. Processing,
A first confirmation process for regenerating the identification data from the restored data body and confirming whether the regenerated identification data matches the restored identification data;
For each of the plurality of divided data, the divided identification data is regenerated from the entire data obtained by combining the read divided data and the management information relating to the data division. A second confirmation process for confirming whether or not the identification data matches;
14. The data originality assurance program according to claim 13, wherein the program is executed by the computer.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003357910A JP4610176B2 (en) | 2003-04-15 | 2003-10-17 | Data originality ensuring method and system, and data originality ensuring program |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003110876 | 2003-04-15 | ||
JP2003357910A JP4610176B2 (en) | 2003-04-15 | 2003-10-17 | Data originality ensuring method and system, and data originality ensuring program |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010196212A Division JP5396352B2 (en) | 2003-04-15 | 2010-09-01 | Data originality ensuring method and system, and data originality ensuring program |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004336702A true JP2004336702A (en) | 2004-11-25 |
JP2004336702A5 JP2004336702A5 (en) | 2006-12-14 |
JP4610176B2 JP4610176B2 (en) | 2011-01-12 |
Family
ID=33513183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003357910A Expired - Lifetime JP4610176B2 (en) | 2003-04-15 | 2003-10-17 | Data originality ensuring method and system, and data originality ensuring program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4610176B2 (en) |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005229178A (en) * | 2004-02-10 | 2005-08-25 | Ntt Communications Kk | System, method and program for secret information management and terminal program for secret information management system |
JP2007041199A (en) * | 2005-08-02 | 2007-02-15 | Ntt Communications Kk | Data dividing device, data dividing method, and computer program |
JP2008228137A (en) * | 2007-03-15 | 2008-09-25 | Fuji Electric Holdings Co Ltd | Ic card system, its division information / secret information generation terminal and program |
JP2008262040A (en) * | 2007-04-12 | 2008-10-30 | Kddi Corp | Distributed information generating apparatus, secret information restoring apparatus, shared information generating method, secret information restoring method, and program |
JP2009037094A (en) * | 2007-08-03 | 2009-02-19 | Kddi Corp | Distributed information generating apparatus, secret information restoring apparatus, shared information generating method, secret information restoring method, and program |
JP2009152713A (en) * | 2007-12-19 | 2009-07-09 | Fujitsu Ltd | Electronic signature program, computer-readable recording medium, electronic signature device, and electronic signature method |
JP2009193442A (en) * | 2008-02-15 | 2009-08-27 | Nec Infrontia Corp | Built-in equipment control system, device, method and program |
JP2011035809A (en) * | 2009-08-05 | 2011-02-17 | Nec Corp | Information processing apparatus, code generation method, code validation method, and program |
JP2011221733A (en) * | 2010-04-08 | 2011-11-04 | Nec Corp | Online storage system and online storage service providing method |
US8085938B2 (en) | 2004-02-10 | 2011-12-27 | Ntt Communications Corporation | Secret information management scheme based on secret sharing scheme |
JP2012243133A (en) * | 2011-05-20 | 2012-12-10 | Toshiba Corp | Portable electronic device and control method of portable electronic device |
JP5214474B2 (en) * | 2007-02-16 | 2013-06-19 | パナソニック株式会社 | Distributed information distribution device, holding device, certificate authority device and system |
JP2013178737A (en) * | 2012-01-30 | 2013-09-09 | Seiko Instruments Inc | Data certification system and data certification server |
JP2013179569A (en) * | 2012-01-30 | 2013-09-09 | Seiko Instruments Inc | Data certification system and data certification server |
JP2014142651A (en) * | 2003-04-15 | 2014-08-07 | Ntt Communications Corp | Method and system for securing data originality, and program for securing data originality |
WO2015125765A1 (en) * | 2014-02-18 | 2015-08-27 | 日本電信電話株式会社 | Security device, method therefor and program |
JP2016095612A (en) * | 2014-11-13 | 2016-05-26 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | Data protection device, data protection method, and data protection program |
WO2016129259A1 (en) * | 2015-02-09 | 2016-08-18 | 日本電気株式会社 | Server device, data search system, search method, and recording medium |
JP2018523228A (en) * | 2015-05-19 | 2018-08-16 | クリプトムーヴ, インコーポレイテッドCryptomove, Inc. | Security through data hiding |
JP2019047331A (en) * | 2017-09-01 | 2019-03-22 | 株式会社リコー | Data generation device, data generation method and program, and data recording system |
JP2019054363A (en) * | 2017-09-14 | 2019-04-04 | 株式会社日立システムズ | Server device, secret dispersion management system and secret dispersion management device |
JP2019168660A (en) * | 2018-03-26 | 2019-10-03 | 株式会社日立製作所 | Secret distributed system and secret distribution method |
CN111052205A (en) * | 2017-08-22 | 2020-04-21 | 日本电信电话株式会社 | Share generation device, restoration device, secret calculation system, share generation method, restoration method, program, and recording medium |
US10642786B2 (en) | 2015-05-19 | 2020-05-05 | Cryptomove, Inc. | Security via data concealment using integrated circuits |
US10664439B2 (en) | 2015-05-19 | 2020-05-26 | Cryptomove, Inc. | Security via dynamic data movement in a cloud-based environment |
WO2020138505A1 (en) * | 2018-12-29 | 2020-07-02 | 株式会社イノベーション・ファーム | File transfer system |
WO2023281811A1 (en) * | 2021-07-07 | 2023-01-12 | ソニーセミコンダクタソリューションズ株式会社 | Hash generation device, hash determination device and system |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107707599A (en) * | 2017-05-26 | 2018-02-16 | 语祯物联科技(上海)有限公司 | A kind of method and device of Internet of Things communication equipment transmission file |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60247683A (en) * | 1984-05-23 | 1985-12-07 | 三菱電機株式会社 | Data protection managing system |
US5991414A (en) * | 1997-09-12 | 1999-11-23 | International Business Machines Corporation | Method and apparatus for the secure distributed storage and retrieval of information |
WO2000045358A1 (en) * | 1999-01-28 | 2000-08-03 | Yutaka Yasukura | Method for securing safety of electronic information |
JP2001005781A (en) * | 1999-06-18 | 2001-01-12 | Life Gijutsu Kenkyusho:Kk | Communication system for protected information |
JP2001086110A (en) * | 1999-09-13 | 2001-03-30 | Toyo Commun Equip Co Ltd | Packet communication system for encrypted information |
JP2002135247A (en) * | 2000-10-20 | 2002-05-10 | Sangikyou:Kk | Digital information storing method |
JP2002217891A (en) * | 2001-01-22 | 2002-08-02 | Toshiba Corp | Program and system for secrecy dispersion management |
JP2002330129A (en) * | 2001-04-27 | 2002-11-15 | Dainippon Printing Co Ltd | Coding device, decoder and communication system |
JP2003188867A (en) * | 2001-12-20 | 2003-07-04 | Nippon Telegr & Teleph Corp <Ntt> | Secret information distributed sharing method, device for these, and program |
-
2003
- 2003-10-17 JP JP2003357910A patent/JP4610176B2/en not_active Expired - Lifetime
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60247683A (en) * | 1984-05-23 | 1985-12-07 | 三菱電機株式会社 | Data protection managing system |
US5991414A (en) * | 1997-09-12 | 1999-11-23 | International Business Machines Corporation | Method and apparatus for the secure distributed storage and retrieval of information |
WO2000045358A1 (en) * | 1999-01-28 | 2000-08-03 | Yutaka Yasukura | Method for securing safety of electronic information |
JP2001005781A (en) * | 1999-06-18 | 2001-01-12 | Life Gijutsu Kenkyusho:Kk | Communication system for protected information |
JP2001086110A (en) * | 1999-09-13 | 2001-03-30 | Toyo Commun Equip Co Ltd | Packet communication system for encrypted information |
JP2002135247A (en) * | 2000-10-20 | 2002-05-10 | Sangikyou:Kk | Digital information storing method |
JP2002217891A (en) * | 2001-01-22 | 2002-08-02 | Toshiba Corp | Program and system for secrecy dispersion management |
JP2002330129A (en) * | 2001-04-27 | 2002-11-15 | Dainippon Printing Co Ltd | Coding device, decoder and communication system |
JP2003188867A (en) * | 2001-12-20 | 2003-07-04 | Nippon Telegr & Teleph Corp <Ntt> | Secret information distributed sharing method, device for these, and program |
Cited By (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014142651A (en) * | 2003-04-15 | 2014-08-07 | Ntt Communications Corp | Method and system for securing data originality, and program for securing data originality |
JP4602675B2 (en) * | 2004-02-10 | 2010-12-22 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | CONFIDENTIAL INFORMATION MANAGEMENT SYSTEM, CONFIDENTIAL INFORMATION MANAGEMENT METHOD, CONFIDENTIAL INFORMATION MANAGEMENT PROGRAM, AND CONFIDENTIAL INFORMATION MANAGEMENT SYSTEM TERMINAL PROGRAM |
US8085938B2 (en) | 2004-02-10 | 2011-12-27 | Ntt Communications Corporation | Secret information management scheme based on secret sharing scheme |
JP2005229178A (en) * | 2004-02-10 | 2005-08-25 | Ntt Communications Kk | System, method and program for secret information management and terminal program for secret information management system |
JP2007041199A (en) * | 2005-08-02 | 2007-02-15 | Ntt Communications Kk | Data dividing device, data dividing method, and computer program |
US9166972B2 (en) | 2007-02-16 | 2015-10-20 | Panasonic Corporation | Shared information distributing device, holding device, certificate authority device, and system |
JP5214474B2 (en) * | 2007-02-16 | 2013-06-19 | パナソニック株式会社 | Distributed information distribution device, holding device, certificate authority device and system |
US8930660B2 (en) | 2007-02-16 | 2015-01-06 | Panasonic Corporation | Shared information distributing device, holding device, certificate authority device, and system |
JP2008228137A (en) * | 2007-03-15 | 2008-09-25 | Fuji Electric Holdings Co Ltd | Ic card system, its division information / secret information generation terminal and program |
JP2008262040A (en) * | 2007-04-12 | 2008-10-30 | Kddi Corp | Distributed information generating apparatus, secret information restoring apparatus, shared information generating method, secret information restoring method, and program |
JP2009037094A (en) * | 2007-08-03 | 2009-02-19 | Kddi Corp | Distributed information generating apparatus, secret information restoring apparatus, shared information generating method, secret information restoring method, and program |
JP4584300B2 (en) * | 2007-12-19 | 2010-11-17 | 富士通株式会社 | Electronic signature program, computer-readable recording medium, electronic signature device, and electronic signature method |
JP2009152713A (en) * | 2007-12-19 | 2009-07-09 | Fujitsu Ltd | Electronic signature program, computer-readable recording medium, electronic signature device, and electronic signature method |
US9160972B2 (en) | 2007-12-19 | 2015-10-13 | Fujitsu Limited | Digital signature system and digital signing method |
JP2009193442A (en) * | 2008-02-15 | 2009-08-27 | Nec Infrontia Corp | Built-in equipment control system, device, method and program |
JP2011035809A (en) * | 2009-08-05 | 2011-02-17 | Nec Corp | Information processing apparatus, code generation method, code validation method, and program |
JP2011221733A (en) * | 2010-04-08 | 2011-11-04 | Nec Corp | Online storage system and online storage service providing method |
JP2012243133A (en) * | 2011-05-20 | 2012-12-10 | Toshiba Corp | Portable electronic device and control method of portable electronic device |
JP2013179569A (en) * | 2012-01-30 | 2013-09-09 | Seiko Instruments Inc | Data certification system and data certification server |
JP2013178737A (en) * | 2012-01-30 | 2013-09-09 | Seiko Instruments Inc | Data certification system and data certification server |
CN105993043A (en) * | 2014-02-18 | 2016-10-05 | 日本电信电话株式会社 | Security device, method therefor and program |
CN105993043B (en) * | 2014-02-18 | 2019-08-16 | 日本电信电话株式会社 | Safety device, its method and computer-readable recording medium |
JPWO2015125765A1 (en) * | 2014-02-18 | 2017-03-30 | 日本電信電話株式会社 | Security device, method thereof, and program |
US10574438B2 (en) | 2014-02-18 | 2020-02-25 | Nippon Telegraph And Telephone Corporation | Security apparatus, method thereof, and program |
WO2015125765A1 (en) * | 2014-02-18 | 2015-08-27 | 日本電信電話株式会社 | Security device, method therefor and program |
JP2016095612A (en) * | 2014-11-13 | 2016-05-26 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | Data protection device, data protection method, and data protection program |
WO2016129259A1 (en) * | 2015-02-09 | 2016-08-18 | 日本電気株式会社 | Server device, data search system, search method, and recording medium |
JPWO2016129259A1 (en) * | 2015-02-09 | 2017-11-16 | 日本電気株式会社 | Server device, data search system, search method, and recording medium |
JP7020780B2 (en) | 2015-02-09 | 2022-02-16 | 日本電気株式会社 | Server equipment, data search system, search method and search program |
US10417442B2 (en) | 2015-02-09 | 2019-09-17 | Nec Corporation | Server device, data search system, search method, and recording medium for extracting concealed data |
US10324892B2 (en) | 2015-05-19 | 2019-06-18 | Cryptomove, Inc. | Security via data concealment |
US10642786B2 (en) | 2015-05-19 | 2020-05-05 | Cryptomove, Inc. | Security via data concealment using integrated circuits |
US10664439B2 (en) | 2015-05-19 | 2020-05-26 | Cryptomove, Inc. | Security via dynamic data movement in a cloud-based environment |
JP2018523228A (en) * | 2015-05-19 | 2018-08-16 | クリプトムーヴ, インコーポレイテッドCryptomove, Inc. | Security through data hiding |
CN111052205A (en) * | 2017-08-22 | 2020-04-21 | 日本电信电话株式会社 | Share generation device, restoration device, secret calculation system, share generation method, restoration method, program, and recording medium |
CN111052205B (en) * | 2017-08-22 | 2023-03-28 | 日本电信电话株式会社 | Share generation device, restoration device, secret calculation system, share generation method, restoration method, and recording medium |
JP2019047331A (en) * | 2017-09-01 | 2019-03-22 | 株式会社リコー | Data generation device, data generation method and program, and data recording system |
JP2019054363A (en) * | 2017-09-14 | 2019-04-04 | 株式会社日立システムズ | Server device, secret dispersion management system and secret dispersion management device |
JP2019168660A (en) * | 2018-03-26 | 2019-10-03 | 株式会社日立製作所 | Secret distributed system and secret distribution method |
WO2020138505A1 (en) * | 2018-12-29 | 2020-07-02 | 株式会社イノベーション・ファーム | File transfer system |
WO2023281811A1 (en) * | 2021-07-07 | 2023-01-12 | ソニーセミコンダクタソリューションズ株式会社 | Hash generation device, hash determination device and system |
Also Published As
Publication number | Publication date |
---|---|
JP4610176B2 (en) | 2011-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4610176B2 (en) | Data originality ensuring method and system, and data originality ensuring program | |
TWI810410B (en) | Systems and methods for efficient and secure processing, accessing and transmission of data via a blockchain network | |
JP5194094B2 (en) | Data division method, data division apparatus, and computer program | |
US7894599B2 (en) | Enhanced data security with redundant inclusive data encryption segments | |
US5901227A (en) | Method and apparatus for implementing partial and complete optional key escrow | |
US9483656B2 (en) | Efficient and secure data storage utilizing a dispersed data storage system | |
US7995750B2 (en) | Privacy-preserving concatenation of strings | |
US20170163413A1 (en) | System and Method for Content Encryption in a Key/Value Store | |
US20160182231A1 (en) | System and Method for Cascading Token Generation and Data De-Identification | |
JP3871996B2 (en) | Data division management method and program | |
CN101484927A (en) | Method for encrypting and decrypting shared encrypted files | |
JP4256897B2 (en) | Apparatus, method and program for providing matching service | |
JP5749368B2 (en) | Data originality ensuring method and system, and data originality ensuring program | |
JP3794457B2 (en) | Data encryption / decryption method | |
CN110855430A (en) | Providing a secure object store using a hierarchical key system | |
JP4676695B2 (en) | Data division method, data division apparatus, and computer program | |
Vershinin et al. | Associative steganography of text messages | |
JP2011175578A (en) | System and method for data backup | |
JP4619045B2 (en) | Data concealment device, data concealment method, and data concealment program | |
JP4856909B2 (en) | Data division / restoration system, terminal device, data division / restoration method, and computer program | |
JP7500771B2 (en) | Service provision system | |
JP4664008B2 (en) | ACCESS RIGHT MANAGEMENT SYSTEM, ACCESS RIGHT MANAGEMENT DEVICE, ACCESS RIGHT MANAGEMENT METHOD, TERMINAL PROGRAM, AND ACCESS RIGHT MANAGEMENT PROGRAM | |
JP2006018850A (en) | Data storing system | |
JP2005167794A (en) | Secret information storage method and apparatus, secret information restoration method and program, secret information storage program, and secret information restoration program | |
JP4789536B2 (en) | Data division apparatus, data division method, and computer program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060929 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061026 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100309 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100510 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100601 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100901 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20100908 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20101005 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101012 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131022 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4610176 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |