(57)【特許請求の範囲】
【請求項１】
秘密情報を乱数との排他的論理和演算により分割し異なる複数の分散情報を生成すると共に、前記各分散情報に対応した署名情報と当該署名情報を集約化した集約署名情報とを生成する分散装置と、前記分散装置から分配された前記分散情報、署名情報、および集約署名情報を取得する異なる複数の情報保持装置とを備えた分散情報管理システムであって、
前記各情報保持装置は、
前記署名情報を取得すると共に当該署名情報を集約化することにより集約署名情報Ｂを算出する集約署名算出部と、
前記分散装置から予め送り込まれた集約署名情報Ａと前記集約署名情報Ｂとが等しい場合に前記分散装置から送り込まれた分散情報が正当であると判定し保持する分散情報判定保持部とを有し、
前記分散装置は、
前記異なる情報保持装置それぞれから対応する各分散情報を取得すると共に取得した分散情報の数が一定数以上である場合に予め設定された検証式に基づき前記署名情報および分散情報における双線形性の有無の判定を行う双線形性検証判定部と、
前記判定で双線形性が有ると判定された場合に前記各情報保持装置から取得した分散情報に基づき前記秘密情報の復元処理を行う復元処理部とを備えたことを特徴とする分散情報管理システム。
【請求項２】
請求項１に記載の分散情報管理システムにおいて、
前記各情報保持装置は、前記集約署名情報Ｂ算出用の署名情報を他の情報保持装置それぞれから
取得する外部署名取得部を備えたことを特徴とする分散情報管理システム。
【請求項３】
請求項１に記載の分散情報管理システムにおいて、
前記各情報保持装置は、前記分散装置内で公開設定された署名情報を前記集約署名情報Ｂ算出用の署名情報として取得する公開署名取得部を備えたことを特徴とする分散情報管理システム。
【請求項４】
請求項１に記載の分散情報管理システムにおいて、
前記分散装置は、前記各分散情報に対応した鍵情報およびハッシュ値を生成する鍵情報生成部と、前記鍵情報およびハッシュ値を用いて前記署名情報を生成する署名情報生成部とを備え、前記検証式は前記鍵情報およびハッシュ値を含むことを特徴とした分散情報管理システム。
【請求項５】
秘密情報を乱数との排他的論理和演算により分割し異なる複数の分散情報を生成すると共に、前記各分散情報に対応した署名情報と当該署名情報を集約化した集約署名情報とを生成する分散装置と、前記分散装置から分配された保持する異なる複数の情報保持装置とを備えた分散情報管理システムにあって、前記分散情報の正当性を検証する分散情報管理方法であって、
前記各情報保持装置は、前記署名情報を取得し、この署名情報を集約化することにより集約署名情報Ｂを算出し、前記分散装置から予め送り込まれた集約署名情報Ａと前記集約署名情報Ｂとが等しい場合に、前記分散装置から送り込まれた分散情報を保持対象として決定し、
前記分散装置は、前記異なる情報保持装置それぞれから前記保持対象である各分散情報を取得し、この分散情報の数が一定数以上である場合に、前記署名情報を含む予め設定された検証式に基づき双線形性の有無の判定を行い、前記判定で双線形性があると判定された場合に、前記各情報保持装置から取得した分散情報に基づき前記秘密情報の復元処理を行うことを特徴としていた分散情報管理方法。
【請求項６】
秘密情報を乱数との排他的論理和演算により分割し異なる複数の分散情報を生成すると共に、前記各分散情報に対応した署名情報と当該署名情報を集約化した集約署名情報とを生成する分散装置と、前記分散装置から分配された分散情報を取得すると共に前記署名情報に基づき正当であることが検証された前記分配情報を保持する異なる複数の情報保持装置とを備えた分散情報管理システムにあって、前記秘密情報の復元用情報である前記分散情報の正当性を検証する分散情報管理プログラムであって、
前記異なる情報保持装置それぞれから前記保持対象である各分散情報を取得し、この分散情報の数が一定数以上である場合に前記署名情報を含む予め設定された検証式に基づき双線形性の有無の判定を行う双線形性検証判定機能と、
前記判定で双線形性があると判定された場合に、前記各情報保持装置から取得した分散情報に基づき前記秘密情報の復元処理を行う復元処理機能とを、前記分散装置の有するコンピュータに実現させることを特徴とした分散情報管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、秘密分散法により生成された分散情報の正当性を検証する分散情報管理システムに関する。
【背景技術】
【０００２】
クラウドコンピューティングなどの通信ネットワークの利用が一般的になっている、一方で個人情報や組織の機密情報の漏えいに関する事件等が生じており、データセキュリティへの不安が増大してきている。
【０００３】
例えば、データセンターやネットワークサーバ等の所謂クラウドのコンピュータに置かれているデータが、データ所有者以外のユーザからアクセスされたり、閲覧されてしまったりするケースが増えてきている。
【０００４】
こうしたクラウドセキュリティの課題に対する有効な技術の一つとして、秘密分散法が利用されている。秘密分散法では、秘密情報を、分散アルゴリズムを利用して複数の分散情報に分散し、また、分散された情報から予め定められた個数の分散情報が集まれば元の秘密情報を復元する（秘密情報復元法）ことができる。
この秘密分散法としては、Ｓｈａｍｉｒの閾値秘密分散法や乱数と排他的論理和を用いた閾値秘密分散法などが一般的に利用されている。
【０００５】
さらには、秘密分散法におけるデータセキュリティをより強固なものとするために、分散アルゴリズムによって生成された分散情報が正当かどうかの検証を行う手法（検証可能秘密分散法）が開示さている。
【０００６】
これに対する関連技術として、入力された電子文書を複数の部分文書に分割し、共通の乱数ＩＤと部分文書それぞれに固有の乱数ＩＤｉを受け取り、これらを統合した値を生成すると共に、秘密鍵を使用して、すべての部分文書に対する署名を計算し、これに基づき部分文書が電子文書の一部分であることを検証するための手法が開示されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１０−１６４８７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記特許文献１に記載の関連技術では、ネットワーク上に設置された異なる端末に対して分散配置された分散情報（部分情報）それぞれが元の秘密情報の分散情報であること（分散情報の正当性）を検証することができない、また、これら分散情報を集めて秘密情報を復元する際にも、集められた分散情報の正当性を検証することができないという不都合がある。
また、閾値秘密分散法のうち、上記乱数と排他的論理和演算を用いた高速閾値秘密分散法では、Ｓｈａｍｉｒの閾値秘密分散法と構成法が異なることから検証可能秘密分散法を適用することができない。
【０００９】
［発明の目的］
本発明は、上記関連技術の有する不都合を改善し、排他的論理和を用いた閾値秘密分散法により分散配置された分散情報におけるデータセキュリティを有効に強化し得る分散情報管理システム、分散情報管理方法、および分散情報管理プログラムを提供することを、その目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明に係る分散情報管理システムは、秘密情報を乱数との排他的論理和演算により分割し異なる複数の分散情報を生成すると共に、前記各分散情報に対応した署名情報と当該署名情報を集約化した集約署名情報とを生成する分散装置と、前記分散装置から分配された前記分散情報、署名情報、および集約署名情報を取得する異なる複数の情報保持装置とを備えた分散情報管理システムであって、前記各情報保持装置は、前記署名情報を取得すると共に当該署名情報を集約化することにより集約署名情報Ｂを算出する集約署名算出部と、前記分散装置から予め送り込まれた集約署名情報Ａと前記集約署名情報Ｂとが等しい場合に前記分散装置から送り込まれた分散情報が正当であると判定し保持する分散情報判定保持部とを有し、前記分散装置は、前記異なる情報保持装置それぞれから対応する各分散情報を取得すると共に取得した分散情報の数が一定数以上である場合に予め設定された検証式に基づき前記署名情報および分散情報における双線形性の有無の判定を行う双線形性検証判定部と、前記判定で双線形性が有ると判定された場合に前記各情報保持装置から取得した分散情報に基づき前記秘密情報の復元処理を行う復元処理部とを備えたことを特徴とする構成を有する。
【００１１】
また、本発明に係る分散情報管理方法は、秘密情報を乱数との排他的論理和演算により分割し異なる複数の分散情報を生成すると共に、前記各分散情報に対応した署名情報と当該署名情報を集約化した集約署名情報とを生成する分散装置と、前記分散装置から分配された保持する異なる複数の情報保持装置とを備えた分散情報管理システムにあって、前記分散情報の正当性を検証する分散情報管理方法であって、前記各情報保持装置は、前記署名情報を取得し、この署名情報を集約化することにより集約署名情報Ｂを算出し、前記分散装置から予め送り込まれた集約署名情報Ａと前記集約署名情報Ｂとが等しい場合に、前記分散装置から送り込まれた分散情報を保持対象として決定し、前記分散装置は、前記異なる情報保持装置それぞれから前記保持対象である各分散情報を取得し、この分散情報の数が一定数以上である場合に、前記署名情報を含む予め設定された検証式に基づき双線形性の有無の判定を行い、前記判定で双線形性があると判定された場合に、前記各情報保持装置から取得した分散情報に基づき前記秘密情報の復元処理を行うことを特徴としている。
【００１２】
また、本発明に係る分散情報管理プログラムは、秘密情報を乱数との排他的論理和演算により分割し異なる複数の分散情報を生成すると共に、前記各分散情報に対応した署名情報と当該署名情報を集約化した集約署名情報とを生成する分散装置と、前記分散装置から分配された分散情報を取得すると共に前記署名情報に基づき正当であることが検証された前記分配情報を保持する異なる複数の情報保持装置とを備えた分散情報管理システムにあって、前記秘密情報の復元用情報である前記分散情報の正当性を検証する分散情報管理プログラムであって、前記異なる情報保持装置それぞれから前記保持対象である各分散情報を取得し、この分散情報の数が一定数以上である場合に前記署名情報を含む予め設定された検証式に基づき双線形性の有無の判定を行う双線形性検証判定機能と、前記判定で双線形性があると判定された場合に、前記各情報保持装置から取得した分散情報に基づき前記秘密情報の復元処理を行う復元処理機能とを、前記分散装置の有するコンピュータに実現させることを特徴としている。
【発明の効果】
【００１３】
本発明は、上述したように、署名情報を集約化することにより集約署名情報Ｂを算出し、前記分散装置から予め送り込まれた集約署名情報Ａと前記集約署名情報Ｂとが等しい場合に、前記分散装置から送り込まれた分散情報を保持対象として決定する情報保持装置と、異なる情報保持装置それぞれから前記保持対象である各分散情報を取得し、この分散情報の数が一定数以上である場合に、署名情報を含む予め設定された検証式に双線形性がある場合に各情報保持装置から取得した分散情報に基づき秘密情報の復元処理を行う分散装置を備えたことにより、排他的論理和を用いた閾値秘密分散法により分散配置された分散情報におけるデータセキュリティを有効に強化し得る分散情報管理システム、分散情報管理方法、および分散情報管理プログラムを提供することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態に係る分散情報管理システムの一実施形態を示す概略ブロック図である。
【図２】図１で示した分散情報管理システムにおける分散情報装置の内部構成の一例を示すブロック図である。
【図３】図１で示した分散情報管理システムにおける分散情報生成部の内部構成の一例を示すブロック図である。
【図４】図１で示した分散情報管理システムにおける分散情報復元部の内部構成の一例を示すブロック図である。
【図５】図１で示した分散情報管理システムにおける分散情報保有装置の内部構成の一例を示すブロック図である。
【図６】図１で示した分散情報管理システムにおける分散情報装置が有する分散情報検証部の内部構成例を示すブロック図である。
【図７】図１で示した分散情報管理システムにおける分散フェーズの動作処理ステップを示すフローチャートである。
【図８】図１で示した分散情報管理システムにおける検証フェーズの動作処理ステップを示すフローチャートである。
【図９】図１で示した分散情報管理システムにおける復元フェーズの動作処理ステップを示すフローチャートである。
【図１０】図１で示した分散情報管理システムにおける分散情報保有装置が有する分散情報検証部の内部構成例を示すブロック図である。
【図１１】図１０で示した分散情報管理システムにおける検証フェーズの動作処理ステップを示すフローチャートである。
【発明を実施するための形態】
【００１５】
［実施形態１］
本発明の実施形態である分散情報管理システムは、クライアント端末1から入力された秘密情報を分散情報に分散すると共に、これら分散情報から秘密情報を復元する処理を行う分散情報装置２と、分散情報装置２から通信回線ネットワーク（例えばインターネット）を介して分散送信（秘密分散）された分散情報を記憶保持する分散情報保有装置３−１、３−２、・・・、３−ｎを備えた構成を有する。
【００１６】
分散情報保有装置３−１、３−２、・・・、３−ｎは、それぞれ通信回線を介して分散情報装置２に接続され、分散情報装置２から分散情報が送り込まれた場合に、これを記憶保持する。
【００１７】
クライアント端末１は、通信回線を介して秘密情報（Ｓ）を分散情報装置２に対して入力する。また、クライアント端末１は秘密情報（Ｓ）を保持することなく分散情報装置２に対して直接秘密情報（Ｓ）を入力する設定であってもよい。
【００１８】
分散情報装置２は、図２に示すように、クライアント端末1から送り込まれた秘密情報の入力を受ける秘密情報入力部２１と、秘密情報入力部２１で取得した秘密情報を分散することにより複数の分散情報を生成する分散情報生成部２２と、分散情報生成部２２で生成された分散情報を通信回線介してｎ台の分散情報保有装置３（３−１、３−２、・・・、３−ｎ）それぞれに送信することにより分散配置する分散情報送信部２３と、ｋ台の分散情報保有装置それぞれから送り込まれたk個の分散情報を受信する分散情報受信部２４と、分散情報受信部２４で受信したk個の分散情報に基づき上記秘密情報に復元する処理を行う分散情報復元部２５と、分散情報復元部２５が復元した秘密情報をクライアント端末１に対して送信（出力）する秘密情報出力部２６を備えている。
【００１９】
分散情報生成部２２は、秘密鍵および公開鍵を生成する鍵生成手段２２１と、秘密情報入力部２１で取得した秘密情報を異なる複数の分散情報に分散する処理を行う分散情報生成手段２２２と、分散情報生成手段２２２で生成された分散情報から、予め設定されたハッシュ関数（例えば、ＳＨＡ−２など）を用いてハッシュ値を生成するハッシュ値生成手段２２３と、鍵生成手段２２１から入力された秘密鍵および公開鍵とハッシュ値生成手段２２３からの入力されたハッシュ値とに基づき「署名」を生成する署名生成手段２２４と、署名生成手段２２４で生成された異なる複数（例えば、ｎ個）の署名に基づき、これを集約演算することにより「集約署名」を生成する集約署名生成手段２２５と、分散情報生成手段２２２、署名生成手段２２４、および集約署名生成手段２２５それぞれから分散情報、署名、および集約署名を取得し、これを連結処理することにより、分散情報保有装置３への分散送信用の情報である連結分散情報を生成する分散情報連結手段２２６を有する。
【００２０】
また、分散情報装置２の分散情報生成部２２は、鍵生成手段２２１により生成された公開鍵（ｖ１、ｖ２，・・・，ｖｎ）、および各分散情報に対応した生成されたハッシュ値（ｈ１，ｈ２，・・・，ｈｎ）を全ての分散情報保有装置３（３−１〜３−ｎ）に対して、アクセス可能に公開する（鍵情報公開設定機能を有する）。
【００２１】
鍵生成手段２２１は、各分散情報に対応した、秘密鍵および公開鍵から成る、ｎ組のペア鍵を生成する。ここで、上記ペア鍵は、秘密鍵（ｘ１，ｘ２，・・・，ｘｎ）と、公開鍵（ｖ１，ｖ２，・・・，ｖｎ）を含み、ｘ１とｖ１、ｘ２とｖ２、・・・、ｘｎとｖｎがそれぞれペアを形成している。
【００２２】
また、鍵生成手段２２１により生成された公開鍵（ｖ１，ｖ２，・・・，ｖｎ）は、それぞれｖ１＝ｇ１ｘ１，ｖ２＝ｇ１ｘ２，・・・，ｖｎ＝ｇ１ｘｎであり、これらはそれぞれ秘密鍵に基づき生成される。
【００２３】
分散情報生成手段２２２は、秘密情報（Ｓ）に基づいて、予め設定されたアルゴリズムに基づきｎ個の分散情報を生成する。この分散情報は、Ｓ１，Ｓ２，・・・，Ｓｎから成る。
【００２４】
ハッシュ値生成手段２２３は、ｎ個の分散情報（Ｓ１〜Ｓｎ）それぞれに対応するハッシュ値（ｈ１，ｈ２，・・・，ｈｎ）を生成する。各ハッシュ値（ｈ１＝Ｈ（Ｓ１），ｈ２＝Ｈ（Ｓ２），・・・，ｈｎ＝Ｈ（Ｓｎ））は、各分散情報およびハッシュ関数（Ｈ）に基づき算出されるものとする。
【００２５】
署名生成手段２２４は、ハッシュ値生成手段２２３から送り込まれたハッシュ値（ｈ１，ｈ２，・・・，ｈｎ）および鍵生成手段２２１から送り込まれた秘密鍵（ｘ１，ｘ２，・・・，ｘｎ）に基づき、ｎ個の分散情報（Ｓ１〜Ｓｎ）それぞれに対応するｎ個の「署名」（σ１，σ２，・・・，σｎ）を生成する。
【００２６】
ここで、署名生成手段２２４は、対応するハッシュ値（ｈ１，ｈ２，・・・，ｈｎ）および秘密鍵（ｘ１，ｘ２，・・・，ｘｎ）に基づき、σ１〜σｎの署名（σ１＝ｈ１ｘ１，σ２＝ｈ２ｘ２，・・・，σｎ＝ｈｎｘｎ）を生成する。
【００２７】
集約署名生成手段２２５は、署名生成手段２２４から取得したｎ個の署名（σ１，・・・，σｎ）を集約化して、以下の（式１）に示す、集約署名（σ）を算出する。
【００２８】
【数１】
0005669204.tif 000002
【００２９】
分散情報連結手段２２６は、分散情報生成手段２２２から送り込まれた各分散情報に対応した署名、集約署名、および分散情報を連結することにより、ｎ個の連結分散情報（Ｓ１‖σ１‖σ），（Ｓ２‖σ２‖σ），・・・，（Ｓｎ‖σｎ‖σ）を生成する。
【００３０】
尚、分散情報生成手段２２２と分散情報復元手段２５４においては、［特開２００７−１２４０３２］、［特開２００９−３７０９４］［特開２００９−４２３０７］などに開示された、乱数と排他的論理和演算を用いた高速閾値秘密分散法により、秘密情報の分散処理、元の秘密情報を復元する処理を実行することが可能であるものとする。
【００３１】
分散情報送信部２３は、分散情報連結手段２２６により生成されたｎ個の連結分散情報を取得するとともに、対応する各分散情報保有装置３（３−１〜３−ｎ）に対して送信する。
【００３２】
分散情報受信部２４は、復元処理の実行（復元フェーズ）に際して分散情報保有装置３（３−１，・・・，３−ｎ）それぞれから送り込まれた復元用分散情報（Ｓｋ‖σｋ）を取得する。
ここで、分散情報受信部２４は、分散情報保有装置それぞれから送り込まれた復元用分散情報（Ｓｋ‖σｋ）の数が、予め設定されたｋ個以上ｎ以下であるか否かを判定してもよい。尚、ｋは、２以上ｎ以下（２≦ｋ≦ｎ）を示すものとする。
【００３３】
分散情報復元部２５は、図４に示すように、分散情報生成部２２で生成された公開鍵、および分散情報のハッシュ値を取得する公開情報取得手段２５１と、分散情報受信部２４で受信される分散情報の署名を取得する署名取得手段２５２と、公開情報取得手段２５１で取得した公開鍵および分散情報のハッシュ値と、署名取得手段２５２で取得した「署名」を検証する署名検証手段２５３と、分散情報保有装置３から取得した分散情報（復元用分散情報）に基づき秘密情報の復元処理を行う分散情報復元手段２５４を備えている。
【００３４】
分散情報保有装置３（３−１、３−２、・・・、３−ｎ）はそれぞれ同等の内部構成を有する。以下、分散情報保有装置３−１〜３−ｎのいずれかのひとつを分散情報保有装置３−ｉとし、その内部構成について説明する。
【００３５】
分散情報保有装置３−ｉは、図５に示すように、分散情報装置２から通信回線を介して送り込まれた分散情報（連結分散情報（Ｓ１‖σ１‖σａ））と、他の分散情報保有装置（つまり、３−ｉ以外の分散情報保有装置３）それぞれから分散情報（送信済み分散情報）を取得する分散情報受信部３４と、分散情報受信部３４で受信した分散情報の検証処理を行う分散情報検証部３１と、分散情報検証部３１で検証処理がなされた、自己分散情報保有装置に対応する分散情報を格納する分散情報格納部３２と、分散情報装置２からの要求に応じて分散情報格納部３２に格納された分散情報を分散情報装置２に対して送信する分散情報送信部３３を備えている。
尚、上記送信済み分散情報は、分散情報装置２から各分散情報保有装置（３−１〜３−ｎ）に対して送信され、分散情報受信部で一時的に保持されている分散情報を示す。
【００３６】
また、分散情報検証部３１は、分散情報装置２（分散情報送信部２３）から分散情報受信部３４に送り込まれた分散情報（連結分散情報（Ｓ１‖σ１‖σａ））を取得する第一の署名取得手段３１１と、分散情報受信部３４に対して他の分散情報保有装置（３−２〜３−ｎ：自己以外の分散情報保有装置３−ｊ）それぞれから送り込まれた分散情報を取得する第二の署名取得手段３１２と、第一の署名取得手段３１１で取得された連結分散情報から抽出した署名（σｊ）と、第二の署名取得手段３１２で取得した分散情報から抽出したｎ−１個の署名（σｉ）を集約して（分散情報保有側集約署名（σｂとする）を生成する集約署名生成手段３１３と、集約署名生成手段３１３が生成した集約署名（σｂ）の検証処理を行う集約署名検証手段３１４を備えている。
【００３７】
次に、分散情報検証部３１における検証フェーズに係る、本実施形態１における機能内容について、図６のブロック図に基づき詳説する。
【００３８】
分散情報検証部３１の第一の署名取得手段３１１は、分散情報装置２から送り込まれた連結分散情報（Ｓｉ‖σｉ‖σａ）から署名（σｉ）および集約署名（σａ）を抽出する。
第二の署名取得手段３１２は、各分散情報保有装置（３−１〜３−ｎ）のうちの自己以外の全ての分散情報保有装置３−ｊから署名（σｊ）を取得する。
【００３９】
集約署名生成手段３１３は、他の分散情報保有装置３−ｊから取得した署名（σｊ）を取得し、以下に示す（式２）に基づき、これらを集約化する計算を行い、集約署名（σｂ）を生成する。
【００４０】
【数２】
0005669204.tif 000003
【００４１】
集約署名検証手段３１４は、集約署名（σａ）と集約署名（σｂ）が等しいか否かを検証する。
ここで、検証式（σａ＝σｂ）が等しい場合に、集約署名検証手段３１４は、分散情報保有装置３−ｉに送り込まれた分散情報（Ｓｉ）は正当であると判定し、分散情報（Ｓｉ）を分散情報格納部３２に格納する。
【００４２】
次に、復元フェーズに係る本実施形態１における各構成の機能内容について、説明する。
【００４３】
分散情報復元部２５の署名取得手段２５２は、異なるｋ個の分散情報保有装置３それぞれから送り込まれたｋ個の分散情報（復元用分散情報）それぞれから署名（σｋ）を抽出する。
公開情報取得手段２５１は、分散情報生成部２２から、各復元用分散情報に対応するハッシュ値（ｈｋ）、および公開鍵（ｇ１，ｖｋ）を取得する。
【００４４】
署名検証手段２５３は、特殊な数学構造を持つ双線形写像(ペアリング)の性質を利用することにより、「乱数と排他的論理和演算を用いた高速閾値秘密分散法」により分散された分散情報の正当性を検証する処理を行う（分散情報検証機能）。ここで、分散情報の正当性とは、取得した分散情報が元の秘密情報（Ｓ）の分散した情報であることを示す。
【００４５】
署名検証手段２５３は、署名（σｋ）について対応するハッシュ値、公開鍵を用いて、以下に示す（式３）の検証式に基づき双線形性の有無判定を行う（双線形性判定機能）。
【００４６】
ｅ（ｇ１，σｋ）＝ｅ（ｖｋ，ｈｋ）・・・（式３）
【００４７】
ここで、双線形写像は、相互関係において特定の性質を満たす２つの入力に対して、1つの出力を算出する関数であり、以下に示す性質（１）〜（３）を満たす
写像ｅ：Ｇ１×Ｇ２⇒ＧＴ
を示す。
尚、素数位数ｐの有限巡回乗法群ＧＴ、素数位数ｐの有限巡回加法群（Ｇ１，Ｇ２）とする。また、Ｇ１，Ｇ２の生成元をそれぞれｇ１，ｇ２とする。
【００４８】
性質（１）：双線形性
任意のｕ∈Ｇ１，ｖ∈Ｇ２、およびａ，ｂ∈Ｚｐについて、以下に示す（式４）を満たす。
【数３】
0005669204.tif 000004
【００４９】
性質（２）：非退化性
【数４】
0005669204.tif 000005
【００５０】
性質（３）：計算可能性
任意のｕ∈Ｇ１，ｖ∈Ｇ２について、
ｅ（ｕ，ｖ）が効率的に計算可能であること。
【００５１】
署名検証手段２５３は、上記［検証式４］が成り立つ、つまり双線形性が有ると判定された場合に、装置３それぞれから送り込まれたｋ個の分散情報（Ｓｋ）は正当であると判定する。
【００５２】
分散情報復元部２５の分散情報復元手段２５４は、正当と判定された復元用分散情報が、予め設定されたｋ個以上ある場合にこれら復元用分散情報（Ｓｋ）から秘密情報を復元する処理を実行する。
【００５３】
以上のように、本実施形態１では、乱数と排他的論理和演算を用いた高速閾値秘密分散法により、秘密情報の分散および復元の高速演算ができ、更には、分散された分散情報の正当性検証を正確に行うことが可能となり、これにより、分散情報の書き換えや改ざん等を迅速に検知し得る、安全性の高い秘密分散法を実現することができる。
【００５４】
［実施形態１の動作説明］
次に、上記実施形態の全体的な動作内容について説明する。
【００５５】
各情報保持装置３（３−１〜３−ｎ）が他の情報保持装置３−ｊそれぞれから対応して保持する署名情報を取得し、この署名情報を集約化することにより集約署名情報Ｂを算出する（集約署名算出工程）。
次いで、情報保持装置３（３−１〜３−ｎ）は、分散装置２から予め送り込まれた集約署名情報Ａと算出した集約署名情報Ｂとが等しい場合に、分散装置２から送り込まれた分散情報を保持対象として格納する（分散情報判定保持工程）。
次に、分散装置２は、異なる情報保持装置３それぞれから保持対象として格納された各分散情報を取得し、この分散情報の数が一定数以上に達した場合に、各分散情報に対応する署名情報を含む予め設定された検証式に基づき双線形性の有無の判定を行う（双線形性検証判定工程）。
この判定で双線形性があると判定された場合に、各情報保持装置３から取得した分散情報に基づき秘密情報の復元処理を行う（復元処理工程）。
【００５６】
ここで、上記双線形性検証判定工程および復元処理工程については、その実行内容をプログラム化し、分散装置２の備えたコンピュータに実行させる構成としてもよい。
また、本プログラムは、非一時的な記録媒体、例えば、ＤＶＤ、ＣＤ、フラッシュメモリなどに記録されてもよい。その場合、本プログラムは、記録媒体からコンピュータによって読み出され、実行される。
【００５７】
次に、本実施形態１における動作内容について、具体的に説明する。
はじめに、本実施形態１における分散フェーズの動作について、図７のフローチャートに基づき説明する。この分散フェーズは、分散装置２が秘密情報（Ｓ）に基づき生成した分散情報を分散情報保持部３に対して送信することにより分散配置するまでを示す。
【００５８】
まず、クライアント端末１が分散装置２に対して秘密情報（Ｓ）を入力する（ステップＡ０１）。
分散装置２の秘密情報入力部２１がこれを取得し、分散情報生成部２２の分散情報生成手段２２２が、予め設定されたアルゴリズムに基づき、秘密情報（Ｓ）からｎ個の分散情報（Ｓ１，Ｓ２，・・・，Ｓｎ）を生成する（ステップＡ０２）。
【００５９】
次いで、鍵生成手段２２１が、各分散情報（Ｓ１，Ｓ２，・・・，Ｓｎ）に対応した、秘密鍵（ｘ１，ｘ２，・・・，ｘｎ）および公開鍵（ｖ１，ｖ２，・・・，ｖｎ）から成る、ｎ組のペア鍵を生成する（ステップＡ０３）。
ここで、上記ペア鍵は、秘密鍵（ｘ１，ｘ２，・・・，ｘｎ）と、公開鍵（ｖ１，ｖ２，・・・，ｖｎ）を含み、ｘ１とｖ１、ｘ２とｖ２、・・・、ｘｎとｖｎそれぞれがペアを形成しているものとする。
【００６０】
次に、ハッシュ値生成手段２２３が、ｎ個の分散情報（Ｓ１〜Ｓｎ）それぞれに対応するハッシュ値（ｈ１，ｈ２，・・・，ｈｎ）を生成する（ステップＡ０４）。各ハッシュ値（ｈ１＝Ｈ（Ｓ１），ｈ２＝Ｈ（Ｓ２），・・・，ｈｎ＝Ｈ（Ｓｎ））は、各分散情報およびハッシュ関数（Ｈ）に基づき算出されるものとする。
【００６１】
次いで、署名生成手段２２４は、ハッシュ値生成手段２２３から送り込まれたハッシュ値（ｈ１，ｈ２，・・・，ｈｎ）および鍵生成手段２２１から送り込まれた秘密鍵（ｘ１，ｘ２，・・・，ｘｎ）に基づき、ｎ個の分散情報（Ｓ１〜Ｓｎ）それぞれに対応するｎ個の「署名」（σ１，σ２，・・・，σｎ）を生成する（ステップＡ０５）。
【００６２】
ここで、署名生成手段２２４は、対応するハッシュ値（ｈ１，ｈ２，・・・，ｈｎ）および秘密鍵（ｘ１，ｘ２，・・・，ｘｎ）に基づき、σ１〜σｎの署名（σ１＝ｈ１ｘ１，σ２＝ｈ２ｘ２，・・・，σｎ＝ｈｎｘｎ）を生成する。
【００６３】
次に、集約署名生成手段２２５が、署名生成手段２２４から取得したｎ個の署名（σ１，・・・，σｎ）を集約化して、以下の（式１）に示す、集約署名（σ）を算出する（ステップＡ０６）。
【００６４】
【数５】
0005669204.tif 000006
【００６５】
また、分散情報連結手段２２６が、分散情報生成手段２２２から送り込まれた各分散情報に対応した署名、集約署名、および分散情報を連結することにより、ｎ個の連結分散情報（Ｓ１‖σ１‖σ），（Ｓ２‖σ２‖σ），・・・，（Ｓｎ‖σｎ‖σ）を生成する（ステップＡ０７）。
【００６６】
ここで、分散情報送信部２３が、分散情報連結手段２２６により生成されたｎ個の連結分散情報（（Ｓ１‖σ１‖σ），（Ｓ２‖σ２‖σ），・・・，（Ｓｎ‖σｎ‖σ））を取得するとともに、対応する各分散情報保有装置３−１〜３−ｎ（Ｕ１〜Ｕｎ）に対して送信する（ステップＡ０８）。
【００６７】
また、連結分散情報の送信を検知した分散情報生成部２２が、上記鍵生成手段２２１により生成された公開鍵（ｖ１、ｖ２，・・・，ｖｎ）、および各分散情報に対応した生成されたハッシュ値（ｈ１，ｈ２，・・・，ｈｎ）を、全ての分散情報保有装置３−１〜３−ｎ（Ｕ１〜Ｕｎ）に対して、アクセス可能に公開する設定を行う（ステップＡ０９：鍵情報公開設定機能）。
（分散フェーズ終了）
【００６８】
次に、本実施形態１における検証フェーズについて、図８のフローチャートに基づき説明する。この検証フェーズは、各分散情報保有装置３−１〜３−ｎ（以下「３−ｉ」という）が分散情報装置２から取得した分散情報について、他の分散情報保有装置から取得した分散情報に基づき、その正当性の検証を行うまでの動作内容を示す。
【００６９】
まず、分散情報検証部３１の第一の署名取得手段３１１が、分散情報装置２から送り込まれた連結分散情報を受信し（ステップＢ０１）、この連結分散情報（Ｓｉ‖σｉ‖σ）から署名（σｉ）および集約署名（σ）を抽出する（ステップＢ０２）。尚、ここで抽出された集約署名を集約署名（σａ）とする。
【００７０】
次いで、第二の署名取得手段３１２が、各分散情報保有装置（３−１〜３−ｎ）のうちの自己以外の分散情報保有装置３−ｊから署名（σｊ）を取得する（ステップＢ０３）。
【００７１】
次いで、集約署名生成手段３１３が、取得された署名（σｊ）を、以下に示す（式２）に基づき、集約化する計算を行うことにより、集約署名（σｂ）を生成する（ステップＢ０４）。
【００７２】
【数６】
0005669204.tif 000007
【００７３】
集約署名検証手段３１４は、上記抽出された集約署名（σａ）と生成された集約署名（σｂ）が等しいか否かの検証を行う（ステップＢ０５）。
ここで、検証式が等しい（σａ＝σｂ）場合に、集約署名検証手段３１４は、分散情報保有装置３−ｉに送り込まれた分散情報（Ｓｉ）は正当であると判定し、分散情報（Ｓｉ）を分散情報格納部３２に格納する（ステップＢ０６：検証フェーズ終了）。
【００７４】
［復元フェーズ］
次に、本実施形態１における復元フェーズについて、図９のフローチャートに基づき説明する。この復元フェーズは、分散装置２が各分散情報保有装置３−１〜３−ｎのうちの任意のｋ台の分散情報保有装置３（Ｕｋ）から送り込まれた分散情報に基づき秘密情報（Ｓ）を復元するまでの動作内容を示す。
【００７５】
まず、分散情報受信部２４が、異なるｋ個の分散情報保有装置３（Ｕｋ）から送り込まれたｋ個の分散情報（復元用分散情報）を受信する（ステップＣ０１）。
次いで、分散情報復元部２５の署名取得手段２５２が、ｋ個の分散情報（復元用分散情報）それぞれから署名（σｋ）を抽出する（ステップＣ０２）。
【００７６】
また、公開情報取得手段２５１が、分散情報生成部２２から、各復元用分散情報に対応するハッシュ値（ｈｋ）、および公開鍵（ｇ１，ｖｋ）を取得する（ステップＣ０３）。
【００７７】
次いで、署名検証手段２５３が、分散情報の正当性を検証する処理を行う。署名検証手段２５３は、署名（σｋ）について、対応するハッシュ値（ｈｋ）、公開鍵（ｇ１，ｖｋ）を用いて、以下に示す（式３）の検証式に基づき双線形性の有無判定を行う（双線形性判定機能）。
【００７８】
ｅ（ｇ１，σｋ）＝ｅ（ｖｋ，ｈｋ）・・・（式３）
【００７９】
ここで、双線形写像は、相互関係において特定の性質を満たす２つの入力に対して、1つの出力を算出する関数であり、以下に示す性質（１）〜（３）を満たす、
写像ｅ：Ｇ１×Ｇ２⇒ＧＴ
を示す。
尚、素数位数ｐの有限巡回乗法群ＧＴ、素数位数ｐの有限巡回加法群（Ｇ１，Ｇ２）とする。また、Ｇ１，Ｇ２の生成元をそれぞれｇ１，ｇ２とする。
【００８０】
性質（１）：双線形性
任意のｕ∈Ｇ１，ｖ∈Ｇ２、およびａ，ｂ∈Ｚｐについて、以下に示す（式４）を満たす。
【数７】
0005669204.tif 000008
【００８１】
性質（２）：非退化性
【数８】
0005669204.tif 000009
【００８２】
性質（３）：計算可能性
任意のｕ∈Ｇ１，ｖ∈Ｇ２について、
ｅ（ｕ，ｖ）が効率的に計算可能であること。
【００８３】
ここで、ｋ個以上の正当な分散情報について、上記検証式が等しい、つまり双線形性があると判定された場合に、署名検証手段２５３がｋ個の分散情報（Ｓｋ）は正当であると判定する（ステップＣ０４）。
【００８４】
最後に、分散情報復元部２５の分散情報復元手段２５４が、正当と判定された復元用分散情報が、予め設定されたｋ個以上ある場合にこれら復元用分散情報（Ｓｋ）から秘密情報を復元する処理を実行し、これにより、元の秘密情報（Ｓ）が復元される。
【００８５】
以上のように、本実施形態１では、乱数と排他的論理和演算を用いた高速閾値秘密分散法により、秘密情報の分散および復元の高速演算ができ、このため、秘密情報の漏洩を有効に抑制しつつ、更に、分散情報の改ざん等を迅速に検知し得る、安全性の高い秘密分散法を実現することが可能となる。
【００８６】
［実施形態２］
次に、本発明に係る実施形態２について説明する。
この実施形態２では、図１０に示すように、分散情報保有装置３（３−１〜３−ｎ）それぞれにおける分散情報検証部３１の内部構成において、実施形態１における第二の署名取得手段３１２に代えて公開情報取得手段３１２２を備えた点と、集約署名生成手段３１３および集約署名検証手段３１４に代えて署名検証手段３１２３を備えた点が上述の実施形態１と相違する。
【００８７】
分散情報検証部３１におけるその他の内部構成については図６と同様であるため、これら同様の構成要素には同一の符号を付するものとする。
【００８８】
公開情報取得手段３１２２は、分散情報装置２に対してアクセスを行い、分散情報生成部２２で公開されている公開情報（ｇ１，ｖ１、ｖ２、・・・、ｖｎ）を取得すると共に、同様に公開されている分散情報に対応するハッシュ値（ｈ１，ｈ２，・・・，ｈｎ）を取得する。
【００８９】
署名検証手段３１２３は、公開情報取得手段３１２２により分散情報装置２から取得した公開情報、およびハッシュ値を用いて、以下に示す検証式（式５）に基づき、分散情報装置２から送り込まれた分散情報（Ｓｉ）が正当であるか否かの判定を行う。
【００９０】
【数９】
0005669204.tif 000010
また、署名検証手段３１２３は、式５の等号が成り立つ場合に、分散情報（Ｓｉ）が正当であると判定し、分散情報（Ｓｉ）を分散情報格納部３２に格納する。
【００９１】
これにより、各分散情報保有装置３は、他のｎ−１台の分散情報保有装置３それぞれから署名を取得することなく、分散情報の正当性を検証する処理を行うことが可能となる。
【００９２】
［実施形態２の動作の説明］
次に、本実施形態２における検証フェーズについて、図１１のフローチャートに基づき説明する。
尚、分散フェーズ、および復元フェーズについては、上述の実施形態１と同様に動作するものとする。
【００９３】
尚、この検証フェーズは、各分散情報保有装置３−１〜３−ｎ（以下「３−ｉ」という）が分散情報装置２から取得した分散情報について、その正当性の検証を行い、正当であると判定した分散情報を格納保存するまでの動作内容を示す。
【００９４】
まず、分散情報検証部３１の第一の署名取得手段３１１が、分散情報装置２から送り込まれた連結分散情報を受信し（ステップＢ１１）、この連結分散情報（Ｓｉ‖σｉ‖σａ）から署名（σｉ）および集約署名（σａ）を抽出する（ステップＢ１２）。
【００９５】
分散情報検証部３１の公開情報取得手段３１２２が、分散情報装置２に対してアクセスを行い、分散情報生成部２２で公開されている公開情報（ｇ１，ｖ１、ｖ２、・・・、ｖｎ）を取得する（ステップＢ１３）と共に、同様に公開されている分散情報に対応するハッシュ値（ｈ１，ｈ２，・・・，ｈｎ）を取得する（ステップＢ１４）。
【００９６】
次いで、分散情報検証部３１の署名検証手段３１２３が、上記取得された公開情報、ハッシュ値に基づき、以下に示す検証式（式５）の等号が成り立つか否かを判定する（ステップＢ１５）。
【数１０】
0005669204.tif 000011
ここで、式５の等号が成り立つ場合に、署名検証手段３１２３は分散情報（Ｓｉ）が正当であると判定し、分散情報（Ｓｉ）を分散情報格納部３２に格納する（ステップＢ１６）。
（検証フェーズ終了）
【００９７】
以上のように、上記実施形態２では、公開情報取得手段３１２２が、分散情報装置２に対してアクセスを行い、分散情報生成部２２で公開されている公開情報（ｇ１，ｖ１、ｖ２、・・・、ｖｎ）を取得し、これに基づき、署名検証手段３１２３が分散情報装置２から送り込まれた分散情報（Ｓｉ）の検証判定を実施することが可能となるため、分散情報保有装置（３−１〜３−ｎ）間におけるトラフィックの増大を抑制しつつ、更には、各分散情報保有装置（３−１〜３−ｎ）における分散情報の検証判定にかかる処理負荷を有効に軽減することが可能となる。
【００９８】
上述した実施形態については、その新規な技術的内容の要点をまとめると、以下のようになる。
尚、上記の実施形態の一部又は全部は、新規な技術として以下のようにまとめられるが、本発明は必ずしもこれに限定されるものではない。
【００９９】
（付記１）
秘密情報を乱数との排他的論理和演算により分割し異なる複数の分散情報を生成すると共に、前記各分散情報に対応した署名情報と当該署名情報を集約化した集約署名情報とを生成する分散装置と、前記分散装置から分配された前記分散情報、署名情報、および集約署名情報を取得する異なる複数の情報保持装置とを備えた分散情報管理システムであって、
前記各情報保持装置は、
前記署名情報を取得すると共に当該署名情報を集約化することにより集約署名情報Ｂを算出する集約署名算出部と、
前記分散装置から予め送り込まれた集約署名情報Ａと前記集約署名情報Ｂとが等しい場合に前記分散装置から送り込まれた分散情報が正当であると判定し保持する分散情報判定保持部とを有し、
前記分散装置は、
前記異なる情報保持装置それぞれから対応する各分散情報を取得すると共に取得した分散情報の数が一定数以上である場合に予め設定された検証式に基づき前記署名情報および分散情報における双線形性の有無の判定を行う双線形性検証判定部と、
前記判定で双線形性が有ると判定された場合に前記各情報保持装置から取得した分散情報に基づき前記秘密情報の復元処理を行う復元処理部とを備えたことを特徴とする分散情報管理システム。
【０１００】
（付記２）
付記１に記載の分散情報管理システムにおいて、
前記各情報保持装置は、前記集約署名情報Ｂ算出用の署名情報を他の情報保持装置それぞれから
取得する外部署名取得部を備えたことを特徴とする分散情報管理システム。
【０１０１】
（付記３）
付記１に記載の分散情報管理システムにおいて、
前記各情報保持装置は、前記分散装置内で公開設定された署名情報を前記集約署名情報Ｂ算出用の署名情報として取得する公開署名取得部を備えたことを特徴とする分散情報管理システム。
【０１０２】
（付記４）
付記１に記載の分散情報管理システムにおいて、
前記分散装置は、前記各分散情報に対応した鍵情報およびハッシュ値を生成する鍵情報生成部と、前記鍵情報およびハッシュ値を用いて前記署名情報を生成する署名情報生成部とを備え、前記検証式は前記鍵情報およびハッシュ値を含むことを特徴とした分散情報管理システム。
【０１０３】
（付記５）
秘密情報を乱数との排他的論理和演算により分割し異なる複数の分散情報を生成すると共に、前記各分散情報に対応した署名情報と当該署名情報を集約化した集約署名情報とを生成する分散装置と、前記分散装置から分配された保持する異なる複数の情報保持装置とを備えた分散情報管理システムにあって、前記分散情報の正当性を検証する分散情報管理方法であって、
前記各情報保持装置は、前記署名情報を取得し、この署名情報を集約化することにより集約署名情報Ｂを算出し、前記分散装置から予め送り込まれた集約署名情報Ａと前記集約署名情報Ｂとが等しい場合に、前記分散装置から送り込まれた分散情報を保持対象として決定し、
前記分散装置は、前記異なる情報保持装置それぞれから前記保持対象である各分散情報を取得し、この分散情報の数が一定数以上である場合に、前記署名情報を含む予め設定された検証式に基づき双線形性の有無の判定を行い、前記判定で双線形性があると判定された場合に、前記各情報保持装置から取得した分散情報に基づき前記秘密情報の復元処理を行うことを特徴としていた分散情報管理方法。
【０１０４】
（付記６）
秘密情報を乱数との排他的論理和演算により分割し異なる複数の分散情報を生成すると共に、前記各分散情報に対応した署名情報と当該署名情報を集約化した集約署名情報とを生成する分散装置と、前記分散装置から分配された分散情報を取得すると共に前記署名情報に基づき正当であることが検証された前記分配情報を保持する異なる複数の情報保持装置とを備えた分散情報管理システムにあって、前記秘密情報の復元用情報である前記分散情報の正当性を検証する分散情報管理プログラムであって、
前記異なる情報保持装置それぞれから前記保持対象である各分散情報を取得し、この分散情報の数が一定数以上である場合に前記署名情報を含む予め設定された検証式に基づき双線形性の有無の判定を行う双線形性検証判定機能と、
前記判定で双線形性があると判定された場合に、前記各情報保持装置から取得した分散情報に基づき前記秘密情報の復元処理を行う復元処理機能とを、前記分散装置の有するコンピュータに実現させることを特徴とした分散情報管理プログラム。
【産業上の利用可能性】
【０１０５】
本発明は、機密情報を記憶するストレージシステムに対して有効に適用することができる。
【符号の説明】
【０１０６】
１  クライアント端末
２  分散情報装置
３  分散情報保有装置
２１  秘密情報入力部
２２  分散情報生成部
２３  分散情報送信部
２４  分散情報受信部
２５  分散情報復元部
２６  秘密情報出力部
３１  分散情報検証部
３２  分散情報格納部
３３  分散情報送信部
３４  分散情報受信部
【図１】
0005669204.tif 000012
【図２】
0005669204.tif 000013
【図３】
0005669204.tif 000014
【図４】
0005669204.tif 000015
【図５】
0005669204.tif 000016
【図６】
0005669204.tif 000017
【図７】
0005669204.tif 000018
【図８】
0005669204.tif 000019
【図９】
0005669204.tif 000020
【図１０】
0005669204.tif 000021
【図１１】
0005669204.tif 000022