IP Library Granted Patent US 8,055,910
Granted Patent B2
US 8,055,910 · App. 10/563,793 · Granted Nov 8, 2011

Reprogrammable security for controlling piracy and enabling interactive content

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,055,910
App. No.
10/563,793
Granted
Nov 8, 2011
Kind
B2
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.

Claims (108)

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.

2. The computer-implemented method of claim 1 , wherein the first data processing instructions, in configuring the computer language interpreter to determine the authenticity, configure the computer language interpreter to perform a second operation selected from a second group consisting of:

comparing the cryptographic value to a reference value stored in the memory, and

verifying a digital signature corresponding to at least one of the first data processing instructions or the second data processing instructions.

3. The computer-implemented method of claim 1 , wherein the receiving of the data includes receiving at least some of the data from a media drive or via a network.

4. The computer-implemented method of claim 1 further comprising storing information in the memory, the information representing at least one of:

a payment referencing the digital content,

a history of pay-per-view payments,

a counter value,

a duration of access,

a spending limit,

a pricing discount,

a permission level,

a privilege level,

a security policy,

a software update of the playback device,

third data processing instructions to obtain the software update,

a cryptographic key, or

a digital signature.

5. The computer-implemented method of claim 1 , wherein the first data processing instructions, in configuring the computer language interpreter to inhibit the playback, configure the computer language interpreter to perform a third operation selected from a third group consisting of:

preventing the playback,

disabling a rendering of the portion of the digital content,

communicating an error message,

communicating a first request to receive authentication data,

communicating a second request to initiate an upgrade of the playback device,

disabling a decryption of the portion of the digital content, and

restricting the playback to a reduced quality level less than a maximum quality level of the digital content.

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.

7. The optical medium of claim 6 , wherein the first data processing instructions, in configuring the computer language interpreter to determine the authenticity, configure the computer language interpreter to perform a second operation selected from a second group consisting of:

comparing the cryptographic value to a reference value stored in the memory; and

verifying a digital signature corresponding to at least one of the first data processing instructions or the second data processing instructions.

8. The optical medium of claim 6 , wherein the first data processing instructions, in configuring the computer language interpreter to inhibit the playback, configure the computer language interpreter to perform a third operation selected from a third group consisting of:

preventing the playback,

disabling a rendering of the portion of the digital content,

communicating an error message,

communicating a first request to receive authentication data,

communicating a second request to initiate an upgrade of the playback device,

disabling a decryption of the portion of the digital content, and

restricting the playback to a reduced quality level less than a maximum quality level of the digital content.

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.

10. The apparatus of claim 9 , wherein the media interface is to receive at least some of the data from a media drive or via a network.

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.

12. The computer-implemented method of claim 11 , wherein the second data processing instructions include a specific instruction encoded as native code of the playback device.

13. The computer-implemented method of claim 11 , wherein the first data processing instructions, when executed by the computer language interpreter, configure the computer language interpreter to determine an authenticity of the second data processing instructions.

14. The computer-implemented method of claim 11 , wherein the first data processing instructions, in configuring the computer language interpreter to determine the security risk, configure the computer language interpreter to detect a presence of unauthorized software on the playback device.

15. The computer-implemented method of claim 11 , wherein the first data processing instructions, when executed by the computer language interpreter, configure the computer language interpreter to initiate a reception of at least some of the second data processing instructions from a media drive or via a network.

16. The computer-implemented method of claim 11 , wherein the second data processing instructions, when executed on the playback device, configure the playback device to modify at least some of the digital content with a forensic mark.

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.

18. The optical medium of claim 17 , wherein the second data processing instructions include a specific instruction encoded as native code of the playback device.

19. The optical medium of claim 17 , wherein the first data processing instructions, when executed by the computer language interpreter, configure the computer language interpreter to determine an authenticity of the second data processing instructions.

20. The optical medium of claim 17 , wherein the first data processing instructions, in configuring the computer language interpreter to determine the security risk, configure the computer language interpreter to detect a presence of unauthorized software on the playback device.

21. The optical medium of claim 17 , wherein the second data processing instructions, when executed on the playback device, configure the playback device to modify at least some of the digital content with a forensic mark.

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.

Assignments (10)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 12, 2015
From: IRDETO USA, INC.
To: IRDETO B.V.
Reel/Frame 035198/0904 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2013
From: ROVI SOLUTIONS CORPORATION
To: IRDETO USA, INC.
Reel/Frame 031134/0695 →
RELEASE OF SECURITY INTEREST Recorded Oct 29, 2010
From: JPMORGAN CHASE BANK, N.A. (A NATIONAL ASSOCIATION)
To: ALL MEDIA GUIDE, LLC; APTIV DIGITAL, INC.; GEMSTAR DEVELOPMENT CORPORATION; INDEX SYSTEMS INC.; ODS PROPERTIES, INC.; ROVI DATA SOLUTIONS, INC. (FORMERLY KNOWN AS TV GUIDE DATA SOLUTIONS, INC.); ROVI GUIDES, INC. (FORMERLY KNOWN AS GEMSTAR-TV GUIDE INTERNATIONAL, INC.); ROVI SOLUTIONS CORPORATION (FORMERLY KNOWN AS MACROVISION CORPORATION); ROVI SOLUTIONS LIMITED (FORMERLY KNOWN AS MACROVISION EUROPE LIMITED); ROVI TECHNOLOGIES CORPORATION; STARSIGHT TELECAST, INC.; TV GUIDE, INC.; TV GUIDE ONLINE, LLC; UNITED VIDEO PROPERTIES, INC.
Reel/Frame 025222/0731 →
CHANGE OF NAME Recorded May 12, 2010
From: MACROVISION CORPORATION
To: ROVI SOLUTIONS CORPORATION
Reel/Frame 024372/0977 →
SECURITY AGREEMENT Recorded May 15, 2008
From: APTIV DIGITAL, INC.; GEMSTAR DEVELOPMENT CORPORATION; GEMSTAR-TV GUIDE INTERNATIONAL, INC.; INDEX SYSTEMS INC; MACROVISION CORPORATION; ODS PROPERTIES, INC.; STARSIGHT TELECAST, INC.; TV GUIDE ONLINE, LLC; UNITED VIDEO PROPERTIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 020986/0074 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2008
From: CRYPTOGRAPHY RESEARCH, INC.
To: MACROVISION CORPORATION
Reel/Frame 020442/0593 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2006
From: KOCHER, PAUL C.; JAFFE, JOSHUA M.; JUN, BENJAMIN C.; LAREN, CARTER C.; PEARSON, PETER K.; LAWSON, NATHANIEL J.
To: CRYPTOGRAPHY RESERACH, INC.
Reel/Frame 018145/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2006
From: KOCHER,PAUL C.; JAFFE, JASHUA M.; JUN, BENJAMIN C.; LAREN, CARTER C.; PEARSON, PETER K.; LAWSON, NATHANIEL J.
To: CRYPTOGRAPHY RESEARCH, INC.
Reel/Frame 018145/0638 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2006
From: KOCHER, PAUL C.; JAFFE, JOSHUA M.; JUN, BENJAMIN C.; LAREN, CARTER C.; PEARSON, PETER K.; LAWSON, NATHANIEL J.
To: CRYPTOGRAPHY RESEARCH, INC.
Reel/Frame 018147/0036 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 11, 2006
From: KOCHER, PAUL C.; JAFFE, JOSHUA M.; JUN, BENJAMIN C.; LAREN, CARTER C.; PEARSON, PETER K.
To: CRYPTOGRAPHY RESEARCH, INC.
Reel/Frame 017864/0974 →