(57)【特許請求の範囲】
【請求項１】
通信を行う通信端末と、前記通信端末が通信に利用する鍵の利用適格を検証する検証センタとを通信可能に接続し、前記検証センタによる認証を得て、前記通信端末が通信するメッセージを演算する鍵管理システムであって、
前記検証センタは、前記鍵を秘密分散法により分散した分散鍵のうち第１分散鍵を検証用生体情報と対応付けて記憶するための第１分散鍵記憶手段と、前記通信端末との通信に先立って前記通信端末との間で暗号化通信路を確立する第１確立手段とを有し、前記暗号化通信路を通じて前記メッセージ及び生体情報を受信したときは、該受信した生体情報及び前記第１分散鍵記憶手段の検証用生体情報に基づいて前記鍵の利用適格を検証し、その検証により認証が得られたときは、前記第１分散鍵記憶手段の第１分散鍵のうち前記検証に用いた検証用生体情報に対応するものに基づいて、前記受信したメッセージを演算し、その演算メッセージを前記暗号化通信路を通じて前記通信端末に送信し、
前記通信端末は、前記分散鍵のうち第２分散鍵を記憶するための第２分散鍵記憶手段と、前記生体情報を入力する生体情報入力手段と、前記検証センタとの通信に先立って前記検証センタとの間で前記暗号化通信路を確立する第２確立手段とを有し、前記メッセージ及び前記生体情報入力手段で入力した生体情報を前記暗号化通信路を通じて前記検証センタに送信し、前記暗号化通信路を通じて前記演算メッセージを受信したときは、前記第２分散鍵記憶手段の第２分散鍵に基づいて、前記受信した演算メッセージを演算し、
前記第１確立手段は、第１乱数を受信したときは、第２乱数を生成し、前記受信した第１乱数及び前記生成した第２乱数に基づいて第１暗号鍵を生成し、前記第１分散鍵記憶手段の第１分散鍵及び前記生成した第２乱数に基づいて演算値を生成し、該生成した演算値を前記通信端末に送信する第１暗号鍵生成手段と、暗号鍵の更新に用いる更新鍵を生成し、前記生成した更新鍵に基づいて、当該検証センタが保持している第１暗号鍵を更新し、前記生成した更新鍵を前記通信端末に送信する第１暗号鍵更新手段と、前記第１暗号鍵に基づいて前記暗号化通信路を確立する第１暗号化通信路確立手段とを有し、
前記第２確立手段は、前記第１乱数を生成し、該生成した第１乱数を前記検証センタに送信し、前記演算値を受信したときは、該受信した演算値、前記第２分散鍵記憶手段の第２分散鍵、及び前記分散鍵に対応する検証鍵に基づいて前記第２乱数を取得し、前記生成した第１乱数及び前記取得した第２乱数に基づいて、前記第１暗号鍵に対応する第２暗号鍵を生成する第２暗号鍵生成手段と、前記更新鍵を受信したときは、該受信した更新鍵に基づいて、当該通信端末が保持している第２暗号鍵を更新する第２暗号鍵更新手段と、前記第２暗号鍵に基づいて前記暗号化通信路を確立する第２暗号化通信路確立手段とを有し、
初回の通信については前記第１暗号鍵生成手段及び前記第２暗号鍵生成手段を、２回目以降の通信については前記第１暗号鍵更新手段及び前記第２暗号鍵更新手段を実行することを特徴とする秘密分散法による鍵管理システム。
【請求項２】
請求項１において、
前記通信端末は、前記メッセージ及び前記生体情報の送信に先立って前記検証センタの正当性を検証し、その検証より認証が得られた場合に限り、前記メッセージ及び前記生体情報を前記検証センタに送信するようになっていることを特徴とする秘密分散法による鍵管理システム。
【請求項３】
請求項１及び２のいずれかにおいて、
前記通信端末は、複数の暗号化アルゴリズム又はＭＡＣ（Message Authentication Code）アルゴリズムのなかから前記暗号化通信路の確立に用いるものを前記検証センタとのネゴシエーションにより決定し、該決定した暗号化アルゴリズム又はＭＡＣアルゴリズムに基づいて前記暗号化通信路を確立するようになっており、
前記検証センタは、前記複数の暗号化アルゴリズム又はＭＡＣアルゴリズムのなかから前記暗号化通信路の確立に用いるものを前記通信端末とのネゴシエーションにより決定し、該決定した暗号化アルゴリズム又はＭＡＣアルゴリズムに基づいて前記暗号化通信路を確立するようになっていることを特徴とする秘密分散法による鍵管理システム。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記通信端末は、前記第１暗号鍵、ＭＡＣ鍵及びＩＶ（Initialization Vector）を生成し、該生成した第１暗号鍵、ＭＡＣ鍵及びＩＶに基づいて前記暗号化通信路を確立するようになっており、
前記検証センタは、前記通信端末で生成した前記第１暗号鍵、ＭＡＣ鍵及びＩＶに対応する前記第２暗号鍵、ＭＡＣ鍵及びＩＶを生成し、該生成した第２暗号鍵、ＭＡＣ鍵及びＩＶに基づいて前記暗号化通信路を確立するようになっていることを特徴とする秘密分散法による鍵管理システム。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記鍵は、公開鍵暗号方式における秘密鍵、共通鍵暗号方式における共通鍵、ＭＡＣ鍵及びＩＶのうちいずれかであることを特徴とする秘密分散法による鍵管理システム。
【請求項６】
請求項１記載の秘密分散法による鍵管理システムにおける検証センタであって、
前記第１分散鍵記憶手段と、前記第１確立手段とを備え、
前記暗号化通信路を通じて前記メッセージ及び前記生体情報を受信したときは、該受信した生体情報及び前記第１分散鍵記憶手段の検証用生体情報に基づいて前記鍵の利用適格を検証し、その検証により認証が得られたときは、前記第１分散鍵記憶手段の第１分散鍵のうち前記検証に用いた検証用生体情報に対応するものに基づいて、前記受信したメッセージを演算し、その演算メッセージを前記暗号化通信路を通じて前記通信端末に送信し、
前記通信端末との初回の通信については前記第１暗号鍵生成手段を、前記通信端末との２回目以降の通信については前記第１暗号鍵更新手段を実行することを特徴とする検証センタ。
【請求項７】
請求項６において、
請求項３記載の秘密分散法による鍵管理システムにおける通信端末と通信可能に接続し、
前記複数の暗号化アルゴリズム又はＭＡＣアルゴリズムのなかから前記暗号化通信路の確立に用いるものを前記通信端末とのネゴシエーションにより決定し、該決定した暗号化アルゴリズム又はＭＡＣアルゴリズムに基づいて前記暗号化通信路を確立するようになっていることを特徴とする検証センタ。
【請求項８】
請求項６及び７のいずれかにおいて、
請求項４記載の秘密分散法による鍵管理システムにおける通信端末と通信可能に接続し、
前記通信端末で生成した前記第１暗号鍵、ＭＡＣ鍵及びＩＶに対応する前記第２暗号鍵、ＭＡＣ鍵及びＩＶを生成し、該生成した第２暗号鍵、ＭＡＣ鍵及びＩＶに基づいて前記暗号化通信路を確立するようになっていることを特徴とする検証センタ。
【請求項９】
請求項６乃至８のいずれかにおいて、
前記鍵は、公開鍵暗号方式における秘密鍵、共通鍵暗号方式における共通鍵、ＭＡＣ鍵及びＩＶのうちいずれかであることを特徴とする検証センタ。
【請求項１０】
請求項１記載の秘密分散法による鍵管理システムにおける通信端末であって、
前記第２分散鍵記憶手段と、前記生体情報入力手段と、前記第２確立手段とを備え、
前記メッセージ及び前記生体情報入力手段で入力した生体情報を前記暗号化通信路を通じて前記検証センタに送信し、前記暗号化通信路を通じて前記演算メッセージを受信したときは、前記第２分散鍵記憶手段の第２分散鍵に基づいて、前記受信した演算メッセージを演算し、
前記検証センタとの初回の通信については前記第２暗号鍵生成手段を、前記検証センタとの２回目以降の通信については前記第２暗号鍵更新手段を実行することを特徴とする通信端末。
【請求項１１】
請求項１０において、
請求項２記載の秘密分散法による鍵管理システムにおける検証センタと通信可能に接続し、
前記メッセージ及び前記生体情報の送信に先立って前記検証センタの正当性を検証し、その検証より認証が得られた場合に限り、前記メッセージ及び前記生体情報を前記検証センタに送信するようになっていることを特徴とする通信端末。
【請求項１２】
請求項１０及び１１のいずれかにおいて、
請求項３記載の秘密分散法による鍵管理システムにおける検証センタと通信可能に接続し、
複数の暗号化アルゴリズム又はＭＡＣアルゴリズムのなかから前記暗号化通信路の確立に用いるものを前記検証センタとのネゴシエーションにより決定し、該決定した暗号化アルゴリズム又はＭＡＣアルゴリズムに基づいて前記暗号化通信路を確立するようになっていることを特徴とする通信端末。
【請求項１３】
請求項１０乃至１２のいずれかにおいて、
請求項４記載の秘密分散法による鍵管理システムにおける検証センタと通信可能に接続し、
前記第１暗号鍵、ＭＡＣ鍵及びＩＶを生成し、該生成した第１暗号鍵、ＭＡＣ鍵及びＩＶに基づいて前記暗号化通信路を確立するようになっていることを特徴とする通信端末。
【請求項１４】
請求項１０乃至１３のいずれかにおいて、
前記鍵は、公開鍵暗号方式における秘密鍵、共通鍵暗号方式における共通鍵、ＭＡＣ鍵及びＩＶのうちいずれかであることを特徴とする通信端末。
【請求項１５】
コンピュータからなる請求項６記載の検証センタに実行させるためのプログラムであって、
前記第１確立手段として実現される処理、
前記暗号化通信路を通じて前記メッセージ及び前記生体情報を受信したときは、該受信した生体情報及び前記第１分散鍵記憶手段の検証用生体情報に基づいて前記鍵の利用適格を検証し、その検証により認証が得られたときは、前記第１分散鍵記憶手段の第１分散鍵のうち前記検証に用いた検証用生体情報に対応するものに基づいて、前記受信したメッセージを演算し、その演算メッセージを前記暗号化通信路を通じて前記通信端末に送信する処理、並びに
前記通信端末との初回の通信については前記第１暗号鍵生成手段を、前記通信端末との２回目以降の通信については前記第１暗号鍵更新手段を実行する処理を実行させるためのプログラムであることを特徴とする検証センタ用プログラム。
【請求項１６】
請求項１５において、
コンピュータからなる請求項７記載の検証センタに対して、
前記複数の暗号化アルゴリズム又はＭＡＣアルゴリズムのなかから前記暗号化通信路の確立に用いるものを前記通信端末とのネゴシエーションにより決定し、該決定した暗号化アルゴリズム又はＭＡＣアルゴリズムに基づいて前記暗号化通信路を確立する処理を実行させるためのプログラムであることを特徴とする検証センタ用プログラム。
【請求項１７】
請求項１５及び１６のいずれかにおいて、
コンピュータからなる請求項８記載の検証センタに対して、
前記第１暗号鍵、ＭＡＣ鍵及びＩＶに対応する前記第２暗号鍵、ＭＡＣ鍵及びＩＶを生成し、該生成した第２暗号鍵、ＭＡＣ鍵及びＩＶに基づいて前記暗号化通信路を確立する処理を実行させるためのプログラムであることを特徴とする検証センタ用プログラム。
【請求項１８】
請求項１５乃至１７のいずれかにおいて、
前記鍵は、公開鍵暗号方式における秘密鍵、共通鍵暗号方式における共通鍵、ＭＡＣ鍵及びＩＶのうちいずれかであることを特徴とする検証センタ用プログラム。
【請求項１９】
コンピュータからなる請求項１０記載の通信端末に実行させるためのプログラムであって、
前記生体情報入力手段及び前記第２確立手段として実現される処理、
前記メッセージ及び前記生体情報入力手段で入力した生体情報を前記暗号化通信路を通じて前記検証センタに送信し、前記暗号化通信路を通じて前記演算メッセージを受信したときは、前記第２分散鍵記憶手段の第２分散鍵に基づいて、前記受信した演算メッセージを演算する処理、並びに
前記検証センタとの初回の通信については前記第２暗号鍵生成手段を、前記検証センタとの２回目以降の通信については前記第２暗号鍵更新手段を実行する処理を実行させるためのプログラムであることを特徴とする通信端末用プログラム。
【請求項２０】
請求項１９において、
コンピュータからなる請求項１１記載の通信端末に実行させるためのプログラムであって、
前記メッセージ及び前記生体情報の送信に先立って前記検証センタの正当性を検証し、その検証より認証が得られた場合に限り、前記メッセージ及び前記生体情報を前記検証センタに送信する処理を実行させるためのプログラムであることを特徴とする通信端末用プログラム。
【請求項２１】
請求項１９及び２０のいずれかにおいて、
コンピュータからなる請求項１２記載の通信端末に実行させるためのプログラムであって、
複数の暗号化アルゴリズム又はＭＡＣアルゴリズムのなかから前記暗号化通信路の確立に用いるものを前記検証センタとのネゴシエーションにより決定し、該決定した暗号化アルゴリズム又はＭＡＣアルゴリズムに基づいて前記暗号化通信路を確立する処理を実行させるためのプログラムであることを特徴とする通信端末用プログラム。
【請求項２２】
請求項１９乃至２１のいずれかにおいて、
コンピュータからなる請求項１３記載の通信端末に実行させるためのプログラムであって、
前記第１暗号鍵、ＭＡＣ鍵及びＩＶを生成し、該生成した第１暗号鍵、ＭＡＣ鍵及びＩＶに基づいて前記暗号化通信路を確立する処理を実行させるためのプログラムであることを特徴とする通信端末用プログラム。
【請求項２３】
請求項１９乃至２２のいずれかにおいて、
前記鍵は、公開鍵暗号方式における秘密鍵、共通鍵暗号方式における共通鍵、ＭＡＣ鍵及びＩＶのうちいずれかであることを特徴とする通信端末用プログラム。
【請求項２４】
通信を行う通信端末と、前記通信端末が通信に利用する鍵の利用適格を検証する検証センタとを通信可能に接続し、前記検証センタによる認証を得て、前記通信端末が通信するメッセージを演算する方法であって、
前記検証センタに対しては、
前記通信端末との通信に先立って前記通信端末との間で暗号化通信路を確立する第１確立ステップを含み、前記暗号化通信路を通じて前記メッセージ及び生体情報を受信したときは、該受信した生体情報及び前記鍵を秘密分散法により分散した分散鍵のうち第１分散鍵を検証用生体情報と対応付けて記憶するための第１分散鍵記憶手段の検証用生体情報に基づいて前記鍵の利用適格を検証し、その検証により認証が得られたときは、前記第１分散鍵記憶手段の第１分散鍵のうち前記検証に用いた検証用生体情報に対応するものに基づいて、前記受信したメッセージを演算し、その演算メッセージを前記暗号化通信路を通じて前記通信端末に送信し、
前記通信端末に対しては、
前記生体情報を入力する生体情報入力ステップと、前記検証センタとの通信に先立って前記検証センタとの間で前記暗号化通信路を確立する第２確立ステップとを含み、前記メッセージ及び前記生体情報入力ステップで入力した生体情報を前記暗号化通信路を通じて前記検証センタに送信し、前記暗号化通信路を通じて前記演算メッセージを受信したときは、前記分散鍵のうち第２分散鍵を記憶するための第２分散鍵記憶手段の第２分散鍵に基づいて、前記受信した演算メッセージを演算し、
前記第１確立ステップは、第１乱数を受信したときは、第２乱数を生成し、前記受信した第１乱数及び前記生成した第２乱数に基づいて第１暗号鍵を生成し、前記第１分散鍵記憶手段の第１分散鍵及び前記生成した第２乱数に基づいて演算値を生成し、該生成した演算値を前記通信端末に送信する第１暗号鍵生成ステップと、暗号鍵の更新に用いる更新鍵を生成し、該生成した更新鍵に基づいて、当該検証センタが保持している第１暗号鍵を更新し、前記生成した更新鍵を前記通信端末に送信する第１暗号鍵更新ステップと、前記第１暗号鍵に基づいて前記暗号化通信路を確立する第１暗号化通信路確立ステップとを含み、
前記第２確立ステップは、前記第１乱数を生成し、該生成した第１乱数を前記検証センタに送信し、前記演算値を受信したときは、該受信した演算値、前記第２分散鍵記憶手段の第２分散鍵、及び前記分散鍵に対応する検証鍵に基づいて前記第２乱数を取得し、前記生成した第１乱数及び前記取得した第２乱数に基づいて、前記第１暗号鍵に対応する第２暗号鍵を生成する第２暗号鍵生成ステップと、前記更新鍵を受信したときは、該受信した更新鍵に基づいて、当該通信端末が保持している第２暗号鍵を更新する第２暗号鍵更新ステップと、前記第２暗号鍵に基づいて前記暗号化通信路を確立する第２暗号化通信路確立ステップとを含み、
初回の通信については前記第１暗号鍵生成ステップ及び前記第２暗号鍵生成ステップを、２回目以降の通信については前記第１暗号鍵更新ステップ及び前記第２暗号鍵更新ステップを実行することを特徴とする秘密分散法による鍵管理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、通信端末が通信に利用する鍵を秘密分散法により管理するシステム、検証センタ、通信端末およびプログラム、並びに方法に係り、特に、通信端末が通信に利用する鍵を管理するにあたってセキュリティを向上するのに好適な秘密分散法による鍵管理システム、検証センタ、通信端末、検証センタ用プログラム、通信端末用プログラム、並びに秘密分散法による鍵管理方法に関する。現在、データの秘匿、相手認証、鍵交換、データの完全性のチェック等様々な用途で暗号化システムが利用されている。そのため、正規ユーザ以外の第三者が暗号鍵を利用できた場合、暗号化した機密ファイルが復号化され第三者に機密情報が漏洩する、または、なりすましに利用されデータベースに不正にアクセスされるといった深刻な被害が予想される。そこで、暗号化システムにおいては、正規ユーザのみが利用できるように暗号鍵を厳重に管理する（鍵管理）ことが求められる。本発明は、正規ユーザ以外の第三者が暗号鍵を利用することを困難にするものである。
【０００２】
【従来の技術】
従来では、正規ユーザ以外の第三者に暗号鍵を利用させないために、次の２つの仕組みが用いられている。一つは、暗号鍵を保管している通信端末がユーザを認証し、正規ユーザとして判断したときのみ通信端末が暗号鍵を用いた演算処理を行う仕組み。もう一つは、通信端末内に保管している暗号鍵を第三者に盗まれないための仕組みである。
【０００３】
前者の仕組みにおいては、通信端末がユーザを認証するためのユーザ認証方式が重要となるが、現在これには、ＩＤ／バスワード等の知識に基づく方法やＩＣチップ等の物理的な持ち物に基づく方法がよく利用されている。しかし、人間は複雑なバスワードを記憶するのに適していない、または物理的な持ち物は紛失・盗難の危険性等があることから、これらの認証方式はネットビジネスやイントラネットへのアクセス制御等の高い信頼性が求められる利用用途においては必ずしも適切な認証方式ではない。そこで、これらのユーザ認証方式の代わりに現在注目されているのが、個人に固有な生体情報に基づきユーザを認証するバイオ認証である。
【０００４】
バイオ認証は、指紋・声紋等の人間が生来持っている固有情報に基づき相手認証を行うユーザ認証方法である。現在、バイオ認証では、あらかじめ登録した生体情報と認証時に測定した生体情報を比較照合し、両者の誤差がある特定の許容範囲内であるか否かによりユーザ認証を行っている。利用者固有の情報を用いるため、何かを携帯・記憶する必要がないのに加え、偽造するのが困難であることから、現在注目されているユーザ認証方式の一つである。
【０００５】
次に、後者の暗号鍵を第三者に盗まれないための仕組みであるが、これには、現在耐タンパ性のデバイスを用いる方法がよく利用されている。耐タンパ性のデバイスとは、内容検知および改竄の困難なデバイスの総称で、ＩＣチップ等が用いられている。耐タンパ性のデバイスに暗号鍵を保管することにより、もしデバイスを盗まれた場合でも、なかに保管されている暗号鍵が漏洩する危険性を低下させることができる。
【０００６】
暗号化システムの暗号鍵管理に、バイオ認証と耐タンパ性のデバイスを使用した従来方式を図１２に示す。具体的な内容は、「http://www.sdl.hitachi.co.jp/japanese/results/thema/exp/rd200124.htm」のＵＲＬ（Universal Resource Locater）により特定されるホームページに掲載されている。ユーザの生体情報および鍵情報は、耐タンパ性の通信端末に保管する。通信端末は、バイオ認証によりユーザを認証し、正規ユーザとして認証した場合のみ暗号鍵を用いた演算処理を行う。これにより、正規ユーザ以外の第三者が通信端末を利用しても、暗号鍵を用いた演算処理を行うことも、なかに保存されている生体情報および鍵情報を盗むことも困難となる。
【０００７】
従来、個人認証または暗号化通信に関する技術としては、特開2001-216270号公報に開示された認証システム（以下、第１の従来例という。）、特開2002-7352号公報に開示された個人認証システム（以下、第２の従来例という。）および特開2001-202012号公報に開示された移動エージェントによる署名計算システム（以下、第３の従来例という。）があった。
【０００８】
第１の従来例は、ＰＫＩ認証局が有するディレクトリサーバおよびユーザの生体的特徴に基づく生体情報を照合可能な生体情報照合サーバを有する認証局と、認証局とネットワークによって接続されたユーザ端末とを備えており、ユーザ端末から生体情報を送信し、認証局は、生体情報照合サーバによって、ユーザから送信された生体情報とあらかじめ登録されたユーザの生体情報とを照合する。
【０００９】
これにより、認証局は、ディレクトリサーバによってデジタル証明書の有効性をチェックできるとともに、生体情報を照合することによって個人認証をすることができる。
第２の従来例は、アプリケーションサービスを提供するアプリケーションサーバと、ユーザが使用するクライアント端末と、ユーザを認証する認証サーバとが互いにネットワークを介して接続される認証システムであって、クライアント端末を操作するユーザの生体情報を取得して認証サーバに送信し、あらかじめ認証サーバのディジタル証明書内に格納された生体情報と照合してユーザが正規なユーザであるか否かを判断し、この判断により正規なユーザである場合は、伝文を暗号化して伝送する。
【００１０】
これにより、認証の安全性を高め、ディジタル証明書を認証サーバからダウンロードする場合もＩＤやパスワード等の入力無しに自動的に認証サーバからディジタル証明書をダウンロード可能にする。
第３の従来例は、移動エージェントが起動されるベースホストにおいて、移動エージェントの所有者の秘密鍵を、部分署名補助データ生成部によってｋ個の移動先ホストの秘密鍵を用いた演算を行うことで初めて復元可能となるような形態に分割する。移動エージェントが訪れる各移動先ホストは、移動エージェントに格納されたデータと移動先ホストの秘密鍵とを部分署名計算部への入力として部分署名を計算し、ｋ個のホストが計算した部分署名から部分署名署名化部を用いて実際の署名を得る。
【００１１】
これにより、プログラム・コードおよびデータを解析されても、移動先のホストに署名を偽造されない形で移動エージェントにデータを保持させ、移動先のホストで提示された任意のデータに対してディジタル署名を計算させるようにする。
【００１２】
【発明が解決しようとする課題】
近年、携帯端末の普及により、第三者に通信端末が晒される機会が増大しており、以前にも増して生体情報・鍵情報が漏洩しない仕組みが重要となっている。上記従来技術では、これに対し耐タンパ性のデバイスを用いることで対応している。しかしながら、耐タンパ性のデバイスは、なかにある情報を取り出すことを困難にはしてくれるものの完全に防止することができるわけではない。そこで、特にモバイル環境においては、耐タンパ性のデバイスだけに依存しない生体情報・鍵情報の管理方法が求められる。
【００１３】
また、第１の従来例にあっては、バイオ認証によりユーザ認証を行う構成であるため、これを暗号鍵の管理に適用した場合には、通信端末が利用する暗号鍵が第三者に漏洩する可能性を低減することが可能である。しかしながら、通信端末が利用する暗号鍵を生体情報照合サーバにおいた場合、生体情報照合サーバとユーザ端末との間でどうしても暗号鍵の送受信を行わなければならないため、暗号鍵を通信している最中に盗聴等により暗号鍵が第三者に漏洩する可能性があり、セキュリティ面で十分であるとは言い難い。このことは、第２の従来においても同じである。
【００１４】
また、第３の従来例にあっては、暗号鍵を秘密分散法により分散した分散暗号鍵を移動エージェントおよび複数の移動ホストにおいておくため、暗号鍵を通信している最中に盗聴等により暗号鍵が第三者に漏洩する可能性を低減することが可能である。しかしながら、移動エージェントにおいて暗号鍵の利用適格を検証することが不十分であるため、移動エージェントが第三者に無断で利用された場合は、暗号鍵が漏洩する可能性がある。また、分散暗号鍵をそのまま通信する構成となっているため、通信している最中にすべての分散暗号鍵が盗聴されれば、暗号鍵が復元され第三者に利用されてしまう。したがって、セキュリティ面で十分であるとは言い難い。
【００１５】
そこで、本発明は、このような従来の技術の有する未解決の課題に着目してなされたものであって、通信端末が通信に利用する鍵を管理するにあたってセキュリティを向上するのに好適な秘密分散法による鍵管理システム、検証センタ、通信端末、検証センタ用プログラム、通信端末用プログラム、並びに秘密分散法による鍵管理方法を提供することを目的としている。
【００１６】
【課題を解決するための手段】
上記目的を達成するために、発明１の秘密分散法による鍵管理システムは、通信を行う通信端末と、前記通信端末が通信に利用する鍵の利用適格を検証する検証センタとを通信可能に接続し、前記検証センタによる認証を得て、前記通信端末が通信するメッセージを演算するシステムであって、前記検証センタには、前記鍵を秘密分散法により分散した分散鍵のうち第１分散鍵を検証用生体情報と対応付けて記憶させておくとともに、前記通信端末には、前記分散鍵のうち第２分散鍵を記憶させておき、前記通信端末で入力した生体情報および前記検証用生体情報に基づいて前記鍵の利用適格を検証し、その検証により認証が得られたときは、前記検証に用いた検証用生体情報に対応する第１分散鍵、および前記第２分散鍵に基づいて前記メッセージを演算するようになっている。
【００１７】
このような構成であれば、通信端末で生体情報が入力されると、入力された生体情報および検証用生体情報に基づいて鍵の利用適格が検証される。その検証により認証が得られると、検証に用いた検証用生体情報に対応する第１分散鍵、および第２分散鍵に基づいてメッセージが演算される。
ここで、分散鍵による演算は、検証センタで先に行ってもよいし、通信端末で先に行ってもよい。具体的には、前者の場合、通信端末は、メッセージおよび生体情報を検証センタに送信し、検証センタは、メッセージおよび生体情報を受信したときは、受信した生体情報に基づいて検証を行い、認証が得られたときは、第１分散鍵に基づいてメッセージを演算して通信端末に送信し、通信端末は、演算メッセージを受信したときは、第２分散鍵に基づいて演算メッセージをさらに演算する。また、後者の場合、通信端末は、第２分散鍵に基づいてメッセージを演算し、演算メッセージおよび生体情報を検証センタに送信し、検証センタは、演算メッセージおよび生体情報を受信したときは、受信した生体情報に基づいて検証を行い、認証が得られたときは、第１分散鍵に基づいて、受信した演算メッセージをさらに演算して通信端末に送信する。以下、発明４０の秘密分散法による鍵管理方法において同じである。
【００１８】
また、鍵は、複数の分散鍵に分散すればよく、２つの分散鍵に分散するに限らず、３つ以上の分散鍵に分散してもよい。以下、発明１０の検証センタ、発明１７の通信端末、発明２５の検証センタ用プログラム、発明３２の通信端末用プログラム、および発明４０の秘密分散法による鍵管理方法において同じである。
【００１９】
また、演算とは、所定の演算方法により通信対象データを演算して他の内容のデータに置き換えることをいい、鍵とは、通信対象データを演算するために必要な情報をいう。したがって、演算には、暗号化、復号化、署名およびＭＡＣが含まれる。以下、発明１０の検証センタ、発明１７の通信端末、発明２５の検証センタ用プログラム、発明３２の通信端末用プログラム、および発明４０の秘密分散法による鍵管理方法において同じである。
【００２０】
さらに、発明２の秘密分散法による鍵管理システムは、発明１の秘密分散法による鍵管理システムにおいて、前記検証センタは、前記第１分散鍵を前記検証用生体情報と対応付けて記憶するための第１分散鍵記憶手段を有し、前記メッセージおよび前記生体情報を受信したときは、受信した生体情報および前記第１分散鍵記憶手段の検証用生体情報に基づいて前記鍵の利用適格を検証し、その検証により認証が得られたときは、前記第１分散鍵記憶手段の第１分散鍵のうち前記検証に用いた検証用生体情報に対応するものに基づいて、前記受信したメッセージを演算し、その演算メッセージを前記通信端末に送信するようになっており、前記通信端末は、前記第２分散鍵を記憶するための第２分散鍵記憶手段と、前記生体情報を入力する生体情報入力手段とを有し、前記メッセージおよび前記生体情報入力手段で入力した生体情報を前記検証センタに送信し、その送信により前記演算メッセージを受信したときは、前記第２分散鍵記憶手段の第２分散鍵に基づいて、前記受信した演算メッセージを演算するようになっている。
【００２１】
このような構成であれば、通信端末では、生体情報入力手段から生体情報が入力されると、入力された生体情報およびメッセージが検証センタに送信される。
検証センタでは、メッセージおよび生体情報を受信すると、受信した生体情報および第１分散鍵記憶手段の検証用生体情報に基づいて鍵の利用適格が検証される。その検証により認証が得られると、第１分散鍵記憶手段の第１分散鍵のうち検証に用いた検証用生体情報に対応するものに基づいて、受信したメッセージが演算され、その演算メッセージが通信端末に送信される。
【００２２】
通信端末では、演算メッセージを受信すると、第２分散鍵記憶手段の第２分散鍵に基づいて、受信した演算メッセージが演算される。
ここで、第１分散鍵記憶手段は、第１分散鍵および検証用生体情報をあらゆる手段でかつあらゆる時期に記憶するものであり、第１分散鍵および検証用生体情報をあらかじめ記憶してあるものであってもよいし、第１分散鍵および検証用生体情報をあらかじめ記憶することなく、本システムの動作時に外部からの入力等によって第１分散鍵および検証用生体情報を記憶するようになっていてもよい。以下、発明１０の検証センタ、および発明２５の検証センタ用プログラムにおいて同じである。
【００２３】
また、第２分散鍵記憶手段は、第２分散鍵をあらゆる手段でかつあらゆる時期に記憶するものであり、第２分散鍵をあらかじめ記憶してあるものであってもよいし、第２分散鍵をあらかじめ記憶することなく、本システムの動作時に外部からの入力等によって第２分散鍵を記憶するようになっていてもよい。以下、発明１７の通信端末、および発明３２の通信端末用プログラムにおいて同じである。
【００２４】
さらに、発明３の秘密分散法による鍵管理システムは、発明２の秘密分散法による鍵管理システムにおいて、前記通信端末は、前記メッセージおよび前記生体情報の送信に先立って機密保持、相手認証またはデータ改竄防止のための特定通信路を前記検証センタとの間で確立し、前記メッセージ、前記生体情報および前記演算メッセージに関する送受信を前記特定通信路を通じて行うようになっており、前記検証センタは、前記メッセージおよび前記生体情報の受信に先立って前記通信端末との間で前記特定通信路を確立し、前記メッセージ、前記生体情報および前記演算メッセージに関する送受信を前記特定通信路を通じて行うようになっている。
【００２５】
このような構成であれば、通信端末では、メッセージおよび生体情報の送信に先立って検証センタとの間で特定通信路が確立され、メッセージ、生体情報および演算メッセージに関する送受信が特定通信路を通じて行われる。
これと同様に、検証センタでは、メッセージおよび生体情報の受信に先立って通信端末との間で特定通信路が確立され、メッセージ、生体情報および演算メッセージに関する送受信が特定通信路を通じて行われる。
【００２６】
さらに、発明４の秘密分散法による鍵管理システムは、発明３の秘密分散法による鍵管理システムにおいて、前記通信端末は、前記メッセージおよび前記生体情報の送信に先立って前記検証センタの正当性を検証し、その検証より認証が得られた場合に限り、前記メッセージおよび前記生体情報を前記検証センタに送信するようになっている。
【００２７】
このような構成であれば、通信端末では、メッセージおよび生体情報の送信に先立って検証センタの正当性が検証され、その検証より認証が得られた場合に限り、メッセージおよび生体情報が検証センタに送信される。
さらに、発明５の秘密分散法による鍵管理システムは、発明３および４のいずれかの秘密分散法による鍵管理システムにおいて、前記通信端末は、前記メッセージおよび前記生体情報の送信に先立って前記検証センタとの間で暗号化通信路を確立し、前記メッセージ、前記生体情報および前記演算メッセージに関する送受信を前記暗号化通信路を通じて行うようになっており、前記検証センタは、前記メッセージおよび前記生体情報の受信に先立って前記通信端末との間で前記暗号化通信路を確立し、前記メッセージ、前記生体情報および前記演算メッセージに関する送受信を前記暗号化通信路を通じて行うようになっている。
【００２８】
このような構成であれば、通信端末では、メッセージおよび生体情報の送信に先立って検証センタとの間で暗号化通信路が確立され、メッセージ、生体情報および演算メッセージに関する送受信が暗号化通信路を通じて行われる。
これと同様に、検証センタでは、メッセージおよび生体情報の受信に先立って通信端末との間で暗号化通信路が確立され、メッセージ、生体情報および演算メッセージに関する送受信が暗号化通信路を通じて行われる。
【００２９】
さらに、発明６の秘密分散法による鍵管理システムは、発明５の秘密分散法による鍵管理システムにおいて、前記通信端末は、複数の暗号化アルゴリズムまたはＭＡＣアルゴリズムのなかから前記暗号化通信路の確立に用いるものを前記検証センタとのネゴシエーションにより決定し、決定した暗号化アルゴリズムまたはＭＡＣアルゴリズムに基づいて前記暗号化通信路を確立するようになっており、前記検証センタは、前記複数の暗号化アルゴリズムまたはＭＡＣアルゴリズムのなかから前記暗号化通信路の確立に用いるものを前記通信端末とのネゴシエーションにより決定し、決定した暗号化アルゴリズムまたはＭＡＣアルゴリズムに基づいて前記暗号化通信路を確立するようになっている。
【００３０】
このような構成であれば、通信端末では、検証センタとのネゴシエーションにより、複数の暗号化アルゴリズムまたはＭＡＣアルゴリズムのなかから暗号化通信路の確立に用いるものが決定され、決定された暗号化アルゴリズムまたはＭＡＣアルゴリズムに基づいて暗号化通信路が確立される。
これと同様に、検証センタでは、通信端末とのネゴシエーションにより、複数の暗号化アルゴリズムまたはＭＡＣアルゴリズムのなかから暗号化通信路の確立に用いるものが決定され、決定された暗号化アルゴリズムまたはＭＡＣアルゴリズムに基づいて暗号化通信路が確立される。
【００３１】
さらに、発明７の秘密分散法による鍵管理システムは、発明５および６のいずれかの秘密分散法による鍵管理システムにおいて、前記通信端末は、前記暗号化通信路の確立に用いる暗号鍵、ＭＡＣ鍵およびＩＶを生成し、生成した暗号鍵、ＭＡＣ鍵およびＩＶに基づいて前記暗号化通信路を確立するようになっており、前記検証センタは、前記通信端末で生成した暗号鍵、ＭＡＣ鍵およびＩＶに対応する暗号鍵、ＭＡＣ鍵およびＩＶを生成し、生成した暗号鍵、ＭＡＣ鍵およびＩＶに基づいて前記暗号化通信路を確立するようになっている。
【００３２】
このような構成であれば、通信端末では、暗号化通信路の確立に用いる暗号鍵、ＭＡＣ鍵およびＩＶが生成され、生成された暗号鍵、ＭＡＣ鍵およびＩＶに基づいて暗号化通信路が確立される。
検証センタでは、通信端末で生成された暗号鍵、ＭＡＣ鍵およびＩＶに対応する暗号鍵、ＭＡＣ鍵およびＩＶが生成され、生成された暗号鍵、ＭＡＣ鍵およびＩＶに基づいて暗号化通信路が確立される。
【００３３】
さらに、発明８の秘密分散法による鍵管理システムは、発明７の秘密分散法による鍵管理システムにおいて、前記検証センタは、前記暗号鍵、ＭＡＣ鍵およびＩＶの更新に用いる更新鍵を生成し、生成した更新鍵に基づいて、当該検証センタが保持している暗号鍵、ＭＡＣ鍵およびＩＶを更新し、生成した更新鍵を前記通信端末に送信するようになっており、前記通信端末は、前記更新鍵を受信したときは、受信した更新鍵に基づいて、当該通信端末が保持している暗号鍵、ＭＡＣ鍵およびＩＶを更新するようになっている。
【００３４】
このような構成であれば、検証センタでは、暗号鍵、ＭＡＣ鍵およびＩＶの更新に用いる更新鍵が生成され、生成された更新鍵に基づいて、検証センタが保持している暗号鍵、ＭＡＣ鍵およびＩＶが更新されるとともに、生成された更新鍵が通信端末に送信される。
通信端末では、更新鍵を受信すると、受信した更新鍵に基づいて、通信端末が保持している暗号鍵、ＭＡＣ鍵およびＩＶが更新される。
【００３５】
さらに、発明９の秘密分散法による鍵管理システムは、発明１ないし８のいずれかの秘密分散法による鍵管理システムにおいて、前記鍵は、公開鍵暗号方式における秘密鍵、共通鍵暗号方式における共通鍵、ＭＡＣ鍵およびＩＶのうちいずれかである。
このような構成であれば、第１分散鍵および第２分散鍵に基づいて演算された場合、その演算データは、公開鍵暗号方式における秘密鍵、共通鍵暗号方式における共通鍵、ＭＡＣ鍵およびＩＶのうちいずれかに基づいて暗号化されたデータとなる。
【００３６】
一方、上記目的を達成するために、発明１０の検証センタは、発明２の秘密分散法による鍵管理システムにおける通信端末と通信可能に接続し、前記通信端末が通信に利用する鍵の利用適格を検証する検証センタであって、前記第１分散鍵を前記検証用生体情報と対応付けて記憶するための第１分散鍵記憶手段を備え、前記メッセージおよび前記生体情報を受信したときは、受信した生体情報および前記第１分散鍵記憶手段の検証用生体情報に基づいて前記鍵の利用適格を検証し、その検証により認証が得られたときは、前記第１分散鍵記憶手段の第１分散鍵のうち前記検証に用いた検証用生体情報に対応するものに基づいて、前記受信したメッセージを演算し、その演算メッセージを前記通信端末に送信するようになっている。
【００３７】
このような構成であれば、発明２の秘密分散法による鍵管理システムにおける検証センタと同等の作用が得られる。
さらに、発明１１の検証センタは、発明１０の検証センタにおいて、発明３の秘密分散法による鍵管理システムにおける通信端末と通信可能に接続し、前記メッセージおよび前記生体情報の受信に先立って機密保持、相手認証またはデータ改竄防止のための特定通信路を前記通信端末との間で確立し、前記メッセージ、前記生体情報および前記演算メッセージに関する送受信を前記特定通信路を通じて行うようになっている。
【００３８】
このような構成であれば、発明３の秘密分散法による鍵管理システムにおける検証センタと同等の作用が得られる。
さらに、発明１２の検証センタは、発明１１の検証センタにおいて、発明５の秘密分散法による鍵管理システムにおける通信端末と通信可能に接続し、前記メッセージおよび前記生体情報の受信に先立って前記通信端末との間で前記暗号化通信路を確立し、前記メッセージ、前記生体情報および前記演算メッセージに関する送受信を前記暗号化通信路を通じて行うようになっている。
【００３９】
このような構成であれば、発明５の秘密分散法による鍵管理システムにおける検証センタと同等の作用が得られる。
さらに、発明１３の検証センタは、発明１２の検証センタにおいて、発明６の秘密分散法による鍵管理システムにおける通信端末と通信可能に接続し、前記複数の暗号化アルゴリズムまたはＭＡＣアルゴリズムのなかから前記暗号化通信路の確立に用いるものを前記通信端末とのネゴシエーションにより決定し、決定した暗号化アルゴリズムまたはＭＡＣアルゴリズムに基づいて前記暗号化通信路を確立するようになっている。
【００４０】
このような構成であれば、発明６の秘密分散法による鍵管理システムにおける検証センタと同等の作用が得られる。
さらに、発明１４の検証センタは、発明１２および１３のいずれかの検証センタにおいて、発明７の秘密分散法による鍵管理システムにおける通信端末と通信可能に接続し、前記通信端末で生成した暗号鍵、ＭＡＣ鍵およびＩＶに対応する暗号鍵、ＭＡＣ鍵およびＩＶを生成し、生成した暗号鍵、ＭＡＣ鍵およびＩＶに基づいて前記暗号化通信路を確立するようになっている。
【００４１】
このような構成であれば、発明７の秘密分散法による鍵管理システムにおける検証センタと同等の作用が得られる。
さらに、発明１５の検証センタは、発明１４の検証センタにおいて、発明８の秘密分散法による鍵管理システムにおける通信端末と通信可能に接続し、前記暗号鍵、ＭＡＣ鍵およびＩＶの更新に用いる更新鍵を生成し、生成した更新鍵に基づいて、当該検証センタが保持している暗号鍵、ＭＡＣ鍵およびＩＶを更新し、生成した更新鍵を前記通信端末に送信するようになっている。
【００４２】
このような構成であれば、発明８の秘密分散法による鍵管理システムにおける検証センタと同等の作用が得られる。
さらに、発明１６の検証センタは、発明１０ないし１５のいずれかの検証センタにおいて、前記鍵は、公開鍵暗号方式における秘密鍵、共通鍵暗号方式における共通鍵、ＭＡＣ鍵およびＩＶのうちいずれかである。
【００４３】
このような構成であれば、発明９の秘密分散法による鍵管理システムにおける検証センタと同等の作用が得られる。
一方、上記目的を達成するために、発明１７の通信端末は、発明２の秘密分散法による鍵管理システムにおける検証センタと通信可能に接続し、前記検証センタによる認証を得て通信を行う端末であって、前記第２分散鍵を記憶するための第２分散鍵記憶手段と、前記生体情報を入力する生体情報入力手段とを備え、前記メッセージおよび前記生体情報入力手段で入力した生体情報を前記検証センタに送信し、その送信により前記演算メッセージを受信したときは、前記第２分散鍵記憶手段の第２分散鍵に基づいて、前記受信した演算メッセージを演算するようになっている。
【００４４】
このような構成であれば、発明２の秘密分散法による鍵管理システムにおける通信端末と同等の作用が得られる。
さらに、発明１８の通信端末は、発明１７の通信端末において、発明３の秘密分散法による鍵管理システムにおける検証センタと通信可能に接続し、前記メッセージおよび前記生体情報の送信に先立って機密保持、相手認証またはデータ改竄防止のための特定通信路を前記検証センタとの間で確立し、前記メッセージ、前記生体情報および前記演算メッセージに関する送受信を前記特定通信路を通じて行うようになっている。
【００４５】
このような構成であれば、発明３の秘密分散法による鍵管理システムにおける通信端末と同等の作用が得られる。
さらに、発明１９の通信端末は、発明１８の通信端末において、発明４の秘密分散法による鍵管理システムにおける検証センタと通信可能に接続し、前記メッセージおよび前記生体情報の送信に先立って前記検証センタの正当性を検証し、その検証より認証が得られた場合に限り、前記メッセージおよび前記生体情報を前記検証センタに送信するようになっている。
【００４６】
このような構成であれば、発明４の秘密分散法による鍵管理システムにおける通信端末と同等の作用が得られる。
さらに、発明２０の通信端末は、発明１８および１９のいずれかの通信端末において、発明５の秘密分散法による鍵管理システムにおける検証センタと通信可能に接続し、前記メッセージおよび前記生体情報の送信に先立って前記検証センタとの間で暗号化通信路を確立し、前記メッセージ、前記生体情報および前記演算メッセージに関する送受信を前記暗号化通信路を通じて行うようになっている。
【００４７】
このような構成であれば、発明５の秘密分散法による鍵管理システムにおける通信端末と同等の作用が得られる。
さらに、発明２１の通信端末は、発明２０の通信端末において、発明６の秘密分散法による鍵管理システムにおける検証センタと通信可能に接続し、複数の暗号化アルゴリズムまたはＭＡＣアルゴリズムのなかから前記暗号化通信路の確立に用いるものを前記検証センタとのネゴシエーションにより決定し、決定した暗号化アルゴリズムまたはＭＡＣアルゴリズムに基づいて前記暗号化通信路を確立するようになっている。
【００４８】
このような構成であれば、発明６の秘密分散法による鍵管理システムにおける通信端末と同等の作用が得られる。
さらに、発明２２の通信端末は、発明２０および２１のいずれかの通信端末において、発明７の秘密分散法による鍵管理システムにおける検証センタと通信可能に接続し、前記暗号化通信路の確立に用いる暗号鍵、ＭＡＣ鍵およびＩＶを生成し、生成した暗号鍵、ＭＡＣ鍵およびＩＶに基づいて前記暗号化通信路を確立するようになっている。
【００４９】
このような構成であれば、発明７の秘密分散法による鍵管理システムにおける通信端末と同等の作用が得られる。
さらに、発明２３の通信端末は、発明２２の通信端末において、発明８の秘密分散法による鍵管理システムにおける検証センタと通信可能に接続し、前記更新鍵を受信したときは、受信した更新鍵に基づいて、当該通信端末が保持している暗号鍵、ＭＡＣ鍵およびＩＶを更新するようになっている。
【００５０】
このような構成であれば、発明８の秘密分散法による鍵管理システムにおける通信端末と同等の作用が得られる。
さらに、発明２４の通信端末は、発明１７ないし２３のいずれかの通信端末において、前記鍵は、公開鍵暗号方式における秘密鍵、共通鍵暗号方式における共通鍵、ＭＡＣ鍵およびＩＶのうちいずれかである。
【００５１】
このような構成であれば、発明９の秘密分散法による鍵管理システムにおける通信端末と同等の作用が得られる。
一方、上記目的を達成するために、発明２５の検証センタ用プログラムは、コンピュータからなる発明１０の検証センタに実行させるためのプログラムであって、前記メッセージおよび前記生体情報を受信したときは、受信した生体情報および前記第１分散鍵記憶手段の検証用生体情報に基づいて前記鍵の利用適格を検証し、その検証により認証が得られたときは、前記第１分散鍵記憶手段の第１分散鍵のうち前記検証に用いた検証用生体情報に対応するものに基づいて、前記受信したメッセージを演算し、その演算メッセージを前記通信端末に送信する処理を実行させるためのプログラムである。
【００５２】
このような構成であれば、検証センタによってプログラムが読み取られ、読み取られたプログラムに従って検証センタが処理を実行すると、発明１０の検証センタと同等の作用が得られる。
さらに、発明２６の検証センタ用プログラムは、発明２５の検証センタ用プログラムにおいて、コンピュータからなる発明１１の検証センタに対して、前記メッセージおよび前記生体情報の受信に先立って機密保持、相手認証またはデータ改竄防止のための特定通信路を前記通信端末との間で確立し、前記メッセージ、前記生体情報および前記演算メッセージに関する送受信を前記特定通信路を通じて行う処理を実行させるためのプログラムである。
【００５３】
このような構成であれば、検証センタによってプログラムが読み取られ、読み取られたプログラムに従って検証センタが処理を実行すると、発明１１の検証センタと同等の作用が得られる。
さらに、発明２７の検証センタ用プログラムは、発明２６の検証センタ用プログラムにおいて、コンピュータからなる発明１２の検証センタに対して、前記メッセージおよび前記生体情報の受信に先立って前記通信端末との間で前記暗号化通信路を確立し、前記メッセージ、前記生体情報および前記演算メッセージに関する送受信を前記暗号化通信路を通じて行う処理を実行させるためのプログラムである。
【００５４】
このような構成であれば、検証センタによってプログラムが読み取られ、読み取られたプログラムに従って検証センタが処理を実行すると、発明１２の検証センタと同等の作用が得られる。
さらに、発明２８の検証センタ用プログラムは、発明２７の検証センタ用プログラムにおいて、コンピュータからなる発明１３の検証センタに対して、前記複数の暗号化アルゴリズムまたはＭＡＣアルゴリズムのなかから前記暗号化通信路の確立に用いるものを前記通信端末とのネゴシエーションにより決定し、決定した暗号化アルゴリズムまたはＭＡＣアルゴリズムに基づいて前記暗号化通信路を確立する処理を実行させるためのプログラムである。
【００５５】
このような構成であれば、検証センタによってプログラムが読み取られ、読み取られたプログラムに従って検証センタが処理を実行すると、発明１３の検証センタと同等の作用が得られる。
さらに、発明２９の検証センタ用プログラムは、発明２７および２８のいずれかの検証センタ用プログラムにおいて、コンピュータからなる発明１４の検証センタに対して、前記通信端末で生成した暗号鍵、ＭＡＣ鍵およびＩＶに対応する暗号鍵、ＭＡＣ鍵およびＩＶを生成し、生成した暗号鍵、ＭＡＣ鍵およびＩＶに基づいて前記暗号化通信路を確立する処理を実行させるためのプログラムである。
【００５６】
このような構成であれば、検証センタによってプログラムが読み取られ、読み取られたプログラムに従って検証センタが処理を実行すると、発明１４の検証センタと同等の作用が得られる。
さらに、発明３０の検証センタ用プログラムは、発明２９の検証センタ用プログラムにおいて、コンピュータからなる発明１５の検証センタに対して、前記暗号鍵、ＭＡＣ鍵およびＩＶの更新に用いる更新鍵を生成し、生成した更新鍵に基づいて、当該検証センタが保持している暗号鍵、ＭＡＣ鍵およびＩＶを更新し、生成した更新鍵を前記通信端末に送信する処理を実行させるためのプログラムである。
【００５７】
このような構成であれば、検証センタによってプログラムが読み取られ、読み取られたプログラムに従って検証センタが処理を実行すると、発明１５の検証センタと同等の作用が得られる。
さらに、発明３１の検証センタ用プログラムは、発明２５ないし３０のいずれかの検証センタ用プログラムにおいて、前記鍵は、公開鍵暗号方式における秘密鍵、共通鍵暗号方式における共通鍵、ＭＡＣ鍵およびＩＶのうちいずれかである。
【００５８】
このような構成であれば、検証センタによってプログラムが読み取られ、読み取られたプログラムに従って検証センタが処理を実行すると、発明１６の検証センタと同等の作用が得られる。
一方、上記目的を達成するために、発明３２の通信端末用プログラムは、コンピュータからなる発明１７の通信端末に実行させるためのプログラムであって、前記メッセージおよび前記生体情報入力手段で入力した生体情報を前記検証センタに送信し、その送信により前記演算メッセージを受信したときは、前記第２分散鍵記憶手段の第２分散鍵に基づいて、前記受信した演算メッセージを演算する処理を実行させるためのプログラムである。
【００５９】
このような構成であれば、通信端末によってプログラムが読み取られ、読み取られたプログラムに従って通信端末が処理を実行すると、発明１７の通信端末と同等の作用が得られる。
さらに、発明３３の通信端末用プログラムは、発明３２の通信端末用プログラムにおいて、コンピュータからなる発明１８の通信端末に実行させるためのプログラムであって、前記メッセージおよび前記生体情報の送信に先立って機密保持、相手認証またはデータ改竄防止のための特定通信路を前記検証センタとの間で確立し、前記メッセージ、前記生体情報および前記演算メッセージに関する送受信を前記特定通信路を通じて行う処理を実行させるためのプログラムである。
【００６０】
このような構成であれば、通信端末によってプログラムが読み取られ、読み取られたプログラムに従って通信端末が処理を実行すると、発明１８の通信端末と同等の作用が得られる。
さらに、発明３４の通信端末用プログラムは、発明３３の通信端末用プログラムにおいて、コンピュータからなる発明１９の通信端末に実行させるためのプログラムであって、前記メッセージおよび前記生体情報の送信に先立って前記検証センタの正当性を検証し、その検証より認証が得られた場合に限り、前記メッセージおよび前記生体情報を前記検証センタに送信する処理を実行させるためのプログラムである。
このような構成であれば、通信端末によってプログラムが読み取られ、読み取られたプログラムに従って通信端末が処理を実行すると、発明１９の通信端末と同等の作用が得られる。
【００６１】
さらに、発明３５の通信端末用プログラムは、発明３３および３４のいずれかの通信端末用プログラムにおいて、コンピュータからなる発明２０の通信端末に実行させるためのプログラムであって、前記メッセージおよび前記生体情報の送信に先立って前記検証センタとの間で暗号化通信路を確立し、前記メッセージ、前記生体情報および前記演算メッセージに関する送受信を前記暗号化通信路を通じて行う処理を実行させるためのプログラムである。
【００６２】
このような構成であれば、通信端末によってプログラムが読み取られ、読み取られたプログラムに従って通信端末が処理を実行すると、発明２０の通信端末と同等の作用が得られる。
さらに、発明３６の通信端末用プログラムは、発明３５の通信端末用プログラムにおいて、コンピュータからなる発明２１の通信端末に実行させるためのプログラムであって、複数の暗号化アルゴリズムまたはＭＡＣアルゴリズムのなかから前記暗号化通信路の確立に用いるものを前記検証センタとのネゴシエーションにより決定し、決定した暗号化アルゴリズムまたはＭＡＣアルゴリズムに基づいて前記暗号化通信路を確立する処理を実行させるためのプログラムである。
【００６３】
このような構成であれば、通信端末によってプログラムが読み取られ、読み取られたプログラムに従って通信端末が処理を実行すると、発明２１の通信端末と同等の作用が得られる。
さらに、発明３７の通信端末用プログラムは、発明３５および３６のいずれかの通信端末用プログラムにおいて、コンピュータからなる発明２２の通信端末に実行させるためのプログラムであって、前記暗号化通信路の確立に用いる暗号鍵、ＭＡＣ鍵およびＩＶを生成し、生成した暗号鍵、ＭＡＣ鍵およびＩＶに基づいて前記暗号化通信路を確立する処理を実行させるためのプログラムである。
【００６４】
このような構成であれば、通信端末によってプログラムが読み取られ、読み取られたプログラムに従って通信端末が処理を実行すると、発明２２の通信端末と同等の作用が得られる。
さらに、発明３８の通信端末用プログラムは、発明３７の通信端末用プログラムにおいて、コンピュータからなる発明２３の通信端末に実行させるためのプログラムであって、前記更新鍵を受信したときは、受信した更新鍵に基づいて、当該通信端末が保持している暗号鍵、ＭＡＣ鍵およびＩＶを更新する処理を実行させるためのプログラムである。
【００６５】
このような構成であれば、通信端末によってプログラムが読み取られ、読み取られたプログラムに従って通信端末が処理を実行すると、発明２３の通信端末と同等の作用が得られる。
さらに、発明３９の通信端末用プログラムは、発明３２ないし３８のいずれかの通信端末用プログラムにおいて、前記鍵は、公開鍵暗号方式における秘密鍵、共通鍵暗号方式における共通鍵、ＭＡＣ鍵およびＩＶのうちいずれかである。
【００６６】
このような構成であれば、通信端末によってプログラムが読み取られ、読み取られたプログラムに従って通信端末が処理を実行すると、発明２４の通信端末と同等の作用が得られる。
一方、上記目的を達成するために、発明４０の秘密分散法による鍵管理方法は、通信を行う通信端末と、前記通信端末が通信に利用する鍵の利用適格を検証する検証センタとを通信可能に接続し、前記検証センタによる認証を得て、前記通信端末が通信するメッセージを演算する方法であって、前記検証センタには、前記鍵を秘密分散法により分散した分散鍵のうち第１分散鍵を検証用生体情報と対応付けて記憶させておくとともに、前記通信端末には、前記分散鍵のうち第２分散鍵を記憶させておき、前記通信端末で入力した生体情報および前記検証用生体情報に基づいて前記鍵の利用適格を検証し、その検証により認証が得られたときは、前記検証に用いた検証用生体情報に対応する第１分散鍵、および前記第２分散鍵に基づいて前記メッセージを演算する。
【００６７】
【発明の実施の形態】
以下、本発明の第１の実施の形態を図面を参照しながら説明する。図１ないし図９は、本発明に係る秘密分散法による鍵管理システム、検証センタ、通信端末、検証センタ用プログラム、通信端末用プログラム、並びに秘密分散法による鍵管理方法の第１の実施の形態を示す図である。
【００６８】
本実施の形態は、本発明に係る秘密分散法による鍵管理システム、検証センタ、通信端末、検証センタ用プログラム、通信端末用プログラム、並びに秘密分散法による鍵管理方法を、図１に示すように、ＳＳＬ（Secure Socket Layer ）のクライアント認証に使用する署名鍵の鍵管理を行う場合について適用したものである。ＳＳＬは、クライアント・サーバ型のプロトコルで、現在最もよく使われているセキュリティプロトコルの一つである。ＳＳＬのクライアント認証では、クライアントが署名鍵を用いてメッセージｍ（例えば、乱数文字列）に対して正しいディジタル署名を演算することができるか否かにより認証を行う。なお、ＳＳＬについては、「http://home.netscape.com/eng/ssl3/draft302.txt」のＵＲＬにより特定されるホームページに詳しい。
【００６９】
まず、本発明を適用するネットワークシステムの構成を図１を参照しながら説明する。図１は、本発明を適用するネットワークシステムの構成を示すブロック図である。
インターネット１９９には、図１に示すように、ＳＳＬサーバ３００と、ＳＳＬサーバ３００が携帯端末２００を認証する際に必要な署名鍵ＳＫの利用適格を検証する検証センタ１００と、携帯端末２００とインターネット１９９との通信を中継する中継局２２０とが接続されている。
【００７０】
中継局２２０には、携帯端末２００と無線通信を行う複数の基地局２１０が接続されており、中継局２２０は、携帯端末２００がインターネット１９９に接続するときは、携帯端末２００に代わってインターネット１９９上での一端末となって、基地局２１０を介して受信した携帯端末２００からのデータをインターネット１９９を介して目的の端末に送信するとともに、インターネット１９９上にある目的の端末のデータを基地局２１０を介して携帯端末２００に送信するようになっている。
【００７１】
次に、本発明の原理を図２ないし図８を参照しながら説明する。
図２に本発明の概略的な構成を示す。
本システムは、図２に示すように、ユーザの利用に供する携帯端末２００と、第三者機関（以下、検証センタ１００という。）とから構成される。
まず、鍵情報は、秘密分散法を用いて２つの分散署名鍵ＳＫＡ，ＳＫＢに分散する。なお、秘密分散法については、「現代暗号」（著者：岡本龍明、山本博資、出版：産業図書）に詳しい。
【００７２】
秘密分散法を用いることにより、メッセージｍを元の署名鍵ＳＫを用いて演算した結果ＤSK（ｍ）と、分散署名鍵ＳＫＡ，ＳＫＢを用いて順次演算した結果ＤSKB（ＤSKA（ｍ））とが等しくなるように鍵情報を分散することができる。分散署名鍵ＳＫＡ，ＳＫＢと署名鍵ＳＫとの関係は、メッセージｍを演算したとき、下式（１）に示すようになる。
ＤSK（ｍ）＝ＤSKB（ＤSKA（ｍ））                  …（１）
また、分散署名鍵ＳＫＡ，ＳＫＢ単独では、元の署名鍵ＳＫを復元するためのいかなる情報も与えない。これらの性質を利用し、分散署名鍵ＳＫＡを検証センタ１００に、分散署名鍵ＳＫＢを携帯端末２００内に保管することより、検証センタ１００および携帯端末２００のどちらの分散署名鍵が漏洩した場合においても元の署名鍵ＳＫが漏洩することを防止する。
【００７３】
一方、正規のユーザの生体情報は、検証用生体情報として検証センタ１００に保管し、これを基に検証センタ１００はユーザ認証を行い、正規ユーザとして認証したときのみ分散署名鍵ＳＫＡを用いた演算処理を行う。検証用生体情報は、検証センタ１００がユーザを認証するときのみ使用する値であるため、検証センタ１００が検証用生体情報を他の認証に悪用することはできない。また、もし第三者に検証用生体情報が漏洩した場合においても、分散署名鍵ＳＫＡを用いた演算結果が漏洩する可能性はあるが、元の署名鍵ＳＫを用いた演算結果が漏洩することを防止できる。
【００７４】
次に、正規ユーザに対してのみ署名鍵ＳＫを用いた演算処理を行うための認証手順を説明する。
図３にシーケンスを示す。
検証センタ１００と携帯端末２００との間では、図３に示すように、生体情報および演算するメッセージに関する通信を行うため、両者の間では、安全な通信路が確保されていることが求められる。安全な通信路の確保の仕方については、後述する方法、または、認証機能や暗号機能を有する既存のセキュリティプロトコルを用いる方法がある。携帯端末２００は、検証センタ１００との間に安全な通信路を確保した後、検証センタ１００にユーザの生体情報および演算するメッセージｍを送信する。それを受信した検証センタ１００は、バイオ認証によりユーザ認証を行い、正規ユーザとして認証したとき、検証センタ１００内の分散署名鍵ＳＫＡを用いてメッセージｍの演算を行い、その結果ＤSKA（ｍ）を携帯端末２００に送信する。携帯端末２００は、検証センタ１００より受信した演算結果ＤSKA（ｍ）を携帯端末２００内の分散署名鍵ＳＫＢでさらに演算することで、元の署名鍵ＳＫを用いた演算結果ＤSKB（ＤSKA（ｍ））＝ＤSK（ｍ）を取得する（上式（１）より）。これにより、正規ユーザのみ署名鍵ＳＫを用いた演算処理を実現可能となる。
【００７５】
次に、検証センタ１００・携帯端末２００間の安全な通信路の確保の仕方を説明する。
安全な通信路の確保のためには、正しい検証センタ１００との間に、データの暗号化に利用する暗号鍵、メッセージが改竄されていないことを確かめるためのＭＡＣ鍵、暗号化メッセージの解析を困難にするためのＩＶを秘密裡に共有することが必要である。本発明では、ディジタル署名法により正しい検証センタ１００を認証し、Diffie-Hellmanまたは秘密分散法を用いて暗号鍵、ＭＡＣ鍵、ＩＶを共有する方法を提案する。なお、ディジタル署名法については、「ディジタル署名と暗号技術」（著者：ウォーウィック・フォード他、出版：ブレンティスホール出版）に、Diffie-Hellmanについては、「現代暗号」（著者：岡本龍明、山本博資、出版：産業図書）に、ＩＶについては、「SSL and TLS Essentials」（著者：Stephen Thomas、出版：Wiley）にそれぞれ詳しい。
【００７６】
Diffie-Hellmanとは、２者間で秘密裡に暗号鍵Ｋを共有するための暗号方式の一つである。今、Ａ，Ｂは、それぞれ自分しか知らない値ｘ，ｙを保有していて、素数ｐと乗法群Ｚpの原始元ｇが公開されているとする。この際、Ａ，Ｂは、それぞれ自分の知っている情報ｘ，ｙを用いて計算したａ＝ｇx ｍｏｄ ｐ、ｂ＝ｇy ｍｏｄ ｐを交換する。Ａ，Ｂは、受信したｂ，ａを基にそれぞれｂx ｍｏｄ ｐ、ａy ｍｏｄ ｐをさらに計算することにより、暗号鍵Ｋ（＝（ｇx）y ｍｏｄ ｐ＝（ｇy）x ｍｏｄ ｐ）を共有することができる。
【００７７】
一方、秘密分散法を用いた方法とは、ディジタル署名の特性を応用し、分散署名鍵を持つ２者間で秘密裡に情報Ｋを共有するための方式である。ディジタル署名とは、誰にでも利用できるように公開されている検証鍵ＰＫと、正規ユーザのみが利用できる署名鍵ＳＫの２つの鍵から構成されている暗号化アルゴリズムのことで、任意のチャンレンジｍに対して相手が署名鍵ＳＫを用いてディジタル署名ＤSK（ｍ）を計算することができるか否かにより相手認証を行う。
ＥPK（ＤSK（ｍ））＝ｍ                                …（２）
この特性と上式（１）の性質を応用することにより２者間で秘密裡に情報Ｋを共有することができる。今、Ａ，Ｂがそれぞれ署名鍵ＳＫを分散した分散署名鍵ＳＫＡ，ＳＫＢを保有し、Ａのみが情報Ｋを保有していたとする。Ａは、自分の分散署名鍵ＳＫＡを用いてＫを演算し、その結果ＤSKA（Ｋ）をＢに送信する。Ｂは、ＳＫＢを保有しているため、これを用いてＤSKA（Ｋ）をさらに演算することができ、その演算結果ＤSKB（ＤSKA（Ｋ））＝ＤSK（Ｋ）（上式（１）より）を検証鍵ＰＫで演算することによりＫ＝ＥPK（ＤSK（Ｋ））（上式（２）より）を求めることができる。これにより、Ａ，Ｂ間で秘密裡に情報Ｋを共有することができる。
【００７８】
まず、Diffie-Hellmanを用いる場合について図４にシーケンスを示す。
携帯端末２００では、図４に示すように、乱数ｘを生成し、ａ＝ｇx ｍｏｄ ｐを計算する。そして、暗号化アルゴリズムの候補リスト、ａ＝ｇx ｍｏｄ ｐ、原始元ｇ、素数ｐを平文のまま検証センタ１００に送信する。
検証センタ１００では、それらを受信したときは、暗号化アルゴリズムの候補リストのなかから実際に利用するアルゴリズムを選択し、Ｋ＝ａy ｍｏｄ ｐを計算し、暗号鍵、ＭＡＣ鍵、ＩＶを求める。次いで、乱数ｙを生成し、受信したｐ，ｇを用いてｂ＝ｇy ｍｏｄ ｐを計算し、携帯端末２００が検証センタ１００を認証するためのチャレンジ（乱数文字列）として、ｂをハッシュ鍵としたａのハッシュ値Ｈ（ａ，ｂ）を計算する。携帯端末２００および検証センタ１００単独で自由に選択できない値であるため、選択平文攻撃を防止することが可能である。なお、ハッシュ値Ｈ（ａ，ｂ）の計算については、「RFC2104,HMAC：Keyed-Hashing for Message Authentication」に、選択平文攻撃については、「暗号のすべてがわかる本」（著者：吹田智草、出版：技術評論社）にそれぞれ詳しい。
【００７９】
次いで、選択した暗号化アルゴリズム、検証センタ１００の電子証明書、ｂ＝ｇy ｍｏｄ ｐおよびセッンョンＩＤのディジタル署名を計算し、選択した暗号化アルゴリズム、検証センタ１００の電子証明書、ｂ＝ｇy ｍｏｄ ｐ、セッションＩＤおよびそれらのディジタル署名を平文のまま携帯端末２００に送信する。
【００８０】
携帯端末２００では、それらを受信したときは、受信したｂよりハッシュ値Ｈ（ａ，ｂ）を計算し、検証センタ１００の検証鍵でディジタル署名を検証し、検証センタ１００を認証する。次いで、Ｋ＝ｂx ｍｏｄ ｐを計算し、暗号鍵、ＭＡＣ鍵、ＩＶを生成する。
以上の手順により、検証センタ１００と携帯端末２００との間で安全な通信路を確保し、メッセージのやり取りを実施する。ただし、暗号化するメッセージの範囲は、ユーザの生体情報、演算を必要とするメッセージ等、第三者が予測することのできないものに限定することにより既知平文攻撃を防止する。なお、既知平文攻撃については、「暗号のすべてがわかる本」（著者：吹田智草著、出版：技術評論社）に詳しい。
【００８１】
また、メッセージの完全性を保証するために、送信するメッセージにＭＡＣを添付する。ＭＡＣとは、例えば、送信するメッセージと、ＭＡＣ鍵と、シーケンス番号のハッシュ値等を結合したもので、これを同時に送信することにより、メッセージの改竄、リプレイ攻撃を早期検出することができる。
さらに、検証センタ１００から携帯端末２００に送信する最後のメッセージに、次回のセッションＩＤおよび暗号鍵、ＭＡＣ鍵、ＩＶを更新するための乱数Ｒを送信することにより高速性を実現する。
【００８２】
次に、秘密分散法を用いる場合についてシーケンスを図５に示す。
携帯端末２００では、図５に示すように、乱数ｘを生成し、暗号化アルゴリズムの候補リスト、乱数ｘ、ユーザＩＤを平文のまま検証センタ１００に送信する。
検証センタ１００では、それらを受信したときは、暗号化アルゴリズムの候補リストのなかから実際に利用するアルゴリズムを選択し、検証センタ１００で生成した乱数ｙおよび受信した乱数ｘを基にしたハッシュ値を計算し、暗号鍵、ＭＡＣ鍵、ＩＶの種を求める。この種を用いることにより、例えば、図６に示すように、ハッシュ値Ｈ（ASCII charactor 'A','BB',or'CCC',…‖ｘ‖y‖種）を計算し、暗号鍵、ＭＡＣ鍵、ＩＶを生成する。
【００８３】
次いで、携帯端末２００が検証センタ１００を認証するためのチャレンジとして、ｙをハッシュ鍵としたｘのハッシュ値Ｈ（ｘ，ｙ）を計算する。携帯端末２００および検証センタ１００単独で自由に選択できない値であるため、選択平文攻撃を防止可能である。
次いで、ユーザＩＤと対応した分散署名鍵ＳＫＡを用いて乱数ｙを演算する。これにより、分散署名鍵ＳＫＢを保有している相手のみ乱数ｙを求めることが可能な値ＤSKA（ｙ）を生成できる。
【００８４】
次いで、選択した暗号化アルゴリズム、検証センタ１００の電子証明書、ＤSKA（ｙ）およびセッションＩＤのディジタル署名を計算し、選択した暗号化アルゴリズム、検証センタ１００の電子証明書、ＤSKA（ｙ）、セッションＩＤおよびそれらのディジタル署名を平文のまま携帯端末２００に送信する。
携帯端末２００では、それらを受信したときは、受信したＤSKA（ｙ）を、携帯端末２００に保管している分散署名鍵ＳＫＢでさらに演算し、その結果ＤSKB（ＤSKA（ｙ））＝ＤSK（ｙ）（上式（１）より）をユーザの検証鍵で演算することにより乱数ｙ＝ＥPK（ＤSK（ｙ））を求める。
【００８５】
次いで、乱数ｙをハッシユ鍵として乱数ｘのハッシュ値Ｈ（ｘ，ｙ）を計算し、検証センタ１００の検証鍵でディジタル署名を検証し、検証センタ１００を認証する。そして、上記に示した検証センタ１００と同様の方法で、乱数ｘ，ｙのハッシュ値より種を生成し、その値を基に暗号鍵、ＭＡＣ鍵、ＩＶを生成する。
以上の手順により、検証センタ１００と携帯端末２００との間で安全な通信路を確保し、メッセージのやり取りを実施する。ただし、暗号化するメッセージの範囲は、ユーザの生体情報、演算を必要とするメッセージ等、第三者が予測することのできないものに限定することにより既知平文攻撃を防止する。
【００８６】
また、メッセージの完全性を保証するために、送信するメッセージにＭＡＣを添付する。
さらに、検証センタ１００から携帯端末２００に送信する最後のメッセージに、次回のセッションＩＤおよび暗号鍵、ＭＡＣ鍵、ＩＶを更新するための乱数Ｒを送信することにより高速性を実現する。
【００８７】
秘密分散法を用いて暗号鍵を共有する方式は、暗号化システム全般に使用することができず、利用用途がディジタル署名の署名鍵管理に限定される。しかし、ブラインド署名（参考：岡本龍明、山本博資、「現代暗号」産業図書）を使用することができるため、演算するメッセージを検証センタ１００に隠匿することができる。また、検証センタ１００が分散署名鍵ＳＫＡを用いて正しく演算したか否かを携帯端末２００側で検証することも可能である。なお、ブラインド署名については、「現代暗号」（著者：岡本龍明、山本博資、出版：産業図書）に詳しい。
【００８８】
次に、検証センタ１００と携帯端末２００との間の通信路の安全性を高速に確保する方法を説明する。
ディジタル署名の署名鍵管理に本システムを用いる場合、認証中にバイオ認証によるユーザ認証を行い、分散署名鍵を用いたチャレンジ演算を行わなければならないため、高速性が求められる場合がある。
【００８９】
図７にシーケンスを示す。
携帯端末２００では、図７に示すように、検証センタ１００より受信した乱数Ｒを基に、暗号鍵、ＭＡＣ鍵、ＩＶを更新する。例えば、図８に示すように、乱数Ｒをハッシュ鍵として、ASCII charactor ‘A’,‘BB’,or‘CCC’,…、前回利用した暗号鍵、ＭＡＣ鍵、ＩＶのハッシュ値を計算し、その値と乱数Ｒのハッシュ値をさらに計算することにより新しい暗号鍵、ＭＡＣ鍵、ＩＶを生成する。
【００９０】
以上の手順により、検証センタ１００と携帯端末２００との間で安全な通信路を確保し、メッセージのやり取りを実施する。ただし、暗号化するメッセージの範囲は、ユーザの生体情報、演算を必要とするメッセージ等、第三者が予測することのできないものに限定することにより既知平文攻撃を防止する。
また、メッセージの完全性を保証するために、送信するメッセージにＭＡＣを添付する。
【００９１】
さらに、検証センタ１００から携帯端末２００に送信する最後のメッセージに、次回のセッションおよび暗号鍵、ＭＡＣ鍵、ＩＶを更新するための乱数Ｒを送信することにより高速性を繰り返し実現することができる。
次に、本実施の形態の動作を図９を参照しながら説明する。図９は、Diffie-Hellmanを用いた場合についてのシーケンスを示す図である。
【００９２】
携帯端末２００では、図９に示すように、ステップＳ１００，Ｓ１０２を経て、乱数ｘを生成し、原始元ｇ、乱数ｘおよび素数ｐを使ってａ＝ｇx ｍｏｄ ｐを計算し、計算値ａ、素数ｐおよび原始元ｇを検証センタ１００に送信する。このとき、検証センタ１００と携帯端末２００との間の通信に利用する暗号化アルゴリズムの候補リストも送信する。
【００９３】
検証センタ１００では、それらを受信したときは、ステップＳ１５０，Ｓ１５２を経て、乱数ｙを生成し、計算値ａ、乱数ｙおよび素数ｐを使ってＫ＝ａy ｍｏｄ ｐを計算し、これを暗号鍵、ＭＡＣ鍵およびＩＶとする。次いで、ステップＳ１５４を経て、受信した暗号化アルゴリズムの候補リストのなかから実際に利用する暗号化アルゴリズムを選択し、原始元ｇ、乱数ｙおよび素数ｐを使ってｂ＝ｇy ｍｏｄ ｐを計算する。さらに、ステップＳ１５６を経て、計算値ｂをハッシュ鍵とした計算値ａのハッシュ値Ｈ（ａ，ｂ）を計算することにより検証センタ１００および携帯端末２００単独で自由にチャレンジを選択できないようにする。そして、ステップＳ１５８を経て、暗号化アルゴリズム、計算値ｂ、検証センタ１００の電子証明およびセッションＩＤのディジタル署名を計算し、暗号化アルゴリズム、計算値ｂ、検証センタ１００の電子証明、セッションＩＤおよびそれらのディジタル署名を携帯端末２００に送信する。
【００９４】
携帯端末２００では、それらを受信したときは、ステップＳ１０４，Ｓ１０６を経て、ハッシュ値Ｈ（ａ，ｂ）を計算し、検証センタ１００の検証鍵でディジタル署名を検証し、検証センタ１００を認証する。次いで、ステップＳ１０８を経て、計算値ｂ、乱数ｘおよび素数ｐを使ってＫ＝ｂx ｍｏｄ ｐを計算し、計算値Ｋを使って検証センタ１００と共通の暗号鍵、ＭＡＣ鍵およびＩＶを計算する。そして、ステップＳ１１０，Ｓ１１２を経て、第三者に予測できない生体情報および演算を必要とするＳＳＬのメッセージｍのみを暗号鍵およびＩＶを用いて暗号化し、メッセージの改竄およびリプレイ攻撃を早期検出できるように、ユーザの生体情報、ＳＳＬのメッセージｍ、シーケンス番号およびＭＡＣ鍵のハッシュ値を計算し、これを暗号化メッセージおよびシーケンス番号とともに検証センタ１００に送信する。
【００９５】
検証センタ１００では、それらを受信したときは、ステップＳ１６０を経て、暗号化メッセージ、シーケンス番号およびＭＡＣ鍵のハッシュ値を計算し、メッセージが改竄されていないこと、リプレイ攻撃でないことを検証する。次いで、ステップＳ１６２，Ｓ１６４を経て、携帯端末２００と共有した暗号鍵、ＩＶを用いて暗号化メッセージを復号化し、ユーザの生体情報および検証用生体情報に基づいてバイオ認証によりユーザ認証する。その結果、正規ユーザとして認証したときは、ステップＳ１６６〜Ｓ１７０を経て、検証センタ１００の分散署名鍵ＳＫＡを用いてＳＳＬのメッセージｍを演算し、次回の暗号鍵、ＭＡＣ鍵およびＩＶを更新するために使用する乱数Ｒを生成し、演算結果ＤSKA（ｍ）、次回のセッションＩＤおよび乱数Ｒを暗号化する。そして、ステップＳ１７２を経て、メッセージの改竄およびリプレイ攻撃を早期検出するために、暗号化メッセージ、シーケンス番号およびＭＡＣ鍵のハッシュ値を計算し、これを暗号化メッセージおよびシーケンス番号とともに携帯端末２００に送信する。
【００９６】
携帯端末２００では、それらを受信したときは、ステップＳ１１４を経て、暗号化メッセージ、シーケンス番号およびＭＡＣ鍵のハッシュ値を計算し、メッセージが改竄されていないこと、リプレイ攻撃でないことを検証する。次いで、ステップＳ１１６，Ｓ１１８を経て、検証センタ１００と共有した暗号鍵、ＩＶを用いて暗号化メッセージを復号化し、ＳＳＬのメッセージｍの演算結果ＤSKA（ｍ）を携帯端末２００内の分散署名鍵ＳＫＢを用いてさらに演算する。これにより、携帯端末２００では、ＳＳＬチャレンジに対する正しい演算結果ＤSK（ｍ）＝ＤSKB（ＤSKA（ｍ））（上式（１）より）を演算することができ、これをＳＳＬサーバ３００に送信することにより正規ＳＳＬクライアントとして認証される。
【００９７】
このようにして、本実施の形態では、検証センタ１００は、メッセージｍおよび生体情報を受信したときは、受信した生体情報および検証用生体情報に基づいて署名鍵ＳＫの利用適格を検証し、その検証により認証が得られたときは、検証に用いた検証用生体情報に対応する分散署名鍵ＳＫＡに基づいて、受信したメッセージｍを演算し、その演算メッセージを携帯端末２００に送信するようになっており、携帯端末２００は、メッセージｍおよびユーザの生体情報を検証センタ１００に送信し、その送信により演算メッセージを受信したときは、分散署名鍵ＳＫＢに基づいて、受信した演算メッセージを演算するようになっている。
【００９８】
これにより、秘密分散法により分散した分散署名鍵のうち一部を検証センタ１００に保持し、生体情報を用いた個人認証により検証センタ１００の分散署名鍵ＳＫＡの利用可否を判定するため、携帯端末２００が第三者に無断で利用された場合、および分散署名鍵が盗まれた場合に、携帯端末２００が利用する署名鍵ＳＫが第三者に漏洩する可能性を低減することができる。したがって、従来に比して、セキュリティを比較的向上することができる。
【００９９】
さらに、本実施の形態では、携帯端末２００は、メッセージｍおよび生体情報の送信に先立って検証センタ１００の正当性を検証し、その検証より認証が得られた場合に限り、メッセージｍおよび生体情報を検証センタ１００に送信するようになっている。
これにより、正当な検証センタ１００に対してのみメッセージｍおよび生体情報が送信されるので、メッセージｍおよび生体情報が第三者に漏洩する可能性を低減することができる。したがって、セキュリティをさらに向上することができる。
【０１００】
さらに、本実施の形態では、携帯端末２００は、メッセージｍおよび生体情報の送信に先立って検証センタ１００との間で暗号化通信路を確立し、メッセージｍ、生体情報および演算メッセージに関する送受信を暗号化通信路を通じて行うようになっており、検証センタ１００は、メッセージｍおよび生体情報の受信に先立って携帯端末２００との間で暗号化通信路を確立し、メッセージｍ、生体情報および演算メッセージに関する送受信を暗号化通信路を通じて行うようになっている。
【０１０１】
これにより、携帯端末２００と検証センタ１００との間では、メッセージｍ、生体情報および演算メッセージに関する送受信が暗号化通信路を通じて行われるので、メッセージｍ、生体情報および演算メッセージが第三者に漏洩する可能性を低減することができる。したがって、セキュリティをさらに向上することができる。
【０１０２】
さらに、本実施の形態では、携帯端末２００は、複数の暗号化アルゴリズムのなかから暗号化通信路の確立に用いるものを検証センタ１００とのネゴシエーションにより決定し、決定した暗号化アルゴリズムに基づいて暗号化通信路を確立するようになっており、検証センタ１００は、複数の暗号化アルゴリズムのなかから暗号化通信路の確立に用いるものを携帯端末２００とのネゴシエーションにより決定し、決定した暗号化アルゴリズムに基づいて暗号化通信路を確立するようになっている。
【０１０３】
これにより、携帯端末２００と検証センタ１００との間では、複数の暗号化アルゴリズムのうちネゴシエーションにより決定したものに基づいて暗号化通信路が確立されるので、メッセージｍ、生体情報および演算メッセージが第三者に漏洩する可能性をさらに低減することができる。したがって、セキュリティをさらに向上することができる。
【０１０４】
さらに、本実施の形態では、検証センタ１００は、暗号鍵、ＭＡＣ鍵およびＩＶの更新に用いる乱数Ｒを生成し、生成した乱数Ｒに基づいて、検証センタ１００が保持している暗号鍵、ＭＡＣ鍵およびＩＶを更新し、生成した乱数Ｒを携帯端末２００に送信するようになっており、携帯端末２００は、乱数Ｒを受信したときは、受信した乱数Ｒに基づいて、携帯端末２００が保持している暗号鍵、ＭＡＣ鍵およびＩＶを更新するようになっている。
【０１０５】
これにより、携帯端末２００において、暗号鍵、ＭＡＣ鍵およびＩＶの更新を比較的容易に行えるので、携帯端末２００と検証センタ１００との間で通信遅延を低減することができる。
さらに、本実施の形態においては、通信相手を検証センタ１００に特定し鍵管理専用のプロトコルを採用することにより、検証センタ１００と携帯端末２００との間で周知技術（ＳＳＬ、ＩＰＳｅｃ（IP security protocol）等）を用いる場合よりもセキュリティを強化するとともに高速性を向上させることができる。例えば、周知技術では、第三者に公開されているメッセージ、秘匿されているメッセージにかかわらず暗号化するのに対して、本発明に係るプロトコルにおいては、第三者に秘匿されているメッセージのみを暗号化の対象とすることにより既知平文攻撃への耐性を向上させている。また、周知技術よりもＲＴＴ数を削減することができるとともに、不特定多数相手の公開鍵認証で必要となるＡＳＮ．１を事前に実施するなどにより計算量も大きく削減することができる。これにより、ユーザの利便性を向上させるだけでなく、ＤｏＳ（Denial of Service）攻撃を早期検出することも可能となる。また、本実施の形態で挙げたように、公開鍵認証の鍵管理を行う場合には、認証時間がタイムアウトしないうちに安全な通信路の確保、バイオ認証、分散署名鍵による演算処理を実施する必要があるため、鍵管理プロトコルには、高速性が求められる。有線ネットワークと比較して伝送遅延の大きい無線ネットワークにおいては、ＲＴＴ数がボトルネックとなるため、ＲＴＴ数を削減する本発明は、モバイル環境化で利用する場合には、特に周知技術より優れた方式であるといえる。
【０１０６】
上記第１の実施の形態において、暗号化は、発明１、２、１０、１７、２５、３２または４０の演算に対応し、携帯端末２００は、発明１ないし８、１０ないし１５、１７ないし３０、３２ないし３８または４０の通信端末に対応し、メッセージｍは、発明１ないし５、１０ないし１２、１７ないし２０、２５ないし２７、３２ないし３５または４０のメッセージに対応している。また、暗号化メッセージは、発明２、３、５、１０ないし１２、１７、１８、２０、２５ないし２７、３２、３３または３５の演算メッセージに対応し、分散署名鍵ＳＫＡは、発明１、２、１０、２５または４０の第１分散鍵に対応し、分散署名鍵ＳＫＢは、発明１、２、１７、３２または４０の第２分散鍵に対応している。
【０１０７】
また、上記第１の実施の形態において、乱数Ｒは、発明８、１５、２３、３０または３８の更新鍵に対応している。
次に、本発明の第２の実施の形態を図面を参照しながら説明する。図１０は、本発明に係る秘密分散法による鍵管理システム、検証センタ、通信端末、検証センタ用プログラム、通信端末用プログラム、並びに秘密分散法による鍵管理方法の第２の実施の形態を示す図である。以下、上記第１の実施の形態と異なる部分についてのみ説明をし、重複する部分については同一の符号を付して説明を省略する。
【０１０８】
本実施の形態は、本発明に係る秘密分散法による鍵管理システム、検証センタ、通信端末、検証センタ用プログラム、通信端末用プログラム、並びに秘密分散法による鍵管理方法を、上記第１の実施の形態と同様に、ＳＳＬのクライアント認証に使用する署名鍵の鍵管理を行う場合について適用したものである。
本実施の形態の動作を図１０を参照しながら説明する。図１０は、ディジタル署名を用いた場合についてのシーケンスを示す図である。
【０１０９】
携帯端末２００では、図１０に示すように、ステップＳ２００を経て、乱数ｘを生成し、検証センタ１００と携帯端末２００との間の通信に利用する暗号化アルゴリズムの候補リスト、乱数ｘおよびユーザＩＤを検証センタ１００に送信する。
検証センタ１００では、それらを受信したときは、ステップＳ２５０，Ｓ２５２を経て、乱数ｙを生成し、乱数ｘおよび乱数ｙを使ってハッシュ値Ｈ（ｘ‖ｙ）を計算し、これを暗号鍵、ＭＡＣ鍵およびＩＶの種とする。暗号鍵、ＭＡＣ鍵およびＩＶは、図６に示すように、この種と乱数ｘ、乱数ｙおよびASCII charactor ‘A’,‘BB’,or‘CCC’,…のハッシュをとることにより生成する。携帯端末２００にも同じ値を生成できるように、ユーザＩＤと対応した分散署名鍵ＳＫＡで乱数ｙを演算する。また、検証センタ１００では、受信した暗号化アルゴリズムの候補リストのなかから実際に利用する暗号化アルゴリズムを選択し、乱数ｙをハッシュ鍵とした乱数ｘのハッシュ値Ｈ（ｘ，ｙ）を計算することにより検証センタ１００および携帯端末２００単独で自由にチャレンジを選択できないようにする。そして、ステップＳ２５８を経て、暗号化アルゴリズム、乱数ｙを分散署名鍵ＳＫＡで演算した結果ＤSKA（ｙ）、ハッシュ値Ｈ（ｘ，ｙ）、検証センタ１００の電子証明書およびセッションＩＤのディジタル署名を計算し、暗号化アルゴリズム、乱数ｙを分散署名鍵ＳＫＡで演算した結果ＤSKA（ｙ）、ハッシュ値Ｈ（ｘ，ｙ）、検証センタ１００の電子証明書、セッションＩＤおよびそれらのディジタル署名を携帯端末２００に送信する。
【０１１０】
携帯端末２００では、それらを受信したときは、ステップＳ２０２，Ｓ２０４を経て、計算値ＤSKA（ｙ）を携帯端末２００内の分散署名鍵ＳＫＢを用いてさらに演算し、その演算結果ＤSKB（ＤSKA（ｙ））＝ＤSK（ｙ）を検証鍵ＰＫで演算することにより乱数ｙ＝ＥPK（ＤSKA（ｙ））を求める。次いで、ステップＳ２０６，Ｓ２０８を経て、乱数ｙを使ってハッシュ値Ｈ（ｘ，ｙ）を計算し、検証センタ１００の検証鍵ＰＫでディジタル署名を検証し、検証センタ１００を認証する。次いで、ステップＳ２１０を経て、ハッシュ値Ｈ（ｘ‖ｙ）を計算し、この値と乱数ｘ、乱数ｙおよびASCII charactor ‘A’,‘BB’,or‘CCC’,…のハッシュをとることにより暗号鍵、ＭＡＣ鍵およびＩＶを生成する。第三者に予測できない生体情報、演算を必要とするＳＳＬのメッセージｍ等を暗号鍵およびＩＶを用いて暗号化する。また、メッセージの改竄およびリプレイ攻撃を早期検出できるように、ユーザの生体情報、ＳＳＬのメッセージｍ、シーケンス番号およびＭＡＣ鍵のハッシュ値を計算し、これを暗号化メッセージおよびシーケンス番号とともに検証センタ１００に送信する。ＳＳＬのメッセージｍを検証センタ１００に通知したくないときは、ブラインド署名を用いることにより検証センタ１００に対してチャレンジを隠匿したまま分散署名鍵ＳＫＡを用いた演算のみを行わせることができる。
【０１１１】
検証センタ１００では、それらを受信したときは、ステップＳ２６０を経て、暗号化メッセージ、シーケンス番号およびＭＡＣ鍵のハッシュ値を計算し、メッセージが改竄されていないこと、リプレイ攻撃でないことを検証する。次いで、ステップＳ２６２，Ｓ２６４を経て、携帯端末２００と共有した暗号鍵およびＩＶを用いて暗号化メッセージを復号化し、ユーザの生体情報および検証用生体情報に基づいてバイオ認証によりユーザ認証する。その結果、正規ユーザとして認証したときは、ステップＳ２６６〜Ｓ２７０を経て、検証センタ１００の分散署名鍵ＳＫＡを用いてＳＳＬのメッセージｍを演算し、次回のセッションＩＤ、ＭＡＣ鍵およびＩＶを更新するために使用する乱数Ｒを生成し、乱数Ｒおよび演算結果ＤSKA（ｙ）を暗号化する。そして、ステップＳ２７２を経て、メッセージの改竄およびリプレイ攻撃を早期検出するために、暗号化メッセージ、ＭＡＣ鍵およびシーケンス番号のハッシュ値を計算し、これを暗号化メッセージおよびシーケンス番号とともに携帯端末２００に送信する。
【０１１２】
携帯端末２００では、それらを受信したときは、ステップＳ２１６を経て、暗号化メッセージ、シーケンス番号およびＭＡＣ鍵のハッシュ値を計算し、メッセージが改竄されていないこと、リプレイ攻撃でないことを検証する。次いで、ステップＳ２１８，Ｓ２２０を経て、検証センタ１００と共有した暗号鍵およびＩＶを用いて暗号化メッセージを復号化し、ＳＳＬのチャレンジの演算結果ＤSKA（ｙ）を携帯端末２００内の分散署名鍵ＳＫＢを用いてさらに演算する。これにより、携帯端末２００は、ＳＳＬチャレンジに対する正しい演算結果をＤSK（ｙ）＝ＤSKB（ＤSKA（ｙ））（上式（１）より）演算することができ、これをＳＳＬサーバ３００に送信することにより正規ＳＳＬクライアントとして認証される。この際、ユーザの検証鍵ＰＫでＤSK（ｙ）を演算することにより、検証センタ１００が分散署名鍵ＳＫＡを用いて正しく演算したか否かを検証することもできる。
【０１１３】
このようにして、本実施の形態では、検証センタ１００は、メッセージｍおよび生体情報を受信したときは、受信した生体情報および検証用生体情報に基づいて署名鍵ＳＫの利用適格を検証し、その検証により認証が得られたときは、検証に用いた検証用生体情報に対応する分散署名鍵ＳＫＡに基づいて、受信したメッセージｍを演算し、その演算メッセージを携帯端末２００に送信するようになっており、携帯端末２００は、メッセージｍおよびユーザの生体情報を検証センタ１００に送信し、その送信により演算メッセージを受信したときは、分散署名鍵ＳＫＢに基づいて、受信した演算メッセージを演算するようになっている。
【０１１４】
これにより、秘密分散法により分散した分散署名鍵のうち一部を検証センタ１００に保持し、生体情報を用いた個人認証により検証センタ１００の分散署名鍵ＳＫＡの利用可否を判定するため、携帯端末２００が第三者に無断で利用された場合、および分散署名鍵が盗まれた場合に、携帯端末２００が利用する署名鍵ＳＫが第三者に漏洩する可能性を低減することができる。したがって、従来に比して、セキュリティを比較的向上することができる。
【０１１５】
なお、他の構成についても、上記第１の実施の形態と同等の効果が得られる。
上記第２の実施の形態において、暗号化は、発明１、２、１０、１７、２５、３２または４０の演算に対応し、携帯端末２００は、発明１ないし８、１０ないし１５、１７ないし３０、３２ないし３８または４０の通信端末に対応し、メッセージｍは、発明１ないし５、１０ないし１２、１７ないし２０、２５ないし２７、３２ないし３５または４０のメッセージに対応している。また、暗号化メッセージは、発明２、３、５、１０ないし１２、１７、１８、２０、２５ないし２７、３２、３３または３５の演算メッセージに対応し、分散署名鍵ＳＫＡは、発明１、２、１０、２５または４０の第１分散鍵に対応し、分散署名鍵ＳＫＢは、発明１、２、１７、３２または４０の第２分散鍵に対応している。
【０１１６】
また、上記第２の実施の形態において、乱数Ｒは、発明８、１５、２３、３０または３８の更新鍵に対応している。
次に、本発明の第３の実施の形態を図面を参照しながら説明する。図１１は、本発明に係る秘密分散法による鍵管理システム、検証センタ、通信端末、検証センタ用プログラム、通信端末用プログラム、並びに秘密分散法による鍵管理方法の第３の実施の形態を示す図である。以下、上記第１の実施の形態と異なる部分についてのみ説明をし、重複する部分については同一の符号を付して説明を省略する。
【０１１７】
本実施の形態は、本発明に係る秘密分散法による鍵管理システム、検証センタ、通信端末、検証センタ用プログラム、通信端末用プログラム、並びに秘密分散法による鍵管理方法を、上記第１の実施の形態と同様に、ＳＳＬのクライアント認証に使用する署名鍵の鍵管理を行う場合について適用したものである。
本実施の形態の動作を図１１を参照しながら説明する。図１１は、検証センタ１００と携帯端末２００との間の通信路の安全を高速に確保した場合についてのシーケンスを示す図である。ただし、この方法は、前回利用した暗号鍵、ＭＡＣ鍵およびＩＶが有効なときに利用できる。
【０１１８】
携帯端末２００および検証センタ１００では、図１１に示すように、ステップＳ３００，Ｓ３５０をそれぞれ経て、前回のセッションで受信した乱数Ｒをハッシュ鍵として、前回利用した暗号鍵、ＭＡＣ鍵、ＩＶおよびASCII charactor ‘A’,‘BB’,or‘CCC’,…のハッシュ値を計算し、これを新しい暗号鍵、ＭＡＣ鍵およびＩＶとする。なお、前回利用した暗号鍵、ＭＡＣ鍵およびＩＶと生体情報とは、例えば、データベース等の記憶手段に対応付けて格納しておくものとする。
【０１１９】
携帯端末２００では、ステップＳ３０２を経て、第三者に予測できない生体情報および演算を必要とするＳＳＬのメッセージｍ等を、暗号鍵およびＩＶを用いて暗号化する。そして、ステップＳ３０４を経て、メッセージの改竄およびリプレイ攻撃を早期検出できるように、ユーザの生体情報、ＳＳＬのメッセージｍ、シーケンス番号およびＭＡＣ鍵のハッシュ値を計算し、これを暗号化メッセージとともに検証センタ１００に送信する。
【０１２０】
検証センタ１００では、それらを受信したときは、ステップＳ３５２を経て、暗号化メッセージ、シーケンス番号およびＭＡＣ鍵のハッシュ値を計算し、メッセージが改竄されていないこと、リプレイ攻撃でないことを検証する。次いで、ステップＳ３５４，Ｓ３５６を経て、携帯端末２００と共有した暗号鍵およびＩＶを用いて暗号化メッセージを復号化し、ユーザの生体情報および検証用生体情報に基づいてバイオ認証によりユーザ認証する。その結果、正規ユーザとして認証したときは、ステップＳ３５８〜Ｓ３６２を経て、検証センタ１００の分散署名鍵ＳＫＡを用いてＳＳＬのメッセージｍを演算し、次回の暗号鍵、ＭＡＣ鍵およびＩＶを更新するために使用する乱数Ｒを生成し、演算結果ＤSKA（ｍ）および乱数Ｒを暗号化する。そして、ステップＳ３６４を経て、メッセージの改竄およびリプレイ攻撃を早期検出するために、暗号化メッセージ、ＭＡＣ鍵およびシーケンス番号のハッシュ値を計算し、これを暗号化メッセージおよびシーケンス番号とともに携帯端末２００に送信する。
【０１２１】
携帯端末２００では、それらを受信したときは、ステップＳ３０６を経て、暗号化メッセージ、シーケンス番号およびＭＡＣ鍵のハッシュ値を計算し、メッセージが改竄されていないこと、リプレイ攻撃でないことを検証する。そして、ステップＳ３０８，Ｓ３１０を経て、携帯端末２００と共有した暗号鍵およびＩＶを用いて暗号化メッセージを復号化し、ＳＳＬのメッセージｍの演算結果ＤSKA（ｍ）を携帯端末２００内の分散署名鍵ＳＫＢを用いてさらに演算する。これにより、携帯端末２００は、ＳＳＬチャレンジに対する正しい演算結果ＤSK（ｍ）＝ＤSKB（ＤSKA（ｍ））（上式（１）より）を演算することができ、これをＳＳＬサーバ３００に送信することにより正規ＳＳＬクライアントとして認証される。
【０１２２】
このようにして、本実施の形態では、検証センタ１００は、メッセージｍおよび生体情報を受信したときは、受信した生体情報および検証用生体情報に基づいて署名鍵ＳＫの利用適格を検証し、その検証により認証が得られたときは、検証に用いた検証用生体情報に対応する分散署名鍵ＳＫＡに基づいて、受信したメッセージｍを演算し、その演算メッセージを携帯端末２００に送信するようになっており、携帯端末２００は、メッセージｍおよびユーザの生体情報を検証センタ１００に送信し、その送信により演算メッセージを受信したときは、分散署名鍵ＳＫＢに基づいて、受信した演算メッセージを演算するようになっている。
【０１２３】
これにより、秘密分散法により分散した分散署名鍵のうち一部を検証センタ１００に保持し、生体情報を用いた個人認証により検証センタ１００の分散署名鍵ＳＫＡの利用可否を判定するため、携帯端末２００が第三者に無断で利用された場合、および分散署名鍵が盗まれた場合に、携帯端末２００が利用する署名鍵ＳＫが第三者に漏洩する可能性を低減することができる。したがって、従来に比して、セキュリティを比較的向上することができる。
【０１２４】
なお、他の構成についても、上記第１の実施の形態と同等の効果が得られる。
上記第３の実施の形態において、暗号化は、発明１、２、１０、１７、２５、３２または４０の演算に対応し、携帯端末２００は、発明１ないし８、１０ないし１５、１７ないし３０、３２ないし３８または４０の通信端末に対応し、メッセージｍは、発明１ないし５、１０ないし１２、１７ないし２０、２５ないし２７、３２ないし３５または４０のメッセージに対応している。また、暗号化メッセージは、発明２、３、５、１０ないし１２、１７、１８、２０、２５ないし２７、３２、３３または３５の演算メッセージに対応し、分散署名鍵ＳＫＡは、発明１、２、１０、２５または４０の第１分散鍵に対応し、分散署名鍵ＳＫＢは、発明１、２、１７、３２または４０の第２分散鍵に対応している。
【０１２５】
また、上記第３の実施の形態において、乱数Ｒは、発明８、１５、２３、３０または３８の更新鍵に対応している。
なお、上記第１ないし第３の実施の形態においては、ＳＳＬサーバ３００が携帯端末２００を認証する際に必要となる署名鍵ＳＫを管理するように構成したが、これに限らず、中継局２２０を介さず直接インターネット１９９に接続可能な端末（例えば、ノートパソコン、デスクトップパソコンその他の通信機器）をＳＳＬサーバ３００が認証する際に必要な署名鍵を管理するように構成してもよい。
【０１２６】
また、上記第１ないし第３の実施の形態においては、携帯端末２００が実行する処理を、図９ないし図１１のシーケンスに基づいて説明したが、より具体的には、図９ないし図１１のシーケンスに示す処理のうち携帯端末２００が実行すべきものをプログラムとして構成し、構成したプログラムを携帯端末２００のＲＡＭ等に読み込んで実行するように構成することもできる。
【０１２７】
また、上記第１ないし第３の実施の形態においては、検証センタ１００が実行する処理を、図９ないし図１１のシーケンスに基づいて説明したが、より具体的には、図９ないし図１１のシーケンスに示す処理のうち検証センタ１００が実行すべきものをプログラムとして構成し、構成したプログラムを検証センタ１００のＲＡＭ等に読み込んで実行するように構成することもできる。
【０１２８】
また、上記実施の形態においては、検証センタ１００および携帯端末２００は、メッセージおよび生体情報の送信に先立って通信相手との間で特定通信路を確立し、メッセージ、生体情報および演算メッセージに関する送受信を特定通信路を通じて行うように構成したが、これに限らず、メッセージが電子署名等の機密性の高いものでなければ、メッセージ、生体情報および演算メッセージに関する送受信を平文のまま行うように構成してもよい。
【０１２９】
また、上記実施の形態においては、本発明に係る秘密分散法による鍵管理システム、検証センタ、通信端末、検証センタ用プログラム、通信端末用プログラム、並びに秘密分散法による鍵管理方法を、インターネット１９９からなるネットワークシステムに適用した場合について説明したが、これに限らず、例えば、インターネット１９９と同一方式により通信を行ういわゆるイントラネットに適用してもよい。もちろん、インターネット１９９と同一方式により通信を行うネットワークに限らず、通常のネットワークに適用することもできる。
【０１３０】
また、上記第１ないし第３の実施の形態においては、本発明に係る秘密分散法による鍵管理システム、検証センタ、通信端末、検証センタ用プログラム、通信端末用プログラム、並びに秘密分散法による鍵管理方法を、図１に示すように、ＳＳＬのクライアント認証に使用する署名鍵の鍵管理を行う場合について適用したが、これに限らず、本発明の主旨を逸脱しない範囲で他の場合にも適用可能である。
【０１３１】
【発明の効果】
以上説明したように、発明１ないし９の秘密分散法による鍵管理システムによれば、秘密分散法により分散した分散鍵のうち一部を検証センタに保持し、生体情報を用いた個人認証により検証センタの分散鍵の利用可否を判定するため、通信端末が第三者に無断で利用された場合、および分散鍵が盗まれた場合場合に、通信端末が利用する鍵が第三者に漏洩する可能性を低減することができる。したがって、従来に比して、セキュリティを比較的向上することができるという効果が得られる。
【０１３２】
さらに、発明３ないし８の秘密分散法による鍵管理システムによれば、通信端末と検証センタとの間では、メッセージ、生体情報および演算メッセージに関する送受信が特定通信路を通じて行われるので、メッセージ、生体情報および演算メッセージが第三者に漏洩する可能性、誤った相手先に通信される可能性、または改竄される可能性を低減することができる。
【０１３３】
さらに、発明４の秘密分散法による鍵管理システムによれば、正当な検証センタに対してのみメッセージおよび生体情報が送信されるので、メッセージおよび生体情報が第三者に漏洩する可能性を低減することができる。したがって、セキュリティをさらに向上することができるという効果も得られる。
【０１３４】
さらに、発明５ないし８の秘密分散法による鍵管理システムによれば、通信端末と検証センタとの間では、メッセージ、生体情報および演算メッセージに関する送受信が暗号化通信路を通じて行われるので、メッセージ、生体情報および演算メッセージが第三者に漏洩する可能性を低減することができる。したがって、セキュリティをさらに向上することができるという効果も得られる。
【０１３５】
さらに、発明６の秘密分散法による鍵管理システムによれば、通信端末と検証センタとの間では、複数の暗号化アルゴリズムまたはＭＡＣアルゴリズムのうちネゴシエーションにより決定したものに基づいて暗号化通信路が確立されるので、メッセージ、生体情報および演算メッセージが第三者に漏洩する可能性をさらに低減することができる。したがって、セキュリティをさらに向上することができるという効果も得られる。
【０１３６】
さらに、発明８の秘密分散法による鍵管理システムによれば、通信端末において、暗号鍵、ＭＡＣ鍵およびＩＶの更新を比較的容易に行えるので、通信端末と検証センタとの間で通信遅延を低減することができるという効果も得られる。
一方、発明１０ないし１６の検証センタによれば、発明１の秘密分散法による鍵管理システムと同等の効果が得られる。
【０１３７】
さらに、発明１１ないし１５の検証センタによれば、発明３の秘密分散法による鍵管理システムと同等の効果も得られる。
さらに、発明１２ないし１５の検証センタによれば、発明５の秘密分散法による鍵管理システムと同等の効果も得られる。
さらに、発明１３の検証センタによれば、発明６の秘密分散法による鍵管理システムと同等の効果も得られる。
【０１３８】
さらに、発明１５の検証センタによれば、発明８の秘密分散法による鍵管理システムと同等の効果も得られる。
一方、発明１７ないし２４の通信端末によれば、発明１の秘密分散法による鍵管理システムと同等の効果が得られる。
さらに、発明１８ないし２３の通信端末によれば、発明３の秘密分散法による鍵管理システムと同等の効果も得られる。
【０１３９】
さらに、発明１９の通信端末によれば、発明４の秘密分散法による鍵管理システムと同等の効果も得られる。
さらに、発明２０ないし２３の通信端末によれば、発明５の秘密分散法による鍵管理システムと同等の効果も得られる。
さらに、発明２１の通信端末によれば、発明６の秘密分散法による鍵管理システムと同等の効果も得られる。
【０１４０】
さらに、発明２３の通信端末によれば、発明８の秘密分散法による鍵管理システムと同等の効果も得られる。
一方、発明２５ないし３１の検証センタ用プログラムによれば、発明１０の検証センタと同等の効果が得られる。
さらに、発明２６ないし３０の検証センタ用プログラムによれば、発明１１の検証センタと同等の効果も得られる。
【０１４１】
さらに、発明２７ないし３０の検証センタ用プログラムによれば、発明１２の検証センタと同等の効果も得られる。
さらに、発明２８の検証センタ用プログラムによれば、発明１３の検証センタと同等の効果も得られる。
さらに、発明３０の検証センタ用プログラムによれば、発明１５の検証センタと同等の効果も得られる。
【０１４２】
一方、発明３２ないし３９の通信端末用プログラムによれば、発明１７の通信端末と同等の効果が得られる。
さらに、発明３３ないし３８の通信端末用プログラムによれば、発明１８の通信端末と同等の効果も得られる。
さらに、発明３４の通信端末用プログラムによれば、発明１９の通信端末と同等の効果も得られる。
【０１４３】
さらに、発明３５ないし３８の通信端末用プログラムによれば、発明２０の通信端末と同等の効果も得られる。
さらに、発明３６の通信端末用プログラムによれば、発明２１の通信端末と同等の効果も得られる。
さらに、発明３８の通信端末用プログラムによれば、発明２３の通信端末と同等の効果も得られる。
【０１４４】
一方、発明４０の秘密分散法による鍵管理方法によれば、発明１の秘密分散法による鍵管理システムと同等の効果が得られる。
【図面の簡単な説明】
【図１】本発明を適用するネットワークシステムの構成を示すブロック図である。
【図２】本発明に係る署名鍵管理および生体情報管理のアーキテクチャを示す図である。
【図３】バイオ認証および分散署名鍵を用いた演算手順を示す図である。
【図４】検証センタ１００と携帯端末２００との間における通信路の安全性確保の手順（Diffie-Hellman）を示す図である。
【図５】検証センタ１００と携帯端末２００との間における通信路の安全性確保の手順（秘密分散法）を示す図である。
【図６】暗号鍵、ＭＡＣ鍵およびＩＶの生成法（例）を示す図である。
【図７】検証センタ１００と携帯端末２００との間における通信路の安全性確保の手順（高速バージョン）を示す図である。
【図８】暗号鍵、ＭＡＣ鍵およびＩＶの更新法（例）を示す図である。
【図９】  Diffie-Hellmanを用いた場合についてのシーケンスを示す図である。
【図１０】ディジタル署名を用いた場合についてのシーケンスを示す図である。
【図１１】検証センタ１００と携帯端末２００との間の通信路の安全を高速に確保した場合についてのシーケンスを示す図である。
【図１２】バイオ認証と耐タンパ性のデバイスを使用した従来方式を示す図である。
【符号の説明】
１００                    検証センタ
２００                    携帯端末
２１０                    基地局
２２０                    中継局
３００                    ＳＳＬサーバ
【図１】
0003983561.tif 000002
【図２】
0003983561.tif 000003
【図３】
0003983561.tif 000004
【図４】
0003983561.tif 000005
【図５】
0003983561.tif 000006
【図６】
0003983561.tif 000007
【図７】
0003983561.tif 000008
【図８】
0003983561.tif 000009
【図９】
0003983561.tif 000010
【図１０】
0003983561.tif 000011
【図１１】
0003983561.tif 000012
【図１２】
0003983561.tif 000013