(57)【要約】  指紋認証サーバ装置にて対象となる複数のユーザのユーザＩＤおよび登録指紋データをデータベースで集中管理し、指紋認証クライアント装置に一部のユーザのユーザＩＤおよび登録指紋データを保持する形態のシステムに使用される前記指紋認証サーバ装置であって、前記データベースで集中管理する前記ユーザＩＤおよび前記登録指紋データのハッシュ値をメモリ上のハッシュ値テーブルで管理する手段と、前記指紋認証クライアント装置から認証対象のユーザのユーザＩＤと当該ユーザＩＤに対応する登録指紋データのそれぞれのハッシュ値を受け付け、前記ハッシュ値テーブルを検索することで一致・不一致を判定し、判定結果を前記指紋認証クライアント装置に返答し、ハッシュ値が一致したユーザの指紋認証を前記指紋認証クライアント装置に行わせる手段とを備える。
2010116506.tif 000002
【特許請求の範囲】
【請求項１】
指紋認証サーバ装置にて対象となる複数のユーザのユーザＩＤおよび登録指紋データをデータベースで集中管理し、指紋認証クライアント装置に一部のユーザのユーザＩＤおよび登録指紋データを保持する形態のシステムに使用される前記指紋認証サーバ装置であって、
前記データベースで集中管理する前記ユーザＩＤおよび前記登録指紋データのハッシュ値をメモリ上のハッシュ値テーブルで管理する手段と、
前記指紋認証クライアント装置から認証対象のユーザのユーザＩＤと当該ユーザＩＤに対応する登録指紋データのそれぞれのハッシュ値を受け付け、前記ハッシュ値テーブルを検索することで一致・不一致を判定し、判定結果を前記指紋認証クライアント装置に返答し、ハッシュ値が一致したユーザの指紋認証を前記指紋認証クライアント装置に行わせる手段と
を備えたことを特徴とする指紋認証サーバ装置。
【請求項２】
請求項１に記載の指紋認証サーバ装置において、
前記ハッシュ値テーブルの検索を高速に行うためのインデックステーブル
を備えたことを特徴とする指紋認証サーバ装置。
【請求項３】
請求項１または２のいずれか一項に記載の指紋認証サーバ装置において、
前記指紋認証クライアント装置から、認証対象のユーザのユーザＩＤと、認証対象のユーザから取得した指紋画像に基づいて生成した照合指紋データとを受け付け、前記データベースを検索して照合を行い、照合結果を前記指紋認証クライアント装置に返答する手段
を備えたことを特徴とする指紋認証サーバ装置。
【請求項４】
請求項３に記載の指紋認証サーバ装置において、
照合結果が一致であった場合に、一致すると照合された登録指紋データを前記照合結果とともに前記指紋認証クライアント装置に返答し、前記指紋認証クライアント装置にユーザＩＤと対応付けて登録させる手段
を備えたことを特徴とする指紋認証サーバ装置。
【請求項５】
請求項１乃至４のいずれか一項に記載の指紋認証サーバ装置において、
前記データベースで集中管理する登録指紋データは、マニューシャ方式で照合する登録マニューシャデータとパターン方式で照合する登録パターンデータであり、
前記指紋認証クライアント装置で管理する登録指紋データは、マニューシャ方式で照合する登録マニューシャデータであることを特徴とする指紋認証サーバ装置。
【請求項６】
指紋認証サーバ装置にて対象となる複数のユーザのユーザＩＤおよび登録指紋データをデータベースで集中管理し、指紋認証クライアント装置に一部のユーザのユーザＩＤおよび登録指紋データを保持する形態のシステムに使用される前記指紋認証クライアント装置であって、
認証対象のユーザからユーザＩＤを入力する手段と、
認証対象のユーザから指紋画像を取得する手段と、
ユーザから入力されたユーザＩＤおよび当該ユーザＩＤに対応する内部管理の登録指紋データのそれぞれのハッシュ値を計算し、前記指紋認証サーバ装置に集中管理するユーザＩＤおよび登録指紋データとの一致確認の問い合わせを行う手段と、
問い合わせの結果が一致であった場合に、内部管理する登録指紋データに基づいて指紋認証を行う手段と
を備えたことを特徴とする指紋認証クライアント装置。
【請求項７】
請求項６に記載の指紋認証クライアント装置において、
ユーザから入力されたユーザＩＤが内部管理するデータに存在しない場合、認証対象のユーザのユーザＩＤと、認証対象のユーザから取得した指紋画像に基づいて生成した照合指紋データとを前記指紋認証サーバ装置に送信して指紋認証の要求を行う手段
を備えたことを特徴とする指紋認証クライアント装置。
【請求項８】
請求項７に記載の指紋認証クライアント装置において、
前記指紋認証サーバ装置から指紋認証の結果とともに送られた登録指紋データを、要求にかかるユーザＩＤと対応付けて内部管理するデータに追加登録する手段
を備えたことを特徴とする指紋認証クライアント装置。
【請求項９】
請求項６乃至８のいずれか一項に記載の指紋認証クライアント装置において、
前記指紋認証サーバ装置からの一致確認の問い合わせの結果が、ユーザＩＤのハッシュ値は一致するものの登録指紋データのハッシュ値が不一致である場合、認証対象のユーザのユーザＩＤと、認証対象のユーザから取得した指紋画像に基づいて生成した照合指紋データとを前記指紋認証サーバ装置に送信して指紋認証の要求を行う手段
を備えたことを特徴とする指紋認証クライアント装置。
【請求項１０】
請求項９に記載の指紋認証クライアント装置において、
前記指紋認証サーバ装置から指紋認証の結果とともに送られた登録指紋データを、要求にかかるユーザＩＤと対応付けて内部管理するデータに上書き登録する手段
を備えたことを特徴とする指紋認証クライアント装置。
【請求項１１】
請求項６乃至１０のいずれか一項に記載の指紋認証クライアント装置において、
内部管理する登録指紋データは、マニューシャ方式で照合する登録マニューシャデータであることを特徴とする指紋認証クライアント装置。
【請求項１２】
指紋認証サーバ装置にて対象となる複数のユーザのユーザＩＤおよび登録指紋データをデータベースで集中管理し、指紋認証クライアント装置に一部のユーザのユーザＩＤおよび登録指紋データを保持する形態のシステムの制御方法であって、
前記データベースで集中管理する前記ユーザＩＤおよび前記登録指紋データのハッシュ値をメモリ上のハッシュ値テーブルで管理する工程と、
前記指紋認証クライアント装置から認証対象のユーザのユーザＩＤと当該ユーザＩＤに対応する登録指紋データのそれぞれのハッシュ値を受け付け、前記ハッシュ値テーブルを検索することで一致・不一致を判定し、判定結果を前記指紋認証クライアント装置に返答し、ハッシュ値が一致したユーザの指紋認証を前記指紋認証クライアント装置に行わせる工程と
を備えたことを特徴とする指紋認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、生体情報のうち指紋により個人認証を行う技術に関する。
【背景技術】
【０００２】
現在、コンピュータへのログイン等に指紋認証を用いるシステムが急激に増加している。これは、指紋センサの大幅なコストダウンと、コンピュータの処理能力の著しい向上が寄与している。【０００３】
指紋認証を用いてコンピュータにログインする場合、そのシステム構成は大きく分けて２種類に分類される。１つは、スタンドアロン型で、もう一つはクライアントサーバ型である。【０００４】
スタンドアロン型は、ログインしたいコンピュータが、指紋センサ、指紋認証プログラムおよび登録指紋データのすべてを具備する。ユーザがログインする場合、指紋センサから取り込まれた指紋画像は、そのコンピュータ内で処理されて照合指紋データとなり、指紋認証プログラムを用いて登録指紋データと比較される。そして、一致すると判定された場合にログインが行われる。【０００５】
このスタンドアロン型は、構成が簡単で、主に個人使用のコンピュータや携帯電話等に用いられる。【０００６】
クライアントサーバ型は、ログインを行いたいコンピュータ（以下、クライアントコンピュータと称す）と、認証を行う認証サーバの２つのコンピュータで構成される（例えば、特許文献１参照。）。クライアントコンピュータは、通常、指紋認証のための構成要素として、指紋センサと指紋認証プログラムの一部、指紋画像から照合指紋データを生成する指紋データ生成プログラムのみを有する。認証サーバは、指紋の一致・不一致を判定する指紋認証プログラムと、複数人のユーザデータ、すなわちユーザＩＤとそのユーザの登録指紋データを有する。【０００７】
クライアントコンピュータにログインする場合は、指紋センサから指紋画像を取り込み、指紋データ生成プログラムを用いて照合指紋データを生成する。クライアントコンピュータは、ユーザＩＤと、そのユーザの照合指紋データを認証サーバに送る。認証サーバでは、受け取ったユーザＩＤから、対応する登録指紋データを検索・確保し、指紋認証プログラムを用いて照合指紋データと比較する。その結果をクライアントコンピュータに返し、クライアントコンピュータは、一致の結果を受け取った場合に、ログインを実行する。【０００８】
このクライアントサーバ型は、主に企業が導入しているコンピュータや、指紋を用いた入退出システム等で用いられる。構成は複雑であるが、認証サーバにユーザデータ（ユーザＩＤ、登録指紋データ）を登録しておけば、どのクライアントコンピュータにもログインできるという利便性がある。また、退社した等の理由で、あるユーザのログインを停止したい場合は、認証サーバのユーザデータを消すだけでよいので、一括集中管理がしやすいという利点がある。企業においては、この集中管理機能は必須であり、企業において指紋認証が導入される場合、ほとんどがこの形態で導入される。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０００−２７６４４５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上述したクライアントサーバ型は、導入された企業等の指紋認証を一手に引き受ける。一般的な企業では、始業時間、昼休み、終業時間が決められており、社員は始業時間に合わせて出社する。昨今、企業の仕事はコンピュータシステムに大きく依存しており、社内の通達も電子メール等を使うことが多い。そのため、出社した社員は、とりあえずクライアントコンピュータにログインし、電子メールを確認するという行動をとる。そのため、始業時間直後に、社員のほとんどがクライアントコンピュータへのログインを行うため、認証サーバに多大な負荷がかかる。この負荷の原因は、
（１）クライアントコンピュータと認証サーバの暗号通信回線の開設（クライアントサーバ型の指紋認証においては、クライアントコンピュータと認証サーバの間の通信を暗号化するのはほぼ必須）
（２）認証サーバでのデータベースを用いたユーザデータの検索・取得
（３）認証サーバでの指紋照合処理
である。【００１１】
しかし、負荷がかかっても、社内の通達等はできるだけ早く社員に伝える必要がある。時間をずらしてログインしてくださいといった運用は不可であり、認証サーバは、この負荷に耐えられるだけの性能を持っていなくてはならない。朝のピークを過ぎると、認証要求はあまり来なくなり、認証サーバはほとんどアイドル状態になる。設備投資の観点からは非効率であるが、ピークに合わせて設備を増強せざるをえず、ハードウェアのコストが高くなる問題がある。【００１２】
このように、従来のクライアントサーバ型による指紋認証では、認証サーバの応答性能について問題があった。【００１３】
上記の従来の問題点に鑑み、クライアントサーバ型の指紋認証において、負荷をクライアントに分散し、ピーク時でもサーバに負荷がかからず高速な指紋認証を行うことができる指紋認証サーバ装置、指紋認証クライアント装置および指紋認証方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
一実施態様では、指紋認証サーバ装置にて対象となる複数のユーザのユーザＩＤおよび登録指紋データをデータベースで集中管理し、指紋認証クライアント装置に一部のユーザのユーザＩＤおよび登録指紋データを保持する形態のシステムに使用される前記指紋認証サーバ装置であって、前記データベースで集中管理する前記ユーザＩＤおよび前記登録指紋データのハッシュ値をメモリ上のハッシュ値テーブルで管理する手段と、前記指紋認証クライアント装置から認証対象のユーザのユーザＩＤと当該ユーザＩＤに対応する登録指紋データのそれぞれのハッシュ値を受け付け、前記ハッシュ値テーブルを検索することで一致・不一致を判定し、判定結果を前記指紋認証クライアント装置に返答し、ハッシュ値が一致したユーザの指紋認証を前記指紋認証クライアント装置に行わせる手段とを備える。
【発明の効果】
【００１５】
開示の指紋認証サーバ装置、指紋認証クライアント装置および指紋認証方法にあっては、クライアントサーバ型の指紋認証において、負荷をクライアントに分散し、ピーク時でもサーバに負荷がかからず高速な指紋認証を行うことができる。
【図面の簡単な説明】
【００１６】
【図１】第１の実施形態にかかるシステムの構成例を示す図である。
【図２】指紋認証サーバの構成例を示す図である。
【図３】ユーザデータデータベースのデータ構造例を示す図である。
【図４】ハッシュ値テーブルのデータ構造例を示す図である。
【図５】インデックステーブルのデータ構造例を示す図である。
【図６】クライアントコンピュータの構成例を示す図である。
【図７】ハッシュ値テーブルおよびインデックステーブルの作成の処理例を示すフローチャートである。
【図８Ａ】クライアントコンピュータの指紋認証時における処理例を示すフローチャート（その１）である。
【図８Ｂ】クライアントコンピュータの指紋認証時における処理例を示すフローチャート（その２）である。
【図８Ｃ】クライアントコンピュータの指紋認証時における処理例を示すフローチャート（その３）である。
【図８Ｄ】クライアントコンピュータの指紋認証時における処理例を示すフローチャート（その４）である。
【図８Ｅ】クライアントコンピュータの指紋認証時における処理例を示すフローチャート（その５）である。
【図８Ｆ】クライアントコンピュータの指紋認証時における処理例を示すフローチャート（その６）である。
【図９Ａ】指紋認証サーバの指紋認証時における処理例を示すフローチャート（その１）である。
【図９Ｂ】指紋認証サーバの指紋認証時における処理例を示すフローチャート（その２）である。
【図９Ｃ】指紋認証サーバの指紋認証時における処理例を示すフローチャート（その３）である。
【図９Ｄ】指紋認証サーバの指紋認証時における処理例を示すフローチャート（その４）である。
【図９Ｅ】指紋認証サーバの指紋認証時における処理例を示すフローチャート（その５）である。
【図９Ｆ】指紋認証サーバの指紋認証時における処理例を示すフローチャート（その６）である。
【図１０】第２の実施形態におけるハッシュ値テーブルのデータ構造例を示す図である。
【図１１】第２の実施形態におけるハッシュ値テーブルおよびインデックステーブルの作成の処理例を示すフローチャートである。
【図１２】第２の実施形態におけるクライアントコンピュータの指紋認証時の処理例を示すフローチャートである。
【図１３】第２の実施形態における指紋認証サーバの指紋認証時の処理例を示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明の好適な実施形態につき説明する。
【００１８】
＜第１の実施形態＞
図１は第１の実施形態にかかるシステムの構成例を示す図である。
【００１９】
図１において、指紋認証サーバ１にはイーサネット（登録商標）等のネットワーク３を介して複数のクライアントコンピュータ２が接続されている。
【００２０】
図２は指紋認証サーバ１の構成例を示す図である。
【００２１】
図２において、指紋認証サーバ１は、ＣＰＵ（Central Processing Unit）等の演算装置１１と、メモリ等の主記憶装置１２と、ハードディスク等の補助記憶装置１３と、イーサネットアダプタ等の通信装置１４とを有している。
【００２２】
演算装置１１は、各種の演算やデータのコピー等の主たる処理を行う機能を有している。
【００２３】
主記憶装置１２は、比較的小容量（例えば、１ＧＢ〜十数ＧＢ）であるが、演算装置１１から高速にアクセス可能な記憶媒体である。主記憶装置１２には、指紋認証サーバ１内で作成されるハッシュ値テーブル１２１とインデックステーブル１２２が格納される。これらのテーブルを設けるのは、クライアントコンピュータ２からユーザデータの同期確認のためにユーザＩＤと登録指紋データのそれぞれのハッシュ値を送信させ、データベースアクセスなしに、これらのテーブルで一致・不一致を高速に確認するためである。ハッシュ値テーブル１２１とインデックステーブル１２２の詳細については後述する。
【００２４】
補助記憶装置１３は、大容量（例えば、数百ＧＢ〜数ＴＢ）ながら、アクセス速度の遅い記憶媒体である。補助記憶装置１３には、データベースプログラム１３１と暗号通信プログラム１３２と指紋認証プログラム１３３とユーザデータデータベース１３４とが格納される。データベースプログラム１３１と暗号通信プログラム１３２と指紋認証プログラム１３３は、使用時に主記憶装置１２にコピーされて実行される。
【００２５】
データベースプログラム１３１は、データベースを操作する機能を有している。暗号通信プログラム１３２は、他のコンピュータと通信回線を通じて暗号通信回線を構築する機能を有している。指紋認証プログラム１３３は、照合指紋データと登録指紋データを用いて、両者が同じ指から生成されたデータか否か判別する機能を有している。ユーザデータデータベース１３４は、認証の対象となるユーザのユーザＩＤとそのユーザの登録指紋データを対にしたユーザデータを複数人数分について記憶している。
【００２６】
通信装置１４は、インターネット、イントラネット等に接続して通信を行う機能を有している。
【００２７】
図３はユーザデータデータベース１３４のデータ構造例を示す図であり、「ユーザＩＤ」と「登録指紋データ」の項目を有している。「ユーザＩＤ」は、ユーザを特定する識別子である。「登録指紋データ」は、予めユーザから採取した指紋画像の特徴を記したデータである。
【００２８】
図４はハッシュ値テーブル１２１のデータ構造例を示す図であり、「順番」と「ユーザＩＤハッシュ値」と「登録指紋データハッシュ値」の項目を有している。「順番」は、ハッシュ値テーブル１２１内のレコードの順番を示す値である。なお、ハッシュ値テーブル１２１の作成については後述するが、ハッシュ値テーブル１２１内のレコードはユーザＩＤハッシュ値によってソートされている。ソートを行うのは、ハッシュ値テーブル１２１を検索しやすいようにするためである。
【００２９】
「ユーザＩＤハッシュ値」は、ユーザデータデータベース１３４のユーザＩＤに対応するハッシュ値である。ハッシュ値とはデータに対して１方向（不可逆）的な処理を行った値であり、ハッシュ処理とはこの処理を行う行為である。不可逆的な一方向処理で、かつ、元のデータよりもデータ量が少ないという特性がある。このため、元のデータを類推しにくいという利点がある。ハッシュ値を生成するハッシュ法（ハッシュ関数）としては、ＭＤ５、ＳＨＡ−１、ＳＨＡ−２、ＳＨＡ−２２４、ＳＨＡ−２５６、ＳＨＡ−３８４、ＳＨＡ−５１２等が一般的に知られている。また、他に剰余系を用いた処理や一方向性の関数を用いてもよい。図示の例は、ＳＨＡ−２を用いたものである。
【００３０】
「登録指紋データハッシュ値」は、ユーザデータデータベース１３４の登録指紋データから、同じくＳＨＡ−２等のハッシュ法により算出した値である。このユーザＩＤハッシュ値と登録指紋データハッシュ値の対を、ユーザデータハッシュ値対と称する。このユーザデータハッシュ値対の集まりがハッシュ値テーブル１２１である。
【００３１】
ハッシュ値の容量は、一般的なハッシュ法であるＳＨＡ−２を用いると、ユーザＩＤハッシュ値に３２バイト、登録指紋データハッシュ値に３２バイトの合計６４バイトとなる。この小さな容量ならば、例え１００万人が使用する超大規模認証サーバでも、６４ＭＢである。昨今、ＤＲＡＭメモリが１ＧＢあたり数千円で販売され、一般に販売されるサーバが数ＧＢから十数ＧＢのメモリを搭載していることを考慮すると、全てをメモリ上に格納するのに何ら問題ない。
【００３２】
図５はインデックステーブル１２２のデータ構造例を示す図であり、「先頭数値」と「ハッシュ値番号」の項目を有している。「先頭数値」は、ユーザＩＤハッシュ値の先頭の所定数のバイトにつき値を「０」から１ずつ増大させたものである。図示の例では、ユーザＩＤハッシュ値を３２ビット（４バイト）として、先頭２バイトの値を「００００」から「０００１」「０００２」・・というように１ずつ増加させている。「ハッシュ値番号」は、先頭数値が一致するユーザＩＤハッシュ値のハッシュ値テーブル１２１上の先頭のレコードの順番の値である。このインデックステーブル１２２は、ハッシュ値番号を４バイトとすると、２６２ＫＢとなり、全てをメモリ上に格納するのに何ら問題ない。
【００３３】
図６はクライアントコンピュータ２の構成例を示す図である。
【００３４】
図６において、クライアントコンピュータ２は、ＣＰＵ等の演算装置２１と、メモリ等の主記憶装置２２と、ハードディスク等の補助記憶装置２３と、イーサネットアダプタ等の通信装置２４と、モニタ、キーボード等の入出力装置２５と、指紋センサ２６とを有している。
【００３５】
演算装置２１は、各種の演算やデータのコピー等の主たる処理を行う機能を有している。
【００３６】
主記憶装置２２は、比較的小容量（例えば、１ＧＢ〜数ＧＢ）であるが、演算装置２１から高速にアクセス可能な記憶媒体である。
【００３７】
補助記憶装置２３は、大容量（例えば、数十ＧＢ〜数百ＧＢ）ながら、アクセス速度の遅い記憶媒体である。補助記憶装置２３には、暗号通信プログラム２３１と指紋データ生成プログラム２３２と指紋認証プログラム２３３とユーザデータ２３４とが格納される。暗号通信プログラム２３１と指紋データ生成プログラム２３２と指紋認証プログラム２３３は、使用時に主記憶装置２２にコピーされて実行される。
【００３８】
暗号通信プログラム２３１は、他のコンピュータと通信回線を通じて暗号通信回線を構築する機能を有している。指紋データ生成プログラム２３２は、指紋画像から照合指紋データおよび登録指紋データを生成する機能を有している。指紋認証プログラム２３３は、照合指紋データと登録指紋データを用いて、両者が同じ指から生成されたデータか否か判別する機能を有している。
【００３９】
ユーザデータ２３４は、このクライアントコンピュータ２をよく使用するユーザのユーザＩＤと登録指紋データを対にしたユーザデータを記憶している。ユーザデータ２３４へのユーザデータの記録は、ユーザにクライアントコンピュータ２を配布する際などに行うのが望ましい。ユーザデータ２３４のデータ構造は、図３に示した指紋認証サーバ１のユーザデータデータベース１３４と同様である。
【００４０】
通信装置２４は、インターネット、イントラネット等に接続して通信を行う機能を有している。
【００４１】
入出力装置２５は、ユーザに対して画面表示を行うとともに、ユーザ操作により文字等の入力を行う機能を有している。
【００４２】
指紋センサ２６は、ユーザの指から指紋を画像として取り込む機能を有している。
【００４３】
以下、上記の第１の実施形態についての動作を説明する。
【００４４】
図７は指紋認証サーバ１におけるハッシュ値テーブル１２１およびインデックステーブル１２２の作成の処理例を示すフローチャートである。なお、ハッシュ値テーブル１２１およびインデックステーブル１２２の作成は、ユーザデータデータベース１３４が作成された後に行う。そのため、ユーザデータデータベース１３４へのユーザデータの登録を完了し、運用を開始する直前に行う。また、ユーザデータを追加、削除する場合も、再作成する必要がある。よって、ユーザデータの登録・削除は、指紋認証サーバ１に負荷がかかってない、ピーク時間をずらして作成することが望ましい。
【００４５】
図７において、指紋認証サーバ１の演算装置１１は、処理を開始すると（ステップＳ１０１）、データベースプログラム１３１を用いて、ユーザデータデータベース１３４から、ユーザＩＤと登録指紋データの対からなるユーザデータを１つ取り出す（ステップＳ１０２）。
【００４６】
次いで、演算装置１１は、取り出したユーザＩＤと登録指紋データのハッシュ値を、ＳＨＡ−２等のハッシュ法によりそれぞれ計算する（ステップＳ１０３）。
【００４７】
次いで、演算装置１１は、計算したユーザＩＤのハッシュ値をユーザＩＤハッシュ値として、登録指紋データのハッシュ値を登録指紋データハッシュ値として、ハッシュ値テーブル１２１に格納する（ステップＳ１０４）。
【００４８】
次いで、演算装置１１は、全てのユーザデータを処理したか否か判断し（ステップＳ１０５）、全てのユーザデータを処理していない場合（ステップＳ１０５のＮｏ）はユーザデータの取り出し（ステップＳ１０２）に戻る。
【００４９】
全てのユーザデータを処理した場合（ステップＳ１０５のＹｅｓ）、演算装置１１は、ハッシュ値テーブル１２１を、ユーザＩＤハッシュ値の大きさで昇順にソートする（ステップＳ１０６）。
【００５０】
次いで、演算装置１１は、ハッシュ値テーブル１２１のユーザＩＤハッシュ値の先頭の所定バイト（例えば、２バイト）に着目し、ハッシュ値テーブル１２１を先頭から検索して、その値（先頭数値）が１増えるごとに最初に見つかったレコードの順番を取得して記録する（ステップＳ１０７）。先頭の２バイトに着目した場合、先頭数値を「００００」から順に「ＦＦＦＦ」まで処理することになる。
【００５１】
次いで、演算装置１１は、取得したレコードの順番の値を、先頭数値と対応付けてインデックステーブル１２２に格納し（ステップＳ１０８）、処理を終了する（ステップＳ１０９）。
【００５２】
なお、ハッシュ値テーブル１２１を昇順にソートし（ステップＳ１０６）、ユーザＩＤハッシュ値の先頭の所定バイトの値が１増える最初のレコードの順番を取得（ステップＳ１０７）したが、反対に、ハッシュ値テーブル１２１を降順にソートし、ユーザＩＤハッシュ値の先頭の所定バイトの値が最大値から１減る最初のレコードの順番を取得するようにしてもよい。これは、後の運用時にインデックステーブル１２２をユーザＩＤハッシュ値の小さい方から検索するか、大きい方から検索するかに対応する。
【００５３】
このようにして作成されたハッシュ値テーブル１２１とインデックステーブル１２２によって、例えば１００万人の超大規模運用でも、最大で、初めに２バイトの比較を６５５３６回、次に３２バイトの比較を１６回行うことによって、ユーザデータハッシュ値対を探し当てることができる。ハッシュ値テーブル１２１とインデックステーブル１２２は、ともにメモリに格納してあるため、上記の検索処理はデータベースを用いたユーザデータ検索と比較して、非常に高速に行うことができる。なお、運用が開始されて、ユーザの追加、削除、更新等が行われると、ハッシュ値テーブル１２１とインデックステーブル１２２を再構築しなくてはならないが、前述のとおり、指紋認証サーバ１は、ピーク時の短い時間を除けばほぼアイドル状態なので、その時に行えばよい。
【００５４】
次に、運用を開始した後のクライアントコンピュータ２と指紋認証サーバ１の間の指紋認証の処理について、図１、図２および図６等に基づいて説明する。なお、クライアントコンピュータ２と指紋認証サーバ１の個々の処理については後述することとし、先ず、両者の横断的な処理について説明する。また、クライアントコンピュータ２におけるログインに指紋認証を適用した場合を例として説明するが、指紋認証の結果を何に利用するかは問わない。例えば、クライアントコンピュータ２を施設の出入口等に設けたコンピュータとし、認証結果により入退出管理を行うようにすることができる。
【００５５】
先ず、ユーザがクライアントコンピュータ２に入出力装置２５からユーザＩＤを入力し、指紋センサ２６に指を置いて、指紋画像をクライアントコンピュータ２に入力する。クライアントコンピュータ２は、この入力されたユーザＩＤと、補助記憶装置２３に記憶されているユーザデータ２３４のユーザＩＤとを比較する。通常は、これは一致する。たまに、クライアントコンピュータ２のメンテナンス等により別のユーザがログインしようとした場合に一致しないことになるが、その場合については、後述する。先ずは、一致した場合について述べる。
【００５６】
ユーザＩＤが一致したら、補助記憶装置２３のユーザデータ２３４のユーザＩＤハッシュ値と登録指紋データハッシュ値を計算する。昨今のクライアントコンピュータ２は、一般的なサーバに匹敵するほどの処理能力を持っているのが普通なので、この処理は瞬時に完了する。ハッシュ値の計算を終えたら、指紋認証サーバ１に向けて、暗号通信回線を開設する。そして、ユーザＩＤハッシュ値と、登録指紋データハッシュ値を通信装置２４により送信する。
【００５７】
指紋認証サーバ１では、送られて来たユーザＩＤハッシュ値を用いて、インデックステーブル１２２とハッシュ値テーブル１２１に対して検索を行う。検索を終えたら、登録指紋データハッシュ値の比較を行う。この処理の結果は、以下の３つになる。
（１）一致するユーザＩＤハッシュ値が見つかり、登録指紋データハッシュ値が一致する（通常）。
（２）一致するユーザＩＤハッシュ値が見つかったが、登録指紋データハッシュ値は一致しない。
（３）一致するユーザＩＤハッシュ値が見つからない。
【００５８】
指紋認証サーバ１は、処理結果をクライアントコンピュータ２に送信する。
【００５９】
クライアントコンピュータ２は、処理結果に従って、処理を分岐する。以下には、処理結果（１）の処理を記述し、残りは後述する。
【００６０】
通常は処理結果（１）となる。この場合、クライアントコンピュータ２は、指紋画像から照合指紋データを生成し、この照合指紋データと補助記憶装置２３のユーザデータ２３４の登録指紋データを用いて、指紋の照合を行う。照合結果が一致なら、暗号通信回線を閉じ、ログイン処理を開始する。一致しないのならば、ユーザＩＤと指紋画像の取得処理に戻る。
【００６１】
次に、入力されたユーザＩＤと、補助記憶装置２３のユーザデータ２３４のユーザＩＤが一致しなかった場合を説明する。この場合は、初めに、入力された指紋画像から照合指紋データを生成する。次に、指紋認証サーバ１との間に暗号通信回線を開設し、ユーザＩＤと照合指紋データを送る。
【００６２】
指紋認証サーバ１では、送られてきたユーザＩＤと照合指紋データを元に、ユーザデータデータベース１３４を検索し、照合処理を行う。一致した場合は、一致したという結果とともに、登録指紋データをクライアントコンピュータ２に送り返す。不一致ならば、不一致という結果のみを送り返す。
【００６３】
処理結果を受けたクライアントコンピュータ２は、一致ならば、ユーザＩＤと送られてきた登録指紋データを補助記憶装置２３のユーザデータ２３４に書き加える。これで、次回から、このユーザもクライアントコンピュータ２で照合処理ができるようになる。そして、暗号通信回線を閉じ、ログイン動作に入る。不一致ならば、ユーザＩＤと指紋画像の取得処理に戻る。
【００６４】
次に、クライアントコンピュータ２が指紋認証サーバ１にハッシュ値を送った際、処理結果（２）が帰ってきた場合の処理を述べる。この処理結果を受けたクライアントコンピュータ２は、先ず、入力された指紋画像から照合指紋データを生成する。次に、ユーザＩＤと照合指紋データを指紋認証サーバ１に送る。
【００６５】
指紋認証サーバ１では、送られてきたユーザＩＤと照合指紋データを元に、ユーザデータデータベース１３４を検索し、照合処理を行う。一致した場合は、一致したという結果とともに、登録指紋データをクライアントコンピュータ２に送り返す。不一致ならば、不一致という結果のみを送り返す。
【００６６】
処理結果を受けたクライアントコンピュータ２は、一致ならば、送られてきた登録指紋データを、ユーザデータ２３４における現在の登録指紋データに上書きする。これで、次回からは、このユーザも、いつもどおりクライアントコンピュータ２で照合処理ができるようになる。そして、暗号通信回線を閉じ、ログイン動作に入る。不一致ならば、ユーザＩＤと指紋画像の取得処理に戻る。
【００６７】
最後に、クライアントコンピュータ２が指紋認証サーバ１にハッシュ値を送った際、処理結果（３）が帰ってきた場合の処理を述べる。この場合、ログインする資格がないので、照合失敗とみなし、ユーザＩＤと指紋画像の取得処理に戻る。
【００６８】
以下、クライアントコンピュータ２と指紋認証サーバ１の個々の処理についてフローチャートに基づいて説明する。
【００６９】
図８Ａ〜図８Ｆはクライアントコンピュータ２の指紋認証時における処理例を示すフローチャートである。
【００７０】
図８Ａにおいて、クライアントコンピュータ２の演算装置２１は、処理を開始すると（ステップＳ２０１）、入出力装置２５のモニタ画面に表示されるログインダイアログのユーザＩＤ欄にユーザＩＤが入力されたら、そのユーザＩＤを取得する（ステップＳ２０２）。
【００７１】
次いで、演算装置２１は、指紋センサ２６を監視し、ユーザの指が置かれたと感知したら、その時の指の指紋の状態を画像として取り込む（ステップＳ２０３）。
【００７２】
次いで、演算装置２１は、ログインダイアログのユーザＩＤ欄から取り込んだユーザＩＤと、補助記憶装置２３に格納されているユーザデータ２３４のユーザＩＤとを比較する（ステップＳ２０４）。ユーザデータ２３４に複数のユーザデータが記憶されている場合は、全てのユーザデータと比較する。
【００７３】
ユーザデータ２３４のユーザＩＤに一致するものがある場合（ステップＳ２０４のＹｅｓ）、演算装置２１は、そのユーザＩＤのハッシュ値（ユーザＩＤハッシュ値）と、そのユーザＩＤと対となっている登録指紋データのハッシュ値（登録指紋データハッシュ値）を計算する（ステップＳ２０５）。
【００７４】
次いで、演算装置２１は、暗号通信プログラム２３１を用いて、指紋認証サーバ１との暗号通信回線を開設する（ステップＳ２０６）。
【００７５】
次いで、演算装置２１は、計算した２つのハッシュ値を通信装置１４により指紋認証サーバ１に送信し、その処理結果が返ってくるまで待ち状態に入る（ステップＳ２０７）。
【００７６】
指紋認証サーバ１の処理は後述するため、以下、処理結果が帰ってきた所からの説明を行う。
【００７７】
演算装置２１は、指紋認証サーバ１からの処理結果について判断し（ステップＳ２０８）、一致するユーザＩＤハッシュ値が見つからないという内容でなかった場合（ステップＳ２０８のＮｏ、Ｐ１）、図８Ｂの処理に移行する。
【００７８】
図８Ｂにおいて、演算装置２１は、更に指紋認証サーバ１からの処理結果について判断する（ステップＳ２０９）。
【００７９】
そして、一致するユーザＩＤハッシュ値は見つかったが、登録指紋データハッシュ値は一致しなかったという内容でなかった場合（ステップＳ２０９のＮｏ）、演算装置２１は、既にユーザから取得してある指紋画像から、指紋データ生成プログラム２３２を用いて、照合指紋データを生成する（ステップＳ２１０）。
【００８０】
次いで、演算装置２１は、既に確保した登録指紋データと生成した照合指紋データを用いて、指紋認証プログラム２３３により、２つのデータが同じ指から生成されたか否か比較・判定を行う（ステップＳ２１１、Ｓ２１２）。
【００８１】
比較・判定の結果、同じ指と判断された場合（ステップＳ２１２のＹｅｓ）、演算装置２１は、暗号通信プログラム２３１により指紋認証サーバ１との暗号通信回線を閉じる（ステップＳ２１３）。そして、一致したユーザのログイン処理を開始し（ステップＳ２１４）、処理を完了する（ステップＳ２１５）。
【００８２】
一方、ユーザデータ２３４のユーザＩＤに一致するものがなかった場合（図８ＡのステップＳ２０４のＮｏ、Ｐ２）、すなわち、クライアントコンピュータ２のユーザデータ２３４に該当するユーザデータが保持されていなかった場合は、図８Ｃの処理に移行する。
【００８３】
図８Ｃにおいて、演算装置２１は、暗号通信プログラム２３１を用いて、指紋認証サーバ１との暗号通信回線を開設する（ステップＳ２１６）。
【００８４】
次いで、演算装置２１は、既にユーザから取得してある指紋画像から、指紋データ生成プログラム２３２を用いて、照合指紋データを生成する（ステップＳ２１７）。
【００８５】
次いで、演算装置２１は、既に取得したユーザＩＤと生成した照合指紋データを、通信装置１４により指紋認証サーバ１に送信し、その処理結果が返ってくるまで待ち状態に入る（ステップＳ２１８）。
【００８６】
指紋認証サーバ１の処理は後述するため、以下、処理結果が帰ってきた所からの説明を行う。
【００８７】
演算装置２１は、指紋認証サーバ１からの処理結果について判断し（ステップＳ２１９）、認証失敗という内容でなかった場合（ステップＳ２１９のＮｏ）、指紋認証サーバ１から認証成功とともに送られてきた登録指紋データを、今回認証が成功したユーザＩＤと対にしてユーザデータ２３４に追加する（ステップＳ２２０）。
【００８８】
そして、演算装置２１は、暗号通信プログラム２３１により指紋認証サーバ１との暗号通信回線を閉じ（ステップＳ２２１）、一致したユーザのログイン処理を開始し（ステップＳ２２２）、処理を完了する（ステップＳ２２３）。
【００８９】
一方、指紋認証サーバ１からの処理結果が、一致するユーザＩＤハッシュ値が見つからないという内容であった場合（図８ＡのステップＳ２０８のＹｅｓ、Ｐ３）、図８Ｄの処理に移行する。
【００９０】
図８Ｄにおいて、演算装置２１は、今回使用したユーザＩＤと、これと対となる登録指紋データを、ユーザデータ２３４より削除する（ステップＳ２２４）。指紋認証サーバ１に存在しないということは、そのユーザが指紋認証サーバ１から削除されたことを意味するからである。
【００９１】
そして、図８Ｆの処理に移行し、「指紋が一致しませんでした」等の表示を所定時間（例えば１〜２秒）表示し（ステップＳ２３２）、ユーザＩＤの取得（図８ＡのステップＳ０２、Ｐ６）に戻る。
【００９２】
一方、指紋認証サーバ１からの処理結果が、一致するユーザＩＤハッシュ値は見つかったが、登録指紋データハッシュ値は一致しなかったという内容であった場合（図８ＢのステップＳ２０９のＹｅｓ、Ｐ４）（この場合、指紋認証サーバ１の登録指紋データが更新されていると判断できる。）、図８Ｅの処理に移行する。
【００９３】
図８Ｅにおいて、演算装置２１は、既にユーザから取得してある指紋画像から、指紋データ生成プログラム２３２を用いて、照合指紋データを生成する（ステップＳ２２５）。
【００９４】
次いで、演算装置２１は、既に開設されている暗号通信回線により、指紋認証サーバ１にユーザＩＤと照合指紋データを送信し、その処理結果が返ってくるまで待ち状態に入る（ステップＳ２２６）。
【００９５】
指紋認証サーバ１の処理は後述するため、以下、処理結果が帰ってきた所からの説明を行う。
【００９６】
演算装置２１は、指紋認証サーバ１からの処理結果について判断し（ステップＳ２２７）、認証失敗という内容でなかった場合（ステップＳ２２７のＮｏ）、指紋認証サーバ１から認証成功とともに送られてきた登録指紋データを、今回認証が成功したユーザＩＤの対のデータとしてユーザデータ２３４の今ある古い登録指紋データに上書きする（ステップＳ２２８）。
【００９７】
そして、演算装置２１は、暗号通信プログラム２３１により指紋認証サーバ１との暗号通信回線を閉じ（ステップＳ２２９）、一致したユーザのログイン処理を開始し（ステップＳ２３０）、処理を完了する（ステップＳ２３１）。
【００９８】
一方、指紋認証サーバ１からの処理結果が、認証失敗という内容であった場合（図８ＣのステップＳ２１９のＹｅｓ、Ｐ５）（図８ＥのステップＳ２２７のＹｅｓ、Ｐ５）は、前述したのと同様に、図８Ｆの処理に移行する。そして、「指紋が一致しませんでした」等の表示を所定時間（例えば１〜２秒）表示し（ステップＳ２３２）、ユーザＩＤの取得（図８ＡのステップＳ０２、Ｐ６）に戻る。
【００９９】
図９Ａ〜図９Ｆは指紋認証サーバ１の指紋認証時における処理例を示すフローチャートである。
【０１００】
図９Ａにおいて、指紋認証サーバ１の演算装置１１は、処理を開始すると（ステップＳ１１１）、所定のポートにて、クライアントコンピュータ２からの接続処理を待つ（ステップＳ１１２、Ｓ１１３）。
【０１０１】
そして、クライアントコンピュータ２からの接続要求が来た場合（ステップＳ１１３のＹｅｓ）、演算装置１１は、クライアントコンピュータ２からのデータがユーザＩＤハッシュ値と登録指紋データハッシュ値であるか判断する（ステップＳ１１４）。クライアントコンピュータ２からのデータは、ユーザＩＤハッシュ値と登録指紋データハッシュ値の対か、ユーザＩＤと照合指紋データの対のいずれかである。
【０１０２】
クライアントコンピュータ２からのデータがユーザＩＤハッシュ値と登録指紋データハッシュ値である場合（ステップＳ１１４のＹｅｓ）、演算装置１１は、ユーザＩＤハッシュ値によりインデックステーブル１２２とハッシュ値テーブル１２１を検索する（ステップＳ１１５）。
【０１０３】
次いで、演算装置１１は、ハッシュ値テーブル１２１に一致する値があったか判断し（ステップＳ１１６）、一致する値があった場合（ステップＳ１１６のＹｅｓ）、一致したユーザＩＤハッシュ値と対になっている登録指紋データハッシュ値と、送られてきた登録指紋データハッシュ値とを比較する（ステップＳ１１７、Ｓ１１８）。
【０１０４】
次いで、両ハッシュ値が一致した場合（ステップＳ１１８のＹｅｓ、Ｐ１２）、図９Ｂの処理に移行する。
【０１０５】
図９Ｂにおいて、演算装置１１は、クライアントコンピュータ２に、ユーザＩＤハッシュ値と登録指紋データハッシュ値の両方が一致したと返答し（ステップＳ１１９）、クライアントコンピュータ２からの接続の待機（図９ＡのステップＳ１１２、Ｐ１１）に戻る。
【０１０６】
一方、ハッシュ値テーブル１２１から取得した登録指紋データハッシュ値と送られてきた登録指紋データハッシュ値とが一致しなかった場合（図９ＡのステップＳ１１８のＮｏ、Ｐ１３）、図９Ｃの処理に移行する。
【０１０７】
図９Ｃにおいて、演算装置１１は、クライアントコンピュータ２に、ユーザＩＤハッシュ値は一致したが、登録指紋データハッシュ値は一致しなかったと返答し（ステップＳ１２０）、クライアントコンピュータ２からの接続の待機（図９ＡのステップＳ１１２、Ｐ１１）に戻る。
【０１０８】
一方、ハッシュ値テーブル１２１に一致する値がなかった場合（図９ＡのステップＳ１１６のＮｏ、Ｐ１４）、図９Ｄの処理に移行する。
【０１０９】
図９Ｄにおいて、演算装置１１は、クライアントコンピュータ２に、ユーザＩＤハッシュ値に一致するものが無かったと返答し（ステップＳ１２１）、クライアントコンピュータ２からの接続の待機（図９ＡのステップＳ１１２、Ｐ１１）に戻る。
【０１１０】
一方、クライアントコンピュータ２からのデータがユーザＩＤハッシュ値と登録指紋データハッシュ値でなかった場合（図９ＡのステップＳ１１４のＮｏ、Ｐ１５）、すなわちデータがユーザＩＤと照合指紋データであった場合、図９Ｅの処理に移行する。
【０１１１】
図９Ｅにおいて、演算装置１１は、送られてきたユーザＩＤに基づき、データベースプログラム１３１を用いて、ユーザデータデータベース１３４を検索し（ステップＳ１２２、Ｓ１２３）、ユーザデータデータベース１３４に一致するユーザＩＤがあった場合（ステップＳ１２３のＹｅｓ）、演算装置１１は、検索したユーザＩＤと対になっている登録指紋データを取得する（ステップＳ１２４）。
【０１１２】
次いで、演算装置１１は、既に取得した登録指紋データと、クライアントコンピュータ２から送られてきた照合指紋データに基づき、指紋認証プログラム１３３を用いて、両データが同じ指から生成されたものか判定する（ステップＳ１２５、Ｓ１２６）。
【０１１３】
照合の結果、同じ指から生成されたものだと判定した場合（ステップＳ１２６のＹｅｓ）、クライアントコンピュータ２に、照合成功の結果と、既に取得した登録指紋データを送信する（ステップＳ１２７）。その後、クライアントコンピュータ２からの接続の待機（図９ＡのステップＳ１１２、Ｐ１１）に戻る。
【０１１４】
一方、ユーザデータデータベース１３４に一致するユーザＩＤがなかった場合（図９ＥのステップＳ１２３のＮｏ、Ｐ１６）、もしくは、照合の結果、同じ指から生成されたものだと判定されなかった場合（図９ＥのステップＳ１２６のＮｏ、Ｐ１６）、図９Ｆの処理に移行する。
【０１１５】
図９Ｆにおいて、演算装置１１は、クライアントコンピュータ２に、照合失敗の結果を送信し（ステップＳ１２８）、クライアントコンピュータ２からの接続の待機（図９ＡのステップＳ１１２、Ｐ１１）に戻る。
【０１１６】
＜第２の実施形態＞
上述した第１の実施形態では、指紋認証サーバ１のユーザデータデータベース１３４やクライアントコンピュータ２のユーザデータ２３４に格納される登録指紋データの形式については問わなかった。従って、原理的には、マニューシャ方式により作成された登録指紋データやパターン方式により作成された登録指紋データを使用することができる。両方式を複合することも可能である。
【０１１７】
マニューシャ方式とは、指紋画像の特徴点（分岐点、端点、三角州等）の位置と隆線の方向を指紋の特徴として利用する方式である。パターン方式とは、指紋画像に表れる図形的なパターンを指紋の特徴として利用する方式である。従って、マニューシャ方式では、高速に照合処理が行え、登録指紋データから元の指紋画像に戻すことはほとんど不可能なためプライバシー保護の観点から有利である反面、指を選び（特徴のない指紋の照合が困難）、指の荒れに弱いという難点がある。また、パターン方式では、照合処理の演算負荷が重く、登録指紋データから元の指紋画像に近いものが戻せるためにプライバシー保護の観点から不利である反面、指を選ばず、指の荒れにも強いという利点がある。
【０１１８】
上述した第１の実施形態では、クライアントコンピュータ２の補助記憶装置２３にユーザデータ２３４として登録指紋データを保持するものであるため、プライバシー保護を強く意識する場合には、マニューシャ方式を採用するしか選択の余地がない。クライアントコンピュータ２は、指紋認証サーバ１のような厳格な管理下にはないため、盗難等により悪意のある者の手に渡る可能性が高いからである。ただし、マニューシャ方式の登録指紋データしか使用できない場合は、前述したように、指を選び、指の荒れに弱いという難点から、照合精度が低下するという不都合がある。
【０１１９】
そこで、この第２の実施形態では、登録指紋データにマニューシャ方式と他のパターン方式等を複合したものとするとともに、クライアントコンピュータ２からの情報流出の問題が起こらないようにしている。
【０１２０】
以下の説明では、マニューシャ方式とパターン方式を複合した場合について説明する。
【０１２１】
システムの全体的な構成は図１に示した第１の実施形態と同様になる。
【０１２２】
指紋認証サーバ１の構成も図２に示した第１の実施形態と同様になるが、補助記憶装置１３に格納されるユーザデータデータベース１３４（図３）の登録指紋データはマニューシャ方式による部分（登録マニューシャデータ）とパターン方式による部分（登録パターンデータ）を含むことになる。
【０１２３】
また、主記憶装置１２上に作成されるハッシュ値テーブル１２１は、図１０に示すように、「順番」と「ユーザＩＤハッシュ値」と「登録マニューシャデータハッシュ値」の項目を有している。「順番」と「ユーザＩＤハッシュ値」は図４に示した第１の実施形態と同様である。「登録マニューシャデータハッシュ値」は、ユーザデータデータベース１３４の登録指紋データの登録マニューシャデータから、ＳＨＡ−２等のハッシュ法により算出した値である。
【０１２４】
また、指紋認証プログラム１３３は、照合指紋データのマニューシャ方式による部分（照合マニューシャデータ）と登録マニューシャデータだけの照合と、照合指紋データのパターン方式による部分（照合パターンデータ）と登録パターンデータだけの照合とを行なえるようになっている。
【０１２５】
クライアントコンピュータ２の構成も図６に示した第１の実施形態と同様になるが、補助記憶装置２３に格納されるユーザデータ２３４の登録指紋データは登録マニューシャデータのみとなる。従って、クライアントコンピュータ２のユーザデータ２３４として格納される個々のユーザデータは、ユーザＩＤと登録マニューシャデータの対となる。
【０１２６】
また、指紋データ生成プログラム２３２は、取得した指紋画像から照合マニューシャデータと照合パターンデータを生成するようになっている。
【０１２７】
また、指紋認証プログラム２３３は、照合マニューシャデータと登録マニューシャデータだけの照合を行なえればよい。
【０１２８】
以下、上記の第２の実施形態についての動作を説明する。
【０１２９】
図１１は第２の実施形態におけるハッシュ値テーブル１２１およびインデックステーブル１２２の作成の処理例を示すフローチャートである。なお、ハッシュ値テーブル１２１およびインデックステーブル１２２の作成は、ユーザデータデータベース１３４が作成された後に行う。そのため、ユーザデータデータベース１３４へのユーザデータの登録を完了し、運用を開始する直前に行う。また、ユーザデータを追加、削除する場合も、再作成する必要がある。その場合は、指紋認証サーバ１に負荷がかかってない、ピーク時間をずらして作成することが望ましい。
【０１３０】
図１１において、指紋認証サーバ１の演算装置１１は、処理を開始すると（ステップＳ１３１）、データベースプログラム１３１を用いて、ユーザデータデータベース１３４から、ユーザＩＤと登録マニューシャデータの対からなるユーザデータを１つ取り出す（ステップＳ１３２）。
【０１３１】
次いで、演算装置１１は、取り出したユーザＩＤと登録マニューシャデータのハッシュ値を、ＳＨＡ−２等のハッシュ法によりそれぞれ計算する（ステップＳ１３３）。
【０１３２】
次いで、演算装置１１は、計算したユーザＩＤのハッシュ値をユーザＩＤハッシュ値として、登録マニューシャデータのハッシュ値を登録マニューシャデータハッシュ値として、ハッシュ値テーブル１２１に格納する（ステップＳ１３４）。
【０１３３】
次いで、演算装置１１は、全てのユーザデータを処理したか否か判断し（ステップＳ１３５）、全てのユーザデータを処理していない場合（ステップＳ１３５のＮｏ）はユーザデータの取り出し（ステップＳ１３２）に戻る。
【０１３４】
全てのユーザデータを処理した場合（ステップＳ１３５のＹｅｓ）、演算装置１１は、ハッシュ値テーブル１２１を、ユーザＩＤハッシュ値の大きさで昇順にソートする（ステップＳ１３６）。
【０１３５】
次いで、演算装置１１は、ハッシュ値テーブル１２１のユーザＩＤハッシュ値の先頭の所定バイト（例えば、２バイト）に着目し、ハッシュ値テーブル１２１を先頭から検索して、その値（先頭数値）が１増えるごとに最初に見つかったレコードの順番を取得して記録する（ステップＳ１３７）。先頭の２バイトに着目した場合、先頭数値を「００００」から順に「ＦＦＦＦ」まで処理することになる。
【０１３６】
次いで、演算装置１１は、取得したレコードの順番の値を、先頭数値と対応付けてインデックステーブル１２２に格納し（ステップＳ１３８）、処理を終了する（ステップＳ１３９）。
【０１３７】
なお、ハッシュ値テーブル１２１を昇順にソートし（ステップＳ１３６）、ユーザＩＤハッシュ値の先頭の所定バイトの値が１増える最初のレコードの順番を取得（ステップＳ１３７）したが、反対に、ハッシュ値テーブル１２１を降順にソートし、ユーザＩＤハッシュ値の先頭の所定バイトの値が最大値から１減る最初のレコードの順番を取得するようにしてもよい。これは、後の運用時にインデックステーブル１２２をユーザＩＤハッシュ値の小さい方から検索するか、大きい方から検索するかに対応する。
【０１３８】
次に、運用を開始した後のクライアントコンピュータ２と指紋認証サーバ１の間の指紋認証の処理について説明する。なお、クライアントコンピュータ２と指紋認証サーバ１の個々の処理については後述することとし、先ず、両者の横断的な処理について説明する。また、クライアントコンピュータ２におけるログインに指紋認証を適用した場合を例として説明するが、指紋認証の結果を何に利用するかは問わない。例えば、クライアントコンピュータ２を施設の出入口等に設けたコンピュータとし、認証結果により入退出管理を行うようにすることができる。
【０１３９】
先ず、ユーザがクライアントコンピュータ２に入出力装置２５からユーザＩＤを入力し、指紋センサ２６に指を置いて、指紋画像をクライアントコンピュータ２に入力する。クライアントコンピュータ２は、この入力されたユーザＩＤと、補助記憶装置２３に記憶されているユーザデータ２３４のユーザＩＤとを比較する。通常は、これは一致する。たまに、クライアントコンピュータ２のメンテナンス等により別のユーザがログインしようとした場合に一致しないことになるが、その場合については、後述する。先ずは、一致した場合について述べる。
【０１４０】
ユーザＩＤが一致したら、補助記憶装置２３のユーザデータ２３４のユーザＩＤハッシュ値と登録マニューシャデータハッシュ値を計算する。昨今のクライアントコンピュータ２は、一般的なサーバに匹敵するほどの処理能力を持っているのが普通なので、この処理は瞬時に完了する。ハッシュ値の計算を終えたら、指紋認証サーバ１に向けて、暗号通信回線を開設する。そして、ユーザＩＤハッシュ値と、登録マニューシャデータハッシュ値を通信装置２４により送信する。
【０１４１】
指紋認証サーバ１では、送られて来たユーザＩＤハッシュ値を用いて、インデックステーブル１２２とハッシュ値テーブル１２１に対して検索を行う。検索を終えたら、登録マニューシャデータハッシュ値の比較を行う。この処理の結果は、以下の３つになる。
（１）一致するユーザＩＤハッシュ値が見つかり、登録マニューシャデータハッシュ値が一致する（通常）。
（２）一致するユーザＩＤハッシュ値が見つかったが、登録マニューシャデータハッシュ値は一致しない。
（３）一致するユーザＩＤハッシュ値が見つからない。
【０１４２】
指紋認証サーバ１は、処理結果をクライアントコンピュータ２に送信する。
【０１４３】
クライアントコンピュータ２は、処理結果に従って、処理を分岐する。以下には、処理結果（１）の処理を記述し、残りは後述する。
【０１４４】
通常は処理結果（１）となる。この場合、クライアントコンピュータ２は、指紋画像から照合指紋データ（照合マニューシャデータ、照合パターンデータ）を生成し、この照合指紋データのうちの照合マニューシャデータと補助記憶装置２３のユーザデータ２３４の登録マニューシャデータを用いて、１段目の指紋の照合を行う。この照合結果は、以下の３つになる。
（１−１）１段目の照合だけで、照合マニューシャデータと登録マニューシャデータが一致すると判定
（１−２）１段目の照合の結果、一致・不一致は決められず、パターン方式での１段目の照合が必要と判定
（１−３）１段目の照合だけで、照合マニューシャデータと登録マニューシャデータが不一致であると判定
照合結果（１−１）なら、暗号通信回線を閉じ、ログイン処理を開始する。照合結果（１−３）ならば、ユーザＩＤと指紋画像の取得処理に戻る。
【０１４５】
照合結果（１−２）ならば、クライアントコンピュータ２は、ユーザＩＤと照合パターンデータを指紋認証サーバ１に送信する。
【０１４６】
ユーザＩＤと照合パターンデータを受け取った指紋認証サーバ１は、ユーザＩＤに基づいてユーザデータデータベース１３４を検索し、そのユーザの登録指紋データを取得する。そして、照合パターンデータと、取得した登録指紋データの登録パターンデータを用いて、パターン方式で再度照合を行う。そして、一致・不一致の結果をクライアントコンピュータ２に返す。
【０１４７】
クライアントコンピュータ２では、受け取った結果に応じ、一致ならば、暗号通信回線を閉じ、ログイン処理を開始する。不一致ならば、ユーザＩＤと指紋画像の取得処理に戻る。
【０１４８】
次に、入力されたユーザＩＤと、補助記憶装置２３のユーザデータ２３４のユーザＩＤが一致しなかった場合を説明する。この場合は、初めに、入力された指紋画像から照合指紋データ（照合マニューシャデータ、照合パターンデータ）を生成する。次に、指紋認証サーバ１との間に暗号通信回線を開設し、ユーザＩＤと照合指紋データを送る。
【０１４９】
指紋認証サーバ１では、送られてきたユーザＩＤと照合指紋データを元に、ユーザデータデータベース１３４を検索し、マニューシャ方式とパターン方式の両方の照合処理を行う。一致した場合は、一致したという結果とともに、登録マニューシャデータをクライアントコンピュータ２に送り返す。不一致ならば、不一致という結果のみを送り返す。
【０１５０】
処理結果を受けたクライアントコンピュータ２は、一致ならば、ユーザＩＤと送られてきた登録マニューシャデータを補助記憶装置２３のユーザデータ２３４に書き加える。これで、次回から、このユーザもクライアントコンピュータ２で照合処理ができるようになる。そして、暗号通信回線を閉じ、ログイン動作に入る。不一致ならば、ユーザＩＤと指紋画像の取得処理に戻る。
【０１５１】
次に、クライアントコンピュータ２が指紋認証サーバ１にハッシュ値を送った際、処理結果（２）が帰ってきた場合の処理を述べる。この処理結果を受けたクライアントコンピュータ２は、先ず、入力された指紋画像から照合指紋データ（照合マニューシャデータ、照合パターンデータ）を生成する。次に、ユーザＩＤと照合指紋データを指紋認証サーバ１に送る。
【０１５２】
指紋認証サーバ１では、送られてきたユーザＩＤと照合指紋データを元に、ユーザデータデータベース１３４を検索し、マニューシャ方式とパターン方式の両方の照合処理を行う。一致した場合は、一致したという結果とともに、登録マニューシャデータをクライアントコンピュータ２に送り返す。不一致ならば、不一致という結果のみを送り返す。
【０１５３】
処理結果を受けたクライアントコンピュータ２は、一致ならば、送られてきた登録マニューシャデータを、ユーザデータ２３４における現在の登録指紋データに上書きする。これで、次回からは、このユーザも、いつもどおりクライアントコンピュータ２で照合処理ができるようになる。そして、暗号通信回線を閉じ、ログイン動作に入る。不一致ならば、ユーザＩＤと指紋画像の取得処理に戻る。
【０１５４】
最後に、クライアントコンピュータ２が指紋認証サーバ１にハッシュ値を送った際、処理結果（３）が帰ってきた場合の処理を述べる。この場合、ログインする資格がないので、照合失敗とみなし、ユーザＩＤと指紋画像の取得処理に戻る。
【０１５５】
以下、クライアントコンピュータ２と指紋認証サーバ１の個々の処理についてフローチャートに基づいて説明する。
【０１５６】
クライアントコンピュータ２の指紋認証時の処理は図８Ａ〜図８Ｆに示した第１の実施形態とほぼ同様であるが、若干の違いがある。
【０１５７】
先ず、図８ＡのステップＳ２０５では、演算装置２１は、そのユーザＩＤのハッシュ値（ユーザＩＤハッシュ値）と、そのユーザＩＤと対となっている登録マニューシャデータのハッシュ値（登録マニューシャデータハッシュ値）を計算することになる。
【０１５８】
また、図８ＣのステップＳ２２０では、演算装置２１は、指紋認証サーバ１から認証成功とともに送られてきた登録マニューシャデータを、今回認証が成功したユーザＩＤと対にしてユーザデータ２３４に追加することになる。
【０１５９】
また、図８ＢのステップＳ２１０とステップＳ２１３の間のステップＳ２１１、Ｓ２１２は、図１２に示すものとなる。
【０１６０】
図１２において、ステップＳ２１０の後、クライアントコンピュータ２の演算装置２１は、生成した照合指紋データの照合マニューシャデータと、既に取得した登録マニューシャデータが同じ指から生成したものか、指紋認証プログラム２３３で判定を行う（ステップＳ２４１、Ｓ２４２）。
【０１６１】
判定の結果、同じ指と判断された場合（ステップＳ２４２のＹｅｓ）、ステップＳ２１３に移行する。
【０１６２】
判定の結果、同じ指と判断されなかった場合（ステップＳ２４２のＮｏ）、両マニューシャデータが確実に異なる指から生成されたか判断し（ステップＳ２４３）、確実に異なる指から生成されたと判断した場合（ステップＳ２４３のＹｅｓ、Ｐ５）、図８Ｆの処理に移行する。
【０１６３】
確実に異なる指から生成されたと判断できなかった場合（ステップＳ２４３のＮｏ）、すなわち、あいまいな状態であれば、指紋認証サーバ１に、ユーザＩＤと照合パターンデータを送信し、結果を待つ（ステップＳ２４４、Ｓ２４５）。
【０１６４】
指紋認証サーバ１からの返答結果が認証失敗である場合（ステップＳ２４５のＹｅｓ、Ｐ５）、図８Ｆの処理に移行する。
【０１６５】
指紋認証サーバ１からの返答結果が認証失敗でない場合（ステップＳ２４５のＮｏ）、指紋認証サーバ１との暗号通信回線を閉じ（ステップＳ２４６）、ユーザのログインを開始し（ステップＳ２４７）、処理を完了する（ステップＳ２４８）。
【０１６６】
マニューシャデータだけでは、指紋画像のとり方によっては同じ指でも違う指と判定してしまう可能性がある。そのため、上記のルーチンでは、照合が成功しても、登録マニューシャデータの置き換えは行わない。
【０１６７】
指紋認証サーバ１の指紋認証時の処理は図９Ａ〜図９Ｆに示した第１の実施形態とほぼ同様であるが、若干の違いがある。
【０１６８】
図９ＡのステップＳ１１３とステップＳ１１５の間のステップＳ１１４は、図１３に示すものとなる。
【０１６９】
図１３において、ステップＳ１１３の後、指紋認証サーバ１の演算装置１１は、クライアントコンピュータ２からのデータがユーザＩＤと照合指紋データ（照合マニューシャデータと照合パターンデータの両方）であるか判断する（ステップＳ１４１）。ユーザＩＤと照合指紋データであった場合（ステップＳ１４１のＹｅｓ、Ｐ１５）、図９Ｅの処理に移行する。
【０１７０】
ユーザＩＤと照合指紋データでなかった場合（ステップＳ１４１のＮｏ）、演算装置１１は、続いて、クライアントコンピュータ２からのデータがユーザＩＤと照合パターンデータであるか判断する（ステップＳ１４２）。ユーザＩＤと照合パターンデータでない場合（ステップＳ１４２のＮｏ）、ステップＳ１１５に移行する。
【０１７１】
ユーザＩＤと照合パターンデータであった場合（ステップＳ１４２のＹｅｓ）、演算装置１１は、ユーザＩＤに基づき、データベースプログラム１３１により、ユーザデータデータベース１３４を検索する（ステップＳ１４３、Ｓ１４４）。
【０１７２】
検索により一致するユーザＩＤが見つからなかった場合（ステップＳ１４４のＮｏ、Ｐ１６）、図９Ｆの処理に移行する。
【０１７３】
検索により一致するユーザＩＤが見つかった場合（ステップＳ１４４のＹｅｓ）、演算装置１１は、発見したユーザＩＤと対になっている登録指紋データを取得する（ステップＳ１４５）。
【０１７４】
次いで、演算装置１１は、登録指紋データから登録パターンデータを抽出する（ステップＳ１４６）。
【０１７５】
次いで、演算装置１１は、指紋認証プログラム１３３を用いて、抽出した登録パターンデータと、送信されてきた照合パターンデータが同じ指から生成されたものか判定する（ステップＳ１４７、Ｓ１４８）。
【０１７６】
判定の結果、一致しなかった場合（ステップＳ１４８のＮｏ、Ｐ１６）、図９Ｆの処理に移行する。
【０１７７】
判定の結果、一致した場合（ステップＳ１４８のＹｅｓ）、照合成功の結果のみをクライアントコンピュータ２へ送信し（ステップＳ１４９）、図９ＡのステップＳ１１２（Ｐ１１）に移行する。
【０１７８】
＜総括＞
以上説明したように、本実施形態によれば次のような利点がある。
【０１７９】
先ず、本実施形態では、予め、登録されているユーザＩＤと登録指紋データにつきハッシュ値テーブルとインデックステーブルを作成し、それをメモリに格納している。更に、クライアントコンピュータ２には、よくそのコンピュータを利用するユーザのユーザＩＤと登録指紋データを記憶している。
【０１８０】
そして、認証を行うに際しては、入力されたユーザＩＤと、初めにクライアントコンピュータ２内のユーザＩＤを比較し、一致した場合は、そのユーザデータのハッシュ値を指紋認証サーバ１に送る。指紋認証サーバ１では、メモリ上のハッシュ値テーブルを用いて、クライアントコンピュータ２と指紋認証サーバ１のユーザデータが一致するか確認している。確認の結果、クライアントコンピュータ２にあるユーザデータが指紋認証サーバ１にあるユーザデータと一致すると確認できた場合、照合処理をクライアントコンピュータ２で行っている。
【０１８１】
その結果、一般的な指紋認証サーバで、負荷の原因となっている、
（１）クライアントとサーバ間の暗号通信回線の開設
（２）ユーザデータのデータベースによる検索
（３）指紋照合の実施
のうち、（２）と（３）を基本的に削除できる。よって、指紋認証サーバ１にかかる負荷を大幅に削減し、その結果、ハードウェアコストを削減することができる。
【０１８２】
また、その際に、クライアントコンピュータ２にユーザデータを登録していないユーザは、指紋認証サーバ１で認証を行う。そのため、ユーザデータが登録されていないクライアントコンピュータ２でも、指紋認証サーバ１に登録してあれば、ログインすることができる。その結果、指紋認証サーバ１は、クライアントサーバ型の特徴である、集中管理の利点を維持することができる。更には、認証が成功した場合、ユーザデータをクライアントコンピュータ２に追加し、次回からは、新しいユーザも、クライアントコンピュータ２上で認証できるようになる。よって、新しいユーザは、つねに限られた人数に抑えられ、指紋認証サーバ１が、負荷で応答できなくなるといったことは無い。
【０１８３】
また、指紋認証サーバ１でユーザの登録指紋データを更新した場合も、指紋認証サーバ１で認証を行うことができる。更には、認証が成功した際には、クライアントコンピュータ２の登録指紋データを更新する。登録されている指紋データを更新する作業は、運用上あまり多くなく、この更新したユーザを指紋認証サーバ１上で照合しても、全体の負荷に与える影響はほとんど無い。その結果、指紋認証サーバ１は、クライアントサーバ型の特徴である、集中管理の利点を維持することができる。更には、認証が成功した場合、登録指紋データを更新し、次回からは、クライアントコンピュータ２上で認証できるようにしている。よって、クライアントコンピュータ２と指紋認証サーバ１で、ユーザデータの同期が取れていないユーザは、つねに限られた人数に抑えられ、指紋認証サーバ１が、負荷で応答できなくなるといったことは無い。
【０１８４】
さらに、指紋認証サーバ１の第２の実施形態では、クライアントコンピュータ２には登録指紋データのマニューシャ方式部分しか保存しないようにしている。マニューシャ方式部分は、元の指紋画像に戻すことは不可能である。そのため、プライバシーを最上級に重視する意図に沿うことができる。
【０１８５】
そして、ログインしようとしているユーザの登録指紋データのマニューシャ方式部分がクライアントコンピュータ２にある場合、クライアントコンピュータ２で一段目の照合を行う。マニューシャ方式とパターン方式の複合方式では、マニューシャ方式の照合により、９０％以上のユーザに対して一致・不一致の判定を下せる。そのため、指紋認証サーバ１では、指紋認証処理をあまり行うことなく、一致・不一致の結果を得ることができる。その結果、第１の実施形態よりは指紋認証サーバ１の負荷はかかるが、従来の指紋認証サーバよりもかなり高速で、かつプライバシーを守りやすい指紋認証を実施することができる。
【０１８６】
以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更を加えることができることは明らかである。すなわち、具体例の詳細および添付の図面により本発明が限定されるものと解釈してはならない。
【符号の説明】
【０１８７】
１          指紋認証サーバ
１１        演算装置
１２        主記憶装置
１２１      ハッシュ値テーブル
１２２      インデックステーブル
１３        補助記憶装置
１３１      データベースプログラム
１３２      暗号通信プログラム
１３３      指紋認証プログラム
１３４      ユーザデータデータベース
１４        通信装置
２          クライアントコンピュータ
２１        演算装置
２２        主記憶装置
２３        補助記憶装置
２３１      暗号通信プログラム
２３２      指紋データ生成プログラム
２３３      指紋認証プログラム
２３４      ユーザデータ
２４        通信装置
２５        入出力装置
２６        指紋センサ
３          ネットワーク
【図１】
2010116506.tif 000003
【図２】
2010116506.tif 000004
【図３】
2010116506.tif 000005
【図４】
2010116506.tif 000006
【図５】
2010116506.tif 000007
【図６】
2010116506.tif 000008
【図７】
2010116506.tif 000009
【図８Ａ】
2010116506.tif 000010
【図８Ｂ】
2010116506.tif 000011
【図８Ｃ】
2010116506.tif 000012
【図８Ｄ】
2010116506.tif 000013
【図８Ｅ】
2010116506.tif 000014
【図８Ｆ】
2010116506.tif 000015
【図９Ａ】
2010116506.tif 000016
【図９Ｂ】
2010116506.tif 000017
【図９Ｃ】
2010116506.tif 000018
【図９Ｄ】
2010116506.tif 000019
【図９Ｅ】
2010116506.tif 000020
【図９Ｆ】
2010116506.tif 000021
【図１０】
2010116506.tif 000022
【図１１】
2010116506.tif 000023
【図１２】
2010116506.tif 000024
【図１３】
2010116506.tif 000025
【手続補正書】
【提出日】平成23年10月4日(2011.10.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
指紋認証サーバ装置にて対象となる複数のユーザのユーザＩＤおよび登録指紋データをデータベースで集中管理し、指紋認証クライアント装置に一部のユーザのユーザＩＤおよび登録指紋データを保持する形態のシステムに使用される前記指紋認証サーバ装置であって、
前記データベースで集中管理する前記ユーザＩＤおよび前記登録指紋データのハッシュ値をメモリ上のハッシュ値テーブルで管理する手段と、
前記指紋認証クライアント装置から認証対象のユーザのユーザＩＤと当該ユーザＩＤに対応する登録指紋データのそれぞれのハッシュ値を受け付け、前記ハッシュ値テーブルを検索することで一致・不一致を判定し、判定結果を前記指紋認証クライアント装置に返答し、ハッシュ値が一致したユーザの指紋認証を前記指紋認証クライアント装置に行わせる手段と
を備えたことを特徴とする指紋認証サーバ装置。
【請求項２】
請求項１に記載の指紋認証サーバ装置において、
前記ハッシュ値テーブルの検索を高速に行うためのインデックステーブル
を備えたことを特徴とする指紋認証サーバ装置。
【請求項３】
請求項１または２のいずれか一項に記載の指紋認証サーバ装置において、
前記指紋認証クライアント装置から、認証対象のユーザのユーザＩＤと、認証対象のユーザから取得した指紋画像に基づいて生成した照合指紋データとを受け付け、前記データベースを検索して照合を行い、照合結果を前記指紋認証クライアント装置に返答する手段
を備えたことを特徴とする指紋認証サーバ装置。
【請求項４】
請求項３に記載の指紋認証サーバ装置において、
照合結果が一致であった場合に、一致すると照合された登録指紋データを前記照合結果とともに前記指紋認証クライアント装置に返答し、前記指紋認証クライアント装置にユーザＩＤと対応付けて登録させる手段
を備えたことを特徴とする指紋認証サーバ装置。
【請求項５】
指紋認証サーバ装置にて対象となる複数のユーザのユーザＩＤおよび登録指紋データをデータベースで集中管理し、指紋認証クライアント装置に一部のユーザのユーザＩＤおよび登録指紋データを保持する形態のシステムに使用される前記指紋認証クライアント装置であって、
認証対象のユーザからユーザＩＤを入力する手段と、
認証対象のユーザから指紋画像を取得する手段と、
ユーザから入力されたユーザＩＤおよび当該ユーザＩＤに対応する内部管理の登録指紋データのそれぞれのハッシュ値を計算し、前記指紋認証サーバ装置に集中管理するユーザＩＤおよび登録指紋データとの一致確認の問い合わせを行う手段と、
問い合わせの結果が一致であった場合に、内部管理する登録指紋データに基づいて指紋認証を行う手段と
を備えたことを特徴とする指紋認証クライアント装置。
【請求項６】
請求項５に記載の指紋認証クライアント装置において、
ユーザから入力されたユーザＩＤが内部管理するデータに存在しない場合、認証対象のユーザのユーザＩＤと、認証対象のユーザから取得した指紋画像に基づいて生成した照合指紋データとを前記指紋認証サーバ装置に送信して指紋認証の要求を行う手段
を備えたことを特徴とする指紋認証クライアント装置。
【請求項７】
請求項６に記載の指紋認証クライアント装置において、
前記指紋認証サーバ装置から指紋認証の結果とともに送られた登録指紋データを、要求にかかるユーザＩＤと対応付けて内部管理するデータに追加登録する手段
を備えたことを特徴とする指紋認証クライアント装置。
【請求項８】
請求項５乃至７のいずれか一項に記載の指紋認証クライアント装置において、
前記指紋認証サーバ装置からの一致確認の問い合わせの結果が、ユーザＩＤのハッシュ値は一致するものの登録指紋データのハッシュ値が不一致である場合、認証対象のユーザのユーザＩＤと、認証対象のユーザから取得した指紋画像に基づいて生成した照合指紋データとを前記指紋認証サーバ装置に送信して指紋認証の要求を行う手段
を備えたことを特徴とする指紋認証クライアント装置。
【請求項９】
請求項８に記載の指紋認証クライアント装置において、
前記指紋認証サーバ装置から指紋認証の結果とともに送られた登録指紋データを、要求にかかるユーザＩＤと対応付けて内部管理するデータに上書き登録する手段
を備えたことを特徴とする指紋認証クライアント装置。
【請求項１０】
指紋認証サーバ装置にて対象となる複数のユーザのユーザＩＤおよび登録指紋データをデータベースで集中管理し、指紋認証クライアント装置に一部のユーザのユーザＩＤおよび登録指紋データを保持する形態のシステムの制御方法であって、
前記データベースで集中管理する前記ユーザＩＤおよび前記登録指紋データのハッシュ値をメモリ上のハッシュ値テーブルで管理する工程と、
前記指紋認証クライアント装置から認証対象のユーザのユーザＩＤと当該ユーザＩＤに対応する登録指紋データのそれぞれのハッシュ値を受け付け、前記ハッシュ値テーブルを検索することで一致・不一致を判定し、判定結果を前記指紋認証クライアント装置に返答し、ハッシュ値が一致したユーザの指紋認証を前記指紋認証クライアント装置に行わせる工程と
を備えたことを特徴とする指紋認証方法。
【国際調査報告】
2010116506.tif 000026
2010116506.tif 000027
2010116506.tif 000028
2010116506.tif 000029