JP2006311383A - Data managing method, data management system and data managing device - Google Patents

Data managing method, data management system and data managing device Download PDF

Info

Publication number
JP2006311383A
JP2006311383A JP2005133578A JP2005133578A JP2006311383A JP 2006311383 A JP2006311383 A JP 2006311383A JP 2005133578 A JP2005133578 A JP 2005133578A JP 2005133578 A JP2005133578 A JP 2005133578A JP 2006311383 A JP2006311383 A JP 2006311383A
Authority
JP
Japan
Prior art keywords
data
key
distributed
encrypted
distributed data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005133578A
Other languages
Japanese (ja)
Inventor
Hidefumi Sugihara
英文 杉原
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.)
TRUSTED SOLUTIONS KK
Original Assignee
TRUSTED SOLUTIONS KK
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 TRUSTED SOLUTIONS KK filed Critical TRUSTED SOLUTIONS KK
Priority to JP2005133578A priority Critical patent/JP2006311383A/en
Publication of JP2006311383A publication Critical patent/JP2006311383A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a data managing method, data management system and data managing device capable of securely storing data in which confidentiality of information is high with small H/W resources. <P>SOLUTION: A data storage system 100 has a distribution data generating means 11, a key encrypting means 12, a storing part 13 and an interface part 14. A data storing method by the system is a method to perform encryption using a Secret Sharing Schemes, uses the Secret Sharing Schemes to generate distribution data Preg (1) to Preg (n - 1) and distribution data P (min) from original data, uses a common key to encrypt the distribution data P (min), generates key encrypted distribution data, and stores the key encrypted distribution data, the distribution data Preg (1) to Preg (n - 1) and common key encrypted data obtained by encrypting the common key by the key encrypting means 12 in the storing part 13. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、データ管理方法、データ管理システムおよびデータ管理装置に関するものである。   The present invention relates to a data management method, a data management system, and a data management apparatus.

鍵暗号による暗号化方法が知られている(例えば、特許文献1参照)。この鍵暗号には、鍵管理(鍵の更新等)の煩雑さや、長期の保管に対する脆弱性があり、セキュリチィー性(秘匿性)が完全ではないという欠点がある。   An encryption method using key encryption is known (for example, see Patent Document 1). This key encryption has the disadvantages of complicated key management (key update etc.) and vulnerability to long-term storage, and incomplete security (confidentiality).

鍵暗号の煩雑さや脆弱性をカバーする方法として、秘密分散法が知られているが、分散したデータ(ファイル)を格納する箇所が1箇所であると、容易に各分散データを収集し、それらから元データを復元することが可能となるため、各分散データの格納箇所は、複数の物理的な媒体または筐体を分ける必要がある。そのため、H/W(ハードウェア)に多くの投資が必要となるなどの問題があった。   The secret sharing method is known as a method for covering the complexity and vulnerability of key encryption, but if there is only one place to store the distributed data (file), each distributed data can be easily collected and Therefore, it is necessary to divide a plurality of physical media or casings at the storage locations of each distributed data. For this reason, there has been a problem that a large amount of investment is required for H / W (hardware).

特開平10−123949号公報Japanese Patent Laid-Open No. 10-123949

本発明の目的は、情報の秘匿性の高いデータを、少ないH/W資源で安全に保管することができるデータ管理方法、データ管理システムおよびデータ管理装置を提供することにある。   An object of the present invention is to provide a data management method, a data management system, and a data management device capable of safely storing data with high confidentiality of information with a small amount of H / W resources.

このような目的は、下記(1)〜(28)の本発明により達成される。
(1) 秘密分散法を用いて暗号化を行うデータ管理方法であって、
前記秘密分散法を用いて元データから複数の分散データを生成するステップと、
前記複数の分散データのうちの1つの分散データに対し共通鍵を用いて暗号化を行い、鍵暗号分散データを生成するステップと、
前記鍵暗号分散データと、前記鍵暗号分散データ以外の前記分散データとを格納部に格納するステップとを有することを特徴とするデータ管理方法。
Such an object is achieved by the present inventions (1) to (28) below.
(1) A data management method for performing encryption using a secret sharing method,
Generating a plurality of shared data from the original data using the secret sharing method;
Encrypting one shared data of the plurality of distributed data using a common key to generate key-encrypted distributed data;
A data management method comprising: storing the key encryption distributed data and the distributed data other than the key encryption distributed data in a storage unit.

(2) 前記共通鍵を用いて前記鍵暗号分散データから前記分散データを復号するステップと、
前記鍵暗号分散データ以外の前記分散データと、復号された前記分散データとから前記元データを復元するステップとを有する上記(1)に記載のデータ管理方法。
(2) decrypting the shared data from the key-encrypted shared data using the common key;
The data management method according to (1), further including a step of restoring the original data from the distributed data other than the key-encrypted distributed data and the decrypted distributed data.

(3) 所定の公開鍵で前記共通鍵を暗号化するステップを有する上記(1)または(2)に記載のデータ管理方法。   (3) The data management method according to (1) or (2), further including a step of encrypting the common key with a predetermined public key.

(4) 前記公開鍵に対応する秘密鍵を用いて前記公開鍵で暗号化された共通鍵から前記共通鍵を復号するステップを有する上記(3)に記載のデータ管理方法。   (4) The data management method according to (3), further including a step of decrypting the common key from the common key encrypted with the public key using a secret key corresponding to the public key.

(5) 前記秘密分散法は、AONT(All Or Nothing Transform)法によるものである上記(1)ないし(4)のいずれかに記載のデータ管理方法。   (5) The data management method according to any one of (1) to (4), wherein the secret sharing method is based on an AONT (All Or Nothing Transform) method.

(6) 前記複数の分散データを生成するステップは、
前記元データと、乱数データに対しハッシュ関数Gの処理を行って得られるハッシュ値との排他的論理和Xを求め、
前記Xに対しハッシュ関数Hの処理を行って得られるハッシュ値と、前記乱数データとの排他的論理和Yを求め、
前記Xと前記Yとを結合して暗号化データを得、該暗号化データから複数の分散データを生成する上記(1)ないし(5)のいずれかに記載のデータ管理方法。
(6) The step of generating the plurality of distributed data includes:
Obtaining an exclusive OR X of the original data and a hash value obtained by performing a hash function G on the random number data;
Obtaining an exclusive OR Y of the hash value obtained by processing the hash function H on X and the random number data;
The data management method according to any one of (1) to (5), wherein the X and the Y are combined to obtain encrypted data, and a plurality of distributed data is generated from the encrypted data.

(7) 前記複数の分散データを生成するステップは、
前記元データと、乱数データに対して擬似乱数処理を行って得られる擬似乱数データとの排他的論理和Xを求め、
前記Xに対し所定の関数の処理を行って得られる関数データと、前記乱数データとの排他的論理和Yを求め、
前記Xと前記Yとを結合して暗号化データを得、該暗号化データから複数の分散データを生成する上記(1)ないし(5)のいずれかに記載のデータ管理方法。
(7) The step of generating the plurality of distributed data includes:
Obtaining an exclusive OR X of the original data and pseudorandom data obtained by performing pseudorandom processing on the random data;
Obtaining an exclusive OR Y of the function data obtained by processing a predetermined function on X and the random number data;
The data management method according to any one of (1) to (5), wherein the X and the Y are combined to obtain encrypted data, and a plurality of distributed data is generated from the encrypted data.

(8) 前記共通鍵を用いて暗号化される分散データは、予め設定されたデータ量を有する上記(5)ないし(7)のいずれかに記載のデータ管理方法。   (8) The data management method according to any one of (5) to (7), wherein the distributed data encrypted using the common key has a preset data amount.

(9) 前記共通鍵を用いて暗号化される分散データは、前記元データのデータ量に対し1未満の所定の比率のデータ量を有する上記(5)ないし(8)のいずれかに記載のデータ管理方法。   (9) The distributed data encrypted using the common key has a data amount of a predetermined ratio less than 1 with respect to the data amount of the original data, according to any one of (5) to (8) above Data management method.

(10) 前記共通鍵を用いて暗号化される分散データのデータ量は、他の前記分散データのデータ量の合計に比べて少ない上記(5)ないし(9)のいずれかに記載のデータ管理方法。   (10) The data management according to any one of (5) to (9), wherein a data amount of the distributed data encrypted using the common key is smaller than a total data amount of the other distributed data. Method.

(11) 前記共通鍵を用いて暗号化される分散データのデータ量は、他の前記分散データのうち最もデータ量の多い分散データのデータ量以下である上記(5)ないし(10)のいずれかに記載のデータ管理方法。   (11) Any of the above (5) to (10), wherein the amount of distributed data encrypted using the common key is less than or equal to the amount of distributed data having the largest data amount among the other distributed data The data management method described in Crab.

(12) 前記共通鍵を用いて暗号化される分散データのデータ量は、他の前記分散データのうち最もデータ量の少ない分散データのデータ量以下である上記(5)ないし(10)のいずれかに記載のデータ管理方法。   (12) Any one of the above (5) to (10), wherein the amount of distributed data encrypted using the common key is equal to or less than the amount of distributed data having the smallest data amount among the other distributed data The data management method described in Crab.

(13) 秘密分散法を用いて暗号化を行うデータ管理システムであって、
前記秘密分散法を用いて元データから複数の分散データを生成する分散データ生成手段と、
前記複数の分散データのうちの1つの分散データに対し共通鍵を用いて暗号化を行い、鍵暗号分散データを生成する鍵暗号化手段と、
前記鍵暗号分散データ以外の前記分散データと、前記鍵暗号分散データとを格納する第1の格納部と、
前記鍵暗号分散データ以外の前記分散データと、前記鍵暗号分散データとを転送する転送手段とを有する第1の電子機器と、
前記鍵暗号分散データ以外の前記分散データと、前記鍵暗号分散データとを受け取る受け取り手段と、
前記共通鍵を用いて前記鍵暗号分散データから分散データを復号する分散データ復号化手段と、
前記鍵暗号分散データ以外の前記分散データと、復号された前記分散データとから前記元データを復元するデータ復元手段と、復元された前記元データを格納する第2の格納部とを有する第2の電子機器とを備えることを特徴とするデータ管理システム。
(13) A data management system for performing encryption using a secret sharing method,
Distributed data generation means for generating a plurality of distributed data from the original data using the secret sharing method;
A key encryption unit that encrypts one shared data among the plurality of distributed data using a common key, and generates key-encrypted distributed data;
A first storage unit that stores the distributed data other than the key-encrypted distributed data and the key-encrypted distributed data;
A first electronic device having transfer means for transferring the distributed data other than the key encryption distributed data and the key encryption distributed data;
Receiving means for receiving the distributed data other than the key-encrypted distributed data and the key-encrypted distributed data;
Distributed data decrypting means for decrypting distributed data from the key encryption distributed data using the common key;
A second restoration unit that restores the original data from the shared data other than the key-encrypted shared data and the decrypted distributed data; and a second storage unit that stores the restored original data. A data management system comprising: an electronic device.

(14) 前記第2の電子機器は、RSA鍵ペアを構成する公開鍵および秘密鍵の少なくとも一方を生成または入力する鍵生成手段を有し、
前記第1の電子機器は、前記公開鍵を用いて暗号化を行い、前記共通鍵から共通鍵暗号化データを生成する共通鍵暗号化手段を有し、
前記第2の電子機器は、前記秘密鍵を用いて前記共通鍵暗号化データから前記共通鍵を復号する共通鍵復号化手段を有する上記(13)に記載のデータ管理システム。
(14) The second electronic device has key generation means for generating or inputting at least one of a public key and a secret key that constitute an RSA key pair,
The first electronic device includes a common key encryption unit that performs encryption using the public key and generates common key encrypted data from the common key,
The data management system according to (13), wherein the second electronic device includes a common key decryption unit that decrypts the common key from the common key encrypted data using the secret key.

(15) 前記共通鍵暗号化データは、前記第1の格納部に格納される上記(14)に記載のデータ管理システム。   (15) The data management system according to (14), wherein the common key encrypted data is stored in the first storage unit.

