IP Library Granted Patent US 10,212,155
Granted Patent B2
US 10,212,155 · App. 15/872,511 · Granted Feb 19, 2019

Table-connected tokenization

Inventors: Ulf Mattsson (Cos Cob, CT); Yigal Rozenberg (Wilton, CT); Vichai Levy (Norwalk, CT)
Assignee: Protegrity Corporation
H04L63/083G06F17/30477G06F17/30569G06F17/30914G06F21/6254G06Q50/265H04L9/06H04L63/0428H04L63/0807H04L63/20
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 10,212,155
App. No.
15/872,511
Granted
Feb 19, 2019
Kind
B2
Abstract

A tokenization system tokenizes sensitive data to prevent unauthorized entities from accessing the sensitive data. The tokenization system accesses sensitive data, and retrieves an initialization vector (IV) from an IV table using a first portion of the sensitive data. A second portion of the sensitive data is modified using the accessed initialization vector. A token table is selected from a set of token tables using a third portion of the sensitive data. The modified second portion of data is used to query the selected token table, and a token associated with the value of the modified second portion of data is accessed. The second portion of the sensitive data is replaced with the accessed token to form tokenized data.

Claims (43)

1. A method for improving the security of data in a tokenization environment, comprising:

receiving data to be tokenized, the received data comprising a first portion of received data, a second portion of received data, a third portion of received data, and a fourth portion of received data, the first portion, second portion, third potion, and fourth portion comprising different portions of the received data;

receiving a first token table from a first server and a second token table from a second server different from the first server, the first server configured to select the first token table based on a value of the first portion of received data and the second server configured to select the second token table based on a value of the second portion of received data, the first token table and second token table each mapping each of a plurality of input values to a different token value; and

after selecting the token table, transforming the received data to produce tokenized data by:

accessing an initialization vector based on a value of the third portion of received data;

modifying, by a hardware processor, the fourth portion of the received data using the initialization vector to produce a modified fourth portion of the received data;

replacing, by the hardware processor, the modified fourth portion of the received data with a first token mapped by the first token table to a value of the modified fourth portion of the received data to produce a first tokenized portion of the received data; and

replacing, by the hardware processor, the first tokenized portion of the received data with a second token mapped by the second token table to a value of the first tokenized portion of the received data to produce a second tokenized portion of the received data.

2. The method of claim 1 , wherein the received data is one of: a password, an account number, a social security number, a driver's license number, information associated with a transaction, or date information.

3. The method of claim 1 , wherein the initialization vector is accessed by querying an initialization vector table with the value of the third portion of received data.

4. The method of claim 1 , wherein modifying the fourth portion of the received data comprises adding the value of the fourth portion of the received data to a value of the initialization vector.

5. The method of claim 1 , wherein the first server is configured to select the first token table from a first set of token tables and the second server is configured to select the second token table form a second set of token tables, wherein the first token table is associated with a first index value corresponding to the value of the first portion of the received data, and wherein the second token table is associated with a second index value corresponding to the value of the second portion of the received data.

6. The method of claim 1 , wherein the first portion, the second portion, the third portion, and the fourth portion of the received data do not overlap.

7. The method of claim 1 , wherein two or more of the first portion, the second portion, the third portion, and the fourth portion of the received data overlap at least in part.

8. A tokenization system for improving the security of data in a tokenization environment, comprising:

a non-transitory computer-readable storage medium storing executable instructions that, when executed by a processor, perform steps comprising:

receiving data to be tokenized, the received data comprising a first portion of received data, a second portion of received data, a third portion of received data, and a fourth portion of received data, the first portion, second portion, third potion, and fourth portion comprising different portions of the received data;

receiving a first token table from a first server and a second token table from a second server different from the first server, the first server configured to select the first token table based on a value of the first portion of received data and the second server configured to select the second token table based on a value of the second portion of received data, the first token table and second token table each mapping each of a plurality of input values to a different token value; and

after selecting the token table, transforming the received data to produce tokenized data by:

accessing an initialization vector based on a value of the third portion of received data;

modifying, by a hardware processor, the fourth portion of the received data using the initialization vector to produce a modified fourth portion of the received data;

