(57)【特許請求の範囲】
【請求項１】
複数の生体データを記憶する記憶部を有する生体認証サーバと複数のクライアントとがネットワークを介して互いに接続され、ユーザにより前記クライアントを介して認証要求が行われると、前記ユーザより採取された照合用生体データと前記生体データとの照合を行うことで認証処理を行う生体認証システムにおいて、
前記生体認証サーバは、
前記認証要求を行ったユーザとは異なるユーザをキャッシュ対象ユーザとして決定するサーバキャッシュ決定手段と、
前記キャッシュ対象ユーザを示す識別子を生成する識別子生成手段と、
前記キャッシュ対象ユーザの生体データおよび前記識別子を前記クライアントに送信する送信手段と、
前記キャッシュ対象ユーザの生体データおよび前記識別子が利用可能であることを判定するキャッシュ利用可否判定手段と、を備え、
前記クライアントは、
前記キャッシュ対象ユーザの生体データおよび前記識別子を前記生体認証サーバより受信する受信手段と、
前記生体認証サーバより受信した前記キャッシュ対象ユーザの生体データ及び前記識別子をキャッシュするキャッシュ手段と、を備えることを特徴とする生体認証システム。
【請求項２】
前記生体認証サーバは、前記キャッシュ対象ユーザの生体データを暗号化する暗号化手段を備える請求項１に記載の生体認証システム。
【請求項３】
前記生体認証サーバは、前記認証要求を行ったユーザが所属するグループを識別するグループ識別手段を有し、
前記サーバキャッシュ決定手段は、前記グループに所属するユーザを前記キャッシュ対象ユーザとして決定することを特徴とする請求項１又は２に記載の生体認証システム。
【請求項４】
前記生体認証サーバは、生体データがキャッシュされるクライアントであるキャッシュ先クライアントのユーザのグループに対応して、前記キャッシュ対象ユーザのグループが規定されたグループ識別情報を有し、
前記サーバキャッシュ決定手段は、前記キャッシュ先クライアントのユーザより認証要求が行われると、前記グループ識別情報を基に、前記キャッシュ対象ユーザを決定することを特徴とする請求項３に記載の生体認証システム。
【請求項５】
前記生体認証サーバは、前記クライアントにおける生体データのキャッシュ可否を示すキャッシュ可否属性情報を有し、
前記サーバキャッシュ決定手段は、前記キャッシュ可否属性情報を基に、前記クライアントのキャッシュ可否を判定し、前記クライアントがキャッシュ可能であると判定した場合に、前記キャッシュ対象ユーザを決定することを特徴とする請求項１乃至４のいずれか一項に記載の生体認証システム。
【請求項６】
前記生体認証サーバは、
各ユーザの認証時刻を管理する認証時刻管理手段と、
前記認証時刻を基に、各ユーザの認証要求が集中する時間帯を算出するユーザ時間帯算出手段と、を有し、
前記サーバキャッシュ決定手段は、認証要求が行われた場合において、当該認証要求が行われた時刻の一定時間経過後の時間帯において認証要求が集中するユーザを前記キャッシュ対象ユーザとして決定することを特徴とする請求項１乃至５のいずれか一項に記載の生体認証システム。
【請求項７】
前記生体認証サーバは、
各ユーザの認証成功率を管理する認証率管理手段を有し、
前記サーバキャッシュ決定手段は、前記認証成功率が所定の成功率よりも低いユーザを前記キャッシュ対象ユーザとして決定することを特徴とする請求項１乃至６のいずれか一項に記載の生体認証システム。
【請求項８】
前記クライアントは、
キャッシュされた生体データの利用時間を管理するキャッシュ利用時間管理手段を有し、
前記キャッシュ利用時間管理手段は、生体データがキャッシュされたキャッシュ時刻から利用可能時間が経過した場合には、キャッシュされた生体データを破棄することを特徴とする請求項１乃至７のいずれか一項に記載の生体認証システム。
【請求項９】
複数の生体データを記憶する記憶部を有するとともに、複数のクライアントとネットワークを介して接続され、ユーザにより前記クライアントを介して認証要求が行われると、前記ユーザより採取された照合用生体データと前記生体データとの照合を行うことで認証処理を行う生体認証サーバであって、
前記認証要求を行ったユーザとは異なるユーザを前記キャッシュ対象ユーザとして決定するサーバキャッシュ決定手段と、
前記キャッシュ対象ユーザの識別子を生成する識別子生成手段と、
前記キャッシュ対象ユーザの生体データおよび前記識別子を前記クライアントに送信する送信手段と、
前記キャッシュ対象ユーザの生体データおよび前記識別子が利用可能であることを判定するキャッシュ利用可否判定手段と、を備えることを特徴とする生体認証サーバ。
【請求項１０】
複数の生体データを記憶する記憶部を有するとともに、複数のクライアントとネットワークを介して接続され、ユーザにより前記クライアントを介して認証要求が行われると、前記ユーザより採取された照合用生体データと前記生体データとの照合を行うことで認証処理を行う生体認証サーバにおいて実行される生体認証方法であって、
前記認証要求を行ったユーザとは異なるユーザを前記キャッシュ対象ユーザとして決定するサーバキャッシュ決定工程と、
前記キャッシュ対象ユーザの識別子を生成する識別子生成工程と、
前記キャッシュ対象ユーザの生体データおよび前記識別子を前記クライアントに送信する送信工程と、
前記キャッシュ対象ユーザの生体データおよび前記識別子が利用可能であることを判定するキャッシュ利用可否判定工程と、を備えることを特徴とする生体認証方法。
【請求項１１】
複数の生体データを記憶する記憶部を有するとともに、複数のクライアントとネットワークを介して接続され、ユーザにより前記クライアントを介して認証要求が行われると、前記ユーザより採取された照合用生体データと前記生体データとの照合を行うことで認証処理を行う生体認証サーバにおいて実行される生体認証プログラムであって、
前記認証要求を行ったユーザとは異なるユーザを前記キャッシュ対象ユーザとして決定するサーバキャッシュ決定手段、
前記キャッシュ対象ユーザの識別子を生成する識別子生成手段、
前記キャッシュ対象ユーザの生体データおよび前記識別子を前記クライアントに送信する送信手段、
前記キャッシュ対象ユーザの生体データおよび前記識別子が利用可能であることを判定するキャッシュ利用可否判定手段、として前記生体認証サーバを機能させることを特徴とする生体認証プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、生体認証を行う生体認証システムに関する。
【背景技術】
【０００２】
クライアント／サーバ型システムにおいてクライアントのアクセス集中に対応するために、複数のサーバを相互連携して負荷を分散させるクラスタと呼ばれる方式が考案されている。パスワードやＰＩＮ（Personal Identification Number）を用いた個人認証システムと比較して、生体認証を行う生体認証システムでは一般的に認証処理負荷が大きい。そこで、生体認証システムでは、クライアントの規模に応じたクラスタ方式で負荷を分散させることがある。
【０００３】
ここで、サーバのクラスタリングは負荷分散として一定の効果があるものの、特定時間に認証要求が集中する場合にはその度合いによって期待する性能が得られない場合がある。そこで、クライアントなどのキャッシュメモリに認証データを登録しておき、当該キャッシュメモリに登録された認証データを用いて照合を行うことでサーバやネットワークに過大な負荷がかかるのを防ぐ技術や、全ての認証データを保持するサーバとは別の装置に設けられたＤＢに一部の認証データを保持しておき、当該認証データを用いて照合を行うことで失敗が想定される認証要求を削減してサーバへの過大な負荷がかかるのを防ぐ技術が考案されている（特許文献１乃至３）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−４４４４２号公報
【特許文献２】特開２００１−２５６１９１号公報
【特許文献３】特開２００５−１４２８４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ユーザの生体データが特定のクライアントに常にキャッシュされるとすると、当該クライアントの電源状態に依存して認証データの一元性が確保できない場合がある。また、全ての認証データを保持するサーバとは別の特定の装置に認証データがキャッシュされるとすると、当該特定の装置にかかる負荷が増大するとともに、認証に成功するケースではサーバにかかる負荷が分散されない。
【課題を解決するための手段】
【０００６】
開示のシステムは、複数の生体データを記憶する記憶部を有する生体認証サーバと複数のクライアントとがネットワークを介して互いに接続され、ユーザにより前記クライアントを介して認証要求が行われると、前記ユーザより採取された照合用生体データと前記生体データとの照合を行うことで認証処理を行う生体認証システムであって、前記生体認証サーバは、前記認証要求を行ったユーザとは異なるユーザをキャッシュ対象ユーザとして決定するサーバキャッシュ決定手段と、前記キャッシュ対象ユーザを示す識別子を生成する識別子生成手段と、前記キャッシュ対象ユーザの生体データおよび前記識別子を前記クライアントに送信する送信手段と、前記キャッシュ対象ユーザの生体データおよび前記識別子が利用可能であることを判定するキャッシュ利用可否判定手段と、を備え、前記クライアントは、前記キャッシュ対象ユーザの生体データおよび前記識別子を前記生体認証サーバより受信する受信手段と、前記生体認証サーバより受信した前記キャッシュ対象ユーザの生体データ及び前記識別子をキャッシュするキャッシュ手段と、を備える。
【０００７】
開示のシステムは、認証処理を行う生体認証システムである。生体認証システムは、複数の生体データを記憶する記憶部を有する生体認証サーバと複数のクライアントとがネットワークを介して互いに接続され、ユーザによりクライアントを介して認証要求が行われると、当該ユーザより採取された照合用生体データと前記生体データとの照合を行う。生生体認証サーバは、サーバキャッシュ決定手段、識別子生成手段、送信手段、及びキャッシュ利用可否判定手段を備える。サーバキャッシュ決定手段は、認証要求を行ったユーザとは異なるユーザをキャッシュ対象ユーザとして決定する。識別子生成手段は、キャッシュ対象ユーザを示す識別子を生成する。送信手段は、キャッシュ対象ユーザの生体データおよび識別子をクライアントに送信する。キャッシュ利用可否判定手段は、キャッシュ対象ユーザの生体データおよび識別子が利用可能であることを判定する。クライアントは、受信手段と、キャッシュ手段と、を有する。受信手段は、前記キャッシュ対象ユーザの生体データおよび前記識別子を前記生体認証サーバより受信する。キャッシュ手段は、生体認証サーバより受信したキャッシュ対象ユーザの生体データ及び前記識別子をキャッシュする。
【発明の効果】
【０００８】
開示のシステムによれば、キャッシュされる生体データの選択の余地を広げることができ、生体認証サーバへの認証要求数が多くなるほど、多くのユーザのキャッシュデータを多くのクライアントにキャッシュすることができる。これにより、生体認証サーバにかかる負荷を効果的に低減することができる。
【図面の簡単な説明】
【０００９】
【図１】生体認証システムの装置構成を示すブロック図である。
【図２】第１実施例に係る認証方法の一例を示す模式図である。
【図３】キャッシュデータのキャッシュ処理を伴う認証処理のフローチャートである。
【図４】キャッシュデータを用いた認証処理を示すフローチャートである。
【図５】第２実施例に係る認証方法の一例を示す模式図である。
【図６】第３実施例に係る認証方法の一例を示す模式図である。
【図７】グループ識別情報の一例を示す図表である。
【図８】キャッシュ可否属性情報の一例を示す図表である。
【図９】優先度の付加されたキャッシュ先クライアント情報の一例を示す図表である。
【図１０】第４実施例に係る認証方法の一例を示す模式図である。
【図１１】ネットワークグループ情報、認証結果および認証ログの一例を示す模式図。
【発明を実施するための形態】
【００１０】
以下、実施形態の一例について図面を参照しつつ説明する。
【００１１】
［生体認証システム］
最初に、各実施例に係る生体認証システム１００の装置構成の一例について図１を用いて説明する。図１は、生体認証システム１００の装置構成を示すブロック図である。
【００１２】
図１に示すように、生体認証システム１００は、クライアント１０ａ、１０ｂと生体認証サーバ５０とを有する。
【００１３】
まず、クライアント１０ａ、１０ｂの構成について説明する。
【００１４】
クライアント１０ａは、センサ制御部１２ａと、生体情報取得処理部１３ａと、キャッシュ制御処理部１４ａと、キャッシュデータ記憶部１５ａと、通信制御部１６ａと、照合処理部１７ａとを有する。クライアント１０ａには、生体情報入力部１１ａと、認証結果通知部１８ａとが接続されている。
【００１５】
クライアント１０ｂは、センサ制御部１２ｂと、生体情報取得処理部１３ｂと、キャッシュ制御処理部１４ｂと、キャッシュデータ記憶部１５ｂと、通信制御部１６ｂと、照合処理部１７ｂとを有する。なお、以下において、クライアント１０ａ、１０ｂを区別しない場合には、符号の英字部分を省略して「クライアント１０」と示すものとし、また、その構成要素についても符号の英字部分を省略して示すものとする。
【００１６】
生体情報入力部１１は、生体情報およびユーザＩＤを入力するためのものである。生体情報入力部１１は、例えばイメージセンサなどのセンサと、キーボードやカードリーダなどの入力装置とを有する。ユーザは、認証を要求する際に、センサより生体情報を入力するとともに入力装置よりユーザＩＤを入力する。ここで、生体情報とは、例えば、ユーザの指紋や掌の静脈の形状などの情報である。
【００１７】
センサ制御部１２と、生体情報取得処理部１３と、キャッシュ制御処理部１４と、通信制御部１６と、照合処理部１７とは、例えばＣＰＵ（Central Processing Unit）がプログラムを実行することにより実現される。また、キャッシュデータ記憶部１５は、例えばハードディスクにより実現される。
【００１８】
センサ制御部１２は、生体情報入力部１１に入力された生体情報とユーザＩＤとをクライアント１０に取り込む。生体情報取得処理部１３は、生体認証システム１００の認証方式に適合した照合用生体データを生体情報より取得する。通信制御部１６は、生体認証サーバ５０や他のクライアントとの送受信を制御する。キャッシュ制御処理部１４は、キャッシュデータ記憶部１５に記憶されたデータの処理を行う。照合処理部１７は、生体データの照合に関する処理を行う。
【００１９】
認証結果通知部１８は、例えばディスプレイであり、照合処理部１７により行われた照合処理の結果をユーザに対して通知する。
【００２０】
次に、生体認証サーバ５０の構成について説明する。
【００２１】
生体認証サーバ５０は、生体データ照合処理部５１と、運用監視処理部５２と、グループ制御処理部５３と、サーバキャッシュ制御処理部５４と、通信制御部５５と、登録データ入出力部５６と、登録データ記憶部５７と、ログデータ記憶部５８とを有する。
【００２２】
生体データ照合処理部５１と、運用監視処理部５２と、グループ制御処理部５３と、サーバキャッシュ制御処理部５４と、通信制御部５５とは、例えばＣＰＵがプログラムを実行することにより実現される。登録データ記憶部５７とログデータ記憶部５８とは、例えばハードディスクにより実現される。
【００２３】
通信制御部５５は、クライアント１０ａ、１０ｂとの送受信を制御する。登録データ記憶部５７は、複数の生体データを記憶している。登録データ入出力部５６は、登録データ記憶部５７に記憶された生体データの入出力を行う。生体データ照合処理部５１は、通信制御部５５を介して受信した照合用生体データと、登録データ記憶部５７に記憶された生体データとの照合を行う。運用監視処理部５２は、生体認証システム１００の運用を監視する。グループ制御処理部５３は、認証を要求するユーザが所属するグループの生成処理などを行う。サーバキャッシュ制御処理部５４は、登録データ記憶部５７に記憶されたデータの処理を行う。
【００２４】
上述した生体認証システム１００において、ユーザがクライアント１０を介して認証要求を行うと、以下に述べる各実施例に係る生体認証方法が実施される。以下、各実施例について具体的に説明する。
【００２５】
［第１実施例］
第１実施例に係る認証方法について説明する。第１実施例に係る認証方法では、生体認証サーバ５０は、認証要求を行ったユーザとは別のユーザの生体データをクライアント１０にキャッシュさせる。以下、図２を用いて具体的に説明する。
【００２６】
図２は、生体認証システム１００における第１実施例に係る認証方法の一例を示す模式図である。図２に示す例では、クライアント１０ａよりユーザＡが認証要求を行い、クライアント１０ｂよりユーザＢが認証要求を行う。以下、ユーザＡの認証方法、ユーザＢの認証方法について説明する。
【００２７】
最初に、ユーザＡの認証方法について説明する。ここで、クライアント１０ａ、１０ｂのいずれにも、ユーザＡの生体データはキャッシュされていないとする。
【００２８】
ユーザＡは、生体情報およびユーザＩＤをクライアント１０ａに入力する。具体的には、ユーザＡは、生体情報入力部１１ａより生体情報およびユーザＩＤを入力する（矢印Ａ１）。入力された生体情報およびユーザＩＤは、センサ制御部１２ａによってクライアント１０ａに取り込まれる。以下では、入力されたユーザＡのユーザＩＤを「ユーザＩＤＡ」と称する。ユーザＡの生体情報およびユーザＩＤＡがクライアント１０ａに入力されると、生体情報取得処理部１３ａは、生体認証システム１００の認証方式に適合した照合用生体データを当該生体情報より取得する。以下では、ユーザＡの生体情報より取得された照合用生体データを「照合用生体データＣＤＡ」と称する。生体情報取得処理部１３ａは、ユーザＩＤＡおよび照合用生体データＣＤＡを照合処理部１７ａに送信する（矢印Ａ２）。
【００２９】
照合処理部１７ａは、ユーザＡの生体データがいずれかのクライアントにキャッシュされているか否かを生体認証サーバ５０に確認する。具体的には、照合処理部１７ａは、ユーザＩＤＡを含む確認要求を生体認証サーバ５０に送信する（矢印Ａ３）。
【００３０】
後に詳しく述べるが、いずれかのクライアントに生体データがキャッシュされている場合には、生体認証サーバ５０における登録データ記憶部５７に、キャッシュ先のクライアントのアドレス（以下、「キャッシュ先アドレス」と称する）などの情報が記憶されている。従って、サーバキャッシュ制御処理部５４は、確認要求を受信すると、ユーザＩＤＡを基に、登録データ入出力部５６を介して登録データ記憶部５７を検索し、いずれかのクライアントにユーザＡの生体データがキャッシュされているか否かを確認する。サーバキャッシュ制御処理部５４は、確認を終了すると、確認結果をクライアント１０ａに送信する（矢印Ａ４）。ここでは、クライアント１０ａ、１０ｂのいずれにも、ユーザＡの生体データは記憶されていないとしているので、サーバキャッシュ制御処理部５４は、いずれのクライアントにもユーザＡの生体データがキャッシュされていないことを示す確認結果をクライアント１０ａに送信する。
【００３１】
クライアント１０ａにおいて、照合処理部１７ａは、クライアントにキャッシュされていないことを示す確認結果を受信すると、生体認証サーバ５０に認証要求を送信する。具体的には、照合処理部１７ａは、ユーザＩＤＡおよび照合用生体データＣＤＡを含む認証要求を生体認証サーバ５０に送信する（矢印Ａ５）。
【００３２】
生体認証サーバ５０において、生体データ照合処理部５１は、ユーザＩＤＡを基に、登録データ入出力部５６を介して登録データ記憶部５７よりユーザＡの生体データＤＤＡを取得する。生体データ照合処理部５１は、照合用生体データＣＤＡとユーザＡの生体データＤＤＡとの照合を行うことで認証処理を行う。生体データ照合処理部５１は、認証結果をクライアント１０ａに送信する（矢印Ａ６）。ここで、生体データ照合処理部５１は、認証に成功した場合には、サーバキャッシュ制御処理部５４にユーザＩＤＡを送信する（矢印Ａ７）。
【００３３】
サーバキャッシュ制御処理部５４は、ユーザＩＤＡを受信すると、クライアント１０ａにキャッシュさせる生体データを決定する。キャッシュ対象となる生体データの決定方法として、サーバキャッシュ制御処理部５４は、認証要求が送信されたクライアントのユーザとは異なるユーザをキャッシュ対象ユーザとして決定し、当該キャッシュ対象ユーザの生体データをキャッシュ対象とする。ここでは、サーバキャッシュ制御処理部５４は、クライアント１０ａのユーザＡとは異なるユーザＢをキャッシュ対象ユーザとして決定し、ユーザＢの生体データをキャッシュ対象とする。サーバキャッシュ制御処理部５４は、キャッシュ対象となる生体データ、ここでは、ユーザＢの生体データＤＤＢを登録データ記憶部５７より取得する。従って、サーバキャッシュ制御処理部５４は、キャッシュ対象ユーザ決定手段として機能する。
【００３４】
サーバキャッシュ制御処理部５４は、暗復号を行う一対の鍵、即ち、暗号鍵ＥＫと復号鍵ＤＫとを生成し、暗号鍵ＥＫを用いて、ユーザＢの生体データＤＤＢを暗号化する。暗号化した生体データを以下では「暗号化生体データ」と称する。また、サーバキャッシュ制御処理部５４は、暗号化生体データがユーザＢのものであることを示す識別子たる仮ＩＤを生成する。ここで、仮ＩＤは、クライアント上で識別不可能なＩＤとして生成される。即ち、ユーザＡは、仮ＩＤを見ても、当該仮ＩＤに対応する暗号化生体データが誰の生体データなのかを識別することはできない（図９参照）。別の言い方をすると、サーバキャッシュ制御処理部５４は、ユーザＢの生体データＤＤＢを暗号化した暗号化生体データＥＤＢを生成するのに加え、ユーザＢを示す識別可能な識別子を暗号化した仮ＩＤを生成する。従って、サーバキャッシュ制御処理部５４は、識別子生成手段、暗号化手段として機能する。なお、ここで、サーバキャッシュ制御処理部５４は、生体データを登録データ記憶部５７より取得する度に鍵および仮ＩＤの生成を行う。つまり、同じ生体データであっても、登録データ記憶部５７より取得される度に、毎回異なる鍵で暗号化される。
【００３５】
サーバキャッシュ制御処理部５４は、ユーザＢの暗号化生体データＥＤＢ、仮ＩＤ、暗号鍵ＥＫをクライアント１０ａに送信する（矢印Ａ８）。以下では、暗号化生体データＥＤＢ、仮ＩＤおよび暗号鍵ＥＫをまとめて「キャッシュデータＣＨＤＢ」と称する。また、このとき、サーバキャッシュ制御処理部５４は、ユーザＢの生体データのキャッシュ先アドレスＡＤ（ここでは、クライアント１０ａのアドレス）と仮ＩＤと復号鍵ＤＫとを登録データ記憶部５７に記憶させる。
【００３６】
クライアント１０ａにおいて、キャッシュ制御処理部１４ａは、受信したユーザＢのキャッシュデータＣＨＤＢをキャッシュデータ記憶部１５ａにキャッシュさせる。また、照合処理部１７ａは、生体認証サーバ５０の生体データ照合処理部５１より受信したユーザＡの認証結果を認証結果通知部１８ａに送信する（矢印Ａ９）。これにより、ユーザＡに認証結果が示される。
【００３７】
次に、ユーザＢの認証方法について説明する。
【００３８】
ユーザＢは、生体情報およびユーザＩＤをクライアント１０ｂに入力する。具体的には、ユーザＢは、生体情報入力部１１ｂより生体情報およびユーザＩＤを入力する（矢印Ｂ１）。入力された生体情報およびユーザＩＤは、センサ制御部１２ｂによってクライアント１０ｂに取り込まれる。以下では、入力されたユーザＢのユーザＩＤを「ユーザＩＤＢ」と称する。ユーザＢの生体情報およびユーザＩＤＢがクライアント１０ｂに入力されると、生体情報取得処理部１３ｂは、生体認証システム１００の認証方式に適合した照合用生体データを当該生体情報より取得する。以下では、ユーザＢの生体情報より取得された照合用生体データを「照合用生体データＣＤＢ」と称する。生体情報取得処理部１３ｂは、ユーザＩＤＢおよび照合用生体データＣＤＢを照合処理部１７ｂに入力する（矢印Ｂ２）。
【００３９】
照合処理部１７ｂは、ユーザＢの生体データがいずれかのクライアントにキャッシュされているか否かを生体認証サーバ５０に確認する。具体的には、照合処理部１７ｂは、ユーザＩＤＢを含む確認要求を生体認証サーバ５０に送信する（矢印Ｂ３）。
【００４０】
生体認証サーバ５０において、サーバキャッシュ制御処理部５４は、クライアント１０ｂより確認要求を受信すると、ユーザＩＤＢを基に、登録データ入出力部５６を介して登録データ記憶部５７を検索し、いずれかのクライアントにユーザＢの生体データがキャッシュされているか否かを確認する。ここでは、先に述べたように、登録データ記憶部５７には、ユーザＢの暗号化データのキャッシュ先アドレス（ここでは、クライアント１０ａのアドレス）ＡＤと当該暗号化データに対応する仮ＩＤと復号鍵ＤＫとが記憶されている。従って、サーバキャッシュ制御処理部５４は、確認結果として、キャッシュ先アドレスＡＤと仮ＩＤと復号鍵ＤＫとをクライアント１０ｂに送信する（矢印Ｂ４）。
【００４１】
クライアント１０ｂにおいて、照合処理部１７ｂは、受信したキャッシュ先アドレスＡＤより、ユーザＢの生体データがクライアント１０ａにキャッシュされていることを認識し、クライアント１０ａに認証要求を送信する。具体的には、照合処理部１７ｂは、照合用生体データＣＤＢと仮ＩＤと復号鍵ＤＫとを含む認証要求をクライアント１０ａに送信する（矢印Ｂ５）。
【００４２】
クライアント１０ａにおいて、照合処理部１７ａは、照合用生体データＣＤＢと仮ＩＤと復号鍵ＤＫとを受信する。照合処理部１７ａは、仮ＩＤと復号鍵ＤＫとをキャッシュ制御処理部１４ａに送信する。キャッシュ制御処理部１４ａは、仮ＩＤを用いて、ユーザＢのキャッシュデータＣＨＤＢをキャッシュデータ記憶部１５ａより取得する。キャッシュ制御処理部１４ａは、ユーザＢのキャッシュデータＣＨＤＢにおける暗号化生体データＥＤＢを、復号鍵ＤＫを用いて復号する。そして、キャッシュ制御処理部１４ａは、復号されたユーザＢの生体データＤＤＢを照合処理部１７ａに送信する（矢印Ｂ６）。照合処理部１７ａは、照合用生体データＣＤＢとユーザＢの生体データＤＤＢとの照合を行うことで認証処理を行う。照合処理部１７ａは、仮ＩＤと認証結果とを生体認証サーバ５０に送信する（矢印Ｂ８）。生体認証サーバ５０において、サーバキャッシュ制御処理部５４は当該認証結果をログとしてログデータ記憶部５８に記録する。また、照合処理部１７ａは、認証結果をクライアント１０ｂに送信する（矢印Ｂ７）。
【００４３】
クライアント１０ｂにおいて、照合処理部１７ｂは、ユーザＢの認証結果を認証結果通知部１８ｂに送信する（矢印Ｂ９）。これにより、ユーザＢに認証結果が示される。
【００４４】
以上に述べたことから分かるように、生体認証システム１００では、ユーザＢの認証に関しては、キャッシュ先クライアントたるクライアント１０ａをサーバに見立てて認証が行われる。このようにすることで、生体認証サーバ５０における認証負荷を軽減することができる。また、クライアント１０ａにユーザＢのキャッシュデータがキャッシュされている限り、クライアント１０ｂは、照合用生体データＣＤＢを生体認証サーバ５０に送信せずに済む。これにより、なんらの装置を増設することなく、クライアント１０ｂと生体認証サーバ５０間における通信負荷を軽減することができる。
【００４５】
特に、生体認証システム１００では、認証要求を行ったユーザＡとは異なるユーザＢの生体データがクライアント１０ａにキャッシュされる。これにより、認証要求を行ったユーザの生体データが常に当該ユーザのクライアントにキャッシュされるとする場合と比較して、キャッシュされる生体データの選択の余地を広げることができる。つまり、生体認証サーバ５０への認証要求数が多くなるほど、多くのユーザのキャッシュデータを多くのクライアントにキャッシュすることができる。これにより、生体認証サーバや特定のクライアントにかかる負荷を効果的に低減することができる。
【００４６】
ここで、ユーザＢの生体データは暗号化された上でクライアント１０ａに記憶されるとともに、当該生体データの仮ＩＤは、クライアント１０ａ上で識別不可能な状態に設定されている。このようにすることで、クライアント１０ａにキャッシュされた生体データがユーザＢの生体データであることを識別不可能な状態にすることができる。
【００４７】
クライアント１０ａにおいて、照合処理部１７ａは、ユーザＢの認証処理を終えると、ユーザＢの認証結果をクライアント１０ｂに送信するととともに、ユーザＢの認証結果と仮ＩＤとを生体認証サーバ５０に送信している。従って、照合処理部１７ａは、認証結果通知手段として機能する。生体認証サーバ５０において、サーバキャッシュ制御処理部５４は当該認証結果をログとしてログデータ記憶部５８に記録する。このとき、サーバキャッシュ制御処理部５４は、システム運用管理者がユーザを特定することが可能な例えばユーザ名などのユーザ識別子に仮ＩＤを変換した上で、当該ユーザ識別子と当該認証結果とを対応付けて記憶する。具体的には、サーバキャッシュ制御処理部５４は、仮ＩＤとユーザ識別子との対応を示すマップなどの対応情報を有し、当該対応情報を用いて、仮ＩＤからユーザ識別子に変換する。このようにすることで、キャッシュ先クライアントから生体認証サーバに対し、仮ＩＤを用いた認証結果の通知が可能となり、キャッシュ先クライアントでは匿名性が維持される。一方、生体認証サーバでは、システム運用管理者がユーザを特定することが可能なユーザ識別子に対応させた認証結果をシステム運用管理者が確認することができる。
【００４８】
次に、上述の第１実施例に係る認証方法について図３、４に示すフローチャートを用いて説明する。図３は、キャッシュデータのキャッシュ処理を伴うユーザＡの認証処理のフローチャートであり、図４は、キャッシュデータを用いたユーザＢの認証処理を示すフローチャートである。図３、４において、実線は処理の流れを示し、破線は通信の流れを示している。
【００４９】
図３を用いて、キャッシュデータのキャッシュ処理を伴うユーザＡの認証処理について説明する。図３に示すフローチャートでは、ユーザＡの認証処理が行われるとともに、ユーザＢの生体データがクライアント１０ａにキャッシュされる。以下、具体的に説明する。
【００５０】
まず、ステップＳ２０１において、クライアント１０ａには、ユーザＡにより、生体情報およびユーザＩＤＡが入力される。クライアント１０ａは、当該生体情報より照合用生体データＣＤＡを取得する。続くステップＳ２０２において、クライアント１０ａは、ユーザＡのキャッシュデータがいずれかのクライアントにキャッシュされているか否かを確認するため、ユーザＩＤＡを含む確認要求を生体認証サーバ５０に送信する。
【００５１】
ステップＳ２０３において、生体認証サーバ５０は、ユーザＩＤＡを含む確認要求をクライアント１０ａより受信する。そして、生体認証サーバ５０は、ユーザＩＤＡを基に、登録データ記憶部５７を検索して、ユーザＡのキャッシュデータがいずれかのクライアントにキャッシュされているか否かを確認する。続くステップＳ２０４において、生体認証サーバ５０は、確認結果をクライアント１０ａに送信する。ここでは、生体認証サーバ５０は、ユーザＡのキャッシュデータがいずれのクライアントにキャッシュされていないので、その旨を示す確認結果をクライアント１０ａに送信する。
【００５２】
ステップＳ２０５において、クライアント１０ａは、クライアントにキャッシュされていないことを示す確認結果を受信すると、ユーザＩＤＡおよび照合用生体データＣＤＡを生体認証サーバ５０に送信することにより、生体認証サーバ５０に対し認証要求を行う。
【００５３】
ステップＳ２０６において、生体認証サーバ５０は、ユーザＩＤＡおよび照合用生体データＣＤＡをクライアント１０ａより受信すると、ユーザＩＤＡを基に、登録データ記憶部５７よりユーザＡの生体データＤＤＡを取得する。そして、生体認証サーバ５０は、照合用生体データＣＤＡとユーザＡの生体データＤＤＡとの照合を行うことで認証処理を行う。続くステップＳ２０７において、生体認証サーバ５０は、認証が成功したか否かを判定し、認証が成功した場合には（ステップＳ２０７：Ｙｅｓ）、ステップＳ２０８の処理へ進み、認証が失敗した場合には（ステップＳ２０７：Ｎｏ）、ステップＳ２１１の処理へ進む。
【００５４】
ステップＳ２０８において、生体認証サーバ５０は、ユーザＩＤＡを基に、クライアント１０ａにキャッシュさせるキャッシュ対象を選択する。具体的には、生体認証サーバ５０は、ユーザＡとは異なるユーザをキャッシュ対象ユーザとして選択する。ここでは、ユーザＢがキャッシュ対象ユーザとして選択される。生体認証サーバ５０は、キャッシュ対象ユーザの生体データを登録データ記憶部５７より取得する。ここでは、生体認証サーバ５０は、ユーザＢの生体データＤＤＢを登録データ記憶部５７より取得する。この後、生体認証サーバ５０は、ステップＳ２０９の処理へ進む。ステップＳ２０９において、生体認証サーバ５０は、ユーザＢを示す識別子である仮ＩＤを生成するとともに、暗号鍵ＥＫと復号鍵ＤＫとを生成する。続くステップＳ２１０において、生体認証サーバ５０は、暗号鍵ＥＫを用いて、ユーザＢの生体データＤＤＢを暗号化する。この後、生体認証サーバ５０は、ステップＳ２１１の処理へ進む。
【００５５】
ステップＳ２１１において、生体認証サーバ５０は、ステップＳ２０７で行われた認証結果をクライアント１０ａに送信する。ここで、生体認証サーバ５０は、ユーザＡの認証が成功した場合には、キャッシュ対象ユーザの生体データと仮ＩＤとを含むキャッシュデータをクライアント１０ａに送信する。ここでは、暗号化されたユーザＢの生体データＤＤＢ、即ち、暗号化生体データＥＤＢと仮ＩＤとを含むキャッシュデータＣＨＤＢがクライアント１０ａに送信される。この後、生体認証サーバ５０は、本認証処理を終了する。
【００５６】
ステップＳ２１２において、クライアント１０ａは、認証結果を受信すると、当該認証結果が成功か否かを判定する。クライアント１０ａは、認証結果が失敗であると判定した場合には（ステップＳ２１２：Ｎｏ）、認証失敗通知を認証結果通知部１８ａに送信することにより（ステップＳ２１３）、ユーザＡに認証結果を通知した後、本認証処理を終了する。一方、クライアント１０ａは、認証結果が成功であると判定した場合には（ステップＳ２１２：Ｙｅｓ）、ステップＳ２１４の処理へ進む。ステップＳ２１４において、クライアント１０ａは、キャッシュデータＣＨＤＢをキャッシュデータ記憶部１５ａにキャッシュする。続くステップＳ２１５において、クライアント１０ａは、認証成功通知を認証結果通知部１８ａに送信することにより、ユーザＡに認証結果を通知した後、本認証処理を終了する。
【００５７】
上述した図３の認証処理によれば、ユーザＡの認証処理が行われるととともに、ユーザＡとは異なるユーザであるユーザＢの生体データがクライアント１０ａにキャッシュされる。
【００５８】
次に、図４を用いて、キャッシュデータを用いたユーザＢの認証処理について説明する。図４に示すフローチャートでは、クライアント１０ａにキャッシュされたキャッシュデータを用いて、ユーザＢの認証処理が行われる。以下、具体的に説明する。
【００５９】
まず、ステップＳ３０１において、クライアント１０ｂは、ユーザＢにより、生体情報およびユーザＩＤＢが入力される。クライアント１０ｂは、当該生体情報より照合用生体データＣＤＢを取得する。続くステップＳ３０２において、クライアント１０ｂは、ユーザＢのキャッシュデータがいずれかのクライアントにキャッシュされているか否かを確認するため、ユーザＩＤＢを含む確認要求を生体認証サーバ５０に送信する。
【００６０】
ステップＳ３０３において、生体認証サーバ５０は、ユーザＩＤＢを含む確認要求をクライアント１０ｂより受信する。そして、生体認証サーバ５０は、ユーザＩＤＢを基に、登録データ記憶部５７を検索して、ユーザＢのキャッシュデータがいずれかのクライアントにキャッシュされているか否かを確認する。続くステップＳ３０４において、生体認証サーバ５０は確認結果をクライアント１０ｂに送信する。ここでは、ユーザＢのキャッシュデータがクライアント１０ａにキャッシュされているので、生体認証サーバ５０は、確認結果として、キャッシュ先アドレスＡＤと仮ＩＤと復号鍵ＤＫとを確認結果としてクライアント１０ａに送信する。
【００６１】
ステップＳ３０５において、クライアント１０ｂは、キャッシュ先アドレスＡＤと仮ＩＤと復号鍵ＤＫとを受信すると、キャッシュ先アドレスＡＤを基に、ユーザＢの生体データがクライアント１０ａにキャッシュされていることを認識する。そして、クライアント１０ｂは、照合用生体データＣＤＢと仮ＩＤと復号鍵ＤＫとを含む認証要求をクライアント１０ａに送信する。
【００６２】
ステップＳ３０６において、クライアント１０ａは、仮ＩＤに対応するキャッシュデータＣＨＤＢをキャッシュデータ記憶部１５ａより取得し、復号鍵ＤＫを用いて、ユーザＢの生体データＤＤＢを復号する。続くステップＳ３０７において、クライアント１０ａは、照合用生体データＣＤＢとユーザＢの生体データＤＤＢとの照合を行うことで認証処理を行う。ステップＳ３０８において、クライアント１０ａは、認証結果と仮ＩＤとを認証結果ログとして生体認証サーバ５０に送信する。ステップＳ３０９において、クライアント１０ａは、認証結果をクライアント１０ｂに送信する。この後、クライアント１０ａは、本認証処理を終了する。
【００６３】
ステップＳ３１０において、生体認証サーバ５０は、クライアント１０ａより受信した認証結果と仮ＩＤとを認証ログとして記録する。この後、生体認証サーバ５０は、本認証処理を終了する。
【００６４】
ステップＳ３１１において、クライアント１０ｂは、認証成功通知を認証結果通知部１８ｂに送信することによりユーザＢに認証結果を示した後、本認証処理を終了する。
【００６５】
上述した図４の認証処理によれば、ユーザＢの認証処理がクライアント１０ａにて行われる。
【００６６】
以上に述べたことから分かるように、第１実施例に係る認証方法では、認証要求を行ったユーザとは異なるユーザをキャッシュ対象ユーザとして決定し、当該認証要求を行ったユーザのクライアントに当該キャッシュ対象ユーザの生体データをキャッシュさせる。このようにすることで、キャッシュされる生体データの選択の余地を広げることができ、生体認証サーバへの認証要求数が多くなるほど、多くのユーザのキャッシュデータを多くのクライアントにキャッシュすることが可能となる。これにより、生体認証サーバや特定のクライアントにかかる負荷を効果的に低減することができる。
【００６７】
［第２実施例］
第２実施例に係る認証方法について説明する。第２実施例に係る認証方法では、主に、ユーザが所属するグループのユーザの生体データをキャッシュ対象として選択することとする。図５を用いて具体的に説明する。
【００６８】
図５は、生体認証システム１００における第２実施例に係る認証方法の一例を示す模式図である。図５に示す例においても、図２に示したのと同様、クライアント１０ａよりユーザＡが認証要求を行い、クライアント１０ｂよりユーザＢが認証要求を行う。以下、ユーザＡの認証方法、ユーザＢの認証方法について説明する。
【００６９】
最初に、ユーザＡの認証方法について説明する。ここで、クライアント１０ａ、１０ｂのいずれにも、ユーザＡの生体データはキャッシュされていないとする。
【００７０】
第１実施例に係る認証方法で述べたのと同様に、ユーザＡは、生体情報およびユーザＩＤＡをクライアント１０ａに入力する（矢印Ａ１）。生体情報取得処理部１３ａは、照合用生体データＣＤＡを当該生体情報より取得し、ユーザＩＤＡおよび照合用生体データＣＤＡを照合処理部１７ａに送信する（矢印Ａ２）。
【００７１】
照合処理部１７ａは、ユーザＩＤＡを生体認証サーバ５０に送信して確認要求を行う（矢印Ａ３）。生体認証サーバ５０では、サーバキャッシュ制御処理部５４が、ユーザＩＤＡを基に、いずれかのクライアントにユーザＡの生体データがキャッシュされているか否かを確認し、キャッシュされていないことを示す確認結果をクライアント１０ａに送信する（矢印Ａ４）。
【００７２】
クライアント１０ａにおいて、照合処理部１７ａは、いずれのクライアントにもユーザＡの生体データがキャッシュされていないことを示す確認結果を受信すると、ユーザＩＤＡおよび照合用生体データＣＤＡを生体認証サーバ５０に送信して認証要求を行う（矢印Ａ５）。
【００７３】
生体認証サーバ５０において、生体データ照合処理部５１は、ユーザＩＤＡを基に、登録データ記憶部５７よりユーザＡの生体データＤＤＡを取得する。生体認証サーバ５０は、照合用生体データＣＤＡとユーザＡの生体データＤＤＡとの照合を行うことで認証を行う。生体データ照合処理部５１は、認証に成功した場合には、成功したユーザＡの認証結果をクライアント１０ａに送信するとともに（矢印Ａ６）、サーバキャッシュ制御処理部５４にユーザＩＤＡを送信する（矢印Ａ７）。サーバキャッシュ制御処理部５４は、ユーザＩＤＡを基に、クライアント１０ａにキャッシュされるキャッシュ対象となる生体データを選択する。
【００７４】
ここで、第２実施例にかかる認証方法では、サーバキャッシュ制御処理部５４は、所定のグループの属する別のユーザをキャッシュ対象として選択する。従って、サーバキャッシュ制御処理部５４は、グループ識別手段として機能する。なお、グループは、生体認証サーバ５０にアクセスするユーザを集合で分割したものである。以下では、このようなグループを「キャッシュ対象グループ」と称する。ここで、キャッシュ対象グループは、システム運用管理者などにより、予め認識された情報、例えば、職制や利用時間に応じて設定される。具体的には、グループは、各ユーザの利用時間を基に、同時利用が懸念されるユーザをまとめて設定されたりする。このようにすることで、キャッシュ対象となるユーザを制限することができ、あらかじめ利用頻度が高いと分かっているユーザの生体データについて、グループ化することで優先してクライアントにキャッシュさせることができる。これにより、運用環境に合わせて効率良く認証処理の負荷を分散することができる。ここでは、サーバキャッシュ制御処理部５４は、ユーザＡが所属するキャッシュ対象グループに属する別のユーザをキャッシュ対象として選択することとする。
【００７５】
さらに、サーバキャッシュ制御処理部５４は、ユーザＡが所属するキャッシュ対象グループに属する別のユーザのうち、未アクセスのユーザを優先してキャッシュ対象として選択する。具体的には、生体データ照合処理部５１は、各ユーザの最終認証日時を管理しており、ユーザＡからの認証を契機に、最終認証日時から一定時間以上経過している別のユーザの情報を未アクセス情報として、サーバキャッシュ制御処理部５４に送信する（矢印Ａ７）。ここで、一定時間は、システム運用管理者により設定され、例えば５時間に設定される。従って、生体データ照合処理部５１は、最終認証日時管理手段として機能する。サーバキャッシュ制御処理部５４は、未アクセス情報を基に、ユーザＡが所属するキャッシュ対象グループに属する別のユーザのうち、未アクセスのユーザを優先してキャッシュ対象として選択する。このように、最終認証日時から一定時間以上経過したか否かを未アクセスの基準とすることで、システムの利用時間帯が変則的な場合においても適切に未アクセスを判定することができ、運用環境に合わせて認証処理の負荷を分散することができる。
【００７６】
第２実施例にかかる認証方法では、上述の方法により、ユーザＢがキャッシュ対象として選択されたものとする。
【００７７】
サーバキャッシュ制御処理部５４は、ユーザＢの生体データＤＤＢを登録データ記憶部５７より取得し、暗号鍵ＥＫを用いて、ユーザＢの生体データＤＤＢを暗号化するとともに、仮ＩＤを生成する。サーバキャッシュ制御処理部５４は、ユーザＢの暗号化生体データＥＤＢ、仮ＩＤ、暗号鍵ＥＫをクライアント１０ａに送信する（矢印Ａ８）。また、サーバキャッシュ制御処理部５４は、ユーザＢの生体データＤＤＢのキャッシュ先アドレスＡＤ（ここでは、クライアント１０ａのアドレス）と仮ＩＤと復号鍵ＤＫとを登録データ記憶部５７に記憶させる。クライアント１０ａにおいて、キャッシュ制御処理部１４ａは、ユーザＢのキャッシュデータＣＨＤＢをキャッシュデータ記憶部１５ａにキャッシュさせる。また、クライアント１０ａにおいて、照合処理部１７ａは、生体認証サーバ５０の生体データ照合処理部５１より受信したユーザＡの認証結果を認証結果通知部１８ａに送信する（矢印Ａ９）。これにより、ユーザＡに認証結果が示される。
【００７８】
ここで、第２実施例に係る認証方法では、生体データ照合処理部５１は、ユーザＢのキャッシュデータＣＨＤＢに利用限度を示す情報を含ませてクライアント１０ａに送信する。この利用限度とは、例えば、キャッシュデータＣＨＤＢの利用可能時間を示す。キャッシュ制御処理部１４ａは、キャッシュデータＣＨＤＢをキャッシュデータ記憶部１５ａにキャッシュさせたときの時刻（以下、「キャッシュ時刻」と称する）を管理している。キャッシュ制御処理部１４ａは、キャッシュ時刻から利用可能時間が経過した場合には、キャッシュデータＣＨＤＢを破棄するとともに、キャッシュデータＣＨＤＢを破棄した旨を示す破棄通知を仮ＩＤとともに生体認証サーバ５０に通知する（矢印Ｐ１）。従って、キャッシュ制御処理部１４ａは、キャッシュ利用時間管理手段として機能する。生体認証サーバ５０は、破棄通知を受信すると、当該仮ＩＤに対応するユーザのキャッシュ先アドレスを未設定に更新する。このように、キャッシュデータのクライアントにおける保持期限を設定することにより、いつまでも当該キャッシュデータがクライアントに保持されたままにならずに済むので、セキュリティ面の向上を図ることができる。
【００７９】
次に、ユーザＢの認証方法について説明する。
【００８０】
第１実施例に係る認証方法で述べたのと同様に、ユーザＢは、生体情報およびユーザＩＤＢをクライアント１０ｂに入力する（矢印Ｂ１）。生体情報取得処理部１３ｂは、照合用生体データＣＤＢを当該生体情報より取得し、ユーザＩＤＢおよび照合用生体データＣＤＢを照合処理部１７ｂに入力する（矢印Ｂ２）。
【００８１】
照合処理部１７ｂは、ユーザＩＤＢを生体認証サーバ５０に送信して確認要求を行う（矢印Ｂ３）。生体認証サーバ５０では、サーバキャッシュ制御処理部５４が、ユーザＩＤＢを基に、登録データ記憶部５７内のデータを検索する。サーバキャッシュ制御処理部５４は、ユーザＢの生体データがクライアント１０ａにキャッシュされているとして、キャッシュ先アドレスＡＤと仮ＩＤと復号鍵ＤＫとを確認結果としてクライアント１０ｂに送信する（矢印Ｂ４）。
【００８２】
クライアント１０ｂにおいて、照合処理部１７ｂは、確認結果を基に、照合用生体データＣＤＢと仮ＩＤと復号鍵ＤＫとをクライアント１０ａに送信して認証要求を行う（矢印Ｂ５）。
【００８３】
クライアント１０ａにおいて、照合処理部１７ａは、仮ＩＤと復号鍵ＤＫとをキャッシュ制御処理部１４ａに送信する。キャッシュ制御処理部１４ａは、仮ＩＤを用いて、ユーザＢのキャッシュデータをキャッシュデータ記憶部１５ａより取得する。キャッシュ制御処理部１４ａは、ユーザＢのキャッシュデータにおける暗号化生体データＥＤＢを、復号鍵ＤＫを用いて復号する。そして、キャッシュ制御処理部１４ａは、復号されたユーザＢの生体データＤＤＢを照合処理部１７ａに送信する（矢印Ｂ６）。照合処理部１７ａは、照合用生体データＣＤＢとユーザＢの生体データＤＤＢとの照合を行うことで認証を行う。その後、照合処理部１７ａは、認証結果をクライアント１０ｂに送信する（矢印Ｂ７）。また、照合処理部１７ａは、仮ＩＤと認証結果とを生体認証サーバ５０に送信する（矢印Ｂ８）。生体認証サーバ５０において、サーバキャッシュ制御処理部５４は当該認証結果をログとしてログデータ記憶部５８に記録する。また、クライアント１０ｂにおいて、照合処理部１７ｂは、クライアント１０ａより受信したユーザＢの認証結果を認証結果通知部１８ｂに送信する（矢印Ｂ９）。これにより、ユーザＢに認証結果が示される。
【００８４】
なお、上述の第２実施例に係る認証方法では、ユーザＢのキャッシュデータＣＨＤＢに含まれる利用限度を示す情報は、キャッシュデータＣＨＤＢの利用可能時間であるとしていたが、これに限られない。このようにする代わりに、利用限度を示す情報は、キャッシュデータＣＨＤＢの利用可能回数であるとしても良い。この場合、キャッシュ制御処理部１４ａは、キャッシュデータＣＨＤＢの利用回数をカウントし、当該利用回数が利用可能回数を超えた場合には、キャッシュデータＣＨＤＢを破棄する。また、このとき、キャッシュ制御処理部１４ａは、キャッシュデータＣＨＤＢを破棄した旨を示す破棄通知を仮ＩＤとともに生体認証サーバ５０に送信する。従って、キャッシュ制御処理部１４ａは、キャッシュ利用回数管理手段として機能する。そして、生体認証サーバ５０は、当該仮ＩＤに対応するユーザのキャッシュ先アドレスを未設定に更新する。このようにしても、いつまでも当該キャッシュデータがクライアントに保持されたままにならずに済むので、セキュリティ面の向上を図ることができる。
【００８５】
［第３実施例］
第３実施例に係る認証方法について説明する。第３実施例に係る認証方法では、主に、キャッシュ対象となるユーザとキャッシュ先クライアントを利用しているユーザとの関係をキャッシュ対象グループとして定義する。以下、図６〜図９を用いて具体的に説明する。
【００８６】
図６は、生体認証システム１００における第３実施例に係る認証方法の一例を示す模式図である。
【００８７】
図６に示す例では、クライアント１０ａより管理ユーザＡ１が認証要求を行い、クライアント１０ｂよりユーザＡ＿００１が認証要求を行う。以下、管理ユーザＡ１の認証方法、ユーザＡ＿００１の認証方法について説明する。
【００８８】
最初に、管理ユーザＡ１の認証方法について説明する。ここで、クライアント１０ａ、１０ｂのいずれにも、管理ユーザＡ１の生体データはキャッシュされていないとする。また、以下において、管理ユーザＡ１に関する情報を示す符号は、第１及び第２実施例で述べたユーザＡに関する情報を示す符号と同じものを用いて示すこととする。また、ユーザＡ＿００１に関する情報を示す符号は、第１及び第２実施例で述べたユーザＢに関する情報を示す符号と同じものを用いて示すこととする。
【００８９】
第２実施例に係る認証方法で述べたのと同様に、管理ユーザＡ１は、生体情報およびユーザＩＤＡをクライアント１０ａに入力する（矢印Ａ１）。生体情報取得処理部１３ａは、照合用生体データＣＤＡを当該生体情報より取得し、ユーザＩＤＡおよび照合用生体データＣＤＡを照合処理部１７ａに送信する（矢印Ａ２）。
【００９０】
照合処理部１７ａは、ユーザＩＤＡを生体認証サーバ５０に送信することで確認要求を行う（矢印Ａ３）。生体認証サーバ５０では、サーバキャッシュ制御処理部５４が、ユーザＩＤＡを基に、いずれかのクライアントにユーザＡの生体データがキャッシュされているか否かを確認し、キャッシュされていないことを示す確認結果をクライアント１０ａに送信する（矢印Ａ４）。
【００９１】
クライアント１０ａにおいて、照合処理部１７ａは、クライアントにキャッシュされていないことを示す確認結果を受信すると、ユーザＩＤＡおよび照合用生体データＣＤＡを生体認証サーバ５０に送信して認証要求を行う（矢印Ａ５）。
【００９２】
生体認証サーバ５０において、生体データ照合処理部５１は、ユーザＩＤＡを基に、登録データ記憶部５７より管理ユーザＡ１の生体データＤＤＡを取得する。生体認証サーバ５０は、照合用生体データＣＤＡと管理ユーザＡ１の生体データＤＤＡとの照合を行うことで認証を行う。生体データ照合処理部５１は、認証に成功した場合には、成功した管理ユーザＡ１の認証結果をクライアント１０ａに送信するとともに（矢印Ａ６）、サーバキャッシュ制御処理部５４にユーザＩＤＡを送信する（矢印Ａ７）。
【００９３】
第１実施例で述べたのと同様に、サーバキャッシュ制御処理部５４は、ユーザＩＤＡを基に、クライアント１０ａにキャッシュされるキャッシュ対象となる生体データを選択する。具体的には、サーバキャッシュ制御処理部５４は、管理ユーザＡ１が所属するキャッシュ対象グループを識別し、当該キャッシュ対象グループに属する別のユーザをキャッシュ対象として選択する。
【００９４】
ここで、第３実施例にかかる認証方法では、キャッシュ対象ユーザとキャッシュ先クライアントユーザとの依存関係がグループにより定義されている。サーバキャッシュ制御処理部５４は、管理ユーザＡ１が属するグループに依存するグループに属する別のユーザをキャッシュ対象として選択する。このグループは、例えば職制に応じて設定される。この依存関係を示すグループ識別情報の一例が図７（ａ）、（ｂ）、（ｃ）に示されている。
【００９５】
図７（ａ）は、ユーザ名と所属グループとの関係を示している。
【００９６】
図７（ａ）を見ると、管理ユーザＡ１は「Ａグループ」に属するとともに「Ａグループ管理者」に属し、ユーザＡ＿００１は「Ａグループ」に属していることが分かる。
【００９７】
図７（ｂ）は、キャッシュ可能グループを示している。キャッシュ可能グループとは、キャッシュ対象として選択された別のユーザの生体データをキャッシュすることができるユーザのグループである。
【００９８】
図７（ｂ）を見ると、Ａグループ管理者がキャッシュ可能グループに属している。つまり、Ａグループ管理者に属するユーザのクライアントに対し、別のユーザの生体データをキャッシュすることが可能である。従って、管理ユーザＡ１はＡグループ管理者に属しているので、管理ユーザＡ１のクライアント１０ａに別のユーザの生体データをキャッシュすることが可能である。
【００９９】
図７（ｃ）は、管理グループと従属グループとの関係を示している。ここで、従属グループとは、管理グループに属するユーザのクライアントにキャッシュされるユーザのグループである。
【０１００】
図７（ｃ）を見ると、管理グループたるＡグループ管理者に対応する従属グループとしてＡグループが示されている。つまり、Ａグループ管理者に属するユーザのクライアントにキャッシュされるキャッシュ対象となるのは、Ａグループのユーザの生体データである。
【０１０１】
サーバキャッシュ制御処理部５４は、管理ユーザＡ１のユーザＩＤＡを基に、上述のグループ識別情報を用いて、例えば、Ａグループに属するユーザＡ＿００１をキャッシュ対象ユーザとして選択する。このようにすることで、特定の管理グループに属するユーザのクライアントに、当該グループに従属するグループのユーザの生体データをキャッシュすることが可能となる。このように、職制上管理する立場のユーザのグループと、これに依存する形で管理される立場のユーザのグループとを形成することで、部下の生体データを上司のクライアントにキャッシュすることが可能となる。これにより、キャッシュデータの責任を明確にしながら認証処理の負荷を分散することができる。
【０１０２】
また、第３実施例では、サーバキャッシュ制御処理部５４は、キャッシュ対象となる生体データを選択する際において、認証要求のあったクライアントについて、生体データのキャッシュ可否を判定する。
【０１０３】
具体的には、サーバキャッシュ制御処理部５４は、各クライアントについて生体データをキャッシュ可能な否かを示すキャッシュ可否属性情報を有している。サーバキャッシュ制御処理部５４は、認証要求のあったユーザのクライアントについて、キャッシュ可否属性を判定することで、当該生体データをキャッシュするか否かを決定する。キャッシュ可否属性情報の一例を図８に示す。
【０１０４】
図８に示すように、キャッシュ可否属性情報は、ユーザ名とクライアント情報とキャッシュ可否属性とを有する。ここで、クライアント情報は、例えば、クライアントのＩＰアドレスで示されている。また、キャッシュ可否属性は、キャッシュ可能の場合には「○」で示され、キャッシュ不可の場合には「×」で示されている。図８に示す例では、管理ユーザＡ１は３つのクライアント（aaa.bbb.ccc.10〜aaa.bbb.ccc.12）を有し、そのうち、「aaa.bbb.ccc.12」で示されるクライアントについてはキャッシュ不可となっている。
【０１０５】
従って、サーバキャッシュ制御処理部５４は、認証要求のあった管理ユーザＡ１のクライアント１０ａが「aaa.bbb.ccc.10」または「aaa.bbb.ccc.11」で示されるＩＰアドレスを有する場合には、キャッシュ対象ユーザを決定する。つまり、サーバキャッシュ制御処理部５４は、キャッシュ対象ユーザの生体データをクライアント１０ａにキャッシュさせることとする。一方、サーバキャッシュ制御処理部５４は、クライアント１０ａが「aaa.bbb.ccc.12」で示されるＩＰアドレスを有する場合には、キャッシュ対象ユーザを決定せずに、別のユーザの生体データをクライアント１０ａにキャッシュさせないこととする。つまり、この方法によれば、各クライアントのキャッシュ可否属性を個別に設定することができる。このように、各クライアントについて、キャッシュ可否属性に応じてキャッシュ処理を制限することにより、運用環境に合わせて効率よく認証処理の負荷が分散される。
【０１０６】
ここで、各クライアントは、自身のキャッシュ可否を示すキャッシュ可否通知を生体認証サーバ５０に送信し、生体認証サーバ５０は、当該キャッシュ可否通知を基に、キャッシュ可否属性情報を更新することができる。例えば、管理ユーザＡ１がクライアント１０ａのキャッシュ可否を不可にしたい場合には、クライアント１０ａを介して、その旨を示すキャッシュ可否通知を生体認証サーバ５０に送信する（図６、矢印Ｐ２参照）。具体的には、クライアント１０ａにおけるキャッシュ制御処理部１４ａがキャッシュ可否通知を生体認証サーバ５０に送信する。従って、キャッシュ制御処理部１４ａは、キャッシュ可否通知手段として機能する。生体認証サーバ５０は、キャッシュ可否通知を受信すると、キャッシュ可否属性情報を更新する。例えば、クライアント１０ａのアドレスが例えば「aaa.bbb.ccc.10」で示されるとすると、生体認証サーバ５０は、「aaa.bbb.ccc.10」に対応するキャッシュ可否属性を「○」から「×」に設定して更新する。このとき、生体認証サーバ５０は、クライアント１０ａにキャッシュデータが記憶されている場合には、当該キャッシュデータについての仮ＩＤ、アドレス、復号鍵を削除する。また、クライアント１０ａは、キャッシュ可否通知を生体認証サーバ５０に送信する際に、自身が記憶しているキャッシュデータを削除する。これにより、クライアント１０ａに生体データがキャッシュされなくなる。
【０１０７】
一方、例えば、管理ユーザＡ１がクライアント１０ａのキャッシュ可否を可能にしたい場合には、クライアント１０ａを介して、その旨を示すキャッシュ可否通知を生体認証サーバ５０に送信する。生体認証サーバ５０は、キャッシュ可否通知を受信すると、「aaa.bbb.ccc.10」に対応するキャッシュ可否属性を「×」から「○」に設定して更新する。これにより、クライアント１０ａに生体データがキャッシュされるようになる。
【０１０８】
このようにすることで、キャッシュ可能としたクライアントを一時的にキャッシュ不可にしたり、キャッシュ不可能としたクライアントを一時的にキャッシュ可能にしたりすることができ、変則的な運用においても効率良く認証処理の負荷が分散される。ここでは、クライアント１０ａは、キャッシュ可能であるとする。
【０１０９】
サーバキャッシュ制御処理部５４は、キャッシュ対象ユーザとして選択されたユーザＡ＿００１の生体データＤＤＢを登録データ記憶部５７より取得し、暗号鍵ＥＫを用いて、ユーザＡ＿００１の生体データＤＤＢを暗号化するとともに、仮ＩＤを生成する。サーバキャッシュ制御処理部５４は、ユーザＡ＿００１の暗号化生体データＥＤＢ、仮ＩＤ、暗号鍵ＥＫをクライアント１０ａに送信する（矢印Ａ８）。また、サーバキャッシュ制御処理部５４は、ユーザＡ＿００１の生体データＤＤＢのキャッシュ先アドレスＡＤ（ここでは、クライアント１０ａのアドレス）と仮ＩＤと復号鍵ＤＫとを登録データ記憶部５７に記憶させる。クライアント１０ａにおいて、キャッシュ制御処理部１４ａは、ユーザＡ＿００１のキャッシュデータＣＨＤＢをキャッシュデータ記憶部１５ａに記憶させる。また、照合処理部１７ａは、生体認証サーバ５０の生体データ照合処理部５１より受信したユーザＡの認証結果を認証結果通知部１８ａに送信する（矢印Ａ９）。これにより、ユーザＡに認証結果が示される。
【０１１０】
なお、ここで、サーバキャッシュ制御処理部５４は、キャッシュ対象として選択されたユーザの生体データについて、複数のクライアントにキャッシュされるとし、このクライアント数を管理するとしても良い。
【０１１１】
具体的には、サーバキャッシュ制御処理部５４は、キャッシュ対象として選択されたユーザの生体データのキャッシュ先クライアント数の最大値を予め設定しておく。サーバキャッシュ制御処理部５４は、当該ユーザの生体データのキャッシュ先クライアント数が最大値を超えておらず、かつ、認証要求のあったクライアントに当該ユーザの生体データがキャッシュされていない場合に、当該ユーザの生体データをキャッシュする。
【０１１２】
例えば、サーバキャッシュ制御処理部５４は、ユーザＡ＿００１の生体データのキャッシュ先クライアント数が最大値を超えておらず、かつ、認証要求のあったクライアント１０ａにユーザＡ＿００１の生体データがキャッシュされていないかを判定する。サーバキャッシュ制御処理部５４は、ユーザＡ＿００１の生体データのキャッシュ先クライアント数が最大値を超えておらず、かつ、認証要求のあったクライアント１０ａにユーザＡ＿００１の生体データがキャッシュされていないと判定した場合には、クライアント１０ａにユーザＡ＿００１の生体データをキャッシュする。このようにすることで、複数のクライアントにユーザＡ＿００１の生体データをキャッシュすることが可能となる。従って、サーバキャッシュ制御処理部５４は、キャッシュ先クライアント数管理手段として機能する。
【０１１３】
また、サーバキャッシュ制御処理部５４は、あるユーザの生体データについて、複数のクライアントにキャッシュされている場合には、キャッシュ先優先度を決定する。後に、キャッシュ対象ユーザより確認要求があった場合には、サーバキャッシュ制御処理部５４は、当該キャッシュ先優先度を基に、キャッシュ対象ユーザのアクセスするクライアントを決定する、即ち、キャッシュ優先度の最も高いクライアントに決定する。ここで、キャッシュ先優先度は、例えば、キャッシュされた時刻やクライアントの稼働状況に応じて決定されるとしても良いし、クライアント毎に予め決定されるとしても良い。優先度の付加されたキャッシュ先クライアント情報の一例を図９に示す。
【０１１４】
図９は、ユーザ名と仮ＩＤと復号鍵とキャッシュ先アドレスと優先度との関係が示されている。図９に示す例では、ユーザＡ＿００１の生体データは、管理ユーザＡ１の２つのクライアントにキャッシュされている。ここで、２つのクライアントのうち、「aaa.bbb.ccc.10」で示されるクライアントの優先度は「１」となっており、「aaa.bbb.ccc.11」で示されるクライアントの優先度は「２」となっている。従って、後に、ユーザＡ＿００１より確認要求があった場合には、サーバキャッシュ制御処理部５４は、キャッシュ先アドレス「aaa.bbb.ccc.10」と、当該キャッシュ先アドレスに対応する仮ＩＤおよび復号鍵をユーザＡ＿００１に送信する。もし、キャッシュ先アドレス「aaa.bbb.ccc.10」のクライアントが利用不可の場合には、サーバキャッシュ制御処理部５４は、キャッシュ先アドレス「aaa.bbb.ccc.11」と、当該キャッシュ先アドレスに対応する仮ＩＤおよび復号鍵をユーザＡ＿００１に送信する。このようにすることで、生体データがキャッシュされた所定のクライアントが利用不可となった場合であっても、別のクライアントを利用することが可能となり、クライアントの稼働状況に応じた負荷分散を実現することができる。
【０１１５】
次に、図６に戻り、ユーザＡ＿００１の認証方法について説明する。
【０１１６】
第１実施例に係る認証方法で述べたのと同様に、ユーザＡ＿００１は、生体情報およびユーザＩＤＢをクライアント１０ｂに入力する（矢印Ｂ１）。生体情報取得処理部１３ｂは、照合用生体データＣＤＢを当該生体情報より取得し、ユーザＩＤＢおよび照合用生体データＣＤＢを照合処理部１７ｂに入力する（矢印Ｂ２）。
【０１１７】
照合処理部１７ｂは、ユーザＩＤＢを生体認証サーバ５０に送信する（矢印Ｂ３）。生体認証サーバ５０では、サーバキャッシュ制御処理部５４が、ユーザＩＤＢを基に、登録データ記憶部５７内のデータを検索する。サーバキャッシュ制御処理部５４は、ユーザＡ＿００１の生体データがクライアント１０ａにのみキャッシュされているとして、キャッシュ先アドレスＡＤと仮ＩＤと復号鍵ＤＫとをクライアント１０ｂに送信する（矢印Ｂ４）。
【０１１８】
クライアント１０ｂにおいて、照合処理部１７ｂは、照合用生体データＣＤＢと仮ＩＤと復号鍵ＤＫとをクライアント１０ａに送信する（矢印Ｂ５）。
【０１１９】
クライアント１０ａにおいて、照合処理部１７ａは、仮ＩＤと復号鍵ＤＫとをキャッシュ制御処理部１４ａに送信する。キャッシュ制御処理部１４ａは、仮ＩＤを用いて、ユーザＡ＿００１のキャッシュデータをキャッシュデータ記憶部１５ａより取得する。キャッシュ制御処理部１４ａは、ユーザＡ＿００１のキャッシュデータにおける暗号化生体データＥＤＢを、復号鍵ＤＫを用いて復号する。そして、キャッシュ制御処理部１４ａは、復号されたユーザＡ＿００１の生体データＤＤＢを照合処理部１７ａに送信する（矢印Ｂ６）。照合処理部１７ａは、照合用生体データＣＤＢとユーザＡ＿００１の生体データＤＤＢとの照合を行うことで認証を行う。照合処理部１７ａは、認証結果をクライアント１０ｂに送信する（矢印Ｂ７）。また、照合処理部１７ａは、仮ＩＤと認証結果とを生体認証サーバ５０に送信する（矢印Ｂ８）。生体認証サーバ５０において、サーバキャッシュ制御処理部５４は当該認証結果をログとしてログデータ記憶部５８に記録する。クライアント１０ｂにおいて、照合処理部１７ｂは、クライアント１０ａより受信したユーザＡ＿００１の認証結果を認証結果通知部１８ｂに送信する（矢印Ｂ９）。これにより、ユーザＡ＿００１に認証結果が示される。
［第４実施例］
第４実施例に係る認証方法について説明する。第４実施例に係る認証方法では、主に、アクセス状況に応じて、運用環境を変更することとする。以下、図１０及び図１１を用いて具体的に説明する。
【０１２０】
図１０は、生体認証システム１００における第４実施例に係る認証方法の一例を示す模式図である。
【０１２１】
矢印Ａ１から矢印Ａ５で示されるユーザＡの認証の流れは、第１実施例で述べた流れと同様であるので説明を省略する。
【０１２２】
生体認証サーバ５０において、生体データ照合処理部５１は、ユーザＩＤＡを基に、登録データ記憶部５７よりユーザＡの生体データＤＤＡを取得する。生体認証サーバ５０は、照合用生体データＣＤＡとユーザＡの生体データＤＤＡとの照合を行うことで認証を行う。生体データ照合処理部５１は、認証に成功した場合には、成功したユーザＡの認証結果をクライアント１０ａに送信するとともに（矢印Ａ６）、サーバキャッシュ制御処理部５４にユーザＩＤＡを送信する（矢印Ａ７）。
【０１２３】
第４実施例に係る認証方法では、運用監視処理部５２は、基準時刻から計測された認証要求クライアント数が予め設定された値を超えたときに、認証要求のあったクライアントへの生体データのキャッシュを開始させることとする。以下、具体的に説明する。
【０１２４】
生体認証サーバ５０において、運用監視処理部５２は、認証時刻をクライアント毎に統計管理している。運用監視処理部５２は、認証時刻を基に、予め設定された基準時刻からの認証要求を行ったクライアント数を算出し、当該クライアント数が所定のクライアント数を超えたときに、その旨を示す運用情報をサーバキャッシュ制御処理部５４に送信する。従って、運用監視処理部５２は、計測手段として機能する。サーバキャッシュ制御処理部５４は、当該運用情報を受信すると、認証要求のあったクライアントへの生体データのキャッシュを開始する。例えば、基準時刻が４：００となっており、基準値が３５となっているとすると、運用監視処理部５２は、４：００からの認証要求を行ったクライアント数が３５を超えたときに、その旨を示す運用情報をサーバキャッシュ制御処理部５４に送信する。サーバキャッシュ制御処理部５４は、当該運用情報を受信すると、認証要求のあったクライアントへの生体データのキャッシュを開始する。これにより、クライアントからのアクセスが過密になったタイミングで自動的にキャッシュを開始することが可能となり、アクセス状況に応じて認証処理の負荷が分散される。
【０１２５】
ここで、クライアント１０ａからの認証要求の際には、既にキャッシュが開始されていたものとする。従って、サーバキャッシュ制御処理部５４は、ユーザＩＤＡを受信すると、クライアント１０ａにキャッシュされるキャッシュ対象となる生体データを選択する。キャッシュ対象ユーザの選択方法として、サーバキャッシュ制御処理部５４は、クライアント１０ａのユーザＡとは異なるユーザの生体データをキャッシュ対象として選択する。
【０１２６】
ここで、第４実施例に係る認証方法では、サーバキャッシュ制御処理部５４は、各クライアント間のネットワーク距離、各ユーザの認証率を基に、キャッシュ対象となるユーザを選択することとする。
【０１２７】
まず、各クライアント間のネットワーク距離を基に、キャッシュ対象となるユーザを選択する方法について説明する。ここで、ネットワーク距離とは、各クライアント間における通信の伝送路の長さを示している。サーバキャッシュ制御処理部５４は、キャッシュ対象ユーザを選択する際において、認証要求を行ったクライアントとのネットワーク距離が所定距離よりも小さいクライアントのユーザをキャッシュ対象ユーザとして選択する。ここで、所定距離よりも小さいとは、例えば、同一のネットワークセグメント内にあるという意味である。
【０１２８】
具体的には、生体認証サーバ５０において、グループ制御処理部５３は、各クライアント間のネットワーク距離を管理している。例えば、グループ制御処理部５３は、複数のクライアントについて、ネットワークセグメント毎にグループ化したグループ情報（以下、「ネットワークグループ情報」と称する）を有している。図１１（ａ）は、ネットワークグループ情報を示す一例である。図１１（ａ）に示すように、ユーザＡのクライアントとユーザＢのクライアントとが同じネットワークセグメントたる「グループＳ」に属している。互いに異なるネットワークセグメントに属するクライアント間のネットワーク距離と比較して、互いに同じネットワークセグメントに属するクライアント間のネットワーク距離は近くなっている。グループ制御処理部５３は、ネットワークグループ情報をサーバキャッシュ制御処理部５４に送信する。従って、グループ制御処理部５３は、ネットワーク距離管理手段として機能する。
【０１２９】
サーバキャッシュ制御処理部５４は、ネットワークグループ情報を基に、認証要求のあったクライアントと同じグループに属するクライアントのユーザを優先的にキャッシュ対象ユーザとして選択する。ここで、ユーザＡのクライアント１０ａとユーザＢのクライアント１０ｂとは同じグループＳに属している。従って、サーバキャッシュ制御処理部５４は、クライアント１０ａにキャッシュさせるキャッシュ対象としてユーザＢの生体データを選択することができる。このようにすることで、キャッシュ対象ユーザが利用するクライアントとキャッシュ先クライアントとの間のネットワーク距離をなるべく近くすることができ、クライアントに対して認証要求が行われる際におけるクライアント間の通信時間を短縮することができる。
【０１３０】
次に、各ユーザの認証率を基に、キャッシュ対象となるユーザを選択する方法について説明する。
【０１３１】
生体認証サーバ５０において、まず、運用監視処理部５２は、認証結果のログ（以下、「認証ログ」と称する）を用いて、各ユーザの認証成功率を算出する。図１１（ｂ）は、認証ログの一例を示している。認証ログでは、ユーザ名と認証結果と認証が行われた時刻情報とが記録されている。図１１（ｂ）では、認証成功の場合を「○」で示し、認証失敗の場合を「×」で示している。運用監視処理部５２は、認証ログを基に、ユーザ毎の認証率を算出する。図１１（ｃ）は、ユーザ毎の認証率を示している。運用監視処理部５２は、予め設定された基準値よりも低い認証率となっているユーザの情報を運用情報としてグループ制御処理部５３へ送信する。従って、運用監視処理部５２は、認証率管理手段として機能する。グループ制御処理部５３は、予め設定された基準値よりも低い認証率となっているユーザをグループ情報（以下、「低認証率グループ」と称する）としてサーバキャッシュ制御処理部５４に送信する。サーバキャッシュ制御処理部５４は、キャッシュ対象ユーザを選択する際において、低認証率グループに属しているユーザを優先的にキャッシュ対象として選択する。
【０１３２】
図１１（ｃ）において、例えば認証率の基準値が０．４８であるとすると、当該基準値よりも低い認証率となっているのはユーザＢである。従って、運用監視処理部５２は、ユーザＢの情報を、グループ制御処理部５３を介して、サーバキャッシュ制御処理部５４に送信することになる。
【０１３３】
第４実施例に係る認証方法では、上述の方法により、ユーザＢがキャッシュ対象ユーザとして選択されたものとする。
【０１３４】
サーバキャッシュ制御処理部５４は、ユーザＢの暗号化生体データＥＤＢ、仮ＩＤ、暗号鍵ＥＫをクライアント１０ａに送信する（矢印Ａ８）。また、サーバキャッシュ制御処理部５４は、ユーザＢの生体データＤＤＢのキャッシュ先アドレスＡＤ（ここでは、クライアント１０ａのアドレス）と仮ＩＤと復号鍵ＤＫとを登録データ記憶部５７に記憶させる。クライアント１０ａにおいて、キャッシュ制御処理部１４ａは、ユーザＢのキャッシュデータＣＨＤＢをキャッシュデータ記憶部１５ａにキャッシュさせる。
【０１３５】
矢印Ｂ１から矢印Ｂ９で示されるユーザＢの認証の流れは、第１実施例で述べた流れと同様であるので説明を省略する。
【０１３６】
なお、第４実施例に係る認証方法では、各ユーザの認証率を基に、キャッシュ対象ユーザを選択するとしていたが、ユーザの認証状況に応じたキャッシュ対象ユーザの選択方法としては、これに限られるものではない。このようにする代わりに、または、加えて、ユーザのアクセス傾向や認証の集中度合いを基に、キャッシュ対象ユーザを選択するとしても良い。この方法について、以下に説明する。
【０１３７】
まず、ユーザのアクセス傾向を基に、キャッシュ対象ユーザを選択する方法について説明する。
【０１３８】
生体認証サーバ５０において、運用監視処理部５２は、各ユーザの認証時刻を統計管理しておき、各ユーザについて、生体認証サーバ５０に認証要求が集中する時間帯を算出する。具体的には、運用監視処理部５２は、各ユーザについて、予め決められた所定回数以上の認証要求があった時間帯を認証要求が集中する時間帯として算出する。そして、運用監視処理部５２は、あるユーザ（例えばユーザＡ）から認証要求があった場合において、算出結果を基に、当該認証要求のあった時刻の一定時間後の時間帯において、認証要求が集中する別のユーザの情報を運用情報としてサーバキャッシュ制御処理部５４に送信する。従って、運用監視処理部５２は、認証時刻管理手段及びユーザ時間帯算出手段として機能する。サーバキャッシュ制御処理部５４は、当該別のユーザをキャッシュ対象ユーザとして選択する。このようにすることで、あるユーザと比較して統計的に後に認証要求をすることの多い別のユーザをキャッシュすることができ、効率的にキャッシュデータを利用することが可能となる。
【０１３９】
次に、ユーザの認証の集中度合いを基に、キャッシュ対象ユーザを選択する方法について説明する。
【０１４０】
生体認証サーバ５０において、運用監視処理部５２は、各ユーザの認証時刻を統計管理しておく。運用監視処理部５２は、各ユーザの認証時刻の情報を運用情報としてグループ制御処理部５３へ送信する。グループ制御処理部５３は、当該運用情報を基に、同一時間帯に認証が集中するユーザをグループ化したグループ情報（以下、「時間帯認証集中グループ」と称する）をサーバキャッシュ制御処理部５４に送信する。サーバキャッシュ制御処理部５４は、キャッシュ対象ユーザを選択する際において、認証要求のあったユーザと同じ時間帯認証集中グループに属するユーザを優先的にキャッシュ対象ユーザとして選択する。このようにすることで、あらかじめグループを設定しなくても、同じ時間帯に認証が集中するユーザを同一グループに自動的に設定することができる。このようにすることで、認証の集中度合いに応じた適切な認証処理負荷の分散を行うことができる。
【０１４１】
［変形例］
次に、上述の各実施例に係る変形例について説明する。
【０１４２】
まず、第１の変形例について説明する。第１の変形例では、キャッシュ先クライアントが利用不可になっている場合に、当該キャッシュ先クライアントにキャッシュされたキャッシュデータが、改めて別のキャッシュ先クライアントにキャッシュされる。以下、具体的に説明する。
【０１４３】
運用監視処理部５２は、キャッシュ先クライアントの稼働状況、即ち、当該キャッシュ先クライアントが利用不可になっているか否かを監視する。運用監視処理部５２は、キャッシュ先クライアントが利用不可であると判定した場合には、登録データ入出力部５６を介して、当該キャッシュ先クライアントにキャッシュされた生体データに対応するユーザをキャッシュ対象ユーザとして選択可能に再設定する。従って、運用監視処理部５２は、稼働状況監視手段として機能する。
【０１４４】
サーバキャッシュ制御処理部５４は、キャッシュ対象ユーザを選択する際において、選択可能に再設定されたユーザを優先的にキャッシュ対象として選択する。このようにすることで、クライアントにキャッシュされたキャッシュデータが何らかの理由で利用不可となった場合であっても、再度、別のクライアントに当該キャッシュデータをキャッシュすることができる。これにより、クライアントの稼働時間帯がまばらな運用環境においてもキャッシュデータの再配置を自動で行うことが可能となる。
【０１４５】
次に、第２の変形例について説明する。第２の変形例では、キャッシュ先クライアントにキャッシュされたキャッシュデータが、キャッシュされてからの経過時間に応じて更新される。以下、具体的に説明する。
【０１４６】
キャッシュ先クライアントにおいて、キャッシュ制御処理部１４は、キャッシュデータがキャッシュされたキャッシュ日時を管理している。キャッシュ制御処理部１４は、キャッシュデータについて、キャッシュ日時より予め決められた所定時間が経過したか否かを判定し、経過したと判定した場合には、キャッシュデータの更新要求を生体認証サーバ５０に行う。従って、キャッシュ制御処理部１４は、更新要求手段として機能する。生体認証サーバ５０において、サーバキャッシュ制御処理部５４は、所定時間が経過したと判定されたキャッシュデータの生体データに対応するユーザをキャッシュ対象ユーザとする。即ち、サーバキャッシュ制御処理部５４は、当該ユーザの生体データを登録データ記憶部５７より改めて取得する。そして、サーバキャッシュ制御処理部５４は、改めて取得された生体データについて、新たに生成された暗号鍵を用いて暗号化するとともに、新たな仮ＩＤを生成する。サーバキャッシュ制御処理部５４は、このようにして生成された暗号化生体データ、仮ＩＤおよび暗号鍵を新たなキャッシュデータとして、当該キャッシュ先クライアントに送信する。従って、サーバキャッシュ制御処理部５４は、更新手段として機能する。
【０１４７】
キャッシュ先クライアントにおいて、キャッシュ制御処理部１４は、新たなキャッシュデータをキャッシュデータ記憶部１５に記憶させるとともに、キャッシュ日時を更新する。このようにすることで、常時稼働状態にあるキャッシュ先クライアントのキャッシュデータに対するセキュリティが向上し、長期間安全にキャッシュデータを保持することが可能となる。
【０１４８】
次に、第３の変形例について説明する。第３の変形例では、キャッシュ対象ユーザのクライアントからキャッシュ先クライアントへのアクセスを簡略化する。以下、具体的に説明する。
【０１４９】
キャッシュ先クライアントにおいて、キャッシュ制御処理部１４は、キャッシュ対象ユーザのクライアントより仮ＩＤと復号鍵とを受信すると、キャッシュデータの認証後においてもこれを保持する。また、キャッシュ先クライアントおよびキャッシュ対象ユーザのクライアントの両クライアントにおける照合処理部１７には、生体認証サーバ５０よりキャッシュ利用限度が通知される。両クライアントにおける照合処理部１７は、当該キャッシュ利用限度を保持する。従って、両クライアントにおける照合処理部１７は、キャッシュ利用限度保持手段として機能する。この後、キャッシュ対象ユーザのクライアントより認証要求が行われる際には、当該クライアントの照合処理部１７は、キャッシュ利用限度の範囲内において、生体認証サーバ５０への確認要求を行わずに、キャッシュ先クライアントへ直接認証要求を行う。つまり、キャッシュ対象ユーザのクライアントは、キャッシュ先クライアントへ照合用データを直接送信し、キャッシュ先クライアントは、当該照合用データを基に照合を行い、キャッシュ対象ユーザのクライアントへ認証結果を送信する。この処理が行われる度に、キャッシュ先クライアントおよびキャッシュ対象ユーザのクライアントの両クライアントでは、利用回数が更新される。キャッシュ対象ユーザのクライアントは、当該利用回数がキャッシュ利用限度を超えた場合には、確認要求を生体認証サーバ５０に再度行う。
【０１５０】
このように、一定の利用限度の範囲内において、生体認証サーバ５０を介さずに、キャッシュ先クライアントのキャッシュデータを利用可能とすることで、キャッシュデータ利用の際の通信量をさらに削減でき、生体認証サーバ５０における処理負荷を軽減できる。
【０１５１】
なお、実施形態は、上述した実施形態の例に限られるものではなく、特許請求の範囲及び明細書全体から読み取れる発明の要旨あるいは思想に反しない範囲で適宜変更可能である。
【０１５２】
以上説明した実施形態に関して、更に以下の付記を開示する。
（付記１）
複数の生体データを記憶する記憶部を有する生体認証サーバと複数のクライアントとがネットワークを介して互いに接続され、ユーザにより前記クライアントを介して認証要求が行われると、前記ユーザより採取された照合用生体データと前記生体データとの照合を行うことで認証処理を行う生体認証システムにおいて、
前記生体認証サーバは、
前記認証要求を行ったユーザとは異なるユーザをキャッシュ対象ユーザとして決定するサーバキャッシュ決定手段と、
前記キャッシュ対象ユーザを示す識別子を生成する識別子生成手段と、
前記キャッシュ対象ユーザの生体データおよび前記識別子を前記クライアントに送信する送信手段と、
前記キャッシュ対象ユーザの生体データおよび前記識別子が利用可能であることを判定するキャッシュ利用可否判定手段と、を備え、
前記クライアントは、
前記キャッシュ対象ユーザの生体データおよび前記識別子を前記生体認証サーバより受信する受信手段と、
前記生体認証サーバより受信した前記キャッシュ対象ユーザの生体データ及び前記識別子をキャッシュするキャッシュ手段と、を備えることを特徴とする生体認証システム。
（付記２）
前記生体認証サーバは、
前記キャッシュ対象ユーザの生体データを暗号化する暗号化手段を備える付記１に記載の生体認証システム。
（付記３）
前記生体認証サーバは、前記認証要求を行ったユーザが所属するグループを識別するグループ識別手段を有し、
前記サーバキャッシュ決定手段は、前記グループに所属するユーザを前記キャッシュ対象ユーザとして決定することを特徴とする付記１に記載の生体認証システム。
（付記４）
前記生体認証サーバは、前記クライアントにおける生体データのキャッシュ可否を示すキャッシュ可否属性情報を有し、
前記サーバキャッシュ決定手段は、前記キャッシュ可否属性情報を基に、前記クライアントのキャッシュ可否を判定し、前記クライアントがキャッシュ可能であると判定した場合に、前記キャッシュ対象ユーザを決定することを特徴とする付記１に記載の生体認証システム。
（付記５）
前記クライアントは、キャッシュ可否を示すキャッシュ可否通知を前記生体認証サーバに送信するキャッシュ可否通知手段を有し、
前記生体認証サーバキャッシュ決定手段は、前記キャッシュ可否通知を基に、前記キャッシュ可否属性情報を更新することを特徴とする付記４に記載の生体認証システム。
（付記６）
前記生体認証サーバは、当該生体認証サーバに対して認証要求を行ったクライアント数を基準時刻より計測する計測手段を有し、
前記サーバキャッシュ決定手段は、前記計測手段により計測された前記クライアント数が所定のクライアント数を超えたときに、前記キャッシュ対象ユーザを決定することを特徴とする付記１に記載の生体認証システム。
（付記７）
前記生体認証サーバは、所定のユーザの生体データがキャッシュされたクライアント数を管理するキャッシュ先クライアント数管理手段と、
前記所定のユーザの生体データがキャッシュされた複数のクライアントについて優先度を決定するキャッシュ先優先度決定手段と、を有し、
前記サーバキャッシュ決定手段は、前記所定のユーザより認証要求があった場合には、優先度が決定された前記複数のクライアントの中から、前記優先度に応じて、認証処理を行わせるクライアントを決定することを特徴とする付記１に記載の生体認証システム。
（付記８）
前記生体認証サーバは、前記クライアントにキャッシュされる生体データのユーザのグループを識別するグループ識別手段を有し、
前記サーバキャッシュ決定手段は、前記グループに所属するユーザを前記キャッシュ対象ユーザとして決定することを特徴とする付記１に記載の生体認証システム。
（付記９）
前記生体認証サーバは、生体データがキャッシュされるクライアントであるキャッシュ先クライアントのユーザのグループに対応して、前記キャッシュ対象ユーザのグループが規定されたグループ識別情報を有し、
前記サーバキャッシュ決定手段は、前記キャッシュ先クライアントのユーザより認証要求が行われると、前記グループ識別情報を基に、前記キャッシュ対象ユーザを決定することを特徴とする付記３に記載の生体認証システム。
（付記１０）
前記生体認証サーバは、
各ユーザの最終認証日時を管理する最終認証日時管理手段を有し、
前記サーバキャッシュ決定手段は、最終認証日時より一定時間以上経過したユーザを前記キャッシュ対象ユーザとして決定することを特徴とする付記１に記載の生体認証システム。
（付記１１）
前記生体認証サーバは、
各ユーザの認証時刻を管理する認証時刻管理手段と、
前記認証時刻を基に、各ユーザの認証要求が集中する時間帯を算出するユーザ時間帯算出手段と、を有し、
前記サーバキャッシュ決定手段は、認証要求が行われた場合において、当該認証要求が行われた時刻の一定時間経過後の時間帯において認証要求が集中するユーザを前記キャッシュ対象ユーザとして決定することを特徴とする付記１に記載の生体認証システム。
（付記１２）
前記生体認証サーバは、
各ユーザの認証成功率を管理する認証率管理手段を有し、
前記サーバキャッシュ決定手段は、前記認証成功率が所定の成功率よりも低いユーザを前記キャッシュ対象ユーザとして決定することを特徴とする付記１に記載の生体認証システム。
（付記１３）
前記生体認証サーバは、
各クライアント間のネットワーク距離を管理するネットワーク距離管理手段を有し、
前記サーバキャッシュ決定手段は、認証要求を行ったクライアントとのネットワーク距離が所定距離よりも小さいクライアントのユーザを前記キャッシュ対象ユーザとして決定することを特徴とする付記１に記載の生体認証システム。
（付記１４）
前記生体認証サーバは、
各ユーザの認証時刻を管理する認証時刻管理手段と、
前記認証時刻を基に、各ユーザの認証要求が集中する時間帯を算出するユーザ時間帯算出手段と、
同一時間帯に認証要求が集中するユーザを前記グループとしてまとめるグループ生成手段と、を有することを特徴とする付記３乃至８のいずれか一項に記載の生体認証システム。
（付記１５）
前記生体認証サーバは、
生体データがキャッシュされるキャッシュ先クライアントの稼働状況を監視する稼働状況監視手段を有し、
前記サーバキャッシュ決定手段は、前記キャッシュ先クライアントが利用不可となっていると前記稼働状況監視手段により判定された場合には、前記キャッシュ先クライアントにキャッシュされていた生体データに対応するユーザを前記キャッシュ対象ユーザとして決定することを特徴とする付記１乃至１４のいずれか一項に記載の生体認証システム。
（付記１６）
前記クライアントは、
生体データがキャッシュされたキャッシュ日時を管理するキャッシュ日時管理手段と、
前記キャッシュ日時から所定時間経過した場合に、更新要求を前記生体認証サーバに送信する更新要求手段と、を有し、
前記生体認証サーバは、
前記更新要求を基に、前記暗号化手段および前記識別子生成手段を用いて、前記クライアントにキャッシュされた生体データに対応するユーザの生体データを新たに暗号化するとともに、新たに識別子を生成して前記クライアントに送信する更新手段を備えることを特徴とする付記１乃至１４のいずれか一項に記載の生体認証システム。
（付記１７）
前記キャッシュ対象ユーザのクライアントおよび生体データがキャッシュされるキャッシュ先クライアントは、
キャッシュされた生体データの利用限度を示すキャッシュ利用限度を保持するキャッシュ利用限度保持手段を有し、
前記キャッシュ対象ユーザのクライアントは、キャッシュ先クライアントのアドレスを保持し、前記キャッシュ対象ユーザより認証要求があった場合には、キャッシュ利用限度の範囲内において、前記キャッシュ先クライアントに直接認証要求を行うことを特徴とする付記１乃至１４のいずれか一項に記載の生体認証システム。
（付記１８）
前記クライアントは、
前記キャッシュ対象ユーザの認証結果を前記生体認証サーバに通知する認証結果通知手段を有し、
前記生体認証サーバは、
前記識別子と前記キャッシュ対象ユーザとの対応を示す対応情報を有し、
前記サーバキャッシュ決定手段は、前記対応情報を基に、前記認証結果を前記キャッシュ対象ユーザと関連付けて記憶させることを特徴とする付記１乃至１７のいずれか一項に記載の生体認証システム。
（付記１９）
前記クライアントは、
キャッシュされた生体データの利用回数を管理するキャッシュ利用回数管理手段を有し、
前記キャッシュ利用回数管理手段は、キャッシュされた生体データの利用回数が利用可能回数を超えた場合には、キャッシュされた生体データを破棄することを特徴とする付記１乃至１７のいずれか一項に記載の生体認証システム。
（付記２０）
前記クライアントは、
キャッシュされた生体データの利用時間を管理するキャッシュ利用時間管理手段を有し、
前記キャッシュ利用時間管理手段は、生体データがキャッシュされたキャッシュ時刻から利用可能時間が経過した場合には、キャッシュされた生体データを破棄することを特徴とする付記１乃至１７のいずれか一項に記載の生体認証システム。
（付記２１）
複数の生体データを記憶する記憶部を有するとともに、複数のクライアントとネットワークを介して接続され、ユーザにより前記クライアントを介して認証要求が行われると、前記ユーザより採取された照合用生体データと前記生体データとの照合を行うことで認証処理を行う生体認証サーバであって、
前記認証要求を行ったユーザとは異なるユーザを前記キャッシュ対象ユーザとして決定するサーバキャッシュ決定手段と、
前記キャッシュ対象ユーザの識別子を生成する識別子生成手段と、
前記キャッシュ対象ユーザの生体データおよび前記識別子を前記クライアントに送信する送信手段と、
前記キャッシュ対象ユーザの生体データおよび前記識別子が利用可能であることを判定するキャッシュ利用可否判定手段と、を備えることを特徴とする生体認証サーバ。
（付記２２）
複数の生体データを記憶する記憶部を有するとともに、複数のクライアントとネットワークを介して接続され、ユーザにより前記クライアントを介して認証要求が行われると、前記ユーザより採取された照合用生体データと前記生体データとの照合を行うことで認証処理を行う生体認証サーバにおいて実行される生体認証方法であって、
前記認証要求を行ったユーザとは異なるユーザを前記キャッシュ対象ユーザとして決定するサーバキャッシュ決定工程と、
前記キャッシュ対象ユーザの識別子を生成する識別子生成工程と、
前記キャッシュ対象ユーザの生体データおよび前記識別子を前記クライアントに送信する送信工程と、
前記キャッシュ対象ユーザの生体データおよび前記識別子が利用可能であることを判定するキャッシュ利用可否判定工程と、を備えることを特徴とする生体認証方法。
（付記２３）
複数の生体データを記憶する記憶部を有するとともに、複数のクライアントとネットワークを介して接続され、ユーザにより前記クライアントを介して認証要求が行われると、前記ユーザより採取された照合用生体データと前記生体データとの照合を行うことで認証処理を行う生体認証サーバにおいて実行される生体認証プログラムであって、
前記認証要求を行ったユーザとは異なるユーザを前記キャッシュ対象ユーザとして決定するサーバキャッシュ決定手段、
前記キャッシュ対象ユーザの識別子を生成する識別子生成手段、
前記キャッシュ対象ユーザの生体データおよび前記識別子を前記クライアントに送信する送信手段、
前記キャッシュ対象ユーザの生体データおよび前記識別子が利用可能であることを判定するキャッシュ利用可否判定手段、として前記生体認証サーバを機能させることを特徴とする生体認証プログラム。
【符号の説明】
【０１５３】
１０ａ、１０ｂ  クライアント
１１ａ、１１ｂ  生体情報入力部
１２ａ、１２ｂ  センサ制御部
１３ａ、１３ａ  生体情報取得処理部
１４ａ、１４ｂ  キャッシュ制御処理部
１５ａ、１５ｂ  キャッシュデータ記憶部
１６ａ、１６ｂ  通信制御部
１７ａ、１７ｂ  照合処理部
５０  生体認証サーバ
５１  生体データ照合処理部
５２  運用監視処理部
５３  グループ制御処理部
５４  サーバキャッシュ制御処理部
５５  通信制御部
５６  登録データ入出力部
５７  登録データ記憶部
５８  ログデータ記憶部
【図１】
0005541039.tif 000002
【図２】
0005541039.tif 000003
【図３】
0005541039.tif 000004
【図４】
0005541039.tif 000005
【図５】
0005541039.tif 000006
【図６】
0005541039.tif 000007
【図７】
0005541039.tif 000008
【図８】
0005541039.tif 000009
【図９】
0005541039.tif 000010
【図１０】
0005541039.tif 000011
【図１１】
0005541039.tif 000012