(57)【特許請求の範囲】
【請求項１】
複数のクライアント装置とサーバ装置から構成され、前記複数のクライアント装置が共通して用いる共有鍵を生成する鍵管理システムであって、
前記サーバ装置は、
自装置に付与されたセンター鍵と、前記クライアント装置ごとに付与されたユーザ鍵と、少なくとも前記ユーザ鍵および前記センター鍵を一つの変数に含む共有鍵算出規則を生成するための所定規則を記憶している記憶部と、
前記所定規則にしたがって前記共有鍵算出規則を生成し、当該共有鍵算出規則から前記共有鍵を算出する鍵生成手段と、
前記センター鍵及び前記クライアント装置ごとのユーザ鍵のそれぞれについて、前記共有鍵算出規則との一義的な関係を含む補完情報を、前記センター鍵及び前記ユーザ鍵のそれぞれの値に応じて算出する補完情報算出手段と、
を備え、
前記クライアント装置からの要求を受けて、当該クライアント装置のユーザ鍵の値に応じて算出された前記補完情報を当該クライアント装置へ少なくとも送信することを特徴とする鍵管理システム。
【請求項２】
前記クライアント装置は、
自装置のユーザ鍵と、当該ユーザ鍵、前記センター鍵及び前記補完情報から前記共有鍵算出規則を生成する復元規則とを記憶したクライアント記憶部と、
当該ユーザ鍵に対応する前記補完情報と、前記センター鍵と、当該センター鍵に対応する補完情報とを前記サーバ装置から取得する取得部と、
前記クライアント記憶部に記憶しているユーザ鍵と取得したユーザ鍵の補完情報を用いて前記復元規則にしたがって前記共有鍵算出規則に合致した第一要素を求め、前記センター鍵および当該センター鍵に対応する補完情報を用いて前記復元規則にしたがって前記共有鍵算出規則に合致した第二要素を求め、前記第一要素および前記第二要素を用いて共有鍵算出規則を復元して当該共有鍵算出規則から前記共有鍵を復元する鍵復元手段と、
を具備する請求項１に記載の鍵管理システム。
【請求項３】
前記所定規則は、前記記憶部に記憶している全ての前記センター鍵および前記ユーザ鍵に依存した関係を持つ規則である請求項１または請求項２に記載の鍵管理システム。
【請求項４】
前記所定規則は、前記センター鍵および前記ユーザ鍵の鍵値と、当該鍵値のハッシュ値を変数とする線形関数にもとづいて前記共有鍵算出規則を生成する規則である請求項１〜請求項３の何れか一項に記載の鍵管理システム。
【請求項５】
前記補完情報は、前記鍵値と前記線形関数との変位量、または前記ハッシュ値と前記線形関数との変位量である請求項４に記載の鍵管理システム。
【請求項６】
前記線形関数は、全ての前記鍵値または前記ハッシュ値からの変位量が最小となる関数である請求項５に記載の鍵管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の利用者で共通して使用する共有鍵を生成する鍵管理システムに関する。
【背景技術】
【０００２】
暗号化されたデータを複数の利用者が利用する場合、各利用者はその暗号化されたデータを復号するための暗号鍵を共有する必要がある。一般に、複数の利用者が同一の暗号鍵を共有する場合、暗号鍵を生成する装置は、暗号鍵を生成又は更新する度に、その暗号鍵を全ての利用者に配布する。しかし、暗号鍵を配布する際、その暗号鍵が第三者に漏洩し、暗号化されたデータを第三者が復号できるようになる危険性がある。
【０００３】
そこで、特許文献１には、公開鍵暗号方式の秘密鍵を複数の秘密鍵片に分割して複数のメンバー端末に配布し、暗号化された情報を複数の秘密鍵片を用いて復号する暗号鍵管理方法が提案されている。この暗号鍵管理方法では、主端末が、公開鍵を各メンバー端末に配布するとともに、各秘密鍵片をデータサーバ及び各メンバー端末に配布する。そして、主端末は、共有情報をデータサーバへ登録する場合、共有情報を公開鍵で暗号化した暗号化情報をデータサーバへ転送する。データサーバは、暗号化情報を受信すると、自身の秘密鍵片で復号し、不完全な復号化情報を生成する。そして、メンバー端末のうちの一つが共有情報を利用する場合、データサーバから暗号化情報及び不完全な復号化情報を取得し、暗号化情報を自身の秘密鍵片で復号し、不完全な復号化情報を生成する。そして、メンバー端末は、この二つの不完全な復号化情報に基づいて共有情報を生成する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−４８４７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載された暗号鍵管理方法では、サーバ装置（主端末）は秘密鍵を直接配布しないため、秘密鍵が第三者に漏洩する危険性を抑制することができる。しかしながら、サーバ装置はあるクライアント装置（メンバー端末）に秘密鍵片を配布しており、秘密鍵片を配布する際、この秘密鍵片が第三者に漏洩する危険性がある。従って、この秘密鍵片を用いると、データサーバから配布される暗号化情報及び不完全な復号化情報をハッキングするだけで、共有情報を復元できてしまうといった危険性がある。更に、サーバ装置にて秘密鍵を変更する毎に、秘密鍵片をクライアント装置に配布し、その都度秘密鍵片を再登録しなければならなかった。
【０００６】
そこで、本発明は、複数のクライアント装置が共通して使用する共有鍵をクライアント装置へ配布することなく、共有鍵を変更しても暗号化情報を復元するために必要となる全ての情報をクライアント装置に改めて配布することなく、より高セキュリティに共有することができる鍵管理システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
かかる課題を解決するために、本発明は、複数のクライアント装置とサーバ装置から構成され、複数のクライアント装置が共通して用いる共有鍵を生成する鍵管理システムであって、サーバ装置は、自装置に付与されたセンター鍵と、クライアント装置ごとに付与されたユーザ鍵と、少なくともユーザ鍵およびセンター鍵を一つの変数に含む共有鍵算出規則を生成するための所定規則を記憶している記憶部と、所定規則にしたがって共有鍵算出規則を生成し、当該共有鍵算出規則から共有鍵を算出する鍵生成手段と、センター鍵またはユーザ鍵と共有鍵算出規則との一義的な関係を含む補完情報をセンター鍵またはユーザ鍵ごとに算出する補完情報算出手段とから構成される鍵管理システムを提供する。
かかる構成により、本発明は、センター鍵およびユーザ鍵をサーバ装置に記憶させると、所定規則にしたがってセンター鍵およびユーザ鍵を変数とした共有鍵算出規則を生成する。そして、センター鍵またはユーザ鍵ごとに、センター鍵またはユーザ鍵と共有鍵算出規則との一義的な関係である補完情報を算出するとともに、かかる共有鍵算出規則にしたがって共有鍵を算出可能にしている。
これにより、ユーザ鍵、センター鍵、ユーザ鍵またはセンター鍵ごとの補完情報、および所定規則が判明すれば、共有鍵算出規則を生成でき共有鍵を得る鍵管理システムが実現できる。
【０００８】
本発明の好適な態様では、クライアント装置は、自装置のユーザ鍵と、当該ユーザ鍵、センター鍵及び補完情報から共有鍵算出規則を生成する復元規則とを記憶したクライアント記憶部と、当該ユーザ鍵に対応する補完情報と、センター鍵と、当該センター鍵に対応する補完情報とをサーバ装置から取得する取得部と、クライアント記憶部に記憶しているユーザ鍵と取得したユーザ鍵の補完情報を用いて復元規則にしたがって共有鍵算出規則に合致した第一要素を求め、センター鍵および当該センター鍵に対応する補完情報を用いて復元規則にしたがって共有鍵算出規則に合致した第二要素を求め、第一要素および第二要素を用いて共有鍵算出規則を復元し、当該共有鍵算出規則から共有鍵を復元する鍵復元手段を具備するのが好ましい。
かかる構成では、クライアント装置に自装置のユーザ鍵と所定規則を記憶しておく。また共有鍵が必要な際には、ユーザ鍵に対応する補完情報、およびセンター鍵と当該センター鍵に対応する補完情報をサーバ装置から取得する。そして、記憶しているユーザ鍵、所定規則、取得したユーザ鍵の補完情報、センター鍵およびセンター鍵の補完情報を用いて共有鍵算出規則を復元した上で、共有鍵を算出できる。
これにより、鍵管理システムでは、共有鍵をクライアント装置に配布する必要がないので、共有鍵の漏洩リスクが低減できる。また、サーバ装置にて、クライアント装置が増減した場合に共有鍵を変更したとしても、既存のユーザ鍵や所定規則に変更を加える必要がないので、クライアント装置では新たな共有鍵の変更を意識することなく新たな共有鍵を得ることができる。
【０００９】
更に、本発明の好適な態様では、所定規則は、記憶部に記憶している全てのセンター鍵およびユーザ鍵に依存した関係を持つ規則であることが好ましい。これにより、クライアント装置が変更されると、その都度使用する共有鍵を変更したいような場合に有効である。
【００１０】
更に、本発明の好適な態様では、所定規則は、センター鍵およびユーザ鍵の鍵値と、当該鍵値のハッシュ値を変数とする線形関数にもとづいて共有鍵算出規則を生成する規則とするのが好ましい。
【００１１】
更に、本発明の好適な態様では、補完情報は、鍵値と線形関数との変位量、またはハッシュ値と線形関数との変位量とするのが好ましい。
更に、本発明の好適な態様では、線形関数は、全ての鍵値またはハッシュ値からの変位量が最小となる関数とするのが好ましい。
【発明の効果】
【００１２】
本発明に係る鍵管理システムは、複数のクライアント装置が共通して使用する共有鍵を、高セキュリティに共有することができるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】本発明の一つの実施形態に係る鍵管理システムの全体システム構成を示す図である。
【図２】鍵生成手段が算出する所定規則に従った共有鍵算出規則の一例を示すグラフである。
【図３】生成手段による共有鍵及び補完情報の生成処理の動作を示すフローチャートである。
【図４】管理手段による復元情報の送信処理の動作を示すフローチャートである。
【図５】鍵復元手段が復元する所定規則に従った共有鍵算出規則の一例を示すグラフである。
【図６】鍵復元手段による共有鍵の復元処理の動作を示すフローチャートである。
【図７】共有鍵を生成する機能と、共有鍵を各クライアント装置に配信する機能とを二台のサーバ装置に分担させる場合の鍵管理システムの全体システム構成を示す図である。
【図８】直線を積分することにより求められる面積を共有鍵とする場合の鍵管理システムの全体システム構成を示す図である。
【図９】（ａ）、（ｂ）は、復号鍵配信手段が配信する復号鍵について説明するためのグラフである。
【図１０】共有鍵及びユーザ鍵を用いて他のクライアント装置の認証処理を行う場合の鍵管理システムの全体システム構成を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の一つの実施形態である鍵管理システムについて図を参照しつつ説明する。図１は、本発明の一つの実施形態に係る鍵管理システム１の全体システム構成を示す図である。図１に示すように、鍵管理システム１は、サーバ装置１０と、サーバ装置１０とネットワークを介して接続される複数のクライアント装置２０とを有する。
【００１５】
サーバ装置１０は、各クライアント装置２０が共通して使用する共有鍵を生成及び更新するとともに、各クライアント装置２０からの要求に従って、共有鍵を復元するための復元情報を各クライアント装置２０に送信する。そのために、サーバ装置１０は、通信部１１と、操作部１２と、記憶部１３と、制御部１４を有する。
【００１６】
通信部１１は、サーバ装置１０をネットワークに接続するためのインターフェース回路を有する。そして、通信部１１は、制御部１４の制御に従って、サーバ装置１０と複数のクライアント装置２０の間の接続処理を行い、サーバ装置１０と各クライアント装置２０の間で接続が確立された後、各クライアント装置２０から共有鍵の復元要求を受信すると、受信した復元要求を制御部１４に通知する。そして、制御部１４から共有鍵を復元するための復元情報を受信すると、復元要求を送信したクライアント装置２０に復元情報を送信する。なお、共有鍵の復元要求には、各クライアント装置２０の利用者を識別するための利用者ＩＤとパスワードが含まれる。また、通信部１１は、上記のような各種情報の送受信が終わると、サーバ装置１０と各クライアント装置２０の間の接続を開放する処理を行う。
【００１７】
操作部１２は、キーボード、マウス、テンキー等の入力デバイスで構成された入力インターフェースであり、管理者からの操作を受け付け、その操作に対応する信号を制御部１４へ出力する。
【００１８】
記憶部１３は、半導体メモリ、磁気記録媒体及びそのアクセス装置並びに光記録媒体及びそのアクセス装置のうちの少なくとも一つを有し、サーバ装置１０を制御するためのコンピュータプログラム、各種パラメータ及びデータなどを記憶する。また、記憶部１３は、センター鍵、センター鍵の補完情報、ユーザ鍵、各ユーザ鍵の補完情報、所定規則を記憶している。センター鍵とはサーバ装置１０が持つ秘密鍵である。ユーザ鍵とはクライアント装置２０が持つ秘密鍵であって、記憶部１３は、共有鍵を利用するクライアント装置全てのユーザ鍵を記憶している。本実施の形態では、センター鍵は、サーバ装置１０に一つだけ設定されるとして説明しているが、これに限られず管理者ごとにセンター鍵を用意しても良い。また、本実施の形態では、ユーザ鍵をクライアント装置２０ごとに一つだけ設定されるとして説明しているが、これに限られず利用者ごとにユーザ鍵を用意してもよい。
補完情報とは、センター鍵またはユーザ鍵と後述する共有鍵算出規則との一義的な関係を持つ情報であって、センター鍵およびユーザ鍵ごとに算出される。本実施の形態では、誤差算出手段１８にて算出する誤差情報である。
所定規則とは、少なくともユーザ鍵およびセンター鍵を一つの変数に含む共有鍵算出規則を生成するための規則である。本実施の形態では、詳細は後述するが、センター鍵およびユーザ鍵の鍵値（変数）による次元と、センター鍵およびユーザ鍵の鍵値のハッシュ値（変数）による次元による二次元座標系を設定し、この座標系にて全てのセンター鍵およびユーザ鍵の鍵値とハッシュ値から最小二乗法を用いて線形関数である一次関数を求めるという規則を採用している。なお、センター鍵とユーザ鍵の鍵値に変更があれば求まる一次関数も異なるので、この規則はセンター鍵とユーザ鍵に依存している。そして、所定規則には、生成した共有鍵算出規則から共有鍵を算出する規則も含まれる。
また、本実施の形態では、線形関数として一次関数としているが、二次関数や三次関数などの多次元関数であって、単純増加または単純減少をしている領域を用いるようにしても良い。また、本実施の形態では、変数としてセンター鍵およびユーザ鍵の鍵値とそのハッシュ値を使用しているが、これに限られずハッシュ値に代えてまたはこれに加えてセンター鍵およびユーザ鍵と一対一に対応される変数を用いても良い。使用する変数が増えると、その分だけ座標系の次元数も増加する。
ここで、共有鍵算出規則について説明する。共有鍵算出規則とは、所定規則に基づき生成される規則であって、共有鍵を決定でき、ユーザ鍵及びセンター鍵及び補完情報から一義的に復元できる規則である。本実施の形態では、ユーザ鍵等を用いて特定される一次関数が該当する。
図示していないが、記憶部１３には、この他に同一の共有鍵を使用するクライアント装置２０の一覧であって、各クライアント装置２０とそのユーザ鍵・利用者ＩＤ及びパスワードを関連付けたクライアント装置リストも記憶されている。
【００１９】
制御部１４は、一個または複数個のプロセッサ及びその周辺回路を有する。そして、制御部１４は、各クライアント装置２０が共通して使用する共有鍵を生成、更新するとともに、各クライアント装置２０からの要求に従って、共有鍵を復元するための復元情報を各クライアント装置２０に送信する。そのために、制御部１４は、そのプロセッサ上で動作するソフトウェアにより実装される機能モジュールとして、生成手段１５と、管理手段１６とを有する。
なお、制御部１４が有するこれらの各部は、独立した集積回路、ファームウェア、マイクロプロセッサなどで構成されてもよい。
以下、制御部１４の各部について詳細に説明する。
【００２０】
生成手段１５は、各クライアント装置２０が共通して使用する共有鍵を生成及び更新する。そのために、生成手段１５は、鍵生成手段１７と、補完情報算出手段の一例である誤差算出手段１８と、更新手段１９とを有する。
【００２１】
鍵生成手段１７は、記憶部１３に記憶している所定規則に従って生成した共有鍵算出規則から共有鍵を算出する。すなわち、鍵生成手段１７は、センター鍵及びユーザ鍵の鍵値による次元と、センター鍵及びユーザ鍵の鍵値のハッシュ値による次元の二次元座標系で、センター鍵及び全てのユーザ鍵について座標点を求める。そして、センター鍵に対応する座標点と、各ユーザ鍵に対応する座標点とを近似的に結ぶ方程式を求める。この求めた方程式が共有鍵算出規則となる。そして、所定規則として記憶している求めた方程式の切片を共有鍵として算出する。つまり、所定規則は、センター鍵及び全てのユーザ鍵の二次元座標系における座標点を近似的に結んで方程式を求めるという規則と、求めた方程式から切片を共有鍵として算出するという規則となり、求めた方程式が共有鍵算出規則となる。
具体的には、所定のハッシュ関数を予め定めておき、鍵生成手段１７は、センター鍵又は各ユーザ鍵について、一方の次元の値をセンター鍵又は各ユーザ鍵自体の鍵値とし、他方の次元の値をそのハッシュ値とする座標点を求める。そして、鍵生成手段１７は、最小二乗法を用いて、センター鍵及び各ユーザ鍵に対応する各座標点を近似的に結ぶ一次方程式、つまり直線を求め、求めた一次方程式の定数項、つまり直線の切片を共有鍵として算出する。
【００２２】
図２は、二次元座標系にセンター鍵及び全てのユーザ鍵に対応する座標点をプロットしたグラフ２００である。図２において、横軸はセンター鍵又は各ユーザ鍵の鍵値を、縦軸はそのハッシュ値を表し、センター鍵又は各ユーザ鍵に対応する点がプロットされている。また、直線２０１は、最小二乗法を用いて求めた、各点を近似的に結ぶ直線を表す。
例えば、横軸をｘ、縦軸をｙとすると、直線２０１は、以下の式で表される。
ｙ＝αｘ＋β  （１）
ここで、αは直線２０１の傾きを表し、βは直線２０１の切片を表す。ここで、点２０２の座標を（ｘi、ｙi）とすると、点２０２と直線２０１とのｙ軸方向の差２０３は（ｙi−αｘi−β）となる。最小二乗法では全ての点について直線とｙ軸方向の差の二乗和が最小となるように直線が算出される。つまり、鍵生成手段１７は、以下の式で算出されるＤの値が最小になるαとβを求めることにより、直線２０２を求める。
【数１】
0005911289.tif 000002
ここで、ｎは、各点の総数を表す。
【００２３】
例えば、グラフ２００上の全ての点に基づいて、最小二乗法により算出した直線２０２は、以下の式で表される。
ｙ＝２１．１２５ｘ＋２０．８７５  （３）
この場合、直線２０１の切片の値である２０．８７５が共有鍵となる。
【００２４】
誤差算出手段１８は、センター鍵又は各ユーザ鍵毎に、鍵生成手段１７が求めた方程式に対するセンター鍵又は各ユーザ鍵に対応する座標点の誤差を算出し、補完情報として記憶部１３に記憶する。例えば、図２に示した例では、点２０２の縦軸方向の値（ハッシュ値）ｙiと、点２０２の横軸方向の値（鍵値）ｘiにおける直線２０１上の縦軸方向の値（αｘi＋β）との差２０３が補完情報となる。あるいは、点２０２の横軸方向の値（鍵値）ｘiと、点２０２の縦軸方向の（ハッシュ値）ｙiにおける直線２０１上の横軸方向の値（（ｙi−β）／α）との差を補完情報としてもよい。
【００２５】
更新手段１９は、鍵管理システム１が有するクライアント装置が変更された場合、各ユーザ鍵が変更された場合等に、管理者からの指示に従って記憶部１３においてユーザ鍵を追加、削除又は変更するとともに、共有鍵を更新する。例えば、鍵管理システム１に新たなクライアント装置が加わる場合、管理者は、そのクライアント装置のユーザ鍵を追加する操作を操作部１２から行う。更新手段１９は、操作部１２を介してユーザ鍵を追加する操作を受け付けると、その操作で指定されたユーザ鍵を記憶部１３に記憶する。同様に、鍵管理システム１からクライアント装置２０のうちの一つが離脱した場合、管理者は、そのクライアント装置のユーザ鍵を削除する操作を操作部１２から行う。更新手段１９は、操作部１２を介してユーザ鍵を削除する操作を受け付けると、その操作で指定されたユーザ鍵を記憶部１３から削除する。また、一部のユーザ鍵が漏洩した場合、管理者は、その漏洩したユーザ鍵を変更する操作を操作部１２から行う。更新手段１９は、操作部１２を介してユーザ鍵を変更する操作を受け付けると、その操作で指定されたユーザ鍵を記憶部１３において変更する。また、更新手段１９は、操作部１２を介した操作で指定されたユーザ鍵を記憶部１３において追加、削除又は変更すると、追加、削除又は変更後のユーザ鍵にあわせて記憶部１３に記憶されたクライアント装置リストを更新する。
【００２６】
そして、更新手段１９は、記憶部１３においてユーザ鍵の追加、削除又は変更を行うと、鍵生成手段１７に、記憶部１３に現在記憶されているセンター鍵と各ユーザ鍵に対して、センター鍵に対応する座標点と、各ユーザ鍵に対応する座標点とを近似的に結ぶ方程式を再度求めさせ、求めた方程式から共有鍵を再度求めさせる。そして、誤差算出手段１８に、記憶部１３に現在記憶されているセンター鍵又はユーザ鍵毎に、求めた方程式に対するセンター鍵又はユーザ鍵に対応する座標点の誤差を算出させる。
【００２７】
例えば、図２に示したグラフ２００において、点２０２以外のグラフ２００上の全ての点に基づいて、最小二乗法により算出した直線は、以下の式で表される。
ｙ＝２１．０１５ｘ＋２０．５５５  （４）
この場合の共有鍵は２０．５５５となる。このように、点２０２に対応するユーザ鍵が存在する場合と存在しない場合とで共有鍵は異なるものとなるので、鍵管理システム１に新たなクライアント装置が加わった場合、又は鍵管理システム１からクライアント装置２０のうちの一つが離脱した場合、そのクライアント装置のユーザ鍵を追加、又は削除した新たな組合せのユーザ鍵を用いて直線を算出しなおすことにより新たな共有鍵を算出することができる。同様に、一部のユーザの鍵が漏洩した場合、その一部のユーザ鍵を変更した新たな組合せのユーザ鍵を用いて直線を算出しなおすことにより新たな共有鍵を算出することができる。
【００２８】
図３は、生成手段１５による共有鍵及び補完情報の生成処理の動作を示すフローチャートである。なお、以下に説明する動作のフローは、予め記憶部１３に記憶されたプログラムに基づき主に制御部１４によりサーバ装置１０の各部と協働して実行される。図３に示すフローチャートは、共有鍵を新規に生成する際、または、共有鍵を更新する際に、操作部１２から管理者が指示すると開始される。
【００２９】
まず、鍵生成手段１７は、記憶部１３から同一の共有鍵を用いるクライアント装置リストを読み出し、読み出したクライアント装置リストに示されるクライアント装置２０のユーザ鍵を抽出する（ステップＳ３０１）。次に、鍵生成手段１７は、センター鍵及び抽出したユーザ鍵の鍵値に対するハッシュ値を算出する（ステップＳ３０２）。次に、鍵生成手段１７は、二次元の座標系において、一方の次元の値をセンター鍵又は各ユーザ鍵自体の鍵値とし、他方の次元の値をそのハッシュ値とする座標点を求める。そして、最小二乗法を用いて、センター鍵及び各ユーザ鍵に対応する各座標点を近似的に結ぶ直線を求める（ステップＳ３０３）。次に、鍵生成手段１７は、求めた直線の切片を共有鍵として算出する（ステップＳ３０４）。
【００３０】
次に、誤差算出手段１８は、記憶部１３からセンター鍵又は各ユーザ鍵を読み出し（ステップＳ３０５）、読み出した鍵を共有鍵の生成に使用したか否かを判定する（ステップＳ３０６）。読み出した鍵を共有鍵の生成に使用した場合、誤差算出手段１８は、ステップＳ３０３で算出した直線に対する、読み出した鍵に対応する座標点の誤差を補完情報として算出する（ステップＳ３０７）。誤差算出手段１８は、例えば、読み出した鍵の鍵値のハッシュ値と、その読み出した鍵の鍵値における直線上の値との差を補完情報として算出する。次に、誤差算出手段１８は、算出した補完情報を読み出した鍵と関連付けて記憶部１３に記憶する（ステップＳ３０８）。次に、誤差算出手段１８は、記憶部１３に記憶されたセンター鍵及び各ユーザ鍵を全て読み出したか否かを判定し（ステップＳ３０９）、まだ読み出していないセンター鍵又は各ユーザ鍵がある場合は、ステップＳ３０５へ移行し、ステップＳ３０５〜Ｓ３０８の処理を繰り返す。一方、センター鍵及び各ユーザ鍵を全て読み出した場合、誤差算出手段１８は、一連のステップを終了する。
【００３１】
管理手段１６は、通信部１１を介してクライアント装置２０のうちの一つから共有鍵の復元要求を受信すると、センター鍵と、そのセンター鍵の補完情報と、共有鍵の復元要求を送信したクライアント装置２０のユーザ鍵の補完情報とを記憶部１３から読み出す。そして、読み出した情報を含む復元情報を通信部１１にそのクライアント装置２０へ送信させる。
【００３２】
図４は、管理手段１６による復元情報の送信処理の動作を示すフローチャートである。なお、以下に説明する動作のフローは、予め記憶部１３に記憶されたプログラムに基づき主に制御部１４によりサーバ装置１０の各部と協働して実行される。
【００３３】
管理手段１６は、クライアント装置２０から共有鍵の復元要求を受信するまで待機する（ステップＳ４０１）。クライアント装置２０から共有鍵の復元要求を受信すると、管理手段１６は、受信した復元要求に含まれる利用者ＩＤ及びパスワードが予め記憶部１３に記憶された利用者ＩＤ及びパスワードと一致するか否かを判定する（ステップＳ４０２）。そして、一致しない場合は一連のステップを終了し、一方、一致する場合はセンター鍵と、そのセンター鍵の補完情報と、共有鍵の復元要求に含まれる利用者ＩＤに関連付けられたクライアント装置２０のユーザ鍵の補完情報とを記憶部１３から読み出す（ステップＳ４０３）。次に、管理手段１６は、読み出した各情報を含む復元情報を通信部１１にそのクライアント装置２０へ送信させ（ステップＳ４０４）、一連のステップを終了する。
【００３４】
図１に戻って、クライアント装置２０は、サーバ装置１０が生成した共有鍵を復元して使用する。そのために、クライアント装置２０は、クライアント通信部２１と、入力部２２と、クライアント記憶部２３と、制御部２４を有する。クライアント装置２０は、例えばパーソナルコンピュータ、携帯電話、携帯情報端末のように利用者が直接操作する装置である。
【００３５】
クライアント通信部２１は、クライアント装置２０をネットワークに接続するためのインターフェース回路を有する。そして、クライアント通信部２１は、制御部２４の制御に従って、クライアント装置２０とサーバ装置１０の間の接続処理を行い、クライアント装置２０とサーバ装置１０の間で接続が確立された後、サーバ装置１０に共有鍵の復元要求を送信するとともに、サーバ装置１０から復元情報を受信する。また、クライアント通信部２１は、上記のような各種情報の送受信が終わると、クライアント装置２０とサーバ装置１０の間の接続を開放する処理を行う。
【００３６】
入力部２２は、キーボード、マウス、テンキー等の入力デバイスで構成された入力インターフェースであり、利用者から利用者ＩＤ、パスワード等を入力する操作を受け付け、その操作に対応する信号を制御部２４へ出力する。
【００３７】
クライアント記憶部２３は、半導体メモリ、磁気記録媒体及びそのアクセス装置並びに光記録媒体及びそのアクセス装置のうちの少なくとも一つを有する。そして、クライアント記憶部２３は、クライアント装置２０を制御するためのコンピュータプログラム、各種パラメータ及びデータなどを記憶する。クライアント記憶部２３は、自装置のユーザ鍵ｋと自装置のユーザ鍵ｋ及び復元情報から共有鍵算出規則を生成するための復元規則及び共有鍵算出規則から共有鍵を求めるための復元規則を記憶している。
【００３８】
制御部２４は、一個または複数個のプロセッサ及びその周辺回路を有する。そして、制御部２４は、センター鍵と、そのセンター鍵の補完情報と、クライアント装置２０のユーザ鍵の補完情報と、そのクライアント装置２０のユーザ鍵とからサーバ装置１０の鍵生成手段１７が生成した直線を復元規則にしたがって算出し、その直線により定まる切片の値を共有鍵として復元する。そのために、制御部２４は、そのプロセッサ上で動作するソフトウェアにより実装される機能モジュールとして、鍵復元手段２５を有する。
なお、制御部２４が有するこれらの各部は、独立した集積回路、ファームウェア、マイクロプロセッサなどで構成されてもよい。
以下、制御部２４の各部について詳細に説明する。
【００３９】
図６は、鍵復元手段２５による共有鍵の復元処理の動作を示すフローチャートである。なお、以下に説明する動作のフローは、予め記憶部２２に記憶されたプログラムに基づき主に制御部２４によりクライアント装置２０の各部と協働して実行される。
【００４０】
まず、鍵復元手段２５は、クライアント通信部２１にサーバ装置１０へ共有鍵の復元要求を送信させる（ステップＳ６０１）。次に、鍵復元手段２５は、クライアント通信部２１を介してサーバ装置１０から復元情報を受信するまで待機する（ステップＳ６０２）。サーバ装置１０から復元情報を受信すると、鍵復元手段２５は、受信した復元情報に含まれるセンター鍵と、そのセンター鍵の補完情報と、ユーザ鍵の補完情報と、クライアント記憶部２０に記憶されているクライアント装置２０のユーザ鍵とからサーバ装置１０の鍵生成手段１７が求めた直線を復元規則にしたがって復元する（ステップＳ６０３）。次に、鍵復元手段２５は、復元した直線から鍵生成手段１７が算出した共有鍵を復元し（ステップＳ６０４）、一連のステップを終了する。
【００４１】
図５を用いて、共有鍵算出規則を復元規則にしたがって復元するステップＳ６０３の処理ついて詳細に説明する。図５は、鍵復元手段２５が復元する直線の一例を示すグラフである。図５において、グラフ５００は鍵復元手段２５が復元する直線を表し、横軸はセンター鍵又は各ユーザ鍵の鍵値を、縦軸はそのハッシュ値を表す。復元規則にしたがって、サーバ装置１０から取得したセンター鍵を２軸にて表す点５０１（１６，３００）を求め、更に点５０１に対して縦軸方向にサーバ装置１０から取得したセンター鍵の補完情報５０３（５８．８７５）を加算した点５０２（１６、３５８．８７５）を求める。また、クライアント記憶部２３に記憶しているユーザ鍵を２軸にて表す点５０４（６，１００）を求め、更に点５０４に対して縦軸方向にサーバ装置１０から取得したユーザ鍵の補完情報５０６（４７．６２５）を加算した点５０５（６、１４７．６２５）を求める。点５０２と点５０５は、サーバ装置１０の鍵生成手段１７が生成した直線上の点となるので、これを結ぶ直線５０７を求めることにより、共有鍵算出規則を復元できる。
すなわち、点５０２の座標は（１６、３５８．８７５）、点５０５の座標は（６、１４７．６２５）なので、直線５０７は次式となる。
ｙ＝２１．１２５ｘ＋２０．８７５  （５）
従って、直線５０７の切片の値である２０．８７５が共有鍵と算出できる。
【００４２】
これにより、鍵管理システムは、サーバ装置１０とクライアント装置２０の間で共有鍵を送受信する必要がなくなり、複数の装置が共通して使用する共有鍵を、高セキュリティに共有することができる。また、クライアント装置では、サーバ装置から受信した情報に基づいて共有鍵を復元することができる。
【００４３】
また、鍵管理システムでは、クライアント装置毎に異なるユーザ鍵を使用しており、サーバ装置は各クライアント装置のユーザ鍵の補完情報をそのクライアント装置に送信するため、あるクライアント装置が他のクライアント装置の補完情報を取得してもユーザ鍵と補完情報は適合しないため、共有鍵を復元することはできない。また、一部のクライアント装置からユーザ鍵が漏洩してしまった場合でも、漏洩したユーザ鍵のみを変更して共有鍵を更新することができるので、他のクライアント装置のユーザ鍵を変更する必要がない。
【００４４】
以上、本発明の好適な実施形態について説明してきたが、本発明はこれらの実施形態に限定されるものではない。例えば、サーバ装置の鍵生成手段は、センター鍵及び各ユーザ鍵に対応する各座標点を近似的に結ぶ直線を算出する場合に、最小二乗法を用いるのではなく、ガウスニュートン法等の他の公知の直線算出手段を用いてもよい。
また、センター鍵又は各ユーザ鍵に対応する各座標点を近似的に結ぶ直線を求める二次元の座標系は、センター鍵又は各ユーザ鍵の鍵値とそのハッシュ値との組み合わせにより表される座標系に限定されない。例えば、所定規則の中で、各次元について各次元の値を算出するためのそれぞれ異なる一次関数を予め定めておき、一方の次元の値を一方の一次関数の、センター鍵又は各ユーザ鍵についての関数値とし、他方の次元の値を他方の一次関数の、センター鍵又は各ユーザ鍵についての関数値としてもよい。
【００４５】
また、サーバ装置の鍵生成手段及びクライアント装置の鍵復元手段は、二次元の座標系において一次方程式を求めるのではなく、三次元以上の多次元の座標系において一次方程式を求めてもよい。
その場合、各クライアント装置は、その座標系の次元数より１少ない数のユーザ鍵を予め記憶しておき、サーバ装置は、全てのクライアント装置の全てのユーザ鍵を予め記憶しておく。サーバ装置の鍵生成手段は、各クライアント装置毎にユーザ鍵を少なくとも一つずつ選択する。そして、多次元の座標系において、センター鍵についてセンター鍵の鍵値を各次元毎に定められる規則にそれぞれ適用することにより一意に定められる値を各次元の値とする座標点を求めるとともに、選択した各ユーザ鍵について各ユーザ鍵の鍵値を上記の規則にそれぞれ適用することにより一意に定められる値を各次元の値とする座標点を求める。そして、センター鍵に対応する座標点と、各ユーザ鍵に対応する座標点とを近似的に結ぶ一次方程式を共有鍵算出規則として求める。例えば、鍵生成手段は、ハッシュ関数をその次元数だけ予め定めておき、センター鍵又は各ユーザ鍵の鍵値の各ハッシュ値を算出する。そして、センター鍵又は各ユーザ鍵について、各次元の値を各ハッシュ値とする座標点を求める。そして、鍵生成手段は、センター鍵及び各ユーザ鍵に対応する各座標点を近似的に結ぶ一次方程式を最小二乗法を用いて算出する。例えば、次元数を（ｍ＋１）とし、各元を（ｙ、ｘ1、ｘ2、・・・、ｘm）とした場合、求める一次方程式は、以下のように表される。
ｙ＝α1ｘ1＋α2ｘ2＋・・・＋αmｘm＋β  （６）
この場合、鍵生成手段は、α1〜αm及びβを求め、α1〜αm及びβのうちの何れかの値又はα1〜αm及びβのうちの何れか値の和、差、積、商、余り等を所定規則にしたがって共有鍵とする。
【００４６】
誤差算出手段は、センター鍵又は各クライアント装置の全てのユーザ鍵について、鍵生成手段が求めた一次方程式に対するセンター鍵又は各ユーザ鍵に対応する座標点の誤差を補完情報として算出する。また、管理手段は、クライアント装置から共有鍵の復元要求を受信すると、センター鍵と、センター鍵の補完情報と、そのクライアント装置の全てのユーザ鍵の補完情報とを復元情報として通信部にそのクライアント装置へ送信させる。
【００４７】
一方、クライアント装置の鍵復元手段は、サーバ装置から復元情報を受信すると、復元規則にしたがって、センター鍵と、センター鍵の補完情報とから、サーバ装置の鍵生成手段が生成した一次方程式を満たす座標点を算出する。さらに、自装置の全てのユーザ鍵と、その全てのユーザ鍵の補完情報からも、鍵生成手段が生成した一次方程式を満たす座標点をそれぞれ算出する。そして、算出した各座標点により一次方程式を復元し、その一次方程式に示される係数又は切片のうちの少なくとも一つに基づく値を復元規則にしたがって共有鍵として復元する。
【００４８】
なお、サーバ装置の鍵生成手段及びクライアント装置の鍵復元手段が求める方程式（共有鍵算出規則）は、一次方程式に限定されず、二次以上の方程式でもよい。方程式の項の数、つまりその方程式において係数がかかっている変数又は０以外の定数を表す項の数の、その方程式を満たす座標点があれば、その方程式を復元することができる。
そこで、例えば、各クライアント装置に対してその方程式の項の数のユーザ鍵を予め定めておく。サーバ装置の誤差算出手段は、鍵生成手段が求めた方程式に対して、各クライアント装置の各ユーザ鍵について補完情報を算出し、管理手段は、復元要求を送信したクライアント装置の全てのユーザ鍵の補完情報を復元情報として通信部にそのクライアント装置へ送信させる。これにより、クライアント装置の鍵復元手段は、自装置の全てのユーザ鍵と、復元情報、つまり全てのユーザ鍵の補完情報とからその方程式の項の数の、その方程式を満たす座標点を算出できるので、方程式を復元することができる。また、この場合、センター鍵自体はネットワークに送信されないため、セキュリティ性を高めることができる。
【００４９】
あるいは、各クライアント装置に対して予め定めておくユーザ鍵の数はその方程式の項の数未満としてもよい。その場合、サーバ装置の管理手段は、復元要求を送信したクライアント装置のユーザ鍵毎の補完情報と、方程式を満たす座標点とを復元情報として通信部にそのクライアント装置へ送信させる。なお、復元情報に含める、方程式を満たす座標点の数は、方程式の項の数から復元情報に含める補完情報の数を減じた数とし、座標点と補完情報は、合計が方程式の項の数となるように選択される。また、復元情報において座標点が少なく補完情報が多いほどセキュリティ性が高くなるが、復元情報に含める補完情報の数は一つ以上であればいくつでもよい。これにより、クライアント装置の鍵復元手段は、自装置のユーザ鍵と復元情報とからその方程式の項の数の、その方程式を満たす座標点を取得できるので、方程式を復元することができる。また、この場合も、センター鍵自体はネットワークに送信されないため、セキュリティ性を高めることができる。
【００５０】
また、共有鍵を生成する機能と、共有鍵を各クライアント装置に配信する機能とを二台のサーバ装置に分担させてもよい。図７は、共有鍵を生成する機能と、共有鍵を各クライアント装置に配信する機能とを二台のサーバ装置に分担させる場合の鍵管理システムの全体システム構成を示す図である。図７に示す鍵管理システム２と、図１に示す鍵管理システム１との差異は、鍵管理システム２が二つのサーバ装置で構成される点である。すなわち、鍵管理システム２では、サーバ装置１０が有する機能を、鍵管理サーバ装置３０と鍵生成サーバ装置４０が実現する。
鍵管理サーバ装置３０は、通信部３１と、操作部３２と、記憶部３３と、制御部３４とを有する。通信部３１、操作部３２、記憶部３３及び制御部３４の構成は、図１に示すサーバ装置１０の通信部１１、操作部１２、記憶部１３及び制御部１４の構成と同様であるため、詳細な説明を省略する。
また、鍵生成サーバ装置４０は、通信部４１と、操作部４２と、記憶部４３と、制御部４４とを有する。通信部４１、操作部４２、記憶部４３及び制御部４４の構成も、図１に示すサーバ装置１０の通信部１１、操作部１２、記憶部１３及び制御部１４の構成と同様であるため、詳細な説明を省略する。
鍵管理サーバ装置３０の通信部３１と鍵生成サーバ装置４０の通信部４１は、ネットワークを介して相互に接続される。ただし、鍵管理サーバ装置３０の通信部３１は、鍵生成サーバ装置４０以外の装置とも通信するが、鍵生成サーバ装置４０の通信部４１は、鍵管理サーバ装置３０以外の装置とは通信しない。また、鍵管理サーバ装置３０の制御部３４は管理手段３５を有し、鍵生成サーバ装置４０の制御部４４は生成手段４５を有する。この管理手段３５及び生成手段４５は、それぞれ図１に示す管理手段１６及び生成手段１５と同様の機能を有する。
【００５１】
鍵管理システム２では、前述した図３、４、６のフローチャートに示す処理とほぼ同様の処理を実行することができる。鍵管理システム２では、鍵管理サーバ装置３０の記憶部３３及び鍵生成サーバ装置４０の記憶部４３に予めセンター鍵が記憶される。また鍵生成サーバ装置４０の記憶部４３に予め各クライアント装置のユーザ鍵が記憶される。鍵生成サーバ装置４０の生成手段４５は、図３のフローチャートに示す処理を実行して、共有鍵及び補完情報を生成し、生成したセンター鍵の補完情報及び全てのユーザ鍵の補完情報を鍵管理サーバ装置３０に送信する。一方、鍵管理サーバ装置３０は、受信したセンター鍵の補完情報及び全てのユーザ鍵の補完情報を記憶部３３に記憶する。また、鍵管理サーバ装置３０の制御部３４は、通信部３１を介してクライアント装置２０から共有鍵の復元要求を受信すると、図４のフローチャートに示す処理を実行する。
【００５２】
また、鍵生成サーバ装置が算出した直線の切片を共有鍵とするのではなく、例えば、直線の傾きを共有鍵としてもよい。あるいは、直線の切片と傾きの和、差、積、商、余り等を共有鍵としてもよい。あるいは、直線を積分することにより求められる面積を共有鍵としてもよい。所定規則及び復元規則に、共有鍵算出規則から共有鍵を算出する規則として記憶させればよい。
【００５３】
図８は、所定規則により直線を積分することにより求められる面積を共有鍵とする場合の鍵管理システムの全体システム構成を示す図である。図８に示す鍵管理システム３と、図７に示す鍵管理システム２との差異は、鍵管理システム３が、ネットワークを介して接続される復号鍵配信サーバ５０を更に有する点である。
復号鍵配信サーバ５０は、通信部５１と、操作部５２と、記憶部５３と、制御部５４を有する。通信部５１、操作部５２、記憶部５３及び制御部５４の構成は、図１に示すサーバ装置１０の通信部１１、操作部１２、記憶部１３及び制御部１４の構成と同様であるため、詳細な説明を省略する。復号鍵配信サーバ５０の通信部５１は、ネットワークを介して、クライアント装置２０、鍵管理サーバ装置３０及び鍵生成サーバ装置４０と接続される。また、制御部５４は復号鍵配信手段５５を有する。復号鍵配信手段５５は、通信部５１にクライアント装置２０、鍵管理サーバ装置３０及び鍵生成サーバ装置４０へ復号鍵を配信させる。
【００５４】
図９（ａ）、（ｂ）は、復号鍵配信手段５５が配信する復号鍵について説明するためのグラフである。図９（ａ）において、グラフ９００は鍵生成サーバ装置４０が生成する直線を表し、横軸はセンター鍵又は各ユーザ鍵の鍵値を、縦軸はそのハッシュ値を表す。点９０２〜９０７はセンター鍵及び各ユーザ鍵について対応する座標を表し、直線９０１は、最小二乗法を用いて求めた、各点９０２〜９０７を近似的に結ぶ直線を表す。一方、図９（ｂ）において、グラフ９１０は直線９０１を積分した２次曲線を表し、横軸はセンター鍵又は各ユーザ鍵の鍵値を、縦軸はそのハッシュ値を表す。鍵管理システム４では、横軸上の０からｋｆまでの区間において、２次曲線８１１により定まる面積８１２を共有鍵とする。そのために、復号鍵配信手段５５は、積分区間を示す値ｋｆを復号鍵として各クライアント装置２０及び鍵生成サーバ装置４０に送信する。そして、各クライアント装置２０及び鍵生成サーバ装置４０は、それぞれ生成した直線を積分し、受信した復号鍵が示す積分区間についてその面積を算出し、共有鍵とする。
【００５５】
これにより、鍵管理システム３は、共有鍵のセキュリティ性をより向上させることが可能となる。特に、大多数の利用者が結託して、ユーザ鍵の鍵値とそのハッシュ値とを成分とする二次元の座標系において各ユーザ鍵に対応する座標点が略直線上に並ぶようにユーザ鍵を定めることにより、直線の傾き及び切片がその結託した利用者により操作された場合であっても、共有鍵自体のセキュリティ性を維持することができる。また、ユーザ鍵の補完情報が漏洩してしまった場合であっても共有鍵のセキュリティ性を保つことができる。
【００５６】
また、以上の説明では、共有鍵算出規則はセンター鍵及びユーザ鍵を座標点とした座標系から近似して求める方程式とする場合を説明してきたが、共有鍵算出規則はサーバ装置の記憶部に予めテーブルとして記憶しておいてもよい。このとき、所定規則は、共有鍵算出規則をテーブルからどのように選択し、何を共有鍵とするかを規定する。
例えば、上述した直線の式（３）と式（４）を順にサーバ装置の記憶部にテーブルに記憶し、所定規則は、テーブルを参照して上から順に記載された式を共有鍵算出規則として選択するという規則と、共有鍵算出規則となった式の切片を共有鍵として算出するという規則とする。このとき、初回に所定規則にしたがって算出される共有鍵算出規則は、式（３）となり、式（３）の切片２０．８７５が共有鍵として算出される。また、次に所定規則にしたがって算出される共有鍵算出規則は、式（４）となり、同様に式（４）の切片２０．５５５が共有鍵として算出される。このように、複数の共有鍵算出規則をテーブルに予め記憶しておき、共有鍵を生成する際、所定規則にしたがって共有鍵算出規則を選択して用いてもよい。
【００５７】
また、本発明の鍵管理システムによる共有鍵を暗号鍵として用いる場合、公開鍵暗号方式と共通鍵暗号方式の双方に用いることが可能である。本発明の鍵管理システムによって算出される共有鍵を、公開鍵暗号方式に用いるシステムに適用する場合、算出される共有鍵を鍵ペアの秘密鍵として用い、その秘密鍵と対になる公開鍵を生成し、鍵ペアとして用いればよい。また、本発明の鍵管理システムによって算出される共有鍵を、共通鍵暗号方式を用いるシステムに適用する場合、本発明による共有鍵を共通鍵として用いればよい。
【００５８】
また、本発明の鍵管理システムによる共有鍵は、暗号鍵として共有するファイルの暗号に用いる他、認証用途でも用いることができる。例えば、クライアント装置は、共有鍵及びユーザ鍵を用いて他のクライアント装置の認証処理を行ってもよい。図１０は、共有鍵及びユーザ鍵を用いて他のクライアント装置の認証処理を行う場合の鍵管理システムの全体システム構成を示す図である。図１に示す鍵管理システム１と、図１０に示す鍵管理システム４との差異は、鍵管理システム４の各クライアント装置６０の制御部６４がさらに認証手段６６を有する点である。
クライアント装置６０は、通信部６１と、入力部６２と、記憶部６３と、制御部６４を有する。通信部６１、入力部６２、記憶部６３及び制御部６４の構成は、図１に示すクライアント装置２０の通信部２１、入力部２２、記憶部２３及び制御部２４の構成と同様であるため、詳細な説明を省略する。制御部６４は、鍵送信手段６５及び鍵復元手段６５に加えて認証手段６６を有する。認証手段６６は、通信部６１を介して他のクライアント装置６０から認証要求を受け付ける。認証を受ける側のクライアント装置６０は、認証する側のクライアント装置６０に、認証要求とともに自身のユーザ鍵ｋ’を送信する。認証する側のクライアント装置６０は、サーバ装置１０からセンター鍵と、センター鍵の補完情報と、自身のユーザ鍵ｋの補完情報と、認証を受ける側のクライアント装置６０のユーザ鍵ｋ’の補完情報を取得する。そして、センター鍵と、センター鍵の補完情報と、自身のユーザ鍵ｋと、その補完情報とから共有鍵を復元するとともに、センター鍵と、センター鍵の補完情報と、認証を受ける側のクライアント装置６０のユーザ鍵ｋ’と、その補完情報とからも共有鍵を復元する。そして、復元した二つの共有鍵が一致すれば、認証を受ける側のクライアント装置の認証に成功したと判定し、二つの共有鍵が一致しなければ、認証を受ける側のクライアント装置の認証に失敗したと判定する。
【００５９】
これにより、鍵管理システム４では、不特定多数の利用者により構成されるＰ２Ｐネットワーク等において、既に認証成功と判定されているクライアント装置が、共有鍵及びユーザ鍵を用いて他のクライアント装置の認証処理を行うことが可能となる。
【００６０】
このように、当業者は、本発明の範囲内で、実施される形態に合わせて様々な変更を行うことができる。
【符号の説明】
【００６１】
１、２、３、４    鍵管理システム
１０    サーバ装置
１１、３１、４１、５１    通信部
１２、３２、４２、５２    操作部
１３、３３、４３、５３    記憶部
１４、３４、４４、５４    制御部
１５、４５    生成手段
１６、３５    管理手段
１７、４６    鍵生成手段
１８、４７    誤差算出手段
１９、４８    更新手段
２０、６０    クライアント装置
２１、６１    クライアント通信部
２２、６２    入力部
２３、６３    クライアント記憶部
２４、６４    制御部
２５、６５    鍵復元手段
３０    鍵管理サーバ装置
４０    鍵生成サーバ装置
５０    復号鍵配信サーバ装置
５５    復号鍵配信手段
６６    認証手段
【図１】
0005911289.tif 000003
【図２】
0005911289.tif 000004
【図３】
0005911289.tif 000005
【図４】
0005911289.tif 000006
【図５】
0005911289.tif 000007
【図６】
0005911289.tif 000008
【図７】
0005911289.tif 000009
【図８】
0005911289.tif 000010
【図９】
0005911289.tif 000011
【図１０】
0005911289.tif 000012