CN114175079A - 用于生物识别协议标准的系统和方法 - Google Patents
用于生物识别协议标准的系统和方法 Download PDFInfo
- Publication number
- CN114175079A CN114175079A CN202080053314.1A CN202080053314A CN114175079A CN 114175079 A CN114175079 A CN 114175079A CN 202080053314 A CN202080053314 A CN 202080053314A CN 114175079 A CN114175079 A CN 114175079A
- Authority
- CN
- China
- Prior art keywords
- vector
- biometric
- public
- server
- bops
- 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
在用户计算设备与服务器计算设备之间提供安全通信。从经由分布式客户端软件应用配置的用户计算设备接收登记请求并且对其进行处理。所述登记请求可用于将所述用户计算设备登记在网络中,并且包括与用户相关联的加密部分初始生物特征矢量。处理随后接收的认证请求,所述认证请求包括加密部分第二生物特征矢量并且与所述用户计算设备的用户相关联。执行所述加密部分初始生物特征矢量与所述加密部分第二生物特征矢量的比较,并且生成表示所述比较的值并将其传输到所述用户计算设备。在所述值高于最小阈值的情况下,认证所述用户计算设备。
Description
相关申请的交叉引用
本专利申请是2017年11月1日提交的名称为“用于生物识别协议标准的系统和方法(SYSTEM AND METHOD FOR BIOMETRIC PROTOCOL STANDARDS)”的美国专利申请序列号15/800,748的部分继续申请,并且是基于该申请并要求其优先权,该申请基于2016年8月22日提交的美国专利申请序列号15/243,411(现为专利9,838,388)并要求其优先权,美国专利申请序列号15/243,411要求2015年8月21日提交的名称为“用于生物识别协议标准的系统和方法(SYSTEM AND METHOD FOR BIOMETRIC PROTOCOL STANDARDS)”的美国专利申请序列号62/208,328的优先权,并要求2015年10月14日提交的美国专利申请序列号62/241,392的优先权,并且本申请是2019年4月8日提交的美国专利申请序列号16/378,044的部分继续申请,该申请要求2017年5月11日提交的美国专利申请号15/592,542(现为美国专利号10,255,040)的优先权,上述每个申请在此以引用方式并入本文,如同在本文中阐述了这些申请的相应全部内容。
技术领域
本发明总体上涉及安全性,并且更具体地,涉及用于识别或认证用户的系统和方法。
背景技术
所有种类的信息一直被远程地存储和访问在诸如通过数据通信网络可访问的存储设备上。例如,许多人和公司通过互联网或其他通信网络存储和访问财务信息、健康和医疗信息、商品和服务信息、购买信息、娱乐信息、多媒体信息。除了访问信息之外,用户还可使用被禁止身份(proscribed identity)进行货币转账(例如,购买、转账、销售等)。在典型的场景中,用户进行注册以用于访问信息,然后提交用户名和密码以“登录”并访问信息。确保对存储在数据/通信网络上的此类信息和数据的访问(以及从此类信息和数据的访问)仍然是首要问题。
此外,大多数用户认证方法和身份证明系统依赖于集中式数据库。从安全角度看,这种信息存储存在单点妥协(single point of compromise)。如果该系统受到损害,则它对用户的数字身份构成直接威胁。
因此,本领域中需要的是克服这种用户身份系统中固有的安全漏洞的系统、方法和计算机实现的方法。
发明内容
本文描述的系统、方法和计算机产品涉及用户认证,其中不存在用户身份的这种单点妥协。例如,提供了一种用于向认证系统注册身份的计算机实现方法。所述方法包括通过数据通信网络从移动计算设备接收初始生物特征矢量(IBV)的至少一个加密密码份额(encriypted cryptographic share)和使用种子以数学方式生成的第一公钥/私钥对的公钥,所述至少一个加密密码份额已经使用所述第一公钥/私钥对的私钥进行加密。所描述的方法还包括以下步骤:生成第一身份数据集,所述第一身份数据集至少包括授权系统签名、所述第一公钥/私钥对的公钥和至少一个加密密码份额,其中所述签名是数字签名,并且将所述第一身份数据集存储在至少一个远程存储位置。在一个或多个另外的实施例中,所描述的方法包括以下步骤:生成与所述第一身份数据集相关联的身份参考值,其中所述身份参考值解析(resolve)所述第一身份数据集的存储位置并且与所生成的第一身份数据集以密码的方式相关联。作为另外的示例,所描述的方法还包括:在存储在相应节点上的多个账本中的每一个之间分配至少包括所述身份参考值的事务记录;以及向所述移动计算设备至少提供所述身份参考值。
在本申请的一个或多个另外的实施例中,一种用于向用户提供对资源提供方的访问的系统包括处理器,所述处理器具有存储器并且由一个或多个模块配置以通过数据通信网络从移动计算设备至少接收与第一身份数据集相关联的身份参考值,其中所述身份参考值解析所述第一身份数据集的存储位置并且与所述第一身份数据集以密码的方式相关联,所述第一身份数据集至少包括授权系统特定数据值、使用种子以数学方式生成的登记公钥/私钥对的公钥和用户请求访问的初始生物特征矢量的至少一个远程加密密码份额。所述系统的所述处理器还被配置为接收授权系统签名值和所述登记公钥/私钥对的公钥,其中所述签名是数字签名。使用所接收的数据,所述系统被配置为:在存储在相应节点上的多个账本中定位至少包括所述身份参考值的事务记录;以及从所定位的事务记录确定对应的第一身份数据集的存储位置。在特定的实施例中,所述系统还包括处理器,所述处理器被配置为:访问以密码的方式相关联的第一身份数据集;以及验证所述第一身份数据集的授权系统签名值和登记公钥。在另外的实施例中,所述系统的所述处理器被配置为:从所述移动计算设备接收当前生物特征矢量和本地加密生物特征密码份额;以及使用登记公钥/私钥对的公钥针对所接收的本地加密密码份额和远程加密密码份额进行解密。这里,所描述的系统的处理器能够将解密的本地密码份额和解密的存储的密码份额组合以形成组合的密码矢量并且将所述组合的密码矢量与所述当前生物特征矢量进行比较。在所述组合的密码矢量与所述当前生物特征矢量匹配的情况下,所描述的系统的处理器能够使得所述资源提供方向所述用户提供对资源的访问。
在本申请的一个或多个实施例中,在用户计算设备与服务器计算设备之间提供安全通信。从通过分布式客户端软件应用配置的用户计算设备接收登记请求并且对其进行处理。所述登记请求可用于将所述用户计算设备登记在网络中并且包括与用户相关联的加密部分初始生物特征矢量。处理随后接收的认证请求,所述认证请求包括加密部分第二生物特征矢量并且与所述用户计算设备的用户相关联。执行所述加密部分初始生物特征矢量与所述加密部分第二生物特征矢量的比较,并且生成表示所述比较的值并将其传输到所述用户计算设备。在所述值高于最小阈值的情况下,认证所述用户计算设备。
在一个或多个实施例中,在用户计算设备与服务器计算设备之间提供安全通信。处理从通过分布式客户端软件应用配置的用户计算设备接收的登记请求。所述登记请求可用于将所述用户计算设备登记在网络中并且包括与用户相关联的第一生物特征矢量的第一部分。存储所述第一生物特征矢量的第一部分,并且处理随后接收的认证请求,所述认证请求包括第二生物特征矢量、以及所述第一生物特征矢量的第二部分。组合第一部分和第二部分并且与所述第二生物特征矢量进行比较。生成表示所述比较的值并且将其传输到所述用户计算设备。在所述值高于最小阈值的情况下,认证所述用户计算设备。
在一个或多个实施例中,提供被包括在所述登记请求和所述认证请求中的证书,其中处理认证请求包括确定所述证书是当前的并且未撤销。
在一个或多个实施例中,提供入侵检测系统,所述入侵检测系统提供主动监测并防止对所述证书的伪造(spoofing),包括重播(replaying)所述证书。
在一个或多个实施例中,处理认证请求包括根据单向加密在加密空间中执行至少一个匹配操作。可使用随机单向填充执行所述单向加密。
在一个或多个实施例中,由针对访问数字资产的一个或多个规则提供和定义角色采集(role gathering),并且所述服务器计算设备根据所述角色采集提供或拒绝所述用户计算设备对所述数字资产的访问。可根据任意访问控制和强制访问控制中的至少一种提供访问。
在一个或多个实施例中,所述服务器计算设备处理从通过分布式客户端软件应用配置的所述用户计算设备接收的第二登记请求。所述第二登记请求可用于将所述用户计算设备的第二用户登记在所述网络中,并且所述第二登记请求包括与所述用户计算设备的用户相关联的第二加密部分初始生物特征矢量(“IBV”)。处理第二登记请求包括将所述第二加密部分IBV存储在可由服务器计算设备访问或作为服务器计算设备的一部分的非暂时性处理器可读介质上。
在一个或多个实施例中,所述服务器计算设备可撤销用户的登记。
从以下参考附图对本发明的描述中,本发明的其他特征和优点将变得显而易见。
附图说明
在结合附图阅读以下描述的本公开的各种实施例的详细描述后,将更容易地了解本公开的其他方面,其中:
图1是示出具有本申请的一个或多个实施例的多个设备和部件的框图;
图2至图6示出了结合示例BOPS实现方式的设备和它们之间的信息流;
图7A示出了根据一个或多个实施例的、与特别地强调数据保密性的示例登记过程相关联的设备和步骤;
图7B示出了根据本申请的在用户界面中提供的示例管理控制台;
图8示出了结合登记过程的概览,包括数据的访问和交换;
图9示出了根据本申请的一个或多个实施例的安全架构的部件;
图10A和图10B示出了根据本申请的一个或多个实施例的、与两个相应的且替代性的登记过程相关联的设备和步骤;
图11是示出根据本申请的、与创始(Genesis)过程的不同级别相关联的可能的要求和示例的框图;
图12示出了在登记和认证过程期间与初始生物特征矢量相关联的示例信息流;
图13示出了结合本申请实现的视觉密码(VC)示例;
图14示出了结合示例BOPS实现方式在视觉密码方案(VCS)中两个份额(2,2)的示例叠加,在该VCS中,每个位都加密成份额;
图15示出了根据本申请的角色层级的实例;
图16是示出根据示例实施例的、结合重播预防的设备和传输流的框图;
图17是示出根据示例实施例的、与令牌相关联的步骤的高级流程;
图18示出了在多对多关系中的结合创始过程的示例设备和特征;
图19A描绘了在单个客户端设备上发起示例登记过程的多个用户;
图19B示出了一个示例用户从存储关于多个用户账户的信息的客户端设备发起认证会话;
图19C示出了与用户的账户的撤销相关联的示例步骤;
图20A是示出与在客户端设备与BOPS服务器之间的客户端证书的发起、检验和确认相关联的步骤的简化图;
图20B示出了结合第三方服务器和BOPS服务器的示例客户端证书注册;
图21示出了根据本申请的示例实施例的示例QR码认证流程;
图22展示结合使用分布式账本和身份中心(identity hub)的认证过程的示例性设备和特征;
图23是描绘在登记和资源访问过程中在用户与认证提供方之间的设备和连接的框图;
图24是示出用户从存储用于认证目的的信息的客户端设备发起认证会话的一个示例的流程图;
图25是展示与向身份提供方登记用户相关联的步骤的简化图;
图26是示出用户使用认证检验器取得对资源的访问的一个示例的流程图
图27A是展示与用身份检验器检验用户身份相关联的步骤的简化图;
图27B是展示与用身份检验器检验用户身份相关联的步骤的图27A的简化图的变型;
图28是展示与用身份检验器检验用户身份相关联的步骤的替代的简化图;以及
图29是展示与用本文描述的身份检验器系统检验用户身份的一个实施例相关联的步骤的流程图。
具体实施方式
作为概览和介绍,本文描述的系统、方法、过程和计算机产品涉及和利用分散式生物特征凭据存储,以用于使用分布式账本(例如,区块链)的身份的数字表示。当前,在用户识别的技术领域中,用户被迫将个人信息(诸如信用历史)、凭据(诸如出生证明)或生物特征数据(诸如指纹模板)让渡给具有集中式数据库的第三方,该第三方是作为对传统的身份证明系统的替代正在通过若干项目实现的用于私有且安全的身份管理的新分散式生态系统。为了克服在各种网络(例如,互联网)中使用识别所固有的该问题,本文描述了使得最终用户而不是传统集中式组织能够在通过网络建立或进行交换时建立对用户身份数据的控制的各种方法。
根据本专利申请的一个或多个实施例,提供在本文中一般称为生物特征开放协议标准(“BOPS”)的一组新标准,该组新标准在与用户控制的认证系统组合时允许用于认证用户的框架,其中用户的身份信息由用户担保而不是通过集中式授权担保。一个或多个BOPS实现方式可提供用于身份断言、角色采集、多级别访问控制、保证和审计的一个或多个模块。
图1示出了示例硬件布置100并且显示了结合一个或多个BOPS实现方式的数据通信。布置100可包括配置多个计算设备(例如,客户端设备(例如,智能电话或移动设备)104、服务器计算设备(在本文中一般被称为“BOPS服务器”)102、第三方服务器106、以及可包括多个计算设备112的入侵检测系统(“IDS”))的一个或多个软件应用以支持和实现本文中示出和描述的功能。此外,BOPS服务器102可与健康监测设备108和分析引擎设备110进行通信或连接到该健康监测设备和分析引擎设备。设备108和110都可被配置作为BOPS服务器102的一部分,或者可以是单独的设备。
以下是本文提到的缩写词和首字母缩写词的非限制性列表:admin=管理员;AOP=面向方面的编程;API=应用编程接口;AWS=亚马逊Web服务;appa=客户端应用;BOPS=生物特征开放协议标准;CPU=中央处理单元;CBV=当前生物特征标识符;CSRF=跨站请求伪造;ID=标识符;IDS=入侵检测系统;IBV=初始生物特征矢量;IP=互联网协议;JSON=JavaScript对象表示法;LDAP=轻量级目录访问协议;MAC=强制访问控制;MCA=移动客户端应用;NSA=国家安全局(美国);QR码=快速响应码;RDBMS=关系数据库管理系统;REST=表示状态转移;SSL=安全套接字层;TCSEC=可信计算机系统评估准则;TLS=传输层安全;URL=统一资源标识符;XNTP=扩展网络时间协议;XOR=“异或”二进制运算;1:M=一对多;4F=四根手指,一种专有的生物特征技术;5元组=五元组数据参数。
本申请的优点在于一个或多个相应的BOPS实现方式可包括用于提供功能并且可与企业的现有部件一起工作或替代企业的现有部件的部件,从而在相对非常短的时间段内提供与当前操作环境的集成。此外,一个或多个相应的BOPS实现方式提供连续的形式保护,用于例如判断对敏感和私有资源的访问。可至少部分地根据支持以“点-剪(point-and-cut)”机制的形式的实现方式的一个或多个应用接口(API),在满足或超过可接受目标的BOPS实现方式中提供服务级安全性以向生产系统以及开发中的系统添加适当的安全性。
一个或多个BOPS实现方式可包括BOPS服务器102,该BOPS服务器可通过一个或多个数据通信网络从客户端设备104接收生物特征矢量(在本文中通常被称为初始生物特征矢量(“IBV”)),并且根据算法将该矢量划分为与标识相关联的多个部分。无论块的数目如何,都可对IBV进行加密(包括以无密钥方式进行加密),并且随后的生物特征学匹配过程可任选地在客户端设备104上或在服务器102上发生,例如,按照管理参数所表示的。
一个或多个BOPS实现方式可在各种在线环境中实现,诸如在公共云(例如,亚马逊Web服务)上或在私有云中。
根据本文所示出和描述的设备组织结构和功能,可提供用户认证来代替授权,并且以使得服务器以不保留客户端信息而非保持足够量的信息的方式来实现对不同用户的识别。根据一个或多个BOPS实现方式的安全性考虑的成分可包括身份断言、角色采集、访问控制、审计、和保证。因此,一个或多个BOPS实现方式主要考虑端到端生物特征解决方案中的服务器侧部件。
关于身份断言,一个或多个BOPS实现方式可提供对资源的连续保护,并确保判断和其他关键特征的放置和可行性。一个或多个BOPS实现方式还可有助于身份断言,以帮助确认署名用户是他们自称的人,而不直接依赖人类生物特征。本文所示出和描述的标准包括可互操作的标准,其可实际上包含任何身份断言方或与同一署名用户相关联的多个不同断言方。IDS的应用(例如,通过客户端设备112)可提供主动监视以帮助防止欺骗一组证书和/或将被确定已经或正在尝试进行一次或多次恶意尝试的主体或设备列入黑名单。
此外,根据例如基于由已知系统定义和/或实施的规则的数据保密性和特权访问来支持角色采集。例如,为了确定是否允许特定模式的访问,可将与相应角色相关联的特定特权与群组的分类进行比较。对象的结构可通过访问控制来定义,角色采集可在系统等级或通过客户端/服务器调用进行。例如,BOPS服务器102可存储角色采集信息以将唯一用户与唯一设备104相关联。访问控制可包括实现在计算设备上执行的一个或多个模块,该模块确定给定主体(例如,人员、设备、或服务(例如,软件程序))被授权访问和/或采取动作(例如,读取、写入、执行、或删除给定对象)。
一般地讲,访问控制可以是随意的,并且还可或者可替代地包括可更细粒度的强制访问控制。例如,自主访问控制根据署名用户或署名对象(例如,文件和程序)来考虑控制对一个或多个对象的访问。例如,判断机制可以是基于角色的,并且允许用户和管理员指定和控制署名个体和/或所定义的个体群组对对象的共享。在一个或多个实施例中,自主访问控制机制提供了:防止跨单个对象或对象群组在群组或个体级别上对对象的未经授权的访问。因此,与自主访问相关的粒度的范围可从个体到群组。
一个或多个BOPS实现方式可对在相应实现方式内的受控制的所有主体和存储对象(例如,进程、文件、段、设备)上实施强制访问控制策略。可为这些主体和对象分配敏感标签,这些标签可以是层级分类级别和非层级类别的组合。这些标签在判断中可用作强制访问控制决定的基础。例如,在客户端设备104上执行的软件使得该设备维护标签或使BOPS服务器102维护该数据以强制遵守对主体和对象的标注。BOPS服务器102可维护可信存储装置作为BOPS实现方式的部件。本文所使用的可信存储通常指以安全的方式存储数据,使得访问控制(DAC或MAC)确保主体接收到正确的对象,并且还确保不可否认性和保密性。
以下标识在一个或多个示例BOPS实现方式中支持的访问控制规则和选项。只有在主体的安全级别中的层级分类大于或等于对象的安全级别中的层级分类的情况下,才可向主体提供读取对象的访问。主体安全级别中的一个或多个非层级类别可包括对象安全级别中的所有非层级类别。只有当主体的安全级别中的层级分类小于或等于对象的安全级别中的层级分类并且主体的安全级别中的所有非层级类别被包括在对象的安全级别中的非层级类别中时,主体才可写入和/或执行对象。识别和认证数据可由BOPS服务器设备102使用以认证用户的身份并确保在BOPS实现方式外部的可被创建为代表个人用户行事的主体的安全级别和授权由该用户的许可(clearance)和授权控制。
本申请进行操作以增加责任,包括根据提供审计和检验安全模型是可操作的一个或多个模块,其在本文中通常被称为保证(assurance)。在不太可能的情况下,BOPS实现方式中的计算设备受到损害,这样的(一个或多个)模块排除了受损系统未被检测到的情况。例如,在BOPS实现方式中,可在主体/对象级别或在群组级别支持审计请求,包括本领域已知的根据面向方面编程。这增加了调用被安全写入审计跟踪的可能性。此外,RESTful web服务和JavaScript对象表示法(JSON)的接口可提供一种读取审计跟踪的机制。审计可在每个动作的主体、每个动作的对象、或每个动作的群组处发生。例如,可通过特定名称(例如“会计”)来指定一组用户,并且可审计对总账的所有写入。此外,可向个人(例如,首席财务官)提供用于读取损益表的审计信息。
一组JUnit测试中的一个或多个JUnit测试可在一个或多个BOPS实现方式中用于测试和监测边界条件,其可包括测试系统内的边界部件和条件。在一个或多个BOPS实现方式中,安全规定可至少部分地根据(一个或多个)API来满足。对API的使用排除了识别和/或定制BOPS实现方式以符合底层系统(例如,关系数据库管理系统、搜索引擎、或几乎任何其他架构)的需要。由相应BOPS实现方式提供的功能可提供“点-剪”机制,为生产中的系统以及开发中的系统添加适当的安全性。此外,一个或多个BOPS实现方式的架构与语言无关,支持例如REST、JSON、和SSL以提供通信接口。在一个或多个实施例中,架构是基于伺服小程序(servlet)规范、开放SSL、Java、JSON、REST、和持久存储装置来构建的。工具可遵守开放标准,从而允许设备的最大互操作性,如图1所示。
在一个或多个BOPS实现方式中,提供身份断言、角色采集、多级访问控制、审计、和保证。这些可根据至少一个特别配置的客户端设备104(例如,智能电话或移动设备)、BOPS服务器102、和包括(一个或多个)设备112的入侵检测系统(IDS)的组合来实现。在一个或多个实施例中,客户端设备104执行应用并加载用于建立与BOPS服务器102的安全和初始通信会话的一次性双向安全套接字层(“SSL”)/传输层安全性(“TLS”)密钥。一次性密钥至少在功能上由在识别阶段(在本文中通常称为“创始”)期间生成和/或提供的主体的双向SSL/TLS密钥替换。创始一般包括过程中的初始或早期步骤,该步骤将一组生物特征与给定的主体相融合。另一阶段(本文通常称为登记)包括与在BOPS实现方式中注册用户和/或设备相关联的步骤,并且可包括分发用于客户端设备104的证书,保护客户端证书,以及保护存储客户端上的敏感数据。
在一个或多个BOPS实现方式中,提供处理数据加密和安全客户端/服务器通信的基础设施。BOPS基础设施可支持分离创始和登记的过程,并将这些过程与各种登记元件合并在一起。这些依赖关系可识别BOPS服务器102基础设施并且包括:BOPSDNS;BOPS信任存储(TrustStore);BOPS密钥存储(KeyStore);和BOPS密钥协商协议。关于证书管理,可将BOPS服务器102的主机名的DNS条目配置为具有在密钥存储中用于单向SSL的密钥。一个或多个BOPS配置中的信任存储是双向SSL机制,它定义了用于签署所有相应证书的证书权威。在传输级别,通过执行握手,BOPS标识可通过双向证书和信任存储进行。密钥存储支持经由密钥存储中的密钥的传输级别安全性,并且密钥存储中的密钥可使用定义良好并且可识别的证书权威(例如,VERISIGN、GODADDY、或其他权威),其可用于标识要在SSL/TLS上加密的主机。这里所指出的,一个或多个BOPS实现方式为客户端设备104使用一次性密码(OTP)过程来请求对双向SSL证书进行解锁的密码。这可通过客户端设备104和服务器102与OTP同步以在双向SSL会话开始之后将密钥传回以解锁证书来完成。
在一个或多个实施例中,当客户端设备104向BOPS服务器102发送请求时,若干密钥登记元件支持客户端证书认证。例如,令牌可被配置作为将服务器上的配置文件链接到身份的标识符,例如,根据数据元素(例如“公共名称”)。OTP过程包括一个或多个机制,以从服务器请求解锁双向SSL(x.509)证书的密码。可通过在服务器计算设备102和客户端计算设备104之间协调的预定义算法来在每次使用时改变密码,并且用于OTP的信道优选地不同于用于单独证书的信道。例如,推送通知可能会发送用于解锁单个证书的密码。可使用不同的证书来获取密码以解锁单个证书。无论如何,解锁证书的机制可能不涉及该密码在客户端设备104上的存储。
在示例中,应用使用用于创始和登记的默认(例如,预加载的)证书。后续处理可使用默认证书和当前OTP。结果(例如,HTTP响应)可包括解锁证书的密码。然后,OTP将在客户端和服务器上前滚。在一个或多个BOPS实现方式中,5元组是用于防止重播攻击的高熵值。这些值可在登记时出现并且成为客户端设备104和服务器102之间的未来通信的一部分。
BOPS实现方式中的客户端/服务器应用的交互可被认为是三步过程,并且至少两个可能的变化可在最初的第一步之后。在这种情况下,本文参考三个部件来描述BOPS客户端/服务器应用架构:在客户端设备104上执行的客户端应用、在BOPS服务器102上执行的应用、以及服务器侧的应用(在附图中被称为“应用服务器”)。在图2-6所示的示例中,由于SSL/TLS连接可在应用服务器处终止,因此服务器侧应用不一定通过BOPS服务器102运行。此外,相应的BOPS实现方式部署不需要应用信任具有未加密内容的BOPS系统。参考图2,在创始过程期间,客户端设备104向BOPS服务器102分发调用,并认证用户和客户端应用软件。此后,客户端设备104接收由BOPS服务器102分配并且特定于特定应用的客户端身份的证书。
在下一步骤(图3)期间,客户端设备/应用直接调用应用服务器。应用的客户端和服务器部分之间的SSL/TLS连接在这些点处开始和结束。内容交换优选地在应用之外对BOPS服务器102或者在该应用实体内不可信任的其他不可见。在客户端会话期间(图4),应用服务器106调用BOPS102服务器以获取标识细节并确认该证书先前未被撤销。
在第二变型(在图5中部分表示的)中,创始步骤(包括图2-3所示)可以是相同的。此后,BOPS服务器102联系应用服务器106部件以通知新客户端104已被注册和分配。第二变型的流程与第一变型的流程至少有两种方式不同:身份详细信息不同,以及撤销检查在客户端会话中被取得(图6)。在第三步骤中,当客户端设备104直接调用应用服务器106时,应用服务器106调用BOPS服务器102以确认证书先前未被撤销。
本文结合示例BOPS实现方式示出和描述的特征可被本文所提供的访问控制模块使用或者与其结合使用,或者可被添加到现有框架的身份断言元件。因此,BOPS实现方式通过在生产环境中执行最小动作来实现可信任处理,并且从而经常排除对应用软件的改变的要求。
图7A示出了根据一个或多个BOPS实现方式与示例登记过程和相关数据保密性相关联的设备和步骤700。在本申请中在单向SSL/TLS之上构建的双向SSL/TLS提供了在客户端设备104处开始的通信。初始(例如,创始)通信可定义客户端104的身份的起源并且传递符合BOPS的双向证书,客户端设备104可结合面向会话的身份断言将该双向证书用于后续通信。在一个或多个实施例中,客户端应用可具有预加载的双向SSL/TLS密钥,其允许随后的创始操作。
根据一个或多个实施例,BOPS服务器102从客户端设备104接收具有双向SSL/TLS身份的单向SSL/TLS通信。通信经由单向SSL/TLS和双向SSL/TLS两者来进行。在一个或多个实施例中,服务器102使用数据存储装置来获取可信身份信息并收集用于代表相应身份进行处理的角色。此外,审计可最大限度地利用适当的制品来用于继续的检验和对可信访问的验证。保证可根据对多级访问控制机制的简化和记录而发生。在一个或多个BOPS实现方式中,在完成注册过程之后提供图形用户界面中的管理控制台,其允许动态修改用户、群组、和角色,并且在本文中更详细地描述。图7B示出了示例管理控制台。
参考图7A,从客户端设备104发送令牌请求(RESTful)(1)并且从BOPS服务器102接收并检验令牌请求(RESTful)(2)。用于BOPS服务器102主机名的DNS条目可被配置为具有密钥存储中的密钥(3),并且格式请求化(4A)且经由双向SSL/TLS将m令牌响应发送到客户端设备104(4B)。之后,从客户端设备104发送c令牌(例如,5元组和时间戳)(5),该c令牌被检验(包括根据请求中的m时间戳)(6、7)。之后,确定与信任存储相对的缺失的5元组(8),并且格式化请求(9)并将SHA512令牌发送到客户端设备104(10)。
继续参考图7A,从客户端设备104发送包括SHA512令牌的注册请求(11)并且BOPS服务器102接收该请求以用于检验(12),并且处理客户端签名请求以解锁证书(13),包括计算一次性密码并检查相对于密钥存储的令牌计数(14)并将客户端证书密码推送到外部通知服务(15)。此外,12中的检验步骤分支到与分析相关联的步骤,并且包括确定设备信息(16)、配置文件信息(17)、和生物特征(如本文所示和所述)(18)。
此外,将客户端设备的证书密码以及格式化的请求(2)和SHA512令牌(21)发送回客户端设备104(19)。之后,从客户端设备104发送包括SHA512令牌的自定义安全请求(22),该自定义安全请求被BOPS服务器102检验(23)。格式化请求(24)并且将自定义安全响应(包括SHA512令牌)发送到客户端设备104(25)。
在一个或多个BOPS实现方式中,提供了主动入侵检测系统,其包括经由设备112。主动入侵检测系统有效地用于防止暴力攻击、拒绝服务(例如,分布式或单次拒绝服务)、或其他攻击。可定义和强制执行自定义规则,其识别和跟踪对伪造双向SSL/TLS证书冒名、会话重播、伪造分组、或试图使BOPS服务器设备102受损的各种规避技术的尝试。
在一个或多个BOPS实现方式中,视觉密码被用于加密初始生物特征矢量(IBV)。这种技术提供了快速重组IBV的优点,例如,通过对执行生物特征匹配的特定设备使用异或(XOR)运算。例如,可使用由MoniNaor和AdiShamir开发的技术,这些技术提供秘密共享方案。在示例操作中,矢量被分解为N份,并且重组初始矢量需要全部N份份额。相应设备包括BOPS服务器102和移动客户端应用104,并且登记的矢量可被分为2份,其中一个被存储在BOPS服务器102可访问的BOPS存储中,另一个被存储在移动计算设备104上。
在本申请的一个或多个实施例中,可采用确保数据保密性的其他形式的加密和/或机制。例如,可使用椭圆曲线密码代替视觉密码(或除视觉密码之外可能还可使用椭圆曲线密码)。
在示例生物特征认证动作期间,新获取的矢量和登记的矢量的两个份额可在单个位置(例如,移动计算设备应用104或BOPS服务器102)中或在多个位置中可用。在任何情况下,通过使用登记的矢量份额,初始矢量可在存储器中重组,从而支持针对它发生的认证。图8示出了与登记过程有关的概览,包括数据的访问和交换。关于BOPS服务器102,根据主体的账户和设备提供标识。主体的账户和设备是给定主体的配置文件信息的一部分。配置文件信息被存储在群集数据存储装置中。为了匹配,IBV被分成份额、被重组、并被解密。如果匹配算法不是欧几里德可匹配的,则匹配会以明文形式发生,否则匹配会发生在加密域中。
在替代性实施例中,使用同态加密,其允许对密文执行计算并因此生成加密结果。匹配操作可在加密空间中进行,从而增加隐私性和安全性。例如,匹配可通过使用单向加密在加密空间中发生,从而提供高级别的隐私性,并且有效地排除了获得原始明文IBV的能力。
在一个或多个实施例中,算法以这样的方式执行单向加密,其具有两个部分:一个用于客户端,一个用于服务器。本领域已知,如果匹配使用欧几里德距离(例如,汉明距离),则匹配发生在加密空间。替代地,如果匹配不使用汉明距离,则匹配发生在明文空间,如本文所述。
在一个或多个实施例中,使用随机一次性键盘(ROTP)来执行允许在加密空间中进行匹配的单向加密。替代地,在明文匹配的情况下,将视觉密码用于可逆密码。例如,在没有汉明距离的情况下,则使用视觉密码来返回明文以便在存储器中发生匹配。优选地,加密和解密使用以下两种加密算法中的一种:1、位掩码,或者2、矩阵变换。理想情况下,所有匹配算法将具有汉明距离,并因此服务器从不具有明文IBV。
以下是结合虹膜识别的示例算法,其根据计算两个二进制矢量之间的汉明距离来执行。在示例算法中,匹配可直接在加密的一半生物特征上执行,而无需如下将它们转换为明文(^表示按位XOR运算):
服务器存储:登记矢量^噪声。
电话发送:检验矢量^相同噪声。
在服务器上进行比较:(登记矢量^噪声)^(登记矢量^相同噪声)。
XOR是可互换的且相关联的,因此,这可被重新排列为:(登记矢量^检验矢量)^(噪声^相同噪声)。
XOR是自逆的,因此,(噪声^相同噪声)=I,其中I是用于XOR的身份元素,其为0。
因此,该表达式简化为:(登记矢量^检验矢量)^I=(登记矢量^检验矢量)。
在A与B之间的汉明距离是A^B的函数。
因此,在有噪声的矢量之间的汉明距离与在原始矢量之间的汉明距离相同。
在示例性实施例中,在登记时,发生以下情况:
a).登记矢量:
00110011
b).随机序列(矢量的前半部分):存储在服务器上
01010101
c).矢量的后半部分(计算的):存储在电话上
01100110
在检验时:
e).检验矢量:(注意,仅最后一位在登记与检验之间发生变化,因为这是良好匹配)。
00110010
矢量的后半部分:存储在电话上
01100110
f).计算矢量的前半部分的近似值(根据e和c):
01010100
在匹配时:
g).将该“检验前半部分”(f)发送到服务器。
h).服务器现在具有:
登记矢量前半部分b):
01010101
检验矢量前半部分f):
01010100
将在b与f之间发生变化的所有位用1标记:
00000001
该系统可分辨仅最后一位在登记和检验之间发生变化,这表示了良好匹配,但要注意服务器是如何只处理加密数据和实际矢量在服务器上不是已知的,只可计算矢量的区别。
在替代性实施例中,通过计算模板矢量之间的欧几里得距离来执行面部辨识,其中不能从矢量逆向工程出面部。例如,当通过使用神经网络匹配两个面部图像时,每个面部首先被转换为大小为128字节的浮点矢量。该浮点矢量的表示是任意的,并且不能被逆向工程回原始面部。为了比较面部,计算两个矢量的欧几里得距离。来自同一个人的两个面部应该具有相似的矢量,并且不同人的面部应在欧几里得空间中进一步分开。可在移动设备上计算检验矢量,并将其发送到远程服务器以匹配所存储的登记矢量。因此,原始生物特征(例如,面部)将永远不会离开用户的设备,并且可在服务器上计算所有匹配。
在又一个实施例中,通过计算模板矢量之间的欧几里得距离来执行指纹识别,其中不能从矢量逆向工程指纹。类似地,如上所述,神经网络可应用于指纹匹配。在这种情况下,指纹可被转换为设备上的矢量并且矢量将被发送,从而消除了从网络输出矢量重建原始指纹图像的方式。
在一个或多个实施例中,在设备上随机生成加密密钥,该加密密钥用于模糊来自神经网络的输出矢量。例如,加密生物特征矢量=加密矩阵×明文生物特征矢量。在这种情况下,加密矩阵变换具有欧几里德距离所具有的特殊性质,因此矩阵必须是刚性变换。在这种情况下,生物特征矢量不会使设备处于未加密的格式,并且服务器比较两个加密生物特征并在不知道明文的情况下计算欧几里得距离。当用户想要从新设备检验时,用户可将加密数据传送到新设备,例如经由QR码。这要求旧设备可用。如果旧设备丢失或不可用,则用户进行重新登记,如本文所示和所述。
因此,根据被加密并跨设备拆分和存储的生物特征矢量提供增强的隐私。生物特征矢量的任何部分都不以明文形式存在于磁盘上或存储器中。此外,本申请提供了增强的分析,因为希望对相应认证和失败认证进行“假设”分析的用户可经由支持方面、搜索、分析等的管理接口来进行分析。
图9示出了根据一个或多个BOPS实现方式的示例安全架构900的部件。如图9所示,BOPS安全群集902可被配置为在虚拟专用网络(VPN)上运行BOPS实例。例如,证书权威实体、BOPS密钥存储和BOPS信任存储的核心属性可位于BOPS实例上。BOPS实例还可包含与以下各项相关联的数据和/或表示以下各项的数据:DNS、OTP库、通知服务密钥、业务适配器、BOPS配置属性。负载均衡器群集904可包括确保BOPS服务、分布式工作负载的可靠性和可用性的一个或多个设备。经配置的BOPS负载均衡器904可操作以最大化吞吐量、最小化响应时间、以及避免BOPS架构900中的任何单个资源的过载。
继续参考图9,持久性群集906可包括一个或多个数据库安全组并且可被配置用于BOPS数据群集的自动缩放。由于认证服务处理大型数据对象,处理大型数据集,因此可采用大数据存储(例如,NoSQL)和数据的一个或多个水平分区(“分片(shard)”)来通过同时读取分片并合并结果来提高性能。数据库安全架构900实现BOPS架构并防止将敏感数据集中存储在单个位置中。在图9中还示出了监视群集908,其可包括IDS设备112。
图10A和图10B示出了根据一个或多个BOPS实现方式的分别与相应的和替代的登记过程1000和1010相关联的设备和步骤。图10A和图10B所示的实施例提供了用于存储与账户或设备相关联的加密生物特征数据、用于存储关于所有生物特征数据变化的信息、用于加载和使用认证服务及其相应的生物特征库(例如,FACE、4F、IRIS)、以及用于提供支持新流程(例如,登记和认证)的API操作的机制。
在图10A示出的实施例中,在移动计算设备104上执行的软件应用(“MCA”)提供对初始生物特征矢量(IBV)的获取,以用于在登记过程期间执行密码拆分操作并且分布该过程用于在服务器侧上的较低CPU负载,以用于执行向BOPS服务器102的登记请求(注册),以及以用于在用于认证流程的方法被配置为在客户端104侧上进行时执行密码匹配操作。BOPS服务器102可被配置为在登记过程期间将用户身份数据与共享矢量一起保存在例如BOPS大数据存储中1002。此外,BOPS服务器102可管理认证流程并集成认证服务通信部件(1004)。认证服务可动态地加载一个或多个认证算法、生物特征引擎库,提供对认证引擎版本化的支持,以规范化BOPS服务器102与一个或多个生物特征引擎之间的通信,提供对认证引擎版本化的支持,以及规范化BOPS服务器102和认证引擎之间的通信(1006)。认证服务在执行认证时包装(wrapper)生物特征服务。
如本文所解释的,为可插入认证服务及其对应的生物特征引擎提供一个或多个机制。因此,BOPS实现方式可以是可配置的(例如,通过认证服务和生物特征库的位置)并且可自动加载可用的服务并注册到系统中。
因此,表述(enunciation)服务列表在系统级别可用,例如:4F-引擎;FACE-引擎;IRIS-引擎;VOICE-引擎。认证方列表包括FIDO认证方或BOPS认证方。
本申请通过支持以下特征来提供对生物特征集成认证服务的改进。可提供一种或多种机制来将加密的生物特征数据存储在BOPS服务器102可访问的账户或设备中。此外,可提供机制来存储表示发生的生物特征数据变化的信息。此外,可提供“通用”机制来访问和使用认证服务,该机制包括例如结合面部、四根手指和虹膜生物特征认证,诸如在共同转让的美国专利申请序列号14/201,462、美国专利申请序列号14/201,499、美国专利申请序列号14/988,833和美国专利申请序列号14/819,639中所示和所述。
在本申请的一个或多个实施例中,移动计算设备104获取登记矢量,且在登记过程期间执行加密拆分操作。这通过分布该进程以及降低服务器侧的CPU负载来提供对计算功能的改进。此外,当来自认证流程的“生物特征验证”步骤被配置为在移动设备上发生时,移动设备104可执行向BOPS服务器102的登记请求(注册)并执行密码匹配操作。
在本申请的一个或多个实施例中,BOPS服务器102在登记过程期间将用户身份信息连同共享矢量的至少一部分一起存储在例如APACHESOLR存储中。此外,BOPS服务器102可被配置为管理认证信息和处理流程并且集成至少一个生物特征服务通信部件。
根据本申请的在架构中提供的其他部件可包括一个或多个认证服务和一个或多个生物特征引擎。(一个或多个)认证服务可被配置为执行对一个或多个库的动态加载,该一个或多个库被配置为支持一个或多个认证服务的版本化,以规范化BOPS服务器102与认证服务之间的通信以及提供一个或多个部署场景,例如,一个或多个BOPS实例离开的或者作为可自行扩展的独立云的web应用机器。
在一个或多个实施例中,生物特征引擎被配置为包括作为接口的主体并且由每个相应的库定义和实现以插入到BOPS实现方式的系统中的非管理生物特征库。生物特征引擎优选地提供在需要的情况下加载引擎的“加载”方法、卸载引擎以释放资源(例如,存储器、临时文件)的“卸载加载”方法、用于提供状态信息(例如,INIT_FAILED、OK、ERROR、OUT_OF_MEMORY)的“获取状态”、在登记期间对获取的矢量进行密码“拆分”方法、用于认证矢量的“匹配”方法(例如,基于初始矢量的共享部分)、“激活/注册”方法、以及对引擎的描述。该描述可包括例如生物特征类型标识符、名称及描述、引擎版本、和生物特征格式。通过使用该信息,与本申请相关联的一个或多个过程可自动加载并注册特定的生物特征引擎。
在一个或多个实施例中,支持用于可插入认证服务的机制,该机制使得系统能够是可配置的(认证服务位置)并自动加载可用的库并注册到系统中。由认证服务调用的每个生物特征库可提供信息(诸如常量字符串(生物特征类型)、相应版本、名称和描述)来描述其本身。另外地,信息,例如(生物特征类型、生物特征版本)对,可标识唯一的生物特征引擎。
示例认证服务及其对应且较低级别的生物特征引擎可在系统级别上列出且可用,包括例如4F、FACE、IRIS和VOICE,诸如在共同转让的美国专利申请序列号14/201,462、美国专利申请序列号14/201,499、美国专利申请序列号14/988,833和美国专利申请序列号14/819,639中所示和所述。
如本文所述,在一个或多个BOPS实现方式中,创始和登记过程有效地分离,这使得能够确定主体的身份而不需要BOPS服务器102直接要求访问生物特征矢量、证书、或需要自动处理的其他保密信息。因此,BOPS解决方案可被理解为“开放”的,并且可实际上实现创始和登记中的任何自定义。例如,创始可包括使用用于访问ACTIVEDIRECTORY的用户名和密码、检验电子邮件或文本消息、或组织的官员来物理地验证身份。用户账户的预先注册(例如,可批量发生的)可基于业务需求。此外,创始过程可形成对风险管理的完全依赖,并且还可确定下游处理。在示例后创始过程期间,用户登记他或她的(一个或多个)生物特征,其可包括针对相应的登记设备分发的唯一客户端证书。另外地,可在客户端设备104和服务器设备102之间建立一次性密码(例如,“种子”),并且可将额外的种子值用于重播攻击预防。
本文认识到的是,单个用户可具有许多设备和/或单个设备可具有许多用户(即,单个设备可具有许多生物特征)。因此,可根据对创始和登记过程的分离而出现多对多关系的形式。因此,经由创始所标识的主体可用许多生物特征来登记多次。在一个或多个BOPS实现方式中,登记过程使用双向安全套接字层/传输层安全性(SSL/TLS)证书,该证书可以是服务器生成的。这样的生成可发生在创始过程之后,从而确保证书对于明确定义的主体是适合的。
此外,一个或多个BOPS实现方式可具有各种级别的配设,其为不同的安全级别提供了灵活性。例如,高级别的创始包括用户在某人(例如,官员)面前被物理地验证。替代地,低级别可包括仅结合用户所接收的验证电子邮件来定义用户名和密码。各种级别的创始和检验过程可根据一个或多个业务决策来实现,这些业务决策可以是唯一的或特定于一个或多个相应组织的。此外,后续处理可基于相应的创始级别而改变。例如,系统允许与高级别的创始相关的$1000,000的转账,但仅允许与较低级别的创始相关的$100的转账。
图11是示出根据本申请的与不同级别的创始相关联的可能的需求和示例1100的框图。由于在验证过程中需要额外的要求,所以相应的安全级别可以对应地增长。在图11的示例级别中,第一级和第二级可以基于组织考虑因素而交换。例如,如果目标是验证并向业务访问者提供Wi-Fi访问,则验证可以经由移动设备而发送,并且在本文被认为是低验证级别。
在登记阶段期间,例如在移动计算设备104上执行的移动应用基于各自的内置能力来登记生物特征。例如,为特定集成而构建的并且要求默认生物特征的移动应用在应用中可具有这种特定硬编码模块。
一个或多个BOPS实现方式处理了生物特征认证事务的速度并且解决了移动设备上的虚拟化威胁问题。这种威胁的一个示例是:入侵方对移动设备的复制虚拟映像上的代码进行反编译,使用该源代码停止认证调用,并尝试获得对认证和授予权限的服务器的控制。
为了减轻这些风险,BOPS实现方式中的过程在没有加密密钥的情况下对初始生物特征值(IBV)进行加密,然后将一半的IBV存储在客户端设备104上,并将另一半存储在服务器102上或以其他方式可由该服务器访问。生物特征匹配可发生在服务器102上。图12示出了在登记和认证过程期间与初始生物特征矢量(“IBV”)相关联的示例信息流程1200。在图12所示的示例流程中,在登记期间,IBV被捕获并分离,并且IBV的一部分(例如,一半)被存储在客户端设备104上。IBV的一部分(例如,一半或1/2)在登记请求中被发送到BOPS服务器102,并且该部分被存储在例如BOPS服务器102可访问的数据存储装置中。此后,由BOPS服务器102发送对登记的确认。
继续参考图12,在随后的生物特征认证过程期间捕获当前生物特征矢量(“CBV”),并且结合到BOPS服务器102的认证(“Auth”)请求(包括其余部分(2/2))来发送CBV。BOPS服务器102被配置为将在认证请求中接收到的IBV部分与所存储的IBV部分组合以进行解密。将所接收的CBV与纯文本整体IBV进行比较,并且根据在比较期间的确定,将数字(例如,浮点数)返回给客户端计算设备104。如果存在匹配,则用户可被注册为已认证。另外地,认证过程的结果可显示在客户端计算设备104上。
因此,并且如图12中所示以及本文所述的步骤所示,根据本申请的BOPS实现方式处理了生物特征认证事务的速度并且解决与客户端设备上的虚拟化威胁相关联的问题。例如,这种威胁可能在以下情况下发生:在入侵方对例如移动设备的复制虚拟映像上的代码进行反编译,使用该源代码停止认证调用,并尝试获得对认证和授予权限的服务器的控制之后。
为了减轻这些风险,与BOPS实现方式相关联的特征可操作以在没有加密密钥的情况下对IBV进行加密,将IBV的一部分(例如,一半)存储在客户端设备上,并且将一部分(例如,另一半)存储在服务器或服务器可访问的设备上。生物特征匹配可发生在服务器上。以此方式,被盗设备无法绕过检验,至少部分是因为受损的设备或服务器不会向攻击者提供有用的信息。
根据一个或多个实施例,以下提供了在一个或多个BOPS实现方式中建立到生物特征认证的处理协议。至少在客户端和服务器之间拆分生物特征矢量,并且认证的方法是生物特征不可知的。例如,在面部辨识方面,初始生物特征矢量的大小可约为20KB,其可通过http请求和http响应的上/下来最小化,并因此被接受。与面部辨识有关的IBV的拆分算法可如下:零位是白色,一位是黑色。因此,BOPS实现方式可对应于视觉密码(VC)。如本文所指出的,本申请实际上可用于任何生物特征,并提供采用IBV并用VC加密的机制。在VC的情况下,匹配发生在明文中。替代地,随机的情况下,匹配发生在加密域中。
具体参考图12,操作客户端计算设备104的用户继续进行生物特征登记(1),并捕获初始生物特征矢量(IBV)(2)。在步骤(3),对IBV进行加密和拆分,并且将IBV的2/2本地存储在客户端计算设备104或与该客户端计算设备一起存储(4),并且将包括IBV的1/2的登记请求经由传输层(经由双向SSL/TLS)发送到BOPS服务器102(5)。IBV的1/2由BOPS服务器102存储(例如,存储在BOPS大数据中)(6),并且从BOPS服务器102向客户端计算设备104发送回对登记的确认(7)。
继续参考图12,在登记之后,在客户端计算设备104处发生生物特征认证(8),并且捕获当前生物特征矢量(9)。此后,认证请求经由传输层被发送(10),由BOPS服务器102接收并且与2/2IBV组合并用于解密(11)。之后,将CBV与明文IBV进行比较(12),并且将浮动数发送回客户端104(14),并显示结果(15)。
现在转向图13,示出了结合本申请实现的视觉密码(VC)示例1300。VC提供与加密的良好协同,拆分IBV并重建IBV而无需密钥管理。在图13所示的视觉密码示例中,黑色可等于1并且白色可等于0。在该示例中,IBV等于00100110。XOR重建是可用的,因为解是布尔值。原始生物特征矢量加密过程可使用视觉密码来发生,并且结果可以是如表单(sheet)记录的两个矢量,其仅包含白噪声。移动存储装置(例如,客户端设备104)包含一个表单并且服务器设备102包含或访问另一个表单。检验过程使用简单布尔运算来组合两个表单,这使原始生物特征矢量完全地重建。
下面在表1中示出了与XOR运算相关的IBV的示例重建。
表1
参考表1并且结合示例BOPS实现方式,原始的生物特征矢量加密过程可使用视觉密码来发生,并且该加密的结果是如表单记录的两个矢量,其仅包含白噪声。如这里所指出的,与客户端设备104相关联的存储装置包括一个表单,并且与服务器设备102相关联的存储装置包含另一个表单。检验过程使用简单布尔运算来组合两个表单,这使原始生物特征矢量完全地重建。
图14示出了视觉密码方案(VCS)中的两个份额(2,2)的示例叠加,其中每个位结合示例BOPS实现方式加密成份额。在图14所示的示例中,对零位和一位的份额的选择是随机过程。在编码零位或一位时,从表格中获取针对一个份额的一个值,以及针对另一份额的表格中的相邻值。在这个过程结束时,任何份额都不能提供有关原始位的任何线索。叠加两个份额(使用OR或XOR)来确定原始位的值。
继续参考图14中所示的示例,在视觉密码方案(VCS)中示出了两个份额(2,2)的叠加,其中每个位加密成份额。请注意,针对零位和一位的份额选择可在随机过程中实现。当编码零位或一位时,从表(例如,表1)获取针对一个份额的值,以及针对另一个份额的表中的相邻值。在这个过程结束时,任何份额都不能提供有关原始位的任何线索。此后,例如使用OR或XOR来叠加两个份额,确定原始位的值。这是针对(2,2)VCS的示例。通过改变随机过程概率,VCS可扩展到不止两个份额。将随机过程的概率从0.5改为0.25会导致份额具有4位,而非0.5示例中的两位。另外地,将随机过程的概率改为0.125会导致每个输入位的8位加密。
关于检测匹配,示例BOPS实现方式中的一个或多个模块采用多个初始生物特征矢量。然后两个RESTful web服务经由SSL/TLS调用该通信,每个生物特征一个。除了认证会话中的当前生物特征之外,一个调用可包括IBV的一半,并且返回表示匹配强度的浮点值。另一个调用一次可提供一个IBV(一半)和当前的生物特征,并返回表示匹配强度的浮点值。对于第二个调用,可有若干个连续的调用:例如,一次一个IBV来确定匹配。
结合示例BOPS实现方式的每匹配协议的大小计算可如下:每个面矢量20kb,每秒5帧;10秒=50个矢量;50x20kb=1000kb。
结合以上所标识的实现方式的匹配逻辑的示例如下所述。将1,000KB发送到服务器以用于匹配。如果不匹配,则发送第二个100KB,依此类推,直到确定浮点值。在一个或多个BOPS实现方式中,定义了最小阈值并且浮点值至少在最小阈值内。根据示例匹配算法,当前帧需要200毫秒加上到服务器的125毫秒上/下时间。帧传输因此使事务速度达到每帧325毫秒,加上匹配。当匹配的上限为100毫秒时,帧传输大致为425毫秒。在失败的情况下,可发送一批帧(例如,一次五个)并且可再次尝试匹配。优选地,匹配在小于一秒的时间内进行,但是在某些不太有利的情况下,匹配可能花费更长的时间,例如,几秒钟的时间。
如本文所示和所述,本申请的灵活性和认证方以及生物特征不可知性使得组织能够定义可用于认证并且可被定义为默认生物特征的相应认证方和生物特征。如果缺少作为下游事务一部分的生物特征的指定,则可通过一个或多个用户接口来指定默认的生物特征,例如,在组织级别、群组用户级别、或事务级别处。
在一个或多个实施例中,管理控制台可被配置在图形用户界面中并且可被相应的授权用户访问。管理控制台可包含图形控件,当被选择时,该图形控件时使得配置默认生物特征类型。例如,组织(ACMEPlumbing)指定,针对某些访问,面部将被用于ACME所有员工的默认生物特征。此外,ACMEPlumbing指定,在其他情况下,4个手指将用于所有客户的生物特征,并且还指定在其他情况下4个手指和面部都将用于超过$10,000的所有员工事务。这些选项显示在管理控制台中供ACMEPlumbing管理员来定义。因此,本申请提供了一个或多个生物特征的灵活和动态应用。
关于认证,可在特定的组织设置中使用用于生物特征的多个信息源,例如:条件引擎;成员配置文件;以及成员定义。条件引擎可基于系统中定义的动态规则。例如,超过$1K的任何事务至少需要两种形式的生物特征检验。成员配置文件定义用户角色和对应的权限。例如,成员配置文件“信息安全-第一响应方”可能需要每10分钟或其他条件(例如,每个提交事务)进行认证。成员定义可在组织/集成级别定义默认认证。例如,如果系统中存在可用的四类生物特征(4F、FACE、IRIS),并且对于特定BOPS/企业实现方式,默认生物特征是“FACE”,则面部认证默认可用,并且可在例如在通过图形用户接口提供的仪表板(并且在本文通常被称为BOPS管理仪表板)中提供。此外,诸如上述的相应条件可指示优先级。例如,成员定义可被认为是最低优先级,并且条件引擎可被认为是最高优先级。最高优先级成为(一个或多个)认证方法。
以下表示与根据本申请的登记过程相关联的示例步骤。配置有移动客户端应用的移动计算设备104获取生物特征矢量,执行加密并且然后进行注册API调用。具体而言,在获取生物特征之后,对BOPS服务器102的注册调用包括IBV的一半,其被存储以供服务器102访问。登记过程可用于发起组织内的BOPS实现方式。尽管这里显示的许多描述和附图表示BOPS实现方式以表现为群集,但可认为BOPS可被配置作为业务部件。在BOPS管理员(“BOPSadmin”)建立环境之前,组织注册来自BOPS服务器102的相应API密钥。在各个实现方式中,相应开发者也可申请API密钥。
在完成登记过程之后,原始站点管理员(“原始站点admin”)可创建额外的站点管理员(“站点admin”)。包括与各种站点admin相关联的登记信息的登记信息可和与组织相关联的相应API密钥相关联。在一个或多个实施例中,API注册可涉及两个域:登记的原始站点管理员;以及所分发的API密钥,其可基于登记信息、组织、以及用例。应用开始被达成后,注册过程完成。此后,BOPS管理员为组织创建原始站点管理员,并且原始站点管理员可创建站点管理员(例如,参见图15中所示的角色层级图)。
在利用BOPS服务的开发过程之前,开发者优选地例如使用BOPS管理控制台中的选项来进行注册。通过提供应用名称并使用面向问题的标识机制来标识开发人员,可建立新账户并创建API密钥,该密钥将用应用名称来标识并与应用相关联。
在一个或多个BOPS实现方式中,在双向SSL/TLS之上建立在客户端设备104上运行的应用和BOPS服务器102之间的通信。创始过程建立这种连接并指定用户如何将自己标识给BOPS服务器102,使得服务器102可生成私钥来建立双向SSL/TLS通信。提供秘密问题是用户标识自身的一种机制,这是一种公理化的方法,各方(例如,供应商)可在“创始”阶段期间提供唯一地描述个体的一组问题。
在用户计算设备104上操作的客户端应用负责提供标识终端用户的设备104的唯一标识符(ID)。应用可使用设备104和关联的API来向BOPS服务器102通知关于用户与用户设备104之间的链接。5元组是可用于标识设备104的一种这样的机制。
在一个或多个BOPS实现方式中,指定了可用于系统来击败攻击和攻击矢量的相应RESTful调用和/或行为。另外地,指定了实时保护数据免受已知和未知攻击的请求的格式,并且可存在于IDS中(例如,经由设备112)。例如,可在密码一次性令牌中使用重播缓解来验证访问。在这种情况下,IDS是检验客户端104和服务器102彼此知道的第三层,从而确保服务器102在应用层完全受到保护。
图16是示出了与重播预防相关的设备和传输流程的框图1600。如图16所示,密码一次性令牌验证访问并在应用层保护服务器102免受国际标准组织(ISO)层7网络攻击,包括重播、分布式拒绝服务(DDoS)、和其他攻击。令牌和IDS的组合对于检测国际标准组织(ISO)层7网络攻击(包括重播、分布式拒绝服务(DDoS)、以及类似攻击)非常有用。令牌对于一次使用是有效的,并且通常从客户端104传递到服务器102,然后使用RESTful调用返回到BOPS。
在一个或多个BOPS实现方式中的前提是对于DDoS检测,每个令牌应该是不同的,并且在客户端和服务器之间采用的至少一个算法考虑到时间可能变化,并且值必须随客户端到客户端以及访问到访问而不同。图17是示出根据示例BOPS实现方式的与令牌算法相关联的步骤1700的高级流程。在步骤1702,在创始步骤期间,web、移动或嵌入式设备(客户端设备104)分发RESTful调用以请求令牌。然后接收令牌并将其嵌入从客户端104到服务器102的加密消息中(1704)。服务器102接收令牌并通过将令牌传递给IDS来检查消息的有效性(1706),然后IDS检验该令牌是有效的,并且确保创建时间和当前时间之间的差落入指定的60秒时间段(1708)。
图18示出了多对多关系中的创始/登记和用户/设备的产品。在移动客户端104上,示出了与每个账户链接的身份元素。在图18的服务器侧,BOPS服务器102被示出为与身份属性、账户、以及与每个身份相关的设备相关。为了以高水平的保证实现数据加密和安全的客户端/服务器通信,身份信息与安全元素相关,其中用户账户(例如,图18中示出的Alice或Bob的账户)通过安全元素被适当地根据其对应身份而被认证。
为了发起创始步骤,客户端设备104可通过指定下面的表2中示出的任何或全部相应值来选择建立五元组。IDS可确定客户端未设置的五个值中的任何值,并且可以RESTful的格式将令牌返回给客户端。客户端104和服务器102共享同一五元组,然后该五元组被用于计算时间戳,该时间戳随后由IDS或BOPS服务器102进行SHA512编码和比较。所计算的时间戳向后移动到基于5元组的时间且对于每个调用唯一。
因此,在一个或多个实施例中,令牌不包含时间戳本身,因为令牌中的所有值都被转换成SHA512总和以用于比较。这允许值在每分钟值间隔上改变以防止盲目重播。此外,令牌的分钟范围可被配置为3(而非60),以允许足够大的熵(48,771,072),从而防止尝试和错误攻击。
此外,语义引擎可被配置为允许安全管理员针对可能在任何国际标准之外的攻击检测和预防创建额外的自定义参数,并针对各种各样的攻击提供另外的检查和平衡。
在一个或多个实施例中,重播检测清理五元组。诸如以上表1中表示的值可被提供给服务器102。替代地,服务器102可随机选择值。根据重播,最初地确定可接受的值和熵的范围。如果在创始步骤期间未指定五元组的值,则该算法可使用以下值。
表2
根据示例性实施例,执行向后旋转的算法。如果相应月份小于或等于当前月份,则年可相等。替代地,如果月份大于当前月份,则年必须回滚。这两种情况示出了算法。
表3
由于示例1的当前月份是8(8月)并且针对月份的创始值是11并且11>8,因此我们将年的范围缩小到为5的区间,并且年变为2011。其余值是小于实际日期值的创始的倍数。
结合使用相同的当前日期和时间的第二示例,当前月份是8(8月),针对月份的创始值是4并且4<=8。年的范围缩小到为5的区间,其等同于2015。因此,年变为2015,并且其余值为小于实际日期值的创始的倍数。
在一个或多个BOPS实现方式中,可提供各种级别的数据隐私,并且每个可包括加密生物特征信息以便阻止某人使生物特征信息重置和/或受损。一个隐私级别可定义所有非生物特征数据以纯文本形式存储(钝化)。这简化了对使用模式和认证记录的报告和分析,并且可包括其他因素,例如,不可否认性、位置、日期、和分面搜索。例如,相对容易的是,在2016年6月期间在克利夫兰可看到许多失败的认证尝试,并且可提供有关个体和设备的信息。这个第一隐私级别可根据在纯文本钝化数据上操作的复杂工具来实现。另一个更高隐私级别可定义所有非生物特征数据以加密格式存储,但不需要每客户端的单独解密密钥。因此,客户端设备104可被配置为使用同一解密密钥,这被认为比先前描述的第一级隐私更安全,因为内部人员可不具有或者很可能不具有对解密密钥的访问。然而,更高的隐私级别可要求所有非生物特征数据以加密格式存储,并且解密密钥对于每个身份是唯一的。这提供了提高的隐私和分离,因为每个用户的数据都用与生物特征相关联的密钥加密。在高隐私级别下,本文设想,除了可能在匹配发生在存储器中的时刻之外,用户数据(包括例如个人可标识信息(“PI”))总是在客户端设备104上被加密。在一个或多个BOPS实现方式中,用户进行认证以授权事务并认证以便解密用户数据(例如,登录凭据、文件等)。此外,静止数据(例如,钝化数据)在服务器计算设备102上和客户端设备104上一直被加密。当匹配过程发生时,纯文本数据优选地仅存在于存储器中。
在一个或多个BOPS实现方式中,提供开放式平台以实际上为创始流程实现任何自定义。发生的一些示例可包括用于访问ACTIVEDIRECTORY的用户名和密码、验证电子邮件或文本消息、或者可(例如,根据驾驶执照、出生证明、护照、社会保险号码、或其他合适的凭据)在物理上检验的个人身份。
用户账户的预注册可在实现业务规则的批处理过程中发生,组织策略和过程可对这些业务规则做出贡献。业务规则可与访问管理平台集成,访问管理平台将用户组织成群组或目录,以确定适合角色管理中某些特定需求的权限级别和其他属性。这提供了灵活性以允许开发者构建成员配置文件(例如,用户配置文件、管理配置文件、管理员配置文件、和超级管理配置文件)的公式化,其可作为由BOPS服务器102访问的成员定义的输入来应用。根据本申请的创始过程可完全依赖风险管理,并因此确定下游处理。
图19A描绘了与在单个客户端设备104上发起登记的多个用户相关联的设备和步骤1900。用户和设备104之间的关系可以是“多对多”(M:M)。可添加第一登记步骤(A1,发起生物特征登记,A2请求登记(x,509),A3返回登记要求,A4请求账户注册(devID,用户ID+1/2IBV),A5返回注册)。这些步骤可针对第二个用户重复(B1-B5)。多对多的关系可根据创始与登记的分离而发生。此外,通过创始所标识的主体可用许多生物特征登记多次。为了发起客户端/服务器通信,用户在客户端设备上捕获他或她的生物特征,这将引发针对为客户端设备分发的唯一客户端证书的运动登记流程。一旦登记的安全部分完成,对用户的生物特征信息的注册到位,这结束了登记过程。用户可具有很多设备(客户端),设备(客户端)可具有很多用户。设备(客户端)可能支持许多生物特征。
图19B示出了结合一个示例用户Alice的从存储关于多个用户账户的信息的客户端设备104发起认证会话的设备和步骤1910。在图19B所示的示例中,Alice开始认证会话(1),并且在客户端设备104上操作的应用请求生物特征认证(2)。在生物特征认证被完成之后(3),在客户端设备104上操作的应用将设备104配置为经由TLS发送Alice的身份属性(4)。此后,BOPS服务器102考虑所有登记元素的完整性来处理认证请求,并返回结果(5)。
参考图19B中所示的示例,即使Alice使用Bob的账户错误地发起认证会话,客户端设备104也不向服务器提供任何请求,因为CBV将不同于在登记期间创建的IBV,并且认证不会成功。
图19C示出与撤销用户账户相关联的示例设备和步骤1920。在图19C所示的示例中,示出了与三个用户(Eve、Bob和Alice)相关联的信息。一个或多个撤销规则可由用户定义,例如通过配置有管理图形用户接口的管理控制台。与管理员(可进行类似的生物特征认证的人)相关联的角色可负责实现规则。在图19C所示的示例中,Alice的账户具有有效证书,Bob的账户具有在传输安全级别上被阻止的过期证书,并且Eve的账户已被BOPS管理员撤销。更具体地,在经由BOPS服务器102撤销Eve的证书(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)。
结合本文示出和描述的模块解决的问题中的一者是防止重播攻击。在一个或多个实施例中,对于DDoS检测,每个令牌(通常是将服务器上的配置文件链接到通用名称(CN)字段中的身份的标识符)是不同的。客户端104和服务器102之间的算法考虑到时间可能变化,并且值必须随客户端104到客户端104以及访问到访问而不同。
在一个或多个实施例中,证书分配如下工作。X.509证书预先加载在客户端设备104上,包括根据安装在客户端设备104上的应用软件。在创始过程之前,客户端104通过指定任何或全部的元组(如本文所示和所述)来建立5元组值。在登记过程期间,客户端104分发RESTful调用以从BOPS服务器102请求令牌。当令牌被接收时,其被嵌入到去往服务器的客户端的加密消息中。服务器接收令牌并通过确保创建时间与当前时间之间的差落在所指定的60秒时间段内来检查消息的有效性。服务器102确定哪些5元组值缺失并以RESTful格式将令牌返回给客户端。客户端104和服务器102共享同一5元组值,然后将其用于计算时间戳,该时间戳随后由IDS(例如根据分析结果)进行SHA512编码和比较。例如,并且如本文所述,计算出的时间戳向后移动到基于5元组的时间,并且对于每个调用是唯一的。
本申请可配置客户端证书保持有效的时间长度(生存时间或TTL)。撤销的已认证用户的证书可用新证书隐性地替换。因此,TTL是一种“腰带和吊带(belt andsuspenders)”方法,其结合IBV和CBV来工作以支持用户认证。令牌撤销也可以用户角色和其他因素为条件来满足针对授权的特定业务需求。例如,对于财务事务,例如在条件y和/或z未满足的情况下,可在1次或x次失败的认证尝试之后阻止证书。
图20A是示出与对客户端设备104和BOPS服务器102之间的客户端证书的初始化、检验和确认相关联的步骤2000的简图。与处理客户端签名请求(“CSR”)相关联的步骤可包括在客户端设备104上生成公钥-私钥对,签署公钥和被发送到BOPS服务器102的主体名称(在本文一般被称为执行“拥有证明”)。如本文所指出的,客户端使用双向SSL发送注册账户请求。在检查证书的主体名称、用BOPS证书权威(CA)私钥对客户端请求进行签名、以及用OTP机制生成客户端证书的密码之后,BOPS服务器102将客户端证书密码返回给客户端设备104。所注册的客户端检查证书签名并创建.p12容器来存储客户端私钥和签名证书,而非密码。优选地,密码从不存储在客户端设备上,因为OTP机制为每个客户端请求生成一个使用密码。
图20B示出了第三方服务器和BOPS集成示例中的客户端证书注册过程2010。例如图20A所示的CSR过程被广泛地展示,并从用户登记开始。在图20B所示的示例中,“注册用户账户”用于描述与创始和登记相关联的步骤,并且客户端证书表示身份属性,而账户表示身份元素。
在图20B所示的示例实施例中,在用户发起登记过程并将他/她的具有账户登记请求的生物特征信息发送到BOPS服务器102之后,在客户端104上触发密钥对/CSR生成。一旦接收到注册配置文件请求,BOPS服务器102将其进一步发送到访问管理适配器(其可以是由第三方企业使用的访问管理解决方案/平台),如图20B所示表示配置文件验证,然后进一步发送到第三方服务器进行账户登录检验和验证。第三方服务器在验证登录数据之后提供认证令牌,然后将检验结果发送回访问管理适配器,该访问管理适配器将认证结果和认证令牌返回给BOPS服务器102以完成账户/配置文件注册。BOPS服务器102加密认证令牌,存储生物特征数据,用BOPSCA签署CSR,将加密的认证令牌发送到客户端应用。这表示示例性实施例并且与已经在其存储库中累积了数十亿账户的企业(例如,银行)集成,以用于根据生物特征认证的更高程度的检验。
在一个或多个实施例中,可使用快速响应码(QR码)来触发对本文所示及所描述的一个或多个模块的执行。例如,业务伙伴(例如,银行)登录页面可被配置为显示包含相应会话机会标识符的QR码图像。在客户端计算设备104上执行的MCA可执行一个或多个模块(例如,认证向导)来扫描QR代码,对会话进行注册以发信号通知其被附接到会话,并且根据本文的教导用用户的生物特征来进行认证。图21示出了示例QR码认证流程2100,其中第三方服务器向BOPS服务器102注册会话机会,并且作为响应,可用于新认证会话的信息可由BOPS服务器102提供给第三方服务器,并且可在QR码内提供(例如,显示)该信息。第三方服务器可发送针对会话状态信息的一个或多个请求。图21中的用户(被指定为“动作方”)扫描QR码并且向BOPS服务器102注册会话,BOPS服务器可通知外部第三方服务器。在生物特征认证时,诸如本文所示和所述,可(包括用第三方服务器)建立用户会话。
在本文描述和详述的BOPS服务器的一个或多个另外的实现中,BOPS服务器用于实现提供基于权限的声明分发并在认证期间消除对第三方身份提供方的需要的安全用户身份模型。所描述的用户身份模型利用区块链技术来在不必将敏感生物特征数据授信给第三方的情况下确保交换可检验凭据。例如,由BOPS服务器检索到参考图14描述的多个密码份额(以及它们的散布在另选的链外存储(如便携式硬盘驱动器、移动设备存储装置、IPFS、Dropbox、Google drive、AWS等)上的潜在地冗余的份额)。这些加密份额被提供到BOPS服务器,使得用户的可检验凭据用作检验系统的一部分。至少两种身份技术(DID和BOPS)的组合允许对用户的存在进行独立、与平台无关的检验。这里,通过在登记和认证过程中集成基于生物特征的协议,保证用户将数字身份与真实世界物理存在联系起来。另外地,用户可完全地控制该数字身份。用户可向该数字存在添加更多的数据,或者要求其他人添加附加的信息,或者根据上下文显露数据的一些或全部。此外,用户可记录他们对与其他人共享数据的同意,并且容易地促成这种共享。因此,本文描述的数字身份是持久性的、可移植的,并且不依赖于任何单个第三方授权或验证就能实现其效力。
特别地参考图22至图25,安全用户识别模型被实现为用于使用BOPS标准安全地交换生物特征凭据的过程或方法。现在转向图22,本文讨论的生物特征开放协议标准(BOPS)实现在分散式安全用户身份模型中,以向用户提供对其认证和身份数据的存储和使用的控制。
简单地讲,在必要领域中的那些普通技术人员将了解,所描述的BOPS协议可扩展到设备上(例如,FIDO UAF兼容)、服务器侧或利用远程存储和分布式认证过程来准许用户控制认证的多分布式模型的组合。前述解释仅为了便于描述,并且不旨在限制通过集成BOPS标准和一种或多种分布式账本技术实现的附加的方法。实际上,在一种特定配置中,BOPS标准允许使用设备外生物特征凭据来参与认证质询和其他基于网络的认证。然而,在一个或多个另外的实施例中,用于认证的生物特征数据由BOPS服务器分布到分散式存储位置,以及使用区块链技术存留到一个或多个分布式账本,以便提供使生物特征数据安全并防篡改的基于密码的保证。
如继续参考图22所示,用户2200(诸如最终用户(或简称为“用户”))是保留对用户的相应标识和/或身份数据的控制的一方。在一个非限制性示例中,用户2200是学生、雇员、客户和其他人。然而,在替代性配置中,用户2200可指定持有方(例如,BOPS服务器102)以维持对用户的相应标识和/或身份数据的控制。例如,持有方可以是取得来自用户2200的许可以代表他们进行基于身份的事务的一个或多个服务、公司或机构。在一个或多个实施例中,准许的持有方包括安装在用户的个人设备(例如,客户端设备)上或可从其访问的web服务、移动应用或本机应用。如本文所使用,持有方一般是指接收分散式标识信息、访问存储的分散式身份信息和/或将此类分散式身份信息提供到资源访问提供方以交换对资源的访问的任何实体。在一个特定实施例中,先前描述的BOPS服务器102被配置为充当各种用户2200的持有方。
作为登记过程的一部分,寻求向访问控制平台或身份授权方登记的每个用户2200提供多种传记和/生物特征数据。因此,集合传记和生物特征数据可被认为是用户的身份的数字表示。在一个特定实施例中,这样的传记和生物特征信息的集合被包封或打包为可移植文件或数据结构。在一个非限制性实施例中,DID文档2204充当这样的传记和生物特征信息的便携式容器或文件。在一个或多个实施例中,DID文档2204是数据文件、容器、代码或至少包含与寻求确认用户的身份的远程认证系统进行交互所需的元数据的数字文档。在又一个示例中,DID文档2204是单个JSON对象。在又一个实施例中,DID文档2204是符合RFC7159规范的JSON对象。在一个或多个非限制性实施例中,本文描述的DID文档2204可包括认证和授权信息。在一个特定配置中,DID文档2204不包含个人可识别信息(PII)。
在本文描述的系统、方法和计算机产品的特定配置中,可检验凭据存储在区块链之外,并且包括至少一个或多个认证数据集或值,以及其他个人信息或凭据。在一种特定配置中,认证数据集包括可用于向认证系统认证用户的一组机制(例如,公钥、生物特征模板或甚至生物特征数据的加密份额)。另外地,在一种配置中,包括在DID文档2204中的认证数据集涵盖概括哪些实体可修改DID文档2204的授权信息。例如,如果用户已经授予持有方更改用户的DID文档2204的许可,则DID文档2204本身将包括指示此类被授权用户的数据。此外,授权数据还可包括用于发起与实体(例如,服务提供方)的受信任交互的一组服务端点。
如图22进一步所示,分发方2206是创建DID文档2204的实体。例如,分发方2206是通过其代码执行而被配置为响应于来自用户2200的对登记身份模型的请求而生成DID文档2204的服务器或处理器。在一个实施例中,分发方2206接收关于预期登记方的信息(例如,传记和生物特征信息)并且将接收的信息转换为DID文档2204。然而,如图25所示,分发方2206本身可将生成DID文档2204的处理器委托给持有方系统或服务器(诸如BOPS服务器102)。
尽管任何实体都可以是分发方2206,包括持有方,但是分发方2206的一些附加的示例包括公司、政府、非营利组织和/或个人。在一种或多种配置中,分发方2206将生成的DID标识符2202和/或DID文档2204传输到持有方。在另外的实施例中,分发方2206将生成的DID文档2204传输到身份中心2208。
继续参考图22,已经生成可检验凭据,该可检验凭据存储在安全位置以供进一步使用。例如,可检验凭据存储在一个或多个身份中心和存储库2208中。这里,身份中心和存储库2208是安全个人数据存储库,其中存储和检索可检验凭据。例如,身份中心和存储库2208是用户2200、持有方102或分发方2206可访问的一个或多个本地或远程访问数据存储设备,以便存储、修改或检索可检验凭据。同样地,身份中心和存储库2208将消息和数据中继或传输到一个或多个检查器2210。在一个或多个实施例中,身份中心2208被配置为用户2200或持有方102可访问的数据库或存储系统、平面文件系统、关系数据库或大容量存储设施。例如,身份中心可包括Dropbox、Google drive、AWS、Storj和其他类似的基于“云”的存储设施。
在另外的布置中,分发方2206(或持有方102)还生成提供对DID文档2204的引用的分散式标识符(DID)2202。这里,DID标识符2202是在不向第三方提供对由可检验凭据引用的个人信息的直接访问的情况下允许DID文档2204的检索或访问的唯一标识符。在一个非限制性实施例中,DID标识符2202由唯一位、数字、值、字符串或序列组成,该唯一位、数字、值、字符串或序列至少部分地是以密码的方式散列包含在DID文档2204内的用户的身份信息的结果。在另外的实施例中,DID标识符2202是文本串、数字序列、字母数字或十六进制序列或它们的任何组合。此外,此类组合可被体现在一个或多个数据文件、模块或代码片段中。在又一个配置中,DID标识符2202是符合RFC3986的URI方案。例如,DID标识符2202由唯一字符串序列后接任选的路径和/或片段组成。例如,分发方2206通过散列存储在DID文档2202中的认证信息来生成DID标识符2202。在替代性配置中,DID标识符2202是对应于DID文档2204的内容的散列值和DID文档2204的存储位置的唯一值。
在生成DID标识符2202事务后,将包含DID的事务记录作为添加到一个或多个分布式账本2212。与DID文档2204不同,DID标识符2202本身因此不存储在身份中心2208中。相反,DID标识符2202作为事务存储在分布式账本或区块链中。将DID标识符2202作为事务存储在分布式账本中用作DID文档2204的不可变索引、以及在DID标识符2202生成时DID文档2204的内容的不可变记录。由于DID文档2204和DID标识符2202是以密码的方式链接的,因此DID标识符2202在作为事务记录添加到分布式账本2212时提供在分发方2206、持有方/用户2200和希望检验用户的身份的任何第三方(例如,检查方2210)之间的准许的交换的审计追踪。
在不限于分布式账本技术、实现方式或规范的任何特定实施例或配置的情况下,术语“区块链”的使用是指提供以可公开检验且安全的配置跟踪和存储数字事务以便防止篡改或修改基础身份数据的公开透明且分散式账本的一种或多种技术。在一个特定实施例中,区块链或分布式账本2212是被组织为被配置为维护持续地增长的数据记录列表的公共账本的数据库。这里,账本的条目通过使用散列记录和连接数据记录来形成区块链。例如,每次将新事务添加到区块链(例如,新DID标识符2202)时,新区块都包括先前区块的散列。以此方式,每个附加的区块为整个区块链的有效性创建附加的安全性。在创建和/或记录事务时,每个区块记录并确认事务的顺序和时序。因此,在一个特定实施例中,DID标识符2202作为事务存储在区块链上。在一个特定实施例中,持有方或分发方在接收到用户(或持有方)已经提供信息的通知时生成DID标识符2202以向认证平台登记。
在用户2200寻求访问受保护资源的情况下,检查器/检验器2210(其控制对此类受保护资源的访问)从用户或表示用户的持有方请求呈DID 2202的形式的声明,以便给予用户2202对受保护资源的访问。检查方2210检验出为支持用户的身份而提供的凭据(例如,DID标识符2202和在DID文档2204中)是否适用并且检查在区块链2212中DID标识符2202的有效性。作为非限制性示例,检查器2210可包括由雇主、安全人员和网站维护和提供的系统和服务器。
现在转向图23,在本文描述的系统、方法和计算机实现的产品的一个或多个特定实施例中,一个或多个BOPS服务器102被配置为充当生物特征份额的持有方(如前所述)并且向服务提供方登记用户。转向图23和图24的流程图、以及图25的框图,用户2202向分发方2206登记。这里,用户(经由浏览器用户代理)由用户设备2300或其软件应用(例如,MCA)提示,该用户设备或其软件应用由一个或多个登记模块2301配置为向充当分发方2206的服务提供方登记用户的生物特征信息。在一个特定实施例中,用户设备2300由IBV模块2303配置为捕获用户的初始生物特征矢量(IBV)(例如,一些生物特征数据),如在步骤2103中所示。
在另外的实施例中,将所捕获的生物特征矢量(IBV)加密为至少两个份额,同时仍然在用户设备2300本地,如在步骤2105中所示。例如,用户设备2300由加密模块2305配置为将IBV视觉加密为两(2)个或更多个份额。这里,加密IBV的加密份额中的至少一者保留在本地移动设备上,如在步骤2107中所示。在一个或多个实施例中,由用户设备2300使用算法(诸如视觉密码学和Shamir秘密共享)来生成更大数量的份额。在一种非限制性配置中,用户设备2300由致使用户设备2300的一个或多个本地存储器设备存储加密份额以供之后检索的加密份额存储模块2307配置。
继续图23,用户设备2300还由密钥生成模块2309配置以生成公钥和私钥。这里,如在图24的步骤2109中所示,用户设备将公钥与IBV的至少一个份额相关联。如在步骤2111中所示,从用户设备2300向分发服务器2600A传输公钥和与该公钥相关联的加密份额。
尽管在相关领域中的那些普通技术人员将了解,IBV的至少一个附加加密份额可存储在RDBMS或持久性群集(例如,ApacheSOLR)后端中的一者中,但是分发服务器2600A也替代地将加密份额和公钥与分发方签名数据一起发送到BOPS服务器102,如在步骤2013中那样。这里,分发方签名数据可以是识别分发方服务器2600A是加密份额和公钥的源的任何散列、代码、密码值或数据集。例如,分发方签名数据本身可以是公钥或公钥/私钥对(其中分发方是私钥的持有方)。
如前所述,BOPS服务器102使用分发方数据、以及加密份额和登记加密公钥两者来生成DID文档2204。例如,BOPS服务器102由DID生成模块2401配置为使用分发方签名、登记公钥和/或加密份额来生成DID文档2204,如在步骤2115中所示。同样地,DID生成模块2401还被配置为生成DID标识符2202以与DID文档2204一起使用。例如,DID文档的内容和位置用于生成唯一DID标识符2202值。这个的值可表示DID文档2204的内容的散列、或者一些或全部,以及识别或检索底层DID文档2204所需的特定存储位置、文件引用、索引编号或其他数据。
如关于步骤2117所示,BOPS服务器102由DID存储模块2403配置为将DID文档存储到身份中心2208。例如,BOPS服务器102由一个或多个API配置为访问基于云的存储库2208并且以一种或多种便携式存储格式存储DID文档2204。
另外地,BOPS服务器102还由DID存留模块2405配置为将生成的DID标识符2202添加到选择的区块链2212以用于存留。以此方式,DID标识符2202提供用于解析DID文档2204的与区块链无关的方法。DID存留模块2405配置BOPS服务器102的处理器以生成事务块来添加到现有的区块链或分布式账本。替代地,在不存在此类账本的情况下,DID存留模块导致生成分布式账本并且将新事务添加到账本。在必要领域中的那些普通技术人员将了解附加功能,诸如了解和理解事务块散列。
在一种布置中,在BOPS服务器102已经在区块链2212上注册相关联的DID之后,如在步骤2117中那样,向移动设备2300通知用户的登记成功(或失败)。如在步骤2119中所示,在用户成功地向服务提供方登记后,用户将接收对应于用户的DID文档2204的DID标识符2202。
转向所描述的用户登记系统的另外的实施例,图25详述了在用户2200与登记服务提供方2600之间的数据交换和提示。例如,用户2200使用移动应用客户端2300来开始登记过程。移动应用客户端2300从用户2200请求IBV。例如,移动应用客户端2300致使移动计算平台的一个或多个成像设备获取向服务提供方登记的用户2200的一个或多个图像。如图25进一步所示,生物特征矢量可被转换为密码份额。如在图25的实施例中所示,使用移动客户端应用2300转换生物特征份额。在从IBV生成的份额中,其中一个份额在本地存储在移动应用上。另外地,在移动客户端应用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服务器的认证声明的一部分。这里,这种检验是可能的,因为当从区块链2212访问DID标识符2202的事务记录时,在存储的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的请求一起传递到BOPS服务器102并且取回对应DID文档2204。例如,BOPS服务器102接收DID标识符2202,从而从检验服务器2600B分发数据和公钥。
与经由URN和URL唯一地表征web资源的URI很相似,DID标识符2202使用一个或多个区块链生态系统表征相关联的DID文档2204。这里,BOPS服务器102充当给定DID标识符2202的解析器,使得持有方(BOPS服务器102)能够定位对应DID文档2204。例如,BOPS服务器102由DID解析模块2407配置为在一个或多个区块链中查找接收的DID并且使用存储的事务信息从“链外”存储中识别相关可检验凭据,如在步骤2606中那样。
如所指出,在一种或多种配置中,DID标识符2202及其对应DID文档2204彼此以密码的方式相关联。因此,在DID文档2204中的任何变化都将导致DID标识符2202不再与DID文档2204以密码的方式匹配。使用该关系,BOPS服务器102被配置为使用DID标识符2202评估(例如,解析)DID文档2204,并且使用声明验证模块2409检验出DID文档2204内容自DID标识符2202的分发以来未改变。例如,针对检索到的DID文档2204生成新DID标识符2202。在从用户接收的DID标识符2202与新生成的DID标识符不匹配的情况下,终止认证过程。
一旦BOPS服务器102访问了DID文档2204,就进一步评估DID文档2204本身以确定其中包含的数据值是否与由检验服务器2600B发送的声明匹配。例如,BOPS服务器102由声明验证模块2409配置为将存储在DID文档2204中的分发方签名与通过检验服务器2600从用户设备2300发送的分发方签名进行比较。在另外的配置中,声明验证模块2409还配置BOPS服务器102以将包含在DID文档2204内的公钥与由用户设备2300发送的访问请求中提供的公钥进行比较。在无法相对于DID文档2204数据来验证数据的情况下,该过程则中止并且不授予授权。
替代地,在DID文档2204是有效声明的情况下,例如由于DID标识符2202和DID文档可以密码的方式匹配并且DID文档2204的内容匹配分发方和由用户设备2300发送的加密签名,BOPS服务器102由验证模块2411配置为确定用户是否可被认证。
例如,BOPS服务器102由验证模块2411配置为从用户设备2300请求生物特征数据集以相对于DID文档中提供的存储的加密份额来进行比较。例如,BOPS服务器向用户设备2300发送对用户的候选生物特征矢量(CBV)的请求,如在步骤2610中那样。这里,CBV是类型与用于生成IBV的生物特征标识符(如在步骤2103中那样)相同的生物特征矢量。例如,在IBV包括面部辨识数据和语音辨识数据的情况下,从用户请求的CBV也将包括面部辨识和语音辨识数据。由CVB请求模块2704配置的用户设备2300从请求访问的用户2200捕获CBV并且将CVB和本地存储的加密份额直接地传输到BOPS服务器102。
在从用户2200接收本地存储的加密份额和CBV时,BOPS服务器102由解密模块2413配置为对接收的密码份额和存储在DID文档2204中的加密份额进行解密,如在步骤2114中那样。在另外的实施例中,组合解密的份额以重新生成原始IBV。这里,将IBV与CBV进行比较。例如,BOPS服务器102由比较模块2415配置为将IBV的像素、矢量或其他数据与CBV的相同数据进行比较。
如在步骤2116中所示,在CBV的值与IBV匹配(或在IBV的预定阈值内)的情况下,确定匹配,并且向检验服务器2600B发送访问检验通知。
在检验服务器2600B接收到时,检验服务器2600B准许用户设备2300访问由服务提供方(服务提供方)提供的资源。一旦已经检验用户2200,就将解密的份额、IBV、CBV和公钥从BOPS服务器102的存储器清除。
如图27A至图27B所示,描述了资源访问系统的特定配置。这里,用户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。在一种或多种配置中,检验的凭据是用户的登记身份的加密份额(2/2)。评估和检验存储在DID文档2204中的分发方签名。另外地,相对于存储在DID文档2204中的公钥来比较和检验用户的供应的公钥。
继续图27A至图27B中提供的配置,BOPS服务器102向MCA 2300发送对加密IBV份额的本地副本、以及签名的质询的请求。这里,签名的质询可以是针对当前生物特征矢量的。例如,一旦MCA 2300接收到来自BOPS服务器102的请求,MCA就提示用户获得生物特征标识符并且用登记密钥对的私钥对生物特征标识符进行加密。加密生物特征标识符、加密份额和签名的质询
如图27A至图27B进一步所示,由BOPS服务器102检验签名的质询并且使用登记公钥对从MCA接收的加密份额进行解密。在解密后,对IBV份额进行解密并且将其组合以重组IBV。将重组的IBV与当前生物特征标识符进行比较。如果存在匹配,使得当前用户和登记用户是相同的,则向用户提供对资源的访问。
转向图28,在一种或多种配置中,远程地认证用户。这里,新服务提供方(例如,充当检验方)使用被配置为具有远程验证模块2417的一个或多个BOPS服务器102认证用户2200,即使该用户从未向新服务提供方注册也是如此。在该配置中,BOPS服务器充当持有方。如关于图28的工作流程所示,仅使用用户2200和检验服务器2600就可有效地进行认证。该配置与依赖于第三方身份提供方(IdP)来在传统的单点登录(SSO)系统中代理身份声明的其他“第一实例”认证(诸如SAML或OAuth)形成对比并且是对其做出的改进。这里,所提供的元件配置支持用户通过使用区块链技术控制认证数据,以确保由一个或多个有效机构(即,分发方)分发的凭据,以供之后与新服务提供方一起使用。
在一个或多个另外的配置中,用户(例如,用户2200)可在请求对用户先前未进行登记的受保护资源的访问时在本地认证用户的身份。例如,持有方可在认证期间代表用户访问分发的声明,如加密生物特征份额,但是要求在本地进行生物特征认证。如图所示,BOPS服务器102的本地配置模式允许生物特征份额的组合发生在移动设备2300上。如关于图28特别地详细地示出的,通过解析从对应DID文档2204引用的DID标识2202来检索存储在DID文档2204中或与其一起存储的生物特征份额的部分。然而,与图24的工作流程不同,这里,访问的生物特征份额由服务提供方和对应BOPS服务器102传输到客户端。在一个特定实施例中,经由服务提供方和BOPS服务器发送到用户的生物特征份额对于服务提供方和BOPS服务器是不透明的。然而,服务器被提供了足够的信息来知道由于加密第二份额的HMAC,在移动设备上的(从DID文档2204发送的生物特征份额的)对应份额用于匹配。应当了解,登记的份额从不发送到设备,但是两个份额按照BOPS本地配置模式保持在本地。移动设备必须持有与针对DID的登记的份额相关联的私钥,因为它使用份额来计算HMAC并且将其发送到服务器。服务器可将HMAC密钥与来自DID文档的不透明加密份额进行比较并且提供对受保护资源的访问。
在本文描述的系统、平台和方法的另外的实施例中,提供了一种用于将生物特征输入记录与存储在多个分布式账本上的生物特征记录进行匹配的计算机实现的方法。这里,生物特征标识符或DID文档2204直接地存储在区块链中(这与仅通过DID 2202的引用相反)。在如图29所示的一个特定实施例中,如在步骤2902中那样,将初始生物特征矢量提供到神经网络。如在步骤2904中那样,神经网络被配置为将初始生物特征矢量转换为欧几里得可测量特征矢量。移至步骤2906,使用第一公钥/私钥对的私钥对欧几里得可测量特征矢量以数字方式签名。如在步骤2908中那样,使用第一公钥/私钥对的公钥对签名的欧几里得可测量特征矢量进行加密。
在另外的布置中,如关于步骤2910所示,通过BOPS服务器102在多个账本(例如,一个或多个识别的区块链)间分布加密的欧几里得可测量特征矢量。这里,欧几里得可测量特征矢量至少与第一公钥/私钥对的公钥一起存储在区块链2212的相应节点上。
相应分布式账本(区块链)的每个节点使用第一公钥/私钥对的公钥对欧几里得可测量特征矢量进行解密并且验证该欧几里得可测量特征矢量。另外地,每个节点还被配置为将欧几里得可测量特征矢量附加到节点相应账本2212。
如在步骤2912中所示,所描述的方法还包括通过数据通信网络从移动计算设备2300接收表示加密的生物特征输入记录的当前生物特征矢量。如在步骤2914中所示,将接收的当前生物特征矢量提供到神经网络,其中神经网络将当前生物特征矢量转换为当前欧几里得可测量特征矢量。
在一种配置中,如在步骤2916中那样,对当前欧几里得可测量特征矢量签名,并且如在步骤2918中那样,使用第二公钥/私钥对的私钥对其进行加密。如在步骤2920中那样,将签名且加密的当前欧几里得可测量特征矢量与第二公钥/私钥对的公钥一起分布在存储在相应节点上的多个账本2212间。
如进一步详细地描述的,如在步骤2922中那样,多个分布式账本的相应节点中的每一者被配置为使用第二公钥/私钥对的公钥对当前欧几里得可测量特征矢量进行解密并且验证该当前欧几里得可测量特征矢量。此外,每个相应节点还被配置为使用当前欧几里得可测量特征矢量对账本中的至少部分的存储的欧几里得可测量特征矢量中进行搜索。例如,如在步骤2924中所示,根据在当前欧几里德可测量特征矢量与在账本的部分中的相应的欧几里德可测量特征矢量中的每一个的计算结果之间计算的绝对距离,生物特征输入记录与至少一个生物特征记录进行匹配。
如本文所使用,“处理器”或“计算机”是指被配置有呈软件的形式的代码以执行给定指令集的一个或多个电子设备(例如,基于半导体的微控制器)。例如,评估服务器102、数据库108和远程访问设备104包括一个或多个处理或计算元件,其执行可商购或定制操作系统,例如基于MICROSOFT WINDOWS、APPLE OSX、UNIX或Linux的操作系统实现方式。在其他实施例中,评估服务器102、数据库108和远程访问设备104各自包括定制或非标准硬件、固件或软件配置。例如,处理器或计算机可包括微计算元件、片上计算机、现场可编程门阵列、图形处理单元、家庭娱乐控制台、媒体播放器、机顶盒、原型设备或“爱好”计算元件的集合中的一者或多者。所描述的此类计算元件直接地或间接地连接到一个或多个存储器存储设备(存储器)以形成微控制器结构。存储器是持久性或非持久性存储设备,其可操作以存储处理器的操作系统,还有软件模块中的一者或多者。根据一个或多个实施例,存储器包括一个或多个易失性和非易失性存储器,诸如只读存储器(“ROM”)、随机存取存储器(“RAM”)、电可擦除可编程只读存储器(“EEPROM”)、相变存储器(“PCM”)、单列直插式存储器(“SIMM”)、双列直插式存储器(“DIMM”)或其他存储器类型。此类存储器可以是固定或可移除的,如本领域普通技术人员所已知,诸如通过使用可移除媒体卡或模块、面向对象的数据库、混合关系对象数据库、键值数据存储(诸如HADOOP或MONGODB),还有本领域技术人员所熟知的用于数据的结构化和检索的其他系统。数据库108包括必要的硬件和软件以使得内容评估服务器102本地的处理器能够在数据库108内检索和存储数据。
计算机存储器还可包括以类似于持久性存储器设备的方式提供数据的长期存储的二级计算机存储器,诸如磁盘驱动器或光盘驱动器或闪存存储器。在一个或多个实施例中,处理器的存储器在需要时提供应用程序和数据文件的存储。
所描述的处理器或计算机被配置为执行以标准、定制、专有或修改的编程语言(诸如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或任何其他面向对象、功能或其他基于范式的编程语言的标准集、子集、超集或扩展集)编写的代码。
在一个特定实施例中,处理器计算机被实现为服务器、计算群集、云平台或计算阵列中的一者或多者,被配置为直接地或通过通信链接与一个或多个远程访问设备(诸如电话、平板计算机、工作站、台式计算机或其他计算元件)通信和交换数据。
如在所示出的实施例中所提供,计算机和处理器由在其中执行的代码配置为接受从更多的远程数据存储位置(例如,数据库)中的一者查询的电子数据并且根据预定或动态规则、逻辑、指令或算法来评估查询或访问的数据。数据库的物理结构可被体现为固态存储器(例如,ROM)、硬盘驱动器系统、RAID、磁盘阵列、存储区域网络(“SAN”)、网络附加存储(“NAS”)和/或用于存储计算机数据的任何其他合适的系统。此外,数据库可包括高速缓存,包括数据库高速缓存和/或网络高速缓存。编程地,数据库可包括平面文件数据存储、关系数据库、面向对象的数据库、混合关系对象数据库、键值数据存储(诸如HADOOP或MONGODB),还有本领域技术人员所熟知的用于数据的结构化和检索的其他系统。数据库包括必要的硬件和软件,以使得此类服务器本地的处理器能够在数据库或数据库内检索和存储数据。
如本文所使用,远程访问设备用于通过网络与一个或多个本地或远程计算机或处理器(例如,服务器)交换数据,诸如电子消息、数据分组、流或文件。在一个实施例中,远程访问设备直接地连接到服务器,诸如通过内部本地网络。替代地,远程访问设备被配置有合适的软件和硬件以通过先连接到互联网来连接到服务器。如本文所使用,远程访问设备是由硬件或软件模块配置以连接到网络并接收数据的通用或单用途计算设备。例如,远程访问设备可以是由一个或多个代码模块配置以与一个或多个计算机或处理器交换数据的个人通信设备(智能电话、平板计算机等)。远程访问设备被配置为利用有线或无线通信手段,诸如但不限于CDMA、GSM、以太网、Wi-Fi、蓝牙、USB、串行通信协议和硬件,以连接到一个或多个接入点、交换机、网络节点或网络路由器。在特定配置中,远程访问设备还通过硬件和软件模块被配置为通过本地或远程网络或通过互联网使用标准或定制通信协议和设置(例如,TCP/IP等)连接到更多的远程服务器、计算机、外围设备或其他硬件。
在一个实施例中,远程访问设备、处理器和计算机执行可商购或定制操作系统,例如,基于MICROSOFT WINDOWS、APPLE OSX、UNIX或Linux的操作系统实现方式。在其他实施例中,远程访问设备、处理器和计算机是定制或非标准硬件、固件或软件配置。远程访问设备、处理器和计算机可使用USB、数字输入/输出引脚、eSATA、并行端口、串行端口、FIREWIRE、Wi-Fi、蓝牙或其他通信接口与一个或多个远程网络进行通信。
尽管本说明书包含许多特定实施例和细节,但是这些实施例和细节不应当被解释为对任何配置、布置、实现方式或实施例或者所要求保护的内容的范围的限制,而是应当被解释为对特定于特定实现方式或一个或多个特定实施例的的特征的描述。在单独的实施例的上下文中在本说明书中描述的某些特征也可组合地实现在单个配置或布置中。相反地,在单个实施例的上下文中描述的各种特征也可单独地或以任何适合的子组合实现在多个配置或布置中。此外,尽管特征可在以上被描述为以某些组合起作用并甚至因此初始地要求保护,但是在一些情况下,来自所要求保护的组合的一个或多个特征可从该组合删除,并且所要求保护的组合可涉及子组合、或者子组合的变化。
类似地,尽管在附图中按特定次序描绘操作,但是这不应当被理解为要求此类操作以所示出的特定次序或以顺序次序执行,或者执行所有所示出的操作,以实现所期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,以上描述的实施例中的各种系统部件的单独性不应当被理解为在所有实施例中都要求这种单独性,并且应当理解,一般可将所描述的程序部件和系统一起集成在单个软件产品中或打包到多个软件产品中。
本文使用的术语仅出于描述特定实施例目的并且不旨在限制本发明。如本文所使用,除非上下文另外清楚地指出,否则单数形式“一个”、“一种”和“所述”也旨在包括复数形式。还应当理解,当在本说明书中使用时,术语“包括(comprise)”和/或“包括(comprising)”指定所陈述的特征、整体、步骤、操作、元件和/或部件的存在,但是不排除一个或多个其他特征、整体、步骤、操作、元件、部件和/或它们的群组的存在或添加。
应当注意,在权利要求中使用序数术语诸如“第一”、“第二”、“第三”等来修饰权利要求要素本身不意味着一个权利要求要素优于另一个权利要求要素的任何优先权、优先性或次序或执行方法的动作的时间次序,而仅用作区分具有特定名称的权利要求要素与具有相同名称(但使用序数术语)的另一个要素的标签,以区分权利要求要素。同样,本文使用的措词和术语是出于描述目的并且不应当被视为限制。在本文中“包括”、“包含”或“具有”、“含有”、“涉及”及其变型的使用意在涵盖其后列出的项目及其等同物、以及附加项目。
已经描述了本说明书中描述的主题的特定实施例。其他实施例在以下权利要求的范围内。例如,权利要求中陈述的动作可以不同次序执行并且仍然实现所期望的结果。作为一个示例,附图中描绘的过程不一定要求所示出的特定次序、或顺序次序来实现所期望的结果。在某些实施例中,多任务和并行处理可能是有利的。
在整个本申请中引用了表示各种系统的已知注册商标的出版物和参考文件,其公开内容以引用方式并入本文。对任何以上出版物或文档的引用既不意味着承认前述内容中的任何内容是相关现有技术,也不构成了对这些出版物或文档的内容或日期的任何承认。本文引用的所有参考文件(包括发布的和未决的专利和专利申请)以引用方式并入,其程度为如同每个单独的出版物和参考文件被具体地且单独地指示为以引用方式并入一样。
尽管已经参考本发明的优选实施例特别地示出和描述本发明,但是本领域技术人员将理解,在不脱离本发明的精神和范围的情况下,可对其中的形式和细节进行各种变化。因此,本发明不是由以上出现的讨论定义,而是由以下点、在这些点中陈述的相应特征和此类特征的等同物定义。
Claims (20)
1.一种向认证系统注册身份的计算机实现的方法,所述方法包括:
通过数据通信网络从移动计算设备接收初始生物特征矢量(IBV)的至少一个加密密码份额和使用种子以数学方式生成的第一公钥/私钥对的公钥,所述至少一个加密密码份额已经使用所述第一公钥/私钥对的私钥进行加密;
生成第一身份数据集,所述第一身份数据集至少包括授权系统签名、所述第一公钥/私钥对的公钥和所述至少一个加密密码份额;
将所述第一身份数据集存储在至少一个远程存储位置;
生成与所述第一身份数据集相关联的身份参考值,其中所述身份参考值解析所述第一身份数据集的所述存储位置,并且以密码的方式与所述生成的第一身份数据集相关联;
在存储在相应节点上的多个账本中的每一者之间分发至少包括所述身份参考值的事务记录;
向所述移动计算设备至少提供所述身份参考值。
2.如权利要求1所述的方法,其中通过将所述初始生物特征矢量提供到神经网络来生成所述IBV的接收的加密份额,其中所述神经网络将所述初始生物特征矢量转换为欧几里得可测量特征矢量并且使用所述第一公钥/私钥对的私钥对所述欧几里得可测量特征矢量进行加密。
3.如权利要求1所述的方法,其中使用Shamir秘密共享方案算法对所述IBV进行视觉加密。
4.一种用于向用户提供对资源提供方的访问的系统,所述系统包括:
处理器,所述处理器具有存储器并且由一个或多个模块配置成:
通过数据通信网络从移动计算设备至少接收:
与第一身份数据集相关联的身份参考值,其中所述身份参考值解析所述第一身份数据集的存储位置并且与所述第一身份数据集以密码的方式相关联,所述第一身份数据集至少包括授权系统特定数据值、使用种子以数学方式生成的登记公钥/私钥对的公钥和用户请求访问的初始生物特征矢量的至少一个远程加密密码份额;
授权系统签名值;
所述登记公钥/私钥对的公钥;
在存储在相应节点上的多个账本中定位的、至少包括所述身份参考值的事务记录,
从定位的事务记录确定对应第一身份数据集的存储位置;
访问以密码的方式相关联的第一身份数据集;
验证所述第一身份数据集的所述授权系统签名值和登记公钥;
从所述移动计算设备接收当前生物特征矢量和本地加密生物特征密码份额;
使用所述登记公钥/私钥对的公钥对所接收的本地加密密码份额和远程加密密码份额进行解密;
将解密的本地密码份额和解密的存储的密码份额组合以形成组合的密码矢量;
将所组合的密码矢量与所述当前生物特征矢量进行比较;并且
其中所述组合的密码矢量与所述当前生物特征矢量匹配,使得所述资源提供方向所述用户提供对资源的访问。
5.如权利要求4所述的系统,其中将所述组合的密码矢量与所述当前生物特征矢量进行比较包括,
将组合的密码矢量和所述当前生物特征矢量提供到神经网络,其中所述神经网络将所述组合的密码矢量和所述当前生物特征矢量转换为相应的欧几里得可测量特征矢量。
6.如权利要求5所述的系统,其中根据在所述组合的密码矢量的相应的欧几里德可测量特征矢量与所述当前生物特征矢量的相应的欧几里德可测量特征矢量中的每一个的计算结果之间计算的绝对距离,所述组合的密码矢量与所述当前生物特征矢量进行匹配。
7.如权利要求5所述的系统,其中所述处理器还被配置为:
对所述欧几里得可测量特征矢量进行分类;和/或
对当前欧几里得可测量特征矢量进行分类,
其中所述分类至少部分地使用一个或多个距离函数执行。
8.如权利要求7所述的系统,其中对所述欧几里得可测量特征矢量和/或所述当前欧几里得可测量特征矢量进行的分类返回浮点值,并且利用Frobenius算法来计算在每个浮点与其平均值之间的绝对距离。
9.如权利要求7所述的系统,其中在Order log(n)时间上进行搜索。
10.如权利要求7所述的系统,其中所述处理器还被配置为:
使用Frobenius算法对所述欧几里得可测量生物特征矢量进行分类;
在Order log(n)时间上遍历分类的欧几里得可测量生物特征矢量的分级结构;以及
识别出相应的欧几里得可测量生物特征矢量是所述当前欧几里得可测量特征矢量。
11.如权利要求5所述的系统,其中所述处理器还被配置为:
针对每个相应的欧几里得可测量生物特征矢量识别多个浮点值;以及
使用位图从绝对距离计算结果中消除所述多个值中不存在于每个矢量中的任何值。
12.如权利要求5所述的系统,其中所述处理器还被配置为:
针对每个相应的欧几里得可测量生物特征矢量识别多个浮点值;以及
基于所述浮点值中的相应浮点值出现的矢量数量来定义重要性的计算尺。
13.如权利要求5所述的系统,其中所述神经网络被配置有多种卷积层,以及整流器(ReLU)和池化节点。
14.如权利要求5所述的系统,其中所述神经网络被配置为使用池化作为非线性下采样的形式,
并且进一步地,其中一个或多个池化节点逐渐地减小表示的欧几里得可测量特征矢量的空间大小以减少在所述神经网络中的参数量和计算量。
15.如权利要求14所述的方法,其中所述处理器还被配置为:
针对多个存储的欧几里得可测量特征矢量中的每一个计算在平均人脸矢量与所述相应的欧几里得可测量特征矢量之间的相对位置差;
对所述相对位置差求平方;
对该值求和;以及
计算平方根。
16.如权利要求5所述的系统,其中所述神经网络的性能根据成本函数确定,其中根据输入体积大小W、层神经元的内核字段大小K、应用所述层的步长S和在边界上使用的零填充量P计算作为输出体积的空间大小给出的层数量。
17.如权利要求5所述的系统,其中所述神经网络根据每个相应层的矩阵乘法转换所述初始生物特征矢量、所述当前生物特征矢量,并且使用基于欧几里得成本函数的欧几里得距离算法。
18.一种用于将生物特征输入记录与存储在多个分布式账本上的生物特征记录进行匹配的计算机实现的方法,所述方法包括:
将初始生物特征矢量提供到神经网络,其中所述神经网络将所述初始生物特征矢量转换为欧几里得可测量特征矢量;
使用第一公钥/私钥对的私钥对所述欧几里得可测量特征矢量以数字方式签名;
使用所述第一公钥/私钥对的公钥对所述欧几里得可测量特征矢量进行加密;
在存储在相应节点上的所述多个账本中至少分配加密的欧几里得可测量特征矢量和所述第一公钥/私钥对的公钥,其中每个相应节点:
使用所述第一公钥/私钥对的公钥对所述欧几里得可测量特征矢量进行解密;
验证所述欧几里得可测量特征矢量;以及
将所述欧几里得可测量特征矢量附加到节点相应账本;
通过数据通信网络从移动计算设备接收表示加密的生物特征输入记录的当前生物特征矢量;
将所述当前生物特征矢量提供到神经网络,其中所述神经网络将所述当前生物特征矢量转换为当前欧几里得可测量特征矢量;
使用第二公钥/私钥对的私钥对所述当前欧几里得可测量特征矢量以数字方式签名;
使用所述第二公钥/私钥对的公钥对所述当前欧几里得可测量特征矢量进行加密;
在存储在相应节点上的所述多个账本中至少分配所述当前欧几里得可测量特征矢量和所述第二公钥/私钥对的公钥,其中每个相应节点:
使用所述第二公钥/私钥对的公钥对所述当前欧几里得可测量特征矢量进行解密;
验证所述当前欧几里得可测量特征矢量;以及
使用所述当前欧几里得可测量特征矢量对所述账本中的至少部分的存储的欧几里得可测量特征矢量进行搜索,
其中根据在所述当前欧几里德可测量特征矢量与在部分的所述账本中的相应的欧几里德可测量特征矢量中的每一个的计算结果之间计算的绝对距离,所述生物特征输入记录与至少一个生物特征记录进行匹配。
19.如权利要求18所述的方法,其中根据使用所述第一公钥/私钥对的私钥对所述欧几里得可测量特征矢量进行解密,并且通过将在每个节点处的所述欧几里得可测量特征矢量与所解密的欧几里得可测量特征矢量进行比较来检验所述欧几里得可测量特征矢量没有发生变更,由此验证所述欧几里得可测量特征矢量。
20.如权利要求18所述的方法,其中对所述欧几里得可测量特征矢量签名包括:
生成与所述欧几里得可测量特征矢量相关联的散列值;以及
使用所述第一公钥/私钥对的私钥对所述散列值进行加密,
其中通过每个相应节点使用所述第一公钥/私钥对的公钥针对所述散列值进行解密并且将其与使用所述第一公钥/私钥对的私钥进行解密的散列值进行比较。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/520,191 US11329980B2 (en) | 2015-08-21 | 2019-07-23 | System and method for biometric protocol standards |
US16/520,191 | 2019-07-23 | ||
PCT/US2020/043001 WO2021016311A1 (en) | 2019-07-23 | 2020-07-22 | System and method for biometric protocol standards |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114175079A true CN114175079A (zh) | 2022-03-11 |
Family
ID=74194266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080053314.1A Pending CN114175079A (zh) | 2019-07-23 | 2020-07-22 | 用于生物识别协议标准的系统和方法 |
Country Status (9)
Country | Link |
---|---|
EP (1) | EP4004674A4 (zh) |
JP (1) | JP2022541919A (zh) |
KR (1) | KR20220038115A (zh) |
CN (1) | CN114175079A (zh) |
AU (1) | AU2020316421A1 (zh) |
BR (1) | BR112022000940A2 (zh) |
CA (1) | CA3146366A1 (zh) |
MX (1) | MX2022000866A (zh) |
WO (1) | WO2021016311A1 (zh) |
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 |
BR112018003390A2 (pt) * | 2015-08-21 | 2018-09-25 | Veridium Ip Ltd | sistema e método para normas de protocolo biométrico |
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 WO PCT/US2020/043001 patent/WO2021016311A1/en unknown
- 2020-07-22 KR KR1020227005661A patent/KR20220038115A/ko active Search and Examination
- 2020-07-22 MX MX2022000866A patent/MX2022000866A/es unknown
- 2020-07-22 CA CA3146366A patent/CA3146366A1/en active Pending
- 2020-07-22 CN CN202080053314.1A patent/CN114175079A/zh active Pending
- 2020-07-22 AU AU2020316421A patent/AU2020316421A1/en active Pending
- 2020-07-22 BR BR112022000940A patent/BR112022000940A2/pt unknown
- 2020-07-22 JP JP2022504069A patent/JP2022541919A/ja active Pending
- 2020-07-22 EP EP20843870.5A patent/EP4004674A4/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4004674A4 (en) | 2024-01-24 |
JP2022541919A (ja) | 2022-09-28 |
MX2022000866A (es) | 2022-02-10 |
KR20220038115A (ko) | 2022-03-25 |
EP4004674A1 (en) | 2022-06-01 |
AU2020316421A1 (en) | 2022-02-24 |
BR112022000940A2 (pt) | 2022-03-08 |
CA3146366A1 (en) | 2021-01-28 |
WO2021016311A1 (en) | 2021-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11329980B2 (en) | System and method for biometric protocol standards | |
US10536454B2 (en) | System and method for biometric protocol standards | |
US11496310B2 (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 | |
CN108475309B (zh) | 用于生物特征协议标准的系统和方法 | |
WO2019012329A1 (en) | METHOD AND SYSTEM FOR DATA SECURITY IN INDEPENDENT COMPUTING SYSTEMS AND DIGITAL NETWORKS | |
Khan et al. | A brief review on cloud computing authentication frameworks | |
CN114175079A (zh) | 用于生物识别协议标准的系统和方法 | |
Kankal et al. | An adaptive authentication based on blockchain for bigdata hadoop framework | |
Gagged et al. | Improved secure dynamic bit standard technique for a private cloud platform to address security challenges | |
Othman et al. | The Horcrux Protocol: A Distributed Mobile Biometric Self-sovereign Identity Protocol | |
US20240121098A1 (en) | Scalable Authentication System with Synthesized Signed Challenge | |
Singh | A secure and reliable authentication mechanism for users of microsoft cardspace framework | |
Fleischer et al. | Information Assurance for Global Information Grid (GIG) Net-Centric Enterprise Services |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |