EP2066069A1 - Method for recording and playing back content encoded by a processing unit - Google Patents

Method for recording and playing back content encoded by a processing unit Download PDF

Info

Publication number
EP2066069A1
EP2066069A1 EP07121610A EP07121610A EP2066069A1 EP 2066069 A1 EP2066069 A1 EP 2066069A1 EP 07121610 A EP07121610 A EP 07121610A EP 07121610 A EP07121610 A EP 07121610A EP 2066069 A1 EP2066069 A1 EP 2066069A1
Authority
EP
European Patent Office
Prior art keywords
key
content
processing unit
variable
encrypted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP07121610A
Other languages
German (de)
French (fr)
Inventor
Antoine Burckard
Sébastien Robyr
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nagravision SARL
Original Assignee
Nagravision SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nagravision SA filed Critical Nagravision SA
Priority to EP07121610A priority Critical patent/EP2066069A1/en
Priority to KR1020107011591A priority patent/KR101492669B1/en
Priority to EP08854367.3A priority patent/EP2225845B1/en
Priority to CN2008801180502A priority patent/CN101878614B/en
Priority to PCT/EP2008/066108 priority patent/WO2009068511A1/en
Priority to US12/323,652 priority patent/US8630417B2/en
Publication of EP2066069A1 publication Critical patent/EP2066069A1/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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)
    • H04L9/083Key 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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)
    • H04L9/0822Key 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) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Definitions

  • the present invention relates to the field of encrypted digital data processing units of audio / video contents.
  • These units are implemented in various multimedia equipment such as personal computers, mobile equipment or digital pay television decoders. They are generally associated with removable storage memories or external devices such as hard disks, optical disks, cards, modules or any other type of mass storage device for recording contents for the purpose of reproducing them later.
  • the document EP1169856B1 describes a method of accessing an encrypted content.
  • the latter is protected in a local network by the re-encryption of the key needed to decrypt the content.
  • a first unit receives and stores the encrypted content data and encrypts the decryption key of the data with a key specific to this first unit.
  • the data and the encrypted key are transmitted to a second unit belonging to the network for decryption.
  • the key associated with the first unit is a public key whose corresponding private key is in the second unit.
  • the document US7181624 describes a device for recording and reproducing digital data broadcast in a transport stream.
  • the device attaches time data indicating the arrival time to each data packet included in the transport stream.
  • a block key is generated to encrypt a block of data including several transport packets accompanied each time data arrival packets. This key, created from a root block comprising additional information unique to the block including the arrival time data, encrypts each block of data.
  • the digital data thus encrypted are stored in the device memory.
  • the reproduction of the data is carried out according to a process of decryption inverse to that of the encryption during the recording.
  • the document US2004010467 discloses a memory card for mobile equipment comprising a memory area for storing encrypted content data, an area for storing license information transmitted by a distribution system, a plurality of areas for storing authentication data authenticated by keys common public with the distribution system.
  • a license server verifies the authenticity of the memory card and distributes the encrypted content and the corresponding license to the mobile equipment.
  • An encrypted content received by a first mobile device can be transferred to a second mobile device that can exploit it only if the corresponding license has been acquired.
  • the second equipment will have to obtain, from the distribution system that will verify the compliance of the memory card, the license including a decryption key content.
  • the object of the present invention is to provide an improvement in the protection against abusive copies of the contents stored in a storage memory that can be transferred from one processing unit to another.
  • the method has the essential advantage of not exposing the keys specific to the processing units by transmitting them to the central server or storing them in the removable memories.
  • the keys, constants and variables used in encrypting and decrypting the content derive from the keys of the units and their knowledge does not allow to find these keys. Only the relevant and known units of the central server can exploit this data associated with the content for the encryption / decryption operations during the recording and playback of the content.
  • the operations of the steps a, b, c, d or of the production of the content key CK during the recording of the content by the first unit and the operations of the steps A to C of obtaining the content key when the restitution of the content by the second unit are preferably performed by the respective chipsets of the first and second units.
  • a chipset is a set of electronic circuits that allow the processor to handle data exchange between the various components of the unit.
  • the execution of these operations at the level of the chipsets of the units aims at preventing any physical attack consisting of analyzing the signals exchanged in order to discover the own keys of the units that use them. As a result, the clean key, the local key, and the middle key are not accessible outside the chipset.
  • the encryption / decryption module will also be located in the same chipset so that the content key is not accessible from the outside.
  • decryption operations of steps a), b) and d) during the recording of the content decryption / encryption during the calculation of the key for transcoding and decryption of steps A), B) and C) during the restitution of the content can be replaced by encryption operations respectively encryption / decryption.
  • the method of the invention applies for example to audio / video content processing units such as set-top boxes of pay-TV programs.
  • Each of these units is usually associated with a security module.
  • the latter is a device deemed inviolable containing various encryption / decryption keys, information used to identify a user on a network and data that defines rights acquired by the user for receiving broadcast audio / video content.
  • the security module can be in various forms such as a removable smart card inserted in a reader, an integrated circuit soldered to a motherboard, a SIM card (Subscriber Identity Module) that is found in most mobile equipment or in the form of a software module and / or hardware housed within a chipset.
  • SIM card Subscriber Identity Module
  • the scheme of the figure 1 shows units managed by a central server (head end) which are preferably equipped with external storage media such as removable hard disks and / or optical disks, nonvolatile memories of the flash or other type making it possible to record program contents and to restore them later. Thanks to the interchangeability of the storage media, a content recorded by a given unit can be reproduced by another unit managed by the same server. Of course, a content recorded by a unit can also be restored by it.
  • the operations of recording and reproduction of contents are controlled by the central server which provides the parameters and the keys necessary for the encryption / decryption of the contents.
  • a processing unit may also consist of a portable or fixed personal computer equipped with an internal or external security module.
  • the external security module is for example in the form of a smart card inserted into a reader or in the form of an electronic key (dongle) connected to the computer via the USB serial interface (Universal Serial Bus) or any other interface offered by the computer.
  • the unit or units are managed by a central server and have access to removable storage media such as hard disks and / or optical disks, non-volatile memories of the flash type or the like, able to record encrypted content intended to be retrieved. by the same or a different unit than the one that recorded the content.
  • the central server comprises a primary server S1 in which the unique keys (Ka, Kb, ... Kxx) of the units (STBa, STBb, ..., STBxx) are generated and then stored and a secondary server S2 responsible for calculating the keys and providing the key files needed to decrypt a content recorded by a unit.
  • the primary server S1 provides this unit with a unique key that it stores in a particular memory writable once.
  • the secondary server S2 does not in principle have the unique keys of the units, but only keys derived from them.
  • the content stored in the memory of the processing unit is encrypted by a content key CK resulting from a successive decryption of two parameters provided by the central server CS represented by two constants C1 and C2 and a variable R generated locally. by the processing unit.
  • the scheme figure 2 watch the different decryption steps executed to obtain a key CK used to encrypt the content Ct.
  • the constant C1 is decrypted by a single key Ka specific to the processing unit STBa to obtain a local key KLa.
  • the unique and invariable Ka key is stored in a ROM of the chipset of the unit and inaccessible from outside the chipset of the unit.
  • Decryption is represented in the figures 2 , 3 and 4 by a block carrying the symbol T -1 and the encryption by a block provided with the symbol T.
  • the encryption / decryption is preferably performed by using a symmetric key algorithm of the DES (Data Encryption Standard) type, TDES ( Triple DES), IDEA (International Data Encryption Algorithm), AES (Advanced Encryption System), etc.
  • each unit includes an asymmetric key pair whose public key is used to decrypt the first constant C1 and the corresponding private key being stored in the chipset of the unit.
  • the public key can also be known to the central server with reference to variant 1) below.
  • the local key KLa obtained in the first step is then used to decipher the second constant C2 to obtain an intermediate key KI.
  • This last key KI is used in a last step to decrypt the variable R and obtain the content key CK. Due to the use of a variable R, the content key CK will be different each time a content is saved, and a content key can not be deduced from a key obtained during a previous registration. .
  • the content key CK depends or derives from the own key Ka of the unit STBa because it results from a cascading decryption of subsequent parameters (C2, R) using keys resulting from a decryption of an initial parameter C1 carried out with said clean key Ka.
  • the content is stored in the storage unit DDa in encrypted form with the key CK and accompanied by an LCMa file containing the constants C1 and C2 and the variable R.
  • This LCMa file can be encrypted by a key from the security module associated with the STBa unit.
  • the content key CK is equal to the variable R and the file LCMa contains the variable R encrypted with the intermediate key KI so that for to determine the variable R at the restitution of the content, the intermediate key KI becomes necessary.
  • Step d) of the method described above is then replaced by the step of encrypting the content by the variable R which is equal to the content key CK, and storage of the encrypted content, constants C1 and C2 and the variable R encrypted with the intermediate key KI in the storage memory.
  • one or more additional levels of decryption of constants or additional variables may be inserted between steps b) and c) of the process of creating the content key CK.
  • the final intermediate key KI 'thus obtained is defined as being derived from the first key KI resulting from the deciphering of the second constant C2. All constants and additional variables are stored in the LCMa file that will be used when rendering the content.
  • variable R is preferably in the form of a random number generated by the processing unit. It can also be in the form of a number that the unit retrieves from a list stored in a memory.
  • variable R can be either generated or extracted from a list stored by the central server CS and made available to the processing unit STBa.
  • a value different from the variable R is provided for each record of a content by a unit, regardless of whether the variable R is generated randomly or taken from the list.
  • the method of determining the content key CK is identical to that implemented during the recording by means of the file LCMa containing the parameters (C1, C2 , R) required.
  • the method of determining the content key CK becomes more complex because of the dependence of the content key CK of the own key of the unit that determined it.
  • a content is recorded by a first processing unit STBa and then transferred to a second unit STBb managed by the same server CS as the first unit STBa.
  • the second unit STBb decrypts the first constant C1 with its own key Kb so as to obtain the corresponding local key KLb.
  • An advantage of this method is that in both variants the unique keys unique to the processing units are not transmitted during the recording or restitution on any unit depending on the same central server. They are also not stored in the files accompanying the encrypted content data.
  • the second variant may be preferred because it offers a higher level of security because the unique keys (Ka, Kb) specific to each processing unit (STBa, STBb) are not stored in the secondary server S2 in their original form. as in the respective chipsets of each unit (STBa, STBb).
  • the server stores the local keys (KLa, KLb) of each unit which are as encrypted by the keys (Ka, Kb) specific to the processing units (STBa, STBb) corresponding to obtain the first constant C1.
  • the constant C1 is equal to [KLa] Ka and to [KLb] Kb.
  • the transcoding key TK is calculated by successively decrypting these constants or variables from the second constant C2 with the local key KLa of the STBa unit to arrive at the final intermediate key KI 'which will be encrypted with the local key KLb of the second unit STBb.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

