説明

生体認証システム

【課題】 安全性が高く、かつ、コストを低減することができる指紋照合システムを提供する。
【解決手段】 耐タンパ性を有したICカード100と、ICカード100に対して情報の読み書きを行う耐タンパ性を有したリーダライタ110とを備え、リーダライタ110は、指紋入力部113により読みとった指紋画像を、前処理部112で前処理し、抽出した中間情報をICカード100に送信し、ICカード100は、前記中間情報と指紋情報104との照合を行い、当該照合が一致したときに、電子認証に使われる認証情報105を使用可能にし、アプリケーション131との間で電子認証を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、重要施設における入退室の管理や情報システムのアクセス管理に使われる生体情報照合技術に関し、特に、指紋照合技術に関する。
【背景技術】
【0002】
従来から、指紋等の生体情報を使って、あらかじめ登録した特定の利用者に対してのみ、施設への入退室や情報システムの利用を許可するアクセスコントロール技術が知られている。このようなアクセスコントロール技術としては、例えば、以下のようなものがある。
【0003】
(1)クライアント認証型装置
特開平09-198501号公報(以下、文献1という)には、あらかじめドア管理装置に記録した利用者の生体情報と、入退出時に入力した生体情報とを照合することで管理区域への不正な侵入を防止するものが記載されている。
【0004】
(2)サーバ認証型指紋照合装置
特開平10-124668号公報(以下、文献2という)には、サーバが利用者の生体情報ファイルをもち、クライアントにおいて入力された利用者の生体情報をサーバで照合することで、コンピュータシステムへの不正なアクセスを防止するものが記載されている。
【0005】
(3)携帯型指紋照合装置
特開平10-149446号公報(以下、文献3という)には、ICカードなどの携帯型記録装置に利用者の生体情報を記録し、新たに入力した利用者の生体情報をクライアントで照合することにより、コンピュータシステムなどへの不正なアクセスを防止するものが記載されている。
【発明の開示】
【発明が解決しようとする課題】
【0006】
前述した文献1に記載された方法では、ドア管理装置が耐タンパ性を有しない装置で実現されている場合、利用者の指紋情報や照合結果の偽造、改ざん、盗用等により、正しい利用者になりすます不正(なりすまし)が可能になるという問題がある。
【0007】
これに対して、前述した文献2に記載された方法では、サーバで利用者固有の情報である生体情報を集中管理し、指紋照合を行うため、文献1に記載された方法で問題となる指紋情報や照合結果の偽造、改ざん、盗用等は困難となる。しかし、指紋等の個人情報が集中管理されることに対して、利用者の心理的抵抗が大きかったり、一度に多数の生体情報が盗難される恐れがあったり、多数の利用者管理のために、生体情報を記録するファイルの管理にかかるコストが増大する等といった問題がある。
【0008】
一方、文献3に記載された方法では、ICカードなどの耐タンパ性を有する携帯型記憶装置に生体情報を記録するため、文献2に記載された方法で問題となる利用者の心理的抵抗、大量の生体情報の盗難、および生体情報の管理にかかるコストの問題を解決できる。しかもICカードに実装された指紋入力装置およびCPUによって指紋の入力と照合を行うため、文献1に記載された方法で問題となる指紋情報や照合結果の偽造、改ざん、盗用等を防止でき、安全性が高いといえる。しかし、ICカードに生体情報の入力機能および生体情報の照合機能を実装する必要があり、装置のコストが高くなるという問題がある。
【0009】
本発明の目的は、安全性が高く、かつ、コストを低減することができる指紋照合システムを提供することにある。
【課題を解決するための手段】
【0010】
本発明に係る生体認証システムは、耐タンパ性を有した演算機能付き携帯型記憶装置と、前記携帯型記憶装置に対して情報の読み書きを行う耐タンパ性を有したリーダライタとを備える。
【0011】
そして、前記リーダライタは、生体情報を入力する生体情報入力装置を備え、当該生体情報入力装置で入力した生体情報の前処理を行い、当該前処理を行った中間情報を前記携帯型記憶装置に送信する。
【0012】
また、前記携帯型記憶装置は、生体情報のテンプレートと、電子認証に使われる秘密鍵とを備え、前記中間情報と前記テンプレートとの照合を行い、当該照合が一致したときに、前記秘密鍵を使用可能にする。
【0013】
前記生体情報が指紋情報の場合は、前記リーダライタは、指紋照合に必要な指紋画像情報を前記携帯型記憶装置に順次送信し、前記携帯型記憶装置は、前記指紋画像情報を順次処理することで、指紋照合を行うようにしてもよい。
【0014】
また、前記テンプレートに記録された登録指紋と、あらたに入力された入力指紋との位置ずれを補正するための情報を、指紋のコア位置を使って算出し、前記登録指紋の特徴点周辺の小画像を、前記入力指紋の画像上の位置ずれ補正した座標周辺でマッチングすることによって探索し、一致した小画像の個数をもって、前記テンプレートと前記指紋画像の同一性を判定するようにしてもよい。また、指紋のコア位置を算出する際、隆線の垂線ベクトルを探索し、当該垂線ベクトルが大きく変化する位置を、指紋のコアと決定するようにしてもよい。
【0015】
また、前記テンプレートに記録された登録指紋と、あらたに入力された入力指紋との位置ずれを補正するための情報を、入力指紋および登録指紋のそれぞれについて、各特徴点の周辺に特定の輝度分布を持つ画像を作成し、当該画像の相互相関により算出するようにしてもよい。
【発明の効果】
【0016】
以上詳細に説明したように、本発明によれば、利用者固有の情報を携帯型記録装置により個人管理するので、利用者の心理的抵抗を減らすことができる。また、一度に多数の生体情報が盗難される可能性を軽減し、生体情報の記録管理にかかるコストを低減することができる。
【0017】
また、生体情報および生体情報照合機能を耐タンパ性を有する携帯型記憶装置の内部に実装することで、利用者の生体情報および照合結果の偽造、改ざん、盗用を困難にしなりすましを防ぐことができる。
【0018】
また、生体情報入力機能および生体情報照合の前処理機能をリーダライタに実装するので、一般的な演算機能付き携帯型記憶装置であるICカード等のCPUで生体情報照合を行え、システムのコストを低減することができる。
【発明を実施するための最良の形態】
【0019】
以下、本発明の実施の形態について、図面を参照しつつ、詳細に説明する。
【0020】
ここでは、高いセキュリティが必要とされる銀行の事務システムを例に、携帯型記録装置としてICカードを用い、ホストコンピュータで稼働している銀行業務用アプリケーションに対するアクセス管理を行う場合について説明する。また、生体情報としては、指紋を用いる場合について説明する。
【0021】
図1は、本発明によるアクセス管理システムの概略を説明するための図である。同図に示すように、本システムは、ホストコンピュータ130と、端末120と、リーダライタ110と、ICカード100とを備える。
【0022】
ホストコンピュータ130は、銀行業務を行うためのもので、職員が銀行業務を行うためのアプリケーション131が実行されている。アプリケーション131は、職員があらかじめ登録された正しい利用者であることを確認(本人認証)した後に利用可能となるものである。
【0023】
端末120は、アプリケーション131を利用するための端末であり、ホストコンピュータ130とネットワーク140によって接続されている。端末120は、ホストコンピュータ130とリーダライタ110およびICカード100とが本人認証に必要な情報を交換する際の中継を行うものでもある。
【0024】
リーダライタ110は、ICカード100に対するデータの読み書きをするための装置で、端末120に接続されている。リーダライタ110は、インターフェース111と、指紋入力部113と、前処理部112とを備える。インターフェース111は、端末120やICカード100との間で情報を伝達する。指紋入力部113は、職員の指から指紋を読み取る。前処理部112は、読み取った指紋画像の前処理を行い、指紋照合に必要となる情報をICカード100と交換する。
【0025】
ICカード100は、おのおのの職員が持つ演算機能付き携帯型記憶装置である。ICカード100は、インターフェース101と、指紋照合処理部102と、電子認証処理部103と、指紋情報104と、認証情報105とを備える。インターフェース101は、リーダライタ110との間で情報を伝達する。指紋照合処理部102は、指紋情報104に記録された指紋情報と、新たに入力した指紋とを照合する。電子認証処理部103は、認証情報105を使って、ホストコンピュータ130と電子認証を行う。
【0026】
次に、本システムにおけるアプリケーション131に対するアクセス管理の概要について説明する。
【0027】
職員はあらかじめ自分の指紋情報104が記録されたICカード100を持っており、アプリケーション131へアクセスする際、ICカード100をリーダライタ110に接続し、リーダライタ110の指紋入力部113を用いてあらたに指紋を入力する。
【0028】
指紋が入力されると、前処理部112で指紋照合のための前処理を行った後に、前処理部112と指紋照合処理部102とで照合に必要となる情報を交換しながら、新たに入力した指紋と指紋情報104とが一致しているか否かを判定する。
【0029】
その結果、一致していた場合には電子認証処理部103の認証情報105へのアクセスを許可し、アプリケーション131と電子認証処理部103との間で電子認証を行う。電子認証が行われると、端末120からアプリケーション130へのアクセスが可能となり、職員はアプリケーション131を利用可能となる。
【0030】
次に、本システムの構成要素の詳細について説明する。
【0031】
まず、ICカード100の構造について説明する。
【0032】
図2は、ICカード100の構造を示す図である。
【0033】
同図に示すように、ICカード100は、I/Oポート210と、CPU220と、RAM230と、EEPROM240と、ROM250とを備える。ICカード100の各構成要素は、バス260に接続され、バス260を介してデータ交換を行う。
【0034】
I/Oポート210は、リーダライタ110との間でデータ交換を行うためのポートである。CPU220は、四則演算やビット演算などを行う演算処理部である。RAM230は、CPU220が演算を行う際に一時的なデータの格納等に用いる書き換え可能なメモリである。
【0035】
ROM250は、読み出し専用メモリであり、指紋照合プログラム251や電子認証プログラム252やその他のプログラムおよびデータが記録されている。EEPROM240は、電気的に書き替え可能な不揮発性メモリであり、ICカード100の正当性を証明するための電子証明書241や、ICカード100の秘密鍵242や、職員が正しいICカードの持ち主であることを証明するための指紋情報243などが記録されている。
【0036】
指紋情報243は、登録に使用した指紋のコアの座標、所定数の特徴点の座標及び各特徴点の周辺の小画像(チップ画像)からなる。以下、本実施形態では、指紋情報243に含まれる特徴点の数が30個の場合について説明する。
【0037】
図3は、指紋情報243の構成例を示す図である。同図に示すように、指紋情報243は、チップ(画像)の数と、コアのXY座標と、チップ画像のXY座標と、チップ画像の画像データ(バイナリデータ)とを有する。各情報の利用方法については、後述する。
【0038】
ICカード100は、外部からの不正なアクセスや装置の破壊によるデータ解析を防止する耐タンパ性を有しており、内部に保持したデータやプログラムを外部から不正な方法で参照できないよう設計されている。また、内部に保持したデータへのアクセスコントロール機能を有しており、ICカード100内部のデータにアクセスするためには、共通鍵などによる認証を行う等、CPU220の許可が必要になる。ICカード100の秘密鍵242は、ICカード100の電源投入時にはアクセス不許可に設定されており、外部あるいは内部のプログラムからアクセスすることはできない。
【0039】
ここでは、ICカード100は、職員を識別するため各職員に対して1つだけ発行され、各職員が1枚だけ持つことのできるものとする。
【0040】
なお、本実施形態では、指紋照合プログラム251および電子認証プログラム252をROM250に記録されるものとして説明するが、これらのプログラムは、EEPROM240に実装することも可能である。
【0041】
次に、リーダライタ110の構造について説明する。
【0042】
図4は、リーダライタ110の構造を示す図である。
【0043】
同図に示すように、リーダライタ110は、I/Oポート310と、CPU320と、RAM330と、指紋センサ340と、ROM350とを備える。リーダライタ100の各構成要素は、バス360に接続され、バス360を介してデータ交換を行う。
【0044】
I/Oポート310は、ICカード110や端末120との間でデータ交換を行うためのポートである。CPU320は、四則演算やビット演算などリーダライタ110に必要な演算を行う演算処理部である。RAM330は、CPU320が演算する際に一時的に用いるデータ等を格納するためのメモリである。指紋センサ340は、指紋を電子的に読み取るものである。
【0045】
ROM350は、読み出し専用メモリであり、指紋画像の前処理などを行い、ICカード100と通信しながら指紋の照合を行う前処理プログラム351や指紋の読み取りを制御する指紋読み取りプログラム352やその他のプログラムおよびデータが記録されている。
【0046】
リーダライタ110は、耐タンパ性を有しており、内部に保持したデータやプログラムを外部から不正な方法で参照できないよう設計されている。
【0047】
次に、本実施形態における指紋照合の概要について説明する。
【0048】
図5は、本実施形態における指紋照合の概略フローを示す図である。
【0049】
まず、職員がホストコンピュータ130のアプリケーション131を利用する際、アプリケーション131は、端末120に職員の指紋照合を要求し、端末120はリーダライタ110に指紋照合要求を発行する(S400)。
【0050】
端末120から指紋照合要求を受け取ったリーダライタ110は、指紋読み取りプログラム352を実行し、指紋センサ340から職員の指紋を取得する(S405)。読み取られた指紋は、例えば、1ピクセルあたり8ビットの濃淡をもつ指紋画像としてRAM330に記録される。指紋センサ340による指紋の読み取りは、通常用いられている方法、例えば、上述した文献2の記載の方法を用いて行う。
【0051】
次に、前処理プログラム351が指紋画像の前処理を行い、照合に必要な情報として中間指紋情報を抽出してRAM330に記録する(S410)。前処理の詳細については、後述する。
【0052】
次に、中間指紋情報と、あらかじめICカード100に記録してあった職員の指紋情報243を指紋照合プログラム251が照合する(S415)。照合処理の詳細については、後述する。
【0053】
照合の結果、両者が一致していなかった場合は(S415:NG)、処理を終了する。一方、両者が一致していた場合は(S415:OK)、ICカード100の秘密鍵242を電子認証プログラム252からアクセス可能になるよう活性化する(S420)。
【0054】
そして、電子認証プログラム252が、活性化された秘密鍵242を用いて、アプリケーション131と電子認証を行う(S425)。例えば、ANSI/ITU X.509に記載された方法などにより、ICカード100とアプリケーション131間の相互認証を行う。
【0055】
次に、前述した前処理の詳細について説明する。前処理では、指紋のコアと特徴点の座標算出、および指紋の2値画像作成を行い、これらを前処理後の中間指紋情報としてRAM330に記録する。
【0056】
図6は、指紋のコアおよび特徴点の例を示す図である。指紋のコアとは、同図に示すように、指紋の特徴的な構造を指す。また、特徴点とは、指紋を形成する隆線(凸部の連なり)の端点や分岐点を指す。通常、各指に、指紋のコアは一個存在し、特徴点は複数個存在する。
【0057】
図7は、前処理の概略フローを示す図である。
【0058】
まず、入力された指紋画像に、隆線強調およびノイズ除去処理などを施し、処理後の8ビット濃淡指紋画像をRAM330に記録する(S600)。本処理は、通常用いられている方法、例えば、特開平11-134498号公報に記載の方法を用いて行う。
【0059】
次に、指紋の特徴的な構造であるコアを検出し、その座標を中間指紋情報に記録する(S605)。本処理の詳細は後述する。
【0060】
次に、隆線強調等の処理済の8ビット濃淡指紋画像を2値化して、1ピクセルあたり1ビットのモノクロ画像に変換し、中間指紋情報に記録する(S610)。本処理は、通常用いられる方法、例えば、前述した文献2に記載の方法を用いて行う。
【0061】
次に、2値化された指紋画像を細線化し、細線化画像を得る(S615)。細線化画像はRAM330に一時的に記録される。本細線化処理は、通常用いられている方法、例えば、文献2に記載された方法を用いて行う。
【0062】
次に、細線化画像から隆線の端点や分岐点である特徴点を最大30個抽出し、抽出した特徴点の座標を中間指紋情報に記録する(S620)。特徴点の抽出は、通常用いられている方法、例えば、文献2に記載の方法を用いて行う。
【0063】
次に、前述したコア位置検出処理S605について説明する。
【0064】
図8は、コア位置検出処理S605を説明するための概念図である。
【0065】
同図に示すように、コア位置検出処理S605では、まず、候補点を算出する際の有効領域810を設定する。有効領域810は、指紋画像内であり、かつコアを含むと推定される領域に設定される。
【0066】
次に、有効領域810内において、適当な初期位置800を設定し、その初期位置における隆線の垂線方向ベクトル805を求め、求めた垂線方向ベクトル805を初期位置に足した位置を次の候補点とし、その候補点における隆線の垂線方向ベクトルを求め、更に次の候補点を求めるといった処理を、候補点の数があらかじめ定めた数以上になるか、次の候補点が有効領域810外に出るまで繰り返す。そして、以上のようにして求めた候補点のそれぞれについて、曲率を計算し、最大の曲率をもつ候補点をコアの位置と判定する。そして、初期位置を変えて、上述した処理を繰り返し、求まった複数のコア位置を平均化処理することで、最終的なコア位置を求める。
【0067】
ここでは、一回のコア探索において最大20点の候補点を探索し、そのようなコアの探索を10回行うものとする。
【0068】
図9は、コア位置検出処理S605の詳細フローを示す図である。
【0069】
まず、探索回数を示すカウンタiを「1」に初期化し(S700)、一回の探索における候補点のインデックスを示すカウンタjを「1」に初期化する(S705)。
【0070】
次に、探索回数を示すカウンタiに応じて、候補点の初期位置を設定する(S710)。初期位置は、各探索ごとに異なるように設定する。図8の例では、初期位置800が設定されている。初期位置のX座標およびY座標は、RAM330に設けられた候補点算出テーブルの該当する位置に記録される。
【0071】
図10は、候補点算出テーブルの構成例を示す図である。同図に示すように、候補点算出テーブルは、「候補点インデックス」と、候補点の「座標」と、各候補点での「曲率」とを有する。同図は、1回の探索における7つの候補点の座標と曲率を示している。例えば、インデックス1(初期位置)の候補点の座標は、X座標が25、Y座標が25となっている。
【0072】
次に、初期位置800における隆線の垂線方向ベクトル805を算出する(S715)。具体的な算出方法は後述する。垂線方向ベクトルはあらかじめ設定した長さになるよう正規化される。
【0073】
次に、現在の候補点の位置および垂線方向ベクトルから新たな候補点を算出する(S720)。具体的には、現在の候補点の位置座標に、垂線方向ベクトルを加算することで新たな候補点を求め、候補点算出テーブルの該当するインデックスに候補点のX座標およびY座標を記録する。
【0074】
次に、新たな候補点における隆線の垂線方向ベクトルを算出する(S725)。
【0075】
次に、新たな候補点があらかじめ設定した有効領域(図8の領域810)内にあるか否かを調べる(S730)。その結果、候補点が有効領域内にあれば(S730:OK)、候補点の数があらかじめ設定した個数(=20)に達したか否かを調べる(S740)。その結果、達していなければ(S740:NO)、候補点を示すインデックスjに1を加算し(S743)、新たな候補点を算出する処理S720に戻り、前述した処理を繰り返す。
【0076】
一方、候補点の数があらかじめ設定した個数に達した場合(S740:YES)、又は、新たな候補点があらかじめ設定した有効領域内にない場合は(S730:NG)、ここまでで算出した各候補点の曲率を求め、最大の曲率を持つ候補点の座標および曲率を、RAM330に設けられたコア探索結果テーブルの対応する位置に記録する(S745)。
【0077】
図11は、コア探索結果テーブルの構成例を示す図である。同図に示すように、コア探索結果テーブルは、「探索回数のインデックス」と、各探索において、「最大曲率を持つ点の座標」と、「最大曲率」とを有する。なお、図10は、10回の探索を終了した結果を示している。
【0078】
曲率はどのような方法で求めてもよいが、ここでは隣り合う候補点のなす角度の余弦を曲率として定義する。例えば、図8に示した4番目の候補点820の曲率は角度830の余弦で計算される。このように全ての候補点の曲率を計算し、このうち最大の曲率を持つ候補点の座標をコア探索結果テーブルの対応する位置に記録する。図10に示した例では、曲率−0.3が最大であるため、4番目の候補点の座標および曲率を図11のインデックス1に対応する位置に記録する。
【0079】
今回探索された候補点の最大曲率が求まると、次に、探索の回数iがあらかじめ設定された回数(=10)を超えたか否かを判定する(S750)。その結果、越えていなければ、探索回数iに1を加算し(S753)、次の探索の初期位置を設定する処理S710に戻り、前述した処理を繰り返す。
【0080】
一方、探索の回数があらかじめ設定された回数(=10)を超えていた場合は、全ての探索結果から、コアの座標を算出する(S755)。
【0081】
コアの座標を算出するには、全ての探索で求まったコアの候補の座標を平均してコア位置とする方法や、あらかじめ定めた最大曲率のしきい値以上を持つ候補点だけを平均してコア位置とする方法などがある。例えば、最大曲率のしきい値を−0.5とし、しきい値以下の最大曲率をもつ候補は無効とすると、図11の例では、10番目の探索による候補点は最大曲率が−0.8のため無効となり、1番から9番までを平均してコアの位置を算出することになる。
【0082】
次に、前述した隆線の垂線方向ベクトルの算出方法について説明する。ここでは、まず、候補点における隆線方向(隆線と平行になる方向)を算出し、それに直交する方向を算出することで、隆線の垂線方向ベクトルを算出する。
【0083】
そこで、隆線方法の算出方法について説明する。
【0084】
図12は、本実施形態の隆線方向の算出方法の概念を示す図である。同図は、指紋画像の一部を示しており、隆線を実線で表している。指紋画像のあるピクセル上の点2505における隆線方向は以下のように算出することができる。まず、点2505を通る直線上の点2510を複数設定する。次に、点2505の輝度と点2510の各々の輝度との差の絶対値を全て加算する。この作業を複数の方向について行い、最も値の小さい方向が隆線の方向と一致していると判断する。
【0085】
図13は、隆線方向算出処理の処理フローを示す図である。
【0086】
まず、角度を0度に初期化する(S2600)。ここでは、0度から20度ごとに160度までのそれぞれの角度について処理を行うものとする。また、角度ごとの評価値の値を0に初期化する。
【0087】
次に、参照点の位置を初期化し、その座標を算出する(S2605)。具体的には、図12の点2505のように隆線方向を算出しようとしている点(以下、基準点と呼ぶ)を通る直線上の点である。ここでは、図12に示すように、4つの点を参照点として使う。
【0088】
次に、参照点の輝度と基準点の輝度の差の絶対値を算出し、対応する角度に割り当てられた評価値に加算する(S2610)。
【0089】
次に、参照点を移動し、その座標を算出する(S2615)。
【0090】
次に、全ての参照点について処理を終了したか否かを判別し(S2620)、その結果、全ての参照点について処理が終わっていなければ(S2620:NO)、ステップS2610に戻り、前述した処理を繰り返す。
【0091】
一方、全ての参照点について処理を終了していれば(S2620:YES)、角度に20度を加算し(S2625)、角度が180度に達しているか否かを判別する(S2630)。その結果、角度が180度に達していなければ(S2630:NO)、ステップS2605に戻って、前述した処理を繰り返す。
【0092】
一方、角度が180度に達していれば(S2630:YES)、各々の角度に割り当てられた評価値のうち、最小の値を持つ角度を算出する(S2635)。最小の値を持つ角度が基準点における隆線の方向となる。
【0093】
以上説明したように、本実施形態におけるコア位置検出処理では、コアを検出する際に隆線の垂線方向ベクトルを探索し、垂線方向ベクトルが大きく変化する位置を多数決によってコアと決定することで、少ない計算量でコアの位置を検出ことができる。
【0094】
次に、本実施形態における照合処理について説明する。
【0095】
図14は、本実施形態における照合処理の概略フローを示す図である。本処理は、リーダライタ110とICカード100とが通信をしながら行うため、同図の左側にリーダライタ110の処理を、右側にICカード100の処理を記載している。
【0096】
同図に示すように、ICカード100で行われる処理には、補正ベクトル算出処理S1190と、チップ位置算出処理S1191と、チップマッチング処理S1192とがあり、それぞれは、ISO7816−4などで定義されるコマンドとしてICカード100に実装されている。
【0097】
まず、リーダライタ110がICカード100の補正ベクトル算出処理S1190を呼び出す(S1100)。この際、中間指紋情報に記録した入力指紋のコアの座標をパラメータとして渡す。具体的には、ISO7816−4に記載のAPDU(Application Protocol Data Unit)をICカード100に送信することで処理を呼び出す。
【0098】
図15は、補正ベクトル算出処理を呼び出すためのAPDUの例を示す図である。同図に示すように、APDU1500のINSフィールドに、補正ベクトル算出処理のコマンドIDを代入し、データフィールドに、コアのX座標、Y座標を代入し、Lcフィールドに、座標のデータ長を代入している。
【0099】
ICカード100は、リーダライタ110からAPDU1500を受信すると、補正ベクトル算出処理を起動する(S1190)。補正ベクトル算出処理は、リーダライタ110から受け取った入力指紋のコアの座標と、あらかじめICカード100に記録された登録指紋のコア位置の差分ベクトルを、両者の位置ずれを表す補正ベクトルとして算出し、ICカード100のRAM230に記録する。その後、リーダライタ110に応答する。具体的には、ISO7816−4に記載の応答APDU(Response Application Protocol Data Unit)をリーダライタ110に出力することで応答する。
【0100】
図16は、補正ベクトル算出処理S1190の応答APDUの例を示す図である。同図に示すように、応答APDU1510は、SW1フィールドにコマンドのステータスを含み、ここにコマンドの処理結果として、正常終了あるいは異常終了を示すコードを代入する。補正ベクトル算出処理S1190の詳細は後述する。
【0101】
リーダライタ110は、ICカード100からの応答APDU1510を受けとると(S1105)、応答APDU1510のステータスをチェックする(S1107)。その結果、エラーであれば(S1107:YES)、処理を終了する。
【0102】
一方、エラーでなければ(S1107:NO)、チップマッチングを行うための入力指紋の部分画像を切り出す座標を取得するため、チップ位置算出処理を呼び出す(S1110)。
【0103】
図17は、チップ位置算出処理を呼び出すためにICカード100に送信されるAPDUの例を示す図である。同図に示すように、APDU1520のINSフィールドには、チップ位置算出処理のコマンドIDが代入され、Leフィールドには、戻り値となる座標のデータ長が代入される。
【0104】
ICカード100は、APDU1520をリーダライタ110から受信すると、チップ位置算出処理を起動する(S1191)。チップ位置算出処理は、あらかじめ記録された登録指紋の特徴点の座標と、ステップS1190で算出した補正ベクトルから、入力指紋における特徴点の座標を算出する。具体的には、登録指紋の特徴点の座標に補正ベクトルを加えることで、入力指紋での特徴点の座標を算出する。その後、応答APDUを使ってリーダライタ110に応答する。
【0105】
図18は、チップ位置算出処理S1191の応答APDUの例を示す図である。同図に示すように、応答APDU1530のデータフィールドには、特徴点の座標が代入され、SW1フィールドには、コマンドのステータスが代入される。チップ位置算出処理S1191の詳細は後述する。
【0106】
リーダライタ110は、応答APDU1530を受信すると(S1115)、応答APDU1530の内容を解析し、異常終了したか否かや、指定された特徴点の位置が不正か否かを調べる(S1117)。その結果、指定された特徴点の位置が不正な場合は(S1117:YES)、ステップS1110に戻り、別のチップ画像について、チップ位置算出処理を呼び出す。また、異常終了していた場合は(S1117:異常終了)、処理を終了する。
【0107】
一方、適当な特徴点の位置が得られた場合は(S1117:NO)、チップ位置算出処理によって指定された座標周辺の部分画像を切り取る(S1120)。部分画像は、チップ画像よりやや大きめの画像であり、その大きさや形状はあらかじめ決められている。
【0108】
次に、ICカード100のチップマッチング処理を呼び出す(S1125)。この際、データとしてステップS1120で抽出した部分画像を送信する。具体的な呼び出しの方法は、ステップS1100と同様である。
【0109】
図19は、チップマッチング処理を呼び出すためのAPDUの例を示す図である。同図に示すように、APDU1540のINSフィールドには、チップマッチング処理のコマンドIDが代入され、Lcフィールドには、部分画像のデータ長が代入され、データフィールドには、部分画像が代入される。
【0110】
ICカード100は、リーダライタ110からAPDU1540を受信すると、チップマッチング処理を起動する(S1192)。チップマッチング処理は、受信した入力指紋の部分画像と、あらかじめICカード100に記録されたチップ画像とのチップマッチング処理を行い、一致していればチップの一致数をインクリメントする。そして、全ての特徴点についてマッチングが終了した場合は、指紋の一致又は不一致をあらわすステータスを応答し、それ以外は、次の特徴点をマッチングするためのステータスを応答する。
【0111】
図20は、チップマッチング処理の応答APDUの例を示す図である。同図に示すように、応答APDU1550のSW1フィールドに、コマンドのステータスを代入する。具体的には、コマンドの処理結果として、指紋の一致、不一致、あるいは処理継続を示すコードを代入する。チップマッチング処理S1192の詳細は後述する。
【0112】
リーダライタ110は、チップマッチング処理の応答APDU1550を受信すると、応答APDU1550のステータスを解析し、処理を終了するか否かを判別する(S1135)。その結果、指紋の一致あるいは不一致の結果が得られていれば(S1135:YES)、処理を終了する。一方、それ以外は、ステップS1110に戻り、残りの特徴点についてのマッチングを行う。
【0113】
次に、前述した補正ベクトル算出処理S1190について説明する。
【0114】
図21は、補正ベクトル算出処理S1190の詳細フローを示す図である。
【0115】
ICカード100は、リーダライタ110からAPDU1500を受け取ると、APDU1500に含まれた照合画像のコア位置を示すX座標およびY座標をRAM230に記録する(S1900)。
【0116】
次に、チップマッチングを行うチップ画像のインデックス(チップ画像インデックス)kを0に初期化し(S1905)、一致チップ数を示す変数Mを0に初期化する(S1907)。
【0117】
次に、リーダライタ110から送られてきた照合画像のコア位置およびあらかじめICカード100に記録された指紋情報(図3)のコアの座標を用いて補正ベクトルを算出する(S1910)。具体的には、照合画像のコアの座標から指紋情報のコアの座標を引くことで、補正ベクトルを算出する。
【0118】
次に、算出した補正ベクトルの大きさなどの正当性を検証する(S1915)。その結果、適当な補正ベクトルが得られた場合は(S1915:YES)、応答APDUのステータスに正常終了を示すコードを代入し(S1920)、その応答APDUをリーダライタ110に送信する(S1925)。一方、不正な補正ベクトルが得られた場合は(S1915:NO)、応答APDUのステータスに異常終了を示すコードを代入し(S1917)、その応答APDUをリーダライタ110に送信する(S1925)。
【0119】
以上のようにして、補正ベクトル算出処理S1190が行われる。
【0120】
次に、前述したチップ位置算出処理S1191について説明する。
【0121】
図22は、チップ位置算出処理S1191の詳細フローを示す図である。
【0122】
ICカード100は、チップ位置算出処理S1191を起動するAPDU1520をリーダライタ110から受信すると(S2000)、チップ画像インデックスkをインクリメントし(S2002)、チップ画像インデックスkが指紋情報に記録されたチップの数(=30)以下か否かを判定する(S2005)。その結果、kが指紋情報に記録されたチップの数より大きい場合には(S2005:NO)、応答APDUのステータスに異常終了を示すコードを代入し(S2045)、その応答APDUをリーダライタ110に送信し(S2035)、処理を終了する。
【0123】
一方、チップ画像インデックスkが指紋情報に記録されたチップ画像の数以下の場合には(S2005:YES)、指紋情報に記録されたk番目のチップ画像の座標を補正する(S2010)。具体的には、k番目のチップ画像の座標に補正ベクトルを足すことで補正する。
【0124】
次に、補正後のチップの座標が、照合画像に含まれているか否かを検証する(S2015)。その結果、含まれていない場合は(S2015:NO)、応答APDUのステータスに特徴点の位置不正を示すコードを代入し(S2040)、その応答APDUをリーダライタ110に送信し(S2035)、処理を終了する。
【0125】
一方、補正後のチップの座標が照合画像に含まれている場合は(S2015:YES)、応答APDUのデータフィールドに補正後のチップの座標を代入する(S2025)。更に、応答APDUのステータスに正常終了を示すコードを代入し(S2030)、その応答APDUをリーダライタ110に送信し(S2035)、処理を終了する。
【0126】
以上のようにして、チップ位置算出処理S1191が行われる。
【0127】
次に、前述したチップマッチング処理S1192について説明する。
【0128】
図23は、チップマッチング処理S1192の詳細フローを示す図である。
【0129】
ICカード100は、リーダライタ110からチップマッチング処理S1192を起動するAPDU1540を受信すると、データフィールドに記録された部分画像をRAM230に記録する(S2100)。
【0130】
次に、チップ画像インデックスkが、あらかじめ指紋情報に記録されたチップの数(=30)以下か否かを検証する(S2105)。その結果、インデックスkがチップの数より大きい場合(S2105:NO)、応答APDUのステータスに指紋が不一致であることを示すコードを代入し(S2150)、その応答APDUをリーダライタ110に送信する(S2140)。
【0131】
一方、インデックスkがチップ画像数以下の場合は(S2105:YES)、部分画像とk番目のチップ画像のマッチング(チップマッチング)を行い、部分画像においてチップ画像と一致したか否かを示すコードを出力する(S2110)。このマッチングの具体的な方法は後述する。
【0132】
次に、チップ画像と部分画像が一致したか否かを調べ(S2115)、一致しなかった場合は(S2115:NO)、応答APDUのステータスに照合を継続することを示すコードを代入し(S2145)、その応答APDUをリーダライタ110に送信する(S2140)。
【0133】
一方、チップ画像と部分画像が一致した場合は(S2115:YES)、一致チップ数Mをインクリメントし(S2120)、一致チップ数Mがあらかじめ定めたしきい値(=20)より大きいか否かを判定する(S2125)。その結果、Mがしきい値以下である場合は(S2125:NO)、応答APDUのステータスに照合を継続することを示すコードを代入し(S2145)、その応答APDUをリーダライタ110に送信する(S2140)。
【0134】
一方、Mがしきい値より大きい場合は(S2125:YES)、照合画像とあらかじめICカード100に記録された指紋情報が一致したと判断し、ICカード100が相互認証を行うための秘密鍵242を使用可能にする(S2130)。
【0135】
次に、応答APDUのステータスに指紋が一致したことを示すコードを代入し(S2135)、その応答APDUをリーダライタ110に送信して(S2140)、処理を終了する。
【0136】
次に、前述したチップマッチング処理S1192で行われるマッチング処理S2110の詳細について説明する。
【0137】
本処理では、図24に示すように、部分画像上をらせん状の軌道に従って移動しつつ、部分画像の一部とチップ画像とが一致しているか否かを判定する。なお、軌道はらせん状でなくともよい。
【0138】
また、本実施形態では、不一致ビット数検索テーブルをROM250またはEEPROM240にあらかじめ用意しておき、チップ画像と部分画像を比較したときの一致しないビットの数を数える際、その不一致ビット数検索テーブルを利用する。
【0139】
図25は、不一致ビット数検索テーブルの構成例を示す図である。同図に示すように、本テーブルは、インデックスを2進数で表現したときの1の数を記録したものである。例えば、インデックス3(=11b)に対しては、2が記録され、インデックス4(=100b)に対しては、1が記録される。ここでは、チップ画像と部分画像とを8ビット単位で比較することに対応して、0から255までの256要素のテーブルを用意する。
【0140】
図26は、マッチング処理S2110の詳細フローを示す図である。
【0141】
まず、部分画像上の照合位置を初期化する(S2200)。例えば、チップ画像が部分画像の中央部にくるような位置を最初の照合位置とする。
【0142】
次に、照合位置に従って部分画像からチップ画像と同じ大きさの画像を切り出し、RAM230上に確保された照合用画像バッファにコピーする(S2205)。例えば、チップ画像が16ピクセル四方であるとすると、1ピクセルあたりが1ビットに対応するので必要となる照合用画像バッファは256ビット、すなわち32バイトとなる。この場合、チップ画像も同様に32バイトの領域を持ち指紋情報の一部としてEEPROM240に格納されている。
【0143】
次に、チップ画像と照合用画像バッファとの間で一致しないビット数を示す不一致ビット数を0に初期化し(S2210)、チップ画像と照合用画像バッファの比較対象位置を示すオフセットを0に初期化する(S2215)。
【0144】
次に、チップ画像および照合用画像バッファのオフセット位置のデータの排他的論理和をとり、結果をRAM230に保存する(S2220)。ここでは、1バイト単位で、排他的論理和をとるものとする。
【0145】
次に、排他的論理和の結果をインデックスとして、不一致ビット数検索テーブルを参照し、得られた数を、不一致ビット数に加算する(S2230)。
【0146】
次に、不一致ビット数があらかじめ定めたしきい値(=30)以上であるか否かを判別する(S2235)。その結果、不一致ビット数があらかじめ定めたしきい値未満である場合は(S2235:NO)、チップ画像および照合用画像バッファの全てのデータについて計算を行い、オフセットが最後まで達したかどうかを調べ(S2240)、最後まで達していなければ(S2240:NO)、オフセットに1を加算し(S2243)、オフセットの示すチップ画像および照合用画像バッファの排他的論理和をとる処理S2220に戻り、前述した処理を繰り返す。
【0147】
一方、オフセットが最後まで達していた場合は(S2240:YES)、チップ画像が部分画像と一致したことを示すコードを出力し(S2245)、処理を終了する。
【0148】
また、ステップS2235における判別の結果、不一致ビット数があらかじめ定めたしきい値以上であった場合は(S2235:YES)、部分画像全体にわたって照合したか否かを調べ(S2237)、まだ照合していない照合位置がある場合は(S2237:NO)、照合位置を移動させ(S2238)、ステップS2205に戻って、前述した処理を繰り返す。
【0149】
一方、最後まで照合していれば(S2237:YES)、チップが部分画像と一致しなかったことを示すコードを出力し(S2239)、処理を終了する。
【0150】
以上のようにして、チップマッチング処理が行われる。
【0151】
以上の説明では、照合処理において、指紋のコアの位置を使って補正ベクトルの算出を行っていたが、他の方法で補正ベクトルを算出するようにしてもよい。
【0152】
次に、特徴点の分布の相互相関を使って、補正ベクトルを算出する方法について説明する。この場合、前述した前処理等において、コア位置の検出等を行う必要がなくなる。
【0153】
以下、ICカード100において補正ベクトルを算出する場合とリーダライタ110において補正ベクトルを算出する場合について説明する。まず、ICカード100において、補正ベクトルを算出する場合について説明する。
【0154】
この場合、前述した照合処理と異なる部分は、図14のステップS1100において、リーダライタ110がICカード100に送信するAPDUと、そのAPDUによって呼び出される補正ベクトル算出処理S1190の内容のみである。
【0155】
図27は、図14に示したステップS1100において、補正ベクトル算出処理S1190を呼び出すためにリーダライタ110がICカード100に送信するAPDUの例を示す図である。同図に示すように、APDU2700のINSフィールドには、対応するコマンドIDが代入され、データフィールドには、前処理で抽出した入力指紋のすべての特徴点の座標が代入される。
【0156】
図28は、APDU2700によって呼び出される補正ベクトル算出処理S1190の詳細フローを示す図である。
【0157】
ICカード100は、APDU2700を受信すると(S2800)、送られてきた入力指紋の特徴点の座標を使って、入力指紋の特徴点マップを生成する(S2805)。特徴点マップとは、各特徴点の座標の周辺に特定の輝度分布を持った画像をいう。図29は、特徴点マップの例を示す図である。特徴点座標の周辺の輝度分布の形状や大きさ等については、実装条件に応じて、適当なものが選択される。
【0158】
入力指紋について特徴点マップを生成すると、次に、指紋情報に記録された登録指紋の特徴点の座標から、同様に特徴点マップを生成する(S2810)。
【0159】
そして、入力指紋と登録指紋の特徴点マップを二次元信号とみなして正規化された相互相関を算出する(S2815)。相互相関の算出は、通常用いられている方法、例えば、「ディジタル画像処理」(ローゼンフェルド他、近代科学社、1978年発行)306頁に記載されている方法を用いて行う。
【0160】
次に、正規化された相互相関値の最も大きい位置を検出し、このときの位置ずれを、補正ベクトルとしてICカード100のRAM230に記録する(S2820)。
【0161】
そして、図16に示した応答APDU1510に、適当なステータスを代入し、リーダライタ110に送信する(S2825)。
【0162】
次に、リーダライタ110で補正ベクトルを算出する場合について説明する。
【0163】
この場合、図14に示したステップS1100、S1190、S1105を図30に示すような処理で置き換える。
【0164】
以下、図30に示した処理について説明する。
【0165】
照合処理が開始されると、まず、リーダライタ110は、登録指紋の特徴点の座標の送信を要求するAPDUをICカード100に送信する(S3000)。
【0166】
図31は、登録指紋の特徴点の座標の送信を要求するAPDUの例を示す図である。同図にしめすように、APDU2710のINSフィールドには、適当なコマンドIDが代入され、Leフィールドには、ICカード100から返信される特徴点の座標データの長さが格納される。
【0167】
ICカード100は、APDU2710を受信すると、ICカード100の指紋情報に記録された特徴点の座標を、図32に示すような応答APDUのデータフィールドに格納し、リーダライタ110に送信する(S3090)。
【0168】
リーダライタ110は、ICカード100から応答APDU2720を受信すると(S3005)、図28に示した方法と同様に、特徴点マップを生成することにより、補正ベクトルを算出し、リーダライタ110のRAM320に記録する(S3010)。
【0169】
次に、リーダライタ110は、ICカード100に補正ベクトルを記録させるためのコマンドを発行する(S3015)。具体的には、図15に示すAPDU1500と同形式のAPDUをICカード100に送信する。
【0170】
ICカードは、そのAPDUを受信すると、APDUに格納されている補正ベクトルをICカード100のRAM230に記録し、図16に示すような応答APDUをリーダライタ110に送信する(S3095)。
【0171】
リーダライタ110は、応答APDUを受け取ると(S3020)、応答APDUのステータスをチェックする処理S1107に進む。
【0172】
以上のように、コアの位置ではなく、特徴点マップにより補正ベクトルを求める場合であっても、指紋画像全体(又は、その一部)についてマッチングをする場合に比べて、高速に補正ベクトルを求めることができる。更に、特徴点の周辺に持たせる輝度分布の大きさを調整することで、指紋に歪みや回転が生じていても正確な位置補正を行うことができる。
【0173】
以上詳細に説明したように、本発明による本人認証システムによれば、利用者固有の情報をICカードにより個人管理するので、サーバ等で集中管理する場合に比べて、利用者の受容性を改善することができる。また、一度に多数の生体情報が盗難される可能性を軽減し、生体情報の記録管理にかかるコストを低減することができる。
【0174】
また、指紋情報および指紋照合機能を、ICカードの内部に実装し、外部からの指紋情報および指紋照合機能へのアクセスを禁止することで、利用者の指紋情報および照合結果の偽造、改ざん、盗用を困難にし、なりすましを防ぐことができる。
【0175】
また、指紋入力機能および指紋照合の前処理機能をリーダライタに実装することで、一般的なICカードのCPUで指紋照合を行える。
【0176】
更に、指紋照合機能を、ICカードとリーダライタとに分けて実装しているので、照合処理が解析されずらくなる。
【0177】
また、指紋の特徴的な構造であるコアの座標をICカードの指紋情報に記録し、前処理によってあらたに入力した指紋画像からコアの座標を検出することで、指紋情報に記録された特徴点の座標を補正し、指紋情報に記録したチップ画像を、指紋画像上の補正された座標周辺でチップマッチングによって探索し、一致したチップ画像の個数をもって指紋情報と指紋画像の同一性を判定することで、RAM容量の小さいICカードでも指紋照合を行える。
【0178】
また、チップマッチングの際に、不一致のビットの数をあらかじめ記録した不一致ビット数検索テーブルを用いて、チップマッチングで不一致となったビット数を算出し、ビット数があらかじめ設定したしきい値を越えた場合にはチップマッチングを終了して次の処理に移行することで、演算速度の遅いICカードを用いて指紋照合を行える。
【0179】
なお、上記実施形態では、生体情報として指紋を用いる場合について説明したが、他の生体情報を用いることも可能である。
【0180】
例えば、生体情報として虹彩を用いる場合は、図1のリーダライタ110は、指紋入力部113のかわりに、虹彩情報を入力するための虹彩情報入力部を備え、前処理部112は、入力された虹彩画像の前処理を行い、虹彩照合に必要なアイリスコードを算出する。アイリスコードの算出は、例えば、文献:IEEE Transactions on pattern analysis and machine intelligence, Vol.15, No.11, Nov.1993, pp.1148-1161(以下、文献4という)に記載されている方法を使って行う。
【0181】
このようにして算出されたアイリスコードは、ICカード100に送信される。なお、アイリスコードのICカード100への送信は、一度の送信で行うようにすればよい。
【0182】
図1のICカード100には、指紋情報104のかわりに生体情報のテンプレートとしてアイリスコードが記録される。リーダライタ110からアイリスコードを受信すると、ICカード100内の虹彩照合プログラムは、リーダライタ110から送信されたアイリスコードと、ICカード100内のEEPROM等に記録されているアイリスコードとの照合を行う。当該照合は、例えば、文献4に記載された方法で、アイリスコードのハミング距離を算出し、算出したハミング距離が所定のしきい値以下であるか否かによって行う。そして、算出したハミング距離がしきい値以下であった場合は、アイリスコードが一致したと判断し、指紋の場合と同様に、電子認証処理部103の認証情報105へのアクセスを許可し、アプリケーション131と電子認証部103との間で電子認証を行う。
【図面の簡単な説明】
【0183】
【図1】本発明によるアクセス管理システムの概略を説明するための図である。
【図2】本発明によるICカードの構造を示す図である。
【図3】指紋情報243の構成例を示す図である。
【図4】本発明によるリーダライタの構造を示す図である。
【図5】指紋照合の概略フローを示す図である。
【図6】指紋のコアおよび特徴点の例を示す図である。
【図7】前処理の概略フローを示す図である。
【図8】コア位置検出処理を説明するための概念図である。
【図9】コア探索処理の詳細フローを示す図である。
【図10】コア探索処理における候補点算出テーブルの構成例を示す図である。
【図11】コア探索処理におけるコア探索結果テーブルの構成例を示す図である。
【図12】隆線方向算出方法の概念図である。
【図13】隆線方向算出処理の詳細フローを示す図である。
【図14】照合処理の概略フローを示す図である。
【図15】補正ベクトル算出処理を呼び出すAPDUの例を示す図である。
【図16】補正ベクトル算出処理からの応答APDUの例を示す図である。
【図17】チップ位置算出処理を呼び出すAPDUの例を示す図である。
【図18】チップ位置算出処理からの応答APDUの例を示す図である。
【図19】チップマッチング処理を呼び出すAPDUの例を示す図である。
【図20】チップマッチング処理からの応答APDUの例を示す図である。
【図21】補正ベクトル算出処理の詳細フローを示す図である。
【図22】チップ位置算出処理の詳細フローを示す図である。
【図23】チップマッチング処理の詳細フローを示す図である。
【図24】チップマッチング処理の概念を示す図である。
【図25】不一致ビット数検索テーブルの構成例を示す図である。
【図26】マッチング処理の詳細フローを示す図である。
【図27】第2の補正ベクトル算出処理を呼び出すAPDUの例を示す図である。
【図28】第2の補正ベクトル算出処理の詳細フローを示す図である。
【図29】特徴点マップの例を示す図である。
【図30】リーダライタ110で補正ベクトルを算出する場合の処理フローを示す図である。
【図31】登録指紋の特徴点の座標の送信を要求するAPDUの例を示す図である。
【図32】特徴点位置送出処理からの応答APDUの例を示す図である。
【符号の説明】
【0184】
100 ICカード
110 リーダライタ
120 端末
130 ホストコンピュータ
140 ネットワーク

