(57)【要約】【課題】総当たり攻撃に対する耐性の強化すること。【解決手段】認証対象者の生体画像を複数の領域に分割し、前記複数の領域のそれぞれから複数の特徴情報を抽出し、前記複数の領域のそれぞれの複数の複雑度を算出し、前記複数の複雑度それぞれに応じた長さの複数の数列を前記複数の特徴情報を示す複数の特徴データのそれぞれに付加することにより、照合データを生成する。【選択図】図１
2018156520.tif 000002
【特許請求の範囲】
【請求項１】
認証対象者の生体画像を複数の領域に分割する分割部と、
前記複数の領域のそれぞれから複数の特徴情報を抽出する特徴抽出部と、
前記複数の領域のそれぞれの複数の複雑度を算出する複雑度算出部と、
前記複数の複雑度それぞれに応じた長さの複数の数列を前記複数の特徴情報を示す複数の特徴データのそれぞれに付加することにより、照合データを生成する付加部と、
を有する生体認証装置。
【請求項２】
前記生体画像は、指紋を含む画像であり、
前記複雑度算出部は、前記指紋の特徴点の数に基づいて、前記複数の領域のそれぞれの前記複数の複雑度を算出することを特徴とする請求項１記載の生体認証装置。
【請求項３】
前記付加部は、閾値と前記複数の複雑度それぞれとの差分に応じた長さの複数の乱数列を前記複数の特徴データのそれぞれに付加することを特徴とする請求項１または２に記載の生体認証装置。
【請求項４】
前記照合データと登録者の生体画像から生成された登録データとを比較する比較部を更に有し、
前記照合データは、それぞれ乱数列が付加された複数の特徴データがハッシュ化された複数のブロック照合データを含み、
前記付加部は、前記複数の領域の第１の領域の第１の複雑度に応じた第１の長さの複数のパターンの乱数列のうちの１つの付加済みでない乱数列を前記第１の領域の第１の特徴データに付加してハッシュ化することにより、前記複数のブロック照合データのうちの第１のブロック照合データを生成し、
前記比較部は、前記第１のブロック照合データと前記登録データに含まれる複数のブロック登録データのうちの前記第１の領域に対応する第１のブロック登録データとを比較し、
前記第１のブロック照合データと前記第１のブロック登録データとが一致しない場合、前記付加部と前記比較部は、前記第１のブロック照合データを生成する処理および前記比較する処理を、前記第１の長さの前記複数のパターンの乱数列の全てを前記第１の特徴データに付加するまで若しくは前記第１のブロック照合データと前記第１のブロック登録データとが一致するまで繰り返すことを特徴する請求項１乃至３のいずれか１項に記載の生体認証装置。
【請求項５】
前記比較部における比較の結果に基づいて前記認証対象者を認証する判定部を更に有し、
前記比較部は、前記複数のブロック照合データと前記複数のブロック登録データとをそれぞれ比較し、
前記判定部は、前記認証対象者を認証しない場合、前記複数のブロック照合データのうち、前記複数のブロック登録データと一致しなかったブロック照合データの生成に使用された特徴データを該特徴データが抽出された領域と対応付けて、入力特徴情報リストに格納し、
前記入力特徴情報リストに含まれる前記複数の領域それぞれに対応付けられた特徴データの数のいずれかが閾値より大きい場合に、前記認証対象者を認証する処理を終了することを特徴とする請求項４記載の生体認証装置。
【請求項６】
生体認証装置が
認証対象者の生体画像を複数の領域に分割し、
前記複数の領域のそれぞれから複数の特徴情報を抽出し、
前記複数の領域のそれぞれの複数の複雑度を算出し、
前記複数の複雑度それぞれに応じた長さの複数の数列を前記複数の特徴情報を示す複数の特徴データのそれぞれに付加することにより、照合データを生成する、
処理を有する生体認証方法。
【請求項７】
コンピュータに
認証対象者の生体画像を複数の領域に分割し、
前記複数の領域のそれぞれから複数の特徴情報を抽出し、
前記複数の領域のそれぞれの複数の複雑度を算出し、
前記複数の複雑度それぞれに応じた長さの複数の数列を前記複数の特徴情報を示す複数の特徴データのそれぞれに付加することにより、照合データを生成する、
処理を実行させる生体認証プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、生体認証装置、生体認証方法、および生体認証プログラムに関する。
【背景技術】
【０００２】
印章やカード等と比べて盗難や偽造の危険性が低いため、人間の身体的特徴を用いた生体認証が利用されている。生体認証は、ビルや部屋等への入退室管理、パーソナルコンピュータ（ＰＣ）のアクセス管理、またはスマートフォンのロック解除など幅広い分野で利用されている。
【０００３】
生体認証装置への攻撃の１つに総当たり攻撃（False Acceptance Rate（FAR）攻撃）がある。FAR攻撃は、攻撃者が任意の生体情報を入力し、認証が失敗したら別の生体情報の入力を認証が成功するまで繰り返す総当たり攻撃手法である。FARは他人受け入れ率を表し、１／FAR通りの生体情報を入力することが可能であれば、認証に成功する攻撃データを特定することが理論的に可能である。FAR攻撃は、生体認証装置に原理的に内在する脆弱性をついた攻撃手法である。
【０００４】
生体情報を単位領域に分割し、入力パターンとテンプレートの対をなす領域に固有の特徴値間の差分を示す補正値を使い照合を行う技術が知られている（例えば、特許文献１参照）。
【０００５】
また、総当たり攻撃への対策として、認証情報を「ユーザ自身が入力する秘密情報」と「計算機の総当たり試行によって入力する補助情報」によって構成する技術が知られている（例えば、非特許文献１参照）。秘密情報を知っている正規ユーザは補助情報分の総当たり試行だけで認証に成功可能である。しかし、秘密情報を知らない攻撃者が総当たり攻撃をしようとすると、秘密情報の分だけ正規ユーザより計算時間が大きくなり、総当たり攻撃によるなりすましが困難になる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】国際公開第２００９／１０４４２９号
【特許文献２】特開２００９−１２２７３１号公報
【特許文献３】国際公開第２０１１／０３０６７５号
【特許文献４】特開２００７−２７２７７５号公報
【非特許文献】
【０００７】
【非特許文献１】兼子拓弥、外３名、「計算機援用ユーザ認証」、情報処理学会論文誌、２０１４年９月、Ｖｏｌ．５５、Ｎｏ．９，ｐ２０７２−２０８０
【発明の概要】
【発明が解決しようとする課題】
【０００８】
生体情報を複数の領域に分割して領域ごとに比較照合を行う生体認証装置は、生体情報の領域全体を1つとして扱い照合する生体認証装置に比べて、総当たり攻撃への耐性が低い。また、非特許文献１は、生体情報を複数の領域に分割して照合する比較処理は考慮されておらず、生体情報を複数の領域に分割して照合する生体認証装置と組み合わせるのは困難である。
【０００９】
本発明は、総当たり攻撃に対する耐性の強化を目的とする。
【課題を解決するための手段】
【００１０】
実施の形態に係る生体認証装置は、分割部、特徴抽出部、複雑度算出部、および付加部を備える。
【００１１】
前記分割部は、認証対象者の生体画像を複数の領域に分割する。
前記特徴抽出部は、前記複数の領域のそれぞれから複数の特徴情報を抽出する。
前記複雑度算出部は、前記複数の領域のそれぞれの複数の複雑度を算出する。
【００１２】
前記付加部は、前記複数の複雑度それぞれに応じた長さの複数の数列を前記複数の特徴情報を示す複数の特徴データのそれぞれに付加することにより、照合データを生成する。
【発明の効果】
【００１３】
実施の形態によれば、総当たり攻撃に対する耐性を強化できる。
【図面の簡単な説明】
【００１４】
【図１】実施の形態に係る生体認証装置の構成図である。
【図２】関係テーブルの例である。
【図３】生体画像の分割の例である。
【図４】各局所領域における複雑度と付加乱数列長の例を示す図である。
【図５】複雑度に応じたブロック登録データの生成方法を示す図である。
【図６】登録データの例を示す図である。
【図７】実施の形態に係る登録処理のフローチャートである。
【図８】実施の形態に係る認証処理のフローチャートである。
【図９】登録者本人の生体情報が入力された場合の比較処理を示す図である。
【図１０】他人の生体情報が入力された場合の比較処理を示す図である。
【図１１】総当り攻撃時の比較処理を示す図である。
【図１２】特徴データリストの例である。
【図１３】実施の形態に係る認証処理の第１の変形例のフローチャートである。
【図１４】情報処理装置（コンピュータ）の構成図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照しながら実施の形態について説明する。
最初に、生体情報を複数の領域（局所領域）に分割して比較照合を行う生体認証装置は総当たり攻撃への耐性が低い理由について説明する。
【００１６】
局所領域ごとに生体情報の比較を行う際には、個々の局所領域単位での総当たり攻撃に必要な攻撃コスト（入力回数）が画像全体に対する攻撃に比べて低くなる。このため、全体としての認証結果だけでなく局所領域単位の比較結果を中間情報として入手可能である場合、局所領域ごとに総当たり攻撃にて認証可能なパターンを特定し、特定した局所領域ごとの認証可能なパターンを組み合わせて攻撃できる。このように、認証に成功できる生体情報を推測する攻撃が、生体情報の領域全体を1つとして扱い照合する装置への総当たり攻撃よりも容易に実行できる。
【００１７】
また、生体情報を複数の領域に分割し、各領域で求めた特徴情報をバイナリデータで表し、バイナリデータの比較により照合を行う生体認証装置において、各領域の特徴情報を示すバイナリデータのすべてに対して補助情報を付加して比較を行うと、全体として認証にかかる時間が大きくなってしまう。
【００１８】
図１は、実施の形態に係る生体認証装置の構成図である。
生体認証装置１０１は、制御部１１０、記憶部１１１、ＩＤ入力部１２１、生体情報入力部１２２、分割部１２３、特徴抽出部１２４、複雑度算出部１２５、付加部１２６、比較部１２７、判定部１２８、通知部１２９、および表示部１３０を含む。実施の形態において、生体情報として指紋を用いた場合を説明するが、生体情報として顔、静脈、または虹彩などを用いてもよい。
【００１９】
制御部１１０は、記憶部１１１、ＩＤ入力部１２１、生体情報入力部１２２、分割部１２３、特徴抽出部１２４、複雑度算出部１２５、付加部１２６、比較部１２７、判定部１２８、通知部１２９、および表示部１３０間のデータの受け渡しを制御する。
【００２０】
記憶部１１１は、生体認証装置１０１で使用されるデータを記憶する記憶装置である。記憶部は、登録ＤＢ１１２および関係テーブル１１３を記憶する。
【００２１】
登録ＤＢ１１２には、ＩＤおよび登録データが対応付けられて記録されている。登録ＤＢ１１２は、複数のＩＤおよび複数の登録データを含む。ＩＤは、生体認証装置１０１の利用者を識別する情報（識別子）である。登録データは、利用者の生体情報の特徴を示す。尚、登録データの詳細は後述する。
【００２２】
図２は、関係テーブルの例である。
関係テーブル１１３は、項目として、複雑度および付加乱数列長を含む。関係テーブル１１３には、複雑度と付加乱数列長が対応付けられて記録されている。
【００２３】
複雑度は、特徴データの複雑さを示す。複雑度は、例えば、特徴データの情報量である。複雑度には、複雑度が高い（高）、中くらい（中）、または低い（低）に対応する値の範囲が記録されている。図２の関係テーブル１１３において、複雑度＝０〜４０は、複雑度が低いことを示し、複雑度＝４１〜８０は複雑度が中くらいであることを示し、複雑度＝８１〜は、複雑度が高いことを示す。
【００２４】
付加乱数列長は、特徴データに付加される乱数列の長さを示す。付加乱数列長には、長いを示す「長」、中くらいを示す「中」、または付加される乱数列が無しを示す「０」が記録されている。
【００２５】
図２の関係テーブル１１３の１行目は、複雑度＝０〜４０に対して付加乱数列長＝「長」が対応付けられており、複雑度が０〜４０のいずれかである特徴データには、長い乱数列（例えば、１０キロビットの乱数列）が付加されることを示す。図２の関係テーブル１１３の２行目は、複雑度＝４１〜８０に対して付加乱数列長＝「中」が対応付けられており、複雑度が４１〜８０のいずれかである特徴データには、中くらいの長さの乱数列（例えば、５キロビットの乱数列）が付加されることを示す。図２の関係テーブル１１３の３行目は、複雑度＝８１〜に対して付加乱数列長＝「０」が対応付けられており、複雑度が８１以上である特徴データには、乱数列が付加されないことを示す。
【００２６】
ＩＤ入力部１２１は、利用者から入力されたＩＤを取得する。ＩＤ入力部１２１は、例えば、キーボード、タッチパネル、磁気カードリーダ、またはＩＣカードリーダ等である。
【００２７】
生体情報入力部１２２は、利用者の生体情報が入力され、生体情報を含む生体画像を生成する。生体情報入力部１２２は、例えば、指紋センサであり、指紋センサの読み取り部に置かれた指の指紋を検出し、生体画像として指紋が写っている指紋画像を生成する。例えば、図３に示すような指紋が写った生体画像（指紋画像）２０１が生成される。また、生体情報入力部１２２は、例えば、カメラであり、利用者の顔、手のひら、または虹彩を撮影し、生体画像として顔、手のひらの静脈、または虹彩が写っている画像を生成する。
【００２８】
分割部１２３は、生体画像２０１を複数の局所領域に分割する。例えば、分割部１２３は、図３に示すように生体画像２０１を３×３の９つの局所領域に分割する。以下、生体画像２０１の上から１〜３行目をそれぞれＡ〜Ｃ行目と表記する。生体画像２０１の上からｉ行目、左からｊ列目の局所領域を局所領域ｉｊ（若しくは、「ｉｊ」）と表記する。例えば、図３の生体画像２０１の上から１行目、左から１列目の局所領域は、局所領域Ａ１と表記する。
【００２９】
特徴抽出部１２４は、複数の局所領域のそれぞれから特徴情報を抽出する。生体情報が指紋であり、マニューシャ情報を特徴情報とする場合には、指紋の隆線が途切れる点である端点および指紋の隆線が２本に分岐する分岐点などの特徴点の位置とそれぞれの関係等が特徴情報となる。特徴抽出部１２４は、複数の局所領域のそれぞれから抽出した特徴情報をバイナリデータ化して複数の局所領域のそれぞれに対応する特徴データを生成する。複数の局所領域のそれぞれに対応する特徴データは、複数の局所領域のそれぞれから抽出した特徴情報を示すデータである。以下、局所領域ｉｊから抽出された特徴情報がバイナリデータ化された特徴データは、特徴データＤｉｊと表記する。バイナリデータ化された特徴情報である特徴データは、０と１から成るビット列で構成される。
【００３０】
複雑度算出部１２５は、複数の局所領域のそれぞれの複雑度を算出する。複雑度は、局所領域の画像の情報量である。例えば、画像の情報量は、局所領域内に検出された指紋の特徴点（端点、分岐点）の数である。複雑度算出部１２５は、例えば、局所領域内に検出された指紋の特徴点の数を１０倍した値を当該局所領域の複雑度として算出する。また、複雑度として、局所領域の各画素の画素値のヒストグラムを元に計算した平均情報量（エントロピー）Ｈや局所領域から抽出された特徴情報から生成された特徴データのデータ長などを用いてもよい。
【００３１】
付加部１２６は、関係テーブル１１３に基づき、局所領域の複雑度に応じた長さの乱数列を当該局所領域の特徴データに付加する。尚、乱数列は、局所領域の複雑度に応じた長さの０と１から成るビット列である。乱数列は、数列の一例である。付加部１２６は、乱数列が付加された特徴データをハッシュ化して、登録処理時にはブロック登録データを生成し、認証処理時にはブロック照合データを生成する。また、付加部１２６は、局所領域の複雑度に応じて特徴データに乱数列を付加せず、乱数列が付加されていない当該特徴データをハッシュ化して、登録処理時にはブロック登録データを生成し、認証処理時にはブロック照合データを生成してもよい。以下、乱数列が付加または付加されていない局所領域ｉｊの特徴データＤｉｊがハッシュ化されたブロック登録データは、ブロック登録データＢＲＤｉｊと表記する。また、付加部１２６は、乱数列の代わりに、局所領域の複雑度に応じた数列（例えば、複雑度毎に固定的に設定された数列）を当該局所領域の特徴データに付加してもよい。
【００３２】
図４は、各局所領域における複雑度と付加乱数列長の例を示す図である。
図４では、局所領域の複雑度と付加乱数列長を示している。例えば、局所領域Ａ１は、複雑度が２０であり、付加乱数列長は「長」となる。また、局所領域Ａ２は、複雑度が１２０であり、付加乱数列長は「０」となる。また、局所領域Ｂ２は、複雑度が９０であり、付加乱数列長は「０」となる。また、局所領域Ｃ３は、複雑度が８０であり、付加乱数列長は「中」となる。
【００３３】
図５は、複雑度に応じたブロック登録データの生成方法を示す図である。
図４に示すように局所領域Ａ２の複雑度は１２０なので、図２の関係テーブル１１３に基づくと、付加乱数列長は０となる。よって、図５に示すように、特徴データＤＡ２には、乱数列は付加されずにハッシュ化され、ブロック登録データＢＲＤＡ２が生成される。
【００３４】
図４に示すように局所領域Ｃ３の複雑度は８０なので、図２の関係テーブル１１３に基づくと、付加乱数列長は「中」となる。よって、図５に示すように、特徴データＤｃ３には、中くらいの長さの乱数列が付加され、乱数列が付加された特徴データＤｃ３はハッシュ化され、ブロック登録データＢＲＤＣ３が生成される。
【００３５】
図４に示すように局所領域Ａ１の複雑度は２０なので、図２の関係テーブル１１３に基づくと、付加乱数列長は「長」となる。よって、図５に示すように、特徴データＤＡ１には、長い乱数列が付加され、乱数列が付加された特徴データＤＡ１はハッシュ化され、ブロック登録データＢＲＤＡ１が生成される。
【００３６】
このように、付加部１２６は、複雑度が低い特徴データは総当たり攻撃に要する入力の組み合わせが少ないため、長い乱数列を特徴データに付加してからハッシュ化を行う。一方、付加部１２６は、複雑度が高い局所領域の特徴データに対しては乱数列を付加せず、中間の複雑度の局所領域の特徴データについては複雑度が低いものに対して付加した乱数列より短い乱数列を付加する。
【００３７】
付加部１２６は、生成した複数のブロック登録データを結合して、登録データを生成する。例えば、図６に示すように、ブロック登録データＢＲＤＡ１〜ＢＲＤＣ３が結合された登録データＲＤが生成される。付加部１２６は、入力されたＩＤと登録データＲＤとを対応付けて、記憶部１１１の登録ＤＢ１１２に記録する。
【００３８】
比較部１２７は、生成されたブロック照合データと登録ＤＢ１１２内の入力されたＩＤに対応する登録データに含まれるブロック登録データとを比較する。
判定部１２８は、比較部１２７による比較結果に基づいて、認証の成否を判定する。
【００３９】
通知部１２９は、判定部１２８による判定結果に応じた認証結果を表示部１３０に表示する
表示部１３０は、認証結果を表示する表示装置である。
【００４０】
次に、利用者の生体情報を登録する処理について説明する。
図７は、実施の形態に係る登録処理のフローチャートである。
【００４１】
ステップＳ５０１において、利用者は、ＩＤ入力部１２１を用いて当該利用者のＩＤを入力し、ＩＤ入力部１２１は、入力されたＩＤを取得する。例えば、ＩＤ入力部１２１がキーボードまたはタッチパネルである場合、ＩＤ入力部１２１は、キーボードまたはタッチパネルを用いて利用者により入力されたＩＤを取得する。また、ＩＤ入力部１２１が磁気カードリーダまたはＩＣカードリーダである場合、ＩＤ入力部１２１は、磁気カードまたはＩＣカードを読み取り、磁気カードまたはＩＣカードから読み出されたＩＤを取得する。
【００４２】
ステップＳ５０２において、利用者は、生体情報入力部１２２を用いて当該利用者の生体情報を入力し、生体情報入力部１２２は、入力された生体情報を含む生体画像２０１を生成する。
【００４３】
ステップＳ５０３において、分割部１２３は、生体画像２０１を複数の局所領域に分割する。
【００４４】
ステップＳ５０４において、特徴情報抽出部１２４は、複数の局所領域のそれぞれから特徴情報を抽出し、特徴情報をバイナリデータ化して複数の局所領域のそれぞれに対応する特徴データＤｉｊを生成する。
【００４５】
ステップＳ５０５は、ステップＳ５１１に対応するループの始端であり、複数の局所領域のうち、未選択の局所領域を１つ選択する。以下、選択された局所領域ｉｊは、選択局所領域ｉｊと表記する。
【００４６】
ステップＳ５０６において、複雑度算出部１２５は、選択局所領域ｉｊの複雑度を算出する。
【００４７】
ステップＳ５０７において、付加部１２６は、選択局所領域ｉｊの特徴データＤｉｊに付加する乱数列の長さ（付加乱数列長）を決定する。詳細には、付加部１２６は、対応関係テーブル１２３と選択局所領域ｉｊの複雑度に基づいて、付加乱数列長を決定する。
【００４８】
ステップＳ５０８において、付加部１２６は、決定された付加乱数列長が０であるか判定する。付加乱数列長が０である場合、制御はステップＳ５０９に進み、付加乱数列長が０でない場合、制御はステップＳ５１０に進む。
【００４９】
ステップＳ５０９において、付加部１２６は、選択局所領域ｉｊの特徴データＤｉｊをハッシュ化して、選択局所領域ｉｊのブロック登録データＢＲＤｉｊを生成する。
【００５０】
ステップＳ５１０において、付加部１２６は、決定した付加乱数列長の乱数列を生成する。付加部１２６は、生成した乱数列を選択局所領域ｉｊの特徴データＤｉｊに付加し、乱数列が付加された選択局所領域ｉｊの特徴データＤｉｊをハッシュ化して、選択局所領域ｉｊのブロック登録データＢＲＤｉｊを生成する。
【００５１】
ステップＳ５１１は、ステップＳ５０５に対応するループの終端であり、全ての局所領域が選択済みの場合、制御はステップＳ５１２に進み、全ての局所領域が選択済みでない場合、制御はステップＳ５０５に戻る。
【００５２】
ステップＳ５１２において、付加部１２６は、複数のブロック登録データＢＲＤｉｊを結合し、登録データＲＤを生成する。
【００５３】
ステップＳ５１３において、付加部１２６は、入力されたＩＤと生成された登録データＲＤとを対応付けて登録ＤＢ１１２に格納する。
【００５４】
図８は、実施の形態に係る認証処理のフローチャートである。
ステップＳ６０１において、利用者は、ＩＤ入力部１２１を用いて当該利用者のＩＤを入力し、ＩＤ入力部１２１は、入力されたＩＤを取得する。例えば、ＩＤ入力部１２１がキーボードまたはタッチパネルである場合、ＩＤ入力部１２１は、キーボードまたはタッチパネルを用いて利用者により入力されたＩＤを取得する。また、ＩＤ入力部１２１が磁気カードリーダまたはＩＣカードリーダである場合、ＩＤ入力部１２１は、磁気カードまたはＩＣカードを読み取り、磁気カードまたはＩＣカードから読み出されたＩＤを取得する。
【００５５】
ステップＳ６０２において、利用者は、生体情報入力部１２２を用いて当該利用者の生体情報を入力し、生体情報入力部１２２は、入力された生体情報を含む生体画像２０１を生成する。
【００５６】
ステップＳ６０３において、分割部１２３は、生体画像２０１を複数の局所領域に分割する。
【００５７】
ステップＳ６０４は、ステップＳ６０８に対応するループの始端であり、複数の局所領域のうち、未選択の局所領域を１つ選択する。以下、選択された局所領域ｉｊは、選択局所領域ｉｊと表記する。
【００５８】
ステップＳ６０５は、特徴情報抽出部１２４は、選択局所領域ｉｊから特徴情報を抽出し、特徴情報をバイナリデータ化して選択局所領域ｉｊに対応する特徴データＤｉｊを生成する。
【００５９】
ステップＳ６０６において、複雑度算出部１２５は、選択局所領域ｉｊの複雑度を算出する。
【００６０】
ステップＳ６０７において、付加部１２６は、選択局所領域ｉｊの特徴データＤｉｊに付加する乱数列の長さ（付加乱数列長）を決定する。詳細には、付加部１２６は、対応関係テーブル１２３と選択局所領域ｉｊの複雑度に基づいて、付加乱数列長を決定する。
【００６１】
ステップＳ６０８は、ステップＳ６０４に対応するループの終端であり、全ての局所領域が選択済みの場合、制御はステップＳ６０９に進み、全ての局所領域が選択済みでない場合、制御はステップＳ６０４に戻る。また、比較部１２７は、一致ブロック数を０に初期化する。
【００６２】
ステップＳ６０９は、ステップＳ６２１に対応するループの始端であり、複数の局所領域のうち、未選択の局所領域を１つ選択する。以下、選択された局所領域ｉｊは、選択局所領域ｉｊと表記する。
【００６３】
ステップＳ６１０において、付加部１２６は、選択局所領域ｉｊの特徴データＤｉｊに付加される乱数列の長さ（付加乱数列長）が０であるか判定する。付加乱数列長が０である場合、制御はステップＳ６１１に進み、付加乱数列長が０でない場合、制御はステップＳ６１５に進む。
【００６４】
ステップＳ６１１において、付加部１２６は、選択局所領域ｉｊの特徴データＤｉｊをハッシュ化し、ハッシュ化データ（ブロック照合データ）Ｈｉｊを生成する。
【００６５】
ステップＳ６１２において、比較部１２７は、登録ＤＢ１１２の入力されたＩＤに対応する登録データＲＤ内の選択局所領域ｉｊのブロック登録データＢＲＤｉｊを読み出す。
【００６６】
ステップＳ６１３において、比較部１２７は、ブロック登録データＢＲＤｉｊとハッシュ化データＨｉｊとを比較し、一致するか判定する。ブロック登録データＢＲＤｉｊとハッシュ化データＨｉｊとが一致する場合、制御はステップＳ６１４に進み、一致しない場合、制御はステップＳ６２１に進む。ブロック登録データＢＲＤｉｊとハッシュ化データＨｉｊとが一致しない場合、選択局所領域ｉｊの特徴データＤｉｊは、ブロック登録データＢＲＤｉｊの生成に用いられた特徴データＤｉｊと不一致であり、選択局所領域ｉｊは不一致であることを示す。
【００６７】
ステップＳ６１４において、比較部１２７は、一致ブロック数をカウントアップ（１加算）する。
【００６８】
ステップＳ６１５は、ステップＳ６１９に対応するループの始端であり、選択局所領域ｉｊの特徴データＤｉｊに付加される乱数列の長さの全てのパターンの乱数列のうち、未選択の乱数列を１つ選択する。以下、選択された乱数列は、選択乱数列と表記する。例えば、付加される乱数列が１０ビットの乱数列である場合、0000000000から1111111111までの２１０個のパターンの乱数列のうちから順番に１つ選択される。
【００６９】
ステップＳ６１６において、比較部１２７は、特徴データＤｉｊに選択乱数列を付加し、選択乱数列が付加された選択局所領域ｉｊの特徴データＤｉｊをハッシュ化して、ハッシュ化データ（ブロック照合データ）Ｈｉｊを生成する。
【００７０】
ステップＳ６１７において、比較部１２７は、登録ＤＢ１１２の入力されたＩＤに対応する登録データＲＤ内の選択局所領域ｉｊのブロック登録データＢＲＤｉｊを読み出す。
【００７１】
ステップＳ６１８において、比較部１２７は、ブロック登録データＢＲＤｉｊとハッシュ化データＨｉｊとを比較し、一致するか判定する。ブロック登録データＢＲＤｉｊとハッシュ化データＨｉｊとが一致する場合、制御はステップＳ６２０に進み、一致しない場合、制御はステップＳ６１９に進む。
【００７２】
ステップＳ６１９は、ステップＳ６１５に対応するループの終端であり、比較部１２７は、全てのパターンの乱数列が選択済みであるか判定する。全てのパターンの乱数列が選択済みの場合、制御はステップＳ６２１に進み、全てのパターンの乱数列が選択済みでない場合、制御はステップＳ６１５に戻る。全てのパターンの乱数列が選択済みの場合、選択局所領域ｉｊの特徴データＤｉｊは、ブロック登録データＢＲＤｉｊの生成に用いられた特徴データと不一致であり、選択局所領域ｉｊは不一致であることを示す。
【００７３】
ステップＳ６２０において、比較部１２７は、一致ブロック数をカウントアップ（１加算）する。一致ブロック数は、ハッシュ化データＨｉｊと一致するブロック登録データＢＲＤｉｊの数を示す。すなわち、ハッシュ化データＨｉｊの生成に用いられた特徴データＤｉｊと一致するブロック登録データＢＲＤｉｊの生成に用いられた特徴データＤｉｊの数を示す。
【００７４】
ステップＳ６２１は、ステップＳ６０９に対応するループの終端であり、全ての局所領域が選択済みの場合、制御はステップＳ６２２に進み、全ての局所領域が選択済みでない場合、制御はステップＳ６０９に戻る。
【００７５】
ステップＳ６２２において、判定部１２８は、一致ブロック数と閾値を比較し、一致ブロック数が閾値より大きいか判定する。一致ブロック数が閾値より大きい場合、制御はステップＳ６２３に進み、一致ブロック数が閾値以下の場合、制御はステップＳ６２４に進む。
【００７６】
ステップＳ６２３において、判定部１２８は、利用者を認証する（認証ＯＫ）と判定する。判定部１２８は、認証結果として、認証ＯＫを通知部１２９に通知する。
【００７７】
ステップＳ６２４において、判定部１２８は、利用者を認証しない（認証ＮＧ）と判定する。判定部１２８は、認証結果として、認証ＮＧを通知部１２９に通知する。
【００７８】
ステップＳ６２５において、通知部１２９は、判定部１２８から通知された認証結果を利用者に通知する。詳細には、通知部１２９は、表示部１３０に認証結果を表示する。
【００７９】
図９は、登録者本人の生体情報が入力された場合の比較処理を示す図である。
図９では、１つのブロック登録データを比較する場合を示す。図９では、登録者本人の生体情報から抽出された特徴情報から生成された特徴データi=0011...101とブロック登録データとを比較する場合を説明する。ブロック登録データは、特徴データ=0011...101に乱数列=1011...1001が付加されたデータをハッシュ化したデータである。
【００８０】
１回目の比較では、特徴データi=0011...101に乱数列r1=0000...0000が付加されたデータをハッシュ化して、ハッシュ化データＨ（i+r1）を生成し、ブロックデータと比較する。一致しないため、２回目の比較では、特徴データi=0011...101に乱数列r2=0000...0001が付加されたデータをハッシュ化して、ハッシュ化データＨ（i+r2）を生成し、ブロック登録データと比較する。
【００８１】
以下同様に、特徴データi=0011...101に付加する乱数列を変更して、ハッシュ化データを生成し、ブロックデータと比較する処理を繰り返す。
【００８２】
ｎ回目の比較では、特徴データi=1100...100に乱数列rn=1011...1001が付加されたデータをハッシュ化して、ハッシュ化データＨ（i+rn）を生成し、ブロック登録データと比較する。ｎ回目の比較で、ハッシュ化データＨ（i+rn）とブロック登録データとが一致し、ブロック登録データに対する照合は成功となる。
【００８３】
図１０は、他人の生体情報が入力された場合の比較処理を示す図である。
図１０では、１つのブロック登録データを比較する場合を示す。図１０では、登録者以外の他人の生体情報から抽出された特徴情報から生成された特徴データi=1100...100とブロック登録データとを比較する場合を説明する。ブロック登録データは、特徴データ=0011...101に乱数列=1011...1001が付加されたデータをハッシュ化したデータである。また、特徴データi=1100...100に付加される乱数列の全てのパターン数は、Ｎである。
【００８４】
１回目の比較では、特徴データi=1100...100に乱数列r1=0000...0000が付加されたデータをハッシュ化して、ハッシュ化データＨ（i+r1）を生成し、ブロックデータと比較する。一致しないため、２回目の比較では、特徴データi=1100...100に乱数列r2=0000...0001が付加されたデータをハッシュ化して、ハッシュ化データＨ（i+r2）を生成し、ブロック登録データと比較する。
【００８５】
以下同様に、特徴データi=1100...100に付加する乱数列を変更して、ハッシュ化データを生成し、ブロックデータと比較する処理を繰り返す。
【００８６】
Ｎ回目の比較では、特徴データi=1100...100に乱数列rN=1111...1111が付加されたデータをハッシュ化して、ハッシュ化データＨ（i+rN）を生成し、ブロック登録データと比較する。
【００８７】
全てのパターンの乱数列を付加して比較を行っても、ハッシュ化データとブロックデータが一致しないため、ブロック登録データに対する照合は失敗となる。
【００８８】
図１１は、総当り攻撃時の比較処理を示す図である。
図１１では、１つのブロック登録データを比較する場合を示す。
図１１において、特徴データに付加される乱数列の全てのパターン数は、Ｎである。
【００８９】
実施の形態に係る生体認証装置に対して、総当り攻撃を行う場合、１回目の攻撃では、特徴データi1=0100...111に乱数列r1=0000...0000が付加されたデータをハッシュ化して、ハッシュ化データＨ（i1+r1）を生成し、ブロックデータと比較する。２回目の攻撃では、特徴データi1=0100...111に乱数列r2が付加されたデータをハッシュ化して、ハッシュ化データＨ（i1+r2）を生成し、ブロック登録データと比較する。Ｎ回目の攻撃では、特徴データi1に乱数列rNが付加されたデータをハッシュ化して、ハッシュ化データＨ（i1+rN）を生成し、ブロック登録データと比較する。
【００９０】
特徴データi1に対して全てのパターンの乱数列を付加したため、Ｎ＋１回目の攻撃では、i1とは異なる特徴データi2=1101...001に乱数列r1=0000...0000が付加されたデータをハッシュ化して、ハッシュ化データＨ（i2+r1）を生成し、ブロック登録データと比較する。
【００９１】
以下同様に、ある特徴データに対して全てのパターンの乱数列を付加したら、特徴データを変更し、全てのパターンの乱数列を順番に付加し、ハッシュ化データとブロック登録データとを比較する処理を繰り返す。
【００９２】
図１１では、Ｍ個目の特徴データiMに対してn個目の乱数列rn=1011...1001を付加する（Ｍ−１）×Ｎ＋ｎ回目の攻撃において、ハッシュ化データＨ（iM+rn）とブロック登録データとが一致する（攻撃成功）。
【００９３】
従来技術では、乱数列が付加されていないため、Ｍ回目の入力で入力データとブロック登録データが一致（攻撃成功）する。一方、実施の形態に係る生体認証装置では、（Ｍ−１）×Ｎ＋ｎ回目の入力で入力データとブロック登録データが一致（攻撃成功）する。Ｍ＜（Ｍ−１）×Ｎ＋ｎであるため、従来よりも攻撃成功に時間がかかる。
【００９４】
実施の形態に係る生体認証装置によれば、総当たり攻撃に対する耐性を強化できる。
実施の形態に係る生体認証装置によれば、複雑度が高くない局所領域については、複雑度に応じた長さの乱数列を特徴データに付加した後、ハッシュ値を求め登録データのハッシュ値と比較を行う。それにより、全ての局所領域に対して乱数列を付加する場合と比較して認証処理が高速化される。また、情報量が少なく複雑度が低い領域には乱数列が付加されることから、総当たり攻撃を行う攻撃者が入力パターン（攻撃画像）を想定しやすい領域に対しても情報量が追加され、攻撃に対する耐性を強化できる。
【００９５】
（第１の変形例）
次に、入力される生体情報の特徴情報の変化に基づいて、総当り攻撃への対策を行う生体認証装置１０１の第１の変形例を説明する。
【００９６】
図１２は、特徴データリストの例である。
第１の変形例において、記憶部１１１は、特徴データリスト１１４をさらに記憶する。特徴データリスト１１４は、項目として、局所領域と特徴データを有する。特徴データリスト１１４には、局所領域と特徴データが対応付けられて記録されている。
局所領域は、局所領域を示す情報である。
【００９７】
特徴データは、局所領域から抽出された特徴情報がバイナリデータ化されたデータである。
特徴データリスト１１４により、何種類の特徴情報が入力されたか分かるようになる。
【００９８】
図１３は、実施の形態に係る認証処理の第１の変形例のフローチャートである。
図１３の認証処理の第１の変形例のフローチャートにおいて、ステップＳ６０１〜Ｓ６２４の処理は、図８のステップＳ６０１〜Ｓ６２４の処理と同様であるため、説明は省略する。
【００９９】
図８のフローチャートと比較すると、第１の変形例では、ステップＳ６２３以降の処理とステップＳ６２４以降の処理が異なる。
【０１００】
ステップＳ６３１において、通知部１２９は、認証ＯＫを利用者に通知する。詳細には、通知部１２９は、表示部１３０に認証ＯＫを表示する。
【０１０１】
ステップＳ６３２において、通知部１２９は、認証ＮＧを利用者に通知する。詳細には、通知部１２９は、表示部１３０に認証ＮＧを表示する。
【０１０２】
ステップＳ６３３において、判定部１２８は、不一致となった特徴データＤｉｊが特徴データリスト１１４にあるか判定し、全ての不一致となった特徴データＤｉｊが特徴データリスト１１４にある場合、制御はステップＳ６０２に戻り、不一致となった特徴データＤｉｊいずれかが特徴データリスト１１４にない場合、制御はステップＳ６３４に進む。不一致となった特徴データＤｉｊは、ブロック登録データＢＲＤｉｊと一致しないとステップＳ６１３で判定されたハッシュ化データＨｉｊの生成に用いられた特徴データＤｉｊである。すなわち、不一致となった特徴データＤｉｊは、ステップＳ６１３において、一致しないと判定されたときの選択局所領域ｉｊの特徴データＤｉｊである。また、不一致となった特徴データＤｉｊは、特徴データＤｉｊと全てのパターンの乱数列それぞれにより生成された複数のハッシュ化データＨｉｊのいずれもがブロック登録データＢＲＤｉｊと一致しなかったときの当該複数のハッシュ化データＨｉｊの生成に用いられた特徴データＤｉｊである。すなわち、不一致となった特徴データＤｉｊは、ステップＳ６１９において、全てのパターンの乱数列が選択済みであると判定されたときの、選択局所領域ｉｊの特徴データＤｉｊである。
【０１０３】
ステップＳ６３４において、比較部１２７は、特徴データリスト１１４にない不一致となった特徴データＤｉｊを特徴データリスト１１４の局所領域ｉｊに対応する特徴データして追加記録する。
【０１０４】
ステップＳ６３５において、判定部１２８は、特徴データリスト１１４内のいずれかの局所領域の特徴データの数が第２閾値より大きいか判定する。いずれかの局所領域の特徴データの数が第２閾値より大きい場合、生体情報入力部１２２は、新たな生体情報の取得を停止し、判定部１２８は、認証処理を終了する。全ての局所領域の特徴データの数が第２閾値以下の場合、制御はステップＳ６０２に戻る。例えば、第２閾値＝１０であり、特徴データリスト１１４内の局所領域Ａ１に対応する特徴データの数が１１である場合、新たな生体情報の取得は停止され、認証処理は終了する。尚、第２閾値は、予め設定されている。
【０１０５】
判定部１２８による認証の判定後、比較結果が不一致となった局所領域の特徴データが特徴データリスト１１４に存在しない新しいデータである場合には、その特徴データを比較結果が不一致となった局所領域に対応する特徴データとして特徴データリスト１１４に追加する。これにより、局所領域それぞれに対して何種類の特徴データが入力されたかを特徴データリスト１１４により管理できる。
【０１０６】
生体認証装置の第１の変形例によれば、繰り返し入力された生体情報の局所領域ごとの特徴データの変化を監視することで、通常運用時に発生しうる、姿勢や身体の状態の違いによる生体情報の変動を許容しながら、入力のたびに生体情報を別のものに変えていく総当たり攻撃を検知でき、総当たり攻撃を検知すると認証処理を終了することで防御できる。
【０１０７】
（第２の変形例）
次に、生体認証装置１０１に必要な安全性に基づいて、特徴情報に付加する乱数列の長さを算出する生体認証装置１０１の第２の変形例を説明する。
【０１０８】
生体認証装置１０１に必要な安全性を満たすための目標複雑度が閾値Ｔとして与えられる。閾値Ｔは、例えば、記憶部１１１に記憶され、付加部１２６は、付加乱数列長の算出時に記憶部１１１から閾値Ｔを読み出す。閾値Ｔの値は生体認証装置１０１が利用されるシステムにより異なる。
【０１０９】
第２の変形例では、図７の登録処理におけるステップＳ５０６，Ｓ５０７、および図８、１３の認証処理におけるステップＳ６０６、Ｓ６０７において、それぞれ下記のような処理が行われる。尚、第２の変形例におけるＳ５０６，Ｓ５０７、Ｓ６０６、Ｓ６０７以外の処理については、図７の登録処理および図８、１３の認証処理と同様である。
【０１１０】
ステップＳ５０６，Ｓ６０６において、複雑度算出部１２５は、局所領域それぞれの複雑度を算出する。第２の変形例では、複雑度算出部１２５は、特徴情報をバイナリデータ化した特徴データを生成し、特徴データのデータ長を複雑度として算出する。また、複雑度算出部１２５は、局所領域の各画素の画素値に基づいて、局所領域の情報量を示す情報エントロピーを算出し、算出した情報エントロピーを当該局所領域の複雑度として算出してもよい。また、上述の実施の形態と同様に、複雑度算出部１２５は、局所領域内に検出された指紋の特徴点（端点、分岐点）の数に基づいて、複雑度を算出してもよい。
【０１１１】
ステップＳ５０７、Ｓ６０７において、付加部１２６は、ある局所領域の複雑度が閾値Ｔ以上の場合、当該局所領域から十分な情報量を持つ特徴データが生成可能なため、当該特徴データには乱数列を付加しない。すなわち、付加部１２６は、付加乱数列長を０とする。また、付加部１２６は、ある局所領域の複雑度がＴ未満の場合、（閾値Ｔ−複雑度）のビット長の乱数列を生成し、生成した乱数列を当該局所領域から生成された特徴データに付加する。
【０１１２】
生体認証装置の第２の変形例によれば、個々のブロック登録データに対する情報量を一定以上に設定して登録データを生成することにより、複雑度が低い局所領域においても、必要な総当たり攻撃に要する入力の組み合わせ数を増やすことになり、装置に要求される安全性を確保できる。
【０１１３】
図１４は、情報処理装置（コンピュータ）の構成図である。
実施の形態の生体認証装置１０１は、例えば、図１４に示すような情報処理装置（コンピュータ）１によって実現可能である。
【０１１４】
情報処理装置１は、ＣＰＵ２、メモリ３、入力装置４、出力装置５、記憶部６、記録媒体駆動部７、及びネットワーク接続装置８を備え、それらはバス９により互いに接続されている。
【０１１５】
ＣＰＵ２は、情報処理装置１全体を制御する中央処理装置である。ＣＰＵ２は、制御部１１０、分割部１２３、特徴抽出部１２４、複雑度算出部１２５、付加部１２６、比較部１２７、判定部１２８、および通知部１２９として動作する。
【０１１６】
メモリ３は、プログラム実行の際に、記憶部６（あるいは可搬記録媒体１０）に記憶されているプログラムあるいはデータを一時的に格納するRead Only Memory(ＲＯＭ)やRandom Access Memory(ＲＡＭ)等のメモリである。ＣＰＵ２は、メモリ３を利用してプログラムを実行することにより、上述した各種処理を実行する。
【０１１７】
この場合、可搬記録媒体１０等から読み出されたプログラムコード自体が実施の形態の機能を実現する。
【０１１８】
入力装置４は、ユーザ又はオペレータからの指示や情報の入力、情報処理装置１で用いられるデータの取得等に用いられる。入力装置４は、例えば、キーボード、マウス、タッチパネル、カメラ、または指紋センサ等である。入力装置４は、ＩＤ入力部１２１および生体情報入力部１２２に対応する。
【０１１９】
出力装置５は、ユーザ又はオペレータへの問い合わせや処理結果を出力したり、ＣＰＵ２による制御により動作する装置である。出力装置５は、例えば、ディスプレイ、またはプリンタ等である。出力装置５は、表示部１３０に対応する。
【０１２０】
記憶部６は、例えば、磁気ディスク装置、光ディスク装置、テープ装置等である。情報処理装置１は、記憶部６に、上述のプログラムとデータを保存しておき、必要に応じて、それらをメモリ３に読み出して使用する。メモリ３および記憶部６は、記憶部１１３に対応する。
【０１２１】
記録媒体駆動部７は、可搬記録媒体１０を駆動し、その記録内容にアクセスする。可搬記録媒体としては、メモリカード、フレキシブルディスク、Compact Disk Read Only Memory(ＣＤ−ＲＯＭ)、光ディスク、光磁気ディスク等、任意のコンピュータ読み取り可能な記録媒体が用いられる。ユーザは、この可搬記録媒体１０に上述のプログラムとデータを格納しておき、必要に応じて、それらをメモリ３に読み出して使用する。
【０１２２】
ネットワーク接続装置８は、Local Area Network（ＬＡＮ）やWide Area Network（ＷＡＮ）等の任意の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インターフェースである。ネットワーク接続装置８は、通信ネットワークを介して接続された装置へデータの送信または通信ネットワークを介して接続された装置からデータを受信する。
【０１２３】
尚、情報処理装置１が図１４のすべての構成要素を含む必要はなく、用途又は条件に応じて一部の構成要素を省略することも可能である。
【０１２４】
以上の実施の形態に関し、さらに以下の付記を開示する。
（付記１）
認証対象者の生体画像を複数の領域に分割する分割部と、
前記複数の領域のそれぞれから複数の特徴情報を抽出する特徴抽出部と、
前記複数の領域のそれぞれの複数の複雑度を算出する複雑度算出部と、
前記複数の複雑度それぞれに応じた長さの複数の数列を前記複数の特徴情報を示す複数の特徴データのそれぞれに付加することにより、照合データを生成する付加部と、
を有する生体認証装置。
（付記２）
前記生体画像は、指紋を含む画像であり、
前記複雑度算出部は、前記指紋の特徴点の数に基づいて、前記複数の領域のそれぞれの前記複数の複雑度を算出することを特徴とする付記１記載の生体認証装置。
（付記３）
前記複数の複雑度のそれぞれは、前記複数の特徴データそれぞれの長さ、または前記複数の領域のそれぞれの情報エントロピーであることを特徴とする付記１記載の生体認証装置。
（付記４）
前記付加部は、閾値と前記複数の複雑度それぞれとの差分に応じた長さの複数の乱数列を前記複数の特徴データのそれぞれに付加することを特徴とする付記１乃至３のいずれか１項に記載の生体認証装置。
（付記５）
前記照合データと登録者の生体画像から生成された登録データとを比較する比較部（１２７）を更に有し、
前記照合データは、それぞれ乱数列が付加された複数の特徴データがハッシュ化された複数のブロック照合データを含み、
前記付加部は、前記複数の領域の第１の領域の第１の複雑度に応じた第１の長さの複数のパターンの乱数列のうちの１つの付加済みでない乱数列を前記第１の領域の第１の特徴データに付加してハッシュ化することにより、前記複数のブロック照合データのうちの第１のブロック照合データを生成し、
前記比較部は、前記第１のブロック照合データと前記登録データに含まれる複数のブロック登録データのうちの前記第１の領域に対応する第１のブロック登録データとを比較し、
前記第１のブロック照合データと前記第１のブロック登録データとが一致しない場合、前記付加部と前記比較部は、前記第１のブロック照合データを生成する処理および前記比較する処理を、前記第１の長さの前記複数のパターンの乱数列の全てを前記第１の特徴データに付加するまで若しくは前記第１のブロック照合データと前記第１のブロック登録データとが一致するまで繰り返すことを特徴する付記１乃至４のいずれか１項に記載の生体認証装置。
（付記６）
前記比較部における比較の結果に基づいて前記認証対象者を認証する判定部（１２８）を更に有し、
前記比較部は、前記複数のブロック照合データと前記複数のブロック登録データとをそれぞれ比較し、
前記判定部は、前記認証対象者を認証しない場合、前記複数のブロック照合データのうち、前記複数のブロック登録データと一致しなかったブロック照合データの生成に使用された特徴データを該特徴データが抽出された領域と対応付けて、入力特徴情報リストに格納し、
前記入力特徴情報リストに含まれる前記複数の領域それぞれに対応付けられた特徴データの数のいずれかが閾値より大きい場合に、前記認証対象者を認証する処理を終了することを特徴とする付記５記載の生体認証装置。
（付記７）
生体認証装置が
認証対象者の生体画像を複数の領域に分割し、
前記複数の領域のそれぞれから複数の特徴情報を抽出し、
前記複数の領域のそれぞれの複数の複雑度を算出し、
前記複数の複雑度それぞれに応じた長さの複数の数列を前記複数の特徴情報を示す複数の特徴データのそれぞれに付加することにより、照合データを生成する、
処理を有する生体認証方法。
（付記８）
前記生体画像は、指紋を含む画像であり、
前記複数の複雑度を算出する処理は、前記指紋の特徴点の数に基づいて、前記複数の領域のそれぞれの前記複数の複雑度を算出することを特徴とする付記７記載の生体認証方法。
（付記９）
前記複数の複雑度のそれぞれは、前記複数の特徴データそれぞれの長さ、または前記複数の領域のそれぞれの情報エントロピーであることを特徴とする付記７記載の生体認証方法。
（付記１０）
前記照合データを生成する処理において、閾値と前記複数の複雑度それぞれとの差分に応じた長さの複数の乱数列を前記複数の特徴データのそれぞれに付加することを特徴とする付記７乃至９のいずれか１項に記載の生体認証方法。
（付記１１）
前記照合データと登録者の生体画像から生成された登録データとを比較する処理を更に有し、
前記照合データは、それぞれ乱数列が付加された複数の特徴データがハッシュ化された複数のブロック照合データを含み、
前記照合データを生成する処理において、前記複数の領域の第１の領域の第１の複雑度に応じた第１の長さの複数のパターンの乱数列のうちの１つの付加済みでない乱数列を前記第１の領域の第１の特徴データに付加してハッシュ化することにより、前記複数のブロック照合データのうちの第１のブロック照合データを生成し、
前記比較する処理において、前記第１のブロック照合データと前記登録データに含まれる複数のブロック登録データのうちの前記第１の領域に対応する第１のブロック登録データとを比較し、
前記第１のブロック照合データと前記第１のブロック登録データとが一致しない場合、前記第１のブロック照合データを生成する処理および前記比較する処理を、前記第１の長さの前記複数のパターンの乱数列の全てを前記第１の特徴データに付加するまで若しくは前記第１のブロック照合データと前記第１のブロック登録データとが一致するまで繰り返すことを特徴する付記７乃至１０のいずれか１項に記載の生体認証方法。
（付記１２）
前記比較する処理における比較の結果に基づいて前記認証対象者を認証する処理を更に有し、
前記比較する処理は、前記複数のブロック照合データと前記複数のブロック登録データとをそれぞれ比較し、
前記認証する処理において、前記認証対象者を認証しない場合、前記複数のブロック照合データのうち、前記複数のブロック登録データと一致しなかったブロック照合データの生成に使用された特徴データを該特徴データが抽出された領域と対応付けて、入力特徴情報リストに格納し、
前記入力特徴情報リストに含まれる前記複数の領域それぞれに対応付けられた特徴データの数のいずれかが閾値より大きい場合に、前記認証対象者を認証する処理を終了する
処理をさらに有することを特徴とする付記１１記載の生体認証方法。
（付記１３）
コンピュータに
認証対象者の生体画像を複数の領域に分割し、
前記複数の領域のそれぞれから複数の特徴情報を抽出し、
前記複数の領域のそれぞれの複数の複雑度を算出し、
前記複数の複雑度それぞれに応じた長さの複数の数列を前記複数の特徴情報を示す複数の特徴データのそれぞれに付加することにより、照合データを生成する、
処理を実行させる生体認証プログラム。
（付記１４）
前記生体画像は、指紋を含む画像であり、
前記複数の複雑度を算出する処理は、前記指紋の特徴点の数に基づいて、前記複数の領域のそれぞれの前記複数の複雑度を算出することを特徴とする付記１３記載の生体認証プログラム。
（付記１５）
前記複数の複雑度のそれぞれは、前記複数の特徴データそれぞれの長さ、または前記複数の領域のそれぞれの情報エントロピーであることを特徴とする付記１３記載の生体認証プログラム。
（付記１６）
前記照合データを生成する処理において、閾値と前記複数の複雑度それぞれとの差分に応じた長さの複数の乱数列を前記複数の特徴データのそれぞれに付加することを特徴とする付記１３乃至１５のいずれか１項に記載の生体認証プログラム。
（付記１７）
前記コンピュータに、前記照合データと登録者の生体画像から生成された登録データとを比較する処理を更に実行させ、
前記照合データは、それぞれ乱数列が付加された複数の特徴データがハッシュ化された複数のブロック照合データを含み、
前記照合データを生成する処理において、前記複数の領域の第１の領域の第１の複雑度に応じた第１の長さの複数のパターンの乱数列のうちの１つの付加済みでない乱数列を前記第１の領域の第１の特徴データに付加してハッシュ化することにより、前記複数のブロック照合データのうちの第１のブロック照合データを生成し、
前記比較する処理において、前記第１のブロック照合データと前記登録データに含まれる複数のブロック登録データのうちの前記第１の領域に対応する第１のブロック登録データとを比較し、
前記第１のブロック照合データと前記第１のブロック登録データとが一致しない場合、前記第１のブロック照合データを生成する処理および前記比較する処理を、前記第１の長さの前記複数のパターンの乱数列の全てを前記第１の特徴データに付加するまで若しくは前記第１のブロック照合データと前記第１のブロック登録データとが一致するまで繰り返すことを特徴する付記１３乃至１６のいずれか１項に記載の生体認証プログラム。
（付記１８）
前記コンピュータに、前記比較する処理における比較の結果に基づいて前記認証対象者を認証する処理を更に実行させ、
前記比較する処理は、前記複数のブロック照合データと前記複数のブロック登録データとをそれぞれ比較し、
前記認証する処理において、前記認証対象者を認証しない場合、前記複数のブロック照合データのうち、前記複数のブロック登録データと一致しなかったブロック照合データの生成に使用された特徴データを該特徴データが抽出された領域と対応付けて、入力特徴情報リストに格納し、
前記入力特徴情報リストに含まれる前記複数の領域それぞれに対応付けられた特徴データの数のいずれかが閾値より大きい場合に、前記認証対象者を認証する処理を終了する
処理をさらに前記コンピュータに実行させることを特徴とする付記１７記載の生体認証プログラム。
【符号の説明】
【０１２５】
１０１    生体認証装置
１１０    制御部
１１１    記憶部
１１２    登録ＤＢ
１１３    関係テーブル
１２１    ＩＤ入力部
１２２    生体情報入力部
１２３    分割部
１２４    特徴抽出部
１２５    複雑度算出部
１２６    付加部
１２７    比較部
１２８    判定部
１２９    通知部
１３０    表示部
【図１】
2018156520.tif 000003
【図２】
2018156520.tif 000004
【図３】
2018156520.tif 000005
【図４】
2018156520.tif 000006
【図５】
2018156520.tif 000007
【図６】
2018156520.tif 000008
【図７】
2018156520.tif 000009
【図８】
2018156520.tif 000010
【図９】
2018156520.tif 000011
【図１０】
2018156520.tif 000012
【図１１】
2018156520.tif 000013
【図１２】
2018156520.tif 000014
【図１３】
2018156520.tif 000015
【図１４】
2018156520.tif 000016