説明

安全な閾値復号プロトコル計算

本発明は、暗号化されたデータセットを、前記データセットを表す個々のビットの暗号へと変換する方法に関する。また、本発明は、暗号化されたデータセットを、前記データセットを表す個々のビットの暗号へと変換するシステムに関する。本発明の基本的な考えは、数x、x∈{0,1,...,n−1}のような、例えば生体特徴の形態のデータセットの暗号を、xについての情報やそのビットx,x,...,xt−1を漏らすことなく、数xを形成するビットx,x,...,xt−1の個々の暗号へと分解することが可能なプロトコルを提供することである。従って、本発明は、暗号化された数x=Σi=1を形成するそれぞれの暗号化されたビットビット[[x]],[[x]],...,[[xt−1]]への暗号[[x]]のスプリッティングを可能とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、暗号化されたデータセットを、前記データセットを表す個々のビットの暗号へと変換する方法に関する。また、本発明は、暗号化されたデータセットを、前記データセットを表す個々のビットの暗号へと変換するシステムに関する。
【背景技術】
【0002】
セキュリティ保護型の多数共同計算スキームでは、互いを必ずしも信用していないプレイヤとも称される参加者の集合は、私的なデータを明らかにすることなく、関数の出力が正確に算出されていることを確保しつつ、私的なデータを関数の入力として用いることにより共通の関数を算出したいと望む。例えば、広く知られたミリオネアのプロトコルでは、二人の億万長者は、自身の財産に関する如何なる情報も明らかにすることなく、いずれがお金持ちであるかを知りたい。二人の億万長者は、私的なデータ(即ちそれぞれの億万長者の財産)を公共の関数に与え、関数は、私的なデータに関する如何なることも明らかにすることなく、二人のいずれがお金持ちかを示す変数を出力する。
【0003】
セキュリティ保護型の多数共同計算スキームで用いられる技術は、プレイヤの集合の間でプライバシーを保護する演算を実行するのに非常に適している。これらの技術は、例えば、セキュリティ保護されたオークション、セキュリティ保護されたプロフィールマッチング、セキュリティ保護された電子投票、セキュリティ保護された生体認証のような技術分野で実行されている。準同型閾値暗号システムに基づくセキュリティ保護型の多数共同計算用の効率的なアルゴリズムは、非特許文献1に記載されている。
【0004】
物理的対象の認証は、セキュリティ保護された建物への条件付のアクセスやデジタルデータ(例えば、コンピューターや取り外し可能な記憶媒体に記憶されたもの)への条件付アクセス、若しくは、識別目的(例えば、特定の行動に対する識別された個人への課金や、入国のため)のような、多くの用途で使用することができる。指紋、虹彩、耳、顔等のようにユーザに固有な特徴が用いられる識別及び/又は認証のための生物測定学の使用は、パスワードやピンコードのような従来の識別手段や、例えば個人と写真の間の可視的な比較を伴う“マニュアル型”の識別方法に対して、より良い代替物として広く考えられるようになっている。
【非特許文献1】LNCS Springer-Verla 2004出版の B.SchoenmakersとP.TuylsによるAsiacrypt 2004における”Practical Two-Party Computation based on the Conditional Gate” の119−126頁
【発明の開示】
【発明が解決しようとする課題】
【0005】
従来における解決すべき問題は、数x、x∈{0,1,...,n−1}のような、例えば生体特徴の形態でのデータセットの暗号を如何にして、xについての情報やそのビットx,x,...,xt−1を漏らすことなく、数xを形成するビットx,x,...,xt−1の個々の暗号へと分解するかである。ここで、tは、数n−1のビットの数である。かかるアルゴリズムの適用は、膨大であり、例えばセキュリティ保護型の共同素数判定法、セキュリティ保護型の階乗、生体センサの計算及び通信の低減、投票プロトコルにおける計算負荷の低減等である。暗号化されたビット[[x]],[[x]],...,[[xt−1]]へと分割するプロトコルは、ビットスプリッティングプロトコルと称される。
【0006】
2005年6月23日のアーフス(Aahus)大学のI.Damgaard他による“How to Split a Shared Secret into Shared Bits in Constant-Round”では、同様の問題が扱われている。しかし、無条件のセキュリティ保護設定が採用されている。この開示では、ここで記載されるセキュリティ保護型の多数共同計算に参加するプレイヤが、ビット表現が安全に決定されるべきバイナリデータセットのシェアへのアクセスを有していることが、想定されている。その結果、プレイヤは、バイナリデータセットを形成するビットのシェアで終わり、完全なバイナリデータセットを成すために他のプレイヤを伴う必要がある。
【0007】
本発明の目的は、上述の問題点を解決し、安全なビットスプリッティングを実行する方法/装置、即ち、暗号化された数xを、その数を形成するビットの暗号[[x]],[[x]],...,[[xt−1]]へと準同型暗号化の特性を用いて変換する方法/装置を提供することである。
【課題を解決するための手段】
【0008】
この目的は、請求項1による、暗号化されたデータセットを、前記データセットを表す個々のビットの暗号へと変換する方法、及び、請求項11による、暗号化されたデータセットを、前記データセットを表す個々のビットの暗号へと変換するシステムにより達成される。
【0009】
本発明の第1の局面によれば、乱数を生成し、前記乱数のビット単位の暗号を算出するステップと、
前記暗号化されたデータセットと前記暗号化された乱数とに基づいて、暗号化された合計値を安全に算出するステップと、
前記暗号化された合計値の復号を実行し、前記合計値のビット表現を求めるステップと、
前記暗号化された乱数により前記合計値を処理することによって前記暗号化されたデータセットを表す個々のビットの暗号を生成するステップとを含む、方法が提供される。
【0010】
本発明の第2の局面によれば、共同して、乱数を生成し、前記乱数のビット単位の暗号を算出するよう構成された少なくとも第1及び第2の計算装置を含むシステムが提供される。前記第1及び第2の計算装置の少なくとも1つの計算装置は、前記暗号化されたデータセットと前記暗号化された乱数とに基づいて、暗号化された合計値を算出するよう構成され、前記第1及び第2の計算装置は、共同して、前記暗号化された合計値の復号を実行し、前記合計値のビット表現を求めるよう構成される。また、前記第1及び第2の計算装置は、共同して、前記暗号化された乱数により前記合計値を処理することによって前記暗号化されたデータセットを表す個々のビットの暗号を生成するよう構成される。
【0011】
本発明の基本的な考えは、数x、x∈{0,1,...,n−1}のような、例えば生体特徴の形態のデータセットの暗号を、xについての情報やそのビットx,x,...,xt−1を漏らすことなく、数xを形成するビットx,x,...,xt−1の個々の暗号へと分解することが可能なプロトコルを提供することである。従って、本発明は、暗号化された数x=Σi=1を形成するそれぞれの暗号化されたビットビット[[x]],[[x]],...,[[xt−1]]への暗号[[x]]の分割(スプリッティング)を可能とする。
【0012】
これは、例えば生体認証において、数x=Σi=1として表現されるビットストリングの単一の初期の暗号化を可能とするので、効果的である。暗号化されたビットのストリングは、続いて、ユーザを認証するために対応性に対するチェックをなすことができるように、登録中に得られる暗号化された生体特徴と比較されてもよい。暗号化された生体データの実際の比較は、典型的には、2者(若しくは多数者)プロトコルにおいて認証装置と生体センサを係合することにより実行され、このプロトコルでは、暗号化されたデータの2つのセットが、例えばハミング距離を用いて、2つのセット間で(十分な)対応性があるか否かを見るため、互いに比較される。
【0013】
プロトコルの参加者は、プレイヤと称される。プレイヤは、共同して、この乱数を生成し、この乱数のビット単位の暗号化を実行する。好ましくは、乱数の暗号化は、乱数の暗号が正確に算出されていることを示すように構成された公的に検証可能な証明により実行される。暗号化された乱数と暗号化されたデータセットに基づく合計値は、準同型暗号化スキームを用いて暗号化される。用語“準同型(homomorphic)”は、[[x+y]]=[[x]][[y]]、即ち(x+y)の暗号がxの暗号とyの暗号の積に等しいことを意味する。
【0014】
暗号化された合計値が算出された後、プレイヤは、閾値復号プロトコルを実行し、乱数の特徴を持つ合計値の平文複写を得、この合計値に対してビット表現が決定される。次いで、プレイヤは、共同して、ビット表現を用いて合計値の平文複写から乱数の暗号化されたビットを減算する。この演算は、データセット[[x]]のビット表現[[x]],[[x]],...,[[xt−1]]を生成する。
【0015】
本発明は、暗号[[x]],[[x]],...,[[xt−1]]が全てのプレイヤに利用可能であるので、効果的であり、これらのプレイヤは、他のプレイヤを伴うことを要せずに、続く計算のためにこれらの暗号を用いることができる。本発明は、無条件の設定に代えて暗号の設定におけるこの問題を解決する。更に、本発明は、暗号化されるデータセットが個人の生体特徴から抽出されることを想定する場合、例えば生体センサの、計算及び通信負荷の低減を可能とする。
【0016】
本発明の更なる特徴及び効果は、添付の請求項及び次の説明を検討するときに明らかになるだろう。当業者であれば、本発明の異なる特徴は後述以外の実施例を生成するために組み合わせることができることを理解するだろう。
【発明を実施するための最良の形態】
【0017】
本発明の好ましい実施例が添付図面を参照して詳説される。
【0018】
本願で説明されるセキュリティ保護型の多数共同計算を実行するために、PaillierやEL Gamalのような、準同型閾値暗号化システムが使用される。用語“準同型”は、[[x+y]]=[[x]][[y]]、即ち(x+y)の暗号がxの暗号とyの暗号の積に等しいことを意味する。また、この用語は、任意のxとaに対して、[[x]]=[[x*a]]を意味する。用語“閾値”は、t人以上のプレイヤの任意の集合が一緒になって暗号文を復号できるがより小さい如何なる集合は暗号文を復号できないように、l人のプレイヤの1集合中の各プレイヤが秘密鍵のシェアにアクセス権を有することを意味する。
【0019】
本発明は、効果的には、ユーザの生体特徴が参照データと比較される生体認証システムで採用されてもよい。整合が生じた場合には、ユーザが識別され、アクセスが得られる。ユーザ用の参照データは、事前に取得されており、例えばセキュリティ保護されたデータベースやスマートカードに、安全に保管される。認証されるべき物理的な対象は、非人間であってもよい。例えば、対象は、保護されたデジタルコンテンツを含む固体メモリやCD,DVDのような記憶媒体であってもよい。この場合、生体は必ずしも用いられないが、同様の態様で、秘匿に維持されるべき(例えばビットシーケンスの、形態で)識別用特徴が付与され、対応する参照データと比較される。
【0020】
認証時、ユーザは、ある識別子(アイデンティティー)を有することを要求し、供された生体テンプレートが、要求された識別子にリンクされた記憶された生体テンプレートと比較され、記憶されたテンプレートと記憶されたテンプレートの間の対応性が確認される。識別時、供された生体テンプレートが、記憶された全ての利用可能な生体テンプレートと比較され、記憶されたテンプレートと記憶されたテンプレートの間の対応性が確認される。尚、生体データは、個人の識別子の好適な表現物であり、個人に関連付けられた生体データの未認証の取得は、個人の識別子を盗むことと電子的に等価である。ハッカーは、個人を識別する適切な生体情報を取得した後、ハッカーが取得した識別子の個人を装うことができる。更に、生体データは、健康状態に関する繊細な私的情報を含んでいる場合がある。従って、生体認証/識別システムを採用する個人の保全性は守られなければならない。
【0021】
生体暗号システムでは、公開鍵暗号が採用され、2人(若しくはそれ以上)のプレイヤ、例えばユーザと認証者(若しくは多数の認証者)は、同一の公開鍵にアクセス権を有する。また、ユーザ及び認証者は、それぞれ、対応する秘密鍵を有する。秘密鍵のシェアが復号に用いられる。
【0022】
ユーザは、自身のシェアを(例えばスマートカードで)携帯してもよいし、若しくは、シェアは、ユーザが対話する対象の例えば生体識別システムのセンサ内に記憶されてもよい。登録中、生体識別子を現すビット列x,x,...,xt−1が取得され、番号xに変換され、
【0023】
【数1】

