Traitement en cours

Veuillez attendre...

Paramétrages

Paramétrages

Aller à Demande

1. WO2011052056 - DISPOSITIF DE TRAITEMENT DE DONNÉES

Document

明 細 書

発明の名称 データ処理装置

技術分野

0001  

背景技術

0002   0003   0004   0005  

先行技術文献

特許文献

0006  

非特許文献

0007  

発明の概要

発明が解決しようとする課題

0008   0009   0010   0011   0012   0013   0014   0015   0016   0017   0018   0019   0020   0021  

課題を解決するための手段

0022  

発明の効果

0023  

図面の簡単な説明

0024  

発明を実施するための形態

0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077   0078   0079   0080   0081   0082   0083   0084   0085   0086   0087   0088   0089   0090   0091   0092   0093   0094   0095   0096   0097   0098   0099   0100   0101   0102   0103   0104   0105   0106   0107   0108   0109   0110   0111   0112   0113   0114   0115   0116   0117   0118   0119   0120   0121   0122   0123   0124   0125   0126   0127   0128   0129   0130   0131   0132   0133   0134   0135   0136   0137   0138   0139   0140   0141   0142   0143   0144   0145   0146   0147   0148   0149   0150   0151   0152   0153   0154   0155   0156   0157   0158   0159   0160   0161   0162   0163   0164   0165   0166   0167   0168   0169   0170   0171   0172   0173   0174   0175   0176   0177   0178   0179   0180   0181   0182   0183   0184   0185   0186   0187   0188   0189   0190   0191   0192   0193   0194   0195   0196   0197   0198   0199   0200   0201   0202   0203   0204   0205   0206   0207   0208   0209   0210   0211   0212   0213   0214   0215   0216   0217   0218   0219   0220   0221  

符号の説明

0222  

請求の範囲

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15  

図面

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25  

明 細 書

発明の名称 : データ処理装置

技術分野

[0001]
 本発明は、生体情報等を用いて本人認証を行う認証技術に関する。

背景技術

[0002]
 指紋認証や静脈認証などの生体認証は、指紋の紋様や静脈の形が個人ごとに異なることを利用して個人識別を行う仕組みのことである。
 近年はビルの入退室管理やパーソナルコンピュータのログイン管理、銀行ATM(Automated Teller Machine)での本人認証などのアクセス管理に用いられている。
[0003]
 生体認証においては、ユーザ(被認証者あるいは証明者)と認証装置(認証者)の間で以下のようにして認証を行うのが一般的である。
[0004]
 あらかじめ登録段階において、ユーザが自分の生体情報を認証装置に登録しておく。
 そして認証時には、ユーザが認証装置に生体情報を提示する。
 認証装置は、登録されている生体情報と提示された生体情報とを照合し、その類似度がある条件を満たしていればユーザ本人であると判断し、条件を満たしていなければ他人であると判断する。
[0005]
 このような生体認証において、生体情報は個人を特徴付けるプライバシー情報であるため保護されることが望ましい。
 そこで、登録時に生体情報を暗号化して登録し、認証時にも生体情報を暗号化して照合を行うことで、生体情報そのものを露わにすることなく生体認証を行う方法が提案されている(例えば特許文献1)。
 また、生体情報の暗号化に利用可能な暗号アルゴリズムとして、例えば、非特許文献1-4に開示の暗号アルゴリズムが考えられる。

先行技術文献

特許文献

[0006]
特許文献1 : 特表2008-521025号公報

非特許文献

[0007]
非特許文献1 : T.Okamoto、K.Takashima、“Homomorphic encryption and signatures from vector decomposition”、Pairing 2008、Lecture Notes in Computer Science、 Vol.5209、 pp.57-74、 2008.
非特許文献2 : D.Boneh、E.-J.Goh、K.Nissim、 “Evaluating 2-DNF formulas on ciphertexts”、 Theory Of Cryptography Conference、 Lecture Notes in Computer Science、 Vol.3378、 pp.325-341、 2005.
非特許文献3 : C.Gentry、 “Fully homomorphic encryption using ideal lattices”、 ACM Symposium on Theory Of Computing、 pp.169-178、 2009.
非特許文献4 : D.Freeman、M.Scott、E.Teske、 “A taxonomy of pairing-friendly elliptic curves”、 Journal Of Cryptology、2009年6月.

発明の概要

発明が解決しようとする課題

[0008]
 特許文献1では、公開鍵暗号技術を用いた暗号化により生体情報の保護を図っているが、生体情報を暗号化する際、暗号アルゴリズムとしてPaillier暗号やElGamal暗号などの通常の準同型暗号を用いている。
 ここで通常の準同型暗号とは、例えばT個の暗号文E(x ),E(x ),...,E(x )を用いて暗号文E(x +x +...+x )が計算できるというように、複数の暗号文から元の平文の和の暗号文が計算できるような暗号である。
 ここでE(x )はある公開鍵を用いて生成したx の暗号文を表す。
 なお、上記では加算を例に挙げたが、正確に定義すると、ここでいう通常の準同型暗号とは、複数の暗号文から元の平文に対してある1種類の演算を施した暗号文が計算できるような暗号である。
 演算の種類としては、有限体における加法や乗法などの種類があるが、いずれにしても1種類のみの演算が可能な暗号である。
[0009]
 しかし、このような通常の準同型暗号を用いた場合、認証時の計算過程において、暗号化した生体情報だけですべての処理を完結させることはできず、平文の生体情報を必要とする箇所が存在していた。
[0010]
 例えば、特許文献1に記載の認証方法の場合、類似度判定の指標として、生体情報から生成された特徴ベクトルのハミング距離(すなわち、ベクトルを構成するビット列同士のハミング距離)を利用し、以下のような手順で秘匿照合処理を行っていた。
 なお、ここでは、ユーザは認証装置に直接アクセスするのではなく、証明装置にアクセスし、証明装置が認証装置との間で通信を行って、生体情報の登録処理および認証処理を行うものとする。
 つまり、生体情報を用いたリモートログインをも含めたより一般的な生体認証方式を想定する。
 また、暗号化時には、システム共通の公開鍵を用いて暗号化を行うものとする。
[0011]
 登録時、証明装置はユーザから生体情報を抽出し、抽出した生体情報からユーザの特徴を表す特徴ベクトルを構成する。
 この特徴ベクトルをビット列X=(x ,x ,...,x )とする。
 証明装置は、抽出した特徴ベクトルを、Paillier暗号を用いてビットごとに暗号化して暗号化ビット列E(X)=(E(x ),E(x ),...,E(x ))を計算し、認証装置に送付して登録する。
 認証時、証明装置は登録時と同様にユーザから生体情報ビット列Y=(y ,y ,...,y )を抽出する。
 その上で、登録しておいた暗号化ビット列E(X)=(E(x ),E(x ),...,E(x ))を認証装置から受け取る。
 ここで証明装置は、ビット列XとYのハミング距離d (X,Y)の暗号文を算出するに際して、準同型暗号の以下の性質(数1)を利用する。
[0012]
[数1]


[0013]
 ここで、第2式から第3式への移行は、x ,y が0、1の二値しかとらないことによる。
 また、第3式から第4式への移行は、Paillier暗号が通常の準同型暗号であり、暗号文同士の積により元の平文の和の暗号文が得られるという性質による。
[0014]
 この性質を利用して、証明装置は、認証装置から受け取った暗号化ビット列E(X)=(E(x ),E(x ),...,E(x ))と、生体情報ビット列Y=(y ,y ,...,y )を用いて以下の値を計算し(数2)、認証装置に送付する。
[0015]
[数2]


[0016]
 認証装置では、受け取った値に以下の値(数3)を掛け合わせ、暗号化ハミング距離E(d (X,Y))を計算する。
 そして、セキュアプロトコルを用いてハミング距離を復号し、類似度判定を行う。
[0017]
[数3]


