(57)【特許請求の範囲】
【請求項１】
暗号鍵を用いて暗号化された個人識別情報を入力して登録用識別情報として記憶し、記憶した登録用識別情報を用いてセントラル・プロセッシング・ユニット（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：ＣＰＵ）により認証処理を実行し、実行した認証処理の結果を通信装置により送信するサーバ装置にネットワークを介して接続され、上記サーバ装置が送信した認証処理の結果を通信装置により受信する個人認証装置において、
上記個人認証装置は、
処理を実行するＣＰＵと、
上記ＣＰＵが処理を行った結果を記憶するメモリと、
上記暗号鍵を記憶する鍵記憶部と、
認証用の個人識別情報を入力する情報入力部と、
上記鍵記憶部が記憶する暗号鍵を分割して複数の部分鍵情報をＣＰＵにより生成してメモリに記憶し、上記情報入力部が入力した認証用の個人識別情報を分割して複数の部分識別情報をＣＰＵにより生成してメモリに記憶し、メモリに記憶した複数の部分鍵情報と複数の部分識別情報とを用いて、上記暗号鍵の正当性と、認証用の個人識別情報と上記登録用識別情報との一致とを検証させる検証用情報をＣＰＵにより生成してメモリに記憶して出力し、上記サーバ装置からサーバ装置が検証用情報を用いて上記認証処理を実行した結果の結果情報をＣＰＵにより入力する暗号部と、
上記暗号部が出力した上記検証用情報を通信装置により上記サーバ装置に送信し、上記サーバ装置から結果情報を上記ネットワークを介して通信装置により受信する通信部と
を備えたことを特徴とする個人認証装置。
【請求項２】
上記暗号部は、マルチパーティプロトコルを使用してＣＰＵにより上記検証用情報を出力するとともに、結果情報を入力し、
上記通信部は、マルチパーティプロトコルを使用して通信装置により上記検証用情報を送信するとともに、結果情報を受信する
ことを特徴とする請求項１記載の個人認証装置。
【請求項３】
上記暗号部は、
上記ＣＰＵにより、上記鍵記憶部が記憶する暗号鍵を分割して複数の部分鍵情報を生成してメモリに記憶し、メモリに記憶した複数の部分鍵情報を上記検証用情報として上記通信部を介して通信装置により上記サーバ装置に送信して、上記サーバ装置が各部分鍵情報と上記登録用識別情報とを用いてＣＰＵにより計算した複数の復号元情報を、上記サーバ装置から上記結果情報として上記通信部を介して通信装置により受信し、受信した結果情報を用いて、上記登録用識別情報の復号結果を生成する元情報となる復号用情報をＣＰＵにより生成してメモリに記憶する復号用処理部と、
上記復号用処理部がメモリに記憶した復号用情報を分割して複数の部分復号情報をＣＰＵにより生成してメモリに記憶し、メモリに記憶した複数の部分復号情報を上記検証用情報として上記通信部を介して通信装置により上記サーバ装置に送信して、上記サーバ装置が各部分復号情報を用いてＣＰＵにより計算した複数の検証元鍵情報を、上記サーバ装置から結果情報として上記通信部を介して通信装置により受信してメモリに記憶し、メモリに記憶した複数の検証元鍵情報を用いて、上記サーバ装置が上記暗号鍵の正当性の検証に使用する鍵検証用情報をＣＰＵにより生成してメモリに記憶し、メモリに記憶した鍵検証用情報を上記検証用情報として上記通信部を介して通信装置により上記サーバ装置に送信する鍵検証用処理部と、
上記復号用処理部がメモリに記憶した復号用情報を分割して複数の部分復号情報をＣＰＵにより生成してメモリに記憶し、メモリに記憶した複数の部分復号情報を上記検証用情報として上記通信部を介して通信装置により上記サーバ装置に送信して、上記サーバ装置が各部分復号情報を用いてＣＰＵにより計算した複数の識別抽出元情報を、上記サーバ装置から結果情報として上記通信部を介して通信装置により受信してメモリに記憶し、メモリに記憶した複数の識別抽出元情報を用いて、上記サーバ装置が暗号化前の個人識別情報の抽出に使用する識別抽出用情報をＣＰＵにより生成してメモリに記憶する識別抽出用処理部と、
上記識別抽出用処理部が生成した識別抽出用情報をメモリより取り出し、取り出した識別抽出用情報と、上記情報入力部が入力した認証用の個人識別情報とを結合して結合情報をＣＰＵにより生成してメモリに記憶し、メモリに記憶した結合情報を分割して複数の部分識別情報をＣＰＵにより生成してメモリに記憶し、メモリに記憶した複数の部分識別情報を、上記検証用情報として上記通信部を介して通信装置により上記サーバ装置に送信して、上記サーバ装置が各部分識別情報を用いてＣＰＵにより計算した複数の検証元識別情報を、上記サーバ装置から結果情報として上記通信部を介して通信装置により受信してメモリに記憶し、メモリに記憶した複数の検証元識別情報を用いて、上記サーバ装置が認証用の個人識別情報と上記登録用識別情報との一致を検証する場合に使用する識別情報検証用情報をＣＰＵにより生成してメモリに記憶し、メモリに記憶した識別情報検証用情報を上記検証用情報として上記通信部を介して通信装置により上記サーバ装置に送信する識別情報生成処理部と
を備えたことを特徴とする請求項２記載の個人認証装置。
【請求項４】
上記暗号部は、Ｏｂｌｉｖｉｏｕｓ  Ｔｒａｎｓｆｅｒ（ＯＴ：紛失通信）を使用して、上記検証用情報を上記通信部を介して通信装置により上記サーバ装置に送信することと、上記結果情報を上記サーバ装置から上記通信部を介して通信装置により受信してメモリに記憶することとを行うことを特徴とする請求項１記載の個人認証装置。
【請求項５】
暗号鍵を記憶するとともに認証用の個人識別情報を入力する個人認証装置をネットワークを介して接続し、暗号鍵を用いて暗号化された個人識別情報を入力して登録用識別情報として記憶し、記憶した登録用識別情報を用いて上記個人認証装置が入力した認証用の個人識別情報の認証処理をセントラル・プロセッシング・ユニット（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：ＣＰＵ）により実行し、実行した認証処理の結果をメモリに記憶し、メモリに記憶した認証処理の結果を上記個人認証装置へ通信装置により送信するサーバ装置において、
上記登録用識別情報を記憶する識別情報記憶部と、
上記個人認証装置と上記ネットワークを介して通信装置により通信を行う通信部と、
上記個人認証装置から、個人認証装置が記憶する上記暗号鍵を分割してＣＰＵにより生成した複数の部分鍵情報と、認証用の個人識別情報を分割してＣＰＵにより生成した複数の部分識別情報とを、検証用情報として上記通信部を介して通信装置により受信してメモリに記憶し、メモリに記憶した検証用情報を用いて、上記個人認証装置が記憶する暗号鍵そのものと個人認証装置が入力する認証用の個人識別情報そのものとを用いることなく、ＣＰＵにより上記認証処理を実行して、暗号鍵の正当性と、認証用の個人識別情報と上記登録用識別情報との一致とを検証して、検証した結果情報を上記通信部を介して通信装置により個人認証装置へ送信する検証部と
を備えたことを特徴とするサーバ装置。
【請求項６】
上記検証部は、マルチパーティプロトコルを使用してＣＰＵにより上記検証用情報を入力するとともに、結果情報を出力し、
上記通信部は、マルチパーティプロトコルを使用して通信装置により上記検証用情報を送信するとともに、結果情報を受信する
ことを特徴とする請求項５記載のサーバ装置。
【請求項７】
上記検証部は、
上記個人認証部が記憶する暗号鍵を分割して生成した複数の部分鍵情を上記個人認証装置から上記検証用情報として上記通信部を介して通信装置により受信してメモリに記憶し、検証用情報としてメモリに記憶した複数の部分鍵情報と上記識別情報記憶部が記憶する登録用識別情報とを用いて、上記登録用識別情報を復号した結果に関連する復号用情報の計算に用いる複数の復号元情報をＣＰＵにより計算してメモリに記憶し、メモリに記憶した結果を上記結果情報として上記通信部を介して通信装置により上記個人認証装置へ送信する暗号部と、
上記個人認証装置から、個人認証装置が上記複数の復号元情報を用いてＣＰＵにより生成した複数の部分復号情報を上記検証用情報として、上記通信部を介して通信装置により受信してメモリに記憶し、検証用情報としてメモリに記憶した複数の部分復号情報を用いて、上記暗号鍵の正当性の検証に用いる複数の検証元鍵情報をＣＰＵにより計算してメモリに記憶し、メモリに記憶した複数の検証元鍵情報を上記結果情報として上記通信部を介して通信装置により上記個人認証装置へ送信するとともに、上記検証用情報として受信してメモリに記憶した複数の部分復号情報を用いて、暗号化前の個人識別情報の抽出に関連する識別抽出用情報の生成に用いる複数の識別抽出元情報をＣＰＵにより計算してメモリに記憶し、メモリに記憶した複数の識別抽出元情報を上記結果情報として上記通信部を介して通信装置により上記個人認証装置へ送信する形式検証部と、
上記個人認証装置から、上記情報入力部が入力した認証用の個人識別情報を分割してＣＰＵにより生成した複数の部分識別情報を上記検証用情報として、上記通信部を介して通信装置により受信してメモリに記憶し、メモリに検証用情報として記憶した複数の部分識別情報を用いて、上記認証用の個人識別情報と上記登録用識別情報との一致を検証する場合に使用する複数の検証元識別情報をＣＰＵにより計算してメモリに記憶し、メモリに記憶した検証元識別情報を上記検証用情報として上記通信部を介して通信装置により上記個人認証装置に送信する識別情報照合部と
を備えたことを特徴とする請求項６記載のサーバ装置。
【請求項８】
上記検証部は、Ｏｂｌｉｖｉｏｕｓ  Ｔｒａｎｓｆｅｒ（ＯＴ：紛失通信）を使用して、上記結果情報を上記通信部を介して通信装置により上記サーバ装置に送信することと、上記検証用情報を上記個人認証装置から上記通信部を介して通信装置により受信して、メモリに記憶することとを行うことを特徴とする請求項６記載のサーバ装置。
【請求項９】
暗号鍵を用いて暗号化された個人識別情報を入力して登録用識別情報として記憶し、記憶した登録用識別情報を用いてセントラル・プロセッシング・ユニット（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：ＣＰＵ）により認証処理を実行してメモリに記憶し、メモリに記憶した認証処理の結果を示す結果情報を通信装置により送信するサーバ装置と、上記サーバ装置とネットワークを介して接続し、認証用の個人識別情報を入力して、入力した認証用の個人識別情報の認証処理を上記ネットワークを介して通信装置によりサーバ装置に依頼して、上記サーバ装置から上記認証処理の結果情報を上記ネットワークを介して通信装置により受信する個人認証装置とを備えた認証システムにおいて、
上記個人認証装置は、
処理を実行するＣＰＵと、
上記ＣＰＵが処理を行った結果を記憶するメモリと、
上記暗号鍵を記憶する鍵記憶部と、
認証用の個人識別情報を入力する情報入力部と、
上記記憶部が記憶する暗号鍵を分割して複数の部分鍵情報をＣＰＵにより生成してメモリに記憶し、上記情報入力部が入力した認証用の個人識別情報を分割して複数の部分識別情報をＣＰＵにより生成してメモリに記憶し、メモリに記憶した複数の部分鍵情報と複数の部分識別情報とを用いて、暗号鍵の正当性と、認証用の個人識別情報と上記登録用識別情報との一致とを検証させる検証用情報をＣＰＵにより生成してメモリに記憶して出力し、上記サーバ装置から上記サーバ装置が検証用情報を用いてＣＰＵにより上記認証処理を実行した結果の結果情報を入力して、メモリに記憶する暗号部と、
上記暗号部が生成した検証用情報を上記ネットワークを介して通信装置により上記サーバ装置に送信し、上記サーバ装置から上記結果情報を上記ネットワークを介して通信装置により受信してメモリに記憶する通信部と
を備え、
上記サーバ装置は、
上記登録用識別情報を記憶する識別情報記憶部と、
上記個人認証装置と上記ネットワークを介して通信装置により通信を行う通信部と、
上記個人認証装置から、個人認証装置が記憶する上記暗号鍵を分割してＣＰＵにより生成した複数の部分鍵情報と、認証用の個人識別情報を分割してＣＰＵにより生成した複数の部分識別情報とを、検証用情報として上記通信部を介して通信装置により受信してメモリに記憶し、メモリに記憶した検証用情報を用いて、上記個人認証装置が記憶する暗号鍵そのものと個人認証装置が入力する認証用の個人識別情報そのものを用いることなく、上記認証処理をＣＰＵにより実行して、暗号鍵の正当性と、認証用の個人識別情報と上記登録用識別情報との一致することとを検証して、検証した結果情報を上記通信部を介して通信装置により個人認証装置へ送信する検証部と
を備えた
ことを特徴とする認証システム。
【請求項１０】
暗号鍵を用いて暗号化された個人識別情報を入力して登録用識別情報として記憶し、記憶した登録用識別情報を用いてセントラル・プロセッシング・ユニット（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：ＣＰＵ）により認証処理を実行して、実行した認証処理の結果を示す結果情報をメモリに記憶して、メモリに記憶した結果情報を通信装置により送信するサーバ装置と、上記サーバ装置とネットワークを介して接続し、認証用の個人識別情報を入力して、入力した認証用の個人識別情報の認証処理を上記ネットワークを介して接続したサーバ装置に通信装置により依頼して、上記サーバ装置からメモリに記憶した上記認証処理の結果情報を上記ネットワークを介して通信装置により受信する個人認証装置とを備えた認証システムの認証方法において、
上記暗号鍵を上記個人認証装置の鍵記憶部に記憶する鍵記憶工程と、
上記認証用の個人識別情報を個人認証装置の情報入力部より入力する情報入力工程と、
上記鍵記憶部が記憶する暗号鍵を分割して複数の部分鍵情報をセントラル・プロセッシング・ユニット（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：ＣＰＵ）により生成してメモリに記憶し、上記情報入力部が入力した認証用の個人識別情報を分割して複数の部分識別情報をＣＰＵにより生成してメモリに記憶し、メモリに記憶した複数の部分鍵情報と複数の部分識別情報とを用いて、暗号鍵の正当性と、認証用の個人識別情報と上記登録用識別情報との一致を検証させる検証用情報をＣＰＵにより生成してメモリに記憶し、メモリに記憶した検証用情報を上記サーバ装置に通信装置により送信し、上記サーバ装置から上記サーバ装置が検証用情報を用いてＣＰＵにより上記認証処理を実行してメモリに記憶した結果情報を通信装置により受信して、メモリに記憶する個人認証装置の暗号部の実行する検証指示結果受信工程と、
上記個人認証装置から、個人認証装置が記憶する上記暗号鍵を分割してＣＰＵにより生成した複数の部分鍵情報と、認証用の個人識別情報を分割してＣＰＵにより生成した複数の部分識別情報とを、検証用情報として通信装置により受信してメモリに記憶し、メモリに記憶した検証用情報を用いて、上記個人認証装置が記憶する暗号鍵そのものと個人認証装置が入力する認証用の個人識別情報そのものとを用いることなく、ＣＰＵにより上記認証処理を実行して、暗号鍵の正当性と、認証用の個人識別情報と上記登録用識別情報との一致とを検証して、検証した結果情報をメモリに記憶し、メモリに記憶した結果情報を上記個人認証装置へ送信するサーバ装置の検証部による検証工程と
を有する
ことを特徴とする認証方法。
【請求項１１】
上記個人認証装置の暗号部による検証指示結果受信工程は、
上記鍵記憶部が記憶する暗号鍵を分割して複数の部分鍵情報をＣＰＵにより生成してメモリに記憶し、メモリに記憶した複数の部分鍵情報を上記検証用情報として通信装置により上記サーバ装置に送信して、上記サーバ装置が各部分鍵情報と上記登録用識別情報とを用いてＣＰＵにより計算した複数の復号元情報を、上記サーバ装置から上記結果情報として上記認証装置通信工程により通信装置により受信してメモリに記憶し、メモリに記憶した結果情報を用いて、上記登録用識別情報の復号結果を生成する元情報となる復号用情報をＣＰＵにより生成する個人認証装置の復号用処理部による復号用処理工程と、
上記個人認証装置の復号用処理部による復号用処理工程により生成した復号用情報を分割して複数の部分復号情報をＣＰＵにより生成してメモリに記憶し、メモリに記憶した複数の部分復号情報を上記検証用情報として上記サーバ装置に通信装置により送信して、上記サーバ装置が各部分復号情報を用いてＣＰＵにより計算した複数の検証元鍵情報を、上記サーバ装置から結果情報として受信してメモリに記憶し、メモリに記憶した複数の検証元鍵情報を用いて、上記サーバ装置が上記暗号鍵の正当性の検証に使用する鍵検証用情報をＣＰＵにより生成してメモリに記憶し、メモリに記憶した鍵検証用情報を上記検証用情報として上記サーバ装置に通信装置により送信する個人認証装置の鍵検証用処理部による鍵検証用処理工程と、
上記個人認証装置の復号用処理部による復号用処理工程により生成した復号用情報を分割して複数の部分復号情報をＣＰＵにより生成してメモリに記憶し、メモリに記憶した複数の部分復号情報を上記検証用情報として上記サーバ装置に通信装置により送信して、上記サーバ装置が各部分複合情報を用いてＣＰＵにより計算した複数の識別抽出元情報を、上記サーバ装置から結果情報として通信装置により受信してメモリに記憶し、メモリに記憶した複数の識別抽出元情報を用いて、上記サーバ装置が暗号化前の個人識別情報の抽出に使用する識別抽出用情報をＣＰＵにより生成してメモリに記憶する個人認証装置の識別抽出用処理部による識別抽出用処理工程と、
上記個人認証装置の識別抽出用処理部による識別抽出用処理工程により生成した識別抽出用情報をメモリより取り出し、取り出した識別抽出用情報と、上記個人認証装置の情報入力部による情報入力工程により入力した認証用の個人識別情報とを結合して結合情報をＣＰＵにより生成してメモリに記憶し、メモリに記憶した結合情報を分割して複数の部分識別情報をＣＰＵにより生成してメモリに記憶し、メモリに記憶した複数の部分識別情報を上記検証用情報として、上記サーバ装置に通信装置により送信して、上記サーバ装置が各部分識別情報を用いてＣＰＵにより計算した複数の検証元識別情報を、上記サーバ装置から結果情報として通信装置により受信してメモリに記憶し、メモリに記憶した複数の検証元識別情報を用いて、上記サーバ装置が認証用の個人識別情報と上記登録用識別情報との一致することの検証に使用する識別情報検証用情報をＣＰＵにより生成してメモリに記憶し、メモリに記憶した識別情報検証用情報を上記検証用情報として上記サーバ装置に通信装置により送信する個人認証装置の識別情報生成処理部による識別情報生成処理工程と
を有し、
上記サーバ装置の検証部による検証工程は、
上記個人認証部が記憶する暗号鍵を分割してＣＰＵにより生成した複数の部分鍵情報を上記検証用情報として上記個人認証装置から通信装置により受信してメモリに記憶し、メモリに検証用情報として記憶した複数の部分鍵情報と上記識別情報記憶部が記憶する登録用識別情報とを用いて、上記登録用識別情報を復号した結果に関連する復号用情報の計算に用いる複数の復号元情報をＣＰＵにより計算して、計算した結果をメモリに記憶し、メモリに記憶した複数の復号元情報を結果情報として上記個人認証装置へ通信装置により送信するサーバ装置の暗号部による暗号工程と、
上記個人認証装置から、個人認証装置が上記複数の復号元情報を用いてＣＰＵにより生成した複数の部分復号情報を上記検証用情報として通信装置により受信してメモリに記憶し、メモリに検証用情報として記憶した複数の部分復号情報を用いて、上記暗号鍵の正当性の検証に用いる複数の検証元鍵情報をＣＰＵにより計算してメモリに記憶し、メモリに記憶した複数の検証元鍵情報を上記結果情報として上記個人認証装置へ通信装置により送信するサーバ装置の形式検証部による検証元鍵情報計算工程と、
上記検証用情報として受信した複数の部分復号情報を用いて、暗号化前の個人識別情報の抽出に関連する識別抽出用情報の生成に用いる複数の識別抽出元情報をＣＰＵにより計算してメモリに記憶し、メモリに記憶した複数の識別抽出元情報を上記結果情報として上記個人認証装置へ通信装置により送信するサーバ装置の形式検証部による識別抽出元情報計算工程と、
上記個人認証装置から、上記情報入力部が入力した認証用の個人識別情報を分割してＣＰＵにより生成した複数の部分識別情報を上記検証用情報として通信装置により受信してメモリに記憶し、メモリに検証用情報として記憶した複数の部分識別情報を用いて、上記認証用の個人識別情報と上記登録用識別情報との一致することの検証に用いる複数の検証元識別情報をＣＰＵにより計算してメモリに記憶し、メモリに記憶した検証元識別情報を上記検証用情報として上記個人認証装置に通信装置により送信するサーバ装置の識別情報照合部による検証元識別情報計算工程と
を有する
ことを特徴とする請求項１０記載の認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、個人を識別する情報として、例えば、生体情報を利用して個人認証を行う個人認証装置及びサーバ装置、個人認証システム、個人認証方法であって、特に個人認証装置が取得した生体情報をネットワークを介してサーバ装置に送信及び保管を行うことなく、サーバ装置に対して生体情報そのものを一切開示せずにサーバ装置による個人認証を可能にする個人認証装置及びサーバ装置、個人認証システム、個人認証方法に関する。
【背景技術】
【０００２】
近年、指紋、静脈、虹彩などの生体情報を利用した個人認証方式が注目を浴びている。生体情報を利用した個人認証システムにおけるクライアント認証では、個人認証装置が取得した生体情報をネットワークを介してサーバ装置に送信し、この生体情報を利用してサーバ装置がクライアントの認証を行う。
生体情報は個人に固有のものであり、忘却・紛失の心配がないため、生体情報を利用すると利便性の高い個人認証が実現できる。その反面、万一生体情報が漏洩してしまうと、個人に固有の生体情報を変更することは非常に困難であるため、生体情報そのものの送信、およびサーバへの保存を行わないような、生体情報の漏洩防止技術が提案されている。
【０００３】
例えば、特開２００５−１３０３８４号公報（特許文献１）では、個人認証装置が生体情報をある変換関数によって変換し、サーバ装置が変換された登録時生体情報と変換された認証時生体情報との類似度を判定し認証を行うことによって、サーバ装置に生体情報そのものを一切開示せずに個人認証を可能とさせる方式が記載されている。
一方、暗号プロトコルの一つに、マルチパーティプロトコル（またはＳｅｃｕｒｅ  Ｃｏｍｐｕｔａｔｉｏｎ）と呼ばれるものがある。マルチパーティプロトコルを利用すると、例えばエンティティＡが秘密の値ａを、エンティティＢが秘密の関数Ｆ（ｘ）を保持しているときに、双方の秘密を保ったままＦ（ａ）を計算することが可能となる。非特許文献１では、不正者の存在を仮定する場合であっても、Ｏｂｌｉｖｉｏｕｓ  Ｔｒａｎｓｆｅｒ（紛失通信）という暗号プロトコルを利用すると、任意の関数Ｆに対して、このような計算が可能であることが記載されている。また、非特許文献２では、Ｆ（ｘ）が多項式である場合について、Ｏｂｌｉｖｉｏｕｓ  Ｔｒａｎｓｆｅｒを利用して値を計算する具体的な方法が記載されている。
【特許文献１】特開２００５−１３０３８４号広報
【非特許文献１】Ｄ．  Ｂｅａｖｅｒ  ａｎｄ  Ｓ．  Ｇｏｌｄｗａｓｓｅｒ，  ”Ｍｕｌｔｉｐａｒｔｙ  Ｃｏｍｐｕｔａｔｉｏｎ  ｗｉｔｈ  Ｆａｕｌｔｙ  Ｍａｊｏｒｉｔｙ，”  ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  Ｆｏｕｎｄａｔｉｏｎｓ  ｏｆ  Ｃｏｍｐｕｔｅｒ  Ｓｃｉｅｎｃｅ，  Ｏｃｔ．  ３０−Ｎｏｖ．  １，  １９８９，  ｐｐ．  ４６８−４７３．
【非特許文献２】Ｍ．  Ｎａｏｒ  ａｎｄ  Ｂ．  Ｐｉｎｋａｓ，  ”Ｏｂｌｉｖｉｏｕｓ  Ｔｒａｎｓｆｅｒ  ａｎｄ  Ｐｏｌｙｎｏｍｉａｌ  Ｅｖａｌｕａｔｉｏｎ，”  ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ３１ｓｔ  Ａｎｎｕａｌ  ＡＣＭ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｔｈｅｏｒｙ  ｏｆ  Ｃｏｍｐｕｔｉｎｇ，  Ｍａｙ  １−４，  １９９９，  ｐｐ．  ２４５−２５４．
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１に記載の変換関数を利用する方式では、サーバ装置に保存されている変換された登録時生体情報が漏洩した場合、生体情報そのものが漏洩することはないものの、不正者による成りすましが容易であるという問題点があった。また、変換後の生体情報同士で類似度を判定するため、類似度判定手段として、正規化ハミング距離やユークリッド距離などの、単純なものしか利用できないという問題点もあった。
【０００５】
本発明は上記のような問題点を解決するためになされたもので、サーバ装置に保存されている情報が漏洩した場合であっても不正者による成りすましを困難にすること、さらに生体情報同士の類似度判定手段として、任意のものを利用可能とすることを主な目的とする。
【課題を解決するための手段】
【０００６】
この発明に係る暗号鍵を用いて暗号化された個人識別情報を入力して登録用識別情報として記憶し、記憶した登録用識別情報を用いてセントラル・プロセッシング・ユニット（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：ＣＰＵ）により認証処理を実行し、実行した認証処理の結果を通信装置により送信するサーバ装置にネットワークを介して接続され、上記サーバ装置が送信した認証処理の結果を通信装置により受信する個人認証装置は、
上記個人認証装置が、
処理を実行するセントラル・プロセッシング・ユニット（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：ＣＰＵ）と、
上記ＣＰＵが処理を行った結果を記憶するメモリと、
上記暗号鍵を記憶する鍵記憶部と、
認証用の個人識別情報を入力する情報入力部と、
上記鍵記憶部が記憶する暗号鍵を分割して複数の部分鍵情報をＣＰＵにより生成してメモリに記憶し、上記情報入力部が入力した認証用の個人識別情報を分割して複数の部分識別情報をＣＰＵにより生成してメモリに記憶し、メモリに記憶した複数の部分鍵情報と複数の部分識別情報とを用いて、上記暗号鍵の正当性と、認証用の個人識別情報と上記登録用識別情報との一致とを検証させる検証用情報をＣＰＵにより生成してメモリに記憶して出力し、上記サーバ装置からサーバ装置が検証用情報を用いて上記認証処理を実行した結果の結果情報をＣＰＵにより入力する暗号部と、
上記暗号部が出力した上記検証用情報を通信装置により上記サーバ装置に送信し、上記サーバ装置から結果情報を上記ネットワークを介して通信装置により受信する通信部と
を備えたことを特徴とする。
【発明の効果】
【０００７】
この発明の個人認証装置は、個人認証情報、例えば生体情報を個人認証装置が記憶する暗号鍵を用いて暗号化し、サーバ装置には、暗号化した結果のみを格納する。このため、万一、サーバ装置に格納した暗号鍵で暗号化した生体情報が漏洩しても、生体情報そのものの漏洩を防止できる効果がある。また、個人認証装置は、部分鍵情報と部分識別情報とをそれぞれサーバ装置に送信して、サーバ装置側で暗号鍵の正当性と、認証用の個人識別情報（例えば、生体情報）とサーバ装置が格納した登録用の個人識別情報（例えば、生体情報）との一致とを検証させるので、個人認証装置とサーバ装置との間の情報の通信途中で万一情報が漏洩されても、個人識別情報や暗号鍵情報そのものが漏洩されることを防止できる効果がある。
【発明を実施するための最良の形態】
【０００８】
実施の形態１．
図１は、生体情報を利用した個人認証システムの構成図である。図１において、認証システム１００は、クライアント装置である個人認証装置２０１とサーバ装置３０１と、個人認証装置２０１とサーバ装置３０１とを接続するネットワーク１０１とを備える。また、個人認証装置２０１は、生体情報取得装置２５０が取得する人２４８の生体情報を、個人識別情報として入力する。この生体情報取得装置２５０から入力する個人識別情報は、サーバ装置３０１に登録することを目的として入力する生体情報である登録時生体情報ｂ２５１（登録用識別情報の一例）と、サーバ装置３０１側で認証することを目的として入力する生体情報である認証時生体情報ｂ’２５３（認証用の個人識別情報の一例）とである。登録時生体情報ｂ２５１は、暗号化を行ったうえで、個人認証装置２０１からネットワーク１０１を介してサーバ装置３０１に送信されるが、認証時生体情報ｂ’２５３そのものは、個人認証装置２０１からサーバ装置３０１へ送信されない。サーバ装置３０１は、暗号鍵を用いて暗号化された登録時生体情報ｂを記憶して、登録時生体情報ｂを用いて認証処理を実行して、認証処理の結果を個人認証装置２０１へネットワーク１０１を介して送信する。
【０００９】
次に、個人認証装置２０１とサーバ装置３０１と、認証システム１００の装置構成と装置のハードウェア（Ｈ／Ｗ）構成を説明する。
図２は、認証システムの備える装置構成を示す図である。図２において、認証システム１００は、個人認証装置２０１と、サーバ装置３０１と、ネットワーク１０１とを備える構成をしている。そして、個人認証装置２０１とサーバ装置３０１とはそれぞれ同様の装置構成である。このため、個人認証装置２０１の装置構成を説明し、サーバ装置３０１の装置構成の説明は省略する。
図２において、個人認証装置２０１は、システムユニット９１０、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）やＬＣＤ（液晶）の表示画面を有する表示装置９０１、キーボード９０２（Ｋ／Ｂ）、マウス９０３、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
システムユニット９１０は、コンピュータであり、ローカルエリアネットワーク９４２（ＬＡＮ）、ゲートウェイ９４１を介してインターネット９４０に接続されている。サーバ装置３０１は、個人認証装置２０１と同様の装置構成をしており、インターネット９４０を介して個人認証装置２０１を接続する。ネットワーク１０１は、ＬＡＮ９４２、ゲートウェイ９４１、インターネット９４０とを備える。認証システム１００は、図２に示した装置構成の個人認証装置２０１と、サーバ装置３０１と、ネットワーク１０１とを備える。
【００１０】
図３は、図２の個人認証装置２０１とサーバ装置３０１とのハードウェア資源の一例を示す図である。図３において、個人認証装置２０１とサーバ装置３０１とは同じＨ／Ｗ構成をしている。このため、個人認証装置２０１のＨ／Ｗ構成を説明し、サーバ装置３０１のＨ／Ｗ構成の説明は省略する。
個人認証装置２０１は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置ともいう）を備えている。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３、ＲＡＭ９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリ（単に「メモリ」とも称する）の一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信ボード９１５、キーボード９０２、ＦＤＤ９０４などは、情報入力部、入力装置の一例である。
また、通信ボード９１５、表示装置９０１などは、通信部、通信装置、出力部、出力装置の一例である。
【００１１】
通信ボード９１５は、ＬＡＮ９４２等に接続されている。通信ボード９１５は、ＬＡＮ９４２に限らず、インターネット９４０、ＩＳＤＮ等のＷＡＮ（ワイドエリアネットワーク）などに接続されていても構わない。インターネット９４０或いはＩＳＤＮ等のＷＡＮに接続されている場合、ゲートウェイ９４１は不用となる。
【００１２】
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。
【００１３】
上記プログラム群９２３には、以下に述べる実施の形態の説明において「〜部」、「〜処理」、「〜手段」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
ファイル群９２４には、以下に述べる実施の形態の説明において、「〜生成した結果」、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」、として説明するデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００１４】
また、以下に述べる実施の形態の説明において「〜部」、「〜処理」、「〜手段」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、ハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、以下に述べる「〜部」、「〜処理」、「〜手段」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」、「〜処理」、「〜手段」の手順をコンピュータに実行させるものである。
【００１５】
図４は、生体情報を利用した認証システム（図１）において、個人認証装置２０１の構成例を表すブロック図である。図４において、通信部２１１は通信装置によりサーバ装置３０１と通信を行う手段である。暗号部２１２は共通鍵暗号の鍵生成、共通鍵・公開鍵暗号の暗号化・復号化、乱数生成などを行う手段である。鍵記憶部２１３は暗号鍵を記憶するデータ記憶手段である。図６は鍵記憶部２１３が記憶するデータの一例を表す。図６において、鍵記憶部２１３は、異なるクライアントＩＤを複数記憶しているが、クライアントＩＤは、生体情報に対応する人を識別する情報である。暗号鍵は、生体情報を暗号化する鍵であって、人毎に異なる暗号鍵を使用して生体情報を暗号化する。サーバ名は、個人認証装置が接続されているサーバ装置を識別する情報である。図１では、個人認証装置は１つのサーバ装置に接続されていたが、１つの個人認証装置が複数のサーバ装置に接続されていてもかまわない。この場合、鍵記憶部２１３には、異なるサーバ名を記憶して、同じ生体情報であっても、異なる暗号鍵によって暗号化が行えるように、異なる暗号鍵をサーバ名に対応させて記憶させることが出来る。
【００１６】
生体情報読取部２１４は、情報入力部であって、生体情報の読み取りを行い、データを出力する手段である。人２４８から生体情報を読み取る動作は、生体情報取得装置２５０が行い、生体情報読取部２１４は、生体情報取得装置２５０が出力した生体情報を入力する。或いは、生体情報読取部２１４が直接人２４８から生体情報を読み取ってもかまわない。この場合、生体情報読取部２１４は、生体情報取得装置２５０の機能も備えているものとする。
形式変換部２１５は生体情報を表すデータを、特定の形式に変換する手段である。
アルゴリズム記憶部２１６は、登録時生体情報ｂ２５１を暗号化するための予め作成されたプログラムである暗号化アルゴリズムＥ２２３を記憶する。
暗号部２１２は、さらに、復号用処理部２１２０と、鍵検証用処理部２１２１と、識別抽出用処理部２１２２と、識別情報生成処理部２１２３とを備える。これらの処理部の機能、及び、動作については、以下に説明する図１０と図１１の説明で詳細に説明する。
また、個人認証装置２０１のデータの流れについても、図１０と図１１の説明で詳細に説明する。
【００１７】
図５は、生体情報を利用した認証システム（図１）において、サーバ装置３０１の構成例を表すブロック図である。図５において、通信部３１１は通信装置により個人認証装置２０１と通信を行う手段である。暗号部３１２は共通鍵・公開鍵暗号の暗号化・復号化、乱数生成などを行う手段である。識別情報記憶部である生体情報記憶部３１３は暗号化された各人（ユーザ）の生体情報を、クライアントＩＤと関連付けて記憶するデータ記憶部である。図７は生体情報記憶部３１３が記憶するデータの一例を表す。図７において、クライアントＩＤは、生体情報に対応する人を識別する情報である。暗号化生体情報は、登録用生体情報を暗号化した情報であり、個人を認証する際の認証処理に使用する情報である。
生体情報照合部３１４は生体情報の一致判定を行う手段であり、識別情報照合部である。形式検証部３１５は生体情報を表すデータが、特定の形式であるかの判定を行う手段である。
検証部３１７は、生体情報照合部３１４、形式検証部３１５、暗号部３１２とを備える。
アルゴリズム・関数記憶部３１６は、以下に説明する暗号化アルゴリズムＥに対応する復号化アルゴリズムＤを計算するための元情報を計算する復号化アルゴリズムＤ’３２０や、入力が特定の形式に従っている場合に限り１を出力する目的関数Ｆ１を計算するための元情報を計算する関数Ｆ１’３２１や、特定の形式に従った（冗長な情報を含む）生体情報を入力として生体情報だけを出力する目的関数Ｆ２を計算するための元情報を計算する関数Ｆ２’３２３や、２つの生体情報を入力としてこれらが同一人物からのものだと判断される場合に限り１を出力する生体情報照合関数Ｍである目的関数Ｍを計算するための元情報を計算する関数Ｍ’３２４を記憶する。なお、図１には、ネットワーク１０１を介して個人認証装置２０１とサーバ装置３０１との間に登録時生体情報ｂが通信されているように記載しているが、これは、認証時生体情報ｂ’が個人認証装置２０１とサーバ装置３０１との間で直接通信されないことを強調して説明するために記載した。このため、図４と図５には、個人認証装置２０１とサーバ装置３０１との間に、登録時生体情報ｂ２５１が図示されていないが、サーバ装置３０１が記憶する登録用識別情報が、個人認証装置２０１からサーバ装置３０１へ送信されたものである場合には、個人認証装置２０１の通信部２１１が暗号化した登録時生体情報ｂ２５１を通信装置によりサーバ装置３０１へ送信する線が図示される。
図４に示した個人認証装置２０１、サーバ装置３０１とは、図２に示した装置構成をしているとともに、図３に示したＨ／Ｗ構成をしている。そして、個人認証装置２０１の通信部２１１、暗号部２１２、生体情報読取部２１４、形式変換部２１５及び、サーバ装置３０１の通信部３１１、暗号部３１２、生体情報照合部３１４、形式検証部３１５は、ＣＰＵ９１１により動作する。また、個人認証装置２０１の鍵記憶部２１３、アルゴリズム記憶部２１６及び、サーバ装置３０１の生体情報記憶部３１３、アルゴリズム・関数記憶部３１６は、例えば、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等の記録媒体である。
また、通信部２１１、通信部３１１は、例えば通信ボード９１５の通信装置により、個人認証装置２０１とサーバ装置３０１との間の情報の通信を行う。
【００１８】
図８は、本実施の形態における生体情報登録処理を説明するためのフローチャートである。図９、図１０、図１１は、本実施の形態における個人認証処理を説明するためのフローチャートである。
まず生体情報登録処理における動作について、図８のフローチャートを参照しながら説明する。
最初に個人認証装置２０１の暗号部２１２が暗号鍵ｋ２２０を生成し（ステップＳ６０１）、生成された暗号鍵ｋ２２０をＣＰＵにより鍵記憶部２１３に格納する（ステップＳ６０２）。次に、生体情報読取部２１４が人２４８に対応する生体情報（指紋、静脈、虹彩、網膜、顔、筆跡、声、ＤＮＡなどの情報。以降、登録時生体情報と記述する）ｂを、生体情報取得装置２５０から読み取り、ＣＰＵによりメモリに記憶する（ステップＳ６０３）。登録時生体情報ｂ２５１は画像・音声などのデータそのものであってもよいし、生体情報取得装置２５０により特徴点抽出などの処理が行われた後のものであってもよい。その後、形式変換部２１５がメモリに記憶された登録時生体情報ｂ２５１を特定の形式に従った情報ｆ２２２に変換して、ＣＰＵによりメモリに記憶する（ステップＳ６０４）。情報ｆ２２２は、登録時生体情報ｂ２５１の内容全てと、冗長な情報とを含む。冗長な情報として、例えば登録時生体情報ｂ２５１に関するパリティ、登録時生体情報ｂ２５１のハッシュ値、時刻情報、もしくはあらかじめ定めた文字列などが利用できる。
次に、暗号部２１２が、本システムであらかじめ決められた暗号化アルゴリズムＥ２２３をアルゴリズム記憶部２１６から入力して、暗号化アルゴリズムＥ２２３に従い鍵記憶部２１３に格納された暗号鍵ｋ２２０を用いて、メモリに記憶された情報ｆ２２２を暗号化して暗号化生体情報ｅ２２４を求めて、ＣＰＵによりメモリに記憶する（ステップＳ６０５）。暗号化アルゴリズムＥ２２３のプログラムは、ｅ＝Ｅ（ｋ，ｆ）で表される関数である。
【００１９】
個人認証装置２０１は人２４８に対応するクライアントＩＤおよび暗号化生体情報ｅ２２４とを、登録情報２２５として通信部２１１を介して通信装置によりサーバ装置３０１に送信する（ステップＳ６０６、Ｓ６０７）。これはフレキシブルディスクやカード式の記憶媒体などを介してオフラインで実行してもよいし、通信部２１１、３１１を介して通信装置により、安全な通信路を確立してオンラインで実行してもよい。なお、安全な通信路は、例えばＤｉｆｆｉｅ−Ｈｅｌｌｍａｎ鍵交換、ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）サーバ認証などの既存の技術を用いて確立できる。
また、クライアントＩＤは、個人認証装置の使用を許可する人２４８に予め割り当てておき、個人認証装置の記憶部に記憶しておく。人２４８は、生体情報取得装置２５０に生体情報を読み取らせる際に、クライアントＩＤを入力装置により入力する。この入力装置は、生体情報取得装置２５０に備えられているか、あるいは、個人認証装置２０１に備えられているものとする。そして、入力されたクライアントＩＤは、予め個人認証装置の記憶部に記憶されているクライアントＩＤと生体情報読取部２１４により比較され、一致するクライアントＩＤが検索できた場合に、生体情報読取部２１４は通信部２１１によりステップＳ６０６の処理を行う。
最後に、サーバ装置３０１は通信部３１１を介して通信装置により受信したクライアントＩＤと暗号化生体情報ｅとを有する登録情報２２５をＣＰＵにより生体情報記憶部３１３に格納する（ステップＳ６０８）。
【００２０】
図８のステップＳ６０２は、鍵記憶工程であり、ステップＳ６０８は、識別情報記憶工程である。なお、鍵記憶工程は、ステップＳ６０１を含んでもかまわない。また、識別情報記憶工程は、ステップＳ６０７を含んでもかまわない。
【００２１】
次に個人認証処理における動作を説明する前に、個人認証処理の原理を説明する。
個人認証時、個人認証装置２０１が保持する情報は暗号鍵ｋ２２０、および認証時に読み取られる生体情報（以降、認証時生体情報ｂ’２５３と記述する）ｂ’であり、サーバが保持する情報は登録情報２２５に含まれる暗号化生体情報ｅである。仮に暗号鍵ｋ２２０と認証時生体情報ｂ’２５３をサーバ装置３０１に開示するとすれば、サーバ装置３０１はＦ１（Ｄ（ｋ，ｅ））＝１を確認することで、暗号鍵ｋ２２０の正当性を確認でき、Ｍ（Ｆ２（Ｄ（ｋ，ｅ）），ｂ’）＝１を確認することで、認証時生体情報ｂ’２５３の正当性（登録時生体情報ｂとの類似度が十分高いこと）を確認でき、個人認証を完了できる。
ここで、Ｄは暗号化アルゴリズムＥ２２３に対応する復号アルゴリズム、Ｆ１は入力が特定の形式に従っている場合に限り１を出力する関数、Ｆ２は特定の形式に従った（冗長な情報を含む）生体情報を入力として生体情報だけを出力する関数、Ｍは２つの生体情報を入力としてこれらが同一人物からのものだと判断される場合に限り１を出力する生体情報照合関数である。しかし、これらの関数やアルゴリズムの実行で使用する暗号鍵ｋ２２０や認証時生体情報ｂ’２５３の開示は、生体情報の開示を意味する。このため、これらを開示することなく暗号鍵および認証用の生体情報の正当性を示す必要がある。
【００２２】
以上の目的を達成するために、認証システム１００は、マルチパーティプロトコルと呼ばれる既存の暗号プロトコルを実行する。認証システム１００において、マルチパーティプロトコルを利用することで、個人認証装置２０１の秘密情報である暗号鍵ｋ２２０，認証時生体情報ｂ’２５３をサーバ装置３０１に秘密にしたまま、すなわち、サーバ装置３０１に暗号鍵ｋ２２０及び認証時生体情報ｂ’２５３の情報そのままを送信することなく、前述の関数値を計算することが可能となる。
【００２３】
個人認証処理における動作の詳細について、図９のフローチャートを参照しながら説明する。
まず生体情報取得装置２５０が人２４８から取得した認証時生体情報ｂ’２５３を、個人認証装置２０１の生体情報読取部２１４が入力して、人２４８に対応する認証時生体情報ｂ’２５３を読み取る（ステップＳ７０１）。またこの時、人２４８は生体情報取得装置２５０に生体情報を読み取らせる際に、クライアントＩＤを入力装置により入力する。この入力装置は、生体情報取得装置２５０に備えられているか、あるいは、個人認証装置２０１に備えられているものとする。そして、入力されたクライアントＩＤは、予め個人認証装置の記憶部に記憶されているクライアントＩＤと生体情報読取部２１４により比較され、一致するクライアントＩＤが検索できた場合に、次のステップＳ７０２の処理を行う。Ｓ７０２の処理では、通信部２１１、３１１が安全な通信路を確立したうえで、通信部２１１が人２４８に対応するクライアントＩＤを認証情報２５７としてサーバ装置３０１の通信部３１１に通信装置により送信する（ステップＳ７０２、Ｓ７０３）。なお、安全な通信路は、例えばＤｉｆｆｉｅ−Ｈｅｌｌｍａｎ鍵交換、ＳＳＬサーバ認証などの既存の技術を用いて確立できる。サーバ装置３０１は、通信部３１１により通信装置を介して受信したクライアントＩＤに対応する暗号化生体情報ｅを、クライアントＩＤを検索キーとして、生体情報記憶部３１３が記憶する登録情報２２５からクライアントＩＤが一致するものを取得して、取得した登録情報２２５から暗号化生体情報ｅを抽出して、ＣＰＵによりメモリに記憶する（ステップＳ７０４）。
【００２４】
その後、個人認証装置２０１の通信部２１１、暗号部２１２、サーバ装置３０１の通信部３１１、暗号部３１２、生体情報照合部３１４、形式検証部３１５は、相互に通信を行い、マルチパーティプロトコルを実行することで、クライアントの秘密情報である暗号鍵ｋ２２０と、認証時生体情報ｂ’２５３とをサーバ装置３０１に秘密にしたまま、サーバ装置は目的関数の値Ｆ１（Ｄ（ｋ，ｅ））およびＭ（Ｆ２（Ｄ（ｋ，ｅ）），ｂ’）を得る（ステップＳ７０５）。なお、Ｄ，Ｆ１，Ｆ２，Ｍはそれぞれ前述した関数であり、暗号部３１２、形式検証部３１５、生体情報照合部３１４を備える検証部３１７が計算する。そして、計算の結果は、ＣＰＵによりメモリに記憶する。詳細な動作は、図１０、図１１に従い後で説明する。
【００２５】
マルチパーティプロトコルの終了後、サーバ装置３０１の形式検証部３１５は、Ｆ１（Ｄ（ｋ，ｅ））＝１であるかを確認する（ステップＳ７０６）。確認の結果はメモリに記憶する。メモリに記憶した目的関数Ｆ１の結果が「１」でない場合、形式検証部３１５は、認証失敗として認証処理を終了する。メモリに記憶した目的関数Ｆ１の結果が「１」である場合、サーバ装置３０１の生体情報照合部３１４は、Ｍ（Ｆ２（Ｄ（ｋ，ｅ）），ｂ’）＝１であるかを確認する（ステップＳ７０７）。確認の結果はＣＰＵによりメモリに記憶する。メモリに記憶した目的関数Ｍの結果が「１」でない場合、生体情報照合部３１４は、認証失敗としてクライアント認証処理を終了する。メモリに記憶した目的関数Ｍの結果が「１」である場合、生体情報照合部３１４は、認証が成功したことを示す結果情報２２７を生成してＣＰＵによりメモリに記憶する。通信部３１１はメモリに記憶した結果情報２２７を取り出して、通信部３１１は結果情報２２７を個人認証装置２０１の通信部２１１に通信装置により送信し、個人認証装置２０１の通信部２１１がサーバ装置３０１から送信された結果情報２２７を、通信装置により受信し（ステップＳ７０８、Ｓ７０９）、受信した結果情報２２７をメモリに記憶して、認証成功として処理を終了する。
【００２６】
上記した図９のステップＳ７０１の処理は情報入力工程であり、Ｓ７０２、Ｓ７０５、Ｓ７０９の処理は、検証指示結果受信工程であり、ステップＳ７０３〜Ｓ７０８の処理は、検証工程である。
【００２７】
図９のステップＳ７０５のマルチパーティプロトコルの実行処理において、サーバ装置３０１が目的関数Ｆ１（Ｄ（ｋ，ｅ））の値を得るための動作の例について、図１０のフローチャートを参照しながら説明する。
暗号部２１２は、暗号鍵ｋ２２０をいくつかの部分情報に分割して複数の部分鍵情報を生成して、ＣＰＵによりメモリに複数の部分鍵情報を記憶する。さらに、暗号部２１２は、これら複数の部分鍵情報と区別がつかないような、暗号鍵ｋの分割数と同数のダミー情報をランダムに作成して、ダミー情報をＣＰＵによりメモリに記憶する（ステップＳ８０１）。分割する数は、予めユーザにより入力装置を用いて設定され、個人認証装置２０１の記憶装置に記憶されている。ユーザは、復号化アルゴリズムＤの内容に基づいて、暗号鍵ｋの分割数を予め決定しておく。また、暗号鍵ｋの分割の方法は、復号化アルゴリズムＤの内容に基づいて、ユーザが予め分割の手順を示す情報を入力装置を用いて個人認証装置２０１に設定しておき、個人認証装置２０１の記憶装置に記憶させておく。暗号部２１２は、記憶装置から分割の手順を示す情報を取り出して、手順に従い暗号鍵ｋを分割する。
【００２８】
通信部２１１は、ステップＳ８０１でメモリに記憶した複数の部分鍵情報のうち１つの部分鍵情報と、対応する１つのダミー情報とを取り出し、２つの取り出した情報を検証用情報２５５として、サーバ装置３０１へ通信装置により送信する（ステップＳ８０２）。このとき、検証用情報２５５に含まれる２つの情報のうちどちらが真の情報で、どちらがダミー情報であるのか外部からわからないように送信する。送信された検証用情報２５５を、サーバ装置３０１の通信部３１１が通信装置により受信する。暗号部３１２は、通信部３１１で受信した検証用情報２５５に含まれる２つの情報それぞれに対して、復号化アルゴリズムＤを部分的に適用して、復号元情報を計算して、それぞれに対して求められた計算結果をＣＰＵによりメモリに記憶する（ステップＳ８０３）。部分的に適用するとは、復号化アルゴリズムＤを元にして、復号化アルゴリズムＤのパラメータに部分鍵情報を用いる別の復号化アルゴリズムＤ’を使用して上記復号元情報を計算することである。復号化アルゴリズムＤ’は、予めユーザにより作成されて、サーバ装置３０１の入力装置により入力されて、記憶装置、例えばアルゴリズム・関数記憶部３１６に記憶されている。暗号部３１２は、記憶装置、例えばアルゴリズム・関数記憶部３１６に記憶されている復号化アルゴリズムＤ’３２０を取り出して、復号元情報を計算する。
【００２９】
暗号部３１２は、Ｏｂｌｉｖｉｏｕｓ  Ｔｒａｎｓｆｅｒの手順に従い、ステップＳ８０３で得られた２つの復号元情報をそれぞれ暗号化をして、メモリに記憶し、通信部３１１がこれら暗号化した２つの復号元情報をメモリから読み出して、２つの情報を結果情報２２７として通信装置により個人認証装置２０１に送信する（ステップＳ８０４）。ステップＳ８０４の暗号化は、共通鍵や公開鍵を用いて行い、個人認証装置２０１が復号できるものである。送信された結果情報２２７は、個人認証装置２０１の通信部２１１が、通信装置により受信して、メモリに記憶する。そして、暗号部２１２は、メモリに記憶された結果情報２２７に含まれる２つの暗号化された復号元情報のうち、必要とする一方の暗号化された復号元情報のみを復号し、部分鍵情報に復号化アルゴリズムＤ’を適用した値を取得して、ＣＰＵによりメモリに記憶する（ステップＳ８０５）。Ｏｂｌｉｖｉｏｕｓ  Ｔｒａｎｓｆｅｒの手順に従い個人認証装置２０１に送信された２つの復号元情報は、２つの復号元情報のうち必要とする情報がどちらであるか判定できる。このため、暗号部２１２は、必要とする一方の復号元情報を判定できる。
【００３０】
これらステップＳ８０２からステップＳ８０５までの手順は、ステップＳ８０１で暗号鍵ｋを分割した数と同じだけ繰り返す。すなわち、繰り返し処理が終了すると、暗号鍵を分割した数と同じ数の復号した復号元情報がメモリに記憶されている。
暗号部２１２は、ステップＳ８０２からステップＳ８０５までの繰り返しで得られたメモリに記憶された複数の復号元情報を統合し、Ｄ（ｋ，ｅ）に関連する何らかの値ｔ１である復号用情報ｔ１を計算して、ＣＰＵによりメモリに記憶する（ステップＳ８０６）。統合の方法は、復号化アルゴリズムＤをもとに予めユーザが設定した統合手順に従い行う。ユーザは、復号化アルゴリズムＤの内容に基づいて、統合手順を示す情報を作成し、個人認証装置２０１の入力装置により統合手順を示す情報を入力して、記憶装置、例えばアルゴリズム記憶部２１６に統合手順を示す情報を記憶しておく。暗号部２１２は、記憶装置、例えばアルゴリズム記憶部２１６が記憶する統合手順を示す情報を読み出して、復号用情報ｔ１を生成する。なお、この復号用情報ｔ１は、個人認証装置２０１が復号用情報ｔ１からＤ（ｋ，ｅ）を計算することはできないが、サーバ装置３０１は復号用情報ｔ１からＤ（ｋ，ｅ）を計算できるようなものである。
上記したステップＳ８０１、Ｓ８０２、Ｓ８０５、Ｓ８０６は、復号用処理部２１２０により実行される復号用処理工程である。復号用処理部２１２０は、復号用情報ｔ１である復号用情報２１２５を生成して、出力する。また、ステップＳ８０３、Ｓ８０４は、復号工程である。
【００３１】
暗号部２１２は、復号用情報ｔ１をいくつかの部分情報に分割して複数の部分復号用情報を生成して、メモリに記憶する。さらに、これら複数の部分復号情報と区別がつかないような、復号用情報を分割した数と同数のダミー情報をランダムに生成して、ＣＰＵによりメモリに記憶する（ステップＳ８０７）。分割する数は、予めユーザにより入力装置を用いて設定され、個人認証装置２０１の記憶装置に記憶されている。ユーザは、目的関数Ｆ１の内容に基づいて、復号用情報ｔ１の分割数を予め決定しておく。また、復号用情報ｔ１の分割の方法は、目的関数Ｆ１の内容に基づいて、ユーザが予め分割の手順を示す情報を入力装置を用いて個人認証装置２０１に設定しておき、個人認証装置２０１の記憶装置に記憶させておく。暗号部２１２は、記憶装置から分割の手順を示す情報を取り出して、手順に従い復号用情報ｔ１を分割する。
【００３２】
通信部２１１は、ステップＳ８０７でメモリに記憶した複数の部分復号情報のうち１つの部分復号情報と、対応する１つのダミー情報とを取り出し、２つの取り出した情報を検証用情報２５５として、サーバ装置３０１へ通信装置により送信する（ステップＳ８０８）。このとき、検証用情報２５５に含まれる２つの情報のうちどちらが真の情報で、どちらがダミー情報であるのか外部からわからないように送信する。送信された検証用情報２５５を、サーバ装置３０１の通信部３１１が通信装置により受信する。形式検証部３１５は、通信部３１１で受信した検証用情報２５５に含まれる２つの情報それぞれに対して、目的関数Ｆ１を部分的に適用して、検証元鍵情報を計算して、それぞれに対して求められた計算結果をＣＰＵによりメモリに記憶する（ステップＳ８０９）。部分的に適用するとは、目的関数Ｆ１を元にして、関数のパラメータに部分復号情報を用いる別の関数Ｆ１’を使用して上記検証元鍵情報を計算することである。関数Ｆ１’は、予めユーザにより作成されて、サーバ装置３０１の入力装置により入力されて、記憶装置、例えばアルゴリズム・関数記憶部３１６に記憶されている。形式検証部３１５は、記憶装置、例えばアルゴリズム・関数記憶部３１６に記憶されている関数Ｆ１’３２１を取り出して、検証元鍵情報を計算する。
【００３３】
暗号部３１２は、Ｏｂｌｉｖｉｏｕｓ  Ｔｒａｎｓｆｅｒの手順に従い、ステップＳ８０９で得られた２つの検証元鍵情報をそれぞれ暗号化して、メモリに記憶し、通信部３１１がこれら暗号化した２つの検証元鍵情報をメモリから読み出して、２つの情報を結果情報２２７として通信装置により個人認証装置２０１に送信する（ステップＳ８１０）。ステップＳ８１０の暗号化は、共通鍵や公開鍵を用いて行い、個人認証装置２０１が復号できるものである。送信された結果情報２２７は、個人認証装置２０１の通信部２１１が、通信装置により受信して、メモリに記憶する。そして、暗号部２１２は、メモリに記憶された結果情報２２７に含まれる２つの暗号化された検証元鍵情報のうち、必要とする一方の暗号化された検証元鍵情報のみを復号し、部分復号情報に関数Ｆ１’を適用した値を取得して、ＣＰＵによりメモリに記憶する（ステップＳ８１１）。Ｏｂｌｉｖｉｏｕｓ  Ｔｒａｎｓｆｅｒの手順に従い個人認証装置２０１に送信された２つの検証元鍵情報は、２つの検証元鍵情報のうち必要とする情報がどちらであるか判定できる。このため、暗号部２１２は、必要とする一方の検証元鍵情報を判定できる。
【００３４】
暗号部２１２は、ステップＳ８０８からステップＳ８１１までの繰り返しで得られたメモリに記憶された複数の検証元鍵情報を統合し、目的関数Ｆ１（Ｄ（ｋ，ｅ））に関連する何らかの値ｔ２である鍵検証用情報ｔ２を計算して、ＣＰＵによりメモリに記憶する（ステップＳ８１２）。統合の方法は、目的関数Ｆ１をもとに予めユーザが設定した統合手順に従い行う。ユーザは、目的関数Ｆ１の内容に基づいて、統合手順を示す情報を作成し、個人認証装置２０１の入力装置により統合手順を示す情報を入力して、記憶装置、例えばアルゴリズム記憶部２１６に統合手順を示す情報を記憶しておく。暗号部２１２は、記憶装置、例えばアルゴリズム記憶部２１６が記憶する統合手順を示す情報を読み出して、鍵検証用情報ｔ２を生成する。なお、この鍵検証用情報ｔ２は、個人認証装置２０１が鍵検証用情報ｔ２からＦ１（Ｄ（ｋ，ｅ））を計算することはできないが、サーバ装置３０１は鍵検証用情報ｔ２からＦ１（Ｄ（ｋ，ｅ））を計算できるようなものである。
【００３５】
通信部２１１は、ステップＳ８１２で計算してメモリに記憶した鍵検証用情報ｔ２を取り出して検証用情報２５５として、通信装置によりサーバ装置３０１の通信部３１１に送信する（ステップＳ８１３）。通信部３１１は、個人認証装置２０１から検証用情報２５５として送信された鍵検証用情報ｔ２を受信してメモリに記憶する。形式検証部３１５は、メモリに記憶された鍵検証用情報ｔ２から目的関数Ｆ１（Ｄ（ｋ，ｅ））を計算して、目的関数の値を得て、メモリに記憶する（ステップＳ８１４）。ここでは、目的関数Ｆ１（Ｄ（ｋ，ｅ））そのものを計算するのではなく、鍵検証用情報ｔ２を用いて目的関数Ｆ１（Ｄ（ｋ，ｅ））に替わる計算手順で目的関数の値を得る。目的関数Ｆ１に替わる計算手順は、あらかじめユーザに生成されてサーバ装置３０１の記憶装置、例えばアルゴリズム・関数記憶部３１６に記憶されている。形式検証部３１５は、アルゴリズム・関数記憶部３１６から目的関数Ｆ１に替わる計算手順を取り出して、鍵検証用情報ｔ２を用いて目的関数の値を得る。
図９のステップＳ７０６では、このステップＳ８１４でメモリに記憶した目的関数Ｆ１（Ｄ（ｋ，ｅ））の計算結果の値を確認する。
【００３６】
上記したステップＳ８０７、Ｓ８０８、Ｓ８１１、Ｓ８１２、Ｓ８１３は、鍵検証用処理部２１２１により実行される鍵検証用処理工程である。また、ステップＳ８０７では、暗号部２１２の復号用処理部２１２０により生成されてメモリに記憶された復号用情報２１２５が、鍵検証用処理部２１２１に出力される。また、ステップＳ８０９、Ｓ８１０は、検証元鍵情報計算工程である。
【００３７】
上記した図１０の各ステップにより、サーバ装置３０１は目的関数Ｆ１の計算結果を得る。サーバ装置３０１は、暗号鍵ｋを個人認証装置２０１より通知されることなく、すなわち、個人認証装置２０１は、暗号鍵ｋをサーバ装置３０１に秘密にしたまま、サーバ装置３０１は暗号鍵ｋの正当性を検証できる。
なお、上記はマルチパーティプロトコルの動作例であり、利用可能なマルチパーティプロトコルを制限するものではない。
【００３８】
図９のステップＳ７０５のマルチパーティプロトコルの実行処理において、サーバが目的関数Ｍ（Ｆ２（Ｄ（ｋ，ｅ）），ｂ’）の値を得るための動作の例について、図１１のフローチャートを参照しながら説明する。
【００３９】
図１１のステップＳ８０１〜Ｓ８０６までの処理は、図１０のステップＳ８０１〜Ｓ８０６までの処理と同じであるため、説明を省略する。
暗号部２１２は、復号用情報ｔ１をいくつかの部分情報に分割して複数の部分復号用情報を生成して、メモリに記憶する。さらに、これら複数の部分復号情報と区別がつかないような、復号用情報を分割した数と同数のダミー情報をランダムに生成して、ＣＰＵによりメモリに記憶する（ステップＳ８０７）。分割する数は、予めユーザにより入力装置を用いて設定され、個人認証装置２０１の記憶装置に記憶されている。ユーザは、目的関数Ｆ２の内容に基づいて、復号用情報ｔ１の分割数を予め決定しておく。また、復号用情報ｔ１の分割の方法は、目的関数Ｆ２の内容に基づいて、ユーザが予め分割の手順を示す情報を入力装置を用いて個人認証装置２０１に設定しておき、個人認証装置２０１の記憶装置に記憶させておく。暗号部２１２は、記憶装置から分割の手順を示す情報を取り出して、手順に従い復号用情報ｔ１を分割する。
【００４０】
通信部２１１は、ステップＳ８０７でメモリに記憶した複数の部分復号情報のうち１つの部分復号情報と、対応する１つのダミー情報とを取り出し、２つの取り出した情報を検証用情報２５５として、サーバ装置３０１へ通信装置により送信する（ステップＳ８０８）。このとき、検証用情報２５５に含まれる２つの情報のうちどちらが真の情報で、どちらがダミー情報であるのか外部からわからないように送信する。送信された検証用情報２５５を、サーバ装置３０１の通信部３１１が通信装置により受信する。形式検証部３１５は、通信部３１１で受信した検証用情報２５５に含まれる２つの情報それぞれに対して、目的関数Ｆ２を部分的に適用して、識別抽出元情報を計算して、それぞれに対して求められた計算結果をＣＰＵによりメモリに記憶する（ステップＳ８２０）。部分的に適用するとは、目的関数Ｆ２を元にして、関数のパラメータに部分復号情報を用いる別の関数Ｆ２’を使用して上記識別抽出元情報を計算することである。関数Ｆ２’は、予めユーザにより作成されて、サーバ装置３０１の入力装置により入力されて、記憶装置、例えばアルゴリズム・関数記憶部３１６に記憶されている。形式検証部３１５は、記憶装置、例えばアルゴリズム・関数記憶部３１６に記憶されている関数Ｆ２’３２３を取り出して、識別抽出元情報を計算する。
【００４１】
暗号部３１２は、Ｏｂｌｉｖｉｏｕｓ  Ｔｒａｎｓｆｅｒの手順に従い、ステップＳ８０９で得られた２つの識別抽出元情報をそれぞれ暗号化をして、ＣＰＵによりメモリに記憶し、通信部３１１がこれら暗号化した２つの識別抽出元情報をメモリから読み出して、２つの情報を結果情報２２７として通信装置により個人認証装置２０１に送信する（ステップＳ８２１）。ステップＳ８２１の暗号化は、共通鍵や公開鍵を用いて行い、個人認証装置２０１が復号できるものである。送信された結果情報２２７は、個人認証装置２０１の通信部２１１が、通信装置により受信して、ＣＰＵによりメモリに記憶する。そして、暗号部２１２は、メモリに記憶された結果情報２２７に含まれる２つの暗号化された識別抽出元情報のうち、必要とする一方の暗号化された識別抽出元情報のみを復号し、部分復号情報に関数Ｆ２’を適用した値を取得して、ＣＰＵによりメモリに記憶する（ステップＳ８３３）。Ｏｂｌｉｖｉｏｕｓ  Ｔｒａｎｓｆｅｒの手順に従い個人認証装置２０１に送信された２つの識別抽出元情報は、２つの識別抽出元情報のうち必要とする情報がどちらであるか判定できる。このため、暗号部２１２は、必要とする一方の識別抽出元情報を判定できる。
【００４２】
暗号部２１２は、ステップＳ８０８、Ｓ８２０、Ｓ８２１、Ｓ８３３までの繰り返しで得られたメモリに記憶された複数の検証元鍵情報を統合し、目的関数Ｆ２（Ｄ（ｋ，ｅ））に関連する何らかの値ｔ３である識別抽出用情報ｔ３を計算して、ＣＰＵによりメモリに記憶する（ステップＳ８２２）。統合の方法は、目的関数Ｆ２をもとに予めユーザが設定した統合手順に従い行う。ユーザは、目的関数Ｆ２の内容に基づいて、統合手順を示す情報を作成し、個人認証装置２０１の入力装置により統合手順を示す情報を入力して、記憶装置、例えばアルゴリズム記憶部２１６に統合手順を示す情報を記憶しておく。暗号部２１２は、記憶装置、例えばアルゴリズム記憶部２１６が記憶する統合手順を示す情報を読み出して、識別抽出用情報ｔ３を生成する。なお、この識別抽出用情報ｔ３は、個人認証装置２０１が識別抽出用情報ｔ３からＦ２（Ｄ（ｋ，ｅ））を計算することはできないが、サーバ装置３０１は識別抽出用情報ｔ３からＦ２（Ｄ（ｋ，ｅ））を計算できるようなものである。
【００４３】
上記したステップＳ８０７、Ｓ８０８、Ｓ８３３、Ｓ８２２は、識別抽出用処理部２１２２により実行される識別抽出用処理工程である。また、ステップＳ８０７では、暗号部２１２の復号用処理部２１２０により生成されてメモリに記憶された復号用情報２１２５が、識別抽出用処理部２１２２に出力される。また、ステップＳ８２０、Ｓ８２１は、識別抽出元情報計算工程である。
【００４４】
つづいて、暗号部２１２は、ステップＳ８２２でメモリに記憶した識別抽出用情報ｔ３をＣＰＵにより取り出し、取り出した識別抽出用情報ｔ３と認証用生体情報ｂ’とを結合して、ＣＰＵにより結合情報ｔ５を生成する。生成した結合情報ｔ５は、ＣＰＵによりメモリに記憶する。
【００４５】
結合する手順は、予めユーザにより入力装置を用いて設定され、個人認証装置２０１の記憶装置に記憶されている。ユーザは、目的関数Ｍの内容に基づいて、識別抽出用情報ｔ３と認証用生体情報ｂ’とを結合する手順を予め決定しておく。また、この結合の手順を示す情報を入力装置を用いて個人認証装置２０１に設定しておき、個人認証装置２０１の記憶装置に記憶させておく。暗号部２１２は、記憶装置から結合の手順を示す情報を取り出して、手順に従い識別抽出用情報ｔ３と認証用生体情報ｂ’とを結合して、結合情報ｔ５を生成する。
【００４６】
そして、暗号部２１２は、メモリに記憶した結合情報ｔ５をＣＰＵにより取り出して、取り出した結合情報ｔ５をいくつかの部分情報に分割して、複数の部分識別情報を生成して、ＣＰＵによりメモリに記憶する。さらに、これら複数の部分識別情報と区別がつかないような、結合情報ｔ５を分割した数と同数のダミー情報をランダムに生成して、ＣＰＵによりメモリに記憶する（ステップＳ８２５）。分割する数は、予めユーザにより入力装置を用いて設定され、個人認証装置２０１の記憶装置に記憶されている。ユーザは、目的関数Ｍの内容に基づいて、結合情報ｔ５の分割数を予め決定しておく。また、結合情報ｔ５の分割の方法は、目的関数Ｍの内容に基づいて、ユーザが予め分割の手順を示す情報を入力装置を用いて個人認証装置２０１に設定しておき、個人認証装置２０１の記憶装置に記憶させておく。暗号部２１２は、記憶装置から分割の手順を示す情報を取り出して、手順に従い結合情報ｔ５を分割する。
【００４７】
通信部２１１は、ステップＳ８２５でメモリに記憶した複数の部分識別情報のうち１つの部分識別情報と、対応する１つのダミー情報とを取り出し、２つの取り出した情報を検証用情報２５５として、サーバ装置３０１へ通信装置により送信する（ステップＳ８２６）。このとき、検証用情報２５５に含まれる２つの情報のうちどちらが真の情報で、どちらがダミー情報であるのか外部からわからないように送信する。送信された検証用情報２５５を、サーバ装置３０１の通信部３１１が通信装置により受信する。生体情報照合部３１４は、通信部３１１で受信した検証用情報２５５に含まれる２つの情報それぞれに対して、目的関数Ｍを部分的に適用して、検証元識別情報を計算して、それぞれに対して求められた計算結果をＣＰＵによりメモリに記憶する（ステップＳ８２７）。部分的に適用するとは、目的関数Ｍを元にして、関数のパラメータに部分識別情報を用いる別の関数Ｍ’を使用して上記識別抽出元情報を計算することである。関数Ｍ’は、予めユーザにより作成されて、サーバ装置３０１の入力装置により入力されて、記憶装置、例えばアルゴリズム・関数記憶部３１６に記憶されている。生体情報照合部３１４は、記憶装置、例えばアルゴリズム・関数記憶部３１６に記憶されている関数Ｍ’３２４を取り出して、検証元識別情報を計算する。
【００４８】
暗号部３１２は、Ｏｂｌｉｖｉｏｕｓ  Ｔｒａｎｓｆｅｒの手順に従い、ステップＳ８２７で得られた２つの検証元識別情報をそれぞれ暗号化をして、ＣＰＵによりメモリに記憶し、通信部３１１がこれら暗号化した２つの検証元識別情報をメモリから読み出して、２つの情報を結果情報２２７として通信装置により個人認証装置２０１に送信する（ステップＳ８２８）。ステップＳ８２８の暗号化は、共通鍵や公開鍵を用いて行い、個人認証装置２０１が復号できるものである。送信された結果情報２２７は、個人認証装置２０１の通信部２１１が、通信装置により受信して、ＣＰＵによりメモリに記憶する。そして、暗号部２１２は、メモリに記憶された結果情報２２７に含まれる２つの暗号化された検証元識別情報のうち、必要とする一方の暗号化された検証元識別情報のみを復号し、部分識別情報に関数Ｍ’を適用した値を取得して、ＣＰＵによりメモリに記憶する（ステップＳ８３０）。Ｏｂｌｉｖｉｏｕｓ  Ｔｒａｎｓｆｅｒの手順に従い個人認証装置２０１に送信された２つの検証元識別情報は、２つの検証元識別情報のうち必要とする情報がどちらであるか判定できる。このため、暗号部２１２は、必要とする一方の検証元識別情報を判定できる。
【００４９】
暗号部２１２は、ステップＳ８２６、Ｓ８２７、Ｓ８２８、Ｓ８２９までの繰り返しで得られたメモリに記憶された複数の検証元識別情報を統合し、目的関数Ｍ（Ｆ２（Ｄ（ｋ，ｅ）），ｂ’）に関連する何らかの値ｔ４である識別情報検証用情報ｔ４を計算して、ＣＰＵによりメモリに記憶する（ステップＳ８３１）。統合の方法は、目的関数Ｍをもとに予めユーザが設定した統合手順に従い行う。ユーザは、目的関数Ｍの内容に基づいて、統合手順を示す情報を作成し、個人認証装置２０１の入力装置により統合手順を示す情報を入力して、記憶装置、例えばアルゴリズム記憶部２１６に統合手順を示す情報を記憶しておく。暗号部２１２は、記憶装置、例えばアルゴリズム記憶部２１６が記憶する統合手順を示す情報を読み出して、識別情報検証用情報ｔ４を生成する。なお、この識別情報検証用情報ｔ４は、個人認証装置２０１が識別情報検証用情報ｔ４からＭ（Ｆ２（Ｄ（ｋ，ｅ）），ｂ’）を計算することはできないが、サーバ装置３０１は識別情報検証用情報ｔ４からＭ（Ｆ２（Ｄ（ｋ，ｅ）），ｂ’）を計算できるようなものである。
【００５０】
通信部２１１は、ステップＳ８３０で計算してメモリに記憶した識別情報検証用情報ｔ４を取り出して検証用情報２５５として、通信装置によりサーバ装置３０１の通信部３１１に送信する（ステップＳ８３１）。通信部３１１は、個人認証装置２０１から検証用情報２５５として送信された識別情報検証用情報ｔ４を受信してメモリに記憶する。生体情報照合部３１４は、メモリに記憶された識別情報検証用情報ｔ４から目的関数Ｍ（Ｆ２（Ｄ（ｋ，ｅ）），ｂ’）を計算して、目的関数の値を得て、ＣＰＵによりメモリに記憶する（ステップＳ８３２）。ここでは、目的関数Ｍ（Ｆ２（Ｄ（ｋ，ｅ）），ｂ’）そのものを計算するのではなく、識別情報検証用情報ｔ４を用いて目的関数Ｍ（Ｆ２（Ｄ（ｋ，ｅ）），ｂ’）に替わる計算手順で目的関数の値を得る。目的関数Ｍに替わる計算手順は、あらかじめユーザに生成されてサーバ装置３０１の記憶装置、例えばアルゴリズム・関数記憶部３１６に記憶されている。生体情報照合部３１４は、アルゴリズム・関数記憶部３１６から目的関数Ｍに替わる計算手順を取り出して、識別情報検証用情報ｔ４を用いて目的関数の値を得る。
図９のステップＳ７０７では、このステップＳ８３２でメモリに記憶した目的関数Ｍ（Ｆ２（Ｄ（ｋ，ｅ）），ｂ’）を計算した結果の値を目的関数Ｍの計算結果として使用する。
【００５１】
上記したステップＳ８２３、Ｓ８２５、Ｓ８２６、Ｓ８２９、Ｓ８３０、Ｓ８３１は、識別情報生成処理部２１２３により実行される識別情報生成処理工程である。また、ステップＳ８２７、Ｓ８２８は、検証元識別情報計算工程である。
【００５２】
上記した図１１の各ステップにより、サーバ装置３０１は目的関数Ｍの計算結果を得る。サーバ装置３０１は、暗号鍵ｋおよび認証用生体情報ｂ’を個人認証装置２０１より通知されることなく、すなわち、個人認証装置２０１は、暗号鍵ｋおよび認証用生体情報ｂ’をサーバ装置３０１に秘密にしたまま、サーバ装置３０１は認証用生体情報ｂ’の正当性を検証できる。
【００５３】
以上のように、生体情報を個人認証装置２０１のみが保持する秘密情報である暗号鍵を用いて暗号化し、その暗号化した結果のみをサーバ装置３０１に格納することによって、万一このサーバ装置３０１に格納した情報が漏洩した場合においても、生体情報そのものが漏洩しないという性質を達成している。また、形式変換部２１５を用いて生体情報を特定の形式に変換してから暗号化することによって、情報が漏洩した場合においても、不正者による成りすましが困難であるという性質を達成している。さらに、マルチパーティプロトコルを利用することによって、暗号化前の生体情報同士の照合を行うことができるため、任意の生体情報照合手段が利用可能であるという性質を達成している。
【００５４】
なお、本実施の形態では、生体情報の一例として指紋、静脈、虹彩、網膜、顔、筆跡、声、ＤＮＡを挙げたが、その他の生体情報を利用することも可能である。
【００５５】
また、本実施の形態では、図８のステップＳ６０１において個人認証装置２０１が暗号鍵を生成しているが、信頼できる第三者機関が暗号鍵を生成し、これを個人認証装置２０１に送信する形にすることも可能である。
【００５６】
また、本実施の形態では、暗号として共通鍵暗号を利用しているが、公開鍵暗号を利用することも可能である。
【００５７】
また、本実施の形態では、システム全体で同一の暗号アルゴリズムを利用しているが、個人認証装置ごとに異なる暗号アルゴリズムを利用してもよい。
【００５８】
また、本実施の形態では、各情報を分割する数、各情報の分割の手順、各関数の部分適用の手順、各関数値の統合手順、各情報の結合の手順などをユーザが決定しているが、これらをサーバもしくは信頼できる第三者機関が決定してもよい。
【００５９】
また、本実施の形態で述べられているサーバ装置と個人認証装置は、例えばパーソナルコンピュータと周辺機器（生体情報読み取り装置など）のようなものであってもよい。
【００６０】
この実施の形態では、生体情報を利用した認証システムにおいて、個人認証装置で生体情報の形式変換と暗号化を行ったものをサーバ装置に送信し、サーバ装置に生体情報を開示することなく個人認証を可能とする認証システム、個人認証装置、サーバ装置、認証方法について、一例を説明した。
また、個人認証装置とサーバ装置との間の通信に、マルチパーティプロトコルを用いることで、個人認証装置がサーバ装置に対して生体情報を開示しないで、個人認証を可能とすることについて、一例を説明した。
【００６１】
実施の形態２．
本実施の形態では、実施の形態１で説明した、生体情報を利用した個人認証システムにおいて、ハミング距離を利用した生体情報照合を行うものについて説明する。なお、システム構成に関しては実施の形態１で説明したものと同一であるので、説明は省略する。また、説明を簡単にするため、形式変換部２１５が利用する変換は恒等関数とする。すなわち、登録時生体情報ｂ２５１には冗長な情報を付加しないものとする。
本実施の形態における生体情報登録処理の流れは、実施の形態１で説明したものと同一である（図８）。本実施の形態においては、形式変換部２１５が利用する変換は恒等関数とする。また暗号化アルゴリズムＥ２２３は排他的論理和、すなわちＥ（ｋ，ｆ）＝ｋ＾ｆで表される関数とする。なお、左記の式に用いる「＾」は、排他的論理和を行うことを示す記号として使用する。以下に記載する式、及び図面に記載する「＾」も同様に、排他的論理和を行うことを示す記号として使用する。
【００６２】
本実施の形態における個人認証処理の流れは、実施の形態１で説明したものと同一である（図９）。暗号化アルゴリズムＥ２２３として排他的論理和を用いるため、復号アルゴリズムＤは排他的論理和、すなわちＤ（ｋ，ｅ）＝ｋ＾ｅで表される関数となる。形式変換部２１５が利用する変換として恒等関数を用いるため、Ｆ１は常に１を出力する関数、Ｆ２は恒等関数となる。また、生体情報照合関数Ｍは、入力である２つの生体情報のハミング距離が、あらかじめ決められた閾値ｔ以下である場合に限り１を出力する関数とする。閾値ｔは、本人拒否率や他人受入率を考慮して、システムで決められた値である。
以上のように各関数を定めると、図９のステップＳ７０５で計算する目的関数の値に関して、Ｆ１（Ｄ（ｋ，ｅ））＝１、Ｍ（Ｆ２（Ｄ（ｋ，ｅ）），ｂ’）＝Ｍ（ｋ＾ｅ，ｂ’）＝Ｍ（ｋ＾ｂ’，ｅ）が恒等的に成立する。従って、ステップＳ７０５で実行するマルチパーティプロトコルでは、Ｍ（ｋ＾ｂ’，ｅ）の値が１であるかどうかのみを計算すればよい。
【００６３】
図１２は、本実施の形態における個人認証処理において、マルチパーティプロトコルの実行処理を説明するためのフローチャートである。
図９のステップＳ７０５のマルチパーティプロトコルの実行処理において、サーバ装置３０１が目的関数Ｍ（ｋ＾ｂ’，ｅ）の値を得るための動作の例について、図１２のフローチャートを参照しながら説明する。なお、以下で用いる乱数ｓｉのビット長ｍはシステムであらかじめ適切に定めておく。例えば、２のｍ乗が生体情報のビット長よりも十分大きくなるように設定する。また、以下に記述する算術演算は全て２のｍ乗を法としたものである。
暗号部２１２は、暗号鍵ｋ２２０と認証用生体情報ｂ’の排他的論理和ｋ＾ｂ’を計算する（ステップＳ１２０１）。さらに、ｋ＾ｂ’をビットごとに分割して、各ビットの値をＣＰＵによりメモリに記憶する（ステップＳ１２０２）。なお、ｋ＾ｂ’のビット長をｎと記述する。
暗号部３１２は、乱数ｒを−１、１のどちらかからランダムに選択し、さらにｎ個の乱数ｓｉ（ｓ１〜ｓｎ）を０以上、２のｍ乗未満の整数からランダムに選択してＣＰＵによりメモリに記憶する（ステップＳ１２０３）。
暗号部３１２は、ステップＳ７０４でメモリに記憶した暗号化生体情報ｅを読み出し、ｅのｉビット目をｐとして、復号アルゴリズムＤ、生体情報照合関数Ｍの部分適用結果α０＝ｒ×ｐ＋ｓｉ、α１＝ｒ×（１−ｐ）＋ｓｉを計算する（ステップＳ１２０４）。
【００６４】
暗号部３１２は、Ｏｂｌｉｖｉｏｕｓ  Ｔｒａｎｓｆｅｒの手順に従い、ステップＳ１２０４で得られた２つの部分適用結果をそれぞれ暗号化して、メモリに記憶し、通信部３１１がこれら暗号化した２つの部分適用結果をメモリから読み出して、２つの情報を結果情報２２７として通信装置により個人認証装置２０１に送信する（ステップＳ１２０５）。ステップＳ１２０５の暗号化は、共通鍵や公開鍵を用いて行い、個人認証装置２０１が復号できるものである。送信された結果情報２２７は、個人認証装置２０１の通信部２１１が、通信装置により受信して、メモリに記憶する。そして、暗号部２１２は、メモリに記憶された結果情報２２７に含まれる２つの暗号化された部分適用結果のうち、必要とする一方の暗号化された部分適用結果のみを復号し、ＣＰＵによりメモリに記憶する（ステップＳ１２０６）。ここで、必要とする部分適用結果は、ステップＳ１２０２で分割してメモリに記憶したｉビット目の値が０のときα０、値が１のときα１である。以降、ステップＳ１２０６で取得した部分適用結果をｘｉと記述する。Ｏｂｌｉｖｉｏｕｓ  Ｔｒａｎｓｆｅｒの手順に従い個人認証装置２０１に送信された２つの部分適用結果は、２つの部分適用結果のうち必要とする情報がどちらであるか判定できる。このため、暗号部２１２は、必要とする一方の部分適用結果を判定できる。
暗号部２１２は、ステップＳ１２０４からステップＳ１２０６までの繰り返しで得られたメモリに記憶されたｎ個の部分適用結果ｘｉの総和Σｘｉを計算して、ＣＰＵによりメモリに記憶する（ステップＳ１２０７）。
通信部２１１は、ステップＳ１２０７で計算してメモリに記憶した総和Σｘｉを取り出して検証用情報２５５として、通信装置によりサーバ装置３０１の通信部３１１に送信する（ステップＳ１２０８）。通信部３１１は、個人認証装置２０１から検証用情報２５５として送信された総和Σｘｉを受信してメモリに記憶する。暗号部３１２は、（Σｘｉ−Σｓｉ）／ｒを計算することで、ｋ＾ｂ’とｅのハミング距離を得てメモリに記憶する（ステップＳ１２０９）。
【００６５】
生体情報照合部３１４は、ステップＳ１２０３からステップＳ１２０９までを必要なラウンド数だけ繰り返して得られた複数のハミング距離をメモリから読み出して、全てのハミング距離が一致し、かつ０以上ｔ以下の値である場合に限り、目的関数Ｍ（ｋ＾ｂ’，ｅ）の値を１として、メモリに記憶する。それ以外の場合、目的関数Ｍ（ｋ＾ｂ’，ｅ）の値を０として、メモリに記憶する（ステップＳ１２１０）。なお、ラウンド数は、他人受入率を考慮して、システムであらかじめ決められた値である。
上記した図１２の各ステップにより、サーバ装置３０１は目的関数Ｍ（ｋ＾ｂ’，ｅ）の計算結果を得る。サーバ装置３０１は、暗号鍵ｋおよび認証用生体情報ｂ’を個人認証装置２０１より通知されることなく、すなわち、個人認証装置２０１は、暗号鍵ｋおよび認証用生体情報ｂ’をサーバ装置３０１に秘密にしたまま、サーバ装置３０１は認証用生体情報ｂ’の正当性を検証できる。
【００６６】
上記した図１２の各ステップにより、目的関数Ｍ（ｋ＾ｂ’，ｅ）の値が正しく計算されることは容易に確認できる。また、Ｏｂｌｉｖｉｏｕｓ  Ｔｒａｎｓｆｅｒを利用することによって、暗号鍵ｋ、認証用生体情報ｂ’およびｋ＾ｂ’をサーバ装置３０１に秘密にしたまま、ハミング距離およびＭ（ｋ＾ｂ’，ｅ）の値を計算できるという性質を達成している。また、乱数ｓｉを利用することによって、個人認証装置２０１が認証処理結果以外の一切の情報を入手できないという性質を達成している。さらに、ステップＳ１２０３からステップＳ１２０９までを繰り返し、毎回ランダムに選択した乱数ｒを利用することによって、不正者がハミング距離の値を偽ることに成功する確率を指数関数的に０に近づけることができるという性質を達成している。
【００６７】
以上のように、生体情報を個人認証装置２０１のみが保持する秘密情報である暗号鍵を用いて暗号化し、その暗号化した結果のみをサーバ装置３０１に格納することによって、万一このサーバ装置３０１に格納した情報が漏洩した場合においても、生体情報そのものが漏洩しないという性質を達成している。
【００６８】
なお、実施の形態１で記述したバリエーションは、本実施の形態においても同様に適用することが可能である。
また、本実施の形態では、図１２のステップＳ１２０３において、乱数ｒを−１、１のどちらかからランダムに選択しているが、より広い範囲からランダムに選択する形にすることも可能であり、不正者がハミング距離の値を偽ることに成功する確率を下げることができる。この場合は、ステップＳ１２０９における除法を適切に定義する必要がある。
また、本実施の形態では、図１２のステップＳ１２０９において、サーバ装置３０１がｋ＾ｂ’とｅのハミング距離を得ているが、他のマルチパーティプロトコルと組み合わせることによって、サーバ装置３０１がハミング距離を得ずに、Ｍ（ｋ＾ｂ’，ｅ）の値だけを計算できる形にすることも可能である。これは、例えばΣｘｉとΣｓｉを秘密にしたまま大小比較を行うマルチパーティプロトコルを利用することで実現できる。
また、本実施の形態では、図１２のステップＳ１２０２においてｋ＾ｂ’をビットごとに分割して、ステップＳ１２０４からステップＳ１２０６において１ビットずつ処理を行っているが、内積を計算するマルチパーティプロトコルを利用して効率化を行うことも可能である。
【図面の簡単な説明】
【００６９】
【図１】生体情報を利用した個人認証システムの構成図である。
【図２】認証システムの備える装置構成を示す図である。
【図３】図２の個人認証装置２０１とサーバ装置３０１とのハードウェア資源の一例を示す図である。
【図４】生体情報を利用した認証システム（図１）において、個人認証装置２０１の構成例を表すブロック図である。
【図５】生体情報を利用した認証システム（図１）において、サーバ装置３０１の構成例を表すブロック図である。
【図６】鍵記憶部２１３が記憶するデータの一例を表す図である。
【図７】生体情報記憶部３１３が記憶するデータの一例を表す図である。
【図８】本実施の形態における生体情報登録処理を説明するためのフローチャート図である。
【図９】実施の形態１における個人認証処理を説明するためのフローチャート図である。
【図１０】実施の形態１における個人認証処理を説明するためのフローチャート図である。
【図１１】実施の形態１における個人認証処理を説明するためのフローチャート図である。
【図１２】実施の形態２における個人認証処理において、マルチパーティプロトコルの実行処理を説明するためのフローチャート図である。
【符号の説明】
【００７０】
１００  認証システム、１０１  ネットワーク、２０１  個人認証装置、２１１  通信部、２１２  暗号部、２１３  鍵記憶部、２１４  生体情報読取部、２１５  形式変換部、２１６  アルゴリズム記憶部、２２０  暗号鍵ｋ、２２２  情報ｆ、２２３  暗号化アルゴリズムＥ、２２４  暗号化生体情報ｅ、２２５  登録情報、２２７  結果情報、２４８  人、２５０  生体情報取得装置、２５１  登録時生体情報ｂ、２５３  認証時生体情報ｂ’、２５５  検証用情報、２５７  認証情報、３０１  サーバ装置、３１１  通信部、３１２  暗号部、３１３  生体情報記憶部、３１４  生体情報照合部、３１５  形式検証部、３１６  アルゴリズム・関数記憶部、３１７  検証部、３２０  復号化アルゴリズムＤ’、３２１  関数Ｆ１’、３２３  関数Ｆ２’、３２４  関数Ｍ’、９０１  表示装置、９０２  キーボード、９０３  マウス、９０４  ＦＤＤ、９０５  ＣＤＤ、９０８  データベース、９１０  システムユニット、９１１  ＣＰＵ、９１２  バス、９１３  ＲＯＭ、９１４  ＲＡＭ、９１５  通信ボード、９２０  磁気ディスク装置、９２１  ＯＳ、９２２  ウィンドウシステム、９２３  プログラム群、９２４  ファイル群、９４０  インターネット、９４１  ゲートウェイ、９４２  ＬＡＮ、２１２０  復号用処理部、２１２１  鍵検証用処理部、２１２２  識別抽出用処理部、２１２３  識別情報生成処理部、２１２５  復号用情報。
【図１】
0004763465.tif 000002
【図２】
0004763465.tif 000003
【図３】
0004763465.tif 000004
【図４】
0004763465.tif 000005
【図５】
0004763465.tif 000006
【図６】
0004763465.tif 000007
【図７】
0004763465.tif 000008
【図８】
0004763465.tif 000009
【図９】
0004763465.tif 000010
【図１０】
0004763465.tif 000011
【図１１】
0004763465.tif 000012
【図１２】
0004763465.tif 000013