CN112425118A - 公钥-私钥对账户登录和密钥管理器 - Google Patents

公钥-私钥对账户登录和密钥管理器 Download PDF

Info

Publication number
CN112425118A
CN112425118A CN201980046709.6A CN201980046709A CN112425118A CN 112425118 A CN112425118 A CN 112425118A CN 201980046709 A CN201980046709 A CN 201980046709A CN 112425118 A CN112425118 A CN 112425118A
Authority
CN
China
Prior art keywords
user device
authentication server
account
public key
public
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.)
Granted
Application number
CN201980046709.6A
Other languages
English (en)
Other versions
CN112425118B (zh
Inventor
R·丘布利
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.)
Visa International Service Association
Original Assignee
Visa International Service Association
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 Visa International Service Association filed Critical Visa International Service Association
Publication of CN112425118A publication Critical patent/CN112425118A/zh
Application granted granted Critical
Publication of CN112425118B publication Critical patent/CN112425118B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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
    • 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/0442Network 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 asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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/0819Key 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/0825Key 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
    • 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
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/062Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明的实施例提供使用公钥‑私钥密码术而不是密码的改进的账户认证。账户提供商的认证服务器注册从用户装置接收到的公钥,而不是注册密码并使用所述密码登录账户。为了认证所述用户装置以登录到账户,所述认证服务器使用已注册公钥来生成质询并进行加密。将加密的质询发送给所述用户装置,所述用户装置能使用与所述已注册公钥相对应的私钥来对所述质询进行解密。将解密的质询代替密码用于认证。与所述公钥相对应的所述私钥被安全存储,并且不会向所述认证服务器泄露。

Description

