(57)【要約】      （修正有）【課題】ユーザの生体計測情報の収集と機密性の保護。【解決手段】生体計測認証システムは、基準生体計測テンプレート（ＲＢＴ）リーダ、オーセンティケータ、及び補助システムを含む。最初の登録プロセスにおいて、ＲＢＴリーダは、ユーザーから生体計測を取得し、ＲＢＴに変換し、ＲＢＴの異なるシェアをオーセンティケータ及び補助システムに提供する。オーセンティケータ及び補助システムは、ヘルパーデータの個々のシェアを生成し、秘密キーをヘルパーデータのそれぞれの個々のシェア内において埋め込むべく、非可換変換関数を使用する。補助システムは、ヘルパーデータのそのシェアをオーセンティケータに提供する。オーセンティケータは、フルバージョンのヘルパーデータを生成するべく、ヘルパーデータのそのシェアを補助システムによって提供されたシェアと組み合わせる。【選択図】図４
2019205157.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
生体計測認証システムのオーセンティケータにより、生体計測センサから基準生体計測テンプレート（ＲＢＴ）の第１シェアを受け取るステップと、
前記オーセンティケータにより、第１秘密キーを生成するステップであって、前記第１秘密キーは、前記第１秘密キーの第１シェア及び前記第１秘密キーの第２シェアを有する、ステップと、
前記オーセンティケータにより、第２秘密キーの第１シェアを受け取るステップと、
前記オーセンティケータにより、前記第１秘密キーの前記第１シェア及び前記第２秘密キーの前記第１シェアから第１多項式を判定するステップと、
前記オーセンティケータにより、少なくとも部分的に、前記第１多項式及び前記基準生体計測テンプレートの前記第１シェアに基づいて、第１ヘルパーデータの第１シェアを生成するステップと、
前記オーセンティケータにより、前記第１ヘルパーデータの第２シェアを受け取るステップと、
前記オーセンティケータにより、前記第１ヘルパーデータの前記第１シェア及び前記第１ヘルパーデータの前記第２シェアから前記第１ヘルパーデータを生成するステップと、
前記オーセンティケータにより、前記基準生体計測テンプレートと関連するユーザーを認証する際に使用されるべく、前記第１秘密キー及び前記第１ヘルパーデータをストレージ装置内において保存するステップと、
を有し、
前記基準生体計測テンプレートは、前記第１秘密キー及び前記第１ヘルパーデータの明らかな形態を使用することにより、回復することができない、方法。
【請求項２】
前記オーセンティケータにより、前記第１ヘルパーデータの前記第１シェアを生成する前記ステップは、非可換変換関数を利用することにより、前記第１ヘルパーデータの前記第１シェアを生成するステップを有する請求項１に記載の方法。
【請求項３】
前記非可換変換関数は、ファジーボールトの非可換生成関数を有する請求項２に記載の方法。
【請求項４】
補助システムにより、前記生体計測センサから、前記基準生体計測テンプレートの第２シェアを受け取るステップと、
前記補助システムにより、第２秘密キーを生成するステップであって、前記第２秘密キーは、前記第２秘密キーの前記第１シェア及び前記第２秘密キーの第２シェアを有する、ステップと、
前記補助システムにより、前記第２秘密キーの前記第１シェアを前記オーセンティケータに提供するステップと、
前記補助システムにより、前記第１秘密キーの前記第２シェアを受け取るステップと、
前記補助システムにより、前記第１秘密キーの前記第２シェア及び前記第２秘密キーの前記第２シェアから第２多項式を判定するステップと、
前記補助システムにより、少なくとも部分的に、前記第２多項式及び前記基準生体計測テンプレートの前記第２シェアに基づいて、前記第１ヘルパーデータの前記第２シェアを生成するステップと、
前記補助システムにより、前記第１ヘルパーデータの前記第２シェアを前記オーセンティケータに提供するステップと、
を更に有する請求項１に記載の方法。
【請求項５】
前記補助システムにより、前記第１ヘルパーデータの前記第２シェアを生成する前記ステップは、非可換変換関数を利用することにより、前記第１ヘルパーデータの前記第２シェアを生成するステップを有する請求項４に記載の方法。
【請求項６】
前記非可換変換関数は、ファジーボールトの非可換生成関数を有する請求項５に記載の方法。
【請求項７】
ＲＢＴリーダにより、生体計測サンプルから第２基準生体計測テンプレートを生成するステップと、
ユーザー識別（ＵＩＤ）を前記オーセンティケータに提供するステップと、
前記ＲＢＴリーダにより、前記オーセンティケータから前記ＵＩＤと関連する前記第１ヘルパーデータを受け取るステップと、
前記ＲＢＴリーダにより、少なくとも部分的に、前記第２基準生体計測テンプレート及び前記第１ヘルパーデータに基づいて、前記第１秘密キーを判定するステップと、
前記オーセンティケータにより、前記ＲＢＴリーダが前記第１秘密キーを正しく判定したことを判定するステップと、
を更に有する請求項１に記載の方法。
【請求項８】
前記オーセンティケータにより、前記ＲＢＴリーダが前記第１秘密キーを正しく判定したことを判定する前記ステップは、前記ＲＢＴリーダが、前記第１秘密キーに従って判定されたチャレンジデータに対する正しい応答を提供したことを判定するステップを有する請求項７に記載の方法。
【請求項９】
再登録対象のＵＩＤを受け取るステップと、
前記オーセンティケータにより、第３秘密キーを生成するステップであって、前記第３秘密キーは、前記第３秘密キーの第１シェア及び前記第３秘密キーの第２シェアを有する、ステップと、
補助システムにより、第４秘密キーを生成するステップであって、前記第４秘密キーは、前記第４秘密キーの第１シェア及び前記第４秘密キーの第２シェアを有する、ステップと、
前記オーセンティケータにより、前記補助システムから前記第４秘密キーの前記第１シェアを受け取るステップと、
前記オーセンティケータにより、前記第３秘密キーの前記第１シェア及び前記第４秘密キーの前記第１シェアから第３多項式を判定するステップと、
前記オーセンティケータにより、前記ＵＩＤに基づいて、前記基準生体計測テンプレートの前記第１シェアを取得するステップと、
前記オーセンティケータにより、少なくとも部分的に、前記第３多項式及び前記基準生体計測テンプレートの前記第１シェアに基づいて第２ヘルパーデータの第１シェアを生成するステップと、
前記補助システムにより、前記オーセンティケータから前記第３秘密キーの前記第２シェアを受け取るステップと、
前記補助システムにより、前記第３秘密キーの前記第２シェア及び前記第４秘密キーの前記第２シェアから第４多項式を判定するステップと、
前記補助システムにより、前記ＵＩＤに基づいて、前記基準生体計測テンプレートの前記第２シェアを取得するステップと、
前記補助システムにより、少なくとも部分的に、前記第４多項式及び前記基準生体計測テンプレートの前記第２シェアに基づいて、前記第２ヘルパーデータの第２シェアを生成するステップと、
前記補助システムにより、前記第２ヘルパーデータの前記第２シェアを前記オーセンティケータに提供するステップと、
前記オーセンティケータにより、前記ユーザーを再登録するべく、前記第２ヘルパーデータの前記第１シェア及び前記第２ヘルパーデータの前記第２シェアから前記第２ヘルパーデータを生成するステップと、
前記オーセンティケータにより、前記第３秘密キー及び前記第２ヘルパーデータを前記ストレージ装置内において保存するステップと、
を更に有する請求項１に記載の方法。
【請求項１０】
演算システムにより、第１秘密キーシェア及び第１データセットを受け取るステップと、
前記演算システムにより、第２秘密キーシェアを均一にランダムに生成するステップと、
前記演算システムにより、前記第１秘密キーシェア及び前記第２秘密キーシェアに基づいて秘密キーを生成するステップと、
前記演算システムのファジーボールト生成関数により、少なくとも部分的に、前記秘密キー及び前記第１データセットに基づいて、ヘルパーデータを生成するステップであって、前記ヘルパーデータは、前記第１データセットと関連するユーザーを認証する際に使用される、ステップと、
を有する方法。
【請求項１１】
前記演算システムの前記ファジーボールト生成関数により、前記ヘルパーデータを生成するステップは、
前記演算システムにより、多項式の係数を生成するステップであって、前記係数は、前記秘密キーに基づいている、ステップと、
前記演算システムにより、ポイントの第１リストを生成するべく、前記第１データセット内のデータポイントについて前記多項式を評価するステップと、
前記演算システムにより、ランダムに生成されたポイントの第２リストを生成するステップと、
マージされたリストを生成するべく、前記演算システムにより、前記ポイントの第１リストと前記ランダムに生成されたポイントの第２リストをマージするステップと、
前記演算システムにより、前記マージされたリストのオブリビアスシャフリングを実行するステップと、
前記演算システムにより、前記シャフリングされたマージ済みのリストを前記ヘルパーデータに内蔵するステップと、
を有する請求項１０に記載の方法。
【請求項１２】
前記演算システムにより、前記多項式を評価するステップは、安全な２パーティ演算を使用することにより、前記多項式を評価するステップを有する請求項１１に記載の方法。
【請求項１３】
前記演算システムにより、前記マージされたリストのオブリビアスシャフリングを実行するステップは、安全な２パーティ演算によって提供された値に基づいて前記マージされたリスト内の２つのエントリをスワップするべく判定するステップを有する請求項１１に記載の方法。
【請求項１４】
前記演算システムにより、ヘルパーデータ及び第２データセットを受け取るステップと、
前記演算システムのファジーボールトオープン関数により、少なくとも部分的に、前記ヘルパーデータ及び前記第２データセットに基づいて出力係数の組を判定するステップと、
前記演算システムの前記ファジーボールトオープン関数により、少なくとも部分的に、前記出力係数の組の第１厳格サブセットに基づいて出力秘密キーを判定するステップと、
を更に有する請求項１０に記載の方法。
【請求項１５】
前記第１厳格サブセットは、前記第１秘密キーシェアに対応する係数を有しており、且つ、前記第２秘密キーシェアに対応する前記出力係数の組の第２厳格サブセットは、前記出力秘密キーを判定するべく使用されない請求項１４に記載の方法。
【請求項１６】
生体計測認証システムであって、
補助サービスを有し、
前記補助サービスは、
生体計測センサから基準生体計測テンプレートの第１シェアを受け取り、
第１秘密キーを生成し、前記第１秘密キーは、前記第１秘密キーの第１シェア及び前記第１秘密キーの第２シェアを有し、
第２秘密キーの第１シェアを受け取り、
前記第１秘密キーの前記第１シェア及び前記第２秘密キーの前記第１シェアから第１多項式を判定し、
少なくとも部分的に、前記第１多項式及び前記基準生体計測テンプレートの前記第１シェアに基づいて第１ヘルパーデータの第１シェアを生成し、前記第１ヘルパーデータは、前記基準生体計測テンプレートと関連するユーザーを認証する際に使用される、
ように構成されている、システム。
【請求項１７】
前記生体計測センサから前記基準生体計測テンプレートの第２シェアを受け取り、
第２秘密キーを生成し、前記第２秘密キーは、前記第２秘密キーの第１シェア及び前記第２秘密キーの第２シェアを有し、
補助システムから、前記第２秘密キーの前記第２シェアを受け取り、
前記第１秘密キーの前記第２シェア及び前記第２秘密キーの前記第２シェアから第２多項式を判定し、
少なくとも部分的に、前記第２多項式及び前記基準生体計測テンプレートの前記第２シェアに基づいて前記第１ヘルパーデータの第２シェアを生成し、
前記補助システムから、前記第１ヘルパーデータの前記第１シェアを受け取り、
前記第１ヘルパーデータの前記第１シェア及び前記第１ヘルパーデータの前記第２シェアから前記第１ヘルパーデータを生成し、且つ、
前記第２秘密キー及び前記第１ヘルパーデータをストレージ装置内において保存する、
ように構成されたオーセンティケータを更に有し、
前記基準生体計測テンプレートは、前記第２秘密キー及び前記第１ヘルパーデータの明らかな形態を使用することによって回復することができない請求項１６に記載のシステム。
【請求項１８】
前記生体計測センサを内蔵するＲＢＴリーダを更に有し、前記ＲＢＴリーダは、
前記生体計測センサを介して取得された生体計測サンプルから第２基準生体計測テンプレートを生成し、
前記オーセンティケータから前記第１ヘルパーデータを受け取り、且つ、
少なくとも部分的に、前記第２基準生体計測テンプレート及び前記第１ヘルパーデータに基づいて前記第２秘密キーを判定する、
ように構成されており、
前記オーセンティケータは、前記ＲＢＴリーダが前記第２秘密キーを正しく判定したことを判定するように更に構成されている請求項１６に記載のシステム。
【請求項１９】
前記基準生体計測テンプレートは、ユーザーの生体計測情報に従って判定され、且つ、前記補助システムは、前記ユーザーによって制御された装置上において提供されたサービスを有する請求項１６に記載のシステム。
【請求項２０】
前記オーセンティケータは、クラウドに基づいたシステム上において提供されたサービスを有する請求項１６に記載のシステム。
【請求項２１】
生体計測認証システムであって、
第１生体計測センサを有する第１ＲＢＴリーダを有し、
前記第１ＲＢＴリーダは、
前記第１生体計測センサを介して取得された第１生体計測サンプルから認証基準生体計測テンプレートを生成し、
前記オーセンティケータから、ヘルパーデータを受け取り、前記ヘルパーデータは、オーセンティケータによって判定された第１シェアと、補助システムによって判定された第２シェアと、を有し、且つ、
少なくとも部分的に、前記認証基準生体計測テンプレート及び前記ヘルパーデータに基づいて秘密キーを判定し、前記秘密キーは、前記ヘルパーデータ内にエンコードされた多項式の係数の厳格なサブセットに従って判定される、
ように構成されており、
前記オーセンティケータは、前記第１ＲＢＴリーダが前記秘密キーを正しく判定したことを判定するように更に構成されている、システム。
【請求項２２】
第２生体計測センサを有する第２ＲＢＴリーダを更に有し、前記第２ＲＢＴリーダは、
前記第２生体計測センサを介して取得された第２生体計測サンプルから登録基準生体計測テンプレートを生成し、
前記登録基準生体計測テンプレートの第１シェア及び前記登録基準生体計測テンプレートの第２シェアを生成し、
前記第１登録生体計測テンプレートの前記第１シェアを前記オーセンティケータに提供し、且つ、
前記登録基準生体計測テンプレートの前記第２シェアを前記補助システムに提供する、
ように構成されている請求項２１に記載の生体計測認証システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０１８年４月４日付けで出願された米国特許出願第１５／９４５，５５９号の一部継続であると共に、その優先権の利益を主張するものであり、この特許文献の内容は、引用により、そのすべてが本明細書に包含される。
【０００２】
本開示は、テンプレートのプライバシー及び非対話型の再登録を提供する、生体計測に基づいた認証に関する。
【背景技術】
【０００３】
例えば、生体計測に基づいた識別、認証、及びアクセス制御（ＢＩＡＡ：Ｂｉｏｍｅｔｒｉｃｓ−ｂａｓｅｄ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ，  Ａｕｔｈｎｔｉｃａｔｉｏｎ  ａｎｄ  Ａｃｃｅｓｓ  ｃｏｎｔｒｏｌ）システムなどの、認証システムは、物理的又は仮想的な環境に対する安全なアクセス及び権限をユーザーに提供するかどうかを判定するべく、ユーザーの生体計測情報を処理及び分析している。これらの認証システムのユーザーの最初の使用の際には、認証システムが、通常、ユーザーの生体計測情報を「登録（ｅｎｒｏｌｌ）」している（即ち、処理及び保存している）。例えば、認証システムは、ユーザーの生体計測情報の基準である、ユーザーの生体計測サンプルのテンプレート（「生体計測テンプレート」又は「基準生体計測テンプレート（ＲＢＴ：Ｒｅｆｅｒｅｎｃｅ  Ｂｉｏｍｅｔｒｉｃ  Ｔｅｍｐｌａｔｅ）と呼称される）を処理及び保存することができる。保存されたＲＢＴは、ユーザーを認証するために、ユーザーの後続の生体計測サンプルと比較するべく、使用される。但し、セキュリティ侵害の場合に、ＲＢＴは、危険に晒される場合があり、且つ、認証システムを回避するべく使用される場合がある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
いくつかの従来の認証システムは、一般に、ユーザーを認証するべく使用される情報を意味する、所謂「ヘルパーデータ」を生成するべく、暗号アルゴリズムを使用している。これらの従来の認証システムにおいては、ヘルパー情報は、通常、ユーザーの生体計測情報から演算されており、且つ、オリジナルの生体計測情報のうちのいずれの情報も認証システム内において保存されないことを保証するべく、ＲＢＴの代わりに保存されている。セキュリティ侵害又は更新の場合に、これらの従来の認証システムは、新しいヘルパーデータを生成するべく、ユーザーの更なる又は再度の生体計測情報を収集する必要があり、その理由は、オリジナルの生体計測情報が保存されていないからである。但し、多数のユーザーを有する施設又はセキュリティドメインにおいては、ユーザーのオリジナルの、又は新しい、生体計測の収集は、面倒な手作業によるプロセスであり、或いは、場合によっては、実際的ではないプロセスである。
【０００５】
これに加えて、大規模なＢＩＡシステムは、通常、明らかな形態において、数千人の（或いは、場合によっては、数百万人の）ユーザーのＲＢＴを保存している。この背後にある理由の１つは、安全なパスワード保存のための標準的なメカニズム（例えば、ソルテッドハッシュ化）が同一の生体計測の２つの読取りとマッチングしえない、という点にあり、その理由は、同一の生体計測の２つのサンプルは、サンプリングノイズに起因して互いにわずかに異なっているからである。これに加えて、安定した生体計測（例えば、指紋及び虹彩）は、人物の寿命にわたって変化しない傾向を有する。従って、任意の時点におけるユーザーの生体計測の漏洩は、漏洩された生体計測を使用しているすべての認証システムのセキュリティに影響を及ぼす可能性がある。従って、ＲＢＴの機密性の保護は、最大の重要性を有しうる。
【課題を解決するための手段】
【０００６】
一般に、本開示は、テンプレートのプライバシーを促進すると共に非対話型の再登録を可能にする、安全な生体計測に基づいた識別及び認証（ＢＩＡ）用の技法について記述している。記述されている技法を使用した頻繁に実行される動作は、通常は両方の要件を充足するべく少なくとも３つのパーティを伴っている以前のシステムとは異なって、２つのパーティのみを伴いうる。ＢＩＡシステムは、基準生体計測テンプレート（ＲＢＴ）リーダ、オーセンティケータ、及び補助システムを含むことができる。いくつかの例においては、最初の登録プロセスにおいて、ＲＢＴリーダは、生体計測をユーザーから取得し、生体計測をＲＢＴに変換し、且つ、ＲＢＴの異なるシェアをオーセンティケータ及び補助システムに提供している。オーセンティケータ及び補助システムは、再登録が望ましい場合に後で使用するべく、ＲＢＴのそれぞれの個々のシェアを永続的に保存している。オーセンティケータ及び補助システムは、ヘルパーデータの個々のシェアを生成している。１つ又は複数の態様において、オーセンティケータ及び補助システムは、秘密キーをヘルパーデータのそれぞれの個々のシェア内において埋め込むべく、非可換変換関数を使用している。補助システムは、ヘルパーデータのそのシェアをオーセンティケータに提供している。次いで、オーセンティケータは、フルバージョンのヘルパーデータを生成するべく、ヘルパーデータのそのシェアを補助システムによって提供されたシェアと組み合わせている。この初期登録プロセスは、ＢＩＡシステムのすべての３つのパーティが関与する唯一の時間でありうる。
【０００７】
いくつかの例においては、認証プロセスの一部分として、ＲＢＴリーダは、生体計測をユーザーから取得し、且つ、生体計測から、異なる基準生体計測テンプレートＲＢＴ’を生成している。ＲＢＴリーダは、ヘルパーデータをオーセンティケータから取得し、且つ、ヘルパーデータからの秘密キーの抽出を試みるべく、ヘルパーデータ及びＲＢＴを使用している。次いで、オーセンティケータは、ＲＢＴリーダが、ＲＢＴを使用することにより、ヘルパーデータから正しい秘密キーを成功裏に抽出できたかどうかを判定することにより、ユーザーの信憑性を判定することができる。
【０００８】
いくつかの例においては、再登録の一部分として、オーセンティケータ及び補助システムは、新しい秘密キーを生成すると共に初期登録プロセスにおいて取得されたＲＢＴのそれぞれの個々の保存されたシェアを使用して新しい秘密キーをヘルパーデータのそれぞれのシェアに埋め込むことにより、ヘルパーデータの個々の新しいシェアを生成している。補助システムは、新しいヘルパーデータのそのシェアをオーセンティケータに提供している。次いで、オーセンティケータは、フルバージョンの新しいヘルパーデータを生成するべく、新しいヘルパーデータのそのシェアを補助システムによって提供されたシェアと組み合わせている。
【０００９】
オーセンティケータ及び補助システムは、秘密キーをヘルパーデータのそれぞれの個々のシェア内に埋め込むべく、非可換変換を使用することができる。１つ又は複数の態様においては、非可換ファジーボールト（ｎｃＦＶ：ｎｏｎ−ｃｏｍｍｕｔａｔｉｖｅ  Ｆｕｚｚｙ  Ｖａｕｌｔ）が非可換変換を提供している。非可換ファジーボールトは、例えば、安全な２パーティ演算（２ＰＣ：ｔｗｏ−Ｐａｒｔｙ  Ｃｏｍｐｕｔａｔｉｏｎ）を使用して実装されたオブリビアスシャフリング（ｏｂｌｉｖｉｏｕｓ  ｓｈｕｆｆｌｉｎｇ）の機能を使用することにより、分散された安全な方式により、実現することができる。
【００１０】
例示用の一態様においては、方法は、生体計測認証システムのオーセンティケータにより、生体計測センサから、ＲＢＴの第１シェアを受け取るステップと、オーセンティケータにより、第１秘密キーを生成するステップであって、第１秘密キーは、第１秘密キーの第１シェア及び第１秘密キーの第２シェアを有する、ステップと、オーセンティケータにより、第２秘密キーの第１シェアを受け取るステップと、オーセンティケータにより、第１秘密キーの第１シェア及び第２秘密キーの第１シェアから第１多項式を判定するステップと、オーセンティケータにより、少なくとも部分的に、第１多項式及び基準生体計測テンプレートの第１シェアに基づいて、第１ヘルパーデータの第１シェアを生成するステップと、オーセンティケータにより、第１ヘルパーデータの第２シェアを受け取るステップと、オーセンティケータにより、第１ヘルパーデータの第１シェア及び第１ヘルパーデータの第２シェアから第１ヘルパーデータを生成するステップと、オーセンティケータにより、基準生体計測テンプレートと関連するユーザーを認証する際に使用されるべく、第１秘密キー及び第１ヘルパーデータをストレージ装置内において保存するステップと、を有しており、この場合に、基準生体計測テンプレートは、第１秘密キー及び第１ヘルパーデータの明らかな形態を使用することにより、回復することができない。
【００１１】
別の例示用の態様においては、方法は、演算システムにより、第１秘密キーシェア及び第１データセットを受け取るステップと、演算システムにより、第２秘密キーシェアを均一にランダムに生成するステップと、演算システムにより、第１秘密キーシェア及び第２秘密キーシェアに基づいて秘密キーを生成するステップと、演算システムのファジーボールト（ＦＶ）生成関数により、少なくとも部分的に、秘密キー及び第１データセットに基づいて、ヘルパーデータを生成するステップと、を含み、ヘルパーデータは、第１データセットと関連するユーザーを認証する際に使用される。
【００１２】
更なる例示用の態様においては、生体計測認証システムは、生体計測センサから、基準生体計測テンプレートの第１シェアを受け取り、第１秘密キーを生成し、第１秘密キーは、第１秘密キーの第１シェア及び第１秘密キーの第２シェアを有し、第２秘密キーの第１シェアを受け取り、第１秘密キーの第１シェア及び第２秘密キーの第１シェアから第１多項式を判定し、且つ、少なくとも部分的に、第１多項式及び基準生体計測テンプレートの第１シェアに基づいて、第１ヘルパーデータの第１シェアを生成する、ように構成された補助サービスを有しており、この場合に、第１ヘルパーデータは、基準生体計測テンプレートと関連するユーザーを認証する際に使用される。
【００１３】
更なる例示用の態様においては、生体計測認証システムは、第１生体計測センサを有する第１ＲＢＴリーダを有しており、第１ＲＢＴリーダは、第１生体計測センサを介して取得された第１生体計測サンプルから認証基準生体計測テンプレートを生成し、オーセンティケータからヘルパーデータを受け取り、この場合に、ヘルパーデータは、オーセンティケータによって判定された第１シェア及び補助システムによって判定された第２シェアを有しており、且つ、少なくとも部分的に、認証基準生体計測テンプレート及びヘルパーデータに基づいて、秘密キーを判定する、ように構成されており、この場合に、秘密キーは、ヘルパーデータ内にエンコードされた多項式の係数の厳格なサブセットに従って判定され、この場合に、オーセンティケータは、第１ＲＢＴリーダが秘密キーを正しく判定したことを判定するように更に構成されている。
【００１４】
技法は、１つ又は複数の利点を提供することができる。例えば、従来のＦＶ実装形態に伴う技術的問題点は、それらが可換性を有しうるという点にある。従って、従来のＦＶ構造においては、適切なＲＢＴを提供することにより、秘密キーがヘルパーデータから取得されうるのみならず、逆も又真であり、秘密キー及びヘルパーデータを有することにより、ＲＢＴを導出することができる。このプロパティは、入力可換性と呼称される。これは、ヘルパーデータ及び秘密キーの両方の保存が望ましいシステムにおける技術的問題であり、その理由は、その結果、ユーザーのＲＢＴの回復が許容されうるからであり、その結果、すべてのパーティは、後からユーザーを装うことが可能となりうる。この問題点に対する技術的解決策として、１つ又は複数の態様は、非可換ＦＶ（ｎｃＦＶ）と呼称される、変更されたＦＶアルゴリズムの実装形態を利用している。ｎｃＦＶの実装形態は、入力可換性という問題を有しておらず、且つ、従って、従来のＦＶ実装形態との比較におけるこの技術的改善は、安全な認証のために必要とされるパーティの数の低減、生体計測プライバシーの促進、複数の認証エントリポイントの可能化、使用の容易性、及び非対話型再登録の提供、並びに／或いは、生体計測が不可知であることなどの、１つ又は複数の実際的な用途を提供することができる。
【００１５】
以下の添付図面及び説明には、本開示の１つ又は複数の態様の詳細について記述されている。本開示において記述されている技法のその他の特徴、目的、及び利点については、説明、図面、及び請求項から明らかとなろう。
【図面の簡単な説明】
【００１６】
【図１】本開示において記述されている１つ又は複数の態様による例示用の生体計測認証システムを示す。
【図２Ａ】本開示の１つ又は複数の態様による、生体計測情報をエンコードするべく使用される例示用の多項式を示すグラフである。
【図２Ｂ】本開示の１つ又は複数の態様による、生体計測情報をエンコードするべく使用される例示用の多項式を示すグラフである。
【図２Ｃ】本開示の１つ又は複数の態様による、生体計測情報をエンコードするべく使用される例示用の多項式を示すグラフである。
【図３】本開示の１つ又は複数の態様に従って構成された例示用の生体計測認証システムを示すブロックダイアグラムである。
【図４】本開示において記述されている１つ又は複数の態様による演算装置の例示用の動作を示すフローチャートである。
【図５】本開示において記述されている１つ又は複数の態様による演算装置の例示用の再登録動作を示すフローチャートである。
【図６】本開示の１つ又は複数の態様に従って構成された例示用の生体計測認証システムを示すブロックダイアグラムである。
【図７】本開示において記述されている１つ又は複数の態様による例示用の非可換ファジーボールト生成動作を示すフローチャートである。
【図８】本開示において記述されている１つ又は複数の態様による例示用の非可換ファジーボールトオープン動作を示すフローチャートである。
【図９】本開示において記述されている１つ又は複数の態様による例示用の生体計測認証システムの例示用の登録動作を示すフローチャートである。
【図１０】本開示において記述されている１つ又は複数の態様による例示用の生体計測認証システムの例示用の認証動作を示すフローチャートである。
【図１１】本開示において記述されている１つ又は複数の態様による例示用の生体計測認証システムの例示用の非対話型再登録動作を示すフローチャートである。
【図１２】本開示において記述されている１つ又は複数の態様によるファジーボールトに関係する定義を提供する。
【図１３】本開示において記述されている１つ又は複数の態様による非可換ファジーボールトに関係する定義を提供する。
【図１４】例示用の指紋及び指紋から判定された例示用の特徴を提供する。
【発明を実施するための形態】
【００１７】
通常のＢＩＡシステムにおいては、ユーザー及びＢＩＡシステムを実装する企業、という検討対象である２つの主要ステークホルダが存在している。ユーザーは、ＢＩＡシステムに登録すると共にその内部において認証するべく、その生体計測の提供が必要とされている。ユーザーの観点においては、生体計測が危険に晒された場合にそれを使用してユーザーを装うことが可能である場合には、生体計測が秘匿状態において留まることが重要である。更には、生体計測の破棄は、困難である可能性があり、且つ、いくつかのケースにおいては、不可能である場合があり、その理由は、生体計測が、ユーザーである人物の一部分を構成しているからである。又、生体計測システムの使用可能性も、懸念になりうる。採用に成功するには、ＢＩＡにおいて使用されているセキュリティメカニズムがユーザーにもたらす負荷が、特に（認証などの）定期的な反復を要する動作について、最小限のものであることが望ましい。
【００１８】
企業は、ユーザーが主張するアイデンティティを検証するべく、ＢＩＡシステムを配備することができる。ＢＩＡシステムは、物理的又はデジタル的なエリア／物品へのアクセス制御を実施するべく、使用することができる。企業は、通常、暗号秘密（例えば、対称／非対称キー）生成及びポリシー（例えば、失効日付、使用法、及び交換）の責任を担うことを所望することになろう。但し、正直な企業は、通常、明らかな形態におけるユーザーの生体計測の保存に関心を有してはいない。そのような個人的な且つプライベートなデータの潜在的漏洩は、企業にとって問題となりうる。
【００１９】
図１は、本開示において記述されている１つ又は複数の態様による例示用の生体計測認証システム１００を示している。この例示用の構成においては、生体計測認証システム１００は、少なくとも、取得システム１０２と、演算装置１２０によって提供される実行環境上において稼働する演算エンジン１２２と、複数のストレージノード１１０Ａ〜１１０Ｎ（集合的に、「ストレージノード１１０」）と、を有する。
【００２０】
取得システム１０２は、１つ又は複数のユーザーの生体計測情報を取得するべく、１つ又は複数の生体計測センサ１０４から、入力を受け付けている。例えば、取得システム１０２は、指紋スキャナ（静電容量性又は光学型）、掌スキャナ、顔面認識スキャナ、表情スキャナ、虹彩／網膜スキャナ、赤外線カメラ、心拍数スキャナ、歩行センサ（例えば、ビデオ又は加速度計）、或いは、ユーザー１０６から生体計測情報１０８を読み取るその他の生体計測センサを含む１つ又は複数の生体計測センサ１０４を有することができる。生体計測情報は、指紋の画像、掌紋の画像、顔面の画像、網膜スキャンの画像、虹彩の画像、心拍数パターン、四肢の運動、虹彩又はオーディオサンプルのケースにおけるバイナリコード、又はこれらに類似したもの、或いは、このような要素の２つ以上のものの組合せを有する生体計測サンプルを含むことができる。いくつかの例においては、生体計測センサ１０４を含む取得システム１０２のコンポーネントは、１つの物理的構造内において含まれている。いくつかの例においては、生体計測センサ１０４は、異なる物理的構造に位置している。
【００２１】
いくつかの例においては、生体計測センサ１０４は、例えば、ソフトウェアアプリケーション、物理的なロック、又はその他のタイプの安全なストレージ又はアプリケーションなどの、物理的且つ／又は仮想的な環境に対するアクセス及び／又は権限を求めているユーザー１０６から、生体計測サンプルを読み取ることができる。取得システム１０２は、更に後述するように、生体計測センサ１０４から生体計測サンプル（例えば、指紋の画像）を受け取ることができると共に、処理及び保存のために、生体計測サンプルを演算エンジン１２２に送信することができる。
【００２２】
演算エンジン１２２は、１つ又は複数の物理的演算装置１２０上の回路内において実装することができる。例えば、演算エンジン１２２は、１つ又は複数のサーバー装置、サーバーブレード、パーソナルコンピュータ、モバイル演算装置、及び／又はその他のタイプの演算装置、のクラスタを使用することにより、実装することができる。わかりやすさを目的として、残りの図においては、演算装置１２０が省略されている。但し、その他の図の文脈において、演算エンジンは、１つ又は複数の物理的演算装置上の回路内において実装されていることを理解されたい。いくつかの例においては、取得ユニット１０２は、演算エンジン１２２の動作を制御及び／又は構成するべく演算エンジン１２２が使用しうる画面又はモニタを有する。
【００２３】
演算エンジン１２２は、操作者から、メタデータ１３２などの入力１３０を受け取るべく、アプリケーションプログラミングインターフェイス１３４及びユーザーインターフェイス１３６を含むことができる。メタデータ１３２は、物体、機械、人々、又は取得システム１０２によって取得されたその他の情報に関するデータを有することができる。ユーザーインターフェイス１３６は、グラフィカルユーザーインターフェイス、コマンドラインインターフェイス、或いは、ユーザーからのユーザー入力の通知を受け取る別のタイプのユーザーインターフェイスを有することができる。ＡＰＩ１３４は、ソフトウェアアプリケーションが演算エンジン１２２とやり取りしうるインターフェイスを有することができる。例えば、ソフトウェアアプリケーションは、演算エンジン１２２がデータを取得することを可能にするべく、ＡＰＩ１３４を使用することができる。
【００２４】
ストレージノード１１０は、コンピュータ可読データを保存するためのローカル又はリモートストレージユニットを表しうる。例えば、ストレージノード１１０は、演算装置１０９に物理的に結合されたハードドライブ、フラッシュドライブ、ユニバーサルストレージバス（ＵＳＢ：Ｕｎｉｖｅｒｓａｌ  Ｓｔｏｒａｇｅ  Ｂｕｓ）装置、テープドライブ、ハードドライブ、フロッピー（登録商標）ディスク、コンパクトディスク、着脱自在のストレージ装置など、のみならず、サーバー装置などの、リモート演算装置に物理的に結合されたストレージ装置、のうちの任意のもの又はすべてを表しうる。ストレージノード１１０は、それぞれ、ネットワークアタッチトストレージ（ＮＡＳ：Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）装置、ストレージエリアネットワーク（ＳＡＮ：Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）装置、サーバー装置、又はその他のタイプの演算装置などの、１つ又は複数の演算装置を使用することにより、実装することができる。ストレージノード１１０は、様々なタイプのデータを保存することができる。例えば、ストレージノード１１０は、生体計測情報の秘密シェア１１２及び新しいヘルパーデータシェア１１４（更に後述する）、入力１３０、演算エンジン１２２の出力、基準データ、並びに、その他のタイプのデータを保存することができる。
【００２５】
いくつかの例においては、ストレージノード１１０は、オンライン及びオフラインストレージ装置を有することができる。例えば、１つ又は複数のストレージノード１１０は、一時的にアクセス可能となるように、構成することができると共に、必要な場合（例えば、再登録の際）にのみ、アクセス可能である。いくつかの例においては、１つ又は複数のストレージノード１１０は、１つ又は複数の物理的演算装置１２０から物理的に除去されてもよく、且つ、必要な場合（例えば、再登録の際）にのみ、接続されてもよい。いくつかの例においては、ストレージノード１１０は、地理的に分散したストレージ装置を有することができる。演算エンジン１２２は、ストレージノード１１０とインターフェイスするように構成された回路内において実装されたストレージインターフェイスを含むことができる。
【００２６】
生体計測認証システム１００のユーザーの最初の使用の際には、生体計測認証システム１００は、ユーザーの後続の認証のために、ユーザーの生体計測情報を「登録」している。即ち、生体計測認証システム１００は、個々のユーザーの後続のそれぞれのユーザー認証のためにヘルパーデータ１２６を生成するべく、生体計測情報を収集及び処理している。例えば、演算エンジン１２２は、まず、取得システム１０２から受け取られた生体計測サンプルを処理することができると共に、生体計測サンプルから生体計測情報のインディシアを判定することができる。生体計測情報のインディシアは、指紋の特徴点、眼スキャンのケースにおける虹彩コード、又は生体計測サンプルのその他の粒度のポイントを含むことができる。演算エンジン１２２は、生体計測情報のインディシアに従って、テンプレート（本明細書において、「生体計測テンプレート」、「基準生体計測テンプレート」、又は「ＲＢＴ」と呼称される）を演算することができる。ＲＢＴは、生体計測サンプルから抽出された粒度のポイントの基準を提供するテンプレートである。例えば、指紋スキャンのＲＢＴは、指紋の特定のポイント（例えば、隆起の終了部、隆起の分岐部、短い隆起など）の座標及び向きを識別することができる。演算エンジン１２２は、指紋の画像を受け取ることができると共に、画像をブロックに分割することができる。それぞれのブロックは、指紋の画像の一部分を含む。演算エンジン１２２は、それぞれのブロック内の指紋のインディシアの（その他のブロックとの関係における）座標及び指紋のインディシアの向き（例えば、基礎をなす隆起又は分岐部の方向）を判定する。
【００２７】
図１のこの例においては、上述のように、生体計測認証システム１００の中央集中型の演算装置１２０は、ユーザーの後続の認証のために、それぞれのユーザーごとに、個々のヘルパーデータ１２６を生成している。一例として、ヘルパーデータ１２６は、公開可能ではあるがＲＢＴのなんらの重要な情報をも明かさない、ＲＢＴに関する情報であるランダムストリングを有することができる。生体計測認証システム１００は、そのユーザーの認証のために、ヘルパーデータ１２６を利用している。例えば、生体計測認証システム１００は、認証されたユーザー用のアクセス又は権限を提供するデジタルキー又は識別子を再構築するべく、後続の生体計測サンプル（例えば、生体計測サンプルのノイズの多いバージョン）と共に、ヘルパーデータを使用することができる。
【００２８】
いくつかの例においては、生体計測認証システム１００は、ヘルパーデータ１２６を生成するべく、限定を伴うことなしに、ファジーエクストラクタ方式又はファジーボールト方式を含む１つ又は複数の暗号アルゴリズムを使用している。一例として、ファジーエクストラクタ方式は、「生成」関数及び「再生成」関数という、２つの関数を有する。生成関数は、デジタルキー（Ｋｅｙ）及び１つ又は複数のパブリックパラメータ（Ｐｕｂ）を生成するべく実行され、この場合に、ｗは、以下において示されているように、ＲＢＴ又は別の適切な形態に変換された生体計測サンプルからのデータのストリングの入力を表している。
Ｇｅｎｅｒａｔｅ（ｗ）＝（Ｋｅｙ，Ｐｕｂ）      関数１
【００２９】
一般に、ヘルパーデータ１２６は、デジタルキー（例えば、ランダム暗号キー）をＲＢＴによってバインド又はロックすることによって得られる。ヘルパーデータの生成に続いて、ヘルパーデータは、ユーザー１０６の後続の認証のための容易にアクセス可能なストレージエリア内において保存され（図１には、「ヘルパーデータ１２６」として示されている）、且つ、ＲＢＴは、通常、生体計測認証システムのオンライン部分内における生体計測情報の保存を回避するべく、破棄される。ヘルパーデータ１２６は、演算装置１０２内の容易にアクセス可能であるストレージ内において保存されるものとして示されているが、ヘルパーデータ１２６は、演算装置１２０の外部の容易にアクセス可能なストレージ内において保存されてもよい。
【００３０】
ヘルパーデータ１２６の生成の後に、生体計測認証システム１００は、ユーザー１０６を認証するべく、後続の生体計測サンプルを使用している。例えば、生体計測認証システム１００は、認証されたユーザー用のアクセス又は権限を提供するデジタルキーを再構築するべく、後続の生体計測サンプルと共に、初期登録の際に生成されたヘルパーデータ１２６を使用している。一例として、以下に示されているように、ユーザーを認証するべく使用されるデジタルキー（Ｋｅｙ’）を再構築するべく、再生成関数が使用されており、この場合に、ｗ’は、ＲＢＴ又は別の適切な形態に変換された後続の生体計測サンプルからのデータストリングの入力を表しており、且つ、Ｐｕｂは、初期登録において生成されたパブリックパラメータである。
Ｋｅｙ’＝Ｒｅｇｅｎｅｒａｔｅ（Ｐｕｂ，ｗ’）      関数２
【００３１】
いくつかの例においては、以下において示されているように、Ｋｅｙ’は、初期生体計測サンプルと後続の生体計測サンプルの間の差が、定義された閾値（ｄ）以内である場合に、生成されており、これは、受け入れ可能な検出精度を定義するチューニング可能なパラメータである。
Ｋｅｙ’＝Ｋｅｙ  ｉｆ  ｜ｗ−ｗ’｜＜ｄ      関数３
【００３２】
閾値の値は、検出精度を改善又は極大化するべく、選択することができる。いくつかの例においては、閾値は、真受入率（ＧＡＲ：Ｇｅｎｕｉｎ  Ａｃｃｅｐｔ  Ｒａｔｅ）を極大化すると共に偽受入率（ＦＡＲ：Ｆａｌｓｅ  Ａｃｃｅｐｔ  Ｒａｔｅ）を極小化するべく、定義することができる。一例として、ユーザーは、後から、初期生体計測サンプルと生体計測サンプルの後続のノイズが多いバージョンの間の差が、受け入れ可能な検出精度閾値内にはない、生体計測サンプルのノイズの多いバージョンを提供する場合がある。この結果、Ｋｅｙ’は、生成されない。初期生体計測サンプルと後続の生体計測サンプルのノイズが多いバージョンの間の差が、受け入れ可能な検出精度閾値内にある場合には、Ｋｅｙ’は、生成され、且つ、ユーザーは、認証される。
【００３３】
生体計測認証システム１００の更新又はセキュリティ侵害の場合には、初期登録において生成されたヘルパーデータ１２６が危険に晒される場合がある。新しいヘルパーデータを生成するべく、従来の認証システムは、通常、オリジナルの生体計測情報を保存及び再使用する必要があるが、この結果、オリジナルの生体計測情報がリスク状態に置かれることになり、或いは、予め登録されたユーザー（又は、危険に晒されたユーザー）による更なる又は再度の生体計測情報の提供が必要となろう。但し、大規模システムにおいては、再登録プロセスは、多数のユーザーによる更なる又は再度の生体計測情報の手作業による個々の提供を必要とする場合があり、これは、非効率的であり、且つ、しばしば、実際的ではないプロセスである。
【００３４】
本開示の技法によれば、演算装置１２０は、認証システム１００内において、安全な分散された秘密共有を使用することにより、生体計測再登録を調整している。本明細書において記述されているように、技法は、演算装置１２０におけるオリジナルの生体計測情報の回復又はその他の方法による再使用を要することなしに、且つ、更なる又は再度の生体計測情報の再取得を要することなしに、ユーザー認証のための新しいヘルパーデータ１２６’の再登録及び演算を可能にしている。例えば、初期登録の際に、演算装置１２０の演算エンジン１２２は、ユーザーの生体計測情報を収集及び処理し、且つ、ユーザー認証のための初期ヘルパーデータ１２６を生成している。ヘルパーデータ１２６の構築の後に、且つ、生体計測情報（例えば、ＲＢＴ）の破棄の前に、演算エンジン１２２は、生体計測情報の表現（例えば、その多重多項式表現）に従って、安全な且つ分散された方式により、複数の秘密シェア１１２Ａ〜１１２Ｎ（集合的に「秘密シェア１１２」又は「秘密シェア値１１２」）を生成及び保存するべく、複数の安全なストレージノート１１０（例えば、１つ又は複数のネットワークドメイン内において分散されたストレージサーバー）と共に、分散された秘密共有プロセスを開始している。
【００３５】
例えば、登録の際に、シェア生成ユニット１２４は、生体計測情報の多重多項式表現が共有秘密として使用されている共有秘密方式を使用することにより、秘密シェア１１２の安全な演算を調整している。まず、シェア生成ユニット１２４は、ヘルパーデータの安全な演算において共有秘密として使用される生体計測の表現を判定するべく、生体計測情報を処理している。例えば、指紋のＲＢＴは、特徴点の組を含んでいてもよく、それぞれの特徴点は、指紋の画像の隆起の終了部、隆起の分岐部、短い隆起などの座標（例えば、Ｘn及びＹn）及び向き（例えば、θn）を有する。即ち、それぞれの特徴点は、指紋の画像内の特定のポイントのＸ座標、指紋の画像内の特定のポイントのＹ座標、及び指紋の画像内の特定のポイントの向きによって定義されている。この例においては、シェア生成ユニット１２４は、それぞれの個々の特徴点ごとに、例えば、（Ｘ1，Ｙ1，θ1）、（Ｘ2，Ｙ2，θ2）、…、（Ｘn，Ｙn，θn）などの座標及び向きをエンコードすることができる（さもなければ、「秘密共有」と呼称される）。使用される共有秘密を判定する際には、シェア生成ユニット１２４は、ＲＢＴの座標及び向きのそれぞれを、例えば、ｐ1（０）＝Ｘ1、ｐ2（０）＝Ｙ1、及びｐ3（０）＝θ1などの、個々の多項式の自由項（ｐ（０））として保存される整数値に変換することができる（或いは、いくつかの例においては、シェア生成ユニット１２４は、座標及び向きを単一の整数値に変換している）。この例においては、３つの多項式（即ち、ｐ1（ｘ）、ｐ2（ｘ）、及びｐ3（ｘ））が、単一の特徴点（例えば、（ｘ1，Ｙ1，θ1））を共有するべく、使用されている。換言すれば、多項式ｐ1（ｘ）は、単一の特徴点のＸ座標をエンコードするべく、使用されており、ｐ2（ｘ）は、単一の特徴点のＹ座標をエンコードするべく、使用されており、且つ、ｐ3（ｘ）は、単一の特徴点の向きをエンコードするべく、使用されている。
【００３６】
次いで、更に後述するように、シェア生成ユニット１２４は、少なくとも「ｎ」個のポイントにおいて、それぞれの多項式を評価してもよく、この場合に、「ｎ」は、多項式の自由項を判定するべく必要とされるシェアの数である。上述の例を継続することにより、個々の放物線が、生体計測情報の対応する部分（例えば、Ｘ座標、Ｙ座標、及び向き）をエンコードするべく、使用されるものと仮定しよう。シェア生成ユニット１２４は、個々に、放物線のＸ＝１、Ｘ＝２、及びＸ＝３における評価されたポイントを表す、例えば、ｐ1（１）、ｐ1（２）、及びｐ1（３）などの、３つのポイントにおける放物線を評価することにより、共有秘密を生成することができる。この例において、少なくとも３つのシェアは、例えば、ｐ1（０）＝Ｘ1などの、個々の多項式の自由項として保存される値などの、生体計測のエンコードされた部分を判定するべく、例えば、少なくとも３つのシェアが必要とされるように、生成されている。少なくとも３つのシェアの知識なしには、多項式の自由項内においてエンコードされた生体計測情報の部分は、未知の状態に留まる。この例においては、３つの多項式のそれぞれごとの３つのシェアが使用されているが、生体計測情報のインディシアをエンコードするべく、任意の数の多項式及び又は数のシェアを使用することができる。シャミールの秘密共有方式との関係において記述されているが、シェア生成ユニット１２４は、本明細書において記述されている技法又はその他の安全な演算技法を介した秘密共有データに対する演算を可能にするべく拡張可能である任意の秘密共有技法を実装することができる。安全な演算プロトコルとの関係における例示用の更なる情報については、「Ｂａｒｏｎ，  Ｊｏｓｈｕａ，  ｅｔ．  ａｌ．，  “Ｈｏｗ  ｔｏ  ｗｉｔｈｓｔａｎｄ  ｍｏｂｉｌｅ  ｖｉｒｕｓ  ａｔｔａｃｋｓ，  ｒｅｖｉｓｉｔｅｄ，”  ｄａｔｅｄ  Ｊｕｌｙ  ２０１４」、「Ｂｅｎ−Ｏｒ，  Ｍｉｃｈａｅｌ，  ｅｔ．  ａｌ．，  “Ｃｏｍｐｌｅｔｅｎｅｓｓ  ｔｈｅｏｒｅｍｓ  ｆｏｒ  ｎｏｎ−ｃｒｙｐｔｏｇｒａｐｈｉｃ  ｆａｕｌｔ−ｔｏｌｅｒａｎｔ  ｄｉｓｔｒｉｂｕｔｅｄ  ｃｏｍｐｕｔａｔｉｏｎ，”  ｄａｔｅｄ  Ｍａｙ  １９８８」、及び「Ｇｏｌｄｒｅｉｃｈ，  Ｏｄｅｄ，  “Ｆｏｕｎｄａｔｉｏｎｓ  ｏｆ  Ｃｒｙｐｔｏｇｒａｐｈｙ：  Ｖｏｌｕｍｅ  ２，  Ｂａｓｉｃ  Ａｐｐｌｉｃａｔｉｏｎｓ，”  ｄａｔｅｄ  ２００４」において記述されており、これらのそれぞれの文献の内容は、引用により、そのすべてが本明細書に包含される。
【００３７】
ＲＢＴから秘密シェアを演算した後に、演算装置１２０は、対応するストレージノード１１０が、それぞれ、個々の多項式の秘密シェアを保存するように、複数の秘密シェアのそれぞれをストレージノード１１０の対応するものに伝達している。上述の例を継続すれば、演算装置１２０は、個々の特徴点のＸ座標、Ｙ座標、及び向きをエンコードする多項式の秘密シェアを保存するべく、ストレージノード１１０とインターフェイスするように回路内において実装されたストレージインターフェイス（図示されてはいない）を使用することができる。
【００３８】
例えば、演算装置１２０のストレージインターフェイスは、特徴点のＸ座標をエンコードするｐ1（ｘ）の秘密シェア値、Ｙ座標をエンコードするｐ2（ｘ）の秘密シェア値、及び向きθをエンコードするｐ3（ｘ）の秘密シェア値を保存するべく、（ストレージインターフェイスを介して）ストレージノード１１０Ａとインターフェイスすることができる。又、演算装置１２０は、Ｘ座標をエンコードするｐ1（ｘ）の別の秘密シェア値、Ｙ座標をエンコードするｐ2（ｘ）の別の秘密シェア値、及び向きをエンコードするｐ3（ｘ）の別の秘密シェア値を保存するために、ストレージノード１１０Ｂとインターフェイスするべくストレージインターフェイスを使用することもできる。演算エンジン１２２は、Ｘ座標をエンコードするｐ1（ｘ）の更に別の秘密シェア値、Ｙ座標をエンコードするｐ2（ｘ）の別の秘密シェア値、及び向きをエンコードするｐ3（ｘ）の別の秘密シェア値を保存するために、ストレージノード１１０Ｎとインターフェイスするべくストレージインターフェイスを更に使用することができる。
【００３９】
いくつかの例においては、秘密シェア１１２を保存するストレージノード１１０は、再登録のためにのみ、アクセス可能である（演算装置１２０とストレージノード１１０の間の破線矢印によって示されている）。即ち、秘密シェア１１２を保存するストレージノード１１０は、ネットワークから物理的に接続切断されてもよく、且つ、必要に応じて、初期登録の際に、且つ、再登録の際に、のみ、一時的なアクセスを有するように構成されてもよい。
【００４０】
セキュリティ侵害又は更新の場合には、新しいヘルパーデータを生成するべくユーザーのそれぞれごとの更なる又は再度の生体計測情報の取得を要する代わりに、演算装置１２０は、オリジナルの生体情報が、分散されたストレージノード１１０により、決して、明らかにされないように、或いは、プロセスを調整している演算装置１２０により、そのすべてが再構築されないように、分散された安全な秘密シェア１１２を使用することにより、（例えば、ファジーエクストラクタの生成関数又はファジーボールトなどの類似の方式を使用することにより）新しいヘルパーデータ１２６’の演算を調整している。例えば、一実装形態においては、メッセージハンドラ１２８は、秘密シェアフォーマットにおいてストレージノード１１０によって保存された生体計測情報の個々の秘密シェア１１２に従って、個々の新しいヘルパーデータシェア１１４を生成するべく、ファジーエクストラクタの生成関数又は任意の類似の方式を適用するように、分散されたストレージノード１１０のそれぞれに命令するための複数のメッセージ１１６を出力することができる。それぞれのストレージノード１１０は、それぞれの個々の新しいヘルパーデータシェア１１４を演算装置１１０に送信し、次いで、演算装置１１０が、例えば、ファジーエクストラクタの生成関数の分散されたアプリケーションから結果的に得られる新しい多項式を回復させるべく、個々の新しいヘルパーデータシェア１１４を組み合わせることにより、判定し、次いで、この新しい多項式が、ユーザーの後続の認証のための新しいヘルパーデータ１２６’を生成するべく、使用される。
【００４１】
例えば、再登録が必要とされる際には、且つ、ストレージノード１１０がアクセス可能となった後に、メッセージハンドラ１２８は、例えば、新しいヘルパーデータシェア１１４などの、新しいヘルパーデータの個々のシェアを生成するように、ストレージノード１１０のそれぞれに命令するための、例えば、メッセージ１１６Ａ〜１１６Ｎ（集合的に「メッセージ１１６」）などの、複数のメッセージを出力することができる。例えば、ストレージノード１１０Ａは、演算装置１２０からメッセージ１１６Ａを受け取ることができると共に、ストレージノード１１０Ａ内において保存されている秘密シェア１１２Ａを使用することにより、例えば、新しいヘルパーデータシェア１１０Ａなどの、新しいヘルパーデータの個々のシェアを生成することができる。同様に、ストレージノード１１０Ｂは、演算装置１２０からメッセージ１１６Ｂを受け取ることができると共に、ストレージノード１１０Ｂ内において保存されている秘密シェア１１２Ｂを使用することにより、例えば、新しいヘルパーデータシェア１１４Ｂなどの、新しいヘルパーデータの個々のシェアを生成することができる。又、ストレージ装置１１０Ｎは、演算装置１２０からメッセージ１１６Ｎを受け取ることができると共に、ストレージノード１１０Ｎ内において保存されている秘密シェア１１２Ｎを使用することにより、例えば、新しいヘルパーデータシェア１１４Ｎなどの、新しいヘルパーデータの個々のシェアを生成することができる。
【００４２】
シェア１１２を使用して新しいヘルパーデータを生成するべく、ストレージノード１１０のそれぞれには、例えば、秘密共有された生体計測を再構築することなしに、且つ、従って、新しいヘルパーデータシェア１１４を生成することなしに、安全な分散された方式により、ファジーエクストラクタ方式の生成関数を演算するための加算及び乗算演算などの、演算のシーケンスを実行するように、命令することができる。例えば、ストレージノード１１０Ａは、新しいヘルパーデータシェア１１４Ａを生成するべく、ストレージノード１１０Ａ内において保存されている秘密シェア１１２Ａ内の秘密共有値を加算することができる（例えば、ｐsum（ｘ）＝ｐ1（ｘ）＋ｐ2（ｘ）＋ｐ3（ｘ））。同様に、ストレージノード１１０Ｂは、新しいヘルパーデータシェア１１４Ｂを生成するべく、ストレージノード１１０Ｂ内において保存されている秘密シェア１１２Ｂ内の秘密共有値を加算することができる。同様に、ストレージノード１１０Ｎは、新しいヘルパーデータシェア１１４Ｎを生成するべく、ストレージノード１１０Ｎ内において保存されている秘密シェア１１２Ｎ内の秘密共有値を加算することができる。即ち、ストレージノード１１０のそれぞれが、秘密共有フォーマットを有する新しいヘルパーデータの個々のシェアを生成している。
【００４３】
或いは、この代わりに、又はこれに加えて、ストレージノード１１０は、例えば、安全な分散された方式により、秘密共有生体計測を再構築することなしに、且つ、従って、新しいヘルパーデータシェア１１４を生成することなしに、ファジーエクストラクタ方式の生成関数を演算するべく、乗算演算を使用することができる。例えば、ストレージノード１１０Ａは、ストレージノード１１０Ａ内において保存されている生体計測情報の秘密シェア１１２Ａを乗算することができる。秘密シェア１１２Ａの積は、秘密シェア１１２Ａ内の秘密共有値の積をエンコードした新しい多項式のシェアを生成するべく、共有された乗算トリプル（例えば、ａ＊ｂ＝ｃ）と共に、使用される。同様に、ストレージノード１１０Ｂも、秘密シェア１１２Ｂ内の秘密共有値の積が、秘密シェア１１１２Ｂ内の秘密共有値の積をエンコードした新しい多項式のシェアを生成するべく、共有された乗算トリプル（例えば、ａ＊ｂ＝ｃ）と共に、使用されるように、ストレージノード１１０Ｂ内において保存されている秘密シェア１１２Ｂ内の秘密共有値を乗算することができる。同様に、ストレージノード１１０Ｎも、秘密シェア１１２Ｎ内の秘密共有値の積が、秘密シェア１１２Ｎ内の秘密共有値の積をエンコードした新しい多項式のシェアを生成するべく、共有された乗算トリプル（例えば、ａ＊ｂ＝ｃ）と共に、使用されるように、ストレージノード１１０Ｎ内において保存されている秘密シェア１１２Ｎ内の秘密共有値を乗算することができる。乗算トリプル技法を使用することによって記述されているが、ストレージノード１１０は、新しいヘルパーデータシェア１１４を生成するべく、準同型暗号化などの、その他の乗算技法を使用することができる。
【００４４】
新しいヘルパーデータシェア１１４を演算した後、ストレージノード１１０Ａ〜１１０Ｎは、例えば、それぞれ、新しいヘルパーデータシェア１１４Ａ〜１１４Ｎを含む、メッセージ１１６などの、複数のメッセージを演算装置１２０に送信してもよく、これらについて、演算装置１２０の演算エンジン１２２は、新しいヘルパーデータシェア１１４に従って、ユーザー１０６の後続の認証のために、例えば、新しいヘルパーデータ１２６’などの、新しいヘルパーデータを判定することができる。例えば、演算エンジン１２２は、ファジーエクストラクタの生成関数の分散型の適用の結果として得られる新しい多項式を回復するべく、ストレージノード１１０から受け取られた新しいヘルパーデータシェア１１４を組み合わせることができる。演算エンジン１２２は、新しいヘルパーデータ１２６’として使用される多項式の定数を生成するべく、回復された多項式に対して補間を適用することができる。
【００４５】
この結果、生体計測認証システム１００などの生態系計測システムは、ユーザーの更なる又は再度の生体計測情報を受け取ることなしに、且つ、任意の中央集中化された、潜在的に安全ではないノード又は装置においてオリジナルの生体計測を回復又はその他の方法で再使用する必要性を伴うことなしに、新しいヘルパーデータを生成し、これにより、潜在的に相対的にわずかな演算リソースを使用することにより、且つ、ユーザーの生体計測情報をリスク状態に配置することなしに、相対的に高速且つ安全な再登録を可能にする技術的解決策を提供することができる。
【００４６】
図２Ａ〜図２Ｃは、本開示の１つ又は複数の態様に従って生体計測情報をエンコードするべく使用されうる例示用の多項式２０２、２１２、及び２２２を示すグラフである。図２Ａ〜図２Ｃは、縮尺が正確ではなく、且つ、本明細書において記述されている技法に従って指紋を表す生体計測情報の個々の部分をエンコードするべく３つの多項式が使用されている１つの例として集合的に示されている。図２Ａ〜図２Ｃは、指紋の生体計測情報をエンコードするための一例として使用されているが、図２Ａ〜図２Ｃは、任意のタイプの生体計測情報のインディシアをエンコードするべく使用される任意の多項式を表すことができる。
【００４７】
図２Ａの例においては、多項式２０２は、指紋の特徴点Ｘ1、Ｙ1、θ1のＸ座標（Ｘ1）を秘密裏に共有するべく、使用されている。図示を容易にするべく、多項式２０２は、放物線であり、この場合に、放物線内のエンコードされた値を判定するべく、少なくとも３つの秘密共有値が必要とされるが、次数「ｔ−１」の任意の多項式として定義されてもよく、この場合に、「ｔ」は、多項式内のエンコードされた値を判定するべく必要とされる秘密共有値の数である。例えば、多項式２０２（ｐ1（０））のポイント２０４などの、自由項は、例えば、特徴点Ｘ1、Ｙ1、θ1のＸ座標（Ｘ1）を表す整数などの、生体計測情報の一部分のエンコードされた値を表することができる。例えば、ｐ1（０）は、グラフがＹ軸と交差する、従って、Ｘ＝０である、ポイントを表すことができる。図２Ａの例においては、ｐ1（０）は、１０の値を有することができる。「ｔ」は、３であることから、シェア生成ユニット１２４は、３及び２３などの、２つのランダム係数値（「ｔ−１」）を構成することができる。従って、多項式２０２は、ｆ（ｘ）＝１０＋３ｘ＋２３ｘ2である。ポイント２０４における指紋のｘ座標をエンコードするべく（例えば、１０）、多項式２０２は、多項式２０２内のポイント２０４におけるエンコードされた値を判定するべく使用される秘密共有値である「ｎ」個のポイントにおいて評価される。例えば、図１の演算エンジン１２２は、多項式２０２（例えば、ｐ1（ｘ）＝（ｘ，ｆ（ｘ）））から、秘密シェア値２０６、２０８、及び２１０を演算することができる。図示の容易性を目的として、多項式２０２は、３つの評価された秘密シェア値（例えば、２０６、２０８、及び２１０）を有するように示されているが、多項式２０２からの更に多くの数の秘密共有値を含むことができる。上述の例を継続すれば、ｘ＝１である秘密共有値２０６は、多項式２０２の第１値（例えば、ｐ1（ｘ）＝（１，３６））を表すことできる。ｘ＝２である秘密共有値２０８は、多項式２０２の第２値（例えば、ｐ1（ｘ）＝（２，１０５））を表すことができると共に、ｘ＝３である秘密共有値２１０は、多項式２０２の第３値（例えば、ｐ1（ｘ）＝（３，２２６））を表すことができる。演算エンジン１２２のシェア生成ユニット１２４は、秘密共有値２０６、２０８、及び２１０のそれぞれを図１の対応するストレージノード１１０内において保存することができる。
【００４８】
図２Ｂの例においては、多項式２１２は、指紋を表す生体計測情報の特徴点Ｘ1、Ｙ1、θ1のＹ座標（Ｙ1）を秘密裏に共有するべく、使用されている。図示の容易性を目的として、多項式２１２は、放物線であり、この場合には、放物線内のエンコードされた値を判定するべく、少なくとも３つの秘密共有値が必要とされるが、次数「ｔ−１」の任意の多項式として定義されてもよく、この場合に、「ｔ」は、多項式内のエンコードされた値を判定するべく必要とされる秘密共有値の数である。例えば、多項式２１２（ｐ2（０））のポイント２１４などの自由項は、例えば、特徴点Ｘ1、Ｙ1、θ1のＹ座標（Ｙ1）を表す整数などの、生体計測情報の一部分のエンコードされた値を表すことができる。例えば、ｐ2（０）は、グラフがＹ軸と交差する、従って、Ｘ＝０である、ポイントを表すことができる。図２Ｂの例においては、ｐ2（０）は、１５の値を有することができる。「ｔ」は、３であることから、秘密シェア生成ユニット１２４は、７及び−５などの、２つのランダム係数値（「ｔ−１」）を構成することができる。従って、多項式２０２は、ｆ（ｘ）＝１５＋７ｘ−５ｘ2である。ポイント２１４における指紋のＹ座標をエンコードするべく（例えば、１５）、多項式２１２は、多項式２１２内のポイント２１４におけるエンコードされた値を判定するべく必要とされる秘密共有値である「ｎ」個のポイントにおいて評価される。例えば、図１の演算エンジン１２２は、多項式２１２（例えば、ｐ2（ｘ）＝（ｘ，ｆ（ｘ）））から、秘密共有値２１６、２１８、及び２２０を演算することができる。図示の容易性を目的として、多項式２１２は、３つの秘密共有値（例えば、２１６、２１８、及び２２０）を有するように示されているが、多項式２１２からの更に多くの数の秘密共有値を含むことができる。上述の例を継続すれば、ｘ＝１である秘密共有された値２１６は、多項式２１２の第１値（例えば、ｐ2（ｘ）＝（１，１７））を表すことができ、ｘ＝２である秘密共有値２１８は、多項式２１２の第２値（例えば、ｐ2（ｘ）＝（２，９））を表すことができると共に、ｘ＝３である秘密シェア値２２０は、多項式２１２の第３値（例えば、ｐ2（ｘ）＝（３，−９））を表すことができる。演算エンジン１２２のシェア生成ユニット１２４は、図１の対応するストレージノード１１０内の秘密シェア値２１６、２１８、及び２２０のそれぞれを保存することができる。
【００４９】
図２Ｃの例においては、多項式２２２は、指紋を表す生体計測情報の特徴点Ｘ1、Ｙ1、θ1の向き（Ｏ1）を秘密裏に共有するべく、使用されている。図示の容易性を目的として、多項式２２２は、放物線であり、この場合には、放物線内のエンコードされた値を判定するべく、少なくとも３つの秘密シェア値で十分であるが、次数「ｔ−１」の任意の多項式として定義されてもよく、この場合に、「ｔ」は、多項式内のエンコードされた値を判定するべく必要とされる秘密シェア値の数である。例えば、多項式２２２（ｐ3（０））のポイント２２４などの、自由項は、特徴点Ｘ1、Ｙ1、θ1の向き（θ1）を表す整数などの、生体計測情報の一部分のエンコードされた値を表すことができる。例えば、ｐ3（０）は、グラフがＹ軸と交差する、従って、Ｘ＝０である、ポイントを表すことができる。例示用の図２Ｃにおいては、ｐ3（０）は、６の値を有することができる。「ｔ」は、３であることから、シェア生成ユニット１２４は、１４及び５などの、２つのランダム係数値（「ｔ−１」）を構成することができる。従って、多項式２２２は、ｆ（ｘ）＝６＋１４ｘ＋５ｘ2である。ポイント２２４において指紋の向きをエンコードするべく（例えば、６）、多項式２２２は、多項式２２２内のポイント２２４におけるエンコードされた値を判定するべく使用される秘密シェア値である「ｎ」個のポイントにおいて評価される。例えば、図１の演算エンジン１２２は、多項式２２２（例えば、ｐ3（ｘ）＝（ｘ，ｆ（ｘ）））から、シェア２２６、２２８、及び２３０を演算することができる。図示の容易性を目的として、多項式２２２は、３つの秘密シェア値（例えば、２２６、２２８、及び２３０）を有するように示されているが、多項式２２２からの更に多くの数の秘密シェア値を含むことができる。上述の例を継続すれば、ｘ＝１である秘密シェア値２２６は、多項式２２２の第１値（例えば、ｐ3（ｘ）＝（１，２５））を表すことができ、ｘ＝２である秘密シェア値２２８は、多項式２２２の第２値（例えば、ｐ3（ｘ）＝（２，５４））を表すことができると共に、ｘ＝３である秘密シェア値２３０は、多項式２２２の第３値（例えば、ｐ3（ｘ）＝（３，９３））を表すことができる。演算エンジン１２２のシェア生成ユニット１２４は、秘密シェア値２２６、２２８、及び２３０のそれぞれを図１の対応するストレージノード１１０内において保存することができる。
【００５０】
ストレージノード１１０は、上述の秘密シェア値に従って、新しいヘルパーデータシェア１１４を生成することができる。例えば、ストレージノード１１０Ａは、それぞれ、多項式２０２、２１２、及び２２２の秘密シェア値２０６、２１６、及び２２６の合計（例えば、ｐsum1（ｘ））を演算することを含む乗算及び合計により、新しい第１ヘルパーデータシェアを生成することができる。同様に、ストレージノード１１０Ｂも、それぞれ、多項式２０２、２１２、及び２２２の秘密シェア値２０８、２１８、及び２２８の合計（例えば、ｐsum2（ｘ））の演算を含む乗算及び合計により、新しい第２ヘルパーデータシェアを生成することができる。同様に、ストレージノード１１０Ｎも、それぞれ、多項式２０２、２１２、及び２３３の秘密シェア値２１０、２２０、及び２３０の合計（例えば、ｐsum3（ｘ））の演算を含む乗算及び合計により、新しい第３ヘルパーデータシェアを生成することができる。即ち、ストレージノード１１０のそれぞれが、秘密共有されたフォーマットを有する新しいヘルパーデータの個々のシェアを生成している。ストレージノード１１０は、新しいヘルパーデータの個々のシェア（例えば、ｐsum1（ｘ）、ｐsum2（ｘ）、及びｐsum3（ｘ））を演算装置１２０に送信してもよく、これらについて、演算装置１２０の演算エンジン１２２は、新しいヘルパーデータの個々のシェアに基づいて、新しいヘルパーデータを判定することができる。例えば、新しいヘルパーデータをエンコードしている新しい多項式を回復するべく、個々のシェアが組み合わせられる。
【００５１】
図３は、本開示の１つ又は複数の態様に従って構成された例示用の生体計測認証システム３００を示すブロックダイアグラムである。以下、図１の生体計測認証システム１００の例示用の又は代替的な実装形態として、図３の生体計測認証システム３００について説明する。但し、図３は、生体計測認証システム１００の１つの特定の例示用の又は代替的な実装形態を示しているに過ぎず、且つ、生体計測認証システム１００の多くのその他の例示用の又は代替的な実装形態が、使用されてもよく、或いは、その他の例において適当でありうる。そのような実装形態は、図３の例において含まれているコンポーネントのサブセットを含んでいてもよく、或いは、図３の例には示されていない更なるコンポーネントを含むことができる。演算装置３０２は、ネットワーク３９０を通じて取得システム３２０Ａ〜３２０Ｎ（集合的に、「取得システム３２０」）と通信することができる。
【００５２】
図３の演算装置３０２は、図１の演算エンジン１２２及びシェア生成ユニット１２４を実装している。演算装置３０２は、電源３０４と、１つ又は複数の通信ユニット３０６と、１つ又は複数の入力装置３０８と、１つ又は複数の出力装置３１０と、１つ又は複数のプロセッサ３１２と、１つ又は複数のストレージ装置３１４と、１つ又は複数のストレージノード３１６と、を含む。１つ又は複数のストレージ装置３１４は、演算エンジン３１８を含むことができる。演算装置３０２の装置、モジュール、ストレージエリア、又はその他のコンポーネントの１つ又は複数は、コンポーネント間通信を（物理的に、通信自在に、且つ／又は、動作自在に）可能とするべく相互接続することができる。いくつかの例においては、このような接続は、システムバス、ネットワーク接続、プロセス間通信データ構造、又はデータを通信するための任意のその他の方法を通じて提供することができる。
【００５３】
電源３０４は、演算装置３０２の１つ又は複数のコンポーネントに電力を提供することができる。電源３０４は、建物、自宅、ビジネス、又はその他の場所における主要交流（ＡＣ：Ａｌｔｅｒｎａｔｉｎｇ  Ｃｕｒｒｅｎｔ）電源から電力を受け取ることができる。その他の例においては、電源３０４は、電池であってよい。更なる例においては、演算装置３０２及び／又は電源３０４は、別の供給源から電力を受け取ることができる。電源３０４は、インテリジェントな電力管理又は消費能力を有していてもよく、且つ、そのような特徴は、電力をインテリジェントな方式で消費、割当、供給、又はその他の方法で管理するべく、演算装置３０２の１つ又は複数のモジュールにより、且つ／又は、１つ又は複数のプロセッサ３１２により、制御、アクセス、又は調節することができる。
【００５４】
演算装置３０２の１つ又は複数の入力装置３０８は、入力を生成、受領、又は処理することができる。そのような入力は、キーボード、ポインティング装置、音声応答システム、ビデオカメラ、ボタン、センサ、生体計測センサ、モバイル装置、制御パッド、マイクロフォン、存在感知画面、ネットワーク、或いは、人間又は機械からの入力を検出する任意のその他のタイプの装置からの入力を含むことができる。
【００５５】
演算装置３０２の１つ又は複数の出力装置３１０は、出力を生成、受領、又は処理することができる。出力の例は、触覚、オーディオ、視覚、及び／又はビデオ出力である。出力装置３１０は、ディスプレイ、サウンドカード、ビデオグラフィクスアダプタカード、スピーカ、存在感知画面、１つ又は複数のＵＳＢインターフェイス、ビデオ、及び／又はオーディオ出力インターフェイス、或いは、触覚、オーディオ、ビデオ、又はその他の出力を生成する能力を有する任意のその他のタイプの装置を含むことができる。出力装置３１０は、液晶ディスプレイ（ＬＣＤ：Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、ドットマトリックスディスプレイ、発光ダイオード（ＬＥＤ：Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）ディスプレイ、有機発光ダイオード（ＯＬＥＤ：Ｏｒｇａｎｉｃ  Ｌｉｇｈｔ−Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）ディスプレイ、陰極線管（ＣＲＴ：Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）ディスプレイ、ｅインク、又はモノクロ、カラー、或いは、触覚、オーディオ、及び／又は視覚出力を生成する能力を有する任意のその他のタイプのディスプレイを含む技術を使用することによって出力装置として機能しうる表示装置を含むことができる。
【００５６】
演算装置３０２の１つ又は複数の通信ユニット３０６は、データを送信及び／又は受信することにより、演算装置３０２の外部に位置する装置と通信することができると共に、いくつかの観点において、入力装置及び出力装置の両方として動作することができる。いくつかの例においては、通信ユニット３０６は、ネットワーク上においてその他の装置と通信することができる。その他の例においては、通信ユニット３０６は、セルラー無線ネットワークなどの無線ネットワーク上において無線信号を送信及び／又は受信することができる。その他の例においては、演算装置３０２の通信ユニット３０６は、衛星信号を全地球測位システム（ＧＰＳ：Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）ネットワークなどの衛星ネットワーク上において送信及び／又は受信することができる。通信ユニット３０６の例は、ネットワークインターフェイスカード（例えば、Ｅｔｈｅｒｎｅｔ（登録商標）カードなど）、光トランシーバ、高周波トランシーバ、ＧＰＳレシーバ、或いは、情報を送信及び／又は受信しうる任意のその他のタイプの装置を含む。通信ユニット３０６のその他の例は、モバイル装置において見出されるＢｌｕｅｔｏｏｔｈ（登録商標）、ＧＰＳ、３Ｇ、４Ｇ、ＬＴＥ、及びＷｉ−Ｆｉ（登録商標）送受信機のみならず、ユニバーサルシリアルバス（ＵＳＢ：Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）コントローラ及びこれらに類似したものを含むことができる。本開示の態様によれば、通信ユニット３０６は、取得システム３２０から、例えば、生体計測サンプルの画像などの、データを受信することができる。
【００５７】
演算装置３０２の１つ又は複数のプロセッサ３１２は、演算装置３０２と関連する機能を実装することができると共に／又は、命令を実行することができる。プロセッサ３１２の例は、マイクロプロセッサ、アプリケーションプロセッサ、ディスプレイコントローラ、補助プロセッサ、１つ又は複数のセンサハブ、並びに、プロセッサ、処理ユニット、又は処理装置として機能するように構成された任意のその他のハードウェアを含む。演算装置３０２は、ソフトウェア、ハードウェア、ファームウェア、或いは、演算装置３０２内において存在すると共に／又はそこで稼働するハードウェア、ソフトウェア、及びファームウェアの混合体を使用することにより、本開示の１つ又は複数の態様に従って動作を実行するべく、１つ又は複数のプロセッサ３１２を使用することができる。
【００５８】
演算装置３０２内の１つ又は複数のストレージ装置３１４は、演算装置３０２の動作の際に処理するための情報を保存することができる。いくつかの例においては、１つ又は複数のストレージ装置３１４は、一時的なメモリであり、これは、１つ又は複数のストレージ装置の主要目的が長期保存ではないことを意味している。演算装置３０２上のストレージ装置３１４は、揮発性メモリとして情報の短期保存のために構成されてもよく、且つ、従って、電源切断された場合に、保存されているコンテンツを保持することができない。揮発性メモリの例は、ランダムアクセスメモリ（ＲＡＭ：Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ：Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、スタティックランダムアクセスメモリ（ＳＲＡＭ：Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、及び当技術分野において既知のその他の形態の揮発性メモリを含む。又、ストレージ装置３１４は、いくつかの例においては、１つ又は複数のコンピュータ可読ストレージ媒体を含む。ストレージ装置３１４は、揮発性メモリよりも大量の情報を保存するように構成することができる。ストレージ装置３１４は、不揮発性のメモリ空間として情報の長期保存のために更に構成されてもよく、且つ、電源オン／オフサイクルの後にも、情報を保持することができる。不揮発性メモリの例は、磁気ハードディスク、光ディスク、フロッピーディスク、フラッシュメモリ、或いは、電気的にプログラム可能なメモリ（ＥＰＲＯＭ）又は電気的に消去可能な且つプログラム可能なメモリ（ＥＥＰＲＯＭ）の形態を含む。ストレージ装置３１４は、本開示の１つ又は複数の態様に従って記述されているモジュールの１つ又は複数と関連するプログラム命令及び／又はデータを保存することができる。
【００５９】
１つ又は複数のプロセッサ３１２及び１つ又は複数のストレージ装置３１４は、ソフトウェアとして実装されうる、但し、いくつかの例においては、ハードウェア、ファームウェア、及びソフトウェアの任意の組合せを含みうる、１つ又は複数のモジュール用の動作環境又はプラットフォームを提供することができる。１つ又は複数のプロセッサ３１２は、命令を実行することができると共に、１つ又は複数のストレージ装置３１４は、１つ又は複数のモジュールの命令及び／又はデータを保存することができる。プロセッサ３１２及びストレージ装置３１４の組合せは、１つ又は複数のアプリケーション、モジュール、又はソフトウェアの命令及び／又はデータを取得、保存、及び／又は実行することができる。又、プロセッサ３１２及び／又はストレージ装置３１４は、限定を伴うことなしに、図３に示されているコンポーネントの１つ又は複数を含む、１つ又は複数のその他のソフトウェア及び／又はハードウェアコンポーネントに動作自在に結合することができる。
【００６０】
ストレージ装置３１４内に含まれるものとして図３に示されている１つ又は複数のモジュール（或いは、さもなければ、本明細書において記述されているモジュール）は、ソフトウェア、ハードウェア、ファームウェア、或いは、演算装置３０２内に存在する且つ／又はそこで稼働するハードウェア、ソフトウェア、及びファームウェアの混合体を使用することにより、記述されている動作を実行することができる。演算装置３０２は、複数のプロセッサ又は複数の装置を有する１つ又は複数のモジュールのそれぞれを稼働させることができる。演算装置３０２は、基礎をなすハードウェア上において稼働する仮想的な機械として、そのようなモジュールの１つ又は複数を稼働させることができる。そのようなモジュールの１つ又は複数は、オペレーティングシステム又は演算プラットフォームの１つ又は複数のサービスとして稼働することができる。そのようなモジュールの１つ又は複数は、演算プラットフォームのアプリケーション層において１つ又は複数の実行可能プログラムとして稼働することができる。
【００６１】
１つ又は複数のストレージノード３１６は、本明細書において記述されている技法に従って、生体計測情報に従って演算された１つ又は複数のシェアなどの情報を保存することができる。いくつかの例においては、ストレージノード３１６は、コンピュータ可読データを保存するためのローカル又はリモートストレージユニットを表すことができる。例えば、ストレージノード１１０は、演算装置３０２に物理的に結合されたハードドライブ、フラッシュドライブ、ユニバーサルストレージバス（ＵＳＢ）装置、テープドライブ、ハードディスク、フロッピーディスク、コンパクトディスク、着脱自在のストレージ装置などのうちのいずれか又はすべてを表すことができる。プロセッサ３１２及びストレージノード３１６の組合せは、１つ又は複数のアプリケーション、モジュール、又はソフトウェアの命令及び／又はデータを取得、保存、及び／又は実行するべく、ストレージインターフェイスとして機能することができる。又、プロセッサ３１２及び／又はストレージノード３１６は、限定を伴うことなしに、図３に示されているコンポーネントのうちの１つ又は複数を含む、１つ又は複数のその他のソフトウェア及び／又はハードウェアコンポーネントに動作自在に結合することができる。
【００６２】
演算エンジン３１８は、一般に、本開示の別の場所において記述されている演算エンジン１２２に関係するタスクを実行することができる。例えば、演算エンジン３１８と関連する命令の実行により、１つ又は複数の取得システム３２０から生体計測情報を受け取るように、演算装置３０２を構成することができる。演算エンジン３１８と関連する命令の実行により、演算装置３０２が、ユーザーを認証するべくユーザーの生体計測情報に従ってヘルパーデータを生成するようにすることができる。更には、演算エンジン３１８と関連する命令の実行により、演算装置３０２が、ユーザーの生体計測情報に従って生体計測情報の複数の秘密シェアを生成するようにすることができる。これに加えて、演算エンジン３１８と関連する命令の実行により、演算装置３０２が、ストレージノード３１６のうちの対応するものに生体計測情報の複数の秘密シェアのそれぞれを保存するようにすることができる。更には、演算エンジン３１８と関連する命令の実行により、生体計測情報の複数の秘密シェア及び安全なプロトコル、安全なマルチパーティプロトコル、或いは、類似の技法に従って、新しいヘルパーデータの個々のシェアを生成するように、ストレージノード３１６のそれぞれに命令するためのメッセージを出力し、ストレージノード３１６のうちの２つ以上から新しいヘルパーデータの個々のシェアを受け取り、且つ、２つ以上のストレージノード３１６のそれぞれからの新しいヘルパーデータの個々のシェアに基づいて新しいヘルパーデータを判定することにより、生体計測情報の再登録を実行するように、コンピュータ装置３０２を構成してもよく、この場合には、再登録は、ユーザーの更なる又は再度の生体計測情報の受領を伴うことなしに発生しており、且つ、これにより、相対的に高速の再登録が結果的に得られる。
【００６３】
演算エンジン３１８は、演算装置３０２の１つ又は複数のモジュールとやり取りすることができると共に／又は、これらとの関連において動作することができる。演算エンジン３１８は、生体計測情報及びその他の入力を受け取ることができる。演算エンジン３１８は、通信ユニット３０６から生体計測情報を受け取ることができる。
【００６４】
図３の取得システム３２０Ａは、電源３２２Ａ、１つ又は複数の通信ユニット３２４Ａ、１つ又は複数の入力装置３２６Ａ、１つ又は複数の出力装置３２８Ａ、１つ又は複数のプロセッサ３３０Ａ、１つ又は複数のストレージ装置３３２Ａ、及び１つ又は複数のセンサ３３４Ａを含むことができる。装置、モジュール、ストレージエリア、或いは、取得システム３２０Ａのその他のコンポーネントの１つ又は複数は、コンポーネント間通信を（物理的に、通信自在に、且つ／又は、動作自在に）可能にするべく、相互接続することができる。いくつかの例においては、このような接続は、システムバス、ネットワーク接続、プロセス間通信データ構造、又はデータを伝達するための任意のその他の方法を通じて提供することができる。対応する方式により、取得システム３２０Ｎは、電源３２２Ｎ、１つ又は複数の通信ユニット３２４Ｎ、１つ又は複数の入力装置３２６Ｎ、１つ又は複数の出力装置３２８Ｎ、１つ又は複数のプロセッサ３３０Ｎ、１つ又は複数のストレージ装置３３２Ｎ、及び１つ又は複数のセンサ３３４Ｎを含んでいてもよく、これらは、取得システム３２０Ａの同様に付番されているコンポーネントと同一又は類似の能力、特徴、及び／又は機能を含むことができる。いくつかの例においては、且つ、特定の取得システム３２０の場合には、１つ又は複数の取得システム３２０内に含まれるものとして図３に示されている１つ又は複数のコンポーネント、装置、又はモジュールは、任意選択であってよい。
【００６５】
以下、取得システム３２０Ａとの関係において、取得システム３２０の特定の態様について説明する。その他の取得システム３２０が同様に記述されている場合があるが、それらも、同一の、類似の、又は対応する、コンポーネント、装置、モジュール、機能、及び／又はその他の特徴を含むことができる。取得システム３２０Ａとの関係における本明細書における説明は、対応する方式により、１つ又は複数のその他の取得システム３２０に適用することができる。いくつかの例においては、且つ、気付きうるように、１つ又は複数の取得システム３２０は、その他の取得システム３２０よりも多くの又は少ない数の能力、特徴、コンポーネント、及び／又は機能を含むことができる。
【００６６】
電源３２２Ａは、取得システム３２０Ａの１つ又は複数のコンポーネントに電力を提供することができる。いくつかの例においては、電源３２２Ａは、電池であってよい。その他の例においては、電源３２２Ａは、建物、自宅、又はその他の場所内の主要交流（ＡＣ）電源から電力を受け取ることができる。更なる例においては、取得システム３２０Ａ及び／又は電源３２２Ａは、別の供給源から電力を受け取ることができる。電源３２２Ａは、インテリジェントな電力管理又は消費能力を有することができると共に、そのような特徴は、電力をインテリジェントな方式で消費、割当、供給、又はその他の方法で管理するべく、取得システム３２０Ａの１つ又は複数のモジュールにより、且つ／又は、１つ又は複数のプロセッサ３３０Ａにより、制御、アクセス、又は調節することができる。
【００６７】
取得システム３２０Ａの１つ又は複数の入力装置３２６Ａは、入力を生成、受領、又は処理することができる。そのような入力は、キーボード、ポインティング装置、音声応答システム、ビデオカメラ、ボタン、センサ、生体計測センサ、モバイル装置、制御パッド、マイクロフォン、存在感知画面、ネットワーク、或いは、人間又は機械から入力を検出する任意のその他のタイプの装置からの入力を含むことができる。取得システム３２０Ａの１つ又は複数の出力装置３２８Ａは、出力を生成、受領、又は処理することができる。出力の例は、触覚、オーディオ、視覚、及び／又はビデオ出力である。出力装置３２８Ａは、ディスプレイ、サウンドカード、ビデオグラフィクスアダプタカード、スピーカ、存在感知画面、１つ又は複数のＵＳＢインターフェイス、ビデオ及び／又はオーディオ出力インターフェイス、或いは、触覚、オーディオ、ビデオ、又はその他の出力を生成する能力を有する任意のその他のタイプの装置を含むことができる。出力装置３２８Ａは、液晶ディスプレイ（ＬＣＤ）、ドットマトリックスディスプレイ、発光ダイオード（ＬＥＤ）ディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、陰極線管（ＣＲＴ）ディスプレイ、ｅインク、又はモノクロ、カラー、或いは、触覚、オーディオ、及び／又は視覚出力を生成する能力を有する任意のその他のタイプのディスプレイを含む技術を使用することによって出力装置として機能しうる表示装置を含むことができる。いくつかの例においては、取得システム３２０Ａは、１つ又は複数の入力装置３２６Ａ及び１つ又は複数の出力装置３２８Ａの両方として動作するユーザーインターフェイス装置として機能しうる存在感知ディスプレイを含むことができる。
【００６８】
取得システム３２０Ａの１つ又は複数の通信ユニット３４２Ａは、データを送信及び／又は受信することにより、取得システム３２０Ａの外部に位置する装置と通信することができると共に、いくつかの観点においては、入力装置及び出力装置の両方として動作することができる。いくつかの例においては、通信ユニット３２４Ａは、ネットワーク３９０上においてその他の装置と通信することができる。その他の例においては、通信ユニット３２４Ａは、セルラー無線ネットワークなどの無線ネットワーク上において無線信号を送信及び／又は受信することができる。その他の例においては、取得システム３２０Ａの通信ユニット３２４Ａは、全地球測位システム（ＧＰＳ）ネットワークなどの衛星ネットワーク上において衛星信号を送信及び／又は受信することができる。通信ユニット３２４Ａの例は、ネットワークインターフェイスカード（例えば、Ｅｔｈｅｒｎｅｔカードなど）、光トランシーバ、高周波トランシーバ、ＧＰＳレシーバ、或いは、情報を送信及び／又は受信しうる任意のその他のタイプの装置を含む。通信ユニット３２４Ａのその他の例は、モバイル装置において見出されるＢｌｕｅｔｏｏｔｈ（登録商標）、ＧＰＳ、３Ｇ、４Ｇ、ＬＴＥ、及びＷｉ−Ｆｉ（登録商標）送受信機のみならず、ユニバーサルシリアルバス（ＵＳＢ）コントローラ及びこれに類似したものを含むことができる。
【００６９】
取得システム３２０Ａの１つ又は複数のプロセッサ３３０Ａは、取得システム３２０Ａと関連する機能を実装することができると共に／又は、命令を実行することができる。プロセッサ３３０Ａの例は、マイクロプロセッサ、アプリケーションプロセッサ、ディスプレイコントローラ、補助プロセッサ、１つ又は複数のセンサハブ、並びに、プロセッサ、処理ユニット、又は処理装置として機能するように構成された任意のその他のハードウェアを含む。取得システム３２０Ａは、取得システム３２０Ａ内において存在する且つ／又はそこにおいて稼働するソフトウェア、ハードウェア、ファームウェア、或いは、ハードウェア、ソフトウェア、及びファームウェアの混合体を使用することにより、本開示の１つ又は複数の態様に従って動作を実行するべく、１つ又は複数のプロセッサ３３０Ａを使用することができる。
【００７０】
取得システム３２０Ａ内の１つ又は複数のストレージ装置３３２Ａは、取得システム３２０Ａの動作の際に、処理のための情報を保存することができる。いくつかの例においては、１つ又は複数のストレージ装置３３２Ａは、一時的なメモリであり、これは、１つ又は複数のストレージ装置の主要目的が長期保存ではないことを意味している。取得システム３２０Ａ上のストレージ装置３３２Ａは、揮発性メモリとして情報の短期保存のために構成されてもよく、且つ、従って、電源切断された場合に、保存されているコンテンツを保持することができない。揮発性メモリの例は、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、及び当技術分野において既知のその他の形態の揮発性メモリを含む。又、ストレージ装置３３２Ａは、いくつかの例においては、１つ又は複数のコンピュータ可読ストレージ媒体を含む。ストレージ装置３３２Ａは、揮発性メモリよりも大量の情報を保存するように構成することができる。ストレージ装置３３２Ａは、不揮発性メモリ空間として情報の長期保存のために更に構成されてもよく、従って、電源オン／オフサイクルの後にも、情報を保持することができる。不揮発性メモリの例は、磁気ハードディスク、光ディスク、フロッピーディスク、フラッシュメモリ、又は、電気的にプログラム可能なメモリ（ＥＰＲＯＭ）又は電気的に消去可能な且つプログラム可能なメモリ（ＥＥＰＲＯＭ）の形態を含む。ストレージ装置３３２Ａは、本開示の１つ又は複数の態様に従って記述されているモジュールの１つ又は複数と関連するプログラム命令及び／又はデータを保存することができる。
【００７１】
１つ又は複数のプロセッサ３３０Ａ及び１つ又は複数のストレージ装置３３２Ａは、ソフトウェアとして実装しうる、但し、いくつかの例においては、ハードウェア、ファームウェア、及びソフトウェアの任意の組合せを含みうる、１つ又は複数のモジュール用の動作環境又はプラットフォームを提供することができる。１つ又は複数のプロセッサ３３０Ａは、命令を実行することができると共に、１つ又は複数のストレージ装置３３２Ａは、１つ又は複数のモジュールの命令及び／又はデータを保存することができる。プロセッサ３３０Ａ及びストレージ装置３３２Ａの組合せは、１つ又は複数のアプリケーション、モジュール、又はソフトウェアの命令及び／又はデータを取得、保存、及び／又は実行することができる。又、プロセッサ３３０Ａ及び／又はストレージ装置３３２Ａは、限定を伴うことなしに、図３に示されているコンポーネントの１つ又は複数を含む、１つ又は複数のその他のソフトウェア及び／又はハードウェアコンポーネントに動作自在に結合することができる。
【００７２】
図４は、本開示において記述されている技法による、演算装置の例示用の動作を示すフローチャートである。図４の方法は、図１の演算装置１２０との関係において記述されているが、図３の演算装置３０２も、この又は類似の方法を実行するように構成されうることを理解されたい。
【００７３】
演算装置１２０は、ユーザーから生体計測情報を受け取っている（４０２）。例えば、生体計測センサ１０４の１つが、ユーザー１０６から生体計測サンプルを読み取っている。取得システム１０２は、生体計測情報を受け取り、且つ、生体計測情報を演算装置１２０に送信する。演算装置１２０の演算エンジン１２２は、生体計測情報に従って生体計測テンプレート（例えば、基準生体計測テンプレート）を構築することができる。例えば、指紋の画像を受け取ることに応答して、演算エンジン１２２は、指紋画像をそれぞれが指紋の画像の一部分を含むブロックに分割することができる。演算エンジン１２２は、（その他のブロックとの関係における）それぞれのブロック内の指紋のインディシアの座標及び指紋のインディシアの向き（例えば、特定の座標における基礎をなす隆起又は分岐部の方向）を判定する。指紋のインディシアのこれらの座標及び向きを使用することにより、演算エンジン１２２は、生体計測テンプレートを構築する。
【００７４】
演算装置１２０の演算エンジン１２２は、生体計測情報に従ってヘルパーデータを生成することができる（４０４）。例えば、演算エンジン１２２は、ヘルパーデータを生成するべく、例えば、ファジーエクストラクタ方式、ファジーボールト、又は類似の方式などの、暗号アルゴリズムを使用することができる。ヘルパーデータは、ヘルパーデータが、ユーザーを認証するためのキーを再構築するべく、使用されるように、キーを生体計測テンプレートとバインドすることにより、取得される。
【００７５】
演算エンジン１２２は、シェア生成ユニット１２４を介して、生体計測情報に従って複数の秘密シェアを生成している（４０６）。例えば、シェア生成ユニット１２４は、生体計測テンプレートの座標及び向きのそれぞれを個々の多項式（例えば、ｐ1（０）＝Ｘ1、ｐ2（０）＝Ｙ1、及びｐ3（０）＝θ1）の自由項内において保存される整数に変換することができる。多項式（例えば、ｐ1（ｘ）、ｐ2（ｘ）、及びｐ3（ｘ））のそれぞれは、生体計測テンプレートの単一の特徴点（例えば、（Ｘ1，Ｙ1，θ1））の整数をエンコードするべく、使用することができる。シェア生成ユニット１２４は、多項式内の値（例えば、特徴点（Ｘ1，Ｙ1，θ1）のＸ1）をエンコードするべく使用される多項式（例えば、ｐ1（ｘ））の「ｎ」個のポイント（例えば、ｐ1（１）、ｐ1（２）、ｐ1（３））において、それぞれの多項式を評価することができる。
【００７６】
演算装置１２０は、複数のストレージノード１１０とインターフェイスするためのストレージインターフェイスを介して、複数の秘密シェアのそれぞれを複数のストレージノードのうちの対応するものに保存している（４０８）。いくつかの例においては、演算装置１２０は、複数のストレージノードのうちの対応するものに複数のシェアのそれぞれを保存する際に複数のストレージノード１１０の接続をオフラインとして構成するべく、ストレージインターフェイスを使用することができる。
【００７７】
演算エンジン１２２は、ユーザーの後続の生体計測情報及びヘルパーデータを使用することにより、ユーザーを認証することができる（４１０）。例えば、演算エンジン１２２は、ユーザーを認証するべく使用されるデジタルキーを再構築するべく、後続の生体計測情報と共に、初期登録の際に生成されたヘルパーデータを使用している。
【００７８】
セキュリティ侵害又はアップデートの存在していない際には（ステップ４１２の「いいえ」ブランチ）、演算エンジン１２２は、ユーザーを認証するべく使用されるデジタルキーを再構築するために、後続の生体計測情報と共に、初期登録の際に生成されたヘルパーデータを使用するべく、継続する。
【００７９】
セキュリティ侵害又は更新の場合には（ステップ４１２の「はい」ブランチ）、演算エンジン１２２は、生体計測情報の複数の秘密シェアに従って新しいヘルパーデータの個々のシェアを生成するように、複数のストレージノードのそれぞれに命令するための複数のメッセージを出力し（４１４）、且つ、安全なプロトコルを使用することにより、複数のストレージノードのうちの２つ以上のストレージノードから新しいヘルパーデータの個々のシェアを受け取り（４１６）、且つ、ユーザーの後続の認証のために、２つ以上のストレージノードのそれぞれからの新しいヘルパーデータの個々のシェアに基づいて新しいヘルパーデータを判定すること（４１８）により、生体計測情報の再登録を実行している。この結果、演算装置１２０は、演算エンジン１２２が、ユーザーのオリジナルの生体計測情報を回復又はその他の方式で再使用する必要性なしに、且つ、ユーザーの更なる又は再度の生体計測情報を再取得する必要性なしに、新しいヘルパーデータの個々のシェアに基づいて新しいヘルパーデータを判定しうるように、対応するストレージノード１１０から新しいヘルパーデータの個々のシェアを取得するべく、ストレージインターフェイスを使用することができる。以下、図５との関係において、再登録動作に関する更なる詳細について説明する。
【００８０】
図５は、本開示において記述されている技法による例示用の再登録動作を更に詳細に示すフローチャートである。図５の例は、図１のストレージノード１１０Ａ及び１１０Ｂとの関係において記述されているが、図１の任意の２つ以上のストレージノード１１０を含むことができる。
【００８１】
図５の例においては、演算装置１２０は、生体計測情報の複数の秘密シェア及び安全なプロトコル又は類似の技法に従って新しいヘルパーデータの個々のシェアを生成するように、複数のストレージノード（例えば、ストレージノード１１０Ａ及び１１０Ｂ）のそれぞれに命令するための複数のメッセージを出力することができる（５０２）。いくつかの例においては、演算装置１２０は、再登録を実行する際に、ストレージノード１１０Ａ及び１１０Ｂの接続をオンラインとして自動的に再構成するべく、ストレージインターフェイスを使用することができる。ストレージノード１１０Ａ及び１１０Ｂがオンライン状態になるのに応答して、演算装置１２０は、ストレージノード１１０Ａ及び１１０Ｂが、それぞれ、新しいヘルパーデータの個々のシェアを生成しうるように、メッセージハンドラ１２８を介して、複数のメッセージをストレージノード１１０Ａ及び１１０Ｂに出力することができる。
【００８２】
ストレージノード１１０Ａ及び１１０Ｂは、メッセージ（５０４Ａ及び５０４Ｂ）を受け取ることができると共に、それぞれ、その他のストレージノードとの通信を通じて新しいヘルパーデータの個々のシェアを生成することができる。例えば、ストレージノード１１０Ａは、ストレージノード１１０Ａ内に保存されている秘密シェアに従って新しいヘルパーデータのシェアを生成することができる（５０６Ａ）。ストレージノード１１０Ｂは、ストレージノード１１０Ｂ内に保存されている秘密シェアに従って新しいヘルパーデータの別のシェアを生成することができる（５０６Ｂ）。例えば、ストレージノード１１０Ａ、１１０Ｂには、それぞれ、秘密共有された生体計測の再構築と、従って、新しいヘルパーデータシェア１１４の生成と、を伴うことなしに、安全な分散された方式により、ファジーエクストラクタ方式の生成関数を演算するべく、加算及び乗算演算などの演算のシーケンスを実行するように、命令することができる。
【００８３】
ストレージノード１１０Ａ及び１１０Ｂは、新しいヘルパーデータの個々のシェアを演算装置１２０に送信することができる（５０８Ａ及び５０８Ｂ）。例えば、ストレージノード１１０Ａ及び１１０Ｂは、それぞれ、新しいヘルパーデータの個々のシェアを含むメッセージを演算装置１２０に送信することができる。この結果、ストレージノード１１０Ａ及び１１０ＢＧ内に保存されている生体計測情報の秘密シェアは、再登録用の新しいヘルパーデータを生成する際に、明らかにならない。
【００８４】
演算装置１２０は、新しいヘルパーデータの個々のシェアを受け取ることができる（５１０）。例えば、演算装置１２０は、ストレージノード１１０Ａ及び１１０Ｂから新しいヘルパーデータの個々のシェアを受け取るべく、ストレージインターフェイスを使用することができる。いくつかの例においては、演算装置１２０は、ストレージノード１１０Ａ及び１１０Ｂから新しいヘルパーデータの個々のシェアを受け取ることに応答して、ストレージノード１１０Ａ及び１１０Ｂをオフラインとして構成するべく、ストレージインターフェイスを使用することができる。
【００８５】
演算装置１２０は、ユーザーの後続の認証のために、ストレージノード１１０Ａ及び１１０Ｂからの新しいヘルパーデータの個々のシェアに基づいて新しいヘルパーデータを判定することができる。例えば、演算装置１２０の演算エンジン１２２は、新しいヘルパーデータをエンコードする新しい多項式を回復するべく、ストレージノード１１０Ａ及び１１０Ｂからの新しいヘルパーデータの個々のシェアを組み合わせることができる。演算エンジン１２２は、新しいヘルパーデータとして使用される多項式の定数を生成するべく、回復された多項式に対して補間を適用することができる（５１４）。
【００８６】
上述の図１〜図５の説明は、ネットワーク化された認証システム内において安全な分散された秘密共有を使用することによって生体計測再登録を実行する技法を提示している。上述のように、技法は、ユーザーのオリジナルの生体計測情報の回復又はその他の方法による再使用を必要とすることなしに、且つ、ユーザーの更なる又は再度の生体計測情報の再取得を必要とすることなしに、ユーザー認証のための新しいヘルパーデータの再登録及び演算を可能にしている。技法は、ヘルパーデータの複数の秘密シェアを生成及び保存するべく、複数の安全なサーバーとの間における分散された秘密共有プロセスを利用するステップを含む。
【００８７】
以下の図６〜図１４の説明は、テンプレートプライバシー及び非対話型の再登録を伴う生体計測認証用の技法の態様について記述しており、これは、「パーソナル装置支援型の再登録」技法を含みうる。以下の説明においては、図１〜図５においても使用されているｄ及びｗなどの変数名を再使用又は再定義している場合がある。このような変数名の定義の範囲は、図６〜図１４の文脈において理解することを要する。１つ又は複数の態様においては、認証は、外部パーティの関与を伴わない、ユーザーとオーセンティケータの間において実行される、２パーティプロトコルである。１つ又は複数の態様においては、ユーザーに属する、或いは、ユーザーによって選択された、第三者パーソナル装置（補助サービス、或いは、いくつかのケースにおいては、補助システム、と呼称される）が、非対話型の再登録を促進することができる。企業は、なんらの更なるインフラストラクチャをも配備する必要がない（即ち、再登録サーバーを配備及び維持する必要がない）。ユーザーは、ユーザーの生体計測を有する企業を信頼する必要はなく、その理由は、このような生体計測のシェアが、ユーザーのパーソナル装置上において（或いは、この代わりに、ユーザーによって信頼されている第三者クラウドサービス内において）維持されているからである。更には、オーセンティケータ又は補助サービスのうちの１つが危険に晒されているケースにおいても、ユーザーの生体計測は、同一の攻撃者がオーセンティケータと補助サービスの両方を危険に晒すことができない限り、依然として、安全である。
【００８８】
１つ又は複数の態様においては、企業は、ユーザー認証要求を毎日処理しうるそのオーセンティケータの配備の責任を担うのみであってよい。再登録が望ましい際に、オーセンティケータ及び補助システムは、フレッシュな秘密用の新しいヘルパーデータを生成するべく、後述するように、協働することができる。再登録手順において、ユーザーの存在は、必要とされていない。更には、ユーザーのＲＢＴも、いずれかのパーティの内部において、明らかな形態において保存されていない。
【００８９】
以下の説明においては、ユーザーＵに対応するＲＢＴは、次式によって表すことが可能であり、
ＲＢＴU＝｛ｐ1，．．．，ｐM｝      （１）
この場合に、ｐ1，．．．，ｐMは、Ｕの生体計測の一意の詳細を表すデータポイントである。例えば、指紋のＲＢＴにおいて、それぞれのｐi∈ＲＢＴUは、指紋の特徴の場所及び向きを表している。特徴は、指紋ラインがマージしている且つ／又は分割されている指紋画像内の領域である。この結果、それぞれの特徴点は、次式としてエンコードすることが可能であり、
ｐi＝（ｘi，ｙi，θi）      （２）
この場合に、ｘi及びｙiは、特徴ｐiのデカルト座標であり、且つ、θiは、向きを表す角度である。虹彩スキャンなどのその他の生体計測の場合には、類似のエンコード技法を使用することができる。
【００９０】
図１４は、例示用の指紋及び指紋から判定された例示用の特徴点を提供している。図１４に示されている例においては、画像１４０２は、第１時点において取得されたユーザーの指紋の画像を表している。画像１４０６は、再方向付けされ、且つ、（白色の正方形によって示された）特徴点が判定された後の、指紋１４０２を表している。画像１４０４は、第２時点において取得された同一のユーザーの指紋の画像を表している。画像１４０８は、再方向付けされ、且つ、特徴点が判定された後の、指紋１４０４を表している。画像からわかるように、特徴点の多くが、画像１４０６及び１４０８内の同一の場所に位置している。
【００９１】
１つ又は複数の態様においては、生体計測認証システム内においてユーザーを登録、認証、及び再登録するべく、秘密共有、安全なマルチパーティ演算、及びファジーボールトを使用することができる。以下、これらの技法の説明を提供し、その後に、登録、認証、及び再登録動作におけるその使用法について説明することとする。
【００９２】
秘密共有
１つ又は複数の態様においては、ユーザーの生体計測情報のセキュリティを維持するべく、秘密共有が使用されている。「ＮのうちのＫ（Ｋ−ｏｕｔ−ｏｆ−Ｎ）」秘密共有においては、ディーラーは、少なくともＫ個のパーティのサブセットが秘密を回復しうるように、秘密をＮ個のパーティに分配している。最大でＫ−１個以下のシェアを知ることにより、秘密に関する情報の漏洩は、発生しない。更に後述するように、「２のうちの２（２−ｏｕｔ−ｏｆ−２）」個の秘密シェアをＲＢＴから生成することができる。秘密シェアの一方は、オーセンティケータに提供され、且つ、他方のものは、補助システムに提供される。後述する秘密共有の使用法を使用することにより、非対話型の再登録を可能にすることができる。オーセンティケータ及び補助システムが共謀しない限り、これらのうちの１つを危険に晒すことにより、ユーザーのＲＢＴについて、なにも知ることはできない。以下の説明において、秘密共有の表記法は、以下のとおりである。秘密Ｘが付与された場合に、［Ｘ］jがｊ番目の秘密シェアを表しており、且つ、次式により、ＸのＮ個のシェアの生成を表すものとしよう。
｛［Ｘ］1，…，［Ｘ］N｝←Ｘ      （３）
【００９３】
Ｋ個のシェアからの秘密Ｘの再構築は、次式によって表記される。
Ｘ←｛［Ｘ］1…，［Ｘ］K｝      （４）
【００９４】
安全なマルチパーティ演算
１つ又は複数の態様においては、特定の値を演算するべく、安全なマルチパーティ演算（ＭＰＣ：Ｍｕｌｔｉ−Ｐａｒｔｙ  Ｃｏｍｐｕｔａｔｉｏｎ）が使用されている。ＭＰＣプロトコルによれば、相互に信頼していないパーティは、他方のパーティに（関数の出力によって明かされるもの以外の）その入力に関する情報を明かさない状態において、それぞれのプライベートな入力の関数ｆを共同で演算することができる。これらの保証は、通常、最小数の正直なパーティ用の特定の閾値まで確保されている。正直であるが好奇心が強い（ＨＢＣ：Ｈｏｎｅｓｔ−Ｂｕｔ−Ｃｕｒｉｏｕｓ）モデルにおいては、堕落したパーティは、他方のパーティのプライベート入力を知ろうと協働するが、彼らは、ｆの演算用のプロトコル仕様から逸脱することはない。「悪意のある（Ｍａｌｉｃｉｏｕｓ）」モデルにおいては、堕落したパーティは、共謀し、且つ、プロトコル仕様から逸脱する可能性があり、且つ、ｆの演算の結果に影響を及ぼすべく試みる可能性がある。
【００９５】
標準的な代数ＭＰＣプロトコルにおいては、それぞれのパーティは、通常、（例えば、シャミールの秘密共有方式を使用することによって）その入力のシェアを生成し、且つ、１つのシェアをそれぞれの他方のパーティに分配している。ＭＰＣの一態様は、結果的に得られるシェアが、動作における正しい結果に組み合わせられうるように、シェアに対する加算及び乗算の両方を演算しうる場合には、これらの２つの基本的動作から任意の関数ｆを実装することができる、というものである。プライベート入力に対する加算及び乗算を演算するべく、様々な方式が提案されている。
【００９６】
これらの方式の大部分は、これらの動作の演算において、以下のような共通的特性を共有している。
・秘密シェアの加算をローカルに演算することができる。これを目的として、それぞれのパーティは、その独自の秘密シェアについて加算を演算する。秘密シェアについて演算されたＮ個のローカルな結果は、演算されたら、１つ又は複数の実際の秘密の加算の結果をもたらす。
・秘密シェアの乗算は、通信を必要としている。異なる方式が存在している場合にも、大部分のものは、乗算結果の個々のシェアが正しく演算されうるように、パーティが、乗算の演算の際に、中間的な（隠蔽された）結果をブロードキャストすることを必要としている。
【００９７】
１つ又は複数の態様においては、特定の値を演算するべく、或いは、特定の動作を制御するべく、２ＰＣと呼称される、２つのパーティを伴うＭＰＣの特殊なケースが使用されている。更には、１つ又は複数の態様は、実行時間を改善するべく、乗算トリプルの事前演算を利用している。
【００９８】
ファジーボールト
ファジーボールト（ＦＶ）は、指紋の式１において先程示されているように、データポイントの順序付けされていない組として表しうる、ＲＢＴなどの、データセットと共に動作するように設計されている。ＦＶのセキュリティは、多項式再構築問題の実行不能性に依存している。ＦＶは、秘密ｋを隠蔽するべく、生体計測テンプレートＲＢＴUを使用するステップを許容している。例えば、秘密は、例えば、ユーザーを認証するべく使用されうる、なんらかのプライベートなデータ又は暗号キーであってよい。ＦＶ生成構造は、図１２に示されている定義１において提示されている。図１２において詳述されている定義２及び３は、ＦＶの完全性及び（情報理論的）セキュリティについて記述している。
【００９９】
定義１においては、偽受入れ（ｋを誤ったユーザーに対して明かすこと）及び偽拒絶（ｋを正しいユーザーに対して明かすことを拒絶すること）の極小化の間におけるトレードオフを制御するべく、距離閾値ｗを使用することができる。
【０１００】
図１２に示されているＦＶGENアルゴリズムは、ガロア域ＧＦ（２τ）にわたって定義された次数ｄの多項式Ｐを選択し、且つ、秘密ｋをＰのｄ＋１個の係数（ａi）にエンコード（或いは、分割）することにより、実装することができる。結果的に得られる多項式は、次式として定義することが可能であり、
【０１０１】
【数１】
2019205157.tif 000003
【０１０２】
ここで、係数｛ａ0，．．．，ａd｝は、ｋから生成されており、且つ、ｋを再構築するべく、だれもが使用することができる。Ｐは、ＧＦ（２τ）にわたって定義されていることから、それぞれの係数は、τビットをエンコードすることができる。これは、エンコードされうるキーのサイズが、域のサイズの関数であり、且つ、多項式の次数が次式によって付与される、ことを意味している。
【０１０３】
【数２】
2019205157.tif 000004
【０１０４】
ｋを多項式Ｐkとしてエンコードした後に、ＲＢＴU内のｌP個のデータポイントのそれぞれが、多項式Ｐk内において評価され、これにより、二次元プレーン内のポイントのリストが生成される。
【０１０５】
【数３】
2019205157.tif 000005
【０１０６】
域は、単一の域要素としてＲＢＴUからデータポイントをエンコードするべく、十分に大きくなければならないことにも留意されたい。結果的に得られた組ＬPは、多項式Ｐｋに属するプレーン内のポイントを収容している。ＬPに加えて、ペア（ｒx，ｒy）をランダムに選択することにより、サイズｌS＞＞ｌPのチャフポイントの組ＬSが生成され、この場合に、ｒx及びｒy∈ＧＦ（２τ）であり、この結果、次式が得られる。
【０１０７】
【数４】
2019205157.tif 000006
【０１０８】
最後に、ランダム置換π$を使用することにより、ＬP及びＬSが一緒にシャフリングされ、且つ、結果が、ヘルパーデータとして公開される。
【０１０９】
【数５】
2019205157.tif 000007
【０１１０】
又、ヘルパーデータは、パブリックパラメータの組Φ＝｛Ｆ，ｄ，ｌP，Ｈ（ｋ）｝を含むことも可能であり、この場合に、Ｆは、Ｐk（ｘ）が定義される域であり、且つ、ｄは、その次数であり、ｌPは、ＲＢＴUのサイズ、即ち、Ｐk（ｘ）に属するヘルパーデータ内のポイントの数であり、且つ、Ｈ（ｋ）は、正しい秘密がＦＶOPENを使用することによって再構築されたかどうかを検証することを許容する秘密ｋの暗号ハッシュである。
【０１１１】
ＦＶ方式の一態様は、Ｐk（ｘ）上のポイントであるｄ＋１個の別個のポイント（ｐi，Ｐk（ｐi））により、Ｐk（ｘ）を補間することが可能であり、且つ、その係数を取得することができる、というものである。従って、ｋを回復することができる。但し、ＨＤ内のｌP＋ｌSから、補完対象のｄ＋１ポイントを見出すことは、ｌP＋ｌSがｄよりも十分に大きい場合には、可能性が低い。一例として、１つ又は複数の態様においては、ＬPは、２０個のポイントを含むことが可能であり、且つ、ＬSは、２００個のポイントを含むことができる。
【０１１２】
新しい生体計測読取値のＲＢＴ’Uを使用することにより、ＨＤからｋを再構築するべく試みる際に、ＦＶOPENアルゴリズムは、ＨＤ内のｌP＋ｌSポイントから、ＲＢＴ’U内のポイントへの最近接マッチングであるｌPポイントを選択するべく、（生体計測タイプに従って定義されうる）距離関数を使用することができる。ｌP個の選択されたポイントのうち、少なくともｄ＋１個のポイントが、オリジナルのＬPに属するポイントである場合には、アルゴリズムは、正しい多項式を補間することが可能であり、且つ、ｋを回復することができる。ｋが、正しく回復されたことを検証するべく、アルゴリズムは、結果をハッシュ化することが可能であり、且つ、それをＨＤと共に公開されたＨ（ｋ）と比較することができる。ｄ＋１未満の数の正しいポイントが距離マッチングを介して選択されたｌP個のポイントの中に存在する場合には、ｌPのうちのｄ＋１個のポイントの組合せを伴う補間は、ハッシュ内のマッチングをもたらすことにならず、その理由は、Ｐkが、正しく補間されることにならないからである。従って、ＦＶOPENは、ＲＢＴ’Uを拒絶することになる。
【０１１３】
上述のように、距離関数は、生体計測タイプに応じて変化しうる。生体計測が指紋である１つ又は複数の態様においては、以下の距離関数を使用することができる。
【０１１４】
【数６】
2019205157.tif 000008
【０１１５】
ここで、Δ（θi，θj）＝ｍｉｎ（｜θi−θj｜，３６０−｜θi−θj｜）である。パラメータβは、ポイントの間のユークリッド距離との比較において、距離演算において特徴の向きに付与される重要性の大きさを制御することができる。ＲＢＴ’内のいくつかのポイントについて、Ｄ（ｐi，ｐj）＜ｗである場合には、ヘルパーデータから、データポイントｐiを選択することが可能であり、この場合に、ｗは、距離閾値である。
【０１１６】
１つ又は複数の態様においては、ＦＶは、ＲＢＴU及びＲＢＴ’U内の順序付けされた要素を必要としてはおらず、且つ、すべてのデータポイントが両方のテンプレート内に存在していることを必要としてはいない。ＲＢＴ’U内のｄ＋１個のデータポイントのみが、ＲＢＴU内のポイントに十分に近接していなければならない。多項式の次数ｄは、必要とされるマッチングしたデータポイントの数を増大させることによって偽受入れを低減するための方式の較正を許容するセキュリティパラメータとして機能することができる。
【０１１７】
従来のＦＶ実装形態に伴う技術的問題は、それらが可換性を有しうる、という点にある。従って、従来のＦＶ構造内においては、ＲＢＴUを提供することにより、秘密キーｋがヘルパーデータから取得されうるのみならず、逆も又真であって、秘密キーｋ及びヘルパーデータを有することにより、ＲＢＴUを導出することができる。このプロパティは、入力可換性と呼称される。これは、ヘルパーデータ及び秘密キーの両方の保存が望ましいシステムにおける技術的問題点であり、その理由は、その結果、ユーザーのＲＢＴの回復が許容され、これにより、ユーザーのプライバシーが侵害されうるからである。この問題に対する技術的解決策として、１つ又は複数の態様は、非可換ＦＶ（ｎｃＦＶ）と呼称される、変更されたＦＶアルゴリズムの実装形態を利用している。ｎｃＦＶの実装形態は、入力可換性の問題を有しておらず、且つ、従って、従来のＦＶ実装形態との比較において、この技術的改善は、生体計測プライバシー、複数の認証エントリポイント、使用の容易性、及び非対話型の再登録、並びに／或いは、生体計測が不可知であることを促進しつつ、安全な認証に必要とされるパーティの数の低減などの、１つ又は複数の実際的な用途を提供することができる。
【０１１８】
以下、生体計測認証システムにおいてユーザーを登録、認証、及び再登録するべく、上述の秘密共有、安全なマルチパーティ演算、及びファジーボールトを利用するシステム及び方法について説明することとする。
【０１１９】
図６は、本開示の１つ又は複数の態様に従って構成された例示用の生体計測認証システム６００を示すブロック図である。図６に示されている例においては、生体計測認証システム６００は、少なくとも、ＲＢＴリーダ６０６と、オーセンティケータ６０２と、補助システム６０４と、を含む。これらの装置は、データ及びメッセージを交換するための通信ネットワーク（図示されてはいない）によって結合することができる。ＲＢＴリーダ６０６、オーセンティケータ６０２、及び補助システム６０４のそれぞれは、図３の演算装置３０２に類似した演算装置を使用することにより、実装されてもよく、この場合に、メモリに結合された１つ又は複数のプロセッサを有する演算エンジン３１８が、本明細書において記述されている技法を実装するモジュールを稼働させている。
【０１２０】
ＲＢＴリーダ６０６は、１つ又は複数のユーザーの生体計測情報を取得するべく、１つ又は複数の生体計測センサ１０４から入力を受け取ることができる。例えば、ＲＢＴリーダ６０６は、上述のように、指紋スキャナ（静電容量性又は光学型）、掌スキャナ、顔面認識スキャナ、表情スキャナ、虹彩／網膜スキャナ、赤外線カメラ、心拍数スキャナ、歩行センサ（例えば、ビデオ又は加速度計）、或いは、ユーザー１０６から生体計測情報１０８を読み取るその他の生体計測センサを含みうる１つ又は複数の生体計測センサ１０４を有することができる。いくつかの例においては、生体計測センサ１０４を含む、ＲＢＴリーダ６０６のコンポーネントは、１つの物理的構造内に含まれている。いくつかの例においては、生体計測センサ１０４は、異なる物理的構造内に存在している。
【０１２１】
いくつかの例においては、生体計測センサ１０４は、例えば、ソフトウェアアプリケーション、物理的なロック、或いは、その他のタイプの安全なストレージ又はアプリケーションなどの、物理的且つ／又は仮想的な環境に対するアクセス及び／又は権限を求めているユーザー１０６から、生体計測サンプルを読み取ることができる。ＲＢＴリーダ６０６は、生体計測サンプル（例えば、指紋の画像）を生体計測センサ１０４から受け取ることができると共に、生体計測サンプルからＲＢＴ６３０を判定することができる。ＲＢＴリーダ６０６は、更に後述するように、登録、再登録、及び認証動作において使用されるべく、ＲＢＴ６３０の一部分をオーセンティケータ６０２及び補助システム６０４と共有することができる。
【０１２２】
オーセンティケータ６０２は、ユーザー認証サービスを提供することができる。例えば、オーセンティケータ６０２は、ユーザーの生体計測情報に基づいてユーザーのアイデンティティを検証することができる。オーセンティケータ６０２は、最初のユーザー登録プロセスにおいて生成された、且つ、ユーザーと関連している、ヘルパーデータ６２６を維持することができる。１つ又は複数の態様においては、オーセンティケータ６０２及び補助システム６０４は、登録又は再登録動作において、ヘルパーデータ６２６の別個の部分を提供している。秘密キー６１４を生成するべく、秘密キー生成器６１０を使用することができる。秘密キー生成器６１０は、秘密キーシェアを生成することが可能であり、秘密キーシェアを補助システム６０４に提供することが可能であり、且つ、補助システム６０４によって生成された秘密キーシェアを受け取ることができる。秘密キー生成器６１０は、秘密キー６１４を生成するべく、補助システム６０４上において生成された秘密キーシェアを秘密キー生成器６１０によって生成された秘密キーシェアと組み合わせることができる。秘密キー６１４は、オーセンティケータ６０２及び補助システム６０４にＲＢＴリーダ６０６によって提供されたＲＢＴ６３０のシェアを使用することにより、ヘルパーデータ６２６内においてエンコードすることができる。この結果、秘密キー６１４は、認証プロセス内において使用することができる。
【０１２３】
補助システム６０４は、登録及び再登録動作において使用することができる。補助システム６０４は、秘密キー６１６を生成するべく使用されうる秘密キー生成器６１２を含む。秘密キー生成器６１０と同様に、秘密キー生成器６１２も、秘密キーシェアを生成することが可能であり、秘密キーシェアをオーセンティケータ６０２に提供することが可能であり、且つ、オーセンティケータ６０２によって生成された秘密キーシェアを受け取ることができる。
【０１２４】
ＲＢＴリーダ６０６、オーセンティケータ６０２、及び補助システム６０４は、様々なタイプの演算装置上において実装することができる。例えば、ＲＢＴリーダ６０６は、生体計測情報を処理すると共にＲＢＴをオーセンティケータ６０２及び補助システム６０４に提供するべく、付随するプロセッサ又はその他の回路と共に、企業の入口ドアにおいて、生体計測センサを含むことができる。更なる一例として、ＲＢＴリーダ６０６は、ユーザーの電話機であってもよい。
【０１２５】
１つ又は複数の態様においては、オーセンティケータ６０２は、企業サーバー上において実装することができる。その他の態様においては、オーセンティケータ６０２は、例えば、ウェブサービス又はクラウドサービスとしてなどのように、サービスとして実装することができる。認証アプリケーションプログラムインターフェイス（ＡＰＩ：Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）６２２は、オーセンティケータ６０２によって提供される機能に対するソフトウェア定義されたインターフェイスを提供するべく、使用することができる。
【０１２６】
１つ又は複数の態様においては、補助システム６０４は、ユーザーの電話機上において実装することができる。更なる態様においては、補助システム６０４は、ウェブサービス又はクラウドサービスとして実装することができる。補助アプリケーションプログラミングインターフェイス（ＡＰＩ）６１４は、補助サービス６０４によって提供される機能に対するソフトウェアインターフェイスを提供することができる。
【０１２７】
ＲＢＴリーダ６０６、オーセンティケータ６０２、及び補助システム６０４によって提供される機能は、図６に示された例によって示されているものとは異なる方式により、分散させることができることに留意されたい。例えば、ＲＢＴリーダ６０６及び補助システム６０４は、両方とも、ユーザーの電話機上において実装することができる。更には、ＢＩＡシステム６００は、複数のＲＢＴリーダ６０６、補助システム６０４、及びオーセンティケータ６０２を含むことができることに留意されたい。
【０１２８】
以下、図９〜図１１を参照し、ＲＢＴリーダ６０６、オーセンティケータ６０２、及び補助システム６０４によって実行される例示用の動作に関する更なる詳細を提供する。
【０１２９】
ＲＢＴリーダ６０６、オーセンティケータ６０２、補助システム６０４は、非可換ファジーボールト（ｎｃＦＶ）６１８を実装することができる。ｎｃＦＶ６１８は、ＲＢＴを使用することにより、秘密キーをヘルパーデータに埋め込むべく、使用することができる。以下、図７及び図８を参照し、ｎｖＦＶ６１８の動作に関する更なる詳細を提供する。
【０１３０】
１つ又は複数の態様においては、安全な２パーティ演算（２ＰＣ）を使用することにより、更なるセキュリティ及びプライバシーが提供されている。例えば、オーセンティケータ６０２及び補助システム６１４は、ｎｃＦＶ６１８の一部分として、或いは、これに加えて、２ＰＣ６２０を実装することができる。２ＰＣによれば、相互に信頼していないパーティは、（関数の出力によって明かされるもの以外の）その入力に関する情報をその他のパーティに明かすことなしに、それぞれのプライベートな入力の関数ｆを協働して演算することができる。２ＰＣの「正直であるが好奇心が強い（ＨＢＣ）」モデルにおいては、堕落したパーティは、他方のパーティのプライベートな入力を知るべく協働しうるが、彼らは、ｆの演算用のプロトコル仕様から逸脱することがない。「悪意を有する」モデルにおいては、堕落したパーティは、共謀する場合があり、且つ、プロトコル仕様から逸脱する可能性があり、且つ、ｆの演算の結果に影響を及ぼすべく試みる可能性がある。１つ又は複数の態様においては、２ＰＣ６２０は、「悪意を有する」モデルを実装している。
【０１３１】
図７は、本開示において記述されている１つ又は複数の態様による例示用の非可換ファジーボールト生成動作を示すフローチャートである。従来のＦＶの入力可換性の制限に対処するために、ヘルパーデータを生成するべく、ｎｃＦＶを使用することができる。１つ又は複数の態様においては、ｎｃＦＶは、単一のオーセンティケータが、ＲＢＴのプライバシーを危険に晒すことなしに、秘密キー及び対応するヘルパーデータを保存することを許容している。従来のＦＶ及びｎｃＦＶの両方において、秘密キーは、認証のために使用される暗号資料であってもよい。上述のように、認証秘密キーを知ることは、秘密キーを使用して生成された多項式Ｐkの係数を知ることと同一である。ｎｃＦＶは、（認証秘密に加えて）Ｐkの係数内においてエンコードされた相対的に大きなランダム性を追加することができる。１つ又は複数の態様においては、ｎｃＦＶの生成関数が、秘密キーｋA及びＲＢＴを入力として受け取っている（７０２）。生成関数は、第２秘密キーｋBを生成している（７０４）。秘密キーｋは、ｋ＝ｋA｜｜ｋBとなるように、生成されている（７０６）。１つ又は複数の態様においては、ｋAは、認証のために使用される暗号資料を表しており、且つ、ｋBは、ランダムビットストリングであってよい。従って、Ｐkの係数の半分は、ｋAから導出され、半分は、ｋBから導出されている。次いで、ｎｃＦＶの生成関数は、入力としてｋ及びＲＢＴを有する従来のＦＶ生成アルゴリズムを使用することにより、出力としてヘルパーデータを生成することができる（７０８）。
【０１３２】
上述のように、ＦＶアルゴリズムにおいては、多項式Ｐkによって判定されたポイントＬP及びチャフポイントＬSが、ヘルパーデータ内における包含の前に、ランダム置換を使用することにより、１つにシャフリングされている。１つ又は複数の態様においては、ポイントをシャフリングするべく、「オブリビアスシャッフル」が使用されている。オブリビアスシャッフルの目的は、パーティ（例えば、オーセンティケータ及び補助パーティ）が、同一の方式により、そのシェアをランダムに置換するようにし、これにより、リスト内の要素の１対１の再構築を許容する、という点にある。但し、それ自体でシェアを保持しているパーティは、演算されている置換について知ってはならない。さもなければ、生体計測ポイントとチャフポイントを混合するべく使用される置換を知ることにより、パーティは、ＨＤが再構築されたら、リストをアンシャフリングすることにより、生体計測を回復できることになろう。１つ又は複数の態様においては、ＦＶ生成器は、Ｏ（（ｌP＋ｌS）2）個のペア型のオブリビアススワップを演算することにより、秘密シェアのリストのオブリビアスシャッフルを演算している。ペア型のシャッフルは、以下の３つの入力を有することにより、実装することができる。
（１）リスト（ＬP∪ＬS）内の要素の秘密シェアであり、これを［ｅ１］と呼称する。
（２）リスト（ＬP∪ＬS）内の別の要素の秘密シェアであり、これを［ｅ２］と呼称する。
（３）２ＰＣにおいてランダムに生成されたビットの秘密シェアであり、これを［ｂ］と呼称する。
【０１３３】
２つの要素のオブリビアススワップを実行するべく、それぞれのパーティは、次式を演算する。
［ｅ１］new＝（（［ｅ１］＊［ｂ］）＋（［ｅ２］＊［１−ｂ］））
［ｅ２］new＝（（［ｅ２］＊［ｂ］）＋（［ｅ１］＊［１−ｂ］））
【０１３４】
ｂのシェアは、悪意を有する方式で安全な２ＰＣプロトコルにおいてランダムに生成される。従って、２ＰＣプロトコルは、ｂを生成するパーティにとっても、（それらが共謀しない限り）ｂが常にランダム／予測不能であることを保証している。それぞれのペアごとに、ビットｂが１である場合には、同一の位置が維持され、さもなければ、ペアは、スワップされる。ｂは、２ＰＣにおいてランダムに選択されていることから、要素は、再ランダム化される。従って、結果を見ることにより、それらがスワップされたかどうかを判断するための手段は存在していない。最後に、連続した要素のランダムなペア型のスワップを反復することによるリストを通じた反復により、リスト（ＬP∪ＬS）全体のオブリビアスシャッフルを演算することができる。
【０１３５】
図８は、本開示において記述されている１つ又は複数の態様による例示用のｎｃＦＶオープン動作を示すフローチャートである。ｎｃＦＶオープン関数は、ヘルパーデータ及びＲＢＴ’を入力として受け取っている（８０２）。ヘルパーデータ及びＲＢＴ’は、従来のＦＶオープン関数に提供することができる（８０４）。ＦＶオープン関数が入力ＲＢＴ’からキーを成功裏に判定することができない場合には（動作８０６の「いいえ」ブランチ）、ｎｃＦＶオープン関数は、オープンに失敗したという通知を返す（８０８）。これは、ＲＢＴ’が、登録プロセスにおいて提供されたＲＢＴに十分にマッチングしなかったことを示している。ＦＶオープン関数が、ヘルパーデータを生成するべく使用される多項式の係数を判定することができる場合には（動作８０６の「はい」ブランチ）、ｎｃＦＶオープン関数は、ｋBと関連する係数を破棄し、且つ、ｋAと関連する係数を出力として返す（８０８）。一例として、ＦＶオープン関数が｛ａ0，．．．，ａd，ａd+1，．．．，ａ2d+1｝を係数として成功裏に返したとしよう。係数ａ0〜ａdは、ｋAと関連しており、且つ、係数ａd+1〜ａ2d+1は、ｋBと関連している。係数ａd+1〜ａ2d+1は、破棄することが可能であり、且つ、係数ａ0〜ａdは、出力キーを生成するべく、使用することができる。
【０１３６】
図１３には、ｎｃＦＶ生成関数及びｎｃＦＶオープン関数の正式な定義が提示されている。図１３のアルゴリズム１において提示されている、且つ、図７との関係において上述した、ｎｃＦＶは、標準的なＦＶOPENアルゴリズムを使用することによってオープンされうるヘルパーデータＨＤを生成する。ＨＤをオープンすることにより、ｋが得られるが、有効な暗号資料として見なすことができるのは、ｋの半分、即ち、ｋAのみである。この結果、ヘルパーデータを生成するべく使用されるＲＢＴUを危険に晒すことなしに、ＨＤ及びｋAを同一のエンティティにおいて保存することができる。ＲＢＴUは、成功裏に演算することが不可能であり、その理由は、ｋAが既知であっても、多項式ｐKがそうではないからであり、その理由は、いまや、ｋAが、これを一意に判定しないからである。図１２の定義１、定義２、及び定義３は、ｎｃＦＶの非可換プロパティを定義する図１３の定義４により、修正されている。
【０１３７】
図９は、本開示において記述されている１つ又は複数の態様による、例示用の生体計測認証システムの例示用の登録動作を示すフローチャートである。図９に示されている動作は、生体計測認証システムとの間においてユーザーを登録するべく登録プロセスが開始された際に、実行することができる。ユーザーが登録プロセスの一部分として生体計測サンプルを提供するのに応答して、ＲＢＴリーダ６０６は、ユーザーと関連するＲＢＴ（ＲＢＴU）を生成することができる。ＲＢＴUを有するデータは、生体計測サンプルからの生体計測情報のインディシアを含むことが可能であり、且つ、取得された生体計測情報のタイプに応じて変化しうる。生体計測情報のインディシアは、指紋の特徴点、眼スキャンのケースにおける虹彩コード、或いは、生体計測サンプルのその他の粒度のポイントを含むことができる。一例として、指紋スキャンのＲＢＴUは、指紋の特定のポイント（例えば、隆起の終了部、隆起の分岐部、短い隆起など）の座標及び向きを識別することができる。
【０１３８】
オーセンティケータ６０２は、秘密キー（ＫA）を生成することができる（９０４）。オーセンティケータ６０２は、ＫAの２つのシェアを生成することができる（９０６）。ＫAの第１部分は、ＫA1に複写することが可能であり、ＫAの第２部分は、ＫA2に複写することができる。又、補助システム６０４は、秘密キー（ＫB）を生成することが可能であり（９０８）、且つ、ＫBの２つのシェアを生成することができる（９１０）。ＫBの第１部分は、ＫB1に複写することが可能であり、且つ、ＫBの第２部分は、ＫB2に複写することができる。オーセンティケータ６０２及び補助システム６０４は、それぞれの個々の秘密キーのシェアを交換することができる。オーセンティケータ６０２は、ＫA2を補助システム６０４に提供することが可能であり（９１２）、且つ、補助システム６０４は、ＫB1をオーセンティケータ６０２に提供することができる（９１４）。
【０１３９】
ＲＢＴリーダ６０６は、ＲＢＴUから、２つのシェア（ＲＢＴU1及びＲＢＴU2）を生成することができる（９１６）。ＲＢＴUの第１部分は、ＲＢＴU1に複写することが可能であり、且つ、ＲＢＴUの第２部分は、ＲＢＴU2に複写することができる。ＲＢＴリーダ６０６は、ＲＢＴU1をオーセンティケータ６０２に提供することが可能であり（９１８）、且つ、ＲＢＴU2を補助システム６４０に提供することができる（９２０）。
【０１４０】
オーセンティケータ６０２は、生体計測認証システムとの間において登録されているユーザーのユーザー識別（ＵＩＤ）との関連において、そのシェアＲＢＴU1、ＫA1、及びＫB1を永続的に保存することができる（９２２）。
【０１４１】
オーセンティケータ６０２は、ＫA1及びＫB1を使用することにより、ガロア域ＧＦ（２τ）にわたって定義された次数２ｄ＋１の多項式Ｐ1を生成することができる（９２４）。１つ又は複数の態様においては、ＫA1及びＫB1は、単一のキーｋに組み合わせる（即ち、連結する）ことが可能であり（即ち、ｋ＝ＫA1｜｜ＫB1）、且つ、ｋは、Ｐ1の２ｄ＋１個の係数（ａi）にエンコード又は分割することができる。結果的に得られる多項式は、式５において上述したように定義することが可能であり、この場合に、係数｛ａ0，…，ａ2d+1｝は、ｋから生成されており、且つ、ｋを再構築するべく、使用することができる。
【０１４２】
オーセンティケータ６０２は、非可換変換を使用することにより、ヘルパーデータＨＤ1の第１シェアを生成するべく、Ｐ1を使用することができる（９２６）。１つ又は複数の態様においては、動作９２４及び９２６は、ｎｃＦＶ生成関数によって実行することができる。
【０１４３】
補助システム６０４は、生体計測認証システムとの間において登録されているユーザーのユーザー識別（ＵＩＤ）との関連において、そのシェアＲＢＴU2、ＫA2、及びＫB2を永続的に保存することができる（９２８）。
【０１４４】
補助システム６０４は、ＫA2及びＫB2を使用することにより、ガロア域ＧＦ（２τ）にわたって定義された次数２ｄ＋１の多項式Ｐ2を生成することができる（９３０）。１つ又は複数の態様においては、ＫA2及びＫB2は、単一のキーｋに組み合わせる（即ち、連結する）ことが可能であり（即ち、ｋ＝ＫA2｜｜ＫB2）、且つ、ｋは、Ｐ2の２ｄ＋１個の係数（ａi）にエンコード又は分割することができる。結果的に得られる多項式は、式５において上述したように定義することが可能であり、この場合に、係数｛ａ0，…，ａ2d+1｝は、ｋから生成されており、且つ、ｋを再構築するべく、使用することができる。
【０１４５】
補助システム６０４は、非可換変換を使用することにより、ヘルパーデータＨＤ2の第２シェアを生成するべく、Ｐ2を使用することができる（９３２）。１つ又は複数の態様においては、動作９３０及び９３２は、ｎｃＦＶ生成関数によって実行することができる。
【０１４６】
補助システム６０４は、ヘルパーデータＨＤ2のその第２シェアをオーセンティケータ６０２に提供することができる（９３４）。
【０１４７】
次いで、オーセンティケータ６０２は、第１シェアＨＤ1及び第２シェアＨＤ2を使用することにより、フルバージョンのヘルパーデータＨＤを生成することができる（９３６）。オーセンティケータ６０２は、ユーザーＩＤとの関連において、ヘルパーデータＨＤ及び秘密キーＫAを保存することができる（９３８）。
【０１４８】
図１０は、本開示において記述されている１つ又は複数の態様による、例示用の生体計測認証システムの例示用の認証動作を示すフローチャートである。ユーザーが認証プロセスの一部分として生体計測サンプルを提供するのに応答して、ＲＢＴリーダ６０６は、ユーザーと関連するＲＢＴ’Uを生成することができる（１００２）。ＲＢＴ’Uを生成するＲＢＴリーダ６０６は、ユーザーを登録するべく使用された同一のＲＢＴリーダ６０６であってもよく、或いは、異なるＲＢＴリーダ６０６であってもよい。一例として、ユーザーは、ＢＩＡシステム６００において登録するべく、ＲＢＴリーダ６０６として自身の電話機を使用することができる。登録の後に、ユーザーは、建物に進入するべく、例えば、ドアに位置したＲＢＴリーダ６０６などの、異なるＲＢＴリーダ６０６を使用することができる。上述のように、ＲＢＴを有するデータは、生体計測サンプルからの生体計測情報のインディシアを含むことが可能であり、且つ、取得された生体計測情報のタイプに応じて変化しうる。生体計測情報のインディシアは、指紋の特徴点、眼スキャンのケースにおける虹彩コード、又は生体計測サンプルのその他の粒度のポイントを含むことができる。
【０１４９】
ＲＢＴリーダ６０６は、生体計測サンプルを提供しているユーザーのＵＩＤをオーセンティケータ６０２に提供することができる（１００４）。ＵＩＤは、様々な方法で取得することができる。例えば、１つ又は複数の態様においては、ＵＩＤは、ユーザーによって着用又は担持されているバッジから取得することができる。１つ又は複数の態様においては、ＵＩＤは、ＲＢＴリーダ６０６によって読み取られるバッジ上のバーコード内にエンコードされていてもよく、或いは、ＲＢＴリーダ６０６上のＲＦＩＤリーダを介して読み取られるバッジ上の高周波識別（ＲＦＩＤ）装置内においてエンコードされていてもよい。１つ又は複数の態様においては、ＵＩＤは、キーボード又はキーパッドを介して入力することができる。オーセンティケータ６０２は、ヘルパーデータＨＤと、上述の登録プロセスにおいて保存された、且つ、ＵＩＤと関連している、秘密キーＫAと、を取得することができる（１００６）。オーセンティケータ６０２は、ＨＤをＲＢＴリーダ６０６に提供することができる（１００８）。
【０１５０】
次いで、ＲＢＴリーダ６０６は、ＲＢＴ’U及びヘルパーデータＨＤに基づいてＫAを取得するべく試みることができる（１０１０）。例えば、ＲＢＴリーダ６０６は、ＫAを取得するべく、ｎｃＦＶオープン関数を使用することができる。
【０１５１】
オーセンティケータ６０２は、ノンスを生成することができる（１０１２）。１つ又は複数の態様においては、ノンスは、ランダム数生成器によって生成された数であってよい。オーセンティケータ６０２は、ＫA及びノンスに基づいて、チャレンジＣＨを生成することができる（１０１４）。オーセンティケータ６０２は、チャレンジＣＨをＲＢＴリーダ６０６に提供することができる（１０１６）。
【０１５２】
ＲＢＴリーダ６０６は、チャレンジＣＨを受け取り、且つ、チャレンジＣＨに対する応答ＲＰを判定することができる（１０１８）。応答ＲＰは、動作１０１０においてＲＢＴリーダ６０６が判定したＫAに基づいて判定することができる。ＲＢＴリーダは、応答ＲＰをオーセンティケータ６０２に提供することができる（１０２０）。
【０１５３】
オーセンティケータ６０２は、チャレンジ／応答アルゴリズムを使用することにより、ＲＢＴリーダから受け取られた応答ＲＰに基づいて、ユーザーの信憑性を判定することができる。
【０１５４】
図１１は、本開示において記述されている１つ又は複数の態様による、例示用の生体計測認証システムの例示用の非対話型の再登録動作を示すフローチャートである。図１１に示されている動作は、再登録プロセスが開始された際に、実行することができる。一例として、再登録プロセスは、ＢＩＡのセキュリティ侵害の検出に応答して開始することができる。
【０１５５】
オーセンティケータ６０２は、秘密キー（Ｋ’A）を生成することができる（１１０２）。オーセンティケータ６０２は、Ｋ’Aの２つのシェアを生成することができる（１１０４）。Ｋ’Aの第１部分は、Ｋ’A1に複写することが可能であり、且つ、Ｋ’Aの第２部分は、Ｋ’A2に複写することができる。又、補助システム６０４は、秘密キー（Ｋ’B）を生成することが可能であり（１１０６）、且つ、Ｋ’Bの２つのシェアを生成することができる（１１０８）。Ｋ’Bの第１部分は、Ｋ’B1に複写することが可能であり、且つ、Ｋ’Bの第２部分は、Ｋ’B2に複写することができる。オーセンティケータ６０２及び補助システム６０４は、それぞれの個々の秘密キーのシェアを交換することができる。オーセンティケータ６０２は、Ｋ’A2を補助システム６０４に提供することが可能であり（１１１０）、且つ、補助システム６０４は、Ｋ’B1をオーセンティケータ６０２に提供することができる（１１１２）。
【０１５６】
オーセンティケータ６０２は、Ｋ’A1及びＫ’B1を使用することにより、ガロア域ＧＦ（２τ）にわたって定義された次数２ｄ＋１の多項式Ｐ’1を生成することができる（１１４）。１つ又は複数の態様においては、Ｋ’A1及びＫ’B1は、単一のキーｋに組み合わせる（即ち、連結する）ことが可能であり（即ち、ｋ＝Ｋ’A1｜｜Ｋ’B1）、且つ、ｋは、Ｐ’1の２ｄ＋１個の係数（ａi）にエンコード又は分割することができる。
【０１５７】
補助システム６０４は、Ｋ’A2及びＫ’B2を使用することにより、ガロア域ＧＦ（２τ）にわたって定義された次数２ｄ＋１の多項式Ｐ’2を生成することができる（１１１６）。１つ又は複数の態様においては、Ｋ’A2及びＫ’B2は、単一のキーｋに組み合わせる（即ち、連結する）ことが可能であり（即ち、ｋ＝Ｋ’A2｜｜Ｋ’B2）、且つ、ｋは、Ｐ’2の２ｄ＋１個の係数（ａi）にエンコード又は分割することができる。
【０１５８】
オーセンティケータ６０２は、補助システム６０４に再登録されているＵＩＤを提供することができる（１１１８）。オーセンティケータ６０２は、再登録されているＵＩＤに基づいて、予め保存されているＲＢＴU1をフェッチすることができる（１１２０）。
【０１５９】
オーセンティケータ６０２は、非可換変換を使用することにより、ヘルパーデータＨＤ’1の第１シェアを生成するべく、Ｐ’1を使用することができる（１１２２）。１つ又は複数の態様においては、動作１１１４及び１１２２は、ｎｃＦＶ生成関数によって実行することができる。
【０１６０】
補助システム６０４は、再登録されているＵＩＤに基づいて、予め保存されているＲＢＴU2をフェッチすることができる（１１２４）。補助システム６０４は、非可換変換を使用することにより、ヘルパーデータＨＤ’2の第２シェアを生成するべく、Ｐ’２を使用することができる（１１２６）。１つ又は複数の態様においては、動作１１１６及び１１２６は、ｎｃＦＶ生成関数によって実行することができる。
【０１６１】
補助システム６０４は、ヘルパーデータＨＤ’2のその第２シェアをオーセンティケータ６０２に提供することができる（１１２８）。
【０１６２】
次いで、オーセンティケータ６０２は、第１シェアＨＤ’1及び第２シェアＨＤ’2を使用することにより、ヘルパーデータＨＤ’の新しいバージョンを生成することができる（１１３０）。オーセンティケータ６０２は、新しいヘルパーデータＨＤ’及び新しい秘密キーＫ’AをＵＩＤとの関連において保存することができる（１１３２）。
【０１６３】
上述のシステム及び方法は、従来のＢＩＡシステムとの比較において利点を提供することが可能であり、且つ、ＢＩＡ演算システムの機能を改善することができる。例えば、１つ又は複数の態様において、登録プロセスを改善することが可能であり、その理由は、ＲＢＴUが、オーセンティケータ内において、或いは、補助システム内において、明らかな状態で出現／存在しておらず、それらは、それぞれ、ＲＢＴUの１つのシェア観察しているのみであるからである。完全なＲＢＴUは、ＲＢＴリーダ内において一時的にのみ存在してもよく、これは、不可避であり、その理由は、ＲＢＴリーダが、ユーザーの生体計測をサンプリングするべく使用されるセンサであるからである。これに加えて、１つ又は複数の態様においては、認証ＫAのために使用される秘密は、オーセンティケータにのみ既知である。従って、危険に晒されている補助システムでさえも、ユーザーの代わりにオーセンティケータへの認証において敵対者を支援することができない。その理由は、補助システムが、ＫAのシェアのみを観察しているからである。従って、ＫAを取得する（オーセンティケータ自体を危険に晒す以外の）唯一の方法は、関連するＨＤを成功裏にオープンすることによるものである。更には、ユーザーは、自身の生体計測を自身を認証する任意のエンティティに、或いは、任意のバックエンド又はオンラインサービスに、明かす必要はない。この結果、ＢＩＡシステムの任意の要素を危険に晒すことによって多数のユーザーの機密事項を含む生体計測情報が漏洩されないことが保証されている。数百万人の個人の機密事項を含む生体計測情報のそのような漏洩は、政府によって、且つ、プライベートセクタにおいて、使用されている現時点のＢＩＡシステムのバックエンドが過去において侵害された際に、既に何回も（様々な国において）発生している。
【０１６４】
例に応じて、本明細書において記述されている技法のいずれかのものの特定の行為又はイベントは、異なるシーケンスで実行することが可能であり、追加されてもよく、マージされてもよく、或いは、完全に除外されてもよいことを認識されたい（例えば、すべての記述されている行為又はイベントが、技法の実施のために必要とされるわけではない）。更には、特定の例においては、行為又はイベントは、例えば、順番にではなく、マルチスレッド型の処理、割込み処理、又は複数のプロセッサを通じて、同時に実行することもできる。
【０１６５】
１つ又は複数の例においては、記述されている機能は、ハードウェア、ソフトウェア、ファームウェア、又はこれらの任意の組合せにおいて実装することができる。ソフトウェアにおいて実装された場合には、機能は、１つ又は複数の命令又はコードとして、コンピュータ可読媒体上において保存されてもよく、或いは、その上部において送信されてもよく、且つ、ハードウェアに基づいた処理ユニットによって実行されてもよい。コンピュータ可読媒体は、コンピュータ可読ストレージ媒体を含んでいてもよく、これは、データストレージ媒体などの有体の媒体、或いは、例えば、通信プロトコルに従って１つの場所から別の場所へのコンピュータプログラムの転送を促進する任意の媒体を含む通信媒体に対応している。この結果、コンピュータ可読媒体は、一般に、（１）一時的ではない有体のコンピュータ可読ストレージ媒体、或いは、（２）信号又は搬送波などの通信媒体に対応しうる。データストレージ媒体は、本開示において記述されている技法の実装のために、命令、コード、及び／又はデータ構造を取得するべく、１つ又は複数のコンピュータ又は１つ又は複数の処理回路によってアクセス可能な任意の利用可能な媒体であってよい。コンピュータプログラムプロダクトは、コンピュータ可読媒体を含むことができる。
【０１６６】
例として、且つ、限定を伴うことなしに、このようなコンピュータ可読ストレージ媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、又はその他の光ディスクストレージ、磁気ディスクストレージ、又はその他の磁気ストレージ装置、フラッシュメモリ、キャッシャメモリ、或いは、命令又はデータ構造の形態において望ましいプログラムコードを保存するべく使用されうる、且つ、コンピュータによってアクセスされうる、任意のその他の媒体を有することができる。又、任意の接続をコンピュータ可読媒体と呼称することも適切である。例えば、命令が、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線（ＤＳＬ：Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）、或いは、赤外線、高周波、及びマイクロ波などの無線技術を使用することにより、ウェブサイト、サーバー、又はその他のリモートソースから送信された場合には、同軸ケーブル、光ファイバケーブル、ツイストペア、ＤＳＬ、或いは、赤外線、高周波、及びマイクロ波などの無線技術は、媒体の定義に含まれる。但し、コンピュータ可読ストレージ媒体及びデータストレージ媒体は、接続、搬送波、信号、又はその他の一時的な媒体を含んではおらず、その代わりに、一時的ではない有体のストレージ媒体を対象としていることを理解されたい。本明細書において使用されているディスク（ｄｉｓｋ）及びディスク（ｄｉｓｃ）は、コンパクトディスク（ＣＤ：Ｃｏｍｐａｃｔ  Ｄｉｓｃ）、レーザーディスク（登録商標）、光ディスク、デジタルバーサタイルディスク（ＤＶＤ：Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、フロッピーディスク及びＢｌｕ−ｒａｙ（登録商標）ディスクを含み、この場合に、ディスク（ｄｉｓｋ）は、通常、データを磁気的に再生する一方で、ディスク（ｄｉｓｃ）は、レーザーにより、光学的にデータを再生している。又、上述の組合せも、コンピュータ可読媒体の範囲に含まれるものとする。
【０１６７】
本開示において記述されている機能は、固定された機能及び／又はプログラム可能な処理回路によって実行することができる。例えば、命令は、固定された機能及び／又はプログラム可能な処理回路によって実行することができる。このような処理回路は、１つ又は複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、用途固有の集積回路（ＡＳＩＣ：Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、フィールドプログラム可能なロジックアレイ（ＦＰＧＡ）、又はその他の等価な集積型又は個別の論理回路などの、１つ又は複数のプロセッサを含むことができる。従って、本明細書において使用されている「プロセッサ」という用語は、上述の構造の任意のもの、或いは、本明細書において記述されている技法の実装に適した任意のその他の構造を意味しうる。これに加えて、１つ又は複数の態様においては、本明細書において記述されている機能は、エンコード及びデコードのために構成された専用のハードウェア及び／又はソフトウェアモジュール内において提供されてもよく、或いは、組み合わせられたコーデック内において内蔵されてもよい。又、技法は、１つ又は複数の回路又は論理要素内において完全に実装することもできよう。処理回路は、様々な方法によってその他のコンポーネントに結合することができる。例えば、処理回路は、内部装置の相互接続、有線又は無線ネットワーク接続、或いは、別の通信媒体を介して、その他のコンポーネントに結合することができる。
【０１６８】
本開示の技法は、無線ハンドセット、集積回路（ＩＣ）又はＩＣの組（例えば、チップセット）を含む、様々な装置又は機器において実装することができる。様々なコンポーネント、モジュール、又はユニットは、本開示においては、開示されている技法を実行するように構成された装置の機能的態様を強調するべく、記述されており、且つ、様々なハードウェアユニットによる実現を必ずしも必要とするものではない。
【０１６９】
以上、様々な例について説明した。これらの及びその他の例は、添付の請求項の範囲に含まれる。
【図１】
2019205157.tif 000009
【図２Ａ】
2019205157.tif 000010
【図２Ｂ】
2019205157.tif 000011
【図２Ｃ】
2019205157.tif 000012
【図３】
2019205157.tif 000013
【図４】
2019205157.tif 000014
【図５】
2019205157.tif 000015
【図６】
2019205157.tif 000016
【図７】
2019205157.tif 000017
【図８】
2019205157.tif 000018
【図９】
2019205157.tif 000019
【図１０】
2019205157.tif 000020
【図１１】
2019205157.tif 000021
【図１２】
2019205157.tif 000022
【図１３】
2019205157.tif 000023
【図１４】
2019205157.tif 000024
【外国語明細書】
2019205157000001.pdf