IP Library Granted Patent US 9,356,993
Granted Patent B1
US 9,356,993 · App. 13/844,509 · Granted May 31, 2016

System and method to anonymize data transmitted to a destination computing device

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,356,993
App. No.
13/844,509
Granted
May 31, 2016
Kind
B1
Abstract

A method and system for anonymizing data to be transmitted to a destination computing device is disclosed. Anonymization strategy for data anonymization is provided. Data to be transmitted is received from a user computer. Selective anonymization of the data is performed, based on the anonymization strategy, using an anonymization module. The data includes a plurality of characters. An initialization vector is generated using a seed value, the seed value having a corresponding seed value identifier. The data is anonymized using an anonymization module, to derive an anonymized data, using the generated initialization vector. The anonymized data and the seed value identifier is transmitted to the destination computer over a network.

Claims (103)

1. A method for anonymizing data to be transmitted to a destination computing device, comprising:

receiving data to be transmitted from a user computing device to the destination computing device over a network for storage, the data received by a computing device, the data including a plurality of characters;

providing a plurality of seed values, each of the seed values having a corresponding seed value identifier;

selecting one of the plurality of seed values;

generating an initialization vector using the selected seed value, using an initialization vector generator executed on the computing device;

anonymizing the received data using an anonymization module executed on the computing device to derive an anonymized data, using the generated initialization vector; and

transmitting anonymized received data and the seed value identifier of the selected seed value to the destination computing device for storage, over a network,

wherein, upon receipt of a search request with a search term from the user computing device to search received data stored in the destination computing device,

generating a plurality of anonymized search terms that correspond to the received search term, using the plurality of initialization vectors generated using the plurality of seed values; and

transmitting a modified search request with the generated plurality of anonymized search terms for processing by the destination computing device.

2. The method of claim 1 , further including receiving one or more search results from the destination computing device, in response to the modified search request; deanonymizing the received one or more search results using the plurality of initialization vectors; and selecting the deanonymized received search result matching the received search term from the user computing device.

3. The method of claim 2 , wherein deanonymizing the received one or more search results further including:

retrieving the anonymized data corresponding to the search result along with the corresponding seed value identifier;

using the seed value identifier, retrieving the corresponding seed value;

regenerating the initialization vector using the corresponding seed value; and

deanonymizing the anonymized data using the regenerated initialization vector.

4. The method of claim 1 , wherein generating an initialization vector further including:

providing a plurality of sets of seed values, wherein each of the seed value within a set of seed values having a corresponding seed value identifier;

selecting one of the plurality of set of seed values;

selecting one of the seed values within the selected set of seed values; and

generating the initialization vector using the selected one of the plurality of seed values within the selected set of seed values.

5. The method of claim 4 , wherein selecting one of the plurality of set of seed values further including:

identifying a characteristic of the data; and

based on the identified characteristic of the data, selecting one of the set of plurality of seed values.

6. The method of claim 5 , wherein one of the characteristic of the data is frequency of occurrence of the data.

7. The method of claim 6 , wherein one set of seed values has greater number of seed values than another set of seed values and the one set of seed values is selected if the frequency of occurrence of the data is above a threshold value.

8. A method for anonymizing data to be stored in a destination computing device, comprising:

receiving data to be transmitted from a user computing device to the destination computing device over a network for storage, the data received by a computing device, the data including a plurality of characters;

providing a plurality of seed values, each of the seed values having a corresponding seed value identifier;

selecting one of the plurality of seed values;

generating an initialization vector using the selected, using an initialization vector generator executed on the computing device;

anonymizing the received data using an anonymization module executed on the computing device to derive an anonymized data, using the generated initialization vector;

transmitting anonymized received data and the seed value identifier of the selected seed value to the destination computing device for storage, over a network;

receiving a request from the user computing device to search the anonymized data stored at the destination computing device, using a search term;

intercepting the request by the computing device;

generating a plurality of anonymized search terms that correspond to the received search search term, using a plurality of initialization vectors generated using the plurality of seed values;