公钥-私钥对账户登录和密钥管理器
相关申请交叉引用
本申请是PCT申请并且要求2018年7月13日提交的第16/035,480号美国申请的优先权,所述美国申请以全文引用的方式并入本文中。
背景技术
许多计算机和基于Web的账户提供商都使用密码来保护账户登录。例如,可以使用密码来认证访问操作系统登录账户、网站账户、软件应用程序或数据库的人员。账户密码(通常是字母数字字符串、手势、图像或图形)通常由账户用户在向账户提供商注册时设置。账户提供商存储用户的密码并将其与账户名相关联,这样用户可以用密码进行认证以登录其账户。
虽然基于密码的认证很常见,但它仍然存在许多安全问题。取决于密码复杂程度,可能使用字典或强行攻击来确定或猜测用户的密码。也可能通过在用户装置上运行的密钥记录软件或恶意软件来确定密码。此外,可能通过网络钓鱼或社交工程手段欺骗用户以使用户泄露他们的密码。此外,如果存储用户密码的账户提供商服务器被破解,也可能获取密码。因此,需要用于账户登录认证的改进的系统和方法。
本发明的实施例单独地以及共同地解决这些问题和其它问题。
发明内容
本发明的实施例提供用于账户登录认证的改进的系统和方法。
一个实施例涉及一种可以由用户装置执行的账户登录认证的方法。所述方法包括由所述用户装置将登录请求消息发送给认证服务器。所述登录请求消息包括公钥。所述公钥以及对应的私钥形成第一公钥-私钥对。所述方法还包括由所述用户装置从所述认证服务器接收加密的质询。所述方法还包括由所述用户装置使用所述私钥对所述加密的质询进行解密以获得解密的质询。所述方法还包括由所述用户装置将所述解密的质询发送给所述认证服务器。所述方法还包括由所述用户装置从所述认证服务器接收账户信息。
另一实施例涉及一种由认证服务器执行的账户登录认证的方法。所述方法包括由所述认证服务器从用户装置接收登录请求消息。所述登录请求包括公钥。所述方法还包括由所述认证服务器验证所述公钥匹配与账户相关联的已注册公钥。所述方法还包括由所述认证服务器生成第一质询。所述方法还包括由所述认证服务器使用所述公钥对所述第一质询进行加密以获得加密的质询。所述方法还包括由所述认证服务器将所述加密的质询发送给所述用户装置。所述方法还包括由所述认证服务器从所述用户装置接收第二质询。所述方法还包括由所述认证服务器确定所述第二质询与所述第一质询匹配。所述方法还包括由所述认证服务器响应于所述确定所述第二质询与所述第一质询匹配而将账户信息发送给所述用户装置。
另一实施例涉及一种用户装置。所述用户装置包括一个或多个处理器电路。所述用户装置还包括通信接口。所述用户装置还包括存储多个指令的计算机可读存储介质。所述多个指令当由所述一个或多个处理器电路执行时使所述一个或多个处理器电路使用所述通信接口将登录请求消息发送给认证服务器。所述登录请求包括公钥。所述公钥和私钥形成第一公钥-私钥对。所述多个指令还使所述一个或多个处理器使用所述通信接口从所述认证服务器接收加密的质询。所述多个指令还使所述一个或多个处理器使用所述私钥对所述加密的质询进行解密以获得解密的质询。所述多个指令还使所述一个或多个处理器使用所述通信接口将所述解密的质询发送给所述认证服务器。所述多个指令还使所述一个或多个处理器使用所述通信接口从所述认证服务器接收账户信息。
更多详细信息可在具体实施方式和附图中找到。
附图说明
图1示出了建立用于账户认证的密码的示例性账户注册过程的信息流图。
图2示出了使用密码进行账户认证的示例性账户登录过程的信息流图。
图3示出了根据一些实施例的使用公钥-私钥密码术进行账户认证的账户注册过程的信息流图。
图4示出了根据一些实施例的使用公钥-私钥密码术进行账户认证的账户登录过程的信息流图。
图5示出了根据一些实施例的由密钥管理器软件应用程序提供的图形用户界面上的示例性页面。
具体实施方式
通常使用密码登录由网站和软件应用程序维护的账户。账户用户能够在向账户提供商注册的过程中设置密码和账户名(例如,用户名)。图1示出了建立用于账户认证的密码的示例性账户注册过程的信息流图100。用户160可以使用用户装置120(例如,个人计算机或移动装置)访问由Web认证服务器140托管的网站,或用户装置120上的具有从Web认证服务器140检取的数据的软件应用程序。在一些情况下,Web认证服务器140可以执行认证,但不同的服务器可以提供账户数据或信息。
用户160可以使用Web认证服务器140注册账户和密码。密码可以用于使用Web认证服务器140进行认证,以便登录或访问用户账户。在注册过程的步骤101,Web认证服务器140可以向用户装置120提供注册页面。注册页面可以是Web浏览器的网页,也可以是软件应用程序的页面或屏幕(例如,图形用户界面)。注册页面可以在用户装置120的显示屏上显示为图形用户界面。在一些实施例中,用户装置120可以将用于创建注册页面的数据存储在系统存储器(例如,作为应用程序的一部分)中,因此可不执行步骤101。注册页面可以包括用于输入账户名(例如,用户名)和密码的文本输入字段。在一些实施例中,注册页面可以包括用于输入不同类型的密码或认证信息的其它字段。在一些实施例中,账户名可以由Web认证服务器140预先选择而不是由用户输入。在其它实施例中,用户160可以向用户装置120的用户界面提供输入以输入账户名。
在步骤102,用户160向用户装置120的文本输入用户接口(例如,触摸屏软件键盘、物理键盘、指针装置或语音激活的文本输入)提供输入。用户160的输入包括由用户160选择的密码。在一些实施例中,步骤102的用户输入还可包括账户名。在注册新账户时,用户通常选择难忘记的密码,以便他们不会忘记这些密码。但是,这种密码通常更容易使用密码安全攻击(例如,字典攻击或强行攻击)发现。与仅使用字母数字字符或仅使用更不复杂的小写字母的较不复杂密码相比,可以通过增加密码的长度或混合使用大写字母、小写字母、数字和特殊字符来增加密码复杂度。更复杂的密码被此类攻击发现的风险更小。但是,用户可能很难记住更复杂的密码。
用户装置120创建注册请求消息以发送给Web认证服务器140。注册请求消息包括用户160输入的密码。在一些实施例中,如果用户160输入账户名,则注册请求消息也包括账户名。在步骤103,用户装置120将注册请求消息发送给Web认证服务器140。注册请求消息可以通过通信网络(例如,互联网)发送给Web认证服务器140。用户装置120可以包括网络通信接口(例如,以太网网络接口控制器、Wi-Fi网络接口控制器或蜂窝网络接口控制器)。通信接口可以是用户装置120的集成片上系统(SOC)的一部分。
Web认证服务器140通过通信网络从用户装置120接收注册请求消息。Web认证服务器140还可包括用于接收网络通信(例如注册请求消息)的通信接口(例如,以太网网络接口控制器、Wi-Fi网络接口控制器或蜂窝网络接口控制器)。
在步骤104,Web认证服务器140处理注册请求消息。注册请求消息的处理包括从消息中检取密码,并将密码存储在密码数据库142中。存储的密码与用户账户的账户名相关联。如上所述,账户名可以由Web认证服务器140预先确定,或者可以由用户160输入,并且包括在注册请求消息中。稍后在账户登录过程中可以使用存储的密码。可以针对存储的密码检查在账户登录过程中接收的密码,以确定是否认证用户能访问账户。
在步骤104,如果用户已选择账户名,Web认证服务器140可以检查是否已使用所述特定账户名。如果账户名用作账户的标识符,Web认证服务器140可以执行此步骤。Web认证服务器140可以存储账户数据库,所述账户数据库包括由Web认证服务器140维护的账户的账户信息。账户数据库可以包括每个账户的对应账户名。因此,Web认证服务器140可将注册请求消息中包括的账户名(例如,用户160输入的账户名)与账户数据库中存储的账户名进行比较以确定是否匹配。
如果注册请求中包括的账户名与账户数据库中的账户名匹配,Web认证服务器140可不向用户160注册账户名。在这种情况下,Web认证服务器140在步骤105将注册响应消息发送给用户装置120,所述注册响应消息包括账户名未被注册的指示。Web认证服务器140可以通过通信网络将注册响应消息发送给用户装置120。
如果注册请求中包括的账户名与账户数据库中的任何账户名都不匹配,Web认证服务器140可以为用户160注册账户名。在这种情况下,Web认证服务器140在步骤105通过通信网络将注册响应消息发送给用户装置120,所述注册响应消息包括账户名被注册的指示。
图2示出了使用密码进行账户认证的示例性账户登录过程的信息流图200。图2的账户登录信息流可在图1的账户注册信息流之后发生。图2的用户260、用户装置220、Web认证服务器240和密码数据库242可以分别类似于图1的用户160、用户装置120、Web认证服务器140和密码数据库142。
在登录过程的步骤201,Web认证服务器240向用户装置220提供登录页面。登录页面可以是Web浏览器的网页,也可以是软件应用程序的页面或屏幕。登录页面可以在用户装置220的显示屏上显示为图形用户界面。在一些实施例中,用户装置220可以将登录页面存储在系统存储器(例如,作为应用程序的一部分)中,因此可不执行步骤101。登录页面可以包括输入账户名(例如,用户名)和密码的文本输入字段。因此,用户260可以输入其已注册账户名和密码,以访问其账户和/或账户信息。
在步骤202,用户260向用户装置220的文本输入用户接口(例如,触摸屏软件键盘、物理键盘、指针装置或语音激活的文本输入)提供输入。用户260的输入包括由用户260选择且以前在Web认证服务器240处注册的密码。在一些实施例中,步骤202的用户输入还包括对应的已注册账户名。
在从用户获得输入之后,用户装置220创建发送给Web认证服务器240的登录请求消息。登录请求消息包括用户260输入的密码。在一些实施例中,如果用户260输入账户名,则登录请求消息也包括账户名。在步骤203,用户装置220将登录请求消息发送给Web认证服务器240。登录请求消息可以通过通信网络(例如,互联网)发送给Web认证服务器240。用户装置220可以包括用于通过通信网络发送通信的网络通信接口(例如,以太网网络接口控制器、Wi-Fi网络接口控制器或蜂窝网络接口控制器)。
Web认证服务器240可以通过通信网络从用户装置220接收登录请求消息。在步骤204,Web认证服务器240处理登录请求消息。登录请求消息的处理可以包括检查账户名是否被注册。Web认证服务器240可以检查登录请求消息中包括的账户名是否与密码数据库242中存储的任何账户名匹配,以确定账户名是否被注册。在一些实施例中,Web认证服务器240可以将登录请求消息中包括的账户名与账户数据库中存储的账户名进行比较,所述账户数据库也存储账户信息。
登录请求消息的处理可以包括针对与账户名相关联的存储的密码来验证登录请求消息中接收的密码。Web认证服务器240可以使用登录请求消息中包括的账户名来检取与来自密码数据库242的账户名相关联的密码。如果来自登录请求消息的密码匹配与账户名相关联的存储的密码,则用户260已经过认证能访问对应的账户信息。如果来自登录请求消息的密码不匹配与账户名相关联的存储的密码,则用户260未经认证能访问对应的账户信息。
在步骤205,Web认证服务器240通过通信网络将登录响应消息发送给用户装置220。登录响应消息可以包括登录请求消息中接收的密码是否匹配与账户名相关联的存储的密码的指示(例如,是否已认证登录)。
如上文相对于图1和2所述,可以使用在账户注册期间建立的密码来登录所述账户。可以通过多种方式改进密码安全。例如,可以对密码数据库242进行加密,以改善密码的安全性而防止密码受损。但是,如果加密密钥或密码受损,可以对加密的密码进行解密。在一些实施例中,密码数据库242可以存储密码的哈希,而不是存储密码本身。因此,密码安全性得以改进,因为密码本身未存储在Web认证服务器240上,只存储了密码的哈希。在此类实施例中,在注册过程中接收到的密码被哈希,并且只有密码的哈希存储在密码数据库242中。这些密码哈希与对应的账户名相关联。在账户登录过程中接收到密码时,接收的密码将被哈希并与已存储的与账户名相关联的密码哈希进行比较。
为了进一步提高密码安全性,Web认证服务器240可以通过对密码附加或前置“盐”值(例如,随机字符串)使密码哈希随机化,然后再对密码进行哈希处理。这样,使用随机盐值的结果是,相同的密码将具有不同的哈希。盐值可以存储在账户的账户信息中,也可以添加到密码哈希中。在对密码进行哈希处理时使用盐值可以防止使用查找表(例如,具有来自密码字典的密码的预先计算的密码哈希的表)、反向查找表(例如,将服务器处存储的哈希与用户账户匹配的表)、彩虹查找表或其它类似技术从哈希值中发现密码。
然而,即使在Web认证服务器处使用加密或哈希保护了用户的密码,这种技术也不会使密码使用完全安全。例如,一些用户可能使用相同的账户名(例如,电子邮件地址)和由不同账户提供商提供的各种账户的相同密码。因此,如果一台服务器(例如,不太安全的服务器)受损,则用户的密码也会受损,而不管其它服务器的安全性如何。此外,用户的密码可能会在用户或用户装置端受损。例如,可能通过在用户装置上运行的密钥记录软件或恶意软件来确定密码。此外,可能通过网络钓鱼(例如,看似合法的欺诈通信)或社交工程技术(例如,操纵人们泄露机密信息的通信)欺骗用户以使用户泄露他们的密码。如果用户被骗而泄露密码,则计算机实施的安全性可能无法保护密码。因此,使用密码进行账户认证存在许多安全漏洞,其中许多漏洞无法通过改进的基于计算机的安全性来解决。需要可以抵抗这种安全性损害或不受这种安全性损害影响的改进的认证技术。
下述本发明的实施例提供了使用公钥-私钥密码术而不是密码的改进的账户认证过程。在账户注册过程中,用户装置可以生成包括公钥和私钥的公钥-私钥对。用户装置可以将公钥发送给Web认证服务器以用于替代地进行认证,而不是建立用于认证的密码。为了在账户登录过程中认证用户装置,Web认证服务器可以使用已注册公钥来生成质询并对质询进行加密。用户装置可以使用与公钥对应的私钥(例如,包括公钥的密钥对的私钥)来对质询进行解密。用户装置可以将解密的质询发送给Web认证服务器作为认证的证明。
Web认证服务器可以将其先前生成的质询与从用户装置接收到的解密的质询进行比较。如果来自用户装置的解密的质询与生成的质询匹配,则用户装置被认证并且Web认证服务器可以授予用户装置访问对应账户的权限。如果来自用户装置的解密的质询与生成的质询不匹配,则用户装置未经认证并且拒绝用户装置对对应账户的访问。
使用公钥-私钥密码术的认证不存在上文关于基于密码的认证所描述的许多安全缺陷。例如,在Web认证服务器或任何其它服务器上对用户装置的已注册公钥的安全性损害不会损害用户的认证信息(例如,用于对质询进行解密的私钥),因为仅使用公钥不能对由公钥加密的质询进行解密。也就是说,不能使用公钥和加密的质询来获得由Web认证服务器生成的质询。使用公钥-私钥密码术,需要私钥来对由公钥加密的质询进行解密。然而,私钥可安全地存储在用户装置处,可不通过通信网络发送,并且可无法通过任何其它装置访问。因此,服务器端的损害不会影响用户的认证信息。
基于公钥-私钥密码术的认证的另一优势是认证信息(例如,私钥)可以安全地存储在用户装置上实施的安全硬件或软件环境中。当将密码用作认证信息时,可以在注册和/或登录过程中的某个时间点以明文(例如,未加密)形式在任何安全环境之外提供这些密码。例如,当用户输入密码时,密钥记录软件可以访问密码。相比之下,利用基于公钥-私钥密码术的认证,可以在安全环境中生成并存储公钥-私钥对的私钥(例如,认证信息),而公钥和加密/解密的质询可以在安全环境之外访问。因此,即使包括用户装置的非安全环境,也可以确保用于由Web认证服务器进行认证的认证信息(例如,私钥)。
此外,不能通过网络钓鱼或社交工程技术从用户处确定私钥。例如,网络钓鱼网站最多只能从用户装置接收解密的质询作为认证的证明。网络钓鱼网站不会收到私钥。此外,社会工程技术将是无效的,因为如果私钥存储在安全环境中,用户可能不知道或无法查看私钥。即使用户可以使用私钥,他们也不太可能调用私钥的值,因为用户可能不直接与私钥值交互,并且私钥值可能很长,以至于调用起来不切实际。
因此,基于公钥-私钥密码术的认证相比基于密码的认证过程提供更多的安全性改进。在论述本发明的具体实施例之前,可详细描述一些术语。
I.术语
“用户”可以是出于某个目的使用某个其它事物的人或事物。用户可包括可与一个或多个私人账户和/或移动装置相关联的个人。在一些实施例中,用户也可被称为账户持有人。
“通信装置”可包括可用于通信的任何合适的计算装置。用户装置也可被称为“通信装置”或“计算装置”。用户装置可提供远程或直接通信能力。远程通信能力的示例包括使用移动电话(无线)网络、无线数据网络(例如,3G、4G或类似网络)、Wi-Fi、Wi-Max,或可提供对例如互联网或私用网络之类的网络的访问的任何其它通信介质。通信装置的示例包括台式计算机、视频游戏控制台、移动电话(例如,蜂窝电话)、PDA、平板计算机、上网本、笔记本电脑、个人音乐播放器、手持式专用读取器等。用户装置的其它示例包括可穿戴装置,例如智能手表、健身手环、踝链、戒指、耳环等,以及具有远程或直接通信能力的汽车。用户装置可以包括用于执行此类功能的任何合适的硬件和软件,且还可包括多个装置或组件(例如,当装置通过系链到另一装置而远程访问网络时—即,使用另一装置作为调制解调器—两个装置一起被视为单个通信装置)。
术语“服务器计算机”可包括可向其它计算装置提供通信并从其它计算装置接收通信的任何合适的计算装置。举例来说,服务器计算机可以是大型主机、小型计算机集群或充当单元的一组服务器。在一个示例中,服务器计算机可以是耦合到Web服务器的数据库服务器。服务器计算机可以耦合到数据库,并且可包括用于服务于来自一个或多个客户端计算机的请求的任何硬件、软件、其它逻辑或前述内容的组合。服务器计算机可以包括一个或多个计算设备,并可以使用多种计算结构、布置和编译中的任一种来服务于来自一个或多个客户端计算机的请求。例如计算机的组件之间的数据传递和其它通信可通过例如互联网或私用网络的任何合适的有线或无线网络进行。本文所述的“Web认证服务器”可以由服务器计算机实施。
“账户提供商”指提供账户供用户和/或用户装置使用的实体。账户提供商可提供的账户类型的示例包括电子邮件账户、数字存储账户、社交媒体账户、商户或电子商务网站账户等。账户提供商可以提供“Web认证服务器”,以维护和存储每个用户账户的账户信息和认证信息(例如,公钥、密码或密码哈希)。在一些实施例中,Web认证服务器可以存储在注册和登录过程中使用的认证信息,而单独的服务器存储在用户装置被认证之后提供的账户信息。
术语“公钥/私钥对”可以包括由实体(例如,计算机或电子装置)生成的一对关联密码密钥。公钥可以用于公共功能,例如对要发送给实体的消息进行加密,或用于对应该由实体作出的数字签名进行验证。另一方面,私钥可以用于私用功能,例如对接收到的消息进行解密或应用数字签名。私钥通常会被保持在安全存储介质中,且通常不被其它实体知道。然而,本文中描述的密码系统可以以用于恢复丢失的密钥并避免数据丢失的密钥恢复机制为特征。公钥和私钥可以是任何适当格式,包括基于RSA Rivest-Shamir-Adleman(RSA)的密码术或椭圆曲线密码术(ECC)的格式。
“加密密钥”可以包括适合于对数据进行密码加密的任何数据值或其它信息。“解密密钥”可以包括适合于对加密的数据进行解密的任何数据值或其它信息。在一些情况下,用于对数据进行加密的同一密钥可以用于对数据进行解密。这种密钥可以被称为对称加密密钥。
术语“认证”通常是指对用户或计算机的身份建立信任的过程。可以使用密码、通过代码、图像或手势执行认证。可以通过将公钥密码术(例如,加密的数据或数字签名)用于认证信息来确认装置的身份而执行认证。还可以使用生物特征识别数据来执行认证。术语“认证数据”或“认证信息”可以包括适合于认证用户或装置的任何数据或信息。此外,认证数据可以指在认证过程期间可以使用的数据以及其它信息(例如,用于对数据进行加密/解密以进行认证的加密密钥)。认证数据的示例可以包括密码或口令短语、解密的质询、对应于已注册公钥的公钥、秘密密钥(例如,私钥)、数字签名、装置存储某些信息的指示等。“认证服务器”接收认证信息(例如,密码、公钥、解密的质询),并使用所述信息进行认证过程。认证服务器可以是执行用于通过网站访问在线账户的认证的“Web认证服务器”。“Web认证服务器”还可以对使用移动应用程序而不是Web浏览器访问的账户执行认证。即,术语“Web认证服务器”不旨在限于仅与网站一起使用,而是旨在涵盖跨网络的认证而不一定使用Web浏览器。
“质询”或“质询短语”是指在认证过程中使用的数据值。质询可以是字母数字单词、短语或字符串。质询也可以是位字符串或位阵列。质询可以随机生成或预先确定。在一些实施例中,针对每个不同的登录请求可以使用新的质询。
“应用程序编程接口”(API)是一组用于构建软件应用程序的程序、协议或工具。API可用于构建允许一个或多个实体之间的通信的应用程序。API的示例包括POSIX和C++标准模板库。“API调用”是可通过API进行的两个软件应用程序或计算机之间的通信。API调用可包括在软件应用程序之间请求或递送信息的标准化方法,所述软件应用程序例如客户端应用程序和根据服务器端API的服务器端应用程序。API调用可采取例如GET、POST、PUT或DE的HTTP方法的形式。此处描述的账户注册和账户登录消息可根据一个或多个API进行格式化和传输。
如本文中所使用,术语“提供”可包括发送、传输、在网页上可用、用于下载、通过应用程序、显示或呈现或任何其它适合的方法。在本发明的各种实施例中,规则简档、规则结果频率和规则结果的设置频率可以任何适合的方式提供。
“处理器”或“处理器电路”可以指任何合适的一个或多个数据计算装置。处理器可以包括一起工作以实现所要功能的一个或多个微处理器。处理器可以包括CPU,所述CPU包括至少一个高速数据处理器,所述高速数据处理器足以执行用于执行用户和/或系统生成的请求的程序组件。所述CPU可以是微处理器,例如AMD的速龙(Athlon)、钻龙(Duron)和/或皓龙(Opteron)等;IBM和/或摩托罗拉(Motorola)的PowerPC;IBM和索尼(Sony)的Cell处理器;英特尔(Intel)的赛扬(Celeron)、安腾(Itanium)、奔腾(Pentium)、至强(Xeon)和/或XScale等;以及/或类似处理器。
“存储器”或“系统存储器”可以是可存储电子数据的任何合适的一个或多个装置。合适的存储器可以包括非瞬态计算机可读介质,其存储可由处理器执行以实施所要方法的指令。存储器的示例可以包括一个或多个存储器芯片、磁盘驱动器,等等。此类存储器可使用任何合适的电气、光学和/或磁性操作模式来操作。
本文中所描述的计算机、网络及装置中的任一个之间传达的消息可使用安全通信协议传输,所述安全通信协议例如但不限于,文件传送协议(FTP);超文本传送协议(HTTP);安全超文本传送协议(HTTPS)、安全套接层(SSL)、ISO(例如,ISO 8583)等等。
II.使用公钥-私钥密码术的认证
本发明的实施例使用公钥-私钥密码术而不是密码提供改进的账户认证过程。代替注册密码并使用所述密码登录,注册公钥并使用私钥来对已使用公钥加密的质询进行解密。解密的质询用于向Web服务器进行认证,以证明用户装置能够访问与已注册公钥相对应的私钥。在下述实施例中,公钥-私钥对的公钥被提供给账户提供商的Web认证服务器。因此,能够防止公钥-私钥对的私钥受损,因为私钥被安全存储且不会被提供给任何其它计算装置。下文相对于图3和4描述了使用公钥-私钥密码术的账户注册和登录过程。
图3示出了根据本发明的实施例的使用公钥-私钥密码术进行账户认证的账户注册过程的信息流图300。用户360可以使用用户装置320(例如,个人计算机或移动装置)来访问由Web认证服务器340托管的网站或软件应用程序。用户360可以向Web认证服务器340注册公钥。公钥和对应私钥形成公钥-私钥对,可以用来向Web认证服务器340进行认证,以便登录或访问用户的账户。
在注册过程的步骤301,Web认证服务器340可以向用户装置320提供注册页面。注册页面可以是Web浏览器的网页,也可以是软件应用程序的页面或屏幕。注册页面可以在用户装置320的显示屏上显示为图形用户界面。在一些实施例中,用户装置320可以将注册页面存储在系统存储器(例如,作为应用程序的一部分)中,因此可不执行步骤301。
注册页面可以包括账户提供商的指示。注册页面可以包括发起账户注册过程的按钮。在一些实施例中,注册页面可以包括用于输入账户名(例如,用户名)的文本输入字段。在其它实施例中,用户360可以向用户装置320的用户界面提供输入以输入账户名。在其它实施例中,账户名可以由Web认证服务器340预先选择,并且注册页面可以指示预选择的账户名。在一些实施例中,注册页面可以包括用于输入要注册的公钥的文本输入字段。在其它实施例中,可以将公钥自动提供给Web认证服务器,而不需要用户360的文本输入输入。
在步骤302,如果注册页面包括用于输入账户名的文本输入字段,则用户360可以使用用户装置320的文本输入用户接口(例如,触摸屏软件键盘、物理键盘、指针装置或语音激活的文本输入)向文本输入字段提供输入。用户360的输入可以设置为账户名。
在步骤303,用户装置320生成包括公钥324和私钥326的公钥-私钥对322。用户装置320可以响应于对用户接口的输入而生成公钥-私钥对322。例如,用户装置320可以响应于按下确认在步骤302用户输入的账户名的按钮而生成公钥-私钥对322。在另一示例中,用户装置320可以响应于按下注册页面上发起账户注册过程的按钮而生成公钥-私钥对322。
在公钥-私钥密码术中,公钥324可以用于公共功能,例如对要发送给实体的消息进行加密,或用于对应该由实体作出的数字签名进行验证。另一方面,私钥326可以用于私用功能,例如对接收到的消息进行解密或应用数字签名。私钥326可保存在安全存储介质、安全硬件环境或安全软件环境中,并且仅可用于访问生成公钥-私钥对322的用户装置320。例如,可以使用RSA密码术或椭圆曲线密码术来生成公钥-私钥对322。
在生成公钥-私钥对322之后,用户装置320创建发送给Web认证服务器340的注册请求消息。注册请求消息包括由用户装置320生成的公钥-私钥对322的公钥324。在一些实施例中,如果用户360输入账户名,则注册请求消息也包括账户名。
在步骤304,用户装置320将注册请求消息发送给Web认证服务器340。注册请求消息可以通过通信网络(例如,互联网)发送给Web认证服务器340。用户装置320可以包括网络通信接口(例如,以太网网络接口控制器、Wi-Fi网络接口控制器或蜂窝网络接口控制器)以通过通信网络发送此类通信。在一些实施例中,通信接口可以是用户装置320的集成片上系统(SOC)的一部分。
Web认证服务器340通过通信网络从用户装置320接收注册请求消息。Web认证服务器340还可包括用于接收网络通信(例如注册请求消息)的通信接口(例如,以太网网络接口控制器、Wi-Fi网络接口控制器或蜂窝网络接口控制器)。
在步骤305,Web认证服务器340处理注册请求消息。注册请求消息的处理包括从注册请求消息中确定公钥324,并将公钥324存储在公钥数据库342中。在处理注册请求消息的一部分,Web认证服务器340可以检查注册请求消息中包括的公钥324是否已经被注册并且正在使用中。Web认证服务器340可将注册请求消息中包括的公钥324与公钥数据库342中存储的公钥进行比较,以确定所存储的公钥中的任何一个是否匹配注册请求消息中包括的公钥324。如果注册请求消息中包括的公钥324与公钥数据库342中存储的所存储的公钥中的任何一个都不匹配,则Web认证服务器340可以通过将公钥324存储在公钥数据库342中来注册所述公钥。在这种情况下,在306,Web认证服务器340可以发送注册响应消息,指示公钥324已注册。如果注册请求消息中包括的公钥324与公钥数据库342中存储的公钥匹配,则Web认证服务器340可以不注册公钥324,并且可以不将其存储在公钥数据库342中。在这种情况下,在306,Web认证服务器340可以发送注册响应消息,指示公钥324尚未注册。
如上所述,账户名可以由Web认证服务器340预先确定,或者可以由用户360输入,并且包括在注册请求消息中。在用户360输入账户名的情况下,Web认证服务器340确定来自注册请求消息的账户名,并将所述账户名与同一注册请求消息中包括的公钥324相关联。公钥数据库342中存储的公钥324可以与用户账户的账户名相关联。稍后可以在账户登录过程中使用所存储的公钥324来对质询进行加密,如下所述。也就是说,可不重新注册公钥。
在步骤305,如果用户360已选择账户名并且所述账户名包括在注册请求消息中,则Web认证服务器340可以检查所述特定账户名是否已经注册并在注册请求处理的一部分中使用。Web认证服务器340可以存储账户数据库,所述账户数据库包括由Web认证服务器340维护的账户的账户信息。账户数据库可以包括每个账户的对应账户名。因此,Web认证服务器340可将注册请求消息中包括的账户名(例如,用户360输入的账户名)与账户数据库中存储的账户名进行比较以确定是否匹配。在其它实施例中,公钥用作标识用户账户的账户名,而不是使用用户选择的或预选择的账户名。
在步骤305,如果注册请求中包括的账户名与账户数据库中的账户名匹配,Web认证服务器340可不向用户360注册账户名。在这种情况下,Web认证服务器340在步骤305将注册响应消息发送给用户装置320,所述注册响应消息包括账户名未被注册的指示。Web认证服务器340可以通过通信网络将注册响应消息发送给用户装置320。
如果注册请求中包括的账户名与账户数据库中的任何账户名都不匹配,Web认证服务器140可以为用户160注册账户名。在这种情况下,Web认证服务器140在步骤105通过通信网络将注册响应消息发送给用户装置120,所述注册响应消息包括账户名被注册的指示。
在一些实施例中,注册响应消息可以指示公钥324是用注册响应消息中包括的账户名注册的。在一些实施例中,注册响应消息可以指示账户名不可用。在一些实施例中,注册响应消息可以指示公钥已经注册。
因此,用户装置320可以生成公钥-私钥对322,并向账户提供商的Web认证服务器340注册公钥,使得用户装置320能够在账户登录过程中使用私钥326向Web认证服务器340进行认证。如下面进一步讨论的,Web认证服务器340可以使用已注册公钥324对质询进行加密,并且如果用户装置可以使用私钥326对质询进行解密并将解密的质询发送回Web认证服务器340,则可以认证用户装置320。
图4示出了根据一些实施例的使用公钥-私钥密码术进行账户认证的账户登录过程的信息流图400。图4的账户登录信息流可在图3的账户注册信息流之后发生。图4的用户460、用户装置420、Web认证服务器440和公钥数据库442可以分别类似于图3的用户360、用户装置320、Web认证服务器340和公钥数据库342。
在登录过程的步骤401,Web认证服务器440向用户装置420提供登录页面。登录页面可以是Web浏览器的网页,也可以是软件应用程序的页面或屏幕。登录页面可以在用户装置420的显示屏上显示为图形用户界面。在一些实施例中,用户装置420可以将登录页面存储在系统存储器(例如,作为应用程序的一部分)中,因此可不执行步骤101。
在一些实施例中,登录页面可以包括用户界面中用于发起登录过程的按钮。在一些实施例中,登录页面可以包括用于输入账户名(例如,用户名)的文本输入字段。在一些实施例中,登录页面可以列出用户装置420之前已注册的一个或多个账户名。在一些实施例中,登录页面可以列出对应账户提供商的标识符与一个或多个账户名。在一些实施例中,除了一个或多个账户名之外或代替一个或多个账户名,登录页面可以列出用户装置之前已注册的一个或多个公钥值。
在步骤402,如果登录页面包括账户名的文本输入字段,则用户460可以输入其已注册账户名。在步骤402,如果登录页面包括一个或多个账户名的列表或一个或多个公钥值的列表,则用户460可以向用户接口提供输入以选择特定账户名或公钥。用户460可以使用用户装置220的用户接口(例如,触摸屏软件键盘、物理键盘、指针装置或语音激活的文本输入)提供输入。例如,用户460可以选择与公钥424相关联的所显示的账户名,或者用户460可以为公钥424选择所显示的公钥值,或者用户可以将公钥424的公钥值输入到文本输入字段中。
在接收到用户输入之后,用户装置420创建发送给Web认证服务器440的登录请求消息。登录请求消息包括由用户460选择的公钥424。在一些实施例中,如果用户460输入账户名,则登录请求消息也包括账户名。
在替代实施例中,用户装置420可以创建包括账户名但不包括公钥424的登录请求消息。登录请求消息可能不需要包括公钥424,其中Web认证服务器440已经将账户名与公钥424相关联(例如,在注册过程期间),并且可以使用相关联的账户名来确定公钥424。
在步骤403,用户装置420将登录请求消息发送给Web认证服务器440。登录请求消息可以通过通信网络(例如,互联网)发送给Web认证服务器440。用户装置420可以包括用于通过通信网络发送通信的网络通信接口(例如,以太网网络接口控制器、Wi-Fi网络接口控制器或蜂窝网络接口控制器)。Web认证服务器440可以通过通信网络从用户装置420接收登录请求消息。
在步骤404,Web认证服务器440处理登录请求消息。登录请求消息的处理可以包括检查账户名是否被注册。Web认证服务器440可以检查登录请求消息中包括的账户名是否与公钥数据库442中存储的任何账户名匹配,以确定账户名是否被注册。在一些实施例中,Web认证服务器440可以将登录请求消息中包括的账户名与账户数据库中存储的账户名进行比较,所述账户数据库也存储账户信息。如果账户名未注册,Web认证服务器240可以拒绝登录请求,并且在步骤411发送的登录响应消息可以包括账户名未注册的指示。如果账户名被注册,在步骤411发送的登录响应消息可以包括账户名被注册的指示。
登录请求消息的处理还可包括验证公钥424是否被注册。Web认证服务器440可以检查登录请求消息中包括的公钥424是否与公钥数据库442中存储的任何公钥匹配,以确定公钥424是否被注册。如果公钥424未注册,Web认证服务器240可以拒绝登录请求,并且在步骤411发送的登录响应消息可以包括公钥424未注册的指示。如果公钥424被注册,在步骤411发送的登录响应消息可以包括公钥424被注册的指示。
在步骤405,如果公钥被注册,Web认证服务器440可以生成用于认证用户装置420的质询。质询可以是字母数字单词、短语或字符串。质询也可以是位字符串或位阵列。质询可以由Web认证服务器440随机生成,或者可以预先确定。在一些实施例中,针对每个不同的登录请求可以使用新的质询。
在步骤406,Web认证服务器440可以使用公钥424(例如,在登录请求消息中接收到的公钥424和/或公钥数据库442中存储的公钥424)对生成的质询进行加密以获得加密的质询。
在步骤407,Web认证服务器440可以将加密的质询发送给用户装置420。加密的质询可以使用Web认证服务器440的通信接口通过通信网络发送。在一些实施例中,公钥424和/或对应的账户名可以与加密的质询一起发送给用户装置420。
用户装置420可以从Web认证服务器440接收加密的质询。可使用用户装置420的通信接口通过通信网络接收加密的质询。在一些实施例中,公钥424和/或账户名可以包括在加密的质询中。用户装置可以使用账户名和/或公钥424来确定公钥-私钥对422。然后,在步骤408,用户装置420可以使用与账户名关联的公钥-私钥对422的私钥426对加密的质询进行解密,以获得解密的质询。由于私钥426与用于对加密的质询进行加密的公钥424形成公钥-私钥对,因此由用户装置420获得的解密的质询将与Web认证服务器440生成的质询相同。因此,用户装置420可以证明其有权访问与先前在Web认证服务器440中注册的公钥424相对应的私钥426。
在409,用户装置420可以将解密的质询发送给Web认证服务器440。解密的质询可使用用户装置420的通信接口通过通信网络发送。在一些实施例中,用户装置420可以发送公钥424和/或账户名以及解密的质询。Web认证服务器440可以从用户装置420接收解密的质询。可以使用Web认证服务器440的通信接口通过通信网络接收解密的质询。
在步骤410,Web认证服务器440可以处理解密的质询。处理解密的质询可以包括确定由Web认证服务器440生成的对应质询,并将生成的质询与从用户装置420接收到的解密的质询进行比较来确定两个质询的匹配。在一些实施例中,Web认证服务器440可以将生成的质询与公钥或账户名相关联。Web认证服务器440可以确定其基于从用户装置420接收到的公钥或账户名而生成的质询以及解密的质询。Web认证服务器440认证用户装置420是解密的质询匹配生成的质询,因为这证明用户装置420有权访问与已向Web认证服务器440注册的公钥424形成公钥-私钥对422的私钥426。如果从用户装置420接收到的解密的质询与对应的生成的质询不匹配,则用户装置未被认证。Web认证服务器440然后可以生成登录响应消息,所述登录响应消息包括用户装置420是否已经过认证的指示。
在步骤411,Web认证服务器440可以将登录响应消息发送给用户装置420。登录响应消息可以使用Web认证服务器440的通信接口通过通信网络发送。用户装置420可以使用用户装置420的通信接口通过通信网络接收登录请求消息。
如果用户装置420被认证,Web认证服务器440可以检取与公钥或账户名相关联的账户信息。可以使用公钥或账户名从账户数据库中检取账户信息。然后,Web认证服务器440可以向用户装置420提供账户信息。在一些实施例中,账户信息包括在步骤411发送的登录响应消息中。
因此,用户装置420可以使用与向Web认证服务器440注册的公钥424相对应的私钥426向Web认证服务器440进行认证。
在一些实施例中,账户登录和认证过程可以由用户装置420和Web认证服务器440自动执行,而无需来自用户460的输入。例如,由Web认证服务器440发送的登录页面可以包括Web认证服务器440的标识符。Web认证服务器440的标识符还可包括在图3的步骤301从Web认证服务器接收的注册页面中。因此,用户装置420(并且类似地,图3的用户装置320)可以将Web认证服务器440的标识符与向所述Web认证服务器440注册的公钥424相关联。因此,用户460可无需提供输入以输入或选择账户名。
III.密钥管理器
用户装置可以存储和执行密钥管理器软件应用程序,所述密钥管理器软件应用程序可为众多不同账户存储公钥-私钥对。为账户注册和账户登录执行的用户装置的步骤和操作可以由密钥管理器软件应用程序处理。密钥管理器软件应用程序还可以使用户能够选择适当的公钥来登录到Web认证服务器的特定账户中。密钥管理器软件应用程序还可以使用户能够查看和复制公钥值。密钥管理器软件应用程序还可以使用户能够添加(例如,注册)新的公钥和账户,并删除现有公钥和账户。密钥管理器软件应用程序还可以提供用于查看上述注册页面和登录页面的界面。密钥管理器软件应用程序还可以提供下载公钥或以文本格式显示公钥。密钥管理器软件应用程序可以提供用于粘贴加密的质询消息的格式。密钥管理器软件应用程序可以显示解密的质询,以便复制/粘贴到网站/应用程序中进行质询响应。
图5示出了根据一些实施例的由密钥管理器软件应用程序提供的图形用户界面501上的示例性页面。如图5所示,密钥管理器软件应用程序可以使用户能够从多个公钥中选择用于账户登录的公钥。例如,用户装置可能已接收登录页面(在步骤401),并且可能需要来自用户的输入(步骤402),如上文相对于图4所述。用户装置可以呈现并显示图形用户界面501,以使用户(例如,用户460)能够选择要包括在登录请求消息中的公钥。
图形用户界面501的框502指示用户装置尝试登录的账户提供商。在此通用示例中,账户提供商是“账户提供商Y”。图形用户界面501列出了密钥管理器软件应用程序已经向账户所属的账户提供商注册的几个账户名,以及向账户注册的公钥的指示。
例如,图形用户界面501的框503显示使用以“FD37 89B9”结尾的公钥向“账户提供商Y”注册的“账户B”的账户名。公钥值可以以十六进制格式显示。在一些实施例中,可以显示整个公钥。在一些实施例中,整个公钥可以显示在密钥管理器软件应用程序的不同页面上。
在选择框502时,密钥管理器软件应用程序可以在登录请求消息中包括账户名“账户B”和公钥(例如,公钥的整个值),并且可以将登录请求消息发送给处理“账户提供商Y”的认证的Web认证服务器。
IV.示例性方法
下面描述用户装置执行的账户登录认证的示例性方法。
所述方法包括由用户装置将登录请求消息发送给Web认证服务器。所述登录请求消息包括公钥。所述公钥以及对应的私钥形成第一公钥-私钥对。所述方法还包括由所述用户装置从所述Web认证服务器接收加密的质询。所述方法还包括由所述用户装置使用所述私钥对所述加密的质询进行解密以获得解密的质询。所述方法还包括由所述用户装置将所述解密的质询发送给所述Web认证服务器。所述方法还包括由所述用户装置从所述Web认证服务器接收账户信息。
所述方法还可包括由所述用户装置在所述用户装置的用户界面上显示一个或多个账户名。所述方法还可包括由所述用户装置基于对所述用户界面的输入来确定第一账户名。显示的所述一个或多个账户名可以包括所述第一账户名。所述方法还可包括由所述用户装置确定所述第一公钥-私钥对与所述第一账户名相关联。所述方法还可包括由所述用户装置基于确定所述第一公钥-私钥对与所述第一账户名相关联而创建所述登录请求消息。所述登录请求消息还可包括所述账户名。
所述方法还可包括由所述用户装置确定所述公钥与加密的私钥相关联。可以响应于接收到所述加密的质询而执行此步骤。所述方法还可包括由所述用户装置基于对所述用户装置的用户界面的输入来确定认证信息。所述认证信息可以是用于对所述私钥进行加密以安全存储的密码。所述方法还可包括由所述用户装置基于所述认证信息对所述加密的私钥进行解密。通过对所述加密的私钥进行解密,所述用户装置可以获得未加密的所述私钥。
在执行上述账户登录步骤之前,所述方法可以执行账户注册步骤。作为账户注册的一部分,所述方法还可包括由所述用户装置生成所述公钥-私钥对。所述方法还可包括由所述用户装置将注册请求消息发送给所述Web认证服务器。所述注册请求消息可以包括所述公钥。所述方法还可包括由所述用户装置从所述Web认证服务器接收注册响应。所述注册响应可以包括向所述用户装置注册所述公钥的指示。
在一些实施例中,所述方法还可包括由所述用户装置基于来自所述用户装置的用户界面的输入来确定账户名。所述方法还可包括由所述用户装置基于来自所述用户界面的所述输入而创建所述注册请求消息。所述注册请求消息还可包括所述账户名。
在一些实施例中,所述方法还可包括由所述用户装置基于对所述用户装置的用户界面的输入来确定认证信息。所述认证信息可以是用于对所述私钥进行加密以安全存储的密码。所述方法还可包括由所述用户装置基于所述认证信息对所述私钥进行加密以获得加密的私钥。所述方法还可包括由所述用户装置存储所述加密的私钥和所述公钥。所述方法还可包括由所述用户装置将所述加密的私钥与所述公钥相关联。
所述方法还可包括由所述用户装置在所述用户装置的用户界面上显示一个或多个账户名和相关联的公钥。所述方法还可包括由所述用户装置在所述用户界面上显示所述解密的质询。
下面描述了由Web认证服务器执行的账户登录认证的示例性方法。
所述方法包括由Web认证服务器从用户装置接收登录请求消息。所述登录请求包括公钥。所述方法进一步包括由所述Web认证服务器验证所述公钥匹配与账户相关联的已注册公钥。所述方法还包括由所述Web认证服务器生成第一质询。所述第一质询可以是随机生成的字母数字字符串。所述方法还包括由所述Web认证服务器使用所述公钥对所述第一质询进行加密以获得加密的质询。所述方法还包括由所述Web认证服务器将所述加密的质询发送给所述用户装置。所述方法还包括由所述Web认证服务器从所述用户装置接收第二质询。所述方法还包括由所述Web认证服务器确定所述第二质询与所述第一质询匹配。所述方法还包括由所述Web认证服务器响应于所述确定所述第二质询与所述第一质询匹配而将账户信息发送给所述用户装置。
所述方法还可包括由所述Web认证服务器确定所述公钥与所述账户名相关联。所述方法还可包括由所述Web认证服务器确定所述账户信息与所述账户名相关联。
所述方法还可包括在所述账户登录过程之前发生账户注册过程。所述方法还可包括由所述Web认证服务器从所述用户装置接收注册请求消息。所述注册请求消息可以包括所述公钥。所述方法还可包括由所述Web认证服务器确定所述注册请求消息中包括的所述公钥是否与多个已注册公钥中的至少一个匹配。所述方法还可包括由所述Web认证服务器基于确定所述注册请求消息中包括的所述公钥是否与所述多个已注册公钥中的所述至少一个匹配来确定是否注册所述公钥。所述方法还可包括由所述Web认证服务器将包括所述公钥是否被注册的指示的注册响应消息发送给所述用户装置。
在一些实施例中,所述方法的注册部分还可包括由所述Web认证服务器存储所述公钥,并且由所述Web认证服务器将账户名与所述公钥相关联。
在一些实施例中,所述方法的所述注册部分还可包括由所述Web认证服务器通过将所述公钥与账户名相关联来注册所述公钥。此步骤可以响应于确定所述注册请求消息中包括的所述公钥与所述多个已注册公钥中的任何已注册公钥都不匹配而执行。所述方法还可包括由所述Web认证服务器创建所述注册响应消息。所述注册响应中包括的所述指示可以指示所述公钥被注册。
在一些实施例中,所述注册请求消息还包括所述账户名。在此类实施例中,所述方法还可包括由所述Web认证服务器确定所述注册请求消息中包括的所述账户名是否与多个已注册账户名中的至少一个匹配。此外,所述方法还可包括由所述Web认证服务器基于确定所述注册请求消息中包括的所述账户名是否与所述多个已注册账户名中的所述至少一个匹配来确定是否注册所述账户名。在这种情况下,所述注册响应消息还包括是否使用所述公钥注册所述账户名的第二指示。
本发明的实施例具有多个优点。使用公钥-私钥密码术的认证不存在上文关于基于密码的认证所描述的许多安全缺陷。例如,在Web认证服务器或任何其它服务器上的用户装置的已注册公钥的安全性损害不会影响用户的认证信息(例如,私钥对),因为公钥不能用于对由公钥加密的质询进行解密,以获得由Web认证服务器生成的相同质询。使用公钥-私钥密码术,需要私钥来对由公钥加密的质询进行解密。然而,私钥可以安全地存储在用户装置上,且不能通过通信网络发送。因此,服务器端的损害不会影响用户的认证信息。
基于公钥-私钥密码术的认证的另一优势是认证信息可以安全地存储在用户装置上实施的安全硬件或软件环境中。当密码用作认证信息时,必须在注册和/或登录过程中的某个时间点以明文(例如,未加密)形式在任何安全环境之外提供这些密码,以便将密码提供给Web认证服务器。相比之下,利用基于公钥-私钥密码术的认证,可以在安全环境中生成并存储公钥-私钥对的私钥(例如,认证信息),而公钥和加密/解密的质询可以在安全环境之外访问。因此,即使包括用户装置的非安全环境,也可以确保用于由Web认证服务器进行认证的认证信息(例如,私钥)。
此外,不能通过网络钓鱼或社交工程技术从用户处确定私钥。例如,网络钓鱼网站最多只能从用户装置接收解密的质询作为认证的证明。网络钓鱼网站不会收到私钥。此外,社会工程技术将是无效的,因为如果私钥存储在安全环境中,用户可能不知道或无法查看私钥。即使用户可以使用私钥,他们也不太可能调用私钥的值,因为用户可能不直接与私钥值交互,并且私钥值可能很长,以至于调用起来不切实际。
因此,基于公钥-私钥密码术的认证相比基于密码的认证过程提供更多的安全性改进。
计算机系统可用于实施本文中所描述的实体或组件中的任一个。计算机系统中的子系统通过系统总线互连。额外子系统包括打印机、键盘、固定磁盘和监视器,监视器可耦合到显示适配器。外围装置和可以耦合到输入/输出(I/O)控制器的I/O装置可以由所属领域已知的任何数量个构件连接到计算机系统,所述构件例如串行端口。例如,串行端口或外部接口可用于将计算机设备连接到例如互联网的广域网、鼠标输入装置或扫描仪。通过系统总线的互连允许中央处理器与每个子系统通信,并且控制来自系统存储器或固定磁盘的指令的执行以及子系统之间的信息交换。系统存储器和/或固定磁盘可体现计算机可读介质。
如所描述,本发明的服务可涉及实施一个或多个功能、过程、操作或方法步骤。在一些实施例中,由于通过适当编程的计算装置、微处理器、数据处理器等执行指令集或软件代码,可以实施功能、过程、操作或方法步骤。指令集或软件代码可存储在由计算装置、微处理器等存取的存储器或其它形式的数据存储元件中。在其它实施例中,所述功能、过程、操作或方法步骤可由固件或专用处理器、集成电路等实施。
本申请中描述的任何软件组件或功能可使用任何合适的计算机语言实施为由处理器执行的软件代码,所述计算机语言例如使用常规的或面向对象的技术的Java、C++或Perl。软件代码可以作为一系列指令或命令存储在计算机可读介质上,所述计算机可读介质例如随机存取存储器(RAM)、只读存储器(ROM)、例如硬盘驱动器或软盘等磁性介质,或例如CD-ROM等光学介质。任何此类计算机可读介质可以驻存在单个计算设备上或内,且可以存在于系统或网络内的不同计算设备上或内。
虽然已详细描述并在附图中示出某些示例性实施例,但应理解,此类实施例仅仅是对本发明的说明而非限制,并且本发明不限于所示和描述的具体布置和构造,因为所属领域的一般技术人员可想到各种其它修改。
如本文所使用,除非明确指示为相反情况,否则“一”或“所述”的使用旨在意指“至少一个”。