(16) 前記共通鍵を用いて暗号化される分散データは、予め設定されたデータ量を有するものであるか、または前記元データのデータ量に対し1未満の所定の比率のデータ量を有するものである上記(13)ないし(15)のいずれかに記載のデータ管理システム。   (16) The distributed data encrypted using the common key has a preset data amount, or has a data amount with a predetermined ratio less than 1 with respect to the data amount of the original data. The data management system according to any one of (13) to (15) above.

(17) 前記分散データ生成手段は、
元データを入力する元データ入力部と、
乱数データRを生成する乱数データ生成部と、
前記乱数データRに対し所定の関数を実行して第1関数データを生成する第1関数データ生成部と、
前記第1関数データ生成部の出力と前記元データとの前記排他的論理和を計算する第1演算部と、
前記第1演算部の出力Xに対し所定の関数を実行して第2関数データを生成する第2関数データ生成部と、
前記第2関数データ生成部の出力と前記乱数データRとの排他的論理和を計算する第2演算部と、
前記出力Xと前記第2演算部の出力Yと結合して暗号化データを作成するデータ結合部と、
前記暗号化データを、前記共通鍵を用いて暗号化する1つの分散データと、その他の1または2以上の分散データとを含む複数の分散データに分割する分割手段とを有する上記(13)ないし(16)のいずれかに記載のデータ管理システム。
(17) The distributed data generation means includes:
An original data input section for inputting original data;
A random number data generation unit for generating random number data R;
A first function data generation unit that generates a first function data by executing a predetermined function on the random number data R;
A first calculation unit that calculates the exclusive OR of the output of the first function data generation unit and the original data;
A second function data generation unit that generates a second function data by executing a predetermined function on the output X of the first calculation unit;
A second operation unit that calculates an exclusive OR of the output of the second function data generation unit and the random number data R;
A data combining unit that generates encrypted data by combining the output X and the output Y of the second arithmetic unit;
(13) to (13) including a dividing unit that divides the encrypted data into a plurality of distributed data including one distributed data that is encrypted using the common key and one or more other distributed data. The data management system according to any one of (16).

(18) 前記分散データ生成手段は、
元データを入力する元データ入力部と、
乱数データRを生成する乱数データ生成部と、
前記乱数データRに対し擬似乱数処理を行って擬似乱数データを生成する擬似乱数生成部と、
前記擬似乱数生成部の出力と前記元データとの前記排他的論理和を計算する第1演算部と、
前記第1演算部の出力Xに対し所定の関数を実行して関数データを生成する関数データ生成部と、
前記関数データ生成部の出力と前記乱数データRとの排他的論理和を計算する第2演算部と、
前記出力Xと前記第2演算部の出力Yと結合して暗号化データを作成するデータ結合部と、
前記暗号化データを、前記共通鍵を用いて暗号化する1つの分散データと、その他の1または2以上の分散データとを含む複数の分散データに分割する分割手段とを有する上記(13)ないし(16)のいずれかに記載のデータ管理システム。
(18) The distributed data generation means includes:
An original data input section for inputting original data;
A random number data generation unit for generating random number data R;
A pseudo-random number generator that generates pseudo-random data by performing pseudo-random processing on the random number data R;
A first calculation unit that calculates the exclusive OR of the output of the pseudorandom number generation unit and the original data;
A function data generation unit that generates a function data by executing a predetermined function on the output X of the first calculation unit;
A second operation unit that calculates an exclusive OR of the output of the function data generation unit and the random number data R;
A data combining unit that generates encrypted data by combining the output X and the output Y of the second arithmetic unit;
(13) to (13) including a dividing unit that divides the encrypted data into a plurality of distributed data including one distributed data that is encrypted using the common key and one or more other distributed data. The data management system according to any one of (16).

(19) 前記所定の関数は、ハッシュ関数である上記(17)または(18)に記載のデータ管理システム。   (19) The data management system according to (17) or (18), wherein the predetermined function is a hash function.

(20) 秘密分散法を用いて暗号化を行うデータ管理装置であって、
前記秘密分散法を用いて元データから複数の分散データを生成する分散データ生成手段と、
前記複数の分散データのうちの1つの分散データに対し共通鍵を用いて暗号化を行い、鍵暗号分散データを生成する鍵暗号化手段と、
前記鍵暗号分散データ以外の前記分散データと、前記鍵暗号分散データとを格納する格納部とを有することを特徴とするデータ管理装置。
(20) A data management device that performs encryption using a secret sharing method,
Distributed data generation means for generating a plurality of distributed data from the original data using the secret sharing method;
A key encryption unit that encrypts one shared data among the plurality of distributed data using a common key, and generates key-encrypted distributed data;
A data management apparatus comprising: a storage unit that stores the distributed data other than the key encryption distributed data and the key encryption distributed data.

(21) 所定の公開鍵を用いて前記共通鍵から共通鍵暗号化データを生成する共通鍵暗号化手段を有する上記(20)に記載のデータ管理装置。   (21) The data management apparatus according to (20), further including a common key encryption unit that generates common key encrypted data from the common key using a predetermined public key.

(22) 前記公開鍵に対応する秘密鍵を有し、
前記秘密鍵を用いて前記共通鍵暗号化データから前記共通鍵を復号する共通鍵復号化手段を有する上記(21)に記載のデータ管理装置。
(22) having a secret key corresponding to the public key;
The data management apparatus according to (21), further including a common key decryption unit that decrypts the common key from the common key encrypted data using the secret key.

(23) 前記共通鍵を用いて前記鍵暗号分散データから前記分散データを復号する分散データ復号化手段と、
前記鍵暗号分散データ以外の前記分散データと、復号された前記分散データとから前記元データを復元するデータ復元手段とを有する上記(20)ないし(22)のいずれかに記載のデータ管理装置。
(23) distributed data decrypting means for decrypting the distributed data from the key-encrypted distributed data using the common key;
The data management device according to any one of (20) to (22), further including data restoration means for restoring the original data from the shared data other than the key-encrypted shared data and the decrypted shared data.

(24) 前記共通鍵を用いて暗号化される分散データは、予め設定されたデータ量を有するものであるか、または前記元データのデータ量に対し1未満の所定の比率のデータ量を有するものである上記(20)ないし(23)のいずれかに記載のデータ管理装置。   (24) The distributed data encrypted using the common key has a data amount set in advance, or has a data amount with a predetermined ratio less than 1 with respect to the data amount of the original data. The data management device according to any one of the above (20) to (23).

(25) RSA鍵ペアを構成する公開鍵および秘密鍵の少なくとも一方を生成または入力する手段を有する上記(20)ないし(24)のいずれかに記載のデータ管理装置。   (25) The data management device according to any one of (20) to (24), further including means for generating or inputting at least one of a public key and a secret key that constitute an RSA key pair.

(26) 前記分散データ生成手段は、
元データを入力する元データ入力部と、
乱数データRを生成する乱数データ生成部と、
前記乱数データRに対し所定の関数を実行して第1関数データを生成する第1関数データ生成部と、
前記第1関数データ生成部の出力と前記元データとの前記排他的論理和を計算する第1演算部と、
前記第1演算部の出力Xに対し所定の関数を実行して第2関数データを生成する第2関数データ生成部と、
前記第2関数データ生成部の出力と前記乱数データRとの排他的論理和を計算する第2演算部と、
前記出力Xと前記第2演算部の出力Yと結合して暗号化データを作成するデータ結合部と、
前記暗号化データを、前記共通鍵を用いて暗号化する1つの分散データと、その他の1または2以上の分散データとを含む複数の分散データに分割する分割手段とを有する上記(20)ないし(25)のいずれかに記載のデータ管理装置。
(26) The distributed data generation means includes:
An original data input section for inputting original data;
A random number data generation unit for generating random number data R;
A first function data generation unit that generates a first function data by executing a predetermined function on the random number data R;
A first calculation unit that calculates the exclusive OR of the output of the first function data generation unit and the original data;
A second function data generation unit that generates a second function data by executing a predetermined function on the output X of the first calculation unit;
A second operation unit that calculates an exclusive OR of the output of the second function data generation unit and the random number data R;
A data combining unit that generates encrypted data by combining the output X and the output Y of the second arithmetic unit;
(20) to (20) having a dividing unit that divides the encrypted data into a plurality of distributed data including one distributed data that is encrypted using the common key and one or more other distributed data. (25) The data management device according to any one of (25).

(27) 前記分散データ生成手段は、
元データを入力する元データ入力部と、
乱数データRを生成する乱数データ生成部と、
前記乱数データRに対し擬似乱数処理を行って擬似乱数データを生成する擬似乱数生成部と、
前記擬似乱数生成部の出力と前記元データとの前記排他的論理和を計算する第1演算部と、
前記第1演算部の出力Xに対し所定の関数を実行して関数データを生成する関数データ生成部と、
前記関数データ生成部の出力と前記乱数データRとの排他的論理和を計算する第2演算部と、
前記出力Xと前記第2演算部の出力Yと結合して暗号化データを作成するデータ結合部と、
前記暗号化データを、前記共通鍵を用いて暗号化する1つの分散データと、その他の1または2以上の分散データとを含む複数の分散データに分割する分割手段とを有する上記(20)ないし(25)のいずれかに記載のデータ管理装置。
(27) The distributed data generation means includes:
An original data input section for inputting original data;
A random number data generation unit for generating random number data R;
A pseudo-random number generator that generates pseudo-random data by performing pseudo-random processing on the random number data R;
A first calculation unit that calculates the exclusive OR of the output of the pseudorandom number generation unit and the original data;
A function data generation unit that generates a function data by executing a predetermined function on the output X of the first calculation unit;
A second operation unit that calculates an exclusive OR of the output of the function data generation unit and the random number data R;
A data combining unit that generates encrypted data by combining the output X and the output Y of the second arithmetic unit;
(20) to (20) having a dividing unit that divides the encrypted data into a plurality of distributed data including one distributed data that is encrypted using the common key and one or more other distributed data. (25) The data management device according to any one of (25).

(28) 前記所定の関数は、ハッシュ関数である上記(26)または(27)に記載のデータ管理装置。   (28) The data management device according to (26) or (27), wherein the predetermined function is a hash function.

本発明によれば、分散データと、鍵暗号分散データとを生成し、これらを1つの格納部に格納することにより、情報の秘匿性の高いデータを、少ないH/W資源で安全に保管することができる
また、複数の分散データのうちの1つの分散データのみを共通鍵を用いて暗号化するため、暗号化されるデータの量が少なく、よって、安全性を低下させることなく処理を高速化することができる。
According to the present invention, distributed data and key-encrypted distributed data are generated and stored in one storage unit, so that highly confidential data can be safely stored with less H / W resources. In addition, since only one distributed data among a plurality of distributed data is encrypted using a common key, the amount of data to be encrypted is small, and thus processing can be performed at a high speed without degrading security. Can be

また、秘密分散法のうち、AONT(All Or Nothing Transform)法を用いることにより、暗号化する分散データのデータ量を所望に設定することができ、特に、比較的少ないデータ量に設定することができ、前述した効果がより顕著に発揮される。さらに、AONTにおいて、擬似乱数処理を用いることにより、処理の高速化を図ることができる。   Also, by using the AONT (All Or Nothing Transform) method among secret sharing methods, the amount of distributed data to be encrypted can be set as desired, and in particular, it can be set to a relatively small amount of data. And the effects described above are more remarkably exhibited. Furthermore, in AONT, it is possible to increase the processing speed by using pseudo random number processing.

以下、本発明のデータ管理方法(データ保管方法)、データ管理システム(データ保管システム)およびデータ管理装置(データ保管装置)について、添付図面を参照しつつ詳細に説明する。   Hereinafter, a data management method (data storage method), a data management system (data storage system), and a data management device (data storage device) according to the present invention will be described in detail with reference to the accompanying drawings.

