経験的ビット誤り確率に基づく生体特徴候補及び基準のソフト生成

申请号 JP2016557654 申请日 2015-03-17 公开(公告)号 JP2017511536A 公开(公告)日 2017-04-20
申请人 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V.; コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V.; 发明人 マリー ヘラルト リンナルツ,ヨハン−パウル; マリー ヘラルト リンナルツ,ヨハン−パウル;
摘要 基準ハッシュ(480)を、生体特徴から得られた検証ビット列(420)と比較するよう構成されている生体特徴検証デバイス(100)は、検証ビット列及び誤り確率から、候補ビット列(430)を生成するよう構成されている候補ビット列生成部(130)と、暗号学的ハッシュ関数を、生成された候補ビット列に適用して、候補ハッシュを得るよう構成されているハッシュユニット(140)と、ハッシュユニットにより生成された候補ハッシュが、基準ハッシュと合致するかどうかを検証するよう構成されている比較ユニット(160)と、を有する。
权利要求

基準ハッシュを、生体特徴から得られた検証ビット列と比較するよう構成されている生体特徴検証デバイスであって、 前記生体特徴検証デバイスは、前記検証ビット列のビットに割り当てられた誤り確率へのアクセスを有し、誤り確率は、前記検証ビット列における該誤り確率に対応するビットが、登録ビット列における対応するビットと異なる確率を示し、前記登録ビット列は、前記生体特徴から生体特徴登録デバイスにより以前に得られたものであり、 前記生体特徴検証デバイスは、 前記検証ビット列及び前記誤り確率から、候補ビット列を生成するよう構成されている候補ビット列生成部と、 暗号学的ハッシュ関数を、前記の生成された候補ビット列に適用して、候補ハッシュを得るよう構成されているハッシュユニットと、 少なくとも1つの基準ハッシュを記憶するよう構成されている基準ハッシュ記憶部であって、前記少なくとも1つの基準ハッシュは、前記登録ビット列及び前記暗号学的ハッシュ関数から、前記生体特徴登録デバイスにより得られたものである、基準ハッシュ記憶部と、 前記ハッシュユニットにより生成された候補ハッシュが、前記基準ハッシュ記憶部に記憶されている基準ハッシュと合致するかどうかを検証するよう構成されている比較ユニットと、 を有し、 前記生体特徴検証デバイスは、バイオメトリックセンサから生体特徴検証データを得るよう構成されており、前記バイオメトリックセンサは、前記生体特徴を計測するよう構成されており、前記生体特徴検証デバイスは、 前記生体特徴検証データのうちの少なくとも一部を、量子化範囲の集合のうちの量子化範囲内の点にマッピングすることにより、前記生体特徴検証データを量子化するよう構成されている量子化ユニットであって、前記量子化範囲の集合における量子化範囲は、量子化ビット列に対応する、量子化ユニット を有し、 前記生体特徴検証デバイスは、前記生体特徴検証データから前記量子化ユニットにより得られた1以上の量子化ビット列を一緒に一列に並べて、前記検証ビット列を形成するよう構成されており、 前記量子化ユニットは、前記生体特徴検証データのうちの前記少なくとも一部がマッピングされた、前記量子化範囲内の前記点と、該量子化範囲の最も近い端点と、の間の距離を決定し、誤り確率を、前記検証ビット列における対応するビットに割り当てるようさらに構成されている、生体特徴検証デバイス。前記量子化ユニットは、前記生体特徴検証データのうちの前記少なくとも一部を、前記量子化範囲内の前記点にマッピングする前に、量子化ヘルパーデータを、前記生体特徴検証データのうちの前記少なくとも一部に適用するよう構成されている、請求項1記載の生体特徴検証デバイス。前記生体特徴検証デバイスは、前記生体特徴登録デバイスにより得られた誤り確率を受信する入部を有する、請求項1又は2記載の生体特徴検証デバイス。前記候補ビット列生成部は、誤り確率閾値未満である総誤り確率を有する候補ビット列を生成するよう構成されており、前記総誤り確率は、前記検証ビット列のビットに割り当てられた前記誤り確率から決定される、請求項1乃至3いずれか一項記載の生体特徴検証デバイス。前記候補ビット列生成部は、最大の割り当てられた誤り確率を有する、前記検証ビット列における選択数のビットを選択し、前記の選択されたビットの値が変えられる候補ビット列を生成するよう構成されている、請求項1乃至4いずれか一項記載の生体特徴検証デバイス。前記選択数は1であるか、 前記選択数は2であるか、あるいは、 前記選択数は3である、請求項5記載の生体特徴検証デバイス。前記基準ハッシュ記憶部は、前記少なくとも1つの基準ハッシュとともに、該基準ハッシュに対応する誤り訂正ヘルパーデータを記憶するよう構成されており、 前記生体特徴検証デバイスは、誤り訂正アルゴリズムをビット列に適用するよう構成されている誤り訂正ユニットを有し、 前記候補ビット列生成部は、前記検証ビット列及び前記誤り確率から、中間候補ビット列を生成し、誤り訂正ヘルパーデータを前記中間候補ビット列に適用することにより、前記中間候補ビット列を、誤り訂正符号の符号語に向けてシフトし、前記誤り訂正ユニットを、前記のシフトされた中間候補ビット列に適用して、前記候補ビット列を得るよう構成されており、 前記比較ユニットは、前記ハッシュユニットにより生成された候補ハッシュが、該候補ハッシュが得られた元である前記中間候補ビット列に適用された前記誤り訂正ヘルパーデータに対応する基準ハッシュと合致するかどうかを検証するよう構成されている、請求項1乃至6いずれか一項記載の生体特徴検証デバイス。前記基準ハッシュ記憶部は、複数の基準ハッシュを記憶するよう構成されており、前記複数の基準ハッシュは、前記生体特徴登録デバイスにより得られたものである、請求項1乃至7いずれか一項記載の生体特徴検証デバイス。前記基準ハッシュ記憶部は、前記複数の基準ハッシュとともに、複数の対応する誤り訂正ヘルパーデータを記憶するよう構成されている、請求項7記載の生体特徴検証デバイスと請求項8記載の生体特徴検証デバイスとを組み合わせた生体特徴検証デバイス。生体特徴から得られた登録ビット列から、基準ハッシュを生成するよう構成されている生体特徴登録デバイスであって、 前記登録ビット列から、複数の多様性登録ビット列を生成するよう構成されている基準ハッシュ生成部と、 前記複数の多様性登録ビット列及び暗号学的ハッシュ関数から、複数の基準ハッシュを得るよう構成されているハッシュユニットと、 前記複数の基準ハッシュを記憶するよう構成されている基準ハッシュ記憶部と、 を有し、 前記生体特徴登録デバイスは、バイオメトリックセンサから、生体特徴登録データを得るよう構成されており、前記バイオメトリックセンサは、前記生体特徴を計測するよう構成されており、前記生体特徴登録デバイスは、 前記生体特徴登録データのうちの少なくとも一部を、量子化範囲の集合のうちの量子化範囲内の点にマッピングすることにより、前記生体特徴登録データを量子化するよう構成されている量子化ユニットであって、前記量子化範囲の集合における量子化範囲は、量子化ビット列に対応する、量子化ユニット を有し、 前記生体特徴登録デバイスは、前記生体特徴登録データから前記量子化ユニットにより得られた1以上の量子化ビット列を一緒に一列に並べて、前記検証ビット列を形成するよう構成されている、生体特徴登録デバイス。前記量子化ユニットは、前記生体特徴登録データのうちの前記少なくとも一部がマッピングされた、前記量子化範囲内の前記点と、該量子化範囲の最も近い端点と、の間の距離を決定し、誤り確率を、前記登録ビット列における対応するビットに割り当てるようさらに構成されており、 前記生体特徴登録デバイスは、前記登録ビット列のビットに割り当てられた前記誤り確率へのアクセスを有し、前記基準ハッシュ生成部は、前記登録ビット列及び前記誤り確率から、複数の多様性登録ビット列を生成するよう構成されている、請求項10記載の生体特徴登録デバイス。多様性登録ビット列について誤り訂正符号の符号語を選択し、該多様性登録ビット列を、前記の選択された符号語に向けてシフトするための誤り訂正ヘルパーデータを決定するよう構成されている誤り訂正ヘルパーデータ生成部 を有する、請求項10又は11記載の生体特徴登録デバイス。請求項8記載の生体特徴検証デバイスと、請求項10記載の生体特徴登録デバイスと、を有するバイオメトリックシステム。基準ハッシュを、生体特徴から得られた検証ビット列と比較する生体特徴検証方法であって、 バイオメトリックセンサから、生体特徴検証データを得るステップと、 前記生体特徴検証データのうちの少なくとも一部を、量子化範囲の集合のうちの量子化範囲内の点にマッピングすることにより、前記生体特徴検証データを量子化し、前記生体特徴検証データから得られた1以上の量子化ビット列を一緒に一列に並べて、検証ビット列を形成するステップであって、前記量子化範囲の集合における量子化範囲は、量子化ビット列に対応する、ステップと、 前記検証ビット列のビットに割り当てられた誤り確率にアクセスするステップであって、誤り確率は、前記検証ビット列における該誤り確率に対応するビットが、登録ビット列における対応するビットと異なる確率を示し、前記登録ビット列は、前記生体特徴から生体特徴登録デバイスにより以前に得られたものであり、アクセスする該ステップは、前記生体特徴検証データのうちの前記少なくとも一部がマッピングされた、前記量子化範囲内の前記点と、該量子化範囲の最も近い端点と、の間の距離を決定し、誤り確率を、前記検証ビット列における対応するビットに割り当てるステップを含む、ステップと、 前記検証ビット列及び前記誤り確率から、候補ビット列を生成するステップと、 暗号学的ハッシュ関数を、前記の生成された候補ビット列に適用して、候補ハッシュを得るステップと、 生成された候補ハッシュが、基準ハッシュ記憶部に記憶されている基準ハッシュと合致するかどうかを検証するステップであって、前記基準ハッシュ記憶部は、少なくとも1つの基準ハッシュを記憶しており、前記少なくとも1つの基準ハッシュは、前記登録ビット列及び前記暗号学的ハッシュ関数から、前記生体特徴登録デバイスにより得られたものである、ステップと、 を含む、生体特徴検証方法。生体特徴から得られた登録ビット列から、基準ハッシュを生成するよう生体特徴登録方法であって、 前記登録ビット列から、複数の多様性登録ビット列を生成するステップと、 前記複数の多様性登録ビット列及び暗号学的ハッシュ関数から、複数の基準ハッシュを得るステップと、 前記複数の基準ハッシュを記憶するステップと、 を含む、生体特徴登録方法。コンピュータ上で実行されたときに請求項14又は15の全てのステップを前記コンピュータに実行させるコンピュータプログラム。請求項16記載のコンピュータプログラムを記憶しているコンピュータ読み取り可能な記憶媒体。