sending a plurality of search requests to the destination computing device using the generated plurality of anonymized search terms;

receiving results for the plurality of search requests;

deanonymizing the received result using the plurality of initialization vectors; and

selecting the deanonymized received result matching the received search term.

9. The method of claim 8 , wherein generating an initialization vector further including:

providing a plurality of sets of seed values, wherein each of the seed value within a set of seed values having a corresponding seed value identifier;

selecting one of the plurality of set of seed values;

selecting one of the seed values within the selected set of seed values; and

generating the initialization vector using the selected one of the plurality of seed values within the selected set of seed values.

10. The method of claim 9 , wherein selecting one of the plurality of set of seed values further including:

identifying a characteristic of the data; and

based on the identified characteristic of the data, selecting one of the set of plurality of seed values.

11. The method of claim 10 , wherein one of the characteristic of the data is frequency of occurrence of the data.

12. The method of claim 11 , wherein one set of seed values has greater number of seed values than another set of seed values and the one set of seed values is selected if the frequency of occurrence of the data is above a threshold value.

13. An anonymization system to anonymize data to be stored a destination computing device, comprising:

an anonymization strategy module executed on a computing device to store anonymization strategy for data anonymization in a data store;

a logic executed on the computing device to receive data to be stored in the destination computing device, from a user computer;

a seed value generator executed on the computing device to generate a plurality of seed values, each of the seed values having a corresponding seed value identifier;

an initialization vector generator executed on the computing device to generate an initialization vector using a selected one of the seed values; and

an anonymization module executed on the computing device to

anonymize the received data based on a selected anonymization strategy, using the generated initialization vector; and

transmit the anonymized data and the seed value identifier that corresponds to the selected seed value to the destination computing device for storage, over a network,

wherein, upon receipt of a search request with a search term from the user computing device to search received data stored in the destination computing device,

a plurality of anonymized search terms that corresponds to the received search term is generated using the plurality of initialization vectors generated using the plurality of seed values, and

a modified search request is transmitted with the generated plurality of anonymized search terms for processing by the destination computing device.

14. The system of claim 13 , wherein, one or more search results are received from the destination computing device, in response to the modified search request;

the received one or more search results are deanonymized using the plurality of initialization vectors; and

deanonymized received search result matching the received search term from the user computing device is selected.

15. The system of claim 14 , wherein,

the anonymized data corresponding to the search result is retrieved along with the corresponding seed value identifier from the destination computing device;

the seed value identifier is used to retrieve the corresponding seed value;

the initialization vector is generated using the corresponding seed value; and

the anonymized data is de-anonymized using the regenerated initialization vector.

16. The system of claim 13 , wherein,

a plurality of sets of seed values are provided, wherein each of the seed value within a set of seed values having a corresponding seed value identifier;

one of the plurality of set of seed values is selected;

one of the seed values within the selected set of seed values is selected; and

the initialization vector is generated using the selected one of the plurality of seed values within the selected set of seed values.

17. The system of claim 16 , further including:

a characteristic of the data is identified; and

based on the identified characteristic of the data, one of the set of plurality of seed values is selected.

18. The system of claim 17 , wherein one of the characteristic of the data is frequency of occurrence of the data.

19. The system of claim 18 , wherein one set of seed values has greater number of seed values than another set of seed values and the one set of seed values is selected if the frequency of occurrence of the data is above a threshold value.

20. An anonymization system to anonymize data to be stored in a destination computing device, comprising:

an anonymization strategy module executed on a computing device to store anonymization strategy for data anonymization in a data store;

a logic executed on the computing device to receive data to be stored in the destination computing device, from a user computer;

a seed value generator executed on the computing device to generate a plurality of seed values, each of the seed values having a corresponding seed value identifier;

an initialization vector generator executed on the computing device to generate an initialization vector using a selected one of the seed values;

an anonymization module executed on the computing device to

anonymize the received data based on a selected anonymization strategy, using the generated initialization vector; and

transmit the anonymized data and the seed value identifier that corresponds to the selected seed value to the destination computing device for storage, over a network;