共有の公開鍵で暗号化される。数xの暗号[[x]]は、次いで、認証者に渡り、認証者がそれを保存する。尚、認証者は、秘密鍵の自身のシェアにアクセス権を有するだけでユーザのシェアにアクセス権を有していないので、暗号化された数を復号できない。従って、生体識別子の平文表現xは、認証者に対して隠されたままである。尚、認証者は、好ましくは、整合性の計算を共同して安全に実行する幾つかのサーバーからなる。サーバーのそれぞれは、秘密鍵のシェアを有する。十分な数のサーバーが共同する場合だけ、復号を実行することができる。
【0024】
認証中、生体識別子の雑音のある表現yがシステムのセンサで得られる。尚、このセンサは、必ずしも登録で用いたセンサと同一である必要はなく、典型的には、限られた計算資源を有する低コストのセンサである。典型的には、認証用センサは、登録用センサから遠隔にある。例えば、一回だけ実行される登録は、より大きなチェーン店に含まれる任意のDVD/ビデオ店の形態の登録権限所有者で実行されてもよいが、認証は、典型的には、ユーザがDVDを借りる特定の店で実行される。この店は、実際の認証者として見立てることができ、そこで、ユーザは認証されることになる。ユーザを認証するプロセスは、ユーザがDVDを店で借りる度に毎回実行される。認証用センサは、共有の公開鍵でyを暗号化する。続いて、安全な認証サーバーは、暗号化された数[[y]]を、数yを形成するそれぞれのビットの暗号[[y]],...,[[yt−1]]へと変換する。次いで、暗号化されたビット表現[[x]],...,[[xt−1]]と[[y]],...,[[yt−1]]が安全な方法で比較される。従って、ユーザが認証されることができるに、対応性のチェックがなされる。
【0025】
本発明の一実施例では、x∈{0,1,...,n−1}である数xが暗号化されることが想定される。暗号化用に採用されるプロトコルの入力は、暗号[[x]]により表され、出力は[[x]],...,[[xt−1]]で表され、ここで、tは、数n−1のビット長を指す。プロトコルの参加者は、プレイヤと称される。
【0026】
先ず、典型的には安全なサーバーの集合の形態で具現化される、プレイヤは、共同して、0≦r<nの乱数を生成し、乱数のビット単位の暗号化[[r]],...,[[rt−1]]を実行する。
【0027】
【数2】

