(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】5676064
(24)【登録日】2015年1月9日
(45)【発行日】2015年2月25日
(54)【発明の名称】フィルタを用いるセキュアなマルチパーティ計算によるバイオメトリック認証
(51)【国際特許分類】
H04L 9/32 20060101AFI20150205BHJP
H04L 9/30 20060101ALI20150205BHJP
G09C 1/00 20060101ALI20150205BHJP
【FI】
H04L9/00 675D
H04L9/00 663Z
G09C1/00 660D
【請求項の数】16
【全頁数】26
(21)【出願番号】特願2014-548034(P2014-548034)
(86)(22)【出願日】2012年12月20日
(86)【国際出願番号】EP2012076492
(87)【国際公開番号】WO2013092916
(87)【国際公開日】20130627
【審査請求日】2014年11月11日
(31)【優先権主張番号】1162058
(32)【優先日】2011年12月20日
(33)【優先権主張国】FR
【早期審査対象出願】
(73)【特許権者】
【識別番号】513234488
【氏名又は名称】モルフォ
(74)【代理人】
【識別番号】100110423
【弁理士】
【氏名又は名称】曾我 道治
(74)【代理人】
【識別番号】100111648
【弁理士】
【氏名又は名称】梶並 順
(74)【代理人】
【識別番号】100147500
【弁理士】
【氏名又は名称】田口 雅啓
(74)【代理人】
【識別番号】100166235
【弁理士】
【氏名又は名称】大井 一郎
(74)【代理人】
【識別番号】100179914
【弁理士】
【氏名又は名称】光永 和宏
(74)【代理人】
【識別番号】100179936
【弁理士】
【氏名又は名称】渡邊 明日香
(72)【発明者】
【氏名】ペティー、アラン
(72)【発明者】
【氏名】シャバンヌ、エルヴェ
(72)【発明者】
【氏名】ブリンガー、ジュリアン
(72)【発明者】
【氏名】ファーブル、メラニー
【審査官】
青木 重徳
(56)【参考文献】
【文献】
国際公開第2011/052056(WO,A1)
【文献】
高橋 健太、比良田 真史、三村 昌弘、手塚 悟,“セキュアなリモート生体認証プロトコルの提案”,情報処理学会論文誌 [CD−ROM],日本,社団法人情報処理学会,2008年 9月15日,Vol.49、No.9 ,p.3016−3027
【文献】
千田 浩司、山本 剛,“バッチ処理による秘匿回路計算の高速化”,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,2006年 7月13日,Vol.106、No.175,p.125−132
【文献】
伊藤 隆、鶴丸 豊広、米田 健,“マルチパーディプロトコルを用いた生体情報秘匿型生体認証方式”,2006年暗号と情報セキュリティシンポジウム,日本,2006年暗号と情報セキュリティシンポジウム実行委員会事務局,2006年 1月17日,2D3−1
【文献】
千田 浩司、五十嵐 大、柴田 賢介、山本 太郎、高橋 克巳,“秘匿回路計算の高効率化と機密情報の安全な活用について”,情報処理学会論文誌 [CD−ROM],日本,一般社団法人情報処理学会,2011年 6月15日,Vol.52、No.6,p.1993−2008
【文献】
Julien Bringer, Herve Chabanne, David Pointcheval, and Qiang Tang,“Extended Private Information Retrieval and Its Application in Biometrics Authentications”,LNCS, Cryptology and Network Security,米国,Springer,2007年12月,Vol.4856,pp.175-193
【文献】
Yehuda Lindell, Benny Pinkas,“A Proof of Yao's Protocol for Secure Two-Party Computation”,Cryptology ePrint Archive: Report 2004/175,[online],2004年 7月23日,Version: 20040723:034745,p.1-21,[retrieved on 2014-12-01]. Retrieved from the Internet,URL,<https://eprint.iacr.org/eprint-bin/getfile.pl?entry=2004/175&version=20040723:034745&file=175.pdf>
【文献】
Moni Naor, Benny Pinkas, Reuben Sumner,“Privacy Preserving Auctions and Mechanism Design”,Proceedings of the 1st ACM conference on Electronic commerce (EC '99),[online],1999年,p.129-139,[retrieved on 2014-12-01]. Retrieved from the Internet,URL,<http://delivery.acm.org/10.1145/340000/337028/p129-naor.pdf?ip=61.202.255.157&id=337028&acc=ACTIVE%20SERVICE&key=61DAABF003F53B51.61DAABF003F53B51.4D4702B0C3E38B35.4D4702B0C3E38B35&CFID=461547579&CFTOKEN=52978345&__acm__=1418039860_7864854d208af66d>
【文献】
Julien Bringer, Melanie Favre, Herve Chabanne, Alain Patey,“Faster Secure Computation for Biometric Identification Using Filtering”,2012 5th IAPR International Conference on Biometrics Compendium,米国,IEEE,2012年 3月29日,p.257-264
【文献】
Julien Bringer, Herve Chabanne, and Alain Patey,“SHADE: Secure HAmming DistancE comoutation from oblivious transfer”,Cryptology ePrint Archive: Report 2012/586,[online],2012年10月16日,Version: 20121016:133630,[retrieved on 2014-12-01]. Retrieved from the Internet,URL,<https://eprint.iacr.org/2012/586.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/32
G09C 1/00
H04L 9/30
JSTPlus/JMEDPlus/JST7580(JDreamIII)
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
個人又は物体(I)の認証プロセスであって、
システムは、前記認証される個人(I)又は物体のデータ(b)を取得するように構成される制御サーバ(SC)と、N人の記憶された個人のN個のインデックス付き基準データ(b
i)を含むデータベース(DB)の管理サーバ(SG)とを備え、
前記個人(I)の前記データ(b)及び前記基準データ(bi)は、nビットで符号化され、
前記個人又は物体(I)を認証するために、該個人又は物体(I)の前記データ(b)が、前記ベースの前記N個のデータ(b
i)のそれぞれと比較されて、該認証される個人又は物体(I)の前記データ(b)が前記N人の記憶された個人の前記N個の基準データ(b
i)のうちの1つに対応するか否かが判断され、
当該プロセスは、前記制御サーバ(SC)が前記認証される個人又は物体の前記データ(b)を取得する(100)ステップ
を含み、
当該
プロセスは、
−
前記制御サーバ(SC)及び前記管理サーバ(SG)が、前記ベースの前記基準データ(b
i)及び前記認証される個人又は物体(I)の前記データ(b)
を、より小さなサイズの簡略化データ(s
i,s)に変換
する(210)ステップであって、該簡略化データ(si,s)はtビットで符号化され、tはn未満であるステップと、
−
前記制御サーバ(SC)が、前記データベース(DB)の前記N個の簡略化データ(s
i)のそれぞれと、前記認証される個人又は物体(I)の前記簡略化データ(s)との間でセキュアに、前記認証される個人又は物体(I)の前記簡略化データ(s)と最も多くの類似点を有する前記ベース(DB)の前記簡略化データ
【数1】
の一組のp個のインデックス(i
0,...,i
p−1)
を求める(200)ステップであって、pはN未満であり、前記一組は、前記管理サーバ(SG)が評価対象の関数のガーブル計算回路を生成する(220)、セキュアなマルチパーティ計算の方法を実行することによって求められ、
・ 前記ガーブル回路は、入力として、前記ベース(DB)の簡略化データ
【数2】
のビット及び前記個人(I)の前記簡略化データ(s)のビットの一組の暗号鍵を有し、
・ 前記評価対象の関数は、前記ベース(DB)の前記簡略化データ
【数3】
と前記個人(I)の前記簡略化データ(s)との間の前記類似率を計算するものであり、その後に、前記個人の前記簡略化データ(s)と最も多くの類似点を有する前記ベースの前記p個の簡略化データの探索ステップが続き、前記回路の評価は、前記個人の前記簡略化データ(s)と最も多くの類似点を有する前記簡略化データ
【数4】
のインデックス(i0,...,ip−1)を見つけることを可能にする、
ステップと、
− 前記管理サーバ(SG)が、前記データベース(DB)の前記N個の基準データ(b
i)をスクランブルし
(320)、事前に識別された前記簡略化データ
【数5】
に対応するp個のスクランブルされたデータ
【数6】
を前記制御サーバに転送するステップと、
− 前記制御サーバ(SC)が、前記p個のスクランブルされたデータ
【数7】
から、該p個のスクランブルされたデータ
【数8】
のそれぞれと、前記個人又は物体の前記データ(b)との間のセキュアなマルチパーティ計算によって、対応する基準データ
【数9】
)が前記個人又は物体の前記データ(b)との所定の閾値(η)を超える類似率を有する、1つ又は複数のスクランブルされたデータ
【数10】
の単数又は複数のインデックス(i
ID)を求める(300)ステップと
を更に含むことを特徴とする、個人又は物体の認証プロセス。
【請求項2】
前記管理サーバ(SG)から前記制御サーバ(SC)への前記p個のスクランブルされたデータ
【数11】
の転送は、紛失通信技法を用いる、請求項1に記載の認証プロセス。
【請求項3】
前記制御サーバ(SC)が、対応する基準データ
【数12】
が、前記個人(I)又は物体の前記データ(b)との所定の閾値(η)を超える類似率を有する、スクランブルされたデータ
【数13】
の単数又は複数のインデックス(i
ID)を求めた後、
前記制御サーバ(SC)は、前記インデックス(i
ID)を前記管理サーバ(SG)に通信し(400)、
前記管理サーバ(SG)は、前記単数又は複数のインデックス(i
ID)から、該単数又は複数のインデックスに対応する前記ベースの単数又は複数の基準データ
【数14】
を求め、前記個人(i)又は物体を、前記単数又は複数のインデックス(i
ID)に対応する前記基準データ
【数15】
を有する、前記ベース(DB)に記憶された個人又は物体として認証する、請求項1に記載の認証プロセス。
【請求項4】
前記管理サーバ(SG)は、前記ベース(DB)の前記N個のデータ(b
i)をスクランブルするために、選択された前記簡略化データ
【数16】
に対応する前記p個の基準データ
【数17】
のそれぞれについて、前記対応するデータ(b
i)のバイナリ表現におけるビットの可能な位置(u)ごとに、ランダム置換
【数18】
が該位置(u)のビットに適用されるN個のスクランブルされたデータ(b’
i)を含む対応するスクランブルされたデータベース
【数19】
を生成する、請求項1に記載の認証プロセス。
【請求項5】
前記認証は個人に関するものであり、前記ベース(DB)の前記基準データ(bi)及び前記認証される個人(I)の前記データ(b)はバイオメトリックデータである、請求項1に記載の認証プロセス。
【請求項6】
前記バイオメトリックデータ(b,bi)は、虹彩画像のバイナリ符号である、請求項5に記載の認証プロセス。
【請求項7】
各データ(b,bi)は、一組のインデックス付けされたビットを含み、
前記データ(b,bi)から簡略化データ(s,si)への変換ステップ(210)において、該データ(b,b)のビットのインデックス番号を含むインデックス集合(A)が定義され、
前記データ(b,bi)は、前記インデックス集合の番号によってインデックス付けされたビットのみを保持することによって、前記簡略化データ(s,si)に変換され、
前記インデックス番号は、最も適切なビットに関係するように選択される、請求項1に記載の認証プロセス。
【請求項8】
前記個人(I)又は物体の前記簡略化データ(s)と最も多くの類似点を有する前記ベース(DB)の簡略化データ(si)を求めるステップは、前記ベース(DB)の前記簡略化データ(si)と前記個人の前記簡略化データ(s)との間のハミング距離の計算によって実行される、請求項7に記載の認証プロセス。
【請求項9】
前記認証される個人(I)の前記簡略化データ(s)と最も多くの類似点を有する前記ベース(DB)のN個の簡略化データ(si)を求めるステップは、セキュアなマルチパーティ計算によって実行される、請求項1に記載の認証プロセス。
【請求項10】
前記ベース(DB)の前記スクランブルされたデータ
【数20】
と前記個人の前記データ(b)との間の前記セキュアなマルチパーティ計算のステップにおいて、
− 各スクランブルされたデータ
【数21】
に対応する前記ベースの各データ
【数22】
と前記個人の前記データ(b)との間の類似率が計算され、
− 得られた類似率は前記所定の閾値(η)と比較され、該閾値(η)を超える類似率を有する前記ベース(DB)の単数又は複数のデータの単数又は複数のインデックスが選択される、請求項1〜9のいずれか一項に記載の認証プロセス。
【請求項11】
セキュアなマルチパーティ計算の各ステップは、以下の部分ステップ、すなわち、
− 前記管理サーバ(SG)が、評価対象の関数(f)の計算をするための少なくとも1つのガーブル回路(C)を生成する部分ステップであって、
各ガーブル回路(C)は、入力として前記評価対象の関数(f)の入力データのビットに対応する一組の暗号鍵を有し、出力として前記評価対象の関数(f)の結果のビットに対応する暗号鍵を有し、
・ 要素論理演算の形式に分解された前記関数(f)の計算ステップと、
・ 各要素論理演算の可能な入力及び出力のそれぞれの一組の符号化鍵(k)と
を含む、部分ステップと、
− 前記管理サーバ(SG)が前記符号化鍵(k)をランダムに生成する部分ステップと、
− 前記管理サーバ(SG)が、各ガーブル回路(C)について、
・ 前記評価対象の関数(f)の入力ビットの値に対応する符号化鍵(k)と、
・ 各ガーブル回路(C)の出力又は各ガーブル回路の論理演算の1つ若しくは複数の出力の復号表(T)と
を、紛失通信技法を用いて前記制御サーバ(SC)に通信する部分ステップと、
− 前記制御サーバ(SC)が、得られた鍵(k)から、該得られた鍵を入力として用いて各ガーブル回路(C)を評価する部分ステップと
を含む、請求項1〜10のいずれか一項に記載のプロセス。
【請求項12】
前記スクランブルされたデータ
【数23】
に対応するデータ
【数24】
と、前記個人の前記データ(b)との間の類似率を計算して比較するように、セキュアなマルチパーティ計算が行われ、
前記管理サーバ(SG)は、前記選択されたベースの各データについて、対応するガーブル回路を生成し(310)、
− 各ガーブル回路(C
0...C
p−1)の入力は、前記対応するスクランブルされたデータ
【数25】
の暗号鍵及び前記個人(I)の前記データ(b)の暗号鍵であり、
− 各ガーブル回路の前記評価対象の関数(f)は、前記対応するベースのデータ
【数26】
と前記個人の前記データ(b)との間の類似率を計算し、該類似率を前記所定の閾値(η)と比較するものであり、
− 各回路(C
0...C
p−1)の出力は、前記類似率を前記所定の閾値(η)と比較した結果であり、
前記管理サーバ(SG)は、各ガーブル回路(C
0...C
p−1)について、前記スクランブルされたデータ
【数27】
のビットの可能な値に対応するスクランブルされた符号化鍵(k’)と、前記個人のデータ(b)のビットの可能な値に対応する符号化鍵(k)とを生成して前記制御サーバ(SC)に転送し、また前記スクランブルされたデータのビットの値を前記制御サーバ(SC)に転送し、
前記スクランブルされたデータのビットの値及び前記対応する符号化鍵の転送は、紛失通信方法を実行する、請求項11に記載の認証プロセス。
【請求項13】
各ガーブル回路(C
0...C
p−1)の前記評価対象の関数(f)は、前記スクランブルされたデータ
【数28】
に対応する各データ
【数29】
と前記個人(I)の前記データ(b)との間の正規化されたハミング距離の計算を含む、請求項12に記載の認証プロセス。
【請求項14】
スクランブルされたデータ
【数30】
の符号化鍵(k’)の生成は、前記ベースの対応するデータ
【数31】
のビットごとにランダムに生成される符号化鍵(k)に対して、前記スクランブルされたデータ
【数32】
を得るために前記データ
【数33】
のビットに適用されたものと同じ置換
【数34】
に従った再インデックス付けを適用することによって実行される、請求項4に従属する場合の請求項11又は請求項12のいずれか一項に記載の認証プロセス。
【請求項15】
前記ベース(DB)の前記データ(b0...bN−1)が前記管理サーバ(SG)によってランダムに再インデックス付けされる予備ステップ(10)を含む、請求項1に記載の認証プロセス。
【請求項16】
認証される個人(I)の少なくとも1つの制御サーバ(SC)と、記憶された個人のN個の基準データ(b
0...b
N−1)のベース(DB)の少なくとも1つの管理サーバ(SG)とを備える、個人の認証システムであって、
前記制御サーバ(SC)は、前記個人(I)のデータ(b)の取得を進めるように構成され、
当該システムにおいて、前記制御サーバ(SC)及び前記管理サーバ(SG)は、
− 前記ベースの前記基準データ(bi)及び前記認証される個人又は物体(I)の前記データ(b)を、より小さなサイズの簡略化データ(si,s)に変換すること(210)と、
− 前記データベース(DB)の前記N個の簡略化データ(si)のそれぞれと、前記認証される個人又は物体(I)の前記簡略化データ(s)との間でセキュアに、前記認証される個人又は物体(I)の前記簡略化データ(s)と最も多くの類似点を有する前記ベース(DB)の簡略化データ
【数35】
の一組のp個のインデックス(i0,...,ip−1)を求めることであって(200)、pはN未満であり、前記一組は、前記管理サーバ(SG)が評価対象の関数のガーブル計算回路を生成する(220)、セキュアなマルチパーティ計算の方法を実行することによって求められ
・ 前記ガーブル回路は、入力として、前記ベース(DB)の簡略化データ
【数36】
のビット及び前記個人(I)の前記簡略化データ(s)のビットの一組の暗号鍵を有し、
・ 前記評価対象の関数は、前記ベース(DB)の前記簡略化データ
【数37】
と前記個人(I)の前記簡略化データ(s)との間の前記類似率を計算するものであり、その後に、前記個人の前記簡略化データ(s)と最も多くの類似点を有する前記ベースの前記p個の簡略化データの探索ステップが続き、前記回路の評価は、前記個人の前記簡略化データ(s)と最も多くの類似点を有する前記簡略化データ
【数38】
のインデックス(i0,...,ip−1)を見つけることを可能にする、
ことと、
− 前記データベース(DB)の前記N個の基準データ(bi)をスクランブルし(320)、事前に識別された前記簡略化データ
【数39】
に対応するp個のスクランブルされたデータ
【数40】
を前記制御サーバに転送することと、
− 前記p個のスクランブルされたデータ
【数41】
から、該p個のスクランブルされたデータ
【数42】
のそれぞれと、前記個人又は物体の前記データ(b)との間のセキュアなマルチパーティ計算によって、対応する基準データ
【数43】
が、前記個人又は物体の前記データ(b)との所定の閾値(η)を超える類似率を有する、1つ又は複数のスクランブルされたデータ
【数44】
の単数又は複数のインデックス(iID)を求めること(300)と
を実行するように構成された処理手段を備え、
前記制御サーバ(SC)は、前記データベース(DB)に記憶された前記基準データ(b
0...b
N−1)に関する情報を得ることはなく、前記管理サーバ(SG)は、前記認証される個人(I)の前記データ(b)に関する情報を得ることはない、ことを特徴とする、個人の認証システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、包括的には個人又は物体の認証に関する。この認証は、認証される個人又は物体のデータを同じ種類の個人又は記憶された物体の一組のデータと比較することによって行われる。これらのデータはベースに記憶されている。
【0002】
本発明は、特に個人のバイオメトリック認証に適用される。個人のバイオメトリック認証において、個人及びデータベースの比較されるデータは、例えば、その人の虹彩、指紋、更には顔の形状に関するバイオメトリック情報である。
【背景技術】
【0003】
多くの認証技法が既に知られている。一般的に、それらの技法では、個人又は物体のデータの取得を担当することができる個人又は物体の制御サーバと、同じ種類のN個のデータを含むベースのサーバとが組み合わせて用いられる。
【0004】
制御サーバによって取得された個人又は物体のデータはベースの一組のデータと比較され、ベースの少なくとも1つのデータが取得されたデータに対応するか否かが識別され、その個人又は物体がベースに記憶された個人又は物体として識別される。
【0005】
この分野には、特に個人のバイオメトリック認証の場合には、2つの主な問題がある。
【0006】
第1の問題は、認証プロセスのセキュリティ及び機密性に関連するものである。実際、バイオメトリックデータベースは個人情報を含み、制御サーバはベースのこの情報にアクセスできてはならない。同様に、データベースの管理サーバは、認証される個人に関する情報、特に認証される個人のバイオメトリックデータを収集してはならない。
【0007】
この問題に対応するために、セキュアな計算システムが開発されてきた。特に、数人の参加者の間で計算を行うことからなり、参加者が計算の完了時に計算の結果のみを知るように、各参加者が計算される関数の1つ又は複数のエントリを保持する、セキュアマルチパーティ計算(SMC)が知られている。
【0008】
そのようなシステムは、例えば以下に提案されている。
− Z. Erkin、M. Franz、J. Guajardo、S. Katzenbeisser、I. Lagendijk、T. Toft「Privacy-preserving face recognition」(Privacy Enhancing Technologies, 2009)
− A. C.-C. Yao「How to generate and exchange secrets (extended abstract)」(FOCS, 1986)
− A.-R. Sadeghi、T. Schneider、I. Wehrenberg「Efficient privacy-preserving face recognition」(ICISC, 2009)
【0009】
2番目の文献は、「Yaoプロトコル」として知られているセキュアな計算方法を記載している。この方法は以下で説明される。
【0010】
3番目の文献は、このYaoプロトコルをバイオメトリック認証の状況で利用する方法を開示している。
【0011】
これらの方法は、相当のセキュリティを比較関数の計算に与える。しかしながら、これらの方法は、時間及び計算能力を最小にするという第2の主な問題には対応していない。
【0012】
実際、全てのバイオメトリックデータにN回適用されるセキュアな計算は、計算時間及び交換されるデータの数について、非常に多くのコストを要する。
【発明の概要】
【発明が解決しようとする課題】
【0013】
したがって、バイオメトリックデータから個人をセキュアに認証するとともに、既に提案されている解決策よりも高速にかつ計算能力において安価に認証することが求められている。
J. Bringer等による文献「Extended Private Information Retrieval and Its Application in Biometrics Authentications」(Cryptology and Network Security, Springer Berlin Heidelberg, 08.12.2007)には、EPIRと呼ばれるプロトコルが記載されており、当該プロトコルをハミング距離の計算に応用することが述べられている。
M. Blanton等による文献「Secure and Efficient Protocols for Iris and Fingerprint Identification」(International association for cryptologic research, vol. 20110917, Pages 1-25, 17.09.2011)には、ガーバル回路と紛失通信を使用して個人のセキュアな認証を生成することが記載されている。
【課題を解決するための手段】
【0014】
この点で、本発明は、個人又は物体のデータと最も多くの類似点を有するベースのデータを識別する高速かつセキュアなフィルタリングの第1のフェーズと、個人又は物体のデータとの所定の閾値を超える類似率を有する単数又は複数のデータを識別するためのセキュアな計算の第2のステップとを含む、データベースからのデータとの比較による個人又は物体のセキュアな認証プロセスを提案する。
【0015】
高速かつセキュアなフィルタリングの第1のステップは、元のデータに関連する削減されたサイズのデータに対して演算が行われるので、計算時間を相当に短縮する。セキュアな計算の第2のステップは、選択されたデータのみに対して実行され、したがって、元のデータベースのサイズ(N)よりも少ない数の計算動作を含む。
【0016】
本出願の目的は、個人又は物体の認証プロセスである。システムは、認証される個人又は物体のデータを取得するように構成される制御サーバと、N人の記憶された個人のN個のインデックス付き基準データを含むデータベースの管理サーバとを備える。
個人又は物体を認証するために、個人又は物体のデータが、ベースのN個のデータのそれぞれと比較されて、認証される個人又は物体のデータがN人の記憶された個人のN個の基準データのうちの1つに対応するか否かが判断される。
当該プロセスは、
− 制御サーバが認証される個人又は物体のデータを取得するステップと、
− ベースの基準データ及び認証される個人又は物体のデータが、より小さなサイズの簡略化データに変換されるステップと、
− データベースのN個の簡略化データのそれぞれと、認証される個人又は物体の簡略化データとの間でセキュアに、認証される個人又は物体の簡略化データと最も多くの類似点を有するベースの簡略化データの一組のp個のインデックスが求められ、ただしpはN未満であるステップと、
− 管理サーバが、データベースのN個の基準データをスクランブルし、事前に識別された簡略化データに対応するp個のスクランブルされたデータを制御サーバに転送するステップと、
− 制御サーバが、p個のスクランブルされたデータから、当該p個のスクランブルされたデータのそれぞれと、個人又は物体のデータとの間のセキュアなマルチパーティ計算によって、対応する基準データが個人又は物体のデータとの所定の閾値を超える類似率を有する、1つ又は複数のスクランブルされたデータの単数又は複数のインデックスを求めるステップと
を含む。
【0017】
オプションであるが有利には、本発明によるプロセスは、以下の特徴のうちの少なくとも1つを有する。
− 管理サーバから制御サーバへのp個のスクランブルされたデータの転送は、紛失通信技法を用いる。
− このプロセスにおいて、制御サーバが、対応する基準データが個人又は物体のデータとの所定の閾値を超える類似率を有する、スクランブルされたデータの単数又は複数のインデックスを求めた後、
制御サーバは、インデックスを管理サーバに通信し、
管理サーバは、単数又は複数のインデックスから、当該単数又は複数のインデックスに対応するベースの単数又は複数の基準データを求め、個人又は物体を、単数又は複数のインデックスに対応する基準データを有する、ベースに記憶された個人又は物体として認証する。
− 管理サーバは、ベースのN個のデータをスクランブルするために、選択された簡略化データに対応するp個の基準データのそれぞれについて、対応するデータのバイナリ表現におけるビットの可能な位置ごとに、ランダム置換が当該位置のビットに適用されるN個のスクランブルされたデータを含む、対応するスクランブルされたデータベースを生成する。
− 認証は個人に関するものであり、ベースの基準データ及び認証される個人のデータはバイオメトリックデータである。
− バイオメトリックデータは、虹彩画像のバイナリ符号である。
− 各データは、一組のインデックス付きビットを含み、
データから簡略化データへの変換ステップにおいて、当該データのビットのインデックス番号を含むインデックス集合が定義され、
データは、インデックス集合の番号によってインデックス付けされたビットのみを保持することによって、簡略化データに変換され、
インデックス番号は、最も適切なビットに関係するように選択される。
− 個人又は物体の簡略化データと最も多くの類似点を有するベースの簡略化データは、ベースの簡略化データと個人の簡略化データとの間のハミング距離の計算によって求められる。
− 認証される個人の簡略化データと最も多くの類似点を有するベースのN個の簡略化データを求めるステップは、セキュアなマルチパーティ計算によって実行される。
− ベースのスクランブルされたデータと個人のデータとの間のセキュアなマルチパーティ計算のステップにおいて、
各スクランブルされたデータに対応するベースの各データと個人のデータとの間の類似率が計算され、
得られた類似率は、所定の閾値と比較され、当該閾値を超える類似率を有するベースの単数又は複数のデータの単数又は複数のインデックスが選択される。
− セキュアなマルチパーティ計算の各ステップは、以下の部分ステップ、すなわち、
・ 管理サーバが、評価対象の関数の計算のための少なくとも1つのガーブル回路を生成する部分ステップであって、各ガーブル回路は、入力として評価対象の関数の入力データのビットの一組の暗号鍵を有し、出力として評価対象の関数の結果のビットに対応する暗号鍵を有し、要素論理演算の形式に分解された関数の計算ステップと、各要素論理演算の可能な入力及び出力のそれぞれの一組の符号化鍵と、を含む部分ステップと、
・ 管理サーバが符号化鍵をランダムに生成する部分ステップと、
・ 管理サーバが、各ガーブル回路について、評価対象の関数の入力ビットの値に対応する符号化鍵と、各ガーブル回路の出力又は各ガーブル回路の論理演算の1つ若しくは複数の出力の復号表とを、紛失通信技法を用いて制御サーバに通信する部分ステップと、
・ 制御サーバが、得られた鍵から、当該得られた鍵を入力として用いて各ガーブル回路を評価する部分ステップと
を含む。
− スクランブルされたデータに対応するデータと、個人のデータとの間の類似率を計算して比較するように、セキュアなマルチパーティ計算が行われ、
管理サーバは、選択されたベースの各データについて、対応するガーブル回路を生成し、
・ 各ガーブル回路の入力は、対応するスクランブルされたデータの暗号鍵及び個人のデータの暗号鍵であり、
・ 各ガーブル回路の評価対象の関数は、対応するベースのデータと個人のデータとの間の類似率を計算し、当該類似率を所定の閾値と比較するものであり、
・ 各回路の出力は、類似率を所定の閾値と比較した結果であり、
管理サーバは、各ガーブル回路について、スクランブルされたデータのビットの可能な値に対応するスクランブルされた符号化鍵と、個人のデータのビットの可能な値に対応する符号化鍵とを生成して制御サーバに転送し、またスクランブルされたデータのビットの値を制御サーバに転送し、スクランブルされたデータのビットの値及び対応する符号化鍵の転送は、紛失通信方法を用いる。
− 各ガーブル回路の評価対象の関数は、スクランブルされたデータに対応する各データと個人のデータとの間の正規化されたハミング距離の計算を含む。
− スクランブルされたデータの符号化鍵の生成は、ベースの対応するデータのビットごとにランダムに生成される符号化鍵に対して、スクランブルされたデータを得るためにデータのビットに適用されたものと同じ置換に従った再インデックス付けを適用することによって実行される。
− 認証される個人の簡略化データと最も多くの類似点を有するベースのp個の簡略化データを選択するために、管理サーバが、ガーブル計算回路を生成するセキュアなマルチパーティ計算の方法が用いられ、
・ ガーブル回路は、入力として、ベースの簡略化データのビット及び個人の簡略化データのビットの一組の暗号鍵を有し、
・評価対象の関数は、ベースの簡略化データと個人の簡略化データとの間の類似率を計算するものであり、その後に、個人の簡略化データと最も多くの類似点を有するベースのp個の簡略化データの探索ステップが続き、回路の評価は、個人の簡略化データと最も多くの類似点を有する簡略化データのインデックスを見つけることを可能にする。
− このプロセスは、ベースのデータが管理サーバによって再インデックス付けされる予備ステップを含む。
【0018】
また、本発明は、認証される個人の少なくとも1つの制御サーバと、記憶された個人のN個の基準データのベースの少なくとも1つの管理サーバとを備える、個人の認証システムに関する。
制御サーバは、個人のデータの取得を進めるように構成され、
制御サーバ及び管理サーバは、
− ベースの一組のN個の基準データの中から、認証される個人のデータと最も多くの類似点を有するp個のデータのセキュアなフィルタリングを行い、
− セキュアな計算を介して、所定の閾値を超える、認証される個人のデータと類似点を有する単数又は複数のデータを識別する、
ように構成された処理手段を備え、
制御サーバは、データベースに記憶された基準データに関する情報を得ることはなく、管理サーバは、認証される個人のデータに関する情報を得ることはない。
【0019】
本発明の他の特徴、目的、及び利点は、非限定的な例として与えられる、添付図に関する以下の詳細な説明から明らかになる。
【図面の簡単な説明】
【0020】
【
図1】本発明によるプロセスを実行するように構成されたシステムを概略的に示す図である。
【
図2】本発明の一実施形態の主要なステップを示す図である。
【
図3】aは、評価対象の論理「AND」関数の例に関して、本発明によるプロセスにおいて用いられるタイプのガーブル回路を示す図である。bからeは、ガーブル回路の真理値表が論理「AND」関数の真理値表の例に関して暗号化される方法を示す図である。
【
図4a】高速フィルタリングステップにおいて用いられる比較関数の一例を示す図である。
【
図4b】高速フィルタリングステップにおいて用いられる比較関数の一例を示す図である。
【
図4c】高速フィルタリングステップにおいて用いられる比較関数の一例を示す図である。
【
図4d】高速フィルタリングステップにおいて用いられる比較関数の一例を示す図である。
【
図5】高速フィルタリングステップの一実施形態を示す図である。
【
図6】事前にフィルタリングされたデータの比較ステップ及び選択ステップの実行を示す図である。
【発明を実施するための形態】
【0021】
図1を参照すると、個人I又は物体の認証の一実施形態が概略的に示されている。この認証は、例えばセキュアなサイトへのアクセス制御とすることができる。個人のバイオメトリック認証の非限定的な例が以下に述べられる。
【0022】
データベースDBは、例えば、サイトに入ることを認可されているか又は逆にその存在がこのサイト上で禁止されているような、記憶された個人の一組のN個のインデックス付きバイオメトリックデータb
iを含む。ただし、iは0〜N−1である。
【0023】
このデータベースDBは、適切なコンピュータプログラムによって実行される計算手段を装備した管理サーバSGにリンクされている。
【0024】
個人Iは制御サーバSCを用いて認証される。この制御サーバも、適切なコンピュータプログラムによって実行される計算手段を装備するとともに、個人に特有のデータ、特にバイオメトリックデータbの取得及び処理のための手段を備えている。
【0025】
周知のように、データbは、個人の顔、若しくは指紋、更には虹彩等のバイオメトリック特性のディジタル化されて符号化された画像、又はこれらのデータのうちの幾つかを組み合わせたものに由来することができる。非限定的な例として、個人Iの虹彩のディジタル取得の場合が以下に述べられる。
【0026】
また、データbを個人の身分証明書にディジタル形式で記憶することもできる。
【0027】
個人のデータb及びベースのデータb
0〜b
N−1は、比較可能であるように同じ種類でなければならない。特に、それらのデータが含む情報は、同じバイオメトリック特性、本例では虹彩に関するものでなければならない。
【0028】
この場合、データベースDBは、虹彩の各データb
iについて、対応するマスク符号m
iも含むことができる。制御サーバは、虹彩の画像bに対応するマスク符号mを取得することができるか、又はマスク符号mを得ることを考慮してデータbを処理することができる。これらのマスク符号は、虹彩の可視ゾーン、したがって利用可能なゾーンを示す。これらのゾーンは、通常は瞼によってマスクされないゾーンである。
【0029】
マスク符号m及びm
iは、
図1、
図5、
図6では括弧内に示されている。なぜならば、それらのマスク符号はオプションであり、通常は認証プロセスが虹彩データに基づいて行われる場合にのみ用いられるからである。
【0030】
同様に、制御サーバは、個人Iから取得された虹彩の画像から、虹彩の可視部分に対応するマスク符号mを生成する。
【0031】
これらのタイプのデータは、一般に多くの情報を含み、通常は256オクテット、すなわち2048ビットのフォーマットで符号化される。以下、データb及びb
iのビット数はnと示される。
【0032】
次に、認証プロセスの一実施形態について、
図2を参照して説明する。
【0033】
各認証プロセスの前に、管理サーバSGは、制御サーバSCが認証の履歴及び認証と当該認証に用いられたバイオメトリックデータとの対応関係に関する情報を記憶することができないように、ベースからの一組のデータb
iをランダムに再インデックス付けする(ステップ10)。
【0034】
ステップ100において、制御サーバSCは、個人のデータbの取得を進める。次に、制御サーバSCは、ベースのN個のバイオメトリックデータの第1の高速フィルタリングステップ200を開始し、bと最も多くの類似点を有するp個のデータを識別する。pはNよりも小さく、サーバSCとSGによって前もって固定されている。
【0035】
・高速フィルタリング
このステップの計算時間を最小にするために、制御サーバSCとデータサーバSGは、ステップ210において、通常はデータb及びb
0〜b
N−1のサイズを削減することによって、これらのデータを簡略化する。
【0036】
例として、データが2048ビットで符号化された虹彩画像である場合、サーバSCとSGは、データのサイズを128ビットに削減することができる。これを達成するために、サーバSCとSGは、集合{1,...,n}の部分集合であるインデックス集合Aの要素によってインデックス付けされたデータb及びb
iのビットがデータの上位にくるように、Aについて合意することができる。Aの基数はtで示され、tはnより小さい。上記の例の場合、nは2048であり、tは128である。
【0037】
サーバSGとSCは、Aによってインデックス付けされたb及びbiのビットを含む簡略化データs及びs
iを生成し、データs及びs
iはnの代わりにtビットでまず符号化される。ただし、iは0〜N−1である。
【0038】
これらの簡略化データを用いると、サーバSCとSGは、sと各s
iとの間で、ベースDBにおいてsに最も近いp個の簡略化データs
iを識別するための1:1のN個の比較演算を実行することができる。ただし、iは0〜N−1である。バイオメトリックデータの比較の数学関数は、当業者によって知られている。
【0039】
データが虹彩画像である場合、例えば、sと各s
iとの間のハミング距離D
iを計算することが可能である。ハミング距離は、2つの比較されるデータ間のインコヒーレントなビットの数である。同様のフィルタリング技法は、F. Hao、J. Daugman、P. Zielinski「A fast search algorithm for a large fuzzy database」(IEEE Transactions on Information Forensics and Security, 3(2), 2008)という文献に記載されている。
【0040】
この場合、sに最も近いp個のデータは、sからの最小のハミング距離を有するp個のデータである。
【0041】
フィルタリングステップはセキュアに行われる。すなわち、サーバSGとSCが相手方のデータに関する情報(各個人のバイオメトリックデータb又はベースのバイオメトリックデータb
i)を得ることがないように行われる。
【0042】
そのようにするために、以下の
図5に関するフィルタリングステップのセキュア化の説明において説明する、Yaoプロトコルを利用したセキュアなマルチパーティ計算の方法を用いることができる。
【0043】
最初に、Yaoプロトコルにおいて用いられる2つの前提条件である紛失通信及びガーブル回路を説明する必要がある。
【0044】
・紛失通信
Yaoプロトコルは、2つのパーティP1とP2の間の計算動作である紛失通信を用いる。
【0045】
このタイプの動作では、P1はN個のインデックス付き要素X
iのリストを有している。P2はこのリストの要素数Nを知っており、0〜N−1の間のインデックスiを選択する。紛失通信を介して、P2は、P1の第i要素、すなわちiによってインデックス付けされたP1の要素を回復する。
【0046】
P1は、P2によって回復される要素のインデックスに関する情報を知ることはない。
【0047】
P2自体は、P1が保持するリストの他の要素に関する情報を取り出すことはない。
【0048】
・ガーブル回路
また、Yaoプロトコルはガーブル回路を用いる。
図3はそのようなガーブル回路の一実施形態を示している。
【0049】
ガーブル回路の図は、
図3のaに例として示されているが、手短に言えば、このガーブル回路は、評価対象の関数のベースバイナリ計算回路から得られる暗号化されたバイナリ回路である。この回路は一連の要素論理ゲートに分解される。
図3のaに示すバイナリ回路の図は、それぞれバイナリ値0又は1を取ることができる2つの入力x及びyと、同様にバイナリ値0又は1を取ることができる出力zとを備える要素関数「AND」のみを含む。
【0050】
慣例として、各論理ゲートは、出力と入力との間の論理的関連を設定する真理値表を用いて属性を与えられる。論理関数「AND」の真理値表は、
図3のbに例として示されている。
【0051】
この関数の評価のセキュア化を確実にするために、各要素論理ゲートの各可能な入力及び各出力は、ガーブル回路の作成者によって、各入力又は出力に特有の2つの可能なブール値に対応する暗号鍵のランダムな対によって暗号化される。例えば
図3のcでは、xが取ることができるバイナリ値0及び1は、対応する鍵k
x0及びk
x1によって置き換えられ、y及びzが取る値についても同様である。
【0052】
これによって、入力及び出力のバイナリ値が暗号鍵によって置き換えられた真理値表が生成される。
【0053】
次に、各論理ゲートの出力が、対応する入力の値による暗号鍵によって暗号化され、暗号化された真理値表、すなわち
図3のdのガーブル真理値表が得られる。
【0054】
したがって、例えば関数ANDの場合、zの値0に対応する暗号鍵k
z0は、x及びyが1に等しくない全ての場合に現われる。しかしながら、この鍵k
z0は、x及びyが取る値に従って同じ方法で暗号化されない。実際、x及びyがともに0である場合、鍵k
z0は、鍵k
x0及びk
y0によって暗号化される。この暗号化された鍵は、
【数1】
と示される。
【0055】
最後に、入力鍵が表から除去され、各出力について得られた鍵が
図3のeのようにランダムに並べ替えられ、その結果得られる暗号化及びスクランブルされた真理値表が、実際にガーブル回路と呼ばれるものである。
【0056】
暗号鍵から回路の関数を評価するために、評価対象の関数の結果の暗号鍵と、ビットの対応する値との間の相関表Tが、回路の作成者によって生成される。
【0057】
・Yaoプロトコル
最後に、Yaoプロトコルは、幾つかのパーティが、彼らが有するデータの性質を互いに共有することなく、これらのデータから計算を行うセキュアな計算の方法である。
【0058】
これを達成するために、これらのパーティのうちの1つは、上記で説明したように、評価対象の関数のガーブル計算回路と、この回路の論理ゲートの入力ビット及び出力ビットのそれぞれの暗号鍵の対(バイナリ値0について1つ及びバイナリ値1について1つ)とを作成する。ガーブル回路の作成者は、関数の結果の暗号鍵と結果それ自体とから相関表Tも生成する。
【0059】
その後、ガーブル回路の作成者は、ガーブル回路、相関表、及び作成者に属する入力データのビットの暗号鍵を、他のパーティ(又は他の複数のパーティ)に送信する。
【0060】
このように、回路の作成者の0(1)に等しい各入力ビットxについて、作成者は暗号鍵k
x0(k
x1)しか送信しない。これらの鍵はランダムであるので、ガーブル回路の各ユーザは、作成者が保持するデータの対応するビットに関する情報を得ることはできない。
【0061】
また、ガーブル回路の各ユーザは、作成者からの紛失通信によって、彼らが有する関数の入力データのビットに対応する鍵を回復する。
【0062】
したがって、作成者は、ユーザの各入力ビットyについてk
y0及びk
y1からなる2つの要素を有するリストを準備し、紛失通信用にユーザによって選択されるインデックスは、ビットyの値である。
【0063】
紛失通信方法に依拠することによって、作成者は回路のユーザのデータのビットの値に関する情報を得ることがなくなる。
【0064】
最後に、ガーブル回路のユーザは、自身が得た鍵によって関数を評価することができ、自身が関数の出力において得た結果を相関表によって変換することができる。オプションとして、ユーザは結果を回路の作成者に送信することもできる。
【0065】
再び高速フィルタリングステップ200を参照すると、ベースの簡略化されたバイオメトリックデータs
iのフィルタリングを実行するために、制御サーバSCと管理サーバSGは、フィルタリング関数のセキュアな計算にYaoプロトコルを用いる。フィルタリング関数を構成する要素は
図4に示されている。このステップの実行は、
図5に図式的に表されている。
【0066】
ステップ220において、管理サーバSGは、関数fを表すガーブル回路C(
図5ではC(f)で示されている)を作成する。この回路は、2つのデータ間のハミング距離を計算すること、及び複数のハミング距離を比較してp個の最小の距離を識別することの双方を実行する。
【0067】
ハミング距離を計算する関数は、当業者によって知られている。この関数は
【数2】
で示される。
【0068】
このように計算されるハミング距離は、
図4dに示す論理演算によって互いに比較される。これらの演算は、
図4a、
図4b、及び
図4cに示す部分関数を含む。
【0069】
図4aにおいて、関数X’は、3つの入力ビットx
i、y
i、及びcを備える関数であり、cが0である場合には出力(x
i,y
i)を生成し、cが1である場合には出力(y
i,x
i)を生成する。この関数X’は、
図4bにおいては、その入力が複数の入力ビットx
i,y
iを含むデータである関数MUX’に一般化されている。
【0070】
図4cは、「2−1」と呼ばれる比較関数を示している。この比較関数は、入力として、簡略化データs
0及びs
1と個人のデータsとの比較のための、この場合D
0及びD
1で示される2つのハミング距離を有する。この比較関数は、出力において、2つの比較されたものの間の最小ハミング距離を与える。
【0071】
これを行うために、この比較関数は、その出力が連続した関数MUX’の入力cである(D
0がD
1よりも大きい場合には1であり、そうでない場合には0である)比較関数「>」を用いる。
【0072】
最後に、
図4dを参照すると、ハミング距離D
iの一般的な比較関数が、全ての距離がケース「2−1」の連続したレベルにおいて2つ一組で互いに比較され、第1のレベルの最小距離が次のレベルの比較の入力である従来のソート方法を実施している。
【0073】
この論理図の最後において、比較されたN個の距離から最小距離D
minが得られる。この比較ステップはp回反復され、各回は先行ステップにおいて識別された最小距離を除外し、最終的にp個の最小距離D
iが得られる。
【0074】
ガーブル回路Cが生成されると、管理サーバSGは、関数fの各入力から暗号鍵をそれぞれ作成するとともに、関数fの各要素論理演算の出力の暗号鍵をそれぞれ作成する。或る論理演算の出力は、後続の論理演算の入力である。管理サーバは、特に各簡略化データs及びs
iのビットごとに暗号鍵の対を生成する。
【0075】
最後に、管理サーバSGは相関表Tを生成する。ただし、従来のYaoプロトコルとは逆に、この相関表は、評価対象の関数の出力の鍵に関係せず、各演算「2−1」のハミング距離の比較ステップ「>」からの出力に関係している。
【0076】
管理サーバSGは、ガーブル回路C、相関表T、及びベースDBの簡略化バイオメトリックデータs
iのビットの暗号鍵を制御サーバSCに送信する。これらの暗号鍵は、各データs
iのビットuについて、ビットuの値に応じてk
0(s
ui)又はk
1(s
ui)で示される。この一組の暗号鍵は、
図5では、より単純にk(s
0),...k(s
N−1)で示されている。
【0077】
また、制御サーバSCは、紛失通信によって、個人sの簡略化バイオメトリックデータのビットの暗号鍵k(s)を取り出す。
【0078】
ステップ230において、制御サーバSCは、ガーブル回路C及び鍵kによって、ベースの簡略化データs
iと個人の簡略化データsとの間で比較関数を評価することによって、個人のデータsと最も多くの類似点を有するp個のデータs
iを識別することができる。
【0079】
制御サーバSCは、比較ステップ「>」の出力の鍵の相関表Tしか有していない。そのため、制御サーバSCが得る結果は、適切な場合には、データに関する情報を制御サーバSCに提供する種々のハミング距離の値ではなく、選択されたp個のデータs
i0...s
ip−1のインデックスである。
【0080】
このフィルタリングステップが完了すると、サーバSCは、個人のデータsとの最小ハミング距離を有するp個の簡略化データ{s
i0,...,s
ip−1}のインデックスのリスト{i
0,...,i
p−1}のみを知る。そのため、制御サーバSCは、選択された簡略化データ{s
i0,...,s
ip−1}に関する情報を知ることはなく、ましてや、対応するベースのデータ{b
i0,...,b
ip−1}に関する情報を知ることはない。
【0081】
したがって、管理サーバSGは、個人の簡略バイオメトリックデータsに関する情報を得ることはなく、ましてや、元のデータbに関する情報を得ることはない。
【0082】
・比較及び選択
比較及び選択のステップ300は、高速フィルタリングステップ200において識別された簡略化データ
【数3】
に対応するデータ
【数4】
に対して実行される。ただし、jは0〜p−1である。その目的は、個人のバイオメトリックデータに最も近いp個の簡略化データから、個人のデータとの類似点が所定の閾値ηを超える1つ又は複数のデータが存在するか否かを判断することである。
【0083】
当業者によって知られているように、この閾値は、誤検出(偽陽性)及び検出漏れ(偽陰性)の最適な比率を有するバイオメトリックデータの対応関係を設定するように選択される。
【0084】
Yaoプロトコルと同様に、管理サーバSGは、ステップ310において、対応するスクランブルされたデータのみを用いて、p個のガーブル回路C0...Cp−1を作成する。各ガーブル回路は、事前に選択されたバイオメトリックデータ
【数5】
(jは0〜p−1)と、その対応するマスク
【数6】
とを用いて、比較関数f’を評価するのに用いられる。
【0085】
比較及び選択のステップ300において利用される比較関数f’は、フィルタリング200に利用される関数fとは別個のものである。
【0086】
バイオメトリックデータが虹彩画像である場合、比較関数f’は正規化されたハミング距離とすることができる。正規化されたハミング距離とは、2048ビット符号で計算され、虹彩画像に関連付けられたマスク、すなわち通常は瞼によってマスクされて比較には関係しない虹彩のゾーンを示す符号を考慮に入れたハミング距離である。
【0087】
正規化されたハミング距離に関するより多くの情報を得るためには、J. Daugman「How Iris Recognition Works」(IEEE transactions on circuits and systems for video technology, Vol. 14, No. 1, JANUARY 2004)という文献に記載されているDaugman法を参照することができる。
【0088】
X及びYが2048ビットで符号化された2つの虹彩画像を示し、m(X)及びm(Y)がそれらの虹彩画像に関連付けられたマスクを示す場合、正規化されたハミング距離は、
【数7】
となる。
【0089】
したがって、このステップの目的は、高速フィルタリングステップにおいて事前に選択された全てのデータ
【数8】
について、
【数9】
を計算し、
【数10】
となるデータを保持することである。ここで、εはハミング距離の比較のための所定の閾値である。もちろん、比較結果が超えなければならない類似閾値ηは、ハミング距離の計算による比較の場合の閾値εと反比例する。なぜならば、後者の閾値は、データ間の類似点ではなく相違点を数え上げるからである。
【0090】
計算を最適化するために、回路C
jは、好ましくは
【数11】
ではなく、比較
【数12】
を行うように構築される。ただし、jは0〜p−1である。
【0091】
管理サーバSGは、各回路Cjについて、各論理ゲートの入力及び出力の暗号鍵k、並びに関数の出力鍵の相関表Tを生成する。特に、各論理ゲートの入力及び出力の暗号鍵kは、評価対象の関数の各入力ビット、すなわちデータb及びベースのデータbiの各入力ビットの暗号鍵の対を含む。
【0092】
管理サーバSGは、ガーブル回路C
jと、これらの回路のそれぞれの相関表T
jとを制御サーバSCに送信する。
【0093】
制御サーバSCは、紛失通信によって、各ガーブル回路について、個人Iのバイオメトリックデータbのビットの暗号鍵を取り出す。
【0094】
最後に、制御サーバSCは、選択されたベースのデータ
【数13】
の値と、対応する鍵とを、これらのデータに関する情報を知ることなくそれらの値を個人のデータbと比較することができるように取り出さなければならない。
【0095】
これを行うために、管理サーバSGは、ステップ320において、一組のデータb
iをまずスクランブルし、スクランブルされたデータb’
iを得る。
【0096】
より正確には、管理サーバSGは、選択された簡略化データ
【数14】
に対応するp個の基準データ
【数15】
のそれぞれについて、またこのデータのバイナリ表現におけるビットの各可能な位置uについて、{0,1}のランダム置換
【数16】
を生成し、このランダム置換
【数17】
をベースのN個のデータb
iのそれぞれの位置uのビットに適用して、ベースの初期データ(bi)に対応するスクランブルされたデータのp個のベースを作成する。これらのベースは、
【数18】
で示すことができる。ここで、任意のu:1〜n及び任意のk:0〜N−1について、
【数19】
となる。
【0097】
{0,1}置換は、データb
iのビットについて、ビット(1,0)のバイナリ値をそれらの逆の(0,1)に変換するか又はビットの値を維持するかの2つの結果のみを有することができる。
【0098】
同様に、管理サーバは、マスクm
iをスクランブルして、スクランブルされたマスクm’
iを作成することができる。
【0099】
制御サーバSCは、紛失通信を通じて、スクランブルされたデータ
【数20】
すなわち、インデックスi
jのそれぞれの置換によってスクランブルされたインデックスi
jのデータを取り出す。ただし、jは0〜p−1である。選択されたデータ
【数21】
に対応するスクランブルされたデータは、
【数22】
で示される。他のスクランブル方法も実施可能である。
【0100】
制御サーバは、選択されたデータに関する情報を得ることはなく、管理サーバSGは、これらのデータのインデックスに関する情報を得ることはない。
【0101】
次に、管理サーバは、制御サーバがスクランブルされたデータ
【数23】
を用いてガーブル回路を評価することができるようにするために、対応する暗号鍵をスクランブルする。
【0102】
管理サーバSGによってベースのデータb
iのビットuについて生成された暗号鍵は、ビットuのバイナリ値の関数として、それぞれk
0(b
ui)又はk
1(b
ui)で表される。
【0103】
スクランブルされたデータ
【数24】
のビットについて、対応するスクランブルされた鍵は、ビットuのバイナリ値0又は1の関数として、
【数25】
及び
【数26】
となる。これらの暗号鍵を用いると、
【数27】
という関係が存在するので、制御サーバSCは、スクランブルされた関数から計算を実行することができる。
【0104】
最後に、管理サーバは、紛失通信によって、スクランブルされたバイオメトリックデータの各ビットのそれぞれについての暗号鍵
【数28】
又は
【数29】
(
図6では、より簡単にk’(b’i
0...b’i
p−1)で示されている)を、これらのビットの各バイナリ値の関数として取り出す。
【0105】
最後に、管理サーバは、得られた暗号鍵からステップ330において関数を評価し、スクランブルされたデータ
【数30】
に対応するバイオメトリックデータ
【数31】
が所定の閾値ηを上回るbに対応するか否かを出力する。
【0106】
ガーブル回路C
jに関して行われた一組の評価の発行時に、制御サーバSCは、存在する場合には、個人のデータに対応するベースに記憶されたバイオメトリックデータb
iのインデックスiを有する。サーバは、ベースの幾つかのデータが個人Iのデータに対応する場合には、幾つかのインデックスを有することもできる。
【0107】
制御サーバSCは、ステップ400において、得られたインデックスi
IDを管理サーバSGに通信し、管理サーバSGは、バイオメトリックデータb
IDと、個人Iとして認証されている記憶された対応する個人とを認証する。
【0108】
例えば、この認証システムがアクセス制御の行われるゾーンの上流に配置される場合、制御サーバSC又は管理サーバSGは、そのゾーンへの個人Iのアクセスを認可又は不認可することができる。
【0109】
したがって、本発明によるプロセスによって、簡略化されたバイオメトリックデータに対して実行される高速フィルタリングステップに起因して、これまでに提案されたプロセスよりも高速の認証が可能になる。
【0110】
それにもかかわらず、本発明によるプロセスは、高速フィルタリングステップの後の選択されたデータをスクランブルするステップに起因して、全く安全なままである。
【要約】
本発明は、個人又は物体の認証プロセスに関する。システムは、制御サーバと、N人の記憶された個人のN個のインデックス付き基準データを含むデータベースの管理サーバとを備える。
個人又は物体を認証するために、当該個人又は物体のデータが、ベースのN個のデータのそれぞれと比較される。
このプロセスは、
− 制御サーバが認証される個人又は物体のデータを取得するステップと、
− ベースの基準データ及び認証される個人又は物体のデータが、より小さなサイズの簡略化データに変換されるステップと、
− データベースのN個の簡略化データのそれぞれと、認証される個人又は物体の簡略化データとの間でセキュアに、認証される個人又は物体の簡略化データと最も多くの類似点を有するベースの簡略化データの一組のp個のインデックス、ただしpはN未満と、
− 管理サーバが、データベースのN個の基準データをスクランブルし、事前に識別された簡略化データに対応するp個のスクランブルされたデータを制御サーバに転送するステップと、
− 制御サーバが、p個のスクランブルされたデータから、当該p個のスクランブルされたデータのそれぞれと、個人又は物体のデータとの間のセキュアなマルチパーティ計算によって、対応する基準データが個人又は物体のデータとの所定の閾値を超える類似率を有する、1つ又は複数のスクランブルされたデータの単数又は複数のインデックスを求めるステップと
を含む。