以下に、本願の開示する生体認証装置、リトライ制御プログラム及びリトライ制御方法の実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
[生体認証装置の構成]
図1は、実施例1に係る生体認証装置の機能的構成を示すブロック図である。図1に示す生体認証装置10は、利用者によって入力される生体情報と予め登録された生体情報とを照合することによって本人認証を行う生体認証処理を実行するものである。とりわけ、生体認証装置10は、認証のリトライ制御に一つの優位性があり、生体認証に失敗した生体特徴情報を各生体特徴情報間の類似度によってグルーピングし、そのグループ数が所定の閾値以下である否かによって認証のリトライの可否を制御する。
かかる生体認証装置10の一態様としては、上記の生体認証処理を実行する生体認証プログラムがパーソナルコンピュータ等の情報処理装置にインストールまたはプリインストールさせることによって実装できる。なお、本実施例では、複数の利用者によって共用される情報処理装置へのログイン認証として指紋認証を採用する場合を想定して以下の説明を行う。
図1に示すように、生体認証装置10は、ID(identification)受付部11と、生体センサ12と、記憶部13と、制御部15とを有する。なお、生体認証装置10は、図1に示した機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイス、音声出力デバイスや外部の装置と通信を行うための通信インタフェースなどの機能部を有することとしてもかまわない。
このうち、ID受付部11は、情報処理装置のアカウントを持つ利用者へ採番されたユーザIDを受け付ける処理部である。かかるID受付部11の一態様としては、テンキーやアルファベットキーを搭載するキーボードなどのユーザインタフェースを採用することができる。他の一態様としては、ユーザIDが記録された磁気カード、あるいは接触式または非接触式のICカードから情報を読み取る読取装置を採用することもできる。なお、ID受付部11が受け付けたユーザIDは、後述の照合部15bへ出力される。
生体センサ12は、生体情報を読み取るセンサである。以下では、生体認証の一例として指紋認証が実行される場合を想定する。かかる生体センサ12の実装例としては、生体センサ12が情報処理装置に内蔵される態様を採用できる他、情報処理装置に外部接続される態様、例えばUSB(Universal Serial Bus)等で接続される態様を採用できる。また、生体センサ12の検知方式の一例としては、静電容量式、電界検知式、光学式、感熱式、感圧式など任意の検知方式を採用できる。さらに、生体センサ12の読取方式の一例としては、指のはら、すなわち指先の内側の中央部をスライドさせるスライド型であってもよいし、指のはらを載置させるスタンプ型であってもかまわない。なお、生体センサ12が読み取った生体画像は、入力生体情報として後述の抽出部15aへ出力される。
記憶部13は、制御部15で実行されるOS(Operating System)や生体認証プログラムなどの各種プログラムを記憶する記憶デバイスである。記憶部13の一態様としては、フラッシュメモリなどの半導体メモリ素子、ハードディスク、光ディスクなどの記憶装置が挙げられる。なお、記憶部13は、上記の種類の記憶装置に限定されるものではなく、RAM(Random Access Memory)、ROM(Read Only Memory)であってもよい。
記憶部13は、制御部15で実行されるプログラムに用いられるデータの一例として、参照生体情報13aと、認証NG情報13bとを記憶する。なお、記憶部13は、上記の参照生体情報13aや認証NG情報13b以外にも、後述のグルーピング部15eや判定部15fによって用いられる各種の閾値等のデータを記憶することもできる。
参照生体情報13aは、生体センサ12によって読み取られた入力生体情報と照合する場合に参照される参照用の生体情報である。かかる参照生体情報13aの一態様としては、ユーザIDおよび生体情報から特徴量が抽出された生体特徴情報が対応付けられたデータを採用できる。ここで、1つのユーザIDには、同一の利用者が持つ複数の指の生体情報から抽出された複数の生体特徴情報、例えば人差し指と中指あるいは人差し指と薬指などの複数組の生体特徴情報を対応付けて登録することができる。本実施例では、参照生体情報13aとして、1つのユーザIDに最大で2つの生体特徴情報が対応付けて登録される場合を想定して以下の説明を行うが、2つ以上の生体特徴情報を対応付けて登録することとしてもかまわない。なお、ここでは、参照生体情報13aとして生体特徴情報が登録される場合を説明するが、生体情報そのものを登録することとしてもかまわない。
認証NG情報13bは、生体認証に失敗した入力生体情報に関する各種の情報である。かかる認証NG情報13bの一態様としては、ユーザIDおよび生体特徴情報が対応付けられたデータを採用できる。ここで、1回の生体認証には、1つの生体特徴情報しか照合されない。このため、認証NG情報13bは、上記の参照生体情報13aとは異なり、ユーザID及び生体特徴情報が一対一に対応付けて登録される。図2は、認証NG情報13bの一例を示す図である。図2の例では、利用者が1回目および2回目の認証時にはID=0001とともに各々の生体情報が入力され、3回目〜5回目の認証時にはID=0011とともに各々の生体情報が入力され、6回目の認証時にはID=0001と生体情報が入力されたことを示す。これら各レコードの認証NG情報は、いずれも生体認証に失敗したユーザID及び生体特徴情報である。
制御部15は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部15は、図1に示すように、抽出部15aと、照合部15bと、認証部15cと、算出部15dと、グルーピング部15eと、判定部15fと、リトライ制御部15gとを有する。
抽出部15aは、生体センサ12によって読み取られた入力生体情報から生体特徴情報を抽出する処理部である。一態様としては、抽出部15aは、後述のリトライ制御部15gによってリトライの制限が指示されていない場合に、次のような処理を実行する。すなわち、抽出部15aは、照合部15bによって採用されるマニューシャ方式、パターンマッチング方式や周波数解析法などの任意の照合方式に合わせて、生体センサ12により読み取られた生体情報から生体特徴情報を抽出する。例えば、抽出部15aは、後述の照合部15bによってマニューシャ方式が採用される場合には、指紋画像の紋様に含まれる隆線の端点や分岐点などの特徴点の方向と、位置関係や特徴点相互間の相関関係とを生体特徴情報として抽出する。また、抽出部15aは、後述の照合部15bによってパターンマッチング方式が採用される場合には、指紋画像が2値化または細線化された画像を生体特徴情報として抽出する。また、抽出部15aは、後述の照合部15bによって周波数解析法が採用される場合には、指紋画像の紋様パターンをスライスした断面を波形とみなした場合の波形スペクトル系列を生体特徴情報として抽出する。
照合部15bは、参照生体情報13aのうちID受付部11によって受け付けられたユーザIDに対応付けられた生体特徴情報と、抽出部15aによって抽出された生体特徴情報とを照合する処理部である。一態様としては、照合部15bは、記憶部13に記憶された参照生体情報13aのうちID受付部11によって受け付けられたユーザIDと同一のユーザIDを持つ生体特徴情報を読み出す。このとき、照合部15bは、1つのユーザIDに複数の生体特徴情報が対応付けられている場合には、ユーザIDに対応付けられている全ての生体特徴情報を読み出す。その上で、照合部15bは、記憶部13から読み出した生体特徴情報と、抽出部15aによって抽出された生体特徴情報とを照合することによって両者の類似度を算出する。また、照合部15bは、複数の生体特徴情報が読み出されている場合には、記憶部13から読み出した生体特徴情報ごとに抽出部15aによって抽出された生体特徴情報との間で照合を実行する。なお、照合部15bは、マニューシャ方式、パターンマッチング方式や周波数解析法などの任意の照合方式を採用できる。
認証部15cは、照合部15bによる照合結果から入力生体情報が本人のものであるか否かを認証する処理部である。一態様としては、認証部15cは、照合部15bによって算出された生体特徴情報間の類似度のうち最大の類似度が所定の閾値以上であるか否かを判定する。このとき、認証部15cは、最大の類似度が閾値以上である場合には、生体認証が成功したと判定する。この結果、制御部15が実行するOSによって情報処理装置へのログインが許可される。この場合には、それまでに生体認証に失敗していたとしても以降に生体情報を入力する利用者は始めて生体認証を試行することになる。よって、認証部15cは、記憶部13に記憶された認証NG情報13bを消去する。一方、認証部15cは、最大の類似度が閾値未満である場合には、生体認証が失敗したと判定する。そして、認証部15cは、ID受付部11によって受け付けられたユーザID及び抽出部15aによって抽出された生体特徴情報を対応付けた認証NG情報を記憶部13へ追加登録する。この場合には、制御部15が実行するOSによって情報処理装置へのログインは許可されない。なお、ここでは、生体認証の成功時に認証NG情報13bを消去する場合を例示したが、最後に生体認証が実行されてから所定の期間、例えば5分間が経過した場合に認証NG情報13bを消去することとしてもかまわない。
算出部15dは、認証NG情報13bに含まれる生体情報の組合せごとに生体情報間の類似度を算出する処理部である。一態様としては、算出部15dは、記憶部13に認証NG情報13bのレコードが追加登録された場合に処理を起動する。まず、算出部15dは、認証部15cによって認証のリトライが実行されたリトライ回数が所定の閾値以上であるか否かを判定する。かかる閾値には、一人の利用者につき生体特徴情報を登録可能な部位の数に所定のマージン、例えば「0」や「1」を加えたものを設定できる。かかる閾値の設定を採用するのは、同種の生体情報について異なる部位の生体特徴情報が複数登録されている場合には、同一の人物の生体特徴情報間であっても生体特徴情報のグループ数が登録可能な部位の数に収束するからである。例えば、1つのユーザIDに最大で2つの生体特徴情報が対応付けて登録される場合には、2回目あるいは3回目まで認証のリトライを認めなければアカウントを持つ利用者本人が入力の仕方や利用環境の違いによってリジェクトされる蓋然性が高まるからである。このため、リトライ回数が閾値未満である場合には、後述のリトライ制御部15gによって認証のリトライが許可される。
一方、算出部15dは、リトライ回数が所定の閾値以上である場合に、生体特徴情報間の類似度を算出する。すなわち、算出部15dは、上記の照合部15bが入力生体特徴情報と参照生体特徴情報との間で類似度を算出するのとは異なり、過去に生体認証に失敗した入力生体特徴情報の間で類似度を算出する。かかる類似度は、上記の照合部15bと同一の照合方法で算出することもできるし、認証NG情報13bとして生体情報が登録されている場合には異なる照合方法で算出することもできる。
グルーピング部15eは、算出部15dによって算出された生体特徴情報間の類似度を用いて、記憶部13に認証NG情報13bとして記憶された生体特徴情報をグルーピングする処理部である。一態様としては、グルーピング部15eは、類似度が所定の閾値以上である生体特徴情報を同一のグループに分類する。このとき、グルーピング部15eは、全ての生体特徴情報の組合せについて類似度が閾値以上である場合に絞って同一のグループに分類することができる。また、グルーピング部15eは、一部の生体特徴情報の組合せの類似度が閾値未満であっても共通の生体特徴情報との間で類似度が閾値以上である生体特徴情報の組合せを同一のグループに分類することもできる。
判定部15fは、グルーピング部15eによって生体特徴情報がグルーピングされたグループ数が所定の閾値以下であるか否かを判定する処理部である。一態様としては、判定部15fは、グループ数と比較する閾値、例えば一人の利用者につき生体特徴情報を登録可能な部位の数に所定のマージン、例えば「0」や「1」を加えた値を固定してグループ数の判定を実行することができる。他の一態様としては、判定部15fは、グループ数と比較する閾値を動的に変更してグループ数の判定を行うこともできる。すなわち、同一の人物の生体情報が連続して入力される場合には、リトライ回数が増えるにしたがって生体特徴情報のグループ数が登録可能な部位の数に収束すると推定できる。このため、初期の段階では、登録可能な部位の数よりも大きい閾値を採用しておき、リトライ回数が増えるにしたがって登録可能な部位の数に収束するように閾値を更新してグループ数の判定を行うこともできる。
リトライ制御部15gは、認証のリトライを制御する処理部である。一態様としては、リトライ制御部15gは、リトライ回数が閾値未満である場合には、認証のリトライを許可する。また、リトライ制御部15gは、判定部15fによってグループ数が閾値以下であると判定された場合にも、認証のリトライを許可する。一方、リトライ制御部15gは、判定部15fによってグループ数が閾値を超えたと判定された場合には、生体認証のリトライを制限する。かかるリトライの制限の一例としては、次に生体認証の実行を許可するまで所定の禁止期間、例えば10分間にわたってユーザIDや生体情報が入力されても生体特徴情報の抽出やそれ以降の処理を中止したり、認証NG情報13bに含まれるユーザIDのアカウントを一定期間使用不能にすることもできる。
[処理の流れ]
続いて、本実施例に係る生体認証装置の処理の流れについて説明する。なお、ここでは、生体認証装置10によって実行される(1)生体認証処理について説明した後に、(2)リトライ制御処理を説明することとする。
(1)生体認証処理
図3は、実施例1に係る生体認証処理の手順を示すフローチャートである。この生体認証処理は、生体認証装置10の電源がON状態である場合に繰り返し実行される処理である。
図3に示すように、ユーザIDおよび生体情報が受付けられると(ステップS101)、抽出部15aは、リトライ制御部15gによってリトライの制限が指示されているか否かを判定する(ステップS102)。なお、リトライの制限が指示されている場合(ステップS102Yes)には、そのまま処理を終了する。
一方、リトライの制限が指示されていない場合(ステップS102No)には、抽出部15aは、生体センサ12によって読み取られた生体情報から生体特徴情報を抽出する(ステップS103)。
そして、照合部15bは、参照生体情報13aのうちID受付部11によって受け付けられたユーザIDに対応付けられた生体特徴情報と、抽出部15aによって抽出された生体特徴情報とを照合することによって両者の類似度を算出する(ステップS104)。
続いて、認証部15cは、照合部15bによって算出された生体特徴情報間の類似度のうち最大の類似度が所定の閾値以上であるか否かを判定する(ステップS105)。このとき、最大の類似度が閾値以上である場合(ステップS105Yes)には、生体認証が成功したと判定される。この場合には、それまでに生体認証に失敗していたとしても以降に生体情報を入力する利用者は始めて生体認証を試行することになる。よって、認証部15cは、記憶部13に記憶された認証NG情報13bを消去し(ステップS106)、処理を終了する。
一方、最大の類似度が閾値未満である場合(ステップS105No)には、生体認証が失敗したと判定される。この場合には、認証部15cは、ID受付部11によって受け付けられたユーザID及び抽出部15aによって抽出された生体特徴情報を対応付けた認証NG情報を記憶部13へ追加登録し(ステップS107)、処理を終了する。
(2)リトライ制御処理
図4は、実施例1に係るリトライ制御処理の手順を示すフローチャートである。このリトライ制御処理は、認証NG情報13bに新規のレコードが追加された場合に処理が起動される。
図4に示すように、算出部15dは、認証部15cによって認証のリトライが実行されたリトライ回数が所定の回数以上であるか否かを判定する(ステップS301)。このとき、リトライ回数が所定の回数未満である場合(ステップS301No)には、ステップS306に移行し、リトライ制御部15gによって認証のリトライが許可された後(ステップS306)に処理が終了される。
一方、リトライ回数が所定の回数以上である場合(ステップS301Yes)には、算出部15dは、記憶部13に記憶された認証NG情報13bを読み出す(ステップS302)。そして、算出部15dは、認証NG情報13bに含まれる生体特徴情報の組合せごとに生体特徴情報間の類似度を算出する(ステップS303)。
続いて、グルーピング部15eは、ステップS303で算出された生体特徴情報間の類似度を用いて、生体特徴情報をグルーピングする(ステップS304)。その後、判定部15fは、ステップS304でグルーピングされたグループ数が所定の閾値以下であるか否かを判定する(ステップS305)。
ここで、グループ数が閾値以下である場合(ステップS305Yes)には、リトライ制御部15gは、認証のリトライを許可し(ステップS306)、処理を終了する。一方、グループ数が閾値を超えた場合(ステップS305No)には、リトライ制御部15gは、生体認証のリトライを制限し(ステップS307)、処理を終了する。
[実施例1の効果]
上述してきたように、本実施例に係る生体認証装置10は、生体認証に失敗した生体特徴情報を各生体特徴情報間の類似度によってグルーピングし、そのグループ数が所定の閾値以下である否かによって認証のリトライの可否を制御する。このため、グループ数が少ない場合には、入力の仕方や利用環境の違いによって本人が拒否されたことを判別できる。また、グループ数が多い場合には、異なる生体情報の総当たり攻撃によって他人受入を目指す第三者が拒否されたことを判別できる。それゆえ、本実施例に係る生体認証装置10では、本人の生体情報が拒否されたと推定される場合には認証のリトライを許可し、悪意を持った他人の生体情報が拒否されたと推定される場合には認証のリトライを制限できる。したがって、本実施例に係る生体認証装置10によれば、認証のリトライを適切に実行させることが可能である。
さて、上記の実施例1では、1つの閾値を用いて生体特徴情報のグルーピングを実行する場合を例示したが、必ずしも1つの閾値だけで生体特徴情報のグルーピングを行う必要はない。そこで、本実施例では、複数の閾値を用いて生体特徴情報のグルーピングを実行する場合について説明する。
[生体認証装置の構成]
図5は、実施例2に係る生体認証装置の機能的構成を示すブロック図である。図5に示すように、生体認証装置20は、図1に示した生体認証装置10と比較して、制御部21がグルーピング部15eの代わりにその処理内容の一部が相違するグルーピング部22を有する他、閾値更新部23をさらに有する点が異なる。なお、以下では、上記の実施例1と同様の機能を発揮する機能部については同一の符号を付し、その説明を省略することとする。
グルーピング部22は、複数の生体特徴情報を同一のグループに分類する第1の閾値Fおよび複数の生体特徴情報を異なるグループに分類する第2の閾値fを用いて、認証NG情報13bに含まれる生体特徴情報をグルーピングする処理部である。
一態様としては、グルーピング部22は、生体特徴情報の組合せごとに生体特徴情報間の類似度が算出された場合に、グルーピング処理を起動する。すなわち、グルーピング部22は、認証NG情報13bに含まれる生体特徴情報のうち第1の閾値F及び第2の閾値fとの間で類似度の比較が未だ実行されていない組合せの生体特徴情報を含む所定数の生体特徴情報を選択する。以下では、一例として、3つの生体特徴情報を選択する場合を想定し、3つの生体特徴情報をA、B、Cとラベリングして説明する場合がある。その上で、グルーピング部22は、先に選択した3つの生体特徴情報A〜Cの全組合せの類似度と、図示しないグルーピング部22の内部メモリに保持された第1の閾値F及び第2の閾値fとを比較することによって下記の分類条件1〜3を満たすか否かを判定する。なお、ここでは、3つの生体特徴情報を説明するが、4つ以上の生体特徴情報を選択することもできる。
例えば、分類条件1の一例としては、A、B、Cの3つの生体特徴情間の類似度が全て第1の閾値F以上であるという条件が挙げられる。これは、生体特徴情報Aと生体特徴情報Bの類似度、生体特徴情報Aと生体特徴情報Cの類似度、並びに、生体特徴情報Bと生体特徴情報Cの類似度がともに第1の閾値F以上であることと等価である。また、分類条件2の一例としては、A、B、Cの3つの生体特徴情報間の類似度のうち2つの類似度が第1の閾値F以上であり、残りの1つの類似度が第2の閾値f以上第1の閾値F未満であるという条件が挙げられる。また、分類条件3の一例としては、A、B、Cの3つの生体特徴情報間の類似度のうち1つの類似度が第1の閾値F以上であり、残りの2つの類似度が第1の閾値F未満であるという条件が挙げられる。
そして、グルーピング部22は、上記の分類条件1を満たす場合には、生体特徴情報A、生体特徴情報B及び生体特徴情報Cの全てを同一のグループにグルーピングする。さらに、グルーピング部22は、上記の分類条件1を満たさずとも上記の分類条件2を満たす場合にも、生体特徴情報A、生体特徴情報B及び生体特徴情報Cの全てを同一のグループにグルーピングする。また、グルーピング部22は、上記の分類条件1及び分類条件2を満たさず、上記の分類条件3を満たす場合には、第1の閾値F以上である組を構成する生体特徴情報を同一のグループにグルーピングするとともに、残りの生体特徴情報を異なるグループにグルーピングする。例えば、生体特徴情報A及び生体特徴情報Bの類似度が第1の閾値F以上であり、かつ生体特徴情報A及び生体特徴情報Cの類似度と生体特徴情報B及び生体特徴情報Cの類似度とがいずれも第1の閾値F未満であるとする。この場合には、上記の分類条件3に該当するので、生体特徴情報A及び生体特徴情報Bを同一のグループにグルーピングするとともに、生体特徴情報Cを生体特徴情報A及び生体特徴情報Bが属するグループとは異なるグループにグルーピングする。また、グルーピング部22は、上記の分類条件1〜分類条件3のいずれの条件も満たさない場合には、3つの生体特徴情報の各々を全て異なるグループにグルーピングする。
その後、グルーピング部22は、全ての組合せの生体特徴情報間の類似度と、第1の閾値F及び第2の閾値fとの比較が終了するまで、上記のグルーピング処理を繰り返し実行する。そして、グルーピング部22は、全ての組合せの生体特徴情報間の類似度と、第1の閾値F及び第2の閾値fとの比較が終了すると、上記のグルーピング処理によってグルーピングされたグループ数を計数する。
閾値更新部23は、第1の閾値Fおよび前記第2の閾値fを更新する処理部である。これら第1の閾値F及び第2の閾値fは、グルーピング部22の内部メモリに保持されているものとする。以下では、一例として、制御部21の内部メモリに第1の閾値Fの初期値として「100」が保持されるとともに、第2の閾値fの初期値として「0」が保持される。なお、上記の第1の閾値F及び第2の閾値fの初期値は、あくまで例示であり、第1の閾値Fが第2の閾値fよりも大きければ任意の数値を採用できることは言うまでもない。
一態様としては、閾値更新部23は、上記の分類条件2を満たす場合には、第1の閾値Fを更新する。例えば、閾値更新部23は、上記の分類条件2によって同一のグループにグルーピングされた類似度のうち最小の類似度S_minを新たな第1の閾値Fとする更新を実行する。これによって、第1の閾値Fが第2の閾値fに近づく結果、第2の閾値f以上第1の閾値F未満の数値幅のグレーゾーンが縮まる。ただし、2*S_min<FまたはS_min<fである場合には、第1の閾値F及び第2の閾値fの数値幅が過度に小さくなるおそれがあるので、第1の閾値Fの更新は実行させない。
また、閾値更新部23は、上記の分類条件1〜3のいずれも満たさない場合に、次のような処理を実行する。すなわち、閾値更新部23は、分類条件1〜3を満たさない生体特徴情報を一方に含み、かつ過去に分類条件1または分類条件2によってグルーピングされたグループの生体特徴情報を他方に含む組合せのうち類似度がいずれも第1の閾値F未満である生体特徴情報の組合せを抽出する。そして、閾値更新部23は、先に抽出した各組合せの生体特徴情報間の類似度のうち最大の類似度s_maxを新たな第2の閾値fとする更新を実行する。これによって、第2の閾値fが第1の閾値Fに近づく結果、第2の閾値f以上第1の閾値F未満の数値幅のグレーゾーンが縮まる。ただし、2*S_min>(F−f)である場合には、第1の閾値F及び第2の閾値fの数値幅が過度に小さくなるおそれがあるので、第2の閾値fの更新は実行させない。
なお、閾値更新部23は、認証部15cによる生体認証が成功した場合には、第1の閾値F及び第2の閾値fの両者を初期化する。
[グルーピングの具体例]
図6〜図10を用いて、グルーピングの具体例を説明する。図6〜図9は、グルーピングの結果の一例を示す図である。図10は、生体特徴情報間の類似度の算出結果の一例を示す図である。これら図6〜図9の例では、生体情報のリジェクト回数が3回、4回、5回、6回である場合のグルーピング結果を示す。図6〜図9に示す英文字Iは、認証に失敗した生体特徴情報を表し、英文字Iの下付数字は、何回目の認証に失敗したかを表す。また、図6〜図9の例では、生体特徴情報Iをノードに見立てたとき、ノード間を結ぶリンクが互いの類似度を表す。かかるリンクが太線である場合には、類似度が第1の閾値F以上であることを示し、リンクが細線である場合には類似度が第2の閾値f以上第1の閾値F未満であることを示し、リンクがない場合には類似度が第2の閾値f未満であることを示す。また、図6〜図9に示す点線囲いの矩形は、グルーピングによって同一のグループにグルーピングされた生体特徴情報群を示す。また、図10には、生体特徴情報I1〜I6の組合せごとに類似度が図示されている。なお、図6〜図10の例においても、1つのユーザIDに最大で2つの生体特徴情報が対応付けて登録される場合を想定している。
図6に示すように、認証のリトライ回数が3回となった場合には、生体特徴情報I1〜I3のグルーピングが開始される。この段階では、図10に示すように、I1及びI2の類似度「40」、I1及びI3の類似度「0」、I2及びI3の類似度「90」が算出されている。この場合には、I1〜I3の各組合せの類似度は、上記の分類条件1〜分類条件3のいずれにも該当しないので、生体特徴情報I1〜I3はいずれも別々のグループに分類される。
図7に示すように、認証のリトライ回数が4回となった場合には、生体特徴情報I1〜I4のグルーピングが開始される。この段階では、図10に示すように、I1及びI4の類似度「10」、I2及びI4の類似度「120」、I3及びI4の類似度「120」がさらに算出される。この場合には、I1〜I4の各組合せの類似度は、上記の分類条件1には該当しないが、I2、I3およびI4の各組合せの類似度が上記の分類条件2に該当する。このため、I2、I3およびI4は、同一のグループにグルーピングされる。一方、I1には、上記の分類条件1〜分類条件3に当てはまるよう他の生体特徴情報がないので、I2、I3およびI4のグループとは別のグループにグルーピングされる。このとき、I2、I3およびI4のグループは、分類条件2によってグルーピングされたグループであり、最小の類似度S_minが「90」であるので、第1の閾値Fが「90」に更新される。また、I1とI2、I3、I4との類似度がそれぞれ「40」、「0」、「10」であり、最大の類似度s_maxが「40」となるので、第2の閾値が「40」に更新される。
図8に示すように、認証のリトライ回数が5回となった場合には、生体特徴情報I1〜I5のグルーピングが開始される。この段階では、図10に示すように、I1及びI5の類似度「80」、I2及びI5の類似度「0」、I3及びI5の類似度「50」、I4及びI5の類似度「0」がさらに算出される。この場合には、I2、I3およびI4の各組合せの類似度が上記の分類条件1に該当するので、I2、I3およびI4が同一のグループにグルーピングされる。一方、I1及びI5は、いずれも他の生体特徴情報を加えても上記の分類条件1〜分類条件3に当てはまらないので、I1及びI5は、それぞれ独立したグループとしてグルーピングされる。このとき、I1とI2、I3、I4との類似度、並びに、I5とI2、I3、I4との類似度のうちI3とI5の類似度「50」が最小の類似度S_minとなり、これは第2の閾値f=40よりも大きいので、第2の閾値fが「50」に更新される。
図9に示すように、認証のリトライ回数が6回となった場合には、生体特徴情報I1〜I6のグルーピングが開始される。この段階では、図10に示すように、I1及びI6の類似度「130」、I2及びI6の類似度「30」、I3及びI6の類似度「10」、I4及びI6の類似度「40」、I5及びI6の類似度「150」がさらに算出される。この場合には、図8で説明したように、分類条件1によってI2、I3およびI4が同一のグループにグルーピングされる。さらに、I1、I5およびI6の各組合せの類似度が上記の分類条件2に該当する。このため、I1、I5およびI6は、同一のグループにグルーピングされる。このとき、I1、I5およびI6のグループは、分類条件2によってグルーピングされたグループであり、最小の類似度S_minが「80」であるので、第1の閾値Fが「80」に更新される。なお、6つの生体特徴情報のグルーピング結果は、入力の順番に依存せず、同様の結果を得ることができる。
このように、認証のリトライ回数が6回となった段階で、生体特徴情報I1〜I6をI2、I3およびI4のグループと、I1、I5およびI6のグループとの2つのグループにグルーピングできる。この例では、生体特徴情報のグループ数が登録可能な部位の数「2」に収束しているので、入力の仕方や利用環境の違いによって本人が拒否されている蓋然性が高いと判別できる。
さらに、認証のリトライ回数が3回の段階で100、4回の段階で50、5回の段階で40、6回の段階で30といったように、リトライ回数が増加するにしたがって第2の閾値f以上第1の閾値F未満の数値幅のグレーゾーンを縮小できる。このため、入力の仕方や利用環境の違いによって本人の生体情報が拒否されている可能性が高い場合に、生体特徴情報のグループ数を参照用の生体情報が登録可能な部位の数に速やかに収束させることが可能になる。
[処理の流れ]
図11は、実施例2に係るグルーピング処理の手順を示すフローチャートである。このグルーピング処理は、図4に示したステップS304に対応する処理であり、算出部15dによって生体特徴情報の組合せごとに生体特徴情報間の類似度が算出された場合に処理が起動される。
図11に示すように、グルーピング部22は、認証NG情報13bに含まれる生体特徴情報のうち第1の閾値F及び第2の閾値fとの間で類似度の比較が未だ実行されていない組合せの生体特徴情報を含む3つの生体特徴情報A〜Cを選択する(ステップS501)。
そして、グルーピング部22は、ステップS501で選択した3つの生体特徴情報A〜Cの全組合せの類似度と、グルーピング部22の内部メモリに保持された第1の閾値Fとの大小を比較する(ステップS502)。
続いて、グルーピング部22は、ステップS501で選択した3つの生体特徴情報A〜Cの全組合せの類似度と、グルーピング部22の内部メモリに保持された第2の閾値fとの大小をさらに比較する(ステップS503)。
その後、グルーピング部22は、3つの生体特徴情A、B及びCの各組合せの類似度が分類条件1を満たすか否かを判定する(ステップS504)。このとき、上記の分類条件1を満たす場合(ステップS504Yes)には、グルーピング部22は、生体特徴情報A、生体特徴情報B及び生体特徴情報Cの全てを同一のグループにグルーピングする(ステップS505)。
一方、上記の分類条件1を満たさない場合(ステップS504No)には、グルーピング部22は、3つの生体特徴情A、B及びCの各組合せの類似度が分類条件2を満たすか否かをさらに判定する(ステップS506)。
このとき、上記の分類条件2を満たす場合(ステップS506Yes)には、閾値更新部23は、第1の閾値Fを更新する(ステップS507)。例えば、閾値更新部23は、上記の分類条件2によって同一のグループにグルーピングされた類似度のうち最小の類似度S_minを新たな第1の閾値Fとする更新を実行する。その上で、グルーピング部22は、生体特徴情報A、生体特徴情報B及び生体特徴情報Cの全てを同一のグループにグルーピングする(ステップS505)。
また、上記の分類条件2を満たさない場合(ステップS506No)には、グルーピング部22は、3つの生体特徴情A、B及びCの各組合せの類似度が分類条件3を満たすか否かをさらに判定する(ステップS508)。
そして、上記の分類条件3を満たす場合(ステップS508Yes)には、グルーピング部22は、次のような処理を実行する。すなわち、グルーピング部22は、第1の閾値F以上である組を構成する生体特徴情報を同一のグループにグルーピングするとともに、残りの生体特徴情報を異なるグループにグルーピングする(ステップS509)。
一方、上記の分類条件3も満たさない場合(ステップS508No)には、閾値更新部23は、第2の閾値fを更新する(ステップS510)。例えば、閾値更新部23は、分類条件1〜3を満たさない生体特徴情報を一方に含み、かつ過去に分類条件1または分類条件2によってグルーピングされたグループの生体特徴情報を他方に含む組合せのうち類似度がいずれも第1の閾値F未満である生体特徴情報の組合せを抽出する。その上で、閾値更新部23は、先に抽出した各組合せの生体特徴情報間の類似度のうち最大の類似度s_maxを新たな第2の閾値fとする更新を実行する。
その後、グルーピング部22は、3つの生体特徴情報A、B及びCを全て異なるグループにグルーピングする(ステップS511)。
その後、全ての組合せの生体特徴情報間の類似度と、第1の閾値F及び第2の閾値fとの比較が終了するまで(ステップS512No)、上記のステップS501〜ステップS511までの処理を繰り返し実行する。
そして、グルーピング部22は、全ての組合せの生体特徴情報間の類似度と、第1の閾値F及び第2の閾値fとの比較が終了すると(ステップS512Yes)、グルーピング部22は、次のような処理を実行する。すなわち、グルーピング部22は、ステップS505、ステップS509またはステップS511の処理によってグルーピングされたグループ数を算出し(ステップS513)、処理を終了する。
[実施例2の効果]
上述してきたように、本実施例に係る生体認証装置20では、上記の実施例1と同様に、本人の生体情報が拒否されたと推定される場合には認証のリトライを許可し、悪意を持った他人の生体情報が拒否されたと推定される場合には認証のリトライを制限できる。したがって、本実施例に係る生体認証装置20によれば、認証のリトライを適切に実行させることが可能である。
また、本実施例に係る生体認証装置20は、認証NG情報13bに含まれる生体特徴情報間の類似度と、第1の閾値Fおよび第2の閾値fとを比較することによって生体特徴情報をグルーピングする。このため、本実施例に係る生体認証装置20では、第1の閾値F以上のゾーン、第2の閾値f以上第1の閾値F未満の数値幅のグレーゾーン、第2の閾値未満のゾーンの3つのゾーンに類似度を区分けして生体特徴情報をグルーピングできる。それゆえ、本実施例に係る生体認証装置20によれば、グルーピングの精度を向上させることが可能になる。
さらに、本実施例に係る生体認証装置20は、認証NG情報13bに含まれる生体特徴情報間の類似度と、第1の閾値Fおよび第2の閾値fとの比較結果をもとに、第1の閾値Fおよび第2の閾値fの数値幅を狭めるように、第1の閾値F、第2の閾値fまたはその両方を更新する。このため、本実施例に係る生体認証装置20では、リトライ回数が増加するにしたがって第2の閾値fおよび第1の閾値の数値幅のグレーゾーンを縮小できる。したがって、本実施例に係る生体認証装置20によれば、入力の仕方や利用環境の違いによって本人の生体情報が拒否されている可能性が高い場合に、生体特徴情報のグループ数を参照用の生体情報が登録可能な部位の数に速やかに収束させることが可能になる。
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
[ユーザIDの応用方法]
開示の装置は、認証のリトライを制御する条件として、ユーザIDを用いることもできる。すなわち、悪意を持った他人がユーザIDを変更しながら同一の生体情報を使用して他人受入を狙う攻撃を行う場合がある。これを抑制する観点から、開示の装置は、認証NG情報13bに含まれるユーザIDの中に同一でないユーザIDが所定の閾値以上含まれていれば、認証のリトライを制限させることもできる。なお、かかる閾値には、上記の攻撃を防止するために「1」を採用することとしてもよいし、利用者がユーザIDを入力し間違えるマージンを取って「1+α」としてもよい。
図12は、応用例に係るID判定処理の手順を示すフローチャートである。図12に示すステップS701の処理は、図4に示したステップS305に対応し、以降の処理は図12に示すステップS702〜ステップS706の処理に置換することができる。
図4に示したステップS304の処理が実行されると、図12に示すように、開示の装置は、ステップS304でグルーピングされたグループ数が所定の閾値以下であるか否かを判定する(ステップS701)。このとき、グループ数が閾値を超える場合(ステップS701No)には、開示の装置は、認証のリトライを制限し(ステップS702)、処理を終了する。
一方、グループ数が閾値以下である場合(ステップS701Yes)には、開示の装置は、認証NG情報13bに含まれるユーザIDの中に同一でないユーザIDが所定の閾値以上含まれているか否かを判定する(ステップS703)。
ここで、認証NG情報13bに含まれるユーザIDの中に同一でないユーザIDが閾値以上含まれている場合(ステップS703Yes)には、開示の装置は、認証のリトライを制限し(ステップS702)、処理を終了する。
一方、認証NG情報13bに含まれるユーザIDの中に同一でないユーザIDが閾値以上含まれていない場合(ステップS703No)には、開示の装置は、次のような処理を実行する。
すなわち、開示の装置は、ステップS304でグルーピングされたグループ数が「1」である場合(ステップS704Yes)には、同種の生体情報であって異なる部位の生体情報の入力を促す通知を実行する(ステップS705)。その上で、開示の装置は、認証のリトライを許可し(ステップS706)、処理を終了する。
一方、ステップS304でグルーピングされたグループ数が「1」よりも大きい場合(ステップS704No)、ステップS705の通知は実行せずに、認証のリトライを許可し(ステップS706)、処理を終了する。
このように、図12に示した処理を実行することによって、悪意を持った他人がユーザIDを変更しながら同一の生体情報を使用して他人受入を狙う攻撃を抑制できる。さらに、グループ数が「1」である場合には、参照用の生体特徴情報の登録時と入力の仕方や利用環境の違いが大きいことが原因となって同種かつ同部位の生体情報を用いて認証のリトライを継続しても袋小路に陥る可能性もある。このような場合に、同種であって異なる部位の生体情報を入力させることによって認証のリトライから抜け出せる可能性を高めることができる。
[1対N認証]
上記の実施例1及び2では、1対1認証を採用する場合を例示したが、1対N認証を採用することもできる。例えば、開示の装置は、1対N認証を採用する場合には、認証NG情報13bの各レコードにおいて認証の失敗時に類似度が上位の所定数、例えば1位から5位までのユーザID群を生体特徴情報に対応付けておくことができる。これによって、ユーザIDの代わりに、認証のリトライが実行される度に上位の所定数に同一の人物が入っていない場合に、悪意を持った他人が同一の生体情報を使用して他人受入を狙う攻撃を行っていると推定することもできる。
[生体情報の種類]
上記の実施例1及び2では、生体認証として指紋認証が実行される場合を例示したが、静脈認証や虹彩認証などの他の生体認証を用いることもできる。例えば、生体認証として静脈認証を採用する場合には、1つのユーザIDに左手の静脈パターンと右手の静脈パターンを対応付けて登録しておくことができる。また、生体認証として虹彩認証を採用する場合には、1つのユーザIDに右目の虹彩と左目の虹彩を対応付けて登録しておくことができる。
[分散および統合]
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
例えば、上記の実施例1及び2では、生体認証装置10または生体認証装置20をスタンドアローンで動作させる場合を例示したが、生体認証装置10または生体認証装置20が有する機能部をクライアント端末およびサーバ装置に分散させることもできる。一例としては、クライアントサーバ間で生体情報そのものではなく、生体特徴情報を授受させる観点から、生体認証装置10が有する機能部のうちID受付部11、生体センサ12、抽出部15aをクライアント端末に実装する。一方、サーバ装置には、照合部15b、認証部15c、算出部15d、グルーピング部15e、判定部15fおよびリトライ制御部15gを実装する。これによって、クライアントサーバシステムにおいても、上記の実施例1及び2で説明したリトライ制御処理を実行することができる。
また、抽出部15a、照合部15b、認証部15c、算出部15d、グルーピング部15e、判定部15fまたはリトライ制御部15gのうち一部の機能部を生体認証装置10または生体認証装置20の外部装置としてネットワーク経由で接続するようにしてもよい。また、抽出部15a、照合部15b、認証部15c、算出部15d、グルーピング部15e、判定部15fまたはリトライ制御部15gのうち一部の機能部を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記の生体認証装置10または生体認証装置20の機能を実現するようにしてもよい。また、記憶部13に記憶される参照生体情報13a、認証NG情報13bの全部または一部をデータベースサーバとし、データベースサーバとネットワーク接続されて協働することで、上記の生体認証装置10または生体認証装置20の機能を実現するようにしてもかまわない。
[リトライ制御プログラム]
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図13を用いて、上記の実施例と同様の機能を有するリトライ制御プログラムを実行するコンピュータの一例について説明する。
図13は、実施例1〜3に係るリトライ制御プログラムを実行するコンピュータの一例について説明するための図である。図13に示すように、コンピュータ100は、操作部110aと、スピーカ110bと、カメラ110cと、ディスプレイ120と、通信部130とを有する。さらに、このコンピュータ100は、CPU150と、ROM160と、HDD170と、RAM180とを有する。これら110〜180の各部はバス140を介して接続される。
HDD170には、図13に示すように、上記の実施例1で示した算出部15d、グルーピング部15e、判定部15f及びリトライ制御部15gと同様の機能を発揮するリトライ制御プログラム170aが予め記憶される。このリトライ制御プログラム170aについては、図1に示した算出部15d、グルーピング部15e、判定部15f及びリトライ制御部15gの各構成要素と同様、適宜統合又は分離しても良い。また、リトライ制御プログラム170aについては、図5に示した算出部15d、グルーピング部22、閾値更新部23、判定部15f及びリトライ制御部15gの各構成要素と同様、適宜統合又は分散しても良い。すなわち、HDD170に格納される各データは、常に全てのデータがHDD170に格納される必要はなく、処理に必要なデータのみがHDD170に格納されれば良い。
そして、CPU150が、リトライ制御プログラム170aをHDD170から読み出してRAM180に展開する。これによって、図13に示すように、リトライ制御プログラム170aは、リトライ制御プロセス180aとして機能する。このリトライ制御プロセス180aは、HDD170から読み出した各種データを適宜RAM180上の自身に割り当てられた領域に展開し、この展開した各種データに基づいて各種処理を実行する。なお、リトライ制御プロセス180aは、図1に示した算出部15d、グルーピング部15e、判定部15f及びリトライ制御部15gにて実行される処理、例えば図4に示す処理を含む。また、リトライ制御プロセス180aは、図5に示した算出部15d、グルーピング部22、閾値更新部23、判定部15f及びリトライ制御部15gにて実行される処理、例えば図11に示す処理を含む。なお、CPU150上で仮想的に実現される各処理部は、常に全ての処理部がCPU150上で動作する必要はなく、処理に必要な処理部のみが仮想的に実現されれば良い。
なお、上記のリトライ制御プログラム170aについては、必ずしも最初からHDD170やROM160に記憶させておく必要はない。例えば、コンピュータ100に挿入されるフレキシブルディスク、いわゆるFD、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させる。そして、コンピュータ100がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしてもよい。また、公衆回線、インターネット、LAN、WANなどを介してコンピュータ100に接続される他のコンピュータまたはサーバ装置などに各プログラムを記憶させておき、コンピュータ100がこれらから各プログラムを取得して実行するようにしてもよい。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)生体認証時に生体情報から抽出された生体特徴情報のうち生体認証に失敗した生体特徴情報を記憶する記憶部と、
前記記憶部に記憶された生体特徴情報の組合せごとに生体特徴情報間の類似度を算出する算出部と、
前記算出部によって算出された生体特徴情報間の類似度を用いて、前記記憶部に記憶された生体特徴情報をグルーピングするグルーピング部と、
前記グルーピング部によって生体特徴情報がグルーピングされたグループ数が所定の閾値以下であるか否かを判定する判定部と、
前記判定部によってグループ数が前記閾値以下であると判定された場合に前記生体認証のリトライを許可し、前記グループ数が前記閾値を超えたと判定された場合に前記生体認証のリトライを制限するリトライ制御部と
を有することを特徴とする生体認証装置。
(付記2)前記グルーピング部は、前記算出部によって算出された生体特徴情報間の類似度と、複数の生体特徴情報を同一のグループに分類する第1の閾値および複数の生体特徴情報を異なるグループに分類する第2の閾値とを比較することによって前記記憶部に記憶された生体特徴情報をグルーピングすることを特徴とする付記1に記載の生体認証装置。
(付記3)前記算出部によって算出された生体特徴情報間の類似度と、前記第1の閾値および前記第2の閾値との比較結果をもとに、前記第1の閾値および前記第2の閾値を更新する閾値更新部をさらに有することを特徴とする付記2に記載の生体認証装置。
(付記4)前記閾値更新部は、前記第1の閾値および前記第2の閾値の数値幅を狭めるように、前記第1の閾値、前記第2の閾値または前記第1の閾値と前記第2の閾値の両方を更新することを特徴とする付記3に記載の生体認証装置。
(付記5)前記生体認証の実行時に参照される参照用の生体特徴情報は、同種の生体特徴情報について異なる部位の生体特徴情報が複数登録されるものであって、
前記判定部は、前記グルーピング部によって生体特徴情報がグルーピングされたグループ数が、一人の利用者につき前記参照用の生体特徴情報を登録可能な部位の数を基準に設定された閾値以下であるか否かを判定することを特徴とする付記1〜4のいずれか1つに記載の生体認証装置。
(付記6)前記判定部は、前記生体認証のリトライが実行される回数が多くなるにしたがって前記登録可能な部位の数に収束するように更新される閾値を用いて、前記グループ数の閾値判定を実行することを特徴とする付記5に記載の生体認証装置。
(付記7)前記生体認証の実行時に参照される参照用の生体特徴情報は、同種の生体特徴情報について異なる部位の生体特徴情報が複数登録されるものであって、
前記算出部は、前記生体認証のリトライが実行される回数が、一人の利用者につき前記参照用の生体特徴情報を登録可能な部位の数以上である場合に、前記類似度の算出を実行することを特徴とする付記1〜6のいずれか1つに記載の生体認証装置。
(付記8)前記記憶部は、前記生体認証に失敗した生体特徴情報に加え、当該生体特徴情報とともに入力された利用者の識別情報をさらに記憶するものであって、
前記リトライ制御部は、前記記憶部に記憶された識別情報のうち同一でない識別情報の数が所定の閾値以上である場合に、前記生体認証のリトライを制限することを特徴とする付記1〜7のいずれか1つに記載の生体認証装置。
(付記9)前記生体認証に成功した場合、あるいは最後に前記生体認証が実行されてから所定の期間が経過した場合に、前記記憶部に記憶された生体特徴情報を消去する消去部をさらに有することを特徴とする付記1〜8のいずれか1つに記載の生体認証装置。
(付記10)コンピュータに、
生体認証時に生体情報から抽出された生体特徴情報のうち生体認証に失敗した生体特徴情報を記憶する記憶部を参照して、生体特徴情報の組合せごとに生体特徴情報間の類似度を算出し、
算出された生体特徴情報間の類似度を用いて、前記記憶部に記憶された生体特徴情報をグルーピングし、
各生体特徴情報がグルーピングされたグループ数が所定の閾値以下であるか否かを判定し、
前記グループ数が前記閾値以下であると判定された場合に前記生体認証のリトライを許可し、前記グループ数が前記閾値を超えたと判定された場合に前記生体認証のリトライを制限する
処理を実行させることを特徴とするリトライ制御プログラム。
(付記11)コンピュータが、
生体認証時に生体情報から抽出された生体特徴情報のうち生体認証に失敗した生体特徴情報を記憶する記憶部を参照して、生体特徴情報の組合せごとに生体特徴情報間の類似度を算出し、
算出された生体特徴情報間の類似度を用いて、前記記憶部に記憶された生体特徴情報をグルーピングし、
各生体特徴情報がグルーピングされたグループ数が所定の閾値以下であるか否かを判定し、
前記グループ数が前記閾値以下であると判定された場合に前記生体認証のリトライを許可し、前記グループ数が前記閾値を超えたと判定された場合に前記生体認証のリトライを制限する
処理を実行することを特徴とするリトライ制御方法。