(57)【要約】【課題】相互検証を可能とする秘密情報分配システムを提供する。【解決手段】秘密情報分配装置１００は、分配の対象の秘密情報を装置２００、３００の数に合わせて複数の分配情報に分割し、各装置２００、３００に共通な分散情報と異なる分散情報との組み合わせから、各々の分配情報が復元可能となる複数の分散情報を生成し、かつ、その検証情報を生成して、各装置２００、３００に分配する。秘密情報検証装置２００、３００は、分配された分散情報の単独での検証と相互の検証を行い、分配された分散情報の組み合わせから各々分配情報を復元する。秘密情報照合装置４００は、各装置２００、３００の分配情報から秘密情報を復元し、正解の秘密情報と照合する。【選択図】図１
2005234069.tif 000002
【特許請求の範囲】
【請求項１】
分配の対象とする秘密情報を複数の秘密情報検証装置に分配する秘密情報分配装置であって、
分配の対象とする秘密情報の入力を受け付ける情報入力手段と、
入力された秘密情報を、分配する秘密情報検証装置の数に合わせて複数の分配情報に分割する情報分割手段と、
各秘密情報検証装置に分配する分配情報について、全ての秘密情報検証装置に対して共通な分散情報と、各秘密情報検証装置によって異なる分散情報との組み合わせから、分配する分配情報が復元可能となるように複数の分散情報を生成する分散情報生成手段と、
各分散情報の正当性を検証するために必要な数の検証情報を生成する検証情報生成手段と、
各秘密情報検証装置に、全ての秘密情報検証装置に対して共通な分散情報と各秘密情報検証装置によって異なる分散情報と検証情報とをそれぞれ分配する分散情報配布手段と、
を備えることを特徴とする秘密情報分配装置。
【請求項２】
分配の対象とする秘密情報を二つの秘密情報検証装置に分配する請求項１に記載の秘密情報分配装置であって、
情報分割手段は、入力された秘密情報を、第一の秘密情報検証装置にのみ分配する第一の分配情報と、第二の秘密情報検証装置にのみ分配する第二の分配情報とに分割し、
分散情報生成手段は、第一の分散情報と第三の分散情報の組み合わせから第一の分配情報が、第二の分散情報と第三の分散情報の組み合わせから第二の分配情報が復元可能となるように、第一および第二の分配情報を元にして、第一、第二、第三の分散情報を生成し、
検証情報生成手段は、第一、第二、第三の各分散情報の正当性を検証するための検証情報を生成し、
分散情報配布手段は、生成した第一、第三の分散情報と検証情報を第一の秘密情報検証装置に、生成した第二、第三の分散情報と検証情報を第二の秘密情報検証装置に、それぞれ分配することを特徴とする秘密情報分配装置。
【請求項３】
請求項１もしくは２に記載の秘密情報分配装置より分配された分散情報と検証情報から分散情報を検証し、検証の対象とする分配情報を復元する秘密情報検証装置であって、
秘密情報分配装置から分配された分散情報および検証情報を受け取る分配情報取得手段と、
受け取った分散情報を検証情報に従って検証する単独検証手段と、
各秘密情報検証装置に分配された分散情報の検証を他の秘密情報検証装置との間で相互に行う相互検証手段と、
受け取った分散情報の組み合わせから分配情報を復元する情報復元手段と、
受け取った分散情報および検証情報、および復元した分配情報を記憶する情報記憶手段と、
を備えることを特徴とする秘密情報検証装置。
【請求項４】
請求項３に記載の秘密情報検証装置において復元された分配情報の照合を行う秘密情報照合装置であって、
予め定められた秘密情報を入力として受け付ける秘密情報入力手段と、
入力された秘密情報を記憶する秘密情報記憶手段と、
各秘密情報検証装置において復元された分配情報を照合のための情報として入力を受け付ける照合情報入力手段と、
各秘密情報検証装置から受け取った分配情報を組み合わせて秘密情報を復元する秘密情報復元手段と、
復元した秘密情報と記憶した秘密情報とを照合する秘密情報照合手段と、
照合結果を各秘密情報検証装置に通知する照合結果通知手段と、
を備える事を特徴とする秘密情報照合装置。
【請求項５】
請求項４に記載の秘密情報照合装置であって、
照合情報入力手段は、分配情報のかわりに各秘密情報検証装置に分配された分散情報を照合のための情報として入力を受け付け、
秘密情報復元手段は、各秘密情報検証装置から受け取った分散情報を元に秘密情報を復元する事を特徴とする秘密情報照合装置。
【請求項６】
秘密情報分配装置、秘密情報検証装置および秘密情報照合装置からなる秘密情報分配システムであって、
秘密情報分配装置は、分配の対象とする秘密情報の入力を受け付ける情報入力手段と、入力された秘密情報を、分配する秘密情報検証装置の数に合わせて複数の分配情報に分割する情報分割手段と、各秘密情報検証装置に分配する分配情報について、全ての秘密情報検証装置に対して共通な分散情報と、各秘密情報検証装置によって異なる分散情報との組み合わせから、分配する分配情報が復元可能となるように複数の分散情報を生成する分散情報生成手段と、各分散情報の正当性を検証するために必要な数の検証情報を生成する検証情報生成手段と、各秘密情報検証装置に、全ての秘密情報検証装置に対して共通な分散情報と各秘密情報検証装置によって異なる分散情報と検証情報とをそれぞれ分配する分散情報配布手段とを備え、
秘密情報検証装置は、秘密情報分配装置から分配された分散情報および検証情報を受け取る分配情報取得手段と、受け取った分散情報を検証情報に従って検証する単独検証手段と、各秘密情報検証装置に、分配された分散情報の検証を他の秘密情報検証装置との間で相互に行う相互検証手段と、受け取った分散情報の組み合わせから分配情報を復元する情報復元手段と、受け取った分散情報および検証情報、および復元した分配情報を記憶する情報記憶手段とを備え、秘密情報照合装置は、所定の秘密情報を入力として受け付ける秘密情報入力手段と、入力された秘密情報を記憶する秘密情報記憶手段と、各秘密情報検証装置の記憶する分配情報あるいは分散情報を照合のための情報として入力を受け付ける照合情報入力手段と、分配情報あるいは分散情報を組み合わせて秘密情報を復元する秘密情報復元手段と、復元した秘密情報と記憶した秘密情報とを照合する秘密情報照合手段と、照合結果を各秘密情報検証装置に通知する照合結果通知手段とを備える、
ことを特徴とする秘密情報分配システム。
【請求項７】
請求項１もしくは２に記載の秘密情報分配装置における処理機能をコンピュータで実行させるためのプログラム。
【請求項８】
請求項３に記載の秘密情報検証装置における処理機能をコンピュータで実行させるためのプログラム。
【請求項９】
請求項４もしくは５に記載の秘密情報照合装置における処理機能をコンピュータで実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パスワードや鍵情報などの秘密情報を複数のデータベースなどに分散保管し、これらの内幾つか以上の分散された情報により元の秘密情報を復元可能とする秘密分散法を用いた情報保管技術に関し、特に秘密情報を分配された複数の管理者が相互に検証を可能とする技術に関する。
【背景技術】
【０００２】
パスワードや暗号鍵情報などの論理的な鍵、および一般的な鍵やＩＣカードなどの物理的な鍵により動作する機構において、一人の管理者が鍵を管理する事が望ましくない状況が多々存在する。例えば、管理者からの鍵の盗難による悪用や管理者自身による鍵の悪用などが考えられる。そこで、このような機構において、動作に必要な鍵として複数の異なる鍵を設ける事で、複数の管理者を設定して安全性を高める方法が用いられる。例えば、銀行の金庫や潜水艦における発射装置などは、複数の管理者がそれぞれ保有する鍵を、同時に使用する事で初めて動作が可能となる。このような方式をダブルキー方式と言う。ダブルキー方式は二個の異なる鍵などの物理的手段によるものだけではなく、例えば金庫の鍵のダイヤル番号や暗証番号における前半何桁かと後半何桁かを別個の秘密情報として二人の管理者が記憶するような、論理的手段による管理も示す（例えば、特許文献１参照）。
【０００３】
このような論理的手段によるダブルキー方式の場合、二人の管理者が相互に、相手の持つ秘密情報と自分の持つ秘密情報とが正しく組み合わさる事を確認するためには、秘密情報の設定者に各々が確認した上で確認できた事を表明し合うか、もしくは実際に秘密情報を持ち寄って組み合わせてみるしかない。しかしながら、前者の方法では、秘密情報の設定者が常に秘密情報の情報を管理しなければならず、すなわち、一人の上位管理者が両方の秘密情報を管理する必要があるため、ダブルキー方式として成立しない。また、後者の方法では、お互いが相手の持つ秘密情報を知ってしまうため、同様にグフルキー方式として成り立たなくなる。
【０００４】
【特許文献１】特開平７−１３９３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
前述した論理的なダブルキー方式のように、一つの秘密情報を二者に分配し、分配された情報を二者が持ち寄って初めて秘密情報が明らかとなるようなシステムを考えた場合、お互いの持つ分配された情報が別個に異なり、かつ、お互いに分配された情報を知ってしまうと元の秘密情報が復元できてしまうため、二者に分配された情報を組み合わせると正しく一つの秘密情報となる事を、二者が相互に検証し合う事は、従来の技術ではできなかった。
【０００６】
本発明は、上記の課題を鑑みてなされたもので、秘密情報の分配において、秘密情報を分配された複数の管理者が、お互いの有する分配された情報を知る事なく、また、お互いの有する分配された情報を組み合わせて元の秘密情報を復元する事なく、同じ秘密情報を構成する分配された情報を所有する事を相互に検証し合う事が可能な秘密情報分配装置、秘密情報検証装置、秘密情報照合装置、秘密情報分配システム及びプログラムを実現することを目的とする。
【課題を解決するための手段】
【０００７】
本発明では、本出願人が先に出願した特願２００３−３６６５３８号に記載の復元制御型秘密情報分散法を用いる。これは、基本的には、秘密情報Ｓについて、秘密情報Ｓの完全な復元に必要な分散情報の最低数である２以上の整数の閾値ｋ、閾値ｋに対して秘密情報Ｓの部分的な復元を許容する分散情報の不足数を決定する２以上ｋ以下の整数の分割数ｄと、秘密情報Ｓのｄ個の分割情報（分配情報）Ｓ０，Ｓ１，…，Ｓｄ−１などの秘密情報Ｓを分散するための条件を入力し、
最大の分割情報Ｓｔ（０≦ｔ≦ｄ−１）よりも大きな素数ｐと、素数ｐよりも小さく０でない（ｋ−ｄ個）の乱数ｒｉ（１≦１≦ｋ−ｄ）と、（ｋ（ｋ−１）／２）個の乱数ａｊ（１≦ｊ≦ｋ（ｋ−１）／２）を生成して、
ｆ（ｘ）＝Ｓ０＋Ｓ１（ｘ−ａ１）＋…＋Ｓｄ−１（ｘ−ａ（ｄ一１）（ｄ−２）／２＋１）（ｘ−ａ（ｄ−１）（ｄ−２）／２＋２）…（ｘ−ａ（ｄ−１）（ｄ−２）／２＋ｄ−１）＋ｒ１（ｘ−ａｄ（ｄ−１）／２＋１）（ｘ−ａｄ（ｄ−１）／２＋２）…（ｘ−ａｄ（ｄ−１）／２＋ｄ）＋…＋ｒｋ−ｄ（ｘ−ａ（ｋ−１）（ｋ−２）／２＋１）（ｘ−ａ（ｋ−１）（ｋ−２）／２＋２）…（ｘ−ａ（ｋ−１）（ｋ−２）／２＋ｋ−１）  mod  ｐ        （１）
の式で表現される秘密情報Ｓの分散関数ｆ（ｘ）を生成するものである。
【０００８】
この復元制御型秘密情報分散法は、従来の秘密情報分散技術である（ｋ，ｎ）閾値秘密分散法および（ｄ，ｋ，ｎ）閾値秘密分散法を拡張した方法で、ｎ個の分散情報の内、任意のｋ個の分散情報がそろえば、ｆ（ｘ）に関する連立方程式を解くことにより元の秘密情報Ｓを復元できるが、任意の（ｋ−ｄ）個までの分散情報がそろってもｆ（ｘ）に関する連立方程式を解くことはできないため、元の秘密情報Ｓは復元できないという特徴をもつ。ただし、情報を分散させる分散関数を特定の形式に規定することにより、任意の（ｋ−ｄ＋１）個から（ｋ−１）個までの分散情報が特定の組み合わせによりそろった場合にはｆ（ｘ）に関する連立方程式から特定の分割情報（分配情報）Ｓ０，Ｓ１，…，Ｓｄ−１を求めることができ、元の秘密情報Ｓを部分的に復元することができる。
【０００９】
なお、（ｋ，ｎ）閾値秘密分散法および（ｄ，ｋ，ｎ）閾値秘密分散法については、詳しくは、それそれ「Ａ．Ｓhamir，“Ｈow  to  Ｓhare  a  Ｓecret”，Ｃommun．of  ＡＣＭ，Ｖol．２２，Ｎo．１１，ｐｐ．６１２−６１３，１９７９」と「Ｇ．Ｒ．Ｂlakley，Ｃ．Ｍeadows，“Ｓecurity  of  ramp  schemes”，Ｐroc．of  Ｃrypto'８４，Ｌecure  Ｎotes  on  Ｃomput．Ｓci，１９６，pp２４２−２６８，１９８４」に述べられている。
【００１０】
上記式（１）の分散関数ｆ（ｘ）は、例えばｋ＝３、ｄ＝２とした場合、
ｆ（ｘ）＝Ｓ０＋Ｓ１（ｘ−ａ１）＋ｒ（ｘ−ａ２）（ｘ−ａ３）  mod  ｐ  （２）
で表現され、任意の２個の分散情報ＷｘとＷｘ＋ｂ（ｘ＞０、ｂ＞０）についての連立方程式は以下のような行列式で表現できる。
【数１】
2005234069.tif 000003
【００１１】
行列式の左項を掃き出し法により変形すると、
【数２】
2005234069.tif 000004
となり、ａｌ，ａ２，ａ３の値によっては−ｘ２＋（２ａ１−ｂ）＋ａ１ｂ−ａ１ａ２−ａ１ａ３＋ａ２ａ３＝０，もしくは２ｘ＋ｂ−ａ２−ａ３＝０を満たすｘとｂがある場合に、連立方程式から分割情報（部分情報）のＳ０のみ、もしくはＳ１のみを求めることができる。
【００１２】
請求項１に記載の発明は、分配の対象とする秘密情報を複数の秘密情報検証装置に分配する秘密情報分配装置であって、分配の対象とする秘密情報の入力を受け付ける情報入力手段と、入力された秘密情報を、分配する秘密情報検証装置の数に合わせて複数の分配情報に分割する情報分割手段と、上記特願２００３−３６６５３８の記載の復元制御型秘密情報分散法を用いて、各秘密情報検証装置に分配する分配情報について、全ての秘密情報検証装置に対して共通な分散情報と、各秘密情報検証装置によって異なる分散情報との組み合わせから、分配する分配情報が復元可能となるように複数の分散情報を生成する分散情報生成手段と、各分散情報の正当性を検証するために必要な数の検証情報を生成する検証情報生成手段と、各秘密情報検証装置に、全ての秘密情報検証装置に対して共通な分散情報と各秘密情報検証装置によって異なる分散情報と検証情報とをそれぞれ分配する分散情報配布手段とを備えることを特徴とする。
【００１３】
請求項２に記載の発明は、請求項１に記載の秘密情報分配装置において、特に分配の対象とする秘密情報を二つの秘密情報検証装置に分配する場合、情報分割手段は、入力された秘密情報を、第一の秘密情報検証装置にのみ分配する第一の分配情報と、第二の秘密情報検証装置にのみ分配する第二の分配情報とに分割し、分散情報生成手段は、第一の分散情報と第三の分散情報の組み合わせから第一の分配情報が、第二の分散情報と第三の分散情報の組み合わせから第二の分配情報が復元可能となるように、第一および第二の分配情報を元にして、第一、第二、第三の分散情報を生成し、検証情報生成手段は、第一、第二、第三の各分散情報の正当性を検証するための検証情報を生成し、分散情報配布手段は、生成した第一、第三の分散情報と検証情報を第一の秘密情報検証装置に、生成した第二、第三の分散情報と検証情報を第二の秘密情報検証装置に、それぞれ分配することを特徴とする。
【００１４】
請求項１および２に記載の秘密情報分配装置により、秘密情報の分配者は、秘密情報を分配する際に、各分配情報が組み合わさって元の秘密情報が復元できる事が相互に検証可能であるように、２個ないしは３個以上の異なる分配情報として分配する事が可能となる。また、各分配情報は、単独では分配情報の内容が分からず、組み合わせて初めて分配情報が復元可能となる複数の分散情報と、分散情報の正当性を検証するための検証情報の形で配布されるため、分配情報が他に漏れる事のないように安全に分配する事が可能となる。
【００１５】
請求項３に記載の発明は、請求項１および２に記載の秘密情報分配装置より分配された分散情報と検証情報から分散情報を検証し、対象とする分配情報を復元する秘密情報検証装置であって、秘密情報分配装置から分配された分散情報および検証情報を受け取る分配情報取得手段と、受け取った分散情報を検証情報に従って検証する単独検証手段と、各秘密情報検証装置に分配された共通の分散情報の検証を他の秘密情報検証装置との間で相互に行う相互検証手段と、受け取った分散情報の組み合わせから分配情報を復元する情報復元手段と、受け取った分散情報および検証情報、および復元した分配情報を記憶する情報記憶手段とを備える事を特徴とする。
【００１６】
請求項３に記載の秘密情報検証装置により、秘密情報の被分配者は、受け取った分散情報と検証情報を元にして秘密情報を構成する分配情報の復元および検証が可能であり、かつ複数の被分配者問でお互いの持つ分配情報を相互に検証し合う事が可能となる。したがって、お互いの持つ分配情報を相互に公開し合う事なく、分配情報の組み合わせから秘密情報が復元される事を検証する事が可能となる。
【００１７】
請求項４に記載の発明は、請求項３に記載の秘密情報検証装置において復元された分配情報の照合を行う秘密情報照合装置であって、予め定められた秘密情報を入力として受け付ける秘密情報入力手段と、入力された秘密情報を記憶する秘密情報記憶手段と、各秘密情報検証装置において復元された分配情報を照合のための情報として入力を受け付ける照合情報入力手段と、各秘密情報検証装置から受け取った分配情報を組み合わせて秘密情報を復元する秘密情報復元手段と、復元した秘密情報と記憶した秘密情報とを照合する秘密情報照合手段と、照合結果を各秘密情報検証装置に通知する照合結果通知手段とを備えることを特徴とする。
【００１８】
また、請求項５に記載の発明は、請求項４に記載の秘密情報照合装置であって、照合情報入力手段は、分散情報のかわりに各秘密情報検証装置に分配された分散情報を照合のための情報として入力を受け付け、秘密情報復元手段は、各秘密情報照合装置から受け取った分散情報を元に秘密情報を復元する事を特徴とする。
【００１９】
請求項４および５に記載の秘密情報照合装置により、秘密情報の照合者は、複数の秘密情報の被分配者が所有する分配情報あるいは分散情報を元に秘密情報を復元し、照合することが可能となる。
【００２０】
請求項６に記載の発明は、請求項１乃至５に記載の秘密情報分配装置、秘密情報検証装置及び秘密情報照合装置をネットワーク接続して、相互検証可能な秘密情報分配システムを構築することを特徴とする。
【発明の効果】
【００２１】
本発明によれば、秘密情報分配装置において秘密情報Ｓを複数の秘密情報照合装置に分配し、各秘密情報検証装置が分配情報の単独での検証と相互での検証を行う事により、各秘密情報検証装置が、分配された分配情報について、他の秘密情報検証装置に分配された分配情報と組み合わさって元の秘密情報が復元できる事を検証する事が可能であるように、秘密情報の分配を行う事が可能となる。これにより、分配された情報を二者が持ち寄って初めて秘密情報が明らかとなるようなダブルキー方式のシステムにおいて、秘密情報を分配された複数の管理者が、お互いの有する分配された情報を知る事なく、またお互いの有する分配された情報を組み合わせて元の秘密情報を復元する事なく、同じ秘密情報を構成する分配された情報を所有する事を相互に検証し合う事が可能とする。
【発明を実施するための最良の形態】
【００２２】
図１に、本発明の一実施の形態における秘密情報分配システムの全体構成図を示す。本秘密情報分配システムは、秘密情報分配装置１００、秘密情報検証装置２００および３００、秘密情報照合装置４００、及び、これらの装置をネットワーク的に接続する通信回線５００で構成されている。秘密情報分配装置１００は、分配の対象とする秘密情報の入力を受け付けて、入力された秘密情報を複数の分配情報に分割し、各々分配情報を復元可能とする複数の分散情報を生成すると共に、各分散情報の正当性を検証するための検証情報を生成し、該生成した分散情報を秘密情報検証装置２００、３００に分配する。秘密情報検証装置２００、３００は、分配された分散情報を検証情報に従って検証し、分散情報の組み合わせから分配情報を復元し、さらに、分散情報の検証をほかの秘密情報検証装置との間で相互に実施する。秘密情報検証装置２００、３００では、分散情報、検証情報及び復元した分配情報を記憶しておく。秘密情報照合装置４００は、照合の正解とする秘密情報の入力を受け付けて記憶し、秘密情報検証装置２００、３００から照合の対象とする分配情報あるいは分散情報を入力して秘密情報を照合し、照合結果を秘密情報検証装置２００、３００に通知する。
【実施例】
【００２３】
以下、秘密情報分配装置１００、秘密情報検証装置２００、３００、秘密情報照合装置４００の一実施例を詳述する。以下の実施例では、分配の対象とする秘密情報Ｓを２つの分配情報Ｓ１，Ｓ２に分割し、該分配情報Ｓ１，Ｓ２から３つの分散情報Ｗ１，Ｗ２，Ｗ３を生成するものとする。ここで、分散情報Ｗ１とＷ３の組み合わせから分配情報Ｓ１が復元可能とし、分配情報Ｗ２とＷ３の組み合わせから分散情報Ｓ２が復元可能とする。
【００２４】
＜秘密情報分配＞
図２に本発明の実施例における秘密情報分配装置１００の機能構成図を示す。秘密情報分配装置１００は、分配制御部１１０、情報入力部１２０、情報分割部１３０、分散情報生成部１４０、検証情報生成部１５０、情報通信部１６０から構成される。秘密情報分配装置１００は分配制御部１１０の制御にしたがって動作する。
【００２５】
図３に秘密情報分配装置１００における処理フロー図を示す。秘密情報分配装置１００は、分配の対象とする秘密情報Ｓの入力を受け付け（Ｓ１０）、秘密情報を分配情報に分割し（Ｓ１１）、各分配情報を元にして分散情報を生成し（Ｓ１２）、分散情報の正当性を示すための検証情報を生成し（Ｓ１３）、分散情報および検証情報を各秘密情報検証装置に配布する（Ｓ１４）。
【００２６】
図２において、情報入力部１２０は、秘密情報Ｓとして秘密情報の設定者が設定した秘密情報の入力を受け付ける。受け付けた秘密情報は例えば内部メモリなどに一時的に記録するのが望ましい。本実施例では、秘密情報Ｓとして６桁の文字列“秘密情報の例”が入力されたものとする。
【００２７】
なお、本発明は情報入力部１２０において秘密情報Ｓとして入力を受け付ける情報の種類や内容を特に規定するものではない。数値情報、文字列など符号化する事で分散関数による演算が可能であればどのような情報でも良く、また文書や画像データなどのマルチメディアデータなどを対象としても良い。また、本実施例は情報の入力の方法および形式を規定するものではない。キーボード入力やファイル入力の他に、インターネットなどの接続回線を介して他の装置から入力するようにしても構わない。
【００２８】
情報分割部１３０は、秘密情報Ｓを符号化し、分配情報Ｓ１とＳ２に分割する。符号化、分割した分配情報Ｓ１、Ｓ２は例えば内部メモリなどに一時的に記憶する。この時、元の秘密情報Ｓ自体は内部メモリから消去する事が望ましい。
【００２９】
本実施例では、秘密情報Ｓが“秘密情報の例”である事から、各秘密情報検証装置２００、３００に分配する分配情報Ｓ１，Ｓ２を“秘密情”と“報の例”とする。秘密情報Ｓの“秘密情報の例”をシフトＪIＳコードにより符号化し、２４桁の１６進文字列「94E996A78FEE95F182CC97E1」を得る。情報分割部１３０は、これを２つに分割し、分配情報Ｓ１として１２桁の１６進文字列「94E996A78FEE」、分配情報Ｓ２として１２桁の１６進文字列「95F182CC97E1」を得る。ここで、分配情報Ｓ１，Ｓ２はそれぞれ“秘密情”と“報の例”を符号化したものである。
【００３０】
なお、本実施例は入力された秘密情報から分配情報への分割の方法を特に規定するものではない。本実施例では入力文字列を符号化した２４桁の前半１２桁と後半１２桁のように長さを単位として分割したが、意味的な区切りにより分割したり、入力文字列を細かく分解した後にその組み合わせにより分割するようにしても良い。また、本実施例は各情報の符号化の方法および符号化した結果を特に規定するものではない。本実施例では単に入力情報のシフトＪＩＳコード化による１６進表現を符号化の方法とし、符号化の結果を１６進文字列としたが、他のコード表や独自のコード、符号化の方法を使って符号化しても良いし、符号化の結果として１６進文字列に限定せず、０と１によるビット列、１０進表記を使っても構わない。さらに、符号化した結果をさらに暗号化する事で情報の安全性を高める事も考えられる。
【００３１】
分散情報生成部１４０は、先の式（２）に示した分散関数ｆ（ｘ）を使って分配情報Ｓ１およびＳ２から、秘密情報検証装置２００および３００に分配するための３つの分散情報Ｗ１、Ｗ２、Ｗ３を生成する。本実施例における分散関数f（ｘ）は、次の式（３）で表現されるとする。
【００３２】
ｆ（ｘ）＝Ｓ１＋Ｓ２（ｘ−7）＋Ｒ（ｘ−1）（ｘ−５）  （modＰ）    （３）
この式（３）は、先の式（２）において、Ｓ０＝Ｓ１，Ｓ１＝Ｓ２，ｒ＝Ｒと置き換え、また、ａ１＝７，ａ２＝１，ａ３＝５としたものである。式（３）におけるｘは分散情報Ｗを生成するための情報番号ｘ、ＲはＳ１およびＳ２と同程度のサイズの任意の乱数文字列、ＰはＳ１およびＳ２よりも大きな素数である固定文字列である。
【００３３】
上記分散関数ｆ（ｘ）はｘに２を代入して算出したf（２）をＷ１、ｘに３を代入して算出したf（３）をＷ２、ｘに４を代入して算出したf（４）をＷ３とした時に、Ｗ２とＷ３からＳ１が、Ｗ１とＷ３からＳ２がそれぞれ復元可能となるような秘密情報Ｓの分散関数である。また、個々の分散情報Ｗ１，Ｗ２，Ｗ３からは元となる分配情報Ｓ１，Ｓ２および乱数Ｒが全く分からない。このような特殊な分散関数ｆ（ｘ）は、先に出願した特願２００３−３６６５３８に記載の復元制御型秘密情報分散法により求める事ができ、本実施例に記載の式（３）に制限されない。
【００３４】
分散情報生成部１４０では、情報分割部１３０において符号化された分配情報Ｓ１、Ｓ２を受け取ると、まず、乱数文字列Ｒを生成する。乱数ＲはＳ１，Ｓ２と同程度のサイズの乱数文字列である事が望ましく、ここでは「1A2B3C4D5E6F」を得たものとする。乱数Ｒは秘密情報の入力の都度生成するものとし、よって入力毎に異なる。固定文字列Ｐは、Ｓ１およびＳ２よりも大きな素数である固定文字列であって、なおかつ固定文字列Ｑを２Ｐ＋１とした時にＱもまた素数であるような固定文字列でなければならない。本実施例においては、分配情報Ｓ１、Ｓ２の桁数が１２桁である事から６バイトの１６進文字列「FFFFFFFFFAB5」を用いる。この時、固定文字列Ｑは１６進文字列「1FFFFFFFFF56B」となる。なお、固定文字列Ｐのサイズに関しては、想定される分配情報Ｓ１およびＳ２のサイズよりも大きいものとし、例えば情報入力部１００において入力を受け付ける文字数を制限して、その制限値からサイズを算出して特定するようにしても良い。
【００３５】
次に、分散情報生成部１４０では、式（３）の分散関数f（ｘ）に従って、分配情報Ｓ１、Ｓ２および生成した乱数文字列Ｒと所定の情報番号ｘから分散情報Ｗ１，Ｗ２，Ｗ３を演算する。ここで、本実施例における分散関数ｆ（ｘ）の特性から本実施例における所定の情報番号ｘは２、３、４であるものとし、分散情報Ｗ１＝f（２）、Ｗ２＝ｆ（３）、Ｗ３＝ｆ（４）により算出されるものとする。
【００３６】
本実施例においては、Ｓ１＝94E996A78FEE、Ｓ２＝95F182CC97El、Ｒ＝1A2B3C4D5E6Fを代入し、情報番号ｘとして２を代入して、分散情報Ｗ１を算出する。
Ｗ１＝ｆ(2)＝94E996A78FEE＋95F182CC97E1×(2-7)＋1A2B3C4D5E6F）×(2-1)×(2-5)
＝58B053C06D5B（modFFFFFFFFFAB5）
このように、本実施例では、分配情報Ｓ１，Ｓ２から生成した分散情報Ｗ1としてＷ１＝f（２）＝5858B053CO6D5Bを得る。以下、同様にして、情報番号ｘとして３、４を代入して分散情報Ｗ２＝D4769A3FA6CD、Ｗ３＝84935959A268をそれぞれ得る。
【００３７】
分散情報生成部１４０においては、上記の演算の過程および演算の結果得られる分散情報Ｗは一時的に例えば内部メモリなどに記憶するものとする。本実施例における分散情報の計算例を図４に示す。
【００３８】
なお、分散関数ｆ（ｘ）および固定文字列Ｐ、Ｑについては、秘密情報分配装置１００だけでなく、秘密情報検証装置２００および３００、秘密情報照合装置４００においても共通に使用する必要がある。これらの情報を各装置問で共有する手段については本発明で規定するものではないが、例えばこれらの情報を記憶したICカードなどの記録媒体を共通に使用したり、また各装置に固有の秘密鍵情報などによって暗号化したこれらの情報を送信したりなどの手段が考えられる。また、これらの情報を常に固定の情報として、各装置内の固定メモリなどに作り込んでしまっても構わない。
【００３９】
検証情報生成部１５０は、分散情報Ｗ１，Ｗ２，Ｗ３の正当性を検証するための検証情報Ｐ１，Ｐ２，Ｐ３を生成する。本実施例において、式（３）の分散関数ｆ（ｘ）は次のように変形できる。
ｆ（ｘ）＝Ｓ１−７Ｓ２＋５Ｒ＋（Ｓ２−６Ｒ）ｘ＋Ｒｘ２  （mod  Ｐ）（４）
【００４０】
したがって、まず分散関数ｆ（ｘ）を構成する構成情報Ｔ１，Ｔ２，Ｔ３を、それぞれ（moｄ  Ｐ）の下で、Ｔ１＝Ｓ１−７Ｓ２＋５Ｒ，Ｔ２＝Ｓ２−６Ｒ，Ｔ３＝Ｒとして算出する。例えば、Ｔ１は次のように算出する。
Ｔ１＝94E996A78FEE−7×95F182CC97E1＋5×1A2B3C4D5E6F）
＝FE2730922BC6（mod  FFFFFFFFFAB5）
以下、同様にして、本実施例では、構成情報としてＴ１＝FE2730922BC6，Ｔ２＝F8EE18FC5BFC，Ｔ３＝1A2B3C4D5E6Fを得る。
【００４１】
次に、検証情報Ｐ１，Ｐ２，Ｐ３を、それぞれ（mod  Ｑ）の下で、Ｐ１＝Ｇ＾Ｔ１，Ｐ２＝Ｇ＾Ｔ２，Ｐ３＝Ｇ＾Ｔ３として算出する。ここで、「＾」はべき剰の意味である。本例においては、Ｇ＝３として、Ｐ１＝３＾FE2730922BC6＝1E36D870E526A，Ｐ２＝３＾F8EE18FC5BFC＝1FB8D8C8F9558E，Ｐ３＝３＾1A2B3C4D5E6F＝09D39EE568979となる。
【００４２】
以上のようにして算出した検証情報Ｐ１，Ｐ２，Ｐ３は、分散情報生成部１４０において生成した分散情報Ｗ１，Ｗ２，Ｗ３に対して、Ｇ＾Ｗ１＝Ｐ１×Ｐ２＾２×Ｐ３＾４（mod  Ｑ），Ｇ＾Ｗ２＝Ｐ１×Ｐ２＾３×Ｐ３＾９（mod  Ｑ），Ｇ＾Ｗ３＝Ｐ１×Ｐ２＾４×Ｐ３＾１６（mod  Ｑ）を満たすため、各分散情報Ｗ１，Ｗ２，Ｗ３が分配情報Ｓ１，Ｓ２および乱数Ｒから正しく生成された事、すなわち分散情報Ｗ１，Ｗ２，Ｗ３の正当性が検証情報Ｐ１，Ｐ２，Ｐ３を用いて検証可能であり、かつ各検証情報Ｐ１，Ｐ２，Ｐ３からは構成情報Ｔ１，Ｔ２，Ｔ３およびその元となる分配情報Ｓ１，Ｓ２および乱数Ｒは全く分からない。このような分散情報Ｗと検証情報Ｐの関係を検証可秘密分散法と言う。検証可秘密分散法について、詳しくは、ＦelDman，Ｐ．“Ａ  Ｐractical  Ｓcheme  for  Ｎoninteractive  Ｖerifiable  Ｓecret  ＳharinGｇ”，Ｐroc．of  FOCＳ’８７，ＰＰ．４２７−４３７（１９８７）に述べられており、また、尾形わかは、黒沢馨、“秘密分散共有法とその応用”，電子情報通信学会誌Vol．８２、No．１２pp．１２２８−１２３６，１９９９年１２月に簡単な概要が述べられている。
【００４３】
検証情報生成部１５０においては、上記の演算の過程および演算の結果得られる検証情報Ｐ１，Ｐ２，Ｐ３は一時的に例えば内部メモリなどに記憶する。本実施例における検証情報の計算例を図５に示す。なお、分散情報Ｗ１，Ｗ２，Ｗ３および検証情報Ｐ１，Ｐ２，Ｐ３を生成した後は、秘密情報Ｓ、分配情報Ｓ１，Ｓ２，Ｓ３および乱数文字列Ｒの漏洩を妨ぐために、各値を内部メモリなどから破棄する事が望ましい。
【００４４】
情報通信部１６０は、上記生成された分散情報Ｗ１，Ｗ２，Ｗ３及び検証情報Ｐ１，Ｐ２，Ｐ３のうち、分散情報Ｗ２，Ｗ３および検証情報Ｐ１，Ｐ２，Ｐ３を秘密情報検証装置２００に、分散情報Ｗ１，Ｗ３および検証情報Ｐ１，Ｐ２，Ｐ３を秘密情報検証装置３００に、それぞれ通信回線５００を介して送信する。分散情報Ｗ１，Ｗ２，Ｗ３および検証情報Ｐ１，Ｐ２，Ｐ３を送信した後は、これら分散情報および検証情報の漏洩を防ぐために、各値を内部メモリなどから破棄する事が望ましい。
【００４５】
本実施例は、情報通信部１６０における分散情報および検証情報の送信のためのプロトコルやそのフォーマットを特に規定するものではない。送信する際に分散情報および検証情報をさらに暗号化したり、相手側の秘密情報検証装置２００ないし３００との間で認証を行うなどして、通信回線５００における盗聴に対する安全性を高める事が望ましい。
【００４６】
なお、本実施例では分散情報生成部１４０において全ての分散情報Ｗ１，Ｗ２，Ｗ３を生成し、検証情報生成部１５０において全ての検証情報Ｐ１，Ｐ２，Ｐ３を生成した後に、情報通信部１６０が各秘密情報検証装置２００、３００に送信するものとして記述しているが、分散情報生成部１４０、検証情報生成部１５０と情報通信部１６０が連動して、分散情報あるいは検証情報を１つ生成する度に、情報通信部１６０が該当する秘密情報検証装置２００３あるいは３００に送信するようにしても良い。
【００４７】
＜秘密情報検証＞
以下では、秘密情報検証装置２００における検証動作を説明するが、秘密情報検証装置３００の動作も同様である。
図６に本発明の実施例における秘密情報検証装置２００の機能構成図を示す。秘密情報検証装置２００は、検証制御部２１０、情報通信部２２０、単独検証部２３０、相互検証部２４０、情報復元部２５０、情報記憶部２６０から構成される。秘密情報検証装置２００は、検証制御部２１０の制御もとに動作する。
【００４８】
図７に秘密情報検証装置２００における処理フロー図を示す。秘密情報検証装置２００は、秘密情報分配装置１００から送信された分散情報および検証情報を取得し（Ｓ２０）、検証情報を用いて分散情報の正当性を単独で検証し（Ｓ２１）、また、共通の分散情報を所有する事を他の秘密情報検証装置２００と相互に検証して（Ｓ２２）、分散情報を元に分配情報を復元し（Ｓ２３）、復元した分配情報を記憶する（Ｓ２４）。
【００４９】
図６において、情報通信部２２０は、秘密情報分配装置１００から送信された分散情報Ｗ２，Ｗ３および検証情報Ｐ１，Ｐ２，Ｐ３を受信し、情報記憶部２６０に記憶する。本実施例においては、分散情報Ｗ２，Ｗ３および検証情報Ｐ１，Ｐ２，Ｐ３として、Ｗ２＝D4769A3FA6CD、Ｗ３＝84935959A268、Ｐ１＝1E36D870E526A、Ｐ２＝1FB8D8C8F958E、Ｐ３＝09D39EE568979を得る。
【００５０】
単独検証部２３０は、検証情報Ｐ１，Ｐ２，Ｐ３を用いて分散情報Ｗ２、Ｗ３の正当性を単独検証する。検証情報Ｐ１，Ｐ２，Ｐ３から計算する分散情報Ｗ２に関する検証値をＰＰ２とおいて、ＰＰ２＝Ｐ１×Ｐ２＾３×Ｐ３＾９（mod  Ｑ）、分散情報Ｗ２から計算する検証値をＰＷ２とおいて、ＰＷ２＝３＾Ｗ２（mod  Ｑ）を計算すると、分散情報Ｗ２が元の分配情報Ｓ１，Ｓ２および乱数Ｒから生成されている場合には、ＰＰ２＝ＰＷ２が成り立つ。同様にして、ＰＰ３＝Ｐ１×Ｐ２＾４×Ｐ３＾１６（mod  Ｑ）、ＰＷ３＝３＾Ｗ３（mod  Ｑ）を計算すると、分散情報Ｗ３がＳ１，Ｓ２及びＲから生成されている場合には、ＰＰ３＝ＰＷ３が成り立つ。これにより配布された分散情報Ｗ２，Ｗ３が正しく元の分配情報Ｓ１，Ｓ２すなわち秘密情報Ｓから生成されたものである事が検証できる。本実施例における単独検証の計算例を図８に示す。
【００５１】
次に、相互検証部２４０は、秘密情報検証装置３００と、共通の分散情報Ｗ３を所有する事を、共通の分散情報Ｗ３を公開する事なく、秘密情報検証装置３００との間で相互に検証する。本実施例では、検証の手段としてゼロ知識証明を用いるとする。ゼロ知識証明とは、同一の情報を所有している事をその情報自体を相手に公開する事なく相互に検証するための方法で、相手が同一の情報を所有していない場合には情報の内容については一切相手に漏れる事はない安全な方法である。ゼロ知識証明について、詳しくは、Ｇoldwasser，Ｓ．，Ｍicali，Ｓ．，Ａnd  Ｒackoff，Ｃ．“Ｔhe  Ｋnowledge  Ｃomplexity  of  Ｉnteractive  Ｐroof  Ｓystems”，Ｐroc．of  STOC，ＰＰ．２９１−３０４（１９８５）に述べられている。
【００５２】
相互検証部２４０における共通の分散情報Ｗ３の相互検証を具体例を元に説明する。秘密情報検証装置２００および３００における相互検証の計算例を図９に示し、以下に説明する。
【００５３】
まず、秘密情報検証装置２００において、相互検証部２４０は、乱数ｒを生成し、相互検証情報ｘ≡ｒ＾２（mod  Ｎ）を計算し、情報通信部２２０を介して秘密情報検証装置３００に該相互検証情報ｘを送信する。ここで、Ｎは十分に大きい素数ｐ，ｑからなるＮ＝ｐｑである合成数であり、秘密情報検証装置２００および３００は共通にＮを有するとする。秘密情報検証装置３００は合成数Ｎが既知であっても、相互検証情報ｘから乱数ｒを算出する事はできない。図９では、Ｎ＝FFFFF6EOOO13D1（72057554846356433）として相互検証部２４０は乱数ｒとして、ｒ＝8A7B6C5D4E3Fを生成したものとする。Ｎは素数ｐ＝FFFFFC7（268435399）、q＝FFFFFA7（268435367）に対してＮ＝ｐｑである合成数である。相互検証情報ｘはｘ≡ｒ＾２（mod  Ｎ）よりｘ＝CF197EC3145889となる。
【００５４】
秘密情報検証装置３００において、相互検証部３４０は受け取った相互検証情報ｘに対して、選択値ｃとして０または１を２分の１の確率で生成し、情報通信部３２０を介して秘密情報検証装置２００に選択値ｃを送信する。図９では、選択値ｃとしてｃ＝１を送信したものとする。
【００５５】
秘密情報検証装置２００において、相互検証部２４０は、選択値ｃとして０を受け取った場合には相互検証情報ｙとしてｙ＝ｒとし、１を受け取った場合には乱数ｒおよび分散情報Ｗ３から＜ｙ＝Ｗ３・ｒ（mod  Ｎ）を計算し、情報通信部２２０を介して秘密情報検証装置３００に相互検証情報ｙを送信する。秘密情報検証装置３００は合成数Ｎが既知であっても、乱数ｒが不明であるため、相互検証情報ｙからＷ３を算出する事はできない。図９では、分散情報Ｗ３はＷ３＝84935959A268、ｒ＝8A7B6C5d4E3Fであるため、相互検証情報ｙはｙ≡Ｗ３・ｒ（mod  Ｎ）より、ｙ＝7A87082D66CB34となる。
【００５６】
次に、秘密情報検証装置３００において、相互検証部３４０は、まず検証値ＣとしてＣ≡Ｗ３＾２（mod  Ｎ）を計算し、次いで受け取った相互検証情報ｙと、検証値Ｃおよび相互検証情報ｘについて、選択値ｃが０の場合には、ｙ＾２≡ｘ（mod  Ｎ）、１の場合には、ｙ＾２≡ｘ・Ｃ（mod  Ｎ）が成立するかどうかを検証する。この検証は、選択値ｃが０の場合には常に成立し、１の場合には秘密情報検証装置２００および３００が共通の分散情報Ｗ３を有する場合に成立する。図９では、Ｗ３＝84935959A268よりＣ≡Ｗ３＾２（mod  Ｎ）によりＣ＝45EEOCO52A47A5である。ｙ＝7A87082D66CB34より検証値Ｃ１として、Ｃ１＝ｙ＾２（mod  Ｎ）からＣ１＝00FOABE3AOF4C4、ｘ＝CF197EC3145889より検証値Ｃ２としてＣ２＝ｘ・Ｃ（mod  Ｎ）からＣ２＝00FOABE3AOF4C4となり、Ｃ１＝Ｃ２より検証は成立する。
【００５７】
なお、１回の検証では検証の確実性が足りないため、以上の手順を何度か行う必要がある。全ての繰り返し手順において検証が成立する場合、秘密情報検証装置３００における相互検証部３４０は所有するＷ３について、秘密情報検証装置２００が全く同じＷ３を所有する事を検証する事ができる。
【００５８】
上記の手順は、秘密情報検証装置２００が、共通の分散情報Ｗ３を所有する事を秘密情報検証装置３００に対して証明する場合の手順である。相互検証は、同様の検証を今度は秘密情報検証装置３００が秘密情報検証装置２００に対して行う事によって成立する。これにより、秘密情報検証装置２００および３００は、共通に所有する分散情報Ｗ３を直接送り合う事なく、相互に検証する事が可能である。
【００５９】
なお、秘密情報Ｓから生成された分散情報Ｗ３に対して、異なる秘密情報Ｓ’から生成された分散情報Ｗ３’が偶然一致する可能性もあるため、相互検証の際には共通に所有する検証情報Ｐ１，Ｐ２，Ｐ３も同様にゼロ知識証明などによってそれぞれ相互に検証する事が望ましい。
【００６０】
図６において、情報復元部２５０は、分数情報Ｗ２とＷ３から、分配情報Ｓ１を復元する。分散情報Ｓ１の復元は以下のようにして行う。
【００６１】
まず、本実施例における分散関数ｆ（ｘ）が
ｆ（ｘ）＝Ｓ１＋Ｓ２（ｘ−7）＋Ｒ（ｘ−１）（ｘ−５）（mod  Ｐ）
である事から、２個の分散情報Ｗｘ，Ｗｙに関する連立方程式は次のような行列式で表現できる。
【数３】
2005234069.tif 000005
【００６２】
秘密情報検証装置２００における秘密情報の復元は、上記の行列式にＷｘとして分散情報Ｗ２＝D4769A3FA6CD，ＷｙとしてＷ３＝84935959A268を代入し、かつｘ＝３，ｙ＝４とした行列式を掃き出し法などにより解き、Ｓ１，Ｓ２を求める事で行われる。
【数４】
2005234069.tif 000006
【００６３】
情報復元部２５０における上記の演算の結果、Ｓ１については、行列式からＳ１＝４Ｗ３−３Ｗ２により求める事ができ、Ｓ１＝94E996A78FEEとなる。一方、Ｓ２については、行列式からＳ２＋Ｒ＝Ｗ３−Ｗ２という関係式しか得られず、Ｒが乱数文字列である事からＳ２を求める事はできない。したがって、秘密情報検証装置２００における復元はＳ１のみで、Ｓ２を復元する事はできない。情報復元部２５０は、Ｓ１を復元した分配情報としで情報記憶部２６０に記憶する。
【００６４】
情報復元部２５０において復元した分配情報Ｓ１＝94E996A78FEEは元の秘密情報Ｓの前半分“秘密情”を符号化したものである。また、復元した分配情報Ｓ１について、復元の元となった分散情報Ｗ２およびＷ３がそれぞれ元の秘密情報Ｓから正しく生成されている事、すなわち分配情報Ｓ１が秘密情報Ｓを構成する要素として正しい事が単独検証部２３０において検証され、かつ、分配情報Ｓ１と対になる分配情報Ｓ２の復元の元となる分散情報Ｗ３を秘密情報検証装置３００が所有する事、すなわち秘密情報検証装置３００において復元される分配情報Ｓ２が同じく秘密情報Ｓを構成する要素として正しい事が相互検証部２４０において検証されている事から、秘密情報検証装置２００は、復元した分配情報Ｓ１が秘密情報Ｓを構成する要素として正しく、かつ他の秘密情報検証装置３００において復元する分配情報Ｓ２と組み合わさって秘密情報Ｓを構成する事を検証する事ができる。
【００６５】
なお、本実施例では、情報復元部２５０において復元した分配情報Ｓ１を情報記憶部２６０に記憶したが、これを装置の外部に出力するようにしても良い。画面出力やファイル出力以外に、ネットワークを介して他の装置に出力するなどが考えられる。また、出力する情報として分配情報Ｓ１をそのまま出力するのではなく、分配情報Ｓ１を逆符号化した文字列を出力するようにしても良い。
【００６６】
＜秘密情報照合＞
図１０に本発明の実施例における秘密情報照合装置４００の機能構成図を示す。秘密情報照合装置４００は、照合制御部４１０、情報入力部４２０、情報通信部４３０、情報復元部４４０、情報照合部４５０、情報記憶部４６０から構成される。秘密情報照合装置４００は照合制御部４１０の制御のもとに動作する。
【００６７】
図１０において、図１１に秘密情報照合装置４００における処理フロー図を示す。秘密情報照合装置４００は、照合の正解とする秘密情報の入力を受け付けて記憶し（Ｓ３０）、各秘密情報検証装置２００、３００が所有する分配情報を取得し（Ｓ３１）、分配情報を組み合わせて元の秘密情報を復元し（Ｓ３２）、復元した秘密情報を記憶した秘密情報と照合し（Ｓ３３）、照合の結果を各秘密情報検証装置に通知する（Ｓ３４）。
【００６８】
情報入力部４２０は、照合の正解とする秘密情報Ｓとして、秘密情報の設定者が設定した秘密情報の入力を受け付ける。受け付けた秘密情報Ｓは例えば内部メモリなどに一時的に記録するのが望ましい。本実施例では、６桁の文字列“秘密情報の例”が照合の正解とする秘密情報として入力されたものとする。情報入力部４２０は、入力された秘密情報を照合情報Ｖとして情報記憶部４６０に記憶する。
【００６９】
なお、本発明は情報入力部４２０における情報の入力の方法および形式を規定するものではない。キーボード入力やファイル入力の他に、インターネットなどの接続回線を介して例えば秘密情報分配装置１００など他の装置から入力するようにしても構わない。
【００７０】
情報通信部４３０は、各秘密情報検証装置２００、３００に分配された分配情報Ｓ１、Ｓ２をそれぞれ取得する。なお、取得の方法はインターネットなどの接続回線を介した通信による手段に限らず、秘密情報検証装置の管理者によるキーボード入力やフロッピーディスクなどの外部記憶媒体によるファイル入力などの方法によって、入力するようにしても構わない。
【００７１】
情報復元部４４０は、取得した分配情報Ｓ１、Ｓ２を元に秘密情報Ｓを復元する。本実施例においては分配情報Ｓ１、Ｓ２は秘密情報Ｓの前半分と後半分である事から、単純に結合する事で秘密情報Ｓが復元できる。本実施例ではＳ１＝94E996A78FEE、Ｓ２＝95F182CC97Elであるから、Ｓ＝94E996A78FEE95F182CC97E1となる。情報復元部４４０は、秘密情報Ｓを逆符号化して“秘密情報の例”を得る。これは、それぞれ“秘密情”と“報の例”を符号化したものを結合して、“秘密情報の例”という秘密情報Ｓを復号する事である。
【００７２】
情報照合部４５０は、復元した秘密情報Ｓと照合情報Ｖを照合する。本実施例においては、照合情報Ｖは“秘密情報の例”であり、復元した秘密情報Ｓもまた“秘密情報の例”である事から照合は合致する。照合の結果は情報通信部４３０を通じて、各秘密情報検証装置２００、３００に送信する。
【００７３】
なお、本実施例においては、情報入力部４２０において入力された秘密情報をそのまま照合情報Ｖとして情報記憶部４６０に記憶し、情報復元部４４０において復元した秘密情報Ｓを逆符号化して情報照合部４５０において照合したが、予め情報入力部４２０において入力された秘密情報を符号化した上で照合情報Ｖとして情報記憶部４６０に記憶した上で、情報復元部４４０において復元した秘密情報Ｓを情報照合部４５０において照合するようにしても良い。情報記憶部４６０における記憶した照合情報Ｓの安全性を考えると、後者の方が本来は望ましい。
【００７４】
また、本実施例では、情報通信部４３０において、各秘密情報検証装置２００、３００から取得する情報を分配情報Ｓ１，Ｓ２としたが、通信の安全性などを考慮して、取得の対象を各秘密情報検証装置２００、３００の所有する分散情報Ｗ２，Ｗ３およびＷ１，Ｗ３とする事が考えられる。この場合、情報復元部４４０は、秘密情報検証装置２００における情報復元部２５０と同様の機能により、分配情報Ｓ１、Ｓ２をそれぞれ復元する事ができる。これにより、通信の安全性を保った状態で各秘密情報検証装置の所有する分配情報を取得する事が可能である。
【００７５】
なお、図２、図６及び図１０で示した装置における各部の一部もしくは全部の処理機能をコンピュータのプログラムで構成し、そのプログラムをコンピュータを用いて実行して本発明を実現することができること、あるいは、図３、す゛７及び図１１で示した処理手順をコンピュータのプログラムで構成し、そのプログラムをコンピュータに実行させることができることは言うまでもない。また、コンピュータでその処理機能を実現するためのプログラム、あるいは、コンピュータにその処理手順を実行させるためのプログラムを、そのコンピュータが読み取り可能な記録媒体、例えば、ＦＤ、ＭＯ、ＲＯＭ、メモリカード、ＣＤ、ＤＶＤ、リムーバブルディスクなどに記録して、保存したり、提供したりすることができるとともに、インターネット等のネットワークを通してそのプログラムを配布したりすることが可能である。
【図面の簡単な説明】
【００７６】
【図１】本発明の実施例における秘密情報分配システムの全体構成図である。
【図２】本発明の実施例における秘密情報分配装置の機能構成図である。
【図３】秘密情報分配装置における処理フロー図である。
【図４】秘密情報分配装置における分散情報の計算例である。
【図５】秘密情報分配装置における検証情報の計算例である。
【図６】本発明の実施例における秘密情報検証装置の機能構成図である。
【図７】秘密情報検証装置における処理フロー図である。
【図８】秘密情報検証装置における単独検証の計算例である。
【図９】秘密情報検証装置における相互検証の計算例である。
【図１０】本発明の実施例における秘密情報照合装置の機能構成図である。
【図１１】秘密情報照合装置における処理フロー図である。
【符号の説明】
【００７７】
１００  秘密情報分配装置
２００  秘密情報検証装置
３００  秘密情報検証装置
４００  秘密情報照合装置
５００  通信回線
１１０  分配制御部
１２０  情報入力部
１３０  情報分割部
１４０  分散情報生成部
１５０  検証情報生成部
１６０  情報通信部
２１０  検証制御部
２２０  情報通信部
２３０  単独検証部
２４０  相互検証部
２５０  情報復元部
２６０  情報記憶部
４１０  照合制御部
４２０  情報入力部
４３０  情報通信部
４４０  情報復元部
４５０  情報照合部
４６０  情報記憶部
【図１】
2005234069.tif 000007
【図２】
2005234069.tif 000008
【図３】
2005234069.tif 000009
【図４】
2005234069.tif 000010
【図５】
2005234069.tif 000011
【図６】
2005234069.tif 000012
【図７】
2005234069.tif 000013
【図８】
2005234069.tif 000014
【図９】
2005234069.tif 000015
【図１０】
2005234069.tif 000016
【図１１】
2005234069.tif 000017