The method involves deciphering two constants (C1, C2) provided by a central server for obtaining a local key (KLa) and an intermediate key (KI) respectively, through two keys (Ka) which are specific to a processing unit (STBa). A variable (R) is obtained by the processing unit. Contents with a content key (CK) obtained by deciphering the variable with the intermediate key are ciphered. The content with the content key equal to the variable is ciphered and stored in a storage memory (DDa). The content ciphered with the content key is restored by another processing unit.

Description

Domaine techniqueTechnical area

La présente invention concerne le domaine des unités de traitement de données numériques chiffrées de contenus audio/vidéo. Ces unités sont mises en oeuvre dans différents équipements multimédia comme par exemple des ordinateurs personnels, des équipements mobiles ou des décodeurs de télévision numérique à péage. Elles sont associées généralement à des mémoires de stockage amovibles
ou externes telles que disques durs, disques optiques, cartes, modules ou tout autre type de mémoire de masse destinées à enregistrer des contenus dans le but de les reproduire ultérieurement.
The present invention relates to the field of encrypted digital data processing units of audio / video contents. These units are implemented in various multimedia equipment such as personal computers, mobile equipment or digital pay television decoders. They are generally associated with removable storage memories
or external devices such as hard disks, optical disks, cards, modules or any other type of mass storage device for recording contents for the purpose of reproducing them later.

Art antérieurPrior art

Le stockage et la reproduction à volonté de contenus ouvre la possibilité d'usage abusif de ces contenus qui sont généralement protégés par des droits d'auteur. De nombreux moyens de protection et de contrôle de la reproduction des contenus ont alors été développés comme le montre les exemples ci-dessous.The storage and reproduction of content at will opens the possibility of misuse of these contents which are generally protected by copyright. Many means of protection and control of the reproduction of contents were then developed as shown in the examples below.

Le document EP1169856B1 décrit une méthode d'accès à un contenu encrypté. Ce dernier est protégé dans un réseau local par le rechiffrement de la clé nécessaire à la décryption du contenu. Une première unité reçoit et stocke les données de contenu encryptées et chiffre la clé de décryption des données avec une clé propre à cette première unité. Les données et la clé chiffrée sont transmises à une seconde unité appartenant au réseau pour leur décryption. Selon une variante, la clé associée à la première unité est une clé publique dont la clé privée correspondante se trouve dans la seconde unité.The document EP1169856B1 describes a method of accessing an encrypted content. The latter is protected in a local network by the re-encryption of the key needed to decrypt the content. A first unit receives and stores the encrypted content data and encrypts the decryption key of the data with a key specific to this first unit. The data and the encrypted key are transmitted to a second unit belonging to the network for decryption. According to one variant, the key associated with the first unit is a public key whose corresponding private key is in the second unit.

Le document US7181624 décrit un dispositif d'enregistrement et de reproduction de données numériques diffusée dans un flux de transport. Le dispositif joint des données temporelles indiquant l'heure d'arrivée à chaque paquet de donnée inclus dans le flux de transport. Une clé de bloc est générée pour encrypter un bloc de données incluant plusieurs paquets de transport accompagnés chacun des données temporelles d'arrivée des paquets. Cette clé, créée à partir d'un bloc racine comprenant des informations additionnelles unique au bloc incluant les données temporelles d'arrivée, encrypte chaque bloc de données. Les données numériques ainsi encryptées sont enregistrées dans la mémoire du dispositif. La reproduction des données s'effectue selon un processus de décryption inverse à celui de l'encryption lors de l'enregistrement.The document US7181624 describes a device for recording and reproducing digital data broadcast in a transport stream. The device attaches time data indicating the arrival time to each data packet included in the transport stream. A block key is generated to encrypt a block of data including several transport packets accompanied each time data arrival packets. This key, created from a root block comprising additional information unique to the block including the arrival time data, encrypts each block of data. The digital data thus encrypted are stored in the device memory. The reproduction of the data is carried out according to a process of decryption inverse to that of the encryption during the recording.

Le document US2004010467 décrit une carte mémoire pour équipement mobile comprenant une zone mémoire destinée à stocker des données de contenu encryptées, une zone pour stocker des informations de licence transmise par un système de distribution, une pluralité de zones pour stocker des données d'authentification authentifiées par des clés publiques communes avec le système de distribution. En réponse à une requête de distribution provenant de l'équipement mobile un serveur de licences vérifie l'authenticité de la carte mémoire et distribue le contenu encrypté et la licence correspondante à l'équipement mobile. Un contenu encrypté reçu par un premier équipement mobile peut être transféré vers un second équipement mobile qui pourra l'exploiter seulement si la licence correspondante a été acquise. Le second équipement devra donc obtenir, auprès du système de distribution qui vérifiera la conformité de la carte mémoire, la licence comprenant une clé de décryption du contenu.The document US2004010467 discloses a memory card for mobile equipment comprising a memory area for storing encrypted content data, an area for storing license information transmitted by a distribution system, a plurality of areas for storing authentication data authenticated by keys common public with the distribution system. In response to a distribution request from the mobile equipment a license server verifies the authenticity of the memory card and distributes the encrypted content and the corresponding license to the mobile equipment. An encrypted content received by a first mobile device can be transferred to a second mobile device that can exploit it only if the corresponding license has been acquired. The second equipment will have to obtain, from the distribution system that will verify the compliance of the memory card, the license including a decryption key content.

