(57)【特許請求の範囲】
【請求項１】
ユーザの生体情報に基づいて前記ユーザを認証する生体認証システムであって、
前記生体情報から認証用パスワードを生成するために用いる補助情報を生成する補助情報生成装置と、
前記補助情報を生成するためのマスタ補助情報を生成するマスタ補助情報生成装置と、
アプリケーションごとに予め登録した前記ユーザの登録パスワードを記憶した認証サーバと接続するための通信部と、
前記ユーザが入力した入力生体情報と前記補助情報とを用いて前記ユーザの認証用パスワードを生成する認証装置と、
を備え、
前記マスタ補助情報生成装置が、
前記ユーザの生体情報を受け取り、前記生体情報をｎ個（ｎは２以上の整数）のブロックに分割し、
前記ｎ個のブロックの各々について、
ｉ番目（ｉは２以上ｎ以下の整数）のブロックの内、特徴量が分布する第１の区間と前記第１の区間以外の第２の区間とを求め、
前記第１の区間には、前記第１の区間を前記第２の区間から区別するための値を割り当てて第１の部分とし、
前記第２の区間には、前記第２の区間を前記第１の区間から区別するための値を割り当てて第２の部分として、
前記第１の部分と前記第２の部分からなるｉ番目の第１の表を作成し、
前記ｎ個のブロックの各々について作成したｎ個の前記第１の表を纏めて前記マスタ補助情報とし、
前記アプリケーションに前記ユーザを登録する際には前記補助情報生成装置が、
前記マスタ補助情報生成装置から前記ユーザの前記マスタ補助情報を受け取り、
前記認証サーバから前記登録パスワードを受け取り、
前記登録パスワードをｎ個のパスワード部分に分割し、
前記マスタ補助情報が有するｎ個の第１の表の各々について、
ｉ番目の第１の表の前記第１の部分にはｉ番目のパスワード部分を割り当て、
ｉ番目の第１の表の前記第２の部分には当該パスワード部分とは異なる値を割り当てたｉ番目の第２の表を作成し、
前記ｎ個の第１の表の各々について作成したｎ個の前記第２の表を纏めて前記補助情報として前記補助情報を前記認証装置に送信し、
前記ユーザを認証する際には、前記認証装置が、
前記ユーザから前記生体情報を受け取り、
前記ユーザの前記生体情報をｎ個のブロックに分割し、
前記ｎ個のブロックの各々について、ｉ番目のブロックの内、特徴量が分布する区間に対応する部分の値を前記補助情報のｉ番目の前記第２の表から求め、
前記複数のブロックの各々について取得したｎ個の当該値を連結して求めた認証パスワードを前記認証サーバに送信して、前記認証サーバに前記認証パスワードと前記登録パスワードを比較させて前記ユーザを認証させる
ことを特徴とする生体認証システム。
【請求項２】
請求項１に記載の生体認証システムにおいて、
前記認証サーバは前記ユーザのＩＤを当該ユーザの前記登録パスワードと併せて記憶し、
前記認証装置は、前記ユーザについての前記補助情報を前記ユーザのＩＤと関連付けて記憶し、
前記ユーザを認証する際には、前記認証装置は、
前記ユーザから前記生体情報とともに前記ユーザのＩＤを受け取って、当該ユーザのＩＤと関連付けて記憶した前記補助情報を取得し、
前記補助情報から認証用パスワードを作成し、
前記ユーザのＩＤと前記認証用パスワードを前記認証サーバに送信して、前記ユーザを認証させる
ことを特徴とする生体認証システム。
【請求項３】
請求項１に記載の生体認証システムにおいて、
前記補助情報生成装置は、ＩＣカード又は携帯型メモリ又は携帯型端末装置であることを特徴とする生体認証システム。
【請求項４】
請求項１に記載の生体認証システムにおいて、
前記ユーザが使用する複数のアプリケーションごとに異なる登録パスワードが登録されており、
前記補助情報作成装置は、前記複数のアプリケーションごとに異なる登録パスワードを用いて前記マスタ補助情報から前記複数のアプリケーションごとに異なる補助情報を作成し、
前記認証装置は、前記複数のアプリケーションごとに異なる補助情報を用いて前記複数のアプリケーションごとに異なる認証パスワードを生成する
ことを特徴とする生体認証システム。
【請求項５】
請求項１に記載の生体認証システムにおいて、
前記補助情報生成装置は、前記パスワード部分とは異なる値として乱数を生成する乱数生成手段とを有することを特徴とする生体認証システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、人が持つ生体的特徴を用いて個人を認証、識別する装置、方法及びプログラムに関する。
【背景技術】
【０００２】
生体情報を用いたユーザ認証システムは、登録時にユーザから生体情報を取得し、特徴
量と呼ばれる情報を抽出して登録する。この登録情報をテンプレートという。認証時は、
再びユーザから生体情報を取得して特徴量を抽出し、テンプレートと照合して本人か否か
を確認する。しかし生体情報あるいはそこから抽出される特徴量は個人を識別可能な個人情報であり、これをシステムに登録する場合、管理コストやプライバシの問題が生じる。また複数のアプリケーションに対してテンプレートを登録する場合、いずれか１つのアプリケーションからテンプレートが漏洩した場合、他の全てのアプリケーションがなりすましの危険に晒されることになる。
【０００３】
こうした問題に対し、認証時に生体情報から動的にパスワード（あるいは秘密鍵）を生成し、これを用いて認証を行う方法が提案されている。例えば非特許文献１は、予め利用者のパスワードのハッシュ値を認証サーバに登録しておき、認証時にクライアントが利用者の生体情報を取得し、生体情報からパスワードを生成して、そのハッシュ値を認証サーバに送信し、認証サーバは受信したハッシュ値と予め登録されたハッシュ値を照合することで、利用者を認証する方法を提案している。また非特許文献２は、認証時に生体情報からPKIの秘密鍵を生成し、この秘密鍵に対して予め作成されている公開鍵証明書を利用して認証サーバがクライアントの利用者を認証する方法を提案している。
【０００４】
なお一般に生体情報は、経年変化やセンサに対する位置のずれ、歪み、環境ノイズなどによって、同じ生体でも生体情報を取得する度にデジタルデータとしては異なる値になる。このため生体情報からパスワードや秘密鍵を生成するためには、生体情報を安定的に量子化する必要がある。このように生体情報を安定的に量子化する方法として、特許文献１の方法などが知られている。特許文献１の方法を含め、一般に生体情報を量子化して所定のコード（パスワードや秘密鍵）を生成する方法は、予め該生体情報と所定のコードに依存して補助情報を作成し、コード生成時に前記補助情報を利用することを前提としている。
【０００５】
【特許文献１】特開2005-122522号公報
【非特許文献１】柴田陽一他, “統計的AD変換による生体情報を用いたChallenge & Response型ネットワーク認証の提案”, 情報処理学会 研究報告, Vol.2004, No.75, 2004
【非特許文献２】柴田陽一他, “メカニズムベースPKI―指紋からの秘密鍵動的生成”, 情報処理学会論文誌，Vol.45, No.8, 2004
【発明の開示】
【発明が解決しようとする課題】
【０００６】
非特許文献１の方法は、利用者が複数のアプリケーションの認証サーバに対してそれぞれ異なるパスワードを登録する場合に、各パスワードに対して毎回補助情報を作成する必要がある。補助情報を作成するためには利用者の生体情報を取得する必要があるが、この段階で不正な利用者が正規利用者になりすます脅威があるため、一般には登録時にオペレータが身分証明書などで利用者の本人確認を行う必要があり、運用コストの点で問題がある。また利用者は各アプリケーションへの登録の度に本人確認を受ける必要があり、利便性が劣る。
【０００７】
非特許文献２の方法は、補助情報とＰＫＩの秘密鍵が１対１に対応するため、補助情報と秘密鍵のいずれか一方でも漏洩の可能性が生じた場合に、両方を同時に更新する必要がある。前述のとおり、補助情報の更新には一般に本人確認が必要となり、秘密鍵の更新には、対応する公開鍵の証明書を認証局が再発行する必要があるため、運用コストおよび利便性が劣る。
【課題を解決するための手段】
【０００８】
本発明は、ユーザの生体情報に基づいてユーザを認証する（例えば、ユーザ本人か否かを検証する）ためのパスワード（例えば、認証用パスワード）を生成するために用いる補助情報を生成する場合に、ユーザの生体情報に基づいて予め作成されたマスター補助情報を変換することで、パスワードに対応する補助情報を生成することを特徴とする。
【０００９】
好ましくは、この機能をユーザの媒体（例えば、ＩＣカード）に持たせる。そして、ユーザの媒体を挿入された端末装置でパスワードを生成し、そのパスワードを認証装置へ送信し、認証装置でパスワードによりユーザを認証する。
【００１０】
好ましくは、マスター補助情報は、ユーザの生体情報の分布区間ごとの値を有し、マスター補助情報の値が第１の値（例えば、“１”）に対応する分布区間に対しパスワードの一部の値を割り当て、マスター補助情報の値が第２の値（例えば、“０”）に対応するユーザの生体情報の分布区間に対し他の値（例えば、乱数）を割り当て、割り当てられた各値を組み合わせて補助情報を生成する。
【００１１】
好ましくは、マスター補助情報のうち、頻度が偏っている分布区間に対応する値を第１の値とし、頻度が偏っている分布区間以外の分布区間に対応する値を、第２の値とする。
【発明の効果】
【００１２】
本発明によれば、ユーザがアプリケーションに対してパスワード登録を行う際に、予め作成されたマスター補助情報を変換することによって、パスワードに対応する補助情報を生成するため、複数のアプリケーションに対して異なるパスワードを登録する場合や、一旦登録したパスワードを変更する場合でも、新たに生体情報を取得して補助情報を作成しなおす必要はない。生体情報から補助情報を作成しなおす場合には、なりすましを防止するため本人確認を行う必要があるが、本発明によればこうした本人確認の手間はマスター補助情報を作成する際に必要とされるのみで、アプリケーションへのパスワード登録・更新の際には必要とされない。従って、運用コストを低減し、ユーザの負担を軽減する効果がある。
【００１３】
本発明によれば、補助情報が漏洩しても、正しいパスワードや元となった生体情報を容易に類推することはできないため、セキュリティ及びプライバシ保護を向上できる効果がある。
【００１４】
更に、マスター補助情報からＰＫＩ秘密鍵を直接作成することなくネットワーク型の生体認証を実現するため、証明書の発行と補助情報の作成を同時に行う必要はなく、非特許文献２の方法と比較して運用コストを低減し、ユーザの負担を軽減する効果がある。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施例１〜３を説明する。
【実施例１】
【００１６】
以下、本発明の実施例１について、ネットワークを介した複数のサービスアプリケーションに対して、生体情報に基づくパスワードを登録・認証することができる、サーバ・クライアント型の生体認証システムを例にして説明する。
【００１７】
図１に本実施形態のシステムの構成を示す。本実施形態の生体認証システムは、ユーザがネットワークを介したサービスを享受する際に認証を受けるために利用する認証端末１００と、ユーザに対して発行されるＩＣカード１２０と、ＩＣカードにマスター補助情報を登録する際に利用する生体情報登録端末１３０と、サービスアプリケーションがユーザを認証するために用いる認証サーバ１４０と、ネットワーク１５０とから構成される。認証端末１００はユーザのＰＣあるいは携帯電話、ＰＤＡなどであってもよく、ネットワーク１５０を介して認証サーバ１４０と接続されているものとする。生体情報登録端末１３０は、ユーザに対してマスター補助情報の登録サービスを提供する機関（以下、生体登録機関）が管理しているものとする。生体登録機関は、ユーザの身分証などに基づいて適切な本人確認を行った上で、ユーザの生体情報からマスター補助情報を作成し、ＩＣカード１２０に登録する。各サービスアプリケーションはこの生体登録機関において登録・発行されたマスター補助情報を信用するものとする。生体登録機関は例えば銀行であってもよく、この場合サービスアプリケーションは、ネットバンキングサービスや、オンラインクレジット決済サービスなどが考えられる。認証サーバ１４０はサービス提供者が管理するもので、認証端末１００からの認証要求に対して認証端末側に正規ユーザが存在するか否かを確認し、サービス提供の可否を決定するものとする。
【００１８】
認証端末１００は、ユーザの生体（例えば指紋）から生体情報（例えば指紋画像）を取得するセンサ１０１と、生体情報と補助情報から認証パスワードを生成するパスワード生成機能１０２と、補助情報データベース１０９から補助情報を検索する補助情報検索機能１０３と、ユーザが利用しようとするサービスを選択するためのサービス選択機能１０４と、補助情報データベース１０９に補助情報を登録する補助情報登録機能１０５と、乱数生成機能１０６と、ＩＣカード１２０内の情報を読み書きするＩＣカードＲ／Ｗ１０７と、認証サーバ１４０と通信するための通信機能１０８と、補助情報を記録・管理する補助情報データベース１０９とから構成される。補助情報データベース１０９は、サービスアプリケーション毎に補助情報レコード１１０を記録する。補助情報レコード１１０は、サービスアプリケーションを識別するためのサービス識別子（ＳＩＤ）と、該サービスアプリケーションにおけるユーザ識別子（ＵＩＤ）と、該サービスアプリケーションにおける補助情報を含む。サービスアプリケーションに依存しない場合は、補助情報データベース１０９を認証端末１００内に持たなくてもよい。つまり、認証サーバ１４０への認証要求ごとに、ＩＣカード１２０から補助情報を受信し、認証用パスワードを生成してもよい。
【００１９】
ＩＣカード１２０は、マスター補助情報１２３から所定の登録パスワードに対応する補助情報を作成するための補助情報変換機能１２１と、マスター補助情報１２３を記憶するための記憶装置１２２とから構成される。なお、ＩＣカードの代わりにＵＳＢ（Universal Serial Bus）メモリメモリカードや携帯端末など、データの記録機能と処理機能を持つ装置を用いてもよい。
【００２０】
生体情報登録端末１３０は、センサ１０１と、ＩＣカードＲ／Ｗ１０７と、生体情報からマスター補助情報を作成する補助情報作成機能１３１とから構成される。生体情報登録端末１３０は、マスター補助情報を生成する。認証端末１００と生体情報登録端末１３０とは一体であってもよい。
【００２１】
認証サーバ１４０は、新規ユーザのアカウント登録時に割り当てられていないユーザ識別子を検索する空きＵＩＤ検索機能１４１、アカウント登録機能１４２、アカウント検索機能１４３、パスワードを照合する照合機能１４４、通信機能１０８、ユーザアカウントを記録・管理するアカウントデータベース１４６とから構成される。アカウントデータベース１４６は、登録ユーザ毎にアカウントレコード１４７を記録する。アカウントレコード１４７は、ユーザ識別子（ＵＩＤ）と、該ユーザの登録パスワードおよび課金情報（例えばクレジットカード番号）等を含む。
【００２２】
なお、認証端末１００と生体情報登録端末１３０と認証サーバ１４０は、図８に示すように、ＣＰＵ８００、メモリ８０１、ＨＤＤ８０２、入力装置（キーボード、マウス等）８０３、出力装置（ディスプレイ、プリンタ等）８０４、通信装置８０５を有するパーソナルコンピュータやワークステーションなどのコンピュータシステムにより達成できる。認証端末１００の各機能部１０２〜１０６、生体情報登録端末１３０の機能部１３１、認証サーバ１４０の各機能部１４１〜１４４は、ＣＰＵ８００がメモリ８０１にロードされたプログラムを実行することにより達成される。認証端末１００の補助情報データベース１０９及び認証サーバ１４０のアカウントデータベース１４６としては、メモリ８０１又はＨＤＤ８０２が使用される。
【００２３】
つぎに、マスター補助情報登録時と、パスワード登録時と、認証時の処理について説明する。
【００２４】
図２は、マスター補助情報登録時の処理フロー図である。このフローは、生体登録機関のオペレータが、身分証などによりユーザの適切な本人確認を行った後、生体情報登録端末１３０を操作することによって開始される。
【００２５】
まず、生体情報登録端末１３０のセンサ１０１は、ユーザの指紋を読み取り指紋画像を作成する（ステップＳ２００）。
【００２６】
つぎに、補助情報作成機能１３１は、前記指紋画像からマスター補助情報１２３を作成する（ステップＳ２０１）。指紋画像からマスター補助情報を作成する処理の例は後述する。
【００２７】
つぎに、ＩＣカードＲ／Ｗ１０７は、前記マスター補助情報１２３をＩＣカード１２０の記憶装置１２２に書き込む（ステップＳ２０２）。
【００２８】
以上で述べたマスター補助情報の登録処理は、ユーザが登録しようとするサービスアプリケーションの数に関係なく事前に１回行うだけでよい。つまり、マスター補助情報は、複数のサービスアプリケーションに共通である。
【００２９】
図３は、パスワード登録時の処理フロー図である。このフローは、認証端末１００がユーザからサービスアプリケーションへのユーザ登録要求を受けた時に開始される。
【００３０】
まず、認証端末１００のサービス選択機能１０４は、どのサービスアプリケーションへのユーザ登録を行うかを、ユーザの指示に従って決定する（ステップＳ３００）。
【００３１】
つぎに、乱数生成機能１０６（登録パスワード生成機能）は、適切な長さ（ビット列）の登録パスワードをランダムに作成する（ステップＳ３０１）。
【００３２】
つぎに、通信機能１０８は、ネットワーク１５０を介して、前記登録パスワードおよびユーザの課金情報等をサービスアプリケーションの認証サーバ１４０へ送信し、ユーザ登録要求を行う（ステップＳ３０２）。
【００３３】
認証サーバ１４０は前記登録パスワードおよび課金情報等を受信し、空きＵＩＤ検索機能１４１が未割当のユーザ識別子を検索して、通信機能１０８を介して前記ユーザ識別子を認証端末１００に送信する（ステップＳ３０３）。
【００３４】
つぎに、アカウント登録機能１４２は、前記ユーザ識別子と前記登録パスワードと前記課金情報等を含むアカウントレコード１４７を作成し、アカウントデータベース１４６に登録する（ステップＳ１４２）。
【００３５】
認証端末１００は前記ユーザ識別子を受信し、ＩＣカードＲ／Ｗ１０７（通信機能）を介してＩＣカード１２０に対し前記登録パスワードを送信し、補助情報作成要求を行う（ステップＳ３０５）。
【００３６】
ＩＣカード１２０の補助情報変換機能１２１は前記登録パスワードを受信し、マスター補助情報１２３を変換することにより前記登録パスワードに対応する補助情報を作成し、認証端末１００に送信する（ステップＳ３０６）。補助情報変換処理の例は後述する。
【００３７】
認証端末１００は前記補助情報を受信し、補助情報登録機能１０５がサービスアプリケーションの識別子（ＳＩＤ）と、前記ユーザ識別子と、前記補助情報を含む補助情報レコード１１０を作成し、補助情報データベースに記録する。（ステップ３０７）。
【００３８】
以上に述べたとおり、サービスアプリケーションへのユーザ登録時には、ユーザは本人確認を伴う生体情報登録手続きを受ける必要がなく、認証端末１００に対してＩＣカード１２０を提示し、登録すべきサービスアプリケーションを指定するのみでよい。このため複数のサービスアプリケーションに対してユーザ登録を行う場合、本実施形態の生体認証システムは、従来システムと比較してユーザの利便性が高いという特長がある。
【００３９】
図４は、認証時の処理フロー図である。このフローは、認証端末１００がユーザからサービス利用要求を受けたときに開始される。
【００４０】
まず、認証端末１００のサービス選択機能１０４は、どのサービスアプリケーションを利用するかを、ユーザの指示に従って決定する（ステップＳ４００）。
【００４１】
つぎに、補助情報検索機能１０３は、ステップＳ４００で決定されたサービス識別子（ＳＩＤ）を検索キーとして、補助情報データベース１０９から補助情報レコード１１０を検索する（ステップＳ４０１）。
【００４２】
つぎに、認証端末１００のセンサ１０１は、ユーザの指紋を読み取り指紋画像を作成する（ステップＳ４０２）。
【００４３】
つぎに、パスワード生成機能１０２は、前記指紋画像と、前記補助情報レコード１１０に含まれる補助情報とから、認証パスワードを生成する（ステップＳ４０３）。認証パスワード生成処理の例は後述する。
【００４４】
つぎに、通信機能１０８は、前記補助情報レコード１１０に含まれるユーザ識別子と、前記認証パスワードを認証サーバ１４０に送信し、認証要求を行う（ステップＳ４０４）。なお認証パスワードのかわりに認証パスワードのハッシュ値や暗号化データ等を送信してもよい。
【００４５】
認証サーバ１４０は前記ユーザ識別子と前記認証パスワードを受信し、アカウント検索機能１４３が前記ユーザ識別子を検索キーとして、アカウントデータベース１４６からアカウントレコード１４７を検索する（ステップＳ４０５）。
【００４６】
照合機能１４４は、前記アカウントレコード１４７に含まれる登録パスワードと、前記認証パスワードを照合し、一致すれば認証成功、一致しなければ認証失敗と判断する（ステップＳ４０６）。なお認証パスワードのかわりにハッシュ値や暗号化データ等を受信した場合は、登録パスワードに対しても同様にハッシュ値や暗号化データを作成して照合する。
【００４７】
以上に述べたとおり、サービスアプリケーションから信頼されている生体登録機関がマスター補助情報を作成することで、各サービスアプリケーションが別個に生体情報の登録や補助情報の作成を行う必要がなくなり、運用コストを低減することができる。
【００４８】
次に、生体情報からパスワードを生成する方法の例を、特許文献１の技術に基づいて説明する。またこの例に基づき、マスター補助情報の作成および、補助情報の変換が可能であることを説明する。なおここで説明するマスター補助情報の作成方法および変換方法は、生体情報から鍵情報を生成する特願2005-087808号の明細書及び図面などに記載された技術に対しても全く同様に適用できる。更に、以下では生体情報として指紋を例に説明するが、静脈や虹彩など指紋以外の生体情報に対しても同様に実現可能である。
【００４９】
まず、特許文献１の技術に基づいて指紋画像から所定の登録パスワードに対応する補助情報を作成し、また認証時に指紋画像と補助情報を用いて認証パスワードを生成する方法について、図５を用いて説明する。
【００５０】
最初に登録時の補助情報作成処理について説明する。
【００５１】
まず登録パスワード５０３を特定の数（例えばｎ個）に分割し、各分割パスワードを、先頭からＰ１、Ｐ２、・・・、Ｐｎとする。
【００５２】
次にユーザの特定の指紋（例えば右手人差し指）から、複数の登録用指紋画像を繰り返し取得し、指紋画像セット５００を収集する。これらの登録用指紋画像を、指紋パターンにおける特定の点（例えば指紋の渦の中心点など）を基準に、互いに重なるよう平行移動して補正する。
【００５３】
次に登録用指紋画像をｎ個のブロックに分割し、各ブロックにおける隆線の方向を算出する。なお一般的には生体情報から複数の特徴量を抽出できればよく、ここでは例として、指紋画像のブロック毎の隆線方向を１つの特徴量として説明している。
【００５４】
１つのブロック、例えばｉ番目のブロック（以下、ブロックｉ）に着目すると、各登録用指紋画像におけるブロックｉの隆線方向（以下、特徴量ｉ）は同じ値を取るはずであるが、実際には指をセンサに置いたときの歪みや回転による誤差のため、特徴量ｉの値は互いに完全には一致せず、図に示すようにある比較的狭い幅を持った分布５０１に従う。
【００５５】
この分布５０１の大部分を含よう、特徴量iの正解区間を決定する。例えば分布５０１の平均μ、標準偏差σに対して、［μ−３σ，μ＋３σ）といった正解区間を用いることができる。図では例として、隆線方向が６０°以上９０°未満という正解区間が得られたものとしている。尚、標準偏差の代わりに、しきい値を定め、そのしきい値よりも大きい頻度の区間を正解区間としてもよい。正解区間は、頻度が偏った区間であるのが好ましい。
【００５６】
次に特徴量が取りうる全区間（図の例では０°以上１８０°未満）を、前記正解区間の幅で等間隔に分割し、複数の区間を得る。図の例では６個の区間が得られる。正解区間以外の各区間を、偽区間と呼ぶ。尚、正解区間は、複数（例えば、２や３）の区間としてもよい。正解区間と偽区間を入れ替えてもよい。
【００５７】
このように特徴量ｉに対して得られた正解区間および偽区間を並べ、正解区間に対してｉ番目の分割パスワードＰｉを出力値として割り当て、偽区間に対してＰｉ以外の互いに異なる乱数を割り当てた表（特徴量ｉの出力値テーブル）を作成する。このような表を、全ての特徴量ｉ（ｉ＝０、１、・・・、ｎ）に対して作成し、それらをまとめて（組み合わせ）補助情報５０２とする。
【００５８】
次に、認証時のパスワード生成処理について説明する。
【００５９】
まずユーザの指紋から認証用指紋画像５１０を取得し、これをｎ個のブロックに分割して、各ブロックにおける隆線の方向（特徴量）を算出する。
【００６０】
各特長量ｉ（ｉ＝０、１、・・・、ｎ）に対し、補助情報のｉ番目の表（特徴量ｉの出力値テーブル）を参照し、特徴量ｉが含まれる区間を検索し、該区間に対応する出力値を得る。
【００６１】
検索の結果得られた出力値を、分割パスワードＰｉの復元値Ｐｉ’とし、これを並べて連結したデータを、認証パスワード５１１として出力する。登録時の指紋と認証時の指紋が同一の指から取得したものであれば、認証パスワードは高い確率で登録パスワードと一致する。
【００６２】
以上が、特許文献１の技術に基づいて指紋から所定のパスワードを生成する処理の例である。
【００６３】
次に、以上の処理例を基に、本発明で用いるマスター補助情報を作成する方法を、図６を用いて説明する。
【００６４】
まず前記図５における登録時の補助情報作成処理と同様の処理を行い、各特長量ｉの正解区間および偽区間を計算する。
【００６５】
次に正解区間および偽区間を並べ、正解区間に対してフラグ１を、偽区間に対してフラグ０を割り当てた表（特徴量ｉのフラグテーブル）を作成する。このような表を、全ての特徴量ｉ（ｉ＝０、１、・・・、ｎ）に対して作成し、それらをまとめてマスター補助情報１２３とする。
【００６６】
次に、本発明で用いる補助情報の変換処理、つまりマスター補助情報と所定の登録パスワードを用いて、該登録パスワードに対応する補助情報を作成する処理の例に関して、図７を用いて説明する。
【００６７】
まずマスター補助情報１２３が含むフラグテーブルの数をｎとし、登録パスワード５０３をｎ個に分割する。各分割パスワードを、先頭からＰ１、Ｐ２、・・・、Ｐｎとする。
【００６８】
マスター補助情報１２３のｉ番目のフラグテーブル（特徴量ｉのフラグテーブル）に対し、フラグ１の区間の出力値をＰｉに、フラグ０の区間の出力値をＰｉ以外の互いに異なる乱数として割り当てた表（特徴量ｉの出力値テーブル）を作成する。このような表を、ｎ個全てのフラグテーブルに対して作成し、それらをまとめて補助情報５０２とする。
【００６９】
以上の方法によりマスター補助情報１２３を変換することで、登録パスワード５０３に対応する補助情報５０２が得られる。変換処理はテーブルの検索と書き換えで構成され、ＩＣカードのように計算能力が限られたＣＰＵであっても高速に実行可能である。認証時には、前記図５における認証時のパスワード生成処理と同様の処理を行うことで、認証パスワードを生成することができる。
【００７０】
なお、補助情報５０２が漏洩しても、正しいパスワードや元となった生体情報を容易に類推することはできない。また、マスター補助情報はＩＣカード１２０内に保管し、外部には出力されないのが好ましい。従って本実施例のシステムにより、高いセキュリティとプライバシ保護効果を達成することができる。
【実施例２】
【００７１】
以下、本発明の実施例２について、ネットワークを介した複数のサービスアプリケーションが、認証端末を介して利用者の正当性を確認する際、生体認証に基づくチャレンジ・レスポンス認証を行うことのできる、サーバ・クライアント型の生体認証システムを例にして説明する。本実施例では、公開鍵認証基盤（ＰＫＩ）と生体認証技術を融合することで、利用者がサーバに対して事前にパスワード登録などの手続きを行うことなく、自己の正当性を示すことができる。一般的なＰＫＩを用いたユーザ認証においては、サーバは、クライアントから送られてきたユーザ証明書（公開鍵を含む）の正当性を検証し、またその証明書に対応する秘密鍵がクライアント側に存在することをチャレンジ・レスポンスにより確かめることで、事前にユーザの認証情報（パスワード等）を登録することなく、ユーザの正当性を確認することができる。しかしサーバは、該証明書の所有者であるユーザが実際にクライアント側に存在することまでは確かめることができない。例えば秘密鍵を格納したＩＣカードを他人が利用していたとしても、サーバにはそれを確認することができない。これに対して本実施例では、サーバが証明書の検証と秘密鍵の存在確認に加えてユーザ自体の存在確認を行うことを可能とし、かつＰＫＩ同様に事前の認証情報登録を必要としない、チャレンジ・レスポンス型の生体認証を実現する。
【００７２】
図９に本実施形態のシステムの構成を示す。本実施形態の生体認証システムは、ユーザがネットワークを介して認証を受けるために利用する認証端末１００と、ユーザに対して発行されるＩＣカード１２０と、ＩＣカードにマスター補助情報を登録する際に利用する生体情報登録端末１３０と、サービスアプリケーションがユーザを認証するために用いる認証サーバ１４０と、ネットワーク１５０と、ユーザに対してＰＫＩ証明書を発行する認証局（ＣＡ）９６０とから構成される。認証端末１００はユーザのＰＣあるいは携帯電話、ＰＤＡなどであってもよく、ネットワーク１５０を介して認証サーバ１４０と接続されているものとする。生体情報登録端末１３０は、前記第一の実施例と同様であるとする。認証サーバ１４０はサービス提供者が管理するもので、認証端末１００からの認証要求に対して認証端末側に正規ユーザが存在するか否かを確認し、サービス提供の可否や、サービス登録の可否などを決定するものとする。なお認証サーバ１４０のかわりに個人のＰＣやモバイル端末等を用いることで、サービスアプリケーションのかわりに個人が、ユーザの正当性を確認することができる。これにより例えばＰ２Ｐにおけるユーザ認証や、ネットオークションの取引など、ネットワークを介した個人対個人の認証を、生体認証に基づいて実現することができる。
【００７３】
認証端末１００は、センサ１０１と、パスワード生成機能１０２と、サービス選択機能１０４と、ＩＣカードＲ／Ｗ１０７と、通信機能１０８とから構成される。各機能は前記実施例１と同様であるとする。
【００７４】
ＩＣカード１２０は、マスター補助情報１２３から所定の登録パスワードに対応する補助情報を作成するための補助情報変換機能１２１と、ユーザ秘密鍵９２３を用いて所定の暗号化データを復号化する復号化機能９２１と、記憶装置１２２とから構成される。記憶装置１２２は、マスター補助情報１２３と、ユーザ証明書９２２（公開鍵を含む）と、ユーザ秘密鍵９２３とを記憶する。なお、ＩＣカードの代わりにＵＳＢメモリや携帯端末など、データの記録機能と処理機能を持つ装置を用いてもよい。ユーザ証明書９２２は、Ｘ５０９などの標準的な証明書フォーマットに従うものとし、ユーザの公開鍵に加えてユーザの名前（または識別子）や、住所（またはそのハッシュ値）、課金情報（またはそのハッシュ値）など、アプリケーションサーバがユーザにサービス提供する際、あるいはユーザを登録する際などに、確認する必要のある情報を含むものとする。
【００７５】
生体情報登録端末１３０の構成は、前記第一の実施例と同様であるとする。
【００７６】
認証サーバ１４０は、ユーザ証明書９２２の正当性を検証する証明書検証機能９４１と、乱数生成機能１０６と、所定のデータを所定の公開鍵で暗号化する暗号化機能９４２と、パスワード照合機能１４４と、通信機能１０８と、記憶装置９４３とから構成される。記憶装置９４３は、認証局の公開鍵を含むＣＡ証明書９４４を記憶する。
【００７７】
ＣＡ端末９６０は、ユーザからの申請情報に対して署名を付与して証明書を作成する証明書作成機能９６１と、ＩＣカードＲ／Ｗ１０７と、記憶装置９４３とから構成される。記憶装置９４３は、ＣＡ証明書９４４と、ＣＡ秘密鍵９６２を記憶する。
【００７８】
なお、認証端末１００と生体情報登録端末１３０と認証サーバ１４０とＣＡ端末９６０とは、前記第一の実施例と同様、図８に示すような、ＣＰＵ８００、メモリ８０１、ＨＤＤ８０２、入力装置（キーボード、マウス等）８０３、出力装置（ディスプレイ、プリンタ等）８０４、通信装置８０５を有するパーソナルコンピュータやワークステーションなどのコンピュータシステムにより達成できる。
【００７９】
次に、本実施例における証明書発行時の処理フローを、図１０を用いて説明する。
【００８０】
このフローは、認証局のオペレータが身分証などによりユーザの適切な本人確認を行った後、オペレータまたはユーザがＩＣカード１２０をＣＡ端末９６０に挿入したときに開始される。
【００８１】
まずＣＡ端末９６０は、ＩＣカード１２０に対して鍵生成要求を送信する（ステップ１０００）。
【００８２】
ＩＣカード１２０は要求を受け、公開鍵と秘密鍵のペアを生成する。生成した秘密鍵をユーザ秘密鍵９２３として記憶装置１２２に記憶し、公開鍵をＣＡ端末９６０に送信する（ステップ１００１）。
【００８３】
ＣＡ端末９６０は前記公開鍵を受信し、オペレータから、ユーザの名前（または識別子）や住所（またはそのハッシュ値）、課金情報（またはそのハッシュ値）などのユーザ情報の入力を受け付ける（ステップ１００２）。
【００８４】
証明書作成機能９６１は、ＣＡ秘密鍵９６２を用いて、前記ユーザ情報および公開鍵を組としたデータに対して署名を付与し、ユーザ証明書９２２を作成する（ステップ１００３）。
【００８５】
ＣＡ端末９６０のＩＣカードＲ／Ｗ１０７は、前記ユーザ証明書９２２を、ユーザのＩＣカード１２０に書き込む（ステップ１００４）。
【００８６】
マスター補助情報登録時の処理は、前記第一の実施例と同様とする。なお、マスター補助情報の作成に責任を持つ生体登録機関と、証明書の発行に責任を持つ認証局とは同一の機関であってもよく、その場合、生体情報登録端末１３０とＣＡ端末９６０は同一の端末であってもよい。
【００８７】
次に、本実施例における認証時の処理フローを、図１１を用いて説明する。このフローは、認証端末１００がユーザからサーバへのアクセス要求を受けたときに開始される。アクセス要求は、例えばユーザがサービスを利用する際や、サービスアプリケーションへユーザ登録を行う際などに行われる。
【００８８】
まず、認証端末１００のサービス選択機能１０４は、どのサービスアプリケーションを利用するかを、ユーザの指示に従って決定する（ステップＳ１１００）。
【００８９】
次に、認証端末１００はＩＣカード１２０に対し、ユーザ証明書を要求する（ステップＳ１１０１）。
【００９０】
ＩＣカード１２０は、前記要求を受け、認証端末１００に対してユーザ証明書９２２を送信する。（ステップ１１０２）。
【００９１】
認証端末はユーザ証明書９２２を受け取り、ステップＳ１１００において決定されたサービスアプリケーションの認証サーバ１４０に対して、認証要求とともにユーザ証明書９２２を送信する（ステップ１１０３）。
【００９２】
認証サーバ１４０はユーザ証明書９２２を受信し、ＣＡ証明書９４４に基づき証明書検証機能９４１が、その正当性を検証する（ステップ１１０４）。
【００９３】
ユーザ証明書９２２の正当性が検証されたならば、乱数生成機能１０６が乱数コードを生成する（ステップ１１０５）。
【００９４】
暗号化機能９４２は、前記ユーザ証明書９２２に含まれる公開鍵を用いて、前記乱数コードを暗号化し、これをチャレンジコードとして認証端末１００に送信する（ステップ１１０６）。
【００９５】
認証端末１００は、前記チャレンジコードを受信し、ＩＣカード１２０に対して補助情報作成要求と前記チャレンジコードを送信する（ステップ１１０７）。
【００９６】
ＩＣカード１２０は、前記チャレンジコードを受信し、ユーザ秘密鍵９２３を用いてこれを復号化し、元の乱数を得る（ステップ１１０８）。この乱数を、以下パスワードとして利用する。
【００９７】
補助情報変換機能１２１は、マスター補助情報１２３を変換することにより前記パスワードに対応する補助情報を作成し、認証端末１００に送信する（ステップ１１０９）。補助情報の変換処理は、前述の第一の実施例と同様であるとする。
【００９８】
認証端末１００は前記補助情報を受信し、次にセンサ１０１がユーザの指紋画像を取得する（ステップ１１１０）。
【００９９】
パスワード生成機能１０２は、前記指紋画像と、前記補助情報とから、認証パスワードを生成し、認証サーバ１４０に送信する（ステップＳ１１１１）。認証パスワードの生成処理は、前記第一の実施例と同様であるとする。なお認証パスワードのかわりに認証パスワードのハッシュ値や暗号化データ等を送信してもよい。
【０１００】
認証サーバ１４０は前記認証パスワードを受信し、ステップ１１０５において生成した前記乱数コードと照合して、一致すれば認証成功、一致しなければ認証失敗と判断する（ステップＳ１１１２）。なお認証パスワードのかわりにハッシュ値や暗号化データ等を受信した場合は、前期乱数コードに対しても同様にハッシュ値や暗号化データを作成して照合する。
【０１０１】
なお、安全性を高めるためにユーザ秘密鍵９２３と公開鍵の対を定期的に更新する場合は、前述のようにＣＡのオペレータが身分証などによってユーザの本人確認を行う必要はなく、前述の認証処理フローと同様にしてＣＡ端末９６０がユーザの認証処理を行うことで、本人確認が実現できる。従って証明書更新時には、ユーザは認証局に出かける必要はなく、ネットワークを介して証明書の更新を行うことができる。
【０１０２】
以上のように本実施例は、生体認証とＰＫＩを連携することで、あらかじめ認証サーバ１４０に対してパスワードや生体情報等のユーザ認証情報を登録しておくことなしに、ネットワークを介した生体認証を実現することができる。非特許文献２の技術も生体認証とＰＫＩを連携するものであるが、秘密鍵と補助情報が一対一の関係にある（生体情報と補助情報から秘密鍵を生成する）ため、秘密鍵と公開鍵の対を更新する場合や、指紋の経年変化にともなって補助情報を更新する必要が出てきた場合などに、補助情報の更新と証明書の再発行を同時に行う必要があり、利便性や運用コストの点で問題があった。これに対し、本実施例ではユーザ秘密鍵とマスター補助情報は独立に作成・更新することができるため、必要に応じて一方だけを更新することが可能となり、ユーザの利便性を高め、補助情報の作成や証明書の発行にかかる運用コストを低減することができる。
【実施例３】
【０１０３】
以下、本発明の実施例３について、ＡＴＭなどのサービス提供端末が、ＩＣカードと生体情報を用いてユーザを認証するシステムを例にして説明する。従来、セキュリティとプライバシ保護効果を高めるための技術として、あらかじめユーザの登録生体情報をＩＣカード内に記録しておき、認証時に端末側で取得したユーザの生体情報をＩＣカードに送信し、ＩＣカードの内部において登録生体情報と照合し、ＩＣカード内で本人か他人かの判定を行う、カード内生体照合技術が提案されている。しかし一般に生体情報の照合処理には大きな計算量を必要とし、短い処理時間で十分な認証精度を達成することは困難であった。本実施例は、マスター補助情報の変換とパスワードの照合をＩＣカード内で行うことで、高速なカード内生体照合処理を実現するものである。
【０１０４】
図１２に本実施形態のシステムの構成を示す。本実施形態の生体認証システムは、ユーザを認証してサービス提供を行う認証端末１００と、ユーザに対して発行されるＩＣカード１２０と、生体情報登録端末１３０とから構成される。
【０１０５】
認証端末１００は、センサ１０１と、パスワード生成機能１０２と、乱数生成機能１０６と、ＩＣカードＲ／Ｗ１０７と、記憶装置９４３とから構成される。記憶装置９４３には、ＩＣカード１２０が署名したデータを検証するためのカード検証鍵１２００を記憶する。
【０１０６】
ＩＣカード１２０は、乱数生成機能１０６と、補助情報変換機能１２１と、パスワード照合機能１４４と、署名機能１２２０と、記憶装置１２２とから構成される。記憶装置１２２は、ユーザのマスター補助情報１２３と、ユーザ情報１２２１と、カード署名鍵１２２２を記憶する。ユーザ情報１２２１は、認証端末１００がユーザを識別し、サービスを提供するために必要な情報を含むものとする。前記実施例２のユーザ証明書９２２と同一であってもよい。またカード署名鍵１２２２は、カード検証鍵１２００と同一でもよく、また公開鍵暗号技術に基づいて作成された秘密鍵でもよい。後者の場合カード検証鍵１２００は、カード署名鍵１２２２と対になる公開鍵でなくてはならない。
【０１０７】
なお、認証端末１００と生体情報登録端末１３０は、前記第一の実施例と同様、図８に示すような、ＣＰＵ８００、メモリ８０１、ＨＤＤ８０２、入力装置（キーボード、マウス等）８０３、出力装置（ディスプレイ、プリンタ等）８０４、通信装置８０５を有するパーソナルコンピュータやワークステーションなどのコンピュータシステムにより達成できる。
【０１０８】
生体情報登録端末１３０の構成は、前記第一の実施例と同様であるとする。
【０１０９】
マスター補助情報登録時の処理は、前記第一の実施例と同様とする。
【０１１０】
次に、本実施例における認証時の処理フローを、図１０を用いて説明する。この処理フローは、ユーザが認証端末１００にＩＣカード１２０を提示し、サービス要求を行ったときに開始される。
【０１１１】
認証端末１００の乱数生成機能１０６は、チャレンジコードとして乱数を生成し、ＩＣカード１２０に送信する（ステップ１３００）。
【０１１２】
ＩＣカード１２０は前記チャレンジコードを受信し、次にＩＣカード１２０の乱数生成機能１０６により乱数コードを生成する（ステップ１３０１）。
【０１１３】
補助情報変換機能１２１は、マスター補助情報１２３を変換することで、前記乱数コードに対応する補助情報を作成し、認証端末１００に送信する（ステップ１３０２）。補助情報の変換処理は、前述の第一の実施例と同様であるとする。
【０１１４】
認証端末１００は前記補助情報を受信し、センサ１０１を用いてユーザの指紋画像を取得する（ステップ１３０３）。
【０１１５】
パスワード生成機能１０２は、前記指紋画像と前記補助情報とから、認証パスワードを生成し、ＩＣカード１２０に送信する（ステップ１３０４）。認証パスワードの生成処理は、前記第一の実施例と同様であるとする。なお認証パスワードのかわりに認証パスワードのハッシュ値や暗号化データ等を送信してもよい。
【０１１６】
ＩＣカード１２０は前記認証パスワードを受信し、照合機能１４４が前記認証パスワードと前記乱数コードを照合する（ステップ１３０５）。なお認証パスワードのかわりにハッシュ値や暗号化データ等を受信した場合は、前期乱数コードに対しても同様にハッシュ値や暗号化データを作成して照合する。
【０１１７】
署名機能１２２０は、照合結果データ（「一致」／「不一致」を示す１ビット値）と前記チャレンジコードを連結したデータに対し、カード署名鍵１２２２を用いて電子署名を作成し、前記照合結果データと、前記電子署名データと、ユーザ情報１２２１とを認証端末１００に送信する（ステップ１３０６）。
【０１１８】
認証端末１００は、前記照合結果データと、前記電子署名データと、ユーザ情報１２２１とを受信し、カード検証鍵１２００を用いて前記電子署名データを検証し、前記照合結果データの正当性を確認する（ステップ１３０７）。前記照合結果データが正当なものであり、かつ照合結果が「一致」であったならば、認証成功としてサービスを提供する。
【０１１９】
本実施例の生体認証システムは、マスター補助情報１２３をＩＣカード１２０の外部へ送信することなく、カード内で照合処理を行うことができるため、カード内生体照合の一種と考えることができる。従来のカード内照合処理は大きな計算量を必要とし、短い処理時間で十分な認証精度を達成することが困難であったのに対し、本実施例のカード内照合処理は、補助情報の変換とパスワード照合のみから構成され、大きな計算量を必要としない。これによって高速なカード内生体照合を実現することができる。
【産業上の利用可能性】
【０１２０】
本発明は、ユーザ認証を行う任意のアプリケーションに対して適用可能であり、特にネットワークを介した認証において利便性を向上し、運用コストを低下することができる。例えば社内ネットワークにおける情報アクセス制御、インターネットバンキングシステムやＡＴＭにおける本人確認、会員向けWebサイトへのログイン、保護エリアへの入場時の個人認証、パソコンのログインなどへの適用が可能である。
【図面の簡単な説明】
【０１２１】
【図１】本発明の実施例１の機能構成を示すブロック図である。
【図２】本発明の実施例１のマスター補助情報登録処理を示す流れ図である。
【図３】本発明の実施例１のパスワード登録処理を示す流れ図である。
【図４】本発明の実施例１の認証処理を示す流れ図である。
【図５】本発明の実施例１のパスワード生成処理を説明するための図である。
【図６】本発明の実施例１のマスター補助情報作成処理を説明するための図である。
【図７】本発明の実施例１の補助情報変換処理を説明するための図である。
【図８】本発明の実施例１のハードウェア構成を示すブロック図である。
【図９】本発明の実施例２の機能構成を示すブロック図である。
【図１０】本発明の実施例２の証明書発行処理を示す流れ図である。
【図１１】本発明の実施例２の認証処理を示す流れ図である。
【図１２】本発明の実施例３の機能構成を示すブロック図である。
【図１３】本発明の実施例３の認証処理を示す流れ図である。
【符号の説明】
【０１２２】
１００  認証端末
１０１  センサ
１０２  パスワード生成機能
１０３  補助情報検索機能
１０４  サービス選択機能
１０５  補助情報登録機能
１０６  乱数生成機能
１０７  ＩＣカードＲ／Ｗ
１０８  通信機能
１０９  補助情報データベース
１１０  補助情報レコード
１２０  ＩＣカード
１２１  補助情報変換機能
１２２  記憶装置
１２３  マスター補助情報
１３０  生体情報登録端末
１３１  補助情報作成機能
５００  登録用指紋画像セット
５０１  特徴量分布
５０２  補助情報
５０３  登録パスワード
５１０  認証用指紋画像
５１１  認証パスワード
８００  ＣＰＵ
８０１  メモリ
８０２  ＨＤＤ
８０３  入力装置
８０４  出力装置
８０５  通信装置
９２１  復号化機能
９２２  ユーザ証明書
９２３  ユーザ秘密鍵
９４１  証明書検証機能
９４２  暗号化機能
９４３  記憶装置
９４４  ＣＡ証明書
９６０  ＣＡ端末
９６１  証明書作成機能
９６２  ＣＡ秘密鍵
１２００  カード検証鍵
１２２０  署名
１２２１  ユーザ情報
１２２２  カード署名鍵
【図１】
0004736744.tif 000002
【図２】
0004736744.tif 000003
【図３】
0004736744.tif 000004
【図４】
0004736744.tif 000005
【図５】
0004736744.tif 000006
【図６】
0004736744.tif 000007
【図７】
0004736744.tif 000008
【図８】
0004736744.tif 000009
【図９】
0004736744.tif 000010
【図１０】
0004736744.tif 000011
【図１１】
0004736744.tif 000012
【図１２】
0004736744.tif 000013
【図１３】
0004736744.tif 000014