IP Library Granted Patent US 8,972,733
Granted Patent B1
US 8,972,733 · App. 13/788,728 · Granted Mar 3, 2015

Techniques to prime a stateful request-and-response communication channel

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 8,972,733
App. No.
13/788,728
Granted
Mar 3, 2015
Kind
B1
Abstract

Techniques for handshake-free encrypted communication are described. An apparatus may comprise a reception component and a precomputation component. The reception component may be operative to receive a priming message from a client using a stateless network protocol, to establish a communication channel to the client, and to transmit a response to the priming message over the communication channel to the client. The precomputation component may be operative to determine the response in response to the reception of the priming message from the client. Other embodiments are described and claimed.

Claims (40)

1. An apparatus, comprising:

a processor circuit on a device;

a reception component operative on the processor circuit to receive a priming message including a request for data from a client using a stateless network protocol, to establish a stateful communication channel to the client after the priming message is received, and to transmit a response to the priming message over the stateful communication channel to the client;

a precomputation component operative on the processor circuit to determine the response by fetching stored data in response to the reception of the priming message from the client, the precomputation component operative to store the determined response in a cache; and

a response component operative on the processor circuit to retrieve the determined response from the cache in response to the reception component establishing the stateful communication channel and to transmit the determined response to the reception component for transmission to the client.

2. The apparatus of claim 1 , the stateless network protocol comprising a user datagram protocol (UDP).

3. The apparatus of claim 1 , the stateful communication channel comprising a transmission control protocol (TCP) channel.

4. The apparatus of claim 1 , the reception component operative to receive a request message from the client over the stateful communication channel, the response component operative to verify that the request message corresponds to the priming message prior to transmitting the response to the reception component.

5. The apparatus of claim 4 , the request message comprising a request key section and a request data section, the request key section encrypted using an asymmetric encryption key and comprising a symmetric encryption key, and the request data section encrypted using the symmetric encryption key.

6. The apparatus of claim 1 , the priming message comprising a priming key section and a priming data section, the priming key section encrypted using an asymmetric encryption key and comprising a symmetric encryption key, and the priming data section encrypted using the symmetric encryption key.

7. The apparatus of claim 1 , the priming message encrypted using a first symmetric encryption key, the response encrypted using the first symmetric key and comprising a second symmetric encryption key.

8. The apparatus of claim 7 , the reception component operative to receive a second priming message from the client, the second priming message encrypted according to the second symmetric encryption key.

9. A computer-implemented method, comprising:

receiving a priming message from a client using a stateless network protocol, the priming message including a request for data;

determining a response to the priming message by fetching stored data using a precomputation component;

storing the determined response in a cache;

establishing a stateful communication channel to the client after the priming message is received;

retrieving the determined response from the cache after establishment of the stateful communication channel; and

transmitting the determined response over the stateful communication channel to the client.

10. The method of claim 9 , the stateless network protocol comprising a user datagram protocol (UDP), the stateful communication channel comprising a transmission control protocol (TCP) channel.

11. The method of claim 9 , comprising:

receiving a request message from the client over the stateful communication channel;

verifying that the request message corresponds to the priming message; and

transmitting the response to the client in response to verifying that the request message.

12. The method of claim 11 , the priming message comprising a priming key section and a priming data section, the priming key section encrypted using an asymmetric encryption key and comprising a symmetric encryption key, the priming data section encrypted using the symmetric encryption key, the request message comprising a request key section and a request data section, the request key section encrypted using an asymmetric encryption key and comprising a symmetric encryption key, and the request data section encrypted using the symmetric encryption key.

13. The method of claim 9 , the priming message encrypted using a first symmetric encryption key, the response encrypted using the first symmetric key and comprising a second symmetric encryption key, a second priming message encrypted according to a second symmetric encryption key, comprising:

receiving the second priming message from the client.

14. At least one non-transitory computer-readable storage medium comprising instructions that, when executed, cause a system to:

receive a priming message from a client using a stateless network protocol, the priming message including a request for data;

determine a response to the priming message by fetching stored data using a precomputation component;

storing the determined response in a cache;

establish a stateful communication channel to the client after the priming message is received;

retrieving the determined response from the cache after establishment of the stateful communication channel;

receive a request message from the client over the stateful communication channel;

verify that the request message corresponds to the priming message; and

transmit the determined response over the stateful communication channel to the client.

15. The computer-readable storage medium of claim 14 , the stateless network protocol comprising a user datagram protocol (UDP), the stateful communication channel comprising a transmission control protocol (TCP) channel.

16. The non-transitory computer-readable storage medium of claim 14 , the priming message comprising a priming key section and a priming data section, the priming key section encrypted using an asymmetric encryption key and comprising a symmetric encryption key, the priming data section encrypted using the symmetric encryption key, the request message comprising a request key section and a request data section, the request key section encrypted using an asymmetric encryption key and comprising a symmetric encryption key, and the request data section encrypted using the symmetric encryption key.

17. The non-transitory computer-readable storage medium of claim 14 , the priming message encrypted using a first symmetric encryption key, the response encrypted using the first symmetric key and comprising a second symmetric encryption key, a second priming message encrypted according to a second symmetric encryption key, comprising further instructions that, when executed, cause a system to:

receive the second priming message from the client.

Assignments (2)
CHANGE OF NAME Recorded May 5, 2022
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 059858/0387 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 2, 2016
From: WU, YUNNAN; HARTSHORNE, BEAU R; LAZUR, ADAM; ERNST, ADAM; MENGHRAJANI, ALOK
To: FACEBOOK, INC.
Reel/Frame 038771/0276 →