IP Library Granted Patent US 8,938,625
Granted Patent B2
US 8,938,625 · App. 13/436,930 · Granted Jan 20, 2015

Systems and methods for securing cryptographic data using timestamps

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 8,938,625
App. No.
13/436,930
Granted
Jan 20, 2015
Kind
B2
Abstract

Systems and methods for authenticating playback devices using timestamp validation in accordance with embodiments of the invention are disclosed. One embodiment includes securely storing at least one timestamp in memory within a playback device in response to the occurrence of at least one predetermined event, where a stored timestamp is based on the current time of a system clock when an event occurs, generating a cryptographic key using the at least one timestamp, securing cryptographic data using the cryptographic key, receiving a request to playback encrypted content, where the encrypted content is accessible using the cryptographic data, accessing the at least one timestamp, generating the cryptographic key, accessing the cryptographic data using at least the cryptographic key, and playing back the content using the playback device.

Claims (50)

1. A method of securing cryptographic data used to playback encrypted content on a playback device, the method comprising:

securely storing at least one timestamp in memory within a playback device in response to the occurrence of at least one predetermined event, where a stored timestamp is based on the current time of a system clock within the playback device when a predetermined event occurs, where the at least one timestamp is secured using at least a product key derived from product provisioning characteristics, and where the predetermined event arises from a playback event of a specific piece of content by the playback device;

generating a cryptographic key using information including the at least one time stamp;

securing cryptographic data used to playback encrypted content on the playback device using the cryptographic key;

receiving a request to playback encrypted content via a user interface on the playback device, where the encrypted content is accessible using the cryptographic data securely stored in the memory of the playback device;

accessing the at least one timestamp securely stored in memory using the playback device;

deleting the cryptographic data from memory, when the system clock is invalid;

generating the cryptographic key using information including the at least one retrieved time stamp;

decrypting the cryptographic data using at least the cryptographic key generated using information including the at least one retrieved timestamp;

decrypting at least a portion of the encrypted content using the cryptographic data;

and

playing back the content using the playback device.

2. The method of claim 1 , wherein the cryptographic data is further secured using device match data.

3. The method of claim 1 , further comprising validating the system clock of the playback device using the at least one timestamp.

4. A playback device, comprising:

a processor;

memory containing a client application; and

a system clock;

wherein the processor is configured by the client application to:

securely store at least one timestamp in memory in response to the occurrence of a predetermined event, where a stored timestamp is based on the current time of a system clock when the predetermined event occurred, where the at least one timestamp is secured using at least a product key derived from product provisioning characteristics, and where the predetermined event arises from a playback event of a specific piece of content by the playback device;

generate a cryptographic key using information including the at least one time stamp;

secure cryptographic data used to play back encrypted content on the playback device using the cryptographic key;

receive a request to playback encrypted content via a user interface, where the encrypted content is accessible using the cryptographic data securely stored in the memory of the playback device;

delete the cryptographic data from memory, when the system clock is invalid;

regenerate the cryptographic key;

decrypt the cryptographic data using at least the cryptographic key;

decrypt at least a portion of the encrypted content using the cryptographic data;

and play back the content.

5. The playback device of claim 4 , wherein the client application configures the processor to regenerate the cryptographic key by configuring the processor to:

access the at least one timestamp securely stored in memory; and

generate the cryptographic key using information including the at least one retrieved timestamp.

6. The playback device of claim 4 , wherein the cryptographic data is further secured using device match data.

7. The playback device of claim 6 , wherein the client application further configures the processor to retrieve device match data and generate a device protection key that can be used in the generation and regeneration of the cryptographic key.

8. The playback device of claim 4 , wherein:

the requested to playback encrypted content refers to a piece of content that is subject to a time-limiting rule; and

the client application further configures the processor to determine whether the current time of the system clock of the playback device is consistent with the time-limiting rule associated with the piece of content.

9. The playback device of claim 8 , wherein the client application further configures the processor to validate the system clock of the playback device using the at least one timestamp stored in the memory of the playback device.

10. The playback device of claim 9 , wherein the at least one timestamp includes a last program run timestamp indicating the last time the client application was run and the client application configures the processor to validate the system clock based upon the last program run timestamp.

11. The playback device of claim 9 , wherein the at least one timestamp includes a last file played timestamp indicating the last time the client application played a file on the device and the client application configures the processor to validate the system clock based upon the last file played timestamp.

12. The playback device of claim 9 , wherein the at least one timestamp includes a last server connection timestamp indicating the last time the device connected to a server and the client application configures the processor to validate the system clock based upon the last server connection timestamp.

13. A non-transitory machine readable medium containing processor instructions, where execution of the instructions by a processor causes the processor to perform a process comprising:

securely storing at least one timestamp in memory within a playback device in response to the occurrence of at least one predetermined event, where a stored timestamp is based on the current time of a system clock within the playback device when a predetermined event occurs generating a cryptographic key using information including the at least one timestamp, where the at least one timestamp is secured using at least a product key derived from product provisioning characteristics, and where the predetermined event arises from a playback event of a specific piece of content by the playback device;

securing cryptographic data used to playback encrypted content on the playback device using the cryptographic key;

receiving a request to playback encrypted content via a user interface on the playback device, where the encrypted content is accessible using the cryptographic data securely stored in the memory of the playback device;

accessing the at least one timestamp securely stored in memory using the playback device;

deleting the cryptographic data from memory, when the system clock is invalid;

generating the cryptographic key using information including the at least one retrieved timestamp, when the system clock is valid;

decrypting the cryptographic data using at least the cryptographic key generated using information including the at least one retrieved timestamp;

decrypting at least a portion of the encrypted content using the cryptographic data; and

playing back the content using the playback device.

Assignments (5)
CHANGE OF PRINCIPAL PLACE OF BUSINESS Recorded Mar 5, 2019
From: DIVX, LLC
To: DIVX, LLC
Reel/Frame 050407/0104 →
CHANGE OF NAME Recorded Mar 5, 2018
From: DIVX CF HOLDINGS LLC
To: DIVX, LLC
Reel/Frame 045498/0560 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2018
From: SONIC IP, INC.; DIVX, LLC
To: DIVX CF HOLDINGS LLC
Reel/Frame 045310/0020 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2013
From: DIVX, LLC
To: SONIC IP, INC.
Reel/Frame 031713/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 11, 2012
From: GRAB, ERIC WILLIAM; CHAN, FRANCIS YEE-DUG; KIEFER, MICHAEL GEORGE
To: DIVX, LLC
Reel/Frame 028196/0104 →