[go: up one dir, main page]

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 PDF

Info

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
Application number
JP2003357910A
Other languages
Japanese (ja)
Other versions
JP4610176B2 (en
JP2004336702A5 (en
Inventor
Toshihiko Ogiwara
利彦 荻原
Katsutoshi Watabe
勝年 渡部
Susumu Nomura
進 野村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Communications Corp
Original Assignee
NTT Communications Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Communications Corp filed Critical NTT Communications Corp
Priority to JP2003357910A priority Critical patent/JP4610176B2/en
Publication of JP2004336702A publication Critical patent/JP2004336702A/en
Publication of JP2004336702A5 publication Critical patent/JP2004336702A5/ja
Application granted granted Critical
Publication of JP4610176B2 publication Critical patent/JP4610176B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a data originality securing method and system, in which data can be preserved while more easily securing its originality and a program for securing data originality. <P>SOLUTION: A data originality securing system 1 for preserving source data B while securing its originality includes a divided data generating part 13 which uses a secret dispersion method to divide the source data B into a plurality of divided data D(1)-D(4) with which the source data B can be restored, and a plurality of preservation servers 3a1-3a4 which are independent in a hardware manner, for respectively storing the divided plurality of data D(1)-D(4). <P>COPYRIGHT: (C)2005,JPO&NCIPI

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氏の電子証明書に含まれる公開鍵で電子署名を復号化して得た値とを比較することにより、データが改竄されたか否かを判断している。
”PKI関連技術説明”、[online]、平成14年12月12日、情報処理振興事業協会、[平成15年4月11日検索]、インターネット<URL:http://www.ipa.go.jp/security/pki/index.html>
Mr. B compares the hash value generated from the data itself in the received data with the value obtained by decrypting the electronic signature with the public key included in Mr. A's digital certificate received from Mr. A It is determined whether or not the data has been falsified.
"PKI-Related Technology Description", [online], December 12, 2002, Information Processing Promotion Agency of Japan, [Search April 11, 2003], Internet <URL: http: //www.ipa.go. jp / security / pki / index.html>

しかしながら、電子署名技術を用いた原本性確保方法によれば、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 claim 1, wherein the data is stored using a secret sharing method. And a plurality of hardware-independent storage units for respectively storing the plurality of divided data, the plurality of divided data being capable of restoring the divided data. .

請求項2に記載した発明は、前記データ分割部は、原本性確保対象となるデータ本体から、該データ本体をユニークに識別できる識別データを生成する識別データ生成部と、生成された識別データと前記データ本体とを結合した前記データを秘密分散法を用いて分割する分割部とを備えたことを要旨とする。   In the invention described in claim 2, the data division unit includes an identification data generation unit that generates, from the data main body whose originality is to be secured, identification data capable of uniquely identifying the data main body; A dividing unit for dividing the data combined with the data body by using a secret sharing method.

請求項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 claim 5, wherein the plurality of divided data are respectively read from the plurality of storage units, and a data restoration unit that respectively restores the data body and the identification data from the read plurality of divided data by a secret sharing method. And a confirmation unit for regenerating the identification data from the restored data body and confirming whether or not the regenerated identification data matches the restored identification data. .

請求項6に記載した発明は、前記複数の保管部から前記分割データ、前記データ分割に関する管理情報、および前記分割識別データをそれぞれ読み出し、読み出した複数の分割データから秘密分散法により前記データ本体および前記識別データをそれぞれ復元するデータ復元部と、復元されたデータ本体から前記識別データを再生成し、再生成された識別データと前記復元された識別データとが一致するか否かを確認する第1の確認部と、前記複数の分割データそれぞれに対して、読み出した分割データおよびデータ分割に関する管理情報とを合わせたデータ全体から、前記分割識別データを再生成し、再生成された分割識別データと、読み出した前記分割識別データとが一致するか否かを確認する第2の確認部と、を備えたことを要旨とする。   In the invention described in claim 6, the divided data, the management information relating to the data division, and the division identification data are respectively read from the plurality of storage units, and the data body and the divided data are read out from the read plurality of divided data by a secret sharing method. A data restoration unit for restoring the identification data, and a step of regenerating the identification data from the restored data body, and confirming whether the regenerated identification data matches the restored identification data. (1) regenerating the division identification data from the entire data obtained by combining the read division data and the management information relating to the data division with respect to each of the plurality of division data; And a second confirmation unit that confirms whether the read division identification data matches. .

請求項7に記載した発明は、前記複数の保管部から前記複数の分割データをそれぞれ読み出し、読み出した複数の分割データを、異なる組合せにより組み合わせて複数のデータを復元し、復元した複数のデータがそれぞれ一致するか否かを確認する復元確認部をさらに備えたことを要旨とする。   In the invention described in claim 7, the plurality of divided data are read from the plurality of storage units, 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 that a restoration confirmation unit for confirming whether or not they match each other is further provided.

請求項8に記載した発明は、データを、その原本性を確保して保管するデータ原本性確保方法であって、前記データを秘密分散法を用いて該データが復元できる複数の分割データにそれぞれ分割するステップと、分割された複数の分割データをハードウェア的に独立した複数の保管装置にそれぞれ記憶するステップと、を備えたことを要旨とする。   The invention according to claim 8 is a data originality securing method for storing data while securing its originality, wherein the data is divided into a plurality of divided data which can be restored using a secret sharing method. The gist of the present invention is to include a step of dividing and a step of storing the plurality of divided data in a plurality of storage devices independent of hardware.

請求項9に記載した発明は、前記分割ステップは、原本性確保対象となるデータ本体から、該データ本体をユニークに識別できる識別データを生成するステップと、生成された識別データと前記データ本体とを結合した前記データを秘密分散法を用いて分割するステップと、を備えたことを要旨とする。   In the invention described in claim 9, the dividing step includes a step of generating, from the data main body whose originality is to be secured, identification data capable of uniquely identifying the data main body, a step of generating the identification data and the data main body. And dividing the data obtained by combining the data by using a secret sharing method.

請求項10に記載した発明は、データを、その原本性を確保して保管するためのコンピュータが読み取り可能なデータ原本性確保用プログラムであって、前記コンピュータに、前記データを秘密分散法を用いて該データが復元できる複数の分割データにそれぞれ分割するデータ分割処理と、分割された複数の分割データを、該コンピュータが通信可能なハードウェア的に独立した複数の保管装置にそれぞれ記憶する保管処理と、をそれぞれ実行させることを要旨とする。   An invention according to claim 10 is a computer-readable program for securing data originality for securing and storing the originality of data, wherein the computer uses the secret sharing method to store the data. And a storage process of storing the divided data in a plurality of hardware-independent storage devices communicable with the computer. Are executed.

請求項11に記載した発明は、前記分割処理は、原本性確保対象となるデータ本体から、該データ本体をユニークに識別できる識別データを生成する識別データ生成処理と、生成された識別データと前記データ本体とを結合した前記データを秘密分散法を用いて分割する分割処理と、を備えたことを要旨とする。   The invention according to claim 11, wherein the division processing includes: identification data generation processing for generating identification data that can uniquely identify the data main body from the data main body for which originality is to be secured; And a division process for dividing the data combined with the data body by using a secret sharing method.

請求項12に記載した発明は、前記識別データ生成処理は、前記識別データとして、前記データ本体を所定のハッシュ関数を用いてハッシュ値を生成することを要旨とする。   The gist of the invention described in claim 12 is that the identification data generation processing generates a hash value of the data body as the identification data using a predetermined hash function.

請求項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 claim 15 is characterized in that the divided data, the management information relating to the data division, and the division identification data are respectively read from the plurality of storage devices, and the data body and the divided data are read from the read plurality of divided data by a secret sharing method. A data restoration process for restoring the identification data, and a step of regenerating the identification data from the restored data body and checking whether the regenerated identification data matches the restored identification data. (1) re-generating the division identification data from the entire data obtained by combining the read division data and the management information relating to the data division with respect to each of the plurality of division data; And a second confirmation process for confirming whether or not the read division identification data matches. And summarized in that to execute the over data.

請求項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 system 1 according to the first embodiment of the present invention.

図1に示すように、データ原本性確保システム1は、インターネット等の通信用ネットワークNに対して接続して通信できるクライアントコンピュータ(以下、単にクライアントとする)2と、ネットワークNに対して通信可能に接続されており、互いにハードウェア的に独立した複数(本実施の形態では4とする)のデータ保管用サーバコンピュータ(以下、単に保管サーバとする)3a1〜3a4とを備えている。   As shown in FIG. 1, a data originality assurance system 1 can communicate with a client computer (hereinafter, simply referred to as a client) 2 that can connect to and communicate with a communication network N such as the Internet. And a plurality of (in this embodiment, four) data storage server computers (hereinafter simply referred to as storage servers) 3a1 to 3a4 that are hardware independent of each other.

クライアント2は、演算処理部であるCPU、このCPUに接続され該CPUおよびネットワークN間の通信を可能にするインタフェース、CPUに接続されたデータ入力用の入力部およびCPUに接続されたメモリ10をそれぞれ備えている。   The client 2 includes a CPU 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 a memory 10 connected to the CPU. Each has it.

メモリ10には、原本性を確保して保管する対象となるデータ{例えば、M(Mは自然数)バイトのデジタルデータ;以下、元データとも呼ぶ}Bが格納されている。また、メモリ10には、クライアント2(そのCPU)が読み取り可能であり、後述する図2および図3に示す原本性確保処理(データ保管処理)をクライアント2(そのCPU)に実行させるためのデータ原本性確保用プログラムPが搭載されている。   The memory 10 stores data to be stored while maintaining originality {for example, M (M is a natural number) bytes of digital data; hereinafter, also referred to as original data} B. The memory 10 is readable by the client 2 (its CPU), and is a data for causing the client 2 (its CPU) to execute an originality securing process (data storage process) shown in FIGS. 2 and 3 described later. An originality securing program P is installed.

なお、このデータ原本性確保用プログラム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 client 2 and loaded into the memory 10 as necessary. It is also possible.

クライアント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 client 2 includes, as functions implemented by the data originality securing program P, a hash value generation unit 11 that generates, for example, a hash value that can uniquely identify the original data B from the original data B stored in the memory 10. , The original data B and the data including the hash value H are divided using a secret sharing scheme to generate divided data D (1) to D (4) (the number of divisions is 4 in the present embodiment). A generation unit 13, an original data restoration unit 15 that generates original data B and a hash value H from the divided data D (1) to D (4), and the divided data D (1) to D (4) via a network N And a communication unit 17 for performing communication.

各保管サーバ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 originality securing system 1 according to the present embodiment will be described.

図2および図3に示すように、クライアント2は、データ原本性確保用プログラムPに従って動作し、ハッシュ値生成部11の機能として、メモリ10に記憶された、原本性を確保して保管したい元データBをメモリ10から読み込み、読み込んだ元データBを、所定のハッシュ関数を用いてその元データBのハッシュ値Hを生成する(ステップS1)。   As shown in FIGS. 2 and 3, the client 2 operates in accordance with the data originality securing program P, and as a function of the hash value generating unit 11, the client 2 who wants to secure the originality stored in the memory 10 and store it. The data B is read from the memory 10, and the read original data B is generated as a hash value H of the original data B using a predetermined hash function (step S1).

このハッシュ値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 client 2 divides the original data B including the generated hash value H into four data (divided data) D (1) to D (4) by using a secret sharing method as a function of the divided data generation unit 13. (Step S2).

以下、ステップ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)=ax+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 client 2 are represented by the following equations (1) to (4). It is created as follows.

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 client 2 sequentially creates F (1) to F (4) for each byte from the head of the original data B, for example, and creates the divided data D (1). (F (1)) to D (4) (F (4)) are created.

そして、クライアント2は、通信部17の機能として、作成した分割データD(1)〜D(4)を保管サーバ3a1〜3a4にネットワークNを介してそれぞれ送信する(ステップS3)。   Then, as a function of the communication unit 17, the client 2 transmits the created divided data D (1) to D (4) to the storage servers 3a1 to 3a4 via the network N (step S3).

各保管サーバ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 client 2 sets the divided data D (1) to D (4). Are transmitted to the storage servers 3a1-3a4 (step S10).

各保管サーバ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 client 2 via the network N (step S11).

クライアント2は、データ原本性確保用プログラムPに従って動作し、元データ復元部15の機能として、ネットワークNを介して送信されてきた分割データD(1)〜D(4)を受信し、受信した分割データD(1)〜D(4)に基づいて秘密分散法により元データB1およびハッシュ値H1をそれぞれ復元する(ステップS12)。   The client 2 operates according to the data originality securing program P, receives and receives the divided data D (1) to D (4) transmitted via the network N as a function of the original data restoring unit 15. The original data B1 and the hash value H1 are respectively restored by the secret sharing method based on the divided data D (1) to D (4) (step S12).

次いで、クライアント2は、元データ復元部15の機能として、復元した元データB1からハッシュ値H2を再生成し、再生成したハッシュ値H2と復元したハッシュ値H1とを比較して一致するか否かを確認する(ステップS13)。   Next, the client 2 regenerates the hash value H2 from the restored original data B1 and compares the regenerated hash value H2 with the restored hash value H1 as a function of the original data restoration unit 15 to determine whether or not they match. Is confirmed (step S13).

このステップ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 client 2 obtains the following equation: 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)
, 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 client 2 can confirm that at least a part of the divided data D (1) to D (4) stored in the storage servers 3a1 to 3a4 has been falsified.

