IP Library Granted Patent US 10,262,128
Granted Patent B2
US 10,262,128 · App. 14/046,098 · Granted Apr 16, 2019

Tokenized data security

Inventors: Kevin B. Bomar (Weatherford, TX); Glenn E. Harper (Grapevine, TX)
Assignee: Sabre GLBL Inc.
G06F21/45G06F21/335G06Q20/10G06Q20/20G06Q20/34G06Q20/385G06Q30/06G06F2221/2105G06F2221/2145
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,262,128
App. No.
14/046,098
Granted
Apr 16, 2019
Kind
B2
Abstract

Various devices, methods, systems, and computer readable storage are provided 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 (53)

1. A computer-implemented method of tokenizing an account number for protecting the account number from cyber attackers, using at least one hardware processor, the computer-implemented method comprising: receiving, at a server from within a firewall perimeter, a message, the message comprising an untokenized account number; determining, by the at least one hardware processor, that the message includes the untokenized account number; determining a length of the untokenized account number; selecting a token map, wherein selecting the token map is based on the length of the untokenized account number in an instance in which the length of the untokenized account number minus a predetermined minimum length meets a predefined threshold, and wherein selecting the token map is based on a truncated untokenized account number in an instance in which the length of the untokenized account number minus the predetermined minimum length fails to meet the predefined threshold; determining a size of a targeted segment based on the length of the untokenized account number; extracting the targeted segment from the untokenized account number; generating a tokenized account number by replacing the targeted segment with a token value and a token map version identifier associated with the token map; and transmitting, via a network outside of the firewall perimeter, the tokenized account number.

2. The computer-implemented method of claim 1 further comprising:

receiving a second message, the second message comprising a second untokenized account number;

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

determining that the second message includes the second untokenized account number;

determining a second length of the second untokenized account number;

locating a vendor code within the second untokenized account number;

extracting the vendor code;

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

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

3. The computer-implemented method of claim 2 further comprising executing a Luhn test after determining the second length of the second untokenized account number is the same as the expected length.

4. The computer-implemented method of claim 3 further comprising providing the second untokenized account number to a parser after determining the second length is the same as the expected length.

5. The computer-implemented method of claim 2 further comprising removing digits from the second untokenized account number to define a new length after determining the second length of the second untokenized account number is different than the expected length.

6. The computer-implemented method of claim 5 further comprising:

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

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

7. The computer-implemented method of claim 5 further comprising providing the second untokenized account number to a parser after determining the new length is the same as the expected length.

8. The computer-implemented method of claim 5 , wherein the digits that are removed represent an expiration date associated with the second untokenized account number.

9. A computer-implemented method of tokenizing an account number for protecting the account number from cyber attackers, using at least one hardware processor, the computer-implemented method comprising:

receiving, at a server from within a firewall perimeter, a message, the message comprising a tokenized account number;

searching, by the at least one hardware processor, for a token pattern in the message,

wherein searching for the token pattern in the message comprises:

identifying a prefix portion, the prefix portion identifying a presence of a token and indicative of a first character of the token;

identifying a second portion, the second portion being a token map identifier configured to identify a token map and a version of the token map utilized in creation of the token; and

identifying a third portion, the third portion representing a tokenized portion;

finding the token pattern in the message;

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

parsing the token, including the prefix portion, the second portion, and the third portion, from the tokenized account number;

extracting the token map identifier from the token;

retrieving the version of the token map based on the token map identifier;

extracting the tokenized portion from the token;

utilizing the tokenized portion to identify a targeted segment, the targeted segment being a de-tokenized string of characters stored within the token map associated with the tokenized portion; and

replacing the token including the prefix portion, the second portion, and the third portion, with the targeted segment in the tokenized account number.

10. The computer-implemented method of claim 9 further comprising validating the token map identifier before retrieving the token map.

11. The computer-implemented method of claim 9 further comprising converting the token to a base10 number.

12. The computer-implemented method of claim 11 further comprising executing a Luhn test after converting the token to the base10 number.

13. The computer-implemented method of claim 11 further comprising using the token map to locate the targeted segment.

14. The computer-implemented method of claim 9 further comprising:

parsing a prefix from the tokenized account number; and

parsing a suffix from the tokenized account number.

15. A system of tokenizing an account number for protecting the account number from cyber attackers, using at least one hardware processor, the system comprising: an apparatus comprising the at least one hardware processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the processor, cause the apparatus to at least: determine, by the at least one hardware processor, that a message includes an untokenized account number; determine a length of the untokenized account number; select a token map wherein selecting the token map is based on the length of the untokenized account number in an instance in which the length of the untokenized account number minus a predetermined minimum length meets a predefined threshold, and wherein selecting the token map is based on a truncated account number in an instance in which the length of the untokenized account number minus the predetermined minimum length fails to meet the predefined threshold; determine a size of a targeted segment based on the length of the untokenized account number; extract the targeted segment from the untokenized account number; generate a tokenized account number by replacing the targeted segment with a token value and a token map version identifier associated with the token map; and transmit via a network outside of the firewall perimeter, the tokenized account number.

16. The system of claim 15 , wherein the at least one memory and the computer program code are further configured to, with the at least one hardware processor, cause the apparatus to: receive a second message, the second message comprising a second untokenized account number; determine that the second message includes at least a first predetermined number of characters; determine that the second message includes the second untokenized account number; determine a second length of the second untokenized account number; locate a vendor code within the second untokenized account number; extract the vendor code; analyze the vendor code to determine an expected length of the second untokenized account number; and determine whether the second length of the second untokenized account number is the same as the expected length.

17. The system of claim 16 , wherein the at least one memory and the computer program code are further configured to, with the at least one hardware processor, cause the apparatus to parse the second untokenized account number into a prefix value, middle digits value and suffix value after determining the second length is the same as the expected length.

18. The system of claim 16 , wherein the at least one memory and the computer program code are further configured to, with the at least one hardware processor, cause the apparatus to remove digits from the second account number to define a new length after determining the second length of the second untokenized account number is different than the expected length.

19. The system of claim 18 , wherein the at least one memory and the computer program code are further configured to, with the at least one hardware processor, cause the apparatus to parse the second untokenized account number into a prefix value, middle digits value and suffix value after determining the new length is the same as the expected length.

20. A system of claim 15 , wherein the at least one memory and the computer program code are further configured to, with the at least one hardware processor, cause the apparatus to:

receive a second message, the second message comprising a tokenized account number;

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 the 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 (17)
SECURITY INTEREST Recorded Feb 13, 2026
From: SABRE GLBL INC.; TVL LP
To: COMPUTERSHARE TRUST COMPANY, N.A.
Reel/Frame 073787/0584 →
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 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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 6, 2014
From: BOMAR, KEVIN B.; HARPER, GLENN E.
To: SABRE INC.
Reel/Frame 032159/0989 →
Continuity (3)
Continuation 12973751 · Dec 20, 2010
Provisional Application 61288102 · Dec 18, 2009
Related Publication 20140041018A1 · Feb 6, 2014