JP2006139424A - 生体認証装置 - Google Patents

生体認証装置 Download PDF

Info

Publication number
JP2006139424A
JP2006139424A JP2004327069A JP2004327069A JP2006139424A JP 2006139424 A JP2006139424 A JP 2006139424A JP 2004327069 A JP2004327069 A JP 2004327069A JP 2004327069 A JP2004327069 A JP 2004327069A JP 2006139424 A JP2006139424 A JP 2006139424A
Authority
JP
Japan
Prior art keywords
authentication
information
random number
data
primary data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004327069A
Other languages
English (en)
Inventor
Takahiro Omichi
隆広 大道
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2004327069A priority Critical patent/JP2006139424A/ja
Publication of JP2006139424A publication Critical patent/JP2006139424A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
  • Collating Specific Patterns (AREA)

Abstract

【課題】 簡単な構成によって処理負担及び処理時間を軽減しつつ、各ユーザの個別認識性及びセキュリティ性を維持することが可能な生体認証装置を提供する。
【解決手段】 指紋認証装置1による認証を行なう場合、予め乱数テーブル、ランレングス符号化テーブル及び2次データを生成し、乱数テーブル及び2次データをICカードに、ランレングス符号化テーブルを符号化テーブル格納用メモリ20にそれぞれ記憶しておく。認証を行なう場合、認証対象として取得した指紋情報及びICカードから読み出された乱数テーブルに基づいて認証対象の1次データを算出すると共に、ユーザID入力部24から入力されたユーザIDに対応するランレングス符号化テーブルを用いて、ICカードから読み出された2次データを1次データに復号化する。照合回路26は、算出された認証対象の1次データと、復号化された1次データとを照合して認証を行なう。
【選択図】 図1

Description

