(57)【特許請求の範囲】
【請求項１】
基準ハッシュを、生体特徴から得られた検証ビット列と比較するよう構成されている生体特徴検証デバイスであって、
前記生体特徴検証デバイスは、前記検証ビット列のビットに割り当てられた誤り確率へのアクセスを有し、誤り確率は、前記検証ビット列における該誤り確率に対応するビットが、登録ビット列における対応するビットと異なる確率を示し、前記登録ビット列は、前記生体特徴から生体特徴登録デバイスにより以前に得られたものであり、
前記生体特徴検証デバイスは、
前記検証ビット列及び前記誤り確率から、候補ビット列を生成するよう構成されている候補ビット列生成部と、
暗号学的ハッシュ関数を、前記の生成された候補ビット列に適用して、候補ハッシュを得るよう構成されているハッシュユニットと、
少なくとも１つの基準ハッシュを記憶するよう構成されている基準記憶部であって、前記少なくとも１つの基準ハッシュは、前記登録ビット列及び前記暗号学的ハッシュ関数から、前記登録デバイスにより得られる、基準記憶部と、
前記ハッシュユニットにより生成された候補ハッシュが、前記基準記憶部に記憶されている基準ハッシュと合致するかどうかを検証するよう構成されている比較ユニットと、
を有し、
前記生体特徴検証デバイスは、バイオメトリックセンサから生体特徴検証データを得るよう構成されており、前記バイオメトリックセンサは、前記生体特徴を計測するよう構成されており、前記生体特徴検証デバイスは、
前記生体特徴検証データのうちの少なくとも一部を、量子化範囲の集合からの量子化範囲内の点にマッピングすることにより、前記生体特徴検証データを量子化するよう構成されている量子化ユニットであって、前記量子化範囲の集合における量子化範囲は、量子化ビット列に対応し、前記生体特徴検証デバイスは、前記生体特徴検証データから前記量子化ユニットにより得られた１以上の量子化ビット列を一緒に一列に並べて、前記検証ビット列を形成するよう構成されている、量子化ユニット
を有し、
前記量子化ユニットは、前記生体特徴検証データのうちの前記少なくとも一部がマッピングされた、前記量子化範囲内の前記点と、該量子化範囲の最も近い端点と、の間の距離を決定し、誤り確率を、前記検証ビット列における対応するビットに割り当てるようさらに構成されている、生体特徴検証デバイス。
【請求項２】
前記量子化ユニットは、前記生体特徴検証データのうちの前記少なくとも一部を、前記量子化範囲内の前記点にマッピングする前に、量子化ヘルパーデータを、前記生体特徴検証データのうちの前記少なくとも一部に適用するよう構成されている、請求項１記載の生体特徴検証デバイス。
【請求項３】
前記生体特徴検証デバイスは、前記生体特徴登録デバイスにより得られた誤り確率を受信する入力部を有する、請求項１又は２記載の生体特徴検証デバイス。
【請求項４】
前記候補ビット列生成部は、誤り確率閾値未満である総誤り確率を有する候補ビット列を生成するよう構成されており、前記総誤り確率は、前記検証ビット列のビットに割り当てられた前記誤り確率から決定される、請求項１乃至３いずれか一項記載の生体特徴検証デバイス。
【請求項５】
前記候補ビット列生成部は、最大の割り当てられた誤り確率を有する、前記検証ビット列における選択数のビットを選択し、前記の選択されたビットの値が変えられる候補ビット列を生成するよう構成されている、請求項１乃至４いずれか一項記載の生体特徴検証デバイス。
【請求項６】
前記選択数は１であるか、
前記選択数は２であるか、あるいは、
前記選択数は３である、請求項５記載の生体特徴検証デバイス。
【請求項７】
前記基準記憶部は、前記少なくとも１つの基準ハッシュとともに、該基準ハッシュに対応する誤り訂正ヘルパーデータを記憶するよう構成されており、
前記生体特徴検証デバイスは、誤り訂正アルゴリズムをビット列に適用するよう構成されている誤り訂正ユニットを有し、
前記候補ビット列生成部は、前記検証ビット列及び前記誤り確率から、中間候補ビット列を生成し、誤り訂正ヘルパーデータを前記中間候補ビット列に適用することにより、前記中間候補ビット列を、誤り訂正符号の符号語に向けてシフトし、前記誤り訂正ユニットを、前記のシフトされた中間候補ビット列に適用して、前記候補ビット列を得るよう構成されており、
前記比較ユニットは、前記ハッシュユニットにより生成された候補ハッシュが、該候補ハッシュが得られた元である前記中間候補ビット列に適用された前記誤り訂正ヘルパーデータに対応する基準ハッシュと合致するかどうかを検証するよう構成されている、請求項１乃至６いずれか一項記載の生体特徴検証デバイス。
【請求項８】
前記基準記憶部は、複数の基準ハッシュを記憶するよう構成されており、前記複数の基準ハッシュは、前記登録デバイスにより得られる、請求項１乃至７いずれか一項記載の生体特徴検証デバイス。
【請求項９】
前記基準記憶部は、前記複数の基準ハッシュとともに、複数の対応する誤り訂正ヘルパーデータを記憶するよう構成されている、請求項７及び８記載の組合せの生体特徴検証デバイス。
【請求項１０】
生体特徴から得られた登録ビット列から、基準ハッシュを生成するよう構成されている生体特徴登録デバイスであって、
前記登録ビット列から、複数の多様性登録ビット列を生成するよう構成されている基準ハッシュ生成部と、
前記複数の多様性登録ビット列及び暗号学的ハッシュ関数から、複数の基準ハッシュを得るよう構成されているハッシュユニットと、
前記複数の基準ハッシュを記憶するよう構成されている基準ハッシュ記憶部と、
を有し、
前記生体特徴登録デバイスは、バイオメトリックセンサから、生体特徴登録データを得るよう構成されており、前記バイオメトリックセンサは、前記生体特徴を計測するよう構成されており、前記生体特徴登録デバイスは、
前記生体特徴登録データのうちの少なくとも一部を、量子化範囲の集合からの量子化範囲内の点にマッピングすることにより、前記生体特徴登録データを量子化するよう構成されている量子化ユニットであって、前記量子化範囲の集合における量子化範囲は、量子化ビット列に対応し、前記生体特徴登録デバイスは、前記生体特徴登録データから前記量子化ユニットにより得られた１以上の量子化ビット列を一緒に一列に並べて、前記登録ビット列を形成するよう構成されている、量子化ユニット
を有し、
前記量子化ユニットは、前記生体特徴登録データのうちの前記少なくとも一部がマッピングされた、前記量子化範囲内の前記点と、該量子化範囲の最も近い端点と、の間の距離を決定し、誤り確率を、前記登録ビット列における対応するビットに割り当てるようさらに構成されており、
前記基準ハッシュ生成部は、前記登録ビット列及び前記誤り確率から、前記複数の多様性登録ビット列を生成するよう構成されている、生体特徴登録デバイス。
【請求項１１】
多様性登録ビット列について誤り訂正符号の符号語を選択し、該多様性登録ビット列を、前記の選択された符号語に向けてシフトするための誤り訂正ヘルパーデータを決定するよう構成されている誤り訂正ヘルパーデータ生成部
を有する、請求項１０記載の生体特徴登録デバイス。
【請求項１２】
請求項８記載の生体特徴検証デバイスと、請求項１０記載の生体特徴登録デバイスと、を有するバイオメトリックシステム。
【請求項１３】
基準ハッシュを、生体特徴から得られた検証ビット列と比較する生体特徴検証方法であって、
コンピュータが、バイオメトリックセンサから、生体特徴検証データを得るステップと、
前記コンピュータが、前記生体特徴検証データのうちの少なくとも一部を、量子化範囲の集合からの量子化範囲内の点にマッピングすることにより、前記生体特徴検証データを量子化し、ここで、前記量子化範囲の集合における量子化範囲は、量子化ビット列に対応し、前記生体特徴検証データから得られた１以上の量子化ビット列を一緒に一列に並べて、検証ビット列を形成するステップと、
前記コンピュータが、前記検証ビット列のビットに割り当てられた誤り確率にアクセスするステップであって、誤り確率は、前記検証ビット列における該誤り確率に対応するビットが、登録ビット列における対応するビットと異なる確率を示し、前記登録ビット列は、前記生体特徴から生体特徴登録デバイスにより以前に得られたものであり、前記生体特徴検証データのうちの前記少なくとも一部がマッピングされた、前記量子化範囲内の前記点と、該量子化範囲の最も近い端点と、の間の距離を決定し、誤り確率を、前記検証ビット列における対応するビットに割り当てることを含むステップと、
前記コンピュータが、前記検証ビット列及び前記誤り確率から、候補ビット列を生成するステップと、
前記コンピュータが、暗号学的ハッシュ関数を、前記の生成された候補ビット列に適用して、候補ハッシュを得るステップと、
前記コンピュータが、ハッシュユニットにより生成された候補ハッシュが、基準記憶部に記憶されている基準ハッシュと合致するかどうかを検証するステップであって、前記基準記憶部は、少なくとも１つの基準ハッシュを記憶し、前記少なくとも１つの基準ハッシュは、前記登録ビット列及び前記暗号学的ハッシュ関数から、前記登録デバイスにより得られる、ステップと、
を含む、生体特徴検証方法。
【請求項１４】
生体特徴から得られた登録ビット列から、基準ハッシュを生成する生体特徴登録方法であって、
コンピュータが、バイオメトリックセンサから、生体特徴登録データを得るステップと、
前記コンピュータが、前記生体特徴登録データのうちの少なくとも一部を、量子化範囲の集合からの量子化範囲内の点にマッピングすることにより、前記生体特徴登録データを量子化し、ここで、前記量子化範囲の集合における量子化範囲は、量子化ビット列に対応し、前記生体特徴登録データから得られた１以上の量子化ビット列を一緒に一列に並べて、登録ビット列を形成するステップと、
前記コンピュータが、前記生体特徴登録データのうちの前記少なくとも一部がマッピングされた、前記量子化範囲内の前記点と、該量子化範囲の最も近い端点と、の間の距離を決定し、誤り確率を、前記登録ビット列における対応するビットに割り当てるステップと、
前記コンピュータが、前記登録ビット列及び前記誤り確率から、複数の多様性登録ビット列を生成するステップと、
前記コンピュータが、前記複数の多様性登録ビット列及び暗号学的ハッシュ関数から、複数の基準ハッシュを得るステップと、
前記コンピュータが、前記複数の基準ハッシュを記憶するステップと、
を含む、生体特徴登録方法。
【請求項１５】
コンピュータプログラムであって、該コンピュータプログラムがコンピュータ上で実行されたときに請求項１３又は１４の全てのステップを実行するよう適合されているコンピュータプログラムコード手段を含むコンピュータプログラム。
【請求項１６】
コンピュータ読み取り可能な媒体上に具現化される請求項１５記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、生体特徴検証デバイス及び生体特徴登録デバイスに関する。
【背景技術】
【０００２】
バイオメトリクスの適用は、しばしばその利便性を理由として、認証又は識別のための一般的ソリューションになっている。しかしながら、生体特徴の記憶は、攻撃者が生体特徴を悪用することをより容易にするため、ユーザのセキュリティ及びプライバシーのリスクの両方をもたらす。生体特徴を記憶することに伴うセキュリティのリスクは、そのような特徴から、例えばゴム製の指（rubber  finger）といった偽造の生体特徴が複製されることを含む。偽造の生体特徴は、犯罪場面において偽造の証拠を残すために、又は、個人情報又はサービスへのアクセスを得るために、使用されるおそれがある。さらに、生体特徴を記憶することに伴うプライバシーの懸念が存在する。いくつかの生体特徴は、ユーザの病気及び疾患を明らかにしてしまうことが知られており、保護されない記憶は、データベース間のクロスマッチングを可能にしてしまう。
【０００３】
これらの問題は、単純な暗号化／復号化方式を使用することによっては解決することができない。なぜならば、検証者（verifier）を信頼することができないからである。多くの場合、設計仕様は、検証者を信頼することを認めない。例えば、悪意のある検証者を信頼することは、その検証者を訪問した人のユーザアイデンティティ（ＩＤ）が盗まれて販売されることにつながるおそれがある。生体データが損なわれると、その生体データは、永久に公になり、セキュリティ用途において、もはや使用することができない。生体データは、ユーザの生まれつきの部分であり、例えば、ユーザの指紋を変えることはできない。生体特徴について記憶されているどのような情報からもオリジナルの特徴を導出することができないことが、望ましい。
【０００４】
ハッシュは、その出力値からの暗号学的ハッシュ関数の入力から復元することが、計算的に実行不可能であるため、魅力的であるが、ハッシュ関数を直接的に適用することはできない。実際、ハッシュ関数の撹拌処理は、（ノイズの多い）生体データに適用することを難しくする。生体特徴は、各観測中でわずかに異なり、したがって、生体特徴に依存する２つのハッシュ演算の出力は、関連しないものになる。ハッシュ関数を計測結果に適用することは、ハッシュ領域における類似度に基づいて検証を行うことを不可能にする。
【０００５】
観測にわたって生じた違いを訂正する１つのアプローチは、いわゆるヘルパーデータ（helper  data）を使用する、すなわち、後続の観測の間の誤りを処理するために補助データを使用する。ユーザ依存データを格納するために全てがヘルパーデータスキームとみなされ得る多くの構造体（construction）が提案されている。
【０００６】
誤り訂正符号化段階及び量子化段階それぞれにおけるヘルパーデータの適用を参照する、ヘルパーデータのいわゆるデジタル変形版及びアナログ変形版が存在する。アナログヘルパーデータは、うまくデジタル表現され得る。本文書ではまた、それぞれ誤り訂正ヘルパーデータ及び量子化ヘルパーデータとしてのデジタルヘルパーデータ及びアナログヘルパーデータが参照される。
【０００７】
１．バイアス調整される量子化（biased  quantization）等のアナログ。これは、アナログ領域における、すなわち、量子化の前の、生体特徴の量子化におけるユーザ依存バイアスとして解釈され得る。一例が、参照により本明細書に組み込まれる、同一出願人による「Ｍｅｔｈｏｄ  Ａｎｄ  Ｓｙｓｔｅｍ  Ｆｏｒ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｏｆ  Ａ  Ｐｈｙｓｉｃａｌ  Ｏｂｊｅｃｔ」という名称の国際公開第２００４／１０４８９９号により与えられている。この国際公開第２００４／１０４８９９号は、登録デバイス及び認証デバイスを含む、物理的オブジェクトを認証するためのシステムを開示している。
【０００８】
２．符号シフト等のデジタル。検証中、量子化された生体特徴は、妥当な符号語に向けて「シフトされる」。このシフトは、抽出された生体特徴を、最も近い符号語にシフトする低ハミング重みのベクトルを用いた排他的論理和（ＸＯＲ）演算であり得る。この演算は、デジタル領域において完全に生じる。このシフトの後、誤り訂正符号（ＥＣＣ）が適用され得る。これは、確実であるが限られた数の誤りを訂正することができるものである。一般的には、ビット誤り率が、例えば１０％未満である場合、符号は有効であり得る。一例が、Ａ．  Ｊｕｅｌｓ及びＭ．  Ｗａｔｔｅｎｂｅｒｇによる「Ａ  ｆｕｚｚｙ  ｃｏｍｍｉｔｍｅｎｔ  ｓｃｈｅｍｅ」において与えられている。
【０００９】
上記２つの方法は、２段階ヘルパーデータシステムにおいて組み合され得る。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
生体特徴検証デバイス及び生体特徴登録デバイスを含む改良されたバイオメトリックシステムを有することが有利であろう。
【００１１】
現在のバイオメトリックシステムに対するテストは、誤り訂正の符号率が、いかなる望ましい値よりも大きく下回っていることを明らかにしている。したがって、生体データは、多くのそのエントロピーを損失させ、これは、システムの強度、特に暗号用途の強度を危うくさせる。エントロピー損失は、ある程度は不可避である。登録ビット列と照合するためにより多くのビット列を許容することは、より小さなエントロピーを暗示する。例えば、サイズｎ＝６３ビットの生体データについて検討すると、最大キャパシティは、２ｎ＝２６３通りの可能なバイナリビット列を与える。全ての生体特徴が、最大１ビットの誤りを潜在的に含み得る場合、全ての生体特徴は、ｎ＋１＝６３＋１＝６４＝２６通りの組合せの空間を用意しておく必要がある。したがって、一誤り訂正符号語について、およそ２ｌｏｇ（ｎ）＝６ビットのエントロピー損失が存在する。したがって、２６３／２６＝２５７の異なる生体特徴が最適にパックされ得る。
【００１２】
ＥＣＣに基づく既存のアプローチにおいて、生体特徴検証（例えば、認証）中に得られた生体特徴Ｙは、誤り訂正ヘルパーデータにより、符号語に向けてシフトされる。このシフトは、生体特徴ビット列と符号語との差分ベクトルＷＤを用いたＸＯＲ演算であり得る。検証中、同じ差分ベクトルＷＤが、次いでサンプリングされる生体特徴に適用される。
【００１３】
しかしながら、検証サンプルは、登録サンプルと正確には等しくないことがある。したがって、ＷＤベクトルは、符号語に対して生体特徴を正確にはマッピングしないことがある。いくつかの他の誤りが生じ得るが、ＷＤは、検証生体特徴を、登録中に選択された符号語の近くのビット列にシフトさせる可能性が高い。誤りレベルが、符号の誤り訂正能力を下回っているとの条件で、シフトされたビット列に対する後続のＥＣＣ演算は、誤りを訂正する。ＥＣＣの結果がハッシュされ、いわゆるテンプレート、すなわち、生体特徴登録中に得られたハッシュと比較される。
【００１４】
既知のＢＣＨ符号のための複数のオプションが、以下に与えられる：
【表１】
0006272499.tif 000002
【００１５】
６３ビットの生体特徴の場合、ＥＣＣにより訂正可能な全てのさらなる誤りが、エントロピーの約６ビットの損失につながることが、上記の表により確認される。これは、例えば、網羅的探索に耐えるために、生体特徴の強度を急速に危うくさせる。
【課題を解決するための手段】
【００１６】
基準ハッシュを、生体特徴から得られた検証ビット列と比較するよう構成される生体特徴検証デバイスが提案される。本生体特徴検証デバイスは、検証ビット列のビットに割り当てられた誤り確率へのアクセスを有する。誤り確率は、検証ビット列における当該誤り確率に対応するビットが、登録ビット列における対応するビットと異なる確率を示す。
【００１７】
本生体特徴検証デバイスは、検証ビット列及び誤り確率から、候補ビット列を生成するよう構成されている候補ビット列生成部を有する。誤り確率は、尤度、対数尤度、距離、事後確率推定、又は、特定の候補列が正しいものである確率を示す他のパラメータとして表現され得る。
【００１８】
ただ複数の候補ビット列を生成することだけで、ノイズの多い生体特徴を訂正する必要性に起因するエントロピー損失を低減させる。実際、複数の候補が存在するために、検証ビット列と登録ビット列との合致の可能性が増大する一方で、エントロピー損失は最小限にされる。誤り訂正符号からのオーバーヘッドは存在しない。
【００１９】
しかしながら、誤り確率を使用することにより、はるかに大きな利点が得られる。誤り確率は、全ての可能性の一様な生成の代わりに、候補ビット列のフォーカスされた生成を可能にする。結果として、同じレベルの誤り訂正を得るために、より少ない候補ビット列が生成される必要がある。したがって、エントロピー損失はより少なくなる。さらに、攻撃者は、合致を見つけるために、この例においては２＾６３通りの可能性を含む空間全体をなお網羅的に探索する必要があるであろう。これに対し、誤り訂正符号化は、攻撃者の探索空間を著しく低減させるであろう。
【００２０】
どの候補ビットを生成するかの選択は、誤り確率の制御下にあり、生成される候補ビット列が登録ビット列と等しい確率を増大させる。候補ビット列は、検証ビット列の１以上のビットを選択し、選択されたビットの値を変えることにより、すなわち、選択されたビットを反転することにより、検証ビット列から生成され得る。検証ビット列におけるビットの選択は、誤り確率から候補ビット列生成部により決定される。
【００２１】
生体特徴から得られた登録ビット列から、基準ハッシュを生成するよう構成される生体特徴登録デバイスが提案される。本生体特徴登録デバイスは、登録ビット列から、複数の多様性登録ビット列（diversified  enrollment  bit  string）を生成するよう構成されている基準ハッシュ生成部を有する。
【００２２】
複数の多様性登録ビット列を生成することは、誤り訂正演算が検証デバイスにおいて低減されるという利点を有する。さらに、登録デバイスは、複数の多様性登録ビット列を生成する際に、誤り確率を使用することができ、これにより、エントロピー損失を低減させる。
【００２３】
これらの方法は、人間又は動物の体の生体特徴以外の他の特徴にも適用することができる。これらの方法は、任意のソースの「ノイズの多いデータ」のために使用することができる。最近、物理的複製防止機能（ＰＵＦ）に関する科学文献が、可能性のある用途の多くの例を作成した。ＤＮＡ又は他の遺伝情報も範囲内である。ＤＮＡに基づく生体特徴の場合における一例において、検証は、配列の諸部分に基づき得、したがって、ハッシュが、（可能であればオーバーラップしている）サブ配列に関して記憶され得る。
【００２４】
検証デバイス及び登録デバイスは、電子デバイスである。これらのデバイスは、携帯電話機等のモバイル電子デバイスであってよい。
【００２５】
本発明に従った方法は、コンピュータにより実施される方法として、若しくは、専用ハードウェアにおいて、又は、これら両方の組合せにおいて、コンピュータ上で実施され得る。本発明に従った方法のための実行可能なコードが、コンピュータプログラム製品に記憶され得る。コンピュータプログラム製品の例は、メモリデバイス、光記憶デバイス、集積回路、サーバ、オンラインソフトウェア等を含む。好ましくは、コンピュータプログラム製品は、当該コンピュータプログラム製品がコンピュータ上で実行されたときに本発明に従った方法を実行するための、コンピュータ読み取り可能な媒体に記憶された非一時的なプログラムコード手段を含む。
【００２６】
好ましい実施形態において、コンピュータプログラムは、当該コンピュータプログラムがコンピュータ上で実行されたときに本発明に従った方法の全てのステップを実行するよう適合されているコンピュータプログラムコード手段を含む。好ましくは、コンピュータプログラムは、コンピュータ読み取り可能な媒体上に具現化される。
【００２７】
基準ハッシュを、生体特徴から得られた検証ビット列と比較するよう構成されている生体特徴検証デバイスが提供される。本生体特徴検証デバイスは、検証ビット列及び誤り確率から、候補ビット列を生成するよう構成されている候補ビット列生成部と、暗号学的ハッシュ関数を、生成された候補ビット列に適用して、候補ハッシュを得るよう構成されているハッシュユニットと、ハッシュユニットにより生成された候補ハッシュが、基準ハッシュと合致するかどうかを検証するよう構成されている比較ユニットと、を有する。
【図面の簡単な説明】
【００２８】
本発明のこれらの態様及び他の態様が、以下に記載の実施形態から明らかになり、以下に記載の実施形態を参照することで明瞭にされる。異なる図面において同じ参照符号を有するアイテムは、同じ構造的特徴及び同じ機能を有する又は同じ信号であることに留意されたい。そのようなアイテムの機能及び／又は構造が説明される場合、詳細な説明において、その繰り返しの説明の必要はない。
【図１ａ】生体特徴検証デバイス１００の概略ブロック図。
【図１ｂ】候補ビット列生成部１３１の概略ブロック図。
【図２ａ】生体特徴登録デバイス２００の概略ブロック図。
【図２ｂ】生体特徴登録デバイス２０１の概略ブロック図。
【図３ａ】登録中の量子化範囲の集合に関する量子化を示す図。
【図３ｂ】検証中の量子化範囲の集合に関する量子化を示す図。
【図３ｃ】誤り確率を使用した候補ビット列生成を示す図。
【図４ａ】生体特徴検証デバイスにおけるいくつかのデータ依存関係を示す図。
【図４ｂ】生体特徴登録デバイスにおけるいくつかのデータ依存関係を示す図。
【図５ａ】生体特徴検証方法５００の概略フローチャート。
【図５ｂ】生体特徴登録方法５０１の概略フローチャート。
【図６ａ】コンピュータ読み取り可能な媒体の概略図。
【図６ｂ】プロセッサシステムの概略図。
【発明を実施するための形態】
【００２９】
本発明は、多くの異なる形態の実施形態を受け入れる余地があるが、図面において、１以上の特定の実施形態が示され、本明細書において、その１以上の特定の実施形態が詳細に説明される。本開示は、本発明の原理の例示と考えられるべきであり、本発明を、図示され説明される特定の実施形態に限定するよう意図されるものではないことを理解されたい。
【００３０】
図１ａは、生体特徴検証デバイス１００の概略ブロック図である。生体特徴検証デバイス１００は、生体特徴検証デバイス１００に加えて生体特徴登録デバイスを有するバイオメトリックシステムの一部である。検証デバイス及び登録デバイスは、１つのデバイスに統合されてもよい。
【００３１】
生体特徴検証デバイス１００は、検証段階中、生体特徴から得られた検証ビット列を、生体特徴登録デバイスにより以前の登録段階中に同じ生体特徴から導出された基準ハッシュと照合するよう構成されている。
【００３２】
生体特徴は、個体群（population）にわたって変わるが特定の個体（individual）に関しては少なくともある時間期間の間十分に不変である、個体の特徴である。個体は、典型的には、人間個人である。しかしながら、本システムは、例えば哺乳動物といった動物、特に、ペット及び家畜等の飼育動物に適用されてもよい。生体特徴検証デバイス１００は、例えば建物への物理的アクセス、又は、例えば文書若しくは他のコンテンツへのデジタルアクセスといったアクセス制御等、認証のために使用することができる。
【００３３】
図２ａは、生体特徴検証デバイス１００とともに使用することができる生体特徴登録デバイス２００の概略ブロック図である。生体特徴登録デバイス２００は、バイオメトリックセンサ１１０を有する。このバイオメトリックセンサ１１０は、生体特徴検証デバイス１００のバイオメトリックセンサ１１０と同じセンサ又は同じタイプのセンサである。センサ１１０は任意的であることに留意されたい。なぜならば、生体特徴検証デバイス１００及び／又は生体特徴登録デバイス２００は、生体特徴検証データ及び／又は生体特徴登録データを受信する入力部を有することができるからである。
【００３４】
バイオメトリックセンサ１１０は、生体特徴を計測するよう構成されている。この生体特徴と同じ生体特徴が、生体特徴検証デバイス１００により使用されることになる。適切な生体特徴は、指紋、虹彩スキャン、顔計測結果等を含む。例えば複数の指紋及び／又は顔計測結果等といった２以上の生体特徴が使用されてもよい。
【００３５】
バイオメトリックセンサ１１０は、生体特徴登録データの形態の計測結果を生成する。生体特徴が、連続的である、すなわち、アナログである場合、生体特徴登録デバイス２００は、生体特徴登録データをデジタルデータにマッピングする量子化ユニット２２０を有する。生体特徴登録データが、既に離散的な性質のものである場合、量子化は必要でなく、量子化ユニット２２０は省かれてもよい。
【００３６】
量子化ユニット２２０は、生体特徴登録データのうちの少なくとも一部を、量子化範囲の集合のうちの量子化範囲内の点にマッピングすることにより、生体特徴登録データを量子化するよう構成されている。量子化ビット列は、量子化範囲の集合における各量子化範囲に対応する。例えば、量子化範囲は、好ましくはグレー符号により番号付けされ得る。生体特徴登録データは、１次元値を含み得、量子化範囲は、連続的であり、これら量子化範囲が合わさって、値が取り得る範囲全体を分割する。
【００３７】
図３ａは、登録中の量子化を示している。量子化される値を表す軸３００が図示されている。一例として、値は、個体の両眼間の距離であり得る。軸３００は、量子化範囲の集合により分割される。量子化範囲３１０、３２０、３３０、３４０、及び３５０が図示されている。全ての量子化範囲が同じサイズである必要はないことに留意されたい。量子化ビット列が、各量子化範囲に割り当てられ、例えば、量子化範囲３１０、３２０、３３０、３４０、及び３５０のそれぞれについて、ビット列は、００１、０１１、０１０、１１０、及び１１１であり得る。量子化範囲の数及び割り当てられる具体的なビット列は、例示に過ぎない。軸３００上の点が、値を表す。
【００３８】
値が属する範囲は、割り当てられる量子化ビット列を決定する。範囲３２０に属する点３２２の場合、ビット列は０１１である。任意的に、生体特徴登録デバイス２００は、量子化ヘルパーデータを生成してもよい。量子化ヘルパーデータは、値と量子化範囲の中心（例えば、計測された値が属する範囲の中心）との差を計算することにより、算出され得る。この場合、量子化ヘルパーデータは、中心３２１マイナス値３２２であり得る。点３２２のための量子化ヘルパーデータは、矢印３２３によりグラフィカルに表現されている。
【００３９】
量子化ヘルパーデータは、量子化ヘルパーデータ記憶部２２２に記憶され得る。量子化は、生体特徴登録データにおける複数の値に対して実行され得る。任意的に、量子化ヘルパーデータは、それらの値のうちの１以上の値のために算出されてもよい。このように得られた量子化ビット列から、登録ビット列が得られる。登録ビット列は、例えばパスワードデータといった他のデータと組み合わされてもよいが、これは任意的である。
【００４０】
生体特徴登録データから得られた登録ビット列を発端として、基準ハッシュが算出される。生体特徴登録デバイス２００は、基準ハッシュを算出するために使用されるハッシュユニット１４０を有する。
【００４１】
基準ハッシュは、生体特徴検証デバイスが、同じ生体特徴とされる（purportedly）生体特徴から得られた検証ビット列が、検証の際に計測された個体が登録の際の個体と同じであると信頼するのに、登録ビット列に十分近いかどうかを検証することを可能にする。この信頼に必要とされることは、アプリケーションのセキュリティ要件に大いに依存する。
【００４２】
例えば、登録ビット列は、基準ハッシュを得るためにハッシュユニット１４０によりハッシュされ得る。生体特徴登録デバイス２００は、ハッシュユニット１４０により生成された基準ハッシュを記憶する基準ハッシュ記憶部１６２を有する。登録ビット列を生成するステップと基準ハッシュを生成するステップとの間には、中間ステップも存在し得る。例えば、以下でより詳細に説明するように、誤り訂正ヘルパーデータが生成され得る。
【００４３】
基準ハッシュ記憶部１６２に記憶される基準ハッシュは、生体特徴検証デバイス１００が生体特徴の検証を実行できるように、生体特徴検証デバイス１００に通信される。量子化ヘルパーデータが生成されている場合、量子化ヘルパーデータも生体特徴検証デバイス１００に通信される。例えば、生体特徴検証デバイス１００及び生体特徴登録デバイス２００は、インターネット等の同じコンピュータネットワークに接続され得る。例えば、生体特徴の所有者は、基準ハッシュに加えて量子化ヘルパーデータ及び／又は誤り訂正ヘルパーデータを記憶するモバイルメモリ（例えば、スマートカード）を有し得る。
【００４４】
図１ａに戻ると、図示される生体特徴検証デバイス１００は、生体特徴登録デバイス２００のバイオメトリックセンサ１１０と同じである又は同じタイプであるバイオメトリックセンサ１１０を有する。生体特徴検証デバイス１００は、生体特徴を計測して生体特徴検証データを生成するよう構成されている。理想的には、生体特徴検証データは、生体特徴登録デバイス２００により生成された生体特徴登録データと同一であるが、しばしばそうではなく、何らかの量の誤りが存在する。バイオメトリックセンサ１１０の代わりに、生体特徴検証デバイス１００は、生体特徴検証データを受信する入力部を有してもよい。さらに、生体特徴検証デバイス１００は、１以上の基準ハッシュ、量子化ヘルパーデータ及び／若しくは誤り訂正ヘルパーデータ、並びに、可能であればさらに量子化範囲等を受信する入力部を有してもよい。
【００４５】
生体特徴検証デバイス１００は、生体特徴検証データのうちの少なくとも一部を、量子化範囲の集合のうちの量子化範囲内の点にマッピングすることにより、生体特徴検証データを量子化するよう構成されている量子化ユニット１２０を有する。量子化ユニット１２０は、量子化ユニット２２０と同じ量子化範囲の集合を使用する。量子化ヘルパーデータが使用される場合、量子化ユニット１２０は、まず量子化ヘルパーデータを適用する。例えば、量子化ユニット１２０は、算術加算を用いて、登録点と量子化範囲の中心との差を加算することができる。
【００４６】
検証ビット列及び登録ビット列は、しばしば互いに異なる。実際には、生体特徴検証デバイス１００による異なる検証中に得られる検証ビット列も、互いに異なり得る。量子化ユニット１２０が、生体特徴検証データに対応する点を含む量子化範囲をマッピングする前に、量子化ユニット１２０は、検証ビット列における他のビットより登録ビット列と異なる可能性がより高い、検証ビット列におけるビットに関する情報を有している。
【００４７】
量子化ユニット１２０により実行される量子化が、図３ｂに示されている。図３ｂは、同じ量子化範囲及び同じ対応するビット列を用いている。この図において、生体特徴の計測結果は、点３２４により表されるより大きなビット値を与えている。量子化ヘルパーデータがなければ、点３２４は、範囲３３０に対応するビット列（この特定の場合においては、０１１ではなく０１０）にマッピングされるであろう。連続する量子化範囲を番号付けするためのグレー符号の使用は、誤りのサイズを１ビットに低減させていることに留意されたい。一方、量子化ヘルパーデータを適用することにより、点３２４が、正しい範囲に属する点３２５に移動され、これに応じて、正しいビット列が適用される。
【００４８】
それでも、点３２５は、範囲３２０の端点に近い。これは、点３２４が、もう少しだけ大きければ、異なるビット列が適用されるであろうことを意味する。この例において、点３２４が、検証中、より大きかったが、より小さいこともあり得る。例えば、量子化ヘルパーデータの適用の後に点３２５’にシフトされる点３２４’について考えてほしい。量子化範囲の両端点に近い点は、量子化範囲の中央にある点より誤っている可能性が高いことが分かる。
【００４９】
量子化ヘルパーデータの使用は、概して、量子化中の誤りを低減させるが、誤りを排除するわけではない。量子化ヘルパーデータが使用されるか否かにかかわらず、端点に近い点は、誤っている可能性がより高い。
【００５０】
量子化ユニット１２０は、生体特徴検証データのうちの少なくとも一部がマッピングされた、量子化範囲内の点と、この量子化範囲の最も近い端点と、の間の距離を決定し、誤り確率を、検証ビット列における対応するビットに割り当てるよう構成されている。点３２５の場合、量子化ユニット１２０は、点３２５と、範囲３２０と範囲３３０との間の端点と、の間の距離を決定するよう構成されている。点３２５’の場合、量子化ユニット１２０は、点３２５’と、範囲３１０と範囲３２０との間の端点と、の間の距離を決定するよう構成されている。最も近い端点からの距離からのより遠い距離は、より小さな誤り確率を示す。
【００５１】
誤り確率は、正確である必要はなく、誤り確率のインジケーションは、誤り訂正を向上させるのに十分である。例えば、誤り関数は、距離を確率にマッピングすることができる。誤り関数は、最も近い端点までの点（例えば、点３２５）の距離と、点が属する量子化範囲のサイズ（すなわち、量子化範囲３２０のサイズ）と、に依存し得る。例示的な関数は、ｐ＝１／２−（最も近い端点までの点の距離）／（点が属する量子化範囲のサイズ）である。この関数は、中心にある点については、誤り確率を０にマッピングし、端点にある点については、誤り確率を１／２にマッピングする。変形形態は、ａ＊（１−２ｐ）＋ｂ＊２ｐを使用し、ｐは上記の通りであり、ａは、全平均誤り確率であり、ｂは、量子化範囲の端点における計測についての誤り確率である。値ａ及び値ｂは、経験的に決定され得る。例えば、ａ＝０．１及びｂ＝０．５であると見出され得る。確率の代わりに、尤度、すなわち、確率の対数が使用されてもよく、尤度は、確率を示すものである。誤り確率は、検証ビット列における当該誤り確率に対応するビットが、登録ビット列における対応するビットと異なる確率を示すものである。
【００５２】
量子化ユニット２２０と同様に、量子化ユニット１２０は、生体特徴検証データから量子化ユニット１２０により得られた１以上の量子化ビット列を一緒に一列に並べて、例えば連結により、検証ビット列を形成するよう構成されている。量子化ユニット１２０により得られた誤り確率が、検証ビット列のビットに割り当てられる。検証ビット列における全てのビットが、割り当てられる誤り確率を有する必要があるわけではないが、一実施形態においては、検証ビット列における全てのビットが、割り当てられる誤り確率を有する。例えば、ビットは、（例えば０．１という）デフォルト誤り確率又は量子化ユニット１２０により割り当てられた確率のいずれかを受け入れることができる。生体特徴検証デバイス１００は、誤り確率記憶部１７０を有することができる。量子化ユニット１２０は、誤り確率を誤り確率記憶部１７０に記憶するよう構成されている。生体特徴検証デバイス１００は、誤り確率記憶部１７０及び誤り確率記憶部１７０に記憶された誤り確率へのアクセスを有する。
【００５３】
量子化ユニット１２０は、全ての実施形態において必須であるわけではない。さらに、量子化ユニット１２０が存在する場合、量子化ユニット１２０は、誤り確率を導出するよう構成される必要があるわけではない。例えば、生体特徴検証デバイス１００は、別のソースから、誤り確率を受信することができる（例えば、生体特徴登録デバイスにより得られた誤り確率を受信することができる）。生体特徴検証デバイス１００は、誤り確率を受信する入力部１７２を有することができる。量子化ユニット１２０が存在し、量子化ユニット１２０が、誤り確率を導出する（これは好ましい）場合であっても、生体特徴検証デバイス１００は、入力部１７２を有することができる。例えば、生体特徴検証デバイス１００は、受信された誤り確率を、量子化ユニット１２０により導出された誤り確率と組み合わせることができる（例えば、これらの誤り確率を平均化することにより）。
【００５４】
例えば、生体特徴検証デバイス１００は、量子化ユニットより決定された誤り確率及び生体特徴登録デバイスから受信された誤り確率から、検証ビット列のビットに割り当てられる誤り確率を決定するよう構成されている誤り確率ユニット（別個に図示されてはいない）を有してもよい。
【００５５】
生体特徴検証デバイス１００は、検証ビット列及び誤り確率から、候補ビット列を生成するよう構成されている候補ビット列生成部１３０を有する。１つのみの検証ビット列が構築される代わりに、複数の候補ビット列が生成される。注意深く選択される量子化範囲、量子化の使用等のような準備にかかわらず、１つの検証ビット列は、なおノイズが多い可能性が高く、これは、多くの誤り訂正ヘルパーデータを必要とする。候補ビット列は、検証ビット列に近いものであるが、候補ビット列のうちの何らかの１つの候補ビット列が登録ビット列と等しい確率が、検証ビット列が登録ビット列と等しい確率より高いように、候補ビット列は選択される。したがって、必要とされる場合には誤り訂正は、候補ビット列についてより少ないことが必要とされる。
【００５６】
検証ビット列が登録ビット列と等しい十分高い確率を得ることは、大量の誤り訂正を用いることにより以前になされている。しかしながら、誤り訂正は、データの次元（dimension）を低減させる。訂正される誤りの数が、ほんの数パーセント（例えば、５％）である場合も、エントロピーの低減は、相当であり、２５％を超え得る。これは、ｎ＝６３、ｋ＝４５、及びｔ＝３というパラメータを有するＢＣＨ符号を用いて３つの誤りを訂正することに基づく例である。候補ビット列を生成する際に誤り確率を使用することは、誤り訂正符号を使用することよりも相当の利点を有する。誤り訂正符号は、全てのビットが等しく誤っている可能性があることを仮定しているが、誤り確率が利用可能であり得るときには、そのようなケースには当たらない。再度、上記のＢＣＨの例を考えると、３ビットが誤りを有することが既知であると仮定して、且つ、その３ビットが誤りを有することが既知である場合、いかなる誤り訂正もなく、正しい合致を確立することができる。さらに、エントロピー損失は、約５％の損失である、正確に３ビットであろう。候補ビット列生成部１３０については、以下でさらに説明する。ここで、エントロピーとは、ビット列における不確実さの度合いである。高いエントロピーは、互いに対して偶然に誤っている個体が少ないことを暗示する。より高いエントロピーはまた、生体特徴を偽造することがより難しいことを暗示する。
【００５７】
生体特徴検証デバイス１００は、暗号学的ハッシュ関数を、生成された候補ビット列に適用して、候補ハッシュを得るよう構成されているハッシュユニット１４０をさらに有する。暗号学的ハッシュ関数は、所与のハッシュをもたらすであろうビット列を生成することが計算的に実行不可能であるという特性を有する。したがって、バイオメトリックセンサからの生体特徴登録データは、ハッシュ値から導出することができない。暗号学的ハッシュ関数はまた、同じハッシュをもたらすであろう２つのビット列を生成することが計算的に実行不可能であるという特性も有する。したがって、ハッシュは、個体を区別するための、オリジナルの生体データが有するのと同じ能力を有する。暗号学的ハッシュ関数の例は、Ｓｈａ−３、Ｓｈａ−２、Ｓｈａ−２５６、Ｓｋｅｉｎ、及びＫｅｃｃａｋを含む。他のＮＩＳＴセキュアハッシュ標準の候補も使用されてよい。
【００５８】
生体特徴検証デバイス１００は、少なくとも１つの基準ハッシュを記憶するよう構成されている基準ハッシュ記憶部１６２を有する。例えば、少なくとも１つの基準ハッシュは、生体特徴検証デバイス１００のハッシュユニット１４０と同じ暗号学的ハッシュ関数を使用して、登録ビット列から生体特徴登録デバイス２００等の登録デバイスにより得られたものであり得る。
【００５９】
生体特徴検証デバイス１００は、ハッシュユニットにより生成された候補ハッシュが、基準ハッシュ記憶部に記憶されている基準ハッシュと合致するかどうかを検証するよう構成されている比較ユニット１６０を有する。例えば、比較ユニット１６０は、生成された候補ハッシュの各候補ハッシュを、記憶されている基準ハッシュの各基準ハッシュと比較することができる。暗号学的ハッシュ関数が使用されるので、比較は、合致について等しいことを要求する。合致が見つかった場合、これは、検証中に計測された生体特徴が、登録中に計測された生体特徴と同じであったという証しである。
【００６０】
量子化ヘルパーデータ記憶部１５０、基準ハッシュ記憶部１６２、及び誤り確率記憶部１７０は、例えば揮発性メモリ又は不揮発性メモリ（例えばＲＡＭメモリ又はフラッシュメモリ）といった電子メモリとして実装され得る。量子化ヘルパーデータ記憶部１５０、基準ハッシュ記憶部１６２、及び誤り確率記憶部１７０のうちの１以上は、磁気メモリ又は光メモリとして実装されてもよい。
【００６１】
基準ハッシュ記憶部１６２は、複数の基準ハッシュを記憶することができる。生体特徴登録デバイスはまた、誤り確率を使用して、登録ビット列の複数の変形版を生成することができる。登録デバイスにより得られる誤り確率は、量子化範囲の最も近い端点までの距離を用いない。代わりに、登録デバイスは、情報の他のソースへのアクセスを有する。例えば、登録デバイスは、バイオメトリックセンサ１１０を使用して複数の計測を実行し、計測結果の各ビットのばらつきを導出することができる。複数の計測は、登録中である特定の個体に関することもあるし、例えば個体群のサンプルに基づく当該個体群に関することもある。例えば、標準偏差が、ばらつきの尺度である。大きなばらつきは、より高い誤り確率を与える。登録デバイスは、ばらつきを誤り確率にマッピングするための関数を適用するよう構成され得る。
【００６２】
十分な数の個体が登録された後、登録デバイスは、ばらつきについて解析するためのデータを有することになる。大きなばらつきは、量子化範囲を適応させるために使用され得るが、これは可能でないこともある。例えば、量子化範囲は、例えば基準範囲又はセンサにより固定され得る。また、データは、量子化に適さない離散的な性質のものであり得る。複数の登録された個体の生体特徴登録データを解析することにより得られた誤り確率は、多様性登録ビット列を生成するために使用され得る。誤り確率は、追加的又は代替的に、生体特徴検証デバイスに通信されてもよい。
【００６３】
図１ａの候補ビット列生成部１３０に戻ると、候補ビット列生成部１３０が複数の候補ビット列を生成し得る複数の方法がある。
【００６４】
例えば、候補ビット列生成部１３０は、誤り確率閾値未満である総誤り確率を有する候補ビット列を生成するよう構成され得る。総誤り確率は、検証ビット列のビットに割り当てられた誤り確率から決定される。候補ビット列生成部１３０は、誤り確率閾値未満である総誤り確率を有する候補ビット列のみを生成するよう構成され得る、且つ／又は、誤り確率閾値未満である総誤り確率を有する全てのビット列を生成するよう構成され得る。
【００６５】
生体特徴検証デバイス１００の一実施形態において、これは、次のように動作し得る。長さＮであるキャプチャされたノイズの多いデジタル検証ビット列Ｙ＝（ｙ１，ｙ２，．．．，ｙＮ）を照合するために、生体特徴検証デバイス１００は、ハッシュされた値であるＳ’＝Ｈ（Ｙ）を、テンプレートＳ、すなわち、基準ハッシュＳと照合するだけでなく、
【数１】
0006272499.tif 000003
であるように、適切に選択されたほぼ合致する集合
【数２】
0006272499.tif 000004
とも照合する。ここで、Ｅは、誤り列（error  string）であり、
【数３】
0006272499.tif 000005
は、ビットごとのＸＯＲ演算である。すなわち、比較ユニット１６０は、
【数４】
0006272499.tif 000006
かどうかをテストする。
【００６６】
Ｅベクトルは、誤り確率に基づいて、好ましくは、量子化ユニット１２０により導出された誤り確率に基づいて、選択される。したがって、信頼できないビットの集合のみがテストされる。例えば、生体特徴検証デバイス１００は、（例えば１％という）所定の閾値より高い事後尤度（posterior  likelihood）を有する全ての可能性のある生体特徴をテストすることができる。好ましくは、候補ビット列生成部１３０は、最も可能性の高いシーケンスから開始し、次第に低くなる尤度に対して段階的に続ける。
【００６７】
誤り確率を使用せずに、例えば、Ｅベクトルが、所与のハミング重み（例えば、１という重み）を有する全ての候補ビット列を生成することが可能である。いくつかの誤り訂正符号に関して、これは、エントロピー低減の観点で、１つの誤り訂正符号を使用することよりも小さな利点を与えることができる。例えば、ｎ＝６３、ｋ＝４５、ｔ＝３のＢＣＨ符号の代わりに、ハミング重み３を有する全てのＥベクトルを生成することができる。結果として生じるエントロピーは、６３−ｌｏｇ（２，ｓｕｍ（ｉ＝０．．３，ｂｉｎｏｍｉａｌ（６３，ｉ）））＝４７．７であり、これは、４５よりわずかに高い。ＢＣＨ符号のようなほとんどの符号は、ハミング限界を達成しないので、すなわち、完全な符号ではないので、この利点が得られる。しかしながら、誤り確率を使用すると、誤っている可能性が高いビットが、明確にターゲットにされ得る。これは、残りのエントロピーがはるかに高いものであり得ることを意味する。誤り確率に関する各追加情報は、エントロピーを、４７．７から上に増大させる。
【００６８】
例えば１％という何らかの誤り閾値を超える総誤り確率を有する全ての候補ビット列を生成することは、携帯電話機等のモバイルハードウェアといった計算的に制限されたハードウェア上では難しいことがある。計算負荷を低減させる一方でその利点のほとんどを達成する簡略化されたシステムが提案される。
【００６９】
例えば、候補ビット列生成部は、最大の割り当てられた誤り確率を有する、検証ビット列における選択数のビットを選択するよう構成され得る。より高い選択数が選択されると、より多くの候補ビット列が生成されることになる。選択数が増大すると、合致についての確率は増大し、結果として生じるエントロピーは低減する。選択数は、例えば１０未満の比較的小さな数であることが想定されている。実施形態において、選択数は１であるか、選択数は２であるか、あるいは、選択数は３である。
【００７０】
候補ビット列生成部１３０は、選択されたビットの値が変えられる候補ビット列を生成するよう構成され得る。候補ビット列生成部１３０は、２＾（選択数）個のビット列を生成する、又は、合致が以前に見つかっている場合には、２＾（選択数）個より少ないビット列を生成する。例えば、選択数が３であり、ビットｉ、ビットｊ、及びビットｋが、最大の割り当てられた誤り確率を有する場合、候補ビット列生成部１３０は、ビットｉ、ビットｊ、及びビットｋの値を、全ての２＾３＝８通りの可能性に変えることにより、候補ビット列を生成することができ、したがって、８つの候補ビット列を生成することができる。
【００７１】
候補ビット列生成部１３０が、誤り確率を考慮に入れて、複数の候補ビット列を生成したとしても、不運にも、生成された候補ビット列のどれもが、基準ハッシュ記憶部１６２内の基準ハッシュと合致する候補ハッシュを生成しないことが、なお生じ得る。これは、例えば誤り訂正ヘルパーデータを使用して、誤り訂正を付加することにより、対処され得る。複数の候補ビット列が生成される場合、必要とされる誤り訂正の量は、はるかに低いことに留意されたい。
【００７２】
この目的のために、生体特徴検証デバイス１００は、誤り訂正アルゴリズムをビット列に適用するよう構成されている誤り訂正ユニット１３４を有することができる。基準ハッシュ記憶部１６２は、少なくとも１つの基準ハッシュとともに、当該基準ハッシュに対応する誤り訂正ヘルパーデータを記憶するよう構成され得る。候補ビット列生成部１３０は、誤り訂正ヘルパーデータを使用するよう構成され得る。誤り訂正ヘルパーデータを使用する候補ビット列生成部１３０の一実施形態は、図１ｂに示される候補ビット列生成部１３１である。
【００７３】
図１ｂは、候補ビット列生成部１３１の概略ブロック図である。
【００７４】
候補ビット列生成部１３１は、検証ビット列及び誤り確率から、中間候補ビット列を生成するよう構成されている中間ビット列生成部１３２を有する。これは、上述した方法と同じ方法を使用することができる。例えば、高誤り確率を有する複数の高ビットが、識別され得、検証ビット列におけるこれらのビットを変えることにより、中間候補ビット列が得られる。
【００７５】
候補ビット列生成部１３１は、誤り訂正ヘルパーデータ適用ユニット１３３を有する。誤り訂正ヘルパーデータ適用ユニットは、誤り訂正ヘルパーデータを中間候補ビット列に適用することにより、中間候補ビット列を、誤り訂正符号の符号語に向けてシフトするよう構成されている。最後に、誤り訂正ユニットが、シフトされた中間候補ビット列に適用されて、候補ビット列が得られる。典型的には、シフトされた中間候補ビット列に適用される誤り訂正アルゴリズムが、符号語を得る。復元された符号語を発端として進む少なくとも２つの異なるオプションが存在する。ハッシュユニット１４０が、符号語に直接適用され得る。オリジナルの登録ビット列が、符号語から復元され得、ハッシュユニット１４０が、これに適用され得る、あるいは、（次元「ｋ」を有する符号空間に対応する）データ部分が抽出され、ハッシュユニット１４０が、この部分に適用され得る。
【００７６】
例えば、誤り訂正ヘルパーデータ適用ユニット１３３は、誤り訂正ヘルパーデータを中間候補ビット列とＸＯＲ演算することができる。
【００７７】
最後に、比較ユニット１６０は、ハッシュユニットにより生成された候補ハッシュが、候補ハッシュが得られた元である中間候補ビット列に適用された誤り訂正ヘルパーデータに対応する基準ハッシュと合致するかどうかを検証するよう構成されている。
【００７８】
実際において、基準ハッシュ記憶部１６２は、複数の基準ハッシュとともに、複数の対応するヘルパーデータを記憶するよう構成され得る。この場合、ヘルパーデータと中間候補ビット列との全ての組合せが試行される。これは、候補ビット列の数が、ヘルパーデータ／基準ハッシュの数と中間候補ビット列の数との積に等しいことを意味する。
【００７９】
候補ハッシュが、対応する候補を生成するために使用された誤り訂正ヘルパーデータに対応する基準ハッシュと比較される。
【００８０】
図２ｂは、生体特徴登録デバイス２０１の概略ブロック図である。生体特徴登録デバイス２０１は、登録ビット列から、複数の多様性登録ビット列を生成するよう構成されている基準ハッシュ生成部を有する。
【００８１】
例えば、生体特徴登録デバイス２０１は、誤り数（error-number）を有することができ、基準ハッシュ生成部２３０は、登録ビット列を使用して、最大で誤り数のビット分だけ異なる全ての多様性登録ビット列を生成するよう構成され得る。誤り数は、通常小さく、例えば、１０より小さい。実施形態において、誤り数は１であるか、誤り数は２であるか、あるいは、誤り数は３である。
【００８２】
生体特徴登録デバイス２０１は、複数の多様性登録ビット列及び暗号学的ハッシュ関数から、複数の基準ハッシュを得るよう構成されているハッシュユニット１４０を有する。例えば、ハッシュユニット１４０は、複数の多様性登録ビット列の各多様性登録ビット列をハッシュして、複数の基準ハッシュを得ることができる。生体特徴登録デバイス２０１は、複数の基準ハッシュを記憶するよう構成されている基準ハッシュ記憶部１６２を有する。
【００８３】
生体特徴登録デバイス２０１は、複数の基準ハッシュを、生体特徴検証デバイス１００等の生体特徴検証デバイスに利用可能にするよう構成されている。例えば、生体特徴登録デバイス２０１は、例えば、生体特徴検証デバイス１００に移動させるために生体特徴登録デバイス２０１から取り外し可能であるといったポータブルであり得る基準ハッシュ記憶部１６２を有することができる。基準ハッシュ記憶部１６２は、例えば生体特徴の所有者により運ばれるスマートカードであり得る。生体特徴登録デバイス２０１は、基準ハッシュを生体特徴検証デバイスに転送するために、例えばインターネットといったコンピュータネットワークへの有線インタフェース又は無線インタフェースを有することができる。
【００８４】
デバイス１００、２００、又は２０１において、上記記憶部の一部又は全ては、例えば１つの電子メモリといった１つの記憶部に統合されてもよい。
【００８５】
複数の基準ハッシュの生成により、誤り訂正符号は、もはや必要でなくなり得る。これは、生体特徴検証デバイス１００において誤り訂正アルゴリズムを有する必要がなくなるので、有利である。多くの誤り訂正アルゴリズムは、強力な計算リソースを必要とする。例えば、ＢＣＨ符号を復号することは、例えば、代数操作を必要とするＢｅｒｌｅｋａｍｐ−Ｍａｓｓｅｙアルゴリズムを用いることがある。登録デバイス側で多様性登録ビット列を生成することにより、この誤り訂正は、検証デバイスにおいては回避することができる。何らかの量の誤り訂正が、検証デバイスにおいて保たれるとしても、ＢＣＨのような強力な誤り訂正アルゴリズムは回避され得、代わりに、ハミング符号のような、これよりも強力でない誤り訂正アルゴリズムが使用され得る。
【００８６】
一実施形態において、生体特徴登録デバイスは、登録ビット列のビットに割り当てられた誤り確率へのアクセスを有する。基準ハッシュ生成部２３０は、登録ビット列及び誤り確率から、複数の多様性登録ビット列を生成するよう構成されている。基準ハッシュ生成部２３０を実施することは、この目的のために、候補ビット列生成部１３０を使用することがある。違いは、生体特徴登録デバイス２０１における誤り確率の起源が、例えば、量子化ユニット１２０の代わりに、バイオメトリックセンサ１１０による複数の計測から得られる等、異なり得ることである。
【００８７】
図２ｂに示される生体特徴登録デバイス２０１は、多様性登録ビット列について誤り訂正符号の符号語を選択し、多様性登録ビット列を、選択された符号語に向けてシフトするための誤り訂正ヘルパーデータを決定するよう構成されている誤り訂正ヘルパーデータ生成部２４０をさらに有する。誤り訂正ヘルパーデータが使用されない場合、誤り訂正ヘルパーデータ生成部は省かれてもよい。誤り訂正符号は、全ての符号語の集合、すなわち、少なくとも３の最少距離を有するＺ２ｎのサブ集合として定義される。ビット列を、最も近い符号語に、すなわち、サブ集合の要素にマッピングする誤り訂正アルゴリズムが、誤り訂正符号に関連付けられる。
【００８８】
誤り訂正ヘルパーデータ生成部は、次のように動作し得る。ｎビットからなる多様性登録ビット列を所与とする。符号語がｎビット以上を有する誤り訂正符号から、符号語が選択される。選択された符号語と多様性登録ビット列とのＸＯＲ差分が、誤り訂正ヘルパーデータである。他の形態の誤り訂正ヘルパーデータも知られている。ハッシュユニット１４０は、選択された符号語又は多様性登録ビット列等に対して作用することができる。
【００８９】
デバイス１００、２００、２０１はそれぞれ、当該デバイスに記憶されている適切なソフトウェアを実行するマイクロプロセッサ（図示せず）を有することができる。例えば、そのようなソフトウェアは、ダウンロードされ、且つ／又は、例えば、ＲＡＭ等の揮発性メモリ若しくはフラッシュ（図示せず）等の不揮発性メモリといった対応するメモリに記憶されたものであり得る。代替的に、デバイス１００、２００、２０１は、その全体又は一部が、例えば、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）といったプログラマブルロジックとして実装されてもよい。デバイス１００、２００、２０１は、その全体又は一部が、いわゆる特定用途向け集積回路（ＡＳＩＣ）として、すなわち、特定の使用に合わせてカスタマイズされた集積回路（ＩＣ）として実装されてもよい。
【００９０】
図３ｃは、誤り確率を使用した候補ビット列生成を示す図である。
【００９１】
登録ビット列３６３及び検証ビット列３６１が図示されている。これらのビット列は、等しくない。検証ビット列３６１周囲の空間３６２は、誤り確率が考慮に入れられなかった場合に生成される必要があるビット列を表している。空間３６２の面積は、エントロピー損失を表す。この空間を探索することは、誤り訂正を通じて、又は、予め定められたハミング重み内の全てのビット列を生成することにより、達成され得る。これらの２つのオプションは、同じエントロピー損失を厳密には与えないが、これらの両方は、関連しない探索空間の一部をカバーするために、多くのエントロピーを損失する。空間３６４は、誤り確率を使用した候補生成を示しており、正しい登録ビット列である可能性を有する候補ビット列のみが生成される。こちらの方が、結果として生じるエントロピー損失は小さい。
【００９２】
使用することができる生体特徴のさらなる例は、ＤＮＡの形態の遺伝情報である。ＤＮＡに基づく生体特徴の場合、検証は、配列の諸部分に基づき得、候補ハッシュ及び基準ハッシュが、個体のＤＮＡのサブ配列（可能であればオーバーラップしている）から得られ得る。
【００９３】
例えば、バイオメトリックセンサは、電気抵抗膜二重層（electrically  resistant  membrane  bilayer）においてナノ細孔集合（nanopore  set）を含み得る。この膜にわたって電圧を設定することにより、イオン電流が、ナノ細孔を通過する。ナノ細孔は、例えば、脂質二重層等の膜において細孔形成タンパク質により形成されるといった生物学的なもの；例えば、窒化ケイ素又はグラフェン等の合成物質において形成される等の固体状のもの；又は、例えば、合成物質における細孔形成タンパク質集合により形成されるといった複合的なものであり得る。
【００９４】
分子がナノ細孔を通過した場合、ナノ細孔を通過した電流の特性崩壊（characteristic  disruption）が観測される。電流崩壊を計測し、例えば相関処理によって、計測された電流崩壊を、予め定められた特性崩壊と比較することにより、分子が分類され得る、又は、識別さえされ得る。ＤＮＡに関しては特に、ＤＮＡの部分的なサブ配列が、シーケンスされ得る。
【００９５】
本発明の一実施形態は、プライバシーを保護するＤＮＡ照合システムである。このシステムでは、基準ハッシュは、部分的なＤＮＡ配列のハッシュされたバージョンである。部分的なＤＮＡ配列は、完全なＤＮＡ配列ではなく、個体を所望される分解能に識別するのに十分な長さの部分的なサブ配列である。この実施形態は、ＤＮＡ配列内のＧ塩基、Ａ塩基、Ｔ塩基、又はＣ塩基を検出するための、例えばナノ細孔を含むセンサを使用するが、興味深いことに、量子化部お及び量子化ヘルパーデータは、登録デバイス又は検証デバイスにおいて、必要とされない。
【００９６】
図４ａは、生体特徴検証デバイス１００等の生体特徴検証デバイスにおけるいくつかのデータ依存関係を示す図である。動作中、バイオメトリックセンサ１１０は、生体特徴検証データ４１０を生成する。生体特徴検証データは、アナログ、すなわち、連続的な性質であり得る。生体特徴検証データ４１０が、例えば量子化ユニット１２０により量子化されて、検証ビット列４２０が得られる。量子化は、量子化ヘルパーデータを使用することができ、検証ビット列４２０のビットに割り当てられる誤り確率を生成することができる。検証ビット列４２０及び誤り確率を使用して、複数の候補ビット列４３０が生成される。生体特徴検証デバイス１００は、複数の候補ビット列の各候補ビット列について、少なくとも１つの候補ハッシュ４４０を生成する。候補ハッシュが、基準ハッシュ記憶部１６２に記憶されている基準ハッシュと比較される。例えば、候補ビット列４３０は、ハッシュユニット１４０によりハッシュされて、候補ハッシュ４４０が得られ得る。
【００９７】
図４ｂは、生体特徴登録デバイス２００又は２０１等の生体特徴登録デバイスにおけるいくつかのデータ依存関係を示す図である。動作中、バイオメトリックセンサ１１０は、生体特徴登録データ４５０を生成する。生体特徴登録データは、アナログ、すなわち、連続的な性質であり得る。生体特徴登録データ４５０は、例えば量子化ユニット２２０により量子化されて、登録ビット列４６０が得られる。バイオメトリックセンサ１１０は、さらに、誤り確率を生成することができる。
【００９８】
量子化は、量子化ヘルパーデータを生成することができる。さらに、多様性登録ビット列４６２が生成され得る。多様性登録ビット列４６２を生成することは、誤り確率を使用することもあるし使用しないこともある。例えば、多様性登録ビット列４６２は、固定数のビットを変えることにより生成され得、例えば、各多様性登録ビット列４６２と登録ビット列４６０との間のハミング重みは、限界値未満であり得る。
【００９９】
誤り訂正ヘルパーデータが使用される場合、符号語４７０が選択され得る。複数の多様性登録ビット列４６２が使用される場合、対応する数の符号語４７０が選択され得る。符号語は、誤り訂正符号からランダムに選択され得る。
【０１００】
最後に、基準ハッシュ４８０が、登録ビット列について算出される、あるいは、複数の基準ハッシュ４８０が、各多様性登録ビット列について算出される。
【０１０１】
ヘルパーデータが使用される場合、ヘルパーデータは、（多様性）登録ビット列及び符号語から決定される。この場合、基準ハッシュ４８０は、登録ビット列ではなく、符号語のみに依存し得る。
【０１０２】
実用的な生体特徴検証において、誤りの確率は、生体特徴の次元にわたって、非常に不均一に分散されることが見出さされた。「誤りがどこにあるか」に関する情報は、演繹的に（a  priori）及び帰納的に（a  posteriori）に、利用可能である。
【０１０３】
演繹的：登録中、所定の次元（所定のビット）は、他の次元より誤りである傾向にある。これは、ユーザに依存し得る。
【０１０４】
帰納的：検証中の、すなわち、ハード量子化（hard  quantizing）前の、ソフト決定情報（soft  decision  information）に基づいて、所定のサンプルが、他のサンプルより量子化境界の近くにあることを確認することができる。そのような次元から抽出されるビットは、大きな量子化間隔の中央にサンプルがある次元から抽出されるビットより、誤りを含む可能性が高い。
【０１０５】
検証中、検証デバイスは、可能性の高い誤り位置に関する情報を利用して、可能性の高いビットパターンの集合をチェックする。この方法は、誤りに関する情報を使用することなく、例えば６３ビットに関するＥＣＣについて小さな利点を有する。ランダムな誤り位置を探索することは、１ビット−誤り許容探索について、６３＋１回の試行を必要とし、２ビット−誤り許容探索について、１＋６３＋６３＊６２／２回の試行を必要とする。しかしながら、検証デバイスが、どのビットが信頼できないかを認識している場合、多くが得られる。
【０１０６】
一例により、この原理が示され得る。どの３ビットが誤りを含む可能性が最も高いかを検証者が判定することを考えてみる。検証者は、誤っている可能性があるビットの全ての８通り（＝２の三乗）の組合せを試行する。このような場合、検証者は、３ビットＥＣＣのエントロピー損失を被ることなく、賢明な試行錯誤により、３つのビット誤りを許容することができ得る。これは、６３ビットの生体特徴のエントロピーを４５ビットに効果的に低減させる。
【０１０７】
検証者は、８つの異なるビット列を受け入れるので、ユーザキャパシティは、２＾（６３−３）ビット、すなわち、２＾６０ビットに低減される。データベーステンプレートデータに対してちょうど働きかけている攻撃者は、２＾６３通りのビット組合せにわたる網羅的探索をなお必要とし、有効秘密エントロピー（effective  secrecy  entropy）は、６３ビットを保つ一方で、ＥＣＣスキームは、４５ビットの秘密エントロピーのみを提供するであろう。
【０１０８】
登録中にも改良が可能である。例えば、登録デバイスは、可能性の高いビットパターンの集合から得られたハッシュ値の集合を（１つのハッシュの代わりに）記憶することができる。検証中、検証デバイスは、これらハッシュ値のうちのいずれかとの合致を受け入れることができる。
【０１０９】
代替的に、登録デバイスは、誤り確率をリリースしてもよい（release）。例えば、このような誤り確率は、特定のユーザについて、所定の次元が信頼できない、ということを示し得る。さらに、このようなスキームは、このユーザに関する個人情報を漏洩させる（「ペギー（peggy）は信頼できない身長値を与える」）。どのビットが信頼できないかを明らかにするのではなく、全てが受け入れられ得る複数のハッシュ値を記憶することがより安全である。後者は、生体特徴における不確実さの度合いに関する情報を明らかにするが、どのビットがより誤りである又はより誤りでない傾向にあるかに関する情報を明らかにしない。
【０１１０】
上記で示したように、方法は組み合わされてもよい。一例として、登録デバイスは、新たに登録される人ごとに、２つの最も可能性の高いビット誤り位置を決定することができる。この２という数は任意であり、例えば１０未満の数といった任意の小さな数であってよい。本システムは、符号シフト及び１ビットＥＣＣを適用することが想定されている。次いで、登録デバイスは、２＾２通りの異なるビット列を生成し、これらのビット列の各ビット列について、符号シフト及びＥＣＣを適用する。登録デバイスは、ＥＣＣ列ごとのハッシュ値を記憶する。
【０１１１】
すなわち、任意のユーザｐのためのヘルパーデータは：
オリジナルの生体特徴に対して適用される、アナログヘルパーデータＷＡｐ、第１の符号シフトＷＤ１，ｐ、及びハッシュＨ１，ｐ、
最も可能性の高い次元に関する意図的な誤りを伴うオリジナルの生体特徴に対して適用される、アナログヘルパーデータＷＡｐ、第２の符号シフトＷＤ２，ｐ、及びハッシュＨ２，ｐ、
２番目に最も可能性の高い次元に関する意図的な誤りを伴うオリジナルの生体特徴に対して適用される、アナログヘルパーデータＷＡｐ、第３の符号シフトＷＤ３，ｐ、及びハッシュＨ３，ｐ、
最も可能性の高い次元及び２番目に最も可能性の高い次元に関する意図的な誤りを伴うオリジナルの生体特徴に対して適用される、アナログヘルパーデータＷＡｐ、第４の符号シフトＷＤ４，ｐ、及びハッシュＨ４，ｐ、
である。
【０１１２】
検証デバイスは、生体特徴を抽出し、上記４つの利用可能な検証データ集合を使用して、生体特徴をテストすることができる。
【０１１３】
図５ａは、生体特徴検証方法５００の概略フローチャートである。方法５００は、基準ハッシュを、生体特徴から得られた検証ビット列と照合する。方法５００は、以下を含む：
−検証ビット列のビットに割り当てられた誤り確率にアクセスすること（５１０）であって、誤り確率は、検証ビット列における当該誤り確率に対応するビットが、登録ビット列における対応するビットと異なる確率を示し、登録ビット列は、上記生体特徴から生体特徴登録デバイスにより以前に得られたものである、アクセスすること（５１０）。例えば、これは、量子化ユニット１２０により行われ得る。
−検証ビット列及び誤り確率から、候補ビット列を生成すること（５２０）。例えば、これは、候補ビット列生成部１３０により行われ得る。
−暗号学的ハッシュ関数を、生成された候補ビット列に適用して、候補ハッシュを得ること（５３０）。例えば、これは、ハッシュユニット１４０により行われ得る。
−ハッシュユニットにより生成された候補ハッシュが、基準ハッシュ記憶部に記憶されている基準ハッシュと合致するかどうかを検証すること（５４０）であって、基準ハッシュ記憶部は、少なくとも１つの基準ハッシュを記憶しており、少なくとも１つの基準ハッシュは、登録ビット列及び上記暗号学的ハッシュ関数から、生体特徴登録デバイスにより得られたものである、検証すること（５４０）。例えば、これは、比較ユニット１６０により行われ得る。
【０１１４】
図５ｂは、生体特徴登録方法５０１の概略フロー図である。方法５０１は、生体特徴から得られた登録ビット列から、基準ハッシュを生成する。生体特徴登録方法５０１は：
−登録ビット列から、複数の多様性登録ビット列を生成すること（５５０）、
−複数の多様性登録ビット列及び暗号学的ハッシュ関数から、複数の基準ハッシュを得ること（５６０）、及び
−複数の基準ハッシュを記憶すること（５７０）
を含む。
さらに、方法５０１は、以下のうちの１以上を含み得る。
−登録ビット列のビットに割り当てられた誤り確率にアクセスすること、
−登録ビット列及び誤り確率から、複数の多様性登録ビット列を生成すること、
−多様性登録ビット列について誤り訂正符号の符号語を選択し、多様性登録ビット列を、選択された符号語に向けてシフトするための誤り訂正ヘルパーデータを決定すること。
【０１１５】
当業者には明らかなように、方法５００及び５０１を実行する多くの異なるやり方が可能である。例えば、上記のステップの順序は、変更されてもよいし、いくつかのステップは、並列に実行されてもよい。さらに、ステップとステップとの間に、他の方法ステップが挿入されてもよい。挿入されるステップは、本明細書に記載の方法等の方法の精細化を表すこともあるし、本明細書に記載の方法等の方法に関連しないこともある。例えば、ステップ５５０及び５６０は、少なくとも部分的に並列に実行されてもよい。さらに、所与のステップは、次のステップが開始される前に、完全には終了していないこともある。
【０１１６】
本発明に従った方法は、プロセッサシステムに方法５００又は５０１を実行させる命令を含むソフトウェアを用いて実行され得る。ソフトウェアは、システムの特定のサブエンティティにより実行されるステップのみを含むこともある。ソフトウェアは、ハードディスク、フロッピ、メモリ等といった適切な記憶媒体に記憶され得る。ソフトウェアは、有線又は無線に沿って、又は、例えばインターネットといったデータネットワークを用いて、伝送され得る。ソフトウェアは、ダウンロード及び／又はサーバ上でのリモート使用のために、利用可能にされ得る。本発明に従った方法は、本発明に従った方法を実行するように、例えばフィールドプログラマブルゲートアレイ（ＦＰＧＡ）といったプログラマブルロジックを構成するよう構成されているビットストリームを使用して実行されてもよい。
【０１１７】
図６ａは、コンピュータプログラム１０２０を含む書き込み可能な部分１０１０を有するコンピュータ読み取り可能な媒体１０００を示している。コンピュータプログラム１０２０は、一実施形態に従って、ハッシュ値を、生体特徴から得られた検証ビット列と比較する生体特徴検証方法、又は、生体特徴から得られた登録ビット列から、基準ハッシュを生成する生体特徴登録方法、をプロセッサシステムに実行させる命令を含む。
【０１１８】
コンピュータプログラム１０２０は、物理的マークとして、又は、コンピュータ読み取り可能な媒体１０００の磁気化により、コンピュータ読み取り可能な媒体１０００上にグ具現化され得る。しかしながら、任意の他の適切な実施形態も可能である。さらに、図７ａにおいて、コンピュータ読み取り可能な媒体１０００が、光ディスクとして示されているが、コンピュータ読み取り可能な媒体１０００は、ハードディスク、ソリッドステートメモリ、フラッシュメモリ等といった任意の適切なコンピュータ読み取り可能な媒体であってよく、非レコーダブル型であってもレコーダブル型であってもよいことが理解されよう。コンピュータプログラム１０２０は、プロセッサシステムに、前述の方法のうちの１つの方法を実行させる命令を含む。
【０１１９】
図６ｂは、本発明に従ったプロセッサシステム１１００の概略表現を上方視点で示している。プロセッサシステムは、１以上の集積回路１１１０を有する。図６ｂにおいて、１以上の集積回路１１１０のアーキテクチャが概略的に示されている。回路１１１０は、本発明に従った方法を実行するためのコンピュータプログラムコンポーネント及び／又はそのモジュール若しくはユニットを実装するためのコンピュータプログラムコンポーネントを実行する処理ユニット１１２０（例えば、ＣＰＵ）を有する。回路１１１０は、プログラミングコード、データ等を記憶するメモリ１１２２を有する。メモリ１１２２の一部は、読み取り専用であり得る。回路１１１０は、通信要素（例えば、アンテナ、コネクタ、又はこれらの両方等）を有することができる。回路１１１０は、上記方法において規定される処理の一部又は全てを実行する専用集積回路１１２４を有してもよい。プロセッサ１１２０、メモリ１１２２、専用ＩＣ１１２４、及び通信要素１１２６は、インターコネクト１１３０（例えば、バス）を介して、互いに接続され得る。プロセッサシステム１１１０は、アンテナ及び／又はコネクタをそれぞれ使用する接触型通信及び／又は非接触型通信のために構成され得る。
【０１２０】
本発明は、本発明を実行するために構成されているコンピュータプログラム、特に、キャリア上又はキャリア内のコンピュータプログラムにも拡張されることが理解されよう。コンピュータプログラムは、ソースコード、オブジェクトコード、ソースコードとオブジェクトコードとの中間のコードの形態、例えば、部分的にコンパイルされた形態、又は、本発明に従った方法の実装において使用するのに適した任意の他の形態であり得る。コンピュータプログラム製品に関する一実施形態は、上記方法のうちの少なくとも１つの方法の処理ステップの各処理ステップに対応するコンピュータ実行可能な命令を含む。これらの命令は、サブルーチンに細分割され得る、且つ／又は、静的又は動的にリンクされ得る１以上のファイルに記憶され得る。コンピュータプログラム製品に関する別の実施形態は、上記システム及び／又は製品のうちの少なくとも１つの手段の各手段に対応するコンピュータ実行可能な命令を含む。
【０１２１】
上述した実施形態は、本発明を限定するものではなく、当業者は、多くの代替実施形態を設計することができることに留意されたい。
【０１２２】
有利な生体特徴検証手段が、以下の項目に記載される。出願人は、これにより、本出願の審査過程又は本出願から派生する任意のさらなる出願の審査過程中に、新たな請求項が、そのような項目、並びに／又は、そのような項目及び／若しくは本記載から得られる特徴の組合せに編成され得ることを通知する。
【０１２３】
１．
基準ハッシュ（４８０）を、生体特徴から得られた検証ビット列（４２０）と比較するよう構成されている生体特徴検証デバイス（１００）であって、
−前記生体特徴検証デバイスは、前記検証ビット列のビットに割り当てられた誤り確率（１７０）へのアクセスを有し、誤り確率は、前記検証ビット列における該誤り確率に対応するビットが、登録ビット列における対応するビットと異なる確率を示し、前記登録ビット列は、前記生体特徴から生体特徴登録デバイスにより以前に得られたものであり、
前記生体特徴検証デバイスは、
−前記検証ビット列及び前記誤り確率から、候補ビット列（４３０）を生成するよう構成されている候補ビット列生成部（１３０）と、
−暗号学的ハッシュ関数を、前記の生成された候補ビット列に適用して、候補ハッシュを得るよう構成されているハッシュユニット（１４０）と、
−少なくとも１つの基準ハッシュを記憶するよう構成されている基準ハッシュ記憶部（１６２）であって、前記少なくとも１つの基準ハッシュは、前記登録ビット列及び前記暗号学的ハッシュ関数から、前記生体特徴登録デバイスにより得られたものである、基準ハッシュ記憶部（１６２）と、
−前記ハッシュユニットにより生成された候補ハッシュが、前記基準ハッシュ記憶部に記憶されている基準ハッシュと合致するかどうかを検証するよう構成されている比較ユニットと、
を有する、生体特徴検証デバイス。
【０１２４】
２．
前記生体特徴検証デバイスは、バイオメトリックセンサ（１１０）から生体特徴検証データを得るよう構成されており、前記バイオメトリックセンサは、前記生体特徴を計測するよう構成されており、前記生体特徴検証デバイスは、
−前記生体特徴検証データのうちの少なくとも一部を、量子化範囲の集合のうちの量子化範囲内の点にマッピングすることにより、前記生体特徴検証データを量子化するよう構成されている量子化ユニット（１２０）であって、前記量子化範囲の集合における量子化範囲は、量子化ビット列に対応する、量子化ユニット（１２０）
を有し、
−前記生体特徴検証デバイスは、前記生体特徴検証データから前記量子化ユニットにより得られた１以上の量子化ビット列を一緒に一列に並べて、前記検証ビット列を形成するよう構成されており、
−前記量子化ユニットは、前記生体特徴検証データのうちの前記少なくとも一部がマッピングされた、前記量子化範囲内の前記点と、該量子化範囲の最も近い端点と、の間の距離を決定し、誤り確率を、前記検証ビット列における対応するビットに割り当てるようさらに構成されている、項目１記載の生体特徴検証デバイス。
【０１２５】
３．
前記量子化ユニットは、前記生体特徴検証データのうちの前記少なくとも一部を、前記量子化範囲内の前記点にマッピングする前に、量子化ヘルパーデータを、前記生体特徴検証データのうちの前記少なくとも一部に適用するよう構成されている、項目２記載の生体特徴検証デバイス。
【０１２６】
４．
前記生体特徴検証デバイスは、前記生体特徴登録デバイスにより得られた誤り確率を受信する入力部（１７２）を有する、項目１乃至３いずれか記載の生体特徴検証デバイス。
【０１２７】
５．
前記候補ビット列生成部は、誤り確率閾値未満である総誤り確率を有する候補ビット列を生成するよう構成されており、前記総誤り確率は、前記検証ビット列のビットに割り当てられた前記誤り確率から決定される、項目１乃至４いずれか記載の生体特徴検証デバイス。
【０１２８】
６．
前記候補ビット列生成部は、最大の割り当てられた誤り確率を有する、前記検証ビット列における選択数のビットを選択し、前記の選択されたビットの値が変えられる候補ビット列を生成するよう構成されている、項目１乃至５いずれか記載の生体特徴検証デバイス。
【０１２９】
７．
−前記選択数は１であるか、
−前記選択数は２であるか、あるいは、
−前記選択数は３である、項目６記載の生体特徴検証デバイス。
【０１３０】
８．
−前記基準ハッシュ記憶部は、前記少なくとも１つの基準ハッシュとともに、該基準ハッシュに対応する誤り訂正ヘルパーデータを記憶するよう構成されており、
−前記生体特徴検証デバイスは、誤り訂正アルゴリズムをビット列に適用するよう構成されている誤り訂正ユニットを有し、
−前記候補ビット列生成部は、前記検証ビット列及び前記誤り確率から、中間候補ビット列を生成し、誤り訂正ヘルパーデータを前記中間候補ビット列に適用することにより、前記中間候補ビット列を、誤り訂正符号の符号語に向けてシフトし、前記誤り訂正ユニットを、前記のシフトされた中間候補ビット列に適用して、前記候補ビット列を得るよう構成されており、
−前記比較ユニットは、前記ハッシュユニットにより生成された候補ハッシュが、該候補ハッシュが得られた元である前記中間候補ビット列に適用された前記誤り訂正ヘルパーデータに対応する基準ハッシュと合致するかどうかを検証するよう構成されている、項目１乃至７いずれか記載の生体特徴検証デバイス。
【０１３１】
９．
前記基準ハッシュ記憶部は、複数の基準ハッシュを記憶するよう構成されており、前記複数の基準ハッシュは、前記生体特徴登録デバイスにより得られたものである、項目１乃至８いずれか記載の生体特徴検証デバイス。
【０１３２】
１０．
前記基準ハッシュ記憶部は、前記複数の基準ハッシュとともに、複数の対応する誤り訂正ヘルパーデータを記憶するよう構成されている、項目８記載の生体特徴検証デバイスと項目９記載の生体特徴検証デバイスとを組み合わせた生体特徴検証デバイス。
【０１３３】
１１．
生体特徴から得られた登録ビット列から、基準ハッシュを生成するよう構成されている生体特徴登録デバイス（２００）であって、
−前記登録ビット列から、複数の多様性登録ビット列を生成するよう構成されている基準ハッシュ生成部と、
−前記複数の多様性登録ビット列及び暗号学的ハッシュ関数から、複数の基準ハッシュを得るよう構成されているハッシュユニットと、
−前記複数の基準ハッシュを記憶するよう構成されている基準ハッシュ記憶部と、
を有する、生体特徴登録デバイス。
【０１３４】
１２．
前記生体特徴登録デバイスは、前記登録ビット列のビットに割り当てられた誤り確率へのアクセスを有し、前記基準ハッシュ生成部は、前記登録ビット列及び前記誤り確率から、複数の多様性登録ビット列を生成するよう構成されている、項目１１記載の生体特徴登録デバイス。
【０１３５】
１３．
多様性登録ビット列について誤り訂正符号の符号語を選択し、該多様性登録ビット列を、前記の選択された符号語に向けてシフトするための誤り訂正ヘルパーデータを決定するよう構成されている誤り訂正ヘルパーデータ生成部
を有する、項目１１又は１２記載の生体特徴登録デバイス。
【０１３６】
１４．
項目９記載の生体特徴検証デバイスと、項目１１記載の生体特徴登録デバイスと、を有するバイオメトリックシステム。
【０１３７】
１５．
基準ハッシュを、生体特徴から得られた検証ビット列と比較する生体特徴検証方法（５００）であって、
−前記検証ビット列のビットに割り当てられた誤り確率にアクセスするステップであって、誤り確率は、前記検証ビット列における該誤り確率に対応するビットが、登録ビット列における対応するビットと異なる確率を示し、前記登録ビット列は、前記生体特徴から生体特徴登録デバイスにより以前に得られたものである、ステップと、
−前記検証ビット列及び前記誤り確率から、候補ビット列を生成するステップと、
−暗号学的ハッシュ関数を、前記の生成された候補ビット列に適用して、候補ハッシュを得るステップと、
−ハッシュユニットにより生成された候補ハッシュが、基準ハッシュ記憶部に記憶されている基準ハッシュと合致するかどうかを検証するステップであって、前記基準ハッシュ記憶部は、少なくとも１つの基準ハッシュを記憶しており、前記少なくとも１つの基準ハッシュは、前記登録ビット列及び前記暗号学的ハッシュ関数から、前記生体特徴登録デバイスにより得られたものである、ステップと、
を含む、生体特徴検証方法。
【０１３８】
１６．
生体特徴から得られた登録ビット列から、基準ハッシュを生成するよう生体特徴登録方法（５０１）であって、
−前記登録ビット列から、複数の多様性登録ビット列を生成するステップと、
−前記複数の多様性登録ビット列及び暗号学的ハッシュ関数から、複数の基準ハッシュを得るステップと、
−前記複数の基準ハッシュを記憶するステップと、
を含む、生体特徴登録方法。
【０１３９】
１７．
コンピュータ上で実行されたときに項目１５又は１６の全てのステップを実行するよう適合されているコンピュータプログラムコード手段を含むコンピュータプログラム。
【０１４０】
１８．
前記コンピュータプログラムは、コンピュータ読み取り可能な媒体上に具現化されている、項目１７記載のコンピュータプログラム。
【０１４１】
請求項において、括弧内に配置されるいかなる参照符号も、請求項を限定するものとして解釈されるべきではない。動詞「有する」及びその活用形の使用は、請求項中に記載された要素又はステップ以外の要素又はステップの存在を排除しない。要素に先行する冠詞「a」又は「an」は、そのような要素の複数の存在を排除しない。本発明は、複数の異なる要素を有するハードウェアにより実施され得、適切にプログラムされたコンピュータにより実施され得る。複数の手段を列挙するデバイスの請求項において、それらの手段のうちのいくつかは、ハードウェアの１つの同じアイテムにより具現化されることもある。所定の手段が相互に異なる従属請求項に記載されるという単なる事実は、これらの手段の組合せが有利に使用され得ないことを示すものではない。
【符号の説明】
【０１４２】
図１ａ〜図４ｂにおける参照符号のリスト：
１００  生体特徴検証デバイス
１１０  バイオメトリックセンサ
１２０  量子化ユニット
１３０、１３１  候補ビット列生成部
１３２  中間候補ビット列生成部
１３３  誤り訂正ヘルパーデータ適用ユニット
１３４  誤り訂正ユニット
１４０  ハッシュユニット
１５０  量子化ヘルパーデータ記憶部
１６０  比較ユニット
１６２  基準ハッシュ記憶部
１７０  誤り確率記憶部
１７２  入力部
２００、２０１  生体特徴登録デバイス
２２０  量子化ユニット
２２２  量子化ヘルパーデータ記憶部
２３０  基準ハッシュ生成部
２４０  誤り訂正ヘルパーデータ生成部
３００  軸
３１０〜３５０  量子化範囲
３２１  量子化範囲３２０の中心
３２２、３２４  量子化範囲内の点
４１０  生体特徴検証データ
４２０  検証ビット列
４３０  候補ビット列
４４０  候補ハッシュ
４５０  生体特徴登録データ
４６０  登録ビット列
４６２  多様性登録ビット列
４７０  符号語
４８０  基準ハッシュ
【図１ａ】
0006272499.tif 000007
【図１ｂ】
0006272499.tif 000008
【図２ａ】
0006272499.tif 000009
【図２ｂ】
0006272499.tif 000010
【図３ａ】
0006272499.tif 000011
【図３ｂ】
0006272499.tif 000012
【図３ｃ】
0006272499.tif 000013
【図４ａ】
0006272499.tif 000014
【図４ｂ】
0006272499.tif 000015
【図５ａ】
0006272499.tif 000016
【図５ｂ】
0006272499.tif 000017
【図６ａ】
0006272499.tif 000018
【図６ｂ】
0006272499.tif 000019