従って、r=9とすると、r=1、r=0、r=0、r=1である。その結果、r=1*2+0*2+0*2+1*2=1+0+0+8=9である。2つの安全なサーバーが採用される場合、2つのサーバーは、共同して、乱数ビットを生成及び暗号化する。例えば、rに対して、第1サーバーは、[[r’]]を算出し、第2サーバーは、[[r”]]を算出する。次いで、[[r]]=[[r’^r”]]が安全に算出され、ここで、記号^はXOR(排他的論理和)演算を指す。この手順は、乱数の全てのビット[[r]],...,[[rt−1]]に対して実行される。
【0028】
暗号化は、暗号化されたビットが正確であることを示すように構成された必要なゼロ知識証明により達成される。かかる証明を算出する多数の異なる技術が存在する。EL Gamal(エルガマル)設定では、証明は、次のように算出されてもよい。秘密鍵α=loghとすると、復号は、あるメッセージm∈Zに対してgに等しいb/aαを計算することにより実行される。暗号化は、共通の秘密鍵hで計算される一方、復号は、プレイヤ間の共同プロトコルを用いて実行され、それぞれのプレイヤは、秘密鍵α=loghのシェアを保持する。プレイヤは、分散型の鍵生成プロトコルを実行することによりシェアを得る。
【0029】
分散型の鍵生成は、プレイヤP,P(例えば生体センサ及び認証者、若しくは、第1及び第2サーバー)に先ずコミットメントc=gα(i=1,2に対してα、r∈Z)をブロードキャストさせ、次いで、log(i=1,2に対してh=c/h)知識の証明と共に値rをブロードキャストさせることによって達成される。共同の公開鍵はh=hであり、秘密鍵α=α+αである。暗号(a,b)を復号するため、プレイヤPは、暗号化されたデータの平文複写に関する情報を明らかにすることなく、d=aαiを、log=logの証明、即ち、暗号化された出力データが正確であることを示すように構成された証明と共に、生成する。次いで、メッセージは、b/(a)から回復される。尚、Paillierシステムに対しては、手順は異なる。
【0030】
プレイヤは、暗号化されたビット[[r]],...,[[rt−1]]を生成した後、次の通り、暗号[[x+r]]を算出する。
【0031】
【数3】