以上述べたように、本実施形態によれば、元データ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 data generation unit 13, the client 2 reads, from the memory 10, the original data B stored in the memory 10 and whose originality is desired to be stored, and keeps the read original data B secret. The data is divided into four data (divided data) D (1) to D (4) using the distribution method (step S21).

なお、ステップ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 communication unit 17, the client 2 transmits the created divided data D (1) to D (4) to the storage servers 3a1 to 3a4 via the network N (step S22).

各保管サーバ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 client 2 sets the divided data D (1) to D (4). Are transmitted to the storage servers 3a1-3a4, respectively (step S30).

各保管サーバ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 client 2 via the network N (step S31).

クライアント2は、元データ復元部15の機能として、ネットワークNを介して送信されてきた分割データD(1)〜D(4)を受信し、受信した分割データD(1)〜D(4)を秘密分散法により異なる組合せにより組み合わせて複数の元データB1〜Bm(本実施の形態では、m=2)を復元し、復元した元データB1〜B2が互いに一致するか否かを確認する(ステップS32)。   The client 2 receives the divided data D (1) to D (4) transmitted via the network N as a function of the original data restoration unit 15, and receives the received divided data D (1) to D (4). Are combined in different combinations by the secret sharing method to restore a plurality of original data B1 to Bm (m = 2 in the present embodiment), and confirm whether or not the restored original data B1 to B2 match each other ( Step S32).

