説明

認証端末、認証サーバ、認証システム、認証方法および認証プログラム

【課題】キャンセラブル生体認証において、悪意のサーバ管理者が元の特徴量を推定する攻撃に対し、安全性を確保する。
【解決手段】登録時、クライアント100が得た特徴量配列x[i](i=0〜N−1)を配列X[i]に基底変換し、変換フィルタ配列K[i]で、テンプレート配列T[i]=X[i]K[i]−1に変換し、サーバ130に登録する。認証時、クライアントが得た特徴量配列y[i]を逆順ソートした後配列Y[i]に基底変換し、配列V[i]=Y[i]K[i]と変換する。サーバは準同型公開鍵暗号関数Encで、配列e[i]=Enc(T[i])を求め、クライアントはe、Vからe’[i]=Enc(ΣX[j]Y[j]α−ij)を求め、その要素毎にシャッフルする。シャッフルした配列eσ’[i]はサーバに送信後復号化し、シャッフル相互相関配列cσ[i]を得る。これで特徴量配列x、yの一致/不一致を判定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、個人の生体情報を用いて本人を認証する生体認証の技術に関する。
【背景技術】
【0002】
生体情報を用いた個人認証システムは、初期の登録時に個人の生体情報を取得し、特徴量と呼ばれる情報を抽出して登録する。この登録情報をテンプレートという。認証時には、再び個人から生体情報を取得して特徴量を抽出し、先に登録されたテンプレートと照合して本人か否かを確認する。
【0003】
クライアントとサーバがネットワークを介して接続されたシステムにおいて、サーバがクライアント側にいるユーザを生体認証する場合、典型的にはサーバがテンプレートを保持する。クライアントは認証時にユーザの生体情報を取得し、特徴量を抽出してサーバへ送信し、サーバは特徴量をテンプレートと照合して本人か否かを確認する。
【0004】
しかし、テンプレートは個人を特定することのできる情報であるため、個人情報として厳密な管理が必要とされ、高い管理コストが必要となる。たとえ厳密に管理されていても、プライバシの観点からテンプレートを登録することに心理的な抵抗を感じる人も多い。また、生体情報は一生涯変わることがなく、パスワードや暗号鍵のように容易に変更することができない。これに対し他の生体情報に取り替えて対応することが考えられるが、一人の個人が持つ一種類の生体情報の数には限りがある(例えば指紋は10本の指のみ)ため、根本的な解決策とはならない。このため、仮にテンプレートが漏洩して偽造の危険が生じた場合、これ以降その生体認証を安全に使用することができなくなるという問題がある。さらに、異なるシステムに対して同じ生体情報を登録している場合には他のシステムまで脅威に晒されることになる。
【0005】
そこで、生体情報の登録時に特徴量を一定の関数(一種の暗号化)とクライアントが持つ秘密のパラメータ(一種の暗号鍵:変換パラメータ)で変換し、元の情報を秘匿した状態でテンプレートとしてサーバに保管し、認証時にクライアントが新たに抽出した生体情報の特徴量を、同じ関数とパラメータで変換してサーバへ送信し、サーバは受信した特徴量とテンプレートとを変換された状態のまま照合する方法(キャンセラブル生体認証という)が提案されている。
【0006】
この方法によれば、クライアントが変換パラメータを秘密に保持することで、サーバは認証時においても元の特徴量を知ることができず、個人のプライバシが保護される。またテンプレートが漏洩した場合にも、変換パラメータを変更して再度テンプレートを作成、登録することで、安全性を保つことができる。更に異なるシステムに対して同じ生体情報を用いる場合に、各々異なるパラメータで変換したテンプレートを登録することで、一つのテンプレートが漏洩しても他のシステムの安全性が低下することを防止することができる。
【0007】
キャンセラブル生体認証の具体的な実現方法は、生体情報の種類や照合アルゴリズムに依存する。特許文献1では、静脈認証など、特徴量(画像)の相関値に基づいて類似度を判定するような生体認証技術に対して適用可能な実現方法(以下、相関不変ランダムフィルタリングと呼ぶ)を示している。他にも、非特許文献1〜3による実現方法もある。
【特許文献1】特開2007−293807号公報
【非特許文献1】Okamoto, T. and Uchiyama, S., “A New Public-Key Cryptosystem as Secure as Factoring”, Proc. EUROCRYPT'98, pp. 308-318.
【非特許文献2】P. Paillier, “Public-Key Cryptosystems Based on Composite Degree Residuosity Classes”, Proc. EUROCRYPT’99, pp. 223-238.
【非特許文献3】比良田 他,”画像マッチングに適用可能なキャンセラブル生体認証方式の脆弱性分析と安全性向上”, SCIS2007.
【発明の開示】
【発明が解決しようとする課題】
【0008】
前記特許文献1によれば、登録時、クライアントはユーザの生体から抽出した特徴量画像xを基底変換(フーリエ変換、数論変換など)して基底変換画像Xを計算し、これに対してランダムに生成した変換フィルタKを作用させ、各i番目の画素毎にT[i]=X[i]/K[i]といった計算をして変換画像Tを作成し、サーバに登録する。変換フィルタKはICカードなどに保存してユーザが所持する。
【0009】
認証時にはクライアントがあらたにユーザの生体から特徴量画像yを抽出し、画素を縦方向および横方向に関して逆順にソートした上で基底変換して基底変換画像Yを計算し、これに対してユーザのICカードから読み出した変換フィルタKを作用させ、各i番目の画素毎にV[i]=Y[i]×K[i]といった計算をして変換画像Vを作成し、サーバに送信する。サーバは画素毎にC[i]=T[i]×V[i](=X[i]×Y[i])といった計算をし、画像Cを逆基底変換(逆フーリエ変換、逆数論変換など)することで、xとyの相互相関
【数1】

