US20110016311A1
2011-01-20
12/736,262
2009-04-07
US 9,252,957 B2
2016-02-02
WO; PCT/EP2009/002557; 20090407
WO; WO2009/124715; 20091015
Anthony Brown
Jack Schwartz & Associates, PLLC
2029-09-29
A method for distributing content in a content distribution system is disclosed which comprises the steps of: encrypting at a Content Packager a content using a content encryption key to generate an encrypted content; sending the content encryption key to a Licensing Authority; receiving from the Licensing Authority a distribution key containing an encryption of the content decryption key (Kc) for a given set of authorized devices; creating a secure link between the content encryption key (Kc) and the content protected by this content encryption key using a signature of the content; and distributing the encrypted content together with the signature of the content. A method for receiving content distributed according to the above-mentioned method in a device able to play back the content is also disclosed where the content signature is checked before any play back of the content.
Get notified when new applications in this technology area are published.
G06F11/30 IPC
Error detection; Error correction; Monitoring Monitoring
H04L9/3247 » CPC main
arrangements for secret or secure communications Cryptographic mechanisms or cryptographic ; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
H04L9/0836 » CPC further
arrangements for secret or secure communications Cryptographic mechanisms or cryptographic ; Network security protocols; Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords; Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use; Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
H04L2209/60 » CPC further
Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication Digital content management, e.g. content distribution
H04L9/32 IPC
arrangements for secret or secure communications Cryptographic mechanisms or cryptographic ; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
H04L9/08 IPC
arrangements for secret or secure communications Cryptographic mechanisms or cryptographic ; Network security protocols Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
The present invention relates to the field of content distribution systems enabling the secure distribution of multimedia content. The invention more particularly relates to a method for preventing new kinds of attacks identified by the inventors called ālaundering attacksā and ārepackaging attacksā that may apply to most systems used to distribute protected content.
Today, thanks to the availability of high bandwidth connections and efficient data compression technologies, multimedia content can be transmitted with high quality. This generates new businesses and distribution models. Unfortunately, this also gives rise to a high level of piracy. For example, digital content (music, video and software game) can be pirated by users who make copies available to others or by insiders during production processes. Content protection technologies are intended to protect against content piracy. Their proper design and correct implementation are of central importance for the entertainment industry because the incurred losses can be huge.
An investigation on prevailing content protection technologies shows that there are many variants. However, what is common in each content distribution system is the basic security functionality. Indeed, before being written to a physical support or otherwise transmitted, content is usually encrypted by content providers. As a consequence, a required step prior to illegal distribution (namely, unauthorized distribution of content in peer-to-peer file sharing systems like Kazaa or E-mule or on physical media like DVDs) or illegal consumption (namely, unauthorized use of a content legally purchased) is extracting content from its protected form. Most of the time, this means recovering the content in clear. While existing content distribution systems address this issue, they do little or nothing to prevent a pirate or an end-user to divert them from their primary purpose.
Another form of piracy is that of illegal distribution involving bit-to-bit copies or device cloning. There exist techniques (disclosed for example in āContent Protection for Recordable Media: Introduction and Common Cryptographic Elementsā, 2000. Revision 0.94, Intel Corporation, International Business Machines Corporation, Ltd. Matsushita Electric Industrial Co. and Toshiba Corporationāknown as āCPRMāāor in āAdvanced Access Content System (AACS): Introduction and Common Cryptographic Elementās, Feb. 17, 2006. Revision 0.91, Intel Corporation, International Business Machines Corporation, Ltd. Matsushita Electric Industrial Co., Toshiba Corporation, Microsoft Corporation, Sony Corporation, The Walt Disney Company, and Warner Brosāknown as āAACSāā) based on a unique hardware ID making useless a number of duplication methods. The unique ID is typically encoded in or computed from the physical structure of a hardware material, generally the user's player or the physical support containing the multimedia content. These techniques have in common that this ID is located in a non-writable area of the hardware material. The unique hardware ID enables to securely bind the multimedia content to the player or physical support so that it can only be played using the corresponding player or the corresponding support. Other concurrent techniques, disclosed for example by Claudine Conrado, Franck Kamperman, Geert Jan Schrijen and Willem Jonker in āPrivacy in an identity-based DRM systemā (in Proceedings of the 14th International Workshop on Database and Expert Systems Applications (DEXA '03), pages 389-395, IEEE Computer Society, 2003) or by Paul Koster, Franck Kamperman, Peter Lenoir and Koen Vrielink in āIdentity-based DRM: Personal entertainment domainā (in Transactions on Data Hiding and Multimedia Security I, volume 4300 of Lecture Notes in Computer Science, pages 104-122, Springer-Verlag, 2006), are based on authorization certificates issued by content distributors where the certificate is linked to a unique user ID.
The inventors have found that current implementations may be used as a tool for distributing information in a variety of crimes including child pornography (content laundering) or violations of copyrights (content re-repackaging). Unauthorized users can exploit distribution systems because the security chain is not addressed as a whole.
The invention relates to a method for distributing content in a content distribution system where a content M is distributed in an encrypted form C=Enc(Kc, M) to players together with a distribution key Kd enabling to recover the content encryption key Kc.
The main idea of the invention is to create a secure link between the key material and the content itself using a signature of the content.
More precisely, the method according to the invention comprises the steps of:
encrypting at a Content Packager a content using a content encryption key Kc to generated an encrypted content;
sending the content encryption key Kc to a Licensing Authority;
receiving from the Licensing Authority a distribution key Kd containing an encryption of the content decryption key Kc for a given set of authorized devices;
creating a secure link between the content encryption key Kc and the content protected by this content encryption key Kc using a signature of the content; and
distributing the encrypted content together with the signature of the content.
According to an embodiment of the invention the step of creating a secure link between the content encryption key Kc and the content protected by this content encryption key Kc comprises:
signing at the Content Packager the content together with the content encryption key Kc and the distribution key Kd to generate a content signature.
According to another embodiment of the invention, the step of creating a secure link between the content encryption key Kc and the content protected by this content encryption key Kc comprises:
signing at the Content Packager the encrypted content to generate a content signature.
According to a further embodiment of the invention, the step of creating a secure link between the content encryption key Kc and the content protected by this content encryption key Kc comprises:
signing at the Content Packager the content to generate a content signature;wherein the content signature is used to compute the content encryption key to generate the encrypted content.
In this particular embodiment, the content signature is distributed in an encrypted form, in the distribution key Kd, with the encrypted content. Preferably the content signature is equal to the content encryption key.
According to another particular embodiment, the method further comprises the steps of:
generating at the Content Packager a set of hierarchical keys K1, . . . , Ki;
encrypting at the Content Packager the content encryption key Kc using the first key K1 in the set of hierarchical keys;
encrypting each key Kn, with n between 1 and iā1, of the set of hierarchical keys with the subsequent key Kn+1 in the set of hierarchical keys;
sending to the Licensing Authority, instead of the content encryption key Kc, the last key Ki of the set of hierarchical keys;
wherein the distribution key Kd received from the Licensing Authority contains an encryption of the last key Ki for a given set of authorized devices;
and wherein the content signature is generated by signing, at the Content Packager, the content together with the content encryption key Kc, all the keys K1, . . . Ki of the set of hierarchical keys and the distribution key Kd.
According to another specific embodiment, the method further comprises the steps of:
generating at the Content Packager a set of hierarchical keys K1, . . . , Ki;
encrypting at the Content Packager the content encryption key Kc using the first key K1 in the set of hierarchical keys;
encrypting each key Kn, with n between 1 and iā1, of the set of hierarchical keys with the subsequent key Kn+1 in the set of hierarchical keys;
sending to the Licensing Authority, instead of the content encryption key Kc, the last key Ki of the set of hierarchical keys;
wherein the distribution key Kd received from the Licensing Authority contains an encryption of the last key Ki for a given set of authorized devices;
and wherein the content signature is generated by signing, at the Content Packager, the encrypted content together with the encryption of the content encryption key Kc by the first key K1 and the encryption of each key Kn by its subsequent key Kn+1 in the set of hierarchical keys.
In another embodiment of the invention, the method further comprises the steps of:
generating at the Content Packager a set of hierarchical keys K1, . . . , Ki;
encrypting at the Content Packager the content encryption key Kc using the first key K1 in the set of hierarchical keys;
encrypting each key Kn, with n between 1 and iā1, of the set of hierarchical keys with the subsequent key Kn+1 in the set of hierarchical keys;
sending to the Licensing Authority, instead of the content encryption key Kc, the last key Ki of the set of hierarchical keys;
wherein the distribution key Kd received from the Licensing Authority contains an encryption of the last key Ki foragiven set of authorized devices;
and wherein the first key K1 is generated by signing, at the Content Packager, the content encryption key Kc and each key Km, with m between 2 and i, of the set of hierarchical keys, is generated by signing, at the Content Packager, the preceding key Kmā1, in the set of hierarchical keys.
In any of the previous mentioned methods, the step of receiving, from the Licensing Authority, the distribution key Kd may further comprise the reception of a signature of said distribution key generated by the Licensing Authority.
The invention also relates to a method for receiving content distributed according to one of the previous mentioned methods in a device able to play back the content and comprising the steps of:
verifying the content signature distributed with the content using a verification key of the Content Packager received with the distribution key Kd; and
if the verification succeeds, obtaining from the distribution key Kd the content encryption key Kc using a device decryption key stored in said device and decrypting the content using the obtained content encryption key to play back the content.
In a particular embodiment, the method further comprises the step of verifying the signature of the distribution key Kd using a verification key of the Licensing Authority stored in said device; and performing the subsequent steps of the above-mentioned method only if said verification of the signature of the distribution key succeeds.
The various features of the present invention and its preferred embodiments will now be better understood by referring to the following description and the accompanying drawings in which:
FIG. 1 illustrates an example of content distribution system;
FIG. 2 illustrates the different embodiments of the invention.
A typical content distribution system is presented on FIG. 1. It may be subject to numerous variations and optimizations. Our aim is to introduce the key components and actors involved in the whole process: from the content owner to the content player. The architecture presented is generic and can accommodate a large variety of practical systems.
The life cycle of multimedia content can be split into four main phases:
We do not consider the content creation phase, which is out of the scope of this invention, and we call āmultimedia contentā its output.
In a typical content distribution system as shown in FIG. 1, M denotes a multimedia content. The content Distributor 1 assigns a unique identifier # to M and associates with it a header hdr (containing for example the name of the content, its identifier, its encoding format, . . . ).
Before being distributed, multimedia content M needs to be āpreparedā or, more exactly, protected. This is the role of the Content Packager 2. This involves the encryption of M under a content key, say Kc. Without loss of generality, we assume that M is encrypted using a symmetric encryption algorithm, noted Enc( ) to form the encrypted content C=Enc(Kc; M). Content key Kc is preferably randomly generated. The content packager 2 may also add information to the header in order to retrieve the key material (e.g., a URL). The protected content and the corresponding header, namely [hdr, C], are then made available on a Content Server 3.
The key material necessary to decrypt the content is made available on a Key Server 5. Its management and storage are described below. But before that, we need to introduce the Licensing Authority 4.
A multimedia content packaged by a content packager cannot be read on any player, such as Player 6 on FIG. 1. The Player must conform to certain requirements enacted by a Licensing Authority 4 which serves as a trusted third party. The Licensing Authority 4 possesses a matching pair of public/private keys (vklaskla). Private key skla is typically used to digitally sign while public key vkla is preferably used to check the validity of a signature issued by the Licensing Authority.
If a player manufacturer wishes to produce and sell players that can read content, it must request player keys to the Licensing Authority 4. If Licensing Authority assesses the Player 6 to be compliant, the player manufacturer receives one or several player keys. A given player key may be unique to one player or shared among a family of same players. We let pid denote a player identifier. In more detail, for each pid, the Licensing Authority 4 generates a pair of encryption/decryption keys, say (ekpid, dkpid), and provides the player manufacturer with dkpid. Decryption key dkpid and verification key vkla (i.e. the public key of the Licensing Authority) are stored in each player pid such as Player 6.
The Licensing Authority 4 maintains a list L containing all compliant players identifiers and corresponding encryption keys (pid, ekpid). If, at a latter time, a player is no longer compliant (e.g., following a security flaw), the Licensing Authority removes from list L the corresponding entry to revoke the player (revocation mechanism).
The encryption of multimedia content M is preferably (at least) a two-level process. The Content Packager 2 first encrypts M under a random content key Kc to form C. Content key Kc is also encrypted to form what is called a ādistribution keyā, say Kd. This second level of key enables the distribution of a same protected content to different players.
The encryption of Kc proceeds as follows. The Content Packager 2 sends to the Licensing Authority 4 a set of players identifiers, P={pid}, the multimedia content is intended for. Next, the Licensing Authority checks that the set of intended players is valid, namely that each pid of P is included in the list L. If so, the Licensing Authority issues the distribution key:
Kd={ε(ekpid; Kc)}pid ā P,
that is, the encryption of Kc under encryption key ekpid using encryption algorithm ε( ) for each pid in P.
It is to be noted that when the multimedia content is intended to a huge number (several millions for example) of players, the generation of Kd can be optimized using broadcast encryption techniques disclosed for example by Amos Fiat and Moni Naor, in āBroadcast encryptionā (In D. R. Stinson, editor, Advances in CryptologyāCRYPTO'93, volume 773 of Lecture Notes in Computer Sciences, pages 480-491. Springer-Verlag, 1994.) or by Dalit Naor, Moni Naor, and Jeffrey B. Lotspiech. in āRevocation and tracing schemes for stateless receiversā (In Advances in CryptologyāCRYPTO 2001, volume 2139 of Lecture Notes in Computer Science, pages 41-62. Springer-Verlag, 2001). But to keep the presentation simple, we consider Kd as the separate encryption of Kc under the key ekpid of each player in P.
Preferably, the licensing authority also signs the distribution key, Kd, using signing algorithm S( ) with its private signing key skla to get the signature Ļla=S(skla; Kd). Kd and Ļla are sent to the Content Packager 2. These two quantities Kd and Ļla together with content identifier # are stored on a Key Server 5.
Regarding content consumption (or play-back), we consider two types of distribution channels:
It remains to explain how a multimedia content is played from [C, Kd, Ļla]. A Player 6 comprises two main components: a content decryption unit (CDU) and a tamper-resistant module (TRM). The tamper-resistant module TRM embeds the player decryption key dkpid and the public key of the Licensing Authority, vkla. On input [Kd, Ļla], the tamper-resistant module first verifies signature Ļla using verification key vkla. If the verification succeeds, it computes the content key as Kc=D(dkpid; Kd) using decryption key dkpid and decryption algorithm D( ). From Kc and C, the content decryption unit CDU then recovers (plain) multimedia content M=Encā1(Kc; C), which is played by the Player 6.
A content distribution system as disclosed in FIG. 1 may be subject to different kinds of attacks. We present below two classes of attacks where an attacker can produce protected multimedia content without interacting with the Licensing Authority that is supposed to provide with the necessary key material. These attacks open the door to illegal distribution of (pirated) multimedia content that cannot be distinguished from genuine one.
In the following, we distinguish three categories of players:
For the sake of clarity, in the following, a player that can play protected content, whether it is compliant or not, will be referred to as a conformant player. This includes the two first categories.
We also make the assumption that an efficient revocation mechanism is in place since it supposes that compromised players are immediately removed from the list L. Furthermore, as a first approach, we suppose that conformant players are unable to handle clear content (i.e., they can only consume protected multimedia content). This approach corresponds for instance to the following cases:
The two classes of attacks, referred to as ācontent launderingā and ācontent repackagingā attacks will now be described. For both type of attacks, we make the assumption that the attacker knows one or several content keys Kc.
The content laundering attack consists in transforming clear content into protected content so that it can be played on conformant players. Content source is not specified but is generally illegal like a Peer-to-Peer network for example. Here are some example scenarios:
The attack itself is now described.
We suppose that a pirate gets a copy of pirated content P that he wants to launder. This pirated content P is typically in clear. Per our initial assumption, the pirate knows as well at least one content key Kc and associated hdr and # corresponding to a genuine content.
The pirate, using Kc, encrypts P and obtains the laundered content L=Enc(Kc; P). The pirate then distributes L together with the header hdr and identifier #.
A user having a conformant player who receives this laundered content L can obtain, thanks to the header hdr, the corresponding distribution key Kd and accompanying signature Ļla from the Key Server 5. The signature verification being correct, the player will decrypt Kd to obtain Kc; and so it will decrypt L to get P. There is actually no means for the player to detect that it is decrypting a laundered content.
It is to be noted that this attack can be performed as soon as a pirate knows some content key Kc and associated hdr and #. The same content key Kc can then be applied to any pirated content.
The content repackaging attack allows an attacker to re-encrypt multimedia content using a different content key. Re-packaged multimedia content can be redistributed and played back by conformant players.
This kind of attack allows a pirate to propose a more attractive offer to the end-user than the original ones. Here are some example scenarios where the attack can be useful for the pirate:
To perform the attack, the pirate obtains from a legal distribution channel the content Ma he wants to re-distribute. Ma is distributed through this legal distribution channel in encrypted form Ca and distributed together with its header hdra and identifier #a.
The attacker has then to recover the corresponding content key Kca. Using Kca, he is able to recover the clear content Ma. Then, using the assumption he knows some other content key Kc and corresponding headers hdr and identifier #, he re-encrypts Ma using Kc to obtain repackaged content R=Enc(Kc; Ma). He may then redistribute R together with hdr and #, as for the laundering attack.
Conformant players will be able to recover the clear content Ma from R in the same way as for laundered content.
A possible countermeasure to prevent laundering attacks would be to sign clear content M before distributing it. Unless getting content with its signature (e.g., from an insider, i.e. a person working within the company that owns the multimedia content), the pirate cannot dispose of the signature of the content. As a consequence, any pirated content obtained from the āanalog holeā (e.g., cam-corded content) cannot be laundered since it is not accompanied by a signature.
However, this countermeasure is inefficient in the case of repackaging attacks because these attacks work perfectly on signed content. As the attacker gets the content from a legal distribution channel, he obtains content signature together with the content. He can thus repackage it and re-distribute it.
Both attacks (content laundering and content repackaging) suppose the pirate has been able to recover at least one content encryption key Kc. Repackaging attacks require even to recover such a key for each new content to repackage. However these situations are not unrealistic for the reasons set forth below.
Even if a tamper-resistant module is used in each player to protect infrastructure keys and data, it cannot be used to manipulate the content itself because of its limited capacity both in terms of memory and of computational power. Content encryption keys are then manipulated in standard memory and are thus more sensitive to implementation attacks.
In broadcast systems (e.g., broadcast television or distribution on DVD-ROMs), a given content is encrypted under the same content encryption Kc even if it is distributed to many players. In that case, the key is more exposed and disposing of one player with a āless-secureā implementation is enough to recover Kc. Other means can also be used to obtain the content encryption key; for example, from insiders, i.e., people working within the company that owns the multimedia content, using social engineering techniques.
In the above-described attacks, it is assumed that the attacker is only able to get access to content encryption keys Kc. This assumption is intentionally chosen to be weak as having Kc is enough for laundering and repackaging attacks. A most powerful attacker would obtain keys at a higher level in the hierarchy (e.g., a player key) that anyway allows the re-computation of the content encryption key.
Finally, attacks feasibility does not depend on the encryption algorithm used to protect Kc. More particularly, if the content encryption key Kc is asymmetrically encrypted, the attacks still work. The pirate has still to get one Kc and replicate the corresponding identifier and distribution key Kd.
The ability to perform these attacks comes from the fact that there is no secure link between the encrypted multimedia data and the key material: Any key Kc can be used to encrypt a given piece of content. Therefore, a content key can be applied to a pirated content or to a content to which it was not intended and may violate the initial content copyright.
We propose here different tracks to remedy to this problem, all the proposed solutions being based on the creation of a secure link between the content key and the content it is protecting. If this secure link exists, none of the aforementioned attacks will work anymore.
All solutions imply to sign large amounts of data. Consequently, signature schemes with appendix are preferably used. In the following, Ļ (or Ī£) will denote the signature only. We refer the reader to the following publication āHow to sign digital streamsā (Rosario Gennaro and Pankaj Rohatgi, Information and Computation, 165(1):110-116, 2001, earlier version in Proc. of CRYPTO'97) for an efficient signature method.
A first proposed solution to counter the laundering and repackaging attacks is to sign multimedia content along with all the keys involved in the content protection. Namely, to sign the content concatenated with all the keys in the key hierarchy.
FIG. 2 shows the content distribution system of FIG. 1 (wherein the same elements bear the same reference numbers) in which the proposed solutions are implemented.
According to the first embodiment of the invention, when receiving the content M, the Content Packager 2 generates Kc and requests the Licensing Authority to send a distribution key Kd for a given set of players P={pid}. Upon receiving Kd, the Content Packager 2 signs it together with the content M and the content key Kc with its private key skcp to obtain Ī£cp=Sign(skcp; Mā„Kcā„Kd). Ī£cp is then made available on the Key Server 5 together with auxiliary data [#, Kd, vkcp, Ļla], # denoting the content identifier, Kd denoting the distribution key, vkcp denoting the public key of the Content Packager, used as verification key to verify the signature Ī£cp and Ļla denoting the signature of the distribution key generated by the Licensing Authority. The signature Ļla may also be calculated by signing the distribution key Kd concatenated to:
At play-back time, each player in the set P={pid} verifies signature Ī£cp using the verification key vkcp received together with the key material Kd, Ļla. The signature Ļla is also verified in the player using the verification key vkla. The multimedia content is played if and only if the verification of both signatures Ī£cp and Ļla succeeds.
The secure binding is effective as Kd cannot be used to distribute another content Mā² (laundering is countered) and another key material Kdā² associated to content [#ā², hdrā², Cā²] cannot be used to distribute M (repackaging is countered).
In the above example, two keys Kc and Kd were added to the content M in the signature Σcp because there are only two steps of encryption. If more encryption steps are involved, which is very likely (such as in the systems previously mentioned and known as CPRM or AACS), all the keys in the key hierarchy must be added to content before generating the signature at the Content Packager 2. For example, if the content encryption key Kc is itself encrypted by a key K1, which is encrypted by K2, etc. until Ki which itself is encrypted in a distribution key Kd for a given set of players P={pid}. then the content signature Σcp is computed as follows:
Ī£cp=Sign(skcp;Mā„Kcā„K1ā„K2ā„ . . . ā„Kiā„Kd)
In such a multi-level encryption scenario, a preferred embodiment consists in having the Content Packager 2 generating the content key Kc used to encrypt the content M, and the remaining keys of the key hierarchy until Ki. In other words, the following steps are performed at the Content Packager 2: generation of Kc, encryption of the content M by Kc to obtain C=Enc(Kc, M), generation of K1, encryption of Kc by K1 to obtain E(K1; Kc), generation of K2, encryption of K1 by K2, etc. until the generation of Ki. It should be noted that the encryption algorithm E( ) may be the same or may by different from Enc( ). The last key Ki of the key hierarchy is then sent by the Content Packager 2 to the Licensing Authority 4 to obtain from the Licensing Authority the encryption of Ki in the distribution key Kd for a given set of players P={pid}.
When the content is distributed, the Content Packager 2 sends to the Content Server 3 the following content:
[hdr, C=Enc(Kc; M), E(K1; Kc), E(K2; K1), . . . E(Ki; Kiā1)]
and the key material obtained from the Licensing Authority together with auxiliary data [#, Kd, vkcp, Ļla] and with the signature Ī£cp is sent to the Key Server 5.
A second proposed solution to counter the laundering and repackaging attacks is to use the signature on the encrypted version of the multimedia content instead of the one on the clear version. According to this embodiment, when receiving M, the Content Packager 2 first encrypts M, using the content encryption key Kc, to generate C=Enc(Kc; M), and signs C with its private key skcp to obtain Ī£cp=Sign(skcp; C). The Licensing Authority 4 next issues the key material [#, Kd, vkcp, Ļla] which is sent, together with Ī£cp, to the Key Server 5 in order to distribute the content to a given set of players P={pid}.
At play-back time, the content decryption unit CDU of the Player (not shown on FIG. 2) verifies signature Ī£cp using the verification key vkcp. The signature Ļla is also verified in the player using the verification key vkla. If both signatures are valid, the content decryption unit recovers multimedia content that is played. If the content signature Ī£cp is invalid the multimedia content is not played. Two scenarios are then possible: either Kc is not authentic, or content M has been changed. If Kc is not authentic but Kd is (Kd is considered authentic is the verification of the signature Ļla succeeds), then Kd has been retrieved from another protected multimedia content [hdrā², Cā²] and used to protect this new content M. We are in front of a repackaging attack. If content is not āauthenticā then we are in front of a laundering attack. Consequently, the binding is effective using this solution.
Again, if there are more than two encryption levels, then the signature must be applied to the whole key hierarchy. For example, if the content encryption key Kc is itself encrypted by a key K1, which is encrypted by K2, etc. until Ki which itself is encrypted in a distribution key Kd for a given set of players P={pid}, then the content signature Σcp is computed as follows:
Ī£cp=Sign(skcp; Cā„E(K1; Kc)ā„E(K2; K1)ā„ . . . ā„E(Ki; Kiā1))
It is not necessary to include E(Kd;Ki) (or {ε(ekpid; Ki)}pid ā P) in the signature Ī£cp since Kd is already authenticated by the signature of the Licensing authority Ļla.
A third proposed solution to counter the laundering and repackaging attacks is, instead of generating Kc at random, to make it depend on the signature of the multimedia content. When receiving M, the content packager first signs it with private key skcp, Σcp=Sign(skcp; M). Next, the content packager chooses Kc as the content signature value, Kc=Σcp, and encrypts M under it, C=Enc(Kc; M). Practically, the content key Kc is not necessarily equal to the signature Σcp=Sign(skcp; M), particularly if Kc and Σcp are not coded with the same number of bits, but Kc can be computed from Σcp for example by taking the first 128 bits of Σcp if the signature is calculated on 256 bits.
The distributed protected multimedia content becomes [hdr, C, #, Kd, vkcp, Ļla]. There is no need to make signature Ī£cp available as it is already present in encrypted form inside Kd. It is to be noted that when the content is distributed on a physical medium (optical disc for example), all the elements [hdr, C, #, Kd, vkcp, Ļla] are stored on the medium itself. In contrast, when the content is distributed via broadcast (such as satellite, terrestrial, . . . ) or broadband (such as Internet) distribution networks, the content and its header ([hdr, C]) are sent from the Content Server 3 to the player while the key material [#, Kd, vkcp, Ļla] is sent from the Key Server 5 to the player when the player is authorized to access the content.
When a player receives the protected content, it verifies the signature Ļla using vkla. If Ļla is valid, the player computes the content key as Kc=D(dkpid; Kd) using decryption key dkpid. From Kc and C, it recovers then multimedia content M=Encā1(Kc; C). Finally, it verifies content signature Ī£cp(=Kc) using the content M and verification key vkcp. The multimedia content is played if and only if the verification succeeds.
As before, if the last authentication fails then most probably a laundering or repackaging attack occurred. If there are more than two encryption levels, then the signature must be applied to the whole key hierarchy. For example, if the content encryption key Kc is itself encrypted by a key K1, which is encrypted by K2, etc. until Ki which itself is encrypted in a distribution key Kd for a given set of players P={pid}, then:
K1 is computed as: K1=Sign(skcp; Kc) and each key Kn of the hierarchy (with n between 2 and i) is computed as:
Kn=Sign(skcp; Knā1).
Thanks to the proposed solutions, the vulnerability of current content distribution systems to laundering attacks or to repackaging attacks can be circumvented.
Although the description above has been made with reference to asymmetric cryptography (public/private keys vkla, skla of the Licensing Authority and vkcp, skcp of the Content Packager) for generating and verifying signatures, other embodiments of the invention may be envisaged. For example, if symmetric cryptography is used, the Licensing Authority will have only one secret key vkla=skla used to generate and to verify MACāMessage Authentication Codesāinstead of signatures.
Similarly, the pair of encryption/decryption keys (ekpid, dkpid) generated by the Licensing Authority for each compliant player can be replaced, in an alternative embodiment, by a single secret key (ekpid=dkpid) used to encrypt and to decrypt the content key. In this case, this secret key must be stored in a secure memory of the Player.
In both cases, the transmission of keys used to generate the MAC shall be secured, i.e. keys shall be transmitted in an encrypted manner, using for instance the same distribution method as content encryption key Kc.
1. Method for distributing content in a content distribution system comprising the steps of:
encrypting at a Content Packager a content using a content encryption key (Kc) to generate an encrypted content (C);
sending the content encryption key to a Licensing Authority;
receiving from the Licensing Authority a distribution key containing an encryption of the content decryption key for a given set of authorized devices;
creating a secure link between the content encryption key and the content protected by this content encryption key using a signature of the content; and
distributing the encrypted content together with at least a part of the signature of the content;
wherein the content signature is generated by signing at the Content Packager the content and;
wherein the content signature is used to compute the content encryption key.
2. (canceled)
3. (canceled)
4. (canceled)
5. Method according to claim 1, wherein a part of the content signature is distributed in an encrypted form, in the distribution key, with the encrypted content.
6. (canceled)
7. (canceled)
8. Method according to claim 1 further comprising the steps of:
generating at the Content Packager a set of hierarchical keys K1, . . . , Ki;
encrypting at the Content Packager the content encryption key using the first key K1 in the set of hierarchical keys;
encrypting each key Kn, with n between 1 and iā1, of the set of hierarchical keys with the subsequent key Kn+1 in the set of hierarchical keys;
sending to the Licensing Authority, instead of the content encryption key, the last key Ki of the set of hierarchical keys;
wherein the distribution key received from the Licensing Authority contains an encryption of the last key Ki for a given set of authorized devices;
and wherein the first key K1 is generated by signing, at the Content Packager, the content encryption key and each key Km, with m between 2 and i, of the set of hierarchical keys, is generated by signing, at the Content Packager, the preceding key Kmā1 in the set of hierarchical keys.
9. Method according to claim 1, wherein the step of receiving, from the Licensing Authority, the distribution key further comprises the reception of a signature of said distribution key generated by the Licensing Authority.
10. Method for receiving content distributed according to the method of claim 9 in a device able to play back the content comprising the steps of:
verifying the content signature distributed with the content using a verification key of the Content Packager received with the distribution key; and
if the verification succeeds, obtaining from the distribution key the content encryption key using a device decryption key stored in said device and decrypting the content using the obtained content encryption key to play back the content.
11. Method according to claim 10 further comprising a step of:
verifying the signature of the distribution key using a verification key of the Licensing Authority stored in said device; and
performing the subsequent steps of the method according to claim 10 only if said verification of the signature of the distribution key succeeds.
12. Method according to claim 1, wherein another part of the content signature is distributed in clear with the encrypted content.