このステップ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 client 2 uses, for example, a predetermined combination, for example, the divided data F (1) to F (3) among the divided data F (1), F (2), F (3), and F (4). The original data B1 is restored by the secret sharing method, and then the original data B2 is restored by the secret sharing method using a combination different from the above combination, for example, the divided data F (2) to F (4).

このとき、上記分割データ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 client 2, at least a part of the divided data D (1) to D (4) stored in the storage servers 3a1 to 3a4 has been falsified due to a mismatch between the restored original data B1 and the original data B2. This can be confirmed on the client 2 side.

なお、本実施の形態では、分割データ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 network 5 such as a terminal 5 and a dividing device 6 which can connect to and communicate with a communication network N such as the Internet. And a plurality of (three in the present embodiment) data storage server computers (hereinafter simply referred to as storage servers) 3a1 to 3a3 which are hardware independent from each other. With the above system configuration, the dividing device 6 divides the data into a plurality of divided data in response to a data storage request from the terminal 5 via the network N, and divides the divided plurality of divided data via the network N It is stored in a plurality of storage servers 3a1-3a3. The communication between the terminal 5 and the dividing device 6 and the communication between the dividing device 6 and each of the storage servers 3a1 to 3a3 are performed using SSL (Secure Socket Layer), IP- Communication data is encrypted by a VPN (Virtual Private Network) or the like.

