(57)【要約】【課題】エージェントの真正性を保証することができ、エージェントの真正利用者の確認を確実に行うことができ、さらにエージェントの真正利用者の確認に用いる生体情報の安全性を高めることができるようにすることを目的とする。【解決手段】エージェント認証処理において、耐タンパ装置２０は、ＢｉｏＤａｔａＡ(ｉ)を秘密乱数鍵Ｋｓｅｃ (ｉ)で暗号化した暗号化生体情報ＥＫsec（ｉ）(ＢｉｏＤａｔａＡ(ｉ))、ハッシュ値Ｈ（ｉ）、公開乱数（ＰＲ(ｉ)）、署名ＳｉｇＫ（ｉ）（エージェント）などをエージェント４０に格納する。ＢＡサーバ６０は、秘密乱数鍵を用いてハッシュ値ＢＨ（ｉ）などを算出し、移動してきたエージェント４０の格納情報を用いて署名が適正であるか否か、エージェント４０が真正であるか否か、被認証者Ａが本人であるか否かを判定する。【選択図】図１０
2007258789.tif 000002
【特許請求の範囲】
【請求項１】
認証を受けようとする被認証者の生体情報を受け付ける生体情報受付端末と、該生体情報受付端末から移動してきたエージェントに格納された情報を用いて前記被認証者を認証の可否の判断を行う生体認証サーバとを備えたエージェント認証システムであって、
前記生体情報受付端末は、
任意に選択された第１数値が一方向性関数により演算されることによって生成された第１数値鍵をあらかじめ記憶する第１数値鍵記憶手段と、
受け付けた生体情報を前記第１数値鍵記憶手段に記憶されている前記第１数値鍵を用いて暗号化した暗号化生体情報を前記エージェントに格納する暗号化生体情報格納手段と、
前記第１数値鍵記憶手段に記憶されている前記第１数値鍵と任意に選択された第２数値とを一方向性関数を用いて演算することにより第２数値鍵を生成する第２数値鍵生成手段と、
前記第２数値を前記エージェントに格納する第２数値格納手段と、
前記第１数値鍵記憶手段に記憶されている前記第１数値鍵と前記エージェントが不変的に有しているエージェント不変情報とを一方向性関数を用いて演算することにより生成したエージェント識別情報を前記エージェントに格納するエージェント識別情報格納手段と、を有し、
前記生体認証サーバは、
前記被認証者の生体情報をあらかじめ記憶する生体情報記憶手段と、
前記第１数値鍵をあらかじめ記憶するサーバ側第１数値鍵記憶手段と、
前記サーバ側第１数値鍵記憶手段に記憶されている第１数値鍵と前記通信ネットワークを介して移動してきたエージェントが不変的に有しているエージェント不変情報とを一方向性関数を用いて演算することにより生成したエージェント識別情報と、前記エージェントに格納されているエージェント識別情報とを照合するエージェント識別情報照合手段と、
該エージェント識別情報照合手段により前記生成したエージェント識別情報が、前記エージェントに格納されているエージェント識別情報に一致していると判定されたときに、移動してきたエージェントが真正であると判定するエージェント判定手段と、
移動してきたエージェントに格納されている暗号化生体情報を前記サーバ側第１数値鍵記憶手段に記憶されている第１数値鍵によって復号化した復号化生体情報と、前記生体情報記憶手段に記憶されている生体情報とを照合する生体情報照合手段と、
該生体情報照合手段により前記復号化した復号化生体情報が、前記生体情報記憶手段に記憶されている生体情報に一致していると判定されたときに、前記被認証者を認証することに決定する認証手段と、を有する
ことを特徴とするエージェント認証システム。
【請求項２】
生体情報受付端末は、第２数値鍵生成手段によって生成された第２数値鍵を用いて生成したエージェントの署名情報を前記エージェントに格納する署名情報格納手段を有し、
生体認証サーバは、
サーバ側第１数値鍵記憶手段に記憶されている第１数値鍵と、通信ネットワークを介して移動してきたエージェントに格納されている第２数値とを一方向性関数を用いて演算することにより第２数値鍵を生成するサーバ側第２数値鍵生成手段と、
該サーバ側第２数値鍵生成手段によって生成された第２数値鍵を用いて生成したエージェントの署名情報と、前記移動してきたエージェントに格納されている署名情報とを照合する署名情報照合手段と、
該署名情報照合手段により前記生成したエージェントの署名情報が前記移動してきたエージェントに格納されている署名情報に一致していると判定されたときに、前記移動してきたエージェントの情報が改ざんされていないと判定する署名情報判定認証手段と、を有する
請求項１記載のエージェント認証システム。
【請求項３】
第１数値は、生体情報受付端末内のみで用いられる秘密乱数であり、
第２数値は、生体情報受付端末外でも用いられる公開乱数である
請求項１または請求項２記載のエージェント認証システム。
【請求項４】
生体情報受付端末は、耐タンパ性を有する耐タンパ装置である
請求項１から請求項３のうちいずれか１項に記載のエージェント認証システム。
【請求項５】
エージェントは、生体情報受付端末により暗号化生体情報を含む所定の認証使用情報が格納されたときに前記生体情報受付端末から通信ネットワークを介して生体認証サーバ内に移動され、移動した前記生体認証サーバに対して認証依頼を行う
請求項１から請求項４のうちいずれか１項に記載のエージェント認証システム。
【請求項６】
エージェントは、不変的なプログラムやデータであるエージェント不変情報を含むソフトウェアであって、格納されているハードウェア上で動作する
請求項１から請求項５のうちいずれか１項に記載のエージェント認証システム。
【請求項７】
認証を受けようとする被認証者の生体情報を受け付ける生体情報受付端末と、該生体情報受付端末から移動してきたエージェントに格納された情報を用いて前記被認証者を認証の可否の判断を行う生体認証サーバとによって行うエージェント認証方法であって、
前記生体情報受付端末は、
任意に選択した第１数値を一方向性関数により演算したことによって生成した第１数値鍵をあらかじめ記憶する第１数値鍵記憶手段に記憶されている前記第１数値鍵を用いて、受け付けた生体情報を暗号化した暗号化生体情報を前記エージェントに格納するステップと、
前記第１数値鍵記憶手段に記憶されている前記第１数値鍵と任意に選択された第２数値とを一方向性関数を用いて演算することにより第２数値鍵を生成するステップと、
前記第２数値を前記エージェントに格納するステップと、
前記第１数値鍵記憶手段に記憶されている前記第１数値鍵と前記エージェントが不変的に有しているエージェント不変情報とを一方向性関数を用いて演算することにより生成したエージェント識別情報を前記エージェントに格納するステップと、を有し、
前記生体認証サーバは、
前記第１数値鍵をあらかじめ記憶するサーバ側第１数値鍵記憶手段に記憶されている第１数値鍵と前記通信ネットワークを介して移動してきたエージェントが不変的に有しているエージェント不変情報とを一方向性関数を用いて演算することにより生成したエージェント識別情報と、前記エージェントに格納されているエージェント識別情報とを照合するステップと、
前記生成したエージェント識別情報が、前記エージェントに格納されているエージェント識別情報に一致していると判定したときに、移動してきたエージェントが真正であると判定するステップと、
移動してきたエージェントに格納されている暗号化生体情報を前記サーバ側第１数値鍵記憶手段に記憶されている第１数値鍵によって復号化した復号化生体情報と、前記被認証者の生体情報をあらかじめ記憶する生体情報記憶手段に記憶されている前記生体情報とを照合するステップと、
前記復号化した復号化生体情報が、前記生体情報記憶手段に記憶されている生体情報に一致していると判定したときに、前記被認証者を認証することに決定するステップと、を有する
ことを特徴とするエージェント認証方法。
【請求項８】
認証を受けようとする被認証者の生体情報を受け付ける生体情報受付端末と、該生体情報受付端末から移動してきたエージェントに格納された情報を用いて前記被認証者を認証の可否の判断を行う生体認証サーバとにエージェント認証処理を実行させるエージェント認証プログラムであって、
前記生体情報受付端末に、
任意に選択した第１数値を一方向性関数により演算したことによって生成した第１数値鍵をあらかじめ記憶する第１数値鍵記憶手段に記憶されている前記第１数値鍵を用いて、受け付けた生体情報を暗号化した暗号化生体情報を前記エージェントに格納するステップと、
前記第１数値鍵記憶手段に記憶されている前記第１数値鍵と任意に選択された第２数値とを一方向性関数を用いて演算することにより第２数値鍵を生成するステップと、
前記第２数値を前記エージェントに格納するステップと、
前記第１数値鍵記憶手段に記憶されている前記第１数値鍵と前記エージェントが不変的に有しているエージェント不変情報とを一方向性関数を用いて演算することにより生成したエージェント識別情報を前記エージェントに格納するステップとを実行させ、
前記生体認証サーバに、
前記第１数値鍵をあらかじめ記憶するサーバ側第１数値鍵記憶手段に記憶されている第１数値鍵と前記通信ネットワークを介して移動してきたエージェントが不変的に有しているエージェント不変情報とを一方向性関数を用いて演算することにより生成したエージェント識別情報と、前記エージェントに格納されているエージェント識別情報とを照合するステップと、
前記生成したエージェント識別情報が、前記エージェントに格納されているエージェント識別情報に一致していると判定したときに、移動してきたエージェントが真正であると判定するステップと、
移動してきたエージェントに格納されている暗号化生体情報を前記サーバ側第１数値鍵記憶手段に記憶されている第１数値鍵によって復号化した復号化生体情報と、前記被認証者の生体情報をあらかじめ記憶する生体情報記憶手段に記憶されている前記生体情報とを照合するステップと、
前記復号化した復号化生体情報が、前記生体情報記憶手段に記憶されている生体情報に一致していると判定したときに、前記被認証者を認証することに決定するステップとを
実行させるためのエージェント認証プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証を受けようとする被認証者の生体情報を受け付ける生体情報受付端末と、該生体情報受付端末から移動してきたエージェントに格納された情報を用いて被認証者を認証の可否の判断を行う生体認証サーバとを備えたエージェント認証システム、エージェント認証方法、及びエージェント認証処理を実行させるためのエージェント認証プログラムに関する。
【背景技術】
【０００２】
従来から、クライアント端末自身によらずにエージェントにより各種の情報処理を行う処理方式が利用されている。また、従来から、本人認証を行うための認証方式として、生体情報読取装置によって読み取られた被認証者の指紋、顔の画像、虹彩などの生体情報を用いた認証方式が利用されている。この認証方式には、認証サーバが認証処理を行うサーバ認証方式や、クライアント端末が認証処理を行うクライアント認証方式がある。
【０００３】
サーバ認証方式では、例えば、生体情報にもとづいて作成されたテンプレートがＢＡ（生体認証）サーバに送信され、認証者を代行してＢＡサーバによってテンプレートにもとづく認証処理が行われる（例えば、特許文献１参照）。
【０００４】
また、クライアント認証方式では、例えば、上記の生体情報にもとづいて作成されたテンプレートにもとづく認証処理が、耐タンパ装置やクライアント端末によって行われる。
【０００５】
【特許文献１】特開平６−２６２９８２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述した従来の技術において、エージェントは、コンピュータネットワーク内で利用者の代理人として様々な処理を行う実行主体である。従って、エージェントが利用者を代理する真正のエージェントであることや、その利用者の意思に従って処理を実行していることを保証するために、エージェントと利用者の関連付けは大変重要である。
【０００７】
ところが、従来の技術においては、エージェントを利用している利用者の認証がなされていない場合が多く、認証されている場合についてもパスワードによるものに過ぎない。パスワードは、他人に盗み見られたり容易に推測されたりすることで漏洩する危険性が高く、必ずしも本人との結びつきは強くないという問題がある。
【０００８】
一方、指紋や顔などの生体情報による個人認証（バイオメトリクス認証）は、本人に備わっている人体的要素（あるいは行動的要素）を用いるため本人との結びつきが強く、強力な個人認証手段であると言える。しかし、実環境では本人拒否や他人受入といった誤認証があったり偽指紋などによるなりすましの危険性があったりするという問題がある。
【０００９】
バイオメトリクス認証は、複数の認証要素を組み合わせること（マルチモーダル化）によって誤認証やなりすましの危険性を低減できる。しかし、ネットワーク端末や耐タンパ装置などのクライアント端末は、ＣＰＵやメモリなどのリソースが貧弱なため、複数の認証エンジンを実装することは困難であり、実装したとしても高コストになるという課題がある。
【００１０】
また、生体情報は究極の個人情報であり代替が利かないという特徴があるので、利用者個人やシステムによって安全に管理・運用される必要がある。耐タンパ装置に格納されている生体情報は高い安全性が保たれているとしても、通信ネットワーク上を伝送される生体情報が傍受され解読されてしまう危険が存在しているという問題があった。
【００１１】
本発明は、上述した問題を解消し、エージェントの真正性を保証することができ、エージェントの真正利用者の確認を確実に行うことができ、さらにエージェントの真正利用者の確認に用いる生体情報の安全性を高めることができるようにすることを目的とする。
【課題を解決するための手段】
【００１２】
本発明のエージェント認証システムは、認証を受けようとする被認証者の生体情報を受け付ける生体情報受付端末と、該生体情報受付端末から移動してきたエージェントに格納された情報を用いて前記被認証者を認証の可否の判断を行う生体認証サーバとを備えたエージェント認証システムであって、前記生体情報受付端末は、任意に選択された第１数値が一方向性関数により演算されることによって生成された第１数値鍵をあらかじめ記憶する第１数値鍵記憶手段と、受け付けた生体情報を前記第１数値鍵記憶手段に記憶されている前記第１数値鍵を用いて暗号化した暗号化生体情報を前記エージェントに格納する暗号化生体情報格納手段と、前記第１数値鍵記憶手段に記憶されている前記第１数値鍵と任意に選択された第２数値とを一方向性関数を用いて演算することにより第２数値鍵を生成する第２数値鍵生成手段と、前記第２数値を前記エージェントに格納する第２数値格納手段と、前記第１数値鍵記憶手段に記憶されている前記第１数値鍵と前記エージェントが不変的に有しているエージェント不変情報とを一方向性関数を用いて演算することにより生成したエージェント識別情報を前記エージェントに格納するエージェント識別情報格納手段と、を有し、前記生体認証サーバは、前記被認証者の生体情報をあらかじめ記憶する生体情報記憶手段と、前記第１数値鍵をあらかじめ記憶するサーバ側第１数値鍵記憶手段と、前記サーバ側第１数値鍵記憶手段に記憶されている第１数値鍵と前記通信ネットワークを介して移動してきたエージェントが不変的に有しているエージェント不変情報とを一方向性関数を用いて演算することにより生成したエージェント識別情報と、前記エージェントに格納されているエージェント識別情報とを照合するエージェント識別情報照合手段と、該エージェント識別情報照合手段により前記生成したエージェント識別情報が、前記エージェントに格納されているエージェント識別情報に一致していると判定されたときに、移動してきたエージェントが真正であると判定するエージェント判定手段と、移動してきたエージェントに格納されている暗号化生体情報を前記サーバ側第１数値鍵記憶手段に記憶されている第１数値鍵によって復号化した復号化生体情報と、前記生体情報記憶手段に記憶されている生体情報とを照合する生体情報照合手段と、該生体情報照合手段により前記復号化した復号化生体情報が、前記生体情報記憶手段に記憶されている生体情報に一致していると判定されたときに、前記被認証者を認証することに決定する認証手段と、を有することを特徴とする。
【００１３】
生体情報受付端末は、第２数値鍵生成手段によって生成された第２数値鍵を用いて生成したエージェントの署名情報を前記エージェントに格納する署名情報格納手段を有し、生体認証サーバは、サーバ側第１数値鍵記憶手段に記憶されている第１数値鍵と、通信ネットワークを介して移動してきたエージェントに格納されている第２数値とを一方向性関数を用いて演算することにより第２数値鍵を生成するサーバ側第２数値鍵生成手段と、該サーバ側第２数値鍵生成手段によって生成された第２数値鍵を用いて生成したエージェントの署名情報と、前記移動してきたエージェントに格納されている署名情報とを照合する署名情報照合手段と、該署名情報照合手段により前記生成したエージェントの署名情報が前記移動してきたエージェントに格納されている署名情報に一致していると判定されたときに、前記移動してきたエージェントの情報が改ざんされていないと判定する署名情報判定認証手段と、を有する構成とされていてもよい。
【００１４】
第１数値は、例えば生体情報受付端末内のみで用いられる秘密乱数であり、第２数値は、例えば生体情報受付端末外でも用いられる公開乱数である。また、一方向性関数は、例えばハッシュ関数である。さらに、生体情報受付端末は、例えば耐タンパ性を有する耐タンパ装置である。
【００１５】
エージェントは、生体情報受付端末により暗号化生体情報を含む所定の認証使用情報が格納されたときに前記生体情報受付端末から通信ネットワークを介して生体認証サーバ内に移動され、移動した前記生体認証サーバに対して認証依頼を行う構成とされていてもよい。
【００１６】
エージェントは、不変的なプログラムやデータであるエージェント不変情報を含むソフトウェアであって、格納されているハードウェア上で動作する構成とされていてもよい。
【００１７】
また、本発明のエージェント認証方法は、認証を受けようとする被認証者の生体情報を受け付ける生体情報受付端末と、該生体情報受付端末から移動してきたエージェントに格納された情報を用いて前記被認証者を認証の可否の判断を行う生体認証サーバとによって行うエージェント認証方法であって、前記生体情報受付端末は、任意に選択した第１数値を一方向性関数により演算したことによって生成した第１数値鍵をあらかじめ記憶する第１数値鍵記憶手段に記憶されている前記第１数値鍵を用いて、受け付けた生体情報を暗号化した暗号化生体情報を前記エージェントに格納するステップと、前記第１数値鍵記憶手段に記憶されている前記第１数値鍵と任意に選択された第２数値とを一方向性関数を用いて演算することにより第２数値鍵を生成するステップと、前記第２数値を前記エージェントに格納するステップと、前記第１数値鍵記憶手段に記憶されている前記第１数値鍵と前記エージェントが不変的に有しているエージェント不変情報とを一方向性関数を用いて演算することにより生成したエージェント識別情報を前記エージェントに格納するステップと、を有し、前記生体認証サーバは、前記第１数値鍵をあらかじめ記憶するサーバ側第１数値鍵記憶手段に記憶されている第１数値鍵と前記通信ネットワークを介して移動してきたエージェントが不変的に有しているエージェント不変情報とを一方向性関数を用いて演算することにより生成したエージェント識別情報と、前記エージェントに格納されているエージェント識別情報とを照合するステップと、前記生成したエージェント識別情報が、前記エージェントに格納されているエージェント識別情報に一致していると判定したときに、移動してきたエージェントが真正であると判定するステップと、移動してきたエージェントに格納されている暗号化生体情報を前記サーバ側第１数値鍵記憶手段に記憶されている第１数値鍵によって復号化した復号化生体情報と、前記被認証者の生体情報をあらかじめ記憶する生体情報記憶手段に記憶されている前記生体情報とを照合するステップと、前記復号化した復号化生体情報が、前記生体情報記憶手段に記憶されている生体情報に一致していると判定したときに、前記被認証者を認証することに決定するステップと、を有することを特徴とする。
【００１８】
さらに、本発明のエージェント認証プログラムは、認証を受けようとする被認証者の生体情報を受け付ける生体情報受付端末と、該生体情報受付端末から移動してきたエージェントに格納された情報を用いて前記被認証者を認証の可否の判断を行う生体認証サーバとにエージェント認証処理を実行させるエージェント認証プログラムであって、前記生体情報受付端末に、任意に選択した第１数値を一方向性関数により演算したことによって生成した第１数値鍵をあらかじめ記憶する第１数値鍵記憶手段に記憶されている前記第１数値鍵を用いて、受け付けた生体情報を暗号化した暗号化生体情報を前記エージェントに格納するステップと、前記第１数値鍵記憶手段に記憶されている前記第１数値鍵と任意に選択された第２数値とを一方向性関数を用いて演算することにより第２数値鍵を生成するステップと、前記第２数値を前記エージェントに格納するステップと、前記第１数値鍵記憶手段に記憶されている前記第１数値鍵と前記エージェントが不変的に有しているエージェント不変情報とを一方向性関数を用いて演算することにより生成したエージェント識別情報を前記エージェントに格納するステップとを実行させ、前記生体認証サーバに、前記第１数値鍵をあらかじめ記憶するサーバ側第１数値鍵記憶手段に記憶されている第１数値鍵と前記通信ネットワークを介して移動してきたエージェントが不変的に有しているエージェント不変情報とを一方向性関数を用いて演算することにより生成したエージェント識別情報と、前記エージェントに格納されているエージェント識別情報とを照合するステップと、前記生成したエージェント識別情報が、前記エージェントに格納されているエージェント識別情報に一致していると判定したときに、移動してきたエージェントが真正であると判定するステップと、移動してきたエージェントに格納されている暗号化生体情報を前記サーバ側第１数値鍵記憶手段に記憶されている第１数値鍵によって復号化した復号化生体情報と、前記被認証者の生体情報をあらかじめ記憶する生体情報記憶手段に記憶されている前記生体情報とを照合するステップと、前記復号化した復号化生体情報が、前記生体情報記憶手段に記憶されている生体情報に一致していると判定したときに、前記被認証者を認証することに決定するステップとを実行させるためのものである。
【発明の効果】
【００１９】
本発明によれば、エージェントの真正性を保証することができ、エージェントの真正利用者の確認を確実に行うことができ、さらにエージェントの真正利用者の確認に用いる生体情報の安全性を高めることができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施の形態について図面を参照して説明する。
図１は、本発明の一実施の形態におけるエージェント認証システム１００の構成例を示すブロック図である。
【００２１】
図１に示すように、エージェント認証システム１００は、耐タンパ装置２０を含む情報処理装置１０と、アプリケーションサーバ５０と、ＢＡサーバ（生体認証サーバ）６０とを含む。情報処理装置１０、アプリケーションサーバサーバ５０、およびＢＡサーバ６０は、インターネットや専用回線などの通信ネットワーク７０に接続されている。
【００２２】
耐タンパ装置２０は、パーソナルコンピュータなどの情報処理装置であって、ソフトウェアやハードウェアによって耐タンパ性が高められた構成とされている。「耐タンパ性」とは、非正規（不正）な手段による機密データの外部からの読み取りを防ぐ能力を意味する。なお、耐タンパ性を高める方法としては、不正な手段により外部からデータ等を読み取ることが困難となるように機密性を高める方法と、不正な手段によりデータ等が外部から読み取られそうになったときにそのデータ等を破壊する機構を備える方法とが知られている。
【００２３】
情報処理装置１０は、アプリケーションサーバ５０によって提供されるサービスを受けることが可能なクライアント端末である。情報処理装置１０の具体例としては、例えば、コンビニエンスストアなどに設置されている電子マネーによる課金機能を備えた端末装置、銀行などのＡＴＭ装置（現金自動預け払い機）、各個人によって管理されるパーソナルコンピュータや携帯通信端末などがある。
【００２４】
耐タンパ装置２０は、情報処理装置１０内に設置される。なお、情報処理装置１０に接続されて設置されていてもよい。
【００２５】
アプリケーションサーバ５０は、例えばＷＷＷサーバやワークステーションサーバなどの情報処理装置によって構成され、例えばコンテンツの提供などの本人認証を経た上で提供される各種のサービスを実行するための機能を備えている。
【００２６】
ＢＡサーバ６０は、例えばＷＷＷサーバやワークステーションサーバなどの情報処理装置によって構成され、例えば国家機関や信頼される第三者機関によって管理される。ＢＡサーバ６０は、例えば情報処理装置１０によるアプリケーション提供依頼にもとづくエージェント４０（図４参照）からの認証依頼に応じて、情報処理装置１０側の被認証者Ａやエージェント４０を認証するための認証処理を行う。
【００２７】
図２は、耐タンパ装置２０を含む情報処理装置１０の構成の例を示すブロック図である。図２に示すように、情報処理装置１０は、エージェント生成部１１と、エージェント稼動部１２と、データ通信部１３とを含む。また、耐タンパ装置２０は、生体情報読取部２１と、秘密乱数生成部２２と、乱数格納部２３と、秘密乱数鍵格納部２４と、暗号署名処理部２５と、秘密乱数鍵生成部２７と、公開乱数生成部２８と、ハッシュ値算出部２９と、データ通信部３０と、ワンタイム鍵生成部３１とを含む。
【００２８】
エージェント生成部１１は、ＢＡサーバ６０による認証処理のために必要な各種の情報をエージェント４０に格納するための各種の処理を行う。エージェント生成部１１によって各種の情報が格納されることで、エージェント４０が有効状態に生成される。
【００２９】
エージェント稼動部１２は、エージェント生成部１１によって生成されたエージェントを稼動させ、データ通信部１３を介してＢＡサーバ６０などに移動させるための処理を行う。
【００３０】
データ通信部１３は、耐タンパ装置２０やＢＡサーバ６０やアプリケーションサーバ５０などとの間で、データ通信部３０や通信ネットワーク７０を介して、データ通信を行うための機能を有する。
【００３１】
生体情報読取部２１は、生体情報読取装置８０が読み取った生体情報を受け付ける処理などの各種の処理を実行する機能を有する。なお、生体情報読取装置８０は、例えば指紋、顔、虹彩、静脈などの生体情報を被認証者から読み取る装置である。
【００３２】
秘密乱数生成部２２は、後述する秘密乱数を生成する処理などの各種の処理を実行する機能を有する。乱数格納部２３は、例えばデータベース装置などの情報記憶媒体によって構成され、秘密乱数生成部２２によって生成された秘密乱数などの各種の情報が記憶される。
【００３３】
秘密乱数鍵格納部２４は、例えばデータベース装置などの情報記憶媒体によって構成され、秘密乱数鍵生成部２７によって生成された後述する秘密乱数鍵などの各種の情報が記憶される。暗号署名処理部２５は、データの暗号化や復号化、署名情報の生成などを実行する機能を有する。
【００３４】
秘密乱数鍵生成部２７は、秘密乱数にもとづいて秘密乱数鍵を生成する処理などの各種の処理を実行する機能を有する。公開乱数生成部２８は、後述する公開乱数を生成する処理などの各種の処理を実行する機能を有する。
【００３５】
ハッシュ値算出部２９は、あらかじめ用意されたハッシュ関数を用いて、与えられたデータからハッシュ値を算出する処理などの各種の処理を実行する機能を有する。
【００３６】
データ通信部３０は、情報処理装置１０などとの間で、データ通信部１３を介してデータ通信を行うための機能を有する。
【００３７】
ワンタイム鍵生成部３１は、秘密乱数鍵と公開乱数とを用いてワンタイム鍵を生成する処理などの各種の処理を実行する機能を有する。
【００３８】
図３は、ＢＡサーバ６０の構成の例を示すブロック図である。
図３に示すように、ＢＡサーバ６０は、秘密乱数鍵登録部５１と、秘密乱数鍵格納部５２と、ハッシュ値算出部５３と、署名ハッシュ値検証部５４と、データ通信部５５と、ワンタイム鍵生成部５６と、ワンタイム鍵格納部５７と、生体情報登録部５８と、生体情報格納部５９と、生体情報照合判定部６０と、暗号署名処理部６１と、エージェント稼動部６２とを含む。
【００３９】
秘密乱数鍵登録部５１は、情報処理装置１０から通信ネットワーク７０を介して受信した秘密乱数鍵を秘密乱数鍵格納部５２に登録する処理などの各種の処理を実行する機能を有する。秘密乱数鍵格納部５２は、例えばデータベース装置などの情報記憶媒体によって構成され、秘密乱数鍵登録部５１による登録処理によって秘密乱数鍵などの各種の情報が記憶される。
【００４０】
ハッシュ値算出部５３は、あらかじめ用意されたハッシュ関数を用いて、与えられたデータからハッシュ値を算出する処理などの各種の処理を実行する機能を有する。
【００４１】
署名ハッシュ値検証部５４は、対比される２つの後述する署名情報やハッシュ値を照合し、その照合結果にもとづいてエージェント４０やエージェント４０のデータ部４１に格納されている情報などの検証対象情報が改ざんされているか否かを判定する処理などの各種の処理を実行する機能を有する。
【００４２】
データ通信部５５は、情報処理装置１０やアプリケーションサーバ５０などとの間で、通信ネットワーク７０を介してデータ通信を行うための機能を有する。
【００４３】
ワンタイム鍵生成部５６は、秘密乱数鍵にもとづいてワンタイム鍵を生成する処理などの各種の処理を実行する。ワンタイム鍵格納部５７は、例えばデータベース装置などの情報記憶媒体によって構成され、ワンタイム鍵生成部５６によって生成されたワンタイム鍵などの各種の情報が記憶される。なお、ワンタイム鍵は、認証処理の際に１回だけ用いられるものであるため、認証処理が終了したらワンタイム鍵格納部５７から消去される。
【００４４】
生体情報登録部５８は、耐タンパ装置２０から生体情報が送られてきたときに、その生体情報を生体情報格納部５９に登録する処理などの各種の処理を実行する機能を有する。生体情報格納部５９は、例えばデータベース装置などの情報記憶媒体によって構成され、生体情報登録部５８による登録処理によって生体情報などの各種の情報が記憶される。
【００４５】
生体情報照合判定部６０は、対比される２つの生体情報を照合し、その照合結果にもとづいて被認証者を認証するか否かを判定する処理などの各種の処理を実行する機能を有する。
【００４６】
暗号署名処理部６１は、データの暗号化や復号化、署名情報の生成などを実行する機能を有する。エージェント稼動部６２は、通信ネットワーク７０を介して移動してきたエージェントを稼動させ、ＢＡサーバ６０内で有効に動作させるための処理を行う。
【００４７】
図４は、エージェント４０の構成の例を示すブロック図である。
図４に示すように、エージェント４０は、エージェント４０による情報処理に必要となる各種のデータを格納するデータ部４１とエージェント４０内に設定された各種のプログラムに従って各種の処理を実行するプログラム部４５とによって構成される。データ部４１は、被認証者の生体情報が格納される生体情報格納部４２と、エージェント４０にて使用されるエージェント情報が格納されるエージェント情報格納部４３と、各種のアプリケーション情報が格納されるアプリケーション情報格納部４４とを含む。また、プログラム部４５は、生体情報に関する処理を実行する生体情報処理部４６と、アプリケーションに関する処理を実行するアプリケーション処理部４７と、エージェント４０を移動させるための処理を実行する移動処理部４８とを含む。
【００４８】
エージェント４０は、時間的に変化しない不変的なプログラムやデータであるエージェント不変情報を含むソフトウェアであって、格納されているハードウェア上で動作する。
【００４９】
次に、本例のエージェント認証システム１００の動作について説明する。
図５は、本例のエージェント認証システム１００が実行する秘密乱数鍵生成登録処理の例を示すフローチャートである。図６は、秘密乱数鍵生成登録処理の概要を示す概念図である。ここでは、被認証者Ａの生体情報にもとづいてＭ個の秘密乱数鍵（Ｋｓｅｃ (ｉ)：ｉ＝１，２，・・・，Ｍ）が生成され登録される場合を例に説明する。
【００５０】
秘密乱数鍵生成登録処理において、耐タンパ装置２０の秘密乱数生成部２２は、秘密乱数（ＳＲ：Ｓｅｃｒｅｔ  Ｒａｎｄｏｍ  ｎｕｍｂｅｒ）を生成する（ステップＳ１）。ステップＳ１において、秘密乱数生成部２２は、例えば所定数値範囲内の数値を、ランダムにＭ個選択することで、Ｍ個の秘密乱数（ＳＲ(ｉ)：ｉ＝１，２，・・・，Ｍ）を生成する。なお、秘密乱数生成部２２は、生成した秘密乱数を、例えば被認証者ＡのユーザＩＤ（ＵｓｅｒＩＤ（Ａ））に関連付けして乱数格納部２３に保存する。
【００５１】
「秘密乱数」は、耐タンパ装置２０内のみで用いられ、耐タンパ装置２０の外部に出力されることが禁止された機密性のあるデータである。
【００５２】
秘密乱数を生成すると、耐タンパ装置２０の秘密乱数鍵生成部２７は、Ｍ個の秘密乱数（ＳＲ(１)〜ＳＲ(Ｍ)）にもとづいて、Ｍ個の秘密乱数鍵（Ｋｓｅｃ (ｉ)＝ｈ（ＳＲ（ｉ））：ｉ＝１，２，・・・，Ｍ）を生成するための処理を行う（ステップＳ２）。
【００５３】
ステップＳ２では、秘密乱数鍵生成部２７は、ハッシュ値算出部２９に演算指示を行う。秘密乱数鍵生成部２７からの演算指示に応じて、ハッシュ値算出部２９は、Ｍ個の秘密乱数鍵として、ハッシュ関数を用いてＭ個のハッシュ値（ｈ（ＳＲ(ｉ)）：ｉ＝１，２，・・・，Ｍ）を算出する。なお、秘密乱数鍵の算出に用いられる関数は、不可逆性を有する一方向性関数であれば、ハッシュ関数以外の他の関数であってもよい。
【００５４】
被認証者Ａについての秘密乱数鍵を生成すると、秘密乱数鍵生成部２７は、生成したＭ個の秘密乱数鍵（Ｋｓｅｃ (ｉ)：ｉ＝１，２，・・・，Ｍ）を秘密乱数鍵格納部２４に格納する（ステップＳ３）。
【００５５】
また、耐タンパ装置２０のデータ通信部３０は、秘密乱数鍵生成部２７によって生成されたＭ個の秘密乱数鍵（Ｋｓｅｃ (ｉ)：ｉ＝１，２，・・・，Ｍ）を、被認証者ＡのユーザＩＤ（ＵｓｅｒＩＤ（Ａ））とともに、安全な手段（例えば、公開鍵基盤による認証・暗号化など。なお、通信ネットワーク７０を介さない手渡しなどの手段）によりＢＡサーバ６０に向けて送信する（ステップＳ４）。
【００５６】
ＢＡサーバ６０では、耐タンパ装置２０からの秘密乱数鍵を受信すると、ＢＡサーバ６０の秘密乱数鍵登録部５１が、受信したＭ個の秘密乱数鍵（Ｋｓｅｃ (ｉ)：ｉ＝１，２，・・・，Ｍ）を、被認証者ＡのユーザＩＤ（ＵｓｅｒＩＤ（Ａ））に関連付けして秘密乱数鍵格納部５２に格納する処理を行う。
【００５７】
上記のようにして、被認証者Ａについて秘密乱数にもとづいて生成された秘密乱数鍵が耐タンパ装置２０およびＢＡサーバ６０に登録される。すなわち、図６に示すように、耐タンパ装置２０にて、被認証者ＡについてＭ個の秘密乱数（ＳＲ(１)〜ＳＲ(Ｍ)）を入力としたハッシュ関数による演算出力を、Ｍ個の秘密乱数鍵（Ｋｓｅｃ(１)〜Ｋｓｅｃ(Ｍ)）として得る。そして、生成した秘密乱数鍵を、ユーザＩＤとともにＢＡサーバ６０に送信し、耐タンパ装置２０とＢＡサーバ６０の双方で被認証者Ａについての秘密乱数鍵が保存されるようにしておく。なお、図６に示されている「Ｋｓｅｃ(ｉ)＝ｈ（ＳＲ(ｉ)）」は、秘密乱数鍵「Ｋｓｅｃ (ｉ)」が、「ＳＲ(ｉ)」により算出されたハッシュ値であることを意味する。また、「ｒｅｇ」が付されている文字が示す情報は、ＢＡサーバ６０に登録されている情報であることを示す。
【００５８】
Ｍ個の秘密乱数鍵は、例えば、相異なるＭ個のサービス（例えば、ＡＴＭ機器、部屋への出入り、コンビニエンスストアなど）での認証処理にて別個に利用される。
【００５９】
また、複数個の秘密乱数鍵を、１つのサービス認証のために用いるようにしてもよい。例えば、家庭内や携帯電話端末からＡＴＭ機器にアクセスする場合に、３個の秘密乱数鍵がすべて検証できた場合にのみ、本人であると認証するようにすれば、１個の秘密乱数鍵を用いる場合と比較して、安全性を格段に向上させることが可能となる。
【００６０】
次に、本例のエージェント認証システム１００におけるエージェント認証処理の例について説明する。図７は、本例のエージェント認証システム１００におけるエージェント認証処理のうち情報処理装置１０が実行する部分の例を示すフローチャートである。図８，図９は、本例のエージェント認証システム１００におけるエージェント認証処理のうちＢＡサーバ６０が実行する部分の例を示すフローチャートである。図１０は、エージェント認証処理の概要を示す概念図である。
【００６１】
ここでは、被認証者ＡについてのＭ個の秘密乱数鍵を用いてワンタイム鍵等を生成することにより、そのワンタイム鍵等を用いてエージェント４０が真正であるか否かや、被認証者Ａを認証するか否かが判定される場合を例に説明する。
【００６２】
従って、ここでは、上述した秘密乱数鍵生成登録処理によって、耐タンパ装置２０およびＢＡサーバ６０に、被認証者ＡについてのＭ個の秘密乱数鍵が保存されているものとする。
【００６３】
なお、ここでは、被認証者Ａが耐タンパ装置２０を操作してアプリケーションサーバ５０に対してサービス提供依頼要求を行った際に、エージェント４０から依頼を受けたＢＡサーバ６０がエージェント４０の真正性を判断し、真正なエージェント４０と認められた場合に被認証者Ａを認証するための処理を行うものとする。また、ここでは、エージェント生成部１１からの要求にもとづき生体情報入力依頼が情報処理装置１０または耐タンパ装置２０の図示しない表示装置に表示されたことなどに応じて、被認証者Ａによって生体情報読取装置８０に生体情報が入力されるものとする。
【００６４】
エージェント認証処理において、情報処理装置１０は、被認証者Ａから読み取った複数の生体情報（ＢｉｏＤａｔａＡ(ｉ) ：ｉ＝２，３，・・・，Ｍ）を生体情報読取装置８０から生体情報読取部２１にて取得すると（ステップＳ２１）、取得した複数の生体情報ＢｉｏＤａｔａＡ(ｉ)を秘密乱数鍵格納部２４に格納されている被認証者Ａの秘密乱数鍵Ｋｓｅｃ (ｉ)で暗号化して、エージェント生成部１１によりエージェント４０の生体情報格納部４２に格納する（ステップＳ２２）。
【００６５】
次いで、耐タンパ装置２０の公開乱数生成部２８は、ＢｉｏＤａｔａＡ用の公開乱数（ＰＲ：Ｐｕｂｌｉｃ  Ｒａｎｄｏｍ  ｎｕｍｂｅｒ）をＭ個生成し、生成した公開乱数（ＰＲ(ｉ) ：ｉ＝２，３，・・・，Ｍ）と秘密乱数鍵格納部２４に格納されている被認証者ＡのＭ個の秘密乱数鍵Ｋｓｅｃ (ｉ)とを用いてワンタイム鍵（Ｋ(ｉ)＝ｈ（Ｋｓｅｃ (ｉ) ｜｜ＰＲ(ｉ)））を生成する（ステップＳ２３）。ステップＳ２３において、公開乱数生成部２８は、例えば所定数値範囲内の数値を、ランダムにＭ個選択することで、Ｍ個の公開乱数（ＰＲ(ｉ)）を生成する。なお、公開乱数生成部２８は、生成した公開乱数を、例えば被認証者ＡのユーザＩＤ（ＵｓｅｒＩＤ（Ａ））に関連付けして乱数格納部２３に保存する。
【００６６】
「公開乱数」は、耐タンパ装置２０外での利用が許容され、耐タンパ装置２０の外部に出力されることが認められている機密性のないデータである。
【００６７】
なお、「Ｋ(ｉ)＝ｈ（Ｋｓｅｃ (ｉ) ｜｜ＰＲ(ｉ)）」は、ワンタイム鍵「Ｋ(ｉ)」が、秘密乱数鍵「Ｋｓｅｃ (ｉ)」と公開乱数「ＰＲ(ｉ)」とにより算出されたハッシュ値であることを意味する。
【００６８】
ステップＳ２３では、ワンタイム鍵生成部３１は、ハッシュ値算出部２９に演算指示を行う。ワンタイム鍵生成部３１からの演算指示に応じて、ハッシュ値算出部２９は、Ｍ個のワンタイム鍵として、ハッシュ関数を用いてＭ個のハッシュ値（ｈ（Ｋｓｅｃ (ｉ) ｜｜ＰＲ(ｉ)））を算出する。なお、ワンタイム鍵の算出に用いられる関数は、不可逆性を有する一方向性関数であれば、ハッシュ関数以外の他の関数であってもよい。
【００６９】
次に、耐タンパ装置２０の暗号署名処理部２５は、秘密乱数鍵格納部２４に格納されている被認証者ＡのＭ個の秘密乱数鍵Ｋｓｅｃ (ｉ)と、エージェント４０内の不変プログラム等の不変部分の一部または全部を示すエージェント不変部とを用いてハッシュ値（Ｈ（ｉ）＝ｈ（Ｋｓｅｃ (ｉ) ｜｜エージェント不変部）を生成し、生成したハッシュ値Ｈ（ｉ）を被認証者ＡのＭ個の公開乱数（ＰＲ(ｉ)）とともに、エージェント生成部１１によりエージェント４０の生体情報格納部４２に格納する（ステップＳ２４）。
【００７０】
ステップＳ２４では、暗号署名処理部２５は、ハッシュ値算出部２９に演算指示を行う。暗号署名処理部２５からの演算指示に応じて、ハッシュ値算出部２９は、Ｍ個のハッシュ値Ｈ（ｉ）を算出する。
【００７１】
次に、耐タンパ装置２０の暗号署名処理部２５は、ワンタイム鍵Ｋ(ｉ)を用いてエージェント４０の署名「ＳｉｇＫ（ｉ）（エージェント）」を生成し、エージェント生成部１によりエージェント４０の生体情報格納部４２に格納する（ステップＳ２５）。
【００７２】
上記のように各種の情報をエージェント４０に格納すると、情報処理装置１０のエージェント稼動部１２は、エージェント４０をＢＡサーバ６０に移動させるための処理を行う（ステップＳ２６）。
【００７３】
エージェント稼動部１２によって移動処理部４８が起動されると、エージェント４０は、情報処理装置１０から通信ネットワーク７０を介してＢＡサーバ６０に移動する。すなわち、情報処理装置１０は、ＢｉｏＤａｔａＡ(ｉ)を秘密乱数鍵Ｋｓｅｃ (ｉ)で暗号化した暗号化情報ＥＫsec（ｉ）(ＢｉｏＤａｔａＡ(ｉ))、ハッシュ値Ｈ（ｉ）、公開乱数（ＰＲ(ｉ)）、署名ＳｉｇＫ（ｉ）（エージェント）などが格納されたエージェント４０を、通信ネットワーク７０を介してＢＡサーバ６０に送信する。そして、ＢＡサーバ６０は、暗号化情報ＥＫsec（ｉ）(ＢｉｏＤａｔａＡ(ｉ))、ハッシュ値Ｈ（ｉ）、公開乱数（ＰＲ(ｉ)）、署名ＳｉｇＫ（ｉ）（エージェント）等が格納されたエージェント４０を取得する（ステップＳ３１）。エージェント４０は、ＢＡサーバ６０に移動すると、ＢＡサーバ６０に対して認証依頼を行う。
【００７４】
エージェント４０を取得すると、ＢＡサーバ６０のワンタイム鍵生成部５６は、ステップＳ３１にて受信した被認証者ＡのユーザＩＤに関連付けされて秘密乱数鍵格納部５２に格納されている秘密乱数鍵Ｋｓｅｃｒｅｇ(ｉ)と、エージェント４０から受信した公開乱数（ＰＲ(ｉ)）とを用いて、ワンタイム鍵（ＢＫ(ｉ)＝ｈ（Ｋｓｅｃｒｅｇ(ｉ) ｜｜ＰＲ(ｉ)）を生成する（ステップＳ３２）。
【００７５】
ステップＳ３２では、ワンタイム鍵生成部５６は、ハッシュ値算出部５３に演算指示を行う。ワンタイム鍵生成部５６からの演算指示に応じて、ハッシュ値算出部５３は、Ｍ個のワンタイム鍵として、ハッシュ関数を用いてＭ個のハッシュ値ｈ（Ｋｓｅｃｒｅｇ(ｉ) ｜｜ＰＲ(ｉ)）を算出する。なお、ワンタイム鍵の算出に用いられる関数は、不可逆性を有する一方向性関数であれば、ハッシュ関数以外の他の関数であってもよい。
【００７６】
ステップＳ３２の演算処理においては、上述したステップＳ２３での演算処理にて用いられるハッシュ関数と同一のハッシュ関数が用いられるものとする。従って、演算処理に使用された秘密乱数鍵が同一であれば、ステップＳ３２の演算処理とステップＳ２３での演算処理との処理結果が同一となる。
【００７７】
ワンタイム鍵を生成すると、ＢＡサーバ６０は、暗号署名処理部６１によって、生成したワンタイム鍵ＢＫ(ｉ)を用いてエージェント４０の署名ＳｉｇＢＫ（ｉ）（エージェント）を算出し、署名ハッシュ値検証部５４によって、エージェント４０に格納されている署名ＳｉｇＫ（ｉ）（エージェント）と比較することで、受信したエージェント４０が改ざんされていないか否かを検証する（ステップＳ３３）。
【００７８】
署名ＳｉｇＢＫ（ｉ）（エージェント）と署名ＳｉｇＫ（ｉ）（エージェント）とが一致していなければ、ＢＡサーバ６０の署名ハッシュ値検証部５４は、エージェント４０が改ざんされていると判定し（ステップＳ３４のＮ）、認証不可を情報処理装置１０に通知する（ステップＳ３５）。
【００７９】
署名ＳｉｇＢＫ（ｉ）（エージェント）と署名ＳｉｇＫ（ｉ）（エージェント）とが一致していれば、ＢＡサーバ６０の署名ハッシュ値検証部５４は、エージェント４０は改ざんされていないと判定する（ステップＳ３４のＹ）。
【００８０】
エージェント４０が改ざんされていないと判定すると、ＢＡサーバ６０の署名ハッシュ値検証部５４は、秘密乱数鍵格納部５２に格納されている被認証者ＡのＭ個の秘密乱数鍵Ｋｓｅｃ ｒｅｇ(ｉ)と、エージェント４０内の不変プログラム等の不変部分の一部または全部を示すエージェント不変部とを用いてハッシュ値（ＢＨ（ｉ）＝ｈ（Ｋｓｅｃｒｅｇ(ｉ) ｜｜エージェント不変部）を生成し、生成したハッシュ値ＢＨ（ｉ）とエージェント４０に格納されているハッシュ値Ｈ（ｉ）とを比較する（ステップＳ３６）。
【００８１】
生成したハッシュ値ＢＨ（ｉ）とエージェント４０に格納されているハッシュ値Ｈ（ｉ）とが一致していなければ、ＢＡサーバ６０の署名ハッシュ値検証部５４は、エージェントが真正でないと判定し（ステップＳ３７のＮ）、認証不可を情報処理装置１０に通知する（ステップＳ３８）。
【００８２】
一方、生成したハッシュ値ＢＨ（ｉ）とエージェント４０に格納されているハッシュ値Ｈ（ｉ）とが一致していれば、ＢＡサーバ６０は、エージェントが真正であると判定する（ステップＳ３７のＹ）。
【００８３】
エージェントが真正であると判定すると、ＢＡサーバ６０の暗号署名処理部６１は、エージェント４０から暗号化した暗号化情報ＥＫsec（ｉ）(ＢｉｏＤａｔａＡ(ｉ))を受け取り、秘密乱数鍵Ｋｓｅｃｒｅｇ(ｉ)で復号化生体情報ＤＫsecｒｅｇ（ｉ）（ＥＫsec（ｉ）(ＢｉｏＤａｔａＡ(ｉ))）を算出する（ステップＳ３９）。
【００８４】
ＢＡサーバ６０の照合判定部６０は、復号化生体情報が示す生体情報ＢｉｏＤａｔａＡ(ｉ)を、生体情報登録部５８に登録されている生体情報ＢｉｏＤａｔａＡｒｅｇ(ｉ)と照合する（ステップＳ４０）。
【００８５】
ステップＳ４０による照合結果が本人と判定する許容範囲内になければ、ＢＡサーバ６０の照合判定部６０は、被認証者Ａが本人でないと判定し（ステップＳ４１のＮ）、認証不可を情報処理装置１０に通知する（ステップＳ４２）。
【００８６】
ステップＳ４０による照合結果が本人と判定する許容範囲内にあれば、ＢＡサーバ６０の照合判定部６０は、被認証者Ａが本人であると判定し、被認証者Ａを認証する（ステップＳ４１のＹ）。ここで、請求項に記載の「生体情報に一致していると判定された」とは、前述した許容範囲内にあることを意味する。
【００８７】
本人であると判定すると、ＢＡサーバ６０は、エージェント４０のアプリケーション動作を許可し（ステップＳ４３）、被認証者Ａを認証したことを情報処理装置１０に通知する（ステップＳ４４）。その後、エージェント４０によりアプリケーション動作指示が実行され、アプリケーションサーバ５０によってアプリケーション動作が実行され、その実行結果などをエージェント４０のデータ部４１に格納してエージェント４０は情報処理装置１０に送信される。
【００８８】
上記のように、本例では、ＢｉｏＤａｔａＡ(ｉ)を秘密乱数鍵Ｋｓｅｃ (ｉ)で暗号化した暗号化生体情報ＥＫsec（ｉ）(ＢｉｏＤａｔａＡ(ｉ))、ハッシュ値Ｈ（ｉ）、公開乱数（ＰＲ(ｉ)）、署名ＳｉｇＫ（ｉ）（エージェント）などを格納させたエージェント４０をＢＡサーバ６０に移動させ、ＢＡサーバ６０にてエージェント４０の格納情報を用いて署名が適正であるか否か、エージェント４０が真正であるか否か、被認証者Ａが本人であるか否かを判定する。
【００８９】
以上に説明したように、被認証者の秘密乱数鍵を生成して耐タンパ装置２０とＢＡサーバ６０とにあらかじめそれぞれ保存しておき、その秘密乱数鍵にもとづいてエージェント４０の署名ＳｉｇＢＫ（ｉ）（エージェント）、エージェント４０の真正判断のためのハッシュ値ＢＨ（ｉ）をＢＡサーバ６０にて生成したり被認証者Ａを認証するか否かの判断に用いる生体情報ＢｉｏＤａｔａＡ（ｉ）の暗号化・復号化処理を行ったりするとともに、エージェント４０に格納されている対応するデータと照合し、一致していれば署名を適正と判断し、エージェント４０を真正なものと判断し、被認証者Ａを本人と認めて認証する構成としており、通信ネットワーク７０を介して送受信される認証情報はすべてエージェント４０内に格納（カプセル化）されているので、たとえ第三者に通信傍受されたとしても、認証情報の安全性が高くなる。
【００９０】
生体情報を単に暗号化して伝送するようにしても、復号化により生体情報が知られてしまうおそれがあるが、秘密乱数鍵やエージェント４０の真正判断のためのハッシュ値Ｈ（ｉ）などは一方向性関数により処理されたハッシュ値であり、また被認証者Ａを認証するか否かの判断に用いる暗号化情報ＥＫsec（ｉ）(ＢｉｏＤａｔａＡ(ｉ))はハッシュ値である秘密乱数鍵により暗号化された情報であり、それらの認証情報はすべてエージェント４０によってカプセル化されているため、たとえ漏洩してしまっても、生体情報が知られてしまう危険性は低くなる。よって、生体情報を単に暗号化して伝送する場合と比較しても、安全性を高めることができる。
【００９１】
また、上述した実施の形態では、秘密乱数によって秘密乱数鍵を生成するようにしているため、秘密乱数を異ならせることによって秘密乱数鍵をいくつでも生成することができる。従って、用途に応じて異なる秘密乱数鍵を使用することが可能となる。また、秘密乱数鍵が漏洩した可能性がある場合には、破棄して秘密乱数鍵を新たに生成して更新することで、容易に原状回復することができるようになる。なお、漏洩しているか否かとは無関係に、定期的に秘密乱数鍵を更新するようにすれば、安全性をより確実に保つことができる。
【００９２】
また、上述した実施の形態では、複数の秘密乱数鍵にもとづく複数の暗号化情報ＥＫsec（ｉ）(ＢｉｏＤａｔａＡ(ｉ))を復号化した生体情報を照合することで認証処理を行うようにしているので、認証処理の安全性・正確性を飛躍的に向上させることができる。すなわち、複数の生体情報により１つのサービスに対する認証を行うようにすることで、認証処理の安全性・正確性が大幅に高められる。
【００９３】
また、上述した実施の形態では、機密性を有するデータの管理などに関する構成のみを耐タンパ装置２０に備える構成としていたが、情報処理装置１０全体を耐タンパ装置により構成するようにしてもよい。
【００９４】
また、上述した実施の形態では特に言及していないが、秘密乱数鍵をコンテンツの暗号鍵及び復号鍵として用いるようにしてもよい。この場合、アプリケーションサーバ５０がコンテンツを配信する際に、コンテンツを自己が保有している秘密乱数鍵のうち送信先のユーザ端末（例えば耐タンパ装置２０）でも保有されている秘密乱数鍵により暗号化し、コンテンツを受信したユーザ端末にて自己が保有している秘密乱数鍵によって復号化するようにすればよい。なお、アプリケーションサーバ５０は、秘密乱数鍵を耐タンパ端末２０から事前に取得しておくようにすればよい。
【００９５】
また、アプリケーションサーバ５０が複数のユーザ端末（例えば耐タンパ装置２０）にコンテンツをマルチキャスト配信する場合には、サーバ５０が保有している秘密乱数鍵のうちそれぞれの送信先のユーザ端末にて保有されているそれぞれの秘密乱数鍵によって、送信先ごとに別個に暗号化し、各ユーザ端末にまとめてコンテンツを送信するようにすればよい。この場合、各ユーザ端末では、それぞれ、自己が保有する秘密乱数鍵によりコンテンツを復号化するようにすればよい。
【００９６】
また、上述した実施の形態においては特に言及していないが、本システム１００を構成する各部（例えば情報処理装置１０、耐タンパ装置２０、アプリケーションサーバ５０、ＢＡサーバ６０）は、本システム１００に搭載された制御プログラム（例えばエージェント認証プログラム）によって上述した各種の処理を実行している。
【産業上の利用可能性】
【００９７】
本発明によれば、エージェントを利用したサーバ認証方式による認証処理を行う認証システムなどに適用するのに有用である。
【図面の簡単な説明】
【００９８】
【図１】本発明の一実施の形態におけるエージェント認証システムの構成例を示すブロック図である。
【図２】耐タンパ装置を含む情報処理装置の構成例を示すブロック図である。
【図３】ＢＡサーバの構成例を示すブロック図である。
【図４】エージェントの構成例を示すブロック図である。
【図５】エージェント認証システムにおける秘密乱数鍵生成登録処理の例を示すフローチャートである。
【図６】秘密乱数鍵生成登録処理の概要を示す概念図である。
【図７】エージェント認証システムにおけるエージェント認証処理のうち情報処理装置が実行する部分の例を示すフローチャートである。
【図８】エージェント認証システムにおけるエージェント認証処理のうちＢＡサーバが実行する部分の例を示すフローチャートである。
【図９】エージェント認証システムにおけるエージェント認証処理のうちＢＡサーバが実行する部分の例を示すフローチャートである。
【図１０】エージェント認証処理の概要を示す概念図である。
【符号の説明】
【００９９】
１０            情報処理装置
２０            耐タンパ装置
２１            生体情報読取部
２２            秘密乱数生成部
２３            乱数格納部
２４，５２      秘密乱数鍵格納部
２５，６１      暗号署名処理部
２７            秘密乱数鍵生成部
２８            公開乱数生成部
２９，５３      ハッシュ値算出部
３０，５５      データ通信部
３１，５６      ワンタイム鍵生成部
４０            エージェント
５０            アプリケーションサーバ
６０            ＢＡサーバ
７０            通信ネットワーク
【図１】
2007258789.tif 000003
【図２】
2007258789.tif 000004
【図３】
2007258789.tif 000005
【図４】
2007258789.tif 000006
【図５】
2007258789.tif 000007
【図６】
2007258789.tif 000008
【図７】
2007258789.tif 000009
【図８】
2007258789.tif 000010
【図９】
2007258789.tif 000011
【図１０】
2007258789.tif 000012