図1は、データ管理(保管)システムの実施形態を示すブロック図である。
図1に示すように、データ保管システム100は、例えば、インターネット回線等のオープンネットワーク30を介して、データ通信を行うものであり、サーバ10と、クライアント20とを有している。
FIG. 1 is a block diagram illustrating an embodiment of a data management (storage) system.
As illustrated in FIG. 1, the data storage system 100 performs data communication via an open network 30 such as an Internet line, and includes a server 10 and a client 20.

サーバ10は、元データ(暗号化対象データ)に対して暗号化処理を行って暗号化されたデータを作成して所定の場所に格納し、クライアント20は、必要に応じて前述した暗号化されたデータを所定の場所から取り出して元データの復号を行う。   The server 10 performs encryption processing on the original data (data to be encrypted) to create encrypted data and stores it in a predetermined location, and the client 20 performs the above-described encryption as necessary. The obtained data is taken out from a predetermined place and the original data is decoded.

以下、これらの各構成要素について順次説明する。
サーバ10は、分散データ生成手段11と、暗号化手段12と、格納部13と、インターフェース部14とを有している。
Hereinafter, each of these components will be described sequentially.
The server 10 includes a distributed data generation unit 11, an encryption unit 12, a storage unit 13, and an interface unit 14.

分散データ生成手段11は、入力される元データ(秘密情報D)に対し、秘密分散法(Secret Sharing Schemes)を用いて、合計n個(但しnは2以上の整数)の分散データを生成する。この場合、分散データは、(n−1)個の分散データPreg(1)〜Preg(n−1)と、1個の分散データP(min)とで構成される。   The distributed data generation means 11 generates a total of n (where n is an integer of 2 or more) distributed data using Secret Sharing Schemes for the input original data (secret information D). . In this case, the distributed data includes (n−1) pieces of distributed data Preg (1) to Preg (n−1) and one piece of distributed data P (min).

分散データP(min)のデータ量V(min)は、後述する秘密分散法の種類により異なる。後述するAONTによる場合、データ量V(min)は、元データのデータ量未満とされ、特に、元データのデータ量に対し比較的少ない量(例えば、1/2以下(未満))とすることができる。例えば、第1のケースとして、分散データP(min)のデータ量V(min)は、他の分散データPreg(1)〜Preg(n−1)のデータ量の合計より少ない(例えば1/2以下(未満)、1/3以下など)データ量にする(設定する)ことができ、第2のケースとして、データ量V(min)は、分散データPreg(1)〜Preg(n−1)のうち最もデータ量の多い分散データのデータ量以下(未満)にする(設定する)ことができ、第3のケースとして、データ量V(min)は、分散データPreg(1)〜Preg(n−1)のうち最もデータ量の少ない分散データのデータ量以下(未満)にする(設定する)ことができる。分散データP(min)のデータ量V(min)をこのようにすることにより、共通鍵を用いて分散データP(min)を暗号化する(鍵暗号分散データを生成する)場合および該鍵暗号分散データを復号化して分散データP(min)を得る場合において、その処理をより迅速に、短時間で行うことができ、その結果、全体の処理時間を大幅に短縮することができる。   The data amount V (min) of the shared data P (min) varies depending on the type of secret sharing method described later. In the case of AONT, which will be described later, the data amount V (min) is less than the data amount of the original data, and in particular, a relatively small amount (for example, ½ or less (less than) the original data amount). Can do. For example, as a first case, the data amount V (min) of the distributed data P (min) is smaller than the total data amount of the other distributed data Preg (1) to Preg (n−1) (for example, 1/2 Or less (less than, 1/3 or less) can be set (set), and as a second case, the data amount V (min) is distributed data Preg (1) to Preg (n-1). The data amount V (min) can be set (or set) below (less than) the data amount of the distributed data having the largest data amount among them. As a third case, the data amount V (min) is distributed data Preg (1) to Preg (n -1) can be set (set) below (less than) the data amount of the distributed data with the smallest data amount. When the data amount V (min) of the distributed data P (min) is set in this way, the shared data P (min) is encrypted using a common key (key encryption distributed data is generated) and the key encryption When the distributed data is decrypted to obtain the distributed data P (min), the processing can be performed more quickly and in a short time, and as a result, the entire processing time can be greatly shortened.

ここで、秘密分散法とは、1つの秘密情報(secret)を複数の分散情報(シェア)に分散して管理する方法であり、秘密情報のセキュリティ性を高めることができる方法である。この秘密分散法には、いわゆるシャミア(Shamir)の秘密分散法と、データ量が可変の分散アルゴリズムを用いたAONT(All Or Nothing Transform)法(参考文献:V.Boyko,“On the security properties of OAEP as an all-or-nothing transform, ”Advances in Cryptology - CRYPTO ’99, Lecture Notes in Computer Science, vol.1666, pp.503-518, 1999.)による秘密分散法とがある。   Here, the secret sharing method is a method of managing one secret information (secret) by distributing it to a plurality of shared information (shares), and is a method capable of improving the security of the secret information. This secret sharing method includes the so-called Shamir secret sharing method and the AONT (All Or Nothing Transform) method using a distributed algorithm with a variable amount of data (reference: V. Boyko, “On the security properties of OAEP as an all-or-nothing transform, “Advances in Cryptology-CRYPTO '99, Lecture Notes in Computer Science, vol. 1666, pp. 503-518, 1999.)

前者は、秘密情報をn個(但しnは2以上の整数)の分散情報(シェア)に分散符号化し、任意の分散情報をk個集めると、元の秘密情報を復元することができるが、分散情報をk−1個以下集めても元の秘密情報を復元することができない。また、複数の分散情報(シェア)の1つ1つを見ても、秘密情報の部分的な情報は分からないようになっている。   In the former, the secret information is distributedly encoded into n pieces (where n is an integer of 2 or more) of shared information (share) and k pieces of arbitrary pieces of shared information can be collected to restore the original secret information. Even if k-1 or less pieces of shared information are collected, the original secret information cannot be restored. In addition, partial information of the secret information is not known even when looking at each of the plurality of shared information (shares).

このとき分散情報w(i=1,2,・・・,n)は、秘密情報Dと素数pおよび乱数データR(j=1,2,・・・,k−1)を用いてk−1次の、下記の多項式(1)から式(2)のように表せる。また、このときxは、同じ値を含まない。
=f(x) (i=1,2,・・・,n) (1)
f(x)=S+rx+r+…+rk−1k−1 (mod p) (2)
ここでmodは剰余を示す。
At this time, the shared information w i (i = 1, 2,..., N) uses the secret information D, the prime number p, and the random number data R j (j = 1, 2,..., K−1). The k-1 order polynomial (1) can be expressed as the following equation (2). At this time x i does not contain the same value.
w i = f (x i ) (i = 1, 2,..., n) (1)
f (x) = S + r 1 x + r 2 x 2 +... + r k−1 x k−1 (mod p) (2)
Here, mod indicates a remainder.

これらの式を用いて秘密分散法の原理を説明すると以下のようになる。
式(1)において、y=f(x)とすると、秘密情報Dは、y軸切片を示している。式(1)は、k−1次の多項式なので、分散情報w(i=1,2,・・・,n)が、k個集まると、k個の座標点から多項式y=f(x)が一意に求まる。しかし、分散情報をk−1個集めただけでは、k−1個の座標点しかわからず、多項式が一意に求まらないので、全てのy軸切片を通る可能性がある。そのため秘密情報Dが解読できない。
The principle of the secret sharing method is explained using these equations as follows.
In the expression (1), when y = f (x), the secret information D indicates the y-axis intercept. Since equation (1) is a k−1 order polynomial, when k pieces of distributed information w i (i = 1, 2,..., N) are gathered, the polynomial y = f (x ) Is uniquely determined. However, if only k−1 pieces of distributed information are collected, only k−1 coordinate points are known, and a polynomial cannot be obtained uniquely. Therefore, there is a possibility of passing through all y-axis intercepts. Therefore, the secret information D cannot be decrypted.

以上の秘密分散法を用いることにより、分割された分散情報のそれぞれによる、部分的な情報の漏えいを有効に防止することができる。   By using the above secret sharing method, partial information leakage due to each of the divided shared information can be effectively prevented.

また、後者(AONT)は、図8に示す方法(分散データ生成手段)により実行される。図8に示すように、分散データ生成手段11は、秘密情報(秘匿すべき元データ)Dを入力する元データ入力部50と、乱数データRを生成する乱数データ生成部51と、ハッシュ関数G(ここで、ハッシュ関数とは、ドキュメントや数字などの文字列の羅列から一定長(固定長)のデータに要約するための関数を言う。)を実行してハッシュ値(関数データ)を生成する第1ハッシュ値生成部(第1関数データ生成部)52と、排他的論理和[Q+]を計算する第1演算部53と、ハッシュ関数Hを実行してハッシュ値(関数データ)を生成する第2ハッシュ値生成部(第2関数データ生成部:関数データ生成部)54と、排他的論理和[Q+]を計算する第2演算部55と、第1演算部53の出力Xおよび第2演算部55の出力Yを所定の方法で結合して暗号化データを作成するデータ結合部56とを有している。   The latter (AONT) is executed by the method (distributed data generating means) shown in FIG. As shown in FIG. 8, the distributed data generation unit 11 includes an original data input unit 50 that inputs secret information (original data to be concealed) D, a random number data generation unit 51 that generates random number data R, and a hash function G. (Here, the hash function is a function for summarizing a sequence of character strings such as documents and numbers into fixed-length (fixed-length) data) and generates a hash value (function data) A first hash value generation unit (first function data generation unit) 52, a first calculation unit 53 that calculates exclusive OR [Q +], and a hash function H are executed to generate a hash value (function data). A second hash value generation unit (second function data generation unit: function data generation unit) 54, a second calculation unit 55 that calculates an exclusive OR [Q +], an output X and a second value of the first calculation unit 53 The output Y of the calculation unit 55 is determined by a predetermined method. And a data combining unit 56 for generating encrypted data by combining them.

そして、出力X、Yは、
X=G(R)[Q+]D
Y=H(X)[Q+]R=H(G(R)[Q+]D)[Q+]R
で表される。
And the outputs X and Y are
X = G (R) [Q +] D
Y = H (X) [Q +] R = H (G (R) [Q +] D) [Q +] R
It is represented by

このXとYとを所定の方法で結合して転送用の暗号化データを作成する。これにより、第三者が容易に復号することのできない暗号化データを作成することができる。   The X and Y are combined by a predetermined method to create encrypted data for transfer. This makes it possible to create encrypted data that cannot be easily decrypted by a third party.

この暗号化データは、図示しない所定の分割手段等により、複数の分散データ(分散情報)に分割することができる。すなわち、複数の分散データが生成される。   This encrypted data can be divided into a plurality of distributed data (distributed information) by a predetermined dividing means (not shown). That is, a plurality of distributed data is generated.

暗号化データの分割(複数の分散データの生成)は、例えば、暗号化データの総データ量が10000バイトのであるとき、1バイト目からaバイト目まで、a+1バイト目からbバイト目まで、・・・、zバイト目から10000バイト目まで(ただし、1<a<b<・・・ <z<10000)、というように、単純にデータを2または3以上に分割するような方法を採用することができる。もちろん、その他の方法を採用してもよい。   For example, when the total amount of encrypted data is 10,000 bytes, the encrypted data is divided (generated a plurality of distributed data) from the first byte to the a byte, from the a + 1 byte to the b byte, .... From the z-th byte to the 10000th byte (however, 1 <a <b <... <Z <10000), a method that simply divides the data into two or three or more is employed. be able to. Of course, other methods may be adopted.

AONTでは、分散データの個数および各分散データの大きさ(データ量)を自由に設定することができ、全ての分散データのデータ量の合計が元データ(秘密情報D)のデータ量とほぼ同等になるという特徴を有する。この特徴から、本発明では、AONTによる秘密分散法を用いるのが好ましい。分散データP(min)のデータ量V(min)を容易に前述したように設定することができるからである。   In AONT, the number of distributed data and the size (data amount) of each distributed data can be freely set, and the total data amount of all the distributed data is almost equal to the data amount of the original data (secret information D). It has the feature of becoming. Because of this feature, in the present invention, it is preferable to use the secret sharing method by AONT. This is because the data amount V (min) of the distributed data P (min) can be easily set as described above.

分散データP(min)のデータ量V(min)は、例えば次のような方法で設定することができる。   The data amount V (min) of the distributed data P (min) can be set by the following method, for example.

[1]データ量V(min)を一定値に設定する。この場合、データ量V(min)の設定値は、元データのデータ量ASの想定される範囲の下限値AS(min)に比べて十分に小さい値(例えば1/2以下)とされ、好ましくは、下限値AS(min)の1/3以下、より好ましくは1/10000〜1/5程度とされる。例えば、元データのデータ量ASが20kバイト〜100Mバイト程度であると想定された場合、データ量V(min)は、10kバイトまたはそれ以下の値とする。 [1] The data amount V (min) is set to a constant value. In this case, the set value of the data amount V (min) is set to a sufficiently small value (for example, ½ or less) as compared with the lower limit value AS (min) of the assumed range of the data amount AS of the original data. Is less than or equal to 1/3 of the lower limit value AS (min), more preferably about 1/10000 to 1/5. For example, when the data amount AS of the original data is assumed to be about 20 kbytes to 100 Mbytes, the data amount V (min) is set to a value of 10 kbytes or less.

当該[1]を採用した場合、元データのデータ量ASの大小に係わらず、分散データP(min)のデータ量データ量V(min)を常に一定値(しかも比較的小さい値)に固定することができる。これにより、分散データP(min)の暗号化や復号化の処理速度(処理時間)を一定にし、しかも当該処理を短時間で行うことができるという利点がある。   When [1] is adopted, the data amount data amount V (min) of the distributed data P (min) is always fixed to a constant value (and a relatively small value) regardless of the data amount AS of the original data. be able to. Thereby, there is an advantage that the processing speed (processing time) of encryption and decryption of the distributed data P (min) can be made constant and the processing can be performed in a short time.

[2]データ量V(min)は、元データのデータ量ASに応じた値とする。この場合、データ量ASを何らかの方法、例えばデータ量検出手段(図示せず)により把握し、データ量V(min)をデータ量ASに対し所定の比率(但し1未満)に設定する。例えば、データ量V(min)=データ量AS×k(但し、k=0.0001〜0.5(または0.5未満))とする。この場合、kは、固定値でも、諸条件(例えば、ASの大小やnの大小)に応じて変動する値でもよい。 [2] The data amount V (min) is a value corresponding to the data amount AS of the original data. In this case, the data amount AS is grasped by some method, for example, a data amount detection means (not shown), and the data amount V (min) is set to a predetermined ratio (however, less than 1) with respect to the data amount AS. For example, the data amount V (min) = the data amount AS × k (where k = 0.0001 to 0.5 (or less than 0.5)). In this case, k may be a fixed value or a value that varies depending on various conditions (for example, the magnitude of AS or the magnitude of n).

当該[2]を採用した場合、元データのデータ量ASが比較的小さい場合でも、それに応じて、分散データP(min)の暗号化や復号化の処理速度を早くすることができるという利点がある。   When [2] is adopted, even when the data amount AS of the original data is relatively small, there is an advantage that the processing speed of the encryption and decryption of the distributed data P (min) can be increased accordingly. is there.

[3]前記[1]と[2]の組み合わせ。例えば、データ量ASを検出し、その値が所定のしきい値(例えば10kバイト)以上の場合には、前記[1]を採用し、前記しきい値未満の場合には、前記[2]を採用する。 [3] A combination of the above [1] and [2]. For example, when the data amount AS is detected and the value is equal to or greater than a predetermined threshold (for example, 10 kbytes), the above [1] is adopted, and when the value is less than the threshold, the above [2] Is adopted.

当該[3]を採用した場合には、前記[1]および[2]の利点を併有することができる。   When [3] is adopted, the advantages of [1] and [2] can be obtained.

なお、図8に示す分散データ生成手段11では、第1ハッシュ値生成部52および第2ハッシュ値生成部54においてそれぞれハッシュ関数による処理を行っているが、本発明ではこれに限らず、ハッシュ関数以外の関数を用いることができる。   In the distributed data generation unit 11 shown in FIG. 8, the first hash value generation unit 52 and the second hash value generation unit 54 perform processing using a hash function, but the present invention is not limited to this. Other functions can be used.

また、図8に示す分散データ生成手段11において、第1ハッシュ値生成部52を、擬似乱数処理を行う擬似乱数データ生成部57に置き換えることができる。この擬似乱数データ生成部57は、乱数データRに対して擬似乱数処理を行い、擬似乱数(pseudo-random number)データを生成し出力する。以後は前記と同様の処理を行い、出力XとYとから暗号化データを生成し、さらに前記と同様にして複数の分散データを生成する。ここで、出力Yのデータ量は、乱数データRのデータ量と同一とすることができる。   Further, in the distributed data generation unit 11 shown in FIG. 8, the first hash value generation unit 52 can be replaced with a pseudo random number data generation unit 57 that performs pseudo random number processing. The pseudo random number data generation unit 57 performs pseudo random number processing on the random number data R to generate and output pseudo-random number data. Thereafter, the same processing as described above is performed, encrypted data is generated from the outputs X and Y, and a plurality of distributed data is generated in the same manner as described above. Here, the data amount of the output Y can be the same as the data amount of the random number data R.

なお、この擬似乱数処理を用いた構成は、本願出願人によるPCT/JP2005/006903の出願の明細書、請求の範囲等にその詳細が開示されており、当該PCT出願の内容を本発明に適用することができる。   The details of the configuration using this pseudo-random number processing are disclosed in the specification and claims of the PCT / JP2005 / 006903 application filed by the applicant of the present application, and the contents of the PCT application are applied to the present invention. can do.

ここで、「擬似乱数処理」とは、多項式計算の計算機(本実施形態では、後述するCPU101)が乱数と識別不能な列を出力する処理を言い、この列に含まれる数を(暗号論的)擬似乱数という。より詳しく説明すると、「擬似乱数」とは、確定的な計算によって求められる数列に含まれる数を指す。また、擬似乱数処理は、データ量が可変の分散アルゴリズムであり、生成する擬似乱数データの個数および大きさを任意に設定することができる。   Here, “pseudo-random number processing” refers to a process in which a polynomial calculation computer (CPU 101 described later in the present embodiment) outputs a sequence that cannot be distinguished from random numbers, and the number contained in this sequence is represented by (cryptographic) ) Pseudorandom number. More specifically, the “pseudo random number” refers to a number included in a number sequence obtained by deterministic calculation. The pseudo random number process is a distributed algorithm with a variable data amount, and the number and size of the pseudo random number data to be generated can be arbitrarily set.

このように、第1ハッシュ値生成部52に代え、擬似乱数データ生成部57で擬似乱数処理を行う構成とすることにより、ハッシュ関数を用いてハッシュ値を求めるのに比べて、次のような利点がある。   Thus, instead of the first hash value generation unit 52, the pseudo random number data generation unit 57 performs the pseudo random number processing, so that the hash value is obtained using the hash function as follows. There are advantages.

すなわち、ハッシュ関数(第1ハッシュ値生成部52)を用いた場合、1回の処理で出力されるハッシュ値は固定長であるため、必要な大きさの出力を求めるためには多数回(例えば、データが0.1Mバイト、ハッシュ関数が160ビットの場合は650回以上)のハッシュ処理を行う必要がある。これに対し、擬似乱数処理を行う場合には、乱数データRから一度の演算処理で擬似乱数データを生成することができる。   That is, when the hash function (first hash value generation unit 52) is used, the hash value output in one process has a fixed length. If the data is 0.1 Mbytes and the hash function is 160 bits, it is necessary to perform hash processing of 650 times or more). On the other hand, when performing the pseudo random number process, the pseudo random number data can be generated from the random number data R by a single calculation process.