端末5および分割装置6は、演算処理部であるCPU、このCPUに接続され該CPUおよびネットワークN間の通信を可能にするインタフェース、CPUに接続されたデータ入力用の入力部およびCPUに接続されたメモリをそれぞれ備えている。   The terminal 5 and the dividing device 6 are connected to a CPU as an arithmetic processing unit, an interface connected to the CPU to enable communication between the CPU and the network N, an input unit for data input connected to the CPU, and the CPU. Each has its own memory.

端末5は、利用者が原本性を確保して保管するデータ{例えば、M(Mは自然数)バイトのデジタルデータ;以下、元データとも呼ぶ}Bを分割装置6に送信するとともに、保管したデータを分割装置6から受信するデータ送受信部31を備えている。   The terminal 5 transmits data stored by the user to the division device 6 while the user secures the originality and stores the data {for example, digital data of M (M is a natural number) bytes; hereinafter, also referred to as original data} And a data transmitting / receiving unit 31 that receives the data from the dividing device 6.

分割装置6のメモリ10には、端末5から送信された元データBが格納される。また、メモリ10には、分割装置6(そのCPU)が読み取り可能であり、後述する図6および図7に示すデータ原本性確保処理を分割装置6(そのCPU)に実行させるためのデータ原本性確保用プログラムP3が搭載されている。   The original data B transmitted from the terminal 5 is stored in the memory 10 of the dividing device 6. Further, the memory 10 is readable by the dividing device 6 (its CPU), and the data originality for causing the dividing device 6 (its CPU) to execute the data originality securing process shown in FIGS. 6 and 7 described below. The security program P3 is installed.

なお、このデータ原本性確保用プログラム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 dividing device 6 and loaded into the memory as necessary. It is also possible.

分割装置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 dividing device 6 generates, for example, a hash value H that can uniquely identify the original data B from the original data B stored in the memory 10 and will be described later. A hash value generation unit 32 that generates hash values h1 to h3 and a secret sharing method S (secret sharing method different from those of the first and second embodiments) described below are used for data including the original data B and the hash value H. To generate divided data (hereinafter also referred to as a divided data body) D (1) to D (3) (in the present embodiment, the number of divisions is set to 3), and to generate the divided data body D (1 ) To D (3), header information, and divided data composed of hash values h1 to h3 generated from the divided data body and the entire contents of the header information (hereinafter, also referred to as transmission divided data). (B) a divided data generation unit 33 that generates DD (1) to DD (3); a random number generation unit 34 that generates random number data used when generating the divided data bodies D (1) to D (3); The hash values h1 to h3 are regenerated from the divided data bodies D (1) to D (3) obtained from the storage servers 3a1 to 3a3 and the header information thereof, and the hash value H is regenerated from the restored original data B. A hash value checking unit 35 for checking the authenticity of the data; and an original data restoring unit for generating the original data B and the hash value H from the divided data bodies D (1) to D (3) using the secret sharing method S. 36, and a data transmitting / receiving unit 37 for transmitting / receiving the original data B and the transmission division data DD (1) to DD (3) via the network N.

各保管サーバ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 terminal 5 to the dividing device 6, the dividing device 6 divides the original data B in accordance with the data originality securing program P3. As a function of the hash value generation unit 32, the original data B stored in the memory 10 and whose originality is desired to be kept and stored is read from the memory 10, and the read original data B is read using a predetermined hash function. A hash value H of the original data B is generated (steps S101 and S102).

このハッシュ値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 dividing device 6 converts the original data B including the generated hash value H into three data (divided data) D (1) to D (3) using the secret sharing method S. (Step S103). Then, for each of the divided data D (i) (i = 1, 2, 3), data of a format shown in FIG. 8, that is, a hash value hi (i = 1, 2, 3), and management information on data division are included. The transmission division data DD (i) including the header information Ai (i = 1, 2, 3) and the division data D (i) (i = 1, 2, 3) is generated (steps S104, S105).

ここで、ハッシュ値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 value generation unit 32, the hash value hi is generated from the entire contents of the header information Ai and the divided data D (i) by using a predetermined hash function. The data identifier Ai1 of the header information Ai includes information indicating that the data is divided by the secret sharing scheme S of the present embodiment, the version information Ai2 includes information for identifying the version of the data format, and a header. In the size Ai3, information indicating the total data length of the area from the original data size to the divided data size is stored. The original data size Ai4 is information indicating the length of the original data (original data B including the hash value H), the division number Ai5 is information indicating the number of data divisions (3 in the present embodiment), In the processing unit bit length Ai6, information indicating a processing unit bit length, which will be described later, used in the division processing based on the secret sharing scheme S is stored. In addition, the random number data size Ai7 includes information indicating the length of random number data used in the division processing by the secret sharing method S, and the division data type Ai8 includes information indicating the number of division data (for example, 3 In the case of division, information indicating whether the divided data is D (1), D (2), or D (3)) and the divided data size Ai9 include the length of the divided data D (i). Is stored.

そして、分割装置6は、データ送受信部37の機能として、作成した送信分割データDD(1)〜DD(3)を保管サーバ3a1〜3a3にネットワークNを介してそれぞれ送信する(ステップS106)。   Then, as a function of the data transmitting / receiving unit 37, the dividing device 6 transmits the created transmission divided data DD (1) to DD (3) to the storage servers 3a1 to 3a3 via the network N (step S106).

各保管サーバ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 terminal 5 to the dividing device 6. Upon transmitting the instruction, the dividing device 6 transmits download requests for the transmission divided data DD (1) to DD (3) to the storage servers 3a1 to 3a3, respectively (steps S108 and S109).

各保管サーバ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 dividing device 6 via the network N (step S110).

分割装置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 division device 6 operates in accordance with the data originality securing program P3, and receives the transmission division data DD (1) to DD (3) transmitted via the network N as a function of the hash value confirmation unit 35, The hash values h1 ′ to h3 ′ are regenerated from the divided data bodies D (1) to D (3) of the received transmission divided data DD (1) to DD (3) and the header information A1 to A3 (step S111). Then, the regenerated hash values h1 ′ to h3 ′ are compared with the hash values h1 to h3 of the received transmission divided data DD (1) to DD (3) to check whether they match (step S112). ). Thereby, it is possible to confirm that the contents of the data acquired from the storage servers 3a1 to 3a3 are not missing or falsified.

