Protection scheme for AACS keys
First Claim
1. A method for protecting a software video player having Advanced Access Content System (AACS), comprising:
- newly creating, by a processor, a temporary random key each time the software video player is started;
encrypting, by the processor, a fixed random key with the temporary random key to form an encrypted fixed random key;
dividing, by the processor, the encrypted fixed random key into the segments;
storing, by the processor, the segments at noncontiguous regions of a main memory of the processor;
reading, by the processor, the segments from the noncontiguous regions of the main memory;
assembling, by the processor, the segments to form the encrypted fixed random key;
decrypting, by the processor, the encrypted fixed random key with the temporary random key to form the fixed random key;
extracting, by the processor, AACS key data from a pack file;
decrypting, by the processor, the AACS key data with the fixed random key to retrieve AACS Device Keys;
generating, by the processor, an AACS Title Key using the AACS Device Key;
clearing, by the processor, the AACS Device Keys and the fixed random key from the main memory after the AACS Title Key is generated and before removal of an instance of media from which encrypted AACS content are retrieved;
decrypting, by the processor, the encrypted AACS content with the AACS Title Key to form AACS content; and
displaying the AACS content.
5 Assignments
0 Petitions
Accused Products
Abstract
A method for protecting a software video player having Advanced Access Content System (AACS) includes reading segments of an encrypted first key from noncontiguous regions of memory, assembling the segments to form the encrypted first key, decrypting the encrypted first key with a second key to form a first key, extracting AACS key data from a pack file, decrypting the AACS key data to retrieve AACS Device Keys, generating an AACS Title Key using the AACS Device Key, clearing the AACS Device Keys and the first key from memory after the AACS Title Key is generated, decrying encrypted AACS content with the AACS Title Key to form AACS content, and displaying the AACS content.
27 Citations
26 Claims
-
1. A method for protecting a software video player having Advanced Access Content System (AACS), comprising:
-
newly creating, by a processor, a temporary random key each time the software video player is started; encrypting, by the processor, a fixed random key with the temporary random key to form an encrypted fixed random key; dividing, by the processor, the encrypted fixed random key into the segments; storing, by the processor, the segments at noncontiguous regions of a main memory of the processor; reading, by the processor, the segments from the noncontiguous regions of the main memory; assembling, by the processor, the segments to form the encrypted fixed random key; decrypting, by the processor, the encrypted fixed random key with the temporary random key to form the fixed random key; extracting, by the processor, AACS key data from a pack file; decrypting, by the processor, the AACS key data with the fixed random key to retrieve AACS Device Keys; generating, by the processor, an AACS Title Key using the AACS Device Key; clearing, by the processor, the AACS Device Keys and the fixed random key from the main memory after the AACS Title Key is generated and before removal of an instance of media from which encrypted AACS content are retrieved; decrypting, by the processor, the encrypted AACS content with the AACS Title Key to form AACS content; and displaying the AACS content. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A non-transitory computer-readable storage medium encoded with executable instructions for execution by a processor to protect a software video player having Advanced Access Content System (AACS), the instructions comprising:
-
newly creating a temporary random key each time the software video player is started; encrypting a fixed random key with the temporary random key to form an encrypted fixed random key; dividing the encrypted fixed random key into the segments; storing the segments at noncontiguous regions of a main memory of the processor; reading the segments from the noncontiguous regions of the main memory; assembling the segments to form the encrypted fixed random key; decrypting the encrypted fixed random key with the temporary random key to form the fixed random key; extracting AACS key data from a pack file; decrypting the AACS key data with the fixed random key to retrieve AACS Device Keys; generating an AACS Title Key using the AACS Device Key; clearing the AACS Device Keys and the fixed random key from the main memory after the AACS Title Key is generated and before removal of an instance of media from which encrypted AACS content are retrieved; decrypting the encrypted AACS content with the AACS Title Key to form AACS content; and displaying the AACS content. - View Dependent Claims (15, 16, 17, 18, 19, 20, 25, 26)
-
-
21. The non-transitory computer-readable storage medium of 14, wherein the instructions further comprise:
-
terminating the software video player after detecting a debugger; and terminating the software video player after detecting the software video player is under a debugging condition. - View Dependent Claims (22, 23, 24)
-
Specification