Description sommaire de l'inventionBrief description of the invention

Le but de la présente invention est de fournir une amélioration de la protection contre les copies abusives des contenus enregistrés dans une mémoire de stockage pouvant être transférée d'une unité de traitement vers une autre.The object of the present invention is to provide an improvement in the protection against abusive copies of the contents stored in a storage memory that can be transferred from one processing unit to another.

Ce but est atteint par une méthode d'exploitation par une seconde unité de traitement d'un contenu enregistré par une première unité de traitement, lesdites première et seconde unités de traitement possédant chacune une clé propre étant gérées par un serveur central, les unités de traitement ayant accès à une mémoire de stockage amovible destinée à enregistrer le contenu chiffré par une clé de contenu et également des données associées audit contenu, la clé de contenu étant produite selon les étape a à d ou d' suivantes:

  1. a) déchiffrement par la clé propre de la première unité de traitement, d'une première constante fournie par le serveur central pour l'obtention d'une première clé locale,
  2. b) déchiffrement d'une seconde constante fournie par le serveur central avec la première clé locale, obtention d'une clé intermédiaire,
  3. c) obtention par l'unité de traitement d'une variable,
  4. d) chiffrement du contenu avec une clé de contenu obtenue en déchiffrant la variable avec la clé intermédiaire, stockage du contenu chiffré, des constantes et de la variable dans la mémoire de stockage,
ou d') chiffrement du contenu avec une clé de contenu égale à la variable, stockage du contenu chiffré, des constantes et de la variable chiffrée avec la clé intermédiaire dans la mémoire de stockage,
la méthode est caractérisée en ce que le contenu chiffré avec la clé de contenu produite selon les étapes a, b, c et d ou d' est restitué par la seconde unité de traitement, les étapes suivantes étant préalablement effectuées par le serveur central:
  1. 1) obtention de la première clé locale par le serveur central, cette clé étant telle que chiffrée par la clé propre à la première unité de traitement on obtienne la première constante,
  2. 2) obtention d'une seconde clé locale par le serveur central, cette clé étant telle que chiffrée par la clé propre à la seconde unité de traitement on obtienne la première constante,
  3. 3) calcul d'une clé de transcodage par le déchiffrement de la seconde constante par la première clé locale puis par le chiffrement du résultat par la seconde clé locale,
  4. 4) envoi de la clé de transcodage à la seconde unité de traitement, et selon les étapes suivantes effectuées par la seconde unité de traitement,
    1. A) déchiffrement par la clé propre de la seconde unité de traitement, de la première constante fournie pour l'obtention de la seconde clé locale,
    2. B) déchiffrement de la clé de transcodage avec la seconde clé locale, pour l'obtention de la clé intermédiaire,
    3. C) déchiffrement de la variable par la clé intermédiaire pour obtenir la clé de contenu,
    4. D) déchiffrement du contenu avec la clé de contenu et restitution de ce contenu par la seconde unité de traitement.
This object is achieved by a method of operation by a second processing unit of a content recorded by a first processing unit, said first and second processing units, each having their own key, being managed by a central server. processor having access to a removable storage memory for storing the encrypted content by a content key and also data associated therewith, the content key being produced according to steps a to d or the following:
  1. a) decryption by the own key of the first processing unit, a first constant provided by the central server for obtaining a first local key,
  2. b) decryption of a second constant provided by the central server with the first local key, obtaining an intermediate key,
  3. c) obtaining by the processing unit a variable,
  4. d) encrypting the content with a content key obtained by decrypting the variable with the intermediate key, storing the encrypted content, constants and the variable in the storage memory,
or of) enciphering the content with a content key equal to the variable, storing the encrypted content, the constants and the variable encrypted with the intermediate key in the storage memory,
the method is characterized in that the content encrypted with the content key produced according to steps a, b, c and d or d is restored by the second processing unit, the following steps being previously performed by the central server:
  1. 1) obtaining the first local key by the central server, this key being such that, encrypted by the key proper to the first processing unit, the first constant is obtained,
  2. 2) obtaining a second local key by the central server, this key being such that, encrypted by the key specific to the second processing unit, the first constant is obtained,
  3. 3) calculating a transcoding key by decrypting the second constant by the first local key and then encrypting the result with the second local key,
  4. 4) sending the transcoding key to the second processing unit, and according to the following steps performed by the second processing unit,
    1. A) decryption by the clean key of the second processing unit, the first constant provided to obtain the second local key,
    2. B) decrypting the transcoding key with the second local key, to obtain the intermediate key,
    3. C) decryption of the variable by the intermediate key to obtain the content key,
    4. D) decryption of the content with the content key and restitution of this content by the second processing unit.

La méthode présente l'avantage essentiel de ne pas exposer les clés propres aux unités de traitement par leur transmission vers le serveur central ou leur stockage dans les mémoires amovibles. Les clés, les constantes et les variables utilisées lors du chiffrement et du déchiffrement du contenu dérivent des clés propres des unités et leur connaissance ne permet pas de retrouver ces clés propres. Seules les unités concernées et connues du serveur central peuvent exploiter ces données associées au contenu pour les opérations de chiffrement / déchiffrement lors de l'enregistrement et la restitution du contenu.The method has the essential advantage of not exposing the keys specific to the processing units by transmitting them to the central server or storing them in the removable memories. The keys, constants and variables used in encrypting and decrypting the content derive from the keys of the units and their knowledge does not allow to find these keys. Only the relevant and known units of the central server can exploit this data associated with the content for the encryption / decryption operations during the recording and playback of the content.

Les opérations des étapes a, b, c, d ou d' de production de la clé de contenu CK lors de l'enregistrement du contenu par la première unité et les opérations des étapes A à C d'obtention de la clé de contenu lors de la restitution du contenu par la seconde unité sont effectuées de préférence par les chipsets respectifs de la première et de la seconde unité. Un chipset est un ensemble de circuits électroniques permettant au processeur de gérer les échanges de données entre les divers composants de l'unité. L'exécution de ces opérations au niveau des chipsets des unités vise à empêcher toute attaque matérielle consistant à analyser les signaux échangés afin de découvrir les clés propres des unités qui les utilisent. De ce fait, la clé propre, la clé locale et la clé intermédiaire ne sont pas accessibles à l'extérieur du chipset. Le module de chiffrement / déchiffrement sera également situé dans le même chipset pour que la clé de contenu ne soit pas non plus accessible de l'extérieur.The operations of the steps a, b, c, d or of the production of the content key CK during the recording of the content by the first unit and the operations of the steps A to C of obtaining the content key when the restitution of the content by the second unit are preferably performed by the respective chipsets of the first and second units. A chipset is a set of electronic circuits that allow the processor to handle data exchange between the various components of the unit. The execution of these operations at the level of the chipsets of the units aims at preventing any physical attack consisting of analyzing the signals exchanged in order to discover the own keys of the units that use them. As a result, the clean key, the local key, and the middle key are not accessible outside the chipset. The encryption / decryption module will also be located in the same chipset so that the content key is not accessible from the outside.

Il est à noter que les opérations de déchiffrement des étapes a), b) et d) lors de l'enregistrement du contenu, de déchiffrement / chiffrement lors du calcul de la clé de transcodage et de déchiffrement des étapes A), B) et C) lors de la restitution du contenu peuvent être remplacées par des opérations de chiffrement respectivement de chiffrement / déchiffrement.It should be noted that the decryption operations of steps a), b) and d) during the recording of the content, decryption / encryption during the calculation of the key for transcoding and decryption of steps A), B) and C) during the restitution of the content can be replaced by encryption operations respectively encryption / decryption.

Brève description des figuresBrief description of the figures

