Claims
- 1. A method for mastering digital video for secure playback on at least one of a plurality of widely distributed authorized player devices, comprising the steps of:
(a) for each of a plurality of portions of digital video, generating at least two versions of each of said portions; (b) generating instructions for decoding said video, where:
(i) said instructions, when processed by a player device, automatically select at least one of said versions of each of said portions which will be output when said video is played; and (ii) said selection of said versions is based on information about said player device; (c) combining said instructions with a compressed, encrypted representation of said video including said versions of said portions to form a combined representation; and (d) distributing said combined representation for use by consumers.
- 2. The method of claim 1 where said information about said player device includes information uniquely identifying said player device, and further comprising:
(a) recovering an unauthorized copy of at least a portion of said video; (b) determining which of said versions of said portions were selected during a playback process that produced said unauthorized copy; (c) analyzing the result of (b) to identify said player device used to produce said unauthorized copy; and (d) encoding additional digital video with instructions that prevent playback on said player device used to produce said unauthorized copy.
- 3. The method of claim 2 where said instructions in (d) are configured to:
(i) derive decryption keys for said additional video on authorized players; (ii) not derive decryption keys when said instructions are processed on unauthorized players; and (iii) not derive decryption keys when said instructions are processed on said player used to produce said unauthorized copy.
- 4. The method of claim 3 further comprising:
(a) obtaining, from a third party, results of cryptographic operations using keys included in distributed player devices; and (b) using said results in said step (d) to control which players will be able to decode said video.
- 5. The method of claim 3 where said instructions differentiate between said authorized players and said unauthorized players based on the results of cryptographic operations performed by said players using secret keys that are not represented in said instructions.
- 6. An apparatus for mastering digital content, comprising:
(a) a variation generator:
(i) configured to produce variations in said content; (ii) where said variations are selected to avoid degrading playback quality while being detectable in copies of said content; (b) an instruction generator, configured to produce to decoding instructions for said content, where said instructions are configured to analyze the playback environment to:
(i) prevent playback on compromised devices and other playback environments providing inadequate security; (ii) limit the quality of playback on devices whose security is marginal; (iii) enable playback in authorized environments; and (iv) use information identifying a host playback device to select from among said variations, such that said playback device can be identified by analyzing said variations; and (c) a cryptographic module configured to encrypt at least portions of the combination of said content and an output of said instruction generator to produce a secured representation of said content for distribution to consumers.
- 7. The apparatus of claim 6 where said content includes compressed digital video.
- 8. The apparatus of claim 6 where said content includes digital audio.
- 9. A computer-readable medium comprising:
(a) encrypted digital video; and (b) program logic for processing by an interpreter in a playback device, including:
(i) program logic configured to query said playback device to obtain the results of cryptographic computations performed by said playback device, where said cryptographic operations use one or more cryptographic key values unique to said player and not accessible by said program logic; (ii) program logic configured to determine whether playback is authorized to proceed on said playback device by using said obtained results; (iii) program logic configured to derive at least one video decryption key to enable playback of said video, if it is it determined that playback is authorized.
- 10. The computer-readable medium of claim 9 where said program logic in (iii) is further configured to:
(A) derive said video decryption keys on authorized players, by using said cryptographic computation results; and (B) not derive said video decryption cryptographic keys on unauthorized players.
- 11. The computer-readable medium of claim 9 further comprising program logic configured to:
(a) obtain from said playback device information identifying said playback device; and (b) use said identifying information to modify the playback of said video so that a third party with knowledge of how said modification is performed can identify said playback device from a copy of the playback output.
- 12. The computer-readable medium of claim 9 further comprising:
(a) information identifying the manufacturer of said medium, (b) at least one characteristic identifiable by said player identifying that said medium is not consumer-recordable.
- 13. The computer-readable medium of claim 9 further comprising a serial number uniquely identifying said medium.
- 14. A device for playing encrypted digital content, comprising:
(a) an input interface usable to input said encrypted digital content and associated program logic; (b) a memory usable to store inputs read from said interface; (c) a processor usable to read data from said interface and to store data in said memory; (d) an interpreter, implemented using software executable on said processor and configured to interpret said program logic read from said interface and stored in said memory; (e) a cryptographic module:
(i) having access to at least one cryptographic key; and (ii) configured to perform cryptographic processing using said cryptographic key as directed by said program logic, such that said program logic can obtain the results of said cryptographic processing but cannot determine the value of said at least one key; and (f) an output interface for outputting said digital content.
- 15. The device of claim 14, where said input interface is a network interface capable of receiving a transmission over the Internet.
- 16. The device of claim 14 where said input interface is connected to a removable module comprising:
(i) a memory containing said encrypted digital content and associated program logic; and (ii) cryptographic computation logic usable by said program logic and necessary to decrypt said content.
- 17. The device of claim 14 where said interpreter is configured to provide said program logic with access to information describing:
(i) said playback device; (ii) at least one action requested by a user of said playback device; and (iii) at least one device connected to said output interface.
- 18. The device of claim 14 where said cryptographic subunit comprises a removable, tamper-resistant hardware module.
- 19. The device of claim 14 where:
(i) said cryptographic key is a private key for an asymmetric signature algorithm; (ii) said device includes a digital certificate accessible by said program logic on the public key corresponding to said private key; and (iii) said cryptographic computations include using said private key to digitally sign values received from said program logic.
- 20. The device of claim 14:
(i) where said encrypted digital content includes encrypted digital video distributed on an optically-readable medium; and (ii) further configured to output said digital content in a form re-encrypted to deter unauthorized access to said output.
- 21. The device of claim 14, further comprising a decryption circuit configured to decrypt said content using cryptographic keys derived by said program logic.
- 22. The device of claim 21, where said decryption circuit is configured to embed information received from said interpreter in the decrypted content such that third party can determine said information by analyzing a recording of said content outputted from said output interface.
- 23. The device of claim 22 where:
(i) representations of a plurality of versions of a plurality of regions of said content are stored on a digital medium accessible by said input interface; (ii) each of said versions is encrypted with a unique cryptographic key; (iii) said device is capable of embedding said information by using said information to select portions of said content to output from among said plurality of versions; and (iv) said decryption circuit includes logic to synchronize decryption key changes.
- 24. The device of claim 14 further comprising:
(a) an internal nonvolatile memory:
(i) containing security-related data accessible by said program logic operating on said interpreter; and (ii) usable by said program logic to verify the security of said playback device; and (b) cryptographic authentication logic to validate the authenticity of updates to said security-related data.
- 25. The device of claim 24 where said authentication logic is configured to perform said update only after successfully verifying a digital signature on said update.
- 26. The device of claim 14 further comprising a visual indicator notifying a user of said playback device whether the quality of said digital content provided on said output interface has been reduced.
- 27. The device of claim 14 where said digital content includes three-dimensional digital video.
- 28. A method for playing encrypted digital video, comprising the steps of:
(a) reading data from a medium, where said data incorporates processing instructions combined with encrypted video data; (b) using an interpreter within a player device, performing said processing instructions; (c) using a secret key accessible to said player device, cryptographically transforming said data received with said processing instructions, (d) returning the result of (c) to said processing instructions; (e) using the result of said processing instructions to decrypt said encrypted video data; and (f) outputting a representation of said decrypted video using an output interface.
- 29. The method of claim 28 further comprising:
(a) identifying a device connected to said output interface; (b) determining that the security of said connected device is insufficient for high-quality playback, as a result of executing said processing instructions; (c) said processing instructions specifying an output quality that is lower than the best quality represented on said medium, supported by said output interface, and supported by said connected device; and (d) outputting said decrypted video at said specified output quality.
- 30. The method of claim 28 further comprising:
(a) updating a protected nonvolatile memory to indicate that said digital video was played; and (b) securely reporting a result of said nonvolatile memory update to a third party to enable billing for playback.
- 31. The method of claim 30 further comprising using a public key to verify a digital signature on at least a portion of said processing instructions prior to allowing access to said nonvolatile memory.
- 32. The method of claim 28 where (b) includes transmitting at least one message via said output interface to a user of said player device.
- 33. The method of claim 32 where said transmitted message indicates whether said user is the winner of a prize.
- 34. The method of claim 28 further comprising:
(a) analyzing information including the type of said player; and (b) based on said analysis, enabling playback of additional bonus video stored on said media.
- 35. The method of claim 28 further comprising using a hardware-based codec to decompress said digital video.
- 36. The method of claim 28 further comprising using a codec implemented in said processing instructions operating on said interpreter to decompress said digital video.
- 37. The method of claim 28 further comprising:
(a) transmitting a value to an output device connected to said output interface; and (b) receiving a cryptographically-transformed representation of said value from said output device.
- 38. A method for enabling playback of encrypted digital video on a plurality of playback devices having different security characteristics, comprising the steps of:
(a) receiving, from a playback device, data describing said playback device; (b) analyzing said received data to assess a risk that said digital video will be compromised by allowing playback on said device; (c) based on said risk analysis, selecting from among a plurality of playback quality levels, where said levels include:
(i) playback with substantially full image quality; (ii) playback at a reduced image quality; and (iii) substantially preventing playback; and (d) enabling said playback device to decrypt and output said digital video at said selected quality level.
- 39. The method of claim 38 where said step of using a degradation module to reduce said quality of said video to correspond with said selected quality level.
- 40. A method for playing protected digital video content associated with an authorized decoder on an interpreter distinct from said authorized decoder, comprising the steps of:
(a) extracting one or more cryptographic keys from at least one authorized decoder; (b) passing said extracted keys to an interpreter; (c) using said interpreter to perform logic instructions associated with said protected digital video content; (d) using said interpreter to provide incorrect responses to queries by said logic instructions, where said responses are formulated to prevent said program logic instructions from recognizing that said instructions are being processed by said interpreter instead of said authorized decoder.
- 41. The method of claim 40 further comprising recording said decrypted digital content, and redistributing said recorded content to a plurality of recipients via a computer network.
- 42. A method for embedding a mark in digital content, comprising the steps of:
(a) reading and executing program logic associated with said content; (b) said program logic obtaining data about the execution environment on which said program logic is being executed; (c) based on a first portion said execution environment data, selecting from a plurality of output versions for a first portion of said content; (d) based on a second portion of said execution environment data, selecting from a plurality of output versions for a second portion of said content; (e) decrypting said selected portions; and (f) outputting a representation of said decrypted portions.
- 43. A device for playing encrypted digital content, comprising:
(a) means for inputting said encrypted digital content and associated program logic from a removable digital medium; (b) means for storing program logic read from said interface; (c) means for interpreting said program logic; (d) means for performing cryptographic processing using a secret key as directed by said program logic, whereby said program logic can obtain the results of said cryptographic processing, but cannot determine the value of said secret key; and (e) means for outputting said digital content.
- 44. An optical medium containing encrypted digital video, playable on a plurality of playback devices having different security characteristics, comprising:
(a) encrypted digital video, playable on a plurality of playback devices having different security characteristics; (b) program logic that, when executed, receives from a playback device on which it is executed data describing said playback device; (c) program logic that, when executed, analyzes said received data to assess a risk that said digital video will be compromised by allowing playback on said device; (d) program logic that, when executed, selects, based on said risk analysis, from among a plurality of playback quality levels, where said levels include:
(i) playback with substantially full image quality; (ii) playback at a reduced image quality; and (iii) substantially preventing playback; and (e) program logic that, when executed, enables said playback device to decrypt and output said digital video at said selected quality level.
- 45. A system for enabling playback of protected digital video content associated with an authorized decoder in an environment distinct from said authorized decoder, comprising the steps of:
(a) means for extracting one or more cryptographic keys from at least one authorized decoder; (b) means for associating said extracted keys with an interpreter; (c) means for performing, using other than said authorized decoder, logic instructions associated with said protected digital video content; (d) means for providing incorrect responses to queries by said logic instructions, where said responses are formulated to prevent said program logic instructions from recognizing that said instructions are being processed in an environment other than on said authorized decoder.
- 46. A computer readable medium containing digital video playable on a plurality of player devices, each player device having a unique combination of cryptographic player keys, where said medium results from the process of:
(a) obtaining a representation of said digital video; (b) generating a plurality of similar versions for a plurality of portions of said video; (c) encrypting said versions with different keys, where said keys are selected such that:
(i) each of said player devices is capable of using its player keys to decrypt at least one of said versions of each of said portions; (ii) said versions of said portions decrypted by each said player device are collectively unique to said player device; and (iii) a recording of said video can be traced to a player device that decrypted said video by analyzing the combination of said versions represented in said recording; and (d) storing said digital video, including said plurality of encrypted versions of said portions, on said medium.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application claims the benefit of U.S. Provisional Application No. 60/279,323, filed Mar. 28, 2001.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60279323 |
Mar 2001 |
US |