IP Library Granted Patent US 8,713,694
Granted Patent B2
US 8,713,694 · App. 13/616,516 · Granted Apr 29, 2014

Secure data exchange for processing requests

Inventors: Larry T. Harada (Mountain View, CA); Mark A. Dolecki (Columbus, OH); Christopher S Purdum (Columbus, OH); C. Hudson Hendren, III (Strasburg, VA)
Assignee: Facebook, Inc.
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,713,694
App. No.
13/616,516
Granted
Apr 29, 2014
Kind
B2
Abstract

A data transfer method performed at a proxy server includes intercepting a data request from a client computer that is directed to a target server, encrypting profile information, augmenting the data request by adding the encrypted profile information to the data request, and sending the augmented data request to the target server. A data transfer method that is performed at an information server includes receiving a data request from a proxy server, extracting profile information added to the data request by the proxy server, using the extracted profile information to generate a response, and sending the response to the proxy server.

Claims (59)

1. A method comprising:

receiving, at a first server device, a first request and encrypted user information from a second server device, the first request being generated at a client application on a client device and forwarded from the second server device;

decrypting, by the first server device, the encrypted user information included with the first request;

storing the user information by the first server device;

generating, by the first server device, a response to the first request using the decrypted user information; and

sending, by the first server device, the response to the first request to the second server device;

sending, by the first server device, a shortcut token associated with the stored user information to the second server device for use with subsequent requests.

2. The method as recited in claim 1 , wherein the first request comprises an HTTP request.

3. The method as recited in claim 2 , wherein the HTTP request includes encrypted user information.

4. The method as recited in claim 3 , wherein the user information is encrypted using a symmetric encryption algorithm.

5. The method as recited in claim 3 , wherein the encrypted user information is included in a header of the HTTP request.

6. The method as recited in claim 1 , further comprising:

extracting an encrypted key from the first request;

decrypting the encrypted key; and

using the decrypted key to decrypt the user information.

7. The method as recited in claim 6 , wherein:

decrypting the encrypted key comprises decrypting the encrypted key using a public key algorithm and a private key of the first server device, and

decrypting the encrypted user information using the key comprises decrypting the user information using a symmetric decryption algorithm and the key.

8. The method as recited in claim 7 , wherein the key comprises a session key.

9. A method comprising:

receiving, at a first server device, an initial request sent from a client application, the initial request including encrypted user information;

sending, by the first server device, an identifier in response to the initial request;

receiving, at the first server device, a second request including the identifier, the second request being generated by the client application and modified by a second server device to include the identifier;

extracting the identifier from the second request;

retrieving the encrypted user information from a non-transitory storage medium using the extracted identifier;

decrypting, by the first server device, the encrypted user information;

processing, by the first server device, at least a portion of the second request using the decrypted user information in order to generate a response to the second request; and

sending, by the first server device, the response to the second request to the client application via the second server device.

10. The method as recited in claim 9 , further comprising storing the user information in the non-transitory storage medium prior to receiving the second request.

11. The method as recited in claim 10 , further comprising:

extracting the user information from the initial request; and

linking the identifier to the stored user information.

12. The method as recited in claim 11 , wherein the initial request comprises an HTTP request.

13. The method as recited in claim 12 , wherein the user information is encrypted using a symmetric encryption algorithm.

14. The method as recited in claim 13 , wherein the encrypted user information is included in a header of the HTTP request.

15. The method as recited in claim 14 , further comprising:

extracting an encrypted key from the initial request;

decrypting the encrypted key; and

using the decrypted key to decrypt the encrypted user information.

16. The method as recited in claim 15 , wherein:

decrypting the encrypted key comprises decrypting the encrypted key using a public key algorithm and a private key of the first server device, and

decrypting the encrypted user profile information using the key comprises decrypting the user information using a symmetric decryption algorithm and the key.

17. A system comprising:

a first server device;

at least one non-transitory computer readable storage medium storing a decryption key and instructions thereon that, when executed cause the system the first server device to:

receive a first request and encrypted user information from a second server device, the first request being generated at a client application on a client device and forwarded from the second server device;

decrypt encrypted user information retrieved from the first request using the decryption key;

store the user information;

generate a response to the first request using the decrypted user information;

send the response generated using the decrypted user information to the second server device for forwarding to the client device;

send a shortcut token associated with the stored user information to the server device for use with subsequent requests.

18. The system as recited in claim 17 , wherein the first request comprises an HTTP request.

19. The system as recited in claim 18 , wherein one or more headers in the HTTP request includes the encrypted user information.

20. The system as recited in claim 19 , wherein the user information is encrypted using a symmetric encryption algorithm.

21. The system as recited in claim 19 , wherein the instructions when executed, further cause the first server device to:

extract an encrypted key from the first request;

decrypt the encrypted key; and

store the decrypted key in the non-transitory storage medium.

22. The system as recited in claim 21 , wherein the instructions when executed, further cause the first server device to decrypt the encrypted key using a public key algorithm and a private key of the first server device.

Assignments (5)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058961/0436 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2013
From: HARADA, LARRY T.; DOLECKI, MARK A.; PURDUM, CHRISTOPHER S.; HENDREN III, C. HUDSON
To: AMERICA ONLINE, INC.
Reel/Frame 031055/0127 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2013
From: AOL LLC
To: AOL INC.
Reel/Frame 031055/0192 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2013
From: AOL INC.
To: FACEBOOK, INC.
Reel/Frame 031055/0281 →
CHANGE OF NAME Recorded Aug 21, 2013
From: AMERICA ONLINE, INC.
To: AOL LLC
Reel/Frame 031075/0075 →
Continuity (4)
Continuation 13030986 · Feb 18, 2011
Continuation 11535056 · Sep 25, 2006
Continuation 09323415 · Jun 1, 1999
Related Publication 20130073861A1 · Mar 21, 2013