L'invention sera mieux comprise grâce à la description détaillée qui va suivre et qui se réfère aux figures annexées données à titre d'exemple nullement limitatif.

  • La figure 1 montre une pluralité d'unités de traitement équipées d'une mémoire de stockage de contenu amovible gérées par un serveur central.
  • La figure 2 illustre le processus d'enregistrement d'un contenu par une unité de traitement dans lequel le contenu est chiffré par une clé de contenu, dérivée de la clé propre de l'unité de traitement, générée à partir de deux constantes fournies par le serveur central et d'une variable générée localement.
  • La figure 3 illustre la création d'une clé de transcodage effectuée par le serveur central.
  • La figure 4 illustre le processus de restitution par une seconde unité de traitement d'un contenu chiffré et enregistré par une première unité de traitement dans lequel la clé de contenu est déchiffrée à partir de la constante et la variable utilisée lors de l'enregistrement et de la clé de transcodage créée par le serveur central.
The invention will be better understood from the detailed description which follows and which refers to the accompanying figures given by way of non-limiting example.
  • The figure 1 shows a plurality of processing units equipped with a removable content storage memory managed by a central server.
  • The figure 2 illustrates the process of recording content by a processing unit in which the content is encrypted by a content key, derived from the own key of the processing unit, generated from two constants provided by the central server and a locally generated variable.
  • The figure 3 illustrates the creation of a transcoding key made by the central server.
  • The figure 4 illustrates the process of rendering by a second processing unit an encrypted content recorded by a first processing unit in which the content key is decrypted from the constant and the variable used during the registration and the key transcoding created by the central server.

Description détaillée de l'invention.Detailed description of the invention.

La méthode de l'invention s'applique par exemple à des unités de traitement de contenus audio/vidéo telles que des décodeurs (set top box) de programmes de télévision à péage. Chacune de ces unités est en général associée à un module de sécurité. Ce dernier est un dispositif réputé inviolable contenant diverses clés d'encryption/décryption, des informations servant à identifier un utilisateur sur un réseau et des données qui définissent des droits acquis par l'utilisateur pour la réception d'un contenu audio/vidéo diffusé. Le module de sécurité peut se trouver sous différentes formes telles qu'une carte à puce amovible insérée dans un lecteur, un circuit intégré soudé sur une carte mère, une carte du type SIM (Subscriber Identity Module) que l'on rencontre dans la plupart des équipements mobiles ou encore sous forme d'un module de logiciel et/ou matériel logé au sein d'un chipset.The method of the invention applies for example to audio / video content processing units such as set-top boxes of pay-TV programs. Each of these units is usually associated with a security module. The latter is a device deemed inviolable containing various encryption / decryption keys, information used to identify a user on a network and data that defines rights acquired by the user for receiving broadcast audio / video content. The security module can be in various forms such as a removable smart card inserted in a reader, an integrated circuit soldered to a motherboard, a SIM card (Subscriber Identity Module) that is found in most mobile equipment or in the form of a software module and / or hardware housed within a chipset.

Le schéma de la figure 1 montre des unités gérées par un serveur central (head end) qui sont de préférence équipées de supports de stockage externes telles que des disques durs amovibles et/ou disques optiques, des mémoires non volatiles du type flash ou autre permettant d'enregistrer des contenus de programmes et de les restituer ultérieurement. Grâce à l'interchangeabilité des supports de stockage, un contenu enregistré par une unité donnée peut être reproduit par une autre unité gérée par le même serveur. Bien entendu, un contenu enregistré par une unité peut aussi être restitué par celle-ci. Les opérations d'enregistrement et de reproduction de contenus sont contrôlées par le serveur central qui fournit les paramètres et les clés nécessaires au chiffrement / déchiffrement des contenus.The scheme of the figure 1 shows units managed by a central server (head end) which are preferably equipped with external storage media such as removable hard disks and / or optical disks, nonvolatile memories of the flash or other type making it possible to record program contents and to restore them later. Thanks to the interchangeability of the storage media, a content recorded by a given unit can be reproduced by another unit managed by the same server. Of course, a content recorded by a unit can also be restored by it. The operations of recording and reproduction of contents are controlled by the central server which provides the parameters and the keys necessary for the encryption / decryption of the contents.

Une unité de traitement peut également consister en un ordinateur personnel portable ou fixe équipé d'un module de sécurité interne ou externe. Le module de sécurité externe se présente par exemple sous la forme d'une carte à puce insérée dans un lecteur ou sous la forme d'une clé électronique (dongle) connectée à l'ordinateur par le biais de l'interface série USB (Universal Serial Bus) ou de toute autre interface offerte par l'ordinateur. Le ou les unités sont gérées par un serveur central et ont un accès à des supports de stockage amovibles comme des disques durs et/ou disques optiques, des mémoires non volatiles du type flash ou autre, aptes à enregistrer un contenu chiffré destiné à être restitué par la même ou une unité différente de celle ayant enregistré le contenu.A processing unit may also consist of a portable or fixed personal computer equipped with an internal or external security module. The external security module is for example in the form of a smart card inserted into a reader or in the form of an electronic key (dongle) connected to the computer via the USB serial interface (Universal Serial Bus) or any other interface offered by the computer. The unit or units are managed by a central server and have access to removable storage media such as hard disks and / or optical disks, non-volatile memories of the flash type or the like, able to record encrypted content intended to be retrieved. by the same or a different unit than the one that recorded the content.

Selon un exemple de configuration, le serveur central comprend un serveur primaire S1 dans lequel les clés uniques (Ka, Kb,...Kxx) des unités (STBa, STBb,..., STBxx) sont générées puis stockées et un serveur secondaire S2 chargé de calculer les clés et fournir les fichiers de clés nécessaires au déchiffrement d'un contenu enregistré par une unité. Lors de la première connexion d'une unité au serveur central CS pendant son installation, le serveur primaire S1 fournit à cette unité une clé unique qu'elle stocke dans une mémoire particulière inscriptible une seule fois. Le serveur secondaire S2 ne possède en principe pas les clés uniques des unités, mais seulement des clés dérivées de celles-ci.According to a configuration example, the central server comprises a primary server S1 in which the unique keys (Ka, Kb, ... Kxx) of the units (STBa, STBb, ..., STBxx) are generated and then stored and a secondary server S2 responsible for calculating the keys and providing the key files needed to decrypt a content recorded by a unit. During the first connection of a unit to the central server CS during its installation, the primary server S1 provides this unit with a unique key that it stores in a particular memory writable once. The secondary server S2 does not in principle have the unique keys of the units, but only keys derived from them.

Le contenu enregistré dans la mémoire de l'unité de traitement est chiffré par une clé de contenu CK résultant d'un déchiffrement successif de deux paramètres fournis par le serveur central CS représentés par deux constantes C1 et C2 et d'une variable R générée localement par l'unité de traitement. Le schéma figure 2 montre les différentes étapes de déchiffrement exécutées pour obtenir une clé CK servant à chiffrer le contenu Ct.The content stored in the memory of the processing unit is encrypted by a content key CK resulting from a successive decryption of two parameters provided by the central server CS represented by two constants C1 and C2 and a variable R generated locally. by the processing unit. The scheme figure 2 watch the different decryption steps executed to obtain a key CK used to encrypt the content Ct.

Dans une première étape, la constante C1 est déchiffrée par une clé Ka unique propre à l'unité de traitement STBa afin d'obtenir une clé locale KLa. La clé Ka unique et invariable est stockée dans une mémoire morte du chipset de l'unité et inaccessible de l'extérieur du chipset de l'unité. Le déchiffrement est représenté dans les figures 2, 3 et 4 par un bloc portant le symbole T-1 et le chiffrement par un bloc muni du symbole T. Le chiffrement / déchiffrement est effectué de préférence par l'utilisation d'un algorithme à clés symétriques du type DES (Data Encryption Standard), TDES (Triple DES), IDEA (International Data Encryption Algorithm), AES (Advanced Encryption System), etc.In a first step, the constant C1 is decrypted by a single key Ka specific to the processing unit STBa to obtain a local key KLa. The unique and invariable Ka key is stored in a ROM of the chipset of the unit and inaccessible from outside the chipset of the unit. Decryption is represented in the figures 2 , 3 and 4 by a block carrying the symbol T -1 and the encryption by a block provided with the symbol T. The encryption / decryption is preferably performed by using a symmetric key algorithm of the DES (Data Encryption Standard) type, TDES ( Triple DES), IDEA (International Data Encryption Algorithm), AES (Advanced Encryption System), etc.

