IP Library Granted Patent US 11,921,877
Granted Patent B2
US 11,921,877 · App. 17/098,846 · Granted Mar 5, 2024

Efficient random tokenization in the cloud

Inventors: Roman Bayon (Antibes, FR); Sylvain Palmier (Antibes, FR); Rodrigo Broggi (Antibes, FR); Michele Minelli (Zaventem, BE)
Assignee: Amadeus S.A.S.
G06F21/6227G06F21/335G06F21/602G06F21/6254
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,921,877
App. No.
17/098,846
Granted
Mar 5, 2024
Kind
B2
Abstract

Systems and methods for providing decentralized tokenization with mapping data devoid of sensitive data. A node receives a set of index-key pairs generated by a randomization service external to the node. Each index-key pair in the set of index-key pairs defines a particular index value mapped to a particular random key value. The node creates a mapping structure using the set of index-key pairs. Data-in-transit comprising sensitive data is received. A tokenization service of the node generates a token for the sensitive data using the mapping structure.

Claims (55)

1. A system comprising:

a node comprising a processor, a computer-readable storage medium, and a tokenization service, the computer-readable storage medium comprising instructions that upon execution by the processor cause the processor to perform operations, the operations comprising:

receiving, by the node, a set of index-key pairs generated by a randomization service external to the node, wherein each index-key pair defines a particular index value mapped to a particular random key value;

creating, by the node, a mapping structure using the set of index-key pairs, wherein the mapping structure includes a plurality of index values;

receiving data-in-transit comprising sensitive data;

generating, by the tokenization service, a token for the sensitive data using the mapping structure;

encrypting the token to obtain an encrypted token; and

forwarding the encrypted token to an application interface of a process executing using a first set of computing resources that are isolated from a second set of computing resources that the node allocates to the tokenization service, and

wherein generating the token comprises:

randomly selecting an index value from among the plurality of index values; and

performing an invertible operation on the sensitive data and a random key value mapped to the index value in the mapping structure to generate the token.

2. The system of claim 1 , wherein the node is a first node, wherein the system further comprises the randomization service and a second node, and wherein the randomization service is configured to periodically push updated sets of index-key pairs to the first node and the second node.

3. The system of claim 1 , wherein the node is a first node, wherein the system further comprises a second node, and wherein the first set of computing resources are allocated to the process by the second node.

4. The system of claim 1 , wherein the first set of computing resources are allocated to the process by the node.

5. The system of claim 1 , wherein the token is forwarded to the application interface without storing data mapping the sensitive data to the token.

6. The system of claim 1 , wherein the instructions, when executed, further cause the system to perform additional operations, the additional operations comprising:

encrypting the token prior to forwarding the token to the application interface of the process.

7. The system of claim 1 , wherein the token and the sensitive data are each composed of an equivalent number of bytes, and wherein the token comprises a first number of bits and the sensitive data comprises a second number of bits that is different from the first number of bits.

8. The system of claim 1 , wherein the randomization service is blocked from accessing transaction data.

9. The system of claim 1 , wherein receiving the data-in-transit comprises:

detecting, by a data flow processing unit of the node processing the data-in-transit, the sensitive data within the data-in-transit.

10. A method comprising:

receiving, by a node, a set of index-key pairs generated by a randomization service external to the node, wherein each index-key pair defines a particular index value mapped to a particular random key value;

creating, by the node, a mapping structure using the set of index-key pairs;

receiving data-in-transit comprising sensitive data;

generating, by a tokenization service of the node, a token for the sensitive data using the mapping structure, wherein the mapping structure includes a plurality of index values;

encrypting the token to obtain an encrypted token; and

forwarding the encrypted token to an application interface of a process executing using a first set of computing resources that are isolated from a second set of computing resources that the node allocates to the tokenization service, and

wherein generating the token comprises:

randomly selecting an index value from among the plurality of index values; and

performing an invertible operation on the sensitive data and a random key value mapped to the index value in the mapping structure to generate the token.

11. The method of claim 10 , further comprising:

synchronizing the blacklist structure of the node with a copy of the blacklist structure residing in memory resources of another node external to the node.

12. The method of claim 10 , further comprising:

configuring a detokenization service to detokenize tokens using a plurality of mapping structures associated with a plurality of epochs, wherein the mapping structure is one of the plurality of mapping structures residing in memory resources accessible to the detokenization service, and wherein at least one epoch among the plurality of epochs precedes a corresponding epoch of the mapping structure.

13. The method of claim 12 , wherein a given mapping structure of the plurality of mapping structures associated with the at least one epoch is only used for detokenization operations not for tokenization operations.

14. The method of claim 12 , wherein the detokenization service selects a particular mapping structure from the plurality of mapping structures for detokenizing a given token using a version identifier extracted from the given token.

15. The method of claim 10 , further comprising:

detokenizing, by a detokenization service, the token using the mapping structure and an index value extracted from the token.

16. The method of claim 10 , wherein the token is a first token, the method further comprising:

receiving a second token generated by a remote tokenization service using the mapping structure, the remote tokenization service executing on computing resources external to the node;

decrypting the second token to obtain a decrypted second token;

extracting a version identifier associated with the mapping structure from the decrypted second token; and

detokenizing the decrypted second token using an index value extracted from the decrypted second token and a random value mapped to the index value in the mapping structure.

17. The method of claim 10 , wherein the node comprises memory resources storing data-at-rest, and wherein the sensitive data is absent from the data-at-rest.

18. A non-transitory computer-readable storage medium comprising computer-readable instructions that upon execution by a processor of a computing device cause the computing device to:

receive, by a node, a set of index-key pairs generated by a randomization service external to the node, wherein each index-key pair defines a particular index value mapped to a particular random key value;

create, by the node, a mapping structure using the set of index-key pairs, wherein the mapping structure includes a plurality of index values;

receive data-in-transit comprising sensitive data;

generate, by a tokenization service of the node, a token for the sensitive data using the mapping structures;

encrypt the token to obtain an encrypted token; and

forward the encrypted token to an application interface of a process executing using a first set of computing resources that are isolated from a second set of computing resources that the node allocates to the tokenization service, and

wherein generate the token comprises:

randomly select an index value from among the plurality of index values; and

perform an invertible operation on the sensitive data and a random key value mapped to the index value in the mapping structure to generate the token.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2020
From: BAYON, ROMAN; PALMIER, SYLVAIN; BROGGI, RODRIGO; MINELLI, MICHELE
To: AMADEUS S.A.S.
Reel/Frame 054504/0163 →
Priority Claims (1)
FR 2001463 · Feb 14, 2020 · national
Continuity (1)
Related Publication 20210256150A1 · Aug 19, 2021