PKI-based user authentication for web services using blockchain
AssigneeUnited Services Automobile Association (USAA)
InventorMinya Liang
Life of this patent
Estimating the term…
Abstract
Methods, systems, storage media for authentication are described. On the methods includes receiving, at a smart contract on a distributed ledger, a signed authentication challenge. The method includes verifying the identity of the user who signed authentication challenge. The method includes raising an event that indicates that the user has been authenticated; wherein a server listens for events from the smart contract, and associates a session between the browser and the server with the user based on the event.
Claims17
An authentication system, comprising:
- a server device comprising at least one processor configured to:
- communicate with a distributed ledger and a personal computing system associated with a user via a network;
- receive an access request from the personal computing system, wherein the access request is received via a browser application executed by the personal computing system;
- send a visualization for presentation via the browser application, wherein the visualization is configured to cause a mobile computing system to receive an input to authorize or deny an authentication of the user in response to the mobile computing system scanning the visualization,
- wherein the visualization is configured to direct the mobile computing system to a unique session identifier in response to receiving the input, wherein the mobile computing system is configured to:
- utilize the unique session identifier to generate a signed authentication statement based on a private key;
- and
- send the signed authentication statement to the distributed ledger, wherein the distributed ledger is configured to publish a login event representative of the signed authentication statement being authenticated via the network, wherein the signed authentication statement and an identity of the user is authenticated based on a public key, wherein the distributed ledger comprises a smart contract, the smart contract is configured to publish the login event representative of the signed authentication statement being authenticated via the network to the server device that provided the visualization;
- and
- wherein the at least one processor of the server device is further configured to:
- detect the login event;
- and
- associate a session being executed on the at least one processor and corresponding to the personal computing system with the identity of the user based on the login event.
A method of computer-implemented user authentication, the method comprising:
- receiving, via a processor, an access request from a personal computing system associated with a user;
- sending, via the processor, a visualization for presentation via a browser application of the personal computing system, wherein the visualization is configured to cause a mobile computing system to receive an input to authorize or deny an authentication of the user in response to the mobile computing system scanning the visualization,
- wherein the visualization is configured to direct the mobile
- computing system to a unique session identifier in response to receiving the input, wherein the mobile computing system is configured to:
- utilize the unique session identifier to generate a signed authentication statement based on a private key;
- and
- send the signed authentication statement to a distributed ledger, wherein the distributed ledger is configured to publish a login event representative of the signed authentication statement being authenticated via a network, wherein the signed authentication statement and an identity of the user is authenticated based on a public key, wherein the distributed ledger comprises a smart contract, the smart contract is configured to publish the login event representative of the signed authentication statement being authenticated via the network to the processor that provided the visualization;
- and
- detecting, via the processor, the login event;
- and
- associating, via the processor, a session being executed by the processor and corresponding to the personal computing system with the identity of the user based on the login event.
One or more non-transitory computer-readable media storing instructions which, when executed by at least one processor, cause the at least one processor to perform operations comprising:
- receiving an access request from a personal computing system associated with a user;
- sending a visualization for presentation via a browser application of the personal computing system, wherein the visualization is configured to cause a mobile computing system to receive an input to authorize or deny an authentication of the user,
- wherein the visualization is configured to direct the mobile
- computing system to a unique session identifier in response to receiving the input, wherein the mobile computing system is configured to:
- utilize the unique session identifier to generate a signed authentication statement based on a private key;
- and
- send the signed authentication statement to a distributed ledger, wherein the distributed ledger is configured to publish a login event representative of the signed authentication statement being authenticated via a network, wherein the signed authentication statement and an identity of the user is authenticated based on a public key, wherein the distributed ledger comprises a smart contract, the smart contract is configured to publish the login event representative of the signed authentication statement being authenticated via the network to the at least one processor that provided the visualization;
- detecting the login event;
- and
- associating a session being executed on the at least one processor and corresponding to the personal computing system with the identity of the user based on the login event.
Dependencies are inferred from the claim text.