Claims (20)

1.一种用于账户登录认证的方法,所述方法包括:
由用户装置将登录请求消息发送给认证服务器,所述登录请求包括公钥,所述公钥和私钥形成第一公钥-私钥对;
由所述用户装置从所述认证服务器接收加密的质询;
由所述用户装置使用所述私钥对所述加密的质询进行解密以获得解密的质询;
由所述用户装置将所述解密的质询发送给所述认证服务器;以及
由所述用户装置从所述认证服务器接收账户信息。
2.根据权利要求1所述的方法,还包括:
由所述用户装置在所述用户装置的用户界面上显示一个或多个账户名;
由所述用户装置基于对所述用户界面的输入来确定第一账户名,所述一个或多个账户名包括所述第一账户名;以及
由所述用户装置确定所述第一公钥-私钥对与所述第一账户名相关联;以及
由所述用户装置基于确定所述第一公钥-私钥对与所述第一账户名相关联而创建所述登录请求消息,其中所述登录请求消息还包括所述第一账户名。
3.根据权利要求1所述的方法,还包括:
由所述用户装置响应于接收到所述加密的质询来确定所述公钥与加密的私钥相关联;
由所述用户装置基于对所述用户装置的用户界面的输入来确定认证信息;以及
由所述用户装置基于所述认证信息对所述加密的私钥进行解密以获得所述私钥。
4.根据权利要求1所述的方法,还包括:
由所述用户装置生成所述公钥-私钥对;
由所述用户装置将注册请求消息发送给所述认证服务器,所述注册请求消息包括所述公钥;以及
由所述用户装置从所述认证服务器接收注册响应,所述注册响应包括向所述用户装置注册所述公钥的指示。
5.根据权利要求4所述的方法,还包括:
由所述用户装置基于来自所述用户装置的用户界面的输入来确定账户名;以及
由所述用户装置基于来自所述用户界面的所述输入而创建所述注册请求消息,其中所述注册请求消息还包括所述账户名。
6.根据权利要求4所述的方法,还包括:
由所述用户装置基于对所述用户装置的用户界面的输入来确定认证信息;
由所述用户装置基于所述认证信息对所述私钥进行加密以获得加密的私钥;
由所述用户装置存储所述加密的私钥和所述公钥;以及
由所述用户装置将所述加密的私钥与所述公钥相关联。
7.根据权利要求1所述的方法,还包括:
由所述用户装置在所述用户装置的用户界面上显示一个或多个账户名和相关联的公钥;以及
由所述用户装置在所述用户界面上显示所述解密的质询。
8.一种用于账户登录认证的方法,所述方法包括:
由认证服务器从用户装置接收登录请求消息,所述登录请求包括公钥;
由所述认证服务器验证所述公钥匹配与账户相关联的已注册公钥;
由所述认证服务器生成第一质询;
由所述认证服务器使用所述公钥对所述第一质询进行加密以获得加密的质询;
由所述认证服务器将所述加密的质询发送给所述用户装置;
由所述认证服务器从所述用户装置接收第二质询;
由所述认证服务器确定所述第二质询与所述第一质询匹配;以及
由所述认证服务器响应于所述确定所述第二质询与所述第一质询匹配而将账户信息发送给所述用户装置。
9.根据权利要求8所述的方法,其中所述登录请求消息还包括账户名,所述方法还包括:
由所述认证服务器确定所述公钥与所述账户名相关联;以及
由所述认证服务器确定所述账户信息与所述账户名相关联。
10.根据权利要求8所述的方法,还包括:
由所述认证服务器从所述用户装置接收注册请求消息,所述注册请求消息包括所述公钥;
由所述认证服务器确定所述注册请求消息中包括的所述公钥是否与多个已注册公钥中的至少一个匹配;
由所述认证服务器基于确定所述注册请求消息中包括的所述公钥是否与所述多个已注册公钥中的所述至少一个匹配来确定是否注册所述公钥;以及
由所述认证服务器将包括所述公钥是否被注册的指示的注册响应消息发送给所述用户装置。
11.根据权利要求10所述的方法,还包括:
由所述认证服务器存储所述公钥;以及
由所述认证服务器将账户名与所述公钥相关联。
12.根据权利要求10所述的方法,其中所述确定是否注册所述公钥包括确定所述注册请求消息中包括的所述公钥与所述多个已注册公钥中的至少一个不匹配,所述方法还包括:
由所述认证服务器响应于确定所述注册请求消息中包括的所述公钥与所述多个已注册公钥中的任何已注册公钥都不匹配而通过将所述公钥与账户名相关联来注册所述公钥;以及
由所述认证服务器创建所述注册响应消息,其中所述注册响应中包括的所述指示指示所述公钥被注册。
13.根据权利要求12所述的方法,其中所述注册请求消息还包括所述账户名,所述方法还包括:
由所述认证服务器确定所述注册请求消息中包括的所述账户名是否与多个已注册账户名中的至少一个匹配;以及
由所述认证服务器基于确定所述注册请求消息中包括的所述账户名是否与所述多个已注册账户名中的所述至少一个匹配来确定是否注册所述账户名,其中所述注册响应消息还包括是否使用所述公钥注册所述账户名的第二指示。
14.一种用户装置,包括:
一个或多个处理器电路;
通信接口;以及
存储多个指令的计算机可读存储介质,所述多个指令当由所述一个或多个处理器电路执行时使所述一个或多个处理器电路:
使用所述通信接口将登录请求消息发送给认证服务器,所述登录请求包括公钥,所述公钥和私钥形成第一公钥-私钥对;
使用所述通信接口从所述认证服务器接收加密的质询;
使用所述私钥对所述加密的质询进行解密以获得解密的质询;
使用所述通信接口将所述解密的质询发送给所述认证服务器;以及
使用所述通信接口从所述认证服务器接收账户信息。
15.根据权利要求14所述的用户装置,还包括用户界面,其中所述多个指令还使所述一个或多个处理器电路:
使用所述用户界面在所述用户装置的用户界面上显示一个或多个账户名;
使用所述用户界面基于对所述用户界面的输入来确定第一账户名,所述一个或多个账户名包括所述第一账户名;以及
确定所述第一公钥-私钥对与所述第一账户名相关联;以及
基于确定所述第一公钥-私钥对与所述第一账户名相关联而创建所述登录请求消息,其中所述登录请求消息还包括所述第一账户名。
16.根据权利要求14所述的用户装置,还包括用户界面,其中所述多个指令还使所述一个或多个处理器电路:
响应于接收到所述加密的质询来确定所述公钥与加密的私钥相关联;
使用所述用户界面基于对所述用户界面的输入来确定认证信息;以及
基于所述认证信息对所述加密的私钥进行解密以获得所述私钥。
17.根据权利要求14所述的用户装置,其中所述多个指令还使所述一个或多个处理器电路:
生成所述公钥-私钥对;
使用所述通信接口将注册请求消息发送给所述认证服务器,所述注册请求消息包括所述公钥;以及
使用所述通信接口从所述认证服务器接收注册响应,所述注册响应包括向所述用户装置注册所述公钥的指示。
18.根据权利要求17所述的用户装置,其中所述多个指令还使所述一个或多个处理器电路:
基于来自所述用户装置的用户界面的输入来确定账户名;以及
基于来自所述用户界面的所述输入而创建所述注册请求消息,其中所述注册请求消息还包括所述账户名。
19.根据权利要求17所述的用户装置,还包括用户界面和系统存储器,其中所述多个指令还使所述一个或多个处理器电路:
使用所述用户界面基于对所述用户界面的输入来确定认证信息;
基于所述认证信息对所述私钥进行加密以获得加密的私钥;
将所述加密的私钥和所述公钥存储在所述系统存储器上;以及
将所述加密的私钥与所述公钥相关联。
20.根据权利要求14所述的用户装置,还包括用户界面,其中所述多个指令还使所述一个或多个处理器电路:
在所述用户界面上显示一个或多个账户名和相关联的公钥;以及
在所述用户界面上显示所述解密的质询。
CN201980046709.6A 2018-07-13 2019-06-04 公钥-私钥对账户登录和密钥管理器 Active CN112425118B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/035,480 US10924289B2 (en) 2018-07-13 2018-07-13 Public-private key pair account login and key manager
US16/035,480 2018-07-13
PCT/US2019/035420 WO2020013928A1 (en) 2018-07-13 2019-06-04 Public-private key pair account login and key manager

