IP Library › Granted Patent US 10,965,469
Granted Patent B1
US 10,965,469 · App. 16/707,888 · Granted Mar 30, 2021

Secure digital communications

Inventors: Joon Maeng (Newcastle, WA); Ramanathan Ramanathan (Bellevue, WA); Thomas Hayes (Katy, TX)
Assignee: Wells Fargo Bank, N.A.
H04L9/3249G06Q20/36G06Q20/3829G06Q20/4012H04L9/083H04L9/30H04L9/3236H04L9/3271H04W12/02H04W12/06H04W12/10H04L2209/56H04L2209/80
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,965,469
App. No.
16/707,888
Granted
Mar 30, 2021
Kind
B1
Abstract

Disclosed in some examples are methods, systems, and machine readable mediums for secure end-to-end digital communications involving mobile wallets. The result is direct, secure, in-band messaging using mobile wallets that may be used to send messages such as payments, requests for money, financial information, or messages to authorize a debit or credit.

Claims (96)

1. A method for secure mobile wallet communications, the method comprising:

using one or more processors:

executing a first mobile wallet application that performs operations comprising:

receiving, over a network, a message from a second mobile wallet application;

determining that the message is to have both signature verification and application layer verification based upon one or more of: a type of the message, a content of the message, a sender of the message;

responsive to determining that the message is to have both the signature verification and the application layer verification:

performing the signature verification by determining that a calculated hash of the message matches a hash value contained in the message, the hash value contained in the message in an encrypted form, and

responsive to verifying that the calculated hash of the message matches the hash value contained in the message, performing application layer verification by determining that a challenge-response message received from the second mobile wallet application includes a correct answer to a challenge message sent from the first mobile wallet application requesting financial account information about the first mobile wallet application; and

responsive to verifying the signature and verifying the message at an application layer, engaging in a financial transaction with the second mobile wallet application.

2. The method of claim 1 , further comprising:

contacting a public key server of a domain of the second mobile wallet application;

obtaining a public key of the second mobile wallet application from the public key server; and

wherein determining that the calculated hash of the message matches the hash value contained in the message comprises decrypting the hash value contained in the message using the public key of the second mobile wallet application.

3. The method of claim 1 , further comprising:

receiving a second message from a third mobile wallet application;

determining that a hash of the second message does not match a hash in a decrypted portion of the second message; and

responsive to determining that the hash of the second message does not match the hash in the decrypted portion of the second message, marking the second message as unverified.

4. The method of claim 1 , further comprising:

receiving a second message from a third mobile wallet application;

sending a second challenge to the third mobile wallet application;

receiving a second challenge-response from the third mobile wallet application;

determining whether the second challenge-response includes a second correct answer to the challenge; and

responsive to determining that the second challenge-response does not include the second correct answer, marking the message from the second mobile wallet application as unverified.

5. The method of claim 1 , further comprising:

receiving a second message from a third mobile wallet application;

determining that the second message is to have signature verification but not application layer verification based upon one or more of: a type of the second message, a content of the second message, a sender of the second message;

responsive to determining that the second message is to have the signature verification but not the application layer verification, verifying the signature; and

responsive to verifying the signature, engaging in a financial transaction with the third mobile wallet application.

6. The method of claim 1 , further comprising:

receiving a second message from a third mobile wallet application;

determining that the second message is to have neither signature verification nor application layer verification based upon one or more of: a type of the second message, a content of the second message, a sender of the second message; and

responsive to determining that the second message is to have neither the signature verification nor the application layer verification, engaging in a financial transaction with the third mobile wallet application.

7. The method of claim 1 , wherein the financial transaction is a payment transaction.

8. A device for secure mobile wallet communications, the device comprising:

one or more processors;

a memory, storing instructions of a first mobile wallet application, the instructions, which when executed by the one or more processors, cause the one or more processors to perform operations comprising:

receiving, over a network, a message from a second mobile wallet application;

determining that the message is to have both signature verification and application layer verification based upon one or more of: a type of the message, a content of the message, a sender of the message;

responsive to determining that the message is to have both the signature verification and the application layer verification:

performing the signature verification by determining that a calculated hash of the message matches a hash value contained in the message, the hash value contained in the message in an encrypted form, and

responsive to verifying that the calculated hash of the message matches the hash value contained in the message, performing application layer verification by determining that a challenge-response message received from the second mobile wallet application includes a correct answer to a challenge message sent from the first mobile wallet application requesting financial account information about the first mobile wallet application; and

responsive to verifying the signature and verifying the message at an application layer, engaging in a financial transaction with the second mobile wallet application.

9. The device of claim 8 , wherein the operations further comprise:

contacting a public key server of a domain of the second mobile wallet application;

obtaining a public key of the second mobile wallet application from the public key server; and

