IP Library Granted Patent US 11,960,620
Granted Patent B2
US 11,960,620 · App. 16/953,721 · Granted Apr 16, 2024

Distributed tokenization using several substitution steps

Inventor: Ulf Mattsson (Cos Cob, CT)
Assignee: PROTEGRITY CORPORATION
G06F21/6245G06F16/90344G07F7/084G07F7/1008H04L9/083H04L9/0897H04L63/0428H04L2209/56
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,960,620
App. No.
16/953,721
Granted
Apr 16, 2024
Kind
B2
Abstract

A method for distributed tokenization of sensitive strings of characters, such as social security numbers, credit card numbers and the like, in a local server is disclosed. The method comprises the steps of receiving from a central server at least one, and preferably at least two, static token lookup tables, and receiving a sensitive string of characters. In a first tokenization step, a first sub string of characters is substituted with a corresponding first token from the token lookup table(s) to form a first tokenized string of characters, wherein the first sub string of characters is a substring of the sensitive string of characters. Thereafter, in a second step of tokenization, a second sub string of characters is substituted with a corresponding second token from the token lookup table(s) to form a second tokenized string of characters, wherein the second substring of characters is a substring of the first tokenized string of characters. Optionally, one or more additional tokenization steps is/are used.

Claims (31)

1. A method of tokenization, comprising:

receiving a string of characters in a first character domain at a local server;

accessing, by the local server, a first token table and a second token table, the first token table and the second token table each mapping each of a set of input values in the first character domain to a different token value comprising characters in a second character domain different from the first character domain;

tokenizing, by the local server, the accessed string of characters by modifying a first substring of the access string of characters with one or more initialization vectors and replacing the first modified substring of the accessed string of characters with a first token value mapped to a value of the first substring by the first token table to form a first intermediate string of characters comprising characters in the first character domain and characters in the second character domain;

tokenizing, by the local server, the first intermediate string of characters by replacing a second substring of the first intermediate string of characters comprising characters in the first character domain by replacing the second substring of the first intermediate string of characters with a second token value mapped to a value of the second substring of the first intermediate string of characters by the second token table to form a tokenized string of characters; and

transmitting, by the local server, the tokenized string of characters to a central server.

2. The method of claim 1 , wherein the tokenized string of characters comprises characters in the second character domain.

3. The method of claim 1 , wherein the tokenized string of characters comprises characters in the first character domain and characters in the second character domain.

4. The method of claim 1 , wherein the first character domain and the second character domain have no overlapping characters.

5. The method of claim 1 , wherein the first character domain comprises numeric characters and wherein the second character domain comprises alphabet characters.

6. A server, comprising:

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

receiving a string of characters in a first character domain at the server;

accessing, by the server, a first token table and a second token table, the first token table and the second token table each mapping each of a set of input values in the first character domain to a different token value comprising characters in a second character domain different from the first character domain;

tokenizing, by the server, the accessed string of characters by modifying a first substring of the access string of characters with one or more initialization vectors and replacing the first modified substring of the accessed string of characters with a first token value mapped to a value of the first substring by the first token table to form a first intermediate string of characters comprising characters in the first domain character and characters in the second character domain;

tokenizing, by the server, the first intermediate string of characters by replacing a second sub string of the first intermediate string of characters comprising characters in the first character domain by replacing the second sub string of the first intermediate string of characters with a second token value mapped to a value of the second substring of the first intermediate string of characters by the second token table to form a tokenized string of characters; and

transmitting, by the server, the tokenized string of characters to a central server; and

a hardware processor configured to execute the instructions.

7. The server of claim 6 , wherein the tokenized string of characters comprises characters in the second character domain.

8. The server of claim 6 , wherein the tokenized string of characters comprises characters in the first character domain and characters in the second character domain.

9. The server of claim 6 , wherein the first character domain and the second character domain have no overlapping characters.

10. The server of claim 6 , wherein the first character domain comprises numeric characters and wherein the second character domain comprises alphabet characters.

11. A non-transitory computer-readable storage medium storing executable computer instructions that, when executed by a processor, cause the processor to perform steps comprising:

receiving a string of characters in a first character domain at a local server;

accessing, by the local server, a first token table and a second token table, the first token table and the second token table each mapping each of a set of input values in the first character domain to a different token value comprising characters in a second character domain different from the first character domain;

tokenizing, by the local server, the accessed string of characters by modifying a first substring of the access string of characters with one or more initialization vectors and replacing the first modified substring of the accessed string of characters with a first token value mapped to a value of the first substring by the first token table to form a first intermediate string of characters comprising characters in the first character domain and characters in the second character domain;

tokenizing, by the local server, the first intermediate string of characters by replacing a second substring of the first intermediate string of characters comprising characters in the first character domain by replacing the second substring of the first intermediate string of characters with a second token value mapped to a value of the second substring of the first intermediate string of characters by the second token table to form a tokenized string of characters; and

transmitting, by the local server, the tokenized string of characters to a central server.

12. The non-transitory computer-readable storage medium of claim 11 , wherein the tokenized string of characters comprises characters in the second character domain.

13. The non-transitory computer-readable storage medium of claim 11 , wherein the tokenized string of characters comprises characters in the first character domain and characters in the second character domain.

14. The non-transitory computer-readable storage medium of claim 11 , wherein the first character domain and the second character domain have no overlapping characters.

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 Dec 7, 2020
From: MATTSSON, ULF
To: PROTEGRITY CORPORATION
Reel/Frame 054568/0828 →