IP Library Granted Patent US 9,647,989
Granted Patent B2
US 9,647,989 · App. 13/450,829 · Granted May 9, 2017

System and method of data interception and conversion in a proxy

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 9,647,989
App. No.
13/450,829
Granted
May 9, 2017
Kind
B2
Abstract

An intercepting proxy server processes traffic between an enterprise user and a cloud application which provides Software as a Service (SaaS). The intercepting proxy server provides interception of real data elements in communications from the enterprise to the cloud and replacing them with obfuscating information by encrypting individual real data elements without disturbing the validity of the application protocol. To the processing cloud application real data are only visible as encrypted tokens. Tokens included in results returned from the cloud, are intercepted by the intercepting proxy server, and replaced with the corresponding sensitive real data. In this way, the enterprise is able to enjoy the benefits of the cloud application, while protecting the privacy of real data.

Claims (73)

1. A method of obfuscating sensitive data in a data object, comprising:

at an intercepting proxy server computer:

creating a token having a token value by encrypting a sensitive data element in the data object;

concatenating a predetermined prefix or suffix with the token value to generate a replacement value, wherein the prefix or suffix identifies a data type of the sensitive data element;

replacing the sensitive data element with the replacement value, thus generating a modified data object;

transmitting the modified data object from the intercepting proxy server computer to the server computer in a cloud;

receiving from the server computer in the cloud, a returned data object corresponding to the modified data object comprising a returned data element;

extracting the token value from the returned data element;

generating the sensitive data element, comprising decrypting the token value;

formatting the sensitive data element based on a context of the sensitive data element in the returned data object, thus generating a formatted sensitive data element; and

replacing the returned data element with the formatted sensitive data element thereby generating a modified returned data object.

2. The method of claim 1 wherein the context in the modified data object comprises metadata describing the sensitive data element.

3. The method of claim 1 , further comprising:

receiving the data object from a client device; and

transmitting the modified returned data object to the client device.

4. The method of claim 1 , wherein the prefix or suffix identifies the sensitive data element as an email attachment.

5. The method of claim 1 further comprising identifying the sensitive data element in the data object.

6. The method of claim 5 , the identifying the sensitive data element further comprises:

mapping the data in the data object against a dictionary of attributes; and

identifying the sensitive data element using a corresponding attribute in the dictionary.

7. The method of claim 1 further comprising identifying the returned data element as a token-to-be-replaced.

8. The method of claim 7 , wherein the identifying the returned data element as the token-to-be-replaced further comprises:

mapping data in the returned data object against a dictionary of attributes; and

identifying the token-to-be-replaced using a corresponding attribute of the returned data element of the returned data object.

9. The method of claim 1 wherein a type of a data structure containing the sensitive data element is selected from the group consisting of HTML (Hypertext Markup Language), XML (Extensible Markup Language), SOAP (Simple Object Access protocol), and JSON (JavaScript Object Notation).

10. An intercepting proxy server computer, comprising:

a processor; and

a memory having computer readable instructions stored thereon for execution by the processor, for causing the processor to:

create a token having a token value by encrypting a sensitive data element in a data object;

concatenate a predetermined prefix or suffix with the token value to generate a replacement value, wherein the prefix or suffix identifies a data type of the sensitive data element;

replace the sensitive data element with the replacement value, thus generating a modified data object;

transmit the modified data object from the intercepting proxy server computer to the server computer in a cloud;

receive from the server computer in the cloud, a returned data object corresponding to the modified data object comprising a returned data element;

extract the token value from the returned data element;

generate the sensitive data element, comprising decrypting the token value;

format the sensitive data element based on a context of the sensitive data element in the returned data object, thus generating a formatted sensitive data element; and

replace the returned data element with the formatted sensitive data element thereby generating a modified returned data object.

11. The intercepting proxy server computer of claim 10 , wherein the computer readable instructions cause the processor to format the sensitive data element according to the context in the modified data object comprising metadata describing the sensitive data element.

12. The intercepting proxy server computer of claim 10 , wherein the computer readable instructions further cause the processor to:

receive the data object from a client device; and

transmit the modified returned data object to the client device.

13. The intercepting proxy server computer of claim 10 , wherein the prefix or suffix identifies the sensitive data element as an email attachment.

14. The intercepting proxy server computer of claim 10 , wherein the computer readable instructions further cause the processor to identify the sensitive data element in the data object.

15. The intercepting proxy server computer of claim 14 , wherein the computer readable instructions that cause the processor to identify the sensitive data element cause the processor to:

map the data in the data object against a dictionary of attributes; and

identify the sensitive data element using a corresponding attribute in the dictionary.

16. The intercepting proxy server computer of claim 10 , wherein the computer readable instructions further cause the processor to identify the returned data element as a token-to-be-replaced.

17. The intercepting proxy server computer of claim 16 , wherein the computer readable instructions that cause to processor to identify the returned data element as the token-to-be-replaced cause the processor to:

map data in the returned data object against a dictionary of attributes; and

identify the token-to-be-replaced using a corresponding attribute of the returned data element of the returned data object.

18. A computer network, comprising the intercepting proxy server computer of claim 10 .

19. The intercepting proxy server computer of claim 10 wherein a type of a data structure containing the sensitive data element is selected from the group consisting of HTML (Hypertext Markup Language), XML (Extensible Markup Language), SOAP (Simple Object Access protocol), and JSON (JavaScript Object Notation).

20. An intercepting proxy server computer, comprising:

a processor having a network input/output ( 10 ) system;

a memory having computer readable instructions stored thereon for execution by the processor, causing the processor to obfuscate data in a data object, the computer readable instructions forming:

a tooling module for identifying a sensitive data element in the data object;

a token generator module for creating a token having a token value comprising encrypting the sensitive data element; and

a token packaging module for concatenating a predetermined prefix or suffix with the token value to generate a replacement value, and replacing the sensitive data element with the replacement value, thus generating a modified data object, wherein the prefix or suffix identifies a data type of the sensitive data element, and

wherein,

the network input/output ( 10 ) system is further configured to transmit the modified data object from the intercepting proxy server computer to the server computer in a cloud,

the network input/output ( 10 ) system is further configured to receive a returned data object, comprising a returned sensitive data element, from the server computer in the cloud, and

the intercepting proxy server computer further comprises a context formatting module configured to format the returned sensitive data element according to a context of a the sensitive data element in the returned data object and replace the sensitive returned data element with a formatted sensitive data element, thereby generating a modified returned data object.

21. The intercepting proxy server computer of claim 20 , wherein the context formatting module is further configured to format the sensitive data element according to the context in the modified data object comprising metadata describing the sensitive data element.

22. The intercepting proxy server computer of claim 20 , wherein:

the network input/output ( 10 ) system is configured to receive the data object from a client device; and

the network input/output ( 10 ) system is further configured to transmit the modified returned data object to the client device.

23. The intercepting proxy server computer of claim 20 , wherein the prefix or suffix identifies the sensitive data element as an email attachment.

24. The intercepting proxy server computer of claim 20 , wherein the tooling module is further configured to map the data in the data object against a dictionary of attributes and identify the sensitive data element using a corresponding attribute in the dictionary.

25. The intercepting proxy server computer of claim 20 , wherein the tooling module is further configured to identify the returned data element as a token-to-be-replaced.

26. The intercepting proxy server computer of claim 25 , wherein the tooling module is further configured to map data in the returned data object against a dictionary of attributes and identify the token-to-be-replaced using a corresponding attribute of the returned data element of the returned data object.

27. The intercepting proxy server computer of claim 25 , wherein the computer readable instructions further form a decryption module configured to extract the token value from the token-to-be-replaced and to generate the sensitive data element by decrypting the token.

28. A computer network, comprising the intercepting proxy server computer of claim 20 .

29. The intercepting proxy server computer of claim 20 wherein a type of a data structure containing the sensitive data element is selected from the group consisting of HTML (Hypertext Markup Language), XML (Extensible Markup Language), SOAP (Simple Object Access protocol), and JSON (JavaScript Object Notation).

Assignments (10)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2019
From: SYMANTEC CORPORATION
To: CA, INC.
Reel/Frame 051144/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2016
From: BLUE COAT SYSTEMS, INC.
To: SYMANTEC CORPORATION
Reel/Frame 039851/0044 →
RELEASE OF SECURITY INTEREST Recorded Aug 1, 2016
From: JEFFERIES FINANCE LLC
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 039516/0929 →
SECURITY INTEREST Recorded Mar 14, 2016
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC, AS THE COLLATERAL AGENT
Reel/Frame 037968/0908 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 24, 2015
From: PERSPECSYS CORP.
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 037131/0443 →
CHANGE OF NAME Recorded Jul 29, 2014
From: PERSPECSYS CANADA INC.
To: PERSPECSYS CORP.
Reel/Frame 033444/0282 →
CHANGE OF ADDRESS Recorded Jul 29, 2014
From: PERSPECSYS CORP.
To: PERSPECSYS CORP.
Reel/Frame 033452/0089 →
CHANGE OF NAME Recorded Jul 29, 2014
From: PERSPECSYS INC.
To: PERSPECSYS CANADA INC.
Reel/Frame 033416/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE ADDRESS PREVIOUSLY RECORDED ON REEL 028074 FRAME 0804. ASSIGNOR(S) HEREBY CONFIRMS THE CORRECTION OF THE ASSIGNEE ADDRESS FROM "86 HEALEY DRIVE" TO "86 HEALEY ROAD". Recorded May 24, 2012
From: WOLOSZYN, TERRENCE PETER, MR.
To: PERSPECSYS INC.
Reel/Frame 028275/0053 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 19, 2012
From: WOLOSZYN, TERRENCE PETER
To: PERSPECSYS INC.
Reel/Frame 028074/0804 →