IP Library › Granted Patent US 11,133,934
Granted Patent B2
US 11,133,934 · App. 16/548,979 · Granted Sep 28, 2021

Systems and methods for single-step out-of-band authentication

Inventors: Essam Abadir (Lancaster, PA); Rosco Schock (Lancaster, PA)
Assignee: Powch, LLC
H04L9/3234G06F21/31G06F21/602G06K7/1413G06K7/1417H04L9/0819H04L9/0825H04L9/0863H04L9/0877H04L9/0891H04L9/0894H04L9/3213H04L9/3247H04L63/123H04L63/18H04L2463/082
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,133,934
App. No.
16/548,979
Granted
Sep 28, 2021
Kind
B2
Abstract

A method of performing out-of-band user authentication includes, by a service electronic device associated with a service a request to initiate a session of the service, generating an authentication token, encrypting the authentication token to generate an encrypted authentication token, and transmitting the encrypted authentication token to the electronic device.

Claims (70)

1. A method of performing out-of-band user authentication, the method comprising:

by a service electronic device associated with a service:

receiving, from an electronic device, a request to initiate a session of the service,

generating an authentication token,

encrypting the authentication token to generate an encrypted authentication token, and

transmitting the encrypted authentication token to the electronic device,

by the electronic device:

receiving the encrypted authentication token,

retrieving a public key and a private key associated with the electronic device from a data store,

retrieving a service public key from a data store, wherein the service public key is associated with the service,

decrypting the encrypted authentication token using the private key to obtain the authentication token,

signing the authentication token with the private key to generate a signed authentication token,

encrypting the signed authentication token with the service public key to generate a signed-encrypted authentication token, and

sending the signed-encrypted authentication token and a security token to a server electronic device,

by the server electronic device:

receiving a request for the signed-encrypted authentication token from the service electronic device, wherein the request includes a read token and an indication of a memory location accessible by the server electronic device,

verifying that the read token matches information stored at the memory location, and

in response to verifying that the read token matches information stored at the memory location, sending the signed-encrypted authentication token to the service electronic device.

2. The method of claim 1 , further comprising:

by the service electronic device:

decrypting the signed-encrypted authentication token using a private key associated with the service to obtain a signed-decrypted authentication token,

verifying the signed-decrypted authentication token using the public key associated with the electronic device to obtain a verified decrypted authentication token,

determining whether the verified decrypted authentication token matches the authentication token generated by the service electronic device, and

in response to determining that the verified decrypted authentication token matches the authentication token generated by the service electronic device, authenticating the request to access the service.

3. The method of claim 2 , further comprising, deleting the private key, the public key, the read token, the security token and the indication of the memory location from the electronic device.

4. The method of claim 1 , further comprising initializing an account for the service by the electronic device by:

receiving a request from the user to access the service;

receiving the service public key from the service electronic device associated with the service,

storing the service public key in a data store of the electronic device,

generating the public key and the private key associated with the electronic device and storing the public key and the private key in the data store,

generating the security token and the read token,

transmitting the security token to the server electronic device,

receiving from the server electronic device the indication of the location of where the security token is stored by the server electronic device,

transmitting the public key, the read token and the indication of the location to the service electronic device to create a new account for the user, and

delete the public key, the private key, the security token, the read token and the indication of the location from the data store.

5. The method of claim 4 , further comprising, by the service electronic device, creating the new account for the user using the public key, the read token and the indication of the location.

6. The method of claim 1 , wherein encrypting the authentication token to generate an encrypted authentication token comprises encrypting the authentication token using the public key associated with the electronic device.

7. The method of claim 1 , wherein receiving the encrypted authentication token comprises:

receiving an image that includes the encrypted authentication token; and

obtaining the encrypted authentication token by processing the image.

8. The method of claim 7 , wherein the image comprises a Quick Response (QR) code, and processing the image comprises scanning the QR code to obtain the encrypted authentication token.

9. The method of claim 1 , further comprising:

receiving, by the electronic device, an indication that the user wishes to terminate the session of the service; and

transmitting, by the electronic device, the security token and the indication of the location to the server electronic device.

10. The method of claim 9 , further comprising:

by the server electronic device:

receive the security token and the indication of the location from the electronic device,

verify that the received security token matches content stored at the location, and

in response to verifying that the received security token matches content stored at the location, sending an indication of a successful session termination to the electronic device.

11. The method of claim 10 , further comprising, in response to verifying that the received security token matches content stored at the location, deleting the read token and the signed-encrypted authentication token from the location.

12. The method of claim 10 , further comprising deleting the security token and the indication of the location by the electronic device.

13. The method of claim 9 , further comprising:

by the server electronic device:

receive the security token and the indication of the location from the electronic device,

verify that the received security token matches content stored at the location, and

in response to verifying that the received security token does not match content stored at the location, sending an indication of an unsuccessful session termination to the electronic device.