基準ハッシュを、生体特徴から得られた検証ビット列と比較するよう構成されている生体特徴検証デバイスであって、 前記生体特徴検証デバイスは、前記検証ビット列のビットに割り当てられた誤り確率へのアクセスを有し、誤り確率は、前記検証ビット列における該誤り確率に対応するビットが、登録ビット列における対応するビットと異なる確率を示し、前記登録ビット列は、前記生体特徴から生体特徴登録デバイスにより以前に得られたものであり、 前記生体特徴検証デバイスは、 前記検証ビット列及び前記誤り確率から、候補ビット列を生成するよう構成されている候補ビット列生成部と、 暗号学的ハッシュ関数を、前記の生成された候補ビット列に適用して、候補ハッシュを得るよう構成されているハッシュユニットと、 少なくとも1つの基準ハッシュを記憶するよう構成されている基準ハッシュ記憶部であって、前記少なくとも1つの基準ハッシュは、前記登録ビット列及び前記暗号学的ハッシュ関数から、前記生体特徴登録デバイスにより得られたものである、基準ハッシュ記憶部と、 前記ハッシュユニットにより生成された候補ハッシュが、前記基準ハッシュ記憶部に記憶されている基準ハッシュと合致するかどうかを検証するよう構成されている比較ユニットと、 を有し、 前記生体特徴検証デバイスは、バイオメトリックセンサから生体特徴検証データを得るよう構成されており、前記バイオメトリックセンサは、前記生体特徴を計測するよう構成されており、前記生体特徴検証デバイスは、 前記生体特徴検証データのうちの少なくとも一部を、量子化範囲の集合のうちの量子化範囲内の点にマッピングすることにより、前記生体特徴検証データを量子化するよう構成されている量子化ユニットであって、前記量子化範囲の集合における量子化範囲は、量子化ビット列に対応する、量子化ユニット を有し、 前記生体特徴検証デバイスは、前記生体特徴検証データから前記量子化ユニットにより得られた1以上の量子化ビット列を一緒に一列に並べて、前記検証ビット列を形成するよう構成されており、 前記量子化ユニットは、前記生体特徴検証データのうちの前記少なくとも一部がマッピングされた、前記量子化範囲内の前記点と、該量子化範囲の最も近い端点と、の間の距離を決定し、誤り確率を、前記検証ビット列における対応するビットに割り当てるようさらに構成されている、生体特徴検証デバイス。前記量子化ユニットは、前記生体特徴検証データのうちの前記少なくとも一部を、前記量子化範囲内の前記点にマッピングする前に、量子化ヘルパーデータを、前記生体特徴検証データのうちの前記少なくとも一部に適用するよう構成されている、請求項1記載の生体特徴検証デバイス。前記生体特徴検証デバイスは、前記生体特徴登録デバイスにより得られた誤り確率を受信する入力部を有する、請求項1又は2記載の生体特徴検証デバイス。前記候補ビット列生成部は、誤り確率閾値未満である総誤り確率を有する候補ビット列を生成するよう構成されており、前記総誤り確率は、前記検証ビット列のビットに割り当てられた前記誤り確率から決定される、請求項1乃至3いずれか一項記載の生体特徴検証デバイス。前記候補ビット列生成部は、最大の割り当てられた誤り確率を有する、前記検証ビット列における選択数のビットを選択し、前記の選択されたビットの値が変えられる候補ビット列を生成するよう構成されている、請求項1乃至4いずれか一項記載の生体特徴検証デバイス。前記選択数は1であるか、 前記選択数は2であるか、あるいは、 前記選択数は3である、請求項5記載の生体特徴検証デバイス。前記基準ハッシュ記憶部は、前記少なくとも1つの基準ハッシュとともに、該基準ハッシュに対応する誤り訂正ヘルパーデータを記憶するよう構成されており、 前記生体特徴検証デバイスは、誤り訂正アルゴリズムをビット列に適用するよう構成されている誤り訂正ユニットを有し、 前記候補ビット列生成部は、前記検証ビット列及び前記誤り確率から、中間候補ビット列を生成し、誤り訂正ヘルパーデータを前記中間候補ビット列に適用することにより、前記中間候補ビット列を、誤り訂正符号の符号語に向けてシフトし、前記誤り訂正ユニットを、前記のシフトされた中間候補ビット列に適用して、前記候補ビット列を得るよう構成されており、 前記比較ユニットは、前記ハッシュユニットにより生成された候補ハッシュが、該候補ハッシュが得られた元である前記中間候補ビット列に適用された前記誤り訂正ヘルパーデータに対応する基準ハッシュと合致するかどうかを検証するよう構成されている、請求項1乃至6いずれか一項記載の生体特徴検証デバイス。前記基準ハッシュ記憶部は、複数の基準ハッシュを記憶するよう構成されており、前記複数の基準ハッシュは、前記生体特徴登録デバイスにより得られたものである、請求項1乃至7いずれか一項記載の生体特徴検証デバイス。前記基準ハッシュ記憶部は、前記複数の基準ハッシュとともに、複数の対応する誤り訂正ヘルパーデータを記憶するよう構成されている、請求項7記載の生体特徴検証デバイスと請求項8記載の生体特徴検証デバイスとを組み合わせた生体特徴検証デバイス。生体特徴から得られた登録ビット列から、基準ハッシュを生成するよう構成されている生体特徴登録デバイスであって、 前記登録ビット列から、複数の多様性登録ビット列を生成するよう構成されている基準ハッシュ生成部と、 前記複数の多様性登録ビット列及び暗号学的ハッシュ関数から、複数の基準ハッシュを得るよう構成されているハッシュユニットと、 前記複数の基準ハッシュを記憶するよう構成されている基準ハッシュ記憶部と、 を有し、 前記生体特徴登録デバイスは、バイオメトリックセンサから、生体特徴登録データを得るよう構成されており、前記バイオメトリックセンサは、前記生体特徴を計測するよう構成されており、前記生体特徴登録デバイスは、 前記生体特徴登録データのうちの少なくとも一部を、量子化範囲の集合のうちの量子化範囲内の点にマッピングすることにより、前記生体特徴登録データを量子化するよう構成されている量子化ユニットであって、前記量子化範囲の集合における量子化範囲は、量子化ビット列に対応する、量子化ユニット を有し、 前記生体特徴登録デバイスは、前記生体特徴登録データから前記量子化ユニットにより得られた1以上の量子化ビット列を一緒に一列に並べて、前記登録ビット列を形成するよう構成されている、生体特徴登録デバイス。前記量子化ユニットは、前記生体特徴登録データのうちの前記少なくとも一部がマッピングされた、前記量子化範囲内の前記点と、該量子化範囲の最も近い端点と、の間の距離を決定し、誤り確率を、前記登録ビット列における対応するビットに割り当てるようさらに構成されており、 前記生体特徴登録デバイスは、前記登録ビット列のビットに割り当てられた前記誤り確率へのアクセスを有し、前記基準ハッシュ生成部は、前記登録ビット列及び前記誤り確率から、複数の多様性登録ビット列を生成するよう構成されている、請求項10記載の生体特徴登録デバイス。多様性登録ビット列について誤り訂正符号の符号語を選択し、該多様性登録ビット列を、前記の選択された符号語に向けてシフトするための誤り訂正ヘルパーデータを決定するよう構成されている誤り訂正ヘルパーデータ生成部 を有する、請求項10又は11記載の生体特徴登録デバイス。請求項8記載の生体特徴検証デバイスと、請求項10記載の生体特徴登録デバイスと、を有するバイオメトリックシステム。基準ハッシュを、生体特徴から得られた検証ビット列と比較する生体特徴検証方法であって、 バイオメトリックセンサから、生体特徴検証データを得るステップと、 前記生体特徴検証データのうちの少なくとも一部を、量子化範囲の集合のうちの量子化範囲内の点にマッピングすることにより、前記生体特徴検証データを量子化し、前記生体特徴検証データから得られた1以上の量子化ビット列を一緒に一列に並べて、検証ビット列を形成するステップであって、前記量子化範囲の集合における量子化範囲は、量子化ビット列に対応する、ステップと、 前記検証ビット列のビットに割り当てられた誤り確率にアクセスするステップであって、誤り確率は、前記検証ビット列における該誤り確率に対応するビットが、登録ビット列における対応するビットと異なる確率を示し、前記登録ビット列は、前記生体特徴から生体特徴登録デバイスにより以前に得られたものであり、アクセスする該ステップは、前記生体特徴検証データのうちの前記少なくとも一部がマッピングされた、前記量子化範囲内の前記点と、該量子化範囲の最も近い端点と、の間の距離を決定し、誤り確率を、前記検証ビット列における対応するビットに割り当てるステップを含む、ステップと、 前記検証ビット列及び前記誤り確率から、候補ビット列を生成するステップと、 暗号学的ハッシュ関数を、前記の生成された候補ビット列に適用して、候補ハッシュを得るステップと、 生成された候補ハッシュが、基準ハッシュ記憶部に記憶されている基準ハッシュと合致するかどうかを検証するステップであって、前記基準ハッシュ記憶部は、少なくとも1つの基準ハッシュを記憶しており、前記少なくとも1つの基準ハッシュは、前記登録ビット列及び前記暗号学的ハッシュ関数から、前記生体特徴登録デバイスにより得られたものである、ステップと、 を含む、生体特徴検証方法。生体特徴から得られた登録ビット列から、基準ハッシュを生成するよう生体特徴登録方法であって、 前記登録ビット列から、複数の多様性登録ビット列を生成するステップと、 前記複数の多様性登録ビット列及び暗号学的ハッシュ関数から、複数の基準ハッシュを得るステップと、 前記複数の基準ハッシュを記憶するステップと、 を含む、生体特徴登録方法。コンピュータ上で実行されたときに請求項14又は15の全てのステップを前記コンピュータに実行させるコンピュータプログラム。請求項16記載のコンピュータプログラムを記憶しているコンピュータ読み取り可能な記憶媒体。

说明书全文

本発明は、生体特徴検証デバイス及び生体特徴登録デバイスに関する。

バイオメトリクスの適用は、しばしばその利便性を理由として、認証又は識別のための一般的ソリューションになっている。しかしながら、生体特徴の記憶は、攻撃者が生体特徴を悪用することをより容易にするため、ユーザのセキュリティ及びプライバシーのリスクの両方をもたらす。生体特徴を記憶することに伴うセキュリティのリスクは、そのような特徴から、例えばゴム製の指(rubber finger)といった偽造の生体特徴が複製されることを含む。偽造の生体特徴は、犯罪場面において偽造の証拠を残すために、又は、個人情報又はサービスへのアクセスを得るために、使用されるおそれがある。さらに、生体特徴を記憶することに伴うプライバシーの懸念が存在する。いくつかの生体特徴は、ユーザの病気及び疾患を明らかにしてしまうことが知られており、保護されない記憶は、データベース間のクロスマッチングを可能にしてしまう。

これらの問題は、単純な暗号化/復号化方式を使用することによっては解決することができない。なぜならば、検証者(verifier)を信頼することができないからである。多くの場合、設計仕様は、検証者を信頼することを認めない。例えば、悪意のある検証者を信頼することは、その検証者を訪問した人のユーザアイデンティティ(ID)が盗まれて販売されることにつながるおそれがある。生体データが損なわれると、その生体データは、永久に公になり、セキュリティ用途において、もはや使用することができない。生体データは、ユーザの生まれつきの部分であり、例えば、ユーザの指紋を変えることはできない。生体特徴について記憶されているどのような情報からもオリジナルの特徴を導出することができないことが、望ましい。

ハッシュは、その出値からの暗号学的ハッシュ関数の入力から復元することが、計算的に実行不可能であるため、魅力的であるが、ハッシュ関数を直接的に適用することはできない。実際、ハッシュ関数の撹拌処理は、(ノイズの多い)生体データに適用することを難しくする。生体特徴は、各観測中でわずかに異なり、したがって、生体特徴に依存する2つのハッシュ演算の出力は、関連しないものになる。ハッシュ関数を計測結果に適用することは、ハッシュ領域における類似度に基づいて検証を行うことを不可能にする。