を計算する。この相互相関からx、yの類似度を計算し、一致/不一致を判定する。
【0010】
このように秘密の変換フィルタKによってx、yを変換してからサーバに送信することで、サーバに対してx、yを秘匿したまま、サーバが照合処理を実行可能とする。
【0011】
しかしサーバ管理者が悪意を持ってx、yを推定しようとした場合、x、yを一意に特定することができなくても、その候補をある程度絞り込むことができる可能性がある。例えば、サーバは前記相互相関を計算することができるが、x、yがそれぞれNピクセル(画素)の画像であったとするならば、前記相互相関もNピクセルの画像(相関画像)であり、ここからx、yの各画素(合計2N個の値)を未知数とするN元連立方程式を立てることができる。この連立方程式は未知数の方が多いので一意に解くことはできないが、しかし解空間を2N次元からN次元に絞り込むことはできる。
【0012】
また一人のユーザが認証を繰り返したとき、サーバに送信されるデータ同士の関係から、同様に基底変換画像Yの各画素値に関する連立方程式を立てることができる。具体的には、例えば認証をm回繰り返したとし、各認証において抽出された特徴量画像をy1、y2、…、ymとする。各特徴量画像の逆順ソートに対する基底変換画像をY1、Y2、…、Ymとすると、サーバに送信されるデータはV1=Y1×K、V2=Y2×K、…、Vm=Ym×K、…である。従ってサーバは、V1/V2、V1/V3、…、V1/Vmを計算することができる。ところでV1/Vi=Y1/Yiであり、これは左辺が既知の定数、右辺が未知の変数であるような連立方程式と見なすことができる。i=2、3、…、mについてまとめると、全体としてmN個の未知数に関する(m−1)N元連立方程式となる。これも未知数の方が多いので一意に解くことはできないが、しかし解空間をmN次元から(m−1)N次元に絞り込むことはできる。
【0013】
なお、非特許文献1〜非特許文献3は、このような悪意のあるサーバ管理者が管理するサーバ(以下、「悪意のあるサーバ」という。)の攻撃に対して言及するものではない。
【0014】
本発明の目的は、キャンセラブル生体認証における相関不変ランダムフィルタリングにおいて、悪意のあるサーバが特徴量を推定(解読)しようと試みる攻撃に対し、前記推定による解の絞り込みを困難にして、安全性を向上させることにある。
【課題を解決するための手段】
【0015】
本発明は以上の課題を解決するため、個人の生体情報の特徴量配列同士の相互相関に基づいて個人を認証する生体認証において、生体情報の登録時には、登録者の生体情報から登録用特徴量配列を抽出し、要素毎にランダムな値を持つ変換フィルタ配列を生成し、前記登録用特徴量配列を、前記変換フィルタ配列を用いて変換し、登録用変換特徴量配列を計算する。そして認証時には、利用者の生体情報から認証用特徴量配列を抽出し、前記認証用特徴量配列を、前記変換フィルタ配列を用いて変換し、認証用変換特徴量配列を計算する。そして、この変換を復元することなく、前記登録用特徴量配列と前記認証用特徴量配列との相互相関の配列において配列要素をシャッフルしたもの(シャッフル相互相関配列と呼ぶ)を計算し、前記シャッフル相互相関から、前記登録用特徴量配列と前記認証用特徴量配列の類似度を計算し、一致/不一致を判定する。詳細は、後記する。
【発明の効果】
【0016】
本発明により、キャンセラブル生体認証における相関不変ランダムフィルタリングにおいて、悪意のあるサーバが特徴量を推定(解読)しようと試みる攻撃に対し、前記推定による解の絞り込みを困難にして、安全性を向上させることができる。
【発明を実施するための最良の形態】
【0017】
以下、図面を参照して、本発明の実施形態について説明する。本実施形態では、生体情報の特徴量を変換し、サーバに対して秘匿したまま、サーバ内で生体情報の照合を行う、キャンセラブル生体認証システムを例にあげて説明する。
【0018】
≪構成≫
図1に、本実施形態のキャンセラブル生体認証システムの機能構成を示す。
本実施形態のキャンセラブル生体認証システムは、登録・認証時の生体情報取得、特徴量の抽出、および特徴量の変換を行う認証端末(以下、クライアント)100と、テンプレートの保管と照合を行う認証サーバ(以下、サーバ)130が、インターネットやイントラネットなどのネットワークを介し接続して構成される。
【0019】
クライアント100は、ユーザ自身か又は信頼できる第三者によって管理され、生体情報(例えば指紋や静脈など)を取得するセンサ110を有する共に、記録媒体120に対してデータを読み書きする。記録媒体120は、IC(Integrated Circuit)カードやUSB(Universal Serial Bus)メモリなどの携帯型記録媒体としてユーザが管理するとしても良いし、クライアント100に固定して接続されたハードディスクなどの記録媒体でも良い。例えば自宅からインターネットバンキングを行う場合、クライアント100はユーザが管理する自宅のPC(Personal Computer)であり、サーバ130は銀行が管理するサーバマシンとするような構成も可能である。
【0020】
クライアント100は、センサ110から取得した生体情報の特徴量を、所定個数分ある要素を配列した特徴量配列(要素、配列については後記する。)として抽出する特徴量抽出部101と、特徴量配列の基底変換を行う基底変換部102と、特徴量を、例えばランダムに変換する変換フィルタを、所定個数分ある要素を配列した変換フィルタ配列として生成する変換フィルタ生成部103と、記録媒体120に対して変換フィルタ配列を読み書きして記録する記録媒体I/F(Interface)部104と、特徴量を変換して登録用の特徴量(テンプレート)や認証用の特徴量を作成する特徴量変換部105と、特徴量を秘匿したまま、特徴量同士の相互相関の配列において要素ごとにシャッフルしたもの(シャッフル相互相関(配列))をサーバ130に開示するように計算を行うシャッフル相互相関計算部106と、サーバ130との通信を行う通信部107とから構成される。
【0021】
ここで生体情報とは、例えば指紋画像や静脈画像、虹彩画像といったデータであり、特徴量とは、例えば指紋や静脈の画像を強調処理して2値化した画像や、あるいは虹彩画像から作成するアイリスコード(虹彩コード)と呼ばれるビット列などを含む。
【0022】
また、2つの特徴量の間の類似度は、相互相関により計算されるものとする。相互相関に基づいて類似度を計算する照合アルゴリズムに対しては、2つの特徴量に特殊な変換を施して秘匿したまま、それらを元に戻すことなく類似度を計算するアルゴリズム(相関不変ランダムフィルタリング)が知られている。本実施形態は、相関不変ランダムフィルタリングを改良し、特徴量秘匿性能をより高める効果を持つ。なお相関不変ランダムフィルタリングの詳細については特許文献1や非特許文献3を参照のこと。
【0023】
サーバ130は、クライアント100と通信を行う通信部131、テンプレートを記憶して管理するデータベース133、クライアント100から受信したテンプレートをデータベース133に登録する登録部132、クライアント100が抽出した認証用の特徴量を知ることなく、その認証用の特徴量とテンプレートの元になった登録用の特徴量とのシャッフル相互相関を計算するシャッフル相互相関計算部134と、前記シャッフル相互相関から、登録用の特徴量と認証用の特徴量とを照合し、特徴量同士の一致/不一致を判定する判定部135とから構成される。
【0024】
なお、データベース133において管理するテンプレートは、当該ユーザがこの認証を行うためにログインするときのログインID(Identification)およびパスワードと対応付けられて登録されている。ユーザは認証時において、クライアント100の入力部(例えば、キーボード)からログインIDおよびパスワードを入力すると、サーバ130では、ログインIDおよびパスワードを検索キーとしてデータベース133を検索し、該当するテンプレートを読み出して、本実施形態のキャンセラブル認証を実行する。以降の説明において、ログインIDおよびパスワードに関する説明は省略する。
【0025】
≪処理;登録処理フロー≫
次に、図2を用いて、本実施形態における生体情報の登録処理フローを説明する。
【0026】
まずセンサ110がユーザの生体情報を取得する(ステップS201)。
【0027】
次に、クライアント100の特徴量抽出部101が取得した生体情報から特徴量を抽出する(ステップS202)。ここでは例として、特徴量がN個の画素(要素)からなる2次元の画像(特徴量画像)の輝度値であるとする。特徴量画像の周辺部分は、図4の符号400に示すように、所定の幅Δで輝度値を0にセットしておく(0パディングする)。これは、離散フーリエ変換や数論変換などの基底変換を用いて相互相関を計算する際に、線形畳み込み(巡回畳み込み)を計算するためである。Δは、認証時に特徴量画像同士を照合する際の、縦横方向のずれ許容量から決定する。例えば上下左右にそれぞれ±4画素分のずれを許容するならば、Δ=4とする。このようにして0パディングした後の画像の特徴量であってN個分の画素を所定の順番で配列したものを特徴量配列xとする。説明を簡単にするために、xの各要素は一次元配列x[i](i=0〜N−1)で表すこととし、0パディング後の画像サイズをW×Hとしたときに、座標(w,h)(0≦w<W,0≦h<H)の輝度値をx[h×W+w]とする。輝度値は0以上θ未満の整数値を取るものとする。よって、特徴量画像の画素数はNであるが、0パディング後の生体情報を構成する部分の画素数はW×Hである。
【0028】
次に、基底変換部102は、関数Fを作用させて特徴量配列xを基底変換する(ステップS203)。この基底変換(F(x))により、基底変換特徴量配列Xが作成される。基底変換は、離散フーリエ変換や数論変換など、巡回畳み込みの性質を持つものならば何でもよいが、ここでは数論変換を用いるものとする。数論変換の定義体を有限体GF(p)(pは素数)とする。基底変換の詳細は特許文献1や非特許文献3を参照のこと。基底変換特徴量配列Xのサイズ(要素数)はNである。
【0029】
次に、変換フィルタ生成部103が、基底変換特徴量配列Xと同じサイズNの変換フィルタを生成する(ステップS204)。生成した変換フィルタは、N個の要素を所定の順番で配列した変換フィルタ配列Kである。図5に示すように、変換フィルタ配列K(符号500)の各要素K[i](i=0〜N−1)は有限体GF(p)上の0でないランダムな整数(1以上p−1以下の一様乱数)として生成する。乱数系列を生成する方法としては、不図示の擬似乱数生成器に適当なシード値(例えば時刻や、キーボード(入力部)からのランダムなキー入力等といった外部から入力された値)を与えて擬似乱数列を計算させる方法がある。
【0030】
次に、記録媒体I/F部104が、変換フィルタ配列Kを記録媒体120に書き込む(ステップS205)。
【0031】
次に、特徴量変換部105が、基底変換特徴量配列Xを、変換フィルタ配列Kを用いて変換(登録用特徴量変換)する(ステップS206)。変換して作成された、登録用の特徴量であるテンプレートの配列(登録用変換特徴量配列)をテンプレート配列Tとし、テンプレート配列Tをサーバ130に送信する。具体的には、配列の各要素において、以下の計算式に従ってテンプレート配列Tを作成する。
【数2】

