IP Library Granted Patent US 11,423,504
Granted Patent B2
US 11,423,504 · App. 14/060,186 · Granted Aug 23, 2022

System for protecting sensitive data with distributed tokenization

Inventors: Terence Spies (Mountain View, CA); Richard T. Minner (Carmichael, CA)
Assignee: Micro Focus LLC
G06Q99/00H04L9/0625H04L9/0897
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 11,423,504
App. No.
14/060,186
Granted
Aug 23, 2022
Kind
B2
Abstract

A token generating organization may include distributed tokenization systems for generating tokens corresponding to sensitive information. Sensitive information may include sensitive numbers such as social security numbers, credit card numbers or other private numbers. A tokenization system may include multiple physically distinct hardware platforms each having a tokenization server and a database. A tokenization server may run portions of a sensitive number through a predetermined number of rounds of a Feistel network. Each round of the Feistel network may include tokenizing portions of the sensitive number using a fractional token table stored an associated database and modifying the tokenized portions by reversibly adding portions of the sensitive number to the tokenized portions. The fractional token table may include partial sensitive numbers and corresponding partial tokens. A sensitive-information-recovery request including the token may be directed to the token generating organization from the token requestor to recover sensitive information.

Claims (59)

1. A method for protecting sensitive information in online transactions using geographically distributed tokenization systems, wherein each geographically distributed tokenization system includes a tokenization server and a local database, and wherein each of the local databases stores a fractional token table, the method comprising:

generating, by a random number generator, a plurality of fractional token tables, each of the fractional token tables comprising a plurality of different string portions and corresponding different partial-tokens;

storing the plurality of fractional token tables at multiple geographically distributed tokenization systems;

with the geographically distributed tokenization systems, receiving token requests from token requestors, wherein each of the token requests includes a string of sensitive information, the string of sensitive information comprising plural string portions;

with the geographically distributed tokenization servers, generating full tokens corresponding to the sensitive information in the token requests, wherein generating each full token comprises a tokenization system of the geographically distributed tokenization servers running the string portions of a string of sensitive information from a selected token request through a plurality of rounds of a Feistel network using the plurality of fractional token tables stored at that tokenization system, wherein each of the plurality of fractional token tables maps partial tokens to string portions in the string of sensitive information from the selected token request, and wherein the generated full tokens protect the sensitive information received in the online transactions;

providing the full tokens to the token requestors;

with a receiving tokenization system of the geographically distributed tokenization servers, receiving a full token in a sensitive-information-recovery request from a token requestor;

with the receiving tokenization system of the geographically distributed tokenization servers, recovering the string of sensitive information corresponding to the received full token, wherein the recovering comprises recovering each string portion in the string of sensitive information corresponding to the received full token by running partial tokens in the received full token through the plurality of rounds of the Feistel network using the plurality of fractional token tables stored at that tokenization system; and

providing the recovered string of sensitive information to the token requestor.

2. The method defined in claim 1 , wherein the random number generator comprises at least one of a pseudorandom number generator, a truly random number generator, and a hardware-generated random number generator and wherein the running the string portions of a string of sensitive information from a selected token request through a plurality of rounds of a Feistel network comprises:

mapping, by a first fractional token table, a first string portion to a first partial token;

combining the first partial token with a second string portion to provide a first tokenized result;

mapping, by a second fractional token table, the first tokenized result to a second partial token; and

combining the second partial token with the first string portion to provide a second tokenized result.

3. The method defined in claim 1 , wherein the random number generator comprises at least one of a pseudorandom number generator, a truly random number generator, a hardware-generated random number generator and wherein the running the string portions of a string of sensitive information from a selected token request through a plurality of rounds of a Feistel network comprises:

modifying a tokenized first string portion of the string of sensitive information using a non-tokenized second string portion of the string of sensitive information.

4. The method defined in claim 3 , wherein recovering the string of sensitive information comprises running full tokens through the plurality of rounds of the Feistel network in reverse.

5. The method defined in claim 1 , wherein the partial tokens are half tokens, and wherein the string portions are half portions of strings of sensitive information.

6. The method defined in claim 4 , wherein running sensitive information through the plurality of rounds of the Feistel network comprises performing at least one reversible addition operation, and wherein running full tokens through the plurality of rounds of the Feistel network in reverse comprises performing at least one subtraction operation to reverse the at least one reversible addition operation.

7. The method defined in claim 1 , wherein each round of the plurality of rounds is performed using a portion of the string of sensitive information included in a corresponding token request and wherein the random number generator generates the plurality of fractional token tables by randomly shuffling an array of string portions.

8. In a geographically distributed network of tokenization systems, a tokenization system for online transactions comprising a server implemented in hardware, the server to:

generate, by a random number generator, a plurality of fractional token tables, each of the fractional token tables comprising a plurality of different string portions and corresponding different partial-tokens;

storing the plurality of fractional token tables;

