(12) United States Patent (10) Patent No.: US 8,739,262 B2 Harper Et Al
Total Page:16
File Type:pdf, Size:1020Kb
US008739262B2 (12) United States Patent (10) Patent No.: US 8,739,262 B2 Harper et al. (45) Date of Patent: May 27, 2014 (54) TOKENIZED DATA SECURITY 2007/01922.45 A1 8/2007 Fisher et al. .................... 705/39 2007/0262138 A1* 11/2007 Somers et al. ................ 235,380 (75) Inventors: Glenn E. Harper, Grapevine, TX (US); 2008/0098001 A1 4/2008 Gupta et al. Kevin B. Bomar, Weatherford, TX (US) 2008/0209534 A1 8/2008 Keronen et al. W. S. s s 2008/0243701 A1 10, 2008 von Mueller 2008/0263.645 A1 10, 2008 Renter et al. (73) Assignee: Sabre GLBL Inc., Southlake, TX (US) 2009,0055531 A1 2/2009 Brown et al. 2009,0249082 A1 10, 2009 Mattsson (*) Notice: Subject to any disclaimer, the term of this 2010, 0191370 A1 ck 7/2010 Trevino et al. patent is extended or adjusted under 35 2010, O257612 A1* 10, 2010 McGuire et al. ................ T26/26 U.S.C. 154(b) bV 722 d 2010/0306552 All 12/2010 Levine et al. .S.C. 154(b) by ayS. 2011/0035390 A1 2/2011 Whitehouse 2011/OO78782 A1 3/2011 Chan et al. (21) Appl. No.: 12/973,725 2011/O125597 A1 5/2011 Oder, II et al. 2011 0154467 A1 6/2011 Bomar et al. Filed: Dec. 20, 2010 2011/O167255 A1 7/2011 Matzkel et al. (22) 2011/0247062 A1 10, 2011 Zonet al. 2011/0307710 A1 12/2011 McGuire et al. (65) Prior Publication Data 2012/0278339 A1 1 1/2012 Wang US 2011/0154466A1 Jun. 23, 2011 OTHER PUBLICATIONS Related U.S. Application Data U.S. Appl. No. 12/973,751, Final Office Action mailed Apr. 1, 2013. (60) Provisional application No. 61/288,102, filed on Dec. (Continued) 18, 2009. Primary Examiner – Michael S McNally (51) Int. C. (74) Attorney, Agent, or Firm — Alston & Bird LLP H04L 29/06 (2006.01) (57) ABSTRACT (52) U.S. C. USPC .............................................................. 726/9 Provided are devices, methods, systems, computer readable (58) Field of Classification Search storage media and other means for tokenizing data. In some USPC .............................................................. 726/9 examples, credit card numbers are tokenized using a pre See application file for complete search history. generated token map and absent the use of a networked data base that stores a relatively large quantity of credit card num References Cited bers in a central location. The token map may be generated by (56) a token map generator Such that the token map can be used by U.S. PATENT DOCUMENTS a tokenizer to replace a portion of an account number with a token, and by a detokenizer to replace the token with the 5,414,841 A 5/1995 Bingham et al. original portion of the account number. A pre-parser and 6.427,151 B1 7/2002 Chan et al. 7,770,789 B2 8/2010 Oder, II et al. parser may also be used to locate an account number and/or 2002/O120854 A1 8, 2002 LeVine et al. token in a message received over a network. 2005, 0182946 A1 8, 2005 Shatford 2007/0113171 A1 5, 2007 Behrens et al. 20 Claims, 17 Drawing Sheets 604 608 is there Establish a secute secure correction correction setween the between the source No source system and the system and the tokenizef tokerize Yes i. s 608 Send PAN orportion thereof Record establishment of from the source system to the H- secure connection in parser, tokenizer, etc. tokenizer's log s12 Call pre-parser andlorpre parse all data received to 626 locate PAN (see, e.g., FIG. 5) and record receipt of PAN 624 when found Recore tokanizatio 614 complete Parse PAN into substrings s (see, e.g., FIGS. 7A-8B) 622 ! 616 Send token and for resutting Caitokenizer andlor use at takenized PAN to the source Feastportion of PAN to andlor other system from the tookup token in token map tokenzer (see, e.g., FIGS. 7A-9) 820 S18 record lookup event Replace PAN or portion complete - thereof with retriewed token waiue (see, e.g., FIGS, 7A-9) US 8,739,262 B2 Page 2 (56) References Cited YYATOhcOuuEwcWGog80B5XDuWSbolU4w%3D%3D&tkin set=ygolJ6CUdWJcoW5ytp PsVdeH6FK7Bv3N18gKaliVp7xepzofCJ60VA%3D%3D >). OTHER PUBLICATIONS Shift4(R) Secure Payment Processing: 3 pages; available at <http:// www.shiftá.com/tokenization.cfm (visited Dec. 20, 2010). U.S. Appl. No. 12/973,751, Non-Final Office Action mailed Sep. 6, Dr. Heather Mark; Tokenization—The Best Way to Secure Data is to Not Store Data; Shift 4R. Secure Payment Processing; Aug. 2007; 8 2012. pages; Shift4 Corporation. “Protegrity Vaultless Tokenization.” Protegrity Corporation, Fre Ulf Mattsson; Protegrity. A New Scalable Approach to Data quently Asked Questions (FAQ) Sheet, 5 pages, (2012). Retrieved Tokenization; Nov. 2010; 11 pages; available at <http://www. from the Internet Aug. 7, 2012: <URL: http://www.protegrity.com/ globalsecuritymag.com/Ulf-Mattsson-CTO-Protegrity-A- wp-content/uploads/2012/04/Vaultless Tokenization FAQs New,2010.1128,20823.html> (visited Dec. 20, 2010). APRIL 12.pdf?mkt tok=3RkMMJWWfF9wsRokuq I ZKXonjHpfsX% 2B4u4kX7Hr08YyOEZ5VunJEUWy2 * cited by examiner U.S. Patent May 27, 2014 Sheet 1 of 17 US 8,739,262 B2 U.S. Patent May 27, 2014 Sheet 2 of 17 US 8,739,262 B2 ZLZ 0LZ | JOSS3OOJE `-voz ZOZ U.S. Patent May 27, 2014 Sheet 3 of 17 US 8,739,262 B2 U.S. Patent May 27, 2014 Sheet 4 of 17 US 8,739,262 B2 322 320 324 Generate a token map of a given size having a number of rows and columns, Encrypt and/or save where each row has an associated token map array location value 326 Yes Sequentially select a row of the token map to be assigned a token value , 340 328 all the rows been Generate a random number assigned a token 330 Go to the row having an array value that is the same as the random number randomly selected fow's token value the same as 338 Yes the sequentially selected row's Assign the array location sequentially value? selected array location value as the middle digit value of the randomly selected is the OW random number the same as he sequentially selected row token Value? Swap the token value of the randomly Selected row with the token value of the sequentially selected row FIG. 3B U.S. Patent May 27, 2014 Sheet 5 of 17 US 8,739,262 B2 350 Generate an array of predetermined size 352 Sequentially select an index to an element of the array 354 Generate a random number s the value at arrayrandom number equal to the sequentially Selected index Yes value? random number 362 Have equal to the value at all the arraysequentially selected index2 elements been swapped? Swap the values of arrayrandom number and 364 arraysequentially selected index Encrypt and/or save array 366 Create token map FIG. 3C using the array U.S. Patent May 27, 2014 Sheet 7 Of 17 US 8,739,262 B2 Receive message 522 number's length Message still at least 10 length greater than 10? No Search the message for a 520 string of numeric digits Remove digits from having a length of at least the number 10 and less than 20 digits Such a number found in the Does message? the string's ength match the length associated with the Vendor Code? 524 Execute confirmatory test(s) 526 Confirmatory test(s) passed? Yes FIG. 5 U.S. Patent May 27, 2014 Sheet 8 of 17 US 8,739,262 B2 6 606 ls there Establish a Secure SeCure Connection Connection between the between the Source source system and the system and the tokenizer tokenizer? Yes 61O 608 Send PAN or portion thereof Record establishment of from the source system to the Secure Connection in parser, tokenizer, etc. tokenizer's log 612 Call pre-parser and/or pre parse all data received to 626 locate PAN (see, e.g., FIG. 5) End and record receipt of PAN 624 When found 614 Record tokanization Parse PAN into substrings complete (see, e.g., FIGS. 7A-8B) 622 616 Send token and/or resulting Call tokenizer and/or use at tokenized PAN to the Source least portion of PAN to and/or other system from the lookup token in token map tokenizer (see, e.g., FIGS. 7A-9) 618 Replace PAN or portion Record lookup event thereof with retrieved token complete value (see, e.g., FIGS. 7A-9) FIG. 6 U.S. Patent May 27, 2014 Sheet 9 Of 17 US 8,739,262 B2 2)/,"$DIH U.S. Patent May 27, 2014 Sheet 11 of 17 US 8,739,262 B2 902 900 908 904 Determine an ls PAN numeric? N error has OCCurred Yes 910 PAN have at least 14 digits and eSS than 20 Does PAN have 13 PAN have 12 digits? Access token map Access token map Access token map for middle digit for middle digit for middle digit length of eight length of seven length of six Parse a PAN into prefix, middle digits and suffix Retrieve tokenized PAN from token map and convert middle digits to base36 tokenzied PAN U.S. Patent May 27, 2014 Sheet 12 of 17 US 8,739,262 B2 PAN have 19 digits? 932 928 Obtain two character token MOD the middle digits with the value 36 and append map version ID that result to front of tokenized Corresponds with current token map PAN 934 930 Construct token from prefix, Truncate last character of token map version ID, base36 prefix middle digits and suffix (see FIG. 9C) Length of Length of Length o prefix Version Tokenized suffix 14 2 2 6 4 15 3 2 6 4 16 4 2 6 4 17 5 2 6 4 18 6 2 6 4 19 6 2 6-1 4 FI G.