従って、擬似乱数データ生成部52で擬似乱数処理を行う構成とする場合には、少ない演算回数で、安全性の高い(第三者に識別不能な)擬似乱数データを生成することができる。これにより、安全性を低下させることなくサーバ10の処理を高速化することができるため、サーバ10の演算処理の負担を軽くすることができる。その結果、データ保管システム100のデータ処理速度やデータの送受信の速度が格段に速くなり、高速化への対応が有利となる。特に、本発明では、例えば静止画や動画の画像データのようなデータ量が多いものの場合には、かかる高速化のメリットが大きく、有利である。   Therefore, when the pseudo random number data generation unit 52 is configured to perform the pseudo random number process, it is possible to generate pseudo random number data with high safety (which cannot be identified by a third party) with a small number of calculations. Thereby, since the processing of the server 10 can be speeded up without reducing the safety, the burden of the arithmetic processing of the server 10 can be reduced. As a result, the data processing speed of the data archiving system 100 and the data transmission / reception speed are remarkably increased, and it is advantageous to cope with the higher speed. In particular, according to the present invention, for example, in the case of a large amount of data such as still image data or moving image data, the advantage of such high speed is large and advantageous.

以上のような分散データ生成手段11は、生成された各分散データのうち、分散データPreg(1)〜Preg(n−1)を格納部13へ出力し、分散データP(min)を暗号化手段12へ出力する。   The distributed data generation means 11 as described above outputs the distributed data Preg (1) to Preg (n-1) among the generated distributed data to the storage unit 13, and encrypts the distributed data P (min). Output to means 12.

図2は、鍵暗号化手段の構成例を示すブロック図である。
鍵暗号化手段12は、共通鍵生成手段121と、分散データ暗号化手段122と、共通鍵暗号化手段123とで構成されている。
FIG. 2 is a block diagram illustrating a configuration example of the key encryption unit.
The key encryption unit 12 includes a common key generation unit 121, a distributed data encryption unit 122, and a common key encryption unit 123.

共通鍵生成手段121は、暗号時と復号時とに同じ鍵を用いる共通鍵を生成する。ここで生成された共通鍵は、分散データ暗号化手段122および共通鍵暗号化手段123にそれぞれ入力される。   The common key generation unit 121 generates a common key that uses the same key for encryption and decryption. The common key generated here is input to the distributed data encryption unit 122 and the common key encryption unit 123, respectively.

分散データ暗号化手段122は、分散データP(min)を、共通鍵を用いて暗号化し、鍵暗号分散データを生成する。   The distributed data encryption unit 122 encrypts the distributed data P (min) using a common key, and generates key encryption distributed data.

共通鍵暗号化手段123は、後述する鍵生成手段22で生成される公開鍵を用いて、共通鍵を暗号化し、共通鍵暗号化データを生成する。   The common key encryption unit 123 encrypts the common key using a public key generated by the key generation unit 22 described later, and generates common key encrypted data.

再び図1に戻って説明する。
格納部13は、分散データ生成手段11より出力された分散データPreg(1)〜Preg(n−1)と、鍵暗号化手段12で生成された鍵暗号分散データおよび共通鍵暗号化データとを格納する。
Returning again to FIG.
The storage unit 13 stores the distributed data Preg (1) to Preg (n−1) output from the distributed data generation unit 11 and the key encryption shared data and the common key encrypted data generated by the key encryption unit 12. Store.

インターフェース部14は、オープンネットワーク30(ただし、オープンのものに限られない)を介してクライアント20との間で分散データPreg(1)〜Preg(n−1)、鍵暗号分散データ、共通鍵暗号化データ等の、各種データの送受信を行う。   The interface unit 14 communicates with the client 20 via the open network 30 (but not limited to open ones), distributed data Preg (1) to Preg (n-1), key encryption distributed data, common key encryption. Various data such as digitized data is transmitted and received.

クライアント20は、インターフェース部21と、鍵生成手段22と、鍵復号化手段23と、データ復元手段24と、格納部25とを有している。   The client 20 includes an interface unit 21, a key generation unit 22, a key decryption unit 23, a data restoration unit 24, and a storage unit 25.