receive, from a token requestor as part of an online transaction, a token request including a string of sensitive information, the string of sensitive information comprising plural string portions;

in response to the token request, process the plural string portions through a plurality of rounds of a Feistel network using a fractional token table of the plurality of fractional token tables, wherein the fractional token table maps partial tokens to string portions;

generate a first full token based on the plurality of rounds of the Feistel network;

provide the first full token to the token requestor to use in the online transaction;

receive, as part of the online transaction, the first full token in a sensitive-information-recovery request;

recover the string of sensitive information corresponding to the received first full token, wherein the recovering comprises recovering each string portion in the string of sensitive information corresponding to the received first full token by running partial tokens in the received first full token through the plurality of rounds of the Feistel network using the plurality of fractional token tables; and

provide the recovered string of sensitive information as part of the online transaction.

9. The tokenization system defined in claim 8 , wherein the random number generator comprises at least one of a pseudorandom number generator, a truly random number generator, and a hardware-generated random number generator and wherein the running the string portions of a string of sensitive information from a selected token request through a plurality of rounds of a Feistel network comprises and the server to:

map, by a first fractional token table, a first string portion to a first partial token;

combine the first partial token with a second string portion to provide a first tokenized result;

map, by a second fractional token table, the first tokenized result to a second partial token; and

combine the second partial token with the first string portion to provide a second tokenized result.

10. The tokenization system defined in claim 8 , wherein the random number generator comprises at least one of a pseudorandom number generator, a truly random number generator, a hardware-generated random number generator and wherein the server to:

modifying a tokenized first string portion of the string of sensitive information using a non-tokenized second string portion of the string of sensitive information.

11. The tokenization system defined in claim 10 , the server to:

process the first full token through the plurality of rounds of the Feistel network in reverse to recover the string of sensitive information.

12. The tokenization system defined in claim 11 , the server to process the string of sensitive information through the plurality of rounds of the Feistel network using at least one reversible addition operation, and the server to process the string of sensitive information through the plurality of rounds in reverse using at least one subtraction operation to reverse at least one reversible addition operation.

13. The tokenization system defined in claim 8 , wherein the partial tokens are half tokens, and wherein the string portions are half portions of the string of sensitive information.

14. The tokenization system defined in claim 8 , wherein each round of the plurality of rounds is performed using a portion of the string of sensitive information included in the token request.

15. In a geographically distributed network of tokenization systems, a tokenization system for online transactions comprising a server implemented in hardware, the server to:

generate, by a random number generator, a plurality of fractional token tables, each of the fractional token tables comprising a plurality of different string portions and corresponding different partial-tokens;

storing the plurality of fractional token tables;

receive, from a token requestor as part of an online transaction, a token request including a string of sensitive information, the string of sensitive information comprising plural string portions;

in response to the token request:

map, by a first fractional token table, a first string portion to a first partial token;

combine the first partial token with a second string portion to provide a first tokenized result;

map, by a second fractional token table, the first tokenized result to a second partial token; and

combine the second partial token with the first string portion to provide a second tokenized result; and

process the second tokenized result to provide a first full token; and

provide the first full token to the token requestor as part of the online transaction.

16. The tokenization system defined in claim 15 , further comprising:

receive the first full token in a sensitive-information-recovery request as part of the online transaction;

recover the string of sensitive information corresponding to the received first full token by performing the map and combine operations in reverse; and

provide the recovered string of sensitive information as part of the online transaction.

17. The tokenization system defined in claim 16 , wherein the random number generator comprises at least one of a pseudorandom number generator, a truly random number generator, and a hardware-generated random number generator and wherein the random number generator generates the plurality of fractional token tables by randomly shuffling an array of string portions.

18. The tokenization system defined in claim 17 , wherein the partial tokens are half tokens, and wherein the string portions are half portions of strings of sensitive information.

Assignments (5)
CHANGE OF NAME Recorded Aug 8, 2019
From: ENTIT SOFTWARE LLC
To: MICRO FOCUS LLC
Reel/Frame 050004/0001 →
CHANGE OF NAME Recorded Dec 17, 2018
From: VOLTAGE SECURITY, INC.
To: VOLTAGE SECURITY, LLC
Reel/Frame 051198/0611 →
MERGER AND CHANGE OF NAME Recorded Dec 17, 2018
From: VOLTAGE SECURITY, LLC; ENTIT SOFTWARE LLC
To: ENTIT SOFTWARE LLC
Reel/Frame 051199/0074 →
MERGER Recorded Oct 22, 2018
From: VOLTAGE SECURITY, LLC
To: ENTIT SOFTWARE LLC
Reel/Frame 047253/0802 →
ENTITY CONVERSION AND CHANGE OF NAME Recorded Oct 22, 2018
From: VOLTAGE SECURITY, INC.
To: VOLTAGE SECURITY, LLC
Reel/Frame 047276/0434 →