IP Library Granted Patent US 10,747,889
Granted Patent B2
US 10,747,889 · App. 16/051,390 · Granted Aug 18, 2020

Method and system for time window encryption tokenization of data

Inventors: William C. Eidson (Palo Alto, CA); Michael Goldberg Boilen (Kirkland, WA); David Hacker (Moraga, CA)
Assignee: salesforce.com, inc.
G06F21/602G06F9/542G06F11/3072G06F11/3476G06F21/62G06F21/6254H04L9/0861H04L9/0891H04L9/14H04L9/3213H04L9/3234H04L63/108H04L63/20H04L67/22G06F2221/2141
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,747,889
App. No.
16/051,390
Granted
Aug 18, 2020
Kind
B2
Abstract

A first raw value of a first field from the first set of fields is encrypted to generate a first token using a symmetric key encryption mechanism based on a first cryptographic key associated with a first time window after which the first cryptographic key is no longer valid for tokenization of raw fields of raw log records. After the first time window has elapsed, a second raw value of a second field from the second set of fields is encrypted to generate a second token using the symmetric key encryption mechanism based on a second cryptographic key that is different from the first cryptographic key. The second cryptographic key is associated with a third time window that occurs after the first time window and after which the second cryptographic key is no longer valid for tokenization of raw fields of raw log records.

Claims (62)

1. A method of using one or more processors to enable temporary detokenization of tokenized data in a computer system that handles log records resulting from operations of one or more applications, the method comprising:

receiving, at the one or more processors, a first raw log record including a first set of one or more fields storing first raw data related to a first event that occurred in a first application;

encrypting, by the one or more processors, a first raw value of a first field from the first set of fields to generate a first token using a symmetric key encryption mechanism based on a first cryptographic key associated with a first time window after which the first cryptographic key is no longer valid for tokenization of raw fields of raw log records and with a second time window after which the first cryptographic key is no longer valid for detokenization of tokens;

outputting, by the one or more processors, a first tokenized log record generated based on the first raw log record and the first token to be used by one or more log record consumers;

receiving, by the one or more processors, after the first time window has elapsed, a second raw log record including a second set of one or more fields storing second raw data related to a second event that occurred in a second application;

encrypting, by the one or more processors, a second raw value of a second field from the second set of fields to generate a second token using the symmetric key encryption mechanism based on a second cryptographic key that is different from the first cryptographic key, wherein the second cryptographic key is associated with a third time window that occurs after the first time window and after which the second cryptographic key is no longer valid for tokenization of raw fields of raw log records and with a fourth time window after which the second cryptographic key is no longer valid for detokenization of tokens; and

outputting, by the one or more processors, a second tokenized log record generated based on the second raw log record and the second token to be used by one or more log record consumers.

2. The method of claim 1 , wherein the first cryptographic key is no longer valid for detokenization of tokens when one of the following events occurs: the first cryptographic keys expires and the first cryptographic key is deleted.

3. The method of claim 1 , further comprising:

receiving a request to detokenize the first token to retrieve the first raw value;

determining based on a first time indicator associated with the first tokenized log record that the first raw value was tokenized during the first time window; and

responsive to determining that the second time window has elapsed, determining that the first cryptographic key is no longer valid resulting in denial of the request to detokenize the first token.

4. The method of claim 3 , wherein the first time indicator indicates at least one of a time and date at which the first raw log record was recorded in the system, a time and date at which the first event occurred in the first application, and/or a time and date at which the first tokenized log record was generated.

5. The method of claim 1 , further comprising:

receiving a request to detokenize the second token to retrieve the second raw value;

determining based on a second time indicator associated with the second tokenized log record that the second raw value was tokenized during the third time window; and

responsive to determining that the fourth time window has not yet elapsed, decrypting the second token based on the second cryptographic key to retrieve the second raw value.

6. The method of claim 5 , wherein the second time indicator indicates at least one of a time and date at which the second raw log record was recorded in the system, a time and date at which the second event occurred in the first application, and/or a time and date at which the second tokenized log record was generated.

7. The method of claim 1 , wherein the second time window and the fourth time window are respectively shorter than a period of time within which personal data is to be forgotten responsive to a request from a user.

8. The method of claim 1 , wherein the first time window and the second time window are different.

9. A non-transitory machine readable medium that stores instructions that, when executed by one or more processors of electronic devices, cause the electronic devices to enabling temporary detokenization of tokenized data in a system that handles log records resulting from operations of one or more applications, by performing the following operations:

receiving a first raw log record including a first set of one or more fields storing first raw data related to a first event that occurred in a first application;

encrypting a first raw value of a first field from the first set of fields to generate a first token using a symmetric key encryption mechanism based on a first cryptographic key associated with a first time window after which the first cryptographic key is no longer valid for tokenization of raw fields of raw log records and with a second time window after which the first cryptographic key is no longer valid for detokenization of tokens;

outputting a first tokenized log record generated based on the first raw log record and the first token to be used by one or more log record consumers;

receiving, after the first time window has elapsed, a second raw log record including a second set of one or more fields storing second raw data related to a second event that occurred in a second application;