・・・(式1)
ここで(K[i])−1は有限体GF(p)におけるK[i]の乗法逆元を表し、掛け算も有限体GF(p)上で行うものとする。変換フィルタ配列Kの各要素はランダムな値であったため、サーバ130がテンプレート配列Tから基底変換特徴量配列Xを知ることはできない。
【0032】
次に、サーバ130は、クライアント100からテンプレート配列Tを受信し、登録部132がデータベース133にはテンプレートとしてテンプレート配列Tを登録する(ステップS207)。
以上で、本実施形態における生体情報の登録処理フローに関する説明を終了する。
【0033】
≪処理;認証処理フロー≫
次に、図3を用いて、本実施形態における生体情報の認証処理フローを説明する。
【0034】
まず、サーバ130のシャッフル相互相関計算部134が、所定の公開鍵暗号方式に従い、暗号用の公開鍵PKおよび復号用の秘密鍵SKからなる鍵ペアを生成する(ステップS300)。ただし、公開鍵暗号方式としては、暗号化関数Enc(・)が以下の準同型性を満たす方式(準同型暗号)を用いることとする。
【数3】

・・・(式2)
ここで、m、mは、例えばベクトルである。
なお、準同型暗号方式の例としては、岡本−内山暗号(非特許文献1)や、Paillier暗号(非特許文献2)などがある。
【0035】
次に、センサ110がユーザの生体情報を取得する(ステップS301)。
【0036】
次に、クライアントの特徴量抽出部101が取得した生体情報から特徴量を抽出する(ステップS302)。登録時と同様に、特徴量画像の周辺部分は0パディングしておく(図4の符号401)。この0パディングをした特徴量画像の特徴量であってN個分の画素を所定の順番で配列したものを特徴量配列yとする。
【0037】
次に、特徴量配列yの各要素を逆順にソートし、配列y’(符号402)を作成する(ステップS303)。なお、特徴量配列xと配列y’の畳み込みは、xとyの相互相関になることに注意する。
【0038】
次に、基底変換部102が、関数Fを作用させて配列y’を基底変換する(ステップS304)。この基底変換(F(y’))により、基底変換特徴量配列Yが作成される。Yのサイズは、登録時の基底変換特徴量配列Xのサイズと同じNであるとする。
【0039】
次に、記録媒体I/F部104が、変換フィルタ配列Kを記録媒体120から読み込む(ステップS305)。
【0040】
次に、特徴量変換部105は、基底変換特徴量配列Yを、変換フィルタ配列Kを用いて変換(認証用特徴量変換)する(ステップS306)。変換して作成された、認証用の特徴量の配列(認証用変換特徴量配列)を認証用特徴量配列Vとし、認証用特徴量配列Vをサーバ130に送信する。具体的には、配列の各要素において、以下の式に従って計算する。なお掛け算は有限体GF(p)上で行う。
【数4】

