JP2022541919A - バイオメトリックプロトコル標準に関するシステム及び方法 - Google Patents
バイオメトリックプロトコル標準に関するシステム及び方法 Download PDFInfo
- Publication number
- JP2022541919A JP2022541919A JP2022504069A JP2022504069A JP2022541919A JP 2022541919 A JP2022541919 A JP 2022541919A JP 2022504069 A JP2022504069 A JP 2022504069A JP 2022504069 A JP2022504069 A JP 2022504069A JP 2022541919 A JP2022541919 A JP 2022541919A
- Authority
- JP
- Japan
- Prior art keywords
- euclidean
- vector
- biometric
- bops
- server
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/32—User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
- G06F21/645—Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, 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/401—Transaction verification
- G06Q20/4014—Identity check for transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, 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/401—Transaction verification
- G06Q20/4014—Identity check for transactions
- G06Q20/40145—Biometric identity checks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0861—Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3226—Cryptographic 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/3231—Biological data, e.g. fingerprint, voice or retina
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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/3239—Cryptographic 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 non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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 involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Biomedical Technology (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Biodiversity & Conservation Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioethics (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Collating Specific Patterns (AREA)
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
- Storage Device Security (AREA)
Abstract
ユーザコンピューティング装置とサーバコンピューティング装置との間で安全な通信が提供される。登録リクエストは、分散型クライアントソフトウェアアプリケーションを介して構成されるユーザコンピューティング装置から受信されて、処理される。この登録リクエストは、ネットワーク上のユーザコンピューティング装置を登録するのに使用可能であり、またユーザと関連付けられた暗号化された部分的な初期のバイオメトリックベクトルを含む。認証リクエストであって、その後に受信されて、暗号化された部分的な第2のバイオメトリックベクトルを含み、またユーザコンピューティング装置のユーザと関連付けられている、該認証リクエストが処理される。暗号化された部分的な初期のバイオメトリックベクトルと、暗号化された部分的な第2のバイオメトリックベクトルとの比較が行われて、当該比較を表す値が生成されて、ユーザコンピューティング装置に送信される。当該値が最小の閾値より上回る場合に、ユーザコンピューティング装置は認証される。【選択図】図1
Description
関連出願への相互参照
本特許出願は、2017年11月1日に出願した米国特許出願番号第15/800,748号、発明の名称「バイオメトリックプロトコル標準に関するシステム及び方法(SYSTEM AND METHOD FOR BIOMETRIC PROTOCOL STANDARDS)」の一部継続出願であり、これに基づくものであり、またその優先権を主張するものであり、当該米国特許出願は、現在は特許第9,838,388号である2016年8月22日出願の米国特許出願番号第15/243,411号であって、2015年8月21出願の米国特許出願番号第62/208,328号、発明の名称「バイオメトリックプロトコル標準に関するシステム及び方法(SYSTEM AND METHOD FOR BIOMETRIC PROTOCOL STANDARDS)」の優先権を主張し、かつ2015年10月14日出願の米国特許出願第62/241,392号の優先権を主張するものである上記米国特許出願番号第15/243,411号にもとづくものであり、またその優先権を主張するものであり、そして本願は、現在は特許第10,255,040号である2017年5月11日出願の米国特許出願第15/592,542号の優先権を主張するものである2019年4月8日出願の米国特許出願第16/378,044号の一部継続出願であり、これらはそれぞれ、本明細書においてそのそれぞれの全体として記載しているかのように参照によってここに援用される。
本特許出願は、2017年11月1日に出願した米国特許出願番号第15/800,748号、発明の名称「バイオメトリックプロトコル標準に関するシステム及び方法(SYSTEM AND METHOD FOR BIOMETRIC PROTOCOL STANDARDS)」の一部継続出願であり、これに基づくものであり、またその優先権を主張するものであり、当該米国特許出願は、現在は特許第9,838,388号である2016年8月22日出願の米国特許出願番号第15/243,411号であって、2015年8月21出願の米国特許出願番号第62/208,328号、発明の名称「バイオメトリックプロトコル標準に関するシステム及び方法(SYSTEM AND METHOD FOR BIOMETRIC PROTOCOL STANDARDS)」の優先権を主張し、かつ2015年10月14日出願の米国特許出願第62/241,392号の優先権を主張するものである上記米国特許出願番号第15/243,411号にもとづくものであり、またその優先権を主張するものであり、そして本願は、現在は特許第10,255,040号である2017年5月11日出願の米国特許出願第15/592,542号の優先権を主張するものである2019年4月8日出願の米国特許出願第16/378,044号の一部継続出願であり、これらはそれぞれ、本明細書においてそのそれぞれの全体として記載しているかのように参照によってここに援用される。
本発明は、概して、セキュリティに関するものであり、より詳細には、ユーザを識別又は認証するシステム及び方法に関する。
例えばデータ通信ネットワークを介してアクセス可能である記憶装置上などで、あらゆる種類の情報が、リモートで格納及びアクセスされ続けている。例えば、多くの人々及び企業は、インターネット又は他の通信ネットワークを介して、財務情報、健康及び医療情報、物品及びサービス情報、購買情報、娯楽情報、マルチメディア情報を格納及びアクセスする。情報へのアクセスに加えて、ユーザは、禁止されたアイデンティティを用いて貨幣的トランスファー(例えば購入、移転、販売等)に関与する可能性がある。典型的な場面では、ユーザが、情報にアクセスするために登録し、その後ユーザ名とパスワードを提出して「ログイン」し、該情報にアクセスする。データ/通信ネットワーク上に格納されたこうした情報及びデータへの(ならびに当該情報及びデータからの)アクセスを確保することは、依然として主要な懸案事項である。
さらに、大部分のユーザ認証方法及びアイデンティティ提供システムは、集中型データベースに依存している。こうした情報記憶装置には、セキュリティ上の観点から1つの妥協点が存在する。このシステムが危殆化すれば、ユーザのデジタルアイデンティティが直接脅威にさらされることを引き起こすことになる。
すなわち、当技術分野においては、こうしたユーザアイデンティティシステムにおいて固有のセキュリティ上の脆弱性を克服するようなシステム、方法、及びコンピュータにより実施されるアプローチが要望されている。
本明細書に記載のシステム、方法及びコンピュータ製品は、ユーザ認証に向けられ、それにはユーザアイデンティティについての当該1つの妥協点は存在しないものである。例えば、認証システムを用いてアイデンティティを登録するための、コンピュータにより実施される方法が提供される。当該方法は、データ通信ネットワーク上のモバイルコンピューティング装置から、初期のバイオメトリックベクトル(IBV(initial biometric vector))の暗号化された暗号シェアの少なくとも1つと、シード(seed)を用いて数学的に生成された第1の公開鍵/プライベート鍵のペアのうちの公開鍵とを受信することを含むものであり、該少なくとも1つの暗号化された暗号シェアは、第1の公開鍵/プライベート鍵のペアのうちのプライベート鍵を用いて暗号化されている。記載の方法はまた、少なくとも、認可システムの署名であって、当該署名はデジタル署名である認可システムの署名と、第1の公開鍵/プライベート鍵のペアのうちの公開鍵と、少なくとも1つの暗号化された暗号シェアとを含む第1のアイデンティティデータ集合を生成して、少なくとも1つのリモートの記憶位置において第1のアイデンティティデータ集合を格納するステップを含む。1又は複数のさらなる実装においては、記載の方法は、第1のアイデンティティデータ集合と関連付けられたアイデンティティ参照値であって、第1のアイデンティティデータ集合の記憶位置を解決し、また生成された第1のアイデンティティデータ集合と暗号的に関連付けられるものであるアイデンティティ参照値を生成するステップを含む。さらなる例として、記載の方法はまた、個々のノードに格納された複数の台帳のそれぞれの間で、少なくともアイデンティティ参照値を含む取引記録を分散することと、モバイルコンピューティング装置に、少なくともアイデンティティ参照値を提供することとを含む。
本願の1又は複数のさらなる実装においては、ユーザにリソースプロバイダへのアクセスを提供するシステムは、メモリを有するプロセッサであってデータ通信ネットワーク上のモバイルコンピューティング装置から第1のアイデンティティデータ集合と関連付けられたアイデンティティ参照値を少なくとも受信するように1又は複数のモジュールによって構成された該プロセッサを含み、該アイデンティティ参照値は、第1のアイデンティティデータ集合の記憶位置を解決し、また第1のアイデンティティデータ集合と暗号的に関連付けられており、該第1のアイデンティティデータ集合は、少なくとも、認可システムの特定データ値と、シードを用いて数学的に生成された登録公開鍵/プライベート鍵のペアのうちの公開鍵と、アクセスをリクエストするユーザの初期のバイオメトリックベクトルのリモートの暗号化された暗号シェアの少なくとも1つとを含む。このシステムのプロセッサは、認可システムの署名値であって、その署名はデジタル署名である当該署名値と、登録公開鍵/プライベート鍵のペアのうちの公開鍵とを受信するようにさらに構成される。システムは、受信したデータを用いて、個々のノードに格納された複数の台帳の間で、少なくともアイデンティティ参照値を含む取引記録の位置を特定し、そして位置を特定した取引記録から、対応する第1のアイデンティティデータ集合の記憶位置を決定するように構成される。特定の実装においては、このシステムはまた、暗号的に関連付けられた第1のアイデンティティデータ集合にアクセスし、認可システムの署名値と該第1のアイデンティティデータ集合の登録公開鍵とを検証するように構成されたプロセッサを含む。さらなる実装においては、このシステムのプロセッサは、モバイルコンピューティング装置から、現在のバイオメトリックベクトル及びローカルの暗号化されたバイオメトリック暗号シェアを受信し、登録公開鍵/プライベート鍵のペアのうちの公開鍵を用いて、受信したローカルの暗号化された暗号シェアと、リモートの暗号化された暗号シェアとを復号するように構成される。ここで、記載のシステムのプロセッサは、復号したローカルの暗号シェアと、復号した格納された暗号シェアとを組み合わせて、合わせた暗号ベクトルを形成して、該合わせた暗号ベクトルを現在のバイオメトリックベクトルと比較することができる。この合わせた暗号ベクトルが現在のバイオメトリックベクトルと一致する場合、記載のシステムのプロセッサは、リソースプロバイダに対して、ユーザにリソースへのアクセスを提供するようにさせることができる。
本願の1又は複数の実装においては、ユーザコンピューティング装置とサーバコンピューティング装置との間で安全な通信が提供される。登録リクエストが、分散型クライアントソフトウェアアプリケーションを伴って構成されるユーザコンピューティング装置から受信されて、処理される。この登録リクエストは、ネットワーク上のユーザコンピューティング装置を登録するのに使用可能であり、またユーザと関連付けられた暗号化された部分的な初期のバイオメトリックベクトルを含む。認証リクエストであって、その後に受信されて、暗号化された部分的な第2のバイオメトリックベクトルを含み、またユーザコンピューティング装置のユーザと関連付けられている、該認証リクエストが処理される。暗号化された部分的な初期のバイオメトリックベクトルと、暗号化された部分的な第2のバイオメトリックベクトルとの比較が行われて、当該比較を表す値が生成されて、ユーザコンピューティング装置に送信される。当該値が最小の閾値を上回る場合に、ユーザコンピューティング装置は認証される。
1又は複数の実装においては、ユーザコンピューティング装置とサーバコンピューティング装置との間で安全な通信が提供される。分散型クライアントソフトウェアアプリケーションを伴って構成されるユーザコンピューティング装置から受信される登録リクエストが、処理される。登録リクエストは、ネットワーク内でユーザコンピューティング装置を登録するのに使用可能であり、またユーザと関連付けられた第1のバイオメトリックベクトルの第1の部分を含む。第1のバイオメトリックベクトルの第1の部分が格納されて、そしてその後に受信されて第2のバイオメトリックベクトルと第1のバイオメトリックベクトルの第2の部分とを含む認証リクエストが処理される。第1の部分及び第2の部分が組み合わされて、第2のバイオメトリックベクトルと比較される。当該比較を表す値を生成して、ユーザコンピューティング装置に送信される。当該値が最小の閾値より上回る場合に、ユーザコンピューティング装置は認証される。
1又は複数の実装においては、証明書であって、登録リクエスト及び認証リクエストに含まれる証明書が提供されるものであり、認証リクエストを処理することには、証明書が現在のものであり失効していないかを判断することが含まれる。
1又は複数の実装においては、侵入検知システムであって、アクティブな監視を提供して、例えば証明書をリプレイすることである証明書のなりすましを防止する侵入検知システムが提供される。
1又は複数の実装においては、認証リクエストを処理することには、一方向暗号化の機能として、暗号化空間において少なくとも1つの照合処理を実施することが含まれる。一方向暗号化は、ランダム一方向パッドを使用して実施することが可能である。
1又は複数の実装においては、ロール収集は、デジタル資産にアクセスするための1又は複数のルールによって提供及び規定され、そしてサーバコンピューティング装置が、該ロール収集に応じて、ユーザコンピューティング装置でのデジタル資産へのアクセスを提供するか又は拒否する。アクセスは、任意アクセス制御及び強制アクセス制御のうちの少なくとも一方に応じて提供され得る。
1又は複数の実装においては、サーバコンピューティング装置は、分散型クライアントソフトウェアアプリケーションを伴って構成されたユーザコンピューティング装置から受信する第2の登録リクエストを処理する。該第2の登録リクエストは、ネットワーク内でユーザコンピューティング装置の第2のユーザを登録するのに使用可能であり、また該第2の登録リクエストは、該ユーザコンピューティング装置のユーザと関連付けられた第2の暗号化された部分的な初期のバイオメトリックベクトル(「IBV」)を含む。第2の登録リクエストを処理することは、サーバコンピューティング装置によってアクセス可能であるか、又は該サーバコンピューティング装置の一部である、非一次的なプロセッサ読み取り可能な媒体上に第2の暗号化された部分的なIBVを格納することを含む。
1又は複数の実装においては、サーバコンピューティング装置が、ユーザの登録を無効にすることが可能である。
本発明の他の特徴及び利点は、添付の図面を参照する本発明の以下の説明から明らかになることとなる。
本開示のさらなる態様は、添付の図面と共に捉えた場合に、以下に記載のその様々な実施形態の詳細な説明を検討することでより容易に理解されることとなる:
概要及び導入として、本明細書に記載するシステム、方法、プロセス及びコンピュータ製品は、分散型台帳(例えば、ブロックチェーン)を用いた、アイデンティティのデジタル表現のための分散型のバイオメトリッククレデンシャル記憶装置に向けられて、当該記憶装置を利用するものである。現在、ユーザ識別の技術分野においては、ユーザは、集中型データベースにより、第三者に対して、信用履歴等の個人情報、出生証明書等のクレデンシャル、又は指紋テンプレート等のバイオメトリックデータを放棄するように強いられている。従来のアイデンティティ証明システムに代わるいくつかのプロジェクトによって実施される非公開かつ安全なアイデンティティ管理のための新規の分散型エコシステムである。様々なネットワーク(例えば、インターネット)における識別情報の使用に固有のこの問題を克服するために、本明細書において、エンドユーザが、従来の集中型の構成ではなく、ネットワークを介した取り交わしを確立又はそれに関与する場合のユーザアイデンティティデータに対する制御を確立することを可能にさせるような様々なアプローチを記載する。
本特許出願の1又は複数の実装によれば、本明細書において概してバイオメトリックオープンプロトコル標準(「BOPS」)と呼ぶ新規の標準のセットであって、ユーザにより制御される認証システムと組み合わせた場合に、ユーザを認証するためのフレームワークを可能にするものであり、当該ユーザの識別情報は、集中型の権限ではなくユーザによって守られるものである、当該新規の標準のセットが提供される。1又は複数のBOPS実装は、アイデンティティアサーション、ロール収集、マルチレベルのアクセス制御、保証、及び監査のために1又は複数のモジュールを提供することが可能である。
図1は、例であるハードウェア構成100を示し、1又は複数のBOPS実装と関連するデータ通信を表示する。配置100は、例えばクライアント装置(例えば、スマートフォン又はモバイル装置)104、サーバコンピューティング装置(本明細書においては、概して「BOPSサーバ」と呼ぶ)102、第三者サーバ106、及び複数のコンピューティング装置112を含むことが可能である侵入検知システム(「IDS」)等である複数のコンピューティング装置を構成して、本明細書において示し記載する機能性を支援及び可能にする1又は複数のソフトウェアアプリケーションを含み得る。また、BOPSサーバ102は、健全性モニタリング装置108及び解析エンジン装置110と通信状態にあり得るか又はこれらと接続し得る。両装置108及び110は、BOPSサーバ102の一部として構成可能であるか又は独立した装置であり得る。
以下は、本明細書において呼ばれる略語及び頭字語の非限定的な一覧である:admin=管理者;AOP=アスペクト指向プログラミング;API=アプリケーションプログラミングインタフェース;AWS=アマゾンウェブサービス;app a=クライアントアプリケーション;BOPS=バイオメトリックオープンプロトコル標準;CPU=中央処理装置;CBV=現在のバイオメトリック識別子(Current Biometric Identifier);CSRF=クロスサイトリクエストフォージェリ;HSM=ハードウェアセキュリティモジュール、ID=識別子(identifier);IDS=侵入検知システム;IBV=初期のバイオメトリックベクトル;IP=インターネットプロトコル;JSON=JavaScriptオブジェクトノーテーション;LDAP=ライトウェイトディレクトリアクセスプロトコル;MAC=強制アクセス制御;MCA=モバイルクライアントアプリケーション;NSA=アメリカ国家安全保障局(National Security Agency(U.S.);QRコード=高速読み取りコード;RDBMS=リレーショナルデータベース管理システム;REST=リプリゼンテーショナルステートトランスファー;SSL=セキュアソケッツレイヤー;TCSEC=信用コンピュータシステム評価基準;TEE=信用実行環境;TPM=信用プラットフォームモジュール、TLS=トランスポートレイヤーセキュリティ;URL=ユニフォームリソースアイデンティファイア;XNTP=拡張ネットワーク時間プロトコル(extended network time protocol);XOR=「排他的OR」の2項演算;1:M=1対多数;4F=フォーフィンガーズ、権利化されたバイオメトリック技術(proprietary biometric technology);5-tuple=ファイブタプルデータパラメータ。
本願の利点は、1又は複数の個々のBOPS実装が、機能性をもたらす構成要素を含み得、またそれが企業の既存の構成要素と共に作動し得る又は当該構成要素の代わりとなり得、それによって比較的非常に短い時間間隔の間に現在の動作環境との統合をもたらすということである。さらに、1又は複数の個々のBOPS実装が、例えば機密かつ非公開のリソースに対するアクセスを判定する等、継続的な形の保護を提供する。BOPS実装においては、「ポイントカット(point-and-cut)」機構の形態としての実装を支援して生産システムに対してのみならず開発におけるシステムに対して適切なセキュリティを付加する1又は複数のアプリケーションプログラミングインタフェース(API)の機能として少なくとも部分的に、許容される目的に合致する又はそれを超えるサービスレベルのセキュリティを提供することが可能である。
1又は複数のBOPS実装は、本明細書において概して初期のバイオメトリックベクトル(「IBV」)と呼ぶバイオメトリックベクトルを、クライアント装置104aから1又は複数のデータ通信ネットワークを介して受信し得るBOPSサーバ102を含み得、またそのベクトルは、アルゴリズムに従って、識別情報と関連付けられた複数の部分へと分割される。部分の数にかかわらず、IBVは、例えば鍵のない様式で暗号化することが可能であり、そしてそれに次ぐバイオメトリック照合処理が、随意に、例えば管理パラメータによって示されるように、クライアント装置104又はサーバ102上で行われ得る。
1又は複数のBOPS実装は、例えば公衆クラウド(例えば、アマゾンウェブサービス)上又はプライベートクラウドにおいて等、様々なオンライン環境において実施され得る。
本明細書において示し記載する装置の組織構造及び機能性によれば、ユーザの認証は、認可の代わりに、サーバがクライアント情報を保有するのではなく別のクライアントから1つのクライアントの認識ができるようになるのに十分な量の情報を維持するような様式で提供され得る。1又は複数のBOPS実装に係るセキュリティ上の検討の要素としては、アイデンティティアサーション、ロール収集、アクセス制御、監査及び保証が挙げられ得る。すなわち、1又は複数のBOPS実装では、エンドツーエンドの生体計測的な解決法においてサーバ側の構成要素が主に検討される。
アイデンティティアサーションに関して、1又は複数のBOPS実装は、リソースの継続的な保護を提供し、そして判定及び他の重要な特徴の設置及び実行可能性を保証する。1又は複数のBOPS実装は、さらに、人物のバイオメトリクスに直接依存することなく、指定されたユーザが彼らが主張している者であるということを確認することを補助するように、アイデンティティアサーションにおいて助力することが可能である。本明細書において示し記載する標準は、任意のアイデンティティ主張部(asserter)又は同一の指定されたユーザと関連付けられたいくつかの異なる主張部(asserter)を仮想的に組み込むことが可能である相互利用可能な標準を含む。IDSの適用(例えば、クライアント装置112を介して)により、一式のクレデンシャルのなりすましを防止することを助ける、及び/又は1もしくは複数の悪意の試行をなしたと判断されたもしくは当該試行をなそうとしているサブジェクトもしくは装置をブラックリストに載せる、アクティブな監視を提供することが可能である。
さらに、ロール収集は、例えば公知のシステムによって規定された及び/又は強化されたルールに基づく、データ機密性及び特権アクセスの機能として支持される。例えば、特定のモードのアクセスが許可されるか否かを判断するために、個々のロールと関連付けられた特定の権限を、グループの分類と比較することが可能である。オブジェクトの構造は、アクセス制御によって規定され得、またロール収集は、システムレベルで行われ得るか又はクライアント/サーバの呼び出しを介して行われ得る。例えば、BOPSサーバ102は、ロール収集情報を格納して、一意のユーザを一意の装置104と関連付けることが可能である。アクセス制御は、所与のサブジェクト(例えば、人物、装置又はサービス(例えば、ソフトウェアプログラム))に対して、所与のオブジェクトにアクセスする及び/又は例えば読み出し、書き込み、実行もしくは削除等のアクションを所与のオブジェクトに行うことが認可されるかを判断する、コンピューティング装置上で実行する1又は複数のモジュールを実施することを含む。
概して、アクセス制御は、任意型とすることが可能であり、またさらに又は代替的に、強制アクセス制御を含むことが可能であるが、これはより細かい粒度であり得る。任意アクセス制御は、例えば指定されたユーザ及び指定されたオブジェクト(例えば、ファイル及びプログラム)に応じて、1又は複数のオブジェクトへのアクセスを制御することに関する。判定機構は、例えばロールベースとすることが可能あり、またユーザ及び管理者に対して、指定された個人によって及び/又は個人の定められたグループによってオブジェクトを共有することを特定及び制御することを許可することが可能である。任意アクセス制御の機構は、1又は複数の実装において、単一のオブジェクト又はオブジェクト群を横断するグループレベル又は個人レベルでの権限のないアクセスから、オブジェクトを保護することが提供される。すなわち、任意アクセスに付随する粒度は、個人からグループの範囲におよび得る。
1又は複数のBOPS実装は、個々の実装の範囲内での制御下で、全てのサブジェクト及び記憶装置のオブジェクト(例えば、プロセス、ファイル、セグメント、装置)に対して強制アクセス制御ポリシーを強化することが可能である。これらサブジェクト及びオブジェクトは、機密ラベルを割り当てることができるが、これは階層型分類法のレベルと非階層的分類法のカテゴリとの組み合わせとすることができる。当該ラベルは、判定において、強制アクセス制御の決定のための基準として使用可能である。例えば、クライアント装置104上で実行するソフトウェアは、サブジェクト及びオブジェクトのラベリングへの順守を強いるために、当該装置に対して、ラベルを維持させるか又はBOPSサーバ102にデータを維持するものとなるようにさせる。BOPSサーバ102は、BOPS実装の構成要素として信用ストアを維持することが可能である。本明細書において用いる場合、信用ストアとは、概して、アクセス制御(DAC又はMAC)が、サブジェクトが正しいオブジェクトを受信することを保証し、またさらに否認防止及び機密性を保証するような安全な手法でデータを格納することを指す。
以下で、1又は複数の例としてのBOPS実装において支援されるアクセス制御ルール及びオプションを特定する。あるサブジェクトは、該サブジェクトのセキュリティレベルにおける階層的分類が、あるオブジェクトのセキュリティレベルにおける階層的分類以上である場合にのみ、該オブジェクトを読み出すためのアクセスが提供され得る。サブジェクトのセキュリティレベルにおける1又は複数の非階層的カテゴリは、オブジェクトのセキュリティレベルにおける全ての非階層的カテゴリを含むことが可能である。あるサブジェクトは、該サブジェクトのセキュリティレベルにおける階層的分類が、あるオブジェクトのセキュリティレベルにおける階層的分類以下であり、かつ、サブジェクトのセキュリティレベルにおける非階層的カテゴリの全てがオブジェクトのセキュリティレベルにおける非階層的カテゴリに含まれる場合に限り、該オブジェクトの書き込み及び/又は実行を行うことが可能である。識別及び認証のデータは、ユーザのアイデンティティを認証して、そしてその個人ユーザの代わりに動作するために作成され得るBOPS実装外側のサブジェクトのセキュリティレベル及び認可が当該ユーザのセキュリティクリアランス及び認可により支配されるということを確実にするために、BOPSサーバ装置102によって使用可能である。
本願は、例えばセキュリティモデルが操作可能であることを監査及び検証することを提供する1又は複数のモジュールの機能として、責任追跡性(accountability)を増大するように動作するものであり、これは本明細書において概して保証(assurance)と呼ばれる。BOPS実装の範囲内のコンピューティング装置が危殆化するといった起こりそうにない事象においては、こうしたモジュールが、危殆化したシステムの未検知での演算を妨げる。例えばBOPS実装において、リクエストを監査することは、当技術分野で公知であるように、例えばアスペクト指向プログラミングの機能として、サブジェクト/オブジェクトレベルで又はグループレベルで支援され得る。このことが、呼び出しが監査証跡に安全に書き込まれることの可能性を高める。さらに、RESTfulウェブサービス及びJavaScriptオブジェクトノーテーション(JSON)のインタフェースが、監査証跡を読み出す機構を提供し得る。監査は、アクション毎にサブジェクトにおいて、アクション毎にオブジェクトにおいて、又はアクション毎にグループにおいて行われ得る。例えば、ユーザのグループは、特定の名称(例えば、「経理」)で示すことが可能であり、また総勘定台帳への全ての書き込みを監査することが可能である。さらに、例えば財務担当者の長であるような個人に、所得計算書の読み出しのために監査情報を提供することが可能である。
1又は複数のBOPS実装において、一連のJUnitテストのうちの1又は複数を用いて、境界条件をテスト及び監視することが可能であり、これには、システム内の境界成分及び境界条件をテストすることが含まれ得る。1又は複数のBOPS実装においては、APIの機能として、セキュリティ規定を少なくとも一部満たすことができる。APIの使用により、例えばリレーショナルデータベース管理システム等の基礎システム、サーチエンジン又は仮想的なその他のアーキテクチャに従うようにBOPS実装を特定すること及び/又はカスタマイズすることが必要なくなる。個々のBOPS実装によって提供される機能性により、「ポイントカット(point-and-cut)」機構が提供されて、製造中のシステムのみならず開発中のシステムに対して適切なセキュリティを付加することが可能である。さらに、1又は複数のBOPS実装のアーキテクチャは、言語がニュートラルであり、これは例えばREST、JSON及びSSLを支持して通信インタフェースを提供する。1又は複数の実装においては、当該アーキテクチャは、サーブレット仕様、OpenSSL、Java、JSON、REST、及び永続ストア上に構築される。ツールは、オープンスタンダードを遵守することが可能であり、これにより、例えば図1に示すように、装置に対して最大限の相互運用性が可能になる。
1又は複数のBOPS実装においては、アイデンティティアサーション、ロール収集、マルチレベルのアクセス制御、監査、及び保証が提供される。これらは、少なくとも1つの特別に構成されたクライアント装置104(例えば、スマートフォン、又はモバイル装置)、BOPSサーバ102、及び侵入検知システム(IDS)を備えた装置112を組み合わせたものの機能として実施され得る。1又は複数の実装においては、クライアント装置104は、BOPSサーバ102との安全な初回の通信セッションを確立するために、アプリケーションを実行して、そして二方向セキュアソケットレイヤー(「SSL」)/トランスポート層セキュリティ(「TLS」)のワンタイムキーをロードする。該ワンタイムキーは、アイデンティティ段階中(本明細書においては、概して「Genesis」と呼ぶ)に生成及び/又は提供されるサブジェクトの二方向SSL/TLS鍵によって少なくとも機能的に置換される。Genesisは、概して、バイオメトリクスの集合を所与のサブジェクトと融合するプロセスにおける最初の又は早期のステップを含む。もうひとつの段階であって、本明細書において概してEnrollmentと呼ぶ段階には、BOPS実装においてユーザ及び/又は装置を登録することに付随するステップが含まれ、またクライアント装置104に対して証明書を発行することと、クライアント証明書を保護することと、該クライアント上に格納された機密データを保護することを含み得る。
1又は複数のBOPS実装においては、データ暗号化及び安全なクライアント/サーバ通信を取り扱う基盤が提供される。当該BOPS基盤により、Genesis及びEnrollmentのプロセスを切り離すこと、ならびにこれらプロセスを種々のEnrollment要素と一緒に協調することが支援され得る。これら従属性により、BOPSサーバ102基盤が特定され得、またBOPS DNS;BOPS TrustStore;BOPS KeyStore;及びBOPS Key交渉プロトコルが含まれ得る。証明書管理に関して、BOPSサーバ102のホスト名に関するDNSのエントリは、一方向SSLのために鍵ストア内に鍵を有するように構成され得る。1又は複数のBOPS構成におけるTrustStore(トラストストア)は、全ての対応する証明書に署名することに関する認証機関を規定する二方向SSL機構である。トランスポートレベルにおいては、BOPSアイデンティティは、ハンドシェークを実施することによって二方向証明書及びトラストストアを介して発生し得る。鍵ストアは、鍵ストア内の鍵を介してトランスポートレベルのセキュリティを支援し、そして鍵ストア内の鍵は、SSL/TLS上での暗号化に関するホストを識別するために使用可能である明確に定められ認められた認証機関、例えばVERISIGN、GODADDY又は他の権限等である当該認証機関を使用することが可能である。本明細書において記載するように、1又は複数のBOPS実装は、クライアント装置104に対してワンタイムパスワード(OTP)プロセスを使用して、二方向SSL証明書をロック解除するパスワードをリクエストする。これは、OTPの同期を行ったクライアント装置104及びサーバ102によって、二方向SSLセッション開始後に証明書をロック解除するために鍵を戻すようになされ得る。
1又は複数の実装においては、クライアント装置104からBOPSサーバ102にリクエストが送信されると、いくつかの鍵Enrollment要素が、クライアント証明書の認証を支援する。例えば、トークンは、例えば「Common Name」であるデータ要素の機能等であるアイデンティティにサーバ上のプロファイルを結びつける識別子として構成され得る。OTPプロセスには、二方向SSL(x.509)証明書をロック解除する、サーバからのパスワードをリクエストする1又は複数の機構が含まれる。該パスワードは、サーバコンピューティング装置102及びクライアントコンピューティング装置104間で協調される事前に定義されたアルゴリズムによって使用ごとに変更され得、またOTPに使用するチャンネルは、好ましくは、個人の証明書に使用するチャンネルとは異なる。例えば、個人の証明書をロック解除するために用いるパスワードは、プッシュ通知により送信され得る。異なる証明書を用いて、個人の証明書をロック解除するパスワードを得ることができる。任意の事象において、この証明書をロック解除する機構は、クライアント装置104上でのそのパスワードの保管に関与しなくてもよい。
一例では、アプリケーションは、Genesis及びEnrollmentに関してデフォルト(例えば、予め搭載された)の証明書を使用する。以降の処理では、現在のOTPを含む該デフォルトの証明書を使用することが可能である。その結果(例えば、HTTPのレスポンス)に、証明書をロック解除するパスワードが含まれ得る。その後OTPは、クライアント及びサーバ上でロールフォワードすることとなる。1又は複数のBOPS実装においては、5-タプル(5-tuple)は、リプレイ攻撃を防止するために用いる高度のエントロピー値である。これら値は、Enrollmentにおいて発生し、クライアント装置104及びサーバ102間の将来の通信の一部となることが可能である。
BOPS実装におけるクライアント/サーバアプリケーションの相互作用は、3段階のプロセスであると考えることができ、少なくとも2つの可能性のあるバリエーションが、最初の第1のステップに続き得る。こうした場合において、BOPSクライアント/サーバアプリケーションアーキテクチャについて、以下の3つの構成要素を参照しながら本明細書において説明する:クライアント装置104上で実行するクライアントアプリケーション、BOPSサーバ102上で実行するアプリケーション、及びサーバ側アプリケーション(図面においては「アプリケーションサーバ」と呼ぶ)。図2~6に示す例においては、サーバ側アプリケーションは、必ずしもBOPSサーバ102を通るものではないので、SSL/TLSの接続は、アプリケーションサーバで終端となることが可能である。また、個々のBOPS実装の配置は、暗号化されていないコンテンツを伴うBOPSシステムを信用することをアプリケーションに要求しない。図2を参照すると、Genesisプロセス中において、クライアント装置104は、BOPSサーバ102に対して呼び出しを行い、ユーザとクライアント側アプリケーションソフトウェアとを認証する。その後は、クライアント装置104は、BOPSサーバ102によって割り当てられて特定のアプリケーションのクライアントアイデンティティに対して特有である証明書を受信する。
次のステップの間に(図3)、クライアント装置/アプリケーションが、直接アプリケーションサーバを呼び出す。クライアントとアプリケーションサーバ部分との間のSSL/TLS接続が、これら点において開始されて終端となる。コンテンツ交換は、好ましくは、このアプリケーションの外部では、BOPSサーバ102又はこのアプリケーションエンティティ内において信用されていない他の部分で見ることができない。クライアントセッションの間に(図4)、アプリケーションサーバ106は、BOPSサーバ102を呼び出して識別情報の詳細を得て、これ以前に証明書が失効していないことを確認する。
第2の変形例(図5に部分的に示される)においては、Genesisステップ(図2~3に記載されるものなど)は、同一のものとすることが可能である。その後、BOPSサーバ102は、アプリケーションサーバ106の構成要素と通信して、新規のクライアント104が登録され割り当てられていることを通知する。この第2の変形例のフローは、第1の変形例のフローと以下の少なくとも2つの手法で異なる:アイデンティティの詳細が異なり、そして失効の確認がクライアントセッション中に獲得される(図6)。第3のステップにおいては、クライアント装置104がアプリケーションサーバ106を直接呼び出すと、アプリケーションサーバ106は、BOPSサーバ102を呼び出して、これ以前に証明書が失効していないことを確認する。
本明細書において例であるBOPS実装に関して示され記載される特徴は、本明細書で提供されるアクセス制御モジュールによってもしくは当該モジュールと関連して使用され得るか、又は既存のフレームワークのアイデンティティアサーション要素に付加され得る。すなわち、BOPS実装は、製造環境において最小限の動作を実施することにより信用される処理を可能にさせ、それによってアプリケーションソフトウェアを変更する必要性がしばしば排除される。
図7Aは、1又は複数のBOPS実装に従う、例であるEnrollmentプロセスと関連のデータ機密性とに関連する装置及びステップ700を示す。二方向SSL/TLSは、本願においては一方向SSL/TLSの上に構築されるが、クライアント装置104において開始される通信を提供する。初回の(例えば、Genesisの)通信により、クライアント104のアイデンティティの身元が定められ、そしてセッション指向のアイデンティティアサーションと共に、クライアント装置104がその後の通信のために用いることが可能であるようなBOPS準拠の二方向証明書が渡され得る。1又は複数の実装においては、クライアントアプリケーションは、その後のGenesisオペレーションが許可される予めロードされた二方向SSL/TLS鍵を有し得る。
1又は複数の実装によれば、BOPSサーバ102は、クライアント装置104より、二方向SSL/TLSアイデンティティを伴う一方向SSL/TLS通信を受信する。通信は、一方向SSL/TLS及び二方向SSL/TLSの両方を介して行われる。1又は複数の実装において、サーバ102はデータストアを使用して、信用アイデンティティ情報を取得し、そして個々のアイデンティティに代わって処理に関するロールを収集する。さらに、監査により、信用アクセスの継続的な検証(verification)及び有効性確認(validation)のための適切なアーティファクトが最大化される。保証は、マルチレベルのアクセス制御機構の単純化及びドキュメンテーションの機能として生じ得る。1又は複数のBOPS実装においては、グラフィカルユーザインタフェース内の管理コンソール(以後、「adminコンソール」)で、以降の登録プロセスの完了が提供されるが、これによりユーザ、グループ及びロールの動的な改変を許可するものであり、本明細書においてより詳細に説明される。adminコンソールの一例を図7Bに示している。
図7Aを参照すると、トークンリクエスト(RESTful)が、クライアント装置104から送信され(1)、そしてBOPSサーバ102で受信されて検証される(2)。BOPSサーバ102のホスト名に関するDNSのエントリは、鍵ストア内に鍵を有するように構成され得(3)、そしてリクエストを形式化し(4A)、またmトークンレスポンスが、二方向SSL/TLSを介してクライアント装置104に送信される(4B)。その後、クライアント装置104からcトークン(例えば、5-タプル及びタイムスタンプ)が送信され(5)、これが検証されるが、例えばリクエスト内のmタイムスタンプの機能として検証される(6、7)。その後、トラストストアと比較して、不足する5-タプルを決定し(8)、そしてリクエストを形式化し(9)、そしてクライアント装置104にSHA512トークンが送信される(10)。
引き続き図7Aを参照すると、クライアント装置104から、SHA512トークンを含む登録リクエストが送信されて(11)、BOPSサーバ102が受信して検証し(12)、そしてクライアント署名リクエストが処理されて証明書がロック解除されるが(13)、これは例えばワンタイムパスワード(one-time password)を算出して、鍵ストアと比較してトークンカウントを確認すること(14)及び外部の通知サービスの方へクライアント証明書パスワードを送り出すこと(15)などである。さらに、12の検証ステップは解析に関連するステップへと枝分かれして、装置情報(16)、プロファイル情報(17)及びバイオメトリクス(本明細書において示し記載するような)(18)を決定することを含む。
さらに、クライアント装置の証明書パスワードを、クライアント装置104に返送し(19)、形式化したリクエスト(2)及びSHA512トークン(21)についても同様に返送する。その後、SHA512トークンなどのカスタムセキュリティリクエストが、クライアント装置104から送信されるが(22)、これはBOPSサーバ102によって検証される(23)。リクエストを形式化し(24)、そしてカスタムセキュリティレスポンス(SHA512トークンなど)を、クライアント装置104に送信する(25)。
1又は複数のBOPS実装においては、アクティブな侵入検知システムが、例えば装置112を介して、提供される。アクティブな侵入検知システムは、総当たり攻撃、サービス妨害(例えば、分散型の又は単一によるサービス妨害)攻撃、又は他の攻撃を防止するのに効果的である。二方向SSL/TLS証明書の偽装、セッションのリプレイ、偽造パケット、又はBOPSサーバ装置102を危殆化させるための労力における種々の無効化技術を偽造しようとする試行を特定及び追跡するカスタムルールを規定及び施行することができる。
1又は複数のBOPS実装においては、視覚暗号法を用いて、初期のバイオメトリックベクトル(IBV)を暗号化する。この技術により、バイオメトリック照合を実施する特定の装置において、XOR演算を用いること等によって、IBVの速い再構築という利点が提供される。例えば、秘密分散法(secret sharing scheme)を提供する、Moni Naor及びAdi Shamirにより開発された技術を用いることが可能である。例であるオペレーションにおいては、あるベクトルがN個のシェアに分割されるので、初期のベクトルを再構築するためにはN個のシェアの全ての部分が必要である。個々の装置には、BOPSサーバ102及びモバイルクライアントアプリケーション104が含まれ、また登録されたベクトルは2個のシェアの部分に分割され得るものであって、これらはその一方はBOPSサーバ102によりアクセス可能なBOPSリポジトリ内に格納され、もう一方はモバイルコンピューティング装置104上に格納される。
本願の1又は複数の実装においては、データの機密性を確実にする他の形態の暗号化方式及び/又は機構を採用することが可能である。例えば、視覚暗号法の代わりに(又は可能性として、これに加えて)、楕円曲線暗号法を用いることが可能である。
例であるバイオメトリック認証の動作の間、新規に取得したベクトルと登録されたベクトルのシェアの両部分とが、一箇所で(例えば、モバイルコンピューティング装置アプリケーション104又はBOPSサーバ102)又は複数の場所において、利用可能となり得る。どのような場合においても、登録されたベクトルのシェアを用いることで、初期のベクトルをメモリ内で再構築することが可能であり、それによって当該ベクトルに対して発生する認証が支援される。図8は、Enrollmentプロセスと関連する、データのアクセス及び交換を含めた概要を示す。BOPSサーバ102に関して、識別は、サブジェクトのアカウント及び装置の機能として提供される。サブジェクトのアカウント及び装置は、所与のサブジェクトに関するプロファイル情報の一部である。プロファイル情報は、クラスタ化したデータストア内に格納される。その照合のため、IBVがシェア内に取り込まれ、再構築及び復号される。照合アルゴリズムがユークリッド照合が可能でなければ、照合は平文として行われ、そうでなければ照合は暗号化ドメイン内で行われる。
代替的な実装においては、準同型暗号化を利用するものであり、これは暗号文で実行されてそれによって暗号化された結果を生成する計算が可能になる。照合オペレーションは、暗号化空間において可能であり、それによってプライバシーとセキュリティが増大される。例えば照合処理は、一方向暗号化を用いて暗号化空間において行われ得、それによって高度なプライバシーが提供され、元の平文のIBVを獲得する能力が有効に排除される。
1又は複数の実装においては、アルゴリズムにより、一部はクライアント向けで一部はサーバ向けであるような2つの部分を有するような手法で、一方向暗号化が実施される。照合で、当技術分野で公知であるように、ユークリッド距離(例えば、ハミング距離)を使用する場合には、照合処理は暗号化空間内で行われる。あるいは照合で、ハミング距離を使用しない場合には、照合処理は、本明細書において記載するように平文空間で行われる。
1又は複数の実装においては、暗号化空間での照合処理を可能にする一方向暗号化を実施するために、ランダムワンタイムパッド(ROTP)を使用する。あるいは、平文での照合処理の場合、可逆的な暗号のために視覚暗号法が用いられる。例えば、ハミング距離を有しない場合には、メモリ内で行う照合のために、視覚暗号法を用いて平文に戻される。好ましくは、暗号化及び復号で、以下の2つの暗号化アルゴリズムのうちの一方が用いられる:1.ビットマスク(Bitmask)、又は2.行列変換(Matrix transformation)。全ての照合アルゴリズムはハミング距離を有するであろうことから、サーバが平文のIBVを有することはないということが理想的である。
以下は、2つの2値ベクトル間のハミング距離を算出する関数として実施される、虹彩認識に関するアルゴリズムの例である。当該アルゴリズムの例においては、照合処理は、以下のとおり、バイオメトリクスの暗号化された各半分を平文変換することなく、該バイオメトリクスの暗号化された各半分に対して直接実施することが可能である(^はビットごとのXOR演算を示す):
サーバが以下を格納する:Enrol vector^noise
電話が以下を送信:Verify vector^the same noise
サーバ上で以下の比較を行う:(Enrol vector^noise)^(Verify vector^the same noise)
XORは可換かつ結合的であるため、これは以下のように再編成可能である:(Enrol vector^Verify vector)^(noise^the same noise)
XORは自己逆元であるため、(noise^the same noise)=Iであり、ここでIは、XORのためのアイデンティティ要素であり、これは0である。
したがって、当該式は、以下のように簡略化される:(Enrol vector^Verify vector)^I=(Enrol vector^Verify vector))。
A及びB間のハミング距離は、関数A^Bである。
したがって、ノイズ生成したベクトル(noizsed vector)間のハミング距離は、元のベクトル間のハミング距離と同じである。
例である実装においては、登録(enrollment)中では以下が発生する:
a)登録ベクトル:
00110011
b)ランダムシーケンス(ベクトルの前半):サーバ上に格納
01010101
c)ベクトルの後半(算出された):電話上に格納
01100110
検証中では以下が発生:
e)検証ベクトル:(登録と検証との間に変化した最後のビットのみを通知。これは良好な一致であるから。)。
00110010
ベクトルの後半:電話上に格納
01100110
f)ベクトルの前半に対する近似値を算出(eからc):
01010100
照合処理中では以下が発生:
g)この「前半の検証」(f)をサーバに送信
h)現在、サーバは以下を有する:
登録ベクトルの前半(b):
01010101
検証ベクトルの前半(f):
01010100
bとfとの間に変化したビットの全てを、1と印す:
00000001
システムが伝えることができるのは、良好な一致を表す、登録と検証との間に変化した最後のビットのみであるが、サーバが如何にして暗号化データのみを取り扱っていたか、及び実際のベクトルはサーバにおいて知られていないこと、ベクトル間の違いのみは算出可能であること、を知ることができる。
代替的な実装においては、テンプレートベクトル間のユークリッド距離を算出することによって顔認識が実施されるが、当該顔は、当該ベクトルからリバースエンジニアリングできない。例えばニューラルネットワークを使用して、2つの顔画像を照合する場合、まず各顔が、サイズが128バイトである実数ベクトル(float vector)に変換される。この実数ベクトルの表現は任意であるが、リバースエンジニアリングにより元の顔に戻すことはできないものである。顔同士を比較するために、2つのベクトルのユークリッド距離を算出する。同一人物よりの2つの顔は同様のベクトルを有するはずであり、また別の人物の顔同士は、ユークリッド空間においてさらに離れるはずである。モバイル装置上で検証ベクトルを算出して、リモートサーバへ送信し、格納されている登録ベクトルと照合させることが可能である。したがって、元のバイオメトリック(例えば、顔)は、ユーザの装置から出ることはないものであり、全ての照合処理は、サーバ上で計算することが可能である。
さらに別の実装においては、テンプレートベクトル(template vector)間のユークリッド距離を算出することによって指紋認識が実施されるが、当該指紋は、当該ベクトルからリバースエンジニアリングできない。同様に、上記に記載したように、指紋の照合処理のためにニューラルネットワークを適用することが可能である。この場合には、装置上で指紋をベクトルに変換することが可能であり、そして該ベクトルが送信されることとなり、それによってネットワークから出力されるベクトルから元の指紋画像を復元する道が排除される。
1又は複数の実装においては、装置上で暗号化鍵がランダムに生成されるが、これはニューラルネットワークからの出力ベクトルを難読化するために用いられる。例えば、暗号化されたバイオメトリックベクトル=暗号化行列×平文バイオメトリックベクトル。この場合において、暗号化行列変換は、ユークリッド距離が保存される、すなわち当該行列は剛体変換であるはずである、という特別な性質を有する。この場合において、バイオメトリックべクトルは、非暗号化形式で装置から出されず、そしてサーバは、2つの暗号化されたバイオメトリクスを比較して、平文を知ることなくユークリッド距離を算出する。ユーザが、新規の装置から検証を行うことを望む場合には、ユーザは該新規の装置に例えばQRコード経由等で暗号化データを送信することが可能である。これには、以前の装置が利用可能である必要がある。以前の装置を紛失した又はそうでなければ利用可能でない場合には、ユーザは、本明細書において示し記載するように、再登録を行う。
したがって、バイオメトリックベクトルが分割されて、格納されて、暗号化されて、装置間を横断することの機能として、プライバシーの増強がもたらされる。ディスク上又はメモリ内のいずれにも平文の形態でサーバ上に存在するバイオメトリックベクトルの部分はない。さらに、本願では、個々の認証及び失敗した認証に対して「what-if」解析を行うことを希望するユーザが、ファセット、検索、解析等を支援する管理インタフェースを介してそれを行うことが可能であるので、解析が増強される。
図9は、1又は複数のBOPS実装に従う、例であるセキュリティアーキテクチャ900の構成要素を示す。図9に示すように、BOPSセキュリティクラスタ902は、仮想プライベートネットワーク(VPN)上でBOPSインスタンスを動作するように構成することが可能である。認証機関エンティティ、BOPS鍵ストア及びBOPSトラストストアのコア属性は、例えば、BOPSインスタンス上に配置させることが可能である。BOPSインスタンスはまた、DNS、OTPライブラリ、通知サービス鍵、ビジネスアダプタ、BOPS構成プロパティと関連する及び/又はこれらを表すデータを含有し得る。負荷分散装置クラスタ904は、BOPSサービスの信頼性及び可用性、作業負荷の分散を確実する1又は複数の装置を含むことが可能である。構成されたBOPS負荷分散装置904は、スループットを最大化し、レスポンス時間を最小化し、またBOPSアーキテクチャ900における任意の単一のリソースの過負荷を回避するように作動し得る。
引き続き図9を参照すると、永続クラスタ906は、1又は複数のデータベースセキュリティグループを含むことが可能であり、またBOPSデータクラスタを自動スケーリングするように構成することが可能である。認証サービスは、大きいデータオブジェクトに対処し、大きいデータ集合を取り扱うとき、例えばNoSQL等のビッグデータストア、及びデータについてのデータの1又は複数の水平分割(「シャード(shard)」)を採用して、同時にシャードから読み出し、当該結果をマージすることによってパフォーマンスを向上させることが可能である。データベースセキュリティアーキテクチャ900は、BOPSアーキテクチャを実装して、機密データの単一の場所での集中保管を防止する。また図9には、IDS装置112を含むことが可能である監視クラスタ908も示している。
図10A及び10Bは、それぞれ、1又は複数のBOPS実装に従う、個々の代替的なEnrollmentプロセス1000及び1010に関する装置及びステップを示す。図10A及び10Bに示す実装では、アカウント又は装置と関連する暗号化バイオメトリックデータを格納し、全てのバイオメトリックデータの変更についての情報を格納し、認証サービス及びそれらの対応するバイオメトリックライブラリ(例えば、FACE、4F、IRIS)をロードして使用し、そして新規のフロー(例えば、登録(enrollment)及び認証(authentication))を支援するAPIオペレーションを提供する機構を提供する。
図10Aに示す実装においては、認証フローのための方法がクライアント104側で行われるように構成されている場合に、モバイルコンピューティング装置104上で実行されるソフトウェアアプリケーション(「MCA」)が、初期のバイオメトリックベクトル(IBV)の取得、Enrollmentプロセス中の暗号方式での分割オペレーションの実施及びこのプロセスを分散してサーバ側におけるCPU負荷を低下させること、BOPSサーバ102によるEnrollmentリクエスト(登録)の実施、ならびに暗号方式での照合オペレーションの実施を提供する。BOPSサーバ102は、Enrollmentプロセス中に、例えばBOPSビッグデータストア1002内に、ユーザのアイデンティティデータをシェアベクトルと一緒に保存するように構成することが可能である。さらに、BOPSサーバ102は、認証フローを管理して、認証サービス通信構成要素(1004)を統合することが可能である。認証サービス(1006)は、1又は複数の認証アルゴリズム、バイオメトリックエンジンライブラリを動的にロードし、認証エンジンのバージョニングを支援し、それによりBOPSサーバ102及び1又は複数のバイオメトリックエンジン間の通信を正規化し、認証エンジンバージョニングの支援を提供し、そしてBOPSサーバ102及び認証エンジン間の通信を正規化することが可能である。認証サービスは、認証の実施の際に、バイオメトリックサービスについてのラッパーとして機能する。
本明細書において説明するように、プラグ可能認証サービスとそれらの対応するバイオメトリックエンジンとに関する1又は複数の機構が提供される。したがって、BOPS実装は構成可能(例えば、認証サービス及びバイオメトリックライブラリの場所を介して)であり、そして利用可能なサービスを自動的にロードしてシステムに登録することが可能である。
結果として、例えば以下の表明(enunciation)サービスの一覧が、システムレベルで利用可能である:4F-エンジン、FACE-エンジン、IRIS-エンジン、VOICE-エンジン。認証部の一覧としては、FIDO認証又はBOPS認証が挙げられる。
本願は、以下の特徴を支援することによってバイオメトリック統合認証サービスを向上させる。BOPSサーバ102によりアクセス可能であるアカウント又は装置内に暗号化されたバイオメトリックデータを格納する、1又は複数の機構を提供することが可能である。また、発生したバイオメトリックデータの変更を表す情報を格納する機構を提供することが可能である。さらに、例えば顔、4本指及び虹彩のバイオメトリック認証と関連する、同一出願人による米国特許出願番号第14/201,462号、米国特許出願番号第14/201,499号、米国特許出願第14/988,833号、及び米国特許出願番号第14/819,639号に示され記載されたものを含めた、認証サービスにアクセスし使用する「ジェネリック」な機構を提供することが可能である。
本願の1又は複数の実装においては、モバイルコンピューティング装置104は、Enrollmentベクトルを取得して、Enrollmentプロセス中に暗号方式での分割オペレーションを実施する。これにより、プロセスを分散してサーバ側におけるCPU負荷を低下させることによって計算の機能性が改善される。また、認証フローからの「バイオメトリック有効性確認」ステップがモバイル上で行われるように構成されている場合に、モバイル装置104は、BOPSサーバ102に対するEnrollmentリクエスト(登録)を実施して、暗号方式での照合オペレーションを実施することが可能である。
本願の1又は複数の実装においては、BOPSサーバ102は、Enrollmentプロセス中に、例えばAPACHE SOLRリポジトリ内に、シェアベクトルの少なくとも一部と一緒にユーザアイデンティティ情報を格納する。さらに、BOPSサーバ102は、認証情報を管理してフローを処理し、そして少なくとも1つのバイオメトリックサービス通信構成要素を統合するように構成することが可能である。
本願によるアーキテクチャにおいて提供される他の構成要素は、1又は複数の認証サービス及び1又は複数のバイオメトリックエンジンを含み得る。認証サービスは、1又は複数の認証サービスのバージョニングを支援するように構成された1又は複数のライブラリを動的にロードし、BOPSサーバ102及び認証サービス間の通信を正規化し、そして1又は複数の配置シナリオであって、例えば1又は複数のBOPSインスタンスが、それ自体によってスケーリングすることが可能である別のクラウドを離れるか又は当該別のクラウドであるようなウェブアプリケーションマシン等である1又は複数の配置シナリオを提供するように構成することが可能である。
1又は複数の実装においては、バイオメトリックエンジンは、インタフェースのサブジェクトであり且つBOPS実装システムにプラグしようとするそれぞれの個々のライブラリによって規定及び実装される、管理されていないバイオメトリックライブラリを含むように構成される。バイオメトリックエンジンは、好ましくは、必要であればエンジンをロードする「Load」方法、エンジンをアンロードしてリソース(例えば、メモリ、一次ファイル)を開放する「UnloadLoad」方法、ステータス情報(例えば、INIT_FAILED、OK、ERROR、OUT_OF_MEMORY)を提供する「GetStatus」、Enrollment中に取得したベクトルを暗号化する「Split」方法、例えば初期のベクトルのシェア部分に基づいて、ベクトルを認証する「Match」方法、「Activate/Register」方法、及びエンジンの記述を提供する。該記述には、例えば、バイオメトリックのタイプの識別子(Biometric Type Identifier)、名称及び記述(Name and Description)、エンジンのバージョン(Engine Version)、及びバイオメトリック形式(Biometric Format)が含まれ得る。この情報を用いて、本願に関連する1又は複数のプロセスが、特定のバイオメトリックエンジンを自動的にロードして登録することが可能である。
1又は複数の実装においては、システムに対して構成可能にさせ(認証サービスの位置選定)、また該システムに利用可能なライブラリを自動的にロードして登録するプラグ可能認証サービスのための機構が支持される。各バイオメトリックライブラリは、認証サービスによって呼び出されるものであるが、それ自体を記述する、例えば定数列(バイオメトリックのタイプ)、個々のバージョン、名称及び記述等である情報を提供することが可能である。さらに、例えば当該ペア(バイオメトリックのタイプ、バイオメトリックのバージョン)等である情報は、一意のバイオメトリックエンジンを識別することが可能である。
例である認証サービス及びそれらの対応するより低いレベルのバイオメトリックエンジンはシステムレベルで列記され利用可能であり得、例えば4F、FACE、IRIS及びVOICEなどであり、例えば同一出願人による米国特許出願番号第14/201,462号、米国特許出願番号第14/201,499号、米国特許出願第14/988,833号、及び米国特許出願番号第14/819,639号に示され記載される。
本明細書に記載するように、1又は複数のBOPS実装においては、GenesisプロセスとEnrollmentプロセスとは、有効に分離され、これによりバイオメトリックベクトル、証明書、又は自動化された処理のために別段に必要である他の機密情報へのBOPSサーバ102のアクセスのための直接の要件なしに、サブジェクトのアイデンティティを判断することが可能になる。したがって、BOPSソリューションは、「オープン」であると解釈することが可能であり、またGenesis及びEnrollmentにおいて仮想的にあらゆるカスタマイズも可能となり得る。例えば、Genesisは、ACTIVE DIRECTORY(アクティブディレクトリ)にアクセスするためのユーザ名及びパスワード、有効性確認用のEメールもしくはテキストメッセージ、又はアイデンティティを物理的に検証するための組織の職員を用いることを含むことが可能である。例えばバッチで生じ得るユーザアカウントの事前登録は、業務要件に基づくことが可能である。さらに、Genesisプロセスは、リスク管理に対して完全な従属性を形成して、さらに下流での処理を決定することが可能である。例であるGenesis後のプロセス中に、ユーザは、自身のバイオメトリクスを登録するが、これは個々の登録された装置に対して発行されている一意のクライアント証明書を含み得る。さらに、クライアント装置104とサーバ装置102との間でワンタイムパスワード(例えば、「シード」)を確立することが可能であり、また追加的なシード値をリプレイ攻撃の防止に使用することが可能である。
本明細書においては、1人のユーザが、多数の装置を有し得る、及び/又は1の装置が多数のユーザを有し得る(すなわち、1の装置が多数のバイオメトリクスを有し得る)ということが認識される。それゆえに、多対多の関係の形態は、Genesis及びEnrollmentプロセスを分離する機能として発生し得る。したがって、Genesisを介して識別されたサブジェクトを、多数のバイオメトリクスを用いて何度も登録することが可能である。1又は複数のBOPS実装においては、Enrollmentプロセスでは、二方向セキュアソケットレイヤー/トランスポート層セキュリティ(SSL/TLS)証明書を使用するが、これはサーバにより生成され得る。当該生成は、Genesisプロセス後に発生し得、それによって、当該証明書が、明確に定められたサブジェクトに関して適切であることが保証される。
さらに、1又は複数のBOPS実装は、種々のレベルのプロビジョニングを有し得るものであり、これは様々なセキュリティレベルについて柔軟性を与える。例えば、高いレベルのGenesisでは、例えば職員等であるある人物の前で物理的に有効性確認されるユーザを含む。あるいは、低いレベルでは、単に、ユーザが受信する有効性確認用のEメールと共にユーザ名及びパスワードを定めることだけを含むことが可能である。種々のレベルのGenesis及び検証のプロセスは、1又は複数の個々の構成に対して一意又は特有であり得る1又は複数の業務決定に応じて実施され得る。また、それに続く処理は、個々のGenesisレベルに基づいて変化し得る。例えば、あるシステムでは1000,000ドルの送金は高いレベルのGenesisで可能となるが、100ドルの送金は低いレベルのGenesisのみで可能となる。
図11は、本願に従う、様々なレベルのGenesisと関連したあり得る要件及び例1100を示すブロック図である。検証プロセスにおいてさらなる要件が必要とされる場合、個々のセキュリティレベルはそれに応じて育てることが可能である。図11における例であるレベルにおいては、組織的な検討に基づいて1番目及び2番目のレベルを交換することが可能である。例えば、目的が、ビジネスビジターを検証してWi-Fiアクセスを与えることであれば、当該検証は、モバイル装置経由で送信することが可能であり、また本明細書においては低い検証レベルであるとみなされる。
Enrollment段階中、例えばモバイルコンピューティング装置104上で実行されるモバイルアプリケーションは、個々の組込み性能に基づいてバイオメトリクスを登録する。例えば、特定の統合のために組み込まれ、必要なデフォルトのバイオメトリクスを有するモバイルアプリケーションは、該アプリケーションにおいてそのために特別にハードコードされたモジュールを有し得る。
1又は複数のBOPS実装は、バイオメトリック認証取引の速度に対処し、モバイル装置上の仮想化された脅威の問題を解決する。当該脅威の例としては、侵入者が、モバイル装置のコピーされた仮想イメージ上でコードを逆コンパイルし、このソースコードを使用して認証呼び出しを停止し、そして認証して許可を確立するサーバを制御するように試行することである。
これら危険性を緩和するために、BOPS実装におけるプロセスにより、暗号化鍵なしに初期のバイオメトリック値(IBV)を暗号化して、次いでIBVのうちの半分をクライアント装置104上に格納し、もう半分をサーバ102上に格納するか又はそうでなければサーバ102によってアクセス可能とする。バイオメトリック照合処理は、サーバ102上で行われ得る。図12は、Enrollmentプロセス及び認証プロセス中の初期のバイオメトリックベクトル(「IBV」)と関連する情報のフローの一例1200を示す。図12に示す例であるフローにおいては、Enrollment中、IBVが捕捉されて分割され、IBVの一部(例えば、半分)がクライアント装置104上に格納される。IBVの一部(例えば、半分又は1/2)は、EnrollmentリクエストでBOPSサーバ102に送信されて、当該一部は、例えばBOPSサーバ102によりアクセス可能であるデータストア内に、格納される。したがって、Enrollmentの確認は、BOPSサーバ102によって送信される。
引き続き図12を参照すると、その後のバイオメトリック認証プロセス中に、現在のバイオメトリックベクトル(「CBV」)が捕捉されて、残りの部分(2/2)を含めて、BOPSサーバ102への認証(「Auth」)リクエストと共に送信される。BOPSサーバ102は、認証リクエスト内のIBVのうちの受信された部分を組み合わせて、それをIBVの格納された部分と組み合わせて復号するように、構成される。受信されたCBVをIBV全体の平文と比較して、当該比較中における決定に応じて、ある数字(例えば、浮動小数点数)をクライアントコンピューティング装置104に返す。一致が存在すれば、ユーザは、認証されたものとして登録され得る。さらに、結果は、認証プロセスのものとすることが可能であり、クライアントコンピューティング装置104上で表示され得る。
すなわち、図12に示すステップで示し、本明細書において記載するように、本願によるBOPS実装は、バイオメトリック認証取引の速度に対処し、またクライアント装置上の仮想化された脅威と関連する問題を解決する。当該脅威は、例えば、侵入者が、例えばモバイル装置のコピーされた仮想イメージ上でソフトウェアを逆コンパイルし、このソースコードを使用して認証呼び出しを停止し、そして認証して許可を確立するサーバを制御するように試行した後で、発生し得る。
これらリスクを緩和するために、BOPS実装に付随する特徴により、暗号化鍵なしにIBVを暗号化し、クライアント装置上にIBVの一部(例えば、半分)を、またサーバ上に又はサーバによりアクセス可能な装置上に一部(例えば、残り半分)を格納することを行うことが可能である。バイオメトリック照合処理は、サーバ上で行われ得る。この方法においては、盗聴された装置は、認証を迂回することができないものであるが、これは少なくとも部分的に、危殆化した装置又はサーバが攻撃者に対して有用な情報を何ら与えないという理由からである。
1又は複数の実装によれば、以下により、1又は複数のBOPS実装においてバイオメトリクス認証に対する処理の一致性(processing agreement)が確立される。バイオメトリックベクトルは、少なくともクライアント及びサーバ間で分割されて、認証へのアプローチは、生体計測の種類に左右されない。例えば、顔認識と共にでは、初期のバイオメトリックベクトルのサイズは、およそ20KBであり得るが、これはhttp-リクエスト及びhttp-レスポンスの上り/下りで最小化され、受け入れられることとなるものである。顔認識でのIBVのための分割用アルゴリズムは、以下のとおりであり得る:ゼロビットは白とし、かつ、1ビットは黒とする。したがって、BOPS実装は、視覚暗号法(VC)に対応することが可能である。本明細書において記載するように、本願は、仮想的に任意のバイオメトリックとともに使用することが可能であり、またIBVを取得してVCを用いて暗号化する機構を提供する。VCでは、照合は平文で行われる。あるいはランダムによれば、照合は暗号化されたドメインにおいて行われる。
特に図12を参照すると、ユーザが操作するクライアントコンピューティング装置104は、バイオメトリックEnrollmentに進み(1)、そして初期のバイオメトリックベクトル(IBV)を捕捉する(2)。ステップ(3)において、IBVは暗号化及び分割され、IBVのうちの2/2がクライアントコンピューティング装置104上に又はクライアントコンピューティング装置104によりローカルに格納され(4)、IBVのうちの1/2を含むEnrollmentリクエストが送信されて、トランスポート層を経由(二方向SSL/TLS経由)してBOPSサーバ102に送信される(5)。1/2のIBVは例えばBOPSビッグデータ内にBOPSサーバ102によって格納されて(6)、Enrollmentの確認が、BOPSサーバ102から送信されて、クライアントコンピューティング装置104に返される(7)。
引き続き図12を参照すると、Enrollmentに続き、クライアントコンピューティング装置104においてバイオメトリック認証が行われ(8)、そして現在のバイオメトリックベクトルが捕捉される(9)。その後、トランスポート層を経由して認証リクエストが送信されるが(10)、これはBOPSサーバ102によって受信されて、2/2のIBVと組み合わせて、復号に使用される(11)。その後、CBVを平文IBVと比較して(12)、浮動小数点数をクライアント104へ返して(14)、その結果を表示する(15)。
ここで図13を参照すると、本願と共に実施される視覚暗号法(VC)の例1300を示す。VCは、暗号との良好な相乗効果、IBVの分割、及び鍵管理に関する要件なしでIBVの復元をもたらす。図13において示すこの視覚暗号法の例においては、黒は1と等しいものであり得、また白は0と等しいものであり得る。この例においては、IBVは00100110と等しい。XORの復元を使用することが可能であるが、これはこの解法がブールであるからである。元のバイオメトリックベクトルの暗号化プロセスは、視覚暗号法を用いて行うことが可能であり、またその結果は、白のノイズのみを含有する、シートとして記される2つのベクトルであり得る。モバイル記憶装置(例えば、クライアント装置104)は、シートのうちの一方を含有し、そしてサーバ装置102が、もう一方のシートを含有する又はもう一方のシートにアクセスする。検証プロセスにより、簡単なブール演算を用いて2つのシートが組み合わされるが、これにより結果として、完全に復元した元のバイオメトリックベクトルが得られる。
XOR演算でのIBVの例である復元を、以下の表1に示す。
表1に関して、また例であるBOPS実装と関連して、元のバイオメトリックベクトルの暗号化プロセスは、視覚暗号法を用いて行われ得、またこの暗号化の結果は白のノイズのみを含有するシートとして記される2つのベクトルである。本明細書において記載するように、クライアント装置104に付随する記憶装置は、シートのうちの一方を含み、またサーバ装置102に付随する記憶装置は、もう一方のシートを含有する。検証プロセスにより、簡単なブール演算を用いて2つのシートが組み合わされるが、これにより結果として、完全に復元した元のバイオメトリックベクトルが得られる。
図14は、一例のBOPS実装と関連する、各ビットがシェアへと暗号化されるものである視覚暗号法(VCS)における2つのシェア(2,2)の重ね合わせ(superposition)の一例を示す。図14において示す例においては、ゼロ及び1ビットについてのシェアの選択はランダム処理である。ゼロビット又は1ビットを符号化する際に、1つのシェアに関してはこの表からある値を取得し、もう一方のシェアに関しては該表におけるその隣の値を取得する。当該処理が終わると、いずれのシェアも、元のビットについての手がかりを何ももたらさない。2つのシェアをスーパーインポーズすること(OR又はXORを用いて)により、元のビットの値が求められる。
引き続き図14に示す例を参照すると、2つのシェア(2,2)の重ね合わせは、視覚暗号法(VCS)で示すものであり、各ビットがシェアへと暗号化されるものである。なお、ゼロ及び1ビットについてのシェアの選択は、ランダム処理で実施され得る。ゼロビット又は1ビットを符号化する際に、1つのシェアに関しては表(例えば、表1)からある値を取得し、もう一方のシェアに関しては該表のその隣の値を取得する。当該処理が終わると、いずれのシェアも、元のビットについての手がかりを何ももたらさない。その後、例えばOR又はXORを用いて、2つのシェアをスーパーインポーズすることにより、元のビットの値が求められる。これは、(2,2)のVCSについての一例である。VCSは、ランダム処理の確率を変更することによって、2以上のシェアに拡張できる。ランダム処理の確率を0.5から0.25へと変更することにより、0.5の例では2ビットが存在していた代わりに4ビットを有するシェアが結果としてもたらされる。さらに、ランダム処理の確率を0.125へと変更することにより、入力ビットそれぞれについて8ビットの暗号が結果としてもたらされる。
一致を検知することに関して、例であるBOPS実装における1又は複数のモジュールは、複数の初期のバイオメトリックベクトルを採用する。次いで、SSL/TLSを介してバイオメトリックごとに1つを伝える、2つのRESTfulウェブサービスの呼び出しが存在する。1の呼び出しには、認証セッションにおける現在のバイオメトリックに加えて、IBVのうちの半分が含まれ、そして一致の強度を表す浮動小数点値を返すことが可能である。もう一方の呼び出しでは、一度に1つのIBV(半分)と、現在のバイオメトリックとを提供し、そして一致の強度を表す浮動小数点値を返すことが可能である。この第2の呼び出しに関しては、以下のいくつかの連続した呼び出しが存在し得る:例えば、一致を判断するための一度に1つのIBV。
例であるBOPS実装と関連する照合処理の一致性(agreement)に従うサイズ決定の計算は、以下のとおりとすることが可能である:顔ベクトル当たり20kb、1秒当たり5フレームで10秒間で50ベクトル;50×20kb=1000kb。
上記に特定した実装と関連する照合処理の論理計算の例は以下のとおり説明される。上記1,000KBを、照合のためにサーバに送信する。一致がなければ、浮動小数点の値が決定されるまで、次の100KBを送信する等を行う。1又は複数のBOPS実装において、最小の閾値が規定され、また浮動小数点の値は少なくとも最小の閾値の範囲内である。例である照合処理アルゴリズムによれば、現在のフレームには、200ミリ秒に、サーバまでの125ミリ秒の上り/下り時間を足し合わせる必要がある。すなわち、フレーム伝送は、取引速度を当該照合と合わせてフレーム当たり325ミリ秒にする。当該照合が、100ミリ秒高く拘束されている場合は、フレーム伝送はおよそ425ミリ秒である。それが失敗であっても、フレームのバッチ(例えば、一度に5つ)が送信され得、そして再度、照合が試行され得る。好ましくは、照合処理は、1秒未満の時間で行われるが、特定のやや好ましくない場合では、照合処理はより長く、例えば数秒の時間で行われ得る。
本明細書に示し記載するように、本願のフレキシブルで認証部及びバイオメトリックの種類に左右されない性質が、組織に対して、認証に利用可能でありデフォルトのバイオメトリックとして規定することが可能である個々の認証部及びバイオメトリックを規定できるようにさせる。下流における取引の一部として、バイオメトリックの記述がなければ、例えば組織レベルで、グループユーザレベルで、又は取引レベルで、1又は複数のユーザインタフェースを介して、デフォルトのバイオメトリックを指定することが可能である。
1又は複数の実装においては、管理コンソールを、グラフィカルユーザインタフェースで、また個々の認可されたユーザに対してアクセス可能であるように構成することが可能である。管理コンソールには、選択されたときに、結果としてデフォルトのバイオメトリックのタイプに構成されることになるグラフィカル制御が含まれ得る。例えば、ある組織、ACME配管工事社(ACME Plumbing)は、特定のアクセスに関して、ACMEの全従業員のためのデフォルトのバイオメトリックに顔を用いることを規定している。さらにACME配管工事社は、他の文脈においては、全顧客に関するバイオメトリックに4本指を用いることを規定し、さらにまた、さらに他の文脈においては、10,000ドルを超える従業員の取引の全てに4本指と顔との両方を用いることを規定している。これら選択肢は、規定を下すACME配管工事社の管理者用の管理コンソールにおいて提示される。すなわち、本願は、1又は複数のバイオメトリクスについての柔軟で動的な適用を提供する。
認証に関して、特定の組織のセットアップにおいて、バイオメトリクスに関する複数の情報源を用いることが可能であり、例えば条件エンジン、メンバープロファイル、及びメンバー定義等である。この条件エンジンは、システム内で規定される動的なルールに基づくものであり得る。一例では、1,000ドルを超えるあらゆる取引に、少なくとも2つの形態のバイオメトリック検証が必要である。メンバープロファイルは、ユーザのロールと、対応する特権とを規定する。例えば、メンバープロファイル「情報セキュリティ--第1の応答側」は、10分ごとに、又は例えば取引の関与ごと等他の条件ごとに、認証を要求することができる。メンバー定義により、組織/統合のレベルでデフォルトの認証を定めることが可能である。例えば、システムにおいて利用可能である4つの種類のバイオメトリクス-4F、FACE、IRIS-が存在し、そして特定のBOPS/企業の実装に関して、デフォルトのバイオメトリックが「FACE」である場合、デフォルトとして顔認証が利用可能であり、そして例えばグラフィカルユーザインタフェースを介して提供されて本明細書においては概してBOPS Admin Dashboardと呼ぶダッシュボードにおいて、顔認証がそのように提供され得る。さらに、例えば上記に記載するような個々の条件が、優先順位を示すことができる。例えば、メンバー定義を、最低の優先度であると考えることが可能であり、また条件エンジンを最高の優先度であると考えることが可能である。最高の優先度のものが、認証方法となる。
以下は、本願によるEnrollmentプロセスと関連した、例であるステップを表す。モバイルクライアントアプリケーションを含めて構成したモバイルコンピューティング装置104が、バイオメトリックベクトルを取得し、暗号化を実施し、そして登録API呼び出しを行う。特に、バイオメトリック取得後の、BOPSサーバ102への登録呼び出しは、IBVのうちの半分を含むものであるが、これはサーバ102でアクセスのために格納される。登録プロセスを用いて、ある組織の範囲内にあるBOPS実装を開始することが可能である。本明細書に示す記載及び図面の多くは、クラスタとして現れるBOPS実装を示しているが、BOPSは業務構成要素として構成することができると考えられる。BOPS管理者(「BOPS admin」)がある環境をセットアップする前に、組織は、BOPSサーバ102からの個々のAPI鍵を登録する。個々の開発者は、様々な実装において、同様にAPI鍵を申請することが可能である。
Enrollmentプロセスの完了後、元のサイト管理者(「original site admin」)は、追加のサイト管理者(「site admins」)を作成することが可能である。Enrollment情報は、例えば様々なサイト管理者と関連付けられ、組織と関連する個々のAPI鍵と関連付けられ得る。1又は複数の実装においては、API登録は、以下の2つのドメインに関係することが可能である:登録された元のサイト管理者、ならびにEnrollment情報、組織及び使用事例に基づき得る、発行されたAPI鍵。申請開始が同意された後で、登録プロセスは完了する。その後、BOPSの管理者(admin)が、組織の元のサイト管理者を作成し、そして該元のサイト管理者が、サイト管理者を作成してもよい(例えば、図15に示すロール階層チャートを参照)。
BOPSサービスを利用する開発プロセスの前に、例えばBOPS管理者コンソールにおけるオプションを用いることによって、開発者が登録されることが好ましい。アプリケーション名を提供し、質問指向識別機構を用いて、開発者を識別することによって、新規のアカウントを確立し得、またAPI鍵であって、アプリケーション名により識別されて該アプリケーションに関連付けられることとなるAPI鍵が作成される。
1又は複数のBOPS実装においては、クライアント装置104上で作動するアプリケーションとBOPSサーバ102との間の通信は、二方向SSL/TLSの上で確立される。Genesisプロセスが、当該接続を確立し、また如何にしてユーザがBOPSサーバ102に対して彼ら自身を身元証明するかを特定するため、サーバ102は、プライベート鍵を生成して二方向SSL/TLS通信をセットアップすることが可能である。秘密の質問を提供することは、ユーザ自身を身元証明するためのユーザのためのひとつの機構であるが、これは公理的アプローチであり、また個々の集団(例えば、ベンダー)は、「Genesis」段階中に個人を一意に記述する質問の集合を提供することが可能である。
ユーザコンピューティング装置104上で作動するクライアントアプリケーションは、エンドユーザの装置104を識別する一意の識別子(ID)を提供するのに関与する。当該アプリケーションは、装置104及び関連のAPIを使用して、ユーザとユーザ装置104との間の連結についてBOPSサーバ102に知らせることが可能である。5-タプルは、装置104を識別するために使用することが可能である、1つの当該機構である。
1又は複数のBOPS実装においては、攻撃及び攻撃ベクトルに打ち勝つためにシステムに使用可能である個々のRESTfulの呼び出し及び/又は挙動が特定される。さらに、既知及び未知の攻撃からリアルタイムでデータを保護するリクエストの形式が特定されて、IDS内に(例えば装置112を経由して)、存在させることが可能である。例えば、暗号ワンタイムトークンにおいてリプレイ低減(replay mitigation)を使用することで、アクセスを有効性確認することが可能である。こうした場合においては、IDSは、クライアント104及びサーバ102が互いに認識していることを検証することでサーバ102がアプリケーション層において完全に保護されることが確実になる第3の階層である。
図16は、リプレイ防止と関連する装置及び伝送フローを示すブロック図1600である。図16に示すように、暗号ワンタイムトークンが、アクセスを有効性確認し、また例えばリプレイ、分散サービス妨害攻撃(DDoS)及び他の攻撃など、国際標準化機構(ISO)レイヤー7のサイバー攻撃からアプリケーション層においてサーバ102を保護する。例えばリプレイ、分散サービス妨害攻撃(DDoS)及び類似の攻撃など、国際標準化機構(ISO)レイヤー7のサイバー攻撃を検知するために、トークン及びIDSの組み合わせが有用である。トークンは、一回の使用の間有効であり、通常、クライアント104から、サーバ102へ渡され、その後RESTful呼び出しを使用してBOPSに返される。
1又は複数のBOPS実装における前提は、DDoS検知に関して、全てのトークンが別個であるはずであり、またクライアント及びサーバ間で採用される少なくとも1つのアルゴリズムは、時間が変動し得ることと、値はクライアント間でのみならずアクセス間でも異なるはずであることとを計算に入れるということである。図17は、例であるBOPS実装に従うトークンのアルゴリズムと関連するステップを示す高度なフロー1700である。ステップ1702においては、Genesisステップ中に、ウェブ、モバイル又は埋め込み装置(クライアント装置104)が、トークンをリクエストするRESTful呼び出しを発行する。次いでトークンが受信されて、クライアント104からサーバ102への暗号化メッセージ内に埋め込まれる(1704)。サーバ102が、トークンを受信し、トークンをIDSに渡すことによってメッセージの有効性(validity)を確認して(1706)、次いでトークンが有効であることを検証して、また作成時刻と現在の時刻との間の差が、指定された60秒の期間内に当てはまることを確実にする(1708)。
図18は、多対多の関係にあるGenesis/Enrollment及びユーザ/装置の製品を示す。モバイルクライアント104上に、各アカウントと連結するアイデンティティ要素を示している。図18のサーバ側において、BOPSサーバ102が、各アイデンティティに関連するアイデンティティ属性、アカウント及び装置と関連するように示されている。データ暗号化、及び高レベルの保証での安全なクライアント/サーバ通信を満たすために、アイデンティティ情報が、安全な要素であってそれを介してユーザアカウント(一例として、図18に示すAliceのアカウント又はBobのアカウント)がそれらの対応するアイデンティティに応じて適切に認証されるものである安全な要素と関連している。
Genesisステップを開始するために、クライアント装置104は、以下の表2に示す個々の値のいずれか又は全てを特定することによって5-タプルを確立することを選択し得る。IDSは、クライアントによって設定されていないこの5つの値のいずれかを決定することが可能であり、またRESTful形式でクライアントにトークンを返すことが可能である。クライアント104及びサーバ102は、同一の5-タプルを共有するものであるが、これは次いで、IDS又はBOPSサーバ102によってその後に符号化されて比較されるSHA512であるタイムスタンプを算出するために用いられる。算出したタイムスタンプは、5-タプルに基づいてある時刻へと後ろに動き、また呼び出し毎に一意である。
したがって、1又は複数の実装においては、トークンはタイムスタンプそのものを含有するのではなく、トークンの中の全ての値は、比較のためにSHA512の合計へと変換される。これにより、当該数値はそれぞれの分の値のインターバルが変更され、Blindリプレイを防止することが可能になる。さらに、トークンの分の範囲を3となる(そして60でない)ように構成することで十分に大きいエントロピー(48,771,072)が可能となるので、トライアルアンドエラー攻撃を防止することが可能である。
さらに、セキュリティ管理者が、任意の国際標準以外であり得る攻撃の検知及び防止用の追加的なカスタムパラメータを生成して、多岐にわたる攻撃に対するさらなる確認及び均衡を提供するように構成することが可能になるように、意味論的エンジンを構成することが可能である。
1又は複数の実装においては、リプレイ検知は5-タプルから外れて作動する。例えば上記表1に示したもの等である値が、サーバ102に提供され得る。あるいは、サーバ102が、ランダムに値を選択することが可能である。リプレイに応じて、値の許容可能な範囲及びそのエントロピーが、最初に決定される。Genesisステップ中に、5-タプルのうちいずれの値も特定されなければ、アルゴリズムは以下の値を使用することが可能である。
例である実装によれば、後ろへと回転するアルゴリズムが実行される。それぞれの月が現在の月以下であれば、当該年は同年とすることができる。あるいは、月が現在の月を超えていれば、当該年は、後ろに回転させる必要がある。これら2つの事例が、アルゴリズムを説明している。
例1の現在の月は8(8月)であり、Genesisの月の値は11であり、11>8であるため、年はインターバル5に範囲を狭め、当該年は2011となる。残りの値は、実際の日の値未満であるGenesisの倍数である。
同一の現在の日付及び時刻が用いられる例2に関しては、現在の月は8(8月)であり、Genesisの月の値は4であり、4<=8である。当該年は、2015に等しい、インターバル5に範囲が狭められる。すなわち、当該年は2015年となり、また残りの値は、実際の日の値未満であるGenesisの倍数である。
1又は複数のBOPS実装においては、様々なレベルのデータプライバシーが提供され得、そしてそれぞれが、ある人物がバイオメトリック情報をリセットする及び/又は危殆化することを防止するために、暗号化されたバイオメトリック情報を含み得る。1つのプライバシーレベルでは、全ての非バイオメトリックデータを平文で格納(パッシブ化)することを規定することが可能である。これにより、使用パターン及び認証記録の報告及び解析が簡略化されて、またこれには、例えば否認防止、場所、日付、及びファセット検索等である他の因子を含めることが可能である。例えば、誰でも比較的に容易に、2016年6月中のクリーブランドにおける認証試行の失敗数を確認することが可能であり、また個人及び装置に関する情報が提供され得る。この第1のプライバシーレベルは、平文のパッシブ化データに対して動作する高性能のツールの機能として達成され得る。別のより高いプライバシーレベルによれば、全ての非バイオメトリックデータを暗号化形式で格納するが、クライアントごとの別個の復号鍵は必要としないということを規定することが可能である。すなわち、クライアント装置104は、同じ復号鍵を用いるように構成され得るが、これは先に記載した第1のプライバシーレベルよりも安全であるとみなされ、そこでは内部の人間はアクセスしないものである可能性があるか、又は復号鍵にアクセスしないという可能性が最も高い。さらにより高いプライバシーレベルは、全ての非バイオメトリックデータが暗号化形式で格納されて、復号鍵は、アイデンティティごとに一意であるということが要求され得る。これによりプライバシー及び分離が高められるが、これは各ユーザのデータが、バイオメトリックと関連付けられた鍵で暗号化されるからである。高いプライバシーレベルにおいては、例えば個人情報(「PII」)などのユーザデータは、おそらく照合がメモリ内で行われる瞬間以外は、常に、クライアント装置104上で暗号化されることが、本明細書では想定される。1又は複数のBOPS実装においては、ユーザデータ(例えば、ログインクレデンシャル、ファイル等)を復号するために、ユーザが、取引を認可して認証するために認証する。さらに、静止状態のデータ(例えば、パッシブ化データ)は、常に、サーバコンピューティング装置102上及びクライアント装置104上で暗号化される。平文データは、好ましくは、照合プロセスを行っている時点でメモリ内にのみ存在する。
1又は複数のBOPS実装においては、Genesisフローに関して仮想的に任意にカスタマイズすることが可能であるオープンプラットフォームが提供される。Genesisの一部の例においては、ACTIVE DIRECTORY(アクティブディレクトリ)にアクセスするユーザ名及びパスワード、有効性確認用のEメールもしくはテキストメッセージが含まれ得るか、又は個人の識別情報を、例えば運転免許証、出生証明書、パスポート、社会保険番号、又は他の好適なクレデンシャルに応じて、物理的に検証することが可能である。
ユーザアカウントの事前登録は、業務ルールを実施するバッチプロセスにおいて行われ得、また組織のポリシー及び手順が、それらの業務ルールに寄与し得る。業務ルールは、アクセス管理プラットフォームであって、ロール管理においていくつかの特定の需要を満たすこととなる特権及び他の属性のレベルを決定するグループ又はディレクトリへとユーザをまとめるものであるアクセス管理プラットフォームに統合することが可能である。これにより、開発者に対して、BOPSサーバ102によってアクセスされるメンバー定義の入力として適用され得るメンバープロファイル(例えば、ユーザプロファイル、管理者(admin)プロファイル、マネージャプロファイル、及び上位管理者プロファイル)の明確な記述を構成することを可能にさせる柔軟性が提供される。本願によるGenesisプロセスは、リスク管理に対する完全な従属性を形成し、したがって下流の処理を決定することが可能である。
図19Aは、単一のクライアント装置104上でEnrollmentを開始する複数のユーザに関連する、装置及びステップ1900を示す。ユーザと装置104との間の関係は、「多対多」(M:M)であり得る。第1のEnrollmentステップを、付加することが可能である(A1、バイオメトリックEnrollmentを開始する、A2 Enrollment(x.509)をリクエストする、A3 Enrollment要件を返す、A4 アカウント登録をリクエストする(装置ID、ユーザID+1/2のIBV)、A5 登録を返す)。これらステップは、第2のユーザに対して繰り返すことが可能である(B1~B5)。多対多の関係は、Genesis及びEnrollmentを分離する機能として発生し得る。さらに、多数のバイオメトリクスを用いて、Genesisを介して識別されたサブジェクトを何度も登録することができる。クライアント/サーバ通信を開始するために、ユーザは、自身のバイオメトリクスをクライアント装置で捕捉するが、これがクライアント装置に対して発行された一意のクライアント証明書についての動作Enrollmentプロセスに至る。Enrollmentのセキュリティ部分が終わると、ユーザのバイオメトリック情報の登録が適正に達成されるが、これによりEnrollmentプロセスが終結する。あるユーザが、多数の装置(クライアント)を有してもよく、ある装置(クライアント)が多数のユーザを有してもよい。ある装置(クライアント)は、多数のバイオメトリクスを支持してもよい。
図19Bは、ユーザの一例であるAliceに関して、複数のユーザアカウントに関する情報を格納するクライアント装置104からの認証セッションを開始する装置及びステップ1910を示す。図19Bに示す例においては、Aliceは、認証セッションを開始し(1)、そしてクライアント装置104で作動するアプリケーションが、バイオメトリック認証をリクエストする(2)。バイオメトリック認証が完了後(3)、クライアント装置104で作動するアプリケーションが、装置104に対して、TLSを介してAliceのアイデンティティ属性を送信するようにさせる。その後、BOPSサーバ102は、Enrollment要素の完全性を踏まえて認証リクエストを処理し、結果を返す(5)。
図19Bに示す例によれば、Aliceが誤ってBobのアカウントを用いて認証セッションを開始したとしても、クライアント装置104は、サーバにいずれのリクエストも出さないが、これはCBVがEnrollment中に作成されたIBVとは異なることとなり、認証が成功しないからである。
図19Cは、ユーザのアカウントの失効に関する装置及びステップ1920の例を示す。図19Cに示す例においては、3人のユーザ(Eve、Bob及びAlice)に関連する情報を示している。例えば管理上のグラフィカルユーザインタフェースを含めて構成された管理者コンソールを介して、1又は複数の失効ルールをユーザが規定することが可能である。管理者(同様に生体計測的に認証され得る人物)に関連付けられるロールは、ルールを実施することに関与する。図19Cに示す例においては、Aliceのアカウントは有効な証明書を有し、Bobのアカウントはトランスポートセキュリティ層でブロックされる期限が切れた証明書を有し、またEveのアカウントは、BOPS管理者によって無効にされたものである。より詳細には、Eveの証明書がBOPSサーバ102を介して無効にされた後(1)、Eveのアカウントと関連付けられたクライアント装置104から認証リクエストを受信する(2)。BOPSサーバ102は、Eveのアクセスをブロックしたことを示すメッセージ又は他の好適な内容を返す(3)。Bobの証明書に関しては、90日の期間が規定されており、その期間後にBobの証明書は期限が切れる(「TTL」)(4)。その後、Bobのアカウントと関連付けられたクライアント装置104から認証リクエストを受信し(5)、そしてEveの場合と同様に、Bobのアクセスがブロックされたことを示すメッセージ又は他の好適な内容が、BOPSサーバ102によってクライアント装置104へと送信される(6)。Aliceのアカウントに関しては、追加の90日の期間の延長期間がもたらされ(7)、またAliceのアカウントと関連付けられたクライアント装置104から認証リクエストを受信する(8)。BOPSサーバ102は、例えば本明細書において示し記載するように、Aliceが認証されたという認証結果を示すメッセージ又は他の好適な内容を返す(9)。
本明細書において示し記載するモジュールで解決される課題のひとつは、リプレイ攻撃の防止である。1又は複数の実装においては、DDoS検知に関して、全てのトークンは区別されるが、該トークンは、典型的には、サーバ上のプロファイルをCommon Name(CN)フィールドのアイデンティティと結びつける識別子である。クライアント104とサーバ102との間のアルゴリズムは、時間が変動し得ること、及び値はクライアント104間でのみならずアクセス間でも異なるはずであることを計算に入れる。
1又は複数の実装においては、証明書の分散は以下のとおり動く。X.509証明書は、例えばクライアント装置104にインストールされているアプリケーションソフトウェアの機能として、クライアント装置104上に予めロードされている。Genesisプロセスの前に、クライアント104は、5-タプルの値を、当該タプルのいずれか又は全てを特定することによって(本明細書において示し説明するように)、確立する。Enrollmentプロセス中に、クライアント104は、BOPSサーバ102からトークンをリクエストするRESTful呼び出しを発行する。トークンを受信したら、それをサーバへのクライアントの暗号化されたメッセージに埋め込む。サーバが、トークンを受信し、また作成時刻と現在の時刻との間の差が、指定された60秒の期間内に当てはまることを確実にすることによって、メッセージの有効性を確認する。サーバ102は、5-タプル値のうちいずれが不足しているかを判断して、RESTful形式でトークンをクライアントに返す。クライアント104及びサーバ102は、同一の5-タプル値を共有するものであるが、これは次いで、例えば機能解析として、IDSによってその後に符号化されて比較されるSHA512であるタイムスタンプを算出するために用いられる。例えば、本明細書に記載するように、算出したタイムスタンプは、5-タプルに基づいてある時刻へと後ろに移動して、呼び出し毎に一意である。
本願は、有効のままであるクライアント証明書に関する時間の長さ(廃棄までの時間(Time-to-Live)又はTTL)を構成することが可能である。認証されたユーザの無効になった証明書は、黙って新しい証明書で置換され得る。すなわち、TTLは、「ベルトとサスペンダー」アプローチであり、これはIBV及びCBVの組み合わせにおいて、ユーザの認証を支援するように働く。トークンの失効はまた、認可のための特定の業務の需要に貢献するユーザのロール及び他の因子に対して条件的とすることが可能である。例えば証明書は、例えば条件y及び/又はzが適合しない場合等において、財政的な取引に関する認証の試行の失敗が1又はx回あった後で、ブロックされ得る。
図20Aは、クライアント装置104及びBOPSサーバ102間のクライアント証明書の初期化、検証及び確認に関連するステップ2000を示す簡略化された図である。クライアント署名リクエスト(「CSR」)を処理することに関連するステップは、クライアント装置104において公開-プライベート鍵ペアを生成すること、BOPSサーバ102に送信される公開鍵及びサブジェクト名に署名すること(本明細書においては、概して「所有権証明(Proof of possession)」を実施することと呼ぶ)を含み得る。本明細書において記載するように、クライアントは、二方向SSLを用いて登録アカウントリクエストを送信する。BOPSサーバ102は、証明書のサブジェクト名を確認し、BOPS認証機関(CA)のプライベート鍵によりクライアントリクエストに署名し、そしてOTP機構によりクライアント証明書のパスワードを生成した後で、クライアント装置104にクライアント証明書パスワードを返信する。登録されたクライアントは、証明書署名を確認して、クライアントプライベート鍵と署名済み証明書を格納するがパスワードは格納されない.p12コンテナを生成する。好ましくは、パスワードは決してクライアント装置に格納されないものであるが、これはOTP機構が、クライアントリクエスト毎に1回使用のパスワードを生成するからである。
図20Bは、第三者サーバ及びBOPSを統合した例におけるクライアント証明書登録プロセス2010を示す。このCSRプロセスは、例えば図20Aに示すように、概括的に示しており、ユーザ登録から開始される。図20Bに示す例においては、「ユーザアカウントを登録」を用いて、Genesis及びEnrollmentと関連するステップを記載しており、クライアント証明書はアイデンティティ属性を表し、一方でアカウントはアイデンティティ構成要素を表す。
図20Bに示す例である実装においては、ユーザがEnrollmentプロセスを開始し、アカウント登録リクエストを含む自身のバイオメトリック情報をBOPSサーバ102に送信することが、クライアント104における鍵のペア/CSRの生成の契機となる。BOPSサーバ102は、登録プロファイルリクエストを受信すると、プロファイルの有効性確認を表す図20Bに示すようにそれをさらにアクセス管理アダプタ(第三者企業によって利用されるアクセス管理ソリューション/プラットフォームであり得る)に送信して、その後アカウントログインの検証及び有効性確認のための第三者サーバへとさらに送信する。第三者サーバは、ログインデータの有効性を確認した後で認証トークンを提供し、その後アクセス管理アダプタへと検証結果を返送するが、当該アダプタが認証結果及び認証トークンをBOPSサーバ102に戻して、アカウント/プロファイル登録が完了する。BOPSサーバ102は、認証トークンを暗号化し、バイオメトリックデータを格納し、BOPS CAによりCSRに署名し、暗号化された認証トークンをクライアントアプリケーションに送信する。これは、ある例の実装である、ある企業(例えば、銀行)であって、バイオメトリック認証の機能としての高度な検証のために、既にそのレポジトリ内に集積された数十億個のアカウントを有するものである当該企業に統合された当該実装を表す。
1又は複数の実装においては、高速読み取りコード(QRコード)を用いて、本明細書において示し記載する1又は複数のモジュールの実行の契機とすることが可能である。例えば、ビジネスパートナー(例えば、銀行)のログインページは、個々のセッション機会の識別子を含有するQRコード画像を表示するように構成することが可能である。クライアントコンピューティング装置104上で実施されるMCAは、QRコードをスキャンして、セッションに付加されるシグナルに対してセッションを登録し、本明細書における教示に従うユーザのバイオメトリクスで認証するように、1又はモジュール(例えば、認証ウィザード)を実行することが可能である。図21は、例であるQRコード認証フロー2100であって、第三者サーバが、BOPSサーバ102とのセッション機会を登録し、そしてそれに応じて、新規認証セッションに使用することが可能な情報がBPOSサーバ102によって第三者サーバに提供され得、また当該情報はQRコード内で提供(例えば、表示)され得るものである、例であるQRコード認証フロー2100を示す。第三者サーバは、セッションステータス情報に関して1又は複数のリクエストを送信することが可能である。図21のユーザ(「Actor」と示す)は、QRコードをスキャンして、BOPSサーバ102とのセッションを登録するが、これは外部の第三者サーバに知らせてもよい。本明細書に示し記載するようにバイオメトリック認証があると、例えば第三者サーバにより、ユーザセッションが確立され得る。
本明細書に記載され詳述されるBOPSサーバの1又は複数のさらなる実装においては、クレーム(claim)の権限ベースの発行が提供されて認証中に第三者アイデンティティプロバイダの必要性が排除される安全なユーザアイデンティティモデルが、BOPSサーバを用いて実施される。記載のユーザアイデンティティモデルは、第三者に対して機密のバイオメトリックデータを預ける必要なしに検証可能なクレデンシャルを交換することを保証するブロックチェーン技術を活用する。例えば、選択的なオフチェーンの記憶装置(ポータブルハードディスクドライブ、モバイル装置の記憶装置、IPFS、Dropbox、Googleドライブ、AWS等のような)を横断して拡散された図14を参照して記載する複数の暗号シェア(及び可能性として、それらの冗長なシェア)が、BOPSサーバによって検索される。これら暗号化されたシェアは、ユーザの検証可能なクレデンシャルが検証システムの一部として用いられるように、BOPSサーバに提供される。少なくとも2つのアイデンティティ技術(DID及びBOPS)の組み合わせにより、ユーザの存在についての独立でありプラットフォームの種類に左右されない検証を可能にする。ここで、登録及び認証プロセスにおいて生体計測に基づくプロトコルを統合することによって、ユーザは、実世界の現実の存在にデジタルアイデンティティを結びつけることが保証される。さらに、ユーザは、このデジタルアイデンティティに対する完全な制御を有する。ユーザは、このデジタルの存在にさらにデータを付加すること、又は他者にさらなる情報の付加を依頼すること、又は文脈に応じて一部のデータもしくは全てのデータを明らかにすることが可能である。さらに、ユーザは、他者とデータを共有することに対する自身の同意を記録し、当該共有を容易に促進することが可能である。すなわち、本明細書に記載するデジタルアイデンティティは、永続性で、移植可能であるが、その有用性に関して一箇所の第三者の認可又は有効性確認に何ら依存しない。
特に図22~25を参照すると、安全なユーザアイデンティティモデルは、BOPS標準を用いた、バイオメトリッククレデンシャルの安全な交換のためのプロセス又は方法として実施される。ここで図22を参照すると、本明細書において議論するバイオメトリックオープンプロトコル標準(BOPS)は、分散型の安全なユーザアイデンティティモデルにおいて実施されて、ユーザに対して、彼らの認証及びアイデンティティデータの格納及び使用に対する制御を与える。
詳細には、必須の技術における当業者により、記載のBOPSプロトコルは、リモートストレージを利用するオンデバイス(例えば、FIDO UAF互換性)の、サーバ側の又は多点分散のモデルと、認証に対するユーザの制御を許可する分散型認証プロセスとの組み合わせに拡張可能であるということが理解されるであろう。先の説明は、単に説明の簡便化のためであり、BOPS標準の統合及び1又は複数の分散型台帳技術によって可能にされるさらなるアプローチを制限することを意図していない。実際は、1の特定の構成においては、BOPS標準が、オフデバイスでのバイオメトリッククレデンシャルを、認証チャレンジ及び他のネットワークベースのアイデンティティ検証への参加のために使用することを可能にさせる。しかしながら、1又は複数のさらなる実装においては、バイオメトリックデータが安全かつ不正に耐性があるという暗号方式ベースの保証が提供されるように、認証に用いられるバイオメトリックデータが、分散型の記憶位置に対してBOPSサーバにより分散されるのみならずブロックチェーン技術を用いて1又は複数の分散型台帳に対して永続性である。
引き続き図22を参照しながら示すと、例えばエンドユーザ(又は単に「ユーザ」)等であるユーザ2200は、ユーザの個々の識別情報及び/又はアイデンティティデータに対する制御を保有する何者かである。1の非限定的な例においては、ユーザ2200は、学生、従業員、顧客、及びその他の者である。しかしながら、代替的な構成においては、ユーザ2200は、ユーザの個々の識別情報及び/又はアイデンティティデータに対する制御を維持する保有部(例えば、BOPSサーバ102)を指定することが可能である。例えば保有部は、ユーザ2200からの、ユーザの代わりに識別情報に基づく取引に関与することを許可された1又は複数のサービス、企業又は機関であり得る。1又は複数の実装においては、許可された保有部には、ウェブサービス、モバイルアプリケーション、又はユーザの個人の装置(例えば、クライアント装置)に搭載されたもしくはそれらからアクセス可能である元々あるアプリケーションが含まれる。本明細書において用いる場合、保有部は、概して、分散された識別情報を受信する、格納した分散されたアイデンティティ情報にアクセスする、及び/又はリソースへのアクセスのための取り交わしの際に当該分散されたアイデンティティ情報をリソースアクセスプロバイダに提供する、任意のエンティティを指す。1の特定の実装においては、先に記載したBOPSサーバ102は、様々なユーザ2200のための保有部として機能するように構成される。
アクセス制御プラットフォーム又はアイデンティティ認可部に登録を求める各ユーザ2200は、登録プロセスの一部として、種々のバイオグラフィック及び/又はバイオメトリックデータを提供する。このように、バイオグラフィック及びバイオメトリックデータの集合が、ユーザアイデンティティのデジタル表示として考えられ得る。1の特定の実装においては、バイオグラフィック及びバイオメトリック情報の当該集合は、移植可能なファイル又はデータ構造としてカプセル化又はパッケージ化される。1の非限定的な実装においては、DIDドキュメント2204は、当該バイオグラフィック及びバイオメトリック情報のための移植可能なコンテナ又はファイルとして機能する。1又は複数の実装においては、DIDドキュメント2204は、ユーザのアイデンティティを確認することを求めるリモート認証システムと相互作用するために必要があるメタデータを少なくとも含有する、データファイル、コンテナ、コード又はデジタル文書である。さらなる例においては、DIDドキュメント2204は、1つのJSONオブジェクトである。さらなる実装においては、DIDドキュメント2204は、RFC7159仕様に適合したJSONオブジェクトである。1又は複数の非限定的な実装においては、本明細書において記載するDIDドキュメント2204は、認証及び認可情報を含み得る。特定の構成においては、DIDドキュメント2204は、個人情報(PII(personally identifiable information))を含有しない。
本明細書に記載するシステム、方法及びコンピュータ製品の特定の構成においては、検証可能なクレデンシャルは、ブロックチェーンの外に格納され、そして他の個人情報又はクレデンシャルに加えて、少なくとも1つ又は複数の認証データ集合又は値を含む。特定の構成においては、認証データの集合には、認証システムに対してあるユーザを認証するために用いられ得る機構のセット(例えば、公開鍵、バイオメトリックテンプレート、又はバイオメトリックデータの暗号化されたシェアをも)が含まれる。さらに、DIDドキュメント2204に含まれる認証データの集合は、一構成においては、いずれのエンティティがDIDドキュメント2204を改変できるかということの概要を示す認可情報を包含する。例えば、ユーザがユーザのDIDドキュメント2204を変更する許可を保有部に与えている場合、DIDドキュメント2204自体が、当該認可されたユーザを示すデータを含むこととなる。さらに、認可データはまた、例えばサービスプロバイダ等のエンティティと信用ある相互作用を開始するために用いられるサービスエンドポイントの集合を含み得る。
図22にさらに示すように、発行部2206は、DIDドキュメント2204を生成するエンティティである。例えば、発行部2206は、それを実行するコードによって、ユーザ2200からのアイデンティティモデルにおける登録のリクエストに応じてDIDドキュメント2204を生成するように構成されるサーバ又はプロセッサである。一実装においては、発行部2206は、予期される登録者についての情報(例えば、バイオグラフィック及びバイオメトリック情報)を受信して、当該受信した情報をDIDドキュメント2204に送信する。しかしながら、図25に示すように、発行部2206自体は、例えばBOPSサーバ102等である保有部のシステム又はサーバに対して、DIDドキュメント2204を生成するプロセッサを委任することが可能である。
任意のエンティティは、例えば保有部などの発行部2206であることが可能である一方で、発行部2206のさらなる例としては、企業、政府、非営利団体、及び/又は個人を含むことがある。1又は複数の構成においては、発行部2206は、生成されたDID識別子2202及び/又はDIDドキュメント2204を保有部に送信する。さらなる実装においては、発行部2206は、生成されたDIDドキュメント2204をアイデンティティハブ2208に送信する。
引き続き図22を参照すると、検証可能なクレデンシャルが生成されて、さらなる使用のために安全な場所に格納される。この検証可能なクレデンシャルは、例えば、1又は複数のアイデンティティハブ及びレポジトリ2208に格納される。ここで、アイデンティティハブ及びレポジトリ2208は、安全な個人データレポジトリであり、そこで当該検証可能なクレデンシャルが格納されて検索される。例えば、アイデンティティハブ及びレポジトリ2208は、検証可能なクレデンシャルを格納、改変又は検索するためにユーザ2200、保有部102又は発行部2206に対してアクセス可能である1又は複数のローカル又はリモートのアクセスデータ記憶装置である。また、アイデンティティハブ及びレポジトリ2208は、1又は複数の検査部2210にメッセージ及びデータを中継又は送信する。1又は複数の実装においては、アイデンティティハブ2208は、ユーザ2200又は保有部102によってアクセス可能である、データベースもしくは記憶装置システム、フラットファイルシステム、リレーショナルデータベース、又はバルクストレージ設備として構成される。例えば、アイデンティティハブには、Dropbox、Googleドライブ、AWS、Storj、及び他の同様の「クラウド」系のストレージ設備が含まれ得る。
さらなる配置では、発行部2206(又は保有部102)はまた、分散型識別子(DID)2202であって、DIDドキュメント2204へのリファレンスを提供する分散型識別子(DID)2202を生成する。ここで、DID識別子2202は、検証可能なクレデンシャルによって参照される個人情報への直接のアクセスを第三者に提供することなく、DIDドキュメント2204の検索又はアクセスを可能にする固有の識別子である。1の非限定的な実装においては、DID識別子2202は、少なくとも部分的に、DIDドキュメント2204内に含有されるユーザアイデンティティ情報の暗号的にハッシュ化することの結果である、一意のビット、数字、値、文字列又はシーケンスから構成される。さらなる実装においては、DID識別子2202は、テキスト列、数列、英数字列もしくは16進数のシーケンス、又はこれらの任意の組み合わせである。さらに、こうした組み合わせは、1又は複数のデータファイル、モジュール又は符号断片において具現化することが可能である。さらなる構成においては、DID識別子2202は、RFC3986に従うURIスキームである。例えばDID識別子2202は、随意のパス及び/又は断片がそれに続く一意の文字列のシーケンスからなる。例えば、発行部2206は、DIDドキュメント2202内に格納された認証情報をハッシングすることによって、DID識別子2202を生成する。代替的な構成においては、DID識別子2202は、DIDドキュメント2204の内容のハッシュ化された値と、DIDドキュメント2204の記憶位置とに対応する一意の値である。
DID識別子2202を生成すると、DIDを含有する取引記録が、取引として、1又は複数の分散型台帳2212に追加される。すなわち、DIDドキュメント2204とは異なり、DID識別子2202自体は、アイデンティティハブ2208内に格納されない。その代わりに、DID識別子2202は、分散型台帳又はブロックチェーン内に取引として格納される。取引として分散型台帳内にDID識別子2202を格納することは、DID識別子2202生成時点での、DIDドキュメント2204の不変のインデックスとしてのみならずDIDドキュメント2204の内容の不変の記録としての役割を果たす。DIDドキュメント2204及びDID識別子2202が、暗号的に結合しているという理由から、取引記録として分散型台帳2212に追加された場合、DID識別子2202が、発行部2206、保有部/ユーザ2200、及びユーザのアイデンティティを検証することを望んでいる任意の第三者(例えば、検査部2210)間で許可された取り交わしの監査証跡を提供する。
分散型台帳の技術、実装又は仕様についての任意の特定の実装又は構成に限定されることなく、「ブロックチェーン」の語の使用は、根底にあるアイデンティティデータに対する不正又は修正を防止するために、公に検証可能で安全な構成でデジタル取引を追跡及び格納する公に透明かつ分散型の台帳を提供する1又は複数の技術を指す。1の特定の実装においては、ブロックチェーン又は分散型台帳2212は、増大し続けるデータ記録のリストを維持するように構成された公開台帳として構成されるデータベースである。ここで、当該台帳へのエントリが、ハッシングを使用することによりデータ記録を記録して接続することによってブロックチェーンを形成する。例えば、新しい取引がブロックチェーンに追加される毎に(例えば、新規のDID識別子2202)、新規のブロックが、以前のブロックのハッシュを含む。この手法では、追加的なブロックがそれぞれ、ブロックチェーン全体の有効性に関して、さらなるセキュリティを生成する。各ブロックは、取引のシーケンス及びタイミングを、該取引が生成及び/又は記録されるときに、記録及び確認する。すなわち、特定の実装においては、DID識別子2202は、ブロックチェーン上に取引として格納される。特定の実装においては、保有部又は発行部はユーザ(又は保有部)が認証プラットフォームへの登録のために情報を提供したという通知を受信すると、DID識別子2202を生成する。
ユーザ2200が、保護されたリソースへのアクセスを求める場合、検査部/検証部2210(当該保護されたリソースへのアクセスの制御を行う)は、ユーザ2202を保護されたリソースへアクセスさせるために、ユーザ又は該ユーザを代表する保有部からのDID2202の形態でクレーム要求する。検証部2210は、ユーザのアイデンティティ(例えば、DID識別子2202、及びDIDドキュメント2204内の)の支援において提供されるクレデンシャルが、目的にかなっていることを検証し、そしてブロックチェーン2212におけるDID識別子2202の有効性を確認する。非限定的な例として、検査部2210は、従業員、セキュリティ担当者及びウェブサイトによって維持及び提供されるシステム及びサーバを含み得る。
ここで図23を参照すると、本明細書に記載するシステム、方法及びコンピュータにより実施される製品の1又は複数の特定の実装において、1又は複数のBOPSサーバ102は、バイオメトリックのシェア(先述したような)の保有部として機能して、ユーザをサービスプロバイダに登録するように構成される。図23及び24のフロー図ならびに図25のブロック図を参照すると、ユーザ2202が、発行部2206で登録される。ここで、ユーザ(ユーザエージェントブラウザを介して)は、1又は複数の登録モジュール2301によって構成される、ユーザ装置2300又は例えばMCAであるそのソフトウェアアプリケーションによって、発行部2206として機能するサービスプロバイダにユーザのバイオメトリック情報を登録するように促される。特定の実装においては、ユーザ装置2300は、IBVモジュール2303によって、ステップ2103に示すように、ユーザの初期のバイオメトリックベクトル(IBV)(例えば、いくつかのバイオメトリックデータ)を捕捉するように構成される。
さらなる実装においては、ステップ2105に示すように、捕捉したバイオメトリックベクトル(IBV)が、ユーザ装置2300に対してローカルのまま、少なくとも2つのシェアに暗号化される。例えば、ユーザ装置2300は、暗号化モジュール2305によって、IBVを2以上のシェアへと視覚暗号化するように構成される。ここで、ステップ2107に示すように、暗号化されたIBVの暗号化シェアのうちの少なくとも1つが、このローカルのモバイル装置上に保存される。1又は複数の実装においては、ユーザ装置2300によって、例えば視覚暗号法及びShamirの秘密分散等のアルゴリズムを利用して、膨大な数のシェアが生成される。1の非限定的な構成においては、ユーザ装置2300は、暗号化シェア記憶モジュール2307によって、ユーザ装置2300の1又は複数のローカルメモリ装置に対して、後の検索のために暗号化シェアを格納させるように構成される。
引き続き図23を参照すると、ユーザ装置2300は、鍵生成モジュール2309によって、公開及びプライベート鍵を生成するようにさらに構成される。ここで、図24のステップ2109に示すように、ユーザ装置が、公開鍵を、IBVの少なくとも1つのシェアと関連付ける。この公開鍵及び該公開鍵に関連付けられた暗号化シェアは、ステップ2111に示すように、ユーザ装置2300から発行用サーバ2600Aに送信される。
当業者であれば、IBVのさらなる暗号化シェアの少なくとも1つが、RDBMS又は永続クラスタ(例えば、Apache SOLR)バックエンドの1つに格納され得ることを理解することとなるが、代わりに、ステップ2013において、発行用サーバ2600Aが、発行部署名データと共に、暗号化されたシェアと公開鍵とをBOPSサーバ102に送信する。ここで、発行部署名データは、発行用サーバ2600Aが暗号化されたシェア及び公開鍵のソースであったことを特定する任意のハッシュ、符号、暗号学的な値又はデータ集合であり得る。例えば、発行部署名データそのものは、公開鍵であるか、又は公開鍵/プライベート鍵のペアであり得るものであり、発行部が当該プライベート鍵の保有部である。
先述するように、BOPSサーバ102は、発行部データのみならず、暗号化されたシェア及び公開登録暗号化鍵をいずれも用いてDIDドキュメント2204を生成する。例えば、BOPSサーバ102は、ステップ2115に示すように、DID生成モジュール2401によって、発行部署名、登録公開鍵及び/又は暗号化されたシェアを用いてDIDドキュメント2204を生成するように構成される。また、DID生成モジュール2401は、DIDドキュメント2204と共に使用されるDID識別子2202を生成するようにさらに構成される。例えば、DIDドキュメントの内容及び位置を用いて、一意のDID識別子2202の値が生成される。当該値が、DIDドキュメント2204のハッシュ又はDIDドキュメント2204の内容の一部もしくは全てのみならず、特定の記憶位置、ファイルリファレンス、インデックス番号、又は根底にあるDIDドキュメント2204を識別もしくは検索するために必要な他のデータを表し得る。
ステップ2117に関して示すように、BOPSサーバ102は、DID記憶モジュール2403によって、アイデンティティハブ2208にDIDドキュメントを格納するように構成される。例えば、BOPSサーバ102は、1又は複数のAPIによって、クラウド系記憶レポジトリ2208にアクセスして1又は複数の移植可能な記憶形態でDIDドキュメント2204を格納するように構成される。
さらに、BOPSサーバ102は、DID永続モジュール2405によって、生成されたDID識別子2202を永続性のために選択されたブロックチェーン2212に加えるようにさらに構成される。この手法においては、DID識別子2202は、ブロックチェーンに左右されない、DIDドキュメント2204を解決する方法を提供する。DID永続モジュール2405は、取引ブロックを生成して既存のブロックチェーン又は分散型台帳に加えるように、BOPSサーバ102のプロセッサを構成する。あるいは、そのような台帳が存在しない場合には、DID永続モジュールが分散型台帳を生成させて、当該台帳に新規取引を加える。当業者であれば、例えば取引ブロックのハッシング等のさらなる機能が認識され理解されることを認識する。
一構成においては、ステップ2117において、BOPSサーバ102が関連のDIDをブロックチェーン2212に登録した後で、モバイル装置2300が、ユーザ登録の成功(又は失敗)を通知される。ステップ2119に示すように、サービスプロバイダへのユーザの登録が成功したら、ユーザは、ユーザのDIDドキュメント2204に対応するDID識別子2202を受信することとなる。
記載されるユーザの登録システムのさらなる実装に注目すると、図25に、ユーザ2200と登録サービスプロバイダ2600との間のデータの交換及びプロンプトを詳述している。例えば、ユーザ2200は、モバイルアプリケーションクライアント2300を用いて、登録プロセスを開始する。モバイルアプリケーションクライアント2300は、ユーザ2200からのIBVをリクエストする。例えば、モバイルアプリケーションクライアント2300は、モバイルコンピューティングプラットフォームの1又は複数の画像化装置に対して、サービスプロバイダに登録するユーザ2200の1又は複数の画像を取得するようにさせる。図25にさらに示すように、バイオメトリックベクトルを、暗号シェアに変換することが可能である。図25の実装に示すように、バイオメトリックのシェアは、モバイルクライアントアプリケーション2300を用いて変換される。IBVより生成されたシェアのうち、当該シェアのうちの1つが、モバイルアプリケーション上にローカルに格納される。さらに、モバイルクライアントアプリケーション2300が公開/プライベート登録鍵ペアを提供する場合、プライベート鍵が用いられて、モバイルクライアント上にローカルに格納されない暗号シェアを暗号化する。
登録のために、暗号化されたシェアと登録鍵ペアのうちの公開鍵とが、サービスプロバイダ2600に送信される。ここから、図25の実装に関して示すように、サービスプロバイダ2600は、発行部署名(例えば、サービスプロバイダ2600よりの公開鍵等)を提供する。発行部署名、登録公開鍵、及び暗号化シェアが、BOPSサーバ102に渡される。BOPSサーバ102は、登録を求めるユーザのための保有部として機能する。BOPSサーバ102は、発行部署名、暗号化シェア及び公開鍵を用いてDIDドキュメント2204を生成する。生成すると、DIDドキュメント2204は、指定された準拠のブロックチェーン2212に付加されるDID識別子2202を生成するための根拠として機能する。DID識別子2202が生成されて、対応するDIDドキュメントがブロックチェーンに格納されると、DID識別子2202はモバイルクライアントアプリケーション2300に戻されて、それによりユーザが、暗号化されたIBVのシェアのうちの半分と、DID識別子2202のコピーとの所有を保有するようになる。
例えばバイオメトリックのシェアなど、ブロックチェーン上で多面的なデータを格納することが可能である一方で、本明細書に記載のアプローチでは、分散型台帳又はブロックチェーン2212に、個人識別情報を何も格納しない、ということが理解されるであろう。DIDドキュメント2204に含まれるバイオメトリックのシェアは、アイデンティティハブ又は個人の記憶装置プロバイダ2208を経由して「オフチェーン」で永続性であり、こうした「オフチェーン」のデータ集合に対するリファレンスのみが、暗号的に並べられたDID識別子2202の形態で、公開台帳システムの範囲内に配置される。このように、図24~25に提供する登録プロセスで生成された暗号化されたバイオメトリックのシェアは、暗号化されたエンベロープの範囲内に存在するままであるが、当該暗号化シェアへのリファレンスは、関連付けられたDID識別子2202によりブロックチェーンを介してこれで利用可能となる。このように、DID識別子2202は、同じBOPSサーバ102(図23に示すように)又は検証部を含む異なるBOPSサーバを利用する、認証のクレームの一部として用いられ得る。ここで、当該検証は可能であるが、これはDID識別子2202の取引記録がブロックチェーン2212からアクセスされたときに、格納されたDIDドキュメント2204でのあらゆる変更が明らかになることとなるという理由からである。
図26、27A及び27Bに注目すると、保有部がDIDドキュメント2204及びDID識別子2202をそれらの個人アイデンティティと関連付けて、ユーザにDID識別子2202を提供したら、当該情報を用いて、検証部サーバ2600Bにより制御される保護されたリソースへのアクセスが獲得され得る。
特定の実装においては、BOPSサーバ102が、ユーザのデータストア2208と検証用サーバ2600Bとの間のインタフェースを提供する。しかしながら、さらなる構成においては、同じ又は類似の機能性を有する異なるBOPSサーバが提供されて、それにより図23及び図24に係る発行用サーバ2600Aにより実施される登録機能が、検証用サーバ2600Bにより実施される機能とは異なるサーバにより実施されることになる。
図26に示す非限定的な例においては、ユーザ2200が、モバイルクライアントアプリケーション(MCA)2300を用いて、ウェブサイト(例えば、サービスプロバイダ)上のリソース(例えば、コンテンツ又はデータ)へのアクセスを求める。この構成においては、ユーザ2200は、図24~25に与えるように、BOPSが介在する登録プラットフォームを用いて、既にセットアップされて登録されている。ここで、ユーザの特定のDID識別子2202が、保有部/発行部(図23~25に示す)により作成されてブロックチェーンに対して永続性であり、また登録時(ステップ2109において)に作成された公開鍵が、DIDドキュメント2204に格納される。
ユーザのリクエストの一部として、ユーザは、サービスプロバイダ(検証部)にDID識別子2202と、ステップ2109で作成された公開鍵とを送信する。さらなる実装においては、ユーザリクエストにはまた、発行部署名が含まれる。サービスプロバイダ(検証部)2600は、このデータを、ブロックチェーンを介してDID識別子2202を解決して対応するDIDドキュメント2204を呼び出すリクエストと共に、BOPSサーバ102に渡す。例えば、BOPSサーバ102は、検証用サーバ2600Bから、DID識別子2202、発行データ及び公開鍵を受信する。
ちょうどURIがURN及びURLによりウェブリソースを一意に特徴付けるように、DID識別子2202が、1又は複数のブロックチェーンエコシステムを用いて、関連するDIDドキュメント2204を特徴付ける。ここで、BOPSサーバ102は、保有部(BOPSサーバ102)に対して対応するDIDドキュメント2204の位置を特定できるようにさせる所与のDID識別子2202のための解決装置(resolver)として機能する。例えば、BOPSサーバ102は、DID解決モジュール2407によって、ステップ2606において、1又は複数のブロックチェーンにおいて受信したDIDを探索して、格納された取引情報を使用することで、「オフチェーン」の記憶装置からの個々の検証可能なクレデンシャルを識別するように構成される。
記載するように、1又は複数の構成において、DID識別子2202及びその対応するDIDドキュメント2204は、互いに暗号的に関連付けられる。このように、DIDドキュメント2204における何らかの変更が、DID識別子2202がDIDドキュメント2204ともやは暗号的に一致しないものにさせることとなる。この関係を用いて、BOPSサーバ102は、DID識別子2202を用いてDIDドキュメント2204を評価(例えば、解決)し、クレーム有効性確認モジュール2409を用いて、DID識別子2202の発行後にDIDドキュメント2204のコンテンツが変更されていないかを検証するように構成される。例えば、新規DID識別子2202は、検索されたDIDドキュメント2204に関して生成される。ユーザから受信したDID識別子2202が、新規に生成したDID識別子と一致しない場合、認証プロセスは終了する。
BOPSサーバ102がDIDドキュメント2204にアクセスしたら、DIDドキュメント2204自体がさらに評価されて、それが含有するデータ値が検証用サーバ2600Bにより送信されたクレームと一致するか否かが判断される。例えば、BOPSサーバ102は、クレーム有効性確認モジュール2409によって、DIDドキュメント2204に格納された発行部署名と、検証用サーバ2600経由でユーザ装置2300から送信された発行部署名とを比較するように構成される。さらなる構成においては、クレーム有効性確認モジュール2409はまた、ユーザ装置2300により送信されたアクセスリクエストにおいて提供された公開鍵と、DIDドキュメント2204内に含有された公開鍵を比較するように、BOPSサーバ102を構成する。データが、DIDドキュメント2204のデータに対して有効性を確認することができない場合には、プロセスは停止して、いずれの認可も確立されない。
あるいは、例えばDID識別子2202及びDIDドキュメントを暗号的に照合させて、DIDドキュメント2204の内容がユーザ装置2300により送信された発行部の暗号化署名と一致するという理由から、DIDドキュメント2204が有効なクレームである場合、BOPSサーバ102は、検証モジュール2411によって、ユーザが認証可能であるか否かを判断するように構成される。
例えば、BOPSサーバ102は、検証モジュール2411によって、ユーザ装置2300からバイオメトリックデータ集合をリクエストして、DIDドキュメントにおいて提供された格納された暗号化シェアと比較するように構成される。例えば、BOPSサーバは、ステップ2610において、ユーザの候補バイオメトリックベクトル(CBV)に関してユーザ装置2300に対してリクエストを送信する。ここで、CBVは、IBVを生成するために用いられた(ステップ2103において)同じタイプのバイオメトリック識別子のものであるバイオメトリックベクトルである。例えば、IBVが顔認識データ及び声認識データを含む場合、ユーザからリクエストされたCBVもまた、顔認識データ及び声認識データの両方を含むこととなる。ユーザ装置2300は、CVBリクエストモジュール2704により、アクセスをリクエストするユーザ2200からCBVを捕捉して、CVBと、ローカルに格納された暗号化シェアを直接BOPSサーバ102に送信するように構成される。
ユーザ2200から、ローカルに格納された暗号化シェア及びCBVを受信すると、BOPSサーバ102は、復号モジュール2413によって、ステップ2114において、受信された暗号化シェア及びDIDドキュメント2204に格納された暗号化シェアを復号するように構成される。さらなる実装においては、復号されたシェアを組み合わせて、元のIBVを復元する。ここで、IBVをCBVと比較する。例えば、BOPSサーバ102は、比較モジュール2415によって、IBVの画素、ベクトル又は他のデータを、CBVの同等のデータと比較するように構成される。
ステップ2116に示すように、CBVの値がIBVと一致する場合(又はIBVの所定の閾値の範囲内である場合)、一致が判断されて、そして検証用サーバ2600Bにアクセス検証通知が送信される。
検証用サーバ2600Bが受信すると、検証用サーバ2600Bは、ユーザ装置2300に対して、サービスプロバイダ(サービスプロバイダ)によって提供されるリソースへのアクセスを許可する。ユーザ2200の検証が行われたら、復号されたシェア、IBV、CBV及び公開鍵は、BOPSサーバ102のメモリから除去される。
図27A~Bに示すように、リソースアクセスシステムの特定の構成が記載される。ここで、ユーザ2200は、MCA2300を使用して、サービスプロバイダ2600からリソース(例えば、銀行情報、ソーシャルメディアのアカウント等)にアクセスする。アクセスをリクエストするために、MCA(ユーザ2200の代わりに動作する)がユーザの登録公開鍵、DID識別子2202及び発行部署名を送信する。ここで発行部署名は、一実装においては、図24及び25に提供する登録プロセス中に発行部2600から取得された公開鍵である。これらユーザクレデンシャルを受信すると、サービスプロバイダは、ユーザ2200のための保有部として機能するBOPSサーバ102とのセッションを生成する。
ここで、BOPSサーバ102は、DID識別子2202を用いて、DIDドキュメント2204の位置を解決する。さらなる一実装においては、BOPSサーバ102はまず、ブロックチェーン上の取引記録を評価することによって、DID識別子の有効性を検証する。図27A及び27Bに示すように、DIDドキュメント2204の位置が解決されると、DIDドキュメント2204は、アクセスされてBOPSサーバ102に返される。また、アイデンティティハブ2208に格納された検証済みのクレデンシャルが、アクセスされてBOPSサーバ102に返される。1又は複数の構成において、検証済みのクレデンシャルは、ユーザの登録アイデンティティの暗号化されたシェア(2/2)である。DIDドキュメント2204に格納された発行部署名は、評価されて検証される。さらに、ユーザの供給された公開鍵は、DIDドキュメント2204に格納された公開鍵と比較して検証される。
引き続き図27A~Bに提供する構成では、BOPSサーバ102が、暗号化されたIBVシェアのローカルコピー及び署名済みチャレンジのために、MCA2300にリクエストを送信する。ここで、署名済みチャレンジは、現在のバイオメトリックベクトルに関するものであり得る。例えば、MCA2300がBOPSサーバ102からリクエストを受信すると、MCAは、バイオメトリック識別子を取得して該バイオメトリック識別子を登録鍵ペアのうちのプライベート鍵により暗号化するようにユーザを促す。暗号化されたバイオメトリック識別子、暗号化シェア及び署名済みチャレンジ
図27A~Bにさらに示すように、署名済みチャレンジは、BOPSサーバ102により検証されて、MCAから受信した暗号化シェアは、登録公開鍵を用いて復号される。復号されると、IBVシェアを復号し、組み合わせることで、IBVを復元する。復元したIBVを、現在のバイオメトリック識別子と比較する。一致があれば、現在のユーザと登録されたユーザが同一であるので、リソースへのアクセスがユーザに提供される。
図28に注目すると、1又は複数の構成においては、ユーザはリモートで認証される。ここで、新規サービスプロバイダ(例えば、検証部として機能する)は、ユーザ2200がこれまでに新規サービスプロバイダに登録したことがなかったとしてもリモート認証モジュール2417により該ユーザ2200を認証するように構成される、1又は複数のBOPSサーバ102を使用する。この構成においては、BOPSサーバは、保有部として機能する。図28のワークフローに関して示すように、認証は、ユーザ2200及び検証用サーバ2600のみを使用して効果的に実施可能である。この構成は、従来のシングルサインオン(SSO)システムにおける仲介業者のアイデンティティのクレームに対して第三者アイデンティティプロバイダ(IdP)に依存するものである、例えばSAML又はOAuth等である他の「第一審」の認証とは対照的であり、またこれに対して改善されたものである。ここで、提供される要素の構成は、ブロックチェーン技術の使用を介して認証データに対する制御を有するユーザに、新規サービスプロバイダでの後の使用のために1又は複数の有効な権威(例えば、発行部)が発行したクレデンシャルを確実にすることを支援する。
1又は複数のさらなる構成においては、ユーザ(例えば、ユーザ2200)は、ユーザがそれまでに登録したことがなかった保護されたリソースへのアクセスをリクエストするときに、ユーザアイデンティティをローカルで認証することが可能である。例えば、保有部は、認証中にユーザの代わりに、暗号化されたバイオメトリックのシェアのような発行されたクレームにアクセスすることはできるが、バイオメトリック認証をローカルで実行することが求められる。図示するように、BOPSサーバ102のローカルな構成形態により、モバイル装置2300上でバイオメトリックのシェアを組み合わせることを行うことが許可される。図28に関してより詳細に示すように、DIDドキュメント2204内に又はDIDドキュメント2204と共に格納されたバイオメトリックのシェアの部分は、対応するDIDドキュメント2204から参照されるDID識別情報2202を解決することによって検索される。しかしながら、図24のワークフローとは異なり、ここでは、アクセスされたバイオメトリックのシェアは、サービスプロバイダ及び対応するBOPSサーバ102によってクライアントに送信される。特定の一実装においては、サービスプロバイダ及びBOPSサーバを介してユーザに送信されるバイオメトリックのシェアは、サービスプロバイダ及びBOPSサーバには明らかでない。しかしながら、サーバには、モバイル装置上の対応するシェア(DIDドキュメント2204から送信されたバイオメトリックのシェアのうちの)を、暗号化された第2のシェアのHMACに起因する照合処理に用いるということがわかるのに十分である情報が提供される。登録されたシェアは、決して装置に送信されないが、シェアの両方が、BOPSローカル構成形態に従ってローカルで保持されるということを認識されたい。モバイル装置は、DIDのために登録されたシェアと関連付けられたプライベート鍵を保持しなければならないが、これはそれが、シェアを用いてHMACを算出してHMACをサーバに送信するという理由からである。サーバは、HMAC鍵を、DIDドキュメントからの明らかでない暗号化シェアと比較して、保護されたリソースへのアクセスを提供することが可能である。
本明細書に記載のシステム、プラットフォーム及びアプローチのさらなる実装においては、バイオメトリック入力記録を、複数の分散型台帳に格納されているバイオメトリック記録と照合させる、コンピュータにより実施される方法を提供する。ここで、バイオメトリック識別子又はDIDドキュメント2204は、ブロックチェーン内に直接格納される(DID2202を通したリファレンスのみとは対照的に)。図29に示すように、特定の一実装においては、ステップ2902において、初期のバイオメトリックベクトルが、ニューラルネットワークに提供される。該ニューラルネットワークは、ステップ2904において、該初期のバイオメトリックベクトルを、ユークリッド計量可能な特徴ベクトルに変えるように構成される。ステップ2906へ移動すると、ユークリッド計量可能な特徴ベクトルは、第1の公開鍵/プライベート鍵のペアのうちのプライベート鍵を用いてデジタル署名される。署名済みのユークリッド計量可能な特徴ベクトルは、ステップ2908において、第1の公開鍵/プライベート鍵のペアのうちの公開鍵を用いて暗号化される。
さらなる配置においては、暗号化されたユークリッド計量可能な特徴ベクトルは、ステップ2910に関して示すように、複数の台帳(例えば、1又は複数の識別されたブロックチェーン)の間で、BOPSサーバ102経由で分散される。ここで、ユークリッド計量可能な特徴ベクトルは、第1の公開鍵/プライベート鍵のペアのうちの少なくとも公開鍵と共に、ブロックチェーン2212の個々のノード上に格納される。
個々の分散型台帳(ブロックチェーン)の各ノードは、第1の公開鍵/プライベート鍵のペアのうちの公開鍵を用いてユークリッド計量可能な特徴ベクトルを復号して、ユークリッド計量可能な特徴ベクトルの有効性を確認する。さらに、各ノードは、ノードの個々の台帳2212に対してユークリッド計量可能な特徴ベクトルを付加するようにさらに構成される。
記載の方法には、ステップ2912に示すように、データ通信ネットワーク上のモバイルコンピューティング装置2300から、暗号化されたバイオメトリック入力記録を表す現在のバイオメトリックベクトルを受信することがさらに含まれる。受信された現在のバイオメトリックベクトルは、ステップ2914に示すように、現在のバイオメトリックベクトルを現在のユークリッド計量可能な特徴ベクトルに変えるものであるニューラルネットワークに提供される。
一構成においては、現在のユークリッド計量可能な特徴ベクトルは、第2の公開鍵/プライベート鍵のペアのうちのプライベート鍵を用いて、ステップ2916において署名されて、ステップ2918において暗号化される。署名済みの暗号化された現在のユークリッド計量可能な特徴ベクトルは、ステップ2920において、第2の公開鍵/プライベート鍵のペアのうちの公開鍵と共に、個々のノード上に格納された複数の台帳2212の間で分散される。
さらに詳述すると、複数の分散型台帳の個々のノードのそれぞれは、ステップ2922において、第2の公開鍵/プライベート鍵のペアのうちの公開鍵を用いて現在のユークリッド計量可能な特徴ベクトルを復号して、そして現在のユークリッド計量可能な特徴ベクトルの有効性を確認するように構成される。さらに、個々のノードはそれぞれ、現在のユークリッド計量可能な特徴ベクトルを用いて、台帳内に格納されたユークリッド計量可能な特徴ベクトルの少なくとも一部の検索を実行するようにさらに構成される。例えば、ステップ2924に示すように、バイオメトリック入力記録を、現在のユークリッド計量可能な特徴ベクトルと台帳の一部における個々のユークリッド計量可能な特徴ベクトルのそれぞれの計算との間で算出された絶対距離の関数として、少なくとも1つのバイオメトリック記録と照合させる。
本明細書において用いる場合、「プロセッサ」又は「コンピュータ」は、ソフトウェアの形態で符号により構成される、所与の命令のセットを実行する1又は複数の電子装置(例えば、半導体ベースのマイクロコントローラ)を指す。例えば、評価サーバ102、データベース108及びリモートアクセス装置104には、例えばMICROSOFT WINDOWS、APPLE OSX、UNIX又はLinux系のオペレーティングシステムの実装である、市販の又はカスタムのオペレーティングシステムを実行する1又は複数の処理又は計算の構成要素が含まれる。他の実装においては、評価サーバ102、データベース108及びリモートアクセス装置104にはそれぞれ、カスタムの又は非標準的なハードウェア、ファームウェア、又はソフトウェア構成が含まれる。例えば、プロセッサ又はコンピュータには、マイクロコンピューティング構成要素、オンチップコンピュータ、フィールドプログラマブルゲートアレイ、グラフィカルプロセッシングユニット、家庭娯楽用コンソール、メディアプレイヤー、セットトップボックス、プロトタイピング装置、又は「ホビー」コンピューティング構成要素の集合のうちの1又は複数が含まれ得る。記載されるこうしたコンピューティング構成要素は、1又は複数のメモリ記憶装置(メモリ)に直接又は間接的に接続されて、マイクロコントローラ構造を形成する。該メモリは、永続性又は非永続性である記憶装置であって、1又は複数のソフトウェアモジュールに加えてプロセッサのためのオペレーティングシステムを格納するように機能する永続的又は非永続的な記憶装置である。1又は複数の実施形態によれば、メモリは、1又は複数の揮発性メモリ及び不揮発性メモリを含むものであり、例えば、リードオンリメモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、電気的消去可能プログラマブルリードオンリメモリ(「EEPROM」)、相変化メモリ(「PCM」)、シングルインラインメモリ(「SIMM」)、デュアルインラインメモリ(「DIMM」)、又は他のメモリタイプが含まれる。こうしたメモリは、当業者にとって公知であるように、当業者に周知である構造及びデータ検索用の他のシステムに加えて、例えばリムーバブルメディアのカード又はモジュール、オブジェクト指向データベース、ハイブリッドリレーショナルオブジェクトデータベース、例えばHADOOP又はMONGODB等のkey-valueデータストアの使用を経る等、固定可能又はリムーバブルであり得る。データベース108は、コンテンツ評価サーバ102に対してローカルであるプロセッサに対して、データベース108内でデータを検索及び格納することをできるようにさせる必要なハードウェア及びソフトウェアを含む。
コンピュータメモリはまた、永続メモリ装置と同様の手法でデータの長期間の記憶を提供する、例えば磁気ディスクもしくは光ディスクのドライブ又はフラッシュメモリ等である二次コンピュータメモリを含み得る。1又は複数の実施形態においては、プロセッサのメモリは、必要な場合にアプリケーションプログラム及びデータファイルの保管を提供する。
記載のプロセッサ又はコンピュータは、例えばJavaScript、PHP、Ruby、Scala、Erlang、C、C++、Objective C、Swift、C#、Java、Assembly、Go、Python、Perl、R、Visual Basic、Lisp、TensorFlow for ML、mClust、又はJulia又はその他のオブジェクト指向の、機能的な、もしくは他のパラダイムベースのプログラミング言語、の標準セット、下位のセット、上位のセット、又は拡張されたセット等である、標準の、カスタムの、権利化されている、又は変形されたプログラミング言語で書かれたコードを実行するように構成される。
特定の一実装においては、プロセッサコンピュータは、サーバ、コンピューティングクラスタ、クラウドプラットフォーム、又はコンピューティングアレイのうちの1又は複数として実装されて、これは例えばモバイルフォン、タブレットコンピュータ、ワークステーション、デスクトップコンピュータ又は他のコンピューティング構成要素等である1又は複数のリモートアクセス装置と、直接又は通信接続を介して、通信及びデータの交換を行うように構成される。
図示する実装において提供するように、コンピュータ及びプロセッサは、そこで実行するコードによって、複数のリモートのデータ記憶位置(例えば、データベース)のひとつから問い合わせのあった電子データを受容し、そして問い合わせられた又はアクセスされたデータを、所定の又は動的なルール、論理、命令又はアルゴリズムに従って評価するように構成される。データベースの物理的構造は、固体メモリ(例えば、ROM)、ハードディスクドライブシステム、RAID、ディスクアレイ、ストレージエリアネットワーク(「SAN」)、ネットワーク接続ストレージ(「NAS」)、及び/又はコンピュータデータを格納するためのその他の好適なシステムとして実現され得る。さらに、データベースは、例えばデータベースキャッシュ及び/又はウェブキャッシュなどのキャッシュを含み得る。プログラム的には、データベースは、当業者に周知である構造及びデータ検索用の他のシステムに加えて、フラットファイルデータストア、リレーショナルデータベース、オブジェクト指向データベース、ハイブリッドリレーショナルオブジェクトデータベース、例えばHADOOP又はMONGODB等のkey-valueデータストアを含み得る。データベースは、当該サーバに対してローカルであるプロセッサに対して、データベース又はデータベース内でデータを検索及び格納することをできるようにさせる必要なハードウェア及びソフトウェアを含む。
本明細書において使用する場合、リモートアクセス装置を用いて、例えば電子メッセージ、データパッケージ、ストリーム又はファイル等であるデータを、ネットワーク上で、1又は複数のローカル又はリモートのコンピュータ又はプロセッサ(例えば、サーバ)と交換する。一実装においては、リモートアクセス装置は、例えば内部ローカルネットワーク等を介して、直接、サーバに接続する。あるいは、リモートアクセス装置は、はじめにインターネットに接続することによってサーバと接続するのに好適なソフトウェア及びハードウェアを伴って構成される。本明細書において使用する場合、リモートアクセス装置は、ネットワークに接続してデータを受信するハードウェア又はソフトウェアモジュールによって構成される汎用の又は特化のコンピューティング装置である。例えば、リモートアクセス装置は、個人の通信装置(スマートフォン、タブレットコンピュータ等)であり得、それは1又は複数のコードモジュールによって、コンテンツを含むデータを、1又は複数のコンピュータ又はプロセッサと交換するように構成される。リモートアクセス装置は、例えば限定するものではないがCDMA、GSM、イーサネット、Wi-Fi、Bluetooth、USB、シリアル通信プロトコル等の有線又は無線の通信手段、及び1又は複数のアクセスポイント、交換、ネットワークノード又はネットワークルータに接続するハードウェアを利用するように構成される。特定の構成においては、リモートアクセス装置はまた、ハードウェア及びソフトウェアモジュールを介して、さらなるリモートサーバ、コンピュータ、周辺機器、又は他のハードウェアに、ローカルもしくはリモートのネットワークを介してもしくはインターネットを介してのいずれかにより標準もしくはカスタムの通信プロトコル及びセッティング(例えば、TCP/IP等)を用いて接続するように構成される。
一実施形態においては、リモートアクセス装置、プロセッサ、及びコンピュータが、例えばMICROSOFT WINDOWS、APPLE OSX、UNIX又はLinux系のオペレーティングシステム実装である、市販の又はカスタムのオペレーティングシステムを実行する。他の実装においては、リモートアクセス装置、プロセッサ、及びコンピュータは、カスタムの又は非標準のハードウェア、ファームウェア又はソフトウェア構成である。リモートアクセス装置、プロセッサ、及びコンピュータは、USB、デジタル入力/出力ピン、eSATA、パラレルポート、シリアルポート、FIREWIRE、Wi-Fi、Bluetooth、又は他の通信インタフェースを用いて1又は複数のリモートネットワークと通信可能である。
本明細書には、多数の特定の実装及び詳細が含有されるが、これらは、任意の構成、配置、実装もしくは実施形態の範囲又は請求され得る範囲に対する限定として解釈されるべきではないが、特定の実装又は1もしくは複数の特定の実施形態に対して特有であり得る特徴の記述として解釈される。別個の実装の文脈で本明細書に記載される或る特徴はまた、1つの構成又は配置において組み合わせて実装することも可能である。反対に、1つの実装の文脈で記載した様々な特徴はまた、多重の構成又は配置で別個に又は任意の好適な下位の組み合わせで、実装することも可能である。さらに、各特徴は、或る組み合わせにおいて機能するとして上記において記述し、さらに最初にそのように記載している可能性もあるが、一部の場合においては、記載した組み合わせのうち1又は複数の特徴を当該組み合わせから除き、そして記載した組み合わせを、下位の組み合わせ又は下位の組み合わせの変形にさせることが可能である。
同様に、オペレーションについて、図面において特定の順序で示しているが、これは、所望の結果を達成するために、当該オペレーションが図示する特定の順序もしくは連続的な順序で実行されること又は説明したオペレーションの全てが実施されることを要求するものであると理解されるべきではない。或る状況においては、マルチタスク及び並行処理が有利となることもある。さらに、上記に記載した実施形態における様々なシステム構成要素の分離について、全ての実施形態においてこうした分離を要求するものであると理解されるべきではなく、また記述するプログラム構成要素及びシステムは、概して、単一のソフトウェア製品内に一緒に統合する又は複数のソフトウェア製品にパッケージすることが可能であるということを理解されたい。
本明細書において用いる用語は、単に特定の実施形態を説明するためのものであり、本発明の限定を意図するものではない。本明細書において用いる場合、単数形「a」、「an」及び「the」は、文脈において別段に明示されていない限り、同様に複数形も含むことを意図する。「含む(comprise)」及び/又は「含むこと(comprising)」の語は、本明細書において使用する場合、記載の特徴、整数、ステップ、オペレーション、要素、及び/又は構成要素の存在を特定するものであるが、1又は複数の他の特徴、整数、ステップ、オペレーション、要素、構成要素及び/又はその群の存在又は付加を除外するものではないことをさらに理解されたい。
ある請求項構成要素を変形する、特許請求の範囲における例えば「第1」、「第2」、「第3」等の序数についての語の使用は、それ自体が、ある方法の動作が実行される別の又は時間的な順序に対する1つの請求項構成要素についての何らかの優先度、順位、又は順序を含意するものではないが、或る名称を有する1つの請求項構成要素をそれと同一の名称を有する別の請求項構成要素と区別して(しかしながら元の語は使用するために)、請求項構成要素同士を区別するために単に標識として用いられるということに留意されたい。また、本明細書において用いる語法及び用語は、説明の目的であり、限定とみなされるべきではない。「含むこと(including)」、「含むこと(comprising)」、又は「有する(having)」、「含有する(containing)」、「関与する(involving)」及びその変化形の本明細書における使用は、その後に列記される項目及びその均等物のみならず、追加的な項目も包含することを意味する。
本明細書に記載する主題の特定の実施形態について記載してきた。添付の特許請求の範囲の範囲内には、他の実施形態が存在する。例えば、各請求項に列挙された動作は、異なる順序で実施してもなお所望の結果を達成することが可能である。一例としては、添付の図面に示すプロセスは、所望の結果を達成するために、必ずしも示した特定の順序又は連続的な順序を要求するわけではない。或る実施形態においては、マルチタスク及び並行処理が有利となることもある。
本願全体にわたって、様々なシステムを表す公開公報及び公知の登録商標に対する参考文献を引用したが、これら開示は、参照により本明細書において援用される。上記のいずれの公開公報又は文書の引用は、先述のうちのいずれについての先行技術としての妥当性を承認することを意図するものでも、それがこれら公開公報又は文書の内容又は日付について何らかの承認を構成するものでもない。本明細書において引用した例えば発行された及び係属中の特許及び特許出願などの全ての参考文献は、あたかも個々の公開公報及び参考文献のそれぞれが具体的に且つ独立に示されて参照によって援用されるのと同程度に、参照により援用される。
本発明は、特にその好ましい実施形態に関して示して記述してきたが、当業者によれば、本発明の趣旨及び範囲を逸脱することなく、それらにおいて形態及び詳細についての様々な変更がなされ得るということが理解されるであろう。このように本発明は、上記において明らかにされる議論によっては規定されないが、後続の各点であって、それら点において列挙される個々の特徴によって、また当該特徴の均等物によって、規定される。
Claims (20)
- 認証システムによりアイデンティティを登録する、コンピュータにより実施される方法であって、当該方法は、
データ通信ネットワーク上のモバイルコンピューティング装置から、初期のバイオメトリックベクトル(IBV(initial biometric vector))の暗号化した暗号シェアの少なくとも1つと、シードを用いて数学的に生成された第1の公開鍵/プライベート鍵のペアのうちの公開鍵とを受信することであって、該少なくとも1つの暗号化された暗号シェアは、第1の公開鍵/プライベート鍵のペアのうちのプライベート鍵を用いて暗号化されているものである、当該受信すること、
少なくとも認可システムの署名と、前記第1の公開鍵/プライベート鍵ペアのうちの公開鍵と、前記少なくとも1つの暗号化された暗号シェアとを含む第1のアイデンティティデータ集合を生成すること、
少なくとも1つのリモートの記憶位置に前記第1のアイデンティティデータ集合を格納すること、
前記第1のアイデンティティデータ集合と関連付けられたアイデンティティ参照値であって、前記第1のアイデンティティデータ集合の記憶位置を解決し、また生成された第1のアイデンティティデータ集合と暗号的に関連付けられるものであるアイデンティティ参照値を生成すること、
個々のノード上に格納された複数の台帳のそれぞれの間で、少なくとも前記アイデンティティ参照値を含む取引記録を分散すること、
前記モバイルコンピューティング装置に対して、少なくとも前記アイデンティティ参照値を提供することを含む、方法。 - 受信されたIBVの暗号シェアは、前記初期のバイオメトリックベクトルを、前記初期のバイオメトリックベクトルをユークリッド計量可能な特徴ベクトルに変換するものであるニューラルネットワークに提供することと、第1の公開鍵/プライベート鍵のペアのうちの前記プライベート鍵を用いてユークリッド計量可能な特徴ベクトルを暗号化することとによって生成される、請求項1記載の方法。
- IBVは、Shamirの秘密分散法のアルゴリズムを用いて視覚的に暗号化される、請求項1記載の方法。
- ユーザに対して、リソースプロバイダへのアクセスを提供するシステムであって、
メモリを有するプロセッサであって、1又は複数のモジュールによって、
データ通信ネットワーク上のモバイルコンピューティング装置から、少なくとも、
第1のアイデンティティデータ集合と関連付けられており、該第1のアイデンティティデータ集合の記憶位置を解決して前記第1のアイデンティティデータ集合と暗号的に関連付けられており、前記第1のアイデンティティデータ集合は、少なくとも、認可システムの特定データ値と、シードを用いて数学的に生成された登録公開鍵/プライベート鍵のペアのうちの公開鍵と、アクセスをリクエストするユーザの初期のバイオメトリックベクトルのリモートの暗号化された暗号シェアの少なくとも1つとを含むものである前記アイデンティティ参照値、
認可システムの署名値、
前記登録公開/プライベート鍵のペアのうちの公開鍵、を受信し、
個々のノード上に格納された複数の台帳の間で、少なくとも前記アイデンティティ参照値を含む取引記録の位置を特定し、
位置を特定した取引記録から、対応する第1のアイデンティティデータ集合の記憶位置を決定し、
暗号的に関連付けられた第1のアイデンティティデータ集合にアクセスし、
前記第1のアイデンティティデータ集合の前記認可システムの署名値と、登録公開鍵とを検証し、
前記モバイルコンピューティング装置から、現在のバイオメトリックベクトルと、ローカルの暗号化されたバイオメトリック暗号シェアとを受信し、
前記登録公開鍵/プライベート鍵のペアのうちの公開鍵を用いて、受信されたローカルの暗号化された暗号シェアと、リモートの暗号化された暗号シェアとを復号し、
復号したローカルの暗号シェアと、復号した格納された暗号シェアを組み合わせて、合わせた暗号ベクトルを形成し、
前記合わせた暗号ベクトルを現在のバイオメトリックベクトルと比較するように構成されたプロセッサを含み、
前記合わせた暗号ベクトルが、現在のバイオメトリックベクトルと一致する場合、リソースプロバイダに対して、ユーザに対してリソースへのアクセスを提供するようにさせる、システム。 - 前記合わせた暗号ベクトルを現在のバイオメトリックベクトルと比較することは、
前記合わせた暗号ベクトル及び現在のバイオメトリックベクトルを、前記合わせた暗号べクトル及び現在のバイオメトリックベクトルをそれぞれのユークリッド計量可能な特徴ベクトルに変えるニューラルネットワークに提供することを含む、請求項4記載のシステム。 - 前記合わせた暗号ベクトルを、前記合わせた暗号ベクトルのそれぞれのユークリッド計量可能な特徴ベクトルと、現在のバイオメトリックベクトルのそれぞれのユークリッド計量可能な特徴ベクトルのそれぞれの計算との間で算出された絶対距離の関数として、現在のバイオメトリックベクトルと照合させる、請求項5記載のシステム。
- 前記プロセッサは、
ユークリッド計量可能な特徴ベクトルを分類し、及び/又は
現在のユークリッド計量可能な特徴ベクトルを分類するようにさらに構成されており、
当該分類は、1又は複数の距離関数を少なくとも一部用いて実施される、請求項5記載のシステム。 - ユークリッド計量可能な特徴及び/又は現在のユークリッド計量可能な特徴ベクトルを分類することにより、浮動小数点値が生じ、そしてフロベニウスアルゴリズムを利用して、それぞれの浮動小数点とその平均との間の絶対距離が算出される、請求項7記載のシステム。
- 検索は、オーダlog(n)の時間で行われる、請求項7記載のシステム。
- 前記プロセッサは、
フロベニウスアルゴリズムを使用して、ユークリッド計量可能なバイオメトリックベクトルを分類し、
当該分類されたユークリッド計量可能なバイオメトリックベクトルの階層をオーダlog(n)の時間で走査し、
個々のユークリッド計量可能なバイオメトリックベクトルが現在のユークリッド計量可能な特徴ベクトルであることを特定するようにさらに構成される、請求項7記載のシステム。 - 前記プロセッサは、
個々のユークリッド計量可能なバイオメトリックベクトル毎に、複数の浮動小数点値を特定し、
ビットマップを使用して、全てのベクトル内に存在しない複数の値のうちのいずれかを、絶対距離の計算から除外するようにさらに構成される、請求項5記載のシステム。 - 前記プロセッサは、
個々のユークリッド計量可能なバイオメトリックベクトル毎に、複数の浮動小数点値を特定し、
浮動小数点値の各1つが現れているベクトルの数に基づいて、重要性についてのスライディングスケールを規定するようにさらに構成される、請求項5記載のシステム。 - ニューラルネットワークは、正規化線形層(rectifier)(ReLU)及びプーリングノードと一緒に、種々の畳み込み層を伴って構成される、請求項5記載のシステム。
- ニューラルネットワークは、非線形のダウンサンプリングの形態としてプーリングを用いるように構成され、
またさらに、1又は複数のプーリングノードは、示されたユークリッド計量可能な特徴ベクトルの空間的な大きさを次第に減少させて、ニューラルネットワークにおけるパラメータ及び計算の量を減少させる、請求項5記載のシステム。 - 前記プロセッサは、
複数の格納されたユークリッド計量可能な特徴ベクトルのそれぞれに関して、平均の顔ベクトルと、個々のユークリッド計量可能な特徴ベクトルとの間の相対的な位置の差を算出し、
前記相対的な位置の差を2乗して、
その値を合計して、
その平方根を計算するようにさらに構成される、請求項14記載の方法。 - ニューラルネットワークの性能は、費用関数の関数として決定され、ここで出力量の空間的な大きさとして与えられる層の数は、入力量の大きさW、層ニューロンのカーネルフィールドの大きさK、層に適用されるストライドS、及び境界上で用いられるゼロ詰めの量Pの関数として算出される、請求項5記載のシステム。
- ニューラルネットワークは、初期のバイオメトリック、現在のバイオメトリックベクトルを、個々の層毎の行列の乗算の関数として変換して、ユークリッド費用関数に基づいてユークリッド距離アルゴリズムを使用する、請求項5記載のシステム。
- バイオメトリック入力記録を複数の分散型台帳に格納されるバイオメトリック記録と照合させる、コンピュータにより実施される方法であって、当該方法は、
初期のバイオメトリックベクトルを、初期のバイオメトリックベクトルをユークリッド計量可能な特徴ベクトルに変えるニューラルネットワークに提供すること、
ユークリッド計量可能な特徴ベクトルを、第1の公開鍵/プライベート鍵のペアのうちのプライベート鍵を用いてデジタル署名すること、
ユークリッド計量可能な特徴ベクトルを、第1の公開鍵/プライベート鍵のペアのうちの公開鍵を用いて暗号化すること、
個々のノード上に格納された複数の台帳の間で、少なくとも、暗号化されたユークリッド計量可能な特徴ベクトル及び第1の公開鍵/プライベート鍵のペアのうちの公開鍵を分散することであって、個々のノードのそれぞれは、
ユークリッド計量可能な特徴ベクトルを、第1の公開鍵/プライベート鍵のペアのうちの公開鍵を用いて暗号化し、
ユークリッド計量可能な特徴ベクトルの有効性を確認し、そして
ユークリッド計量可能な特徴ベクトルを、ノードのそれぞれの台帳に付加するものである、当該分散すること、
データ通信ネットワーク上のモバイルコンピューティング装置から、暗号化されたバイオメトリック入力記録を表す現在のバイオメトリックベクトルを受信すること、
現在のバイオメトリックベクトルを、現在のバイオメトリックベクトルを現在のユークリッド計量可能な特徴ベクトルに変えるニューラルネットワークに提供すること、
現在のユークリッド計量可能な特徴ベクトルを、第2の公開鍵/プライベート鍵のペアのうちのプライベート鍵を用いてデジタル署名すること、
現在のユークリッド計量可能な特徴ベクトルを、第2の公開鍵/プライベート鍵のペアのうちの公開鍵を用いて暗号化すること、
個々のノード上に格納された複数の台帳の間で、少なくとも、現在のユークリッド計量可能な特徴ベクトル及び第2の公開鍵/プライベート鍵のペアのうちの公開鍵を分散することであって、個々のノードのそれぞれは、
現在のユークリッド計量可能な特徴ベクトルを、第2の公開鍵/プライベート鍵のペアのうちの公開鍵を用いて復号し、
現在のユークリッド計量可能な特徴ベクトルの有効性を確認し、そして
現在のユークリッド計量可能な特徴ベクトルを用いて台帳内に格納されたユークリッド計量可能な特徴ベクトルの少なくとも一部の検索を実施するものである、当該分散することを含み、
バイオメトリック入力記録を、現在のユークリッド計量可能な特徴ベクトルと台帳の一部における個々のユークリッド計量可能な特徴ベクトルのそれぞれの計算との間で算出された絶対距離の関数として、少なくとも1つのバイオメトリック記録と照合させる、方法。 - ユークリッド計量可能な特徴ベクトルは、第1の公開鍵/プライベート鍵のペアのうちのプライベート鍵を用いてユークリッド計量可能な特徴ベクトルを復号することと、各ノードにおけるユークリッド計量可能な特徴ベクトルを復号されたユークリッド計量可能な特徴ベクトルと比較することによって生じるユークリッド計量可能な特徴ベクトルの改変がないことを検証することとの機能として有効性が確認される、請求項18記載の方法。
- ユークリッド計量可能な特徴ベクトルを署名することは、
ユークリッド計量可能な特徴ベクトルと関連付けられたハッシュ値を生成すること、
第1の公開鍵/プライベート鍵のペアのうちのプライベート鍵を用いてハッシュ値を暗号化することを含み、
前記ハッシュ値は、第1の公開鍵/プライベート鍵のペアのうちの公開鍵を用いて個々のノードのそれぞれによって復号されて、そして第1の公開鍵/プライベート鍵のペアのうちのプライベート鍵を用いて復号されたハッシュ値と比較される、請求項18記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/520,191 | 2019-07-23 | ||
US16/520,191 US11329980B2 (en) | 2015-08-21 | 2019-07-23 | System and method for biometric protocol standards |
PCT/US2020/043001 WO2021016311A1 (en) | 2019-07-23 | 2020-07-22 | System and method for biometric protocol standards |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022541919A true JP2022541919A (ja) | 2022-09-28 |
Family
ID=74194266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022504069A Pending JP2022541919A (ja) | 2019-07-23 | 2020-07-22 | バイオメトリックプロトコル標準に関するシステム及び方法 |
Country Status (9)
Country | Link |
---|---|
EP (1) | EP4004674A4 (ja) |
JP (1) | JP2022541919A (ja) |
KR (1) | KR20220038115A (ja) |
CN (1) | CN114175079A (ja) |
AU (1) | AU2020316421A1 (ja) |
BR (1) | BR112022000940A2 (ja) |
CA (1) | CA3146366A1 (ja) |
MX (1) | MX2022000866A (ja) |
WO (1) | WO2021016311A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11790334B1 (en) * | 2022-06-03 | 2023-10-17 | Block, Inc. | Blockchain supported resource transfer communication protocol |
CN117237115B (zh) * | 2023-11-15 | 2024-02-23 | 四川绿豆芽信息技术有限公司 | 一种碳排放交易的加密方法及系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8165303B1 (en) * | 2007-05-03 | 2012-04-24 | Adobe Systems Incorporated | Method and apparatus for public key cryptography |
US9485096B2 (en) * | 2013-02-06 | 2016-11-01 | Apurva Shrivastava | Encryption / decryption of data with non-persistent, non-shared passkey |
US9838388B2 (en) * | 2014-08-26 | 2017-12-05 | Veridium Ip Limited | System and method for biometric protocol standards |
WO2017035085A1 (en) * | 2015-08-21 | 2017-03-02 | Veridium Ip Limited | System and method for biometric protocol standards |
US10255040B2 (en) * | 2017-05-11 | 2019-04-09 | Veridium Ip Limited | System and method for biometric identification |
US9985964B2 (en) * | 2016-03-28 | 2018-05-29 | Black Gold Coin, Inc. | Systems and methods for providing block chain-based multifactor personal identity verification |
US10296764B1 (en) * | 2016-11-18 | 2019-05-21 | Amazon Technologies, Inc. | Verifiable cryptographically secured ledgers for human resource systems |
US10592685B2 (en) * | 2017-04-27 | 2020-03-17 | Google Llc | Encrypted search cloud service with cryptographic sharing |
-
2020
- 2020-07-22 CN CN202080053314.1A patent/CN114175079A/zh active Pending
- 2020-07-22 EP EP20843870.5A patent/EP4004674A4/en active Pending
- 2020-07-22 JP JP2022504069A patent/JP2022541919A/ja active Pending
- 2020-07-22 BR BR112022000940A patent/BR112022000940A2/pt unknown
- 2020-07-22 WO PCT/US2020/043001 patent/WO2021016311A1/en unknown
- 2020-07-22 MX MX2022000866A patent/MX2022000866A/es unknown
- 2020-07-22 KR KR1020227005661A patent/KR20220038115A/ko active Search and Examination
- 2020-07-22 AU AU2020316421A patent/AU2020316421A1/en active Pending
- 2020-07-22 CA CA3146366A patent/CA3146366A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
CA3146366A1 (en) | 2021-01-28 |
EP4004674A1 (en) | 2022-06-01 |
BR112022000940A2 (pt) | 2022-03-08 |
WO2021016311A1 (en) | 2021-01-28 |
AU2020316421A1 (en) | 2022-02-24 |
EP4004674A4 (en) | 2024-01-24 |
KR20220038115A (ko) | 2022-03-25 |
MX2022000866A (es) | 2022-02-10 |
CN114175079A (zh) | 2022-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11329980B2 (en) | System and method for biometric protocol standards | |
US10536454B2 (en) | System and method for biometric protocol standards | |
US10880089B2 (en) | Methods and systems for universal storage and access to user-owned credentials for trans-institutional digital authentication | |
JP6606156B2 (ja) | データセキュリティサービス | |
Bhatia et al. | Data security in mobile cloud computing paradigm: a survey, taxonomy and open research issues | |
KR102549337B1 (ko) | 생체인식 프로토콜 표준을 위한 시스템 및 방법 | |
US11095646B2 (en) | Method and system for data security within independent computer systems and digital networks | |
US20220405765A1 (en) | Know your customer (kyc) and anti-money laundering (aml) verification in a multi-decentralized private blockchains network | |
Ziyad et al. | Critical review of authentication mechanisms in cloud computing | |
JP2022541919A (ja) | バイオメトリックプロトコル標準に関するシステム及び方法 | |
Khan et al. | A brief review on cloud computing authentication frameworks | |
Othman et al. | A protocol for decentralized biometric-based self-sovereign identity ecosystem | |
US20220263818A1 (en) | Using a service worker to present a third-party cryptographic credential | |
Othman et al. | The Horcrux Protocol: A Distributed Mobile Biometric Self-sovereign Identity Protocol | |
US20240121098A1 (en) | Scalable Authentication System with Synthesized Signed Challenge | |
Schaffer | Ontology for authentication | |
Singh | A secure and reliable authentication mechanism for users of microsoft cardspace framework | |
Albahdal | Toward secure, trusted, and privacy-enhanced biometrics in the cloud | |
Agha et al. | SSO BASED FINGERPRINT AUTHENTICATION OF CLOUD SERVICES FOR ORGANIZATIONS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230720 |