IP Library Granted Patent US 8,595,812
Granted Patent B2
US 8,595,812 · App. 12/973,751 · Granted Nov 26, 2013

Tokenized data security

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 8,595,812
App. No.
12/973,751
Filed
Dec 20, 2010
Granted
Nov 26, 2013
Kind
B2
Art Unit
2433
USPC
726/9
Abstract

Provided are devices, methods, systems, computer readable storage media for tokenizing data. In some examples, credit card numbers are tokenized using a pre-generated token map and absent the use of a networked database that stores a relatively large quantity of credit card numbers in a central location. The token map may be generated by a token map generator such that the token map can be used by a tokenizer to replace a portion of an account number with a token, and by a detokenizer to replace the token with the original portion of the account number. A pre-parser and parser may also be used to locate an account number and/or token in a message received over a network.

Claims (119)

1. A method of tokenizing an account number comprising:

receiving a message;

determining, by a hardware processor, that the message includes an account number;

determining a length of the account number;

selecting a token map based on the length of the account number;

determining a size of a targeted segment based on the length of the account number;

extracting the targeted segment from the account number;

replacing the targeted segment with a token value and a token map version identifier associated with the token map;

receiving a second message;

determining that the second message includes at least a first predetermined number of characters;

determining that the second message includes a second account number;

determining a second length of the second account number;

locating a vendor code within the second account number;

extracting the vendor code;

analyzing the vendor code to determine an expected length of the second account number;

determining whether the second length of the second account number is the same as the expected length;

executing a Luhn test after determining the second length of the second account number is the same as the expected length; and

providing the second account number to a parser after determining the second length is the same as the expected length.

2. A method of tokenizing an account number comprising:

receiving a message;

determining, by a hardware processor, that the message includes an account number;

determining a length of the account number;

selecting a token map based on the length of the account number;

determining a size of a targeted segment based on the length of the account number;

extracting the targeted segment from the account number;

replacing the targeted segment with a token value and a token map version identifier associated with the token map;

receiving a second message;

determining that the second message includes at least a first predetermined number of characters;

determining that the second message includes a second account number;

determining a second length of the second account number;

locating a vendor code within the second account number;

extracting the vendor code;

analyzing the vendor code to determine an expected length of the second account number;

determining whether the second length of the second account number is the same as the expected length; and

removing digits from the second account number to define a new length after determining the second length of the second account number is different than the expected length.

3. The method of claim 2 further comprising:

determining a new length of the second account number after the digits are removed; and

determining whether the new length of the second account number is the same as the expected length.

4. The method of claim 2 further comprising providing the second account number to a parser after determining the new length is the same as the expected length.

5. The method of claim 2 , wherein the digits that are removed represent an expiration date associated with the second account number.

6. A method of detokenizing an account number comprising:

receiving a message;

searching, by a hardware processor, for a token pattern in the message;

finding the token pattern in the message;

after finding the token pattern in the message, locating a tokenized account number;

parsing a token from the tokenized account number;

extracting a token map identifier from the token;

retrieving a token map based on the token map identifier;

replacing the token with a targeted segment in the account number; and

validating the token map identifier before retrieving the token map.

7. The method of claim 6 further comprising:

parsing a prefix from the account number; and

parsing a suffix from the account number.

8. A method of detokenizing an account number comprising:

receiving a message;

searching, by a hardware processor, for a token pattern in the message;

finding the token pattern in the message;

after finding the token pattern in the message, locating a tokenized account number;

parsing a token from the tokenized account number;

extracting a token map identifier from the token;

retrieving a token map based on the token map identifier;

replacing the token with a targeted segment in the account number; and

converting the token to a base 10 number.

9. The method of claim 8 further comprising executing a Luhn test after converting the token to the base10 number.

10. The method of claim 8 further comprising using the token map to locate the targeted segment.

11. The method of claim 8 further comprising:

parsing a prefix from the account number; and

parsing a suffix from the account number.

12. A system comprising:

at least one hardware processor configured to:

determine that a message includes an account number;

determine a length of the account number;

select a token map based on the length of the account number;

determine a size of a targeted segment based on the length of the account number;

extract the targeted segment from the account number;

receive a second message;

determine that the second message includes at least a first predetermined number of characters;

determine that the second message includes a second account number;

determine a second length of the second account number;

locate a vendor code within the second account number;

extract the vendor code;

analyze the vendor code to determine an expected length of the second account number;

determine whether the second length of the second account number is the same as the expected length;

execute a Luhn test after determining the second length of the second account number is the same as the expected length; and

parse the second account number after determining the second length is the same as the expected length.

13. The system of claim 12 , wherein the at least one hardware processor is further configured to parse the second account number into a prefix value, middle digits value and suffix value.

14. A system of claim 12 , wherein the at least one hardware processor is further configured to:

receive a second message;

search for a token pattern in the second message;

find the token pattern in the second message;

after finding the token pattern in the second message, locate a tokenized account number;

parse a token from the tokenized account number;

extract a token map identifier from the token; and

retrieve a token map based on the token map identifier.

15. A system comprising:

at least one hardware processor configured to:

determine that a message includes an account number;

determine a length of the account number;

select a token map based on the length of the account number;

determine a size of a targeted segment based on the length of the account number;

extract the targeted segment from the account number;

receive a second message;

