IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

特許7597118照合システム、照合方法、及び、照合プログラム
<>
  • 特許-照合システム、照合方法、及び、照合プログラム 図1
  • 特許-照合システム、照合方法、及び、照合プログラム 図2
  • 特許-照合システム、照合方法、及び、照合プログラム 図3
  • 特許-照合システム、照合方法、及び、照合プログラム 図4
  • 特許-照合システム、照合方法、及び、照合プログラム 図5
  • 特許-照合システム、照合方法、及び、照合プログラム 図6
  • 特許-照合システム、照合方法、及び、照合プログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-02
(45)【発行日】2024-12-10
(54)【発明の名称】照合システム、照合方法、及び、照合プログラム
(51)【国際特許分類】
   H04L 9/32 20060101AFI20241203BHJP
   G06F 21/32 20130101ALI20241203BHJP
   G09C 1/00 20060101ALI20241203BHJP
   H04L 9/08 20060101ALI20241203BHJP
【FI】
H04L9/32 200A
G06F21/32
G09C1/00 660D
H04L9/08 D
【請求項の数】 9
(21)【出願番号】P 2022556305
(86)(22)【出願日】2020-10-21
(86)【国際出願番号】 JP2020039598
(87)【国際公開番号】W WO2022085126
(87)【国際公開日】2022-04-28
【審査請求日】2023-04-14
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】奈良 成泰
(72)【発明者】
【氏名】岡村 利彦
(72)【発明者】
【氏名】一色 寿幸
(72)【発明者】
【氏名】田宮 寛人
【審査官】田名網 忠雄
(56)【参考文献】
【文献】国際公開第2020/121458(WO,A1)
【文献】国際公開第2011/052056(WO,A1)
【文献】特開2017-076839(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/32
G06F 21/32
G09C 1/00
H04L 9/08
(57)【特許請求の範囲】
【請求項1】
共通乱数を生成する共通乱数生成手段と、
複数の被登録者の生体情報である複数の登録情報のそれぞれに固有の複数の識別情報を生成する識別情報生成手段と、
前記共通乱数を用いて前記複数の登録情報のそれぞれに共通の共通鍵を生成すると共に、前記複数の識別情報を用いて前記複数の登録情報のそれぞれに固有の複数の固有鍵を生成する、鍵生成手段と、
各前記登録情報と、前記共通鍵の一部である秘密鍵、当該登録情報に対応する固有鍵と組み合わせた所定の演算処理を行うことにより、前記複数の登録情報のそれぞれを秘匿化した複数の秘匿化情報を生成する秘匿化手段と、
クライアントと、
検証サーバと、
を備え、
前記クライアントは、
被認証者の生体情報である照合情報と前記複数の秘匿化情報のそれぞれとの内積を、被認証者の生体情報である照合情報と、前記複数の秘匿化情報のそれぞれと、の近似度を表す複数の秘匿化指標として、前記複数の秘匿化情報の秘匿化を解除することなく算出する秘匿化指標算出手段を有し、
前記検証サーバは、
各前記秘匿化指標と、前記共通鍵の他の一部である公開鍵、前記秘匿化指標に対応する固有鍵と組み合わせた所定の演算処理を行うことにより、前記複数の秘匿化指標のそれぞれを復号した複数の指標を生成するとともに、前記複数の指標の何れかが所定範囲内の値を示すか否かに基づいて、前記照合情報についての認証を行う判定手段を有する、
照合システム。
【請求項2】
前記判定手段は、前記複数の指標の何れか一つが前記所定範囲内の値を示す場合、前記照合情報についての認証を受理する、
請求項1に記載の照合システム。
【請求項3】
前記検証サーバは、
前記照合情報ごとにチャレンジ信号を生成して前記クライアントに送信するチャレンジ生成手段をさらに備え、
前記クライアントにおいて、
前記秘匿化指標算出手段は、前記チャレンジ信号に対応するレスポンス信号として前記複数の秘匿化指標を出力するように構成されている、
請求項1又は2に記載の照合システム。
【請求項4】
前記照合情報及び前記複数の登録情報は、何れもベクトルによって表される、
請求項1~の何れか一項に記載の照合システム。
【請求項5】
前記クライアントにおいて、前記秘匿化指標算出手段は、前記照合情報と、前記複数の秘匿化情報のそれぞれと、の内積によって、前記複数の秘匿化指標を算出する、
請求項1~の何れか一項に記載の照合システム。
【請求項6】
少なくとも前記識別情報生成手段、前記鍵生成手段、及び、前記秘匿化手段は、前記クライアントに設けられている、
請求項1~の何れか一項に記載の照合システム。
【請求項7】
少なくとも前記識別情報生成手段、前記鍵生成手段、及び、前記秘匿化手段は、前記クライアント及び前記検証サーバとは別の登録サーバに設けられている、
請求項1~の何れか一項に記載の照合システム。
【請求項8】
コンピュータが、
共通乱数を生成し、
複数の被登録者の生体情報である複数の登録情報のそれぞれに固有の複数の識別情報を生成し、
前記共通乱数を用いて前記複数の登録情報のそれぞれに共通の共通鍵を生成すると共に、前記複数の識別情報を用いて前記複数の登録情報のそれぞれに固有の複数の固有鍵を生成し、
各前記登録情報と、前記共通鍵の一部である秘密鍵、当該登録情報に対応する固有鍵と組み合わせた所定の演算処理を行うことにより、前記複数の登録情報のそれぞれを秘匿化した複数の秘匿化情報を生成し、
クライアントにおいて、被認証者の生体情報である照合情報と前記複数の秘匿化情報のそれぞれとの内積を、被認証者の生体情報である照合情報と、前記複数の秘匿化情報のそれぞれと、の近似度を表す複数の秘匿化指標として、前記複数の秘匿化情報の秘匿化を解除することなく算出し、
検証サーバにおいて、各前記秘匿化指標と、前記共通鍵の他の一部である公開鍵、前記秘匿化指標に対応する固有鍵と組み合わせた所定の演算処理を行うことにより、前記複数の秘匿化指標のそれぞれを復号した複数の指標を生成するとともに、前記複数の指標の何れかが所定範囲内の値を示すか否かに基づいて、前記照合情報についての認証を行う、
照合方法。
【請求項9】
共通乱数を生成する共通乱数生成処理と、
複数の被登録者の生体情報である複数の登録情報のそれぞれに固有の複数の識別情報を生成する識別情報生成処理と、
前記共通乱数を用いて前記複数の登録情報のそれぞれに共通の共通鍵を生成すると共に、前記複数の識別情報を用いて前記複数の登録情報のそれぞれに固有の複数の固有鍵を生成する、鍵生成処理と、
各前記登録情報と、前記共通鍵の一部である秘密鍵、当該登録情報に対応する固有鍵と組み合わせた所定の演算処理を行うことにより、前記複数の登録情報のそれぞれを秘匿化した複数の秘匿化情報を生成する秘匿化処理と、
クライアントにおいて、被認証者の生体情報である照合情報と前記複数の秘匿化情報のそれぞれとの内積を、被認証者の生体情報である照合情報と、前記複数の秘匿化情報のそれぞれと、の近似度を表す複数の秘匿化指標をとして、前記複数の秘匿化情報の秘匿化を解除することなく算出する秘匿化指標算出処理と、
検証サーバにおいて、各前記秘匿化指標と、前記共通鍵の他の一部である公開鍵、前記秘匿化指標に対応する固有鍵と組み合わせた所定の演算処理を行うことにより、前記複数の秘匿化指標のそれぞれを復号した複数の指標を生成するとともに、前記複数の指標の何れかが所定範囲内の値を示すか否かに基づいて、前記照合情報についての認証を行う判定処理と、
をコンピュータに実行させる照合プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、照合システム、照合方法、及び、コンピュータ可読媒体に関する。
【背景技術】
【0002】
認証の一例として、生体認証がある。「生体認証」とは、被登録者の生体情報と、被認証者の生体情報と、を照合することにより、被登録者と被認証者とが一致するか否かを確認する個人認証の手法である。また、「生体情報」とは、身体や行動に関する一部の特徴から抽出されたデータ、または、その抽出されたデータを変換することによって生成されたデータである。このデータは、特徴量と称されることもある。ここで、被登録者の生体情報(以下、登録情報と称す)によって生成されたデータを含む、生体認証のために予め保存されるデータは、テンプレートと呼ばれている。
【0003】
クライアント・サーバシステムによって生体認証を行う場合、テンプレートをクライアントに保存する態様と、テンプレートをサーバに保存する態様と、がある。
【0004】
特許文献1および特許文献2には、暗号化された登録情報をテンプレートとしてサーバに保存することにより、登録情報が漏えいしない認証装置および認証方法の一例が記載されている。
【0005】
また、特許文献3には、二値のベクトルに関して安全性を高める照合システムが記載されている。
【0006】
さらに、特許文献4には、暗号化された登録情報をテンプレートとしてクライアントに保存することにより、登録情報が漏洩しない認証装置および認証方法の一例が記載されている。暗号化された登録情報をテンプレートとしてクライアントに保存することにより、サーバに保存する場合よりも、データ漏洩発生時の被害を軽減することができる。
【先行技術文献】
【特許文献】
【0007】
【文献】特開2011-211593号公報
【文献】特開2009-129292号公報
【文献】国際公開第2018/110608号
【文献】国際公開第2020/121458号
【発明の概要】
【発明が解決しようとする課題】
【0008】
生体認証では、N個(Nは1以上の整数)のテンプレートと被認証者の生体情報とを照合し、一致するものがないか確認する認証形式(以下、1:N認証と記す)がある。1:N認証では、例えば1個のテンプレートと被認証者の生体情報とを照合し確認する認証形式(以下、1:1認証と記す)をN回繰り返す方法が考えられる。しかしながら、この方法では、クライアントやサーバの通信量、計算量及び記憶するデータ量が、1:1認証と比べてN倍になり、Nの値が大きくなるほど効率が悪くなるという課題があった。
【0009】
本開示は、このような課題を解決するためになされたものであり、効率的な1:N認証の照合システム、照合方法、及び、コンピュータ可読媒体を提供することを目的とする。
【課題を解決するための手段】
【0010】
本開示にかかる照合システムは、共通乱数を生成する共通乱数生成手段と、複数の被登録者の生体情報である複数の登録情報のそれぞれに固有の複数の識別情報を生成する識別情報生成手段と、前記共通乱数を用いて前記複数の登録情報のそれぞれに共通の共通鍵を生成すると共に、前記複数の識別情報を用いて前記複数の登録情報のそれぞれに固有の複数の固有鍵を生成する、鍵生成手段と、前記共通鍵と前記複数の固有鍵とを用いて前記複数の登録情報のそれぞれを秘匿化した複数の秘匿化情報を生成する秘匿化手段と、クライアントと、検証サーバと、を備え、前記クライアントは、被認証者の生体情報である照合情報と、前記複数の秘匿化情報のそれぞれと、の近似度を表す複数の秘匿化指標を算出する秘匿化指標算出手段を有し、前記検証サーバは、前記共通鍵と前記複数の固有鍵とを用いて前記複数の秘匿化指標のそれぞれを復号した複数の指標を生成するとともに、前記複数の指標の何れかが所定範囲内の値を示すか否かに基づいて、前記照合情報についての認証を行う判定手段を有する。
【0011】
本開示にかかる照合方法は、共通乱数を生成する共通乱数生成ステップと、複数の被登録者の生体情報である複数の登録情報のそれぞれに固有の複数の識別情報を生成する識別情報生成ステップと、前記共通乱数を用いて前記複数の登録情報のそれぞれに共通の共通鍵を生成すると共に、前記複数の識別情報を用いて前記複数の登録情報のそれぞれに固有の複数の固有鍵を生成する、鍵生成ステップと、前記共通鍵と前記複数の固有鍵とを用いて前記複数の登録情報のそれぞれを秘匿化した複数の秘匿化情報を生成する秘匿化ステップと、クライアントにおいて、被認証者の生体情報である照合情報と、前記複数の秘匿化情報のそれぞれと、の近似度を表す複数の秘匿化指標を算出する秘匿化指標算出ステップと、検証サーバにおいて、前記共通鍵と前記複数の固有鍵とを用いて前記複数の秘匿化指標のそれぞれを復号した複数の指標を生成するとともに、前記複数の指標の何れかが所定範囲内の値を示すか否かに基づいて、前記照合情報についての認証を行う判定ステップと、を備える。
【0012】
本開示にかかる非一時的なコンピュータ可読媒体は、共通乱数を生成する共通乱数生成処理と、複数の被登録者の生体情報である複数の登録情報のそれぞれに固有の複数の識別情報を生成する識別情報生成処理と、前記共通乱数を用いて前記複数の登録情報のそれぞれに共通の共通鍵を生成すると共に、前記複数の識別情報を用いて前記複数の登録情報のそれぞれに固有の複数の固有鍵を生成する、鍵生成処理と、前記共通鍵と前記複数の固有鍵とを用いて前記複数の登録情報のそれぞれを秘匿化した複数の秘匿化情報を生成する秘匿化処理と、クライアントにおいて、被認証者の生体情報である照合情報と、前記複数の秘匿化情報のそれぞれと、の近似度を表す複数の秘匿化指標を算出する秘匿化指標算出処理と、検証サーバにおいて、前記共通鍵と前記複数の固有鍵とを用いて前記複数の秘匿化指標のそれぞれを復号した複数の指標を生成するとともに、前記複数の指標の何れかが所定範囲内の値を示すか否かに基づいて、前記照合情報についての認証を行う判定処理と、をコンピュータに実行させる照合プログラムが格納されている。
【発明の効果】
【0013】
本開示により、効率的な1:N認証の照合システム、照合方法、及び、コンピュータ可読媒体を提供することができる。
【図面の簡単な説明】
【0014】
図1】実施の形態1に係る照合システムの構成例を示すブロック図である。
図2】実施の形態2に係る照合システムの構成例を示すブロック図である。
図3図2に示す照合システムにおける共通乱数の生成動作を示すフローチャートである。
図4図2に示す照合システムにおける登録処理及び認証処理の動作を示すフロー図である。
図5図2に示す照合システムの第1の適用事例を示すブロック図である。
図6図2に示す照合システムの第2の適用事例を示すブロック図である。
図7】実施の形態1,2に係る照合システムが適用されたクライアント及びサーバを実現するコンピュータの概略を示すブロック図である。
【発明を実施するための形態】
【0015】
以下では、本開示の実施形態について、図面を参照しながら詳細に説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。
【0016】
なお、以下の説明では、本開示の照合システムが生体認証に適用される場合を例に説明するが、これに限られず、生体認証以外の認証や照合処理に適用されてもよい。
【0017】
<実施の形態1>
図1は、実施の形態1に係る照合システムの概要を示すブロック図である。
実施の形態1に係る照合システムは、共通乱数生成部111と、ID発行部123と、鍵生成部125と、秘匿化部126と、秘匿化指標算出部134と、判定部144と、を備える。なお、秘匿化指標算出部134は、クライアントに設けられている。判定部144は、検証サーバに設けられている。
【0018】
共通乱数生成部111は、start信号が入力されると共通乱数CRを生成する。ID発行部123は、被登録者の生体情報(以下、登録情報と記す)XごとにID(IDentification)を発行する。鍵生成部125は、入力された共通乱数CRを用いてIDごとに固有の秘匿化鍵sk_IDを生成する。秘匿化部126は、登録情報Xごとに当該登録情報Xを秘匿化鍵sk_IDによって秘匿化する。秘匿化部126は、複数の登録情報Xを秘匿化した情報(以下、秘匿化情報と記す)を、テンプレートとして、クライアントに送信する。
【0019】
クライアントにおいて、秘匿化指標算出部134は、複数のテンプレート(即ち、登録情報Xを秘匿化することによって得られた秘匿化情報)と、照合情報Y(登録情報Xとの照合に用いられる被認証者の生体情報)と、に基づいて、複数の登録情報Xのそれぞれと照合情報Yとの近さを示す値である指標を秘匿化したデータ(以下、秘匿化指標と記す)を算出し、算出した複数の秘匿化指標を検証サーバに送信する。
【0020】
検証サーバにおいて、判定部144は、クライアントから送信された複数の秘匿化指標を取得する。そして、判定部144は、まず、共通鍵CRとID毎に固有の複数の秘匿化鍵sk_IDとを用いて複数の秘匿化指標のそれぞれを復号した複数の指標を生成する。その後、判定部144は、復号した複数の指標の何れかが、予め定められた受理範囲内の値であるか否かを判定することによって1:N認証を行う。受理範囲内にある指標が1つ存在した場合のみ、判定部144は、IDと、認証に成功した(認証が受理された)ことを示す認証結果情報とを、クライアントに送信する。それに対し、受理範囲内の指標が存在しない場合、又は、受理範囲内にある指標が複数存在する場合、判定部144は、認証に失敗したことを示す認証結果情報を、クライアントに送信する。
【0021】
例えば、クライアントは、検証サーバから認証に成功したことを示す認証結果情報を受け取った場合、IDに対応する認証後の処理を実行する。但し、認証後の処理を実行する装置は、クライアントに限定されず、認証に成功したことを示す認証結果情報が得られたことを条件に、クライアント以外の装置がIDに対応する認証後の処理を実行してもよい。
【0022】
このように、実施の形態1に係る照合システムは、各テンプレートの生成に用いられる秘匿化鍵の一部を共通化しているため、共通化していない場合と比較して、クライアントが保持するデータ数及び検証サーバが保持する鍵の数を減少させたり、クライアント及び検証サーバのべき乗算の回数や通信量を減少させたりすることができる。つまり、実施の形態1に係る照合システムは、効率的な1:N認証を行うことができる。
【0023】
なお、実施の形態1に係る照合システムでは、暗号化された登録情報がテンプレートとしてクライアントに保存されるため、サーバに保存される場合よりも、データ漏洩発生時の被害が軽減される。つまり、実施の形態1に係る照合システムは、セキュリティ性能を向上させつつ、効率的な1:N認証を行うことができる。
【0024】
<実施の形態2>
図2は、実施の形態2に係る照合システム100の構成例を示すブロック図である。図2に示す照合システム100は、図1に示す照合システムをより詳細に示したブロック図である。
【0025】
図2に示すように、照合システム100は、共通乱数生成装置110と、登録情報秘匿化装置120と、秘匿化指標算出装置130と、秘匿化指標検証装置140と、を備える。
【0026】
なお、本実施形態では、登録情報及び照合情報が共通の次元のベクトルで表されている場合を例にして説明する。また、本実施形態において、生体情報は、指紋以外に虹彩、網膜、顔、血管(静脈)、掌紋、声紋、又はこれらの組み合わせから抽出されてもよい。或いは、生体情報は、上述した例以外の、生体を識別可能な他の情報から抽出されてもよい。
【0027】
(共通乱数生成装置110の構成)
共通乱数生成装置110は、共通乱数生成部111と共通乱数記憶部112とを備える。共通乱数生成装置110は、共通乱数CRを生成する。共通乱数生成部111は、start信号が入力されると共通乱数CRを生成する。共通乱数記憶部112は、共通乱数生成部111によって生成された共通乱数CRを記憶する。共通乱数生成装置110によって生成された共通乱数CRは、登録情報秘匿化装置120において用いられる。
【0028】
(登録情報秘匿化装置120の構成)
登録情報秘匿化装置120は、登録情報入力部121と、共通乱数入力部122と、ID発行部123と、乱数生成部124と、鍵生成部125と、秘匿化部126と、を備える。
【0029】
登録情報入力部121は、被登録者の生体情報(以下、登録情報と記す)Xの入力を受け付ける。登録情報入力部121は、登録情報Xの種類に応じた入力デバイスであればよい。例えば、指紋から抽出される生体情報を登録情報Xとする場合、登録情報入力部121は、指紋を読み取り、その指紋から被登録者の生体情報となるベクトルを抽出し、そのベクトルを登録情報Xとして受け付ける入力デバイスであってもよい。また、登録情報入力部121は、被登録者の生体情報となるベクトルが登録情報Xとして直接入力される入力デバイスであってもよい。
【0030】
共通乱数入力部122は、共通乱数生成装置110からの共通乱数CRを受け付ける。共通乱数入力部122は、受け付けた共通乱数CRを鍵生成部125に出力する。ID発行部123は、登録情報入力部121に登録情報Xが入力されるごとにIDを発行する。乱数生成部124は、発行されたIDごとに乱数R_IDを生成する。乱数生成部124によって生成された乱数R_IDに入力される。
【0031】
鍵生成部125は、共通乱数CRと乱数R_IDを用いて秘匿化鍵を生成する。ここで、本実施形態には、公開鍵暗号方式に基づくデジタル署名が採用されている。そのため、鍵生成部125は、共通乱数CRを用いてデジタル署名の公開鍵pkおよび秘密鍵skを生成する。なお、秘密鍵skは秘匿化鍵としても用いられる。また、鍵生成部125は、共通乱数CRを用いて共通秘匿化鍵sk_Cを生成するとともに、共通乱数CR及び乱数R_IDを用いて登録情報Xごとに秘匿化鍵sk_IDを生成する。鍵生成部125は、秘密鍵sk、共通秘匿化鍵sk_C、及び、登録情報Xごとの秘匿化鍵sk_IDを、秘匿化部126に出力する。また、鍵生成部125は、公開鍵pk、共通秘匿化鍵sk_C、及び、登録情報Xごとの秘匿化鍵sk_IDを、秘匿化指標検証装置140に送信する。
【0032】
秘匿化部126は、登録情報入力部121に入力された登録情報Xを、秘密鍵sk、共通秘匿化鍵sk_C、及び、当該登録情報Xに対応する秘匿化鍵sk_IDを用いて秘匿化する。秘匿化部126は、登録情報Xを秘匿化した情報(以下、秘匿化情報と記す)を、秘匿化指標算出装置130に送信する。
【0033】
共通乱数入力部122、鍵生成部125、秘匿化部126は、例えば、クライアント用プログラムに従って動作するコンピュータのCPU(Central Processing Unit)、および、そのコンピュータの通信インタフェースによって実現される。例えば、CPUが、コンピュータのプログラム記憶装置等のプログラム記録媒体からクライアント用プログラムを読み込み、そのプログラムに従って、通信インタフェースを用いて、共通乱数入力部122、鍵生成部125、秘匿化部126として動作すればよい。また、ID発行部123および乱数生成部124は、例えば、クライアント用プログラムに従って動作するコンピュータのCPUによって実現される。例えば、CPUが上記のようにプログラム記録媒体からクライアント用プログラムを読み込み、そのプログラムに従って、ID発行部123および乱数生成部124として動作すればよい。
【0034】
(秘匿化指標算出装置130の構成)
秘匿化指標算出装置130は、秘匿化情報受信部131と、秘匿化情報記憶部132と、照合情報入力部133と、秘匿化指標算出部134と、出力部135と、を備える。
【0035】
秘匿化情報受信部131は、登録情報秘匿化装置120から送信される秘匿化情報を受信し、秘匿化情報記憶部132に記憶させる。秘匿化情報記憶部132は、秘匿化情報を記憶する装置である。
【0036】
照合情報入力部133は、登録情報Xとの照合に用いられる被認証者の生体情報(以下、照合情報と記す)Yの入力を受け付ける。照合情報入力部133は、照合情報Yの種類に応じた入力デバイスであればよい。また、照合情報入力部133は、被認証者の生体情報となるベクトルが照合情報Yとして直接入力される入力デバイスであってもよい。
【0037】
なお、本実施形態の照合システム100には、クライアントと検証サーバと間の通信を盗聴する攻撃者によるクライアントへのなりすましを防ぐために、チャレンジ・レスポンス方式が導入されている。具体的には、照合システム100では、秘匿化指標検証装置140が、認証ごとに異なるチャレンジを秘匿化指標算出装置130に送信し、秘匿化指標算出装置130が、認証ごとに異なるチャレンジに対応し、かつ、登録情報と照合情報との近さを含むレスポンスを計算することで、レスポンスの値が認証ごとに変更されている。それにより、攻撃者がレスポンスの値を盗聴としたとしても、盗聴された値は次の認証において使用不能であり、攻撃者は別のチャレンジに対応するレスポンスを生成できないため、クライアントへのなりすましが防止される。
【0038】
秘匿化指標算出部134は、複数のテンプレート(即ち、登録情報Xを秘匿化することによって得られた秘匿化情報)と、照合情報Yと、秘匿化指標検証装置140から受け取るチャレンジと、に基づいて、複数の登録情報Xのそれぞれと照合情報Yとの近さを示す値である指標を秘匿化したデータ(以下、秘匿化指標と記す)を算出する。このとき、秘匿化指標算出部134はテンプレートの秘匿化の解除をすることなく、秘匿化指標を算出する。算出された複数の秘匿化指標は、秘匿化指標検証装置140に送信される。
【0039】
出力部135は、秘匿化指標検証装置140から送信された、生体認証の結果を示す認証結果情報を受信する。また、出力部135は、受信された認証結果情報を秘匿化指標算出装置130外に出力する。
【0040】
秘匿化情報受信部131、秘匿化情報記憶部132、出力部135は、例えば、クライアント用プログラムに従って動作するコンピュータのCPU(Central Processing Unit)、および、そのコンピュータの通信インタフェースによって実現される。例えば、CPUが、コンピュータのプログラム記憶装置等のプログラム記録媒体からクライアント用プログラムを読み込み、そのプログラムに従って、通信インタフェースを用いて、秘匿化情報受信部131、秘匿化情報記憶部132、出力部135として動作すればよい。また、ID発行部123および乱数生成部124は、例えば、登録サーバ用プログラムに従って動作するコンピュータのCPUによって実現される。例えば、CPUが上記のようにプログラム記録媒体からクライアント用プログラムを読み込み、そのプログラムに従って、ID発行部123および乱数生成部124として動作すればよい。
【0041】
秘匿化情報記憶部132は、例えば、コンピュータが備える記憶装置によって実現される。
【0042】
(秘匿化指標検証装置140の構成)
秘匿化指標検証装置140は、鍵受信部141と、鍵記憶部142と、受理範囲記憶部143と、判定部144と、チャレンジ生成部145と、を備える。
【0043】
鍵受信部141は、登録情報秘匿化装置120から送信される公開鍵pk、共通秘匿化鍵sk_C、及び、登録情報Xごとの秘匿化鍵sk_IDを受信し、鍵記憶部142に記憶させる。
【0044】
鍵記憶部142は、公開鍵pk、共通秘匿化鍵sk_C、及び、登録情報Xごとの秘匿化鍵sk_IDを記憶する記憶装置である。
【0045】
判定部144は、鍵記憶部142に記憶されている鍵(公開鍵pk、共通秘匿化鍵sk_C、及び、登録情報Xごとの秘匿化鍵sk_ID)を用いて、秘匿化指標算出装置130において算出された複数の秘匿化指標のそれぞれから指標を取得可能か否かを判定する。
【0046】
なお、判定部144は、各秘匿化指標を秘匿化指標算出装置130から受け取る前に、チャレンジ生成部145によって生成されたチャレンジを秘匿化指標算出装置130に送信する。
【0047】
判定部144は、秘匿化指標算出装置130において算出された複数の秘匿化指標のそれぞれから指標を取得可能な場合、当該指標を取得する。次いで、判定部144は、各秘匿化指標から得られた指標が、予め定められた受理範囲内の値であるか否かを判定することによって、登録情報Xに含まれる被登録者と、照合情報Yに含まれる被認証者と、が一致するか否かを判定する。なお、予め定められた受理範囲は、受理範囲記憶部143に記憶されている。
【0048】
例えば、判定部144は、秘匿化指標から取得された指標が、受理範囲内の値であるならば、被登録者と被認証者とが一致すると判定する。被登録者と被認証者とが一致することが、登録情報Xと照合情報Yとが対応することに相当する。また、判定部144は、秘匿化指標から取得された指標が、受理範囲内の値でないならば、被登録者と被認証者とが一致しないと判定する。判定部144は、被登録者と被認証者とが一致する判定結果が1つ存在した場合のみ、IDと、認証に成功した(認証が受理された)ことを示す認証結果情報とを、秘匿化指標算出装置130に送信する。被登録者と被認証者とが一致する判定結果が存在しない、又は、一致する判定結果が複数存在する場合、認証に失敗したことを示す認証結果情報を、秘匿化指標算出装置130に送信する。
【0049】
例えば、秘匿化指標算出装置130は、秘匿化指標検証装置140から認証に成功したことを示す認証結果情報を受け取った場合、IDに対応する認証後の処理を実行する。但し、認証後の処理を実行する装置は、秘匿化指標算出装置130に限定されず、認証に成功したことを示す認証結果情報が得られたことを条件に、クライアント以外の装置がIDに対応する認証後の処理を実行してもよい。
【0050】
鍵受信部141、チャレンジ生成部145、判定部144は、例えば、サーバ用プログラムに従って動作するコンピュータのCPU(Central Processing Unit)、および、そのコンピュータの通信インタフェースによって実現される。例えば、CPUが、コンピュータのプログラム記憶装置等のプログラム記録媒体からサーバ用プログラムを読み込み、そのプログラムに従って、通信インタフェースを用いて、鍵受信部141、チャレンジ生成部145、判定部144として動作すればよい。
【0051】
鍵記憶部142、受理範囲記憶部143は、例えば、コンピュータが備える記憶装置によって実現される。
【0052】
(フローチャート)
続いて、照合システム100の処理の流れを説明する。
図3は、照合システム100における共通乱数の生成動作を示すフローチャートである。なお、既に説明した内容については、詳細な説明を省略する。
【0053】
まず、共通乱数生成装置110は、共通乱数生成部111において共通乱数CRを生成する(ステップS101)。その後、共通乱数生成装置110は、共通乱数記憶部112に共通乱数CRを記憶させる(ステップS102)。その後、共通乱数生成装置110は、共通乱数CRを登録情報秘匿化装置120の共通乱数入力部122に送信する(ステップS103)。
【0054】
図4は、照合システム100における登録処理及び認証処理の動作を示すフローチャートである。なお、既に説明した事項については、詳細な説明を省略する。
【0055】
まず、登録処理が行われる。
具体的には、まず、登録情報秘匿化装置120において、登録情報X(被登録者の生体情報)が登録情報入力部121に入力される(ステップS201)。
【0056】
次いで、共通乱数入力部122は、共通乱数生成装置110から送信された共通乱数CRを受信する(ステップS202)。
【0057】
次いで、ID発行部123は、登録情報入力部121に登録情報Xが入力されるごとにIDを発行する(ステップS203)。
【0058】
次いで、乱数生成部124は、発行されたIDごとに乱数R_IDを生成する(ステップS204)。
【0059】
次いで、鍵生成部125は、共通乱数CRを用いてデジタル署名の秘密鍵sk及び公開鍵pkを生成する(ステップS205)。また、鍵生成部125は、共通乱数CRを用いて共通秘匿化鍵sk_Cを生成するとともに、共通乱数CR及び乱数R_IDを用いて登録情報Xごとに秘匿化鍵sk_IDを生成する(ステップS205)。
【0060】
次いで、秘匿化部126は、登録情報入力部121に入力された登録情報Xを、秘密鍵sk、共通秘匿化鍵sk_C、及び、当該登録情報Xに対応する秘匿化鍵sk_IDを用いて秘匿化し、秘匿化情報として出力する(ステップS206)。
【0061】
次いで、秘匿化部126は、秘匿化情報を秘匿化指標算出装置130の秘匿化情報受信部131に送信する(ステップS207)。
【0062】
次いで、鍵生成部125は、公開鍵pkと、共通秘匿化鍵sk_C、及び、登録情報Xごとの秘匿化鍵sk_IDを、秘匿化指標検証装置140の鍵受信部141に送信する(ステップS208)。
【0063】
次いで、秘匿化指標算出装置130において、秘匿化情報受信部131は、秘匿化情報を受信する(ステップS209)。
【0064】
次いで、秘匿化情報記憶部132は、秘匿化情報を記憶する(ステップS210)。
【0065】
次いで、秘匿化指標検証装置140において、鍵受信部141は、登録情報秘匿化装置120から送信された公開鍵pk、共通秘匿化鍵sk_C、及び、登録情報Xごとの秘匿化鍵sk_IDを受信する(ステップS211)。
【0066】
次いで、鍵記憶部142は、公開鍵pk、共通秘匿化鍵sk_C、及び、登録情報Xごとの秘匿化鍵sk_IDを記憶する(ステップS212)。
【0067】
図5は、照合システム100の第1の適用事例を示すブロック図である。
図5の例では、登録サーバが共通乱数生成装置110及び登録情報秘匿化装置120を備え、クライアントが秘匿化指標算出装置130を備え、検証サーバが秘匿化指標検証装置140を備えている。この場合、登録サーバは、共通乱数CRと秘密鍵skと共通秘匿化鍵sk_Cと登録情報Xごとの秘匿化鍵sk_IDとを保持し続ける。
【0068】
図6は、照合システム100の第2の適用事例を示すブロック図である。
図6の例では、クライアントが、共通乱数生成装置110と、登録情報秘匿化装置120と、秘匿化指標算出装置130とを備え、検証サーバが秘匿化指標検証装置140を備えている。この場合、登録処理が終了すると、共通乱数CRと秘密鍵skと共通秘匿化鍵sk_Cと登録情報Xごとの秘匿化鍵sk_IDとはクライアントから削除される。
【0069】
登録処理の後、認証処理が行われる。
具体的には、まず、秘匿化指標算出装置130において、照合情報Y(被認証者の生体情報)が照合情報入力部133に入力される(ステップS213)。
【0070】
次いで、秘匿化指標検証装置140において、チャレンジ生成部145は、チャレンジを生成する(ステップS214)。また、チャレンジ生成部145は、チャレンジを秘匿化指標算出装置130の秘匿化指標算出部134に送信する(ステップS215)。
【0071】
次いで、秘匿化指標算出装置130において、秘匿化指標算出部134は、チャレンジを受信する(ステップS216)。
【0072】
次いで、秘匿化指標算出部134は、複数のテンプレート(登録情報Xを秘匿化することによって得られた秘匿化情報)と、照合情報Yと、秘匿化指標検証装置140から受け取ったチャレンジと、に基づいて、複数の秘匿化指標を算出する(ステップS217)。
【0073】
次いで、秘匿化指標算出部134は、算出した複数の秘匿化指標を秘匿化指標検証装置140の判定部144に送信する(ステップS218)。
【0074】
次いで、秘匿化指標検証装置140において、判定部144は、秘匿化指標算出装置130から送信された複数の秘匿化指標を受信する(ステップS219)。
【0075】
次いで、判定部144は、受信した複数の秘匿化指標の中に予め定められた受理範囲内の指標があるか否かの照合を、公開鍵pkと、共通秘匿化鍵sk_C、秘匿化鍵sk_ID、チャレンジを用いて行う(ステップS220)。また、判定部144は、秘匿化指標算出装置130の出力部135に照合結果を送信する(ステップS221)。
【0076】
次いで、秘匿化指標算出装置130において、出力部135は照合結果を受信する(ステップS222)。次いで、出力部135は、照合結果を出力する(ステップS223)。
【0077】
以下、本実施形態の認証処理の具体例について説明する。
以下の説明では、登録情報Xおよび照合情報Yは、いずれもn次元のベクトルであるものとする。そして、Xの各要素は、X=(x_1,・・・,x_n)と表され、Yの各要素は、Y=(y_1,・・・,y_n)と表されるものとする。また、記号iは1,・・・,nを表すものとする。例えば、{u_i}=u_1,u_2,・・・,u_nである。さらに登録時に入力される登録情報Xの数をNとする。また、記号jは1,・・・,Nを表すものとする。
【0078】
(第1の具体例)
本具体例では、登録情報Xと照合情報Yとの近さを示す指標が、登録情報Xと照合情報Yとの内積である場合を考える。登録情報Xと照合情報Yとの内積<X,Y>は、Σ(x_i・y_i)である。以下では、指標が内積である場合の処理の一例を示す。
【0079】
また、本具体例では、Schnorr署名が用いられている。Schnorr署名では、秘密鍵skと公開鍵pk=g^skとの組が生成される。なお、sk∈Z_q(Z_q={0,1,・・・,q-1}、qは素数)である(Zは整数全体の集合を表す記号)。また、gは、位数qの群Gの生成元である。すなわち、G={g_0,g_1,・・・,g_q-1}である。Z_q、g、およびGは、全ての装置との間で共有されている。
【0080】
さらに、秘匿化指標検証装置140に受理範囲Θ={θ_1,・・・,θ_m}が与えられている。秘匿化指標検証装置140の受理範囲記憶部143は、Θ’={g^(θ_1),・・・,g^(θ_m)}を記憶している。なお、Θ’は、Θの各値を指数とするgのべき乗の集合である。
【0081】
以下、Schnorr署名が使用される場合の具体的な登録処理を説明する。
【0082】
最初に、N人の被登録者の生体情報(即ち、登録情報){X_j}が、登録情報入力部121に入力される。次いで、ID発行部123は生体情報ごとにIDを発行する。
次いで、共通乱数生成部111は以下の式(1)、式(2)のように共通乱数を生成する。
【0083】
R_1←^RZ_q ・・・(1)
R_3←^RZ_q ・・・(2)
【0084】
また、乱数生成部124は以下の式(3)、式(4)のように乱数を生成する。
【0085】
(R_2_1,R_2_2,・・・,R_2_N)←^RZ_q ・・・(3)
(r_1_1,r_2_1,・・・,r_n_1,r_1_2,・・・,r_n_N)←^RZ_q ・・・(4)
【0086】
次いで、鍵生成部125は、R_3を秘密鍵とみなし、公開鍵g^(R_3)を生成する。また、共通乱数{r_i_j}と、乱数R_1,{R_2_j}と、を秘匿化鍵とみなす。
【0087】
鍵生成部125は、秘密鍵と秘匿化鍵を秘匿化部126に入力する。また、鍵生成部125はIDと、公開鍵g^(R_3)と、秘匿化鍵R_1,{R_2_j}を秘匿化指標検証装置140の鍵受信部141に送信する。
【0088】
次いで、鍵記憶部142は受信したID、公開鍵と秘匿化鍵を記憶する。
【0089】
次いで、登録情報秘匿化装置120の秘匿化部126は、入力された秘密鍵と秘匿化鍵、N個の登録情報{X_j}を基に、i=1,2,・・・,nとj=1,2,・・・,Nに対して、R_1・x_i_j+R_2_j・r_i+R_3、g^(r_i_j)を生成する。以下、テンプレートを{R_1・x_i_j+R_2_j・r_i_j+R3}、{g^(r_i_j)}とする。
【0090】
秘匿化部126は、IDとテンプレートを秘匿化指標算出装置130の秘匿化情報受信部131に送信する。
【0091】
次いで、秘匿化情報記憶部132は、IDとテンプレートを記憶する。
【0092】
次に、Schnorr署名が使用される場合の具体的な認証処理を説明する。
【0093】
最初に、照合情報Yが照合情報入力部133に入力される。秘匿化指標算出部134は、照合情報入力部133から照合情報Yを取得し、秘匿化情報記憶部からIDとテンプレートを取得する。
【0094】
次いで、秘匿化指標算出部134は、σ_1_j=g^(Σr_i_j・y_i)を計算する。その後、秘匿化指標算出部134はIDと、対応する{σ_1_j}を秘匿化指標検証装置140の判定部144に送信する。
【0095】
次いで、IDとσ_1_jを受信した秘匿化指標検証装置140は、チャレンジ生成部145において、M,R←^RZ_qを生成し、鍵記憶部142に記憶されている公開鍵g^(R_3)を用いて、g^(R・R_3)を計算する。その後、チャレンジとしてM,g^(R・R_3)を秘匿化指標算出装置の秘匿化指標算出部134に送信する。
【0096】
次いで、秘匿化指標算出部134は、S_j=H(M,g^r’_j)を算出する。なお、Hは暗号学的ハッシュ関数である。次いで、秘匿化指標算出部134は、入力された照合情報Yとテンプレートとを基に、以下の各値を式(5)、式(6)、式(7)から算出する。
【0097】
A_j=Σ_i(R_1・x_i_j+R_2_j・r_i_j+R_3)・y_i ・・・(5)
σ_2_j=r’_j-A_j・S ・・・(6)
σ_3=g^(R・R_3・y_i) ・・・(7)
【0098】
なお、A_jは、XとYの内積<X,Y>がR_1倍された値に、R_2_j倍のΣr_i・y_iとR_3倍のΣy_iが加算された値である。各値を算出した後、秘匿化指標算出部134は、登録情報X_jと照合情報Yとの内積を含むレスポンスとして、({S_j},{σ_2_j},σ_3)を秘匿化指標検証装置140の判定部144に送信する。(S_j,σ_2_j,σ_3)は、A_jを秘密鍵とするSchnorr署名に相当する。
【0099】
判定部144は、秘匿化指標算出部134からレスポンスを受信する。判定部144は、鍵記憶部142にIDとともに記憶されている公開鍵g^(R_3)と、秘匿化鍵R_1,{R_2_j}を用いてN個のデジタル署名{S_j,σ_2_j,σ_3}を検証する。具体的には、以下の式(8)を計算する。
【0100】
v_j=[{g^(σ_2_j)}・{(σ_3)^(S_j・R_3)}・{(σ_1_j)^(S_j・R_2_j)}・(g^(-r’_j))]^(-1/R_1) ・・・(8)
【0101】
判定部144は、計算されたv_jがΘ’に含まれるか否かを確認する。Θ’に含まれる値が見つからなかった、もしくは、複数見つかった場合,「認証失敗」を示す認証結果情報を生成する。
【0102】
また、Θ’に含まれる値が一つだけ見つかった場合、判定部144は、「ID_jが認証成功」を示す認証結果情報を生成する。
【0103】
次いで、判定部144は、生成された認証結果情報を秘匿化指標算出装置130の出力部135に送信する。次いで、認証結果情報を受信した出力部135は、認証結果情報を出力する。なお、認証結果情報は、直接秘匿化指標検証装置140から出力されてもよい。
【0104】
なお、本具体例では、本具体例ではSchnorr署名が用いられているが、DSA署名等の他の暗号学的に安全なデジタル署名方式が用いられてもよい。
【0105】
(第2の具体例)
本具体例でも、登録情報Xと照合情報Yとの近さを示す指標が、登録情報Xと照合情報Yとの内積である場合を考える。以下では、指標が内積である場合の処理の一例を示す。
【0106】
また、本具体例では、Schnorr署名が用いられている。Schnorr署名では、秘密鍵skと公開鍵pk=g^skとの組が生成される。なお、sk∈Z_q(Z_q={0,1,・・・,q-1}、qは素数)である(Zは整数全体の集合を表す記号)。また、gは、位数qの群Gの生成元である。すなわち、G={g_0,g_1,・・・,g_q-1}である。Z_q、g、およびGは、全ての装置との間で共有されている。
【0107】
さらに、秘匿化指標検証装置140に受理範囲Θ={θ_1,・・・,θ_m}が与えられている。秘匿化指標検証装置140の受理範囲記憶部143は、Θ’={g^(θ_1),・・・,g^(θ_m)}を記憶している。なお、Θ’は、Θの各値を指数とするgのべき乗の集合である。
【0108】
以下、Schnorr署名が使用される場合の具体的な登録処理を説明する。
【0109】
最初に、N人の被登録者の生体情報(即ち、登録情報){X_j}が、登録情報入力部121に入力される。次いで、ID発行部123は生体情報ごとにIDを発行する。
次いで、共通乱数生成部111は以下の式(9)、式(10)のように共通乱数を生成する。
【0110】
R_2←^RZ_q ・・・(9)
R_3←^RZ_q ・・・(10)
【0111】
また、乱数生成部124は以下の式(11)、式(12)のように乱数を生成する。
【0112】
(R_1_1,R_1_2,・・・,R_1_N)←^RZ_q ・・・(11)
(r_1_1,r_2_1,・・・,r_n_1,r_1_2,・・・,r_n_N)←^RZ_q ・・・(12)
【0113】
次いで、鍵生成部125は、R_3を秘密鍵とみなし、公開鍵g^(R_3)を生成する。また、共通乱数{r_i_j}と,乱数{R_1_j},R_2を秘匿化鍵とみなす。
【0114】
鍵生成部125は、秘密鍵と秘匿化鍵を秘匿化部126に入力する。また、鍵生成部125はIDと、公開鍵g^(R_3)と、秘匿化鍵{R_1_j},R_2を秘匿化指標検証装置140の鍵受信部141に送信する。
【0115】
次いで、鍵記憶部142は受信したID、公開鍵と秘匿化鍵を記憶する。
【0116】
次いで、登録情報秘匿化装置120の秘匿化部126は、入力された秘密鍵と秘匿化鍵、N個の生体情報{X_j}を基に、i=1,2,・・・,nとj=1,2,・・・,Nに対して、R_1_j・x_i_j+R_2・r_i+R_3、g^(r_i_j)を生成する。以下、テンプレートを{R_1_j・x_i_j+R_2・r_i_j+R3}、{g^(r_i_j)}とする。
【0117】
秘匿化部126は、IDとテンプレートを秘匿化指標算出装置130の秘匿化情報受信部131に送信する。
【0118】
次いで、秘匿化情報記憶部132は、IDとテンプレートを記憶する。
【0119】
次に、Schnorr署名が使用される場合の具体的な認証処理を説明する。
【0120】
最初に、照合情報Yが照合情報入力部133に入力される。秘匿化指標算出部134は、照合情報入力部133から照合情報Yを取得し、秘匿化情報記憶部からIDとテンプレートを取得する。
【0121】
次いで、秘匿化指標算出部134は、σ_1_j=g^(Σr_i_j・y_i)を計算する。その後、秘匿化指標算出部134はIDと、対応する{σ_1_j}を秘匿化指標検証装置140の判定部144に送信する。
【0122】
次いで、IDとσ_1_jを受信した秘匿化指標検証装置140は、チャレンジ生成部145において、M,R←^RZ_qを生成し、鍵記憶部142に記憶されている公開鍵g^(R_3)を用いて、g^(R・R_3)を計算する。その後、チャレンジとしてM,g^(R・R_3)を秘匿化指標算出装置の秘匿化指標算出部134に送信する。
【0123】
次いで、秘匿化指標算出部134は、S_j=H(M,g^r’_j)を算出する。なお、Hは暗号学的ハッシュ関数である。次いで、秘匿化指標算出部134は、入力された照合情報Yとテンプレートとを基に、以下の各値を式(13)、式(14)、式(15)から算出する。
【0124】
A_j=Σ_i(R_1_j・x_i_j+R_2・r_i_j+R_3)・y_i ・・・(13)
σ_2_j=r’_j-A_j・S ・・・(14)
σ_3=g^(R・R_3・y_i) ・・・(15)
【0125】
なお、A_jは、XとYの内積<X,Y>がR_1_j倍された値に、R_2倍のΣr_i・y_iとR_3倍のΣy_iが加算された値である。各値を算出した後、秘匿化指標算出部134は、登録情報X_jと照合情報Yとの内積を含むレスポンスとして、({S_j},{σ_2_j},σ_3)を秘匿化指標検証装置140の判定部144に送信する。(S_j,σ_2_j,σ_3)は、A_jを秘密鍵とするSchnorr署名に相当する。
【0126】
判定部144は、秘匿化指標算出部134からレスポンスを受信する。判定部144は、鍵記憶部142にIDとともに記憶されている公開鍵g^(R_3)と、秘匿化鍵{R_1_j},R_2を用いてN個のデジタル署名{S_j,σ_2_j,σ_3}を検証する。具体的には、以下の式(16)を計算する。
【0127】
v_j=[{g^(σ_2_j)}・{(σ_3)^(S_j・R_3)}・{(σ_1_j)^(S_j・R_2)}・(g^(-r’_j))]^(-1/R_1_j) ・・・(16)
【0128】
判定部144は、計算されたv_jがΘ’に含まれるか否かを確認する。Θ’に含まれる値が見つからなかった、もしくは、複数見つかった場合,「認証失敗」を示す認証結果情報を生成する。
【0129】
また、Θ’に含まれる値が一つだけ見つかった場合、判定部144は、「ID_jが認証成功」を示す認証結果情報を生成する。
【0130】
次いで、判定部144は、生成された認証結果情報を秘匿化指標算出装置130の出力部135に送信する。次いで、認証結果情報を受信した出力部135は、認証結果情報を出力する。なお、認証結果情報は、直接秘匿化指標検証装置140から出力されてもよい。
【0131】
なお、本具体例では、本具体例ではSchnorr署名が用いられているが、DSA署名等の他の暗号学的に安全なデジタル署名方式が用いられてもよい。
【0132】
このように、実施の形態2に係る照合システム100は、各テンプレートの生成に用いられる秘匿化鍵の一部を共通化しているため、共通化していない場合と比較して、クライアントが保持するデータ数及び検証サーバが保持する鍵の数を減少させたり、クライアント及び検証サーバのべき乗算の回数や通信量を減少させたりすることができる。つまり、実施の形態2に係る照合システム100は、効率的な1:N認証を行うことができる。
【0133】
なお、実施の形態2に係る照合システム100では、暗号化された登録情報がテンプレートとしてクライアントに保存されるため、サーバに保存される場合よりも、データ漏洩発生時の被害が軽減される。つまり、実施の形態2に係る照合システム100は、セキュリティ性能を向上させつつ、効率的な1:N認証を行うことができる。
【0134】
なお、照合システム100は、登録処理のみを実行する構成に適宜変更可能である。例えば、照合システム100は、共通乱数生成装置110と、登録情報秘匿化装置120と、秘匿化指標算出装置130aと、秘匿化指標検証装置140aと、によって構成されてもよい。秘匿化指標算出装置130aは、秘匿化指標算出装置130に対応する装置であって、秘匿化情報受信部131及び秘匿化情報記憶部132のみを有する。秘匿化指標検証装置140aは、秘匿化指標検証装置140に対応する装置であって、鍵受信部141及び鍵記憶部142のみを有する。
【0135】
また、照合システム100は、認証処理のみを実行する構成に適宜変更可能である。例えば、照合システム100は、秘匿化指標算出装置130aと、秘匿化指標検証装置140aと、によって構成されてもよい。秘匿化指標算出装置130aは、秘匿化指標算出装置130に対応する装置であって、秘匿化情報記憶部132、照合情報入力部133、秘匿化指標算出部134、及び、出力部135のみを有する。秘匿化指標検証装置140aは、秘匿化指標検証装置140に対応する装置であって、鍵記憶部142、受理範囲記憶部143、判定部144、及び、チャレンジ生成部145のみを有する。
【0136】
図7は、実施の形態1,2に係る照合システムが適用されたクライアント及びサーバを実現するコンピュータの概略を示すブロック図である。下、図7を参照して説明するが、クライアントとして用いられるコンピュータと、サーバとして用いられるコンピュータとは、別々のコンピュータである。
【0137】
コンピュータ1000は、CPU1001と、主記憶装置1002と、補助記憶装置1003と、インタフェース1004と、通信インタフェース1005と、を備える。
【0138】
クライアントを実現するコンピュータ1000の動作は、クライアント用プログラムの形式で補助記憶装置1003に記憶されている。CPU1001は、そのクライアント用プログラムを補助記憶装置1003から読み出して主記憶装置1002に展開し、そのクライアント用プログラムに従って、上記の実施形態やその具体例で説明したクライアントの動作を実行する。
【0139】
サーバを実現するコンピュータ1000の動作は、サーバ用プログラムの形式で補助記憶装置1003に記憶されている。CPU1001は、そのサーバ用プログラムを補助記憶装置1003から読み出して主記憶装置1002に展開し、そのサーバ用プログラムに従って、上記の実施形態やその具体例で説明したサーバの動作を実行する。
【0140】
補助記憶装置1003は、一時的でない有形の媒体の例である。一時的でない有形の媒体の他の例として、インタフェース1004を介して接続される磁気ディスク、光磁気ディスク、CD-ROM(Compact Disk Read OnlyMemory)、DVD-ROM(Digital Versatile Disk Read Only Memory)、半導体メモリ等が挙げられる。また、プログラムが通信回線によってコンピュータ1000に配信される場合、配信を受けたコンピュータ1000がそのプログラムを主記憶装置1002に展開し、そのプログラムに従って動作してもよい。
【0141】
また、クライアントの各構成要素の一部または全部は、汎用または専用の回路(circuitry)、プロセッサ等やこれらの組み合わせによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部または全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。この点は、サーバに関しても同様である。
【0142】
上記の実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0143】
(付記1)
共通乱数を生成する共通乱数生成手段と、
複数の被登録者の生体情報である複数の登録情報のそれぞれに固有の複数の識別情報を生成する識別情報生成手段と、
前記共通乱数を用いて前記複数の登録情報のそれぞれに共通の共通鍵を生成すると共に、前記複数の識別情報を用いて前記複数の登録情報のそれぞれに固有の複数の固有鍵を生成する、鍵生成手段と、
前記共通鍵と前記複数の固有鍵とを用いて前記複数の登録情報のそれぞれを秘匿化した複数の秘匿化情報を生成する秘匿化手段と、
クライアントと、
検証サーバと、
を備え、
前記クライアントは、
被認証者の生体情報である照合情報と、前記複数の秘匿化情報のそれぞれと、の近似度を表す複数の秘匿化指標を算出する秘匿化指標算出手段を有し、
前記検証サーバは、
前記共通鍵と前記複数の固有鍵とを用いて前記複数の秘匿化指標のそれぞれを復号した複数の指標を生成するとともに、前記複数の指標の何れかが所定範囲内の値を示すか否かに基づいて、前記照合情報についての認証を行う判定手段を有する、
照合システム。
【0144】
(付記2)
前記判定手段は、前記複数の指標の何れか一つが前記所定範囲内の値を示す場合、前記照合情報についての認証を受理する、
付記1に記載の照合システム。
【0145】
(付記3)
各前記固有鍵は、秘密鍵及び公開鍵によって構成され、
前記鍵生成手段は、各前記固有鍵のうち秘密鍵を前記秘匿化手段に送信し、各前記固有鍵のうち公開鍵を前記検証サーバに送信する、
付記1又は2に記載の照合システム。
【0146】
(付記4)
前記検証サーバは、
前記照合情報ごとにチャレンジ信号を生成して前記クライアントに送信するチャレンジ生成手段をさらに備え、
前記クライアントにおいて、
前記秘匿化指標算出手段は、前記チャレンジ信号に対応するレスポンス信号として前記複数の秘匿化指標を算出するように構成されている、
付記1~3の何れか一項に記載の照合システム。
【0147】
(付記5)
前記照合情報及び前記複数の登録情報は、何れもベクトルによって表される、
付記1~4の何れか一項に記載の照合システム。
【0148】
(付記6)
前記クライアントにおいて、前記秘匿化指標算出手段は、前記照合情報と、前記複数の秘匿化情報のそれぞれと、の内積によって、前記複数の秘匿化指標を算出する、
付記1~5の何れか一項に記載の照合システム。
【0149】
(付記7)
少なくとも前記識別情報生成手段、前記鍵生成手段、及び、前記秘匿化手段は、前記クライアントに設けられている、
付記1~6の何れか一項に記載の照合システム。
【0150】
(付記8)
少なくとも前記識別情報生成手段、前記鍵生成手段、及び、前記秘匿化手段は、前記クライアント及び前記検証サーバとは別の登録サーバに設けられている、
付記1~6の何れか一項に記載の照合システム。
【0151】
(付記9)
共通乱数を生成する共通乱数生成ステップと、
複数の被登録者の生体情報である複数の登録情報のそれぞれに固有の複数の識別情報を生成する識別情報生成ステップと、
前記共通乱数を用いて前記複数の登録情報のそれぞれに共通の共通鍵を生成すると共に、前記複数の識別情報を用いて前記複数の登録情報のそれぞれに固有の複数の固有鍵を生成する、鍵生成ステップと、
前記共通鍵と前記複数の固有鍵とを用いて前記複数の登録情報のそれぞれを秘匿化した複数の秘匿化情報を生成する秘匿化ステップと、
クライアントにおいて、被認証者の生体情報である照合情報と、前記複数の秘匿化情報のそれぞれと、の近似度を表す複数の秘匿化指標を算出する秘匿化指標算出ステップと、
検証サーバにおいて、前記共通鍵と前記複数の固有鍵とを用いて前記複数の秘匿化指標のそれぞれを復号した複数の指標を生成するとともに、前記複数の指標の何れかが所定範囲内の値を示すか否かに基づいて、前記照合情報についての認証を行う判定ステップと、
を備えた、照合方法。
【0152】
(付記10)
共通乱数を生成する共通乱数生成処理と、
複数の被登録者の生体情報である複数の登録情報のそれぞれに固有の複数の識別情報を生成する識別情報生成処理と、
前記共通乱数を用いて前記複数の登録情報のそれぞれに共通の共通鍵を生成すると共に、前記複数の識別情報を用いて前記複数の登録情報のそれぞれに固有の複数の固有鍵を生成する、鍵生成処理と、
前記共通鍵と前記複数の固有鍵とを用いて前記複数の登録情報のそれぞれを秘匿化した複数の秘匿化情報を生成する秘匿化処理と、
クライアントにおいて、被認証者の生体情報である照合情報と、前記複数の秘匿化情報のそれぞれと、の近似度を表す複数の秘匿化指標を算出する秘匿化指標算出処理と、
検証サーバにおいて、前記共通鍵と前記複数の固有鍵とを用いて前記複数の秘匿化指標のそれぞれを復号した複数の指標を生成するとともに、前記複数の指標の何れかが所定範囲内の値を示すか否かに基づいて、前記照合情報についての認証を行う判定処理と、
をコンピュータに実行させる照合プログラムが格納された非一時的なコンピュータ可読媒体。
【0153】
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【0154】
100 照合システム
110 共通乱数生成装置
111 共通乱数生成部
112 共通乱数記憶部
120 登録情報秘匿化装置
121 登録情報入力部
122 共通乱数入力部
123 ID発行部
124 乱数生成部
125 鍵生成部
126 秘匿化部
130 秘匿化指標算出装置
131 秘匿化情報受信部
132 秘匿化情報記憶部
133 照合情報入力部
134 秘匿化指標算出部
135 出力部
140 秘匿化指標検証装置
141 鍵受信部
142 鍵記憶部
143 受理範囲記憶部
144 判定部
145 チャレンジ生成部
1000 コンピュータ
1002 主記憶装置
1003 補助記憶装置
1004 インタフェース
1005 通信インタフェース
図1
図2
図3
図4
図5
図6
図7