US11398913B2ActiveUtilityA1

Secure distributed information system for public device authentication

Assignee: POWCH LLCPriority: Aug 24, 2018Filed: Aug 23, 2019Granted: Jul 26, 2022
Est. expiryAug 24, 2038(~12.1 yrs left)· nominal 20-yr term from priority
H04L 9/0825H04L 9/3213G06F 21/6209H04L 9/0863H04L 63/123H04L 9/3247H04L 2463/082H04L 63/0428G06K 7/1417G06F 21/602G06F 2221/2111H04L 9/0819H04L 63/126H04L 9/0891G06F 21/31H04L 2209/72H04L 9/0877H04L 63/18H04L 9/0894H04L 63/0807G06K 7/1413H04L 9/3234
62
PatentIndex Score
0
Cited by
40
References
22
Claims

Abstract

A method of performing user authentication includes by a service electronic device associated with a service, receiving, from a public electronic device, a request for a user to initiate a session of the service, generating a first security token, a first write token, a first read token, and/or a first delete token, sending the first security token, the first write token, the first read token, and/or the first delete token to a server electronic device, receiving, from the server electronic device, a key location identifier that uniquely identifies a memory location of a data store associated with the server electronic device where the first security token, the first write token, the first read token, and/or the first delete token are stored, saving the key location identifier in a data store associated with the service electronic device, generating a signed key location identifier, generating a machine-readable image that includes the key location identifier, the signed key location identifier and the first write token in an encoded format, and sending the machine-readable image to the public electronic device.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method of performing user authentication, the method comprising:
 by a service electronic device associated with a service:
 receiving, from a public electronic device, a request for a user to initiate a session of the service, 
 generating a first write token 
 sending the first write token to a server electronic device, 
 receiving, from the server electronic device, a key location identifier that uniquely identifies a memory location of a data store associated with the server electronic device where the first write token is stored, 
 saving the key location identifier in a data store associated with the service electronic device, 
 generating a signed key location identifier, 
 generating a machine-readable image that includes the key location identifier, the signed key location identifier and the first write token in an encoded format, and sending the machine-readable image to the public electronic device. 
 
 
     
     
       2. The method of  claim 1 , further comprising:
 by the public electronic device:
 receiving the machine-readable image, and 
 causing the machine-readable image to be displayed on a display device of the public electronic device, 
 
 by a user electronic device:
 scanning the machine-readable image to extract the key location identifier, the signed key location identifier and the first write token, 
 verifying that the signed key location identifier is valid for a public key associated with the service, 
 combining a public key associated with the user and the first write token to generate a combination value, 
 signing the combination value to generate a signed combination value, 
 encrypting the signed combination value to generate an encrypted signed combination value, and 
 sending the encrypted signed combination value, a first security token, a first read token, and a second key location identifier to the server electronic device, wherein the first security token and the first read token are generated by the electronic device and correspond to the user, wherein the second key location identifier uniquely identifies a second memory location of a data store associated with the server electronic device, wherein the first memory location and the second memory location are not the same. 
 
 
     
     
       3. The method of  claim 2 , wherein signing the combination value to generate a signed combination value comprises using a private key associated with the user to sign the combination value. 
     
     
       4. The method of  2 , wherein encrypting the signed combination value to generate an encrypted signed combination value comprises encrypting the signed combination value using a public key associated with the service. 
     
     
       5. The method of  claim 2 , further comprising: by the server electronic device: verifying that the first security token corresponds to information stored at the second memory location, in response to verifying that the first security token corresponds to information stored at the second memory location, saving the first read token and the encrypted signed combination value to the second memory location. 
     
     
       6. The method of  claim 5 , further comprising:
 by the server electronic device:
 receiving the first key location identifier, the first write token and the encrypted signed combination value from the user electronic device, 
 verifying that the first write token corresponds to information saved at the first memory location, and 
 in response to verifying that the first write token corresponds to information saved at the first memory location, saving the encrypted signed combination value to the first memory location. 
 
 
     
     
       7. The method of  claim 6 , further comprising:
 by the server electronic device:
 receiving the first key location identifier and a second read token from the service electronic device, 
 verify that a second read token corresponds to information stored at the first memory location, and 
 in response to verifying that a second read token corresponds to information stored at the first memory location, sending the encrypted signed combination value to the service electronic device. 
 
 
     
     
       8. The method of  claim 7 , further comprising:
 by the service electronic device:
 obtaining a first decrypted combination value by decrypting the encrypted signed combination value using the private key associated with the service; 
 extracting the public key associated with the user from the first decrypted combination value; 
 using the public key to locate an account associated with the user; and 
 sending the second key location identifier and the first read token to the server electronic device. 
 
 
     
     
       9. The method of  claim 8 , further comprising:
 by the server electronic device:
 verifying that the first read token corresponds to information stored at the second memory location, and 
 in response to verifying that the first read token corresponds to information stored at the second memory location, sending the encrypted signed combination value to the service electronic device. 
 
 
     
     
       10. The method of  claim 9 , further comprising:
 by the service electronic device:
 obtaining a second decrypted combination value by decrypting the encrypted signed combination value received from the server electronic device using the private key associated with the service, 
 comparing the second decrypted combination value to the first decrypted combination value to determine if they match, and 
 in response to the second decrypted combination value matching the first decrypted combination value, authenticating the session. 
 
 
     
     
       11. The method of  claim 10 , further comprising:
 by the server electronic device:
 receiving the first key location identifier and a first delete token from the service electronic device, 
 verifying that the first delete token corresponds to information stored at the first memory location, and 
 in response to verifying that the first delete token corresponds to information stored at the first memory location, deleting all information stored at the first memory location. 
 
 
     
     
       12. A system for performing user authentication, the system comprising:
 a service electronic device associated with a service; and 
 a computer-readable storage medium comprising one or more programming instructions that, when executed, cause the service electronic device to:
 receive, from a public electronic device, a request for a user to initiate a session of the service, 
 generate a first write token, 
 send the first write token to a server electronic device, 
 receive, from the server electronic device, a key location identifier that uniquely identifies a memory location of a data store associated with the server electronic device where the first write token is stored, 
 save the key location identifier in a data store associated with the service electronic device, 
 generate a signed key location identifier, 
 generate a machine-readable image that includes the key location identifier, the signed key location identifier and the first write token in an encoded format, and 
 send the machine-readable image to the public electronic device. 
 
 
     
     
       13. The system of  claim 12 , further comprising:
 a second computer-readable storage medium comprising one or more programming instructions that, when executed, cause the public electronic device to:
 receive the machine-readable image, and 
 cause the machine-readable image to be displayed on a display device of the public electronic device, 
 
 a third computer-readable storage medium comprising one or more programming instructions that, when executed, cause a user electronic device:
 scan the machine-readable image to extract the key location identifier, the signed key location identifier and the first write token, 
 verify that the signed key location identifier is valid for a public key associated with the service, 
 combine a public key associated with the user and the first write token to generate a combination value, 
 sign the combination value to generate a signed combination value, 
 encrypt the signed combination value to generate an encrypted signed combination value, and 
 send the encrypted signed combination value, a first security token, a first read token, and a second key location identifier to the server electronic device, wherein the first security token and the first read token are generated by the electronic device and correspond to the user, wherein the second key location identifier uniquely identifies a second memory location of a data store associated with the server electronic device, wherein the first memory location and the second memory location are not the same. 
 
 
     
     
       14. The system of  claim 13 , wherein the one or more programming instructions that, when executed, cause the user electronic device to sign the combination value to generate a signed combination value comprise one or more programming instructions that, when executed, cause the user electronic device to use a private key associated with the user to sign the combination value. 
     
     
       15. The system of  13 , wherein the one or more programming instructions that, when executed, cause the user electronic device to encrypt the signed combination value to generate an encrypted signed combination value comprise one or more programming instructions that, when executed, cause the user electronic device to encrypt the signed combination value using a public key associated with the service. 
     
     
       16. The system of  claim 13 , further comprising a fourth computer-readable storage medium comprising one or more programming instructions that, when executed, cause the server electronic device to:
 verify that the first security token corresponds to information stored at the second memory location, and 
 in response to verifying that the first security token corresponds to information stored at the second memory location, save the first token and the encrypted signed combination value to the second memory location. 
 
     
     
       17. The system of  claim 16 , wherein the fourth computer-readable storage medium further comprises one or more programming instructions that, when executed, cause the server electronic device to:
 receive the first key location identifier, the first write token and the encrypted signed combination value from the user electronic device, 
 verify that the first write token corresponds to information saved at the first memory location, and 
 in response to verifying that the first write token corresponds to information saved at the first memory location, save the encrypted signed combination value to the first memory location. 
 
     
     
       18. The system of  claim 17 , wherein the fourth computer-readable storage medium further comprises one or more programming instructions that, when executed, cause the server electronic device to:
 receive the first key location identifier and a second read token from the service electronic device, 
 verify that the second read token corresponds to information stored at the first memory location, and 
 in response to verifying that the second read token corresponds to information stored at the first memory location, sending the encrypted signed combination value to the service electronic device. 
 
     
     
       19. The system of  claim 18 , wherein the computer-readable storage medium further comprises one or more programming instructions that, then executed, cause the service electronic device to:
 obtain a first decrypted combination value by decrypting the encrypted signed combination value using the private key associated with the service; 
 extract the public key associated with the user from the first decrypted combination value; 
 use the public key to locate an account associated with the user; and 
 send the second key location identifier and the first read token to the server electronic device. 
 
     
     
       20. The system of  claim 19 , wherein the fourth computer-readable storage medium further comprises one or more programming instructions that, when executed, cause the server electronic device to:
 verify that the first read token corresponds to information stored at the second memory location, and 
 in response to verifying that the first read token corresponds to information stored at the second memory location, sending the encrypted signed combination value to the service electronic device. 
 
     
     
       21. The system of  claim 20 , wherein the computer-readable storage medium further comprises one or more programming instructions that, then executed, cause the service electronic device to:
 obtain a second decrypted combination value by decrypting the encrypted signed combination value received from the server electronic device using the private key associated with the service, 
 compare the second decrypted combination value to the first decrypted combination value to determine if they match, and 
 in response to the second decrypted combination value matching the first decrypted combination value, authenticate the session. 
 
     
     
       22. The system of  claim 21 , wherein the fourth computer-readable storage medium further comprises one or more programming instructions that, when executed, cause the server electronic device to:
 receive the first key location identifier and a first delete token from the service electronic device, 
 verify that the first delete token corresponds to information stored at the first memory location, and 
 
       in response to verifying that the first delete token corresponds to information stored at the first memory location, deleting all information stored at the first memory location.

Join the waitlist — get patent alerts

Track US11398913B2 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.