(57)【特許請求の範囲】
【請求項１】
ユーザ端末と、前記ユーザ端末とネットワークを介して接続される認証サーバと、を備える認証システムであって、
前記ユーザ端末は、ユーザの生体情報を取得するセンサと、
取得された生体情報から認証用特徴データを抽出する特徴抽出部と、
前記認証用特徴データを符号化して認証用符号化特徴データを作成する特徴データ符号化部と、
前記認証用符号化特徴データを含む識別要求情報を外部に送信する送信部と、を備え、
前記認証サーバは、バイオメトリック暗号化認証情報を格納するＤＢと、
前記識別要求情報に基づき前記ＤＢに含まれるバイオメトリック暗号化認証情報を検索する検索部と、
検索されたバイオメトリック暗号化認証情報に対して前記認証用符号化特徴データを復号化鍵として復号化を行い、当該復号化により得た認証情報に基づきユーザを一意に識別する復号化処理部と、
識別されたユーザに対して復号化により得た認証情報に基づき前記ユーザ端末に代わって認証応答処理を行う認証応答処理部と、を備え、
前記バイオメトリック暗号化認証情報は、ユーザの認証情報を、当該ユーザの登録時の生体情報から抽出された登録用特徴データを符号化した登録用符号化特徴データを暗号鍵として暗号化した情報であり、
前記復号化処理部は、前記認証用符号化特徴データと前記登録用符号化特徴データとの類似度が所定値を上回る場合に正しい認証情報を復号し、
前記バイオメトリック暗号化認証情報は、当該認証情報の正しさを検証するための検証情報を含み、
前記復号化処理部は、復号化した認証情報が正しいか否かを前記検証情報に基づき判定し、
前記復号化処理部は、誤り訂正処理と、当該誤り訂正処理により訂正された誤り情報の量が最も少ないバイオメトリック暗号化認証情報を正しいユーザのものと判定してユーザに紐付ける処理とを実施する、ことを特徴とする生体認証システム。
【請求項２】
請求項１に記載の生体認証システムにおいて、
ユーザ認証方式がパスワード認証である場合に、前記認証情報は、ユーザがサービスを利用する際に用いるパスワードの情報を含むことを特徴とする生体認証システム。
【請求項３】
請求項１に記載の生体認証システムにおいて、
ユーザ認証方式が公開鍵暗号方式である場合に、前記認証情報は、ユーザがサービスを利用する際に用いる秘密鍵の情報を含むことを特徴とする生体認証システム。
【請求項４】
請求項１乃至３のいずれかに記載の生体認証システムにおいて、
前記認証情報は、ユーザがサービスを利用する際に用いるユーザＩＤを含むことを特徴とする生体認証システム。
【請求項５】
請求項１に記載の生体認証システムにおいて、
前記ＤＢは、前記バイオメトリック暗号化認証情報とサービス種別とを対応付けて格納し、
前記識別要求情報はサービス種別を識別する識別子を含み、
前記検索部は、前記識別子に基づき、サービス種別に紐付くバイオメトリック暗号化認証情報を検索する、ことを特徴とする生体認証システム。
【請求項６】
ユーザの生体情報を取得するセンサと、取得された生体情報から認証用特徴データを抽出する特徴抽出部と、前記認証用特徴データを符号化して認証用符号化特徴データを作成する特徴データ符号化部と、前記認証用符号化特徴データを含む識別要求情報を外部に送信する送信部と、を備えるユーザ端末とネットワークを介して接続されており、
バイオメトリック暗号化認証情報を格納するＤＢと、
前記識別要求情報に基づき前記ＤＢに含まれるバイオメトリック暗号化認証情報を検索する検索部と、
検索されたバイオメトリック暗号化認証情報に対して前記認証用符号化特徴データを復号化鍵として復号化を行い、当該復号化により得た認証情報に基づきユーザを一意に識別する復号化処理部と、
識別されたユーザに対して復号化により得た認証情報に基づき前記ユーザ端末に代わって認証応答処理を行う認証応答処理部と、を備え、
前記バイオメトリック暗号化認証情報は、ユーザの認証情報を、当該ユーザの登録時の生体情報から抽出された登録用特徴データを符号化した登録用符号化特徴データを暗号鍵として暗号化した情報であり、
前記復号化処理部は、前記認証用符号化特徴データと前記登録用符号化特徴データとの類似度が所定値を上回る場合に正しい認証情報を復号し、
前記バイオメトリック暗号化認証情報は、当該認証情報の正しさを検証するための検証情報を含み、
前記復号化処理部は、復号化した認証情報が正しいか否かを前記検証情報に基づき判定し、
前記復号化処理部は、誤り訂正処理と、当該誤り訂正処理により訂正された誤り情報の量が最も少ないバイオメトリック暗号化認証情報を正しいユーザのものと判定してユーザに紐付ける処理とを実施する、ことを特徴とする認証サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、個人の生体情報に基づいて認証、暗号、署名などの処理を行うシステムに関する。
【背景技術】
【０００２】
社会全体のIT化の進展に伴い、銀行ATMやオンラインバンキング、カード決済、Webサービス、入退管理や勤怠管理、ホテルや会員施設の利用など、様々な場面において利用者の確実な識別と認証がますます重要となっている。従来、パスワードやIDカードなどを用いた識別・認証方式が主流であったが、パスワードリスト攻撃やカード偽造などによるなりすましの被害が多発しており、より確実で便利な認証手段として、指紋や静脈、顔、虹彩などの生体情報に基づいて個人を識別・認証する生体認証技術への期待が高まっている。
【０００３】
また、利用するシステム、サービスが増加するに伴い、一人のユーザが管理しなくてはならないID・パスワードやカードの数も増加し、利便性が低下するのみならず、パスワードの使い回しやカード盗難・偽造リスクの増加などセキュリティが低下する問題も生じている。
【０００４】
こうした背景から、生体認証だけで様々なサービスを利用可能とするための試みが提案されており、例えばFIDOアライアンスが策定したUAF規格では、ユーザ端末（スマートフォンやPC等）側で生体認証が成功した場合に、端末内の秘密鍵を使ってサーバとの間で公開鍵暗号技術に基づくチャレンジレスポンス認証を行うプロトコルを定義している。ユーザは予め自分の端末に自分自身の生体情報を登録するとともに、利用する各サービス（例えばオンライン決済やネットバンキング等）毎に自分の秘密鍵と公開鍵のペアを作成し、秘密鍵を端末に、公開鍵を各サービスサーバに登録しておくことで、以降は自分の端末に生体情報を提示するだけで、各サービスを利用することができる。しかしながらこの方式では、ユーザは予め自分の生体情報とサービス毎の秘密鍵を、端末に登録しておく必要がある。このためFIDOは、ユーザが１，２個の端末を自身で専有していて、各サービスへのアクセスはこの専有の端末からのみ行う、という使い方を前提としている。しかしATMやPOS端末、オフィスや大学等で、一つまたは複数の端末を、複数または不特定多数のユーザで共有する使い方や、一人のユーザが多数の端末を所持している場合、あるいは一人のユーザが頻繁に端末を買い替えるケースにおいては、FIDO/UAF方式では登録時の運用が煩雑となる（利便性の低下）、生体情報や秘密鍵といった機密性が高くセンシティブな情報の漏えいリスクが高まる（安全性が低下する）という課題が生じる。
【０００５】
一方で、登録・保存しておく生体情報を保護し、漏えいリスクを大幅に低減する技術として、バイオメトリック暗号と呼ばれる技術が注目されている。バイオメトリック暗号は、登録時に生体情報から特徴量Xを抽出し、Xに乱数情報Rを加えてある種の秘匿化処理を行うことで補助情報と呼ばれるデータHを作成する。補助情報Hはユーザ端末などに保存しておく。認証時には新たに取得した生体情報から特徴量X’を抽出し、X’を用いて補助情報Hに対して復元処理を行うことで、R’を復元する。X’がXに十分近いとき、またその時に限って正しい乱数情報が復元される(R=R’)となる。またXに十分近いX’を知らない限り、HからXやRを推定することは十分困難であるように、アルゴリズムが設計されている。Rの値またはRのハッシュ値を登録、照合することで登録時の特徴量Xを秘匿したまま認証することが可能となるほか、Rの値またはRのハッシュ値を秘密鍵とみなして、データの暗号化や復号化、電子署名の生成処理を行うことで、秘密鍵を直接保持することなく、生体情報に基づく暗号・復号、電子署名を実現することもできる。
【０００６】
バイオメトリック暗号をFIDO/UAF規格と組み合わせることで、端末側に生体情報や秘密鍵を保存する必要がなくなり、かわりに補助情報Hを保存すれば良いことになる。これにより生体情報や秘密鍵の漏えいリスクを低減することが可能となる。しかしながら、やはり一つまたは複数の端末を、複数または不特定多数のユーザで共有する使い方に適用した場合、登録時の運用が煩雑である（利便性が低下する）、という課題の解決には至らない。またバイオメトリック暗号における乱数情報Rの復元処理は、誤り訂正処理や暗号学的な処理など複雑な計算を要する場合があり、計算能力の限られた端末内で多数のユーザの補助情報に対する復元処理を行うことは計算量的に困難であるという課題もある。
【０００７】
またFIDO/UAFに基づく認証は、当該規格に準拠したサービスサーバでしか利用できない。バイオメトリック暗号にしても、その認証機能を実装したサービスサーバでしか利用できない。このためパスワード認証やPKI認証など既存の認証手段を利用している既存の様々なオンラインサービスに対し、サーバを改修することなく生体認証のみでサービスを利用することは、上述の技術では実現できない。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】Y. Dodis, et.al., “Fuzzy extractors: How to generate strong keys”, In Eurocrypt 2004, Vol. 3027 of LNCS, pp. 523-540, 2004.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明は、ユーザが既存の様々なオンラインサービスを、一つまたは複数の端末から利用する際に、ユーザと端末の組合せを限定することなく、またサービスサーバを改修することなく、更にID入力やカード提示などを必要とせずに生体認証のみによる便利で安全な認証を実現することを目的とする。またこのとき、登録生体情報やその特徴量データ、秘密鍵、パスワード、ユーザID、個人情報など機密性の高い情報やセンシティブ情報を、端末やサーバに直接保存することなく実現することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するため、本発明における認証システムは、ユーザの生体情報を取得するセンサと、取得された生体情報から認証用特徴データを抽出する特徴抽出部と、認証用特徴データを符号化して認証用符号化特徴データを作成する特徴データ符号化部と、認証用符号化特徴データを含む識別要求情報を外部に送信する送信部と、を備えるユーザ端末と、バイオメトリック暗号化認証情報を格納するＤＢと、識別要求情報に基づきＤＢに含まれるバイオメトリック暗号化認証情報を検索する検索部と、検索されたバイオメトリック暗号化認証情報に対して認証用符号化特徴データを復号化鍵として復号化を行い、復号化により得た認証情報に基づきユーザを一意に識別する復号化処理部と、識別されたユーザに対して復号化により得た認証情報に基づきユーザ端末に代わって認証応答処理を行う認証応答処理部と、を備える認証サーバと、を備える。
【発明の効果】
【００１１】
本発明により、ユーザは既存の様々なオンラインサービスを、一つまたは複数の端末から利用する際に、ユーザと端末の組合せを限定することなく、またサービスサーバを改修することなく、更にID入力やカード提示などを必要とせずに生体認証のみで安全・便利に認証することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施例の機能構成を示すブロック図である。
【図２】本発明の実施例におけるバイオメトリック暗号化認証情報DBを示す図である。
【図３】本発明の実施例における登録処理を示すフロー図である。
【図４】本発明の実施例における認証情報例とバイオメトリック暗号化処理を示すフロー図である。
【図５】本発明の実施例における認証処理を示すフロー図である。
【図６】本発明の実施例における1:Nバイオメトリック復号化処理を示すフロー図である。
【図７】本発明の実施例における登録端末、ユーザ端末、1:N認証サーバ、サービス提供サーバのハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【実施例１】
【００１３】
以下、図面を参照して、本発明の第一の実施例について説明する。
【００１４】
本実施例は、ATMやPOS端末、オフィスや大学等で、一つまたは複数の端末を、複数または不特定多数のユーザで共有するケースに適用可能である。また、一人のユーザが多数の端末を所持しているケースに適用可能である。更に、一人のユーザが頻繁に端末を買い替えるケースに適用可能である。本実施例によれば、これらのケースにおいて、IDやパスワード、カードの提示などを必要とせず、生体情報のみで、オンライン決済や店頭でのクレジット決済、ネットバンキング、各種Webサービス、情報システムへのログイン、改札機の開閉など様々なサービスを利用する際のユーザ認証や本人確認を行うことができる。
【００１５】
なお、生体情報は、指や掌に張り巡らされる静脈をはじめ、指紋、顔、虹彩等が想定される。
【００１６】
図1に、本実施例における生体認証システムのシステム構成を示す。本システムは、ユーザの生体情報および各種サービスの認証情報を安全な形に変換して登録する登録端末100と、ユーザが各種サービスを利用するためのユーザ端末200と、生体情報のみに基づいてユーザを識別するとともに当該ユーザの当該サービスに対する認証情報の復号化と認証応答処理を代理で行う1:N認証サーバ300と、ユーザ端末を介して当該ユーザへサービスを提供するサービス提供サーバ400と、これらを繋ぐネットワーク500とから構成される。ここでユーザ端末200は、オフィスや大学、自宅などにおける共有または個人のPC、スマートフォンやタブレット、あるいは銀行ATMやPOS端末、各種業務用端末などが想定される。ユーザ端末は、同様の構成を備えるものが複数存在することを想定する。登録端末100は、ユーザ端末200と同じ端末であってもよいし、別の端末であってもよい。また登録端末の操作者はユーザ自身であってもよいし、ユーザと別のオペレータやシステム管理者であってもよい。サービス提供サーバ400は、バンキングサーバや決済サーバ、各種Webサービスサーバ、企業・大学における情報システムの認証サーバなどでもよく、一般に複数存在する。本実施例では、サービス提供サーバ400におけるユーザ認証機能（例えばパスワードBasic認証、パスワードDigest認証、PKI認証、FIDO認証など）を、生体認証用に改修する必要がなく、そのまま利用することができる。
【００１７】
登録端末100は、ユーザが生体認証のみで利用したいサービスを指定または選択するサービス指定機能101と、サービスにおけるユーザIDを入力するユーザID入力機能102と、サービスにおけるユーザIDに対する認証用秘密情報（パスワードや秘密鍵など）を入力または作成する認証用秘密情報入力（作成）機能103と、ユーザ認証機能がPKI認証などであった場合に秘密鍵に対応する公開鍵証明書を作成する証明書作成機能104と、登録用生体情報を取得するセンサ105と、登録用生体情報から登録用特徴データを抽出する特徴抽出機能106と、登録用特徴データを秘匿するため変換を行い変換特徴データを作成する特徴変換機能107と、サービスにおける認証情報（詳細は図4で後述する）に対する検証情報を作成する検証情報作成機能108と、認証情報と検証情報の組を、登録用変換特徴データを一種の暗号鍵として、バイオメトリック暗号技術に基づき暗号化してバイオメトリック暗号化認証情報を作成するバイオメトリック暗号機能109と、バイオメトリック暗号化認証情報を前記サービスの識別子(SID)や、サービスにおける認証方式の種別情報などと対応付けて1:N認証サーバ300に登録する登録機能110と、から構成される。
【００１８】
ユーザ端末200は、各種サービスを利用するためのサービス利用機能201と、認証用生体情報を取得するセンサ202と、認証用生体情報から認証用特徴データを抽出する特徴抽出機能203と、認証用特徴データを秘匿するため変換を行い変換特徴データを作成する特徴変換機能204と、サービスのサービス提供サーバ400からのユーザ識別・認証要求に対して1:N認証サーバ300を利用して認証応答を行う認証応答機能205と、から構成される。
【００１９】
なお、センサ202は、取得する生体情報に応じて適宜選択可能である。例えば生体情報として指静脈を採用する場合、図示しない光源から照射された後に指を透過した透過光を撮像する撮像部等が想定される。
【００２０】
1:N認証サーバ300は、バイオメトリック暗号化認証情報をサービスの識別子(SID)やサービスにおける認証方式の種別情報などと対応付けて保存するバイオメトリック暗号化認証情報DB301と、ユーザ端末200から受信するサービス識別子(SID)および認証用変換特徴データに基づいてバイオメトリック暗号化認証情報DB301からユーザを特定し、サービスに対応する認証情報を復元する1:Nバイオメトリック復号化機能302と、復号化された認証情報に基づいて、ユーザ端末200を介し、サービス提供サーバ400に対するユーザ認証応答処理を代理で行う代理認証応答機能303とから構成される。
【００２１】
サービス提供サーバ400は、ユーザID、パスワードまたはパスワードのハッシュ値、公開鍵、などのユーザ情報を管理するユーザ情報DB401と、認証情報に基づいてユーザ認証を行うユーザ認証機能402と、認証成功した場合にユーザ端末200に対してサービス提供を行うサービス提供機能403と、から構成される。
【００２２】
ここでいうサービスとは、先に述べたように、オンライン決済、店頭でのクレジット決済、ネットバンキング、各種Webサービス、情報システムへのログイン、改札機の開閉、等が想定される。
【００２３】
図2に、バイオメトリック暗号化認証情報DB301が管理する情報を示す。DBに登録される各レコードは、登録端末100または1:N認証サーバ300が、各レコードを管理するために割り振る管理ID(MID)と、サービス指定機能101により指定されるサービスの識別子(SID)と、サービスにおいて使われる認証方式の種別（パスワードBasic認証、パスワードDigest認証、PKI認証、FIDO認証など）と、バイオメトリック暗号化認証情報と、を含む。一つのレコードが複数のバイオメトリック暗号化認証情報を含んでいてもよい。また一人のユーザに対し複数のレコードを登録してもよい。
【００２４】
図7に、本実施例における登録端末100、ユーザ端末200、1:N認証サーバ300、サービス提供サーバ400のハードウェア構成を示す。これらは図のようにＣＰＵ700、メモリ701、ストレージ702、入力装置703、出力装置704、通信装置705とから構成することができる。
【００２５】
図3は、本実施例における登録処理フローを示す図である。
【００２６】
S300は、登録端末100が、ユーザやオペレータの操作等により、利用するサービスの識別子(SID)およびその認証方式種別を特定する処理である。
【００２７】
S301は、登録端末100がユーザID(UID)の入力を受け付ける処理である。
【００２８】
S302は、登録端末100が、サービスにおける認証方式種別に対応した認証用秘密情報の入力を受け付ける、あるいは認証用秘密情報を作成する処理である。例えばパスワード認証なら、パスワードの入力を受け付ける。PKI認証やFIDO認証なら、秘密鍵と公開鍵のペアを生成する。
【００２９】
S303は、登録端末100が、認証方式に応じて認証情報の証明書を作成する処理である。例えばPKI認証なら、公開鍵を含む公開鍵証明書を作成する。
【００３０】
S304は、登録端末100が、センサ105を介してユーザの登録用生体情報を取得する処理である。
【００３１】
S305は、登録端末100が、 登録用生体情報から、登録用特徴データを抽出する処理である。
【００３２】
S306は、登録端末100が、 登録用特徴データを変換し、登録用変換特徴データを作成する処理である。具体的な変換例については図5の説明後段で後述する。本ステップにより、前記1:N認証サーバ300に対し、後述する認証用特徴データをも秘匿することが可能となる。ただし本ステップを実行せずとも、登録用特徴データは秘匿すること自体は可能である。
【００３３】
S307は、登録端末100が、 認証情報に対する検証情報を付与する処理である。具体的な方法については図4で後述する。
【００３４】
S308は、登録端末100が、登録用特徴データを一種の暗号鍵として、バイオメトリック暗号技術に基づき、認証情報を暗号化してバイオメトリック暗号化認証情報を作成し、サービス識別子(SID)、認証方式種別とともに、前記1:N認証サーバ300に送信する処理である。詳細は図5の説明後段で後述する。
【００３５】
S309は、1:N認証サーバ300が、サービス識別子(SID)と認証方式種別とバイオメトリック暗号化認証情報を受信し、バイオメトリック暗号化認証情報DB301にレコードを登録する処理である。
【００３６】
図4は、認証情報の具体例とバイオメトリック暗号化処理を示すフロー図である。なお、図中のS307およびS308は、図3で示したものと同じステップである。
【００３７】
認証方式種別には、様々なものが想定される。例えばパスワード認証(Basic認証やDigest認証など)の場合(認証情報例1)、認証情報はユーザID(UID)とパスワードを含む。PKI認証の場合(認証情報例2)は、ユーザID(UID)、秘密鍵および公開鍵証明書を含む。FIDO認証の場合(認証情報例3)は、ユーザID(UID)と秘密鍵を含む。
【００３８】
S307の検証情報付与ステップでは、認証情報に対し、そのチェックサムまたはハッシュ値、あるいはMAC(メッセージ認証コード)などを計算し、検証情報として認証情報に付与する。
【００３９】
S308のバイオメトリック暗号化ステップでは、図3で述べた通り、登録用特徴データを暗号鍵として用いて認証情報を暗号化し、バイオメトリック暗号化認証情報を作成する処理である。
【００４０】
図5は、本実施例における認証処理フローを示す図である。
【００４１】
S500は、ユーザ端末200が、ユーザのサービス利用操作を受け、サービス識別子(SID)を特定するとともに、当該サービス識別子(SID)に対応するサービス提供サーバ400に対してサービス利用要求を行う処理である。
【００４２】
S501は、S500のサービス利用要求をを受けて、サービス提供サーバ400がユーザ端末200に対してユーザIDの識別・認証要求を行う処理である。
【００４３】
S503は、ユーザ端末200が、センサを介してユーザの認証用生体情報を取得する処理である。
【００４４】
S503は、ユーザ端末200が、認証用生体情報から、認証用特徴データを取得する処理である。
【００４５】
S504は、ユーザ端末200が、認証用特徴データを変換し、認証用変換特徴データを作成し、サービス識別子(SID)とともに1:N認証サーバ300に送信する処理である。具体的な変換例については図6で後述する。本ステップにより、1:N認証サーバ300に対し、認証用特徴データをも秘匿することが可能となる。
【００４６】
S505は、1:N認証サーバ300が、サービス識別子(SID)と認証用特徴データを受信した際の復号処理である。具体的には、バイオメトリック暗号化認証情報DB301から、受信したサービス識別子(SID)に一致するレコードを検索するとともに、そのようなレコードがN個(N≧1)存在するとしたとき、1:Nバイオメトリック復号化を行う。本処理の詳細は図6で後述する。なお、本処理に失敗した場合、認証失敗としてユーザ端末200に通知する。この場合、ユーザ端末200は認証処理を終了するか、またはステップ(S502)に戻って再度認証を試みても良い。
【００４７】
S506は、S505の1:Nバイオメトリック復号化に成功した場合に、1:N認証サーバ300が、復号化された認証情報（ユーザIDと認証用秘密情報）を用いて、ユーザ端末200を介して、サービス提供サーバ400に対して代理認証応答を行う処理である。
【００４８】
S507は、ユーザ端末200が、サービス提供サーバ400から受信したユーザ識別・認証要求(S501)を1:N認証サーバ300に転送し、1:N認証サーバ300の代理認証応答(S506)を受信してサービス提供サーバ400に転送することで、認証応答を行う処理である。なお、1:N認証サーバ300はユーザ端末200を介さずにサービス提供サーバ400と直接通信を行って、S507の認証応答処理を代行する構成としてもよい。
【００４９】
S508は、サービス提供サーバ400が、ユーザ端末200または1:N認証サーバ300からの認証応答S507を受けてユーザ認証処理を行う処理である。
【００５０】
S509は、S508でユーザ認証処理が成功した場合に、サービス提供サーバ400がユーザ端末200に対し、サービス提供を行う処理である。なお、S508でユーザ認証に失敗した場合には、サービス提供を行わずに処理を終了する。  S510は、ユーザ端末200が、S508でユーザ認証処理が成功した場合に、S509でサービス提供サーバ400からサービス提供を受け、サービスを利用するし処理である。
【００５１】
以下、特徴変換ステップ(S306)(S504)およびバイオメトリック暗号化ステップ(S308)、1:Nバイオメトリック復号化ステップ(S505)の具体例につき、文章を以て補足的に説明する。
【００５２】
例として、特徴データがn bitのビット列で表現され、登録用特徴データと認証用特徴データとの間のハミング距離がt bit (t<n) 以下の時に、本人であると判定されるものとする。
【００５３】
登録端末100およびユーザ端末200は、予めn bitの秘密の乱数情報 r を共有し保存しておく。
【００５４】
特徴変換ステップ(S306)では、登録用特徴データ x に対し、rとの排他的論理和 y = x(+)r （(+)は排他的論理和の記号とする）を計算し、このyを登録用変換特徴データとする。
【００５５】
認証フローにおける特徴変換ステップ(S504)でも同様に、認証用特徴データ x’ に対し、rとの排他的論理和 y’ = x’(+)r （(+)は排他的論理和の記号とする）を計算し、このyを登録用変換特徴データとする。
【００５６】
ここで、y(+)y’=(x(+)r)(+)(x’(+)r)= x(+)x’ より、y,y’の間のハミング距離は、x,x’の間のハミング距離に等しいことに注意する。
【００５７】
バイオメトリック暗号化ステップ(S308)では、まず符号長n、最小距離 2t+1 の誤り訂正符号を構成し、そこからランダムに符号語 w を一つ選択する。次に登録用変換特徴データyに対し、補助情報 c=y(+)w を計算する。更に適当なハッシュ関数 h(・) を使い、k = hash(w) を計算する。この k を暗号鍵とみなし、適当な暗号化アルゴリズム（例えばAES）を用いて認証情報を暗号化し、暗号化認証情報を作成する。そして、補助情報c および暗号化認証情報の組を、バイオメトリック暗号化認証情報として出力する。
【００５８】
図6は、1:Nバイオメトリック復号化ステップS505の詳細を示すフロー図である。
【００５９】
S601は、ユーザ端末200が、バイオメトリック暗号化認証情報DBから、レコード中のサービス識別子が、ユーザ端末200から受信したサービス識別子(SID)と一致するレコード(N個存在するとする)を検索する処理である。
【００６０】
S602は、一致したそれぞれのレコードに対してそのバイオメトリック暗号化認証情報を、認証用変換特徴データを復号鍵として、バイオメトリック暗号を復号化する処理である。具体的には、バイオメトリック暗号化認証情報に含まれる補助情報cに対し、認証用変換特徴データy’との排他的論理和 
w’=c(+)y’ =  (y(+)w)(+)(y’) = w(+)(y(+)y’) 
を計算する。y(+)y’は、yとy’のハミング距離がt以下のとき、つまりxとx’のハミング距離がt以下のとき、ハミング重みがt以下となる。従ってw’はwに対してt bit 以下の誤差がのった情報となることに注意する。次にw’に対して、誤り訂正符号における復号化処理を実施する。誤り訂正符号は、その最小距離は2t+1なので、t bit以下の誤りを正しく訂正できる。従って、xとx’のハミング距離がt以下であれば（すなわち本人であると判定されるべき生体情報が入力されたなら）、wを正しく復元することができる。すなわち、認証用符号化特徴データと登録用符号化特徴データとの距離が所定値以下である場合に、正しい認証情報が復号化されることとなる。換言すると、認証用符号化特徴データと登録用符号化特徴データとの類似度が所定値以上である場合に正しい認証情報が復号化される、と言うこともできる。
【００６１】
復号に成功して w’’ を得たら、k’=hash(w’’) を計算し、k’ を復号鍵とみなして、前述の暗号化アルゴリズムを用いて、バイオメトリック暗号化認証情報に含まれる暗号化認証情報を復号化する。
【００６２】
S603は、復号した認証情報に対してその検証情報をステップ(S307)と同様の方法で生成し、復号した検証情報と比較する処理である。検証情報同士が一致したら「成功」、不一致なら「失敗」とする。またステップ(S602)における誤り訂正符号の復号化処理そのものに失敗した場合(w’’が計算できなかった場合)も、ステップ(S603)において「失敗」とみなす。xとx’のハミング距離がt以下ならば、w’’=w, k’=k となり、ステップ(S603)において「成功」となることに注意する。
【００６３】
S604は、ステップ(S603)において「成功」となった場合にユーザを特定する処理である。この場合、wとw’の間のハミング距離d(≦t)は、xとx’の間のハミング距離に一致する。もし(S603)で「成功」となるレコードが複数存在したとき、よりt’の小さなレコードの方がより本人らしいと考えられる。そこで、dが最小のレコードを本人とする、あるいはdがtより小さいある閾値t’以下であるようなレコードで、最初に見つかったものを本人とするなどの方法により、ユーザを一意に特定する。
【００６４】
本実施例では、ユーザ端末200にはユーザの生体情報から作成されるいかなる情報も、またユーザの認証情報を構成するいかなる情報も、保存する必要がない。また1:N認証サーバ300やサービス提供サーバ400には、ユーザ端末200を識別するいかなる情報も保存する必要がない。従ってユーザは様々なサービスを利用する際に、事前に利用するユーザ端末を登録あるいは限定することなく、任意のユーザ端末から利用することができる。また一つの端末を不特定多数のユーザで共有することも可能となる。
【００６５】
また本実施例の認証フローをサービス提供サーバ400の側から見たとき、ユーザ端末200のふるまいは、通常のパスワード認証やPKI認証、FIDO認証における処理と区別がつかない。このためサービス提供サーバ400におけるユーザ認証機能や、ユーザ情報DB401に既に登録されているユーザ認証情報（パスワードや公開鍵など）を修正することなく、ユーザは生体情報のみによる認証方式を利用することができる。
【００６６】
更に本実施例の認証フローでは、ユーザがサービスを利用する際に、ユーザ端末200に自分のユーザID(UID)を提示もしくは入力する必要がない。これは、ユーザIDを特定する処理が、生体情報のみに基づき、1:N認証サーバ300において実行されるとともに、サービス提供サーバ400に対するユーザIDの提示処理までをも代理で実行されるためである。しかも登録・認証処理フローは、バイオメトリック暗号による認証情報(ユーザIDおよび認証用秘密情報を含む)およびその検証情報の暗号化と、1:Nバイオメトリック復号化処理に基づいて実行されるため、登録用生体情報や登録用生体特徴データや認証情報を直接保存する必要がなく、これらの情報を高度に保護される。これにより生体情報や認証情報の漏えいリスクを最小化し、安全・安心な認証が実現できる。
【符号の説明】
【００６７】
100：登録端末  101：サービス指定機能  102：ユーザID入力機能  103：認証用秘密情報入力(作成）機能104：証明書作成機能  105：センサ  106：特徴抽出機能  107：特徴変換機能  108：検証情報作成機能  109：バイメトリック暗号機能  110：登録機能  200：ユーザ端末  201：サービス利用機能  202：センサ203：特徴抽出機能  204：特徴変換機能  205：認証応答機能  300：1:N認証サーバ  301：バイオメトリック暗号化認証情報DB  302：1:Nバイオメトリック復号化機能  303：代理認証応答機能  400：サービス提供サーバ  401：ユーザ情報DB  402：ユーザ認証機能  403：サービス提供機能  500：ネットワーク  700：CPU  701：メモリ  702：ストレージ  703：入力装置  704：出力装置  705：通信装置
【図１】
0006507115.tif 000002
【図２】
0006507115.tif 000003
【図３】
0006507115.tif 000004
【図４】
0006507115.tif 000005
【図５】
0006507115.tif 000006
【図６】
0006507115.tif 000007
【図７】
0006507115.tif 000008