インターフェース部21は、オープンネットワーク30を介してサーバ10との間で分散データPreg(1)〜Preg(n−1)、鍵暗号分散データ、共通鍵暗号化データ等、各種データの送受信を行う。   The interface unit 21 transmits and receives various data such as distributed data Preg (1) to Preg (n-1), key encryption distributed data, and common key encrypted data to and from the server 10 via the open network 30.

鍵生成手段22は、RSA(Rivest Shamir Adleman)鍵暗号化方法を用いて公開鍵および秘密鍵を生成し、公開鍵をサーバ10に出力し、秘密鍵を鍵復号手段23に出力する。   The key generation unit 22 generates a public key and a secret key using an RSA (Rivest Shamir Adleman) key encryption method, outputs the public key to the server 10, and outputs the secret key to the key decryption unit 23.

図3は、鍵復号化手段の構成例を示すブロック図である。
鍵復号化手段23は、共通鍵復号化手段231と、分散データ復号化手段232とで構成されている。
FIG. 3 is a block diagram showing a configuration example of the key decryption means.
The key decryption unit 23 includes a common key decryption unit 231 and a distributed data decryption unit 232.

共通鍵復号化手段231は、鍵生成手段22で生成され入力された秘密鍵を用い、サーバ10側から受信し格納部25に格納された共通鍵暗号化データから共通鍵を取り出す(復号する)。   The common key decryption unit 231 uses the secret key generated and input by the key generation unit 22 and extracts (decrypts) the common key from the common key encrypted data received from the server 10 and stored in the storage unit 25. .

分散データ復号化手段232は、鍵暗号分散データが入力されると、共通鍵復号化手段231で復号された共通鍵を用いて、分散データP(min)を復号する。   When the key encryption distributed data is input, the distributed data decryption unit 232 decrypts the distributed data P (min) using the common key decrypted by the common key decryption unit 231.

再び図1に戻って説明する。
データ復元手段24は、復号された分散データP(min)と、Preg(1)〜Preg(n−1)とから元データを復元し、格納部25へ出力する。
格納部25は、復元された元データを格納する。
Returning again to FIG.
The data restoration unit 24 restores the original data from the decrypted distributed data P (min) and Preg (1) to Preg (n−1), and outputs the original data to the storage unit 25.
The storage unit 25 stores the restored original data.

次に、サーバ10のハードウェア構成例を示す。
図4は、サーバの実施形態のハードウェア構成例を示す図である。
Next, a hardware configuration example of the server 10 is shown.
FIG. 4 is a diagram illustrating a hardware configuration example of the server embodiment.

サーバ10は、CPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、HDD(Hard Disk Drive)104、I/F(Interface)105、グラフィック装置106、入力装置107、バス108およびモニタ(表示装置)111によって構成されている。   The server 10 includes a central processing unit (CPU) 101, a read only memory (ROM) 102, a random access memory (RAM) 103, a hard disk drive (HDD) 104, an interface (I / F) 105, a graphic device 106, and an input device. 107, a bus 108, and a monitor (display device) 111.

ここで、CPU101は、HDD104に格納されているプログラムにしたがって各種演算処理を実行するととともに、サーバ10の各部を制御する。   Here, the CPU 101 executes various arithmetic processes according to a program stored in the HDD 104 and controls each unit of the server 10.

ROM102は、CPU101が実行する基本的なプログラム等が格納されている。
RAM103には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM103には、CPU101による処理に必要な各種データが格納される。HDD104には、OSやアプリケーションプログラムが格納される。
The ROM 102 stores basic programs executed by the CPU 101.
The RAM 103 temporarily stores at least part of an OS (Operating System) program and application programs to be executed by the CPU 101. The RAM 103 stores various data necessary for processing by the CPU 101. The HDD 104 stores an OS and application programs.

I/F105は、入力装置107から入力されるデータの表現形式を変更して入力するとともに、オープンネットワーク30との間で所定のプロトコルに従ってデータを送受信する。   The I / F 105 changes the expression format of the data input from the input device 107 and inputs it, and transmits / receives data to / from the open network 30 according to a predetermined protocol.

グラフィック装置106には、モニタ111が接続されている。グラフィック装置106は、CPU101からの命令に従って、画像をモニタ111の画面に表示させる。   A monitor 111 is connected to the graphic device 106. The graphic device 106 displays an image on the screen of the monitor 111 in accordance with a command from the CPU 101.

入力装置107は、例えば、キーボードやマウスなどによって構成されており、ユーザの操作に応じたデータを生成して出力する。   The input device 107 includes, for example, a keyboard and a mouse, and generates and outputs data corresponding to a user operation.

以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図4には、サーバ10のハードウェア構成例を示したが、クライアント20も同様のハードウェア構成で実現することができる。   With the hardware configuration as described above, the processing functions of the present embodiment can be realized. Although FIG. 4 shows an example of the hardware configuration of the server 10, the client 20 can also be realized with the same hardware configuration.

次に、データ保管システム100を用いたデータ保管方法について説明する。
図5は、データ管理(保管)システムの前処理を説明するフローチャートである。
Next, a data storage method using the data storage system 100 will be described.
FIG. 5 is a flowchart for explaining preprocessing of the data management (storage) system.

なお、以下では、一例として1つの分散データPreg(1)(n=1の場合)と分散データP(min)の合計2つの分散データを生成する場合について説明する。   In the following, a case where a total of two pieces of shared data, that is, one shared data Preg (1) (when n = 1) and the shared data P (min) are generated will be described.

まず、クライアント20の鍵生成手段22は、RSA鍵暗号化方法を用いてRSA鍵ペア、すなわち公開鍵および秘密鍵を生成する(ステップS11)。   First, the key generation means 22 of the client 20 generates an RSA key pair, that is, a public key and a secret key using an RSA key encryption method (step S11).

次に、クライアント20は、生成した公開鍵をサーバ10に転送し、秘密鍵を格納部25に格納する(ステップS12)。   Next, the client 20 transfers the generated public key to the server 10 and stores the secret key in the storage unit 25 (step S12).

一方、サーバ10は、クライアント20から転送された公開鍵を格納部13に格納する(ステップS13)。
以上で前処理が終了する。
On the other hand, the server 10 stores the public key transferred from the client 20 in the storage unit 13 (step S13).
Thus, the preprocessing is completed.

次に、データ保管システム100の暗号化処理について説明する。
図6は、データ管理(保管)システムの暗号化処理を説明するフローチャートである。
Next, the encryption process of the data storage system 100 will be described.
FIG. 6 is a flowchart for explaining the encryption processing of the data management (storage) system.

暗号化を行う際には、まず、分散データ生成手段11が、格納部13に格納された元データを読み出す(ステップS21)。   When performing encryption, first, the distributed data generation means 11 reads the original data stored in the storage unit 13 (step S21).

次に、図示しないデータ量検出手段により元データのデータ量を検出し、分散データ生成手段11は、検出された元データのデータ量に応じて、分散データPreg(1)と分散データP(min)とを生成する(ステップS22)。   Next, the data amount of the original data is detected by a data amount detection unit (not shown), and the distributed data generation unit 11 determines the distributed data Preg (1) and the distributed data P (min) according to the detected data amount of the original data. ) Is generated (step S22).

この際、分散データP(min)のデータ量V(min)は、前記[1]〜[3]のいずれの方法に従って設定してもよいが、本実施形態では、前記[3]を採用し、さらに、前記第1〜第3のケースのうち、第3のケースを採用することとする。すなわち、例えば、元データのデータ量ASが10kバイト未満の場合には、データ量V(min)=データ量AS×0.2に設定し、データ量ASが10kバイト以上の場合には、データ量V(min)=2kバイトに設定(固定)する。この方法に従えば、データ量ASがいかなる値であっても、データ量AS>分散データPreg(1)のデータ量>データ量V(min)なる関係を満たすこととなる。   At this time, the data amount V (min) of the distributed data P (min) may be set according to any of the methods [1] to [3]. However, in the present embodiment, the above [3] is adopted. Further, among the first to third cases, a third case is adopted. That is, for example, when the data amount AS of the original data is less than 10 kbytes, the data amount V (min) = data amount AS × 0.2 is set, and when the data amount AS is 10 kbytes or more, the data The amount V (min) is set (fixed) to 2 kbytes. According to this method, regardless of the value of the data amount AS, the relationship of data amount AS> data amount of distributed data Preg (1)> data amount V (min) is satisfied.

次に、分散データ暗号化手段122は、分散データ生成手段11で生成された分散データP(min)に対して、共通鍵生成手段121より入力された共通鍵を用いて暗号化を行い、鍵暗号分散データを生成する(ステップS23)。   Next, the distributed data encryption unit 122 encrypts the distributed data P (min) generated by the distributed data generation unit 11 using the common key input from the common key generation unit 121, and the key Cryptographic distributed data is generated (step S23).

次に、共通鍵暗号化手段123は、格納部13に格納されている公開鍵を用いて、共通鍵生成手段121より入力された共通鍵を暗号化し、共通鍵暗号化データを生成する(ステップS24)。   Next, the common key encryption unit 123 encrypts the common key input from the common key generation unit 121 using the public key stored in the storage unit 13, and generates common key encrypted data (step). S24).

次に、分散データPreg(1)と、鍵暗号分散データと、共通鍵暗号化データとを格納部13に格納する(ステップS25)。
以上で元データの暗号化処理が終了する。
Next, the distributed data Preg (1), the key encryption shared data, and the common key encrypted data are stored in the storage unit 13 (step S25).
The original data encryption process is thus completed.

なお、本実施形態では、鍵暗号分散データを生成した後に、共通鍵暗号化データを生成したが、共通鍵暗号化データを生成した後に、鍵暗号分散データを生成してもよいし、鍵暗号分散データの生成と同時に共通鍵暗号化データを生成してもよい。   In this embodiment, after generating the key encryption distributed data, the common key encrypted data is generated. However, after generating the common key encrypted data, the key encryption distributed data may be generated, or the key encryption data may be generated. The common key encrypted data may be generated simultaneously with the generation of the distributed data.

次に、データ保管システム100の復号化処理について説明する。
図7は、データ管理(保管)システムの復号化処理を説明するフローチャートである。
Next, the decryption process of the data storage system 100 will be described.
FIG. 7 is a flowchart for explaining the decryption process of the data management (storage) system.

元データを復元する際には、まず、クライアント20は、格納部13に保管されている分散データPreg(1)と、鍵暗号分散データと、共通鍵暗号化データとを取得する(ステップS31)。   When restoring the original data, first, the client 20 acquires the distributed data Preg (1), the key encryption distributed data, and the common key encrypted data stored in the storage unit 13 (step S31). .

次に、共通鍵復号化手段231は、秘密鍵を用いて共通鍵暗号化データから共通鍵を取り出す(ステップS32)。   Next, the common key decryption unit 231 extracts the common key from the common key encrypted data using the secret key (step S32).

次に、分散データ復号化手段232は、鍵暗号分散データが入力されると、共通鍵復号化手段231で復号された共通鍵を用いて、分散データP(min)を復号する(ステップS33)。   Next, when the key encryption shared data is input, the distributed data decryption unit 232 decrypts the distributed data P (min) using the common key decrypted by the common key decryption unit 231 (step S33). .

次に、データ復元手段24は、復号された分散データP(min)と、分散データPreg(1)とから元データを復元し、これを格納部25へ出力し、格納する(ステップS34)。
以上で元データの復号化処理が終了する。
Next, the data restoration unit 24 restores the original data from the decrypted distributed data P (min) and the distributed data Preg (1), and outputs and stores the original data to the storage unit 25 (step S34).
This is the end of the original data decoding process.

