Multi-Level Encryption of Tokenized Protected Data
AssigneeUber Technologies, Inc.
InventorRonald Dana Kuris
Life of this patent
Estimating the term…
Abstract
A system uses a multi-level encryption and tokenization mechanism to allow for fields of a larger object to be individually tokenized and encrypted. Protected data is encrypted using an encryption key and a generated token is displayed in its place. The encryption key is then encrypted using a secondary key. To dereference a token, a requesting application provides the token and associated context to a token service, which searches a token store for a record having both the token and the context. If such a record is located, the token service generates a secondary key and decrypts the encryption key. The decrypted encryption key then decrypts the protected data and transmits the data to the requesting application.
Claims20
A method for encrypting and storing data, comprising:
- receiving, at a computing system, from a computing device associated with a user of the computing system, a request to encrypt a plurality of units of data, each unit of data associated with a context describing a feature of a transaction facilitated by the computing system;
- for each unit of data:
- generating a tokenized representation of the unit of data, the tokenized representation uniquely identifying the unit of data;
- encrypting the unit of data using a first encryption key uniquely generated for the unit of data;
- storing the encrypted unit of data in a protected data store;
- encrypting the first encryption key with a second encryption key, the second encryption key generated based at least on the tokenized representation and the context associated with the unit of data;
- and
- storing the tokenized representation and the encrypted first encryption key in a token store, the token store being physically separate from the protected data store.
A method for accessing protected data, comprising:
- receiving, at a computing system, from a computing device associated with a user of the computing system, a request for dereferencing a tokenized representation of a unit of data of a plurality of units of data that is encrypted and stored in a protected data store, the request including the tokenized representation and a context associated with an entity to which the unit of data belongs, the context describing a feature of a transaction facilitated by the computing system;
- identifying a first encryption key stored in a token store that was used to encrypt the unit of data;
- generating a second encryption key based at least on the tokenized representation and the context;
- decrypting the first encryption key using the generated second encryption key;
- decrypting the unit of data stored in the protected data store using the decrypted first encryption key;
- and
- transmitting the decrypted unit of data to a requesting application.
A non-transitory computer-readable storage medium storing computer-executable instructions that, in response to executing, cause a device comprising a processor to perform operations, comprising:
- receiving, at a computing system, from a computing device associated with a user of the computing system, a request to encrypt a plurality of units of data, each unit of data associated with a context describing a feature of a transaction facilitated by the computing system;
- for each unit of data:
- generating a tokenized representation of the unit of data, the tokenized representation uniquely identifying the unit of data;
- encrypting the unit of data using a first encryption key uniquely generated for the unit of data;
- storing the encrypted unit of data in a protected data store;
- encrypting the first encryption key with a second encryption key, the second encryption key generated based at least on the tokenized representation and the context associated with the unit of data;
- and
- storing the tokenized representation and the encrypted first encryption key in a token store, the token store being physically separate from the protected data store.
Dependencies are inferred from the claim text.