これは、従来ゲートと称される制約付きの乗算ゲートや一般的な安全な乗算を用いて実行される。従来ゲートを用いると、2つの暗号化された値rとxは、rが2値の領域、例えばr∈{0,1}に制約される限り、効率的に乗算されることができる。xの値に制約はなく、例えばx∈Zn*である。暗号[[x+r]]は、必ずしも全てのプレイヤにより算出されることはなく、唯一のプレイヤ、例えば第1の安全なサーバーにより算出され、他のプレイヤ、例えば第2の安全なサーバーに分散されてもよい。
【0032】
次いで、プレイヤは、共同して、閾値復号プロトコルを実行し、平文でy=(x+r)のnによる剰余(mod)を算出する。数yを形成するデータにより、yは、また、乱数の特性を有し、平文表現x、rは、公開データでないことから、yから導出することができない。プレイヤは、yのビット表現を求め、共同して、このビット表現から、生成された乱数rの暗号[[r]]を減算する。これは、ビット単位の減算、即ちy−[[r]],y−[[r]],...,yt−1−[[rt−1]]により実現される。これは、他の暗号[[z]]を生み、暗号[[z]]は、(暗号化されたビットの)安全な減算回路を用いることによって、[[z]]=y−[[r]]として算出される。
【0033】
これは、zがサインビットであるとき、暗号化されたビット[[z]],...,[[zt−1]]により与えられる数z=x若しくはz=x−nのビット表現を生む。従って、サインビットに依存して、[[x]],...,[[xt−1]]若しくは[[(x−n)]],...,[[(x−n)t−1]]が取得される。プレイヤは、ビット表現を用いてzにnzを加えることによってnによるzの剰余を減らす。従って、ビット表現[[x]],...,[[xt−1]]が生成される。
【0034】
本発明のその他の実施例では、0≦x<2≪2<n、k≫mであり、従って、2≫2であることが想定される。暗号化用に採用されるプロトコルの入力は、同様に、暗号[[x]]により表され、出力は[[x]],...,[[xt−1]]で表される。この例示的な実施例では、xの最下位mビットx,x,...,xm−1をどのようにして求めるかが説明される。各プレイヤP、1≦i≦1は、r*,i∈R{0,1}でr’∈{0,...,2k−m−1}である乱数ビットr0,i,...,rm−1,iを選択し、これらのビットを暗号化し、暗号[[r0,i]],...,[[rm−1,i]]及び[[r’]]を、暗号化が正確に完了したことの証明と共に、分散する。
【0035】
プレイヤは、これらの暗号化されたビットを用いて、共同して、乱数ビットの暗号[[r]],...,[[rm−1]]を生成する。この場合、乱数ビットrの暗号は、安全な乗算ゲート及び乱数r’を用いて、次の通り安全に算出される。
【0036】
【数4】