次に、ステップ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 value checking unit 35, the dividing device 6 regenerates the hash value H2 from the restored original data B1, compares the regenerated hash value H2 with the restored hash value H1, and determines whether or not they match. It is confirmed whether or not it is (steps S114, S115). Thereby, it is possible to confirm that the contents of the restored original data B and hash value H are not missing or falsified. Further, even if the contents of the header information A1 to A3 and the divided data bodies D (1) to D (3) are falsified, the hash values h1 to h3 are calculated in accordance with the falsified contents and rewritten. , The hash values match in step S112), and tampering can be detected.

そして、分割装置6は、復元された元データBをネットワークNを介して端末5に送信し、これにより、端末5は元データBを取得する(ステップS116,S117)。   Then, the dividing device 6 transmits the restored original data B to the terminal 5 via the network N, whereby the terminal 5 acquires the original data B (Steps S116 and S117).

ここで、本実施の形態における秘密分散法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 number generation unit 34 as (number of divisions-1) random number partial data having a bit length of the processing unit bit length corresponding to each of the (number of divisions-1) original partial data. Is done. That is, the random number is divided for each processing unit bit length, and is generated as (partition number-1) random number partial data having a bit length of the processing unit bit length. Further, the original data is divided into a desired number of divided data based on the processing unit bit length, and each of the divided data also corresponds to the processing unit corresponding to each of the (number of divided -1) original partial data. It is generated as (partition number-1) divided partial data having the bit length of the bit length. That is, each of the divided data is divided for each processing unit bit length, and is generated as (partition number -1) divided partial data having a bit length of the processing unit bit length.

なお、以下の説明では、上述した元データ、乱数、分割データ、分割数および処理単位ビット長をそれぞれ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
である行列を意味するものとし、「上三角行列」ということとする。具体的には下記のような行列である。

Figure 2004336702
(4)P[n,n]とは、n×n行列であって、i行j列の値をp(i,j)で表すと、
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を他の行列に右側から複数回かけると、その回数分だけ各列を右方向へ回転させるように移動させることができる。
Figure 2004336702
(5)A,Bをn×n行列とすると、A×Bとは行列AとBの積を意味するものとする。行列の成分同士の計算規則は通常の数学で用いるものと同じである。 When c (j, i, k) = 1 Q (j, i, k) = R ((n-1) × m + k)
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.
Figure 2004336702
(4) P [n, n] is an n × n matrix, and when the value of i row and j column is represented by p (i, j),
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.
Figure 2004336702
(5) If A and B are n × n matrices, A × B means the product of matrices A and B. The calculation rules for the matrix elements are the same as those used in ordinary mathematics.

