特許第6826148号(P6826148)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エスアールアイ インターナショナルの特許一覧

特許6826148テンプレートのプライバシー及び非対話型の再登録を伴う生体計測認証
<>
  • 特許6826148-テンプレートのプライバシー及び非対話型の再登録を伴う生体計測認証 図000008
  • 特許6826148-テンプレートのプライバシー及び非対話型の再登録を伴う生体計測認証 図000009
  • 特許6826148-テンプレートのプライバシー及び非対話型の再登録を伴う生体計測認証 図000010
  • 特許6826148-テンプレートのプライバシー及び非対話型の再登録を伴う生体計測認証 図000011
  • 特許6826148-テンプレートのプライバシー及び非対話型の再登録を伴う生体計測認証 図000012
  • 特許6826148-テンプレートのプライバシー及び非対話型の再登録を伴う生体計測認証 図000013
  • 特許6826148-テンプレートのプライバシー及び非対話型の再登録を伴う生体計測認証 図000014
  • 特許6826148-テンプレートのプライバシー及び非対話型の再登録を伴う生体計測認証 図000015
  • 特許6826148-テンプレートのプライバシー及び非対話型の再登録を伴う生体計測認証 図000016
  • 特許6826148-テンプレートのプライバシー及び非対話型の再登録を伴う生体計測認証 図000017
  • 特許6826148-テンプレートのプライバシー及び非対話型の再登録を伴う生体計測認証 図000018
  • 特許6826148-テンプレートのプライバシー及び非対話型の再登録を伴う生体計測認証 図000019
  • 特許6826148-テンプレートのプライバシー及び非対話型の再登録を伴う生体計測認証 図000020
  • 特許6826148-テンプレートのプライバシー及び非対話型の再登録を伴う生体計測認証 図000021
  • 特許6826148-テンプレートのプライバシー及び非対話型の再登録を伴う生体計測認証 図000022
  • 特許6826148-テンプレートのプライバシー及び非対話型の再登録を伴う生体計測認証 図000023
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6826148
(24)【登録日】2021年1月18日
(45)【発行日】2021年2月3日
(54)【発明の名称】テンプレートのプライバシー及び非対話型の再登録を伴う生体計測認証
(51)【国際特許分類】
   H04L 9/32 20060101AFI20210121BHJP
   G06F 21/32 20130101ALI20210121BHJP
   G06T 7/00 20170101ALI20210121BHJP
   G06F 21/62 20130101ALI20210121BHJP
【FI】
   H04L9/00 673D
   G06F21/32
   G06T7/00 530
   G06F21/62 345