観測にわたって生じた違いを訂正する1つのアプローチは、いわゆるヘルパーデータ(helper data)を使用する、すなわち、後続の観測の間の誤りを処理するために補助データを使用する。ユーザ依存データを格納するために全てがヘルパーデータスキームとみなされ得る多くの構造体(construction)が提案されている。

誤り訂正符号化段階及び量子化段階それぞれにおけるヘルパーデータの適用を参照する、ヘルパーデータのいわゆるデジタル変形版及びアナログ変形版が存在する。アナログヘルパーデータは、うまくデジタル表現され得る。本文書ではまた、それぞれ誤り訂正ヘルパーデータ及び量子化ヘルパーデータとしてのデジタルヘルパーデータ及びアナログヘルパーデータが参照される。

1.バイアス調整される量子化(biased quantization)等のアナログ。これは、アナログ領域における、すなわち、量子化の前の、生体特徴の量子化におけるユーザ依存バイアスとして解釈され得る。一例が、参照により本明細書に組み込まれる、同一出願人による「Method And System For Authentication Of A Physical Object」という名称の国際公開第2004/104899号により与えられている。この国際公開第2004/104899号は、登録デバイス及び認証デバイスを含む、物理的オブジェクトを認証するためのシステムを開示している。

2.符号シフト等のデジタル。検証中、量子化された生体特徴は、妥当な符号語に向けて「シフトされる」。このシフトは、抽出された生体特徴を、最も近い符号語にシフトする低ハミング重みのベクトルを用いた排他的論理和(XOR)演算であり得る。この演算は、デジタル領域において完全に生じる。このシフトの後、誤り訂正符号(ECC)が適用され得る。これは、確実であるが限られた数の誤りを訂正することができるものである。一般的には、ビット誤り率が、例えば10%未満である場合、符号は有効であり得る。一例が、A. Juels及びM. Wattenbergによる「A fuzzy commitment scheme」において与えられている。

上記2つの方法は、2段階ヘルパーデータシステムにおいて組み合され得る。

生体特徴検証デバイス及び生体特徴登録デバイスを含む改良されたバイオメトリックシステムを有することが有利であろう。

現在のバイオメトリックシステムに対するテストは、誤り訂正の符号率が、いかなる望ましい値よりも大きく下回っていることを明らかにしている。したがって、生体データは、多くのそのエントロピーを損失させ、これは、システムの強度、特に暗号用途の強度を危うくさせる。エントロピー損失は、ある程度は不可避である。登録ビット列と照合するためにより多くのビット列を許容することは、より小さなエントロピーを暗示する。例えば、サイズn=63ビットの生体データについて検討すると、最大キャパシティは、2n=263通りの可能なバイナリビット列を与える。全ての生体特徴が、最大1ビットの誤りを潜在的に含み得る場合、全ての生体特徴は、n+1=63+1=64=26通りの組合せの空間を用意しておく必要がある。したがって、一誤り訂正符号語について、およそ2log(n)=6ビットのエントロピー損失が存在する。したがって、263/26=257の異なる生体特徴が最適にパックされ得る。

ECCに基づく既存のアプローチにおいて、生体特徴検証(例えば、認証)中に得られた生体特徴Yは、誤り訂正ヘルパーデータにより、符号語に向けてシフトされる。このシフトは、生体特徴ビット列と符号語との差分ベクトルWDを用いたXOR演算であり得る。検証中、同じ差分ベクトルWDが、次いでサンプリングされる生体特徴に適用される。

しかしながら、検証サンプルは、登録サンプルと正確には等しくないことがある。したがって、WDベクトルは、符号語に対して生体特徴を正確にはマッピングしないことがある。いくつかの他の誤りが生じ得るが、WDは、検証生体特徴を、登録中に選択された符号語の近くのビット列にシフトさせる可能性が高い。誤りレベルが、符号の誤り訂正能力を下回っているとの条件で、シフトされたビット列に対する後続のECC演算は、誤りを訂正する。ECCの結果がハッシュされ、いわゆるテンプレート、すなわち、生体特徴登録中に得られたハッシュと比較される。

既知のBCH符号のための複数のオプションが、以下に与えられる:

63ビットの生体特徴の場合、ECCにより訂正可能な全てのさらなる誤りが、エントロピーの約6ビットの損失につながることが、上記の表により確認される。これは、例えば、網羅的探索に耐えるために、生体特徴の強度を急速に危うくさせる。

基準ハッシュを、生体特徴から得られた検証ビット列と比較するよう構成される生体特徴検証デバイスが提案される。本生体特徴検証デバイスは、検証ビット列のビットに割り当てられた誤り確率へのアクセスを有する。誤り確率は、検証ビット列における当該誤り確率に対応するビットが、登録ビット列における対応するビットと異なる確率を示す。

本生体特徴検証デバイスは、検証ビット列及び誤り確率から、候補ビット列を生成するよう構成されている候補ビット列生成部を有する。誤り確率は、尤度、対数尤度、距離、事後確率推定、又は、特定の候補列が正しいものである確率を示す他のパラメータとして表現され得る。

ただ複数の候補ビット列を生成することだけで、ノイズの多い生体特徴を訂正する必要性に起因するエントロピー損失を低減させる。実際、複数の候補が存在するために、検証ビット列と登録ビット列との合致の可能性が増大する一方で、エントロピー損失は最小限にされる。誤り訂正符号からのオーバーヘッドは存在しない。

しかしながら、誤り確率を使用することにより、はるかに大きな利点が得られる。誤り確率は、全ての可能性の一様な生成の代わりに、候補ビット列のフォーカスされた生成を可能にする。結果として、同じレベルの誤り訂正を得るために、より少ない候補ビット列が生成される必要がある。したがって、エントロピー損失はより少なくなる。さらに、攻撃者は、合致を見つけるために、この例においては2^63通りの可能性を含む空間全体をなお網羅的に探索する必要があるであろう。これに対し、誤り訂正符号化は、攻撃者の探索空間を著しく低減させるであろう。

どの候補ビットを生成するかの選択は、誤り確率の制御下にあり、生成される候補ビット列が登録ビット列と等しい確率を増大させる。候補ビット列は、検証ビット列の1以上のビットを選択し、選択されたビットの値を変えることにより、すなわち、選択されたビットを反転することにより、検証ビット列から生成され得る。検証ビット列におけるビットの選択は、誤り確率から候補ビット列生成部により決定される。

生体特徴から得られた登録ビット列から、基準ハッシュを生成するよう構成される生体特徴登録デバイスが提案される。本生体特徴登録デバイスは、登録ビット列から、複数の多様性登録ビット列(diversified enrollment bit string)を生成するよう構成されている基準ハッシュ生成部を有する。

複数の多様性登録ビット列を生成することは、誤り訂正演算が検証デバイスにおいて低減されるという利点を有する。さらに、登録デバイスは、複数の多様性登録ビット列を生成する際に、誤り確率を使用することができ、これにより、エントロピー損失を低減させる。

これらの方法は、人間又は動物の体の生体特徴以外の他の特徴にも適用することができる。これらの方法は、任意のソースの「ノイズの多いデータ」のために使用することができる。最近、物理的複製防止機能(PUF)に関する科学文献が、可能性のある用途の多くの例を作成した。DNA又は他の遺伝情報も範囲内である。DNAに基づく生体特徴の場合における一例において、検証は、配列の諸部分に基づき得、したがって、ハッシュが、(可能であればオーバーラップしている)サブ配列に関して記憶され得る。

検証デバイス及び登録デバイスは、電子デバイスである。これらのデバイスは、携帯電話機等のモバイル電子デバイスであってよい。

本発明に従った方法は、コンピュータにより実施される方法として、若しくは、専用ハードウェアにおいて、又は、これら両方の組合せにおいて、コンピュータ上で実施され得る。本発明に従った方法のための実行可能なコードが、コンピュータプログラム製品に記憶され得る。コンピュータプログラム製品の例は、メモリデバイス、光記憶デバイス、集積回路、サーバ、オンラインソフトウェア等を含む。好ましくは、コンピュータプログラム製品は、当該コンピュータプログラム製品がコンピュータ上で実行されたときに本発明に従った方法を実行するための、コンピュータ読み取り可能な媒体に記憶された非一時的なプログラムコード手段を含む。

好ましい実施形態において、コンピュータプログラムは、当該コンピュータプログラムがコンピュータ上で実行されたときに本発明に従った方法の全てのステップを実行するよう適合されているコンピュータプログラムコード手段を含む。好ましくは、コンピュータプログラムは、コンピュータ読み取り可能な媒体上に具現化される。

基準ハッシュを、生体特徴から得られた検証ビット列と比較するよう構成されている生体特徴検証デバイスが提供される。本生体特徴検証デバイスは、検証ビット列及び誤り確率から、候補ビット列を生成するよう構成されている候補ビット列生成部と、暗号学的ハッシュ関数を、生成された候補ビット列に適用して、候補ハッシュを得るよう構成されているハッシュユニットと、ハッシュユニットにより生成された候補ハッシュが、基準ハッシュと合致するかどうかを検証するよう構成されている比較ユニットと、を有する。

本発明のこれらの態様及び他の態様が、以下に記載の実施形態から明らかになり、以下に記載の実施形態を参照することで明瞭にされる。異なる図面において同じ参照符号を有するアイテムは、同じ構造的特徴及び同じ機能を有する又は同じ信号であることに留意されたい。そのようなアイテムの機能及び/又は構造が説明される場合、詳細な説明において、その繰り返しの説明の必要はない。

生体特徴検証デバイス100の概略ブロック図。

候補ビット列生成部131の概略ブロック図。

生体特徴登録デバイス200の概略ブロック図。

生体特徴登録デバイス201の概略ブロック図。

登録中の量子化範囲の集合に関する量子化を示す図。

検証中の量子化範囲の集合に関する量子化を示す図。

誤り確率を使用した候補ビット列生成を示す図。

生体特徴検証デバイスにおけるいくつかのデータ依存関係を示す図。

生体特徴登録デバイスにおけるいくつかのデータ依存関係を示す図。

生体特徴検証方法500の概略フローチャート。

生体特徴登録方法501の概略フローチャート。

コンピュータ読み取り可能な媒体の概略図。

プロセッサシステムの概略図。

本発明は、多くの異なる形態の実施形態を受け入れる余地があるが、図面において、1以上の特定の実施形態が示され、本明細書において、その1以上の特定の実施形態が詳細に説明される。本開示は、本発明の原理の例示と考えられるべきであり、本発明を、図示され説明される特定の実施形態に限定するよう意図されるものではないことを理解されたい。

図1aは、生体特徴検証デバイス100の概略ブロック図である。生体特徴検証デバイス100は、生体特徴検証デバイス100に加えて生体特徴登録デバイスを有するバイオメトリックシステムの一部である。検証デバイス及び登録デバイスは、1つのデバイスに統合されてもよい。

生体特徴検証デバイス100は、検証段階中、生体特徴から得られた検証ビット列を、生体特徴登録デバイスにより以前の登録段階中に同じ生体特徴から導出された基準ハッシュと照合するよう構成されている。

生体特徴は、個体群(population)にわたって変わるが特定の個体(individual)に関しては少なくともある時間期間の間十分に不変である、個体の特徴である。個体は、典型的には、人間個人である。しかしながら、本システムは、例えば哺乳動物といった動物、特に、ペット及び家畜等の飼育動物に適用されてもよい。生体特徴検証デバイス100は、例えば建物への物理的アクセス、又は、例えば文書若しくは他のコンテンツへのデジタルアクセスといったアクセス制御等、認証のために使用することができる。