本発明は、個人の識別が可能な生体情報を用いて個人を認証する生体認証装置に関する。
近年では、パーソナルコンピュータ、複写機、ファクシミリ装置等の各種機器を使用する際に各ユーザの認証を行なうことにより、適切なユーザのみに使用を制限することでセキュリティの向上を図るように構成された機器が普及している。各ユーザを認証する方法としては、各機器に予めユーザID及びパスワードを登録しておき、各ユーザが機器の使用時に入力したユーザID及びパスワードが登録されているものと一致するか否かに基づき認証を行なう方法が用いられる場合が多い。
しかし、上述した認証方法では、ユーザID及びパスワードが漏洩した場合には第三者によるなりすましを防止することができず、また、各ユーザは自身が登録したパスワードを覚えておく必要があると共に、機器を使用する都度、ユーザID及びパスワードの入力を行なう必要があり、操作性を向上させることが要望されている。
そこで、ユーザID及びパスワードの入力の替わりに、指紋情報を用いて認証を行なうように構成された機器が提供されている(例えば、特許文献1参照)。このように、指紋を読み取ることによって得られる画像データである指紋情報を用いた認証処理によれば、認証対象である指紋情報の第三者への漏洩を防止できるので、より精度のよい個人認証を行なうことができると共に、第三者によるなりすましを防止することができる。具体的には、指紋情報を用いた認証処理は、指紋情報が示す指紋の分岐点及び端点等の特徴点の位置情報を抽出し、各特徴点間を結ぶ直線が跨ぐ指紋***線の数等をパラメータとすることで、各指紋情報の個別認識性を向上させてセキュリティの向上を実現している。
特開2003−274006号公報
しかし、特許文献1で開示された方法では正確な指紋***線の形状情報が必要であり、指紋を読み取って得られた指紋画像に複雑な画像処理を行なう必要がある。具体的には、例えば、指には指紋自身の凹凸情報のほかに、しわ、怪我の跡等の凹凸部分があり、指紋の***線部分であっても、***部分が極端に細くなっている場合には、***部分として認識されない等の問題がある。従って、これらを明確に識別するために、ノイズ除去、高コントラスト処理、細線化等の非常に複雑且つ高精度な画像処理を行なうことにより、指紋の緻密な***線の形状、指紋の凹凸情報等を得る必要がある。
また、認証処理は比較的短時間で行なうことが要求されるため、これらの画像処理を短時間で行なうためには多大な計算能力が必要とされる。従って、小規模で計算能力の低い演算デバイスによって計算する場合には、非常に大きな負荷となり、認証処理に要する演算時間への影響が大きくなることが懸念される。
更に、上述した認証方法では、一般的な指紋形状である「流れ型」、「渦巻き型」の指紋に対しては十分な形状認識が可能であるが、「井桁型」、「突起紋」等の特殊な指紋形状に対しては、しわ及び怪我の跡等の凹凸部分との識別が非常に困難であるために認識できない場合がある。また、「流れ型」、「渦巻き型」の指紋であっても、読み取った指紋情報が極端にかすれた画像であれば、画像処理を行なった場合であっても十分な***線の形状情報を得ることができず、認識できない場合がある。このような場合、正当な使用権限を有するユーザであっても、認証されないことにより、機器の使用が制限されてしまうという問題がある。
本発明は斯かる事情に鑑みてなされたものであって、その目的とするところは、例えば指紋認証において、上述した従来の指紋認証では認証できない可能性が高かった特殊な形状の指紋を有するユーザに対しても認証性を向上させることが可能な生体認証装置を提供することにある。
また、本発明の他の目的は、上述したように従来の指紋認証で必要であった複雑且つ高精度の画像処理を行なうことなく、個人から取得する生体情報から算出される各種情報を用いて認証することによって、各ユーザの個別認識性及びセキュリティ性を維持しつつ、処理負担及び処理時間を軽減することが可能な生体認証装置を提供することにある。
本発明に係る生体認証装置は、生体情報を読み取る生体読取手段と、該生体読取手段が読み取った生体情報を予め設定された認証用情報に基づいて認証する認証手段とを備える生体認証装置において、前記生体読取手段が読み取った生体情報から認証に係る情報を算出する算出手段と、該算出手段が算出した認証に係る情報に基づいて認証用情報を生成する生成手段と、該生成手段が生成した認証用情報を外部記憶部に記憶させる処理を行なう記憶処理手段と、前記外部記憶部に記憶してある認証用情報を読み出す読出手段とを備え、前記認証手段は、前記読出手段が読み出した認証用情報に基づいて、前記生体読取手段が読み取った生体情報から前記算出手段が算出した認証に係る情報を認証するように構成してあることを特徴とする。
本発明によれば、生体情報を読み取った場合、読み取った生体情報から認証に係る情報を算出する。また、算出した認証に係る情報に基づいて認証用情報を生成し、生成した認証用情報を外部記憶部に記憶させておく。そして、認証を行なう場合に、認証対象として読み取った生体情報から認証に係る情報を算出し、算出した認証に係る情報を、前記外部記憶部に記憶させた認証用情報に基づいて認証する。従って、生体情報から算出した認証に係る情報を認証対象とすると共に、前記認証に係る情報に基づいて認証用情報を生成することにより、例えば特殊な形状の指紋を有するユーザに対しても認証性の向上が可能となる。また、認証に用いる認証用情報を外部記憶部に記憶させておくことにより、装置内に記憶させておく構成と比較して前記認証用情報の漏洩を防止することが可能である。
本発明に係る生体認証装置は、前記生体読取手段が読み取った生体情報に係る特徴情報を抽出する抽出手段と、乱数情報を生成する乱数生成手段と、該乱数生成手段が生成した乱数情報を記憶する乱数記憶手段とを備え、前記算出手段は、前記抽出手段が抽出した特徴情報及び前記乱数記憶手段に記憶してある乱数情報から乗算処理に基づいて認証に係る情報を算出するように構成してあることを特徴とする。
本発明によれば、読み取った生体情報に係る特徴情報を抽出すると共に、乱数情報を生成し、生成した乱数情報を乱数記憶手段に記憶させる。認証に係る情報は、生体情報から抽出した特徴情報と前記乱数記憶手段に記憶してある乱数情報とに乗算処理を行なうことによって算出される。よって、例えば従来の指紋認証では指紋情報に対して複雑且つ高精度の画像処理を行なっていたのに対して、生体情報だけでなく乱数情報に基づいて認証に係る情報を算出することにより、高精度の画像処理を行なうことなく認証対象の情報及び認証に用いる情報を算出することが可能となり、処理負担及び処理時間を軽減しつつ、各ユーザの個別認識性及びセキュリティ性を維持することが可能である。
本発明に係る生体認証装置は、前記乱数記憶手段は、前記外部記憶部に含まれることを特徴とする。
本発明によれば、認証に係る情報を算出する際に用いる乱数情報を外部記憶部に記憶させておくことにより、生体認証を行なう際に認証対象として算出する認証に係る情報の算出処理に用いる乱数情報の漏洩を防止することが可能である。また、前記外部記憶部を紛失した場合であっても、前記乱数情報を新たに生成し、異なる乱数情報に基づいて認証用情報を生成しておくことによって、紛失した外部記憶部に記憶してある乱数情報に基づく認証用情報の利用を禁止することができ、第三者によるなりすましを防止することが可能となる。
本発明に係る生体認証装置は、前記生成手段は、前記算出手段が算出した認証に係る情報を符号化処理して認証用情報を生成する手段であり、前記読出手段が前記外部記憶部から読み出した認証用情報を復号化処理する復号化手段を備え、前記認証手段は、前記復号化手段が認証用情報を復号化処理した情報に基づいて、前記生体読取手段が読み取った生体情報から前記算出手段が算出した認証に係る情報を認証するように構成してあることを特徴とする。
本発明によれば、読み取った生体情報から算出した認証に係る情報に符号化処理を行なって生成した認証用情報を外部記憶部に記憶させておく。そして、認証を行なう場合に、前記外部記憶部から読み出して復号化処理を行ない、生成した認証用情報に基づいて、読み取った生体情報から認証対象として算出した認証に係る情報を認証する。よって、第三者が前記外部記憶部を取得した場合であっても、前記外部記憶部に記憶してある認証用情報の復号ができず、セキュリティをより向上させることが可能となる。
本発明に係る生体認証装置は、前記生成手段が行なう符号化処理は、ランレングス符号化処理であることを特徴とする。
本発明によれば、ランレングス符号化処理を行なうことによって、外部記憶部に記憶される認証用情報の情報量を少なくすることが可能となる。
本発明に係る生体認証装置は、前記算出手段は、DSPデバイスにより構成されていることを特徴とする。
本発明によれば、読み取った生体情報から認証に係る情報を算出する算出処理を、高速積和演算且つ高速シフト演算に特化したDSPデバイスを用いて実行することにより、処理時間の大幅な短縮及び低コスト化が可能となる。
本発明では、読み取った生体情報から認証に係る情報を算出し、算出した認証に係る情報に基づいて認証用情報を生成し、生成した認証用情報を外部記憶部に記憶させておく。そして、認証を行なう場合に、読み取った生体情報から認証対象として算出した認証に係る情報を、前記外部記憶部に記憶させた認証用情報に基づいて認証する。このように、生体情報から算出した認証に係る情報を認証対象とすると共に、前記認証に係る情報に基づいて認証用情報を生成することにより、例えば従来の指紋認証では認証できない可能性が高かった「井桁型」、「突起紋」等の特殊な形状の指紋を有するユーザに対しても認証性を向上させることができる。また、認証に用いる認証用情報を外部記憶部に記憶させておくことにより、装置内に記憶させておく構成と比較して前記認証用情報の漏洩を防止することができ、セキュリティの向上を図ることができる。
本発明では、読み取った生体情報から抽出した特徴情報と、乱数情報とに乗算処理を行なうことによって認証に係る情報を算出する。このように、例えば従来の指紋認証では指紋情報に対して複雑且つ高精度の画像処理を行なっていたのに対して、生体情報及び乱数情報の乗算処理に基づいて認証に係る情報を算出する。これにより、高精度の画像処理を行なうことなく認証対象の情報及び認証に用いる情報を算出することができ、処理負担及び処理時間を軽減しつつ、各ユーザの個別認識性及びセキュリティ性を維持することができる。
本発明では、認証に係る情報を算出する際に用いる乱数情報を外部記憶部に記憶させておくことにより、生体認証を行なう際に認証対象として算出する認証に係る情報の算出処理に用いる乱数情報の漏洩を防止する。また、前記外部記憶部を紛失した場合であっても、前記乱数情報を新たに生成し、異なる乱数情報に基づいて認証用情報を生成しておくことによって、紛失した外部記憶部に記憶してある乱数情報に基づく認証用情報の利用を禁止して第三者によるなりすましを防止することができる。
本発明では、読み取った生体情報から算出した認証に係る情報に符号化処理を行なって生成した認証用情報を外部記憶部に記憶させておく。そして、認証を行なう場合に、前記外部記憶部から読み出して復号化処理を行なって生成した認証用情報に基づいて、読み取った生体情報から認証対象として算出した認証に係る情報を認証する。よって、第三者が前記外部記憶部を取得した場合であっても、前記外部記憶部に記憶してある認証用情報の復号ができず、セキュリティをより向上させることができる。
本発明では、ランレングス符号化処理を行なうことによって、外部記憶部に記憶される認証用情報の情報量を少なくすることができる。
本発明では、読み取った生体情報から認証に係る情報を算出する算出処理を、高速積和演算且つ高速シフト演算に特化したDSPデバイスを用いて実行することにより、処理時間の大幅な短縮及び低コスト化を図ることができる。
以下に、本発明に係る生体認証装置をその実施形態を示す図面に基づいて具体的に説明する。なお、本発明に係る生体認証装置は、利用する際に個人認証を行なうことによってセキュリティの向上を目的とした機器に搭載して用いられ、又は、オプション装置として接続されて用いられる。また、本発明の生体認証装置を搭載する機器としては、例えば複写機、複合機及びパーソナルコンピュータ等の複数のユーザで共有する機器、携帯電話器及びPDA(Personal Digital Assistants )等の各ユーザが所有する機器等がある。更に、本発明の生体認証装置は、例えば、ドアの開閉を行なう際の認証に用いることもできる。
また、本発明に係る生体認証装置は、指紋認証、網膜認証、顔(人相)認証及び静脈認証等のように、座標情報として表現することができ、座標系上に個人を明確に識別できる特徴点が抽出できる生体情報(指紋情報、網膜情報、顔情報、静脈情報等)を用いた認証処理についての適用が可能である。以下では、説明の簡略化のため、指紋情報を用いた認証処理を行なう指紋認証装置を例に説明する。
図1は本発明に係る指紋認証装置の内部構成例を示すブロック図である。本実施形態の指紋認証装置1は、各ユーザの指紋を用いた認証処理だけでなく、認証処理に用いる認証用の登録データの生成処理も行なう。具体的には、指紋認証装置1は、認証処理及び認証用の登録データの生成処理のそれぞれを行なう場合、認証対象である各ユーザの認証用として予め登録しておく指の指紋情報と、各ユーザ毎に予め用意しておく乱数テーブルとを用いて1次データ(認証に係る情報)を生成する。
ここで生成された1次データは、指紋認証装置1による認証処理に際しては認証対象の1次データであり、既に登録されている認証用の1次データとの照合処理に用いられる。一方、指紋認証装置1による認証用の登録データの生成処理に際しては、上述のように生成された1次データは登録用の2次データ(認証用情報)を生成するための中間データとして用いられる。なお、2次データは、指紋認証装置1による登録データの生成処理に際して、上述のように生成した1次データに対して例えばランレングス符号化処理等の可逆符号化処理を実行することによって生成される登録用のデータである。
なお、このように生成された登録用の2次データ及び1次データを生成する際に用いる乱数テーブルは、予め各ユーザに配布されたICカード(外部記憶部)内のメモリに記憶させておく。これにより、指紋認証装置1は、認証処理を行なう際にICカードから登録用の2次データを読み出し、この2次データに対してランレングス符号化処理に用いたランレングス符号化テーブルに基づく復号化処理を行なうことにより、認証用の1次データを生成することができる。この1次データは、上述したように指紋情報から生成した認証対象の1次データと照合するために使用される。
従って、各ユーザは、指紋認証装置1が搭載された機器を利用する際に、登録用の2次データ及び乱数テーブルが記憶されているICカードを用意しておく必要がある。ICカードは接触型又は非接触型のいずれでもよく、乱数テーブルを記憶する記憶媒体はICカードに限られないが、カード型の記憶媒体であれば持ち運びが容易であり操作性がよい。
以下に、本実施形態の指紋認証装置1の構成について具体的に説明する。本実施形態の指紋認証装置1は、指紋読取部10、特徴点抽出処理回路11、特徴点データ格納用メモリ12、1次データ算出回路13、1次データ格納用メモリ14、メモリアクセス回路15、乱数テーブル変更指示入力部16、乱数テーブル生成回路17、乱数テーブル格納用メモリ18、符号化テーブル生成回路19、符号化テーブル格納用メモリ20、符号化回路21、2次データ格納用メモリ22、ICカードリーダ・ライタ23、ユーザID入力部24、復号化回路25、照合回路26等を備えており、それぞれは図示しないシステムバスを介して相互に接続されている。
また、システムバスには、CPU(Central Processing Unit )又はMPU(Micro Processor Unit)等により構成される制御部も接続されており、制御部は、上述したようなハードウェア各部を制御すると共に、自身に内蔵されたROMに予め格納してある制御プログラムに従って、本発明に係る生体認証装置としての動作を実行する。なお、図1中の矢符は各種データの流れを示している。
指紋読取部(生体読取手段)10は、半導体センサ又はCCD光学センサ等により構成されており、例えば、1本の指の先端から第1関節までの指紋部分と接触する接触面を備え、接触面に接触された指紋部分を読み取ることにより、画像データとしての指紋情報(生体情報)を取得する。
図2は指紋認証装置1が行なう処理を説明するための説明図であり、図2(a)は指紋読取部10で読み取った指紋情報を示している。図2(a)に示すような指紋情報を読み取った指紋読取部10は、取得した指紋情報を特徴点抽出処理回路11へ転送する。特徴点抽出処理回路(抽出手段)11は、指紋読取部10が読み取った指紋情報に対して、個人認証に必要な数(一般的には12〜15個程度、本実施形態では15個とする)の指紋特徴点、具体的には、指紋情報に係る指紋が示す隆線の分岐点及び端点等の特徴点が検出できる程度に最小限必要な鮮鋭化処理及びモホロジー等の画像処理を行なう。
また、特徴点抽出処理回路11は、画像処理を行なった指紋情報から特徴点を抽出し、抽出した特徴点を示す特徴点データ(特徴情報)を特徴点データ格納用メモリ12に格納する。なお、この特徴点データは、認証対象の1次データを生成する際に使用され、又は、認証用データとして予め登録しておく2次データを生成するための1次データを生成する際に使用される。
以下に、特徴点抽出処理回路11が指紋情報から抽出した特徴点を示す特徴点データを特徴点データ格納用メモリ12に格納する処理について説明する。特徴点抽出処理回路11は、図2(a)に示す指紋情報に所定の画像処理を行なった上で特徴点を抽出した場合、抽出した全ての特徴点が含まれる矩形領域を指紋情報中に設定する。図2(b)は指紋情報中に設定された矩形領域Rを示しており、矩形領域R中の黒点がそれぞれ特徴点を示している。図2(b)中には多数の特徴点がプロットしてあるが、12〜15個程度であれば個人認証を行なうことができる。但し、特徴点の数を増やすことによって、より精度のよい指紋認証を行なうことができる。
特徴点抽出処理回路11は、この矩形領域Rの頂点のうちのひとつを基準点(Xstart ,Ystart)として、この基準点(Xstart ,Ystart)を通る矩形領域Rの一辺をX方向(主走査方向)、他辺をY方向(副走査方向)と定義する。なお、矩形領域RのX方向の終了点を座標値(Xend ,Ystart)とし、Y方向の終了点を座標値(Xstart ,Yend )とする。次に、特徴点抽出処理回路11は、矩形領域RをX方向及びY方向のそれぞれに1024分割し、X方向及びY方向のそれぞれの最大値を1023とした場合の正規化相対座標値(X,Y)に対して、それぞれの座標値が示すエリアが特徴点であるか非特徴点であるかを特定する。
これにより、特徴点抽出処理回路11は、図2(c)に示すように、抽出した特徴点の矩形領域R内における分布を得ることができる。なお、指紋読取部10が読み取った指紋情報から抽出された各特徴点(XReal,YReal)に対応する正規化相対座標値(X,Y)は以下の式1を用いて算出することができる。
X = (XReal−Xstart)/(Xend −Xstart)×1023
Y = (YReal−Ystart)/(Yend −Ystart)×1023 …(式1)
なお、座標値(XReal,YReal),(Xstart ,Ystart),(Xend ,Ystart),(Xstart ,Yend )のそれぞれは、指紋読取部10が読み取った指紋情報における各座標値である。また、上記の式1を用いた演算結果における小数点以下は四捨五入する。
図3は、図2(c)に示す特徴点の分布を模式的に示す拡大図であり、矩形領域R内の各相対座標が示すエリアの値を1ビットで示している。具体的には、各相対座標が示すエリアが特徴点であれば1(図3中では1B)とし、非特徴点であれば0(図3中では0B)としてある。
ここで、特徴点データ格納用メモリ12は、DRAM又はフラッシュメモリ等からなり、上述したように特徴点抽出処理回路11が指紋情報から抽出した各特徴点の分布を示す特徴点データを格納する。なお、特徴点データ格納用メモリ12は、図3に示す特徴点データを記憶するため、1024[エリア]×1024[ライン]×1[ビット]=1024[ビット]×1024[ビット]×1[ビット]=128[Kバイト]以上の記憶領域を有する。
図4は図3に示す特徴点データの特徴点データ格納用メモリ12への格納例を示す模式図であり、特徴点データ格納用メモリ12に1バイト単位でデータを格納する場合の一般的な格納例を示している。図4に示すように、特徴点データ格納用メモリ12において、メモリアドレス(オフセット値)が00000Hの1バイト(8ビット)には、MSB側からLSB側へ順に図4に示す相対座標値(0,0)〜(7,0)の8相対座標分の特徴点データが格納される。また、メモリアドレスが00001Hの1バイトには、MSB側からLSB側へ順に図4に示す相対座標値(8,0)〜(15,0)の8相対座標分の特徴点データが格納される。なお、「H」は16進数の値であることを示している。
同様にして、特徴点抽出処理回路11は、相対座標値(16,0)〜(123,0)までの各特徴点データをメモリアドレスが00002H〜0007FHの各1バイトに順次格納し、次の相対座標値(0,1)〜(7,1)の8相対座標分の特徴点データをメモリアドレスが00080Hの1バイトに格納する。更に特徴点抽出処理回路11は、上述した格納処理を続行し、相対座標値(1016,1023)〜(1023,1023)までの各特徴点データをメモリアドレスが1FFFFHの1バイトに格納し、1次データを算出するための特徴点データを生成する。
1次データ算出回路(算出手段)13は、特徴点抽出処理回路11が生成して特徴点データ格納用メモリ12に格納されている特徴点データから、指紋認証装置1が行なう各処理に用いる1次データを算出する。なお、1次データ算出回路13をDSP(Digital Signal Processor)デバイスによって構成することにより、高速な演算処理が可能となる。
以下に、1次データ算出回路13による1次データの算出処理について説明する。1次データ算出回路13は、図4に示すように特徴点データ格納用メモリ12に格納された特徴点データに対して、メモリアドレス(オフセット値)が00000H に格納された各データをMSBから順に走査していき、各エリアが特徴点であるか否かを検出する。また、1次データ算出回路13は、特徴点を検出した場合、各特徴点を示す相対座標値(x,y)を算出する。具体的には、1次データ算出回路13は、例えばメモリアドレス値SのTビット目のエリアの値が1B、即ちメモリアドレス値Sのビット値Tのエリアが特徴点である場合、このエリアを示す相対座標値(x,y)を以下の式2を用いて算出する。
x = MOD(S÷128)×8+T
y = S÷128 …(式2)
なお、MOD(S÷128)は、Sを128で除した際の余りの値とする。
上記の式2において、「÷128」は2値データにおける7ビットの右シフトを、「×8」は同じく3ビットの左シフトをそれぞれ意味している。ここで、図4に示すように、特徴点データ格納用メモリ12に格納される特徴点データのデータ量は128[Kバイト]であり、メモリアドレス値Sは17ビットで表され、ビット値Tは0〜7の値をとるために3ビットで表される。従って、上記の式2において、X方向の相対座標値は、メモリアドレス値SのLSBから7ビットの値のLSB側に、ビット値Tの3ビットの値を付加した10ビットの値となり、Y方向の相対座標値は、メモリアドレス値SのMSBから10ビットの値となり、実計算上はシフト演算のみで非常に簡単に相対座標値(x,y)を得ることができる。
1次データ算出回路13は、上述したように、メモリアドレス値00000H に格納された各データをMSBから順に走査して検出した各特徴点の相対座標値(x,y)を算出すると共に、検出順序に従って各特徴点に特徴点番号を付加し、特徴点番号及び相対座標値を対応させて自身に内蔵されたメモリに一旦記憶しておく。図5は1次データ算出回路13によって算出されてメモリに一旦格納された各特徴点の相対座標値を示す模式図である。
なお、図5に示すように上記の式2を用いて算出した相対座標値(x,y)は、図3に模式的に示した矩形領域RにおいてX方向及びY方向のそれぞれの最大値を1023とした場合の正規化相対座標値(X,Y)である。従って、1次データ算出回路13が算出した相対座標値(x,y)は、図3に示す特徴点の分布に対して、図6(a)に示す走査方向に従って相対座標値(0,0)から順に走査していき、特徴点(ビット値が1B)であると検出されたエリアに対して、図6(b)に示すように順次付加した特徴点番号に対応する特徴点を示す相対座標値(X,Y)である。
本実施形態では、上述したように図4に示す特徴点データからシフト演算のみで各特徴点の相対座標値を算出することができるため、図4に示す特徴点データを特徴点データ格納用メモリ12に格納しておく構成について説明しているが、図5に示すように各特徴点を示す相対座標値を特徴点データとして格納する構成としてもよい。
ここで、上述したように、1次データ算出回路13は、1次データを生成する場合、上述したように算出した各特徴点の相対座標値と共に乱数テーブルを用いており、指紋認証装置1は、この乱数テーブルを各ユーザに配布してあるICカードから読み取って取得する。従って、指紋認証装置1はICカードへのアクセスが可能なICカードリーダ・ライタ23を備えており、所定位置にICカードが載置された場合又はかざされた場合、ICカードリーダ・ライタ23によってICカードに記憶してある乱数テーブルを読み取る。また、ICカードリーダ・ライタ23は、ICカードから読み取った乱数テーブルをメモリアクセス回路15へ転送する。
図7は乱数テーブルの構成例を示す模式図であり、図3に示す特徴点の分布情報に対応した形状を有している。具体的には、乱数テーブルは、図3に示す矩形領域Rにおいて、相対座標値(0,0)〜(1023,1023)の各エリアを16×16ブロックに分割し、16×16個の乱数データにより構成されている。また、各乱数データは0〜63の整数値で表されており、ICカード内のメモリには、図8に示すように6ビットの2進数データで格納されている。
図8は図7に示す乱数テーブルのICカード内のメモリへの格納例を示す模式図であり、ICカード内のメモリには各乱数データを1バイト単位で格納する。なお、各乱数データは上述したように6ビットであるためMSBから2ビットは無効として使用しない。図8に示すように、ICカード内のメモリにおいて、メモリアドレス(オフセット値)が00Hの1バイト(8ビット)中のLSB側の6ビットには、x方向の相対座標値が0〜63でy方向の相対座標値が0〜63に対応する乱数データ「11(2進数で001011)」が格納される。また、メモリアドレスが01Hの1バイト中のLSB側の6ビットには、x方向の相対座標値が64〜127でy方向の相対座標値が0〜63に対応する乱数データ「43(2進数で101011)」が格納される。
同様にして各乱数データがICカード内のメモリに順次格納され、メモリアドレスがFFHの1バイト中のLSB側の6ビットには、x方向の相対座標値が960〜1023でy方向の相対座標値が960〜1023に対応する乱数データ「50(2進数で110010)」が格納される。従って、ICカードは、8[ビット](無効の2ビットを含む)×16×16[個]=256[バイト]以上の記憶領域を有する。
ところで、ICカードには、ユーザに配布された時点では図8に示すような乱数テーブルは記憶されておらず、各ユーザが、自身の乱数テーブルを作成するために、指紋認証装置1に設けられた乱数テーブル変更指示入力部16を操作する。なお、乱数テーブルは、ICカードが配布されて認証に用いる登録用の2次データを生成する際に作成するだけでなく、定期的に変更することが好ましい。その理由は、乱数テーブルを変更するということは、1次データ算出回路13によって生成される1次データが変更されるということになり、ICカードに登録される2次データも変更されるため、指紋認証に係るセキュリティをより向上させることができるからである。
乱数テーブル変更指示入力部16は、具体的には操作パネルであり、ユーザが操作することにより乱数テーブルの作成が指示された場合、その旨を示す制御信号を出力して乱数テーブル生成回路17へ与える。乱数テーブル生成回路(乱数生成手段)17は、乱数発生回路を有しており、図7に示すような0〜63までの乱数データを16×16個生成すると共に、生成した各乱数データを各ブロックに割り当てる。乱数テーブル生成回路17は、生成した乱数テーブル(乱数情報)を図8に示すように乱数テーブル格納用メモリ(乱数記憶手段)18に格納する。
なお、乱数テーブル変更指示入力部16は、乱数テーブルの作成指示だけでなく、任意の数字等の乱数の発生に用いられる情報も入力するようにしてもよい。また、ユーザから乱数テーブルの作成指示が入力された場合だけでなく、例えば、ICカードリーダ・ライタ23がICカードにアクセスした場合に乱数テーブルがICカードに記憶されていないことを検知した場合に、乱数テーブルの生成を自動的に開始するように構成することもできる。
上述したようにユーザからの作成指示に従って乱数テーブル生成回路17が生成した乱数テーブルは、メモリアクセス回路15によって乱数テーブル格納用メモリ18から読み出されてICカードリーダ・ライタ23へ転送され、各ユーザに対応するICカード(乱数記憶手段)内のメモリに格納される。
指紋認証装置1が認証処理を行なう場合又は認証に用いる登録用の2次データの生成処理を行なう場合、メモリアクセス回路15はICカードリーダ・ライタ23によって、上述したように乱数テーブルが格納されたICカードから乱数テーブルを読み出して乱数テーブル格納用メモリ18に一時的に記憶しておく。
従って、1次データ算出回路13は、ICカードから読み出されて乱数テーブル格納用メモリ18に記憶されている乱数テーブルと、上述したように算出して図5に示すように1次データ算出回路13内部のメモリに格納された各特徴点の相対座標値とを用いて1次データを算出することができる。図9は1次データ算出回路13による1次データの算出処理を説明するための説明図である。以下の説明では、図5に示す相対座標値及び図7に示す乱数テーブルに基づく算出処理を例とする。
図9中の特徴点番号N、主走査方向相対座標xN 及び副走査方向相対座標yNはそれぞれ、図5に示す各特徴点の特徴点番号N及び相対座標値(xN,yN)である。まず、1次データ算出回路13は、主走査方向相対座標xN及び副走査方向相対座標yNのそれぞれが、図7に示すように主走査方向及び副走査方向のそれぞれに16分割されたブロックのいずれに属するかを判断する。また、1次データ算出回路13は、主走査方向相対座標xN及び副走査方向相対座標yNによって特定される各特徴点が属するブロックを特定し、特定したブロックに割り当てられた乱数データが示す乱数値RNを取得する。更に、1次データ算出回路13は、主走査方向及び副走査方向のそれぞれの相対座標xN,yNに、特定した乱数値RNを乗じ、xN×RN及びyN×RNを算出する。
具体的には、図9において特徴点番号N=0の特徴点について、主走査方向相対座標x0=476は448〜512の範囲内にあり、副走査方向相対座標y0=54は0〜64の範囲内にあり、これにより1次データ算出回路13は、相対座標(x0,y0)=(476,54)の特徴点に対応する乱数値RN=38であると特定する。次に1次データ算出回路13は、相対座標(x0,y0)=(476,54)のそれぞれに、特定した乱数値RN=38を乗じ、x0×R0=18088(2進数で0100011010101000)及びy0×R0=2052(2進数で0000100000000100)を算出する。
図10は上述した1次データの算出過程を示す模式図である。1次データ算出回路13は、上述した演算を15個の各特徴点について行なうことによって15組のxN×RN値,yN×RN値を算出する。ここで、xN×RN値,yN×RN値はそれぞれ、0〜1023の10ビットの相対座標値(xN,yN)及び0〜63の6ビットの乱数値RNの乗算結果であるので16ビットで表される。従って、各特徴点は16ビットのxN×RN値のLSB側に16ビットのyN×RN値を付加した32ビットの値で表され、1次データ算出回路13は、各特徴点を示す32ビットの値を15個連続させることにより、図10(a)で示すような1次データを生成することができる。
ここで、1次データ格納用メモリ14は、DRAM又はフラッシュメモリ等からなり、上述したように1次データ算出回路13が算出した1次データを格納する。なお、1次データ格納用メモリ14は、図10(a)に示す1次データを記憶するため、32[ビット]×(N+1)[個]=4×(N+1)[バイト]以上の記憶領域が必要である。なお、本実施形態ではNは14である。
図11は図10に示す1次データの1次データ格納用メモリ14への格納例を示す模式図である。1次データ格納用メモリ14は1次データを4バイト単位で格納する。具体的には、図11に示すように、1次データ格納用メモリ14のメモリアドレス(オフセット値)が0000H〜0003Hの4バイト(32ビット)において、MSB側の16ビットには特徴点番号0の特徴点について算出したx0×R0値が、LSB側の16ビットには特徴点番号0の特徴点について算出したy0×R0値がそれぞれ格納される。また、メモリアドレスが0004H〜0007Hの4バイト(32ビット)において、MSB側の16ビットには特徴点番号1の特徴点について算出したx1×R1値が、LSB側の16ビットには特徴点番号1の特徴点について算出したy1×R1値がそれぞれ格納される。
同様にして各特徴点を示す32ビットのデータが1次データ格納用メモリ14に順次格納され、メモリアドレスが0038H〜003BHの4バイト(32ビット)において、MSB側の16ビットには特徴点番号14の特徴点について算出したx14×R14値が、LSB側の16ビットには特徴点番号14の特徴点について算出したy14×R14値がそれぞれ格納される。従って、本実施形態の1次データ格納用メモリ14は、32[ビット]×15[個]=60[バイト]以上の記憶領域を有する。
指紋認証装置1が登録用の2次データの生成処理を行なっている場合、図11に示す1次データが1次データ格納用メモリ14に格納された後、符号化テーブル生成回路19が、この1次データに対して最適な符号化処理を行なうための符号化テーブルを生成する。なお、本実施形態では、符号化回路21はランレングス符号化処理を行なうので、符号化テーブル生成回路19はそのためのランレングス符号化テーブルを生成する。
具体的には、符号化テーブル生成回路19は、図11に示すように1次データ格納用メモリ14に格納された1次データをメモリアドレス(オフセット値)0000H のMSBから順次読み出し、図10(a)に示すような連続した1次データを取得する。符号化テーブル生成回路19は、連続した1次データに対して公知のハフマン符号作成処理を行ない、図12に示すようなランレングス符号化テーブルを生成し、生成したランレングス符号化テーブルを符号化テーブル格納用メモリ20に格納する。
ここで、1次データは、図11に示すように2進数で格納されているのでビット値0又はビット値1の羅列であり、ビット値0の連続領域(1つでもよい)とビット値1の連続領域(1つでもよい)とが交互に繰り返されるデータ構成を有する。また、1次データは、上述した通りxN×RN値及びyN×RN値により構成されるため、主走査方向相対座標値xN=0(0000000000B )且つ乱数値RN=0(000000B )の場合、又は副走査方向相対座標値yN=0且つ乱数値RN=0の場合にのみxN×RN値及びyN×RN値の16ビット全てが0となる。なお、「B」は2進数の値をであることを示している。
同様に、主走査方向相対座標値xN=1023(1111111111B )且つ乱数値RN=63(111111B )の場合、又は副走査方向相対座標値yN=1023(1111111111B )且つ乱数値RN=63(111111B )の場合にのみxN×RN値及びyN×RN値の16ビット全てが1となり、これら以外の相対座標値(xN,yN)及び乱数値RNの組み合わせの場合は、算出されるxN×RN値及びyN×RN値の16ビット内にビット値0と1とが混在することになる。
このような構成の1次データに対して、符号化テーブル生成回路19は、ビット値0又は1の最大連続数、即ちランレングス数を16としたランレングス符号化テーブルを生成すればよく、また、ビット値0及び1の同一ランレングスに対して各別の可変長符号を割り当てる必要もない。従って、符号化テーブル生成回路19は、図12に示すように、ランレングスが1〜16の16パターンに対する可変長符号を規定すればよく、データ量が非常に小さいランレングス符号化テーブルとなる。なお、1次データはユーザ毎に異なるため、ランレングス符号化テーブルもユーザ毎に異なるものとなり、これにより、1次データを符号化圧縮する際に用いる符号化テーブルをユーザ毎に異なるものとすることができる。
図12に示すランレングス符号化テーブルが符号化テーブル格納用メモリ20に格納された場合、メモリアクセス回路15は、符号化テーブル生成回路19を介して1次データ格納用メモリ14のメモリアドレス(オフセット値)0000H のMSBから連続的に1次データを読み出すと共に、符号化テーブル格納用メモリ20からランレングス符号化テーブルを読み出し、1次データ及びランレングス符号化テーブルを符号化回路21へ転送する。符号化回路(生成手段)21は、メモリアクセス回路15から取得した1次データ中のビット値0又は1の連続領域を、ランレングス符号化テーブルを参照しながら順次可変長符号に置き換えていき、2次データを生成し、生成した2次データを2次データ格納用メモリ22に格納する。
図13は1次データから2次データを生成するランレングス符号化の処理過程を示す模式図である。符号化回路21は、図13(a)に示すように1次データ格納用メモリ14から読み出した1次データに対して、図13(b)に示すように各ビット値0,1のランレングスを検出する。そして、符号化回路21は、ランレングス符号化テーブルを参照しながら、検出した各ビット値0,1のランレングスを可変長符号に順次置き換え、図13(c)に示すような2次データを生成する。なお、2次データは、図13(c)に示すように、先頭の1ビットのビット値(図中斜体の“0”)で1次データの先頭のビット値を示しており、2ビット目以降が可変長符号である。
また、メモリアクセス回路15は、符号化回路21で生成した2次データが2次データ格納用メモリ22に格納された場合、2次データを読み出してICカードリーダ・ライタ23へ転送し、ICカードリーダ・ライタ(記憶処理手段)23によって所定位置に装着されているICカード内のメモリに格納させる。従って、ICカード内のメモリには乱数テーブル及び2次データが格納される。ここで、乱数テーブルのデータ量は256[バイト]であり、2次データのデータ量は数10[バイト]であるため、現在普及しているICカードの内蔵メモリ(一般的には512[Kバイト]〜数[Mバイト]程度)に十分格納可能である。
なお、符号化回路21が1次データから2次データを生成する際に用いるランレングス符号化テーブルは、指紋認証装置1の内部、具体的には符号化テーブル格納用メモリ20で管理する。これにより、ICカードを紛失した場合であっても、ICカードに格納された2次データを復号するためのランレングス符号化テーブルがないので1次データに復号することができない。従って、ICカードに乱数テーブルが格納されていても、1次データを得ることができないため、指紋情報の特徴点データを特定することができず、他者によるなりすましを防止することができる。
また、符号化テーブル格納用メモリ20にはユーザID入力部24が接続されている。ユーザID入力部24は、具体的には操作パネルであり、ユーザによって入力されたIDコードを受け付け、受け付けたIDコードを符号化テーブル格納用メモリ20へ転送する。符号化テーブル格納用メモリ20は、ユーザID入力部24から取得したIDコードに対応させてそれぞれのランレングス符号化テーブルを管理する。従って、指紋認証装置1で指紋認証を行ないたいユーザは、指紋読取部10による指紋の読み取りと、ICカードリーダ・ライタ23の所定位置へのICカードの載置と共に、ユーザID入力部24からのIDコードの入力を行なう必要がある。
なお、ユーザID入力部24を、IDコードが入力された場合に、符号化テーブル格納用メモリ20に既に格納されているランレングス符号化テーブルに対応するIDコードと重複していないことを確認する構成とすることにより、指紋認証装置1が認証処理を行なう際にユーザが入力したIDコードに基づいて、各ユーザに対応するランレングス符号化テーブルを符号化テーブル格納用メモリ20から読み出すことができる。
上述したように、自身のICカード内のメモリに乱数テーブル及び2次データを格納すると共に、指紋認証装置1の符号化テーブル格納用メモリ20に自身のランレングス符号化テーブルを格納したユーザは、指紋認証装置1が搭載された機器を利用する際の指紋認証を行なうことができる。
以下に、指紋認証装置1による指紋を用いた認証処理について説明する。指紋認証装置1が搭載された機器を利用するために指紋認証を要求されたユーザは、まず、ICカードリーダ・ライタ23の所定位置にICカードを載置し、指紋読取部10の指の接触面に認証用として予め登録してある指を接触させると共に、ユーザID入力部24から予め登録してあるIDコードを入力する。なお、ユーザは、ICカードの載置、指の接触及びIDコードの入力をどの順番で行なってもよいが、指紋認証装置1が備える表示モニタ(図示せず)にそれぞれの処理の実行を促す画面を表示させた場合には、ユーザはスムーズに認証を行なうことができる。
指紋認証装置1が認証処理を行なう場合、まず、ICカードリーダ・ライタ(読出手段)23が、所定位置に載置されたICカードにアクセスして乱数テーブル及び2次データを読み出し、それぞれメモリアクセス回路15を介して、乱数テーブル格納用メモリ18及び2次データ格納用メモリ22に格納する。また、メモリアクセス回路15は、ユーザID入力部24から入力されたIDコードに対応するランレングス符号化テーブルを特定しておく。
指紋読取部10、特徴点抽出処理回路11及び1次データ算出回路13は、指紋認証装置1が認証用の登録データの生成処理を行なう場合と同様の処理を順次行ない、指紋読取部10で読み取った指紋情報に基づいて特徴点データを生成し、生成した特徴点データと、ICカードから読み出して乱数テーブル格納用メモリ18に記憶してある乱数テーブルとにより認証対象の1次データを算出し、1次データ格納用メモリ14に記憶させておく。
一方で、メモリアクセス回路15は、ICカードから読み出して2次データ格納用メモリ22に格納してある2次データと、ユーザID入力部24から入力されたユーザIDに対応するランレングス符号化テーブルとを復号化回路25へ転送する。復号化回路(復号化手段)25は、メモリアクセス回路15から取得した2次データを、ランレングス符号化テーブルを参照しながら、図13で示したランレングス符号化処理と逆の復号化処理を行なうことにより認証処理に用いる認証用の1次データに復号し、生成した認証用の1次データを照合回路26へ転送する。
照合回路(認証手段)26は、1次データ格納用メモリ14に格納してある1次データを順次読み出し、読み出した認証対象の1次データと、復号化回路25から順次転送されてくる認証用の1次データとを16ビット単位で比較する。具体的には、まず照合回路26は、以下の式3を用いて、認証用の1次データと認証対象の1次データとの差異xDIFFN,yDIFFNを16ビット単位で算出する。
xDIFFN=(認証用の1次データ中の)xN ×R N
− (認証対象の1次データ中の)xN ×R N
yDIFFN =(認証用の1次データ中の)yN ×R N
− (認証対象の1次データ中の)yN ×R N …(式3)
なお、本実施形態では、N=0〜14である。
次に照合回路26は、N=0〜14のそれぞれに対して算出した差異xDIFFN,yDIFFNを予め設定された閾値Thと比較して差異xDIFFN,yDIFFNのそれぞれが閾値Thよりも大きい場合、総合差異DIFFCount を1ずつインクリメントする。そして、照合回路26は、全ての差異xDIFFN,yDIFFNと閾値Thとの比較が終了した時点での総合差異DIFFCountと予め設定された認証不可閾値ERRThとを比較し、総合差異DIFFCountが認証不可閾値ERRThよりも小さい場合に認証されたと特定し、総合差異DIFFCountが認証不可閾値ERRThよりも大きい場合に認証されなかったと特定する。
上述した構成により、指紋認証装置1は、各ユーザが指紋認証に用いる登録用の2次データをまだ有していない場合には、ユーザ毎に乱数テーブル、ランレングス符号化テーブル及び2次データを生成し、生成した乱数テーブル及び2次データは各ユーザに配布されたICカード内のメモリに記憶させ、ランレングス符号化テーブルは、ユーザID入力部24から入力されたIDコードに対応させて符号化テーブル格納用メモリ20に記憶させる。このような登録処理を行なっておくことにより、ユーザは、指紋認証装置1による認証処理を行なうことができる。
一方、指紋認証装置1は、各ユーザが指紋認証を行なう場合、各ユーザから取得した指紋情報から認証対象となる1次データを生成すると共に、各ユーザが所有するICカードに記憶されている2次データを復号して認証用の1次データを生成し、認証対象の1次データ及び認証用の1次データの差異に基づいて、各ユーザが適切な権限を有するユーザであるか否かを判断することができる。
以下に、上述した構成の指紋認証装置1による登録用の2次データの生成処理及び認証処理について説明する。図14乃至図16は本発明に係る指紋認証装置1による処理の手順を示すフローチャートである。なお、以下の処理は、図示しない制御部に内蔵されたROMに記憶してある制御プログラムに従って制御部が上述したようなハードウェア各部を制御することにより実行される。また、以下の説明では、ICカードに2次データが既に格納されているか否かに基づいて認証処理を行なうか登録用の2次データの生成処理を行なうかを判断する構成を例とする。更に、指紋の読み取り、ユーザIDの入力及びICカードの載置等の実行を、それぞれを指示する画面を順次表示モニタ(図示せず)に表示させることによってユーザに促す構成を例として説明するが、それぞれの実行順序に制限はない。
指紋認証装置1の制御部は、通常動作における待機状態中に表示モニタに「ICカードを所定位置に載置してください」等のメッセージを表示させており、ユーザに対してICカードの所定位置への載置を指示する(S1)。制御部は、ICカードリーダ・ライタ23の所定位置にICカードが載置されているか否かを判断しており(S2)、載置されていると判断した場合(S2:YES)、ICカードリーダ・ライタ23にICカードへのアクセスを行なわせ(S3)、ICカードに既に2次データが格納されているか否かを判断する(S4)。なお、ICカードが載置されない場合(S2:NO)、制御部はICカードの所定位置への載置を促す指示を継続する(S1)。
ICカードリーダ・ライタ23は、ICカードに2次データが格納されていないと判断した場合(S4:NO)、即ちユーザが指紋認証に用いる登録用の2次データをまだ有しておらず、登録用の各データを生成したい場合、乱数テーブル生成回路17に乱数テーブルを生成させて乱数テーブル格納用メモリ18に格納させる(S5)。なおこの場合、メモリアクセス回路15は、生成された乱数テーブルをICカードリーダ・ライタ23によって所定位置に載置されているICカードに書き込む(S6)。
次に指紋認証装置1の制御部は、「指を読取面に接触させてください」等のメッセージを表示させてユーザに対して指紋の読取を指示し(S7)、指紋読取部10は、読取面に接触している指からの指紋情報の読取が完了したか否かを判断しており(S8)、読取が完了していない場合(S8:NO)、制御部は指紋の読取の指示を継続する(S7)。指紋読取部10による指紋情報の読取が完了した場合(S8:YES)、制御部は、取得した指紋情報から特徴点抽出処理回路11に特徴点を抽出させて特徴点データを生成させ、特徴点データ格納用メモリ12に格納させる(S9)。
次に、制御部は、1次データ算出回路13に、メモリアクセス回路15によって乱数テーブル格納用メモリ18から読み出した乱数テーブルと、特徴点データ格納用メモリ12に格納された特徴点データとに基づいて1次データを生成させ、1次データ格納用メモリ14に格納させる(S10)。次に、制御部は、符号化テーブル生成回路19に1次データ格納用メモリ14に格納された1次データを符号化するためのランレングス符号化テーブルを生成させ(S11)、符号化テーブル格納用メモリ20に一時的に格納させる。
次に、制御部は、符号化回路21に、1次データ格納用メモリ14に格納された1次データに対して、符号化テーブル格納用メモリ20に格納されたランレングス符号化テーブルを用いたランレングス符号化処理を行なわせて2次データを生成させ、2次データ格納用メモリ22に格納させる(S12)。また、メモリアクセス回路15は、生成された2次データをICカードリーダ・ライタ23の所定位置に載置されているICカードに書き込む(S13)。
次に制御部は、「IDコードを入力してください」等のメッセージを表示モニタに表示させてIDコードの入力を指示し(S14)、ユーザID入力部24が、ユーザにより入力されたIDコードを受け付けたか否かを判断しており(S15)、IDコードを受付けていない場合(S15:NO)、IDコードの入力の指示を継続する(S14)。また、ユーザID入力部24がIDコードを受け付けた場合(S15:YES)、制御部は、ステップS11で生成したランレングス符号化テーブルを、受け付けたIDコードに対応させて符号化テーブル格納用メモリ20に格納させ(S16)、制御部は「登録用データが生成できました」等のメッセージを表示モニタに表示させて認証用の各データの生成完了をユーザに通知する(S17)。
一方、ステップS4で、ICカードに既に2次データが格納されていると判断した場合(S4:YES)、即ちユーザが既に登録してある各データを用いて指紋認証を行ないたい場合、制御部は、メモリアクセス回路15に、ICカードリーダ・ライタ23によってICカードから乱数テーブルを読み出させて乱数テーブル格納用メモリ18に格納させると共に(S18)、ICカードから2次データを読み出させて2次データ格納用メモリ22に格納させる(S19)。
次に制御部は、「指を読取面に接触させてください」等のメッセージを表示させてユーザに対して指紋の読取を指示し(S20)、指紋読取部10の読取面に接触された指からの指紋情報の読取が完了したか否かを判断しており(S21)、読取が完了していない場合(S21:NO)、制御部は指紋の読取の指示を継続する(S20)。指紋読取部10による指紋情報の読取が完了した場合(S21:YES)、制御部は、取得した指紋情報から特徴点抽出処理回路11に特徴点を抽出させて特徴点データを生成させ、特徴点データ格納用メモリ12に格納させる(S22)。
次に、制御部は、1次データ算出回路13に、特徴点データ格納用メモリ12に格納された特徴点データと、ICカードから読み出されて乱数テーブル格納用メモリ18に格納してある乱数テーブルとに基づいて、認証対象の1次データを算出させ、1次データ格納用メモリ14に格納させる(S23)。次に制御部は、「IDコードを入力してください」等のメッセージを表示モニタに表示させてIDコードの入力を指示し(S24)、ユーザID入力部24が、ユーザにより入力されたIDコードを受け付けたか否かを判断しており(S25)、IDコードを受付けていない場合(S25:NO)、IDコードの入力の指示を継続する(S24)。
ユーザID入力部24がIDコードを受け付けた場合(S25:YES)、制御部は、符号化テーブル格納用メモリ20に格納されているランレングス符号化テーブルから、受け付けたIDコードに対応するランレングス符号化テーブルを特定して読み出し(S26)、2次データ格納用メモリ22に格納された2次データと共に復号化回路25へ転送する。制御部は、復号化回路25に、メモリアクセス回路15から取得する2次データに、ランレングス符号化テーブルに基づく復号化処理を行なわせることによって認証用の1次データを生成させ、照合回路26へ転送させる(S27)。
制御部は、照合回路26に、1次データ格納用メモリ14に格納されている認証対象の1次データと、復号化回路25から転送されてくる認証用の1次データとを比較させ(S28)、照合回路26での比較による認証結果を表示モニタに表示させてユーザに通知する(S29)。
このように、指紋情報だけでなく、指紋情報から1次データを生成する際に用いる乱数テーブルも用いて認証処理を行なうことにより、従来において複雑且つ高負荷の画像処理技術を必要としていた指紋認証を、より単純且つ低負荷の演算処理で、認証性及びセキュリティ性を確保しつつ実現することができる。また、よりセキュリティを向上させるためには、認証処理に用いる2次データを定期的に変更することが望ましい。
更に、例えば、予め右手の人差し指の指紋情報に基づく2次データ、乱数テーブル及びランレングス符号化テーブルを認証用データとして登録しておいたときに、この人差し指を怪我した場合であっても、異なる指の指紋情報に基づく認証用データを再度生成して登録しておくことにより、指紋認証装置1を搭載した機器の使用が指を怪我したことによって妨げられない。
次に、上述したように特徴点データ及び乱数テーブルから1次データを算出する1次データ算出回路13をDSPデバイスによって構成した場合の具体的な処理内容を説明する。上述した1次データ算出回路13による1次データの算出処理は、図4に示すデータ構成で特徴点データが特徴点データ格納用メモリ12に格納してあり、図7に示すデータ構成で乱数テーブルが乱数テーブル格納用メモリ18に格納してあるとすると、積和演算処理を主体とするDSPデバイスによって高速に実行することができる。図17及び図18はDSPデバイスによる1次データの算出処理の手順を示すフローチャートである。
なお、現在多くの機器に搭載されている一般的なDSPデバイスのモデルとして、演算用レジスタ幅が32[ビット]のデバイスを用いた例を説明する。DSP内部には、汎用レジスタとして演算用レジスタが複数(一般には8〜32レジスタ)存在するが、以下の説明では、特徴点データにおけるx方向の相対座標値を格納するx座標レジスタ、y方向の相対座標値を格納するy座標レジスタ、1次データ格納用メモリ14のメモリアドレスを格納するメモリポインタレジスタ、特徴点データの各ビット値を格納するTMP1レジスタ、乱数テーブル格納用メモリ18から読み出された乱数値(6ビット)を格納するTMP2レジスタ、1次データ算出回路13によって算出された1次データ(xN×RN,yN×RN)を格納するTMP3レジスタの6レジスタを備えるDSPデバイスを用いる。なお、x座標レジスタ、y座標レジスタの初期値をそれぞれ0とし、メモリポインタレジスタの初期値を1次データ格納用メモリ14の先頭アドレスとする。
DSPデバイスにより構成される1次データ算出回路13は、まず、自身内部のx座標レジスタ、y座標レジスタ及びメモリポインタレジスタの各レジスタを初期化する(S31)。次に、1次データ算出回路13は、特徴点データ格納用メモリ12のメモリアドレス(オフセット値)00000H 〜00003Hに格納された32ビットの特徴点データを読み出し、TMP1レジスタのLSBから順次MSBまで格納していき(S32)、TMP1レジスタのLSBのビット値が0であるか1であるかを判断する(S33)。
ここで、TMP1レジスタのLSB(0ビット目)の格納データは、図3に示す特徴点データにおける相対座標値(X,Y)=(0,0)のデータに相当し、1ビット目には相対座標値(X,Y)=(1,0)のデータが可能され、2ビット目には相対座標値(X,Y)=(2,0)のデータが格納され、同様にして、31ビット目には相対座標値(X,Y)=(31,0)のデータが格納される。
1次データ算出回路13は、TMP1レジスタのLSBのビット値が1でないと判断した場合(S33:NO)、即ち相対座標値(X,Y)=(0,0)が特徴点でない場合、ステップS41の処理へ移行し、TMP1レジスタの格納データを1ビット右にシフトさせると共に(S41)、x座標レジスタの値を1だけインクリメントし(S42)、x座標レジスタが示す値が32の倍数であるか否かを判断する(S43)。
1次データ算出回路13は、x座標レジスタが示す値が32の倍数でないと判断した場合(S43:NO)、即ち、ステップS32で読み出してTMP1レジスタに格納した32ビットの特徴点データに対して0であるか1であるかの判断処理が完了していない場合、ステップS33に処理を戻し、ステップS41で右シフトさせたTMP1レジスタのLSBのビット値が0であるか1であるかを判断する(S33)。
一方、ステップS33でTMP1レジスタのLSBのビット値が1であると判断した場合(S33:YES)、1次データ算出回路13は、このときのx座標レジスタ及びy座標レジスタのそれぞれが示す値を用いて、以下の式4に基づいて、図7に示す乱数テーブルにおいて、x座標レジスタ及びy座標レジスタが示す相対座標に対応する乱数値が格納されているメモリアドレスを算出する(S34)。
乱数テーブルのメモリアドレス(オフセット値)
=(y座標レジスタ値÷64)×16+(x座標レジスタ値÷64)
=(y座標レジスタ値>>6)<<4+(x座標レジスタ値>>6) …(式4)
なお、「>>6」は右に6ビットシフト、「<<4」は左に4ビットシフトをそれぞれ示す。
このように、各特徴点に対応する乱数値を乱数テーブル格納用メモリ18から読み出すためにメモリアドレスを算出する演算処理は、2の倍数による乗算及び除算と加算とによって実行されるため、上記の式4に示すように各1個のシフト演算及び加算の2処理で完了する。従って、積和演算及びシフト演算を高速に行なうことが可能なDSPデバイスを用いることにより、高速な演算処理が可能となる。
次に、1次データ算出回路13は、算出したメモリアドレスを用いて、乱数テーブル格納用メモリ18にアクセスし、対応する乱数値RN を読み出してTMP2レジスタに格納する(S35)。1次データ算出回路13は、「x座標レジスタの値」×「TMP2レジスタの値」(xN×RN値)を実行し(S36)、得られた16ビットのxN×RN値をTMP3レジスタのLSB側の16ビットに格納する。
1次データ算出回路13は、「y座標レジスタの値」×「TMP2レジスタの値」(yN×RN値)を実行し(S37)、得られた16ビットのyN×RN値をTMP3レジスタのMSB側の16ビットに格納し、xN×RN値及びyN×RN値からなる32ビットのTMP3レジスタの値(1次データ)を、メモリポインタレジスタが示すメモリアドレスに基づいて1次データ格納用メモリ14に格納する(S38)。次に、1次データ算出回路13は、メモリポインタレジスタの値を1だけインクリメントし(S39)、インクリメントされたメモリポインタレジスタの値が所定値以上、本実施形態では、図11に示すように003BH 以上であるか否かを判断し(S40)、所定値以上であると判断した場合(S40:YES)、上述した1次データの算出処理を終了する。
1次データ算出回路13は、メモリポインタレジスタの値が所定値以上でないと判断した場合(S40:NO)、ステップS41及びS42の処理を繰り返し、ステップS32で読み出してTMP1レジスタに格納した32ビットの特徴点データに対して0であるか1であるかの判断処理を行なうと共に、各特徴点データが1であると判断した場合には1次データの算出処理を実行する。
ステップS43で、x座標レジスタが示す値が32の倍数であると判断した場合(S43:YES)、即ち、ステップS32でTMP1レジスタに格納した32ビットの特徴点データに対する上述した処理が完了したと判断した場合、1次データ算出回路13は、ステップS32で読み出した32ビットの特徴点データの次の32ビットの特徴点データを特徴点データ格納用メモリ12から読み出してTMP1レジスタに格納する(S44)。
また、1次データ算出回路13は、この時点でx座標レジスタの値が1024以上であるか否かを判断し(S45)、1024以上でないと判断した場合(S45:NO)、即ち、図3に示す特徴点データのうちのy方向の相対座標値が0の各特徴点データに対する処理が完了していない場合、ステップS44でTMP1レジスタに格納した32ビットの各特徴点データに対して、上述したステップS33〜S43の処理を実行する。1次データ算出回路13は、x座標レジスタの値が1024以上であると判断した場合(S45:YES)、即ち、図3に示す特徴点データのうちのy方向の相対座標値が0の各特徴点データに対する処理が完了した場合、x座標レジスタの値を0に初期化し(S46)、y座標レジスタの値を1だけインクリメントする(S47)。
また、1次データ算出回路13は、インクリメントされたy座標レジスタの値が1024以上であるか否かを判断し(S48)、1024以上でないと判断した場合(S48:NO)、即ち、図3に示す全ての特徴点データに対する処理が完了していない場合、全ての特徴点データに対して、上述したステップS33〜S43の処理を繰り返し、特徴点データ格納用メモリ12に格納してある全ての特徴点データに対して0であるか1であるかの判断処理を行なうと共に、各特徴点データが1であると判断した場合には1次データの算出処理を実行する。また、1次データ算出回路13は、y座標レジスタの値が1024以上であると判断した場合(S48:YES)、上述したような1次データの算出処理を終了する。
ここで、DSPデバイスは通常、乗算及びシフト演算を1[クロックサイクル]で行なうので、y座標レジスタの値×TMP2レジスタの値の演算結果であるyN×RN値を右シフト演算でTMP3レジスタに格納する処理を1[クロックサイクル]で行なうことができる。従って、xN×RN値及びyN×RN値の算出処理及びTMP3レジスタへの格納処理を約2[クロックサイクル]で行なうことができる。また、ステップS34の乱数テーブルにおけるメモリアドレスの算出処理を約3[クロックサイクル]で、ステップS35の乱数テーブルからの乱数値の読出処理を約4〜5[クロックサイクル]で、ステップS38のTMP3レジスタの値の1次データ格納用メモリ14への格納処理を約4〜5[クロックサイクル]でそれぞれ行なうことができる。従って、1つの特徴点に対する1次データの算出処理は15[クロックサイクル]程度で可能である。
また、ステップS39及びS40のメモリポインタレジスタの値のインクリメント処理及び判定処理は、多くとも10[クロックサイクル]程度で可能である。従って、仮に2ライン(2048[エリア])内に1個の割合で特徴点が存在するとし、15個の特徴点に上述した処理を行なうものとした場合、1個の特徴点に対する処理を(2048−1)×10+1×15=20485[クロックサイクル]で行なうことができ、15個の特徴点に対する処理は20485×15=307275[クロックサイクル]で行なうことができる。
一方、現在一般的に使用されている汎用タイプのDSPデバイスの標準的な動作周波数は数10MHz 〜100MHz であるため、仮に上述した処理を動作周波数100MHz 、即ち1.0×10-8sec/ クロックサイクルで実行すると、307275クロックサイクル×1.0×10-8sec/ クロックサイクル≒3.1msecとなり、非常に短時間で処理可能である。上述したように、1次データ算出回路13が実行する1次データの算出処理は、DSPデバイスが高速に処理できる積和演算及びシフト処理のみによって実行できるため、専用のハードウェアを別途に設ける必要がないので低コストに実現できる。
本発明に係る指紋認証装置の内部構成例を示すブロック図である。 指紋認証装置が行なう処理を説明するための説明図である。 特徴点の分布を模式的に示す拡大図である。 特徴点データの特徴点データ格納用メモリへの格納例を示す模式図である。 1次データ算出回路が算出した特徴点の相対座標値を示す模式図である。 特徴点の相対座標値の算出処理の説明図である。 乱数テーブルの構成例を示す模式図である。 乱数テーブルのICカード内のメモリへの格納例を示す模式図である。 1次データの算出処理を説明するための説明図である。 1次データの算出過程を示す模式図である。 1次データの1次データ格納用メモリへの格納例を示す模式図である。 ランレングス符号化テーブルの構成例を示す模式図である。 ランレングス符号化の処理過程を示す模式図である。 指紋認証装置による処理の手順を示すフローチャートである。 指紋認証装置による処理の手順を示すフローチャートである。 指紋認証装置による処理の手順を示すフローチャートである。 DSPデバイスによる1次データの算出処理の手順を示すフローチャートである。 DSPデバイスによる1次データの算出処理の手順を示すフローチャートである。
符号の説明
1 指紋認証装置(生体認証装置)
10 指紋読取部(生体読取手段)
11 特徴点抽出処理回路(抽出手段)
13 1次データ算出回路(算出手段)
17 乱数テーブル生成回路(乱数生成手段)
21 符号化回路(生成手段)
23 ICカードリーダ・ライタ(記憶処理手段、読出手段)
25 復号化回路(復号化手段)
26 照合回路(認証手段)