Selon une variante, chaque unité inclut une paire de clé asymétriques dont la clé publique sert à déchiffrer la première constante C1 et la clé privée correspondante étant stockée dans le chipset de l'unité. La clé publique pouvant être également connue du serveur central en référence à la variante 1) ci-dessous.Alternatively, each unit includes an asymmetric key pair whose public key is used to decrypt the first constant C1 and the corresponding private key being stored in the chipset of the unit. The public key can also be known to the central server with reference to variant 1) below.

La clé locale KLa obtenue à la première étape est utilisée ensuite pour déchiffrer la seconde constante C2 afin d'obtenir une clé intermédiaire KI. Cette dernière clé KI est utilisée dans une dernière étape pour déchiffrer la variable R et obtenir la clé de contenu CK. Du fait de l'utilisation d'une variable R, la clé de contenu CK sera différente à chaque enregistrement d'un contenu, et une clé de contenu ne pourra pas être déduite à partir d'une clé obtenue lors d'un enregistrement précédent. De plus, la clé de contenu CK dépend ou dérive de la clé propre Ka de l'unité STBa car elle résulte d'un déchiffrement en cascade de paramètres subséquents (C2, R) à l'aide de clés résultant d'un déchiffrement d'un paramètre initial C1 effectué avec ladite clé propre Ka.The local key KLa obtained in the first step is then used to decipher the second constant C2 to obtain an intermediate key KI. This last key KI is used in a last step to decrypt the variable R and obtain the content key CK. Due to the use of a variable R, the content key CK will be different each time a content is saved, and a content key can not be deduced from a key obtained during a previous registration. . Moreover, the content key CK depends or derives from the own key Ka of the unit STBa because it results from a cascading decryption of subsequent parameters (C2, R) using keys resulting from a decryption of an initial parameter C1 carried out with said clean key Ka.

Le contenu est stocké dans l'unité de stockage DDa sous forme chiffrée avec la clé CK et accompagné d'un fichier LCMa contenant les constantes C1 et C2 et la variable R. Ce fichier LCMa peut être chiffré par une clé issue du module de sécurité associé à l'unité STBa.The content is stored in the storage unit DDa in encrypted form with the key CK and accompanied by an LCMa file containing the constants C1 and C2 and the variable R. This LCMa file can be encrypted by a key from the security module associated with the STBa unit.

Selon une option, la clé de contenu CK est égale à la variable R et le fichier LCMa contient la variable R chiffrée avec la clé intermédiaire KI de sorte que pour déterminer la variable R à la restitution du contenu, la clé intermédiaire KI devient nécessaire.According to one option, the content key CK is equal to the variable R and the file LCMa contains the variable R encrypted with the intermediate key KI so that for to determine the variable R at the restitution of the content, the intermediate key KI becomes necessary.

L'étape d) de la méthode décrite plus haut est alors remplacée par l'étape d' de chiffrement du contenu par la variable R qui est égale à la clé de contenu CK, et de stockage du contenu chiffré, des constantes C1 et C2 et de la variable R chiffrée avec la clé intermédiaire KI dans la mémoire de stockage.Step d) of the method described above is then replaced by the step of encrypting the content by the variable R which is equal to the content key CK, and storage of the encrypted content, constants C1 and C2 and the variable R encrypted with the intermediate key KI in the storage memory.

Selon une variante, un ou plusieurs niveaux additionnels de déchiffrement de constantes ou de variables supplémentaires peuvent être inséré entre les étapes b) et c) du processus de création de la clé de contenu CK. La clé intermédiaire KI' finale ainsi obtenue est définie comme étant dérivée de la première clé KI issue du déchiffrement de la seconde constante C2. Toutes les constantes et variables supplémentaires sont stockées dans le fichier LCMa qui sera utilisé lors de la restitution du contenu.Alternatively, one or more additional levels of decryption of constants or additional variables may be inserted between steps b) and c) of the process of creating the content key CK. The final intermediate key KI 'thus obtained is defined as being derived from the first key KI resulting from the deciphering of the second constant C2. All constants and additional variables are stored in the LCMa file that will be used when rendering the content.

La variable R est de préférence sous la forme d'un nombre aléatoire généré par l'unité de traitement. Elle peut également figurer sous forme d'un nombre que l'unité extrait à partir d'une liste stockée dans une mémoire.The variable R is preferably in the form of a random number generated by the processing unit. It can also be in the form of a number that the unit retrieves from a list stored in a memory.

Selon une variante, la variable R peut être soit générée, soit extraite d'une liste stockée par le serveur central CS et mise à disposition de l'unité de traitement STBa.According to one variant, the variable R can be either generated or extracted from a list stored by the central server CS and made available to the processing unit STBa.

Dans les deux variantes, une valeur différente de la variable R est fournie à chaque enregistrement d'un contenu par une unité, que la variable R soit générée aléatoirement ou prise de la liste.In both variants, a value different from the variable R is provided for each record of a content by a unit, regardless of whether the variable R is generated randomly or taken from the list.

Lorsque le contenu chiffré est restitué par la même unité STBa qui l'a enregistré, le procédé de détermination de la clé de contenu CK est identique à celui mis en oeuvre lors de l'enregistrement grâce au fichier LCMa contenant les paramètres (C1, C2, R) requis. En effet, le déchiffrement de la constante C1=[KLa]Ka avec la clé propre Ka de l'unité donne la clé locale KLa qui, utilisée pour déchiffrer la constante C2=[KI]KLa donne la clé intermédiaire KI servant à déchiffrer la variable R=[CK]KI pour donner la clé de contenu CK.When the encrypted content is restored by the same STBa unit which recorded it, the method of determining the content key CK is identical to that implemented during the recording by means of the file LCMa containing the parameters (C1, C2 , R) required. Indeed, the deciphering of the constant C1 = [KLa] Ka with the proper key Ka of the unit gives the local key KLa which, used to decipher the constant C2 = [KI] KLa gives the intermediate key KI used to decipher the variable R = [CK] KI to give the content key CK.

Dans la variante où une ou plusieurs constantes ou variables supplémentaires ont été utilisées lors du processus d'enregistrement, le déchiffrement successif de ces constantes ou variables à partir de la première constante C1 avec la clé propre Ka de l'unité STBa donne la clé intermédiaire finale KI'. Cette dernière sera utilisée pour déchiffrer la variable R ou successivement les variables pour obtenir la clé de contenu CK.In the variant where one or more constants or additional variables were used during the registration process, the successive decryption of these constants or variables from the first constant C1 with the own key Ka of the unit STBa gives the final intermediate key KI '. The latter will be used to decrypt the variable R or successively the variables to obtain the content key CK.

Lorsque le contenu chiffré est restitué par une unité STBb différente de celle qui l'a enregistré, le procédé de détermination de la clé de contenu CK devient plus complexe du fait de la dépendance de la clé de contenu CK de la clé propre de l'unité qui l'a déterminée. Dans l'exemple de la figure 4, un contenu est enregistré par une première unité de traitement STBa puis transféré vers une seconde unité STBb gérée par le même serveur CS que la première unité STBa.When the encrypted content is rendered by a unit STBb different from that which has recorded it, the method of determining the content key CK becomes more complex because of the dependence of the content key CK of the own key of the unit that determined it. In the example of the figure 4 , a content is recorded by a first processing unit STBa and then transferred to a second unit STBb managed by the same server CS as the first unit STBa.

