×

Vaultless tokenization engine

  • US 10,389,688 B2
  • Filed: 08/22/2017
  • Issued: 08/20/2019
  • Est. Priority Date: 08/23/2016
  • Status: Active Grant
First Claim
Patent Images

1. A computer-implemented method of tokenization comprising the steps of:

  • receiving a request for tokenization from a user, the request containing a Session token, a token definition logically related to the user, and a received value, wherein the Session token includes a policy identifier logically related to the user and a unique key logically related to the user, and wherein the token definition comprises three or more of the following attributes;

    a unique key;

    a hashing algorithm;

    an iteration count;

    a token layout;

    a token type;

    one or more replacement values;

    a token scope;

    a token table version;

    a masked character;

    a force luhn check;

    a language;

    a mask layout;

    a maximum token length;

    a minimum token length;

    a preserve case;

    a preserve value type;

    a unique token;

    an attribute for whether or not to allow values to be replaced to a same value; and

    one or more flags controlling how the resulting token should be formatted;

    decoding and validating the Session token;

    retrieving the token definition, a token key logically related to the token definition, and a security policy related to the user from a database logically relating the token definition, the token key, and the security policy to the user;

    appending the user key and the token key to the received value to create an input value having more than one input value character;

    replacing each input value character of the input value with a known character to create a replacement input value, where the known character is related within a lookup table to the input value character according to the token definition;

    generating a cryptographically secure hash of the replacement input value to create a derived key;

    substituting each character of the replacement input value with a character from one or more lookup tables to create a third input value, the one or more lookup tables being selected based on one or more of the received value, the position of the character being replaced within the replacement input value, and the derived key; and

    returning the third input value to the user as a token.

View all claims
  • 3 Assignments
Timeline View
Assignment View
    ×
    ×