・・・(式3)
【0041】
次に、サーバ130のシャッフル相互相関計算部134は、データベース133から前記テンプレート配列Tを読み込み、前記公開鍵PKを用いて下式のように、テンプレート配列Tの各要素を暗号化した暗号化テンプレート配列eを作成して、クライアント100に送信する(ステップS307)。
【数5】

【0042】
次に、クライアント100は前記暗号化テンプレート配列eを受信し、シャッフル相互相関計算部106が、配列e’を以下の式に従って計算(秘密計算)する(ステップS308)。
【数6】

αは有限体GF(p)上での1の原始N乗根であり、有限体GF(p)上に規定されるある基底から別の基底に変換する役割を持つ基底変換定数である。ここで暗号化関数Enc(・)の準同型性(式2)と、式1および式3により、以下の計算が成り立つ。
【数7】

・・・(式4)
【0043】
また、元の特徴量xとyの相互相関の配列cは、各要素において、以下の式で表せる。
【数8】

【0044】
したがって、以下の式が成立する。
【数9】

この式から、配列e’は、相互相関の配列cを暗号化した値であるといえる。
【0045】
続いて、クライアント100のシャッフル相互相関計算部106は、配列e’を要素ごとにシャッフルする(ステップS309)。ここで、シャッフルは例えば、配列の要素ごとのランダムな置換を繰り返すことで実現できる。クライアント100は、配列e’をシャッフルした配列eσ’をサーバ130に送信する。
なお、シャッフルの規則は認証ごとに異なるものとし、一時的なものであることに注意する。クライアント100には、不図示の擬似乱数生成器があって、その擬似乱数生成器に適当なシード値を与えて前記規則を実現し得る擬似乱数列を計算させる。実現した規則は、当該認証処理が完了するまでの間のみ有効であるように期限を設定する。その期限が過ぎたとき、その規則およびその擬似乱数列は破棄される。
【0046】
ここで、クライアント100は前記秘密鍵SKを知らないため、暗号文を復号化することはできず、T[i]やX[i]を知ることはできない。従って、仮に攻撃者がクライアント100を不正利用してサーバ130との通信を行い、通信ログを解析しても、テンプレート配列Tや、元の特徴量配列xを手に入れることはできない。
【0047】
次に、サーバ130は前記配列eσ’を受信し、シャッフル相互相関計算部134が、前記秘密鍵SKを用いて、下式のように要素ごとに復号化し、シャッフルされた相互相関配列cσを得る(ステップS310)。ここで、Dec(・)は復号化関数を表すものとする。
【数10】