図2aは、生体特徴検証デバイス100とともに使用することができる生体特徴登録デバイス200の概略ブロック図である。生体特徴登録デバイス200は、バイオメトリックセンサ110を有する。このバイオメトリックセンサ110は、生体特徴検証デバイス100のバイオメトリックセンサ110と同じセンサ又は同じタイプのセンサである。センサ110は任意的であることに留意されたい。なぜならば、生体特徴検証デバイス100及び/又は生体特徴登録デバイス200は、生体特徴検証データ及び/又は生体特徴登録データを受信する入力部を有することができるからである。

バイオメトリックセンサ110は、生体特徴を計測するよう構成されている。この生体特徴と同じ生体特徴が、生体特徴検証デバイス100により使用されることになる。適切な生体特徴は、指紋、虹彩スキャン、顔計測結果等を含む。例えば複数の指紋及び/又は顔計測結果等といった2以上の生体特徴が使用されてもよい。

バイオメトリックセンサ110は、生体特徴登録データの形態の計測結果を生成する。生体特徴が、連続的である、すなわち、アナログである場合、生体特徴登録デバイス200は、生体特徴登録データをデジタルデータにマッピングする量子化ユニット220を有する。生体特徴登録データが、既に離散的な性質のものである場合、量子化は必要でなく、量子化ユニット220は省かれてもよい。

量子化ユニット220は、生体特徴登録データのうちの少なくとも一部を、量子化範囲の集合のうちの量子化範囲内の点にマッピングすることにより、生体特徴登録データを量子化するよう構成されている。量子化ビット列は、量子化範囲の集合における各量子化範囲に対応する。例えば、量子化範囲は、好ましくはグレー符号により番号付けされ得る。生体特徴登録データは、1次元値を含み得、量子化範囲は、連続的であり、これら量子化範囲が合わさって、値が取り得る範囲全体を分割する。

図3aは、登録中の量子化を示している。量子化される値を表す軸300が図示されている。一例として、値は、個体の両眼間の距離であり得る。軸300は、量子化範囲の集合により分割される。量子化範囲310、320、330、340、及び350が図示されている。全ての量子化範囲が同じサイズである必要はないことに留意されたい。量子化ビット列が、各量子化範囲に割り当てられ、例えば、量子化範囲310、320、330、340、及び350のそれぞれについて、ビット列は、001、011、010、110、及び111であり得る。量子化範囲の数及び割り当てられる具体的なビット列は、例示に過ぎない。軸300上の点が、値を表す。

値が属する範囲は、割り当てられる量子化ビット列を決定する。範囲320に属する点322の場合、ビット列は011である。任意的に、生体特徴登録デバイス200は、量子化ヘルパーデータを生成してもよい。量子化ヘルパーデータは、値と量子化範囲の中心(例えば、計測された値が属する範囲の中心)との差を計算することにより、算出され得る。この場合、量子化ヘルパーデータは、中心321マイナス値322であり得る。点322のための量子化ヘルパーデータは、矢印323によりグラフィカルに表現されている。

量子化ヘルパーデータは、量子化ヘルパーデータ記憶部222に記憶され得る。量子化は、生体特徴登録データにおける複数の値に対して実行され得る。任意的に、量子化ヘルパーデータは、それらの値のうちの1以上の値のために算出されてもよい。このように得られた量子化ビット列から、登録ビット列が得られる。登録ビット列は、例えばパスワードデータといった他のデータと組み合わされてもよいが、これは任意的である。

生体特徴登録データから得られた登録ビット列を発端として、基準ハッシュが算出される。生体特徴登録デバイス200は、基準ハッシュを算出するために使用されるハッシュユニット140を有する。

基準ハッシュは、生体特徴検証デバイスが、同じ生体特徴とされる(purportedly)生体特徴から得られた検証ビット列が、検証の際に計測された個体が登録の際の個体と同じであると信頼するのに、登録ビット列に十分近いかどうかを検証することを可能にする。この信頼に必要とされることは、アプリケーションのセキュリティ要件に大いに依存する。

例えば、登録ビット列は、基準ハッシュを得るためにハッシュユニット140によりハッシュされ得る。生体特徴登録デバイス200は、ハッシュユニット140により生成された基準ハッシュを記憶する基準ハッシュ記憶部162を有する。登録ビット列を生成するステップと基準ハッシュを生成するステップとの間には、中間ステップも存在し得る。例えば、以下でより詳細に説明するように、誤り訂正ヘルパーデータが生成され得る。

基準ハッシュ記憶部162に記憶される基準ハッシュは、生体特徴検証デバイス100が生体特徴の検証を実行できるように、生体特徴検証デバイス100に通信される。量子化ヘルパーデータが生成されている場合、量子化ヘルパーデータも生体特徴検証デバイス100に通信される。例えば、生体特徴検証デバイス100及び生体特徴登録デバイス200は、インターネット等の同じコンピュータネットワークに接続され得る。例えば、生体特徴の所有者は、基準ハッシュに加えて量子化ヘルパーデータ及び/又は誤り訂正ヘルパーデータを記憶するモバイルメモリ(例えば、スマートカード)を有し得る。

図1aに戻ると、図示される生体特徴検証デバイス100は、生体特徴登録デバイス200のバイオメトリックセンサ110と同じである又は同じタイプであるバイオメトリックセンサ110を有する。生体特徴検証デバイス100は、生体特徴を計測して生体特徴検証データを生成するよう構成されている。理想的には、生体特徴検証データは、生体特徴登録デバイス200により生成された生体特徴登録データと同一であるが、しばしばそうではなく、何らかの量の誤りが存在する。バイオメトリックセンサ110の代わりに、生体特徴検証デバイス100は、生体特徴検証データを受信する入力部を有してもよい。さらに、生体特徴検証デバイス100は、1以上の基準ハッシュ、量子化ヘルパーデータ及び/若しくは誤り訂正ヘルパーデータ、並びに、可能であればさらに量子化範囲等を受信する入力部を有してもよい。

生体特徴検証デバイス100は、生体特徴検証データのうちの少なくとも一部を、量子化範囲の集合のうちの量子化範囲内の点にマッピングすることにより、生体特徴検証データを量子化するよう構成されている量子化ユニット120を有する。量子化ユニット120は、量子化ユニット220と同じ量子化範囲の集合を使用する。量子化ヘルパーデータが使用される場合、量子化ユニット120は、まず量子化ヘルパーデータを適用する。例えば、量子化ユニット120は、算術加算を用いて、登録点と量子化範囲の中心との差を加算することができる。

検証ビット列及び登録ビット列は、しばしば互いに異なる。実際には、生体特徴検証デバイス100による異なる検証中に得られる検証ビット列も、互いに異なり得る。量子化ユニット120が、生体特徴検証データに対応する点を含む量子化範囲をマッピングする前に、量子化ユニット120は、検証ビット列における他のビットより登録ビット列と異なる可能性がより高い、検証ビット列におけるビットに関する情報を有している。

量子化ユニット120により実行される量子化が、図3bに示されている。図3bは、同じ量子化範囲及び同じ対応するビット列を用いている。この図において、生体特徴の計測結果は、点324により表されるより大きなビット値を与えている。量子化ヘルパーデータがなければ、点324は、範囲330に対応するビット列(この特定の場合においては、011ではなく010)にマッピングされるであろう。連続する量子化範囲を番号付けするためのグレー符号の使用は、誤りのサイズを1ビットに低減させていることに留意されたい。一方、量子化ヘルパーデータを適用することにより、点324が、正しい範囲に属する点325に移動され、これに応じて、正しいビット列が適用される。

それでも、点325は、範囲320の端点に近い。これは、点324が、もう少しだけ大きければ、異なるビット列が適用されるであろうことを意味する。この例において、点324が、検証中、より大きかったが、より小さいこともあり得る。例えば、量子化ヘルパーデータの適用の後に点325’にシフトされる点324’について考えてほしい。量子化範囲の両端点に近い点は、量子化範囲の中央にある点より誤っている可能性が高いことが分かる。

量子化ヘルパーデータの使用は、概して、量子化中の誤りを低減させるが、誤りを排除するわけではない。量子化ヘルパーデータが使用されるか否かにかかわらず、端点に近い点は、誤っている可能性がより高い。

量子化ユニット120は、生体特徴検証データのうちの少なくとも一部がマッピングされた、量子化範囲内の点と、この量子化範囲の最も近い端点と、の間の距離を決定し、誤り確率を、検証ビット列における対応するビットに割り当てるよう構成されている。点325の場合、量子化ユニット120は、点325と、範囲320と範囲330との間の端点と、の間の距離を決定するよう構成されている。点325’の場合、量子化ユニット120は、点325’と、範囲310と範囲320との間の端点と、の間の距離を決定するよう構成されている。最も近い端点からの距離からのより遠い距離は、より小さな誤り確率を示す。

誤り確率は、正確である必要はなく、誤り確率のインジケーションは、誤り訂正を向上させるのに十分である。例えば、誤り関数は、距離を確率にマッピングすることができる。誤り関数は、最も近い端点までの点(例えば、点325)の距離と、点が属する量子化範囲のサイズ(すなわち、量子化範囲320のサイズ)と、に依存し得る。例示的な関数は、p=1/2−(最も近い端点までの点の距離)/(点が属する量子化範囲のサイズ)である。この関数は、中心にある点については、誤り確率を0にマッピングし、端点にある点については、誤り確率を1/2にマッピングする。変形形態は、a*(1−2p)+b*2pを使用し、pは上記の通りであり、aは、全平均誤り確率であり、bは、量子化範囲の端点における計測についての誤り確率である。値a及び値bは、経験的に決定され得る。例えば、a=0.1及びb=0.5であると見出され得る。確率の代わりに、尤度、すなわち、確率の対数が使用されてもよく、尤度は、確率を示すものである。誤り確率は、検証ビット列における当該誤り確率に対応するビットが、登録ビット列における対応するビットと異なる確率を示すものである。

量子化ユニット220と同様に、量子化ユニット120は、生体特徴検証データから量子化ユニット120により得られた1以上の量子化ビット列を一緒に一列に並べて、例えば連結により、検証ビット列を形成するよう構成されている。量子化ユニット120により得られた誤り確率が、検証ビット列のビットに割り当てられる。検証ビット列における全てのビットが、割り当てられる誤り確率を有する必要があるわけではないが、一実施形態においては、検証ビット列における全てのビットが、割り当てられる誤り確率を有する。例えば、ビットは、(例えば0.1という)デフォルト誤り確率又は量子化ユニット120により割り当てられた確率のいずれかを受け入れることができる。生体特徴検証デバイス100は、誤り確率記憶部170を有することができる。量子化ユニット120は、誤り確率を誤り確率記憶部170に記憶するよう構成されている。生体特徴検証デバイス100は、誤り確率記憶部170及び誤り確率記憶部170に記憶された誤り確率へのアクセスを有する。

量子化ユニット120は、全ての実施形態において必須であるわけではない。さらに、量子化ユニット120が存在する場合、量子化ユニット120は、誤り確率を導出するよう構成される必要があるわけではない。例えば、生体特徴検証デバイス100は、別のソースから、誤り確率を受信することができる(例えば、生体特徴登録デバイスにより得られた誤り確率を受信することができる)。生体特徴検証デバイス100は、誤り確率を受信する入力部172を有することができる。量子化ユニット120が存在し、量子化ユニット120が、誤り確率を導出する(これは好ましい)場合であっても、生体特徴検証デバイス100は、入力部172を有することができる。例えば、生体特徴検証デバイス100は、受信された誤り確率を、量子化ユニット120により導出された誤り確率と組み合わせることができる(例えば、これらの誤り確率を平均化することにより)。

