(57)【要約】【課題】  暗号化された秘密情報を復号するために暗号化に使用された鍵情報を直接取得することなく、秘密情報の公開に関する取決めを行ったユーザ以外に対しては秘匿したまま、当該秘密情報を復号することができる情報処理システム及び情報処理装置並びに情報処理方法を提供する。【解決手段】  秘密情報の公開に関する取決めを行ったユーザによって管理されるクライアントＡ、Ｂ、Ｃと、共通情報を算出する共通数計算サーバ１５０とを備える情報処理システムにおいて、クライアントＢは、クライアントＡにおいて暗号鍵ｐを用いて暗号化された秘密情報１１０（暗号化情報１１１）を取得し、共通数計算サーバ１５０から共通数Ｍを取得し、クライアントＣから暗号鍵ｒを取得する。そして、クライアントＢは暗号鍵ｑを算出し、暗号化情報を復号する。【選択図】  図１
2005340930.tif 000002
【特許請求の範囲】
【請求項１】
秘密情報の公開に関する取決めを行ったユーザによってそれぞれ管理される複数のクライアント間で該秘密情報を公開するための情報処理システムであって、
前記複数のクライアントがそれぞれ保持する暗号鍵を取得する暗号鍵取得手段と、
前記複数のクライアントから取得された複数の暗号鍵を用いて共通情報を算出する共通情報算出手段と、
前記共通情報をクライアントに配信する配信手段とを備えるサーバと、
第１の暗号鍵を保持する第１の保持手段と、
前記第１の暗号鍵を用いて秘密情報を暗号化する暗号化手段と、
暗号化された前記秘密情報を他のクライアントに配信する配信手段とを備える第１のクライアントと、
第２の暗号鍵を保持する第２の保持手段と、
前記第１のクライアントから暗号化された前記秘密情報を取得する秘密情報取得手段と、
前記サーバから前記共通情報を取得する共通情報取得手段と、
前記第１のクライアントを除く他のクライアントがそれぞれ保持している暗号鍵を入力する入力手段と、
前記第２の暗号鍵と前記入力手段から入力された暗号鍵と前記共通情報とを用いて前記第１の暗号鍵を算出する暗号鍵算出手段と、
前記第１の暗号鍵を用いて暗号化された前記秘密情報を復号する復号手段とを備える第２のクライアントと
を備えることを特徴とする情報処理システム。
【請求項２】
前記共通情報算出手段が、前記複数の暗号鍵を所定の交換律又は結合律を満たし、かつ逆演算が存在する演算に従って算出した数値を前記共通情報とすることを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記共通情報算出手段が、数値から成る前記複数の暗号鍵をそれぞれ乗算する演算アルゴリズムに従って前記共通情報を算出することを特徴とする請求項２に記載の情報処理システム。
【請求項４】
前記共通情報算出手段が、数値から成る前記複数の暗号鍵をそれぞれ加算する演算アルゴリズムに従って前記共通情報を算出することを特徴とする請求項２に記載の情報処理システム。
【請求項５】
前記サーバが、前記共通情報算出手段によって前記共通情報を算出した後、前記暗号鍵取得手段によって前記複数のクライアントから取得された暗号鍵をサーバ内から消去する消去手段をさらに備えることを特徴とする請求項１から４までのいずれか１項に記載の情報処理システム。
【請求項６】
秘密情報の公開に関する取決めを行ったユーザによってそれぞれ管理され、それぞれが固有の暗号鍵を保持する複数のクライアントと、自装置及び前記複数のクライアントが保持する暗号鍵を用いて共通情報を算出するサーバとの間で通信可能な情報処理装置であって、
秘密情報を格納する格納手段と、
固有の暗号鍵を保持する保持手段と、
前記暗号鍵を用いて前記秘密情報を暗号化する暗号化手段と、
暗号化された前記秘密情報を他のクライアントに配信する配信手段と
を備えることを特徴とする情報処理装置。
【請求項７】
秘密情報の公開に関する取決めを行ったユーザによってそれぞれ管理され、それぞれが固有の暗号鍵を保持する複数のクライアントと、自装置及び前記複数のクライアントが保持する暗号鍵を用いて共通情報を算出するサーバとの間で通信可能な情報処理装置であって、
一のクライアントにおいて第１の暗号鍵を用いて暗号化された秘密情報を取得する秘密情報取得手段と、
第２の暗号鍵を保持する保持手段と、
前記サーバから前記共通情報を取得する共通情報取得手段と、
前記一のクライアントを除く他のクライアントのそれぞれが保持している暗号鍵を入力する入力手段と、
前記第２の暗号鍵と前記入力手段から入力された暗号鍵と前記共通情報とを用いて前記第１の暗号鍵を算出する暗号鍵算出手段と、
前記第１の暗号鍵を用いて暗号化された前記秘密情報を復号する復号手段と
を備えることを特徴とする情報処理装置。
【請求項８】
秘密情報の公開に関する取決めを行ったユーザによってそれぞれ管理され、それぞれが固有の暗号鍵を保持する複数のクライアントとの間で通信可能な情報処理装置であって、
前記複数のクライアントがそれぞれ保持する暗号鍵を取得する暗号鍵取得手段と、
前記複数のクライアントから取得された複数の暗号鍵を用いて共通情報を算出する共通情報算出手段と、
前記共通情報をクライアントに配信する配信手段と
を備えることを特徴とする情報処理装置。
【請求項９】
秘密情報の公開に関する取決めを行ったユーザによってそれぞれ管理され、それぞれが固有の暗号鍵を保持する複数のクライアントと、自装置及び前記複数のクライアントが保持する暗号鍵を用いて共通情報を算出するサーバとの間における情報処理方法であって、
一のクライアントにおいて第１の暗号鍵を用いて暗号化された秘密情報を取得する秘密情報取得工程と、
前記サーバから前記共通情報を取得する共通情報取得工程と、
前記一のクライアントを除く他のクライアントのそれぞれが保持している暗号鍵と前記共通情報とを用いて前記第１の暗号鍵を算出する暗号鍵算出工程と、
前記第１の暗号鍵を用いて暗号化された前記秘密情報を復号する復号工程と
を有することを特徴とする情報処理方法。
【請求項１０】
秘密情報の公開に関する取決めを行ったユーザによってそれぞれ管理され、それぞれが固有の暗号鍵を保持する複数のクライアントと、自装置及び前記複数のクライアントが保持する暗号鍵を用いて共通情報を算出するサーバと通信可能なコンピュータに、
一のクライアントにおいて第１の暗号鍵を用いて暗号化された秘密情報を取得する秘密情報取得手順と、
前記サーバから前記共通情報を取得する共通情報取得手順と、
前記一のクライアントを除く他のクライアントのそれぞれが保持している暗号鍵と前記共通情報とを用いて前記第１の暗号鍵を算出する暗号鍵算出手順と、
前記第１の暗号鍵を用いて暗号化された前記秘密情報を復号する復号手順と
を実行させるためのプログラム。
【請求項１１】
請求項１０に記載のプログラムを格納したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号化された秘密情報を当該秘密情報の公開に関する取決めを行ったユーザ間で公開する情報処理システム及び情報処理装置並びに情報処理方法に関する。
【背景技術】
【０００２】
安全でない通信路を使って、鍵情報そのものを送ること無く暗号鍵を合意するプロトコルとして、例えば、二者間における鍵の合意方法であるDiffie-Hellmanの鍵交換方法が知られている（例えば、特許文献１参照。）。
【特許文献１】特願２０００−２７８２５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、Diffie-Hellmanの鍵交換方法は二者間における鍵の合意方法であるため、三者間以上で各自の暗号鍵に関係する情報を合意した場合にはそのまま適用することが難しい。
【０００４】
本発明は、このような事情を考慮してなされたものであり、暗号化された秘密情報を復号するために暗号化に使用された鍵情報を直接取得することなく、秘密情報の公開に関する取決めを行ったユーザ以外に対しては秘匿したまま、当該秘密情報を復号することができる情報処理システム及び情報処理装置並びに情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明は、秘密情報の公開に関する取決めを行ったユーザによってそれぞれ管理される複数のクライアント間で該秘密情報を公開するための情報処理システムであって、
前記複数のクライアントがそれぞれ保持する暗号鍵を取得する暗号鍵取得手段と、
前記複数のクライアントから取得された複数の暗号鍵を用いて共通情報を算出する共通情報算出手段と、
前記共通情報をクライアントに配信する配信手段とを備えるサーバと、
第１の暗号鍵を保持する第１の保持手段と、
前記第１の暗号鍵を用いて秘密情報を暗号化する暗号化手段と、
暗号化された前記秘密情報を他のクライアントに配信する配信手段とを備える第１のクライアントと、
第２の暗号鍵を保持する第２の保持手段と、
前記第１のクライアントから暗号化された前記秘密情報を取得する秘密情報取得手段と、
前記サーバから前記共通情報を取得する共通情報取得手段と、
前記第１のクライアントを除く他のクライアントがそれぞれ保持している暗号鍵を入力する入力手段と、
前記第２の暗号鍵と前記入力手段から入力された暗号鍵と前記共通情報とを用いて前記第１の暗号鍵を算出する暗号鍵算出手段と、
前記第１の暗号鍵を用いて暗号化された前記秘密情報を復号する復号手段とを備える第２のクライアントと
を備えることを特徴とする。
【０００６】
また、本発明は、秘密情報の公開に関する取決めを行ったユーザによってそれぞれ管理され、それぞれが固有の暗号鍵を保持する複数のクライアントと、自装置及び前記複数のクライアントが保持する暗号鍵を用いて共通情報を算出するサーバとの間で通信可能な情報処理装置であって、
秘密情報を格納する格納手段と、
固有の暗号鍵を保持する保持手段と、
前記暗号鍵を用いて前記秘密情報を暗号化する暗号化手段と、
暗号化された前記秘密情報を他のクライアントに配信する配信手段と
を備えることを特徴とする。
【０００７】
さらに、本発明は、秘密情報の公開に関する取決めを行ったユーザによってそれぞれ管理され、それぞれが固有の暗号鍵を保持する複数のクライアントと、自装置及び前記複数のクライアントが保持する暗号鍵を用いて共通情報を算出するサーバとの間で通信可能な情報処理装置であって、
一のクライアントにおいて第１の暗号鍵を用いて暗号化された秘密情報を取得する秘密情報取得手段と、
第２の暗号鍵を保持する保持手段と、
前記サーバから前記共通情報を取得する共通情報取得手段と、
前記第１のクライアントを除く他のクライアントのそれぞれが保持している暗号鍵を入力する入力手段と、
前記第２の暗号鍵と前記入力手段から入力された暗号鍵と前記共通情報とを用いて前記第１の暗号鍵を算出する暗号鍵算出手段と、
前記第１の暗号鍵を用いて暗号化された前記秘密情報を復号する復号手段と
を備えることを特徴とする。
【０００８】
さらにまた、本発明は、秘密情報の公開に関する取決めを行ったユーザによってそれぞれ管理され、それぞれが固有の暗号鍵を保持する複数のクライアントとの間で通信可能な情報処理装置であって、
前記複数のクライアントがそれぞれ保持する暗号鍵を取得する暗号鍵取得手段と、
前記複数のクライアントから取得された複数の暗号鍵を用いて共通情報を算出する共通情報算出手段と、
前記共通情報をクライアントに配信する配信手段と
を備えることを特徴とする。
【０００９】
さらにまた、本発明は、秘密情報の公開に関する取決めを行ったユーザによってそれぞれ管理され、それぞれが固有の暗号鍵を保持する複数のクライアントと、自装置及び前記複数のクライアントが保持する暗号鍵を用いて共通情報を算出するサーバとの間における情報処理方法であって、
一のクライアントにおいて第１の暗号鍵を用いて暗号化された秘密情報を取得する秘密情報取得工程と、
前記サーバから前記共通情報を取得する共通情報取得工程と、
前記第１のクライアントを除く他のクライアントのそれぞれが保持している暗号鍵と前記共通情報とを用いて前記第１の暗号鍵を算出する暗号鍵算出工程と、
前記第１の暗号鍵を用いて暗号化された前記秘密情報を復号する復号工程と
を有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、暗号化された秘密情報を復号するために暗号化に使用された鍵情報を直接取得することなく、秘密情報の公開に関する取決めを行ったユーザ以外に対しては秘匿したまま、当該秘密情報を復号することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の一実施形態について、図面を参照して詳細に説明する。
【００１２】
図１は、本発明の一実施形態に係る情報処理システムにおける秘密情報の公開のためのやりとりを示す概念図である。図１においては、秘密情報の公開に関する取決めを行った三者として、クライアントＡ（１０１）、クライアントＢ（１０２）及びクライアントＣ（１０３）の三つのクライアントが示されている。クライアントＡ、Ｂ及びＣは、それぞれ固有の暗号鍵ｐ（１２１）、ｑ（１２２）及びｒ（１２３）を保持している。また、クライアントＡは秘密情報１１０を保持しており、これを自分の暗号鍵ｐで暗号化し、暗号化情報１１１として、クライアントＢ及びＣに配信（送付）しておく。尚、クライアントＡにおける具体的な暗号化方法及び暗号化情報１１１の配信（送付）方法については後述する。
【００１３】
本実施形態では、クライアントＢ及びＣがクライアントＡから配信された暗号化情報１１１を復号するために、クライアントＡが暗号鍵ｐをクライアントＢ及びＣに対して直接配信（送付）しない。すなわち、本実施形態では、以下で詳述するように、クライアントＡがクライアントＢ及びＣに暗号鍵ｐを直接送付することなく、クライアントＢ及びＣが合意した場合（すなわち、クライアントＢ及びＣがそれぞれ他方に対して自らが保持する暗号鍵を公開した場合）にクライアントＡの暗号鍵ｐを推測することによって、暗号化されたクライアントＡの秘密情報（暗号化情報１１１）を復号して、元の秘密情報１１０を得るものである。
【００１４】
このため、秘密情報の公開に関する取決めを行ったクライアントＡが保持する秘密鍵ｐ、クライアントＢが保持する秘密鍵ｑ及びクライアントＣが保持する秘密鍵ｒから、それらに関係しており、かつ、元の秘密鍵ｐ、ｑ及びｒを容易に推測することができないような共通情報として共通数Ｍを計算し、それをクライアントＢ及びＣに配信（配布）するようにする。そして、クライアントＢ及びＣは、それぞれ固有の秘密鍵ｑ及びｒと配信（配布）された共通数Ｍとを用いて、クライアントＡが保持する暗号鍵ｐを演算によって得るようにする。
【００１５】
尚、本実施形態では、上述した共通数Ｍの計算及びその配信（配布）のために、共通数計算サーバ１５０を用いる。
【００１６】
次に、共通数計算サーバ１５０の具体的な構成方法について説明する。図２は、本実施形態に係る情報処理システムで使用される情報処理装置（コンピュータ）の内部構成を示すブロック図である。尚、本実施形態では、共通数計算サーバ１５０として、図２に示すような一般的なパーソナルコンピュータ（ＰＣ）を用いて実現するものとする。
【００１７】
図２において、２００はＰＣである。ＰＣ２００は、ＲＯＭ２０２又はハードディスク（ＨＤ）２１１に記憶されたソフトウェアを実行するＣＰＵ２０１を備える。また、ＣＰＵ２０１は、システムバス２０４に接続される各デバイスを総括的に制御する。
【００１８】
図２において、２０３はＲＡＭであり、ＣＰＵ２０１の主メモリやワークエリア等として機能する。また、２０５はキーボードコントローラ（ＫＢＤＣ）であり、キーボードからの指示入力を制御する。さらに、２０６はディスプレイコントローラ（ＤＩＳＰＣ）であり、ディスプレイ（ＤＩＳＰＬＡＹ）２１０の表示を制御する。さらにまた、２０７はディスクコントローラ（ＤＫＣ）であり、ハードディスク（ＨＤ）２１１とのアクセスを制御する。さらにまた、２０８はネットワークインタフェースカード（ＮＩＣ）であり、ＬＡＮ２１２を介して、他のネットワーク機器或いは他のＰＣとの間で双方向にデータを送受信する。
【００１９】
本実施形態では、上述したような構成のＰＣ２００を使用して、共通数Ｍを計算するプログラムを動作させる共通数計算サーバ１５０を実現することができる。次に、共通数計算サーバ１５０上の動作例をフローチャートを用いて説明する。
【００２０】
図３は、本実施形態に係る共通数計算サーバ１５０の全体動作を説明するためのフローチャートである。ＰＣ２００において、図３で示される動作を行うプログラムは、ＲＯＭ２０２又はＨＤ２１１に格納されており、ＲＡＭ２０３上に展開されて、ＣＰＵ２０１によって実行される。
【００２１】
まず、共通数計算サーバ１５０が起動すると、ネットワークに接続しているクライアントからイベントが取得されるまで待つ（ステップＳ３０１）。例えば、クライアントから共通数計算依頼があった場合は、当該クライアントからの要求はＬＡＮ２１２からＮＩＣ２０８に入り、割り込み処理によってＣＰＵ２０１に通知され、ネットワークイベントとしてキューに積まれてイベントが生じる。そして、何らかのイベントが取得されるとステップＳ３０２に進む。
【００２２】
ステップＳ３０２では、ステップＳ３０１で取得されたイベントが、クライアントからの共通数計算依頼であったかどうかが判断される。その結果、クライアントからの共通数計算依頼であったと判断された場合（Ｙｅｓ）は、共通数の計算を行う（ステップＳ３０３）。尚、共通数の計算の詳細については、図４を用いて詳しく説明する。一方、ステップＳ３０１において共通数計算依頼ではなかったと判断された場合（Ｎｏ）には、ステップＳ３０４に進んでその他の動作を行う。
【００２３】
そして、ステップＳ３０３又はステップＳ３０４の動作が終了した場合は、再度ステップＳ３０１に戻って上記処理を続けることとなる。
【００２４】
図４は、図３のステップＳ３０３における共通数計算に関するサブルーチンの動作を説明するためのフローチャートである。
【００２５】
まず、共通数計算サーバ１５０はそれぞれのクライアントから受け取ったイベントの中から、それぞれのクライアントが独自に保持している暗号鍵及び計算された後の共通数Ｍの通知先を取り出す（ステップＳ３０３ａ）。ここで、共通数Ｍの通知先とは、共通数の通知方法が電子メールである場合には、クライアントのメールアドレスであるが、それだけに限られることはない。例えば、通知方法がＴＣＰ／ＩＰでの通知であれば、クライアント側エンドポイントのＩＰアドレスとなる。
【００２６】
次に、共通数計算サーバ１５０は、ステップＳ３０３ａで取り出した暗号鍵及び通知先を、ＲＡＭ２０３又はＨＤ２１１に格納する（ステップＳ３０３ｂ）。そして、共通数計算サーバ１５０は、全クライアント（すなわち、クライアントＡ、Ｂ及びＣの全部）がそれぞれの暗号鍵を通知してきたかどうかを判断する（ステップＳ３０３ｃ）。その結果、各クライアントから暗号鍵が全クライアント分揃ったと判断された場合（Ｙｅｓ）、共通数計算サーバ１５０は、取得した鍵ｐ、ｑ及びｒに基づいて共通数Ｍを計算する（ステップＳ３０３ｄ）。
【００２７】
ここで、共通数Ｍの計算アルゴリズムは、交換律又は結合律を満たし、かつ逆演算が存在するような演算であれば何でも良い。例えば、鍵情報ｐ、ｑ及びｒの足し算や、それらの掛け算がこれに相当する。以下では、一例として掛け算を用いて、共通鍵ＭをＭ ＝ ｐ ＊ ｑ ＊ ｒとして算出する。
【００２８】
次に、共通数計算サーバ１５０は、算出した共通数Ｍを各クライアントに通知する（ステップＳ３０３ｅ）。具体的には、共通数計算サーバ１５０を実現するＰＣ２００のＣＰＵ２０１は、ＲＡＭ２０３又はＨＤ２１１にアクセスして、過去にステップＳ３０３ｂにおいて格納した共通数通知先を取り出し、それぞれの通知先に対して共通数Ｍを前述した所定の方法で通知する。
【００２９】
そして、共通数計算サーバ１５０は、ＲＡＭ２０３又はＨＤ２１１に格納されていた暗号鍵ｐ、ｑ及びｒを消去する（ステップＳ３０３ｆ）。尚、当該消去処理はセキュリティ上の理由から実行が望ましいものであり、必須の処理ではない。
【００３０】
一方、ステップ３０３ｃにおいて、秘密情報の公開に関する取決めを行ったユーザによってそれぞれ管理される複数のクライアントから送信されるべき全ての暗号鍵がまだ揃っていないと判断された場合（Ｎｏ）には、本サブルーチンの処理を終了する。或いは、全ての暗号鍵が揃うまで待ち状態を続けるようにしてもよい。
【００３１】
以上、本実施形態に係る情報処理システムにおけるサーバ側の動作についてを説明したが、次にクライアント側の動作について説明する。
【００３２】
本実施形態では、クライアントの構造としては、前述した共通数計算サーバ１５０と同様に、例えば図２に示したような一般的なＰＣを用いて構成することができる。そして、当該ＰＣ上でクライアント側のプログラムを動作させることによって、クライアントを実現する。
【００３３】
図５は、本実施形態に係るクライアント側の動作を説明するためのフローチャートである。まず、クライアントが起動すると、ユーザからのコマンド入力を待つ（ステップＳ５０１）。そして、ステップＳ５０１において、ユーザがキーボード２０９や不図示のポインティングデバイス等を用いてコマンドを入力することによって当該コマンドが取得されると、次に入力された当該コマンドが共通数の計算指示であったかどうかが判断される（ステップＳ５０２）。
【００３４】
その結果、当該コマンドが共通数計算指示であった場合（Ｙｅｓ）は、ＮＩＣ２０８を制御して共通数計算サーバ１５０に接続し、自分の秘密鍵（すなわち、当該クライアントがクライアントＡの場合は秘密鍵ｐ、同様にクライアントＢ、ｃであれば秘密鍵ｑ、ｒ）、及び共通数Ｍの通知先を共通数計算サーバ１５０に通知（送信）する（ステップＳ５０３）。ここで、暗号鍵の第三者による盗聴を防ぐために、クライアントとサーバとの接続は安全な通信を用いるか、或いはＳＳＬやＴＬＳ等の通信路暗号化が施されたセッションを用いることが望ましい。
【００３５】
尚、ステップＳ５０３で共通数計算サーバ１５０に通知先を送信しておくことによって、当該サーバから計算された共通数Ｍを取得することができる（ステップＳ５１３）。
【００３６】
一方、ステップＳ５０２において、ステップＳ５０１で入力されたコマンドが共通数の計算指示ではなかったと判断された場合（Ｎｏ）には、ステップＳ５０４に進む。
【００３７】
ステップＳ５０４では、ステップＳ５０１で入力されたコマンドが秘密情報の配布指示であったかどうかを判断する。その結果、秘密情報の配布指示であった場合（Ｙｅｓ）には、自装置が保持（格納）している秘密情報を固有の暗号鍵で暗号化する（ステップＳ５０５）。次いで、ステップＳ５０５で暗号化された情報（暗号化情報１１１）を自分以外の残りのクライアント（本実施形態では、クライアントＡを除くクライアントＢ及びＣ）に送付（配信）する（ステップＳ５０６）。尚、送付方法の一例としては電子メールが考えられる。また、この際の送付（配信）される情報は暗号化されているので、安全でない通信路を介するものであっても特に問題はない。
【００３８】
一方、ステップＳ５０４において、ステップＳ５０１で入力されたコマンドが秘密情報の配信指示ではなかったと判断された場合（Ｎｏ）には、入力されたコマンドが他の人（クライアント）から送られた秘密情報の解読指示であったかどうかを判断する（ステップＳ５０７）。その結果、秘密情報の解読指示であった場合には（Ｙｅｓ）、ＲＡＭ２０３或いはＨＤ２１１に格納されている自分の暗号鍵を取り出し、一時的にワークエリアとしてＲＡＭ２０３に格納する（ステップＳ５０８）。
【００３９】
ここで、秘密情報を暗号化した暗号鍵と自装置が保持している暗号鍵を除いた残りの暗号鍵を他のクライアントから受け取る（ステップＳ５０９）。尚、当該残りの暗号鍵とは、例えば、秘密情報の配布元がクライアントＡであって自分がクライアントＢである場合は、残りのクライアントＣから暗号鍵を受け取る。鍵の受け取り方は、キーボード２０９から入力しても良いし、ＬＡＮ２１２からＮＩＣ２０８を経由して受け取るようにしてもよい。
【００４０】
そして、ステップＳ５１３で取得された共通鍵と自装置が保持する暗号鍵とステップＳ５０９で入力された暗号鍵とを用いて、暗号化された秘密情報を解読するための鍵を計算する（ステップＳ５１０）。ここで、秘密情報を暗号化する際に使用されたクライアントＡの暗号鍵ｐは、共通数計算サーバ１５０で共通数Ｍを計算する際に用いた交換律又は結合律を満たし、かつ逆演算が存在するような演算をｆとした場合、
ｐ＝ｇ（Ｍ、ｆ（ｑ、ｒ） ）  但し、ｇはｆの逆演算
で求められる。
【００４１】
例えば、演算ｆが掛け算であった場合には、
ｐ＝Ｍ／（ｑ＊ｒ）
で求められる。
【００４２】
そして、ステップＳ５１０で算出された暗号鍵を用いて、暗号化された秘密情報の復号を行う（ステップＳ５１１）。
【００４３】
一方、ステップＳ５０７において、ステップＳ５０１で入力されたコマンドが秘密情報の解読指示ではなかったと判断された場合（Ｎｏ）には、その他の処理を行う（ステップＳ５１２）。尚、ステップＳ５１３、Ｓ５０６、Ｓ５１１及びＳ５１２のそれぞれの処理が終了した後は、ステップＳ５０１に戻って上述した処理を続ける。
【００４４】
以上説明した本実施形態に係るサーバ及びクライアントのプログラムは、外部からインストールされるプログラムによって、共通数計算サーバ１５０或いはクライアントＡ、Ｂ及びＣで実行されてもよい。その場合、そのプログラムは、ＣＤ−ＲＯＭやフラッシュメモリやフレキシブルディスク等の記憶媒体により、或いは電子メールやパソコン通信等のネットワークを介して外部の記憶媒体からプログラムを含む情報群を共通数計算サーバ１５０やクライアントＡ、Ｂ及びＣ上にロードすることによって供給される場合でも同様に適用可能である。
【００４５】
図６は、本実施形態で使用可能なＣＤ−ＲＯＭ等の記憶媒体内のメモリマップを示す図である。図６において、６０１はディレクトリ情報を記憶するための領域であり、以降のインストールプログラムを記憶するための領域６０２及びデバイス制御プログラムを記憶するための領域６０３の位置を示す。
【００４６】
本実施形態におけるサーバプログラム或いはクライアントプログラムが共通数計算サーバ１５０或いはクライアントＡ（１０１）、Ｂ（１０２）或いはＣ（１０３）にインストールされる際には、まず領域６０２に記憶されているインストールプログラムがシステムにロードされ、ＣＰＵ２０１によって実行される。次に、ＣＰＵ２０１によって実行されるインストールプログラムが、領域６０３からサーバ或いはクライアントプログラムプログラムを読み出して、ＨＤ２１１に格納する。
【００４７】
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００４８】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【００４９】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００５０】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【００５１】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【００５２】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００５３】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００５４】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００５５】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【００５６】
さらにまた、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体から、そのプログラムをパソコン通信など通信ラインを介して要求者にそのプログラムを配信する場合にも適用できることは言うまでもない。
【００５７】
以上説明したように、本実施形態に係る情報処理システムでは、暗号化された秘密情報を復号するために暗号化に使用された鍵情報を直接取得することなく、秘密情報の公開に関する取決めを行ったユーザ以外に対しては秘匿したまま、当該秘密情報を復号することができる。尚、本実施形態に係る情報処理システムでは、それぞれのクライアントでは、サーバに対して自装置の暗号鍵を送信する前であれば、自らの暗号鍵を適宜変更することも可能である。このため、従来のシステムと比べても秘匿性が優れたものとなる。
【００５８】
また、本実施形態で説明した方式の具体的な適用例としては、例えば遺言状の執行が考えられる。仮に、クライアントＡが遺言を残したい人であるとし、クライアントＢ及びＣが遺言の受取人であって、クライアントＡから委託を受けた弁護士であるとする。また、クライアントＡ、Ｂ、Ｃは予め共通数計算サーバ１５０を用いて、三者間で共通数Ｍの計算方法について合意しておくものとする。
【００５９】
この場合、クライアントＡはいつでも自分の暗号鍵で遺言を暗号化して、クライアントＢに送信することができる。但し、クライアントＢはクライアントＡの暗号鍵ｐを知らないので、クライアントＡの暗号鍵を手に入れない限りクライアントＡの遺言を見ることはできない。そこで、クライアントＡが死亡した場合にはクライアントＢ及びＣが合意の下で、クライアントＢ及びＣがそれぞれの暗号鍵ｑ及びｒを持ち寄ることにより、共通数ＭからクライアントＡの暗号鍵ｐを得ることができる。
【００６０】
尚、弁護士Ｃ（クライアントＣ）が介在する場合はあらかじめ遺言をクライアントＣに委託しておいてもよいが、本方式を用いることによって、クライアントＡはクライアントＣの介在なしに、自分の好きなときに遺言の内容を書き換えることができるという利点がある。
【図面の簡単な説明】
【００６１】
【図１】本発明の一実施形態に係る情報処理システムにおける秘密情報の公開のためのやりとりを示す概念図である。
【図２】本実施形態に係る情報処理システムで使用される情報処理装置（コンピュータ）の内部構成を示すブロック図である。
【図３】本実施形態に係る共通数計算サーバ１５０の全体動作を説明するためのフローチャートである。
【図４】図３のステップＳ３０３における共通数計算に関するサブルーチンの動作を説明するためのフローチャートである。
【図５】本実施形態に係るクライアント側の動作を説明するためのフローチャートである。
【図６】本実施形態で使用可能なＣＤ−ＲＯＭ等の記憶媒体内のメモリマップを示す図である。
【符号の説明】
【００６２】
１０１  クライアントＡ
１０２  クライアントＢ
１０３  クライアントＣ
１１０  秘密情報
１１１  暗号化情報
１２１  暗号鍵ｐ
１２２  暗号鍵ｑ
１２３  暗号鍵ｒ
１５０  共通数計算サーバ
【図１】
2005340930.tif 000003
【図２】
2005340930.tif 000004
【図３】
2005340930.tif 000005
【図４】
2005340930.tif 000006
【図５】
2005340930.tif 000007
【図６】
2005340930.tif 000008