(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024038452
(43)【公開日】2024-03-19
(54)【発明の名称】情報処理装置、照合方法、およびプログラム
(51)【国際特許分類】
G09C 1/00 20060101AFI20240312BHJP
H04L 9/32 20060101ALI20240312BHJP
【FI】
G09C1/00 650Z
H04L9/32 200A
【審査請求】有
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2024007191
(22)【出願日】2024-01-22
(62)【分割の表示】P 2022527423の分割
【原出願日】2020-05-29
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100141519
【弁理士】
【氏名又は名称】梶田 邦之
(72)【発明者】
【氏名】一色 寿幸
(72)【発明者】
【氏名】田宮 寛人
(72)【発明者】
【氏名】奈良 成泰
(72)【発明者】
【氏名】岡村 利彦
(57)【要約】 (修正有)
【課題】登録情報の漏えいやなりすましを防止するとともに、被登録者の登録情報と被認証者の照合情報とを照合するための計算コストを低減する情報処理装置、照合方法及びプログラムを提供する。
【解決手段】照合システム10において、クライアントは、登録情報を第1の情報及び第2の情報に分割して、第2の情報をサーバに提供し、登録情報との照合のために入力される照合情報と、第1の情報とに基づいて、登録情報と照合情報との類似度計算の第1ステップを実行し、第1ステップの計算結果をサーバに送信し、サーバは、クライアントから受信した第1ステップの計算結果と、第2の情報とに基づいて、類似度計算の第2ステップを実行し、第2ステップの計算結果をクライアントに送信し、クライアントは、サーバから受信した第2ステップの計算結果と、第1の情報とに基づいて、類似度計算の第3ステップを実行し、登録情報と照合情報との類似度を算出する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
登録情報を第1の情報及び第2の情報に分割する分割処理手段と、
照合情報と前記第1の情報とを照合し、第1の照合結果を出力する出力手段と、
前記第2の情報と前記第1の照合結果とを照合し出力される第2の照合結果を受信する受信手段と、
前記第2の照合結果と前記第1の情報とを照合し、前記照合情報の認証可否を判定する判定手段と、
を備える情報処理装置。
【請求項2】
前記分割処理手段は、秘密分散処理を行う
請求項1に記載の情報処理装置。
【請求項3】
前記第1の照合結果及び前記第2の照合結果は類似度計算によって求められる
請求項1又は2に記載の情報処理装置。
【請求項4】
情報処理装置を備える照合システムにおける照合方法であって、
前記情報処理装置において、
登録情報を第1の情報及び第2の情報に分割することと、
照合情報と前記第1の情報とを照合し、第1の照合結果を出力することと、
前記第2の情報と前記第1の照合結果とを照合し出力される第2の照合結果を受信することと、
前記第2の照合結果と前記第1の情報とを照合し、前記照合情報の認証可否を判定することと、
を備える照合方法。
【請求項5】
前記分割することにおいて、秘密分散処理を行う
請求項4に記載の照合方法。
【請求項6】
前記第1の照合結果及び前記第2の照合結果は類似度計算によって求められる
請求項4又は5に記載の照合方法。
【請求項7】
情報処理装置としてのコンピュータに、
登録情報を第1の情報及び第2の情報に分割することと、
照合情報と前記第1の情報とを照合し、第1の照合結果を出力することと、
前記第2の情報と前記第1の照合結果とを照合し出力される第2の照合結果を受信することと、
前記第2の照合結果と前記第1の情報とを照合し、前記照合情報の認証可否を判定することと、
を実行させるプログラム。
【請求項8】
前記分割することにおいて、秘密分散処理を行う
請求項7に記載のプログラム。
【請求項9】
前記第1の照合結果及び前記第2の照合結果は類似度計算によって求められる
請求項7又は8に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、照合方法、およびプログラムに関する。
【背景技術】
【0002】
認証の一例として、生体認証がある。「生体認証」とは、被登録者の生体情報と、被認証者の生体情報とを照合することにより、被登録者と被認証者とが一致するか否かを確認する個人認証の手法である。
【0003】
また、「生体情報」とは、身体や行動に関する個人の一部の特徴から抽出されたデータ、または、その抽出されたデータを変換することによって生成されたデータである。このデータは、特徴量と称されることもある。
【0004】
また、「テンプレート」とは、被登録者の生体情報(以下では登録情報と呼ぶ。)から生成されたデータを含む、生体認証のために予め保存されるデータである。
【0005】
クライアント-サーバシステムで生体認証を行う場合、テンプレートをクライアント端末に保存する態様と、テンプレートをサーバ装置に保存する態様とがある。以下、クライアント端末は、クライアントまたは端末とも称する。また、サーバ装置は、単にサーバとも称する。
【0006】
クライアントにテンプレートを保存する態様の例としてFIDO(Fast IDentity Online)が挙げられる。FIDOでは、クライアントに予めテンプレートが保存される。そして、そのクライアントを現在使用しているユーザ(被認証者)の生体情報がクライアントに入力されると、クライアントは、入力された生体情報と、テンプレートとによって、被認証者が被登録者に該当するか否かを判定する。そして、被認証者が被登録者に該当するとクライアントが判定した場合、サーバは、クライアントが署名鍵によって生成した署名に基づいて、クライアントが有する署名鍵(秘密鍵)と、サーバが有する検証鍵(公開鍵)とが対をなす鍵であるか否かを判定する。すなわち、FIDOでは、クライアントにおいて生体認証に成功し、サーバにおいてクライアントの署名の検証に成功した場合に、最終的に、ユーザ(被認証者)の認証に成功したと判定される。
【0007】
また、FIDOでは、被登録者の生体情報を暗号化した情報を含むデータが、テンプレートとして予めクライアントに保存される。そして、その暗号化された情報を復号するための鍵もクライアントに保存される。被認証者の生体情報がクライアントに入力されると、クライアントは、その鍵を用いてテンプレートに含まれる生体情報の暗号文を復号し、復号された生体情報と、入力された生体情報を用いて、被認証者が被登録者に該当するか否かを判定する。
【0008】
また、キャッシュカードのIC(Integrated Circuit)チップに、暗号化された生体情報を保存しておく場合もある。
【0009】
ここで、日本の「個人情報の保護に関する法律(以下、個人情報保護法と記す。)」において、個人情報として保護される対象について説明する。日本の個人情報保護法では、個人を識別可能な情報である生体情報は個人情報であると定められている。さらに、個人情報保護法では、電子的なデータベース、または、紙のデータベースで管理される個人情報が、個人情報保護法による保護の対象であると定められている。
【0010】
テンプレートをサーバに保存する態様では、個々のクライアントを使用する個々のユーザのテンプレートが、共通のサーバ内でデータベースとして保存されていると言える。従って、サーバに保存されるテンプレートは、個人情報保護法による保護対象である。
【0011】
サーバの管理者には、テンプレートが漏えいしないようにサーバを保護することが求められる。すなわち、サーバを保護する分だけ、セキュリティコストがかかる。
【0012】
一方、テンプレートをクライアントに保存する態様では、クライアントは、そのクライアントを使用する一人または少数のユーザのテンプレートを保存する。従って、そのテンプレートはデータベースとして保存されているとは言えない。そのため、クライアントに保存されるテンプレートは、個人情報保護法による保護対象ではない可能性がある。
【0013】
特許文献1乃至3には、生体認証システムにおいて、生体情報等が暗号化された状態のまま演算が可能な準同型暗号を利用することが開示されている。
【先行技術文献】
【特許文献】
【0014】
【特許文献1】国際公開第2016/203762号
【特許文献2】国際公開第2016/152130号
【特許文献3】国際公開第2011/052056号
【発明の概要】
【発明が解決しようとする課題】
【0015】
テンプレートをクライアントに保存する場合であっても、クライアントからユーザの登録情報が漏えいすることを防止することが好ましい。また、第三者によるなりすましの防止や、被登録者の登録情報と被認証者の照合情報とを照合するための計算コストの低減が求められている。
【0016】
そこで、本発明は、登録情報の漏えいやなりすましを防止するとともに、被登録者の登録情報と被認証者の照合情報とを照合するための計算コストを低減することが可能な情報処理装置、照合方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0017】
本発明の一態様による照合システムは、クライアント端末とサーバ装置とを備え、前記クライアント端末において、登録情報を第1の情報及び第2の情報に分割して、前記第2の情報を前記サーバ装置に提供する秘密分散処理部と、前記クライアント端末において、前記登録情報との照合のために入力される照合情報と、前記第1の情報とに基づいて、前記登録情報と前記照合情報との類似度計算の第1ステップを実行する第1の類似度計算部と、前記クライアント端末において、前記第1ステップの計算結果を前記サーバ装置に送信する第1の送信部と、前記サーバ装置において、前記クライアント端末から受信した前記第1ステップの計算結果と、前記第2の情報とに基づいて、前記類似度計算の第2ステップを実行する第2の類似度計算部と、前記サーバ装置において、前記第2ステップの計算結果を前記クライアント端末に送信する第2の送信部と、前記クライアント端末において、前記サーバ装置から受信した前記第2ステップの計算結果と、前記第1の情報とに基づいて、前記類似度計算の第3ステップを実行し、前記登録情報と前記照合情報との類似度を算出する第3の類似度計算部と、を備える。
【0018】
本発明の一態様によるクライアント端末は、登録情報を第1の情報及び第2の情報に分割して、前記第1の情報を記憶し、前記第2の情報をサーバ装置に提供する秘密分散処理部と、前記登録情報との照合のために入力される照合情報と、前記第1の情報とに基づいて、前記登録情報と前記照合情報との類似度計算の第1ステップを実行する第1の類似度計算部と、前記第1ステップの計算結果を前記サーバ装置に送信する送信部と、前記サーバ装置から受信した前記第1ステップの計算結果と前記第2の情報とに基づく前記類似度計算の第2ステップの計算結果と、前記第1の情報とに基づいて、前記類似度計算の第3ステップを実行し、前記登録情報と前記照合情報との類似度を算出する第3の類似度計算部と、を備える。
【0019】
本発明の一態様によるサーバ装置は、登録情報から分割された第1の情報と、前記登録情報との照合のために入力される照合情報との類似度計算の第1ステップの計算結果をクライアント端末から受信し、前記第1ステップの計算結果と、前記登録情報から分割された第1の情報及び第2の情報のうちの前記第2の情報とに基づいて、前記類似度計算の第2ステップを実行する第2の類似度計算部と、前記第2ステップの計算結果を、前記クライアント端末が前記第2ステップの計算結果と前記第1の情報とに基づく前記類似度計算の第3ステップを実行するために、前記クライアント端末に送信する送信部と、を備える。
【0020】
本発明の一態様による照合方法は、クライアント端末とサーバ装置とを備えた照合システムにおける照合方法であって、前記クライアント端末によって、登録情報を第1の情報及び第2の情報に分割して、前記第2の情報を前記サーバ装置に提供し、前記クライアント端末によって、前記登録情報との照合のために入力される照合情報と、前記第1の情報とに基づいて、前記登録情報と前記照合情報との類似度計算の第1ステップを実行し、前記クライアント端末によって、前記第1ステップの計算結果を前記サーバ装置に送信し、前記サーバ装置によって、前記クライアント端末から受信した前記第1ステップの計算結果と、前記第2の情報とに基づいて、前記類似度計算の第2ステップを実行し、前記サーバ装置によって、前記第2ステップの計算結果を前記クライアント端末に送信し、前記クライアント端末によって、前記サーバ装置から受信した前記第2ステップの計算結果と、前記第1の情報とに基づいて、前記類似度計算の第3ステップを実行し、前記登録情報と前記照合情報との類似度を算出することを含む。
【0021】
本発明の一態様によるクライアント端末用のプログラムは、登録情報を第1の情報及び第2の情報に分割して、前記第1の情報を記憶し、前記第2の情報をサーバ装置に提供する秘密分散処理と、前記登録情報との照合のために入力される照合情報と、前記第1の情報とに基づいて、前記登録情報と前記照合情報との類似度計算の第1ステップを実行する第1の類似度計算処理と、前記第1ステップの計算結果を前記サーバ装置に送信する送信処理と、前記サーバ装置から受信した前記第1ステップの計算結果と前記第2の情報とに基づく前記類似度計算の第2ステップの計算結果と、前記第1の情報とに基づいて、前記類似度計算の第3ステップを実行し、前記登録情報と前記照合情報との類似度を算出する第3の類似度計算処理と、をコンピュータに実行させる。
【0022】
本発明の一態様によるサーバ装置用のプログラムは、登録情報から分割された第1の情報と、前記登録情報との照合のために入力される照合情報との類似度計算の第1ステップの計算結果をクライアント端末から受信し、前記第1ステップの計算結果と、前記登録情報から分割された第1の情報及び第2の情報のうちの前記第2の情報とに基づいて、前記類似度計算の第2ステップを実行する第2の類似度計算処理と、前記第2ステップの計算結果を、前記クライアント端末が前記第2ステップの計算結果と前記第1の情報とに基づく前記類似度計算の第3ステップを実行するために、前記クライアント端末に送信する送信処理と、をコンピュータに実行させる。
【発明の効果】
【0023】
本発明によれば、登録情報の漏えいやなりすましを防止するとともに、被登録者の登録情報と被認証者の照合情報とを照合するための計算コストを低減することができる。
【図面の簡単な説明】
【0024】
【
図1】第1の実施形態の照合システムの構成例を示すブロック図である。
【
図2】第1の実施形態における登録処理の流れの例を示すフローチャートである。
【
図3】第1の実施形態における認証処理の流れの例を示すフローチャートである。
【
図4】第1の実施形態における登録処理の具体例を示す説明図である。
【
図5】第1の実施形態における認証処理の具体例を示す説明図である。
【
図6】第1の実施形態における認証処理の別の具体例を示す説明図である。
【
図7】第1の実施形態のクライアントやサーバに係るコンピュータのハードウェア構成例を示す概略ブロック図である。
【
図8】第2の実施形態の照合システムの構成例を示すブロック図である。
【発明を実施するための形態】
【0025】
以下、本発明の各実施形態を図面を参照して説明する。なお、本明細書及び図面において、同様に説明されることが可能な要素については、同一の符号を付することにより重複説明が省略され得る。また、以下の説明では、本発明の照合システムが生体認証に適用される場合を例にして説明する。ただし、本発明の照合システムは、生体認証以外の認証に適用されてもよい。また、後述するクライアント100およびクライアント800は、クライアント端末であり、後述するサーバ200およびサーバ900は、サーバ装置である。
【0026】
説明は、以下の順序で行われる。
1.第1の実施形態
1.1.システム構成
1.2.登録フェーズ
1.3.認証フェーズ
1.4.具体例1
1.5.具体例2
1.6.ハードウェア構成
1.7.効果の説明
2.第2の実施形態
2.1.システム構成
2.2.登録フェーズ
2.3.認証フェーズ
2.4.効果の説明
3.他の実施形態
4.付記
【0027】
<<1.第1の実施形態>>
<1.1.システム構成>
図1は、第1の実施形態の照合システムの構成例を示すブロック図である。
図1に示す照合システム10は、クライアント100と、サーバ200とを備える。なお、
図1では、1台のクライアント100が示されているが、クライアント100は複数存在していてもよい。クライアント100と、サーバ200とは、通信ネットワークを介して通信可能である。
【0028】
本実施形態の照合システム10には、なりすましが防止されるように、チャレンジ・レスポンス方式が導入されている。具体的には、サーバ200が認証ごとに毎回異なるチャレンジをクライアント100に送信し、クライアント100は、当該チャレンジに対応するレスポンスを算出することによって、レスポンスの値が認証ごとに変更される。
【0029】
攻撃者がレスポンスの値を盗聴したとしても、盗聴されたレスポンスの値は次の認証においてはもはや使用不能であり、攻撃者は別のチャレンジに対応するレスポンスを生成できないため、再送攻撃等のなりすましが防止される。以下、本実施形態の照合システム10の各構成要素を説明する。
【0030】
図1に示すように、クライアント100は、登録情報入力部110と、分散処理部120と、記憶部130と、乱数生成部140と、照合情報入力部150と、コミットメント生成部160と、コミットメント送信部165と、レスポンス生成部170と、レスポンス送信部175と、出力部180とを備える。
【0031】
登録情報入力部110は、登録情報の入力を受け付ける。本実施形態では、登録情報として、被登録者の生体情報が登録情報入力部110に入力される。
【0032】
なお、本実施形態では、登録情報、および、後述の照合情報(登録情報との照合のために入力される情報)が、特徴量として共通の次元のベクトルで表されている場合を例にして説明する。
【0033】
登録情報入力部110は、登録情報に応じた入力デバイスであればよい。例えば、指紋から抽出される生体情報を登録情報とする場合、登録情報入力部110は、指紋を読み取り、その指紋から登録情報となるベクトルを抽出し、そのベクトルを入力として受け付ける入力デバイスであってもよい。また、登録情報入力部110は、登録情報となるベクトルが直接、入力される入力デバイスであってもよい。
【0034】
なお、本実施形態において、生体情報は、指紋以外に虹彩、網膜、顔、血管(静脈)、掌紋、声紋、またはこれらの組み合わせから抽出されてもよい。生体情報は、上述した例以外の、生体を識別可能な他の情報から抽出されてもよい。
【0035】
登録情報入力部110に入力される被登録者の生体情報(登録情報)に該当するベクトルをxと記す。
【0036】
分散処理部120は、登録情報入力部110に入力された被登録者の生体情報xを秘密分散する。秘密分散には、例えば、2-out-of-2線形秘密分散を利用してもよい。具体的には、分散処理部120は、生体情報xを分割してその一部の情報(すなわち、第1の情報)を、テンプレートとして記憶部130に入力する。また、分散処理部120は、生体情報xから分割した別の一部の情報(すなわち、第2の情報)を、検証鍵としてサーバ200へ提供する。これらの情報は暗号化され、秘匿される。
【0037】
登録情報との照合のために入力される情報を照合情報と記す。照合情報入力部150は、照合情報の入力を受け付ける。本実施形態では、照合情報として、被認証者の生体情報が照合情報入力部150に入力される。前述のように、登録情報および照合情報は、特徴量として共通の次元のベクトルで表されている。
【0038】
照合情報入力部150は、照合情報に応じた入力デバイスであればよい。例えば、指紋から抽出される生体情報を照合情報とする場合、照合情報入力部150は、指紋を読み取り、その指紋から照合情報となるベクトルを抽出し、そのベクトルを入力として受け付ける入力デバイスであってもよい。また、照合情報入力部150は、照合情報となるベクトルが直接入力される入力デバイスであってもよい。また、登録情報入力部110と照合情報入力部150とが共通の入力デバイスであってもよい。
【0039】
照合情報入力部150に入力される被認証者の生体情報(照合情報)に該当するベクトルをyと記す。
【0040】
乱数生成部140は、乱数Rを生成する。乱数生成部140は、生成された乱数Rを記憶部130に入力する。
【0041】
コミットメント生成部160は、記憶部130に記憶された乱数Rと、テンプレートの一部と、被認証者の生体情報yとを使用して、コミットメントを生成する。コミットメント送信部165は、生成したコミットメントをサーバ200へ送信する送信処理を実行する。
【0042】
レスポンス生成部170は、サーバ200から受信するチャレンジと、テンプレートの別の一部と、被認証者の生体情報yとを使用して、レスポンスを生成する。レスポンス生成部170は、レスポンス生成のために使用する情報のうち、暗号化されている情報は復号することなく使用することができる。レスポンス送信部175は、生成したレスポンスをサーバ200へ送信する送信処理を実行する。
【0043】
出力部180は、サーバ200からレスポンスに対する判定結果を受信し、当該判定結果の出力を行う。当該判定結果は、被登録者と被認証者が一致するか否かの認証結果を示す。
【0044】
分散処理部120、コミットメント生成部160、コミットメント送信部165、レスポンス生成部170、レスポンス送信部175、および出力部180は、例えば、クライアント端末用のプログラムに従って動作するコンピュータのCPU(Central Processing Unit)、および、そのコンピュータの通信インタフェースによって実現される。例えば、CPUが、コンピュータのプログラム記憶装置等のプログラム記録媒体からクライアント端末用のプログラムを読み込み、そのプログラムに従って、通信インタフェースを用いて、分散処理部120、乱数生成部140、コミットメント生成部160、コミットメント送信部165、レスポンス生成部170、レスポンス送信部175、および出力部180として動作すればよい。また、乱数生成部140は、例えば、クライアント端末用のプログラムに従って動作するコンピュータのCPUによって実現される。例えば、CPUが上記のようにプログラム記録媒体からクライアント端末用のプログラムを読み込み、そのプログラムに従って、乱数生成部140として動作すればよい。
【0045】
記憶部130は、例えば、コンピュータが備える記憶装置によって実現される。
【0046】
また、
図1に示すように、サーバ200は、記憶部210と、乱数生成部220と、チャレンジ生成部230と、チャレンジ送信部235と、判定部240とを備える。
【0047】
記憶部210は、クライアント100から受信される被登録者の生体情報xの一部を受信し、受信した生体情報xの一部を検証鍵として記憶する。また、記憶部210は、後述する乱数r1や、判定処理に用いる範囲情報も記憶することができる。
【0048】
乱数生成部220は、乱数r1を生成する。乱数生成部220は、生成された乱数r1を記憶部210に入力する。乱数r1は、後述するように、クライアント100に送信するチャレンジの生成等のために使用される。
【0049】
チャレンジ生成部230は、クライアント100から受信されるコミットメントと、検証鍵として記憶部210に保存された生体情報xの一部とを使用して、チャレンジを生成する。チャレンジ送信部235は、生成したチャレンジをクライアント100へ送信する送信処理を実行する。
【0050】
判定部240は、クライアント100から受信されたレスポンスの値が、所定の範囲内に含まれるかどうかを判定する。レスポンスの値に関する範囲情報は、記憶部210から取得してもよい。
【0051】
具体的には、判定部240は、レスポンスの値が、予め定められた範囲内の値であるか否かを判定することによって、照合情報と登録情報とが対応するか否かを判定する。すなわち、判定部240は、被登録者と被認証者とが一致するか否かを判定する。
【0052】
判定部240は、レスポンスの値が、予め定められた範囲内の値である場合は、照合情報と登録情報とが対応すると判定する。すなわち、被登録者と被認証者とが一致すると判定する(認証成功)。また、判定部240は、レスポンスの値が、予め定められた範囲内の値でない場合は、照合情報と登録情報とは対応しないと判定する。すなわち、被登録者と被認証者とが一致しないと判定する(認証失敗)。判定部240は、判定結果を示す情報を、クライアント100に送信する。
【0053】
被登録者と被認証者とが一致した場合に、認証に成功したものとして、認証後の処理を実行すればよい。例えば、一例として、サーバ200が、判定部240の判定結果を、クライアント100に送信し、クライアント100は、被登録者と被認証者とが一致したという判定結果を受信した場合に、認証に成功したものとして、認証後の処理を実行してもよい。ただし、認証後の処理を実行する装置は、クライアント100に限定されず、被登録者と被認証者とが一致したという判定結果が得られたことを条件に、クライアント100以外の装置が、認証後の処理を実行してもよい。
【0054】
チャレンジ生成部230、チャレンジ送信部235、および判定部240は、例えば、サーバ装置用のプログラムに従って動作するコンピュータのCPU、および、そのコンピュータの通信インタフェースによって実現される。例えば、CPUが、コンピュータのプログラム記憶装置等のプログラム記録媒体からサーバ装置用のプログラムを読み込み、そのプログラムに従って、通信インタフェースを用いて、チャレンジ生成部230、チャレンジ送信部235、および判定部240として動作すればよい。また、乱数生成部220は、例えば、サーバ装置用のプログラムに従って動作するコンピュータのCPUによって実現される。例えば、CPUが上記のようにプログラム記録媒体からサーバ装置用のプログラムを読み込み、そのプログラムに従って、乱数生成部220として動作すればよい。
【0055】
記憶部210は、例えば、コンピュータが備える記憶装置によって実現される。
【0056】
次に、本実施形態の照合方法における、生体情報xの登録フェーズの処理の流れ、及び生体情報yの認証フェーズの処理の流れについて説明する。
【0057】
<1.2.登録フェーズ>
図2は、第1の実施形態における登録処理の流れの例を示すフローチャートである。かかる登録処理では、入力された生体情報をテンプレートと検証鍵に秘密分散して、テンプレートをクライアント100に保存し、検証鍵をサーバに保存する。なお、既に説明した事項については、詳細な説明を省略する。
【0058】
まず、ステップS201において、クライアント100の登録情報入力部110は、被登録者の生体情報x=(x[1],x[2],・・・,x[n])の入力を受け付ける。
【0059】
次いで、ステップS202において、分散処理部120が、入力された生体情報xの秘密分散を実行する。生体情報xから分割された一部の情報(すなわち、第1の情報)をテンプレートとし、生体情報xから分割された別の一部の情報(すなわち、第2の情報)を検証鍵とする。具体的には、下記の具体例1にて後述するように、生体情報xのi番目(ただし、i=1,・・・,n)の要素x[i]は、x[i]=x1[i]+x2[i]・x3[i]を満たすように分割される。{(x1[i],x2[i])}をテンプレートとし、{x3[i]}を検証鍵とする。分散処理部120は、検証鍵{x3[i]}をサーバ200へ提供する。
【0060】
次いで、ステップS203において、クライアント100の記憶部130は、テンプレート{(x1[i],x2[i])}を記憶する。また、ステップS204において、サーバ200の記憶部210は、クライアントから提供された検証鍵{x3[i]}を記憶する。
【0061】
なお、上述した登録処理は、繰り返し実行されてもよい。
【0062】
以上説明したように、生体情報xは、クライアント100とサーバ200とに分散されて登録される。したがって、クライアント100またはサーバ200のいずれかから登録情報の一部が漏洩したとしても、それだけでは個人を識別可能な情報とはならないため、個人情報は守られる。
【0063】
<1.3.認証フェーズ>
図3は、第1の実施形態における認証処理の流れの例を示すフローチャートである。かかる認証処理では、クライアント100とサーバ200との間の2者秘密計算を利用して、被認証者の認証が実施される。なお、既に説明した事項については、詳細な説明を省略する。
【0064】
まず、ステップS301において、クライアント100の照合情報入力部150は、被認証者の生体情報yの入力を受け付ける。
【0065】
次いで、ステップS302において、コミットメント生成部160が、生体情報yと、記憶部210に保存されたテンプレートの一部(x2[i])を使用して、コミットメントを生成する。コミットメント送信部165は、生成したコミットメントをサーバ200へ送信する。
【0066】
次いで、ステップS303において、サーバ200のチャレンジ生成部230は、クライアント100から受信されたコミットメントと、記憶部210に記憶された検証鍵{x3[i]}を使用して、チャレンジを生成する。チャレンジ送信部235は、生成したチャレンジをクライアント100へ送信する。
【0067】
次いで、ステップS304において、クライアント100のレスポンス生成部170は、生体情報yと、テンプレートの一部(x1[i])と、サーバ200から受信されたチャレンジとを使用して、レスポンスを生成する。レスポンス送信部175は、生成したレスポンスをサーバ200へ送信する。
【0068】
次いで、ステップS305において、サーバ200の判定部240は、クライアント100から受信されたレスポンスの値が、所定の範囲内に含まれるかどうか判定する。レスポンスの値が所定の範囲内に含まれる場合、被登録者と被認証者が一致するとして「認証成功」を示す認証結果が生成される。一方、レスポンスの値が所定の範囲内に含まれない場合、被登録者と被認証者が一致しないとして「認証失敗」を示す認証結果が生成される。判定部240は、生成された認証結果をクライアント100へ送信する。
【0069】
ステップS306において、クライアント100の出力部180は、サーバ200から受信された判定結果を出力する。
【0070】
なお、認証結果は、直接サーバ200から出力されてもよい。また、上述した認証処理は、繰り返し実行されてもよい。
【0071】
以上説明したように、被認証者の生体情報yの認証処理は、クライアント100とサーバ200との間でチャレンジ・レスポンス方式に基づいて行われる。なお、チャレンジ・レスポンス方式において行われる、被登録者の生体情報xと被認証者の生体情報yとの類似度の計算は、準同型暗号を利用した秘密計算を利用して実施される。当該類似度の計算については、下記の具体例において説明する。
【0072】
以下、本実施形態の具体例について説明する。以下の説明では、被登録者の生体情報xと被認証者の生体情報yは、共通のn次元のベクトルであるものとする。また、生体情報xと生体情報yとの類似度が、生体情報xと生体情報yとの内積によって算出される。
【0073】
<1.4.具体例1>
図4は、本実施形態における登録処理の具体例を示す説明図である。
【0074】
まず、クライアント100の分散処理部120は、各i=1,・・・,nに対して、入力された被登録者の生体情報xのi番目の要素x[i]について、x[i]=x1[i]+x2[i]・x3[i]を満たすx1[i],x2[i],x3[i]を求める。
【0075】
次いで、分散処理部120は、{(x1[i],x2[i])}をテンプレートとして記憶部130に保存し、{x3[i]}を検証鍵としてサーバ200へ提供する。
【0076】
図5は、本実施形態における認証処理の具体例を示す説明図である。
【0077】
まず、クライアント100の乱数生成部140は、乱数R∈Ζpをランダムに選択する。Zは、整数全体の集合を表す。
【0078】
次いで、コミットメント生成部160は、コミットメントcom={R・x2[i]・y[i]}を生成する。コミットメント送信部165は、生成されたコミットメントcomをサーバ200に送信する。
【0079】
次いで、サーバ200のチャレンジ生成部230は、値sum=Σcom[i]・x3[i]を算出する。また、乱数生成部220は、乱数r1∈Zpをランダムに選択する。次いで、チャレンジ生成部230は、以下の式(1)によって表されるチャレンジchal1、chal2を生成する。
【0080】
【0081】
式(1)に示されるように、ベクトルの次元数に依存しない形で、群演算が行われる。
【0082】
チャレンジ送信部235は、生成されたチャレンジをクライアント100に送信する。なお、上記値sumは、準同型暗号で暗号化される。
【0083】
次いで、クライアント100のレスポンス生成部170は、値sum1=Σx1[i]・y[i]を算出する。さらに、レスポンス生成部170は、算出された値sum1を使用して、以下の式(2)によって表されるレスポンスresp1、resp2を生成する。
【0084】
【0085】
式(2)に示されるように、ベクトルの次元数に依存しない形で、群演算が行われる。
【0086】
レスポンス送信部175は、生成されたレスポンスをサーバ200へ送信する。なお、レスポンスresp1、resp2は、内積の暗号文である。
【0087】
次いで、サーバ200の判定部240は、レスポンスによって下記(3)に表される値が、所定の範囲Dec rangeに含まれるかどうか判定する。
【0088】
【0089】
所定の範囲Dec rangeに含まれる場合は、被登録者と被認証者が対応していると判定する。一方、所定の範囲Dec rangeに含まれない場合は、被登録者と被認証者は対応していないと判定する。判定部240は、判定結果をクライアント100へ送信する。
【0090】
なお、生体情報xと生体情報yとの類似度を算出するための内積x・yは、以下の式(4)によって算出することができる。
【0091】
【0092】
式(4)において、x1・yは、クライアント100で算出される。したがって、x1に関する情報はサーバ200へ提供されない。また、x2x3・yは、クライアント100とサーバ200との間で秘密計算を利用して算出される。x2とx3は、x2・x3の乗法秘密分散なので、サーバ200において秘密計算を用いて、x2・yの算出結果をx3倍すればよい。
【0093】
x2x3・yの算出結果を秘匿したまま、x1・yとの加算を行うために、準同型暗号が利用される。したがって、暗号化の回数がベクトルの次元数に依存しないため、認証処理における群演算の回数も次元数に依存しない。よって、ベクトルの次元数の増加に伴う群演算の回数の増加を抑制することができ、計算コストを低減することができる。
【0094】
<1.5.具体例2>
続いて、上記具体例1とは別の具体例について説明する。本具体例2では、認証処理において、被認証者の生体情報yを分割する点が上記具体例1と異なる。また、コミットメント、チャレンジ、およびレスポンスに関する処理は、生体情報yの分割部分についてそれぞれ実施される。なお、登録処理は上記具体例1と同様であるため、説明は省略する。
【0095】
図6は、本実施形態における認証処理の別の具体例を示す説明図である。
【0096】
まず、クライアント100の照合情報入力部150は、各i=1,・・・,nに対して、入力された被認証者の生体情報yのi番目の要素y[i]について、y[i]=y1[i]+y2[i]を満たすy1[i]およびy2[i]を求める。
【0097】
次いで、乱数生成部140は、2つの乱数R1、R2∈Ζpをランダムに選択する。
【0098】
次いで、コミットメント生成部160は、y1[i]についてコミットメントcom1={R1・x2[i]・y1[i]}を生成し、y2[i]についてコミットメントcom2={R2・x2[i]・y2[i]}を生成する。コミットメント送信部165は、生成されたコミットメントcom1、com2をサーバ200に送信する。
【0099】
次いで、サーバ200のチャレンジ生成部230は、2つのコミットメントのそれぞれについて、値sum1=Σcom1・x3[i]、sum2=Σcom2・x3[i]を算出する。また、乱数生成部220は、乱数r1∈Zpをランダムに選択する。次いで、チャレンジ生成部230は、以下の式(5)によって表されるチャレンジ(c11,c12)、(c21,c22)を生成する。
【0100】
【0101】
式(5)に示されるように、ベクトルの次元数に依存しない形で、群演算が行われる。
【0102】
チャレンジ送信部235は、生成されたチャレンジをクライアント100へ送信する。
【0103】
次いで、クライアント100のレスポンス生成部170は、値sum=Σx1[i]・y[i]を算出する。さらに、レスポンス生成部170は、算出された値sumを使用して、以下の式(6)によって表されるレスポンス(resp1,resp2)を生成する。
【0104】
【0105】
式(6)に示されるように、ベクトルの次元数に依存しない形で、群演算が行われる。
【0106】
レスポンス送信部175は、生成されたレスポンスをサーバ200へ送信する。
【0107】
次いで、サーバ200の判定部240は、レスポンスによって下記(7)に表される値が、所定の範囲Dec rangeに含まれるかどうか判定する。
【0108】
【0109】
所定の範囲Dec rangeに含まれる場合は、被登録者と被認証者が対応していると判定する。一方、所定の範囲Dec rangeに含まれない場合は、被登録者と被認証者は対応していないと判定する。判定部240は、判定結果をクライアント100へ送信する。
【0110】
このように、本実施形態では、照合情報yを分割して認証処理を実施してもよい。
【0111】
<1.6.ハードウェア構成>
図7は、本実施形態のクライアントやサーバに係るコンピュータのハードウェア構成例を示す概略ブロック図である。なお、クライアントとして用いられるコンピュータと、サーバとして用いられるコンピュータとは、別々のコンピュータである。
【0112】
コンピュータ700は、CPU701と、主記憶装置702と、補助記憶装置703と、インタフェース704と、通信インタフェース705とを備える。
【0113】
本実施形態のクライアントやサーバは、コンピュータ700によって実現される。ただし、上記のように、クライアントとして用いられるコンピュータと、サーバとして用いられるコンピュータとは、別々のコンピュータである。
【0114】
クライアントを実現するコンピュータ700の動作は、クライアント端末用のプログラムの形式で補助記憶装置703に記憶されている。CPU701は、そのクライアント端末用のプログラムを補助記憶装置703から読み出して主記憶装置702に展開し、そのクライアント端末用のプログラムに従って、本実施形態で説明したクライアントの動作を実行する。
【0115】
サーバを実現するコンピュータ700の動作は、サーバ装置用のプログラムの形式で補助記憶装置703に記憶されている。CPU701は、そのサーバ装置用のプログラムを補助記憶装置703から読み出して主記憶装置702に展開し、そのサーバ装置用のプログラムに従って、本実施形態で説明したサーバの動作を実行する。
【0116】
補助記憶装置703は、一時的でない有形の媒体の例である。一時的でない有形の媒体の他の例として、インタフェース704を介して接続される磁気ディスク、光磁気ディスク、CD-ROM(Compact Disk Read Only Memory )、DVD-ROM(Digital Versatile Disk Read Only Memory )、半導体メモリ等が挙げられる。また、プログラムが通信回線によってコンピュータ700に配信される場合、配信を受けたコンピュータ700がそのプログラムを主記憶装置702に展開し、そのプログラムに従って動作してもよい。
【0117】
また、クライアントの各構成要素の一部または全部は、汎用または専用の回路(circuitry )、プロセッサ等や、これらの組み合わせによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部または全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。サーバに関しても同様である。
<1.7.効果の説明>
【0118】
本実施形態によれば、被登録者の生体情報xはクライアント100とサーバ200との間で秘密分散されるので、個人が識別可能な状態での情報漏えいは防止され得る。
【0119】
また、本実施形態の照合システム10はチャレンジ・レスポンス方式で認証を行うため、認証ごとにレスポンスの値が変更される。すなわち、攻撃者がレスポンスの値を盗聴したとしても、盗聴された値は次の認証においてもはや使用不能であるため、なりすましが防止され得る。
【0120】
また、被登録者の生体情報xと被認証者の生体情報yとの類似度計算は、準同型暗号を利用した秘密計算で行われるとともに、暗号化の回数がベクトルの次元数に依存しないように行われるので、計算コストの大きな群演算の回数も当該次元数に依存しなくなり、計算コストの低減が可能になる。すなわち、類似度計算に要する計算時間を短くし、計算処理を高速化することが可能になる。
【0121】
なお、所定の範囲Dec rangeは、ユーザ毎、クライアント毎に変更されてもよい。また、所定の範囲Dec rangeは、外部要因等に応じて変更されてもよい。外部要因の例として、サーバが受け付ける認証の頻度、不審なアクセスの頻度、通信ネットワークやCPUの負荷の状態等が挙げられる。所定の範囲Dec rangeが変更されると、通信ネットワークやCPUの負荷が低減する可能性がある。
【0122】
なお、照合システム10が実行する処理のうち、登録処理を実行する照合システムが構成されてもよい。例えば、登録情報入力部110と、分散処理部120と、記憶部130とを備えるクライアントと、記憶部210を備えるサーバとで登録用照合システムが構成されてもよい。
【0123】
同様に、照合システム10が実行する処理のうち、認証処理を実行する照合システムが構成されてもよい。例えば、乱数生成部140と、照合情報入力部150と、コミットメント生成部160と、コミットメント送信部165と、レスポンス生成部170と、レスポンス送信部175と、出力部180とを備えるクライアントと、乱数生成部220と、チャレンジ生成部2230と、チャレンジ送信部235と、判定部240とを備えるサーバとで認証用照合システムが構成されてもよい。
【0124】
<<2.第2の実施形態>>
次に、
図8を参照して、本発明の第2の実施形態を説明する。上述した第1の実施形態は具体的な実施形態であるが、第2の実施形態は、より一般化された実施形態である。
【0125】
<2.1.システム構成>
図8は、第2の実施形態の照合システムの構成例を示すブロック図である。本実施形態の照合システム20は、クライアント800とサーバ900とを備える。なお、1台のクライアント800が示されているが、クライアント800は複数存在してもよい。クライアント800とサーバ900とは、通信ネットワークを介して通信可能である。
【0126】
クライアント800は、分散処理部810と、コミットメント生成部820と、コミットメント送信部825と、レスポンス生成部830と、レスポンス送信部835とを備える。サーバ900は、チャレンジ生成部910と、チャレンジ送信部915とを備える。各構成要素の具体的な動作は後述する。
【0127】
クライアント800に関して、分散処理部810、コミットメント生成部820、コミットメント送信部825、レスポンス生成部830、およびレスポンス送信部835は、例えば、クライアント端末用のプログラムに従って動作するコンピュータのCPU(Central Processing Unit)、および、そのコンピュータの通信インタフェースによって実現される。例えば、CPUが、コンピュータのプログラム記憶装置等のプログラム記録媒体からクライアント端末用のプログラムを読み込み、そのプログラムに従って、通信インタフェースを用いて、コミットメント生成部820、コミットメント送信部825、レスポンス生成部830、およびレスポンス送信部835として動作すればよい。
【0128】
サーバ900に関して、チャレンジ生成部910およびチャレンジ送信部915は、例えば、サーバ装置用のプログラムに従って動作するコンピュータのCPU、および、そのコンピュータの通信インタフェースによって実現される。例えば、CPUが、コンピュータのプログラム記憶装置等のプログラム記録媒体からサーバ装置用のプログラムを読み込み、そのプログラムに従って、通信インタフェースを用いて、チャレンジ生成部230、チャレンジ送信部235、および判定部240として動作すればよい。
【0129】
<2.2.登録フェーズ>
第2の実施形態の登録フェーズの動作例について説明する。
【0130】
クライアント800の分散処理部810は、登録情報を第1の情報及び第2の情報に分割して、第2の情報をサーバ900に提供する。すなわち、分散処理部810は、秘密分散処理部として機能する。
【0131】
<2.3.認証フェーズ>
第2の実施形態の認証フェーズの動作例について説明する。
【0132】
クライアント800のコミットメント生成部820は、登録情報との照合のために入力される照合情報と、上記第1の情報とに基づいて、登録情報と照合情報との類似度計算の第1ステップを実行する。すなわち、コミットメント生成部820は、第1の類似度計算処理を実行する第1の類似度計算部として機能する。
【0133】
コミットメント送信部825は、上記第1ステップの計算結果をサーバ900に送信する。すなわち、コミットメント送信部825は、第1の送信部として機能する。
【0134】
サーバ900のチャレンジ生成部910は、クライアント800から受信した上記第1ステップの計算結果と、上記第2の情報とに基づいて、類似度計算の第2ステップを実行する。すなわち、チャレンジ生成部910は、第2の類似度計算処理を実行する第2の類似度計算部として機能する。
【0135】
チャレンジ送信部915は、上記第2ステップの計算結果をクライアント800に送信する。すなわち、チャレンジ送信部915は、第2の送信部として機能する。
【0136】
クライアント800のレスポンス生成部830は、サーバ900から受信した上記第2ステップの計算結果と、上記第1の情報とに基づいて、類似度計算の第3ステップを実行し、登録情報と照合情報との類似度を算出する。すなわち、レスポンス生成部830は、第3の類似度計算処理を実行する第3の類似度計算部として機能する。
【0137】
-第1の実施形態との関係
【0138】
一例として、第2の実施形態のクライアント800とサーバ900はそれぞれ、第1の実施形態のクライアント100とサーバ200である。この場合に、第1の実施形態についての説明は、第2の実施形態にも適用され得る。
【0139】
なお、第2の実施形態は、この例に限定されない。
【0140】
<2.4.効果の説明>
第2の実施形態によれば、登録情報の漏えいやなりすましを防止するとともに、被登録者の登録情報と被認証者の照合情報とを照合するための計算コストを低減することが可能になる。
【0141】
<<3.他の実施形態>>
なお、本発明は上述した実施形態に限定されるものではない。上述した実施形態は例示にすぎないということ、及び、本発明のスコープ及び精神から逸脱することなく様々な変形が可能であるということは、当業者に理解されるであろう。
【0142】
例えば、本明細書に記載されている処理におけるステップは、必ずしもフローチャートに記載された順序に沿って時系列に実行されなくてよい。例えば、処理におけるステップは、フローチャートとして記載した順序と異なる順序で実行されても、並列的に実行されてもよい。また、処理におけるステップの一部が削除されてもよく、さらなるステップが処理に追加されてもよい。
【0143】
また、本明細書において説明した照合システムの構成要素を備える装置(例えば、照合システムを構成する複数の装置(又はユニット)のうちの1つ以上の装置(又はユニット)、又は上記複数の装置(又はユニット)のうちの1つのためのモジュール)が提供されてもよい。また、上記構成要素の処理を含む方法が提供されてもよく、上記構成要素の処理をプロセッサに実行させるためのプログラムが提供されてもよい。また、当該プログラムを記録したコンピュータに読み取り可能な非一時的記録媒体(Non-transitory computer readable medium)が提供されてもよい。当然ながら、このような装置、モジュール、方法、プログラム、及びコンピュータに読み取り可能な非一時的記録媒体も本発明に含まれる。
【0144】
<<4.付記>>
上記の本発明の実施形態は、以下の付記のようにも記載され得るが、以下に限定されるわけではない。
【0145】
(付記1)
クライアント端末とサーバ装置とを備えた照合システムであって、
前記クライアント端末において、登録情報を第1の情報及び第2の情報に分割して、前記第2の情報を前記サーバ装置に提供する秘密分散処理部と、
前記クライアント端末において、前記登録情報との照合のために入力される照合情報と、前記第1の情報とに基づいて、前記登録情報と前記照合情報との類似度計算の第1ステップを実行する第1の類似度計算部と、
前記クライアント端末において、前記第1ステップの計算結果を前記サーバ装置に送信する第1の送信部と、
前記サーバ装置において、前記クライアント端末から受信した前記第1ステップの計算結果と、前記第2の情報とに基づいて、前記類似度計算の第2ステップを実行する第2の類似度計算部と、
前記サーバ装置において、前記第2ステップの計算結果を前記クライアント端末に送信する第2の送信部と、
前記クライアント端末において、前記サーバ装置から受信した前記第2ステップの計算結果と、前記第1の情報とに基づいて、前記類似度計算の第3ステップを実行し、前記登録情報と前記照合情報との類似度を算出する第3の類似度計算部と、
を備えたことを特徴とする照合システム。
【0146】
(付記2)
前記登録情報をxとし、前記第1の情報をx1、x2とし、前記第2の情報をx3とすると、前記登録情報は、x=x1+x2・x3を満たすように分割されることを特徴とする付記1に記載の照合システム。
【0147】
(付記3)
前記類似度計算は、前記登録情報と前記照合情報との内積であって、前記照合情報をyとすると、x・y=(x1+x2・x3)・yで表され、
前記第1ステップでは、x2・yが算出され、
前記第2ステップでは、前記第1ステップの算出結果がx3倍され、
前記第3ステップでは、前記第2ステップの算出結果にx1・yが加算されることを特徴とする付記2に記載の照合システム。
【0148】
(付記4)
前記照合情報は、y=y1+y2を満たすように分割され、前記第1ステップ、前記第2ステップ、および前記第3ステップは、y1およびy2のそれぞれについて実行されることを特徴とする付記3に記載の照合システム。
【0149】
(付記5)
前記第2ステップおよび前記第3ステップは、秘密計算によって行われることを特徴とする付記1乃至4のいずれか1項に記載の照合システム。
【0150】
(付記6)
前記登録情報および前記照合情報は、共通のn次元のベクトルであることを特徴とする付記1乃至5のいずれか1項に記載の照合システム。
【0151】
(付記7)
前記クライアント端末と前記サーバ装置は、チャレンジ・レスポンス方式に基づいて前記類似度計算を実行することを特徴とする付記1乃至6のいずれか1項に記載の照合システム。
【0152】
(付記8)
前記登録情報および前記照合情報は、生体情報の特徴量を表すことを特徴とする付記1乃至6のいずれか1項に記載の照合システム。
【0153】
(付記9)
登録情報を第1の情報及び第2の情報に分割して、前記第1の情報を記憶し、前記第2の情報をサーバ装置に提供する秘密分散処理部と、
前記登録情報との照合のために入力される照合情報と、前記第1の情報とに基づいて、前記登録情報と前記照合情報との類似度計算の第1ステップを実行する第1の類似度計算部と、
前記第1ステップの計算結果を前記サーバ装置に送信する送信部と、
前記サーバ装置から受信した前記第1ステップの計算結果と前記第2の情報とに基づく前記類似度計算の第2ステップの計算結果と、前記第1の情報とに基づいて、前記類似度計算の第3ステップを実行し、前記登録情報と前記照合情報との類似度を算出する第3の類似度計算部と、
を備えたことを特徴とするクライアント端末。
【0154】
(付記10)
登録情報から分割された第1の情報と、前記登録情報との照合のために入力される照合情報との類似度計算の第1ステップの計算結果をクライアント端末から受信し、前記第1ステップの計算結果と、前記登録情報から分割された第2の情報とに基づいて、前記類似度計算の第2ステップを実行する第2の類似度計算部と、
前記第2ステップの計算結果を、前記クライアント端末が前記第2ステップの計算結果と前記第1の情報とに基づく前記類似度計算の第3ステップを実行するために、前記クライアント端末に送信する送信部と、
を備えたことを特徴とするサーバ装置。
【0155】
(付記11)
クライアント端末とサーバ装置とを備えた照合システムにおける照合方法であって、
前記クライアント端末によって、登録情報を第1の情報及び第2の情報に分割して、前記第2の情報を前記サーバ装置に提供し、
前記クライアント端末によって、前記登録情報との照合のために入力される照合情報と、前記第1の情報とに基づいて、前記登録情報と前記照合情報との類似度計算の第1ステップを実行し、
前記クライアント端末によって、前記第1ステップの計算結果を前記サーバ装置に送信し、
前記サーバ装置によって、前記クライアント端末から受信した前記第1ステップの計算結果と、前記第2の情報とに基づいて、前記類似度計算の第2ステップを実行し、
前記サーバ装置によって、前記第2ステップの計算結果を前記クライアント端末に送信し、
前記クライアント端末によって、前記サーバ装置から受信した前記第2ステップの計算結果と、前記第1の情報とに基づいて、前記類似度計算の第3ステップを実行し、前記登録情報と前記照合情報との類似度を算出する
ことを特徴とする照合方法。
【0156】
(付記12)
登録情報を第1の情報及び第2の情報に分割して、前記第1の情報を記憶し、前記第2の情報をサーバ装置に提供する秘密分散処理と、
前記登録情報との照合のために入力される照合情報と、前記第1の情報とに基づいて、前記登録情報と前記照合情報との類似度計算の第1ステップを実行する第1の類似度計算処理と、
前記第1ステップの計算結果を前記サーバ装置に送信する送信処理と、
前記サーバ装置から受信した前記第1ステップの計算結果と前記第2の情報とに基づく前記類似度計算の第2ステップの計算結果と、前記第1の情報とに基づいて、前記類似度計算の第3ステップを実行し、前記登録情報と前記照合情報との類似度を算出する第3の類似度計算処理と、
をコンピュータに実行させるクライアント端末用のプログラム。
【0157】
(付記13)
登録情報から分割された第1の情報と、前記登録情報との照合のために入力される照合情報との類似度計算の第1ステップの計算結果をクライアント端末から受信し、前記第1ステップの計算結果と、前記登録情報から分割された第2の情報とに基づいて、前記類似度計算の第2ステップを実行する第2の類似度計算処理と、
前記第2ステップの計算結果を、前記クライアント端末が前記第2ステップの計算結果と前記第1の情報とに基づく前記類似度計算の第3ステップを実行するために、前記クライアント端末に送信する送信処理と、
をコンピュータに実行させるサーバ装置用のプログラム。
【産業上の利用の可能性】
【0158】
本発明は、クライアントとサーバとを用いて認証を行う照合システムに好適に適用される。
【符号の説明】
【0159】
10 照合システム
100 クライアント
110 登録情報入力部
120 分散処理部
130 記憶部
140 乱数生成部
150 照合情報入力部
160 コミットメント生成部
165 コミットメント送信部
170 レスポンス生成部
175 レスポンス送信部
180 出力部
200 サーバ
210 記憶部
220 乱数生成部
230 チャレンジ生成部
235 チャレンジ送信部
240 判定部