Publications (2)

Publication Number Publication Date
CN112425118A true CN112425118A (zh) 2021-02-26
CN112425118B CN112425118B (zh) 2024-06-04

Family

ID=69139784

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980046709.6A Active CN112425118B (zh) 2018-07-13 2019-06-04 公钥-私钥对账户登录和密钥管理器

Country Status (5)

Country Link
US (1) US10924289B2 (zh)
EP (1) EP3821565A4 (zh)
CN (1) CN112425118B (zh)
SG (1) SG11202100166YA (zh)
WO (1) WO2020013928A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10831916B2 (en) * 2018-08-01 2020-11-10 Sogang University Research Foundation Method for blocking access of malicious application and storage device implementing the same
US11212269B2 (en) * 2018-12-18 2021-12-28 American Megatrends International, Llc Secure remote online debugging of firmware on deployed hardware
PT115304B (pt) * 2019-02-11 2023-12-06 Mediceus Dados De Saude Sa Procedimento de login com um clique
US11349660B2 (en) * 2019-09-19 2022-05-31 Bose Corporation Secure self-identification of a device
US11025598B1 (en) * 2020-02-08 2021-06-01 Mockingbird Ventures, LLC Method and apparatus for managing encryption keys and encrypted electronic information on a network server
US11121864B1 (en) * 2020-03-13 2021-09-14 International Business Machines Corporation Secure private key distribution between endpoint instances
CN111401901B (zh) * 2020-03-23 2021-06-04 腾讯科技(深圳)有限公司 生物支付设备的认证方法、装置、计算机设备和存储介质
US11336438B2 (en) * 2020-03-31 2022-05-17 EMC IP Holding Company LLC Remote approval and execution of restricted operations
CN111444551B (zh) * 2020-04-25 2023-06-13 中信银行股份有限公司 账户的注册与登录方法、装置、电子设备及可读存储介质
CN114900338B (zh) * 2022-04-20 2023-07-21 岚图汽车科技有限公司 一种加密解密方法、装置、设备和介质
US11528130B1 (en) * 2022-06-04 2022-12-13 Uab 360 It Stateless system to protect data
US20240031171A1 (en) * 2022-07-20 2024-01-25 Dell Products, L.P. Securing accounts of last resort

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070028118A1 (en) * 2005-07-29 2007-02-01 Research In Motion Limited System and method for encrypted smart card pin entry
EP2009524A2 (en) * 2007-01-26 2008-12-31 Rockwell Automation Technologies, Inc. Authentication for licensing in an embedded system
US20140351589A1 (en) * 2013-05-23 2014-11-27 Symantec, Inc. Performing client authentication using onetime values recovered from barcode graphics
US20150195278A1 (en) * 2014-01-09 2015-07-09 Brian S. Plotkin Access credentials using biometrically generated public/private key pairs
CN107810617A (zh) * 2015-06-30 2018-03-16 维萨国际服务协会 机密认证和供应

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7328344B2 (en) 2001-09-28 2008-02-05 Imagitas, Inc. Authority-neutral certification for multiple-authority PKI environments
US8332650B2 (en) 2002-03-22 2012-12-11 Microsoft Corporation Systems and methods for setting and resetting a password
AU2003301719A1 (en) 2002-10-25 2004-05-25 Grand Virtual Inc Password encryption key
US7958362B2 (en) * 2005-10-11 2011-06-07 Chang Gung University User authentication based on asymmetric cryptography utilizing RSA with personalized secret
US7673135B2 (en) 2005-12-08 2010-03-02 Microsoft Corporation Request authentication token
US8538028B2 (en) * 2006-11-20 2013-09-17 Toposis Corporation System and method for secure electronic communication services
KR101413376B1 (ko) 2007-12-04 2014-07-01 삼성전자주식회사 지그비 네트워크에서의 링크키를 공유하는 방법 및 그 통신시스템
US8719572B2 (en) 2008-07-16 2014-05-06 Disney Enterprises, Inc. System and method for managing authentication cookie encryption keys
US8959353B2 (en) * 2009-03-31 2015-02-17 Topaz Systems, Inc. Distributed system for multi-function secure verifiable signer authentication
US8548913B2 (en) * 2009-09-29 2013-10-01 Cleversafe, Inc. Method and apparatus to secure an electronic commerce transaction
WO2013119739A1 (en) 2012-02-07 2013-08-15 Visa International Service Association Mobile human challenge-response test
US9055055B1 (en) * 2013-06-21 2015-06-09 Amazon Technologies, Inc. Provisioning account credentials via a trusted channel
JP2015033038A (ja) * 2013-08-05 2015-02-16 ソニー株式会社 情報処理装置、情報処理方法及びコンピュータプログラム
US10136315B2 (en) * 2014-04-17 2018-11-20 Guang Gong Password-less authentication system, method and device
AU2015277000C1 (en) * 2014-06-18 2019-11-28 Visa International Service Association Efficient methods for authenticated communication
US9727715B2 (en) * 2014-09-07 2017-08-08 Michael Boodaei Authentication method and system using password as the authentication key
US9489510B1 (en) 2014-09-24 2016-11-08 Amazon Technologies, Inc. Detecting generation of virtual machine authentication
SG11201704984SA (en) * 2015-01-27 2017-07-28 Visa Int Service Ass Methods for secure credential provisioning
US10231128B1 (en) 2016-02-08 2019-03-12 Microstrategy Incorporated Proximity-based device access
US10666642B2 (en) 2016-02-26 2020-05-26 Ca, Inc. System and method for service assisted mobile pairing of password-less computer login
US10574648B2 (en) * 2016-12-22 2020-02-25 Dashlane SAS Methods and systems for user authentication
KR101816653B1 (ko) * 2017-02-14 2018-02-21 주식회사 코인플러그 스마트 컨트랙트 및 블록체인 데이터베이스를 사용하여 서비스 제공 서버에 의하여 제공되는 서비스를 이용하기 위한 사용자의 로그인 요청에 대하여 pki 기반의 인증을 통해 로그인을 대행하는 방법 및 이를 이용한 서버
US10990691B2 (en) 2018-05-11 2021-04-27 Arris Enterprises Llc Secure deferred file decryption

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070028118A1 (en) * 2005-07-29 2007-02-01 Research In Motion Limited System and method for encrypted smart card pin entry
EP2009524A2 (en) * 2007-01-26 2008-12-31 Rockwell Automation Technologies, Inc. Authentication for licensing in an embedded system
US20140351589A1 (en) * 2013-05-23 2014-11-27 Symantec, Inc. Performing client authentication using onetime values recovered from barcode graphics
US20150195278A1 (en) * 2014-01-09 2015-07-09 Brian S. Plotkin Access credentials using biometrically generated public/private key pairs
CN107810617A (zh) * 2015-06-30 2018-03-16 维萨国际服务协会 机密认证和供应