例えば、生体特徴検証デバイス100は、量子化ユニットより決定された誤り確率及び生体特徴登録デバイスから受信された誤り確率から、検証ビット列のビットに割り当てられる誤り確率を決定するよう構成されている誤り確率ユニット(別個に図示されてはいない)を有してもよい。

生体特徴検証デバイス100は、検証ビット列及び誤り確率から、候補ビット列を生成するよう構成されている候補ビット列生成部130を有する。1つのみの検証ビット列が構築される代わりに、複数の候補ビット列が生成される。注意深く選択される量子化範囲、量子化の使用等のような準備にかかわらず、1つの検証ビット列は、なおノイズが多い可能性が高く、これは、多くの誤り訂正ヘルパーデータを必要とする。候補ビット列は、検証ビット列に近いものであるが、候補ビット列のうちの何らかの1つの候補ビット列が登録ビット列と等しい確率が、検証ビット列が登録ビット列と等しい確率より高いように、候補ビット列は選択される。したがって、必要とされる場合には誤り訂正は、候補ビット列についてより少ないことが必要とされる。

検証ビット列が登録ビット列と等しい十分高い確率を得ることは、大量の誤り訂正を用いることにより以前になされている。しかしながら、誤り訂正は、データの次元(dimension)を低減させる。訂正される誤りの数が、ほんの数パーセント(例えば、5%)である場合も、エントロピーの低減は、相当であり、25%を超え得る。これは、n=63、k=45、及びt=3というパラメータを有するBCH符号を用いて3つの誤りを訂正することに基づく例である。候補ビット列を生成する際に誤り確率を使用することは、誤り訂正符号を使用することよりも相当の利点を有する。誤り訂正符号は、全てのビットが等しく誤っている可能性があることを仮定しているが、誤り確率が利用可能であり得るときには、そのようなケースには当たらない。再度、上記のBCHの例を考えると、3ビットが誤りを有することが既知であると仮定して、且つ、その3ビットが誤りを有することが既知である場合、いかなる誤り訂正もなく、正しい合致を確立することができる。さらに、エントロピー損失は、約5%の損失である、正確に3ビットであろう。候補ビット列生成部130については、以下でさらに説明する。ここで、エントロピーとは、ビット列における不確実さの度合いである。高いエントロピーは、互いに対して偶然に誤っている個体が少ないことを暗示する。より高いエントロピーはまた、生体特徴を偽造することがより難しいことを暗示する。

生体特徴検証デバイス100は、暗号学的ハッシュ関数を、生成された候補ビット列に適用して、候補ハッシュを得るよう構成されているハッシュユニット140をさらに有する。暗号学的ハッシュ関数は、所与のハッシュをもたらすであろうビット列を生成することが計算的に実行不可能であるという特性を有する。したがって、バイオメトリックセンサからの生体特徴登録データは、ハッシュ値から導出することができない。暗号学的ハッシュ関数はまた、同じハッシュをもたらすであろう2つのビット列を生成することが計算的に実行不可能であるという特性も有する。したがって、ハッシュは、個体を区別するための、オリジナルの生体データが有するのと同じ能力を有する。暗号学的ハッシュ関数の例は、Sha−3、Sha−2、Sha−256、Skein、及びKeccakを含む。他のNISTセキュアハッシュ標準の候補も使用されてよい。

生体特徴検証デバイス100は、少なくとも1つの基準ハッシュを記憶するよう構成されている基準ハッシュ記憶部162を有する。例えば、少なくとも1つの基準ハッシュは、生体特徴検証デバイス100のハッシュユニット140と同じ暗号学的ハッシュ関数を使用して、登録ビット列から生体特徴登録デバイス200等の登録デバイスにより得られたものであり得る。

生体特徴検証デバイス100は、ハッシュユニットにより生成された候補ハッシュが、基準ハッシュ記憶部に記憶されている基準ハッシュと合致するかどうかを検証するよう構成されている比較ユニット160を有する。例えば、比較ユニット160は、生成された候補ハッシュの各候補ハッシュを、記憶されている基準ハッシュの各基準ハッシュと比較することができる。暗号学的ハッシュ関数が使用されるので、比較は、合致について等しいことを要求する。合致が見つかった場合、これは、検証中に計測された生体特徴が、登録中に計測された生体特徴と同じであったという証しである。

量子化ヘルパーデータ記憶部150、基準ハッシュ記憶部162、及び誤り確率記憶部170は、例えば揮発性メモリ又は不揮発性メモリ(例えばRAMメモリ又はフラッシュメモリ)といった電子メモリとして実装され得る。量子化ヘルパーデータ記憶部150、基準ハッシュ記憶部162、及び誤り確率記憶部170のうちの1以上は、磁気メモリ又は光メモリとして実装されてもよい。

基準ハッシュ記憶部162は、複数の基準ハッシュを記憶することができる。生体特徴登録デバイスはまた、誤り確率を使用して、登録ビット列の複数の変形版を生成することができる。登録デバイスにより得られる誤り確率は、量子化範囲の最も近い端点までの距離を用いない。代わりに、登録デバイスは、情報の他のソースへのアクセスを有する。例えば、登録デバイスは、バイオメトリックセンサ110を使用して複数の計測を実行し、計測結果の各ビットのばらつきを導出することができる。複数の計測は、登録中である特定の個体に関することもあるし、例えば個体群のサンプルに基づく当該個体群に関することもある。例えば、標準偏差が、ばらつきの尺度である。大きなばらつきは、より高い誤り確率を与える。登録デバイスは、ばらつきを誤り確率にマッピングするための関数を適用するよう構成され得る。

十分な数の個体が登録された後、登録デバイスは、ばらつきについて解析するためのデータを有することになる。大きなばらつきは、量子化範囲を適応させるために使用され得るが、これは可能でないこともある。例えば、量子化範囲は、例えば基準範囲又はセンサにより固定され得る。また、データは、量子化に適さない離散的な性質のものであり得る。複数の登録された個体の生体特徴登録データを解析することにより得られた誤り確率は、多様性登録ビット列を生成するために使用され得る。誤り確率は、追加的又は代替的に、生体特徴検証デバイスに通信されてもよい。

図1aの候補ビット列生成部130に戻ると、候補ビット列生成部130が複数の候補ビット列を生成し得る複数の方法がある。

例えば、候補ビット列生成部130は、誤り確率閾値未満である総誤り確率を有する候補ビット列を生成するよう構成され得る。総誤り確率は、検証ビット列のビットに割り当てられた誤り確率から決定される。候補ビット列生成部130は、誤り確率閾値未満である総誤り確率を有する候補ビット列のみを生成するよう構成され得る、且つ/又は、誤り確率閾値未満である総誤り確率を有する全てのビット列を生成するよう構成され得る。

生体特徴検証デバイス100の一実施形態において、これは、次のように動作し得る。長さNであるキャプチャされたノイズの多いデジタル検証ビット列Y=(y1,y2,...,yN)を照合するために、生体特徴検証デバイス100は、ハッシュされた値であるS’=H(Y)を、テンプレートS、すなわち、基準ハッシュSと照合するだけでなく、

であるように、適切に選択されたほぼ合致する集合

とも照合する。ここで、Eは、誤り列(error string)であり、

は、ビットごとのXOR演算である。すなわち、比較ユニット160は、

かどうかをテストする。

Eベクトルは、誤り確率に基づいて、好ましくは、量子化ユニット120により導出された誤り確率に基づいて、選択される。したがって、信頼できないビットの集合のみがテストされる。例えば、生体特徴検証デバイス100は、(例えば1%という)所定の閾値より高い事後尤度(posterior likelihood)を有する全ての可能性のある生体特徴をテストすることができる。好ましくは、候補ビット列生成部130は、最も可能性の高いシーケンスから開始し、次第に低くなる尤度に対して段階的に続ける。

誤り確率を使用せずに、例えば、Eベクトルが、所与のハミング重み(例えば、1という重み)を有する全ての候補ビット列を生成することが可能である。いくつかの誤り訂正符号に関して、これは、エントロピー低減の観点で、1つの誤り訂正符号を使用することよりも小さな利点を与えることができる。例えば、n=63、k=45、t=3のBCH符号の代わりに、ハミング重み3を有する全てのEベクトルを生成することができる。結果として生じるエントロピーは、63−log(2,sum(i=0..3,binomial(63,i)))=47.7であり、これは、45よりわずかに高い。BCH符号のようなほとんどの符号は、ハミング限界を達成しないので、すなわち、完全な符号ではないので、この利点が得られる。しかしながら、誤り確率を使用すると、誤っている可能性が高いビットが、明確にターゲットにされ得る。これは、残りのエントロピーがはるかに高いものであり得ることを意味する。誤り確率に関する各追加情報は、エントロピーを、47.7から上に増大させる。

例えば1%という何らかの誤り閾値を超える総誤り確率を有する全ての候補ビット列を生成することは、携帯電話機等のモバイルハードウェアといった計算的に制限されたハードウェア上では難しいことがある。計算負荷を低減させる一方でその利点のほとんどを達成する簡略化されたシステムが提案される。

例えば、候補ビット列生成部は、最大の割り当てられた誤り確率を有する、検証ビット列における選択数のビットを選択するよう構成され得る。より高い選択数が選択されると、より多くの候補ビット列が生成されることになる。選択数が増大すると、合致についての確率は増大し、結果として生じるエントロピーは低減する。選択数は、例えば10未満の比較的小さな数であることが想定されている。実施形態において、選択数は1であるか、選択数は2であるか、あるいは、選択数は3である。

候補ビット列生成部130は、選択されたビットの値が変えられる候補ビット列を生成するよう構成され得る。候補ビット列生成部130は、2^(選択数)個のビット列を生成する、又は、合致が以前に見つかっている場合には、2^(選択数)個より少ないビット列を生成する。例えば、選択数が3であり、ビットi、ビットj、及びビットkが、最大の割り当てられた誤り確率を有する場合、候補ビット列生成部130は、ビットi、ビットj、及びビットkの値を、全ての2^3=8通りの可能性に変えることにより、候補ビット列を生成することができ、したがって、8つの候補ビット列を生成することができる。

候補ビット列生成部130が、誤り確率を考慮に入れて、複数の候補ビット列を生成したとしても、不運にも、生成された候補ビット列のどれもが、基準ハッシュ記憶部162内の基準ハッシュと合致する候補ハッシュを生成しないことが、なお生じ得る。これは、例えば誤り訂正ヘルパーデータを使用して、誤り訂正を付加することにより、対処され得る。複数の候補ビット列が生成される場合、必要とされる誤り訂正の量は、はるかに低いことに留意されたい。

この目的のために、生体特徴検証デバイス100は、誤り訂正アルゴリズムをビット列に適用するよう構成されている誤り訂正ユニット134を有することができる。基準ハッシュ記憶部162は、少なくとも1つの基準ハッシュとともに、当該基準ハッシュに対応する誤り訂正ヘルパーデータを記憶するよう構成され得る。候補ビット列生成部130は、誤り訂正ヘルパーデータを使用するよう構成され得る。誤り訂正ヘルパーデータを使用する候補ビット列生成部130の一実施形態は、図1bに示される候補ビット列生成部131である。

図1bは、候補ビット列生成部131の概略ブロック図である。