Claims (6)

  1. 生体情報を読み取る生体読取手段と、該生体読取手段が読み取った生体情報を予め設定された認証用情報に基づいて認証する認証手段とを備える生体認証装置において、
    前記生体読取手段が読み取った生体情報から認証に係る情報を算出する算出手段と、
    該算出手段が算出した認証に係る情報に基づいて認証用情報を生成する生成手段と、
    該生成手段が生成した認証用情報を外部記憶部に記憶させる処理を行なう記憶処理手段と、
    前記外部記憶部に記憶してある認証用情報を読み出す読出手段とを備え、
    前記認証手段は、前記読出手段が読み出した認証用情報に基づいて、前記生体読取手段が読み取った生体情報から前記算出手段が算出した認証に係る情報を認証するように構成してあることを特徴とする生体認証装置。
  2. 前記生体読取手段が読み取った生体情報に係る特徴情報を抽出する抽出手段と、
    乱数情報を生成する乱数生成手段と、
    該乱数生成手段が生成した乱数情報を記憶する乱数記憶手段とを備え、
    前記算出手段は、前記抽出手段が抽出した特徴情報及び前記乱数記憶手段に記憶してある乱数情報から乗算処理に基づいて認証に係る情報を算出するように構成してあることを特徴とする請求項1に記載の生体認証装置。
  3. 前記乱数記憶手段は、前記外部記憶部に含まれることを特徴とする請求項2に記載の生体認証装置。
  4. 前記生成手段は、前記算出手段が算出した認証に係る情報を符号化処理して認証用情報を生成する手段であり、
    前記読出手段が前記外部記憶部から読み出した認証用情報を復号化処理する復号化手段を備え、
    前記認証手段は、前記復号化手段が認証用情報を復号化処理した情報に基づいて、前記生体読取手段が読み取った生体情報から前記算出手段が算出した認証に係る情報を認証するように構成してあることを特徴とする請求項1乃至3のいずれかひとつに記載の生体認証装置。
  5. 前記生成手段が行なう符号化処理は、ランレングス符号化処理であることを特徴とする請求項4に記載の生体認証装置。
  6. 前記算出手段は、DSPデバイスにより構成されていることを特徴とする請求項1乃至5のいずれかひとつに記載の生体認証装置。
