System, method, and device for playing back recorded audio, video or other content from non-volatile memory cards, compact disks or other media
View Patent ↗A secure software system for a portable device or computer that provides a simple interface to the device or computer and that retrieves and dynamically decrypts keys and content from a secure media while minimizing exposure of the keys and eliminating the need for manufacturers of the device or computer to create a their own system to manage these complex processes.
1. A method of accessing an encrypted track on a removable media with a device, the track comprising frames having content, the method comprising:
authorizing the media by a process comprising:
calculating a media key; and thereafter
calculating a media unique key from the media key; and thereafter
deleting the media key; and thereafter
calculating a session key from the media unique key; and thereafter
deleting the media unique key; and
decrypting the track by a process comprising:
(a) calculating a media unique key; and thereafter
(b) decrypting a title key stored in the memory of the device with the media unique key; and thereafter
(c) decrypting a group of frames; and thereafter
(d) deleting the decrypted title key;
(e) deleting the media unique key; and
(f) repeating (a) through (e) until the entire track is completed.
2. The method of claim 1 , wherein calculating the media key comprises:
(a) reading a first record of a media key block from a buffer;
(b) updating the buffer offset based on the length and type of the first record;
(c) reading another record of the media key block at the updated buffer offset; and
(d) repeating (a)–(c) until all necessary records of the media key block are read and the media key is calculated.
3. The method of claim 1 , wherein the group of frames comprises less than one to about five seconds of content in a decoded or decompressed form.
4. The method of claim 1 , wherein decrypting the track comprises decrypting one or more files, the files comprising the frames.
5. The method of claim 1 , further comprising decoding and decompressing the track.
6. A method of accessing an encrypted data file on a removable media with a device, the data file comprising frames having content, the method comprising:
authorizing the media for a user session by a process comprising:
calculating a media key; and thereafter
calculating a media unique key from the media key; and thereafter
deleting the media key; and thereafter
calculating a session key from the media unique key; and thereafter
deleting the media unique key;
decrypting a doubly encrypted title key stored in the media with the session key to produce a singly encrypted title key;
copying the singly encrypted title key from the media into a memory of the device; and
decrypting the file by a process comprising:
(a) calculating the media unique key; and thereafter
(b) decrypting the title key stored in the memory of the device with the media unique key; and thereafter
(c) decrypting a group of frames; and thereafter
(d) deleting the decrypted title key;
(e) deleting the media unique key;
(f) repeating (a) through (e) until the entire file is completed.
7. The method of claim 6 , wherein calculating the media key comprises:
dividing a media key block into chunks, the chunks comprising bytes of encrypted data; and
decrypting a key within the media key block by setting the buffer to read at an offset within a specific chunk of the block.
8. The method of claim 7 , wherein decrypting the key comprises:
(a) calculating a media key from a first record; and
(b) updating the buffer offset; and
(c) reading a second record at the updated buffer offset; and
(d) verifying the media key with a second record by comparing the calculated media key with a reference media key.
9. The method of claim 8 , wherein the buffer offset is determined by the type and length of the first record of the media key block.
10. The method of claim 6 , wherein the group of frames comprises less than one second to about five seconds of decompressed and decoded audio content.