Le procédé de restitution par la seconde unité STBb nécessite la création par le serveur central CS d'une clé de transcodage TK qui sera transmise à cette seconde unité STBb de destination du contenu chiffré. Deux variantes peuvent être envisagées:

  1. 1) Les clés propres Ka, Kb...Kxx des unités sont connues par le serveur central CS ou plus précisément par le serveur secondaire S2.
    Selon cette première variante, le serveur central calcule la clé locale KLa de la première unité STBa en déchiffrant la première constante C1 avec la clé propre Ka de la première unité STBa.
    Le serveur central calcule ensuite la clé locale KLb de la seconde unité STBb en déchiffrant la même constante C1 avec la clé propre Kb de la seconde unité STBb.
    La clé de transcodage TK est calculée par le déchiffrement de la seconde constante C2=[KI]KLa avec la première clé locale KLa pour obtenir la clé intermédiaire KI qui sera ensuite chiffrée avec la seconde clé locale KLb. La clé de transcodage TK=[KI]KLb ainsi obtenue est transmise à la seconde unité STBb dans un fichier de transfert LCIab.
  2. 2) Les clés propres Ka, Kb...Kxx des unités ne sont pas connues par le serveur central CS ou plutôt par le secondaire S2 en tant que telles mais leur clés locales KLa, KIb,...KLxx dérivées sont stockées par ce serveur S2 comme les constantes C1, C2.
The rendering method by the second unit STBb requires the creation by the central server CS of a transcoding key TK which will be transmitted to the second destination unit STBb encrypted content. Two variants can be envisaged:
  1. 1) The clean keys Ka, Kb ... Kxx units are known by the central server CS or more precisely by the secondary server S2.
    According to this first variant, the central server calculates the local key KLa of the first unit STBa by decrypting the first constant C1 with the own key Ka of the first unit STBa.
    The central server then calculates the local key KLb of the second unit STBb by decrypting the same constant C1 with the own key Kb of the second unit STBb.
    The transcoding key TK is calculated by decrypting the second constant C2 = [KI] KLa with the first local key KLa to obtain the intermediate key KI which will then be encrypted with the second local key KLb. The transcoding key TK = [KI] KLb thus obtained is transmitted to the second unit STBb in an LCIab transfer file.
  2. 2) The proper keys Ka, Kb ... Kxx units are not known by the central server CS or rather by the secondary S2 as such but their local keys KLa, KIb, ... KLxx derivatives are stored by this server S2 as the constants C1, C2.

Selon cette seconde variante illustrée par la figure 3, le serveur central, ayant à disposition les clés locales KLa et KLb respectivement de la première et de la seconde unité de traitement STBa, STBb, calcule d'abord la clé intermédiaire KI par le déchiffrement de la seconde constante C2=KI[KLa] par la première clé locale KLa. Puis, il calcule la clé de transcodage TK=[KI]KLb en chiffrant cette clé intermédiaire KI avec la seconde clé locale KLb. La clé de transcodage TK=[KI]KLb est transmise à la seconde unité STBb comme dans la première variante par l'intermédiaire du fichier LCIab.According to this second variant illustrated by the figure 3 the central server, having at its disposal the local keys KLa and KLb respectively of the first and second processing units STBa, STBb, first calculates the intermediate key KI by decrypting the second constant C2 = KI [KLa] by the first local key KLa. Then, it calculates the transcoding key TK = [KI] KLb by encrypting this intermediate key KI with the second local key KLb. The transcoding key TK = [KI] KLb is transmitted to the second unit STBb as in the first variant via the file LCIab.

Grâce au fichier LCMa accompagnant le contenu chiffré et contenant la constante C1 et la variable R, la seconde unité STBb déchiffre la première constante C1 avec sa clé propre Kb de manière à obtenir la clé locale KLb correspondante. Le fichier LCIab fournit la clé de transcodage TK=[KI]KLb qui est ensuite déchiffrée avec la clé locale KLb obtenue auparavant. Le résultat donne la clé intermédiaire KI qui est nécessaire pour déchiffrer la variable R=[CK]KI afin d'obtenir la clé de contenu CK permettant à la seconde unité STBb de déchiffrer le contenu pour le restituer en clair.Thanks to the LCMa file accompanying the encrypted content and containing the constant C1 and the variable R, the second unit STBb decrypts the first constant C1 with its own key Kb so as to obtain the corresponding local key KLb. The LCIab file provides the transcoding key TK = [KI] KLb which is then decrypted with the local key KLb obtained previously. The result gives the intermediate key KI which is necessary to decipher the variable R = [CK] KI in order to obtain the content key CK enabling the second unit STBb to decrypt the content in order to restore it in the clear.

Un avantage de cette méthode est que dans les deux variantes les clés uniques propres aux unités de traitement ne sont pas transmises lors de l'enregistrement ou de la restitution sur une unité quelconque dépendant d'un même serveur central. Elles ne sont pas non plus stockées dans les fichiers accompagnant les données de contenus chiffrées.An advantage of this method is that in both variants the unique keys unique to the processing units are not transmitted during the recording or restitution on any unit depending on the same central server. They are also not stored in the files accompanying the encrypted content data.

La seconde variante peut être préférée car elle offre un niveau de sécurité plus élevé du fait que les clés uniques (Ka, Kb) propres à chaque unité de traitement (STBa, STBb) ne sont pas stockées dans le serveur secondaire S2 sous leur forme originale comme dans les chipsets respectifs de chaque unité (STBa, STBb). Par contre, le serveur stocke les clés locales (KLa, KLb) de chaque unité qui sont telles que chiffrées par les clés (Ka, Kb) propres aux unités de traitement (STBa, STBb) correspondantes on obtienne la première constante C1. Dans l'exemple illustré par les figures 2 et 4, la constante C1 est égale à [KLa]Ka et à [KLb]Kb.The second variant may be preferred because it offers a higher level of security because the unique keys (Ka, Kb) specific to each processing unit (STBa, STBb) are not stored in the secondary server S2 in their original form. as in the respective chipsets of each unit (STBa, STBb). On the other hand, the server stores the local keys (KLa, KLb) of each unit which are as encrypted by the keys (Ka, Kb) specific to the processing units (STBa, STBb) corresponding to obtain the first constant C1. In the example illustrated by the figures 2 and 4 , the constant C1 is equal to [KLa] Ka and to [KLb] Kb.

Les opérations de calcul de la clé de contenu CK lors de sa restitution par la seconde unité STBb sont également effectuées par le chipset de cette unité.The operations of calculating the content key CK when it is restored by the second unit STBb are also performed by the chipset of this unit.

Dans la variante où une ou plusieurs constantes ou variables supplémentaires ont été utilisées lors du processus d'enregistrement, la clé de transcodage TK est calculée par déchiffrement successif de ces constantes ou variables à partir de la seconde constante C2 avec la clé locale KLa de l'unité STBa pour aboutir à la clé intermédiaire finale KI' qui sera chiffrée avec la clé locale KLb de la seconde unité STBb.In the variant where one or more constants or additional variables have been used during the recording process, the transcoding key TK is calculated by successively decrypting these constants or variables from the second constant C2 with the local key KLa of the STBa unit to arrive at the final intermediate key KI 'which will be encrypted with the local key KLb of the second unit STBb.

Claims (14)