以上説明したように、本データ保管システム100によれば、分散データPreg(1)〜Preg(n−1)と、鍵暗号分散データ(暗号化された分散データP(min))と、共通鍵暗号化データ(暗号化された鍵データ)とを生成することにより、情報の秘匿性を高めることができる。また、これらのデータは、正当な処理を行わない限り、個々のデータから元データを復元することができない。従って、これらのデータを同一資源、特に同一のパソコンの中に保管しても安全性(セキュリチィー性)が保持される。さらに、これらのデータを1箇所、すなわち同一の格納部(格納部13)に格納しても、同様に安全性が確保される。その結果、格納部13の省容量化を図ることができ、すなわち、少ないH/W(ハードウェア)資源でデータを安全に保管することができ、また、元データの分散データの格納や元データの復元も迅速に行うことができる。   As described above, according to the data storage system 100, the distributed data Preg (1) to Preg (n-1), the key encryption distributed data (encrypted distributed data P (min)), the common key By generating encrypted data (encrypted key data), the confidentiality of information can be improved. In addition, these data cannot be restored from individual data unless proper processing is performed. Therefore, safety (security) is maintained even if these data are stored in the same resource, particularly the same personal computer. Furthermore, even if these data are stored in one place, that is, in the same storage unit (storage unit 13), safety is similarly secured. As a result, the capacity of the storage unit 13 can be reduced, that is, data can be safely stored with a small amount of H / W (hardware) resources, and the storage of original data and storage of original data Can be quickly restored.

また、生成された分散データPreg(1)〜Preg(n−1)および分散データP(min)自体が高いセキュリティ性を保持するため、データの転送を簡易に行うことができる。   Further, since the generated distributed data Preg (1) to Preg (n-1) and the distributed data P (min) itself maintain high security, data transfer can be easily performed.

また、元データの秘密分散処理時に分散データP(min)を生成し、この分散データP(min)のみを共通鍵で暗号化することにより、全ての分散データP(n)を共通鍵で暗号化する場合等に比べて、安全性を低下させることなく暗号化および復号化の処理速度を格段に向上させることができる。そして、分散データP(min)のデータ量を所望に設定すること、すなわち、比較的少ないデータ量とすることにより、暗号化および復号化の処理速度をさらに向上させることができ、よって、全体の処理時間を短縮することができる。   Further, by generating the shared data P (min) during the secret sharing process of the original data and encrypting only the distributed data P (min) with the common key, all the distributed data P (n) is encrypted with the common key. The processing speed of encryption and decryption can be remarkably improved without degrading safety as compared with the case of making it. Then, by setting the data amount of the distributed data P (min) as desired, that is, by setting the data amount to be relatively small, the processing speed of encryption and decryption can be further improved. Processing time can be shortened.

さらに、元データのデータ量の大小に影響を受けることなく、分散データP(min)のデータ量を設定すること、特に、一定の値に固定することができ、分散データP(min)の暗号化および復号化にそれぞれ要する時間を一定にすることができる。その結果、全体の処理時間の変動を抑制することができる。   Further, the data amount of the distributed data P (min) can be set without being affected by the size of the original data, and in particular, the data amount can be fixed to a constant value. The time required for conversion and decoding can be made constant. As a result, fluctuations in the overall processing time can be suppressed.

そして、分散データの生成において、前述したような擬似乱数処理を用いた場合には、当該方法による分散データ作成処理の高速化と、前記分散データP(min)の暗号化等における処理の高速化との相乗効果により、全体の処理時間の大幅な短縮が図れる。   When the pseudo-random number processing as described above is used in the generation of the distributed data, the speed of the distributed data creation processing by the method and the speed of the processing in the encryption of the distributed data P (min) are increased. As a result, the overall processing time can be greatly shortened.

以上、本発明のデータ管理方法(データ保管方法)、データ管理システム(データ保管システム)およびデータ管理装置(データ保管装置)を、図示の実施形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができ、また、他の任意の構成物が付加されていてもよい。   The data management method (data storage method), data management system (data storage system), and data management device (data storage device) of the present invention have been described based on the illustrated embodiment, but the present invention is not limited to this. However, the configuration of each part can be replaced with any configuration having the same function, and any other configuration may be added.

また、本発明のデータ管理方法は、オープンネットワーク30を介さず、サーバ10によって生成された分散データPreg(1)〜Preg(n−1)と、鍵暗号分散データと、共通鍵暗号化データとが、コンピュータで読み取り可能な記録媒体(記憶媒体)に格納され、クライアント20に入力されたときにも適用することができる。   In addition, the data management method of the present invention includes the distributed data Preg (1) to Preg (n−1) generated by the server 10 without going through the open network 30, the key encrypted shared data, the common key encrypted data, However, the present invention can also be applied when it is stored in a computer-readable recording medium (storage medium) and input to the client 20.

コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。   Examples of the computer-readable recording medium include a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory. Examples of the magnetic recording device include a hard disk device (HDD), a flexible disk (FD), and a magnetic tape. Examples of the optical disc include a DVD (Digital Versatile Disc), a DVD-RAM (Random Access Memory), a CD-ROM (Compact Disc Read Only Memory), and a CD-R (Recordable) / RW (ReWritable). Magneto-optical recording media include MO (Magneto-Optical disk).

また、本実施形態では、サーバ10からクライアント20に対して分散データP(reg)と、鍵暗号分散データと、共通鍵暗号化データとを転送したが、これに限らず、例えば、クライアント20が、サーバ10に対して転送してもよい。   In this embodiment, the distributed data P (reg), the key encryption distributed data, and the common key encrypted data are transferred from the server 10 to the client 20, but the present invention is not limited to this. For example, the client 20 The data may be transferred to the server 10.

また、本発明では、サーバ装置が複数設けられていてもよいし、クライアント装置が複数設けられていてもよい。   In the present invention, a plurality of server devices may be provided, or a plurality of client devices may be provided.

また、前記実施形態では、共通鍵生成手段121が生成した共通鍵を用いたが、これに限らず、外部で生成した共通鍵を用いてもよい。この場合には、共通鍵生成手段121に代え、共通鍵入力手段を有することとなる。   Moreover, in the said embodiment, although the common key which the common key production | generation means 121 produced | generated was used, you may use not only this but the common key produced | generated outside. In this case, a common key input unit is provided instead of the common key generation unit 121.

また、前記実施形態では、鍵生成手段22が生成した公開鍵および秘密鍵を用いたが、これに限らず、公開鍵および秘密鍵のうちの少なくとも一方は、外部で生成したものを用いてもよい。この場合には、鍵生成手段22と共に、あるいは鍵生成手段22に代わり、鍵入力手段を有することとなる。この鍵入力手段は、サーバ10側が有していてもよい。例えば、インターフェース部14および21の一方または双方が鍵入力手段を構成するものでもよい。   In the above embodiment, the public key and the secret key generated by the key generation unit 22 are used. However, the present invention is not limited to this, and at least one of the public key and the secret key may be an externally generated key. Good. In this case, a key input unit is provided together with or instead of the key generation unit 22. The server 10 side may have this key input means. For example, one or both of the interface units 14 and 21 may constitute a key input unit.

また、分散データPreg(1)〜Preg(n−1)および分散データP(min)(または鍵暗号分散データ)のうちの一部が、オープンネットワーク30等を介して転送され、格納部13または25に格納されるような構成であってもよい。   Further, a part of the distributed data Preg (1) to Preg (n-1) and the distributed data P (min) (or key encryption distributed data) is transferred via the open network 30 or the like, and the storage unit 13 or 25 may be stored.

また、本発明は、オープンネットワーク30以外の他の用途(例えば、クローズドネットワーク(専用線)等)にも適用することができる。   The present invention can also be applied to other uses other than the open network 30 (for example, a closed network (private line)).

また、本発明は、例えば、コンピュータ内の記憶媒体に格納されている秘密データを、例えば、コンピュータ内の他の記憶媒体に格納するときにも適用することができる。   The present invention can also be applied when, for example, secret data stored in a storage medium in a computer is stored in another storage medium in the computer, for example.

データ管理(保管)システムの実施形態を示すブロック図である。1 is a block diagram illustrating an embodiment of a data management (storage) system. 鍵暗号化手段を示すブロック図である。It is a block diagram which shows a key encryption means. 鍵復号化手段を示すブロック図である。It is a block diagram which shows a key decryption means. 実施形態のサーバのハードウェア構成例を示す図である。It is a figure which shows the hardware structural example of the server of embodiment. データ管理(保管)システムの前処理を説明するフローチャートである。It is a flowchart explaining the pre-processing of a data management (storage) system. データ管理(保管)システムの暗号化処理を説明するフローチャートである。It is a flowchart explaining the encryption process of a data management (storage) system. データ管理(保管)システムの復号化処理を説明するフローチャートである。It is a flowchart explaining the decoding process of a data management (storage) system. 本発明における分散データ生成手段の構成例を示す図であり、詳しくは、AONT(All Or Nothing Transform)法による暗号化方法(暗号化システム)を示すブロック図である。It is a figure which shows the structural example of the distributed data production | generation means in this invention, and is a block diagram which shows the encryption method (encryption system) by the AONT (All Or Nothing Transform) method in detail.

符号の説明Explanation of symbols

10・・・サーバ
11・・・分散データ生成手段
12・・・鍵暗号化手段
13・・・格納部
14・・・インターフェース部
20・・・クライアント
21・・・インターフェース部
22・・・鍵生成手段
23・・・鍵復号化手段
24・・・データ復元手段
25・・・格納部
30・・・オープンネットワーク
50・・・元データ入力部
51・・・乱数データ生成部
52・・・第1ハッシュ値生成部
53・・・第1演算部
54・・・第2ハッシュ値生成部
55・・・第2演算部
56・・・データ結合部
57・・・擬似乱数データ生成部
100・・・データ保管システム
101・・・CPU
102・・・ROM
103・・・RAM
104・・・HDD
105・・・I/F
106・・・グラフィック装置
107・・・入力装置
108・・・バス
111・・・モニタ
121・・・共通鍵生成手段
122・・・分散データ暗号化手段
123・・・共通鍵暗号化手段
231・・・共通鍵復号化手段
232・・・分散データ復号化手段
S11〜S13・・・ステップ
S21〜S25・・・ステップ
S31〜S34・・・ステップ
Preg(1)〜Preg(n−1)・・・分散データ
P(min)・・・分散データ
D・・・秘密情報(秘匿すべき元データ)
R・・・乱数データ
G、H・・・ハッシュ関数
[Q+]・・・排他的論理和
X、Y・・・出力
DESCRIPTION OF SYMBOLS 10 ... Server 11 ... Distributed data generation means 12 ... Key encryption means 13 ... Storage part 14 ... Interface part 20 ... Client 21 ... Interface part 22 ... Key generation Means 23: Key decryption means 24 ... Data restoration means 25 ... Storage unit 30 ... Open network 50 ... Original data input unit 51 ... Random number data generation unit 52 ... First Hash value generation unit 53... First calculation unit 54... Second hash value generation unit 55... Second calculation unit 56. Data storage system 101 ... CPU
102 ... ROM
103 ... RAM
104 ... HDD
105 ... I / F
106 ... Graphic device 107 ... Input device 108 ... Bus 111 ... Monitor 121 ... Common key generation means 122 ... Distributed data encryption means 123 ... Common key encryption means 231 ··· Common key decryption means 232 ··· Distributed data decryption means S11 to S13 ··· Step S21 to S25 ··· Step S31 to S34 ··· Step Preg (1) to Preg (n-1) ··· -Distributed data P (min)-Distributed data D-Secret information (original data to be kept secret)
R ... Random number data G, H ... Hash function
[Q +] ... Exclusive OR X, Y ... Output

Claims (28)

