(57)【要約】  登録情報を秘匿化した秘匿化情報をクライアントに記憶させる場合であっても、クライアントから登録情報が漏えいすることを防止することができる照合システムを提供する。クライアント１の秘匿化情報記憶部１５は、登録情報を公開鍵で秘匿化した秘匿化情報を記憶する。クライアント１の指標算出部１７は、登録情報との照合のために入力される照合情報と、秘匿化情報とに基づいて、登録情報と照合情報との近さを示す指標を秘匿化した秘匿化指標を算出する。サーバ２の判定部２５は、指標送信部１８から受信した秘匿化指標における秘匿化を、公開鍵に対応する秘密鍵によって解除して得られた指標に基づいて、照合情報と登録情報とが合致するか否かを判定する。
2020121458.tif 000002
【特許請求の範囲】
【請求項１】
クライアントとサーバとを備える照合システムであって、
前記クライアントは、
登録情報を公開鍵で秘匿化した秘匿化情報を記憶する秘匿化情報記憶部と、
前記登録情報との照合のために入力される照合情報と、前記秘匿化情報とに基づいて、前記登録情報と前記照合情報との近さを示す指標を秘匿化した秘匿化指標を算出する秘匿化指標算出部と、
前記秘匿化指標を前記サーバに送信する秘匿化指標送信部とを備え、
前記サーバは、
前記秘匿化指標送信部から受信した前記秘匿化指標における秘匿化を、前記公開鍵に対応する秘密鍵によって解除して得られた前記指標に基づいて、前記照合情報と前記登録情報とが合致するか否かを判定する判定部を備える
ことを特徴とする照合システム。
【請求項２】
登録情報および照合情報はベクトルである
請求項１に記載の照合システム。
【請求項３】
秘匿化指標算出部は、登録情報と照合情報とのハミング距離に基づいて定められた指標を秘匿化した秘匿化指標を算出する
請求項２に記載の照合システム。
【請求項４】
秘匿化指標算出部は、登録情報と照合情報とのユークリッド距離に基づいて定められた指標を秘匿化した秘匿化指標を算出する
請求項２に記載の照合システム。
【請求項５】
秘匿化指標算出部は、登録情報と照合情報との内積に基づいて定められた指標を秘匿化した秘匿化指標を算出する
請求項２に記載の照合システム。
【請求項６】
クライアントは、
入力された登録情報を公開鍵で秘匿化することによって秘匿化情報を生成し、当該秘匿化情報を秘匿化情報記憶部に記憶させる秘匿化部を備える
請求項１から請求項５のうちのいずれか１項に記載の照合システム。
【請求項７】
クライアントは、
秘匿化部が秘匿化情報を生成する際に、サーバに対して公開鍵の生成および提供を要求する要求部を備え、
前記秘匿化部は、
前記要求部からの要求に応じてサーバが提供した公開鍵を用いることによって秘匿化情報を生成する
請求項６に記載の照合システム。
【請求項８】
サーバは、
秘密鍵および公開鍵を生成する鍵生成部と、
前記公開鍵をクライアントに送信する鍵送信部とを備える
請求項１から請求項７のうちのいずれか１項に記載の照合システム。
【請求項９】
鍵生成部は、
クライアント毎に、秘密鍵および公開鍵を生成するとともに、当該秘密鍵および当該公開鍵にクライアントに割り当てた識別情報を対応付け、
鍵送信部は、
クライアントに、当該クライアントに対応する公開鍵および識別情報を送信し、
秘匿化指標送信部は、
秘匿化指標とともに、識別情報をサーバに送信する
請求項８に記載の照合システム。
【請求項１０】
クライアントとサーバとを備える照合システムであって、
前記クライアントは、
入力された登録情報を公開鍵で秘匿化することによって秘匿化情報を生成し、当該秘匿化情報を秘匿化情報記憶部に記憶させる秘匿化部を備える
ことを特徴とする照合システム。
【請求項１１】
秘匿化部は、サーバから提供された公開鍵で登録情報を秘匿化することによって秘匿化情報を生成する
請求項１０に記載の照合システム。
【請求項１２】
登録情報を公開鍵で秘匿化した秘匿化情報を記憶する秘匿化情報記憶部と、
前記登録情報との照合のために入力される照合情報と、前記秘匿化情報とに基づいて、前記登録情報と前記照合情報との近さを示す指標を秘匿化した秘匿化指標を算出する秘匿化指標算出部と、
前記秘匿化指標をサーバに送信する秘匿化指標送信部とを備える
ことを特徴とするクライアント。
【請求項１３】
入力された登録情報を公開鍵で秘匿化することによって秘匿化情報を生成し、当該秘匿化情報を秘匿化情報記憶部に記憶させる秘匿化部を備える
請求項１２に記載のクライアント。
【請求項１４】
入力された登録情報を公開鍵で秘匿化することによって秘匿化情報を生成し、当該秘匿化情報を秘匿化情報記憶部に記憶させる秘匿化部を備える
ことを特徴とするクライアント。
【請求項１５】
登録情報と、登録情報との照合のために入力される照合情報との近さを示す指標を秘匿化した秘匿化指標をクライアントから受信する秘匿化指標受信部と、
前記秘匿化指標における秘匿化を解除して得られた前記指標に基づいて、前記照合情報と前記登録情報とが合致するか否かを判定する判定部とを備える
ことを特徴とするサーバ。
【請求項１６】
秘匿化指標は、登録情報を公開鍵で秘匿化した秘匿化情報と、照合情報とに基づいてクライアントによって生成された指標である
請求項１５に記載のサーバ。
【請求項１７】
判定部は、
公開鍵に対応する秘密鍵によって、秘匿化指標における秘匿化を解除する
請求項１６に記載のサーバ。
【請求項１８】
登録情報を公開鍵で秘匿化した秘匿化情報を記憶する秘匿化情報記憶部を備えるクライアントが、
前記登録情報との照合のために入力される照合情報と、前記秘匿化情報とに基づいて、前記登録情報と前記照合情報との近さを示す指標を秘匿化した秘匿化指標を算出し、
前記秘匿化指標をサーバに送信し、
前記サーバが、
前記クライアントから受信した前記秘匿化指標における秘匿化を、前記公開鍵に対応する秘密鍵によって解除して得られた前記指標に基づいて、前記照合情報と前記登録情報とが合致するか否かを判定する
ことを特徴とする照合方法。
【請求項１９】
クライアントが、
入力された登録情報を公開鍵で秘匿化することによって秘匿化情報を生成し、当該秘匿化情報を秘匿化情報記憶部に記憶させる
ことを特徴とする情報記憶方法。
【請求項２０】
登録情報を公開鍵で秘匿化した秘匿化情報を記憶する秘匿化情報記憶部を備え、クライアントとして動作するコンピュータに搭載されるクライアント用プログラムであって、
前記コンピュータに、
前記登録情報との照合のために入力される照合情報と、前記秘匿化情報とに基づいて、前記登録情報と前記照合情報との近さを示す指標を秘匿化した秘匿化指標を算出する指標算出処理、および、
前記秘匿化指標をサーバに送信する指標送信処理
を実行させるためのクライアント用プログラム。
【請求項２１】
クライアントとして動作するコンピュータに搭載されるクライアント用プログラムであって、
前記コンピュータに、
入力された登録情報を公開鍵で秘匿化することによって秘匿化情報を生成し、当該秘匿化情報を秘匿化情報記憶部に記憶させる秘匿化処理
を実行させるためのクライアント用プログラム。
【請求項２２】
サーバとして動作するコンピュータに搭載されるサーバ用プログラムであって、
前記コンピュータに、
登録情報と、登録情報との照合のために入力される照合情報との近さを示す指標を秘匿化した秘匿化指標をクライアントから受信する指標受信処理、および、
前記秘匿化指標における秘匿化を解除して得られた前記指標に基づいて、前記照合情報と前記登録情報とが合致するか否かを判定する判定処理
を実行させるためのサーバ用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、照合システム、照合方法、情報記憶方法、並びに、照合システムに適用されるクライアント、サーバ、クライアント用プログラムおよびサーバ用プログラムに関する。
【背景技術】
【０００２】
認証の一例として、生体認証がある。「生体認証」とは、被登録者の生体情報と、被認証者の生体情報とを照合することにより、被登録者と被認証者とが一致するか否かを確認する個人認証の手法である。【０００３】
また、「生体情報」とは、身体や行動に関する個人の一部の特徴から抽出されたデータ、または、その抽出されたデータを変換することによって生成されたデータである。このデータは、特徴量と称されることもある。【０００４】
また、「テンプレート」とは、生体認証のために予め保存される、被登録者の生体情報（以下では登録情報と呼ぶ。）から生成されたデータである。【０００５】
クライアントサーバシステムで生体認証を行う場合、テンプレートをクライアントに保存する態様と、テンプレートをサーバに保存する態様とがある。【０００６】
特許文献１および特許文献２には、暗号化した登録情報（テンプレート）をサーバに保存することにより、登録情報が漏えいしない認証装置および認証方法の一例が記載されている。【０００７】
クライアントにテンプレートを保存する態様の例としてＦＩＤＯ（Fast IDentity Online）が挙げられる。ＦＩＤＯでは、クライアントに予めテンプレートが保存される。そして、そのクライアントを現在使用しているユーザ（被認証者）の生体情報がクライアントに入力されると、クライアントは、入力された生体情報と、テンプレートとによって、被認証者が被登録者に該当するか否かを判定する。そして、被認証者が被登録者に該当するとクライアントが判定した場合、サーバは、クライアントが署名鍵によって生成した署名に基づいて、クライアントが有する署名鍵（秘密鍵）と、サーバが有する検証鍵（公開鍵）とが対をなす鍵であるか否かを判定する。すなわち、ＦＩＤＯでは、クライアントにおいて生体認証に成功し、サーバにおいてクライアントの署名の検証に成功した場合に、最終的に、ユーザ（被認証者）の認証に成功したと判定される。【０００８】
また、ＦＩＤＯでは、被登録者の生体情報を暗号化した情報が、テンプレートとして予めクライアントに保存される。そして、その暗号化された情報を復号するための鍵もクライアントに保存される。被認証者の生体情報がクライアントに入力されると、クライアントは、その鍵を用いてテンプレートを復号し、復号された生体情報と、入力された生体情報を用いて、被認証者が被登録者に該当するか否かを判定する。【０００９】
また、キャッシュカードのＩＣ（Integrated Circuit）チップに、暗号化された生体情報を保存しておく場合もある。【００１０】
ここで、日本の「個人情報の保護に関する法律（以下、個人情報保護法と記す。）」において、個人情報として保護される対象について説明する。日本の個人情報保護法では、個人を識別可能な情報である生体情報は個人情報であると定められている。さらに、個人情報保護法では、電子的なデータベース、または、紙のデータベースで管理される個人情報が、個人情報保護法による保護の対象であると定められている。【００１１】
テンプレートをサーバに保存する態様では、個々のクライアントを使用する個々のユーザのテンプレートが、共通のサーバ内でデータベースとして保存されていると言える。従って、サーバに保存されるテンプレートは、個人情報保護法による保護対象である。【００１２】
一方、テンプレートをクライアントに保存する態様では、クライアントは、そのクライアントを使用する一人または少数のユーザのテンプレートを保存する。従って、そのテンプレートはデータベースとして保存されているとは言えない。そのため、クライアントに保存されるテンプレートは、個人情報保護法による保護対象ではない可能性がある。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２０１１−２１１５９３号公報
【特許文献２】特開２００９−１２９２９２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
前述のように、クライアントに保存されるテンプレートは、個人情報保護法による保護対象ではない。しかし、生体情報は、生涯変わることのない個人情報である。【００１５】
また、ある事業者が提供するサービスに使用するための生体情報をテンプレートとしてクライアントのみに保存していたとしても、その生体情報が漏えいした場合、その事業者の責任が追及される可能性がある。【００１６】
また、クライアントがマルウェアに感染した場合等に、クライアントから生体情報が漏えいする危険がある。しかし、この危険は、サービスプロバイダの努力によって解消しにくい。【００１７】
ＦＩＤＯでは、被登録者の生体情報を暗号化した情報がテンプレートとしてクライアントに保存されている。しかし、被認証者の生体情報が入力されると、クライアントは、鍵によってテンプレートを復号する。このとき、テンプレートから復号された生体情報が漏えいする可能性がある。また、テンプレートが復号されていなくても、テンプレートと鍵が一緒に第三者によって盗まれた場合には、第三者は、テンプレートを復号することによって、生体情報を得ることができてしまう。【００１８】
また、キャッシュカードのＩＣチップは耐タンパ性を有する。しかし、ＩＣチップの外で生体認証を行う場合に、ＩＣチップに保存されている暗号化された生体情報は復号され、ＩＣチップの外に送信されたとすると、復号された生体情報が漏えいする可能性がある。【００１９】
以上のことから、テンプレートをクライアントに保存する場合であっても、クライアントからテンプレートが漏えいする可能性を考慮した上で、被登録者の生体情報（すなわち登録情報）が漏えいすることを防止することが好ましい。言い換えると、テンプレートから登録情報が漏えいすることを防止することが好ましい。【００２０】
また、生体によって認証を行う場合に限らず、パスワードによって認証を行う場合や、ＩＣカード等に保存された秘密鍵によって認証を行う場合であっても、クライアントサーバシステムのクライアントに登録情報であるパスワードや秘密鍵から生成したテンプレートを記憶させる場合において、クライアントから登録情報が漏えいすることを防止することが好ましい。【００２１】
そこで、本発明は、登録情報を秘匿化した秘匿化情報をクライアントに記憶させる場合であっても、クライアントから登録情報が漏えいすることを防止することができる照合システム、照合方法、情報記憶方法、並びに、照合システムに適用されるクライアント、サーバ、クライアント用プログラムおよびサーバ用プログラムを提供することを目的とする。
【課題を解決するための手段】
【００２２】
本発明による照合システムは、クライアントとサーバとを備える照合システムであって、クライアントが、登録情報を公開鍵で秘匿化した秘匿化情報を記憶する秘匿化情報記憶部と、登録情報との照合のために入力される照合情報と、秘匿化情報とに基づいて、登録情報と照合情報との近さを示す指標を秘匿化した秘匿化指標を算出する秘匿化指標算出部と、秘匿化指標をサーバに送信する秘匿化指標送信部とを備え、サーバが、秘匿化指標送信部から受信した秘匿化指標における秘匿化を、公開鍵に対応する秘密鍵によって解除して得られた指標に基づいて、照合情報と登録情報とが合致するか否かを判定する判定部を備えることを特徴とする。【００２３】
また、本発明による照合システムは、クライアントとサーバとを備える照合システムであって、クライアントが、入力された登録情報を公開鍵で秘匿化することによって秘匿化情報を生成し、当該秘匿化情報を秘匿化情報記憶部に記憶させる秘匿化部を備えることを特徴とする。【００２４】
また、本発明によるクライアントは、登録情報を公開鍵で秘匿化した秘匿化情報を記憶する秘匿化情報記憶部と、登録情報との照合のために入力される照合情報と、秘匿化情報とに基づいて、登録情報と照合情報との近さを示す指標を秘匿化した秘匿化指標を算出する秘匿化指標算出部と、秘匿化指標をサーバに送信する秘匿化指標送信部とを備えることを特徴とする。【００２５】
また、本発明によるクライアントは、入力された登録情報を公開鍵で秘匿化することによって秘匿化情報を生成し、当該秘匿化情報を秘匿化情報記憶部に記憶させる秘匿化部を備えることを特徴とする。【００２６】
また、本発明によるサーバは、登録情報と、登録情報との照合のために入力される照合情報との近さを示す指標を秘匿化した秘匿化指標をクライアントから受信する秘匿化指標受信部と、秘匿化指標における秘匿化を解除して得られた指標に基づいて、照合情報と登録情報とが合致するか否かを判定する判定部とを備えることを特徴とする。【００２７】
また、本発明による照合方法は、登録情報を公開鍵で秘匿化した秘匿化情報を記憶する秘匿化情報記憶部を備えるクライアントが、登録情報との照合のために入力される照合情報と、秘匿化情報とに基づいて、登録情報と照合情報との近さを示す指標を秘匿化した秘匿化指標を算出し、秘匿化指標をサーバに送信し、サーバが、クライアントから受信した秘匿化指標における秘匿化を、公開鍵に対応する秘密鍵によって解除して得られた指標に基づいて、照合情報と登録情報とが合致するか否かを判定することを特徴とする。【００２８】
また、本発明による情報記憶方法は、クライアントが、入力された登録情報を公開鍵で秘匿化することによって秘匿化情報を生成し、当該秘匿化情報を秘匿化情報記憶部に記憶させることを特徴とする。【００２９】
また、本発明によるクライアント用プログラムは、登録情報を公開鍵で秘匿化した秘匿化情報を記憶する秘匿化情報記憶部を備え、クライアントとして動作するコンピュータに搭載されるクライアント用プログラムであって、コンピュータに、登録情報との照合のために入力される照合情報と、秘匿化情報とに基づいて、登録情報と照合情報との近さを示す指標を秘匿化した秘匿化指標を算出する指標算出処理、および、秘匿化指標をサーバに送信する指標送信処理を実行させることを特徴とする。【００３０】
また、本発明によるクライアント用プログラムは、クライアントとして動作するコンピュータに搭載されるクライアント用プログラムであって、コンピュータに、入力された登録情報を公開鍵で秘匿化することによって秘匿化情報を生成し、当該秘匿化情報を秘匿化情報記憶部に記憶させる秘匿化処理を実行させることを特徴とする。【００３１】
また、本発明によるサーバ用プログラムは、サーバとして動作するコンピュータに搭載されるサーバ用プログラムであって、コンピュータに、登録情報と、登録情報との照合のために入力される照合情報との近さを示す指標を秘匿化した秘匿化指標をクライアントから受信する指標受信処理、および、秘匿化指標における秘匿化を解除して得られた指標に基づいて、照合情報と登録情報とが合致するか否かを判定する判定処理を実行させることを特徴とする。
【発明の効果】
【００３２】
本発明によれば、登録情報を秘匿化した秘匿化情報をクライアントに記憶させる場合であっても、クライアントから登録情報が漏えいすることを防止することができる。
【図面の簡単な説明】
【００３３】
【図１】本発明の実施形態の照合システムの構成例を示すブロック図である。
【図２】クライアントの秘匿化情報記憶部に予めテンプレートを記憶させる際の処理経過の例を示すフローチャートである。
【図３】認証時の処理経過の例を示すフローチャートである。
【図４】暗号化したハミング距離の算出の処理経過の例を示すフローチャートである。
【図５】暗号化したユークリッド距離の二乗の算出の処理経過の例を示すフローチャートである。
【図６】暗号化した内積の算出の処理経過の例を示すフローチャートである。
【図７】秘匿化部がテンプレートを生成する際に、クライアントがサーバに対して公開鍵を要求し、秘匿化部がその公開鍵を用いることによってテンプレートを生成する場合の構成例を示すブロック図である。
【図８】本発明の実施形態やその変形例におけるクライアントやサーバに係るコンピュータの構成例を示す概略ブロック図である。
【図９】本発明の照合システムの概要を示すブロック図である。
【発明を実施するための形態】
【００３４】
以下、本発明の実施形態を図面を参照して説明する。以下の説明では、本発明の照合システムが生体認証に適用される場合を例にして説明する。ただし、本発明の照合システムは、生体認証以外の認証に適用されてもよい。
【００３５】
図１は、本発明の実施形態の照合システムの構成例を示すブロック図である。照合システムは、クライアント１と、サーバ２とを備える。なお、図１では、１台のクライアント１を図示しているが、クライアント１は複数存在していてもよい。クライアント１と、サーバ２とは、通信ネットワークを介して通信可能である。
【００３６】
クライアント１は、鍵受信部１１と、鍵記憶部１２と、登録情報入力部１３と、秘匿化部１４と、秘匿化情報記憶部１５と、照合情報入力部１６と、秘匿化指標算出部１７と、秘匿化指標送信部１８とを備える。
【００３７】
鍵受信部１１は、サーバ２によって生成され、サーバ２から送信される公開鍵を受信し、その公開鍵を鍵記憶部１２に記憶させる。以下、この公開鍵をｐｋと記す。
【００３８】
鍵記憶部１２は、公開鍵ｐｋを記憶する記憶装置である。
【００３９】
登録情報入力部１３は、登録情報の入力を受け付ける。本実施形態では、登録情報として、被登録者の生体情報が登録情報入力部１３に入力される。
【００４０】
なお、本実施形態では、登録情報、および、後述の照合情報（登録情報との照合のために入力される情報）が、共通の次元のベクトルで表されている場合を例にして説明する。
【００４１】
登録情報入力部１３は、登録情報に応じた入力デバイスであればよい。例えば、指紋から抽出される生体情報を登録情報とする場合、登録情報入力部１３は、指紋を読み取り、その指紋から登録情報となるベクトルを抽出し、そのベクトルの入力を受け付ける入力デバイスであってもよい。また、登録情報入力部１３は、登録情報となるベクトルが直接、入力される入力デバイスであってもよい。
【００４２】
なお、生体情報は、指紋以外に、虹彩、網膜、顔、血管（静脈）、掌紋、声紋、またはこれらの組み合わせから抽出されてもよい。生体情報は、上述した例以外の、生体を識別可能な他の情報から抽出されてもよい。
【００４３】
登録情報入力部１３に入力される被登録者の生体情報（登録情報）に該当するベクトルをＸと記す。
【００４４】
秘匿化部１４は、登録情報入力部１３に入力された被登録者の生体情報Ｘを秘匿化し、生体情報Ｘを秘匿化した情報（秘匿化情報と記す。）を、秘匿化情報記憶部１５に記憶させる。秘匿化情報記憶部１５は、秘匿化情報を記憶する記憶装置である。
【００４５】
この秘匿化情報は、生体認証のために予め記憶される、被登録者の生体情報から生成されたデータである。従って、この秘匿化情報は、テンプレートである。なお、鍵記憶部１２に記憶される公開鍵ｐｋは、被登録者の生体情報から生成されたデータではないので、公開鍵ｐｋはテンプレートではない。
【００４６】
本実施形態では、秘匿化の具体例として、暗号化を例にして説明する。すなわち、秘匿化部１４は、登録情報入力部１３に入力された被登録者の生体情報Ｘを暗号化し、暗号化された生体情報Ｘ（Ｅｎｃ（Ｘ）と記す。）を、秘匿化情報記憶部１５に記憶させる。秘匿化部１４は、鍵記憶部１２に記憶されている公開鍵ｐｋによって、被登録者の生体情報Ｘを暗号化する。
【００４７】
さらに、本実施形態では、秘匿化部１４は、加法準同型性を有する暗号方式によって、被登録者の生体情報Ｘを暗号化する場合を例にして説明する。すなわち、本例において、公開鍵ｐｋは、加法準同型性を有する公開鍵暗号方式における公開鍵である。
【００４８】
以下、加法準同型性を有する暗号方式の性質について説明する。この説明では、平文ｍを公開鍵ｐｋで暗号化することによって得られる暗号文を、Ｅｎｃ（ｐｋ，ｍ）と記す。また、Ｅｎｃ（ｐｋ，ｍ）をさらに別の記号（例えば、ｃ）で表す場合には、Ｅｎｃ（ｐｋ，ｍ）→ｃと記す。また、以下の説明では、ｘ，ｙが平文の数値であり、ｚが平文の整数であるとする。
【００４９】
加法準同型性を有する暗号方式では、公開鍵ｐｋによるｘの暗号文ｃ１（すなわち、Ｅｎｃ（ｐｋ，ｘ）→ｃ１）と、公開鍵ｐｋによるｙの暗号文ｃ２（すなわち、Ｅｎｃ（ｐｋ，ｙ）→ｃ２）とから、ｘ＋ｙの暗号文Ｅｎｃ（ｐｋ，ｘ＋ｙ）を計算可能である。以下、この演算を、
【数１】
2020121458.tif 000003
で表す。すなわち、以下に示す式（１）が成り立つ。
【００５０】
【数２】
2020121458.tif 000004
【００５１】
また、上記の演算を繰り返すことで、公開鍵ｐｋによるｘの暗号文ｃ１（すなわち、Ｅｎｃ（ｐｋ，ｘ）→ｃ１）と、整数ｚから、ｘ・ｚの暗号文（すなわち、Ｅｎｃ（ｐｋ，ｘ・ｚ））を計算可能であることが分かる。以下、この演算を、
【数３】
2020121458.tif 000005
で表す。すなわち、以下に示す式（２）が成り立つ。
【００５２】
【数４】
2020121458.tif 000006
【００５３】
加法準同型性を有する暗号方式の例として、例えば、ＥＣＥｌｇａｍａｌ暗号等がある。従って、本発明において、ＥＣＥｌｇａｍａｌ暗号を採用してもよい。ただし、ＥＣＥｌｇａｍａｌ暗号は一例であり、本発明では、加法準同型性を有する暗号方式を採用すればよい。
【００５４】
本実施形態では、秘匿化情報記憶部１５は、加法準同型性を有する公開鍵暗号方式における公開鍵ｐｋによって、被登録者の生体情報Ｘを暗号化することで得られたＥｎｃ（Ｘ）を、テンプレートとして記憶する。テンプレートとして記憶されるＥｎｃ（Ｘ）の種々の例については、後述する。
【００５５】
登録情報との照合のために入力される情報を照合情報と記す。照合情報入力部１６は、照合情報の入力を受け付ける。本実施形態では、照合情報として、被認証者の生体情報が照合情報入力部１６に入力される。前述のように、登録情報および照合情報は、共通の次元のベクトルで表されている。
【００５６】
照合情報入力部１６は、照合情報に応じた入力デバイスであればよい。例えば、指紋から抽出される生体情報を照合情報とする場合、照合情報入力部１６は、指紋を読み取り、その指紋から照合情報となるベクトルを抽出し、そのベクトルの入力を受け付ける入力デバイスであってもよい。また、照合情報入力部１６は、照合情報となるベクトルが直接入力される入力デバイスであってもよい。また、登録情報入力部１３と照合情報入力部１６とが共通の入力デバイスであってもよい。
【００５７】
照合情報入力部１６に入力される被認証者の生体情報（照合情報）に該当するベクトルをＹと記す。
【００５８】
秘匿化指標算出部１７は、被認証者の生体情報Ｙと、テンプレート（すなわち、被登録者の生体情報Ｘを暗号化することで得られたＥｎｃ（Ｘ））とに基づいて、生体情報Ｘと生体情報Ｙとの近さを示す指標を暗号化したデータ（以下、秘匿化指標と記す。）を算出する。このとき、秘匿化指標算出部１７は、テンプレートＥｎｃ（Ｘ）を復号することなく、秘匿化指標を算出する。
【００５９】
生体情報Ｘと生体情報Ｙとの近さを示す指標の種々の具体例については、後述する。
【００６０】
秘匿化指標送信部１８は、秘匿化指標算出部１７によって算出された秘匿化指標を、サーバ２に送信する。
【００６１】
鍵受信部１１および秘匿化指標送信部１８は、例えば、クライアント用プログラムに従って動作するコンピュータのＣＰＵ（Central Processing Unit ）、および、そのコンピュータの通信インタフェースによって実現される。例えば、ＣＰＵが、コンピュータのプログラム記憶装置等のプログラム記録媒体からクライアント用プログラムを読み込み、そのプログラムに従って、通信インタフェースを用いて、鍵受信部１１および秘匿化指標送信部１８として動作すればよい。また、秘匿化部１４および秘匿化指標算出部１７は、例えば、クライアント用プログラムに従って動作するコンピュータのＣＰＵによって実現される。例えば、ＣＰＵが上記のようにプログラム記録媒体からクライアント用プログラムを読み込み、そのプログラムに従って、秘匿化部１４および秘匿化指標算出部１７として動作すればよい。
【００６２】
鍵記憶部１２および秘匿化情報記憶部１５は、例えば、コンピュータが備える記憶装置によって実現される。
【００６３】
サーバ２は、鍵生成部２１と、鍵記憶部２２と、鍵送信部２３と、秘匿化指標受信部２４と、判定部２５とを備える。
【００６４】
鍵生成部２１は、秘密鍵および前述の公開鍵ｐｋを生成する。以下、この秘密鍵をｓｋと記す。サーバ２には生体情報は入力されない。従って、鍵生成部２１は、生体情報Ｘに依存することなく（換言すれば、生体情報Ｘを用いずに）、公開鍵ｐｋおよび秘密鍵ｓｋを生成する。また、既に述べたように、本例では、公開鍵ｐｋは、加法準同型性を有する公開鍵暗号方式における公開鍵である。
【００６５】
鍵生成部２１は、鍵の強度を示すパラメータ（セキュリティパラメータと呼ばれる。）を用いて、公開鍵ｐｋおよび秘密鍵ｓｋを生成する。この動作は、セキュリティパラメータをκとすると、以下のように示すことができる。
【００６６】
ＫｅｙＧｅｎ（κ）→（ｐｋ，ｓｋ）
【００６７】
また、平文のメッセージｍを公開鍵ｐｋで暗号化した暗号文をｃとするということは、前述のように、以下のように示すことができる。
【００６８】
Ｅｎｃ（ｐｋ，ｍ）→ｃ
【００６９】
暗号文は、秘密鍵ｓｋによって復号される。このことは、以下のように示すことができる。
【００７０】
Ｄｅｃ（ｓｋ，ｃ）→ｍ
【００７１】
鍵生成部２１は、公開鍵ｐｋおよび秘密鍵ｓｋを生成すると、鍵記憶部２２にその公開鍵ｐｋおよび秘密鍵ｓｋを記憶させる。
【００７２】
鍵記憶部２２は、公開鍵ｐｋおよび秘密鍵ｓｋを記憶する記憶装置である。
【００７３】
また、鍵送信部２３は、鍵生成部２１によって生成された公開鍵ｐｋをクライアント１に送信する。なお、秘密鍵ｓｋはクライアント１に送信されない。
【００７４】
本実施形態では、鍵生成部２１が、一組の公開鍵ｐｋおよび秘密鍵ｓｋを生成し、鍵送信部２３がそれぞれのクライアント１に同一の公開鍵ｐｋを送信する場合を例にして説明する。
【００７５】
鍵送信部２３がクライアント１に送信した公開鍵ｐｋは、クライアント１の鍵受信部１１によって受信され、クライアント１の鍵記憶部１２に記憶される。
【００７６】
また、秘匿化指標受信部２４は、クライアント１の秘匿化指標送信部１８が送信した秘匿化指標を受信する。
【００７７】
判定部２５は、鍵記憶部２２に記憶されている秘密鍵ｓｋによって、秘匿化指標受信部２４が受信した秘匿化指標（指標を暗号化したデータ）から指標を復号する。なお、復号は、秘匿化の解除であると言うことができる。指標は数値であり、判定部２５は、秘匿化指標から復号された指標が、予め定められた所定範囲内の値であるか否かを判定することによって、生体情報Ｘと生体情報Ｙとが合致するか否か（換言すれば、被登録者と被認証者とが一致するか否か）を判定する。すなわち、判定部２５は、秘匿化指標から復号された指標が、所定範囲内の値であるならば、生体情報Ｘと生体情報Ｙとが合致すると判定する（換言すれば、被登録者と被認証者とが一致すると判定する）。また、判定部２５は、秘匿化指標から復号された指標が、所定範囲内の値でないならば、生体情報Ｘと生体情報Ｙとが合致しないと判定する（換言すれば、被登録者と被認証者とが一致しないと判定する）。
【００７８】
上記のように、秘匿化指標から復号された指標が、所定範囲内の値であるか否かによって、生体情報Ｘと生体情報Ｙとが合致するか否かを判定する。従って、生体情報Ｘと生体情報Ｙとが完全に一致していなくても（問題にならない程度のずれが生じていても）、指標が所定範囲内の値であれば、生体情報Ｘと生体情報Ｙとが合致すると判定し得る。なお、所定範囲を用いる処理は、問題にならない程度のずれが生じていても生体情報Ｘと生体情報Ｙとが合致すると判定する処理の一例である。
【００７９】
生体情報Ｘと生体情報Ｙとが合致した場合に、認証に成功したものとして、認証後の処理を実行すればよい。例えば、一例として、サーバ２が、判定部２５の判定結果を、クライアント１に送信し、クライアント１は、生体情報Ｘと生体情報Ｙとが合致したという判定結果を受信した場合に、認証に成功したものとして、認証後の処理を実行してもよい。ただし、認証後の処理を実行する装置は、クライアント１に限定されず、生体情報Ｘと生体情報Ｙとが合致したという判定結果が得られたことを条件に、クライアント１以外の装置が、認証後の処理を実行してもよい。
【００８０】
鍵送信部２３および秘匿化指標受信部２４は、例えば、サーバ用プログラムに従って動作するコンピュータのＣＰＵ、および、そのコンピュータの通信インタフェースによって実現される。例えば、ＣＰＵが、コンピュータのプログラム記憶装置等のプログラム記録媒体からサーバ用プログラムを読み込み、そのプログラムに従って、通信インタフェースを用いて、鍵送信部２３および秘匿化指標受信部２４として動作すればよい。また、鍵生成部２１および判定部２５は、例えば、サーバ用プログラムに従って動作するコンピュータのＣＰＵによって実現される。例えば、ＣＰＵが上記のようにプログラム記録媒体からサーバ用プログラムを読み込み、そのプログラムに従って、鍵生成部２１および判定部２５として動作すればよい。
【００８１】
鍵記憶部２２は、例えば、コンピュータが備える記憶装置によって実現される。
【００８２】
次に、処理経過について説明する。図２は、クライアント１の秘匿化情報記憶部１５に予めテンプレートを記憶させる際の処理経過の例を示すフローチャートである。なお、既に説明した事項については、詳細な説明を省略する。
【００８３】
まず、サーバ２の鍵生成部２１が、公開鍵ｐｋおよび秘密鍵ｓｋを生成する（ステップＳ１）。このとき、鍵生成部２１は、生体情報Ｘを用いることなく、公開鍵ｐｋおよび秘密鍵ｓｋを生成する。また、鍵生成部２１は、生成した公開鍵ｐｋおよび秘密鍵ｓｋを鍵記憶部２２に記憶させる。
【００８４】
次に、鍵送信部２３は、ステップＳ１で生成された公開鍵ｐｋを、クライアント１に送信する（ステップＳ２）。
【００８５】
そして、クライアント１の鍵受信部１１は、その公開鍵ｐｋをサーバ２から受信する（ステップＳ３）。鍵受信部１１は、その公開鍵ｐｋを鍵記憶部１２に記憶させる（ステップＳ４）。
【００８６】
その後、被登録者の生体情報Ｘが登録情報入力部１３に入力される（ステップＳ５）。そして、秘匿化部１４は、鍵記憶部１２に記憶されている公開鍵ｐｋによって生体情報Ｘを暗号化することによってテンプレート（Ｅｎｃ（Ｘ））を生成し、そのテンプレートを秘匿化情報記憶部１５に記憶させる（ステップＳ６）。
【００８７】
図２を参照して説明した上記の処理経過は、繰り返し実行されてもよい。
【００８８】
また、予めテンプレートを記憶させる際の処理経過は、図２に示す例に限定されない。例えば、ステップＳ１の前にステップＳ５が実行されてもよい。
【００８９】
図３は、認証時の処理経過の例を示すフローチャートである。なお、既に説明した事項については、詳細な説明を省略する。
【００９０】
まず、被認証者の生体情報Ｙが照合情報入力部１６に入力される（ステップＳ１１）。
【００９１】
次に、秘匿化指標算出部１７は、ステップＳ１１で入力された生体情報Ｙと、秘匿化情報記憶部１５に記憶されているテンプレート（Ｅｎｃ（Ｘ））とに基づいて、生体情報Ｘと生体情報Ｙとの近さを示す指標を暗号化したデータである秘匿化指標を算出する（ステップＳ１２）。ステップＳ１２において、秘匿化指標算出部１７は、Ｅｎｃ（Ｘ）を復号することなく、秘匿化指標を算出する。
【００９２】
次に、秘匿化指標送信部１８は、ステップＳ１２で算出された秘匿化指標をサーバ２に送信する（ステップＳ１３）。
【００９３】
そして、サーバ２の秘匿化指標受信部２４は、その秘匿化指標をクライアント１から受信する（ステップＳ１４）。
【００９４】
次に、判定部２５は、鍵記憶部２２に記憶されている秘密鍵ｓｋによって、秘匿化指標から指標を復号する（ステップＳ１５）。この秘密鍵ｓｋは、ステップＳ１で生成された秘密鍵である。
【００９５】
次に、判定部２５は、秘匿化指標から復号された指標が、予め定められた所定範囲内の値であるか否かを判定することによって、生体情報Ｘと生体情報Ｙとが合致するか否かを判定する（ステップＳ１６）。
【００９６】
図３を参照して説明した上記の処理経過は、繰り返し実行されてもよい。
【００９７】
次に、生体情報Ｘと生体情報Ｙとの近さを示す指標の種々の具体例について説明する。以下の説明では、生体情報Ｘおよび生体情報Ｙは、いずれもｎ次元のベクトルであるものとする。そして、Ｘの各要素は、Ｘ＝（ｘ１，・・・，ｘｎ）と表され、Ｙの各要素は、Ｙ＝（ｙ１，・・・，ｙｎ）と表されるものとする。また、記号ｉで１，・・・，ｎを表すものとする。
【００９８】
［ハミング距離］
生体情報Ｘと生体情報Ｙとの近さを示す指標が、生体情報Ｘと生体情報Ｙとのハミング距離であってもよい。以下、指標がハミング距離である場合の処理の一例を示す。
【００９９】
指標がハミング距離である場合、生体情報Ｘの各要素ｘ１〜ｘｎおよび生体情報Ｙの各要素ｙ１〜ｙｎはそれぞれ、０または１のいずれかの値であるものとする。
【０１００】
本例におけるハミング距離は、対応する位置に存在している異なった値の要素の数である。以下、生体情報Ｘと生体情報Ｙとのハミング距離を、ｄｉｓｔＨ（（ｘ１，・・・，ｘｎ），（ｙ１，・・・，ｙｎ））と記す。
【０１０１】
指標がハミング距離である場合、秘匿化部１４は、生体情報Ｘが入力されると、公開鍵ｐｋでＸの各要素ｘ１〜ｘｎをそれぞれ暗号化するとともに、Σｘｉを計算し、公開鍵ｐｋでΣｘｉを暗号化する。そして、秘匿化部１４は、暗号化した各データをテンプレートとして秘匿化情報記憶部１５に記憶させる。ｘｉを暗号化したデータをＥｎｃ（ｘｉ）と記す。また、Σｘｉを暗号化したデータをＥｎｃ（Σｘｉ）と記す。すなわち、本例では、秘匿化部１４は、Ｅｎｃ（ｘ１），・・・，Ｅｎｃ（ｘｎ），Ｅｎｃ（Σｘｉ）を生成し、それらのデータを秘匿化情報記憶部１５に記憶させる。このＥｎｃ（ｘ１），・・・，Ｅｎｃ（ｘｎ），Ｅｎｃ（Σｘｉ）がテンプレートに該当する。
【０１０２】
ハミング距離ｄｉｓｔＨ（（ｘ１，・・・，ｘｎ），（ｙ１，・・・，ｙｎ））を暗号化したデータを、Ｅｎｃ（ｄｉｓｔＨ（（ｘ１，・・・，ｘｎ），（ｙ１，・・・，ｙｎ）））と記す。次に、生体情報Ｙが入力されたときに秘匿化指標算出部１７がＥｎｃ（ｄｉｓｔＨ（（ｘ１，・・・，ｘｎ），（ｙ１，・・・，ｙｎ）））を算出する演算について説明する。
【０１０３】
秘匿化指標算出部１７は、テンプレートに含まれる各データ（Ｅｎｃ（ｘ１），・・・，Ｅｎｃ（ｘｎ），Ｅｎｃ（Σｘｉ））を復号せずに、Ｅｎｃ（ｄｉｓｔＨ（（ｘ１，・・・，ｘｎ），（ｙ１，・・・，ｙｎ）））を算出する。
【０１０４】
ここで、ハミング距離ｄｉｓｔＨ（（ｘ１，・・・，ｘｎ），（ｙ１，・・・，ｙｎ））は、以下に示す式（３）のように変形することができる。秘匿化指標算出部１７は、ハミング距離を以下に示す式（３）のように変形できることを利用して、暗号化したハミング距離を算出する。
【０１０５】
ｄｉｓｔＨ（（ｘ１，・・・，ｘｎ），（ｙ１，・・・，ｙｎ））
＝Σ｜ｘｉ−ｙｉ｜
＝Σｘｉ＋Σｙｉ−２・Σｘｉ・ｙｉ            ・・・（３）
【０１０６】
図４は、暗号化したハミング距離の算出の処理経過の例を示すフローチャートである。以下に示すステップＳ２１〜Ｓ２４は、図３に示すステップＳ１２の処理の一例である。
【０１０７】
まず、生体情報Ｙ＝（ｙ１，・・・，ｙｎ）が入力されると、秘匿化指標算出部１７は、Ｙの各要素ｙ１〜ｙｎを用いてΣｙｉを計算する。そして、秘匿化指標算出部１７は、公開鍵ｐｋを用いて、Σｙｉを暗号化する（ステップＳ２１）。Σｙｉを暗号化したデータを、Ｅｎｃ（Σｙｉ）と記す。
【０１０８】
次に、秘匿化指標算出部１７は、個々のｉ（ｉ＝１，・・・，ｎ）について、テンプレートに含まれているＥｎｃ（ｘｉ）と、ｙｉとを用いて、
【数５】
2020121458.tif 000007
を計算する（ステップＳ２２）。この計算の結果は、Ｅｎｃ（−２・ｘｉ・ｙｉ）である。ステップＳ２２によって、ｎ個の暗号文が算出される。
【０１０９】
次に、秘匿化指標算出部１７は、ステップＳ２２で得たｎ個の暗号文を用いて、
【数６】
2020121458.tif 000008
を計算する（ステップＳ２３）。この計算の結果は、Ｅｎｃ（−２・Σｘｉ・ｙｉ）である。
【０１１０】
次に、秘匿化指標算出部１７は、テンプレートに含まれているＥｎｃ（Σｘｉ）と、ステップＳ２１で得たＥｎｃ（Σｙｉ）と、ステップＳ２３で得たＥｎｃ（−２・Σｘｉ・ｙｉ）とを用いて、
【数７】
2020121458.tif 000009
を計算する（ステップＳ２４）。この計算の結果は、Ｅｎｃ（Σｘｉ＋Σｙｉ−２・Σｘｉ・ｙｉ）＝Ｅｎｃ（ｄｉｓｔＨ（（ｘ１，・・・，ｘｎ），（ｙ１，・・・，ｙｎ）））である。従って、ステップＳ２４の計算結果が、生体情報Ｘと生体情報Ｙとのハミング距離を暗号化したデータ（秘匿化指標）である。
【０１１１】
サーバ２の秘匿化指標受信部２４がクライアント１の秘匿化指標送信部１８からこのデータを受信した場合、判定部２５は、このデータ（Ｅｎｃ（Σｘｉ＋Σｙｉ−２・Σｘｉ・ｙｉ））を、秘密鍵ｓｋによって復号し、ハミング距離を得る。そして、判定部２５は、復号されたハミング距離が所定範囲内の値であるか否かを判定することによって、生体情報Ｘと生体情報Ｙとが合致するか否かを判定する。
【０１１２】
［ユークリッド距離の二乗］
生体情報Ｘと生体情報Ｙとの近さを示す指標が、生体情報Ｘと生体情報Ｙとのユークリッド距離の二乗であってもよい。以下、指標がユークリッド距離の二乗である場合の処理の一例を示す。
【０１１３】
以下、生体情報Ｘと生体情報Ｙとのユークリッド距離の二乗を、ｄｉｓｔＥ（（ｘ１，・・・，ｘｎ），（ｙ１，・・・，ｙｎ））と記す。
【０１１４】
指標がユークリッド距離の二乗である場合、秘匿化部１４は、生体情報Ｘが入力されると、公開鍵ｐｋでＸの各要素ｘ１〜ｘｎをそれぞれ暗号化するとともに、Σ（ｘｉ）２を計算し、公開鍵ｐｋでΣ（ｘｉ）２を暗号化する。そして、秘匿化部１４は、暗号化した各データをテンプレートとして秘匿化情報記憶部１５に記憶させる。前述のように、ｘｉを暗号化したデータをＥｎｃ（ｘｉ）と記す。また、Σ（ｘｉ）２を暗号化したデータをＥｎｃ（Σ（ｘｉ）２）と記す。すなわち、本例では、秘匿化部１４は、Ｅｎｃ（ｘ１），・・・，Ｅｎｃ（ｘｎ），Ｅｎｃ（Σ（ｘｉ）２）を生成し、それらのデータを秘匿化情報記憶部１５に記憶させる。このＥｎｃ（ｘ１），・・・，Ｅｎｃ（ｘｎ），Ｅｎｃ（Σ（ｘｉ）２）がテンプレートに該当する。
【０１１５】
ユークリッド距離の二乗であるｄｉｓｔＥ（（ｘ１，・・・，ｘｎ），（ｙ１，・・・，ｙｎ））を暗号化したデータを、Ｅｎｃ（ｄｉｓｔＥ（（ｘ１，・・・，ｘｎ），（ｙ１，・・・，ｙｎ）））と記す。次に、生体情報Ｙが入力された時に秘匿化指標算出部１７がＥｎｃ（ｄｉｓｔＥ（（ｘ１，・・・，ｘｎ），（ｙ１，・・・，ｙｎ）））を算出する演算について説明する。
【０１１６】
秘匿化指標算出部１７は、テンプレートに含まれる各データ（Ｅｎｃ（ｘ１），・・・，Ｅｎｃ（ｘｎ），Ｅｎｃ（Σ（ｘｉ）２））を復号せずに、Ｅｎｃ（ｄｉｓｔＥ（（ｘ１，・・・，ｘｎ），（ｙ１，・・・，ｙｎ）））を算出する。
【０１１７】
ここで、ユークリッド距離の二乗であるｄｉｓｔＥ（（ｘ１，・・・，ｘｎ），（ｙ１，・・・，ｙｎ））は、以下に示す式（４）のように変形することができる。秘匿化指標算出部１７は、ユークリッド距離の二乗を以下に示す式（４）のように変形できることを利用して、暗号化したユークリッド距離の二乗を算出する。
【０１１８】
ｄｉｓｔＥ（（ｘ１，・・・，ｘｎ），（ｙ１，・・・，ｙｎ））
＝Σ（ｘｉ−ｙｉ）２
＝Σ（ｘｉ）２＋Σ（ｙｉ）２−２・Σｘｉ・ｙｉ        ・・・（４）
【０１１９】
図５は、暗号化したユークリッド距離の二乗の算出の処理経過の例を示すフローチャートである。以下に示すステップＳ３１〜Ｓ３５は、図３に示すステップＳ１２の処理の一例である。
【０１２０】
まず、生体情報Ｙ＝（ｙ１，・・・，ｙｎ）が入力されると、秘匿化指標算出部１７は、Ｙの各要素ｙ１〜ｙｎを用いてΣ（ｙｉ）２を計算する（ステップＳ３１）。
【０１２１】
そして、秘匿化指標算出部１７は、公開鍵ｐｋを用いて、Σ（ｙｉ）２を暗号化する（ステップＳ３２）。Σ（ｙｉ）２を暗号化したデータを、Ｅｎｃ（Σ（ｙｉ）２）と記す。
【０１２２】
次に、秘匿化指標算出部１７は、個々のｉ（ｉ＝１，・・・，ｎ）について、テンプレートに含まれているＥｎｃ（ｘｉ）と、ｙｉとを用いて、
【数８】
2020121458.tif 000010
を計算する（ステップＳ３３）。この計算の結果は、Ｅｎｃ（−２・ｘｉ・ｙｉ）である。ステップＳ３３によって、ｎ個の暗号文が算出される。
【０１２３】
次に、秘匿化指標算出部１７は、ステップＳ３３で得たｎ個の暗号文を用いて、
【数９】
2020121458.tif 000011
を計算する（ステップＳ３４）。この計算の結果は、Ｅｎｃ（−２・Σｘｉ・ｙｉ）である。
【０１２４】
次に、秘匿化指標算出部１７は、テンプレートに含まれているＥｎｃ（Σ（ｘｉ）２）と、ステップＳ３２で得たＥｎｃ（Σ（ｙｉ）２）と、ステップＳ３４で得たＥｎｃ（−２・Σｘｉ・ｙｉ）とを用いて、
【数１０】
2020121458.tif 000012
を計算する（ステップＳ３５）。この計算の結果は、Ｅｎｃ（Σ（ｘｉ）２＋Σ（ｙｉ）２−２・Σｘｉ・ｙｉ）＝Ｅｎｃ（ｄｉｓｔＥ（（ｘ１，・・・，ｘｎ），（ｙ１，・・・，ｙｎ）））である。従って、ステップＳ３５の計算結果が、生体情報Ｘと生体情報Ｙとのユークリッド距離の二乗を暗号化したデータ（秘匿化指標）である。
【０１２５】
サーバ２の秘匿化指標受信部２４がクライアント１の秘匿化指標送信部１８からこのデータを受信した場合、判定部２５は、このデータ（Ｅｎｃ（Σ（ｘｉ）２＋Σ（ｙｉ）２−２・Σｘｉ・ｙｉ））を、秘密鍵ｓｋによって復号し、ユークリッド距離の二乗を得る。そして、判定部２５は、復号されたユークリッド距離の二乗が所定範囲内の値であるか否かを判定することによって、生体情報Ｘと生体情報Ｙとが合致するか否かを判定する。
【０１２６】
ユークリッド距離そのものを暗号化した秘匿化指標を算出することは困難であるため、上記の処理では、ユークリッド距離の二乗を暗号化した秘匿化指標を用いている。しかし、上記の処理は、実質的には、復号されたユークリッド距離が所定範囲内の値であるか否かを判定する処理と同様であると言える。
【０１２７】
［内積］
生体情報Ｘと生体情報Ｙとの近さを示す指標が、生体情報Ｘと生体情報Ｙとの内積であってもよい。以下、指標が内積である場合の処理の一例を示す。
【０１２８】
以下、生体情報Ｘと生体情報Ｙとの内積は、Σｘｉ・ｙｉである。
【０１２９】
指標が内積である場合、秘匿化部１４は、生体情報Ｘが入力されると、公開鍵ｐｋでＸの各要素ｘ１〜ｘｎをそれぞれ暗号化する。そして、秘匿化部１４は、暗号化した各データをテンプレートとして秘匿化情報記憶部１５に記憶させる。前述のように、ｘｉを暗号化したデータをＥｎｃ（ｘｉ）と記す。すなわち、本例では、秘匿化部１４は、Ｅｎｃ（ｘ１），・・・，Ｅｎｃ（ｘｎ）を生成し、それらのデータを秘匿化情報記憶部１５に記憶させる。このＥｎｃ（ｘ１），・・・，Ｅｎｃ（ｘｎ）がテンプレートに該当する。
【０１３０】
内積Σｘｉ・ｙｉを暗号化したデータは、Ｅｎｃ（Σｘｉ・ｙｉ）と表される。次に、生体情報Ｙが入力された時に秘匿化指標算出部１７がＥｎｃ（Σｘｉ・ｙｉ）を算出する演算について説明する。
【０１３１】
秘匿化指標算出部１７は、テンプレートに含まれる各データ（Ｅｎｃ（ｘ１），・・・，Ｅｎｃ（ｘｎ））を復号せずに、Ｅｎｃ（Σｘｉ・ｙｉ）を算出する。
【０１３２】
図６は、暗号化した内積の算出の処理経過の例を示すフローチャートである。以下に示すステップＳ４１〜Ｓ４２は、図３に示すステップＳ１２の処理の一例である。
【０１３３】
まず、生体情報Ｙ＝（ｙ１，・・・，ｙｎ）が入力されると、秘匿化指標算出部１７は、個々のｉ（ｉ＝１，・・・，ｎ）について、テンプレートに含まれているＥｎｃ（ｘｉ）と、ｙｉとを用いて、
【数１１】
2020121458.tif 000013
を計算する（ステップＳ４１）。この計算の結果は、Ｅｎｃ（ｘｉ・ｙｉ）である。ステップＳ４１によって、ｎ個の暗号文が算出される。
【０１３４】
次に、秘匿化指標算出部１７は、ステップＳ４１で得たｎ個の暗号文を用いて、
【数１２】
2020121458.tif 000014
を計算する（ステップＳ４２）。この計算の結果は、Ｅｎｃ（Σｘｉ・ｙｉ）である。すなわち、ステップＳ４２の計算結果が、生体情報Ｘと生体情報Ｙとの内積Σｘｉ・ｙｉを暗号化したデータ（秘匿化指標）である。
【０１３５】
サーバ２の秘匿化指標受信部２４がクライアント１の秘匿化指標送信部１８からこのデータを受信した場合、判定部２５は、このデータ（Ｅｎｃ（Σｘｉ・ｙｉ））を、秘密鍵ｓｋによって復号し、生体情報Ｘと生体情報Ｙとの内積を得る。そして、判定部２５は、復号された内積が所定範囲内の値であるか否かを判定することによって、生体情報Ｘと生体情報Ｙとが合致するか否かを判定する。
【０１３６】
なお、内積の計算は、例えば、正規化相互相関や零平均正規化相互相関等の類似度指標の計算に応用可能である。正規化されたベクトルの内積が、正規化相互相関である。零平均正規化されたベクトルの内積が、零平均正規化相互相関である。
【０１３７】
本実施形態によれば、サーバ２の鍵生成部２１は、生体情報Ｘを用いることなく、公開鍵ｐｋおよび秘密鍵ｓｋを生成する。そして、クライアント１の鍵受信部１１は、その公開鍵ｐｋをサーバ２から受信し、クライアント１の鍵記憶部１２に記憶させる。また、クライアント１に生体情報Ｘが入力されると、秘匿化部１４は、生体情報Ｘを用いることなく生成された公開鍵ｐｋを用いて、生体情報Ｘを暗号化することによって、テンプレートを生成し、テンプレートをクライアント１の秘匿化情報記憶部１５に記憶させる。従って、本実施形態によれば、テンプレートをクライアント１に保存することができる。そして、そのテンプレートは暗号化されているので、テンプレートから生体情報ＸやＸの一部が漏えいすることを防止できる。さらに、クライアント１から、テンプレートと公開鍵ｐｋが一緒に盗まれたとしても、公開鍵ｐｋではテンプレートに含まれるデータを復号できないので、生体情報Ｘや、Ｘの一部が漏えいすることを防止できる。また、クライアント１側でテンプレートを登録する段階において、サーバ２は、生体情報Ｘを有さないので、サーバ２から、生体情報Ｘや、Ｘの一部が漏えいすることを防止することができる。
【０１３８】
また、認証時には、秘匿化指標算出部１７は、テンプレートに含まれる各データを復号せずに、生体情報Ｘと生体情報Ｙとの近さを示す指標を暗号化した秘匿化指標を算出する。そして、サーバの秘匿化指標受信部２４がその秘匿化指標を受信した場合、判定部２５は、その秘匿化指標を復号し、秘匿化指標から復号された指標が所定範囲内の値であるか否かを判定することによって、生体情報Ｘと生体情報Ｙとが合致するか否かを判定する。従って、生体情報Ｘと生体情報Ｙとが合致するか否かの判定結果を得るまでの過程において、復号により得られるデータは指標であり、テンプレートから生体情報Ｘが復号されることはない。また、サーバ２に送られるのは秘匿化指標であり、テンプレートがサーバ２に送られることはない。従って、認証結果を得るまでの過程においても、テンプレートから生体情報Ｘや、Ｘの一部が漏えいすることを防止できる。
【０１３９】
以上のように、テンプレートをクライアント１に記憶させる場合であっても、クライアント１から生体情報Ｘが漏えいすることを防止することができ、認証結果を得るまでの過程においても生体情報Ｘの漏えいを防止することができる。
【０１４０】
次に、オンラインの総当たり攻撃について説明した上で、本発明の変形例について説明する。オンラインの総当たり攻撃とは、攻撃者が得た情報（例えば、テンプレート）を利用して、サーバに送信する情報を総当たり的に選択し、繰り返し認証を試行することによって、認証に成功しようとする攻撃方法である。攻撃者がオンラインの総当たり攻撃によって認証に成功した場合、攻撃者に生体情報が漏えいしたと言える。
【０１４１】
オンラインの総当たり攻撃に対しては、例えば、認証の失敗が連続して繰り返し生じた場合、サーバが、サーバへのアクセスを遮断する等の対策が考えられる。上記の実施形態では、鍵生成部２１が、一組の公開鍵ｐｋおよび秘密鍵ｓｋを生成し、鍵送信部２３がそれぞれのクライアント１に同一の公開鍵ｐｋを送信する。すなわち、個々のクライアント１はそれぞれ、共通の公開鍵ｐｋを記憶していることになる。この場合、上記の対策では、正規のユーザからのアクセスも遮断してしまうことになり、上記の対策は適切ではない。また、個々のクライアント１にＩＤ（IDentification）割り当て、ステップＳ１３（図３参照）において、秘匿化指標送信部１８が、秘匿化指標と、クライアント１に割り当てられたＩＤとを送信する構成にすることが考えられる。そして、サーバ２は、同一のＩＤに関して認証の失敗が連続して繰り返し生じた場合に、そのＩＤおよび秘匿化指標の受け付けを遮断することが考えられる。しかし、この場合であっても、攻撃者は、サーバにおいて受け付けが遮断されたならば、ＩＤを変更することによって、オンラインの総当たり攻撃を継続することができてしまう。
【０１４２】
以下に示す本発明の実施形態の変形例では、オンラインの総当たり攻撃に対する頑健性を実現することができる。以下、図１を参照して変形例を説明する。なお、クライアント１は複数存在するものとする。
【０１４３】
この変形例では、鍵生成部２１は、クライアント１毎に、クライアント１に固有の公開鍵ｐｋおよび秘密鍵ｓｋの組を生成する。また、鍵生成部２１は、クライアント１毎に、クライアント１に固有のＩＤを割り当て、クライアント１毎に、クライアント１に固有の公開鍵ｐｋおよび秘密鍵ｓｋと、そのクライアント１に割り当てたＩＤとを対応付ける。なお、鍵生成部２１は、どのクライアント１に関しても、生体情報Ｘを用いずに、公開鍵ｐｋおよび秘密鍵ｓｋを生成する。
【０１４４】
この結果、クライアント１毎に、ＩＤ、公開鍵ｐｋおよび秘密鍵ｓｋの組が得られる。鍵生成部２１は、クライアント１毎に、ＩＤ、公開鍵ｐｋおよび秘密鍵ｓｋの組を鍵記憶部２２に記憶させる。
【０１４５】
また、鍵送信部２３は、送信先となるクライアント１に対応するＩＤおよび公開鍵ｐｋを、そのクライアント１に送信する。クライアント１の鍵受信部１１は、そのクライアント１に対応するＩＤおよび公開鍵ｐｋを受信し、鍵記憶部１２にそのＩＤおよび公開鍵ｐｋを記憶させる。また、クライアント１の秘匿化指標送信部１８は、サーバ２に秘匿化指標を送信する際に、そのクライアント１に割り当てられたＩＤ（鍵記憶部１２に記憶されているＩＤ）も一緒に送信する。すなわち、クライアント１の秘匿化指標送信部１８は、秘匿化指標およびＩＤをサーバ２に送信する。
【０１４６】
サーバ２の秘匿化指標受信部２４が、秘匿化指標およびＩＤを受信すると、判定部２５は、そのＩＤに対応する秘密鍵ｓｋを鍵記憶部２２から読み出し、その秘密鍵ｓｋで秘匿化指標から指標を復号する。そして、判定部２５は、秘匿化指標から復号された指標が、予め定められた所定範囲内の値であるか否かを判定することによって、生体情報Ｘと生体情報Ｙとが合致するか否かを判定する。
【０１４７】
また、判定部２５は、同一のＩＤとともに受け付けた秘匿化指標に対する認証が、所定回数、連続して失敗した場合、送信者が攻撃者であると判定し、そのＩＤとともに送られた秘匿化指標の受け付けを遮断する。従って、オンラインの総当たり攻撃を防ぐことができる。
【０１４８】
本変形例では、上記のように、ＩＤとともに送られた秘匿化指標の受け付けを遮断したとしても、攻撃者が用いたＩＤと異なるＩＤが割り当てられたクライアント１（すなわち、攻撃対象となっていないクライアント１）を用いる正規のユーザからのアクセスは遮断されない。正規のユーザのクライアント１は、そのクライアント１に割り当てられたＩＤおよび秘匿化指標をサーバに送信することができ、サーバ２の判定部２５は、そのＩＤに対応する秘密鍵ｓｋで秘匿化指標を復号し、秘匿化指標から復号された指標が、予め定められた所定範囲内の値であるか否かを判定することができるからである。
【０１４９】
また、判定部２５は、受けたＩＤに対応する秘密鍵ｓｋで秘匿化指標を復号できない場合には、ＩＤおよび秘匿化指標の送信元が攻撃者であると判定すればよい。この場合、攻撃者が、サーバ２に受付を遮断されたときにＩＤを変更したとしても、そのＩＤは、攻撃者が使用しているクライアント１に割り当てられたＩＤではない。そのため、攻撃者による変更後のＩＤに対応する秘密鍵では、秘匿化指標から指標が復号されず、攻撃者は、オンラインの総当たり攻撃を継続できない。
【０１５０】
このように、鍵生成部２１が、クライアント１毎に、クライアント１に固有の公開鍵ｐｋおよび秘密鍵ｓｋの組を生成することで、オンラインの総当たり攻撃に対しても、生体情報の漏えいを防止することができる。
【０１５１】
また、秘匿化部１４がテンプレートを生成する際に、クライアント１がサーバ２に対して公開鍵を要求し、秘匿化部１４がその公開鍵を用いることによってテンプレートを生成してもよい。図７は、この場合の構成例を示すブロック図である。既に説明した要素については、図１と同一の符号を付し、説明を省略する。本変形例では、図７に示すように、クライアント１は、要求部１９を備える。
【０１５２】
要求部１９は、秘匿化部１４がテンプレートを生成する際に、サーバ２に対して公開鍵の生成および提供を要求する。なお、要求部１９は、例えば、クライアント用プログラムに従って動作するＣＰＵおよび通信インタフェースによって実現される。
【０１５３】
サーバ２が要求部１９から公開鍵の生成および提供を要求されると、サーバ２の鍵生成部２１は、要求に応じて、新たに、公開鍵ｐｋおよび秘密鍵ｓｋを生成する。そして、鍵送信部２３がクライアント１にその公開鍵ｐｋを送信し、鍵生成部２１は、その秘密鍵ｓｋを鍵記憶部２２に記憶させる。クライアント１の鍵受信部１１は、要求に応じて送信された公開鍵ｐｋを受信すると、その公開鍵ｐｋを鍵記憶部１２に記憶させる。秘匿化部１４は、新たな公開鍵ｐｋが鍵記憶部１２に記憶された後に、その公開鍵ｐｋを用いて、テンプレートを生成する。このような構成によれば、テンプレート生成毎に、公開鍵ｐｋが更新され、更新された公開鍵ｐｋによってテンプレートを生成することができる。
【０１５４】
また、本発明の実施形態およびその変形例において、ステップＳ１６でサーバ２の判定部２５が用いる所定範囲は、ユーザ毎、クライアント毎に変更されてもよい。また、この所定範囲は、外部要因等に応じて変更されてもよい。外部要因の例として、サーバ２が受け付ける認証の頻度、不審なアクセスの頻度、ネットワークやＣＰＵの負荷の状態等が挙げられる。所定範囲を変更することにより、負荷を減らすことができる。
【０１５５】
図８は、上記の実施形態やその変形例におけるクライアント１やサーバ２に係るコンピュータの構成例を示す概略ブロック図である。以下、図８を参照して説明するが、クライアント１として用いられるコンピュータと、サーバ２として用いられるコンピュータとは、別々のコンピュータである。
【０１５６】
コンピュータ１０００は、ＣＰＵ１００１と、主記憶装置１００２と、補助記憶装置１００３と、インタフェース１００４と、通信インタフェース１００５とを備える。
【０１５７】
本発明の実施形態やその変形例におけるクライアント１やサーバ２は、コンピュータ１０００で実現される。ただし、上記のように、クライアント１として用いられるコンピュータと、サーバ２として用いられるコンピュータとは、別々のコンピュータである。
【０１５８】
クライアント１を実現するコンピュータ１０００の動作は、クライアント用プログラムの形式で補助記憶装置１００３に記憶されている。ＣＰＵ１００１は、そのクライアント用プログラムを補助記憶装置１００３から読み出して主記憶装置１００２に展開し、そのクライアント用プログラムに従って、上記の実施形態やその変形例で説明したクライアント１の動作を実行する。
【０１５９】
サーバ２を実現するコンピュータ１０００の動作は、サーバ用プログラムの形式で補助記憶装置１００３に記憶されている。ＣＰＵ１００１は、そのサーバ用プログラムを補助記憶装置１００３から読み出して主記憶装置１００２に展開し、そのサーバ用プログラムに従って、上記の実施形態やその変形例で説明したサーバ２の動作を実行する。
【０１６０】
補助記憶装置１００３は、一時的でない有形の媒体の例である。一時的でない有形の媒体の他の例として、インタフェース１００４を介して接続される磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory ）、ＤＶＤ−ＲＯＭ（Digital Versatile Disk Read Only Memory ）、半導体メモリ等が挙げられる。また、プログラムが通信回線によってコンピュータ１０００に配信される場合、配信を受けたコンピュータ１０００がそのプログラムを主記憶装置１００２に展開し、そのプログラムに従って動作してもよい。
【０１６１】
また、クライアント１の各構成要素の一部または全部は、汎用または専用の回路（circuitry ）、プロセッサ等やこれらの組み合わせによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部または全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。この点は、サーバ２に関しても同様である。
【０１６２】
次に、本発明の照合システムの概要について説明する。図９は、本発明の照合システムの概要を示すブロック図である。照合システムは、クライアント１と、サーバ２とを備える。クライアント１は、秘匿化情報記憶部１５と、秘匿化指標算出部１７と、秘匿化指標送信部１８とを備える。サーバ２は、判定部２５を備える。
【０１６３】
秘匿化情報記憶部１５は、登録情報を公開鍵で秘匿化した秘匿化情報を記憶する。
【０１６４】
秘匿化指標算出部１７は、登録情報との照合のために入力される照合情報と、秘匿化情報とに基づいて、登録情報と照合情報との近さを示す指標を秘匿化した秘匿化指標を算出する。
【０１６５】
秘匿化指標送信部１８は、その秘匿化指標をサーバ２に送信する。
【０１６６】
判定部２５は、秘匿化指標送信部１８から受信した秘匿化指標における秘匿化を、公開鍵に対応する秘密鍵によって解除して得られた指標に基づいて、照合情報と登録情報とが合致するか否かを判定する。
【０１６７】
そのような構成によれば、登録情報そのものが記憶されるのではなく、登録情報を公開鍵で秘匿化した秘匿化情報が秘匿化情報記憶部１５に記憶される。従って、クライアント１から登録情報が漏えいすることを防止できる。
【０１６８】
また、照合情報と登録情報とが合致するか否かの判定結果を得るまでの過程で、秘匿化が解除によって得られるデータは、登録情報と照合情報との近さを示す指標であり、登録情報の秘匿化が解除されるわけではない。従って、照合情報と登録情報とが合致するか否かの判定結果を得るまでの過程においても、登録情報が漏えいすることを防止できる。
【０１６９】
従って、登録情報を秘匿化した秘匿化情報をクライアントに記憶させる場合であっても、クライアントから登録情報が漏えいすることを防止することができる。
【０１７０】
上記の本発明の実施形態は、以下の付記のようにも記載され得るが、以下に限定されるわけではない。
【０１７１】
（付記１）
クライアントとサーバとを備える照合システムであって、
前記クライアントは、
登録情報を公開鍵で秘匿化した秘匿化情報を記憶する秘匿化情報記憶部と、
前記登録情報との照合のために入力される照合情報と、前記秘匿化情報とに基づいて、前記登録情報と前記照合情報との近さを示す指標を秘匿化した秘匿化指標を算出する秘匿化指標算出部と、
前記秘匿化指標を前記サーバに送信する秘匿化指標送信部とを備え、
前記サーバは、
前記秘匿化指標送信部から受信した前記秘匿化指標における秘匿化を、前記公開鍵に対応する秘密鍵によって解除して得られた前記指標に基づいて、前記照合情報と前記登録情報とが合致するか否かを判定する判定部を備える
ことを特徴とする照合システム。
【０１７２】
（付記２）
登録情報および照合情報はベクトルである
付記１に記載の照合システム。
【０１７３】
（付記３）
秘匿化指標算出部は、登録情報と照合情報とのハミング距離に基づいて定められた指標を秘匿化した秘匿化指標を算出する
付記２に記載の照合システム。
【０１７４】
（付記４）
秘匿化指標算出部は、登録情報と照合情報とのユークリッド距離に基づいて定められた指標を秘匿化した秘匿化指標を算出する
付記２に記載の照合システム。
【０１７５】
（付記５）
秘匿化指標算出部は、登録情報と照合情報との内積に基づいて定められた指標を秘匿化した秘匿化指標を算出する
付記２に記載の照合システム。
【０１７６】
（付記６）
クライアントは、
入力された登録情報を公開鍵で秘匿化することによって秘匿化情報を生成し、当該秘匿化情報を秘匿化情報記憶部に記憶させる秘匿化部を備える
付記１から付記５のうちのいずれかに記載の照合システム。
【０１７７】
（付記７）
クライアントは、
秘匿化部が秘匿化情報を生成する際に、サーバに対して公開鍵の生成および提供を要求する要求部を備え、
前記秘匿化部は、
前記要求部からの要求に応じてサーバが提供した公開鍵を用いることによって秘匿化情報を生成する
付記６に記載の照合システム。
【０１７８】
（付記８）
サーバは、
秘密鍵および公開鍵を生成する鍵生成部と、
前記公開鍵をクライアントに送信する鍵送信部とを備える
付記１から付記７のうちのいずれかに記載の照合システム。
【０１７９】
（付記９）
鍵生成部は、
クライアント毎に、秘密鍵および公開鍵を生成するとともに、当該秘密鍵および当該公開鍵にクライアントに割り当てた識別情報を対応付け、
鍵送信部は、
クライアントに、当該クライアントに対応する公開鍵および識別情報を送信し、
秘匿化指標送信部は、
秘匿化指標とともに、識別情報をサーバに送信する
付記８に記載の照合システム。
【０１８０】
（付記１０）
クライアントとサーバとを備える照合システムであって、
前記クライアントは、
入力された登録情報を公開鍵で秘匿化することによって秘匿化情報を生成し、当該秘匿化情報を秘匿化情報記憶部に記憶させる秘匿化部を備える
ことを特徴とする照合システム。
【０１８１】
（付記１１）
秘匿化部は、サーバから提供された公開鍵で登録情報を秘匿化することによって秘匿化情報を生成する
付記１０に記載の照合システム。
【０１８２】
（付記１２）
登録情報を公開鍵で秘匿化した秘匿化情報を記憶する秘匿化情報記憶部と、
前記登録情報との照合のために入力される照合情報と、前記秘匿化情報とに基づいて、前記登録情報と前記照合情報との近さを示す指標を秘匿化した秘匿化指標を算出する秘匿化指標算出部と、
前記秘匿化指標をサーバに送信する秘匿化指標送信部とを備える
ことを特徴とするクライアント。
【０１８３】
（付記１３）
入力された登録情報を公開鍵で秘匿化することによって秘匿化情報を生成し、当該秘匿化情報を秘匿化情報記憶部に記憶させる秘匿化部を備える
付記１２に記載のクライアント。
【０１８４】
（付記１４）
入力された登録情報を公開鍵で秘匿化することによって秘匿化情報を生成し、当該秘匿化情報を秘匿化情報記憶部に記憶させる秘匿化部を備える
ことを特徴とするクライアント。
【０１８５】
（付記１５）
登録情報と、登録情報との照合のために入力される照合情報との近さを示す指標を秘匿化した秘匿化指標をクライアントから受信する秘匿化指標受信部と、
前記秘匿化指標における秘匿化を解除して得られた前記指標に基づいて、前記照合情報と前記登録情報とが合致するか否かを判定する判定部とを備える
ことを特徴とするサーバ。
【０１８６】
（付記１６）
秘匿化指標は、登録情報を公開鍵で秘匿化した秘匿化情報と、照合情報とに基づいてクライアントによって生成された指標である
付記１５に記載のサーバ。
【０１８７】
（付記１７）
判定部は、
公開鍵に対応する秘密鍵によって、秘匿化指標における秘匿化を解除する
付記１６に記載のサーバ。
【０１８８】
（付記１８）
登録情報を公開鍵で秘匿化した秘匿化情報を記憶する秘匿化情報記憶部を備えるクライアントが、
前記登録情報との照合のために入力される照合情報と、前記秘匿化情報とに基づいて、前記登録情報と前記照合情報との近さを示す指標を秘匿化した秘匿化指標を算出し、
前記秘匿化指標をサーバに送信し、
前記サーバが、
前記クライアントから受信した前記秘匿化指標における秘匿化を、前記公開鍵に対応する秘密鍵によって解除して得られた前記指標に基づいて、前記照合情報と前記登録情報とが合致するか否かを判定する
ことを特徴とする照合方法。
【０１８９】
（付記１９）
クライアントが、
入力された登録情報を公開鍵で秘匿化することによって秘匿化情報を生成し、当該秘匿化情報を秘匿化情報記憶部に記憶させる
ことを特徴とする情報記憶方法。
【０１９０】
（付記２０）
登録情報を公開鍵で秘匿化した秘匿化情報を記憶する秘匿化情報記憶部を備え、クライアントとして動作するコンピュータに搭載されるクライアント用プログラムであって、
前記コンピュータに、
前記登録情報との照合のために入力される照合情報と、前記秘匿化情報とに基づいて、前記登録情報と前記照合情報との近さを示す指標を秘匿化した秘匿化指標を算出する指標算出処理、および、
前記秘匿化指標をサーバに送信する指標送信処理
を実行させるためのクライアント用プログラム。
【０１９１】
（付記２１）
クライアントとして動作するコンピュータに搭載されるクライアント用プログラムであって、
前記コンピュータに、
入力された登録情報を公開鍵で秘匿化することによって秘匿化情報を生成し、当該秘匿化情報を秘匿化情報記憶部に記憶させる秘匿化処理
を実行させるためのクライアント用プログラム。
【０１９２】
（付記２２）
サーバとして動作するコンピュータに搭載されるサーバ用プログラムであって、
前記コンピュータに、
登録情報と、登録情報との照合のために入力される照合情報との近さを示す指標を秘匿化した秘匿化指標をクライアントから受信する指標受信処理、および、
前記秘匿化指標における秘匿化を解除して得られた前記指標に基づいて、前記照合情報と前記登録情報とが合致するか否かを判定する判定処理
を実行させるためのサーバ用プログラム。
【０１９３】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用の可能性】
【０１９４】
本発明は、クライアントとサーバとを用いて認証を行う照合システムに好適に適用される。
【符号の説明】
【０１９５】
１  クライアント
２  サーバ
１１  鍵受信部
１２  鍵記憶部
１３  登録情報入力部
１４  秘匿化部
１５  秘匿化情報記憶部
１６  照合情報入力部
１７  秘匿化指標算出部
１８  秘匿化指標送信部
２１  鍵生成部
２２  鍵記憶部
２３  鍵送信部
２４  秘匿化指標受信部
２５  判定部
【図１】
2020121458.tif 000015
【図２】
2020121458.tif 000016
【図３】
2020121458.tif 000017
【図４】
2020121458.tif 000018
【図５】
2020121458.tif 000019
【図６】
2020121458.tif 000020
【図７】
2020121458.tif 000021
【図８】
2020121458.tif 000022
【図９】
2020121458.tif 000023
【国際調査報告】
2020121458.tif 000024
2020121458.tif 000025
2020121458.tif 000026
2020121458.tif 000027
2020121458.tif 000028
2020121458.tif 000029