JP2004327069A 2004-11-10 2004-11-10 生体認証装置 Pending JP2006139424A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004327069A JP2006139424A (ja) 2004-11-10 2004-11-10 生体認証装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004327069A JP2006139424A (ja) 2004-11-10 2004-11-10 生体認証装置

Publications (1)

Publication Number Publication Date
JP2006139424A true JP2006139424A (ja) 2006-06-01

Family

ID=36620223

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004327069A Pending JP2006139424A (ja) 2004-11-10 2004-11-10 生体認証装置

Country Status (1)

Country Link
JP (1) JP2006139424A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007336538A (ja) * 2006-06-09 2007-12-27 Lg Innotek Co Ltd カメラモジュール及びこれを備える移動通信端末機
JP2008177654A (ja) * 2007-01-16 2008-07-31 Sony Corp データ処理装置、およびデータ処理方法、並びにコンピュータ・プログラム
JP2019075097A (ja) * 2017-09-14 2019-05-16 ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツングRobert Bosch Gmbh ドライバ支援システムの特徴に基づく周辺情報のデータ低減方法および装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007336538A (ja) * 2006-06-09 2007-12-27 Lg Innotek Co Ltd カメラモジュール及びこれを備える移動通信端末機
JP2008177654A (ja) * 2007-01-16 2008-07-31 Sony Corp データ処理装置、およびデータ処理方法、並びにコンピュータ・プログラム
JP2019075097A (ja) * 2017-09-14 2019-05-16 ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツングRobert Bosch Gmbh ドライバ支援システムの特徴に基づく周辺情報のデータ低減方法および装置