[0018]
 このように、Paillier暗号などの通常の準同型暗号を用いた場合には、-2x の暗号文を計算する際にE(x -2yiと計算するため、指数部分に平文y が必要である。
 つまり、準同型暗号の本質上、すべてを暗号文で処理することはできない。
 そのため、一旦認証装置から証明装置に暗号化生体情報E(X)=(E(x ),E(x ),...,E(x ))を送付し、証明装置が平文y を用いた計算を行う必要がある。
[0019]
 この暗号化生体情報の送付に際しては、認証の対象となるユーザが別途ID情報などによって特定されているいわゆる1:1認証の場合には1人分の送付でよいが、認証の対象となるユーザが特定されておらず、データベースに格納された多くのユーザとの照合を必要とするいわゆる1:N認証の場合には、ユーザ数に比例した送付が必要となる。
 そのため、ユーザ数に比例して認証装置と証明装置との間の通信量が増大するという課題がある。
[0020]
 また、証明装置から平文の生体情報をできるだけ早く消去することがセキュリティの観点から望ましい。
 しかし、上記のように認証に平文の生体情報が必要なため、特に1:N認証においては認証が完了するまで端末上の生体情報を消去できず、窃取の危険により長くさらされてしまうという課題がある。
[0021]
 本発明は、上記のような課題を解決することを主な目的の一つとし、認証処理の過程において必要であった平文を不要とし、平文の窃取の機会を減少させ、それによってより安全性の高い秘匿照合方法を提供することを主な目的とする。
 また、認証装置と証明装置との間の通信量を低減させることも目的とする。

課題を解決するための手段

[0022]
 本発明に係るデータ処理装置は、
 二重準同型暗号アルゴリズムに基づいて復号装置において生成され、前記復号装置から配布された公開鍵を記憶する公開鍵記憶部と、
 前記復号装置から配布された前記公開鍵を保有する暗号装置が保有する前記公開鍵を用いて暗号化した第1データを暗号化第1データとして記憶する暗号化データ記憶部と、
 前記暗号化第1データが前記暗号化データ記憶部に記憶された後に前記暗号装置が保有する前記公開鍵を用いて暗号化した第2データを暗号化第2データとして入力する暗号化データ入力部と、
 前記公開鍵の少なくとも一部を用いて、乱数を生成する乱数生成部と、
 前記暗号化第1データと前記暗号化第2データに対して前記公開鍵記憶部に記憶されている前記公開鍵と前記乱数生成部により生成された乱数を用いた演算を行って、前記暗号化第1データと前記暗号化第2データがそれぞれ暗号化された状態のままで、前記公開鍵に対応付けられて生成された秘密鍵を用いた復号処理により前記第1データと前記第2データとの間の類似度を導出可能な暗号化された情報を暗号化類似度情報として生成する暗号化類似度生成部とを有することを特徴とする。

発明の効果

[0023]
 本発明によれば、暗号化第1データと暗号化第2データがそれぞれ暗号化された状態のままで、公開鍵に対応付けられて生成された秘密鍵を用いた復号処理により第1データと第2データとの間の類似度を導出可能な暗号化類似度情報を生成するので、平文である第1データと第2データを用いることなく第1データと第2データの類似度を導出することができ、平文の窃取の可能性の低い安全な本人認証を実現することができる。

図面の簡単な説明

[0024]
[図1] 実施の形態1に係る生体認証システムの構成例を示す図。
[図2] 実施の形態1に係る証明装置の構成例を示す図。
[図3] 実施の形態1に係る認証装置の構成例を示す図。
[図4] 実施の形態1に係る復号装置の構成例を示す図。
[図5] 実施の形態1に係るセットアップ処理の例を示すフローチャート図。
[図6] 実施の形態1に係る生体情報の登録処理の例を示すフローチャート図。
[図7] 実施の形態1に係る認証処理の例を示すフローチャート図。
[図8] 実施の形態1に係る認証処理の例を示すフローチャート図。
[図9] 実施の形態1に係る認証処理の例を示すフローチャート図。
[図10] 実施の形態2に係る生体情報の登録処理の例を示すフローチャート図。
[図11] 実施の形態2に係る認証処理の例を示すフローチャート図。
[図12] 実施の形態2に係る認証処理の例を示すフローチャート図。
[図13] 実施の形態3に係るセットアップ処理の例を示すフローチャート図。
[図14] 実施の形態3に係る生体情報の登録処理の例を示すフローチャート図。
[図15] 実施の形態3に係る認証処理の例を示すフローチャート図。
[図16] 実施の形態3に係る認証処理の例を示すフローチャート図。
[図17] 実施の形態3に係る認証処理の例を示すフローチャート図。
[図18] 実施の形態4に係る認証処理の例を示すフローチャート図。
[図19] 実施の形態4に係る認証処理の例を示すフローチャート図。
[図20] 実施の形態4に係る認証処理の例を示すフローチャート図。
[図21] 実施の形態1に係るセットアップ処理の概要を示すフローチャート図。
[図22] 実施の形態1に係る生体情報の登録処理の概要を示すフローチャート図。
[図23] 実施の形態1に係る認証処理の概要を示すフローチャート図。
[図24] 実施の形態1に係る認証処理の概要を示すフローチャート図。
[図25] 実施の形態1に係る証明装置、認証装置、復号装置のハードウェア構成例を示す図。

発明を実施するための形態

[0025]
 以下に示す実施の形態では、生体情報を保護するための暗号方式として、通常の準同型暗号ではなく、二重準同型暗号(Doubly Homomorphic Encryption)と呼ばれる暗号を用いる。
 ここで二重準同型暗号とは、通常の準同型暗号とは異なり、例えば2T個の暗号文E(x ),E(x ),...,E(x ),E(y ),E(y ),...,E(y )を用いて暗号文E(x *y +x *y +...+x *y )が計算できるというように、複数の暗号文から元の平文の有限体上の和と積を組み合わせた暗号文を計算できる暗号である。
 つまり、以下に示す実施の形態では、登録用の生体情報はT(Tは2以上の整数)個の部分データから構成され、認証用の生体情報はT(Tは2以上の整数)個の部分データから構成される。
 そして、登録されているT個の部分データと、認証用として入力されたT個の部分データにおいて値が一致する部分データの数やハミング距離等を類似度として導出して、類似度が所定レベル以上であれば本人であると認証する。
[0026]
 二重準同型暗号の具体的なアルゴリズムとしては、例えば非特許文献1から非特許文献3に開示のアルゴリズムがある。
 生体認証においてこれらの二重準同型暗号を利用するには、生体情報から特徴ベクトルを生成する方法と、特徴ベクトルに対する二重準同型暗号の適用方法とにそれぞれ工夫を加える必要がある。
[0027]
 生体認証では、本人判定をするための指標に様々な種類があり、それに応じて特徴ベクトルの生成方法にも様々な種類がある。
 しかし、二重準同型暗号の特性を生かして平文の特徴ベクトルを認証処理時に不要とするためには、本人判定の指標をそのまま用いてもよいというわけではない。
 以下の実施の形態では、特徴点の有無を1,0のビット列で表現し、1のビットが一致した箇所の数の多さを指標とすることにより本人判定をする方法、ビット列同士のハミング距離を指標とすることにより本人判定をする方法、数値列同士のユークリッド二乗距離を指標とすることにより本人判定をする方法、を開示する。
[0028]
 また、本人判定の方法に合わせて各文献の暗号の適用方法を工夫する必要もある。
 本発明では、実施の形態1および実施の形態2において非特許文献1の適用方法を開示し、実施の形態3および実施の形態4において非特許文献2の適用方法を開示する。
[0029]
 ここで、非特許文献1の岡本-高島暗号のアルゴリズムを、実施の形態1および実施の形態2の説明に必要となる範囲に限って説明する。
[0030]
 岡本-高島暗号は、楕円曲線を用いて定義される双対ペアリングベクトル空間を用いた暗号である。
 この双対ペアリングベクトル空間を構成する方法は複数考えられるが、ここでは楕円曲線の直積により構成する方法に基づいて説明する。
 なお、楕円曲線上の群の演算は一般に加法群の演算として記述されることが多いが、ここでは有限体上の演算も含めすべて乗法群として記述する。
 また、非対称ペアリングを用いたより一般的な方式に従って記述する。
[0031]
 G、G^、G をそれぞれ素数位数qの群とする。
 F ={0,1,…,q-1}とする。
 e:G×G^→G を、双線型性(任意のu∈G,v^∈G^,a,b∈F に対してe(u ,v^ )=e(u,v^) abとなる性質)および非退化性(e(g,g^)≠1であるようなg∈G,g^∈G^が存在する性質)を満たすペアリングとする。
 N個の群Gの直積集合をV=G×G×…×G、同じくN個の群G^の直積集合をV^=G^×G^×…×G^とする。
 このとき、数4に示す関係が成り立つ。
[0032]
[数4]


[0033]
 2つのベクトル空間V,V^のペアリングとして、
 u=(u ,u ,…,u )∈V,v^=(v^ ,v^ ,…,v^ )∈V^に対するペアリングを、数5のように定義する。
[0034]
[数5]


[0035]
 ベクトル空間V,V^において、数6に示す関係が成り立つ。
[0036]
[数6]


[0037]
 x=x +x +…+x ∈Vとする。
 ベクトル空間Vにおけるディストーション写像φ i,j:V→Vを、φ i,j(x)=x と定義する。
 同様に、x^=x a^ +x a^ +…+x a^ ∈V^に対し、φ^ i,j:V^→V^を、φ^ i,j(x^)=x a^ と定義する。
 このようなディストーション写像は容易に計算可能である。
[0038]
 このように、標準基底があり、空間同士のペアリングが定義され、計算可能なディストーション写像が定義された2つのベクトル空間を双対ペアリングベクトル空間という。
[0039]
 X=(X i,j),X^=(X^ i,j)を、各要素がF から一様ランダムに選ばれた値で構成されるN行N列の正方行列とする。
 このように構成したX,X^はきわめて高い確率で正則行列となる。
 このような正則行列を用いて、数7に示すように定義すると、W=(w ,w ,…,w ),W^=(w^ ,w^ ,…,w^ )もまた基底となる。この基底をランダム基底と呼ぶ。
[0040]
[数7]


[0041]
 非特許文献1によれば、ベクトル空間V,V^におけるランダム基底W=(w ,w ,…,w ),W^=(w^ ,w^ ,…,w^ )に関して、以下の性質が成り立つ。
[0042]
 F の要素(x ,x ,…,x )が与えられたとき、x=x +x +…+x ,x^=x w^ +x w^ +…+x w^ を得ることは容易である。
 しかし、x=x +x +…+x ,x^=x w^ +x w^ +…+x w^ (1<L≦N)が与えられたときに、X=(X i,j),X^=(X^ i,j)を用いずしてベクトルy=x +x +…+x ,y^=x w^ +x w^ +…+x w^ (1≦l<L)を得ることは、一般化されたDiffie-Hellman計算問題と同程度に難しいことが知られている。
 一方で、X=(X i,j),X^=(X^ i,j)を用いるならば、以下のアルゴリズムDeco(数8)により上記のようなベクトル分解が容易に計算可能である。なお、数8中のkは整数である。
[0043]
[数8]


[0044]
 この性質から、正則行列を秘密鍵とすることによりトラップドア関数が実現できる。
[0045]
 以下、双対ペアリングベクトル空間を用いて、生体情報を暗号化したままで生体認証を行う方法の例を説明する。
[0046]
 実施の形態1.
 本実施の形態では、生体認証で用いる特徴ベクトルとして、特徴点の配列を用意し、ユーザがその特徴点を保有する場合に1、特徴点を保有しない場合に0を配列に格納して、配列を特徴ベクトルとし、認証時には1が一致している箇所の数を類似度の指標とするような認証方式を例に説明する。
[0047]
 より詳しく言うと、例えば指紋認証の場合、指紋画像を小領域に分割しその領域内で隆線の流れる方向を調べると、個人ごとに各領域における流れの方向に特徴が出る。
 そこで、例えば各領域について4つの流れの方向(0度、45度、90度、135度など)を定義しておき、検出した流れの方向を1、それ以外を0として、N個すべての領域について各4個の配列を用意し、検出値にしたがって配列値を定めることで特徴ベクトルとするような認証方式を考える。
[0048]
 このような認証方式においては、同一人物の特徴ベクトルでは1の位置がほぼ同じであるため、登録した特徴ベクトルと認証対象の特徴ベクトルの内積値が大きくなることが期待される。
 一方、別人物の特徴ベクトルでは1の位置が本人のときよりも異なることが多いため、2つの特徴ベクトルの内積値が小さくなることが期待される。
[0049]
 図1は、実施の形態1-4に係る生体認証システムの構成例を示す図である。
[0050]
 図1において、証明装置101はユーザから生体情報を測定し、測定した生体情報を用いて秘匿照合処理を行う装置である。
 認証装置102は、ユーザの生体情報を暗号化して格納しておくとともに、格納した暗号化された生体情報を用いて認証を行う装置である。
 復号装置103は、暗号化データを復号する装置である。
 なお、証明装置101は暗号装置の例であり、認証装置はデータ処理装置の例である。
[0051]
 図2は、証明装置101の内部構成の構成例を示す図である。
[0052]
 図2において、生体情報抽出部201は、光学カメラ、赤外線カメラなどの各種センサを用いて、個人識別を行うのに必要となる生体情報をユーザから抽出する。
 特徴ベクトル形成部202は、生体情報抽出部201で抽出された生体情報から、個人の特徴を表す特徴ベクトルを形成する。
 乱数生成部203は、公開鍵の一部を用いて乱数を生成する。
 暗号化部204は、乱数生成部203が生成した乱数を用いて特徴ベクトルを暗号化する。
 記憶部205は、公開鍵などの各種データを格納する。記憶部205が記憶する公開鍵は、復号装置103で生成され、復号装置103から配布された公開鍵である。
 通信部206は、データベースなど他の装置との間でデータの送受信を行う。
[0053]
 図3は、認証装置102の内部構成の構成例を示す図である。
[0054]
 図3において、記憶部301は、暗号化された特徴ベクトル(以下、暗号化特徴ベクトルともいう)や公開鍵などの各種データを格納する。記憶部301は、公開鍵記憶部及び暗号化データ記憶部の例である。
 なお、記憶部301が記憶する暗号化特徴ベクトルは、証明装置101により暗号化された登録用の特徴ベクトルである。暗号化前の登録用の特徴ベクトルが第1データの例に相当し、暗号化特徴ベクトルが暗号化第1データの例に相当する。
 また、記憶部301が記憶する公開鍵は、復号装置103で生成され、復号装置103から配布された公開鍵である。
[0055]
 暗号化類似度生成部302は、登録されている暗号化特徴ベクトルと、認証用の暗号化特徴ベクトルから、暗号化類似度情報を算出する。
 認証用の暗号化特徴ベクトルは、証明装置101により暗号化された認証用の特徴ベクトルである。暗号化前の認証用の特徴ベクトルが第2データの例に相当し、暗号化特徴ベクトルが暗号化第2データの例に相当する。
 また、暗号化類似度情報は、公開鍵に対応付けられて生成された秘密鍵を用いた復号処理により登録用の特徴ベクトル(第1データ)と認証用の特徴ベクトル(第2データ)との間の類似度を復号装置103において導出可能な暗号化された情報である。
[0056]
 判定部303は、復号された類似度から個人識別を行い、本人か否かを判定する。
 つまり、判定部303は、類似度を解析して、認証用の特徴ベクトルの発生源が正当であるか否かを判定する。
[0057]
 通信部304は、証明装置101や復号装置103との間でデータの送受信を行う。
 より具体的には、通信部304は、登録用の暗号化特徴ベクトルが記憶部301に格納された後に証明装置101から認証用の暗号化特徴ベクトルを受信する。
 また、通信部304は、暗号化類似度生成部302により生成された暗号化類似度情報を復号装置103に送信する。
 また、通信部304は、復号装置103において暗号化類似度情報に対して秘密鍵を用いた復号処理が行われて導出された登録用の特徴ベクトルと認証用の特徴ベクトルとの間の類似度(平文)を受信する。
 通信部304は、暗号化データ入力部、暗号化類似度出力部及び類似度入力部の例である。
[0058]
 乱数生成部305は、公開鍵の一部を用いて乱数を生成する。
[0059]
 図4は復号装置103の内部構成の構成例を示す図である。
[0060]
 図4において、パラメータ生成部401は、公開鍵や秘密鍵など、暗号化と復号に必要なパラメータを生成する。
 復号部402は、暗号化類似度情報を復号し、平文の類似度を取り出す。
 記憶部403は、公開鍵や秘密鍵などの各種データを格納する。
 通信部404は、データベースなど他の装置との間でデータの送受信を行う。
[0061]
 次に、本実施の形態に係るデータ処理方法を説明する。
[0062]
 まず、動作の全体像を説明する。
 動作は、セットアップ処理、登録処理、認証処理の3つに分かれる。
 セットアップ処理では、復号装置103が、暗号化と復号に必要となるパラメータを生成する。
 登録処理では、証明装置101がユーザの生体情報を暗号化して認証装置102に送付し、認証装置102が記憶部301に格納する。
 認証処理では、まず証明装置101がユーザの生体情報を暗号化して認証装置102に送付する。次に、認証装置102が、記憶部301の暗号化生体情報と受領した暗号化生体情報を用いて暗号化類似度情報を生成し復号装置103に送付する。次に、復号装置103が類似度を復号し、認証装置102に復号された類似度を送付する。最後に認証装置102が類似度としきい値とを比較し、認証をする。
[0063]
 以下、図21-図24を用いて、各処理の概要を説明する。
 図21がセットアップ処理の概要を示し、図22が登録処理の概要を示し、図23及び図24が認証処理の概要を示す。
[0064]
 まず、図21を参照して、セットアップ処理の概要を説明する。
 最初に、復号装置103のパラメータ生成部401が、岡本-高島暗号アルゴリズムに基づき、秘密鍵skと公開鍵pkを生成する(S2101)。
 次に、復号装置103の記憶部403が秘密鍵skを記憶し、通信部404が公開鍵pkを証明装置101及び認証装置102に送信する(S2102)。
 次に、証明装置101では、通信部206が公開鍵pkを受信し、記憶部205が公開鍵pkを記憶し、認証装置102では、通信部304が公開鍵pkを受信し、記憶部301が公開鍵pkを記憶する(S2102)。
 なお、ここでは、公開鍵pkを送受信する例を説明しているが、証明装置101及び認証装置102に公開鍵pkを配布する方法は他の方法でもよい。
 例えば、復号装置103が公開鍵pkを記録媒体に格納し、証明装置101及び認証装置102において当該記録媒体から公開鍵pkを読み出して格納するようにしてもよい。
[0065]
 次に、図22を参照して、登録処理の概要を説明する。
 最初に、証明装置101において、生体情報抽出部201が、ユーザの生体情報を抽出する(S2201)。
 次に、証明装置101の特徴ベクトル形成部202が、S2201で抽出された生体情報の特徴ベクトルbを生成する(S2202)。
 次に、証明装置101の乱数生成部203が公開鍵pkの一部を用いて乱数を生成し、また、暗号化部204が記憶部205から公開鍵pkを読み出し、暗号化部204が公開鍵pkと乱数を用いて特徴ベクトルbを暗号化する(S2203)。
 次に、証明装置101の通信部206が、暗号化された特徴ベクトルCを認証装置102に送信する(S2204)。
 次に、認証装置102の通信部304が、暗号化された特徴ベクトルCを受信し、記憶部205が暗号化された特徴ベクトルCを記憶する(S2205)。
[0066]
 次に、図23及び図24を参照して、認証処理の概要を説明する。
 最初に、証明装置101において、生体情報抽出部201が、ユーザの生体情報を抽出する(S2301)。
 次に、証明装置101の特徴ベクトル形成部202が、S2301で抽出された生体情報の特徴ベクトルb’を生成する(S2302)。
 次に、証明装置101の乱数生成部203が公開鍵pkの一部を用いて乱数を生成し、また、暗号化部204が記憶部205から公開鍵pkを読み出し、暗号化部204が公開鍵pkと乱数を用いて特徴ベクトルb’を暗号化する(S2303)。
 次に、証明装置101の通信部206が、暗号化された特徴ベクトルC^を認証装置102に送信する(S2304)。
 次に、認証装置102の通信部304が、暗号化された特徴ベクトルC^を受信する(S2305)。
[0067]
 次に、認証装置102の暗号化類似度生成部302が、記憶部301の暗号化特徴ベクトルCを読み出す(S2401)。
 次に、認証装置102の乱数生成部305が公開鍵pkの一部を用いて乱数を生成し、また、暗号化類似度生成部302が記憶部301から公開鍵pkを読み出し、暗号化類似度生成部302が記憶部301から読み出した暗号化特徴ベクトルCと証明装置101から受信した暗号化特徴ベクトルC^に対して、公開鍵pkと乱数を用いて暗号化類似度情報を生成する(S2402)。
 認証装置102は、公開鍵pkに対応付けられている秘密鍵skを知りえないので、暗号化特徴ベクトルC及び暗号化特徴ベクトルC^を復号することはできない。このため、暗号化特徴ベクトルC及び暗号化特徴ベクトルC^が暗号化された状態のままで、暗号化類似度情報が生成される。
[0068]
 次に、認証装置102の通信部304が、暗号化類似度情報を復号装置103に送信する(S2403)。
 次に、復号装置103の通信部404が、暗号化類似度情報を受信する(S2404)。
 次に、復号装置103の復号部402が、パラメータ生成部401から秘密鍵skを読み出し、暗号化類似度情報に秘密鍵skを用いて復号処理を行い、平文の類似度を導出する(S2405)。
 次に、復号装置103の通信部404が、平文の類似度を認証装置102に送信する(S2406)。なお、類似度は、登録用の特徴ベクトルbと認証用の特徴ベクトルb’がどの程度類似しているかを示す情報であり、類似度からは特徴ベクトル、生体情報を計算することはできない。
 次に、認証装置102の通信部304が、平文の類似度を受信する(S2407)。
 次に、認証装置102の判定部303が、平文の類似度が所定のしきい値以上であるか否かを判定し、しきい値以上であれば本人であると判定し、しきい値を下回っている場合は、本人ではないと判定する(S2408)。
[0069]
 以下、図5-図9を参照して、各処理の動作をより詳しく説明する。
 図5がセットアップ処理の詳細を示し、図6が登録処理の詳細を示し、図7-図9が認証処理の詳細を示す。
[0070]
 まず、図5を用いてセットアップについて説明する。
 セットアップでは、復号装置103が、公開鍵pkおよび秘密鍵skを生成する。
 この公開鍵pkおよび秘密鍵skは、ユーザごとに異なる公開鍵および秘密鍵であってもよいし、システムに1つの公開鍵および秘密鍵であってもよい。
 ここでは、説明を簡単にするために、システムに1つの公開鍵および秘密鍵を用いる場合について説明するが、これをユーザごとの公開鍵および秘密鍵の場合に拡張するのは容易である。
[0071]
 図5は、パラメータ生成部401における公開鍵pk及び秘密鍵skの生成手順を示したフローチャートである。
[0072]
 はじめに、ステップS501にて、パラメータ生成部401は、群位数q、群G、G^、G 、生成元g∈G、g^∈G^を定める。
 この具体的な方法は例えば非特許文献4にあるので、ここでは省略する。
 なお、群位数はセキュリティレベルに応じて定まるが、通常は200ビットや1024ビットなどの大きなサイズの素数とする。
[0073]
 次に、ステップS502にて、パラメータ生成部401は、ベクトル空間をV=G×G×G、V^=G^×G^×G^とし、標準基底A=(a ,a ,a ),A^=(a^ ,a^ ,a^ )を定める。
 この定め方はすでに述べたとおりである。
[0074]
 次に、ステップS503にて、パラメータ生成部401は、0からq-1までの整数から一様ランダムに値を9回取り出し、それらを用いて3行3列の行列X=(X i,j)を定める。
 この行列は正則行列でなければならないが、この方法で行列を定めることによりきわめて高い確率で正則行列になる。なお、より正確性を期すのであれば、このように行列を定めた後に行列式を計算するなどの方法により正則性を判定し、正則でなければ行列の要素を再度ランダムに選べばよい。
[0075]
 次に、ステップS504にて、パラメータ生成部401は、0からq-1までの整数から一様ランダムに値を9回取り出し、それらを用いて3行3列の行列X^=(X^ i,j)を定める。
 この行列はきわめて高い確率で正則行列になるが、正則行列にならなかった場合には再度ランダムに選べばよい。
[0076]
 次に、ステップS505にて、パラメータ生成部401は、以下の数9および数10によりランダム基底W=(w ,w ,w ),W^=(w^ ,w^ ,w^ )を定める。
[0077]
[数9]


[0078]
[数10]


[0079]
 最後に、ステップS506にて、パラメータ生成部401は、公開鍵pk=(q、V、V^、e、G 、A、A^、W、W^)を公開し、秘密鍵sk=(X、X^)を記憶部403に格納する。
[0080]
 次に、図6を用いて、生体情報の登録方法を説明する。
[0081]
 なお、ここではユーザが証明装置101を経由して認証装置102に生体情報を登録する場合について説明するが、認証装置102上で直接生体情報を登録する場合や、登録用の専用装置を経由して登録する場合などにおいても同様の手順により実現できる。
[0082]
 図6は、証明装置101において生体情報を登録する手順を示したフローチャートである。
[0083]
 はじめに、ステップS601にて、生体情報抽出部201が、ユーザの生体情報を抽出する。
 これには様々な方法があるが、例えば指紋に光を当てて紋様をセンサで読み取るといったことにより抽出する。
[0084]
 次に、ステップS602にて、特徴ベクトル形成部202が、生体情報から特徴ベクトルb=(b ,b ,…,b )を形成する。
 ここでTは特徴ベクトルを格納する配列の大きさであり、特徴ベクトルの形成方法によって決まる値である。
 本実施の形態の形成方法は、読み取った紋様を領域分割し、各領域で特徴点の有無を検出し、特徴点がある箇所の配列に1、ない箇所の配列に0を格納することにより特徴ベクトルを形成するという方法である。
[0085]
 次に、ステップS603にて、乱数生成部203が、0からq-1までの整数から一様ランダムに値を2T回取り出し、{r 2,i,r 3,ii=1,2,…,Tとする。
 なお、q-1のqは、公開鍵pkに含まれているqである。
[0086]
 次に、ステップS604にて、暗号化部204が、c =b +r 2,i+r 3,iにより暗号化特徴ベクトルC=(c ,c ,…,c )を計算する。
 なお、w ,w ,w は、公開鍵の一部(W)として、復号装置103から配布されたものである。
[0087]
 次に、ステップS605にて、通信部206が、暗号化特徴ベクトルC=(c ,c ,…,c )を認証装置102に送信する。
 その際、例えばSSL(Secure Sockets Layer)などの通信用改ざん検出技術を用いて通信の途中で改ざんが行われないようにすることが望ましい。
[0088]
 最後に、ステップS606にて、認証装置102において、通信部304が暗号化特徴ベクトルC=(c ,c ,…,c )を受信し、記憶部301に格納する。
[0089]
 次に、図7ないし図9を用いて、認証方法を説明する。
 なお、簡単のためここでは認証時に認証の対象となるユーザが別途ID情報などによって特定されているいわゆる1:1認証の場合について説明する。
[0090]
 図7、図8、図9は、認証を行う手順を示したフローチャートである。
[0091]
 はじめに、ステップS701にて、証明装置101の生体情報抽出部201がユーザの生体情報を抽出する。
 抽出方法は生体情報の登録時と同様である。
[0092]
 次に、ステップS702にて、証明装置101の特徴ベクトル形成部202が、生体情報から特徴ベクトルb’=(b’ ,b’ ,…,b’ )を形成する。
 形成方法は、生体情報の登録時と同様である。
[0093]
 次に、ステップS703にて、証明装置101の乱数生成部203が、0からq-1までの整数から一様ランダムに値を2T回取り出し、{r’ 2,i,r’ 3,ii=1,2,…,Tとする。
[0094]
 次に、ステップS704にて、証明装置101の暗号化部204が、c^ =(b’ w^ +r’ 2,iw^ +r’ 3,iw^ )により暗号化特徴ベクトルC^=(c^ ,c^ ,…,c^ )を計算する。
 なお、w^ ,w^ ,w^ は、公開鍵の一部(W^)として、復号装置103から配布されたものである。
[0095]
 次に、ステップS705にて、証明装置101の通信部206が、暗号化特徴ベクトルC^=(c^ ,c^ ,…,c^ )を認証装置102に送信する。
 その際、例えばSSLなどの通信用改ざん検出技術を用いて通信の途中で改ざんが行われないようにすることが望ましい。
[0096]
 次に、ステップS706にて、認証装置102の通信部304が、暗号化特徴ベクトルC^=(c^ ,c^ ,…,c^ )を受信する。
[0097]
 次に、ステップS707にて、認証装置102において、暗号化類似度生成部302が、記憶部301から暗号化特徴ベクトルC=(c ,c ,…,c )を取り出す。
 このとき、一般に記憶部301には多数のユーザの暗号化生体情報が格納されているが、その中からどれを取り出すかについては、別途与えられるID情報を用いる。
[0098]
 次に、ステップS708にて、認証装置102の乱数生成部305が、0からq-1までの整数から一様ランダムに値を6T回取り出し、{s 1,i,s 2,i,s 3,i,s^ 1,i,s^ 2,i,s^ 3,ii=1,2,…,Tとする。
[0099]
 次に、ステップS709にて、認証装置102の乱数生成部305が、0からq-1までの整数から一様ランダムに値を4回取り出し、{u ,u ,u^ ,u^ }とする。
[0100]
 次に、ステップS710にて、認証装置102の暗号化類似度生成部302が、d =c +s 1,i+s 2,i+s 3,iを計算する。
 暗号化類似度生成部302は、これをすべてのi=1、2、…、Tについて行う。
 なお、w ,w ,w は、公開鍵の一部(W)として、復号装置103から配布されたものである。
[0101]
 次に、ステップS711にて、認証装置102の暗号化類似度生成部302、がd^ =c^ +s^ 1,iw^ +s^ 2,iw^ +s^ 3,iw^ を計算する。
 暗号化類似度生成部302は、これをすべてのi=1、2、…、Tについて行う。
 なお、w^ ,w^ ,w^ は、公開鍵の一部(W^)として、復号装置103から配布されたものである。
[0102]
 次に、ステップS712にて、認証装置102の暗号化類似度生成部302が、数11に従って、Eを計算する。
[0103]
[数11]


[0104]
 次に、ステップS713にて、認証装置102の暗号化類似度生成部302が、数12に従って、E^を計算する。
[0105]
[数12]


[0106]
 次に、ステップS714にて、認証装置102の通信部304が、(d ,…,d ,d^ ,…,d^ ,E,E^)を復号装置103へ送信する。
 その際、例えばSSLなどの通信用改ざん検出技術を用いて通信の途中で改ざんが行われないようにすることが望ましい。
 なお、上記(d ,…,d ,d^ ,…,d^ ,E,E^)が、一体となって暗号化類似度情報を構成する。
[0107]
 次に、ステップS715にて、復号装置103の通信部404が、(d ,…,d ,d^ ,…,d^ ,E,E^)を受信する。
[0108]
 次に、ステップS716にて、復号装置103の復号部402が、記憶部403から秘密鍵sk=(X,X^)を取り出す。
[0109]
 次に、ステップS717にて、復号装置103の復号部402が、Xの逆行列X -1=(t i,j)およびX^の逆行列X^ -1=(t^ i,j)を計算する。
 なお、この値は毎回計算するのではなく、あらかじめ計算した状態で記憶部403に格納しておき、それを取り出すものとしてもよい。
[0110]
 次に、ステップS718にて、復号装置103が、数13に従ってZ を計算する。
[0111]
[数13]


[0112]
 ここで、Decoアルゴリズムは以下の数14のように計算される。なお、数14中のkは整数である。
[0113]
[数14]


[0114]
 次に、ステップS719にて、復号装置103の復号部402が、Z =e(Deco(E,〈w 〉,X),w^ )・e(w ,Deco(E^,〈w^ 〉,X^))を計算する。
 このDecoアルゴリズムも上記と同様に計算される。
[0115]
 次に、ステップS720にて、復号装置103の復号部402がZ=Z /Z を計算する。
[0116]
 次に、ステップS721にて、復号装置103の復号部402がe(g,g^)を底とするZの離散対数dを計算する。
 この離散対数dが、特徴点の一致数に対応しており、類似度を表す。
[0117]
 なお、離散対数を求める計算は現代の計算機能力では困難とされているが、dが小さい場合には効率的に計算することができる。
 本実施の形態においてdは位数qに比べて十分小さいため、効率的に計算することができる。
[0118]
 次に、ステップS722にて、復号装置103の通信部404が、類似度dを認証装置102へ送信する。
 その際、例えばSSLなどの通信用改ざん検出技術を用いて通信の途中で改ざんが行われないようにすることが望ましい。
[0119]
 次に、ステップS723にて、認証装置102の通信部304が、類似度dを受信する。
[0120]
 次に、ステップS724にて、類似度dがしきい値以上かを判定する。
 しきい値は、利用する生体情報の種類や安全性要件などさまざまな要素を勘案してあらかじめシステムで決められた値である。
 しきい値以上であれば、証明装置101から送られてきた暗号化生体情報はIDで指定された本人のものであると判断する。
 一方、しきい値未満であれば、証明装置101から送られてきた暗号化生体情報はIDで指定された人物のものではなく、他人のものであると判断する。
[0121]
 以上のステップにより、認証装置102は証明装置101との間で生体認証を行うことができる。
[0122]
 以上の実施の形態によれば、認証装置102には特徴ベクトルがそのまま保管されるのではなく、暗号化された状態で保管されるため、ユーザにとっては、プライバシー情報である特徴ベクトルが認証装置102の管理者に盗み見られるというリスクを低減させることができるという効果がある。
[0123]
 また、認証装置102にとっては、暗号化された特徴ベクトルが仮に漏洩したとしても、元の特徴ベクトル自体が漏洩することはないため、特徴ベクトルそのものを保管するのに比べてデータ管理の手間を削減できるという効果がある。
[0124]
 また、本実施の形態の手順に従えば、復号装置103が復号できるのは類似度という指標値だけであり、特徴ベクトルを復号することはできない。
 したがって、証明装置101と復号装置103が結託しない限り、認証の過程において特徴ベクトルが現れることはないため、生体情報を秘匿したままでの生体認証が可能であるという効果がある。
[0125]
 また、本実施の形態によれば、認証時に証明装置101から認証装置102へ暗号化特徴ベクトルを送付すれば、その後は認証装置102と復号装置103との間で認証処理を行うことができるため、特に1:N認証においては、証明装置101と認証装置102との間でユーザ数に比例した回数の通信を行う必要がなく、通信量を低減させることができるという効果がある。
[0126]
 また、本実施の形態によれば、認証時に証明装置101から認証装置102へ暗号化特徴ベクトルを送付すれば、その後は認証装置102と復号装置103との間で認証処理を行うことができるため、証明装置101上で取得した生体情報をただちに消去できる。
 したがって、証明装置101における生体情報の窃取の機会を低減できるという効果がある。
[0127]
 また、本実施の形態では、特徴ベクトルの構成時に、特徴点がある箇所に1、特徴点がない箇所に0を格納し、1と0から構成されるベクトル同士で内積を取るという構成としたが、これに重要度の概念を導入し、重要な特徴点については重みをつける(たとえば1の代わりに5を格納する)という構成にすることもできる。
 このような構成にすれば、単に内積をとる場合に比べて、より精度の高い生体認証を実現することができるという効果がある。
[0128]
 なお、本実施の形態では3次元の双対ペアリングベクトル空間を用いる方法を開示したが、3次元というのはあくまで例であって、必ずしも3次元である必要はない。
 例えば2次元でも実施可能であるし、4次元以上でも実施可能である。
 2次元の場合には、本実施の形態中に現れたw ,w^ のベクトルを取り除いて実施すればよい。
 このようにすれば、生体情報の登録時や認証時の計算量を低減できるという効果がある。
 また、4次元以上の場合には、増えた分のベクトルにw ,w ,w^ ,w^ と同様のはたらきをさせればよい。
 すなわち、c ,c^ ,d ,d^ を計算する際、増えた分のベクトルに乱数係数をかけて、w ,w ,w^ ,w^ に加え合わせればよい。
 このようにすれば、より解読が困難な暗号文を作成することができ、安全性を向上させることができる。
[0129]
 また、本実施の形態では安全性向上のため、認証時にステップS709にて{u ,u ,u^ ,u^ }を選び、ステップS712およびステップS713にて使用する構成としていたが、これを省略することもできる。
 そうすれば、認証の手順が省けるので、計算量を低減させることができる。
[0130]
 実施の形態2.
 以上の実施の形態1では、特徴点の一致数を評価指標として生体認証を行うという認証方法を開示したが、次に、特徴ベクトルのハミング距離またはユークリッド二乗距離により生体認証を行うという認証方法を述べる。
 なお、本実施の形態に係る生体認証システムの構成例も図1に示した通りである。
 また、本実施の形態に係る証明装置101、認証装置102、復号装置103の内部構成例も、図2-図4に示した通りである。
[0131]
 本実施の形態では、実施の形態1と同様にT個の配列を用意し、それによって特徴ベクトルを構成するが、このとき類似度の指標として2つの特徴ベクトルのハミング距離またはユークリッド二乗距離を用いる。2つの特徴ベクトルをb=(b ,b ,…,b )、b’=(b’ ,b’ ,…,b’ )とする。
 このとき、2つの特徴ベクトルのハミング距離は、数15で与えられ(ただしb ,b’ ∈{0,1})、また、2つの特徴ベクトルのユークリッド二乗距離は、数16で与えられる。
[0132]
[数15]


[0133]
[数16]


[0134]
 本実施の形態におけるパラメータ生成方法は、実施の形態1の図5と同様であるので説明を省略する。
[0135]
 次に、図10を用いて、生体情報の登録方法を説明する。
[0136]
 なお、ここではユーザが証明装置101を経由して認証装置102に生体情報を登録する場合について説明するが、認証装置102上で直接生体情報を登録する場合や、登録用の専用装置を経由して登録する場合などにおいても同様の手順により実現できる。
[0137]
 図10は、証明装置101において生体情報を登録する手順を示したフローチャートである。
[0138]
 ステップS1001とステップS1002は実施の形態1と同様である。
 ただし、ここでハミング距離の場合はb ∈{0,1}であり、ユークリッド二乗距離の場合は、b ∈{0,1,…,q-1}であることに注意する。
[0139]
 次に、ステップS1003にて、乱数生成部203が、0からq-1までの整数から一様ランダムに値を4T回取り出し、{r 2,i,r 3,i,r^ 2,i,r^ 3,ii=1,2,…,Tとする。
[0140]
 次に、ステップS1004にて、暗号化部204が、c =b +r 2,i+r 3,i,c^ =b w^ +r^ 2,iw^ +r^ 3,iw^ により暗号化特徴ベクトルC=(c ,c ,…,c ),暗号化特徴ベクトルC^=(c^ ,c^ ,…,c^ )を計算する。
 なお、w ,w ,w とw^ ,w^ ,w^ は、公開鍵の一部(W及びW^)として、復号装置103から配布されたものである。
[0141]
 次に、ステップS1005にて、通信部206が、暗号化特徴ベクトルC=(c ,c ,…,c ),暗号化特徴ベクトルC^=(c^ ,c^ ,…,c^ )を認証装置102に送信する。
 その際、例えばSSLなどの通信用改ざん検出技術を用いて通信の途中で改ざんが行われないようにすることが望ましい。
[0142]
 最後に、ステップS1006にて、認証装置102が、暗号化特徴ベクトルC=(c ,c ,…,c ),暗号化特徴ベクトルC^=(c^ ,c^ ,…,c^ )を記憶部301に格納する。
[0143]
 次に、図11、図12、図13を用いて、認証方法を説明する。
 なお、簡単のためここでは認証時に認証の対象となるユーザが別途ID情報などによって特定されているいわゆる1:1認証の場合について説明する。
[0144]
 ステップS1101とステップS1102は実施の形態1と同様である。
 ただし、ここでハミング距離の場合はb’ ∈{0,1}であり、ユークリッド二乗距離の場合はb’ ∈{0,1,…,q-1}であることに注意する。
[0145]
 次に、ステップS1103にて、証明装置101の乱数生成部203が、0からq-1までの整数から一様ランダムに値を4T回取り出し、{r’ 2,i,r’ 3,i,r^’ 2,i,r^’ 3,ii=1,2,…,Tとする。
[0146]
 次に、ステップS1104にて、証明装置101の暗号化部204が、c’ =b’ +r’ 2,i+r’ 3,i,c^’ =b’ w^ +r’ 2,iw^ +r’ 3,iw^ により暗号化特徴ベクトルC’=(c’ ,c’ ,…,c’ ),暗号化特徴ベクトルC^’=(c^’ ,c^’ ,…,c^’ )を計算する。
[0147]
 次に、ステップS1105にて、証明装置101の通信部206が、暗号化特徴ベクトルC’=(c’ ,c’ ,…,c’ ),暗号化特徴ベクトルC^’=(c^’ ,c^’ ,…,c^’ )を認証装置102に送信する。
 その際、例えばSSLなどの通信用改ざん検出技術を用いて通信の途中で改ざんが行われないようにすることが望ましい。
[0148]
 次に、ステップS1106にて、認証装置102の通信部206が、暗号化特徴ベクトルC’=(c’ ,c’ ,…,c’ ),暗号化特徴ベクトルC^’=(c^’ ,c^’ ,…,c^’ )を受信する。
[0149]
 次に、ステップS1107にて、認証装置102の暗号化類似度生成部302が、記憶部301から暗号化特徴ベクトルC=(c ,c ,…,c ),暗号化特徴ベクトルC^=(c^ ,c^ ,…,c^ )を取り出す。
 このとき、一般に記憶部301には多数のユーザの暗号化生体情報が格納されているが、その中からどれを取り出すかについては、別途与えられるID情報を用いる。
[0150]
 次に、ステップS1108にて、認証装置102の乱数生成部203が、0からq-1までの整数から一様ランダムに値を6T回取り出し、{s 1,i,s 2,i,s 3,i,s^ 1,i,s^ 2,i,s^ 3,ii=1,2,…,Tとする。
[0151]
 次に、ステップS1109にて、認証装置102の乱数生成部203が、0からq-1までの整数から一様ランダムに値を4回取り出し、{u ,u ,u^ ,u^ }とする。
[0152]
 次に、ステップS1110にて、認証装置102の暗号化類似度生成部302が、d =(c -c’ )+s 1,i+s 2,i+s 3,iを計算する。
 なお、w ,w ,w は、公開鍵の一部(W)として、復号装置103から配布されたものである。
[0153]
 次に、ステップS1111にて、認証装置102の暗号化類似度生成部302が、d^ =(c^ -c^’ )+s^ 1,iw^ +s^ 2,iw^ +s^ 3,iw^ を計算する。
 なお、w^ ,w^ ,w^ は、公開鍵の一部(W^)として、復号装置103から配布されたものである。
[0154]
 次に、ステップS1112にて、認証装置102の暗号化類似度生成部302が、数17に従って、Eを計算する。
[0155]
[数17]


[0156]
 次に、ステップS1113にて、認証装置102の暗号化類似度生成部302が、数18に従って、E^を計算する。
[0157]
[数18]


[0158]
 次に、ステップS1114にて、認証装置102の通信部206が(d ,…,d ,d^ ,…,d^ …,E,E^)を復号装置103へ送信する。
 その際、例えばSSLなどの通信用改ざん検出技術を用いて通信の途中で改ざんが行われないようにすることが望ましい。
 本実施の形態では、(d ,…,d ,d^ ,…,d^ …,E,E^)が暗号化類似度情報の例となる。
[0159]
 これ以降のステップは実施の形態1と同様であるので説明を省略する。
[0160]
 以上の実施の形態によれば、実施の形態1と同様の効果を奏するのに加えて、類似度の指標としてハミング距離またはユークリッド二乗距離を用いることができるという効果がある。
[0161]
 実施の形態3.
 以上、実施の形態1および実施の形態2にて、岡本-高島暗号を用いて生体認証を行う方法を開示したが、次に、非特許文献2に示されたBGN(Boneh-Goh-Nissim)暗号を用いて生体認証を行う方法を開示する。
 なお、本実施の形態に係る生体認証システムの構成例も図1に示した通りである。
 また、本実施の形態に係る証明装置101、認証装置102、復号装置103の内部構成例も、図2-図4に示した通りである。
[0162]
 はじめに、BGN暗号のアルゴリズムについて説明する。
 BGN暗号は、鍵生成、暗号化、復号の3つのアルゴリズムからなる。
[0163]
 鍵生成アルゴリズムは以下のとおりである。
 p、qをそれぞれ素数とする。
 N=pqとして、Nを位数とする群G、G を生成する。
 e:G×G→G を、双線型性および非退化性を満たすペアリングとする。
 g、uをGから一様ランダムに選んだ要素とする。
 h=u によりhを定める。
 そして、公開鍵を((G,G ,N,e),g,h)、秘密鍵をpとする。
[0164]
 暗号化アルゴリズムは以下のとおりである。
 なお、平文空間を{0,1,…,L}とする。{0,1,…,N-1}から一様ランダムにrを選ぶ。
 xに対する暗号文E(x)をE(x)=g とする。
[0165]
 復号アルゴリズムは以下のとおりである。
 暗号文をE(x)とすると、まず、秘密鍵pを用いてE(x) を計算する。
 定義より、E(x) =(g =(g となる。
 そして、この値について、g を底とする離散対数を求め、元の平文xを得る。
[0166]
 なお、離散対数を求める計算は現在の計算機能力では困難とされているが、平文空間の大きさLが小さい場合には、Pollardのラムダ法を用いることにより√L程度の計算量で計算できることが知られている。
[0167]
 このようなBGN暗号を用いて、生体認証を行う方法を述べる。
 本実施の形態では、実施の形態1と同様の特徴ベクトル構成法をとる場合について説明する。
 すなわち、生体認証で用いる特徴ベクトルとして、特徴点の配列を用意し、ユーザがその特徴点を保有する場合に1、特徴点を保有しない場合に0を配列に格納して、配列を特徴ベクトルとし、認証時には1が一致している箇所の数を類似度の指標とするような認証方式を例に説明する。
[0168]
 まず、図13を用いてセットアップについて説明する。
 図13は、パラメータ生成部401における公開鍵及び秘密鍵の生成手順を示したフローチャートである。
[0169]
 はじめに、ステップS1301にて、パラメータ生成部401が、素数p,q、群G,G を定める。
 なお、素数はセキュリティレベルに応じて定まるが、素数pとqの積を群位数とするため、通常は素因数分解ができないように素数を1024ビットや2048ビットなどの大きなサイズの素数とする。
[0170]
 次に、ステップS1302にて、パラメータ生成部401が、Gから一様ランダムにg、uを選び、h=u を計算する。
[0171]
 最後に、ステップS1303にて、パラメータ生成部401が、公開鍵pk=((G,G ,N,e),g,h)を公開し、秘密鍵sk=pを記憶部403に格納する。
[0172]
 次に、図14を用いて、生体情報の登録方法を説明する。
 なお、ここではユーザが証明装置101を経由して認証装置102に生体情報を登録する場合について説明するが、認証装置102上で直接生体情報を登録する場合や、登録用の専用装置を経由して登録する場合などにおいても同様の手順により実現できる。
[0173]
 図14は、証明装置101において生体情報を登録する手順を示したフローチャートである。
[0174]
 はじめに、ステップS1401にて、生体情報抽出部201がユーザの生体情報を抽出する。これには様々な方法があるが、例えば指紋に光を当てて紋様をセンサで読み取るといったことにより抽出する。
[0175]
 次に、ステップS1402にて、特徴ベクトル形成部202が、生体情報から特徴ベクトルb=(b ,b ,…,b )を形成する。
[0176]
 次に、ステップS1403にて、乱数生成部203が、0からN-1までの整数から一様ランダムに値をT回取り出し、{r i=1,2,…,Tとする。
[0177]
 次に、ステップS1404にて、暗号化部204が、c =g biriにより暗号化特徴ベクトルC=(c ,c ,…,c )を計算する。
 なお、g、hは公開鍵の一部として復号装置103から配布されたものである。
[0178]
 次に、ステップS1405にて、通信部206が、暗号化特徴ベクトルC=(c ,c ,…,c )を認証装置102に送信する。
[0179]
 最後に、ステップS1406にて、認証装置102が、暗号化特徴ベクトルC=(c ,c ,…,c )を記憶部301に格納する。
[0180]
 次に、図15ないし図17を用いて、認証方法を説明する。
 なお、簡単のためここでは認証時に認証の対象となるユーザが別途ID情報などによって特定されているいわゆる1:1認証の場合について説明する。
[0181]
 図15、図16、図17は、認証を行う手順を示したフローチャートである。
[0182]
 はじめに、ステップS1501にて、証明装置101の生体情報抽出部201が、ユーザの生体情報を抽出する。
 抽出方法は生体情報の登録時と同様である。
[0183]
 次に、ステップS1502にて、証明装置101の特徴ベクトル形成部202が、生体情報から特徴ベクトルb’=(b’ ,b’ ,…,b’ )を形成する。
 形成方法は、生体情報の登録時と同様である。
[0184]
 次に、ステップS1503にて、証明装置101の乱数生成部203が、0からN-1までの整数から一様ランダムに値をT回取り出し、{r’ i=1,2,…,Tとする。
[0185]
 次に、ステップS1504にて、証明装置101の暗号化部204が、c’ =g b’ir’iにより暗号化特徴ベクトルC’=(c’ ,c’ ,…,c’ )を計算する。
[0186]
 次に、ステップS1505にて、証明装置101の通信部206が、暗号化特徴ベクトルC’=(c’ ,c’ ,…,c’ )を認証装置102に送信する。
 その際、例えばSSLなどの通信用改ざん検出技術を用いて通信の途中で改ざんが行われないようにすることが望ましい。
[0187]
 次に、ステップS1506にて、認証装置102の通信部206が、暗号化特徴ベクトルC’=(c’ ,c’ ,…,c’ )を受信する。
[0188]
 次に、ステップS1507にて、認証装置102の暗号化類似度生成部302が、記憶部301から暗号化特徴ベクトルC=(c ,c ,…,c )を取り出す。
[0189]
 次に、ステップS1508にて、認証装置102の乱数生成部305が、0からN-1までの整数から一様ランダムに値を取り出し、sとする。
[0190]
 次に、ステップS1509にて、認証装置102の暗号化類似度生成部302が、数19に従って、Eを計算する。
[0191]
[数19]


[0192]
 次に、ステップS1510にて、認証装置102の通信部304が、Eを復号装置103へ送信する。
 その際、例えばSSLなどの通信用改ざん検出技術を用いて通信の途中で改ざんが行われないようにすることが望ましい。
 本実施の形態では、Eが暗号化類似度情報となる。
[0193]
 次に、ステップS1511にて、復号装置103の通信部404が、Eを受信する。
[0194]
 次に、ステップS1512にて、復号装置103の復号部402が、記憶部403から秘密鍵pを取り出す。
[0195]
 次に、ステップS1513にて、復号装置103の復号部402が、Z=E を計算する。
 次に、ステップS1514にて、復号装置103の復号部402が、e(g,g) を底とするZの離散対数dを計算する。
 本実施の形態でも、この離散対数dが類似度に相当する。
[0196]
 次に、ステップS1515にて、復号装置103の通信部404がdを認証装置102へ送信する。その際、例えばSSLなどの通信用改ざん検出技術を用いて通信の途中で改ざんが行われないようにすることが望ましい。
[0197]
 次に、ステップS1516にて、認証装置102の通信部304が、類似度dを受信する。
[0198]
 次に、ステップS1517にて、判定部303が、類似度dがしきい値以上かを判定する。
 このしきい値は、利用する生体情報の種類や安全性要件などさまざまな要素を勘案してあらかじめシステムで決められた値である。
 しきい値以上であれば、証明装置101から送られてきた暗号化生体情報はIDで指定された本人のものであると判断する。
 一方、しきい値未満であれば、証明装置101から送られてきた暗号化生体情報はIDで指定された人物のものではなく、他人のものであると判断する。
[0199]
 以上のステップにより、認証装置102は証明装置101との間で生体認証を行うことができる。
[0200]
 以上の実施の形態によれば、実施の形態1と同様の効果を奏するのに加えて、実施の形態1に比べて公開鍵、秘密鍵の数を低減できるという効果がある。
[0201]
 また、実施の形態1に比べて復号装置103に送付する暗号文の数を低減できるという効果がある。
[0202]
 実施の形態4.
 以上の実施の形態3では、特徴ベクトルの内積を計算し、その値により生体認証を行うという認証方法を開示したが、次に、特徴ベクトルのハミング距離またはユークリッド二乗距離により生体認証を行うという認証方法を述べる。
 なお、本実施の形態に係る生体認証システムの構成例も図1に示した通りである。
 また、本実施の形態に係る証明装置101、認証装置102、復号装置103の内部構成例も、図2-図4に示した通りである。
[0203]
 本実施の形態におけるパラメータ生成方法と生体情報の登録方法は実施の形態3と同様であるので説明を省略する。
[0204]
 次に、図18、図19、図20を用いて、認証方法を説明する。
 なお、簡単のためここでは認証時に認証の対象となるユーザが別途ID情報などによって特定されているいわゆる1:1認証の場合について説明する。
[0205]
 ステップS1801からS1808までは実施の形態3と同様であるので説明を省略する。
[0206]
 ステップS1809にて、認証装置102の暗号化類似度生成部302が、数20に従って、Eを計算する。
[0207]
[数20]


[0208]
 これ以降のステップは実施の形態3と同様であるので説明を省略する。
[0209]
 以上の実施の形態によれば、実施の形態2と同様の効果を奏する上に、実施の形態3と同様の効果を奏する。
[0210]
 以上、実施の形態1から実施の形態4にわたって、二重準同型暗号を用いた生体認証方法を開示したが、これは生体認証に限らず、パターンマッチング分野に応用できることは明らかである。
 すなわち、実施の形態1-4に示した認証方法によれば、データを暗号化したままでデータの類似度判定ができる。
 したがって、データを暗号化したままでの画像検索、動画検索、音声検索などが可能となる。
[0211]
 以上の実施の形態1-4では、生体認証と二重準同型暗号とを用いることで、生体情報を暗号化したままで生体認証を実現したことを説明した。
 つまり、従来は、通常の準同型暗号を使っていたので、すべてを暗号化したままで認証処理を行うことができなかった。そのため認証処理においてユーザと認証装置との間の通信量が大きくなってしまうという課題がある。
 二重準同型暗号を用いることで、すべてを暗号化したままで認証処理を行うことができるようになる。そのためユーザと認証装置との間の通信量を低減させることができるという効果が生まれる。
 また、この生体認証と二重準同型暗号との組合せにより、安全でかつ通信量効率の高い生体認証が実現できるという効果が生まれる。
[0212]
 最後に、実施の形態1-4に示した証明装置101、認証装置102、復号装置103のハードウェア構成例について説明する。
 図25は、実施の形態1-4に示す証明装置101、認証装置102、復号装置103のハードウェア資源の一例を示す図である。
 なお、図25の構成は、あくまでも証明装置101、認証装置102、復号装置103のハードウェア構成の一例を示すものであり、証明装置101、認証装置102、復号装置103のハードウェア構成は図25に記載の構成に限らず、他の構成であってもよい。
[0213]
 図25において、証明装置101、認証装置102、復号装置103は、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。
 CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
 更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906と接続していてもよい。また、証明装置101は、生体情報を読み取るための読取り装置907と接続されている。また、磁気ディスク装置920の代わりに、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
 RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
 実施の形態1-4で説明した「記憶部」は、RAM914、磁気ディスク装置920等により実現される。
 通信ボード915、キーボード902、マウス903、読取り装置907、FDD904などは、入力装置の一例である。
 また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置の一例である。
[0214]
 通信ボード915は、他の装置と接続されている以外に、例えば、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)、SAN(ストレージエリアネットワーク)などに接続されていても構わない。
[0215]
 磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。
 プログラム群923のプログラムは、CPU911がオペレーティングシステム921、ウィンドウシステム922を利用しながら実行する。
[0216]
 また、RAM914には、CPU911に実行させるオペレーティングシステム921のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
 また、RAM914には、CPU911による処理に必要な各種データが格納される。
[0217]
 また、ROM913には、BIOS(Basic Input Output System)プログラムが格納され、磁気ディスク装置920にはブートプログラムが格納されている。
 証明装置101、認証装置102、復号装置103の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム921が起動される。
[0218]
 上記プログラム群923には、実施の形態1-4の説明において「~部」(「記憶部」以外、以下も同様)として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
[0219]
 ファイル群924には、実施の形態1-4の説明において、「~の判断」、「~の判定」、「~の計算」、「~の比較」、「~の導出」、「~の抽出」、「~の形成」、「~の更新」、「~の設定」、「~の登録」、「~の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「~ファイル」や「~データベース」の各項目として記憶されている。
 「~ファイル」や「~データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
 抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
 また、実施の形態1-4で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
[0220]
 また、実施の形態1-4の説明において「~部」として説明しているものは、「~回路」、「~装置」、「~機器」であってもよく、また、「~ステップ」、「~手順」、「~処理」であってもよい。すなわち、「~部」として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、実施の形態1-4の「~部」としてコンピュータを機能させるものである。あるいは、実施の形態1-4の「~部」の手順や方法をコンピュータに実行させるものである。
[0221]
 このように、実施の形態1-4に示す証明装置101、認証装置102、復号装置103は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「~部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。

符号の説明

[0222]
 101 証明装置、102 認証装置、103 復号装置、201 生体情報抽出部、202 特徴ベクトル形成部、203 乱数生成部、204 暗号化部、205 記憶部、206 通信部、301 記憶部、302 暗号化類似度生成部、303 判定部、304 通信部、305 乱数生成部、401 パラメータ生成部、402 復号部、403 記憶部、404 通信部。

請求の範囲

[請求項1]
 二重準同型暗号アルゴリズムに基づいて復号装置において生成され、前記復号装置から配布された公開鍵を記憶する公開鍵記憶部と、
 前記復号装置から配布された前記公開鍵を保有する暗号装置が保有する前記公開鍵を用いて暗号化した第1データを暗号化第1データとして記憶する暗号化データ記憶部と、
 前記暗号化第1データが前記暗号化データ記憶部に記憶された後に前記暗号装置が保有する前記公開鍵を用いて暗号化した第2データを暗号化第2データとして入力する暗号化データ入力部と、
 前記公開鍵の少なくとも一部を用いて、乱数を生成する乱数生成部と、
 前記暗号化第1データと前記暗号化第2データに対して前記公開鍵記憶部に記憶されている前記公開鍵と前記乱数生成部により生成された乱数を用いた演算を行って、前記暗号化第1データと前記暗号化第2データがそれぞれ暗号化された状態のままで、前記公開鍵に対応付けられて生成された秘密鍵を用いた復号処理により前記第1データと前記第2データとの間の類似度を導出可能な暗号化された情報を暗号化類似度情報として生成する暗号化類似度生成部とを有することを特徴とするデータ処理装置。
[請求項2]
 前記公開鍵記憶部は、
 前記復号装置により前記二重準同型暗号アルゴリズムに基づいて秘密鍵と対応付けられて生成された公開鍵を記憶し、
 前記データ処理装置は、更に、
 前記暗号化類似度生成部により生成された暗号化類似度情報を前記復号装置に出力する暗号化類似度出力部と、
 前記復号装置において前記暗号化類似度情報に対して前記秘密鍵を用いた復号処理が行われて導出された前記第1データと前記第2データとの間の類似度を入力する類似度入力部と、
 前記類似度入力部により入力された前記類似度を解析して、前記第2データの発生源が正当であるか否かを判定する判定部とを有することを特徴とする請求項1に記載のデータ処理装置。
[請求項3]
 前記暗号化データ記憶部は、
 前記第1データを構成するT(Tは2以上の整数)個の部分データが前記暗号装置により暗号化されて得られたT個の暗号化された部分データで構成される暗号化第1データを記憶し、
 前記暗号化データ入力部は、
 前記第2データを構成するT(Tは2以上の整数)個の部分データが前記暗号装置により暗号化されて得られたT個の暗号化された部分データで構成される暗号化第2データを入力し、
 前記暗号化類似度生成部は、
 部分データごとに、前記暗号化第1データと前記暗号化第2データに対して前記公開鍵記憶部に記憶されている前記公開鍵と前記乱数生成部により生成された乱数を用いた演算を行って、前記第1データと前記第2データとの間の類似度として、前記第1データのT個の部分データと前記第2データのT個の部分データにおいて値が一致する部分データの数を導出可能な情報を生成することを特徴とする請求項1に記載のデータ処理装置。
[請求項4]
 前記暗号化データ記憶部は、
 前記第1データを構成するT(Tは2以上の整数)個の部分データが前記暗号装置により暗号化されて得られたT個の暗号化された部分データで構成される暗号化第1データを記憶し、
 前記暗号化データ入力部は、
 前記第2データを構成するT(Tは2以上の整数)個の部分データが前記暗号装置により暗号化されて得られたT個の暗号化された部分データで構成される暗号化第2データを入力し、
 前記暗号化類似度生成部は、
 部分データごとに、前記暗号化第1データと前記暗号化第2データに対して前記公開鍵記憶部に記憶されている前記公開鍵と前記乱数生成部により生成された乱数を用いた演算を行って、前記第1データと前記第2データとの間の類似度として、前記第1データのT個の部分データと前記第2データのT個の部分データにおけるハミング距離を導出可能な情報を生成することを特徴とする請求項1に記載のデータ処理装置。
[請求項5]
 前記暗号化データ記憶部は、
 前記第1データを構成するT(Tは2以上の整数)個の部分データが前記暗号装置により暗号化されて得られたT個の暗号化された部分データで構成される暗号化第1データを記憶し、
 前記暗号化データ入力部は、
 前記第2データを構成するT(Tは2以上の整数)個の部分データが前記暗号装置により暗号化されて得られたT個の暗号化された部分データで構成される暗号化第2データを入力し、
 前記暗号化類似度生成部は、
 部分データごとに、前記暗号化第1データと前記暗号化第2データに対して前記公開鍵記憶部に記憶されている前記公開鍵と前記乱数生成部により生成された乱数を用いた演算を行って、前記第1データと前記第2データとの間の類似度として、前記第1データのT個の部分データと前記第2データのT個の部分データにおけるユークリッド二乗距離を導出可能な情報を生成することを特徴とする請求項1に記載のデータ処理装置。
[請求項6]
 前記公開鍵記憶部は、
 前記二重準同型暗号アルゴリズムに基づいて生成された公開鍵として、岡本-高島暗号アルゴリズムに基づいて生成された公開鍵を記憶し、
 前記暗号化データ記憶部は、
 前記岡本-高島暗号アルゴリズムに基づいて生成された公開鍵による暗号化で得られた暗号化第1データを記憶し、
 前記暗号化データ入力部は、
 前記岡本-高島暗号アルゴリズムに基づいて生成された公開鍵による暗号化で得られた暗号化第2データを入力することを特徴とする請求項1に記載のデータ処理装置。
[請求項7]
 前記公開鍵記憶部は、
 正則行列である秘密鍵に対応付けられて生成されたランダム基底w 、w 、w 、w^ 、w^ 、w^ と所定の値qを公開鍵として記憶し、
 前記暗号化データ記憶部は、
 前記第1データを構成するT(Tは2以上の整数)個の部分データb (添字iは1からT)に前記ランダム基底w 、w 、w を保有する前記暗号装置により前記ランダム基底w 、w 、w を用いた暗号化が行われて得られたT個の暗号化された部分データc (添字iは1からT)で構成される暗号化第1データを記憶し、
 前記暗号化データ入力部は、
 前記第2データを構成するT(Tは2以上の整数)個の部分データb’ (添字iは1からT)に前記ランダム基底w^ 、w^ 、w^ を保有する前記暗号装置により前記ランダム基底w^ 、w^ 、w^ を用いた暗号化が行われて得られたT個の暗号化された部分データc^ (添字iは1からT)で構成される暗号化第2データを入力し、
 前記乱数生成部は、
 前記値qに基づいて複数の乱数値s 1,i、s 2,i、s 3,i、s^ 1,i、s^ 2,i、s^ 3,i(添字iは1からT)を生成し、前記値qに基づいて複数の乱数値u 、u 3,、u^ 、u^ を生成し、
 前記暗号化類似度生成部は、
 d =c +(s 1,i×w )+(s 2,i×w )+(s 3,i×w )を添字iについて1からTまでを計算し、
 d^ =c^ +(s^ 1,i×w^ )+(s^ 2,i×w^ )+(s^ 3,i×w^ )を添字iについて1からTまでを計算し、
 E={(s^ 1,i×c +s 1,i×s^ 1,i×w )の添字iについての1からTまでの総和}+(u ×w )+(u ×w )を計算し、
 E^={(s 1,i×c^ )の添字iについての1からTまでの総和}+(u^ ×w^ )+(u^ ×w^ )を計算し、
 計算した値d 、d^ 、E及びE^を含む暗号化類似度情報を生成することを特徴とする請求項6に記載のデータ処理装置。
[請求項8]
 前記暗号化データ記憶部は、
 T個の部分データb が前記暗号装置で生成された乱数値r 2,iとr 3,i(添字iは1からT)と前記ランダム基底w 、w 、w が用いられてc =(b ×w )+(r 2,i×w )+(r 3,i×w )により暗号化されたT個の部分データc で構成される暗号化第1データを記憶し、
 前記暗号化データ入力部は、
 T個の部分データb’ が前記暗号装置で生成された乱数値r’ 2,iとr’ 3,i(添字iは1からT)と前記ランダム基底w^ 、w^ 、w^ が用いられてc =(b’ ×w^ )+(r’ 2,i×w^ )+(r’ 3,i×w^ )により暗号化されたT個の部分データc^ で構成される暗号化第2データを入力することを特徴とする請求項7に記載のデータ処理装置。
[請求項9]
 前記データ処理装置は、更に、
 前記暗号化類似度生成部により生成された暗号化類似度情報を前記復号装置に出力する暗号化類似度出力部と、
 前記復号装置において前記暗号化類似度情報に対して前記秘密鍵の逆行列と双対ペアリングベクトル空間におけるディストーション写像とが用いられる復号処理が行われて導出された前記第1データと前記第2データとの間の類似度を入力する類似度入力部と、
 前記類似度入力部により入力された前記類似度を解析して、前記第2データの発生源が正当であるか否かを判定する判定部とを有することを特徴とする請求項7に記載のデータ処理装置。
[請求項10]
 前記公開鍵記憶部は、
 正則行列である秘密鍵に対応付けて生成されたランダム基底w 、w 、w 、w^ 、w^ 、w^ と所定の値qを公開鍵として記憶し、
 前記暗号化データ記憶部は、
 前記第1データを構成するT(Tは2以上の整数)個の部分データb (添字iは1からT)に前記ランダム基底w 、w 、w を保有する前記暗号装置により前記ランダム基底w 、w 、w を用いた暗号化が行われて得られたT個の暗号化された部分データc (添字iは1からT)と、前記第1データを構成するT個の部分データb に前記ランダム基底w^ 、w^ 、w^ を保有する前記暗号装置により前記ランダム基底w^ 、w^ 、w^ を用いた暗号化が行われて得られたT個の暗号化された部分データc^ (添字iは1からT)で構成される暗号化第1データを記憶し、
 前記暗号化データ入力部は、
 前記第2データを構成するT(Tは2以上の整数)個の部分データb’ (添字iは1からT)に前記暗号装置により前記ランダム基底w 、w 、w を用いた暗号化が行われて得られたT個の暗号化された部分データc’ (添字iは1からT)と、前記第2データを構成するT個の部分データb’ に前記暗号装置により前記ランダム基底w^ 、w^ 、w^ を用いた暗号化が行われて得られたT個の暗号化された部分データc’^ (添字iは1からT)で構成される暗号化第2データを入力し、
 前記乱数生成部は、
 前記値qに基づいて複数の乱数値s 1,i、s 2,i、s 3,i、s^ 1,i、s^ 2,i、s^ 3,i(添字iは1からT)を生成し、前記値qに基づいて複数の乱数値u 、u 3,、u^ 、u^ を生成し、
 前記暗号化類似度生成部は、
 d =(c -c’ )+(s 1,i×w )+(s 2,i×w )+(s 3,i×w )を添字iについて1からTまでを計算し、
 d^ =(c^ -c’^ )+(s^ 1,i×w^ )+(s^ 2,i×w^ )+(s^ 3,i×w^ )を添字iについて1からTまでを計算し、
 E={(s^ 1,i×(c -c’ )+s 1,i×s^ 1,i×w )の添字iについての1からTまでの総和}+(u ×w )+(u ×w )を計算し、
 E^=[{s 1,i×(c^ -c’^ )}の添字iについての1からTまでの総和]+(u^ ×w^ )+(u^ ×w^ )を計算し、
 計算した値d 、d^ 、E及びE^を含む暗号化類似度情報を生成することを特徴とする請求項6に記載のデータ処理装置。
[請求項11]
 前記暗号化データ記憶部は、
 T個の部分データb が前記暗号装置で生成された乱数値r 2,iとr 3,i(添字iは1からT)と前記ランダム基底w 、w 、w が用いられてc =(b ×w )+(r 2,i×w )+(r 3,i×w )により暗号化されたT個の部分データc と、T個の部分データb が前記暗号装置で生成された乱数値r^ 2,iとr^ 3,i(添字iは1からT)と前記ランダム基底w^ 、w^ 、w^ が用いられてc^ =(b ×w^ )+(r^ 2,i×w^ )+(r^ 3,i×w^ )により暗号化されたT個の部分データc^ で構成される暗号化第1データを記憶し、
 前記暗号化データ入力部は、
 T個の部分データb’ が前記暗号装置で生成された乱数値r’ 2,iとr’ 3,i(添字iは1からT)と前記ランダム基底w 、w 、w が用いられてc’ =(b’ ×w )+(r’ 2,i×w )+(r’ 3,i×w )により暗号化されたT個の部分データc’ と、T個の部分データb’ が前記暗号装置で生成された乱数値r’^ 2,iとr’^ 3,i(添字iは1からT)と前記ランダム基底w^ 、w^ 、w^ が用いられてc’^ =(b’ ×w^ )+(r’^ 2,i×w^ )+(r’^ 3,i×w^ )により暗号化されたT個の部分データc’^ で構成される暗号化第2データを入力することを特徴とする請求項10に記載のデータ処理装置。
[請求項12]
 前記データ処理装置は、更に、
 前記暗号化類似度生成部により生成された暗号化類似度情報を前記復号装置に出力する暗号化類似度出力部と、
 前記復号装置において前記暗号化類似度情報に対して前記秘密鍵の逆行列と双対ペアリングベクトル空間におけるディストーション写像とが用いられる復号処理が行われて導出された前記第1データと前記第2データとの間の類似度を入力する類似度入力部と、
 前記類似度入力部により入力された前記類似度を解析して、前記第2データの発生源が正当であるか否かを判定する判定部とを有することを特徴とする請求項10に記載のデータ処理装置。
[請求項13]
 前記公開鍵記憶部は、
 前記二重準同型暗号アルゴリズムに基づいて生成された公開鍵として、BGN(Boneh-Goh-Nissim)暗号アルゴリズムに基づいて生成された公開鍵を記憶し、
 前記BGN暗号アルゴリズムに基づいて生成された公開鍵による暗号化で得られた暗号化第1データを記憶し、
 前記暗号化データ入力部は、
 前記BGN暗号アルゴリズムに基づいて生成された公開鍵による暗号化で得られた暗号化第2データを入力することを特徴とする請求項1に記載のデータ処理装置。
[請求項14]
 前記公開鍵記憶部は、
 N=p×q(p及びqは素数)を位数とする群Gからランダムに選択された値gと値uと、値h=u と、所定の値Nを公開鍵として記憶し、
 前記暗号化データ記憶部は、
 前記第1データを構成するT(Tは2以上の整数)個の部分データb (添字iは1からT)に値gと値hを保有する前記暗号装置により値gと値hを用いた暗号化が行われて得られたT個の暗号化された部分データc (添字iは1からT)で構成される暗号化第1データを記憶し、
 前記暗号化データ入力部は、
 前記第2データを構成するT(Tは2以上の整数)個の部分データb’ (添字iは1からT)に前記暗号装置により値gと値hを用いた暗号化が行われて得られたT個の暗号化された部分データc’ (添字iは1からT)で構成される暗号化第2データを入力し、
 前記乱数生成部は、
 前記値Nに基づいて乱数値sを生成し、
 前記暗号化類似度生成部は、
 E=e(c 、c’ )×e(g、h) の添字iについて1からTまでの総乗を計算し(e:G×G^→G は双線型性と非退化性を満たすペアリング)、計算した値Eを含む暗号化類似度情報を生成することを特徴とする請求項13に記載のデータ処理装置。
[請求項15]
 前記公開鍵記憶部は、
 N=p×q(p及びqは素数)を位数とする群Gからランダムに選択された値gと値uと、値h=u と、所定の値Nを公開鍵として記憶し、
 前記暗号化データ記憶部は、
 前記第1データを構成するT(Tは2以上の整数)個の部分データb (添字iは1からT)に値gと値hを保有する前記暗号装置により値gと値hを用いた暗号化が行われて得られた部分データc (添字iは1からT)で構成される暗号化第1データを記憶し、
 前記暗号化データ入力部は、
 前記第2データを構成するT(Tは2以上の整数)個の部分データb’ (添字iは1からT)に前記暗号装置により値gと値hを用いた暗号化が行われて得られたT個の暗号化された部分データc’ (添字iは1からT)で構成される暗号化第2データを入力し、
 前記乱数生成部は、
 前記値Nに基づいて乱数値sを生成し、
 前記暗号化類似度生成部は、
 E=e(c 、g)×e(c’ 、g)×e(c ×c’ -2×e(g、h) の添字iについて1からTまでの総乗を計算し(e:G×G^→G は双線型性と非退化性を満たすペアリング)、計算した値Eを含む暗号化類似度情報を生成することを特徴とする請求項13に記載のデータ処理装置。

図面

[ 図 1]

[ 図 2]

[ 図 3]

[ 図 4]

[ 図 5]

[ 図 6]

[ 図 7]

[ 図 8]

[ 図 9]

[ 図 10]

[ 図 11]

[ 図 12]

[ 図 13]

[ 図 14]

[ 図 15]

[ 図 16]

[ 図 17]

[ 図 18]

[ 図 19]

[ 図 20]

[ 図 21]

[ 図 22]

[ 図 23]

[ 図 24]

[ 図 25]