wherein determining that the calculated hash of the message matches the hash value contained in the message comprises decrypting the hash value contained in the message using the public key of the second mobile wallet application.

10. The device of claim 8 , wherein the operations further comprise:

receiving a second message from a third mobile wallet application;

determining that a hash of the second message does not match a hash in a decrypted portion of the second message; and

responsive to determining that the hash of the second message does not match the hash in the decrypted portion of the second message, marking the second message as unverified.

11. The device of claim 8 , wherein the operations further comprise:

receiving a second message from a third mobile wallet application;

sending a second challenge to the third mobile wallet application;

receiving a second challenge-response from the third mobile wallet application;

determining whether the second challenge-response includes a second correct answer to the challenge; and

responsive to determining that the second challenge-response does not include the second correct answer, marking the message from the second mobile wallet application as unverified.

12. The device of claim 8 , wherein the operations further comprise:

receiving a second message from a third mobile wallet application;

determining that the second message is to have signature verification but not application layer verification based upon one or more of: a type of the second message, a content of the second message, a sender of the second message;

responsive to determining that the second message is to have the signature verification but not the application layer verification, verifying the signature; and

responsive to verifying the signature, engaging in a financial transaction with the third mobile wallet application.

13. The device of claim 8 , wherein the operations further comprise:

receiving a second message from a third mobile wallet application;

determining that the second message is to have neither signature verification nor application layer verification based upon one or more of: a type of the second message, a content of the second message, a sender of the second message; and

responsive to determining that the second message is to have neither the signature verification nor the application layer verification, engaging in a financial transaction with the third mobile wallet application.

14. The device of claim 8 , wherein the financial transaction is a payment transaction.

15. A non-transitory machine-readable storage medium, storing instructions of a first mobile wallet application, the instructions, which when executed by a machine, cause the machine to perform operations comprising:

receiving, over a network, a message from a second mobile wallet application;

determining that the message is to have both signature verification and application layer verification based upon one or more of: a type of the message, a content of the message, a sender of the message;

responsive to determining that the message is to have both the signature verification and the application layer verification:

performing the signature verification by determining that a calculated hash of the message matches a hash value contained in the message, the hash value contained in the message in an encrypted form, and

responsive to verifying that the calculated hash of the message matches the hash value contained in the message, performing application layer verification by determining that a challenge-response message received from the second mobile wallet application includes a correct answer to a challenge message sent from the first mobile wallet application requesting financial account information about the first mobile wallet application; and

responsive to verifying the signature and verifying the message at an application layer, engaging in a financial transaction with the second mobile wallet application.

16. The non-transitory machine-readable storage medium of claim 15 , wherein the operations further comprise:

contacting a public key server of a domain of the second mobile wallet application;

obtaining a public key of the second mobile wallet application from the public key server; and

wherein determining that the calculated hash of the message matches the hash value contained in the message comprises decrypting the hash value contained in the message using the public key of the second mobile wallet application.

17. The non-transitory machine-readable storage medium of claim 15 , wherein the operations further comprise:

receiving a second message from a third mobile wallet application;

determining that a hash of the second message does not match a hash in a decrypted portion of the second message; and

responsive to determining that the hash of the second message does not match the hash in the decrypted portion of the second message, marking the second message as unverified.

18. The non-transitory machine-readable storage medium of claim 15 , wherein the operations further comprise:

receiving a second message from a third mobile wallet application;

sending a second challenge to the third mobile wallet application;

receiving a second challenge-response from the third mobile wallet application;

determining whether the second challenge-response includes a second correct answer to the challenge; and

responsive to determining that the second challenge-response does not include the second correct answer, marking the message from the second mobile wallet application as unverified.

19. The non-transitory machine-readable storage medium of claim 15 , wherein the operations further comprise:

receiving a second message from a third mobile wallet application;

determining that the second message is to have signature verification but not application layer verification based upon one or more of: a type of the second message, a content of the second message, a sender of the second message;

responsive to determining that the second message is to have the signature verification but not the application layer verification, verifying the signature; and

responsive to verifying the signature, engaging in a financial transaction with the third mobile wallet application.

20. The non-transitory machine-readable storage medium of claim 15 , wherein the operations further comprise:

receiving a second message from a third mobile wallet application;

determining that the second message is to have neither signature verification nor application layer verification based upon one or more of: a type of the second message, a content of the second message, a sender of the second message; and

responsive to determining that the second message is to have neither the signature verification nor the application layer verification, engaging in a financial transaction with the third mobile wallet application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2020
From: MAENG, JOON; RAMANATHAN, RAMANATHAN; HAYES, THOMAS
To: WELLS FARGO BANK, N.A.
Reel/Frame 051605/0074 →
Continuity (2)
Continuation 16057067 · Aug 7, 2018
Continuation 15264540 · Sep 13, 2016