(57)【要約】【課題】情報の秘匿性の高いデータを、少ないＨ／Ｗ資源で安全に保管することができるデータ管理方法、データ管理システムおよびデータ管理装置を提供すること。【解決手段】  データ保管システム１００は、分散データ生成手段１１、鍵暗号化手段１２と、格納部１３と、インターフェース部１４とを有する。このシステムによるデータ保管方法は、秘密分散法を用いて暗号化を行う方法であり、秘密分散法を用いて元データから分散データＰｒｅｇ（１）〜Ｐｒｅｇ（ｎ−１）および分散データＰ（ｍｉｎ）を生成し、分散データＰ（ｍｉｎ）に対し共通鍵を用いて暗号化を行って鍵暗号分散データを生成し、前記鍵暗号分散データと、前記分散データＰｒｅｇ（１）〜Ｐｒｅｇ（ｎ−１）と、鍵暗号化手段１２により共通鍵を暗号化して得られた共通鍵暗号化データとを格納部１３に格納する。【選択図】図１
2006311383.tif 000002
【特許請求の範囲】
【請求項１】
秘密分散法を用いて暗号化を行うデータ管理方法であって、
前記秘密分散法を用いて元データから複数の分散データを生成するステップと、
前記複数の分散データのうちの１つの分散データに対し共通鍵を用いて暗号化を行い、鍵暗号分散データを生成するステップと、
前記鍵暗号分散データと、前記鍵暗号分散データ以外の前記分散データとを格納部に格納するステップとを有することを特徴とするデータ管理方法。
【請求項２】
前記共通鍵を用いて前記鍵暗号分散データから前記分散データを復号するステップと、
前記鍵暗号分散データ以外の前記分散データと、復号された前記分散データとから前記元データを復元するステップとを有する請求項１に記載のデータ管理方法。
【請求項３】
所定の公開鍵で前記共通鍵を暗号化するステップを有する請求項１または２に記載のデータ管理方法。
【請求項４】
前記公開鍵に対応する秘密鍵を用いて前記公開鍵で暗号化された共通鍵から前記共通鍵を復号するステップを有する請求項３に記載のデータ管理方法。
【請求項５】
前記秘密分散法は、ＡＯＮＴ（All  Or  Nothing  Transform）法によるものである請求項１ないし４のいずれかに記載のデータ管理方法。
【請求項６】
前記複数の分散データを生成するステップは、
前記元データと、乱数データに対しハッシュ関数Ｇの処理を行って得られるハッシュ値との排他的論理和Ｘを求め、
前記Ｘに対しハッシュ関数Ｈの処理を行って得られるハッシュ値と、前記乱数データとの排他的論理和Ｙを求め、
前記Ｘと前記Ｙとを結合して暗号化データを得、該暗号化データから複数の分散データを生成する請求項１ないし５のいずれかに記載のデータ管理方法。
【請求項７】
前記複数の分散データを生成するステップは、
前記元データと、乱数データに対して擬似乱数処理を行って得られる擬似乱数データとの排他的論理和Ｘを求め、
前記Ｘに対し所定の関数の処理を行って得られる関数データと、前記乱数データとの排他的論理和Ｙを求め、
前記Ｘと前記Ｙとを結合して暗号化データを得、該暗号化データから複数の分散データを生成する請求項１ないし５のいずれかに記載のデータ管理方法。
【請求項８】
前記共通鍵を用いて暗号化される分散データは、予め設定されたデータ量を有する請求項５ないし７のいずれかに記載のデータ管理方法。
【請求項９】
前記共通鍵を用いて暗号化される分散データは、前記元データのデータ量に対し１未満の所定の比率のデータ量を有する請求項５ないし８のいずれかに記載のデータ管理方法。
【請求項１０】
前記共通鍵を用いて暗号化される分散データのデータ量は、他の前記分散データのデータ量の合計に比べて少ない請求項５ないし９のいずれかに記載のデータ管理方法。
【請求項１１】
前記共通鍵を用いて暗号化される分散データのデータ量は、他の前記分散データのうち最もデータ量の多い分散データのデータ量以下である請求項５ないし１０のいずれかに記載のデータ管理方法。
【請求項１２】
前記共通鍵を用いて暗号化される分散データのデータ量は、他の前記分散データのうち最もデータ量の少ない分散データのデータ量以下である請求項５ないし１０のいずれかに記載のデータ管理方法。
【請求項１３】
秘密分散法を用いて暗号化を行うデータ管理システムであって、
前記秘密分散法を用いて元データから複数の分散データを生成する分散データ生成手段と、
前記複数の分散データのうちの１つの分散データに対し共通鍵を用いて暗号化を行い、鍵暗号分散データを生成する鍵暗号化手段と、
前記鍵暗号分散データ以外の前記分散データと、前記鍵暗号分散データとを格納する第１の格納部と、
前記鍵暗号分散データ以外の前記分散データと、前記鍵暗号分散データとを転送する転送手段とを有する第１の電子機器と、
前記鍵暗号分散データ以外の前記分散データと、前記鍵暗号分散データとを受け取る受け取り手段と、
前記共通鍵を用いて前記鍵暗号分散データから分散データを復号する分散データ復号化手段と、
前記鍵暗号分散データ以外の前記分散データと、復号された前記分散データとから前記元データを復元するデータ復元手段と、復元された前記元データを格納する第２の格納部とを有する第２の電子機器とを備えることを特徴とするデータ管理システム。
【請求項１４】
前記第２の電子機器は、ＲＳＡ鍵ペアを構成する公開鍵および秘密鍵の少なくとも一方を生成または入力する鍵生成手段を有し、
前記第１の電子機器は、前記公開鍵を用いて暗号化を行い、前記共通鍵から共通鍵暗号化データを生成する共通鍵暗号化手段を有し、
前記第２の電子機器は、前記秘密鍵を用いて前記共通鍵暗号化データから前記共通鍵を復号する共通鍵復号化手段を有する請求項１３に記載のデータ管理システム。
【請求項１５】
前記共通鍵暗号化データは、前記第１の格納部に格納される請求項１４に記載のデータ管理システム。
【請求項１６】
前記共通鍵を用いて暗号化される分散データは、予め設定されたデータ量を有するものであるか、または前記元データのデータ量に対し１未満の所定の比率のデータ量を有するものである請求項１３ないし１５のいずれかに記載のデータ管理システム。
【請求項１７】
前記分散データ生成手段は、
元データを入力する元データ入力部と、
乱数データＲを生成する乱数データ生成部と、
前記乱数データＲに対し所定の関数を実行して第１関数データを生成する第１関数データ生成部と、
前記第１関数データ生成部の出力と前記元データとの前記排他的論理和を計算する第１演算部と、
前記第１演算部の出力Ｘに対し所定の関数を実行して第２関数データを生成する第２関数データ生成部と、
前記第２関数データ生成部の出力と前記乱数データＲとの排他的論理和を計算する第２演算部と、
前記出力Ｘと前記第２演算部の出力Ｙと結合して暗号化データを作成するデータ結合部と、
前記暗号化データを、前記共通鍵を用いて暗号化する１つの分散データと、その他の１または２以上の分散データとを含む複数の分散データに分割する分割手段とを有する請求項１３ないし１６のいずれかに記載のデータ管理システム。
【請求項１８】
前記分散データ生成手段は、
元データを入力する元データ入力部と、
乱数データＲを生成する乱数データ生成部と、
前記乱数データＲに対し擬似乱数処理を行って擬似乱数データを生成する擬似乱数生成部と、
前記擬似乱数生成部の出力と前記元データとの前記排他的論理和を計算する第１演算部と、
前記第１演算部の出力Ｘに対し所定の関数を実行して関数データを生成する関数データ生成部と、
前記関数データ生成部の出力と前記乱数データＲとの排他的論理和を計算する第２演算部と、
前記出力Ｘと前記第２演算部の出力Ｙと結合して暗号化データを作成するデータ結合部と、
前記暗号化データを、前記共通鍵を用いて暗号化する１つの分散データと、その他の１または２以上の分散データとを含む複数の分散データに分割する分割手段とを有する請求項１３ないし１６のいずれかに記載のデータ管理システム。
【請求項１９】
前記所定の関数は、ハッシュ関数である請求項１７または１８に記載のデータ管理システム。
【請求項２０】
秘密分散法を用いて暗号化を行うデータ管理装置であって、
前記秘密分散法を用いて元データから複数の分散データを生成する分散データ生成手段と、
前記複数の分散データのうちの１つの分散データに対し共通鍵を用いて暗号化を行い、鍵暗号分散データを生成する鍵暗号化手段と、
前記鍵暗号分散データ以外の前記分散データと、前記鍵暗号分散データとを格納する格納部とを有することを特徴とするデータ管理装置。
【請求項２１】
所定の公開鍵を用いて前記共通鍵から共通鍵暗号化データを生成する共通鍵暗号化手段を有する請求項２０に記載のデータ管理装置。
【請求項２２】
前記公開鍵に対応する秘密鍵を有し、
前記秘密鍵を用いて前記共通鍵暗号化データから前記共通鍵を復号する共通鍵復号化手段を有する請求項２１に記載のデータ管理装置。
【請求項２３】
前記共通鍵を用いて前記鍵暗号分散データから前記分散データを復号する分散データ復号化手段と、
前記鍵暗号分散データ以外の前記分散データと、復号された前記分散データとから前記元データを復元するデータ復元手段とを有する請求項２０ないし２２のいずれかに記載のデータ管理装置。
【請求項２４】
前記共通鍵を用いて暗号化される分散データは、予め設定されたデータ量を有するものであるか、または前記元データのデータ量に対し１未満の所定の比率のデータ量を有するものである請求項２０ないし２３のいずれかに記載のデータ管理装置。
【請求項２５】
ＲＳＡ鍵ペアを構成する公開鍵および秘密鍵の少なくとも一方を生成または入力する手段を有する請求項２０ないし２４のいずれかに記載のデータ管理装置。
【請求項２６】
前記分散データ生成手段は、
元データを入力する元データ入力部と、
乱数データＲを生成する乱数データ生成部と、
前記乱数データＲに対し所定の関数を実行して第１関数データを生成する第１関数データ生成部と、
前記第１関数データ生成部の出力と前記元データとの前記排他的論理和を計算する第１演算部と、
前記第１演算部の出力Ｘに対し所定の関数を実行して第２関数データを生成する第２関数データ生成部と、
前記第２関数データ生成部の出力と前記乱数データＲとの排他的論理和を計算する第２演算部と、
前記出力Ｘと前記第２演算部の出力Ｙと結合して暗号化データを作成するデータ結合部と、
前記暗号化データを、前記共通鍵を用いて暗号化する１つの分散データと、その他の１または２以上の分散データとを含む複数の分散データに分割する分割手段とを有する請求項２０ないし２５のいずれかに記載のデータ管理装置。
【請求項２７】
前記分散データ生成手段は、
元データを入力する元データ入力部と、
乱数データＲを生成する乱数データ生成部と、
前記乱数データＲに対し擬似乱数処理を行って擬似乱数データを生成する擬似乱数生成部と、
前記擬似乱数生成部の出力と前記元データとの前記排他的論理和を計算する第１演算部と、
前記第１演算部の出力Ｘに対し所定の関数を実行して関数データを生成する関数データ生成部と、
前記関数データ生成部の出力と前記乱数データＲとの排他的論理和を計算する第２演算部と、
前記出力Ｘと前記第２演算部の出力Ｙと結合して暗号化データを作成するデータ結合部と、
前記暗号化データを、前記共通鍵を用いて暗号化する１つの分散データと、その他の１または２以上の分散データとを含む複数の分散データに分割する分割手段とを有する請求項２０ないし２５のいずれかに記載のデータ管理装置。
【請求項２８】
前記所定の関数は、ハッシュ関数である請求項２６または２７に記載のデータ管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ管理方法、データ管理システムおよびデータ管理装置に関するものである。
【背景技術】
【０００２】
鍵暗号による暗号化方法が知られている（例えば、特許文献１参照）。この鍵暗号には、鍵管理（鍵の更新等）の煩雑さや、長期の保管に対する脆弱性があり、セキュリチィー性（秘匿性）が完全ではないという欠点がある。
【０００３】
鍵暗号の煩雑さや脆弱性をカバーする方法として、秘密分散法が知られているが、分散したデータ（ファイル）を格納する箇所が１箇所であると、容易に各分散データを収集し、それらから元データを復元することが可能となるため、各分散データの格納箇所は、複数の物理的な媒体または筐体を分ける必要がある。そのため、Ｈ／Ｗ（ハードウェア）に多くの投資が必要となるなどの問題があった。
【０００４】
【特許文献１】特開平１０−１２３９４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、情報の秘匿性の高いデータを、少ないＨ／Ｗ資源で安全に保管することができるデータ管理方法、データ管理システムおよびデータ管理装置を提供することにある。
【課題を解決するための手段】
【０００６】
このような目的は、下記（１）〜（２８）の本発明により達成される。
（１）  秘密分散法を用いて暗号化を行うデータ管理方法であって、
前記秘密分散法を用いて元データから複数の分散データを生成するステップと、
前記複数の分散データのうちの１つの分散データに対し共通鍵を用いて暗号化を行い、鍵暗号分散データを生成するステップと、
前記鍵暗号分散データと、前記鍵暗号分散データ以外の前記分散データとを格納部に格納するステップとを有することを特徴とするデータ管理方法。
【０００７】
（２）  前記共通鍵を用いて前記鍵暗号分散データから前記分散データを復号するステップと、
前記鍵暗号分散データ以外の前記分散データと、復号された前記分散データとから前記元データを復元するステップとを有する上記（１）に記載のデータ管理方法。
【０００８】
（３）  所定の公開鍵で前記共通鍵を暗号化するステップを有する上記（１）または（２）に記載のデータ管理方法。
【０００９】
（４）  前記公開鍵に対応する秘密鍵を用いて前記公開鍵で暗号化された共通鍵から前記共通鍵を復号するステップを有する上記（３）に記載のデータ管理方法。
【００１０】
（５）  前記秘密分散法は、ＡＯＮＴ（All  Or  Nothing  Transform）法によるものである上記（１）ないし（４）のいずれかに記載のデータ管理方法。
【００１１】
（６）  前記複数の分散データを生成するステップは、
前記元データと、乱数データに対しハッシュ関数Ｇの処理を行って得られるハッシュ値との排他的論理和Ｘを求め、
前記Ｘに対しハッシュ関数Ｈの処理を行って得られるハッシュ値と、前記乱数データとの排他的論理和Ｙを求め、
前記Ｘと前記Ｙとを結合して暗号化データを得、該暗号化データから複数の分散データを生成する上記（１）ないし（５）のいずれかに記載のデータ管理方法。
【００１２】
（７）  前記複数の分散データを生成するステップは、
前記元データと、乱数データに対して擬似乱数処理を行って得られる擬似乱数データとの排他的論理和Ｘを求め、
前記Ｘに対し所定の関数の処理を行って得られる関数データと、前記乱数データとの排他的論理和Ｙを求め、
前記Ｘと前記Ｙとを結合して暗号化データを得、該暗号化データから複数の分散データを生成する上記（１）ないし（５）のいずれかに記載のデータ管理方法。
【００１３】
（８）  前記共通鍵を用いて暗号化される分散データは、予め設定されたデータ量を有する上記（５）ないし（７）のいずれかに記載のデータ管理方法。
【００１４】
（９）  前記共通鍵を用いて暗号化される分散データは、前記元データのデータ量に対し１未満の所定の比率のデータ量を有する上記（５）ないし（８）のいずれかに記載のデータ管理方法。
【００１５】
（１０）  前記共通鍵を用いて暗号化される分散データのデータ量は、他の前記分散データのデータ量の合計に比べて少ない上記（５）ないし（９）のいずれかに記載のデータ管理方法。
【００１６】
（１１）  前記共通鍵を用いて暗号化される分散データのデータ量は、他の前記分散データのうち最もデータ量の多い分散データのデータ量以下である上記（５）ないし（１０）のいずれかに記載のデータ管理方法。
【００１７】
（１２）  前記共通鍵を用いて暗号化される分散データのデータ量は、他の前記分散データのうち最もデータ量の少ない分散データのデータ量以下である上記（５）ないし（１０）のいずれかに記載のデータ管理方法。
【００１８】
（１３）  秘密分散法を用いて暗号化を行うデータ管理システムであって、
前記秘密分散法を用いて元データから複数の分散データを生成する分散データ生成手段と、
前記複数の分散データのうちの１つの分散データに対し共通鍵を用いて暗号化を行い、鍵暗号分散データを生成する鍵暗号化手段と、
前記鍵暗号分散データ以外の前記分散データと、前記鍵暗号分散データとを格納する第１の格納部と、
前記鍵暗号分散データ以外の前記分散データと、前記鍵暗号分散データとを転送する転送手段とを有する第１の電子機器と、
前記鍵暗号分散データ以外の前記分散データと、前記鍵暗号分散データとを受け取る受け取り手段と、
前記共通鍵を用いて前記鍵暗号分散データから分散データを復号する分散データ復号化手段と、
前記鍵暗号分散データ以外の前記分散データと、復号された前記分散データとから前記元データを復元するデータ復元手段と、復元された前記元データを格納する第２の格納部とを有する第２の電子機器とを備えることを特徴とするデータ管理システム。
【００１９】
（１４）  前記第２の電子機器は、ＲＳＡ鍵ペアを構成する公開鍵および秘密鍵の少なくとも一方を生成または入力する鍵生成手段を有し、
前記第１の電子機器は、前記公開鍵を用いて暗号化を行い、前記共通鍵から共通鍵暗号化データを生成する共通鍵暗号化手段を有し、
前記第２の電子機器は、前記秘密鍵を用いて前記共通鍵暗号化データから前記共通鍵を復号する共通鍵復号化手段を有する上記（１３）に記載のデータ管理システム。
【００２０】
（１５）  前記共通鍵暗号化データは、前記第１の格納部に格納される上記（１４）に記載のデータ管理システム。
【００２１】
（１６）  前記共通鍵を用いて暗号化される分散データは、予め設定されたデータ量を有するものであるか、または前記元データのデータ量に対し１未満の所定の比率のデータ量を有するものである上記（１３）ないし（１５）のいずれかに記載のデータ管理システム。
【００２２】
（１７）  前記分散データ生成手段は、
元データを入力する元データ入力部と、
乱数データＲを生成する乱数データ生成部と、
前記乱数データＲに対し所定の関数を実行して第１関数データを生成する第１関数データ生成部と、
前記第１関数データ生成部の出力と前記元データとの前記排他的論理和を計算する第１演算部と、
前記第１演算部の出力Ｘに対し所定の関数を実行して第２関数データを生成する第２関数データ生成部と、
前記第２関数データ生成部の出力と前記乱数データＲとの排他的論理和を計算する第２演算部と、
前記出力Ｘと前記第２演算部の出力Ｙと結合して暗号化データを作成するデータ結合部と、
前記暗号化データを、前記共通鍵を用いて暗号化する１つの分散データと、その他の１または２以上の分散データとを含む複数の分散データに分割する分割手段とを有する上記（１３）ないし（１６）のいずれかに記載のデータ管理システム。
【００２３】
（１８）  前記分散データ生成手段は、
元データを入力する元データ入力部と、
乱数データＲを生成する乱数データ生成部と、
前記乱数データＲに対し擬似乱数処理を行って擬似乱数データを生成する擬似乱数生成部と、
前記擬似乱数生成部の出力と前記元データとの前記排他的論理和を計算する第１演算部と、
前記第１演算部の出力Ｘに対し所定の関数を実行して関数データを生成する関数データ生成部と、
前記関数データ生成部の出力と前記乱数データＲとの排他的論理和を計算する第２演算部と、
前記出力Ｘと前記第２演算部の出力Ｙと結合して暗号化データを作成するデータ結合部と、
前記暗号化データを、前記共通鍵を用いて暗号化する１つの分散データと、その他の１または２以上の分散データとを含む複数の分散データに分割する分割手段とを有する上記（１３）ないし（１６）のいずれかに記載のデータ管理システム。
【００２４】
（１９）  前記所定の関数は、ハッシュ関数である上記（１７）または（１８）に記載のデータ管理システム。
【００２５】
（２０）  秘密分散法を用いて暗号化を行うデータ管理装置であって、
前記秘密分散法を用いて元データから複数の分散データを生成する分散データ生成手段と、
前記複数の分散データのうちの１つの分散データに対し共通鍵を用いて暗号化を行い、鍵暗号分散データを生成する鍵暗号化手段と、
前記鍵暗号分散データ以外の前記分散データと、前記鍵暗号分散データとを格納する格納部とを有することを特徴とするデータ管理装置。
【００２６】
（２１）  所定の公開鍵を用いて前記共通鍵から共通鍵暗号化データを生成する共通鍵暗号化手段を有する上記（２０）に記載のデータ管理装置。
【００２７】
（２２）  前記公開鍵に対応する秘密鍵を有し、
前記秘密鍵を用いて前記共通鍵暗号化データから前記共通鍵を復号する共通鍵復号化手段を有する上記（２１）に記載のデータ管理装置。
【００２８】
（２３）  前記共通鍵を用いて前記鍵暗号分散データから前記分散データを復号する分散データ復号化手段と、
前記鍵暗号分散データ以外の前記分散データと、復号された前記分散データとから前記元データを復元するデータ復元手段とを有する上記（２０）ないし（２２）のいずれかに記載のデータ管理装置。
【００２９】
（２４）  前記共通鍵を用いて暗号化される分散データは、予め設定されたデータ量を有するものであるか、または前記元データのデータ量に対し１未満の所定の比率のデータ量を有するものである上記（２０）ないし（２３）のいずれかに記載のデータ管理装置。
【００３０】
（２５）  ＲＳＡ鍵ペアを構成する公開鍵および秘密鍵の少なくとも一方を生成または入力する手段を有する上記（２０）ないし（２４）のいずれかに記載のデータ管理装置。
【００３１】
（２６）  前記分散データ生成手段は、
元データを入力する元データ入力部と、
乱数データＲを生成する乱数データ生成部と、
前記乱数データＲに対し所定の関数を実行して第１関数データを生成する第１関数データ生成部と、
前記第１関数データ生成部の出力と前記元データとの前記排他的論理和を計算する第１演算部と、
前記第１演算部の出力Ｘに対し所定の関数を実行して第２関数データを生成する第２関数データ生成部と、
前記第２関数データ生成部の出力と前記乱数データＲとの排他的論理和を計算する第２演算部と、
前記出力Ｘと前記第２演算部の出力Ｙと結合して暗号化データを作成するデータ結合部と、
前記暗号化データを、前記共通鍵を用いて暗号化する１つの分散データと、その他の１または２以上の分散データとを含む複数の分散データに分割する分割手段とを有する上記（２０）ないし（２５）のいずれかに記載のデータ管理装置。
【００３２】
（２７）  前記分散データ生成手段は、
元データを入力する元データ入力部と、
乱数データＲを生成する乱数データ生成部と、
前記乱数データＲに対し擬似乱数処理を行って擬似乱数データを生成する擬似乱数生成部と、
前記擬似乱数生成部の出力と前記元データとの前記排他的論理和を計算する第１演算部と、
前記第１演算部の出力Ｘに対し所定の関数を実行して関数データを生成する関数データ生成部と、
前記関数データ生成部の出力と前記乱数データＲとの排他的論理和を計算する第２演算部と、
前記出力Ｘと前記第２演算部の出力Ｙと結合して暗号化データを作成するデータ結合部と、
前記暗号化データを、前記共通鍵を用いて暗号化する１つの分散データと、その他の１または２以上の分散データとを含む複数の分散データに分割する分割手段とを有する上記（２０）ないし（２５）のいずれかに記載のデータ管理装置。
【００３３】
（２８）  前記所定の関数は、ハッシュ関数である上記（２６）または（２７）に記載のデータ管理装置。
【発明の効果】
【００３４】
本発明によれば、分散データと、鍵暗号分散データとを生成し、これらを１つの格納部に格納することにより、情報の秘匿性の高いデータを、少ないＨ／Ｗ資源で安全に保管することができる
また、複数の分散データのうちの１つの分散データのみを共通鍵を用いて暗号化するため、暗号化されるデータの量が少なく、よって、安全性を低下させることなく処理を高速化することができる。
【００３５】
また、秘密分散法のうち、ＡＯＮＴ（All  Or  Nothing  Transform）法を用いることにより、暗号化する分散データのデータ量を所望に設定することができ、特に、比較的少ないデータ量に設定することができ、前述した効果がより顕著に発揮される。さらに、ＡＯＮＴにおいて、擬似乱数処理を用いることにより、処理の高速化を図ることができる。
【発明を実施するための最良の形態】
【００３６】
以下、本発明のデータ管理方法（データ保管方法）、データ管理システム（データ保管システム）およびデータ管理装置（データ保管装置）について、添付図面を参照しつつ詳細に説明する。
【００３７】
図１は、データ管理（保管）システムの実施形態を示すブロック図である。
図１に示すように、データ保管システム１００は、例えば、インターネット回線等のオープンネットワーク３０を介して、データ通信を行うものであり、サーバ１０と、クライアント２０とを有している。
【００３８】
サーバ１０は、元データ（暗号化対象データ）に対して暗号化処理を行って暗号化されたデータを作成して所定の場所に格納し、クライアント２０は、必要に応じて前述した暗号化されたデータを所定の場所から取り出して元データの復号を行う。
【００３９】
以下、これらの各構成要素について順次説明する。
サーバ１０は、分散データ生成手段１１と、暗号化手段１２と、格納部１３と、インターフェース部１４とを有している。
【００４０】
分散データ生成手段１１は、入力される元データ（秘密情報Ｄ）に対し、秘密分散法（Secret Sharing Schemes）を用いて、合計ｎ個（但しｎは２以上の整数）の分散データを生成する。この場合、分散データは、（ｎ−１）個の分散データＰｒｅｇ（１）〜Ｐｒｅｇ（ｎ−１）と、１個の分散データＰ（ｍｉｎ）とで構成される。
【００４１】
分散データＰ（ｍｉｎ）のデータ量Ｖ（ｍｉｎ）は、後述する秘密分散法の種類により異なる。後述するＡＯＮＴによる場合、データ量Ｖ（ｍｉｎ）は、元データのデータ量未満とされ、特に、元データのデータ量に対し比較的少ない量（例えば、１／２以下（未満））とすることができる。例えば、第１のケースとして、分散データＰ（ｍｉｎ）のデータ量Ｖ（ｍｉｎ）は、他の分散データＰｒｅｇ（１）〜Ｐｒｅｇ（ｎ−１）のデータ量の合計より少ない（例えば１／２以下（未満）、１／３以下など）データ量にする（設定する）ことができ、第２のケースとして、データ量Ｖ（ｍｉｎ）は、分散データＰｒｅｇ（１）〜Ｐｒｅｇ（ｎ−１）のうち最もデータ量の多い分散データのデータ量以下（未満）にする（設定する）ことができ、第３のケースとして、データ量Ｖ（ｍｉｎ）は、分散データＰｒｅｇ（１）〜Ｐｒｅｇ（ｎ−１）のうち最もデータ量の少ない分散データのデータ量以下（未満）にする（設定する）ことができる。分散データＰ（ｍｉｎ）のデータ量Ｖ（ｍｉｎ）をこのようにすることにより、共通鍵を用いて分散データＰ（ｍｉｎ）を暗号化する（鍵暗号分散データを生成する）場合および該鍵暗号分散データを復号化して分散データＰ（ｍｉｎ）を得る場合において、その処理をより迅速に、短時間で行うことができ、その結果、全体の処理時間を大幅に短縮することができる。
【００４２】
ここで、秘密分散法とは、１つの秘密情報（secret）を複数の分散情報（シェア）に分散して管理する方法であり、秘密情報のセキュリティ性を高めることができる方法である。この秘密分散法には、いわゆるシャミア（Shamir）の秘密分散法と、データ量が可変の分散アルゴリズムを用いたＡＯＮＴ（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.）による秘密分散法とがある。
【００４３】
前者は、秘密情報をｎ個（但しｎは２以上の整数）の分散情報（シェア）に分散符号化し、任意の分散情報をｋ個集めると、元の秘密情報を復元することができるが、分散情報をｋ−１個以下集めても元の秘密情報を復元することができない。また、複数の分散情報（シェア）の１つ１つを見ても、秘密情報の部分的な情報は分からないようになっている。
【００４４】
このとき分散情報ｗｉ（ｉ＝１，２，・・・，ｎ）は、秘密情報Ｄと素数ｐおよび乱数データＲｊ（ｊ＝１，２，・・・，ｋ−１）を用いてｋ−１次の、下記の多項式（１）から式（２）のように表せる。また、このときｘｉは、同じ値を含まない。
ｗｉ＝ｆ（ｘｉ）  （ｉ＝１，２，・・・，ｎ）      （１）
ｆ（ｘ）＝Ｓ＋ｒ１ｘ＋ｒ２ｘ２＋…＋ｒｋ−１ｘｋ−１  （ｍｏｄ  ｐ）  （２）
ここでｍｏｄは剰余を示す。
【００４５】
これらの式を用いて秘密分散法の原理を説明すると以下のようになる。
式（１）において、ｙ＝ｆ（ｘ）とすると、秘密情報Ｄは、ｙ軸切片を示している。式（１）は、ｋ−１次の多項式なので、分散情報ｗｉ（ｉ＝１，２，・・・，ｎ）が、ｋ個集まると、ｋ個の座標点から多項式ｙ＝ｆ（ｘ）が一意に求まる。しかし、分散情報をｋ−１個集めただけでは、ｋ−１個の座標点しかわからず、多項式が一意に求まらないので、全てのｙ軸切片を通る可能性がある。そのため秘密情報Ｄが解読できない。
【００４６】
以上の秘密分散法を用いることにより、分割された分散情報のそれぞれによる、部分的な情報の漏えいを有効に防止することができる。
【００４７】
また、後者（ＡＯＮＴ）は、図８に示す方法（分散データ生成手段）により実行される。図８に示すように、分散データ生成手段１１は、秘密情報（秘匿すべき元データ）Ｄを入力する元データ入力部５０と、乱数データＲを生成する乱数データ生成部５１と、ハッシュ関数Ｇ（ここで、ハッシュ関数とは、ドキュメントや数字などの文字列の羅列から一定長（固定長）のデータに要約するための関数を言う。）を実行してハッシュ値（関数データ）を生成する第１ハッシュ値生成部（第１関数データ生成部）５２と、排他的論理和[Ｑ＋]を計算する第１演算部５３と、ハッシュ関数Ｈを実行してハッシュ値（関数データ）を生成する第２ハッシュ値生成部（第２関数データ生成部：関数データ生成部）５４と、排他的論理和[Ｑ＋]を計算する第２演算部５５と、第１演算部５３の出力Ｘおよび第２演算部５５の出力Ｙを所定の方法で結合して暗号化データを作成するデータ結合部５６とを有している。
【００４８】
そして、出力Ｘ、Ｙは、
Ｘ＝Ｇ（Ｒ）[Ｑ＋]Ｄ
Ｙ＝Ｈ（Ｘ）[Ｑ＋]Ｒ＝Ｈ（Ｇ（Ｒ）[Ｑ＋]Ｄ）[Ｑ＋]Ｒ
で表される。
【００４９】
このＸとＹとを所定の方法で結合して転送用の暗号化データを作成する。これにより、第三者が容易に復号することのできない暗号化データを作成することができる。
【００５０】
この暗号化データは、図示しない所定の分割手段等により、複数の分散データ（分散情報）に分割することができる。すなわち、複数の分散データが生成される。
【００５１】
暗号化データの分割（複数の分散データの生成）は、例えば、暗号化データの総データ量が１００００バイトのであるとき、１バイト目からａバイト目まで、ａ＋１バイト目からｂバイト目まで、・・・、ｚバイト目から１００００バイト目まで（ただし、１＜ａ＜ｂ＜・・・  ＜ｚ＜１００００）、というように、単純にデータを２または３以上に分割するような方法を採用することができる。もちろん、その他の方法を採用してもよい。
【００５２】
ＡＯＮＴでは、分散データの個数および各分散データの大きさ（データ量）を自由に設定することができ、全ての分散データのデータ量の合計が元データ（秘密情報Ｄ）のデータ量とほぼ同等になるという特徴を有する。この特徴から、本発明では、ＡＯＮＴによる秘密分散法を用いるのが好ましい。分散データＰ（ｍｉｎ）のデータ量Ｖ（ｍｉｎ）を容易に前述したように設定することができるからである。
【００５３】
分散データＰ（ｍｉｎ）のデータ量Ｖ（ｍｉｎ）は、例えば次のような方法で設定することができる。
【００５４】
［１］データ量Ｖ（ｍｉｎ）を一定値に設定する。この場合、データ量Ｖ（ｍｉｎ）の設定値は、元データのデータ量ＡＳの想定される範囲の下限値ＡＳ（ｍｉｎ）に比べて十分に小さい値（例えば１／２以下）とされ、好ましくは、下限値ＡＳ（ｍｉｎ）の１／３以下、より好ましくは１／１００００〜１／５程度とされる。例えば、元データのデータ量ＡＳが２０ｋバイト〜１００Ｍバイト程度であると想定された場合、データ量Ｖ（ｍｉｎ）は、１０ｋバイトまたはそれ以下の値とする。
【００５５】
当該［１］を採用した場合、元データのデータ量ＡＳの大小に係わらず、分散データＰ（ｍｉｎ）のデータ量データ量Ｖ（ｍｉｎ）を常に一定値（しかも比較的小さい値）に固定することができる。これにより、分散データＰ（ｍｉｎ）の暗号化や復号化の処理速度（処理時間）を一定にし、しかも当該処理を短時間で行うことができるという利点がある。
【００５６】
［２］データ量Ｖ（ｍｉｎ）は、元データのデータ量ＡＳに応じた値とする。この場合、データ量ＡＳを何らかの方法、例えばデータ量検出手段（図示せず）により把握し、データ量Ｖ（ｍｉｎ）をデータ量ＡＳに対し所定の比率（但し１未満）に設定する。例えば、データ量Ｖ（ｍｉｎ）＝データ量ＡＳ×ｋ（但し、ｋ＝０．０００１〜０．５（または０．５未満））とする。この場合、ｋは、固定値でも、諸条件（例えば、ＡＳの大小やｎの大小）に応じて変動する値でもよい。
【００５７】
当該［２］を採用した場合、元データのデータ量ＡＳが比較的小さい場合でも、それに応じて、分散データＰ（ｍｉｎ）の暗号化や復号化の処理速度を早くすることができるという利点がある。
【００５８】
［３］前記［１］と［２］の組み合わせ。例えば、データ量ＡＳを検出し、その値が所定のしきい値（例えば１０ｋバイト）以上の場合には、前記［１］を採用し、前記しきい値未満の場合には、前記［２］を採用する。
【００５９】
当該［３］を採用した場合には、前記［１］および［２］の利点を併有することができる。
【００６０】
なお、図８に示す分散データ生成手段１１では、第１ハッシュ値生成部５２および第２ハッシュ値生成部５４においてそれぞれハッシュ関数による処理を行っているが、本発明ではこれに限らず、ハッシュ関数以外の関数を用いることができる。
【００６１】
また、図８に示す分散データ生成手段１１において、第１ハッシュ値生成部５２を、擬似乱数処理を行う擬似乱数データ生成部５７に置き換えることができる。この擬似乱数データ生成部５７は、乱数データＲに対して擬似乱数処理を行い、擬似乱数(pseudo-random number)データを生成し出力する。以後は前記と同様の処理を行い、出力ＸとＹとから暗号化データを生成し、さらに前記と同様にして複数の分散データを生成する。ここで、出力Ｙのデータ量は、乱数データＲのデータ量と同一とすることができる。
【００６２】
なお、この擬似乱数処理を用いた構成は、本願出願人によるＰＣＴ／ＪＰ２００５／００６９０３の出願の明細書、請求の範囲等にその詳細が開示されており、当該ＰＣＴ出願の内容を本発明に適用することができる。
【００６３】
ここで、「擬似乱数処理」とは、多項式計算の計算機（本実施形態では、後述するＣＰＵ１０１）が乱数と識別不能な列を出力する処理を言い、この列に含まれる数を（暗号論的）擬似乱数という。より詳しく説明すると、「擬似乱数」とは、確定的な計算によって求められる数列に含まれる数を指す。また、擬似乱数処理は、データ量が可変の分散アルゴリズムであり、生成する擬似乱数データの個数および大きさを任意に設定することができる。
【００６４】
このように、第１ハッシュ値生成部５２に代え、擬似乱数データ生成部５７で擬似乱数処理を行う構成とすることにより、ハッシュ関数を用いてハッシュ値を求めるのに比べて、次のような利点がある。
【００６５】
すなわち、ハッシュ関数（第１ハッシュ値生成部５２）を用いた場合、１回の処理で出力されるハッシュ値は固定長であるため、必要な大きさの出力を求めるためには多数回（例えば、データが０．１Ｍバイト、ハッシュ関数が１６０ビットの場合は６５０回以上）のハッシュ処理を行う必要がある。これに対し、擬似乱数処理を行う場合には、乱数データＲから一度の演算処理で擬似乱数データを生成することができる。
【００６６】
従って、擬似乱数データ生成部５２で擬似乱数処理を行う構成とする場合には、少ない演算回数で、安全性の高い（第三者に識別不能な）擬似乱数データを生成することができる。これにより、安全性を低下させることなくサーバ１０の処理を高速化することができるため、サーバ１０の演算処理の負担を軽くすることができる。その結果、データ保管システム１００のデータ処理速度やデータの送受信の速度が格段に速くなり、高速化への対応が有利となる。特に、本発明では、例えば静止画や動画の画像データのようなデータ量が多いものの場合には、かかる高速化のメリットが大きく、有利である。
【００６７】
以上のような分散データ生成手段１１は、生成された各分散データのうち、分散データＰｒｅｇ（１）〜Ｐｒｅｇ（ｎ−１）を格納部１３へ出力し、分散データＰ（ｍｉｎ）を暗号化手段１２へ出力する。
【００６８】
図２は、鍵暗号化手段の構成例を示すブロック図である。
鍵暗号化手段１２は、共通鍵生成手段１２１と、分散データ暗号化手段１２２と、共通鍵暗号化手段１２３とで構成されている。
【００６９】
共通鍵生成手段１２１は、暗号時と復号時とに同じ鍵を用いる共通鍵を生成する。ここで生成された共通鍵は、分散データ暗号化手段１２２および共通鍵暗号化手段１２３にそれぞれ入力される。
【００７０】
分散データ暗号化手段１２２は、分散データＰ（ｍｉｎ）を、共通鍵を用いて暗号化し、鍵暗号分散データを生成する。
【００７１】
共通鍵暗号化手段１２３は、後述する鍵生成手段２２で生成される公開鍵を用いて、共通鍵を暗号化し、共通鍵暗号化データを生成する。
【００７２】
再び図１に戻って説明する。
格納部１３は、分散データ生成手段１１より出力された分散データＰｒｅｇ（１）〜Ｐｒｅｇ（ｎ−１）と、鍵暗号化手段１２で生成された鍵暗号分散データおよび共通鍵暗号化データとを格納する。
【００７３】
インターフェース部１４は、オープンネットワーク３０（ただし、オープンのものに限られない）を介してクライアント２０との間で分散データＰｒｅｇ（１）〜Ｐｒｅｇ（ｎ−１）、鍵暗号分散データ、共通鍵暗号化データ等の、各種データの送受信を行う。
【００７４】
クライアント２０は、インターフェース部２１と、鍵生成手段２２と、鍵復号化手段２３と、データ復元手段２４と、格納部２５とを有している。
【００７５】
インターフェース部２１は、オープンネットワーク３０を介してサーバ１０との間で分散データＰｒｅｇ（１）〜Ｐｒｅｇ（ｎ−１）、鍵暗号分散データ、共通鍵暗号化データ等、各種データの送受信を行う。
【００７６】
鍵生成手段２２は、ＲＳＡ（Rivest Shamir Adleman）鍵暗号化方法を用いて公開鍵および秘密鍵を生成し、公開鍵をサーバ１０に出力し、秘密鍵を鍵復号手段２３に出力する。
【００７７】
図３は、鍵復号化手段の構成例を示すブロック図である。
鍵復号化手段２３は、共通鍵復号化手段２３１と、分散データ復号化手段２３２とで構成されている。
【００７８】
共通鍵復号化手段２３１は、鍵生成手段２２で生成され入力された秘密鍵を用い、サーバ１０側から受信し格納部２５に格納された共通鍵暗号化データから共通鍵を取り出す（復号する）。
【００７９】
分散データ復号化手段２３２は、鍵暗号分散データが入力されると、共通鍵復号化手段２３１で復号された共通鍵を用いて、分散データＰ（ｍｉｎ）を復号する。
【００８０】
再び図１に戻って説明する。
データ復元手段２４は、復号された分散データＰ（ｍｉｎ）と、Ｐｒｅｇ（１）〜Ｐｒｅｇ（ｎ−１）とから元データを復元し、格納部２５へ出力する。
格納部２５は、復元された元データを格納する。
【００８１】
次に、サーバ１０のハードウェア構成例を示す。
図４は、サーバの実施形態のハードウェア構成例を示す図である。
【００８２】
サーバ１０は、ＣＰＵ（Central Processing Unit）１０１、ＲＯＭ（Read Only Memory）１０２、ＲＡＭ（Random Access Memory）１０３、ＨＤＤ（Hard Disk Drive）１０４、Ｉ／Ｆ（Interface）１０５、グラフィック装置１０６、入力装置１０７、バス１０８およびモニタ（表示装置）１１１によって構成されている。
【００８３】
ここで、ＣＰＵ１０１は、ＨＤＤ１０４に格納されているプログラムにしたがって各種演算処理を実行するととともに、サーバ１０の各部を制御する。
【００８４】
ＲＯＭ１０２は、ＣＰＵ１０１が実行する基本的なプログラム等が格納されている。
ＲＡＭ１０３には、ＣＰＵ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０３には、ＣＰＵ１０１による処理に必要な各種データが格納される。ＨＤＤ１０４には、ＯＳやアプリケーションプログラムが格納される。
【００８５】
Ｉ／Ｆ１０５は、入力装置１０７から入力されるデータの表現形式を変更して入力するとともに、オープンネットワーク３０との間で所定のプロトコルに従ってデータを送受信する。
【００８６】
グラフィック装置１０６には、モニタ１１１が接続されている。グラフィック装置１０６は、ＣＰＵ１０１からの命令に従って、画像をモニタ１１１の画面に表示させる。
【００８７】
入力装置１０７は、例えば、キーボードやマウスなどによって構成されており、ユーザの操作に応じたデータを生成して出力する。
【００８８】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図４には、サーバ１０のハードウェア構成例を示したが、クライアント２０も同様のハードウェア構成で実現することができる。
【００８９】
次に、データ保管システム１００を用いたデータ保管方法について説明する。
図５は、データ管理（保管）システムの前処理を説明するフローチャートである。
【００９０】
なお、以下では、一例として１つの分散データＰｒｅｇ（１）（ｎ＝１の場合）と分散データＰ（ｍｉｎ）の合計２つの分散データを生成する場合について説明する。
【００９１】
まず、クライアント２０の鍵生成手段２２は、ＲＳＡ鍵暗号化方法を用いてＲＳＡ鍵ペア、すなわち公開鍵および秘密鍵を生成する（ステップＳ１１）。
【００９２】
次に、クライアント２０は、生成した公開鍵をサーバ１０に転送し、秘密鍵を格納部２５に格納する（ステップＳ１２）。
【００９３】
一方、サーバ１０は、クライアント２０から転送された公開鍵を格納部１３に格納する（ステップＳ１３）。
以上で前処理が終了する。
【００９４】
次に、データ保管システム１００の暗号化処理について説明する。
図６は、データ管理（保管）システムの暗号化処理を説明するフローチャートである。
【００９５】
暗号化を行う際には、まず、分散データ生成手段１１が、格納部１３に格納された元データを読み出す（ステップＳ２１）。
【００９６】
次に、図示しないデータ量検出手段により元データのデータ量を検出し、分散データ生成手段１１は、検出された元データのデータ量に応じて、分散データＰｒｅｇ（１）と分散データＰ（ｍｉｎ）とを生成する（ステップＳ２２）。
【００９７】
この際、分散データＰ（ｍｉｎ）のデータ量Ｖ（ｍｉｎ）は、前記［１］〜［３］のいずれの方法に従って設定してもよいが、本実施形態では、前記［３］を採用し、さらに、前記第１〜第３のケースのうち、第３のケースを採用することとする。すなわち、例えば、元データのデータ量ＡＳが１０ｋバイト未満の場合には、データ量Ｖ（ｍｉｎ）＝データ量ＡＳ×０．２に設定し、データ量ＡＳが１０ｋバイト以上の場合には、データ量Ｖ（ｍｉｎ）＝２ｋバイトに設定（固定）する。この方法に従えば、データ量ＡＳがいかなる値であっても、データ量ＡＳ＞分散データＰｒｅｇ（１）のデータ量＞データ量Ｖ（ｍｉｎ）なる関係を満たすこととなる。
【００９８】
次に、分散データ暗号化手段１２２は、分散データ生成手段１１で生成された分散データＰ（ｍｉｎ）に対して、共通鍵生成手段１２１より入力された共通鍵を用いて暗号化を行い、鍵暗号分散データを生成する（ステップＳ２３）。
【００９９】
次に、共通鍵暗号化手段１２３は、格納部１３に格納されている公開鍵を用いて、共通鍵生成手段１２１より入力された共通鍵を暗号化し、共通鍵暗号化データを生成する（ステップＳ２４）。
【０１００】
次に、分散データＰｒｅｇ（１）と、鍵暗号分散データと、共通鍵暗号化データとを格納部１３に格納する（ステップＳ２５）。
以上で元データの暗号化処理が終了する。
【０１０１】
なお、本実施形態では、鍵暗号分散データを生成した後に、共通鍵暗号化データを生成したが、共通鍵暗号化データを生成した後に、鍵暗号分散データを生成してもよいし、鍵暗号分散データの生成と同時に共通鍵暗号化データを生成してもよい。
【０１０２】
次に、データ保管システム１００の復号化処理について説明する。
図７は、データ管理（保管）システムの復号化処理を説明するフローチャートである。
【０１０３】
元データを復元する際には、まず、クライアント２０は、格納部１３に保管されている分散データＰｒｅｇ（１）と、鍵暗号分散データと、共通鍵暗号化データとを取得する（ステップＳ３１）。
【０１０４】
次に、共通鍵復号化手段２３１は、秘密鍵を用いて共通鍵暗号化データから共通鍵を取り出す（ステップＳ３２）。
【０１０５】
次に、分散データ復号化手段２３２は、鍵暗号分散データが入力されると、共通鍵復号化手段２３１で復号された共通鍵を用いて、分散データＰ（ｍｉｎ）を復号する（ステップＳ３３）。
【０１０６】
次に、データ復元手段２４は、復号された分散データＰ（ｍｉｎ）と、分散データＰｒｅｇ（１）とから元データを復元し、これを格納部２５へ出力し、格納する（ステップＳ３４）。
以上で元データの復号化処理が終了する。
【０１０７】
以上説明したように、本データ保管システム１００によれば、分散データＰｒｅｇ（１）〜Ｐｒｅｇ（ｎ−１）と、鍵暗号分散データ（暗号化された分散データＰ（ｍｉｎ））と、共通鍵暗号化データ（暗号化された鍵データ）とを生成することにより、情報の秘匿性を高めることができる。また、これらのデータは、正当な処理を行わない限り、個々のデータから元データを復元することができない。従って、これらのデータを同一資源、特に同一のパソコンの中に保管しても安全性（セキュリチィー性）が保持される。さらに、これらのデータを１箇所、すなわち同一の格納部（格納部１３）に格納しても、同様に安全性が確保される。その結果、格納部１３の省容量化を図ることができ、すなわち、少ないＨ／Ｗ（ハードウェア）資源でデータを安全に保管することができ、また、元データの分散データの格納や元データの復元も迅速に行うことができる。
【０１０８】
また、生成された分散データＰｒｅｇ（１）〜Ｐｒｅｇ（ｎ−１）および分散データＰ（ｍｉｎ）自体が高いセキュリティ性を保持するため、データの転送を簡易に行うことができる。
【０１０９】
また、元データの秘密分散処理時に分散データＰ（ｍｉｎ）を生成し、この分散データＰ（ｍｉｎ）のみを共通鍵で暗号化することにより、全ての分散データＰ（ｎ）を共通鍵で暗号化する場合等に比べて、安全性を低下させることなく暗号化および復号化の処理速度を格段に向上させることができる。そして、分散データＰ（ｍｉｎ）のデータ量を所望に設定すること、すなわち、比較的少ないデータ量とすることにより、暗号化および復号化の処理速度をさらに向上させることができ、よって、全体の処理時間を短縮することができる。
【０１１０】
さらに、元データのデータ量の大小に影響を受けることなく、分散データＰ（ｍｉｎ）のデータ量を設定すること、特に、一定の値に固定することができ、分散データＰ（ｍｉｎ）の暗号化および復号化にそれぞれ要する時間を一定にすることができる。その結果、全体の処理時間の変動を抑制することができる。
【０１１１】
そして、分散データの生成において、前述したような擬似乱数処理を用いた場合には、当該方法による分散データ作成処理の高速化と、前記分散データＰ（ｍｉｎ）の暗号化等における処理の高速化との相乗効果により、全体の処理時間の大幅な短縮が図れる。
【０１１２】
以上、本発明のデータ管理方法（データ保管方法）、データ管理システム（データ保管システム）およびデータ管理装置（データ保管装置）を、図示の実施形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができ、また、他の任意の構成物が付加されていてもよい。
【０１１３】
また、本発明のデータ管理方法は、オープンネットワーク３０を介さず、サーバ１０によって生成された分散データＰｒｅｇ（１）〜Ｐｒｅｇ（ｎ−１）と、鍵暗号分散データと、共通鍵暗号化データとが、コンピュータで読み取り可能な記録媒体（記憶媒体）に格納され、クライアント２０に入力されたときにも適用することができる。
【０１１４】
コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ(Digital Versatile Disc)、ＤＶＤ−ＲＡＭ(Random Access Memory)、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)、ＣＤ−Ｒ(Recordable)／ＲＷ(ReWritable)などがある。光磁気記録媒体には、ＭＯ(Magneto-Optical disk)などがある。
【０１１５】
また、本実施形態では、サーバ１０からクライアント２０に対して分散データＰ（ｒｅｇ）と、鍵暗号分散データと、共通鍵暗号化データとを転送したが、これに限らず、例えば、クライアント２０が、サーバ１０に対して転送してもよい。
【０１１６】
また、本発明では、サーバ装置が複数設けられていてもよいし、クライアント装置が複数設けられていてもよい。
【０１１７】
また、前記実施形態では、共通鍵生成手段１２１が生成した共通鍵を用いたが、これに限らず、外部で生成した共通鍵を用いてもよい。この場合には、共通鍵生成手段１２１に代え、共通鍵入力手段を有することとなる。
【０１１８】
また、前記実施形態では、鍵生成手段２２が生成した公開鍵および秘密鍵を用いたが、これに限らず、公開鍵および秘密鍵のうちの少なくとも一方は、外部で生成したものを用いてもよい。この場合には、鍵生成手段２２と共に、あるいは鍵生成手段２２に代わり、鍵入力手段を有することとなる。この鍵入力手段は、サーバ１０側が有していてもよい。例えば、インターフェース部１４および２１の一方または双方が鍵入力手段を構成するものでもよい。
【０１１９】
また、分散データＰｒｅｇ（１）〜Ｐｒｅｇ（ｎ−１）および分散データＰ（ｍｉｎ）（または鍵暗号分散データ）のうちの一部が、オープンネットワーク３０等を介して転送され、格納部１３または２５に格納されるような構成であってもよい。
【０１２０】
また、本発明は、オープンネットワーク３０以外の他の用途（例えば、クローズドネットワーク（専用線）等）にも適用することができる。
【０１２１】
また、本発明は、例えば、コンピュータ内の記憶媒体に格納されている秘密データを、例えば、コンピュータ内の他の記憶媒体に格納するときにも適用することができる。
【図面の簡単な説明】
【０１２２】
【図１】データ管理（保管）システムの実施形態を示すブロック図である。
【図２】鍵暗号化手段を示すブロック図である。
【図３】鍵復号化手段を示すブロック図である。
【図４】実施形態のサーバのハードウェア構成例を示す図である。
【図５】データ管理（保管）システムの前処理を説明するフローチャートである。
【図６】データ管理（保管）システムの暗号化処理を説明するフローチャートである。
【図７】データ管理（保管）システムの復号化処理を説明するフローチャートである。
【図８】本発明における分散データ生成手段の構成例を示す図であり、詳しくは、ＡＯＮＴ(All Or Nothing Transform)法による暗号化方法（暗号化システム）を示すブロック図である。
【符号の説明】
【０１２３】
１０・・・サーバ
１１・・・分散データ生成手段
１２・・・鍵暗号化手段
１３・・・格納部
１４・・・インターフェース部
２０・・・クライアント
２１・・・インターフェース部
２２・・・鍵生成手段
２３・・・鍵復号化手段
２４・・・データ復元手段
２５・・・格納部
３０・・・オープンネットワーク
５０・・・元データ入力部
５１・・・乱数データ生成部
５２・・・第１ハッシュ値生成部
５３・・・第１演算部
５４・・・第２ハッシュ値生成部
５５・・・第２演算部
５６・・・データ結合部
５７・・・擬似乱数データ生成部
１００・・・データ保管システム
１０１・・・ＣＰＵ
１０２・・・ＲＯＭ
１０３・・・ＲＡＭ
１０４・・・ＨＤＤ
１０５・・・Ｉ／Ｆ
１０６・・・グラフィック装置
１０７・・・入力装置
１０８・・・バス
１１１・・・モニタ
１２１・・・共通鍵生成手段
１２２・・・分散データ暗号化手段
１２３・・・共通鍵暗号化手段
２３１・・・共通鍵復号化手段
２３２・・・分散データ復号化手段
Ｓ１１〜Ｓ１３・・・ステップ
Ｓ２１〜Ｓ２５・・・ステップ
Ｓ３１〜Ｓ３４・・・ステップ
Ｐｒｅｇ（１）〜Ｐｒｅｇ（ｎ−１）・・・分散データ
Ｐ（ｍｉｎ）・・・分散データ
Ｄ・・・秘密情報（秘匿すべき元データ）
Ｒ・・・乱数データ
Ｇ、Ｈ・・・ハッシュ関数
[Ｑ＋]・・・排他的論理和
Ｘ、Ｙ・・・出力
【図１】
2006311383.tif 000003
【図２】
2006311383.tif 000004
【図３】
2006311383.tif 000005
【図４】
2006311383.tif 000006
【図５】
2006311383.tif 000007
【図６】
2006311383.tif 000008
【図７】
2006311383.tif 000009
【図８】
2006311383.tif 000010