【0048】
サーバ130は、要素ごとにシャッフルされた状態の相互相関を知ることはできるが、要素が正しい順序で並べられた相互相関を知ることはできない。したがって、元の特徴量xとyを未知変数とした相互相関に基づく連立方程式を立てることができず、解空間の絞り込みができない。
【0049】
最後に、判定部135が、シャッフル相互相関配列cσから、元の特徴量x、yの一致/不一致を判定する(ステップS311)。その際、シャッフル相互相関配列cσを、有限体GF(p)が定義された逆数論変換して基底変換特徴量配列X、Yを元の特徴量配列x、yに戻す。逆数論変換ではなく、巡回畳み込みを可能にする逆離散フーリエ変換であっても良い。シャッフル相互相関配列cσから相互相関の最大値を取得することができるため、判定は例えば、この最大値がしきい値を越えるか否かといった周知の方法で行える。
以上で、本実施形態における生体情報の認証処理フローに関する説明を終了する。
【0050】
前記処理によれば、サーバ130は正しく認証を行うことができるが、元の特徴量x、yを知ることはできない。実際、悪意のあるサーバ130が、x、yの相互相関関数からx、yに関する連立方程式を立てて解こうとしても、サーバ130が知ることができる情報は、シャッフル相互相関cσのみである。このため、x、yに関する連立方程式を立てることができず、悪意のあるサーバがx、yを推定することが困難となる。これによりサーバ管理者の不正に対して安全性が向上する。
【0051】
図6に、本実施形態におけるクライアント100およびサーバ130のハードウェア構成を示す。これらは図のように、CPU(Central Processing Unit:制御部)600、記憶領域として機能するRAM(Random Access Memory)として実現されるメモリ601(記憶部)、CPU600が情報処理(特に、登録処理フローおよび認証処理フローに必要な情報処理)を実行するために読み取ることになるプログラムや前記情報処理が実行されるときに使用されるデータベース等を記憶する外部記憶装置として実現されるHDD(Hard Disk Drive:記憶部)602、キーボードやマウス等で実現される入力装置603(入力部)、ディスプレイ等で実現される出力装置604(出力部)、通信装置605といったハードウェア資源から構成することができる。
【0052】
制御部は、前記プログラムを記憶したROM(Read Only Memory:記録媒体)からそのプログラムを読み出して、所定の情報処理を実行しても良い。記録媒体に記憶されたプログラムは、記憶部にインストールされ、制御部はインストールされたプログラムにより命令される処理を、ハードウェアで実現することも可能である。
【0053】
≪まとめ≫
本実施形態によれば、生体情報の特徴量同士の相互相関に基づいて個人を認証する際、認証サーバに対してユーザの生体情報を秘匿したまま認証が可能となり、認証サーバからの生体情報漏洩を防止することができるキャンセラブル生体認証システムにおいて、認証サーバの管理者が不正を行い、ユーザの生体特徴量を推定しようとする高度な攻撃に対しても、高い安全性を確保することができる。
【0054】
≪その他≫
なお、前記形態は、本発明を実施するための最良のものであるが、その実施形式はこれに限定するものではない。したがって、本発明の要旨を変更しない範囲において、その実施形式を種々変形することが可能である。
【0055】
(変形例1)
例えば、本実施形態では、登録時に、クライアント100の記録媒体120に変換フィルタ配列Kを書き込むようにした(ステップS205参照)。しかし、記録媒体120に書き込むものを、変換フィルタ配列Kを生成するために擬似乱数生成器へ入力されるシード値であっても良い。シード値を書き込むようにすることにより、記録媒体120に記録されるデータ量を大幅に削減することができる。
【0056】
この場合において、認証時には、記録媒体120からシード値を読み出した後、変換フィルタ生成部103により、そのシード値を用いて変換フィルタ配列Kを生成し、変換フィルタ配列Kにより基底変換特徴量配列Yを変換する(ステップS306参照)。
【0057】
(変形例2)
また、本実施形態では、クライアント100の記録媒体120には変換フィルタ配列Kを記憶させ、サーバ130のデータベース133にはテンプレート配列Tを記憶させるようにした(ステップS205、ステップS207参照)。しかし、逆に、記録媒体120にはテンプレート配列Tを記憶させ、サーバ130のデータベース133には変換フィルタ配列Kを記憶させるようにしても良い。このように記憶させるものを逆にすることにより、サーバ130に登録されるデータは、完全にランダムなものとなり、元の特徴量配列xに関する情報を全くサーバ130に持たせないようにすることができる。
【0058】
この場合において、認証時には、クライアント100の記録媒体120からテンプレート配列Tを読み出す一方で、サーバ130では、生成された公開鍵PKを、データベース133から読み出した変換フィルタ配列Kに作用させて、変換配列フィルタKを暗号化する(ステップS307参照)。クライアント100はこの暗号化した変換配列フィルタKを受信すると、基底変換特徴量配列Yをテンプレート配列Tを用いて認証用特徴量配列Vに変換する。準同型暗号方式を用いているので、その後なされる秘密計算には、特に変化はない(ステップ308、式4参照)。
【0059】
さらに、この場合において、サーバ130のデータベース133には変換フィルタ配列Kの代わりに、既に述べたように、変換フィルタ配列Kを生成するために擬似乱数生成器へ入力されるシード値を記憶させるようにしても良い。
【0060】
(変形例3)
また、本実施形態では、登録時には、基底変換特徴量配列Xの各要素X[i]に対し、変換フィルタ配列Kの各要素K[i]の乗法逆元(K[i])−1を掛け(ステップS206参照)、認証時には、基底変換特徴量配列Yに対し、変換フィルタ配列Kの各要素K[i]をそのまま掛けるようにした(ステップS306)。しかし、逆に、基底変換特徴量配列Xの各要素X[i]に対し、変換フィルタ配列Kの各要素K[i]を掛け、基底変換特徴量配列Yに対し、変換フィルタ配列Kの各要素K[i]の乗法逆元(K[i])−1を掛けるようにしても良い。
【0061】
その他、ハードウェア、ソフトウェア、各フローチャートなどの具体的な構成について、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【産業上の利用可能性】
【0062】
本発明は、生体情報に基づいてユーザ認証を行う任意のアプリケーションに対して適用可能である。例えば、社内ネットワークにおける情報アクセス制御、インターネットバンキングシステムやATM(Automated Teller Machine)における本人確認、会員向けWebサイトへのログイン、保護エリアへの入場時の個人認証、パソコンのログインなどへの適用が可能である。
【図面の簡単な説明】
【0063】
【図1】本実施形態のキャンセラブル生体認証システムの機能構成を示すブロック図である。
【図2】本実施形態における生体情報の登録処理フローである。
【図3】本実施形態における生体情報の認証処理フローである。
【図4】本実施形態における特徴量配列x、y、y’を示す図である。
【図5】本実施形態における変換フィルタ配列Kを示す図である。
【図6】本実施形態におけるクライアント100およびサーバ130のハードウェア構成を示すブロック図である。
【符号の説明】
【0064】
100 クライアント
101 特徴量抽出部
102 基底変換部
103 変換フィルタ生成部
104 記録媒体I/F部
105 特徴量変換部
106 シャッフル相互相関計算部
107 通信部
110 センサ
120 記録媒体
130 サーバ
131 通信部
132 登録部
133 データベース
134 シャッフル相互相関計算部
135 判定部
400 登録時の特徴量配列:x
401 認証時の特徴量配列:y
402 逆順にソートした認証時の特徴量配列:y’
500 変換フィルタ配列:K
600 CPU
601 メモリ
602 HDD
603 入力装置
604 出力装置
605 通信装置