determine that the second message includes at least a first predetermined number of characters;

determine that the second message includes a second account number;

determine a second length of the second account number;

locate a vendor code within the second account number;

extract the vendor code;

analyze the vendor code to determine an expected length of the second account number;

determine whether the second length of the second account number is the same as the expected length; and

remove digits from the second account number to define a new length after determining the second length of the second account number is different than the expected length.

16. The system of claim 15 , wherein the at least one hardware processor is further configured to parse the second account number into a prefix value, middle digits value and suffix value after determining the new length is the same as the expected length.

17. The system of claim 15 , wherein the at least one hardware processor is further configured to:

receive a second message;

search for a token pattern in the second message;

find the token pattern in the second message;

after finding the token pattern in the second message, locate a tokenized account number;

parse a token from the tokenized account number;

extract a token map identifier from the token; and

retrieve a token map based on the token map identifier.

Assignments (21)
SECURITY INTEREST Recorded Feb 13, 2026
From: SABRE GLBL INC.; TVL LP
To: COMPUTERSHARE TRUST COMPANY, N.A.
Reel/Frame 073787/0584 →
SECURITY INTEREST Recorded Dec 8, 2025
From: SABRE GLBL INC.; TVL LP
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 073146/0059 →
TERMINATION AND RELEASE OF SECURITY INTERESTIN PATENTS Recorded Sep 2, 2025
From: COMPUTERSHARE TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: SABRE GLBL INC.; TVL LP
Reel/Frame 072809/0498 →
SECURITY INTEREST Recorded Jun 5, 2025
From: SABRE GLBL INC.; TVL LP
To: COMPUTERSHARE TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 071325/0435 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS [REEL/FRAME 064091/0576] Recorded Jun 4, 2025
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: SABRE GLBL INC.; TVL LP
Reel/Frame 071481/0949 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 15, 2025
From: COMPUTERSHARE TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: SABRE GLBL INC.; TVL LP
Reel/Frame 070851/0247 →
PATENT SECURITY AGREEMENT (NOTES EXCHANGE) Recorded Dec 16, 2024
From: GETTHERE L.P.; TVL LP; SABRE GLBL INC.
To: COMPUTERSHARE TRUST COMPANY, N.A. AS COLLATERAL AGENT
Reel/Frame 069712/0948 →
SECURITY INTEREST Recorded Sep 11, 2023
From: SABRE HOLDINGS CORPORATION; SABRE GLBL INC.; GETTHERE INC.; GETTHERE L.P.; LASTMINUTE.COM HOLDINGS, INC.; LASTMINUTE.COM LLC; SABRE INTERNATIONAL NEWCO, INC.; SABREMARK G.P., LLC; SABREMARK LIMITED PARTNERSHIP; TVL COMMON, INC.; SABRE GDC, LLC; PRISM TECHNOLOGIES, LLC; PRISM GROUP, INC.; NEXUS WORLD SERVICES, INC.; IHS US INC.; INNLINK LLC; TRAVLYNX LLC; RSI MIDCO, INC.; RADIXX SOLUTIONS INTERNATIONAL, INC.; TVL HOLDINGS, INC.; TVL LLC; TVL HOLDINGS I, LLC; TVL LP
To: COMPUTERSHARE TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 064859/0026 →
SECURITY INTEREST Recorded Jun 28, 2023
From: SABRE HOLDINGS CORPORATION; SABRE GLBL INC.; TVL LP; GETTHERE L.P.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 064091/0576 →
SECURITY INTEREST Recorded Dec 6, 2022
From: SABRE GLBL INC.
To: COMPUTERSHARE TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 061999/0533 →
RELEASE OF SECURITY INTEREST Recorded Jan 12, 2021
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: SABRE GLBL INC.
Reel/Frame 054897/0418 →
RELEASE OF SECURITY INTEREST Recorded Sep 11, 2020
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: SABRE GLBL INC.
Reel/Frame 053750/0716 →
SECURITY INTEREST Recorded Sep 11, 2020
From: SABRE GLBL INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 053751/0325 →
SECURITY INTEREST Recorded Apr 17, 2020
From: SABRE GLBL INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 052429/0274 →
SECURITY INTEREST Recorded Nov 9, 2015
From: SABRE GLBL INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 036992/0128 →
SECURITY INTEREST Recorded Apr 14, 2015
From: SABRE GLBL INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 035407/0376 →
RELEASE OF SECURITY INTEREST Recorded Apr 14, 2015
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: SABRE HOLDINGS CORPORATION; SABRE GLBL INC.; TVL LP; GETTHERE L.P.; SITE59.COM, LLC
Reel/Frame 035424/0844 →
SUPPLEMENT TO FEBRUARY 19, 2013 AMENDMENT OF SECURITY INTEREST IN PATENTS Recorded Mar 27, 2014
From: SABRE GLBL INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 032551/0343 →
CHANGE OF NAME Recorded Feb 11, 2014
From: SABRE INC.
To: SABRE GLBL INC.
Reel/Frame 032239/0138 →
SECURITY AGREEMENT Recorded May 11, 2012
From: SABRE INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 028194/0505 →
SECURITY AGREEMENT Recorded May 8, 2012
From: SABRE INC.
To: DEUTSCHE BANK AG NEW YORK BRANCH
Reel/Frame 028177/0597 →