Similar Documents

Publication Publication Date Title
KR101463316B1 (ko) 시스템의 생체인식 보안을 향상시키는 방법, 시스템 및 머신 액세스가능 저장 매체를 포함하는 물품
Jansen Authenticating users on handheld devices
JP6444500B2 (ja) 可変キーパッドと生体認証を利用した本人認証方法及びシステム
KR100899199B1 (ko) 지문인식을 이용한 보안시스템 및 보안방법
EP3304395B1 (en) Encoding methods and systems
US20160140379A1 (en) Improvements in or relating to user authentication
US10063541B2 (en) User authentication method and electronic device performing user authentication
US20070177777A1 (en) Removable storage device and authentication method
JP5056113B2 (ja) 認証装置及びこれを備えた電子機器、認証方法、プログラム
CN108733998B (zh) 信息处理装置、信息处理***以及计算机可读取记录介质
JP6075084B2 (ja) 画像変換装置、画像変換方法、生体認証装置及び生体認証方法ならびに画像変換用コンピュータプログラム
JP2006139424A (ja) 生体認証装置
EP1421542B1 (en) Electronic writing device and method for generating an electronic signature
JP2008046677A (ja) 生体情報読取装置、生体情報読取方法および生体情報読取プログラム
JP2006331125A (ja) 認証装置及び認証システム
KR101516565B1 (ko) 온라인 상에서의 이미지를 이용한 인증방법 및 장치
US10599910B2 (en) Method and apparatus for fingerprint recognition
JP7016824B2 (ja) 認証システムおよび認証方法
JP5922071B2 (ja) システムのバイオメトリックセキュリティの向上
JPH03189756A (ja) コンピュータ装置の使用者確認装置
JP2006039951A (ja) 認証装置
JP2004295493A (ja) 認証装置およびその方法およびそのプログラム