replacing, by the hardware processor, the modified fourth portion of the received data with a first token mapped by the first token table to a value of the modified fourth portion of the received data to produce a first tokenized portion of the received data; and

replacing, by the hardware processor, the first tokenized portion of the received data with a second token mapped by the second token table to a value of the first tokenized portion of the received data to produce a second tokenized portion of the received data; and

a hardware processor configured to execute the instructions.

9. The non-transitory computer-readable storage medium of claim 8 , wherein the received data is one of: a password, an account number, a social security number, a driver's license number, information associated with a transaction, or date information.

10. The non-transitory computer-readable storage medium of claim 8 , wherein the initialization vector is accessed by querying an initialization vector table with the value of the third portion of received data.

11. The non-transitory computer-readable storage medium of claim 8 , wherein modifying the fourth portion of the received data comprises adding the value of the fourth portion of the received data to a value of the initialization vector.

12. The non-transitory computer-readable storage medium of claim 8 , wherein the first server is configured to select the first token table from a first set of token tables and the second server is configured to select the second token table from a second set of token tables, wherein the first token table is associated with a first index value corresponding to the value of the first portion of the received data, and wherein the second token table is associated with a second index value corresponding to the value of the second portion of the received data.

13. The non-transitory computer-readable storage medium of claim 8 , wherein the first portion, the second portion, the third portion, and the fourth portion of the received data do not overlap.

14. The non-transitory computer-readable storage medium of claim 8 , wherein two or more of the first portion, the second portion, the third portion, and the fourth portion of the received data overlap in part.

15. A non-transitory computer-readable storage medium storing executable computer instructions that when executed by a hardware processor perform steps for improving the security of data in a tokenization environment, comprising:

receiving data to be tokenized, the received data comprising a first portion of received data, a second portion of received data, a third portion of received data, and a fourth portion of received data, the first portion, second portion, third potion, and fourth portion comprising different portions of the received data;

receiving a first token table from a first server and a second token table from a second server different from the first server, the first server configured to select the first token table based on a value of the first portion of received data and the second server configured to select the second token table based on a value of the second portion of received data, the first token table and second token table each mapping each of a plurality of input values to a different token value; and

after selecting the token table, transforming the received data to produce tokenized data by:

accessing an initialization vector based on a value of the third portion of received data;

modifying, by a hardware processor, the fourth portion of the received data using the initialization vector to produce a modified fourth portion of the received data;

replacing, by the hardware processor, the modified fourth portion of the received data with a first token mapped by the first token table to a value of the modified fourth portion of the received data to produce a first tokenized portion of the received data; and

replacing, by the hardware processor, the first tokenized portion of the received data with a second token mapped by the second token table to a value of the first tokenized portion of the received data to produce a second tokenized portion of the received data.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the received data is one of: a password, an account number, a social security number, a driver's license number, information associated with a transaction, or date information.

17. The non-transitory computer-readable storage medium of claim 15 , wherein the initialization vector is accessed by querying an initialization vector table with the value of the third portion of received data.

18. The non-transitory computer-readable storage medium of claim 15 , wherein modifying the fourth portion of the received data comprises adding the value of the fourth portion of the received data to a value of the initialization vector.

19. The non-transitory computer-readable storage medium of claim 15 , wherein the first server is configured to select the first token table from a first set of token tables and the second server is configured to select the second token table from a second set of token tables, wherein the first token table is associated with a first index value corresponding to the value of the first portion of the received data, and wherein the second token table is associated with a second index value corresponding to the value of the second portion of the received data.

20. The non-transitory computer-readable storage medium of claim 15 , wherein the first portion, the second portion, the third portion, and the fourth portion of the received data do not overlap.

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 Jan 22, 2018
From: MATTSSON, ULF; ROZENBERG, YIGAL; LEVY, VICHAI
To: PROTEGRITY CORPORATION
Reel/Frame 044693/0136 →
Continuity (4)
Continuation 15470351 · Mar 27, 2017
Continuation 14958712 · Dec 3, 2015
Continuation 14042314 · Sep 30, 2013
Related Publication 20180145963A1 · May 24, 2018