CN116097615B - 使用密钥协商的认证 - Google Patents

使用密钥协商的认证 Download PDF

Info

Publication number
CN116097615B
CN116097615B CN202180052369.5A CN202180052369A CN116097615B CN 116097615 B CN116097615 B CN 116097615B CN 202180052369 A CN202180052369 A CN 202180052369A CN 116097615 B CN116097615 B CN 116097615B
Authority
CN
China
Prior art keywords
key
client
private key
server
short
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.)
Active
Application number
CN202180052369.5A
Other languages
English (en)
Other versions
CN116097615A (zh
Inventor
P·派达达
T·厄格玛尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shuo Power Co
Original Assignee
Shuo Power Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shuo Power Co filed Critical Shuo Power Co
Publication of CN116097615A publication Critical patent/CN116097615A/zh
Application granted granted Critical
Publication of CN116097615B publication Critical patent/CN116097615B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic 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 challenge-response

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Algebra (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Telephonic Communication Services (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

客户端可以向服务器发送认证请求。服务器可以使用在服务器处生成的短期私钥和设备的公钥来发起密钥协商过程,生成共享秘密,并导出对称密钥。对称密钥可以用于加密随机质询。此外,服务器使用为客户端生成的部分私钥和在服务器处生成的短期公钥向客户端发起密钥协商过程。部分密钥协商结果和加密的随机质询可以被发送至客户端。客户端可以使用部分密钥协商结果和相应私钥的部分来完成密钥协商过程。客户端可以导出加密密钥并解密随机质询。可以向服务器发送随机质询的指示,以认证该客户端。

Description

使用密钥协商的认证
交叉引用
本专利申请要求Peddada等人2020年7月24日提交的标题为“AUTHENTICATIONUSING KEY AGREEMENT(使用密钥协商的认证)”的美国专利申请号16/938,632的优先权,该专利申请转让给受让人。
技术领域
公开文本总体上涉及数据库系统和数据处理,并且更具体地,涉及使用密钥协议的认证。
背景技术
许多用户可以使用云平台(即,用于云计算的计算平台)来使用远程服务器的共享网络来存储、管理和处理数据。用户可以在云平台上开发应用程序来处理数据的存储、管理和处理。在某些情况下,云平台可以利用多租户数据库系统。用户可以使用各种用户设备(例如,台式计算机、笔记本电脑、智能手机、平板电脑或其他计算系统等)访问云平台。
在一个实施例中,云平台可能支持客户关系管理(CRM)解决方案。这可能包括对销售、服务、营销、社区、分析、应用程序和物联网的支持。用户可以利用云平台来帮助管理用户的联系方。例如,管理用户的联系方可以包括分析数据、存储和准备通信以及跟踪机会和销售。
加密密钥用于各种应用中,包括用户认证。在一些实施例中,密钥可以用于向系统认证用户。如果该密钥被泄露,那么用户数据可能被泄露。例如,一方可以使用泄露的密钥通过应用程序访问用户数据。
附图说明
图1示出了根据公开文本的各方面的用于支持使用密钥协商的认证的客户端的认证的系统的实施例。
图2示出了根据公开文本的各方面的支持使用密钥协商的认证的系统的实施例。
图3示出了根据公开文本的各方面的支持使用密钥协商的认证的系统的实施例。
图4示出了根据公开文本的各方面的支持使用密钥协商的认证的系统的实施例。
图5示出了根据公开文本的各方面的支持使用密钥协商的认证的过程流程图。
图6显示了根据公开文本的各方面的支持使用密钥协商的认证的装置的框图。
图7显示了根据公开文本的各方面的支持使用密钥协商的认证的安全管理器的框图。
图8显示了根据公开文本的各方面的包括支持使用密钥协商的认证的设备的系统的图。
图9和图10显示了示出根据公开文本的各方面的支持使用密钥协商的认证的方法的流程图。
具体实施方式
加密密钥用于各种应用中,包括用户认证。在一些实施例中,密钥可以用于向系统认证用户。如果该密钥被泄露,那么用户数据可能被泄露。例如,一方可以使用泄露的密钥通过应用程序访问用户数据。
本文描述的实施方式利用密钥协商协议来在服务器处执行客户端的认证。客户端设备(如执行应用的移动设备)可以请求访问服务器(例如,支持应用的服务器)。访问请求可以对应于账户请求。响应于登录请求,服务器可以生成非对称密钥对,其包括公钥(public key)和私钥。服务器可以分割私钥并将该私钥的第一部分存储在服务器上。可以将私钥的第二部分发送至客户端设备。客户端设备可以将第二部分分割成两个子部分,其中第一子部分是用户已知的,第二子部分存储在设备处。这可以完成客户端配置过程。
当客户端尝试登录时,服务器可以使用在服务器处生成的短期私钥和设备的公钥来发起密钥协商过程,生成共享秘密,并使用共享秘密导出对称密钥。对称密钥可以用于加密随机质询。此外,服务器使用为客户端生成的部分私钥和在服务器处生成的短期公钥向客户端发起密钥协商过程。部分密钥协商结果和加密的随机质询可以被发送至客户端。客户端可以使用部分密钥协商结果和私钥的两个子部分来完成密钥协商过程,这可以导致共享秘密。然后,可以使用共享秘密导出用于解密随机质询的相同加密密钥。随机质询的指示可以被发送至服务器,服务器对客户端进行认证。
在一些实施例中,可以使用椭圆曲线过程来生成非对称密钥对。此外,密钥协商过程可以利用椭圆曲线密钥交换(ECDH,Elliptic-Curve Diffie-Hellman)协议来导出共享秘密。因此,利用该加密协议,客户端可以存储要用于导出密钥的密钥的一部分,以解密随机质询。这可能导致更安全的应用程序和客户端认证。
公开文本的各方面最初在支持按需数据库服务的环境的上下文中描述。参考总体系统图、特定系统图和过程流程图进一步描述了公开文本的各方面。参考与使用密钥协商的认证相关的装置图、系统图和流程图进一步说明和描述公开文本的各方面。
图1示出了根据公开文本的各方面的用于云计算的支持使用密钥协商的认证的系统100的实施例。系统100包括云客户端105、联系方(contact)110、云平台115和数据中心120。云平台115可以是公共或私有云网络的实施例。云客户端105可以通过网络连接135访问云平台115。该网络可以实现传输控制协议和因特网协议(TCP/IP),例如因特网,或者可以实现其他网络协议。云客户端105可以是用户设备的实施例,例如服务器(例如,云客户端105-a)、智能手机(例如,云客户端105-b)或膝上型计算机(例如,云客户端105-c)。在其他实施例中,云客户端105可以是台式计算机、平板电脑、传感器或能够生成、分析、发送或接收通信的另一个计算设备或系统。在一些实施例中,云客户端105可以由作为商业、企业、非营利组织、初创企业或任何其他组织类型的一部分的用户操作。
云客户端105可以与多个联系方110交互。交互130可以包括云客户端105与联系方110之间的通信、机遇(opportunity)、购买、销售或任何其他交互。数据可以与交互130相关联。云客户端105可以访问云平台115以存储、管理和处理与交互130相关联的数据。在一些情况下,云客户端105可以具有相关联的安全或许可级别。云客户端105可以基于相关联的安全或许可级别访问云平台115内的应用程序、数据和数据库信息,并且可以不访问其他应用程序、数据和数据库信息。
联系方110可以亲自或通过电话、电子邮件、网络、文本消息、邮件或任何其他适当的交互形式(例如,交互130-a、130-b、130-c和130-d)与云客户端105交互。交互130可以是企业对企业(B2B)交互或企业对消费者(B2C)交互。联系方110还可以被称为客户、潜在客户、领导者、客户或一些其他合适的术语。在一些情况下,联系方110可以是用户设备的实施例,例如服务器(例如,联系方110-a)、膝上型计算机(例如,联系方110-b)、智能手机(例如,联系方110-c)或传感器(例如,联系方110-d)。在其他情况下,联系方110可以是另一计算系统。在一些情况下,联系方110可以由用户或用户组操作。用户或用户组可以与企业、制造商或任何其他适当的组织相关联。
云平台115可以向云客户端105提供按需数据库服务。在一些情况下,云平台115可以是多租户数据库系统的实施例。在这种情况下,云平台115可以用软件的单个实例服务多个云客户端105。然而,可以实现其他类型的系统,包括但不限于客户端-服务器系统、移动设备系统和移动网络系统。在某些情况下,云平台115可支持CRM解决方案。这可能包括对销售、服务、营销、社区、分析、应用程序和物联网的支持。云平台115可以通过网络连接135从云客户端105接收与联系方交互130相关联的数据,并且可以存储和分析该数据。在一些情况下,云平台115可以直接从联系方110和云客户端105之间的交互130接收数据。在一些情况下,云客户端105可以开发应用程序以在云平台115上运行。云平台115可以使用远程服务器来实现。在一些情况下,远程服务器可以位于一个或多个数据中心120处。
数据中心120可以包括多个服务器。多个服务器可用于数据存储、管理和处理。数据中心120可以经由连接140从云平台115接收数据,或者直接从云客户端105或联系方110与云客户端105之间的交互130接收数据。数据中心120可出于安全目的利用多个冗余。在一些情况下,存储在数据中心120处的数据可以由不同数据中心(未示出)处的数据的副本来备份。
子系统125可以包括云客户端105、云平台115和数据中心120。在某些情况下,数据处理可以发生在子系统125的任何部件处,或者发生在这些部件的组合处。在某些情况下,服务器可以执行数据处理。服务器可以是云客户端105或位于数据中心120。
应用服务器可以支持可以在用户设备上执行的应用。在应用程序和用户能够访问各种服务之前,应用程序可能需要与服务器进行认证。在某些情况下,可以使用认证密钥或访问令牌进行访问。然而,密钥管理可能很复杂,并且容易受到中间人攻击,在这种攻击中,未授权方可能获得对密钥的访问权限,并访问应用程序支持的用户数据和服务。
云平台115可以支持基于密钥协商的认证。关于应用和用户认证来描述实施方式,但是应该理解,本文描述的实施方式可以适用于其他场景。云平台115可以支持应用服务器,该应用服务器支持可以在云客户端105和/或联系方110的设备上执行的应用。在一些情况下,云客户端105可以使用支持这些实施方式的应用服务器来认证联系方110。当设备最初请求访问应用服务器时,应用服务器可以生成包括私钥和公钥的非对称密钥对。私钥可以被分割成两部分,第一部分可以存储在服务器上。分割私钥的第二部分可以与设备(例如,云客户端105或联系方110)共享。在一些情况下,第二部分可以进一步被分割成以下子部分:一子部分可以为用户所知,并且另一子部分存储在设备中。这个过程可以被称为客户端配置。
此后,当用户想要登录到应用系统时,响应于来自客户端的请求,服务器可以生成新的短期非对称密钥对(short-lived asymmetric key pair),该短期非对称密钥对包括短期私钥和短期公钥。这可以是用于此特定登录实例的临时非对称密钥对。可以使用与客户端相关联的短期私钥和公钥(先前生成的)来生成共享秘密(例如,使用ECDH协议)。可以使用共享秘密导出用于加密随机质询的对称密钥。此外,服务器可以使用存储在服务器处的分割私钥的部分和短期公钥来向客户端发起密钥协商过程。部分密钥协商结果和加密的随机质询可以被数字签名并发送至客户端。
客户端接收签名的已加密的随机质询和部分协商结果,并验证签名(例如,使用与服务器相关联的公钥)。在验证之后,客户端可以使用客户端处的私钥部分来完成密钥协商。这可以包括从用户接收子部分(例如,pin)并且使用这两个子部分以及客户端的公钥生成共享秘密。由于用于生成非对称密钥的加密协议,服务器和客户端可以生成相同的共享秘密。也就是说,因为服务器使用客户端的公钥和短期私钥生成共享秘密,并且客户端使用设备的私钥(在服务器处使用部分密钥协商)和在服务器处生成的短期公钥生成共享秘密,所以共享秘密是相同的。因此,客户端可以导出相同的对称密钥(例如,使用相同的密钥推导函数)并解密随机质询。客户端可以向服务器指示解密随机质询的结果。服务器可以基于随机质询的指示而认证客户端。因此,使用该过程,没有单独的一方(例如,客户端或服务器)存储用于导出共享秘密的整个私钥。由于用户设备(例如,智能手机、笔记本电脑)可能会被盗,所以私钥的一部分(例如,子部分)的存储可以防止对服务器的未授权访问。此外,这些描述的技术可以防止或限制使用密码访问安全系统。因此,可以使用这些技术来认证用户和设备,而不是用户输入密码。
本领域技术人员应当理解,公开文本的一个或多个方面可以在系统100中实现,以附加地或替代地解决除上述问题之外的其他问题。此外,公开文本的各方面可提供对如本文所述的“传统”系统或过程的技术改进。然而,描述和附图仅包括由公开文本的实施方面产生的实施例性技术改进,因此并不表示在权利要求的范围内提供的所有技术改进。
例如,云平台115的服务器可以支持云客户端105。用户(如联系方110)可以将应用下载到用户设备,如智能手机。在下载应用程序或在用户设备处初始打开应用程序时,服务器可以向设备发送部分私钥。应用程序可以请求用户输入pin,其可以用作私钥的子部分。另一子部分(减去pin)可以安全地存储在用户设备处。在登录到应用程序时,应用程序可以向服务器发送请求,并且服务器可以用包括加密的随机质询和部分密钥协商结果的有效载荷来响应。应用程序可以请求用户输入pin并使用对应于pin的私钥的子部分和存储在设备处的其他子部分来完成密钥协商以生成共享秘密。可以使用共享秘密导出加密密钥以解密随机质询。应用程序可以向服务器发送解密的随机质询的指示,并且服务器可以认证用户设备以访问由服务器支持的应用程序的服务。
图2示出了根据公开文本的各方面的支持使用密钥协商的认证的系统200的实施例。系统200包括客户端205和服务器210。服务器210可以是图1的云平台的方面的实施例。例如,服务器210可以是应用服务器的实施例。客户端205可以对应于客户端设备,例如笔记本电脑、台式机、智能手机、平板电脑或其他类型的客户端系统。在250-a处,客户端205的用户可以下载由本文描述的实施方式所支持的应用。
在应用程序的下载、执行等之后,客户端205可以向服务器210发送访问请求220。作为响应,服务器210可以生成包括私钥和公钥的非对称密钥对。私钥可以被分割成第一部分和第二部分。第一部分可以存储在服务器上,并且私钥的第二部分225可以被指示给客户端205。在一个实施例中,可以在设备处显示该部分(例如,可以生成和显示QR码,其可以由客户端205扫描)。在另一个实施例中,可以使用安全通信信道、电子邮件、文本消息等来发送私钥的一部分225。
客户端205或客户端205的应用程序可以进一步将私钥的一部分225分割成子部分。在一个实施例中,要求客户端205的用户输入pin。基于pin和子部分,客户端205可以识别运算符/运算(加法、乘法等),其可以与pin结合使用来生成子部分。例如,私钥的一部分225的子部分可以具有值1000。用户可以输入pin1234。因此,可以识别运算符,例如(减234),使得pin的输入得出该部分(例如,1234-234=1000)。私钥的一部分225的另一子部分可以安全地存储在客户端205处。在250-a,该过程可以完成本文描述的实施方式的配置部分。
随后,当用户想要在250-b处经由客户端205向服务器210认证时,用户可以在客户端205处打开应用。作为响应,应用程序可以向服务器210发送认证请求230。服务器210可以生成新的短期非对称密钥对,该短期非对称密钥对包括短期公钥和短期私钥。这种短期非对称密钥对可以是一次性使用密钥对的实施例,因为在这些操作之后可能会丢弃私钥。可以使用在配置过程期间生成的短期私钥和公钥生成共享秘密(例如,使用密钥协商)。可以将共享秘密输入到输出对称密钥的密钥推导函数中。然后,可以使用对称密钥(例如,随机值)来加密随机质询240,从而产生加密的随机质询245。此后,可以擦除私钥。
此外,服务器210可以识别对应于客户端205的部分私钥。服务器210使用非对称密钥(例如,一次性使用密钥)的部分私钥和短期公钥,来执行部分协议过程,其输出部分密钥协商结果260。加密的随机质询245和部分密钥协商结果260可以作为有效载荷235发送至客户端205。在一些情况下,可以使用服务器210的签名私钥对有效载荷235或其一些部分进行数字签名。
客户端205接收有效载荷235,并且可以验证数字签名(例如,使用服务器210的签名公钥)。如果验证有效载荷235,则客户端205然后可以提示输入用户的pin。用户可以输入pin(例如,1234),并且客户端205可以导出私钥的一部分225的相应子部分。例如,基于上述确定的操作,客户端205可以从pin中减去值234,以导出私钥的一部分225的子部分(例如,1234-234=1000)。将所得值与客户端处存储的私钥的部分组合,得到私钥的一部分225。私钥的一部分225用于使用部分密钥协商结果260来完成密钥协商过程。这可能导致服务器使用客户端公钥和服务器私钥导出的共享机密。因此,该共享秘密被输入到密钥推导函数中,以导出对称密钥,该对称密钥可以用于解密已加密的随机质询240。然后,客户端205可以向服务器210发送随机质询240的指示,并且服务器210可以认证客户端205以访问数据、系统和服务。
在一些情况下,服务器210还可以指示蒙蔽质询(blinding challenge),诸如验证客户端205。该蒙蔽质询可以包括在有效载荷235中。该蒙蔽质询可以用于防止另一个客户端试图与客户端205同时登录到服务器210。例如,用户可以输入引起认证请求230(例如,登录请求)的用户名。作为响应,服务器210可以向用户发送蒙蔽质询的指示(例如,经由文本、电子邮件或一些其他通信装置向与用户相关联的标识符)。用户可以通过使用客户端205处的用户界面指示随机数来验证用户正在尝试登录。因此,如果另一个客户端试图使用该用户的用户名登录,则可以向实际用户通知随机蒙蔽质询并拒绝该请求。蒙蔽质询可以是随机数、验证码、图片选择等的实施例。
图3示出了根据公开文本的各方面的支持使用密钥协商的认证的系统300的实施例。系统300包括客户端305和服务器310,其可以是如关于图1和图2所描述的相应设备的实施例。具体地,系统300示出了根据本文描述的实施方式的支持使用密钥协商的认证的客户端配置过程。
客户端305的用户可以使用诸如移动设备应用、网络(web)应用的设备应用来注册账户。响应于用户注册,服务器310可以生成包括公钥325和私钥320的非对称密钥对315。在一些情况下,使用椭圆曲线密码原理生成非对称密钥对315,并且密钥对315可以被称为椭圆曲线密钥对。服务器310可以包括硬件安全模块(HSM)。HSM可以是物理安全硬件系统的实施例,该物理安全硬件系统例如芯片组、或者逻辑或虚拟安全系统。HSM可以支持数字密钥推导、加密、解密、数字签名、认证和其他加密功能。
服务器310(例如,服务器的HSM)可以在360-a处使用密钥分割功能来分割私钥320。可以根据多方计算原则分割密钥。密钥分割可以产生私钥的第一部分330和私钥的第二部分335,该第二部分被发送至客户端305。私钥的第一部分330可以安全地存储在服务器310的数据存储器中。在一些实施例中,密钥分割和分发可以被称为秘密共享。可以使用各种类型的安全秘密共享协议和算法。
可以使用各种技术来支持将私钥的第二部分335发送至客户端305。根据一种技术,可以在计算显示器处或由计算显示器显示QR码。用户可以使用移动设备扫描或读取QR码。在另一种情况下,私钥的第二部分335通过安全信道发送至应用,经由电子邮件、文本消息等传输。用于发送至私钥的第二部分335的各种其他技术也被认为在公开文本的范围内。
在客户端305处,在一些实施例中,私钥的第二部分335可以存储在存储器中用于后续认证。在其他实施例中,如图3中所示,使用密钥分割功能360-b将私钥的第二部分335进一步分割成两个子部分,该两个子部分为第一子部分340和第二子部分345。该分割过程可以包括向用户显示一部分(例如,pin),并且该pin可以对应于第二子部分345。在其他情况下,提示用户输入pin,并且基于输入的pin生成运算符/运算。此后,用户可以输入pin并且客户端可以执行运算,这可以产生第二子部分345。第一子部分340可以安全地存储在与应用相关联的客户端305处。因此,可以在设备和用户之间分发私钥的第二部分335,这可以进一步增强本文描述的实施方式中的安全性。此后,在登录/认证过程期间,客户端305可以利用私钥的第二部分335,通过完成密钥协商过程并使用导出的对称密钥解密随机质询,在服务器310处进行认证。该过程将参考图4进一步描述。
图4示出了根据公开文本的各方面的支持使用密钥协商的认证的系统400的实施例。系统包括客户端305和服务器310,其可以是如关于图1至图3所描述的相应设备的实施例。如图3中所示,向客户端305提供私钥的第二部分335,而私钥的第一部分330被存储在服务器310处。在图4中,示出了认证过程。
当用户试图在客户端305处登录时,客户端305可以向服务器310发送登录请求。作为响应,服务器执行第一过程470和第二过程475。响应于登录请求,服务器可以生成短期非对称密钥对415。短期非对称密钥对415包括公钥420(例如,短期公钥)和私钥425(例如,短期私钥)。这一非对称密钥对可以是临时密钥对,因为它可以用于这一特定的登录实例。因此,当用户随后执行后续登录时,可以生成另一个短期非对称密钥对415。此外,由于短期私钥425在使用后被擦除,所以公钥420无法用于任何认证目的。根据第一过程470,服务器310开始将由客户端完成的密钥协商过程。使用在服务器处存储的私钥的第一部分330和公钥420(例如,与私钥425相关联的公钥),服务器310执行密钥协商(例如,使用ECDH协议),这可以得出部分密钥协商结果480。在这一点上,因为私钥的第二部分335被存储在客户端305处,并且还没有被用于完成密钥协商过程,所以部分密钥协商结果480可以不用于任何认证目的。
根据第二过程475,使用非对称密钥对的私钥425和公钥325来生成共享秘密,然后基于共享秘密导出对称密钥435-a。应当注意,公钥325是与图3的私钥320相关联的公钥,该私钥320在图3的客户端配置过程期间被分割成私钥的第一部分330和私钥的第二部分335。使用导出的对称密钥435-a来加密的随机质询440(例如,随机数),从而产生加密的随机质询440。可以从服务器的存储器擦除私钥425。
第一过程470的结果(即,部分密钥协商结果480)和第二过程475的结果(即,加密的随机质询440)可以作为有效载荷(例如,图2的有效载荷235)的一部分被发送至客户端305。在一些情况下,可以使用与服务器相关联的签名私钥对有效载荷或其一些部分进行数字签名。
客户端305接收有效载荷。在一些情况下,客户端305可以使用服务器的签名公钥来验证有效载荷的数字签名,该签名公钥通常可以被包括在数字证书中。此外,如果私钥的第二部分335被分割成子部分345-a和345-b,则客户端305可以提示用户输入第二子部分(或相应的pin)。使用第一子部分345-a和第二子部分345-b,客户端305可以生成私钥的第二部分335。使用部分密钥协商结果480和私钥的第二部分335,客户端305执行或完成密钥协商过程,这可以产生共享秘密(其可以是用于根据密钥协商协议在服务器处导出对称密钥435-a的相同共享秘密)。使用共享秘密,客户端305可以导出对称密钥435-b,其可以是相同的对称密钥435-a。因此,客户端可以使用对称密钥435-b解密加密的随机质询440,从而产生随机质询460。可以向服务器310指示该随机质询460,并且服务器310可以认证客户端305。
用于导出对称密钥435的密钥推导函数(KDF)可以在客户端305与服务器310之间达成一致。KDF可以是众多密钥推导函数中的一个。例如,KDF可以是高级加密标准(AES)功能、伽罗瓦/计数器模式(GCM)协议等的实施例。
图5示出了根据公开文本的各方面的支持使用密钥协商的认证的过程流程图500。过程流程图包括客户端505和服务器510,其可以是如关于图1和图4所描述的相应设备的实施例。
在515处,客户端505可以将注册请求发送至服务器。注册请求也可以被称为访问请求。在一些实施例中,响应于用户打开下载到客户端505的应用,发送注册请求。客户端可以与客户端公钥相关联。
在520处,服务器510可以生成包括公钥和私钥的非对称密钥对。公钥可以存储在服务器510处。
在525处,服务器510可以存储私钥的第一部分。即,服务器510可以使用多方计算原则将私钥分割成第一部分和第二部分。
在530处,服务器510可以将私钥的第二部分发送至客户端505。515、520和525处的操作可以对应于客户端配置过程590。
随后,在535,服务器510可以从客户端505接收认证请求。认证请求可以对应于在客户端505处的登录。
在540处,响应于接收到认证请求,服务器510可以生成短期非对称密钥对。可以使用椭圆曲线过程来生成非对称密钥对。
在545处,服务器510可以至少部分地基于接收到认证请求,使用客户端公钥和短期非对称密钥对的短期私钥生成对称密钥。为了生成对称密钥,服务器510可以执行可以产生共享秘密的密钥协商过程,并且共享秘密可以用于导出对称密钥。
在550处,服务器510可以使用生成的对称密钥加密随机质询。随机质询可以使用质询-响应认证技术。例如,随机质询可以是一组随机字符。服务器510和客户端505可能已经事先商定了某个过程或算法来识别对随机字符集的响应。
在555处,服务器510可以使用分割私钥的第一部分生成部分密钥协商结果。部分密钥协商结果还可以利用在服务器处生成的短期公钥。密钥协商过程可以基于ECDH协议。
在560处,服务器510可以将加密的随机质询和部分密钥协商结果发送至客户端505。
在565处,客户端505可以使用私钥的第二部分和密钥协商结果来完成密钥协商过程。密钥协商的完成还可以利用在客户端配置过程期间生成的公钥。在一些实施例中,在完成密钥协商之前,客户端505可以验证服务器510的数字签名。
在570处,客户端505可以基于作为在565处的完成密钥协商的结果的共享秘密来生成对称密钥。可以使用密钥推导函数来生成对称密钥。
在575处,客户端505可以使用导出的对称密钥来解密从服务器510接收的随机质询。在580处,服务器510可以接收解密的随机质询的指示。在一些实施例中,这可以包括接收基于商定的过程或算法导出的对随机质询的响应。如本文所述,服务器510和客户端505可能已经事先商定了某个过程或算法来识别对随机字符集的响应。例如,随机质询可以是一组随机字符,并且对随机质询的响应可以是这些随机字符的某种变换(基于商定的算法)。
在585处,服务器510可以至少部分地基于接收到客户端成功解密随机质询的指示而认证客户端505。操作535至585可以对应于认证过程595。
图6显示了根据公开文本的各方面的支持使用密钥协商的认证的装置605的框图600。装置605可以包括输入模块610、安全管理器615和输出模块655。装置605还可以包括处理器。这些部件中的每一个可以(例如,经由一个或多个总线)彼此通信。在一些情况下,装置605可以是用户终端、数据库服务器或包含多个计算设备的系统的实施例。
输入模块610可以管理装置605的输入信号。例如,输入模块610可以基于与调制解调器、键盘、鼠标、触摸屏或类似设备的交互而识别输入信号。这些输入信号可以与用户输入或在其他部件或设备处的处理相关联。在一些情况下,输入模块610可以利用诸如 或另一已知操作系统来处理输入信号。输入模块610可以将这些输入信号的各方面发送至装置605的其他部件以进行处理。例如,根据公开文本的各方面,输入模块610可以向安全管理器615发送输入信号。在一些情况下,输入模块610可以是如参考图8所描述的输入/输出(I/O)控制器815的部件。
安全管理器615可以包括认证接口620、非对称密钥部件625、对称密钥部件630、加密部件635、密钥协商部件640、随机质询部件645和认证部件650。安全管理器615可以是参考图7和图8描述的安全管理器705或810的方面的实施例。
安全管理器615和/或其各种子部件中的至少一些可以在硬件、处理器执行的软件、固件或其任何组合中实现。如果在由处理器执行的软件中实现,则安全管理器615和/或其各种子部件中的至少一些的功能可以由设计用于执行公开文本中描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、分立门或晶体管逻辑、分立硬件部件或其任何组合来执行。安全管理器615和/或其各种子部件中的至少一些可以物理地位于各种位置,包括被分布以使得功能的部分由一个或多个物理设备在不同的物理位置实现。在一些实施例中,根据公开文本的各方面,安全管理器和/或其各种子部件中的至少一些可以是单独且不同的部件。在其它实施例中,安全管理器615和/或其各种子部件中的至少一些可与一个或多个其它硬件部件组合,该硬件部件包括但不限于I/O部件、收发器、网络服务器、另一个计算设备、公开文本中描述的一个或多个其它部件、或根据公开文本的各方面的其组合。
认证接口620可以在服务器处从客户端接收认证请求。
非对称密钥部件625可以响应于接收到的认证请求,在服务器上生成短期非对称密钥对,客户端与客户端公钥相关联。
对称密钥部件630可以基于接收到认证请求,使用客户端公钥和短期非对称密钥对的短期私钥生成对称密钥。
加密部件635可以使用对称密钥加密随机质询。
密钥协商部件640可以使用分割私钥的第一部分生成部分密钥协商结果,服务器已经将分割私钥的第二部分发送至客户端,该分割私钥与客户端公钥相关联。
随机质询部件645可以向客户端发送加密的随机质询和部分密钥协商结果,其中,客户端配置为使用部分密钥协商结果导出用于解密随机质询的对称密钥。
认证部件650可以基于接收到客户端成功解密随机质询的指示而认证客户端。
输出模块655可以管理装置605的输出信号。例如,输出模块655可以从装置605的其他部件(例如数据保留模块615)接收信号,并且可以将这些信号发送至其他部件或设备。在一些特定实施例中,输出模块655可以发送输出信号,以用于在用户界面中显示、用于存储在数据库或数据存储器中、用于在服务器或服务器集群处的进一步处理、或用于在任意数量的设备或系统处的任何其他处理。在一些情况下,如参考图8所描述,输出模块655可以是I/O控制器815的部件。
图7显示了根据公开文本的各方面的支持使用密钥协商的认证的安全管理器705的框图700。安全管理器705可以是本文描述的安全管理器615或安全管理器810的各方面的实施例。安全管理器705可以包括认证接口710、非对称密钥部件715、对称密钥部件720、加密部件725、密钥协商部件730、随机质询部件735、认证部件740、配置部件745、密钥分割部件750、密钥传输接口755、密钥编码部件760、显示部件765、QR码部件770、客户端接口775、密钥存储部件780、密钥擦除部件785和数字签名部件790。这些模块中的每一个可以直接或间接地彼此通信(例如,经由一个或多个总线)。
认证接口710可以在服务器处从客户端接收认证请求。
非对称密钥部件715可以响应于接收到的认证请求,在服务器上生成短期非对称密钥对,客户端与客户端公钥相关联。
在一些实施例中,非对称密钥部件715可以基于请求生成包括客户端公钥和私钥的第一密钥对。
在一些实施例中,非对称密钥部件715可以基于接收到认证请求,生成椭圆曲线密钥对作为短期非对称密钥对,该短期非对称密钥对包括短期私钥和短期公钥。
对称密钥部件720可以基于接收到认证请求,使用客户端公钥和短期非对称密钥对的短期私钥生成对称密钥。
在一些实施例中,对称密钥部件720可以使用服务器私钥和客户端公钥生成对称密钥,其中,使用分割私钥的第一部分和服务器公钥生成部分密钥协商结果,使得客户端能够使用分割私钥的第二部分和短期非对称密钥对的短期公钥而导出对称密钥。
在一些实施例中,对称密钥部件720可以使用椭圆曲线密钥交换(ECDH)协议以生成对称密钥和部分密钥协商结果。
加密部件725可以使用对称密钥加密随机质询。
密钥协商部件730可以使用分割私钥的第一部分生成部分密钥协商结果,服务器已经将分割私钥的第二部分发送至客户端,该分割私钥与客户端公钥相关联。
随机质询部件735可以向客户端发送加密的随机质询和部分密钥协商结果,其中,该客户端配置为使用部分密钥协商结果导出用于解密随机质询的对称密钥。
认证部件740可以基于接收到客户端成功解密随机质询的指示而认证客户端。
配置部件745可以在服务器处从客户端接收用于认证的请求。
密钥分割部件750可以基于私钥生成包括分割私钥的第一部分和分割私钥的第二部分的分割私钥。
密钥传输接口755可以向客户端发送分割私钥的第二部分的指示,其中服务器配置为基于向客户端发送分割私钥的第二部分的指示而从客户端接收认证请求。
密钥编码部件760可以生成分割私钥的第二部分的编码版本。
显示部件765可以使分割私钥的第一部分的编码版本显示在计算设备的用户界面上。
QR码部件770可以生成快速响应(QR)码,其中该QR码在用户界面上显示给用户。
客户端接口775可以使分割私钥的第二部分的第一子部分存储在客户端。
在一些实施例中,客户端接口775可以使分割私钥的第二子部分的显示将由用户界面显示。
在一些实施例中,客户端接口775可以响应于认证请求向与客户端相关联的用户设备发送蒙蔽质询,并且至少部分地基于接收到蒙蔽质询的指示而验证用户。
密钥存储部件780可以存储与客户端公钥相关联的分割私钥的第一部分。
密钥擦除部件785可以响应于使用短期私钥生成对称密钥,从存储器擦除短期私钥,该擦除导致相应的短期私钥是一次性使用的密钥。
数字签名部件790可以使用服务器签名私钥生成加密的随机质询的数字签名,使得客户端能够使用服务器签名公钥验证加密的随机质询。
图8显示了根据公开文本的各方面的包括支持使用密钥协商的认证的设备805的系统800的图。设备805可以是如本文所述的应用服务器或装置605的部件的实施例或包括应用服务器或装置605的部件。设备805可以包括用于双向数据通信的部件,该双向数据通信包括用于发送和接收通信的部件,包括安全管理器810、I/O控制器815、数据库控制器820、存储器825、处理器830和数据库835。这些部件可以经由一个或多个总线(例如,总线840)进行电子通信。
安全管理器810可以是如本文描述的安全管理器615或705的实施例。例如,安全管理器810可以执行上面参考图6和图7描述的任何方法或过程。在一些情况下,安全管理器810可以硬件、由处理器执行的软件、固件或其任何组合来实现。
I/O控制器815可以管理设备805的输入信号845和输出信号850。I/O控制器815还可以管理未集成到设备805中的外围设备。在一些情况下,I/O控制器815可以表示到外部外围设备的物理连接或端口。在一些情况下,I/O控制器815可以利用诸如
或另一已知操作系统来处理输入信号。在其他情况下,I/O控制器815可以表示调制解调器、键盘、鼠标、触摸屏或类似设备或与之交互。在一些情况下,I/O控制器815可以实现为处理器的一部分。在一些情况下,用户可以经由I/O控制器815或通过由I/O控制器815控制的硬件部件与设备805交互。
数据库控制器820可以管理数据库835中的数据存储和处理。在一些情况下,用户可以与数据库控制器820交互。在其他情况下,数据库控制器820可以在没有用户交互的情况下自动操作。数据库835可以是单个数据库、分布式数据库、多个分布式数据库、数据存储、数据湖或紧急备份数据库的实施例。
存储器825可以包括随机存取存储器(RAM)和只读存储器(ROM)。存储器825可以存储计算机可读、计算机可执行软件,该软件包括当执行时导致处理器执行本文描述的各种功能的指令。在一些情况下,存储器825除其他外可包含基本输入/输出系统(BIOS),其可控制诸如与外围部件或设备的交互的基本硬件或软件操作。
处理器830可以包括智能硬件设备(例如,通用处理器、DSP、中央处理单元(CPU)、微控制器、ASIC、FPGA、可编程逻辑设备、分立门或晶体管逻辑部件、分立硬件部件或其任何组合)。在一些情况下,处理器830可以配置为使用存储器控制器操作存储器阵列。在其他情况下,存储器控制器可以集成到处理器830中。处理器830可以配置为执行存储在存储器825中的计算机可读指令以执行各种功能(例如,支持使用密钥协商的认证的功能或任务)。
图9示出了根据公开文本的各方面的支持使用密钥协商的认证的方法900的流程图。方法900的操作可以由本文描述的应用服务器或其部件来实现。例如,方法900的操作可由参照图6至图8所描述的安全管理器执行。在一些实施例中,应用服务器可以执行一组指令以控制应用服务器的功能元件来执行下面描述的功能。附加地或可选地,应用服务器可以使用专用硬件来执行下面描述的功能的各方面。
在905处,应用服务器可以在服务器处从客户端接收认证请求。905的操作可以根据本文描述的方法来执行。在一些实施例中,905的操作的方面可由参照图6至图8所描述的认证接口执行。
在910处,响应于接收到的认证请求,应用服务器可以在服务器上生成短期非对称密钥对,客户端与客户端公钥相关联。910的操作可以根据本文描述的方法来执行。在一些实施例中,910的操作的方面可由参照图6至图8所描述的非对称密钥部件执行。
在915处,应用服务器可以基于接收到认证请求,使用客户端公钥和短期非对称密钥对的短期私钥生成对称密钥。915的操作可以根据本文描述的方法来执行。在一些实施例中,915的操作的方面可由参照图6至图8所描述的对称密钥部件执行。
在920处,应用服务器可以使用对称密钥加密随机质询。920的操作可以根据本文描述的方法来执行。在一些实施例中,920的操作的方面可由参照图6至图8所描述的加密部件执行。
在925处,应用服务器可以使用分割私钥的第一部分生成部分密钥协商结果,服务器已经将分割私钥的第二部分发送至客户端,该分割私钥与客户端公钥相关联。925的操作可以根据本文描述的方法来执行。在一些实施例中,925的操作的方面可由参照图6至图8所描述的密钥协商部件执行。
在930处,应用服务器可以向客户端发送加密的随机质询和部分密钥协商结果,其中,客户端配置为使用部分密钥协商结果导出用于解密随机质询的对称密钥。930的操作可以根据本文描述的方法来执行。在一些实施例中,930的操作的方面可由参照图6至图8所描述的随机质询部件执行。
在935处,应用服务器可以基于接收到客户端成功解密随机质询的指示而认证客户端。935的操作可以根据本文描述的方法来执行。在一些实施例中,935的操作的方面可由参照图6至图8所描述的认证部件执行。
图10示出了根据公开文本的各方面的支持使用密钥协商的认证的方法1000的流程图。方法1000的操作可以由本文描述的应用服务器或其部件来实现。例如,方法1000的操作可由参照图6至图8所描述的安全管理器执行。在一些实施例中,应用服务器可以执行一组指令以控制应用服务器的功能元件来执行下面描述的功能。附加地或可选地,应用服务器可以使用专用硬件来执行下面描述的功能的各方面。
在1005处,应用服务器可以在服务器处从客户端接收认证请求。1005的操作可以根据本文描述的方法来执行。在一些实施例中,1005的操作的方面可由参照图6至图8所描述的认证接口执行。
在1010处,响应于接收到的认证请求,应用服务器可以在服务器上生成短期非对称密钥对,客户端与客户端公钥相关联。1010的操作可以根据本文描述的方法来执行。在一些实施例中,1010的操作的方面可由参照图6至图8所描述的非对称密钥部件执行。
在1015处,应用服务器可以基于接收到认证请求,使用客户端公钥和短期非对称密钥对的短期私钥生成对称密钥。1015的操作可以根据本文描述的方法来执行。在一些实施例中,1015的操作的方面可由参照图6至图8所描述的对称密钥部件执行。
在1020处,应用服务器可以使用对称密钥加密随机质询。1020的操作可以根据本文描述的方法来执行。在一些实施例中,1020的操作的方面可由参照图6至图8所描述的加密部件执行。
在1025处,应用服务器可以使用分割私钥的第一部分生成部分密钥协商结果,服务器已经将分割私钥的第二部分发送至客户端,该分割私钥与客户端公钥相关联。1025的操作可以根据本文描述的方法来执行。在一些实施例中,1025的操作的方面可由参照图6至图8所描述的密钥协商部件执行。
在1030处,应用服务器可以向客户端发送加密的随机质询和部分密钥协商结果,其中,客户端配置为使用部分密钥协商结果导出用于解密随机质询的对称密钥。1030的操作可以根据本文描述的方法来执行。在一些实施例中,1030的操作的方面可由参照图6至图8所描述的随机质询部件执行。
在1035处,应用服务器可以基于接收到客户端成功解密随机质询的指示而认证客户端。1035的操作可以根据本文描述的方法来执行。在一些实施例中,1035的操作的方面可由参照图6至图8所描述的认证部件执行。
在1040处,应用服务器可以在服务器处从客户端接收用于认证的请求。1040的操作可以根据本文描述的方法来执行。在一些实施例中,1040的操作的方面可由参照图6至图8所描述的配置部件执行。
在1045处,应用服务器可以基于请求而生成包括客户端公钥和私钥的第一密钥对。1045的操作可以根据本文描述的方法来执行。在一些实施例中,1045的操作的方面可由参照图6至图8所描述的非对称密钥部件执行。
在1050处,应用服务器可以基于私钥生成包括分割私钥的第一部分和分割私钥的第二部分的分割私钥。1050的操作可以根据本文描述的方法来执行。在一些实施例中,1050的操作的方面可由参照图6至图8所描述的密钥分割部件执行。
在1055处,应用服务器可以向客户端发送分割私钥的第二部分的指示,其中服务器配置为基于向客户端发送分割私钥的第二部分的指示而从客户端接收认证请求。1055的操作可以根据本文描述的方法来执行。在一些实施例中,1055的操作的方面可由参照图6至图8所描述的密钥传输接口执行。
在1060处,应用服务器可以生成分割私钥的第二部分的编码版本。1060的操作可以根据本文描述的方法来执行。在一些实施例中,1060的操作的方面可由参照图6至图8所描述的密钥编码部件执行。
在1065处,应用服务器可以使分割私钥的第一部分的编码版本显示在计算设备的用户界面上。1065的操作可以根据本文描述的方法来执行。在一些实施例中,1065的操作的方面可由参照图6至图8所描述的显示部件执行。
描述了一种客户端到服务器的认证方法。该方法可以包括:在服务器处从客户端接收认证请求;响应于接收到的认证请求,在服务器上生成短期非对称密钥对,客户端与客户端公钥相关联;基于接收到认证请求,使用客户端公钥和短期非对称密钥对的短期私钥生成对称密钥;使用对称密钥加密随机质询;使用分割私钥的第一部分生成部分密钥协商结果,服务器已经将分割私钥的第二部分发送至客户端,分割私钥与客户端公钥相关联;向客户端发送加密的随机质询和部分密钥协商结果,其中,客户端配置为使用部分密钥协商结果导出用于解密随机质询的对称密钥;并且基于接收到客户端成功解密随机质询的指示而认证客户端。
描述了一种用于向服务器认证客户端的装置。该装置可以包括处理器、与所述处理器联接的存储器以及存储在存储器中的指令。该指令可以由处理器执行以使该装置:在服务器处从客户端接收认证请求;响应于接收到的认证请求,在服务器上生成短期非对称密钥对,客户端与客户端公钥相关联;基于接收到认证请求,使用客户端公钥和短期非对称密钥对的短期私钥生成对称密钥;使用对称密钥加密随机质询;使用分割私钥的第一部分生成部分密钥协商结果,服务器已经将分割私钥的第二部分发送至客户端,分割私钥与客户端公钥相关联;向客户端发送加密的随机质询和部分密钥协商结果,其中,客户端配置为使用部分密钥协商结果导出用于解密随机质询的对称密钥;并且基于接收到客户端成功解密随机质询的指示而认证客户端。
描述了另一个用于向服务器认证客户端的装置。该装置可以包括器件,用于:在服务器处从客户端接收认证请求;响应于接收到的认证请求,在服务器上生成短期非对称密钥对,客户端与客户端公钥相关联;基于接收到认证请求,使用客户端公钥和短期非对称密钥对的短期私钥生成对称密钥;使用对称密钥加密随机质询;使用分割私钥的第一部分生成部分密钥协商结果,服务器已经将分割私钥的第二部分发送至客户端,分割私钥与客户端公钥相关联;向客户端发送加密的随机质询和部分密钥协商结果,其中,客户端配置为使用部分密钥协商结果导出用于解密随机质询的对称密钥;并且基于接收到客户端成功解密随机质询的指示而认证客户端。
描述了一种存储用于向服务器认证客户端的代码的非暂时性计算机可读介质。该代码可以包括可由处理器执行的指令,以:在服务器处从客户端接收认证请求;响应于接收到的认证请求,在服务器上生成短期非对称密钥对,客户端与客户端公钥相关联;基于接收到认证请求,使用客户端公钥和短期非对称密钥对的短期私钥生成对称密钥;使用对称密钥加密随机质询;使用分割私钥的第一部分生成部分密钥协商结果,服务器已经将分割私钥的第二部分发送至客户端,分割私钥与客户端公钥相关联;向客户端发送加密的随机质询和部分密钥协商结果,其中,客户端配置为使用部分密钥协商结果导出用于解密随机质询的对称密钥;并且基于接收到客户端成功解密随机质询的指示而认证客户端。
本文描述的方法、装置和非暂时性计算机可读介质的一些实施例可还包括操作、特征、器件或指令,以用于:在服务器处从客户端接收认证请求;基于请求生成包括客户端公钥和私钥的第一密钥对;基于私钥生成包括分割私钥的第一部分和分割私钥的第二部分的分割私钥;向客户端发送分割私钥的第二部分的指示,其中服务器配置为基于向客户端发送分割私钥的第二部分的指示而从客户端接收认证请求。
在本文描述的方法、装置和非暂时性计算机可读介质的一些实施例中,发送分割私钥的第一部分的指示可以包括用于生成分割私钥的第二部分的编码版本并且使得在计算设备的用户界面上显示分割私钥的第一部分的编码版本的操作、特征、器件或指令。
在本文描述的方法、装置和非暂时性计算机可读介质的一些实施例中,生成分割私钥的第一部分的编码版本可以包括用于生成快速响应(QR)码的操作、特征、器件或指令,其中QR码可以在用户界面上显示给用户。
在本文描述的方法、装置和非暂时性计算机可读介质的一些实施例中,发送分割私钥的第一部分的指示可以包括用于使得分割私钥的第二部分的第一子部分存储在客户端,并且使得分割私钥的第二子部分的显示将由用户界面显示的操作、特征、器件或指令。
本文描述的方法、装置和非暂时性计算机可读介质的一些实施例可还包括用于存储与客户端公钥相关联的分割私钥的第一部分的操作、特征、器件或指令。
本文描述的方法、装置和非暂时性计算机可读介质的一些实施例可还包括用于基于接收到认证请求生成椭圆曲线密钥对作为包括短期私钥和短期公钥的短期非对称密钥对,并且使用服务器私钥和客户端公钥生成对称密钥的操作、特征、器件或指令,其中,可以使用分割私钥的第一部分和短期公钥生成部分密钥协商结果,使得客户端能够使用分割私钥的第二部分和服务器公钥导出对称密钥。
本文描述的方法、装置和非暂时性计算机可读介质的一些实施例可还包括用于响应于使用短期私钥生成对称密钥而从存储器擦除短期私钥的操作、特征、器件或指令,擦除导致相应的短期私钥是一次性使用的密钥。
本文描述的方法、装置和非暂时性计算机可读介质的一些实施例可还包括用于使用服务器签名私钥生成加密的随机质询的数字签名的操作、特征、器件或指令,使得客户端能够使用服务器签名公钥验证加密的随机质询。
本文描述的方法、装置和非暂时性计算机可读介质的一些实施例可还包括用于响应于认证请求向与客户端相关联的用户设备发送蒙蔽质询,并且至少部分地基于接收到蒙蔽质询的指示而验证用户的操作、特征、器件或指令。
本文描述的方法、装置和非暂时性计算机可读介质的一些实施例可还包括用于使用椭圆曲线密钥交换(ECDH)协议以生成对称密钥和部分密钥协商结果的操作、特征、器件或指令。
应当注意,上面描述的方法描述了可能的实现,并且操作和步骤可以被重新安排或以其他方式修改,并且其他实现是可能的。此外,可以组合来自两个或多个方法的方面。
在此结合附图阐述的描述描述了实施例配置,并不表示可以实现的或在权利要求书范围内的所有实施例。本文使用的术语“示例性”意味着“用作实施例、实例或说明”,而不是“优选的”或“优于其他实施例的”。详细描述包括用于提供对所描述技术的理解的特定细节。然而,这些技术可以在没有这些具体细节的情况下进行实践。在一些实例中,以框图形式示出众所周知的结构和设备,以避免模糊所描述的实施例的概念。
在所附的图中,相似的部件或特征可以具有相同的参考标签。此外,可以通过在参考标签后面用破折号和在相似部件之间区分的第二标签来区分相同类型的各种部件。如果在说明书中只使用第一参考标签,则该描述适用于具有相同第一参考标签的任何一个类似部件,而不考虑第二参考标签。
本文描述的信息和信号可以使用各种不同技术和技术中的任何一种来表示。例如,可以通过电压、电流、电磁波、磁场或粒子、光场或粒子、或其任何组合来表示在整个上述描述中可能引用的数据、指令、命令、信息、信号、比特、码元和芯片。
结合本文公开描述的各种说明性块和模块可以用通用处理器、DSP、ASIC、FPGA或其他可编程逻辑设备、离散门或晶体管逻辑、离散硬件部件或其任何组合来实施或执行,这些通用处理器、DSP、ASIC、FPGA或其他可编程逻辑设备、离散门或晶体管逻辑、离散硬件部件或其任何组合被设计成执行本文描述的功能。通用处理器可以是微处理器,但在替代方案中,该处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可以被实施为计算设备的组合(例如,DSP和微处理器的组合、多个微处理器、与DSP核结合的一个或多个微处理器、或任何其他此类配置)。
本文描述的功能可以用硬件、由处理器执行的软件、固件或其任何组合来实施。如果在由处理器执行的软件中实施,则所述功能可以作为一个或多个指令或代码存储在计算机可读介质上或作为一个或多个指令或代码在计算机可读介质上传输。其他实施例和实施方式在公开文本和所附权利要求的范围内。例如,由于软件的性质,可以使用由处理器、硬件、固件、硬接线或这些的任何组合执行的软件来实施上述功能。实施功能的特征也可以物理地位于不同的位置,包括分布成使得部分功能在不同的物理位置实施。同样,如本文使用的,包括在权利要求中,在项目列表中使用的“或”(例如,以诸如“至少一个”或“一个或多个”的短语开头的项目列表)指示包含列表,使得例如,A、B或C中至少一个的列表意味着A或B或C或AB或AC或BC或ABC(即,A和B和C)。此外,如本文使用的,短语“基于”不应被解释为对封闭的条件集的引用。例如,被描述为“基于条件A”的示例性步骤可以基于条件A和条件B两者,而不脱离公开文本的范围。换言之,如本文使用的,短语“基于”应与短语“至少部分地基于”相同的方式解释。
计算机可读介质包括非暂时性计算机存储介质和通信介质,其包括有助于将计算机程序从一个地方转移到另一个地方的任何介质。非暂时性存储介质可以是可由通用或专用计算机访问的任何可用介质。作为实施例,而非限制,非暂时性计算机可读介质可以包括RAM、ROM、电可擦除可编程只读存储器(EEPROM)、光盘(CD)ROM或其他光盘存储器、磁盘存储器或其他磁存储设备,或任何其他非暂时性介质,其可用于以指令或数据结构的形式承载或存储所需的程序代码器件,并且可由通用或专用计算机、或通用或专用处理器访问。此外,任何连接都被恰当地称为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或无线技术(例如红外、无线电和微波)从网站、服务器或其他远程源传输软件,则同轴电缆、光纤电缆、双绞线、DSL或无线技术(例如红外、无线电和微波)包括在介质的定义中。如本文使用的磁盘和盘包括CD、激光盘、光盘、数字多功能盘(DVD)、软盘和蓝光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上的组合也包括在计算机可读介质的范围内。
提供本文的描述是为了使本领域技术人员能够制作或使用公开文本。对公开文本的各种修改对于本领域技术人员来说将是显而易见的,并且在不脱离公开文本的范围的情况下,本文定义的一般原理可应用于其他变化。因此,公开文本不限于本文所描述的实施例和设计,而是要符合与本文所公开的原理和新颖特征一致的最广泛的范围。

Claims (20)

1.一种用于向服务器认证客户端的方法,包括:
在所述服务器处并且从所述客户端接收认证请求;
至少部分地基于接收到所述认证请求,向所述客户端发送已加密的随机质询和部分密钥协商结果,其中所述已加密的随机质询已使用对称密钥进行加密,并且所述对称密钥是使用公钥和在所述服务器上生成的短期非对称密钥对的短期私钥生成的,并且其中所述部分密钥协商结果基于分割私钥的第一部分,所述分割私钥与所述公钥相关联,并且所述服务器已经将所述分割私钥的第二部分发送至所述客户端,所述客户端被配置为使用所述部分密钥协商结果而导出用于解密所述已加密的随机质询的所述对称密钥;和
至少部分地基于接收到所述客户端成功解密所述已加密的随机质询的指示而认证所述客户端。
2.根据权利要求1所述的方法,还包括:
响应于接收到所述认证请求,在所述服务器上生成所述短期非对称密钥对,其中所述已加密的随机质询至少部分地基于所述短期非对称密钥对进行加密。
3.根据权利要求2所述的方法,还包括:
至少部分地基于接收到所述认证请求,使用所述公钥和所述短期非对称密钥对的所述短期私钥生成所述对称密钥;和
使用所述对称密钥加密随机质询以生成所述已加密的随机质询。
4.根据权利要求3所述的方法,还包括:
响应于使用所述短期私钥生成所述对称密钥,从存储器擦除所述短期私钥,所述擦除导致所述短期私钥是一次性使用的密钥。
5.根据权利要求1所述的方法,还包括:
使用分割私钥的第一部分生成所述部分密钥协商结果,所述服务器已经将所述分割私钥的第二部分发送至所述客户端。
6.根据权利要求1所述的方法,还包括:
在所述服务器处并且从所述客户端接收用于认证的请求;
至少部分地基于所述请求,生成包括公钥和私钥的第一密钥对;
至少部分地基于所述私钥,生成分割私钥,所述分割私钥包括所述分割私钥的第一部分和所述分割私钥的第二部分;和
向所述客户端发送所述分割私钥的所述第二部分的指示,其中所述服务器被配置为至少部分地基于向所述客户端发送所述分割私钥的所述第二部分的所述指示而从所述客户端接收所述认证请求。
7.根据权利要求6所述的方法,其中发送所述分割私钥的所述第一部分的所述指示包括:
生成所述分割私钥的所述第二部分的编码版本;和
使所述分割私钥的所述第一部分的所述编码版本显示在计算设备的用户界面上。
8.根据权利要求7所述的方法,其中生成所述分割私钥的所述第一部分的所述编码版本包括:
生成快速响应码,其中所述快速响应码在所述用户界面上显示给用户。
9.根据权利要求6所述的方法,其中发送所述分割私钥的所述第一部分的所述指示包括:
使所述分割私钥的所述第二部分的第一子部分被存储在所述客户端处;和
使所述分割私钥的第二子部分的显示由与所述客户端相关联的用户界面显示。
10.根据权利要求6所述的方法,还包括:
存储与所述公钥相关联的所述分割私钥的所述第一部分。
11.一种用于向服务器认证客户端的装置,包括:
处理器;
存储器,其与所述处理器联接;和
指令,其存储在所述存储器中并且能够由所述处理器执行以使所述装置:
在所述服务器处并且从所述客户端接收认证请求;
至少部分地基于接收到所述认证请求,向所述客户端发送已加密的随机质询和部分密钥协商结果,其中所述已加密的随机质询已使用对称密钥进行加密,并且所述对称密钥是使用公钥和在所述服务器上生成的短期非对称密钥对的短期私钥生成的,并且其中所述部分密钥协商结果基于分割私钥的第一部分,所述分割私钥与所述公钥相关联,并且所述服务器已经将所述分割私钥的第二部分发送至所述客户端,所述客户端被配置为使用所述部分密钥协商结果而导出用于解密所述已加密的随机质询的所述对称密钥;和
至少部分地基于接收到所述客户端成功解密所述已加密的随机质询的指示而认证所述客户端。
12.根据权利要求11所述的装置,其中所述指令还能够由所述处理器执行以使所述装置:
响应于接收到所述认证请求,在所述服务器上生成所述短期非对称密钥对,其中所述已加密的随机质询至少部分地基于所述短期非对称密钥对进行加密。
13.根据权利要求12所述的装置,其中所述指令还能够由所述处理器执行以使所述装置:
至少部分地基于接收到所述认证请求,使用所述公钥和所述短期非对称密钥对的所述短期私钥生成所述对称密钥;和
使用所述对称密钥加密随机质询以生成所述已加密的随机质询。
14.根据权利要求13所述的装置,其中所述指令还能够由所述处理器执行以使所述装置:
响应于使用所述短期私钥生成所述对称密钥,从存储器擦除所述短期私钥,所述擦除导致所述短期私钥是一次性使用的密钥。
15.根据权利要求11所述的装置,其中所述指令还能够由所述处理器执行以使所述装置:
使用分割私钥的第一部分生成所述部分密钥协商结果,所述服务器已经将所述分割私钥的第二部分发送至所述客户端。
16.一种存储用于向服务器认证客户端的代码的非暂时性计算机可读介质,所述代码包括能够由处理器执行的指令,以:
在所述服务器处并且从所述客户端接收认证请求;
至少部分地基于接收到所述认证请求,向所述客户端发送已加密的随机质询和部分密钥协商结果,其中所述已加密的随机质询已使用对称密钥进行加密,并且所述对称密钥是使用公钥和在所述服务器上生成的短期非对称密钥对的短期私钥生成的,并且其中所述部分密钥协商结果基于分割私钥的第一部分,所述分割私钥与所述公钥相关联,并且所述服务器已经将所述分割私钥的第二部分发送至所述客户端,所述客户端被配置为使用所述部分密钥协商结果而导出用于解密所述已加密的随机质询的所述对称密钥;和
至少部分地基于接收到所述客户端成功解密所述已加密的随机质询的指示而认证所述客户端。
17.根据权利要求16所述的非暂时性计算机可读介质,其中所述指令还能够由所述处理器执行以:
响应于接收到所述认证请求,在所述服务器上生成所述短期非对称密钥对,其中所述已加密的随机质询至少部分地基于所述短期非对称密钥对进行加密。
18.根据权利要求17所述的非暂时性计算机可读介质,其中所述指令还能够由所述处理器执行以:
至少部分地基于接收到所述认证请求,使用所述公钥和所述短期非对称密钥对的所述短期私钥生成所述对称密钥;和
使用所述对称密钥加密随机质询以生成所述已加密的随机质询。
19.根据权利要求18所述的非暂时性计算机可读介质,其中所述指令还能够由所述处理器执行以:
响应于使用所述短期私钥生成所述对称密钥,从存储器擦除所述短期私钥,所述擦除导致所述短期私钥是一次性使用的密钥。
20.根据权利要求16所述的非暂时性计算机可读介质,其中所述指令还能够由所述处理器执行以:
使用分割私钥的第一部分生成所述部分密钥协商结果,所述服务器已经将所述分割私钥的第二部分发送至所述客户端。
CN202180052369.5A 2020-07-24 2021-01-13 使用密钥协商的认证 Active CN116097615B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/938,632 US11233636B1 (en) 2020-07-24 2020-07-24 Authentication using key agreement
US16/938,632 2020-07-24
PCT/US2021/013221 WO2022019957A1 (en) 2020-07-24 2021-01-13 Authentication using key agreement

Publications (2)

Publication Number Publication Date
CN116097615A CN116097615A (zh) 2023-05-09
CN116097615B true CN116097615B (zh) 2024-04-19

Family

ID=74562045

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180052369.5A Active CN116097615B (zh) 2020-07-24 2021-01-13 使用密钥协商的认证

Country Status (5)

Country Link
US (2) US11233636B1 (zh)
EP (1) EP4179692A1 (zh)
JP (1) JP2023535077A (zh)
CN (1) CN116097615B (zh)
WO (1) WO2022019957A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11902420B2 (en) * 2021-11-23 2024-02-13 Theon Technology Llc Partial cryptographic key transport using one-time pad encryption
US20230231712A1 (en) * 2022-01-14 2023-07-20 Micron Technology, Inc. Embedded tls protocol for lightweight devices

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3313047A1 (en) * 2014-02-10 2018-04-25 QUALCOMM Incorporated Assisted device provisioning in a network
US10425224B1 (en) * 2017-06-30 2019-09-24 Salesforce.Com, Inc. Identity confirmation using private keys

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7734045B2 (en) * 2006-05-05 2010-06-08 Tricipher, Inc. Multifactor split asymmetric crypto-key with persistent key security
US9002018B2 (en) * 2006-05-09 2015-04-07 Sync Up Technologies Corporation Encryption key exchange system and method
US20080077592A1 (en) * 2006-09-27 2008-03-27 Shane Brodie method and apparatus for device authentication
US8719952B1 (en) * 2011-03-25 2014-05-06 Secsign Technologies Inc. Systems and methods using passwords for secure storage of private keys on mobile devices
US9838205B2 (en) * 2014-09-16 2017-12-05 Keypasco Ab Network authentication method for secure electronic transactions
CN105871538B (zh) * 2015-01-22 2019-04-12 阿里巴巴集团控股有限公司 量子密钥分发系统、量子密钥分发方法及装置
US9705859B2 (en) * 2015-12-11 2017-07-11 Amazon Technologies, Inc. Key exchange through partially trusted third party
US10411907B2 (en) 2017-01-25 2019-09-10 Salesforce.Com, Inc. Secure remote user authentication leveraging public key cryptography and key splitting
US10476855B1 (en) * 2017-08-29 2019-11-12 Salesforce.Com, Inc. Identity confirmation using private keys
US11316869B2 (en) * 2019-12-10 2022-04-26 Cisco Technology, Inc. Systems and methods for providing attestation of data integrity

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3313047A1 (en) * 2014-02-10 2018-04-25 QUALCOMM Incorporated Assisted device provisioning in a network
US10425224B1 (en) * 2017-06-30 2019-09-24 Salesforce.Com, Inc. Identity confirmation using private keys

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
A. Menezes 等.Handbook of Applied Cryptography.CRC Press,1996,第489-541页. *

Also Published As

Publication number Publication date
US20220131688A1 (en) 2022-04-28
JP2023535077A (ja) 2023-08-15
US11233636B1 (en) 2022-01-25
US11626980B2 (en) 2023-04-11
US20220029796A1 (en) 2022-01-27
EP4179692A1 (en) 2023-05-17
CN116097615A (zh) 2023-05-09
WO2022019957A1 (en) 2022-01-27

Similar Documents

Publication Publication Date Title
US11956230B2 (en) First factor contactless card authentication system and method
JP6701364B2 (ja) パスワードなしのコンピュータログインのサービス支援モバイルペアリングのためのシステム及び方法
US11764966B2 (en) Systems and methods for single-step out-of-band authentication
JP6335280B2 (ja) 企業システムにおけるユーザおよびデバイスの認証
US10693638B1 (en) Protected cryptographic environment
US9954834B2 (en) Method of operating a computing device, computing device and computer program
US9313185B1 (en) Systems and methods for authenticating devices
US11258617B1 (en) Device identity using key agreement
US9529733B1 (en) Systems and methods for securely accessing encrypted data stores
US11626980B2 (en) Authentication using key agreement
EP4193568B1 (en) Tenant aware mutual tls authentication
US11616780B2 (en) Security protection against threats to network identity providers
US10462113B1 (en) Systems and methods for securing push authentications
US20240073024A1 (en) Passkey integration techniques for identity management
US11831632B2 (en) Secure endpoint authentication credential control
US20240223554A1 (en) First factor contactless card authentication system and method

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
GR01 Patent grant
GR01 Patent grant