ここで、乱数r’は、準同型暗号化特性を用いて、次の通り算出される。
【0037】
【数5】

プレイヤは、共同して、[[x−r]]を形成し、暗号[[x−r]]は、次いで、共同して、値y=x−rを明らかにするために閾値復号プロトコルを用いて復号される。
【0038】
【数6】

公開ビットy,...,ym−1は、に2よるyの剰余を指す。公開入力トy,...,ym−1及び[[r]],...,[[rm−1]]用の安全な付加回路は、m個の暗号化されたビット[[x]],...,[[xm−1]]の出力を生成するために使用される。2よるyの剰余を算出することによって、最終のキャリービットは無視される。
【0039】
図1は、個人に関連する生体データに基づく個人の識別及び認証用の基本的な従来技術のシステムを示し、このシステム内で、本発明が効果的に適用されることができる。指紋、虹彩、網膜、顔若しくは手の幾何学特徴、声の特徴等のような、個人の生の生体データは、センサ101にて取得される。典型的には、生体データを表すビット列x,x,...,xt−1がセンサにて取得される。取得されたデータ(即ち、生の平文データ)は、典型的には、デジタル信号プロセッサ(DPS)のような処理装置102で処理される。処理装置は、センサと一体であってよい。この処理は、共通の公開鍵で暗号化される数xへのビットの変換を伴う。数xの暗号[[x]](若しくはxのビットの暗号)は、次いで、サービスプロバイダのデータベース記憶装置103内にパス105を介して記憶される。これは、個人を登録するために、特定のシステムにアクセスを望む各個人に対して一回実行される初期の手続きである。
【0040】
続いて、個人がサービスへアクセスを望むとき、その個人は、センサ101に、平文の生体データy,...,yt−1を供給する。このデータは、次いで、暗号化の後、パス106を介して、データベース内に事前に記憶されている個人の生体データ[[x]]と比較される。比較装置104にて実行される比較時に、パス106と107を解して提供されるデータのセット間に整合があった場合には、その個人は、提供されるサービスへのアクセス権が付与される。比較を実行するとき、上述のビットスプリッティングプロトコルは、[[y]],...,[[yt−1]]と[[x]],...,[[xt−1]]の間でビット単位の比較をなすことができるように、記憶装置103に記憶される暗号化されたデータ[[x]]に対して実行される。
【0041】
従って、図1を参照するに、センサ101は、初期の特徴抽出セッションでは登録者として機能するが、続くセッションでは、センサは、比較装置104において、(パス106を介して)後に提供される生体情報yと(パス107を介して)初期登録された生体情報との間の対応性をチェックする認証者として機能する。上述の如く、図1の装置は、互いに遠隔に配置されてもよい。図1に示す種のシステムでは、センサ101は、典型的には、暗号化演算を算出するために比較的高出力である。高出力のセンサが用いられる場合、センサ101/処理装置102及び比較装置104は、共同して、本発明のビットスプリッティングプロトコルを実行する。
【0042】
図2は、個人に関連する生体データに基づく個人の識別及び認証用のその他のシステムを示し、このシステム内で、本発明が適用されることができる。ここで、登録用センサ210及び確認若しくは認証用センサ208は遠隔に配置される。図1においてと同様、取得されたデータ(即ち、生の平文データ)x,x,...,xt−1は、DPS202にて、数xへ変換され、共通の公開鍵で暗号化される。数xの暗号[[x]]は、次いで、データベース記憶装置203内に記憶される。続いて、個人がシステムにアクセスを望むとき、その個人は、認証用センサ208に、平文の生体データy,...,yt−1を供給する。次いで、このデータは、DSP209により数yに変換され暗号化される。従って、図2を参照するに、生体テンプレートxが事前に登録用センサ201に供給され、DSP202にて暗号化され、データベース記憶装置203内に暗号化された形態[[x]]で記憶されていると想定する場合、個人がサービスへアクセスを望むとき、その個人の生体テンプレートy(xの雑音のある表現)は、確認用センサ208(認証用センサとも称される)により抽出され、暗号化された複写[[y]]を生成するため、DSP209により暗号化される。典型的には、DSP209は、認証用センサ208に含まれる。この特定のシステムでは、センサ208が典型的には限られた計算能力しかない低コストのセンサであることから、本発明は、図1に示すシステムよりも効果的である。
【0043】
数[[x]]は、インターネットのようなネットワーク210をおそらくは介して、列を記憶する認証者211に渡される。認証者211は、また、典型的には、図2に示していないが、DSPを含む。尚、認証者は、秘密鍵の自身のシェアにアクセス権を有するだけでその個人のシェアにアクセス権を有していないので、暗号化された数を復号できない。従って、生体識別子の平文表現xは、認証者211に対して隠されたままである。本発明による安全なビットスプリッティングプロトコルは、認証者211で実行されることになる。セキュリティ性を改善するため、ビットスプリッティングプロトコルの実行は、安全なサーバー212,213の集合に外注される。従って、認証者211は、それぞれ生体データx、yの各セットの暗号[[x]]及び[[y]]によりサービスを提供する。
【0044】
上述の如く、安全なサーバー212,213は、共同して、0≦r<nの乱数を生成し、乱数のビット単位の暗号化[[r]],...,[[rt−1]]を実行する。乱数の暗号化は、暗号化されたビットが正確であることを示すように構成された必要なゼロ知識証明により達成される。サーバー212,213は、暗号化されたビット[[r]],...,[[rt−1]]を生成したとき、サーバー212,213(若しくは2つのサーバーのうちの少なくとも一方)は、次のように、暗号、[[x+r]]を算出する。
【0045】
【数7】

次いで、サーバー212,213は、共同して、閾値復号プロトコルを実行し、平文でy=(x+r)のnによる剰余を算出し、yのビット表現を決定し、共同して、このビット表現から、生成された乱数rの暗号[[r]]を減算する。結果として、他の暗号[[z]]が、[[z]]=y−[[r]]として算出される。
【0046】
これは、zがサインビットであるとき、暗号化されたビット[[z]],...,[[zt−1]]により与えられる数z=x若しくはz=x−nのビット表現を生む。従って、サインビットに依存して、[[x]],...,[[xt−1]]若しくは[[(x−n)]],...,[[(x−n)t−1]]が取得される。サーバー212,213の一方(若しくは双方)は、ビット表現を用いてzにnzを加えることによってnによるzの剰余を減らす。従って、ビット表現[[x]],...,[[xt−1]]が生成される。ビット表現[[y]],...,[[yt−1]]は、同様の態様で生成される。
【0047】
今度は、ビットスプリッティングプロトコルが実行されたとき、認証者211及び人商用センサ208は、暗号化された生体データを比較する任意の適切な方法、例えばID695459/NL041335に開示されるような方法を用いて、暗号化されたビット表現[[y]],...,[[yt−1]]と[[x]],...,[[xt−1]]の間に対応性があるか否かを見出す。
【0048】
本発明は、その特別な例示的な実施例を参照して説明されているが、多数の異なる代替、修正等は当業者には明らかである。記載された実施例は、それ故に、添付の請求項により定義される本発明の範囲を制限する意図でない。尚、上述した本発明の例示的な実施例によれば2つの安全なサーバーが共同してビットスプリッティングプロトコルを実行しているが、任意の数の安全なサーバーが、共同してビットスプリッティングプロトコルを実行するために採用されてもよい。
【図面の簡単な説明】
【0049】
【図1】個人に関連する生体データに基づく個人の識別及び認証用の基本的な従来技術のシステムを示し、このシステム内で、本発明が効果的に適用される。
【図2】個人に関連する生体データに基づく個人の識別及び認証用のその他のシステムを示し、このシステム内で、本発明が効果的に適用される。

