以下、本発明の実施形態を図面に基づいて詳細に説明する。本実施形態において、同一の構成には原則として同一の符号を付け、繰り返しの説明は省略する。なお、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。
実施例1では、生体認証システムについて説明する。図1は、生体認証システムの構成例を示すブロック図である。生体認証システムは、例えば、互いにネットワーク401で接続された、登録端末100、認証端末200、及びサーバ300を含む。
登録端末100は、ユーザの登録用生体情報に基づきテンプレートを生成する計算機である。認証端末200は、ユーザの認証用特徴量に基づき認証処理を行う計算機である。サーバ300は、登録時にテンプレートを保存し、認証時にテンプレート検索処理を行う計算機である。
登録端末100は、例えば、ユーザの自宅等に設置されたPC(Personal Computer)等の計算機であってもよいし、オフィスや大学等に設置された複数又は不特定多数のユーザによって使用されるPC等の計算機であってもよい。また、登録端末100と認証端末200は、一体化されていてもよい、即ち一つの端末として構成されていてもよい。
登録端末100は、例えば、第1生体情報取得部101、第2生体情報取得部102、第1特徴抽出部103、第2特徴抽出部104、第1テンプレート生成部105、第2テンプレート生成部106、及び通信部107を含む。第1生体情報取得部101は、第1登録用生体情報を取得する。第2生体情報取得部102は、第2登録用生体情報を取得する。
第1特徴抽出部103は、第1生体情報取得部101が取得した第1登録用生体情報から第1登録用特徴量を抽出する。第2特徴抽出部104は、第2生体情報取得部102が取得した第2登録用生体情報から第2登録用特徴量を抽出する。第1テンプレート生成部105は、第1特徴抽出部103が抽出した第1登録用特徴量から第1テンプレートを生成する。第2テンプレート生成部106は、第2特徴抽出部104が抽出した第2登録用特徴量から第2テンプレートを生成する。通信部107は、他の装置との通信を行う。
認証端末200は、例えば、第1生体情報取得部201、第2生体情報取得部202、第1特徴抽出部203、第2特徴抽出部204、検索用データ生成部205、認証トークン生成部207、及び通信部208を含む。第1生体情報取得部201は、第1認証用生体情報を取得する。第2生体情報取得部202は、第2認証用生体情報を取得する。
第1特徴抽出部203は、第1生体情報取得部201が取得した第1認証用生体情報から第1認証用特徴量を抽出する。第2特徴抽出部204は、第2生体情報取得部202が取得した第2認証用生体情報から第2認証用特徴量を抽出する。なお、第1登録用特徴量と第1認証用特徴量を総称して単に第1特徴量とも呼び、第2登録用特徴量と第2認証用特徴量を総称して単に第2特徴量とも呼ぶ。
検索用データ生成部205は、第1特徴抽出部203が抽出した第1認証用特徴量から検索用データを生成する。認証トークン生成部207は、第2特徴抽出部204が抽出した第2特徴量、並びにサーバ300から受信した第2テンプレート及びメッセージに基づき認証トークンを生成する。通信部208は、他の装置との通信を行う。
サーバ300は、格納部301、テンプレートDB(Database)302、テンプレート検索部303、メッセージ生成部304、検証部305、及び通信部306を含む。格納部301は、登録端末100から送信された第1テンプレートと第2テンプレートを対応付けてテンプレートDB302に格納する処理を行う。テンプレートDB302は、第1テンプレート及び第2テンプレートを保持する。
テンプレート検索部303は、認証端末200から受信した検索用データをキーとしてテンプレートDB302から、第1テンプレートを検索し、第1テンプレートに対応する第2テンプレートを特定する。メッセージ生成部304は、メッセージを生成する。検証部305は、メッセージと、第2テンプレートと、認証端末200から送信される認証トークンと、に基づき検証を行う。通信部306は、他の装置との通信を行う。
図2は、本実施例における登録端末100、認証端末200、及びサーバ300それぞれを構成する計算機のハードウェア構成例を示すブロック図である。計算機は、例えば、CPU1001、メモリ1002、補助記憶装置1003、入力装置1004、出力装置1005、及び通信装置1006を含む。
なお、登録端末100及び認証端末200は、第1生体情報及び第2生体情報を取得するためのセンサ(例えば、指紋センサ、静脈センサ、カメラ、及びマイクロフォン等)、又はセンサを含む装置に接続されていてもよいし、センサを含んでもよい。
CPU1001は、プロセッサを含み、メモリ1002に格納されたプログラムを実行する。メモリ1002は、不揮発性の記憶素子であるROM及び揮発性の記憶素子であるRAMを含む。ROMは、不変のプログラム(例えば、BIOS)などを格納する。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、CPU1001が実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。
補助記憶装置1003は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)等の大容量かつ不揮発性の記憶装置であり、プロセッサが実行するプログラム及びプログラムの実行時に使用されるデータを格納する。すなわち、プログラムは、補助記憶装置1003から読み出されて、メモリ1002にロードされて、プロセッサによって実行される。
計算機は、入力インターフェース及び出力インターフェースを有する。入力インターフェースは、キーボード、マウス、カメラ、及びスキャナなどの入力装置1004が接続され、オペレータからの入力を受け付けるインターフェースである。出力インターフェースは、ディスプレイ装置やプリンタなどの出力装置1005が接続され、プログラムの実行結果をオペレータが視認可能な形式で出力するインターフェースである。
通信装置1006は、所定のプロトコルに従って、他の装置との通信を制御するネットワークインターフェース装置であり、通信部による通信に用いられる。また、通信装置1006は、例えば、USB等のシリアルインターフェースを含む。
CPU1001が実行するプログラムは、リムーバブルメディア(CD-ROM、フラッシュメモリなど)又はネットワークを介して計算機に提供され、非一時的記憶媒体である不揮発性の補助記憶装置1003に格納される。このため、計算機は、リムーバブルメディアからデータを読み込むインターフェースを有するとよい。
登録端末100、認証端末200、及びサーバ300は、それぞれ、物理的に一つの計算機上で、又は、論理的又は物理的に構成された複数の計算機上で構成される計算機システムであり、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。
登録端末100のCPU1001は、例えば、第1生体情報取得部101、第2生体情報取得部102、第1特徴抽出部103、第2特徴抽出部104、第1テンプレート生成部105、第2テンプレート生成部106、第2テンプレート生成部106、及び通信部107を含む。認証端末200のCPU1001は、第1生体情報取得部201、第2生体情報取得部202、第1特徴抽出部203、第2特徴抽出部204、検索用データ生成部205、認証トークン生成部207、及び通信部208を含む。サーバ300のCPU1001は、格納部301、テンプレート検索部303、メッセージ生成部304、検証部305、及び通信部306を含む。サーバ300の補助記憶装置1003は、テンプレートDB302を保持する。
例えば、登録端末100のCPU1001は、登録端末100のメモリ1002にロードされた第1生体情報取得プログラムに従って動作することで、第1生体情報取得部101として機能し、登録端末100のメモリ1002にロードされた第2生体情報取得プログラムに従って動作することで、第2生体情報取得部102として機能する。登録端末100のCPU1001に含まれる他の部、生体認証システムに含まれる他の計算機のCPU1001に含まれる各部についても同様である。
なお、本実施形態において、生体認証システムが使用する情報は、データ構造に依存せずどのようなデータ構造で表現されていてもよい。例えば、テーブル、リスト、データベース又はキューから適切に選択したデータ構造体が、情報を格納することができる。
図3は、登録処理及び認証処理の一例を示すシーケンス図である。まず、認証システムによる処理の概略を説明する。生体認証システムによる処理は、登録処理(S1000)と認証処理(S2000)とを含む。
登録処理において、登録端末100は利用者の生体情報を取得し、取得した生体情報からテンプレートを生成する。サーバ300はテンプレートをテンプレートDB302に保存する。認証処理において、認証端末200は認証を試みる者(認証者とも呼ぶ)の生体情報を取得し、サーバ300は、登録された利用者から認証者を特定する。
まず、ステップS1000の登録処理に含まれる処理について説明する。ステップS1101では、第1生体情報取得部101が、第1登録用生体情報を取得する。第1登録用生体情報は、例えば、指紋、指静脈、虹彩、顔、又は声紋などの、個人を特定可能な任意の生体情報を含む。
ステップS1102では、第1特徴抽出部103が、第1登録用生体情報から第1登録用特徴量を抽出する。例えば、第1登録用生体情報が指紋である場合、第1登録用特徴量は指紋の周波数情報、又は特徴点の位置などである。
ステップS1103では、第1テンプレート生成部105が、第1登録用特徴量から、第1テンプレートを生成する。具体的には、例えば、第1テンプレート生成部105は、相関不変ランダムフィルタリングなどの任意のキャンセラブルバイオメトリクスにおいて、乱数(キャンセラブルパラメータ)を生成し、生成した乱数を用いて生体情報を秘匿するために行う変換(登録用キャンセラブル変換)を、第1登録用特徴量に施して第1テンプレートを生成する。第1テンプレート生成部105が行う変換の例、及び変換による効果の詳細については後述する。
ステップS1104では、第2生体情報取得部102が、第2登録用生体情報を取得する。第1登録用生体情報と第2登録用生体情報の組として、例えば、(顔、指紋)、(虹彩、指静脈)などの異なる種類の生体情報の組を選ぶことができる。また、例えば、右手人差し指の指静脈が第1登録用生体情報であり、右手中指の指静脈を第2登録用生体情報である場合のように、同じ種類の異なる部位の生体情報が用いられてもよい。
また、第1登録用生体情報と第2登録用生体情報は1つの装置から取得可能な生体情報であってもよい。具体的には、例えば、指紋と指静脈は1つの装置によって同時に取得可能な生体情報である。また、第1登録用生体情報と第2登録用生体情報として同じ生体情報を用いてもよい。
ステップS1105では、第2特徴抽出部104が、第2登録用生体情報から第2登録用特徴量を抽出する。後述するように、第2登録用特徴量は、第1登録用特徴量との相関が低いことが望ましい。これにより、なりすましに対する安全性を高めるという効果がある。また、第2登録用特徴量は、第1テンプレートと少なくとも異なる必要があり、特に相関が十分低いことが望ましい。これにより、仮に第1テンプレートが漏洩した場合であっても、第1テンプレートから第2登録用特徴量を推測することが困難となるからである。
ステップS1106では、第2テンプレート生成部106が、第2登録用特徴量から第2テンプレートを生成する。ステップS1106において、第2テンプレート生成部106は、例えば、fuzzy extractorやfuzzy commitmentなどの任意のバイオメトリック暗号方式におけるテンプレート生成処理を行う。
当該テンプレート生成処理において、第2テンプレート生成部106は、まず第2登録用特徴量と秘密鍵に基づく秘匿化処理を行い、補助情報(auxiliary data)を生成する。さらに、第2テンプレート生成部106は、秘密鍵や署名を検証するための擬識別子(pseudonymous identifier)と呼ばれるデータを生成する。例えば、秘密鍵に対応する公開鍵、及び秘密鍵のハッシュ値は、擬識別子の一例である。この場合、第2テンプレート生成部106は、例えば、補助情報と擬識別子との組を第2テンプレートに決定する。
またステップS1106の処理の別例として、第2テンプレート生成部106は、第2登録用特徴量に対して何らかの不可逆変換を施すことにより第2テンプレートを生成してもよい。不可逆変換の例として、ハッシュ関数を用いることや、情報の一部を欠落させることで不可逆性を実現すること、などがある。続いて、ステップS1107では、通信部107が、第1テンプレート及び第2テンプレートをサーバ300に送信する。
ステップS1301では、格納部301が、第1テンプレートと第2テンプレートを対応付けてテンプレートDB302に保存する。格納部301は、例えば、登録する利用者を一意的に識別するIDを発行し、当該IDを用いて第1テンプレートと第2テンプレートを対応付けてもよい。なお、複数のテンプレートDB302が存在してもよい。この場合、1つのサーバ300が複数のテンプレートDB302を保持してもよいし、生体認証システムに含まれる複数のサーバ300によって、複数のテンプレートDB302が分散して保持されていてもよい。
複数のテンプレートDB302が存在する場合、例えば、第1テンプレートと第2テンプレートとが異なるテンプレートDB302に格納されてもよい。また、第1テンプレート及び第2テンプレートの少なくとも一方について、内部データを分割して複数のテンプレートDB302に保存されてもよい。具体的には、例えば、第2テンプレートがバイオメトリック暗号におけるテンプレート生成処理により生成されたものである場合、補助情報と擬識別子を異なるテンプレートDB302に保存されてもよい。
続いてステップS2000の認証処理に含まれる処理について説明する。ステップS2201では、第1生体情報取得部201が、第1認証用生体情報を取得する。第1認証用生体情報は、第1登録用生体情報と同じ部位かつ同じ種類の生体情報である。例えば、第1登録用生体情報が右手人差し指の指静脈である場合、第1認証用生体情報も右手人差し指の指静脈とする。
ステップS2202では、第1特徴抽出部203が、第1認証用生体情報から第1認証用特徴量を抽出する。第1特徴抽出部203が行う処理は、例えば、ステップS1102において第1特徴抽出部103が行う処理と同じである。
なお、第1特徴抽出部203による第1特徴抽出処理と、第1特徴抽出部103による第1特徴量抽出処理と、において処理の内容が一部異なってもよい。具体的には、例えば、第1特徴抽出部203は、第1認証用生体情報を第1登録用生体情報と異なるサイズに変換してから、第1認証用生体情報から第1認証用特徴量を抽出してもよい。また、例えば、第1登録用生体情報取得時と第1認証用生体情報取得時の少なくとも一方において、同じ種類かつ同じ部位の生体情報を複数回取得し、取得した複数の生体情報に基づき第1特徴量を抽出してもよい(例えば当該複数の生体情報の平均を第1特徴量とする)。
ステップS2203では、検索用データ生成部205が、第1認証用特徴量に基づき検索用データを生成する。ステップS2203における検索用データ生成方法は、ステップS1103において第1テンプレートが生成されたアルゴリズムに依存する。具体的には、第1テンプレートの生成処理、検索用データ生成処理、及び後述するテンプレート検索処理は、同一の照合方式(例えばキャンセラブルバイオメトリクス)のもとで行われる。
例えば、登録用キャンセラブル変換によって第1テンプレートが生成された場合、検索用データ生成部205は、第1認証用特徴量に対して、登録処理時と同一のキャンセラブルパラメータを用いて生体情報を秘匿するための変換(認証用キャンセラブル変換)を行うことにより検索用データを生成する。この処理を行うために、登録端末100が認証端末200に予めキャンセラブルバラメータを送信するなどにより、登録端末100と認証端末200がキャンセラブルパラメータを共有しておくものとする。
ステップS2204では、通信部208が、検索用データをサーバ300に送信する。ステップS2205では、第2生体情報取得部202が、第2認証用生体情報を取得する。第2認証用生体情報は、第2登録用生体情報と同じ部位かつ同じ種類の生体情報である。
ステップS2206では、第2特徴抽出部204が、第2認証用生体情報から第2認証用特徴量を抽出する。第1特徴量の抽出時と同様に、第2特徴抽出部104による第2特徴量抽出処理と、第2特徴抽出部204による第2特徴抽出部第2特徴量抽出処理と、における処理の内容が同一であってもよいし、一部異なってもよい。
ステップS2301では、テンプレート検索部303が、認証端末200から受信した検索用データをキーとして、テンプレートDB302に含まれる第1テンプレートを検索し、第1テンプレートに対応する第2テンプレートを特定する。例えば、第1テンプレート生成部105が登録用キャンセラブル変換によって第1テンプレートを生成し、検索用データ生成部205が、第1認証用特徴量に対して、認証用キャンセラブル変換を行うことにより検索用データを生成した場合、ステップS2301で行われる処理の例は以下の通りである。
まず、テンプレート検索部303は、テンプレートDB302に保存された第1テンプレートそれぞれに対して、認証端末200から受信した検索用データとのキャンセラブル照合を行い、類似度スコアを算出する。テンプレート検索部303は、例えば、予め定められた閾値を上回る類似度スコアを持つ第1テンプレートに対応する第2テンプレートを特定する。
但し、閾値を上回る類似度スコアを持つ複数の第1テンプレートが存在する場合には、例えば、以下の方法のいずれかにより、第1テンプレートが特定される。テンプレート検索部303は、当該複数の第1テンプレートのうち最大の類似度スコアとなる第1テンプレートに対応する第2テンプレートを特定。また、テンプレート検索部303は、順次類似度スコアを算出する中で最初に類似度スコアが閾値を上回った第1テンプレートに対応する第2テンプレートを特定してもよい。また、テンプレート検索部303は、当該複数の第1テンプレートに対応する第2テンプレート全てを特定してもよい。
なお、ステップS2301におけるテンプレート検索処理におけるテンプレート照合処理は、後述する認証トークン生成処理と認証トークンの検証処理(即ち特定された第2テンプレートが認証者のものであるかを検証する処理)をあわせた処理と比較して、高速であることが望ましい。テンプレート検索処理の中でキャンセラブル照合が行われる場合、例えば、高速フーリエ変換や距離索引法などに基づく照合アルゴリズムが用いられることにより、高速な照合が実現できる。
ステップS2302では、メッセージ生成部304が、メッセージを生成する。生体認証システムが認証のみを目的とするシステムである場合、メッセージとして、例えば、乱数、時刻情報、又はカウンタなどのワンタイム情報等を用いることができる。ワンタイム情報は、生成されるタイミングによって(例えば一定期間ごとに)異なる値をとる情報である。生成されるメッセージは、過去に生成されたメッセージと重複しないことが望ましい。従って、例えば、メッセージとして乱数が用いられる場合、衝突確率が所定値以下のアルゴリズムで乱数が生成されることが望ましい。
また、メッセージの一部又は全部が、取引情報や電子文書などの特定の情報であってもよいし、当該特定の情報のハッシュ値などの加工情報であってもよい。また、メッセージの一部又は全部が、当該特定の情報と当該加工情報とを組み合わせて生成された情報であってもよい。当該特定の情報を含むメッセージであっても過去のメッセージと重複しないことが望ましいため、例えば、当該特定の情報が取引情報である場合、取引情報は時刻情報等を含むことが望ましい。
メッセージに特定の情報が含まれる場合、後述するステップS2304での検証ステップにより、メッセージを生成した者(即ち認証端末200の利用者)の本人認証に加えて、メッセージが改ざんされていない、即ち当該メッセージに含まれる当該特定の情報が改ざんされていないことが確認できる。
ステップS2303では、通信部306が、ステップS2301で特定された1又は複数の第2テンプレートとメッセージとを認証端末200に送信する。ステップS2207では、認証トークン生成部207が、第2認証用特徴量、並びにサーバ300から受信した第2テンプレート及びメッセージに基づき、認証トークンを生成する。なお、ステップS2207における認証トークン生成方法は、ステップS1106において第2テンプレートが生成されたアルゴリズムに依存する。具体的には、第2テンプレート生成処理、認証トークン生成処理、及び後述する認証トークン検証処理(認証処理)は、同一の照合方式(例えばバイオメトリック暗号)のもとで行われる。
例えば、ステップS1106においてバイオメトリック暗号におけるテンプレート生成処理によって第2テンプレートが生成された場合、ステップS2207では、例えば、以下の処理が行われる。まず、認証トークン生成部307は、第2認証用特徴量と第2テンプレートとから秘密鍵を復元する復元処理を行う。サーバ300から複数の第2テンプレートを受信した場合には、認証トークン生成部307は、例えば、複数の第2テンプレートそれぞれに対して復元処理を行い、復元処理に成功した1又は複数の秘密鍵を、これ以降の処理に用いる。
なお、認証トークン生成部307は、第2テンプレート内の擬識別子を用いて抽出された秘密鍵が正しいかどうかを判定する処理を行い、正しいと判定した秘密鍵をこれ以降の処理に用いてもよい。
次に、認証トークン生成部307は、復元した秘密鍵とサーバ300から送信されたメッセージとに基づき、認証トークンを生成する。メッセージに対して秘密鍵を用いて生成される電子署名及びMAC(Message Authentication Code)等は認証トークンの一例である。なお、電子署名を用いる場合にはRSA、DSA、Schnorr署名など、任意の署名アルゴリズムを用いることができる。また、MACを用いる場合にはHMACやCMACなどの任意のMACアルゴリズムを用いることができる。
バイオメトリック暗号方式における復元処理は通常の認証における照合処理と比べて処理時間を要するが、ステップS2301において第2テンプレートの候補を絞ることにより、ステップS2207で行う復元処理の回数を少なくし、認証処理時間を短縮化することができる。
また、認証トークン生成部307は、サーバ300から受信したメッセージを使わず、復元された秘密鍵のハッシュ値などの秘密鍵から得られるデータ、を認証トークンとして生成してもよい。この例のように、認証トークン生成部307が、サーバ300から受信したメッセージを使用せずに認証トークンを生成する場合には、ステップS2302のメッセージ生成処理を行わなくてもよい。また、ステップS1106において、第2登録用特徴量に不可逆変換を行う第2テンプレートが得られた場合、認証トークン生成部307は、ステップS2207において、例えば、ステップS1106と同様の不可逆変換を第2認証用特徴量に対して行うことで認証トークンを生成する。
ステップS2209では、生成された認証トークンを通信部208がサーバ300に送信する。ステップS2304では、検証部305が、メッセージと認証端末200から送信された認証トークンとに基づく検証を行い、検証に成功した場合、生体認証システム(具体的には、例えば、認証端末200)は、例えば、「認証成功」を示すメッセージを出力するとともに認証に成功したユーザのID(即ち認証に成功した第2テンプレートに対応するID)を出力する。検証に失敗した場合、生体認証システムは、例えば、「認証失敗」を示すメッセージを出力する。
ただし、検証部305は、複数の第2テンプレートに対して検証が成功した場合、当該複数の第2テンプレートそれぞれに対応するID全てを出力してもよいし、最初に検証に成功した第2テンプレートに対応するIDを出力するなど、検証に成功したIDの一部を出力してもよいし、検証に失敗したとみなしてもよい。
なお、例えばS2208で生成される認証トークンが電子署名の場合、ステップS2304において、検証部305は、ステップS2301で特定された第2テンプレートに含まれる擬識別子(この場合、擬識別子は公開鍵であるとする)と、メッセージと、認証端末200から受信した認証トークンとに基づき、ステップS2208での署名アルゴリズムに対応した検証アルゴリズムにより検証する。
また、例えばステップS2208で生成される認証トークンが秘密鍵のハッシュ値の場合、認証トークン生成部207が第2テンプレート内の擬識別子が秘密鍵のハッシュ値を含むように第2テンプレートを生成しておけば、検証部305はハッシュ値を比較することで認証トークンを検証できる。
また、例えばステップS2208で生成される認証トークンが秘密鍵とメッセージに基づき生成されるMACや、秘密鍵のハッシュ値とメッセージに基づき生成されるMACである場合、認証トークン生成部207が第2テンプレート内の擬識別子が秘密鍵や秘密鍵のハッシュ値を含むように第2テンプレートを生成しておけば、検証部305はMACの検証アルゴリズムを用いることで認証トークンを検証できる。
本実施例の生体認証システムにおいて、第1登録用特徴量と第2登録用特徴量の相関が低くなるように特徴量を抽出し、第2テンプレート生成処理としてバイオメトリック暗号化を用いることにより、システムへのなりすましを困難にする効果を奏する。このような第1登録用特徴量と第2登録用特徴量との関係について説明する。
相関が低くなるように特徴量を抽出する例として、第1登録用生体情報と第2登録用生体情報の組合せとして、(顔、指紋)や(顔、指静脈)などの別の種類の生体情報である例、及び(右手人差し指の静脈、右手中指の静脈)など種類は同じであるものの部位が異なる生体情報である例がある。
また、第1登録用生体情報と第2登録用生体情報として(部位又は種類の少なくとも一方が)同一の生体情報を選び、同一の生体情報から相関が低い2つの特徴量を抽出してもよい。例えば、第1登録用特徴量と第2登録用特徴量をともに右手人差し指の指紋である場合に、第1登録用特徴量として当該指紋の特徴点の位置が用いられ、第2登録用特徴量として当該指紋の画像の周波数情報が用いられる。
また、例えば、第1登録用生体情報と第2登録用生体情報が同一の部位から得られる同一の種類の生体情報であっても、第1登録用特徴量及び第2登録用特徴量の生成の過程において、少なくとも一方に所定の変換(例えば、所定のノイズの追加等)を実行することにより、第1登録用特徴量と第2登録用特徴量の相関を低くすることができる。
生体認証システムへのなりすましを困難にする効果の説明のために、例として、登録端末100が第1登録用特徴量と第2登録用特徴量の相関が低くなるように特徴量を抽出し、第1テンプレート生成処理として登録用キャンセラブル変換を行い、第2テンプレート生成処理としてバイオメトリック暗号化を用いる例を考える。
この場合、もし保存されている第1テンプレートとキャンセラブルパラメータが同時に第三者に漏洩すると、当該第三者が第1登録用特徴量を復元可能となる。しかし、第1登録用特徴量と第2登録用特徴量の相関が低いため、第1登録用特徴量から第2登録用特徴量の推定が困難である。
一方で第2登録用特徴量に基づく認証としてバイオメトリック暗号方式を用いることで、第2登録用特徴量の推定に成功していない第三者(第2のテンプレート、過去認証用メッセージ、及び署名を知っていてもよい)が、ステップS2304の認証トークン検証処理に成功するような認証トークンを生成することは困難である。したがって、本実施例の生体認証システムにおいて、第1登録用特徴量と第2登録用特徴量の相関が低くなるように特徴量を抽出することにより、登録されているテンプレート及びパラメータ等の認証に必要な情報、過去認証用メッセージ、並びに署名が漏洩しても、それを利用した成りすましが困難となる。
なお、このようななりすまし困難性を得るために、第1テンプレート生成処理において、第1テンプレート生成部105は、登録用キャンセラブル変換の代わりに、第1登録用特徴量に対して任意の変換を施してもよいし、第1登録用特徴量そのものを第1テンプレートに決定してもよい(即ち第1登録用特徴量に対して恒等変換が施された結果に等しい)。
また、第1登録用特徴量と第2登録用特徴量の相関が低いとは限らない場合でも、例えば、第1テンプレート生成処理として登録用キャンセラブル変換が行われ、第2テンプレート生成処理としてバイオメトリック暗号化が行われると、第1テンプレートと第2登録用特徴量の相関が低くなる。これにより、第1テンプレートが第三者に漏洩した場合であっても、キャンセラブルパラメータが漏れない限り、第1テンプレートから直接的に第2登録用特徴量を推定することが困難であるため、生体認証システムへのなりすましが困難となる。このように、第1登録用特徴量と第2登録用特徴量の相関が低いとは限らない場合でも、従来のキャンセラブルバイオメトリクスと同等以上の安全性を持ち、かつ、従来のキャンセラブルバイオメトリクスには無かった、署名生成機能をもつシステムとなる。
キャンセラブルバイオメトリクスが用いられる例を説明したが、この場合、キャンセラブルパラメータは認証端末200、サーバ300、又はこれらの計算機に接続された任意の装置に保存される。
また、キャンセラブルパラメータを、パラメータを保存するためのDBに保存した上で、登録処理及び認証処理のたびに登録端末100、認証端末200、及びサーバ300に所定のデータを送信し、各端末で所定のキャンセラブル変換を行う方式(例えば、特開2010-146245号公報を参照)が用いられてもよい。
また、本実施形態において、第1テンプレート、及び第2テンプレート、並びにネットワーク通信をさらに暗号化するなど、情報漏えいを防ぐための処理がさらに実施されてもよい。また、本実施形態において、テンプレートDB302はサーバ300以外の記憶装置が保持してもよい。
また、本実施形態において、処理順序の一部が変更されてもよい。例えば、ステップS2205及びステップS2206の処理は、ステップS2204とステップS2207の間で行われているが、認証処理中のステップS2207より前の任意の時点で行うように順序が変更されてもよい。
本実施例の生体認証システムにより、テンプレートや認証のために保存しているパラメータや鍵などのデータが漏洩しても生体認証システムへのなりすましが困難であり、かつ高速な、大規模ユーザ向けの、ネットワークを介したIDレスな個人認証が実現できる。
このような1:Nの個人認証により、ネットバンキングでの認証や決済などをより安全に行うことができ、また、国民IDなどへの適用が期待される。