IP Library Granted Patent US 10,778,450
Granted Patent B1
US 10,778,450 · App. 15/961,533 · Granted Sep 15, 2020

Gesture-extracted passwords for authenticated key exchange

Inventors: Phillip H. Griffin (Raleigh, NC); Jeffrey J. Stapleton (O'Fallon, MO)
Assignee: Wells Fargo Bank, N.A.
H04L9/3271H04L9/0844H04L9/0861H04L9/3231H04L2463/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 10,778,450
App. No.
15/961,533
Granted
Sep 15, 2020
Kind
B1
Abstract

A method for gesture-based multi-factor authentication includes receiving a gesture password from a user. The gesture password is mapped to a first substitution string. A cryptographic key is generated using the substitution string as an input to a password authenticated key exchange (“PAKE”) protocol. A challenge response is encrypted with the cryptographic key to generate an encrypted challenge response. A user identifier and the encrypted challenge question are transmitted to a relying party. The encrypted challenge response can be verified by the relying party by retrieving the first substitution string based on the user identifier, generating the cryptographic key using the first substitution string as an input to the PAKE protocol, decrypting the encrypted challenge response using the cryptographic key, and verifying the challenge response so as to authenticate the user.

Claims (85)

1. A method, comprising:

receiving, by a user computing system, a gesture password from a user;

mapping, by the computing system, the gesture password to a first substitution string, wherein the first substitution string is securely stored on the user computing system;

generating, by the user computing system, a cryptographic key using the first substitution string as an input to a password authenticated key exchange protocol;

encrypting, by the user computing system, a challenge response with the first cryptographic key to generate an encrypted challenge response; and

transmitting, by the user computing system to a relying party computing system, a first authentication message comprising the encrypted challenge response and a plaintext user identifier associated with the user,

wherein the encrypted challenge response can be verified by the relying party computing system by:

retrieving the first substitution string based on the user identifier,

generating the cryptographic key using the first substitution string as an input to the password authenticated key exchange protocol,

decrypting the encrypted challenge response using the cryptographic key, and

verifying the challenge response so as to authenticate the user.

2. The method of claim 1 , wherein the challenge response is a first challenge response provided in response to a first challenge question, and wherein the first authentication message further comprises a second challenge question, the method further comprising:

receiving, by the user computing system from the relying party computing system, a second authentication message comprising an encrypted second challenge response, the encrypted second challenge response generated by encrypting a second challenge response using the cryptographic key generated by the relying party computing system, the second challenge response being responsive to the second challenge question;

decrypting, by the user computing system, the encrypted second challenge response using the cryptographic key to generate the second challenge response;

verifying, by the user computing system, the second challenge response so as to provide mutual authentication between the user computing system and the relying party computing system.

3. The method of claim 2 , wherein the second authentication message further comprises an encrypted second substitution string encrypted using the cryptographic key generated by the relying party computing system, the method further comprising:

decrypting, by the user computing system, the encrypted second substitution string using the cryptographic key to generate the second substitution string;

replacing, by the user computing system, the first substitution string with the second substitution string so as to associate the second substitution string with the gesture password; and

storing, by the user computing system, the second substitution string securely on the computing system.

4. The method of claim 3 , further comprising:

transmitting, by the user computing system to the relying party computing system, a confirmation of receipt of the second substitution string,

wherein the relying party computing system generates a second cryptographic key using the second substitution string as an input to the password authenticated key exchange protocol, and uses the second cryptographic key instead of the first cryptographic key to encrypt data to be sent to the user computing system.

5. The method of claim 3 , wherein the cryptographic key is a first cryptographic key, the method further comprising:

receiving, by the user computing system, the gesture password from the user;

mapping, by the user computing system, the gesture password to the second substitution string;

generating, by the user computing system, a second cryptographic key using the second substitution string as an input to the password authenticated key exchange protocol;

encrypting, by the user computing system, a third challenge response with the second cryptographic key to generate an encrypted third challenge response; and

transmitting, by the user computing system to the relying party computing system, the plaintext user identifier and the encrypted third challenge response,

wherein the encrypted third challenge response can be verified by the relying party computing system by:

retrieving the first substitution string based on the user identifier,

generating the second cryptographic key using the second substitution string as an input to the password authenticated key exchange protocol,

decrypting the encrypted third challenge response using the second cryptographic key, and

verifying the third challenge response so as to re-authenticate the user.

6. The method of claim 1 ,

wherein the challenge response comprises the first substitution string,

wherein the relying party computing system generates a verifying substitution string by the decrypting the encrypted challenge response using the cryptographic key, and

wherein the challenge response is verified in response to the verifying substitution string matching the first substitution string retrieved by the relying party computing system based on the user identifier.

7. The method of claim 1 , further comprising:

receiving, by the user computing system, a biometric sample captured from the user; and

encrypting, by the computing system, the biometric sample with the cryptographic key to generate an encrypted biometric sample,

wherein the first authentication message further comprises the encrypted biometric sample,

wherein identity of the user can be authenticated by decrypting the encrypted biometric sample using the cryptographic key and matching the biometric sample with a biometric reference template associated with the user identifier.

8. The method of claim 7 , further comprising extracting the gesture password from the biometric sample.

9. The method of claim 1 , wherein receiving the gesture password from the user includes capturing a physical gesture from the user.

10. The method of claim 1 , wherein the gesture password is received via a plaintext message entered by the user.

11. The method of claim 1 , wherein the cryptographic key is a symmetric encryption key generated using a Diffie-Hellman key agreement algorithm.

12. A method, comprising:

receiving, by a relying party computing system from a user computing system, a first authentication message comprising:

a user identifier associated with a user, and

an encrypted first challenge response, the encrypted first challenge response generated by encrypting a first challenge response using a cryptographic key, the cryptographic key generated using a substitution string as an input to a password authenticated key exchange protocol, the substitution string being associated with a gesture password from the user;

retrieving, by the relying party computing system, the substitution string associated with the user identifier;

generating, by the relying party computing system, the cryptographic key using the retrieved substitution string as an input to the password authenticated key exchange protocol;

decrypting, by the relying party computing system, the encrypted first challenge response using the cryptographic key to generate the first challenge response; and

verifying, by the relying party computing system, the first challenge response so as to authenticate the user.

13. The method of claim 12 , wherein the challenge response is a first challenge response provided in response to a first challenge question, and wherein the first authentication message further comprises a second challenge question, the method further comprising:

generating, by the relying party computing system, a second challenge response in response to the second challenge question;

encrypting, by the relying party computing system, the second challenge response with the cryptographic key to generate an encrypted second challenge response; and

transmitting, by the relying party computing system to the user computing system, a second authentication message comprising the encrypted second challenge response,

wherein the encrypted second challenge response can be verified by the user computing system by:

generating the cryptographic key using the substitution string as an input to the password authenticated key exchange protocol,

decrypting the encrypted second challenge response using the cryptographic key, and

verifying the second challenge response so as to provide mutual authentication between the user computing system and the relying party computing system.

14. The method of claim 12 , wherein the substitution string is a first substitution string, further comprising:

generating, by the relying party computing system, a second substitution string;

encrypting, by the relying party computing system, the second substitution string with the cryptographic key to generate an encrypted second substitution string;

wherein the second authentication message further comprises the encrypted second substitution string; and

wherein the user computing system is structured to:

decrypt the encrypted second substitution string using the cryptographic key to generate the second substitution string, and

replace the first substitution string associated with the user identifier with the second substitution string so as to associate the second substitution string with the gesture password.

15. The method of claim 14 , wherein the encryption key is a first encryption key, the method further comprising:

receiving, by the relying party computing system from the user computing system, a confirmation of receipt of the second substitution string; and

generating, by the relying party computing system, a second cryptographic key using the second substitution string as an input to the password authenticated key exchange protocol,

wherein the relying party computing system uses the second cryptographic key instead of the first cryptographic key to encrypt data to be sent to the user computing system.

16. The method of claim 14 , wherein the cryptographic key is a first cryptographic key, the method further comprising:

receiving, by the relying party computing system from the user computing system, a third authentication message comprising the user identifier and an encrypted third challenge response, the encrypted third challenge response comprising a third challenge response encrypted using a second cryptographic key, the second cryptographic key generated using the second substitution string as an input to the password authenticated key exchange protocol, the second substitution string being associated with the gesture password from the user;

retrieving, by the relying party computing system, the second substitution string associated with the user identifier;

generating, by the relying party computing system, the second cryptographic key using the retrieved second substitution string as an input to the password authenticated key exchange protocol;

decrypting, by the relying party computing system, the encrypted third challenge response using the second cryptographic key to generate the third challenge response;

verifying, by the relying party computing system, the third challenge response so as to re-authenticate the user.

17. The method of claim 12 , wherein the first authentication message further comprises an encrypted biometric sample, the encrypted biometric sample captured from the user and encrypted using the first cryptographic key;

decrypting, by the relying party computing system, the encrypted biometric sample using the first cryptographic key to generate the biometric sample; and

matching, by the relying party computing system, the biometric sample with a biometric reference template associated with the user identifier so as to authenticate an identity of the user.

18. The method of claim 17 , wherein the gesture password is extracted from the biometric sample.

19. The method of claim 12 , wherein the gesture password is extracted from a physical gesture captured from the user.

20. The method of claim 12 , wherein the gesture password is received via a plaintext message entered by the user.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2018
From: GRIFFIN, PHILLIP H.; STAPLETON, JEFFREY J.
To: WELLS FARGO BANK, N.A.
Reel/Frame 045673/0687 →
Continuity (1)
Provisional Application 62492070 · Apr 28, 2017
Cited By (6)
US 12,373,529 US 12,381,871 US 12,388,800 US 12,457,288 US 12,463,693 US 12,476,829