14. A system of performing out-of-band user authentication, the system comprising: a service electronic device associated with a service; an electronic device in communication with the service electronic device; a server electronic device in communication with the server electronic device; a first non-transitory computer-readable storage medium comprising one or more programming instructions that, when executed, cause the service electronic device to: receive, from the electronic device, a request to initiate a session of the service, generate an authentication token, encrypt the authentication token to generate an encrypted authentication token, and transmit the encrypted authentication token to the electronic device, a second non-transitory computer-readable storage medium comprising one or more programming instructions that, when executed, cause the electronic device to: receive the encrypted authentication token, retrieve a public key and a private key associated with the electronic device from a data store, retrieve a service public key from a data store, wherein the service public key is associated with the service, decrypt the encrypted authentication token using the private key to obtain the authentication token, sign the authentication token with the private key to generate a signed authentication token, encrypt the signed authentication token with the service public key to generate a signed-encrypted authentication token, and send the signed-encrypted authentication token and a security token to the server electronic device; and a third non-transitory computer-readable storage medium comprising one or more programming instructions that, when executed, cause the server electronic device to: receive a request for the signed-encrypted authentication token from the service electronic device, wherein the request includes a read token and an indication of a memory location accessible by the server electronic device, verify that the read token matches information stored at the memory location, and in response to verifying that the read token matches information stored at the memory location, send the signed-encrypted authentication token to the service electronic device.

15. The system of claim 14 , wherein the first non-transitory computer-readable storage medium further comprises one or more programming instructions that, when executed, cause the service electronic device to: decrypt the signed-encrypted authentication token using a private key associated with the service to obtain a signed-decrypted authentication token, verify the signed-decrypted authentication token using the public key associated with the electronic device to obtain a verified decrypted authentication token, determine whether the verified decrypted authentication token matches the authentication token generated by the service electronic device, and in response to determining that the verified decrypted authentication token matches the authentication token generated by the service electronic device, authenticate the request to access the service.

16. The system of claim 15 , wherein the second non-transitory computer-readable storage medium further comprises one or more programming instructions that, when executed, cause the electronic device to delete the private key, the public key, the read token, the security token and the indication of the memory location from the electronic device.

17. The system of claim 14 , wherein the second non-transitory computer-readable storage medium further comprises one or more programming instructions that, when executed, cause the electronic device to initialize an account for the service by: receiving a request from the user to access the service; receiving the service public key from the service electronic device associated with the service, storing the service public key in a data store of the electronic device, generating the public key and the private key associated with the electronic device and storing the public key and the private key in the data store, generating the security token and the read token, transmitting the security token to the server electronic device, receiving from the server electronic device the indication of the location of where the security token is stored by the server electronic device, transmitting the public key, the read token and the indication of the location to the service electronic device to create a new account for the user, and delete the public key, the private key, the security token, the read token and the indication of the location from the data store.

18. The system of claim 17 , wherein the first non-transitory computer-readable storage medium further comprises one or more programming instructions that, when executed, cause the service electronic device to create the new account for the user using the public key, the read token and the indication of the location.

19. The system of claim 14 , wherein the one or more programming instructions that, when executed, cause the service electronic device to encrypt the authentication token to generate an encrypted authentication token comprise one or more programming instructions that, when executed, cause the service electronic device to encrypt the authentication token using the public key associated with the electronic device.

20. The system of claim 14 , wherein one or more programming instructions that, when executed, cause the electronic device to receive the encrypted authentication token comprise one or more programming instructions that, when executed, cause the electronic device to:

receive an image that includes the encrypted authentication token; and

obtain the encrypted authentication token by processing the image.

21. The system of claim 20 , wherein the image comprises a Quick Response (QR) code, and processing the image comprises scanning the QR code to obtain the encrypted authentication token.

22. The system of claim 14 , wherein the second non-transitory computer-readable storage medium further comprises one or more programming instructions that, when executed, cause the electronic device to: receive, an indication that the user wishes to terminate the session of the service; and transmit the security token and the indication of the location to the server electronic device.

23. The system of claim 22 , wherein the third non-transitory computer-readable storage medium further comprises one or more programming instructions that, when executed, cause the server electronic device to: receive the security token and the indication of the location from the electronic device; verify that the received security token matches content stored at the location; and in response to verifying that the received security token matches content stored at the location, sending an indication of a successful session termination to the electronic device.

24. The system of claim 23 , wherein the third non-transitory computer-readable storage medium further comprises one or more programming instructions that, when executed, cause the server electronic device to, in response to verifying that the received security token matches content stored at the location, deleting the read token and the signed-encrypted authentication token from the location.

25. The system of claim 22 , wherein the third non-transitory computer-readable storage medium further comprises one or more programming instructions that, when executed, cause the server electronic device to: receive the security token and the indication of the location from the electronic device, verify that the received security token matches content stored at the location, and in response to verifying that the received security token does not match content stored at the location, sending an indication of an unsuccessful session termination to the electronic device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2019
From: ABADIR, ESSAM; SCHOCK, ROSCO
To: POWCH, LLC
Reel/Frame 050876/0408 →
Continuity (4)
Provisional Application 62735592 · Sep 24, 2018
Provisional Application 62722630 · Aug 24, 2018
Provisional Application 62722410 · Aug 24, 2018
Related Publication 20200067711A1 · Feb 27, 2020
Cited By (1)
US 12,706,888