(57)【要約】【課題】生体情報により暗号鍵を生成し、それによって個人認証をおこなう方法によって、鍵生成の安定性とセキュリティを共に高く保ちうるようにする。【解決手段】生体情報の特徴要素（例えば、指紋の特徴点など）が、二種類の情報（例えば、指紋特徴点の座標と局所部分画像）で表現することができるとき、一方の情報（例えば、局所部分画像）をラベル情報として各特徴点を順序付け、他方の情報（例えば、座標）をその順序に従って並べたものを鍵情報として出力する。【選択図】        図３
2006270697.tif 000002
【特許請求の範囲】
【請求項１】
生体特徴情報を受け取って計算機により暗号鍵の生成と復元をおこなう暗号鍵生成および復元方法において、
前記生体特徴情報は、特徴要素を含み、前記特徴要素は、その属性として第一の特徴量と第二の特徴量を含み、前記第一の特徴量と前記第二の特徴量は、それぞれ特徴量同士の近さを計測できる特徴量であって、
暗号鍵生成時に、
前記計算機が、前記暗号鍵により認証する人の基準とする生体情報を受け取る手順と、
前記計算機が、前記受け取った基準とする生体情報に含まれる特徴要素の第一の特徴量を整列させて、補助情報として出力する手順と、
前記計算機が、前記整列させた第一の特徴量に対応させて、その特徴要素の第二の特徴量を整列させて、前記暗号鍵に関する情報として出力する手順とを有し、
前記暗号鍵復元時に、
前記計算機が、前記暗号鍵により認証する人の前記暗号鍵復元用の生体情報と前記補助情報とを受け取る手順と、
前記計算機が、前記補助情報の第一の特徴量の順に、その第一の特徴量に最も近い第一の特徴量を持つ前記暗号鍵復元用の生体情報の特徴要素を検索して、その順に整列させる手順と、
前記整列させた特徴要素の第二の特徴量を順に整列させた情報を暗号鍵復元用の暗号鍵情報として出力する手順とを有することを特徴とする生体情報による暗号鍵生成および復元方法。
【請求項２】
生体特徴情報を受け取って計算機により暗号鍵の生成と復元をおこなう暗号鍵生成および復元方法において、
前記生体特徴情報は、特徴要素を含み、前記特徴要素は、その属性として第一の特徴量と第二の特徴量を含み、前記第一の特徴量と前記第二の特徴量は、それぞれ特徴量同士の近さを計測できる特徴量であって、
暗号鍵生成時に、
前記計算機が、前記暗号鍵により認証する人の基準とする生体情報を受け取る手順と、
前記計算機が、前記受け取った基準とする生体情報に含まれる特徴要素の第一の特徴量を整列させて
その特徴要素に対応した第二の特徴量を正規特徴量として、前記計算機が、各々の特徴要素に対して、前記正規特徴量と異なる偽特徴量を生成する手順と、
前記計算機が、前記各々の特徴要素の第一の特徴量に対して、前記正規特徴量と前記偽特徴量とからなる候補特徴量レコードを生成し、その候補特徴量レコード内で整列させる手順と、
前記計算機が、前記各々の特徴要素の第一の特徴量と前記候補特徴レコードとを対応付け、特徴要素情報テーブルとして生成する手順と、
前記計算機が、前記整列させた特徴要素の第一の特徴量を前記暗号鍵の一部である部分鍵情報に対応させて、その特徴要素の第一の特徴量に対応させた前記候補特徴量レコード内の前記正規特徴量の番号とその特徴要素の第一の特徴量に対応させた部分鍵情報の対応をコード変換テーブルとして生成する手順と、
前記計算機が、前記特徴要素情報テーブルと前記コード変換テーブルを出力する手順とを有し、
前記暗号鍵復元時に、
前記計算機が、前記暗号鍵により認証する人の前記暗号鍵復元用の生体情報と前記補助情報とを受け取る手順と、
前記計算機が、前記補助情報の前記特徴要素テーブルの各々の特徴要素の第一の特徴量に関して、最も近い前記暗号鍵復元用の生体情報の特徴要素を検索して、その生体情報の特徴要素の第二の特徴量と、前記暗号鍵復元用の生体情報の特徴要素の第一の特徴量と最も近い前記特徴要素テーブルの特徴要素の第一の特徴量と対応する前記候補特徴量レコードの特徴量とを比較して、最も近いものを前記候補特徴量レコード内の前記正規特徴量の候補とする手順と、
前記計算機が、前記各々の特徴要素の第一の特徴量に対応させた前記候補特徴量レコード内の前記正規特徴量の候補の番号により前記コード変換テーブルから対応する部分鍵情報を取り出し、前記特徴要素テーブルの特徴要素の第一の特徴量の整列した順に従って前記暗号鍵を復元する手順とを有することを特徴とする生体情報による暗号鍵生成および復元方法。
【請求項３】
前記暗号鍵生成時に、
前記受け取った基準とする生体情報に含まれる特徴要素の第一特徴量とは異なる偽の第一特徴量を生成し、その第一の特徴量に対応付けられる候補特徴量レコードには、前記第二の特徴量の正規特徴量を含まない偽特徴量のみよりなり、
前記偽の第一特徴量と前記候補特徴量レコードとを対応付けたレコードを前記特徴要素情報テーブルに加えて生成することを特徴とする請求項２記載の生体情報による暗号鍵生成および復元方法。
【請求項４】
前記計算機が、各々の特徴要素に対して、前記正規特徴量と異なる偽特徴量を生成する手順において、生成される偽特徴量は、前記正規特徴量とは所定の距離以上離れていることを特徴とする請求項３記載の生体情報による暗号鍵生成および復元方法。
【請求項５】
前記暗号鍵生成時に、
前記計算機が、各々の特徴要素に対して、前記正規特徴量と異なる偽特徴量を生成する手順において、前記各々の特徴要素に対して、その特徴要素と近い第一の特徴量を持つ特徴要素をその特徴要素に対する類似特徴要素とし、その特徴要素のいずれの類似特徴要素の第二の特徴量からも所定の距離以上離れているように、前記偽特徴量を生成することを特徴とする請求項２記載の暗号鍵の生成方法および復元方法。
【請求項６】
前記暗号鍵復元時に、
前記計算機が、前記補助情報の前記特徴要素テーブルの各々の特徴要素の第一の特徴量に関して、最も近い前記暗号鍵復元用の生体情報の特徴要素を検索して、その生体情報の特徴要素の第二の特徴量と、前記暗号鍵復元用の生体情報の特徴要素の第一の特徴量と最も近い前記特徴要素テーブルの特徴要素の第一の特徴量と対応する前記候補特徴量レコードの特徴量とを比較して、最も近いものを前記候補特徴量レコード内の前記正規特徴量の候補とする手順は、
前記計算機が、前記補助情報の前記特徴要素テーブルの各々の特徴要素の第一の特徴量に関して、第一の特徴量が近い前記暗号鍵復元用の生体情報の特徴要素を順番に選択して、その第一の特徴量が近いものからその第二の特徴量が、その特徴要素の第一の特徴量に対応する特徴量レコード内のいずれかの特徴量と所定の距離以内であるかを判定することにより、前記候補特徴量レコード内の前記正規特徴量の候補とする手順であることを特徴とする請求項２記載の暗号鍵の生成方法および復元方法。
【請求項７】
前記暗号鍵の前記部分鍵情報の分割は、前記基準とする生体情報に含まれる特徴要素の標本数だけ分割することを特徴とする請求項２記載の暗号鍵の生成方法および復元方法。
【請求項８】
暗号鍵情報の生成時に、
前記鍵情報に対して誤り訂正符号を生成し、さらに、その誤り訂正符号を前記補助情報に含めて、
鍵情報の復元時に、
前記暗号鍵を復元した情報に対し前記誤り訂正符号を用いて誤りを訂正して出力することを特徴とする請求項２記載の暗号鍵の生成方法および復元方法。
【請求項９】
前記特徴要素は、指紋の隆線パターンの端点または分岐点で定義される特徴点であって、
前記第一の特徴量は、その特徴点の位置と、その特徴点における隆線方向と、その特徴点が端点か分岐点かを示す特徴点種別と、その特徴点を含む局所部分画像と、その特徴点と他の特徴点との間の隆線の本数で定義されるリレーション情報とから選択された一つ以上の特徴量であって、
前記第二の特徴量は、その特徴点の位置と、その特徴点における隆線方向と、その特徴点種別と、その特徴点を含む局所部分画像と、その特徴点と他の特徴点との間のリレーション情報とから、前記第一の特徴量と重複しないよう選択された一つ以上の特徴量であることを特徴とする請求項１記載の暗号鍵の生成方法および復元方法。
【請求項１０】
前記特徴要素は、指紋の隆線パターンの端点または分岐点で定義される特徴点であって、
前記第一の特徴量は、その特徴点の位置と、その特徴点における隆線方向と、その特徴点が端点か分岐点かを示す特徴点種別と、その特徴点を含む局所部分画像と、その特徴点と他の特徴点との間の隆線の本数で定義されるリレーション情報とから選択された一つ以上の特徴量であって、
前記第二の特徴量は、その特徴点の位置と、その特徴点における隆線方向と、その特徴点種別と、その特徴点を含む局所部分画像と、その特徴点と他の特徴点との間のリレーション情報とから、前記第一の特徴量と重複しないよう選択された一つ以上の特徴量であることを特徴とする請求項２記載の暗号鍵の生成方法および復元方法。
【請求項１１】
暗号鍵を用いた生体情報による個人認証システムにおいて、
指紋センサと、ＩＣカード読書き装置とを備えたクライアント端末と、
前記クライアント端末に通信回線により接続された認証サーバとよりなり、
個人認証情報登録時に、前記クライアント端末は、公開鍵とそれに対になる秘密鍵とを生成して、前記認証サーバに登録し、
前記クライアント端末は、前記指紋センサにより個人認証情報登録のための指紋画像を読み取って、
前記指紋画像の特徴点を抽出し、
前記クライアント端末は、前記指紋の特徴点の画像を、特徴点番号により番号付けをおこない、その各々の特徴点の座標を正解座標とし、その各々に対して前記正解座標とは異なるダミー座標を生成し、前記各々の特徴点番号に対して、前記正解座標と前記ダミー座標とからなる候補点レコードを生成し、その候補点レコード内で番号付けをおこない、
前記指紋の特徴点の画像と前記候補点レコードからなるレコードで構成される特徴点テーブルを生成し、
前記秘密鍵を分割し、分割した順番の前記特徴点番号に対応する前記候補点レコード内の正解座標の番号と、分割した順番に対応する部分鍵コードとを対応付けたコード変換表を生成し、
前記ＩＣカード読書き装置により認証をおこなう人のＩＣカードに、前記特徴点テーブルと前記コード変換表とからなる補助情報を書き込み、
個人認証時に、前記クライアント端末は、前記ＩＣカード読書き装置より前記ＩＣカードから前記補助情報を読み取って、
前記指紋センサより認証をおこなうための指紋画像を読み取って、
前記指紋画像の特徴点を抽出し、
前記補助情報に含まれる前記特徴点テーブルの前記各々の指紋の特徴点の画像に対して、前記認証をおこなうための指紋画像の特徴点を、前記各々の指紋の特徴点と近い順に並べて、その近い順から、前記認証をおこなうための指紋画像の特徴点の座標の近くに、前記各々の指紋の特徴点の画像に対応する前記候補点レコードの正解座標があるか否かを判定し、前記正解座標がある近くにあるときには、前記コード変換表からその候補点レコード内の正解座標の番号に対応する前記部分鍵コードを求めて、前記秘密鍵の一部を復元し、
これを前記特徴点テーブルの前記指紋の特徴点の画像の全てに対しておこなうことにより前記秘密鍵を復元し、
前記クライアント端末は復元した秘密鍵によって、前記認証サーバからのデータに対して署名をおこなって、前記認証サーバに送信し、
前記認証サーバは、前記公開鍵により、送信されてきた署名を検証して認証をおこなうことを特徴とする生体情報による個人認証システム。
【請求項１２】
前記特徴点テーブルは、前記認証をおこなうための指紋画像の特徴点の画像とは異なるダミー画像を生成し、前記ダミー画像と全てが前記ダミー座標とからなる候補点レコードのレコードを、前記特徴点テーブルに追加することを特徴とする請求項９記載の生体情報による個人認証システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、生体情報による暗号鍵生成および生体情報による個人認証システムに係り、特に、指紋の特徴点により個人の認証をおこなうための暗号鍵を登録し、それによって認証をおこなう方法であって、鍵生成の安定生成と攻撃者に対するセキュリティの高さを両立しうる生体情報による暗号鍵生成および生体情報による個人認証システムに関する。
【背景技術】
【０００２】
生体情報を用いたユーザ認証システムは、登録時にユーザから生体情報を取得し、特徴量と呼ばれる情報を抽出して登録する。この登録情報をテンプレートという。認証時は、再びユーザから生体情報を取得して特徴量を抽出し、テンプレートと照合して本人か否かを確認する。ネットワークを介してサーバがクライアント側にいるユーザを生体情報に基づいて認証する場合、典型的にはサーバがテンプレートを保持する。クライアントは認証時にユーザの生体情報を取得し、特徴量を抽出してサーバへ送信し、サーバは特徴量をテンプレートと照合して本人か否かを確認することになる。
【０００３】
しかしながら、このテンプレートはユーザを特定することのできる情報であるため、個人情報として厳密な管理が必要とされ、高い管理コストが必要となる。また、厳密な管理がおこなわれていても、プライバシの観点からテンプレートを登録することに心理的な抵抗を感じるユーザが多い。さらに、一人のユーザが持つ一種類の生体情報の数には限りがある（例えば、指紋は１０指から採取するのみ）ため、仮にテンプレートが漏洩して偽造の危険が生じた場合には、暗号鍵のように容易にテンプレートを変更することができず、また、異なるシステムに対して同じ生体情報を登録している場合には他のシステムまで脅威にさらされることになる。このように、ネットワークを介した生体認証には、プライバシとセキュリティの課題が常につきまとう。
【０００４】
上記の課題に対し、ＰＫＩ（Public Key Infrastructure）など暗号技術に基づく認証と、生体認証を組み合わせるアプローチがある。これは、ユーザが所持するＩＣカードなどの耐タンパ装置内にテンプレートと秘密鍵を保存し、認証時に取得した生体情報を耐タンパ装置内でテンプレートと照合し、一致した場合に秘密鍵を活性化させ、チャレンジアンドレスポンスなどによってサーバが耐タンパ装置を認証する方法である。しかし、この方法は、照合機能やＰＫＩ機能を持ったＩＣカードなどの耐タンパ装置を、各ユーザが所持する必要があるため、ユーザ数に比例して高いコストが必要となる問題がある。
【０００５】
そこで、テンプレートや秘密鍵を保管せずに、生体情報から直接、秘密鍵を生成することで、コストの高い耐タンパ装置を必要とせずに、上記プライバシとセキュリティの課題を解決するアプローチが提案されている。具体的には、登録時に各ユーザの生体情報と秘密鍵に依存した補助情報を作成して記録し、認証時は新たに取得した生体情報と補助情報から秘密鍵を復元して、チャレンジアンドレスポンスなどによってサーバがクライアントを認証する。補助情報から元の生体情報や秘密鍵を推定不可能とすることで、耐タンパ装置内に保管する必要をなくし、低コストで生体認証と暗号技術を連携することが可能となる。
【０００６】
【特許文献１】特開２００２−２１７８８９号公報
【非特許文献１】T.Charles Clancy, et.al. 鉄ecure Smartcard -Based Fingerprint Authentication   Proc. ACM SIGMM Multimedia, Biometrics Methods and Workshop, pp. 45-52, 2003.
【非特許文献２】Y. Dodis, L. Reyzin, and A. Smith, 擢uzzy Extractors: How to Generate Strong Keys from Biometrics and Other Noisy Data   Proc. Advances in Cryptology - EuroCrypt, 2004.
【非特許文献３】David D. Zhang，釘IOMETRIC SOLUTIONS For Authentication In An E-World   Kluwer Academic Publishers．
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記のような補助情報を利用して生体情報から秘密鍵を生成する方法としては、上記特許文献１および非特許文献１記載の技術が提案されている。
【０００８】
特許文献１記載の技術は、登録時に秘密鍵を用いてテンプレートを暗号化し、暗号化テンプレートを補助情報として保管する。認証時には全ての鍵候補に対して順に補助情報の復号化を試み、復号化データと新たに取得した生体情報を照合し、一致した場合に正しい秘密鍵と判断する。この方法では、探索する鍵のビット長ｎに対して認証時に２ｎ（２のｎ乗）回の照合が必要となる。このため、現実的な時間で認証をおこなうためには、鍵を分割するなどしてｎを十分短くしなくてはならない。しかしながら、ｎが短いと、テンプレートのデータフォーマットや正当な生体情報のテンプレートであるための制約条件から、補助情報である暗号化テンプレートが漏洩した場合、新たな生体情報を用いることなく補助情報のみから鍵と特徴量を特定できる可能性があり、安全性の点で問題がある。すなわち、悪意の攻撃者から、鍵情報や、個人情報である生体情報を保護することが課題である。
【０００９】
非特許文献１記載の技術は、指紋からの鍵生成方法に関するものである。具体的には、指紋画像平面の座標を有限体Ｆｐ２（ｐ：素数）の元として表現し、秘密鍵を、Ｆｐ２を係数とするｋ次多項式ｆ（ｘ）の係数として表現する。登録時に、ユーザの指紋画像中のｎ（＞ｋ）個の特徴点（隆線の端点および分岐点）の座標ｘｉ(ｉ＝１，２，…，ｎ)に対し、それぞれｆ（ｘｉ）を計算し、補助情報として（ｘｉ，ｆ（ｘｉ））（ｉ＝１，２，…，ｎ）を記録する。また、偽特徴点情報として、Ｆｐ２の元の組（ｘｉ，ｆ（ｘｉ））（ｉ＝ｎ＋１，ｎ＋２，…，Ｎ）をランダムに生成し、補助情報に加える。認証時には、新たに取得した指紋画像からｎ 個の特徴点を抽出し、それぞれの特徴点座標ｘ′ｉに対して補助情報中の特徴点情報（候補特徴点）から最も近い点 ｘj を推定し、（ｘj ，ｙj）に対してｙj＝ｆ（ｘj）を満たすような多項式ｆ（ｘ）を再構成して、その係数を秘密鍵とする。
【００１０】
この方法では、各特徴点に順序を付けることなく秘密鍵の生成をおこなっている。秘密鍵の有効ビット長（補助情報が漏洩した場合に攻撃対象となる鍵空間の大きさ）は、上記の非特許文献２によると、大きく見積もって以下の（式１）で評価される。
【００１１】
ｌｏｇ（Ｃ（Ｎ，ｎ−２ｔ）／Ｃ（ｎ，ｎ−２ｔ））  …（式１）
ここで、ｌｏｇの底は２とする（以下同様）。またＣ（ｘ，ｙ）はｘ個の要素からｙ個の要素を選択する組合せの数を表し、ｔは認証時に生じるエラー特徴点の数（誤った場所に特徴点が存在するとしてしまう数と正しい場所に特徴点が存在しないとしてしまう数の和になる）の最大許容値を表す。エラー特徴点数がｔ以下の場合、正しく鍵を復元可能である。
【００１２】
特徴点数（ｎ）は、個人やそれぞれの指によって異なるが、一般的な指紋センサで指紋画像を取得した場合には、１０〜３０点程度存在する。偽特徴点の数Ｎ−ｎは、多い方がビット数を長くとることができるが、多すぎると特徴点の分布が密となり、認証時に特徴点位置を誤って正しい鍵を復元できなくなる可能性が高まる。
【００１３】
登録時と認証時の指紋画像の平行移動や回転、歪み、圧力や乾湿の差などによる誤差を考慮し、例えば、Ｎ＝６４、ｎ＝２０、ｔ＝８とすると、上記（式１）より、有効ビット長は大きく見積もっても７ｂｉｔ程度であり、有効な鍵の総数は１３１通りしかない。したがって、３回までやり直しを許される認証システムの場合、攻撃者によるなりすましの成功確率（他人受入率）は、約２％となる。なお、非特許文献１では実験の結果、７０％〜８０％の確率で６９ｂｉｔの正しい鍵を復元できたとしているが、これは登録時と認証時の指紋画像を、手作業により精密に重ね合わせ、平行移動や回転による誤差を排除して実験をおこなった結果であり、重ね合わせ処理を自動化してアルゴリズムを実装した場合に達成可能な数値ではない。
【００１４】
非特許文献１記載の技術はまた、二つ以上の真の特徴点同士のユークリッド距離が小さい場合、認証時に特徴点位置の推定を誤る確率が大きくなり、鍵を正しく復元できなくなる可能性が高まる。同様の理由により、登録時に真の特徴点に偽特徴点を追加して補助情報を作成する際、真の特徴点付近（例えば、真の特徴点を中心とする半径ｒの円内）に偽特徴点を追加することができない。したがって、補助情報を手がかりに秘密鍵を推定しようとする攻撃者は、距離ｒ以下で隣接する特徴点の対が（真、真）の対か、あるいは（偽、偽）の対であることを知り、攻撃対象とすべき鍵空間を限定することができる。したがって、実際の鍵の有効ビット長は、上記（１）式による見積もり値よりも更に短くなる。このように、鍵生成の安定性（正規のユーザから正しい鍵を生成する確率）とセキュリティを高く保つことはトレードオフの関係にある。
【００１５】
本発明は、上記問題点を解決するためになされたもので、その目的は、生体情報により暗号鍵を生成し、それによって個人認証をおこなう方法によって、鍵生成の安定性とセキュリティを共に高く保ちうる生体情報による暗号鍵生成および復元方法、ならびに、生体情報による個人認証システムを提供することにある。
【課題を解決するための手段】
【００１６】
本発明の暗号鍵の生成と復元をおこなう暗号鍵生成および復元方法においては、先ず、個人情報登録時には、クライアント端末側で、指紋センサにより登録する人の指紋画像を読み取り、指紋中の特徴点を抽出する。そして、特徴点の画像を整列させて、番号付けて補助情報としてＩＣカードなどの記録媒体に出力する。一方、特徴点の画像の番号付けに対応させて、その特徴点の座標を並べて、その情報を元に暗号鍵を生成する。サーバには、その暗号鍵に関する情報、例えば、ハッシュ値を登録する。
【００１７】
そして、個人の認証時には、クライアント端末側で、指紋センサにより認証する人の指紋画像を読み取り、指紋中の特徴点を抽出する。また、登録時に記録したＩＣカードなどの記録媒体内の特徴点の画像の補助情報を読み込む。そして、読み取った認証用の特徴点の画像と、補助情報の特徴点の画像を、順次、比較して、補助情報の特徴点の画像と一致する認証用の特徴点の画像の座標を求め、補助情報の特徴点の画像の並んでいる順に並べて、暗号鍵を復元する。サーバのその暗号鍵に関する情報、例えば、ハッシュ値を登録した場合には、その復元した暗号鍵のハッシュ値とサーバに登録したハッシュ値が一致するときには、登録された本人であると認証する。
【発明の効果】
【００１８】
本発明によれば、生体情報により暗号鍵を生成し、それによって個人認証をおこなう方法によって、鍵生成の安定性とセキュリティを共に高く保ちうる生体情報による暗号鍵生成および復元方法、ならびに、生体情報による個人認証システムを提供することができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明に係る各実施形態を、図１ないし図１５を用いて説明する。
【００２０】
〔実施形態１〕
以下、本発明に係る第一の実施形態を、図１ないし図７を用いて説明する。
【００２１】
本実施形態の生体情報による個人認証システムは、指紋からの暗号鍵情報の生成・復元技術を用いたクライアント・サーバ型のユーザ認証システムである。
【００２２】
先ず、図１を用いて本実施形態に係るユーザ認証システムのシステム構成について説明する。
図１は、本発明の第一の実施形態に係るユーザ認証システムのハードウェア構成図である。
図２は、本発明の第一の実施形態に係るユーザ認証システムの機能構成図である。
【００２３】
ユーザ認証システムは、図１に示されるようにユーザがネットワークを介したサービスを享受する際に利用するクライアント端末１００と、サービスを享受しようとするユーザが正規の人物であるかを確認する認証サーバ１２０と、これらを接続するネットワーク１３０から構成される。例えば、ネットバンキングサービスに適用する際には、クライアント端末１００は、ユーザの自宅のＰＣ、認証サーバ１２０は、銀行が管理するサーバマシン、ネットワーク１３０は、インターネットとすることができる。
【００２４】
クライアント端末１００は、ＣＰＵ１０１と、メモリ１０２と、ネットワークコントローラ１０３から構成され、ディスプレイ１０４、キーボード１０５、指紋センサ１０６、ＩＣカード読書き装置１０７が接続されている。
【００２５】
指紋センサ１０６は、ユーザの指紋を画像情報として取得する機能を有し、ＩＣカード読書き装置１０７は、ユーザが所持するＩＣカード１０８内のデータを読み書きする機能を有する。なお、ＩＣカードの代わりにフロッピー（登録商標）ディスクやＵＳＢメモリ、携帯端末、磁気カード、紙（２次元バーコードを印刷）など、単にデータを記録するだけの機能しか持たず、耐タンパ性やアクセス制御機能は持たない携帯型記録媒体を用いてもよい。
【００２６】
認証サーバ１２０は、ＣＰＵ１２１と、メモリ１２２と、ネットワークコントローラ１２３と、ハードディスク１２４から構成され、ディスプレイ１２５、キーボード１２６が接続されている。
【００２７】
そして、このユーザ認証システムの機能構成は、図２に示されるように、クライアント端末１００としては、指紋センサ制御機能２０２と、特徴量抽出機能２０３と、補助情報作成機能２０４と、鍵復元機能２０５と、ＩＣカード読書き装置制御機能２０６と、ハッシュ値生成機能２０８と、通信機能２０９とから構成される。
【００２８】
特徴量抽出機能２０３は、指紋画像から特徴量を抽出する機能である。補助情報作成機能２０４は、特徴量から暗号鍵を復元するための補助情報を作成する機能である。鍵復元機能２０５は、補助情報と認証時に新たに取得した指紋画像から抽出した特徴量から暗号鍵を復元する機能である。ＩＣカード読書き装置制御機能２０６は、ＩＣカード読書き装置１０７を制御する機能である。ハッシュ値生成機能２０８は、鍵データからハッシュ値を生成する機能である。通信機能２０９は、ネットワーク１３０を介して認証サーバ１２０と通信する機能である。
【００２９】
ＩＣカード読書き装置１０７は、ＩＣカード１０８に対して補助情報を書き込み、また読み込む機能を持ち、ＩＣカード１０８は、補助情報を記憶する機能を持っている。
【００３０】
認証サーバ１２０は、ネットワーク１３０を介してクライアント端末１００と通信する通信機能２４１と、ハッシュ値をユーザＩＤと関連付けて記憶するデータベース２４２ａと、登録されているハッシュ値と、認証時に生成されるハッシュ値とを比較し検証する検証機能２４３ａとから構成される。
【００３１】
次に、図３を用いて本実施形態の生体情報による認証方法の暗号鍵の登録と復元処理の概略について説明する。
図３は、本発明の第一の実施形態の生体情報による認証方法の暗号鍵の登録と復元処理の概略図である。
【００３２】
本実施形態により暗号鍵を登録するときには、図３の上段に示されるように、先ず、図２に示した指紋センサ１０６により、登録しようとする人の指紋を読み取り、特徴量抽出機能２０３により、特徴量として、各特徴点付近の局所画像（チップ画像）Ｌｉと特徴点の座標（ｘｉ，ｙｉ）を抽出する。
【００３３】
次に、特徴点のチップ画像を整列させて、補助情報として番号付けをおこないＩＣカード読書き装置制御機能２０６により、ＩＣカード１０８に書き込む。一方、補助情報として番号付けした特徴点の各々の座標を同じ番号順で並べて、その順に暗号鍵の鍵データＫとして出力する。例えば、それぞれのｘ座標、ｙ座標の先頭３ビットを取り出すなどの手順をおこなえばよい。そして、鍵データＫよりハッシュ値Ｈ（Ｋ）を生成して、認証サーバ１２０に登録する。この実施形態では、認証サーバ１２０にハッシュ値Ｈ（Ｋ）を登録しているが、鍵データＫをそのまま登録して、認証に用いるようにしてもよい。
【００３４】
本実施形態により暗号鍵を復元するときには、図３の下段に示されるように、認証しようとする人の指紋画像を、指紋センサ１０６により読み取らせる。また、認証しようとする人は、自分の持っているＩＣカード１０８をＩＣカード読書き装置１０８に差し込んで、その中に記録されている補助情報を読み取らせる。
【００３５】
ここでは、その個人が登録した真正の人であるならば、登録したときの指紋と同じ指紋であり、その指紋の特徴点のチップ画像を並べた補助情報が記録されたＩＣカード１０８を持っていることが仮定されている。指紋は、人間の生体情報の内で最も変わりにくいものの一つであると考えられているからである。
【００３６】
そして、読み取った指紋画像の特徴点から、補助情報に含まれる特徴点のチップ画像と一致する画像を、順次検索して、その座標（ｘ′ｉ，ｙ′ｉ）を求めて整列させ、登録時に座標から鍵データＫを生成したときと同じアルゴリズムにより、鍵データＫ′を生成する。そして、鍵データＫよりハッシュ値Ｈ（Ｋ′）を生成して、認証サーバ１２０に送信する。認証サーバ１２０では、登録してあるハッシュ値Ｈ（Ｋ）と、そのハッシュ値Ｈ（Ｋ′）を比較することにより、その人が認証しようとする本人であるかを検証することができる。
【００３７】
ここで、注意するのは、ある人の特徴点から生成される鍵データＫは、一意的ではなく、その特徴点のチップ画像の並べた方によって様々なパターンが作れることである。
【００３８】
次に、図４を用いて本実施形態におけるユーザの登録処理について説明する。
図４は、本発明の第一の実施形態に係るユーザの登録処理手順を示すフローチャートである。
【００３９】
クライアント端末１００は、認証サーバ１２０に対して新規に登録しようとするユーザのＩＤ割り振りを要求する（ステップ３０１）。
【００４０】
認証サーバ１２０は、クライアント端末１００からのＩＤ要求を受けて、使用されていない未割り当てＩＤを検索し、見つかったＩＤをクライアント端末１００に送信する（ステップ３０２）。
【００４１】
次に、クライアント端末１００は、指紋センサ１０６によりユーザの指紋画像を取得する（ステップ３０５）。
【００４２】
そして、クライアント端末１００は、指紋画像から特徴量を抽出する（ステップ３０６）。本実施形態では、上述のように、特徴量として、指紋画像中の複数の特徴点の座標および各特徴点付近のチップ画像を用いる。
【００４３】
次に、クライアント端末１００は、特徴量から補助情報と鍵データを作成する（ステップ３０７）。補助情報は、認証時にユーザの指紋から暗号鍵を復元する際に利用する。補助情報と鍵データを作る手順の詳細は後述する。
【００４４】
次に、クライアント端末１００は、認証サーバ１２０から受け取ったＩＤと補助情報を、ＩＣカード読書き装置１０７により、ユーザが所持するＩＣカード１０８に書き込む（ステップ３０８）。
【００４５】
そして、クライアント端末１００は、鍵データよりハッシュ値を生成し、認証サーバ１２０に送信する（ステップ３０９）。
【００４６】
最後に、認証サーバ１２０は、クライアント端末１００から受信したハッシュ値を、前記ＩＤと関連付けて登録する（ステップ３１０）。
【００４７】
次に、図５を用いて本実施形態におけるユーザの登録処理のうちで特徴量抽出（ステップ３０６）および補助情報、鍵データ生成（ステップ３０７）の詳細な処理手順について説明する。
図５は、本発明の第一の実施形態に係る特徴量抽出（ステップ３０６）および補助情報、鍵データ生成（ステップ３０７）の処理を示すフローチャートである。
【００４８】
特徴量抽出機能２０３は、指紋画像からコアを検出し、その位置を座標系の原点（０，０）とする（ステップ５００）。ここでコアとは指紋の隆線の渦の中心を指す。コアが存在しない場合には、次のステップで抽出した特徴点の一つを座標の原点としてもよい。この場合、該特徴点に関する情報はチップ情報４１０には含めず、その特徴点のチップ画像のみを別途補助情報中に含める。
【００４９】
特徴量抽出機能２０３は、指紋画像から特徴点を全て検出する（ステップ５０１）。特徴点抽出処理および前記コア検出処理の詳細なアルゴリズムは、例えば、上記の非特許文献３に記載の方法などが知られている。
【００５０】
そして、図３に示されるように全特徴点に対してチップ画像を切り出し、（ステップ５０２）切り出した全特徴点から適切な特徴点のみを選択する（ステップ５０３）。
【００５１】
次に、選択した全チップ画像をランダムに順序付けして、順序付けられたチップ画像により、補助情報を生成する（ステップ５４０）。
【００５２】
次に、その特徴点の座標を全チップ画像の順序付けと同じ順番に並べて、暗号鍵の鍵データを生成する（ステップ５４１）。
【００５３】
次に、図６を用いて本実施形態におけるユーザの認証処理の手順について説明する。
図６は、本発明の第一の実施形態に係るユーザの認証処理の手順を示すフローチャートである。
【００５４】
この認証処理は、ユーザがネットバンキングなどのサービスを利用する際に、認証サーバ１２０がネットワークを介してユーザの指紋認証をおこなう処理に関するものである。
【００５５】
クライアント端末１００は、ＩＣカード読書き装置１０７により、ユーザが所持するＩＣカード１０８から、ＩＤと補助情報を読み込む（ステップ７１０）。
【００５６】
次に、クライアント端末１００はユーザの指紋画像を取得し（ステップ７１１）、取得した指紋画像から特徴量を抽出する（ステップ７１２）。
【００５７】
次に、クライアント端末１００は、抽出した特徴量と前記補助情報から、暗号鍵を復元する（ステップ７１３）。暗号鍵の復元処理の詳細は後述する。
【００５８】
そして、復元した暗号鍵よりハッシュ値を生成する（ステップ７１４）。
【００５９】
次に、クライアント端末１００は、認証サーバ１２０に対して認証要求をおこない、ＩＤとハッシュ値を送信する（ステップ７１５）。
【００６０】
認証サーバ１２０は、ＩＤとハッシュ値を受け取り、そのＩＤに対応するハッシュ値を、データベース２４２ａから検索し（ステップ７１６）、送信された来たハッシュ値と照合する（ステップ７１７）。そして、ハッシュ値が一致した場合に認証成功とし、ハッシュ値が一致しない場合に認証失敗とする。
【００６１】
次に、図７を用いて本実施形態におけるユーザの認証処理のうちで特徴量抽出（ステップ７１２）および暗号鍵復元（ステップ７１３）の詳細な処理手順について説明する。
図７は、本発明の第一の実施形態におけるユーザの認証処理のうちで特徴量抽出（ステップ７１２）および暗号鍵復元（ステップ７１３）の詳細な処理手順を示すフローチャートである。
【００６２】
特徴量抽出機能２０３は、指紋画像からコアを検出し、その位置を座標系の原点（０，０）とする（ステップ８００）。座標の原点は、特定の特徴点を原点と定め、他の特徴点をそれからの相対座標であらわしてもよい。
【００６３】
特徴量抽出機能２０３は、指紋画像から全ての特徴点を検出する（ステップ８０１）。
【００６４】
ｉ＝１とする（ステップ８０２）。
【００６５】
ここで、図３に示されるように補助情報に含まれるチップ画像の個数がｎであるとする。
【００６６】
補助情報の中のｉ番目のチップ画像と一致する指紋画像の特徴点を検索する（ステップ８２０）。
【００６７】
そして、見つかった指紋画像の特徴点の座標を、ｉ番目の鍵データとして出力する（ステップ８２１）。
【００６８】
次に、ｉ＝ｉ＋１とする（ステップ８２２）。
【００６９】
ｉ≦ｎが成り立つか判定し、成り立たないときには、処理を終了し、成り立たつときには、ステップ８２０に戻る（ステップ８２３）。
【００７０】
〔実施形態２〕
以下、本発明に係る第二の実施形態を、図８ないし図１５を用いて説明する。
【００７１】
第一の実施形態では、指紋の特徴点を整列させて、それに対応する座標から暗号鍵の鍵データを生成した。
【００７２】
本実施形態は、第一の実施形態と比較して、本発明の生体情報による暗号鍵生成方法および復元方法の実現の仕方をより精密にしたものであり、鍵の安定性や攻撃者に対する耐性を格段に高めているものである。
【００７３】
そのために、チップ画像と座標データの対応を二次元の構造にし、しかも、攻撃者が解読するのを難しくするために、補助情報の中にダミーのデータを含ませている。
【００７４】
ハードウェア的には、第一の実施形態の図１に示したクライアント・サーバ型のユーザ認証システムを用いることにする。
【００７５】
第一の実施形態では、暗号化と復号化に同じ鍵を用いるいわゆる秘密鍵暗号方式を用いたが、本実施形態では、暗号化の鍵と復号化の鍵が非対象な公開鍵方式を用い、秘密鍵による署名をサーバで検証することにより、本人認証をおこなうことにする。
【００７６】
先ず、図８を用いて本発明の第二の実施形態に係るユーザ認証システムの機能構成について、主に第一の実施形態と異なるところを中心にして説明する。
図８は、本発明の第二の実施形態に係るユーザ認証システムの機能構成図である。
【００７７】
クライアント端末１００は、鍵ペア生成機能２０１と、署名機能２０７を有している。鍵ペア生成機能２０１は、公開鍵と秘密鍵のペアを生成する機能であり、署名機能２０７は、秘密鍵を用いて認証サーバ１２０からのチャレンジコードに対する署名を生成する機能である。また、特徴量抽出機能２０３、鍵復元機能２０５も本実施形態のアルゴリズムを実現するためのものである。
【００７８】
認証サーバ１２０のデータベース２４２ｂには、公開鍵をユーザＩＤと関連付けて記憶されており、認証サーバ１２０は、保持している公開鍵を用いて、認証時にチャレンジアンドレスポンスによってクライアント端末１００が生成した秘密鍵を検証する、
次に、図９を用いて本実施形態に係る秘密鍵と補助情報のデータ構造について説明する。
図９は、本発明の第二の実施形態に係る秘密鍵と補助情報のデータ構造を示す図である。
【００７９】
秘密鍵Ｋ４００は、ある整数値パラメータｎ，Ｍ（Ｍ≦２ｎ−１）に対して、ｎＭビットであるとする。ｎ，Ｍを大きくすると鍵のビット長は長くなるが、鍵生成の安定性が低下する。正規の指紋から正しい秘密鍵が復元される確率を８０％〜９０％とする場合、ｎは４〜６程度とする。ここで、ｎに対してＮ＝２ｎ と置く。なお、秘密鍵として用いるべきデータ（Ｌビットとする）がｎＭビットより長い場合は、下位Ｌ−ｎＭビットの情報を固定して補助情報に含める。
【００８０】
秘密鍵Ｋ４００をＭ等分した各ｎビットの部分情報に対して、図に示すとおり先頭から順に番号を振り、それぞれＫｉ（ｉ＝１，２，…，Ｍ）とする。
【００８１】
補助情報は、特徴点情報４１０と、コード変換表４２０と、誤り訂正情報（ＥＣＣ）４３０から構成される。特徴点情報４１０は、Ｍ個の特徴点のそれぞれに対して、特徴点番号、チップ画像、候補点テーブルを含む。以下、チップ番号ｉに対して、チップ画像をＣ［ｉ］と表し、候補点テーブルの一つのレコード（以下、「候補点レコード」という）をＴ［ｉ］と表すことにする。候補点レコードＴ［ｉ］は、Ｎ個の点（候補点）の座標を持ち、その中に登録時にチップＣ［ｉ］の特徴点座標（正解座標）を一つだけ含んでいる。また、Ｔ［ｉ］のｊ番目の候補点をＴ［ｉ，ｊ］と表すことにする。コード変換表４２０は、候補点番号ｊ（ｊ＝１，２，…，Ｎ）に対して、Ｎ通りの互いに異なるｎビットの部分鍵コード（例えば、ｎ＝５なら、00000, 00001, 00010, …, 11110, 11111のＮ＝３２通り）を割当てるための情報を持つ。誤り訂正情報４３０はｎＭビットのコードであり、ＲＳ符号を用いて復元鍵の誤りを訂正するために用いる。
【００８２】
次に、図１０を用いて本実施形態におけるユーザの登録処理について説明する。
図１０は、本発明の第二の実施形態に係るユーザの登録処理手順を示すフローチャートである。
【００８３】
クライアント端末１００は、認証サーバ１２０に対して新規に登録しようとするユーザのＩＤ割り振りを要求する（ステップ３０１）。
【００８４】
認証サーバ１２０は、クライアント端末１００からのＩＤ要求を受けて、使用されていない未割り当てＩＤを検索し、見つかったＩＤをクライアント端末１００に送信する（ステップ３０２）。
【００８５】
次に、クライアント端末１００は、楕円暗号などの公開鍵暗号技術に基づいて、公開鍵と秘密鍵のペアを生成し、公開鍵を認証サーバ１２０に送信する（ステップ３０３）。
【００８６】
認証サーバ１２０は、受信した公開鍵を前記ＩＤと関連付けて、データベース２４２に登録する（ステップ３０４）。
【００８７】
次に、クライアント端末１００は、指紋センサ１０６を介してユーザの指紋画像を取得し（ステップ３０５）、指紋画像から特徴量を抽出する（ステップ３０６）。本実施形態でも、特徴量は、指紋画像中の複数の特徴点の座標および各特徴点付近の局所画像（チップ画像）とする。
【００８８】
クライアント端末１００は、抽出した特徴量と前記秘密鍵から補助情報を作成する（ステップ３０７）。補助情報は、認証時にユーザの指紋から秘密鍵を復元する際に利用する。補助情報のデータ構造の詳細については、上記のように図９で示されるものである。補助情報の作成方法の詳細は後述する。
【００８９】
クライアント端末１００は、前記ＩＤとこの補助情報を、ＩＣカード読書き装置１０７によりユーザが所持するＩＣカード１０８に書き込む（ステップ３０８）。
【００９０】
次に、図１１および図１２を用いて本実施形態の登録処理における特徴量抽出（ステップ３０６）および補助情報作成（ステップ３０７）の詳細な処理手順を説明する。
図１１は、本発明の第二の実施形態の登録処理における特徴量抽出（ステップ３０６）および補助情報作成（ステップ３０７）の詳細な処理手順を示すフローチャートである。
図１２は、本発明の第二の実施形態の登録処理における特徴量抽出および補助情報作成の処理の様子を示す図である。
【００９１】
先ず、特徴量抽出機能２０３は、指紋画像からコアを検出し、その位置を座標系の原点（０，０）とする（ステップ５００）。図１２の例に示す指紋画像では、画像中心付近の○の位置がコアである。コアが存在しない場合には、次のステップで抽出した特徴点の一つを座標の原点としてもよい。この場合、該特徴点に関する情報はチップ情報４１０には含めず、原点としてとったことを示すために、その特徴点のチップ画像のみを別途補助情報中に含める。
【００９２】
特徴量抽出機能２０３は、指紋画像から特徴点を全て検出する（ステップ５０１）。図１２の例に示す指紋画像では、●の位置が特徴点である。特徴点抽出処理および前記コア検出処理の詳細なアルゴリズムは、前述のように、上記非特許文献３の方法などが知られている。
【００９３】
次に、全特徴点に対してチップ画像を切り出す（ステップ５０２）。図１２の例に示す指紋画像では、●を中心とする□が、チップ画像の領域を示している。
【００９４】
前記全特徴点から適切な特徴点のみを選択し、選択した特徴点の個数をｍとする（ステップ５０３）。例えば、チップ画像が互いに類似している特徴点が複数存在していた場合、これらを全て用いると、後に示す候補点の制約条件（誤一致点（後述）付近には候補点を作成しない）から、補助情報を手がかりに鍵を推定しようとする攻撃者に対して鍵空間の絞り込みを許す可能性が生じる。したがって、互いに類似する特徴点が複数存在する場合には、いずれか一つの特徴点のみを用いる。また同様に、二つの特徴点間の距離が短く、チップ画像が重なる場合、その二つの特徴点の相対的な位置関係が補助情報から推定され、攻撃者に対して鍵空間の絞り込みを許す可能性が生じる。したがってこの場合もいずれか一つの特徴点のみを用いる。
【００９５】
次に、前記ｍ個のチップ画像とは類似しないダミーチップ画像をランダムにＭ−ｍ個生成する（ステップ５０４）。
【００９６】
Ｍ個の全チップ画像をランダムに順序付けする（ステップ５０５）。この順序に従って、各チップ画像をＣ［ｉ］（ｉ＝１，２，…，Ｍ）と表す。図１２の例では、指紋画像の右上の特徴点のチップ画像をＣ［１］としている。
【００９７】
コード変換表４２０を作成する（ステップ５０６）。作成方法はランダムな割り当てであっても、あらかじめ固定されたコード変換表を用いてもよい。固定の場合、例えば、候補点番号ｊに対して、ｊの２進数表現（ｎビット）を部分鍵コードとして割当てるといった方法が考えられる。
【００９８】
特徴点情報４１０を生成し、Ｃ［ｉ］（ｉ＝１，２，…，Ｍ）を記録する。Ｔ［ｉ，ｊ］（ｉ＝１，２，…，Ｍ、ｊ＝１，２，…，Ｎ）には未割当てであることを示すフラグを記録する。（ステップ５０７）。
【００９９】
秘密鍵Ｋ４００（ｎＭビット）をＭ等分して、それぞれｎビットの部分鍵コードＫｉ（ｉ＝１，２，…，Ｍ）を作成する（ステップ５０８）。
【０１００】
ｉ＝１とする（ステップ５１０）。
【０１０１】
Ｃ［ｉ］がダミーチップ画像ならば、ステップ５１５にジャンプする（ステップ５１２）。
【０１０２】
次に、部分鍵コードＫｉに対応する候補点番号をコード変換表４２０から検索し、ｊ０とする（ステップ５１３）。図１２の例では、ｉ＝１に対して部分鍵コードＫ１は、“１１０１０”であるので、コード変換表４２０から“１１０１０”を検索し、候補点番号“２”を得る。したがって、ｊ０＝２とする。なお、各ｉについてｊ０は一般に異なる値を取る。
【０１０３】
特徴点情報４１０のＴ［ｉ，ｊ０］に、Ｃ［ｉ］の特徴点座標（正解座標）を記録する（ステップ５１４）。図１２の例では、ｉ＝１のときｊ０＝２だったので、Ｔ［１，２］に正解座標を記録する。
【０１０４】
Ｃ［ｉ］の正解座標とは別に、Ｃ［ｉ］と類似する部分画像の位置（誤一致点）を、前記指紋画像中から全て検出する（ステップ５１５）。すなわち、誤一致点は、そのチップ画像の特徴点と類似していて、誤った判断をする可能性がある点である。画像の類似度は、例えば、指紋画像を２値画像（白黒画像）で表現した場合、チップ画像と部分画像を重ね合わせて色が一致する点の数として計算することができる。図１２の例では、誤一致点を×で表しており、図はＣ［１］に対して２つの誤一致点が存在することを示している。
【０１０５】
次に、ダミー座標をランダムに生成する（ステップ５１６）。
【０１０６】
候補点テーブルのレコードＴ［ｉ］に既に記録されている候補点で、前記ダミー座標との間の距離が所定のしきい値ｒ１以下であるものが存在するならば、ステップ５１６に戻る（ステップ５１７）。
【０１０７】
前記誤一致点の中で、前記ダミー座標との間の距離が所定のしきい値ｒ２以下であるものが存在するならば、ステップ５１６に戻る（ステップ５１８）。
【０１０８】
ステップ５１７で、前記ダミー座標との間の距離がｒ１以下の候補点が記録されておらず、かつ、ステップ５１８で前記ダミー座標との間の距離がｒ２以下の誤一致点が存在しないときには、そのダミー座標を、候補点テーブルＴ［ｉ］の未割当て候補点Ｔ［ｉ，ｊ］に記録する（ステップ５１９）。このように、ダミー座標を取るときに、その候補点と誤一致点から所定の距離だけ離すことにより誤認識が防止できる。
【０１０９】
そして、候補点テーブルＴ［ｉ］のＮ個の候補点Ｔ［ｉ，ｊ］の中に、未割当てのものがあるならば、ステップ５１６に戻る（ステップ５２０）。図１２は、ステップ５１６からステップ５２０を繰り返し、Ｃ［１］に対して１６個の特徴点候補（一つの正解座標を含む）を作成した様子を示す。
【０１１０】
ｉ＝ｉ＋１とする（ステップ５２１）。
【０１１１】
ｉ≦Ｍならば、ステップ５１２に戻る（ステップ５２２）。
【０１１２】
有限体Ｆ２ｎ上の符号長Ｍ，情報記号数Ｍ−２ｔのＲＳ符号ＲＳ（Ｍ，Ｍ−２ｔ）  から、符号語Ｖをランダムに選択する（ステップ５３０）。パラメータｔは、訂正可能な誤り数として必要な値を用いる。ｔが大きいと誤り訂正能力が高く、より安定して秘密鍵鍵を復元できるが、秘密鍵の有効ビット長が短くなる。
【０１１３】
誤り訂正符号４３０を、ＥＣＣを以下の（式２）のように、 ＫとＶの排他的論理和をとったものとする。
【０１１４】
【数１】
2006270697.tif 000003
最後に、特徴点情報４１０、コード変換表４２０、誤り訂正符号（ＥＣＣ）４３０をまとめて、補助情報とする（ステップ５３３）。
【０１１５】
次に、図１３を用いて本実施形態におけるユーザの認証処理の手順について説明する。
図１３は、本発明の第二の実施形態に係るユーザの認証処理の手順を示すフローチャートである。
【０１１６】
本実施形態の認証処理も第一の実施形態と同様に、ユーザがネットバンキングなどのサービスを利用する際に、認証サーバ１２０がネットワークを介してユーザの指紋認証をおこなう処理に関するものである。
【０１１７】
クライアント端末１００は、ＩＣカード読書き装置１０７により、ユーザが所持するＩＣカード１０８から、ＩＤと補助情報を読み込む（ステップ７１０）。
【０１１８】
次に、クライアント端末１００はユーザの指紋画像を取得し（ステップ７１１）、指紋画像から特徴量を抽出する（ステップ７１２）。第一の実施形態では、同一人の指紋は、同一であると仮定して説明したが、実際の取得された指紋画像は、たとえ、同一人の同じ指から取得されたとしても、登録時のステップ３０５で取得された指紋画像とは異なる。これは、指をセンサに置くときの位置ずれや回転、歪み、圧力や乾湿の差などに起因する。したがって、登録時と認証時では、指紋画像から抽出される特徴点の数や座標、チップ画像は少しずつ異なる。本実施形態は、こうした誤差を吸収し、安定して正しい秘密鍵を復元する方法を提供する。
【０１１９】
クライアント端末１００は、抽出した特徴量と前記補助情報から、秘密鍵を復元する（ステップ７１３）。秘密鍵の復元処理の詳細は後述する。
【０１２０】
そして、クライアント端末１００は、認証サーバ１２０に対して認証要求をおこない、前記ＩＤを送信する（ステップ７１５）。
【０１２１】
認証サーバ１２０は、送信されてくるＩＤを受け取り、そのＩＤに対応する公開鍵を、データベース２４２ｂから検索する（ステップ７１６）。
【０１２２】
認証サーバ１２０は、乱数を生成し、チャレンジコードとしてクライアント端末１００に送信する（ステップ７１８）。
【０１２３】
クライアント端末１００は、送られてくる乱数を受け取り、その乱数に対して前記秘密鍵で署名を生成し、認証サーバ１２０に送信する（ステップ７１９）。
【０１２４】
認証サーバ１２０は、署名を受け取り、保持している公開鍵を用いてその署名を検証する（ステップ７２０）。署名検証が成功したら認証成功とし、署名検証が失敗したら認証失敗とする。
【０１２５】
次に、図１４および図１５を用いて認証処理における特徴量抽出（ステップ７１２）および秘密鍵復元（ステップ７１３）の詳細な処理手順を説明する。
図１４は、本発明の第二の実施形態の認証処理における特徴量抽出（ステップ７１２）および秘密鍵復元（ステップ７１３）の詳細な処理手順を示すフローチャートである。
図１５は、本発明の第二の実施形態の認証処理における特徴量抽出および秘密鍵復元の処理の様子を示す図である。
【０１２６】
先ず、特徴量抽出機能２０３は、指紋画像からコアを検出し、その位置を座標系の原点（０，０）とする（ステップ８００）。図１５の例に示す指紋画像では、画像中心付近の○の位置がコアである。登録時にコアが存在せず、特徴点の一つを座標の原点としてそのチップ画像を補助情報に含めた場合には、そのチップ画像と最も一致する部分画像を前記指紋画像中から検索し、その位置を座標の原点とする。
【０１２７】
特徴量抽出機能２０３は、指紋画像から全ての特徴点を検出する（ステップ８０１）。図１５の例に示す指紋画像では、●の位置が特徴点である。
【０１２８】
ｉ＝１とする（ステップ８０２）。
【０１２９】
検出された前記特徴点のそれぞれに対し、その周辺でＣ［ｉ］との類似度が所定のしきい値以上となる部分画像を探索する（ステップ８０４）。図１５の例において、各特徴点に対する部分画像の探索領域を、点線の□で示す。画像の類似度は、例えば指紋画像を２値画像（白黒画像）で表現した場合、チップ画像と部分画像を重ね合わせて色が一致する点の数として計算することができる。
【０１３０】
類似する部分画像が見つからなかったならば、ステップ８１１にジャンプする（ステップ８０５）。
【０１３１】
検索された類似部分画像の位置を類似度の高い順に並べ、Ｐ１，Ｐ２，…とする（ステップ８０６）。これらを類似点と呼ぶ。
【０１３２】
ｋ＝１とする（ステップ８０７）。
【０１３３】
Ｔ［ｉ］のＮ個の候補点の中で、ＰＫと最も近い候補点をＴ［ｉ，ｊ］とする。ＰＫとＴ［ｉ，ｊ］の間の距離がｒ１／２以下の点が存在するなら、ステップ８１２にジャンプする（ステップ８０８）。図１５の例ではＣ［１］の類似点が三つ（ Ｐ１，Ｐ２，Ｐ３）あり、それぞれ×で表現している。各ＰＫを中心とする点線の円の半径はｒ１／２である。Ｐ１、Ｐ２の円内には、候補点が存在しないが、Ｐ３の円内には、候補点Ｔ［１，２］が存在する。したがって、ｉ＝１のとき、ｊ＝２としてステップ８１２にジャンプすることになる。なお、図１１のステップ５１６の処理により、半径ｒ１／２の円内に入る候補点は高々一つである。
【０１３４】
ｋ＝ｋ＋１とする（ステップ８０９）。
【０１３５】
未調査の類似点（ＰＫ）があるならば、ステップ８０８に戻る（ステップ８１０）。
【０１３６】
未調査の類似点（ＰＫ）がなくなったとき、あるいは、ステップ８０５において類似する部分画像がない場合は、Ｋ′ｉは不明とする（ステップ８１１）。
【０１３７】
ＰＫに近い候補点Ｔ［ｉ，ｊ］が見つかったときには、ｊに対応する部分鍵コードをコード変換表４２０から検索し、Ｋ′ ｉとする（ステップ８１２）。図１５の例では、ｉ＝１のときｊ＝２だったので、コード変換表の候補点番号が２の場所を参照し、Ｋ′１＝１１０１０とする。
【０１３８】
ｉ＝ｉ＋１とする（ステップ８１３）。
【０１３９】
ｉ≦Ｍならばステップ８０４に戻る（ステップ８１４）。
【０１４０】
ループから抜け、全てのＫ′ ｉが求まったら、Ｋ′′＝Ｋ′１｜Ｋ′２｜…｜Ｋ′ｍとする（ステップ８１５）。ただしＡ｜Ｂは、ＡとＢのビット列を連結したものとする。
【０１４１】
以下の（式３）のように、Ｖ′′をＫ′′とＥＣＣの排他的論理和とする。
【０１４２】
【数２】
2006270697.tif 000004
そして、Ｖ′′をＲＳ符号として復号し、得られたコードをＶ′とする（ステップ８１７）。ＲＳ符号の復号化は、例えば、ＢＭ（Berlekamp-Massey）アルゴリズムを用いることで高速に実行することができる。
【０１４３】
以下の（式４）のように、 Ｋ′ をＶ′とＥＣＣの排他的論理和とする（ステップ８１８）。
【０１４４】
【数３】
2006270697.tif 000005
ＲＳ（Ｍ，Ｍ−２ｔ）の符号を用いて誤り訂正をおこなうことで、Ｋｉ≠Ｋ′ｉであった（Ｃ［ｉ］に関してダミー座標を選択した）ところのｉの数をＥ１、Ｋ′ｉが不明であったところのｉの数をＥ２としたとき、２・Ｅ１＋Ｅ２≦ｔならば正しく復号化され、Ｋ′＝Ｋ（登録時の秘密鍵）となる。
【０１４５】
以上に示した通り、本実施形態では指紋の特徴点のチップ画像をラベル情報として用いることで、複数の特徴点に対して任意に番号（順番）を割りふり、認証時に指紋から再度抽出された特徴点を、この番号に従って並べることを可能とする。これにより、番号を振ることのできない非特許文献１などの従来技術と比較して、鍵長を大幅に長くすることができる。
【０１４６】
また、非特許文献１記載の技術は、全ての真の特徴点座標と全てのダミー座標を、一つの平面上にプロットして補助情報とする。このため候補点同士が近接している場合に鍵生成の安定性が低下したり、ダミー座標を正解座標から一定値以上の距離をおいてプロットした場合に候補点の配置から鍵情報の一部が漏洩してしまうといった問題があった。これに対し本実施形態では、各特徴点（チップ画像）に対して個別の平面を設定し、各平面上で一つの正解座標と複数のダミー座標をプロットして補助情報とする。これによって、候補点（正解座標およびダミー座標）同士が平面上で必ず一定値以上の距離で離れるよう補助情報を構成することが可能となり、鍵生成の安定性を高めると同時に、候補点の配置から鍵情報が漏洩することを防止する。また、各平面上で、対応するチップ画像と誤一致する位置の周辺にはダミー座標をプロットしないことで、鍵復元時に正解座標付近よりも誤一致点付近でチップ画像の類似度が高くなった場合にも、正解座標に誘導することが可能となり、鍵生成の安定性が高まる。このように、各特徴点に対して個別の平面を設定することが可能となったのは、チップ画像を特徴点のラベル情報として用い、特徴点に番号を割り振ったことによるものである。
【０１４７】
〔本発明の評価〕
本発明は、以上の実施形態で明らかなように、指紋特徴点のような順序付けが困難な特徴要素の集合として生体特徴情報が表現されている際に、特徴要素の一部の情報をラベルとして利用することで、順序付けを可能とし、ビット長の長い鍵を安定して生成することを可能とするものである。
【０１４８】
具体的には、特徴要素が含む複数の情報、例えば指紋特徴点における位置、方向、種別（端点または分岐点）、チップ画像（特徴点を中心とする局所部分画像）、リレーション（隣接する他の特徴点との間の隆線の本数）などから独立性の高い２種類の情報（例えば位置とチップ画像）を選択し、一方の情報（例えばチップ画像）を特徴点のラベル（補助情報）として適当な順番に従って記録し、認証時にはこのラベルを参照して特徴点を並べ替え、他方の情報（例えば、位置）を順に出力することで、鍵情報を復元する。
【０１４９】
ここで指紋からの鍵生成および復元を例にとり、非特許文献１記載の技術と鍵の有効ビット長の比較をおこなう。上記と同様、真の特徴点の数をｎ、各真の特徴点に対して生成される偽を含む候補特徴点の数をＮ、認証時に生じるエラー特徴点の数の最大許容値を t とし、RS符号により誤り訂正を利用すると、鍵の有効ビット長は以下の（式５）で評価される。
【０１５０】
（ｎ−２ｔ）ｌｏｇ（Ｎ）  …  （式５）
ここで、Ｎ＝６４、ｎ＝２０、ｔ＝８とすると２４ｂｉｔとなり、非特許文献１記載の技術で生成した鍵の有効ビット長（７ｂｉｔ）よりも大幅に有効ビット長の長い鍵を生成することができる。このとき有効な鍵の総数は、１６７７万通りあり、したがって、３回までやり直しを許される認証システムの場合、他人受入率は約０．００００１８％となる。
【０１５１】
また、非特許文献１記載の技術は、全ての真の特徴点と全ての偽特徴点を候補特徴点として一つの平面上にプロットして、認証時に新たに取得した指紋の特徴点に対して最も近い候補特徴点を検索するのに対し、本発明は真の特徴点のそれぞれに対して別々の平面を設定し、各平面上において、一つの真の特徴点と複数の偽特徴点を候補特徴点としてプロットして、認証時には新たに取得した指紋の特徴点のそれぞれに対して、対応する平面上で最も近い候補特徴点を検索する。このため、非特許文献１記載の技術は、前述の理由によって鍵復元の安定性が低下すると同時に攻撃者に対し鍵空間の絞込みを許してしまう（鍵の有効ビット長が短くなる）のに対し、本発明では鍵復元の安定性を高めると同時に前述の攻撃方法による鍵空間の絞込みを不可能とする。
【産業上の利用可能性】
【０１５２】
本発明は、ユーザ認証を行う任意のアプリケーションに対して適用可能であり、特に、ネットワークを介した認証においてセキュリティとプライバシを高めることができる。例えば、社内ネットワークにおける情報アクセス制御、インターネットバンキングシステムやＡＴＭにおける本人確認、会員向けＷｅｂサイトへのログイン、保護エリアへの入場時の個人認証、パソコンのログインなどへの適用が可能である。
【０１５３】
また、生体情報生成した秘密鍵を用いて機密情報の暗号化をおこなうことも可能である。例えば、ユーザが機密情報を含むデータを、オープンネットワーク上のサーバにバックアップする際の暗号化に、利用者の生体情報から生成した秘密鍵を用いるといった利用方法も考えられる。
【図面の簡単な説明】
【０１５４】
【図１】本発明の第一の実施形態に係るユーザ認証システムのハードウェア構成図である。
【図２】本発明の第一の実施形態に係るユーザ認証システムの機能構成図である。
【図３】本発明の第一の実施形態の生体情報による認証方法の暗号鍵の登録と復元処理の概略図である。
【図４】本発明の第一の実施形態に係るユーザの登録処理手順を示すフローチャートである。
【図５】本発明の第一の実施形態に係る特徴量抽出（ステップ３０６）および補助情報、鍵データ生成（ステップ３０７）の処理を示すフローチャートである。
【図６】本発明の第一の実施形態に係るユーザの認証処理の手順を示すフローチャートである。
【図７】本発明の第一の実施形態におけるユーザの認証処理のうちで特徴量抽出（ステップ７１２）および暗号鍵復元（ステップ７１３）の詳細な処理手順を示すフローチャートである。
【図８】本発明の第二の実施形態に係るユーザ認証システムの機能構成図である。
【図９】本発明の第二の実施形態に係る秘密鍵と補助情報のデータ構造を示す図である。
【図１０】本発明の第二の実施形態に係るユーザの登録処理手順を示すフローチャートである。
【図１１】本発明の第二の実施形態の登録処理における特徴量抽出（ステップ３０６）および補助情報作成（ステップ３０７）の詳細な処理手順を示すフローチャートである。
【図１２】本発明の第二の実施形態の登録処理における特徴量抽出および補助情報作成の処理の様子を示す図である。
【図１３】本発明の第二の実施形態に係るユーザの認証処理の手順を示すフローチャートである。
【図１４】本発明の第二の実施形態の認証処理における特徴量抽出（ステップ７１２）および秘密鍵復元（ステップ７１３）の詳細な処理手順を示すフローチャートである。
【図１５】本発明の第二の実施形態の認証処理における特徴量抽出および秘密鍵復元の処理の様子を示す図である。
【符号の説明】
【０１５５】
１００  クライアント端末
１０１  ＣＰＵ
１０２  メモリ
１０３  ネットワークコントローラ
１０４  ディスプレイ
１０５  キーボード
１０６  指紋センサ
１０７  ＩＣカード読書き装置
１０８  ＩＣカード
１２０  認証サーバ
１２１  ＣＰＵ
１２２  メモリ
１２３  ネットワークコントローラ
１２４  ハードディスク
１２５  ディスプレイ
１２６  キーボード
１３０  ネットワーク
２０１  鍵ペア生成機能
２０２  指紋センサ制御機能
２０３  特徴量抽出機能
２０４  補助情報作成機能
２０５  鍵復元機能
２０６  ＩＣカード読書制御機能
２０７  署名機能
２０８  通信機能
２４１  通信機能
２４２  データベース
２４３  検証機能
４００  秘密鍵
４１０  特徴点情報
４２０  コード変換表
４３０  誤り訂正符号。
【図１】
2006270697.tif 000006
【図２】
2006270697.tif 000007
【図３】
2006270697.tif 000008
【図４】
2006270697.tif 000009
【図５】
2006270697.tif 000010
【図６】
2006270697.tif 000011
【図７】
2006270697.tif 000012
【図８】
2006270697.tif 000013
【図９】
2006270697.tif 000014
【図１０】
2006270697.tif 000015
【図１１】
2006270697.tif 000016
【図１２】
2006270697.tif 000017
【図１３】
2006270697.tif 000018
【図１４】
2006270697.tif 000019
【図１５】
2006270697.tif 000020