a request to search the anonymized data stored at the destination computing device, using a search term is received from the user computing device and intercepted by the computing device;

a plurality of anonymized search terms that corresponds to the received search term are generated using a plurality of initialization vectors generated using the plurality of seed values;

a plurality of search requests are sent to the destination computing device using the generated plurality of anonymized search terms;

results for the plurality of search requests are received;

the received result are de-anonymized using the plurality of initialization vectors; and

the deanonymized received result that matches the search term is selected.

21. The system of claim 20 , wherein,

a plurality of sets of seed values are provided, wherein each of the seed value within a set of seed values having a corresponding seed value identifier;

one of the plurality of set of seed values is selected;

one of the seed values within the selected set of seed values is selected; and

the initialization vector is generated using the selected one of the plurality of seed values within the selected set of seed values.

22. The system of claim 21 , further including:

a characteristic of the data is identified; and

based on the characteristic of the data, one of the set of plurality of seed values is selected.

23. The system of claim 22 , wherein one of the characteristic of the data is frequency of occurrence of the data.

24. The system of claim 23 , wherein one set of seed values has greater number of seed values than another set of seed values and the one set of seed values is selected if the frequency of occurrence of the data is above a threshold value.

Assignments (14)
SECURITY INTEREST Recorded Jan 6, 2026
From: ALERT LOGIC, INC.; DIGITAL GUARDIAN LLC; ECRIME MANAGEMENT STRATEGIES, INC.; FORTRA, LLC; GLOBALSCAPE, INC.; TRIPWIRE, INC.
To: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 074233/0632 →
NEW MONEY FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Nov 21, 2025
From: ALERT LOGIC, INC.; DIGITAL GUARDIAN LLC; ECRIME MANAGEMENT STRATEGIES, INC.; FORTRA, LLC; GLOBALSCAPE, INC.; TRIPWIRE, INC.; VERA SECURITY, INC.
To: ARES CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 073683/0534 →
EXTENDED FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Nov 21, 2025
From: FORTRA, LLC
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 073663/0914 →
EXTENDED RCF FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Nov 21, 2025
From: FORTRA, LLC
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 073663/0327 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2025
From: LOOKOUT, INC.
To: FORTRA, LLC
Reel/Frame 071659/0726 →
RELEASE OF SECURITY INTEREST Recorded May 14, 2025
From: MIDCAP FINANCIAL TRUST
To: LOOKOUT, INC.
Reel/Frame 071115/0227 →
SECURITY INTEREST Recorded Aug 10, 2024
From: LOOKOUT, INC.
To: MIDCAP FINANCIAL TRUST
Reel/Frame 068538/0177 →
RELEASE OF PATENT SECURITY INTEREST AT REEL 59909 AND FRAME 0764 Recorded Jun 2, 2023
From: ALTER DOMUS (US) LLC, AS ADMINISTRATIVE AGENT
To: LOOKOUT, INC.
Reel/Frame 063844/0638 →
SECURITY INTEREST Recorded May 9, 2022
From: LOOKOUT, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 059909/0764 →
RELEASE OF SECURITY INTEREST Recorded May 9, 2022
From: SILICON VALLEY BANK (THE "BANK")
To: LOOKOUT, INC.
Reel/Frame 059909/0668 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 6, 2022
From: CIPHERCLOUD, LLC.
To: LOOKOUT, INC.
Reel/Frame 059522/0738 →
MERGER AND CHANGE OF NAME Recorded Apr 6, 2022
From: CIPHERCLOUD, INC.; CIPHERCLOUD ACQUISITION, LLC
To: CIPHERCLOUD, LLC.
Reel/Frame 059522/0690 →
SECURITY INTEREST Recorded Mar 16, 2021
From: CIPHERCLOUD, INC.
To: SILICON VALLEY BANK
Reel/Frame 055606/0608 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2014
From: KOTHARI, PRAVIN; DASH, DEBABRATA
To: CIPHERCLOUD, INC.
Reel/Frame 033510/0610 →