IP Library Granted Patent US 9,514,334
Granted Patent B1
US 9,514,334 · App. 14/611,204 · Granted Dec 6, 2016

Decentralized token table generation

Inventors: Yigal Rozenberg (Wilton, CT); Ulf Mattsson (Cos Cob, CT)
Assignee: Protegrity Corporation
G06F21/6254G06F17/30339G06F17/30424
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,514,334
App. No.
14/611,204
Granted
Dec 6, 2016
Kind
B1
Abstract

New tokenization tables are derived at intervals in order to increase the security of tokenized data that is transferred between two endpoints. Generation of the new tokenization tables is based on previous tokenization tables, which advantageously allows the generation process to be performed locally at the two endpoints independently of an external tokenization table provider. New tokenization tables can periodically be distributed to the endpoints as a new starting point for derivation.

Claims (39)

1. A method for tokenizing data, comprising:

tokenizing first data at a transmitting endpoint by querying a first token table mapping each of a plurality of input values to a different token value with a first portion of the first data to identify a first token value mapped to a value of the first portion of the first data and replacing the first portion of the first data with the first token value to produce tokenized first data;

sending the first tokenized data to a receiving endpoint having access to the first token table;

generating a second token table based on the first token table by performing a shuffle algorithm based on a pseudo-random number generator and a seed value on the token values of the first token such that for at least one input value, the second token table maps a different token value to the input value than the first token table;

tokenizing second data by querying the second token table with a second portion of the second data to identify a second token value mapped to the value of the second portion of the second data and replacing the second portion of the second data with the second token value to produce tokenized second data; and

sending the second tokenized data to the receiving endpoint, the receiving endpoint configured to generate the second token table based on the first token table using the shuffle algorithm.

2. The method of claim 1 , wherein the seed value is received at the transmitting endpoint and the receiving endpoint before generating the second token table.

3. The method of claim 1 , wherein the second token table is generated in response to determining that the transmitting endpoint has transmitted a threshold number of tokenized data to the receiving endpoint.

4. The method of claim 1 , wherein the second token table is generated in response to determining that the transmitting endpoint has transmitted a threshold amount of tokenized data to the receiving endpoint.

5. The method of claim 1 , further comprising:

after sending the first tokenized data to the receiving endpoint, sending context information to the receiving endpoint, the context information identifying the first token table.

6. The method of claim 5 , further comprising:

after sending the second tokenized data to the receiving endpoint, sending second context information to the receiving endpoint, the second context information identifying the second token table.

7. A system for sending tokenized data, the system comprising a non-transitory computer-readable storage medium storing executable computer instructions and a processor configured to execute the instructions to perform steps comprising:

tokenizing first data by querying a first token table mapping each of a plurality of input values to a different token value with a first portion of the first data to identify a first token value mapped to a value of the first portion of the first data and replacing the first portion of the first data with the first token value to produce tokenized first data;

sending the first tokenized data to a receiving system having access to the first token table;

generating a second token table based on the first token table by performing a shuffle algorithm based on a pseudo-random number generator and a seed value on the token values of the first token such that for at least one input value, the second token table maps a different token value to the input value than the first token table;

tokenizing second data by querying the second token table with a second portion of the second data to identify a second token value mapped to the value of the second portion of the second data and replacing the second portion of the second data with the second token value to produce tokenized second data; and

sending the second tokenized data to the receiving system, the receiving system configured to generate the second token table based on the first token table using the shuffle algorithm.

8. The system of claim 7 , wherein the seed value is accessed by the system and the receiving system before generating the second token table.

9. The system of claim 7 , wherein the second token table is generated in response to determining that a threshold number of tokenized data have been sent to the receiving system.

10. The system of claim 7 , wherein the second token table is generated in response to determining that a threshold amount of tokenized data has been sent to the receiving system.

11. The system of claim 7 , further comprising:

after sending the first tokenized data to the receiving system, sending context information to the receiving system, the context information identifying the first token table.

12. The system of claim 11 , further comprising:

after sending the second tokenized data to the receiving system, sending second context information to the receiving system, the second context information identifying the second token table.

13. A non-transitory computer-readable storage medium storing executable computer instructions for tokenizing data, the instructions, when executed, configured to perform steps comprising:

tokenizing first data by querying a first token table mapping each of a plurality of input values to a different token value with a first portion of the first data to identify a first token value mapped to a value of the first portion of the first data and replacing the first portion of the first data with the first token value to produce tokenized first data;

sending the first tokenized data to a receiving endpoint having access to the first token table;

generating a second token table based on the first token table by performing a shuffle algorithm based on a pseudo-random number generator and a seed value on the token values of the first token such that for at least one input value, the second token table maps a different token value to the input value than the first token table;

tokenizing second data by querying the second token table with a second portion of the second data to identify a second token value mapped to the value of the second portion of the second data and replacing the second portion of the second data with the second token value to produce tokenized second data; and

sending the second tokenized data to the receiving endpoint, the receiving endpoint configured to generate the second token table based on the first token table using the shuffle algorithm.

14. The computer-readable storage medium of claim 13 , wherein the seed value is received at the transmitting endpoint and the receiving endpoint before generating the second token table.

15. The computer-readable storage medium of claim 13 , wherein the second token table is generated in response to determining that the transmitting endpoint has transmitted a threshold number of tokenized data to the receiving endpoint.

16. The computer-readable storage medium of claim 13 , wherein the second token table is generated in response to determining that the transmitting endpoint has transmitted a threshold amount of tokenized data to the receiving endpoint.

17. The computer-readable storage medium of claim 13 , the instructions, when executed, configured to perform further steps comprising:

after sending the first tokenized data to the receiving endpoint, sending context information to the receiving endpoint, the context information identifying the first token table.

18. The computer-readable storage medium of claim 17 , the instructions, when executed, configured to perform further steps comprising:

after sending the second tokenized data to the receiving endpoint, sending second context information to the receiving endpoint, the second context information identifying the second token table.

Assignments (3)
SECURITY INTEREST Recorded Aug 2, 2024
From: PROTEGRITY USA, INC.; PROTEGRITY LIMITED HOLDING, LLC; PROTEGRITY US HOLDING, LLC; PROTEGRITY CORPORATION; KAVADO, LLC
To: CANADIAN IMPERIAL BANK OF COMMERCE
Reel/Frame 068326/0020 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: PROTEGRITY CORPORATION
To: PROTEGRITY US HOLDING, LLC
Reel/Frame 067566/0462 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 14, 2015
From: ROZENBERG, YIGAL; MATTSSON, ULF
To: PROTEGRITY CORPORATION
Reel/Frame 036073/0707 →
Continuity (2)
Continuation 13851865 · Mar 27, 2013
Provisional Application 61618621 · Mar 30, 2012