【請求項の数】22
【外国語出願】
【全頁数】46
(21)【出願番号】特願2019-72260(P2019-72260)
(22)【出願日】2019年4月4日
(65)【公開番号】特開2019-205157(P2019-205157A)
(43)【公開日】2019年11月28日
【審査請求日】2019年6月24日
(31)【優先権主張番号】15/945,559
(32)【優先日】2018年4月4日
(33)【優先権主張国】US
(31)【優先権主張番号】16/373,355
(32)【優先日】2019年4月2日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】510119843
【氏名又は名称】エスアールアイ インターナショナル
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100114018
【弁理士】
【氏名又は名称】南山 知広
(74)【代理人】
【識別番号】100165191
【弁理士】
【氏名又は名称】河合 章
(74)【代理人】
【識別番号】100133835
【弁理士】
【氏名又は名称】河野 努
(72)【発明者】
【氏名】カリム エルデフラウィ
(72)【発明者】
【氏名】イバン デ オリベイラ ヌネス
(72)【発明者】
【氏名】テトゥアン タンギー
【審査官】 岸野 徹
(56)【参考文献】
【文献】 米国特許出願公開第2015/0095654(US,A1)
【文献】 韓国公開特許第10−2011−0065139(KR,A)
【文献】 特開2015−194959(JP,A)
【文献】 米国特許出願公開第2015/0278547(US,A1)
【文献】 特開2006−270697(JP,A)
【文献】 特開2007−272775(JP,A)
【文献】 米国特許出願公開第2018/0054436(US,A1)
【文献】 大木哲史,赤塚志郎,小松尚久,笠原正雄,“Fuzzy Biometric Vault Schemeを用いたテンプレートの安全性対策”,情報処理学会研究報告,日本,社団法人情報処理学会,2005年12月 9日,Vol.2005,No.122,p.49−54
【文献】 里村 裕樹 早稲田大学 理工学術院,忘却秘密情報復元法と指紋によるバイオメトリック認証手法,電子情報通信学会技術研究報告,社団法人電子情報通信学会,2011年 2月24日,第110巻 第443号,pp.353〜360
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/32
G06F 21/32
G06F 21/62
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
方法であって、
生体計測認証システムのオーセンティケータにより、生体計測センサから基準生体計測テンプレート(RBT)の第1シェアを受け取るステップと、
前記オーセンティケータにより、第1秘密キーを生成するステップであって、前記第1秘密キーは、前記第1秘密キーの第1シェア及び前記第1秘密キーの第2シェアを有する、ステップと、
前記オーセンティケータにより、第2秘密キーの第1シェアを受け取るステップと、
前記オーセンティケータにより、前記第1秘密キーの前記第1シェア及び前記第2秘密キーの前記第1シェアから第1多項式を判定するステップと、
前記オーセンティケータにより、少なくとも部分的に、前記第1多項式及び前記基準生体計測テンプレートの前記第1シェアに基づいて、第1ヘルパーデータの第1シェアを生成するステップと、
前記オーセンティケータにより、前記第1ヘルパーデータの第2シェアを受け取るステップと、
前記オーセンティケータにより、前記第1ヘルパーデータの前記第1シェア及び前記第1ヘルパーデータの前記第2シェアから前記第1ヘルパーデータを生成するステップと、
前記オーセンティケータにより、前記基準生体計測テンプレートと関連するユーザーを認証する際に使用されるべく、前記第1秘密キー及び前記第1ヘルパーデータをストレージ装置内において保存するステップと、
を有し、
前記基準生体計測テンプレートは、前記第1秘密キー及び前記第1ヘルパーデータの明らかな形態を使用することにより、回復することができない、方法。
【請求項2】
前記オーセンティケータにより、前記第1ヘルパーデータの前記第1シェアを生成する前記ステップは、非可換変換関数を利用することにより、前記第1ヘルパーデータの前記第1シェアを生成するステップを有する請求項1に記載の方法。
【請求項3】
前記非可換変換関数は、ファジーボールトの非可換生成関数を有する請求項2に記載の方法。
【請求項4】
補助システムにより、前記生体計測センサから、前記基準生体計測テンプレートの第2シェアを受け取るステップと、
前記補助システムにより、第2秘密キーを生成するステップであって、前記第2秘密キーは、前記第2秘密キーの前記第1シェア及び前記第2秘密キーの第2シェアを有する、ステップと、
前記補助システムにより、前記第2秘密キーの前記第1シェアを前記オーセンティケータに提供するステップと、
前記補助システムにより、前記第1秘密キーの前記第2シェアを受け取るステップと、
前記補助システムにより、前記第1秘密キーの前記第2シェア及び前記第2秘密キーの前記第2シェアから第2多項式を判定するステップと、
前記補助システムにより、少なくとも部分的に、前記第2多項式及び前記基準生体計測テンプレートの前記第2シェアに基づいて、前記第1ヘルパーデータの前記第2シェアを生成するステップと、
前記補助システムにより、前記第1ヘルパーデータの前記第2シェアを前記オーセンティケータに提供するステップと、
を更に有する請求項1に記載の方法。
【請求項5】
前記補助システムにより、前記第1ヘルパーデータの前記第2シェアを生成する前記ステップは、非可換変換関数を利用することにより、前記第1ヘルパーデータの前記第2シェアを生成するステップを有する請求項4に記載の方法。
【請求項6】
前記非可換変換関数は、ファジーボールトの非可換生成関数を有する請求項5に記載の方法。
【請求項7】
RBTリーダにより、生体計測サンプルから第2基準生体計測テンプレートを生成するステップと、
ユーザー識別(UID)を前記オーセンティケータに提供するステップと、
前記RBTリーダにより、前記オーセンティケータから前記UIDと関連する前記第1ヘルパーデータを受け取るステップと、
前記RBTリーダにより、少なくとも部分的に、前記第2基準生体計測テンプレート及び前記第1ヘルパーデータに基づいて、前記第1秘密キーを判定するステップと、
前記オーセンティケータにより、前記RBTリーダが前記第1秘密キーを正しく判定したことを判定するステップと、
を更に有する請求項1に記載の方法。
【請求項8】
前記オーセンティケータにより、前記RBTリーダが前記第1秘密キーを正しく判定したことを判定する前記ステップは、前記RBTリーダが、前記第1秘密キーに従って判定されたチャレンジデータに対する正しい応答を提供したことを判定するステップを有する請求項7に記載の方法。
【請求項9】
再登録対象のUIDを受け取るステップと、
前記オーセンティケータにより、第3秘密キーを生成するステップであって、前記第3秘密キーは、前記第3秘密キーの第1シェア及び前記第3秘密キーの第2シェアを有する、ステップと、
補助システムにより、第4秘密キーを生成するステップであって、前記第4秘密キーは、前記第4秘密キーの第1シェア及び前記第4秘密キーの第2シェアを有する、ステップと、
前記オーセンティケータにより、前記補助システムから前記第4秘密キーの前記第1シェアを受け取るステップと、
前記オーセンティケータにより、前記第3秘密キーの前記第1シェア及び前記第4秘密キーの前記第1シェアから第3多項式を判定するステップと、
前記オーセンティケータにより、前記UIDに基づいて、前記基準生体計測テンプレートの前記第1シェアを取得するステップと、
前記オーセンティケータにより、少なくとも部分的に、前記第3多項式及び前記基準生体計測テンプレートの前記第1シェアに基づいて第2ヘルパーデータの第1シェアを生成するステップと、
前記補助システムにより、前記オーセンティケータから前記第3秘密キーの前記第2シェアを受け取るステップと、
前記補助システムにより、前記第3秘密キーの前記第2シェア及び前記第4秘密キーの前記第2シェアから第4多項式を判定するステップと、
前記補助システムにより、前記UIDに基づいて、前記基準生体計測テンプレートの前記第2シェアを取得するステップと、
前記補助システムにより、少なくとも部分的に、前記第4多項式及び前記基準生体計測テンプレートの前記第2シェアに基づいて、前記第2ヘルパーデータの第2シェアを生成するステップと、
前記補助システムにより、前記第2ヘルパーデータの前記第2シェアを前記オーセンティケータに提供するステップと、
前記オーセンティケータにより、前記ユーザーを再登録するべく、前記第2ヘルパーデータの前記第1シェア及び前記第2ヘルパーデータの前記第2シェアから前記第2ヘルパーデータを生成するステップと、
前記オーセンティケータにより、前記第3秘密キー及び前記第2ヘルパーデータを前記ストレージ装置内において保存するステップと、
を更に有する請求項1に記載の方法。
【請求項10】
演算システムにより、第1秘密キーシェア及び第1データセットを受け取るステップと、
前記演算システムにより、第2秘密キーシェアを均一にランダムに生成するステップと、
前記演算システムにより、前記第1秘密キーシェア及び前記第2秘密キーシェアに基づいて秘密キーを生成するステップと、
前記演算システムのファジーボールト生成関数により、少なくとも部分的に、前記秘密キー及び前記第1データセットに基づいて、ヘルパーデータを生成するステップであって、前記ヘルパーデータは、前記第1データセットと関連するユーザーを認証する際に使用される、ステップと、
を有し、
前記演算システムの前記ファジーボールト生成関数により、前記ヘルパーデータを生成するステップは、
前記演算システムにより、多項式の係数を生成するステップであって、前記係数は、前記秘密キーに基づいている、ステップと、
前記演算システムにより、ポイントの第1リストを生成するべく、前記第1データセット内のデータポイントについて前記多項式を評価するステップと、
前記演算システムにより、ランダムに生成されたポイントの第2リストを生成するステップと、
マージされたリストを生成するべく、前記演算システムにより、前記ポイントの第1リストと前記ランダムに生成されたポイントの第2リストをマージするステップと、
を有する方法。
【請求項11】
前記演算システムの前記ファジーボールト生成関数により、前記ヘルパーデータを生成するステップは
記演算システムにより、前記マージされたリストのオブリビアスシャフリングを実行するステップと、
前記演算システムにより、前記シャフリングされたマージ済みのリストを前記ヘルパーデータに内蔵するステップと、
更に有する請求項10に記載の方法。
【請求項12】
前記演算システムにより、前記多項式を評価するステップは、安全な2パーティ演算を使用することにより、前記多項式を評価するステップを有する請求項11に記載の方法。
【請求項13】
前記演算システムにより、前記マージされたリストのオブリビアスシャフリングを実行するステップは、安全な2パーティ演算によって提供された値に基づいて前記マージされたリスト内の2つのエントリをスワップするべく判定するステップを有する請求項11に記載の方法。
【請求項14】
前記演算システムにより、ヘルパーデータ及び第2データセットを受け取るステップと、
前記演算システムのファジーボールトオープン関数により、少なくとも部分的に、前記ヘルパーデータ及び前記第2データセットに基づいて出力係数の組を判定するステップと、
前記演算システムの前記ファジーボールトオープン関数により、少なくとも部分的に、前記出力係数の組の第1厳格サブセットに基づいて出力秘密キーを判定するステップと、
を更に有する請求項10に記載の方法。
【請求項15】
前記第1厳格サブセットは、前記第1秘密キーシェアに対応する係数を有しており、且つ、前記第2秘密キーシェアに対応する前記出力係数の組の第2厳格サブセットは、前記出力秘密キーを判定するべく使用されない請求項14に記載の方法。
【請求項16】
生体計測認証システムであって、
補助サービスを有し、
前記補助サービスは、
生体計測センサから基準生体計測テンプレートの第1シェアを受け取り、
第1秘密キーを生成し、前記第1秘密キーは、前記第1秘密キーの第1シェア及び前記第1秘密キーの第2シェアを有し、
第2秘密キーの第1シェアを受け取り、
前記第1秘密キーの前記第1シェア及び前記第2秘密キーの前記第1シェアから第1多項式を判定し、
少なくとも部分的に、前記第1多項式及び前記基準生体計測テンプレートの前記第1シェアに基づいて第1ヘルパーデータの第1シェアを生成し、前記第1ヘルパーデータは、前記基準生体計測テンプレートと関連するユーザーを認証する際に使用される、
ように構成されている、システム。
【請求項17】
前記生体計測センサから前記基準生体計測テンプレートの第2シェアを受け取り、
第2秘密キーを生成し、前記第2秘密キーは、前記第2秘密キーの第1シェア及び前記第2秘密キーの第2シェアを有し、
補助システムから、前記第2秘密キーの前記第2シェアを受け取り、
前記第1秘密キーの前記第2シェア及び前記第2秘密キーの前記第2シェアから第2多項式を判定し、
少なくとも部分的に、前記第2多項式及び前記基準生体計測テンプレートの前記第2シェアに基づいて前記第1ヘルパーデータの第2シェアを生成し、
前記補助システムから、前記第1ヘルパーデータの前記第1シェアを受け取り、
前記第1ヘルパーデータの前記第1シェア及び前記第1ヘルパーデータの前記第2シェアから前記第1ヘルパーデータを生成し、且つ、
前記第2秘密キー及び前記第1ヘルパーデータをストレージ装置内において保存する、
ように構成されたオーセンティケータを更に有し、
前記基準生体計測テンプレートは、前記第2秘密キー及び前記第1ヘルパーデータの明らかな形態を使用することによって回復することができない請求項16に記載のシステム。
【請求項18】
前記生体計測センサを内蔵するRBTリーダを更に有し、前記RBTリーダは、
前記生体計測センサを介して取得された生体計測サンプルから第2基準生体計測テンプレートを生成し、
前記オーセンティケータから前記第1ヘルパーデータを受け取り、且つ、
少なくとも部分的に、前記第2基準生体計測テンプレート及び前記第1ヘルパーデータに基づいて前記第2秘密キーを判定する、
ように構成されており、
前記オーセンティケータは、前記RBTリーダが前記第2秘密キーを正しく判定したことを判定するように更に構成されている請求項17に記載のシステム。
【請求項19】
前記基準生体計測テンプレートは、ユーザーの生体計測情報に従って判定され、且つ、前記補助サービスは、前記ユーザーによって制御された装置上において提供されたサービスを有する請求項16に記載のシステム。
【請求項20】
前記オーセンティケータは、クラウドに基づいたシステム上において提供されたサービスを有する請求項17に記載のシステム。
【請求項21】
生体計測認証システムであって、
第1生体計測センサを有する第1RBTリーダを有し、
前記第1RBTリーダは、
前記第1生体計測センサを介して取得された第1生体計測サンプルから認証基準生体計測テンプレートを生成し、
ーセンティケータから、ヘルパーデータを受け取り、前記ヘルパーデータは、前記オーセンティケータによって判定された第1シェアと、補助システムによって判定された第2シェアと、を有し、且つ、
少なくとも部分的に、前記認証基準生体計測テンプレート及び前記ヘルパーデータに基づいて秘密キーを判定し、前記秘密キーは、前記ヘルパーデータ内にエンコードされた多項式の係数の厳格なサブセットに従って判定される、
ように構成されており、
前記オーセンティケータは、前記第1RBTリーダが前記秘密キーを正しく判定したことを判定するように更に構成されている、システム。
【請求項22】
第2生体計測センサを有する第2RBTリーダを更に有し、前記第2RBTリーダは、
前記第2生体計測センサを介して取得された第2生体計測サンプルから登録基準生体計測テンプレートを生成し、
前記登録基準生体計測テンプレートの第1シェア及び前記登録基準生体計測テンプレートの第2シェアを生成し、
前記登録基準生体計測テンプレートの前記第1シェアを前記オーセンティケータに提供し、且つ、
前記登録基準生体計測テンプレートの前記第2シェアを前記補助システムに提供する、
ように構成されている請求項21に記載の生体計測認証システム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2018年4月4日付けで出願された米国特許出願第15/945,559号の一部継続であると共に、その優先権の利益を主張するものであり、この特許文献の内容は、引用により、そのすべてが本明細書に包含される。
【0002】
本開示は、テンプレートのプライバシー及び非対話型の再登録を提供する、生体計測に基づいた認証に関する。
【背景技術】
【0003】
例えば、生体計測に基づいた識別、認証、及びアクセス制御(BIAA:Biometrics−based Identification, Authntication and Access control)システムなどの、認証システムは、物理的又は仮想的な環境に対する安全なアクセス及び権限をユーザーに提供するかどうかを判定するべく、ユーザーの生体計測情報を処理及び分析している。これらの認証システムのユーザーの最初の使用の際には、認証システムが、通常、ユーザーの生体計測情報を「登録(enroll)」している(即ち、処理及び保存している)。例えば、認証システムは、ユーザーの生体計測情報の基準である、ユーザーの生体計測サンプルのテンプレート(「生体計測テンプレート」又は「基準生体計測テンプレート(RBT:Reference Biometric Template)と呼称される)を処理及び保存することができる。保存されたRBTは、ユーザーを認証するために、ユーザーの後続の生体計測サンプルと比較するべく、使用される。但し、セキュリティ侵害の場合に、RBTは、危険に晒される場合があり、且つ、認証システムを回避するべく使用される場合がある。
【発明の概要】
【発明が解決しようとする課題】
【0004】
いくつかの従来の認証システムは、一般に、ユーザーを認証するべく使用される情報を意味する、所謂「ヘルパーデータ」を生成するべく、暗号アルゴリズムを使用している。これらの従来の認証システムにおいては、ヘルパー情報は、通常、ユーザーの生体計測情報から演算されており、且つ、オリジナルの生体計測情報のうちのいずれの情報も認証システム内において保存されないことを保証するべく、RBTの代わりに保存されている。セキュリティ侵害又は更新の場合に、これらの従来の認証システムは、新しいヘルパーデータを生成するべく、ユーザーの更なる又は再度の生体計測情報を収集する必要があり、その理由は、オリジナルの生体計測情報が保存されていないからである。但し、多数のユーザーを有する施設又はセキュリティドメインにおいては、ユーザーのオリジナルの、又は新しい、生体計測の収集は、面倒な手作業によるプロセスであり、或いは、場合によっては、実際的ではないプロセスである。
【0005】
これに加えて、大規模なBIAシステムは、通常、明らかな形態において、数千人の(或いは、場合によっては、数百万人の)ユーザーのRBTを保存している。この背後にある理由の1つは、安全なパスワード保存のための標準的なメカニズム(例えば、ソルテッドハッシュ化)が同一の生体計測の2つの読取りとマッチングしえない、という点にあり、その理由は、同一の生体計測の2つのサンプルは、サンプリングノイズに起因して互いにわずかに異なっているからである。これに加えて、安定した生体計測(例えば、指紋及び虹彩)は、人物の寿命にわたって変化しない傾向を有する。従って、任意の時点におけるユーザーの生体計測の漏洩は、漏洩された生体計測を使用しているすべての認証システムのセキュリティに影響を及ぼす可能性がある。従って、RBTの機密性の保護は、最大の重要性を有しうる。
【課題を解決するための手段】
【0006】
一般に、本開示は、テンプレートのプライバシーを促進すると共に非対話型の再登録を可能にする、安全な生体計測に基づいた識別及び認証(BIA)用の技法について記述している。記述されている技法を使用した頻繁に実行される動作は、通常は両方の要件を充足するべく少なくとも3つのパーティを伴っている以前のシステムとは異なって、2つのパーティのみを伴いうる。BIAシステムは、基準生体計測テンプレート(RBT)リーダ、オーセンティケータ、及び補助システムを含むことができる。いくつかの例においては、最初の登録プロセスにおいて、RBTリーダは、生体計測をユーザーから取得し、生体計測をRBTに変換し、且つ、RBTの異なるシェアをオーセンティケータ及び補助システムに提供している。オーセンティケータ及び補助システムは、再登録が望ましい場合に後で使用するべく、RBTのそれぞれの個々のシェアを永続的に保存している。オーセンティケータ及び補助システムは、ヘルパーデータの個々のシェアを生成している。1つ又は複数の態様において、オーセンティケータ及び補助システムは、秘密キーをヘルパーデータのそれぞれの個々のシェア内において埋め込むべく、非可換変換関数を使用している。補助システムは、ヘルパーデータのそのシェアをオーセンティケータに提供している。次いで、オーセンティケータは、フルバージョンのヘルパーデータを生成するべく、ヘルパーデータのそのシェアを補助システムによって提供されたシェアと組み合わせている。この初期登録プロセスは、BIAシステムのすべての3つのパーティが関与する唯一の時間でありうる。
【0007】
いくつかの例においては、認証プロセスの一部分として、RBTリーダは、生体計測をユーザーから取得し、且つ、生体計測から、異なる基準生体計測テンプレートRBT’を生成している。RBTリーダは、ヘルパーデータをオーセンティケータから取得し、且つ、ヘルパーデータからの秘密キーの抽出を試みるべく、ヘルパーデータ及びRBTを使用している。次いで、オーセンティケータは、RBTリーダが、RBTを使用することにより、ヘルパーデータから正しい秘密キーを成功裏に抽出できたかどうかを判定することにより、ユーザーの信憑性を判定することができる。
【0008】
いくつかの例においては、再登録の一部分として、オーセンティケータ及び補助システムは、新しい秘密キーを生成すると共に初期登録プロセスにおいて取得されたRBTのそれぞれの個々の保存されたシェアを使用して新しい秘密キーをヘルパーデータのそれぞれのシェアに埋め込むことにより、ヘルパーデータの個々の新しいシェアを生成している。補助システムは、新しいヘルパーデータのそのシェアをオーセンティケータに提供している。次いで、オーセンティケータは、フルバージョンの新しいヘルパーデータを生成するべく、新しいヘルパーデータのそのシェアを補助システムによって提供されたシェアと組み合わせている。
【0009】
オーセンティケータ及び補助システムは、秘密キーをヘルパーデータのそれぞれの個々のシェア内に埋め込むべく、非可換変換を使用することができる。1つ又は複数の態様においては、非可換ファジーボールト(ncFV:non−commutative Fuzzy Vault)が非可換変換を提供している。非可換ファジーボールトは、例えば、安全な2パーティ演算(2PC:two−Party Computation)を使用して実装されたオブリビアスシャフリング(oblivious shuffling)の機能を使用することにより、分散された安全な方式により、実現することができる。
【0010】
例示用の一態様においては、方法は、生体計測認証システムのオーセンティケータにより、生体計測センサから、RBTの第1シェアを受け取るステップと、オーセンティケータにより、第1秘密キーを生成するステップであって、第1秘密キーは、第1秘密キーの第1シェア及び第1秘密キーの第2シェアを有する、ステップと、オーセンティケータにより、第2秘密キーの第1シェアを受け取るステップと、オーセンティケータにより、第1秘密キーの第1シェア及び第2秘密キーの第1シェアから第1多項式を判定するステップと、オーセンティケータにより、少なくとも部分的に、第1多項式及び基準生体計測テンプレートの第1シェアに基づいて、第1ヘルパーデータの第1シェアを生成するステップと、オーセンティケータにより、第1ヘルパーデータの第2シェアを受け取るステップと、オーセンティケータにより、第1ヘルパーデータの第1シェア及び第1ヘルパーデータの第2シェアから第1ヘルパーデータを生成するステップと、オーセンティケータにより、基準生体計測テンプレートと関連するユーザーを認証する際に使用されるべく、第1秘密キー及び第1ヘルパーデータをストレージ装置内において保存するステップと、を有しており、この場合に、基準生体計測テンプレートは、第1秘密キー及び第1ヘルパーデータの明らかな形態を使用することにより、回復することができない。
【0011】
別の例示用の態様においては、方法は、演算システムにより、第1秘密キーシェア及び第1データセットを受け取るステップと、演算システムにより、第2秘密キーシェアを均一にランダムに生成するステップと、演算システムにより、第1秘密キーシェア及び第2秘密キーシェアに基づいて秘密キーを生成するステップと、演算システムのファジーボールト(FV)生成関数により、少なくとも部分的に、秘密キー及び第1データセットに基づいて、ヘルパーデータを生成するステップと、を含み、ヘルパーデータは、第1データセットと関連するユーザーを認証する際に使用される。
【0012】
更なる例示用の態様においては、生体計測認証システムは、生体計測センサから、基準生体計測テンプレートの第1シェアを受け取り、第1秘密キーを生成し、第1秘密キーは、第1秘密キーの第1シェア及び第1秘密キーの第2シェアを有し、第2秘密キーの第1シェアを受け取り、第1秘密キーの第1シェア及び第2秘密キーの第1シェアから第1多項式を判定し、且つ、少なくとも部分的に、第1多項式及び基準生体計測テンプレートの第1シェアに基づいて、第1ヘルパーデータの第1シェアを生成する、ように構成された補助サービスを有しており、この場合に、第1ヘルパーデータは、基準生体計測テンプレートと関連するユーザーを認証する際に使用される。
【0013】
更なる例示用の態様においては、生体計測認証システムは、第1生体計測センサを有する第1RBTリーダを有しており、第1RBTリーダは、第1生体計測センサを介して取得された第1生体計測サンプルから認証基準生体計測テンプレートを生成し、オーセンティケータからヘルパーデータを受け取り、この場合に、ヘルパーデータは、オーセンティケータによって判定された第1シェア及び補助システムによって判定された第2シェアを有しており、且つ、少なくとも部分的に、認証基準生体計測テンプレート及びヘルパーデータに基づいて、秘密キーを判定する、ように構成されており、この場合に、秘密キーは、ヘルパーデータ内にエンコードされた多項式の係数の厳格なサブセットに従って判定され、この場合に、オーセンティケータは、第1RBTリーダが秘密キーを正しく判定したことを判定するように更に構成されている。
【0014】
技法は、1つ又は複数の利点を提供することができる。例えば、従来のFV実装形態に伴う技術的問題点は、それらが可換性を有しうるという点にある。従って、従来のFV構造においては、適切なRBTを提供することにより、秘密キーがヘルパーデータから取得されうるのみならず、逆も又真であり、秘密キー及びヘルパーデータを有することにより、RBTを導出することができる。このプロパティは、入力可換性と呼称される。これは、ヘルパーデータ及び秘密キーの両方の保存が望ましいシステムにおける技術的問題であり、その理由は、その結果、ユーザーのRBTの回復が許容されうるからであり、その結果、すべてのパーティは、後からユーザーを装うことが可能となりうる。この問題点に対する技術的解決策として、1つ又は複数の態様は、非可換FV(ncFV)と呼称される、変更されたFVアルゴリズムの実装形態を利用している。ncFVの実装形態は、入力可換性という問題を有しておらず、且つ、従って、従来のFV実装形態との比較におけるこの技術的改善は、安全な認証のために必要とされるパーティの数の低減、生体計測プライバシーの促進、複数の認証エントリポイントの可能化、使用の容易性、及び非対話型再登録の提供、並びに/或いは、生体計測が不可知であることなどの、1つ又は複数の実際的な用途を提供することができる。
【0015】
以下の添付図面及び説明には、本開示の1つ又は複数の態様の詳細について記述されている。本開示において記述されている技法のその他の特徴、目的、及び利点については、説明、図面、及び請求項から明らかとなろう。
【図面の簡単な説明】
【0016】
図1】本開示において記述されている1つ又は複数の態様による例示用の生体計測認証システムを示す。
図2A】本開示の1つ又は複数の態様による、生体計測情報をエンコードするべく使用される例示用の多項式を示すグラフである。
図2B】本開示の1つ又は複数の態様による、生体計測情報をエンコードするべく使用される例示用の多項式を示すグラフである。
図2C】本開示の1つ又は複数の態様による、生体計測情報をエンコードするべく使用される例示用の多項式を示すグラフである。
図3】本開示の1つ又は複数の態様に従って構成された例示用の生体計測認証システムを示すブロックダイアグラムである。
図4】本開示において記述されている1つ又は複数の態様による演算装置の例示用の動作を示すフローチャートである。
図5】本開示において記述されている1つ又は複数の態様による演算装置の例示用の再登録動作を示すフローチャートである。
図6】本開示の1つ又は複数の態様に従って構成された例示用の生体計測認証システムを示すブロックダイアグラムである。
図7】本開示において記述されている1つ又は複数の態様による例示用の非可換ファジーボールト生成動作を示すフローチャートである。
図8】本開示において記述されている1つ又は複数の態様による例示用の非可換ファジーボールトオープン動作を示すフローチャートである。
図9】本開示において記述されている1つ又は複数の態様による例示用の生体計測認証システムの例示用の登録動作を示すフローチャートである。
図10】本開示において記述されている1つ又は複数の態様による例示用の生体計測認証システムの例示用の認証動作を示すフローチャートである。
図11】本開示において記述されている1つ又は複数の態様による例示用の生体計測認証システムの例示用の非対話型再登録動作を示すフローチャートである。
図12】本開示において記述されている1つ又は複数の態様によるファジーボールトに関係する定義を提供する。
図13】本開示において記述されている1つ又は複数の態様による非可換ファジーボールトに関係する定義を提供する。
図14】例示用の指紋及び指紋から判定された例示用の特徴を提供する。
【発明を実施するための形態】
【0017】
通常のBIAシステムにおいては、ユーザー及びBIAシステムを実装する企業、という検討対象である2つの主要ステークホルダが存在している。ユーザーは、BIAシステムに登録すると共にその内部において認証するべく、その生体計測の提供が必要とされている。ユーザーの観点においては、生体計測が危険に晒された場合にそれを使用してユーザーを装うことが可能である場合には、生体計測が秘匿状態において留まることが重要である。更には、生体計測の破棄は、困難である可能性があり、且つ、いくつかのケースにおいては、不可能である場合があり、その理由は、生体計測が、ユーザーである人物の一部分を構成しているからである。又、生体計測システムの使用可能性も、懸念になりうる。採用に成功するには、BIAにおいて使用されているセキュリティメカニズムがユーザーにもたらす負荷が、特に(認証などの)定期的な反復を要する動作について、最小限のものであることが望ましい。
【0018】
企業は、ユーザーが主張するアイデンティティを検証するべく、BIAシステムを配備することができる。BIAシステムは、物理的又はデジタル的なエリア/物品へのアクセス制御を実施するべく、使用することができる。企業は、通常、暗号秘密(例えば、対称/非対称キー)生成及びポリシー(例えば、失効日付、使用法、及び交換)の責任を担うことを所望することになろう。但し、正直な企業は、通常、明らかな形態におけるユーザーの生体計測の保存に関心を有してはいない。そのような個人的な且つプライベートなデータの潜在的漏洩は、企業にとって問題となりうる。
【0019】
図1は、本開示において記述されている1つ又は複数の態様による例示用の生体計測認証システム100を示している。この例示用の構成においては、生体計測認証システム100は、少なくとも、取得システム102と、演算装置120によって提供される実行環境上において稼働する演算エンジン122と、複数のストレージノード110A〜110N(集合的に、「ストレージノード110」)と、を有する。
【0020】
取得システム102は、1つ又は複数のユーザーの生体計測情報を取得するべく、1つ又は複数の生体計測センサ104から、入力を受け付けている。例えば、取得システム102は、指紋スキャナ(静電容量性又は光学型)、掌スキャナ、顔面認識スキャナ、表情スキャナ、虹彩/網膜スキャナ、赤外線カメラ、心拍数スキャナ、歩行センサ(例えば、ビデオ又は加速度計)、或いは、ユーザー106から生体計測情報108を読み取るその他の生体計測センサを含む1つ又は複数の生体計測センサ104を有することができる。生体計測情報は、指紋の画像、掌紋の画像、顔面の画像、網膜スキャンの画像、虹彩の画像、心拍数パターン、四肢の運動、虹彩又はオーディオサンプルのケースにおけるバイナリコード、又はこれらに類似したもの、或いは、このような要素の2つ以上のものの組合せを有する生体計測サンプルを含むことができる。いくつかの例においては、生体計測センサ104を含む取得システム102のコンポーネントは、1つの物理的構造内において含まれている。いくつかの例においては、生体計測センサ104は、異なる物理的構造に位置している。
【0021】
いくつかの例においては、生体計測センサ104は、例えば、ソフトウェアアプリケーション、物理的なロック、又はその他のタイプの安全なストレージ又はアプリケーションなどの、物理的且つ/又は仮想的な環境に対するアクセス及び/又は権限を求めているユーザー106から、生体計測サンプルを読み取ることができる。取得システム102は、更に後述するように、生体計測センサ104から生体計測サンプル(例えば、指紋の画像)を受け取ることができると共に、処理及び保存のために、生体計測サンプルを演算エンジン122に送信することができる。
【0022】
演算エンジン122は、1つ又は複数の物理的演算装置120上の回路内において実装することができる。例えば、演算エンジン122は、1つ又は複数のサーバー装置、サーバーブレード、パーソナルコンピュータ、モバイル演算装置、及び/又はその他のタイプの演算装置、のクラスタを使用することにより、実装することができる。わかりやすさを目的として、残りの図においては、演算装置120が省略されている。但し、その他の図の文脈において、演算エンジンは、1つ又は複数の物理的演算装置上の回路内において実装されていることを理解されたい。いくつかの例においては、取得ユニット102は、演算エンジン122の動作を制御及び/又は構成するべく演算エンジン122が使用しうる画面又はモニタを有する。
【0023】
演算エンジン122は、操作者から、メタデータ132などの入力130を受け取るべく、アプリケーションプログラミングインターフェイス134及びユーザーインターフェイス136を含むことができる。メタデータ132は、物体、機械、人々、又は取得システム102によって取得されたその他の情報に関するデータを有することができる。ユーザーインターフェイス136は、グラフィカルユーザーインターフェイス、コマンドラインインターフェイス、或いは、ユーザーからのユーザー入力の通知を受け取る別のタイプのユーザーインターフェイスを有することができる。API134は、ソフトウェアアプリケーションが演算エンジン122とやり取りしうるインターフェイスを有することができる。例えば、ソフトウェアアプリケーションは、演算エンジン122がデータを取得することを可能にするべく、API134を使用することができる。
【0024】
ストレージノード110は、コンピュータ可読データを保存するためのローカル又はリモートストレージユニットを表しうる。例えば、ストレージノード110は、演算装置109に物理的に結合されたハードドライブ、フラッシュドライブ、ユニバーサルストレージバス(USB:Universal Storage Bus)装置、テープドライブ、ハードドライブ、フロッピー(登録商標)ディスク、コンパクトディスク、着脱自在のストレージ装置など、のみならず、サーバー装置などの、リモート演算装置に物理的に結合されたストレージ装置、のうちの任意のもの又はすべてを表しうる。ストレージノード110は、それぞれ、ネットワークアタッチトストレージ(NAS:Network Attached Storage)装置、ストレージエリアネットワーク(SAN:Storage Area Network)装置、サーバー装置、又はその他のタイプの演算装置などの、1つ又は複数の演算装置を使用することにより、実装することができる。ストレージノード110は、様々なタイプのデータを保存することができる。例えば、ストレージノード110は、生体計測情報の秘密シェア112及び新しいヘルパーデータシェア114(更に後述する)、入力130、演算エンジン122の出力、基準データ、並びに、その他のタイプのデータを保存することができる。
【0025】
いくつかの例においては、ストレージノード110は、オンライン及びオフラインストレージ装置を有することができる。例えば、1つ又は複数のストレージノード110は、一時的にアクセス可能となるように、構成することができると共に、必要な場合(例えば、再登録の際)にのみ、アクセス可能である。いくつかの例においては、1つ又は複数のストレージノード110は、1つ又は複数の物理的演算装置120から物理的に除去されてもよく、且つ、必要な場合(例えば、再登録の際)にのみ、接続されてもよい。いくつかの例においては、ストレージノード110は、地理的に分散したストレージ装置を有することができる。演算エンジン122は、ストレージノード110とインターフェイスするように構成された回路内において実装されたストレージインターフェイスを含むことができる。
【0026】
生体計測認証システム100のユーザーの最初の使用の際には、生体計測認証システム100は、ユーザーの後続の認証のために、ユーザーの生体計測情報を「登録」している。即ち、生体計測認証システム100は、個々のユーザーの後続のそれぞれのユーザー認証のためにヘルパーデータ126を生成するべく、生体計測情報を収集及び処理している。例えば、演算エンジン122は、まず、取得システム102から受け取られた生体計測サンプルを処理することができると共に、生体計測サンプルから生体計測情報のインディシアを判定することができる。生体計測情報のインディシアは、指紋の特徴点、眼スキャンのケースにおける虹彩コード、又は生体計測サンプルのその他の粒度のポイントを含むことができる。演算エンジン122は、生体計測情報のインディシアに従って、テンプレート(本明細書において、「生体計測テンプレート」、「基準生体計測テンプレート」、又は「RBT」と呼称される)を演算することができる。RBTは、生体計測サンプルから抽出された粒度のポイントの基準を提供するテンプレートである。例えば、指紋スキャンのRBTは、指紋の特定のポイント(例えば、隆起の終了部、隆起の分岐部、短い隆起など)の座標及び向きを識別することができる。演算エンジン122は、指紋の画像を受け取ることができると共に、画像をブロックに分割することができる。それぞれのブロックは、指紋の画像の一部分を含む。演算エンジン122は、それぞれのブロック内の指紋のインディシアの(その他のブロックとの関係における)座標及び指紋のインディシアの向き(例えば、基礎をなす隆起又は分岐部の方向)を判定する。
【0027】
図1のこの例においては、上述のように、生体計測認証システム100の中央集中型の演算装置120は、ユーザーの後続の認証のために、それぞれのユーザーごとに、個々のヘルパーデータ126を生成している。一例として、ヘルパーデータ126は、公開可能ではあるがRBTのなんらの重要な情報をも明かさない、RBTに関する情報であるランダムストリングを有することができる。生体計測認証システム100は、そのユーザーの認証のために、ヘルパーデータ126を利用している。例えば、生体計測認証システム100は、認証されたユーザー用のアクセス又は権限を提供するデジタルキー又は識別子を再構築するべく、後続の生体計測サンプル(例えば、生体計測サンプルのノイズの多いバージョン)と共に、ヘルパーデータを使用することができる。
【0028】
いくつかの例においては、生体計測認証システム100は、ヘルパーデータ126を生成するべく、限定を伴うことなしに、ファジーエクストラクタ方式又はファジーボールト方式を含む1つ又は複数の暗号アルゴリズムを使用している。一例として、ファジーエクストラクタ方式は、「生成」関数及び「再生成」関数という、2つの関数を有する。生成関数は、デジタルキー(Key)及び1つ又は複数のパブリックパラメータ(Pub)を生成するべく実行され、この場合に、wは、以下において示されているように、RBT又は別の適切な形態に変換された生体計測サンプルからのデータのストリングの入力を表している。
Generate(w)=(Key,Pub) 関数1
【0029】
一般に、ヘルパーデータ126は、デジタルキー(例えば、ランダム暗号キー)をRBTによってバインド又はロックすることによって得られる。ヘルパーデータの生成に続いて、ヘルパーデータは、ユーザー106の後続の認証のための容易にアクセス可能なストレージエリア内において保存され(図1には、「ヘルパーデータ126」として示されている)、且つ、RBTは、通常、生体計測認証システムのオンライン部分内における生体計測情報の保存を回避するべく、破棄される。ヘルパーデータ126は、演算装置102内の容易にアクセス可能であるストレージ内において保存されるものとして示されているが、ヘルパーデータ126は、演算装置120の外部の容易にアクセス可能なストレージ内において保存されてもよい。
【0030】
ヘルパーデータ126の生成の後に、生体計測認証システム100は、ユーザー106を認証するべく、後続の生体計測サンプルを使用している。例えば、生体計測認証システム100は、認証されたユーザー用のアクセス又は権限を提供するデジタルキーを再構築するべく、後続の生体計測サンプルと共に、初期登録の際に生成されたヘルパーデータ126を使用している。一例として、以下に示されているように、ユーザーを認証するべく使用されるデジタルキー(Key’)を再構築するべく、再生成関数が使用されており、この場合に、w’は、RBT又は別の適切な形態に変換された後続の生体計測サンプルからのデータストリングの入力を表しており、且つ、Pubは、初期登録において生成されたパブリックパラメータである。
Key’=Regenerate(Pub,w’) 関数2
【0031】
いくつかの例においては、以下において示されているように、Key’は、初期生体計測サンプルと後続の生体計測サンプルの間の差が、定義された閾値(d)以内である場合に、生成されており、これは、受け入れ可能な検出精度を定義するチューニング可能なパラメータである。
Key’=Key if |w−w’|<d 関数3
【0032】
閾値の値は、検出精度を改善又は極大化するべく、選択することができる。いくつかの例においては、閾値は、真受入率(GAR:Genuin Accept Rate)を極大化すると共に偽受入率(FAR:False Accept Rate)を極小化するべく、定義することができる。一例として、ユーザーは、後から、初期生体計測サンプルと生体計測サンプルの後続のノイズが多いバージョンの間の差が、受け入れ可能な検出精度閾値内にはない、生体計測サンプルのノイズの多いバージョンを提供する場合がある。この結果、Key’は、生成されない。初期生体計測サンプルと後続の生体計測サンプルのノイズが多いバージョンの間の差が、受け入れ可能な検出精度閾値内にある場合には、Key’は、生成され、且つ、ユーザーは、認証される。
【0033】
生体計測認証システム100の更新又はセキュリティ侵害の場合には、初期登録において生成されたヘルパーデータ126が危険に晒される場合がある。新しいヘルパーデータを生成するべく、従来の認証システムは、通常、オリジナルの生体計測情報を保存及び再使用する必要があるが、この結果、オリジナルの生体計測情報がリスク状態に置かれることになり、或いは、予め登録されたユーザー(又は、危険に晒されたユーザー)による更なる又は再度の生体計測情報の提供が必要となろう。但し、大規模システムにおいては、再登録プロセスは、多数のユーザーによる更なる又は再度の生体計測情報の手作業による個々の提供を必要とする場合があり、これは、非効率的であり、且つ、しばしば、実際的ではないプロセスである。
【0034】
本開示の技法によれば、演算装置120は、認証システム100内において、安全な分散された秘密共有を使用することにより、生体計測再登録を調整している。本明細書において記述されているように、技法は、演算装置120におけるオリジナルの生体計測情報の回復又はその他の方法による再使用を要することなしに、且つ、更なる又は再度の生体計測情報の再取得を要することなしに、ユーザー認証のための新しいヘルパーデータ126’の再登録及び演算を可能にしている。例えば、初期登録の際に、演算装置120の演算エンジン122は、ユーザーの生体計測情報を収集及び処理し、且つ、ユーザー認証のための初期ヘルパーデータ126を生成している。ヘルパーデータ126の構築の後に、且つ、生体計測情報(例えば、RBT)の破棄の前に、演算エンジン122は、生体計測情報の表現(例えば、その多重多項式表現)に従って、安全な且つ分散された方式により、複数の秘密シェア112A〜112N(集合的に「秘密シェア112」又は「秘密シェア値112」)を生成及び保存するべく、複数の安全なストレージノート110(例えば、1つ又は複数のネットワークドメイン内において分散されたストレージサーバー)と共に、分散された秘密共有プロセスを開始している。
【0035】
例えば、登録の際に、シェア生成ユニット124は、生体計測情報の多重多項式表現が共有秘密として使用されている共有秘密方式を使用することにより、秘密シェア112の安全な演算を調整している。まず、シェア生成ユニット124は、ヘルパーデータの安全な演算において共有秘密として使用される生体計測の表現を判定するべく、生体計測情報を処理している。例えば、指紋のRBTは、特徴点の組を含んでいてもよく、それぞれの特徴点は、指紋の画像の隆起の終了部、隆起の分岐部、短い隆起などの座標(例えば、Xn及びYn)及び向き(例えば、θn)を有する。即ち、それぞれの特徴点は、指紋の画像内の特定のポイントのX座標、指紋の画像内の特定のポイントのY座標、及び指紋の画像内の特定のポイントの向きによって定義されている。この例においては、シェア生成ユニット124は、それぞれの個々の特徴点ごとに、例えば、(X1,Y1,θ1)、(X2,Y2,θ2)、…、(Xn,Yn,θn)などの座標及び向きをエンコードすることができる(さもなければ、「秘密共有」と呼称される)。使用される共有秘密を判定する際には、シェア生成ユニット124は、RBTの座標及び向きのそれぞれを、例えば、p1(0)=X1、p2(0)=Y1、及びp3(0)=θ1などの、個々の多項式の自由項(p(0))として保存される整数値に変換することができる(或いは、いくつかの例においては、シェア生成ユニット124は、座標及び向きを単一の整数値に変換している)。この例においては、3つの多項式(即ち、p1(x)、p2(x)、及びp3(x))が、単一の特徴点(例えば、(x1,Y1,θ1))を共有するべく、使用されている。換言すれば、多項式p1(x)は、単一の特徴点のX座標をエンコードするべく、使用されており、p2(x)は、単一の特徴点のY座標をエンコードするべく、使用されており、且つ、p3(x)は、単一の特徴点の向きをエンコードするべく、使用されている。
【0036】
次いで、更に後述するように、シェア生成ユニット124は、少なくとも「n」個のポイントにおいて、それぞれの多項式を評価してもよく、この場合に、「n」は、多項式の自由項を判定するべく必要とされるシェアの数である。上述の例を継続することにより、個々の放物線が、生体計測情報の対応する部分(例えば、X座標、Y座標、及び向き)をエンコードするべく、使用されるものと仮定しよう。シェア生成ユニット124は、個々に、放物線のX=1、X=2、及びX=3における評価されたポイントを表す、例えば、p1(1)、p1(2)、及びp1(3)などの、3つのポイントにおける放物線を評価することにより、共有秘密を生成することができる。この例において、少なくとも3つのシェアは、例えば、p1(0)=X1などの、個々の多項式の自由項として保存される値などの、生体計測のエンコードされた部分を判定するべく、例えば、少なくとも3つのシェアが必要とされるように、生成されている。少なくとも3つのシェアの知識なしには、多項式の自由項内においてエンコードされた生体計測情報の部分は、未知の状態に留まる。この例においては、3つの多項式のそれぞれごとの3つのシェアが使用されているが、生体計測情報のインディシアをエンコードするべく、任意の数の多項式及び又は数のシェアを使用することができる。シャミールの秘密共有方式との関係において記述されているが、シェア生成ユニット124は、本明細書において記述されている技法又はその他の安全な演算技法を介した秘密共有データに対する演算を可能にするべく拡張可能である任意の秘密共有技法を実装することができる。安全な演算プロトコルとの関係における例示用の更なる情報については、「Baron, Joshua, et. al., “How to withstand mobile virus attacks, revisited,” dated July 2014」、「Ben−Or, Michael, et. al., “Completeness theorems for non−cryptographic fault−tolerant distributed computation,” dated May 1988」、及び「Goldreich, Oded, “Foundations of Cryptography: Volume 2, Basic Applications,” dated 2004」において記述されており、これらのそれぞれの文献の内容は、引用により、そのすべてが本明細書に包含される。
【0037】
RBTから秘密シェアを演算した後に、演算装置120は、対応するストレージノード110が、それぞれ、個々の多項式の秘密シェアを保存するように、複数の秘密シェアのそれぞれをストレージノード110の対応するものに伝達している。上述の例を継続すれば、演算装置120は、個々の特徴点のX座標、Y座標、及び向きをエンコードする多項式の秘密シェアを保存するべく、ストレージノード110とインターフェイスするように回路内において実装されたストレージインターフェイス(図示されてはいない)を使用することができる。
【0038】
例えば、演算装置120のストレージインターフェイスは、特徴点のX座標をエンコードするp1(x)の秘密シェア値、Y座標をエンコードするp2(x)の秘密シェア値、及び向きθをエンコードするp3(x)の秘密シェア値を保存するべく、(ストレージインターフェイスを介して)ストレージノード110Aとインターフェイスすることができる。又、演算装置120は、X座標をエンコードするp1(x)の別の秘密シェア値、Y座標をエンコードするp2(x)の別の秘密シェア値、及び向きをエンコードするp3(x)の別の秘密シェア値を保存するために、ストレージノード110Bとインターフェイスするべくストレージインターフェイスを使用することもできる。演算エンジン122は、X座標をエンコードするp1(x)の更に別の秘密シェア値、Y座標をエンコードするp2(x)の別の秘密シェア値、及び向きをエンコードするp3(x)の別の秘密シェア値を保存するために、ストレージノード110Nとインターフェイスするべくストレージインターフェイスを更に使用することができる。
【0039】
いくつかの例においては、秘密シェア112を保存するストレージノード110は、再登録のためにのみ、アクセス可能である(演算装置120とストレージノード110の間の破線矢印によって示されている)。即ち、秘密シェア112を保存するストレージノード110は、ネットワークから物理的に接続切断されてもよく、且つ、必要に応じて、初期登録の際に、且つ、再登録の際に、のみ、一時的なアクセスを有するように構成されてもよい。
【0040】
セキュリティ侵害又は更新の場合には、新しいヘルパーデータを生成するべくユーザーのそれぞれごとの更なる又は再度の生体計測情報の取得を要する代わりに、演算装置120は、オリジナルの生体情報が、分散されたストレージノード110により、決して、明らかにされないように、或いは、プロセスを調整している演算装置120により、そのすべてが再構築されないように、分散された安全な秘密シェア112を使用することにより、(例えば、ファジーエクストラクタの生成関数又はファジーボールトなどの類似の方式を使用することにより)新しいヘルパーデータ126’の演算を調整している。例えば、一実装形態においては、メッセージハンドラ128は、秘密シェアフォーマットにおいてストレージノード110によって保存された生体計測情報の個々の秘密シェア112に従って、個々の新しいヘルパーデータシェア114を生成するべく、ファジーエクストラクタの生成関数又は任意の類似の方式を適用するように、分散されたストレージノード110のそれぞれに命令するための複数のメッセージ116を出力することができる。それぞれのストレージノード110は、それぞれの個々の新しいヘルパーデータシェア114を演算装置110に送信し、次いで、演算装置110が、例えば、ファジーエクストラクタの生成関数の分散されたアプリケーションから結果的に得られる新しい多項式を回復させるべく、個々の新しいヘルパーデータシェア114を組み合わせることにより、判定し、次いで、この新しい多項式が、ユーザーの後続の認証のための新しいヘルパーデータ126’を生成するべく、使用される。
【0041】
例えば、再登録が必要とされる際には、且つ、ストレージノード110がアクセス可能となった後に、メッセージハンドラ128は、例えば、新しいヘルパーデータシェア114などの、新しいヘルパーデータの個々のシェアを生成するように、ストレージノード110のそれぞれに命令するための、例えば、メッセージ116A〜116N(集合的に「メッセージ116」)などの、複数のメッセージを出力することができる。例えば、ストレージノード110Aは、演算装置120からメッセージ116Aを受け取ることができると共に、ストレージノード110A内において保存されている秘密シェア112Aを使用することにより、例えば、新しいヘルパーデータシェア110Aなどの、新しいヘルパーデータの個々のシェアを生成することができる。同様に、ストレージノード110Bは、演算装置120からメッセージ116Bを受け取ることができると共に、ストレージノード110B内において保存されている秘密シェア112Bを使用することにより、例えば、新しいヘルパーデータシェア114Bなどの、新しいヘルパーデータの個々のシェアを生成することができる。又、ストレージ装置110Nは、演算装置120からメッセージ116Nを受け取ることができると共に、ストレージノード110N内において保存されている秘密シェア112Nを使用することにより、例えば、新しいヘルパーデータシェア114Nなどの、新しいヘルパーデータの個々のシェアを生成することができる。
【0042】
シェア112を使用して新しいヘルパーデータを生成するべく、ストレージノード110のそれぞれには、例えば、秘密共有された生体計測を再構築することなしに、且つ、従って、新しいヘルパーデータシェア114を生成することなしに、安全な分散された方式により、ファジーエクストラクタ方式の生成関数を演算するための加算及び乗算演算などの、演算のシーケンスを実行するように、命令することができる。例えば、ストレージノード110Aは、新しいヘルパーデータシェア114Aを生成するべく、ストレージノード110A内において保存されている秘密シェア112A内の秘密共有値を加算することができる(例えば、psum(x)=p1(x)+p2(x)+p3(x))。同様に、ストレージノード110Bは、新しいヘルパーデータシェア114Bを生成するべく、ストレージノード110B内において保存されている秘密シェア112B内の秘密共有値を加算することができる。同様に、ストレージノード110Nは、新しいヘルパーデータシェア114Nを生成するべく、ストレージノード110N内において保存されている秘密シェア112N内の秘密共有値を加算することができる。即ち、ストレージノード110のそれぞれが、秘密共有フォーマットを有する新しいヘルパーデータの個々のシェアを生成している。
【0043】
或いは、この代わりに、又はこれに加えて、ストレージノード110は、例えば、安全な分散された方式により、秘密共有生体計測を再構築することなしに、且つ、従って、新しいヘルパーデータシェア114を生成することなしに、ファジーエクストラクタ方式の生成関数を演算するべく、乗算演算を使用することができる。例えば、ストレージノード110Aは、ストレージノード110A内において保存されている生体計測情報の秘密シェア112Aを乗算することができる。秘密シェア112Aの積は、秘密シェア112A内の秘密共有値の積をエンコードした新しい多項式のシェアを生成するべく、共有された乗算トリプル(例えば、a*b=c)と共に、使用される。同様に、ストレージノード110Bも、秘密シェア112B内の秘密共有値の積が、秘密シェア1112B内の秘密共有値の積をエンコードした新しい多項式のシェアを生成するべく、共有された乗算トリプル(例えば、a*b=c)と共に、使用されるように、ストレージノード110B内において保存されている秘密シェア112B内の秘密共有値を乗算することができる。同様に、ストレージノード110Nも、秘密シェア112N内の秘密共有値の積が、秘密シェア112N内の秘密共有値の積をエンコードした新しい多項式のシェアを生成するべく、共有された乗算トリプル(例えば、a*b=c)と共に、使用されるように、ストレージノード110N内において保存されている秘密シェア112N内の秘密共有値を乗算することができる。乗算トリプル技法を使用することによって記述されているが、ストレージノード110は、新しいヘルパーデータシェア114を生成するべく、準同型暗号化などの、その他の乗算技法を使用することができる。
【0044】
新しいヘルパーデータシェア114を演算した後、ストレージノード110A〜110Nは、例えば、それぞれ、新しいヘルパーデータシェア114A〜114Nを含む、メッセージ116などの、複数のメッセージを演算装置120に送信してもよく、これらについて、演算装置120の演算エンジン122は、新しいヘルパーデータシェア114に従って、ユーザー106の後続の認証のために、例えば、新しいヘルパーデータ126’などの、新しいヘルパーデータを判定することができる。例えば、演算エンジン122は、ファジーエクストラクタの生成関数の分散型の適用の結果として得られる新しい多項式を回復するべく、ストレージノード110から受け取られた新しいヘルパーデータシェア114を組み合わせることができる。演算エンジン122は、新しいヘルパーデータ126’として使用される多項式の定数を生成するべく、回復された多項式に対して補間を適用することができる。
【0045】
この結果、生体計測認証システム100などの生態系計測システムは、ユーザーの更なる又は再度の生体計測情報を受け取ることなしに、且つ、任意の中央集中化された、潜在的に安全ではないノード又は装置においてオリジナルの生体計測を回復又はその他の方法で再使用する必要性を伴うことなしに、新しいヘルパーデータを生成し、これにより、潜在的に相対的にわずかな演算リソースを使用することにより、且つ、ユーザーの生体計測情報をリスク状態に配置することなしに、相対的に高速且つ安全な再登録を可能にする技術的解決策を提供することができる。
【0046】
図2A図2Cは、本開示の1つ又は複数の態様に従って生体計測情報をエンコードするべく使用されうる例示用の多項式202、212、及び222を示すグラフである。図2A図2Cは、縮尺が正確ではなく、且つ、本明細書において記述されている技法に従って指紋を表す生体計測情報の個々の部分をエンコードするべく3つの多項式が使用されている1つの例として集合的に示されている。図2A図2Cは、指紋の生体計測情報をエンコードするための一例として使用されているが、図2A図2Cは、任意のタイプの生体計測情報のインディシアをエンコードするべく使用される任意の多項式を表すことができる。
【0047】
図2Aの例においては、多項式202は、指紋の特徴点X1、Y1、θ1のX座標(X1)を秘密裏に共有するべく、使用されている。図示を容易にするべく、多項式202は、放物線であり、この場合に、放物線内のエンコードされた値を判定するべく、少なくとも3つの秘密共有値が必要とされるが、次数「t−1」の任意の多項式として定義されてもよく、この場合に、「t」は、多項式内のエンコードされた値を判定するべく必要とされる秘密共有値の数である。例えば、多項式202(p1(0))のポイント204などの、自由項は、例えば、特徴点X1、Y1、θ1のX座標(X1)を表す整数などの、生体計測情報の一部分のエンコードされた値を表することができる。例えば、p1(0)は、グラフがY軸と交差する、従って、X=0である、ポイントを表すことができる。図2Aの例においては、p1(0)は、10の値を有することができる。「t」は、3であることから、シェア生成ユニット124は、3及び23などの、2つのランダム係数値(「t−1」)を構成することができる。従って、多項式202は、f(x)=10+3x+23x2である。ポイント204における指紋のx座標をエンコードするべく(例えば、10)、多項式202は、多項式202内のポイント204におけるエンコードされた値を判定するべく使用される秘密共有値である「n」個のポイントにおいて評価される。例えば、図1の演算エンジン122は、多項式202(例えば、p1(x)=(x,f(x)))から、秘密シェア値206、208、及び210を演算することができる。図示の容易性を目的として、多項式202は、3つの評価された秘密シェア値(例えば、206、208、及び210)を有するように示されているが、多項式202からの更に多くの数の秘密共有値を含むことができる。上述の例を継続すれば、x=1である秘密共有値206は、多項式202の第1値(例えば、p1(x)=(1,36))を表すことできる。x=2である秘密共有値208は、多項式202の第2値(例えば、p1(x)=(2,105))を表すことができると共に、x=3である秘密共有値210は、多項式202の第3値(例えば、p1(x)=(3,226))を表すことができる。演算エンジン122のシェア生成ユニット124は、秘密共有値206、208、及び210のそれぞれを図1の対応するストレージノード110内において保存することができる。
【0048】
図2Bの例においては、多項式212は、指紋を表す生体計測情報の特徴点X1、Y1、θ1のY座標(Y1)を秘密裏に共有するべく、使用されている。図示の容易性を目的として、多項式212は、放物線であり、この場合には、放物線内のエンコードされた値を判定するべく、少なくとも3つの秘密共有値が必要とされるが、次数「t−1」の任意の多項式として定義されてもよく、この場合に、「t」は、多項式内のエンコードされた値を判定するべく必要とされる秘密共有値の数である。例えば、多項式212(p2(0))のポイント214などの自由項は、例えば、特徴点X1、Y1、θ1のY座標(Y1)を表す整数などの、生体計測情報の一部分のエンコードされた値を表すことができる。例えば、p2(0)は、グラフがY軸と交差する、従って、X=0である、ポイントを表すことができる。図2Bの例においては、p2(0)は、15の値を有することができる。「t」は、3であることから、秘密シェア生成ユニット124は、7及び−5などの、2つのランダム係数値(「t−1」)を構成することができる。従って、多項式202は、f(x)=15+7x−5x2である。ポイント214における指紋のY座標をエンコードするべく(例えば、15)、多項式212は、多項式212内のポイント214におけるエンコードされた値を判定するべく必要とされる秘密共有値である「n」個のポイントにおいて評価される。例えば、図1の演算エンジン122は、多項式212(例えば、p2(x)=(x,f(x)))から、秘密共有値216、218、及び220を演算することができる。図示の容易性を目的として、多項式212は、3つの秘密共有値(例えば、216、218、及び220)を有するように示されているが、多項式212からの更に多くの数の秘密共有値を含むことができる。上述の例を継続すれば、x=1である秘密共有された値216は、多項式212の第1値(例えば、p2(x)=(1,17))を表すことができ、x=2である秘密共有値218は、多項式212の第2値(例えば、p2(x)=(2,9))を表すことができると共に、x=3である秘密シェア値220は、多項式212の第3値(例えば、p2(x)=(3,−9))を表すことができる。演算エンジン122のシェア生成ユニット124は、図1の対応するストレージノード110内の秘密シェア値216、218、及び220のそれぞれを保存することができる。
【0049】
図2Cの例においては、多項式222は、指紋を表す生体計測情報の特徴点X1、Y1、θ1の向き(O1)を秘密裏に共有するべく、使用されている。図示の容易性を目的として、多項式222は、放物線であり、この場合には、放物線内のエンコードされた値を判定するべく、少なくとも3つの秘密シェア値で十分であるが、次数「t−1」の任意の多項式として定義されてもよく、この場合に、「t」は、多項式内のエンコードされた値を判定するべく必要とされる秘密シェア値の数である。例えば、多項式222(p3(0))のポイント224などの、自由項は、特徴点X1、Y1、θ1の向き(θ1)を表す整数などの、生体計測情報の一部分のエンコードされた値を表すことができる。例えば、p3(0)は、グラフがY軸と交差する、従って、X=0である、ポイントを表すことができる。例示用の図2Cにおいては、p3(0)は、6の値を有することができる。「t」は、3であることから、シェア生成ユニット124は、14及び5などの、2つのランダム係数値(「t−1」)を構成することができる。従って、多項式222は、f(x)=6+14x+5x2である。ポイント224において指紋の向きをエンコードするべく(例えば、6)、多項式222は、多項式222内のポイント224におけるエンコードされた値を判定するべく使用される秘密シェア値である「n」個のポイントにおいて評価される。例えば、図1の演算エンジン122は、多項式222(例えば、p3(x)=(x,f(x)))から、シェア226、228、及び230を演算することができる。図示の容易性を目的として、多項式222は、3つの秘密シェア値(例えば、226、228、及び230)を有するように示されているが、多項式222からの更に多くの数の秘密シェア値を含むことができる。上述の例を継続すれば、x=1である秘密シェア値226は、多項式222の第1値(例えば、p3(x)=(1,25))を表すことができ、x=2である秘密シェア値228は、多項式222の第2値(例えば、p3(x)=(2,54))を表すことができると共に、x=3である秘密シェア値230は、多項式222の第3値(例えば、p3(x)=(3,93))を表すことができる。演算エンジン122のシェア生成ユニット124は、秘密シェア値226、228、及び230のそれぞれを図1の対応するストレージノード110内において保存することができる。
【0050】
ストレージノード110は、上述の秘密シェア値に従って、新しいヘルパーデータシェア114を生成することができる。例えば、ストレージノード110Aは、それぞれ、多項式202、212、及び222の秘密シェア値206、216、及び226の合計(例えば、psum1(x))を演算することを含む乗算及び合計により、新しい第1ヘルパーデータシェアを生成することができる。同様に、ストレージノード110Bも、それぞれ、多項式202、212、及び222の秘密シェア値208、218、及び228の合計(例えば、psum2(x))の演算を含む乗算及び合計により、新しい第2ヘルパーデータシェアを生成することができる。同様に、ストレージノード110Nも、それぞれ、多項式202、212、及び233の秘密シェア値210、220、及び230の合計(例えば、psum3(x))の演算を含む乗算及び合計により、新しい第3ヘルパーデータシェアを生成することができる。即ち、ストレージノード110のそれぞれが、秘密共有されたフォーマットを有する新しいヘルパーデータの個々のシェアを生成している。ストレージノード110は、新しいヘルパーデータの個々のシェア(例えば、psum1(x)、psum2(x)、及びpsum3(x))を演算装置120に送信してもよく、これらについて、演算装置120の演算エンジン122は、新しいヘルパーデータの個々のシェアに基づいて、新しいヘルパーデータを判定することができる。例えば、新しいヘルパーデータをエンコードしている新しい多項式を回復するべく、個々のシェアが組み合わせられる。
【0051】
図3は、本開示の1つ又は複数の態様に従って構成された例示用の生体計測認証システム300を示すブロックダイアグラムである。以下、図1の生体計測認証システム100の例示用の又は代替的な実装形態として、図3の生体計測認証システム300について説明する。但し、図3は、生体計測認証システム100の1つの特定の例示用の又は代替的な実装形態を示しているに過ぎず、且つ、生体計測認証システム100の多くのその他の例示用の又は代替的な実装形態が、使用されてもよく、或いは、その他の例において適当でありうる。そのような実装形態は、図3の例において含まれているコンポーネントのサブセットを含んでいてもよく、或いは、図3の例には示されていない更なるコンポーネントを含むことができる。演算装置302は、ネットワーク390を通じて取得システム320A〜320N(集合的に、「取得システム320」)と通信することができる。
【0052】
図3の演算装置302は、図1の演算エンジン122及びシェア生成ユニット124を実装している。演算装置302は、電源304と、1つ又は複数の通信ユニット306と、1つ又は複数の入力装置308と、1つ又は複数の出力装置310と、1つ又は複数のプロセッサ312と、1つ又は複数のストレージ装置314と、1つ又は複数のストレージノード316と、を含む。1つ又は複数のストレージ装置314は、演算エンジン318を含むことができる。演算装置302の装置、モジュール、ストレージエリア、又はその他のコンポーネントの1つ又は複数は、コンポーネント間通信を(物理的に、通信自在に、且つ/又は、動作自在に)可能とするべく相互接続することができる。いくつかの例においては、このような接続は、システムバス、ネットワーク接続、プロセス間通信データ構造、又はデータを通信するための任意のその他の方法を通じて提供することができる。
【0053】
電源304は、演算装置302の1つ又は複数のコンポーネントに電力を提供することができる。電源304は、建物、自宅、ビジネス、又はその他の場所における主要交流(AC:Alternating Current)電源から電力を受け取ることができる。その他の例においては、電源304は、電池であってよい。更なる例においては、演算装置302及び/又は電源304は、別の供給源から電力を受け取ることができる。電源304は、インテリジェントな電力管理又は消費能力を有していてもよく、且つ、そのような特徴は、電力をインテリジェントな方式で消費、割当、供給、又はその他の方法で管理するべく、演算装置302の1つ又は複数のモジュールにより、且つ/又は、1つ又は複数のプロセッサ312により、制御、アクセス、又は調節することができる。
【0054】
演算装置302の1つ又は複数の入力装置308は、入力を生成、受領、又は処理することができる。そのような入力は、キーボード、ポインティング装置、音声応答システム、ビデオカメラ、ボタン、センサ、生体計測センサ、モバイル装置、制御パッド、マイクロフォン、存在感知画面、ネットワーク、或いは、人間又は機械からの入力を検出する任意のその他のタイプの装置からの入力を含むことができる。
【0055】
演算装置302の1つ又は複数の出力装置310は、出力を生成、受領、又は処理することができる。出力の例は、触覚、オーディオ、視覚、及び/又はビデオ出力である。出力装置310は、ディスプレイ、サウンドカード、ビデオグラフィクスアダプタカード、スピーカ、存在感知画面、1つ又は複数のUSBインターフェイス、ビデオ、及び/又はオーディオ出力インターフェイス、或いは、触覚、オーディオ、ビデオ、又はその他の出力を生成する能力を有する任意のその他のタイプの装置を含むことができる。出力装置310は、液晶ディスプレイ(LCD:Liquid Crystal Display)、ドットマトリックスディスプレイ、発光ダイオード(LED:Light Emitting Diode)ディスプレイ、有機発光ダイオード(OLED:Organic Light−Emitting Diode)ディスプレイ、陰極線管(CRT:Cathode Ray Tube)ディスプレイ、eインク、又はモノクロ、カラー、或いは、触覚、オーディオ、及び/又は視覚出力を生成する能力を有する任意のその他のタイプのディスプレイを含む技術を使用することによって出力装置として機能しうる表示装置を含むことができる。
【0056】
演算装置302の1つ又は複数の通信ユニット306は、データを送信及び/又は受信することにより、演算装置302の外部に位置する装置と通信することができると共に、いくつかの観点において、入力装置及び出力装置の両方として動作することができる。いくつかの例においては、通信ユニット306は、ネットワーク上においてその他の装置と通信することができる。その他の例においては、通信ユニット306は、セルラー無線ネットワークなどの無線ネットワーク上において無線信号を送信及び/又は受信することができる。その他の例においては、演算装置302の通信ユニット306は、衛星信号を全地球測位システム(GPS:Global Positioning System)ネットワークなどの衛星ネットワーク上において送信及び/又は受信することができる。通信ユニット306の例は、ネットワークインターフェイスカード(例えば、Ethernet(登録商標)カードなど)、光トランシーバ、高周波トランシーバ、GPSレシーバ、或いは、情報を送信及び/又は受信しうる任意のその他のタイプの装置を含む。通信ユニット306のその他の例は、モバイル装置において見出されるBluetooth(登録商標)、GPS、3G、4G、LTE、及びWi−Fi(登録商標)送受信機のみならず、ユニバーサルシリアルバス(USB:Universal Serial Bus)コントローラ及びこれらに類似したものを含むことができる。本開示の態様によれば、通信ユニット306は、取得システム320から、例えば、生体計測サンプルの画像などの、データを受信することができる。
【0057】
演算装置302の1つ又は複数のプロセッサ312は、演算装置302と関連する機能を実装することができると共に/又は、命令を実行することができる。プロセッサ312の例は、マイクロプロセッサ、アプリケーションプロセッサ、ディスプレイコントローラ、補助プロセッサ、1つ又は複数のセンサハブ、並びに、プロセッサ、処理ユニット、又は処理装置として機能するように構成された任意のその他のハードウェアを含む。演算装置302は、ソフトウェア、ハードウェア、ファームウェア、或いは、演算装置302内において存在すると共に/又はそこで稼働するハードウェア、ソフトウェア、及びファームウェアの混合体を使用することにより、本開示の1つ又は複数の態様に従って動作を実行するべく、1つ又は複数のプロセッサ312を使用することができる。
【0058】
演算装置302内の1つ又は複数のストレージ装置314は、演算装置302の動作の際に処理するための情報を保存することができる。いくつかの例においては、1つ又は複数のストレージ装置314は、一時的なメモリであり、これは、1つ又は複数のストレージ装置の主要目的が長期保存ではないことを意味している。演算装置302上のストレージ装置314は、揮発性メモリとして情報の短期保存のために構成されてもよく、且つ、従って、電源切断された場合に、保存されているコンテンツを保持することができない。揮発性メモリの例は、ランダムアクセスメモリ(RAM:Random Access Memory)、ダイナミックランダムアクセスメモリ(DRAM:Dynamic Random Access Memory)、スタティックランダムアクセスメモリ(SRAM:Static Random Access Memory)、及び当技術分野において既知のその他の形態の揮発性メモリを含む。又、ストレージ装置314は、いくつかの例においては、1つ又は複数のコンピュータ可読ストレージ媒体を含む。ストレージ装置314は、揮発性メモリよりも大量の情報を保存するように構成することができる。ストレージ装置314は、不揮発性のメモリ空間として情報の長期保存のために更に構成されてもよく、且つ、電源オン/オフサイクルの後にも、情報を保持することができる。不揮発性メモリの例は、磁気ハードディスク、光ディスク、フロッピーディスク、フラッシュメモリ、或いは、電気的にプログラム可能なメモリ(EPROM)又は電気的に消去可能な且つプログラム可能なメモリ(EEPROM)の形態を含む。ストレージ装置314は、本開示の1つ又は複数の態様に従って記述されているモジュールの1つ又は複数と関連するプログラム命令及び/又はデータを保存することができる。
【0059】
1つ又は複数のプロセッサ312及び1つ又は複数のストレージ装置314は、ソフトウェアとして実装されうる、但し、いくつかの例においては、ハードウェア、ファームウェア、及びソフトウェアの任意の組合せを含みうる、1つ又は複数のモジュール用の動作環境又はプラットフォームを提供することができる。1つ又は複数のプロセッサ312は、命令を実行することができると共に、1つ又は複数のストレージ装置314は、1つ又は複数のモジュールの命令及び/又はデータを保存することができる。プロセッサ312及びストレージ装置314の組合せは、1つ又は複数のアプリケーション、モジュール、又はソフトウェアの命令及び/又はデータを取得、保存、及び/又は実行することができる。又、プロセッサ312及び/又はストレージ装置314は、限定を伴うことなしに、図3に示されているコンポーネントの1つ又は複数を含む、1つ又は複数のその他のソフトウェア及び/又はハードウェアコンポーネントに動作自在に結合することができる。
【0060】
ストレージ装置314内に含まれるものとして図3に示されている1つ又は複数のモジュール(或いは、さもなければ、本明細書において記述されているモジュール)は、ソフトウェア、ハードウェア、ファームウェア、或いは、演算装置302内に存在する且つ/又はそこで稼働するハードウェア、ソフトウェア、及びファームウェアの混合体を使用することにより、記述されている動作を実行することができる。演算装置302は、複数のプロセッサ又は複数の装置を有する1つ又は複数のモジュールのそれぞれを稼働させることができる。演算装置302は、基礎をなすハードウェア上において稼働する仮想的な機械として、そのようなモジュールの1つ又は複数を稼働させることができる。そのようなモジュールの1つ又は複数は、オペレーティングシステム又は演算プラットフォームの1つ又は複数のサービスとして稼働することができる。そのようなモジュールの1つ又は複数は、演算プラットフォームのアプリケーション層において1つ又は複数の実行可能プログラムとして稼働することができる。
【0061】
1つ又は複数のストレージノード316は、本明細書において記述されている技法に従って、生体計測情報に従って演算された1つ又は複数のシェアなどの情報を保存することができる。いくつかの例においては、ストレージノード316は、コンピュータ可読データを保存するためのローカル又はリモートストレージユニットを表すことができる。例えば、ストレージノード110は、演算装置302に物理的に結合されたハードドライブ、フラッシュドライブ、ユニバーサルストレージバス(USB)装置、テープドライブ、ハードディスク、フロッピーディスク、コンパクトディスク、着脱自在のストレージ装置などのうちのいずれか又はすべてを表すことができる。プロセッサ312及びストレージノード316の組合せは、1つ又は複数のアプリケーション、モジュール、又はソフトウェアの命令及び/又はデータを取得、保存、及び/又は実行するべく、ストレージインターフェイスとして機能することができる。又、プロセッサ312及び/又はストレージノード316は、限定を伴うことなしに、図3に示されているコンポーネントのうちの1つ又は複数を含む、1つ又は複数のその他のソフトウェア及び/又はハードウェアコンポーネントに動作自在に結合することができる。
【0062】
演算エンジン318は、一般に、本開示の別の場所において記述されている演算エンジン122に関係するタスクを実行することができる。例えば、演算エンジン318と関連する命令の実行により、1つ又は複数の取得システム320から生体計測情報を受け取るように、演算装置302を構成することができる。演算エンジン318と関連する命令の実行により、演算装置302が、ユーザーを認証するべくユーザーの生体計測情報に従ってヘルパーデータを生成するようにすることができる。更には、演算エンジン318と関連する命令の実行により、演算装置302が、ユーザーの生体計測情報に従って生体計測情報の複数の秘密シェアを生成するようにすることができる。これに加えて、演算エンジン318と関連する命令の実行により、演算装置302が、ストレージノード316のうちの対応するものに生体計測情報の複数の秘密シェアのそれぞれを保存するようにすることができる。更には、演算エンジン318と関連する命令の実行により、生体計測情報の複数の秘密シェア及び安全なプロトコル、安全なマルチパーティプロトコル、或いは、類似の技法に従って、新しいヘルパーデータの個々のシェアを生成するように、ストレージノード316のそれぞれに命令するためのメッセージを出力し、ストレージノード316のうちの2つ以上から新しいヘルパーデータの個々のシェアを受け取り、且つ、2つ以上のストレージノード316のそれぞれからの新しいヘルパーデータの個々のシェアに基づいて新しいヘルパーデータを判定することにより、生体計測情報の再登録を実行するように、コンピュータ装置302を構成してもよく、この場合には、再登録は、ユーザーの更なる又は再度の生体計測情報の受領を伴うことなしに発生しており、且つ、これにより、相対的に高速の再登録が結果的に得られる。
【0063】
演算エンジン318は、演算装置302の1つ又は複数のモジュールとやり取りすることができると共に/又は、これらとの関連において動作することができる。演算エンジン318は、生体計測情報及びその他の入力を受け取ることができる。演算エンジン318は、通信ユニット306から生体計測情報を受け取ることができる。
【0064】
図3の取得システム320Aは、電源322A、1つ又は複数の通信ユニット324A、1つ又は複数の入力装置326A、1つ又は複数の出力装置328A、1つ又は複数のプロセッサ330A、1つ又は複数のストレージ装置332A、及び1つ又は複数のセンサ334Aを含むことができる。装置、モジュール、ストレージエリア、或いは、取得システム320Aのその他のコンポーネントの1つ又は複数は、コンポーネント間通信を(物理的に、通信自在に、且つ/又は、動作自在に)可能にするべく、相互接続することができる。いくつかの例においては、このような接続は、システムバス、ネットワーク接続、プロセス間通信データ構造、又はデータを伝達するための任意のその他の方法を通じて提供することができる。対応する方式により、取得システム320Nは、電源322N、1つ又は複数の通信ユニット324N、1つ又は複数の入力装置326N、1つ又は複数の出力装置328N、1つ又は複数のプロセッサ330N、1つ又は複数のストレージ装置332N、及び1つ又は複数のセンサ334Nを含んでいてもよく、これらは、取得システム320Aの同様に付番されているコンポーネントと同一又は類似の能力、特徴、及び/又は機能を含むことができる。いくつかの例においては、且つ、特定の取得システム320の場合には、1つ又は複数の取得システム320内に含まれるものとして図3に示されている1つ又は複数のコンポーネント、装置、又はモジュールは、任意選択であってよい。
【0065】
以下、取得システム320Aとの関係において、取得システム320の特定の態様について説明する。その他の取得システム320が同様に記述されている場合があるが、それらも、同一の、類似の、又は対応する、コンポーネント、装置、モジュール、機能、及び/又はその他の特徴を含むことができる。取得システム320Aとの関係における本明細書における説明は、対応する方式により、1つ又は複数のその他の取得システム320に適用することができる。いくつかの例においては、且つ、気付きうるように、1つ又は複数の取得システム320は、その他の取得システム320よりも多くの又は少ない数の能力、特徴、コンポーネント、及び/又は機能を含むことができる。
【0066】
電源322Aは、取得システム320Aの1つ又は複数のコンポーネントに電力を提供することができる。いくつかの例においては、電源322Aは、電池であってよい。その他の例においては、電源322Aは、建物、自宅、又はその他の場所内の主要交流(AC)電源から電力を受け取ることができる。更なる例においては、取得システム320A及び/又は電源322Aは、別の供給源から電力を受け取ることができる。電源322Aは、インテリジェントな電力管理又は消費能力を有することができると共に、そのような特徴は、電力をインテリジェントな方式で消費、割当、供給、又はその他の方法で管理するべく、取得システム320Aの1つ又は複数のモジュールにより、且つ/又は、1つ又は複数のプロセッサ330Aにより、制御、アクセス、又は調節することができる。
【0067】
取得システム320Aの1つ又は複数の入力装置326Aは、入力を生成、受領、又は処理することができる。そのような入力は、キーボード、ポインティング装置、音声応答システム、ビデオカメラ、ボタン、センサ、生体計測センサ、モバイル装置、制御パッド、マイクロフォン、存在感知画面、ネットワーク、或いは、人間又は機械から入力を検出する任意のその他のタイプの装置からの入力を含むことができる。取得システム320Aの1つ又は複数の出力装置328Aは、出力を生成、受領、又は処理することができる。出力の例は、触覚、オーディオ、視覚、及び/又はビデオ出力である。出力装置328Aは、ディスプレイ、サウンドカード、ビデオグラフィクスアダプタカード、スピーカ、存在感知画面、1つ又は複数のUSBインターフェイス、ビデオ及び/又はオーディオ出力インターフェイス、或いは、触覚、オーディオ、ビデオ、又はその他の出力を生成する能力を有する任意のその他のタイプの装置を含むことができる。出力装置328Aは、液晶ディスプレイ(LCD)、ドットマトリックスディスプレイ、発光ダイオード(LED)ディスプレイ、有機発光ダイオード(OLED)ディスプレイ、陰極線管(CRT)ディスプレイ、eインク、又はモノクロ、カラー、或いは、触覚、オーディオ、及び/又は視覚出力を生成する能力を有する任意のその他のタイプのディスプレイを含む技術を使用することによって出力装置として機能しうる表示装置を含むことができる。いくつかの例においては、取得システム320Aは、1つ又は複数の入力装置326A及び1つ又は複数の出力装置328Aの両方として動作するユーザーインターフェイス装置として機能しうる存在感知ディスプレイを含むことができる。
【0068】
取得システム320Aの1つ又は複数の通信ユニット342Aは、データを送信及び/又は受信することにより、取得システム320Aの外部に位置する装置と通信することができると共に、いくつかの観点においては、入力装置及び出力装置の両方として動作することができる。いくつかの例においては、通信ユニット324Aは、ネットワーク390上においてその他の装置と通信することができる。その他の例においては、通信ユニット324Aは、セルラー無線ネットワークなどの無線ネットワーク上において無線信号を送信及び/又は受信することができる。その他の例においては、取得システム320Aの通信ユニット324Aは、全地球測位システム(GPS)ネットワークなどの衛星ネットワーク上において衛星信号を送信及び/又は受信することができる。通信ユニット324Aの例は、ネットワークインターフェイスカード(例えば、Ethernetカードなど)、光トランシーバ、高周波トランシーバ、GPSレシーバ、或いは、情報を送信及び/又は受信しうる任意のその他のタイプの装置を含む。通信ユニット324Aのその他の例は、モバイル装置において見出されるBluetooth(登録商標)、GPS、3G、4G、LTE、及びWi−Fi(登録商標)送受信機のみならず、ユニバーサルシリアルバス(USB)コントローラ及びこれに類似したものを含むことができる。
【0069】
取得システム320Aの1つ又は複数のプロセッサ330Aは、取得システム320Aと関連する機能を実装することができると共に/又は、命令を実行することができる。プロセッサ330Aの例は、マイクロプロセッサ、アプリケーションプロセッサ、ディスプレイコントローラ、補助プロセッサ、1つ又は複数のセンサハブ、並びに、プロセッサ、処理ユニット、又は処理装置として機能するように構成された任意のその他のハードウェアを含む。取得システム320Aは、取得システム320A内において存在する且つ/又はそこにおいて稼働するソフトウェア、ハードウェア、ファームウェア、或いは、ハードウェア、ソフトウェア、及びファームウェアの混合体を使用することにより、本開示の1つ又は複数の態様に従って動作を実行するべく、1つ又は複数のプロセッサ330Aを使用することができる。
【0070】
取得システム320A内の1つ又は複数のストレージ装置332Aは、取得システム320Aの動作の際に、処理のための情報を保存することができる。いくつかの例においては、1つ又は複数のストレージ装置332Aは、一時的なメモリであり、これは、1つ又は複数のストレージ装置の主要目的が長期保存ではないことを意味している。取得システム320A上のストレージ装置332Aは、揮発性メモリとして情報の短期保存のために構成されてもよく、且つ、従って、電源切断された場合に、保存されているコンテンツを保持することができない。揮発性メモリの例は、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、及び当技術分野において既知のその他の形態の揮発性メモリを含む。又、ストレージ装置332Aは、いくつかの例においては、1つ又は複数のコンピュータ可読ストレージ媒体を含む。ストレージ装置332Aは、揮発性メモリよりも大量の情報を保存するように構成することができる。ストレージ装置332Aは、不揮発性メモリ空間として情報の長期保存のために更に構成されてもよく、従って、電源オン/オフサイクルの後にも、情報を保持することができる。不揮発性メモリの例は、磁気ハードディスク、光ディスク、フロッピーディスク、フラッシュメモリ、又は、電気的にプログラム可能なメモリ(EPROM)又は電気的に消去可能な且つプログラム可能なメモリ(EEPROM)の形態を含む。ストレージ装置332Aは、本開示の1つ又は複数の態様に従って記述されているモジュールの1つ又は複数と関連するプログラム命令及び/又はデータを保存することができる。
【0071】
1つ又は複数のプロセッサ330A及び1つ又は複数のストレージ装置332Aは、ソフトウェアとして実装しうる、但し、いくつかの例においては、ハードウェア、ファームウェア、及びソフトウェアの任意の組合せを含みうる、1つ又は複数のモジュール用の動作環境又はプラットフォームを提供することができる。1つ又は複数のプロセッサ330Aは、命令を実行することができると共に、1つ又は複数のストレージ装置332Aは、1つ又は複数のモジュールの命令及び/又はデータを保存することができる。プロセッサ330A及びストレージ装置332Aの組合せは、1つ又は複数のアプリケーション、モジュール、又はソフトウェアの命令及び/又はデータを取得、保存、及び/又は実行することができる。又、プロセッサ330A及び/又はストレージ装置332Aは、限定を伴うことなしに、図3に示されているコンポーネントの1つ又は複数を含む、1つ又は複数のその他のソフトウェア及び/又はハードウェアコンポーネントに動作自在に結合することができる。
【0072】
図4は、本開示において記述されている技法による、演算装置の例示用の動作を示すフローチャートである。図4の方法は、図1の演算装置120との関係において記述されているが、図3の演算装置302も、この又は類似の方法を実行するように構成されうることを理解されたい。
【0073】
演算装置120は、ユーザーから生体計測情報を受け取っている(402)。例えば、生体計測センサ104の1つが、ユーザー106から生体計測サンプルを読み取っている。取得システム102は、生体計測情報を受け取り、且つ、生体計測情報を演算装置120に送信する。演算装置120の演算エンジン122は、生体計測情報に従って生体計測テンプレート(例えば、基準生体計測テンプレート)を構築することができる。例えば、指紋の画像を受け取ることに応答して、演算エンジン122は、指紋画像をそれぞれが指紋の画像の一部分を含むブロックに分割することができる。演算エンジン122は、(その他のブロックとの関係における)それぞれのブロック内の指紋のインディシアの座標及び指紋のインディシアの向き(例えば、特定の座標における基礎をなす隆起又は分岐部の方向)を判定する。指紋のインディシアのこれらの座標及び向きを使用することにより、演算エンジン122は、生体計測テンプレートを構築する。
【0074】
演算装置120の演算エンジン122は、生体計測情報に従ってヘルパーデータを生成することができる(404)。例えば、演算エンジン122は、ヘルパーデータを生成するべく、例えば、ファジーエクストラクタ方式、ファジーボールト、又は類似の方式などの、暗号アルゴリズムを使用することができる。ヘルパーデータは、ヘルパーデータが、ユーザーを認証するためのキーを再構築するべく、使用されるように、キーを生体計測テンプレートとバインドすることにより、取得される。
【0075】
演算エンジン122は、シェア生成ユニット124を介して、生体計測情報に従って複数の秘密シェアを生成している(406)。例えば、シェア生成ユニット124は、生体計測テンプレートの座標及び向きのそれぞれを個々の多項式(例えば、p1(0)=X1、p2(0)=Y1、及びp3(0)=θ1)の自由項内において保存される整数に変換することができる。多項式(例えば、p1(x)、p2(x)、及びp3(x))のそれぞれは、生体計測テンプレートの単一の特徴点(例えば、(X1,Y1,θ1))の整数をエンコードするべく、使用することができる。シェア生成ユニット124は、多項式内の値(例えば、特徴点(X1,Y1,θ1)のX1)をエンコードするべく使用される多項式(例えば、p1(x))の「n」個のポイント(例えば、p1(1)、p1(2)、p1(3))において、それぞれの多項式を評価することができる。
【0076】
演算装置120は、複数のストレージノード110とインターフェイスするためのストレージインターフェイスを介して、複数の秘密シェアのそれぞれを複数のストレージノードのうちの対応するものに保存している(408)。いくつかの例においては、演算装置120は、複数のストレージノードのうちの対応するものに複数のシェアのそれぞれを保存する際に複数のストレージノード110の接続をオフラインとして構成するべく、ストレージインターフェイスを使用することができる。
【0077】
演算エンジン122は、ユーザーの後続の生体計測情報及びヘルパーデータを使用することにより、ユーザーを認証することができる(410)。例えば、演算エンジン122は、ユーザーを認証するべく使用されるデジタルキーを再構築するべく、後続の生体計測情報と共に、初期登録の際に生成されたヘルパーデータを使用している。
【0078】
セキュリティ侵害又はアップデートの存在していない際には(ステップ412の「いいえ」ブランチ)、演算エンジン122は、ユーザーを認証するべく使用されるデジタルキーを再構築するために、後続の生体計測情報と共に、初期登録の際に生成されたヘルパーデータを使用するべく、継続する。
【0079】
セキュリティ侵害又は更新の場合には(ステップ412の「はい」ブランチ)、演算エンジン122は、生体計測情報の複数の秘密シェアに従って新しいヘルパーデータの個々のシェアを生成するように、複数のストレージノードのそれぞれに命令するための複数のメッセージを出力し(414)、且つ、安全なプロトコルを使用することにより、複数のストレージノードのうちの2つ以上のストレージノードから新しいヘルパーデータの個々のシェアを受け取り(416)、且つ、ユーザーの後続の認証のために、2つ以上のストレージノードのそれぞれからの新しいヘルパーデータの個々のシェアに基づいて新しいヘルパーデータを判定すること(418)により、生体計測情報の再登録を実行している。この結果、演算装置120は、演算エンジン122が、ユーザーのオリジナルの生体計測情報を回復又はその他の方式で再使用する必要性なしに、且つ、ユーザーの更なる又は再度の生体計測情報を再取得する必要性なしに、新しいヘルパーデータの個々のシェアに基づいて新しいヘルパーデータを判定しうるように、対応するストレージノード110から新しいヘルパーデータの個々のシェアを取得するべく、ストレージインターフェイスを使用することができる。以下、図5との関係において、再登録動作に関する更なる詳細について説明する。
【0080】
図5は、本開示において記述されている技法による例示用の再登録動作を更に詳細に示すフローチャートである。図5の例は、図1のストレージノード110A及び110Bとの関係において記述されているが、図1の任意の2つ以上のストレージノード110を含むことができる。
【0081】
図5の例においては、演算装置120は、生体計測情報の複数の秘密シェア及び安全なプロトコル又は類似の技法に従って新しいヘルパーデータの個々のシェアを生成するように、複数のストレージノード(例えば、ストレージノード110A及び110B)のそれぞれに命令するための複数のメッセージを出力することができる(502)。いくつかの例においては、演算装置120は、再登録を実行する際に、ストレージノード110A及び110Bの接続をオンラインとして自動的に再構成するべく、ストレージインターフェイスを使用することができる。ストレージノード110A及び110Bがオンライン状態になるのに応答して、演算装置120は、ストレージノード110A及び110Bが、それぞれ、新しいヘルパーデータの個々のシェアを生成しうるように、メッセージハンドラ128を介して、複数のメッセージをストレージノード110A及び110Bに出力することができる。
【0082】
ストレージノード110A及び110Bは、メッセージ(504A及び504B)を受け取ることができると共に、それぞれ、その他のストレージノードとの通信を通じて新しいヘルパーデータの個々のシェアを生成することができる。例えば、ストレージノード110Aは、ストレージノード110A内に保存されている秘密シェアに従って新しいヘルパーデータのシェアを生成することができる(506A)。ストレージノード110Bは、ストレージノード110B内に保存されている秘密シェアに従って新しいヘルパーデータの別のシェアを生成することができる(506B)。例えば、ストレージノード110A、110Bには、それぞれ、秘密共有された生体計測の再構築と、従って、新しいヘルパーデータシェア114の生成と、を伴うことなしに、安全な分散された方式により、ファジーエクストラクタ方式の生成関数を演算するべく、加算及び乗算演算などの演算のシーケンスを実行するように、命令することができる。
【0083】
ストレージノード110A及び110Bは、新しいヘルパーデータの個々のシェアを演算装置120に送信することができる(508A及び508B)。例えば、ストレージノード110A及び110Bは、それぞれ、新しいヘルパーデータの個々のシェアを含むメッセージを演算装置120に送信することができる。この結果、ストレージノード110A及び110BG内に保存されている生体計測情報の秘密シェアは、再登録用の新しいヘルパーデータを生成する際に、明らかにならない。
【0084】
演算装置120は、新しいヘルパーデータの個々のシェアを受け取ることができる(510)。例えば、演算装置120は、ストレージノード110A及び110Bから新しいヘルパーデータの個々のシェアを受け取るべく、ストレージインターフェイスを使用することができる。いくつかの例においては、演算装置120は、ストレージノード110A及び110Bから新しいヘルパーデータの個々のシェアを受け取ることに応答して、ストレージノード110A及び110Bをオフラインとして構成するべく、ストレージインターフェイスを使用することができる。
【0085】
演算装置120は、ユーザーの後続の認証のために、ストレージノード110A及び110Bからの新しいヘルパーデータの個々のシェアに基づいて新しいヘルパーデータを判定することができる。例えば、演算装置120の演算エンジン122は、新しいヘルパーデータをエンコードする新しい多項式を回復するべく、ストレージノード110A及び110Bからの新しいヘルパーデータの個々のシェアを組み合わせることができる。演算エンジン122は、新しいヘルパーデータとして使用される多項式の定数を生成するべく、回復された多項式に対して補間を適用することができる(514)。
【0086】
上述の図1図5の説明は、ネットワーク化された認証システム内において安全な分散された秘密共有を使用することによって生体計測再登録を実行する技法を提示している。上述のように、技法は、ユーザーのオリジナルの生体計測情報の回復又はその他の方法による再使用を必要とすることなしに、且つ、ユーザーの更なる又は再度の生体計測情報の再取得を必要とすることなしに、ユーザー認証のための新しいヘルパーデータの再登録及び演算を可能にしている。技法は、ヘルパーデータの複数の秘密シェアを生成及び保存するべく、複数の安全なサーバーとの間における分散された秘密共有プロセスを利用するステップを含む。
【0087】
以下の図6図14の説明は、テンプレートプライバシー及び非対話型の再登録を伴う生体計測認証用の技法の態様について記述しており、これは、「パーソナル装置支援型の再登録」技法を含みうる。以下の説明においては、図1図5においても使用されているd及びwなどの変数名を再使用又は再定義している場合がある。このような変数名の定義の範囲は、図6図14の文脈において理解することを要する。1つ又は複数の態様においては、認証は、外部パーティの関与を伴わない、ユーザーとオーセンティケータの間において実行される、2パーティプロトコルである。1つ又は複数の態様においては、ユーザーに属する、或いは、ユーザーによって選択された、第三者パーソナル装置(補助サービス、或いは、いくつかのケースにおいては、補助システム、と呼称される)が、非対話型の再登録を促進することができる。企業は、なんらの更なるインフラストラクチャをも配備する必要がない(即ち、再登録サーバーを配備及び維持する必要がない)。ユーザーは、ユーザーの生体計測を有する企業を信頼する必要はなく、その理由は、このような生体計測のシェアが、ユーザーのパーソナル装置上において(或いは、この代わりに、ユーザーによって信頼されている第三者クラウドサービス内において)維持されているからである。更には、オーセンティケータ又は補助サービスのうちの1つが危険に晒されているケースにおいても、ユーザーの生体計測は、同一の攻撃者がオーセンティケータと補助サービスの両方を危険に晒すことができない限り、依然として、安全である。
【0088】
1つ又は複数の態様においては、企業は、ユーザー認証要求を毎日処理しうるそのオーセンティケータの配備の責任を担うのみであってよい。再登録が望ましい際に、オーセンティケータ及び補助システムは、フレッシュな秘密用の新しいヘルパーデータを生成するべく、後述するように、協働することができる。再登録手順において、ユーザーの存在は、必要とされていない。更には、ユーザーのRBTも、いずれかのパーティの内部において、明らかな形態において保存されていない。
【0089】
以下の説明においては、ユーザーUに対応するRBTは、次式によって表すことが可能であり、
RBTU={p1,...,pM} (1)
この場合に、p1,...,pMは、Uの生体計測の一意の詳細を表すデータポイントである。例えば、指紋のRBTにおいて、それぞれのpi∈RBTUは、指紋の特徴の場所及び向きを表している。特徴は、指紋ラインがマージしている且つ/又は分割されている指紋画像内の領域である。この結果、それぞれの特徴点は、次式としてエンコードすることが可能であり、
i=(xi,yi,θi) (2)
この場合に、xi及びyiは、特徴piのデカルト座標であり、且つ、θiは、向きを表す角度である。虹彩スキャンなどのその他の生体計測の場合には、類似のエンコード技法を使用することができる。
【0090】
図14は、例示用の指紋及び指紋から判定された例示用の特徴点を提供している。図14に示されている例においては、画像1402は、第1時点において取得されたユーザーの指紋の画像を表している。画像1406は、再方向付けされ、且つ、(白色の正方形によって示された)特徴点が判定された後の、指紋1402を表している。画像1404は、第2時点において取得された同一のユーザーの指紋の画像を表している。画像1408は、再方向付けされ、且つ、特徴点が判定された後の、指紋1404を表している。画像からわかるように、特徴点の多くが、画像1406及び1408内の同一の場所に位置している。
【0091】
1つ又は複数の態様においては、生体計測認証システム内においてユーザーを登録、認証、及び再登録するべく、秘密共有、安全なマルチパーティ演算、及びファジーボールトを使用することができる。以下、これらの技法の説明を提供し、その後に、登録、認証、及び再登録動作におけるその使用法について説明することとする。
【0092】
秘密共有
1つ又は複数の態様においては、ユーザーの生体計測情報のセキュリティを維持するべく、秘密共有が使用されている。「NのうちのK(K−out−of−N)」秘密共有においては、ディーラーは、少なくともK個のパーティのサブセットが秘密を回復しうるように、秘密をN個のパーティに分配している。最大でK−1個以下のシェアを知ることにより、秘密に関する情報の漏洩は、発生しない。更に後述するように、「2のうちの2(2−out−of−2)」個の秘密シェアをRBTから生成することができる。秘密シェアの一方は、オーセンティケータに提供され、且つ、他方のものは、補助システムに提供される。後述する秘密共有の使用法を使用することにより、非対話型の再登録を可能にすることができる。オーセンティケータ及び補助システムが共謀しない限り、これらのうちの1つを危険に晒すことにより、ユーザーのRBTについて、なにも知ることはできない。以下の説明において、秘密共有の表記法は、以下のとおりである。秘密Xが付与された場合に、[X]jがj番目の秘密シェアを表しており、且つ、次式により、XのN個のシェアの生成を表すものとしよう。
{[X]1,…,[X]N}←X (3)
【0093】
K個のシェアからの秘密Xの再構築は、次式によって表記される。
X←{[X]1…,[X]K} (4)
【0094】
安全なマルチパーティ演算
1つ又は複数の態様においては、特定の値を演算するべく、安全なマルチパーティ演算(MPC:Multi−Party Computation)が使用されている。MPCプロトコルによれば、相互に信頼していないパーティは、他方のパーティに(関数の出力によって明かされるもの以外の)その入力に関する情報を明かさない状態において、それぞれのプライベートな入力の関数fを共同で演算することができる。これらの保証は、通常、最小数の正直なパーティ用の特定の閾値まで確保されている。正直であるが好奇心が強い(HBC:Honest−But−Curious)モデルにおいては、堕落したパーティは、他方のパーティのプライベート入力を知ろうと協働するが、彼らは、fの演算用のプロトコル仕様から逸脱することはない。「悪意のある(Malicious)」モデルにおいては、堕落したパーティは、共謀し、且つ、プロトコル仕様から逸脱する可能性があり、且つ、fの演算の結果に影響を及ぼすべく試みる可能性がある。
【0095】
標準的な代数MPCプロトコルにおいては、それぞれのパーティは、通常、(例えば、シャミールの秘密共有方式を使用することによって)その入力のシェアを生成し、且つ、1つのシェアをそれぞれの他方のパーティに分配している。MPCの一態様は、結果的に得られるシェアが、動作における正しい結果に組み合わせられうるように、シェアに対する加算及び乗算の両方を演算しうる場合には、これらの2つの基本的動作から任意の関数fを実装することができる、というものである。プライベート入力に対する加算及び乗算を演算するべく、様々な方式が提案されている。
【0096】
これらの方式の大部分は、これらの動作の演算において、以下のような共通的特性を共有している。
・秘密シェアの加算をローカルに演算することができる。これを目的として、それぞれのパーティは、その独自の秘密シェアについて加算を演算する。秘密シェアについて演算されたN個のローカルな結果は、演算されたら、1つ又は複数の実際の秘密の加算の結果をもたらす。
・秘密シェアの乗算は、通信を必要としている。異なる方式が存在している場合にも、大部分のものは、乗算結果の個々のシェアが正しく演算されうるように、パーティが、乗算の演算の際に、中間的な(隠蔽された)結果をブロードキャストすることを必要としている。
【0097】
1つ又は複数の態様においては、特定の値を演算するべく、或いは、特定の動作を制御するべく、2PCと呼称される、2つのパーティを伴うMPCの特殊なケースが使用されている。更には、1つ又は複数の態様は、実行時間を改善するべく、乗算トリプルの事前演算を利用している。
【0098】
ファジーボールト
ファジーボールト(FV)は、指紋の式1において先程示されているように、データポイントの順序付けされていない組として表しうる、RBTなどの、データセットと共に動作するように設計されている。FVのセキュリティは、多項式再構築問題の実行不能性に依存している。FVは、秘密kを隠蔽するべく、生体計測テンプレートRBTUを使用するステップを許容している。例えば、秘密は、例えば、ユーザーを認証するべく使用されうる、なんらかのプライベートなデータ又は暗号キーであってよい。FV生成構造は、図12に示されている定義1において提示されている。図12において詳述されている定義2及び3は、FVの完全性及び(情報理論的)セキュリティについて記述している。
【0099】
定義1においては、偽受入れ(kを誤ったユーザーに対して明かすこと)及び偽拒絶(kを正しいユーザーに対して明かすことを拒絶すること)の極小化の間におけるトレードオフを制御するべく、距離閾値wを使用することができる。
【0100】
図12に示されているFVGENアルゴリズムは、ガロア域GF(2τ)にわたって定義された次数dの多項式Pを選択し、且つ、秘密kをPのd+1個の係数(ai)にエンコード(或いは、分割)することにより、実装することができる。結果的に得られる多項式は、次式として定義することが可能であり、
【0101】
【数1】
【0102】
ここで、係数{a0,...,ad}は、kから生成されており、且つ、kを再構築するべく、だれもが使用することができる。Pは、GF(2τ)にわたって定義されていることから、それぞれの係数は、τビットをエンコードすることができる。これは、エンコードされうるキーのサイズが、域のサイズの関数であり、且つ、多項式の次数が次式によって付与される、ことを意味している。
【0103】
【数2】
【0104】
kを多項式Pkとしてエンコードした後に、RBTU内のlP個のデータポイントのそれぞれが、多項式Pk内において評価され、これにより、二次元プレーン内のポイントのリストが生成される。
【0105】
【数3】
【0106】
域は、単一の域要素としてRBTUからデータポイントをエンコードするべく、十分に大きくなければならないことにも留意されたい。結果的に得られた組LPは、多項式Pkに属するプレーン内のポイントを収容している。LPに加えて、ペア(rx,ry)をランダムに選択することにより、サイズlS>>lPのチャフポイントの組LSが生成され、この場合に、rx及びry∈GF(2τ)であり、この結果、次式が得られる。
【0107】
【数4】
【0108】
最後に、ランダム置換π$を使用することにより、LP及びLSが一緒にシャフリングされ、且つ、結果が、ヘルパーデータとして公開される。
【0109】
【数5】
【0110】
又、ヘルパーデータは、パブリックパラメータの組Φ={F,d,lP,H(k)}を含むことも可能であり、この場合に、Fは、Pk(x)が定義される域であり、且つ、dは、その次数であり、lPは、RBTUのサイズ、即ち、Pk(x)に属するヘルパーデータ内のポイントの数であり、且つ、H(k)は、正しい秘密がFVOPENを使用することによって再構築されたかどうかを検証することを許容する秘密kの暗号ハッシュである。
【0111】
FV方式の一態様は、Pk(x)上のポイントであるd+1個の別個のポイント(pi,Pk(pi))により、Pk(x)を補間することが可能であり、且つ、その係数を取得することができる、というものである。従って、kを回復することができる。但し、HD内のlP+lSから、補完対象のd+1ポイントを見出すことは、lP+lSがdよりも十分に大きい場合には、可能性が低い。一例として、1つ又は複数の態様においては、LPは、20個のポイントを含むことが可能であり、且つ、LSは、200個のポイントを含むことができる。
【0112】
新しい生体計測読取値のRBT’Uを使用することにより、HDからkを再構築するべく試みる際に、FVOPENアルゴリズムは、HD内のlP+lSポイントから、RBT’U内のポイントへの最近接マッチングであるlPポイントを選択するべく、(生体計測タイプに従って定義されうる)距離関数を使用することができる。lP個の選択されたポイントのうち、少なくともd+1個のポイントが、オリジナルのLPに属するポイントである場合には、アルゴリズムは、正しい多項式を補間することが可能であり、且つ、kを回復することができる。kが、正しく回復されたことを検証するべく、アルゴリズムは、結果をハッシュ化することが可能であり、且つ、それをHDと共に公開されたH(k)と比較することができる。d+1未満の数の正しいポイントが距離マッチングを介して選択されたlP個のポイントの中に存在する場合には、lPのうちのd+1個のポイントの組合せを伴う補間は、ハッシュ内のマッチングをもたらすことにならず、その理由は、Pkが、正しく補間されることにならないからである。従って、FVOPENは、RBT’Uを拒絶することになる。
【0113】
上述のように、距離関数は、生体計測タイプに応じて変化しうる。生体計測が指紋である1つ又は複数の態様においては、以下の距離関数を使用することができる。
【0114】
【数6】
【0115】
ここで、Δ(θi,θj)=min(|θi−θj|,360−|θi−θj|)である。パラメータβは、ポイントの間のユークリッド距離との比較において、距離演算において特徴の向きに付与される重要性の大きさを制御することができる。RBT’内のいくつかのポイントについて、D(pi,pj)<wである場合には、ヘルパーデータから、データポイントpiを選択することが可能であり、この場合に、wは、距離閾値である。
【0116】
1つ又は複数の態様においては、FVは、RBTU及びRBT’U内の順序付けされた要素を必要としてはおらず、且つ、すべてのデータポイントが両方のテンプレート内に存在していることを必要としてはいない。RBT’U内のd+1個のデータポイントのみが、RBTU内のポイントに十分に近接していなければならない。多項式の次数dは、必要とされるマッチングしたデータポイントの数を増大させることによって偽受入れを低減するための方式の較正を許容するセキュリティパラメータとして機能することができる。
【0117】
従来のFV実装形態に伴う技術的問題は、それらが可換性を有しうる、という点にある。従って、従来のFV構造内においては、RBTUを提供することにより、秘密キーkがヘルパーデータから取得されうるのみならず、逆も又真であって、秘密キーk及びヘルパーデータを有することにより、RBTUを導出することができる。このプロパティは、入力可換性と呼称される。これは、ヘルパーデータ及び秘密キーの両方の保存が望ましいシステムにおける技術的問題点であり、その理由は、その結果、ユーザーのRBTの回復が許容され、これにより、ユーザーのプライバシーが侵害されうるからである。この問題に対する技術的解決策として、1つ又は複数の態様は、非可換FV(ncFV)と呼称される、変更されたFVアルゴリズムの実装形態を利用している。ncFVの実装形態は、入力可換性の問題を有しておらず、且つ、従って、従来のFV実装形態との比較において、この技術的改善は、生体計測プライバシー、複数の認証エントリポイント、使用の容易性、及び非対話型の再登録、並びに/或いは、生体計測が不可知であることを促進しつつ、安全な認証に必要とされるパーティの数の低減などの、1つ又は複数の実際的な用途を提供することができる。
【0118】
以下、生体計測認証システムにおいてユーザーを登録、認証、及び再登録するべく、上述の秘密共有、安全なマルチパーティ演算、及びファジーボールトを利用するシステム及び方法について説明することとする。
【0119】
図6は、本開示の1つ又は複数の態様に従って構成された例示用の生体計測認証システム600を示すブロック図である。図6に示されている例においては、生体計測認証システム600は、少なくとも、RBTリーダ606と、オーセンティケータ602と、補助システム604と、を含む。これらの装置は、データ及びメッセージを交換するための通信ネットワーク(図示されてはいない)によって結合することができる。RBTリーダ606、オーセンティケータ602、及び補助システム604のそれぞれは、図3の演算装置302に類似した演算装置を使用することにより、実装されてもよく、この場合に、メモリに結合された1つ又は複数のプロセッサを有する演算エンジン318が、本明細書において記述されている技法を実装するモジュールを稼働させている。
【0120】
RBTリーダ606は、1つ又は複数のユーザーの生体計測情報を取得するべく、1つ又は複数の生体計測センサ104から入力を受け取ることができる。例えば、RBTリーダ606は、上述のように、指紋スキャナ(静電容量性又は光学型)、掌スキャナ、顔面認識スキャナ、表情スキャナ、虹彩/網膜スキャナ、赤外線カメラ、心拍数スキャナ、歩行センサ(例えば、ビデオ又は加速度計)、或いは、ユーザー106から生体計測情報108を読み取るその他の生体計測センサを含みうる1つ又は複数の生体計測センサ104を有することができる。いくつかの例においては、生体計測センサ104を含む、RBTリーダ606のコンポーネントは、1つの物理的構造内に含まれている。いくつかの例においては、生体計測センサ104は、異なる物理的構造内に存在している。
【0121】
いくつかの例においては、生体計測センサ104は、例えば、ソフトウェアアプリケーション、物理的なロック、或いは、その他のタイプの安全なストレージ又はアプリケーションなどの、物理的且つ/又は仮想的な環境に対するアクセス及び/又は権限を求めているユーザー106から、生体計測サンプルを読み取ることができる。RBTリーダ606は、生体計測サンプル(例えば、指紋の画像)を生体計測センサ104から受け取ることができると共に、生体計測サンプルからRBT630を判定することができる。RBTリーダ606は、更に後述するように、登録、再登録、及び認証動作において使用されるべく、RBT630の一部分をオーセンティケータ602及び補助システム604と共有することができる。
【0122】
オーセンティケータ602は、ユーザー認証サービスを提供することができる。例えば、オーセンティケータ602は、ユーザーの生体計測情報に基づいてユーザーのアイデンティティを検証することができる。オーセンティケータ602は、最初のユーザー登録プロセスにおいて生成された、且つ、ユーザーと関連している、ヘルパーデータ626を維持することができる。1つ又は複数の態様においては、オーセンティケータ602及び補助システム604は、登録又は再登録動作において、ヘルパーデータ626の別個の部分を提供している。秘密キー614を生成するべく、秘密キー生成器610を使用することができる。秘密キー生成器610は、秘密キーシェアを生成することが可能であり、秘密キーシェアを補助システム604に提供することが可能であり、且つ、補助システム604によって生成された秘密キーシェアを受け取ることができる。秘密キー生成器610は、秘密キー614を生成するべく、補助システム604上において生成された秘密キーシェアを秘密キー生成器610によって生成された秘密キーシェアと組み合わせることができる。秘密キー614は、オーセンティケータ602及び補助システム604にRBTリーダ606によって提供されたRBT630のシェアを使用することにより、ヘルパーデータ626内においてエンコードすることができる。この結果、秘密キー614は、認証プロセス内において使用することができる。
【0123】
補助システム604は、登録及び再登録動作において使用することができる。補助システム604は、秘密キー616を生成するべく使用されうる秘密キー生成器612を含む。秘密キー生成器610と同様に、秘密キー生成器612も、秘密キーシェアを生成することが可能であり、秘密キーシェアをオーセンティケータ602に提供することが可能であり、且つ、オーセンティケータ602によって生成された秘密キーシェアを受け取ることができる。
【0124】
RBTリーダ606、オーセンティケータ602、及び補助システム604は、様々なタイプの演算装置上において実装することができる。例えば、RBTリーダ606は、生体計測情報を処理すると共にRBTをオーセンティケータ602及び補助システム604に提供するべく、付随するプロセッサ又はその他の回路と共に、企業の入口ドアにおいて、生体計測センサを含むことができる。更なる一例として、RBTリーダ606は、ユーザーの電話機であってもよい。
【0125】
1つ又は複数の態様においては、オーセンティケータ602は、企業サーバー上において実装することができる。その他の態様においては、オーセンティケータ602は、例えば、ウェブサービス又はクラウドサービスとしてなどのように、サービスとして実装することができる。認証アプリケーションプログラムインターフェイス(API:Application Program Interface)622は、オーセンティケータ602によって提供される機能に対するソフトウェア定義されたインターフェイスを提供するべく、使用することができる。
【0126】
1つ又は複数の態様においては、補助システム604は、ユーザーの電話機上において実装することができる。更なる態様においては、補助システム604は、ウェブサービス又はクラウドサービスとして実装することができる。補助アプリケーションプログラミングインターフェイス(API)614は、補助サービス604によって提供される機能に対するソフトウェアインターフェイスを提供することができる。
【0127】
RBTリーダ606、オーセンティケータ602、及び補助システム604によって提供される機能は、図6に示された例によって示されているものとは異なる方式により、分散させることができることに留意されたい。例えば、RBTリーダ606及び補助システム604は、両方とも、ユーザーの電話機上において実装することができる。更には、BIAシステム600は、複数のRBTリーダ606、補助システム604、及びオーセンティケータ602を含むことができることに留意されたい。
【0128】
以下、図9図11を参照し、RBTリーダ606、オーセンティケータ602、及び補助システム604によって実行される例示用の動作に関する更なる詳細を提供する。
【0129】
RBTリーダ606、オーセンティケータ602、補助システム604は、非可換ファジーボールト(ncFV)618を実装することができる。ncFV618は、RBTを使用することにより、秘密キーをヘルパーデータに埋め込むべく、使用することができる。以下、図7及び図8を参照し、nvFV618の動作に関する更なる詳細を提供する。
【0130】
1つ又は複数の態様においては、安全な2パーティ演算(2PC)を使用することにより、更なるセキュリティ及びプライバシーが提供されている。例えば、オーセンティケータ602及び補助システム614は、ncFV618の一部分として、或いは、これに加えて、2PC620を実装することができる。2PCによれば、相互に信頼していないパーティは、(関数の出力によって明かされるもの以外の)その入力に関する情報をその他のパーティに明かすことなしに、それぞれのプライベートな入力の関数fを協働して演算することができる。2PCの「正直であるが好奇心が強い(HBC)」モデルにおいては、堕落したパーティは、他方のパーティのプライベートな入力を知るべく協働しうるが、彼らは、fの演算用のプロトコル仕様から逸脱することがない。「悪意を有する」モデルにおいては、堕落したパーティは、共謀する場合があり、且つ、プロトコル仕様から逸脱する可能性があり、且つ、fの演算の結果に影響を及ぼすべく試みる可能性がある。1つ又は複数の態様においては、2PC620は、「悪意を有する」モデルを実装している。
【0131】
図7は、本開示において記述されている1つ又は複数の態様による例示用の非可換ファジーボールト生成動作を示すフローチャートである。従来のFVの入力可換性の制限に対処するために、ヘルパーデータを生成するべく、ncFVを使用することができる。1つ又は複数の態様においては、ncFVは、単一のオーセンティケータが、RBTのプライバシーを危険に晒すことなしに、秘密キー及び対応するヘルパーデータを保存することを許容している。従来のFV及びncFVの両方において、秘密キーは、認証のために使用される暗号資料であってもよい。上述のように、認証秘密キーを知ることは、秘密キーを使用して生成された多項式Pkの係数を知ることと同一である。ncFVは、(認証秘密に加えて)Pkの係数内においてエンコードされた相対的に大きなランダム性を追加することができる。1つ又は複数の態様においては、ncFVの生成関数が、秘密キーkA及びRBTを入力として受け取っている(702)。生成関数は、第2秘密キーkBを生成している(704)。秘密キーkは、k=kA||kBとなるように、生成されている(706)。1つ又は複数の態様においては、kAは、認証のために使用される暗号資料を表しており、且つ、kBは、ランダムビットストリングであってよい。従って、Pkの係数の半分は、kAから導出され、半分は、kBから導出されている。次いで、ncFVの生成関数は、入力としてk及びRBTを有する従来のFV生成アルゴリズムを使用することにより、出力としてヘルパーデータを生成することができる(708)。
【0132】
上述のように、FVアルゴリズムにおいては、多項式Pkによって判定されたポイントLP及びチャフポイントLSが、ヘルパーデータ内における包含の前に、ランダム置換を使用することにより、1つにシャフリングされている。1つ又は複数の態様においては、ポイントをシャフリングするべく、「オブリビアスシャッフル」が使用されている。オブリビアスシャッフルの目的は、パーティ(例えば、オーセンティケータ及び補助パーティ)が、同一の方式により、そのシェアをランダムに置換するようにし、これにより、リスト内の要素の1対1の再構築を許容する、という点にある。但し、それ自体でシェアを保持しているパーティは、演算されている置換について知ってはならない。さもなければ、生体計測ポイントとチャフポイントを混合するべく使用される置換を知ることにより、パーティは、HDが再構築されたら、リストをアンシャフリングすることにより、生体計測を回復できることになろう。1つ又は複数の態様においては、FV生成器は、O((lP+lS2)個のペア型のオブリビアススワップを演算することにより、秘密シェアのリストのオブリビアスシャッフルを演算している。ペア型のシャッフルは、以下の3つの入力を有することにより、実装することができる。
(1)リスト(LP∪LS)内の要素の秘密シェアであり、これを[e1]と呼称する。
(2)リスト(LP∪LS)内の別の要素の秘密シェアであり、これを[e2]と呼称する。
(3)2PCにおいてランダムに生成されたビットの秘密シェアであり、これを[b]と呼称する。
【0133】
2つの要素のオブリビアススワップを実行するべく、それぞれのパーティは、次式を演算する。
[e1]new=(([e1]*[b])+([e2]*[1−b]))
[e2]new=(([e2]*[b])+([e1]*[1−b]))
【0134】
bのシェアは、悪意を有する方式で安全な2PCプロトコルにおいてランダムに生成される。従って、2PCプロトコルは、bを生成するパーティにとっても、(それらが共謀しない限り)bが常にランダム/予測不能であることを保証している。それぞれのペアごとに、ビットbが1である場合には、同一の位置が維持され、さもなければ、ペアは、スワップされる。bは、2PCにおいてランダムに選択されていることから、要素は、再ランダム化される。従って、結果を見ることにより、それらがスワップされたかどうかを判断するための手段は存在していない。最後に、連続した要素のランダムなペア型のスワップを反復することによるリストを通じた反復により、リスト(LP∪LS)全体のオブリビアスシャッフルを演算することができる。
【0135】
図8は、本開示において記述されている1つ又は複数の態様による例示用のncFVオープン動作を示すフローチャートである。ncFVオープン関数は、ヘルパーデータ及びRBT’を入力として受け取っている(802)。ヘルパーデータ及びRBT’は、従来のFVオープン関数に提供することができる(804)。FVオープン関数が入力RBT’からキーを成功裏に判定することができない場合には(動作806の「いいえ」ブランチ)、ncFVオープン関数は、オープンに失敗したという通知を返す(808)。これは、RBT’が、登録プロセスにおいて提供されたRBTに十分にマッチングしなかったことを示している。FVオープン関数が、ヘルパーデータを生成するべく使用される多項式の係数を判定することができる場合には(動作806の「はい」ブランチ)、ncFVオープン関数は、kBと関連する係数を破棄し、且つ、kAと関連する係数を出力として返す(808)。一例として、FVオープン関数が{a0,...,ad,ad+1,...,a2d+1}を係数として成功裏に返したとしよう。係数a0〜adは、kAと関連しており、且つ、係数ad+1〜a2d+1は、kBと関連している。係数ad+1〜a2d+1は、破棄することが可能であり、且つ、係数a0〜adは、出力キーを生成するべく、使用することができる。
【0136】
図13には、ncFV生成関数及びncFVオープン関数の正式な定義が提示されている。図13のアルゴリズム1において提示されている、且つ、図7との関係において上述した、ncFVは、標準的なFVOPENアルゴリズムを使用することによってオープンされうるヘルパーデータHDを生成する。HDをオープンすることにより、kが得られるが、有効な暗号資料として見なすことができるのは、kの半分、即ち、kAのみである。この結果、ヘルパーデータを生成するべく使用されるRBTUを危険に晒すことなしに、HD及びkAを同一のエンティティにおいて保存することができる。RBTUは、成功裏に演算することが不可能であり、その理由は、kAが既知であっても、多項式pKがそうではないからであり、その理由は、いまや、kAが、これを一意に判定しないからである。図12の定義1、定義2、及び定義3は、ncFVの非可換プロパティを定義する図13の定義4により、修正されている。
【0137】
図9は、本開示において記述されている1つ又は複数の態様による、例示用の生体計測認証システムの例示用の登録動作を示すフローチャートである。図9に示されている動作は、生体計測認証システムとの間においてユーザーを登録するべく登録プロセスが開始された際に、実行することができる。ユーザーが登録プロセスの一部分として生体計測サンプルを提供するのに応答して、RBTリーダ606は、ユーザーと関連するRBT(RBTU)を生成することができる。RBTUを有するデータは、生体計測サンプルからの生体計測情報のインディシアを含むことが可能であり、且つ、取得された生体計測情報のタイプに応じて変化しうる。生体計測情報のインディシアは、指紋の特徴点、眼スキャンのケースにおける虹彩コード、或いは、生体計測サンプルのその他の粒度のポイントを含むことができる。一例として、指紋スキャンのRBTUは、指紋の特定のポイント(例えば、隆起の終了部、隆起の分岐部、短い隆起など)の座標及び向きを識別することができる。
【0138】
オーセンティケータ602は、秘密キー(KA)を生成することができる(904)。オーセンティケータ602は、KAの2つのシェアを生成することができる(906)。KAの第1部分は、KA1に複写することが可能であり、KAの第2部分は、KA2に複写することができる。又、補助システム604は、秘密キー(KB)を生成することが可能であり(908)、且つ、KBの2つのシェアを生成することができる(910)。KBの第1部分は、KB1に複写することが可能であり、且つ、KBの第2部分は、KB2に複写することができる。オーセンティケータ602及び補助システム604は、それぞれの個々の秘密キーのシェアを交換することができる。オーセンティケータ602は、KA2を補助システム604に提供することが可能であり(912)、且つ、補助システム604は、KB1をオーセンティケータ602に提供することができる(914)。
【0139】
RBTリーダ606は、RBTUから、2つのシェア(RBTU1及びRBTU2)を生成することができる(916)。RBTUの第1部分は、RBTU1に複写することが可能であり、且つ、RBTUの第2部分は、RBTU2に複写することができる。RBTリーダ606は、RBTU1をオーセンティケータ602に提供することが可能であり(918)、且つ、RBTU2を補助システム640に提供することができる(920)。
【0140】
オーセンティケータ602は、生体計測認証システムとの間において登録されているユーザーのユーザー識別(UID)との関連において、そのシェアRBTU1、KA1、及びKB1を永続的に保存することができる(922)。
【0141】
オーセンティケータ602は、KA1及びKB1を使用することにより、ガロア域GF(2τ)にわたって定義された次数2d+1の多項式P1を生成することができる(924)。1つ又は複数の態様においては、KA1及びKB1は、単一のキーkに組み合わせる(即ち、連結する)ことが可能であり(即ち、k=KA1||KB1)、且つ、kは、P1の2d+1個の係数(ai)にエンコード又は分割することができる。結果的に得られる多項式は、式5において上述したように定義することが可能であり、この場合に、係数{a0,…,a2d+1}は、kから生成されており、且つ、kを再構築するべく、使用することができる。
【0142】
オーセンティケータ602は、非可換変換を使用することにより、ヘルパーデータHD1の第1シェアを生成するべく、P1を使用することができる(926)。1つ又は複数の態様においては、動作924及び926は、ncFV生成関数によって実行することができる。
【0143】
補助システム604は、生体計測認証システムとの間において登録されているユーザーのユーザー識別(UID)との関連において、そのシェアRBTU2、KA2、及びKB2を永続的に保存することができる(928)。
【0144】
補助システム604は、KA2及びKB2を使用することにより、ガロア域GF(2τ)にわたって定義された次数2d+1の多項式P2を生成することができる(930)。1つ又は複数の態様においては、KA2及びKB2は、単一のキーkに組み合わせる(即ち、連結する)ことが可能であり(即ち、k=KA2||KB2)、且つ、kは、P2の2d+1個の係数(ai)にエンコード又は分割することができる。結果的に得られる多項式は、式5において上述したように定義することが可能であり、この場合に、係数{a0,…,a2d+1}は、kから生成されており、且つ、kを再構築するべく、使用することができる。
【0145】
補助システム604は、非可換変換を使用することにより、ヘルパーデータHD2の第2シェアを生成するべく、P2を使用することができる(932)。1つ又は複数の態様においては、動作930及び932は、ncFV生成関数によって実行することができる。
【0146】
補助システム604は、ヘルパーデータHD2のその第2シェアをオーセンティケータ602に提供することができる(934)。
【0147】
次いで、オーセンティケータ602は、第1シェアHD1及び第2シェアHD2を使用することにより、フルバージョンのヘルパーデータHDを生成することができる(936)。オーセンティケータ602は、ユーザーIDとの関連において、ヘルパーデータHD及び秘密キーKAを保存することができる(938)。
【0148】
図10は、本開示において記述されている1つ又は複数の態様による、例示用の生体計測認証システムの例示用の認証動作を示すフローチャートである。ユーザーが認証プロセスの一部分として生体計測サンプルを提供するのに応答して、RBTリーダ606は、ユーザーと関連するRBT’Uを生成することができる(1002)。RBT’Uを生成するRBTリーダ606は、ユーザーを登録するべく使用された同一のRBTリーダ606であってもよく、或いは、異なるRBTリーダ606であってもよい。一例として、ユーザーは、BIAシステム600において登録するべく、RBTリーダ606として自身の電話機を使用することができる。登録の後に、ユーザーは、建物に進入するべく、例えば、ドアに位置したRBTリーダ606などの、異なるRBTリーダ606を使用することができる。上述のように、RBTを有するデータは、生体計測サンプルからの生体計測情報のインディシアを含むことが可能であり、且つ、取得された生体計測情報のタイプに応じて変化しうる。生体計測情報のインディシアは、指紋の特徴点、眼スキャンのケースにおける虹彩コード、又は生体計測サンプルのその他の粒度のポイントを含むことができる。
【0149】
RBTリーダ606は、生体計測サンプルを提供しているユーザーのUIDをオーセンティケータ602に提供することができる(1004)。UIDは、様々な方法で取得することができる。例えば、1つ又は複数の態様においては、UIDは、ユーザーによって着用又は担持されているバッジから取得することができる。1つ又は複数の態様においては、UIDは、RBTリーダ606によって読み取られるバッジ上のバーコード内にエンコードされていてもよく、或いは、RBTリーダ606上のRFIDリーダを介して読み取られるバッジ上の高周波識別(RFID)装置内においてエンコードされていてもよい。1つ又は複数の態様においては、UIDは、キーボード又はキーパッドを介して入力することができる。オーセンティケータ602は、ヘルパーデータHDと、上述の登録プロセスにおいて保存された、且つ、UIDと関連している、秘密キーKAと、を取得することができる(1006)。オーセンティケータ602は、HDをRBTリーダ606に提供することができる(1008)。
【0150】
次いで、RBTリーダ606は、RBT’U及びヘルパーデータHDに基づいてKAを取得するべく試みることができる(1010)。例えば、RBTリーダ606は、KAを取得するべく、ncFVオープン関数を使用することができる。
【0151】
オーセンティケータ602は、ノンスを生成することができる(1012)。1つ又は複数の態様においては、ノンスは、ランダム数生成器によって生成された数であってよい。オーセンティケータ602は、KA及びノンスに基づいて、チャレンジCHを生成することができる(1014)。オーセンティケータ602は、チャレンジCHをRBTリーダ606に提供することができる(1016)。
【0152】
RBTリーダ606は、チャレンジCHを受け取り、且つ、チャレンジCHに対する応答RPを判定することができる(1018)。応答RPは、動作1010においてRBTリーダ606が判定したKAに基づいて判定することができる。RBTリーダは、応答RPをオーセンティケータ602に提供することができる(1020)。
【0153】
オーセンティケータ602は、チャレンジ/応答アルゴリズムを使用することにより、RBTリーダから受け取られた応答RPに基づいて、ユーザーの信憑性を判定することができる。
【0154】
図11は、本開示において記述されている1つ又は複数の態様による、例示用の生体計測認証システムの例示用の非対話型の再登録動作を示すフローチャートである。図11に示されている動作は、再登録プロセスが開始された際に、実行することができる。一例として、再登録プロセスは、BIAのセキュリティ侵害の検出に応答して開始することができる。
【0155】
オーセンティケータ602は、秘密キー(K’A)を生成することができる(1102)。オーセンティケータ602は、K’Aの2つのシェアを生成することができる(1104)。K’Aの第1部分は、K’A1に複写することが可能であり、且つ、K’Aの第2部分は、K’A2に複写することができる。又、補助システム604は、秘密キー(K’B)を生成することが可能であり(1106)、且つ、K’Bの2つのシェアを生成することができる(1108)。K’Bの第1部分は、K’B1に複写することが可能であり、且つ、K’Bの第2部分は、K’B2に複写することができる。オーセンティケータ602及び補助システム604は、それぞれの個々の秘密キーのシェアを交換することができる。オーセンティケータ602は、K’A2を補助システム604に提供することが可能であり(1110)、且つ、補助システム604は、K’B1をオーセンティケータ602に提供することができる(1112)。
【0156】
オーセンティケータ602は、K’A1及びK’B1を使用することにより、ガロア域GF(2τ)にわたって定義された次数2d+1の多項式P’1を生成することができる(114)。1つ又は複数の態様においては、K’A1及びK’B1は、単一のキーkに組み合わせる(即ち、連結する)ことが可能であり(即ち、k=K’A1||K’B1)、且つ、kは、P’1の2d+1個の係数(ai)にエンコード又は分割することができる。
【0157】
補助システム604は、K’A2及びK’B2を使用することにより、ガロア域GF(2τ)にわたって定義された次数2d+1の多項式P’2を生成することができる(1116)。1つ又は複数の態様においては、K’A2及びK’B2は、単一のキーkに組み合わせる(即ち、連結する)ことが可能であり(即ち、k=K’A2||K’B2)、且つ、kは、P’2の2d+1個の係数(ai)にエンコード又は分割することができる。
【0158】
オーセンティケータ602は、補助システム604に再登録されているUIDを提供することができる(1118)。オーセンティケータ602は、再登録されているUIDに基づいて、予め保存されているRBTU1をフェッチすることができる(1120)。
【0159】
オーセンティケータ602は、非可換変換を使用することにより、ヘルパーデータHD’1の第1シェアを生成するべく、P’1を使用することができる(1122)。1つ又は複数の態様においては、動作1114及び1122は、ncFV生成関数によって実行することができる。
【0160】
補助システム604は、再登録されているUIDに基づいて、予め保存されているRBTU2をフェッチすることができる(1124)。補助システム604は、非可換変換を使用することにより、ヘルパーデータHD’2の第2シェアを生成するべく、P’2を使用することができる(1126)。1つ又は複数の態様においては、動作1116及び1126は、ncFV生成関数によって実行することができる。
【0161】
補助システム604は、ヘルパーデータHD’2のその第2シェアをオーセンティケータ602に提供することができる(1128)。
【0162】
次いで、オーセンティケータ602は、第1シェアHD’1及び第2シェアHD’2を使用することにより、ヘルパーデータHD’の新しいバージョンを生成することができる(1130)。オーセンティケータ602は、新しいヘルパーデータHD’及び新しい秘密キーK’AをUIDとの関連において保存することができる(1132)。
【0163】
上述のシステム及び方法は、従来のBIAシステムとの比較において利点を提供することが可能であり、且つ、BIA演算システムの機能を改善することができる。例えば、1つ又は複数の態様において、登録プロセスを改善することが可能であり、その理由は、RBTUが、オーセンティケータ内において、或いは、補助システム内において、明らかな状態で出現/存在しておらず、それらは、それぞれ、RBTUの1つのシェア観察しているのみであるからである。完全なRBTUは、RBTリーダ内において一時的にのみ存在してもよく、これは、不可避であり、その理由は、RBTリーダが、ユーザーの生体計測をサンプリングするべく使用されるセンサであるからである。これに加えて、1つ又は複数の態様においては、認証KAのために使用される秘密は、オーセンティケータにのみ既知である。従って、危険に晒されている補助システムでさえも、ユーザーの代わりにオーセンティケータへの認証において敵対者を支援することができない。その理由は、補助システムが、KAのシェアのみを観察しているからである。従って、KAを取得する(オーセンティケータ自体を危険に晒す以外の)唯一の方法は、関連するHDを成功裏にオープンすることによるものである。更には、ユーザーは、自身の生体計測を自身を認証する任意のエンティティに、或いは、任意のバックエンド又はオンラインサービスに、明かす必要はない。この結果、BIAシステムの任意の要素を危険に晒すことによって多数のユーザーの機密事項を含む生体計測情報が漏洩されないことが保証されている。数百万人の個人の機密事項を含む生体計測情報のそのような漏洩は、政府によって、且つ、プライベートセクタにおいて、使用されている現時点のBIAシステムのバックエンドが過去において侵害された際に、既に何回も(様々な国において)発生している。
【0164】
例に応じて、本明細書において記述されている技法のいずれかのものの特定の行為又はイベントは、異なるシーケンスで実行することが可能であり、追加されてもよく、マージされてもよく、或いは、完全に除外されてもよいことを認識されたい(例えば、すべての記述されている行為又はイベントが、技法の実施のために必要とされるわけではない)。更には、特定の例においては、行為又はイベントは、例えば、順番にではなく、マルチスレッド型の処理、割込み処理、又は複数のプロセッサを通じて、同時に実行することもできる。
【0165】
1つ又は複数の例においては、記述されている機能は、ハードウェア、ソフトウェア、ファームウェア、又はこれらの任意の組合せにおいて実装することができる。ソフトウェアにおいて実装された場合には、機能は、1つ又は複数の命令又はコードとして、コンピュータ可読媒体上において保存されてもよく、或いは、その上部において送信されてもよく、且つ、ハードウェアに基づいた処理ユニットによって実行されてもよい。コンピュータ可読媒体は、コンピュータ可読ストレージ媒体を含んでいてもよく、これは、データストレージ媒体などの有体の媒体、或いは、例えば、通信プロトコルに従って1つの場所から別の場所へのコンピュータプログラムの転送を促進する任意の媒体を含む通信媒体に対応している。この結果、コンピュータ可読媒体は、一般に、(1)一時的ではない有体のコンピュータ可読ストレージ媒体、或いは、(2)信号又は搬送波などの通信媒体に対応しうる。データストレージ媒体は、本開示において記述されている技法の実装のために、命令、コード、及び/又はデータ構造を取得するべく、1つ又は複数のコンピュータ又は1つ又は複数の処理回路によってアクセス可能な任意の利用可能な媒体であってよい。コンピュータプログラムプロダクトは、コンピュータ可読媒体を含むことができる。
【0166】
例として、且つ、限定を伴うことなしに、このようなコンピュータ可読ストレージ媒体は、RAM、ROM、EEPROM、CD−ROM、又はその他の光ディスクストレージ、磁気ディスクストレージ、又はその他の磁気ストレージ装置、フラッシュメモリ、キャッシャメモリ、或いは、命令又はデータ構造の形態において望ましいプログラムコードを保存するべく使用されうる、且つ、コンピュータによってアクセスされうる、任意のその他の媒体を有することができる。又、任意の接続をコンピュータ可読媒体と呼称することも適切である。例えば、命令が、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線(DSL:Digital Subscriber Line)、或いは、赤外線、高周波、及びマイクロ波などの無線技術を使用することにより、ウェブサイト、サーバー、又はその他のリモートソースから送信された場合には、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、或いは、赤外線、高周波、及びマイクロ波などの無線技術は、媒体の定義に含まれる。但し、コンピュータ可読ストレージ媒体及びデータストレージ媒体は、接続、搬送波、信号、又はその他の一時的な媒体を含んではおらず、その代わりに、一時的ではない有体のストレージ媒体を対象としていることを理解されたい。本明細書において使用されているディスク(disk)及びディスク(disc)は、コンパクトディスク(CD:Compact Disc)、レーザーディスク(登録商標)、光ディスク、デジタルバーサタイルディスク(DVD:Digital Versatile Disc)、フロッピーディスク及びBlu−ray(登録商標)ディスクを含み、この場合に、ディスク(disk)は、通常、データを磁気的に再生する一方で、ディスク(disc)は、レーザーにより、光学的にデータを再生している。又、上述の組合せも、コンピュータ可読媒体の範囲に含まれるものとする。
【0167】
本開示において記述されている機能は、固定された機能及び/又はプログラム可能な処理回路によって実行することができる。例えば、命令は、固定された機能及び/又はプログラム可能な処理回路によって実行することができる。このような処理回路は、1つ又は複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、用途固有の集積回路(ASIC:Application Specific Integrated Circuit)、フィールドプログラム可能なロジックアレイ(FPGA)、又はその他の等価な集積型又は個別の論理回路などの、1つ又は複数のプロセッサを含むことができる。従って、本明細書において使用されている「プロセッサ」という用語は、上述の構造の任意のもの、或いは、本明細書において記述されている技法の実装に適した任意のその他の構造を意味しうる。これに加えて、1つ又は複数の態様においては、本明細書において記述されている機能は、エンコード及びデコードのために構成された専用のハードウェア及び/又はソフトウェアモジュール内において提供されてもよく、或いは、組み合わせられたコーデック内において内蔵されてもよい。又、技法は、1つ又は複数の回路又は論理要素内において完全に実装することもできよう。処理回路は、様々な方法によってその他のコンポーネントに結合することができる。例えば、処理回路は、内部装置の相互接続、有線又は無線ネットワーク接続、或いは、別の通信媒体を介して、その他のコンポーネントに結合することができる。
【0168】
本開示の技法は、無線ハンドセット、集積回路(IC)又はICの組(例えば、チップセット)を含む、様々な装置又は機器において実装することができる。様々なコンポーネント、モジュール、又はユニットは、本開示においては、開示されている技法を実行するように構成された装置の機能的態様を強調するべく、記述されており、且つ、様々なハードウェアユニットによる実現を必ずしも必要とするものではない。
【0169】
以上、様々な例について説明した。これらの及びその他の例は、添付の請求項の範囲に含まれる。
図1
図2A
図2B
図2C
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14