encrypting a second raw value of a second field from the second set of fields to generate a second token using the symmetric key encryption mechanism based on a second cryptographic key that is different from the first cryptographic key, wherein the second cryptographic key is associated with a third time window that occurs after the first time window and after which the second cryptographic key is no longer valid for tokenization of raw fields of raw log records and with a fourth time window after which the second cryptographic key is no longer valid for detokenization of tokens; and

outputting a second tokenized log record generated based on the second raw log record and the second token to be used by one or more log record consumers.

10. The non-transitory machine readable medium of claim 9 , wherein the first cryptographic key is no longer valid for detokenization of tokens when one of the following events occurs: the first cryptographic keys expires and the first cryptographic key is deleted.

11. The non-transitory machine readable medium of claim 9 , wherein the operations further comprise:

receiving a request to detokenize the first token to retrieve the first raw value;

determining based on a first time indicator associated with the first tokenized log record that the first raw value was tokenized during the first time window; and

responsive to determining that the second time window has elapsed, determining that the first cryptographic key is no longer valid resulting in denial of the request to detokenize the first token.

12. The non-transitory machine readable medium of claim 11 , wherein the first time indicator indicates at least one of a time and date at which the first raw log record was recorded in the system, a time and date at which the first event occurred in the first application, and/or a time and date at which the first tokenized log record was generated.

13. The non-transitory machine readable medium of claim 9 , wherein the operations further comprise:

receiving a request to detokenize the second token to retrieve the second raw value;

determining based on a second time indicator associated with the second tokenized log record that the second raw value was tokenized during the third time window; and

responsive to determining that the fourth time window has not yet elapsed, decrypting the second token based on the second cryptographic key to retrieve the second raw value.

14. The non-transitory machine readable medium of claim 13 , wherein the second time indicator indicates at least one of a time and date at which the second raw log record was recorded in the system, a time and date at which the second event occurred in the first application, and/or a time and date at which the second tokenized log record was generated.

15. The non-transitory machine readable medium of claim 9 , wherein the second time window and the fourth time window are respectively shorter than a period of time within which personal data is to be forgotten responsive to a request from a user.

16. The non-transitory machine readable medium of claim 9 , wherein the first time window and the second time window are different.

17. A system for tokenization of data for enabling temporary detokenization of tokenized data in a system that handles log records resulting from operations of one or more applications, the system comprising:

one or more processors; and

a non-transitory machine-readable storage medium having stored therein instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

receiving a first raw log record including a first set of one or more fields storing first raw data related to a first event that occurred in a first application;

encrypting a first raw value of a first field from the first set of fields to generate a first token using a symmetric key encryption mechanism based on a first cryptographic key associated with a first time window after which the first cryptographic key is no longer valid for tokenization of raw fields of raw log records and with a second time window after which the first cryptographic key is no longer valid for detokenization of tokens;

outputting a first tokenized log record generated based on the first raw log record and the first token to be used by one or more log record consumers;

receiving, after the first time window has elapsed, a second raw log record including a second set of one or more fields storing second raw data related to a second event that occurred in a second application;

encrypting a second raw value of a second field from the second set of fields to generate a second token using the symmetric key encryption mechanism based on a second cryptographic key that is different from the first cryptographic key, wherein the second cryptographic key is associated with a third time window that occurs after the first time window and after which the second cryptographic key is no longer valid for tokenization of raw fields of raw log records and with a fourth time window after which the second cryptographic key is no longer valid for detokenization of tokens; and

outputting a second tokenized log record generated based on the second raw log record and the second token to be used by one or more log record consumers.

18. The system of claim 17 , wherein the first cryptographic key is no longer valid for detokenization of tokens when one of the following events occurs: the first cryptographic keys expires and the first cryptographic key is deleted.

19. The system of claim 17 , wherein the operations further comprise:

receiving a request to detokenize the first token to retrieve the first raw value;

determining based on a first time indicator associated with the first tokenized log record that the first raw value was tokenized during the first time window; and

responsive to determining that the second time window has elapsed, determining that the first cryptographic key is no longer valid resulting in denial of the request to detokenize the first token.

20. The system of claim 19 , wherein the first time indicator indicates at least one of a time and date at which the first raw log record was recorded in the system, a time and date at which the first event occurred in the first application, and/or a time and date at which the first tokenized log record was generated.

21. The system of claim 17 , wherein the operations further comprise:

receiving a request to detokenize the second token to retrieve the second raw value;

determining based on a second time indicator associated with the second tokenized log record that the second raw value was tokenized during the third time window; and

responsive to determining that the fourth time window has not yet elapsed, decrypting the second token based on the second cryptographic key to retrieve the second raw value.

22. The system of claim 21 , wherein the second time indicator indicates at least one of a time and date at which the second raw log record was recorded in the system, a time and date at which the second event occurred in the first application, and/or a time and date at which the second tokenized log record was generated.

23. The system of claim 17 , wherein the second time window and the fourth time window are respectively shorter than a period of time within which personal data is to be forgotten responsive to a request from a user.

24. The system of claim 17 , wherein the first time window and the second time window are different.

Assignments (2)
CHANGE OF NAME Recorded Feb 17, 2023
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 062794/0656 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2018
From: EIDSON, WILLIAM C.; BOILEN, MICHAEL GOLDBERG; HACKER, DAVID
To: SALESFORCE.COM, INC.
Reel/Frame 046669/0195 →