候補ビット列生成部131は、検証ビット列及び誤り確率から、中間候補ビット列を生成するよう構成されている中間ビット列生成部132を有する。これは、上述した方法と同じ方法を使用することができる。例えば、高誤り確率を有する複数の高ビットが、識別され得、検証ビット列におけるこれらのビットを変えることにより、中間候補ビット列が得られる。

候補ビット列生成部131は、誤り訂正ヘルパーデータ適用ユニット133を有する。誤り訂正ヘルパーデータ適用ユニットは、誤り訂正ヘルパーデータを中間候補ビット列に適用することにより、中間候補ビット列を、誤り訂正符号の符号語に向けてシフトするよう構成されている。最後に、誤り訂正ユニットが、シフトされた中間候補ビット列に適用されて、候補ビット列が得られる。典型的には、シフトされた中間候補ビット列に適用される誤り訂正アルゴリズムが、符号語を得る。復元された符号語を発端として進む少なくとも2つの異なるオプションが存在する。ハッシュユニット140が、符号語に直接適用され得る。オリジナルの登録ビット列が、符号語から復元され得、ハッシュユニット140が、これに適用され得る、あるいは、(次元「k」を有する符号空間に対応する)データ部分が抽出され、ハッシュユニット140が、この部分に適用され得る。

例えば、誤り訂正ヘルパーデータ適用ユニット133は、誤り訂正ヘルパーデータを中間候補ビット列とXOR演算することができる。

最後に、比較ユニット160は、ハッシュユニットにより生成された候補ハッシュが、候補ハッシュが得られた元である中間候補ビット列に適用された誤り訂正ヘルパーデータに対応する基準ハッシュと合致するかどうかを検証するよう構成されている。

実際において、基準ハッシュ記憶部162は、複数の基準ハッシュとともに、複数の対応するヘルパーデータを記憶するよう構成され得る。この場合、ヘルパーデータと中間候補ビット列との全ての組合せが試行される。これは、候補ビット列の数が、ヘルパーデータ/基準ハッシュの数と中間候補ビット列の数との積に等しいことを意味する。

候補ハッシュが、対応する候補を生成するために使用された誤り訂正ヘルパーデータに対応する基準ハッシュと比較される。

図2bは、生体特徴登録デバイス201の概略ブロック図である。生体特徴登録デバイス201は、登録ビット列から、複数の多様性登録ビット列を生成するよう構成されている基準ハッシュ生成部を有する。

例えば、生体特徴登録デバイス201は、誤り数(error-number)を有することができ、基準ハッシュ生成部230は、登録ビット列を使用して、最大で誤り数のビット分だけ異なる全ての多様性登録ビット列を生成するよう構成され得る。誤り数は、通常小さく、例えば、10より小さい。実施形態において、誤り数は1であるか、誤り数は2であるか、あるいは、誤り数は3である。

生体特徴登録デバイス201は、複数の多様性登録ビット列及び暗号学的ハッシュ関数から、複数の基準ハッシュを得るよう構成されているハッシュユニット140を有する。例えば、ハッシュユニット140は、複数の多様性登録ビット列の各多様性登録ビット列をハッシュして、複数の基準ハッシュを得ることができる。生体特徴登録デバイス201は、複数の基準ハッシュを記憶するよう構成されている基準ハッシュ記憶部162を有する。

生体特徴登録デバイス201は、複数の基準ハッシュを、生体特徴検証デバイス100等の生体特徴検証デバイスに利用可能にするよう構成されている。例えば、生体特徴登録デバイス201は、例えば、生体特徴検証デバイス100に移動させるために生体特徴登録デバイス201から取り外し可能であるといったポータブルであり得る基準ハッシュ記憶部162を有することができる。基準ハッシュ記憶部162は、例えば生体特徴の所有者により運ばれるスマートカードであり得る。生体特徴登録デバイス201は、基準ハッシュを生体特徴検証デバイスに転送するために、例えばインターネットといったコンピュータネットワークへの有線インタフェース又は無線インタフェースを有することができる。

デバイス100、200、又は201において、上記記憶部の一部又は全ては、例えば1つの電子メモリといった1つの記憶部に統合されてもよい。

複数の基準ハッシュの生成により、誤り訂正符号は、もはや必要でなくなり得る。これは、生体特徴検証デバイス100において誤り訂正アルゴリズムを有する必要がなくなるので、有利である。多くの誤り訂正アルゴリズムは、強力な計算リソースを必要とする。例えば、BCH符号を復号することは、例えば、代数操作を必要とするBerlekamp−Masseyアルゴリズムを用いることがある。登録デバイス側で多様性登録ビット列を生成することにより、この誤り訂正は、検証デバイスにおいては回避することができる。何らかの量の誤り訂正が、検証デバイスにおいて保たれるとしても、BCHのような強力な誤り訂正アルゴリズムは回避され得、代わりに、ハミング符号のような、これよりも強力でない誤り訂正アルゴリズムが使用され得る。

一実施形態において、生体特徴登録デバイスは、登録ビット列のビットに割り当てられた誤り確率へのアクセスを有する。基準ハッシュ生成部230は、登録ビット列及び誤り確率から、複数の多様性登録ビット列を生成するよう構成されている。基準ハッシュ生成部230を実施することは、この目的のために、候補ビット列生成部130を使用することがある。違いは、生体特徴登録デバイス201における誤り確率の起源が、例えば、量子化ユニット120の代わりに、バイオメトリックセンサ110による複数の計測から得られる等、異なり得ることである。

図2bに示される生体特徴登録デバイス201は、多様性登録ビット列について誤り訂正符号の符号語を選択し、多様性登録ビット列を、選択された符号語に向けてシフトするための誤り訂正ヘルパーデータを決定するよう構成されている誤り訂正ヘルパーデータ生成部240をさらに有する。誤り訂正ヘルパーデータが使用されない場合、誤り訂正ヘルパーデータ生成部は省かれてもよい。誤り訂正符号は、全ての符号語の集合、すなわち、少なくとも3の最少距離を有するZ2nのサブ集合として定義される。ビット列を、最も近い符号語に、すなわち、サブ集合の要素にマッピングする誤り訂正アルゴリズムが、誤り訂正符号に関連付けられる。

誤り訂正ヘルパーデータ生成部は、次のように動作し得る。nビットからなる多様性登録ビット列を所与とする。符号語がnビット以上を有する誤り訂正符号から、符号語が選択される。選択された符号語と多様性登録ビット列とのXOR差分が、誤り訂正ヘルパーデータである。他の形態の誤り訂正ヘルパーデータも知られている。ハッシュユニット140は、選択された符号語又は多様性登録ビット列等に対して作用することができる。

デバイス100、200、201はそれぞれ、当該デバイスに記憶されている適切なソフトウェアを実行するマイクロプロセッサ(図示せず)を有することができる。例えば、そのようなソフトウェアは、ダウンロードされ、且つ/又は、例えば、RAM等の揮発性メモリ若しくはフラッシュ(図示せず)等の不揮発性メモリといった対応するメモリに記憶されたものであり得る。代替的に、デバイス100、200、201は、その全体又は一部が、例えば、フィールドプログラマブルゲートアレイ(FPGA)といったプログラマブルロジックとして実装されてもよい。デバイス100、200、201は、その全体又は一部が、いわゆる特定用途向け集積回路(ASIC)として、すなわち、特定の使用に合わせてカスタマイズされた集積回路(IC)として実装されてもよい。

図3cは、誤り確率を使用した候補ビット列生成を示す図である。

登録ビット列363及び検証ビット列361が図示されている。これらのビット列は、等しくない。検証ビット列361周囲の空間362は、誤り確率が考慮に入れられなかった場合に生成される必要があるビット列を表している。空間362の面積は、エントロピー損失を表す。この空間を探索することは、誤り訂正を通じて、又は、予め定められたハミング重み内の全てのビット列を生成することにより、達成され得る。これらの2つのオプションは、同じエントロピー損失を厳密には与えないが、これらの両方は、関連しない探索空間の一部をカバーするために、多くのエントロピーを損失する。空間364は、誤り確率を使用した候補生成を示しており、正しい登録ビット列である可能性を有する候補ビット列のみが生成される。こちらの方が、結果として生じるエントロピー損失は小さい。

使用することができる生体特徴のさらなる例は、DNAの形態の遺伝情報である。DNAに基づく生体特徴の場合、検証は、配列の諸部分に基づき得、候補ハッシュ及び基準ハッシュが、個体のDNAのサブ配列(可能であればオーバーラップしている)から得られ得る。

例えば、バイオメトリックセンサは、電気抵抗膜二重層(electrically resistant membrane bilayer)においてナノ細孔集合(nanopore set)を含み得る。この膜にわたって電圧を設定することにより、イオン電流が、ナノ細孔を通過する。ナノ細孔は、例えば、脂質二重層等の膜において細孔形成タンパク質により形成されるといった生物学的なもの;例えば、窒化ケイ素又はグラフェン等の合成物質において形成される等の固体状のもの;又は、例えば、合成物質における細孔形成タンパク質集合により形成されるといった複合的なものであり得る。

分子がナノ細孔を通過した場合、ナノ細孔を通過した電流の特性崩壊(characteristic disruption)が観測される。電流崩壊を計測し、例えば相関処理によって、計測された電流崩壊を、予め定められた特性崩壊と比較することにより、分子が分類され得る、又は、識別さえされ得る。DNAに関しては特に、DNAの部分的なサブ配列が、シーケンスされ得る。

本発明の一実施形態は、プライバシーを保護するDNA照合システムである。このシステムでは、基準ハッシュは、部分的なDNA配列のハッシュされたバージョンである。部分的なDNA配列は、完全なDNA配列ではなく、個体を所望される分解能に識別するのに十分な長さの部分的なサブ配列である。この実施形態は、DNA配列内のG塩基、A塩基、T塩基、又はC塩基を検出するための、例えばナノ細孔を含むセンサを使用するが、興味深いことに、量子化部お及び量子化ヘルパーデータは、登録デバイス又は検証デバイスにおいて、必要とされない。

図4aは、生体特徴検証デバイス100等の生体特徴検証デバイスにおけるいくつかのデータ依存関係を示す図である。動作中、バイオメトリックセンサ110は、生体特徴検証データ410を生成する。生体特徴検証データは、アナログ、すなわち、連続的な性質であり得る。生体特徴検証データ410が、例えば量子化ユニット120により量子化されて、検証ビット列420が得られる。量子化は、量子化ヘルパーデータを使用することができ、検証ビット列420のビットに割り当てられる誤り確率を生成することができる。検証ビット列420及び誤り確率を使用して、複数の候補ビット列430が生成される。生体特徴検証デバイス100は、複数の候補ビット列の各候補ビット列について、少なくとも1つの候補ハッシュ440を生成する。候補ハッシュが、基準ハッシュ記憶部162に記憶されている基準ハッシュと比較される。例えば、候補ビット列430は、ハッシュユニット140によりハッシュされて、候補ハッシュ440が得られ得る。

図4bは、生体特徴登録デバイス200又は201等の生体特徴登録デバイスにおけるいくつかのデータ依存関係を示す図である。動作中、バイオメトリックセンサ110は、生体特徴登録データ450を生成する。生体特徴登録データは、アナログ、すなわち、連続的な性質であり得る。生体特徴登録データ450は、例えば量子化ユニット220により量子化されて、登録ビット列460が得られる。バイオメトリックセンサ110は、さらに、誤り確率を生成することができる。

