JP2023504569A - プライバシ保存バイオメトリック認証 - Google Patents

プライバシ保存バイオメトリック認証 Download PDF

Info

Publication number
JP2023504569A
JP2023504569A JP2022534395A JP2022534395A JP2023504569A JP 2023504569 A JP2023504569 A JP 2023504569A JP 2022534395 A JP2022534395 A JP 2022534395A JP 2022534395 A JP2022534395 A JP 2022534395A JP 2023504569 A JP2023504569 A JP 2023504569A
Authority
JP
Japan
Prior art keywords
shards
servers
array
generated
biometric
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022534395A
Other languages
English (en)
Inventor
チャールズ エイチ. ザ サード ハーダー,
ティナ ピー. スリバスタバ,
ヨン ヒョン クォン,
Original Assignee
バッジ インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by バッジ インコーポレイテッド filed Critical バッジ インコーポレイテッド
Publication of JP2023504569A publication Critical patent/JP2023504569A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions
    • G06Q20/40145Biometric identity checks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • H04L9/3221Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2117User registration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Business, Economics & Management (AREA)
  • Molecular Biology (AREA)
  • Power Engineering (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Collating Specific Patterns (AREA)
  • Storage Device Security (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
  • Absorbent Articles And Supports Therefor (AREA)
  • Orthopedics, Nursing, And Contraception (AREA)
  • Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)

Abstract

バイオメトリックデータを使用して、そのバイオメトリックデータが以前に取得されている、個体として対象を認証するためのシステム。対象のバイオメトリックを特性評価するデジタル電子信号出力を有する第2の変換器と、デジタル電子信号を受信する第2のコンピューティング設備と、サーバのアレイと、第3のコンピューティング設備。これらのコンポーネントは、シャードをデジタル電子信号から生成し、生成されたシャードをサーバのアレイに分散することと、サーバのアレイによって、生成されたシャードを受信および記憶することと、生成されたシャードのサブセットを使用して、データ交換プロセスを実施し、対象の認証に関連する情報を展開することと、第3のコンピューティング設備に、展開された情報を伝送し、第3のコンピューティング設備に、対象が個体として認証されるかどうかを示す、出力値を生成させることとを含む、プロセスを実装する。

Description

(関連出願の相互参照)
本特許出願は、2020年7月29日に出願された、米国仮特許出願第63/058,330号、および2019年12月9日に出願された、米国仮特許出願第62/945,590号の利益を主張する。これらの出願はそれぞれ、参照することによってその全体として本明細書に組み込まれる。
本発明は、バイオメトリック認証に関し、より具体的には、プライバシ保存バイオメトリック認証に関する。
バイオメトリックベースの認証は、今日のデジタル世界において、有力な機能を提供する。これは、人々が、複雑なパスワードを覚える、またはハードウェアトークンを持ち歩くことを必要とせずに、バイオメトリックを使用して、自らをセキュアに認証することを可能にする。エンロールまたは登録の際、個体のバイオメトリックが、捕捉され、バイオメトリックまたはバイオメトリックテンプレートが、記憶される。(バイオメトリックテンプレートは、例えば、特徴抽出を伴うアルゴリズムを使用することによって、または機械学習もしくはコンピュータビジョンアルゴリズムを使用することによって、バイオメトリックデータから作成されることができる。)次いで、後続認証の際、対象のバイオメトリックが、捕捉され、記憶されたバイオメトリックまたはバイオメトリックテンプレートに対して比較またはマッチングされる。しかしながら、本アプローチは、問題となるセキュリティおよびプライバシ問題点を生じさせる。例えば、従来的バイオメトリックマッチングでは、本システムは、マッチングアルゴリズムを起動するために、プレーンテキストにおけるテンプレートにアクセスすることが可能でなければならず、これは、攻撃者がパスワードデータベースを侵害する方法と同様に、攻撃者がテンプレートを盗取する、またはデータベースを侵害し、ユーザのバイオメトリックデータまたは他の機密情報を取得するための脆弱性を広げる。被害は、バイオメトリックの場合、ユーザがそれらをリセットすることができないため、より大きくなる。指紋は、パスワードのようにリセットされることができない。バイオメトリックは、中央またはローカルのいずれかで記憶される。バイオメトリックが、1つまたはそれを上回る一元型データベース内に記憶されるとき、データベースは、ハッカーが標的とする、ハニーポットである。バイオメトリックが、iPhone(登録商標)のような各ユーザのデバイス内等、ローカルで記憶されるときも、例えば、ユーザがそのデバイスを紛失する場合、そこにエンロールしたバイオメトリックがその紛失されたデバイス上に記憶されている、したがって、マッチングするために利用可能な記憶されたバイオメトリックが存在しないため、もはや認証することができないことを含む、付加的短所が存在する。
今日の「マルチパーティ算出」または「MPC」技法は、バイオメトリックに適用されるとき、依然として、エンロールからのバイオメトリックテンプレートがサーバ上に記憶されることを要求する。認証の際、クライアント上の対象のバイオメトリックテンプレートが、マルチパーティ算出を使用して、サーバ上のバイオメトリックテンプレートと比較され、サーバおよびクライアントが、MPCを実施し、2つのテンプレートのマッチングスコアを算出する。本技法は、パーティがバイオメトリックテンプレートを交換する(古典的バイオメトリック認証において生じるように)ことを回避するが、本アプローチは、例えば、サーバおよびクライアントの両方が、本マッチングスコアを学習するため、プライバシを保存しない。MPCを使用する、既存のアプローチは、非効率的であって、数百万人のユーザに対して対応することができない。例えば、あるアプローチは、過剰な算出(認証あたりのユーザにつき約数秒等)を要求する一方、その他は、過剰な通信(時として、数十またはさらに数百工程にわたって、>10MBが認証あたりのユーザにつき交換される)を要求し、その他は、脆弱セキュリティモデル(1つまたはそれを上回る能動的悪意のあるサーバに関して非セキュア等)を有する。多くのそのようなアプローチは、サーバが、従来的バイオメトリック認証と全く同じように、プレーンテキストにおけるバイオメトリックテンプレートを記憶することを要求する。1つのアプローチは、クライアントとサーバとの間のデータをシャード化するものであって、これは、サーバにおける単一障害点を防止するが、これは、クライアントデバイスによって記憶されるシャードまたは複数のシャードが将来的認証において要求されるため、将来的認証で使用されるために同一クライアントデバイスを有するという要件を導入する。したがって、本アプローチは、クライアントデバイスの紛失が証明書のおよび認証する能力の紛失を含意するため、ローカルで記憶されるバイオメトリック認証の限界を共有する。
実施形態の概要
本願は、先行技術に優る有意な改良を伴う、ユーザを認証するためのプライバシ保存アプローチを説明する。
本発明の一実施形態によると、第1の変換器を使用して、バイオメトリックデータを使用して、そのバイオメトリックデータが以前に取得されている、個体として対象を認証するための方法が、提供される。本方法は、第2の変換器による出力として提供される、シャードをデジタル電子信号から生成するステップであって、そのような信号は、対象のバイオメトリックを特性評価する、ステップを含む、コンピュータプロセスを利用する。コンピュータプロセスはまた、サーバのアレイが、生成されたシャードを記憶し、対象の認証に関連する情報を展開し得るように、サーバのアレイへの生成されたシャードの分散を生じさせるステップを含む。コンピュータプロセスはさらに、サーバのアレイによって展開された情報を処理し、対象が個体として認証されるかどうかを示す、出力値を生成するステップを含む。
随意に、コンピュータプロセスは、出力値、デジタル電子信号、個体のバイオメトリックデータ、対象のバイオメトリック、生成されたシャード、およびそれらの組み合わせから成る群から選択される、情報のアイテムのセットに対して情報共有制限されるように構成される、コンピューティングエンティティによって実施される。随意に、コンピュータプロセスはさらに、生成されたシャードもまたエンコーディングされるように、デジタル電子信号をエンコーディングするステップを含む。代替として、または加えて、エンコーディングするステップは、ニューラルネットワークを使用するステップを含む。代替として、または加えて、エンコーディングするステップは、デジタル電子信号をベクトルのセットとしてメトリック空間内に表すステップを含む。代替として、または加えて、生成されたシャードのサブセットを使用して、データ交換プロセスを実施し、対象の認証に関連する情報を展開するステップは、メトリック空間内の距離のセットを算出するステップを含む。
随意に、データ交換プロセスは、サーバアレイ内のサーバのいずれもマルチパーティ算出の中間値を取得しないという条件下、マルチパーティ算出を含む。随意に、サーバのアレイの選択されたグループは、生成されたシャードに基づいて、新しいシャードの生成を生じさせる。随意に、シャードは、データ交換プロセスを含む、無効化プロセスによって、無効化可能である。代替として、または加えて、シャードの無効化に応じて、新しいシャードの生成は、個体が第1の変換器と再び関わることを要求しない。代替として、または加えて、無効化プロセスは、サーバのアレイと他のコンピューティングエンティティとの間の通信を伴わない様式において構成される。代替として、または加えて、無効化プロセスは、サーバのアレイのサブセットからの生成されたシャードのサブセットのサブセットを使用して、データ交換プロセスを実施するステップを含む。代替として、または加えて、データ交換プロセスは、サーバのアレイからのサーバの選択されたグループの間の通信を伴う。代替として、または加えて、データ交換プロセスを実施するステップは、各サーバによって、個体のその生成されたシャードを、対象のその生成されたシャードとともに、別個に処理し、シャードの新しいセットを生成するステップであって、シャードの新しいセットは、出力値を構成する、ステップを含む。代替として、または加えて、データ交換プロセスは、サーバのアレイに、マルチパーティ算出アルゴリズムを実行させ、ブラインド化された値を決定するステップと、サーバのアレイに、対応するシャードを算出させ、コンピューティングエンティティに、算出されたシャードを、以前に算出されたメッセージ認証コードに関する値とともに返すステップと、コンピューティングエンティティに、シャードデータを使用させ、対象が個体として認証されるかどうかを決定し、メッセージ認証コードを評価するステップとを含む。
随意に、サーバのアレイによって、生成されたシャードを受信および記憶するステップは、シャードに関するメッセージ認証コードを受信および記憶するステップを含み、データ交換プロセスは、メッセージ認証コードを使用して、対象が個体として認証されるかどうかを示す、出力値自体が真正であることを確認するステップを含む。随意に、サーバのアレイによって、生成されたシャードを受信および記憶するステップは、サーバのアレイを横断して分散されるBeaverトリプルのシャードを生成されたシャードとともに受信および記憶するステップを含む。代替として、または加えて、サーバのアレイによって、生成されたシャードを受信および記憶するステップは、Beaverトリプルに関するメッセージ認証コードを受信および記憶するステップを含む。代替として、または加えて、サーバのアレイによって、生成されたシャードを受信および記憶するステップは、対応するメッセージ認証コードキーのシャードを受信および記憶するステップを含む。
随意に、サーバのアレイによって、生成されたシャードを受信および記憶するステップは、ランダム値のシャードを受信および記憶するステップを含む。随意に、サーバのアレイによって、生成されたシャードを受信および記憶するステップは、認証プロセスに寄与する、機能のシャードを受信および記憶するステップを含む。随意に、サーバのアレイによって、生成されたシャードを受信および記憶するステップは、デジタル電子信号内の対象のバイオメトリック値のセットの確信サブセットを抽出するステップを含む。随意に、サーバのアレイによって、値のセットを受信および記憶し、シャードの効率的後続生成を有効にするステップは、Beaverトリプル、認証共有、メッセージ認証コードシャード、ランダムシャード、他のシャード、およびそれらの組み合わせから成る群から選択される、アイテムを受信および記憶するステップを含む。
本発明の別の実施形態によると、第1のコンピューティング設備に結合される、第1の変換器を使用して、バイオメトリックデータを使用して、そのバイオメトリックデータが以前に取得されている、個体として対象を認証するためのシステムが、提供される。本システムは、対象のバイオメトリックを特性評価する、デジタル電子信号出力を有する、第2の変換器を含む、コンピューティングコンポーネントを有する。コンピューティングコンポーネントはまた、第2の変換器から、デジタル電子信号を受信するように構成される、第2の変換器に結合される、第2のコンピューティング設備を含む。コンピューティングコンポーネントはさらに、サーバのアレイと、第3のコンピューティング設備とを含む。第2のコンピューティング設備、サーバのアレイ、第3のコンピューティング設備、および命令でエンコーディングされたコンピュータ可読媒体は、前述のコンピューティングコンポーネントによる実行に応じて、第2のコンピューティング設備によって、デジタル電子信号からのシャードの生成およびサーバのアレイへの生成されたシャードの分散を生じさせるステップを含む、コンピュータプロセスを確立する。コンピュータプロセスはまた、サーバのアレイによって、生成されたシャードを受信および記憶するステップを含む。コンピュータプロセスはさらに、サーバのアレイのサブセットによって、生成されたシャードのサブセットを使用して、対象の認証に関連する情報を展開する、データ交換プロセスを実施するステップを含む。コンピュータプロセスはまた、サーバのアレイのサブセットによって、第3のコンピューティング設備に、展開された情報を伝送するステップであって、展開された情報は、第3のコンピューティング設備に、対象が個体として認証されるかどうかを示す、出力値を生成させるように構成される、ステップを含む。
随意に、コンピュータプロセスは、コンピューティングコンポーネントが、出力値、デジタル電子信号、個体のバイオメトリックデータ、対象のバイオメトリック、および生成されたシャードから成る群から選択される、情報のアイテムに対して情報共有制限されるように構成されるという条件下で実施される。随意に、コンピュータプロセスは、コンピューティングコンポーネントが、出力値、デジタル電子信号、個体のバイオメトリックデータ、対象のバイオメトリック、および生成されたシャードから成る群から選択される、情報の複数のアイテムに対して情報共有制限されるように構成されるという条件下で実施される。
随意に、第2のコンピューティング設備によって生じさせるステップはさらに、生成されたシャードもまたエンコーディングされるように、デジタル電子信号のエンコーディングを生じさせるステップを含む。代替として、または加えて、エンコーディングを生じさせるステップは、ニューラルネットワークの使用を生じさせ、エンコーディングを達成するステップを含む。代替として、または加えて、エンコーディングを生じさせるステップは、デジタル電子信号の表現をベクトルのセットとしてメトリック空間内に生じさせるステップを含む。代替として、または加えて、生成されたシャードのサブセットを使用して、データ交換プロセスを実施し、対象の認証に関連する情報を展開するステップは、メトリック空間内の距離のセットを算出するステップを含む。随意に、データ交換プロセスは、サーバアレイ内のサーバのいずれもマルチパーティ算出の中間値を取得しない、マルチパーティ算出を含む。随意に、サーバのアレイの選択されたグループは、生成されたシャードに基づいて、新しいシャードの生成を生じさせる。
随意に、シャードは、データ交換プロセスを含む、無効化プロセスによって、無効化可能である。代替として、または加えて、シャードの無効化に応じて、新しいシャードの生成は、個体が第1の変換器と再び関わることを要求しない。代替として、または加えて、無効化プロセスは、コンピューティング設備とサーバのアレイとの間の通信を要求しない。代替として、または加えて、無効化プロセスは、サーバのアレイのサブセットのサブセットからの生成されたシャードのサブセットのサブセットを使用して、データ交換プロセスを実施するステップを含む。代替として、または加えて、データ交換プロセスは、サーバのアレイからのサーバの選択されたグループの間の通信を伴う。代替として、または加えて、データ交換プロセスを実施するステップは、各サーバによって、個体のその生成されたシャードを、対象のその生成されたシャードとともに、別個に処理し、シャードの新しいセットを生成するステップであって、シャードの新しいセットは、出力値を構成する、ステップを含む。
随意に、サーバのアレイによって、生成されたシャードを受信および記憶するステップは、シャードに関するメッセージ認証コードを受信および記憶するステップを含み、データ交換プロセスは、メッセージ認証コードを使用して、対象が個体として認証されるかどうかを示す、出力値自体が真正であることを確認するステップを含む。代替として、または加えて、サーバのアレイによって、生成されたシャードを受信および記憶するステップは、サーバのアレイを横断して分散されるBeaverトリプルのシャードを生成されたシャードとともに受信および記憶するステップを含む。代替として、または加えて、サーバのアレイによって、生成されたシャードを受信および記憶するステップは、Beaverトリプルに関するメッセージ認証コードを受信および記憶するステップを含む。代替として、または加えて、サーバのアレイによって、生成されたシャードを受信および記憶するステップは、対応するメッセージ認証コードキーのシャードを受信および記憶するステップを含む。
随意に、サーバのアレイによって、生成されたシャードを受信および記憶するステップは、ランダム値のシャードを受信および記憶するステップを含む。随意に、サーバのアレイによって、生成されたシャードを受信および記憶するステップは、認証プロセスに寄与する、機能のシャードを受信および記憶するステップを含む。代替として、または加えて、サーバのアレイによって、生成されたシャードを受信および記憶するステップは、デジタル電子信号内の対象のバイオメトリック値のセットの確信サブセットを抽出するステップを含む。代替として、または加えて、データ交換プロセスは、サーバのアレイに、マルチパーティ算出アルゴリズムを実行させ、ブラインド化された値を決定するステップと、サーバのアレイに、対応するシャードを算出させ、第2のコンピューティング設備に、算出されたシャードを、以前に算出されたメッセージ認証コードに関する値とともに返すステップと、第2のコンピューティング設備に、シャードデータを使用させ、対象が個体として認証されるかどうかを決定し、メッセージ認証コードを評価するステップとを含む。代替として、または加えて、サーバのアレイによって、値のセットを受信および記憶し、シャードの効率的後続生成を有効にするステップは、Beaverトリプル、認証共有、メッセージ認証コードシャード、ランダムシャード、他のシャード、およびそれらの組み合わせから成る群から選択される、アイテムを受信および記憶するステップを含む。
本発明の一実施形態によると、個体としての対象の後の認証の目的のために、個体のバイオメトリックデータをセキュアにエンロールするためのシステムが、提供される。本システムは、個体のバイオメトリックを特性評価する、デジタル電子信号出力を有する、第1の変換器を含む、コンポーネントを有する。コンポーネントはまた、第1の変換器から、デジタル電子信号を受信するように構成される、第1の変換器に結合される、第1のコンピューティング設備を含む。コンポーネントはさらに、サーバのアレイと、第2のコンピューティング設備とを含む。第1のコンピューティング設備、サーバのアレイ、第2のコンピューティング設備および命令でエンコーディングされたコンピュータ可読媒体は、前述のコンピューティングコンポーネントによる実行に応じて、デジタル電子信号からのオリジナルシャードの生成を生じさせるステップを含む、コンピュータプロセスを確立する。コンピュータプロセスはさらに、サーバのアレイを横断して、生成されたオリジナルシャードを分散させるステップを含む。コンピュータプロセスはまた、サーバのアレイに、生成されたオリジナルシャードを記憶させるステップを含む。生成されたオリジナルシャードは、生成されたオリジナルシャードが無効化可能であるという条件下で記憶される。
随意に、第1のコンピューティング設備、サーバのアレイ、および第2のコンピューティング設備は、コンピュータプロセスを実装するように構成され、オリジナルシャードに基づいて、新しいシャードの生成を生じさせるステップをさらに含む。代替として、または加えて、新しいシャードを生成するステップは、第1のコンピューティング設備とサーバのアレイとの間の通信を要求しない。随意に、第1のコンピューティング設備、サーバのアレイ、および第2のコンピューティング設備によって実装される、コンピュータプロセスでは、サーバのアレイを横断して、生成されたオリジナルシャードを分散させるステップはさらに、生成されたオリジナルシャードを、サーバのアレイを横断して、Beaverトリプル、関数秘密共有、およびそれらの組み合わせから成る群から選択される、ヘルパ情報とともに分散させるステップであって、そのようなヘルパ情報は、対象の後の認証において使用するために利用可能であるステップと、サーバのアレイに、生成されたオリジナルシャードと関連付けられる、ヘルパ情報を記憶させるステップとを含む。
本発明の一実施形態によると、個体としての対象の後の認証の目的のために、個体のバイオメトリックデータをセキュアにエンロールするためのシステムが、提供され、本システムは、個体のバイオメトリックを特性評価する、デジタル電子信号出力を有する、第1の変換器を含む、コンピューティングコンポーネントを有する。コンピューティングコンポーネントはまた、第1の変換器からデジタル電子信号を受信するように構成される、第1の変換器に結合される、第1のコンピューティング設備とを含む。コンピューティングコンポーネントはさらに、サーバのアレイと、第2のコンピューティング設備とを含む。第1のコンピューティング設備、サーバのアレイ、第2のコンピューティング設備、および命令でエンコーディングされたコンピュータ可読媒体は、前述のコンピューティングコンポーネントによる実行に応じて、デジタル電子信号からのオリジナルシャードの生成を生じさせるステップを含む、コンピュータプロセスを確立する。コンピュータプロセスはまた、サーバのアレイを横断して、生成されたオリジナルシャードを分散させるステップを含む。コンピュータプロセスはさらに、サーバのアレイに、生成されたオリジナルシャードを記憶させるステップを含む。コンピュータプロセスはまた、オリジナルシャードに基づいて、新しいシャードの生成を生じさせるステップを含む。
随意に、新しいシャードを生成するステップは、第1のコンピューティング設備とサーバのアレイとの間の通信を要求しない。
実施形態の前述の特徴は、付随の図面を参照して検討される、以下の詳細な説明を参照することによって、より容易に理解されるであろう。
図1Aは、本発明のある実施形態による、エンロールおよび認証を実施するためのコンピュータシステムのブロック図である。
図1Bは、本発明のある実施形態による、エンロールおよび認証を実施するための別のコンピュータシステムのブロック図である。
図1Cおよび1Dは、それぞれ、本発明のある実施形態による、n個のサーバを使用したコンピュータシステム内でのエンロールおよび認証のための通信経路を図示する、ブロック図である。 図1Cおよび1Dは、それぞれ、本発明のある実施形態による、n個のサーバを使用したコンピュータシステム内でのエンロールおよび認証のための通信経路を図示する、ブロック図である。
図2は、本発明の一実施形態による、エンロールの過程においてサーバに分散されるシャードの暗号化が第1のバイオメトリックコンピュータシステムによって達成される方法を図示する、論理フローの略図である。
図3は、シャードが図2に関連して説明されるプロセスに従って暗号化されている状況下における、認証における論理フローの略図である。
図4は、本発明のある実施形態による、エンロールプロセスの論理フローの略図である。
図5は、本発明の関連実施形態による、認証プロセスの論理フローの略図である。
図6は、本発明の別の関連実施形態による、認証プロセスの論理フローの略図である。
具体的実施形態の詳細な説明
定義。本説明および付随の請求項で使用されるように、以下の用語は、文脈によって別様に要求されない限り、示される意味を有するものとする。
「セット」は、少なくとも1つの帰属要素を含む。
「サブセット」は、全体のあるセットを含む。
「サーバのアレイ」は、複数のサーバである。
コンピューティングコンポーネントのシステムは、情報のアイテムが所与のコンポーネントによってハンドリングされており、所与のコンポーネントが、情報を本システムの少なくとも1つの他のコンポーネントと共有しないように防止されるとき、情報のアイテムに対して「情報共有制限される」ように構成される。本定義の目的のために、サーバのアレイは、単一コンポーネントと見なされる。
「コンピュータプロセス」は、ソフトウェアまたはファームウェアもしくはこれらのいずれかの組み合わせの制御下で動作する、または前述のいずれかの制御外で動作し得る、コンピュータハードウェア(プロセッサ、フィールドプログラマブルゲートアレイまたは他の電子組み合わせ論理、もしくは類似デバイス等)を使用した、コンピュータシステム内での説明される機能の実施である。説明される機能の全部または一部は、トランジスタまたは抵抗器等の能動的または受動的電子コンポーネントによって実施されてもよい。用語「コンピュータプロセス」を使用する際、必ずしも、スケジュール可能エンティティまたはコンピュータプログラムもしくはその一部の動作を要求するわけではないが、いくつかの実施形態では、コンピュータプロセスは、そのようなスケジュール可能エンティティまたはコンピュータプログラムもしくはその一部の動作によって実装されてもよい。さらに、文脈によって別様に要求されない限り、「プロセス」は、1つを上回るプロセッサまたは1つを上回る(単一またはマルチプロセッサ)コンピュータを使用して実装されてもよい。
「個体」は、一意の識別を有する、生物または無生物物体であって、人間または他の生命体であってもよい。
「対象」は、具体的個体の一意の識別を有すると主張する、生物または無生物物体である。
「バイオメトリック」は、個体またはグループの一意の識別を決定するために使用され得る、明確に異なる個体または明確に異なる個体のグループの測定可能特性、もしくはそのような特性の組み合わせである。そのような測定可能有機特性のいくつかの非限定的実施例は、個体の虹彩パターン、顔の眼球周囲領域、網膜血管パターン、指紋、遺伝的パターンまたはDNA指紋、声紋、タイプの速度または頻度、血流のパターン、脳構造または電気パターン、挙動信号(手移動等)、専門知識ベースの持続的バイオメトリック、および歩行である。測定可能無機特性の実施例は、個体が、トランジスタを有する、明確に異なるシリコンウエハであるとき、明確に異なるシリコンウエハを製造するプロセスによって生じる、トランジスタゲート遅延におけるランダム変動であって、そのような「シリコンバイオメトリック」は、当技術分野において公知であるように、リング発振器を使用して、検出可能である。
「バイオメトリック値」は、測定の性質に従った、バイオメトリックの測定の一部のカテゴリ化である。例えば、バイオメトリックが、虹彩紋であって、測定が、虹彩をピクセルのアレイとして結像することから成る場合、測定の関連部分は、画像内の単一ピクセルであって、関連性質は、カテゴリ化されるべきピクセルの明度または色であり得る。バイオメトリック全体の測定は、多くのバイオメトリック値を含み得る。
「バイオメトリック値に関する信頼度値」、または単に、「信頼度値」は、対応するバイオメトリック値が正しくカテゴリ化されたことの相対的信頼度を示す、数である。
バイオメトリックデータの「確信サブセット」は、(a)所与の無数の識別可能個体内の個体を一意に識別するために十分に大きく、かつ(b)異なる条件下での対応するバイオメトリックの測定を横断して繰り返し取得可能であるために十分に小さい、その個別の信頼度値に従って選択された、バイオメトリック値の集合である。
「変換器」は、バイオメトリックの特性評価を測定されたバイオメトリック値のセットとしてエンコーディングする、出力として、電子信号を有する、任意のデバイスである。そのようなデバイスの出力が、直接、デジタルではない場合、用語「変換器」は、加えて、出力をデジタル形態に変換するために使用される、任意のデバイスを含む。
「コンピューティング設備」は、コンピューティングプロセッサと、コンピューティングプロセッサによって実行され得る、命令を記憶する、メモリとを含む、コンポーネントを有する、電子システムを意味する。コンピューティング設備は、例えば、デスクトップコンピュータ、スマートフォン、タブレットコンピュータ、ウェアラブル、スマートウォッチ、および類似電子デバイス内に見出され得る。コンピューティング設備はまた、特殊算出を実施する、内蔵コンピューティングシステム、例えば、販売時点管理機械、現金自動預払機(ATM)、物理的アクセス障壁、ビデオディスプレイキオスク、および類似電子デバイスに見出され得る。
値は、単独で捉えられると、値について何も明らかにしないが、組み合わせられると、値を明らかにする、個々のコンポーネントに変換されるとき、「シャード化」される。例えば、xは、以下のように、[x]、[x]に算術的にシャード化されることができる。
[x]=r mod p
[x]=x-r mod p
式中、rは、ランダム整数であって、pは、大素数である。x=[x]+[x]であるが、[x]および[x]はそれぞれ、ランダムである(rが、ランダムであるため)ことが分かる。シャード化(すなわち、算術シャード化)の本アプローチは、例えば、Shamirシャード、すなわち、多項式補間、ビット毎XORシャード、線形シャード、関数共有等を含む、いくつかのシャードタイプのうちの1つのみを生産する。
「エンコーディングおよびシャードの中への抽出」を含むものとして列挙される、プロセスは、任意の順序において、すなわち、エンコーディングがシャードの中への抽出に先行する、第1の順序において、またはシャードの中への抽出がエンコーディングに先行する、第2の順序において、行われてもよい。
本明細書で例証されるように、「シャード」は、必ずしも、秘密である必要はない。コンテキストに応じて、シャードは、秘密である場合がある、または秘密ではない場合がある。
1 バイオメトリックデータの変換
本発明の実施形態は、バイオメトリックデータを、そのプライバシを保護しながら、認証を含む、目的のためにその間接使用を許可する、形態に変換するためのコンピュータシステムおよび方法を提供する。これらの実施形態は、下記に議論される。
図1Aは、本発明のある実施形態による、エンロールおよび認証を実施するためのコンピュータシステムのブロック図である。図1Aは、個体(ユーザ)103と、対象(ユーザ)106と、サーバのアレイを構成する、少なくとも2つのサーバ101、102とを示す。個体103は、ウェブブラウザ上で起動し、ウェブブラウザが、ひいては、個体の携帯電話上で起動する、ソフトウェアであるクライアント104と呼ばれる、ソフトウェア(この場合は、Javascript(登録商標)で記述される)を伴う、携帯電話を使用する。図1Aの実施形態では、クライアント104は、個体の顔の写真を撮影するために、携帯電話上のカメラへのアクセスを有する。クライアント104は、ユーザ103と、ユーザ103の代わりに、他のエンティティとも相互作用する。
対象(ユーザ)106は、異なる携帯電話、ラップトップ、キオスク等の異なるデバイス(クライアント107)を使用する。本デバイスはまた、クライアントソフトウェアを起動する。
図1Aの実施形態では、アイテム101として示される、サーバ1が、Goで実装され、(例えば、米国中央部における)Google Cloud Platform内でKubernetesを使用して展開される。サーバ101は、プロセス内で使用されるエンコーディングされたシャードを記憶する、Postgresデータベースを有する。アイテム102として示される、サーバ2と通信するために、アプリケーションプログラミングインターフェース(API)を有する、プログラムのセットを起動することに加え、サーバ101上で起動するプログラムのセットはまた、クライアント104と通信するためのAPIを有する。クライアント104と通信するためのこれらのAPIは、例えば、エンロール、認証、および署名するためのAPIを含む。
図1Aの実施形態では、アイテム102として示される、サーバ2は、Pythonで実装され、(例えば、欧州東部における)Amazon AWS内に展開される。本実施形態では、サーバ102は、プロセス内で使用されるエンコーディングされたシャードを記憶する、MySqlデータベースを有する。サーバ102は、サーバ側上にPythonで記述されることを除き、サーバ101のものに類似する、APIを有する。
図1Aの実施形態では、一連のプロセスは、以下のように実装される。
最初に、エンロールプロセスが、開始される(個体103によって、または別のパーティによって)。本プロセスでは、クライアント104が、個体103に、個体の顔の写真を撮影することを要求し、個体103が、そのような写真を撮影する。生存性検出が、写真内の個体の顔の画像に対して使用される。
次に、エンロールプロセスにおいて、クライアント104が、個体の顔の捕捉された画像を使用して、エンロールシャードを作成し、エンロールシャードをサーバ101およびサーバ102に送信し、これは、エンロールシャードを記憶する。
エンロール後、認証プロセスが、開始される(対象106によって、または別のパーティによって)。認証プロセスの際、対象のクライアント107が、対象106に、対象の顔の写真を撮影するように要求し、対象106が、そのような写真を撮影する。
次に、認証プロセスにおいて、対象のクライアント107が、対象の顔の捕捉された画像を使用して、認証シャードを作成し、認証シャードをサーバ101およびサーバ102に送信し、これは、認証シャードを記憶する。
認証プロセスのデータ交換プロセスの際、サーバ101および102は、記憶されたシャードに関して、相互に通信使、対象の認証に関連する情報を展開し、各サーバ101、102は、通信を対象のクライアント107に送信する。対象のクライアント107は、通信の受信の際、次いで、対象106が個体103として正常に認証されたかどうかを決定することができる。対象のクライアントは、対象106がエンロールされた個体103についての情報を把握することを伴わずに、対象106が正常に認証されたかどうかを決定することができる。
図1Aの実施形態は、例えば、サーバ101、102のいずれも対象106が個体103として正常に認証されたかどうかを把握しない、すなわち、サーバ101、102または対象のクライアント107のいずれも個体のバイオメトリックテンプレート(すなわち、個体の顔の画像)へのアクセスを得ず、サーバ101、102のいずれも、対象のバイオメトリックテンプレート(すなわち、対象の顔の画像)へのアクセスを得ないため、プライバシを保存する。
図1Aの実施形態はまた、例えば、サーバ101、102によって記憶されるシャードが無効化可能であるため、無効化可能である。悪意のある対象106が、対象のクライアント107に危殆化し、1つを除く全てのサーバに危殆化する場合、本実施形態は、悪意のある対象106が個体103に関連する情報にアクセスしないように防止する。そのような危殆化の場合、本実施形態では、個体103の証明書(シャードをサーバ101、102上に含み得る)は、無効化されることができ、新しい証明書が、個体103のために発行されることができる。いくつかの実施形態では、新しいシャードの発行は、個体の関与を伴わずに生じ得る。故に、外部敵対者が、1つを除く全てのサーバに危殆化することが可能である場合、本敵対者は、依然として、個体103について、何も把握せず、個体103の証明書は、無効化され、新しい証明書が、個体103を伴うことなく、発行されることができる。
図1Aの一実施形態では、5つのセットのシャードが、エンロールプロセスの際に生成される。各サーバ101、102は、5つのセットのシャードを受信する。各認証プロセスの際、シャードのセットのうちの1つは、破壊される。本実施形態では、認証プロセスが、成功すると、シャードの新しいセットが、エンロールプロセスに類似するステップを使用して、生成および分散される。
本実施形態は、随意に、サーバアレイ内の1つまたはそれを上回るサーバが、ダウンする、または使用中である、オフラインである、もしくは別様に利用不可能である場合を取り扱うためのプロセスを含む。例示的プロセスは、例えば、各サーバの複数のコピーを作成することによって、冗長性を作成するステップを含んでもよい。別の例示的プロセスは、m個のシャードのうちn個のシャード等、ある閾値数のシャードのみが要求される、Shamirシャード等の技法を使用して、シャード化を実施するステップを含んでもよい。そのようなプロセスでは、認証は、シャードを伴う、1つまたはそれを上回るサーバが、認証プロセスに関わらないときでも、可能である。サーバアレイ内の1つまたはそれを上回るサーバが、利用不可能になる場合、エンロールおよび認証の動作は、アレイ内のサーバのサブセットを使用して行われることができる。そのような動作を行うためのサーバのサブセットの決定は、例えば、オンラインステータス、可用性、侵害条件、容量、場所、権限ステータス、およびセキュリティグループを含む、1つまたはそれを上回る条件の組み合わせに基づくことができる。
図1Aの実施形態はまた、例えば、対象がそのパスワードまたはトークンを紛失し、アカウントリセットが要求される場合を含み得る、壊滅的証明書紛失の懸念に対処する。アカウントリセットプロセスは、それらが高価なコストセンターを伴う、ユーザがそのトランザクションを完了しない等のため、コストがかかり得る。現在のアカウントリセットプロセスは、例えば、それらが、ユーザ情報の中央データベースを有することと、知識ベースの認証(KBA)の使用とがデフォルトであり得るため、プライバシを保存せず、これは、ユーザのアカウントをリセットするために、ユーザに、そのお気に入りのスポーツチームまたは彼らが所有していた車について質問を尋ねることを含み得る。本実施形態は、例えば、アカウントアクセスが、パスワードを覚えること、またはトークンを所有することを要求せず、それによって、紛失されたパスワードまたは紛失されたトークンに起因する、リセットを要求する状況を回避するため、壊滅的証明書紛失に対処する。
一実施形態では、生存性検出が、バイオメトリックが実際の人物から得られたものであることを確実にするために使用される。一実施形態では、生存性検出は、光を顔上に異なる角度から照らしながら、顔の写真を撮影することを含む。別の実施形態では、実際の人々の写真と画面または写真の写真との間の差異を検出するように訓練される、ニューラルネットワークが、使用される。一実施形態では、赤外線カメラが、光学カメラと併用される。一実施形態では、センサが、呼吸、脈拍、指紋隆起間の深度等のある範囲の条件を検出する。一実施形態では、個体は、その頭部を旋回させる、ある語句を発話する、またはボタンをクリックする等によって、生存性検出に参加しなければならない。一実施形態では、生存性インジケーションは、デジタル電子信号の一部である。別の実施形態では、生存性インジケーションは、シャード内に含有される。
いくつかの実施形態では、無効化プロセスは、新しいシャードの作成を含めることを必要としない。例えば、一般データ保護規則(GDPR)を含む、規則は、忘れられる権利または個体がその個人データを消去させる権利を含む。無効化を実施するいくつかの実施形態の能力は、サーバの侵害およびシャードの危殆化の場合でも、忘れられる権利を有効にする。
いくつかの実施形態では、無効化プロセスは、1つまたはそれを上回るシャードを将来的認証の際に役に立たないものにさせる。一実施形態では、クライアントおよび1つを除く全てのサーバが、危殆化される場合、敵対者は、何も把握せず、個体の証明書は、無効化され、新しい証明書が、発行されることができる。一実施形態では、シャードは、証明書である。一実施形態では、シャードが、明らかにされる(侵害によって、または他の危殆化によって等)場合、シャードは、無効化され、再発行されることができる。一実施形態では、証明書は、シャードのサブセットである。一実施形態では、証明書は、バイオメトリックデータのエンコーディングされたバージョンである。一実施形態では、証明書は、ニューラルネットワークから生じるベクトルである。一実施形態では、証明書は、バイオメトリックテンプレートである。一実施形態では、新しい証明書を発行することは、個々のユーザを要求しない。一実施形態では、図1Aのシステムは、個々のユーザが新しい証明書を発行することを要求するように構成される。別の実施形態では、個々のユーザは、置換シャードを発行するために要求される。一実施形態では、役に立たないシャードは、キャンセルされたと呼ばれる。
一実施形態では、サーバのアレイは、それぞれ、一意のシャードを有する、5つのサーバであって、サーバのうちの1つが、危殆化される。一実施形態では、危殆化されたシャードを無効化するために、全5つのサーバが、関わる必要はない。以下のように(非包括的リスト)、危殆化されたシャードを無効化するために、いくつかの例示的方法が存在する。
一実施例では、アレイ内の5つのサーバのサブセット(例えば、3つ)が、新しいシャードの生成を生じさせることができる。3つの新しいシャードは、残りの2つのサーバのオリジナルシャードと協働する。サブセット内の3つのサーバからの3つのオリジナルシャードの認証のための有用性は、認証プロセスから取り消される。例えば、3つのオリジナルシャードのうちの1つが、危殆化された場合、危殆化されたシャードは、もはや将来的認証試行の成功を決定する際に有用ではなり、システムのセキュリティ体制は、1つのサーバの危殆化に先立ったものに戻される。
別の実施例では、サブセット内の3つのサーバによる3つの新しいシャードの生成は、5つのサーバアレイ内の他の2つのサーバからの残りの2つのオリジナルシャードの有用性を取り消す。
別の実施例では、アレイ内の1つのサーバは、そのシャードを削除し、そのアクションは、アレイ内の他のサーバによって保持される全ての残りのシャードの有用性を取り消す。
シャード化の分野では、危殆化されている1つまたはそれを上回る(但し、全てではない)シャードが個体のバイオメトリックを危殆化させないことは事実である。先行技術では、危殆化されたシャードは、持続的セキュリティ脆弱性である。すなわち、それらは、認証プロセスに対してその有用性を留保する。したがって、セキュリティモデルは、危殆化されるシャード毎に、より脆弱となる。しかし、本発明の実施形態では、無効化能力(危殆化されるシャードを無効化する)が、危殆化されるシャードの有用性が取り消され得るため、セキュリティ体制の復元を有効にする。
バイオメトリックが、5つのシャードにシャード化されており、5つのシャードのうちの3つの危殆化が、バイオメトリックを危殆化させるであろう状況を仮定する。先行技術では、1つのシャードが、危殆化された場合、さらに2つのみのシャードが、バイオメトリックを危殆化させるために危殆化される必要があるであろう。しかしながら、本発明の実施形態では、無効化能力が、危殆化されたシャードの有用性が取り消され得るため、セキュリティ体制の復元を有効にする(すなわち、3つのシャードが、バイオメトリックを危殆化するために危殆化されなければならない)。種々の実施形態は、その危殆化がシステムのセキュリティの持続的危殆化をもたらすことなく、一意に、シャードが危殆化されることを可能にする。無効化能力は、その間、敵対者が危殆化されたシャードを使用しようと試み得る、タイムフレームを限定し、それによって、攻撃可能面を低減させる。無効化プロセスは、クライアントの関与を伴わずに、サーバによって実施されることができるため、無効化は、非常に効率的に行われることができる。
図1Bは、本発明のある実施形態による、エンロールおよび認証を実施するための別のコンピュータシステムのブロック図である。図1Bのシステムを使用すると、証明書利用者140が、ユーザ(個体133、対象135)を認証する。本例示的実施形態のシステムは、以下を含む。
証明書利用者(RP)140は、一実施形態では、プライバシ保存方法において、HIPAA、GDPR、および/または他の規則に準拠して、ユーザ証明書が危殆化されるときに関連付けられる侵害および風評被害のリスクに曝されないような様式において、かつ企業のパスワードレス、自己主権型識別、デジタル識別変換、非監督、非一元型、およびコンプライアンスの取組等に即して、シームレスなユーザ体験をもたらすような様式において、そのユーザを認証することを所望する、薬局または銀行等の企業である。企業は、ウェブサイト、オンラインマーケット、またはデジタル支払ゲートウェイを有する。一実施形態では、ウェブサイトは、主として、Javascript(登録商標)で記述され、RPは、ユーザ名からパブリック-プライベート署名キー対のユーザのパブリックキーへのマッピングを記憶する、MongoDBまたは他のキー/値記憶を有する。
クライアントソフトウェア(ここでは、Javascript(登録商標)で記述される)が、ウェブブラウザ上で起動し、これは、ひいては、ユーザの携帯電話上で実行される。本ソフトウェアは、ユーザの顔の写真を撮影するために、オンボードカメラへのアクセスを有する。ソフトウェアのインスタンス(クライアント134)は、システムにエンロールされる、個体133と、個体133の代わりに、他のエンティティとも相互作用する。ソフトウェアのインスタンス(クライアント136)は、個体であることを主張する、対象135と、対象135の代わりに、他のエンティティとも相互作用する。我々は、時として、「個体のクライアント134」を、後の認証の目的のためにエンロールされている、個体のバイオメトリックを提供するとき、第1の「コンピューティング設備」とも称する。
Badgeサービス130が、ユーザ(個体133および対象135)からのデータをエンコーディングする。これはまた、導出されたバイオメトリックルートプライベートキーを用いた暗号化演算も取り扱う。実施形態では、サービス130は、C++で記述され、Badgeによって自己ホストされる。一実施形態では、各クライアント134、136は、Badgeサービスの機能を実施する。別の実施形態では、Badgeサービス130は、サーバによってホストされる。別の実施形態では、各クライアント134、136は、Badgeサービス130に結合される。別の実施形態では、Badgeサービス130は、クライアント134、136内に含有される。別の実施形態では、Badgeサービス130は、クライアント134、136内に含有されない。一実施形態では、クライアント134、136は、フロントエンドユーザインターフェースであって、Badgeサービス130は、バックエンドである。一実施形態では、Badgeサービス130は、エンロールおよび認証関連情報のエンコーディングならびに分散を実施する。一実施形態では、クライアントおよびサービス134、136、130は、Windows(登録商標) HelloまたはTouch ID等の既存のクライアントと統合され、サーバ111、112、115、121、122、125は、Azure、AWS、または他のクラウドプラットフォーム内にホストされる。
図1Bのシステムは、サーバ1A111、サーバ1B、...に対応する、サーバソフトウェアの複製のクラスタを含む。実施形態では、サーバソフトウェアは、Goで実装され、Google Cloud Platform内でKubernetesを使用して展開され、ユーザのエンコーディングされた共有情報を記憶する、共有Postgresデータベースを有し、これは、バイオメトリックおよびプライベートキーに基づいてもよい。他のサーバと通信するためのAPIを有する、プログラムのセットを起動することに加え、各サーバはまた、クライアントと通信するためのAPIを有する、プログラムのセットを起動する。一実施形態では、これらのAPIは、エンコーディングされたバイオメトリックの個体の秘密共有情報およびルートプライベートキーをエンロールし、対象のエンコーディングされたバイオメトリックのこれらの共有情報および秘密共有情報を含む、認証プロセスを実施するためのAPIを含む。
図1Bのシステムはまた、サーバ2A121、サーバ2B122、...に対応する、サーバソフトウェアの複製の別のクラスタを含む。実施形態では、本サーバソフトウェアは、Pythonで実装され、欧州中央部におけるMicrosoft Azure内に展開される。クラスタは、サーバソフトウェアのPythonバージョンの複製を含んでもよく、ユーザのエンコーディングされた共有情報を記憶する、共有MySqlデータベースを有し、これは、バイオメトリックおよびプライベートキーに基づいてもよい。これは、サーバ側上でPythonで記述されることを除き、サーバ1A111、サーバ1B、...のクラスタのものに類似する、APIを提供する。
ゲートウェイ1115は、複製の最大負荷を最小限にするように、異なるクライアントと異なる複製との間のトラフィックをルーティングする、負荷バランサ(Goで記述され得る)である。加えて、負荷平衡のための実施形態で使用される、プロトコルは、サーバ1A111の複製が、同一クライアント134にトークする、サーバ2A121の正確な複製を見出すことを要求する。ゲートウェイ115は、サーバ1A111がサーバ2A121の正しい複製に接続することを有効にするための機能性を提供する。(一実施形態では、マッピングは、ロードバランサに応じて、動的である。これは、例えば、サーバ1A111がサーバ2Gにマッピングされることを動的に決定し得る。)
ゲートウェイ2125は、Pythonで記述される(クラスタ2のように)ことを除き、ゲートウェイ1115によって実装されるものに類似する、機能性を実装する、負荷バランサである。
図1Bにおける実施形態では、証明書利用者140が、一連のエンロールプロセスを使用して、対象ユーザ135を認証するステップは、以下のように実装される。
個体133が、証明書利用者140によって、アカウントを登録または作成するように求められる。
個体133が、ここでは、第1のコンピューティング設備として機能する、個体のクライアント134上で「エンロール」オプションをクリックする。個体のクライアント134が、個体に、顔の自撮り写真を撮影するように要求し、個体が、そのような顔の自撮り写真を撮影する。
次に、Badgeサービス130および個体のクライアント134が、セキュアな暗号化されたセッションを確立する。
Badgeサービス130が、セキュアな暗号化されたセッションを使用して、個体のクライアント134とセキュアに通信する。Badgeサービス130が、ベクトルを出力する、深層学習ニューラルネットワークを通してフィードされる、バイオメトリックデータを生成するように、個体の顔の捕捉された画像と関連付けられるデータをエンコーディングする、これは。
Badgeサービス130が、ベクトルを使用して、シャードを生成する。
Badgeサービス130が、サーバ111、112、121、122への生成されたシャードの分散を生じさせる。セキュアな暗号化されたセッション内では、個体のクライアント134は、ルートプライベートキーを受信し、署名するために使用される、ECDSA(Elliptic曲線デジタル署名アルゴリズム)パブリックおよびプライベートキー対を導出する。一実施形態では、ECDSAパブリックまたはプライベートキーのいずれも、それらが必要に応じて再導出され得るため、記憶される必要はない。一実施形態では、個体のクライアント134は、異なる証明書利用者およびアプリケーションと併用するための別個のキー対を導出する。一実施形態では、いくつかのキー対が、データ暗号化のために使用される。一実施形態では、個体のクライアント134は、ECDSAパブリックキーを証明書利用者140に送信する。証明書利用者140は、パブリックキーを記憶する、または認証局もしくは登録局を使用して、パブリックキーをパブリックキーデータベース内に記録する。一実施形態では、Badgeサービス130は、認証局、登録局、および/またはパブリックキーデータベースを含有する。一実施形態では、証明書利用者140パブリックキーを記憶し、成功を個体のクライアント134に報告する。個体のクライアント134は、エンロール成功を個体に示す。
本実施形態では、シャードは、可能性として考えられる構成の以下のリスト上のアイテムのうちの1つまたはそれを上回るものを含んでもよい。本リスト上の任意のアイテムは、複数回の発生を有する場合がある。
1.バイオメトリックデータの算術シャード
2.バイオメトリックデータの算術シャードに関するMACコード
3.Beaverトリプル
4.Beaverトリプルに関するMACコード
5.ランダム値(例えば、アルファ、r)の算術シャード
6.ランダム値の算術シャードに関するMACコード
7.シャードランダム値の算術に関する関与値
8.MACキーの算術シャード(MACキー「D」と呼ばれる)
9.ある関数の関数秘密共有
本実施形態では、Beaverトリプルは、ランダムに選定されたxおよびyに関する{x,y,x*y}の算術シャードである。いくつかの実施形態では、エンコーディングは、上記を生成されたシャードの中にエンコーディングすることを含む。
一実施形態では、MACコードは、共有情報自体の一部であると考えられる。「認証された算術共有情報」は、情報およびそのMACコードのタプルである。例えば、「a」のシャードに関して、対応するMACコードは、(a*D)のシャードであって、「D」は、MACキーである。本実施形態では、シャードは、以下のうちの1つまたはそれを上回るものを含んでもよい。
1.バイオメトリックデータの認証された算術シャード
2.認証されたBeaverトリプル
3.ランダム値アルファの認証された算術シャード
4.MACキーの算術シャード
5.ある関数の関数秘密共有
一実施形態では、関与値が、関与された値が修正されているかどうかをチェックするために使用されることができる。例えば、rのシャードに関する関与値が、rのシャードが修正されているかどうかをチェックするために使用される。一実施形態では、関与値は、ハッシュである。
一実施形態では、対象の認証は、第2のコンピューティング設備によって、以下のうちの1つまたはそれを上回るものを受信および記憶するステップを含む。
--ランダム値rの算術シャード
--rの算術シャードに関するMACコード
--rの算術シャードに関する関与値
一実施形態では、rのシャードは、サーバのアレイから受信される。さらなる実施形態は、
第2のコンピューティング設備によって、rの算術シャードに関する関与値を使用して、サーバのアレイのいずれも、能動的に悪意のあるものではない、または別様に、rのシャードが修正されているように危殆化されていないことを確認するステップと、
第2のコンピューティング設備によって、rをrのシャードから生成するステップと、
を含む。
一実施形態では、認証は、
第2のコンピューティング設備によって、ブラインド化されたシャードを対象のデジタル電子信号およびrのシャードから生成するステップと、
第2のコンピューティング設備によって、ブラインド化されたシャードをサーバのアレイにブロードキャストするステップと、
を含む。
別の実施形態では、認証は、サーバのアレイに、対象のデジタル電子信号のシャードを所有させるステップを含む。
一実施形態では、認証は、サーバのアレイによって、ブラインド化されたシャードおよびrのシャードを使用して、対象のデジタル電子信号のシャードおよび関連付けられるMACを生成するステップを含む。
一実施形態では、上記のプロセスは、サーバのアレイに、シャードのMACコードの使用によって、サーバのアレイのいずれかが能動的に悪意のあるものであるかどうか、例えば、それが任意のシャードを修正しているかどうかを明らかにする。さらなる実施形態では、サーバが能動的に悪意のあるものであることが検出される場合、セキュリティプロセスまたは契約上の法的プロセスの不履行が、実施される。例えば、サードパーティのサーバが、危殆化され、シャードの修正をもたらす場合、適切なプロセスおよび紛争のための法的または補償措置が、開始されてもよい。
代替として、または加えて、別の実施形態では、認証は、
第2のコンピューティング設備によって、データ交換情報をサーバのアレイから受信するステップと、
第2のコンピューティング設備によって、データ交換情報を使用して、サーバのアレイのサブセットが悪意のあるものではないことを確認するステップと、
を含む。
さらなる実施形態では、サーバが、悪意のあるものであることが見出される場合、セキュリティプロセスが、実施される。
代替として、または加えて、別の実施形態では、認証は、
関与値または対象のデジタル電子信号のシャードのハッシュ等の付加的値を生成および分散させるステップと、
サーバのアレイによって、生成されたシャードおよび付加的値を受信および記憶するステップと、
を含む。
一実施形態では、上記のプロセスは、サーバのアレイに、シャードのMACコードの使用によって、サーバのアレイのいずれかが能動的に悪意のあるものであるかどうかを明らかにする。
証明書利用者140がユーザ133であると主張する対象135を認証する、システムの一実施形態では、認証プロセスは、以下のように実装される。
対象135が、証明書利用者のアプリケーションにログインを試み、この場合、認証の目的のために、第2のコンピューティング設備として作用する、対象のクライアント136上でログインを要求する。
対象のクライアント136(例えば、対象のデバイス上で起動する)が、ユーザ認証のための要求を証明書利用者140に送信し、これは、第3のコンピューティング設備と呼ばれるものを使用する。
証明書利用者140が、チャレンジを対象のクライアント136に返し、これは、メッセージにECDSAプライベートキーで署名するための要求を含む。
対象のクライアント136が、対象135の顔の自撮りを要求する。
対象135が、その顔のそのような自撮りを撮影する。
対象のクライアント136およびBadgeサービス130が、セキュアな暗号化された通信チャネルを確立する。
Badgeサービス130が、シャードをエンコーディングおよび生成する。
Badgeサービス130が、シャードのサブセットを複数のサーバ111、112、121、122に分散させる。
サーバ111、112、121、122のサブセットが、データ交換プロセスを実施する。
サーバ111、112、121、122のアレイのサブセットのサブセットが、情報をBadgeサービス130に送信する。
Badgeサービス130が、情報を使用して、ルートプライベートキーを再導出する。
Badgeサービス130が、セキュアな暗号化されたチャネル上で、対象のクライアント136がECDSAプライベートキーを再導出することを有効にする様式において、対象のクライアント136と通信する。
対象のクライアント136が、メッセージにECDSAプライベートキーで署名する。
対象のクライアント136が、署名付きメッセージを証明書利用者140に伝送する。
証明書利用者140が、ECDSAパブリックキー(証明書利用者140によってアクセスのために以前に記憶されている)を使用して、署名を照合する。
署名が、有効である場合、証明書利用者140が、対象135を個体133として正常に認証する。一実施形態では、証明書利用者140は、対象のクライアント136に、アプリケーションにアクセスするためのアクセスを付与する。
認証の結果が、対象135に報告される。
対象135は、いったん個体133として認証されると、証明書利用者のアプリケーションにアクセスする。一実施形態では、対象135は、その口座残高を閲覧する。別の実施形態では、対象135は、その医療試験の結果を閲覧する。別の実施形態では、対象135は、メッセージ、支払ウォレット、または他のデータを暗号化解除する。別の実施形態では、対象135は、デジタル署名を使用して、ドキュメントまたは他のデータに署名する。一実施形態では、対象135は、例えば、分散型台帳、ブロックチェーン、またはトランザクション処理スタックによって承認および記録されるために、トランザクションに署名する。
いくつかの実施形態では、出力値は、対象が、個体として認証される場合、あるキーであって、出力値は、対象が個体として認証されない場合、全てのゼロである。1つのそのような実施形態では、第3のコンピューティング設備は、出力値/キーを使用して、ECDSAプライベートキーを導出する。さらに、第3のコンピューティング設備は、ECDSAプライベートキーを使用して、署名ベースの認証を実施し、第4のコンピューティング設備に対して認証する。そのような実施形態では、第3のコンピューティング設備は、アプリケーションへのアクセスを有効にするトークンを第4のコンピューティング設備から受信する。別の実施形態では、エンコーディングは、バイオメトリックテンプレートの生成のために、バイオメトリックデータを処理ことを含む。一実施形態では、深層学習ニューラルネットワークが、バイオメトリックベンダ等の別のエンティティによって提供される。別の実施形態では、バイオメトリックデータは、バイオメトリックテンプレートを出力する、特徴抽出および/または整合アルゴリズムを使用して処理される。別の実施形態では、顔のバイオメトリックデータは、第1のベクトルを出力する、顔に関して訓練されたニューラルネットワークを通してフィードされ、音声のバイオメトリックデータは、第2のベクトルを出力する、音声に関して訓練されたニューラルネットワークを通してフィードされ、2つのベクトルは、例えば、バイオメトリックテンプレートの生成のために、テンソル積を使用して、組み合わせられる。
本発明のいくつかの実施形態は、複数のバイオメトリック入力を一意に活用することができる。例えば、各バイオメトリック入力が、機械学習モデルを通してフィードされ、出力をメトリック空間内に有する場合、これらの実施形態は、シャードをこれらのバイオメトリック入力から生成することができる。実施形態では、Badgeサービス130は、機械学習を使用して、ベクトルを生成し、次いで、生成されたベクトルを認証プロセスの入力として使用する。機械学習の使用は、複数のバイオメトリックおよび非バイオメトリック入力に適用され、また、複数のベクトルに適用される。一実施形態では、これらの技法は、シャードをデジタル電子信号から生成する際に活用される。
一実施形態では、デジタル電子信号は、人物の顔画像と、音声とを含む、ビデオである。顔画像は、その独自のニューラルネットワークを通して進み、音声は、その独自のニューラルネットワークを通して進むであろう。各ニューラルネットワークは、エンロール時に、顔ベクトルおよび音声ベクトル等のベクトル(すなわち、「エンロールベクトル」と呼ばれるもの)と、再び、認証時に、ベクトル(「認証ベクトル」と呼ばれるもの)を生産するであろう。これらの2つのベクトルは、マージされ(付加的情報の有無にかかわらず)、入力ベクトルを作成する。例えば、顔ベクトルおよび音声ベクトルは、PINコードと組み合わせられ、マージされたベクトルを作成してもよい。さらなる実施例として、付加的情報は、ベクトルが導出され得る、バイオメトリック入力のタイプを示す、メタデータのセットを含んでもよい。一実施形態では、コンピューティング設備は、入力ベクトルを求め、それを使用して、シャードを生成する。このように、シャードは、複数のバイオメトリックのベクトルに基づいて、生成されることができる。代替実施形態では、顔のために1つと、音声のために1つの、2つのデジタル電子信号が存在する。一実施形態では、生成するステップは、その入力がデジタル電子信号のコンポーネントを含む、ニューラルネットワークを使用して作成された、メトリック空間内で出力を取得するステップを含む。メトリック空間内の出力は、ベクトルを含むことができる。バイオメトリックデータは、1つまたはそれを上回るベクトルとしてメトリック空間内に表され得る。一実施形態では、ベクトルは、ニューラルネットワークまたは深層学習モデルを使用して、生成される。本発明の種々の実施形態によると、認証のためにバイオメトリックデータのプライバシを保存するように構成される、プロセスは、メトリック空間内の(認証ベクトルとエンロールベクトルとの間の)距離の計算と、計算された距離の閾値に対する比較とを伴う。
上記に説明されるニューラルネットワークは、他人受入率(FAR)および本人拒否率(FRR)の観点から、所与の性能を有し得る。本発明のいくつかの実施形態は、所与の閾値におけるFARおよびFRR性能を低下させずに、プライバシ保存認証を実施するための方法を提供する。
このように、これらの実施形態は、バイオメトリックの恣意的モダリティを使用して、均一アプローチを提供する、すなわち、上記の深層学習アプローチは、顔認証、音声認証、挙動認証等、ならびに指紋、虹彩、網膜、掌等のより従来的バイオメトリックモダリティと併用されることができる。いくつかの実施形態におけるアーキテクチャは、まだ発明されていない、バイオメトリックモダリティの均一サポートを有効にする。そのようなアーキテクチャはまた、上記のそのようなPIN、トークン、パターン、パスワード等の要因と組み合わせて、均一サポートを有効にする。
本願に説明される種々のパターンの認証では、
--個体は、1つまたはそれを上回るモダリティ(顔、音声、指紋、眼球周囲の顔、PIN、パスワード、SSID、トークン等)を使用して、エンロールすることができ、
--次いで、これらのモダリティのサブセットを用いて、認証することができ、
--付加的モダリティを経時的にエンロールすることができ、
--(以下の段落において解説されるように)これらのモダリティのうちのいくつかが、本システムを危殆化せずに、危殆化され得る。
例えば、指紋バイオメトリックが、本明細書に説明される技術に関連しない場合では、すなわち、データベースのいずれかの場所に記憶される指紋テンプレートが、危殆化されるとき、危殆化される場合があるが、従来の技術の本危殆化は、本発明のある実施形態によると、システムを危殆化する結果をもたらさない。別の実施例では、下層プライベートキーが、危殆化される場合、本危殆化されたキーは、本発明の実施形態によると、無効化されることができる。別の実施例として、パスワードがこれ以上使用されるべきではないことが決定されるとき、パスワードは、認証のための有効モダリティとして排除されることができる。いくつかの実施形態では、本決定は、ユーザによって行われ、他の実施形態では、決定は、銀行または政府代理人等の組織によって、または条件のセットが決定を正当化するために確立されているとき、自動的に行われてもよい。
いくつかの実施形態では、情報の提案される使用の性質は、そのような使用と関連付けられる、セキュリティリスクの階層の選択、その結果、そのような使用を実装するために要求される認証要因を統制する。例えば、本明細書では、1つのシナリオ下では、個体の顔のみが、個体の銀行残高を確認するためにログインするために要求されるが、次いで、別のシナリオでは、より高い階層のセキュリティリスクを伴う、トランザクションを実施するために、個体は、顔認識ならびに音声認識の要件に合格することが要求されるであろう。例えば、個体の住所の変更を伴う、さらに別のシナリオでは、バイオメトリック要件に加え、ユーザのPIN等の秘密を提供するための要件が課されてもよい。他の実施例は、組織が、例えば、それに関してユーザがアクセスすることを所望する、アプリケーションまたはトランザクションに対するユーザ利便性に基づいて、もしくは、別の実施例では、セキュリティポリシに基づいて、要求される入力要因または組み合わせを選定することを含む。
いくつかの実施形態では、個体がエンロールする、要因またはモダリティ毎に、1つまたはそれを上回る別個の副キーが、導出される。副キーのセットのサブセットは、対象を個体として認証するために十分であり得る。エンロールに応じて、副キーに関連する、主キーが、生成されてもよい。主キーは、副キーから導出されてもよい。いくつかの実施形態では、全ての副キーは、主キーを再導出するために要求される。いくつかの実施形態では、主キーは、マスタキーように動作する。
いくつかの実施形態では、副キーの危殆化は、任意の他のキーを危殆化させない。副キーは、無効化されることができる。いくつかの実施形態では、主キーは、更新され、もはや無効化された副キーに関連しなくなることができる。例えば、主キーは、更新され、もはやは、無効化される副キーを含有しなくなることができる。
いくつかの実施形態では、副キーおよび主キーは、ECDSAまたはRSAキーであってもよく、署名および暗号化等の標準的暗号化演算で使用されてもよい。一実施形態では、主キーは、副キーを包含する、ECDSAキーである。一実施形態では、Diffie Helmanプロセスが、副キーを組み合わせ、主キーを生成するために使用される。いくつかの実施形態では、キーを生成するステップは、秘密を生成し、ECDSAキー対およびパブリックキーインフラストラクチャにおいて公知のようなその他等のプライベート/パブリックキー対をそれから導出するステップを含む。
一実施形態では、認証の際に再導出される、副キーのセットは、主キーのサブセットであって、本サブセットが、認証のために十分であると決定される場合、サーバは、設定された帰属関係証拠を受け取る。一実施形態では、十分である内容の決定は、エンロール時に行われる。一実施形態では、十分であると決定されるサブセットの閾値は、組織によって動的に設定されることができる(例えば、エンロール時から静的のままである必要はない)。さらに、閾値は、ユーザ設定およびセキュリティ等のために、組織の選好に応じて、単一の部分的モダリティと同程度に低い、または全てのモダリティと同程度に高くてもよい。
いくつかの実施形態では、要因またはモダリティ毎に、1つまたはそれを上回る副キーが存在する。例えば、所与のユーザに関して、各手の各指上の部分的指紋毎に、副キーが存在し得る。別の実施例では、ユーザの全10本の指紋および2つの掌が、1つの副キーを有する。別の実施例では、所与のユーザに関して、視覚的、赤外線(IR)、3次元(3-D)等の顔走査のタイプ毎に、別個の副キーが存在する。一実施例では、低光量、眼鏡を装着している、フェイスマスクを装着している、頭部に覆いを伴っている、屋外にいる、電話中であるウェアラブルカメラを使用している、髭がある等のいくつかの別個の条件のそれぞれにおいて、ユーザの顔の走査のための別個の副キーが存在する。
副および主キーを実装する、ある実施形態では、認証の際、副キーのうちの1つが、生成される。これらの実施形態のうちのいくつかでは、副キーが、以下のように、ユーザの主キーと関連付けられることが示され得る。
xおよびyは、副秘密キーであって、
主秘密キーが、パブリックキーg^{x*y}を伴う、x*yである場合、関連付けられるパブリックキーg^xを伴う、副キーxは、g^yを使用して、主秘密キーの一部であることが照合され、g^{x*y}を算出し、主パブリックキーとの同等性を照合することができる。
これは、導出されるキーが、対象が、認証の際、全てのモダリティを使用しない場合でも、個体がエンロールされた、キーの帰属要素であることを実証することを可能にする。いくつかの実施形態では、これはまた、具体的キー無効化を可能にする。すなわち、xが、危殆化される場合、xを含む、全ての副キーは、無効化されることができる。これらの実施形態では、xの危殆化または無効化は、他のキー(例えば、y)についての情報を明らかにせず、他のキーの機能性に影響を及ぼさない。
いくつかの実施形態では、副キーは、その個別のモダリティから個々に抽出されてもよく、これらのキーは、漸次的に組み合わせられてもよい。例えば、顔の副キーおよびPINの副キーが、抽出されてもよい。これらの2つのキーは、例えば、ログイン認証プロセスのために使用され得る。次いで、ステップアップ認証プロセスを実施するために、サービスは、音声キーもまた抽出されることを要求し得る。本実施形態では、音声キーが、抽出され、以前に抽出された顔およびPINキーと組み合わせられ、ステップアップ認証プロセスのために使用される、キーを取得することができる。
図1Bの実施形態では、シャードの分散を生じさせるステップは、オンラインステータス、可用性、侵害条件、容量、場所、権限ステータス、非一元化、負荷平衡、履歴、性能、スケジューリングアルゴリズム、またはセキュリティグループを含む、1つまたはそれを上回る条件の組み合わせに基づく。例えば、クラスタ内の複数のサーバ111、112が、危殆化されている場合、そのクラスタ内の他のサーバは、分散を受信し得ない。例えば、ゲートウェイ115またはゲートウェイ125が、負荷平衡を達成するために使用すべきクラスタ内のサーバを選び得る。例えば、Badgeサービス130またはクライアント134、136が、それに関してサーバが分散を受信する、選好を示し得る。例えば、複数のサーバは、別のサーバもまた受信する、1つまたはそれを上回るシャードを受信してもよい。別の実施例では、いずれのサーバも、別のサーバが受信するものと同一シャードを受信しない。
そのような「分散を生じさせるステップ」自体は、分散の特定のパターンを要求せず、分散のパターンの範囲が、関連コンピュータプロセスのコンテキストに応じて、採用されることができる。分散の1つのパターン下では、全てのサーバが、同一情報を得て、その情報は、パブリック性である場合とそうではない場合がある。1つのさらなるシナリオ下では、情報は、「ブラインド化」される場合があり、その用語は、本明細書で使用されている通りである。別のパターンでは、例えば、異なるサーバが、異なる情報を得て、これは、重複する場合とそうではない場合があり、これは、概して、パブリック情報ではない。分散の種々の方法が、採用されてもよい。1つのシナリオでは、例えば、分散方法は、さらなる情報をサーバに提供し、それが、以前にそこに送達された情報を解釈することを可能にするステップを伴ってもよい。
一実施形態では、クライアント134、136とBadgeサービス130との間のセキュアな暗号化されたセッション内において、クライアント134、136は、ルートプライベートキーを受信し、署名するために使用される、RSAパブリックおよびプライベートキー対を導出する。別の実施形態では、Badgeサービス130は、キー対を導出し、パブリックキーをパブリックキーディレクトリにポストし、これは、いくつかの実施形態では、ある証明書利用者およびアプリケーションによってアクセスされる。一実施形態では、RSAパブリックまたはプライベートキーのいずれも、それらが必要に応じて再導出され得るため、記憶される必要はない。一実施形態では、クライアント134、136は、異なる証明書利用者およびアプリケーションと併用するための別個のキー対を導出する。一実施形態では、いくつかのキー対は、データ暗号化のために使用される。このように、人間は、信頼の起点である(紛失または危殆化され得る、ハードウェアまたは物理的信頼の起点、もしくはソフトウェア信頼の起点の代わりに)。人間の信頼の起点は、オンデマンドで、認証するためのキー対を再導出し、署名する、暗号化する、または証明書利用者、サービス、およびアプリケーションとの他の機能を提供することができる。
いくつかの実施形態では、図1Bのシステムは、2つを上回るサーバクラスタを含む。本実施形態では、図1Bにおけるシステムアーキテクチャは、Badgeサービス130が付加的サーバクラスタに接続されるように変更される。一実施形態では、サーバまたはサーバクラスタは、1つおきのサーバまたはクラスタと2地点間接続を有する。一実施形態では、サーバは、MPCプロトコルを行うために、それ自体の間に一連のブロードキャストを有するであろう。
実施形態では、本システムは、変動様式において、対象が認証されることを証明書利用者(時として、本明細書では、「RP」)に通信する。一実施形態では、証明書利用者は、エンロールの際に個体のクライアントと通信する(図1Bに描写されるように)。そのために、クライアント(エンロール後)は、Badgeアカウントを証明書利用者のアカウントにリンクさせる、ある情報を証明書利用者に送信する。例えば、これは、標準的OAuthプロトコルを使用して達成されることができる。別の実施形態では、証明書利用者は、そのルート認証書を証明書利用者に登録する、認証局(CA)として作用する、Badgeサービスと通信する。Badgeサービスは、次いで、証明書利用者によって照合され得る、クライアントが認証されることの署名付きメッセージを送信することができる。さらに別の実施形態では、証明書利用者は、二次クライアントと以外、通信を有していない。この場合、サードパーティCA(例えば、COMODO)が、Badgeサービスに、認証書を発行し、これは、認証メッセージに署名するために使用される。証明書利用者は、プロトコル、例えば、標準的トランスポート層セキュリティ(TLS)を使用して、これらの署名付き認証メッセージを照合する。
1.1 データエンコーディング
いくつかの実施形態では、ユーザUは、特徴のセットによって表され得、テンプレートのエントロピに対応する、点のサブセット
Figure 2023504569000002
が存在する、バイオメトリックテンプレートTを有する。一実施形態では、各特徴は、同一母集団の要素であって、母集団は、有限であって、全順序を有しなければならない。いくつかの実施形態では、本全順序は、UおよびUの両方に対して既知でなければならず、一定であるまたは、例えば、PIN、パスワード、外耳道の特性、バイオメトリックデータを含み得る、1つまたはそれを上回る認証要因に応じて、変動し得る。これらの実施形態の条件を異なるように述べるために、バイオメトリックデータのランダム性を表す、点のサブセットが存在する。点Pのサブセットをエントロピ点と呼ぶとする。一実施形態では、エンコーディングアルゴリズムが、TをエンコーディングされたテンプレートEにエンコーディングするために使用され、アルゴリズムfが、エンコーディングされたテンプレートEおよび第2のテンプレートTのエントロピ点Pを前提として、認証を実施し、Tは、ユーザUによって生成される。すなわち、ユーザUがUと同一である場合、f(E,P)=1であって、そうでなければ、f(E,P)=0である。これは、同様に、UがUと同一である場合、かつその場合のみ、f(EI,P)=1であるという点で、関数が対称であることを意味することに留意されたい。
そのようなバイオメトリックテンプレートおよびエンコーディングスキームの実施例は、2次元顔または指紋テンプレートをテンプレートと関連付けられる特徴の(x,y)座標のリストとして表す。エンコーディングおよびエントロピ点は、厳密には、(x,y)座標のリストであって、対応するfは、第2のテンプレートのエントロピ点の大割合のそれぞれが、小ユークリッド距離内で第1のテンプレート内の対応する点を有するかどうかをチェックするであろう。エンコーディングおよびfの選択は、それらが性能を改良するように行われることができる。
1.2 エンロールおよび認証のための通信
いくつかの実施形態では、エンロール(登録とも称される)が、誠実な個体と複数のサーバとの間で行われる。エンロールの目的は、個体が、後の時点で、自身を認証することを有効にすることである。個体のエンロール後、認証が、エンロールされた個体と同一である場合とそうではない場合がある、対象と、複数のサーバとの間で行われる。
図1Cおよび1Dは、それぞれ、本発明のある実施形態による、n個のサーバを使用したコンピュータシステム内でのエンロールおよび認証のための通信経路を図示する、ブロック図である。図1Cにおけるエンロールでは、個体であるユーザ(U)18が、そのシャード化されたデータを各サーバ11、12、...、15に送信することによって、本システムにエンロールする。図1Dにおける認証では、対象であるユーザ(U)19が、サーバ11、12、...、15と通信することによって、ユーザ(U)18として自身を認証するように試みる。図1Cおよび1Dの実施形態では、サーバ11、12、...、15もまた、相互に通信しなければならない。
一実施形態では、我々は、サーバ11、12、...、15のうちの少なくとも1つが、誠実であると仮定し、これは、本実施形態における認証のためのプロトコルに正しく従い、そのプライベート値のいずれも明らかにしないであろうことを意味する。少なくとも1つのサーバが、誠実である場合、以下の目標が、達成されることができる:
正確性。対象が、個体であって、サーバおよび対象が、プロトコルから逸脱せずに、プロトコルに従う場合、サーバは、対象が個体であることを確信する。
健全性。対象が、個体ではなく、少なくとも1つのサーバが、誠実である場合、誠実サーバは、対象が個体であることを確信せず、認証は、成功しないであろう。
ゼロ知識。例えば、少なくとも1つのサーバが、誠実である場合、いずれのサーバも、個体または対象のバイオメトリックデータを把握すべきではない。さらに、対象が、本シナリオでは、悪意のある場合でも、対象または任意のサーバのいずれも、認証プロトコルの際、個体のバイオメトリックテンプレートについて何も把握しないであろう。
ゼロ知識は、プライバシ保存に関連する。いくつかの実施形態では、サーバのうちの1つを除く全てが、能動的に悪意のある場合でも、
出力値は、コンピューティング設備または複数のサーバに明らかにされず、
個体のバイオメトリックデータまたは対象のバイオメトリックデータ(もしくは対象のバイオメトリックを特性評価する、デジタル電子信号)のいずれも、サーバに明らかにされず、
サーバは、マルチパーティ算出の中間値を取得しない。
2.3 MPCの簡単な背景
算出を「シャード化」値に実施する方法を含む、多くの異なる形態のマルチパーティ算出(MPC)が存在する。「シャード化」値は、2つまたはそれを上回るサーバを横断して共有される、値xである。シャードは、単独では、xについて明らかにしないが、組み合わせられるときのみ、xを明らかにする。例えば、xは、以下のように、[x]、[x]に算術的にシャード化されることができる。
[x]=r mod p
[x]=x-r mod p
式中、rは、ランダム整数であって、pは、大素数である。x=[x]+[x]であるが、[x]および[x]はそれぞれ、ランダムである(rが、ランダムであるため)ことが分かる。
我々は、ここで、データをシャード化する方法(算術シャード化)を説明する。また、データをシャード化する複数の他の方法も存在する。秘密をシャード化するプロセス(例えば、Shamirシャード、すなわち、多項式補間、ビット毎XORシャード、線形シャード化等を含む)も同様に、使用されてもよい。
MPCは、加算、乗算、および整数比較を含む、複雑な演算をこれらのシャード化値に実施することを可能にする。これらの演算は、全体的に、シャード化値上で生じ、算出の結果のシャードを生成する。サーバは、次いで、これらの出力シャードを明らかにし、算出の結果をともに把握する。このように、サーバのセットは、算出の出力のみを把握し、入力または任意の中間値を把握しない。
MPCは、一般的かつ有力であるが、また、高価でもあり、したがって、多くの用途にとって、非実践的である。例えば、上記のシャード化プロトコルにおいて、ある演算は、その他より高価である。具体的には、各乗算および比較演算は、高価である。演算は、典型的には、大量の算出および通信を伴う、別個のオフライン「設定」位相を要求する。
本設定位相は、非常に高価(算出および通信の両方の観点から)であって、大部分のMPCを大部分の用途にとって非実践的ものにする。オンライン位相(設定位相後に生じる)さえ、各乗算および比較演算が、情報が関わるサーバの全ての間で交換されることを要求するため、非実践的であり得る。本プロセスは、要因の中でもとりわけ、ネットワーク待ち時間に起因して、時間の観点からコストがかかり得る(約200ms~500ms)。
最後に、これらの欠点に取り組む、多くのアプローチは、セキュリティを犠牲にする。すなわち、多くのプロトコルは、全てのサーバがプロトコルに誠実に準拠する場合のみ、ユーザのデータを保護する。本セキュリティモデルは、一般に、実践的用途にとって脆弱すぎる。
上記に説明されるシャード化は、値をシャード化する。関数秘密共有は、値の代わりに、関数をシャード化する機構である。機能的に、それらは、上記に説明されるシャード化と同様に稼働する。重要な差異は、値(x)をシャード化し、既知の共有関数(f)をともに算出する代わりに、関数(f)をシャード化し、既知の共有値(x)に算出を行うことである。
2.0 セキュアサブセット選択
本発明の実施形態に従って、我々は、シャード化サブセットプロトコルを開発および使用する。シャード化サブセットプロトコルは、2つの位相、すなわち、設定(時として、「エンロール」と呼ばれるものに対応する)と、選択(時として、「認証」と呼ばれるものの少なくとも一部に対応する)とを含む。設定位相は、そのうちの少なくとも1つが誠実である、サーバSと、信頼されたサードパーティUとの間で行われる。選択位相は、同一サーバと、信頼される場合とそうではない場合がある、別のサードパーティUとの間で行われる。シャード化サブセットの高レベル目標は、信頼されたパーティUが、設定位相の際、いくつかのメッセージ
Figure 2023504569000003
をサーバに「渡す」ことを可能にすることである。後の時点で、認証において、プロトコルは、Uが、メッセージのコンテンツを把握せずに、固定されたサイズfのメッセージのサブセットを選択することを可能にすべきであって、所与のサーバSは、次いで、選定されたメッセージのインデックスΦを把握せずに、サブセットのコンテンツ
Figure 2023504569000004
を把握するはずである。すなわち、プロトコルの終了時、サーバのうちの1つは、渡されたプレーンテキストメッセージのサブセットUへのアクセスを有するであろうが、本サブセットを形成するように選定された特定のメッセージは、隠蔽されたままである。プロトコルを形式的に規定する目的のために、
Figure 2023504569000005
が、所与のサーバSがプロトコルの終了時に保有する、メッセージのセットであって、Sは、
Figure 2023504569000006
である場合、1を出力する、またはそうでなければ、中止するとする。認証に関連してより一般的に本明細書に説明されるように、サブセットをシャード化するための3つの目標、すなわち、正確性、健全性、およびゼロ知識が存在する。
正確性:全ての参加者が、誠実である場合、プロトコルは、中止せず、所与のサーバSは、確率1を伴って、1を出力する。さらに、SおよびUが両方とも、誠実であって、プロトコルが、中止しない場合、Mは、Φを使用して、正確に選定される。
健全性:Sが、誠実である場合、かつ
Figure 2023504569000007
である場合、プロトコルは、他のサーバおよびUが詐称する方法にかかわらず、圧倒的確率を伴って、中止する。
ゼロ知識:いずれのサーバも、1つのサーバが誠実のままである限り、Φについて何も把握すべきではない。さらに、{Si≠aおよびUは、所与のサーバSが誠実である限り、下層プレーンテキストメッセージついて何も把握すべきではない。
3.0 エンロールおよび認証プロトコル
我々は、ここで、個体Uが、そのバイオメトリックテンプレートをサーバ上にセキュアに記憶し、対象Uが、後の時点で、自身を認証し得る方法を説明する。本説明の部分は、2016年11月11日に出願された、PCT公開第WO2017/083732号(参照することによってその全体として本明細書に組み込まれる)に開示される概念を拡張させたものである。
図4は、本発明のある実施形態による、エンロールプロセスの論理フローの略図である。エンロールの際、プロセス41において、第1のバイオメトリックコンピュータシステムが、個体Uに関するバイオメトリックデータの生成を生じさせ、プロセス42において、生成されたバイオメトリックデータをエンコーディングし、シャードの中に抽出する。(エンコーディングされたバイオメトリックデータは、テンプレートEに対応し、これは、第1.1節に準拠する。)エンコーディングされたバイオメトリックデータは、n個のシャード内に現れ、nは、サーバの数である。プロセス43において、第1のバイオメトリックコンピュータシステムが、n個のシャードをn個のサーバを横断して分散させる。さらなる関連実施形態では、付加的(随意)プロセスが、第1のバイオメトリックコンピュータシステムによって行われる。特に、プロセス44において、第1のバイオメトリックコンピュータシステムが、後に認証で使用される、MPCプロトコルのオフライン位相を実行する。プロセス45において、第1のバイオメトリックコンピュータシステムが、次いで、各サーバに、MPCにおいて使用するために算出されている、カスタマイズされた出力を送信する。(第1.1節から、認証のために、MPCは、fに対応する、アルゴリズムを使用することを思い出されるであろう。)
図6は、本発明の別の関連実施形態による、認証プロセスの論理フローの略図である。認証の際、プロセス61において、第2のバイオメトリックコンピュータシステムが、対象のバイオメトリックデータを生成する。次いで、プロセス62において、第2のバイオメトリックコンピュータシステムが、対象のバイオメトリックデータをエンコーディングし、シャードの中に抽出する。そのようにエンコーディングされたバイオメトリックデータは、エントロピ点P(上記の第1.1節で最初に述べられている)を構成する。プロセス63において、第2のバイオメトリックコンピュータが、n個のシャードをn個のサーバを横断して分散させる。プロセス64において、サーバはそれぞれ、メモリから、MPCのオフライン位相(図4におけるプロセス44および45)において、Uから事前に算出されたMPCパラメータを呼び出す。プロセス65において、サーバは、EおよびPについて何も把握せずに、f(E,P)を算出する。一実施形態では、関数「f」は、バイオメトリックマッチング関数である。一実施形態では、本算出は、出力値Oのシャードをもたらす。一実施形態では、Oのシャードは、対象に返され、対象は、次いで、これらのシャードを再構築し、Oを復元する。一実施形態では、最終出力Oが、1である場合、対象は、個体として認証される。そうでなければ、対象は、個体として認証されない。
別の実施形態では、サーバは、任意のシャードをユーザに返さずに、Oを復元し得る。一実施形態では、最終出力Oが、1である場合、対象は、個体として認証される。そうでなければ、対象は、個体として認証されない。
別の実施形態では、Oは、エンロール時に、恣意的に、任意の値であるように選定されてもよい。一実施形態では、Oは、秘密キー(または1つを上回る要因が使用されている場合、秘密キーのシャード)であるように選定されてもよい。
別の実施形態では、第2のバイオメトリックコンピュータは、サーバに、対象のシャードに関するMACコードを算出させる。これらのMACコードは、f(E,P)を算出するサーバを決定する過程にわたって使用される。MACコードは、Oのシャードとともに返される。対象は、次いで、Oを再構築することに先立って、本MACコードをチェックし、サーバが、f(E,P)を正しく算出し、Pについて何も把握してないかどうかを決定する。
別の実施形態では、サーバは、SPDZおよび/または関数秘密共有を含む、プロトコルを使用して、f(E,P)を算出する。
別の実施形態では、第2のバイオメトリックコンピュータは、個体であると主張する対象のバイオメトリックデータを生成させ、対象のバイオメトリックデータをシャード化し、複数のサーバを横断して、対象のシャードを分散させる。シャードの分散は、サーバに、対象のシャードに関するMACコードを算出させ、サーバのそれぞれに、マルチパーティ算出アルゴリズムを実行させ、個体の対応するシャード化データに関連して、対象のシャード化バイオメトリックデータに関するブラインド化された値のマッチングスコアを決定する。サーバはそれぞれ、ブラインド化されたマッチングスコアを使用して、対応する関数共有を算出し、第2のバイオメトリックコンピュータに、算出された関数共有を、以前に算出されたMACコードに関する値とともに返す。第2のバイオメトリックコンピュータは、関数共有データを使用して、マッチングの決定が行われたかどうかを決定し、MACコードを評価し、関数共有データの真正性を確認する。
プロセス66において、サーバはそれぞれ、個々に、承認または否認するようにプログラムされる。一実施形態では、プログラミングは、サーバがそれが承認または否認したかどうかを把握しないような様式において行われる。加えて、他のサーバのいずれが承認または否認したかどうかも把握しない。一実施形態では、出力値の所与のサーバのシャードから、出力値が対象が個体として認証されたことを示すかどうかを決定することは不可能である。認証プロセス68は、サーバの十分に大サブセットがプロセス66において承認する場合、かつその場合のみ、成功する。
以下は、いくつかの実施形態において、全てのサーバがプロセス66において承認するわけではないことの2つの実施例である。
第1の実施例では、全てのサーバが、冗長性に基づいて、承認していない。一実施形態では、1つを上回るサーバが、エンロール/認証の際、同一シャードを受信した。その場合、1つを上回るサーバは、同一出力シャードを生産するであろう。一実施形態では、認証は、各出力シャードの1つのみのインスタンスを要求する。同一シャードを受信した、2つのサーバが、異なる出力シャードを生産し(例えば、1つのサーバが、悪意のある、または故障しているため)、出力シャードのサブセットが、認証成功をもたらす場合、対象は、個体として正常に認証される。一実施形態では、認証を確認する、出力を復元することが可能である場合、対象は、個体として正常に認証される。
代替として、別の実施形態では、サーバ1が、エンロールシャード1と、認証シャード1とを受信した。サーバ2が、エンロールシャード1と、認証シャード2とを受信した。サーバ3が、エンロールシャード2と、認証シャード1とを受信した。サーバ4が、エンロールシャード2と、認証シャード2とを受信した。サーバ1および4のみを使用して、認証することが可能である。または、サーバ2および3のみを使用して、認証することも可能である。サーバ1および4またはサーバ2および3のいずれかが、認証を確認する場合、対象は、個体として認証される。
第2の実施例では、Shamirシャード化等のシャード化のある方法は、ある数のシャードのみは、秘密(この場合、秘密は、出力値)を再作成するために必要とされる、すなわち、m個のシャードのうちのn個で十分である、状況をもたらす。
上記の実施例1および2に説明される例示的方法が、時として、サーバが、ダウンする、利用不可能になる、故障する、オフラインになる、またはサーバが、悪意のあるものとなり得ることを含む理由から、選択されてもよい。
一実施形態では、所与のゲートウェイに結合される、全てのサーバが、同一シャードを受信する。そのような実施形態では、所与の認証試行の際、各ゲートウェイは、データ交換プロセスに関わるために、それに結合される、1つのサーバを選択する(各ゲートウェイからの1つのサーバが関わるように)。認証失敗の場合、認証は、ある条件に応じて、または自動的にのいずれかにおいて、再試行されてもよい。本再試行の際、各ゲートウェイは、以前の試行で使用されたものと異なるサーバを割り当てるように選定してもよい(内部スケジューリングまたは負荷平衡アルゴリズム等に基づいて)。このように、第1の認証試行に関わるサーバのアレイは、第2の認証試行に関わるものと異なるサーバのサブセットであってもよい。これは、サーバのアレイまたはサーバのサブセット内の単一障害点の潜在性を軽減させる。
ここで、我々は、図4に関連して別の実施形態を説明する。図4は、本発明のある実施形態による、エンロールプロセスの論理フローの略図である。エンロールの際、プロセス41において、第1のバイオメトリックコンピュータシステムが、個体Uに関するバイオメトリックデータの生成を生じさせ、プロセス42において、生成されたバイオメトリックデータをエンコーディングし、シャードの中に抽出する。(エンコーディングされたバイオメトリックデータは、テンプレートEに対応し、これは、第1.1節に準拠する。)エンコーディングされたバイオメトリックデータは、n個のシャード内に現れ、nは、サーバの数である。プロセス43において、第1のバイオメトリックコンピュータシステムが、n個のシャードをn個のサーバを横断して分散させる。さらなる関連実施形態では、付加的(随意)プロセスが、第1のバイオメトリックコンピュータシステムによって行われる。特に、プロセス44において、第1のバイオメトリックコンピュータシステムが、後に認証で使用される、MPCプロトコルのオフライン位相を実行する。プロセス45において、第1のバイオメトリックコンピュータシステムが、次いで、各サーバに、MPCにおいて使用するために算出されている、カスタマイズされる出力を送信する。(第1.1節から、認証のために、MPCは、fに対応する、アルゴリズムを使用することが思い出されるであろう。)
本発明のいくつかの実施形態では、エンロールの過程においてサーバに分散されたシャード(ちょうど図4に関連して説明されたように)は、暗号化される。図2は、本発明の一実施形態による、そのような暗号化が第1のバイオメトリックコンピュータシステムによって達成される方法を図示する、論理フローの略図である。プロセス21において、第1のバイオメトリックコンピュータが、サーバaの暗号化キーを入手する。プロセス22において、第1のバイオメトリックコンピュータシステムが、サーバa以外のサーバ毎に、各メッセージをn-1個の個のシャードにシャード化する。プロセス23において、第1のバイオメトリックコンピュータシステムが、サーバiの暗号化キー(第1のバイオメトリックコンピュータがサーバiから取得する)を使用して、サーバi毎に(サーバa以外)、シャードを暗号化する。ここで、n-1個の暗号化されたシャードが存在する。次に、プロセス24において、第1のバイオメトリックコンピュータシステムが、ランダム対称キーkを生成する。プロセス25において、第1のバイオメトリックコンピュータシステムが、対称キーkを使用して、n-1個の暗号化されたシャードをさらに暗号化する。プロセス26において、第1のバイオメトリックコンピュータシステムが、n-1個のサーバの各サーバiに、その対応する二重暗号化されたシャードを送信する。(サーバiに関する各シャードは、最初に、サーバiから取得されるキーで暗号化されていることを思い出されたい。)プロセス27において、キーk自体も、n個のシャードにシャード化され、プロセス28において、第1のバイオメトリックコンピュータシステムが、各サーバに、キーkのシャードを送信する。
図3は、シャードがちょうど図2に関連して説明されたプロセスに従って暗号化されている、状況下での認証における論理フローの略図である。プロセス31において、第2のバイオメトリックコンピュータシステムが、サーバから第1のバイオメトリックコンピュータシステムによって、図2のプロセス26および28において分散された、二重暗号化されたシャードおよびkのシャードをダウンロードする。プロセス32において、第2のバイオメトリックコンピュータシステムが、kを再構築する。プロセス33において、第2のバイオメトリックコンピュータシステムが、再構成されたkを使用して、シャードの1つの層を解読する。しかしながら、各サーバi(サーバa以外)におけるシャードは、サーバiの暗号化キーによって暗号化されたままである。プロセス34において、第2のバイオメトリックコンピュータシステムが、これらの暗号化されたシャードのサブセットを選択し、プロセス35において、サーバsから、バイオメトリックUのエンコーディングを復元し、サーバによって、マッチングの存在を評価させるように、解読のために、サブセットをサーバaに送信する。
図5は、本発明の関連実施形態による、認証プロセスの論理フローの略図である。認証の際、プロセス51において、第2のバイオメトリックコンピュータシステムが、ユーザUのバイオメトリックデータを生成する。次いで、プロセス52において、第2のバイオメトリックコンピュータシステムが、ユーザUのバイオメトリックデータをエンコーディングし、シャードの中に抽出する。そのようにエンコーディングされたバイオメトリックデータは、エントロピ点P(上記の第1.1節に最初に述べられている)を構成する。プロセス53において、サーバおよび第2のバイオメトリックコンピュータシステムが、サブセットプロトコルの選択ステップ(図3に関連して上記に説明されている)を実行し、Pに対応する、暗号化されたシャードのサブセットを選択する。本時点で、各サーバは、次いで、Pの点の共有情報と、Eの共有情報とを保有する。プロセス54において、サーバはそれぞれ、メモリから、MPCのオフライン位相(図4におけるプロセス44および45)においてUから事前に算出された、MPCパラメータを呼び出す。プロセス55において、サーバが、EおよびPについて何も把握せずに、第2のバイオメトリックコンピュータシステムとともに、f(E,P)を算出する。一実施形態では、関数「f」は、バイオメトリックマッチング関数である。最終出力が、1である場合、U=Uである。そうでなければ、U≠Uである。プロセス56において、サーバはそれぞれ、個々に、承認または否認するようにプログラムされる。プロセス58における認証は、全てのサーバがプロセス56において承認する場合かつその場合のみ、成功する。そうでなければ、対象Uの認証は、プロセス57において否認される。
本認証プロセスは、複数の分野における使用の潜在性を有する。当業者は、本技術が、認証を含む、多くの用途のために使用されることができることを認識することが可能であろう。適用可能産業は、金融および銀行、政府および防衛、保健医療および医療、小売、消費者認証、企業、識別、および多くのその他を含む。
さらに、上記の実施形態は、認証に関して、「はい」/「いいえ」結果を明らかにするが、他の実施形態は、例えば、キーを複数のサーバを横断してシャード化することによる、キー導出を含み、次いで、(認証成功に応じて)、各サーバは、そのシャードをUに送信する。したがって、認証成功に応じて、Uは、さらなる暗号化演算のために使用されるための秘密キーを再構築することができる。
本発明のいくつかの実施形態の認証使用の付加的実施例は、ユーザをサーバに対して認証するステップを含む(例えば、導出SSHキー、クライアントSSL認証書およびキー、Enterprise 802.11認証書およびキー、OAUTHトークン、ワンタイムパスワード等)。
これらはまた、連鎖され得ることに留意されたい(例えば、OAUTHトークンは、後続認証書/キーを取得するために使用されることができる)。
加えて、本発明のいくつかの実施形態は、認証サーバ自体に対する認証のために使用されてもよい。例えば、認証されたユーザは、各サーバを用いることで、その認証データ、ユーザ詳細、認可ポリシ等を更新することができる。
4.0 例示的エンコーディングスキームおよび認証アルゴリズム
ここで、指紋認証を提供し、第2節に説明されるセキュリティ利点を達成する、ある例示的実施形態において、上記の断片が、まとめられ得る。本例示的実施形態では、我々は、下記に説明されるようにエンコーディングされるであろう、指紋バイオメトリックデータを使用し、比較位相のために、SPDZマルチパーティ算出プロトコルを活用するであろう。本例示的実施形態は、下記に議論される。
4.1 指紋バイオメトリックおよび表現
指紋は、今日、広く商業的に展開されている、一般的バイオメトリックモダリティである。多くの指紋認識アルゴリズムは、指紋を表すために抽出された特徴点(指紋の隆起が分裂または終了する場所)の場所および角度を使用する。2つの指紋の比較は、次いで、相互に対する特徴点のセットの近似度を決定することを要求する。本マッチングを行うための1つの方法は、「特徴点シリンダコード」(MCC)を用いたものである。本方法は、ある点の周囲の特徴点の空間を3次元量子化データ構造(x-座標、y-座標、θ-角度)にマッピングする。
ある具体的角度を伴うある具体的場所における特徴点の存在は、データ構造内の関連付けられる点を1に割り当てる。不在は、ゼロに対応する。指紋を比較するために、以下のように、2つの特徴点シリンダコードのドット積を求め、ドット積が閾値Tを上回るかどうかことを決定する。
・EI>T
式中、Eは、テンプレートTのMCCエンコーディングであって、EIは、テンプレートTのMCCエンコーディングである。
エントロピサブセット
Figure 2023504569000008
(時として、本明細書では、「エントロピサブセット」を「確信サブセット」と称する)を、最高信頼度および最高弁別性を伴う、特徴点のセットとして選定する場合(第2節参照)、同様に、PをMCCとしてエンコーディングし、マッチング関数fを同一ドット積として表すことができる。
からのMCCを全体的に1および0として表す場合、Pのエンコーディングを伴う、Eのドット積が、単に、Eのサブセットの和であることが分かる。サブセット演算は、第3節におけるプロトコルを使用して実行され、和/閾値演算は、MPCを使用して実施される(下記に説明される)。
継続する前に、上記のMCC表現は、以下の方法のうちの1つまたはそれを上回るものを使用することによって、拡張され得ることに留意されたい。
特徴点特徴(例えば、特徴点タイプ、特徴点近傍、隆起記述子)を使用して、特徴点をより正確に説明する。
非バイナリエンコーディングを使用して、特徴点毎に「スコア」をエンコーディングすることによって、雑音をより平滑に取り扱う。具体的には、特徴点に近い場所は、高スコア、より遠い場所は、より低いスコアとなる。
使用モデルおよびセンサパラメータに応じて、指紋の整合なしまたは大域的に整合された表現を使用する。
特徴点特徴の代わりに、またはそれに加え、非特徴点特徴(例えば、隆起記述子)を使用する。
最後に、当然ながら、他のバイオメトリックもまた、入力として使用されてもよく、複数のバイオメトリックが、単一エンロールまたは認証において組み合わせられてもよいことに留意されたい。
我々は、Hamming距離、サブセットのHamming距離、l_p距離(任意のpに関して)、サブセットの1_p距離、余弦類似性等を含む、いくつかの形態において、「ノルム」をベクトル空間内に表し得る。一実施形態では、我々は、2つのベクトル間の類似性の概念をそれらの2つのベクトル間のドット積として埋め込む。
4.2 SPDZマルチパーティ算出概要
第2節からのマルチパーティ算出(MPC)の議論を思い出されたい。我々の認証プロトコルのMPCコンポーネントは、比較アルゴリズムを実施することに関与する。具体的には、上記に説明されるように、これを行う1つの単純方法は、閾値化されたサブセット和を算出することである。すなわち、n個のサーバを横断してシャード化される、値xのセットを前提として、ある閾値Tに関して、以下が、算出される。
Figure 2023504569000009
SPDZは、算出をシャード化データに実施する、プロトコルである(第2節に議論されるように)。これは、我々が要求する、セキュリティ要件の全てを有する。したがって、第3節に議論されるように、我々は、適切なシャードをMPCプロトコルへの入力として選択するために、サブセットプロトコル、次いで、和および閾値を算出するために、SPDZプロトコルを使用することができる。
我々の算出における閾値演算は、整数比較であって、これは、SPDZでは、著しく高価である(算出に数秒かかり、比較あたり>50MBのデータを通信する、設定位相を要求する)。本コストは、直ちに、プロトコルを非実践的にするであろう。
しかしながら、我々は、エンロールステップを活用することによって、本コストの大部分を回避するための方法を識別した。エンロールの際、オリジナルユーザUは、定義上、サーバの全てによって信頼される。したがって、Uは、サーバの全ての代わりに、オフライン位相データの全てを生成することができ、そのプロセスは、(技術的理由から)関連付けられる算出および通信複雑性を除去する。
異なるMPCアプローチ(例えば、SPDZの変形例等)を使用する、実施形態では、これらの事前に生成されたデータは、変動し得る。[例えば、Damgard, I., Keller, M., Larraia, E., Pastro, V., Scholl, P., and Smart, N. P. Practical covertly secure mpc for dishonest majority-or: breaking the SPDZ limits. In European Symposium on Research in Computer Security (2013), Springer, pp. 1-18参照。]それらはさらに、MPCプロトコルによって算出される実際の関数に応じて変動し得る。
したがって、我々は、SPDZオンラインプロトコルを効率的に起動することができる(無視可能な算出コストおよびサーバ間で交換される小量のデータを伴って)。
5.0 例示的実施形態の概要
一実施形態では、最終的全体的フローは、下記に議論される、エンロールフロー(図4に描写される)と認証フロー(図6に描写される)の組み合わせである。
ユーザUである、個体が、そのバイオメトリックデータを走査し、「第1のバイオメトリックコンピュータ」と呼ばれるものを介して、個体のバイオメトリックデータのエンコーディングを生成する。エンコーディングは、第1のバイオメトリックコンピュータによって、そのバイオメトリックデータのシャードと、MPCプロトコルの実行を補助するが、Uのバイオメトリックデータに関連しない、付加的情報とを生成するために使用される。シャードおよび他のデータは、オンライン認証位相の際の使用のために、サーバに分散される。
後の認証プロセスの過程において、ユーザUである、対象が、認証される(および個体であると主張する)ために、そのバイオメトリックデータを走査し、「第2のバイオメトリックコンピュータシステム」と呼ばれるものを介して、これらのバイオメトリックデータと、関連付けられるエンコーディングされたテンプレートとを生成する。いったんこれが、生じると、Uは、そのバイオメトリックデータのシャードを生成し、それらをサーバに分散させる。
最後に、サーバが、独立して、エンロール時に生成されたオフラインデータを使用して、オンラインMPCプロトコル(例えば、SPDZ、FSS)を起動し、バイオメトリックマッチング関数を算出する。本時点で、各サーバは、独立して、出力Oのシャードを有し、これは、Uに返され、認証が成功したかどうかを決定する。
別の実施形態では、最終的全体的フローは、エンロールフロー(図4に描写される)と認証フロー(図5に描写される)の組み合わせである。
ユーザUである、個体が、そのバイオメトリックデータを走査し、「第1のバイオメトリックコンピュータ」と呼ばれるものを介して、個体のバイオメトリックデータのエンコーディングを生成する。エンコーディングは、第1のバイオメトリックコンピュータによって、そのバイオメトリックデータの暗号化されたシャードと、MPCプロトコルの実行を補助するが、Uのバイオメトリックデータに関連しない、付加的情報とを生成するために使用される。暗号化されたシャードおよび他のデータは、オンライン認証位相の際の使用のために、サーバに分散される。
後の認証プロセスの過程において、ユーザUである、対象が、認証される(および個体であると主張する)ために、そのバイオメトリックデータを走査し、「第2のバイオメトリックコンピュータシステム」と呼ばれるものを介して、これらのバイオメトリックデータの確信サブセットと、関連付けられるエンコーディングされたテンプレートとを生成する。いったんこれが、生じると、Uおよびサーバは、サブセット選択プロトコルを起動し、それによって、各サーバは、エンコーディングされたテンプレートの明確に異なるセットの解読されたシャードを提供されるが、それによってそのようなサーバ自体が解読されたシャードの場所を決定し得る、情報は提供されない。
最後に、サーバが、独立して、エンロール時に生成されたオフラインデータを使用して、オンラインMPCプロトコル(例えば、SPDZ)を起動し、バイオメトリックマッチング関数を算出する。本時点で、各サーバは、独立して、バイオメトリックマッチングを決定する。Uは、全てのサーバが承認する場合、認証されたと見なされる。そうでなければ、Uは、認証されない。
本発明の実施形態は、以前のマルチパーティ算出アプローチより効率的である。例えば、(1)相互に信用できないサーバのセットの間で、エンロールするユーザを普遍的に信頼された個体として取り扱い、(2)我々のセキュアサブセット選択アルゴリズムを使用することによって、我々は、双方向MPCプロトコルの高価なオフライン位相(乗算トリプレットの算出等)を除去することが可能である。認証プロトコルをドット積であるように簡略化することによって、我々は、オンライン位相の際の工程の数を容認可能数(例えば、約5工程であるが、これは、精度に依存し得る)に低減させる。
一実施形態では、1つまたはそれを上回るサーバが、条件が満たされる場合、レート制限またはアカウントロックアウトを施行する。当業者は、そのような条件に精通しているであろう。それらは、例えば、多すぎる正しくない認証試行、ある場所から生じる認証試行、ある時間における認証試行(例えば、より高いリスクを示す、時刻または日付、もしくはユーザに特徴的ではない挙動)、変動識別保証要件を伴う認証試行、あるリスクレベルを示す要因を伴う認証試行等を含み得る。一実施形態では、条件が満たされた後、セキュリティプロセスが、実装される。セキュリティプロセスは、例えば、さらなる認証試行をある時間周期にわたって防止する、疑わしい挙動のユーザ、サーバ、または組織に通知する、および/または後続認証のための要件を増加させる等を含んでもよい。
6.0 付加的例示的実施形態
別の例示的実施形態では、ユーザは、複数のバイオメトリックモダリティを提示してもよく、これは、組み合わせられ、単一のエンコーディングされたテンプレートおよび/または確信サブセットを形成する。
別の実施形態では、ユーザは、それぞれ、本明細書に説明されるようにエンコーディングおよび認証される、複数のバイオメトリックモダリティを提示してもよい。それぞれ、別個の出力値Oを生成する。これらの出力値は、組み合わせられ、対象が個体として認証されるかどうかを決定する。
別の実施形態では、これらの出力値は、組み合わせられ、秘密キーを形成する。
別の実施形態では、同一バイオメトリックシャードが、コンピューティングf(E,P)を2つの(またはそれを上回る)閾値で算出し、これらのセットのそれぞれをそのシャードとともに送信するために、Uにオフライン位相を実施させることによって、2つの(またはそれを上回る)別個の閾値でエンロールされてもよい。認証の際、所望の閾値が、選択され、f(E,P)を所望の閾値で算出するための関連付けられる補助データが、呼び出され、認証プロトコルで使用される。一実施形態では、より容易なユーザ体験およびより低い本人拒否率(FRR)を有するが、より高い他人受入率(FAR)を有し得る、より低い閾値で認証すると、対象は、その口座残高をその電話上のモバイル銀行アプリ上で閲覧する等、より低いリスク機能性にアクセスすることが可能である。対象が、ある機能性にアクセスする、または高額トランザクション等のより高いリスクトランザクションを認可するためには、より高い閾値で認証することが要求される。いくつかの実施形態では、より高いレベルでの認証は、付加的要因、バイオメトリック、または入力を要求する。
別の実施形態では、シャードおよび補助データは、サーバのうちの1つまたはそれを上回るものによって、蓄積時に暗号化される。これは、セキュリティの階層化を有効にする。
別の例示的実施形態では、エンロール位相の際、個体は、その指紋を走査し、そのPINコードをデバイス上に打ち込む。
個体によって信頼された第1のバイオメトリックコンピュータシステムは、バイオメトリック入力データの確信サブセットを決定する。第1のバイオメトリックコンピュータシステムは、確信サブセットを、順序付けられたリストまたは場所の行列と、一意のバイオメトリック要素、または、例えば、特徴点の中に特性評価する。全ての要素は、第1のバイオメトリックコンピュータシステムによって、n個のシャードにシャード化され、nは、1を上回る。いずれのシャードも、バイオメトリックの一部さえ特性評価しない。いくつかの実施形態では、敵対者が、n個のシャードのうちの1つを除く全てを取得した場合、敵対者は、依然として、任意のバイオメトリック情報を復元することが可能ではないであろう、すなわち、全てのn個のシャードが、必要とされるであろう。別の実施形態では、閾値数のシャードが、バイオメトリック情報を復元するために十分である。
いくつかの実施形態では、場所情報を不明瞭にするために、第1のバイオメトリックコンピュータシステムは、順序付けスキームを適用する。いくつかの実施形態では、順序付けスキームは、PINまたは指紋等の認証入力に部分的に基づく。一実施形態では、サーバに送信されるシャードのセットはそれぞれ、同一順序付けスキームが適用される。第1のバイオメトリックコンピュータシステムは、n個のシャードのセットを生成する。第1のバイオメトリックコンピュータシステムはまた、認証位相の際に使用されるために、n個の一意および対応する雑音データセットを生成する。
一実施形態では、nは、2である。第1のセットのシャードは、キーAを使用して暗号化される。第2のセットのシャードは、キーBを使用して暗号化される。第1のバイオメトリックコンピュータシステムは、サーバ1に、(a)キーAを使用して暗号化されたシャードのセットと、(b)キーBと、(c)雑音データセットとを含む、データ集合を送信する。同様に、第1のバイオメトリックコンピュータシステムは、サーバ2に、(a)キーBを使用して暗号化されたシャードのセットと、(b)キーAと、(c)雑音データセットとを含む、明確に異なるデータ集合を送信する。サーバのいずれも、それが保持するキーを使用して、それが保持するシャードを解読することが可能ではないように、サーバ1は、サーバ2によって保持されるシャードを暗号化するために使用される、キーBを保持し、サーバ2は、サーバ1によって保持されるシャードを暗号化するために使用される、キーAを保持することが指摘されるはずである。これは、シャードおよびキーを異なるサーバに分散させる新規方法の一実施例である。
一実施形態では、プロセッサによって送信される情報は、認証および/または署名される。認証位相では、個体であると主張する対象は、その指紋を走査し、そのPINコードを第2のデバイス上に打ち込む。第2のデバイスに結合される、第2のバイオメトリックコンピュータシステムは、バイオメトリック入力データの確信サブセットを決定する。一実施形態では、第2のバイオメトリックコンピュータシステムは、順序付けスキームを確信サブセットに適用する。(別の実施形態では、第2のバイオメトリックコンピュータシステムは、代わりに、順序付けスキームの逆をシャード暗号化されたセットに適用する。)
サーバ1が、キーAを使用して暗号化されたシャードのセットを第2のバイオメトリックコンピュータシステムに送信する。サーバ2が、キーBを使用して暗号化されたシャードのセットを第2のバイオメトリックコンピュータシステムに送信する。一実施形態では、サーバによって送信される情報は、認証される。情報は、セキュアチャネルを経由して送信されてもよい。
確信サブセットを使用して、第2のバイオメトリックコンピュータシステムは、シャードの暗号化されたセットのそれぞれの新しいサブセットを選択する。
一実施形態では、順序付けスキーム(以前に使用されたものと同一順序付けスキームである場合とそうではない場合がある)が、新しいサブセットに適用される。別の実施形態では、場所は、新しいサブセット内に含まれない。第2のバイオメトリックコンピュータシステムが、キーAを使用して暗号化されたシャードの新しいサブセットをサーバ2に送信する。第2のバイオメトリックコンピュータシステムが、キーBを使用して暗号化されたシャードの新しいサブセットをサーバ1に送信する。
一実施形態では、第2のバイオメトリックコンピュータシステムによって送信される情報は、認証および/または署名される。サーバ1は、キーBを使用して、キーBを使用して暗号化されたシャードの新しいサブセットを暗号化解除する。サーバ2は、キーAを使用して、キーAを使用して暗号化されたシャードの新しいサブセットを暗号化解除する。ここで、両方のサーバが、個体であると主張する対象からのバイオメトリックの確信サブセットのシャードの暗号化解除されたセットを有する。しかしながら、場所情報は、含まれない、または把握されないため、暗号化解除されたシャードの危殆化さえ、バイオメトリック情報を危殆化しない。
一実施形態では、サーバ1およびサーバ2は、暗号化解除されたシャードを共有せずに、相互に通信する。雑音データセットが、効率を増加させる、より少ない算出を要求する、およびより少ないデータがサーバ1とサーバ2との間で交換されることを要求することによってを含め、本セキュア通信をより効率的にするために使用される。本新規方法は、いくつかの実施形態では、エンロールする人物またはプロセッサである、信頼されたパーティによって、エンロール時に提供される、補助データ(例えば、雑音データセット)を活用して、非常に効率的方法において、2つまたはそれを上回るサーバ間のセキュア通信を有効にする。
いったん算出が、完了されると、サーバ1およびサーバ2は、対象が個体として認証されるかどうかを決定することが可能である(またはすでに決定されている)。一実施形態では、本決定は、対象の確信サブセットが、対象のデータセットの非一過性記憶の必要なく、対象のデータセットから十分な一意のバイオメトリック特徴点を選択することが可能であったかどうかを明らかにする、シャードの組み合わせに基づく。「十分である」は、例えば、本人拒否率(FRR)または他人受入率(FAR)を低減させるように調節され得る、閾値に依存し得る。
参考文献
1. Beaver, D. Efficient multiparty protocols using circuit randomization. In Annual International Cryptology Conference (1991), Springer, pp. 420-432.
2. Ignatenko, T., and Willems, F. M. Information leakage in fuzzy commitment schemes. IEEE Transactions on Information Forensics and Security 5, 2 (2010), 337-348.
4. Micali, S., and Rogaway, P. Secure computation. In Annual International Cryptology Conference (1991), Springer, pp. 392-404.
5. Shamir, A. How to share a secret. Communications of the ACM 22, 11 (1979), 612-613.
6. Stoianov, A., Kevenaar, T., and Van der Veen, M. Security issues of biometric encryption. In Proceedings of Toronto International Conference on Science and Technology for Humanity (2009), pp. 34-39.
7. Uludag, U., Pankanti, S., and Jain, A. K. Fuzzy vault for fingerprints. In International Conference on Audio-and Video-Based Biometric Person Authenti- cation (2005), Springer, pp. 310-319.
8. Yao, A. C.-C. Protocols for secure computations. In FOCS (1982), vol. 82, pp. 160-164.
上記に説明される本発明の実施形態は、単に、例示的であるように意図され、多数の変形例および修正が、当業者に明白となるであろう。全てのそのような変形例および修正は、任意の添付の請求項に定義されるような本発明の範囲内であるように意図される。

Claims (52)

  1. 第1の変換器を使用して、バイオメトリックデータを使用して、そのバイオメトリックデータが以前に取得されている個体として対象を認証するための方法であって、前記方法は、
    第2の変換器による出力として提供されるシャードをデジタル電子信号から生成することであって、そのような信号は、前記対象のバイオメトリックを特性評価する、ことと、
    サーバのアレイが、前記生成されたシャードを記憶し、前記生成されたシャードのサブセットを使用して、データ交換プロセスを実施し、前記対象の認証に関連する情報を展開し得るように、前記サーバのアレイへの前記生成されたシャードの分散を生じさせることと、
    前記サーバのアレイによって展開された情報を処理し、前記対象が前記個体として認証されるかどうかを示す出力値を生成することと
    を含むコンピュータプロセスを利用する、方法。
  2. 前記コンピュータプロセスは、前記出力値、前記デジタル電子信号、前記個体のバイオメトリックデータ、前記対象のバイオメトリック、前記生成されたシャード、およびそれらの組み合わせから成る群から選択される情報のアイテムのセットに対して情報共有制限されるように構成されるコンピューティングエンティティによって実施される、請求項1に記載の方法。
  3. 前記コンピュータプロセスはさらに、前記生成されたシャードもまたエンコーディングされるように、前記デジタル電子信号をエンコーディングすることを含む、請求項1に記載の方法。
  4. 前記エンコーディングすることは、ニューラルネットワークを使用することを含む、請求項3に記載の方法。
  5. 前記エンコーディングすることは、前記デジタル電子信号をベクトルのセットとしてメトリック空間内に表すことを含む、請求項3に記載の方法。
  6. 前記生成されたシャードのサブセットを使用して、前記データ交換プロセスを実施し、前記対象の認証に関連する情報を展開することは、前記メトリック空間内の距離のセットを算出することを含む、請求項5に記載の方法。
  7. 前記データ交換プロセスは、前記サーバアレイ内のサーバのいずれもマルチパーティ算出の中間値を取得しないという条件下、前記マルチパーティ算出を含む、請求項1に記載の方法。
  8. 前記サーバのアレイの選択されたグループは、前記生成されたシャードに基づいて、新しいシャードの生成を生じさせる、請求項1に記載の方法。
  9. シャードは、前記データ交換プロセスを含む無効化プロセスによって、無効化可能である、請求項1に記載の方法。
  10. 前記シャードの無効化に応じて、新しいシャードの生成は、前記個体が前記第1の変換器と再び関わることを要求しない、請求項9に記載の方法。
  11. 前記無効化プロセスは、前記サーバのアレイと他のコンピューティングエンティティとの間の通信を伴わない様式において構成される、請求項9に記載の方法。
  12. 前記無効化プロセスは、前記サーバのアレイのサブセットからの前記生成されたシャードのサブセットのサブセットを使用して、前記データ交換プロセスを実施することを含む、請求項9に記載の方法。
  13. 前記データ交換プロセスは、前記サーバのアレイからのサーバの選択されたグループの間の通信を伴う、請求項12に記載の方法。
  14. 前記データ交換プロセスを実施することは、各サーバによって、前記個体のその生成されたシャードを、前記対象のその生成されたシャードとともに、別個に処理し、シャードの新しいセットを生成することであって、前記シャードの新しいセットは、前記出力値を構成する、ことを含む、請求項12に記載の方法。
  15. 前記サーバのアレイによって、前記生成されたシャードを受信および記憶することは、前記シャードに関するメッセージ認証コードを受信および記憶することを含み、前記データ交換プロセスは、前記メッセージ認証コードを使用して、前記対象が前記個体として認証されるかどうかを示す前記出力値自体が真正であることを確認することを含む、請求項1に記載の方法。
  16. 前記サーバのアレイによって、前記生成されたシャードを受信および記憶することは、前記サーバのアレイを横断して分散されるBeaverトリプルのシャードを前記生成されたシャードとともに受信および記憶することを含む、請求項1に記載の方法。
  17. 前記サーバのアレイによって、前記生成されたシャードを受信および記憶することは、前記Beaverトリプルに関するメッセージ認証コードを受信および記憶することを含む、請求項16に記載の方法。
  18. 前記サーバのアレイによって、前記生成されたシャードを受信および記憶することは、対応するメッセージ認証コードキーのシャードを受信および記憶することを含む、請求項17に記載の方法。
  19. 前記サーバのアレイによって、前記生成されたシャードを受信および記憶することは、ランダム値のシャードを受信および記憶することを含む、請求項1に記載の方法。
  20. 前記サーバのアレイによって、前記生成されたシャードを受信および記憶することは、認証プロセスに寄与する機能のシャードを受信および記憶することを含む、請求項1に記載の方法。
  21. 前記サーバのアレイによって、前記生成されたシャードを受信および記憶することは、前記デジタル電子信号内の前記対象のバイオメトリック値のセットの確信サブセットを抽出することを含む、請求項1に記載の方法。
  22. 前記サーバのアレイによって、値のセットを受信および記憶し、シャードの効率的後続生成を有効にすることは、Beaverトリプル、認証共有、メッセージ認証コードシャード、ランダムシャード、他のシャード、およびそれらの組み合わせから成る群から選択されるアイテムを受信および記憶することを含む、請求項1に記載の方法。
  23. 前記データ交換プロセスは、前記サーバのアレイに、マルチパーティ算出アルゴリズムを実行させ、ブラインド化された値を決定することと、前記サーバのアレイに、対応するシャードを算出させ、コンピューティングエンティティに、前記算出されたシャードを、以前に算出された前記メッセージ認証コードに関する値とともに返すことと、前記コンピューティングエンティティに、前記シャードデータを使用させ、前記対象が前記個体として認証されるかどうかを決定し、前記メッセージ認証コードを評価することとを含む、請求項17に記載の方法。
  24. 第1のコンピューティング設備に結合される第1の変換器を使用して、バイオメトリックデータを使用して、そのバイオメトリックデータが以前に取得されている個体として対象を認証するためのシステムであって、前記システムは、
    コンピューティングコンポーネントであって、
    前記対象のバイオメトリックを特性評価するデジタル電子信号出力を有する第2の変換器と、
    前記第2の変換器から前記デジタル電子信号を受信するように構成される前記第2の変換器に結合される第2のコンピューティング設備と、
    サーバのアレイと、
    第3のコンピューティング設備と
    を備える、コンピューティングコンポーネント
    を有し、
    前記第2のコンピューティング設備、前記サーバのアレイ、前記第3のコンピューティング設備、および命令でエンコーディングされたコンピュータ可読媒体は、前記コンピューティングコンポーネントによる実行に応じて、
    前記第2のコンピューティング設備によって、前記デジタル電子信号からのシャードの生成および前記サーバのアレイへの前記生成されたシャードの分散を生じさせることと、
    前記サーバのアレイによって、前記生成されたシャードを受信および記憶することと、
    前記サーバのアレイのサブセットによって、前記生成されたシャードのサブセットを使用して、データ交換プロセスを実施し、前記対象の認証に関連する情報を展開することと、
    前記サーバのアレイのサブセットによって、第3のコンピューティング設備に、前記展開された情報を伝送することであって、前記展開された情報は、前記第3のコンピューティング設備に、前記対象が前記個体として認証されるかどうかを示す出力値を生成させるように構成される、ことと
    を含むコンピュータプロセスを確立する、システム。
  25. 前記コンピュータプロセスは、前記コンピューティングコンポーネントが、前記出力値、前記デジタル電子信号、前記個体のバイオメトリックデータ、前記対象のバイオメトリック、および前記生成されたシャードから成る群から選択される情報のアイテムのセットに対して情報共有制限されるように構成されるという条件下で実施される、請求項24に記載のシステム。
  26. 前記第2のコンピューティング設備によって生じさせることはさらに、前記生成されたシャードもまたエンコーディングされるように、前記デジタル電子信号のエンコーディングを生じさせることを含む、請求項24に記載のシステム。
  27. 前記エンコーディングを生じさせることは、ニューラルネットワークの使用を生じさせ、エンコーディングを達成することを含む、請求項26に記載のシステム。
  28. エンコーディングを生じさせることは、前記デジタル電子信号の表現をベクトルのセットとしてメトリック空間内に生じさせることを含む、請求項26に記載のシステム。
  29. 前記生成されたシャードのサブセットを使用して、前記データ交換プロセスを実施し、前記対象の認証に関連する情報を展開することは、前記メトリック空間内の距離のセットを算出することを含む、請求項28に記載のシステム。
  30. 前記データ交換プロセスは、前記サーバアレイ内のサーバのいずれもマルチパーティ算出の中間値を取得しない、前記マルチパーティ算出を含む、請求項24に記載のシステム。
  31. 前記サーバのアレイの選択されたグループは、前記生成されたシャードに基づいて、新しいシャードの生成を生じさせる、請求項24に記載のシステム。
  32. 共有は、前記データ交換プロセスを含む無効化プロセスによって、無効化可能である、請求項24に記載のシステム。
  33. 前記シャードの無効化に応じて、新しいシャードの生成は、前記個体が前記第1の変換器と再び関わることを要求しない、請求項32に記載のシステム。
  34. 前記無効化プロセスは、前記コンピューティング設備と前記サーバのアレイとの間の通信を要求しない、請求項32に記載のシステム。
  35. 前記無効化プロセスは、前記サーバのアレイのサブセットからの前記生成されたシャードのサブセットのサブセットを使用して、前記データ交換プロセスを実施することを含む、請求項32に記載のシステム。
  36. 前記データ交換プロセスは、前記サーバのアレイからのサーバの選択されたグループの間の通信を伴う、請求項24に記載のシステム。
  37. 前記データ交換プロセスを実施することは、各サーバによって、前記個体のその生成されたシャードを、前記対象のその生成されたシャードとともに、別個に処理し、シャードの新しいセットを生成することであって、前記シャードの新しいセットは、前記出力値を構成する、ことを含む、請求項24に記載のシステム。
  38. 前記サーバのアレイによって、前記生成されたシャードを受信および記憶することは、前記シャードに関するメッセージ認証コードを受信および記憶することを含み、前記データ交換プロセスは、前記メッセージ認証コードを使用して、前記対象が前記個体として認証されるかどうかを示す前記出力値自体が真正であることを確認することを含む、請求項24に記載のシステム。
  39. 前記サーバのアレイによって、前記生成されたシャードを受信および記憶することは、前記サーバのアレイを横断して分散されるBeaverトリプルのシャードを前記生成されたシャードとともに受信および記憶することを含む、請求項24に記載のシステム。
  40. 前記サーバのアレイによって、前記生成されたシャードを受信および記憶することは、前記Beaverトリプルに関するメッセージ認証コードを受信および記憶することを含む、請求項39に記載のシステム。
  41. 前記サーバのアレイによって、前記生成されたシャードを受信および記憶することは、対応するメッセージ認証コードキーのシャードを受信および記憶することを含む、請求項24に記載のシステム。
  42. 前記サーバのアレイによって、前記生成されたシャードを受信および記憶することは、ランダム値のシャードを受信および記憶することを含む、請求項24に記載のシステム。
  43. 前記サーバのアレイによって、前記生成されたシャードを受信および記憶することは、認証プロセスに寄与する機能のシャードを受信および記憶することを含む、請求項24に記載のシステム。
  44. 前記サーバのアレイによって、前記生成されたシャードを受信および記憶することは、前記デジタル電子信号内の前記対象のバイオメトリック値のセットの確信サブセットを抽出することを含む、請求項24に記載のシステム。
  45. 前記サーバのアレイによって、値のセットを受信および記憶し、シャードの効率的後続生成を有効にすることは、Beaverトリプル、認証共有、メッセージ認証コードシャード、ランダムシャード、他のシャード、およびそれらの組み合わせから成る群から選択されるアイテムを受信および記憶することを含む、請求項24に記載の方法。
  46. 前記データ交換プロセスは、前記サーバのアレイに、マルチパーティ算出アルゴリズムを実行させ、ブラインド化された値を決定することと、前記サーバのアレイに、対応するシャードを算出させ、前記第2のコンピューティング設備に、前記算出されたシャードを、以前に算出された前記メッセージ認証コードに関する値とともに返すことと、前記第2のコンピューティング設備に、前記シャードデータを使用させ、前記対象が前記個体として認証されるかどうかを決定し、前記メッセージ認証コードを評価することとを含む、請求項38に記載のシステム。
  47. 個体としての対象の後の認証の目的のために、個体のバイオメトリックデータをセキュアにエンロールするためのシステムであって、前記システムは、
    コンピューティングコンポーネントであって、
    前記個体のバイオメトリックを特性評価するデジタル電子信号出力を有する第1の変換器と、
    前記第1の変換器から、前記デジタル電子信号を受信するように構成される前記第1の変換器に結合される第1のコンピューティング設備と、
    サーバのアレイと、
    第2のコンピューティング設備と
    を備える、コンピューティングコンポーネント
    を有し、
    前記第1のコンピューティング設備、前記サーバのアレイ、前記第2のコンピューティング設備、および命令でエンコーディングされたコンピュータ可読媒体は、前記コンピューティングコンポーネントによる実行に応じて、
    前記デジタル電子信号からのオリジナルシャードの生成を生じさせることと、
    前記サーバのアレイを横断して、前記生成されたオリジナルシャードを分散させることと、
    前記サーバのアレイに、前記生成されたオリジナルシャードを記憶させることと
    を含むコンピュータプロセスを確立し、
    前記生成されたオリジナルシャードは、前記生成されたオリジナルシャードが無効化可能であるという条件下で記憶される、
    システム。
  48. 前記第1のコンピューティング設備、前記サーバのアレイ、および前記第2のコンピューティング設備は、
    前記オリジナルシャードに基づいて、新しいシャードの生成を生じさせることをさらに含むコンピュータプロセスを実装するように構成される、請求項47に記載のシステム。
  49. 前記新しいシャードを生成することは、前記第1のコンピューティング設備と前記サーバのアレイとの間の通信を要求しない、請求項48に記載のシステム。
  50. 前記第1のコンピューティング設備、前記サーバのアレイ、および前記第2のコンピューティング設備によって実装される前記コンピュータプロセスでは、前記サーバのアレイを横断して、前記生成されたオリジナルシャードを分散させることはさらに、
    前記生成されたオリジナルシャードを、前記サーバのアレイを横断して、Beaverトリプル、関数秘密共有、およびそれらの組み合わせから成る群から選択されるヘルパ情報とともに分散させることであって、そのようなヘルパ情報は、前記対象の後の認証において使用するために利用可能である、ことと、
    前記サーバのアレイに、前記生成されたオリジナルシャードと関連付けられる前記ヘルパ情報を記憶させることと
    を含む、請求項47に記載のシステム。
  51. 個体としての対象の後の認証の目的のために、個体のバイオメトリックデータをセキュアにエンロールするためのシステムであって、前記システムは、
    コンピューティングコンポーネントであって、
    前記個体のバイオメトリックを特性評価する、デジタル電子信号出力を有する第1の変換器と、
    第1のコンピューティング設備であって、前記第1のコンピューティング設備は、前記第1の変換器から前記デジタル電子信号を受信するように構成される前記第1の変換器に結合される、第1のコンピューティング設備と、
    サーバのアレイと、
    第2のコンピューティング設備と
    を備える、コンピューティングコンポーネント
    を有し、
    前記第1のコンピューティング設備、前記サーバのアレイ、前記第2のコンピューティング設備、および命令でエンコーディングされたコンピュータ可読媒体は、前記コンピューティングコンポーネントによる実行に応じて、
    前記デジタル電子信号からのオリジナルシャードの生成を生じさせることと、
    前記サーバのアレイを横断して、前記生成されたオリジナルシャードを分散させることと、
    前記サーバのアレイに、前記生成されたオリジナルシャードを記憶させることと、
    前記オリジナルシャードに基づいて、新しいシャードの生成を生じさせることと
    を含むコンピュータプロセスを確立する、システム。
  52. 前記新しいシャードを生成することは、前記第1のコンピューティング設備と前記サーバのアレイとの間の通信を要求しない、請求項51に記載のシステム。
JP2022534395A 2019-12-09 2020-12-09 プライバシ保存バイオメトリック認証 Pending JP2023504569A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962945590P 2019-12-09 2019-12-09
US62/945,590 2019-12-09
US202063058330P 2020-07-29 2020-07-29
US63/058,330 2020-07-29
PCT/US2020/063968 WO2021119099A1 (en) 2019-12-09 2020-12-09 Privacy-preserving biometric authentication

Publications (1)

Publication Number Publication Date
JP2023504569A true JP2023504569A (ja) 2023-02-03

Family

ID=73856383

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022534395A Pending JP2023504569A (ja) 2019-12-09 2020-12-09 プライバシ保存バイオメトリック認証

Country Status (8)

Country Link
US (3) US20210194874A1 (ja)
EP (1) EP4073974A1 (ja)
JP (1) JP2023504569A (ja)
KR (1) KR20220123657A (ja)
CN (1) CN114868358A (ja)
AU (1) AU2020399657A1 (ja)
CA (1) CA3160049A1 (ja)
WO (1) WO2021119099A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11527107B1 (en) * 2018-06-29 2022-12-13 Apple Inc. On the fly enrollment for facial recognition
US20220247548A1 (en) * 2021-02-01 2022-08-04 Sap Se Efficient distributed privacy-preserving computations
US11792009B2 (en) * 2021-06-14 2023-10-17 Bank Of America Corporation Electronic system for generation of authentication tokens using biometric data
US11991282B2 (en) * 2021-07-30 2024-05-21 Visa International Service Association Distributed private key recovery
CN114866345B (zh) * 2022-07-05 2022-12-09 支付宝(杭州)信息技术有限公司 一种生物识别的处理方法、装置及设备

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014108835A2 (en) * 2013-01-08 2014-07-17 Bar-Ilan University A method for providing security using secure computation
FR3021777B1 (fr) * 2014-06-03 2018-08-17 Morpho Stockage distribue securise par calcul multipartite
JP7421766B2 (ja) 2015-11-13 2024-01-25 バッジ インコーポレイテッド 公開キー/プライベートキーバイオメトリック認証システム
US20190311100A1 (en) * 2016-06-15 2019-10-10 Unbound Tech Ltd. System and methods for securing security processes with biometric data
WO2019063503A1 (en) * 2017-09-29 2019-04-04 Robert Bosch Gmbh METHOD FOR CALCULATING FASTER SECURED MULTIPARTITE INTERNAL PRODUCT USING SPDZ
WO2019094071A1 (en) * 2017-11-07 2019-05-16 Visa International Service Association Biometric validation process utilizing access device and location determination
WO2019182569A1 (en) * 2018-03-20 2019-09-26 Visa International Service Association Distributed biometric comparison framework
US11223478B2 (en) * 2018-04-04 2022-01-11 Sri International Biometric authentication with template privacy and non-interactive re-enrollment
US11201734B2 (en) * 2018-06-04 2021-12-14 Robert Bosch Gmbh Method and system for fault tolerant and secure multiparty computation with SPDZ
SG11202103355TA (en) * 2018-10-04 2021-04-29 Visa Int Service Ass Leveraging multiple devices to enhance security of biometric authentication
US11240025B2 (en) * 2018-11-09 2022-02-01 Ares Technologies, Inc. Systems and methods for distributed key storage
EP3909198A4 (en) * 2019-02-08 2022-03-23 Keyless Technologies Ltd AUTHENTICATION PROCESSING SERVICE

Also Published As

Publication number Publication date
US20210194874A1 (en) 2021-06-24
KR20220123657A (ko) 2022-09-08
EP4073974A1 (en) 2022-10-19
US20240048555A1 (en) 2024-02-08
CA3160049A1 (en) 2021-06-17
WO2021119099A1 (en) 2021-06-17
US20240015152A1 (en) 2024-01-11
CN114868358A (zh) 2022-08-05
AU2020399657A1 (en) 2022-08-04

Similar Documents

Publication Publication Date Title
US11343099B2 (en) System and method for securing personal information via biometric public key
JP7421766B2 (ja) 公開キー/プライベートキーバイオメトリック認証システム
US20190311148A1 (en) System and method for secure storage of electronic material
US20240048555A1 (en) Privacy-Preserving Biometric Authentication
TWI578749B (zh) 用於遷移金鑰之方法及設備
WO2019199288A1 (en) System and method for secure storage of electronic material
US9485098B1 (en) System and method of user authentication using digital signatures
US11223478B2 (en) Biometric authentication with template privacy and non-interactive re-enrollment
US11804959B2 (en) System and method for securing personal information via biometric public key
JP7458661B2 (ja) 本人確認のための生体デジタル署名生成
Punithavathi et al. Partial DCT-based cancelable biometric authentication with security and privacy preservation for IoT applications
Itkis et al. Iris biometric security challenges and possible solutions: For your eyes only? using the iris as a key
Khan et al. A brief review on cloud computing authentication frameworks
AU2018100503A4 (en) Split data/split storage
Nakouri et al. A new biometric-based security framework for cloud storage
Verma et al. A novel model to enhance the data security in cloud environment
Sarkar et al. A multi-instance cancelable fingerprint biometric based secure session key agreement protocol employing elliptic curve cryptography and a double hash function
KR102068041B1 (ko) 유저 바이오 데이터를 이용한 유저 인증 및 서명 장치와 방법
US20240121098A1 (en) Scalable Authentication System with Synthesized Signed Challenge
Vigila et al. Biometric security system over finite field for mobile applications
Abdulmalik et al. Secure two-factor mutual authentication scheme using shared image in medical healthcare environment
Wilusz et al. Security analysis of transaction authorization methods for next generation electronic payment services
Nahar et al. An enhanced one-time password with biometric authentication for mixed reality surgical Tele-presence
Yassin Efficiency and flexibility of fingerprint scheme using partial encryption and discrete wavelet transform to verify user in cloud computing
Kuznetsov et al. Deep learning-based biometric cryptographic key generation with post-quantum security

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230816