Also Published As

Publication number Publication date
EP3821565A1 (en) 2021-05-19
SG11202100166YA (en) 2021-02-25
EP3821565A4 (en) 2021-08-18
WO2020013928A1 (en) 2020-01-16
CN112425118B (zh) 2024-06-04
US20200021448A1 (en) 2020-01-16
US10924289B2 (en) 2021-02-16

Similar Documents

Publication Publication Date Title
CN112425118B (zh) 公钥-私钥对账户登录和密钥管理器
US11178148B2 (en) Out-of-band authentication to access web-service with indication of physical access to client device
CN112425114B (zh) 受公钥-私钥对保护的密码管理器
EP3420677B1 (en) System and method for service assisted mobile pairing of password-less computer login
US11764966B2 (en) Systems and methods for single-step out-of-band authentication
US8719952B1 (en) Systems and methods using passwords for secure storage of private keys on mobile devices
US9185096B2 (en) Identity verification
US8365262B2 (en) Method for automatically generating and filling in login information and system for the same
US20190238334A1 (en) Communication system, communication client, communication server, communication method, and program
US20180062863A1 (en) Method and system for facilitating authentication
CN111630811A (zh) 生成和寄存用于多点认证的密钥的系统和方法
US11477192B2 (en) Personalized security system
KR101739203B1 (ko) 일회용 개인키 기반 전자 서명과 동형 암호를 이용한 패스워드 기반 사용자 인증 방법
JP2004030611A (ja) 通信パスワードをリモートで変更するための方法
KR20130131682A (ko) 웹 서비스 사용자 인증 방법
EP3513539A1 (en) User sign-in and authentication without passwords
SG175860A1 (en) Methods of robust multi-factor authentication and authorization and systems thereof
US12107956B2 (en) Information processing device, information processing method, and non-transitory computer readable storage medium
KR101737925B1 (ko) 도전-응답 기반의 사용자 인증 방법 및 시스템
KR20230024279A (ko) 컴퓨터 네트워크에서 제어된 손상을 이용하여 키를 생성하는 방법

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