(57)【要約】  秘匿性の高い情報認証を行うことを目的とする。  登録時、クライアント端末（２００）は、登録用の生体情報から特徴多項式を生成し、この特徴多項式に、所定の整数を乗算し、さらに、ノルムの小さな多項式であるテンプレート多項式（φ）の逆多項式を乗算した補助多項式（ｈ）を保存するとともに、テンプレート多項式（φ）を認証サーバ（１００）へ送信する。認証サーバ（１００）は、テンプレート多項式（φ）を記憶部（１０５）に保存する。認証時、クライアント端末（２００）は、認証用の生体情報から特徴多項式を生成し、補助多項式（ｈ）に、この特徴多項式を乗算し、さらにノルムの小さな乱数多項式を加算した認証用多項式を認証サーバ（１００）へ送信する。認証サーバ（１００）は、認証用多項式に、テンプレート多項式（φ）を乗算した結果を基に、登録用・認証用生体情報の認証判定することを特徴とする。
2012056582.tif 000002
【特許請求の範囲】
【請求項１】
クライアント端末と、認証サーバと、で行う情報の認証における情報認証方法であって、
登録時において、
前記クライアント端末は、
登録用の情報を入力部を介して取得すると、
前記登録用の情報を基に、第１の特徴多項式を生成し、
所定の整数および多項式を法とし、多項式の剰余乗算に関する逆数である逆多項式を有する、ノルムが予め設定してある所定の値以下であるテンプレート多項式を生成し、
前記テンプレート多項式の前記逆多項式と所定の整数を前記第一の特徴多項式に乗算することで、補助多項式を算出し、
前記補助多項式を自身の記憶部に保存するとともに、前記テンプレート多項式を認証サーバへ送信し、
前記テンプレート多項式を受信した認証サーバは、
前記受信したテンプレート多項式を記憶媒体に保存し、
認証時において、
前記クライアント端末は、
認証用の情報を入力部を介して取得すると、
前記認証用の情報を基に、第２の特徴多項式を生成し、
ノルムが、予め設定してある所定の値以下である第１の乱数多項式を生成し、
前記補助多項式に、前記第２の特徴多項式を乗算し、当該乗算の結果に前記第１の乱数多項式を加算した第１の認証用多項式を算出し、
前記第１の認証用多項式を前記認証サーバへ送信し、
前記第１の認証用多項式を受信した認証サーバは、
前記第１の認証用多項式に、前記テンプレート多項式の逆多項式を乗算し、当該乗算の結果を前記所定の整数で除算し、
当該除算の結果を基に、前記登録用の情報と、前記認証用の情報の一致・不一致を判定する
ことを特徴とする情報認証方法。
【請求項２】
クライアント端末と、認証サーバと、で行う情報の認証における情報認証方法であって、
登録時において、
前記クライアント端末は、
登録用の情報を入力部を介して取得し、
前記登録用の情報に基いて前記情報を特徴付ける第１の特徴多項式ａを生成し、
マスク多項式ｓをランダムに生成し、
所定の整数および多項式を法とし、多項式の剰余乗算に関する逆数である逆多項式を有する、ノルムが予め設定してある所定の値以下である、テンプレート多項式φを生成し、
前記マスク多項式ｓに所定の整数ｐと前記第一の特徴多項式ａの積を加算した値に、更に前記テンプレート多項式φの逆多項式φ−１を乗算することで、補助多項式ｈ＝（ｓ＋ｐａ）＊φ−１を算出し、
前記算出した補助多項式ｈおよびマスク多項式ｓを当該クライアント端末の記憶部に保存し、
前記テンプレート多項式φを認証サーバへ送信し、
前記テンプレート多項式φを受信した前記認証サーバは、当該受信したテンプレート多項式φを記憶媒体に保存し、
認証時において、
前記クライアント端末は、
認証用の情報を前記入力部を介して取得し、
前記認証用の情報に基いて前記情報を特徴付ける第２の特徴多項式ｂを生成し、
ノルムが予め設定してある所定の値以下である第１の乱数多項式を生成し、
認証用多項式ｖ＝ｈｂ＋ψおよびｗ＝ｓｂを算出し、
前記算出した認証用多項式ｖ，ｗを前記認証サーバへ送信し、
前記認証用多項式ｖ，ｗを受信した前記認証サーバは、
前記記憶媒体から前記テンプレート多項式φを取得し、
多項式ｃ’’＝ｖφ―ｗを算出すると、当該多項式ｃ’’を前記所定の整数ｐで除算し、各係数の整数部分を抽出した多項式ｃ’を算出し、
前記ｃ’のうち、前記設定項の各係数を類似度として、予め設定してある閾値と、を比較することによって、前記登録用の情報と、前記認証用の情報と、一致・不一致を判定する
ことを特徴とする情報認証方法。
【請求項３】
クライアント端末と、認証サーバと、で行う情報の認証における情報認証方法であって、
登録時において、
前記クライアント端末は、
登録用の情報を入力部を介して取得し、
前記登録用の情報から、前記情報を特徴付ける配列である第１の特徴量を算出し、
前記特徴量の各配列を係数として有する多項式である第１の特徴多項式ａを生成し、
マスク多項式ｓをランダムに生成し、
係数の絶対値の最大値であるノルムが、予め設定してある所定の値以下であり、非ゼロの係数の個数が、予め設定してある所定の数以下であり、かつ、逆元となる多項式を有するテンプレート多項式φを生成し、
所定の整数ｐを用いて、補助多項式ｈ＝（ｓ＋ｐａ）φ−１を算出し、
前記算出した補助多項式ｈおよびマスク多項式ｓを記憶部に保存するとともに、前記テンプレート多項式φを認証サーバへ送信し、
前記テンプレート多項式φを受信した前記認証サーバは、
当該受信したテンプレート多項式φを記憶媒体に保存し、
認証時において、
前記クライアント端末は、
認証用の情報を前記入力部を介して取得し、
前記認証用の情報から、前記情報を特徴付ける配列である第２の特徴量を算出し、
前記特徴量の各配列を係数として有する多項式である第２の特徴多項式ｂを生成し、
係数の絶対値の最大値であるノルムが、予め設定してある所定の値以下であり、かつ非ゼロの係数の個数が、予め設定してある所定の数以下である乱数多項式ψを生成し、
ランダムな有限値を係数として有するが、予め設定してある項である設定項の係数の値が所定の値以下のランダムな有限値である前記乱数多項式ψとは異なる乱数多項式ｒを生成し、
認証用多項式ｖ＝ｈｂ＋ψおよびｗ＝ｓｂ−ｒを算出し、
前記算出した認証用多項式ｖ，ｗを前記認証サーバへ送信し、
前記認証用多項式ｖ，ｗを受信した前記認証サーバは、
前記記憶部から前記テンプレート多項式φを取得し、
多項式ｃ’’＝ｖφ―ｗを算出すると、当該多項式ｃ’’を前記所定の整数ｐで除算し、各係数の整数部分を抽出した多項式ｃ’を算出し、
前記ｃ’のうち、前記設定項の各係数を類似度として、予め設定してある閾値と、を比較することによって、前記登録用の情報と、前記認証用の情報と、一致・不一致を判定する
ことを特徴とする情報認証方法。
【請求項４】
前記所定の整数ｐは、（ψφ＋ｒ）／ｐにおける係数のうち、少なくとも前記設定項における係数の値の整数部分が０となる値である
ことを特徴とする請求の範囲第３項に記載の情報認証方法。
【請求項５】
前記所定の整数ｐは、（ψφ＋ｒ）／ｐにおける設定項において、少なくとも１つの係数の値の整数部分が１以上となる値である
ことを特徴とする請求の範囲第３項に記載の情報認証方法。
【請求項６】
前記登録用の情報および前記認証用の情報が、配列ｎの１次元情報であるともに、
前記第１の特徴量ａおよび前記第２の特徴量ｂが、サイズｎの１次元配列であり、算出する前記類似度の数を２Δｉ＋１とした場合、
前記第１の特徴多項式ａ、前記第２の特徴多項式ｂは、１変数ｎ次多項式であり、前記乱数多項式ｒは、１変数であり該変数の次数はｎ＋Δｉ―１次以下の多項式である
ことを特徴とする請求の範囲第３項に記載の情報認証方法。
【請求項７】
前記第１の特徴量および前記第２の特徴量は、虹彩コードである
ことを特徴とする請求の範囲第６項に記載の情報認証方法。
【請求項８】
前記登録用の情報および前記認証用の情報が、配列数がｎ×ｍの２次元情報であるともに、
前記第１の特徴量および前記第２の特徴量が、サイズｎ×ｍの２次元配列であり、算出する前記類似度の数を（２Δｉ＋１）×（２Δｊ＋１）とした場合、
前記第１の特徴多項式ａ、前記第２の特徴多項式ｂは、一方の変数の次数がｎ次であり、他方の変数の次数がｍ次である２変数多項式であり、前記乱数多項式ｒは、一方の変数の次数がｎ＋Δｉ―１次以下であり、他方の変数の次数がｎ＋Δｊ―１次以下である２変数多項式である
ことを特徴とする請求の範囲第３項に記載の情報認証方法。
【請求項９】
前記登録用の情報および前記認証用の情報は、静脈画像である
ことを特徴とする請求の範囲第８項に記載の情報認証方法。
【請求項１０】
クライアント端末と、認証サーバと、で行う情報の認証における情報認証システムであって、
前記クライアント端末は、
登録時において、
登録用の情報を入力部を介して取得すると、
前記登録用の情報を基に、第１の特徴多項式を生成し、
前記第１の特徴多項式に、所定の整数を乗算し、さらに、所定の整数および多項式を法とした、多項式の剰余乗算に関する逆数である逆多項式を有するノルムが予め設定してある所定の値以下である多項式であるテンプレート多項式を生成し、当該テンプレート多項式の前記逆多項式を乗算することで、補助多項式を算出し、
前記補助多項式を自身の記憶部に保存するとともに、前記テンプレート多項式を認証サーバへ送信し、
認証時において、
認証用の情報を入力部を介して取得すると、
前記認証用の情報を基に、第２の特徴多項式を生成し、
ノルムが、予め設定してある所定の値以下である第１の乱数多項式を生成し、
前記補助多項式に、前記第２の特徴多項式を乗算し、当該乗算の結果に前記第１の乱数多項式を加算したた第１の認証用多項式を算出し、
前記第１の認証用多項式を前記認証サーバへ送信するものであり、
前記認証サーバは、
登録時において、
前記テンプレート多項式をを前記クライアント端末から受信すると、、前記受信したテンプレート多項式を記憶媒体に保存し、
認証時において、
前記第１の認証用多項式を前記クライアント端末から受信すると、
前記第１の認証用多項式に、前記テンプレート多項式の逆多項式を乗算し、当該乗算の結果を前記所定の整数で除算し、
当該除算の結果を基に、前記登録用の情報と、前記認証用の情報の一致・不一致を判定するものである
ことを特徴とする情報認証システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報認証方法および情報認証システムの技術に関する。
【背景技術】
【０００２】
生体情報を用いた認証システムは、初期の登録時に個人の生体情報を取得し、特徴量と呼ばれる情報を抽出して登録する。この登録情報をテンプレートという。そして、認証時に、認証システムは、再び個人から生体情報を取得して特徴量を抽出し、先に登録されたテンプレートと照合して本人か否かを確認する。【０００３】
クライアント端末と認証サーバがネットワークを介して接続された認証システムにおいて、認証サーバが、クライアント端末から送信されたユーザの生体情報を認証する場合、認証サーバがテンプレートを保持するのが一般的である。そして、認証時、クライアント端末はユーザの生体情報を取得し、生体情報の特徴量を抽出して認証サーバへ送信し、認証サーバは送信された特徴量をテンプレートと照合して本人か否かを確認する。【０００４】
しかし、テンプレートは個人を特定することのできる情報であるため、個人情報として厳密な管理が必要とされ、高い管理コストが必要となるという問題がある。たとえ、厳密に管理されていても、プライバシの観点からテンプレートを登録することに心理的な抵抗を感じる人も多い。また、一人の個人が持つ一種類の生体情報の数には限りがある（例えば指紋は１０本の指（１０通り）のみ）ため、パスワードや暗号鍵のように容易にテンプレートを変更することができないという問題がある。仮に、テンプレートが漏洩して偽造の危険が生じた場合、その生体認証を使用することができなくなるという問題がある。さらに、異なるシステムに対して同じ生体情報を登録している場合には、そのシステムまで脅威にさらされることになる。【０００５】
そこで、生体情報の登録時に特徴量を一定の関数（一種の暗号化）とクライアント端末が持つ秘密のパラメータ（一種の暗号鍵）で変換し、元の情報を秘匿した状態でテンプレートとして認証サーバに保管し、認証時にクライアント端末が新たに抽出した生体情報の特徴量を、同じ関数とパラメータで変換して認証サーバへ送信し、認証サーバは受信した特徴量とテンプレートを変換された状態のまま照合する方法（キャンセラブル生体認証という）が提案されている。【０００６】
この方法によれば、クライアント端末が変換パラメータを秘密に保持することで、認証サーバは認証時においても元の特徴量を知ることができないため、個人のプライバシを保護することができる。また、テンプレートが漏洩した場合にも、変換パラメータを変更して再度テンプレートを作成・登録することで、安全性を保つことができる。さらに、異なるシステムに対して同じ生体情報を用いる場合にも、各々異なるパラメータで変換したテンプレートを登録することで、一つのテンプレートが漏洩しても他のシステムの安全性が低下することを防止することができる。【０００７】
このような、キャンセラブル生体認証の具体的な実現方法は、生体情報の種類や照合アルゴリズムに依存することとなる。例えば、特許文献１には、静脈認証など、特徴量（画像）の相関値に基づいて類似度を判定するような生体認証技術に対して適用可能な生体認証方法およびシステム実現方法（以下、相関不変ランダムフィルタリングと称する）が開示されている。【０００８】
特許文献１に記載の技術によれば、登録時、クライアント端末はユーザの生体情報から抽出した特徴量画像ｘを基底変換（フーリエ変換または数論変換）して、基底変換画像Ｘを計算し、これに対してランダムに生成した変換フィルタＫを作用させる。そして、クライアント端末は、各ｉ番目の画素毎にＴ［ｉ］＝Ｘ［ｉ］／Ｋ［ｉ］を計算して変換画像Ｔを作成し、認証サーバに登録する。変換フィルタＫはＩＣ（Integrated Circuit）カードなどに保存してユーザが所持する。【０００９】
認証時には、クライアント端末が新たにユーザの生体情報から特徴量画像ｙを抽出し、画素を縦方向および横方向に関して逆順にソートした上で基底変換して基底変換画像Ｙを計算する。そして、クライアント端末は、この基底変換画像Ｙに対してユーザのＩＣカードから読み出した変換フィルタＫを作用させ、各ｉ番目の画素毎にＶ［ｉ］＝Ｙ［ｉ］×Ｋ［ｉ］を計算して変換画像Ｖを作成し、認証サーバに送信する。認証サーバは各画素毎にＣ［ｉ］＝Ｔ［ｉ］×Ｖ［ｉ］（＝Ｘ［ｉ］×Ｙ［ｉ］）を計算し、画像Ｃを逆基底変換（逆フーリエ変換または逆数論変換）することで、ｘとｙの相互相関値を計算する。この相互相関値からｘ、ｙの類似度を計算し、一致／不一致を判定する。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００７−２９３８０７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
特許文献１に記載の技術によれば、秘密の変換フィルタＫによって、特徴量画像ｘ、ｙを変換してから認証サーバへ送信することで、認証サーバに対して特徴量画像ｘ、ｙが秘匿されたまま、認証サーバによる照合処理が実行可能となる。【００１２】
しかし、サーバ管理者が悪意を持って特徴量画像ｘ、ｙの解読を試みた場合、特徴量画像ｘ、ｙの部分情報から解読が成功してしまう可能性がある。
例えば、一人のユーザが認証を繰り返したとき、認証サーバに送信されるデータ同士の関係から、基底変換画像Ｙの各画素値に関する連立方程式を立てることができる。【００１３】
具体的には、例えば、認証をｍ回繰り返したとし、各認証において抽出された特徴量画像をｙ１、ｙ２、…、ｙｍとする。各特徴量画像の逆順ソートに対する基底変換画像をＹ１、Ｙ２、…、Ｙｍとすると、認証サーバに送信されるデータはＶ１＝Ｙ１×Ｋ、Ｖ２＝Ｙ２×Ｋ、…、Ｖｍ＝Ｙｍ×Ｋ、…である。従って認証サーバは、Ｖ１／Ｖ２、Ｖ１／Ｖ３、…、Ｖ１／Ｖｍを計算することができる。ところでＶ１／Ｖｉ＝Ｙ１／Ｙｉであり、変形すると、
Ｖ１Ｙｉ＝ＶｉＹ１
となる。【００１４】
ここで、Ｙｉは、元の特徴量画像ｙｉを基底変換（一次変換）したものであり、ｙｉの各画素値の一次結合で表される。従って上記の式は、ｙｉの各画素値を未知数とした連立一次方程式とみなすことができる。ｉ＝２、３、…、ｍについてまとめると、全体としてｍＮ個の未知数に関する（ｍ−１）Ｎ元連立方程式となる。【００１５】
このままでは、未知数の方が方程式数より多いので一意に解くことはできない。しかし攻撃者（通信路の盗聴者または悪意を持ったサーバ管理者）がｘ、ｙの部分情報を知っている場合、例えば画像の周辺部分が常に背景色であるなどの知識を持っている場合、未知数の数は減少し、方程式が一意に解ける、つまり解読可能となる可能性がある。【００１６】
このような背景に鑑みて本発明がなされたのであり、本発明は、秘匿性の高い情報認証を行うことを目的とする。
【課題を解決するための手段】
【００１７】
前記課題を解決するため、本発明は、クライアント端末と、認証サーバと、で行う情報の認証における情報認証方法であって、登録時において、前記クライアント端末は、登録用の情報を入力部を介して取得すると、前記登録用の情報を基に、第１の特徴多項式を生成し、所定の整数および多項式を法とし、多項式の剰余乗算に関する逆数である逆多項式を有する、ノルムが予め設定してある所定の値以下であるテンプレート多項式を生成し、前記テンプレート多項式の前記逆多項式と所定の整数を前記第一の特徴多項式に乗算することで、補助多項式を算出し、前記補助多項式を自身の記憶部に保存するとともに、前記テンプレート多項式を認証サーバへ送信し、前記テンプレート多項式を受信した認証サーバは、前記受信したテンプレート多項式を記憶媒体に保存し、認証時において、前記クライアント端末は、認証用の情報を入力部を介して取得すると、前記認証用の情報を基に、第２の特徴多項式を生成し、ノルムが、予め設定してある所定の値以下である第１の乱数多項式を生成し、前記補助多項式に、前記第２の特徴多項式を乗算し、当該乗算の結果に前記第１の乱数多項式を加算した第１の認証用多項式を算出し、前記第１の認証用多項式を前記認証サーバへ送信し、前記第１の認証用多項式を受信した認証サーバは、前記第１の認証用多項式に、前記テンプレート多項式の逆多項式を乗算し、当該乗算の結果を前記所定の整数で除算し、当該除算の結果を基に、前記登録用の情報と、前記認証用の情報の一致・不一致を判定することを特徴とする。
ここで、多項式におけるノルムとは、該多項式の係数の絶対値の最大値である。
その他の解決手段については、実施形態中で適宜説明する。
【発明の効果】
【００１８】
本発明によれば、秘匿性の高い情報認証を行うことができる。
【図面の簡単な説明】
【００１９】
【図１】本実施形態に係る生体認証システムの構成例を示す図である。
【図２】本実施形態に係るクライアント端末および認証サーバのハードウェア構成を示す図である。
【図３】本実施形態に係る登録処理の手順を示すフローチャートである。
【図４】本実施形態に係る認証処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００２０】
次に、本発明を実施するための形態（「実施形態」という）について、適宜図面を参照しながら詳細に説明する。
【００２１】
本実施形態では、生体情報の特徴量を変換し、認証サーバに対して秘匿したまま、認証サーバ内で生体情報の照合を行う、生体認証システムを例にあげて説明する。
【００２２】
（システム構成）
図１は、本実施形態に係る生体認証システムの構成例を示す図である。
生体認証システム１（以下、適宜システムと記載する）は、登録・認証時の生体情報取得、特徴抽出、および特徴量の変換を行うクライアント端末２００と、後記するテンプレート多項式の保存や、認証処理などを行う認証サーバ１００を有している。クライアント端末２００と、認証サーバ１００とは、ＶＰＮ（Vertual Private Network）などのネットワーク５００を介して互いに接続されている。なお、図１では、認証サーバ１００に接続されているクライアント端末２００は１台だが、複数台のクライアント端末２００が認証サーバ１００に接続されていてもよい。
【００２３】
認証サーバ１００は、送受信部１０１、記憶処理部１０２、多項式演算部１０３、認証部１０４および記憶部１０５を有している。
送受信部１０１は、クライアント端末２００との間の情報の送受信を行う。
記憶処理部１０２は、記憶部１０５に情報を格納したり、記憶部１０５から情報を読み込んだりする。
多項式演算部１０３は、多項式に関する演算を行う。
認証部１０４は、多項式演算部１０３で演算された結果を用いて、生体情報の認証を行う。
記憶部１０５には、後記するテンプレート多項式（φ）が、ユーザのＩＤ（Identifier）と対応付けられて格納されている。
【００２４】
クライアント端末２００には、ユーザの生体情報（例えば、虹彩画像や、指紋画像や、静脈画像など）を取得する生体情報入力装置４００が接続されている。
【００２５】
クライアント端末２００は、生体情報取得部２０１、特徴量抽出部２０２、多項式演算部２０３、送受信部２０４、多項式生成部２０５およびＩＣカード制御部２０６を有している。
生体情報取得部２０１は、生体情報入力装置４００から送られた生体情報を取得する。
特徴量抽出部２０２は、生体情報取得部２０１が取得した生体情報から特徴量を抽出し、特徴多項式（後記）を生成する。
多項式演算部２０３は、多項式に関する演算を行う。
送受信部２０４は、認証サーバ１００との間の情報の送受信を行う。
多項式生成部２０５は、特徴多項式以外の多項式を生成する。
ＩＣカード制御部２０６は、記憶媒体としてのＩＣカード３００に情報を格納したり、ＩＣカード３００から情報を読み込んだりする。
【００２６】
ここで、ＩＣカード３００は、ユーザ毎に発行されるものであり、ユーザに対するＩＤ、後記して説明する補助多項式（ｈ）およびマスク多項式（ｓ）が対応付けられて格納されている。
【００２７】
例えば、本実施形態に係る生体認証システム１を、銀行ＡＴＭ（Automatic Teller Machine）における利用者認証に適用する場合、クライアント端末２００および生体情報入力装置４００は銀行ＡＴＭとなり、認証サーバ１００は銀行が管理するサーバマシン、ＩＣカード３００はキャッシュカードであるような構成とすることも可能である。
【００２８】
（ハードウェア構成）
図２は、本実施形態に係るクライアント端末および認証サーバのハードウェア構成を示す図である。
クライアント端末２００および認証サーバ１００は、図２に示すようなハードウェア構成を有するコンピュータ６００で実現することができる。
コンピュータ６００は、ＣＰＵ（Central Processing Unit）６０１、ＲＡＭ（Random Access memory）などのメモリ６０２、ＨＤＤ（Hard Disk Drive）６０３、キーボードなどの入力装置６０４、ディスプレイなどの出力装置６０５および図１の送受信部１０１，２０４に該当する通信装置６０６を有している。
図１に示す認証サーバ１００の記憶処理部１０２、多項式演算部１０３および認証部１０４や、クライアント端末２００の特徴量抽出部２０２、多項式演算部２０３、多項式生成部２０５は、ＨＤＤ６０３に格納されているプログラムがメモリ６０２に展開され、ＣＰＵ６０１によって実行されることで具現化する。
【００２９】
（原理）
以下、本実施形態における情報認証方法の原理について説明を行う。
ここで、本実施形態における生体情報とは、例えば、指紋画像や、静脈画像や、虹彩画像といったデータである。また特徴量とは、例えば、指紋あるいは静脈の画像を強調処理して２値化した画像（輝度値の２次元配列）や、あるいは虹彩画像から作成するアイリスコード（虹彩コード）と呼ばれるビット列（｛０，１｝の１次元配列）などである。２つの特徴量間の類似度は、式（１）あるいは式（２）のような位置ずれを考慮した相互相関値（内積値）で定義することとする。
【００３０】
まず、虹彩コードなど特徴量が１次元の情報を有する場合について説明する。
【００３１】
【数１】
2012056582.tif 000003
【００３２】
ここでＡ［ｉ］、Ｂ［ｉ］は特徴量（以下、１次元特徴量と称する）の配列を表す。配列のサイズはｎとする。
例えば配列Ａ［ｉ］ は、
Ａ［０］，・・・，Ａ［ｎ−１］
のｎ個の要素から定義される。Ｂ［ｉ］も同様である。
Ａ［ｉ］は事前に登録しておいた特徴量であり、Ｂ［ｉ］は認証時に入力される特徴量である。
ｕは、ずれ位置であり、Δｉは、許容されるずれの最大幅である。
Ｃ［ｕ］にハミング距離を適用する場合、Ｃ［ｉ］が所定の値以下であれば、認証成功とみなすことになる。なお、式（１）において、定義されていない配列要素（例えば１次元配列の場合、ｉ＜ｕとなるようなｉでは、Ｂ［ｉ−ｕ］は定義されていない（データが存在していない）配列要素となる）は、「０」とみなして計算するものとする。
【００３３】
ｕ＝０、つまり、Ａ［ｉ］に対して、Ｂ［ｉ］をずらさない状態でＣ［ｕ］（＝Ｃ［０］）を求めることが望ましいが、生体情報を取得する際、顔の傾きなどにより、必ずしもＡ［ｉ］と、Ｂ［ｉ］の位置が一致するとは限らない。このことを考慮して、複数のずれ位置ｕについて、Ｃ［ｕ］が算出され、その中で最も値の小さいＣ［ｕ］（Ｃ［ｕ］
としてハミング距離をとる場合）が認証のための値となる。なお、顔の傾きなどは一定の範囲以上に傾くことはないと考え、ｕの範囲を｜ｕ｜＜Δｉで規定する。
【００３４】
このようにして、（式１）で定義される相互相関配列Ｃは、
Ｃ［−Δｉ］，・・・，Ｃ［Δｉ］
という２Δｉ＋１個の要素を持つ。
【００３５】
また、特徴量として静脈画像などの２次元情報を用いる場合、特徴量のサイズは、例えばｎ×ｍとなどとなる。
例えば配列Ａ［ｉ，ｊ］は、
Ａ［０，０］，…，Ａ［０，ｍ−１］，
…
Ａ［ｎ−１，０］，…，Ａ［ｎ−１，ｍ−１］
というｎ×ｍ個の要素として定義される（以下、２次元特徴量と称する）。Ｂ［ｉ，ｊ］も同様である。
このとき、相互相関配列Ｃ［ｕ，ｖ］は以下の式（２）で定義される。
【００３６】
【数２】
2012056582.tif 000004
【００３７】
ｕ，ｖ，Δｉ，Δｊなどは、１次元特徴量におけるｕ，Δｉと同様であるので説明を省略する。
このとき、式（２）で定義される相互相関配列Ｃは、
Ｃ［−Δｉ，−Δｊ］，…，Ｃ［Δｉ，−Δｊ］，
…
Ｃ［−Δｉ，Δｊ］，  …，Ｃ［Δｉ，Δｊ］
という（２Δｉ＋１）×（２Δｊ＋１）個の要素を持つこととなる。
【００３８】
なお、１次元特徴量および２次元特徴量の各場合において、配列の各要素は、整数値をとるものとする。虹彩コードや静脈画像の特徴画像はこの条件を満たしている。
【００３９】
また、式（２）においても、式（１）と同様に、定義されていない配列要素（例えば、ｉ＜ｕなるｉおよびｊ＜ｖなるｊでは、Ｂ［ｉ−ｕｊ−ｖ］は定義されていない（データが存在していない）配列要素となる）は、「０」とみなして計算するものとする。
以下、Ａ［ｉ］およびＡ［ｉ，ｊ］をまとめて特徴量Ａと記載し、Ｂ［ｉ］およびＢｉ，ｊ］をまとめて特徴量Ｂと記載することとする。
【００４０】
前記したように相互相関配列Ｃ［ｕ］（またはＣ［ｕ，ｖ］）は、特徴量Ａに対して特徴量Ｂをｕ（または（ｕ，ｖ））だけずらして対応させた場合の相互相関値（内積値）を表す。虹彩認証や静脈認証、指紋認証などは、この、複数得られる相互相関配列Ｃ［ｕ］（またはＣ［ｕ，ｖ］）を元に一致／不一致の判定を行うことができる。
以下、本実施形態において、Ｃ［ｕ］およびＣ［ｕ，ｖ］は相互相関配列Ｃと記載されることとする。
【００４１】
ところで、以下のように配列Ｂの順序を反転させた配列をＢｒが定義される。これは、後記するように相互相関配列を多項式の係数として計算するために行われる処理である。
【００４２】
Ｂｒ［ｉ］＝Ｂ［ｎ−ｉ−１］（ｉ＝０，…，ｎ−１）
Ｂｒ［ｉ，ｊ］＝Ｂ［ｎ−ｉ−１，ｍ−ｊ−１］（ｉ＝０，…，ｎ−１，  ｊ＝０，…，ｍ−１）
【００４３】
すると、式（１）は、式（３）のような畳み込みの式で書き直すことができる。
【００４４】
【数３】
2012056582.tif 000005
【００４５】
同様に、式（２）も式（４）のような畳み込みの式で書き直すことができる。
【００４６】
【数４】
2012056582.tif 000006
【００４７】
ここで、配列Ａ、Ｂｒの各要素を係数にもつ多項式が定義される。１次元特徴量の場合は式（５）および式（６）となり、２次元特徴量の場合は式（７）および式（８）となる。
【００４８】
【数５】
2012056582.tif 000007
【００４９】
【数６】
2012056582.tif 000008
【００５０】
これらの多項式は、生体情報の特徴多項式である。
ここで特徴多項式ａ，ｂを乗算した多項式がｄ（ｄ＝ａｂ）である。多項式の積は、係数配列の畳み込みで計算することができるため、式（３）および式（４）で定義される相互相関配列Ｃの各要素Ｃ［ｕ］は、多項式ｄの係数として示すことができる。
多項式ｄは以下の式（９）で、それぞれ表現できる。
【００５１】
【数７】
2012056582.tif 000009
【００５２】
従って、多項式ｄの係数と、相互相関配列の要素との関係は、１次元特徴量の場合は式（１０）となり、２次元特徴量の場合は式（１１）となる。
【００５３】
ｄｎ＋ｕ−１＝Ｃ［ｕ］  （｜ｕ｜≦Δｉ）  ・・・（１０）
【００５４】
ｄｎ＋ｕ−１，ｍ＋ｖ−１＝Ｃ［ｕ，ｖ］  （｜ｕ｜≦Δｉ，｜ｖ｜≦Δｊ）
・・・（１１）
【００５５】
従って、相互相関配列Ｃを計算するためには、特徴多項式ａ，ｂの積ｄを計算すればよい。式（１０）、式（１１）で示される係数を有する多項式ｄの項を設定項と称する。
ところで、類似度は、式（１）または式（２）で示される相互相関配列の要素の値（相互相関値）であるため、積多項式ｄのすべての係数を計算する必要はない。つまり、多項式ｄの係数は、すべてのｕについての相互相関配列Ｃの要素を含んでいるが、前記したように｜ｕ｜≦Δｉ，｜ｖ｜≦Δｊという制約があるため、すべてのｕについての相互相関配列Ｃの要素を計算する必要がないので、多項式ｄのすべての係数を計算する必要がない。
【００５６】
そこで、以下の式（１２）が定義される。なお、式（１２）におけるα，βは任意の整数である。
【００５７】
ｆ（ｘ）＝ｘＮ−α，ｇ（ｙ）＝ｙＭ−β  （Ｎ＝ｎ＋Δｉ，Ｍ＝ｍ＋Δｊ）  ・・・（１２）
【００５８】
そして、式（１２）の式を用いて、以下の剰余多項式が計算される（式（１３）は１次元特徴量の場合であり、式（１４）は２次元特徴量の場合である）。
【００５９】
ｃ（ｘ）＝ａ（ｘ）ｂ（ｘ）  ｍｏｄ  ｆ（ｘ）・・・（１３）
ｃ（ｘ，ｙ）＝ａ（ｘ，ｙ）ｂ（ｘ，ｙ）  ｍｏｄ  ｛ｆ（ｘ），ｇ（ｙ）｝・・・（１４）
【００６０】
なお、式（１４）の右辺は、積多項式ａ（ｘ，ｙ）ｂ（ｘ，ｙ）を、ｆ（ｘ），ｇ（ｙ）の両方について割った際の剰余多項式を表す。以下、ｃ（ｘ）およびｃ（ｘ，ｙ）をまとめて相関多項式ｃと記載する。
このような剰余多項式である相関多項式ｃの係数と、相互相関配列Ｃの要素との関係は、式（１５）および式（１６）となる（式（１５）は１次元特徴量の場合であり、式（１６）は２次元特徴量の場合である）。式（１５）、式（１６）で示される係数は、相関多項式ｃの設定項の係数である。
【００６１】
ｃｎ＋ｕ−１＝Ｃ［ｕ］  （｜ｕ｜≦Δｉ）・・・（１５）
ｃｎ＋ｕ−１，ｍ＋ｖ−１＝Ｃ［ｕ，ｖ］  （｜ｕ｜≦Δｉ，｜ｖ｜≦Δｊ）・・・（１６）
【００６２】
ここで、ｃｋは、相関多項式ｃにおけるｘｋの項の係数を示している。同様に、ｃｋ，ｔは、相関多項式ｃにおけるｘｋｙｔの項の係数を示している。
さらにここで、各多項式の係数の定義環は、整数環Ｚでなく、整数の剰余環Ｚｑ（整数をｑで割った余りの集合）で置き換えられるものである。ここで、ｑを所定の整数とすると、剰余環Ｚｑの代表元は式（１７）のようになる。
【００６３】
｛＜−（ｑ−１）／２＞，＜−（ｑ−３）／２＞，・・・，−１，０，１，・・・，＜（ｑ−３）／２＞，＜（ｑ−１）／２＞｝  ・・・（１７）
【００６４】
ここで、＜ｋ＞はｋを超えない最大の整数である（つまり、ｋの整数部分）。
ここで、｜（ｑ−１）／２｜が、相互相関配列Ｃの各要素の値（つまり、類似度の各値）の絶対値の最大値以上となるよう、ｑを十分大きく設定しておけば、多項式の係数をＺｑで置き換えても、式（１３）や、式（１４）によって計算される積多項式としての相関多項式ｃの係数は変化しないので、正しく相互相関配列Ｃが求められる。
【００６５】
ここで、式（１８）および式（１９）で示される剰余多項式環Ｒが定義される（式（１８）は１次元特徴量の場合であり、式（１９）は２次元特徴量の場合である）。
【００６６】
Ｒ＝Ｚｑ［ｘ］／（ｆ（ｘ））  ・・・（１８）
Ｒ＝Ｚｑ［ｘ，ｙ］／（ｆ（ｘ），ｇ（ｙ））  ・・・（１９）
【００６７】
ここで、Ｚｑ［ｘ］、Ｚｑ［ｘ，ｙ］は、剰余環Ｚｑの要素を係数とする多項式の集合である。
ここで、すべての多項式を，剰余多項式環Ｒの元と見なせば、式（１３）、式（１４）で示す相関多項式ｃは、以下の式（２０）で示すことができる。
【００６８】
ｃ＝ａｂ  （ｃ，ａ，ｂ∈Ｒ）  ・・・（２０）
【００６９】
以降、特に断りが無い限り、本実施形態で使用する多項式はすべて剰余多項式環Ｒの元であるとして演算を行うこととする。
以上の準備を踏まえた上で、図１を参照しつつ、図３および図４を参照して本実施形態に係るキャンセラブル生体認証の実現方法を説明する。キャンセラブル生体認証を実現するためには、特徴多項式ａ，ｂを秘匿したまま、相互相関配列Ｃを計算できればよい。
【００７０】
（登録時）
まず、登録時における計算過程を示す。
登録時において、クライアント端末２００は、以下の条件１〜条件３を満たす多項式φ∈Ｒと、任意の多項式ｓ∈Ｒを一様ランダムに生成する。
（条件１）ノルム（係数の絶対値の最大値）が小さい（所定の値δ以下）。
（条件２）非ゼロの係数の個数が所定の数Ｌ以下（例えばＬ＝Ｎ／２：ただし、Ｌはこの値に限らない）。
（条件３）剰余多項式環Ｒにおいて乗法に関する逆元を持つ。つまりφφ−１＝１となる多項式φ−１∈Ｒが存在する。ここで、当該逆元となる多項式を逆多項式と称する。つまり、逆多項式とは、所定の整数および多項式を法とした多項式の剰余乗算に関する逆数である多項式である。
【００７１】
また、特徴多項式ａ，ｂのノルムも小さい（所定の値δ’以下）と仮定する。この条件は、画像や、コードなどにおいては、容易に実現可能な条件である。次に、クライアント端末２００は登録用の生体情報の特徴多項式ａと、前記テンプレート多項式φ，マスク多項式ｓを用いて、以下の多項式ｈを計算する。
【００７２】
ｈ＝（ｓ＋ｐａ）φ−１  ・・・（２１）
【００７３】
ここで、ｐは所定の整数である。
以降、ｈを補助多項式と称する。
クライアント端末２００は、補助多項式ｈ，マスク多項式ｓを図示しない自身の記憶部に保存するか、またはＩＣカード３００などに格納してユーザに発行する。また、クライアント端末２００は、テンプレート多項式φを認証サーバ１００へ送信し、認証サーバ１００は送信されたテンプレート多項式φを自身の記憶部１０５に格納する。
テンプレート多項式φは、特徴多項式ａとは無関係にランダムに生成されるため、テンプレート多項式φから生体情報は一切復元できない。また、仮に補助多項式ｈ、マスク多項式ｓがクライアント端末２００から漏洩したとしても、そこから特徴多項式ａを求めることは困難であると考えられる。
【００７４】
実際、例えば一次元特徴量の場合、式（２１）においてマスク多項式ｓ＝０と置き、ｈ＝ｐａφ−１（式（１２）でｓ＝０）においてα＝１とおく（つまり、式（１２）においてｆ（ｘ）＝ｘＮ−１とする）と、補助多項式ｈは良く知られたＮＴＲＵ暗号（J. Hoffstein, J. Pipher and J. H. Silverman, NTRU: A Ring-Based Public Key Cryptosystem. Algorithmic Number Theory (ANTS III),Portland, OR, June 1998, J.P. Buhler (ed.), LNCS 1423, Springer-Verlag, Berlin, 267-288, 1998.参照）の公開鍵と同じ形式となり、特徴多項式ａまたはテンプレート多項式φがＮＴＲＵ暗号の秘密鍵に相当することとなる。
ＮＴＲＵ暗号における公開鍵から秘密鍵を推定することは、ある種の格子問題（ＮＴＲＵ格子におけるＳＶＰ（Shortest Vector Problem））を解くことと同程度に困難であると考えられている。
【００７５】
ここでは、マスク多項式ｓ＝０とおき、α＝１とした場合について説明したが、これ以外の条件でも、本実施形態に係るキャンセラブル生体認証はＮＴＲＵ暗号と同程度のセキュリティ性を有する。
【００７６】
（認証時）
次に、認証時における計算過程を示す。
認証時には、クライアント端末２００は、前記した（条件１）を満たす多項式ε∈Ｒを一様ランダムに生成し、さらに、前記した（条件１）（条件２）を満たす多項式ψと、以下の（条件４）を満たす多項式ｒ∈Ｒを一様ランダムに生成する（式（２２）は１次元特徴量の場合、式（２３）は２次元特徴量の場合）。この多項式ψ，ｒを乱数多項式と称する（乱数多項式ψが第１の乱数多項式、乱数多項式ｒが第２の乱数多項式）。
【００７７】
（条件４）
ｒｎ＋ｕ−１＝εｎ＋ｕ−１  （｜ｕ｜≦Δｉ）  ・・・（２２）
ｒｎ＋ｕ−１，ｍ＋ｖ−１＝εｎ＋ｕ−１，ｍ＋ｖ−１  （｜ｕ｜≦Δｉ，｜ｖ｜≦Δｊ）
・・・（２３）
【００７８】
ここで、ｒｋは乱数多項式ｒにおけるｘｋの項の係数を示し、εｋは多項式εにおけるｘｋの項の係数を示している。同様に、ｒｋ，ｔは乱数多項式ｒにおけるｘｋｙｔの項の係数を示し、εｋ，ｔは多項式εにおけるｘｋｙｔの項の係数を示している。
多項式ｒに関する（条件４）は、係数の一部（式（２２）、式（２３）で限定されている係数：つまり、設定項に該当する係数）がεの係数に等しい（つまり絶対値が所定の値δ以下）であり、それ以外の係数は、Ｚｑの任意の元を一様ランダムに取ることを意味している。
【００７９】
ここで、登録用の情報および認証用の情報が、配列ｎの１次元情報であるともに、第１の特徴量である特徴量Ａおよび第２の特徴量である特徴量Ｂが、サイズｎの１次元配列であり、算出する類似度の数を２Δｉ＋１とした場合、特徴多項式ａ、特徴多項式ｂは、１変数ｎ次多項式であり、乱数多項式ｒは、１変数であり該変数の次数は元ｎ＋Δｉ―１（＝Ｎ−１）次以下の多項式となる。
【００８０】
また、登録用の情報および認証用の情報が、配列数がｎ×ｍの２次元情報であるともに、第１の特徴量である特徴量Ａおよび第２の特徴量である特徴量Ｂが、サイズｎ×ｍの２次元配列であり、算出する類似度の数を（２Δｉ＋１）×（２Δｊ＋１）とした場合、特徴多項式ａ、前記第２の特徴多項式ｂは、一方の変数の次数がｎ次であり、他方の変数の次数がｍ次である２変数多項式であり、乱数多項式ｒは、一方の変数の次数がｎ＋Δｉ―１（＝Ｎ−１）次以下であり、他方の変数の次数がｎ＋Δｉ―１（＝Ｍ−１）次以下である２変数多項式となる。
【００８１】
次に、クライアント端末２００は、ユーザの生体情報を取得し、ＩＣカード３００に保存していた補助多項式ｈと、マスク多項式ｓを読み込むと、この生体情報に対する特徴多項式ｂに対して、以下を計算を行う。
【００８２】
ｖ＝ｈｂ＋ψ，ｗ＝ｓｂ−ｒ  ・・・（２４）
【００８３】
クライアント端末２００は、計算したｖ，ｗ（認証用多項式と称する）を認証サーバ１００へ送信する（ここで、認証用多項式ｖが第１の認証用多項式であり、認証用多項式ｗが第２の認証用多項式である）。
認証用多項式ｖ，ｗを受信した認証サーバ１００は、記憶部１０５に保存しているφを用いて、以下の相関多項式ｃ’’を計算する。
【００８４】
ｃ’’＝ｖφ―ｗ
＝（ｈｂ＋ψ）φ―（ｓｂ−ｒ）
＝（ｓ＋ｐａ）ｂ＋ψφ−ｓｂ＋ｒ
＝ｐａｂ＋ψφ＋ｒ  ・・・（２５）
【００８５】
登録時において、所定の整数ｑを、相関多項式ｃ’’のノルムがとり得る最大値以上に設定しているので、式（２５）の等式は、各係数を整数環Ｚの元（剰余環Ｚｑではない）とみなした場合でも成立する。次に、認証サーバ１００は、相関多項式ｃ’’の係数を整数環Ｚの元とみなして、以下のように所定の整数ｐで各係数を除算し、整数に丸めた相関多項式ｃ’を計算する。
【００８６】
ｃ’＝＜ｃ’’／ｐ＞＝ａｂ＋＜（ψφ＋ｒ）／ｐ＞  ・・・（２６）
【００８７】
ここで、＜ｋ＞は、多項式ｋの各係数の値が、該係数を超えない最大の整数である多項式であることを示す（つまり、多項式ｋの各係数の整数部分を係数として有する多項式である）。なお、登録時における式（２１）で使用する所定の整数ｐと、認証時における式（２６）で使用する所定の整数ｐとは一致する必要があるが、例えば、登録時においてクライアント端末２００がテンプレート多項式φを認証サーバ１００へ送る際に、所定の整数ｐも一緒に送り、認証サーバ１００が、テンプレート多項式φと一緒に記憶部１０５に保存しておいてもよいし、すべての認証処理に同じ値のｐを用いるようにしてもよい。
ここで、式（２６）における＜（ψφ＋ｒ）／ｐ＞のｒを、εで置き換えたｅを考える。
【００８８】
ｅ＝＜（ψφ＋ε）／ｐ＞  ・・・（２７）
【００８９】
ｒは、前記した（条件４）を満たし、かつａｂ＝ｃであるので、以下の式が成り立つ（式（２８）は１次元特徴量の場合であり、式（２９）は２次元特徴量の場合である）。
【００９０】
ｃ’ｎ＋ｕ−１＝ｃｎ＋ｕ−１＋ｅｎ＋ｕ−１  （｜ｕ｜≦Δｉ）  ・・・（２８）
ｃ’ｎ＋ｕ−１，ｍ＋ｖ−１＝ｃｎ＋ｕ−１，ｍ＋ｖ−１＋ｅｎ＋ｕ−１，ｍ＋ｖ−１  （｜ｕ｜≦Δｉ，｜ｖ｜≦Δｊ）  ・・・（２９）
【００９１】
ここで、ｅｋは多項式ｅのｘｋの項の係数、ｅｋ，ｔは多項式ｅのｘｋｙｔの項の係数を示している。
【００９２】
ところで、多項式ψ、φは、ともに前記した（条件１）（条件２）を満たすため、これらの積多項式ψφのノルムは必ずＬδ２以下となる。実際には多くの場合、ノルムはこれよりも小さな値となる。また、（条件１）より多項式εのノルムも小さいことから、ｐを適切に選択することで、ｅのノルムを任意に小さくすることができる。従って、相関多項式ｃの代わりに相関多項式ｃ’の係数を用いて特徴量配列Ａ，Ｂの類似度（相互相関値）を計算することができる。ｐを大きくとれば、ｅ＝＜（ψφ＋ε）／ｐ＞＝０となり、つまり、ｅの設定項における係数の整数部分が０とすることができ、相関多項式ｃ’と相関多項式ｃとの間に誤差が生じない。そのため、式（１）、式（２）に基づいた類似度を計算し判定を行った場合と完全に同じ認証精度を達成できる。
【００９３】
一方、ｐを小さくとると、ｅ＝＜（ψφ＋ε）／ｐ＞≠０となり、つまり、ｅの設定項における係数の整数部分が０とはならず、ｃ’とｃとの間に誤差が生じ、認証精度の劣化が生じるが、ｑを小さく設定できるため、クライアント端末２００に保存するデータ（ｈ，ｓ）や、認証時における認証サーバ１００への送信データ（ｖ，ｗ）のデータサイズを小さくすることができる。
【００９４】
相互相関配列において、ハミング距離を使用した場合（つまり、Ａ，Ｂ間のビット演算に排他的論理和を使用した場合）、認証サーバ１００は、ｃ’ｎ＋ｕ−１またはｃ’ｎ＋ｕ−１，ｍ＋ｖ−１のうちで、最も小さい値が予め設定されている閾値以下であれば認証成功と判定する。
【００９５】
本実施形態による情報認証方法によれば、攻撃者が、認証用多項式ｖ，ｗから特徴多項式ｂを推定する攻撃を防止することができる。
実際、例えば１次元特徴量の場合、式（１２）においてα＝１とおく（つまり、ｆ（ｘ）＝ｘＮ−１とする）と、ｖはＮＴＲＵ暗号の暗号文と同じ形式となる（この場合、補助多項式ｈを公開鍵、乱数多項式ψを平文と見なす）。仮に、攻撃者がｈを知っていた場合、認証用多項式ｖから特徴多項式ｂを求めることは、認証用多項式ｖから乱数多項式ψを求めることと同値（一方が求まれば、他方も求まる）である。これはＮＴＲＵの暗号文から（秘密鍵を知らずに）平文を求めることと同値であり、ある種の格子問題（ＮＴＲＵ格子におけるＣＶＰ）を解くことと同程度に困難であると考えられている。
【００９６】
補助多項式ｈはＩＣカード３００に格納され、ユーザによって安全に管理されるため、攻撃者は補助多項式ｈを知ることができない。このため認証用多項式ｖから特徴多項式ｂを求めることは、ＮＴＲＵを解読するより、更に困難であるといえる。また同じ理由により、認証用多項式ｗから特徴多項式ｂを求めることも、ＮＴＲＵを解読する以上に困難であると言える。
これは、α≠１である場合でも同様である。
【００９７】
さらに、悪意のあるユーザが、類似度（相互相関値）の計算過程で得られる情報、例えば式（２５）の相関多項式ｃ’’から、特徴多項式ａ，ｂを推定することも困難であると考えられる。実際、式（２５）の右辺には乱数多項式ｒが加算された形となっている。乱数多項式ｒは（条件４）に指定された係数以外の係数が剰余環Ｚｑの任意の元を一様ランダムに取るため、相関多項式ｃ’’の対応する係数値も一様ランダムに分布し（つまり、ノイズ化し）、そこから積多項式ａｂの対応する係数に関する情報は、まったく得られない。従って、特徴多項式ａ，ｂに関して、悪意のあるユーザが得ることができる情報は、式（２８）、（式２９）のみである（ｃ＝ａｂ  式（２０）に注意）。これは、認証サーバ１００が特徴量Ａ，Ｂの類似度を計算するために最低限必要な情報である。本実施形態は、それ以外の情報を外部に漏洩しないようにすることで、悪意のあるユーザによる生体情報の復元攻撃に対しても高い安全性を確保することが可能となる。
【００９８】
（フローチャート）
以下、これまでの計算過程を、図１を参照しつつ、図３および図４に示すフローチャートに沿って説明する。
【００９９】
（登録処理）
図３は、本実施形態に係る登録処理の手順を示すフローチャートである。
まず、クライアント端末２００の図示しない入力部を介して、ユーザのＩＤ（Identification）が入力される（Ｓ１０１）。
次に、生体情報取得部２０１が、生体情報入力装置４００を介して、登録用の生体情報を取得する（Ｓ１０２）。
そして、特徴量抽出部２０２が、入力された登録用の生体情報から特徴量を抽出し、特徴多項式（ａ）を生成する（Ｓ１０３）。
【０１００】
続いて、多項式生成部２０５が、剰余多項式環Ｒ上で一様ランダムなマスク多項式（ｓ）を生成する（Ｓ１０４）。
次に、多項式生成部２０５が、前記した（条件１）、（条件２）、（条件３）を満たすテンプレート多項式（φ）を、一様ランダムに生成する（Ｓ１０５）。
そして、多項式演算部２０３が、式（２１）の演算を実行し、補助多項式（ｈ）を計算する（Ｓ１０６）。
クライアント端末２００の送受信部２０４が、認証サーバ１００へＩＤと、テンプレート多項式（φ）を送信する（Ｓ１０７）。
【０１０１】
ＩＤと、テンプレート多項式（φ）を受信した認証サーバ１００の記憶処理部１０２は、受信したＩＤと、テンプレート多項式（φ）を対の情報として記憶部１０５に保存する（Ｓ１０８）。
一方、クライアント端末２００のＩＣカード制御部２０６は、ＩＣカード３００に、ＩＤと、補助多項式ｈ、前記マスク多項式ｓを保存する（Ｓ１０９）ことで、ユーザに対してＩＣカード３００を発行する。
【０１０２】
（認証処理）
図４は、本実施形態に係る認証処理の手順を示すフローチャートである。
まず、クライアント端末２００には、ＩＣカード制御部２０６を介してＩＣカード３００から、ＩＤ、補助多項式（ｈ）、マスク多項式（ｓ）を読み込む（Ｓ２０１）。
次に、生体情報取得部２０１が、生体情報入力装置４００を介して、認証用の生体情報を取得する（Ｓ２０２）。
そして、特徴量抽出部２０２が、取得された認証用の生体情報から特徴量を抽出し、特徴多項式（ｂ）を生成する（Ｓ２０３）。
【０１０３】
続いて、多項式生成部２０５が、前記した（条件１）、（条件２）を満たす乱数多項式（ψ）を一様ランダムに生成し、さらに、（条件１）を満たす多項式ε∈Ｒを一様ランダムに生成した上で、（条件４）を満たす乱数多項式（ｒ∈Ｒ）を一様ランダムに生成する（Ｓ２０４）。
次に、多項式演算部２０３が、前記した式（２４）の演算を実行し、認証用多項式（ｖ，ｗ）を計算する（Ｓ２０５）。
そして、クライアント端末２００の送受信部２０４は、認証サーバ１００へ、ステップＳ２０１で読み込んだＩＤと、認証用多項式（ｖ，ｗ）を組の情報として送信する（Ｓ２０６）。
【０１０４】
ＩＤと、認証用多項式（ｖ、ｗ）を受信した認証サーバ１００の記憶処理部１０２は、受信したＩＤをキーとして、受信したＩＤに対応するテンプレート多項式（φ）を記憶部１０５から読み込む（Ｓ２０７）。
次に、多項式演算部１０３が、前記した式（２５）、式（２６）の演算を実行し、相関多項式（ｃ’）を計算する（Ｓ２０８）。
そして、認証部１０４が、相関多項式（ｃ’）に基づいて、特徴量同士の類似度を計算する（Ｓ２０９）。具体的には、相互相関値としてハミング距離を使用している場合、相関多項式（ｃ’）の係数（ｃ’ｎ＋ｕ−１，ｃ’ｎ＋ｕ−１，ｍ＋ｖ−１）を類似度とし、この類似度のうち、最も小さい値を抽出する。
続いて、認証部１０４は、計算した類似度に基づいて、登録用生体情報と、認証用生体情報間の一致・不一致を判定する（Ｓ２１０）。具体的には、認証部１０４は、ステップＳ２０９で計算した類似度のうち、最も小さい値が予め設定してある閾値より小さいか否かを判定し、閾値以下であれば「一致」と判定し、閾値より大きければ「不一致」と判定する（相互相関値としてハミング距離を適用した場合）。
【０１０５】
なお、本実施形態では、相互相関配列や、相関多項式ｃ’’，ｃ’を正規化していないが、これらの値を正規化してもよい。１次元特徴量の場合、相互相関配列の各配列値や、相関多項式ｃ’（あるいはｃ’’）の各係数をｎ−｜ｕ｜で除算することによって正規化する。あるいは、図４のステップＳ２０５で認証用多項式ｖ，ｗを算出する際、多項式演算部２０３がｖ，ｗをｎ−｜ｕ｜で除算してもよい。
２次元特徴量の場合、相互相関配列の各配列値や、相関多項式ｃ’（あるいはｃ’’）の各係数を（ｎ−｜ｕ｜）（ｍ−｜ｖ｜）で除算することによって正規化する。あるいは、図４のステップＳ２０５で認証用多項式ｖ，ｗを算出する際、多項式演算部２０３がｖ，ｗを（ｎ−｜ｕ｜）（ｍ−｜ｖ｜）で除算してもよい。
【０１０６】
また、本実施形態では、記憶媒体としてのＩＣカード３００に補助多項式（ｈ）およびマスク多項式（ｓ）を保存しているが、これに限らず、クライアント端末２００の内蔵ＨＤや、外付けＨＤや、ＵＳＢ（Universal Serial Bus）メモリなどに保存するようにしてもよい。
さらに、本実施形態では、生体情報の認証に対して適用しているが、これに限らず、例えばパスワードなどに対して本実施形態を適用してもよい。
【０１０７】
（まとめ）
本実施形態によれば、１つの生体情報で複数のテンプレートを使用することができるキャンセラブル生体認証の特性を維持したまま、認証サーバ１００は、特徴多項式ａとは無関係にランダムに生成されるテンプレート多項式φを保存するので、ユーザは、認証サーバ１００のサーバ管理者に対してユーザの生体情報を秘匿することが可能となる。そのため、認証サーバ１００からの生体情報漏洩を防止することができる。特に、悪意のあるサーバ管理者が不正を行って、ユーザの生体特徴量ａを推定しようとする高度な攻撃に対しても、高い安全性を確保することができる。
さらに、本実施形態によれば、認証時に認証サーバ１００へ送信する情報に対し、乱数多項式ｒなどを作用させることにより、認証サーバ１００における演算結果の係数値が一様ランダムに分布するため、サーバ管理者は特徴量Ａ，Ｂの相互相関値を得るために必要な最低限の式（２８）、式（２９）しか知ることができず、高い秘匿性を有することができる。
また、本実施形態によれば、通信路の盗聴者や悪意を持ったサーバ管理者に対する特徴多項式ａ，ｂの安全性が、よく知られたＮＴＲＵ暗号と同等以上であることがいえる。これによって、生体情報の漏洩リスクに対して安全性の高い、生体認証システム１を構築することができる。
【符号の説明】
【０１０８】
１      生体認証システム（情報認証システム）
１００  認証サーバ
１０１  送受信部
１０２  記憶処理部
１０３  多項式演算部（認証サーバ）
１０４  認証部
１０５  記憶部
２００  クライアント端末
２０１  生体情報取得部
２０２  特徴量抽出部
２０３  多項式演算部
２０４  送受信部
２０５  多項式生成部
２０６  ＩＣカード制御部
３００  ＩＣカード（記憶媒体）
４００  生体情報入力装置
【図１】
2012056582.tif 000010
【図２】
2012056582.tif 000011
【図３】
2012056582.tif 000012
【図４】
2012056582.tif 000013
【手続補正書】
【提出日】平成25年2月27日(2013.2.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１０
【補正方法】変更
【補正の内容】
【請求項１０】
クライアント端末と、認証サーバと、で行う情報の認証における情報認証システムであって、
前記クライアント端末は、
登録時において、
登録用の情報を入力部を介して取得すると、
前記登録用の情報を基に、第１の特徴多項式を生成し、
前記第１の特徴多項式に、所定の整数を乗算し、さらに、所定の整数および多項式を法とした、多項式の剰余乗算に関する逆数である逆多項式を有するノルムが予め設定してある所定の値以下である多項式であるテンプレート多項式を生成し、当該テンプレート多項式の前記逆多項式を乗算することで、補助多項式を算出し、
前記補助多項式を自身の記憶部に保存するとともに、前記テンプレート多項式を認証サーバへ送信し、
認証時において、
認証用の情報を入力部を介して取得すると、
前記認証用の情報を基に、第２の特徴多項式を生成し、
ノルムが、予め設定してある所定の値以下である第１の乱数多項式を生成し、
前記補助多項式に、前記第２の特徴多項式を乗算し、当該乗算の結果に前記第１の乱数多項式を加算した第１の認証用多項式を算出し、
前記第１の認証用多項式を前記認証サーバへ送信するものであり、
前記認証サーバは、
登録時において、
前記テンプレート多項式を前記クライアント端末から受信すると、前記受信したテンプレート多項式を記憶媒体に保存し、
認証時において、
前記第１の認証用多項式を前記クライアント端末から受信すると、
前記第１の認証用多項式に、前記テンプレート多項式の逆多項式を乗算し、当該乗算の結果を前記所定の整数で除算し、
当該除算の結果を基に、前記登録用の情報と、前記認証用の情報の一致・不一致を判定するものである
ことを特徴とする情報認証システム。
【国際調査報告】
2012056582.tif 000014
2012056582.tif 000015
2012056582.tif 000016
2012056582.tif 000017