秘密分散法を用いて暗号化を行うデータ管理方法であって、
前記秘密分散法を用いて元データから複数の分散データを生成するステップと、
前記複数の分散データのうちの1つの分散データに対し共通鍵を用いて暗号化を行い、鍵暗号分散データを生成するステップと、
前記鍵暗号分散データと、前記鍵暗号分散データ以外の前記分散データとを格納部に格納するステップとを有することを特徴とするデータ管理方法。
A data management method for performing encryption using a secret sharing method,
Generating a plurality of shared data from the original data using the secret sharing method;
Encrypting one shared data of the plurality of distributed data using a common key to generate key-encrypted distributed data;
A data management method comprising: storing the key encryption distributed data and the distributed data other than the key encryption distributed data in a storage unit.
前記共通鍵を用いて前記鍵暗号分散データから前記分散データを復号するステップと、
前記鍵暗号分散データ以外の前記分散データと、復号された前記分散データとから前記元データを復元するステップとを有する請求項1に記載のデータ管理方法。
Decrypting the shared data from the key-encrypted shared data using the common key;
The data management method according to claim 1, further comprising: restoring the original data from the distributed data other than the key-encrypted distributed data and the decrypted distributed data.
所定の公開鍵で前記共通鍵を暗号化するステップを有する請求項1または2に記載のデータ管理方法。   The data management method according to claim 1, further comprising a step of encrypting the common key with a predetermined public key. 前記公開鍵に対応する秘密鍵を用いて前記公開鍵で暗号化された共通鍵から前記共通鍵を復号するステップを有する請求項3に記載のデータ管理方法。   The data management method according to claim 3, further comprising the step of decrypting the common key from the common key encrypted with the public key using a secret key corresponding to the public key. 前記秘密分散法は、AONT(All Or Nothing Transform)法によるものである請求項1ないし4のいずれかに記載のデータ管理方法。   5. The data management method according to claim 1, wherein the secret sharing method is based on an AONT (All Or Nothing Transform) method. 前記複数の分散データを生成するステップは、
前記元データと、乱数データに対しハッシュ関数Gの処理を行って得られるハッシュ値との排他的論理和Xを求め、
前記Xに対しハッシュ関数Hの処理を行って得られるハッシュ値と、前記乱数データとの排他的論理和Yを求め、
前記Xと前記Yとを結合して暗号化データを得、該暗号化データから複数の分散データを生成する請求項1ないし5のいずれかに記載のデータ管理方法。
The step of generating the plurality of distributed data includes:
Obtaining an exclusive OR X of the original data and a hash value obtained by performing a hash function G on the random number data;
Obtaining an exclusive OR Y of the hash value obtained by processing the hash function H on X and the random number data;
The data management method according to claim 1, wherein the X and the Y are combined to obtain encrypted data, and a plurality of distributed data is generated from the encrypted data.
前記複数の分散データを生成するステップは、
前記元データと、乱数データに対して擬似乱数処理を行って得られる擬似乱数データとの排他的論理和Xを求め、
前記Xに対し所定の関数の処理を行って得られる関数データと、前記乱数データとの排他的論理和Yを求め、
前記Xと前記Yとを結合して暗号化データを得、該暗号化データから複数の分散データを生成する請求項1ないし5のいずれかに記載のデータ管理方法。
The step of generating the plurality of distributed data includes:
Obtaining an exclusive OR X of the original data and pseudorandom data obtained by performing pseudorandom processing on the random data;
Obtaining an exclusive OR Y of the function data obtained by processing a predetermined function on X and the random number data;
The data management method according to claim 1, wherein the X and the Y are combined to obtain encrypted data, and a plurality of distributed data is generated from the encrypted data.
前記共通鍵を用いて暗号化される分散データは、予め設定されたデータ量を有する請求項5ないし7のいずれかに記載のデータ管理方法。   8. The data management method according to claim 5, wherein the distributed data encrypted using the common key has a preset data amount. 前記共通鍵を用いて暗号化される分散データは、前記元データのデータ量に対し1未満の所定の比率のデータ量を有する請求項5ないし8のいずれかに記載のデータ管理方法。   The data management method according to claim 5, wherein the distributed data encrypted using the common key has a data amount with a predetermined ratio of less than 1 with respect to the data amount of the original data. 前記共通鍵を用いて暗号化される分散データのデータ量は、他の前記分散データのデータ量の合計に比べて少ない請求項5ないし9のいずれかに記載のデータ管理方法。   The data management method according to any one of claims 5 to 9, wherein a data amount of the distributed data encrypted using the common key is smaller than a total data amount of the other distributed data. 前記共通鍵を用いて暗号化される分散データのデータ量は、他の前記分散データのうち最もデータ量の多い分散データのデータ量以下である請求項5ないし10のいずれかに記載のデータ管理方法。   The data management according to any one of claims 5 to 10, wherein the amount of distributed data encrypted using the common key is equal to or less than the amount of distributed data having the largest data amount among the other distributed data. Method. 前記共通鍵を用いて暗号化される分散データのデータ量は、他の前記分散データのうち最もデータ量の少ない分散データのデータ量以下である請求項5ないし10のいずれかに記載のデータ管理方法。   11. The data management according to claim 5, wherein the amount of distributed data encrypted using the common key is equal to or less than the amount of distributed data having the smallest data amount among the other distributed data. Method. 秘密分散法を用いて暗号化を行うデータ管理システムであって、
前記秘密分散法を用いて元データから複数の分散データを生成する分散データ生成手段と、
前記複数の分散データのうちの1つの分散データに対し共通鍵を用いて暗号化を行い、鍵暗号分散データを生成する鍵暗号化手段と、
前記鍵暗号分散データ以外の前記分散データと、前記鍵暗号分散データとを格納する第1の格納部と、
前記鍵暗号分散データ以外の前記分散データと、前記鍵暗号分散データとを転送する転送手段とを有する第1の電子機器と、
前記鍵暗号分散データ以外の前記分散データと、前記鍵暗号分散データとを受け取る受け取り手段と、
前記共通鍵を用いて前記鍵暗号分散データから分散データを復号する分散データ復号化手段と、
前記鍵暗号分散データ以外の前記分散データと、復号された前記分散データとから前記元データを復元するデータ復元手段と、復元された前記元データを格納する第2の格納部とを有する第2の電子機器とを備えることを特徴とするデータ管理システム。
A data management system that performs encryption using a secret sharing method,
Distributed data generation means for generating a plurality of distributed data from the original data using the secret sharing method;
A key encryption unit that encrypts one shared data among the plurality of distributed data using a common key, and generates key-encrypted distributed data;
A first storage unit that stores the distributed data other than the key-encrypted distributed data and the key-encrypted distributed data;
A first electronic device having transfer means for transferring the distributed data other than the key encryption distributed data and the key encryption distributed data;
Receiving means for receiving the distributed data other than the key-encrypted distributed data and the key-encrypted distributed data;
Distributed data decrypting means for decrypting distributed data from the key encryption distributed data using the common key;
A second restoration unit that restores the original data from the shared data other than the key-encrypted shared data and the decrypted distributed data; and a second storage unit that stores the restored original data. A data management system comprising: an electronic device.
前記第2の電子機器は、RSA鍵ペアを構成する公開鍵および秘密鍵の少なくとも一方を生成または入力する鍵生成手段を有し、
前記第1の電子機器は、前記公開鍵を用いて暗号化を行い、前記共通鍵から共通鍵暗号化データを生成する共通鍵暗号化手段を有し、
前記第2の電子機器は、前記秘密鍵を用いて前記共通鍵暗号化データから前記共通鍵を復号する共通鍵復号化手段を有する請求項13に記載のデータ管理システム。
The second electronic device has key generation means for generating or inputting at least one of a public key and a private key constituting an RSA key pair,
The first electronic device includes a common key encryption unit that performs encryption using the public key and generates common key encrypted data from the common key,
The data management system according to claim 13, wherein the second electronic device has a common key decryption unit that decrypts the common key from the common key encrypted data using the secret key.
前記共通鍵暗号化データは、前記第1の格納部に格納される請求項14に記載のデータ管理システム。   The data management system according to claim 14, wherein the common key encrypted data is stored in the first storage unit. 前記共通鍵を用いて暗号化される分散データは、予め設定されたデータ量を有するものであるか、または前記元データのデータ量に対し1未満の所定の比率のデータ量を有するものである請求項13ないし15のいずれかに記載のデータ管理システム。   The distributed data encrypted using the common key has a data amount set in advance, or has a data amount with a predetermined ratio less than 1 with respect to the data amount of the original data. The data management system according to any one of claims 13 to 15. 前記分散データ生成手段は、
元データを入力する元データ入力部と、
乱数データRを生成する乱数データ生成部と、
前記乱数データRに対し所定の関数を実行して第1関数データを生成する第1関数データ生成部と、
前記第1関数データ生成部の出力と前記元データとの前記排他的論理和を計算する第1演算部と、
前記第1演算部の出力Xに対し所定の関数を実行して第2関数データを生成する第2関数データ生成部と、
前記第2関数データ生成部の出力と前記乱数データRとの排他的論理和を計算する第2演算部と、
前記出力Xと前記第2演算部の出力Yと結合して暗号化データを作成するデータ結合部と、
前記暗号化データを、前記共通鍵を用いて暗号化する1つの分散データと、その他の1または2以上の分散データとを含む複数の分散データに分割する分割手段とを有する請求項13ないし16のいずれかに記載のデータ管理システム。
The distributed data generation means includes
An original data input section for inputting original data;
A random number data generation unit for generating random number data R;
A first function data generation unit that generates a first function data by executing a predetermined function on the random number data R;
A first calculation unit that calculates the exclusive OR of the output of the first function data generation unit and the original data;
A second function data generation unit that generates a second function data by executing a predetermined function on the output X of the first calculation unit;
A second operation unit that calculates an exclusive OR of the output of the second function data generation unit and the random number data R;
A data combining unit that generates encrypted data by combining the output X and the output Y of the second arithmetic unit;
17. A dividing unit that divides the encrypted data into a plurality of distributed data including one distributed data that is encrypted using the common key and one or more other distributed data. A data management system according to any of the above.
前記分散データ生成手段は、
元データを入力する元データ入力部と、
乱数データRを生成する乱数データ生成部と、
前記乱数データRに対し擬似乱数処理を行って擬似乱数データを生成する擬似乱数生成部と、
前記擬似乱数生成部の出力と前記元データとの前記排他的論理和を計算する第1演算部と、
前記第1演算部の出力Xに対し所定の関数を実行して関数データを生成する関数データ生成部と、
前記関数データ生成部の出力と前記乱数データRとの排他的論理和を計算する第2演算部と、
前記出力Xと前記第2演算部の出力Yと結合して暗号化データを作成するデータ結合部と、
前記暗号化データを、前記共通鍵を用いて暗号化する1つの分散データと、その他の1または2以上の分散データとを含む複数の分散データに分割する分割手段とを有する請求項13ないし16のいずれかに記載のデータ管理システム。
The distributed data generation means includes
An original data input section for inputting original data;
A random number data generation unit for generating random number data R;
A pseudo-random number generator that generates pseudo-random data by performing pseudo-random processing on the random number data R;
A first calculation unit that calculates the exclusive OR of the output of the pseudorandom number generation unit and the original data;
A function data generation unit that generates a function data by executing a predetermined function on the output X of the first calculation unit;
A second operation unit that calculates an exclusive OR of the output of the function data generation unit and the random number data R;
A data combining unit that generates encrypted data by combining the output X and the output Y of the second arithmetic unit;
17. A dividing unit that divides the encrypted data into a plurality of distributed data including one distributed data that is encrypted using the common key and one or more other distributed data. A data management system according to any of the above.
前記所定の関数は、ハッシュ関数である請求項17または18に記載のデータ管理システム。   The data management system according to claim 17 or 18, wherein the predetermined function is a hash function. 秘密分散法を用いて暗号化を行うデータ管理装置であって、
前記秘密分散法を用いて元データから複数の分散データを生成する分散データ生成手段と、
前記複数の分散データのうちの1つの分散データに対し共通鍵を用いて暗号化を行い、鍵暗号分散データを生成する鍵暗号化手段と、
前記鍵暗号分散データ以外の前記分散データと、前記鍵暗号分散データとを格納する格納部とを有することを特徴とするデータ管理装置。
A data management device that performs encryption using a secret sharing method,
Distributed data generation means for generating a plurality of distributed data from the original data using the secret sharing method;
A key encryption unit that encrypts one shared data among the plurality of distributed data using a common key, and generates key-encrypted distributed data;
A data management apparatus comprising: a storage unit that stores the distributed data other than the key encryption distributed data and the key encryption distributed data.
所定の公開鍵を用いて前記共通鍵から共通鍵暗号化データを生成する共通鍵暗号化手段を有する請求項20に記載のデータ管理装置。   21. The data management apparatus according to claim 20, further comprising a common key encryption unit that generates common key encrypted data from the common key using a predetermined public key. 前記公開鍵に対応する秘密鍵を有し、
前記秘密鍵を用いて前記共通鍵暗号化データから前記共通鍵を復号する共通鍵復号化手段を有する請求項21に記載のデータ管理装置。
Having a private key corresponding to the public key;
The data management apparatus according to claim 21, further comprising a common key decryption unit configured to decrypt the common key from the common key encrypted data using the secret key.
前記共通鍵を用いて前記鍵暗号分散データから前記分散データを復号する分散データ復号化手段と、
前記鍵暗号分散データ以外の前記分散データと、復号された前記分散データとから前記元データを復元するデータ復元手段とを有する請求項20ないし22のいずれかに記載のデータ管理装置。
Distributed data decrypting means for decrypting the distributed data from the key-encrypted distributed data using the common key;
The data management apparatus according to any one of claims 20 to 22, further comprising a data restoration unit that restores the original data from the shared data other than the key-encrypted shared data and the decrypted shared data.
前記共通鍵を用いて暗号化される分散データは、予め設定されたデータ量を有するものであるか、または前記元データのデータ量に対し1未満の所定の比率のデータ量を有するものである請求項20ないし23のいずれかに記載のデータ管理装置。   The distributed data encrypted using the common key has a data amount set in advance, or has a data amount with a predetermined ratio less than 1 with respect to the data amount of the original data. The data management apparatus according to any one of claims 20 to 23. RSA鍵ペアを構成する公開鍵および秘密鍵の少なくとも一方を生成または入力する手段を有する請求項20ないし24のいずれかに記載のデータ管理装置。   The data management apparatus according to any one of claims 20 to 24, further comprising means for generating or inputting at least one of a public key and a private key constituting an RSA key pair. 前記分散データ生成手段は、
元データを入力する元データ入力部と、
乱数データRを生成する乱数データ生成部と、
前記乱数データRに対し所定の関数を実行して第1関数データを生成する第1関数データ生成部と、
前記第1関数データ生成部の出力と前記元データとの前記排他的論理和を計算する第1演算部と、
前記第1演算部の出力Xに対し所定の関数を実行して第2関数データを生成する第2関数データ生成部と、
前記第2関数データ生成部の出力と前記乱数データRとの排他的論理和を計算する第2演算部と、
前記出力Xと前記第2演算部の出力Yと結合して暗号化データを作成するデータ結合部と、
前記暗号化データを、前記共通鍵を用いて暗号化する1つの分散データと、その他の1または2以上の分散データとを含む複数の分散データに分割する分割手段とを有する請求項20ないし25のいずれかに記載のデータ管理装置。
The distributed data generation means includes
An original data input section for inputting original data;
A random number data generation unit for generating random number data R;
A first function data generation unit that generates a first function data by executing a predetermined function on the random number data R;
A first calculation unit that calculates the exclusive OR of the output of the first function data generation unit and the original data;
A second function data generation unit that generates a second function data by executing a predetermined function on the output X of the first calculation unit;
A second operation unit that calculates an exclusive OR of the output of the second function data generation unit and the random number data R;
A data combining unit that generates encrypted data by combining the output X and the output Y of the second arithmetic unit;
26. A dividing unit that divides the encrypted data into a plurality of distributed data including one distributed data to be encrypted using the common key and one or more other distributed data. The data management apparatus in any one of.
前記分散データ生成手段は、
元データを入力する元データ入力部と、
乱数データRを生成する乱数データ生成部と、
前記乱数データRに対し擬似乱数処理を行って擬似乱数データを生成する擬似乱数生成部と、
前記擬似乱数生成部の出力と前記元データとの前記排他的論理和を計算する第1演算部と、
前記第1演算部の出力Xに対し所定の関数を実行して関数データを生成する関数データ生成部と、
前記関数データ生成部の出力と前記乱数データRとの排他的論理和を計算する第2演算部と、
前記出力Xと前記第2演算部の出力Yと結合して暗号化データを作成するデータ結合部と、
前記暗号化データを、前記共通鍵を用いて暗号化する1つの分散データと、その他の1または2以上の分散データとを含む複数の分散データに分割する分割手段とを有する請求項20ないし25のいずれかに記載のデータ管理装置。
The distributed data generation means includes
An original data input section for inputting original data;
A random number data generation unit for generating random number data R;
A pseudo-random number generator that generates pseudo-random data by performing pseudo-random processing on the random number data R;
A first calculation unit that calculates the exclusive OR of the output of the pseudorandom number generation unit and the original data;
A function data generation unit that generates a function data by executing a predetermined function on the output X of the first calculation unit;
A second operation unit that calculates an exclusive OR of the output of the function data generation unit and the random number data R;
A data combining unit that generates encrypted data by combining the output X and the output Y of the second arithmetic unit;
26. A dividing unit that divides the encrypted data into a plurality of distributed data including one distributed data to be encrypted using the common key and one or more other distributed data. The data management apparatus in any one of.
前記所定の関数は、ハッシュ関数である請求項26または27に記載のデータ管理装置。
28. The data management apparatus according to claim 26 or 27, wherein the predetermined function is a hash function.
JP2005133578A 2005-04-28 2005-04-28 Data managing method, data management system and data managing device Pending JP2006311383A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005133578A JP2006311383A (en) 2005-04-28 2005-04-28 Data managing method, data management system and data managing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005133578A JP2006311383A (en) 2005-04-28 2005-04-28 Data managing method, data management system and data managing device