【特許請求の範囲】
【請求項1】
暗号化されたデータセットを、前記データセットを表す個々のビットの暗号へと変換する方法であって、
乱数を生成し、前記乱数のビット単位の暗号を算出するステップと、
前記暗号化されたデータセットと前記暗号化された乱数とに基づいて、暗号化された合計値を安全に算出するステップと、
前記暗号化された合計値の復号を実行し、前記合計値のビット表現を求めるステップと、
前記暗号化された乱数により前記合計値を処理することによって前記暗号化されたデータセットを表す個々のビットの暗号を生成するステップとを含む、方法。
【請求項2】
前記暗号化されたデータセットを取得するステップを更に含む、請求項1に記載の方法。
【請求項3】
前記乱数の暗号が正確に算出されていることの公的に検証可能な証明を付与するステップとを含む、請求項1に記載の方法。
【請求項4】
前記暗号化された合計値を算出するステップは、前記暗号化されたデータと前記暗号化された乱数とを安全な乗算ゲートを用いて乗算することにより実行される、請求項1に記載の方法。
【請求項5】
前記暗号化された合計値を復号するステップは、閾値復号プロトコルを用いて実行される、請求項1に記載の方法。
【請求項6】
前記暗号化されたデータセットを表す個々のビットの暗号を生成するステップは、前記合計値のビット表現から前記暗号化された乱数を減算することにより実行される、請求項1に記載の方法。
【請求項7】
前記減算は、安全な減算ゲートを用いて実行される、請求項6に記載の方法。
【請求項8】
前記個々のビットの暗号を生成するステップは、更に、前記合計値のビット表現にサインビットを付加するステップを含む、請求項6に記載の方法。
【請求項9】
前記暗号化されたデータセットを表す個々のビットの暗号を生成するステップは、前記合計値のビット表現に前記暗号化された乱数を加算することにより実行される、請求項1に記載の方法。
【請求項10】
前記暗号化されたデータセットは、個人の生体特徴から抽出される、請求項1に記載の方法。
【請求項11】
暗号化されたデータセットを、前記データセットを表す個々のビットの暗号へと変換するシステムであって、
共同して、乱数を生成し、前記乱数のビット単位の暗号を算出するよう構成された少なくとも第1及び第2の計算装置を含み、
前記第1及び第2の計算装置の少なくとも1つの計算装置は、前記暗号化されたデータセットと前記暗号化された乱数とに基づいて、暗号化された合計値を算出するよう構成され、
前記第1及び第2の計算装置は、共同して、前記暗号化された合計値の復号を実行し、前記合計値のビット表現を求めるよう構成され、
前記第1及び第2の計算装置は、共同して、前記暗号化された乱数により前記合計値を処理することによって前記暗号化されたデータセットを表す個々のビットの暗号を生成するよう構成される、システム。
【請求項12】
前記第1及び第2の計算装置は、更に、前記乱数の暗号が正確に算出されていることの公的に検証可能な証明を算出するよう構成される、請求項11に記載のシステム。
【請求項13】
前記第1及び第2の計算装置は、共同して閾値復号プロトコルを実行することにより前記暗号化された合計値を復号するよう構成される、請求項11に記載のシステム。
【請求項14】
前記第1及び第2の計算装置は、前記合計値のビット表現から前記暗号化された乱数を減算することにより、前記暗号化されたデータセットを表す個々のビットの暗号を生成するよう構成される、請求項11に記載のシステム。
【請求項15】
前記第1及び第2の計算装置は、前記合計値のビット表現に前記暗号化された乱数を加算することにより、前記暗号化されたデータセットを表す個々のビットの暗号を生成するよう構成される、請求項11に記載のシステム。
【請求項16】
前記第1及び第2の計算装置は、
前記乱数の各ビットに対してそれぞれのビットを生成し、前記乱数の該各ビットを生成するために前記それぞれのビットを排他的論理和演算し、
前記乱数の各ビットを安全に暗号化することによって、
前記のように、共同して、乱数を生成し、前記乱数のビット単位の暗号を算出するよう構成される、請求項11に記載のシステム。
【請求項17】
コンピュータープログラムであって、
コンピューター実行可能なコンポーネントが装置内に含まれる処理ユニット上で実行されたときに、該装置をして請求項1に記載の各ステップを実行させるコンピューター実行可能なコンポーネントを含む、コンピュータープログラム。

【図1】
image rotate

【図2】
image rotate


【公表番号】特表2009−519490(P2009−519490A)
【公表日】平成21年5月14日(2009.5.14)
【国際特許分類】
【出願番号】特願2008−545178(P2008−545178)
【出願日】平成18年12月7日(2006.12.7)
【国際出願番号】PCT/IB2006/054646
【国際公開番号】WO2007/069146
【国際公開日】平成19年6月21日(2007.6.21)
【出願人】(590000248)コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ (12,071)
【Fターム(参考)】