(57)【特許請求の範囲】
【請求項１】
二重準同型暗号アルゴリズムに基づいて生成された公開鍵を記憶する公開鍵記憶部と、
前記公開鍵を用いて暗号化された第１データを暗号化第１データとして記憶する暗号化データ記憶部と、
前記公開鍵の少なくとも一部を用いて、乱数を生成する乱数生成部と、
前記乱数生成部により生成された乱数を用いた演算を行って、前記暗号化第１データを更新する暗号化データ更新部と、
前記乱数生成部により生成された乱数を用いた演算を行って、前記公開鍵を更新する公開鍵更新部とを有することを特徴とするデータ処理装置。
【請求項２】
前記乱数生成部は、
所定のトリガイベントが発生する度に、トリガイベント発生の際に前記公開鍵記憶部に記憶されている公開鍵の少なくとも一部を用いて、乱数を生成し、
前記公開鍵更新部は、
前記乱数生成部により乱数が生成される度に、前記乱数生成部により生成された乱数を用いた演算を行って、トリガイベント発生の際に前記公開鍵記憶部に記憶されている公開鍵を更新し、
前記暗号化データ更新部は、
前記乱数生成部により乱数が生成される度に、前記乱数生成部により生成された乱数を用いた演算を行って、トリガイベント発生の際に前記暗号化データ記憶部に記憶されている暗号化第１データを更新し、
前記公開鍵記憶部は、
前記公開鍵更新部により公開鍵が更新される度に、更新後の公開鍵を更新前の公開鍵に上書きして記憶し、
前記暗号化データ記憶部は、
前記暗号化データ更新部により暗号化第１データが更新される度に、更新後の暗号化第１データを更新前の暗号化第１データに上書きして記憶することを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記データ処理装置は、更に、
第２のデータを公開鍵を用いて暗号化する暗号装置から、前記第２のデータの暗号化に用いる公開鍵の供給を要求する公開鍵供給要求を入力する公開鍵供給要求入力部を有し、
前記乱数生成部は、
前記公開鍵供給要求入力部が前記暗号装置から公開鍵供給要求を入力した際に前記トリガイベントが発生したと判断し、
前記公開鍵供給要求入力部が前記暗号装置から公開鍵供給要求を入力する度に、前記公開鍵記憶部に記憶されている公開鍵の少なくとも一部を用いて、乱数を生成し、
前記公開鍵更新部は、
前記乱数生成部により乱数が生成される度に、前記乱数生成部により生成された乱数を用いた演算を行って、前記公開鍵記憶部に記憶されている公開鍵を更新し、
前記暗号化データ更新部は、
前記乱数生成部により乱数が生成される度に、前記乱数生成部により生成された乱数を用いた演算を行って、前記暗号化データ記憶部に記憶されている暗号化第１データを更新し、
前記公開鍵供給要求入力部は、
前記公開鍵更新部による更新後の公開鍵を、前記暗号装置における前記第２のデータの暗号化に用いられる公開鍵として、前記暗号装置に出力することを特徴とする請求項２に記載のデータ処理装置。
【請求項４】
前記データ処理装置は、更に、
前記暗号装置が、前記公開鍵供給要求入力部から出力された更新後の公開鍵を用いて前記第２のデータを暗号化して生成した暗号化第２データを入力する暗号化データ入力部と、
前記暗号化データ記憶部に記憶されている暗号化第１データと前記暗号化第２データに対して前記公開鍵記憶部に記憶されている公開鍵を用いた演算を行って、前記暗号化第１データと前記暗号化第２データがそれぞれ暗号化された状態のままで、前記公開鍵に対応付けられている秘密鍵を用いた復号処理により前記第１データと前記第２データとの間の類似度を導出可能な暗号化された情報を暗号化類似度情報として生成する暗号化類似度生成部とを有することを特徴とする請求項３に記載のデータ処理装置。
【請求項５】
前記暗号化データ記憶部は、
前記第１データを構成するＴ（Ｔは２以上の整数）個の部分データが前記暗号装置により暗号化されて得られたＴ個の暗号化された部分データで構成される暗号化第１データを記憶し、
前記暗号化データ入力部は、
前記第２データを構成するＴ（Ｔは２以上の整数）個の部分データが前記暗号装置により暗号化されて得られたＴ個の暗号化された部分データで構成される暗号化第２データを入力し、
前記暗号化類似度生成部は、
部分データごとに、前記暗号化第１データと前記暗号化第２データに対して前記公開鍵記憶部に記憶されている公開鍵を用いた演算を行って、前記第１データと前記第２データとの間の類似度として、前記第１データのＴ個の部分データと前記第２データのＴ個の部分データにおけるハミング距離を導出可能な情報を生成することを特徴とする請求項４に記載のデータ処理装置。
【請求項６】
前記暗号化データ記憶部は、
前記第１データを構成するＴ（Ｔは２以上の整数）個の部分データが前記暗号装置により暗号化されて得られたＴ個の暗号化された部分データで構成される暗号化第１データを記憶し、
前記暗号化データ入力部は、
前記第２データを構成するＴ（Ｔは２以上の整数）個の部分データが前記暗号装置により暗号化されて得られたＴ個の暗号化された部分データで構成される暗号化第２データを入力し、
前記暗号化類似度生成部は、
部分データごとに、前記暗号化第１データと前記暗号化第２データに対して前記公開鍵記憶部に記憶されている公開鍵を用いた演算を行って、前記第１データと前記第２データとの間の類似度として、前記第１データのＴ個の部分データと前記第２データのＴ個の部分データにおけるユークリッド二乗距離を導出可能な情報を生成することを特徴とする請求項４に記載のデータ処理装置。
【請求項７】
前記暗号化データ更新部は、
前記暗号化第１データを更新した後に、更新に用いた乱数を消去することを特徴とする請求項１に記載のデータ処理装置。
【請求項８】
前記公開鍵記憶部は、
前記二重準同型暗号アルゴリズムに基づいて生成された公開鍵として、岡本−高島暗号アルゴリズムに基づいて生成された公開鍵を記憶し、
前記暗号化データ記憶部は、
前記岡本−高島暗号アルゴリズムに基づいて生成された公開鍵による暗号化で得られた暗号化第１データを記憶することを特徴とする請求項１に記載のデータ処理装置。
【請求項９】
公開鍵記憶部と暗号化データ記憶部と乱数生成部と暗号化データ更新部と公開鍵更新部とを有するコンピュータが行うデータ処理方法であって、
前記公開鍵記憶部が、二重準同型暗号アルゴリズムに基づいて生成された公開鍵を記憶し、
前記暗号化データ記憶部が、前記公開鍵を用いて暗号化された第１データを暗号化第１データとして記憶し、
前記乱数生成部が、前記公開鍵の少なくとも一部を用いて、乱数を生成し、
前記暗号化データ更新部が、前記乱数生成部により生成された乱数を用いた演算を行って、前記暗号化第１データを更新し、
前記公開鍵更新部が、前記乱数生成部により生成された乱数を用いた演算を行って、前記公開鍵を更新することを特徴とするデータ処理方法。
【請求項１０】
公開鍵記憶部と暗号化データ記憶部と乱数生成部と暗号化データ更新部と公開鍵更新部とを有するコンピュータに、
前記公開鍵記憶部が、二重準同型暗号アルゴリズムに基づいて生成された公開鍵を記憶する公開鍵記憶処理と、
前記暗号化データ記憶部が、前記公開鍵を用いて暗号化された第１データを暗号化第１データとして記憶する暗号化データ記憶処理と、
前記乱数生成部が、前記公開鍵の少なくとも一部を用いて、乱数を生成する乱数生成処理と、
前記暗号化データ更新部が、前記乱数生成処理により生成された乱数を用いた演算を行って、前記暗号化第１データを更新する暗号化データ更新処理と、
前記公開鍵更新部が、前記乱数生成処理により生成された乱数を用いた演算を行って、前記公開鍵を更新する公開鍵更新処理とを実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二重準同型暗号アルゴリズムに基づいて生成され、認証に用いられる暗号化データ（テンプレート）を更新する技術に関する。
ここで二重準同型暗号（Ｄｏｕｂｌｙ  Ｈｏｍｏｍｏｒｐｈｉｃ  Ｅｎｃｒｙｐｔｉｏｎ）とは、通常の準同型暗号とは異なり、例えば２Ｔ（Ｔは２以上の整数）個の暗号文Ｅ（ｘ１），Ｅ（ｘ２），．．．，Ｅ（ｘＴ），Ｅ（ｙ１），Ｅ（ｙ２），．．．，Ｅ（ｙＴ）を用いて暗号文Ｅ（ｘ１＊ｙ１＋ｘ２＊ｙ２＋．．．＋ｘＴ＊ｙＴ）が計算できるというように、複数の暗号文から元の平文の有限体上の和と積を組み合わせた暗号文を計算できる暗号である。
【背景技術】
【０００２】
近年、ビルの入退室管理やパーソナルコンピュータのログイン時のユーザ認証、銀行ＡＴＭ（Ａｕｔｏｍａｔｅｄ  Ｔｅｌｌｅｒ  Ｍａｃｈｉｎｅ）での本人認証などの個人認証を目的として、指紋認証や静脈認証などの生体認証が用いられている。
生体認証は一般に次のようにして行われる。
まず、ユーザが自分の生体情報をテンプレートとして検証者側に登録しておく。
そして認証時には、ユーザが認証情報として自分の生体情報を検証者に提示して、検証者がそれをテンプレートと照合する。
テンプレートと認証情報とが類似していれば本人と判定し、類似していなければ他人と判定する。
生体認証に利用される生体情報には指紋情報、静脈情報、虹彩情報、掌紋情報、ＤＮＡ（Ｄｅｏｘｙｒｉｂｏｎｕｃｌｅｉｃ  ａｃｉｄ）情報などの種類があるが、これらはプライバシー情報と考えられており、これらの情報を検証者側に開示するのは本来好ましくない。
そこで、これらの情報を秘匿しつつ個人を認証するための技術として、本願出願人が開示した特許文献１をはじめとして、いくつかの秘匿照合技術が考えられてきた（例えば特許文献１、特許文献２、非特許文献１）。
つまり、これらの秘匿照合技術では、ユーザは暗号化されたテンプレートを検証者に登録し、また、認証時には、ユーザは暗号化された生体情報を検証者に提示し、検証者は暗号化されたテンプレートと暗号化された生体情報とを照合する。
そして、テンプレート及び生体情報の暗号化に利用可能な二重準同型暗号アルゴリズムとして、例えば、非特許文献２−５に開示の暗号アルゴリズムがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開ＷＯ１１／０５２０５６号公報
【特許文献２】特開２００７−２９３８０７号公報
【非特許文献】
【０００４】
【非特許文献１】Ｔａｋａｔｏ  Ｈｉｒａｎｏ，  Ｔａｋｕｍｉ  Ｍｏｒｉ，  Ｍｉｔｓｕｈｉｒｏ  Ｈａｔｔｏｒｉ，  Ｔａｋａｓｈｉ  Ｉｔｏ，  ａｎｄ  Ｎｏｒｉ  Ｍａｔｓｕｄａ，  “Ｈｏｍｏｍｏｒｐｈｉｃ  ｅｎｃｒｙｐｔｉｏｎ  ｂａｓｅｄ  ｃｏｕｎｔｅｒｍｅａｓｕｒｅ  ａｇａｉｎｓｔ  ａｃｔｉｖｅ  ａｔｔａｃｋｓ  ｉｎ  ｐｒｉｖａｃｙ−ｐｒｅｓｅｒｖｉｎｇ  ｂｉｏｍｅｔｒｉｃ  ａｕｔｈｅｎｔｉｃａｔｉｏｎ，”  ＩＥＩＣＥ  Ｔｒａｎｓａｃｔｉｏｎｓ，  ＩＳＥＣ  ２０１０−７３，  ｐｐ．７−１４，  ２０１１．
【非特許文献２】Ｔ．  Ｏｋａｍｏｔｏ  ａｎｄ  Ｋ．  Ｔａｋａｓｈｉｍａ，  “Ｈｏｍｏｍｏｒｐｈｉｃ  ｅｎｃｒｙｐｔｉｏｎ  ａｎｄ  ｓｉｇｎａｔｕｒｅｓ  ｆｒｏｍ  ｖｅｃｔｏｒ  ｄｅｃｏｍｐｏｓｉｔｉｏｎ，”  Ｐａｉｒｉｎｇ  ２００８，  Ｌｅｃｔｕｒｅ  Ｎｏｔｅｓ  ｉｎ  Ｃｏｍｐｕｔｅｒ  Ｓｃｉｅｎｃｅ  ｖｏｌｕｍｅ  ５２０９，  ｐｐ．５７−７４，  ２００８．
【非特許文献３】Ｄ．  Ｂｏｎｅｈ，  Ｅ．−Ｊ．  Ｇｏｈ，  ａｎｄ  Ｋ．  Ｎｉｓｓｉｍ，  “Ｅｖａｌｕａｔｉｎｇ  ２−ＤＮＦ  ｆｏｒｍｕｌａｓ  ｏｎ  ｃｉｐｈｅｒｔｅｘｔｓ，”  Ｔｈｅｏｒｙ  ｏｆ  Ｃｒｙｐｔｏｇｒａｐｈｙ  Ｃｏｎｆｅｒｅｎｃｅ，  Ｌｅｃｔｕｒｅ  Ｎｏｔｅｓ  ｉｎ  Ｃｏｍｐｕｔｅｒ  Ｓｃｉｅｎｃｅ，  ｖｏｌｕｍｅ  ３３７８，  ｐｐ．３２５−３４１，  ２００５．
【非特許文献４】Ｃ．  Ｇｅｎｔｒｙ，  “Ｆｕｌｌｙ  ｈｏｍｏｍｏｒｐｈｉｃ  ｅｎｃｒｙｐｔｉｏｎ  ｕｓｉｎｇ  ｉｄｅａｌ  ｌａｔｔｉｃｅｓ，”  ＡＣＭ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  ｔｈｅｏｒｙ  ｏｆ  ｃｏｍｐｕｔｉｎｇ，  ｐｐ．１６９−１７８，  ２００９．
【非特許文献５】Ｄ．Ｆｒｅｅｍａｎ、Ｍ．Ｓｃｏｔｔ、Ｅ．Ｔｅｓｋｅ、  “Ａ  ｔａｘｏｎｏｍｙ  ｏｆ  ｐａｉｒｉｎｇ−ｆｒｉｅｎｄｌｙ  ｅｌｌｉｐｔｉｃ  ｃｕｒｖｅｓ”、  Ｊｏｕｒｎａｌ  Ｏｆ  Ｃｒｙｐｔｏｌｏｇｙ、２００９年６月．
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１にて本願出願人は、特徴ベクトルを利用する照合方式を対象として、岡本−高島準同型暗号（非特許文献２）やＢＧＮ（Ｂｏｎｅｈ−Ｇｏｈ−Ｎｉｓｓｉｍ）暗号（非特許文献３）などの二重準同型暗号を用いて秘匿照合を実現する方法を開示した。
検証者側に保存される暗号化テンプレートが漏洩した場合に備えるために、暗号化テンプレートを安全に更新することが必要であるが、特許文献１では暗号化テンプレートの更新の方法については開示していなかった。【０００６】
また、非特許文献１では、同じく特徴ベクトルを利用する照合方式を対象として、岡本−高島準同型暗号やＢＧＮ暗号などの二重準同型暗号を用いて秘匿照合を実現し、さらにチャレンジレスポンスの考え方を応用した手法を導入することにより、リプレイ攻撃を防ぐ方法が開示されている。
しかしながら、やはりテンプレートを安全に更新するための方法については開示されていなかった。【０００７】
一方、特許文献２では、画像を利用する照合方式に対して、テンプレートを安全に更新するための方法が開示されている。
しかしながら、情報の秘匿方法が画像に特化したものとなっているため、画像を利用する照合方式にしか適用できないという課題があった。【０００８】
本発明は、これらの点に鑑みたものであり、二重準同型暗号アルゴリズムに基づいて生成され、認証に用いられる暗号化データ（テンプレート）を安全に更新することを主な目的とする。
【課題を解決するための手段】
【０００９】
本発明に係るデータ処理装置は、
二重準同型暗号アルゴリズムに基づいて生成された公開鍵を記憶する公開鍵記憶部と、
前記公開鍵を用いて暗号化された第１データを暗号化第１データとして記憶する暗号化データ記憶部と、
前記公開鍵の少なくとも一部を用いて、乱数を生成する乱数生成部と、
前記乱数生成部により生成された乱数を用いた演算を行って、前記暗号化第１データを更新する暗号化データ更新部とを有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、暗号化データを更新することができるため、暗号化データが漏洩した場合でも、漏洩した暗号化データを用いた「なりすまし」に対して有効に対抗することができ、セキュリティ強度を向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１に係る生体認証システムの構成例を示す図。
【図２】実施の形態１に係る証明装置の構成例を示す図。
【図３】実施の形態１に係る認証装置の構成例を示す図。
【図４】実施の形態１に係る復号装置の構成例を示す図。
【図５】実施の形態１に係るテンプレート更新処理の例を示すフローチャート図。
【図６】実施の形態２に係るテンプレート更新処理の例を示すフローチャート図。
【図７】実施の形態３に係るリプレイ攻撃対策の例を示すフローチャート図。
【図８】実施の形態４に係るリプレイ攻撃対策の例を示すフローチャート図。
【図９】実施の形態５に係るセットアップ処理の例を示すフローチャート図。
【図１０】実施の形態５に係る生体情報の登録処理の例を示すフローチャート図。
【図１１】実施の形態５に係る認証処理の例を示すフローチャート図。
【図１２】実施の形態５に係る認証処理の例を示すフローチャート図。
【図１３】実施の形態５に係る認証処理の例を示すフローチャート図。
【図１４】実施の形態６に係るセットアップ処理の例を示すフローチャート図。
【図１５】実施の形態６に係る生体情報の登録処理の例を示すフローチャート図。
【図１６】実施の形態６に係る認証処理の例を示すフローチャート図。
【図１７】実施の形態６に係る認証処理の例を示すフローチャート図。
【図１８】実施の形態６に係る認証処理の例を示すフローチャート図。
【図１９】実施の形態５及び６に係るセットアップ処理の概要を示すフローチャート図。
【図２０】実施の形態５及び６に係る生体情報の登録処理の概要を示すフローチャート図。
【図２１】実施の形態５及び６に係る認証処理の概要を示すフローチャート図。
【図２２】実施の形態５及び６に係る認証処理の概要を示すフローチャート図。
【図２３】実施の形態１−６に係る証明装置、認証装置、復号装置のハードウェア構成例を示す図。
【発明を実施するための形態】
【００１２】
本明細書では、特徴ベクトルを利用する照合方式に関して、テンプレートを安全に更新する方法を開示する。
さらに、本明細書では、上記のテンプレートを安全に更新する方法を応用してリプレイ攻撃を防ぐ方法を開示する。
【００１３】
本明細書では、基本的に、本願出願人が開示した特許文献１のデータ処理装置において、テンプレートを安全に更新する方法を新たに開示するものであり、特許文献１の実施の形態２および４に記載されている「特徴ベクトルのハミング距離またはユークリッド二乗距離により生体認証を行う」認証方法について適用できるものである。
そこで本明細書では、実施の形態１にて特許文献１の実施の形態２に記載の方式におけるテンプレートの更新方法を説明し、実施の形態２にて特許文献１の実施の形態４に記載の方式におけるテンプレートの更新方法を説明する。
その上で、テンプレート更新の応用であるリプレイ攻撃対策を実施する方法について、本明細書の実施の形態３と４で説明する。
また、実施の形態１及び実施の形態３の補足説明として、実施の形態１及び実施の形態３の方法の前提となる特許文献１の実施の形態２に記載の認証方法の要旨を、実施の形態５として示す。
また、実施の形態２及び実施の形態４の補足説明として、実施の形態２及び実施の形態４の方法の前提となる特許文献１の実施の形態４に記載の認証方法の要旨を、実施の形態６として示す。
【００１４】
ここで、非特許文献１の岡本−高島暗号のアルゴリズムを、本明細書の実施の形態１および３に必要となる範囲に限って説明する。
【００１５】
岡本−高島暗号は、楕円曲線を用いて定義される双対ペアリングベクトル空間を用いた二重準同型暗号である。
この双対ペアリングベクトル空間を構成する方法は複数考えられるが、ここでは楕円曲線の直積により構成する方法に基づいて説明する。
なお、楕円曲線上の群の演算は一般に加法群の演算として記述されることが多いが、ここでは有限体上の演算も含めすべて乗法群として記述する。
また、非対称ペアリングを用いたより一般的な方式に従って記述する。
【００１６】
Ｇ、Ｇ＾、ＧＴをそれぞれ素数位数ｑの群とする。
Ｆｑ＝｛０，１，…，ｑ−１｝とする。
ｅ：Ｇ×Ｇ＾→ＧＴを、双線型性（任意のｕ∈Ｇ，ｖ＾∈Ｇ＾，ａ，ｂ∈Ｆｑに対してｅ（ｕａ，ｖ＾ｂ）＝ｅ（ｕ，ｖ＾）ａｂとなる性質）および非退化性（ｅ（ｇ，ｇ＾）≠１であるようなｇ∈Ｇ，ｇ＾∈Ｇ＾が存在する性質）を満たすペアリングとする。
Ｎ個の群Ｇの直積集合をＶ＝Ｇ×Ｇ×…×Ｇ、同じくＮ個の群Ｇ＾の直積集合をＶ＾＝Ｇ＾×Ｇ＾×…×Ｇ＾とする。
このとき、数１に示す関係が成り立つ。
【００１７】
【数１】
0005586795.tif 000002
【００１８】
２つのベクトル空間Ｖ，Ｖ＾のペアリングとして、
ｕ＝（ｕ１，ｕ２，…，ｕＮ）∈Ｖ，ｖ＾＝（ｖ＾１，ｖ＾２，…，ｖ＾Ｎ）∈Ｖ＾に対するペアリングを、数２のように定義する。
【００１９】
【数２】
0005586795.tif 000003
【００２０】
ベクトル空間Ｖ，Ｖ＾において、数３に示す関係が成り立つ。
【００２１】
【数３】
0005586795.tif 000004
【００２２】
ｘ＝ｘ１ａ１＋ｘ２ａ２＋…＋ｘＮａＮ∈Ｖとする。
ベクトル空間Ｖにおけるディストーション写像φｉ，ｊ：Ｖ→Ｖを、φｉ，ｊ（ｘ）＝ｘｊａｉと定義する。
同様に、ｘ＾＝ｘ１ａ＾１＋ｘ２ａ＾２＋…＋ｘＮａ＾Ｎ∈Ｖ＾に対し、φ＾ｉ，ｊ：Ｖ＾→Ｖ＾を、φ＾ｉ，ｊ（ｘ＾）＝ｘｊａ＾ｉと定義する。
このようなディストーション写像は容易に計算可能である。
【００２３】
このように、標準基底があり、空間同士のペアリングが定義され、計算可能なディストーション写像が定義された２つのベクトル空間を双対ペアリングベクトル空間という。
【００２４】
Ｘ＝（Ｘｉ，ｊ），Ｘ＾＝（Ｘ＾ｉ，ｊ）を、各要素がＦｑから一様ランダムに選ばれた値で構成されるＮ行Ｎ列の正方行列とする。
このように構成したＸ，Ｘ＾はきわめて高い確率で正則行列となる。
このような正則行列を用いて、数４に示すように定義すると、Ｗ＝（ｗ１，ｗ２，…，ｗＮ），Ｗ＾＝（ｗ＾１，ｗ＾２，…，ｗ＾Ｎ）もまた基底となる。この基底をランダム基底と呼ぶ。
【００２５】
【数４】
0005586795.tif 000005
【００２６】
非特許文献２によれば、ベクトル空間Ｖ，Ｖ＾におけるランダム基底Ｗ＝（ｗ１，ｗ２，…，ｗＮ），Ｗ＾＝（ｗ＾１，ｗ＾２，…，ｗ＾Ｎ）に関して、以下の性質が成り立つ。
【００２７】
ＦＮｑの要素（ｘ１，ｘ２，…，ｘＮ）が与えられたとき、ｘ＝ｘ１ｗ１＋ｘ２ｗ２＋…＋ｘＮｗＮ，ｘ＾＝ｘ１ｗ＾１＋ｘ２ｗ＾２＋…＋ｘＮｗ＾Ｎを得ることは容易である。
しかし、ｘ＝ｘ１ｗ１＋ｘ２ｗ２＋…＋ｘＬｗＬ，ｘ＾＝ｘ１ｗ＾１＋ｘ２ｗ＾２＋…＋ｘＬｗ＾Ｌ（１＜Ｌ≦Ｎ）が与えられたときに、Ｘ＝（Ｘｉ，ｊ），Ｘ＾＝（Ｘ＾ｉ，ｊ）を用いずしてベクトルｙ＝ｘ１ｗ１＋ｘ２ｗ２＋…＋ｘｌｗｌ，ｙ＾＝ｘ１ｗ＾１＋ｘ２ｗ＾２＋…＋ｘｌｗ＾ｌ（１≦ｌ＜Ｌ）を得ることは、一般化されたＤｉｆｆｉｅ−Ｈｅｌｌｍａｎ計算問題と同程度に難しいことが知られている。
一方で、Ｘ＝（Ｘｉ，ｊ），Ｘ＾＝（Ｘ＾ｉ，ｊ）を用いるならば、以下のアルゴリズムＤｅｃｏ（数５）により上記のようなベクトル分解が容易に計算可能である。なお、数５中のｋは整数である。
【００２８】
【数５】
0005586795.tif 000006
【００２９】
この性質から、正則行列を秘密鍵とすることによりトラップドア関数が実現できる。
【００３０】
以下、双対ペアリングベクトル空間を用いたデータ処理装置において、テンプレートを安全に更新する方法を説明する。
【００３１】
実施の形態１．
本実施の形態では、上述の岡本−高島準同型暗号を用いて特徴ベクトルを暗号化し、特徴ベクトルのハミング距離またはユークリッド二乗距離に基づいて生体認証を行うデータ処理装置において、テンプレートを安全に更新する方法を説明する。
【００３２】
図１は、実施の形態１−４に係る生体認証システムの構成例を示す図である。
【００３３】
図１において、証明装置１０１はユーザから生体情報を測定し、測定した生体情報を用いて秘匿照合処理を行う装置である。
認証装置１０２は、ユーザの生体情報を暗号化して格納しておくとともに、格納した暗号化された生体情報を用いて認証を行う装置である。
復号装置１０３は、暗号化類似度情報を復号する装置である。
なお、証明装置１０１は暗号装置の例であり、認証装置はデータ処理装置の例である。
【００３４】
図２は証明装置１０１の内部構成の構成例を示す図である。
【００３５】
図２において、生体情報抽出部２０１は、光学カメラ、赤外線カメラなどの各種センサを用いて、個人識別を行うのに必要となる情報を生体から抽出する。
特徴ベクトル形成部２０２は、生体情報抽出部２０１で抽出された生体情報から、個人の特徴を表す特徴ベクトルを形成する。
乱数生成部２０３は、乱数を生成する。
暗号化部２０４は、特徴ベクトルを暗号化する。
記憶部２０５は、公開鍵などの各種データを格納する。
通信部２０６は、データベースなど他の装置との間でデータの送受信を行う。
【００３６】
図３は認証装置１０２の内部構成の構成例を示す図である。
【００３７】
図３において、記憶部３０１は、暗号化された特徴ベクトル（以下、暗号化特徴ベクトルともいう）や公開鍵などの各種データを格納する。
記憶部３０１が記憶する暗号化特徴ベクトルは、証明装置１０１により暗号化された登録用の特徴ベクトルであり、認証時にテンプレートとして用いられる。
本明細書では、暗号化特徴ベクトルは、テンプレート、暗号化生体情報とも表記する。
なお、暗号化前の登録用の特徴ベクトル（暗号化前の登録用の生体情報）が第１データの例に相当し、記憶部３０１が記憶する暗号化特徴ベクトル（テンプレート、暗号化生体情報）が暗号化第１データの例に相当する。
また、後述するように、テンプレート更新部３０７により暗号化特徴ベクトルが更新された場合には、記憶部３０１は、既存の暗号化特徴ベクトル（証明装置１０１から取得した暗号化特徴ベクトル又は前回の更新により得られた暗号化特徴ベクトル）に上書きして、更新された暗号化特徴ベクトルを記憶する。
また、記憶部３０１が記憶する公開鍵は、復号装置１０３で生成され、復号装置１０３から配布された公開鍵である。
また、後述するように、公開鍵更新部３０６により公開鍵が更新された場合は、既存の公開鍵（復号装置１０３から取得した公開鍵又は前回の更新により得られた公開鍵）に上書きして、更新された公開鍵を記憶する。
なお、記憶部３０１は、暗号化データ記憶部及び公開鍵記憶部の例に相当する。
【００３８】
暗号化類似度生成部３０２は、登録されている暗号化特徴ベクトルと、認証用の暗号化特徴ベクトルから、暗号化類似度情報を生成する。
認証用の暗号化特徴ベクトルは、証明装置１０１により暗号化された認証用の特徴ベクトルである。
暗号化前の認証用の特徴ベクトルが第２データの例に相当し、認証用の暗号化特徴ベクトルが暗号化第２データの例に相当する。
また、暗号化類似度情報は、公開鍵に対応付けられている秘密鍵を用いた復号処理により登録用の特徴ベクトル（第１データ）と認証用の特徴ベクトル（第２データ）との間の類似度を復号装置１０３において導出可能な暗号化された情報である。
なお、暗号化類似度生成部３０２の詳細は、後述の実施の形態５及び６で説明する。
【００３９】
判定部３０３は、類似度から個人識別を行い、本人か否かを判定する。
【００４０】
通信部３０４は、証明装置１０１や復号装置１０３との間でデータの送受信を行う。
例えば、通信部３０４は、認証時に、証明装置１０１から認証用の暗号化特徴ベクトルを受信する。
前述のように、暗号化特徴ベクトルが暗号化第２データの例に相当するため、通信部３０４は暗号化データ入力部の例に相当する。
また、通信部３０４は、後述の実施の形態３及び４に示すように、証明装置１０１から認証要求を受信する場合がある。
認証要求は、例えば、ユーザの認証が必要になった際に証明装置１０１から認証装置１０２に送信される。
例えば、証明装置１０１が銀行のＡＴＭに付設されている場合には、銀行の顧客がＡＴＭの利用を開始する際に、証明装置１０１から認証装置１０２に送信される。
後述するように、証明装置１０１から認証要求があった場合に、認証装置１０２では公開鍵更新部３０６により公開鍵が更新され、更新された公開鍵が証明装置１０１に送信される。
この意味で、認証要求は公開鍵の供給を要求するものであり、認証要求は公開鍵供給要求の例に相当する。
このため、通信部３０４は公開鍵供給要求入力部の例でもある。
【００４１】
乱数生成部３０５は、乱数を生成する。
より具体的には、乱数生成部３０５は、所定のトリガイベントが発生する度に、トリガイベント発生の際に記憶部３０１に記憶されている公開鍵の少なくとも一部を用いて、乱数を生成する。
例えば、証明装置１０１からの認証要求の受信や、公開鍵及び暗号化特徴ベクトルの周期的な更新タイミングの到来等をトリガイベントとすることが考えられる。
また、システム管理者が、認証装置１０２に公開鍵や暗号化特徴ベクトルの更新を指示したことをトリガイベントの発生としてもよい。
【００４２】
公開鍵更新部３０６は、乱数生成部３０５により乱数が生成される度に、乱数生成部３０５により生成された乱数を用いた演算を行って、トリガイベント発生の際に記憶部３０１に記憶されている公開鍵を更新する。
【００４３】
テンプレート更新部３０７は、乱数生成部３０５により乱数が生成される度に、乱数生成部３０５により生成された乱数を用いた演算を行って、トリガイベント発生の際に記憶部３０１に記憶されているテンプレート（暗号化第１データ）を更新する。
テンプレート更新部３０７は、暗号化データ更新部の例に相当する。
【００４４】
図４は復号装置１０３の内部構成の構成例を示す図である。
【００４５】
図４において、パラメータ生成部４０１は、公開鍵や秘密鍵など、暗号化と復号に必要なパラメータを生成する。
復号部４０２は、暗号化類似度情報を復号し、平文の類似度を取り出す。
記憶部４０３は、公開鍵や秘密鍵などの各種データを格納する。
通信部４０４は、データベースなど他の装置との間でデータの送受信を行う。
【００４６】
次に、本実施の形態に係るデータ処理方法を説明する。
【００４７】
まず、動作の全体像を説明する。
動作は、セットアップ処理、登録処理、認証処理、テンプレート更新処理の４つに分かれる。
セットアップ処理では、復号装置１０３が、暗号化と復号に必要となるパラメータを生成する。
登録処理では、証明装置１０１がユーザの生体情報を暗号化して認証装置１０２に送付し、認証装置１０２が記憶部３０１に格納する。
認証処理では、まず証明装置１０１がユーザの生体情報を暗号化して認証用の暗号化生体情報を認証装置１０２に送付する。次に、認証装置１０２が、記憶部３０１の暗号化生体情報（テンプレート）と受領した暗号化生体情報を用いて暗号化類似度情報を生成し、暗号化類似度情報を復号装置１０３に送付する。次に、復号装置１０３が類似度を復号し、認証装置１０２に復号された類似度を送付する。最後に認証装置１０２が類似度としきい値とを比較し、認証をする。
テンプレート更新処理では、認証装置１０２が公開鍵とテンプレートを更新し、新しい公開鍵を公開する。
【００４８】
なお本明細書では、セットアップ処理、登録処理、認証処理については記号も含めて特許文献１に記載のとおりである。
セットアップ処理、登録処理、認証処理の詳細は実施の形態５において説明し、実施の形態１では、テンプレートの更新処理についてのみ説明する。
【００４９】
図５を用いて、テンプレートの更新処理について詳細に説明する。
図５は、テンプレートの更新手順を示したフローチャートである。
【００５０】
トリガイベントが発生した場合に、はじめに、ステップＳ５０１にて、乱数生成部３０５が、０からｑ−１までの整数から一様ランダムに値δを取り出す。
値δは、乱数値である。
また、上記の「一様」とは、０からｑ−１の各値の出現確率が同一であることを意味する。
ここで、上記の「ｑ」は群位数である。
実施の形態５において説明する図９のＳ９０６に示すように、公開鍵ｐｋ＝（ｑ、Ｖ、Ｖ＾、ｅ、ＧＴ、Ａ、Ａ＾、Ｗ、Ｗ＾、ｅ（ｇ，ｇ＾））であり、群位数ｑは公開鍵ｐｋの一部（構成要素）である。
つまり、乱数生成部３０５は、公開鍵ｐｋの一部を用いて乱数を生成する。
【００５１】
次に、ステップＳ５０２にて、公開鍵更新部３０６が、既存の公開鍵パラメータｅ（ｇ，ｇ＾）とランダム基底Ｗ＝（ｗ１、ｗ２、ｗ３）、Ｗ＾＝（ｗ＾１、ｗ＾２、ｗ＾３）と乱数値δとを用いて、新たな公開鍵パラメータｅ（ｇ，ｇ＾）＋＝ｅ（δｇ，δｇ＾）、ランダム基底Ｗ＋＝（δｗ１、δｗ２、δｗ３）、Ｗ＾＋＝（δｗ＾１、δｗ＾２、δｗ＾３）を定める。
前述したように、公開鍵ｐｋ＝（ｑ、Ｖ、Ｖ＾、ｅ、ＧＴ、Ａ、Ａ＾、Ｗ、Ｗ＾、ｅ（ｇ，ｇ＾））であり、公開鍵パラメータｅ（ｇ，ｇ＾）とランダム基底Ｗ及びＷ＾は、公開鍵ｐｋの一部である。
このように、既存の公開鍵パラメータｅ（ｇ，ｇ＾）とランダム基底Ｗ及びＷ＾から新たな公開鍵パラメータｅ（ｇ，ｇ＾）＋とランダム基底Ｗ＋及びＷ＾＋に更新することは、既存の公開鍵ｐｋから新たな公開鍵ｐｋ＋に更新することと同義である。
【００５２】
次に、ステップＳ５０３にて、テンプレート更新部３０７が、既存のテンプレートＣ＝（ｃ１，ｃ２，…，ｃＴ）と乱数値δとを用いて、新たなテンプレートＣ＋＝（δｃ１，δｃ２，…，δｃＴ）を計算する。
そして、記憶部３０１は、既存のテンプレートＣに上書きして、新たなテンプレートＣ＋を記憶する。
また、このとき、記憶部３０１は、公開鍵パラメータｅ（ｇ，ｇ＾）とランダム基底Ｗ及びＷ＾に上書きして、公開鍵更新部３０６により生成された新たな公開鍵パラメータｅ（ｇ，ｇ＾）＋とランダム基底Ｗ＋及びＷ＾＋を記憶する。
新たな公開鍵パラメータｅ（ｇ，ｇ＾）＋とランダム基底Ｗ＋及びＷ＾＋を記憶することは、既存の公開鍵ｐｋを上書きして新たな公開鍵ｐｋ＋を記憶することに相当する。
【００５３】
次に、ステップＳ５０４にて、テンプレート更新部３０７が、乱数値δを消去する。
【００５４】
最後に、ステップＳ５０５にて、新たな公開鍵パラメータｅ（ｇ，ｇ＾）＋とランダム基底Ｗ＋＝（δｗ１、δｗ２、δｗ３）、Ｗ＾＋＝（δｗ＾１、δｗ＾２、δｗ＾３）を公開する。
ステップＳ５０５は、例えば、通信部３０４が新たな公開鍵パラメータｅ（ｇ，ｇ＾）＋とランダム基底Ｗ＋及びＷ＾＋を証明装置１０１及び復号装置１０３に送信することにより実現される。
証明装置１０１及び復号装置１０３では、新たな公開鍵パラメータｅ（ｇ，ｇ＾）＋とランダム基底Ｗ＋及びＷ＾＋を用いて新たな公開鍵ｐｋ＋を生成することができ、新たな公開鍵パラメータｅ（ｇ，ｇ＾）＋とランダム基底Ｗ＋及びＷ＾＋を送信することは、新たな公開鍵ｐｋ＋を送信することと同義である。
なお、通信部３０４は、新たな公開鍵パラメータｅ（ｇ，ｇ＾）＋とランダム基底Ｗ＋及びＷ＾＋を送信する代わりに、証明装置１０１及び復号装置１０３に、新たな公開鍵ｐｋ＋を送信するようにしてもよい。
また、通信部３０４による送信に代えて、可搬記憶媒体に新たな公開鍵パラメータｅ（ｇ，ｇ＾）＋とランダム基底Ｗ＋及びＷ＾＋（又は、新たな公開鍵ｐｋ＋）を格納して、証明装置１０１及び復号装置１０３に当該可搬記憶媒体から新たな公開鍵パラメータｅ（ｇ，ｇ＾）＋とランダム基底Ｗ＋及びＷ＾＋（又は、新たな公開鍵ｐｋ＋）を読み込ませてもよい。
【００５５】
以降は、新たな公開鍵ｐｋ＋と新たなテンプレートＣ＋を用いて、特許文献１の実施の形態２（つまり、本明細書の実施の形態５）に示す手順に従った認証処理が行われる。
すなわち、まず証明装置１０１がユーザの生体情報を新たな公開鍵ｐｋ＋を用いて暗号化して認証用の暗号化生体情報を認証装置１０２に送付する。
次に、認証装置１０２が、記憶部３０１の暗号化生体情報（新たなテンプレートＣ＋）と受領した暗号化生体情報と記憶部３０１の新たな公開鍵ｐｋ＋とを用いて暗号化類似度情報を生成し、暗号化類似度情報を復号装置１０３に送付する。
次に、復号装置１０３が秘密鍵ｓｋと新たな公開鍵ｐｋ＋を用いて類似度を復号し、認証装置１０２に復号された類似度を送付する。
最後に認証装置１０２が類似度としきい値とを比較し、認証をする。
なお、図５に示す手順にて公開鍵とテンプレートが更新されても、秘密鍵ｓｋは更新されない。
アルゴリズムの性質上、秘密鍵ｓｋが更新されなくても、復号装置１０３は類似度の復号を行うことができる。
【００５６】
以上の手順によりテンプレートと公開鍵とを更新すれば、仮に旧テンプレートが漏洩したとしても、旧テンプレートを用いて認証装置１０２になりすますことはできない。
なぜならば、すでに公開鍵の一部である公開鍵パラメータとランダム基底が新たな公開鍵パラメータｅ（ｇ，ｇ＾）＋とランダム基底Ｗ＋＝（δｗ１、δｗ２、δｗ３）、Ｗ＾＋＝（δｗ＾１、δｗ＾２、δｗ＾３）に置きかわっており、復号装置１０３での復号処理にもこの新たな公開鍵パラメータとランダム基底が用いられるため、新たな公開鍵パラメータとランダム基底と旧テンプレートとの間で齟齬が生じてしまい、この齟齬がハミング距離やユークリッド二乗距離の復号結果に反映して、乱数値δに応じたランダムな値になるからである。
【００５７】
また、以上の手順によりテンプレートと公開鍵とを更新すれば、旧テンプレートと新公開鍵パラメータとランダム基底を入手したとしても、新テンプレートを計算することはできない。
なぜならば、この計算問題が計算量理論の分野において計算困難な問題の一つとされている「計算Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ問題」に帰着されるからである。
【００５８】
以上、実施の形態１を説明した。
この実施の形態１によれば、岡本−高島準同型暗号を用いたデータ処理装置において、テンプレートを安全に更新することができるという効果がある。
このため、テンプレートが漏洩した場合でも、漏洩したテンプレートを用いた「なりすまし」に対して有効に対抗することができ、セキュリティ強度を向上させることができる。
【００５９】
また、この実施の形態１によれば、岡本−高島準同型暗号を用いているので、ＢＧＮ暗号を用いる場合に比べて群のサイズを小さくすることができ、演算を高速にすることができるという効果がある。
【００６０】
実施の形態２．
本実施の形態では、非特許文献３に示されたＢＧＮ（Ｂｏｎｅｈ−Ｇｏｈ−Ｎｉｓｓｉｍ）暗号を用いたデータ処理装置において、テンプレートを安全に更新する方法を説明する。
【００６１】
なお、本実施の形態に係る生体認証システムの構成例も図１に示した通りである。
【００６２】
また、本実施の形態に係る証明装置１０１、認証装置１０２、復号装置１０３の内部構成例も、図２−図４に示した通りである。
【００６３】
はじめに、ＢＧＮ暗号のアルゴリズムについて説明する。
ＢＧＮ暗号も二重準同型暗号の一つである。
ＢＧＮ暗号は、鍵生成、暗号化、復号の３つのアルゴリズムからなる。
【００６４】
鍵生成アルゴリズムは以下のとおりである。
ｐ、ｑをそれぞれ素数とする。
Ｎ＝ｐｑとして、Ｎを位数とする群Ｇ、ＧＴを生成する。
ｅ：Ｇ×Ｇ→ＧＴを、双線型性および非退化性を満たすペアリングとする。
ｇ、ｕをＧから一様ランダムに選んだ要素とする。
ｈ＝ｕｑによりｈを定める。
そして、公開鍵を（（Ｇ，ＧＴ，Ｎ，ｅ）、ｇ、ｈ、ｅ（ｇ，ｇ））、秘密鍵をｐとする。
【００６５】
暗号化アルゴリズムは以下のとおりである。
なお、平文空間を｛０、１、…、Ｌ｝とする。
｛０、１、…、Ｎ−１｝から一様ランダムにｒを選ぶ。
ｘに対する暗号文Ｅ（ｘ）をＥ（ｘ）＝ｇｘｈｒとする。
【００６６】
復号アルゴリズムは以下のとおりである。
暗号文をＥ（ｘ）とすると、まず、秘密鍵ｐを用いてＥ（ｘ）ｐを計算する。
定義より、Ｅ（ｘ）ｐ＝（ｇｘｈｒ）ｐ＝（ｇｐ）ｘとなる。
そして、この値について、ｇｐを底とする離散対数を求め、元の平文ｘを得る。なお、ｇは、公開鍵の一部として、復号装置１０３から配布されたものである。
【００６７】
なお、離散対数を求める計算は現在の計算機能力では困難とされているが、平文空間の大きさＬが小さい場合には、Ｐｏｌｌａｒｄのラムダ法を用いることにより√Ｌ程度の計算量で計算できることが知られている。
【００６８】
このようなＢＧＮ暗号を用いたデータ処理装置において、テンプレートを安全に更新する方法を説明する。
なお本明細書では、セットアップ処理、登録処理、認証処理については記号も含めて特許文献１に記載のとおりである。
セットアップ処理、登録処理、認証処理の詳細は実施の形態６において説明し、実施の形態２では、テンプレートの更新処理についてのみ説明する。
【００６９】
図６を用いて、テンプレートの更新について詳細に説明する。
図６は、テンプレートの更新手順を示したフローチャートである。
【００７０】
トリガイベントが発生した場合に、はじめに、ステップＳ６０１にて、乱数生成部３０５が、０からｑ−１までの整数から一様ランダムに値δを取り出す。
値δは、乱数値である。
また、上記の「一様」とは、０からｑ−１の各値の出現確率が同一であることを意味する。
上記のとおり「ｑ」は素数である。
実施の形態６において説明する図１４のＳ１３０１に示すように、Ｎ＝ｐｑであり、また、図１４のＳ１３０３に示すように、公開鍵ｐｋ＝（（Ｇ，ＧＴ，Ｎ，ｅ），ｇ，ｈ，ｅ（ｇ，ｇ））であり、素数ｑは公開鍵ｐｋの一部（構成要素）である。
つまり、乱数生成部３０５は、公開鍵ｐｋの一部を用いて乱数を生成する。
【００７１】
次に、ステップＳ６０２にて、公開鍵更新部３０６が、既存の公開鍵（（Ｇ，ＧＴ，Ｎ，ｅ），ｇ，ｈ，ｅ（ｇ，ｇ））と乱数値δとを用いて、新たな公開鍵（（Ｇ，ＧＴ，Ｎ，ｅ），ｇδ，ｈδ，ｅ（ｇ，ｇ）δ＾２）を定める。
【００７２】
次に、ステップＳ６０３にて、テンプレート更新部３０７が、既存のテンプレートＣ＝（ｃ１，ｃ２，…，ｃＴ）と乱数値δとを用いて、新たなテンプレートＣ＋＝（ｃδ１，ｃδ２，…，ｃδＴ）を計算する。
そして、記憶部３０１は、既存のテンプレートＣに上書きして、新たなテンプレートＣ＋を記憶する。
また、このとき、記憶部３０１は、既存の公開鍵（（Ｇ，ＧＴ，Ｎ，ｅ），ｇ，ｈ，ｅ（ｇ，ｇ））に上書きして、公開鍵更新部３０６により生成された新たな公開鍵（（Ｇ，ＧＴ，Ｎ，ｅ），ｇδ，ｈδ，ｅ（ｇ，ｇ）δ＾２）を記憶する。
【００７３】
次に、ステップＳ６０４にて、テンプレート更新部３０７が、乱数値δを消去する。
【００７４】
最後に、ステップＳ６０５にて、新たな公開鍵（（Ｇ，ＧＴ，Ｎ，ｅ），ｇδ，ｈδ，ｅ（ｇ，ｇ）δ＾２）を公開する。
ステップＳ６０５は、例えば、通信部３０４が新たな公開鍵（（Ｇ，ＧＴ，Ｎ，ｅ），ｇδ，ｈδ，ｅ（ｇ，ｇ）δ＾２）を証明装置１０１及び復号装置１０３に送信することにより実現される。
また、通信部３０４による送信に代えて、可搬記憶媒体に新たな公開鍵（（Ｇ，ＧＴ，Ｎ，ｅ），ｇδ，ｈδ，ｅ（ｇ，ｇ）δ＾２）を格納して、証明装置１０１及び復号装置１０３に当該可搬記憶媒体から新たな公開鍵（（Ｇ，ＧＴ，Ｎ，ｅ），ｇδ，ｈδ，ｅ（ｇ，ｇ）δ＾２）を読み込ませてもよい。
【００７５】
以降は、新たな公開鍵（（Ｇ，ＧＴ，Ｎ，ｅ），ｇδ，ｈδ，ｅ（ｇ，ｇ）δ＾２）と新たなテンプレートＣ＋を用いて、特許文献１の実施の形態４（つまり、本明細書の実施の形態６）に示す手順に従った認証処理が行われる。
すなわち、まず証明装置１０１がユーザの生体情報を新たな公開鍵（（Ｇ，ＧＴ，Ｎ，ｅ），ｇδ，ｈδ，ｅ（ｇ，ｇ）δ＾２）を用いて暗号化して認証用の暗号化生体情報を認証装置１０２に送付する。
次に、認証装置１０２が、記憶部３０１の暗号化生体情報（新たなテンプレートＣ＋）と受領した暗号化生体情報と記憶部３０１の新たな公開鍵（（Ｇ，ＧＴ，Ｎ，ｅ），ｇδ，ｈδ，ｅ（ｇ，ｇ）δ＾２）とを用いて暗号化類似度情報を生成し、暗号化類似度情報を復号装置１０３に送付する。
次に、復号装置１０３が秘密鍵ｓｋと新たな公開鍵（（Ｇ，ＧＴ，Ｎ，ｅ），ｇδ，ｈδ，ｅ（ｇ，ｇ）δ＾２）を用いて類似度を復号し、認証装置１０２に復号された類似度を送付する。
最後に認証装置１０２が類似度としきい値とを比較し、認証をする。
なお、図６に示す手順にて公開鍵とテンプレートが更新されても、秘密鍵ｓｋは更新されない。
アルゴリズムの性質上、秘密鍵ｓｋが更新されなくても、復号装置１０３は類似度の復号を行うことができる。
【００７６】
以上の手順によりテンプレートと公開鍵とを更新すれば、仮に旧テンプレートが漏洩したとしても、旧テンプレートを用いて認証装置１０２になりすますことはできない。
なぜならば、すでに公開鍵が新たな公開鍵（（Ｇ，ＧＴ，Ｎ，ｅ），ｇδ，ｈδ，ｅ（ｇ，ｇ）δ＾２）に置きかわっており、復号装置１０３での復号処理にもこの新たな公開鍵が用いられるため、新たな公開鍵と旧テンプレートとの間で齟齬が生じてしまい、この齟齬がハミング距離やユークリッド二乗距離の復号結果に反映して、乱数値δに応じたランダムな値になるからである。
【００７７】
また、以上の手順によりテンプレートと公開鍵とを更新すれば、旧テンプレートと新ランダム基底を入手したとしても、新テンプレートを計算することはできない。
なぜならば、この計算問題が計算量理論の分野において計算困難な問題の一つとされている「計算Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ問題」に帰着されるからである。
【００７８】
以上、実施の形態２を説明した。
この実施の形態２によれば、ＢＧＮ暗号を用いたデータ処理装置において、テンプレートを安全に更新することができるという効果がある。
このため、テンプレートが漏洩した場合でも、漏洩したテンプレートを用いた「なりすまし」に対して有効に対抗することができ、セキュリティ強度を向上させることができる。
【００７９】
また、この実施の形態２によれば、ＢＧＮ暗号を用いているので、実施の形態１に比べてテンプレートのサイズを小さくすることができるという効果がある。
【００８０】
実施の形態３．
本実施の形態では、実施の形態１のテンプレートの更新方法を流用してリプレイ攻撃対策を実施する方法を説明する。
【００８１】
システム構成および各装置の構成は図１から図４のとおりであるのでここでは記述を省略する。
【００８２】
図７を用いて、実施の形態１のテンプレートの更新方法を流用してリプレイ攻撃対策を実施する方法を詳細に説明する。
図７は、実施の形態１のテンプレートの更新方法を流用してリプレイ攻撃対策を実施する場合の手順を示したフローチャートである。
【００８３】
図７において、証明装置１０１は、ステップＳ７０１にて認証要求を送信する。
認証要求を受け取った認証装置１０２は、ステップＳ７０２にて、乱数生成部３０５が、０からｑ−１までの整数から一様ランダムに値δを取り出す。
次に、ステップＳ７０３にて、公開鍵更新部３０６が、既存の公開鍵パラメータｅ（ｇ，ｇ＾）とランダム基底Ｗ＝（ｗ１、ｗ２、ｗ３）、Ｗ＾＝（ｗ＾１、ｗ＾２、ｗ＾３）と乱数値δとを用いて、新たな公開鍵パラメータｅ（ｇ，ｇ＾）＋＝ｅ（δｇ，δｇ＾）とランダム基底Ｗ＋＝（δｗ１、δｗ２、δｗ３）、Ｗ＾＋＝（δｗ＾１、δｗ＾２、δｗ＾３）を定める。
次に、ステップＳ７０４にて、テンプレート更新部３０７が、既存のテンプレートＣ＝（ｃ１，ｃ２，…，ｃＴ）と乱数値δとを用いて、新たなテンプレートＣ＋＝（δｃ１，δｃ２，…，δｃＴ）を計算し、記憶部３０１が、既存のテンプレートを上書きして、新たなテンプレートＣ＋を記憶する。
また、記憶部３０１が、既存の公開鍵パラメータｅ（ｇ，ｇ＾）とランダム基底Ｗ及びＷ＾を上書きして、新たな公開鍵パラメータｅ（ｇ，ｇ＾）＋とランダム基底Ｗ＋及びＷ＾＋を記憶する。
次に、ステップＳ７０５にて、テンプレート更新部３０７が、乱数値δを消去する。
次に、ステップＳ７０６にて、新たな公開鍵パラメータｅ（ｇ，ｇ＾）＋とランダム基底Ｗ＋＝（δｗ１、δｗ２、δｗ３）、Ｗ＾＋＝（δｗ＾１、δｗ＾２、δｗ＾３）を公開する。
この新たな公開鍵パラメータとランダム基底を受け取ると、証明装置１０１は、ステップＳ７０７以降にて、新たな公開鍵パラメータとランダム基底を含む公開鍵を新公開鍵として、特許文献１の実施の形態２（つまり、本明細書の実施の形態５）に記載の認証方法により認証する。
【００８４】
以上の手順により認証処理を行えば、認証のたびごと（認証要求が送信されるごと）に新たな公開鍵が生成されるので、リプレイ攻撃を防ぐことができる。
【００８５】
以上、実施の形態３を説明した。
この実施の形態３によれば、実施の形態１に記載のテンプレートの更新方法を流用してリプレイ攻撃対策を実施することができ、新たな装置の追加を必要としないので、別途リプレイ攻撃対策を施すのに比べてコストを低減できるという効果がある。
【００８６】
実施の形態４．
本実施の形態では、実施の形態２のテンプレートの更新方法を流用してリプレイ攻撃対策を実施する方法を説明する。
【００８７】
システム構成および各装置の構成は図１から図４のとおりであるのでここでは記述を省略する。
【００８８】
図８を用いて、実施の形態２のテンプレートの更新方法を流用してリプレイ攻撃対策を実施する方法を詳細に説明する。
図８は、実施の形態２のテンプレートの更新方法を流用してリプレイ攻撃対策を実施する場合の手順を示したフローチャートである。
【００８９】
図８において、証明装置１０１は、ステップＳ８０１にて認証要求を送信する。
認証要求を受け取った認証装置１０２は、ステップＳ８０２にて、乱数生成部３０５が、０からｑ−１までの整数から一様ランダムに値δを取り出す。
次に、ステップＳ８０３にて、公開鍵更新部３０６が、公開鍵（（Ｇ，ＧＴ，Ｎ，ｅ），ｇ，ｈ，ｅ（ｇ，ｇ））と乱数値δとを用いて、新たな公開鍵（（Ｇ，ＧＴ，Ｎ，ｅ），ｇδ，ｈδ，ｅ（ｇ，ｇ）δ＾２）を定める。
次に、ステップＳ８０４にて、テンプレート更新部３０７が、既存のテンプレートＣ＝（ｃ１，ｃ２，…，ｃＴ）と乱数値δとを用いて、新たなテンプレートＣ＋＝（ｃδ１，ｃδ２，…，ｃδＴ）を計算し、記憶部３０１が、既存のテンプレートを上書きして、新たなテンプレートＣ＋を記憶する。
また、記憶部３０１が、既存の公開鍵を上書きして、新たな公開鍵を記憶する。
次に、ステップＳ８０５にて、テンプレート更新部３０７が、乱数値δを消去する。
次に、ステップＳ８０６にて、新たな公開鍵（（Ｇ，ＧＴ，Ｎ，ｅ），ｇδ，ｈδ，ｅ（ｇ，ｇ）δ＾２）を公開する。
この新たな公開鍵を受け取ると、証明装置１０１は、ステップＳ８０７以降にて、新公開鍵を用いて、特許文献１の実施の形態４（つまり、本明細書の実施の形態６）に記載の認証方法により認証する。
【００９０】
以上の手順により認証処理を行えば、認証のたびごと（認証要求が送信されるごと）に新たな公開鍵が生成されるので、リプレイ攻撃を防ぐことができる。
【００９１】
以上、実施の形態４を説明した。
この実施の形態４によれば、実施の形態２に記載のテンプレートの更新方法を流用してリプレイ攻撃対策を実施することができ、新たな装置の追加を必要としないので、別途リプレイ攻撃対策を施すのに比べてコストを低減できるという効果がある。
【００９２】
以上、実施の形態１および実施の形態２でテンプレートの更新方法を説明し、実施の形態３および実施の形態４でそれを応用したリプレイ攻撃対策方法を説明した。
なお、これらを組み合わせて利用することができることは当然である。
すなわち、認証のたびごとにリプレイ攻撃対策を施し、さらにテンプレートの漏洩のおそれがあるときにテンプレート更新を実施することができる。
【００９３】
実施の形態５．
実施の形態５では、実施の形態１及び実施の形態３の説明を補足するために、特許文献１の実施の形態２に記載の方式におけるセットアップ処理、登録処理、認証処理を説明する。
【００９４】
特許文献１の実施の形態２に記載の方式では、Ｔ個の配列を用意し、それによって特徴ベクトルを構成するが、このとき類似度の指標として２つの特徴ベクトルのハミング距離またはユークリッド二乗距離を用いる。
２つの特徴ベクトルをｂ＝（ｂ１，ｂ２，…，ｂＴ）、ｂ’＝（ｂ’１，ｂ’２，…，ｂ’Ｔ）とする。
このとき、２つの特徴ベクトルのハミング距離は、数６で与えられ（ただしｂｉ，ｂ’ｉ∈｛０，１｝）、また、２つの特徴ベクトルのユークリッド二乗距離は、数７で与えられる。
【００９５】
【数６】
0005586795.tif 000007
【００９６】
【数７】
0005586795.tif 000008
【００９７】
次に、図１９−図２２を用いて、特許文献１の実施の形態２に記載の方式におけるセットアップ処理、登録処理、認証処理の各々の概要を説明する。
図１９がセットアップ処理の概要を示し、図２０が登録処理の概要を示し、図２１及び図２２が認証処理の概要を示す。
【００９８】
まず、図１９を参照して、セットアップ処理の概要を説明する。
最初に、復号装置１０３のパラメータ生成部４０１が、岡本−高島暗号アルゴリズムに基づき、秘密鍵ｓｋと公開鍵ｐｋを生成する（Ｓ２１０１）。
次に、復号装置１０３の記憶部４０３が秘密鍵ｓｋを記憶し、通信部４０４が公開鍵ｐｋを証明装置１０１及び認証装置１０２に送信する（Ｓ２１０２）。
次に、証明装置１０１では、通信部２０６が公開鍵ｐｋを受信し、記憶部２０５が公開鍵ｐｋを記憶し、認証装置１０２では、通信部３０４が公開鍵ｐｋを受信し、記憶部３０１が公開鍵ｐｋを記憶する（Ｓ２１０２）。
なお、ここでは、公開鍵ｐｋを送受信する例を説明しているが、証明装置１０１及び認証装置１０２に公開鍵ｐｋを配布する方法は他の方法でもよい。
例えば、復号装置１０３が公開鍵ｐｋを記録媒体に格納し、証明装置１０１及び認証装置１０２において当該記録媒体から公開鍵ｐｋを読み出して格納するようにしてもよい。
【００９９】
次に、図２０を参照して、登録処理の概要を説明する。
最初に、証明装置１０１において、生体情報抽出部２０１が、ユーザの生体情報を抽出する（Ｓ２２０１）。
次に、証明装置１０１の特徴ベクトル形成部２０２が、Ｓ２２０１で抽出された生体情報の特徴ベクトルｂを生成する（Ｓ２２０２）。
次に、証明装置１０１の乱数生成部２０３が公開鍵ｐｋの一部を用いて乱数を生成し、また、暗号化部２０４が記憶部２０５から公開鍵ｐｋを読み出し、暗号化部２０４が公開鍵ｐｋと乱数を用いて特徴ベクトルｂを暗号化する（Ｓ２２０３）。
次に、証明装置１０１の通信部２０６が、暗号化された特徴ベクトルＣを認証装置１０２に送信する（Ｓ２２０４）。
次に、認証装置１０２の通信部３０４が、暗号化された特徴ベクトルＣを受信し、記憶部２０５が暗号化された特徴ベクトルＣを記憶する（Ｓ２２０５）。
【０１００】
次に、図２１及び図２２を参照して、認証処理の概要を説明する。
最初に、証明装置１０１において、生体情報抽出部２０１が、ユーザの生体情報を抽出する（Ｓ２３０１）。
次に、証明装置１０１の特徴ベクトル形成部２０２が、Ｓ２３０１で抽出された生体情報の特徴ベクトルｂ’を生成する（Ｓ２３０２）。
次に、証明装置１０１の乱数生成部２０３が公開鍵ｐｋの一部を用いて乱数を生成し、また、暗号化部２０４が記憶部２０５から公開鍵ｐｋを読み出し、暗号化部２０４が公開鍵ｐｋと乱数を用いて特徴ベクトルｂ’を暗号化する（Ｓ２３０３）。
次に、証明装置１０１の通信部２０６が、暗号化された特徴ベクトルＣ＾を認証装置１０２に送信する（Ｓ２３０４）。
次に、認証装置１０２の通信部３０４が、暗号化された特徴ベクトルＣ＾を受信する（Ｓ２３０５）。
【０１０１】
次に、認証装置１０２の暗号化類似度生成部３０２が、記憶部３０１の暗号化特徴ベクトルＣを読み出す（Ｓ２４０１）。
次に、認証装置１０２の乱数生成部３０５が公開鍵ｐｋの一部を用いて乱数を生成し、また、暗号化類似度生成部３０２が記憶部３０１から公開鍵ｐｋを読み出し、暗号化類似度生成部３０２が記憶部３０１から読み出した暗号化特徴ベクトルＣと証明装置１０１から受信した暗号化特徴ベクトルＣ＾に対して、公開鍵ｐｋと乱数を用いて暗号化類似度情報を生成する（Ｓ２４０２）。
認証装置１０２は、公開鍵ｐｋに対応付けられている秘密鍵ｓｋを知りえないので、暗号化特徴ベクトルＣ及び暗号化特徴ベクトルＣ＾を復号することはできない。このため、暗号化特徴ベクトルＣ及び暗号化特徴ベクトルＣ＾が暗号化された状態のままで、暗号化類似度情報が生成される。
【０１０２】
次に、認証装置１０２の通信部３０４が、暗号化類似度情報を復号装置１０３に送信する（Ｓ２４０３）。
次に、復号装置１０３の通信部４０４が、暗号化類似度情報を受信する（Ｓ２４０４）。
次に、復号装置１０３の復号部４０２が、パラメータ生成部４０１から秘密鍵ｓｋを読み出し、暗号化類似度情報に秘密鍵ｓｋを用いて復号処理を行い、平文の類似度を導出する（Ｓ２４０５）。
次に、復号装置１０３の通信部４０４が、平文の類似度を認証装置１０２に送信する（Ｓ２４０６）。なお、類似度は、登録用の特徴ベクトルｂと認証用の特徴ベクトルｂ’がどの程度類似しているかを示す情報であり、類似度からは特徴ベクトル、生体情報を計算することはできない。
次に、認証装置１０２の通信部３０４が、平文の類似度を受信する（Ｓ２４０７）。
次に、認証装置１０２の判定部３０３が、平文の類似度が所定のしきい値以上であるか否かを判定し、しきい値以上であれば本人であると判定し、しきい値を下回っている場合は、本人ではないと判定する（Ｓ２４０８）。
【０１０３】
以下、図９−図１３を参照して、各処理の動作をより詳しく説明する。
図９がセットアップ処理の詳細を示し、図１０が登録処理の詳細を示し、図１１−図１３が認証処理の詳細を示す。
【０１０４】
まず、図９を用いてセットアップについて説明する。
セットアップでは、復号装置１０３が、公開鍵ｐｋおよび秘密鍵ｓｋを生成する。
この公開鍵ｐｋおよび秘密鍵ｓｋは、ユーザごとに異なる公開鍵および秘密鍵であってもよいし、システムに１つの公開鍵および秘密鍵であってもよい。
ここでは、説明を簡単にするために、システムに１つの公開鍵および秘密鍵を用いる場合について説明するが、これをユーザごとの公開鍵および秘密鍵の場合に拡張するのは容易である。
【０１０５】
図９は、パラメータ生成部４０１における公開鍵ｐｋ及び秘密鍵ｓｋの生成手順を示したフローチャートである。
【０１０６】
はじめに、ステップＳ９０１にて、パラメータ生成部４０１は、群位数ｑ、群Ｇ、Ｇ＾、ＧＴ、生成元ｇ∈Ｇ、ｇ＾∈Ｇ＾を定める。
この具体的な方法は例えば非特許文献５にあるので、ここでは省略する。
なお、群位数はセキュリティレベルに応じて定まるが、通常は２００ビットや１０２４ビットなどの大きなサイズの素数とする。
【０１０７】
次に、ステップＳ９０２にて、パラメータ生成部４０１は、ベクトル空間をＶ＝Ｇ×Ｇ×Ｇ、Ｖ＾＝Ｇ＾×Ｇ＾×Ｇ＾とし、標準基底Ａ＝（ａ１，ａ２，ａ３），Ａ＾＝（ａ＾１，ａ＾２，ａ＾３）を定める。
この定め方はすでに述べたとおりである。
【０１０８】
次に、ステップＳ９０３にて、パラメータ生成部４０１は、０からｑ−１までの整数から一様ランダムに値を９回取り出し、それらを用いて３行３列の行列Ｘ＝（Ｘｉ，ｊ）を定める。
この行列は正則行列でなければならないが、この方法で行列を定めることによりきわめて高い確率で正則行列になる。なお、より正確性を期すのであれば、このように行列を定めた後に行列式を計算するなどの方法により正則性を判定し、正則でなければ行列の要素を再度ランダムに選べばよい。
【０１０９】
次に、ステップＳ９０４にて、パラメータ生成部４０１は、０からｑ−１までの整数から一様ランダムに値を９回取り出し、それらを用いて３行３列の行列Ｘ＾＝（Ｘ＾ｉ，ｊ）を定める。
この行列はきわめて高い確率で正則行列になるが、正則行列にならなかった場合には再度ランダムに選べばよい。
【０１１０】
次に、ステップＳ９０５にて、パラメータ生成部４０１は、以下の数８および数９によりランダム基底Ｗ＝（ｗ１，ｗ２，ｗ３），Ｗ＾＝（ｗ＾１，ｗ＾２，ｗ＾３）を定める。
【０１１１】
【数８】
0005586795.tif 000009
【０１１２】
【数９】
0005586795.tif 000010
【０１１３】
最後に、ステップＳ９０６にて、パラメータ生成部４０１は、公開鍵ｐｋ＝（ｑ、Ｖ、Ｖ＾、ｅ、ＧＴ、Ａ、Ａ＾、Ｗ、Ｗ＾、ｅ（ｇ，ｇ＾））を公開し、秘密鍵ｓｋ＝（Ｘ、Ｘ＾）を記憶部４０３に格納する。
【０１１４】
図１０は、証明装置１０１において生体情報を登録する手順を示したフローチャートである。
【０１１５】
はじめに、ステップＳ１００１にて、生体情報抽出部２０１が、ユーザの生体情報を抽出する。
これには様々な方法があるが、例えば指紋に光を当てて紋様をセンサで読み取るといったことにより抽出する。
【０１１６】
次に、ステップＳ１００２にて、特徴ベクトル形成部２０２が、生体情報から特徴ベクトルｂ＝（ｂ１，ｂ２，…，ｂＴ）を形成する。
ここでＴは特徴ベクトルを格納する配列の大きさであり、特徴ベクトルの形成方法によって決まる値である。
本実施の形態の形成方法は、読み取った紋様を領域分割し、各領域で特徴点の有無を検出し、特徴点がある箇所の配列に１、ない箇所の配列に０を格納することにより特徴ベクトルを形成するという方法である。
ただし、ここでハミング距離の場合はｂｉ∈｛０，１｝であり、ユークリッド二乗距離の場合は、ｂｉ∈｛０，１，…，ｑ−１｝であることに注意する。
【０１１７】
次に、ステップＳ１００３にて、乱数生成部２０３が、０からｑ−１までの整数から一様ランダムに値を４Ｔ回取り出し、｛ｒ２，ｉ，ｒ３，ｉ，ｒ＾２，ｉ，ｒ＾３，ｉ｝ｉ＝１，２，…，Ｔとする。
【０１１８】
次に、ステップＳ１００４にて、暗号化部２０４が、ｃｉ＝ｂｉｗ１＋ｒ２，ｉｗ２＋ｒ３，ｉｗ３，ｃ＾ｉ＝ｂｉｗ＾１＋ｒ＾２，ｉｗ＾２＋ｒ＾３，ｉｗ＾３により暗号化特徴ベクトルＣ＝（ｃ１，ｃ２，…，ｃＴ），暗号化特徴ベクトルＣ＾＝（ｃ＾１，ｃ＾２，…，ｃ＾Ｔ）を計算する。
なお、ｗ１，ｗ２，ｗ３とｗ＾１，ｗ＾２，ｗ＾３は、公開鍵の一部（Ｗ及びＷ＾）として、復号装置１０３から配布されたものである。
【０１１９】
次に、ステップＳ１００５にて、通信部２０６が、暗号化特徴ベクトルＣ＝（ｃ１，ｃ２，…，ｃＴ），暗号化特徴ベクトルＣ＾＝（ｃ＾１，ｃ＾２，…，ｃ＾Ｔ）を認証装置１０２に送信する。
その際、例えばＳＳＬなどの通信用改ざん検出技術を用いて通信の途中で改ざんが行われないようにすることが望ましい。
【０１２０】
最後に、ステップＳ１００６にて、認証装置１０２が、暗号化特徴ベクトルＣ＝（ｃ１，ｃ２，…，ｃＴ），暗号化特徴ベクトルＣ＾＝（ｃ＾１，ｃ＾２，…，ｃ＾Ｔ）を記憶部３０１に格納する。
【０１２１】
次に、図１１、図１２、図１３を用いて、認証方法を説明する。
なお、簡単のためここでは認証時に認証の対象となるユーザが別途ＩＤ情報などによって特定されているいわゆる１：１認証の場合について説明する。
【０１２２】
はじめに、ステップＳ１１０１にて、証明装置１０１の生体情報抽出部２０１がユーザの生体情報を抽出する。
抽出方法は生体情報の登録時と同様である。
【０１２３】
次に、ステップＳ１１０２にて、証明装置１０１の特徴ベクトル形成部２０２が、生体情報から特徴ベクトルｂ’＝（ｂ’１，ｂ’２，…，ｂ’Ｔ）を形成する。
形成方法は、生体情報の登録時と同様である。
ただし、ここでハミング距離の場合はｂ’ｉ∈｛０，１｝であり、ユークリッド二乗距離の場合はｂ’ｉ∈｛０，１，…，ｑ−１｝であることに注意する。
【０１２４】
次に、ステップＳ１１０３にて、証明装置１０１の乱数生成部２０３が、０からｑ−１までの整数から一様ランダムに値を４Ｔ回取り出し、｛ｒ’２，ｉ，ｒ’３，ｉ，ｒ＾’２，ｉ，ｒ＾’３，ｉ｝ｉ＝１，２，…，Ｔとする。
【０１２５】
次に、ステップＳ１１０４にて、証明装置１０１の暗号化部２０４が、ｃ’ｉ＝ｂ’ｉｗ１＋ｒ’２，ｉｗ２＋ｒ’３，ｉｗ３，ｃ＾’ｉ＝ｂ’ｉｗ＾１＋ｒ’２，ｉｗ＾２＋ｒ’３，ｉｗ＾３により暗号化特徴ベクトルＣ’＝（ｃ’１，ｃ’２，…，ｃ’Ｔ），暗号化特徴ベクトルＣ＾’＝（ｃ＾’１，ｃ＾’２，…，ｃ＾’Ｔ）を計算する。
【０１２６】
次に、ステップＳ１１０５にて、証明装置１０１の通信部２０６が、暗号化特徴ベクトルＣ’＝（ｃ’１，ｃ’２，…，ｃ’Ｔ），暗号化特徴ベクトルＣ＾’＝（ｃ＾’１，ｃ＾’２，…，ｃ＾’Ｔ）を認証装置１０２に送信する。
その際、例えばＳＳＬなどの通信用改ざん検出技術を用いて通信の途中で改ざんが行われないようにすることが望ましい。
【０１２７】
次に、ステップＳ１１０６にて、認証装置１０２の通信部２０６が、暗号化特徴ベクトルＣ’＝（ｃ’１，ｃ’２，…，ｃ’Ｔ），暗号化特徴ベクトルＣ＾’＝（ｃ＾’１，ｃ＾’２，…，ｃ＾’Ｔ）を受信する。
【０１２８】
次に、ステップＳ１１０７にて、認証装置１０２の暗号化類似度生成部３０２が、記憶部３０１から暗号化特徴ベクトルＣ＝（ｃ１，ｃ２，…，ｃＴ），暗号化特徴ベクトルＣ＾＝（ｃ＾１，ｃ＾２，…，ｃ＾Ｔ）を取り出す。
このとき、一般に記憶部３０１には多数のユーザの暗号化生体情報が格納されているが、その中からどれを取り出すかについては、別途与えられるＩＤ情報を用いる。
【０１２９】
次に、ステップＳ１１０８にて、認証装置１０２の乱数生成部２０３が、０からｑ−１までの整数から一様ランダムに値を６Ｔ回取り出し、｛ｓ１，ｉ，ｓ２，ｉ，ｓ３，ｉ，ｓ＾１，ｉ，ｓ＾２，ｉ，ｓ＾３，ｉ｝ｉ＝１，２，…，Ｔとする。
【０１３０】
次に、ステップＳ１１０９にて、認証装置１０２の乱数生成部２０３が、０からｑ−１までの整数から一様ランダムに値を４回取り出し、｛ｕ２，ｕ３，ｕ＾２，ｕ＾３｝とする。
【０１３１】
次に、ステップＳ１１１０にて、認証装置１０２の暗号化類似度生成部３０２が、ｄｉ＝（ｃｉ−ｃ’ｉ）＋ｓ１，ｉｗ１＋ｓ２，ｉｗ２＋ｓ３，ｉｗ３を計算する。
なお、ｗ１，ｗ２，ｗ３は、公開鍵の一部（Ｗ）として、復号装置１０３から配布されたものである。
【０１３２】
次に、ステップＳ１１１１にて、認証装置１０２の暗号化類似度生成部３０２が、ｄ＾ｉ＝（ｃ＾ｉ−ｃ＾’ｉ）＋ｓ＾１，ｉｗ＾１＋ｓ＾２，ｉｗ＾２＋ｓ＾３，ｉｗ＾３を計算する。
なお、ｗ＾１，ｗ＾２，ｗ＾３は、公開鍵の一部（Ｗ＾）として、復号装置１０３から配布されたものである。
【０１３３】
次に、ステップＳ１１１２にて、認証装置１０２の暗号化類似度生成部３０２が、数１０に従って、Ｅを計算する。
【０１３４】
【数１０】
0005586795.tif 000011
【０１３５】
次に、ステップＳ１１１３にて、認証装置１０２の暗号化類似度生成部３０２が、数１１に従って、Ｅ＾を計算する。
【０１３６】
【数１１】
0005586795.tif 000012
【０１３７】
次に、ステップＳ１１１４にて、認証装置１０２の通信部２０６が（ｄ１，…，ｄＴ，ｄ＾１，…，ｄ＾Ｔ…，Ｅ，Ｅ＾）を復号装置１０３へ送信する。
その際、例えばＳＳＬなどの通信用改ざん検出技術を用いて通信の途中で改ざんが行われないようにすることが望ましい。
本実施の形態では、（ｄ１，…，ｄＴ，ｄ＾１，…，ｄ＾Ｔ…，Ｅ，Ｅ＾）が暗号化類似度情報の例となる。
【０１３８】
次に、ステップＳ７１５にて、復号装置１０３の通信部４０４が、（ｄ１，…，ｄＴ，ｄ＾１，…，ｄ＾Ｔ，Ｅ，Ｅ＾）を受信する。
【０１３９】
次に、ステップＳ７１６にて、復号装置１０３の復号部４０２が、記憶部４０３から秘密鍵ｓｋ＝（Ｘ，Ｘ＾）を取り出す。
【０１４０】
次に、ステップＳ７１７にて、復号装置１０３の復号部４０２が、Ｘの逆行列Ｘ−１＝（ｔｉ，ｊ）およびＸ＾の逆行列Ｘ＾−１＝（ｔ＾ｉ，ｊ）を計算する。
なお、この値は毎回計算するのではなく、あらかじめ計算した状態で記憶部４０３に格納しておき、それを取り出すものとしてもよい。
【０１４１】
次に、ステップＳ７１８にて、復号装置１０３が、数１２に従ってＺ１を計算する。
【０１４２】
【数１２】
0005586795.tif 000013
【０１４３】
ここで、Ｄｅｃｏアルゴリズムは以下の数１３のように計算される。なお、数１３中のｋは整数である。
【０１４４】
【数１３】
0005586795.tif 000014
【０１４５】
次に、ステップＳ７１９にて、復号装置１０３の復号部４０２が、Ｚ２＝ｅ（Ｄｅｃｏ（Ｅ，〈ｗ１〉，Ｘ），ｗ＾１）・ｅ（ｗ１，Ｄｅｃｏ（Ｅ＾，〈ｗ＾１〉，Ｘ＾））を計算する。
このＤｅｃｏアルゴリズムも上記と同様に計算される。
【０１４６】
次に、ステップＳ７２０にて、復号装置１０３の復号部４０２がＺ＝Ｚ１／Ｚ２を計算する。
【０１４７】
次に、ステップＳ７２１にて、復号装置１０３の復号部４０２がｅ（ｇ，ｇ＾）を底とするＺの離散対数ｄを計算する。なお、ｅ（ｇ，ｇ＾）は、公開鍵の一部として、復号装置１０３から配布されたものである。
この離散対数ｄが、特徴点の一致数に対応しており、類似度を表す。
【０１４８】
なお、離散対数を求める計算は現代の計算機能力では困難とされているが、ｄが小さい場合には効率的に計算することができる。
本実施の形態においてｄは位数ｑに比べて十分小さいため、効率的に計算することができる。
【０１４９】
次に、ステップＳ７２２にて、復号装置１０３の通信部４０４が、類似度ｄを認証装置１０２へ送信する。
その際、例えばＳＳＬなどの通信用改ざん検出技術を用いて通信の途中で改ざんが行われないようにすることが望ましい。
【０１５０】
次に、ステップＳ７２３にて、認証装置１０２の通信部３０４が、類似度ｄを受信する。
【０１５１】
次に、ステップＳ７２４にて、類似度ｄがしきい値以上かを判定する。
しきい値は、利用する生体情報の種類や安全性要件などさまざまな要素を勘案してあらかじめシステムで決められた値である。
しきい値以上であれば、証明装置１０１から送られてきた暗号化生体情報はＩＤで指定された本人のものであると判断する。
一方、しきい値未満であれば、証明装置１０１から送られてきた暗号化生体情報はＩＤで指定された人物のものではなく、他人のものであると判断する。
【０１５２】
以上のステップにより、認証装置１０２は証明装置１０１との間で生体認証を行うことができる。
なお、本実施の形態では３次元の双対ペアリングベクトル空間を用いる方法を開示したが、３次元というのはあくまで例であって、必ずしも３次元である必要はない。
例えば２次元でも実施可能であるし、４次元以上でも実施可能である。
２次元の場合には、本実施の形態中に現れたｗ３，ｗ＾３のベクトルを取り除いて実施すればよい。
このようにすれば、生体情報の登録時や認証時の計算量を低減できるという効果がある。
また、４次元以上の場合には、増えた分のベクトルにｗ２，ｗ３，ｗ＾２，ｗ＾３と同様のはたらきをさせればよい。
すなわち、ｃｉ，ｃ＾ｉ，ｄｉ，ｄ＾ｉを計算する際、増えた分のベクトルに乱数係数をかけて、ｗ２，ｗ３，ｗ＾２，ｗ＾３に加え合わせればよい。
このようにすれば、より解読が困難な暗号文を作成することができ、安全性を向上させることができる。
【０１５３】
実施の形態６．
実施の形態６では、実施の形態２及び実施の形態４の説明を補足するために、特許文献１の実施の形態４に記載の方式におけるセットアップ処理、登録処理、認証処理を説明する。
なお、本実施の形態においても、セットアップ処理、登録処理、認証処理の概要は、図１９−２２に示したとおりである。
【０１５４】
特許文献１の実施の形態４に記載の方式では、生体認証で用いる特徴ベクトルとして、特徴点の配列を用意し、ユーザがその特徴点を保有する場合に１、特徴点を保有しない場合に０を配列に格納して、配列を特徴ベクトルとし、認証時には１が一致している箇所の数を類似度の指標とするような認証方式を例に説明する。
【０１５５】
まず、図１４を用いてセットアップについて説明する。
図１４は、パラメータ生成部４０１における公開鍵及び秘密鍵の生成手順を示したフローチャートである。
【０１５６】
はじめに、ステップＳ１３０１にて、パラメータ生成部４０１が、素数ｐ，ｑ、群Ｇ，ＧＴを定める。
なお、素数はセキュリティレベルに応じて定まるが、素数ｐとｑの積を群位数とするため、通常は素因数分解ができないように素数を１０２４ビットや２０４８ビットなどの大きなサイズの素数とする。
【０１５７】
次に、ステップＳ１３０２にて、パラメータ生成部４０１が、Ｇから一様ランダムにｇ、ｕを選び、ｈ＝ｕｑを計算する。
【０１５８】
最後に、ステップＳ１３０３にて、パラメータ生成部４０１が、公開鍵ｐｋ＝（（Ｇ，ＧＴ，Ｎ，ｅ），ｇ，ｈ，ｅ（ｇ，ｇ））を公開し、秘密鍵ｓｋ＝ｐを記憶部４０３に格納する。
【０１５９】
次に、図１５を用いて、生体情報の登録方法を説明する。
なお、ここではユーザが証明装置１０１を経由して認証装置１０２に生体情報を登録する場合について説明するが、認証装置１０２上で直接生体情報を登録する場合や、登録用の専用装置を経由して登録する場合などにおいても同様の手順により実現できる。
【０１６０】
図１５は、証明装置１０１において生体情報を登録する手順を示したフローチャートである。
【０１６１】
はじめに、ステップＳ１４０１にて、生体情報抽出部２０１がユーザの生体情報を抽出する。これには様々な方法があるが、例えば指紋に光を当てて紋様をセンサで読み取るといったことにより抽出する。
【０１６２】
次に、ステップＳ１４０２にて、特徴ベクトル形成部２０２が、生体情報から特徴ベクトルｂ＝（ｂ１，ｂ２，…，ｂＴ）を形成する。
【０１６３】
次に、ステップＳ１４０３にて、乱数生成部２０３が、０からＮ−１までの整数から一様ランダムに値をＴ回取り出し、｛ｒｉ｝ｉ＝１，２，…，Ｔとする。
【０１６４】
次に、ステップＳ１４０４にて、暗号化部２０４が、ｃｉ＝ｇｂｉｈｒｉにより暗号化特徴ベクトルＣ＝（ｃ１，ｃ２，…，ｃＴ）を計算する。
なお、ｇ、ｈは公開鍵の一部として復号装置１０３から配布されたものである。
【０１６５】
次に、ステップＳ１４０５にて、通信部２０６が、暗号化特徴ベクトルＣ＝（ｃ１，ｃ２，…，ｃＴ）を認証装置１０２に送信する。
【０１６６】
最後に、ステップＳ１４０６にて、認証装置１０２が、暗号化特徴ベクトルＣ＝（ｃ１，ｃ２，…，ｃＴ）を記憶部３０１に格納する。
【０１６７】
次に、図１６、図１７、図１８を用いて、認証方法を説明する。
なお、簡単のためここでは認証時に認証の対象となるユーザが別途ＩＤ情報などによって特定されているいわゆる１：１認証の場合について説明する。
【０１６８】
はじめに、ステップＳ１８０１にて、証明装置１０１の生体情報抽出部２０１が、ユーザの生体情報を抽出する。
抽出方法は生体情報の登録時と同様である。
【０１６９】
次に、ステップＳ１８０２にて、証明装置１０１の特徴ベクトル形成部２０２が、生体情報から特徴ベクトルｂ’＝（ｂ’１，ｂ’２，…，ｂ’Ｔ）を形成する。
形成方法は、生体情報の登録時と同様である。
【０１７０】
次に、ステップＳ１８０３にて、証明装置１０１の乱数生成部２０３が、０からＮ−１までの整数から一様ランダムに値をＴ回取り出し、｛ｒ’ｉ｝ｉ＝１，２，…，Ｔとする。
【０１７１】
次に、ステップＳ１８０４にて、証明装置１０１の暗号化部２０４が、ｃ’ｉ＝ｇｂ’ｉｈｒ’ｉにより暗号化特徴ベクトルＣ’＝（ｃ’１，ｃ’２，…，ｃ’Ｔ）を計算する。
【０１７２】
次に、ステップＳ１８０５にて、証明装置１０１の通信部２０６が、暗号化特徴ベクトルＣ’＝（ｃ’１，ｃ’２，…，ｃ’Ｔ）を認証装置１０２に送信する。
その際、例えばＳＳＬなどの通信用改ざん検出技術を用いて通信の途中で改ざんが行われないようにすることが望ましい。
【０１７３】
次に、ステップＳ１８０６にて、認証装置１０２の通信部２０６が、暗号化特徴ベクトルＣ’＝（ｃ’１，ｃ’２，…，ｃ’Ｔ）を受信する。
【０１７４】
次に、ステップＳ１８０７にて、認証装置１０２の暗号化類似度生成部３０２が、記憶部３０１から暗号化特徴ベクトルＣ＝（ｃ１，ｃ２，…，ｃＴ）を取り出す。
【０１７５】
次に、ステップＳ１８０８にて、認証装置１０２の乱数生成部３０５が、０からＮ−１までの整数から一様ランダムに値を取り出し、ｓとする。
【０１７６】
ステップＳ１８０９にて、認証装置１０２の暗号化類似度生成部３０２が、数１４に従って、Ｅを計算する。
【０１７７】
【数１４】
0005586795.tif 000015
【０１７８】
次に、ステップＳ１８１０にて、認証装置１０２の通信部３０４が、Ｅを復号装置１０３へ送信する。
その際、例えばＳＳＬなどの通信用改ざん検出技術を用いて通信の途中で改ざんが行われないようにすることが望ましい。
本実施の形態では、Ｅが暗号化類似度情報となる。
【０１７９】
次に、ステップＳ１８１１にて、復号装置１０３の通信部４０４が、Ｅを受信する。
【０１８０】
次に、ステップＳ１８１２にて、復号装置１０３の復号部４０２が、記憶部４０３から秘密鍵ｐを取り出す。
【０１８１】
次に、ステップＳ１８１３にて、復号装置１０３の復号部４０２が、Ｚ＝Ｅｐを計算する。
次に、ステップＳ１８１４にて、復号装置１０３の復号部４０２が、ｅ（ｇ，ｇ）ｐを底とするＺの離散対数ｄを計算する。
なお、ｅ（ｇ，ｇ）は、公開鍵の一部として、復号装置１０３から配布されたものである。
本実施の形態でも、この離散対数ｄが類似度に相当する。
【０１８２】
次に、ステップＳ１８１５にて、復号装置１０３の通信部４０４がｄを認証装置１０２へ送信する。その際、例えばＳＳＬなどの通信用改ざん検出技術を用いて通信の途中で改ざんが行われないようにすることが望ましい。
【０１８３】
次に、ステップＳ１８１６にて、認証装置１０２の通信部３０４が、類似度ｄを受信する。
【０１８４】
次に、ステップＳ１８１７にて、判定部３０３が、類似度ｄがしきい値以上かを判定する。
このしきい値は、利用する生体情報の種類や安全性要件などさまざまな要素を勘案してあらかじめシステムで決められた値である。
しきい値以上であれば、証明装置１０１から送られてきた暗号化生体情報はＩＤで指定された本人のものであると判断する。
一方、しきい値未満であれば、証明装置１０１から送られてきた暗号化生体情報はＩＤで指定された人物のものではなく、他人のものであると判断する。
【０１８５】
以上のステップにより、認証装置１０２は証明装置１０１との間で生体認証を行うことができる。
【０１８６】
最後に、実施の形態１−６に示した証明装置１０１、認証装置１０２、復号装置１０３のハードウェア構成例について説明する。
図２３は、実施の形態１−６に示した証明装置１０１、認証装置１０２、復号装置１０３のハードウェア資源の一例を示す図である。
なお、図２３の構成は、あくまでも証明装置１０１、認証装置１０２、復号装置１０３のハードウェア構成の一例を示すものであり、証明装置１０１、認証装置１０２、復号装置１０３のハードウェア構成は図２３に記載の構成に限らず、他の構成であってもよい。
【０１８７】
図２３において、証明装置１０１、認証装置１０２、復号装置１０３は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。
ＣＰＵ９１１は、バス９１２を介して、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。
更に、ＣＰＵ９１１は、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６と接続していてもよい。また、証明装置１０１は、生体情報を読み取るための読取り装置９０７と接続されている。また、磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード（登録商標）読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
実施の形態１−６で説明した「記憶部」は、ＲＡＭ９１４、磁気ディスク装置９２０等により実現される。
通信ボード９１５、キーボード９０２、マウス９０３、読取り装置９０７、ＦＤＤ９０４などは、入力装置の一例である。
また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力装置の一例である。
【０１８８】
通信ボード９１５は、他の装置と接続されている以外に、例えば、ＬＡＮ（ローカルエリアネットワーク）、インターネット、ＷＡＮ（ワイドエリアネットワーク）、ＳＡＮ（ストレージエリアネットワーク）などに接続されていても構わない。
【０１８９】
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。
プログラム群９２３のプログラムは、ＣＰＵ９１１がオペレーティングシステム９２１、ウィンドウシステム９２２を利用しながら実行する。
【０１９０】
また、ＲＡＭ９１４には、ＣＰＵ９１１に実行させるオペレーティングシステム９２１のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、ＲＡＭ９１４には、ＣＰＵ９１１による処理に必要な各種データが格納される。
【０１９１】
また、ＲＯＭ９１３には、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）プログラムが格納され、磁気ディスク装置９２０にはブートプログラムが格納されている。
証明装置１０１、認証装置１０２、復号装置１０３の起動時には、ＲＯＭ９１３のＢＩＯＳプログラム及び磁気ディスク装置９２０のブートプログラムが実行され、ＢＩＯＳプログラム及びブートプログラムによりオペレーティングシステム９２１が起動される。
【０１９２】
上記プログラム群９２３には、実施の形態１−６の説明において「〜部」（「記憶部」以外、以下も同様）として説明している機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
【０１９３】
ファイル群９２４には、実施の形態１−６の説明において、「〜の判断」、「〜の判定」、「〜の生成」、「〜の計算」、「〜の比較」、「〜の導出」、「〜の抽出」、「〜の形成」、「〜の更新」、「〜の設定」、「〜の登録」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのＣＰＵの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態１−６で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【０１９４】
また、実施の形態１−６の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。
すなわち、実施の形態１−６で説明したフローチャートに示すステップ、手順、処理により、本発明に係る「データ処理方法」を実現することができる。
また、「〜部」として説明しているものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、実施の形態１−６の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態１−６の「〜部」の手順や方法をコンピュータに実行させるものである。
【０１９５】
このように、実施の形態１−６に示す証明装置１０１、認証装置１０２、復号装置１０３は、処理装置たるＣＰＵ、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【符号の説明】
【０１９６】
１０１  証明装置、１０２  認証装置、１０３  復号装置、２０１  生体情報抽出部、２０２  特徴ベクトル形成部、２０３  乱数生成部、２０４  暗号化部、２０５  記憶部、２０６  通信部、３０１  記憶部、３０２  暗号化類似度生成部、３０３  判定部、３０４  通信部、３０５  乱数生成部、３０６  公開鍵更新部、３０７  テンプレート更新部、４０１  パラメータ生成部、４０２  復号部、４０３  記憶部、４０４  通信部。
【図１】
0005586795.tif 000016
【図２】
0005586795.tif 000017
【図３】
0005586795.tif 000018
【図４】
0005586795.tif 000019
【図５】
0005586795.tif 000020
【図６】
0005586795.tif 000021
【図７】
0005586795.tif 000022
【図８】
0005586795.tif 000023
【図９】
0005586795.tif 000024
【図１０】
0005586795.tif 000025
【図１１】
0005586795.tif 000026
【図１２】
0005586795.tif 000027
【図１３】
0005586795.tif 000028
【図１４】
0005586795.tif 000029
【図１５】
0005586795.tif 000030
【図１６】
0005586795.tif 000031
【図１７】
0005586795.tif 000032
【図１８】
0005586795.tif 000033
【図１９】
0005586795.tif 000034
【図２０】
0005586795.tif 000035
【図２１】
0005586795.tif 000036
【図２２】
0005586795.tif 000037
【図２３】
0005586795.tif 000038