【特許請求の範囲】
【請求項1】
個人の生体情報を取得し、当該個人の生体情報における特徴量を、複数の要素を配列した特徴量配列として抽出し、前記特徴量配列を認証用に変換して認証用変換特徴量配列を生成する認証端末と、
前記認証端末から受信した前記認証用変換特徴量配列と、当該個人を特定する特徴量配列を登録用に変換した登録用変換特徴量配列とを照合して当該個人を認証する認証サーバと、
が通信可能に接続される認証システムにおける認証端末であって、
ランダムな値を持つ複数の要素の配列で構成され、かつ前記特徴量配列を前記認証用変換特徴量配列および前記登録用変換特徴量配列に変換する変換フィルタ配列を記憶する認証端末用記憶部と、
前記認証用変換特徴量配列と、前記認証端末には秘匿された状態で前記認証サーバから受信した前記登録用変換特徴量配列との相互相関を、複数の要素を配列した相互相関配列として計算し、かつ、前記秘匿がなされたまま前記相互相関配列の要素をシャッフルしてシャッフル相互相関配列を生成する認証端末用シャッフル相互相関計算部と、を有する
ことを特徴とする認証端末。
【請求項2】
前記相互相関配列を巡回畳み込みによって算出可能なように、前記特徴量配列を基底変換する
ことを特徴とする請求項1に記載の認証端末。
【請求項3】
前記基底変換は、所定の有限体が定義された数論変換である
ことを特徴とする請求項2に記載の認証端末。
【請求項4】
前記基底変換は、離散フーリエ変換である
ことを特徴とする請求項2に記載の認証端末。
【請求項5】
個人の生体情報を取得し、当該個人の生体情報における特徴量を、複数の要素を配列した特徴量配列として抽出し、前記特徴量配列を認証用に変換して認証用変換特徴量配列を生成する認証端末と、
前記認証端末から受信した前記認証用変換特徴量配列と、当該個人を特定する特徴量配列を登録用に変換した登録用変換特徴量配列とを照合して当該個人を認証する認証サーバと、
が通信可能に接続される認証システムにおける認証サーバであって、
前記登録用変換特徴量配列を記憶する認証サーバ用記憶部と、
前記認証端末において、前記認証用変換特徴量配列と、前記認証端末には秘匿された状態で前記認証サーバから受信した前記登録用変換特徴量配列との相互相関を、複数の要素を配列した相互相関配列として計算し、かつ、前記秘匿がなされたまま前記相互相関配列の要素をシャッフルしたシャッフル相互相関配列を前記認証端末から受信し、前記受信したシャッフル相互相関配列になされた秘匿を解除して、シャッフル相互相関配列を取得する認証サーバ用シャッフル相互相関計算部と、
前記取得されたシャッフル相互相関配列に基づいて、前記照合を行い、当該個人であるか否かを判定する判定部と、を有する
ことを特徴とする認証サーバ。
【請求項6】
前記判定部により、前記認証端末において、前記相互相関配列を巡回畳み込みによって算出可能なように、前記特徴量配列を基底変換した前記シャッフル相互相関配列を逆基底変換する
ことを特徴とする請求項5に記載の認証サーバ。
【請求項7】
前記逆基底変換は、所定の有限体が定義された逆数論変換である
ことを特徴とする請求項6に記載の認証サーバ。
【請求項8】
前記逆基底変換は、逆離散フーリエ変換である
ことを特徴とする請求項6に記載の認証サーバ。
【請求項9】
前記認証サーバ用記憶部から当該個人の前記登録用変換特徴量配列を読み出し、前記認証サーバ用シャッフル相互相関計算部により、準同型暗号を用いて前記読み出した登録用変換特徴量配列を暗号化して秘匿し、前記秘匿した登録用変換特徴量配列を前記認証端末に送信し、
前記認証端末から前記秘匿がなされたシャッフル相互相関配列を受信すると、前記認証サーバ用シャッフル相互相関計算部により、前記準同型暗号に対する復号化を行い、前記秘匿を解除したシャッフル相互相関配列を取得する
ことを特徴とする請求項5に記載の認証サーバ。
【請求項10】
前記準同型暗号は、岡本−内山暗号である
ことを特徴とする請求項9に記載の認証サーバ。
【請求項11】
前記準同型暗号は、Paillier暗号である
ことを特徴とする請求項9に記載の認証サーバ。
【請求項12】
個人の生体情報を取得し、当該個人の生体情報における特徴量を、複数の要素を配列した特徴量配列として抽出し、前記特徴量配列を認証用に変換して認証用変換特徴量配列を生成する認証端末と、
前記認証端末から受信した前記認証用変換特徴量配列と、当該個人を特定する特徴量配列を登録用に変換した登録用変換特徴量配列とを照合して当該個人を認証する認証サーバと、
が通信可能に接続される認証システムであって、
前記認証端末は、
ランダムな値を持つ複数の要素の配列で構成され、かつ前記特徴量配列を前記認証用変換特徴量配列および前記登録用変換特徴量配列に変換する変換フィルタ配列を記憶する認証端末用記憶部と、
前記認証用変換特徴量配列と、前記認証端末には秘匿された状態で前記認証サーバから受信した前記登録用変換特徴量配列との相互相関を、複数の要素を配列した相互相関配列として計算し、かつ、前記秘匿がなされたまま前記相互相関配列の要素をシャッフルしてシャッフル相互相関配列を生成する認証端末用シャッフル相互相関計算部と、を有し、
前記認証サーバは、
前記登録用変換特徴量配列を記憶する認証サーバ用記憶部と、
前記認証端末から受信したシャッフル相互相関配列になされた秘匿を解除して、シャッフル相互相関配列を取得する認証サーバ用シャッフル相互相関計算部と、
前記取得されたシャッフル相互相関配列に基づいて、前記照合を行い、当該個人であるか否かを判定する判定部と、を有する
ことを特徴とする認証システム。
【請求項13】
個人の生体情報を取得し、当該個人の生体情報における特徴量を、複数の要素を配列した特徴量配列として抽出し、前記特徴量配列を認証用に変換して認証用変換特徴量配列を生成する認証端末と、
前記認証端末から受信した前記認証用変換特徴量配列と、当該個人を特定する特徴量配列を登録用に変換した登録用変換特徴量配列とを照合して当該個人を認証する認証サーバと、
が通信可能に接続される認証システムであって、
前記認証端末は、
ランダムな値を持つ複数の要素の配列で構成され、かつ前記特徴量配列を前記認証用変換特徴量配列および前記登録用変換特徴量配列に変換する変換フィルタ配列を生成するために、前記認証端末の入力部から入力されたシード値を記憶する認証端末用記憶部と、
前記認証用変換特徴量配列と、前記認証端末には秘匿された状態で前記認証サーバから受信した前記登録用変換特徴量配列との相互相関を、複数の要素を配列した相互相関配列として計算し、かつ、前記秘匿がなされたまま前記相互相関配列の要素をシャッフルしてシャッフル相互相関配列を生成する認証端末用シャッフル相互相関計算部と、を有し、
前記認証サーバは、
前記登録用変換特徴量配列を記憶する認証サーバ用記憶部と、
前記認証端末から受信したシャッフル相互相関配列になされた秘匿を解除して、シャッフル相互相関配列を取得する認証サーバ用シャッフル相互相関計算部と、
前記取得されたシャッフル相互相関配列に基づいて、前記照合を行い、当該個人であるか否かを判定する判定部と、を有する
ことを特徴とする認証システム。
【請求項14】
個人の生体情報を取得し、当該個人の生体情報における特徴量を、複数の要素を配列した特徴量配列として抽出し、前記特徴量配列を認証用に変換して認証用変換特徴量配列を生成する認証端末と、
前記認証端末から受信した前記認証用変換特徴量配列と、当該個人を特定する特徴量配列を登録用に変換した登録用変換特徴量配列とを照合して当該個人を認証する認証サーバと、
が通信可能に接続される認証システムであって、
前記認証端末は、
前記登録用変換特徴量配列を記憶する認証端末用記憶部を有し、
前記認証サーバは、
ランダムな値を持つ複数の要素の配列で構成され、かつ前記特徴量配列を前記認証用変換特徴量配列および前記登録用変換特徴量配列に変換する変換フィルタ配列を記憶する認証サーバ用記憶部を有し、
前記認証端末は、
前記認証用変換特徴量配列と、前記認証端末には秘匿された状態で前記認証サーバから受信した前記変換フィルタ配列により変換した前記登録用変換特徴量配列との相互相関を、複数の要素を配列した相互相関配列として計算し、かつ、前記秘匿がなされたまま前記相互相関配列の要素をシャッフルしてシャッフル相互相関配列を生成する認証端末用シャッフル相互相関計算部と、を有し、
前記認証サーバは、
前記認証端末から受信したシャッフル相互相関配列になされた秘匿を解除して、シャッフル相互相関配列を取得する認証サーバ用シャッフル相互相関計算部と、
前記取得されたシャッフル相互相関配列に基づいて、前記照合を行い、当該個人であるか否かを判定する判定部と、を有する
ことを特徴とする認証システム。
【請求項15】
個人の生体情報を取得し、当該個人の生体情報における特徴量を、複数の要素を配列した特徴量配列として抽出し、前記特徴量配列を認証用に変換して認証用変換特徴量配列を生成する認証端末と、
前記認証端末から受信した前記認証用変換特徴量配列と、当該個人を特定する特徴量配列を登録用に変換した登録用変換特徴量配列とを照合して当該個人を認証する認証サーバと、
が通信可能に接続される認証システムにおける認証方法であって、
前記認証端末は、
ランダムな値を持つ複数の要素の配列で構成され、かつ前記特徴量配列を前記認証用変換特徴量配列および前記登録用変換特徴量配列に変換する変換フィルタ配列を記憶し、
前記認証サーバは、
前記登録用変換特徴量配列を記憶し、
前記認証サーバにおいて、
前記登録用変換特徴量配列を秘匿するステップと、
前記認証端末において、
前記認証用変換特徴量配列と、前記認証端末には秘匿された状態で前記認証サーバから受信した前記登録用変換特徴量配列との相互相関を、複数の要素を配列した相互相関配列として計算し、かつ、前記秘匿がなされたまま前記相互相関配列の要素をシャッフルしてシャッフル相互相関配列を生成するステップと、
前記認証サーバにおいて、
前記認証端末から受信したシャッフル相互相関配列になされた秘匿を解除して、シャッフル相互相関配列を取得するステップと、
前記取得されたシャッフル相互相関配列に基づいて、前記照合を行い、当該個人であるか否かを判定するステップと、を実行する
ことを特徴とする認証方法。
【請求項16】
個人の生体情報を取得し、当該個人の生体情報における特徴量を、複数の要素を配列した特徴量配列として抽出し、前記特徴量配列を認証用に変換して認証用変換特徴量配列を生成する認証端末と、
前記認証端末から受信した前記認証用変換特徴量配列と、当該個人を特定する特徴量配列を登録用に変換した登録用変換特徴量配列とを照合して当該個人を認証する認証サーバと、
が通信可能に接続される認証システムにおける認証方法であって、
前記認証端末は、
ランダムな値を持つ複数の要素の配列で構成され、かつ前記特徴量配列を前記認証用変換特徴量配列および前記登録用変換特徴量配列に変換する変換フィルタ配列を生成するために、前記認証端末の入力部から入力されたシード値を記憶し、
前記認証サーバは、
前記登録用変換特徴量配列を記憶し、
前記認証サーバにおいて、
前記登録用変換特徴量配列を秘匿するステップと、
前記認証端末において、
前記認証用変換特徴量配列と、前記認証端末には秘匿された状態で前記認証サーバから受信した前記登録用変換特徴量配列との相互相関を、複数の要素を配列した相互相関配列として計算し、かつ、前記秘匿がなされたまま前記相互相関配列の要素をシャッフルしてシャッフル相互相関配列を生成するステップと、
前記認証サーバにおいて、
前記認証端末から受信したシャッフル相互相関配列になされた秘匿を解除して、シャッフル相互相関配列を取得するステップと、
前記取得されたシャッフル相互相関配列に基づいて、前記照合を行い、当該個人であるか否かを判定するステップと、を実行する
ことを特徴とする認証方法。
【請求項17】
個人の生体情報を取得し、当該個人の生体情報における特徴量を、複数の要素を配列した特徴量配列として抽出し、前記特徴量配列を認証用に変換して認証用変換特徴量配列を生成する認証端末と、
前記認証端末から受信した前記認証用変換特徴量配列と、当該個人を特定する特徴量配列を登録用に変換した登録用変換特徴量配列とを照合して当該個人を認証する認証サーバと、
が通信可能に接続される認証システムにおける認証方法であって、
前記認証端末は、
前記登録用変換特徴量配列を記憶し、
前記認証サーバは、
ランダムな値を持つ複数の要素の配列で構成され、かつ前記特徴量配列を前記認証用変換特徴量配列および前記登録用変換特徴量配列に変換する変換フィルタ配列を記憶し、
前記認証サーバにおいて、
前記変換フィルタ配列を秘匿するステップと、
前記認証端末において、
前記認証用変換特徴量配列と、前記認証端末には秘匿された状態で前記認証サーバから受信した前記変換フィルタ配列により変換した前記登録用変換特徴量配列との相互相関を、複数の要素を配列した相互相関配列として計算し、かつ、前記秘匿がなされたまま前記相互相関配列の要素をシャッフルしてシャッフル相互相関配列を生成するステップと、
前記認証サーバにおいて、
前記認証端末から受信したシャッフル相互相関配列になされた秘匿を解除して、シャッフル相互相関配列を取得するステップと、
前記取得されたシャッフル相互相関配列に基づいて、前記照合を行い、当該個人であるか否かを判定するステップと、を実行する
ことを特徴とする認証方法。
【請求項18】
個人の生体情報を取得し、当該個人の生体情報における特徴量を、複数の要素を配列した特徴量配列として抽出し、前記特徴量配列を認証用に変換して認証用変換特徴量配列を生成する認証端末と、
前記認証端末から受信した前記認証用変換特徴量配列と、当該個人を特定する特徴量配列を登録用に変換した登録用変換特徴量配列とを照合して当該個人を認証する認証サーバと、
が通信可能に接続される認証システムに処理を実行させる認証プログラムであって、
前記認証端末は、
ランダムな値を持つ複数の要素の配列で構成され、かつ前記特徴量配列を前記認証用変換特徴量配列および前記登録用変換特徴量配列に変換する変換フィルタ配列を記憶し、
前記認証サーバは、
前記登録用変換特徴量配列を記憶し、
前記認証サーバに、
前記登録用変換特徴量配列を秘匿する処理と、
前記認証端末に、
前記認証用変換特徴量配列と、前記認証端末には秘匿された状態で前記認証サーバから受信した前記登録用変換特徴量配列との相互相関を、複数の要素を配列した相互相関配列として計算し、かつ、前記秘匿がなされたまま前記相互相関配列の要素をシャッフルしてシャッフル相互相関配列を生成する処理と、
前記認証サーバに、
前記認証端末から受信したシャッフル相互相関配列になされた秘匿を解除して、シャッフル相互相関配列を取得する処理と、
前記取得されたシャッフル相互相関配列に基づいて、前記照合を行い、当該個人であるか否かを判定する処理と、を実行させる
ことを特徴とする認証プログラム。
【請求項19】
個人の生体情報を取得し、当該個人の生体情報における特徴量を、複数の要素を配列した特徴量配列として抽出し、前記特徴量配列を認証用に変換して認証用変換特徴量配列を生成する認証端末と、
前記認証端末から受信した前記認証用変換特徴量配列と、当該個人を特定する特徴量配列を登録用に変換した登録用変換特徴量配列とを照合して当該個人を認証する認証サーバと、
が通信可能に接続される認証システムに処理を実行させる認証プログラムであって、
前記認証端末は、
ランダムな値を持つ複数の要素の配列で構成され、かつ前記特徴量配列を前記認証用変換特徴量配列および前記登録用変換特徴量配列に変換する変換フィルタ配列を生成するために、前記認証端末の入力部から入力されたシード値を記憶し、
前記認証サーバは、
前記登録用変換特徴量配列を記憶し、
前記認証サーバに、
前記登録用変換特徴量配列を秘匿する処理と、
前記認証端末に、
前記認証用変換特徴量配列と、前記認証端末には秘匿された状態で前記認証サーバから受信した前記登録用変換特徴量配列との相互相関を、複数の要素を配列した相互相関配列として計算し、かつ、前記秘匿がなされたまま前記相互相関配列の要素をシャッフルしてシャッフル相互相関配列を生成する処理と、
前記認証サーバに、
前記認証端末から受信したシャッフル相互相関配列になされた秘匿を解除して、シャッフル相互相関配列を取得する処理と、
前記取得されたシャッフル相互相関配列に基づいて、前記照合を行い、当該個人であるか否かを判定する処理と、を実行させる
ことを特徴とする認証プログラム。
【請求項20】
個人の生体情報を取得し、当該個人の生体情報における特徴量を、複数の要素を配列した特徴量配列として抽出し、前記特徴量配列を認証用に変換して認証用変換特徴量配列を生成する認証端末と、
前記認証端末から受信した前記認証用変換特徴量配列と、当該個人を特定する特徴量配列を登録用に変換した登録用変換特徴量配列とを照合して当該個人を認証する認証サーバと、
が通信可能に接続される認証システムに処理を実行させる認証プログラムであって、
前記認証端末は、
前記登録用変換特徴量配列を記憶し、
前記認証サーバは、
ランダムな値を持つ複数の要素の配列で構成され、かつ前記特徴量配列を前記認証用変換特徴量配列および前記登録用変換特徴量配列に変換する変換フィルタ配列を記憶し、
前記認証サーバに、
前記変換フィルタ配列を秘匿する処理と、
前記認証端末に、
前記認証用変換特徴量配列と、前記認証端末には秘匿された状態で前記認証サーバから受信した前記変換フィルタ配列により変換した前記登録用変換特徴量配列との相互相関を、複数の要素を配列した相互相関配列として計算し、かつ、前記秘匿がなされたまま前記相互相関配列の要素をシャッフルしてシャッフル相互相関配列を生成する処理と、
前記認証サーバに、
前記認証端末から受信したシャッフル相互相関配列になされた秘匿を解除して、シャッフル相互相関配列を取得する処理と、
前記取得されたシャッフル相互相関配列に基づいて、前記照合を行い、当該個人であるか否かを判定する処理と、を実行させる
ことを特徴とする認証プログラム。



【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2010−39890(P2010−39890A)
【公開日】平成22年2月18日(2010.2.18)
【国際特許分類】
【出願番号】特願2008−203903(P2008−203903)
【出願日】平成20年8月7日(2008.8.7)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】