(57)【要約】【課題】なりすましが困難であり、かつ高速な１：Ｎ生体認証を実現する。【解決手段】生体認証システムは、第１照合方式に基づいて、第１登録用特徴量から、第２登録用特徴量と異なる第１テンプレートを決定し、第２照合方式に基づいて、第２登録用特徴量から、第２テンプレートを決定し、第１テンプレートと第２テンプレートとを対応付けて保持し、第１照合方式に基づいて、第１テンプレートを検索して、検索用データに対応する第１テンプレートを特定し、特定した第１テンプレートに対応する第２テンプレートを特定し、第２照合方式に基づいて、第２認証用特徴量から認証トークンを生成し、第２照合方式と、特定した第２テンプレートと、認証トークンと、に基づいて、認証対象者の認証成否の判定を実行し、認証トークンの生成と認証成否の判定とを合わせた処理と比較して、第１テンプレート照合処理が高速である。【選択図】図１
2019208133.tif 000002
【特許請求の範囲】
【請求項１】
生体認証システムであって、
登録端末と認証端末とサーバとを含み、
前記登録端末は、登録対象者の生体情報から第１登録用特徴量及び第２登録用特徴量を抽出し、
前記認証端末は、認証対象者の生体情報から第１認証用特徴量及び第２認証用特徴量を抽出し、
前記登録端末は、
第１照合方式に基づいて、前記第１登録用特徴量から、前記第２登録用特徴量と異なる第１テンプレートを決定し、
第２照合方式に基づいて、前記第２登録用特徴量から、第２テンプレートを決定し、
前記第１テンプレートと前記第２テンプレートとを前記サーバに送信し、
前記サーバは、前記第１テンプレートと前記第２テンプレートとを対応付けて保持し、
前記認証端末は、
前記第１照合方式に基づいて、前記第１認証用特徴量から検索用データを決定し、
前記検索用データを前記サーバに送信し、
前記サーバは、
前記第１照合方式に基づいて、前記サーバが保持する第１テンプレートを検索して、前記検索用データに対応する第１テンプレートを特定し、
前記特定した第１テンプレートに対応する第２テンプレートを特定し、
前記認証端末は、前記第２照合方式に基づいて、前記第２認証用特徴量から認証トークンを生成し、
前記サーバは、前記第２照合方式と、前記特定した第２テンプレートと、前記認証トークンと、に基づいて、前記認証対象者の認証成否の判定を実行し、
前記認証トークンの生成と前記認証成否の判定とを合わせた処理と比較して、前記第１テンプレートの検索におけるテンプレート照合処理が高速である、生体認証システム。
【請求項２】
請求項１に記載の生体認証システムであって、
前記第１登録用特徴量は、第１生体情報から得られ、
前記第２登録用特徴量は、前記第１生体情報と異なる種類の第２生体情報から得られる、生体認証システム。
【請求項３】
請求項２に記載の生体認証システムであって、
前記第１生体情報と前記第２生体情報は、異なる部位から得られる生体情報である、生体認証システム。
【請求項４】
請求項１に記載の生体認証システムであって、
前記第１登録用特徴量及び前記第２登録用特徴量は、同一の生体情報から得られ、
前記第１登録用特徴量及び前記第２登録用特徴量の少なくとも一方は、前記同一の生体情報からの生成の過程において所定の変換が施されたものである、生体認証システム。
【請求項５】
請求項１に記載の生体認証システムであって、
前記登録端末は、
前記第２照合方式において、
秘密鍵を生成し、
前記秘密鍵による前記第２登録用特徴量の秘匿化処理を用いて、前記第２テンプレートを決定する、生体認証システム。
【請求項６】
請求項５に記載の生体認証システムであって、
前記サーバは、
メッセージを生成し、
前記メッセージと前記特定した第２テンプレートとを前記認証端末に送信し、
前記認証端末は、
前記特定した第２テンプレートと前記第２認証用特徴量から前記秘密鍵を復元し、
前記メッセージに対する前記復元した秘密鍵による署名の生成処理を用いて、前記認証トークンを生成し、
前記サーバは、前記署名の検証処理を用いて前記判定を実行する、生体認証システム。
【請求項７】
請求項５に記載の生体認証システムであって、
前記サーバは、前記特定した第２テンプレートを前記認証端末に送信し、
前記認証端末は、
メッセージを生成し、
前記特定した第２テンプレートと前記第２認証用特徴量から前記秘密鍵を復元し、
前記メッセージに対する前記復元した秘密鍵による署名の生成処理を用いて、前記認証トークンを生成し、
前記サーバは、前記署名の検証処理を用いて前記判定を実行する、生体認証システム。
【請求項８】
請求項１に記載の認証システムであって、
前記登録端末は、
前記第２照合方式において、
前記第２登録用特徴量を一方向変換して生体公開鍵を生成し、
前記生体公開鍵を前記第２テンプレートに決定し、
前記サーバは、
メッセージを生成し、
前記メッセージを前記認証端末に送信し、
前記認証端末は、前記第２認証用特徴量と、前記メッセージとに基づく生体署名の生成処理を用いて、前記認証トークンを生成し、
前記サーバは、前記生体公開鍵を用いて前記生体署名を検証する検証処理を用いて前記判定を実行する、生体認証システム。
【請求項９】
請求項１に記載の認証システムであって、
前記登録端末は、
前記第２照合方式において、
前記第２登録用特徴量を一方向変換して生体公開鍵を生成し、
前記生体公開鍵を前記第２テンプレートに決定し、
前記認証端末は、
メッセージを生成し、
前記第２認証用特徴量と、前記メッセージとに基づく生体署名の生成処理を用いて、前記認証トークンを生成し、
前記サーバは、前記生体公開鍵を用いて前記生体署名を検証する検証処理を用いて前記判定を実行する、生体認証システム。
【請求項１０】
請求項６乃至９のいずれか１つに記載の生体認証システムであって、
前記メッセージは、ワンタイム情報である、生体認証システム。
【請求項１１】
請求項１に記載の認証システムであって、
前記登録端末は、
前記第１照合方式において、
パラメータを生成し、
前記パラメータによる前記第１登録用特徴量の秘匿化処理を用いて、前記第１テンプレートを決定する、生体認証システム。
【請求項１２】
生体認証システムであって、
プログラムを実行するプロセッサと、前記プロセッサがアクセスするメモリと、を備え、
前記プロセッサは、
登録対象者の生体情報から第１登録用特徴量及び第２登録用特徴量を抽出し、
認証対象者の生体情報から第１認証用特徴量及び第２認証用特徴量を抽出し、
第１照合方式に基づいて、前記第１登録用特徴量から、前記第２登録用特徴量と異なる第１テンプレートを決定し、
第２照合方式に基づいて、前記第２登録用特徴量から、第２テンプレートを決定し、
前記第１テンプレートと前記第２テンプレートとを対応付けて前記メモリに格納し、
前記第１照合方式に基づいて、前記第１認証用特徴量から検索用データを決定し、
前記第１照合方式に基づいて、前記メモリに格納された第１テンプレートを検索して、前記検索用データに対応する第１テンプレートを特定し、
前記特定した第１テンプレートに対応する第２テンプレートを特定し、
前記第２照合方式に基づいて、前記第２認証用特徴量から認証トークンを生成し、
前記第２照合方式と、前記特定した第２テンプレートと、前記認証トークンと、に基づいて、前記認証対象者の認証成否の判定を実行し、
前記認証トークンの生成と前記認証成否の判定とを合わせた処理と比較して、前記第１テンプレートの検索におけるテンプレート照合処理が高速である、生体認証システム。
【請求項１３】
生体認証システムによる生体認証方法であって、
前記生体認証システムは、プログラムを実行するプロセッサと、前記プロセッサがアクセスするメモリと、を備え、
前記生体認証方法は、
前記プロセッサが、登録対象者の生体情報から第１登録用特徴量及び第２登録用特徴量を抽出し、
前記プロセッサが、認証対象者の生体情報から第１認証用特徴量及び第２認証用特徴量を抽出し、
前記プロセッサが、第１照合方式に基づいて、前記第１登録用特徴量から、前記第２登録用特徴量と異なる第１テンプレートを決定し、
前記プロセッサが、第２照合方式に基づいて、前記第２登録用特徴量から、第２テンプレートを決定し、
前記プロセッサが、前記第１テンプレートと前記第２テンプレートとを対応付けて前記メモリに格納し、
前記プロセッサが、前記第１照合方式に基づいて、前記第１認証用特徴量から検索用データを決定し、
前記プロセッサが、前記第１照合方式に基づいて、前記メモリに格納された第１テンプレートを検索して、前記検索用データに対応する第１テンプレートを特定し、
前記プロセッサが、前記特定した第１テンプレートに対応する第２テンプレートを特定し、
前記プロセッサが、前記第２照合方式に基づいて、前記第２認証用特徴量から認証トークンを生成し、
前記プロセッサが、前記第２照合方式と、前記特定した第２テンプレートと、前記認証トークンと、に基づいて、前記認証対象者の認証成否の判定を実行することを含み、
前記認証トークンの生成と前記認証成否の判定とを合わせた処理と比較して、前記第１テンプレートの検索におけるテンプレート照合処理が高速である、生体認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、生体認証システム及び生体認証方法に関する。
【背景技術】
【０００２】
近年、指紋、静脈、顔などの生体情報に基づき個人を識別する生体認証の普及が進んでいる。生体認証においては、登録時に、登録端末が生体情報を取得し、生体情報から抽出した登録用特徴量をもとに認証時に用いるデータ（以下、テンプレートと呼ぶ）を生成してサーバなどに保存する。また、認証時に、認証端末が生体情報を取得し、生体情報から抽出した認証用特徴量と保存されているテンプレートと、を用いてサーバが認証処理を行う。
【０００３】
生体認証におけるシステムへのなりすましを防ぐ方法として、例えば登録時に登録用特徴量を暗号化してテンプレートを生成し、認証時に復号して照合する方法がある。また、登録時と認証時に同一の乱数（キャンセラブルパラメータ）を用いて暗号化し照合を行う、キャンセラブルバイオメトリクスという方式が知られている。しかしながら、これらの方法では、復号のための秘密鍵やキャンセラブルバイオメトリクスにおけるパラメータ等の情報が認証端末やサーバ等に保存されており、テンプレートと当該情報が同時に漏洩した場合、登録された生体情報が復元可能となり、復元された生体情報を用いたなりすましが可能となる。
【０００４】
そこで、テンプレート、秘密鍵及びパラメータなどの認証に必要なデータ、過去の認証用メッセージ、並びに署名が漏洩しても、それを利用したなりすましが困難である認証方法として、ｆｕｚｚｙ  ｓｉｇｎａｔｕｒｅなどの生体署名方式や、非特許文献１に記載されたｆｕｚｚｙ  ｅｘｔｒａｃｔｏｒなどのバイオメトリック暗号方式がある。
【０００５】
また、生体認証の一例として１：Ｎ認証がある。１：Ｎ認証は、認証時に、個人を特定するＩＤを入力を受け付けずに、生体情報を入力を受け付け、認証を試みるユーザがどの登録ユーザであるかを入力された生体情報から特定する。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Y. Dodis, et al., “Fuzzy extractors: How to generate strong keys,” In Eurocrypt 2004, Vol. 3027 of LNCS, pp. 523-540, 2004.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ｆｕｚｚｙ  ｓｉｇｎａｔｕｒｅなどの生体署名方式及びｆｕｚｚｙ  ｅｘｔｒａｃｔｏｒなどのバイオメトリック暗号方式は、通常の生体認証における照合と比較して処理時間を要するため、登録ユーザ数が多い場合には、Ｎ人の登録ユーザ全てのテンプレートと照合を行う単純な１：Ｎ認証では、実用的な時間で認証することができない。そこで本発明は、なりすましが困難であり、かつ高速な１：Ｎ生体認証を実現することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明の一態様は以下の構成を採用する。生体認証システムは、登録端末と認証端末とサーバとを含み、前記登録端末は、登録対象者の生体情報から第１登録用特徴量及び第２登録用特徴量を抽出し、前記認証端末は、認証対象者の生体情報から第１認証用特徴量及び第２認証用特徴量を抽出し、前記登録端末は、第１照合方式に基づいて、前記第１登録用特徴量から、前記第２登録用特徴量と異なる第１テンプレートを決定し、第２照合方式に基づいて、前記第２登録用特徴量から、第２テンプレートを決定し、前記第１テンプレートと前記第２テンプレートとを前記サーバに送信し、前記サーバは、前記第１テンプレートと前記第２テンプレートとを対応付けて保持し、前記認証端末は、前記第１照合方式に基づいて、前記第１認証用特徴量から検索用データを決定し、前記検索用データを前記サーバに送信し、前記サーバは、前記第１照合方式に基づいて、前記サーバが保持する第１テンプレートを検索して、前記検索用データに対応する第１テンプレートを特定し、前記特定した第１テンプレートに対応する第２テンプレートを特定し、前記認証端末は、前記第２照合方式に基づいて、前記第２認証用特徴量から認証トークンを生成し、前記サーバは、前記第２照合方式と、前記特定した第２テンプレートと、前記認証トークンと、に基づいて、前記認証対象者の認証成否の判定を実行し、前記認証トークンの生成と前記認証成否の判定とを合わせた処理と比較して、前記第１テンプレートの検索におけるテンプレート照合処理が高速である。
【発明の効果】
【０００９】
本発明の一態様により、なりすましが困難であり、かつ高速な１：Ｎ生体認証を実現することができる。
【００１０】
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１１】
【図１】実施例１における生体認証システムの構成例を示すブロック図である。
【図２】実施例１における登録端末、認証端末、及びサーバそれぞれを構成する計算機のハードウェア構成例を示すブロック図である。
【図３】実施例１における登録処理及び認証処理の一例を示すシーケンス図である。
【図４】実施例２における生体認証システムの構成例を示すブロック図である。
【図５】実施例２における登録処理及び認証処理の一例を示すシーケンス図である。
【図６】実施例３における登録処理及び認証処理の一例を示すシーケンス図である。
【図７】実施例４における登録処理及び認証処理の一例を示すシーケンス図である。
【図８】実施例５における生体認証システムの構成例を示すブロック図である。
【図９】実施例５における登録処理及び認証処理の一例を示すシーケンス図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態を図面に基づいて詳細に説明する。本実施形態において、同一の構成には原則として同一の符号を付け、繰り返しの説明は省略する。なお、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。
【実施例１】
【００１３】
実施例１では、生体認証システムについて説明する。図１は、生体認証システムの構成例を示すブロック図である。生体認証システムは、例えば、互いにネットワーク４０１で接続された、登録端末１００、認証端末２００、及びサーバ３００を含む。
【００１４】
登録端末１００は、ユーザの登録用生体情報に基づきテンプレートを生成する計算機である。認証端末２００は、ユーザの認証用特徴量に基づき認証処理を行う計算機である。サーバ３００は、登録時にテンプレートを保存し、認証時にテンプレート検索処理を行う計算機である。
【００１５】
登録端末１００は、例えば、ユーザの自宅等に設置されたＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等の計算機であってもよいし、オフィスや大学等に設置された複数又は不特定多数のユーザによって使用されるＰＣ等の計算機であってもよい。また、登録端末１００と認証端末２００は、一体化されていてもよい、即ち一つの端末として構成されていてもよい。
【００１６】
登録端末１００は、例えば、第１生体情報取得部１０１、第２生体情報取得部１０２、第１特徴抽出部１０３、第２特徴抽出部１０４、第１テンプレート生成部１０５、第２テンプレート生成部１０６、及び通信部１０７を含む。第１生体情報取得部１０１は、第１登録用生体情報を取得する。第２生体情報取得部１０２は、第２登録用生体情報を取得する。
【００１７】
第１特徴抽出部１０３は、第１生体情報取得部１０１が取得した第１登録用生体情報から第１登録用特徴量を抽出する。第２特徴抽出部１０４は、第２生体情報取得部１０２が取得した第２登録用生体情報から第２登録用特徴量を抽出する。第１テンプレート生成部１０５は、第１特徴抽出部１０３が抽出した第１登録用特徴量から第１テンプレートを生成する。第２テンプレート生成部１０６は、第２特徴抽出部１０４が抽出した第２登録用特徴量から第２テンプレートを生成する。通信部１０７は、他の装置との通信を行う。
【００１８】
認証端末２００は、例えば、第１生体情報取得部２０１、第２生体情報取得部２０２、第１特徴抽出部２０３、第２特徴抽出部２０４、検索用データ生成部２０５、認証トークン生成部２０７、及び通信部２０８を含む。第１生体情報取得部２０１は、第１認証用生体情報を取得する。第２生体情報取得部２０２は、第２認証用生体情報を取得する。
【００１９】
第１特徴抽出部２０３は、第１生体情報取得部２０１が取得した第１認証用生体情報から第１認証用特徴量を抽出する。第２特徴抽出部２０４は、第２生体情報取得部２０２が取得した第２認証用生体情報から第２認証用特徴量を抽出する。なお、第１登録用特徴量と第１認証用特徴量を総称して単に第１特徴量とも呼び、第２登録用特徴量と第２認証用特徴量を総称して単に第２特徴量とも呼ぶ。
【００２０】
検索用データ生成部２０５は、第１特徴抽出部２０３が抽出した第１認証用特徴量から検索用データを生成する。認証トークン生成部２０７は、第２特徴抽出部２０４が抽出した第２特徴量、並びにサーバ３００から受信した第２テンプレート及びメッセージに基づき認証トークンを生成する。通信部２０８は、他の装置との通信を行う。
【００２１】
サーバ３００は、格納部３０１、テンプレートＤＢ（Ｄａｔａｂａｓｅ）３０２、テンプレート検索部３０３、メッセージ生成部３０４、検証部３０５、及び通信部３０６を含む。格納部３０１は、登録端末１００から送信された第１テンプレートと第２テンプレートを対応付けてテンプレートＤＢ３０２に格納する処理を行う。テンプレートＤＢ３０２は、第１テンプレート及び第２テンプレートを保持する。
【００２２】
テンプレート検索部３０３は、認証端末２００から受信した検索用データをキーとしてテンプレートＤＢ３０２から、第１テンプレートを検索し、第１テンプレートに対応する第２テンプレートを特定する。メッセージ生成部３０４は、メッセージを生成する。検証部３０５は、メッセージと、第２テンプレートと、認証端末２００から送信される認証トークンと、に基づき検証を行う。通信部３０６は、他の装置との通信を行う。
【００２３】
図２は、本実施例における登録端末１００、認証端末２００、及びサーバ３００それぞれを構成する計算機のハードウェア構成例を示すブロック図である。計算機は、例えば、ＣＰＵ１００１、メモリ１００２、補助記憶装置１００３、入力装置１００４、出力装置１００５、及び通信装置１００６を含む。
【００２４】
なお、登録端末１００及び認証端末２００は、第１生体情報及び第２生体情報を取得するためのセンサ（例えば、指紋センサ、静脈センサ、カメラ、及びマイクロフォン等）、又はセンサを含む装置に接続されていてもよいし、センサを含んでもよい。
【００２５】
ＣＰＵ１００１は、プロセッサを含み、メモリ１００２に格納されたプログラムを実行する。メモリ１００２は、不揮発性の記憶素子であるＲＯＭ及び揮発性の記憶素子であるＲＡＭを含む。ＲＯＭは、不変のプログラム（例えば、ＢＩＯＳ）などを格納する。ＲＡＭは、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のような高速かつ揮発性の記憶素子であり、ＣＰＵ１００１が実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。
【００２６】
補助記憶装置１００３は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の大容量かつ不揮発性の記憶装置であり、プロセッサが実行するプログラム及びプログラムの実行時に使用されるデータを格納する。すなわち、プログラムは、補助記憶装置１００３から読み出されて、メモリ１００２にロードされて、プロセッサによって実行される。
【００２７】
計算機は、入力インターフェース及び出力インターフェースを有する。入力インターフェースは、キーボード、マウス、カメラ、及びスキャナなどの入力装置１００４が接続され、オペレータからの入力を受け付けるインターフェースである。出力インターフェースは、ディスプレイ装置やプリンタなどの出力装置１００５が接続され、プログラムの実行結果をオペレータが視認可能な形式で出力するインターフェースである。
【００２８】
通信装置１００６は、所定のプロトコルに従って、他の装置との通信を制御するネットワークインターフェース装置であり、通信部による通信に用いられる。また、通信装置１００６は、例えば、ＵＳＢ等のシリアルインターフェースを含む。
【００２９】
ＣＰＵ１００１が実行するプログラムは、リムーバブルメディア（ＣＤ−ＲＯＭ、フラッシュメモリなど）又はネットワークを介して計算機に提供され、非一時的記憶媒体である不揮発性の補助記憶装置１００３に格納される。このため、計算機は、リムーバブルメディアからデータを読み込むインターフェースを有するとよい。
【００３０】
登録端末１００、認証端末２００、及びサーバ３００は、それぞれ、物理的に一つの計算機上で、又は、論理的又は物理的に構成された複数の計算機上で構成される計算機システムであり、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。
【００３１】
登録端末１００のＣＰＵ１００１は、例えば、第１生体情報取得部１０１、第２生体情報取得部１０２、第１特徴抽出部１０３、第２特徴抽出部１０４、第１テンプレート生成部１０５、第２テンプレート生成部１０６、第２テンプレート生成部１０６、及び通信部１０７を含む。認証端末２００のＣＰＵ１００１は、第１生体情報取得部２０１、第２生体情報取得部２０２、第１特徴抽出部２０３、第２特徴抽出部２０４、検索用データ生成部２０５、認証トークン生成部２０７、及び通信部２０８を含む。サーバ３００のＣＰＵ１００１は、格納部３０１、テンプレート検索部３０３、メッセージ生成部３０４、検証部３０５、及び通信部３０６を含む。サーバ３００の補助記憶装置１００３は、テンプレートＤＢ３０２を保持する。
【００３２】
例えば、登録端末１００のＣＰＵ１００１は、登録端末１００のメモリ１００２にロードされた第１生体情報取得プログラムに従って動作することで、第１生体情報取得部１０１として機能し、登録端末１００のメモリ１００２にロードされた第２生体情報取得プログラムに従って動作することで、第２生体情報取得部１０２として機能する。登録端末１００のＣＰＵ１００１に含まれる他の部、生体認証システムに含まれる他の計算機のＣＰＵ１００１に含まれる各部についても同様である。
【００３３】
なお、本実施形態において、生体認証システムが使用する情報は、データ構造に依存せずどのようなデータ構造で表現されていてもよい。例えば、テーブル、リスト、データベース又はキューから適切に選択したデータ構造体が、情報を格納することができる。
【００３４】
図３は、登録処理及び認証処理の一例を示すシーケンス図である。まず、認証システムによる処理の概略を説明する。生体認証システムによる処理は、登録処理（Ｓ１０００）と認証処理（Ｓ２０００）とを含む。
【００３５】
登録処理において、登録端末１００は利用者の生体情報を取得し、取得した生体情報からテンプレートを生成する。サーバ３００はテンプレートをテンプレートＤＢ３０２に保存する。認証処理において、認証端末２００は認証を試みる者（認証者とも呼ぶ）の生体情報を取得し、サーバ３００は、登録された利用者から認証者を特定する。
【００３６】
まず、ステップＳ１０００の登録処理に含まれる処理について説明する。ステップＳ１１０１では、第１生体情報取得部１０１が、第１登録用生体情報を取得する。第１登録用生体情報は、例えば、指紋、指静脈、虹彩、顔、又は声紋などの、個人を特定可能な任意の生体情報を含む。
【００３７】
ステップＳ１１０２では、第１特徴抽出部１０３が、第１登録用生体情報から第１登録用特徴量を抽出する。例えば、第１登録用生体情報が指紋である場合、第１登録用特徴量は指紋の周波数情報、又は特徴点の位置などである。
【００３８】
ステップＳ１１０３では、第１テンプレート生成部１０５が、第１登録用特徴量から、第１テンプレートを生成する。具体的には、例えば、第１テンプレート生成部１０５は、相関不変ランダムフィルタリングなどの任意のキャンセラブルバイオメトリクスにおいて、乱数（キャンセラブルパラメータ）を生成し、生成した乱数を用いて生体情報を秘匿するために行う変換（登録用キャンセラブル変換）を、第１登録用特徴量に施して第１テンプレートを生成する。第１テンプレート生成部１０５が行う変換の例、及び変換による効果の詳細については後述する。
【００３９】
ステップＳ１１０４では、第２生体情報取得部１０２が、第２登録用生体情報を取得する。第１登録用生体情報と第２登録用生体情報の組として、例えば、（顔、指紋）、（虹彩、指静脈）などの異なる種類の生体情報の組を選ぶことができる。また、例えば、右手人差し指の指静脈が第１登録用生体情報であり、右手中指の指静脈を第２登録用生体情報である場合のように、同じ種類の異なる部位の生体情報が用いられてもよい。
【００４０】
また、第１登録用生体情報と第２登録用生体情報は１つの装置から取得可能な生体情報であってもよい。具体的には、例えば、指紋と指静脈は１つの装置によって同時に取得可能な生体情報である。また、第１登録用生体情報と第２登録用生体情報として同じ生体情報を用いてもよい。
【００４１】
ステップＳ１１０５では、第２特徴抽出部１０４が、第２登録用生体情報から第２登録用特徴量を抽出する。後述するように、第２登録用特徴量は、第１登録用特徴量との相関が低いことが望ましい。これにより、なりすましに対する安全性を高めるという効果がある。また、第２登録用特徴量は、第１テンプレートと少なくとも異なる必要があり、特に相関が十分低いことが望ましい。これにより、仮に第１テンプレートが漏洩した場合であっても、第１テンプレートから第２登録用特徴量を推測することが困難となるからである。
【００４２】
ステップＳ１１０６では、第２テンプレート生成部１０６が、第２登録用特徴量から第２テンプレートを生成する。ステップＳ１１０６において、第２テンプレート生成部１０６は、例えば、ｆｕｚｚｙ  ｅｘｔｒａｃｔｏｒやｆｕｚｚｙ  ｃｏｍｍｉｔｍｅｎｔなどの任意のバイオメトリック暗号方式におけるテンプレート生成処理を行う。
【００４３】
当該テンプレート生成処理において、第２テンプレート生成部１０６は、まず第２登録用特徴量と秘密鍵に基づく秘匿化処理を行い、補助情報（ａｕｘｉｌｉａｒｙ  ｄａｔａ）を生成する。さらに、第２テンプレート生成部１０６は、秘密鍵や署名を検証するための擬識別子（ｐｓｅｕｄｏｎｙｍｏｕｓ  ｉｄｅｎｔｉｆｉｅｒ）と呼ばれるデータを生成する。例えば、秘密鍵に対応する公開鍵、及び秘密鍵のハッシュ値は、擬識別子の一例である。この場合、第２テンプレート生成部１０６は、例えば、補助情報と擬識別子との組を第２テンプレートに決定する。
【００４４】
またステップＳ１１０６の処理の別例として、第２テンプレート生成部１０６は、第２登録用特徴量に対して何らかの不可逆変換を施すことにより第２テンプレートを生成してもよい。不可逆変換の例として、ハッシュ関数を用いることや、情報の一部を欠落させることで不可逆性を実現すること、などがある。続いて、ステップＳ１１０７では、通信部１０７が、第１テンプレート及び第２テンプレートをサーバ３００に送信する。
【００４５】
ステップＳ１３０１では、格納部３０１が、第１テンプレートと第２テンプレートを対応付けてテンプレートＤＢ３０２に保存する。格納部３０１は、例えば、登録する利用者を一意的に識別するＩＤを発行し、当該ＩＤを用いて第１テンプレートと第２テンプレートを対応付けてもよい。なお、複数のテンプレートＤＢ３０２が存在してもよい。この場合、１つのサーバ３００が複数のテンプレートＤＢ３０２を保持してもよいし、生体認証システムに含まれる複数のサーバ３００によって、複数のテンプレートＤＢ３０２が分散して保持されていてもよい。
【００４６】
複数のテンプレートＤＢ３０２が存在する場合、例えば、第１テンプレートと第２テンプレートとが異なるテンプレートＤＢ３０２に格納されてもよい。また、第１テンプレート及び第２テンプレートの少なくとも一方について、内部データを分割して複数のテンプレートＤＢ３０２に保存されてもよい。具体的には、例えば、第２テンプレートがバイオメトリック暗号におけるテンプレート生成処理により生成されたものである場合、補助情報と擬識別子を異なるテンプレートＤＢ３０２に保存されてもよい。
【００４７】
続いてステップＳ２０００の認証処理に含まれる処理について説明する。ステップＳ２２０１では、第１生体情報取得部２０１が、第１認証用生体情報を取得する。第１認証用生体情報は、第１登録用生体情報と同じ部位かつ同じ種類の生体情報である。例えば、第１登録用生体情報が右手人差し指の指静脈である場合、第１認証用生体情報も右手人差し指の指静脈とする。
【００４８】
ステップＳ２２０２では、第１特徴抽出部２０３が、第１認証用生体情報から第１認証用特徴量を抽出する。第１特徴抽出部２０３が行う処理は、例えば、ステップＳ１１０２において第１特徴抽出部１０３が行う処理と同じである。
【００４９】
なお、第１特徴抽出部２０３による第１特徴抽出処理と、第１特徴抽出部１０３による第１特徴量抽出処理と、において処理の内容が一部異なってもよい。具体的には、例えば、第１特徴抽出部２０３は、第１認証用生体情報を第１登録用生体情報と異なるサイズに変換してから、第１認証用生体情報から第１認証用特徴量を抽出してもよい。また、例えば、第１登録用生体情報取得時と第１認証用生体情報取得時の少なくとも一方において、同じ種類かつ同じ部位の生体情報を複数回取得し、取得した複数の生体情報に基づき第１特徴量を抽出してもよい（例えば当該複数の生体情報の平均を第１特徴量とする）。
【００５０】
ステップＳ２２０３では、検索用データ生成部２０５が、第１認証用特徴量に基づき検索用データを生成する。ステップＳ２２０３における検索用データ生成方法は、ステップＳ１１０３において第１テンプレートが生成されたアルゴリズムに依存する。具体的には、第１テンプレートの生成処理、検索用データ生成処理、及び後述するテンプレート検索処理は、同一の照合方式（例えばキャンセラブルバイオメトリクス）のもとで行われる。
【００５１】
例えば、登録用キャンセラブル変換によって第１テンプレートが生成された場合、検索用データ生成部２０５は、第１認証用特徴量に対して、登録処理時と同一のキャンセラブルパラメータを用いて生体情報を秘匿するための変換（認証用キャンセラブル変換）を行うことにより検索用データを生成する。この処理を行うために、登録端末１００が認証端末２００に予めキャンセラブルバラメータを送信するなどにより、登録端末１００と認証端末２００がキャンセラブルパラメータを共有しておくものとする。
【００５２】
ステップＳ２２０４では、通信部２０８が、検索用データをサーバ３００に送信する。ステップＳ２２０５では、第２生体情報取得部２０２が、第２認証用生体情報を取得する。第２認証用生体情報は、第２登録用生体情報と同じ部位かつ同じ種類の生体情報である。
【００５３】
ステップＳ２２０６では、第２特徴抽出部２０４が、第２認証用生体情報から第２認証用特徴量を抽出する。第１特徴量の抽出時と同様に、第２特徴抽出部１０４による第２特徴量抽出処理と、第２特徴抽出部２０４による第２特徴抽出部第２特徴量抽出処理と、における処理の内容が同一であってもよいし、一部異なってもよい。
【００５４】
ステップＳ２３０１では、テンプレート検索部３０３が、認証端末２００から受信した検索用データをキーとして、テンプレートＤＢ３０２に含まれる第１テンプレートを検索し、第１テンプレートに対応する第２テンプレートを特定する。例えば、第１テンプレート生成部１０５が登録用キャンセラブル変換によって第１テンプレートを生成し、検索用データ生成部２０５が、第１認証用特徴量に対して、認証用キャンセラブル変換を行うことにより検索用データを生成した場合、ステップＳ２３０１で行われる処理の例は以下の通りである。
【００５５】
まず、テンプレート検索部３０３は、テンプレートＤＢ３０２に保存された第１テンプレートそれぞれに対して、認証端末２００から受信した検索用データとのキャンセラブル照合を行い、類似度スコアを算出する。テンプレート検索部３０３は、例えば、予め定められた閾値を上回る類似度スコアを持つ第１テンプレートに対応する第２テンプレートを特定する。
【００５６】
但し、閾値を上回る類似度スコアを持つ複数の第１テンプレートが存在する場合には、例えば、以下の方法のいずれかにより、第１テンプレートが特定される。テンプレート検索部３０３は、当該複数の第１テンプレートのうち最大の類似度スコアとなる第１テンプレートに対応する第２テンプレートを特定。また、テンプレート検索部３０３は、順次類似度スコアを算出する中で最初に類似度スコアが閾値を上回った第１テンプレートに対応する第２テンプレートを特定してもよい。また、テンプレート検索部３０３は、当該複数の第１テンプレートに対応する第２テンプレート全てを特定してもよい。
【００５７】
なお、ステップＳ２３０１におけるテンプレート検索処理におけるテンプレート照合処理は、後述する認証トークン生成処理と認証トークンの検証処理（即ち特定された第２テンプレートが認証者のものであるかを検証する処理）をあわせた処理と比較して、高速であることが望ましい。テンプレート検索処理の中でキャンセラブル照合が行われる場合、例えば、高速フーリエ変換や距離索引法などに基づく照合アルゴリズムが用いられることにより、高速な照合が実現できる。
【００５８】
ステップＳ２３０２では、メッセージ生成部３０４が、メッセージを生成する。生体認証システムが認証のみを目的とするシステムである場合、メッセージとして、例えば、乱数、時刻情報、又はカウンタなどのワンタイム情報等を用いることができる。ワンタイム情報は、生成されるタイミングによって（例えば一定期間ごとに）異なる値をとる情報である。生成されるメッセージは、過去に生成されたメッセージと重複しないことが望ましい。従って、例えば、メッセージとして乱数が用いられる場合、衝突確率が所定値以下のアルゴリズムで乱数が生成されることが望ましい。
【００５９】
また、メッセージの一部又は全部が、取引情報や電子文書などの特定の情報であってもよいし、当該特定の情報のハッシュ値などの加工情報であってもよい。また、メッセージの一部又は全部が、当該特定の情報と当該加工情報とを組み合わせて生成された情報であってもよい。当該特定の情報を含むメッセージであっても過去のメッセージと重複しないことが望ましいため、例えば、当該特定の情報が取引情報である場合、取引情報は時刻情報等を含むことが望ましい。
【００６０】
メッセージに特定の情報が含まれる場合、後述するステップＳ２３０４での検証ステップにより、メッセージを生成した者（即ち認証端末２００の利用者）の本人認証に加えて、メッセージが改ざんされていない、即ち当該メッセージに含まれる当該特定の情報が改ざんされていないことが確認できる。
【００６１】
ステップＳ２３０３では、通信部３０６が、ステップＳ２３０１で特定された１又は複数の第２テンプレートとメッセージとを認証端末２００に送信する。ステップＳ２２０７では、認証トークン生成部２０７が、第２認証用特徴量、並びにサーバ３００から受信した第２テンプレート及びメッセージに基づき、認証トークンを生成する。なお、ステップＳ２２０７における認証トークン生成方法は、ステップＳ１１０６において第２テンプレートが生成されたアルゴリズムに依存する。具体的には、第２テンプレート生成処理、認証トークン生成処理、及び後述する認証トークン検証処理（認証処理）は、同一の照合方式（例えばバイオメトリック暗号）のもとで行われる。
【００６２】
例えば、ステップＳ１１０６においてバイオメトリック暗号におけるテンプレート生成処理によって第２テンプレートが生成された場合、ステップＳ２２０７では、例えば、以下の処理が行われる。まず、認証トークン生成部３０７は、第２認証用特徴量と第２テンプレートとから秘密鍵を復元する復元処理を行う。サーバ３００から複数の第２テンプレートを受信した場合には、認証トークン生成部３０７は、例えば、複数の第２テンプレートそれぞれに対して復元処理を行い、復元処理に成功した１又は複数の秘密鍵を、これ以降の処理に用いる。
【００６３】
なお、認証トークン生成部３０７は、第２テンプレート内の擬識別子を用いて抽出された秘密鍵が正しいかどうかを判定する処理を行い、正しいと判定した秘密鍵をこれ以降の処理に用いてもよい。
【００６４】
次に、認証トークン生成部３０７は、復元した秘密鍵とサーバ３００から送信されたメッセージとに基づき、認証トークンを生成する。メッセージに対して秘密鍵を用いて生成される電子署名及びＭＡＣ（Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｃｏｄｅ）等は認証トークンの一例である。なお、電子署名を用いる場合にはＲＳＡ、ＤＳＡ、Ｓｃｈｎｏｒｒ署名など、任意の署名アルゴリズムを用いることができる。また、ＭＡＣを用いる場合にはＨＭＡＣやＣＭＡＣなどの任意のＭＡＣアルゴリズムを用いることができる。
【００６５】
バイオメトリック暗号方式における復元処理は通常の認証における照合処理と比べて処理時間を要するが、ステップＳ２３０１において第２テンプレートの候補を絞ることにより、ステップＳ２２０７で行う復元処理の回数を少なくし、認証処理時間を短縮化することができる。
【００６６】
また、認証トークン生成部３０７は、サーバ３００から受信したメッセージを使わず、復元された秘密鍵のハッシュ値などの秘密鍵から得られるデータ、を認証トークンとして生成してもよい。この例のように、認証トークン生成部３０７が、サーバ３００から受信したメッセージを使用せずに認証トークンを生成する場合には、ステップＳ２３０２のメッセージ生成処理を行わなくてもよい。また、ステップＳ１１０６において、第２登録用特徴量に不可逆変換を行う第２テンプレートが得られた場合、認証トークン生成部３０７は、ステップＳ２２０７において、例えば、ステップＳ１１０６と同様の不可逆変換を第２認証用特徴量に対して行うことで認証トークンを生成する。
【００６７】
ステップＳ２２０９では、生成された認証トークンを通信部２０８がサーバ３００に送信する。ステップＳ２３０４では、検証部３０５が、メッセージと認証端末２００から送信された認証トークンとに基づく検証を行い、検証に成功した場合、生体認証システム（具体的には、例えば、認証端末２００）は、例えば、「認証成功」を示すメッセージを出力するとともに認証に成功したユーザのＩＤ（即ち認証に成功した第２テンプレートに対応するＩＤ）を出力する。検証に失敗した場合、生体認証システムは、例えば、「認証失敗」を示すメッセージを出力する。
【００６８】
ただし、検証部３０５は、複数の第２テンプレートに対して検証が成功した場合、当該複数の第２テンプレートそれぞれに対応するＩＤ全てを出力してもよいし、最初に検証に成功した第２テンプレートに対応するＩＤを出力するなど、検証に成功したＩＤの一部を出力してもよいし、検証に失敗したとみなしてもよい。
【００６９】
なお、例えばＳ２２０８で生成される認証トークンが電子署名の場合、ステップＳ２３０４において、検証部３０５は、ステップＳ２３０１で特定された第２テンプレートに含まれる擬識別子（この場合、擬識別子は公開鍵であるとする）と、メッセージと、認証端末２００から受信した認証トークンとに基づき、ステップＳ２２０８での署名アルゴリズムに対応した検証アルゴリズムにより検証する。
【００７０】
また、例えばステップＳ２２０８で生成される認証トークンが秘密鍵のハッシュ値の場合、認証トークン生成部２０７が第２テンプレート内の擬識別子が秘密鍵のハッシュ値を含むように第２テンプレートを生成しておけば、検証部３０５はハッシュ値を比較することで認証トークンを検証できる。
【００７１】
また、例えばステップＳ２２０８で生成される認証トークンが秘密鍵とメッセージに基づき生成されるＭＡＣや、秘密鍵のハッシュ値とメッセージに基づき生成されるＭＡＣである場合、認証トークン生成部２０７が第２テンプレート内の擬識別子が秘密鍵や秘密鍵のハッシュ値を含むように第２テンプレートを生成しておけば、検証部３０５はＭＡＣの検証アルゴリズムを用いることで認証トークンを検証できる。
【００７２】
本実施例の生体認証システムにおいて、第１登録用特徴量と第２登録用特徴量の相関が低くなるように特徴量を抽出し、第２テンプレート生成処理としてバイオメトリック暗号化を用いることにより、システムへのなりすましを困難にする効果を奏する。このような第１登録用特徴量と第２登録用特徴量との関係について説明する。
【００７３】
相関が低くなるように特徴量を抽出する例として、第１登録用生体情報と第２登録用生体情報の組合せとして、（顔、指紋）や（顔、指静脈）などの別の種類の生体情報である例、及び（右手人差し指の静脈、右手中指の静脈）など種類は同じであるものの部位が異なる生体情報である例がある。
【００７４】
また、第１登録用生体情報と第２登録用生体情報として（部位又は種類の少なくとも一方が）同一の生体情報を選び、同一の生体情報から相関が低い２つの特徴量を抽出してもよい。例えば、第１登録用特徴量と第２登録用特徴量をともに右手人差し指の指紋である場合に、第１登録用特徴量として当該指紋の特徴点の位置が用いられ、第２登録用特徴量として当該指紋の画像の周波数情報が用いられる。
【００７５】
また、例えば、第１登録用生体情報と第２登録用生体情報が同一の部位から得られる同一の種類の生体情報であっても、第１登録用特徴量及び第２登録用特徴量の生成の過程において、少なくとも一方に所定の変換（例えば、所定のノイズの追加等）を実行することにより、第１登録用特徴量と第２登録用特徴量の相関を低くすることができる。
【００７６】
生体認証システムへのなりすましを困難にする効果の説明のために、例として、登録端末１００が第１登録用特徴量と第２登録用特徴量の相関が低くなるように特徴量を抽出し、第１テンプレート生成処理として登録用キャンセラブル変換を行い、第２テンプレート生成処理としてバイオメトリック暗号化を用いる例を考える。
【００７７】
この場合、もし保存されている第１テンプレートとキャンセラブルパラメータが同時に第三者に漏洩すると、当該第三者が第１登録用特徴量を復元可能となる。しかし、第１登録用特徴量と第２登録用特徴量の相関が低いため、第１登録用特徴量から第２登録用特徴量の推定が困難である。
【００７８】
一方で第２登録用特徴量に基づく認証としてバイオメトリック暗号方式を用いることで、第２登録用特徴量の推定に成功していない第三者（第２のテンプレート、過去認証用メッセージ、及び署名を知っていてもよい）が、ステップＳ２３０４の認証トークン検証処理に成功するような認証トークンを生成することは困難である。したがって、本実施例の生体認証システムにおいて、第１登録用特徴量と第２登録用特徴量の相関が低くなるように特徴量を抽出することにより、登録されているテンプレート及びパラメータ等の認証に必要な情報、過去認証用メッセージ、並びに署名が漏洩しても、それを利用した成りすましが困難となる。
【００７９】
なお、このようななりすまし困難性を得るために、第１テンプレート生成処理において、第１テンプレート生成部１０５は、登録用キャンセラブル変換の代わりに、第１登録用特徴量に対して任意の変換を施してもよいし、第１登録用特徴量そのものを第１テンプレートに決定してもよい（即ち第１登録用特徴量に対して恒等変換が施された結果に等しい）。
【００８０】
また、第１登録用特徴量と第２登録用特徴量の相関が低いとは限らない場合でも、例えば、第１テンプレート生成処理として登録用キャンセラブル変換が行われ、第２テンプレート生成処理としてバイオメトリック暗号化が行われると、第１テンプレートと第２登録用特徴量の相関が低くなる。これにより、第１テンプレートが第三者に漏洩した場合であっても、キャンセラブルパラメータが漏れない限り、第１テンプレートから直接的に第２登録用特徴量を推定することが困難であるため、生体認証システムへのなりすましが困難となる。このように、第１登録用特徴量と第２登録用特徴量の相関が低いとは限らない場合でも、従来のキャンセラブルバイオメトリクスと同等以上の安全性を持ち、かつ、従来のキャンセラブルバイオメトリクスには無かった、署名生成機能をもつシステムとなる。
【００８１】
キャンセラブルバイオメトリクスが用いられる例を説明したが、この場合、キャンセラブルパラメータは認証端末２００、サーバ３００、又はこれらの計算機に接続された任意の装置に保存される。
【００８２】
また、キャンセラブルパラメータを、パラメータを保存するためのＤＢに保存した上で、登録処理及び認証処理のたびに登録端末１００、認証端末２００、及びサーバ３００に所定のデータを送信し、各端末で所定のキャンセラブル変換を行う方式（例えば、特開２０１０−１４６２４５号公報を参照）が用いられてもよい。
【００８３】
また、本実施形態において、第１テンプレート、及び第２テンプレート、並びにネットワーク通信をさらに暗号化するなど、情報漏えいを防ぐための処理がさらに実施されてもよい。また、本実施形態において、テンプレートＤＢ３０２はサーバ３００以外の記憶装置が保持してもよい。
【００８４】
また、本実施形態において、処理順序の一部が変更されてもよい。例えば、ステップＳ２２０５及びステップＳ２２０６の処理は、ステップＳ２２０４とステップＳ２２０７の間で行われているが、認証処理中のステップＳ２２０７より前の任意の時点で行うように順序が変更されてもよい。
【００８５】
本実施例の生体認証システムにより、テンプレートや認証のために保存しているパラメータや鍵などのデータが漏洩しても生体認証システムへのなりすましが困難であり、かつ高速な、大規模ユーザ向けの、ネットワークを介したＩＤレスな個人認証が実現できる。
【００８６】
このような１：Ｎの個人認証により、ネットバンキングでの認証や決済などをより安全に行うことができ、また、国民ＩＤなどへの適用が期待される。
【実施例２】
【００８７】
実施例１との相違点を説明する。本実施例の生体認証システムにおいて、実施例１におけるステップＳ２３０２のメッセージ生成処理を、サーバ３００ではなく認証端末２００が行うものである。
【００８８】
図４は、本実施例における生体認証システムの構成例を示すブロック図である。認証端末２００は、メッセージ生成部２０９をさらに含む。サーバ３００は、メッセージ生成部３０４を含まないが、実施例１のようにメッセージ生成部３０４を含んでもよい。
【００８９】
図５は、本実施例における登録処理及び認証処理の一例を示すシーケンス図である。実施例１では、サーバ３００はテンプレート検索処理（Ｓ２３０１）の後にメッセージ生成処理（Ｓ２３０２）を行ったが、本実施例ではサーバ３００はメッセージ生成を行わず、認証端末２００がメッセージ生成を行う。
【００９０】
ステップＳ２３０１に続いて、ステップＳ２３１３では、通信部３０６が、メッセージを送らず、第２テンプレートのみを送信する。ステップＳ２３１３は、実施例１のステップＳ２３０３の代わりに実行される処理である。
【００９１】
ステップＳ２２１７では、メッセージ生成部２０９が、メッセージを生成する。メッセージの生成方法は、実施例１と同様である。なお、認証端末２００は、外部の装置で生成されたメッセージを当該装置から受信することにより、メッセージを取得してもよい。
【００９２】
ステップＳ２２０７に続いて、ステップＳ２２１９では、通信部２０８が、認証トークンに加えてメッセージを送信する。ステップＳ２２１９は、実施例１のステップＳ２２０９の代わりに実行される処理である。
【００９３】
本実施例の生体認証システムにおいて、認証端末２００がメッセージを生成することにより、認証端末２００が生成した情報を用いて認証を行ったり、認証端末２００が生成した文書などのデータに署名を行ったりすることができる。
【実施例３】
【００９４】
実施例１との相違点を説明する。本実施例の認証システムの認証処理において、認証端末２００が第２テンプレートを受け取らず、第２認証用特徴量とメッセージから認証トークンを生成する。認証トークン生成部２０７は、認証トークン生成処理において、例えば生体署名を用いる。
【００９５】
図６は、本実施例における登録処理及び認証処理の一例を示すシーケンス図である。ステップＳ１１０６では、第２テンプレート生成部１０６は、第２登録用特徴量に基づき第２テンプレートを生成する。ステップＳ１１０６の例として、第２テンプレート生成部１０６は、第２登録用特徴量に基づき、生体署名方式において登録用特徴量を一方向変換して生体公開鍵を生成する処理（生体公開鍵生成処理）を行い、生体公開鍵を第２テンプレートとする。
【００９６】
ステップＳ２３０２に続いて、ステップＳ２３２３では、通信部３０６がメッセージを送信する。ステップＳ２３２３は、実施例１のステップＳ２３０３の代わりに実行される処理である。つまり、本実施例においては、サーバ３００は、第２テンプレートを認証端末２００に送信しない。
【００９７】
ステップＳ２２０７では、認証トークン生成部２０７が、ステップＳ２２０６で抽出された第２認証用特徴量と、メッセージと、に基づき、生体署名方式において署名用特徴量を用いて任意のメッセージに対する生体署名を生成する処理（生体署名生成処理）を行い、生成された生体署名を認証トークンとする。
【００９８】
ステップＳ２３０４では、検証部３０５が、メッセージと、認証トークンと、ステップＳ２３０１で特定された第２テンプレートと、に基づき検証を行う。例えばステップＳ１１２６で生成された第２テンプレートが生体公開鍵である場合、ステップＳ２３０４では生体署名方式における署名検証処理を行う。
【００９９】
なお、ステップＳ２３０１において複数の第２テンプレートが特定された場合は、検証部３０５は、当該複数の第２テンプレート全てに対して署名検証処理をしてもよいし、ステップＳ２３０１で最初に特定された第２テンプレートを選択するなど、任意の方法で一部の第２テンプレートを選択し、選択した第２テンプレートに対して署名検証処理をしてもよい。生体署名における署名検証処理は通常の認証における照合処理と比べて時間を要するが、署名検証処理を行う第２テンプレートの個数を少なくすることにより、全体の認証時間を短縮化することができる。
【０１００】
本実施例の認証システムは、生体署名方式を用いることにより、テンプレートや認証のために保存しているパラメータや鍵などのデータが漏洩しても、システムのなりすましが困難であり、かつ高速な、大規模ユーザ向けの、ネットワークを介したＩＤレスな個人認証システムを、実現できる。
【実施例４】
【０１０１】
本実施例において、実施例３におけるステップＳ２３０２のメッセージ生成処理を、サーバ３００ではなく認証端末２００が行う。従って、以下、実施例３との相違点を説明する。本実施例の生体認証システムの構成例は、実施例２（図４）と同様であるため、説明を省略する。
【０１０２】
図７は、本実施例における登録処理及び認証処理の一例を示すシーケンス図である。実施例３では、サーバ３００はテンプレート検索処理（Ｓ２３０１）の後にメッセージ生成処理（Ｓ２３０２）、及びメッセージ送信処理（Ｓ２３２３）を実行したが、本実施例ではサーバ３００はメッセージ生成及びメッセージ送信を行わず、認証端末２００がメッセージ生成を行う。
【０１０３】
ステップＳ２２０６に続いて、ステップＳ２２１７では、メッセージ生成部２０９が、メッセージを生成する。メッセージの生成方法については、実施例２と同様である。ステップＳ２２０７に続いて、ステップＳ２２１９では、通信部２０８が、メッセージと認証トークンを送信する。ステップＳ２２１９は、実施例３のステップＳ２２０９の代わりに実行される処理である。
【０１０４】
本実施例の生体認証システムにおいて、認証端末２００がメッセージを生成することにより、認証端末２００が生成した情報を用いて認証を行ったり、認証端末２００が生成した文書などのデータに署名を行ったりすることができる。特に、本実施例の認証システムにおいて、サーバ３００から認証端末２００への通信なしで、メッセージ対する認証トークンを生成できる。
【実施例５】
【０１０５】
本実施例では、１つの端末（クライアント端末と呼ぶ）が登録処理及び認証処理を行う。図８は、本実施例における生体認証システムの構成例を示すブロック図である。前述のとおり、本実施例における生体認証システムは、クライアント端末４００を含む。クライアント端末４００は、例えば、図３に示したハードウェア構成を有する計算機によって構成される。
【０１０６】
クライアント端末４００のＣＰＵ１００１は、第１生体情報取得部１０１、第２生体情報取得部１０２、第１特徴抽出部１０３、第２特徴抽出部１０４、第１テンプレート生成部１０５、第２テンプレート生成部１０６、検索用データ生成部２０５、認証トークン生成部２０７、格納部３０１、テンプレート検索部３０３、及び検証部３０５を含む。クライアント端末４００の補助記憶装置１００３は、テンプレートＤＢ３０２を含む。
【０１０７】
図９は、本実施例における登録処理及び認証処理の一例を示すシーケンス図である。クライアント端末４００による処理は、登録処理（Ｓ１０００）と認証処理（Ｓ２０００）とを含む。
【０１０８】
登録処理（Ｓ１０００）は、ステップＳ１１０１、ステップＳ１１０２、ステップＳ１１０３、ステップＳ１１０４、ステップＳ１１０５、ステップＳ１１０６、ステップＳ１３０１の処理を含む。各処理の内容は実施例１と同様である。
【０１０９】
認証処理（Ｓ２０００）において、クライアント端末４００は、まずステップＳ２２０１、ステップＳ２２０２、ステップＳ２２０３、ステップＳ２３０１、ステップＳ２２０５、及びステップＳ２２０６の処理を行う。各処理の内容は実施例１と同様である。
【０１１０】
続いて、ステップＳ２２４７では、認証トークン生成部２０７が、第２認証用特徴量とステップＳ２３０１で特定された第２テンプレートに基づく認証トークン生成処理を行う。ステップＳ２２４７において、認証トークン生成部２０７は、実施例１又は実施例３における、メッセージ生成処理及び認証トークン生成処理を行ってもよい。なお、認証トークンの生成にメッセージが用いられない場合には、メッセージ生成処理は実行されなくてもよい。
【０１１１】
ステップＳ２２４８では、検証部３０５が、第２テンプレートと認証トークンに基づき検証を行う。検証部３０５は、ステップＳ２２４８において、例えば、実施例１又は実施例３における認証トークン検証処理を行う。
【０１１２】
ステップＳ２２４７及びステップＳ２２４８の処理の具体的な一例について説明する。ただしＳ１１０５でバイオメトリック暗号方式におけるテンプレート生成処理が行われ、擬識別子が秘密鍵のハッシュ値を含むものとする。
【０１１３】
ステップＳ２２４７において、まず認証トークン生成部２０７は、第２認証用特徴量とステップＳ２３４１で特定された第２テンプレートに基づく復元処理を行い、秘密鍵を復元する。その上で、認証トークン生成部２０７は、復元した秘密鍵のハッシュ値を認証トークンに決定するとする。ステップＳ２２４８において、検証部３０５は、認証トークンと、第２テンプレート内の擬識別子に含まれる秘密鍵のハッシュ値を比較することにより検証を行う。
【０１１４】
なお、認証トークン生成部２０７は、抽出した秘密鍵を用いて、特定のメッセージに対して認証トークンを生成してもよい。この場合、クライアント端末４００又は他の装置が、署名を検証することにより、メッセージ作成者や承認者などの本人認証を行うとともに、メッセージが改ざんされていないことを検証できる。
【０１１５】
本実施例により、テンプレートや認証のために保存しているパラメータや鍵などのデータが漏洩してもシステムのなりすましが困難であり、かつ高速な、大規模ユーザ向けのＩＤレスの個人認証システムを、１つの端末内で実現できる。
【０１１６】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることも可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【０１１７】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【０１１８】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１１９】
１００  登録端末、１０３  第１特徴抽出部、１０４  第２特徴抽出部、１０５  第１テンプレート生成部、１０６  第２テンプレート生成部、２００  認証端末、２０３  第１特徴抽出部、２０４  第２特徴抽出部、２０５  検索用データ生成部、２０７  認証トークン生成部、２０９  メッセージ生成部、３００  サーバ、３０２  テンプレートＤＢ、３０３  テンプレート検索部、３０４  メッセージ生成部、３０５  検証部、４００  クライアント端末、１００１  ＣＰＵ、１００２  メモリ、１００３  補助記憶装置、１００４  入力装置、１００５  出力装置、１００６  通信装置
【図１】
2019208133.tif 000003
【図２】
2019208133.tif 000004
【図３】
2019208133.tif 000005
【図４】
2019208133.tif 000006
【図５】
2019208133.tif 000007
【図６】
2019208133.tif 000008
【図７】
2019208133.tif 000009
【図８】
2019208133.tif 000010
【図９】
2019208133.tif 000011