Self-protecting digital content
First Claim
1. A computer-implemented method comprising:
- using a processor in a media player to receive data including digital content and data processing instructions packaged with the digital content, the received data being storable in a volatile memory of the media player;
executing the data processing instructions from the volatile memory by using a computer language interpreter of the media player, the data processing instructions, when executed by the computer language interpreter, configuring the computer language interpreter to;
interrogate a playback environment of the media player, the received data processing instructions further configured to perform a security check that interrogates the playback environment of the media player, the received data processing instructions further configured to reduce output quality if a result of the interrogation of the playback environment is uncertain;
query one or more cryptographic primitives stored in a non-volatile memory of the media player, the cryptographic primitives being resident in the media player prior to receipt of the received data, the cryptographic primitives including cryptographic data and executable instructions for performing cryptographic operations, the computer language interpreter not having access to the non-volatile memory in which the cryptographic primitives are stored, the cryptographic operations including operations for decrypting the received data; and
request execution of a cryptographic operation by the cryptographic primitives, the cryptographic operation including computing a cryptographic hash of at least a portion of the received data, the computer language interpreter using the cryptographic hash in playing the digital content.
6 Assignments
0 Petitions
Accused Products
Abstract
Technologies are disclosed to transfer responsibility and control over security from player makers to content authors by enabling integration of security logic and content. An exemplary optical disc carries an encrypted digital video title combined with data processing operations that implement the title'"'"'s security policies and decryption processes. Player devices include a processing environment (e.g., a real-time virtual machine), which plays content by interpreting its processing operations. Players also provide procedure calls to enable content code to load data from media, perform network communications, determine playback environment configurations, access secure nonvolatile storage, submit data to CODECs for output, and/or perform cryptographic operations. Content can insert forensic watermarks in decoded output for tracing pirate copies. If pirates compromise a player or title, future content can be mastered with security features that, for example, block the attack, revoke pirated media, or use native code to correct player vulnerabilities.
95 Citations
23 Claims
-
1. A computer-implemented method comprising:
-
using a processor in a media player to receive data including digital content and data processing instructions packaged with the digital content, the received data being storable in a volatile memory of the media player; executing the data processing instructions from the volatile memory by using a computer language interpreter of the media player, the data processing instructions, when executed by the computer language interpreter, configuring the computer language interpreter to; interrogate a playback environment of the media player, the received data processing instructions further configured to perform a security check that interrogates the playback environment of the media player, the received data processing instructions further configured to reduce output quality if a result of the interrogation of the playback environment is uncertain; query one or more cryptographic primitives stored in a non-volatile memory of the media player, the cryptographic primitives being resident in the media player prior to receipt of the received data, the cryptographic primitives including cryptographic data and executable instructions for performing cryptographic operations, the computer language interpreter not having access to the non-volatile memory in which the cryptographic primitives are stored, the cryptographic operations including operations for decrypting the received data; and request execution of a cryptographic operation by the cryptographic primitives, the cryptographic operation including computing a cryptographic hash of at least a portion of the received data, the computer language interpreter using the cryptographic hash in playing the digital content. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. An apparatus comprising:
-
a volatile memory; a non-volatile memory; a processor to receive data including digital content and data processing instructions packaged with the digital content, the received data being storable in the volatile memory; and a computer language interpreter, executable by the processor, to process the data processing instructions from the volatile memory, the data processing instructions, when executed by the computer language interpreter, configuring the computer language interpreter to; interrogate a playback environment of the apparatus, the received data processing instructions further configured to perform a security check that interrogates the playback environment of the apparatus, the received data processing instructions further configured to reduce output quality if a result of the interrogation of the playback environment is uncertain; query one or more cryptographic primitives stored in the non-volatile memory, the cryptographic primitives being resident in the media player prior to receipt of the received data, the cryptographic primitives including cryptographic data and executable instructions for performing cryptographic operations, the computer language interpreter not having access to the non-volatile memory in which the cryptographic primitives are stored, the cryptographic operations including operations for decrypting the received data; and request execution of a cryptographic operation by the cryptographic primitives, the cryptographic operation including computing a cryptographic hash of at least a portion of the received data, the computer language interpreter using the cryptographic hash in playing the digital content. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. An article of manufacture comprising a non-transitory machine-readable storage medium having machine executable instructions embedded thereon, which when executed by a processor in a media player, cause the media player to:
-
receive data at the media player, the received data including digital content and data processing instructions packaged with the digital content, the received data being storable in a volatile memory of the media player; execute the data processing instructions from the volatile memory by using a computer language interpreter of the media player, the data processing instructions, when executed by the computer language interpreter, configuring the computer language interpreter to; interrogate a playback environment of the media player, the received data processing instructions further configured to perform a security check that interrogates the playback environment of the media player, the received data processing instructions further configured to reduce output quality if a result of the interrogation of the playback environment is uncertain; query one or more cryptographic primitives stored in a non-volatile memory of the media player, the cryptographic primitives being resident in the media player prior to receipt of the received data, the cryptographic primitives including cryptographic data and executable instructions for performing cryptographic operations, the computer language interpreter not having access to the non-volatile memory in which the cryptographic primitives are stored, the cryptographic operations including operations for decrypting the received data; and request execution of a cryptographic operation by the cryptographic primitives, the cryptographic operation including computing a cryptographic hash of at least a portion of the received data, the computer language interpreter using the cryptographic hash in playing the digital content. - View Dependent Claims (22, 23)
-
Specification