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