説明

生体認証システムおよび装置

【課題】生体情報を用いた1:N照合時において,高い照合精度を保ちながら,より高速な照合を実現する。
【解決手段】生体照合システムは,生体情報から抽出され,当該生体情報よりも情報量が小さく,且つバイナリ比較による照合可能なインデックス情報を備えるクライアントと,インデックス情報を含むインデックス情報群と,生体情報を含む生体情報群とを読み込むことが可能なサーバとがネットワークを介して接続される生体照合システムであって,クライアントは,インデックス情報をサーバに送信する手段を備え,サーバは,クライアントより受信した前記インデックス情報とインデックス情報群の各インデックス情報とをバイナリ比較する手段と,バイナリ比較の結果に基づき,生体情報群の中から,一致したインデックス情報に対応する生体情報を特定する手段とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は,指紋をはじめとする生体情報を用いる認証・照合技術に関する。
【背景技術】
【0002】
近年,セキュリティに対する社会的要請の高まりに伴って,指紋をはじめとする生体照合技術が普及してきている。一方,ネットワーク社会の成熟により,携帯電話などのクライアント端末を用いて,インターネット上のサイトを利用する機会が日常的となっている。しかし,インターネット上での認証は,IDとパスワードによる古典的手法が未だに大半を占め,生体照合技術を用いた高度なセキュリティレベルを有する認証はそれほど普及していない。
【0003】
この理由の1つとして挙げられるのが,処理速度の問題である。ここで,クライアント端末が備える生体センサから読み取った生体情報をサーバに送信し,サーバに予め登録されている生体情報と照合する場合を考える。
【0004】
一般に,生体情報同士による照合は,所定のアルゴリズム,例えば指紋照合の場合,マニューシャ・マッチング方式などを使用し照合する。この照合は,単なるバイナリデータの比較であるパスワード照合と比較し,膨大な計算量が必要となる。即ち,サーバに登録されている生体情報の数が多い場合,当然,多くの処理時間が必要になる。
【0005】
一般に,インターネットサイトのユーザ数(クライアント数)は,場合に依るが,数千,数万といった膨大な数に上るため,照合に要する時間は相当なものとなり,実用的なシステムとは言い難かった。
【0006】
より具体的に説明すると,サーバは,クライアントから送信された生体情報と,予め自身に登録されている生体情報とを1対1で照合し,一致する生体情報を検出するまでこの照合を続ける。このため,照合に必要な回数は,サーバに登録されている生体情報の数がN個の場合,最小で1回,最大でN回ということになる。
【0007】
結果として,生体情報による1:Nの照合システムは,そのユーザ数が多くなるにつれ,サーバでの照合の時間が長くなり,ひいては円滑なシステムの運用を妨げるという問題があった。もちろん照合の前に予めユーザIDなど個人を識別するコードを入力することにより,サーバに登録されているN個の生体情報のうちから特定することもできるが,入力作業が煩雑であるうえ,コードを忘れてしまうというリスクが存在する。
【0008】
このような1:N照合時における問題に対して下記に示す技術が開示されている。
【特許文献1】特開2004−326362号公報
【0009】
上記,特許文献1には,1:N照合を効率的に行う発明が開示されている。即ち,入力された生体情報と登録された生体情報を比較する前に,それぞれの生体情報の代表値となる縮小ベクトルによる照合を行い,この照合の結果,高い照合度の得られた登録生体情報と入力生体情報とを照合する。これにより高い照合精度を保ちながら,照合時の計算量を減らすことができる。しかし,この発明には以下のような問題がある。
【0010】
縮小ベクトルによる照合は,あくまでバイナリ比較ではなく,一定のアルゴリズムに基づいた照合である。従って,本来の照合に比べると計算量が少ないとはいえ,1:N照合時において,対象となる登録生体情報の数が多い場合は,その照合に要する時間は無視できないものとなる。また,縮小ベクトルによる照合に誤りがあった場合,次いで行われる正式な照合の際,必要な生体情報が照合対象に存在しない場合がある。
【発明の開示】
【発明が解決しようとする課題】
【0011】
上記した事情を鑑みて,本発明は,生体情報を用いた1:N照合時において,高い照合精度を保ちながら,より高速な照合を実現し,さらに,必要な生体情報が登録されているにもかかわらず,これを見逃すといった照合誤りをなくすことを目的とする。
【課題を解決するための手段】
【0012】
本発明の第1の形態にかかる生体照合システムは,生体情報から抽出され,当該生体情報よりも情報量が小さく,且つバイナリ比較による照合可能なインデックス情報を備えるクライアントと,インデックス情報を含むインデックス情報群と,生体情報を含む生体情報群とを読み込むことが可能なサーバとがネットワークを介して接続される生体照合システムであって,クライアントは,インデックス情報をネットワークに送信する手段を備え,サーバは,クライアントより送信されたインデックス情報とインデックス情報群の各インデックス情報とをバイナリ比較する手段と,バイナリ比較の結果に基づき,生体情報群の中から,一致したインデックス情報に対応する生体情報を特定する手段とを備える。
【0013】
より好ましくは,生体情報は,指紋照合における特徴点情報であり,インデックス情報は,当該特徴点情報の一部である。
【0014】
本発明の第2の形態にかかるクライアントは,サーバとネットワーク接続された,生体照合システムの一部をなすクライアントであって,生体情報から,当該生体情報の情報量よりも小さく,且つバイナリ比較による照合可能なインデックス情報を抽出する手段と,自身にインデックス情報を登録する手段と,生体情報とインデックス情報とをネットワークに送信する手段とを備える。
【0015】
より好ましくは,生体情報は,指紋照合における特徴点情報であり,インデックス情報は,当該特徴点情報の一部である。
【0016】
本発明の第3の形態にかかるサーバは,クライアントとネットワーク接続された,生体照合用サーバであって,クライアントより送信された生体情報と,当該生体情報から抽出され,当該生体情報の情報量よりも小さく,且つバイナリ比較による照合可能なインデックス情報とを登録する手段と,登録されている,インデックス情報を含むインデックス情報群を読み込む手段と,登録されている,生体情報を含む生体情報群を読み込む手段と,クライアントより送信されたインデックス情報とインデックス情報群の各インデックス情報とをバイナリ比較する手段と,バイナリ比較の結果に基づき,生体情報群の中から,一致したインデックス情報に対応する生体情報を特定する手段とを備える。
【0017】
より好ましくは,生体情報は,指紋照合における特徴点情報であり,インデックス情報は,当該特徴点情報の一部である。
【0018】
本発明の第4の形態にかかるプログラムは,サーバとネットワーク接続された,生体照合システムの一部をなすクライアントのプログラムであって,クライアントを,生体情報から,当該生体情報の情報量よりも小さく,且つバイナリ比較による照合可能なインデックス情報を抽出する手段と,自身にインデックス情報を登録する手段と,
生体情報とインデックス情報とをネットワークに送信する手段として機能させる。
【0019】
本発明の第5の形態にかかるプログラムは,クライアントとネットワーク接続された,生体照合用サーバのプログラムであって,サーバを,クライアントより送信された生体情報と,当該生体情報から抽出され,当該生体情報の情報量よりも小さく,且つバイナリ比較による照合可能なインデックス情報とを登録する手段と,登録されている,インデックス情報を含むインデックス情報群を読み込む手段と,登録されている,生体情報を含む生体情報群を読み込む手段と,クライアントより送信されたインデックス情報とインデックス情報群の各インデックス情報とをバイナリ比較する手段と,バイナリ比較の結果に基づき,生体情報群の中から,一致したインデックス情報に対応する生体情報を特定する手段として機能させる。
【発明の効果】
【0020】
本発明によれば,生体認証の1:N照合において,本来の照合の前に,入力生体情報のインデックス情報と登録生体情報のインデックス情報とのバイナリ比較を行うことにより,より高速に照合対象となる母集団を選択することができるため,高い照合精度を保ちながら,高速な照合が行える。また,インデックス情報のバイナリ比較は,アルゴリズムによって判定されるものではないため,抽出された母集団に,必要な生体情報が欠落することはない。
【発明を実施するための最良の形態】
【0021】
以下では図面を参照し,本発明に係る実施例を説明する。各図面において共通する要素には同じ番号を付し,説明は繰り返さない。なお,本発明は,生体情報の種類によらず適用可能であるが,以後,説明のため生体情報に指紋を用いる例を示す。
<実施例1>
【0022】
[環境図]
図1は本実施例に係るシステム環境図である。ネットワーク105を介して,サーバ101およびクライアント103が接続される。クライアント103は1台でも良いが,通常は,図示するように複数存在する。
【0023】
[ハードウェア構成図]
図2は本実施例に係るクライアント103のハードウェア構成図である。図2を参照して,クライアント103は,それぞれがバスで接続されたCPU201,ROM203,RAM205,指紋センサ207,およびネットワークインタフェース209を備え,CPU201は,ROM203に格納されているプログラムをRAM205に展開して実行し,ネットワークインタフェース209は,ネットワーク105越しにサーバ101と通信する。ROM203は,上述したプログラムに加えて,後に説明するインデックス情報も登録される。
なお,CPU201は前述したプログラムを実行することにより,以下の各手段を実現する。
一方,サーバ101のハードウェア構成は,通常のPCと同様のため説明を省略する。
【0024】
[ソフトウェア機能ブロック図]
図3は本実施例に係るクライアント103のソフトウェア機能ブロック図である。
ネットワーク通信手段301は,クライアント103とサーバ101との通信を制御する。
生体情報読取手段303は,指紋センサ207を制御し,センサに置かれた指の指紋情報を読み取る。
特徴点抽出手段305は,生体情報読取手段303が読み取った指紋情報から特徴点情報を抽出する。
インデックス抽出手段307は,特徴点抽出手段305の抽出した特徴点情報から後に説明するインデックス情報を抽出する。
照合結果判定手段309は,サーバ101で行われたインデックス情報同士の照合結果を元に,後の処理を制御する。
【0025】
図4は本実施例に係るサーバ101のソフトウェア機能ブロック図である。
ネットワーク通信手段401は,サーバ101とネットワーク105との通信を制御する。
登録手段403は,クライアント103より送信された,ある指紋情報に対応するインデックス情報と特徴点情報とを,それぞれ対応付けてサーバ101の備える記憶装置に登録する。
インデックス照合手段405は,クライアント103より送信されたインデックス情報と,登録手段403によって,自身の記憶装置に予め登録されているインデックス情報とを,後に説明するバイナリ比較により照合し,この結果をクライアント103に送信する。
特徴点照合手段407は,クライアント103より送信された特徴点情報と,登録手段403によって,自身の記憶装置に予め登録されている特徴点情報とを照合し,この結果をクライアント103に送信する。なお,特徴点情報の照合は,従来技術である,マニューシャ・マッチング方式などを使用する。
【0026】
[フローチャート(登録時)]
本システムの使用に先立って,使用するユーザの指紋情報をクライアントおよびサーバに登録する必要がある。図5は,この登録処理のフローチャートである。
【0027】
ステップ501において,生体情報読取手段303が,指紋センサ207を通じてユーザの指紋情報を読み取る。
ステップ503において,特徴点抽出手段305が,読み取った指紋情報の特徴点情報を抽出する。
ステップ505において,インデックス抽出手段307が,抽出された特徴点情報から,後述するインデックス情報を抽出する。
ステップ507において,特徴点抽出手段305およびインデックス抽出手段307が,抽出された特徴点情報およびインデックス情報をサーバ101に送信する。
ステップ509において,インデックス抽出手段307が,インデックス情報を自身のROM203に登録する。
ステップ511において,登録手段403が,クライアント103より送信された特徴点情報およびインデックス情報を自身の記憶装置(図示せず)に登録する。即ち,クライアント103とサーバ101は,同一のインデックス情報を保持することになる。
【0028】
[特徴点情報とインデックス情報]
ここで,特徴点情報とそのインデックス情報について説明する。図6は,指紋情報から得られる特徴点情報とそのインデックス情報の一例である。表601は,ある指紋情報から得られる特徴点情報の一覧である。特徴点とは,具体的には,指紋における隆線の切れ目である端点や分かれ目である分岐点のことであり,指紋照合ではこれらの特徴点を用いて照合する。表601から明らかなように,各特徴点は,その座標,方向および品質といった属性データを持つ。なお,上述したフローチャートにおけるステップ511で,登録手段403が登録する特徴点情報は,表601のデータである。
【0029】
一方,インデックス情報は,図6における表601に示すデータを代表するデータのことであり,本実施例では,各特徴点における方向データの列ベクトルとする(図6の603)。このインデックス情報は,必ずしも方向データである必要はなく,座標や品質,およびその他のパラメータがある場合は,その値やそれらを組み合わせたものでも良い。さらに,本実施例では,各特徴点の品質を降順に並べ,この順番に特徴点番号を付し,1〜4番目の特徴点に対応する方向データをインデックス情報としたが,このインデックス情報のデータ長は,任意の長さとすることができる。例えば,1つの方向データを1バイト長とした場合,本実施例のインデックス情報は4バイトであるが,これはサーバ101に登録されているインデックス情報の数などに応じて決めることができる。言うまでもないが,インデックス情報のデータ長が長くなるほど,インデックス照合に要する計算量は増加するからである。
【0030】
[フローチャート(照合時)]
図7を参照して,本システムを使用して指紋照合する際のフローを説明する。
ステップ701は,既に説明したステップ501と同じ処理である。
ステップ703において,インデックス抽出手段307は,自身のROM203に保存されているインデックス情報を全てサーバ101に送信する。ここで送信するインデックス情報は,ステップ701で入力した指紋情報から抽出されるインデックス情報ではなく,指紋情報登録時に,既にクライアントに登録(ステップ505)されているインデックス情報である。そもそも,照合時において,クライアント103はインデックス情報を抽出しない。
ステップ705において,サーバ101のインデックス照合手段405は,クライアント103より送信されたインデックス情報と自身の記憶装置に登録されているインデック情報とを照合(詳細は後述)し,この結果をクライアント103に通知する。
ステップ707において,照合結果判定手段309は,サーバ101から受信するインデックス照合の結果が,成功ならばステップ709に処理を進ませ,そうでなければ処理を終了させる。
ステップ709において,特徴点抽出手段305は,ステップ701で読み取った指紋情報の特徴点情報を抽出し,これをサーバ101に送信(ステップ711)する。
ステップ713において,特徴点照合手段407は,ステップ705にて照合の成功したインデックス情報を持つ特徴点情報とクライアント103より送信された特徴点情報とを照合する。なお,特徴点情報同士による照合は,クライアント側で行うこともできる。その場合,ステップ713において,照合の成功したインデックス情報を持つ特徴点情報がサーバ101からクライアント103に送信され照合することとなる。
【0031】
[インデックス照合]
図8は,照合時におけるインデックス照合の様子を示した図である。既に説明したように,インデックス情報とは,指紋情報の各特徴点における方向データの列ベクトルである。即ち,インデックス照合とは,2つの列ベクトルの比較に他ならない。
【0032】
具体的には,図8に示すように,サーバ101の保持するインデックス情報はツリー構造なっており,このツリーをインデックス情報の先頭要素から順番に走査することにより該当インデックス情報を探索する。クライアント103とサーバ101は同一のインデックス情報を持っているので,先頭から順に検索していき,一致しない要素を検出した時点で次の分岐を探索すればよい。なお,この比較は,単なるバイナリ比較であるため所定のアルゴリズムに従った照合と比較し,高速に処理することができる。
【0033】
図9に,インデックス照合のフローチャートを示す。本フローチャートにおいて,登録インデックス番号は,1つの指紋情報における方向データの列ベクトル(インデックス情報)の番号を示す。即ち,登録インデックス番号は,少なくとも1つ以上存在する図6の603を示す番号である。また,方向θ番号とは,1つの登録インデックス番号のベクトル要素である個々の方向データを示す番号である。
【0034】
ステップ901において,登録インデックス番号[i],および登録インデックス番号毎に存在する方向θ番号[j]が1で初期化される。
ステップ903において,クライアント103から送信されたインデックス情報の1つ目の方向θが読み込まれる。
ステップ905において,登録インデックス情報,およびこれに付随する方向θが読み込まれる。
ステップ907において,ステップ901で読み込まれたインデックス情報の方向θとステップ905で読み込まれた方向θとがバイナリ比較される。
ステップ909において,両者の方向θが一致していれば,処理がステップ911に進み,そうでなければ処理がステップ913に進む。
ステップ911において,登録インデックス情報の方向θが最後の要素であるかが判定され,この結果,最後の要素であれば,処理がステップ923に進み,そうでなければ処理がステップ915に進む。
ステップ913において,現在の登録インデックス情報が最後のインデックス情報であるかどうかが判定され,最後であれば,処理がステップ925に進み,そうでなければ処理がステップ919に進む。
ステップ915において,方向θ番号[j]が1インクリメントされる。
ステップ917において,入力インデックス情報の次の方向θが読み込まれる。
ステップ919において,登録インデックス番号[i]が1インクリメントされ,方向θ番号[j]が1に初期化される。
ステップ921において,インデックス照合が成功した旨をクライアント103に送信する。
ステップ923において,インデックス照合が失敗した旨をクライアント103に送信する。
【0035】
上記のフローチャートでは,クライアント103から送信される入力インデックス情報が1つの場合を示したが,複数ある場合は,入力インデックス情報毎に同じ処理を行う。
<実施例2>
【0036】
実施例1では,1人のユーザが1つのクライアント103を使用するという前提で説明したが,本実施例では,1人のユーザが複数のクライアント103を使用する場合について説明する。例えばあるユーザが出張先で異なるクライアントPCを用いて一時的にインターネット上のサイトを利用するような場合がこれに当たる。
【0037】
図5で説明したとおり,クライアント103は,最初,得られた指紋情報からインデックス情報を抽出し,これをサーバ101に送信・登録すると同時に自身にも登録する。即ち,クライアント103とサーバ101は同一のインデックス情報を持っていることになる。以下では,新たに使用するクライアントである新規クライアントの登録について説明する。
【0038】
既に説明した通り,本発明は,サーバ101とクライアント103とが同一のインデックス情報を持っていることが前提となっている。従って,新規クライアントが,サーバ101およびクライアント103に既に登録されているインデックス情報を共有する処理が必要となる。図10にて上記した処理を説明するが,本図に示す処理の多くは,既に説明した処理と同じであるため,詳細については省略する。
【0039】
ステップ1001において,入力された指紋情報から特徴点情報が抽出される。
ステップ1003において,抽出された特徴点情報が,新規クライアントからサーバ101に送信される。
ステップ1005において,送信された特徴点情報を元に,サーバ101に登録されている特徴点情報の検索が実行され照合される。
ステップ1007において,ステップ1001にて照合が成功した特徴点情報に対応するインデックス情報が特定され,これが新規クライアントに送信(ステップ1009)される。
ステップ1011において,サーバ101より送信されたインデックス情報が新規クライアントに登録される。
【0040】
上述した処理により,新規クライアントは,サーバ101およびクライアント103に既に登録されているインデックス情報を共有することができ,次回以降実施例1に述べたと同一のフローを用いた迅速な照合が可能となる。
【0041】
以上述べたように,本発明では,生体認証の1:N照合において,本来の照合に先立って,入力生体情報のインデックス情報と登録生体情報のインデックス情報とのバイナリ比較を行うことにより,より高速に照合対象となる母集団を選択することができる。このため本発明の実施により,高い照合精度を保ちながら,高速な照合が行える。また,インデックス情報のバイナリ比較は,アルゴリズムによって判定されるものではないため,抽出された母集団に,必要な生体情報が欠落することはない。
<その他の実施例>
【0042】
インデックス情報および生体情報登録時に,クライアント103がこれらのデータを送信する宛先は,サーバ101に限らず,サーバ101が読み込むことのできる場所であれば,異なる場所に送信しても構わない。また,実施例1に記載の通り,クライアント103からサーバ101に送信された場合であっても,サーバ101は,必ずしも自身の記憶装置に登録する必要はなく,別の場所に登録することが可能である。この場合,照合時において,サーバ101は,自身の記憶装置ではなく,登録されたその場所からインデックス情報および生体情報を読み込めば良い。
【図面の簡単な説明】
【0043】
【図1】本発明に係るシステムの環境図
【図2】本発明に係るクライアントのハードウェア構成図
【図3】本発明に係るクライアントのソフトウェア構成図
【図4】本発明に係るサーバのソフトウェア構成図
【図5】指紋情報登録時のフローチャート
【図6】特徴点情報とインデックス情報
【図7】照合時のフローチャート
【図8】インデックス照合の概念図
【図9】インデックス照合のフローチャート
【図10】新規クライアント登録時のフローチャート
【符号の説明】
【0044】
101 サーバ
103 クライアント
305 インデックス抽出手段
403 登録手段
405 インデックス照合手段