Méthode d'exploitation par une seconde unité de traitement STBb d'un contenu enregistré par une première unité de traitement STBa, lesdites première et seconde unités de traitement STBa, STBb possédant chacune une clé propre (Ka, Kb) étant gérées par un serveur central CS, les unités de traitement ayant accès à une mémoire de stockage amovible destinée à enregistrer le contenu chiffré par une clé de contenu CK et également des données associées au dit contenu, la clé de contenu CK étant produite selon les étapes a à d ou d' suivantes: a) déchiffrement par la clé propre Ka de la première unité de traitement STBa, d'une première constante C1 fournie par le serveur central CS pour l'obtention d'une première clé locale KLa, b) déchiffrement d'une seconde constante C2 fournie par le serveur central CS avec la première clé locale KLa, obtention d'une clé intermédiaire KI, c) obtention par l'unité de traitement STBa d'une variable R, d) chiffrement du contenu avec une clé de contenu CK obtenue en déchiffrant la variable R avec la clé intermédiaire KI, stockage du contenu chiffré, des constantes C1 et C2 et de la variable R dans la mémoire de stockage, ou d') chiffrement du contenu avec une clé de contenu CK égale à la variable R, stockage du contenu chiffré, des constantes C1 et C2 et de la variable R chiffrée avec la clé intermédiaire KI dans la mémoire de stockage,
la méthode est caractérisée en ce que le contenu chiffré avec la clé de contenu CK produite selon les étapes a, b, c et d ou d' est restitué par la seconde unité de traitement STBb, les étapes suivantes étant préalablement effectuées par le serveur central: 1) obtention de la première clé locale KLa par le serveur central, cette clé KLa étant telle que chiffrée par la clé Ka propre à la première unité de traitement STBa on obtienne la première constante C1 2) obtention d'une seconde clé locale KLb par le serveur central, cette clé KLb étant telle que chiffrée par la clé Kb propre à la seconde unité de traitement STBb on obtienne la première constante C1, 3) calcul d'une clé de transcodage TK par le déchiffrement de la seconde constante C2 par la première clé locale KLa puis par le chiffrement du résultat par la seconde clé locale KLb, 4) envoi de la clé de transcodage TK à la seconde unité de traitement STBb, et selon les étapes suivantes effectuées par la seconde unité de traitement, A) déchiffrement par la clé propre Kb de la seconde unité de traitement STBb, de la première constante C1 fournie pour l'obtention de la seconde clé locale KLb, B) déchiffrement de la clé de transcodage TK avec la seconde clé locale KLb, pour l'obtention de la clé intermédiaire KI, C) déchiffrement de la variable R par la clé intermédiaire KI pour obtenir la clé de contenu CK, D) déchiffrement du contenu avec la clé de contenu CK et restitution de ce contenu par la seconde unité de traitement STBb.
Method of operation by a second processing unit STBb of a content recorded by a first processing unit STBa, said first and second processing units STBa, STBb each having a proper key (Ka, Kb) being managed by a central server CS, the processing units having access to a removable storage memory for recording the content encrypted by a content key CK and also data associated with said content, the content key CK being produced according to steps a to d or d following: a) decryption by the own key Ka of the first processing unit STBa, a first constant C1 supplied by the central server CS to obtain a first local key KLa, b) decryption of a second constant C2 supplied by the central server CS with the first local key KLa, obtaining an intermediate key KI, c) obtaining by the STBa processing unit an R variable, d) encrypting the content with a content key CK obtained by decrypting the variable R with the intermediate key KI, storage of the encrypted content, constants C1 and C2 and the variable R in the storage memory, or of) encrypting the content with a content key CK equal to the variable R, storage of the encrypted content, constants C1 and C2 and the variable R encrypted with the intermediate key KI in the storage memory,
the method is characterized in that the content encrypted with the content key CK produced according to steps a, b, c and d or d is restored by the second processing unit STBb, the following steps being previously performed by the central server : 1) obtaining the first local key KLa by the central server, this key KLa being such that encrypted by the key Ka own to the first processing unit STBa one obtains the first constant C1 2) obtaining a second local key KLb by the central server, this key KLb being such that, encrypted by the key KB specific to the second processing unit STBb, the first constant C1 is obtained, 3) calculating a transcoding key TK by decrypting the second constant C2 by the first local key KLa and then encrypting the result by the second local key KLb, 4) sending the transcoding key TK to the second processing unit STBb, and according to the following steps performed by the second processing unit, A) decryption by the own key Kb of the second processing unit STBb, the first constant C1 supplied to obtain the second local key KLb, B) decryption of the transcoding key TK with the second local key KLb, to obtain the intermediate key KI, C) decryption of the variable R by the intermediate key KI to obtain the content key CK, D) decryption of the content with the content key CK and playback of this content by the second processing unit STBb.
Méthode selon la revendication 1 caractérisée en ce que les clés propres (Ka, Kb) des unités de traitement (STBa, STBb) sont stockées dans le serveur central, les clés locales KLa et KLb étant obtenues par le serveur central par les étapes suivantes: 1') calcul de la première clé locale KLa en déchiffrant la première constante C1 avec la clé propre Ka de la première unité STBa, 2') calcul de la seconde clé locale KLb en déchiffrant la première constante C1 avec la clé propre Kb de la seconde unité STBb. Method according to Claim 1, characterized in that the own keys (Ka, Kb) of the processing units (STBa, STBb) are stored in the central server, the local keys KLa and KLb being obtained by the central server by the following steps: 1 ') calculating the first local key KLa by decrypting the first constant C1 with the own key Ka of the first unit STBa, 2 ') calculating the second local key KLb by decrypting the first constant C1 with the own key Kb of the second unit STBb. Méthode selon la revendication 1 caractérisée en ce que la variable R est un nombre aléatoire généré par l'unité de traitement.Method according to claim 1 characterized in that the variable R is a random number generated by the processing unit. Méthode selon la revendication 1 caractérisée en ce que la variable R est un nombre extrait d'une liste stockée par l'unité de traitement.Method according to claim 1 characterized in that the variable R is a number extracted from a list stored by the processing unit. Méthode selon la revendication 1 caractérisée en ce que la variable R est un nombre aléatoire généré par le serveur central et mis à disposition de l'unité de traitement STBa.Method according to claim 1, characterized in that the variable R is a random number generated by the central server and made available to the processing unit STBa. Méthode selon la revendication 1 caractérisée en ce que la variable R est un nombre extrait d'une liste stockée par le serveur central et mis à disposition de l'unité de traitement STBa.Method according to claim 1 characterized in that the variable R is a number extracted from a list stored by the central server and made available to the processing unit STBa. Méthode selon les revendications 1 à 6 caractérisée en ce que la variable R prend une valeur différente lors de chaque enregistrement d'un contenu par l'unité de traitement STBa.Method according to Claims 1 to 6, characterized in that the variable R takes on a different value each time a content is recorded by the processing unit STBa. Méthode selon la revendication 1, caractérisée en ce qu'entre les étapes b et c, on ajoute au moins une dérivation supplémentaire de la clé intermédiaire KI par le déchiffrement d'au moins une constante ou une variable supplémentaire par la clé intermédiaire KI pour obtenir une clé intermédiaire dérivée KI' et en ce qu'à l'étape 3 la clé de transcodage TK est calculée par déchiffrement d'au moins une constante
ou variable supplémentaire à partir de la seconde constante C2 avec la clé locale KLa de l'unité STBa pour aboutir à la clé intermédiaire finale KI', ladite clé intermédiaire finale KI' étant chiffrée par la seconde clé locale KLb.
Method according to Claim 1, characterized in that, between steps b and c, at least one additional derivation of the intermediate key KI is added by decrypting at least one constant or additional variable by the intermediate key KI in order to obtain a derived intermediate key KI 'and in that in step 3 the transcoding key TK is calculated by decrypting at least one constant
or additional variable from the second constant C2 with the local key KLa of the STBa unit to arrive at the final intermediate key KI ', said final intermediate key KI' being encrypted by the second local key KLb.
Méthode selon la revendication 1 caractérisée en ce que les opérations des étapes a, b, c et d ou d' de production de la clé de contenu CK lors de l'enregistrement du contenu par la première unité STBa et les opérations des étapes A à C d'obtention de la clé de contenu CK lors de la restitution du contenu par la seconde unité STBb sont effectuées par les chipsets respectifs de la première et de la seconde unité.Method according to Claim 1, characterized in that the operations of the steps a, b, c and d or of the production of the content key CK during the recording of the content by the first unit STBa and the operations of the steps A to C for obtaining the content key CK when the content is returned by the second unit STBb are performed by the respective chipsets of the first and the second unit. Méthode selon les revendications 1 à 9 caractérisée en ce que les opérations de chiffrement / déchiffrement sont effectuées par l'utilisation d'un algorithme à clés symétriques.Method according to Claims 1 to 9, characterized in that the encryption / decryption operations are performed by the use of a symmetric key algorithm. Méthode selon la revendication 1 caractérisée en ce que lors de l'enregistrement, les constantes C1, C2 et la variable R ou les constantes C1, C2 et la variable R chiffrée avec la clé intermédiaire KI sont stockées dans un fichier LCMa accompagnant le contenu chiffré et en ce que le serveur central transmet la clé de transcodage TK dans un fichier de transfert LCIab, lesdits fichiers (LCMa, LCIab) étant mis à disposition de la seconde unité STBb lors de la restitution du contenu.Method according to claim 1, characterized in that during the recording, the constants C1, C2 and the variable R or the constants C1, C2 and the variable R encrypted with the intermediate key KI are stored in an LCMa file accompanying the encrypted content. and in that the central server transmits the transcoding key TK in an LCIab transfer file, said files (LCMa, LCIab) being made available to the second unit STBb during the return of the content. Méthode selon la revendication 11 caractérisée en ce que le fichier LCMa est chiffré par une clé issue d'un module de sécurité associé à l'unité de traitement.Method according to claim 11 characterized in that the LCMa file is encrypted by a key from a security module associated with the processing unit. Méthode selon les revendications 1 à 12, caractérisée en ce que les unités de traitement sont constituées de décodeurs de télévision à péage (set top box) équipés d'un module de sécurité et gérées par un serveur central, lesdites unités ayant accès à des supports de stockage amovibles aptes à enregistrer un contenu chiffré destiné à être restitué par la même ou une unité différente de celle ayant enregistré le contenu.Method according to claims 1 to 12, characterized in that the processing units consist of set-top boxes equipped with a security module and managed by a central server, said units having access to supports removable storage devices capable of recording encrypted content to be rendered by the same or a different unit than the one having recorded the content. Méthode selon les revendications 1 à 12, caractérisée en ce que les unités de traitement sont constituées d'ordinateurs personnels équipés d'un module de sécurité interne ou externe et gérées par un serveur central, lesdites unités ayant accès à des supports de stockage amovibles aptes à enregistrer un contenu chiffré destiné à être restitué par la même ou une unité différente de celle ayant enregistré le contenu.Method according to claims 1 to 12, characterized in that the processing units consist of personal computers equipped with an internal or external security module and managed by a central server, said units having access to suitable removable storage media to record an encrypted content to be rendered by the same or a different unit than the one having recorded the content.
EP07121610A 2007-11-27 2007-11-27 Method for recording and playing back content encoded by a processing unit Withdrawn EP2066069A1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
EP07121610A EP2066069A1 (en) 2007-11-27 2007-11-27 Method for recording and playing back content encoded by a processing unit
KR1020107011591A KR101492669B1 (en) 2007-11-27 2008-11-25 Method for recording and restoring a ciphered content by a processing unit
EP08854367.3A EP2225845B1 (en) 2007-11-27 2008-11-25 Method for recording and restoring a ciphered content by a processing unit
CN2008801180502A CN101878614B (en) 2007-11-27 2008-11-25 Method for recording and restoring ciphered content by processing unit
PCT/EP2008/066108 WO2009068511A1 (en) 2007-11-27 2008-11-25 Method for recording and restoring a ciphered content by a processing unit
US12/323,652 US8630417B2 (en) 2007-11-27 2008-11-26 Method for recording and restoring a ciphered content by a processing unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP07121610A EP2066069A1 (en) 2007-11-27 2007-11-27 Method for recording and playing back content encoded by a processing unit

