IP Library › Granted Patent US 10,652,015
Granted Patent B2
US 10,652,015 · App. 16/257,882 · Granted May 12, 2020

Confidential communication management

Inventors: Eric Le Saint (Los Angeles, CA); Soumendra Bhattacharya (Union City, CA)
Assignee: Visa International Service Association
H04L9/0844H04L9/0822H04L9/0825H04L9/14
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,652,015
App. No.
16/257,882
Granted
May 12, 2020
Kind
B2
Abstract

Systems and methods are provided for confidential communication management. For example, a client computer can determine a client key pair comprising a client private key and a client public key. The client computer can further determine a protected server key identifier, identify a server public key associated with the protected server key identifier, and generating a shared secret using the server public key and the client private key. The client computer can further encrypt message data using the shared secret and sending, to a server computer, a message including the encrypted message data, the protected server key identifier, and the client public key. The protected server key identifier can be associated with the server computer and can be usable by the server computer to identify a server private key to be used in decrypting the encrypted message data.

Claims (44)

1. A computer-implemented method for confidential communication management, comprising:

receiving, by a server computer from a client computer, a request message including a protected server key identifier and encrypted request data;

decrypting, by the server computer, the protected server key identifier using a server identifier encryption key to obtain a server key identifier, wherein the protected server key identifier is usable by the server computer to validate the server key identifier corresponding to a server private key;

determining, by the server computer, the server private key associated with the server key identifier; and

decrypting, by the server computer, the encrypted request data using the server private key to obtain request data.

2. The computer-implemented method of claim 1 , wherein the server identifier encryption key is determined based on a default key pair comprising a default public key and a default private key.

3. The computer-implemented method of claim 1 , wherein decrypting the encrypted request data comprises:

determining a request shared secret based on the server private key and a client public key;

deriving a request session key based on the request shared secret; and

decrypting the encrypted request data using the request session key.

4. The computer-implemented method of claim 1 , wherein the protected server key identifier is decrypted to obtain the server key identifier and a padding element, and the method further comprises validating the padding element before determining the server private key associated with the server key identifier.

5. The computer-implemented method of claim 1 , further comprising:

for another request message including other encrypted request data, determining that another protected server key identifier does not map to an existing server private key and decrypting the other encrypted request data using a default server private key to obtain other request data.

6. The computer-implemented method of claim 1 , further comprising:

determining a second server key identifier to be used in a next request from the client computer, the second server key identifier being associated with a second server private key;

encrypting the second server key identifier using the server identifier encryption key to determine a second protected server key identifier;

encrypting response data comprising the second protected server key identifier to generate encrypted response data; and

sending a response message including the encrypted response data to the client computer.

7. The computer-implemented method of claim 6 , wherein encrypting the second server key identifier comprises encrypting a combination of the second server key identifier, a padding element, and a random element using the server identifier encryption key, the padding element being a constant value or a message authentication code of the second server key identifier.

8. The computer-implemented method of claim 6 , wherein the response message further comprises an obfuscated server public key corresponding to the second server private key.

9. The computer-implemented method of claim 6 , wherein the request data includes a protected client key identifier and the response message includes the protected client key identifier, wherein the protected client key identifier is used, by the client computer, to determine a client private key for decrypting the response message.

10. A computer system for confidential communication management comprising:

a memory that stores computer-executable instructions; and

one or more hardware processors configured to access the memory and execute the computer-executable instructions to implement a method comprising:

receiving, from a client computer, by the computer system a request message including a protected server key identifier and encrypted request data;

decrypting, by the computer system, the protected server key identifier using a server identifier encryption key to obtain a server key identifier, wherein the protected server key identifier is usable by the computer system to validate the server key identifier corresponding to a server private key;

determining, by the computer system, the server private key associated with the server key identifier; and

decrypting, by the computer system, the encrypted request data using the server private key to obtain request data.

11. The computer system of claim 10 , wherein the server identifier encryption key is determined based on a default key pair comprising a default public key and a default private key.

12. The computer system of claim 10 , wherein decrypting the encrypted request data comprises:

determining a request shared secret based on the server private key and a client public key;

deriving a request session key based on the request shared secret; and

decrypting the encrypted request data using the request session key.

13. The computer system of claim 10 , wherein the protected server key identifier is decrypted to obtain the server key identifier and a padding element, and the method further comprises validating the padding element before determining the server private key associated with the server key identifier.

14. The computer system of claim 10 , wherein the method further comprises:

for another request message including other encrypted request data, determining that another protected server key identifier does not map to an existing server private key and decrypting the other encrypted request data using a default server private key to obtain other request data.

15. The computer system of claim 10 , wherein the method further comprises:

determining a second server key identifier to be used in a next request from the client computer, the second server key identifier being associated with a second server private key;

encrypting the second server key identifier using the server identifier encryption key to determine a second protected server key identifier;

encrypting response data comprising the second protected server key identifier to generate encrypted response data; and

sending a response message including the encrypted response data to the client computer.

16. The computer system of claim 15 , wherein encrypting the second server key identifier comprises encrypting a combination of the second server key identifier, a padding element, and a random element using the server identifier encryption key, the padding element being a constant value or a message authentication code of the second server key identifier.

17. The computer system of claim 15 , wherein the response message further comprises an obfuscated server public key corresponding to the second server private key.

18. The computer system of claim 15 , wherein the request data includes a protected client key identifier and the response message includes the protected client key identifier, wherein the protected client key identifier is used, by the client computer, to determine a client private key for decrypting the response message.

Continuity (4)
Continuation 15915614 · Mar 8, 2018
Continuation 15045052 · Feb 16, 2016
Provisional Application 62116357 · Feb 13, 2015
Related Publication 20190173672A1 · Jun 6, 2019
Cited By (1)
US 12,254,116