Self-protecting digital content
First Claim
1. A method of distributing audiovisual content in a form playable by a plurality of models of player devices in conjunction with program code, comprising:
- (a) obtaining said content in digital, scrambled form;
(b) associating said program code with said content, where said program code is adapted to;
(i) be executable by interpreters implemented in a plurality of models of player devices;
(ii) include a plurality of countermeasure routines, each said routine for mitigating a security weakness affecting at least one of said plurality of models of player devices, said plurality of countermeasure routines collectively mitigating security weaknesses in multiple models of player devices; and
(iii) cryptographically authenticate the model of a particular player device seeking to play said audiovisual content, (iv) perform operations necessary for the unscrambling of said audiovisual content on said particular player device in (iii) provided that;
(A) said program code has cryptographically authenticated said particular player device; and
(B) when said particular player device is authenticated as being of a model for which a countermeasure is required, at least one of said countermeasure routines is executed to provide a result which is necessary for said unscrambling of said audiovisual content on said particular player device; and
(c) distributing said content in conjunction with said associated program code.
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.
146 Citations
23 Claims
-
1. A method of distributing audiovisual content in a form playable by a plurality of models of player devices in conjunction with program code, comprising:
-
(a) obtaining said content in digital, scrambled form;
(b) associating said program code with said content, where said program code is adapted to;
(i) be executable by interpreters implemented in a plurality of models of player devices;
(ii) include a plurality of countermeasure routines, each said routine for mitigating a security weakness affecting at least one of said plurality of models of player devices, said plurality of countermeasure routines collectively mitigating security weaknesses in multiple models of player devices; and
(iii) cryptographically authenticate the model of a particular player device seeking to play said audiovisual content, (iv) perform operations necessary for the unscrambling of said audiovisual content on said particular player device in (iii) provided that;
(A) said program code has cryptographically authenticated said particular player device; and
(B) when said particular player device is authenticated as being of a model for which a countermeasure is required, at least one of said countermeasure routines is executed to provide a result which is necessary for said unscrambling of said audiovisual content on said particular player device; and
(c) distributing said content in conjunction with said associated program code. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A machine-readable media in a form playable by a plurality of models of player devices, said machine-readable media comprising:
-
(a) audiovisual content in digital, scrambled form; and
(b) program code adapted to;
(i) execute in interpreters implemented in a plurality of models of player devices seeking to decode said audiovisual content;
(ii) include a plurality of countermeasure routines, each said routine for mitigating a security weakness affecting at least one of said plurality of models of player devices, said plurality of countermeasure routines collectively mitigating security weaknesses in multiple models of player devices;
(iii) authenticate the model of a particular player device seeking to decode said audiovisual content;
(iv) perform operations necessary for the unscrambling of said audiovisual content on said particular player device provided that;
(A) said program code has authenticated that said particular player device is a valid model; and
(B) when said particular player device is authenticated as being of a model for which a countermeasure is required, at least one of said countermeasure routines is executed to provide a result which is necessary for said unscrambling of said audiovisual content on said particular player device. - View Dependent Claims (10, 11, 12)
-
-
13. An apparatus comprising program code stored on machine-readable media containing encrypted audiovisual content for playback on any of a plurality of playback device models, said program code adapted for execution by an audiovisual content player device, said program code adapted to when executed to:
-
(a) identify at least one characteristic of the player device;
(b) determine whether a security weakness characterizes said playback device based on the identified characteristic;
(c) if the security weakness characterizes the device;
(i) select a countermeasure routine corresponding to the weakness;
(ii) mitigate the weakness by causing said playback device to execute the selected countermeasure routine; and
(iii) decode audiovisual content using a result produced by the successful operation of the selected countermeasure routine; and
(d) if the weakness does not characterize the device, decode audiovisual content using at least one cryptographic key contained in said playback device. - View Dependent Claims (14, 15, 16)
-
-
17. A method for enabling a playback device containing a nonvolatile memory to determine whether a digital medium has been revoked, comprising:
-
(a) reading a media identifier from an optical disc;
(b) verifying that said media identifier is not represented in a revocation list stored in said player device'"'"'s nonvolatile memory;
(c) storing said media identifier in a playback history contained in said player device'"'"'s nonvolatile memory;
(d) reading a list of revoked media identifiers from said optical disc;
(e) identifying any media identifier that is represented in said playback history and that is also represented on said revocation list;
(f) adding any such identified media identifier to said revocation list contained in the player'"'"'s nonvolatile memory. - View Dependent Claims (18, 19, 20)
-
-
21. An apparatus comprising instructions stored on machine-readable media, said instructions adapted for execution by a device that controls playback of audiovisual content stored on an optical disc and that has nonvolatile memory, said instructions when executed causing said device to:
-
(a) read a media identifier from said optical disc;
(b) store said media identifier in a playback history contained in said nonvolatile memory;
(d) read said playback history from said nonvolatile memory;
(e) identify any media identifier that is represented in said playback history and is also represented in a revocation list stored in said nonvolatile memory;
(f) add any identified media identifier to said revocation list contained in said nonvolatile memory. - View Dependent Claims (22, 23)
-
Specification