JP5056981B2 - 指紋認証サーバ装置、指紋認証クライアント装置および指紋認証方法 - Google Patents

指紋認証サーバ装置、指紋認証クライアント装置および指紋認証方法 Download PDF

Info

Publication number
JP5056981B2
JP5056981B2 JP2011508143A JP2011508143A JP5056981B2 JP 5056981 B2 JP5056981 B2 JP 5056981B2 JP 2011508143 A JP2011508143 A JP 2011508143A JP 2011508143 A JP2011508143 A JP 2011508143A JP 5056981 B2 JP5056981 B2 JP 5056981B2
Authority
JP
Japan
Prior art keywords
user
fingerprint
fingerprint authentication
data
hash value
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.)
Active
Application number
JP2011508143A
Other languages
English (en)
Other versions
JPWO2010116506A1 (ja
Inventor
聡史 仙波
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2010116506A1 publication Critical patent/JPWO2010116506A1/ja
Application granted granted Critical
Publication of JP5056981B2 publication Critical patent/JP5056981B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/12Fingerprints or palmprints
    • G06V40/1365Matching; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2117User registration

Description

本発明は、生体情報のうち指紋により個人認証を行う技術に関する。
現在、コンピュータへのログイン等に指紋認証を用いるシステムが急激に増加している。これは、指紋センサの大幅なコストダウンと、コンピュータの処理能力の著しい向上が寄与している。
指紋認証を用いてコンピュータにログインする場合、そのシステム構成は大きく分けて2種類に分類される。1つは、スタンドアロン型で、もう一つはクライアントサーバ型である。
スタンドアロン型は、ログインしたいコンピュータが、指紋センサ、指紋認証プログラムおよび登録指紋データのすべてを具備する。ユーザがログインする場合、指紋センサから取り込まれた指紋画像は、そのコンピュータ内で処理されて照合指紋データとなり、指紋認証プログラムを用いて登録指紋データと比較される。そして、一致すると判定された場合にログインが行われる。
このスタンドアロン型は、構成が簡単で、主に個人使用のコンピュータや携帯電話等に用いられる。
クライアントサーバ型は、ログインを行いたいコンピュータ(以下、クライアントコンピュータと称す)と、認証を行う認証サーバの2つのコンピュータで構成される(例えば、特許文献1参照。)。クライアントコンピュータは、通常、指紋認証のための構成要素として、指紋センサと指紋認証プログラムの一部、指紋画像から照合指紋データを生成する指紋データ生成プログラムのみを有する。認証サーバは、指紋の一致・不一致を判定する指紋認証プログラムと、複数人のユーザデータ、すなわちユーザIDとそのユーザの登録指紋データを有する。
クライアントコンピュータにログインする場合は、指紋センサから指紋画像を取り込み、指紋データ生成プログラムを用いて照合指紋データを生成する。クライアントコンピュータは、ユーザIDと、そのユーザの照合指紋データを認証サーバに送る。認証サーバでは、受け取ったユーザIDから、対応する登録指紋データを検索・確保し、指紋認証プログラムを用いて照合指紋データと比較する。その結果をクライアントコンピュータに返し、クライアントコンピュータは、一致の結果を受け取った場合に、ログインを実行する。
このクライアントサーバ型は、主に企業が導入しているコンピュータや、指紋を用いた入退出システム等で用いられる。構成は複雑であるが、認証サーバにユーザデータ(ユーザID、登録指紋データ)を登録しておけば、どのクライアントコンピュータにもログインできるという利便性がある。また、退社した等の理由で、あるユーザのログインを停止したい場合は、認証サーバのユーザデータを消すだけでよいので、一括集中管理がしやすいという利点がある。企業においては、この集中管理機能は必須であり、企業において指紋認証が導入される場合、ほとんどがこの形態で導入される。
特開2000−276445号公報
上述したクライアントサーバ型は、導入された企業等の指紋認証を一手に引き受ける。一般的な企業では、始業時間、昼休み、終業時間が決められており、社員は始業時間に合わせて出社する。昨今、企業の仕事はコンピュータシステムに大きく依存しており、社内の通達も電子メール等を使うことが多い。そのため、出社した社員は、とりあえずクライアントコンピュータにログインし、電子メールを確認するという行動をとる。そのため、始業時間直後に、社員のほとんどがクライアントコンピュータへのログインを行うため、認証サーバに多大な負荷がかかる。この負荷の原因は、
(1)クライアントコンピュータと認証サーバの暗号通信回線の開設(クライアントサーバ型の指紋認証においては、クライアントコンピュータと認証サーバの間の通信を暗号化するのはほぼ必須)
(2)認証サーバでのデータベースを用いたユーザデータの検索・取得
(3)認証サーバでの指紋照合処理
である。
しかし、負荷がかかっても、社内の通達等はできるだけ早く社員に伝える必要がある。時間をずらしてログインしてくださいといった運用は不可であり、認証サーバは、この負荷に耐えられるだけの性能を持っていなくてはならない。朝のピークを過ぎると、認証要求はあまり来なくなり、認証サーバはほとんどアイドル状態になる。設備投資の観点からは非効率であるが、ピークに合わせて設備を増強せざるをえず、ハードウェアのコストが高くなる問題がある。
このように、従来のクライアントサーバ型による指紋認証では、認証サーバの応答性能について問題があった。
上記の従来の問題点に鑑み、クライアントサーバ型の指紋認証において、負荷をクライアントに分散し、ピーク時でもサーバに負荷がかからず高速な指紋認証を行うことができる指紋認証サーバ装置、指紋認証クライアント装置および指紋認証方法を提供することを目的とする。
一実施態様では、指紋認証サーバ装置にて対象となる複数のユーザのユーザIDおよび登録指紋データをデータベースで集中管理し、指紋認証クライアント装置に一部のユーザのユーザIDおよび登録指紋データを保持する形態のシステムに使用される前記指紋認証サーバ装置であって、前記データベースで集中管理する前記ユーザIDおよび前記登録指紋データのハッシュ値をメモリ上のハッシュ値テーブルで管理する手段と、前記指紋認証クライアント装置から認証対象のユーザのユーザIDと当該ユーザIDに対応する登録指紋データのそれぞれのハッシュ値を受け付け、前記ハッシュ値テーブルを検索することで一致・不一致を判定し、判定結果を前記指紋認証クライアント装置に返答し、ハッシュ値が一致したユーザの指紋認証を前記指紋認証クライアント装置に行わせる手段とを備える。
開示の指紋認証サーバ装置、指紋認証クライアント装置および指紋認証方法にあっては、クライアントサーバ型の指紋認証において、負荷をクライアントに分散し、ピーク時でもサーバに負荷がかからず高速な指紋認証を行うことができる。
第1の実施形態にかかるシステムの構成例を示す図である。 指紋認証サーバの構成例を示す図である。 ユーザデータデータベースのデータ構造例を示す図である。 ハッシュ値テーブルのデータ構造例を示す図である。 インデックステーブルのデータ構造例を示す図である。 クライアントコンピュータの構成例を示す図である。 ハッシュ値テーブルおよびインデックステーブルの作成の処理例を示すフローチャートである。 クライアントコンピュータの指紋認証時における処理例を示すフローチャート(その1)である。 クライアントコンピュータの指紋認証時における処理例を示すフローチャート(その2)である。 クライアントコンピュータの指紋認証時における処理例を示すフローチャート(その3)である。 クライアントコンピュータの指紋認証時における処理例を示すフローチャート(その4)である。 クライアントコンピュータの指紋認証時における処理例を示すフローチャート(その5)である。 クライアントコンピュータの指紋認証時における処理例を示すフローチャート(その6)である。 指紋認証サーバの指紋認証時における処理例を示すフローチャート(その1)である。 指紋認証サーバの指紋認証時における処理例を示すフローチャート(その2)である。 指紋認証サーバの指紋認証時における処理例を示すフローチャート(その3)である。 指紋認証サーバの指紋認証時における処理例を示すフローチャート(その4)である。 指紋認証サーバの指紋認証時における処理例を示すフローチャート(その5)である。 指紋認証サーバの指紋認証時における処理例を示すフローチャート(その6)である。 第2の実施形態におけるハッシュ値テーブルのデータ構造例を示す図である。 第2の実施形態におけるハッシュ値テーブルおよびインデックステーブルの作成の処理例を示すフローチャートである。 第2の実施形態におけるクライアントコンピュータの指紋認証時の処理例を示すフローチャートである。 第2の実施形態における指紋認証サーバの指紋認証時の処理例を示すフローチャートである。
以下、本発明の好適な実施形態につき説明する。
<第1の実施形態>
図1は第1の実施形態にかかるシステムの構成例を示す図である。
図1において、指紋認証サーバ1にはイーサネット(登録商標)等のネットワーク3を介して複数のクライアントコンピュータ2が接続されている。
図2は指紋認証サーバ1の構成例を示す図である。
図2において、指紋認証サーバ1は、CPU(Central Processing Unit)等の演算装置11と、メモリ等の主記憶装置12と、ハードディスク等の補助記憶装置13と、イーサネットアダプタ等の通信装置14とを有している。
演算装置11は、各種の演算やデータのコピー等の主たる処理を行う機能を有している。
主記憶装置12は、比較的小容量(例えば、1GB〜十数GB)であるが、演算装置11から高速にアクセス可能な記憶媒体である。主記憶装置12には、指紋認証サーバ1内で作成されるハッシュ値テーブル121とインデックステーブル122が格納される。これらのテーブルを設けるのは、クライアントコンピュータ2からユーザデータの同期確認のためにユーザIDと登録指紋データのそれぞれのハッシュ値を送信させ、データベースアクセスなしに、これらのテーブルで一致・不一致を高速に確認するためである。ハッシュ値テーブル121とインデックステーブル122の詳細については後述する。
補助記憶装置13は、大容量(例えば、数百GB〜数TB)ながら、アクセス速度の遅い記憶媒体である。補助記憶装置13には、データベースプログラム131と暗号通信プログラム132と指紋認証プログラム133とユーザデータデータベース134とが格納される。データベースプログラム131と暗号通信プログラム132と指紋認証プログラム133は、使用時に主記憶装置12にコピーされて実行される。
データベースプログラム131は、データベースを操作する機能を有している。暗号通信プログラム132は、他のコンピュータと通信回線を通じて暗号通信回線を構築する機能を有している。指紋認証プログラム133は、照合指紋データと登録指紋データを用いて、両者が同じ指から生成されたデータか否か判別する機能を有している。ユーザデータデータベース134は、認証の対象となるユーザのユーザIDとそのユーザの登録指紋データを対にしたユーザデータを複数人数分について記憶している。
通信装置14は、インターネット、イントラネット等に接続して通信を行う機能を有している。
図3はユーザデータデータベース134のデータ構造例を示す図であり、「ユーザID」と「登録指紋データ」の項目を有している。「ユーザID」は、ユーザを特定する識別子である。「登録指紋データ」は、予めユーザから採取した指紋画像の特徴を記したデータである。
図4はハッシュ値テーブル121のデータ構造例を示す図であり、「順番」と「ユーザIDハッシュ値」と「登録指紋データハッシュ値」の項目を有している。「順番」は、ハッシュ値テーブル121内のレコードの順番を示す値である。なお、ハッシュ値テーブル121の作成については後述するが、ハッシュ値テーブル121内のレコードはユーザIDハッシュ値によってソートされている。ソートを行うのは、ハッシュ値テーブル121を検索しやすいようにするためである。
「ユーザIDハッシュ値」は、ユーザデータデータベース134のユーザIDに対応するハッシュ値である。ハッシュ値とはデータに対して1方向(不可逆)的な処理を行った値であり、ハッシュ処理とはこの処理を行う行為である。不可逆的な一方向処理で、かつ、元のデータよりもデータ量が少ないという特性がある。このため、元のデータを類推しにくいという利点がある。ハッシュ値を生成するハッシュ法(ハッシュ関数)としては、MD5、SHA−1、SHA−2、SHA−224、SHA−256、SHA−384、SHA−512等が一般的に知られている。また、他に剰余系を用いた処理や一方向性の関数を用いてもよい。図示の例は、SHA−2を用いたものである。
「登録指紋データハッシュ値」は、ユーザデータデータベース134の登録指紋データから、同じくSHA−2等のハッシュ法により算出した値である。このユーザIDハッシュ値と登録指紋データハッシュ値の対を、ユーザデータハッシュ値対と称する。このユーザデータハッシュ値対の集まりがハッシュ値テーブル121である。
ハッシュ値の容量は、一般的なハッシュ法であるSHA−2を用いると、ユーザIDハッシュ値に32バイト、登録指紋データハッシュ値に32バイトの合計64バイトとなる。この小さな容量ならば、例え100万人が使用する超大規模認証サーバでも、64MBである。昨今、DRAMメモリが1GBあたり数千円で販売され、一般に販売されるサーバが数GBから十数GBのメモリを搭載していることを考慮すると、全てをメモリ上に格納するのに何ら問題ない。
図5はインデックステーブル122のデータ構造例を示す図であり、「先頭数値」と「ハッシュ値番号」の項目を有している。「先頭数値」は、ユーザIDハッシュ値の先頭の所定数のバイトにつき値を「0」から1ずつ増大させたものである。図示の例では、ユーザIDハッシュ値を32ビット(4バイト)として、先頭2バイトの値を「0000」から「0001」「0002」・・というように1ずつ増加させている。「ハッシュ値番号」は、先頭数値が一致するユーザIDハッシュ値のハッシュ値テーブル121上の先頭のレコードの順番の値である。このインデックステーブル122は、ハッシュ値番号を4バイトとすると、262KBとなり、全てをメモリ上に格納するのに何ら問題ない。
図6はクライアントコンピュータ2の構成例を示す図である。
図6において、クライアントコンピュータ2は、CPU等の演算装置21と、メモリ等の主記憶装置22と、ハードディスク等の補助記憶装置23と、イーサネットアダプタ等の通信装置24と、モニタ、キーボード等の入出力装置25と、指紋センサ26とを有している。
演算装置21は、各種の演算やデータのコピー等の主たる処理を行う機能を有している。
主記憶装置22は、比較的小容量(例えば、1GB〜数GB)であるが、演算装置21から高速にアクセス可能な記憶媒体である。
補助記憶装置23は、大容量(例えば、数十GB〜数百GB)ながら、アクセス速度の遅い記憶媒体である。補助記憶装置23には、暗号通信プログラム231と指紋データ生成プログラム232と指紋認証プログラム233とユーザデータ234とが格納される。暗号通信プログラム231と指紋データ生成プログラム232と指紋認証プログラム233は、使用時に主記憶装置22にコピーされて実行される。
暗号通信プログラム231は、他のコンピュータと通信回線を通じて暗号通信回線を構築する機能を有している。指紋データ生成プログラム232は、指紋画像から照合指紋データおよび登録指紋データを生成する機能を有している。指紋認証プログラム233は、照合指紋データと登録指紋データを用いて、両者が同じ指から生成されたデータか否か判別する機能を有している。
ユーザデータ234は、このクライアントコンピュータ2をよく使用するユーザのユーザIDと登録指紋データを対にしたユーザデータを記憶している。ユーザデータ234へのユーザデータの記録は、ユーザにクライアントコンピュータ2を配布する際などに行うのが望ましい。ユーザデータ234のデータ構造は、図3に示した指紋認証サーバ1のユーザデータデータベース134と同様である。
通信装置24は、インターネット、イントラネット等に接続して通信を行う機能を有している。
入出力装置25は、ユーザに対して画面表示を行うとともに、ユーザ操作により文字等の入力を行う機能を有している。
指紋センサ26は、ユーザの指から指紋を画像として取り込む機能を有している。
以下、上記の第1の実施形態についての動作を説明する。
図7は指紋認証サーバ1におけるハッシュ値テーブル121およびインデックステーブル122の作成の処理例を示すフローチャートである。なお、ハッシュ値テーブル121およびインデックステーブル122の作成は、ユーザデータデータベース134が作成された後に行う。そのため、ユーザデータデータベース134へのユーザデータの登録を完了し、運用を開始する直前に行う。また、ユーザデータを追加、削除する場合も、再作成する必要がある。よって、ユーザデータの登録・削除は、指紋認証サーバ1に負荷がかかってない、ピーク時間をずらして作成することが望ましい。
図7において、指紋認証サーバ1の演算装置11は、処理を開始すると(ステップS101)、データベースプログラム131を用いて、ユーザデータデータベース134から、ユーザIDと登録指紋データの対からなるユーザデータを1つ取り出す(ステップS102)。
次いで、演算装置11は、取り出したユーザIDと登録指紋データのハッシュ値を、SHA−2等のハッシュ法によりそれぞれ計算する(ステップS103)。
次いで、演算装置11は、計算したユーザIDのハッシュ値をユーザIDハッシュ値として、登録指紋データのハッシュ値を登録指紋データハッシュ値として、ハッシュ値テーブル121に格納する(ステップS104)。
次いで、演算装置11は、全てのユーザデータを処理したか否か判断し(ステップS105)、全てのユーザデータを処理していない場合(ステップS105のNo)はユーザデータの取り出し(ステップS102)に戻る。
全てのユーザデータを処理した場合(ステップS105のYes)、演算装置11は、ハッシュ値テーブル121を、ユーザIDハッシュ値の大きさで昇順にソートする(ステップS106)。
次いで、演算装置11は、ハッシュ値テーブル121のユーザIDハッシュ値の先頭の所定バイト(例えば、2バイト)に着目し、ハッシュ値テーブル121を先頭から検索して、その値(先頭数値)が1増えるごとに最初に見つかったレコードの順番を取得して記録する(ステップS107)。先頭の2バイトに着目した場合、先頭数値を「0000」から順に「FFFF」まで処理することになる。
次いで、演算装置11は、取得したレコードの順番の値を、先頭数値と対応付けてインデックステーブル122に格納し(ステップS108)、処理を終了する(ステップS109)。
なお、ハッシュ値テーブル121を昇順にソートし(ステップS106)、ユーザIDハッシュ値の先頭の所定バイトの値が1増える最初のレコードの順番を取得(ステップS107)したが、反対に、ハッシュ値テーブル121を降順にソートし、ユーザIDハッシュ値の先頭の所定バイトの値が最大値から1減る最初のレコードの順番を取得するようにしてもよい。これは、後の運用時にインデックステーブル122をユーザIDハッシュ値の小さい方から検索するか、大きい方から検索するかに対応する。
このようにして作成されたハッシュ値テーブル121とインデックステーブル122によって、例えば100万人の超大規模運用でも、最大で、初めに2バイトの比較を65536回、次に32バイトの比較を16回行うことによって、ユーザデータハッシュ値対を探し当てることができる。ハッシュ値テーブル121とインデックステーブル122は、ともにメモリに格納してあるため、上記の検索処理はデータベースを用いたユーザデータ検索と比較して、非常に高速に行うことができる。なお、運用が開始されて、ユーザの追加、削除、更新等が行われると、ハッシュ値テーブル121とインデックステーブル122を再構築しなくてはならないが、前述のとおり、指紋認証サーバ1は、ピーク時の短い時間を除けばほぼアイドル状態なので、その時に行えばよい。
次に、運用を開始した後のクライアントコンピュータ2と指紋認証サーバ1の間の指紋認証の処理について、図1、図2および図6等に基づいて説明する。なお、クライアントコンピュータ2と指紋認証サーバ1の個々の処理については後述することとし、先ず、両者の横断的な処理について説明する。また、クライアントコンピュータ2におけるログインに指紋認証を適用した場合を例として説明するが、指紋認証の結果を何に利用するかは問わない。例えば、クライアントコンピュータ2を施設の出入口等に設けたコンピュータとし、認証結果により入退出管理を行うようにすることができる。
先ず、ユーザがクライアントコンピュータ2に入出力装置25からユーザIDを入力し、指紋センサ26に指を置いて、指紋画像をクライアントコンピュータ2に入力する。クライアントコンピュータ2は、この入力されたユーザIDと、補助記憶装置23に記憶されているユーザデータ234のユーザIDとを比較する。通常は、これは一致する。たまに、クライアントコンピュータ2のメンテナンス等により別のユーザがログインしようとした場合に一致しないことになるが、その場合については、後述する。先ずは、一致した場合について述べる。
ユーザIDが一致したら、補助記憶装置23のユーザデータ234のユーザIDハッシュ値と登録指紋データハッシュ値を計算する。昨今のクライアントコンピュータ2は、一般的なサーバに匹敵するほどの処理能力を持っているのが普通なので、この処理は瞬時に完了する。ハッシュ値の計算を終えたら、指紋認証サーバ1に向けて、暗号通信回線を開設する。そして、ユーザIDハッシュ値と、登録指紋データハッシュ値を通信装置24により送信する。
指紋認証サーバ1では、送られて来たユーザIDハッシュ値を用いて、インデックステーブル122とハッシュ値テーブル121に対して検索を行う。検索を終えたら、登録指紋データハッシュ値の比較を行う。この処理の結果は、以下の3つになる。
(1)一致するユーザIDハッシュ値が見つかり、登録指紋データハッシュ値が一致する(通常)。
(2)一致するユーザIDハッシュ値が見つかったが、登録指紋データハッシュ値は一致しない。
(3)一致するユーザIDハッシュ値が見つからない。
指紋認証サーバ1は、処理結果をクライアントコンピュータ2に送信する。
クライアントコンピュータ2は、処理結果に従って、処理を分岐する。以下には、処理結果(1)の処理を記述し、残りは後述する。
通常は処理結果(1)となる。この場合、クライアントコンピュータ2は、指紋画像から照合指紋データを生成し、この照合指紋データと補助記憶装置23のユーザデータ234の登録指紋データを用いて、指紋の照合を行う。照合結果が一致なら、暗号通信回線を閉じ、ログイン処理を開始する。一致しないのならば、ユーザIDと指紋画像の取得処理に戻る。
次に、入力されたユーザIDと、補助記憶装置23のユーザデータ234のユーザIDが一致しなかった場合を説明する。この場合は、初めに、入力された指紋画像から照合指紋データを生成する。次に、指紋認証サーバ1との間に暗号通信回線を開設し、ユーザIDと照合指紋データを送る。
指紋認証サーバ1では、送られてきたユーザIDと照合指紋データを元に、ユーザデータデータベース134を検索し、照合処理を行う。一致した場合は、一致したという結果とともに、登録指紋データをクライアントコンピュータ2に送り返す。不一致ならば、不一致という結果のみを送り返す。
処理結果を受けたクライアントコンピュータ2は、一致ならば、ユーザIDと送られてきた登録指紋データを補助記憶装置23のユーザデータ234に書き加える。これで、次回から、このユーザもクライアントコンピュータ2で照合処理ができるようになる。そして、暗号通信回線を閉じ、ログイン動作に入る。不一致ならば、ユーザIDと指紋画像の取得処理に戻る。
次に、クライアントコンピュータ2が指紋認証サーバ1にハッシュ値を送った際、処理結果(2)が帰ってきた場合の処理を述べる。この処理結果を受けたクライアントコンピュータ2は、先ず、入力された指紋画像から照合指紋データを生成する。次に、ユーザIDと照合指紋データを指紋認証サーバ1に送る。
指紋認証サーバ1では、送られてきたユーザIDと照合指紋データを元に、ユーザデータデータベース134を検索し、照合処理を行う。一致した場合は、一致したという結果とともに、登録指紋データをクライアントコンピュータ2に送り返す。不一致ならば、不一致という結果のみを送り返す。
処理結果を受けたクライアントコンピュータ2は、一致ならば、送られてきた登録指紋データを、ユーザデータ234における現在の登録指紋データに上書きする。これで、次回からは、このユーザも、いつもどおりクライアントコンピュータ2で照合処理ができるようになる。そして、暗号通信回線を閉じ、ログイン動作に入る。不一致ならば、ユーザIDと指紋画像の取得処理に戻る。
最後に、クライアントコンピュータ2が指紋認証サーバ1にハッシュ値を送った際、処理結果(3)が帰ってきた場合の処理を述べる。この場合、ログインする資格がないので、照合失敗とみなし、ユーザIDと指紋画像の取得処理に戻る。
以下、クライアントコンピュータ2と指紋認証サーバ1の個々の処理についてフローチャートに基づいて説明する。
図8A〜図8Fはクライアントコンピュータ2の指紋認証時における処理例を示すフローチャートである。
図8Aにおいて、クライアントコンピュータ2の演算装置21は、処理を開始すると(ステップS201)、入出力装置25のモニタ画面に表示されるログインダイアログのユーザID欄にユーザIDが入力されたら、そのユーザIDを取得する(ステップS202)。
次いで、演算装置21は、指紋センサ26を監視し、ユーザの指が置かれたと感知したら、その時の指の指紋の状態を画像として取り込む(ステップS203)。
次いで、演算装置21は、ログインダイアログのユーザID欄から取り込んだユーザIDと、補助記憶装置23に格納されているユーザデータ234のユーザIDとを比較する(ステップS204)。ユーザデータ234に複数のユーザデータが記憶されている場合は、全てのユーザデータと比較する。
ユーザデータ234のユーザIDに一致するものがある場合(ステップS204のYes)、演算装置21は、そのユーザIDのハッシュ値(ユーザIDハッシュ値)と、そのユーザIDと対となっている登録指紋データのハッシュ値(登録指紋データハッシュ値)を計算する(ステップS205)。
次いで、演算装置21は、暗号通信プログラム231を用いて、指紋認証サーバ1との暗号通信回線を開設する(ステップS206)。
次いで、演算装置21は、計算した2つのハッシュ値を通信装置14により指紋認証サーバ1に送信し、その処理結果が返ってくるまで待ち状態に入る(ステップS207)。
指紋認証サーバ1の処理は後述するため、以下、処理結果が帰ってきた所からの説明を行う。
演算装置21は、指紋認証サーバ1からの処理結果について判断し(ステップS208)、一致するユーザIDハッシュ値が見つからないという内容でなかった場合(ステップS208のNo、P1)、図8Bの処理に移行する。
図8Bにおいて、演算装置21は、更に指紋認証サーバ1からの処理結果について判断する(ステップS209)。
そして、一致するユーザIDハッシュ値は見つかったが、登録指紋データハッシュ値は一致しなかったという内容でなかった場合(ステップS209のNo)、演算装置21は、既にユーザから取得してある指紋画像から、指紋データ生成プログラム232を用いて、照合指紋データを生成する(ステップS210)。
次いで、演算装置21は、既に確保した登録指紋データと生成した照合指紋データを用いて、指紋認証プログラム233により、2つのデータが同じ指から生成されたか否か比較・判定を行う(ステップS211、S212)。
比較・判定の結果、同じ指と判断された場合(ステップS212のYes)、演算装置21は、暗号通信プログラム231により指紋認証サーバ1との暗号通信回線を閉じる(ステップS213)。そして、一致したユーザのログイン処理を開始し(ステップS214)、処理を完了する(ステップS215)。
一方、ユーザデータ234のユーザIDに一致するものがなかった場合(図8AのステップS204のNo、P2)、すなわち、クライアントコンピュータ2のユーザデータ234に該当するユーザデータが保持されていなかった場合は、図8Cの処理に移行する。
図8Cにおいて、演算装置21は、暗号通信プログラム231を用いて、指紋認証サーバ1との暗号通信回線を開設する(ステップS216)。
次いで、演算装置21は、既にユーザから取得してある指紋画像から、指紋データ生成プログラム232を用いて、照合指紋データを生成する(ステップS217)。
次いで、演算装置21は、既に取得したユーザIDと生成した照合指紋データを、通信装置14により指紋認証サーバ1に送信し、その処理結果が返ってくるまで待ち状態に入る(ステップS218)。
指紋認証サーバ1の処理は後述するため、以下、処理結果が帰ってきた所からの説明を行う。
演算装置21は、指紋認証サーバ1からの処理結果について判断し(ステップS219)、認証失敗という内容でなかった場合(ステップS219のNo)、指紋認証サーバ1から認証成功とともに送られてきた登録指紋データを、今回認証が成功したユーザIDと対にしてユーザデータ234に追加する(ステップS220)。
そして、演算装置21は、暗号通信プログラム231により指紋認証サーバ1との暗号通信回線を閉じ(ステップS221)、一致したユーザのログイン処理を開始し(ステップS222)、処理を完了する(ステップS223)。
一方、指紋認証サーバ1からの処理結果が、一致するユーザIDハッシュ値が見つからないという内容であった場合(図8AのステップS208のYes、P3)、図8Dの処理に移行する。
図8Dにおいて、演算装置21は、今回使用したユーザIDと、これと対となる登録指紋データを、ユーザデータ234より削除する(ステップS224)。指紋認証サーバ1に存在しないということは、そのユーザが指紋認証サーバ1から削除されたことを意味するからである。
そして、図8Fの処理に移行し、「指紋が一致しませんでした」等の表示を所定時間(例えば1〜2秒)表示し(ステップS232)、ユーザIDの取得(図8AのステップS02、P6)に戻る。
一方、指紋認証サーバ1からの処理結果が、一致するユーザIDハッシュ値は見つかったが、登録指紋データハッシュ値は一致しなかったという内容であった場合(図8BのステップS209のYes、P4)(この場合、指紋認証サーバ1の登録指紋データが更新されていると判断できる。)、図8Eの処理に移行する。
図8Eにおいて、演算装置21は、既にユーザから取得してある指紋画像から、指紋データ生成プログラム232を用いて、照合指紋データを生成する(ステップS225)。
次いで、演算装置21は、既に開設されている暗号通信回線により、指紋認証サーバ1にユーザIDと照合指紋データを送信し、その処理結果が返ってくるまで待ち状態に入る(ステップS226)。
指紋認証サーバ1の処理は後述するため、以下、処理結果が帰ってきた所からの説明を行う。
演算装置21は、指紋認証サーバ1からの処理結果について判断し(ステップS227)、認証失敗という内容でなかった場合(ステップS227のNo)、指紋認証サーバ1から認証成功とともに送られてきた登録指紋データを、今回認証が成功したユーザIDの対のデータとしてユーザデータ234の今ある古い登録指紋データに上書きする(ステップS228)。
そして、演算装置21は、暗号通信プログラム231により指紋認証サーバ1との暗号通信回線を閉じ(ステップS229)、一致したユーザのログイン処理を開始し(ステップS230)、処理を完了する(ステップS231)。
一方、指紋認証サーバ1からの処理結果が、認証失敗という内容であった場合(図8CのステップS219のYes、P5)(図8EのステップS227のYes、P5)は、前述したのと同様に、図8Fの処理に移行する。そして、「指紋が一致しませんでした」等の表示を所定時間(例えば1〜2秒)表示し(ステップS232)、ユーザIDの取得(図8AのステップS02、P6)に戻る。
図9A〜図9Fは指紋認証サーバ1の指紋認証時における処理例を示すフローチャートである。
図9Aにおいて、指紋認証サーバ1の演算装置11は、処理を開始すると(ステップS111)、所定のポートにて、クライアントコンピュータ2からの接続処理を待つ(ステップS112、S113)。
そして、クライアントコンピュータ2からの接続要求が来た場合(ステップS113のYes)、演算装置11は、クライアントコンピュータ2からのデータがユーザIDハッシュ値と登録指紋データハッシュ値であるか判断する(ステップS114)。クライアントコンピュータ2からのデータは、ユーザIDハッシュ値と登録指紋データハッシュ値の対か、ユーザIDと照合指紋データの対のいずれかである。
クライアントコンピュータ2からのデータがユーザIDハッシュ値と登録指紋データハッシュ値である場合(ステップS114のYes)、演算装置11は、ユーザIDハッシュ値によりインデックステーブル122とハッシュ値テーブル121を検索する(ステップS115)。
次いで、演算装置11は、ハッシュ値テーブル121に一致する値があったか判断し(ステップS116)、一致する値があった場合(ステップS116のYes)、一致したユーザIDハッシュ値と対になっている登録指紋データハッシュ値と、送られてきた登録指紋データハッシュ値とを比較する(ステップS117、S118)。
次いで、両ハッシュ値が一致した場合(ステップS118のYes、P12)、図9Bの処理に移行する。
図9Bにおいて、演算装置11は、クライアントコンピュータ2に、ユーザIDハッシュ値と登録指紋データハッシュ値の両方が一致したと返答し(ステップS119)、クライアントコンピュータ2からの接続の待機(図9AのステップS112、P11)に戻る。
一方、ハッシュ値テーブル121から取得した登録指紋データハッシュ値と送られてきた登録指紋データハッシュ値とが一致しなかった場合(図9AのステップS118のNo、P13)、図9Cの処理に移行する。
図9Cにおいて、演算装置11は、クライアントコンピュータ2に、ユーザIDハッシュ値は一致したが、登録指紋データハッシュ値は一致しなかったと返答し(ステップS120)、クライアントコンピュータ2からの接続の待機(図9AのステップS112、P11)に戻る。
一方、ハッシュ値テーブル121に一致する値がなかった場合(図9AのステップS116のNo、P14)、図9Dの処理に移行する。
図9Dにおいて、演算装置11は、クライアントコンピュータ2に、ユーザIDハッシュ値に一致するものが無かったと返答し(ステップS121)、クライアントコンピュータ2からの接続の待機(図9AのステップS112、P11)に戻る。
一方、クライアントコンピュータ2からのデータがユーザIDハッシュ値と登録指紋データハッシュ値でなかった場合(図9AのステップS114のNo、P15)、すなわちデータがユーザIDと照合指紋データであった場合、図9Eの処理に移行する。
図9Eにおいて、演算装置11は、送られてきたユーザIDに基づき、データベースプログラム131を用いて、ユーザデータデータベース134を検索し(ステップS122、S123)、ユーザデータデータベース134に一致するユーザIDがあった場合(ステップS123のYes)、演算装置11は、検索したユーザIDと対になっている登録指紋データを取得する(ステップS124)。
次いで、演算装置11は、既に取得した登録指紋データと、クライアントコンピュータ2から送られてきた照合指紋データに基づき、指紋認証プログラム133を用いて、両データが同じ指から生成されたものか判定する(ステップS125、S126)。
照合の結果、同じ指から生成されたものだと判定した場合(ステップS126のYes)、クライアントコンピュータ2に、照合成功の結果と、既に取得した登録指紋データを送信する(ステップS127)。その後、クライアントコンピュータ2からの接続の待機(図9AのステップS112、P11)に戻る。
一方、ユーザデータデータベース134に一致するユーザIDがなかった場合(図9EのステップS123のNo、P16)、もしくは、照合の結果、同じ指から生成されたものだと判定されなかった場合(図9EのステップS126のNo、P16)、図9Fの処理に移行する。
図9Fにおいて、演算装置11は、クライアントコンピュータ2に、照合失敗の結果を送信し(ステップS128)、クライアントコンピュータ2からの接続の待機(図9AのステップS112、P11)に戻る。
<第2の実施形態>
上述した第1の実施形態では、指紋認証サーバ1のユーザデータデータベース134やクライアントコンピュータ2のユーザデータ234に格納される登録指紋データの形式については問わなかった。従って、原理的には、マニューシャ方式により作成された登録指紋データやパターン方式により作成された登録指紋データを使用することができる。両方式を複合することも可能である。
マニューシャ方式とは、指紋画像の特徴点(分岐点、端点、三角州等)の位置と隆線の方向を指紋の特徴として利用する方式である。パターン方式とは、指紋画像に表れる図形的なパターンを指紋の特徴として利用する方式である。従って、マニューシャ方式では、高速に照合処理が行え、登録指紋データから元の指紋画像に戻すことはほとんど不可能なためプライバシー保護の観点から有利である反面、指を選び(特徴のない指紋の照合が困難)、指の荒れに弱いという難点がある。また、パターン方式では、照合処理の演算負荷が重く、登録指紋データから元の指紋画像に近いものが戻せるためにプライバシー保護の観点から不利である反面、指を選ばず、指の荒れにも強いという利点がある。
上述した第1の実施形態では、クライアントコンピュータ2の補助記憶装置23にユーザデータ234として登録指紋データを保持するものであるため、プライバシー保護を強く意識する場合には、マニューシャ方式を採用するしか選択の余地がない。クライアントコンピュータ2は、指紋認証サーバ1のような厳格な管理下にはないため、盗難等により悪意のある者の手に渡る可能性が高いからである。ただし、マニューシャ方式の登録指紋データしか使用できない場合は、前述したように、指を選び、指の荒れに弱いという難点から、照合精度が低下するという不都合がある。
そこで、この第2の実施形態では、登録指紋データにマニューシャ方式と他のパターン方式等を複合したものとするとともに、クライアントコンピュータ2からの情報流出の問題が起こらないようにしている。
以下の説明では、マニューシャ方式とパターン方式を複合した場合について説明する。
システムの全体的な構成は図1に示した第1の実施形態と同様になる。
指紋認証サーバ1の構成も図2に示した第1の実施形態と同様になるが、補助記憶装置13に格納されるユーザデータデータベース134(図3)の登録指紋データはマニューシャ方式による部分(登録マニューシャデータ)とパターン方式による部分(登録パターンデータ)を含むことになる。
また、主記憶装置12上に作成されるハッシュ値テーブル121は、図10に示すように、「順番」と「ユーザIDハッシュ値」と「登録マニューシャデータハッシュ値」の項目を有している。「順番」と「ユーザIDハッシュ値」は図4に示した第1の実施形態と同様である。「登録マニューシャデータハッシュ値」は、ユーザデータデータベース134の登録指紋データの登録マニューシャデータから、SHA−2等のハッシュ法により算出した値である。
また、指紋認証プログラム133は、照合指紋データのマニューシャ方式による部分(照合マニューシャデータ)と登録マニューシャデータだけの照合と、照合指紋データのパターン方式による部分(照合パターンデータ)と登録パターンデータだけの照合とを行なえるようになっている。
クライアントコンピュータ2の構成も図6に示した第1の実施形態と同様になるが、補助記憶装置23に格納されるユーザデータ234の登録指紋データは登録マニューシャデータのみとなる。従って、クライアントコンピュータ2のユーザデータ234として格納される個々のユーザデータは、ユーザIDと登録マニューシャデータの対となる。
また、指紋データ生成プログラム232は、取得した指紋画像から照合マニューシャデータと照合パターンデータを生成するようになっている。
また、指紋認証プログラム233は、照合マニューシャデータと登録マニューシャデータだけの照合を行なえればよい。
以下、上記の第2の実施形態についての動作を説明する。
図11は第2の実施形態におけるハッシュ値テーブル121およびインデックステーブル122の作成の処理例を示すフローチャートである。なお、ハッシュ値テーブル121およびインデックステーブル122の作成は、ユーザデータデータベース134が作成された後に行う。そのため、ユーザデータデータベース134へのユーザデータの登録を完了し、運用を開始する直前に行う。また、ユーザデータを追加、削除する場合も、再作成する必要がある。その場合は、指紋認証サーバ1に負荷がかかってない、ピーク時間をずらして作成することが望ましい。
図11において、指紋認証サーバ1の演算装置11は、処理を開始すると(ステップS131)、データベースプログラム131を用いて、ユーザデータデータベース134から、ユーザIDと登録マニューシャデータの対からなるユーザデータを1つ取り出す(ステップS132)。
次いで、演算装置11は、取り出したユーザIDと登録マニューシャデータのハッシュ値を、SHA−2等のハッシュ法によりそれぞれ計算する(ステップS133)。
次いで、演算装置11は、計算したユーザIDのハッシュ値をユーザIDハッシュ値として、登録マニューシャデータのハッシュ値を登録マニューシャデータハッシュ値として、ハッシュ値テーブル121に格納する(ステップS134)。
次いで、演算装置11は、全てのユーザデータを処理したか否か判断し(ステップS135)、全てのユーザデータを処理していない場合(ステップS135のNo)はユーザデータの取り出し(ステップS132)に戻る。
全てのユーザデータを処理した場合(ステップS135のYes)、演算装置11は、ハッシュ値テーブル121を、ユーザIDハッシュ値の大きさで昇順にソートする(ステップS136)。
次いで、演算装置11は、ハッシュ値テーブル121のユーザIDハッシュ値の先頭の所定バイト(例えば、2バイト)に着目し、ハッシュ値テーブル121を先頭から検索して、その値(先頭数値)が1増えるごとに最初に見つかったレコードの順番を取得して記録する(ステップS137)。先頭の2バイトに着目した場合、先頭数値を「0000」から順に「FFFF」まで処理することになる。
次いで、演算装置11は、取得したレコードの順番の値を、先頭数値と対応付けてインデックステーブル122に格納し(ステップS138)、処理を終了する(ステップS139)。
なお、ハッシュ値テーブル121を昇順にソートし(ステップS136)、ユーザIDハッシュ値の先頭の所定バイトの値が1増える最初のレコードの順番を取得(ステップS137)したが、反対に、ハッシュ値テーブル121を降順にソートし、ユーザIDハッシュ値の先頭の所定バイトの値が最大値から1減る最初のレコードの順番を取得するようにしてもよい。これは、後の運用時にインデックステーブル122をユーザIDハッシュ値の小さい方から検索するか、大きい方から検索するかに対応する。
次に、運用を開始した後のクライアントコンピュータ2と指紋認証サーバ1の間の指紋認証の処理について説明する。なお、クライアントコンピュータ2と指紋認証サーバ1の個々の処理については後述することとし、先ず、両者の横断的な処理について説明する。また、クライアントコンピュータ2におけるログインに指紋認証を適用した場合を例として説明するが、指紋認証の結果を何に利用するかは問わない。例えば、クライアントコンピュータ2を施設の出入口等に設けたコンピュータとし、認証結果により入退出管理を行うようにすることができる。
先ず、ユーザがクライアントコンピュータ2に入出力装置25からユーザIDを入力し、指紋センサ26に指を置いて、指紋画像をクライアントコンピュータ2に入力する。クライアントコンピュータ2は、この入力されたユーザIDと、補助記憶装置23に記憶されているユーザデータ234のユーザIDとを比較する。通常は、これは一致する。たまに、クライアントコンピュータ2のメンテナンス等により別のユーザがログインしようとした場合に一致しないことになるが、その場合については、後述する。先ずは、一致した場合について述べる。
ユーザIDが一致したら、補助記憶装置23のユーザデータ234のユーザIDハッシュ値と登録マニューシャデータハッシュ値を計算する。昨今のクライアントコンピュータ2は、一般的なサーバに匹敵するほどの処理能力を持っているのが普通なので、この処理は瞬時に完了する。ハッシュ値の計算を終えたら、指紋認証サーバ1に向けて、暗号通信回線を開設する。そして、ユーザIDハッシュ値と、登録マニューシャデータハッシュ値を通信装置24により送信する。
指紋認証サーバ1では、送られて来たユーザIDハッシュ値を用いて、インデックステーブル122とハッシュ値テーブル121に対して検索を行う。検索を終えたら、登録マニューシャデータハッシュ値の比較を行う。この処理の結果は、以下の3つになる。
(1)一致するユーザIDハッシュ値が見つかり、登録マニューシャデータハッシュ値が一致する(通常)。
(2)一致するユーザIDハッシュ値が見つかったが、登録マニューシャデータハッシュ値は一致しない。
(3)一致するユーザIDハッシュ値が見つからない。
指紋認証サーバ1は、処理結果をクライアントコンピュータ2に送信する。
クライアントコンピュータ2は、処理結果に従って、処理を分岐する。以下には、処理結果(1)の処理を記述し、残りは後述する。
通常は処理結果(1)となる。この場合、クライアントコンピュータ2は、指紋画像から照合指紋データ(照合マニューシャデータ、照合パターンデータ)を生成し、この照合指紋データのうちの照合マニューシャデータと補助記憶装置23のユーザデータ234の登録マニューシャデータを用いて、1段目の指紋の照合を行う。この照合結果は、以下の3つになる。
(1−1)1段目の照合だけで、照合マニューシャデータと登録マニューシャデータが一致すると判定
(1−2)1段目の照合の結果、一致・不一致は決められず、パターン方式での1段目の照合が必要と判定
(1−3)1段目の照合だけで、照合マニューシャデータと登録マニューシャデータが不一致であると判定
照合結果(1−1)なら、暗号通信回線を閉じ、ログイン処理を開始する。照合結果(1−3)ならば、ユーザIDと指紋画像の取得処理に戻る。
照合結果(1−2)ならば、クライアントコンピュータ2は、ユーザIDと照合パターンデータを指紋認証サーバ1に送信する。
ユーザIDと照合パターンデータを受け取った指紋認証サーバ1は、ユーザIDに基づいてユーザデータデータベース134を検索し、そのユーザの登録指紋データを取得する。そして、照合パターンデータと、取得した登録指紋データの登録パターンデータを用いて、パターン方式で再度照合を行う。そして、一致・不一致の結果をクライアントコンピュータ2に返す。
クライアントコンピュータ2では、受け取った結果に応じ、一致ならば、暗号通信回線を閉じ、ログイン処理を開始する。不一致ならば、ユーザIDと指紋画像の取得処理に戻る。
次に、入力されたユーザIDと、補助記憶装置23のユーザデータ234のユーザIDが一致しなかった場合を説明する。この場合は、初めに、入力された指紋画像から照合指紋データ(照合マニューシャデータ、照合パターンデータ)を生成する。次に、指紋認証サーバ1との間に暗号通信回線を開設し、ユーザIDと照合指紋データを送る。
指紋認証サーバ1では、送られてきたユーザIDと照合指紋データを元に、ユーザデータデータベース134を検索し、マニューシャ方式とパターン方式の両方の照合処理を行う。一致した場合は、一致したという結果とともに、登録マニューシャデータをクライアントコンピュータ2に送り返す。不一致ならば、不一致という結果のみを送り返す。
処理結果を受けたクライアントコンピュータ2は、一致ならば、ユーザIDと送られてきた登録マニューシャデータを補助記憶装置23のユーザデータ234に書き加える。これで、次回から、このユーザもクライアントコンピュータ2で照合処理ができるようになる。そして、暗号通信回線を閉じ、ログイン動作に入る。不一致ならば、ユーザIDと指紋画像の取得処理に戻る。
次に、クライアントコンピュータ2が指紋認証サーバ1にハッシュ値を送った際、処理結果(2)が帰ってきた場合の処理を述べる。この処理結果を受けたクライアントコンピュータ2は、先ず、入力された指紋画像から照合指紋データ(照合マニューシャデータ、照合パターンデータ)を生成する。次に、ユーザIDと照合指紋データを指紋認証サーバ1に送る。
指紋認証サーバ1では、送られてきたユーザIDと照合指紋データを元に、ユーザデータデータベース134を検索し、マニューシャ方式とパターン方式の両方の照合処理を行う。一致した場合は、一致したという結果とともに、登録マニューシャデータをクライアントコンピュータ2に送り返す。不一致ならば、不一致という結果のみを送り返す。
処理結果を受けたクライアントコンピュータ2は、一致ならば、送られてきた登録マニューシャデータを、ユーザデータ234における現在の登録指紋データに上書きする。これで、次回からは、このユーザも、いつもどおりクライアントコンピュータ2で照合処理ができるようになる。そして、暗号通信回線を閉じ、ログイン動作に入る。不一致ならば、ユーザIDと指紋画像の取得処理に戻る。
最後に、クライアントコンピュータ2が指紋認証サーバ1にハッシュ値を送った際、処理結果(3)が帰ってきた場合の処理を述べる。この場合、ログインする資格がないので、照合失敗とみなし、ユーザIDと指紋画像の取得処理に戻る。
以下、クライアントコンピュータ2と指紋認証サーバ1の個々の処理についてフローチャートに基づいて説明する。
クライアントコンピュータ2の指紋認証時の処理は図8A〜図8Fに示した第1の実施形態とほぼ同様であるが、若干の違いがある。
先ず、図8AのステップS205では、演算装置21は、そのユーザIDのハッシュ値(ユーザIDハッシュ値)と、そのユーザIDと対となっている登録マニューシャデータのハッシュ値(登録マニューシャデータハッシュ値)を計算することになる。
また、図8CのステップS220では、演算装置21は、指紋認証サーバ1から認証成功とともに送られてきた登録マニューシャデータを、今回認証が成功したユーザIDと対にしてユーザデータ234に追加することになる。
また、図8BのステップS210とステップS213の間のステップS211、S212は、図12に示すものとなる。
図12において、ステップS210の後、クライアントコンピュータ2の演算装置21は、生成した照合指紋データの照合マニューシャデータと、既に取得した登録マニューシャデータが同じ指から生成したものか、指紋認証プログラム233で判定を行う(ステップS241、S242)。
判定の結果、同じ指と判断された場合(ステップS242のYes)、ステップS213に移行する。
判定の結果、同じ指と判断されなかった場合(ステップS242のNo)、両マニューシャデータが確実に異なる指から生成されたか判断し(ステップS243)、確実に異なる指から生成されたと判断した場合(ステップS243のYes、P5)、図8Fの処理に移行する。
確実に異なる指から生成されたと判断できなかった場合(ステップS243のNo)、すなわち、あいまいな状態であれば、指紋認証サーバ1に、ユーザIDと照合パターンデータを送信し、結果を待つ(ステップS244、S245)。
指紋認証サーバ1からの返答結果が認証失敗である場合(ステップS245のYes、P5)、図8Fの処理に移行する。
指紋認証サーバ1からの返答結果が認証失敗でない場合(ステップS245のNo)、指紋認証サーバ1との暗号通信回線を閉じ(ステップS246)、ユーザのログインを開始し(ステップS247)、処理を完了する(ステップS248)。
マニューシャデータだけでは、指紋画像のとり方によっては同じ指でも違う指と判定してしまう可能性がある。そのため、上記のルーチンでは、照合が成功しても、登録マニューシャデータの置き換えは行わない。
指紋認証サーバ1の指紋認証時の処理は図9A〜図9Fに示した第1の実施形態とほぼ同様であるが、若干の違いがある。
図9AのステップS113とステップS115の間のステップS114は、図13に示すものとなる。
図13において、ステップS113の後、指紋認証サーバ1の演算装置11は、クライアントコンピュータ2からのデータがユーザIDと照合指紋データ(照合マニューシャデータと照合パターンデータの両方)であるか判断する(ステップS141)。ユーザIDと照合指紋データであった場合(ステップS141のYes、P15)、図9Eの処理に移行する。
ユーザIDと照合指紋データでなかった場合(ステップS141のNo)、演算装置11は、続いて、クライアントコンピュータ2からのデータがユーザIDと照合パターンデータであるか判断する(ステップS142)。ユーザIDと照合パターンデータでない場合(ステップS142のNo)、ステップS115に移行する。
ユーザIDと照合パターンデータであった場合(ステップS142のYes)、演算装置11は、ユーザIDに基づき、データベースプログラム131により、ユーザデータデータベース134を検索する(ステップS143、S144)。
検索により一致するユーザIDが見つからなかった場合(ステップS144のNo、P16)、図9Fの処理に移行する。
検索により一致するユーザIDが見つかった場合(ステップS144のYes)、演算装置11は、発見したユーザIDと対になっている登録指紋データを取得する(ステップS145)。
次いで、演算装置11は、登録指紋データから登録パターンデータを抽出する(ステップS146)。
次いで、演算装置11は、指紋認証プログラム133を用いて、抽出した登録パターンデータと、送信されてきた照合パターンデータが同じ指から生成されたものか判定する(ステップS147、S148)。
判定の結果、一致しなかった場合(ステップS148のNo、P16)、図9Fの処理に移行する。
判定の結果、一致した場合(ステップS148のYes)、照合成功の結果のみをクライアントコンピュータ2へ送信し(ステップS149)、図9AのステップS112(P11)に移行する。
<総括>
以上説明したように、本実施形態によれば次のような利点がある。
先ず、本実施形態では、予め、登録されているユーザIDと登録指紋データにつきハッシュ値テーブルとインデックステーブルを作成し、それをメモリに格納している。更に、クライアントコンピュータ2には、よくそのコンピュータを利用するユーザのユーザIDと登録指紋データを記憶している。
そして、認証を行うに際しては、入力されたユーザIDと、初めにクライアントコンピュータ2内のユーザIDを比較し、一致した場合は、そのユーザデータのハッシュ値を指紋認証サーバ1に送る。指紋認証サーバ1では、メモリ上のハッシュ値テーブルを用いて、クライアントコンピュータ2と指紋認証サーバ1のユーザデータが一致するか確認している。確認の結果、クライアントコンピュータ2にあるユーザデータが指紋認証サーバ1にあるユーザデータと一致すると確認できた場合、照合処理をクライアントコンピュータ2で行っている。
その結果、一般的な指紋認証サーバで、負荷の原因となっている、
(1)クライアントとサーバ間の暗号通信回線の開設
(2)ユーザデータのデータベースによる検索
(3)指紋照合の実施
のうち、(2)と(3)を基本的に削除できる。よって、指紋認証サーバ1にかかる負荷を大幅に削減し、その結果、ハードウェアコストを削減することができる。
また、その際に、クライアントコンピュータ2にユーザデータを登録していないユーザは、指紋認証サーバ1で認証を行う。そのため、ユーザデータが登録されていないクライアントコンピュータ2でも、指紋認証サーバ1に登録してあれば、ログインすることができる。その結果、指紋認証サーバ1は、クライアントサーバ型の特徴である、集中管理の利点を維持することができる。更には、認証が成功した場合、ユーザデータをクライアントコンピュータ2に追加し、次回からは、新しいユーザも、クライアントコンピュータ2上で認証できるようになる。よって、新しいユーザは、つねに限られた人数に抑えられ、指紋認証サーバ1が、負荷で応答できなくなるといったことは無い。
また、指紋認証サーバ1でユーザの登録指紋データを更新した場合も、指紋認証サーバ1で認証を行うことができる。更には、認証が成功した際には、クライアントコンピュータ2の登録指紋データを更新する。登録されている指紋データを更新する作業は、運用上あまり多くなく、この更新したユーザを指紋認証サーバ1上で照合しても、全体の負荷に与える影響はほとんど無い。その結果、指紋認証サーバ1は、クライアントサーバ型の特徴である、集中管理の利点を維持することができる。更には、認証が成功した場合、登録指紋データを更新し、次回からは、クライアントコンピュータ2上で認証できるようにしている。よって、クライアントコンピュータ2と指紋認証サーバ1で、ユーザデータの同期が取れていないユーザは、つねに限られた人数に抑えられ、指紋認証サーバ1が、負荷で応答できなくなるといったことは無い。
さらに、指紋認証サーバ1の第2の実施形態では、クライアントコンピュータ2には登録指紋データのマニューシャ方式部分しか保存しないようにしている。マニューシャ方式部分は、元の指紋画像に戻すことは不可能である。そのため、プライバシーを最上級に重視する意図に沿うことができる。
そして、ログインしようとしているユーザの登録指紋データのマニューシャ方式部分がクライアントコンピュータ2にある場合、クライアントコンピュータ2で一段目の照合を行う。マニューシャ方式とパターン方式の複合方式では、マニューシャ方式の照合により、90%以上のユーザに対して一致・不一致の判定を下せる。そのため、指紋認証サーバ1では、指紋認証処理をあまり行うことなく、一致・不一致の結果を得ることができる。その結果、第1の実施形態よりは指紋認証サーバ1の負荷はかかるが、従来の指紋認証サーバよりもかなり高速で、かつプライバシーを守りやすい指紋認証を実施することができる。
以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更を加えることができることは明らかである。すなわち、具体例の詳細および添付の図面により本発明が限定されるものと解釈してはならない。
1 指紋認証サーバ
11 演算装置
12 主記憶装置
121 ハッシュ値テーブル
122 インデックステーブル
13 補助記憶装置
131 データベースプログラム
132 暗号通信プログラム
133 指紋認証プログラム
134 ユーザデータデータベース
14 通信装置
2 クライアントコンピュータ
21 演算装置
22 主記憶装置
23 補助記憶装置
231 暗号通信プログラム
232 指紋データ生成プログラム
233 指紋認証プログラム
234 ユーザデータ
24 通信装置
25 入出力装置
26 指紋センサ
3 ネットワーク

Claims (10)

  1. 指紋認証サーバ装置にて対象となる複数のユーザのユーザIDおよび登録指紋データをデータベースで集中管理し、指紋認証クライアント装置に一部のユーザのユーザIDおよび登録指紋データを保持する形態のシステムに使用される前記指紋認証サーバ装置であって、
    前記データベースで集中管理する前記ユーザIDおよび前記登録指紋データのハッシュ値をメモリ上のハッシュ値テーブルで管理する手段と、
    前記指紋認証クライアント装置から認証対象のユーザのユーザIDと当該ユーザIDに対応する登録指紋データのそれぞれのハッシュ値を受け付け、前記ハッシュ値テーブルを検索することで一致・不一致を判定し、判定結果を前記指紋認証クライアント装置に返答し、ハッシュ値が一致したユーザの指紋認証を前記指紋認証クライアント装置に行わせる手段と
    を備えたことを特徴とする指紋認証サーバ装置。
  2. 請求項1に記載の指紋認証サーバ装置において、
    前記ハッシュ値テーブルの検索を高速に行うためのインデックステーブル
    を備えたことを特徴とする指紋認証サーバ装置。
  3. 請求項1または2のいずれか一項に記載の指紋認証サーバ装置において、
    前記指紋認証クライアント装置から、認証対象のユーザのユーザIDと、認証対象のユーザから取得した指紋画像に基づいて生成した照合指紋データとを受け付け、前記データベースを検索して照合を行い、照合結果を前記指紋認証クライアント装置に返答する手段
    を備えたことを特徴とする指紋認証サーバ装置。
  4. 請求項3に記載の指紋認証サーバ装置において、
    照合結果が一致であった場合に、一致すると照合された登録指紋データを前記照合結果とともに前記指紋認証クライアント装置に返答し、前記指紋認証クライアント装置にユーザIDと対応付けて登録させる手段
    を備えたことを特徴とする指紋認証サーバ装置。
  5. 指紋認証サーバ装置にて対象となる複数のユーザのユーザIDおよび登録指紋データをデータベースで集中管理し、指紋認証クライアント装置に一部のユーザのユーザIDおよび登録指紋データを保持する形態のシステムに使用される前記指紋認証クライアント装置であって、
    認証対象のユーザからユーザIDを入力する手段と、
    認証対象のユーザから指紋画像を取得する手段と、
    ユーザから入力されたユーザIDおよび当該ユーザIDに対応する内部管理の登録指紋データのそれぞれのハッシュ値を計算し、前記指紋認証サーバ装置に集中管理するユーザIDおよび登録指紋データとの一致確認の問い合わせを行う手段と、
    問い合わせの結果が一致であった場合に、内部管理する登録指紋データに基づいて指紋認証を行う手段と
    を備えたことを特徴とする指紋認証クライアント装置。
  6. 請求項に記載の指紋認証クライアント装置において、
    ユーザから入力されたユーザIDが内部管理するデータに存在しない場合、認証対象のユーザのユーザIDと、認証対象のユーザから取得した指紋画像に基づいて生成した照合指紋データとを前記指紋認証サーバ装置に送信して指紋認証の要求を行う手段
    を備えたことを特徴とする指紋認証クライアント装置。
  7. 請求項に記載の指紋認証クライアント装置において、
    前記指紋認証サーバ装置から指紋認証の結果とともに送られた登録指紋データを、要求にかかるユーザIDと対応付けて内部管理するデータに追加登録する手段
    を備えたことを特徴とする指紋認証クライアント装置。
  8. 請求項乃至のいずれか一項に記載の指紋認証クライアント装置において、
    前記指紋認証サーバ装置からの一致確認の問い合わせの結果が、ユーザIDのハッシュ値は一致するものの登録指紋データのハッシュ値が不一致である場合、認証対象のユーザのユーザIDと、認証対象のユーザから取得した指紋画像に基づいて生成した照合指紋データとを前記指紋認証サーバ装置に送信して指紋認証の要求を行う手段
    を備えたことを特徴とする指紋認証クライアント装置。
  9. 請求項に記載の指紋認証クライアント装置において、
    前記指紋認証サーバ装置から指紋認証の結果とともに送られた登録指紋データを、要求にかかるユーザIDと対応付けて内部管理するデータに上書き登録する手段
    を備えたことを特徴とする指紋認証クライアント装置。
  10. 指紋認証サーバ装置にて対象となる複数のユーザのユーザIDおよび登録指紋データをデータベースで集中管理し、指紋認証クライアント装置に一部のユーザのユーザIDおよび登録指紋データを保持する形態のシステムの制御方法であって、
    前記データベースで集中管理する前記ユーザIDおよび前記登録指紋データのハッシュ値をメモリ上のハッシュ値テーブルで管理する工程と、
    前記指紋認証クライアント装置から認証対象のユーザのユーザIDと当該ユーザIDに対応する登録指紋データのそれぞれのハッシュ値を受け付け、前記ハッシュ値テーブルを検索することで一致・不一致を判定し、判定結果を前記指紋認証クライアント装置に返答し、ハッシュ値が一致したユーザの指紋認証を前記指紋認証クライアント装置に行わせる工程と
    を備えたことを特徴とする指紋認証方法。
JP2011508143A 2009-04-09 2009-04-09 指紋認証サーバ装置、指紋認証クライアント装置および指紋認証方法 Active JP5056981B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/057267 WO2010116506A1 (ja) 2009-04-09 2009-04-09 指紋認証サーバ装置、指紋認証クライアント装置および指紋認証方法

Publications (2)

Publication Number Publication Date
JPWO2010116506A1 JPWO2010116506A1 (ja) 2012-10-18
JP5056981B2 true JP5056981B2 (ja) 2012-10-24

Family

ID=42935814

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011508143A Active JP5056981B2 (ja) 2009-04-09 2009-04-09 指紋認証サーバ装置、指紋認証クライアント装置および指紋認証方法

Country Status (4)

Country Link
US (1) US8549599B2 (ja)
EP (1) EP2418603B1 (ja)
JP (1) JP5056981B2 (ja)
WO (1) WO2010116506A1 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2748801B1 (en) 2011-08-26 2020-04-29 Life Technologies Corporation Systems and methods for identifying an individual
CN103975333B (zh) * 2011-12-01 2016-10-12 国际商业机器公司 跨系统安全登录
US9285981B1 (en) 2012-07-16 2016-03-15 Wickr Inc. Discouraging screen capture
EP2875467A1 (en) * 2012-07-20 2015-05-27 Life Technologies Corporation Systems and methods for identifying an individual
US9449167B2 (en) * 2012-09-12 2016-09-20 Infosys Limited Method and system for securely accessing different services based on single sign on
JP5962482B2 (ja) * 2012-12-13 2016-08-03 富士通株式会社 生体認証システム、生体認証方法、及び生体認証プログラム
US10567349B2 (en) 2013-06-25 2020-02-18 Wickr Inc. Secure time-to-live
US10129260B1 (en) 2013-06-25 2018-11-13 Wickr Inc. Mutual privacy management
US9866591B1 (en) 2013-06-25 2018-01-09 Wickr Inc. Enterprise messaging platform
US9830089B1 (en) 2013-06-25 2017-11-28 Wickr Inc. Digital data sanitization
JP6150129B2 (ja) * 2013-11-14 2017-06-21 ソニー株式会社 薬歴管理装置および方法、情報処理装置および方法、並びにプログラム
US10944713B1 (en) 2018-05-24 2021-03-09 Wickr Inc. Secure directory services
US9698976B1 (en) 2014-02-24 2017-07-04 Wickr Inc. Key management and dynamic perfect forward secrecy
US9563760B2 (en) 2014-03-24 2017-02-07 Google Technology Holdings LLC Biometric authentication for regulating access to content sources via a client device
US9584530B1 (en) 2014-06-27 2017-02-28 Wickr Inc. In-band identity verification and man-in-the-middle defense
DE102014010546A1 (de) * 2014-07-18 2016-01-21 PointMagic GmbH Identifikationsverfahren - FingerIdent
US9654288B1 (en) 2014-12-11 2017-05-16 Wickr Inc. Securing group communications
JP2016194755A (ja) 2015-03-31 2016-11-17 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
JP2017062598A (ja) 2015-09-24 2017-03-30 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
US9590956B1 (en) 2015-12-18 2017-03-07 Wickr Inc. Decentralized authoritative messaging
US10291607B1 (en) 2016-02-02 2019-05-14 Wickr Inc. Providing real-time events to applications
US9596079B1 (en) 2016-04-14 2017-03-14 Wickr Inc. Secure telecommunications
US9590958B1 (en) 2016-04-14 2017-03-07 Wickr Inc. Secure file transfer
KR102320024B1 (ko) * 2017-04-24 2021-11-01 삼성전자 주식회사 생체 인증 정보에 기반한 인증 방법 및 장치
CN110717170B (zh) * 2019-10-09 2023-08-11 江苏重华数字科技有限公司 一种bim系统指纹登陆系统、方法及其装置
US11086947B1 (en) * 2019-10-11 2021-08-10 Tubular Labs, Inc. Efficient uniques querying
KR102648908B1 (ko) * 2023-06-27 2024-03-19 농협은행(주) 사용자 인증 시스템 및 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11353281A (ja) * 1998-06-10 1999-12-24 Nec Corp データ転送システム及びデータ転送方法並びにそのデータ転送端末
JP2001256191A (ja) * 2000-03-09 2001-09-21 Mitsubishi Electric Corp ネットワーク指紋認証システム
JP2003132023A (ja) * 2001-10-24 2003-05-09 Toshiba Corp 個人認証方法、個人認証装置および個人認証システム
JP2006195640A (ja) * 2005-01-12 2006-07-27 Gunma Univ 個人認証装置及び個人認証方法
JP2008010016A (ja) * 2007-09-10 2008-01-17 Fujitsu Fsas Inc データ認証装置
JP2009026235A (ja) * 2007-07-23 2009-02-05 Univ Of Tsukuba 生体情報の登録方法及び生体認証方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000276445A (ja) 1999-03-23 2000-10-06 Nec Corp バイオメトリクス識別を用いた認証方法、装置、認証実行機、認証プログラムを記録した記録媒体
US7260724B1 (en) * 1999-09-20 2007-08-21 Security First Corporation Context sensitive dynamic authentication in a cryptographic system
US20030037004A1 (en) * 2001-08-14 2003-02-20 Chuck Buffum Dialog-based voiceprint security for business transactions
US8745409B2 (en) * 2002-12-18 2014-06-03 Sandisk Il Ltd. System and method for securing portable data
WO2005001748A2 (en) * 2003-06-23 2005-01-06 Guri Walia Methods and system for improved searching of biometric data
JP4952125B2 (ja) * 2006-08-04 2012-06-13 富士通株式会社 負荷分散装置
US20080209227A1 (en) * 2007-02-28 2008-08-28 Microsoft Corporation User Authentication Via Biometric Hashing

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11353281A (ja) * 1998-06-10 1999-12-24 Nec Corp データ転送システム及びデータ転送方法並びにそのデータ転送端末
JP2001256191A (ja) * 2000-03-09 2001-09-21 Mitsubishi Electric Corp ネットワーク指紋認証システム
JP2003132023A (ja) * 2001-10-24 2003-05-09 Toshiba Corp 個人認証方法、個人認証装置および個人認証システム
JP2006195640A (ja) * 2005-01-12 2006-07-27 Gunma Univ 個人認証装置及び個人認証方法
JP2009026235A (ja) * 2007-07-23 2009-02-05 Univ Of Tsukuba 生体情報の登録方法及び生体認証方法
JP2008010016A (ja) * 2007-09-10 2008-01-17 Fujitsu Fsas Inc データ認証装置

Also Published As

Publication number Publication date
EP2418603B1 (en) 2018-10-17
US8549599B2 (en) 2013-10-01
EP2418603A1 (en) 2012-02-15
EP2418603A4 (en) 2013-01-23
WO2010116506A1 (ja) 2010-10-14
US20120030743A1 (en) 2012-02-02
JPWO2010116506A1 (ja) 2012-10-18

Similar Documents

Publication Publication Date Title
JP5056981B2 (ja) 指紋認証サーバ装置、指紋認証クライアント装置および指紋認証方法
US11182366B2 (en) Comparing data stores using hash sums on disparate parallel systems
US7490116B2 (en) Identifying history of modification within large collections of unstructured data
US10171239B2 (en) Single use recovery key
CN106878264B (zh) 一种数据管理方法及服务器
US8959586B2 (en) Enterprise biometric authentication system
US8438174B2 (en) Automated forensic document signatures
US8150813B2 (en) Using relationships in candidate discovery
US7941386B2 (en) Forensic systems and methods using search packs that can be edited for enterprise-wide data identification, data sharing, and management
US20100005073A1 (en) Methods for Searching Forensic Data
US7305557B2 (en) Management and recovery of data object annotations using digital fingerprinting
US20030177124A1 (en) System for searching secure servers
CA2553654C (en) Identifying similarities and history of modification within large collections of unstructured data
US20230161904A1 (en) System and Method for Serving Subject Access Requests
US20090205051A1 (en) Systems and methods for securing data in electronic communications
JP4386459B1 (ja) ファイル格納システム、サーバ装置及びプログラム
US20130145174A1 (en) Infrastructure independent recovery key release
WO2007068279A1 (en) Method and computer system for updating a database from a server to at least one client
WO2007075813A2 (en) Enterprise-wide data identification, sharing and management, and searching forensic data
KR100567813B1 (ko) 텐덤 시스템의 트랜잭션 분석 시스템
Srinivasan et al. Data property analyzer for information storage in cloud
CN109491800B (zh) 一种基于产品结构的档案推送系统及档案推送方法
Gao et al. Similarity-based Secure Deduplication for IIoT Cloud Management System
Gayathri et al. Capability of Multi Keyword investigation in Cloud Computing
CN116595272A (zh) 一种基于模块的权限控制方法及装置

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120703

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120716

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150810

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5056981

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150