Publications (1)

Publication Number Publication Date
JP2006311383A true JP2006311383A (en) 2006-11-09

Family

ID=37477698

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005133578A Pending JP2006311383A (en) 2005-04-28 2005-04-28 Data managing method, data management system and data managing device

Country Status (1)

Country Link
JP (1) JP2006311383A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009139990A (en) * 2007-12-03 2009-06-25 Internatl Business Mach Corp <Ibm> Technology for preventing unauthorized access to information
WO2013162045A1 (en) 2012-04-23 2013-10-31 Panasonic Corporation Distribution apparatus, restoration apparatus, distribution method, restoration method, and distribution and restoration system
WO2016088453A1 (en) * 2014-12-04 2016-06-09 日本電気株式会社 Encryption apparatus, decryption apparatus, cryptography processing system, encryption method, decryption method, encryption program, and decryption program
JP5964460B2 (en) * 2013-01-11 2016-08-03 株式会社日立製作所 Data encryption storage system
JP2016139861A (en) * 2015-01-26 2016-08-04 パナソニックIpマネジメント株式会社 Encryption device, encryption method and distribution system
JPWO2016158721A1 (en) * 2015-03-27 2017-12-28 Necソリューションイノベータ株式会社 Data management apparatus, data management method, and program
EP3654580A1 (en) 2018-11-15 2020-05-20 Fujitsu Limited Communication device and communication method used in decentralized network
JP7008120B1 (en) * 2020-11-18 2022-01-25 レノボ・シンガポール・プライベート・リミテッド Information storage system, information processing device, and information storage method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09230787A (en) * 1996-02-20 1997-09-05 Internatl Business Mach Corp <Ibm> Encoding method and device therefor
JPH10326077A (en) * 1998-05-07 1998-12-08 Canon Inc Enciphering and encoding device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09230787A (en) * 1996-02-20 1997-09-05 Internatl Business Mach Corp <Ibm> Encoding method and device therefor
JPH10326077A (en) * 1998-05-07 1998-12-08 Canon Inc Enciphering and encoding device

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8615666B2 (en) 2007-12-03 2013-12-24 International Business Machines Corporation Preventing unauthorized access to information on an information processing apparatus
JP2009139990A (en) * 2007-12-03 2009-06-25 Internatl Business Mach Corp <Ibm> Technology for preventing unauthorized access to information
US9442890B2 (en) 2012-04-23 2016-09-13 Panasonic Intellectual Property Management Co., Ltd. Distribution apparatus, restoration apparatus, distribution method, restoration method, and distribution and restoration system
WO2013162045A1 (en) 2012-04-23 2013-10-31 Panasonic Corporation Distribution apparatus, restoration apparatus, distribution method, restoration method, and distribution and restoration system
JP5964460B2 (en) * 2013-01-11 2016-08-03 株式会社日立製作所 Data encryption storage system
WO2016088453A1 (en) * 2014-12-04 2016-06-09 日本電気株式会社 Encryption apparatus, decryption apparatus, cryptography processing system, encryption method, decryption method, encryption program, and decryption program
JPWO2016088453A1 (en) * 2014-12-04 2017-09-14 日本電気株式会社 Encryption device, decryption device, encryption processing system, encryption method, decryption method, encryption program, and decryption program
US10305689B2 (en) 2014-12-04 2019-05-28 Nec Corporation Encryption apparatus, decryption apparatus, cryptography processing system, encryption method, decryption method, encryption program, and decryption program
JP2016139861A (en) * 2015-01-26 2016-08-04 パナソニックIpマネジメント株式会社 Encryption device, encryption method and distribution system
JPWO2016158721A1 (en) * 2015-03-27 2017-12-28 Necソリューションイノベータ株式会社 Data management apparatus, data management method, and program
EP3654580A1 (en) 2018-11-15 2020-05-20 Fujitsu Limited Communication device and communication method used in decentralized network
US11595187B2 (en) 2018-11-15 2023-02-28 Fujitsu Limited Communication device and communication method used in decentralized network
JP7008120B1 (en) * 2020-11-18 2022-01-25 レノボ・シンガポール・プライベート・リミテッド Information storage system, information processing device, and information storage method

Similar Documents

Publication Publication Date Title
JP2006311383A (en) Data managing method, data management system and data managing device
JPWO2019130528A1 (en) Conversion key generation device, ciphertext conversion device, secret information processing system, conversion key generation method, conversion key generation program, ciphertext conversion method, and ciphertext conversion program
CN107135062A (en) A kind of encryption method of improved big file
JP6556955B2 (en) Communication terminal, server device, program
KR102143525B1 (en) Method for function encryption supporting set intersection operation and apparatus using the same
JP3794457B2 (en) Data encryption / decryption method
JP4539952B2 (en) Information distributed storage system, apparatus, program and recording medium
JP5732429B2 (en) Secret sharing system, data sharing device, data restoration device, secret sharing method, and program
KR101899130B1 (en) Methods for encrypting data, decrypting data and apparatus using the same
US20240048377A1 (en) Ciphertext conversion system, conversion key generation method, and non-transitory computer readable medium
JP7125857B2 (en) Encryption system, encryption device, decryption device, encryption method, decryption method, and program
JP7117964B2 (en) Decryption device, encryption system, decryption method and decryption program
KR101133988B1 (en) Method for encrypting and decrypting stream and cryptographic file systems thereof
JPWO2006114841A1 (en) Information processing method and information processing system
JP7205016B2 (en) Confidential Information Processing System and Confidential Information Processing Method
JP4685621B2 (en) Key generation apparatus, encryption apparatus, decryption apparatus, multiplicative knapsack cryptosystem, multiplicative knapsack cipher decryption method and program
JP6452910B1 (en) Secret analysis device, secret analysis system, secret analysis method, and secret analysis program
JP2005202048A (en) Cipher communication system, encryption device and decryption device used for the system, encrypting method and decrypting method, encrypting program and decrypting program, and recording medium
JP2009128773A (en) Encryption communication method, encryption device, decryption device, and program therefor
JP6949276B2 (en) Re-encrypting device, re-encrypting method, re-encrypting program and cryptosystem
JP7310938B2 (en) Encryption system, encryption method, decryption method and program
US11811741B2 (en) Information processing system and information processing method
JP7317261B2 (en) Encryption device, decryption device, encryption method, encryption program, decryption method and decryption program
WO2023199435A1 (en) Ciphertext conversion system, ciphertext conversion method, and ciphertext conversion program
JP6296589B2 (en) Cryptographic processing system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080401

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20090410

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090410

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100928

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110215