The following standards are considered particularly relevant to the present invention:
Digital Video Broadcast (DVB); Support for Use of Scrambling and Conditional Access (CA) within Digital Broadcasting Systems, October 1996, ETR 289;
Information Technology—Generic Coding of Moving Pictures and Associated Audio Information: Systems, December 2000, ISO/IEC 13818-1;
OpenCable Application Platform Specifications, OCAP 1.1 Profile, August 2008, OC-SP-OCAP1.1-D02-080807; and
OpenCable Specifications, Cab1eCARD 2.0 Interface Specification, February, 2009, OC-SP-CCIF2.0-I17-090206;
OC-SP-OCAP1.1-D02-080807; OC-SP-CCIF2.0-I17-090206; ETR 289; and ISO/IEC 13818-1 are hereby incorporated by reference.
The SHA-1 and SHA-2 hash algorithms (collectively including all of: SHA-224; SHA-256; SHA-384; and SHA-512) are specified in FIPS 180.
A list of SHA-3 hash algorithm candidates is found at: csrc.nist.gov/groups/ST/hash/sha-3/Round1/submissions_rnd1.html.
The following references, listed by publication number, are believed to reflect the current state of the art:
EP 1732005 of NEC Corporation;
WO2008/060388 of Time Warner Cable, Inc.;
US 2008/0123845 of Candelore;
US 2008/012386 of Candelore; and
US 2008/183656 of Perng, et al.
There is thus provided in accordance with an embodiment of the present invention a method for associating metadata with an encrypted content item, the method including receiving metadata for association with a content item, receiving an entitlement control packet (ECP) associated with the content item, applying a cryptographic hash function to the ECP, thereby generating an ECP hash value, combining the ECP hash value with the metadata, thereby creating a data control object, performing a cryptographic operation on the data control object, thereby generating cryptographic integrity data, and joining the cryptographic integrity data to the data control object after the cryptographic operation, wherein usage of the content by the recipient is dependent on both a validation of the ECP hash value and a validation of the cryptographic integrity data.
Further in accordance with an embodiment of the present invention the ECP includes one of an entitlement control message (ECM), and a digital rights management (DRM) content license.
Still further in accordance with an embodiment of the present invention and including sending the cryptographically associated data control object joined to the cryptographic integrity data to a recipient.
Additionally in accordance with an embodiment of the present invention the sending includes sending in-band sending.
Moreover in accordance with an embodiment of the present invention the sending includes out-of-band sending.
Further in accordance with an embodiment of the present invention the metadata includes service information.
Still further in accordance with an embodiment of the present invention the metadata includes a usage rule governing the usage of the content item.
Additionally in accordance with an embodiment of the present invention the cryptographically associating the combined ECP hash value and the metadata which include the data control object includes digitally signing the data control object, thereby generating a digital signature.
Moreover in accordance with an embodiment of the present invention the joined cryptographic integrity data includes the digital signature.
Further in accordance with an embodiment of the present invention the cryptographically associating the data control object includes encrypting the data control object according to a key, the key including a secret shared with the recipient.
Still further in accordance with an embodiment of the present invention the joined cryptographic integrity data includes a reference to the secret shared with the recipient.
Additionally in accordance with an embodiment of the present invention the cryptographic hash function includes one of SHA-1, SHA-2, and a SHA-3 candidate function.
There is also provided in accordance with another embodiment of the present invention a method for content utilization, the method including receiving an encrypted content item, receiving an entitlement control message (ECP) associated with the encrypted content item, receiving a data control object, the data control object including an ECP hash value, metadata, and cryptographic integrity data, using the cryptographic integrity data to cryptographically verify the integrity of the data control object, applying a cryptographic hash function to the received ECP, thereby generating a second ECP hash value, comparing the second ECP hash value with the received ECP hash value, and performing metadata processing if the result of the comparing is positive, thereby assuring the metadata cryptographically corresponds to the content item.
Further in accordance with an embodiment of the present invention the ECP includes one of an entitlement control message (ECM), and a digital rights management (DRM) content license.
Still further in accordance with an embodiment of the present invention the receiving the data control object includes in-band receiving.
Additionally in accordance with an embodiment of the present invention the receiving the data control object includes out-of-band receiving.
Moreover in accordance with an embodiment of the present invention the metadata includes service information.
Further in accordance with an embodiment of the present invention the metadata includes a usage rule governing the usage of the content item.
Still further in accordance with an embodiment of the present invention the ECP hash value and the metadata included in the data control object have been digitally signed.
Additionally in accordance with an embodiment of the present invention the cryptographic integrity data includes the digital signature of the ECP hash value and the metadata.
Moreover in accordance with an embodiment of the present invention the ECP hash value and the metadata included in the data control object have been encrypted.
Further in accordance with an embodiment of the present invention the encrypted ECP hash value and the metadata have been encrypted according to a key, the key including a secret shared with the sender of the received data control object.
Still further in accordance with an embodiment of the present invention the cryptographic integrity data includes a reference to the shared secret.
Additionally in accordance with an embodiment of the present invention the using the cryptographic integrity data to cryptographically verify the ECP hash value and the metadata includes using the key to decrypt the encrypted ECP hash value and metadata.
Moreover in accordance with an embodiment of the present invention the cryptographic hash function includes one of SHA-1, SHA-2, and SHA-3 candidate function.
There is also provided in accordance with still another embodiment of the present invention a system for associating metadata with an encrypted content item, the system including a metadata receiver operative to receive metadata for association with a content item, an entitlement control packet (ECP) receiver operative to receive an ECP associated with the content item, a cryptographic engine operative to apply a cryptographic hash function to the ECP, thereby generating an ECP hash value, a processor operative to combine the ECP hash value with the metadata, thereby creating a data control object, a second cryptographic engine which performs a cryptographic operation on the data control object, thereby generating cryptographic integrity data, and a second processor which joins the cryptographic integrity data to the data control object after the cryptographic operation, wherein usage of the content by the recipient is dependent on both a validation of the ECP hash value and a validation of the cryptographic integrity data.
There is also provided in accordance with still another embodiment of the present invention a system for content utilization, the system including a content receiver operative to receive an encrypted content item, an entitlement control packet (ECP) receiver operative to receive an ECP associated with the encrypted content item, a data control object receiver operative to receive a data control object, the data control object including an ECP hash value, metadata, and cryptographic integrity data, a cryptographic engine operative to use the cryptographic integrity data to cryptographically verify the integrity of the data control object, a second cryptographic engine operative to apply a cryptographic hash function to the received ECP, thereby generating a second ECP hash value, a comparing processor operative to compare the second ECP hash value with the received ECP hash value, and a metadata processor operative to perform metadata processing if the result of the comparing is positive, thereby assuring the metadata cryptographically corresponds to the content item.
The present invention will be understood and appreciated more fully from the following detailed description, taken in conjunction with the drawings in which:
Reference is now made to
Throughout the present specification and claims the term “metadata” is used for ease of description. However, any appropriate cryptographic equivalent of the metadata may be used in the methods and systems described herein.
Content protection systems are typically based on encryption of the clear content 115. As is well known in the art, encryption of the clear content 115 is according to secret keys (not depicted), also known as control words. The keys are delivered separately to a consumer device 130 in some form of entitlement control packets (ECPs). For example and without limiting the generality of the foregoing, ECPs 145 may comprise Entitlement Control Messages (ECMs) defined by the MPEG2 System standard (ISO/IEC 13818-1, referred to above), or, alternatively, so called “content licenses” used in various DRM (digital rights management) systems.
Those skilled in the art will appreciate that each individual ECP 145 is uniquely associated with at least one portion of the encrypted content 105. For example, one crypto-period (a crypto period is the time span during which a specific cryptographic key (control word) is intended for use.). For example and without limiting the generality of the foregoing, if the individual ECP 145 comprises an ECM, then the ECM is required by the consumer device 130 in order to produce a control word enabling decryption of the a first portion of encrypted content 105 for one crypto-period. A second ECM is required by the consumer device 130 in order to produce a control word enabling decryption of a second portion of encrypted content for the next crypto-period, and so forth for each ensuing crypto-period.
In some cases it is necessary to provide additional information to the consumer device 130 (hereinafter, “metadata” 110), as explained below. The metadata 110, in such cases, is often cryptographically associated with such encrypted content 105. Further, it is often the case that any underlying content protection system cannot be utilized or modified in order to cryptographically associate the metadata 110 with the encrypted content 105. For example and without limiting the generality of the foregoing, clear content 115 (the term “clear”, as used herein, as in, “clear content”, is used to mean not encrypted; that is to say, clear content is content which is not encrypted) may be encrypted using a 3rd party system 120. As a non-limiting example of a typical 3rd party system 120, the 3rd party system 120 would comprise an MPEG2 compliant encryption and multiplexing 3rd party system 120. The 3rd party system 120, which is operative during secure stream generation 123 typically further comprises components of a conditional access (CA) system. Decryption of the encrypted content 105 is performed on consumer premises 125 in the consumer device 130 comprising by a 3rd party security component 135 such as CableCard (see, for instance, OC-SP-CCIF2.0-I17-090206 and OC-SP-OCAP1.1-D02-080807, referred to above).
Typically, the 3rd party security component 135, such as the CableCard, comprises an interface which cannot be modified or extended for the purposes of metadata insertion. However, other components in the consumer device 130 may require metadata 110 related, for example, to usage rules of the encrypted content 105 in a home network environment. Such metadata 110 must be securely associated with the content 105. If the metadata 110 is not securely associated with the content 105, there is a chance that decoupling between the content 105 and the metadata 110 may occur, particularly while the content is in an unsecured delivery network 140 during delivery to the consumer premises 125. Alternatively, decoupling between the content 105 and the metadata 110 may occur at a later time at the consumer premises 125.
One method of the present invention allows secure association of any kind of metadata 110 with the encrypted content 105 in any environment or system wherein the encrypted content 105 is already associated with any form of entitlement control packets 145. It is appreciated that the method of the present invention described herein enables performing the association of the encrypted content 105 with the metadata 110 without any understanding of the entitlement control packets 145 and without any cooperation from the owner of the entitlement control packets 145.
Those skilled in the art will appreciate that the method of the present invention described herein that establishes a cryptographic association between metadata 110 and the ECP 145 is cryptographically identical to the cryptographic association between the metadata 110 and the encrypted content 105 itself.
The operation of the system of
Reference is now additionally made to
The hash 165 of the ECP 145 is combined with the metadata 110, thereby producing a data control object 170. A crypto-engine 220 cryptographically associates the combined ECP hash 165 value and the metadata 110 which comprise the data control object 170, thereby generating cryptographic integrity data 175. The cryptographic integrity data 175 is joined to the data control object 170, thereby producing the secure metadata object 180. The secure metadata object 180 then sent to the consumer device 130. The nature of the joining of the cryptographic integrity data 175 to the data control object 170 is detailed below.
Throughout the present specification and claims the term “data control object 170” is used for ease of description. However, any appropriate cryptographic equivalent of the data control object 170 may be used in the methods and systems described herein.
The sending of the secure metadata object 180 to the consumer device 130 may be performed by any appropriate method known in the art for sending data between devices. For ease of depiction,
Returning to the discussion of the ECP 145 of
The nature of the secure metadata object 180 is now discussed. Reference is now additionally made to
Reference is now additionally made to
A reference 330 to a shared secret is appended to the encrypted data object 320 prior to sending the encrypted data object 320 to the consumer premises 125. The shared secret is a secret shared by the crypto-engine 220 and the consumer device 130. The encrypted data object 320 is typically encrypted using the actual shared secret as an encryption key.
It is appreciated that if the secure metadata object 180 is received at the consumer device 130 comprising the encrypted data object 320 comprising the joined hash of the ECP 165 and metadata 110, then the consumer device 130 will have to decrypt the encrypted data object 320 in order to access and validate the hash of the ECP 165 and metadata 110.
Returning to the discussion of
If the secure metadata object 180 is appended to the cryptographic signature 310, it is inputted into a crypto-engine 420 for validation. Alternatively, If the secure metadata object 180 is appended to the reference 330 to the shared secret, it is inputted into a crypto-engine 420 for decryption. In any event, the decrypted or validated data control object 170 separated to the metadata 110 and the hash of the ECP 165.
A received ECP 445 is input into a hash function 410, the hash function 410 being identical to the hash function 210 (
If the two hashes, hash 165A of the received ECP 445 and the hash 165 of the ECP received in the secure metadata object 180 do not match, the comparison is determined to have failed. However, if the two hashes, hash 165A of the received ECP 445 and the hash 165 of the ECP received in the secure metadata object 180 do match, the comparison is determined to have succeeded.
Reference is now made to
It is appreciated that software components of the present invention may, if desired, be implemented in ROM (read only memory) form. The software components may, generally, be implemented in hardware, if desired, using conventional techniques. It is further appreciated that the software components may be instantiated, for example: as a computer program product; on a tangible medium; or as a signal interpretable by an appropriate computer.
It is appreciated that various features of the invention which are, for clarity, described in the contexts of separate embodiments may also be provided in combination in a single embodiment. Conversely, various features of the invention which are, for brevity, described in the context of a single embodiment may also be provided separately or in any suitable subcombination.
It will be appreciated by persons skilled in the art that the present invention is not limited by what has been particularly shown and described hereinabove. Rather the scope of the invention is defined by the appended claims and equivalents thereof:
The present application claims the benefit of priority from U.S. provisional application No. 61/268,152 of Leonid Sandler, et al., filed 8 Jun. 2009, the disclosure of which is hereby incorporated herein by reference.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/IB2010/052136 | 5/13/2010 | WO | 00 | 12/23/2011 |
Number | Date | Country | |
---|---|---|---|
61268152 | Jun 2009 | US |