Publications (1)

Publication Number Publication Date
EP2066069A1 true EP2066069A1 (en) 2009-06-03

Family

ID=39431314

Family Applications (2)

Application Number Title Priority Date Filing Date
EP07121610A Withdrawn EP2066069A1 (en) 2007-11-27 2007-11-27 Method for recording and playing back content encoded by a processing unit
EP08854367.3A Active EP2225845B1 (en) 2007-11-27 2008-11-25 Method for recording and restoring a ciphered content by a processing unit

Family Applications After (1)

Application Number Title Priority Date Filing Date
EP08854367.3A Active EP2225845B1 (en) 2007-11-27 2008-11-25 Method for recording and restoring a ciphered content by a processing unit

Country Status (5)

Country Link
US (1) US8630417B2 (en)
EP (2) EP2066069A1 (en)
KR (1) KR101492669B1 (en)
CN (1) CN101878614B (en)
WO (1) WO2009068511A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040010467A1 (en) 2000-03-30 2004-01-15 Yoshihiro Hori Content data storage
EP1169856B1 (en) 1999-03-15 2004-09-22 Thomson Licensing S.A. A global copy protection system for digital home networks
US7181624B2 (en) 2000-04-04 2007-02-20 Sony Corporation Information recording/playback apparatus and method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5319705A (en) * 1992-10-21 1994-06-07 International Business Machines Corporation Method and system for multimedia access control enablement

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1169856B1 (en) 1999-03-15 2004-09-22 Thomson Licensing S.A. A global copy protection system for digital home networks
US20040010467A1 (en) 2000-03-30 2004-01-15 Yoshihiro Hori Content data storage
US7181624B2 (en) 2000-04-04 2007-02-20 Sony Corporation Information recording/playback apparatus and method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MENEZES, VANSTONE, OORSCHOT: "Handbook of Applied Cryptography", 1997, CRC PRESS LLC, USA, XP002482873 *

Also Published As

Publication number Publication date
EP2225845A1 (en) 2010-09-08
US8630417B2 (en) 2014-01-14
CN101878614A (en) 2010-11-03
WO2009068511A1 (en) 2009-06-04
EP2225845B1 (en) 2013-09-04
KR101492669B1 (en) 2015-02-12
CN101878614B (en) 2013-10-23
KR20100103474A (en) 2010-09-27
US20090138701A1 (en) 2009-05-28

Similar Documents

Publication Publication Date Title
US10769252B2 (en) Method and apparatus for watermarking of digital content, method for extracting information
EP1815681B1 (en) Digital audio/video data processing unit and method for controlling access to said data
KR101192546B1 (en) Use of media storage structure with multiple pieces of content in a content-distribution system
EP1305948B1 (en) Method for secure distribution of digital data representing a multimedia content
US8359392B2 (en) System and method for securely communicating on-demand content from closed network to dedicated devices, and for compiling content usage data in closed network securely communicating content to dedicated devices
EP3391585B1 (en) Method for securing a recording of multimedia content in a storage medium
US8005758B2 (en) Encryption/decryption method and apparatus for controlling content use based on license information
CN1471663A (en) Receiving device for securely storing a content item, and playback device
WO2006064017A1 (en) Method for transmitting digital data in a local network
EP1890493A1 (en) Method for revocating security modules used to secure broadcast messages
FR3006082A1 (en) METHOD FOR IMPLEMENTING A RIGHT TO CONTENT
EP1949374A2 (en) Method for etching and secure distribution of digital data, access device and writer
US20050108560A1 (en) Method of copying and decrypting encrypted digital data and apparatus therefor
US20120210128A1 (en) Information processing apparatus, information processing method and program
EP3732849B1 (en) Method and system for identifying a user terminal in order to receive streaming protected multimedia content
WO2017089705A2 (en) Method for the identification of security processors
FR2940691A1 (en) METHODS OF TRANSMITTING, RECEIVING AND IDENTIFYING, SECURITY PROCESSOR, AND INFORMATION RECORDING MEDIUM FOR SUCH METHODS.
EP1419640B1 (en) Local digital network, methods for installing new devices and data broadcast and reception methods in such a network
CN114286130A (en) Video encryption method, video processing method and device and electronic equipment
EP2066069A1 (en) Method for recording and playing back content encoded by a processing unit
KR101263922B1 (en) System for managing copyright using individual identifier code and method therefor
FR3053497B1 (en) METHOD FOR ENHANCING THE SECURITY OF A PEACE-BASED TELEVISION SYSTEM BASED ON PERIODIC PERIODIC RETRO-COMMUNICATION
FR2843257A1 (en) Scrambled broadcast MPEG digital word stream access control having transmit control access message and reread stream function key/further criterion and reception recording/reread only authorized following criteria verification.
FR2811503A1 (en) Multimedia delivery system tattoos client ID data in transmission improves traceability

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC MT NL PL PT RO SE SI SK TR

AX Request for extension of the european patent

Extension state: AL BA HR MK RS

AKX Designation fees paid
REG Reference to a national code

Ref country code: DE

Ref legal event code: 8566

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20091204