Brevet FR2970134A1 — publié le 20120706

PROCEDE DE TRANSMISSION ET DE RECEPTION D'UN CONTENU MULTIMEDIA [1] L'invention concerne un procédé de transmission et de réception d'un contenu multimédia. L'invention concerne également un procédé de génération de messages ECM et un procédé de réception de messages ECM. L'invention concerne enfin un émetteur, un terminal de réception et un support d'enregistrement d'informations pour la mise en oeuvre de ces procédés. [2] L'invention s'applique en particulier au domaine du contrôle d'accès pour la fourniture de programmes multimédias payants tels que la télévision payante. [3] Dans cette description, on désigne plus spécifiquement par « contenu multimédia » un contenu audio et/ou visuel destiné à être restitué sous une forme directement perceptible et compréhensible par un être humain. Typiquement, un contenu multimédia correspond à une succession d'images formant un film, une émission de télévision ou de la publicité. Un contenu multimédia peut également être un contenu interactif tel qu'un jeu. [4] Pour sécuriser et soumettre la visualisation des contenus multimédias à certaines conditions, comme la souscription d'un abonnement payant par exemple, les contenus multimédias sont diffusés sous forme embrouillée et non pas en clair. Dans cette description, le canal est dit « embrouillé » lorsque le contenu multimédia diffusé sur ce canal est embrouillé. [5] Plus précisément, chaque contenu multimédia est divisé en une succession de cryptopériodes. Pendant toute la durée d'une cryptopériode, les conditions d'accès au contenu multimédia embrouillé demeurent inchangées. En particulier, pendant toute la durée d'une cryptopériode, le contenu multimédia est embrouillé avec le même mot de contrôle. Généralement, le mot de contrôle varie d'une cryptopériode à l'autre. [6] De plus, le mot de contrôle est généralement spécifique à un contenu multimédia, ce dernier étant aléatoirement ou pseudo aléatoirement tiré. Ainsi, si à un instant donné, N contenus multimédias sont simultanément diffusés sur N canaux, il existe N mots de contrôle différents et indépendants employés chacun pour embrouiller l'un de ces contenus multimédias. [7] Ici, les termes « embrouiller » et « chiffrer » sont considérés comme des synonymes. Il en est de même pour les termes « désembrouiller » et « déchiffrer ». [008] Le contenu multimédia en clair correspond au contenu multimédia avant que celui-ci ne soit embrouillé. Celui-ci peut être rendu directement compréhensible par un être humain sans avoir recours à des opérations de désembrouillage et sans que sa visualisation soit soumise à certaines conditions. [009] Les mots de contrôle nécessaires pour désembrouiller les contenus 40 multimédias sont transmis de manière synchronisée avec les contenus multimédias. Par exemple, les mots de contrôle nécessaires pour désembrouiller la t-ième cryptopériode sont reçus par chaque terminal pendant la (t-1)-ième cryptopériode. Pour cela, par exemple, les mots de contrôle sont multiplexés avec le contenu multimédia embrouillé. [0010] Pour sécuriser la transmission des mots de contrôle, ceux-ci sont transmis aux terminaux sous forme de cryptogrammes contenus dans des messages ECM (Entitlement Control Message). On désigne ici par « cryptogramme » une information insuffisante à elle seule pour retrouver le mot de contrôle en clair. Ainsi, si la transmission du mot de contrôle est interceptée, la seule connaissance du cryptogramme du mot de contrôle ne permet pas de retrouver le mot de contrôle permettant de désembrouiller le contenu multimédia. [0011] Pour retrouver le mot de contrôle en clair, c'est-à-dire le mot de contrôle permettant de désembrouiller directement le contenu multimédia, celui-ci doit être combiné avec une information secrète. Par exemple, le cryptogramme du mot de contrôle est obtenu en chiffrant le mot de contrôle en clair avec une clé d'exploitation et un algorithme de cryptage. Dans ce cas, l'information secrète est la clé d'exploitation utilisée et/ou un algorithme de décryptage permettant de décrypter le cryptogramme [0012] L'information secrète doit être préservée en lieu sûr. Pour cela, il a déjà été proposé de stocker l'information secrète dans un processeur de sécurité tels qu'une carte à puce ou encore une carte virtuelle. Par « carte virtuelle » on désigne un composant logiciel comprenant un ensemble de ressources parmi lesquelles : - le code exécutable d'un algorithme de cryptage ou de décryptage, et - le code exécutable d'un analyseur syntaxique pour localiser un cryptogramme d'un 25 mot de contrôle à l'intérieur d'un message ECM ou le code exécutable d'un constructeur syntaxique pour construire un message ECM, et - éventuellement des titres d'accès, - éventuellement une clé d'exploitation utilisée en paramètre de l'algorithme de cryptage ou de décryptage. 30 [0013] Un code exécutable est un code directement apte à être exécuté par un interpréteur ou machine virtuelle d'un niveau inférieur implémenté dans un micro-processeur. L'algorithme de cryptage ou décryptage et l'analyseur syntaxique forme typiquement un programme exécutable ou plusieurs programmes exécutables. [0014] Par la suite, on désigne par « carte virtuelle mère » une carte virtuelle 35 utilisée pour calculer un message ECM. On désigne par « carte virtuelle fille» une carte virtuelle utilisée pour traiter un message ECM reçu. On dit qu'une carte virtuelle mère et une carte virtuelle fille sont « associées » l'une à l'autre si la carte virtuelle fille permet de traiter avec succès un message ECM reçu, calculé à l'aide de la carte virtuelle mère. [0015] Dans ce contexte, un procédé de transmission et de réception d'un contenu multimédia dont chaque cryptopériode CPt est embrouillée à l'aide d'un mot de contrôle CWt respectif, connu du déposant comporte : - le cryptage, par un émetteur, du mot de contrôle CWt à l'aide d'une clé d'exploitation et d'un code exécutable contenus dans une carte virtuelle mère pour obtenir un cryptogramme CWt*, - la génération d'un message ECM incorporant le cryptogramme CWt* et la transmission de ce message ECM à un terminal, - la réception par le terminal du message ECM, le déchiffrement du cryptogramme CWt* à l'aide d'une clé d'exploitation et d'un code exécutable d'une carte virtuelle fille associée à la carte virtuelle mère, et le désembrouillage de la cryptopériode CPt du contenu multimédia embrouillée à l'aide du mot de contrôle déchiffré CWt. [0016] L'utilisation de cartes virtuelles permet de remplacer à moindre coût et rapidement des informations secrètes dans les terminaux. Par exemple, le remplacement d'une carte virtuelle permet de modifier l'algorithme de cryptage et de décryptage utilisé lorsqu'une faille sécuritaire est découverte. Toutefois, l'utilisation d'une carte virtuelle en elle-même n'apporte pas de gain sécuritaire par rapport à l'utilisation d'une carte à puce. [0017] L'invention vise à accroître la sécurité des procédés de transmission et de réception d'un contenu multimédia utilisant des cartes virtuelles. [0018] L'invention porte ainsi sur un procédé de transmission et de réception d'un contenu multimédia dont chaque cryptopériode CPt est embrouillée à l'aide d'un mot de contrôle CWt respectif, le procédé comportant également: - le changement, au minimum toutes les deux heures, par l'émetteur, de la carte virtuelle mère utilisée pour obtenir le cryptogramme CW*t+n d'une cryptopériode suivante CPt+n du même contenu multimédia, la nouvelle carte virtuelle mère utilisée différant de la précédente carte virtuelle mère utilisée par sa clé d'exploitation et/ou son code exécutable, - en réponse, la sélection par le terminal, de la nouvelle carte virtuelle fille à utiliser pour décrypter le cryptogramme CW*t+n de manière à obtenir le mot de contrôle CWt+n. [0019] Dans le procédé présenté ci-dessus, en changeant au minimum toutes les deux heures de cartes virtuelles mère et fille, on augmente la variété des clés ou des algorithmes employés ce qui complexifie la récupération de l'information secrète par un utilisateur illicite, et le partage de cette information avec d'autres utilisateurs pirates. [0020] Les modes de réalisation de ce procédé peuvent comporter la caractéristique suivante: ^ le code exécutable d'une carte virtuelle mère ou fille comprend : - un algorithme de cryptage ou de décryptage, et - un constructeur syntaxique pour construire un message ECM ou un analyseur syntaxique pour localiser la position d'un cryptogramme d'un mot de contrôle dans un message ECM. [0021] Les modes de réalisation de ce procédé présentent en outre l'avantage suivant: ^ l'utilisation combinée d'un algorithme de cryptage ou de décryptage et d'un constructeur syntaxique permet de crypter un mot de contrôle et de faire varier le format du message ECM (par exemple la localisation du cryptogramme du mot de contrôle dans le message ECM), de manière à rendre plus complexe pour un utilisateur illicite le déchiffrement de ce message ECM. [0022] L'invention concerne également un procédé de génération de messages ECM pour la mise en oeuvre d'un procédé de transmission et de réception de contenu multimédia, chaque message ECM comportant un cryptogramme CW*t d'un mot de contrôle CWt utilisé pour embrouiller une cryptopériode CPt respective d'un même contenu multimédia, le procédé comportant: a) le cryptage du mot de contrôle CWt à l'aide d'une clé d'exploitation et d'un code exécutable contenus dans une carte virtuelle mère pour obtenir le cryptogramme 20 CW*t, et b) la génération d'un message ECM incorporant le cryptogramme CW*t, et c) le changement au minimum toutes les deux heures de la carte virtuelle mère utilisée pour obtenir le cryptogramme CW*t+n d'une cryptopériode suivante CPt+n, la nouvelle carte virtuelle mère utilisée différant de la précédente carte virtuelle mère 25 utilisée par la clé d'exploitation et/ou son code exécutable. [0023] Les modes de réalisation de ce procédé peuvent comporter une ou plusieurs des caractéristiques suivantes: ^ le procédé comporte la transmission au terminal, dans un message ECM, d'un identifiant de la carte virtuelle fille à utiliser pour décrypter le 30 cryptogramme CWt+n*. ^ lors de l'étape c) la carte virtuelle mère est sélectionnée parmi un ensemble de cartes virtuelles préenregistrées à l'intérieur de l'émetteur, les cartes virtuelles appartenant à cet ensemble étant distinctes les unes des autres. 35 ^ lors de l'étape c) la carte virtuelle mère est sélectionnée pseudoaléatoirement parmi l'ensemble de cartes virtuelles préenregistrées à l'intérieur de l'émetteur. ^ procédé dans lequel: - le procédé comporte la sélection, en fonction du contenu multimédia à embrouiller, 40 d'un ensemble de plusieurs cartes virtuelles mères différentes parmi plusieurs ensembles de cartes virtuelles mères, à l'aide d'une relation associant à chaque contenu multimédia un seul ensemble de cartes virtuelles mères, chaque carte virtuelle mère appartenant exclusivement à un unique ensemble, et - les mots de contrôle pour embrouiller un contenu multimédia sont cryptés uniquement à l'aide de cartes virtuelles mères sélectionnées dans l'ensemble associé à ce contenu, de manière à limiter l'accès au contenu multimédia embrouillé aux seuls terminaux de réception disposant d'un ensemble de cartes virtuelles filles correspondant à cet ensemble de cartes virtuelles mères. [0024] Les modes de réalisation de ce procédé comportent en outre les 10 avantages suivants: ^ lorsque l'on transmet l'identifiant de la carte virtuelle dans un message ECM, la fréquence de changement d'une carte virtuelle par une autre carte virtuelle peut être accélérée, ^ lorsque les cartes virtuelles mères sont préenregistrées on minimise le 15 temps de commutation entre une précédente carte virtuelle mère et une nouvelle carte virtuelle mère, au niveau de l'émetteur, ^ lorsque la carte virtuelle mère est sélectionnée pseudo-aléatoirement, on augmente la sécurité du procédé en rendant difficile pour un utilisateur illicite de prévoir à l'avance quelle sera la carte virtuelle fille 20 associée à utiliser pour décrypter un prochain cryptogramme, et ^ lorsque les cartes virtuelles filles sont préenregistrées on minimise le temps de commutation entre une précédente carte virtuelle fille et une nouvelle carte virtuelle fille, au niveau du terminal. [0025] L'invention concerne également un procédé de réception, par un 25 terminal, pour la mise en oeuvre d'un procédé de transmission et de réception, ce procédé comportant : e) la réception par l'intermédiaire d'un ou plusieurs messages ECM d'un cryptogramme CW*t+n du mot de contrôle CWt+n' et f) en réponse, la sélection par le terminal,de la nouvelle carte virtuelle fille à utiliser 30 pour le décryptage du cryptogramme CW*t+n parmi un ensemble de cartes virtuelles filles préenregistrées dans le terminal, chaque carte virtuelle fille comprenant une clé d'exploitation et un code exécutable, de manière à obtenir le mot de contrôle CWt+n. [0026] Les modes de réalisation de ce procédé peuvent comporter une ou plusieurs des caractéristiques suivantes: 35 ^ le procédé comporte: - la réception d'un identifiant d'une carte virtuelle fille lors de l'étape e), et - la sélection par le terminal de la carte virtuelle fille parmi l'ensemble de cartes préenregistrées à partir de l'identifiant reçu lors de l'étape e). ^ le procédé comporte également : - la réception, lors de l'étape e), par le terminal, d'une ou plusieurs instructions additionnelles, et - en réponse, la modification du code exécutable de la carte virtuelle fille sélectionnée en complétant et/ou remplaçant une partie seulement des instructions du code 5 exécutable de cette carte virtuelle fille par la ou les instructions reçues. ^ le procédé comporte: h) la réception par le terminal d'une carte virtuelle fille chiffrée, i) la mémorisation de la carte virtuelle fille chiffrée reçue pour ajouter cette carte à l'ensemble de cartes virtuelles filles pré-enregistrées, et 10 ^ j) le déchiffrement de la carte virtuelle fille chiffrée, en réponse à la réception de l'identifiant , les étapes h), i), et j) étant exécutées avant la mise en oeuvre des étapes e) et f). [0027] Les modes de réalisation de ce procédé comportent en outre les avantages suivants: 15 ^ lorsque le procédé comprend le mécanisme d'instructions additionnelles tel que présenté plus haut, on sécurise plus encore le procédé. [0028] L'invention concerne enfin un support d'enregistrement d'informations, comportant des instructions pour l'exécution d'un des procédés présentés plus haut, lorsque ces instructions sont exécutées par un calculateur électronique. 20 [0029] L'invention concerne également un é [0030] metteur pour la mise en oeuvre d'un procédé de génération de messages ECM, l'émetteur comportant : - un embrouilleur pour embrouiller une cryptopériode CPt respective d'un contenu multimédia à l'aide d'un mot de contrôle CWt, 25 - un système pour crypter le mot de contrôle CWt à l'aide d'une clé d'exploitation et d'un code exécutable contenus dans une carte virtuelle mère pour obtenir le cryptogramme CW*t, et pour générer un message ECM incorporant le cryptogramme CW*t, dans lequel le système est programmé pour changer la carte virtuelle mère utilisée, au minimum toutes les deux heures afin d'obtenir le cryptogramme CW*t+n 30 d'une cryptopériode suivante CPt+n, la nouvelle carte virtuelle mère utilisée différant de la précédente carte virtuelle mère utilisée par la clé d'exploitation et/ou son code exécutable. [0031] L'invention concerne enfin un terminal de réception comportant: - un ensemble de cartes virtuelles filles préenregistrées 35 - un récepteur pour recevoir par l'intermédiaire d'un ou plusieurs messages ECM, un cryptogramme CW*t+n du mot de contrôle CWt+n, et - un circuit intégré programmé pour sélectionner, une nouvelle carte virtuelle fille à utiliser pour le décryptage du cryptogramme CW*t+n dans l'ensemble de cartes virtuelles filles préenregistrées de manière à obtenir le mot de contrôle CWt+n. [0032] D'autres caractéristiques et avantages de l'invention ressortiront clairement de la description qui en est faite ci-après, à titre indicatif et nullement limitatif, en référence aux dessins annexés, dans lesquels : - la figure 1 est une illustration schématique d'un système d'émission et de réception de contenus multimédias embrouillés, - la figure 2 est une illustration schématique d'un module de calcul pour le système d'émission de la figure 1, - la figure 3 est une illustration schématique d'un circuit intégré pour le système d'émission de la figure 1, les figures 3a, 3b et 3c sont des illustrations schématiques de bases de données et d'une table préenregistrées dans des mémoires du circuit intégré de la figure 3, - la figure 4 est une illustration schématique d'une carte virtuelle mère et d'une carte virtuelle fille associées, la figure 5 est un organigramme d'un procédé de transmission d'un contenu multimédia embrouillé dans le système de la figure 1, et - la figure 6 est un organigramme d'un procédé de réception d'un contenu multimédia embrouillé dans le système de la figure 1. [0033] Dans ces figures, les mêmes références sont utilisées pour désigner les mêmes éléments. [0034] Dans la suite de cette description, les caractéristiques et fonctions bien connues de l'homme du métier ne sont pas décrites en détail. [0035] De plus, la terminologie utilisée est celle des systèmes d'accès conditionnels à des contenus multimédias. Pour plus d'informations sur cette terminologie, le lecteur peut se reporter au document suivant : « Functional Model of Conditional Access System », EBU Review, Technical European Broadcasting Union, Brussels, BE, n° 266, 21 décembre 1995. [0036] La figure 1 représente un système 2 d'émission et de réception de contenus multimédias embrouillés. Ici, les contenus multimédias sont linéarisés. Par « contenu multimédia linéarisé » on désigne un contenu multimédia pour lequel l'utilisateur ne contrôle par l'instant de transmission. Par exemple, un contenu multimédia correspond à une séquence d'un programme audiovisuel tel qu'une émission de télévision ou un film. [0037] Les contenus multimédias en clair sont générés par une ou plusieurs sources 4 et transmis à un dispositif 6 de diffusion. Le dispositif 6 diffuse les contenus multimédias simultanément vers une multitude de terminaux de réception à travers un réseau 8 de transmission d'informations. Les contenus multimédias diffusés sont synchronisés temporellement les uns avec les autres pour, par exemple, respecter une grille préétablie de programmes. [0038] Le réseau 8 est typiquement un réseau grande distance de transmission d'informations tel que le réseau Internet ou un réseau satellitaire ou tout autre réseau de diffusion tel que celui utilisé pour la transmission de la télévision numérique terrestre (TNT). [0039] Pour simplifier la figure 1, seuls trois terminaux 10 à 12 de réception sont représentés. [0040] Le dispositif 6 comprend un encodeur 16 qui code les contenus multimédias qu'il reçoit. L'encodeur 16 traite des contenus multimédias numériques. Par exemple, cet encodeur fonctionne conformément à la norme MPEG2 (Moving Picture Expert Group - 2) ou la norme UIT-T H264. [0041] Les contenus multimédias dits compressés ainsi obtenus sont dirigés vers une entrée 20 d'un embrouilleur 22. L'embrouilleur 22 embrouille chaque contenu multimédia compressé pour conditionner sa visualisation à certaines conditions telles que l'achat d'un titre d'accès par les utilisateurs des terminaux de réception. Les contenus multimédias embrouillés sont restitués sur une sortie 24 raccordée à l'entrée d'un multiplexeur 26. L'embrouilleur 22 embrouille chaque contenu multimédia compressé à l'aide d'un mot de contrôle CW;,t qui lui est fourni par un générateur de mots de contrôle CW ;,t 132. Typiquement, l'embrouillage est conforme à une norme telle que la norme DVB-CSA (Digital Video Broadcasting - Common Scrambling Algorithm), ISMA Cryp (Internet Streaming Media Alliance Cryp), SRTP (Secure Real-time Transport Protocol), AES (Advanced Encryption Standard), ... etc. [0042] Le générateur 32 est programmé pour: - générer un mot de contrôle CW ;,t, et - transmettre un mot de contrôle généré à l'embrouilleur 22 et à un système 28 [0043] Dans cet exemple, le générateur 32 génère pseudo-aléatoirement un mot de contrôle CW;,t . Ici, le générateur 32 est compris dans le multiplexeur 26. [0044] Par la suite, l'indice i est un identifiant du canal sur lequel est diffusé le contenu multimédia embrouillé et l'indice t est un numéro d'ordre identifiant la cryptopériode embrouillée avec ce mot de contrôle. [0045] Le système 28 est plus connu sous l'acronyme CAS (Conditional Access System). Le système 28 est programmé pour: - générer un cryptogramme CW*;,t d'un mot de contrôle CW;,t, transmis par le générateur 32, et - générer pour chaque canal i un message ECM;,t (Entitlement Control Message) contenant au moins le cryptogramme CW*;,t du mot de contrôle CW;,t utilisé par l'embrouilleur 22 pour embrouiller la cryptopériode t du canal i.40 [0046] Les messages ECM;,t et les contenus multimédias embrouillés sont multiplexés par le multiplexeur 26 avant d'être transmis sur le réseau 8. [0047] Le système 28 est détaillé plus loin en référence à la figure 2. [0048] Le message ECM contenant le mot de contrôle CW;,t est noté ECM;,t 5 dans la suite de la description où : - l'indice i identifie le canal, et - l'indice t est un numéro d'ordre identifiant la position temporelle de ce message ECM par rapport aux autres messages ECM différents émis pour désembrouiller le canal i. 10 [0049] Ici, l'indice t identifie également la cryptopériode CP;,t désembrouillable à l'aide du mot de contrôle CW;,t contenu dans le message ECM;,t. L'indice t est unique pour chaque cryptopériode CP;,t. [0050] Le même identifiant i est inséré dans tous les messages ECM;,t contenant un cryptogramme CW*;,t pour le désembrouillage des contenus multimédias 15 diffusés sur ce canal i. A titre d'illustration, ici, l'embrouillage et le multiplexage des contenus multimédias est conforme au protocole DVB-Simulcrypt (ETSI TS 103 197). Dans ce cas, l'identifiant i peut correspondre à un couple « channel ID/stream ID » unique sur lequel sont envoyées toutes les requêtes de génération de message ECM pour ce canal. 20 [0051] Dans l'exemple, les terminaux 10 à 12 sont identiques. Aussi, par la suite seul le terminal 10 est décrit plus en détail. [0052] Le terminal 10 est ici décrit dans le cas particulier où celui-ci est capable de désembrouiller un seul canal i à la fois. A cet effet, le terminal 10 comporte une seule ligne 60 de désembrouillage permettant le désembrouillage du canal i. Par 25 exemple, la ligne 60 désembrouille le canal i pour l'afficher sur un afficheur 84. [0053] Par exemple, l'afficheur 84 est une télévision, un ordinateur ou encore un téléphone fixe ou mobile. Ici, l'afficheur est une télévision. [0054] La ligne 60 comprend un récepteur 70 de contenus multimédias diffusés. Ce récepteur 70 est raccordé à l'entrée d'un démultiplexeur 72 qui transmet 30 d'un côté le contenu multimédia à un désembrouilleur 74 et d'un autre côté les messages ECM;,t et EMM (Entitlement Management Message) à un circuit intégré 76. [0055] Le circuit 76 est apte à décrypter un cryptogramme CW*;,t d'un mot de contrôle CW;,t contenu dans le message ECM;,t, et à fournir ce mot de contrôle au désembrouilleur 74. Le circuit 76 est détaillé plus loin en référence à la figure 3. 35 [0056] Le désembrouilleur 74 désembrouille le contenu multimédia embrouillé à partir du mot de contrôle transmis par le circuit 76. Le contenu multimédia désembrouillé est transmis à un décodeur 80 qui le décode. Le contenu multimédia décompressé ou décodé est transmis à une carte graphique 82 qui pilote l'affichage de ce contenu multimédia sur l'afficheur 84 équipé d'un écran 86. L'afficheur 84 40 affiche en clair le contenu multimédia sur l'écran 86. [0057] Le système 28 va maintenant être décrit en référence à la figure 2. [0058] Le système 28 comprend une mémoire non volatile 36. La mémoire 36 contient des bases de données 38 et 42. [0059] La base de données 38 constitue une relation qui associe à chaque canal i, un ensemble E; de cartes virtuelles mères CME;,k, où l'indice E; identifie l'ensemble auquel appartient la carte virtuelle CME;,k et k est un nombre entier. Chaque carte virtuelle mère CME;,k est identifiée par un identifiant ICME;,k propre uniquement à cette carte virtuelle mère. Afin de simplifier la figure 1, la base de données 38 est illustrée seulement pour deux canaux 1 et 2. Les ensembles E1 et E2 comprennent ici trois cartes virtuelles mères préenregistrées, respectivement, CME1,1, CME1,2 , CME1,3 ,et CME2,1, CME2,2 , CME2,3. [0060] Les cartes virtuelles mères appartenant à un même ensemble sont distinctes. De préférence, une carte virtuelle mère appartenant à un ensemble E; appartient exclusivement à cet ensemble E. Dans ces conditions, deux cartes virtuelles mères appartenant à deux ensembles E; distincts sont nécessairement distinctes. Une définition du terme « distinct » est donnée par la suite en référence à la figure 4. [0061] La structure des cartes virtuelles mères est commune à toutes les cartes virtuelles mères. Cette structure est présentée plus loin en référence à la figure 4 [0062] La base de données 42 contient des « rustines logicielles » plus connues sous le terme anglais de « patches logiciels » ou « patches ». Par « patch logiciel» on désigne un ensemble de portions de code comportant au moins une instruction, destiné à compléter ou remplacer une partie du code exécutable d'une carte virtuelle mère ou fille. Ce remplacement ne nécessite pas de re-compilation du code modifié. Typiquement, un patch est constitué de un ou plusieurs vecteurs de code (une série d'octets) de longueur(s) variable(s) chacun associé à une adresse cible (ou position de début) dans le code (zone mémoire contigüe) à remplacer. En définitive, il s'agit d'une liste de modifications à apporter sur le bloc de code. [0063] Par la suite on désigne par « patch mère » un patch destiné à s'appliquer au code d'une carte virtuelle mère. On désigne par « patch fille » un patch destiné à s'appliquer au code d'une carte virtuelle fille. [0064] Par exemple, un patch contient une instruction définissant un nombre d'itérations pour un algorithme de cryptage ou de décryptage. [0065] Dans l'exemple, la taille mémoire d'un patch logiciel est inférieure à 10ko et, de préférence, inférieure à 5ko de manière à pouvoir être transmis par l'intermédiaire d'un message ECM et/ou d'un message EMM. [0066] La base de données 42 associe à un patch mère PM;, un patch fille correspondant PF;, où j est un nombre entier. Afin de simplifier la figure 1, la base de 40 données 42 comporte dans l'exemple trois paires de patchs mère/fille. [0067] La mémoire 36 est ici une mémoire de type flash. [0068] Le système 28 comporte également un processeur 46 apte à : - sélectionner pseudo-aléatoirement une carte virtuelle mère CME;,k parmi un ensemble E; de cartes dans la base de donnée 38, - sélectionner pseudo-aléatoirement un patch mère PM; dans la base de données 42, et - générer un cryptogramme CW*;,t d'un mot de contrôle CW;,t généré par le générateur 32 à partir d'une carte virtuelle mère CME;,k sélectionnée, et d'un patch mère PM; sélectionné, [0069] Par ailleurs, le processeur 46 est apte à générer un message ECM ;,t incorporant: - un cryptogramme CW*;,t généré, - un identifiant d'une carte virtuelle fille à utiliser pour décrypter le cryptogramme CW*;,t, - un patch fille PF; associé à un patch mère PM; sélectionné, et - une signature ou une redondance cryptographique MAC (pour « message authentication code ») permettant de vérifier l'intégrité du message ECM. [0070] Par exemple, le processeur 46 est réalisé à partir d'un calculateur électronique programmable. Ce calculateur est apte à exécuter des instructions enregistrées sur un support d'enregistrement d'informations de manière à mettre en oeuvre le procédé de la figure 5. Par exemple, ces instructions sont également enregistrées dans la mémoire 36. [0071] Le circuit 76 va maintenant être décrit en référence à la figure 3. [0072] Le circuit 76 est plus connu sous l'acronyme SoC (Sytem On a Chip). Ici, le circuit 76 est de préférence en plus un circuit intégré sécurisé. L'utilisation de circuits intégrés sécurisés est bien connue de l'homme de l'art. Pour une description détaillée d'un exemple de circuit intégré sécurisé il est possible de se référer à la demande de brevet US20050169468. Ici, le circuit 76 comprend: - une mémoire non volatile 90, - une mémoire volatile 92, et - un processeur 96. [0073] La mémoire 90 contient une base de données 100 (plus visible sur la figure 3a). Cette base 100 associe à un identifiant ICFE;,k d'une carte fille CFEi,k, un cryptogramme CF*Ei,k de cette carte virtuelle fille CFEi,k. Chaque cryptogramme de code CF*Ei,k d'une carte virtuelle fille est ici obtenu en chiffrant le code exécutable d'une carte virtuelle fille CFEi,k avec une clé K _CFEi,k. [0074] Avantageusement, pour chaque carte virtuelle mère d'identifiant ICMEi,k préenregistrée dans la mémoire 36, il existe au plus un cryptogramme de code CF*Ei,k 40 préenregistré dans la base 100 associé à l'identifiant ICFEi,k. Par là, on souligne la caractéristique selon laquelle, il existe des cartes mères préenregistrées dans la mémoire 36 pour lesquels aucun cryptogramme du code de la carte virtuelle fille associée n'est préenregistré dans la base 100. [0075] Afin de simplifier la figure 3a, la base de données 100 contient uniquement trois cryptogrammes du code des cartes virtuelles filles CF*E1,1, CF*E,,2 et CF*E1,3, associés, respectivement, aux identifiants ICFE,,1, ICFE1,2 et ICFE1,2. [0076] Ici, la base de données 100 ne comprend pas les cryptogrammes du code des cartes virtuelles filles CF*E2,1, CF*E2,2 et CF*E2,3. [0077] La structure d'une carte virtuelle fille est commune à toutes les cartes virtuelles filles. Cette structure est détaillée plus loin en référence à la figure 4. [0078] La mémoire 90 contient également une base de données 102 (plus visible sur la figure 3b). Cette base de données 102 associe à un canal i et à un identifiant ICFEi,k: - la clé K CFE;,k pour déchiffrer le cryptogramme CF*Ei,k d'une carte 15 virtuelle fille CFE;,k, et - une clé Ksign_CFE;,k pour vérifier l'authenticité de la carte virtuelle fille CFE;,k. [0079] Dans l'exemple, la base de données 102 comprend : - les clé K CFE1,,, K_CFE1,2, K_CFE1,3, et 20 - les clés Ksign_CFE1,1 ,Ksign_CFE1,2 ,et Ksign_CFE1,3. [0080] La mémoire 92 contient une table 104 (plus visible sur la figure 3c) associant à un identifiant ICFEi,k une adresse d'une carte virtuelle fille CFE;,k mémorisée dans la mémoire 90. Les cartes virtuelles filles CFE;,k mémorisées dans la mémoire 90 sont de préférence sécurisées.Par « sécurisées » on désigne ici que les 25 codes exécutables des cartes virtuelles filles sont obscurcis de manière à ne pouvoir être exécutés en tant que tel. Par exemple, une partie du code exécutable est chiffrée pour rendre inopérant une tentative de rétro-ingénierie . Dans l'exemple, la table 104 est vierge. Par là on désigne la caractéristique selon laquelle la table ne comporte aucune adresse de carte virtuelle fille CFE;,ksécurisée. 30 [0081] Le processeur 96 est ici un calculateur électronique programmable. Le processeur 96 est apte à exécuter des instructions enregistrées sur un support d'enregistrement d'informations pour mettre en oeuvre le procédé de la figure 6. Le processeur 96 comprend un coprocesseur 97 de sécurité. Ce coprocesseur 97 est programmé pour : 35 -sécuriser (obscurcir ou comme ici chiffrer) les données mémorisées dans la mémoire 92, et -rétablir (ici déchiffrer) les données mémorisées dans la mémoire 92 de manière à les rendre exploitables par le processeur 96. [0082] Dans l'exemple, le coprocesseur 97 contient une mémoire non volatile à écriture unique 94. La mémoire 94 contient une clé Kchip propre au terminal 10. Cette clé est par exemple gravée, lors de la fabrication du circuit intégré 76. [0083] Une carte virtuelle mère 120 et une carte virtuelle fille 122 associées 5 vont maintenant être décrites en référence à la figure 4. [0084] Les cartes virtuelles mères 120 et fille 122 sont des librairies logicielles. Typiquement, les cartes virtuelles mères 120 et fille 122 sont des librairies de type DLL (pour "Dynamic Link Library") contenant leur code exécutable. [0085] La carte virtuelle mère 120 comporte : 10 - un identifiant ICMEi,k, - une clé d'exploitation KexpEi,k, - un algorithme de cryptage 126 utilisant la clé d'exploitation KexpEi,k pour crypter un mot de contrôle CWi,t et obtenir le cryptogramme CW*i,t, et 15 - un constructeur syntaxique 128, pour formater l'ECM, et positionner le cryptogramme du mot de contrôle CWi,t ainsi que les autres paramètres (tels que les conditions d'accès) dans le message ECMi,t, et ce de manière cohérente avec l'analyseur syntaxique de la carte virtuelle fille associée . 20 [0086] L'algorithme de cryptage et le constructeur syntaxique forment un code destiné à être exécuté par le processeur 46. [0087] Dans l'exemple, l'algorithme de cryptage comprend une portion de code manquante 124. Cette portion 124 est destinée à recevoir un patch logiciel mère. Dans l'exemple, la portion 124 constitue seulement une partie de l'algorithme 126, et 25 non pas l'algorithme 126 entier. [0088] Par ailleurs, dans cette description, on désigne par "cartes virtuelles mères distinctes", deux cartes virtuelles différant l'une de l'autre par leur clé d'exploitation KexpEi,k et/ou par leur algorithme de cryptage 126 et/ou par leur constructeur syntaxique 128. 30 [0089] La carte virtuelle fille 122 comporte : - un identifiant ICFEi,k, - la clé d'exploitation KexpEi,k, - un algorithme de décryptage 130 utilisant la clé d'exploitation KexpEi,k , pour décrypter le cryptogramme CW*i,t crypté à partir de la carte mère 35 120 et obtenir le mot de contrôle CWi,t, - un analyseur syntaxique 134, pour localiser le cryptogramme CW*i,t dans un message ECMi,t, et - une signature 136 pour vérifier l'intégrité de la carte virtuelle fille 122. [0090] L'algorithme de cryptage et l'analyseur syntaxique forment un code 40 destiné à être exécuté par le processeur 96. [0091] Par "cartes virtuelles filles distinctes" on désigne deux cartes virtuelles filles différant l'une de l'autre par leur clé d'exploitation et/ou par leur algorithme de décryptage et/ou par leur analyseur syntaxique. [0092] Un procédé de transmission d'un contenu multimédia embrouillé dans le système de la figure 1 va maintenant être décrit en référence à la figure 5. Le procédé mis en oeuvre est le même pour chaque canal. Ainsi, On décrit par la suite le procédé de transmission dans le cas particulier du canal 1. [0093] Lors d'une étape 200 mise en oeuvre à un instant t, la source 4 transmet une cryptopériode CP1,t en clair du canal 1 à l'encodeur 16. Dans l'exemple, une cryptopériode possède une durée comprise entre cinq secondes et une minute. Typiquement, la durée d'une cryptopériode est de 10 secondes. [0094] Lors d'une étape 202, l'encodeur 16 encode la cryptopériode CP1,t et transmet la cryptopériode encodée à l'embrouilleur 22. [0095] Lors d'une étape 204, le générateur 32 sélectionne un mot de contrôle CW1,t et transmet ce mot de contrôle à l'embrouilleur 22. Plus particulièrement, le générateur 32 sélectionne pseudo-aléatoirement un mot de contrôle CW1,tet transmet ce mot de contrôle CW1,tà l'embrouilleur 22 et au système 28. [0096] Lors d'une étape 206, l'embrouilleur 22 embrouille la cryptopériode CP1,t encodée lors de l'étape 202, à partir du mot de contrôle CW1,t reçu lors de l'étape 204. L'embrouilleur 22 génère ainsi une cryptopériode embrouillée CP*,,t. L'embrouilleur 22 transmet la cryptopériode embrouillée CP*,,t au multiplexeur 26. [0097] Lors d'une étape 208, le système 28 génère les différentes informations nécessaires pour construire le message ECM1,t qui permettra le désembrouillage de la cryptopériode CP*,,t. [0098] Plus particulièrement, lors d'une opération 210, le processeur 46 sélectionne l'ensemble E, de cartes mères associé au canal 1 grâce à la base de données 38. Ensuite, il sélectionne pseudo-aléatoirement dans la base de données 38 une carte virtuelle mère CM1,k parmi les cartes virtuelles mère CM1,1, CM1,2,et CM1,3 de l'ensemble E,. Par exemple, le processeur 46 sélectionne la carte virtuelle mère CM1,1 [0099] Lors d'une opération 212, le processeur 46 sélectionne pseudoaléatoirement dans la base de données 42 un patch mère PM; parmi les patchs mère PMI, PM2 ,et PM3. Par exemple, le processeur 46 sélectionne le patch mère PMI. [00100] Lors d'une opération 214, le processeur 46 complète la portion de code manquante 124 de l'algorithme de cryptage 126 de la carte virtuelle CM1,1 sélectionnée lors de l'opération 210 avec le patch mère PMI sélectionné lors de l'opération 212. L'algorithme de cryptage formé lors de cette étape 214 est par la suite appelé « algorithme de cryptage opérationnel». [00101] Lors d'une opération 216, le processeur 46 génère le cryptogramme 40 CW*,,t du mot de contrôle CW1,t à partir : - de l'algorithme de cryptage opérationnel formé lors de l'opération 214, et - de la clé d'exploitation KexpE,,, contenue dans la carte mère CME,,, sélectionnée. - du mot de contrôle CW1,tfourni par le générateur 32 [00102] Lors d'une opération 217, le processeur 46 exécute le constructeur syntaxique de la carte virtuelle mère CME1,1 pour déterminer à quel emplacement dans la trame du message ECM1,t, le cryptogramme CW*,,t doit être inséré. [00103] Lors d'une étape 220, le système 28 génère un message ECM1,t contenant : - l'identifiant ICFE1,, de la carte virtuelle fille CME,,l associée à la carte virtuelle mère CME1,1, - le patch fille PF1, - le cryptogramme CW*;,t du mot de contrôle CW;,t permettant de désembrouiller la cryptopériode t du canal 1, et - une redondance cryptographique MAC. [00104] Lors de cette étape 220, le système 28 place dans la trame du message ECM1,t le cryptogramme CW*;,t à l'emplacement déterminé lors de l'opération 217. [00105] Lors d'une étape 222, le générateur 28 transmet le message ECM,,t au 20 multiplexeur 26. [00106] Lors d'une étape 224, le multiplexeur 26 multiplexe la cryptopériode embrouillée CP*,,t formée lors de l'étape 206 et le message ECM1,t transmis lors de l'étape 222. [00107] Plus précisément, le message ECM1,t est inséré dans le signal par le 25 multiplexeur 26 avant la cryptopériode CP,,t. [00108] Les étapes 200 à 224 sont réitérées pour chaque cryptopériode. En conséquence, ici la carte virtuelle mère est changée toutes les cryptopériodes. [00109] Un procédé de réception d'un contenu multimédia embrouillé par le terminal 10 va maintenant être décrit en référence à la figure 6. 30 [00110] Lors d'une phase 300 préliminaire, un utilisateur du terminal 10 souscrit à un abonnement auprès d'un fournisseur de contenus multimédias. Par exemple, le fournisseur offre la possibilité de visionner les canaux 1 et 2. Plus particulièrement, ici l'utilisateur paye une redevance pour pouvoir visionner uniquement le canal 1 en clair. [00111] En réponse, l'opérateur délivre seulement les données nécessaires à 35 l'utilisateur pour pouvoir désembrouiller le canal 1. [00112] Lors d'une étape 302, le dispositif 6 chiffre les cartes virtuelles filles CFE1,1, CFE1,2 ,et CFE1,3 associées aux cartes virtuelles mère CME1,1, CME1,2, et CME1,3 de l'ensemble El, respectivement, à l'aide des clés K _CFE1,1, K_CFE1,2et K _CFE1,3 de manière à obtenir des cryptogrammes de code CF*E1,1, CF*E1,2 ,et CF*E1,3 des cartes 40 virtuelles filles. [00113] Lors d'une étape 304, le dispositif 6 transmet par l'intermédiaire d'un ou plusieurs messages EMM: - les cryptogrammes de code CF*E1,1, CF*E1,2, et CF*E1,3, - les identifiants ICFE1,1, ICFE1,2,et ICFE1,3 des cartes virtuelles filles CFE1,1, CFE1,2, et CFE1,3, - les clés K _CFE1,1, K_CFE1,2 et K_CFE1,3 pour permettre au terminal 10 de déchiffrer les cryptogrammes CF*E1,1, CF*E1,2, et CF*E1,3, et - les clés Ksign_CFE1,1, Ksign_CFE1,2 et Ksign_CFE1,3 pour permettre au terminal 10 de vérifier l'authenticité des cartes virtuelles filles CFE1,1, CFE1,2, et CFE1,3. [00114] Les clés K _CFE1,1, K_CFE1,2 et K_CFE1,3, et les clés Ksign_CFE1,1, Ksign_CFE1,2 et Ksign_CFE1,3 sont avantageusement chiffrées au préalable à l'aide de la clé Kchip. [00115] Lors d'une étape 306, le terminal 10 réceptionne le ou les messages EMM transmis par le dispositif 6 et préenregistre le contenu de ce ou ces messages dans les mémoires 90 et 92 pour former les bases de données 100, 102. [00116] Lorsque la phase préliminaire 300 s'achève, les bases de données 100, 102, et la table 104 en mémoire 90 et 92 sont telles que représentées sur les figures 3a, 3b et 3c. [00117] Lors d'une phase 307 d'utilisation, l'utilisateur souhaite utiliser un contenu multimédia. Par exemple, l'utilisateur souhaite regarder un film sur le canal 1 à l'instant t. [00118] A cet effet, lors d'une étape 308 le terminal 10 se connecte au réseau 8 et reçoit un contenu multimédia multiplexé par l'intermédiaire du récepteur 70. Ce contenu multiplexé est démultiplexé par le démultiplexeur 72. Le démultiplexeur 72 transmet la cryptopériode embrouillée CP*1,t au désembrouilleur 74, et le message ECM1,t au processeur 96. [00119] On rappelle que le message ECM1,tcontient: - l'identifiant ICFE1,1 de la carte virtuelle fille CFE1,1, - le patch fille PF1, - le cryptogramme CW*1,t, et - une redondance cryptographique MAC. [00120] Lors d'une étape 309, le processeur 96 vérifie l'intégrité du message ECM1,t reçu en recalculant la redondance cryptographique MAC de ce message ECM1,t et en comparant le résultat obtenu avec la redondance cryptographique MAC contenue dans le message ECM1,t reçu. Si le résultat du calcul coïncide avec la redondance cryptographique MAC contenue dans le message ECM1,t reçu alors on procède à une étape 310. Sinon le procédé est interrompu. [00121] Lors d'une étape 310, le processeur 96 récupère l'identifiant ICFE1,1 40 dans le message ECM1,t reçu. [00122] Lors d'une étape 312, le processeur 96 vérifie dans la base de donnée 104, à l'aide de l'identifiant ICFE1,, reçu, si celle-ci comporte déjà la carte virtuelle fille CFE1,1 pour déchiffrer le cryptogramme CW*,,t contenu dans le message ECM1,t. Si la base 104 comporte la carte virtuelle fille CFE1,1 alors on procède directement à une étape 314. En effet, dans ce cas, il n'est pas nécessaire de déchiffrer le cryptogramme CF*E,,, pour obtenir la carte CFE1,1 en clair. Dans le cas contraire, on procède à une étape 315. [00123] Lors de l'étape 315, le processeur 96 vérifie dans la base de données 100 si celle-ci contient l'identifiant ICFE,,,. Dans l'affirmative, cela signifie que le terminal contient le cryptogramme CF*E,,, et qu'il est donc autorisé à visualiser le canal 1. [00124] On procède alors à une étape 326. [00125] Si la base 104 ne contient pas le cryptogramme CF*E,,, alors le processeur 96 ne peut pas déchiffrer le cryptogramme CW*,,t. Dans ces conditions, l'utilisateur n'est pas autorisé à visionner le canal 1 en clair et le procédé de réception s'achève. [00126] Lors de l'étape 326, le processeur 96 déchiffre les clés K_CFE1,1 et Ksign_CFE1,1 associées à l'identifiant ICFE1,, dans la base 102 à l'aide de la clé Kchip. Puis, le processeur 96 déchiffre le cryptogramme CF*E,,, à partir de la clé K _CFE1,1 de manière à obtenir la carte virtuelle fille déchiffrée CFE1,,. [00127] Lors d'une étape 328, le processeur 96 vérifie la signature de la carte virtuelle fille déchiffrée CFE1,, à l'aide de la clé Ksign_CFE1,1. Par exemple, le processeur 96 applique une fonction de hachage, plus connue sous le terme anglais de « Flash », sur la carte virtuelle CFE1,1 pour obtenir une première empreinte de cette carte. Ensuite, il déchiffre la signature 136 de la carte CFE1,, avec la clé publique Ksign_CFE1,1 pour obtenir une deuxième empreinte. Si les première et deuxième empreintes correspondent, alors la carte CFE1,1 est correctement authentifiée. [00128] Dans ce cas, lors d'une étape 330, le processeur 96 interroge la mémoire 92 pour connaître son espace mémoire disponible. Si la mémoire 92 possède un espace mémoire suffisant, la carte virtuelle fille CFE1,1 déchiffrée lors de l'étape 326 est sécurisée par le coprocesseur 97, copiée dans la mémoire 90, répertoriée dans la base de données 104 lors d'une étape 332 et associée à l'identifiant ICME1,1. Par « répertorier » on désigne une opération lors de laquelle l'adresse mémoire à laquelle est copiée la carte virtuelle fille CFE1,1 est associée à l'identifiant ICFE1,, dans la base de données 104.Sinon, lors d'une étape 334 la mémoire 92 supprime une des cartes virtuelles CFEi,k dans la base 104 pour pouvoir recevoir la carte virtuelle fille CFE1,,. A titre d'exemple, ici on applique l'algorithme LRU (pour « least recent used »). La carte virtuelle fille dans la mémoire 90 la plus anciennement utilisée est d'abord supprimée. Puis, la carte virtuelle fille CFE1,1 est sécurisée par le coprocesseur 97, copiée dans la mémoire 90 puis répertoriée.. [00129] Une fois l'étape 332 ou 334 achevée, on procède à l'étape 314. [00130] Si la signature calculée lors de l'étape 328 ne coïncide pas avec la signature 136 contenue dans la carte virtuelle déchiffrée lors de l'étape 326 alors la carte virtuelle CFE1,1 n'est pas authentifiée. Dans ce cas, le processeur 96 ne décrypte pas le cryptogramme CW*,,t et le procédé de réception est interrompu. [00131] Lors de l'étape 314, le processeur 96 exécute l'analyseur de syntaxe de la carte virtuelle fille CFE1,1 et extrait dans le message ECM,,t le cryptogramme CW*,,t et le patch fille PF1. [00132] Lors d'une étape 316, le processeur 46 applique le patch fille PF1 extrait 10 lors de l' étape 314 à l'algorithme de décryptage de la carte virtuelle fille CF1,1 . L'algorithme de décryptage formé lors de cette étape 322 est par la suite appelé « algorithme de décryptage opérationnel ». [00133] Lors d'une étape 318, le processeur 96 décrypte le cryptogramme ove, à partir de l'algorithme de décryptage opérationnel formé lors de l'étape 316 et 15 de la clé d'exploitation KexpE,,, contenue dans la carte virtuelle fille CFE1,1. Ainsi, lors de cette étape 318, le processeur 96 obtient le mot de contrôle CW1,ten clair. [00134] Lors d'une étape 320, le processeur 96 transmet le mot de contrôle CW,,t en clair au désembrouilleur 74. [00135] Lors d'une étape 322, le désembrouilleur 74 désembrouille la 20 cryptopériode embrouillée CP*,,t à partir du mot de contrôle CW,,t transmis par le processeur 96 et obtient une cryptopériode CP,,t désembrouillée. La cryptopériode CP,,t désembrouillée est alors transmise au décodeur 80. [00136] Lors d'une étape 324, le décodeur 80 décode la cryptopériode CP,,t puis transmet le résultat du décodage à la carte graphique 82. La carte graphique 82 pilote 25 enfin l'affichage de ce résultat sur l'écran 86. [00137] Les étapes 308 à 334 sont réitérées pour chaque cryptopériode. [00138] De nombreux autres modes de réalisation sont possibles. [00139] Par exemple, les cartes mères ne sont pas nécessairement préenregistrées dans la mémoire 36. Les cartes virtuelles mères peuvent être 30 générées dynamiquement par le processeur 46 lors de la phase préliminaire 300, avant de transmettre les cartes virtuelles filles associées. [00140] Dans une variante, la sélection par le terminal 10 d'une carte virtuelle fille à utiliser pour décrypter un cryptogramme CW*t consiste en la génération dynamique de la carte virtuelle par le processeur 96, à partir d'une fonction 35 préenregistrée dans la mémoire 90 et de l'identifiant ICFEi,k reçu. [00141] Dans une autre variante, la syntaxe des messages ECM est toujours la même. Dans ce cas, les cartes virtuelles mère et fille comportent , respectivement, toujours le même constructeur syntaxique et le même analyseur syntaxique. [00142] Toujours en variante, les patchs logiciels mère et fille s'appliquent respectivement aux codes du constructeur syntaxique et de l'analyseur syntaxique des cartes virtuelles. [00143] En variante, à une carte virtuelle mère ou à un ensemble E; de cartes 5 virtuelles mères on associe un ensemble spécifique de patches mères propre uniquement à cette carte ou à cet ensemble E. [00144] Également en variante, les patches mères et/ou filles sont directement mémorisés dans les cartes virtuelles mères et filles, respectivement. [00145] Également en variante, les patchs logiciels mère et fille peuvent être 10 omis. Dans ce cas, les algorithmes de cryptage et décryptage des cartes virtuelles mère et fille ne comportent plus de partie manquante de code 124 et 132. [00146] Dans une autre variante, il n'existe pas d'ensemble E; de cartes virtuelles mères spécifique à chaque canal i. Par exemple, il existe un unique ensemble E pour tous les canaux. Dans ce cas, toutes les cartes virtuelles de cet 15 ensemble peuvent être utilisées pour crypter un mot de contrôle servant à embrouiller une cryptopériode d'un des canaux i. De préférence, afin de restreindre l'accès de certains canaux à des utilisateurs possédant des titres d'accès, des conditions d'accès sont incorporées dans les messages ECM transmis par le dispositif 6. Ces conditions d'accès et les titres d'accès enregistrés dans la carte virtuelle fille sont 20 comparés lors de la réception d'un message ECM afin de déterminer si le processeur peut décrypter ou pas le cryptogramme incorporé dans ce message ECM. [00147] Dans une autre variante, le processeur de sécurité qui exécute le procédé de réception de la figure 5 ou 6 est le processeur d'une carte à puce. [00148] Toujours en variante, les messages ECM ne comportent pas un 25 identifiant ICF d'une carte virtuelle fille en particulier mais l'identifiant d'un ensemble de carte virtuelles filles. Dans ce cas, lorsque le terminal de réception reçoit le message ECM, le terminal essaie toutes les cartes virtuelles filles associées à cet ensemble jusqu'à trouver la carte virtuelle fille permettant de décrypter le cryptogramme CW* contenu dans le message ECM. 30 [00149] Dans une autre variante, aucun identifiant de la nouvelle carte virtuelle fille à utiliser n'est transmis au terminal. Par exemple, dans ce cas, le terminal teste à chaque fois qu'il reçoit un nouveau cryptogramme CW*t si la carte virtuelle fille actuellement sélectionnée permet de déchiffrer correctement ce cryptogramme. Dans l'affirmative, il continue d'utiliser la carte virtuelle fille actuelle. Dans la négative, il 35 essaye successivement toutes les cartes virtuelles filles qu'il a en mémoire jusqu'à trouver celle qui permet de déchiffrer ce cryptogramme. Cette dernière carte virtuelle fille est alors sélectionnée pour être utilisée à la place de l'ancienne. [00150] En variante, lors de la phase 300 les cartes virtuelles filles ne sont pas transmises par l'intermédiaire de messages EMM mais par le biais d'un service dédié 40 en broadcast (c'est à dire une diffusion à tous les terminaux connectés au réseau 8) ou multicast (c'est à dire une diffusion à un groupe particulier de terminaux connectés au réseau 8) tel que DVB-SSU ou DSM-CC, ou encore par le biais de message ECM. [00151] Dans le cas où le réseau 8 est un réseau hybride (par exemple le réseau 8 est formé du réseau TNT et d'un réseau internet) le dispositif 6 peut transmettre aux terminaux une URL (pour Union Ressource Locator) d'un serveur de carte virtuelles filles. Chaque terminal télécharge les cartes virtuelles filles sur ce serveur. De préférence, le téléchargement des cartes virtuelles est sécurisé. Par exemple, l'utilisation des protocoles SSL (pour Secure Shell) ou HTTPS (pour Hyper Text Transfer Protocol Secured) et/ou l'utilisation d'une infrastructure à clé publique (plus connue sous le nom de PKI) est recommandé. Il est possible de mettre en oeuvre cette variante à partir de système utilisant l'IPTV ou la WebTV. [00152] Afin de limiter dans le temps des cartes virtuelles filles, une durée de validité peut être incorporée dans chaque carte. [00153] Dans le procédé de la figure 5, en variante, pendant plusieurs 15 cryptopériodes, on conserve la même carte virtuelle mère mais on change de patch logiciel mère à chaque cryptopériode. [00154] Dans une autre variante pour ce procédé, à chaque nouvelle cryptopériode, on change de carte virtuelle mère mais on conserve le même patch logiciel. 20 [00155] De préférence, la carte virtuelle mère est changée au minimum toutes les trente minutes, au minimum toutes les dix minutes, et de manière encore plus préférentielle au minimum toutes les minutes. REVENDICATIONS1. Procédé de transmission et de réception d'un contenu multimédia dont chaque cryptopériode CPt est embrouillée à l'aide d'un mot de contrôle CWt respectif, le procédé comportant : - le cryptage, par un émetteur, du mot de contrôle CWt à l'aide d'une clé d'exploitation et d'un code exécutable contenus dans une carte virtuelle mère pour obtenir un cryptogramme CW*t, - la génération d'un message ECM (Entitlement Control Message) incorporant le cryptogramme CW*t et la transmission de ce message ECM à un terminal, - la réception par le terminal du message ECM, le déchiffrement du cryptogramme à l'aide d'une clé d'exploitation et d'un code exécutable d'une carte virtuelle fille associée à la carte virtuelle mère, et le désembrouillage de la cryptopériode CPt du contenu multimédia embrouillée à l'aide du mot de contrôle déchiffré CWt, caractérisé en ce que le procédé comporte également : - le changement au minimum toutes les deux heures, par l'émetteur, de la carte virtuelle mère utilisée pour obtenir le cryptogramme CW*t+n d'une cryptopériode suivante CPt+n du même contenu multimédia, la nouvelle carte virtuelle mère utilisée différant de la précédente carte virtuelle mère utilisée par sa clé d'exploitation et/ou son code exécutable, - en réponse, la sélection par le terminal d'une nouvelle carte virtuelle fille à utiliser pour décrypter le cryptogramme CW*t+n de manière à obtenir le mot de contrôle CWt+n. 2. Procédé selon la revendication 1, dans lequel le code exécutable d'une carte virtuelle mère ou fille comprend : - un algorithme de cryptage ou de décryptage, et - un constructeur syntaxique pour construire un message ECM ou un analyseur syntaxique pour localiser la position d'un cryptogramme d'un mot de contrôle dans un 30 message ECM. 3. Procédé de génération de messages ECM pour la mise en oeuvre d'un procédé de transmission et de réception de contenu multimédia conforme à l'une quelconque des revendications précédentes, chaque message ECM comportant 35 un cryptogramme CW*t d'un mot de contrôle CWt utilisé pour embrouiller une cryptopériode CPt respective d'un même contenu multimédia, le procédé comportant: a) le cryptage du mot de contrôle CWt à l'aide d'une clé d'exploitation et d'un code exécutable contenus dans une carte virtuelle mère pour obtenir le cryptogramme 40 CW*t, etb) la génération d'un message ECM incorporant le cryptogramme CW*t, caractérisé en ce que, le procédé comporte également : c) le changement au minimum toutes les deux heures de la carte virtuelle mère utilisée pour obtenir le cryptogramme CW*t+n d'une cryptopériode suivante CPt+n, la nouvelle carte virtuelle mère utilisée différant de la précédente carte virtuelle mère utilisée par la clé d'exploitation et/ou son code exécutable. 4.Procédé selon la revendication 3, dans lequel le procédé comporte la transmission au terminal, dans un message ECM, d'un identifiant de la carte virtuelle fille à utiliser 10 pour décrypter le cryptogramme CWt+n*. 5. Procédé selon l'une quelconque des revendications 3 à 4, dans lequel lors de l'étape c) la carte virtuelle mère est sélectionnée parmi un ensemble de cartes virtuelles préenregistrées à l'intérieur de l'émetteur, les cartes virtuelles 15 appartenant à cet ensemble étant distinctes les unes des autres. 6. Procédé selon la revendication 5, dans lequel lors de l'étape c) la carte virtuelle mère est sélectionnée pseudo-aléatoirement parmi l'ensemble de cartes virtuelles préenregistrées à l'intérieur de l'émetteur. 20 7. Procédé selon l'une quelconque des revendications 3 à 6, dans lequel: - le procédé comporte la sélection, en fonction du contenu multimédia à embrouiller, d'un ensemble de plusieurs cartes virtuelles mères différentes parmi plusieurs ensembles de cartes virtuelles mères, à l'aide d'une relation associant à chaque 25 contenu multimédia un seul ensemble de cartes virtuelles mères, chaque carte virtuelle mère appartenant exclusivement à un unique ensemble, et - les mots de contrôle pour embrouiller un contenu multimédia sont cryptés uniquement à l'aide de cartes virtuelles mères sélectionnées dans l'ensemble associé à ce contenu, de manière à limiter l'accès au contenu multimédia 30 embrouillé aux seuls terminaux de réception disposant d'un ensemble de cartes virtuelles filles correspondant à cet ensemble de cartes virtuelles mères. 8. Procédé de réception, par un terminal, pour la mise en oeuvre d'un procédé de transmissionet de réception conforme aux revendications 1 à 2, ce procédé 35 comportant : e) la réception par l'intermédiaire d'un ou plusieurs messages ECM d'un cryptogramme CW*t+n du mot de contrôle CWt+n, , et f) en réponse, la sélection par le terminal d'une carte virtuelle fille à utiliser pour le décryptage du cryptogramme CW*t+n parmi un ensemble de cartes virtuelles fillespréenregistrées dans le terminal, chaque carte virtuelle fille comprenant une clé d'exploitation et un code exécutable, de manière à obtenir le mot de contrôle CWt+n. 9.Procédé selon la revendication 8, dans lequel le procédé comporte: - la réception d'un identifiant d'une carte virtuelle fille lors de l'étape e), et - la sélection par le terminal de la carte virtuelle fille parmi l'ensemble de cartes préenregistrées à partir de l'identifiant reçu lors de l'étape e). 10. Procédé selon l'une quelconque des revendications 8 à 9, dans lequel le procédé 10 comporte également : - la réception, lors de l'étape e), par le terminal, d'une ou plusieurs instructions additionnelles, et - en réponse, la modification du code exécutable de la carte virtuelle fille sélectionnée en complétant et/ou remplaçant une partie seulement des instructions du code 15 exécutable de cette carte virtuelle fille par la ou les instructions reçues. 11. Procédé selon l'une quelconque des revendications 9 à 10, dans lequel le procédé comporte: h) la réception par le terminal d'une carte virtuelle fille chiffrée, 20 i) la mémorisation de la carte virtuelle fille chiffrée reçue pour ajouter cette carte à l'ensemble de cartes virtuelles filles pré-enregistrées, et j) le déchiffrement de la carte virtuelle fille chiffrée, en réponse à la réception de l'identifiant , les étapes h), i), et j) étant exécutées avant la mise en oeuvre des étapes e) et f). 25 12. Support d'enregistrement d'informations, caractérisé en ce qu'il comporte des instructions pour l'exécution d'un procédé conforme à l'une quelconque des revendications 1 à 11, lorsque ces instructions sont exécutées par un calculateur électronique. 30 13. Émetteur pour la mise en oeuvre d'un procédé de génération de messages ECM selon l'une quelconque des revendications 3 à 7, l'émetteur comportant: - un embrouilleur (22) pour embrouiller une cryptopériode CPt respective d'un contenu multimédia à l'aide d'un mot de contrôle CWt, 35 - un système (28) pour crypter le mot de contrôle CWt à l'aide d'une clé d'exploitation et d'un code exécutable contenus dans une carte virtuelle mère pour obtenir le cryptogramme CW*t, et pour générer un message ECM incorporant le cryptogramme CW*t, caractérisé en ce que,- le système (28) est programmé pour changer la carte virtuelle mère utilisée, au minimum toutes les deux heures afin d'obtenir le cryptogramme CW*t+n d'une cryptopériode suivante CPt+n, la nouvelle carte virtuelle mère utilisée différant de la précédente carte virtuelle mère utilisée par la clé d'exploitation et/ou son code exécutable. 14. Terminal de réception pour la mise en oeuvre d'un procédé selon l'une quelconque des revendications 8 à 11, ce terminal de réception comportant : - un ensemble (100, 104) de cartes virtuelles filles préenregistrées - un récepteur (70) pour recevoir par l'intermédiaire d'un ou plusieurs messages ECM, un cryptogramme CW*t+n du mot de contrôle CWt+n , et - un circuit intégré (76) programmé pour sélectionner une nouvelle carte virtuelle fille à utiliser pour le décryptage du cryptogramme CW*t+n dans l'ensemble de cartes virtuelles filles préenregistrées de manière à obtenir le mot de contrôle CWt+n.