【特許請求の範囲】
【請求項1】
耐タンパ性を有した演算機能付き携帯型記憶装置と、
前記携帯型記憶装置に対して情報の読み書きを行う耐タンパ性を有したリーダライタと
を備えた生体認証システムであって、
前記リーダライタは、
生体情報を入力する生体情報入力装置を備え、
当該生体情報入力装置で入力した生体情報の前処理を行い、
前記前処理を行った中間情報を前記携帯型記憶装置に送信し、
前記携帯型記憶装置は、
生体情報のテンプレートと、電子認証に使われる秘密鍵とを備え、
前記中間情報と前記テンプレートとの照合を行い、
当該照合が一致したときに、前記秘密鍵を使用可能にする
ことを特徴とする生体認証システム。
【請求項2】
前記生体情報は、指紋情報であり、
前記リーダライタは、指紋照合に必要な指紋画像情報を前記携帯型記憶装置に順次送信し、
前記携帯型記憶装置は、前記指紋画像情報を順次処理することで、指紋照合を行う
ことを特徴とする請求項1に記載の生体認証システム。
【請求項3】
前記生体情報は、指紋情報であり、
前記テンプレートに記録された登録指紋と、あらたに入力された入力指紋との位置ずれを補正するための情報を、指紋のコア位置を使って算出し、
前記登録指紋の特徴点周辺の小画像を、前記入力指紋の画像上の位置ずれ補正した座標周辺でマッチングすることによって探索し、
一致した小画像の個数をもって、前記テンプレートと前記指紋画像の同一性を判定する
ことを特徴とする請求項1に記載の生体認証システム。
【請求項4】
隆線の垂線ベクトルを探索し、
当該垂線ベクトルが大きく変化する位置を、指紋のコアと決定する
ことを特徴とする請求項3に記載の生体認証システム。
【請求項5】
前記生体情報は、指紋情報であり、
前記テンプレートに記録された登録指紋と、あらたに入力された入力指紋との位置ずれを補正するための情報を、入力指紋および登録指紋のそれぞれについて、各特徴点の周辺に特定の輝度分布を持つ画像を作成し、当該画像の相互相関により算出し、
前記登録指紋の特徴点周辺の小画像を、前記入力指紋の画像上の位置ずれ補正した座標周辺でマッチングすることによって探索し、
一致した小画像の個数をもって、前記テンプレートと前記指紋画像の同一性を判定する
ことを特徴とする請求項1に記載の生体認証システム。
【請求項6】
携帯型記憶装置と、前記携帯型記憶装置に対して情報の読み書きを行うリーダライタとを備えた生体認証システムであって、
前記リーダライタは、
生体情報の入力を受け付ける生体情報入力手段と、
当該生体情報入力手段を介して入力された生体情報に前処理を施して画像データを生成する前処理手段と、
前記前処理手段で生成した画像データから前記携帯型記憶装置から要求された部分画像を1つ切り出し、当該切り出した1つの部分画像の画像データを前記携帯型記憶装置に送信する送信手段と、を備え、
前記携帯型記憶装置は、
生体情報のテンプレートと、
前記リーダライタから送信された前記1つの部分画像の画像データと前記テンプレートとの照合を行う照合手段と、を備え、
前記照合手段は、前記照合結果が所定の基準を満たさない場合、それまでに送信された部分画像の画像データとは異なる部分画像の画像データを1つ要求することを繰り返すこと
を特徴とする生体認証システム。
【請求項7】
請求項6に記載の生体認証システムにおいて、
前記生体情報は、指紋情報であり、
前記リーダライタの前処理手段は、前記画像データとして、指紋照合に必要な指紋画像情報を生成し、
前記携帯型記憶装置の照合手段は、前記指紋画像情報を処理することで、指紋照合を行うこと
を特徴とする生体認証システム。
【請求項8】
請求項7記載の生体認証システムにおいて、
前記前処理手段は、前記入力された生体情報である指紋情報から、当該指紋のコア位置を算出し、当該コア位置の座標を前記携帯型記憶装置に送出し、
前記テンプレートは、当該テンプレートに登録された指紋の複数の特徴点の座標と、当該座標周辺の小画像と、を有し、
照合手段は、
前記登録された指紋と新たに入力された入力指紋との位置ずれを補正するための情報を、前記テンプレートに登録された指紋のコア位置の座標と前記前処理手段から受信したコア位置の座標とを使って算出する補正情報算出手段と、
前記特徴点の座標と前記位置ずれを補正するための情報とから算出した座標を送信することにより、当該座標周辺の指紋画像情報を前記部分画像として前記リーダライタに要求する要求手段と、
前記座標周辺の小画像と前記要求手段からの要求に応じて前記送信手段から送信された指紋画像情報とをマッチングするマッチング手段と、
複数の前記マッチング結果に従い、前記テンプレートと前記指紋画像との同一性を判定する判定手段と、を備えること
を特徴とする生体認証システム。
【請求項9】
請求項8記載の生体認証システムにおいて、
前記前処理手段は、
複数の隆線の垂線ベクトルを順次探索し、当該垂線ベクトルの方向が所定値より変化する位置を前記指紋のコア位置とすること
を特徴とする生体認証システム。
【請求項10】
請求項7記載の生体認証システムにおいて、
前記テンプレートに登録された指紋である登録指紋と、新たに入力された指紋である入力指紋との位置ずれを補正するための情報を、入力指紋および登録指紋のそれぞれについて、各特徴点の周辺に特定の輝度分布を持つ画像を作成し、当該画像の相互相関により算出する特徴点マップ生成手段と、
前記登録指紋の特徴点周辺の小画像を、前記入力指紋の画像上の位置ずれ補正した座標周辺でマッチングすることによって探索する探索手段と、
前記探索により一致した前記小画像の個数をもって、前記テンプレートと前記指紋画像との同一性を判定する判定手段とを備えること
を特徴とする記載の生体認証システム。

【図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

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate


【公開番号】特開2008−33949(P2008−33949A)
【公開日】平成20年2月14日(2008.2.14)
【国際特許分類】
【出願番号】特願2007−227792(P2007−227792)
【出願日】平成19年9月3日(2007.9.3)
【分割の表示】特願2005−264236(P2005−264236)の分割
【原出願日】平成12年5月31日(2000.5.31)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】