Reprogrammable security for controlling piracy and enabling interactive content
First Claim
1. A computer-implemented method of controlling playback of digital content by a playback device, the method comprising:
- receiving data that includes the digital content, first data processing instructions, and second data processing instructions, the first data processing instructions being specific to the digital content and being executable by a computer language interpreter of the playback device to authenticate the second data processing instructions, the second data processing instructions being executable by the computer language interpreter of the playback device to request an access to a memory of the playback device; and
executing the first data processing instructions by using the computer language interpreter, the first data processing instructions configuring the computer language interpreter to;
obtain a cryptographic value of the second data processing instructions;
determine an authenticity of the second data processing instructions by using the cryptographic value;
based on the authenticity, performing a first operation, the first operation being selected from a first group consisting of;
inhibiting playback of at least a portion of the digital content, andenabling the access by the computer language interpreter to the memory of the playback device, the access being performed by the computer language interpreter pursuant to execution of the second data processing instructions.
10 Assignments
0 Petitions
Accused Products
Abstract
Technologies to transfer responsibility and control over security from player makers to content authors by enabling integration of security logic and content. An exemplary optical disk (200) 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 (225), access secure non-volatile storage, submit data to CODECs for output (250), 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.
-
Citations
24 Claims
-
1. A computer-implemented method of controlling playback of digital content by a playback device, the method comprising:
-
receiving data that includes the digital content, first data processing instructions, and second data processing instructions, the first data processing instructions being specific to the digital content and being executable by a computer language interpreter of the playback device to authenticate the second data processing instructions, the second data processing instructions being executable by the computer language interpreter of the playback device to request an access to a memory of the playback device; and executing the first data processing instructions by using the computer language interpreter, the first data processing instructions configuring the computer language interpreter to; obtain a cryptographic value of the second data processing instructions; determine an authenticity of the second data processing instructions by using the cryptographic value; based on the authenticity, performing a first operation, the first operation being selected from a first group consisting of; inhibiting playback of at least a portion of the digital content, and enabling the access by the computer language interpreter to the memory of the playback device, the access being performed by the computer language interpreter pursuant to execution of the second data processing instructions. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An optical medium comprising:
-
digital content; first data processing instructions specific to the digital content and executable by a computer language interpreter of a playback device to authenticate second data processing instructions; and the second data processing instructions, the second data processing instructions being executable by the computer language interpreter of the playback device to request an access to a memory of the playback device; the first data processing instructions, when executed by the computer language interpreter of a playback device, configuring the computer language interpreter to; obtain a cryptographic value of the second data processing instructions; determine an authenticity of the second data processing instructions by using the cryptographic value; based on the authenticity, perform a first operation, the first operation being selected from a first group consisting of; inhibiting playback of at least a portion of the digital content, and enabling an access by the computer language interpreter to a memory of the playback device, the access being performed by the computer language interpreter pursuant to execution of the second data processing instructions; the second data processing instructions, when executed by the computer language interpreter of the playback device, configuring the computer language interpreter to request the access to the memory of the playback device. - View Dependent Claims (7, 8)
-
-
9. An apparatus to control playback of digital content, the apparatus comprising:
-
a memory; a computer language interpreter communicatively coupled to the memory; and a media interface communicatively coupled to the computer language interpreter, the media interface being configured to receive data that includes the digital content, first data processing instructions, and second data processing instructions, the first data processing instructions being specific to the digital content and being executable by the computer language interpreter to authenticate the second data processing instructions, the second data processing instructions being executable by the computer language interpreter to request an access to the memory, the first data processing instructions, when executed by the computer language interpreter, configuring the computer language interpreter to; obtain a cryptographic value of the second data processing instructions; determine an authenticity of the second data processing instructions by using the cryptographic value; based on the authenticity, perform a first operation selected from a first group consisting of; inhibiting playback of at least a portion of the digital content, and enabling the access by the computer language interpreter to the memory, the access being performed by the computer language interpreter pursuant to execution of the second data processing instructions. - View Dependent Claims (10)
-
-
11. A computer-implemented method of controlling a playback device, the method comprising:
-
receiving data that includes digital content and first data processing instructions, the first data processing instructions being specific to the digital content and being executable by a computer language interpreter of the playback device to identify second data processing instructions that are executable by the playback device to affect playback of the digital content; and executing the first data processing instructions by using the computer language interpreter of the playback device, the first data processing instructions configuring the computer language interpreter to; determine a security risk of the playback device; identify the second data processing instructions as a software countermeasure associated with the security risk, the identifying being based on the security risk; and initiate an execution of the second data processing instructions by the playback device to implement the software countermeasure associated with the security risk. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. An optical medium comprising:
-
digital content; and first data processing instructions specific to the digital content and executable by a computer language interpreter of a playback device to identify second data processing instructions that are executable by the playback device to affect playback of the digital content, the first data processing instructions, when executed by the computer language interpreter of the playback device, configuring the computer language interpreter to; determine a security risk of the playback device; identify the second data processing instructions as a software countermeasure associated with the security risk, the identifying being based on the security risk; and initiate execution of the second data processing instructions by the playback device to implement the software countermeasure associated with the security risk. - View Dependent Claims (18, 19, 20, 21)
-
-
22. An apparatus comprising:
-
a media interface to receive data that includes digital content and first data processing instructions, the first data processing instructions being specific to the digital content and being executable by a computer language interpreter of the apparatus to identify second data processing instructions that are executable by the apparatus to affect playback of the digital content; and the computer language interpreter, the computer language interpreter being communicatively coupled to the media interface, the computer language interpreter being configured to execute the first data processing instructions, the first data processing instructions, when executed by the computer language interpreter, configuring the computer language interpreter to; determine a security risk of the apparatus; identify the second data processing instructions as a software countermeasure associated with the security risk, the identifying being based on the security risk; and initiate an execution of the second data processing instructions by the apparatus to implement the software countermeasure associated with the security risk.
-
-
23. A non-transitory machine-readable storage medium comprising a set of instructions that, when executed by one or more processors of a machine, cause the machine to perform operations comprising:
-
receiving data that includes digital content and first data processing instructions, the first data processing instructions being specific to the digital content and being executable by the one or more processors of the machine to identify second data processing instructions that are executable by the machine to affect playback of the digital content; and executing the first data processing instructions by using the one or more processors, the first data processing instructions configuring the one or more processors to; determine a security risk of the machine; identify the second data processing instructions as a software countermeasure associated with the security risk, the identifying being based on the security risk; and initiate an execution of the second data processing instructions by the machine to implement the software countermeasure associated with the security risk.
-
-
24. A system to control playback of digital content, the system comprising:
-
a memory; means for receiving data that includes the digital content, first data processing instructions, and second data processing instructions, the first data processing instructions being specific to the digital content and being executable to authenticate the second data processing instructions, the second data processing instructions being executable to request an access to the memory; and means for executing the first data processing instructions, the first data processing instructions to; obtain a cryptographic value of the second data processing instructions; determine an authenticity of the second data processing instructions by using the cryptographic value; based on the authenticity, perform an operation selected from a group consisting of; inhibiting playback of at least a portion of the digital content, and enabling the access to the memory of the playback device, the access being performed pursuant to execution of the second data processing instructions.
-
Specification