JP4929136B2 - 生体認証方法、装置およびシステム - Google Patents

生体認証方法、装置およびシステム Download PDF

Info

Publication number
JP4929136B2
JP4929136B2 JP2007305199A JP2007305199A JP4929136B2 JP 4929136 B2 JP4929136 B2 JP 4929136B2 JP 2007305199 A JP2007305199 A JP 2007305199A JP 2007305199 A JP2007305199 A JP 2007305199A JP 4929136 B2 JP4929136 B2 JP 4929136B2
Authority
JP
Japan
Prior art keywords
array
authentication
conversion
registration
feature quantity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2007305199A
Other languages
English (en)
Other versions
JP2009129292A (ja
Inventor
健太 高橋
真史 比良田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2007305199A priority Critical patent/JP4929136B2/ja
Publication of JP2009129292A publication Critical patent/JP2009129292A/ja
Application granted granted Critical
Publication of JP4929136B2 publication Critical patent/JP4929136B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption

Description

本発明は、個人の生体情報を用いて本人を認証する生体認証方法およびシステムに関する。
生体情報を用いた個人認証システムは、初期の登録時に個人の生体情報を取得し、特徴量と呼ばれる情報を抽出して登録する。この登録情報をテンプレートという。認証時には、再び個人から生体情報を取得して特徴量を抽出し、先に登録されたテンプレートと照合して本人か否かを確認する。
クライアントとサーバがネットワークを介して接続されたシステムにおいて、サーバがクライアント側にいるユーザを生体認証する場合、典型的にはサーバがテンプレートを保持する。クライアントは認証時にユーザの生体情報を取得し、特徴量を抽出してサーバへ送信し、サーバは特徴量をテンプレートと照合して本人か否かを確認する。
しかし、テンプレートは個人を特定することのできる情報であるため、個人情報として厳密な管理が必要とされ、高い管理コストが必要となる。例え厳密に管理されていても、プライバシの観点からテンプレートを登録することに心理的な抵抗を感じる人も多い。また、一人の個人が持つ一種類の生体情報の数には限りがある(例えば指紋は10本の指のみ)ため、パスワードや暗号鍵のように容易にテンプレートを変更することができない。仮にテンプレートが漏洩して偽造の危険が生じた場合、その生体認証を使用することができなくなるという問題がある。さらに、異なるシステムに対して同じ生体情報を登録している場合には他のシステムまで脅威にさらされることになる。
そこで、生体情報の登録時に特徴量を一定の関数(一種の暗号化)とクライアントが持つ秘密のパラメータ(一種の暗号鍵)で変換し、元の情報を秘匿した状態でテンプレートとしてサーバに保管し、認証時にクライアントが新たに抽出した生体情報の特徴量を、同じ関数とパラメータで変換してサーバへ送信し、サーバは受信した特徴量とテンプレートを変換された状態のまま照合する方法(キャンセラブル生体認証という)が提案されている。
この方法によれば、クライアントが変換パラメータを秘密に保持することで、サーバは認証時においても元の特徴量を知ることができず、個人のプライバシが保護される。またテンプレートが漏洩した場合にも、変換パラメータを変更して再度テンプレートを作成、登録することで、安全性を保つことができる。更に異なるシステムに対して同じ生体情報を用いる場合に、各々異なるパラメータで変換したテンプレートを登録することで、一つのテンプレートが漏洩しても他のシステムの安全性が低下することを防止することができる。
キャンセラブル生体認証の具体的な実現方法は、生体情報の種類や照合アルゴリズムに依存する。特許文献1では、静脈認証など、特徴量(画像)の相関値に基づいて類似度を判定するような生体認証技術に対して適用可能な実現方法(以下、相関不変ランダムフィルタリングと呼ぶ)を示している。
特願2007−000671号公報 Okamoto, T. and Uchiyama, S., "A New Public-Key Cryptosystem as Secure as Factoring", Proc. EUROCRYPT'98, pp. 308-318. P. Paillier, "Public-Key Cryptosystems Based on Composite Degree Residuosity Classes", Proc. EUROCRYPT’99, pp. 223-238. 比良田 他,"画像マッチングに適用可能なキャンセラブル生体認証方式の脆弱性分析と安全性向上", SCIS2007.
上記特許文献1によれば、登録時、クライアントはユーザの生体から抽出した特徴量画像xを基底変換(フーリエ変換または数論変換)して基底変換画像Xを計算し、これに対してランダムに生成した変換フィルタKを作用させ、各i番目の画素毎にT[i]=X[i]/K[i]を計算して変換画像Tを作成し、サーバに登録する。変換フィルタKはICカードなどに保存してユーザが所持する。
認証時にはクライアントがあらたにユーザの生体から特徴量画像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の相互相関関数
Figure 0004929136
を計算する。この相互相関関数からx、yの類似度を計算し、一致/不一致を判定する。
このように秘密の変換フィルタKによってx、yを変換してからサーバに送信することで、サーバに対してx、yを秘匿したまま、サーバが照合処理を実行可能とする。
しかしサーバ管理者が悪意を持ってx、yを推定しようとした場合、x、yを一意に特定することができなくても、その候補をある程度絞り込むことができる可能性がある。例えば、サーバは
Figure 0004929136
を計算することができるが、x、yがそれぞれNピクセルの画像であったとするならば、
Figure 0004929136
もNピクセルの画像(相関画像)であり、ここからx、yの各画素(合計2N個の値)を未知数とするN元連立方程式を立てることができる。この連立方程式は未知数の方が多いので一意に解くことはできないが、しかし解空間を2N次元からN次元に絞り込むことはできる。
また一人のユーザが認証を繰り返したとき、サーバに送信されるデータ同士の関係から、同様に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次元からN次元に絞り込むことはできる。
本発明の目的は、相関不変ランダムフィルタリングにおいて、悪意のあるサーバが特徴量x、yを推定(解読)しようと試みる攻撃に対し、上記のような解の絞り込みを困難として、安全性を向上したシステム、方法およびプログラムを提供することにある。
本発明は以上の課題を解決するため、個人の生体情報の特徴量配列同士の相互相関に基づいて個人を認証する生体認証方法において、生体情報の登録時に、登録者の生体情報から登録用特徴量配列を抽出するステップと、各要素毎にランダムな値を持つ一つ以上の変換フィルタ配列を生成する変換フィルタ配列生成ステップと、前記登録用特徴量配列を、前記変換フィルタ配列を用いて変換し、登録用変換特徴量配列を計算する登録用特徴量配列変換ステップと、認証時に、利用者の生体情報から認証用特徴量配列を抽出するステップと、所定の定義域においてランダムな値を持つマスク関数を生成するマスク関数生成ステップと、前記認証用特徴量配列と、前記変換フィルタ配列と、前記登録用変換特徴量配列と、前記マスク関数を用いて、前記登録用特徴量配列を復元することなく、かつ処理過程において前記登録用特徴量配列と前記認証用特徴量配列との相互相関関数を生成することなく、前記相互相関関数と前記マスク関数との和関数であるマスクつき相互相関関数を計算する、マスク付き相互相関関数計算ステップと、前記マスク付き相互相関関数から、前記登録用特徴量配列と前記認証用特徴量配列の類似度を計算し、一致/不一致を判定する一致判定ステップと、を含むことを特徴とする、生体認証方法を提供する。
本発明は、クライアントにて、登録用の生体情報と認証用の生体情報とを演算(例えば、乗算、除算)したものに対して、さらに、巡回畳み込みの性質を持つ基底変換(例えば、フーリエ変換、数論変換)を定義する定義体上の整数によって構成された数値配列(例えば、マスク配列)を基底変換によって変換して得たフィルタ配列(例えば、マスクフィルタは配列)を演算(例えば、加算、減算)して、サーバにて認証用の生体情報と登録用の生体情報との照合を判定するための相互相関関数を得るためのデータを生成する。
本発明によれば、生体情報の特徴量ベクトル同士の相互相関に基いて個人を認証する生体認証システムにおいて、認証サーバに対してユーザの生体情報を秘匿したまま認証が可能となり、サーバからの生体情報漏洩を防止することができる。特に、認証サーバの管理者が不正を行い、ユーザの生体特徴量を推定しようとする高度な攻撃に対しても、高い安全性を確保することができる。
以下、本発明の実施例1および実施例2を説明する。
以下、図面を参照して、本発明の第一の実施形態について説明する。本実施形態では、生体情報の特徴量を変換し、サーバに対して秘匿したまま、サーバ内で生体情報の照合を行う、キャンセラブル生体認証システムを例にあげて説明する。
図1に、キャンセラブル生体認証システムのシステム構成を示す。本実施例のキャンセラブル生体認証システムは、登録・認証時の生体情報取得、特徴量抽出、および特徴量の変換を行うクライアント端末(以下、クライアント)100と、テンプレートの保管と照合を行う認証サーバ(以下、サーバ)130が、インターネットやイントラネットなどのネットワークを介し接続して構成される。
クライアント100は、ユーザ自身か又は信頼できる第三者によって管理され、生体情報(例えば指紋や静脈、虹彩など)を取得するセンサ110を有すると共に、記録媒体120に対してデータを読み書きする。記録媒体120は、ICカードやUSBメモリなどの携帯型記録媒体としてユーザが管理するとしてもよいし、クライアントに固定して接続されたハードディスクなどの記録媒体でもよい。例えば自宅からインターネットバンキングを行う場合、クライアント100はユーザが管理する自宅のPCであり、サーバ130は銀行が管理するサーバマシンとするような構成も可能である。
クライアント100は、センサから取得した生体情報の特徴量を抽出する特徴量抽出部101と、特徴量データの基底変換を行う基底変換部102と、特徴量を変換するための変換フィルタを生成する変換フィルタ生成部103と、変換の安全性を向上するために使うマスクフィルタを生成する、マスクフィルタ生成部104と、記録媒体120に対して変換フィルタを読み書きする記録媒体I/F部105と、特徴量を変換して登録用のテンプレートを作成する登録用変換部106と、特徴量を秘匿したまま、特徴量同士のマスクつき相互相関関数を認証サーバ130に開示するように計算を行う、秘密相互相関計算部107と、サーバとの通信を行う通信部108から構成される。
ここで生体情報とは、例えば指紋画像や静脈画像、虹彩画像といったデータであり、特徴量とは、例えば指紋や静脈の画像を強調処理して2値化した画像や、あるいは虹彩画像から作成するアイリスコード(虹彩コード)と呼ばれるビット列などを含む。2つの特徴量の間の類似度は、相互相関により計算されるものとする。相互相関に基づいて類似度を計算する照合アルゴリズムに対しては、2つの特徴量に特殊な変換を施して秘匿したまま、それらを元に戻すことなく類似度を計算するアルゴリズム(相関不変ランダムフィルタリング)が知られている。類似度がしきい値以上であれば一致と判定し、類似度がしきい値より小さければ不一致と判定する。(逆に、類似度がしきい値以下であれば一致と判定し、類似度がしきい値より大きければ不一致と判定してもよい。)本実施形態は、相関不変ランダムフィルタリングを改良し、特徴量秘匿性能をより高める効果を持つ。なお相関不変ランダムフィルタリングの詳細については特許文献1を参照のこと。
サーバ130は、クライアント100と通信を行う通信部131、テンプレートを管理するデータベース133、クライアントから受信したテンプレートをデータベース133に登録する登録部132、クライアントが取得した特徴量を知ることなく、その特徴量とテンプレートの元になった特徴量とのマスクつき相互相関関数を計算する、秘密相互相関計算部134と、前記マスクつき相互相関関数から、特徴量同士の一致/不一致を判定する判定部135とから構成される。
図5に、本実施形態におけるクライアント100、サーバ130のハードウェア構成を示す。クライアント100、サーバ130は、情報処理が可能なコンピュータ(情報処理装置)である。これらは図のようにCPU500、メモリ501、HDD502、入力装置503、出力装置504、通信装置505とから構成することができる。変換部や生成部、抽出部、計算部、登録部、判定部などは、HDD505からメモリ501にロードされたプログラムに従って、CPU500が動作することにより実現される。データベースはHDD502内に構築される。
次に本実施形態における生体情報の登録処理フローを図2を用いて説明する。
まずセンサ110がユーザの生体情報を取得し、メモリに格納する(S201)。
クライアントの特徴量抽出101がメモリ上の生体情報から特徴量を抽出し、メモリに格納する。ここでは例として、特徴量が画像であるとする。特徴量画像601の周辺部分は、図6Aに示すように、所定の幅Δで輝度値を0にセットしておく(0パディングする)。つまり、特徴量画像601の周辺部分には、特徴量の画像とは異なる画像が存在することとなる。これは、フーリエ変換や数論変換などの基底変換を用いて相互相関を計算する際に、線形畳み込みを計算するためである。Δは、特徴量画像同士を照合する際の、縦横方向のずれ許容量から決定する。例えば上下左右にそれぞれ±4画素分のずれを許容するならば、Δ=4とする。このようにして0パディングした後の画像を特徴量配列xとする。説明の簡単のためxは一次元配列で表すこととし、0パディング後の画像サイズをW×Hとしたときに、座標(w,h)(0≦w<W,0≦h<H)の輝度値をx[h×W+w]とする。輝度値は0以上θ未満の整数値を取るものとする。また画素数をN(=W×H)とする。特徴量画像601の周辺部分の輝度値は、0であることが好ましいが、0以外の値であってもよいし、画素ごとに異なる値であってもよい。
基底変換部102が、メモリ上の特徴量配列xを基底変換してメモリ上に基底変換特徴量配列Xを作成する(S203)。基底変換は、フーリエ変換や数論変換など、巡回畳み込みの性質を持つものならば何でもよいが、ここでは数論変換を用いるものとする。数論変換の定義体を素体Zp(pは素数)とする。変換の詳細は特許文献1を参照のこと。基底変換特徴量配列Xのサイズ(要素数)はNである。
変換フィルタ生成部103が、基底変換特徴量ベクトルXと同じサイズNの変換フィルタ配列Kをメモリ上に生成する(S204)。図7Aに示すように、変換フィルタ配列K700の各要素K[i](i=0〜N−1)はZp上の0でないランダムな整数(1以上(p−1)以下の一様乱数)として生成する。乱数系列を生成する方法としては、擬似乱数生成器に適当なシード値(例えば時刻や、キーボードからのランダムなキー入力など)を与えて擬似乱数列を計算させる方法がある。例えば、変換フィルタ生成部103は、擬似乱数生成器を用いて順次疑似乱数を生成し、変換フィルタ配列Kを構成する数に至るまでその疑似乱数をメモリ上に順次格納していく。尚、疑似乱数の代わりに、乱数を用いてもよい。
記録媒体I/F部105が、変換フィルタ配列Kを記録媒体120に書き込む(S205)。なお変換フィルタKを直接書き込むかわりに、ステップ204で用いたシード値(擬似乱数生成器への入力値)を書き込んでもよい。シード値を用いることで、記録媒体120が記録すべきデータサイズを大幅に削減することができる。
登録用変換部106が、メモリ上の基底変換特徴量配列Xを、メモリ上の変換フィルタ配列Kを用いて変換し、その変換結果としてメモリ上にテンプレート配列Tを作成して、サーバ130に送信する(S206)。具体的には以下の計算式に従ってテンプレート配列Tを作成する。
Figure 0004929136
ここで
Figure 0004929136
はZpにおけるK[i]の逆数を表し、掛け算もZp上で行うものとする。変換フィルタ配列Kの各要素はランダムな値であったため、サーバ130がテンプレート配列Tから基底変換特徴量配列Xを知ることはできない。
サーバ130は、通信部131がクライアント100からテンプレート配列Tを受信し、登録部132がデータベース133に登録する(S207)。
なお、前記変換フィルタ配列Kと、テンプレート配列Tは、役割を入れ替えてもよい。つまりランダムに生成した配列K(あるいは擬似乱数のシード値)を、テンプレート配列Tとしてサーバ130に送信し、数2で計算した配列Tを、変換フィルタ配列Kとして記録媒体120に書き込んでもよい。こうすることで、サーバ130に登録されるテンプレート配列Tを、完全にランダムに生成されたデータとし、元の特徴量xに関する情報を全く含めないようにすることができる。
次に本実施形態における認証フローを図3を用いて説明する。
サーバ130の秘密相互相関計算部134が、所定の公開鍵暗号方式に従い、暗号化のための公開鍵Kp、複合化のための秘密鍵Ksのペアをメモリ上に生成する(S300)。ただし、公開鍵暗号方式としては、暗号化関数Enc(・)が以下の準同型性を満たす方式(準同型暗号)を用いることとする。
Figure 0004929136
準同型暗号方式の例としては、岡本−内山暗号(非特許文献1)や、Paillier暗号(非特許文献2)などがある。
次にセンサ110がユーザの生体情報を取得する(S301)。
クライアントの特徴量抽出101がメモリ上の生体情報から特徴量画像を抽出し、メモリに格納する(S302)。登録時と同様に、特徴量画像601の周囲は0パディングしておく(図6B)。これを特徴量配列yとする。
次にクライアントの特徴量抽出101がメモリ上の特徴量配列yの各要素をメモリ上で逆順にソートし、配列y’602を作成する(S303)。特徴量配列xと配列y’の畳み込みは、xとyの相互相関になることに注意する。
基底変換部102が、メモリ上の配列y’をメモリ上で基底変換して基底変換特徴量配列Yを作成する(S304)。Yのサイズは、登録時の基底変換特徴量Xのサイズと同じNであるとする。
記録媒体I/F部105が、変換フィルタ配列Kを記録媒体120から読み込む(S305)。
マスクフィルタ生成部103は、マスクフィルタ配列Rをメモリ上で生成する(S306)。以下、具体的な生成方法を、図8を用いて説明する。前記特徴量配列x、yと同じサイズのマスク配列r800を用意し、これを画像として見たときの左上(Δ+1)×(Δ+1)、左下(Δ+1)×Δ、右上Δ×(Δ+1)、右下Δ×Δの領域の画素値を全て0とする。それ以外の領域の画素値は、全てZp上のランダムな整数(0以上p−1以下の一様乱数)として生成する。次にrを基底変換し、マスクフィルタ配列R801とする。マスクフィルタ配列Rは、認証毎に生成して使い捨てる、一時的なデータであることが好ましい。尚、0に設定する領域は、四隅の代わりに、数論変換の実装形態により中央であってもよい。
秘密相互相関計算部107が、メモリ上の基底変換特徴量配列Yを、メモリ上の変換フィルタ配列Kを用いて変換し、その変換結果としてメモリ上に変換特徴量配列Vを作成する(S307)。具体的には以下の式に従って計算する。なお掛け算はZp上で行う。
Figure 0004929136
サーバ130の秘密相互相関計算部134が、データベース133より前記テンプレート配列Tを読み込み、前記公開鍵Kpを用いて下式のように各要素を暗号化した暗号化テンプレート配列eを作成して、公開鍵Kpとともにクライアント100に送信する(S308)。
Figure 0004929136
クライアント100は通信部108が前記暗号化テンプレート配列eと公開鍵Kpを受信し、メモリに格納し、秘密相互相関計算部107が、メモリ上で配列e’を以下の式に従って計算して、サーバ130に送信する。
Figure 0004929136
ここで暗号化関数Enc(・)の準同型性を表す数4と、数2、数5より、以下が成り立つ。
Figure 0004929136
つまり、配列e’は、配列Xと配列Yを掛け合わせたものに対してさらにフィルタ配列Rを加算したものを暗号化したものである。なおクライアント100は前記秘密鍵Ksを知らないため(前記秘密鍵Ksはサーバ130でのみ管理されるため)、暗号文を復号化することはできず、T[i]やX[i]を知ることはできない。従って、仮に攻撃者がクライアント100を不正利用してサーバ130との通信を行い、通信ログを解析しても、テンプレート配列Tや、元の特徴量画像xを手に入れることはできない。
サーバ130は、通信部131が前記配列e’を受信し、メモリに格納し、秘密相互相関計算部134が、メモリ上の前記秘密鍵Ksを用いて、下式のように各要素毎に復号化し、その複合結果としてメモリ上に配列Cを作成する(S310)。Dec(・)は復号化関数を表すものとする。
Figure 0004929136
秘密相互相関計算部134が、メモリ上の前記配列Cを逆基底変換(逆数論変換)し、その変換結果としてメモリ上にマスクつき相互相関関数cを作成する(S311)。マスクつき相互相関関数cは要素数Nの配列であり、基底変換の線形性より以下の式が成立する。
Figure 0004929136
ここで演算x*y’は、xとy’の畳み込みを表し、
Figure 0004929136
はxとyの相互相関関数を表すものとする。マスク配列rが加算されているため、サーバはマスク配列rが0である四隅の領域(図8Aを参照)においてのみ、相互相関関数
Figure 0004929136
の値を知ることができる。この四隅の領域は、特徴量配列x、yを、上下左右にそれぞれ−Δ〜Δの範囲でずらして重ね合わせたときの、(2Δ+1)×(2Δ+1)通りの相互相関値に対応している。つまりサーバは、許容ずれ量の範囲内における相互相関値のみを正しく知ることができるが、それ以外の相互相関値は全く知ることができない。
最後に判定部135が、メモリ上のマスクつき相互相関関数cから、元の特徴量x、yの一致/不一致を判定する(S312)。判定には、例えば非特許文献3の方法などを用いることができる。
本実施例によれば、サーバは正しく認証を行うことができるが、元の特徴量x、yを知ることはできない。実際、悪意のあるサーバが、x、yの相互相関関数からx、yに関する連立方程式を立てて解こうとしても、サーバが知ることができる情報は、マスクつき相互相関関数
Figure 0004929136
のみである。認証の度にランダムに生成されるマスク配列rを加算することで、x、yに関して立式可能な方程式の数(相互相関値の数)は、一回の認証あたりN(=W×H)本から(2Δ+1)×(2Δ+1)本に減少している。図6、7、8の例に示したようにW=H=20、Δ=4とすると、方程式の数は81/400=20%に減少する。未知数は2N個で変化はないため、連立方程式の解の空間は大幅に増加し、悪意のあるサーバがx、yを推定することが困難となる。これによりサーバ管理者の不正に対して安全性が向上する。
なお本実施例ではrを作成する際に、四隅の領域を全て0で埋めるとしたが、代わりに、照合結果に影響を与えない程度の絶対値の小さな乱数(例えば、−2、−1、0、1、2)としてもよい。このように乱数を用いることで、悪意のあるサーバ管理者は相互相関関数から方程式を立てることが全くできなくなり、安全性をより向上させることができる。
以下、図面を参照して、本発明の第二の実施形態について説明する。
本実施形態では第一の実施例と同様、生体情報の特徴量を変換し、サーバに対して秘匿したまま、サーバ内で生体情報の照合を行う、キャンセラブル生体認証システムを例にあげて説明する。第一の実施例とは、変換フィルタ配列の形式、特徴量変換の方法、秘密相互相関計算の方法が異なる。
本実施例におけるキャンセラブル生体認証システムのシステム構成(図1)およびハードウェア構成(図5)は、実施例1と同様である。
次に本実施形態における生体情報の登録処理フローを図2を用いて説明する。
ステップS201からS203は、実施例1と同様である。
クライアント100の変換フィルタ生成部103が、基底変換特徴量ベクトルXと同じサイズNの変換フィルタ配列Kをメモリ上に生成する(S204)。図7Bに示すように、変換フィルタ配列K701の各要素K[i](i=0〜N−1)はZp上のd×d正則行列としてランダムに生成し、メモリに順次格納する。dは2以上の所定の整数とする。例えばd=3の場合、下式のように3×3の行列の各要素をZp上でランダムに決定し、正則である(行列式が非0)であることをチェックし、非正則なら再度ランダムに生成することを繰り返せばよい。乱数系列は、実施例1と同様、擬似乱数生成器に適当なシード値を与えることで実現できる。
Figure 0004929136
記録媒体I/F部105が、変換フィルタ配列Kを記録媒体120に書き込む(S205)。実施例1と同様、変換フィルタKを直接書き込むかわりに、ステップ204で用いたシード値(擬似乱数生成器への入力値)を書き込んでもよい。シード値を用いることで、書き込むべきデータのサイズを大幅に削減することができる。
登録用変換部106が、メモリ上の基底変換特徴量配列Xを、メモリ上の変換フィルタ配列Kを用いて変換し、その変換結果としてメモリ上にテンプレート配列Tを作成して、サーバ130に送信する(S206)。具体的には以下の計算式に従ってテンプレート配列Tを作成する。
Figure 0004929136
ここで
Figure 0004929136
はZp上で計算したK[i]の逆行列であり、ベクトルと行列の掛け算もZp上で行うものとする。変換フィルタ配列Kの各要素はランダムな値であったため、サーバ130がテンプレート配列Tから基底変換特徴量配列Xを知ることはできない。
ステップS207は実施例と同様である。
次に本実施形態における認証フローを図4を用いて説明する。
ステップS301からS306までは実施例1と同様である。
クライアント100の秘密相互相関計算部107は、メモリ上の基底変換特徴量配列Yとメモリ上のマスクフィルタ配列Rを、メモリ上の変換フィルタ配列Kを用いて変換し、その変換結果としてメモリ上に認証用ベクトル配列Vを作成して、サーバ130に送信する(S407)。具体的には以下の計算式に従って、認証用ベクトル配列Vを作成する。
Figure 0004929136
ここで
Figure 0004929136
はK[i]の転置行列である。
Figure 0004929136
はZp上でランダムに決定する。これらの値は配列の各i番目の要素毎に、また認証毎にランダムに生成する。ベクトルと行列の掛け算はZp上で行うものとする。変換フィルタ配列Kの各要素はランダムな値であり、また
Figure 0004929136
もランダムに生成されるため、サーバ130が認証用ベクトル配列Vから基底変換特徴量配列Yや変換フィルタ配列Rを知ることはできない。
サーバ130は通信部131が認証用ベクトル配列Vを受信し、メモリに格納し、秘密相互相関計算部134が、メモリ上で各i番目の要素毎に、認証用ベクトル配列Vとテンプレート配列Tの内積をZp上で計算し、メモリ上に配列Cを作成する(S408)。数10、数11より、下式が成立する。
Figure 0004929136
ステップS311、S312は実施例1と同様である。
本実施例も実施例1と同様、サーバが相互相関関数
Figure 0004929136
を知ることができないため、相互相関値からx、yの連立方程式を立ててx、yを推定(解読)する攻撃を困難とすることができる。また実施例1と比較して、計算コスト、通信コストを低くすることができる。行列K[i]のサイズdはセキュリティパラメータであり、これを大きくすることで、より解読を困難として安全性を向上させることができる。
なお実施例1,2を併用することも可能である。例えば、基底変換特徴量配列X,Yの、前半のn個の要素(X[0]〜X[n−1]、Y[0]〜Y[n−1])については実施例1の方法を使って秘密相互相関計算を行い、後半のN−n個の要素(X[n]〜X[N−1]、Y[n]〜Y[N−1])については実施例2の方法を使って秘密相互相関計算を行う、といったこともできる。
本発明は、生体情報に基づいてユーザ認証を行う任意のアプリケーションに対して適用可能である。例えば社内ネットワークにおける情報アクセス制御、インターネットバンキングシステムやATMにおける本人確認、会員向けWebサイトへのログイン、保護エリアへの入場時の個人認証、パソコンのログインなどへの適用が可能である。
本発明の実施形態の機能構成を示すブロック図である 本発明の実施形態における登録処理を示す流れ図である 本発明の第一の実施形態における認証処理を示す流れ図である 本発明の第二の実施形態における認証処理を示す流れ図である 本発明の実施形態におけるハードウェア構成を示すブロック図である 本発明の実施形態における特徴量配列を示す図である 本発明の実施形態における変換フィルタ配列を示す図である 本発明の実施形態におけるマスク配列およびマスクフィルタ配列を示す図である
符号の説明
100 クライアント
101 特徴量抽出部
102 基底変換部
103 変換フィルタ生成部
104 マスクフィルタ生成部
105 記録媒体I/F部
106 登録用変換部
107 秘密相互相関計算部
108 通信部
110 センサ
120 記録媒体
130 サーバ
131 通信部
132 登録部
133 データベース
134 秘密相互相関計算部
135 判定部
500 CPU
501 メモリ
502 HDD
503 入力装置
504 出力装置
505 通信装置
600 登録時の特徴量配列
601 認証時の特徴量配列
602 逆順にソートした認証時の特徴量配列
700 第一の実施例における変換フィルタ配列
701 第二の実施例における変換フィルタ配列
800 マスク配列
801 マスクフィルタ配列

Claims (12)

  1. 個人の生体情報の特徴量配列同士の相互相関に基づいて個人を認証する、処理装置と記憶装置を備えたコンピュータによる生体認証方法において、
    生体情報の登録時に、
    前記処理装置が、検出装置によって検出された登録者の生体情報から登録用特徴量配列を抽出し、前記記憶装置に格納する抽出ステップと、
    前記処理装置が、ランダムな値に基づいて各要素毎にランダムな値を持つ変換フィルタ配列を生成し、前記記憶装置に格納する生成ステップと、
    前記処理装置が、前記記憶装置上の前記登録用特徴量配列を、前記記憶装置上の前記変換フィルタ配列を用いて変換し、その結果として前記記憶装置上に登録用変換特徴量配列を計算する変換ステップとを含み、
    認証時に、
    前記処理装置が、検出装置によって検出された利用者の生体情報から認証用特徴量配列を抽出し、前記記憶装置に格納する抽出ステップと、
    前記処理装置が、所定の定義域においてランダムな値を持つマスク関数を生成し、前記記憶装置に格納する生成ステップと、
    前記処理装置が、前記記憶装置上の前記認証用特徴量配列と、前記記憶装置上の前記変換フィルタ配列と、前記記憶装置上の前記登録用変換特徴量配列と、前記記憶装置上の前記マスク関数を用いて、前記登録用特徴量配列を復元することなく、かつ処理過程において前記登録用特徴量配列と前記認証用特徴量配列との相互相関関数を生成することなく、前記相互相関関数と前記マスク関数との和関数であるマスクつき相互相関関数を計算し、前記記憶装置に格納する計算ステップと、
    前記処理装置が、前記記憶装置上の前記マスク付き相互相関関数から、前記登録用特徴量配列と前記認証用特徴量配列の類似度を計算し、その類似度に基づいて一致/不一致を判定する判定ステップとを含むことを特徴とする生体認証方法。
  2. 生体情報を取得する認証端末と、前記認証端末により取得された生体情報に基づいて利用者を認証する認証サーバとを備えた生体認証システムにおいて、
    前記認証端末は、
    前記認証サーバとの通信手段と、
    利用者の生体情報を取得する手段と、
    前記生体情報から認証用特徴量配列を抽出する手段と、
    所定の定義域においてランダムな値を持つマスク関数を生成する生成手段と、
    前記認証用特徴量配列と変換フィルタ配列と前記マスク関数とを用いて、所定の登録用特徴量配列を知ることなく、前記登録用特徴量配列と前記認証用特徴量配列との相互相関関数と前記マスク関数との和関数であるマスクつき相互相関関数を前記認証サーバに開示するように計算を行う計算手段とを持ち、
    前記認証サーバは、
    前記認証端末との通信手段と、
    前記登録用特徴量配列と前記認証用特徴量配列と前記相互相関関数とのいずれをも知ることなく、前記マスクつき相互相関関数を計算する、計算手段と、
    前記マスク付き相互相関関数から、前記登録用特徴量配列と前記認証用特徴量配列の類似度を計算し、その類似度に基づいて一致/不一致を判定する判定手段とを含むことを特徴とする、生体認証システム。
  3. 生体情報の登録を行う登録端末を備え、
    前記登録端末は、
    登録者の生体情報を取得する取得手段と、
    前記生体情報から登録用特徴量配列を抽出する抽出手段と、
    ランダムな値に基づいて各要素毎にランダムな値を持つ一つ以上の変換フィルタ配列を生成する生成手段と、
    前記登録用特徴量配列を、前記変換フィルタ配列を用いて変換し、登録用変換特徴量配列を計算する変換手段と、
    前記登録用変換特徴量配列を前記認証サーバに対して発行する発行手段とを持つことを特徴とする、請求項2に記載の生体認証システム。
  4. 前記変換フィルタ配列Kの各要素K[i]は、サイズが2以上の所定の整数dである、d×dのランダムな正則行列であり、
    前記登録用特徴量の変換手段は、
    前記登録用特徴量配列を基底変換して登録用基底変換配列Xを計算し、
    前記登録用基底変換配列Xの各i番目の要素X[i]に対し、所定の(d−2)次元ベクトル(u3,・・・,ud)を用いてd次元ベクトルu[i]=(X[i],1,u3,・・・,ud)を生成し、
    前記変換フィルタ配列Kの各i番目の要素である行列K[i]に対して逆行列L[i]を計算し、前記d次元ベクトルu[i]を前記逆行列L[i]で変換してベクトルT[i]=u[i]L[i]を計算し、各i番目の要素を前記ベクトルT[i]とする登録用変換特徴量配列Tを作成し、
    前記認証端末側秘密相互相関の計算手段は、
    前記認証用特徴量配列を逆順にソートし、基底変換して認証用基底変換配列Yを計算し、
    前記認証用基底変換配列Yの各i番目の要素Y[i]に対して、前記(d−2)次元ベクトル(u3,・・・,ud)と直交するベクトル(v3,・・・,vd)をランダムに生成し、d次元ベクトルv[i]=(Y[i],R[i],v3,・・・,vd)を生成し、
    前記マスク関数を基底変換して基底変換マスク配列Rを計算する手段と、
    前記変換フィルタ配列Kの各i番目の要素である行列K[i]に対し、その転置行列M[i]を計算し、
    前記d次元ベクトルv[i]を前記転置行列M[i]で変換してベクトルV[i]=v[i]M[i]を計算し、各i番目の要素を前記ベクトルV[i]とする認証用変換特徴量配列Vを作成し、
    前記認証サーバ側秘密相互相関の計算手段は、
    登録用変換特徴量配列Tと前記認証用変換特徴量配列Vの各i番目の要素毎に、内積値C[i]=T[i]・V[i](=X[i]×Y[i]+R[i])を計算し、各i番目の要素を前記内積値C[i]とする基底変換相関配列Cを計算し、
    前記基底変換相関配列Cを逆基底変換し、前記マスクつき相互相関関数を計算することを特徴とする、請求項3に記載の生体認証システム。
  5. 前記登録用特徴量の変換手段は、
    前記登録用特徴量配列を基底変換して登録用基底変換配列Xを計算し、
    前記変換フィルタ配列Kを用いて、各i番目の要素毎にT[i]=X[i]/K[i]なる値を持つ登録用変換特徴量配列Tを計算し、
    前記認証端末側秘密相互相関の計算手段は、
    前記認証用特徴量配列を逆順にソートし、基底変換して認証用基底変換配列Yを計算し、
    前記マスク関数を基底変換して基底変換マスク配列Rを計算し、
    前記変換フィルタ配列Kを用いて、各i番目の要素毎にV[i]=Y[i]×K[i]なる値を持つ認証用変換特徴量配列Vを計算し、
    前記認証サーバ側秘密相互相関の計算手段は、
    所定の準同型暗号Enc()を用いて、前記登録用変換特徴量配列Tの各i番目の要素毎にET[i]=Enc(T[i])なる値を持つ暗号化変換特徴量配列ETを計算し、
    前記暗号化変換特徴量配列ETを前記認証端末に送信し、
    前記認証端末側秘密相互相関の計算手段は、
    前記暗号化変換特徴量配列ETを受信し、
    前記認証用変換特徴量配列Vと前記基底変換マスク配列Rと前記暗号化変換特徴量配列ETとから、各i番目の要素毎に、前記準同型暗号Enc()を用いてEC[i]=Enc(T[i]×V[i]+R[i])を計算し、暗号化基底変換相関配列ECを計算し、
    前記暗号化基底変換相関配列ECを前記認証サーバに送信し、
    前記認証サーバ側秘密相互相関の計算手段は、
    前記暗号化基底変換相関配列ECを受信し、
    前記暗号化基底変換相関配列ECの各i番目の要素毎に前記準同型暗号Enc()に対する復号化を行い、C[i]=T[i]×V[i]+R[i]なる値を持つ基底変換相関配列Cを計算し、
    前記基底変換相関配列Cを逆基底変換し、前記マスクつき相互相関関数を計算することを特徴とする、請求項3に記載の生体認証システム。
  6. 前記基底変換は離散フーリエ変換であり、
    前記逆基底変換は逆離散フーリエ変換であることを特徴とする、請求項4または5に記載の生体認証システム。
  7. 前記基底変換は所定の有限体上で定義される数論変換であり、
    前記逆基底変換は前記数論変換に対応する逆数論変換であり、
    前記全ての四則演算および行列演算とベクトル演算は、前記有限体上の演算として計算することを特徴とする、請求項4または5に記載の生体認証システム。
  8. 認証用の生体情報を予め登録された登録用の生体情報と照合するのに用いられるデータを生成するための、処理装置と記憶装置とを備えたコンピュータによる、生体認証方法において、
    前記記憶装置が、巡回畳み込みの性質を持つ基底変換を定義する定義体上の整数によって構成された数値配列を前記基底変換によって変換して得たフィルタ配列を記憶し、
    前記処理装置が、前記記憶装置上で、前記登録用の生体情報と前記認証用の生体情報とを演算したものに対してさらに前記フィルタ配列を演算して、前記データを生成することを特徴とする生体認証方法。
  9. 認証用の生体情報を予め登録された登録用の生体情報と照合するのに用いられるデータを生成するための、処理装置と記憶装置とを備えた生体認証装置において、
    前記記憶装置は、巡回畳み込みの性質を持つ基底変換を定義する定義体上の整数によって構成された数値配列を前記基底変換によって変換して得たフィルタ配列を記憶し、
    前記処理装置は、前記記憶装置上で、前記登録用の生体情報と前記認証用の生体情報とを演算したものに対してさらに前記フィルタ配列を演算して、前記データを生成することを特徴とする生体認証装置。
  10. 前記数値配列を構成する整数は、前記定義体上のランダムな整数を含むことを特徴とする請求項9に記載の生体認証装置。
  11. 前記数値配列のうち、前記認証用の生体情報を所定の値にパディングした領域に関係する領域は、0または所定の範囲に含まれる乱数によってパディングされることを特徴とする請求項9に記載の生体認証装置。
  12. 前記データは、逆基底変換によって変換されて、前記認証用の生体情報と前記登録用の生体情報との照合を判定するための相互相関関数へ変換されることを特徴とする請求項9に記載の生体認証装置。
JP2007305199A 2007-11-27 2007-11-27 生体認証方法、装置およびシステム Active JP4929136B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007305199A JP4929136B2 (ja) 2007-11-27 2007-11-27 生体認証方法、装置およびシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007305199A JP4929136B2 (ja) 2007-11-27 2007-11-27 生体認証方法、装置およびシステム

Publications (2)

Publication Number Publication Date
JP2009129292A JP2009129292A (ja) 2009-06-11
JP4929136B2 true JP4929136B2 (ja) 2012-05-09

Family

ID=40820125

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007305199A Active JP4929136B2 (ja) 2007-11-27 2007-11-27 生体認証方法、装置およびシステム

Country Status (1)

Country Link
JP (1) JP4929136B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8958552B2 (en) * 2009-10-29 2015-02-17 Mitsubishi Electric Corporation Data processing device
JP5573293B2 (ja) * 2010-03-30 2014-08-20 富士通株式会社 認証装置、暗号化装置、トークンデバイス、認証方法、および認証プログラム
US20130230168A1 (en) * 2010-11-15 2013-09-05 Nec Corporation Information processing device, information processing method, and computer readable medium
CN103380591B (zh) * 2011-02-22 2016-03-30 三菱电机株式会社 类似度计算系统、类似度计算装置以及类似度计算方法
JP5784662B2 (ja) 2013-03-13 2015-09-24 株式会社東芝 暗号化データ演算システム、装置及びプログラム
JP5503050B2 (ja) * 2013-05-09 2014-05-28 株式会社日立製作所 生体認証方法及び生体認証システム
JP6142704B2 (ja) 2013-07-11 2017-06-07 富士通株式会社 秘匿データ照合装置、秘匿データ照合プログラムおよび秘匿データ照合方法
JP6281425B2 (ja) 2014-06-27 2018-02-21 富士通株式会社 秘匿データ照合装置、秘匿データ更新プログラムおよび秘匿データ更新方法
WO2016203762A1 (ja) * 2015-06-18 2016-12-22 日本電気株式会社 暗号情報作成装置、暗号情報作成方法、記録媒体、及び、照合システム
JP6528560B2 (ja) * 2015-06-25 2019-06-12 日本電気株式会社 指標算出システム、指標算出方法、指標算出プログラム、及び、照合システム
JP6504013B2 (ja) 2015-10-13 2019-04-24 富士通株式会社 暗号処理方法、暗号処理装置、および暗号処理プログラム
JP6524899B2 (ja) 2015-12-02 2019-06-05 富士通株式会社 秘匿データ照合装置、秘匿データ照合プログラムおよび秘匿データ照合方法
WO2023127069A1 (ja) * 2021-12-27 2023-07-06 日本電気株式会社 照合システム、照合方法、および照合プログラム
WO2023127068A1 (ja) * 2021-12-27 2023-07-06 日本電気株式会社 照合システム、鍵生成装置、照合装置、第1変換装置、第2変換装置、およびそれらの方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4961214B2 (ja) * 2006-03-29 2012-06-27 株式会社日立情報制御ソリューションズ 生体認証方法およびシステム

Also Published As

Publication number Publication date
JP2009129292A (ja) 2009-06-11

Similar Documents

Publication Publication Date Title
JP4929136B2 (ja) 生体認証方法、装置およびシステム
JP5270514B2 (ja) 生体認証方法及び計算機システム
JP2010039890A (ja) 認証端末、認証サーバ、認証システム、認証方法および認証プログラム
Gunasinghe et al. PrivBioMTAuth: Privacy preserving biometrics-based and user centric protocol for user authentication from mobile phones
Yang et al. Fuzzy identity based signature with applications to biometric authentication
Kaur et al. Biometric template protection using cancelable biometrics and visual cryptography techniques
US10778423B2 (en) Reusable fuzzy extractor based on the learning-with-error assumption secure against quantum attacks
Joshi et al. Security vulnerabilities against fingerprint biometric system
He Security flaws in a biometrics-based multi-server authentication with key agreement scheme
KR20080022729A (ko) 생체 인식 방법 및 이를 위한 장치
Sarier Comments on biometric-based non-transferable credentials and their application in blockchain-based identity management
Torres et al. Effectiveness of fully homomorphic encryption to preserve the privacy of biometric data
Penn et al. Customisation of paillier homomorphic encryption for efficient binary biometric feature vector matching
Zeroual et al. Lightweight deep learning model to secure authentication in Mobile Cloud Computing
Bernal-Romero et al. A review on protection and cancelable techniques in biometric systems
Han et al. A novel hybrid crypto-biometric authentication scheme for ATM based banking applications
Aanjanadevi et al. Face Attribute Convolutional Neural Network System for Data Security with Improved Crypto Biometrics.
Aeloor et al. Securing biometric data with visual cryptography and steganography
Al-Assam et al. Combining steganography and biometric cryptosystems for secure mutual authentication and key exchange
CN114065169B (zh) 一种隐私保护生物认证方法和装置、电子设备
Bhargav-Spantzel et al. Biometrics-based identifiers for digital identity management
JP5503050B2 (ja) 生体認証方法及び生体認証システム
Soltane et al. A review regarding the biometrics cryptography challenging design and strategies
CN112187477A (zh) 一种虹膜保密认证方法
Li et al. Fingerprint authentication based on fuzzy extractor in the mobile device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111226

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120117

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120213

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150217

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4929136

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150217

Year of fee payment: 3