(57)【要約】【課題】クライアント／サーバ構造を使用したネットワークを介した指紋のリモート認証を可能にする方法、システム、およびコンピュータ・プログラム製品を提供すること。【解決手段】本発明は、クライアントが観察された指紋パターンに基づいてそれに応答する、サーバで格納されている指紋データに基づいて指紋パターンに関係する１組の無作為のクエリを生成し、次いで確認応答がそのサーバによって受信される指紋パターン間の幾何的関係に関する無作為に生成された１組の質問を発行し、前記質問に対するクライアントによる正解の割合によって最終認証を決定するものである。【選択図】図１
2004536384.tif 000002
【特許請求の範囲】
【請求項１】
指紋情報の識別情報をサーバに送信するステップと、
前記サーバで、前記指紋情報の指紋パターン・データを指紋データベースから取り出すステップと、
前記指紋パターンにおいて無作為に選択された１組の指紋パターン要素からそれぞれ導出された１組のクエリをクライアントに送信するステップと、
前記クライアントで、受信した前記１組のクエリを観察された前記指紋パターンと比較するステップと、
少なくとも定義された最低数のクエリが照合されることを条件に、クライアントによって一致が観察された前記クエリの識別情報を前記サーバに送信するステップと、
識別された前記クエリの指紋パターン要素間の定義された物理的関係に関する１組の質問を生成するステップと、
前記質問を前記クライアントに送信するステップと、
前記クライアントで、観察された指紋パターンに基づいて前記質問に回答するステップと、
少なくとも定義された最低率の回答がサーバによって正しいと判断されることを条件に認証を承認するステップと
を備えるクライアント／サーバ構造を使用したネットワークを介した指紋のリモート認証を可能にする方法。
【請求項２】
指紋パターンの一致が前記クライアントによって観察されるように前記識別情報が前記クエリのインデックスである請求項１に記載の方法。
【請求項３】
前記各クエリが対応する無作為に選択された１組の指紋パターン要素に関する幾何情報を含む請求項１に記載の方法。
【請求項４】
前記各クエリが指紋パターン要素の対の間の距離を含む請求項３に記載の方法。
【請求項５】
前記各クエリが選択された指紋パターン要素から他の各指紋パターン要素までの距離を含む請求項３に記載の方法。
【請求項６】
前記距離が２点間のユークリッド距離またはリッジカウント距離、あるいは１対のデカルト座標値であって、２つの値がそれぞれユークリッド距離およびリッジカウント距離である請求項５に記載の方法。
【請求項７】
前記各質問が識別された前記クエリの前記指紋パターン要素間の幾何的関係に関する請求項１に記載の方法。
【請求項８】
前記クライアントが前記質問に対する正解の数を最大にしようと試みる請求項１に記載の方法。
【請求項９】
前記クエリとの一致の最低数が３であり、前記質問が、前記識別され一致したクエリの要素を、３つの識別されたクエリの要素をそれぞれ１つずつ含む順序付きの３個組にグループ分けすることによって作成され、それに対する正解が、事前に定義された順序の前記３個組の３点を接続することによって形成された角度である請求項１に記載の方法。
【請求項１０】
ノイジーな入力に対してプロトコルをより堅固にするために、前記クエリとの一致の最低数を６まで増やし、前記質問が、各クエリから１つずつ６つのパターン要素を選び出し、傍受者に対して前記指紋に関する有用な情報を漏らさないように考案されたやり方で選択された、これら６つの要素によって４つの角度を選択することによって作成される請求項９に記載の方法。
【請求項１１】
セキュリティを向上させるために、前記クエリがベクトルの対として送信され、対の２番目のベクトルが前記クライアントおよび前記サーバのみに知られている秘密の順列に従って並べ替えられ、クライアントが、処理の前に各クエリの前記ベクトルの順序を元に戻す請求項１に記載の方法。
【請求項１２】
擬似パターンを拒否することによって精度を向上させるために、前記サーバが登録時にユーザの指紋のいくつかの画像を取得し、前記指紋パターンが２個組であるとみなされ、１つの画像にある指紋パターン要素をもう一方の画像の対応する要素と一致させ、一致する要素のみをサーバの前記指紋データベースに格納する請求項１に記載の方法。
【請求項１３】
指紋情報の識別情報をサーバに送信する手段と、
サーバで、指紋情報の指紋パターン・データを指紋データベースから取り出す手段と、
前記指紋パターンにおいて無作為に選択された１組の指紋パターン要素からそれぞれ導出された１組のクエリを前記クライアントに送信する手段と、
クライアントで、受信した１組のクエリを観察された指紋パターンと比較する手段と、
少なくとも定義された最低数のクエリが照合されることを条件に、クライアントによって一致が観察されたクエリの識別情報をサーバに送信する手段と、
識別されたクエリの指紋パターン要素間の定義された物理的関係に関する１組の質問を生成する手段と、
前記質問を前記クライアントに送信する手段と、
クライアントで、観察された指紋パターンに基づいて前記質問に回答する手段と、
少なくとも定義された最低率の回答がサーバによって正しいと判断されることを条件に認証を承認する手段と
を備えるクライアント／サーバ構造を使用した安全ではないネットワークを介した指紋のリモート認証を可能にするシステム。
【請求項１４】
クライアント／サーバ構造を使用した安全ではないネットワークを介した指紋のリモート認証を可能にするために、プログラムがコンピュータで実行されたときに請求項１ないし１２のいずれか１項のステップを実行するように構成されているコンピュータ可読プログラム・コード手段を備えるコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアント／サーバ構造を使用したネットワークを介した指紋のリモート認証に関する。本発明は一般に、ある人物の指紋に基づいたその人物の認証の問題に関し、より詳細には、後でそのユーザのふりをしようとする傍受者が認証のプロセスに関与する通信の複写を取得することによって利益を得ることがないような方法で、安全ではないネットワークまたはチャネルを介した通信を使用してこうした認証を達成することについての問題に関する。
【背景技術】
【０００２】
ビジネス・プロセスでは、１つまたは複数のビジネス・エンティティの認証を必要とする。同時に、デジタル技術によって、例えばコンピュータのユーザやクレジットカードのユーザなど、認証の新しい用途も生まれている。こうした認証プロセスでは、様々なバイオメトリクスの使用が増加している。ネットワーキングの普及に伴い、こうした用途の多くでは、通信ネットワークを介した認証を伴う。通信ネットワークでは、いくつかのセキュリティおよびプライバシーに関する問題が生じる。ネットワーキングのこうした普及に伴い、バイオメトリクスは、簡単なデスクトップ実装から、ファイアウォール、および複数の作動プラットフォームを含む、ネットワーク認証システムへと進展している。指紋は、使用されているバイオメトリクスの間で最も普及している。現在のバイオメトリック認証機構の最も重大な弱点の１つが、バイオメトリック・インジケータのデジタル表示にある。認証プロセス中にネットワーク侵入者がバイオメトリックのデジタル表示を使用できるようにした場合、バイオメトリック・インジケータは一般に、そもそも単一要素（すなわち左手親指の指紋のみ）から成るため、ビジネス・プロセスのセキュリティは、永続的に危険にさらされるおそれがある。パスワードとは異なり、使用中のバイオメトリックを変更し続けることはできない。ネットワークを介した指紋認証の従来技術の方法は、指紋のすべてまたは一部のデジタル表示を何らかの形で送信することを含み、これが解読されると、提供されたセキュリティが受け入れ難い低レベルまで低下し、したがってビジネス・モデルを混乱させることになる。
【０００３】
暗号化の使用は、通信におけるセキュリティおよびプライバシーの必要性に対する１つの対応である。より具体的には、こうした方法は、データの送信時のコーディングまたは暗号化の使用を伴い、こうしたコーディングまたは暗号化が敵によって破られない場合にのみ安全である。
【０００４】
ネットワークを介した認証にバイオメトリクスを使用できるようにするための様々な手法を記載したいくつかの発明を以下に示す。
ＵＳ特許第５９１７９２８号:System and method forautomatically verifying identity of a subject。いくつかの基準セグメントが基準画像から取得され、照合プロセス中に、基準セグメントを使用して提示された画像の一部を選択して基準画像とピクセルごとに比較する。
ＷＯ特許第０３５１３５Ａ１号:SECURE SYSTEM USINGCONTINUOUSLY-CHANGING FEATURES OF A BODY PART AS A KEY。指紋画像の一部が照合ごとに送信され、送信される部分がある照合と次の照合の間で変わる。これは、傍受者が画像の一部をいちいち取得しなければならないようにするためである。
ＷＯ特許第９８２５３８５Ａ１号:METHOD AND SYSTEM FORIMPROVING SECURITY IN NETWORK APPLICATIONS（およびＵＳ特許第６０７６１６７号）。バイオメトリック情報を使用して通信セッションの初めにユーザを認証するが、こうした情報を送信するのに安全なチャネルが使用可能であることが前提とされている。より具体的には、両当事者間の通信が暗号化される。
ＷＯ特許第９８１２６７０Ａｌ号:BIOMETRIC IDENTIFICATIONSYSTEM FOR PROVIDING SECURE ACCESSでは、様々な用途のためにコード化されたバイオメトリック情報を捕捉して受信者に送信する装置を提案している。
ＵＳ特許第６０３８６６６号:Remote identity verificationtechnique using a personal identificationでも、バイオメトリック・データを認証に使用することを提案しているが、暗号化形式で送信することも提案している。つまりこの発明のセキュリティは、通信のチャネルのセキュリティに依存している。
【０００５】
こうしたすべての発明は、認証中のセキュリティのために暗号化を使用することに依存している。しかし、セキュリティのニーズを暗号化によって十分に満たすことができない状況がいくつかある。まず、暗号化は、処理速度、演算能力、および設備のコストに関していくらかの犠牲を伴い、こうした犠牲は、多くの用途において障害または回避可能な負担となる可能性がある。第２に、暗号化の使用によって、鍵を覚える、鍵を安全に保つ、安全な危険にさらされないやり方で暗号化を使用するという負担をユーザに負わせる可能性がある。技術的に熟達しておらず、潜在的に忘れやすい、または不注意なユーザによって、いくつかのセキュリティの弱点が生じる。最後に、ネットワークのセキュリティに全面的に頼ることによって、ユーザに、暗号化の機械、鍵および他の暗号化インフラストラクチャ、通信の手段などのプロバイダを信用するよう求めることになる。セキュリティ上問題であることに加えて、こうした信用は、これらの当事者の一部またはすべてにユーザとの利害の衝突が起こる可能性があるときには望ましくないことがある。
【特許文献１】
ＵＳ特許第５９１７９２８号
【特許文献２】
ＷＯ特許第０３５１３５ＡＩ号
【特許文献３】
ＷＯ特許第９８２５３８５Ａ１号（ＵＳ特許第６０７６１６７号）
【特許文献４】
ＷＯ特許第９８１２６７０Ａｌ号
【特許文献５】
ＵＳ特許第６０３８６６６号
【発明の開示】
【発明が解決しようとする課題】
【０００６】
したがって、本発明の目的は、クライアント／サーバ構造を使用したネットワークを介した指紋のリモート認証を可能にする方法、システムおよびプログラムを提供することである。
【課題を解決するための手段】
【０００７】
本発明は、指紋情報の識別情報をサーバに送信し、サーバで、指紋情報の指紋パターン・データを指紋データベースから取り出し、それぞれが前記指紋パターンにおいて無作為に選択された１組の指紋パターン要素から導出された１組のクエリ（query）を前記クライアントに送信し、クライアントで、受信した１組のクエリを観察された指紋パターンと比較し、少なくとも定義された最低数のクエリが照合し、クライアントによって一致が観察されたクエリの識別情報をサーバに送信する。そして、識別されたクエリの指紋パターン要素間の定義された物理的関係に関する１組の質問（challenge）を生成し、前記質問を前記クライアントに送信し、クライアントで、観察された指紋パターンに基づいて前記質問に回答し、少なくとも定義された最低率の回答がサーバによって正しいと判断されることを条件に認証を承認する。
【０００８】
通信のセキュリティまたはプライバシーを保証していない通信チャネルまたはネットワークを介して安全かつ信頼できるやり方で機能することができる指紋に基づく認証の手段を提供することが好ましい。指紋を使用した高精度の認証、および以前の機能を実行しながら指紋（指紋に関係するきわめて重要な情報）を漏らさないようにすることの２つの目的を達成するためにこうした認証のためのシステムおよび方法が提供されることが好ましい。
【０００９】
好ましい実施形態では、指紋を使用した認証のための改良されたシステムおよび方法が提供される。それらのセキュリティは、強化されたものであることが好ましい。さらに、指紋を漏らさないことが好ましい。さらに、サーバと呼ばれる認証側、およびユーザと呼ばれる被認証側が互いに、安全ではない通信チャネルまたはネットワークを介してリモートで通信することが好ましい。
【００１０】
好ましい実施形態では、ネットワークのセキュリティが危険にさらされている場合でさえもビジネス・パートナーを安全に認証することができる、改良されたネットワークベースのビジネス・モデルが提供される。
【００１１】
好ましい実施形態では、識別情報は、指紋パターンの一致が前記クライアントによって観察されたクエリのインデックスである。
【００１２】
各クエリが対応する無作為に選択された１組の指紋パターン要素に関する幾何情報を備えていることが好ましい。
【００１３】
各クエリが指紋パターン要素の対の間の距離を備えることが好ましい。
【００１４】
一実施形態では、各クエリは、選択された指紋パターン要素から他の各指紋パターン要素までの距離を備える。
【００１５】
好ましい実施形態では、距離は、２点間のユークリッド距離またはリッジカウント（Ridge-Count）距離、あるいは１対のデカルト座標値（cartesianpair of values）であり、２つの値はそれぞれユークリッド距離およびリッジカウント距離である。
【００１６】
各質問が識別されたクエリの指紋パターン要素間の幾何的関係に関係していることが好ましい。
【００１７】
クライアントが前記質問への正解の数を最大にしようとすることが好ましい。
【００１８】
好ましい実施形態では、クエリとの一致の最低数が３であり、質問は、識別されたまたは一致したクエリの要素を、３つの識別されたクエリの要素をそれぞれ１つずつ含む順序付きの３個組にグループ分けすることによって作成され、それに対する正解は、事前に定義された順序の３個組の３点を接続することによって形成された角度である。
【００１９】
ノイジーな入力（noisy input）に対してプロトコルをより堅固にするために、クエリとの一致の最低数を６まで増やし、各クエリから１つずつ、６つのパターン要素を選び出し、傍受者に対して指紋に関する有用な情報を漏らさないように考案されたやり方で選択された、これら６つの要素によって形成された４つの角度を選択することによって質問が作成される。
【００２０】
セキュリティを向上させるために、クエリは、ベクトルの対として送信され、その対の２番目のベクトルが、クライアントおよびサーバのみに知られている秘密の順列に従って並べ替えられ、クライアントは処理の前に各クエリのベクトルの順序を元に戻すことが好ましい。
【００２１】
擬似パターンを拒否することによって精度を向上させるために、サーバは、登録時にユーザの指紋のいくつかの画像を取得し、指紋パターンが２個組であるとみなされ、１つの画像にある指紋パターン要素がもう一方の対応する要素と一致し、一致する要素のみがサーバの前記指紋データベースに格納されることが好ましい。
【００２２】
別の態様によれば、本発明は、クライアント／サーバ構造を使用した安全ではないネットワークを介して指紋のリモート認証を可能にするシステムを提供する。このシステムは、指紋情報の識別情報をサーバに送信する手段と、サーバで、指紋情報の指紋パターン・データを指紋データベースから取り出す手段と、前記指紋パターンにおいて無作為に選択された１組の指紋パターン要素からそれぞれ導出された１組のクエリを前記クライアントに送信する手段と、クライアントで、受信した１組のクエリを観察された指紋パターンと比較する手段と、少なくとも定義された最低数のクエリが照合されることを条件に、クライアントによって一致が観察されたクエリの識別情報をサーバに送信する手段と、識別されたクエリの指紋パターン要素間の定義された物理的関係に関する１組の質問を生成する手段と、前記質問を前記クライアントに送信する手段と、クライアントで、観察された指紋パターンに基づいて前記質問に回答する手段と、少なくとも定義された最低率の回答がサーバによって正しいと判断されることを条件に認証を承認する手段とを備える。
【００２３】
クエリを送信する手段が対応する無作為に選択された１組の指紋パターン要素に関する幾何情報を使用することが好ましい。
【００２４】
クエリを送信する手段が指紋パターン要素の対の間の距離を使用することが好ましい。
【００２５】
一実施形態では、クエリを送信する前記手段は、選択された指紋パターン要素から他の各指紋パターン要素までの距離を使用する。
【００２６】
質問を生成する手段が識別されたクエリの指紋パターン要素間の幾何的関係を使用することが好ましい。
【００２７】
クエリとの一致の最低数は３であり、質問を生成する手段が、識別され一致したクエリの要素を、３つの識別されたクエリの要素をそれぞれ１つずつ含む順序付きの３個組にグループ分けし、それに対する正解は、事前に定義された順序の３個組の３点を接続することによって形成された角度であることが好ましい。
【００２８】
別の態様では、本発明は、クライアント／サーバ構造を使用した安全ではないネットワークを介した指紋のリモート認証を可能にするために、それに組み込まれているコンピュータ可読記憶媒体に格納されているコンピュータ可読プログラム・コードを備えるコンピュータ・プログラム製品を提供する。このコンピュータ・プログラム製品は、指紋情報の識別情報をサーバに送信するように構成されたコンピュータ可読プログラム・コード手段と、サーバで、指紋情報の指紋パターン・データを指紋データベースから取り出すように構成されたコンピュータ可読プログラム・コード手段と、前記指紋パターンにおいて無作為に選択された１組の指紋パターン要素からそれぞれ導出された１組のクエリを前記クライアントに送信するように構成されたコンピュータ可読プログラム・コード手段と、クライアントで、受信した１組のクエリを観察された指紋パターンと比較するように構成されたコンピュータ可読プログラム・コード手段と、少なくとも定義された最低数のクエリが照合されることを条件に、クライアントによって一致が観察された前記クエリの識別情報をサーバに送信するように構成されたコンピュータ可読プログラム・コード手段と、識別されたクエリの指紋パターン要素間の定義された物理的関係に関する１組の質問を生成するように構成されたコンピュータ可読プログラム・コード手段と、前記質問を前記クライアントに送信するように構成されたコンピュータ可読プログラム・コード手段と、クライアントで、観察された指紋パターンに基づいて前記質問に回答するように構成されたコンピュータ可読プログラム・コード手段と、少なくとも定義された最低率の回答がサーバによって正しいと判断されることを条件に認証を承認するように構成されたコンピュータ可読プログラム・コード手段とを備える。
【００２９】
本発明の好ましい実施形態を、単に一例として、図面に関連して説明する。
【発明を実施するための最良の形態】
【００３０】
図１は、安全ではないネットワークを介して接続されているクライアントおよびサーバの２つの部分から成る好ましい実施形態によるシステムを示している。登録されているすべてのユーザの指紋のデータベースがサーバによってホストされている。サーバは安全であると仮定する。クライアントおよび通信媒体は安全ではないと仮定する。目的は、任意の人物がクライアントで提供した指紋を、サーバのデータベースにある指紋と照合することによって、識別情報Ｉを認証要求している人物を認証することである。クライアントおよびサーバ・モジュールは、この照合を達成するために互いに通信する。クライアントが照合要求者（prover）、サーバが照合者である。好ましい実施形態のプロトコルは、クライアントとサーバの間の通信のチャネルが開いていると仮定し、傍受者が識別情報Ｉを有する人物のふりをすることができ得る価値のある情報を一切取得しないようにすることを目的としている。
【００３１】
基本的なプロトコルは、クライアントとサーバ間の質問と回答のシーケンスに基づいている。
１．プロトコルは、クライアントの識別情報Ｉの認証要求で開始する。
２．サーバは、Ｉの登録されている指紋のローカル・テンプレートＬをそのデータベースから取り出し、それぞれがＬからの１組の特徴点（minutiae）（以下で詳述）である１組のｋ個のパターンを作成する。こうしたｋ個のパターンは、次いでクライアントに送信されるクエリである。
３．クライアントは、クライアントのクエリ・テンプレートＬ’で、受信されたｋ個のパターンのそれぞれについて一致を見つけようと試みる。一致の概念は、以下のセクションで明細に述べる。クライアントは、ほぼうまく一致させることができたｋ個のパターンのサブセットのインデックスをサーバに送信する。このサブセットをＳと呼ぶ。
４．次いでサーバは、Ｓのパターンに関係する１組の質問を作成し、これらの質問をクライアントに送信する。
５．クライアントは、できる限りこれらの質問に答える。
６．サーバは、クライアントの回答の正確さに基づいて、識別情報についてのクライアントの認証要求が有効であるかどうかを決定する。
【００３２】
図２は、本発明の好ましい実施形態によるクライアントでの作業のフロー図を示している。システムに入るユーザは、その指紋、および認証要求した識別情報をクライアント・ソフトウェアに提供する。プロトコルは、機能ブロック５００で、クライアントがユーザの識別情報Ｉの認証要求をサーバに伝えることから始まる。
【００３３】
次いでクライアント・モジュールの実行は、機能ブロック１０００で、サーバがクライアントに１組のｋ個のクエリを伝えるのを待つ。
【００３４】
次いで実行は、クライアント・モジュールの機能ブロック１５００に進む。すべてのクエリを処理した後、実行は、続いて機能ブロック２０００に進む。ここでクライアントは、一致させることができたクエリの数をカウントする。一致したクエリの数がしきい値ｗ（好ましい実施形態では、このしきい値は３）未満の場合、ユーザはその識別情報を証明できず、実行は機能ブロック２５００に進む。ここで、失敗メッセージがユーザに表示される。そうでない場合、実行は機能ブロック３０００に進む。ここでクライアントは、最適に一致したｗ個の組をサーバに開示する。一致した１組は、それがどのクエリに対応するか、およびその要素のすべてのインデックス番号を明確に述べることによって明らかにされる。これがサブセットＳである。好ましい実施形態では、このセットＳは、ある３つのクエリｉ、ｊ、ｋに対応する３つの一致した組を含む。
【００３５】
クライアントでの実行の流れは、再度待機状態になり、機能ブロック３５００で、クライアントが１組の質問をサーバから取得したときに再開する。各質問は、クライアントから送信された一致した組を結合したもののサブセットである。応答して、クライアントは、このサブセットの何らかの特性を計算し、送信する必要がある。好ましい実施形態では、すべての質問は、クライアントによって送信された３つの一致した各組からの１点を含んでいる。したがって質問は、（Ｎ（Ｑａｉ），Ｎ（Ｑｂｊ），Ｎ（Ｑｃｋ））の形式のものである。こうした質問に応答して、クライアントは、ＱａｉおよびＱｂｊをＱｃｋに接続することによって形成される角度ｆを計算し、送信する。これは、機能ブロック４０００で行われる。
【００３６】
サーバは、照合の成功または失敗をクライアントに伝え、クライアントはユーザに伝える。
【００３７】
クエリは、Ｌ内の特徴点のあるサブセットから成る幾何パターンに関する情報から成る。好ましい実施形態では、ｉ番目のパターンはｒ＋１の特徴点｛ｐｉ０，ｐｉ１，ｐｉ２，．．．ｐｉｒ｝の集まりである。セキュリティの目的で、これらの特徴点は、Ｌ内の特徴点から均等に無作為に選択される。ｉ番目のクエリは、ベクトル（ｄｉ１，ｄｉ２，．．．ｄｉｒ）である。この場合ｄｉｊは、ｐｉ０とｐｉｊの間の距離である。ユークリッド距離やリッジカウント距離（指紋の２点間のリッジカウント距離は、それら２点を結ぶ線を横切る隆線の数）など様々な多くの距離尺度、あるいはそれらの組合せを使用することができるが、好ましい実施形態では、１対のデカルト座標値であり、２つの値がそれぞれユークリッド距離およびリッジカウント距離である距離尺度を使用する。
【００３８】
クエリｉを受信すると、クライアントはＬ’内でそれを一致させようとする。つまりクライアントは、Ｌ’内の１組の点Ｘ＝｛ｑｉ０，ｑｉ１，ｑｉ２，．．．ｑｉｓ｝、およびサイズｓのクエリのサブセットＹが何らかの幾何的な意味で類似し、ｓが最大になるように、それらの組ＸおよびＹを見つけようとする。好ましい実施形態では、クライアントは、範囲［１，ｓ］内のすべてのｊについて、ｑｉｊからｑｉ０への距離が（指定された許容差内で）ｄｉｆ（ｊ）に等しくなるように、Ｌ’内の特徴点の１組｛ｑｉ０，ｑｉ１，ｑｉ２，．．．ｑｉｓ｝、および［１，ｓ］から［１，ｒ］への１対１写像ｆを見つけようとする。こうした組は、クエリの一致候補と呼ばれる。クライアントは、最大のこうした組を見つける。最大の一致候補のサイズｓが指定されたしきい値ｔを超える場合、クエリは｛ｑｉ０，ｑｉ１，ｑｉ２，．．．ｑｉｓ｝と一致すると言われ、そうでない場合は一致しない。ｑｉｊのインデックス番号Ｎ（ｑｉｊ）は、ｆ（ｊ）と定義される。
【００３９】
図３は、本発明の好ましい実施形態に従ってクエリを処理するためのクライアントでの作業のフロー図を示している。クライアントは、ｋ個のクエリを受信する。これらのクエリは、１つずつ処理される。実行は決定ブロック１５１０で開始する。ここでクライアントは、まだ処理されていないクエリが残っているかどうかをチェックする。未処理のクエリが残っていない場合、実行は続行し、そうでない場合は機能ブロック１５２０に進む。ここでクライアントは、処理すべき次のクエリｉを選択する。次に、機能ブロック１５３０で、クライアントは、このクエリに関する（あるサイズｓの）最大の一致候補を見つける。決定ブロック１５５０で、クライアントは、ｓ＞ｔであるかどうかをチェックする。クエリｉは、ｓ＞ｔでない場合は一致せず、そうでない場合は一致し、機能ブロック１５８０で、クライアントはクエリｉに関して一致した組、ｑｉ０，ｑｉ１，ｑｉ２，．．．ｑｉｓのサブセットＱ１ｉ，Ｑ２ｉ，．．．ＱＴｉを選択する。次に、実行は決定ブロック１５１０に戻る。
【００４０】
図４は、本発明の好ましい実施形態によるサーバの作業のフロー図を示している。最初にサーバは、機能ブロック５００で、クライアントが識別情報Ｉの認証要求をサーバに伝えるのを待つ。実行は続いて機能ブロック５０００に進む。ここでサーバは、そのデータベースからＩに対応する指紋Ｌを取り出す。
【００４１】
次いで実行は、機能ブロック５５００に進む。ここでＬを使用して、上述したようにｋ個のクエリを構築する。次に、実行は機能ブロック１０００に進み、ここでサーバは、ｋ個のクエリのこの組をクライアントに送信する。
【００４２】
クライアントがｗ個のクエリ（セットＳ）のインデックス、および対応する一致した組で応答すると、実行は機能ブロック６０００に進む。ここでサーバは、Ｔ個の質問をＳから作成する。サーバは、ｗ個の一致した組の要素をグループまたはパターンにグループ分けする。好ましい実施形態では、これらの要素は、それぞれが形式（Ｑａｉ，Ｑｂｊ，Ｑｃｋ）をしたＴ個の順序付きの３個組にグループ分けされる。各３個組は、３つの一致した組（上述したように好ましい実施形態ではｗ＝３）の要素をそれぞれ１つずつ含む。こうした各３個組が質問であり、それに対する正解は、ＱａｉおよびＱｂｊをＱｃｋに接続することによって形成される角度ｑとなる。
【００４３】
質問を作成したら、実行は機能ブロック３５００に進む。ここでサーバは、クライアントに、（Ｎ（ｐａｉ），Ｎ（ｐｂｊ），Ｎ（ｐｃｋ））間の角度を開示するよう要求する。例えば、質問を次のように、「２番目のクエリの３番目の点、５番目のクエリの７番目の点、および１番目のクエリの６番目の点の間の角度を開示せよ」と解釈することができる。
【００４４】
機能ブロック４０００で、クライアントは、質問ごとに角度で回答する。サーバ・モジュールの実行は、続いて機能ブロック６５００に進み、ここでサーバは、クライアントからの正解の数をカウントする。クライアントが角度ｆを送信し、正解がｑの質問の場合、サーバは、ｑとｆの間の差が小さい（すなわちａｂｓ（ｆ−ｑ）＜Ａ、この場合Ａは選択された何らかのしきい値）場合、この回答を正しいと認め、そうでない場合は、その回答が誤りであるとみなす。
【００４５】
次いで実行は決定ブロック７０００に到達し、ここでサーバは、正解の数がＭを超えるかどうかをチェックする。この場合Ｍは、別の選択されたしきい値である。Ｍを超える場合、クライアントは、８０００で認証される。そうでない場合、サーバは、７５００で認証できなかったと宣言する。サーバは、適切な決定をクライアントに伝えて終了する。
【００４６】
図５は、あるバリエーション（バリエーション−１）のサーバでのクエリ生成プロセスでのクエリの作成に使用する複数の角度の使用を示す。このバリエーションでは、クライアントの特徴点検出ソフトウェアの戻り値によって戻された多くの特徴点が擬似であるノイジーな入力に対してプロトコルをより堅固にする必要性が原動力となっている。
【００４７】
一致したパターン要素の最低数の値「ｗ」は、６まで増やされる。クライアントは、６つのクエリを識別、選択して、対応する一致した組をサーバに送信する。次いでサーバは、識別された各クエリから１つずつ、６つの特徴点、例えばｐ１、ｐ２、ｐ３、ｐ４、ｐ５、ｐ６を選び出し、これら６つの特徴点によって形成される４つの角度を選択する。６つの特徴点の間の４つの角度は、傍受者に対して指紋に関する有用な情報を漏らさないように考案された特定のやり方で選択される。図５に、角度を選択するためのこのルールを示している。
【００４８】
その他のプロトコルは、そのまま変わらない。
【００４９】
別のバリエーション（バリエーション２）のクエリ生成プロセスでは、エラーを減らそうと努める。中央から同じ距離／隆線数のところに２つの点がある場合、すなわち両方の点ｑ１およびｑ２がｑ０から同じ距離／隆線数のところにある場合を考察する。こうした場合、クライアントは、たとえ代わりにｑ２を含むことが「正しい」場合でも、一致候補にｑ１を含んでいる場合もある。バリエーション２では、こうしたエラーを避ける必要性が原動力となっている。
【００５０】
このバリエーションでは、２つの異なる点ｐｉ０およびｖｉから均等かつ無作為に選択された１組のｒ個の特徴点の距離を使用してクエリＩが形成される。まず無作為に｛ｐｉ０，ｖｉ，ｐｉ１，ｐｉ２，．．．，ｐｉｒ｝を選択し、次いでクエリを１対のベクトル（（ｄｉ１，ｄｉ２，．．．，ｄｉｒ），（Ｄｉｌ，Ｄｉ２，．．．，Ｄｉｒ））として作成する。この場合ｄｉｊは、ｐｉ０とｐｉｊの間の距離、Ｄｉｊは、ｖｉとｐｉｊの間の距離である。現在一致候補は、形式｛ｑｉｏ，ｚｉ，ｑｉ１，ｑｉ２，．．．，ｑｉｓ｝のものであり、したがってすべてのｊについて、ｑｉｊからｑｉ０までの距離がｄｉｆ（ｊ）に、ｑｉｊからｚｉまでの距離がＤｉｆ（ｊ）に等しくなる（いずれも指定された許容差内である）。
【００５１】
プロトコルのすべての他の要素はそのまま変わらない。
【００５２】
一般にバリエーション２は、各クエリが、ｘ個のｒサイズのベクトルから成り、それぞれが異なる中心点から選択されたｒ個の点の距離に対応するものであるように変更することができる。
【００５３】
サーバおよびクライアントのみに知られている秘密の順列をそれらが共有することができる用途では、バリエーション２に、余分のセキュリティの層を加えることができる。サーバは、それぞれが１対のベクトルであるクエリを送信中に、秘密の順列に従ってその対の２番目のベクトルを並べ替えることになる。クライアントは、各クエリの２番目のベクトルの順序を元に戻し、上記のとおりに進む。
【００５４】
提案した上記のバリエーションに加えて、プロトコルの精度を向上させることによって認証プロセスの作業をさらに強化することができる。プロトコルの精度は、画像ノイズのために特徴点抽出ソフトウェアによって投入される擬似の特徴点によって影響を受ける。クエリｉの作成に使用された特徴点ｐｉ０が擬似である場合、認証プロセスでこのクエリが有用となることはできない。これは、プロトコルに正しく従っているクライアントによる認証の成功の機会が擬似の特徴点によってどのようにして低減するかを示している。ある機能強化では、サーバのデータベース内にある画像の擬似の特徴点の数を減らすことによってこの問題に対処する。
【００５５】
この機能強化では、ユーザの登録時、ユーザの指紋をサーバのデータベースに追加するとき、ユーザの指紋のいくつかの画像が取得される。次いでこれらの画像は、２個組とみなされ、こうした対の一方の画像に存在する特徴点がその対の他方の画像の特徴点に一致することが求められる。こうしたマッチングは、手動で、あるいはソフトウェアを使用して行うことができる。第１の画像の１つの特徴点ａが第２の画像の特徴点ｂに一致する場合、特徴点ａおよびｂは擬似ではないとみなされる。
【００５６】
サーバのデータベースに格納される指紋は、いくつかの画像の１つから導出される。これは、上記のプロセスで他の画像の任意の特徴点に一致しなかったすべての特徴点を画像からドロップすることによって行われる。
【図面の簡単な説明】
【００５７】
【図１】本発明の好ましい実施形態によるシステムを示す図である。
【図２】本発明の好ましい実施形態によるクライアントでの作業を示すフロー図である。
【図３】本発明の好ましい実施形態に従ってクエリを処理するためのクライアントでの作業を示すフロー図である。
【図４】本発明の好ましい実施形態によるサーバの作業を示すフロー図である。
【図５】サーバでのクエリ生成プロセスのバリエーションを示す図である。
【図１】
2004536384.tif 000003
【図２】
2004536384.tif 000004
【図３】
2004536384.tif 000005
【図４】
2004536384.tif 000006
【図５】
2004536384.tif 000007
【国際公開パンフレット】
2004536384.tif 000008
2004536384.tif 000009
2004536384.tif 000010
2004536384.tif 000011
2004536384.tif 000012
2004536384.tif 000013
2004536384.tif 000014
2004536384.tif 000015
2004536384.tif 000016
2004536384.tif 000017
2004536384.tif 000018
2004536384.tif 000019
2004536384.tif 000020
2004536384.tif 000021
2004536384.tif 000022
2004536384.tif 000023
2004536384.tif 000024
2004536384.tif 000025
2004536384.tif 000026
2004536384.tif 000027
2004536384.tif 000028
2004536384.tif 000029
2004536384.tif 000030
【国際公開パンフレット（コレクトバージョン）】
2004536384.tif 000031
2004536384.tif 000032
【国際調査報告】
2004536384.tif 000033
2004536384.tif 000034