量子化は、量子化ヘルパーデータを生成することができる。さらに、多様性登録ビット列462が生成され得る。多様性登録ビット列462を生成することは、誤り確率を使用することもあるし使用しないこともある。例えば、多様性登録ビット列462は、固定数のビットを変えることにより生成され得、例えば、各多様性登録ビット列462と登録ビット列460との間のハミング重みは、限界値未満であり得る。

誤り訂正ヘルパーデータが使用される場合、符号語470が選択され得る。複数の多様性登録ビット列462が使用される場合、対応する数の符号語470が選択され得る。符号語は、誤り訂正符号からランダムに選択され得る。

最後に、基準ハッシュ480が、登録ビット列について算出される、あるいは、複数の基準ハッシュ480が、各多様性登録ビット列について算出される。

ヘルパーデータが使用される場合、ヘルパーデータは、(多様性)登録ビット列及び符号語から決定される。この場合、基準ハッシュ480は、登録ビット列ではなく、符号語のみに依存し得る。

実用的な生体特徴検証において、誤りの確率は、生体特徴の次元にわたって、非常に不均一に分散されることが見出さされた。「誤りがどこにあるか」に関する情報は、演繹的に(a priori)及び帰納的に(a posteriori)に、利用可能である。

演繹的:登録中、所定の次元(所定のビット)は、他の次元より誤りである傾向にある。これは、ユーザに依存し得る。

帰納的:検証中の、すなわち、ハード量子化(hard quantizing)前の、ソフト決定情報(soft decision information)に基づいて、所定のサンプルが、他のサンプルより量子化境界の近くにあることを確認することができる。そのような次元から抽出されるビットは、大きな量子化間隔の中央にサンプルがある次元から抽出されるビットより、誤りを含む可能性が高い。

検証中、検証デバイスは、可能性の高い誤り位置に関する情報を利用して、可能性の高いビットパターンの集合をチェックする。この方法は、誤りに関する情報を使用することなく、例えば63ビットに関するECCについて小さな利点を有する。ランダムな誤り位置を探索することは、1ビット−誤り許容探索について、63+1回の試行を必要とし、2ビット−誤り許容探索について、1+63+63*62/2回の試行を必要とする。しかしながら、検証デバイスが、どのビットが信頼できないかを認識している場合、多くが得られる。

一例により、この原理が示され得る。どの3ビットが誤りを含む可能性が最も高いかを検証者が判定することを考えてみる。検証者は、誤っている可能性があるビットの全ての8通り(=2の三乗)の組合せを試行する。このような場合、検証者は、3ビットECCのエントロピー損失を被ることなく、賢明な試行錯誤により、3つのビット誤りを許容することができ得る。これは、63ビットの生体特徴のエントロピーを45ビットに効果的に低減させる。

検証者は、8つの異なるビット列を受け入れるので、ユーザキャパシティは、2^(63−3)ビット、すなわち、2^60ビットに低減される。データベーステンプレートデータに対してちょうど働きかけている攻撃者は、2^63通りのビット組合せにわたる網羅的探索をなお必要とし、有効秘密エントロピー(effective secrecy entropy)は、63ビットを保つ一方で、ECCスキームは、45ビットの秘密エントロピーのみを提供するであろう。

登録中にも改良が可能である。例えば、登録デバイスは、可能性の高いビットパターンの集合から得られたハッシュ値の集合を(1つのハッシュの代わりに)記憶することができる。検証中、検証デバイスは、これらハッシュ値のうちのいずれかとの合致を受け入れることができる。

代替的に、登録デバイスは、誤り確率をリリースしてもよい(release)。例えば、このような誤り確率は、特定のユーザについて、所定の次元が信頼できない、ということを示し得る。さらに、このようなスキームは、このユーザに関する個人情報を漏洩させる(「ペギー(peggy)は信頼できない身長値を与える」)。どのビットが信頼できないかを明らかにするのではなく、全てが受け入れられ得る複数のハッシュ値を記憶することがより安全である。後者は、生体特徴における不確実さの度合いに関する情報を明らかにするが、どのビットがより誤りである又はより誤りでない傾向にあるかに関する情報を明らかにしない。

上記で示したように、方法は組み合わされてもよい。一例として、登録デバイスは、新たに登録される人ごとに、2つの最も可能性の高いビット誤り位置を決定することができる。この2という数は任意であり、例えば10未満の数といった任意の小さな数であってよい。本システムは、符号シフト及び1ビットECCを適用することが想定されている。次いで、登録デバイスは、2^2通りの異なるビット列を生成し、これらのビット列の各ビット列について、符号シフト及びECCを適用する。登録デバイスは、ECC列ごとのハッシュ値を記憶する。

すなわち、任意のユーザpのためのヘルパーデータは: オリジナルの生体特徴に対して適用される、アナログヘルパーデータWAp、第1の符号シフトWD1,p、及びハッシュH1,p、 最も可能性の高い次元に関する意図的な誤りを伴うオリジナルの生体特徴に対して適用される、アナログヘルパーデータWAp、第2の符号シフトWD2,p、及びハッシュH2,p、 2番目に最も可能性の高い次元に関する意図的な誤りを伴うオリジナルの生体特徴に対して適用される、アナログヘルパーデータWAp、第3の符号シフトWD3,p、及びハッシュH3,p、 最も可能性の高い次元及び2番目に最も可能性の高い次元に関する意図的な誤りを伴うオリジナルの生体特徴に対して適用される、アナログヘルパーデータWAp、第4の符号シフトWD4,p、及びハッシュH4,p、 である。

検証デバイスは、生体特徴を抽出し、上記4つの利用可能な検証データ集合を使用して、生体特徴をテストすることができる。

図5aは、生体特徴検証方法500の概略フローチャートである。方法500は、基準ハッシュを、生体特徴から得られた検証ビット列と照合する。方法500は、以下を含む: −検証ビット列のビットに割り当てられた誤り確率にアクセスすること(510)であって、誤り確率は、検証ビット列における当該誤り確率に対応するビットが、登録ビット列における対応するビットと異なる確率を示し、登録ビット列は、上記生体特徴から生体特徴登録デバイスにより以前に得られたものである、アクセスすること(510)。例えば、これは、量子化ユニット120により行われ得る。 −検証ビット列及び誤り確率から、候補ビット列を生成すること(520)。例えば、これは、候補ビット列生成部130により行われ得る。 −暗号学的ハッシュ関数を、生成された候補ビット列に適用して、候補ハッシュを得ること(530)。例えば、これは、ハッシュユニット140により行われ得る。 −ハッシュユニットにより生成された候補ハッシュが、基準ハッシュ記憶部に記憶されている基準ハッシュと合致するかどうかを検証すること(540)であって、基準ハッシュ記憶部は、少なくとも1つの基準ハッシュを記憶しており、少なくとも1つの基準ハッシュは、登録ビット列及び上記暗号学的ハッシュ関数から、生体特徴登録デバイスにより得られたものである、検証すること(540)。例えば、これは、比較ユニット160により行われ得る。

図5bは、生体特徴登録方法501の概略フロー図である。方法501は、生体特徴から得られた登録ビット列から、基準ハッシュを生成する。生体特徴登録方法501は: −登録ビット列から、複数の多様性登録ビット列を生成すること(550)、 −複数の多様性登録ビット列及び暗号学的ハッシュ関数から、複数の基準ハッシュを得ること(560)、及び −複数の基準ハッシュを記憶すること(570) を含む。 さらに、方法501は、以下のうちの1以上を含み得る。 −登録ビット列のビットに割り当てられた誤り確率にアクセスすること、 −登録ビット列及び誤り確率から、複数の多様性登録ビット列を生成すること、 −多様性登録ビット列について誤り訂正符号の符号語を選択し、多様性登録ビット列を、選択された符号語に向けてシフトするための誤り訂正ヘルパーデータを決定すること。

当業者には明らかなように、方法500及び501を実行する多くの異なるやり方が可能である。例えば、上記のステップの順序は、変更されてもよいし、いくつかのステップは、並列に実行されてもよい。さらに、ステップとステップとの間に、他の方法ステップが挿入されてもよい。挿入されるステップは、本明細書に記載の方法等の方法の精細化を表すこともあるし、本明細書に記載の方法等の方法に関連しないこともある。例えば、ステップ550及び560は、少なくとも部分的に並列に実行されてもよい。さらに、所与のステップは、次のステップが開始される前に、完全には終了していないこともある。

本発明に従った方法は、プロセッサシステムに方法500又は501を実行させる命令を含むソフトウェアを用いて実行され得る。ソフトウェアは、システムの特定のサブエンティティにより実行されるステップのみを含むこともある。ソフトウェアは、ハードディスク、フロッピ、メモリ等といった適切な記憶媒体に記憶され得る。ソフトウェアは、有線又は無線に沿って、又は、例えばインターネットといったデータネットワークを用いて、伝送され得る。ソフトウェアは、ダウンロード及び/又はサーバ上でのリモート使用のために、利用可能にされ得る。本発明に従った方法は、本発明に従った方法を実行するように、例えばフィールドプログラマブルゲートアレイ(FPGA)といったプログラマブルロジックを構成するよう構成されているビットストリームを使用して実行されてもよい。

図6aは、コンピュータプログラム1020を含む書き込み可能な部分1010を有するコンピュータ読み取り可能な媒体1000を示している。コンピュータプログラム1020は、一実施形態に従って、ハッシュ値を、生体特徴から得られた検証ビット列と比較する生体特徴検証方法、又は、生体特徴から得られた登録ビット列から、基準ハッシュを生成する生体特徴登録方法、をプロセッサシステムに実行させる命令を含む。

コンピュータプログラム1020は、物理的マークとして、又は、コンピュータ読み取り可能な媒体1000の磁気化により、コンピュータ読み取り可能な媒体1000上にグ具現化され得る。しかしながら、任意の他の適切な実施形態も可能である。さらに、図7aにおいて、コンピュータ読み取り可能な媒体1000が、光ディスクとして示されているが、コンピュータ読み取り可能な媒体1000は、ハードディスク、ソリッドステートメモリ、フラッシュメモリ等といった任意の適切なコンピュータ読み取り可能な媒体であってよく、非レコーダブル型であってもレコーダブル型であってもよいことが理解されよう。コンピュータプログラム1020は、プロセッサシステムに、前述の方法のうちの1つの方法を実行させる命令を含む。

図6bは、本発明に従ったプロセッサシステム1100の概略表現を上方視点で示している。プロセッサシステムは、1以上の集積回路1110を有する。図6bにおいて、1以上の集積回路1110のアーキテクチャが概略的に示されている。回路1110は、本発明に従った方法を実行するためのコンピュータプログラムコンポーネント及び/又はそのモジュール若しくはユニットを実装するためのコンピュータプログラムコンポーネントを実行する処理ユニット1120(例えば、CPU)を有する。回路1110は、プログラミングコード、データ等を記憶するメモリ1122を有する。メモリ1122の一部は、読み取り専用であり得る。回路1110は、通信要素(例えば、アンテナ、コネクタ、又はこれらの両方等)を有することができる。回路1110は、上記方法において規定される処理の一部又は全てを実行する専用集積回路1124を有してもよい。プロセッサ1120、メモリ1122、専用IC1124、及び通信要素1126は、インターコネクト1130(例えば、バス)を介して、互いに接続され得る。プロセッサシステム1110は、アンテナ及び/又はコネクタをそれぞれ使用する接触型通信及び/又は非接触型通信のために構成され得る。

