(57)【要約】      （修正有）【課題】バイオメトリックパラメータを安全にデータベースに記憶する。【解決手段】人間の顔、音声、指紋、および虹彩から取得されるバイオメトリックパラメータが、ユーザ認証およびアクセス制御に使用される。バイオメトリックパラメータは連続しており、読み取り値毎に変化するため、シンドローム符号が適用されて、バイオメトリックシンドロームベクトルが求められる。バイオメトリックシンドロームベクトルは、バイオメトリックデータに固有の可変性に耐えながら安全に記憶することができる。記憶されたバイオメトリックシンドロームベクトルは、ユーザ認証中に、そのときに取得されるバイオメトリックパラメータを使用して復号化される。シンドローム符号も、データの暗号化および復号化に使用することができる。【選択図】図３
2008181085.tif 000002
【特許請求の範囲】
【請求項１】
バイオメトリックパラメータを安全にデータベースに記憶する方法であって、
登録シンドロームベクトルを生成するために、シンドローム符号器を使用してユーザの登録バイオメトリックパラメータを符号化することと、
登録ハッシュを生成するために、ハッシュ関数を前記登録バイオメトリックパラメータに適用することと、
前記登録シンドロームベクトルおよび前記登録ハッシュをデータベースに記憶することと
を含むバイオメトリックパラメータを安全にデータベースに記憶する方法。
【請求項２】
ユーザから登録バイトメトリックデータを取得することと、
前記登録バイオメトリックパラメータを前記登録バイオメトリックデータから抽出することと
をさらに含む請求項１に記載の方法。
【請求項３】
前記登録バイオメトリックデータに固有の座標系に基づいて前記登録バイオメトリックデータを位置合わせすることをさらに含む請求項２に記載の方法。
【請求項４】
顔の前記登録バイオメトリックデータが取得される請求項２に記載の方法。
【請求項５】
音声の前記登録バイオメトリックデータが取得される請求項２に記載の方法。
【請求項６】
指紋の前記登録バイオメトリックデータが取得される請求項２に記載の方法。
【請求項７】
前記登録バイオメトリックデータは、指紋の特徴点を含む請求項２に記載の方法。
【請求項８】
前記登録バイオメトリックパラメータは、前記特徴点の位置を示す請求項７に記載の方法。
【請求項９】
前記登録バイオメトリックデータパラメータは、前記特徴点の向きを示す請求項８に記載の方法。
【請求項１０】
前記位置合わせすることは、指紋コアポイントに関連する座標系に従う請求項３に記載の方法。
【請求項１１】
復号化バイオメトリックパラメータを生成するために、シンドローム復号器および認証バイオメトリックパラメータを使用して前記登録バイオメトリックシンドロームのベクトルを復号化することと、
認証ハッシュを生成するために、前記ハッシュ関数を前記復号化バイオメトリックパラメータに適用することと、
前記登録バイオメトリックパラメータと前記認証バイオメトリックパラメータとの類似度を求めるために、前記認証ハッシュと前記登録ハッシュとを比較することと
をさらに含む請求項１に記載の方法。
【請求項１２】
ユーザから認証バイオメトリックデータを取得することと、
前記認証バイオメトリックパラメータを前記認証バイオメトリックデータから抽出することと
をさらに含む請求項１１に記載の方法。
【請求項１３】
前記シンドローム復号器は、確率伝搬を使用する請求項１１に記載の方法。
【請求項１４】
前記シンドローム復号器は、前記バイオメトリックデータを取得するプロセスでの構造化ノイズを考慮する測定モデルに基づく請求項１１に記載の方法。
【請求項１５】
前記シンドローム符号器の設計は、
ソースモデルおよびチャネルモデルのパラメータをトレーニングデータから求めることと、
前記パラメータ、前記ソースモデル、および前記チャネルモデルに従って前記シンドローム符号器を構築することと
をさらに含む請求項１に記載の方法。
【請求項１６】
前記チャネルモデルは、構造化ノイズを含む請求項１５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、包括的には、暗号法の分野に関し、より詳細には、ユーザ認証用およびデータ暗号化用のバイオメトリックパラメータを取得し、符号化し、そして記憶することに関する。
【背景技術】
【０００２】
従来のパスワードに基づくセキュリティシステム
従来のパスワードに基づくセキュリティシステムは、通常、２つのフェーズを含む。具体的には、登録フェーズの期間中、ユーザは、パスワードを選択し、このパスワードは、サーバ等の認証デバイスに記憶される。認証フェーズの期間中、資源またはデータにアクセスするために、ユーザは、自身のパスワードを入力し、このパスワードが、パスワードの記憶されたものと照合される。パスワードがプレーンテキストとして記憶される場合、システムにアクセスする攻撃者は、あらゆるパスワードを得ることができる。したがって、攻撃が１回成功した場合であっても、システム全体のセキュリティが危険にさらされる可能性がある。
【０００３】
図１に示すように、従来のパスワードに基づくセキュリティシステム１００は、登録フェーズ１０中に、暗号化された（１１０）パスワード１０１をパスワードデータベース１２０に記憶する（１１５）。具体的には、Ｘが、記憶される（１１５）パスワード１０１である場合、システム１００は、実際にはｆ（Ｘ）を記憶する。ここで、ｆ（  ）は、ある暗号化関数またはハッシュ関数１１０である。認証フェーズ２０の期間中、ユーザは、候補のパスワードＹ１０２を入力し、システムは、ｆ（Ｙ）を求め（１３０）、そして、ｆ（Ｙ）が、記憶されたパスワードｆ（Ｘ）と一致する（１４０）場合にのみ、システムへのアクセスを許可し（１５０）、そうでない場合、アクセスは拒否される（１６０）。
【０００４】
利点としては、暗号化されたパスワードは、暗号化関数なしでは攻撃者にとって役に立たないことである。暗号化されたパスワードは、通例、戻すことが非常に困難である。
【０００５】
従来のバイオメトリックに基づくセキュリティシステム
バイオメトリックセキュリティシステムは、物理的なバイオメトリック特徴を測定して、観測値（observation）と呼ばれることもあるバイオメトリックパラメータを取得する。従来のバイオメトリックセキュリティシステムは、暗号化されないパスワードを記憶するパスワードベースのシステムと同じ脆弱性を有する。特に、データベースに暗号化されてないバイオメトリックパラメータが記憶される場合、パラメータは、攻撃および不正使用の対象となる。
【０００６】
例えば、顔認識システムまたは音声認識を使用するセキュリティシステムでは、攻撃者は、その攻撃者とよく似たバイオメトリックパラメータを検索することができる。適切なバイオメトリックパラメータが突き止められた後、攻撃者は、それらパラメータを変更して、攻撃者の外見または音声と一致させ、認可されないアクセスを行うことができる。同様に、指紋認識または虹彩認識を使用するセキュリティシステムでは、攻撃者は、一致する指紋または虹彩を模倣するデバイスを構築して、認可されないアクセスを行うことができる。例えば、このデバイスは、偽造した指または眼である。
【０００７】
基本となるバイオメトリック特徴に考えられるばらつきのみならず、その特徴が測定される方法によっても、バイオメトリックパラメータは、常に暗号化できるとは限らない。この差は「ノイズ」と呼ぶことができる。
【０００８】
特に、バイオメトリックパラメータＸは、登録フェーズ中に入力される。例えば、パラメータＸが暗号化またはハッシュ関数ｆ（Ｘ）を使用して暗号化され、記憶されるものとする。認証フェーズ中に同じユーザから取得されるバイオメトリックパラメータは異なり得る。例えば、顔認識を使用するセキュリティシステムでは、登録に使用されるカメラと認証に使用されるカメラとが異なる向き、感度、および解像度を有し得る。通常、照明は、かなり異なる。肌の色合い、髪型、および顔の他の特徴は、変わりやすい。このため、認証中、新たに観測されたパラメータＹが同じ暗号関数ｆを経た場合、その結果であるｆ（Ｙ）がｆ（Ｘ）に合致せず、拒絶に繋がる。虹彩パターンおよび指紋パターン等の他のバイオメトリックスベースのユーザ認証にも同様の問題が存在する。
【０００９】
誤り訂正符号
アルファベットＱ上の（Ｎ、Ｋ）誤り訂正符号（ＥＣＣ）Ｃは、長さＮのＱＫベクトルを含む。線形（Ｎ、Ｋ）ＥＣＣは、Ｎ行およびＫ列を有する生成行列Ｇを使用することによるか、または、Ｎ−Ｋ行およびＮ列を有するパリティチェック行列Ｈを使用することにより、記述することができる。「生成行列」という名称は、ベクトルｗとして表された符号語が、ｗ＝ｖＧに従って、任意の長さＫの入力された行ベクトルｖを行列Ｇに右乗算することにより、ベクトルｖから生成できるということに基づいている。同様に、ベクトルｗが符号語であるかどうかをチェックするために、ＨｗＴ＝０であるかどうかをチェックすることができる。ここで、列ベクトルｗＴは、行ｗの転置である。
【００１０】
誤り訂正符号の標準的な使用では、入力ベクトルｖが、ベクトルｗに符号化され、記憶されるか、または、送信される。ベクトルｗの破損したものが受信されると、復号器は、符号の冗長性を使用して誤りを訂正する。直感的に、符号の誤りの耐性は、符号の冗長量に依存する。
【００１１】
Ｓｌｅｐｉａｎ−Ｗｏｌｆ符号、Ｗｙｎｅｒ−Ｚｉｖ符号、およびシンドローム符号
ある意味で、Ｓｌｅｐｉａｎ−Ｗｏｌｆ（ＳＷ）符号は、誤り訂正符号とは逆のものである。誤り訂正符号は、冗長性を追加してデータを拡張するのに対して、ＳＷ符号は、冗長性を取り除いてデータを圧縮する。具体的には、ベクトルｘおよびベクトルｙが、相関したデータのベクトルを表す。符号化器が、すでにベクトルｙを有する復号器にベクトルｘを通信したい場合、符号化器は、復号器がベクトルｙを有することを考慮してデータを圧縮することができる。
【００１２】
極端な例として、ベクトルｘおよびベクトルｙが１ビットしか異ならない場合、符号化器は、ベクトルｘおよびその相違した位置を単に記述するだけで圧縮を行うことができる。もちろん、より現実的な相関モデルには、より高度な符号が必要とされる。
【００１３】
ＳＷ符号化の基本理論、および、関連したＷｙｎｅｒ−Ｚｉｖ（ＷＺ）符号化は、SlepianおよびWolf著「Noiseless coding of correlated information sources」（IEEE Transactions on Information Theory, Vol. 19, pp. 471-480, July 1973）ならびに、WynerおよびZiv著「The rate-distortion function for source coding with side information at the decoder」（IEEE Transactions on Information Theory, Vol. 22, pp. 1-10, January 1976）に記載されている。より最近では、PradhanおよびRamachandranが、「Distributed Source Coding Using Syndromes (DISCUS): Design and Construction」（IEEE Transactions on Information Theory, Vol. 49, pp. 626-643, March 2003）に、このような符号の実用的な実施態様が記載されている。
【００１４】
基本的に、シンドローム符号は、Ｎ−Ｋ行およびＮ列を有するパリティチェック行列Ｈを使用することによって動作する。長さＮのバイナリベクトルｘを長さＫのシンドロームベクトルに圧縮するために、Ｓ＝Ｈｘが求められる。復号は、多くの場合、使用される特定のシンドローム符号の詳細に依存する。例えば、シンドローム符号がトレリスに基づくものである場合、既知のビタビアルゴリズム等のさまざまな動的計画法に基づく探索アルゴリズムを使用して、Pradhan他によって記載されているようなシンドロームベクトルＳに対応する最も可能性のあるソースシーケンスｘ、および、一連のサイド情報を見つけることができる。
【００１５】
代替的に、低密度のパリティチェックシンドローム符号が使用される場合、Coleman他著「On some new approaches to practical Slepian-Wolf compression inspired by channel coding」（Proceedings of the Data Compression Conference, March, 2004, pages 282-291）に記載されているように、確率伝播復号を適用することもできる。
【００１６】
因子グラフ
従来技術では、上述した符号は、多くの場合、「因子グラフ」と呼ばれる二部グラフで表される。F. R. Kschischang、B. J. Frey、およびH. -A. Loeliger著「Factor Graphs and the Sum-Product Algorithm」（IEEE Transactions on Information Theory, vol. 47, pp. 498-519, February 2001）、G. D. Forney, Jr.著「Codes on Graphs: Normal Realizations」（IEEE Transactions on Information Theory, vol. 47, pp. 520-549, February 2001）、およびR. M. Tanner著「A Recursive Approach to Low-Complexity Codes」（IEEE Transactions on Information Theory, vol. 27, pp. 533-547, September, 1981）参照（すべて参照により本明細書に援用される）。
【００１７】
一般に、因子グラフは、「変数ノード」および「因子ノード」と呼ばれる２種類のノードを含む二部グラフである。変数ノードは、因子ノードのみに接続され、この逆も同様である。因子ノードは、従来、正方形を使用して描かれ、変数ノードは、従来、円を使用して描かれ、変数ノードと因子ノードとの間の接続は、対応する円および正方形を結ぶ線で示される。時として記号、すなわち「＋」が因子ノード内部に描かれて、課す制約の種類を表す。
【００１８】
変数ノードは、符号に使用される記号を表し、因子ノードは、記号への制約を表す。変数ノードは、対応する制約を受ける場合には、因子ノードのみに接続される。
【００１９】
従来技術によるバイオメトリックパラメータ符号化
本発明に関連する従来技術は、３つのカテゴリに分類される。第１に、このようなバイオメトリックパラメータの安全な記憶に関連しない特徴の抽出、記録、およびバイオメトリックパラメータの使用について述べた多数の従来技術がある。本発明は、安全な記憶に関し、かつバイオメトリックパラメータがどのように取得されるかの詳細には概して無関係であるため、このカテゴリの従来技術の詳細は省く。
【００２０】
第２のクラスの従来技術は、本発明に関連し、バイオメトリックスを安全に記憶し認証するように設計された以下のシステムを含む。すなわち、米国特許第６，０３８，３１５号「Method and system for normalizing biometric variations to authenticate users from a public database and that ensures individual biometric data privacy」、Davida, G. I.、Frankel, Y.、Matt, B. J.による「On enabling secure applications through off-line biometric identification」（Proceedings of the IEEE symposium on Security and Privacy, May 1998）、Juels, A.、Sudan, M.による「A Fuzzy Vault Scheme」（Proceedings of the 2002 IEEE International Symposium on Information Theory, June 2002）、米国特許出願第０９／９９４，４７６号「Order invariant fuzzy commitment system」（２００１年１１月２６日出願）、JuelsおよびWatternberg「A fuzzy commitment scheme」（In Proc. 5th ACM Conf. on Comp. and Commun. Security, New York, NY, pgs 28-36, 1999）、S. YangおよびI. M. Verbauwhede「Secure fuzzy vault based fingerprint verification system」（Asilomar Conf. on Signals, Systems, and Comp., vol. 1, pp. 577-581, November 2004）、U. UludagおよびA. Jain「Fuzzy fingerprint vault」（Proc. Workshop: Biometrics: Challenges arising from theory to practice, pp. 13-16, August 2004）。
【００２１】
図２は、米国特許第６，０３８，３１５号に記載されている基本的な方法の詳細のいくつかを示している。登録フェーズ２１０において、バイオメトリックパラメータが、Ｅ２０１で表記されるビットシーケンスの形で取得される。次に、ランダムな符号語Ｗ２０２が、バイナリ誤り訂正符号から選択され、排他的ＯＲ（ＸＯＲ）関数２２０を使用してパラメータＥと加法結合されて、参照値Ｒ２２１が生成される。オプションとして、参照値Ｒをさらに符号化することができる（２３０）。いずれの場合も、参照値Ｒは、パスワードデータベース２４０に記憶される。
【００２２】
認証フェーズ２２０において、バイオメトリックパラメータＥ’２０５が認証用に提示される。この方法は、基本的には、２つの差分をとることによって、ＲとＥ’とのＸＯＲを求め（２５０）、Ｚ＝Ｒ−Ｅ’＝Ｗ＋Ｅ−Ｅ’が得られる（２５１）。次に、この結果は、誤り訂正符号を用いて復号され（２６０）、Ｗ’が生成される（２６１）。ステップ２７０において、Ｗ’がＷと一致する場合、アクセスが許可され（２７１）、そうでない場合、アクセスは拒否される（２７２）。
【００２３】
この方法は、基本的に、ハミング距離、すなわち、登録されたバイオメトリックＥ２０１と認証バイオメトリックＥ’２０５との間で異なるビット数を測定する。この相違が、ある所定のしきい値よりも小さい場合、アクセスが許可される。この方法は、参照値Ｒのみを記憶し、実際のバイオメトリックパラメータＥを記憶しないので、安全である。
【００２４】
Davida他およびJuels他は、図２に示す方法を変形したものを記載している。具体的には、両者は、登録フェーズの期間中に誤り訂正符号を有するバイオメトリックデータを符号化し、その後、その結果生成された符号語を安全にするオペレーションが続く。Davida他は、チェックビットの送信のみによって符号語を隠蔽するのに対して、Juels他は、「チャフ（chaff）」と呼ばれるある量の雑音を追加する。
【００２５】
米国特許第６，３６３，４８５号「マルチファクタバイオメトリック認証装置および認証方法」は、バイオメトリックデータを誤り訂正符号およびある秘密情報と結合して、秘密鍵を生成するための方法を記載している。ある秘密情報は、パスワードまたは個人識別番号（ＰＩＮ）等である。Ｇｏｐｐａ符号またはＢＣＨ符号等の誤り訂正符号が、さまざまなＸＯＲ演算と共に使用される。
【００２６】
図２に示す固定データベースアクセス制御システムに加えて、第３の分類の従来技術は、データ保護、具体的にはラップトップ、ＰＤＡ、携帯電話、およびデジタルカメラ等の、メモリを含む携帯機器のデータ保護にバイオメトリクスを使用することを含む。携帯機器は、紛失しやすい、または盗まれやすいため、携帯機器に記憶されているデータを保護することが必要になる。
【００２７】
従来技術に関連した問題
図４は、データＤ４０１を記憶するための既存の手法に伴う問題を示す。符号化プロセス４１０において、バイオメトリックパラメータＰ４０２がユーザから取得され、これが鍵として使用されてデータＤが暗号化され（４４０）、暗号文Ｃ４４１を生成する。ＰおよびＣが両方とも記憶装置４５０に保存される。ユーザがデータ４０１を復号化（４２０）したい場合、バイオメトリックパラメータＰ’４６０がユーザから取得され、これが記憶されているバイオメトリックＰ４０２と比較される。Ｐ’がＰと一致する場合（４７０）、システムは、アクセスを許可し、Ｐを使用して記憶されている暗号文Ｃを復号化し、データＤ４０１を生成する。Ｐ’がＰと一致しない場合、データは、復号化されない（４７１）。
【００２８】
このような従来技術によるシステムは、記憶媒体が危機にさらされない場合に限ってのみ有効である。攻撃者がこのような媒体にアクセスすることができる場合、攻撃者は、Ｐを取得してデータを復号化する。
【００２９】
第１に、ビットに基づく従来技術の方法が提供するセキュリティは、疑わしいものである。これに加えて、バイオメトリックパラメータは、多くの場合、バイナリ値ではなく、実数値または整数値である。この従来技術は、一般に、バイオメトリックパラメータが一様に分布したランダムなビットで構成され、記憶されたバイオメトリックからこれらのビットを正確に求めることは、困難であると仮定する。実際には、バイオメトリックパラメータは、多くの場合、偏っており、これは、セキュリティに悪影響を与える。また、たとえ、攻撃者が、記憶されたバイオメトリックに近似したものしか復元しないとしても、その攻撃は、重大な損害を引き起こす可能性がある。従来技術の方法は、攻撃者が、実際のバイオメトリックを符号化したものから推定することを防止するようには設計されていない。
【００３０】
例えば、米国特許第６，０３８，３１５号は、ランダムな符号語Ｗを追加することによって、参照値Ｒ＝Ｗ＋ＥがバイオメトリックＥを有効に暗号化することに依拠している。しかしながら、その方法が達成するセキュリティは、不十分である。ＲからＥを復元する複数の方法がある。例えば、ベクトルＥが、１に等しいビットを数ビットしか有しない場合、ＲとＷとの間のハミング距離は、小さくなる。したがって、誤り訂正復号器は、ＲからＷを容易に復元することができ、したがって、Ｅを復元することもできる。代替的に、例えば、符号の重みスペクトルが小さく、多くの符号語がオールゼロベクトルの周りに密集する場合といった、符号語の分布が不十分である場合に、攻撃者は、ＲからＥの良好な近似を得ることができる。
【００３１】
第２に、セキュリティが疑わしいことに加えて、従来技術の方法は、記憶されるデータ量が増加するという実用上の不都合も有する。バイオメトリックデータベースは、多くの場合、多数の個人ユーザのデータを記憶するので、ストレージが追加されることによって、システムのコストおよび複雑度は、大幅に増加する。
【００３２】
第３に、多くの従来技術の方法は、高い計算複雑度を有する誤り訂正符号またはアルゴリズムを必要とする。例えば、従来技術のリード−ソロモン復号アルゴリズムおよびリード−マラー復号アルゴリズムは、一般に、符号化されたバイオメトリックの長さにおいて、少なくとも２次の計算複雑度を有し、多くの場合、それよりも高次の計算複雑度を有する。
【００３３】
第４に、従来技術において既知の携帯セキュリティシステムの基本構造に伴う基本的な問題がある。図４に示すような携帯セキュリティシステムは、携帯セキュリティシステム自体が危険にさらされない場合にしか有効であり得ない。ラップトップの携帯セキュリティシステムの例に戻ると、セキュリティは、攻撃者が、ＰおよびＣが記憶されている媒体に物理的にアクセスできない場合にしか有効であり得ない。攻撃者がこのような媒体に、例えば、ハードディスクをラップトップから取り出すことによってアクセスすることができる場合、攻撃者は、Ｃの生成に使用された暗号鍵であったＰを即座に取得し、ひいては、Ｃを復号化する。
【００３４】
従来の携帯セキュリティシステムに伴う主な問題は、ユーザのバイオメトリックパラメータに対応する暗号鍵がその装置に記憶されることである。このため、装置が盗まれれば、記憶されているパラメータを使用してデータが復号化される恐れがある。
【００３５】
第５に、バイオメトリックスに固有のノイズ構造に対して誤り訂正符号化またはシンドローム符号復号化を行うよい方法がなく、ノイズ構造のモデリングにさえもあまり考えが及んでいないため、セキュアバイオメトリックシステムの大半の従来技術は、メモリレスノイズモデルまたはノイズの性質を過度に簡略化した他のモデルを使用し、実際の動作状況を反映しない。すなわち、従来技術によるモデルは、バイオメトリック特徴、取得プロセス、および測定プロセスの経時変化ダイナミクスを正確に表さない。これらのモデルは、正確に表すことに代えて、ノイズがメモリレスであり、空間的または時間的な構造を有しないものと仮定する。
【００３６】
多くの場合、バイオメトリック特徴は、測定毎に異なる。例えば、指紋バイオメトリックスでは、多くの場合、「特徴」点が特徴セットとして使用される。特徴点の相対位置および向きは、登録および認証中にかなり異なり得る。これは、認証プロセスを難しくする。この問題を解く大半の単純な試みでは、過度に高次元であり、したがって、実際に実施するには非実用的であるモデルが使用される。
【発明の開示】
【発明が解決しようとする課題】
【００３７】
したがって、構造化ノイズを含むバイオメトリックデータのモデルを提供することが望まれている。
【課題を解決するための手段】
【００３８】
バイオメトリックパラメータは、例えば、人間の顔、音声、指紋、および虹彩から取得され、多くの場合、ユーザ認証およびデータアクセス制御に使用される。バイオメトリックパラメータは、パスワードで行われるように、ハッシュされた形態または暗号化された形態でデータベースに記憶することはできない。その理由は、パラメータが通常は連続的であり、同じユーザについて、ある読み取りから次の読み取りまでに変化することがあるためである。例えば、サンプリングされた顔の外観、指紋または音声のトーンは、経時変化することがある。
【００３９】
本発明の１つの実施の形態は、シンドローム符号、例えば、Ｗｙｎｅｒ−Ｚｉｖ符号化またはＳｌｅｐｉａｎ−Ｗｏｌｆ符号化に基づくシンドローム符号を使用してバイオメトリックデータを保護する。シンドロームベクトルと呼んでいるシンドローム符号化の出力は、データベースに安全に記憶することが可能でありながら、依然として未処理のバイオメトリックデータに固有の可変性を許容する。
【００４０】
具体的には、本発明によるバイオメトリックシンドロームベクトルは、以下の特性を有する。
【００４１】
第１に、シンドロームデータベースが危険にさらされた場合、記憶されたシンドローム符号が、システムのセキュリティを巧みに回避するのにほとんど役立たないように、シンドロームは、元のバイオメトリックの特徴に関する情報を有効に隠蔽するか、または、暗号化する。
【００４２】
第２に、各バイオメトリックの第２のノイズ測定値が与えられ、それに対応して記憶された各シンドロームベクトルを復号して、元のバイオメトリックパラメータを生成し、暗号化されたデータを元のバイオメトリックパラメータを用いて復号することができる。
【００４３】
第３に、シンドローム符号化方法は、ユーザ認証に用いることができる。
【００４４】
本発明の第２の実施形態では、バイオメトリック特徴の変化により経時変化し得るバイオメトリックパラメータを効率的にモデリングするとともに、測定プロセスをさらにモデリングする方法について述べる。
【００４５】
この方法では、計算的に効率的にバイオメトリック特徴の複数の読み取り値間の関係を正確に利用することができる。特に、この方法では、既存の従来技術による方法よりもはるかに良好に、このようなバイオメトリック特徴のシンドローム復号化を首尾よく行うことができる。
【発明を実施するための最良の形態】
【００４６】
本発明の実施の形態は、以下の構成要素：シンドローム符号化器およびバイオメトリックパラメータを安全に記憶するためのハッシュ方法、バイオメトリック鍵を使用して暗号化されたデータを安全に記憶するためのシンドローム符号に基づく暗号方法、ならびに前者の２つの方法等の安全なバイオメトリック用途に使用されるシンドローム符号を最適化する方法を含む。
【００４７】
安全なバイオメトリックパラメータのためのシンドロームおよびハッシュ方法
図３は、本発明によるシンドロームおよびハッシングに基づくバイオメトリックセキュリティシステム３００を示している。ユーザのバイオメトリック特徴が、バイオメトリックパラメータ（データまたは実測）を得るために測定される。本発明による方法は、シンドローム符号をもつバイオメトリックパラメータを圧縮して、圧縮されたシンドロームベクトルを生成する。
【００４８】
従来の圧縮と異なり、元のバイオメトリックデータは、シンドローム符号により生成されるシンドロームベクトルのみから再構築または近似することができない。シンドロームベクトルおよび元のバイオメトリックパラメータのハッシュが、バイオメトリックデータベースに記憶される。
【００４９】
ユーザを認証するために、バイオメトリックパラメータが再び測定される。このバイオメトリックパラメータは、記憶されているシンドロームベクトルと組み合わせられて、元のバイオメトリックパラメータが復号化される。シンドロームの符号化に失敗した場合、元のバイオメトリックスパラメータは復元されず、復号化されたパラメータのハッシュは、記憶されているハッシュに合致しない。したがって、ユーザは、アクセス拒絶される。シンドローム復号化に成功した場合、元のバイオメトリックパラメータのハッシュは、復号化されたパラメータのハッシュに合致し、これは、ユーザの真正性を証明する。ハッシュの役割は、ユーザ入力制御を提供し、ユーザにより提供されるバイオメトリックパラメータが元のバイオメトリックパラメータを正確に再構築するのに十分に良好であることを確実にすることである。シンドローム符号器およびハッシュの両方が多対一マッピングであるが、シンドローム符号は、元のバイオメトリックパラメータの再構築に有用な構造を有する。一方、ハッシュ関数は、例えば、元のバイオメトリックの推定に有用な情報を提供しない暗号ハッシュであり得る。
【００５０】
登録フェーズ
登録フェーズ３１０では、ユーザの物理的特徴であるバイオメトリックデータが取得される。例えば、バイオメトリックデータは、顔の画像、音声の記録、指紋の画像、または虹彩をスキャンしたものから導き出される。
【００５１】
以下、バイオメトリックデータは、ユーザの物理的特徴から感知、測定、またはその他の方法で取得される未処理のバイオメトリック信号を指す。特徴がバイオメトリックデータから抽出される。この特徴は、ｄ次元特徴ベクトルに配置される。この特徴ベクトルは、登録バイオメトリックパラメータ３０１を形成する。様々な形式のバイオメトリックデータから特徴を抽出する方法は、上述したように当該技術分野において既知である。特徴ベクトルをバイオメトリックパラメータおよび最適なシンドローム符号に変換することについて、さらに詳細に、以下説明する。
【００５２】
バイオメトリックパラメータＥ３０１は、シンドローム符号化器３３０を使用して符号化され、登録シンドロームべクトルＳ３３１が生成される。次に、メッセージ認証符号またはハッシュ関数が、バイオメトリックパラメータＥに適用され（３４０）、登録ハッシュＨ３４１が生成される。このハッシュ関数は、Ron Rivest著「The MD5 Message Digest Algorithm」（RFC 1321, April 1992）に記載されている既知のＭＤ５暗号ハッシュ関数とすることができる。登録シンドロームベクトル−ハッシュの対（Ｓ，Ｈ）３３１、３４１が、バイオメトリックデータベース３５０に記憶される。
【００５３】
任意のタイプのシンドローム符号、例えば、上述したＳＷ符号またはＷＺ符号を使用することができる。本発明の好ましい実施の形態は、いわゆる「繰り返し累積符号（repeat-accumulate code）」、すなわち「積累積符号（product-accumulate code）」から導出された符号、および、本発明において「拡張ハミング累積符号（extended Hamming-accumulate code）」と呼ぶ符号を使用する。
【００５４】
本発明では、一般に、これらの符号を直列連鎖累績（ＳＣＡ：serially concatenated accumulate）符号と呼ぶ。一般的な意味でのこれらの部類の符号に関する、より多くの情報については、J. Li、K.R. Narayanan、C.N. およびGeorghiades著「Product Accumulate Codes: A Class of Codes With Near-Capacity Performance and Low Decoding Complexity」（IEEE Transactions on Information Theory, Vol. 50, pp. 31-46, January 2004）IEEE Communications Letters, 2004に投稿されたM. IsakaおよびM. Fossorier著「High Rate Serially Concatenated Coding with Extended Hamming Codes」、ならびにD. DivsalarおよびS. Dolinar著「Concatenation of Hamming Codes and Accumulator Codes with High Order Modulation for High Speed Decoding」（IPN Progress Report 42-156, Jet Propulsion Laboratory, Feb. 15, 2004）を参照願いたい。
【００５５】
Yedidia他によって２００４年８月２７日に出願された「Compressing Signals Using Serially-Concatenated Accumulate Codes」という発明の名称の米国特許出願番号第１０／９２８４４８号（参照により本明細書に援用される）は、本発明によって使用されるようなＳＣＡ符号に基づく、本発明の好ましいシンドローム符号化器のオペレーションを記載している。
【００５６】
バイオメトリックパラメータ３０１の本発明のシンドローム符号化器３３０は、多数の利点を有する。このシンドローム符号化器３３０は、整数値の入力に対してオペレーションを行うことができる。これとは対照的に、従来技術の符号化器は、一般に、バイナリ値の入力に対してオペレーションを行う。このシンドローム符号化器は、バイオメトリックデータベース３５０の記憶要件を最小にするために、非常に高い圧縮率を有する。このシンドローム符号化器は、レート適合型となるように設計可能であり、インクリメンタル形にオペレーションを行うことができる。
【００５７】
認証フェーズ
認証フェーズ３２０では、バイオメトリックデータが、ユーザから再び取得される。特徴が抽出されて、認証バイオメトリックパラメータＥ’３６０が得られる。データベース３５０が検索されて、このユーザの一致する登録シンドロームベクトルＳ３３１および登録ハッシュＨ３４１が突き止められる。
【００５８】
この検索は、データベース３５０のあらゆるエントリ（Ｓ−Ｈ対）をチェックすることもできるし、ヒューリスティックに順序付けられた検索を使用して、一致するエントリを見つけるプロセスを高速化することもできる。具体的には、本発明においてデータベースにおけるｉ番目のシンドロームベクトル−ハッシュの対を（Ｓｉ，Ｈｉ）と示す場合、全数検索は、まず、シンドローム復号をＥ’およびＳ１に適用し、シンドローム復号器の出力のハッシュをＨ１と比較する。アクセスが拒否される場合、同じプロセスが（Ｓ２，Ｈ２）で試みられ、次いで（Ｓ３，Ｈ３）で試みられ、すべてのエントリが試行されるか、または、アクセスが許可されるまで、以下同様に試みられる。
【００５９】
登録ユーザ名等のさらなる情報が利用可能である場合、検索を高速化することができる。例えば、登録ユーザ名のハッシュ（バイオメトリックパラメータのハッシュＨと混同しないように）が，登録フェーズの期間中にＳ−Ｈの対で記憶される。次に、認証フェーズでは、ユーザが認証ユーザ名を供給し、システムがその認証ユーザ名のハッシュを求め、一致する、ハッシュされた登録ユーザ名を有するＳ−Ｈ対を求めてデータベースを検索し、そして、その結果のＳ−Ｈ対でＥ’の認証を試みる。
【００６０】
具体的には、シンドローム復号器３７０が、登録シンドロームベクトルＳに適用され、認証パラメータＥ’３６０が「サイド」情報として働く。シンドローム復号器は、一般に、当該技術分野において既知である。通常、確率伝播またはターボ符号を使用する復号器は、低い複雑度で優れた誤差耐性を有する。シンドローム復号器３７０の出力は、復号された登録パラメータＥ’’３７１である。復号された値Ｅ’’３７１は、シンドロームベクトルＳ３３１を生成するのに使用される元のバイオメトリックパラメータＥ３０１の推定値である。ハッシュ関数３４０がＥ’’３７１に適用されて、認証ハッシュＨ’３８１が生成される。
【００６１】
登録値Ｈ３４１と認証値Ｈ’３８１とが比較される（３９０）。それらの値が一致しない場合、アクセスは、拒否される（３９２）。そうでない場合、値Ｅ’’３８１は、元のバイオメトリックＥ３０１と実質的に一致する。この場合、ユーザは、アクセス許可を受けることができる（３９１）。
【００６２】
これに加えて、復号されたパラメータＥ’’３８１と認証バイオメトリックパラメータＥ’３６０との間で直接比較を行って、ユーザを認証することもできる。例えば、Ｅ’およびＥ’’が顔認識システムのバイオメトリックパラメータに対応する場合、顔の類似性を比較するための従来のアルゴリズムをパラメータＥ’およびパラメータＥ’’に適用することができる。
【００６３】
シンドロームに基づくデータ暗号
図５は、データ５０１の符号化５１０および復号化５２０の方法５００である。符号化プロセス５１０において、第１のバイオメトリックパラメータＰ５０２が第１のユーザから取得される。このパラメータが使用されて、入力データＤ５０１が暗号化され（５４０）、暗号文Ｃ５４１が生成される。しかし、従来技術とは対照的に、第１のバイオメトリックパラメータＰは、決してメモリに記憶されない。メモリに記憶されることに代えて、シンドローム符号化器５３０が第１のバイオメトリックパラメータＰを符号化して、シンドロームベクトルＳ５３１を生成する。対（Ｓ，Ｃ）は、互いに関連付けられ、メモリ５５０に記憶される。本発明の１つの実施の形態では、入力データは、登録プロセス中にユーザから取得される未処理のバイオメトリックデータである。
【００６４】
暗号文５４１を復号化したい（５２０）場合、第２のバイオメトリックパラメータＰ’５６０が第２のユーザから取得される。記憶されているシンドロームベクトルＳ５３１は、第２のバイオメトリックパラメータを使用してシンドローム復号化され、第３のバイオメトリックパラメータＰ’’５７１が生成される。次に、第３のバイオメトリックパラメータＰ’’が使用されて暗号文５４１が復号化され（５８０）、出力データＤ’５０９が生成される。明らかなことに、第２のバイオメトリックパラメータおよび第３のバイオメトリックパラメータが第１のバイオメトリックパラメータと一致しない場合、出力データＤ’５０９は、入力データＤ５０１と一致しない。出力データは、第１のユーザと第２のユーザが同一人物である場合にのみ入力データと厳密に一致する。
【００６５】
本発明の一実施形態では、バイオメトリックパラメータのハッシュＨも、上述したように記憶することができる。ハッシュが合致することを調べることで、復号化が成功したことが確認される。ハッシュなしの場合、セキュリティは保たれるが、復号器は、復号化の成功を確認することができない。多くの種類のソースデータに対して、不正確な復号化によって生じるファイルは、何ら有用なものに相当しないため、ハッシュは必要ない。
【００６６】
この方法は、以下の利点を有する。攻撃者がシンドロームベクトルおよび暗号文（Ｓ，Ｃ）にアクセスできても、データを復号化することはできない。これは、暗号鍵、すなわち、第１のバイオメトリックパラメータＰは、シンドロームベクトルから復元できないためである。さらに、シンドローム符号の誤り修正性により、第２のバイオメトリックパラメータＰ’が第１のバイオメトリックパラメータＰとわずかに異なる場合であっても、適宜設計されたシンドローム復号器は、暗号鍵Ｐ５０２として使用された第１のバイオメトリックパラメータと全く同じである第３のバイオメトリックパラメータＰ’’を生成することに成功することができる。
【００６７】
シンドローム符号化は、バイオメトリックパラメータを安全に記憶する効率的な方法を提供し、バイオメトリック情報を安全に記憶する他の方法に適用することができる。特徴ベクトルは、バイオメトリックデータから抽出できることに留意願いたい。したがって、上述したバイオメトリックパラメータは、いずれも、対応する特徴ベクトルで置き換えることができる。
【００６８】
バイオメトリックパラメータを暗号化された形で記憶することのさらなる利点は、これにより、安全なバイオメトリック記憶アプリケーションが、バイオメトリック認証アプリケーションに使用される特徴ベクトルと異なる特徴ベクトルで動作することが可能になることである。例えば、指紋認証システムは、多くの場合、指紋の画像から抽出される、いわゆる「特徴点（minutiae）」に基づく特徴ベクトルを使用する。同様に、虹彩認識システムは、時に、虹彩画像をガボールフィルタバンクに通すことから抽出される特徴を使用する。
【００６９】
多くの場合、バイオメトリック認証、例えば、顔認証または指紋識別に理想的な特徴ベクトルは、シンドローム符号化／復号化に理想的な特徴ベクトルと異なり得る。多くの場合、これは、認識システムまたは識別システムの分類器、例えば、ガウス混合モデル（ＧＭＭ）、ニューラルネットワーク、または隠れマルコフモデルに基づく分類器をトレーニングするプロセスが、本明細書において説明するように、シンドローム符号化器および復号器の確率伝搬復号器と併せて使用されるヒストグラムのトレーニングに使用されるプロセスと異なる特徴ベクトルを生成することによる。
【００７０】
図６は、入力バイオメトリックデータ６０１を暗号化したものを記憶する方法６００を示す。上述したように、バイオメトリックデータは、ユーザのバイオメトリック特徴を測定または感知するために使用される未処理の信号から導き出される。
【００７１】
アクセス制御システムの登録フェーズ６１０において、例えば、第１のバイオメトリックデータＢ６０１がユーザから取得される。次に、第１のバイオメトリックパラメータＰ６０２の特徴ベクトルが、第１のバイオメトリックデータＢ６０１から取得される。第１のバイオメトリックデータＢは、第１のバイオメトリックパラメータＰを暗号鍵として使用して暗号化され（６４０）、暗号文Ｃ６４１が生成される。さらに、第１のバイオメトリックパラメータは、シンドローム符号化され（６３０）、シンドロームベクトルＳ６３１が生成される。次に、関連付けられた対（Ｓ，Ｃ）６３２がバイオメトリックデータベース６５０に記憶される。
【００７２】
認証フェーズ６２０において、第２のバイオメトリックデータＢ’６６０がユーザから取得される。この第２のデータを使用して、第２のバイオメトリックパラメータＰ’６６１の特徴ベクトルが生成される。次に、シンドローム復号器６７０が第１のバイオメトリックパラメータを復号化して、第３のバイオメトリックパラメータＰ’’６７１を生成する。次に、この第３のバイオメトリックパラメータが鍵として使用されて、暗号文Ｃが復号化され（６８０）、第３のバイオメトリックデータＢ’’６８１が生成される。この時点で、認証バイオメトリックデータＢ’および復号化されたバイオメトリックデータＢ’’がバイオメトリック認識方法６９０によって比較され、特定の機能へのアクセスが許可される（６９１）か、それとも拒絶される（６９２）かが判断される。前のように、アクセスは、第１のバイオメトリックデータと第３のバイオメトリックデータが全く同一である、すなわち、第１のユーザと第２のユーザが、同じ人物である場合のみ許可される。
【００７３】
別の変形では、比較ステップは、バイオメトリックデータから抽出された特徴ベクトルを使用することができる。特徴ベクトルは、バイオメトリックパラメータと同じである必要はない。さらに、比較されている２つの特徴ベクトルは、認証ステップがまったく異なるプロセスを使用し得るため、実質的に同じである必要があるだけである。したがって、特徴ベクトルは、特定のユーザを経時にわたって特徴付ける、より広い範囲のバイオメトリックデータ変化を許すことができる。
【００７４】
図６に示すプロセスに伴ういくつかの利点をリストアップする。認証システムは、従来の認証システムをステップ６９０において使用することができる。さらに、シンドローム符号化器／復号器により使用されるバイオメトリックパラメータＰおよびＰ’は、バイオメトリック検証ステップ６９０により使用されるパラメータまたは特徴ベクトルから独立して選択することができる。さらに、シンドローム符号化は、バイオメトリックパラメータを安全に記憶する効率的な方法である。しかし、図６の方法は、バイオメトリックパラメータを安全に記憶する他の方法に適用することも可能である。
【００７５】
安全なバイオメトリックパラメータの最適なシンドローム符号の設計
一般に、シンドローム符号を使用してバイオメトリックパラメータおよびバイオメトリック特徴を保護するに当たり、セキュリティと精度との間にトレードオフがある。具体的には、任意のシンドローム符号の鍵となるパラメータは、シンドロームベクトル中のビット数である。多数のビットを有するシンドロームベクトルは、バイオメトリックデータについて、より多くの情報を伝達し、バイオメトリックデータのノイズおよびばらつきを許容しやすくする。これとは対照的に、小さなシンドロームベクトルほど攻撃者に与える情報は少ないが、誤りやすい。
【００７６】
極端な一例として、シンドロームベクトルの長さが基礎を成すバイオメトリックデータの長さとほぼ同じである場合、元のバイオメトリックデータをシンドロームベクトルのみからそのまま復元できるため、いかなる量のノイズも許容され得る。もちろん、この場合、シンドロームベクトルを取得する攻撃者は、おそらく、バイオメトリックデータも復元することができ、システムのセキュリティを危険にさらす。
【００７７】
これとは反対の極端な一例として、非常にビット数の少ないシンドロームベクトルは、攻撃者がバイオメトリックデータをシンドロームベクトルから復元できないという点で、極めて良好なセキュリティを提供する。しかし、この場合、登録バイオメトリックデータと認証バイオメトリックデータとの間で許容される変化が限られる。
【００７８】
明らかなことに、シンドロームに基づく符号化器および復号器は、セキュリティとバイオメトリック変化の許容とのバランスをとるシンドロームベクトルの長さを選択すべきである。しかし、入念に設計されたシンドローム符号は、誤差耐性を向上させることができる。
【００７９】
シンドローム符号の設計および動作について、図１２に示す以下の用語を使用して説明する。バイオメトリックデータ１２０１は、例えば、顔または指紋の画像であることができる。完全特徴ベクトル１２０２が、トレーニングバイオメトリックデータから抽出される。完全特徴ベクトル１２０２は、シンドローム特徴ベクトル１２０３に低減される。シンドローム特徴ベクトルは、設計者がシンドロームの符号化および復号化に適切であると判断した完全特徴ベクトルの部分を取り込む。シンドローム符号を使用して、シンドローム特徴ベクトルからシンドロームベクトル１２０４を符号化する。シンドローム特徴ベクトル１２０３は、図３のバイオメトリックパラメータＥ３１０の役割を果たし、シンドロームベクトルは、Ｓ３３１である。
【００８０】
バイオメトリック統計モデル
図１３は、本発明の一実施形態によるシンドロームベクトル１２０４および対応する復号器１２０５（すなわち、符号器および復号器）を構築するプロセス１３００を示す。トレーニングバイオメトリックデータ１３０１が取得される。選択された特徴モデル１３０４のパラメータ１３０２が、トレーニングデータから求められる（１３１０）。コーデックの点では、特徴モデルは、本質的に「ソース」モデルである。同様に、選択された測定モデル１３０５のパラメータ１３０３が求められる（１３２０）。測定モデルは、事実上、「チャネル」モデルである。次に、パラメータ１３０２および１３０３ならびにモデル１３０４および１３０５を使用して、シンドローム符号および対応する復号器が構築される。チャネルモデルが測定プロセスにおいて構造化ノイズに対処するように設計されることに留意されたい。ノイズは、例えば、異なる測定の瞬間に観測されるバイオメトリックデータの特徴の変化ならびに瞬間と瞬間との間での特徴の挿入および削除に起因し得る。
【００８１】
多くの機械学習ツールが上記設計プロセスを支援することができるが、この問題は、結果得られるモデルがシンドローム符号化に適した「硬（hard）」特徴ベクトルを有するため、機械学習での多くのモデリング問題とかなり異なる。「硬」特徴ベクトルと「軟(soft)」特徴ベクトルとの違いについて、さらに詳細に後述する。
【００８２】
図１２に示すように、シンドローム特徴ベクトル１２０３は、通常、シンドローム復号化を処理しやすくするようにサイズを低減したものである。シンドローム符号を構築するために、密度進化を次数分布に適用することができる。シンドローム符号は、シンドローム特徴ベクトル１２０３の有限ブロック長またはシンドロームベクトル１２０４が複数のユーザにわたるバイオメトリック特徴のばらつきに合うように、変数レート符号を使用する必要性等の特徴を考慮するように、さらに改良することができる。
【００８３】
シンドローム符号が構築選択された後、後述するように反復確率伝搬復号器を構築する
【００８４】
量子化
図７中に示されたプロセス１３００の具体例７００を詳細に説明する前に、登録および認証におけるバイオメトリックデータの使用の違いを明確にする以下の用語の定義をまず行う。本明細書では、「硬」特徴ベクトルという用語を用いて特徴ベクトルを量子化したものを指し、「軟」特徴ベクトルという用語を用いて量子化された特徴ベクトル、またはより細かく量子化した特徴ベクトルのバージョンを指す。
【００８５】
バイオメトリックパラメータによっては比較的大きな数値範囲にわたる整数および実数を含み得るため、量子化が使用される。暗号化プロセス、鍵生成プロセス、および他の認証プロセスは、小範囲にわたる整数の場合に最も上手く働く。
【００８６】
「硬」特徴ベクトルと「軟」特徴ベクトルとを区別する理由は、シンドロームベクトルが「硬」特徴ベクトルから得られることによる。したがって、「硬」特徴ベクトルは、通常、量子化される。これとは対照的に、認証フェーズでは、シンドローム復号器は、「軟」特徴ベクトルをシンドロームベクトルと組み合わせて「硬」特徴ベクトルを復号化する。したがって、「軟」特徴ベクトルは、量子化する必要がないか、またはシステムの誤差を減少させるために別々に量子化され得る。例えば、この「軟」特徴ベクトルを用いることで、シンドローム符号器は、入力としての各特徴を、可能性というよりも、もっともな選択の厳しい決断として取り扱うことが可能となる。
【００８７】
一般に、完全な特徴ベクトルをバイオメトリックデータから抽出する複数の方法があり、また同様に「硬」特徴ベクトルおよび「軟」特徴ベクトルを完全な特徴ベクトルから抽出する複数の方法があり得る。従って、図１３のプロセスを各可能性に適用し、トレーニング中に最も良い全体結果をもたらす特徴ベクトル１３０４を選択する。
【００８８】
図７は、最適なシンドローム符号を構築するプロセス１３００の具体例を詳述したものである。ここで、バイオメトリック特徴１３０４の統計的モデルは、バイオメトリック特徴の間のマルコフ関係を示している。トレーニングバイオメトリックデータが取得される（８００）。バイオメトリックデータを使用して誤差ヒストグラム８９０が生成される（８００）。誤差ヒストグラムを使用してシンドローム特徴ベクトルが選択される（９００）。この文脈の中では、「完全な特徴ベクトル」１２０２（図１２参照）という用語を用いてすべてのバイオメトリックパラメータを表し、「シンドローム特徴ベクトル」１２０３という用語を用いて完全な特徴ベクトルの部分集合を指す。シンドローム特徴ベクトルは、任意の特徴空間に変形することができる。
【００８９】
シンドローム特徴ベクトル１２０３が選択された後、シンドローム特徴ベクトルの異なる係数間の相関を測定する（１０００）。シンドローム特徴ベクトルの誤差統計および係数間相関を用いることにより、密度発展法７４０を適用して、所与の長さの最適なシンドロームベクトル１２０４をもたらす次数分布を探す。シンドローム特徴ベクトルおよびシンドローム符号が選択された後、係数間相関を利用した確率伝搬復号器を構築する（１１００）。
【００９０】
誤差ヒストグラムの構築
図８は、誤差ヒストグラム８９０を生成するプロセス８００を示す。まず、異なるときに取得された特定のユーザのトレーニングバイオメトリックデータを取得する（８１０）。次に、１対のバイオメトリックパラメータＢおよびＢ’を選択し（８２０）、完全な「軟」特徴ベクトルＶＳ（Ｂ）（８３０）および完全な「硬」特徴ベクトルＶＨ（Ｂ’）（８４０）を求める。次に、完全な特徴ベクトル中の各特徴または各次元ｉごとに、ＶＳ（Ｂ）の特徴ｉから、ＶＨ（Ｂ’）の対応する特徴ｉにある値を推定し（８４５）、この推定が正しいか否かを判断する（８５０）。この推定が正しくない場合、誤差ヒストグラム８９０のＶＨ（Ｂ’）およびＶＳ（Ｂ）の特徴ｉにある対応する値のビンを増分する（８７０）。このプロセスを各特徴ｉに対して完了した後、バイオメトリックＢおよびＢ’のすべての対が処理されたか否かを調べる（８６０）。まだの場合、ステップ８２０に戻り、別のバイオメトリックパラメータ対を選択する。すべての対がすでに処理されている場合、誤差ヒストグラムが完了し、プロセスは、終了する（８８０）。
【００９１】
シンドローム特徴ベクトルの選択
図９は、図８の誤差ヒストグラムを用いて特徴ベクトルを選択するプロセス９００を示す。まず、誤差ヒストグラムが最も信頼性の高い特徴から最も信頼性の低い特徴９２０までソートされる（９１０）。具体的には、Ｅ（ｉ）がＶＳ（Ｂ）の特徴ｉからＶＨ（Ｂ’）の特徴ｉを予測する際の平均誤差である場合、特徴ｉは、Ｅ（ｉ）＜Ｅ（ｊ）のときに特徴ｊよりも信頼性が高いものとみなされる。誤差ヒストグラムがソートされた後、誤差ヒストグラムからの次に信頼性の高い特徴をシンドローム特徴ベクトルに含め（９３０）、その時点のシンドローム特徴ベクトルに最良のシンドローム符号を構築し（９４０）、最新特徴を含めることで、セキュリティまたは誤差耐性が増大するか否かをテストする（９５０）。セキュリティまたは誤差耐性が増大する場合、さらなる特徴をシンドローム特徴ベクトルに加え続ける。増大しない場合、最も新しく追加された特徴を特徴ベクトルから除去し（９６０）、プロセスを終了する（９７０）。
【００９２】
セキュリティレベルを指定し、誤差耐性を最適化することが望まれる場合、以下のステップをステップ９４０および９５０に使用することができる。まず、ステップ９４０において、その時点で特徴ベクトル中にある特徴の数に対応する長さＮを有する新しいシンドローム符号が、固定次数分布からｋ個のシンドロームを有する低密度パリティチェック（ＬＤＰＣ）符号を生成することによって構築される。この場合、セキュリティレベルは、量Ｎ−ｋを固定し、それをプロセス全体を通して一定に保つことによって一定に保たれる。次に、バイオメトリックデータのランダムなバイオメトリックサンプルがデータベースから選択され、ＬＤＰＣ符号のパリティチェック行列を適用することによってシンドロームベクトルにマッピングされ、その結果生成されるシンドロームベクトルは、同じユーザからの別のランダムなバイオメトリックサンプルに適用される確率伝搬を使用して復号化される。これを多数回繰り返すことで、所与の特徴ベクトルのシンドローム符号の誤差耐性の推定が得られる。別法として、より高い計算複雑性が設計プロセスにおいて許容される場合、密度発展法プロセスを使用して、符号の次数分布を最適化するとともに、誤差確率をより正確に推定することができる。T. J. Richardson、M. A. Shokrollahi、oおよびR. L. Urbankediscussed著「Design of capacity-approaching irregular low-density parity-check codes」（IEEE Transactions on Information Theory, vol. 47, issue 2, pp. 619-637, February 2001）（参照により本明細書に援用される）を参照願いたい。
【００９３】
誤差耐性レベルを指定し、最良のセキュリティを獲得することが望まれる場合、以下のステップをステップ９４０および９５０に使用することができる。まず、ステップ９４０において、その時点で特徴ベクトル中にある特徴の数に対応する長さＮを有する新しいシンドローム符号が、密度発展法を用いて設計される。具体的には、レートの異なる一連の符号が、密度発展法によって評価される指定の誤差耐性レベルを満たす最高レートの符号が見つかるまで密度発展法を用いて構築される。
【００９４】
本発明では、このプロセスにより選択される特徴ベクトルを「シンドローム特徴ベクトル」と呼ぶ。この理由は、特徴ベクトルがシンドローム符号用に特に設計された特徴ベクトルであることによる。この特徴ベクトルは、顔認識または物体認識等のバイオメトリック認識用に構築される他のタイプの特徴ベクトルと異なる性質を有し得ることに留意されたい。
【００９５】
係数間相関の測定
データに相関があると思われる場合、シンドローム特徴ベクトルを選択した後、次のステップは、係数間相関を測定することである。この情報は、図７により生成される誤差ヒストグラムから抽出することができない。この理由は、誤差ヒストグラムが完全な特徴ベクトル１２０２に対して生成されたのに対して、ステップ９００は、完全な特徴ベクトル中の特徴の部分集合のみを選択してシンドローム特徴ベクトル１２０３を生成することによる。
【００９６】
図１０は、バイナリシンドローム特徴ベクトルでの一次相関を測定するプロセス１０００を示す。このプロセスは、非バイナリ特徴ベクトルまたは、より高次の相関に適用することもできる。まず、バイオメトリックトレーニングデータセットからの要素が選択され、シンドローム特徴ベクトルがその要素から抽出される。次に、カウンタ変数ｉがゼロに初期化される（１０１０）。次に、特徴ｉが０であるか、それとも１であるかをテストし（１０２０）、前者の場合にはステップ１０３０に進み、後者の場合にはステップ１０４０に進む。次に、特徴ｉ−１、すなわち、前の特徴が０であったかそれとも１であったかをテストし（１０３０）、ヒストグラムの適当なビンを増分する（１０３５）。直観的に、ビンｐ００は、０の後に０が続くことをカウントし、ビンｐ０１は、０の後に１が続くことをカウントし、以下同様である。次に、カウンタｉを増分し（１０５０）、シンドローム特徴ベクトルにまだ特徴が残っているか否かをテストし（１０６０）、次の特徴に対してプロセスを繰り返す。そうではなく、各特徴をすでに処理し終えている場合には、プロセスを終了する（１０７０）。
【００９７】
図１０のプロセスがバイオメトリックトレーニングセットの各要素に対して行われた後、ビンｐ００、ｐ０１、ｐ１０、およびｐ１１の値をバイオメトリックトレーニングセットのサイズで割り、シンドローム特徴ベクトルの一次相関を測定する。
【００９８】
密度発展法を使用しての最適なシンドローム符号の構築
シンドローム特徴ベクトル１２０３が選択され、係数間相関が測定された後、密度発展法を用いてシンドロームベクトル１２０４を設計する。具体的には、ＬＤＰＣシンドローム符号の場合、このシンドローム符号の次数分布を設計する。
【００９９】
最適な次数分布を正確に構築するために、密度発展技法を適用していくつかの候補次数分布を生成する。
【０１００】
しかし、当該技術分野において既知の従来の密度発展法プロセスは、係数間相関を考慮に入れていない。このため、密度発展法によって生成される候補次数分布が、係数間相関がない場合に適当な場合であっても、それら候補次数分布のパフォーマンスは、一般に、係数間相関が存在する場合には異なるであろう。
【０１０１】
シンドローム符号に最も良い次数分布を取得するために、バイオメトリックトレーニングデータセットに対して、密度発展法によって取得される候補次数分布を比較し、パフォーマンスが最も良い次数分布を選択する。代替の実施の形態では、従来の密度発展法アルゴリズムを、係数間相関を考慮に入れるように変更する。
【０１０２】
シンドローム符号のための確率伝搬復号器の構築
シンドローム符号を設計するに際しての最終ステップは、関連する確率伝搬シンドローム復号器１２０５を構築することである。
【０１０３】
図１１Ａは、登録フェーズの高レベルの構造を示し、符号器３３０が、シンドローム符号１１０２を使用して、シンドローム特徴ベクトル１２０３からシンドロームベクトル１２０４を生成する。
【０１０４】
図１１Ｂは、認証フェーズ中に使用される相補的な復号器１１０７の構造を示す。ここでも、認証を試みているユーザのバイオメトリックデータ１１０４のノイズの多い観測値が取得される。バイオメトリックデータ１１０４は、測定モデル１３０５（および測定モデルパラメータ１３０３）とともに、反復確率伝搬ネットワーク（因子グラフ）内のシンドロームベクトル１２０４および特徴モデル１３０４（およびその特徴モデルのパラメータ１３０２）とともに使用されて、元のシンドローム特徴ベクトル１２０３が復号化され（１１０７）、推定値１１０８が生成される。復号化が成功する場合、推定シンドローム特徴ベクトル１１０８と元のシンドローム特徴ベクトル１２０３とが合致する。
【０１０５】
図１１Ｃに示すように、本発明による確率伝搬因子グラフの構築１１００は、シンドローム符号１１０２を特定する検査ノード（＋）１１１０および変数ノード（＝）１１２０に加えて、特徴モデル１３０４（そしてモデルパラメータ１３０２）を特定する相関ノード（Ｃ）１１３０を含む。具体的には、相関ノードは、連続した変数ノードの各対間に追加される。メッセージを変数ノードから隣接する検査ノードに渡す方法は、その他のメッセージで乗算される、隣接する各相関因子ノードからの追加メッセージを含むように変更される。
【０１０６】
具体的には、Kschischang他の表記を用いて、μｙ→ｆ（ｘ）が検査ｆから変数ノードｙへの状態ｘの入力メッセージであり、Ｌ（ｘ）が左側の相関ノードからの入力メッセージである場合、変数ノードから右側の相関ノードへの出力メッセージは、
Ｌ（ｘ）・Πμｙ→ｆ（ｘ）
であり、左側の相関ノードへの出力メッセージは、
Ｒ（ｘ）・Πμｙ→ｆ（ｘ）
であり、式中、Ｒ（ｘ）は、右側の相関ノードからの入力メッセージである。
【０１０７】
本明細書では、本発明の実施の形態により相関ノードに、また相関ノードからメッセージを渡す方法も説明する。具体的には、メッセージＬ（ｘ）およびＲ（ｘ）を求める手順を説明する。μ（０）が左側の相関ノードへの入力メッセージである場合、相関ノードの右側への出力メッセージは、相関ノードの右側にある変数ノードへの入力メッセージであり、
Ｌ（０）＝ｐ００・μ（０）＋ｐ１０・μ（１）
および
Ｌ（１）＝ｐ１０・μ（０）＋ｐ１１・μ（１）
であり、式中、ｐ００、ｐ０１、ｐ１０、およびｐ１１の各項は、図１０に示すように、測定される一次相関値である。
【０１０８】
同様に、相関ノードの左側への出力メッセージは、相関ノードの左側の変数ノードへの入力メッセージであり、
Ｒ（０）＝ｐ００・μ（０）＋ｐ０１・μ（１）
および
Ｒ（１）＝ｐ０１・μ（０）＋ｐ１１・μ（１）
である。
【０１０９】
虹彩バイオメトリックパラメータのシンドローム符号設計
次に、上記手順７００を、虹彩バイオメトリックパラメータという具体的なケースに適用する場合について説明する。完全な「硬」特徴ベクトルを、J. Daugman著「How iris recognition works」（IEEE Transactions on Circuits and Systems for Video Technology, vol. 14, issue 1, pp. 21-30, January 2004）（参照により本明細書に援用される）に説明されているように、１組のガボールフィルタから抽出されるビットシーケンスであるように選択する。
【０１１０】
完全な「硬」特徴ベクトルがバイナリであるのに対して、完全な「軟」特徴ベクトルを４成分のものとして選択する。具体的には、完全な「軟」特徴ベクトルの特徴ｉの値に、「硬」特徴ベクトルのその特徴の値の最良推定を選択し、信頼性レベルを示すビットをさらに添付する。具体的には、その特徴の決定に対して確信があったか否かを示すビットを添付する。
【０１１１】
例えば、「硬」特徴ベクトルのいくつか特徴は、例えば、まぶたまたはまつげで覆われているために予測することが困難である場合があり、こういった特徴は「不確実」信頼性値を受け取るべきである。
【０１１２】
次に、バイオメトリックトレーニングデータを使用して、図８に関連して上述したように誤差ヒストグラムを生成し、次に、図９の特徴ベクトル設計方法を適用する。完全な特徴ベクトルは、長さ約１０，０００を有するが、本発明は、多くの特徴１２０２の信頼性が低いことを発見した。例えば、目の上に対応する特徴ベクトルの成分は、多くの場合、まぶたまたはまつげで覆われている。信頼性が最も低い特徴が図９の手順によって破棄された後には、シンドローム特徴ベクトル内におよそ２０００の最も信頼性の高い特徴が残る。
【０１１３】
図７のステップ９００で停止する場合、結果生成されるシンドロームベクトルは、一人のユーザの虹彩バイオメトリックパラメータの自然な変化を許容するだけの誤差耐性を持たない。具体的には、ある日に取得されたユーザの虹彩の測定から符号化され、別の日に取得された同じ虹彩の測定と組み合わせられたシンドロームベクトルは、約１２％で復号化に失敗する。これは、図７の残りのステップが必要であることの正当性を示す。
【０１１４】
図１０の手順を用いて一次相関を測定した後、「硬」シンドローム特徴ベクトル中のビットが、隣接ビットと同じ値をとる可能性が、隣接ビットの逆の値をとる可能性よりも約２倍高かったことを検出する。次に、図７のステップ７４０に続き、密度発展法を用いて高相関を利用して最適化されたシンドローム符号を構築する。最後に、ステップ１１００に続き、高い一次相関を考慮に入れた確率伝搬復号器を構築する。
【０１１５】
これらのステップ後に、初期符号よりも信頼性が１桁高いシンドローム符号がもたらされ、かくして、図７の全体手順に従うことの利点を実証する。
【０１１６】
指紋特徴のシンドローム符号
手順１３００を指紋に適用する。指紋ベースのシステムは、一般に、パターンベースであるか、または特徴点ベースのいずれかである。ここでは、後者を使用する。特徴ベクトルを指紋特徴点から抽出する。一般的な手順１３００を大半のバイオメトリックデータに適用することができるが、指紋の特徴点の場合の手順の詳細について説明する。特徴として、指紋特徴点は、経時変化し得、測定プロセスは、構造化ノイズを受ける。
【０１１７】
図１４は、一例の指紋１４０１および抽出された特徴ベクトル１４０２を示す。抽出された特徴ベクトル１４０２は、シンドローム特徴ベクトル１２０３の一例である。特徴は、測定フィールド（観測窓）１４０３でのみ測定される。便宜上、特徴点は、グリッドにおいて正方形で示される。各特徴点は、特徴点の空間位置座標（ａ，ｂ）および角度（ｃ）を表すトリプレット、例えば（ａ，ｂ，ｃ）にマッピングされる。後述するように、１つの特徴点を位置合わせのための「コア」と指定することができる。
【０１１８】
指紋１４０１が測定される平面は、ピクセルアレイを有するデジタルセンサによって量子化されるため、特徴を行列として記憶する。各センサピクセルは、行列１４０２内の特定のエントリに対応する。行列１４０２において、特徴点の存在は「１」で示され、感知される特徴点がないことは「０」で表される。より一般的な表現では、特徴点の存在を表すために、「１」に代わる行列内のエントリは、特徴点の角度ｃである。
【０１１９】
特徴点の数、位置、および角度は、指紋の測定毎に変化する。例えば、ある測定で（７４，５２，３６°）の特徴点が存在する場合、別の測定では（８０，４５，６３°）として現れたり、またはまったく現れなかったりすることがある。
【０１２０】
種々の理由により、測定毎のこの特徴点のばらつきは、指紋を処理する多くの従来の方法に対して問題を生じさせる。
【０１２１】
明示的なバイオメトリックデータのばらつき
図１５Ａ〜図１５Ｃに示すように、本発明のモデルは、バイオメトリックデータのばらつきに対処することができる。これらの図では、破線１５００が局所近傍を示す。図１５Ａは、特徴点の移動（ｐｉ,ｊ）１５０１を示す。図１５Ｂは、削除ｐｅ１５０２を示し、図１５Ｃは、挿入ｐｓを示す。
【０１２２】
図１６Ａおよび図１６Ｂは、本発明の一実施形態による、確率伝搬復号化１１０７の実施に使用される因子グラフ１６００の高レベルの詳細および低レベルの詳細をそれぞれ示す。
【０１２３】
高レベルでは、バイオメトリックデータ１２０１が使用されてシンドローム特徴ベクトル１２０３が生成され、シンドローム特徴ベクトル１２０３が使用されてシンドロームベクトル１２０４が生成される。復号器は、シンドローム特徴ベクトル１２０３を知らないが、シンドロームベクトル１２０４を知っている。シンドロームベクトル１２０４およびシンドローム特徴ベクトル１２０３は、符号構造により関連する。復号器は、バイオメトリックデータ１１０４のノイズの多い測定値も取得する。ノイズ構造は、統計モデル１３０５により記述される。シンドロームベクトル１２０３、符号構造、観測値１１０４、および測定モデル１３０５がともに使用されて、元のシンドローム特徴ベクトル１２０３が復号化され（１１０７）、その推定１１０８が生成される。
【０１２４】
図１６Ｂは、シンドローム特徴ベクトル、シンドロームベクトル、およびノイズの多い観測値の統計モデルを説明する因子グラフ１６００の低レベルの構造を示す。
【０１２５】
特徴ベクトルグリッド１４０２内の各位置ｔは、因子グラフ１６００内に対応するバイナリランダム変数ｘ［ｔ］ノード１６０９を有する。このランダム変数は、１つの特徴点が登録中に位置ｔに存在し、そうでなければゼロである。
【０１２６】
特徴ベクトルのグリッド位置とラベルｔとの関連は、任意であってよく、例えば、ラスタ走査順であってよい。特徴セットの二次元の性質を本発明のモデルにおいて考慮することができる。
【０１２７】
各グリッド位置に、特徴点が登録中に存在する事前確率がある。この事前確率Ｐｒ［ｘ［ｔ］＝１］は、因子ノード１６０８により示される。
【０１２８】
登録グリッドの変数ノード１６０９の各位置に、対応する認証グリッドに対応する位置ノード１６０１がある。認証中のグリッド位置ｔでの特徴点の存在は、バイナリランダム変数ｙ［ｔ］で表される。この変数は、特徴点がプローブ内に存在する場合には１に等しく、そうでなければ０に等しい。因子グラフの目標は、登録中の指紋の第１の測定と認証中の第２の測定の同時分布を表すことである。
【０１２９】
本発明のモデルでは、各登録位置（ｘ［ｔ］＝１）は、位置ｔにある特徴点がプローブ内の位置ｔの近傍の位置に移動する確率、または削除の場合には測定されない確率を有する。
【０１３０】
変数１６０４は、登録特徴点の相対位置変化を表し、因子ノード１６０３は、移動の事前確率分布および特徴点挿入確率を表す。特に、図１６Ｂに示す一次元移動モデルの場合、ｚ［ｔ］＝ｉは、登録中の位置ｘ（＿）［ｔ＋ｉ］の特徴点が認証中に位置ｚ［ｔ］に移動したことを示す（ここで、ｘ（＿）は、ｘの下に＿が記載されたものを示す）。より一般には、かつ本実施態様では、二次元移動モデルが使用される。
【０１３１】
このようなシフト｛ｉ｝のドメインまたは近傍は、破線１５００で示される設計パラメータである。変数ｚ［ｔ］＝ｓの場合、偽の特徴点が認証中に位置ｔに挿入され、ｚ［ｔ］＝＊は、認証中に位置ｔに特徴点がないことを示す。ｚ［ｔ］＝＊のような変数ｚ［ｔ］と、ｙ［ｔ］＝０のような変数ｙ［ｔ］との間には、完全な対応がある。
【０１３２】
位置ｔの登録特徴点、すなわち、ｘ［ｔ］＝１がｔの近傍内で説明できる観測特徴点を多くとも１つにする制約を表すために、因子ノード１６０７を含む。これらのノードに接続されるランダム変数ｈ［ｔ］１６０６は、ｘ［ｔ］の削除を表すバイナリ変数である。削除は、登録中に特徴点が感知または抽出されない、または偽の特徴点が感知された結果、または大きな移動の結果として生じ得る。ノード１６０５は、各ｈ［ｔ］の事前分布を表す。
【０１３３】
各ノードｙ［ｔ］を対応するノードｚ［ｔ］に接続する因子ノード１６０２は、対応するノードｚ［ｔ］が＊でない場合、各認証特徴点ｙ［ｔ］は、非ゼロのみであるべきであるという概念を表す。
【０１３４】
このモデルに、シンドローム符号１１０２から生じる制約を追加する。各シンドロームノードｓ［ｊ］１６１１は、局所符号制約１６１０を満たし、この局所符号制約１６１０は、シンドロームの値が特徴ベクトルｘ［１］、ｘ［２］、・・・に適合する場合に１に等しく、そうでなければゼロに等しい特性関数である。
【０１３５】
特徴点の向きを因子グラフに追加することができる。向き情報を追加するために、登録ノード１６０９は、特徴点の位置ｔおよび向きの両方を示す。この情報は、事前確率ノード１６０８にも反映される。登録中の向きを量子化して、向きをシンドローム符号化に必要な硬特徴ベクトルに適合させる。
【０１３６】
シンドロームビット１６１１のベクトルは、前と同様に符号化されるが、ここでは、特徴点の有無および特徴点の向き（もしあれば）を示す登録変数１６０９のベクトルから符号化される。削除１６０５の事前確率は、変更のないままであり、移動に対する制約１６０７も、変更のないままである。移動の事前確率および挿入１６０４は、変更のないままである。認証ノード１６０２の制約ノードは、登録ノード１６０９と認証ノード１６０１との間の向きの変化は小さい可能性が高いという概念を反映するように、変更される。
【０１３７】
メッセージパス規則および最適化
因子グラフ１６００で表されるような測定・移動モデルの場合、従来の技法を使用してメッセージパス規則を導き出すことができる。以下に、複雑性の低減を実現するメッセージパスのいくつかの簡易化について説明する。
【０１３８】
第１の簡易化は、制約ノード１６０２からのメッセージに関する。因子グラフを「剪定（prune）」して、観測されない特徴点を除去する。特に、制約１６０２の形態によれば、ｙ［ｔ］＝０の場合、ノード１６０２からｚ［ｔ］変数ノード１６０４への非ゼロメッセージのみが状態ｚ［ｔ］＝＊に対してのメッセージである。
【０１３９】
したがって、近傍ノード１６０７に送られる非ゼロメッセージｚ［ｔ］のみが＊状態に対してのメッセージである。この一定のメッセージが１に正規化されるものと想定することができる。例えば、ｙ［ｔ］＝ｙ［ｔ＋２］＝ｙ［ｔ＋４］＝ｙ［ｔ＋５］＝＊の場合、図１６Ｂの完全な因子グラフを使用せずに、図１７に示す剪定されたグラフ１７００を使用して、必要なメッセージパス動作を導き出す。これは、ノード１６０７のメッセージ計算の複雑性の大きな低減に繋がる。
【０１４０】
因子ノード１６０７に入るメッセージまたは因子ノード１６０７から出るメッセージを計算することにより、第２の簡易化が得られる。ｚ［ｔ］変数ノードからの完全なメッセージを使用する必要はない。そうせずに、これらのメッセージを、ｘ［ｔ’］にある特徴点が位置ｚ［ｔ］に対応する位置に移動するか否かを示すバイナリメッセージに低減することができる。ノードｚ［ｔ］のバイナリ情報を使用することで、大きな計算の節減が得られる。
【０１４１】
まず、中間数量セットを計算し、これらの中間数量を後で再び使用することにより、種々の規則の第３の簡易化が得られる。例えば、変数ノードｚ［ｔ］からの出力メッセージは、他のすべてのノードからの入力メッセージの積である。変数ノードｚ［ｔ］への接続がＫ個ある場合、この規則を単純に実施するには、各接続エッジ毎にその他のＫ−１個の接続からのメッセージを組み合わせなければならないため、Ｋ２に比例する計算が必要である。これをより効率的に行うために、ノードｚ［ｔ］の周辺確率（marginal belief）を計算するプロセスで、ノードｚ［ｔ］に入力されるすべてのメッセージを一度組み合わせる。次に、特定の接続への出力メッセージを得るために、対数尤度ドメインで総メッセージをその接続からの入力メッセージで除算または減算する。
【０１４２】
中間数量の同様の再使用を、三角ノードからの出力メッセージの計算に適用することもできる。特に、ｚ’［ｔ］が、変数ノードｚ［ｔ］から位置ｔ’のノード１６０７へのバイナリメッセージを表すとする。数量ｚ’［ｔ］は、特徴点が認証中に位置ｔ’から位置ｔに移動するか否かを示す。これらのバイナリメッセージでのノード１６０７の単純な和−積規則では、位置ｔ’にあるノード１６０７に接続される変数ノード１６０４の可能なすべての組み合わせを合算する必要がある。例えば、位置ｔ’にあるノード１６０７がノードｚ［１］、ｚ［２］、ｚ［３］、およびｚ［４］に接続されている場合、ｚ’［１］へのメッセージの計算では、ｚ’［２］、ｚ’［３］、およびｚ’［４］のすべての可能な組み合わせを合算する必要がある。この方法は、各三角ノードに接続される変数ノードの数のベキ乗の計算複雑性を有する。
【０１４３】
制約ノード１６０７がｚ’［ｔ］ノードのうち非ゼロにできるｚ’［ｔ］を多くとも１つにすることを実現することにより、このベキ乗の複雑性をなくすことができる。したがって、ノードｚ’［ｔ］の各出力メッセージは、ゼロである他のすべてのノードｚ’［ｔ］に対応する項、およびゼロである１つのノードを除く他のすべてのノードｚ’［ｔ］に対応する項を含む。これらの項を事前に計算することにより、因子ノード１６０７のメッセージパス規則を、接続数のベキ乗の複雑性から接続数の線形の複雑性に低減することができる。
【０１４４】
統計の収集
図１８は、因子グラフ１６００、すなわち、本発明によるモデルのパラメータ１３０３を設定するプロセス１８００を示す。バイオメトリックトレーニングデータ１３０１が取得される。未処理の指紋Ｆが選択される（１８０２）。指紋Ｆの未処理の測定値対ＢおよびＢ’が選択される（１８０３）。それぞれの特徴点Ｍ（Ｂ）およびＭ（Ｂ’）を求める（１８０４）。特徴点１８０６を比較し（１８０５）、移動、回転、挿入、および削除の統計を求める（１８０６）。この統計を使用して、因子グラフ内の統計を改訂する（１８０７）。指紋Ｆのまだ処理されていない測定値対がある場合（１８０８）、ステップ１８０３に戻る。そうではなく、まだ処理されていない指紋がある場合（１８０９）、ステップ１８０２に戻る。すべての指紋およびその特徴点対が処理された後、統計収集がステップ１８１０において完了する。
【０１４５】
データの位置合わせ
バイオメトリックシステムでは、登録バイオメトリックデータは、認証データと位置合わせされないことが多い。同じバイオメトリックデータの異なる測定は、並進移動、回転、および拡大縮小等の大域的な変形により変化することが多い。このようなばらつきは、パターンベースのバイオメトリック認証またはシンドローム符号化を使用しない認証方式においては、あまり問題にならない。
【０１４６】
それとは対照的に、本発明のシステムでは、比較に利用できるのは、登録バイオメトリックパラメータのシンドロームベクトル３３１のみである。したがって、異なる位置合わせに対する探索では、可能な各位置合わせに復号化が必要となる。特徴点移動モデルは、微細な位置合わせずれに対応することができるが、復号化の計算費用を最小化するために、探索空間を最小化したい。
【０１４７】
図１９は、本発明の一実施形態による登録または認証中の指紋の位置合わせプロセスのステップを示す。指紋が取得され（１９０１）、特徴点パラメータならびにコアポイントロケーションおよび向きが抽出される（１９０２）。コアポイントおよびその向きは、指紋の慣性座標系を画定し、慣性座標系では、コアポイントの位置が原点であり、向きがｙ軸の役割を果たす。コアポイントに関連する慣性座標系に対する特徴点の位置および向きを再計算する（１９０３）。その結果１９０４は、指紋の座標系で測定された特徴点セットである。
【０１４８】
利点として、この手順は、並進移動および回転の影響の大半またはすべてを除去することができる。通常、このような事前処理は、より計算集約的な局所探索と組み合わせられ、復号化は、並進移動および回転のより小さなセットで行われる。この事前処理手順は、特徴点抽出ルーチンの一環として使用することができる。
【０１４９】
パラメータ設定の位置合わせ後の改訂
登録および認証バイオメトリック特徴が符号化前に互いに対してシフトするのがいつであれ、常に、因子グラフのパラメータは、このシフトを反映するように変更される。この一例は、位置合わせ手順１９００または局所探索に対応するいくつかの小シフトのいずれかにより登録特徴および認証特徴が互いに対してシフトするときである。
【０１５０】
シフトならびに登録および認証観測窓１４０３（図１４参照）の相対サイズに応じて、いくつかの登録特徴ロケーションが認証中にまったく観測されないことがある。このため、特徴点消失の確率を、観測されないこれらの位置の１つに設定することにより、これを反映するように因子グラフを変更する。これは、図１６Ｂでは、因子ノード１６０５の消失確率を１に等しく設定することにより反映される。観測される可能性および観測されない可能性がいくらかずつある窓１４０３のエッジ付近の特徴点には、事前確率１６０５がそれに従って変更される。
【０１５１】
発明の効果
本発明は、バイオメトリックパラメータに基づく安全なユーザ認証を達成する。本発明は、元のバイオメトリックデータあるいは任意の特徴ベクトルの代わりに、シンドローム符号が記憶されるので安全である。これによって、データベースにアクセスする攻撃者が、基礎を成すバイオメトリックデータを知ることが防止される。
【０１５２】
攻撃者がシンドロームベクトルＳのみを使用して行うことができる、元のバイオメトリックパラメータＥの最も良い可能な推定を、複数の記述の既知の問題からの従来のツールを使用して制限することが可能である。これについては、例えば、V. K. Goyal著「Multiple description coding: compression meets the network」（IEEE Signal Processing Magazine, Vol. 18, pp. 74-93, September 2001）を参照願いたい。さらに、推定の質が絶対誤差測定を介して測定されようと、２乗誤差を介して測定されようと、加重誤差測定を介して測定されようと、または任意の誤差関数を介して測定されようと、これらの限界を作成することが可能である。これとは対照的に、すべての従来技術の方法は、バイナリ値に基づいている。そこで、セキュリティは、ハミング距離に依存する。
【０１５３】
基本的に、シンドロームベクトルＳのセキュリティは、シンドロームベクトルＳが元のバイオメトリックパラメータＥの圧縮されたものであるということに起因する。さらに、この圧縮表現は、Ｅの「最下位ビット」に対応する。データ圧縮理論からの既知のツールを使用すると、高圧縮を有するシンドローム符号が使用される場合、これらの最下位ビットが生成できる、元のパラメータＥの推定は、いくら良くても不十分なものであることを証明することが可能である。これについては、例えば、Effros著「Distortion-rate bounds for fixed- and variable-rate multiresolution source codes」（IEEE Transactions on Information Theory, vol. 45, pp. 1887-1910, September 1999）ならびに、SteinbergおよびMerhav著「On successive refinement for the Wyner-Ziv problem」（IEEE Transactions on Information Theory, vol. 50, pp. 1636-1654, August 2004）を参照願いたい。
【０１５４】
第２に、本発明は、偽造が、少なくとも、基礎を成すハッシュ関数３４０における衝突を見つけるのと同程度に困難であるので、安全である。特に、復号されたバイオメトリックＥ’’のハッシュＨ’が元のハッシュＨと一致する場合に、システムは、認証フェーズ３９０においてシンドローム対（Ｓ，Ｈ）のみを受け付ける。ＭＤ５等の暗号ハッシュ関数について、Ｅとは異なるが、Ｅのハッシュと一致するハッシュを有する要素Ｅ’’を見つけることは、一般に不可能であると考えられる。したがって、シンドローム復号が、適切なハッシュでＥ’’の復号に成功した場合に、システムは、Ｅ’’が実際にＥと同じであり、すべての認証判定は、元のバイオメトリックパラメータで行われることを確信することができる。
【０１５５】
第３に、本発明は、シンドロームベクトルＳを生成する際に、元のバイオメトリックパラメータＥを圧縮する。多くのユーザ用のバイオメトリックデータベースは、特に、バイオメトリックデータの問いが、大量のデータ、例えば、顔画像または音声信号を必要とする場合に、大量のストレージを必要とする可能性がある。したがって、必要とされるストレージを減少させることによって、コストおよび誤差耐性の双方で大幅な改善を生み出すことができる。これとは対照的に、バイオメトリックデータの安全な記憶のためのほとんどの従来技術の方法では、実際には、暗号化または誤り訂正のオーバーヘッドによって、記憶されるデータのサイズが増加し、したがって、安全でないシステムよりも多くのストレージが必要とされる。
【０１５６】
第４に、本発明は、シンドローム符号の理論を基に築かれているので、高度な符号構築アルゴリズムおよび復号アルゴリズムを適用することができる。特に、本発明によるシンドローム符号化によって、バイナリ符号の構築およびマルチレベル符号の構築の双方について、既知のビタビアルゴリズム、確率伝播、およびターボ復号を使用する軟復号の使用が容易になる。これとは対照的に、ほとんどの従来技術の方法は、バイナリ符号、リードソロモン符号、および代数的復号に基づいているので、バイオメトリックデータがバイナリ値ではなく実数値を取る場合に、軟復号を有効に適用することができない。例えば、いくつかの方法は、具体的には、登録フェーズにおいて、バイオメトリックデータとランダムな符号語とのＸＯＲを計算して、基準値を生成することを必要とし、認証フェーズにおいて、その基準値とバイオメトリックデータとのＸＯＲを計算することを必要とする。
【０１５７】
第５に、安全なバイオメトリックに関するほとんどの従来技術は、誤り訂正符号化を使用するのに対して、本発明は、シンドローム符号化を使用する。誤り訂正符号化の計算複雑度は、通例、入力サイズにおいて超線形である。これとは対照的に、さまざまなタイプの低密度パリティチェックに基づくシンドローム符号を使用することによって、シンドローム符号化の計算複雑度が、入力サイズにおいて線形にしかならないシンドローム符号化器を構築することが容易である。
【０１５８】
第６に、シンドローム符号化のフレームワークを使用することによって、Yedidia他による「Compressing Signals Using Serially-Concatenated Accumulate Codes」という発明の名称の米国特許出願番号第１０／９２８４４８号（参照により本明細書に援用される）に記載されているＳＣＡ符号のような新しい強力な組み込みシンドローム符号を使用することが可能である。これらの符号によって、登録期間中において、シンドローム符号化器は、バイオメトリックデータの本来の可変性を推定することが可能になり、シンドローム復号の成功を可能にするのに過不足のないシンドロームビットを符号化することが可能になる。
【０１５９】
第７に、上述したシンドローム符号は、データの暗号化に使用することができる。さらに、所与のパフォーマンスレベルおよび誤差耐性を有する最適なシンドローム符号の設計を可能にする方法が説明された。
【０１６０】
第８に、シンドローム特徴ベクトルは、測定チャネルが構造化ノイズを受ける場合であっても正確に復号化することができる。
【図面の簡単な説明】
【０１６１】
【図１】従来技術によるパスワードに基づくセキュリティシステムのブロック図である。
【図２】従来技術によるバイオメトリックに基づくセキュリティシステムのブロック図である。
【図３】本発明の１つの実施の形態によるバイオメトリックセキュリティシステムのブロック図である。
【図４】データを保護する従来技術によるセキュリティシステムのブロック図である。
【図５】本発明の１つの実施の形態によるデータセキュリティシステムのブロック図である。
【図６】本発明の１つの実施の形態によるバイオメトリックセキュリティシステムのブロック図である。
【図７】本発明の１つの実施の形態によるシンドローム符号を構築するプロセスのブロック図である。
【図８】本発明の１つの実施の形態によるヒストグラムを生成するプロセスのブロック図である。
【図９】本発明の１つの実施の形態による特徴ベクトルを選択するプロセスのブロック図である。
【図１０】本発明の１つの実施の形態による係数間の相関を測定するブロック図である。
【図１１Ａ】本発明の一実施形態による、登録中の、シンドロームベクトルを生成するバイオメトリック符号器のブロック図である。
【図１１Ｂ】本発明の一実施形態による、認証中に使用される図１１Ａの符号器と相補的な復号器のブロック図である。
【図１１Ｃ】本発明の１つの実施の形態による相関ノードを有する確率伝搬因子グラフである。
【図１２】本発明の１つの実施の形態によるバイオメトリック特徴、フル特徴ベクトル、シンドローム特徴ベクトル、および符号化されたシンドロームベクトルの間の依存関係を示すブロック図である。
【図１３】本発明の一実施形態によるシンドローム符号を構築するプロセスのブロック図である。
【図１４】本発明の一実施形態による指紋特徴点符号化のブロック図である。
【図１５Ａ】本発明の一実施形態による、測定されたバイオメトリックデータのばらつきのブロック図である。
【図１５Ｂ】本発明の一実施形態による、測定されたバイオメトリックデータのばらつきのブロック図である。
【図１５Ｃ】本発明の一実施形態による、測定されたバイオメトリックデータのばらつきのブロック図である。
【図１６Ａ】本発明の一実施形態による確率伝搬因子グラフの高レベルの詳細のブロック図である。
【図１６Ｂ】本発明の一実施形態による確率伝搬因子グラフの低レベルの詳細のブロック図である。
【図１７】本発明の一実施形態による剪定後の確率伝搬因子グラフである。
【図１８】本発明の一実施形態による指紋特徴点の移動・測定モデルのパラメータを推定するプロセスのブロック図である。
【図１９】本発明の一実施形態による特徴点の位置合わせを行うブロック図である。
【図１】
2008181085.tif 000003
【図２】
2008181085.tif 000004
【図３】
2008181085.tif 000005
【図４】
2008181085.tif 000006
【図５】
2008181085.tif 000007
【図６】
2008181085.tif 000008
【図７】
2008181085.tif 000009
【図８】
2008181085.tif 000010
【図９】
2008181085.tif 000011
【図１０】
2008181085.tif 000012
【図１１Ａ】
2008181085.tif 000013
【図１１Ｂ】
2008181085.tif 000014
【図１１Ｃ】
2008181085.tif 000015
【図１２】
2008181085.tif 000016
【図１３】
2008181085.tif 000017
【図１４】
2008181085.tif 000018
【図１５Ａ】
2008181085.tif 000019
【図１５Ｂ】
2008181085.tif 000020
【図１５Ｃ】
2008181085.tif 000021
【図１６Ａ】
2008181085.tif 000022
【図１６Ｂ】
2008181085.tif 000023
【図１７】
2008181085.tif 000024
【図１８】
2008181085.tif 000025
【図１９】
2008181085.tif 000026
【外国語明細書】
2008181085.tif 000027
2008181085.tif 000028
2008181085.tif 000029
2008181085.tif 000030
2008181085.tif 000031
2008181085.tif 000032
2008181085.tif 000033
2008181085.tif 000034
2008181085.tif 000035
2008181085.tif 000036
2008181085.tif 000037
2008181085.tif 000038
2008181085.tif 000039
2008181085.tif 000040
2008181085.tif 000041
2008181085.tif 000042
2008181085.tif 000043
2008181085.tif 000044
2008181085.tif 000045
2008181085.tif 000046
2008181085.tif 000047
2008181085.tif 000048
2008181085.tif 000049
2008181085.tif 000050
2008181085.tif 000051
2008181085.tif 000052
2008181085.tif 000053
2008181085.tif 000054
2008181085.tif 000055
2008181085.tif 000056
2008181085.tif 000057
2008181085.tif 000058
2008181085.tif 000059
2008181085.tif 000060
2008181085.tif 000061
2008181085.tif 000062
2008181085.tif 000063
2008181085.tif 000064
2008181085.tif 000065
2008181085.tif 000066
2008181085.tif 000067
2008181085.tif 000068
2008181085.tif 000069
2008181085.tif 000070
2008181085.tif 000071
2008181085.tif 000072
2008181085.tif 000073
2008181085.tif 000074
2008181085.tif 000075
2008181085.tif 000076
2008181085.tif 000077
2008181085.tif 000078
2008181085.tif 000079
2008181085.tif 000080
2008181085.tif 000081
2008181085.tif 000082
2008181085.tif 000083
2008181085.tif 000084
2008181085.tif 000085
2008181085.tif 000086
2008181085.tif 000087
2008181085.tif 000088
2008181085.tif 000089
2008181085.tif 000090
2008181085.tif 000091
2008181085.tif 000092
2008181085.tif 000093
2008181085.tif 000094
2008181085.tif 000095
2008181085.tif 000096
2008181085.tif 000097
2008181085.tif 000098
2008181085.tif 000099
2008181085.tif 000100
2008181085.tif 000101
2008181085.tif 000102
2008181085.tif 000103