(57)【要約】      （修正有）【課題】ネットワーク化された認証システムにおいて、安全な分散した秘密共有を用いる生体再登録を行う。【解決手段】コンピュータデバイスは、ユーザの生体情報の複数の秘密共有を生成するように構成された共有生成部と、複数の秘密共有の各々を対応する記憶ノードに記憶させる記憶インタフェースと、ユーザを認証するためのヘルパーデータをユーザの生体情報に従って生成及び生体情報の再登録を行う計算エンジンを備える。生体情報の再登録を行うために、新たなヘルパーデータの各共有を生成することを複数の記憶ノードの各々に命令するための複数のメッセージを出力し、ユーザの次の認証のために複数の記憶ノードのうちの二つ以上の記憶ノードから新たなヘルパーデータの各共有を受け取り、新たなヘルパーデータを決定する。【選択図】図４
2019185781.tif 000002
【特許請求の範囲】
【請求項１】
生体認証システムの計算エンジンによって、ユーザを認証するためのヘルパーデータをユーザの生体情報に従って生成することと、
前記計算エンジンによって、前記生体情報の複数の秘密共有を生成することと、
前記計算エンジンによって、前記生体情報の前記複数の秘密共有の各々を複数の記憶ノードのうちの対応する記憶ノードに記憶させることと、
前記計算エンジンによって、
新たなヘルパーデータの各共有を生成することを前記複数の記憶ノードの各々に命令するための複数のメッセージを前記生体情報の前記複数の秘密共有及び安全な計算プロトコルに従って出力すること、
前記複数の記憶ノードのうちの二つ以上の記憶ノードから前記新たなヘルパーデータの各共有を受け取ること、及び、
ユーザの次の認証のために前記二つ以上の記憶ノードの各々からの前記新たなヘルパーデータの各共有に基づいて前記新たなヘルパーデータを決定することにより、前記生体情報の再登録を行うことと、
を備え、
前記再登録は、ユーザの追加の又は繰り返しの生体情報なしで生じ、これによって、迅速な再登録となる方法。
【請求項２】
ユーザの前記生体情報の前記複数の秘密共有を生成することは、
複数の多項式を設定することであって、前記複数の多項式の各多項式は、前記生体情報の一部をコード化するために用いられることと、
前記複数の多項式の各多項式の複数の秘密共有を生成することであって、前記複数の秘密共有は、前記新たなヘルパーデータの各共有を生成するために用いられることと、
を備える請求項１に記載の方法。
【請求項３】
前記生体情報の前記複数の秘密共有の各々を前記複数の記憶ノードのうちの対応する記憶ノードに記憶させることは、
前記複数の多項式の各多項式の前記複数の秘密共有の各々を複数の記憶ノードのうちの対応する記憶ノードに記憶させることを備える請求項２に記載の方法。
【請求項４】
ユーザの次の認証のために前記二つ以上の記憶ノードの各々からの前記新たなヘルパーデータの各共有に基づいて前記新たなヘルパーデータを決定することは、
前記新たなヘルパーデータをコード化する多項式を復元するために前記二つ以上の記憶ノードの各々からの前記新たなヘルパーデータの各共有を組み合わせることを備える請求項１に記載の方法。
【請求項５】
前記新たなヘルパーデータとして用いられる前記多項式の定数を生成するために、復元した多項式に補間を適用することを更に備える請求項４に記載の方法。
【請求項６】
前記再登録することは、複数のユーザの前記生体情報の大量再登録を行うことを備える請求項１に記載の方法。
【請求項７】
前記計算エンジンによって、前記生体情報の前記複数の秘密共有の各々を複数の記憶ノードのうちの対応する記憶ノードに記憶させるときに前記複数の記憶ノードの接続をオフラインとして設定することと、
前記計算エンジンによって、前記再登録を行うときに前記複数の記憶ノードうちの前記二つ以上の記憶ノードの接続をオンラインとして自動的に再設定することと、
前記二つ以上の記憶ノードがオンラインになることに応答して、前記計算エンジンによって、前記複数の記憶ノードのうちの前記二つ以上の記憶ノードからの前記新たなヘルパーデータの各共有を受け取ることと、
前記複数の記憶ノードのうちの前記二つ以上の記憶ノードからの前記新たなヘルパーデータの各共有を受け取ることに応答して、前記計算エンジンによって、前記複数の記憶ノードのうちの前記二つ以上の記憶ノードをオフラインとして設定することと、
を更に備える請求項１に記載の方法。
【請求項８】
前記生体情報の前記複数の秘密共有を生成することは、前記生体情報のインディシアに従って前記生体情報の前記複数の秘密共有を生成することを備える請求項１に記載の方法。
【請求項９】
生体認証システムのコンピュータデバイスであって、
回路で実現されるとともにユーザの生体情報の複数の秘密共有を生成するように構成された共有生成部と、
回路で実現されるとともに前記複数の秘密共有の各々を複数の記憶ノードのうちの対応する記憶ノードに記憶させるために前記複数の記憶ノードとインタフェースで接続するように構成された記憶インタフェースと、
回路で実現されるとともにユーザを認証するためのヘルパーデータをユーザの生体情報に従った生成及び前記生体情報の再登録を行うように構成された計算エンジンであって、前記生体情報の前記再登録を行うために、
新たなヘルパーデータの各共有を生成することを前記複数の記憶ノードの各々に命令するための複数のメッセージを前記生体情報の前記複数の秘密共有及び安全な計算プロトコルに従って出力し、
前記複数の記憶ノードのうちの二つ以上の記憶ノードから前記新たなヘルパーデータの各共有を受け取り、
ユーザの次の認証のために前記二つ以上の記憶ノードの各々からの前記新たなヘルパーデータの各共有に基づいて前記新たなヘルパーデータを決定するように構成された計算エンジンと、
を備え、前記再登録は、ユーザの追加の又は繰り返しの生体情報なしで生じ、これによって、迅速な再登録となるコンピュータデバイス。
【請求項１０】
ユーザの前記生体情報の複数の秘密共有を生成するために、前記共有生成部は、
複数の多項式を設定し、前記複数の多項式の各多項式は、前記生体情報の一部をコード化するために用いられ、
前記複数の多項式の各多項式の複数の秘密共有を生成し、前記複数の秘密共有は、前記新たなヘルパーデータの各共有を生成するために用いられるように構成された請求項９に記載のコンピュータデバイス。
【請求項１１】
前記生体情報の前記複数の秘密共有の各々を複数の記憶ノードのうちの対応する記憶ノードに記憶させる前記複数の記憶ノードとインタフェースで接続するために、前記記憶インタフェースは、
前記複数の多項式の各多項式の前記複数の秘密共有の各々を複数の記憶ノードのうちの対応する記憶ノードに記憶させる前記複数の記憶ノードとインタフェースで接続するように更に構成された請求項９に記載のコンピュータデバイス。
【請求項１２】
ユーザの次の認証のために前記二つ以上の記憶ノードの各々からの前記新たなヘルパーデータの各共有に基づいて前記新たなヘルパーデータを決定するために、前記計算エンジンは、
前記新たなヘルパーデータをコード化する多項式を復元するために前記二つ以上の記憶ノードの各々からの前記新たなヘルパーデータの各共有を組み合わせるように更に構成された請求項９に記載のコンピュータデバイス。
【請求項１３】
前記計算エンジンは、前記新たなヘルパーデータとして用いられる前記多項式の定数を生成するために、復元した多項式に補間を適用する請求項１２に記載のコンピュータデバイス。
【請求項１４】
前記再登録は、複数のユーザの前記生体情報の大量再登録である請求項９に記載のコンピュータデバイス。
【請求項１５】
前記記憶インタフェースは、
前記生体情報の前記複数の秘密共有の各々を複数の記憶ノードのうちの対応する記憶ノードに記憶させるときに前記複数の記憶ノードの接続をオフラインとして設定し、
前記計算エンジンによって、前記再登録を行うときに前記複数の記憶ノードうちの前記二つ以上の記憶ノードの接続をオンラインとして自動的に再設定し、
前記二つ以上の記憶ノードがオンラインになることに応答して、前記計算エンジンによって、前記複数の記憶ノードのうちの前記二つ以上の記憶ノードからの前記新たなヘルパーデータの各共有を受け取り、
前記複数の記憶ノードのうちの前記二つ以上の記憶ノードからの前記新たなヘルパーデータの各共有を受け取ることに応答して、前記計算エンジンによって、前記複数の記憶ノードのうちの前記二つ以上の記憶ノードをオフラインとして設定するように更に構成された請求項９に記載のコンピュータデバイス。
【請求項１６】
生体情報の前記複数の秘密共有を生成するために、前記共有生成部は、前記生体情報のインディシアに従って前記生体情報の前記複数の秘密共有を生成するように更に構成された請求項９に記載のコンピュータデバイス。
【請求項１７】
生体認証システムのコンピュータ可読記憶媒体であって、実行のときに、
ユーザを認証するためのヘルパーデータをユーザの生体情報に従って生成することと、
前記生体情報の複数の秘密共有をユーザの生体情報に従って生成することと、
前記生体情報の前記複数の秘密共有の各々を複数の記憶ノードのうちの対応する記憶ノードに記憶させることと、
前記生体情報の再登録を行うことと、
をコンピュータによって実行させる命令を記憶し、前記生体情報の再登録を行う命令は、実行のときに、
新たなヘルパーデータの各共有を生成することを前記複数の記憶ノードの各々に命令するための複数のメッセージを前記生体情報の前記複数の秘密共有及び安全な計算プロトコルに従って出力すること、
前記複数の記憶ノードのうちの二つ以上の記憶ノードから前記新たなヘルパーデータの各共有を受け取ること、及び
ユーザの次の認証のために前記二つ以上の記憶ノードの各々からの前記新たなヘルパーデータの各共有に基づいて前記新たなヘルパーデータを決定することにより、前記生体情報の再登録を行うことと、
をコンピュータによって実行させる命令を備え、
前記再登録は、ユーザの追加の又は繰り返しの生体情報なしで生じ、これによって、迅速な再登録となるコンピュータ可読記憶媒体。
【請求項１８】
ユーザの前記生体情報の前記複数の秘密共有を生成する命令は、実行のときに、
複数の多項式を設定することであって、前記複数の多項式の各多項式は、前記生体情報の一部をコード化するために用いられることと、
前記複数の多項式の各多項式の複数の秘密共有を生成することであって、前記複数の秘密共有は、前記新たなヘルパーデータの各共有を生成するために用いられることと、
をコンピュータによって実行させる命令を備える請求項１７に記載のコンピュータ可読記憶媒体。
【請求項１９】
ユーザの次の認証のために前記二つ以上の記憶ノードの各々からの前記新たなヘルパーデータの各共有に基づいて前記新たなヘルパーデータを決定する命令は、実行のときに、
前記新たなヘルパーデータをコード化する多項式を復元するために前記二つ以上の記憶ノードの各々からの前記新たなヘルパーデータの各共有を組み合わせることと、
前記新たなヘルパーデータとして用いられる前記多項式の定数を生成するために、復元した多項式に補間を適用することと、
をコンピュータによって実行させる命令を備える請求項１７に記載のコンピュータ可読記憶媒体。
【請求項２０】
前記命令は、実行のときに、
前記生体情報の前記複数の秘密共有の各々を複数の記憶ノードのうちの対応する記憶ノードに記憶させるときに前記複数の記憶ノードの接続をオフラインとして設定することと、
前記再登録を行うときに前記複数の記憶ノードうちの前記二つ以上の記憶ノードの接続をオンラインとして自動的に再設定することと、
前記二つ以上の記憶ノードがオンラインになることに応答して、前記複数の記憶ノードのうちの前記二つ以上の記憶ノードからの前記新たなヘルパーデータの各共有を受け取ることと、
前記複数の記憶ノードのうちの前記二つ以上の記憶ノードからの前記新たなヘルパーデータの各共有を受け取ることに応答して、前記複数の記憶ノードのうちの前記二つ以上の記憶ノードをオフラインとして設定することと、
をコンピュータによって実行させる命令を備える請求項１７に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
認証システム、例えば、生体認証、認証及びアクセス制御（Ｂｉｏｍｅｔｒｉｃ−ｂａｓｅｄ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ，  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ａｎｄ  Ａｃｃｅｓｓ  ｃｏｎｔｒｏｌ）（ＢＩＡＡ）システムは、物理的環境又は仮想的環境に対する安全なアクセス及び権限をユーザに提供するか否かを決定するためにユーザの生体情報を処理及び解析する。これらの認証システムのユーザの最初の使用の間に、認証システムは、典型的には、ユーザの生体情報を「登録（ｅｎｒｏｌｌ）」（すなわち、処理及び記憶）する。例えば、認証システムは、ユーザの生体情報の参照用である（「バイオメトリックテンプレート（Ｂｉｏｍｅｔｒｉｃ  Ｔｅｍｐｌａｔｅ）」又は「参照用バイオメトリックテンプレート（Ｒｅｆｅｒｅｎｃｅ  Ｂｉｏｍｅｔｒｉｃ  Ｔｅｍｐｌａｔｅ）」（ＲＢＴ）と称する）ユーザの生体サンプルのテンプレートを処理及び記録する。記憶されたＲＢＴは、ユーザを認証するためのユーザの次の生体サンプルとの比較のために用いられる。しかしながら、セキュリティ違反の場合、ＲＢＴは、認証システムを回避するために不正アクセスされるとともに用いられることがある。
【背景技術】
【０００２】
一部の従来の認証システムは、一般的にはユーザを認証するために用いられる情報を参照するいわゆる「ヘルパーデータ（ｈｅｌｐｅｒ  ｄａｔａ）」を生成する暗号アルゴリズムを用いる。これらの従来の認証システムにおいて、ヘルパーデータは、典型的には、ユーザの生体情報から算出され、元の生体情報の情報が認証システムに記憶されないことを保証するためにＲＢＴの代わりに記憶される。セキュリティ違反又は更新の場合には、これらの従来の認証システムは、新たなヘルパーデータを生成するためにユーザの追加の又は繰り返しの生体情報（ａｄｄｉｔｉｏｎａｌ  ｏｒ  ｒｅｐｅａｔ  ｂｉｏｍｅｔｒｉｃ  ｉｎｆｏｒｍａｔｉｏｎ）を収集する必要がある。その理由は、元の生体情報が記憶されないからである。しかしながら、多数のユーザを有するインストール及びセキュリティドメインにおいて、ユーザの元の生体認証又は新たな生体認証の収集は、面倒な又は更に実現困難な処理である手動の処理である。したがって、以前に登録したユーザからの生体情報の再登録（ｒｅ−ｅｎｒｏｌｌｍｅｎｔ）の更に自動的であるとともに有効な処理が必要になる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
一般的には、この開示は、ネットワーク化された認証システム内の安全な分散した秘密共有を用いる生体再登録を行う技術を記載する。ここで説明するように、技術は、ユーザの元の生体情報を復元又は再使用する必要なく、かつ、ユーザの追加の又は繰り返しの生体情報を再取得する必要なくユーザの新たなヘルパーデータの再登録及び計算を可能にする。例えば、最初の登録の間に、生体認証システムのコンピュータデバイスは、ユーザの生体情報を収集及び処理し、ユーザ認証の最初のヘルパーデータを生成する。ヘルパーデータを構成した後、コンピュータデバイスは、生体情報の表示（例えば、多変数多項式表示（ｍｕｌｔｉ−ｐｏｌｙｎｏｍｉａｌ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎ））に従って複数の秘密共有を安全かつ分散して生成するために複数のセキュアサーバとともに分散秘密共有処理を開始する。
【０００４】
セキュリティ違反又は更新の場合には、コンピュータデバイスは、新たなヘルパーデータを生成するためのユーザの各々の追加の又は繰り返しの生体情報を取得する必要なく、分散した安全な秘密共有を用いて（例えば、ファジィ抽出器の生成関数を用いることによって）新たなヘルパーデータの計算を調整し、その結果、元の生体情報は、分散サーバによって明らかにされることがない又は処理を調整するコンピュータデバイスによってそっくりそのまま再構成されることがない。例えば、一つの実現において、コンピュータデバイスは、秘密共有形式の記憶ノードによって記憶された生体情報の秘密共有の各々に従って新たなヘルパーデータの秘密共有をそれぞれ生成するファジィ抽出器の生成関数を適用することを分散記憶ノードの各々に命令するための複数のメッセージを出力してもよい。記憶ノードはそれぞれ、新たなヘルパーデータの各共有をコンピュータデバイスに送信し、コンピュータデバイスは、例えば、ファジィ抽出器の生成関数の分散適用に起因する新たな多項式を復元するための新たなヘルパーデータの各共有を組み合わせることによって、ユーザの次の認証のための新たなヘルパーデータを決定する。
【０００５】
このようにして、ユーザの再登録を、ユーザからの追加の又は繰り返しの生体情報を再取得する必要なく、かつ、集中型の潜在的に安全でないノード又はデバイスで元の生体認証を復元又は再使用することなく行うことができる。したがって、技術は、生体情報の安全な自動化又は大量再登録（ｂｕｌｋ  ｒｅ−ｅｎｒｏｌｌｍｅｎｔ）を可能にする技術的解決を提供し、これによって、特に、多数のユーザを有する多くのセキュリティドメインに対する迅速な再登録が行われる。
【課題を解決するための手段】
【０００６】
一例において、本開示は、生体認証システムの計算エンジンによって、ユーザを認証するためのヘルパーデータをユーザの生体情報に従って生成することを有する方法を記載する。方法は、計算エンジンによって、生体情報の複数の秘密共有を生成することを更に有する。方法は、計算エンジンによって、生体情報の複数の秘密共有の各々を複数の記憶ノードのうちの対応する記憶ノードに記憶させることを更に有する。方法は、計算エンジンによって、新たなヘルパーデータの各共有を生成することを複数の記憶ノードの各々に命令するための複数のメッセージを生体情報の複数の秘密共有及び安全な計算プロトコルに従って出力すること、複数の記憶ノードのうちの二つ以上の記憶ノードから新たなヘルパーデータの各共有を受け取ること、及び、ユーザの次の認証のために二つ以上の記憶ノードの各々からの新たなヘルパーデータの各共有に基づいて新たなヘルパーデータを決定することにより、生体情報の再登録を行うことと、を更に有し、再登録は、ユーザの追加の又は繰り返しの生体情報なしで生じ、これによって、迅速な再登録となる。
【０００７】
他の例において、本開示は、生体認証システムのコンピュータデバイスであって、回路で実現されるとともにユーザの生体情報の複数の秘密共有を生成するように構成された共有生成部と、回路で実現されるとともに複数の秘密共有の各々を複数の記憶ノードのうちの対応する記憶ノードに記憶させるために複数の記憶ノードとインタフェースで接続するように構成された記憶インタフェースと、回路で実現されるとともにユーザを認証するためのヘルパーデータをユーザの生体情報に従った生成及び生体情報の再登録を行うように構成された計算エンジンであって、生体情報の再登録を行うために、新たなヘルパーデータの各共有を生成することを複数の記憶ノードの各々に命令するための複数のメッセージを生体情報の複数の秘密共有及び安全な計算プロトコルに従って出力し、複数の記憶ノードのうちの二つ以上の記憶ノードから新たなヘルパーデータの各共有を受け取り、ユーザの次の認証のために二つ以上の記憶ノードの各々からの新たなヘルパーデータの各共有に基づいて新たなヘルパーデータを決定するように構成された計算エンジンと、を備え、再登録は、ユーザの追加の又は繰り返しの生体情報なしで生じ、これによって、迅速な再登録となるコンピュータデバイスを記載する。
【０００８】
他の例において、本開示は、生体認証システムのコンピュータ可読記憶媒体であって、実行のときに、ユーザを認証するためのヘルパーデータをユーザの生体情報に従って生成することと、生体情報の複数の秘密共有をユーザの生体情報に従って生成することと、生体情報の複数の秘密共有の各々を複数の記憶ノードのうちの対応する記憶ノードに記憶させることと、生体情報の再登録を行うことと、をコンピュータによって実行させる命令を記憶し、生体情報の再登録を行う命令は、実行のときに、新たなヘルパーデータの各共有を生成することを複数の記憶ノードの各々に命令するための複数のメッセージを生体情報の複数の秘密共有及び安全な計算プロトコルに従って出力すること、複数の記憶ノードのうちの二つ以上の記憶ノードから新たなヘルパーデータの各共有を受け取ること、及びユーザの次の認証のために二つ以上の記憶ノードの各々からの新たなヘルパーデータの各共有に基づいて新たなヘルパーデータを決定することにより、生体情報の再登録を行うことと、をコンピュータによって実行させる命令を備え、再登録は、ユーザの追加の又は繰り返しの生体情報なしで生じ、これによって、迅速な再登録となるコンピュータ可読記憶媒体を記載する。
【０００９】
開示の一つ以上の態様の詳細を、添付図面及び以下の記載において説明する。本開示に記載される技術の他の特徴、目的及び利点は、記載、図面及び特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１０】
【図１】本開示に記載された一つ以上の態様による生体認証システムの一例を示す。
【図２Ａ】本開示に記載された一つ以上の態様による生体情報をコード化するのに用いられる多項式の一例を示す。
【図２Ｂ】本開示に記載された一つ以上の態様による生体情報をコード化するのに用いられる多項式の一例を示す。
【図２Ｃ】本開示に記載された一つ以上の態様による生体情報をコード化するのに用いられる多項式の一例を示す。
【図３】本開示に記載された一つ以上の態様によって構成された生体認証システムの一例を示すブロック図である。
【図４】本開示に記載された一つ以上の態様によるコンピュータデバイスの動作の一例を示すフローチャートである。
【図５】本開示に記載された一つ以上の態様によるコンピュータデバイスの再登録動作の一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
図１は、本開示に記載された一つ以上の態様による生体認証システムの例を示す。本例の構成において、生体認証システム１００は、少なくとも、取得システム１０２と、計算装置１２０によって実行環境で実行する計算エンジン１２２と、複数の記憶ノード１１０Ａ〜１１０Ｎ（集合的に「記憶ノード１１０」）と、を備える。
【００１２】
取得システム１０２は、一人以上のユーザの生体情報を取得するために一つ以上の生体認証センサ１０４からの入力を受け入れる。例えば、取得システム１０２は、指紋スキャナ（容量性又は光学）、パームセンサ、顔認証スキャナ、表情センサ（ｆａｃｉａｌ  ｅｘｐｒｅｓｓｉｏｎ  ｓｅｎｓｏｒ）、虹彩／網膜センサ、赤外線カメラ、心拍センサ、歩行センサ（ｇａｉｔ  ｓｅｎｓｏｒ）（例えば、ビデオ又は加速度計）又は生体情報１０８をユーザ１０６から読み出す他の生体認証センサを含む一つ以上の生体認証センサ１０４を備えてもよい。生体情報は、指紋の画像、掌紋の画像、顔の画像、網膜スキャンの画像、虹彩の画像、心拍パターン、手足の動き、虹彩又は音声サンプルの場合のバイナリコード等又はそのような要素の二つ以上の組合せを備える生体サンプルを含んでもよい。一部の例において、生体センサ１０４を含む取得システム１０２の構成要素は、一つの物理的構造内に含まれる。一部の例において、生体センサ１０４は、異なる物理的構造内にある。
【００１３】
一部の例において、生体センサ１０４は、物理環境及び／又は仮想環境、例えば、ソフトウェアアプリケーション、物理ロック又は他のタイプの安全な記憶若しくは安全なアプリケーションに対するアクセス及び／又は権限を求めるユーザ１０６から生体サンプルを読み出してもよい。取得システム１０２は、後に説明するように、処理及び記憶のために生体センサ１０４から生体サンプル（例えば、指紋の画像）を受け取るとともに生体サンプルを計算エンジン１２２に送り出してもよい。
【００１４】
計算エンジン１２２を、一つ以上の物理的なコンピュータデバイス１２０の回路で実現してもよい。例えば、計算エンジン１２２を、一つ以上のサーバ装置、サーバブレード、パーソナルコンピュータ、モバイルコンピュータデバイス及び／又は他のタイプのコンピュータデバイスのクラスタを用いて実現してもよい。明瞭のために、コンピュータデバイス１２０を残りの図から省略する。しかしながら、他の図の状況において計算エンジンが一つ以上の物理的なコンピュータデバイスの回路で実現されることを理解すべきである。一部の例において、取得システム１０２は、計算エンジン１２２の動作を制御及び／又は設定するために計算エンジン１２２が用いることができるスクリーン又はモニタを有する。
【００１５】
計算エンジン１２２は、メタデータ１３２のようなオペレータからの入力１３０を受け取るためのアプリケーションプログラマブルインタフェース１３４及びユーザインタフェース１３６を有してもよい。メタデータ１３２は、オブジェクト、マシン、人々又は取得システム１０２によって取得した他の情報についてのデータを備えてもよい。ユーザインタフェース１３６は、グラフィカルユーザインタフェース、コマンドラインインタフェース又はユーザからのユーザ入力の指示を受け取る他のタイプのユーザインタフェースを備えてもよい。ＡＰＩ１３４は、ソフトウェアアプリケーションが計算エンジン１２２と情報のやり取りを行うことができるインタフェースを備えてもよい。例えば、ソフトウェアアプリケーションは、計算エンジン１２２がデータを取得できるようにするためにＡＰＩ１３４を用いてもよい。
【００１６】
記憶ノード１１０は、コンピュータ可読データを記憶するローカル又はリモート記憶部を表してもよい。例えば、記憶ノード１１０は、コンピュータデバイス１０９に物理的に結合されたハードドライブ、フラッシュドライブ、ユニバーサルシリアルバス（ＵＳＢ）デバイス、テープドライブ、ハードドライブ、フロッピーディスク（登録商標）、コンパクトディスク、リムーバブル記憶装置等のいずれか又は全て及びサーバ装置のようなリモートコンピュータデバイスに物理的に結合された記憶装置を表してもよい。記憶ノード１１０をそれぞれ、ネットワーク接続型記憶装置（ＮＡＳ）、ストレージエリアネットワーク（ＳＡＮ）装置、サーバ装置又は他のタイプのコンピュータデバイスのような一つ以上のコンピュータデバイスを用いて実現してもよい。記憶ノード１１０は、種々のタイプのデータを記憶してもよい。例えば、記憶ノード１１０は、（後に詳しく説明するような）生体情報の秘密共有１１２及び新たなヘルパーデータ共有１１４、入力１３０、計算エンジン１２２の出力、参照用データ及び他のタイプのデータを記憶してもよい。
【００１７】
一部の例において、記憶ノード１１０は、オンライン記憶装置及びオフライン記憶装置を備えてもよい。例えば、一つ以上の記憶ノード１１０を、（例えば、再登録中に）一時的にアクセス可能にするとともに必要なときにのみアクセス可能にするものとして構成してもよい。一部の例において、一つ以上の記憶ノード１１０を一つ以上の物理的なコンピュータデバイス１２０から物理的に取り除くとともに（例えば、再登録中に）必要なときにのみ接続してもよい。一部の例において、記憶ノード１１０は、地理的に分散した記憶装置を備えてもよい。計算エンジン１２２は、記憶ノード１１０と情報をやり取りするように構成された回路で実現される記憶インタフェースを有してもよい。
【００１８】
生体認証システム１００のユーザの最初の使用の間に、生体認証システム１００は、ユーザの次の認証のためにユーザの生体情報を「登録」する。すなわち、生体認証システム１００は、各ユーザの次の認証のためのヘルパーデータ１２６を生成するために生体情報を収集及び処理する。例えば、計算エンジン１２２は、最初に取得システム１０２から受け取った生体サンプルを処理するとともに生体サンプルから生体情報のインディシアを決定してもよい。生体情報のインディシアは、指紋の特徴点、アイスキャニング（ｅｙｅ  ｓｃａｎ）の場合の虹彩コード又は生体サンプルの粒度（ｇｒａｎｕｌａｒｉｔｙ）の他の点を有してもよい。計算エンジン１２２は、生体情報のインディシアに従って（ここでは「バイオメトリックテンプレート」、「参照用バイオメトリックテンプレート」又は「ＲＢＴ」と称される）テンプレートを計算してもよい。ＲＢＴは、生体サンプルから抽出される粒度の点の参照のために設けられるテンプレートである。例えば、指紋スキャニングに対するＲＢＴは、指紋の特定点（例えば、隆起の終点（ｒｉｄｇｅ  ｅｎｄｉｎｇｓ）、隆起の分岐（ｒｉｄｇｅ  ｂｉｆｕｒｃａｔｉｏｎｓ）、短い隆起（ｓｈｏｒｔ  ｒｉｄｇｅ）等）の座標又は幾何学的配置（ｏｒｉｅｎｔａｔｉｏｎ）を識別することができる。計算エンジン１２２は、指紋の画像を受け取るとともに画像をブロックに分解することができる。各ブロックは、指紋の画像の一部を有する。計算エンジン１２２は、（他のブロックとの関連で）各ブロック内の指紋のインディシアの座標を決定するとともに指紋のインディシアの幾何学的配置（例えば、内在する隆起又は分岐の向き）を決定する。
【００１９】
図１の本例において、上述したように、生体認証システム１００の集中型のコンピュータデバイス１２０は、ユーザの次の認証のための各ユーザに対するヘルパーデータ１２６をそれぞれ生成する。一例として、ヘルパーデータ１２６は、公にすることができるがＲＢＴの重要な情報を明らかにしないＲＢＴについての情報であるランダムな文字列を備えてもよい。生体認証システム１００は、当該ユーザの認証のためにヘルパーデータ１２６を利用する。例えば、生体認証システム１００は、認証したユーザに対するアクセス又は権限を提供するデジタル鍵又は識別子を再構成するために次の生体サンプル（例えば、生体サンプルのノイジーバージョン（ｎｏｉｓｙ  ｖｅｒｓｉｏｎ））を有するヘルパーデータを用いてもよい。
【００２０】
一部の例において、生体認証システム１００は、ヘルパーデータ１２６を生成するためにファジィ抽出器スキーム（ｆｕｚｚｙ  ｅｘｔｒａｃｔｏｒ  ｓｃｈｅｍｅ）又はファジィボールトスキーム（ｆｕｚｚｙ  ｖａｕｌｔ  ｓｃｈｅｍｅ）を含むがそれに限定されない一つ以上の暗号アルゴリズムを用いる。一例として、ファジー抽出器スキームは、二つの関数：「生成」関数及び「再生」関数を備える。生成関数は、デジタル鍵（ｋｅｙ）及び一つ以上の公開パラメータ（ｐｕｂｌｉｃ  ｐａｒａｍｅｔｅｒ）（Ｐｕｂ）を生成するために実行され、以下に示すように、ｗは、ＲＢＴ又は他の適切な形式に変換された生体サンプルからのデータの文字列の入力を表す。
【００２１】
【数１】
2019185781.tif 000003
【００２２】
一般的には、ヘルパーデータ１２６を、ＲＢＴを有するデジタル鍵（例えば、ランダムな暗号鍵）をバインディング又はロックすることによって取得する。ヘルパーデータの生成に続いて、ヘルパーデータは、（図１に「ヘルパーデータ１２６」として示すように）ユーザ１０６の次の認証のために容易にアクセス可能な記憶領域に記憶され、ＲＢＴは、典型的には、生体認証システムのオンライン部分に生体情報が記憶されるのを回避するために廃棄される。ヘルパーデータ１２６をコンピュータデバイス１２０内の容易にアクセス可能な記憶領域に記憶されているものとして示すとしても、ヘルパーデータ１２６をコンピュータデバイス１２０の外部の容易にアクセス可能な記憶領域に記憶してもよい。
【００２３】
ヘルパーデータ１２６の生成後、生体認証システム１００は、ユーザ１０６を認証するために次の生体サンプルを用いる。例えば、生体認証システム１００は、認証されたユーザに対するアクセス又は権限を提供するデジタル鍵を再構成するために最初の登録中に生成したヘルパーデータ１２６を次の生体サンプルと共に用いる。一例として、再生関数が、ユーザを認証するために用いられるデジタル鍵（Ｋｅｙ’）を再構成するために用いられ、以下に示すように、ｗ’は、ＲＢＴ又は他の適切な形式に変換された生体サンプルからのデータの文字列の入力を表し、Ｐｕｂは、最初の登録中に生成される公開パラメータである。
【００２４】
【数２】
2019185781.tif 000004
【００２５】
一部の例において、Ｋｅｙ’は、最初の生体サンプルと次の生体サンプルの間の差が規定されたしきい値（ｄ）内にある場合に生成され、以下に示すように、しきい値（ｄ）は、許容できる検出精度を規定する調整可能なパラメータである。
【００２６】
【数３】
2019185781.tif 000005
【００２７】
しきい値を、検出精度を改善又は最大化するように選択してもよい。一部の例において、しきい値を、本人認証率（ＧＡＲ）を最大にするとともに他人受け入れ率（ＦＡＲ）を最小にするように規定してもよい。一例として、ユーザは、最初の生体サンプルと生体サンプルの次のノイジーバージョンの間の差が許容できる検出精度のしきい値内にない生体サンプルのノイジーバージョンを次に提供してもよい。その結果、Ｋｅｙ’が生成されない。生体サンプルのノイジーバージョンを次に提供してもよく、最初の生体サンプルと生体サンプルの次のノイジーバージョンの間の差が許容できる検出精度のしきい値内にある場合、Ｋｅｙ’が生成されるとともにユーザが認証される。
【００２８】
生体認証システム１００の更新又はセキュリティ違反の場合、最初の登録中に生成されたヘルパーデータ１２６が漏れるおそれがある。新たなヘルパーデータを生成するために、従来の認証システムは、典型的には、元の生体情報を記憶するとともに用いる必要があり、これによって、元の生体情報が危険にさらされる又は追加の若しくは繰り返しの生体情報を提供するために以前に登録されたユーザ（又は漏らされたユーザ）を必要とする。しかしながら、大規模システムにおいて、再登録プロセスは、追加の又は繰り返しの生体情報をそれぞれ手動で提供するために多数のユーザを必要とし、これは、非効率的であるとともに時々実現困難なプロセスである。
【００２９】
本開示の技術によれば、コンピュータデバイス１２０は、認証システム１００内の安全な分散した秘密共有を用いることによって生体再登録を調整する。ここで説明するように、技術は、元の生体情報をコンピュータデバイス１２０で復元又は再使用する必要なく、かつ、追加の又は繰り返しの生体情報を再取得する必要なくユーザ認証のために新たなヘルパーデータ１２６’の再登録及び計算を可能にする。例えば、最初の登録の間に、コンピュータデバイス１２０の計算エンジン１２２は、ユーザの生体情報を収集及び処理するとともにユーザ認証のために最初のヘルパーデータ１２６を生成する。ヘルパーデータ１２６を構成した後及び生体情報（例えば、ＲＢＴ）を破棄する前に、計算エンジン１２２は、生体情報の（例えば、多項式表示の）表現に従って複数の秘密共有１１２Ａ〜１１２Ｎ（集合的に「秘密共有１１２”」又は「秘密共有値１１２”」）を安全かつ分散して生成及び記憶するために複数の安全な記憶ノード１１０（例えば、一つ以上のネットワークドメインに分散した記憶サーバ）を用いて分散した秘密共有プロセスを開始する。
【００３０】
例えば、再登録中に、共有生成部１２４は、生体情報の多項式表現が共有された秘密として用いられる共有された秘密スキームを用いて秘密共有１１２の安全な計算を行う。先ず、共有生成部１２４は、ヘルパーデータの安全な計算の共有された秘密として用いられる生体認証の表現を決定するために生体情報を処理する。例えば、指紋のＲＢＴは、各特徴点が指紋の画像の隆起の終点、隆起の分岐、短い隆起等の座標（例えば、Ｘｎ及びＹｎ）及び幾何学的配置（例えば、Ｏｎ）を備える特徴点のセットを有してもよい。すなわち、各特徴点は、指紋の画像の特定点のＸ座標、指紋の画像の特定点のＹ座標及び指紋の画像の特定点の幾何学的配置によって規定される。本例において、共有生成部１２４は、各特徴点に対する座標及び幾何学的配置、例えば、（Ｘ１，Ｙ１，Ｏ１），（Ｘ２，Ｙ２，Ｏ２）をコード化してもよい（「秘密共有」と称する）。用いられる共有された秘密を決定する際に、共有生成部１２４は、ＲＢＴの座標及び幾何学配置の各々を各多項式の零次の係数（ｆｒｅｅ  ｔｅｒｍ）（ｐ（０））、例えば、Ｐ１（０）＝Ｘ１，Ｐ２（０）＝Ｙ１及びＰ３（０）＝Ｏ１として記憶される整数値に変換してもよい（又は、一部の例において、共有生成部１２４は、座標及び幾何学的配置を単一の整数値に変換する。）。本例において、三つの多項式（すなわち、Ｐ１（ｘ），Ｐ２（ｘ）及びＰ３（ｘ））は、単一の特徴点（例えば、（Ｘ１，Ｙ１，Ｏ１））を共有するために用いられる。換言すれば、多項式ｐ１（ｘ）は、単一の特徴点のＸ座標をコード化するのに用いられ、多項式ｐ２（ｘ）は、単一の特徴点のＹ座標をコード化するのに用いられ、多項式ｐ３（ｘ）は、単一の特徴点の幾何学的配置をコード化するのに用いられる。
【００３１】
後に更に説明するように、共有生成部１２４は、最小限のｎ点で各多項式を評価してもよく、ｎは、多項式の零次の係数を決定するのに必要な共有の数である。上記の例を続けると、各放物線が生体情報の対応する部分（例えば、Ｘ座標、Ｙ座標及び幾何学配置）をコード化するのに用いられると仮定する。共有生成部１２４は、放物線のＸ＝１，Ｘ＝２及びＸ＝３の評価された点を表す三つの点、例えば、ｐ１（１），ｐ１（２）及びｐ１（３）で放物線を評価することによって、共有された秘密を生成してもよい。本例において、放物線のコード化された部分、例えば、各放物線の零次の係数として記憶される値、例えば、ｐ１（０）＝Ｘ１を決定するために少なくとも三つの共有が必要となるように最小限の三つの共有を生成する。少なくとも三つの共有の知識がない場合、多項式の零次の係数にコード化された生体情報の部分は、未知のままである。三つの多項式のそれぞれに対して三つの共有を本例で用いるとしても、生体情報のインディシアをコード化するために任意の数の多項式及び／又は任意の数の共有を用いてもよい。シャミアの秘密共有スキームに関連して説明したが、共有生成部１２４は、ここで説明する技術又は他の安全な計算技術による秘密共有されたデータの計算を可能にするように拡張することができる任意の秘密共有技術を実現してもよい。安全な計算プロトコルに関する他の例の情報は、２０１４年７月に発表されたバロン・ヨシュア（Ｂａｒｏｎ，Ｊｏｓｈｕａ）等による“Ｈｏｗ  ｔｏ  ｗｈｉｔｈｓｔａｎｄ  ｍｏｂｉｌｅ  ｖｉｒｕｓ  ａｔｔａｃｋｓ，  ｒｅｖｉｓｔｅｄ”、１９８８年５月に発表されたベン＝オル・ミシェル（Ｂｅｎ−Ｏｒ，Ｍｉｃｈａｅｌ）等による“Ｃｏｍｐｌｅｔｅｎｅｓｓ  ｔｈｅｏｒｅｍｓ  ｆｏｒ  ｎｏｎ−ｃｒｙｐｔｏｇｒａｐｈｉｃ  ｆａｕｌｔ−ｔｏｌｅｒａｎｔ  ｄｉｓｔｒｉｂｕｔｅｄ  ｃｏｍｐｕｔａｔｉｏｎ”及び２００４年に発表されたゴールドライヒ・オデット（Ｇｏｌｄｒｅｉｃｈ，Ｏｄｅｄ）による“Ｆｏｕｎｄａｔｉｏｎｓ  ｏｆ  Ｃｒｙｐｔｇｒａｐｈｙ：Ｖｏｌｕｍｅ  ２，  Ｂａｓｉｃ  Ａｐｐｌｉｃａｔｉｏｎｓ”に記載されており、その各々の全体の内容を参照によりここに組み込む。
【００３２】
ＲＢＴから秘密共有を計算した後、コンピュータデバイス１２０は、対応する記憶ノード１１０が各多項式の秘密共有をそれぞれ記憶するように複数の秘密共有の各々を記憶ノード１１０のうちの対応する記憶ノードに送信する。上記の例を続けると、コンピュータデバイス１２０は、各特徴点のＸ座標、Ｙ座標及び幾何学配置をコード化する多項式の秘密共有を記憶するために記憶ノード１１０とインタフェースで接続するために回路で実現される記憶インタフェース（図示せず）を用いてもよい。
【００３３】
例えば、コンピュータデバイス１２０の記憶インタフェースは、特徴点のＸ座標をコード化するｐ１（ｘ）の秘密共有値、特徴点のＹ座標をコード化するｐ２（ｘ）の秘密共有値及び特徴点の幾何学的配置をコード化するｐ３（ｘ）の秘密共有値を記憶するために（記憶インタフェースを介して）記憶ノード１１０Ａとインタフェースで接続してもよい。また、コンピュータデバイス１２０は、Ｘ座標をコード化するｐ１（ｘ）の他の秘密共有値、Ｙ座標をコード化するｐ２（ｘ）の他の秘密共有値及び幾何学的配置をコード化するｐ３（ｘ）の他の秘密共有値を記憶するために記憶ノード１１０Ｂとインタフェースで接続する記憶インタフェースを用いてもよい。さらに、計算エンジン１２２は、Ｘ座標をコード化するｐ１（ｘ）の更に別の秘密共有値、Ｙ座標をコード化するｐ２（ｘ）の更に別の秘密共有値及び幾何学的配置をコード化するｐ３（ｘ）の更に別の秘密共有値を記憶するために記憶ノード１１０Ｎとインタフェースで接続する記憶インタフェースを用いてもよい。
【００３４】
一部の例において、秘密共有１１２を記憶する記憶ノード１１０は、（コンピュータデバイス１２０と記憶ノード１１０の間の不連続な矢印で示すように）再登録に対してのみアクセス可能である。すなわち、秘密共有１１２を記憶する記憶ノード１１０は、ネットワークから物理的に切り離されるとともに必要に応じて最初の登録及び再登録の間にのみ一時的にアクセスするように設定されてもよい。
【００３５】
セキュリティ違反又は更新の場合、コンピュータデバイス１２０は、新たなヘルパーデータを生成するためにユーザの各々の追加の又は繰り返しの生体情報を取得する必要なく、元の生体情報が分散記憶ノード１１０によって明かされないように又はプロセスを実行するコンピュータデバイス１２０によってそっくりそのまま再構成されないように、分散した安全な秘密共有１１２を用いて（例えば、ファジィ抽出器又はファジィボールトのような同様なスキームの生成関数を用いることによって）新たなヘルパーデータ１２６’の計算を行う。例えば、一つの実現において、メッセージハンドラ１２８は、新たなヘルパーデータ１１４を生成するためにファジィ抽出器又は同様なスキームの生成関数を適用することを分散した記憶ノードの各々に命令するための複数のメッセージを、秘密共有形式の記憶ノード１１０によって記憶された生体情報の各秘密共有１１２に従って出力してもよい。各記憶ノード１１０は、新たなヘルパーデータ共有１１４の各々をコンピュータデバイス１２０に出力し、コンピュータデバイス１２０は、例えば、ユーザの次の認証のための新たなヘルパーデータを生成するために用いられるファジィ抽出器の生成関数の分散適用に起因する新たな多項式を復元するための新たなヘルパーデータの各共有を組み合わせることによって、新たなヘルパーデータを決定する。
【００３６】
例えば、再登録が要求されるときに記憶ノード１１０がアクセス可能になった後に、メッセージハンドラ１２８は、新たなヘルパーデータ、例えば、新たなヘルパーデータ１１４の各共有を生成するために記憶ノードの各々に命令するための複数のメッセージ、例えば、メッセージ１１６Ａ〜１１６Ｎ（集合的に「メッセージ１１６」）を出力してもよい。例えば、記憶ノード１１０Ａは、コンピュータデバイス１２０からメッセージ１１６Ａを受け取ってもよく、記憶ノード１１０Ａに記憶された秘密共有１１２Ａを用いて新たなヘルパーデータ、例えば、新たなヘルパーデータ１１４Ａの各共有を生成してもよい。同様に、記憶ノード１１０Ｂは、コンピュータデバイス１２０からメッセージ１１６Ｂを受け取ってもよく、記憶ノード１１０Ｂに記憶された秘密共有１１２Ｂを用いて新たなヘルパーデータ、例えば、新たなヘルパーデータ１１４Ｂの各共有を生成してもよい。また、記憶ノード１１０Ｎは、コンピュータデバイス１２０からメッセージ１１６Ｎを受け取ってもよく、記憶ノード１１０Ｎに記憶された秘密共有１１２Ｎを用いて新たなヘルパーデータ、例えば、新たなヘルパーデータ１１４Ｎの各共有を生成してもよい。
【００３７】
共有１１２を用いて新たなヘルパーデータを生成するために、記憶ノード１１０の各々は、例えば、秘密共有された生体認証を再構成するとともに新たなヘルパーデータ１１４を生成することなく安全に分散した形式でファジィ抽出器スキームの生成関数を計算するために加算及び乗算のような一連の演算を行うことを命令されてもよい。例えば、記憶ノード１１０Ａは、新たなヘルパーデータ共有１１４Ａを生成するために記憶ノード１１０Ａに記憶された秘密共有１１２Ａの秘密共有された値の加算（例えば、ｐｓｕｍ（ｘ）＝ｐ１（ｘ）＋ｐ２（ｘ）＋ｐ３（ｘ））を行ってもよい。同様に、記憶ノード１１０Ｂは、新たなヘルパーデータ共有１１４Ｂを生成するために記憶ノード１１０Ｂに記憶された秘密共有１１２Ｂの秘密共有された値の加算を行ってもよい。同様に、記憶ノード１１０Ｎは、新たなヘルパーデータ共有１１４Ｎを生成するために記憶ノード１１０Ｎに記憶された秘密共有１１２Ｎの秘密共有された値の加算を行ってもよい。すなわち、記憶ノード１１０の各々は、秘密共有された形式で新たなヘルパーデータの各共有を生成する。
【００３８】
代替的に又は追加的に、記憶ノード１１０は、例えば、秘密共有された生体認証を再構成するとともに新たなヘルパーデータ１１４を生成することなく安全に分散した形式でファジィ抽出器スキームの生成関数を計算するために乗算を行ってもよい。例えば、記憶ノード１１０Ａは、記憶ノード１１０Ａに記憶された生体情報の秘密共有１１２Ａの乗算を行ってもよい。秘密共有１１２Ａの積は、秘密共有１１２Ａの秘密共有された値の積をコード化した新たな多項式の共有を生成するために共有された乗算３数（ｓｈａｒｅｄ  ｍｕｌｔｉｐｌｉｃａｔｉｏｎ  ｔｒｉｐｌｅ）（例えば、ａ＊ｂ＝ｃ）と共に用いられる。同様に、秘密共有１１２Ｂの秘密共有された値の積をコード化した新たな多項式の共有を生成するために秘密共有値１１２Ｂの積が乗算３数（例えば、ａ＊ｂ＝ｃ）と共に用いられるように、記憶ノード１１０Ｂは、記憶ノード１１０Ｂに記憶された生体情報の秘密共有１１２Ｂの乗算を行ってもよい。同様に、秘密共有１１２Ｎの秘密共有された値の積をコード化した新たな多項式の共有を生成するために秘密共有値１１２Ｎの積が乗算３数（例えば、ａ＊ｂ＝ｃ）と共に用いられるように、記憶ノード１１０Ｎは、記憶ノード１１０Ｎに記憶された生体情報の秘密共有１１２ＢＮ乗算を行ってもよい。乗算３数技術を用いて説明したが、記憶ノード１１０は、新たなヘルパーデータ共有１１４を生成するために準同型暗号のような他の乗算技術を用いてもよい。
【００３９】
新たなヘルパーデータ共有１１４を計算した後、記憶ノード１１０Ａ〜１１０Ｎは、新たなヘルパーデータ共有１１４Ａ〜１１４Ｎをそれぞれ有する複数のメッセージ、例えば、メッセージ１１６をコンピュータデバイス１２０に送信してもよく、コンピュータデバイス１２０の計算エンジン１２２は、ユーザ１０６の次の認証のための新たなヘルパーデータ、例えば、新たなヘルパーデータ１２６’を新たなヘルパーデータ共有１１４に従って決定してもよい。例えば、計算エンジン１２２は、ファジィ抽出器の生成関数の分散適用に起因する新たな多項式を復元するために記憶ノード１１０からの新たなヘルパーデータ共有１１４を組み合わせてもよい。計算エンジン１２２は、新たなヘルパーデータ１２６’として用いるための多項式の定数を生成するために、復元した多項式に補間を適用してもよい。
【００４０】
このようにして、生体認証システム１００のような生体認証システムは、ユーザの追加の又は繰り返しの生体情報を受け取ることなく、かつ、任意の集中型の潜在的に安全でないノード又は装置で元の生体情報を復元又は再使用することなく新たなヘルパーデータを生成することができ、これによって、潜在的に計算が少ないリソースを用いるとともにユーザの生体情報を危険にさらすことなく迅速かつ安全な再登録を可能にする技術的解決を提供する。
【００４１】
図２Ａ〜２Ｃは、本開示の一つ以上の態様による生体情報をコード化するのに用いることができる多項式２０２，２１２，２２２の例を示すグラフである。図２Ａ〜２Ｃを、寸法通りに描写せず、ここで説明する技術に従って指紋を表現する生体情報の各部分をコード化するために三つの多項式が用いられる一例として集合的に示す。図２Ａ〜２Ｃを指紋の生体情報をコード化する一例として用いるが、図２Ａ〜２Ｃは、任意のタイプの生体情報のインディシアをコード化するのに用いられる任意の多項式を表してもよい。
【００４２】
図２Ａの例において、多項式２０２は、指紋の特徴点Ｘ１，Ｙ１，Ｏ１のＸ座標を秘密に共有するために用いられる。説明を簡単にするために、多項式２０２は放物線であり、放物線のコード化された値を決定するために少なくとも三つの秘密共有された値が必要となるが、放物線２０２を、次数ｔ−１の任意の多項式として規定してもよく、ｔは、多項式のコード化された値を決定するために必要とされる秘密共有された値の数である。零次の係数、例えば、多項式２０２の点２０４（ｐ１（０））は、生体情報の一部のコード化された値、例えば、特徴点Ｘ１，Ｙ１，Ｏ１のＸ座標（Ｘ１）を表す整数を表してもよい。例えば、ｐ１（０）は、グラフがＹ軸と交差する点を表してもよく、この場合、Ｘ＝０である。図２Ａの例において、ｐ１（０）は１０の値を有する。ｔが３であるので、共有生成部１２４は、３及び２３のような二つの任意の係数値（ｔ−１）を設定してもよい。したがって、多項式２０２は、ｆ（ｘ）＝１０＋３ｘ＋２３ｘ２である。点２０４の指紋のＸ座標（例えば、１０）をコード化するために、多項式２０２は、多項式２０２の点２０４のコード化された値を決定するために用いられる秘密共有された値であるｎ点で評価される。例えば、図１の計算エンジン１２２は、多項式２０２（例えば、ｐ１（ｘ）＝（ｘ，ｆ（ｘ））から秘密共有値２０６，２０８及び２１０を計算してもよい。説明を簡単にするために、多項式２０２を三つの評価された秘密共有値（例えば、２０６，２０８及び２１０）を用いて表すが、多項式２０２は、多項式２０２からの更に多くの秘密共有された値を有してもよい。上記の例を続けると、ｘ＝１である場合の秘密共有された値２０６は、多項式２０２の第１の値（例えば、ｐ１（ｘ）＝（１，３６））を表してもよく、ｘ＝２である場合の秘密共有された値２０８は、多項式２０２の第２の値（例えば、ｐ１（ｘ）＝（２，１０５））を表してもよく、ｘ＝３である場合の秘密共有された値２１０は、多項式２０２の第３の値（例えば、ｐ１（ｘ）＝（３，２２６））を表してもよい。計算エンジン１２２の共有生成部１２４は、秘密共有された値２０６，２０８及び２１０の各々を図１の対応する記憶ノード１１０に記憶させてもよい。
【００４３】
図２Ｂの例において、多項式２１２は、指紋を表す生体情報の特徴点Ｘ１，Ｙ１，Ｏ１のＹ座標を秘密に共有するために用いられる。説明を簡単にするために、多項式２１２は放物線であり、放物線のコード化された値を決定するために少なくとも三つの秘密共有された値が必要となるが、放物線２１２を、次数ｔ−１の任意の多項式として規定してもよく、ｔは、多項式のコード化された値を決定するために必要とされる秘密共有された値の数である。零次の係数、例えば、多項式２１２の点２１４（ｐ２（０））は、生体情報の一部のコード化された値、例えば、特徴点Ｘ１，Ｙ１，Ｏ１のＹ座標（Ｙ１）を表す整数を表してもよい。例えば、ｐ２（０）は、グラフがＹ軸と交差する点を表してもよく、この場合、Ｘ＝０である。図２Ｂの例において、ｐ２（０）は１５の値を有する。ｔが３であるので、共有生成部１２４は、７及び−５のような二つの任意の係数値（ｔ−１）を設定してもよい。したがって、多項式２１２は、ｆ（ｘ）＝１５＋７ｘ−５ｘ２である。点２１４の指紋のＹ座標（例えば、１５）をコード化するために、多項式２１２は、多項式２１２の点２１４のコード化された値を決定するために用いられる秘密共有された値であるｎ点で評価される。例えば、図１の計算エンジン１２２は、多項式２１２（例えば、ｐ２（ｘ）＝（ｘ，ｆ（ｘ））から秘密共有値２１６，２１８及び２２０を計算してもよい。説明を簡単にするために、多項式２１２を三つの評価された秘密共有値（例えば、２１６，２１８及び２２０）を用いて表すが、多項式２１２は、多項式２１２からの更に多くの秘密共有された値を有してもよい。上記の例を続けると、ｘ＝１である場合の秘密共有された値２１６は、多項式２１２の第１の値（例えば、ｐ２（ｘ）＝（１，１７））を表してもよく、ｘ＝２である場合の秘密共有された値２１８は、多項式２１２の第２の値（例えば、ｐ２（ｘ）＝（２，９））を表してもよく、ｘ＝３である場合の秘密共有された値２２０は、多項式２１２の第３の値（例えば、ｐ２（ｘ）＝（３，−９））を表してもよい。計算エンジン１２２の共有生成部１２４は、秘密共有された値２１６，２１８及び２２０の各々を図１の対応する記憶ノード１１０に記憶させてもよい。
【００４４】
図２Ｃの例において、多項式２２２は、指紋を表す生体情報の特徴点Ｘ１，Ｙ１，Ｏ１の幾何学的配置（Ｏ１）を秘密に共有するために用いられる。説明を簡単にするために、多項式２２２は放物線であり、放物線のコード化された値を決定するために少なくとも三つの秘密共有された値で十分であるが、放物線２２２を、次数ｔ−１の任意の多項式として規定してもよく、ｔは、多項式のコード化された値を決定するために必要とされる秘密共有された値の数である。零次の係数、例えば、多項式２２２の点２２４（ｐ３（０））は、生体情報の一部のコード化された値、例えば、特徴点Ｘ１，Ｙ１，Ｏ１の幾何学的配置（Ｏ１）を表す整数を表してもよい。例えば、ｐ３（０）は、グラフがＹ軸と交差する点を表してもよく、この場合、Ｘ＝０である。図２Ｃの例において、ｐ３（０）は６の値を有してもよい。ｔが３であるので、共有生成部１２４は、１４及び５のような二つの任意の係数値（ｔ−１）を設定してもよい。したがって、多項式２２２は、ｆ（ｘ）＝６＋１４ｘ＋５ｘ２である。点２２４の指紋の幾何学的配置（例えば、６）をコード化するために、多項式２２２は、多項式２２２の点２２４のコード化された値を決定するために用いられる秘密共有された値であるｎ点で評価される。例えば、図１の計算エンジン１２２は、多項式２２２（例えば、ｐ３（ｘ）＝（ｘ，ｆ（ｘ））から秘密共有値２２６，２２８及び２３０を計算してもよい。説明を簡単にするために、多項式２２２を三つの評価された秘密共有値（例えば、２２６，２２８及び２３０）を用いて表すが、多項式２２２は、多項式２２２からの更に多くの秘密共有された値を有してもよい。上記の例を続けると、ｘ＝１である場合の秘密共有された値２２６は、多項式２２２の第１の値（例えば、ｐ３（ｘ）＝（１，２５））を表してもよく、ｘ＝２である場合の秘密共有された値２２８は、多項式２２２の第２の値（例えば、ｐ３（ｘ）＝（２，５４））を表してもよく、ｘ＝３である場合の秘密共有された値２３０は、多項式２２２の第３の値（例えば、ｐ３（ｘ）＝（３，９３））を表してもよい。計算エンジン１２２の共有生成部１２４は、秘密共有された値２２６，２２８及び２３０の各々を図１の対応する記憶ノード１１０に記憶させてもよい。
【００４５】
記憶ノード１１０は、上述した秘密共有値に従って新たなヘルパーデータ共有１１４を生成してもよい。例えば、記憶ノード１１０Ａは、多項式２０２，２１２及び２２２の秘密共有値２０６，２１６及び２２６の和（例えば、ｐｓｕｍ１（ｘ））の計算をそれぞれ含む乗算及び加算によって第１の新たなヘルパーデータ共有を生成してもよい。同様に、記憶ノード１１０Ｂは、多項式２０２，２１２及び２２２の秘密共有値２０８，２１８及び２２８の和（例えば、ｐｓｕｍ２（ｘ））の計算をそれぞれ含む乗算及び加算によって第２の新たなヘルパーデータ共有を生成してもよい。同様に、記憶ノード１１０Ｎは、多項式２０２，２１２及び２２２の秘密共有値２１０，２２０及び２３０の和（例えば、ｐｓｕｍ３（ｘ））の計算をそれぞれ含む乗算及び加算によって第３の新たなヘルパーデータ共有を生成してもよい。すなわち、記憶ノード１１０の各々は、秘密共有された形式の新たなヘルパーデータの共有をそれぞれ生成する。記憶ノード１１０は、新たなヘルパーデータの共有（例えば、ｐｓｕｍ１（ｘ），ｐｓｕｍ２（ｘ）及びｐｓｕｍ３（ｘ））をコンピュータデバイス１２０にそれぞれ送り出してもよく、コンピュータデバイス１２０の計算エンジン１２２は、新たなヘルパーデータの各共有に基づいて新たなヘルパーデータを決定してもよい。例えば、新たなヘルパーデータをコード化する新たな多項式を復元するために各共有を組み合わせる。
【００４６】
図３は、本開示の一つ以上の態様によって構成された生体認証システム３００の一例を示すブロック図である。図３の生体認証システム３００を、図１の生体認証システム１００の一例又は代替的な実現として以下で説明する。しかしながら、図３は、生体認証システム１００の一つの特定の例又は代替的な実現を示すにすぎず、生体認証システム１００の他の多数の例又は代替的な実現を用いてもよい又は他の場合に適切なものとしてもよい。そのような実現は、図３の例に含まれる構成要素のサブセットを有してもよい又は図３の例に示さない他の構成要素を有してもよい。コンピュータデバイス３０２は、ネットワーク３９０を介して取得システム３２０Ａ〜３２０Ｎ（集合的に「取得システム３２０」）と通信を行ってもよい。
【００４７】
図３のコンピュータデバイス３０２は、図１の計算エンジン１２２及び共有生成部１２４を実現する。コンピュータデバイス３０２は、電源３０４と、一つ以上の通信部３０６と、一つ以上の入力装置３０８と、一つ以上の出力装置３１０と、一つ以上のプロセッサ３１２と、一つ以上の記憶装置３１４と、一つ以上の記憶ノード３１６と、を有する。一つ以上の記憶装置３１４は、計算エンジンモジュール３１８を有してもよい。コンピュータデバイス３０２の装置、モジュール、記憶領域又は構成要素の一つ以上を、（物理的、通信的及び／又は作動的に）構成要素間通信を可能にするために相互接続してもよい。一部の例において、そのような接続を、システムバス、ネットワーク接続、プロセス間通信データ構造又は他の任意のデータ通信方法によって設けてもよい。
【００４８】
電源３０４は、コンピュータデバイス３０２の一つ以上の構成要素に電力を供給してもよい。電源３０４は、ビルディング、住宅、事業拠点又は他の場所の一次側交流（ＡＣ）電源から電力を受け取ってもよい。他の例において、電源３０４はバッテリであってもよい。更に別の例において、コンピュータデバイス３０２及び／又は電源３０４は、他のソースから電力を受け取ってもよい。電源３０４は、インテリジェント電力管理（ｉｎｔｅｌｌｉｇｅｎｔ  ｐｏｗｅｒ  ｍａｎａｇｅｍｅｎｔ）又は消費能力（ｃｏｎｓｕｍｐｔｉｏｎ  ｃａｐａｂｉｌｉｔｉｅｓ）を有してもよく、そのような機能を、知的な電力の消費、割当て又は管理を行うためにコンピュータデバイス３０２の一つ以上のモジュールによって及び／又は一つ以上のプロセッサ３１２によって制御、アクセス又は調整してもよい。
【００４９】
コンピュータデバイス３０２の一つ以上の入力装置３０８は、入力を生成、受信又は処理してもよい。そのような入力は、キーボード、ポインティングデバイス、音声応答システム、ビデオカメラ、ボタン、センサ、生体センサ、モバイル機器、制御パッド、マイクロホン、存在検知スクリーン（ｐｒｅｓｅｎｃｅ−ｓｅｎｓｉｔｉｖｅ  ｓｃｒｅｅｎ）、ネットワーク又は人若しくはマシンからの入力を検出する他の任意のタイプの装置からの入力を含んでもよい。
【００５０】
コンピュータデバイス３０２の一つ以上の出力装置３１０は、出力を生成、受信又は処理してもよい。出力の例は、触覚、オーディオ、ビジュアル及び／又はビデオ出力である。出力装置３１０は、ディスプレイ、サウンドカード、ビデオグラフィックスアダプタカード、スピーカ、存在検知スクリーン、一つ以上のＵＳＢインタフェース、ビデオ及び／又はオーディオ出力インタフェース又は触覚、オーディオ、ビジュアル若しくはビデオ出力を生成することができる他の任意のタイプの装置を有してもよい。出力装置３１０は、液晶ディスプレイ（ＬＥＤ）、ドットマトリクスディスプレイ、発光ダイオード（ＬＥＤ）ディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、陰極線管（ＣＲＴ）ディスプレイ、電子インク又は触覚、オーディオ、ビジュアル及び／又はビデオ出力を生成することができるモノクロ、カラー若しくは他の任意のタイプのディスプレイを含む技術を用いる出力装置として機能することができる表示装置を有してもよい。
【００５１】
コンピュータデバイス３０２の一つ以上の通信部３０６は、データを送信及び／又は受信することによってコンピュータデバイス３０２の外部の装置と通信を行ってもよく、場合によっては、入力装置と出力装置の両方として作動してもよい。一部の例において、通信部３０６は、ネットワークを介して他の装置と通信を行ってもよい。他の例において、通信部３０６は、セルラー式無線ネットワークのような無線ネットワークにおいて無線信号の送信及び／又は受信を行ってもよい。他の例において、コンピュータデバイス３０２の通信部３０６は、全地球測位システム（ＧＰＳ）ネットワークのような衛星ネットワークにおいて衛星信号の送信及び／又は受信を行ってもよい。通信部３０６の例は、（例えば、イーサネット（登録商標）カードのような）ネットワークインタフェースカード、光学送受信機、無線送受信機、ＧＰＳ受信機又は情報の送信及び／又は受信を行うことができる他の任意のタイプの装置を含む。通信部３０６の他の例は、モバイル機器で見つけられるブルートゥース（登録商標）無線機、ＧＰＳ無線機、３Ｇ無線機、４Ｇ無線機、ＬＴＥ無線機、Ｗｉ−Ｆｉ（登録商標）無線機、ユニバーサルシリアルバス（ＵＳＢ）コントローラ等を含んでもよい。本開示の態様によれば、通信部３０６は、データ、例えば、生体サンプルの画像を取得システム３２０から受信してもよい。
【００５２】
コンピュータデバイス３０２の一つ以上のプロセッサ３１２は、コンピュータデバイス３０２に関連する機能を実現する及び／又はコンピュータデバイス３０２に関連する命令を実行する。プロセッサ３１２の例は、マイクロプロセッサ、アプリケーションプロセッサ、ディスプレイコントローラ、補助プロセッサ、一つ以上のセンサハブ及びプロセッサ、処理部又は処理装置として機能するように構成された他の任意のハードウェアを含む。コンピュータデバイス３０２は、コンピュータデバイス３０２に存在する及び／又はコンピュータデバイス３０２で実行するソフトウェア、ハードウェア、ファームウェア又はこれらの混成を用いて本開示の一つ以上の態様に従って動作を実行するために一つ以上のプロセッサ３１２を用いてもよい。
【００５３】
コンピュータデバイス３０２内の一つ以上の記憶装置３１４は、コンピュータデバイス３０２の動作中の処理のための情報を記憶してもよい。一部の例において、一つ以上の記憶装置３１４は、一つ以上の記憶装置の主目的が長期記憶でないことを意味する一時記憶装置である。コンピュータデバイス３０２の記憶装置３１４を、揮発性メモリとして情報の短期記憶を行うとともに動作を停止したときに記憶したコンテンツを保持しないように構成してもよい。揮発性メモリの例は、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）及び従来知られている他の形態の揮発性メモリを含む。記憶装置３１４は、一部の例において、一つ以上のコンピュータ可読記憶媒体も含む。記憶装置３１４を、揮発性メモリが記憶する量よりも多い量の情報を記憶するように構成してもよい。記憶装置３１４を、不揮発性メモリ空間として情報の長期記憶を行うとともにオンオフサイクル後に情報を保持するように構成してもよい。不揮発性メモリの例は、磁気ハードディスク、光ディスク、フロッピーディスク（登録商標）、フラッシュメモリ又は電気的なプログラマブルメモリ（ＥＰＲＯＭ）又は電気的消去可能なプログラマブルメモリ（ＥＥＰＲＯＭ）の形態を含む。記憶装置３１４は、本開示の一つ以上の態様に従って説明したモジュールの一つ以上に関連したプログラム命令及び／又はデータを記憶してもよい。
【００５４】
一つ以上のプロセッサ３１２及び一つ以上の記憶装置３１４は、ソフトウェアとして実現することができるが一部の例においてハードウェア、ファームウェア及びソフトウェアの任意の組合せを含むことができる一つ以上のモジュールに対する動作環境及びプラットフォームを提供してもよい。一つ以上のプロセッサ３１２は命令を実行してもよく、一つ以上の記憶装置３１４は一つ以上のモジュールの命令及び／又はデータを記憶してもよい。プロセッサ３１２及び記憶装置３１４の組合せは、一つ以上のアプリケーション、モジュール又はソフトウェアの命令及び／又はデータを検索、記憶及び／又は実行してもよい。プロセッサ３１２及び／又は記憶装置３１４を、図３の構成要素の一つ以上を含むがそれに限定されない一つ以上の他のソフトウェアコンポーネント及び／又はハードウェアコンポーネントに動作可能に結合してもよい。
【００５５】
記憶装置３１４内に含まれるような図３に示す一つ以上のモジュール（又はここで説明しないモジュール）は、コンピュータデバイス３０２に存在する及び／又はコンピュータデバイス３０２で実行するソフトウェア、ハードウェア、ファームウェア又はその混成を用いることによって上述した動作を実行してもよい。コンピュータデバイス３０２は、複数のプロセッサ又は複数の装置を用いて（一つ以上の）モジュールをそれぞれ実行してもよい。コンピュータデバイス３０２は、内在するハードウェアで実行する仮想マシンとしてそのようなモジュールの一つ以上を実行してもよい。そのようなモジュールの一つ以上を、オペレーティングシステム又はコンピュータプラットフォームの一つ以上のサービスとして実行してもよい。そのようなモジュールの一つ以上を、コンピュータプラットフォームのアプリケーション層の一つ以上の実行可能なプログラムとして実行してもよい。
【００５６】
一つ以上記憶モジュール３１６は、生体情報に従って計算された一つ以上の共有のような情報を、ここで説明する技術に従って記憶してもよい。一部の例において、記憶ノード３１６は、コンピュータ可読データを記憶するローカル記憶部又はリモート記憶部を表してもよい。例えば、記憶ノード３１６は、コンピュータデバイス３０２に物理的に結合されたハードドライブ、フラッシュドライブ、ユニバーサルシリアルバス（ＵＳＢ）デバイス、テープドライブ、ハードドライブ、フロッピーディスク（登録商標）、コンパクトディスク、リムーバブル記憶装置等のいずれか又は全てを表してもよい。プロセッサ３１２及び記憶ノード３１６の組合せは、一つ以上のアプリケーション、モジュール又はソフトウェアの命令及び／又はデータを検索、記憶及び／又は実行する記憶インタフェースとして機能してもよい。プロセッサ３１２及び／又は記憶ノード３１６を、図３に示す構成要素の一つ以上を含むがそれに限定されない一つ以上の他のソフトウェアコンポーネント及び／又はハードウェアコンポーネントに動作可能に結合してもよい。
【００５７】
計算エンジン３１８は、一般的には、本開示の他の箇所で説明するような計算エンジン１２２に関連するタスクを実行してもよい。例えば、計算エンジン３１８に関連する命令の実行は、一つ以上の取得システム３２０から生体情報を受け取るようにコンピュータデバイス３０２を設定してもよい。計算エンジン３１８に関連する命令の実行によって、コンピュータデバイス３０２は、ユーザを認証するためのユーザの生体情報に従ってヘルパーデータを生成する。さらに、計算エンジン３１８に関連する命令の実行によって、コンピュータデバイス３０２は、ユーザの生体情報の従ってユーザの生体情報の複数の秘密共有を生成してもよい。追加的には、計算エンジン３１８に関連する命令の実行によって、コンピュータデバイス３０２は、生体情報の複数の秘密共有の各々を記憶ノード３１６のうちの対応する記憶ノードに記憶させてもよい。さらに、計算エンジン３１８に関連する命令の実行は、生体情報の複数の秘密共有及び安全なプロトコル、安全なマルチパーティプロトコル又は同様な技術に従って新たなヘルパーデータの各共有を生成することを記憶ノード３１６の各々に命令するメッセージを出力することによって生体情報の再登録を行うとともに二つ以上の記憶ノード３１６の各々からの新たなヘルパーデータの各共有に基づいて新たなヘルパーデータを決定するようにコンピュータデバイス３０２を設定してもよく、再登録は、ユーザの追加の又は繰り返しの生体情報なしで生じ、これによって、迅速な再登録となる。
【００５８】
計算エンジン３１８は、コンピュータデバイス３０２の一つ以上のモジュールと情報のやり取りを行ってもよい及び／又はコンピュータデバイス３０２の一つ以上のモジュールと連動してもよい。計算エンジン３１８は、生体情報及び他の入力を受け取ってもよい。計算エンジン３１８は、通信部３０６から生体情報を受け取ってもよい。
【００５９】
図３の取得システム３２０Ａは、電源３２２Ａと、一つ以上の通信部３２４Ａと、一つ以上の入力装置３２６Ａと、一つ以上の出力装置３２８Ａと、一つ以上のプロセッサ３３０Ａと、一つ以上の記憶装置３３２Ａと、一つ以上のセンサ３３４Ａと、を有してもよい。取得システム３２０Ａの装置、モジュール、記憶領域又は構成要素の一つ以上を、（物理的、通信的及び／又は作動的に）構成要素間通信を可能にするために相互接続してもよい。一部の例において、そのような接続を、システムバス、ネットワーク接続、プロセス間通信データ構造又は他の任意のデータ通信方法によって設けてもよい。同様に、取得システム３２０Ｎは、電源３２２Ｎと、一つ以上の通信部３２４Ｎと、一つ以上の入力装置３２６Ｎと、一つ以上の出力装置３２８Ｎと、一つ以上のプロセッサ３３０Ｎと、一つ以上の記憶装置３３２Ｎと、一つ以上のセンサ３３４Ｎと、を有し、これらは、取得システム３２０Ａの同様に番号を付した構成要素と同一又は同様な性能、特徴及び／又は機能を有してもよい。一部の例において、所定の取得システムに対して、一つ以上の取得システム３２０内に含まれるような図３に示す一つ以上の構成要素、装置又はモジュールを任意のものとしてもよい。
【００６０】
取得システム３２０の所定の態様を、取得システム３２０Ａに関連して以下で説明する。他の取得システム３２０を同様に説明することができ、他の取得システム３２０は、同一の、同様な又は対応する構成要素、装置、モジュールを有してもよい又は他の特徴を有してもよい。取得システム３２０Ａに関するここでの説明を一つ以上の他の取得システム３２０に同様に適用することができる。一部の例において、説明するように、一つ以上の取得システム３２０は、他の取得システム３２０より多い又は少ない性能、特徴、構成要素及び／又は機能を有してもよい。
【００６１】
電源３２２Ａは、取得システム３２０Ａの一つ以上の構成要素に電力を供給してもよい。一部の例において、電源３２２Ａをバッテリとしてもよい。他の例において、電源３０４Ａは、ビルディング、住宅、事業拠点又は他の場所の一次側交流（ＡＣ）電源から電力を受け取ってもよい。更に別の例において、取得システム３２０Ａ及び／又は電源３２２Ａは、他のソースから電力を受け取ってもよい。電源３２２Ａは、インテリジェント電力管理又は消費能力を有してもよく、そのような機能を、知的な電力の消費、割当て又は管理を行うために取得システム３２０Ａの一つ以上のモジュールによって及び／又は一つ以上のプロセッサ３３０Ａによって制御、アクセス又は調整してもよい。
【００６２】
取得システム３２０Ａの一つ以上の入力装置３２６Ａは、入力を生成、受信又は処理してもよい。そのような入力は、キーボード、ポインティングデバイス、音声応答システム、ビデオカメラ、ボタン、センサ、生体センサ、モバイル機器、制御パッド、マイクロホン、存在検知スクリーン、ネットワーク又は人若しくはマシンからの入力を検出する他の任意のタイプの装置からの入力を含んでもよい。取得システム３２０Ａの一つ以上の出力装置３２８Ａは、出力を生成、受信又は処理してもよい。出力の例は、触覚、オーディオ、ビジュアル及び／又はビデオ出力である。出力装置３２８Ａは、ディスプレイ、サウンドカード、ビデオグラフィックスアダプタカード、スピーカ、存在検知スクリーン、一つ以上のＵＳＢインタフェース、ビデオ及び／又はオーディオ出力インタフェース又は触覚、オーディオ、ビジュアル若しくはビデオ出力を生成することができる他の任意のタイプの装置を有してもよい。出力装置３２８Ａは、液晶ディスプレイ（ＬＥＤ）、ドットマトリクスディスプレイ、発光ダイオード（ＬＥＤ）ディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、陰極線管（ＣＲＴ）ディスプレイ、電子インク又は触覚、オーディオ、ビジュアル及び／又はビデオ出力を生成することができるモノクロ、カラー若しくは他の任意のタイプのディスプレイを含む技術を用いる出力装置として機能することができる表示装置を有してもよい。一部の例において、取得システム３２０Ａは、一つ以上の入力装置３２６Ａ及び一つ以上の出力装置３２８Ａの両方として動作するユーザインタフェースデバイスとしての役割を果たす存在検知ディスプレイを含んでもよい。
【００６３】
取得システム３２０Ａの一つ以上の通信部３２４Ａは、データを送信及び／又は受信することによって取得システム３２０Ａの外部の装置と通信を行ってもよく、場合によっては、入力装置と出力装置の両方として作動してもよい。一部の例において、通信部３２４Ａは、ネットワークを介して他の装置と通信を行ってもよい。他の例において、通信部３２４Ａは、セルラー式無線ネットワークのような無線ネットワークにおいて無線信号の送信及び／又は受信を行ってもよい。他の例において、取得システム３２０Ａの一つ以上の通信部３２４Ａは、全地球測位システム（ＧＰＳ）ネットワークのような衛星ネットワークにおいて衛星信号の送信及び／又は受信を行ってもよい。通信部３２４Ａの例は、（例えば、イーサネット（登録商標）カードのような）ネットワークインタフェースカード、光学送受信機、無線送受信機、ＧＰＳ受信機又は情報の送信及び／又は受信を行うことができる他の任意のタイプの装置を含む。通信部３２４Ａの他の例は、モバイル機器で見つけられるブルートゥース（登録商標）無線機、ＧＰＳ無線機、３Ｇ無線機、４Ｇ無線機、ＬＴＥ無線機、Ｗｉ−Ｆｉ（登録商標）無線機、ユニバーサルシリアルバス（ＵＳＢ）コントローラ等を含んでもよい。
【００６４】
取得システム３２０Ａの一つ以上のプロセッサ３３０Ａは、取得システム３２０Ａに関連する機能を実現する及び／又は取得システム３２０Ａに関連する命令を実行する。プロセッサ３３０Ａの例は、マイクロプロセッサ、アプリケーションプロセッサ、ディスプレイコントローラ、補助プロセッサ、一つ以上のセンサハブ及びプロセッサ、処理部又は処理装置として機能するように構成された他の任意のハードウェアを含む。取得システム３２０Ａは、取得システム３２０Ａに存在する及び／又は取得システム３２０Ａで実行するソフトウェア、ハードウェア、ファームウェア又はこれらの混成を用いて本開示の一つ以上の態様に従って動作を実行するために一つ以上のプロセッサ３３０Ａを用いてもよい。
【００６５】
取得システム３２０Ａ内の一つ以上の記憶装置３３２Ａは、取得システム３２０Ａの動作中の処理のための情報を記憶してもよい。一部の例において、一つ以上の記憶装置３３２Ａは、一つ以上の記憶装置の主目的が長期記憶でないことを意味する一時記憶装置である。取得システム３２０Ａの記憶装置３３２Ａを、揮発性メモリとして情報の短期記憶を行うとともに動作を停止したときに記憶したコンテンツを保持しないように構成してもよい。揮発性メモリの例は、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）及び従来知られている他の形態の揮発性メモリを含む。記憶装置３３２Ａは、一部の例において、一つ以上のコンピュータ可読記憶媒体も含む。記憶装置３３２Ａを、揮発性メモリが記憶する量よりも多い量の情報を記憶するように構成してもよい。記憶装置３３２Ａを、不揮発性メモリ空間として情報の長期記憶を行うとともにオンオフサイクル後に情報を保持するように構成してもよい。不揮発性メモリの例は、磁気ハードディスク、光ディスク、フロッピーディスク（登録商標）、フラッシュメモリ又は電気的なプログラマブルメモリ（ＥＰＲＯＭ）又は電気的消去可能なプログラマブルメモリ（ＥＥＰＲＯＭ）の形態を含む。記憶装置３３２Ａは、本開示の一つ以上の態様に従って説明したモジュールの一つ以上に関連したプログラム命令及び／又はデータを記憶してもよい。
【００６６】
一つ以上のプロセッサ３３０Ａ及び一つ以上の記憶装置３３２Ａは、ソフトウェアとして実現することができるが一部の例においてハードウェア、ファームウェア及びソフトウェアの任意の組合せを含むことができる一つ以上のモジュールに対する動作環境及びプラットフォームを提供してもよい。一つ以上のプロセッサ３３０Ａは命令を実行してもよく、一つ以上の記憶装置３３２Ａは一つ以上のモジュールの命令及び／又はデータを記憶してもよい。プロセッサ３３０Ａ及び記憶装置３３２Ａの組合せは、一つ以上のアプリケーション、モジュール又はソフトウェアの命令及び／又はデータを検索、記憶及び／又は実行してもよい。プロセッサ３３０Ａ及び／又は記憶装置３３２Ａを、図３の構成要素の一つ以上を含むがそれに限定されない一つ以上の他のソフトウェアコンポーネント及び／又はハードウェアコンポーネントに動作可能に結合してもよい。
【００６７】
図４は、本開示に記載された技術によるコンピュータデバイスの動作の一例を示すフローチャートである。図４の方法を図１のコンピュータデバイス１２０に関連して説明するが、図３のコンピュータデバイス３２０をこの方法又は同様な方法を実施するように構成してもよいことを理解すべきである。
【００６８】
コンピュータデバイス１２０は、生体情報をユーザから受け取る（４０２）。例えば、生体センサ１０４のうちの一つがユーザ１０６から生体サンプルを読み出す。取得システム１０２は、生体情報を受け取るとともに生体情報をコンピュータデバイス１２０に送り出す。コンピュータデバイス１２０の計算エンジン１２２は、生体情報に従ってバイオメトリックテンプレート（例えば、参照用バイオメトリックテンプレート）を構成してもよい。例えば、計算エンジン１２２は、指紋の画像の受け取りに応答して、指紋画像をブロックに分割してもよく、各ブロックは、指紋の画像の一部を有する。計算エンジン１２２は、各ブロックの（他のブロックに関連する）指紋のインディシアの座標及び指紋のインディシアの幾何学的配置（例えば、特定の座標の内在する隆起又は分岐の方向）を決定する。指紋のインディシアのこれらの座標及び幾何学配置を用いることによって、計算エンジン１２２は、バイオメトリックテンプレートを構成する。
【００６９】
コンピュータデバイス１２０の計算エンジン１２２は、生体情報に従ってヘルパーデータを生成してもよい（４０４）。例えば、計算エンジン１２２は、ヘルパーデータを生成するために暗号アルゴリズム、例えば、ファジィ抽出器スキーム、ファジィボールトスキーム又は同様なスキームを用いてもよい。ヘルパーデータを、ユーザを認証する鍵を再構成するためにヘルパーデータが用いられるように鍵とバイオメトリックテンプレートとをバインディングすることによって取得する。
【００７０】
計算エンジン１２２は、共有生成部１２４を介して、生体情報に従って複数の秘密共有を生成する（４０６）。例えば、共有生成部１２４は、バイオメトリックテンプレートの座標及び幾何学配置の各々を、各多項式の零次の係数（例えば、ｐ１（０）＝Ｘ１，ｐ２（０）＝Ｙ１及びｐ３（０）＝Ｏ１）で記憶される整数に変換してもよい。多項式（例えば、ｐ１（ｘ），ｐ２（ｘ）及びｐ３（ｘ））の各々を、バイオメトリックテンプレートの単一の特徴点の整数（例えば、Ｘ１，Ｙ１，Ｏ１）をコード化するのに用いてもよい。共有生成部１２４は、多項式内の値（例えば、特徴点（Ｘ１，Ｙ１，Ｏ１）のＸ１）をコード化するのに用いられる多項式（例えば、ｐ１（ｘ））のｎ点（例えば、ｐ１（１），ｐ２（１），ｐ３（１））の各多項式を評価してもよい。
【００７１】
コンピュータデバイス１２０は、複数の記憶ノード１１０とインタフェースで接続する記憶インタフェースを介して、複数の秘密共有の各々を複数の記憶ノードのうちの対応する記憶ノードに記憶させる（４０８）。一部の例において、コンピュータデバイス１２０は、複数の秘密共有の各々を複数の記憶ノードのうちの対応する記憶ノードに記憶させる際に複数の記憶ノード１１０の接続をオフラインとして設定するために記憶インタフェースを用いてもよい。
【００７２】
計算エンジン１２２は、ユーザの次の生体情報及びヘルパーデータを用いてユーザを認証してもよい（４１０）。例えば、計算エンジン１２２は、ユーザを認証するのに用いられるデジタル鍵を再構成するために、最初の登録中に生成したヘルパーデータを次の生体情報と共に用いる。
【００７３】
セキュリティ違反又は更新がない場合（ステップ４１２のＮｏ分岐）、計算エンジン１２２は、ユーザを認証するのに用いられるデジタル鍵を再構成するために、最初の登録中に生成したヘルパーデータを次の生体情報と共に用い続ける。
【００７４】
セキュリティ違反又は更新の場合（ステップ４１２のＹｅｓ分岐）、計算エンジン１２２は、生体情報の複数の秘密共有に従って新たなヘルパーデータの各共有を生成するために複数の記憶ノードの各々に命令する複数のメッセージを出力すること（４１４）、複数の記憶ノードのうちの二つ以上の記憶ノードから新たなヘルパーデータの各共有を受け取ること（４１６）及びユーザの次の認証のために二つ以上の記憶ノードの各々からの新たなヘルパーデータの各共有に基づいて新たなヘルパーデータを決定する（４１８）ことによって生体情報の再登録を行う。このようにして、コンピュータデバイス１２０は、対応する記憶ノードからの新たなヘルパーデータの各共有を検索するために記憶インタフェースを用いることができ、その結果、コンピュータデバイス１２０は、ユーザの元の生体情報を復元又は再使用する必要なく、かつ、ユーザの追加の又は繰り返しの生体情報を再取得する必要なく新たなヘルパーデータの各共有に基づいて新たなヘルパーデータを決定することができる。再登録動作に関する更なる詳細を、図５に関連して以下で説明する。
【００７５】
図５は、本開示に記載された技術による再登録動作の一例を更に詳しく示すフローチャートである。図５の例を図１の記憶ノード１１０Ａ及び１１０Ｂに関連して説明するが、図５の例は、図１の二つ以上の記憶ノード１１０を有してもよい。
【００７６】
図５の例において、コンピュータデバイス１２０は、生体情報の複数の秘密共有及び安全なプロトコル又は同様な技術に従って新たなヘルパーデータの各共有を生成することを複数の記憶ノード（例えば、記憶ノード１１０Ａ及び１１０Ｂ）の各々に命令する複数のメッセージを出力してもよい（５０２）。一部の例において、コンピュータデバイス１２０は、再登録を行うときに記憶ノード１１０Ａ及び１１０Ｂの接続をオンラインとして自動的に設定するために記憶インタフェースを用いてもよい。コンピュータデバイス１２０は、記憶ノード１１０Ａ及び１１０Ｂがオンラインになることに応答して、メッセージハンドラ１２８を介して複数のメッセージを記憶ノード１１０Ａ及び１１０Ｂに出力してもよく、記憶ノード１１０Ａ及び１１０Ｂは、新たなヘルパーデータの各共有の各々を生成してもよい。
【００７７】
記憶ノード１１０Ａ及び１１０Ｂは、メッセージ（５０４Ａ及び５０４Ｂ）を受信してもよく、他の記憶ノードとの通信を介して新たなヘルパーデータの各共有を生成してもよい。例えば、記憶ノード１１０Ａは、記憶ノード１１０Ａに記憶された秘密共有に従って新たなヘルパーデータの共有を生成してもよい（５０６Ａ）。記憶ノード１１０Ｂは、記憶ノード１１０Ｂに記憶された秘密共有に従って新たなヘルパーデータの共有を生成してもよい（５０６Ｂ）。例えば、記憶ノード１１０Ａ，１１０Ｂは、秘密共有された生体認証を再構成しないとともに新たなヘルパーデータ共有１１４を生成することなく安全に分散した手法でファジィ抽出器スキームの生成関数を計算するために加算及び乗算のような一連の動作を行うようにそれぞれ命令されてもよい。
【００７８】
記憶ノード１１０Ａ及び１１０Ｂは、新たなヘルパーデータの各共有をコンピュータデバイス１２０に送り出してもよい（５０８Ａ及び５０８Ｂ）。例えば、記憶ノード１１０Ａ及び１１０Ｂは、新たなヘルパーデータの各共有を有するメッセージをコンピュータデバイス１２０に送り出してもよい。このようにして、記憶ノード１１０Ａ及び１１０Ｂに記憶された生体情報の秘密共有は、再登録のために新たなヘルパーデータを生成するときに明らかにならない。
【００７９】
コンピュータデバイス１２０は、新たなヘルパーデータの各共有を受け取ってもよい（５１０）。例えば、コンピュータデバイス１２０は、記憶ノード１１０Ａ及び１１０Ｂからの新たなヘルパーデータの各共有を受け取るために記憶インタフェースを用いてもよい。一部の例において、コンピュータデバイス１２０は、記憶ノード１１０Ａ及び１１０Ｂからの新たなヘルパーデータの各共有を受け取ったことに応答して記憶ノード１１０Ａ及び１１０Ｂをオフラインとして設定するために記憶インタフェースを用いてもよい。
【００８０】
コンピュータデバイス１２０は、ユーザの次の認証のために記憶ノード１１０Ａ及び１１０Ｂからの新たなヘルパーデータの各共有に基づいて新たなヘルパーデータを決定してもよい。例えば、コンピュータデバイス１２０の計算エンジン１２２は、新たなヘルパーデータをコード化する新たな多項式を復元するために記憶ノード１１０Ａ及び１１０Ｂからの新たなヘルパーデータの各共有を組み合わせてもよい（５１２）。計算エンジン１２２は、新たなヘルパーデータとして用いる多項式の係数を生成するために、復元された多項式に補間を適用してもよい（５１４）。
【００８１】
例に応じて、ここで説明した技術のいずれかの所定の動作又はイベントを異なる順番で行うことができ、追加、併合又は完全に省略してもよいことを認識すべきである（例えば、説明した動作又はイベントの全てが技術の実現に必要とは限らない。）。さらに、所定の例において、動作又はイベントを、例えば、マルチスレッド処理、割込み処理又は複数のプロセッサによって、順次ではなく同時に行ってもよい。
【００８２】
一つ以上の例において、説明した機能を、ハードウェア、ソフトウェア、ファームウェア又はその組合せで実現してもよい。ソフトウェアで実現する場合、機能を、一つ以上の命令又はコードとしてコンピュータ可読媒体に記憶又は送信するとともにハードウェアベースの処理部によって実行してもよい。コンピュータ可読媒体は、データ記憶媒体のような有形的表現媒体に対応するコンピュータ可読媒体又は、例えば、通信プロトコルに従ってある場合から他の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体を含んでもよい。したがって、コンピュータ可読媒体は、一般的には、（１）非一時である有形的表現のコンピュータ可読媒体又は（２）信号若しくは搬送波のような通信媒体に対応してもよい。データ記憶媒体を、本開示に記載された技術の実現の際に命令、コード及び／又はデータ構造を検索するために一つ以上のコンピュータ又は一つ以上の処理回路によってアクセスすることができるあらゆる利用可能な媒体としてもよい。コンピュータプログラム製品は、コンピュータ可読媒体を含んでもよい。
【００８３】
例として、そのようなコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ若しくは他の光ディスク、磁気ディスク若しくは他の磁気記憶装置、フラッシュメモリ、キャッシュメモリ又は命令若しくはデータ構造の形式で所望のプログラムコードを記憶するのに用いることができるとともにコンピュータによってアクセスすることができる他の任意の媒体を備えることができるが、それに限定されない。また、任意の接続をコンピュータ可読媒体と適切に称する。例えば、命令が、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線（ＤＳＬ）又は赤外線、無線及びマイクロ波のような無線技術を用いてウェブサイト、サーバ又は他のリモートソースから送信する場合、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線（ＤＳＬ）又は赤外線、無線及びマイクロ波のような無線技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読媒体及びデータ記憶媒体は、接続、搬送波、信号又は他の一時的媒体を含まないが、非一時有形的表現記憶場依頼を対象とする。ここで用いるディスクは、コンパクトディスク（ｃｏｎｐａｃｔ  ｄｉｓｃ）（ＣＤ）、レーザディスク（ｌａｓｅｒ  ｄｉｓｃ）、光ディスク（ｏｐｔｉｃａｌ  ｄｉｓｃ）、デジタル多用途ディスク（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｃ）（ＤＶＤ）フロッピーディスク（ｆｌｏｐｐｙ  ｄｉｓｋ）（登録商標）及びブルーレイディスク（登録商標）（Ｂｌｕｅ−ｒａｙ  ｄｉｓｃ（登録商標））を含み、ディスク（ｄｉｓｋ）は、通常、データを機械的に再生し、それに対し、ディスク（ｄｉｓｃ）は、レーザを用いることによってデータを光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【００８４】
本開示で説明した機能を、固定された機能及び／又はプログラマブル処理回路によって実現してもよい。例えば、命令を、固定された機能及び／又はプログラマブル処理回路によって実行してもよい。そのような処理回路は、一つ以上のデジタルシグナルプロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＣＡ）又は他の等価な集積若しくは個別論理回路のような一つ以上のプロセッサを有してもよい。したがって、ここで用いる用語「プロセッサ」は、上述した構造とここで説明する技術の実現に適切な他の任意の構造のいずれかを意味する。さらに、一部の態様において、ここで説明する機能を、エンコーディング及びデコーディングのために構成された又は複合コーデック（ｃｏｍｂｉｎｅｄ  ｃｏｄｅｃ）で組み込まれた専用ハードウェア及び／又はソフトウェア内に設けてもよい。また、技術を、一つ以上の回路又は論理素子で十分に実現することができる。処理回路を種々の方法で他の構成要素に結合してもよい。例えば、処理回路を、内部装置相互接続、有線若しくは無線ネットワーク接続又は他の通信媒体を介して他の構成要素に結合してもよい。
【００８５】
本開示の技術を、携帯電話、集積回路（ＩＣ）又はＩＣのセット（例えば、チップセット）を含む多様なデバイス又は装置で実現することができる。種々の構成要素、モジュール又はユニットを、開示した技術を実現するために構成されたデバイスの機能的な態様を強調するために説明したが、異なるハードウェアユニットによって実現する必要はない。
【００８６】
種々の例を説明した。これら及び他の例は、特許請求の範囲内にある。
【図１】
2019185781.tif 000006
【図２Ａ】
2019185781.tif 000007
【図２Ｂ】
2019185781.tif 000008
【図２Ｃ】
2019185781.tif 000009
【図３】
2019185781.tif 000010
【図４】
2019185781.tif 000011
【図５】
2019185781.tif 000012
【外国語明細書】
2019185781000001.pdf