以下に添付図面を参照して本願に係る認証装置、認証方法および認証プログラムについて説明する。なお、以下の実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
以下の実施例1では、利用者の識別子を用いずに、利用者から取得した生体情報とあらかじめ登録された生体情報とを比較することで認証を行う1:N認証を行う認証システムについて説明する。図1は、実施例1に係る認証システムを説明する図である。図1に示すように、認証システム1は、生体センサ2、クライアント3、ネットワーク4、キャッシュサーバ5、認証サーバ6、認証サーバ7、およびDB(DataBase)サーバ8を有する。
なお、図1に示す例では、記載を省略したが、認証システム1は、認証サーバ6と同様の機能を発揮する認証サーバを他にも有しているものとする。また、以下の説明では、認証サーバ7は、認証サーバ6と同様の機能を発揮するものとして、説明を省略する。
例えば、生体センサ2は、認証対象である利用者の生体情報を取得する読取装置である。具体的には、生体センサ2は、利用者の複数部位から、各部位の生体情報を読み取る。例えば、生体センサ2は、利用者の人差し指と中指と薬指との指紋部分を含む画像データ、および手のひらの静脈形状の画像データを取得する。そして、生体センサ2は、取得した画像データをクライアント3に出力する。
クライアント3は、生体センサ2が読み取った画像から複数の生体情報を抽出し、ネットワーク4を介して、抽出した生体情報をキャッシュサーバ5に送信する。例えば、クライアント3は、人差し指と中指と薬指との指紋部分を含む画像データから、人差し指、中指、薬指それぞれの指紋画像データを抽出する。そして、クライアント3は、抽出した各指紋画像データから指紋の生体情報を生成する。
また、クライアント3は、手のひらの静脈形状の画像データから、静脈の形状パターンを抽出し、抽出した形状パターンを示す生体情報を生成する。そして、クライアント3は、生成した複数の生体情報を含む複合生体情報をキャッシュサーバ5へ送信する。
また、クライアント3は、キャッシュサーバ5から利用者を認証した旨の通知を受信した場合には、利用者に認証された旨を通知する。一方、クライアント3は、キャッシュサーバ5から利用者の認証に失敗した旨の通知を受信した場合は、利用者から複合生体情報を再取得し、再取得した複合生体情報をキャッシュサーバ5に出力する。つまり、認証システム1は、認証のリトライを実行する。
キャッシュサーバ5は、クライアント3から複合生体情報を受信すると、受信した複合生体情報をキャッシュするとともに、受信した複合生体情報を認証サーバ6へ送信する。なお、キャッシュサーバ5は、認証サーバ6の処理負荷が大きく、認証を迅速に行えない場合には、認証サーバ7等、他の認証サーバに複合生体情報を送信してもよい。
また、キャッシュサーバ5は、認証サーバ6から、複合生体情報の照合結果を受信すると、受信した照合結果に基づいて、クライアント3に認証結果を送信する。例えば、キャッシュサーバ5は、認証サーバ6から、複合生体情報に含まれる各生体情報について、DBサーバ8に登録された複合生体情報に含まれる各生体情報との類似度を受信する。そして、キャッシュサーバ6は、受信した全ての類似度が所定の閾値よりも大きい場合は、クライアント3に対して、利用者を認証した旨を通知する。一方、キャッシュサーバ6は、いずれかの類似度が所定の閾値よりも小さい場合は、クライアント3に対して、利用者の認証に失敗した旨を通知する。
認証サーバ6は、利用者から取得された複合生体情報と、DBサーバ8にあらかじめ登録された複合生体情報との照合を行う。例えば、DBサーバ8は、利用者を示すユーザIDと、ユーザIDが示す利用者から取得した複合生体情報とを対応付けて記憶する。また、認証サーバ6は、キャッシュサーバ5から複合生体情報を受信すると、受信した複合生体情報に含まれる各生体情報と、DBサーバ8に登録された複合生体情報に含まれる各生体情報との類似度をそれぞれ算出する。
例えば、認証サーバ6は、受信した複合生体情報に含まれる人差し指の指紋の特徴点データと、DBサーバ8に登録された複合生体情報に含まれる人差し指の指紋の特徴点データとの類似度を算出する。また、認証サーバ6は、中指、薬指、および静脈の生体情報同士についても、類似度をそれぞれ算出する。そして、認証サーバ6は、各部位の生体情報について算出した類似度をキャッシュサーバ5に対して送信する。
ここで、従来の認証システムでは、利用者の認証が失敗した場合は、利用者から再度取得された複数の生体情報と、あらかじめ登録された生体情報とを改めて照合し、利用者の認証を行う。しかしながら、例えば、1:N認証を行う場合、従来の認証システムは、利用者から取得された複数の生体情報と、あらかじめ登録された生体情報とを総当りで照合するので、リトライ時の認証に、1回目の認証時と同程度の時間を要する。
また、従来の認証システムは、利用者から取得した複数の生体情報のうち、一部の生体情報の品質が所定の基準を満たさない場合は、他の生体情報とあらかじめ登録された生体情報とが類似するにもかかわらず、利用者の認証に失敗したと判定する。そして、従来の認証システムは、利用者から複数の生体情報を再度取得し、再度取得した複数の生体情報とあらかじめ登録された生体情報とを総当りで照合する。このため、従来の認証システムは、リトライ時に、無駄な照合を実行してしまう。
そこで、認証システム1は、以下の処理を実行する。例えば、認証システム1は、利用者から取得された生体情報とDBサーバ8に登録された生体情報との照合を行う。そして、認証システム1は、照合の結果、利用者から取得された複合生体情報の一部がDBサーバ8に登録された生体情報と類似しない場合は、以下の処理を実行する。
まず、認証システム1は、再度利用者から取得される複数の生体情報から、前回の照合時にDBサーバ8に登録された生体情報と類似しなかった生体情報と同じ部位から取得された生体情報を抽出する。そして、認証システム1は、抽出した生体情報についてのみ、DBサーバ8に登録された生体情報と再照合する差分照合を行う。その後、認証システム1は、照合結果と再照合結果とに基づいて、利用者の認証を行う。
このように、認証システム1は、リトライ時に利用者から取得した複数の生体情報のうち、前回の照合時に登録された生体情報と類似しなかった生体情報と同じ部位の生体情報のみを再照合の対象とする。このため、認証システム1は、余分な生体情報の照合を行わないので、認証のリトライ時に係る時間を短縮できる。なお、以下の説明では、DBサーバ5に登録された生体情報と類似すると判定された生体情報を認証に成功した生体情報と記載し、DBサーバ5に登録された生体情報と類似しないと判定された生体情報を認証に失敗した生体情報と記載する場合がある。
次に、図2を用いて、認証システム1が有する機能構成について説明する。図2は、実施例1に係る認証システムの機能構成を説明する図である。図2に示す例では、クライアント3は、生体情報取得部10、画像処理部11、生体部位識別部12、副次情報抽出部13、生体情報生成部14を有する。また、キャッシュサーバ5は、キャッシュ管理部20、キャッシュ記憶部21、同一生体情報判定部22、副次情報比較部23、照合スコア管理部24を有する。また、認証サーバ6は、照合処理部30を有する。
まず、生体情報の読み出しを行う生体センサ2の具体例について説明する。生体センサ2は、利用者の人差し指、中指、薬指の指紋画像と、手のひらの静脈の形状を示す画像とを取得する。例えば、図3は、生体センサの一例を説明する図である。図3に示す例では、生体センサ2は、指紋センサエリア201、手のひら静脈センサ202、手首固定用ガイド203、指固定用ガイド204とを有する。
指紋センサエリア201は、利用者の人差し指、中指、薬指の指紋を撮像するセンサである。また、手のひら静脈センサ202は、利用者の静脈形状を撮像するセンサである。また、手首固定用ガイド203は、生体情報の読取を正確に行えるように、利用者の手首位置を固定するためのガイドである。また、指固定用ガイド204は、利用者の各指の位置を固定するためのガイドである。
例えば、図3に示す生体センサ2は、手首固定用ガイド203、および指固定用ガイド204に従って利用者の手が置かれると、指紋センサエリア201上に触れている3指の指紋を撮像した1つの画像データを生成する。例えば、生体センサ2は、利用者の右手人差し指、中指、薬指の指紋を撮像した画像データを生成する。また、生体センサ2は、手のひら静脈センサ202が読み取った静脈形状の画像データを生成する。そして、生体センサ2は、生成した2つの画像データをクライアント3に出力する。
なお、生体センサ2は、利用者の右手、左手に係らず生体情報を読み出すことができる。このため、認証システム1は、生体センサ2が生体情報を読み取る際に、クライアント3を介して、生体情報の読取対象となる手を利用者に指示することで、生体情報を読み出す部位を統一する。例えば、認証システム1は、『右手のデータを入力してください。』等のメッセージをクライアント3に接続された図示しないモニタ等に表示させることで、認証を行う際の生体情報の部位を統一する。
図2に戻って、生体情報取得部10は、生体センサ2が有する指紋センサや手のひら静脈センサ等を制御し、利用者の指紋、および手のひら静脈の画像データを取得する。そして、生体情報取得部10は、取得した指紋の画像データおよび手のひら静脈の画像データを画像処理部11に出力する。
また、生体情報取得部10は、利用者の認証に失敗した旨の通知を認証サーバ6から受信すると、生体センサ2を制御して、利用者の指紋、および手のひら静脈の画像データを再取得する。
画像処理部11は、生体センサ2から受信した各画像データの画像処理を行う。例えば、画像処理部11は、生体情報取得部10から画像データを受信すると、画像データのノイズ除去を行う。また、画像処理部11は、画像データに対して、二極化処理、細線化処理を行い、画像中の指紋、および静脈の形状を明確にする。そして、画像処理部11は、各画像データを生体部位識別部12に出力する。
生体部位識別部12は、画像処理部11から受信した画像中の生体情報がどの部位の生体情報であるかを識別する。例えば、生体部位識別部12は、指紋の画像データを受信すると、画像データ中から指紋の形状が含まれる3つの領域を識別する。また、生体部位識別部12は、識別した指紋の位置関係から、各指紋がどの指の指紋であるかを識別する。
例えば、生体部位識別部12は、画像データ中に右手の人差し指、中指、薬指の指紋が含まれる場合は、画像データ中から指紋が撮像されている領域を3つ識別する。そして、生体部位識別部12は、画像データ中左側に位置する領域から順に、人差し指、中指、薬指の指紋が含まれる領域であると判定する。
その後、生体部位識別部12は、識別した各領域ごとの画像データ、すなわち、各指の指紋が撮像された画像データを生成し、生成した各指の画像データを部位を示す情報とともに副次情報抽出部13、および生体情報生成部14に出力する。なお、生体部位識別部12は、手のひら静脈の画像データについても、手のひら静脈である旨を示す情報とともに生体情報生成部14に出力する。
副次情報抽出部13は、各部位の乾燥状態等、認証に用いる生体情報以外の副次情報を抽出する。具体的には、副次情報抽出部13は、生体部位識別部12から受信した各指の画像データについて画素値のヒストグラムを生成し、生成したヒストグラムから各指の乾燥状態を読み出す。詳細には、副次情報抽出部13は、各指の画像データにおいて乾燥状態となる領域と湿潤状態となる領域との割合に応じた各指の状態を副次情報として生体情報生成部14に出力する。
以下、図4A〜4Dを用いて、副次情報抽出部13が画素値のヒストグラムから指の乾燥状態を読み出す処理の一例について説明する。まず、図4Aを用いて、副次情報抽出部13が算出する画素値のヒストグラムについて説明する。図4Aは、画素値のヒストグラムの一例を示す図である。なお、図4Aには、横軸に画素値の値を取り、縦軸に各画素値の画素の数をプロットした。ここで、画素値とは、各画素の色を示す数値であり、例えば、画像データが256階調のグレースケールである場合は、グレースケールの階調を示す数値である。
例えば、副次情報抽出部13は、受信した各指紋の画像データのヒストグラムを作成すると、図4Aに示すように、指紋の隆線と谷線とを示す2つの山が現れたヒストグラムを得ることができる。詳細には、副次情報抽出部13は、指紋の谷となる部分、すなわち画像データ中で暗い色となる谷線部分の山(A)と、指紋の山となる部分、すなわち画像データ中で明るい色となる隆線部分の山(B)とが現れたヒストグラムを得る。
次に、図4B、4Cを用いて、品質が良好な画像データを読み取った際に副次情報抽出部13が得るヒストグラムについて説明する。図4Bは、品質の良い指紋データの一例を説明する図である。例えば、副次情報抽出部13は、理想的な環境で利用者の指紋が読み取られた場合は、図4Bに示すように、指紋の稜線と谷線とが明確な画像を取得する。このため、副次情報抽出部13は、図4Bに例示するような理想的な指紋画像を取得した場合は、図4Cに例示するヒストグラムを得る。
図4Cは、良好な指紋画像のヒストグラムの一例を示す図である。例えば、副次情報抽出部13は、理想的な指紋画像を取得した場合は、図4C中(C)に示すように、谷線と隆線とのピークの距離が離れており、図4C中(D)に示すように、各ピークの値がはっきりとしたヒストグラムを得ることができる。
ここで、利用者の指が乾燥状態である場合、または湿潤状態である場合には、生体センサ2は、良好な指紋画像を取得することができない。すなわち、利用者の指が乾燥状態である場合、または湿潤状態である場合は、副次情報抽出部13は、コントラストが低いヒストグラムを得る。
図4Dは、品質の低い指紋データの一例を説明する図である。例えば、副次情報抽出部13は、利用者の指が乾燥状態である場合は、図4D中(E)に示すように、画像全体の明度が高いため、コントラストの差分が低く、稜線が明確ではない画像を取得する。また、例えば、副次情報抽出部13は、利用者の指が湿潤状態である場合は、図4D中(F)に示すように、画像全体の明度が低いため、コントラストの差分が低く、谷線が明確ではない画像を取得する。このため、副次情報抽出部13は、ヒストグラムのコントラストが所定の閾値よりも低い場合は、利用者の指が乾燥状態である、または湿潤状態であると判定する。
以下、図4Eを用いて、副次情報抽出部13が利用者の指の状態を判定する処理について説明する。図4Eは、コントラストが低い指紋画像のヒストグラムの一例を示す図である。例えば、副次情報抽出部13は、谷線のピーク値「p1」と隆線のピーク値「p2」を抽出する。次に、副次情報抽出部13は、ピーク値「p1」よりも画素値が小さい範囲において、最も低い画素数の値とピーク値「p1」における画素数との差「d1」を算出する。
また、副次情報抽出部13は、ピーク値「p2」よりも画素値が大きい範囲において、最も低い画素数の値とピーク値「p2」における画素数との差「d2」を算出する。そして、副次情報抽出部13は、「d1」から「d2」を減算した値の絶対値が所定の閾値よりも小さい場合は、コントラストが低い指紋画像であり、利用者の指が乾燥状態、または湿潤状態であると判定する。
また、副次情報抽出部13は、利用者の指が乾燥状態、または湿潤状態であると判定した場合は、ヒストグラムから利用者の指が乾燥状態と湿潤状態のいずれであるかを判定する。例えば、図4Fは、指の状態を判別する処理の一例を示す図である。副次情報抽出部13は、図4F中斜線で示すように、あらかじめ設定された画素値「S」よりも画素値が少ない範囲における画素数の和がヒストグラムの全画素数に示す割合「r」を算出する。
ここで、利用者の指が湿潤状態である場合は、指紋画像が全体的に暗くなり、利用者の指が乾燥状態である場合は、指紋画像が全体的に明るくなると考えられる。このため、副次情報抽出部13は、算出した「r」の値があらかじめ設定した閾値「r1」よりも大きい場合には、利用者の指が湿潤状態であると判定する。また、副次情報抽出部13は、算出した「r」の値があらかじめ設定した閾値「r2」よりも小さい場合には、利用者の指が乾燥状態であると判定する。
また、副次情報抽出部13は、指紋画像の指の状態、指紋の稜線の幅、紋様のパターン、指の種類など、DBサーバ8に登録された生体情報と照合を行う情報以外の任意の情報を副次情報として抽出する。そして、副次情報抽出部13は、利用者の部位ごとにまとめた副次情報を生体情報生成部14に出力する。
図2に戻って、生体情報生成部14は、生体センサ2が読み取った指紋や静脈の画像から、照合時に用いるデータを生成する。例えば、生体情報生成部14は、各指の画像データを受信すると、各指の画像データに撮像された指紋の稜線や谷線から、中心点、分岐点、端点、三角州などの特徴点を抽出し、抽出した特徴点の位置関係等を含む特徴点情報を生体情報として抽出する。すなわち、生体情報生成部14は、いわゆるマニューシャマッチングデータを生体情報として抽出する。また、生体情報生成部14は、手のひら静脈の画像データから、静脈の形状パターンを示すパターンマッチングデータを生体情報として抽出する。
そして、生体情報生成部14は、抽出した各指、および手のひら静脈の生体情報と、副次情報抽出部13から受信した各指の副次情報とをまとめた複合生体情報を生成する。その後、生体情報生成部14は、生成した複合生体情報をキャッシュサーバ5へ送信する。なお、生体情報生成部14は、利用者の認証に失敗した旨の通知を生体情報取得部10が受信し、利用者から再取得された生体情報から複合生体情報を生成した場合は、生成した複合生体情報を再取得された複合生体情報として、キャッシュサーバ5に送信する。
次に、キャッシュサーバ5の機能構成について説明する。キャッシュ管理部20は、ネットワーク4を介して、クライアント3から複合生体情報を受信すると、ネットワーク4を介して、複合生体情報を認証サーバ6へ送信するとともに、複合生体情報をキャッシュ記憶部21に登録する。なお、キャッシュ記憶部21は、キャッシュ管理部20が登録した複合生体情報を一時的に保持する記憶装置であり、特許請求の範囲に記載の保持部の一例である。
また、キャッシュ管理部20は、クライアント3が再取得した複合生体情報を受信すると、前回キャッシュ記憶部21に登録した複合生体情報を読み出す。そして、キャッシュ管理部20は、読み出した複合生体情報と、受信した複合生体情報とを同一生体情報判定部22、および副次情報比較部23に出力する。
なお、以下の説明では、キャッシュ記憶部21から読み出した複合生体情報、すなわち、クライアント3が前回取得した複合生体情報を、取得された複合生体情報と記載する。また、以下の説明では、クライアント3が再取得した複合生体情報を、再取得された複合生体情報と記載する。
同一生体情報判定部22は、取得された複合生体情報と再取得された複合生体情報とが同一の利用者の複合生体情報であるか否かを判定する。具体的には、同一生体情報判定部22は、キャッシュ管理部20から、取得された複合生体情報と再取得された複合生体情報とを受信する。同一生体情報判定部22は、副次情報比較部23から、取得された複合生体情報の副次情報と再取得された複合生体情報の副次情報とが類似するか否かを示す通知を受信する。
そして、同一生体情報判定部22は、副次情報比較部23から、取得された複合生体情報の副次情報と再取得された複合生体情報の副次情報とが類似する旨を示す通知を受信した場合は、以下の処理を実行する。すなわち、同一生体情報判定部22は、取得された複合生体情報と再取得された複合生体情報とが同一の利用者の複合生体情報であるか否かを判定する。
そして、同一生体情報判定部22は、取得された複合生体情報と、再取得された複合生体情報とが同一の利用者の複合生体情報であると判定した場合は、再取得された複合生体情報と、差分照合の実行指示とを照合スコア管理部24に出力する。一方、同一生体情報判定部22は、取得された複合生体情報と、再取得された複合生体情報とが同一の利用者の複合生体情報ではないと判定した場合は、再取得された複合生体情報と、通常照合の実行指示とを照合スコア管理部24に出力する。
一方、同一生体情報判定部22は、副次情報比較部23から、取得された複合生体情報の副次情報と再取得された複合生体情報の副次情報とが類似しない旨を示す通知を受信した場合は、以下の処理を実行する。すなわち、同一生体情報判定部22は、取得された複合生体情報の副次情報と再取得された複合生体情報の副次情報とが同一の利用者の複合生体情報ではないと判定する。そして、同一生体情報判定部22は、再取得された複合生体情報を照合スコア管理部24に出力し、通常の照合を実行するよう指示する。なお、同一生体情報判定部22は、特許請求の範囲に記載の判定部の一例である。
以下、同一生体情報判定部22が実行する処理の一例として、副次情報比較部23から、取得された複合生体情報の副次情報と再取得された複合生体情報の副次情報とが類似する旨を示す通知を受信した再に実行する処理の一例を説明する。例えば、同一生体情報判定部22は、取得された複合生体情報に含まれる人差し指の指紋の特徴点情報と、再取得された複合生体情報に含まれる人差し指の指紋の特徴点情報とを照合し、類似度を算出する。同様に、同一生体情報判定部22は、中指の指紋の特徴点情報、薬指の指紋の特徴点情報、および、静脈のパターンマッチングデータについても照合を行い、類似度をそれぞれ算出する。
そして、同一生体情報判定部22は、例えば、算出した複数の類似度に、所定の閾値よりも高い値の類似度が含まれる場合は、取得された複合生体情報と再取得された複合生体情報とが同一の利用者の複合生体情報であると判定する。つまり、同一生体情報判定部22は、再取得された複合生体情報に、取得された複合生体情報に含まれる生体情報と類似する生体情報が含まれる場合は、取得された複合生体情報と再取得された複合生体情報とが同一の利用者の複合生体情報であると判定する。そして、同一生体情報判定部22は、再取得された複合生体情報を照合スコア管理部24に出力し、差分照合の実行を指示する。
一方、同一生体情報判定部22は、算出した複数の類似度に、所定の閾値よりも高い値の類似度が含まれない場合は、取得された複合生体情報と再取得された複合生体情報とが同一の利用者の複合生体情報ではないと判定する。そして、同一生体情報判定部22は、再取得された複合生体情報を照合スコア管理部24に出力し、通常の照合を実行するよう指示する。
なお、同一生体情報判定部22は、取得された複合生体情報と再取得された複合生体情報とが同一の利用者の複合生体情報であると判定する条件として、任意の条件を採用できる。例えば、同一生体情報判定部22は、算出した類似度の和が所定の閾値よりも高い場合は、取得された複合生体情報と再取得された複合生体情報とが同一の利用者の複合生体情報であると判定してもよい。また、同一生体情報判定部22は、算出した複数の類似度のうち、所定の数の類似度が、所定の閾値よりも高い値である場合は、取得された複合生体情報と再取得された複合生体情報とが同一の利用者の複合生体情報であると判定してもよい。
副次情報比較部23は、取得された複合生体情報に含まれる各部位の副次情報と、再取得された複合生体情報に含まれる各部位の副次情報とを比較する。そして、副次情報比較部23は、取得された複合生体情報に含まれる各部位の副次情報と、再取得された複合生体情報に含まれる各部位の副次情報とが類似する場合は、以下の処理を実行する。すなわち、副次情報比較部23は、取得された複合生体情報の副次情報と再取得された複合生体情報の副次情報とが類似する旨を示す通知を同一生体情報判定部22に出力する。
一方、副次情報比較部23は、取得された複合生体情報に含まれる各部位の副次情報と、再取得された複合生体情報に含まれる各部位の副次情報とが類似しない場合は、以下の処理を実行する。すなわち、副次情報比較部23は、取得された複合生体情報の副次情報と再取得された複合生体情報の副次情報とが類似しない旨を示す通知を同一生体情報判定部22に出力する。
例えば、副次情報比較部23は、取得された複合生体情報に含まれる人差し指の副次情報と、再取得された複合生体情報に含まれる人差し指の副次情報とを抽出し、抽出した各副次情報の類似度を算出する。同様に、副次情報比較部23は、他の部位についても、取得された複合生体情報、および再取得された複合生体情報から副次情報を抽出し、抽出した副次情報の類似度を算出する。
そして、副次情報比較部23は、算出した各類似度に基づいて、取得された複合生体情報に含まれる各部位の副次情報と、再取得された複合生体情報に含まれる各部位の副次情報とが類似するか判定する。例えば、副次情報比較部23は、算出した各類似度の合計が所定の閾値よりも高い場合は、各類似度のうち、所定の数の類似度が所定の閾値よりも高い場合等には、各複合生体情報に含まれる副次情報が類似すると判定する。
照合スコア管理部24は、取得された複合生体情報の照合結果と、再取得された複合生体情報のうち、前回の認証に失敗した生体情報を用いた照合結果とに基づいて、利用者の認証を行う。なお、照合スコア管理部24は、特許請求の範囲に記載の抽出部、および、認証部の一例である。
例えば、利用者から新たな生体情報が読み取られた場合は、同一の利用者の生体情報がキャッシュ記憶部21に記憶されていない。このため、照合スコア管理部24は、利用者から新たな生体情報が読み取られた場合は、同一生体情報判定部22から、複合生体情報とともに、通常照合の実行指示を受信する。かかる場合は、照合スコア管理部24は、受信した複合生体情報を認証サーバ6に送信し、照合を依頼する。
また、照合スコア管理部24は、複合生体情報に含まれる各生体情報の照合結果を受信する。詳細には、照合スコア管理部24は、複合生体情報に含まれる生体情報ごとに、DBサーバ8に登録された生体情報との類似度を示す照合スコアを受信する。そして、照合スコア管理部24は、例えば、受信した全ての照合スコアが、所定の閾値以上である場合は、クライアント3に対し、認証が成功した旨を通知する。
一方、照合スコア管理部24は、いずれかの照合スコアが所定の閾値よりも小さい値である場合は、受信した各照合スコアを保持する。そして、照合スコア管理部24は、クライアント3に対し、認証が失敗した旨を通知する。かかる場合、クライアント3の生体情報取得部10は、利用者の生体情報を再度取得する。そして、クライアント3の生体情報生成部14は、再取得された複合生体情報をキャッシュサーバ5に送信する。この結果、キャッシュ記憶部21には、同一の利用者から前回読み取った複合生体情報が格納されているので、照合スコア管理部24は、再取得された複合生体情報と、差分照合の実行指示とを受信する。
かかる場合、照合スコア管理部24は、再取得された複合生体情報に含まれる生体情報のうち、前回の照合時に認証が失敗した生体情報と同じ部位から取得された生体情報を抽出する。具体的には、照合スコア管理部24は、保持した照合スコアのうち、所定の閾値よりも小さい値である照合スコアが、どの部位の生体情報についての照合スコアであるかを識別する。そして、照合スコア管理部24は、再取得された複合生体情報に含まれる生体情報から、識別した部位の生体情報を抽出する。その後、照合スコア管理部24は、抽出した生体情報を認証サーバ6に送信し、照合を依頼する。
この結果、照合スコア管理部24は、抽出した生体情報の照合スコアを認証サーバから受信する。そして、照合スコア管理部24は、受信した全ての照合スコアが所定の閾値以上であるか否かを判定し、受信した全ての照合スコアが所定の閾値以上である場合は、認証が成功した旨の通知をクライアント3に送信する。一方、照合スコア管理部24は、受信した照合スコアに、所定の閾値よりも小さい照合スコアが含まれる場合は、認証に失敗した旨をクライアント3に送信する。
以下、図5〜図7を用いて、照合スコア管理部24が実行する処理の一例について説明する。図5は、実施例1に係る認証システムが実行する照合の一例を説明する図である。また、図6は、実施例1に係る認証システムが実行する再照合の一例を説明する図である。また、図7は、実施例1に係る認証システムが実行する照合スコアの統合の一例を説明する図である。
なお、図5〜図7に示す例では、同一の利用者の右手人差し指、中指、薬指から取得した生体情報と、DBサーバ8に登録された各User0001〜0003の右手人差し指、中指、薬指の生体情報との類似度を示す照合スコアを記載した。また、以下の説明では、照合スコア管理部24は、各指紋の生体情報の照合スコアが、それぞれ「60」以上の値である場合は、認証に成功したと判定する。
まず、図5を用いて、照合スコア管理部24が取得された複合生体情報の照合を依頼した際に受信する照合スコアの一例について説明する。例えば、照合スコア管理部24は、図5に示すように、User0001の生体情報との照合スコアとして、人差し指「10」、中指「0」、薬指「1」を受信する。また、照合スコア管理部24は、User0002の生体情報との照合スコアとして、人差し指「60」、中指「0」、薬指「80」とを受信し、User0003の生体情報との照合スコアとして、人差し指「2」、中指「0」、薬指「2」を受信する。
この結果、照合スコア管理部24は、図5中(G)に示すように、右手人差し指の指紋の生体情報と、右手薬指の指紋の生体情報との認証に成功したと判定し、右手人差し指の照合スコアと、右手薬指の照合スコアとを仮照合スコアとして保持する。また、照合スコア管理部24は、右手中指の指紋の生体情報の認証に失敗したと判定し、クライアント3に対して、利用者の認証に失敗した旨を通知する。
また、照合スコア管理部24は、再度取得された複合生体情報と、差分照合の実行の指示とを受信すると、再度取得された複合生体情報に含まれる生体情報のうち、前回認証に失敗した生体情報と同じ部位の生体情報、すなわち、右手中指の生体情報を抽出する。そして、照合スコア管理部24は、抽出した右手中指の生体情報を認証サーバ6に出力する。この結果、照合スコア管理部24は、図6中(H)に示すように、利用者の右手中指から再取得された生体情報とDBサーバ8に登録された右手中指の生体情報との類似度を示す照合スコアを受信する。
そして、照合スコア管理部24は、受信した照合スコアと、保持した照合スコアとを用いて、利用者の認証を行う。すなわち、照合スコア管理部24は、1回目の照合の結果と、2回目の照合の結果とに基づいて、利用者の認証を行う。例えば、照合スコア管理部24は、図7に示すように、右手人差し指と薬指について1回目の照合で受信した照合スコアと、右手中指について2回目の照合で受信した照合スコアとを用いて、利用者の認証を行う。この結果、照合スコア管理部24は、図7に示すように、User0002の生体情報との照合スコアが人差し指「60」、中指「90」、薬指「80」であるので、利用者の認証に成功したと判定し、利用者の認証に成功した旨をクライアント3に通知する。
図2に戻って、認証サーバ6の機能構成について説明する。照合処理部30は、クライアント3が取得した複合生体情報を用いて、利用者の認証を実行する。具体的には、照合処理部30は、キャッシュサーバ5から複合生体情報を受信した場合は、複合生体情報に含まれる各生体情報と、DBサーバ8に登録された生体情報とを、部位ごとに照合し、生体情報の類似度を示す照合ポイントを算出する。そして、照合処理部30は、各部位ごとの照合ポイントをキャッシュサーバ5に送信する。
一方、照合処理部30は、キャッシュサーバ5から、一部の生体情報を受信した場合は、生体情報がどの部位の生体情報であるかを識別し、DBサーバ8に登録された生体情報のうち、識別した部位の生体情報と照合する。そして、照合処理部30は、照合ポイントを算出して、算出した照合ポイントを照合スコア管理部24に出力する。なお、照合処理部30は、特許請求の範囲に記載の第1の照合部、および、第2の照合部の一例である。
例えば、生体情報取得部10、画像処理部11、生体部位識別部12、副次情報抽出部13、生体情報生成部14は、電子回路である。また、キャッシュ管理部20、同一生体情報判定部22、副次情報比較部23、照合スコア管理部24、照合処理部30は、電子回路である。ここで、電子回路の例として、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路、またはCPU(Central Processing Unit)やMPU(Micro Processing Unit)などを適用する。
また、キャッシュ記憶部21は、RAM(Random Access Memory)、フラッシュメモリ(flash memory)などの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。
次に、図8を用いて、認証システム1が実行する処理の流れについて説明する。図8は、実施例1に係る認証システムが実行する処理の流れを説明するフローチャートである。例えば、クライアント3は、認証対象となる利用者の3指の指紋と手のひら静脈の画像を取得する(ステップS101)。すると、クライアント3は、各画像の補正を行い(ステップS102)、補正後の各画像から、複数の生体部位を識別する(ステップS103)。また、クライアント3は、識別した各生体部位の生体情報を含む複合生体情報を作成し(ステップS104)、キャッシュサーバ5へ複合生体情報を送付する(ステップS105)。すると、キャッシュサーバ5は、複合生体情報を保持する(ステップS106)。
また、認証サーバ6は、キャッシュサーバ5から受信した複合生体情報を用いて、1:N照合を実行する(ステップS107)。そして、キャッシュサーバ5は、認証に失敗したか否かを判定する(ステップS108)。ここで、クライアント3は、認証に失敗した場合は(ステップS108肯定)、生体情報の再取得を行う(ステップS109)。すると、キャッシュサーバ5は、取得された複合生体情報と再取得された複合生体情報とを照合し(ステップS110)、同一利用者のデータであるかの判定処理を行う(ステップS111)。
すなわち、キャッシュサーバ5は、取得された複合生体情報と再取得された複合生体情報とが同一利用者のデータであるか判定し(ステップS112)、同一利用者のデータであると判定した場合は(ステップS112肯定)、以下の処理を実行する。すなわち、キャッシュサーバ5は、再取得された複合生体情報のうち、前回認証に失敗した部位の生体情報の1:N照合を認証サーバ6に実行させる(ステップS113)。そして、キャッシュサーバ5は、照合スコアを統合して、利用者の認証を行い(ステップS114)、処理を終了する。
一方、キャッシュサーバ5は、取得された複合生体情報と再取得された複合生体情報とが同一のデータではないと判定した場合は(ステップS112否定)、認証サーバ6に再取得された複合生体情報の1:N照合を実行させる。そして、キャッシュサーバ5は、照合の結果に応じて認証を実行し(ステップS115)、処理を終了する。一方、キャッシュサーバ5は、認証に失敗したと判定した場合は(ステップS108否定)、処理を終了する。
[認証システム1の効果]
上述したように、認証システム1は、利用者の複数部位から取得された複数の生体情報と、DBサーバ8にあらかじめ登録された生体情報とを照合する。また、認証システム1は、照合の結果、利用者から取得された複合生体情報の一部があらかじめ登録された生体情報と類似しない場合は、利用者から複合生体情報を再度取得する。
そして、認証システム1は、再度取得した複合生体情報から、前回の照合時にあらかじめ登録された生体情報と類似しなかった生体情報と同じ部位から取得された生体情報を抽出する。その後、認証システム1は、抽出した生体情報と、あらかじめ登録された生体情報とを再照合する。そして、認証システム1は、照合の結果と再照合の結果とに基づいて、利用者の認証を行う。このため、認証システム1は、リトライ時の照合にかかる時間を短縮することができる。
また、認証システム1は、利用者から取得した複合生体情報を保持し、再度取得された複合生体情報と保持した複合生体情報とが同一利用者の複合生体情報であるか判定する。そして、認証システム1は、再度取得された複合生体情報と保持した複合生体情報とが同一利用者の複合生体情報であると判定した場合は、以下の処理を実行する。
すなわち、認証システム1は、再度取得した複合生体情報から、前回の照合時にあらかじめ登録された生体情報と類似しなかった生体情報と同じ部位から取得された生体情報を抽出し、抽出した生体情報の再照合を行う。このため、認証システム1は、認証強度を悪化させずに、リトライ時の照合にかかる時間を短縮できる。
また、認証システム1は、再取得された複合生体情報と保持した複合生体情報とが同一利用者の複合生体情報ではないと判定した場合は、再度取得された複合生体情報に含まれる生体情報すべてについての照合を行う。このため、認証システム1は、異なる利用者の複合生体情報が取得された場合は、改めて認証を行うことができる。
また、認証システム1は、利用者の各部位の状態を示す副次情報を取得して保持する。そして、認証システム1は、再取得された複合生体情報に含まれる副次情報と保持した副次情報とが類似しない場合は、再取得された複合生体情報と保持した複合生体情報とが同一利用者の複合生体情報ではないと判定する。
ここで、部位の状態を示す副次情報は、部位の特徴量を示す生体情報よりも単純な情報である。このため、認証システム1は、保持した副次情報と再取得された副次情報とを比較することで、生体情報同士の比較を行わずとも、異なる利用者の複合生体情報が取得されたか否かを判定できる。この結果、認証システム1は、再取得された複合生体情報と保持した複合生体情報とが同一利用者の複合生体情報であるか否かを容易に判定できる。
上述した認証システム1、1aは、利用者から取得された生体情報と、DBサーバ8に登録された各生体情報とを照合した。しかしながら、実施例は、これに限定されるものではなく、例えば、DBサーバ8に登録された生体情報から照合対象となる生体情報の絞込を行っても良い。
そこで、実施例3では、利用者が生体情報を入力する際の癖を学習し、利用者が生体情報を入力する際の癖に応じて、認証対象となる生体情報の絞込を行う認証システム1bについて説明する。図11は、実施例3に係る認証システムの機能構成を説明する図である。なお、図11に記載した機能構成のうち、図2に示した実施例1に係る認証システム1の機能構成と同様の機能を発揮するものについては、図2と同一の符号を付し、以下の説明を省略する。
図11に示すように、認証システム1bは、クライアント3a、キャッシュサーバ5b、認証サーバ6a、DBサーバ8aを有する。クライアント3aは、生体情報生成部14aと癖情報抽出部15とを有する。また、キャッシュサーバ5bは、絞込データ記憶部25、癖情報比較部26を有する。また、認証サーバ6aは、癖情報管理部31を有する。なお、以下の説明では、クライアント3a、認証サーバ6a、キャッシュサーバ5bの順で機能構成を説明する。
まず、クライアント3aが有する機能構成について説明する。癖情報抽出部15は、生体部位識別部12から、利用者の指紋画像を受信すると、受信した指紋画像から、利用者が生体情報を入力する際の癖を抽出する。例えば、癖情報抽出部15は、利用者が指紋を入力する際の指の位置を示す位置情報や、指の方向を示す方向情報を癖情報として抽出する。そして、癖情報抽出部15は、抽出した癖情報を生体情報生成部14aに出力する。
ここで、図12は、位置情報の一例を説明する図である。例えば、癖情報抽出部15は、指紋センサエリア201の左下を原点に取り、横方向にx軸、縦方向にy軸を定義する。そして、癖情報抽出部15は、図12中に示すように、右手の人差し指、中指、薬指が取得された位置の中心座標を含む位置情報を生成する。
また、図13は、方向情報の一例を説明する図である。例えば、癖情報抽出部15は、図13中の丸印で示すように、指紋画像のうち、隆線の局率が最大となる点を抽出し、識別した点を通る直線を識別する。そして、癖情報抽出部15は、図13中(I)に示すように、識別した直線とx軸方向との間の角度θを測定し、測定した角度θを方向情報とする。その後、癖情報抽出部15は、生成した位置情報および方向情報を含む癖情報を生体情報生成部14aに出力する。
生体情報生成部14aは、図2に示す生体情報生成部14と同様の機能を発揮する。また、生体情報生成部14aは、DBサーバ8aに複合生体情報を登録する場合は、癖情報抽出部15から受信した癖情報を含む複合生体情報を生成し、生成した複合生体情報を認証サーバ6aに送信する。また、生体情報生成部14aは、利用者の認証を行う場合は、癖情報抽出部15から受信した癖情報を含む複合生体情報をキャッシュサーバ5bに送信する。
次に、認証サーバ6aが有する機能構成について説明する。癖情報管理部31は、利用者の認証時にクライアント3aが取得した癖情報を用いて、検索対象となる複合生体情報の絞込を行う。具体的には、癖情報管理部31は、登録対象となる利用者の複合生体情報をクライアント3aから受信すると、受信した複合生体情報をDBサーバ8aに登録する、また、癖情報管理部31は、所定の時間間隔で、もしくは、DBサーバ8aに新たな複合生体情報を登録した場合に、以下の処理を実行する。
まず、癖情報管理部31は、DBサーバ8aに登録された各複合生体情報から癖情報を抽出する。そして、癖情報管理部31は、抽出した癖情報に含まれる位置情報および方向情報の平均や標準偏差を統計データとして算出する。その後、癖情報管理部31は、統計データに基づいて、DBサーバ8aに登録された複合生体情報から所定の数の複合生体情報を選択する。例えば、癖情報管理部31は、癖情報の内容が、算出した統計データに近い順に、所定数の複合生体情報を選択する。
そして、癖情報管理部31は、選択した複数の複合生体情報を絞込データとして、キャッシュサーバ5bに送信し、絞込データ記憶部25に格納させる。なお、癖情報管理部31は、複合統計情報を受信したキャッシュサーバ5bから癖情報を受信する。かかる場合は、癖情報管理部31は、新たに取得した癖情報と、DBサーバ8aに登録された複合生体情報の癖情報とを用いて、新たな統計データを算出し、新たな統計データを用いて、新たな絞込データを作成する。そして、癖情報管理部31は、絞込データ記憶部25が記憶する絞込データを新たな絞込データに更新する。なお、癖情報管理部31は、特許請求の範囲に記載の絞込部の一例である。
次に、キャッシュサーバ5bの機能構成について説明する。絞込データ記憶部25は、認証サーバ6aが作成した絞込データを記憶する。
癖情報比較部26は、利用者の認証時にクライアント3aが取得した癖情報を用いて、絞込データを用いた認証を行うか否かを判定する。例えば、癖情報比較部26は、利用者の認証時にクライアント3aが取得した複合生体情報を受信すると、受信した複合生体情報から癖情報を抽出する。そして、癖情報比較部26は、抽出した癖情報に類似する癖情報を含む複合生体情報を絞込データ記憶部25から検索する。具体的には、癖情報比較部26は、抽出した癖情報と、絞込データ記憶部25に格納された複合生体情報の癖情報との類似度をそれぞれ算出し、算出される類似度が所定の閾値よりも高い複合生体情報を検索する。
また、癖情報比較部26は、抽出した癖情報と類似する癖情報を含む複合生体情報が絞込データ記憶部25に格納されている場合は、クライアント3aが取得した複合生体情報と、絞込データ記憶部25に格納されている絞込データとの照合を行う。そして、癖情報比較部26は、照合スコアが所定の閾値以上となる複合生体情報が絞込データに含まれる場合は、クライアント3aに対し、認証が成功した旨を通知する。
また、癖情報比較部26は、抽出した癖情報と同じ癖情報を含む複合生体情報が絞込データ記憶部25に格納されていない場合は、受信した複合生体情報をキャッシュ管理部20に出力する。また、癖情報比較部26は、照合スコアが所定の閾値以上となる複合生体情報が絞込データに含まれない場合は、受信した複合生体情報をキャッシュ管理部20に出力する。この結果、キャッシュサーバ5bは、絞込データを用いた照合が失敗した場合は、図2に示すキャッシュサーバ5と同様の処理を実行し、DBサーバ8aに格納されたデータを用いた照合を実行する。
なお、癖情報比較部26は、クライアント3aが取得した複合生体情報を受信すると、受信した複合生体情報から癖情報を取得するとともに、取得した癖情報を認証サーバ6aに送信する。この結果、認証サーバ6aは、統計データの更新、および、あらたな絞込データの作成を行い、新たに作成した絞込データを絞込データ記憶部25に格納する。
次に、図14を用いて、認証システム1bが実行する処理の流れについて説明する。図14は、実施例3に係る認証システムが実行する処理の流れを説明するフローチャートである。例えば、認証システム1bは、利用者から複合生体情報を取得すると、キャッシュサーバ5bで、取得した複合生体情報の癖情報と、キャッシュサーバ5bが記憶する絞込データ内の癖情報とを比較する(ステップS301)。そして、認証システム1bは、キャッシュサーバ5bが記憶する絞込データ内の癖情報に、取得した複合生体情報の癖情報と類似する癖情報が存在するか否かを判定する(ステップS302)。
また、認証システム1bは、キャッシュサーバ5bが記憶する絞込データ内の癖情報に、取得した複合生体情報の癖情報と類似する癖情報が存在する場合は(ステップS302肯定)、以下の処理を実行する。すなわち、認証システム1bは、絞込データの複合生体情報と取得された複合生体情報とを照合する(ステップS303)。そして、認証システム1bは、照合スコアが所定の閾値以上であるか否かを判定し(ステップS304)、照合スコアが所定の閾値以上であると判定した場合は(ステップS304肯定)、認証に成功したと判定する(ステップS305)。
一方、認証システム1bは、照合スコアが所定の閾値以下であると判定した場合は(ステップS304否定)、認証サーバ8aが記憶する複合生体情報と、取得された複合生体情報とを照合する(ステップS306)。つまり、認証システム1bは、認証システム1と同様の処理を実行する。そして、認証システム1bは、ステップS305、または、ステップS306の実行後、認証結果を出力する(ステップS307)。また、認証システム1bは、取得された複合生体情報に含まれる癖情報を用いて、新たな統計データを算出し(ステップS308)、新たな統計データを用いて、キャッシュサーバ5bが記憶する絞込データの更新を行い(ステップS309)、処理を終了する。
[認証システム1bの効果]
上述したように、認証システム1bは、利用者が生体情報を入力する際の癖に基づいて、DBサーバ8aに登録された複合生体情報から照合対象となる複合生体情報を絞込んだ絞込データを作成する。そして、認証システム1bは、利用者の認証を行う際に取得された複合生体情報を、絞込データと照合し、類似する複合生体情報が絞込データに含まれない場合は、DBサーバ8aに登録された各複合生体情報と取得された複合生体情報とを照合する。
このため、認証システム1bは、認証時に照合する複合生体情報の数を削減するので、認証時間をより削減することができる。