本発明は、本発明を実行するために構成されているコンピュータプログラム、特に、キャリア上又はキャリア内のコンピュータプログラムにも拡張されることが理解されよう。コンピュータプログラムは、ソースコード、オブジェクトコード、ソースコードとオブジェクトコードとの中間のコードの形態、例えば、部分的にコンパイルされた形態、又は、本発明に従った方法の実装において使用するのに適した任意の他の形態であり得る。コンピュータプログラム製品に関する一実施形態は、上記方法のうちの少なくとも1つの方法の処理ステップの各処理ステップに対応するコンピュータ実行可能な命令を含む。これらの命令は、サブルーチンに細分割され得る、且つ/又は、静的又は動的にリンクされ得る1以上のファイルに記憶され得る。コンピュータプログラム製品に関する別の実施形態は、上記システム及び/又は製品のうちの少なくとも1つの手段の各手段に対応するコンピュータ実行可能な命令を含む。

上述した実施形態は、本発明を限定するものではなく、当業者は、多くの代替実施形態を設計することができることに留意されたい。

有利な生体特徴検証手段が、以下の項目に記載される。出願人は、これにより、本出願の審査過程又は本出願から派生する任意のさらなる出願の審査過程中に、新たな請求項が、そのような項目、並びに/又は、そのような項目及び/若しくは本記載から得られる特徴の組合せに編成され得ることを通知する。

1. 基準ハッシュ(480)を、生体特徴から得られた検証ビット列(420)と比較するよう構成されている生体特徴検証デバイス(100)であって、 −前記生体特徴検証デバイスは、前記検証ビット列のビットに割り当てられた誤り確率(170)へのアクセスを有し、誤り確率は、前記検証ビット列における該誤り確率に対応するビットが、登録ビット列における対応するビットと異なる確率を示し、前記登録ビット列は、前記生体特徴から生体特徴登録デバイスにより以前に得られたものであり、 前記生体特徴検証デバイスは、 −前記検証ビット列及び前記誤り確率から、候補ビット列(430)を生成するよう構成されている候補ビット列生成部(130)と、 −暗号学的ハッシュ関数を、前記の生成された候補ビット列に適用して、候補ハッシュを得るよう構成されているハッシュユニット(140)と、 −少なくとも1つの基準ハッシュを記憶するよう構成されている基準ハッシュ記憶部(162)であって、前記少なくとも1つの基準ハッシュは、前記登録ビット列及び前記暗号学的ハッシュ関数から、前記生体特徴登録デバイスにより得られたものである、基準ハッシュ記憶部(162)と、 −前記ハッシュユニットにより生成された候補ハッシュが、前記基準ハッシュ記憶部に記憶されている基準ハッシュと合致するかどうかを検証するよう構成されている比較ユニットと、 を有する、生体特徴検証デバイス。

2. 前記生体特徴検証デバイスは、バイオメトリックセンサ(110)から生体特徴検証データを得るよう構成されており、前記バイオメトリックセンサは、前記生体特徴を計測するよう構成されており、前記生体特徴検証デバイスは、 −前記生体特徴検証データのうちの少なくとも一部を、量子化範囲の集合のうちの量子化範囲内の点にマッピングすることにより、前記生体特徴検証データを量子化するよう構成されている量子化ユニット(120)であって、前記量子化範囲の集合における量子化範囲は、量子化ビット列に対応する、量子化ユニット(120) を有し、 −前記生体特徴検証デバイスは、前記生体特徴検証データから前記量子化ユニットにより得られた1以上の量子化ビット列を一緒に一列に並べて、前記検証ビット列を形成するよう構成されており、 −前記量子化ユニットは、前記生体特徴検証データのうちの前記少なくとも一部がマッピングされた、前記量子化範囲内の前記点と、該量子化範囲の最も近い端点と、の間の距離を決定し、誤り確率を、前記検証ビット列における対応するビットに割り当てるようさらに構成されている、項目1記載の生体特徴検証デバイス。

3. 前記量子化ユニットは、前記生体特徴検証データのうちの前記少なくとも一部を、前記量子化範囲内の前記点にマッピングする前に、量子化ヘルパーデータを、前記生体特徴検証データのうちの前記少なくとも一部に適用するよう構成されている、項目2記載の生体特徴検証デバイス。

4. 前記生体特徴検証デバイスは、前記生体特徴登録デバイスにより得られた誤り確率を受信する入力部(172)を有する、項目1乃至3いずれか記載の生体特徴検証デバイス。

5. 前記候補ビット列生成部は、誤り確率閾値未満である総誤り確率を有する候補ビット列を生成するよう構成されており、前記総誤り確率は、前記検証ビット列のビットに割り当てられた前記誤り確率から決定される、項目1乃至4いずれか記載の生体特徴検証デバイス。

6. 前記候補ビット列生成部は、最大の割り当てられた誤り確率を有する、前記検証ビット列における選択数のビットを選択し、前記の選択されたビットの値が変えられる候補ビット列を生成するよう構成されている、項目1乃至5いずれか記載の生体特徴検証デバイス。

7. −前記選択数は1であるか、 −前記選択数は2であるか、あるいは、 −前記選択数は3である、項目6記載の生体特徴検証デバイス。

8. −前記基準ハッシュ記憶部は、前記少なくとも1つの基準ハッシュとともに、該基準ハッシュに対応する誤り訂正ヘルパーデータを記憶するよう構成されており、 −前記生体特徴検証デバイスは、誤り訂正アルゴリズムをビット列に適用するよう構成されている誤り訂正ユニットを有し、 −前記候補ビット列生成部は、前記検証ビット列及び前記誤り確率から、中間候補ビット列を生成し、誤り訂正ヘルパーデータを前記中間候補ビット列に適用することにより、前記中間候補ビット列を、誤り訂正符号の符号語に向けてシフトし、前記誤り訂正ユニットを、前記のシフトされた中間候補ビット列に適用して、前記候補ビット列を得るよう構成されており、 −前記比較ユニットは、前記ハッシュユニットにより生成された候補ハッシュが、該候補ハッシュが得られた元である前記中間候補ビット列に適用された前記誤り訂正ヘルパーデータに対応する基準ハッシュと合致するかどうかを検証するよう構成されている、項目1乃至7いずれか記載の生体特徴検証デバイス。

9. 前記基準ハッシュ記憶部は、複数の基準ハッシュを記憶するよう構成されており、前記複数の基準ハッシュは、前記生体特徴登録デバイスにより得られたものである、項目1乃至8いずれか記載の生体特徴検証デバイス。

10. 前記基準ハッシュ記憶部は、前記複数の基準ハッシュとともに、複数の対応する誤り訂正ヘルパーデータを記憶するよう構成されている、項目8記載の生体特徴検証デバイスと項目9記載の生体特徴検証デバイスとを組み合わせた生体特徴検証デバイス。

11. 生体特徴から得られた登録ビット列から、基準ハッシュを生成するよう構成されている生体特徴登録デバイス(200)であって、 −前記登録ビット列から、複数の多様性登録ビット列を生成するよう構成されている基準ハッシュ生成部と、 −前記複数の多様性登録ビット列及び暗号学的ハッシュ関数から、複数の基準ハッシュを得るよう構成されているハッシュユニットと、 −前記複数の基準ハッシュを記憶するよう構成されている基準ハッシュ記憶部と、 を有する、生体特徴登録デバイス。

12. 前記生体特徴登録デバイスは、前記登録ビット列のビットに割り当てられた誤り確率へのアクセスを有し、前記基準ハッシュ生成部は、前記登録ビット列及び前記誤り確率から、複数の多様性登録ビット列を生成するよう構成されている、項目11記載の生体特徴登録デバイス。

13. 多様性登録ビット列について誤り訂正符号の符号語を選択し、該多様性登録ビット列を、前記の選択された符号語に向けてシフトするための誤り訂正ヘルパーデータを決定するよう構成されている誤り訂正ヘルパーデータ生成部 を有する、項目11又は12記載の生体特徴登録デバイス。

14. 項目9記載の生体特徴検証デバイスと、項目11記載の生体特徴登録デバイスと、を有するバイオメトリックシステム。

15. 基準ハッシュを、生体特徴から得られた検証ビット列と比較する生体特徴検証方法(500)であって、 −前記検証ビット列のビットに割り当てられた誤り確率にアクセスするステップであって、誤り確率は、前記検証ビット列における該誤り確率に対応するビットが、登録ビット列における対応するビットと異なる確率を示し、前記登録ビット列は、前記生体特徴から生体特徴登録デバイスにより以前に得られたものである、ステップと、 −前記検証ビット列及び前記誤り確率から、候補ビット列を生成するステップと、 −暗号学的ハッシュ関数を、前記の生成された候補ビット列に適用して、候補ハッシュを得るステップと、 −ハッシュユニットにより生成された候補ハッシュが、基準ハッシュ記憶部に記憶されている基準ハッシュと合致するかどうかを検証するステップであって、前記基準ハッシュ記憶部は、少なくとも1つの基準ハッシュを記憶しており、前記少なくとも1つの基準ハッシュは、前記登録ビット列及び前記暗号学的ハッシュ関数から、前記生体特徴登録デバイスにより得られたものである、ステップと、 を含む、生体特徴検証方法。

16. 生体特徴から得られた登録ビット列から、基準ハッシュを生成するよう生体特徴登録方法(501)であって、 −前記登録ビット列から、複数の多様性登録ビット列を生成するステップと、 −前記複数の多様性登録ビット列及び暗号学的ハッシュ関数から、複数の基準ハッシュを得るステップと、 −前記複数の基準ハッシュを記憶するステップと、 を含む、生体特徴登録方法。

17. コンピュータ上で実行されたときに項目15又は16の全てのステップを実行するよう適合されているコンピュータプログラムコード手段を含むコンピュータプログラム。

18. 前記コンピュータプログラムは、コンピュータ読み取り可能な媒体上に具現化されている、項目17記載のコンピュータプログラム。

請求項において、括弧内に配置されるいかなる参照符号も、請求項を限定するものとして解釈されるべきではない。動詞「有する」及びその活用形の使用は、請求項中に記載された要素又はステップ以外の要素又はステップの存在を排除しない。要素に先行する冠詞「a」又は「an」は、そのような要素の複数の存在を排除しない。本発明は、複数の異なる要素を有するハードウェアにより実施され得、適切にプログラムされたコンピュータにより実施され得る。複数の手段を列挙するデバイスの請求項において、それらの手段のうちのいくつかは、ハードウェアの1つの同じアイテムにより具現化されることもある。所定の手段が相互に異なる従属請求項に記載されるという単なる事実は、これらの手段の組合せが有利に使用され得ないことを示すものではない。

図1a〜図4bにおける参照符号のリスト: 100 生体特徴検証デバイス 110 バイオメトリックセンサ 120 量子化ユニット 130、131 候補ビット列生成部 132 中間候補ビット列生成部 133 誤り訂正ヘルパーデータ適用ユニット 134 誤り訂正ユニット 140 ハッシュユニット 150 量子化ヘルパーデータ記憶部 160 比較ユニット 162 基準ハッシュ記憶部 170 誤り確率記憶部 172 入力部 200、201 生体特徴登録デバイス 220 量子化ユニット 222 量子化ヘルパーデータ記憶部 230 基準ハッシュ生成部 240 誤り訂正ヘルパーデータ生成部 300 軸 310〜350 量子化範囲 321 量子化範囲320の中心 322、324 量子化範囲内の点 410 生体特徴検証データ 420 検証ビット列 430 候補ビット列 440 候補ハッシュ 450 生体特徴登録データ 460 登録ビット列 462 多様性登録ビット列 470 符号語 480 基準ハッシュ

QQ群二维码
意见反馈