(57)【要約】【課題】生体署名における認証を高速に実行する。【解決手段】生体署名システムは、ユーザの部位から得られる第一生体情報が変換された第一テンプレートと、該ユーザの該部位から得られる第二生体情報が一方向性変換によって変換された第二テンプレートと、を保持し、認証対象者の第一生体情報から第一テンプレートを生成し、パラメータを用いて補正された認証対象者の第一テンプレートと、生体署名システムが保持する第一テンプレートと、の類似度が高くなる、該パラメータを特定し、該特定したパラメータを含む所定範囲に含まれるパラメータそれぞれを用いて補正した認証対象者の第二生体情報それぞれから第二テンプレートを生成し、該生成した第二テンプレートそれぞれと、生体署名システムが保持する第二テンプレートと、を比較して、認証対象者の認証成否を判定する。【選択図】図１
2018207432.tif 000002
【特許請求の範囲】
【請求項１】
生体署名システムであって、
プロセッサとメモリとを含み、
前記メモリは、ユーザの所定の部位から得られる第一生体情報が所定の変換によって変換された結果を示す第一テンプレートと、前記ユーザの前記所定の部位から得られる第二生体情報が所定の一方向性変換によって変換された結果を示す第二テンプレートと、を保持し、
前記プロセッサは、
認証対象者の前記第一生体情報と前記第二生体情報とを取得し、
前記取得した第一生体情報から前記認証対象者の第一テンプレートを生成し、
パラメータを用いて補正された前記認証対象者の第一テンプレートと、前記メモリが保持する第一テンプレートと、の類似度が所定の条件と比較して高くなる、前記パラメータを特定し、
前記特定したパラメータを含む所定範囲に含まれるパラメータそれぞれを用いて、前記認証対象者の第二生体情報を補正し、
前記補正した第二生体情報それぞれから前記認証対象者の第二テンプレートを生成し、
前記生成した第二テンプレートそれぞれと、前記メモリが保持する第二テンプレートと、を比較して、前記認証対象者の認証成否を判定する、生体署名システム。
【請求項２】
請求項１に記載の生体署名システムであって、
前記プロセッサは、前記取得した第一生体情報を前記所定の変換によって変換して、前記認証対象者の第一テンプレートを生成する、生体署名システム。
【請求項３】
請求項１に記載の生体署名システムであって、
前記プロセッサは、前記補正した第二生体情報それぞれを前記所定の一方向性変換によって変換して、前記認証対象者の第二テンプレートを生成する、生体署名システム。
【請求項４】
請求項１に記載の生体署名システムであって、
前記メモリに格納された第一生体情報と第二生体情報の相関係数は、所定値以下である、生体署名システム。
【請求項５】
請求項１に記載の生体署名システムであって、
前記パラメータは、前記第一テンプレート及び前記第二テンプレートの補正における、平行移動量を示すパラメータと回転量を示すパラメータとを含む、生体署名システム。
【請求項６】
請求項１に記載の生体署名システムであって、
前記メモリは、複数のユーザの第一テンプレートと第二テンプレートとを保持し、
前記プロセッサは、
前記メモリが保持する複数の第一テンプレートのうち、前記類似度が所定の条件と比較して高くなる前記パラメータが存在する第一テンプレート、に対応するユーザ群を特定し、
前記特定したユーザ群のユーザそれぞれについて、
特定したパラメータを含む所定範囲に含まれるパラメータそれぞれを用いて、前記認証対象者の第二生体情報を補正して、第二テンプレートを生成し、
当該生成した第二テンプレートそれぞれと、当該ユーザの第二テンプレートと、を比較し、
前記特定したユーザ群それぞれについての比較結果に基づいて、前記認証対象者の認証成否を判定する、生体署名システム。
【請求項７】
生体署名システムが生体署名をする方法であって、
前記生体署名システムは、ユーザの所定の部位から得られる第一生体情報が所定の変換によって変換された結果を示す第一テンプレートと、前記ユーザの前記所定の部位から得られる第二生体情報が所定の一方向性変換によって変換された結果を示す第二テンプレートと、を保持し、
前記方法は、
前記生体署名システムが、
認証対象者の前記第一生体情報と前記第二生体情報とを取得し、
前記取得した第一生体情報から前記認証対象者の第一テンプレートを生成し、
パラメータを用いて補正された前記認証対象者の第一テンプレートと、前記生体署名システムが、が保持する第一テンプレートと、の類似度が所定の条件と比較して高くなる、前記パラメータを特定し、
前記特定したパラメータを含む所定範囲に含まれるパラメータそれぞれを用いて、前記認証対象者の第二生体情報を補正し、
前記補正した第二生体情報それぞれから前記認証対象者の第二テンプレートを生成し、
前記生成した第二テンプレートそれぞれと、前記生体署名システムが保持する第二テンプレートと、を比較して、前記認証対象者の認証成否を判定する、方法。
【請求項８】
請求項７に記載の方法であって、
前記方法は、前記生体署名システムが、前記取得した第一生体情報を前記所定の変換によって変換して、前記認証対象者の第一テンプレートを生成する、方法。
【請求項９】
請求項７に記載の方法であって、
前記方法は、前記生体署名システムが、前記補正した第二生体情報それぞれを前記所定の一方向性変換によって変換して、前記認証対象者の第二テンプレートを生成する、方法。
【請求項１０】
請求項７に記載の方法であって、
前記生体署名システムに格納された第一生体情報と第二生体情報の相関係数は、所定値以下である、方法。
【請求項１１】
請求項７に記載の方法であって、
前記パラメータは、前記第一テンプレート及び前記第二テンプレートの補正における、平行移動量を示すパラメータと回転量を示すパラメータとを含む、方法。
【請求項１２】
請求項７に記載の方法であって、
前記生体署名システムは、複数のユーザの第一テンプレートと第二テンプレートとを保持し、
前記方法は、
前記生体署名システムが、
前記生体署名システムが保持する複数の第一テンプレートのうち、前記類似度が所定の条件と比較して高くなる前記パラメータが存在する第一テンプレート、に対応するユーザ群を特定し、
前記特定したユーザ群のユーザそれぞれについて、
特定したパラメータを含む所定範囲に含まれるパラメータそれぞれを用いて、前記認証対象者の第二生体情報を補正して、第二テンプレートを生成し、
当該生成した第二テンプレートそれぞれと、当該ユーザの第二テンプレートと、を比較し、
前記特定したユーザ群それぞれについての比較結果に基づいて、前記認証対象者の認証成否を判定する、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、生体署名システム及び生体署名方法に関する。
【背景技術】
【０００２】
指紋、顔、静脈、及び虹彩などの身体的特徴に基づき個人を特定する生体認証技術がある。この生体認証技術では、予めユーザから取得した生体情報を登録しておき、認証時に取得した生体情報と照合することで本人か否かを判定する。生体情報は生涯変わらない特徴であるため、非常に機微な個人情報として扱われる。生体情報が万が一漏洩した場合、ユーザは安全に生体認証を使い続けることができなくなるため、生体情報の管理には高い安全性が求められる。
【０００３】
生体情報を安全に保護しつつ、生体情報を鍵としてＰＫＩ（Ｐｕｂｌｉｃ  Ｋｅｙ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ）を実現する技術として、特開２０１３−１２３１４２号公報（特許文献１）がある。この公報には、「登録時にユーザの生体情報の特徴量に対して所定の秘密鍵を埋め込み、対応する公開鍵と組にして生体証明書を発行する。署名時にはユーザの生体情報の署名用特徴量に対して、新たに一時秘密鍵と一時公開鍵のペアを生成し、一時秘密鍵を用いてメッセージに対する署名を作成し、署名用特徴量に一時秘密鍵を埋め込んでコミットメントを作成し、前記一時公開鍵と前記署名と前記コミットメントの組を生体署名とし、生体署名検証時には署名を一時公開鍵で検証し、生体証明書とコミットメントと一時公開鍵から差分秘密鍵と差分公開鍵を生成して対応を検証する。」と記載されている（要約参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１２３１４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の生体認証では、登録されている生体情報と認証対象者の生体情報との類似度を評価し、類似度が一定以上であれば、認証成功とする。ここで、生体情報は取得する度に座標や角度のずれに代表される誤差が発生する。このため、生体情報を照合する際には、座標や角度に誤差に対してロバストな方式を採用する必要がある。
【０００６】
特許文献１に記載の技術は、登録時に取得した生体情報と認証時に取得した生体情報を固定長のベクトルへ変換し、当該ベクトル間のノルムを用いた類似度が一定以上であれば認証が成功したと判定する。ここで、ベクトル間のノルムは座標や角度のずれなどの誤差を許容できないため、特許文献１に記載の技術は、許容範囲内の座標や角度等のパラメータそれぞれに対してベクトルを生成し、認証に成功するかを検証する必要がある。
【０００７】
従って、特許文献１に記載の技術は許容されるパラメータの数及び範囲の大きさに比例して、認証の計算量が増加する。そこで、本発明の一態様は、認証時の計算量を削減し、高速な生体署名システムを実現することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一態様は、以下の構成を採用する。生体署名システムであって、プロセッサとメモリとを含み、前記メモリは、ユーザの所定の部位から得られる第一生体情報が所定の変換によって変換された結果を示す第一テンプレートと、前記ユーザの前記所定の部位から得られる第二生体情報が所定の一方向性変換によって変換された結果を示す第二テンプレートと、を保持し、前記プロセッサは、認証対象者の前記第一生体情報と前記第二生体情報とを取得し、前記取得した第一生体情報から前記認証対象者の第一テンプレートを生成し、パラメータを用いて補正された前記認証対象者の第一テンプレートと、前記メモリが保持する第一テンプレートと、の類似度が所定の条件と比較して高くなる、前記パラメータを特定し、前記特定したパラメータを含む所定範囲に含まれるパラメータそれぞれを用いて、前記認証対象者の第二生体情報を補正し、前記補正した第二生体情報それぞれから前記認証対象者の第二テンプレートを生成し、前記生成した第二テンプレートそれぞれと、前記メモリが保持する第二テンプレートと、を比較して、前記認証対象者の認証成否を判定する、生体署名システム。
【発明の効果】
【０００９】
本発明の一態様は、生体署名における認証を高速に実行できる。上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１０】
【図１】実施例１における生体署名システムの構成例を示すブロック図である。
【図２】実施例１における認証クライアントのハードウェア構成例を示すブロック図である。
【図３】実施例１におけるテンプレート登録の処理の一例を示すフローチャートである。
【図４】実施例１におけるテンプレート格納データベースのデータ構造の一例を示す説明図である。
【図５】実施例１において、１：１型の生体署名検証処理を認証クライアントが行う場合の生体署名処理の一例を示すフローチャートである。
【図６】実施例１における第一テンプレート中間照合処理の一例を示すフローチャートである。
【図７】実施例１における第一テンプレート中間照合結果の一例を示すブロック図である。
【図８】実施例１における第二テンプレート照合処理の一例を示すフローチャートである。
【図９】実施例１において、１：１型の生体署名検証を認証サーバが行う場合の生体署名処理の一例を示すフローチャートである。
【図１０】実施例２における１：Ｎ型の生体署名検証処理の一例を示すフローチャートである。
【図１１】実施例２における候補ユーザセットのデータ構造の一例を示す説明図である。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して本発明の実施形態を説明する。本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。
【実施例１】
【００１２】
実施例１は、ユーザがＩＤを入力する１：１型の生体署名システムを説明する。本実施例の生体署名システムは、第一生体情報を中間照合、第二生体情報を生体署名に活用することで、高速に認証や署名検証を行うことができる。
【００１３】
図１は、実施例１の生体署名システムの構成例を示すブロック図である。生体署名システムは、ネットワークで互いに接続された、認証クライアント１０００及び認証サーバ１２００を含む。なお、生体署名システムは、図１のようなクライアントサーバシステムではなく、１台の計算機によって実現されてもよい。
【００１４】
認証クライアント１０００は、例えば、ＩＤ取得部１０１０、生体情報取得部１０２０、第一特徴量抽出部１０３０、第一テンプレート生成部１０４０、第二特徴量抽出部１０５０、第二テンプレート生成部１０６０、通信部１０７０、第一テンプレート中間照合部１０８０、第二テンプレート照合部１０９０、及び署名生成部１１００を含む。
【００１５】
ＩＤ取得部１０１０は、キーボードなどの入力装置を介して、ユーザのＩＤの入力を受け付ける。生体情報取得部１０２０は、例えば、指紋センサ、静脈センサ、及びカメラ等を介して、ユーザの第一生体情報（例えば手の指紋やしわなどの表層特徴）及び第二生体情報（例えば手の静脈などの深層特徴）を取得する。
【００１６】
第一特徴量抽出部１０３０は、第一生体情報から第一特徴量（例えば、指紋の特徴点、又は手の表皮のしわを強調した画像そのものなど）を抽出する。第一テンプレート生成部１０４０は、第一特徴量に対して変換（例えば、相関不変ランダムフィルタリング等のキャンセラブル変換など）を施して、第一テンプレートを生成する。第二特徴量抽出部１０５０は、第二生体情報から第二特徴量（例えば静脈を強調した画像など）を抽出する。
【００１７】
第二テンプレート生成部１０６０は、第二特徴量に対して生体署名システムにおける一方向性変換を実施し、第二テンプレートを生成する。一方向性変換とは、順方向の変換は容易に計算可能だが、逆方向の変換は計算困難である変換関数（例えばファジー署名等）による変換である。
【００１８】
通信部１０７０は、認証サーバ１２００との間の通信を行う。第一テンプレート中間照合部１０８０は、予め登録された第一テンプレートと認証対象者の第一テンプレートとを照合して、中間照合結果を取得する。第二テンプレート照合部１０９０は、予め登録された第二テンプレートと認証対象者の第二テンプレートとを照合して、最終的な照合結果（認証成功又は失敗を示す結果、及び認証成功時に抽出される秘密鍵などを含む）を取得する。署名生成部１１００は、第二テンプレートを照合して認証が成功した場合に得られる秘密鍵を用いて生体署名を生成する。
【００１９】
認証サーバ１２００は、例えば、通信部１２１０、第一テンプレート中間照合部１２２０、テンプレート取得部１２３０、署名検証部１２４０、及びテンプレート格納データベース１２９０を含む。
【００２０】
通信部１２１０は、認証クライアント１０００との通信を行う。第一テンプレート中間照合部１２２０は、予め登録された第一テンプレートと認証対象者の第一テンプレートとを照合して、中間照合結果を取得する。第一テンプレート中間照合部１２２０による処理は第一テンプレート中間照合部１０８０による処理と同じである。即ち認証クライアント１０００が本処理を行う場合と、認証サーバ１２００が本処理を行う場合とがある。
【００２１】
テンプレート取得部１２３０は、テンプレート格納データベース１２９０から、第一テンプレート及び第二テンプレートを取得する。署名検証部１２４０は、認証クライアント１０００から受信した署名の検証を実行する。テンプレート格納データベース１２９０は、例えば、ユーザから取得した第一テンプレート及び第二テンプレートを、ユーザＩＤと紐づけて格納する。
【００２２】
図２は、認証クライアント１０００のハードウェア構成例を示すブロック図である。認証サーバ１２００のハードウェア構成についても同様であるため、ここでは認証クライアント１０００のハードウェア構成のみを説明する。認証クライアント１０００は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１０１、主記憶装置１１０２、補助記憶装置１１０３、入力装置１１０４、出力装置１１０５、及び通信装置１１０６を含む計算機によって構成される。
【００２３】
ＣＰＵ１１０１は、プロセッサを含み、主記憶装置１１０２に格納されたプログラムを実行する。主記憶装置１１０２は、不揮発性の記憶素子であるＲＯＭ及び揮発性の記憶素子であるＲＡＭを含む。ＲＯＭは、不変のプログラム（例えば、ＢＩＯＳ）などを格納する。ＲＡＭは、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のような高速かつ揮発性の記憶素子であり、プロセッサが実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。
【００２４】
補助記憶装置１１０３は、例えば、磁気記憶装置（ＨＤＤ）、フラッシュメモリ（ＳＳＤ）等の大容量かつ不揮発性の記憶装置であり、ＣＰＵ１１０１が実行するプログラム及びプログラムの実行時に使用されるデータを格納する。すなわち、プログラムは、補助記憶装置１１０３から読み出されて、主記憶装置１１０２にロードされて、ＣＰＵ１１０１によって実行される。
【００２５】
入力装置１１０４は、ユーザからの入力を受けるための装置であり、キーボードやマウスなどを含む。出力装置１１０５は、プログラムの実行結果をユーザが視認可能な形式で出力する装置であり、ディスプレイ装置やプリンタなどを含む。通信装置１１０６は、所定のプロトコルに従って、他の装置との通信を制御する装置であり、通信部１０７０及び通信部１２１０による通信に用いられる。
【００２６】
ＣＰＵ１１０１が実行するプログラムは、リムーバブルメディア（ＣＤ−ＲＯＭ、フラッシュメモリなど）又はネットワークを介して認証クライアント１０００に提供され、非一時的記憶媒体である不揮発性の補助記憶装置１１０３に格納される。このため、認証クライアント１０００は、リムーバブルメディアからデータを読み込むインターフェースを有するとよい。
【００２７】
認証クライアント１０００は、物理的に一つの計算機上で、又は、論理的又は物理的に構成された複数の計算機上で構成される計算機システムであり、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。
【００２８】
ＣＰＵ１１０１は、例えば、主記憶装置１１０２にロードされたＩＤ取得プログラムに従って動作することで、ＩＤ取得部１０１０として機能し、主記憶装置１１０２にロードされた生体情報取得プログラムに従って動作することで、生体情報取得部１０２０として機能する。認証クライアント１０００に含まれる他の部についても同様である。
【００２９】
なお、本実施形態において、生体署名システムが使用する情報は、データ構造に依存せずどのようなデータ構造で表現されていてもよい。例えば、テーブル、リスト、データベース又はキューから適切に選択したデータ構造体が、情報を格納することができる。
【００３０】
図３は、テンプレート登録の処理の一例を示すフローチャートである。まず、認証クライアント１０００のＩＤ取得部１０１０は、ユーザＩＤを取得する（Ｓ２０１０）。具体的には、ＩＤ取得部１０１０は、例えば、入力装置１１０４を介してユーザから入力された英数字等から構成される文字列のユーザＩＤ、を取得する。また、ＩＤ取得部１０１０は、外部からユーザＩＤを取得せずに、例えばランダム又は連番で、英数字等から構成される文字列をユーザＩＤとして発行してもよい。
【００３１】
続いて、生体情報取得部１０２０は、ユーザの生体情報を取得する（Ｓ２０２０）。本実施形態では、生体情報取得部１０２０は、ユーザの生体情報として、同一部位から第一生体情報及び第二生体情報を取得する。第一生体情報は、中間照合に用いられる生体情報である。第一生体情報は、生体署名には用いられず、生体署名の生成や検証に活用される中間照合結果を得るために用いられる。
【００３２】
また、第二生体情報は、生体署名に用いられる生体情報であり、生体情報を高度に保護しつつ認証や署名を実現するために用いられる。第一生体情報と第二生体情報は、ユーザの同一部位から取得可能な情報である。また、第一生体情報と第二生体情報は互いに相関が低いことが望ましい。具体的には、例えば、第一生体情報が漏えい又は公開された場合等において、第一生体情報から第二生体情報が容易に推測されないことが望ましい。
【００３３】
第一生体情報と第二生体情報の取得方法として、例えば以下の方法がある。１つ目の方法は、生体情報のセンシングの段階で二つの異なる生体情報を取得する。当該方法は、具体的には例えば、手の同一部位に照射する光の周波数やその画像処理方式を切り替えることで指紋及び／又はしわなどの表層特徴を第一生体情報として取得し、静脈などの深層特徴を第二生体情報として取得する。
【００３４】
また、２つ目の手法は、一旦単一の生体情報を取得した後、後処理において当該生体情報を第一生体情報と第二生体情報へ分離する。具体的には、例えば、輝度値、色相、周波数、及び位相などの様々な尺度に基づいて同一部位から取得した画像から、相関の低い二つの生体情報を生成し、生成した生体情報それぞれを第一生体情報及び第二生体情報として用いる。いずれの手法においても、テンプレート格納データベース１２９０に格納された第一生体情報と第二生体情報の相関係数が、所定値以上であることが望ましい。
【００３５】
また、当該手法は、同一部位から取得した画像に対して強調処理、及び離散化などの異なる特徴抽出処理を実行することにより、異なる特徴を有する複数の画像を生成し、それぞれを第一生体情報及び第二生体情報として用いてもよい。
【００３６】
第一特徴量抽出部１０３０は、ステップＳ２０２０で取得された第一生体情報から第一特徴量を抽出する（Ｓ２０３０）。第一特徴量は、第一生体情報に対してある特徴抽出処理を施した結果、得られる特徴量である。第一生体情報が指紋画像である場合、第一特徴量抽出部１０３０は、例えば、マニューシャと呼ばれる特徴点の集合を第一特徴量として取得する。また、第一生体情報が表皮のしわ情報である場合、第一特徴量抽出部１０３０は、例えば、画像処理により安定的なしわ情報を第一特徴量として抽出する。
【００３７】
続いて、第一テンプレート生成部１０４０は、ステップＳ２０３０で得られた第一特徴量に対して変換を施し、変換後の結果である第一テンプレートを生成する（Ｓ２０４０）。当該変換は、第一特徴量に対して変換を施さない恒等変換を含む。また、第一テンプレート生成部１０４０は、第一テンプレート生成における変換として、キャンセラブル生体認証と呼ばれる、変換後のテンプレートを照合することで変換前の特徴量間の相関が算出可能な変換、を実行してもよい。
【００３８】
また、第一テンプレート生成部１０４０は、第一テンプレート生成における変換として、ＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）、ＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）などの一般的な暗号化を実行してもよい。
【００３９】
続いて、第二特徴量抽出部１０５０は、ステップＳ２０２０で得られた第二生体情報から第二特徴量を抽出する（Ｓ２０５０）。第二特徴量は、第二生体情報に対してある特徴抽出処理を施した結果、得られる特徴量である。第二生体情報が静脈画像である場合、第二特徴量抽出部１０５０は、例えば、静脈を強調する画像処理を行った上で、輝度値の離散化を行った静脈パターン画像を、第二特徴量として抽出する。
【００４０】
続いて、第二テンプレート生成部１０６０は、ステップＳ２０５０で得られた第二特徴量に対して保護変換、即ち一方向性変換を施し、変換後の結果である第二テンプレートを生成する（Ｓ２０６０）。当該保護変換は、例えば、特許文献１で開示されている生体証明書生成を含む。当該生体証明書は、生体情報を秘密鍵としたときの公開鍵に相当する情報であり、生体情報からの秘密鍵抽出や生体署名の検証に用いられる。本実施例では、第二テンプレート生成部１０６０は、特許文献１における生体証明書に相当する情報を、第二テンプレートとして生成する。
【００４１】
続いて、通信部１０７０は、ステップＳ２０４０で得られた第一テンプレートと、ステップＳ２０６０で得られた第二テンプレートと、ステップＳ２０１０で得られたユーザＩＤと、を紐付けて、認証サーバ１２００へ送信する（Ｓ２０７０）。
【００４２】
認証サーバ１２００の通信部１２１０は、ステップＳ２０７０で送信された情報を受信し（Ｓ２１１０）、テンプレート格納データベース１２９０へ格納する（Ｓ２１２０）。なお、ステップＳ２０１０において、ＩＤ取得部１０１０は、ユーザの属性情報の入力を受け付けてもよい。属性情報は、生体情報から得られるユーザを分類するための情報である。ユーザの性別、年齢、及び人種等は、いずれも属性情報の一例である。ステップＳ２０１０においてユーザの属性情報が得られた場合、ステップＳ２０７０において、通信部１０７０は、当該属性情報もユーザＩＤに紐付けて認証サーバ１２００へ送信する。
【００４３】
認証システムは、以上の手順により、ユーザの初期登録を行い、ユーザのテンプレートを格納する。この初期登録を終えた後、ユーザは後述する認証や生体署名を実施することが可能となる。
【００４４】
図４は、テンプレート格納データベース１２９０のデータ構造の一例を示す説明図である。テンプレート格納データベース１２９０は、１以上のユーザレコード８１００を含む。ユーザレコード８１００は、ユーザごとのデータを格納する。ユーザレコード８１００は、例えば、ユーザＩＤ８１１０、第一テンプレート８１２０、第二テンプレート８１３０、及び属性情報８１４０を含む。
【００４５】
ユーザＩＤ８１１０は、ステップＳ２０１０で付与される、ユーザと一意に紐づく識別子であり、例えば英数字で表わされる文字列で構成される。第一テンプレート８１２０は、ステップＳ２０４０で生成される中間照合に用いられるテンプレートである。第二テンプレート８１３０は、ステップＳ２０６０で生成される生体署名に用いられるテンプレートである。属性情報８１４０は、ステップＳ２０１０において入力される属性を格納する。ユーザの性別、年齢、人種、及び指紋のタイプなどは、いずれも属性の一例である。
【００４６】
図５は、１：１型の生体署名検証処理を認証クライアント１０００が行う場合の生体署名処理の一例を示すフローチャートである。まず、認証クライアント１０００のＩＤ取得部１０１０は認証対象者のユーザＩＤを取得し、通信部１０７０は当該ユーザＩＤを認証サーバ１２００へ送信する（Ｓ３０１０）。
【００４７】
続いて、認証サーバ１２００の通信部１２１０は、ステップＳ３０１０において送信されたユーザＩＤを受信し（Ｓ３２１０）、テンプレート取得部１２３０は、受信したユーザＩＤに紐づく第一テンプレート及び第二テンプレートをテンプレート格納データベース１２９０から取得する（Ｓ３２２０）。
【００４８】
通信部１２１０は、ステップＳ３２２０で得られたテンプレートを、認証クライアント１０００へ送信する（Ｓ３２３０）。なお、ユーザＩＤに紐づく属性情報が存在する場合、ステップＳ３２２０において当該属性情報が取得され、ステップＳ３２２０において当該属性情報も併せて認証クライアント１０００に送信される。
【００４９】
続いて、認証クライアント１０００の通信部１０７０は、テンプレートを受信し（Ｓ３０２０）、生体情報取得部１０２０はユーザから第一生体情報及び第二生体情報を取得する（Ｓ３０３０）。ステップＳ３０３０における生体情報取得処理は、ステップＳ２０２０の処理と同様である。
【００５０】
続いて、第一特徴量抽出部１０３０は第一生体情報から特徴量を抽出し（Ｓ３０４０）、抽出した第一特徴量に変換を施して、第一テンプレートを生成する（Ｓ３０５０）。なお、ステップＳ３０４０の処理はステップＳ２０３０と同様であるが、ステップＳ３０５０の処理はステップＳ２０４０の処理と異なる場合がある。
【００５１】
例えば、キャンセラブル生体認証を用いて第一テンプレートが生成される場合、ステップＳ２０４０において登録側の変換処理が実行され、ステップＳ３０５０において認証側の変換処理が実行される。また、例えば、ステップＳ２０４０においてＤＥＳやＡＥＳなどの暗号化が実行された場合、署名時にクライアント内で暗号化を施す必要がないため、ステップＳ３０５０では何も行わなくてもよい。
【００５２】
続いて、第一テンプレート中間照合部１０８０は、認証サーバ１２００から受信した第一テンプレートと、ステップＳ３０４０で生成した第一テンプレートと、を中間照合する（Ｓ３０６０）。中間照合の詳細な処理に関しては、図６を用いて後述する。
【００５３】
第一テンプレート中間照合部１０８０は、ステップＳ３０６０を実施することにより、第一中間照合結果を得る。第一中間照合結果は、第一テンプレートを照合した際に特定した照合パラメータ及び各照合パラメータに対応する類似度を含む。照合パラメータとは、テンプレートの照合時に、一方のテンプレートを補正するためのパラメータである。生体情報取得時（例えば画像撮影時の）位置ずれや回転角度等を補正するためのパラメータは、照合パラメータの一例である。照合パラメータに対応する類似度とは、当該照合パラメータが示す補正を行った場合における、テンプレート間の類似度である。第一中間照合結果の詳細については、図７を用いて後述する。
【００５４】
第二テンプレート照合部１０９０は、ステップＳ３０６０で得られた第一中間照合結果に基づき、第二照合を行うか否かを判定する（Ｓ３０７０）。具体的には、例えば、第二テンプレート照合部１０９０は、第一中間照合結果に含まれる全ての類似度が所定値未満である場合、第二照合を行わないと判定し、第一中間照合結果に当該所定値以上の類似度が含まれる場合、第二照合を行うと判定する。
【００５５】
なお、ステップＳ３０７０の処理が実施されずにステップＳ３０８０の処理に移行してもよいが、例えば第一中間照合結果等を参照して、他人と判定できる場合には、第二テンプレート照合を行わずに署名失敗とすることで、迅速に結果を出力することができる。
【００５６】
第二テンプレート照合部１０９０は、第二照合を行わないと判定した場合（Ｓ３０７０：Ｎｏ）、生体署名検証処理を終了する。なお、このとき、第二テンプレート照合部１０９０が、入力装置１１０４に認証に失敗した旨を示す表示を行ってもよいし、通信部１０７０が、認証に失敗した旨を認証サーバ１２００に通知してもよい。
【００５７】
第二テンプレート照合部１０９０が第二照合を行うと判定した場合（Ｓ３０７０：Ｙｅｓ）、第二特徴量抽出部１０５０は、ステップＳ３０３０で得られた第二生体情報から、第二特徴量を抽出する（Ｓ３０８０）。ステップＳ３０８０の処理は、ステップＳ２０５０の処理と同様である。
【００５８】
第二テンプレート生成部１０６０は、ステップＳ３０８０で得られた第二特徴量に対して保護変換を施すことで、第二テンプレートを生成する（Ｓ３０９０）。なお、ステップＳ３０９０の処理はステップＳ２０６０とは異なる。
【００５９】
例えば、特許文献１に記載のベクトル間のノルムに基づき認証成功か認証失敗かを決定する方式を第二テンプレート照合に用いる場合、座標や角度等のずれなどによる照合パラメータの誤差が許容されない。従って、第二テンプレート生成部１０６０は、照合パラメータの許容範囲を決め、当該許容範囲内の全ての照合パラメータを用いて第二特徴量を変換する必要がある。
【００６０】
この場合、単一の第二特徴量を多数の照合パラメータで変換された結果それぞれが第二テンプレートとなる。例えば、照合パラメータが座標及び角度を含む場合、各照合パラメータについて、第二特徴量である画像を、当該照合パラメータが示す座標値に従って平行移動させ（つまり、照合パラメータに含まれる座標値は、平行移動量を示す）、かつ当該照合パラメータの角度に従って回転させた画像が生成される。これらの全ての画像それぞれについて、保護変換された第二テンプレートが生成される。
【００６１】
また、例えば、後述する第二テンプレート照合において用いられる第二テンプレートが第二特徴量である場合は、第二テンプレート生成部１０６０は、ステップＳ３０９０において変換を行わない。即ち、第二テンプレート生成部１０６０は、第二特徴量そのものを第二テンプレートに決定する。また、第二テンプレート照合において用いられる第二テンプレートが何らかの保護変換後のデータである場合、第二テンプレート生成部１０６０は、ステップＳ３０９０において当該変換を実行する。
【００６２】
また、第二テンプレート生成部１０６０は、ステップＳ３０９０において、第一中間照合結果に基づき、生成する第二テンプレートを絞り込んでもよい。具体的には、例えば、第二テンプレート生成部１０６０は、ステップＳ３０９０における第二テンプレートを生成する段階で、後述する第二テンプレート照合時に使わない照合パラメータに対応する第二テンプレートは生成しない。これにより、第二テンプレートの生成時間、及び第二テンプレートのデータ量削減を実現することができ、さらに第二テンプレート照合の高速化を実現することができる。
【００６３】
続いて、第二テンプレート照合部１０９０は、認証サーバ１２００から受信した第二テンプレートと、ステップＳ３０９０で生成された第二テンプレートと、を照合し、第二照合結果を取得する（Ｓ３１００）。第二テンプレート照合の詳細な処理については、図８を用いて後述する。
【００６４】
第二テンプレート照合部１０９０は、ステップＳ３０９０の照合において、第一中間照合結果を利用して、一致する可能性のある照合パラメータを予め絞り込むことで、照合の高速化を実現することができる。
【００６５】
第二テンプレート照合部１０９０は、ステップＳ３０９０において照合パラメータで変換された第二テンプレートのうち、予め登録された第二テンプレートとの照合に成功する第二テンプレートを第二照合結果に含める。また、第二テンプレート照合部１０９０は、第二テンプレートそのものではなく、第二テンプレートに対応する秘密鍵を第二照合結果に含めてもよい。
【００６６】
続いて、署名生成部１１００は、署名対象となる平文を取得する（Ｓ３１１０）。例えばユーザが何らかのデータに自らの生体署名を付与して改ざんを防止するとともに真正性を保証したい場合には、署名対象のデータが当該平文である。また、目的が認証サーバ１２００に対してユーザが本人であることを示す認証である場合には、認証サーバ１２００から送信された乱数（以降、チャレンジコードとも呼ぶ）が当該平文である。また、チャレンジコードを用いない場合には、署名生成部１１００は認証クライアント１０００が計測する時刻を取得し、当該時刻を平文としてもよい。
【００６７】
続いて、署名生成部１１００は、ステップＳ３１１０で取得した平文に対して生体署名を生成する（Ｓ３１２０）。署名生成部１１００は、例えば、特許文献１で開示されている方法を用いて生体署名を生成してもよいし、他の生体情報を鍵として用いる任意の方法を用いて生体署名を生成してもよい。署名生成部１１００は、ステップＳ３１２０の処理において、平文とステップＳ３１００で得られる第二照合結果とから、当該平文に対する生体署名を生成する。
【００６８】
続いて、通信部１０７０は、ステップＳ３１１０で得られた平文及びステップＳ３１２０で生成された生体署名を認証サーバ１２００へ送信する（Ｓ３１３０）。ただし、本処理の目的が認証であり、かつ平文として認証サーバ１２００から受信したチャレンジコードが用いられている場合には、通信部１０７０は平文を送信する必要はない。
【００６９】
続いて、認証サーバ１２００の通信部１２１０は、ステップＳ３１３０で認証クライアント１０００が送信した平文及び生体署名を受信する（Ｓ３２４０）。続いて、署名検証部１２４０は、ステップＳ３２４０で受信した生体署名を検証する（Ｓ３２５０）。署名検証部１２４０は、生体署名検証において、特許文献１で開示されている方法を用いてもよいし、その他の生体情報を鍵として用いる任意の生体署名システムにおける署名検証を実施してもよい。
【００７０】
ステップＳ３２５０の処理において、署名検証部１２４０は、平文、生体署名、及びステップＳ３２２０で得られた第二テンプレートを用いて、生体署名が有効なであるか否かを検証する。ただし、平文として認証サーバ１２００が送信したチャレンジコードが用いられている場合には、署名検証部１２４０は、当該チャレンジコードと、当該チャレンジコードに対する生体署名（この場合はレスポンスコード）と、第二テンプレートと、を用いて検証する。
【００７１】
ステップＳ３０２０で受信した第二テンプレートと、ステップＳ３０９０で取得された第二テンプレートと、の誤差が一定未満であり、かつ平文に対する署名が改ざんされていなければ、署名検証部１２４０による検証は成功する。これにより、ユーザの認証またはユーザが生成した平文に対する高速な生体署名検証が実現する。
【００７２】
図６は、第一テンプレート中間照合処理の一例を示すフローチャートである。第一テンプレート中間照合における入力は、登録側の第一テンプレート（即ちステップＳ３０２０で受信した第一テンプレート）と認証側の第一テンプレート（ステップＳ３０５０で生成された第一テンプレート）である。第一テンプレート中間照合部１０８０は、第一テンプレート中間照合において、この２つの第一テンプレートを照合し、第一中間照合結果を出力する。以下、図面を参照して詳細に説明する。
【００７３】
まず、第一テンプレート中間照合部１０８０は、第一テンプレートの事前照合を実施する（Ｓ６０１０）。この事前照合は、ステップＳ６０２０以降の個々の照合パラメータにおける第一テンプレート中間照合結果を取得する前に一括して行われる処理である。
【００７４】
例えば、第一テンプレート照合にキャンセラブル生体認証として相関不変ランダムフィルタリングが適用される場合には、当該処理は、照合時に行われる登録側の第一テンプレートと認証側の第一テンプレートの間の各照合パラメータにおける相関係数を示す相関マップの生成処理に相当する。なお、当該相関係数として、例えば、登録側の第一テンプレートと認証側の第一テンプレートの第一特徴量の相関係数、又は登録側の第一テンプレートと認証側の第一テンプレートの画像の各点における輝度値の相関係数などが用いられる。
【００７５】
また、例えば、登録側の第一テンプレートの生成においてＤＥＳやＡＥＳなどの一般的な暗号化が施されている場合には、当該処理は当該暗号化されている第一テンプレートを復号する処理に相当する。
【００７６】
続いて、第一テンプレート中間照合部１０８０は、第一照合パラメータへ照合パラメータの初期値を代入する（Ｓ６０２０）。第一テンプレート中間照合部１０８０は、例えば、座標や角度を照合パラメータとして用いる場合には、座標や角度の最小値を初期値として代入し、パラメータの値を逐次的に増加させていくことで網羅的に各照合パラメータにおける照合を実施することができる。
【００７７】
続いて、第一テンプレート中間照合部１０８０は、現状代入されている照合パラメータにおける、登録側の第一テンプレートと認証側の第一テンプレートの類似度を取得する（Ｓ６０３０）。第一テンプレート中間照合部１０８０は、例えば、上述した相関マップを生成した場合、当該照合パラメータに対応する相関係数を類似度として取得する。
【００７８】
続いて、第一テンプレート中間照合部１０８０は、直近のステップＳ６０３０で得られた類似度と、第一中間照合結果に含まれる類似度の最大値と、を比較し、直近のステップＳ６０３０で得られた類似度が当該最大値を超える場合、第一テンプレート中間照合結果を更新する（Ｓ６０４０）。
【００７９】
なお、上述のように類似度が当該最大値を超える場合にのみ、第一テンプレート中間照合部１０８０が第一テンプレート中間照合結果を上書きする場合は、１つの結果しか得られない。第一テンプレート中間照合部１０８０は、直近のステップＳ６０３０で得られた類似度を当該最大値ではなく所定の閾値と比較して、閾値よりも大きい場合に、第一テンプレート中間照合結果へ情報を追記してもよい。この場合、複数の結果が得られることになる。
【００８０】
第一テンプレートの照合精度が十分に高ければ、１つの第一テンプレート中間照合結果でも精度を確保することができるが、当該照合精度が十分でない場合には、複数の第一テンプレート中間照合結果を許容し絞り込みによる精度劣化を防止した方がよい場合もある。
【００８１】
なお、第一テンプレート中間照合部１０８０は、ステップＳ６０４０において、第一テンプレート中間照合結果を更新する場合、例えば、予め定められた条件等に基づいて、認証側の第一生体情報から属性情報を推測し、推測した属性情報を第一テンプレート中間照合結果に含めてもよい。
【００８２】
属性情報は、前述したように生体情報から得られるユーザを分類するための情報である。例えば、第一生体情報として顔画像が用いられている場合、第一テンプレート中間照合部１０８０は、ユーザの性別、年齢、人種等の属性情報を、顔画像から推定することができる。また、第一生体情報として指紋が用いられている場合は、第一テンプレート中間照合部１０８０は、ループ、ホイール、及びアーチ等の指紋のタイプを属性情報として利用することができる。属性情報は、候補ユーザの絞り込みに利用されることにより、照合のさらなる高速化が実現される。
【００８３】
図７は、第一テンプレート中間照合結果の一例を示すブロック図である。第一テンプレート中間照合結果９０００は、例えば、照合パラメータ９１００、類似度９１３０、及び属性情報９２００を含む。
【００８４】
図７の例では、照合パラメータ９１００は座標９１１０、及び回転角度９１２０を含む。つまり、ステップＳ６０４０の第一中間照合結果更新時において、第一テンプレート中間照合部１０８０は、現在の照合パラメータを９１００に格納し、類似度を９１３０へ格納する。さらに、第一テンプレート中間照合部１０８０は、第一生体情報から推定される属性情報９２００へ代入してもよい。
【００８５】
続いて、第一テンプレート中間照合部１０８０は、第一照合パラメータへ次の値を代入し（Ｓ６０５０）、第一照合パラメータの探索が完了したか否か、即ち所定範囲の第一照合パラメータの値を全て代入したか否か、を判定する（Ｓ６０６０）。探索が完了していなければ（Ｓ６０６０：Ｎｏ）、第一テンプレート中間照合部１０８０は、ステップＳ６０３０へ戻り探索を継続する。探索が完了していれば（Ｓ６０６０：Ｙｅｓ）、第一テンプレート中間照合部１０８０は、第一テンプレート中間照合結果を出力して（Ｓ６０７０）、第一テンプレート中間照合処理を完了する。
【００８６】
第一テンプレート中間照合処理により、第一テンプレートの類似度が高くなるときの照合パラメータ及び属性情報を含む第一テンプレート中間照合結果が得られる。第二テンプレート照合部１０９０は、第一テンプレート中間照合結果を、第二テンプレート照合に利用して、第二テンプレートの照合候補を絞り込むことで、照合の高速化を実現することができる。
【００８７】
図８は、第二テンプレート照合処理の一例を示すフローチャートである。第二テンプレート照合部１０９０は、登録側の第二テンプレート（ステップＳ３０２０で受信した第二テンプレート）と認証側の第二テンプレート（ステップＳ３０９０で生成された第二テンプレート）とを照合し、照合結果（一致または不一致）と、第二テンプレート又は第二テンプレートから抽出される秘密鍵と、を出力する。以下、図面を参照して詳細を説明する。
【００８８】
まず、第二テンプレート照合部１０９０は、ステップＳ６０７０で得られた第一テンプレート中間照合結果を取得する（Ｓ７０１０）。続いて、第二テンプレート照合部１０９０は、ステップＳ７０１０で得られた第一テンプレート中間照合結果に基づき、第二照合パラメータセットを生成する（Ｓ７０２０）。
【００８９】
図７に示したように、第一テンプレート中間照合結果９０００は、第一テンプレートの類似度が高いときの照合パラメータ９１００を含む。第一テンプレートと第二テンプレートはユーザの同一部位から取得された生体情報が変換されたものであるため、照合時の座標や回転角度など生体のずれに起因する照合パラメータは、共通である。
【００９０】
即ち、正しい照合パラメータが採用された場合に、第一テンプレートの類似度も、第二テンプレートの類似度も高くなると考えられる。第二テンプレート照合部１０９０は、ステップＳ７０１０の処理において、この性質を利用して、第二テンプレート照合の際に探索する照合パラメータを、第一テンプレート中間照合結果に含まれる照合パラメータ及びその近傍に限定する。
【００９１】
例えば、第一テンプレートの照合パラメータが座標（１０，１０）、回転角度（５度）であれば、第二テンプレート照合部１０９０は、第二テンプレート照合時に、座標（１０±α，１０±α）、回転角度（５±β度）の範囲の照合パラメータを探索する。ただし、α（０≦α）は座標に対する予め定められた許容誤差であり、β（０≦β）は回転角度に対する予め定められた許容誤差である。許容誤差は、第二テンプレート照合における探索範囲が、第一パラメータ中間照合における探索範囲に含まれるよう定められている。
【００９２】
第二テンプレート照合部１０９０は、例えば、この許容範囲内の照合パラメータの組み合わせを第二照合パラメータセットとして生成する。また、第一テンプレート中間照合結果に複数の照合パラメータが含まれる場合には、第二テンプレート照合部１０９０は、全ての照合パラメータについて近傍の範囲を求め、全ての照合パラメータ及び全ての近傍の和集合を、第二照合パラメータセットとして生成する。
【００９３】
従来の生体署名方式において、許容される全ての照合パラメータからなる集合が第二照合パラメータセットとして用いられる必要がある。従って、従来の生体署名方式において、第二照合パラメータセットは膨大な数の照合パラメータを含む。しかし、本実施例において、第二テンプレート照合部１０９０は、第二照合パラメータセットに含まれる照合パラメータを第一テンプレートの照合パラメータの近傍に限定することで、パラメータ数を抑え、照合処理の高速化を実現している。
【００９４】
続いて、第二テンプレート照合部１０９０は、第二照合パラメータに初期値を代入する（Ｓ７０３０）。ステップＳ７０２０で第二照合パラメータの取り得る全ての組み合わせが第二照合パラメータセットに格納されているため、第二テンプレート照合部１０９０は、例えば、第二照合パラメータセットの最初に格納されている照合パラメータを初期値として用いる。
【００９５】
続いて、第二テンプレート照合部１０９０は、ステップＳ７０３０で代入された第二照合パラメータに対応する第二テンプレートを選択する（Ｓ７０４０）。続いて、第二テンプレート照合部１０９０は、ステップＳ７０４０で選択した第二テンプレートと、登録側の第二テンプレートと、を照合し、両者が一致するか否かを判定する（Ｓ７０５０）。第二テンプレート照合部１０９０は、例えば、特許文献１で開示されている生体署名の検証方法を用いて、ステップＳ７０５０の処理を実行する。
【００９６】
第二テンプレート照合部１０９０は、ステップＳ７０５０において第二テンプレートが一致したと判定した場合、そのステップＳ７０５０で選択した第二テンプレート、又は当該第二テンプレートから抽出した秘密鍵を第二照合結果へ含める（Ｓ７０６０）。秘密鍵は、第二テンプレートの照合が成功した時にのみ抽出することができる情報である。この秘密鍵を用いて生成された署名は、テンプレート格納データベース１２９０に格納されている第二テンプレートを用いて検証することができる。
【００９７】
なお、第二テンプレート照合部１０９０は、ステップＳ７０５０において第二テンプレートが一致しなかったと判定した場合、ステップＳ７０６０において第二照合結果を更新せず、後述するステップＳ７０７０に遷移する。また、第二テンプレート照合部１０９０は、ステップＳ７０５０において第二テンプレートが一致したと判定した場合、上述のようにステップＳ７０６０において第二照合結果を更新した後、後述するステップＳ７０９０に遷移してもよい。
【００９８】
続いて、第二テンプレート照合部１０９０は、第二照合パラメータへ次の値を代入する（Ｓ７０７０）。続いて、第二テンプレート照合部１０９０は、第二照合パラメータが、第二照合パラメータセットに含まれる照合パラメータを全て探索し終えたか、即ち第二照合パラメータセットに含まれる値を全て代入したか否か、を判定する（Ｓ７０８０）。第二テンプレート照合部１０９０は、照合パラメータを全て探索し終えた場合（Ｓ７０８０：Ｙｅｓ）、そのときの第二照合結果を出力して（Ｓ７０９０）、第二テンプレート照合処理を完了する。第二テンプレート照合部１０９０は、照合パラメータを探索し終えていない場合（Ｓ７０８０：Ｎｏ）、ステップＳ７０４０に戻り探索を継続する。
【００９９】
第二テンプレート照合部１０９０は、第二テンプレート照合処理により、第二照合結果として、第二テンプレート又は第二テンプレートから抽出される秘密鍵を得る。なお、第二テンプレート照合部１０９０が第二テンプレートの照合に失敗した場合（全ての照合パラメータにおいて認証側の第二テンプレートと登録側の第二テンプレートとが一致しなかった場合）は、第二照合結果として第二テンプレート及び秘密鍵を取得することができないため、ステップＳ３１１０以降の生体署名処理を中止し、認証失敗とする。
【０１００】
上述した図５の例では、認証クライアント１０００が生体署名の検証を行い、検証可能な鍵で署名を生成した上で認証サーバ１２００へ送信する。これに対して、認証クライアント１０００が認証サーバ１２００から一切情報を取得せずに、オフラインで生体署名を生成してもよい。この場合は、生体署名の検証を認証サーバ１２００側で行うことになる。
【０１０１】
図９は、１：１型の生体署名検証を認証サーバ１２００が行う場合の生体署名処理の一例を示すフローチャートである。図５との相違点について説明する。図５の処理を実現するために、認証サーバ１２００は、第一テンプレート生成部及び第二テンプレート照合部を含む。
【０１０２】
ステップＳ３０９０において、署名生成部１１００は、第一テンプレートの中間照合結果を用いた絞り込みを行えないため、絞り込みを行わず、許容される全ての照合パラメータに対応する第二テンプレートを用いて、生体署名を生成する。
【０１０３】
通信部１０７０は、ステップＳ３０１０で得られたユーザＩＤ、ステップＳ３０５０で得られた第一テンプレート、ステップＳ３０７０で得られた第二テンプレート、ステップＳ３０８０で得られた平文、及びステップＳ３０９０で得られた生体署名を、認証サーバ１２００へ送信する（Ｓ４０１０）。
【０１０４】
認証サーバ１２００の通信部１２１０は、ユーザＩＤ、第一テンプレート、第二テンプレート、平文、及び生体署名を受信する（Ｓ４２１０）。続いて、テンプレート取得部１２３０は、受信したユーザＩＤに紐づく登録側テンプレートを、テンプレート格納データベース１２９０から取得する（Ｓ４２２０）。
【０１０５】
ステップＳ４２３０〜Ｓ４２５０の処理は、図５における認証クライアント１０００が実行する同名の処理と同様であるため説明を省略する。なお、図９の例では、認証サーバ１２００がこれらの処理を実行する。ステップＳ４２５０の後、署名検証部１２４０はステップＳ３２５０の署名検証処理を実行する。
【実施例２】
【０１０６】
本実施例の生体署名システムは、ユーザがＩＤを入力しない１：Ｎ型の生体署名を実施する。本実施例の生体署名システムにおいても、第一生体情報を中間照合、第二生体情報を生体署名に活用することで、高速に認証や署名検証が行うことができる。以下、実施例１との相違点を説明する。
【０１０７】
図１０は、１：Ｎ型の生体署名検証処理の一例を示すフローチャートである。図５との相違点を説明する。１：Ｎ型の生体署名においては、認証対象者のユーザＩＤが入力されないため、図１０の処理は、ステップＳ３０３０から開始し、その後ステップＳ３０４０、ステップＳ３０５０が実行される。
【０１０８】
続いて、通信部１０７０は、ステップＳ３０５０で生成された第一テンプレートを、認証サーバ１２００へ送信する（Ｓ５０１０）。認証サーバ１２００の通信部１２１０は、第一テンプレートを受信する（Ｓ５２１０）。テンプレート格納データベース１２９０にＮ件の第一テンプレートが格納されているものとする。第一テンプレート中間照合部１２２０は、ステップＳ５２１０で受信した第一テンプレートと、テンプレート格納データベース１２９０に格納されている全ての（即ちＮ件の）第一テンプレートそれぞれと中間照合を行う（Ｓ５２２０〜Ｓ５２５０）。
【０１０９】
続いて、第一テンプレート中間照合部１２２０は、ステップＳ５２３０で得られた第一テンプレート中間照合結果９０００から、候補ユーザセットを作成する（Ｓ５２６０）。なお、例えば、第一テンプレート中間照合部１２２０は、第一テンプレート中間照合結果における類似度が所定値以上であるユーザの情報のみを、候補ユーザセットに含める。また、ステップＳ３０３０において生体情報とともに属性情報が入力された場合、第一テンプレート中間照合部１２２０は、認証側の第一生体情報から属性情報を推測し、推測した属性情報と入力された属性情報が一致しないユーザの情報を候補ユーザセットに含めなくてもよい。候補ユーザセットのデータ構造例は、図１１を参照して後述する。
【０１１０】
続いて、通信部１２１０は、ステップＳ５２６０で得られた候補ユーザセットを認証クライアント１０００へ送信する（Ｓ５２７０）。認証クライアント１０００の通信部１０７０は、認証サーバ１２００から候補ユーザセットを受信する（Ｓ５０２０）。第二テンプレート照合部１０９０は、候補ユーザセットに含まれる各ユーザ（候補ユーザセットに含まれるユーザ数がＭ件であるものとする）についてのみ、当該ユーザに対応する照合パラメータを用いて、第二テンプレート照合を実施する（Ｓ５０３０〜Ｓ５０６０）。
【０１１１】
従来の１：Ｎ型の生体署名システムは、認証クライアント又は認証サーバにおいてＮ件の（即ち登録されている全ての）第二テンプレート全てに対する署名検証を行う必要がある。生体署名の検証処理は、第一テンプレートの中間照合に比べて計算量が多い処理である。１：Ｎ型は１：１型と比較してＮ倍の検証処理が発生するため、署名検証に要する時間が非常に長い。
【０１１２】
これに対して本実施形態の生体署名システムは、認証サーバ１２００で第一テンプレートの中間照合を行い、第二テンプレート照合の対象とするユーザ及び照合パラメータを絞り込むことにより、認証や署名検証を高速化することができる。なお、例えば第一テンプレートの中間照合を認証クライアント１０００が行ってもよく、また、第二テンプレートの照合を認証サーバ１２００が行ってもよい。
【０１１３】
図１１は、候補ユーザセットのデータ構造の一例を示す説明図である。候補ユーザセット９５００は、１以上の候補ユーザレコード９６００を含む。候補ユーザレコード９６００は、及び第二テンプレートの照合を行うべきと判定された候補ユーザに関する情報を格納する。具体的には、候補ユーザレコード９６００は、例えば、ユーザＩＤ９６１０、第一テンプレート中間照合結果９６２０、第二テンプレート９６３０を含む。
【０１１４】
ユーザＩＤ９１１０は、候補ユーザのユーザＩＤを格納する。第一テンプレート中間照合結果９６２０は、ステップＳ５２３０の第一テンプレート中間照合で得られる結果であり、例えば、図７に示した第一テンプレート中間照合結果９０００と同様の構造を有する。第二テンプレート９６３０は、ステップＳ３０９０で生成されるデータである。
【０１１５】
認証サーバ１２００が、上記のデータ構造を有する候補ユーザセット９５００を認証クライアント１０００へ送信し、認証クライアント１０００が、候補ユーザセット９５００に含まれるユーザに対して、第二テンプレートの照合を行うことで、高速な署名生成及び署名検証が実現できる。
【０１１６】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることも可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【０１１７】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【０１１８】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１１９】
１０００  認証クライアント、１０４０  第一テンプレート生成部、１０６０  第二テンプレート生成部、１０８０  第一テンプレート中間照合部、１０９０  第二テンプレート照合部、１１０１  ＣＰＵ、１１０２  主記憶装置、１１０３  補助記憶装置、１１０４  入力装置、１１０５  出力装置、１１０６  通信装置、１２００  認証サーバ、１２２０  第一テンプレート中間照合部、１２３０  テンプレート取得部、１２９０  テンプレート格納データベース
【図１】
2018207432.tif 000003
【図２】
2018207432.tif 000004
【図３】
2018207432.tif 000005
【図４】
2018207432.tif 000006
【図５】
2018207432.tif 000007
【図６】
2018207432.tif 000008
【図７】
2018207432.tif 000009
【図８】
2018207432.tif 000010
【図９】
2018207432.tif 000011
【図１０】
2018207432.tif 000012
【図１１】
2018207432.tif 000013