(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
となる性質がある。

Figure 2004336702
次に、図9に示すフローチャートおよび図10および図11に示す具体的データなどを参照して、まず元データBの分割処理について説明する。 (7) The unit matrix E [n, n] is an n × n matrix, and the value of the i-th row and the j-th column is represented by e (i, j).
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.
Figure 2004336702
Next, the dividing process of the original data B will be described first with reference to the flowchart shown in FIG. 9 and the specific data shown in FIGS.

まず、元データ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 dividing device 6 from the terminal 5 as the number of divisions n (step S203). As the number of divisions n, a value predetermined in the division device 6 may be used. The three divided data generated by the dividing device 6 according to the division number n = 3 are D (1), D (2), and D (3). The divided data D (1), D (2), D (3) are all 16-bit data having the same bit length as the original data.

それから、元データ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 number generation unit 34 and generated. (Step S205). The processing unit bit length b may be specified by the user from the terminal 5 to the dividing device 6, or a value predetermined in the dividing device 6 may be used. Note that the processing unit bit length b may be an arbitrary number of bits, but is 8 bits that can divide the original data B here. Therefore, the original data B of 16 bits "10110010 00110111" is divided into 8 units of processing unit bit length, and the two original divided data B (1) and B (2) are "10110010" And "00110111".

次のステップ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 number generation unit 34 is set in the random number partial data R (2 × m + j). Thereby, two (partition number n-1) pieces of random number partial data R (1) and R (2) obtained by dividing the random number R by the processing unit bit length are generated as follows (step S215).

乱数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 memory 10 of the dividing device 6, and the dividing process ends. The divided data D (1), D (2), and D (3) stored in this manner cannot independently estimate the original data.

ここで、上述した図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のときは

Figure 2004336702
j=2のときは
Figure 2004336702
これを用いると、各分割部分データD(i,j)は次のような定義式により生成される。 When c (j, i, k) = 1 Q (j, i, k) = R (k)
Q (j, i, k) = 0 when c (j, i, k) = 0
here,
When j = 1
Figure 2004336702
When j = 2
Figure 2004336702
When this is used, each divided partial data D (i, j) is generated by the following defining formula.

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 dividing device 6 to restore the original data B. Upon receiving the restoration request for the original data B, the dividing device 6 stores the divided data D (1), D (2), and D (3) corresponding to the original data B in the storage servers 3a1, 3a2, and 3a3. The divided data D (1), D (2), and D (3) are acquired from the storage servers 3a1, 3a2, and 3a3 via the network N, and the acquired divided data D ( The original data B is restored from 1), D (2), and D (3) as shown below.

まず、分割部分データ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 division device 6 from the terminal 5 (step S403). As the number of divisions n, a value predetermined in the division device 6 may be used. The processing unit bit length b is determined (step S405). Note that b is any integer greater than 0. Next, it is determined whether or not the bit length of the original data B is an integer multiple of b × (n−1). If not, the end of the original data B is padded with 0 (step S407). Also, a variable m indicating an integral multiple is set to 0 (step S409).

次に、元データ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 number generation unit 34 is set in the random number partial data R ((n−1) × m + j). Then, n-1 random number partial data R (1), R (2),... R (n-1) are generated by dividing the random number R by the processing unit bit length b (step S415).

次に、ステップ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 memory 10, and the division process is terminated.

以上述べたように、本実施形態によれば、元データ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 client 2 via the network N. In the third embodiment, the transmission division data DD (1) to DD (3) obtained by dividing the original data B are stored in the storage servers 3a1 to 3a1 connected to the division device 6 via the network N. Although it was configured to be stored in 3a3, the present invention is not limited to this configuration.

例えば、データ原本性確保システム1の変形例を図13に示す。   For example, a modification of the data originality securing system 1 is shown in FIG.

図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 client system 25 solely on the client side, and the client system 25 includes a client 2 and a LAN for the client 2. And a plurality of storage storage devices 20a1 to 20a4 which are connected to each other via hardware and independent of each other in terms of hardware.

図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 terminal 5, the dividing device 6, and the storage servers 3a1 to 3a3 may be configured as a client system solely on the client side.

さらに、上記実施の形態で説明した各システム構成は、あくまでも好適な一具体例を示したものであり、機能的に同一であるのならば、他のシステム構成、例えば、データ原本性確保システム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 originality securing system 1 May be a system configuration as shown in the data originality securing system 4. This is a system configuration in which the function of the client 2 of the data originality securing system 1 is distributed to the terminal 5 and the dividing device 6. Similarly, for example, the system configuration of the data originality securing system 4 may be a system configuration as shown in the data originality securing system 1. This is to integrate the functions of the terminal 5 and the dividing device 6 of the data originality securing system 4 and make the functions of the client 2.

また、上記実施の形態、ならびにその変形例によれば、秘密分散法として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の実施の形態に係わるデータ原本性確保システムの概略構成を示すブロック図。FIG. 1 is a block diagram showing a schematic configuration of a data originality securing system according to a first embodiment of the present invention. 本発明の第1の実施の形態に係わるデータ原本性確保システムにおけるデータ原本性確保用プログラムに基づくデータ原本性確保処理の一例を示す概略フローチャート。4 is a schematic flowchart showing an example of a data originality securing process based on a data originality securing program in the data originality securing system according to the first embodiment of the present invention. 図2に示すデータ原本性確保処理におけるデータシーケンスを概略的に示す図。FIG. 3 is a diagram schematically showing a data sequence in the data originality securing process shown in FIG. 2. 本発明の第2の実施の形態に係わるデータ原本性確保システムの概略構成を示すブロック図。FIG. 9 is a block diagram showing a schematic configuration of a data originality securing system according to a second embodiment of the present invention. 本発明の第3の実施の形態に係わるデータ原本性確保システムの概略構成を示すブロック図。FIG. 13 is a block diagram showing a schematic configuration of a data originality securing system according to a third embodiment of the present invention. 本発明の第3の実施の形態に係わるデータ原本性確保システムにおけるデータ原本性確保用プログラムに基づくデータ原本性確保処理の一例を示す概略フローチャート。13 is a schematic flowchart showing an example of a data originality securing process based on a data originality securing program in the data originality securing system according to the third embodiment of the present invention. 図6に示すデータ原本性確保処理におけるデータシーケンスを概略的に示す図。FIG. 7 is a diagram schematically showing a data sequence in the data originality securing process shown in FIG. 6. 本発明の第3の実施の形態における分割データの構成を示す図。FIG. 13 is a diagram illustrating a configuration of divided data according to a third embodiment of the present invention. 本発明の第3の実施の形態における分割数n=3の場合の分割処理を示すフローチャート。15 is a flowchart illustrating a division process when the number of divisions is n = 3 in the third embodiment of the present invention. 本発明の第3の実施の形態において、16ビットの元データを8ビットの処理単位ビット長に基づいて分割数n=3で3分割する場合の各データと定義式および各分割部分データから元データを復元する場合の計算式などを示す表。In the third embodiment of the present invention, the original data of 16 bits is divided from the data, the definition formula and each divided partial data when the original data of 16 bits is divided into three by the division number n = 3 based on the processing unit bit length of 8 bits. Table showing calculation formulas etc. when restoring data. 本発明の第3の実施の形態において、分割数n=3の場合の分割データ、分割部分データ、各分割部分データを生成する定義式を示す表。14 is a table showing definition data for generating divided data, divided partial data, and each divided partial data when the number of divisions is n = 3 in the third embodiment of the present invention. 本発明の第3の実施の形態における分割数がnで単位ビット長がbである場合の一般的な分割処理を示すフローチャート。15 is a flowchart illustrating a general division process when the number of divisions is n and the unit bit length is b according to the third embodiment of the present invention. 本発明の変形例に係わるデータ原本性確保システムの概略構成を示すブロック図。FIG. 9 is a block diagram showing a schematic configuration of a data originality securing system according to a modification of the present invention.

符号の説明Explanation of reference numerals

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 originality securing system 2 ... Clients 3a1-3a4 ... Storage server 5 ... Terminal 6 ... Division device 10 ... Memory 11 ... Hash value generation unit 13 ... Division data generation unit 15 ... Original data restoration unit 17 ... Communication units 20a1 to 20a4 Storage storage device 25 Client system 31, 37 Data transmission / reception unit 32 Hash value generation unit 33 Divided data generation unit 34 Random number generation unit 35 Hash value confirmation unit 36 Original data restoration unit 37 ... Data transmission / reception unit

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 originality securing system according to claim 2, wherein 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. 前記データ分割部は、分割された各分割データに、データ分割に関する管理情報を合わせたデータ全体から、該データ全体をユニークに識別できる分割識別データをそれぞれ生成し、
前記複数の保管部は、前記分割データ、前記データ分割に関する管理情報、および前記分割識別データをそれぞれ記憶することを特徴とする請求項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:
前記複数の保管部から前記複数の分割データをそれぞれ読み出し、読み出した複数の分割データを、異なる組合せにより組み合わせて複数のデータを復元し、復元した複数のデータがそれぞれ一致するか否かを確認する復元確認部をさらに備えたことを特徴とする請求項1記載のデータ原本性確保システム。   The plurality of divided data are respectively read from the plurality of storage units, the read plurality of divided data are combined in different combinations to restore a plurality of data, and it is confirmed whether the restored plurality of data match each other. The data originality securing system according to claim 1, further comprising a restoration confirmation unit. データを、その原本性を確保して保管するデータ原本性確保方法であって、
前記データを秘密分散法を用いて該データが復元できる複数の分割データにそれぞれ分割するステップと、
分割された複数の分割データをハードウェア的に独立した複数の保管装置にそれぞれ記憶するステップと、
を備えたことを特徴とするデータ原本性確保方法。
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 originality assurance program according to claim 11, wherein the identification data generating process generates a hash value of the data body using a predetermined hash function as the identification data. 前記データ分割処理は、分割された各分割データに、データ分割に関する管理情報を合わせたデータ全体から、該データ全体をユニークに識別できる分割識別データをそれぞれ生成し、
前記保管処理は、前記複数の保管装置に、前記分割データ、前記データ分割に関する管理情報、および前記分割識別データをそれぞれ記憶することを特徴とする請求項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.
前記複数の保管装置から前記複数の分割データをそれぞれ読み出し、読み出した複数の分割データを、異なる組合せにより組み合わせて複数のデータを復元し、復元した複数のデータがそれぞれ一致するか否かを確認する復元確認処理をさらに前記コンピュータに実行させることを特徴とする請求項10記載のデータ原本性確保用プログラム。   The plurality of divided data are respectively read from the plurality of storage devices, the read plurality of divided data are combined in different combinations to restore a plurality of data, and it is confirmed whether or not the restored plurality of data respectively match. 11. The data originality securing program according to claim 10, further causing the computer to execute restoration confirmation processing.
JP2003357910A 2003-04-15 2003-10-17 Data originality ensuring method and system, and data originality ensuring program Expired - Lifetime JP4610176B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (9)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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