【特許請求の範囲】
【請求項1】
生体情報から抽出され,当該生体情報よりも情報量が小さく,且つバイナリ比較による照合可能なインデックス情報を備えるクライアントと,
前記インデックス情報を含むインデックス情報群と,前記生体情報を含む生体情報群とを読み込むことが可能なサーバと
がネットワークを介して接続される生体照合システムであって,
前記クライアントは,
前記インデックス情報をネットワークに送信する手段を備え,
前記サーバは,
前記クライアントより送信された前記インデックス情報と前記インデックス情報群の各インデックス情報とをバイナリ比較する手段と,
前記バイナリ比較の結果に基づき,前記生体情報群の中から,一致したインデックス情報に対応する生体情報を特定する手段と,
を備える生体照合システム。
【請求項2】
前記生体情報は,指紋照合における特徴点情報であり,前記インデックス情報は,当該特徴点情報の一部である,請求項1記載の生体照合システム。
【請求項3】
サーバとネットワーク接続された,生体照合システムの一部をなすクライアントであって,
生体情報から,当該生体情報の情報量よりも小さく,且つバイナリ比較による照合可能なインデックス情報を抽出する手段と,
自身に前記インデックス情報を登録する手段と,
前記生体情報と前記インデックス情報とをネットワークに送信する手段と,
を備えるクライアント。
【請求項4】
前記生体情報は,指紋照合における特徴点情報であり,前記インデックス情報は,当該特徴点情報の一部である,請求項3記載のクライアント。
【請求項5】
クライアントとネットワーク接続された,生体照合用サーバであって,
前記クライアントより送信された生体情報と,当該生体情報から抽出され,当該生体情報の情報量よりも小さく,且つバイナリ比較による照合可能なインデックス情報とを登録する手段と,
登録されている,前記インデックス情報を含むインデックス情報群を読み込む手段と,
登録されている,前記生体情報を含む生体情報群を読み込む手段と,
前記クライアントより送信されたインデックス情報と前記インデックス情報群の各インデックス情報とをバイナリ比較する手段と,
前記バイナリ比較の結果に基づき,前記生体情報群の中から,一致した前記インデックス情報に対応する生体情報を特定する手段と,
を備えるサーバ。
【請求項6】
前記生体情報は,指紋照合における特徴点情報であり,前記インデックス情報は,当該特徴点情報の一部である,請求項5記載のサーバ。
【請求項7】
サーバとネットワーク接続された,生体照合システムの一部をなすクライアントのプログラムであって,前記クライアントを,
生体情報から,当該生体情報の情報量よりも小さく,且つバイナリ比較による照合可能なインデックス情報を抽出する手段と,
自身に前記インデックス情報を登録する手段と,
前記生体情報と前記インデックス情報とをネットワークに送信する手段,
として機能させるためのプログラム。
【請求項8】
クライアントとネットワーク接続された,生体照合用サーバのプログラムであって,前記サーバを,
前記クライアントより送信された生体情報と,当該生体情報から抽出され,当該生体情報の情報量よりも小さく,且つバイナリ比較による照合可能なインデックス情報とを登録する手段と,
登録されている,前記インデックス情報を含むインデックス情報群を読み込む手段と,
登録されている,前記生体情報を含む生体情報群を読み込む手段と,
前記クライアントより送信されたインデックス情報と前記インデックス情報群の各インデックス情報とをバイナリ比較する手段と,
前記バイナリ比較の結果に基づき,前記生体情報群の中から,一致した前記インデックス情報に対応する生体情報を特定する手段,
として機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2010−123024(P2010−123024A)
【公開日】平成22年6月3日(2010.6.3)
【国際特許分類】
【出願番号】特願2008−297694(P2008−297694)
【出願日】平成20年11月21日(2008.11.21)
【出願人】(500112146)サイレックス・テクノロジー株式会社 (74)
【Fターム(参考)】