CHIEZE QUENTIN (FR)
WO2012089542A1 | 2012-07-05 | |||
WO2001082525A1 | 2001-11-01 | |||
WO2012089542A1 | 2012-07-05 | |||
WO2001082525A1 | 2001-11-01 |
US20130132725A1 | 2013-05-23 | |||
US20150269367A1 | 2015-09-24 | |||
US8885816B2 | 2014-11-11 | |||
US20130132725A1 | 2013-05-23 | |||
US20150269367A1 | 2015-09-24 | |||
FR2918830A1 | 2009-01-16 |
REVENDICATIONS 1. Procédé de réception et de déchiffrement d'un cryptogramme d'un mot de contrôle utilisable pour désembrouiller une cryptopériode d'un contenu multimédia, ce procédé comportant : a) la réception (140) d'un message de contrôle d'accès contenant : • une plage de bits à partir de laquelle un cryptogramme CW*t du mot de contrôle peut être obtenu, et • une redondance cryptographique qui permet de vérifier l'intégrité du cryptogramme CW*t, caractérisé en ce que ce procédé comporte ensuite : b) l'obtention (150 ; 182) d'une variante particulière du cryptogramme CW*t qui appartient à une liste de N variantes différentes du cryptogramme CW*t, cette liste comportant une variante identique au cryptogramme CW*t et toutes les autres variantes qui appartiennent à cette liste étant des leurres distincts les uns des autres du cryptogramme CW*t qui ne permettent pas de désembrouiller la cryptopériode, N étant un entier supérieur ou égal à deux, chacune des variantes qui appartiennent à cette liste étant générée à partir de la même plage de bits du message de contrôle d'accès reçu, en traitant cette plage de bits à l'aide d'une fonction d'extraction prédéterminée apte à générer, lorsqu'elle est exécutée par un microprocesseur, à partir de cette plage de bits, chacune des N variantes qui appartiennent à cette liste, puis c) la vérification (152) de l'intégrité de la variante obtenue, à partir de la redondance cryptographique contenue dans le message de contrôle d'accès reçu, en exécutant une fonction prédéterminée et secrète de vérification apte à confirmer et, en alternance, à infirmer l'intégrité de la variante obtenue, lorsque cette fonction est exécutée par un microprocesseur, d) uniquement si, lors de l'étape c), l'intégrité de la variante obtenue est confirmée, le déchiffrement (156) de la variante obtenue, avec une clé d'exploitation, pour obtenir le mot de contrôle déchiffré, puis la transmission (156) du mot de contrôle déchiffré à un désembrouilleur pour désembrouiller la cryptopériode du contenu multimédia embrouillé, e) si, lors de l'étape c), l'intégrité de la variante obtenue est infirmée, la non- transmission au désembrouilleur de la variante obtenue, et - s'il existe une autre variante du cryptogramme CW*t qui appartient à la liste de N variantes et pour laquelle l'étape c) n'a pas encore été exécutée : le retour du procédé à l'étape b) pour obtenir cette autre variante, puis la réitération de l'étape c) et de l'étape d) ou e) pour cette autre variante, et en alternance, - si l'étape c) a déjà été exécutée pour chacune des variantes qui appartiennent à la liste de N variantes : l'interruption du traitement du message de contrôle d'accès reçus lors de l'étape a). 2. Procédé selon la revendication 1, dans lequel si l'intégrité de chacune des variantes obtenues qui appartiennent à la liste de N variantes a été infirmée, alors le procédé retourne à l'étape a) pour recevoir un nouveau message de contrôle d'accès à traiter. 3. Procédé selon l'une quelconque des revendications précédentes, dans lequel la redondance cryptographique est un code d'authentification de message et, lors de l'étape c), le procédé comporte à la fois la vérification (152) de l'intégrité du cryptogramme CW*t et la vérification (152) de l'authenticité du cryptogramme CW*t . 4. Procédé selon l'une quelconque des revendications précédentes, dans lequel N est compris entre trois et huit. 5. Procédé selon l'une quelconque des revendications précédentes, dans lequel la plage de bits contenue dans le message de contrôle d'accès comporte exactement le même nombre de bits que le cryptogramme CW*t et, lors de l'étape b), la fonction d'extraction prédéterminée est apte à générer, lorsqu'elle est exécutée par un microprocesseur, les N variantes différentes comportant chacune exactement le même nombre de bits que le cryptogramme CW*t à partir de cette plage de bits. 6. Procédé selon l'une quelconque des revendications précédentes, dans lequel, uniquement en réponse au fait que les étapes c) et e) ont été réitérées pour toutes les variantes de la liste, le procédé comporte l'émission (154) d'un signal indiquant que l'intégrité du cryptogramme CW*t est infirmée. 7. Procédé de génération et d'émission d'un cryptogramme d'un mot de contrôle utilisable pour désembrouiller une cryptopériode d'un contenu multimédia, le cryptogramme généré et émis étant apte à être reçu et déchiffré à l'aide d'un procédé conforme à l'une quelconque des revendications précédentes, ce procédé comportant : a) la génération (120) d'un mot de contrôle CWt utilisé pour embrouiller la cryptopériode du contenu multimédia, b) le chiffrement (126) du mot de contrôle CWt avec la clé d'exploitation pour obtenir le cryptogramme CW*t de ce mot de contrôle, c) la construction (128) d'une redondance cryptographique à partir du cryptogramme CW*t, cette redondance cryptographique permettant de vérifier l'intégrité du cryptogramme CW*t en exécutant la fonction prédéterminée et secrète de vérification apte à confirmer et, en alternance, à infirmer l'intégrité de ce cryptogramme lorsque cette fonction est exécutée par un microprocesseur, caractérisé en ce que le procédé comporte ensuite : d) la construction (130 ; 172) d'une plage de bits à partir du cryptogramme CW*t permettant, en traitant cette plage de bits à l'aide de la fonction d'extraction prédéterminée, de générer, lorsque la fonction d'extraction est exécutée par un microprocesseur, à partir de cette plage de bits, chacune des variantesqui appartiennent à une liste de N variantes différentes du cryptogramme CW*t, cette liste comportant une variante identique au cryptogramme CW*t et toutes les autres variantes étant des leurres distincts les uns des autres du cryptogramme CW*t, qui ne permettent pas de désembrouiller la cryptopériode, N étant un entier supérieur ou égal à deux, e) la génération (132) du message de contrôle d'accès comportant la plage de bits construite et la redondance cryptographique construite, et f) la transmission (136) du message de contrôle d'accès construit vers un récepteur apte à déchiffrer le cryptogramme CW*t contenu dans ce message de contrôle d'accès. 8. Procédé selon la revendication 7, dans lequel : - les étapes a) à b) sont exécutées pour un premier mot de contrôle CWt destiné à embrouiller une première cryptopériode, puis les étapes a) à f) sont exécutées pour un deuxième mot de contrôle CWt+i destiné à embrouiller une deuxième cryptopériode, les première et deuxième cryptopériodes étant des cryptopériodes immédiatement successives dans le temps, - lors de l'exécution l'étape e) exécutée pour le deuxième mot de contrôle CWt+i, le message de contrôle d'accès généré comprend le cryptogrammes CW*t et la plage de bits est construite de manière à coder N variantes du cryptogramme CW*t+i et aucune variante du cryptogramme CW*t. 9. Support d'enregistrement d'informations, caractérisé en ce qu'il comporte des instructions pour la mise en œuvre d'un procédé conforme à l'une quelconque des revendications précédentes, lorsque ces instructions sont exécutées par un microprocesseur électronique. 10. Tête (6) de réseau pour la mise en œuvre d'un procédé conforme à l'une quelconque des revendications 7 à 8, cette tête de réseau comportant : a) un générateur (32) apte à générer un mot de contrôle CWt utilisé pour embrouiller la cryptopériode du contenu multimédia, b) un système (28) d'accès conditionnel apte : - à chiffrer le mot de contrôle CWt avec la clé d'exploitation pour obtenir le cryptogramme CW*t de ce mot de contrôle, - à construire une redondance cryptographique à partir du cryptogramme CW*t, cette redondance cryptographique permettant de vérifier l'intégrité du cryptogramme CW*t en exécutant la fonction prédéterminée et secrète de vérification apte à confirmer et, en alternance, à infirmer l'intégrité de ce cryptogramme lorsque cette fonction est exécutée par un microprocesseur, caractérisé en ce que le système (28) d'accès conditionnel est également apte : - à construire une plage de bits à partir du cryptogramme CW*t permettant, en traitant cette plage de bits à l'aide de la fonction d'extraction prédéterminée, de générer, lorsque la fonction d'extraction est exécutée par un microprocesseur, à partir de cette plage de bits, chacune des variantes qui appartiennent à une liste de N variantes différentes du cryptogramme CW*t, cette liste comportant une variante identique au cryptogramme CW*t et toutes les autres variantes étant des leurres distincts les uns des autres du cryptogramme CW*t, qui ne permettent pas de désembrouiller la cryptopériode, N étant un entier supérieur ou égal à deux, - à générer le message de contrôle d'accès comportant la plage de bits construite et la redondance cryptographique construite, et - à transmettre le message de contrôle d'accès construit vers un récepteur apte à déchiffrer le cryptogramme CW*t contenu dans ce message de contrôle d'accès. 11. Processeur (76) de sécurité pour la mise en œuvre d'un procédé conforme à l'une quelconque des revendications 1 à 6, ce processeur de sécurité comportant un microprocesseur (77) programmé pour réaliser l'étape suivante : a) la réception d'un message de contrôle d'accès contenant : • une plage de bits à partir de laquelle un cryptogramme CW*t du mot de contrôle peut être obtenu, et • une redondance cryptographique qui permet de vérifier l'intégrité du cryptogramme CW*t, caractérisé en ce que ce microprocesseur (77) est également programmé pour réaliser les étapes suivantes : b) l'obtention d'une variante particulière du cryptogramme CW*t qui appartient à une liste de N variantes différentes du cryptogramme CW*t, cette liste comportant une variante identique au cryptogramme CW*t et toutes les autres variantes qui appartiennent à cette liste étant des leurres distincts les uns des autres du cryptogramme CW*t qui ne permettent pas de désembrouiller la cryptopériode, N étant un entier supérieur ou égal à deux, chacune des variantes de cette liste étant générée à partir de la même plage de bits du message de contrôle d'accès reçu, en traitant cette plage de bits à l'aide d'une fonction d'extraction prédéterminée apte à générer, lorsqu'elle est exécutée par un microprocesseur, à partir de cette plage de bits, chacune des variantes qui appartiennent à cette liste, puis c) la vérification de l'intégrité de la variante obtenue, à partir de la redondance cryptographique contenue dans le message de contrôle d'accès reçu, en exécutant une fonction prédéterminée et secrète de vérification apte à confirmer et, en alternance, à infirmer l'intégrité de la variante obtenue, lorsque cette fonction est exécutée par un microprocesseur, d) uniquement si, lors de l'étape c), l'intégrité de la variante obtenue est confirmée, le déchiffrement de la variante obtenue avec une clé d'exploitation pour obtenir le mot de contrôle déchiffré, puis la transmission du mot de contrôle déchiffré à un désembrouilleur pour désembrouiller la cryptopériode du contenu multimédia embrouillé, e) si, lors de l'étape c), l'intégrité de la variante obtenue est infirmée, la non- transmission, au désembrouilleur, de la variante obtenue, et - s'il existe une autre variante du cryptogramme CW*t qui appartient à la liste de N variantes et pour laquelle l'étape c) n'a pas encore été exécutée : le retour du procédé à l'étape b) pour obtenir cette autre variante, puis la réitération de l'étape c) et de l'étape d) ou e) pour cette autre variante, et en alternance, - si l'étape c) a déjà été exécutée pour chacune des variantes qui appartiennent à la liste de N variantes : l'interruption du traitement du message de contrôle d'accès reçus lors de l'étape a). |
D'UN MOT DE CONTRÔLE
[001] L'invention concerne un procédé de réception et de déchiffrement d'un cryptogramme d'un mot de contrôle utilisable pour désembrouiller une cryptopériode d'un contenu multimédia. L'invention concerne aussi un procédé de génération et d'émission d'un cryptogramme d'un mot de contrôle utilisable pour désembrouiller une cryptopériode d'un contenu multimédia. L'invention a également pour objet un support d'enregistrement d'informations, une tête de réseau et un processeur de sécurité pour la mise en œuvre de ces procédés.
[002] Par contenu multimédia on désigne 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.
[003] Pour sécuriser et soumettre la visualisation des contenus multimédias à certaines conditions, dites conditions d'accès, comme la souscription d'un abonnement payant, ou un achat à la séance, par exemple, les contenus multimédias sont fournis sous forme embrouillée et non pas en clair. Plus précisément, par exemple, chaque contenu multimédia est divisé en une succession de segments de durée de jeu prédéterminée dite « cryptopériode », segments eux-mêmes appelés habituellement « cryptopériodes » dans la suite de ce document. 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 une même clé cryptographique, dite mot de contrôle. Généralement, le mot de contrôle varie d'une cryptopériode à l'autre. De plus, le mot de contrôle est généralement spécifique à un contenu multimédia, et aléatoirement ou pseudo aléatoirement tiré.
[004] Ici, les termes « embrouiller » et « désembrouiller » et « chiffrer » et « déchiffrer », sont respectivement considérés comme des synonymes.
[005] Le contenu multimédia en clair correspond au contenu multimédia avant que celui-ci ne soit embrouillé. Celui-ci peut être rendu compréhensible par un être humain directement, c'est-à-dire sans avoir recours à des opérations de désembrouillage, et donc sans que ce désembrouillage, ni donc la visualisation du contenu multimédia, soit soumise à des conditions d'accès.
[006] Les mots de contrôle nécessaires pour désembrouiller les contenus 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-l)-ième cryptopériode. Pour cela, par exemple, les mots de contrôle sont multiplexés avec le contenu multimédia embrouillé.
[007] Pour sécuriser la transmission des mots de contrôle, ceux-ci sont transmis aux terminaux sous forme de cryptogrammes contenu dans des messages de contrôle d'accès connu sous le terme de « message de contrôle des titres d'accès », ou « message ECM » (Entitlement Control Message). Pour améliorer la sécurité de cette transmission, les messages ECM peuvent en outre contenir une donnée supplémentaire, telle qu'une redondance cryptographique, qui permette de confirmer ou infirmer l'intégrité du cryptogramme du mot de contrôle. De tels procédés sont par exemple décrit dans WO2012/089542A1 et US2013/132725A1.
[008] De l'état de la technique est également connu de US2015/269367A1 et WO01/82525A1.
[009] On désigne ici par cryptogramme du mot de contrôle une information permettant d'obtenir le mot de contrôle, mais insuffisante à elle seule pour ce faire. 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. Pour retrouver le mot de contrôle, le cryptogramme du mot de contrôle 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 avec une clé cryptographique appelée « clé d'exploitation ». Dans ce cas, l'information secrète est la clé d'exploitation permettant de déchiffrer ce cryptogramme. Le cryptogramme du mot de contrôle peut aussi être une référence à un mot de contrôle stocké dans une table contenant une multitude de mots de contrôle possibles. Dans ce cas, l'information secrète est la table associant à chaque référence un mot de contrôle.
[0010] 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 des processeurs de sécurité tels que des cartes à puce directement connectées à chacun des terminaux.
[0011] Dans ce contexte, des attaques ont été développées pour permettre à des utilisateurs de désembrouiller des contenus multimédias pour lesquels ils n'ont pas acquis licitement des droits d'accès.
[0012] L'une de ces attaques consiste à extraire d'un processeur de sécurité les informations secrètes par des techniques de cryptanalyse connues sous les termes de « attaque par canaux auxiliaires » ou «side-channel attack » en anglais. Par exemple, une fois que la clé d'exploitation k e et la fonction de déchiffrement f de sont connues, un pirate informatique peut facilement développer un terminal dit « pirate » capable de désembrouiller illicitement le contenu multimédia. Typiquement, un tel terminal pirate reçoit les messages ECM diffusés par une tête de réseau, en extrait les cryptogrammes des mots de contrôle puis déchiffre ces cryptogrammes à l'aide de la fonction f de et de la clé k e . Il obtient ainsi les mots de contrôle en clair qui permettent de désembrouiller les cryptopériodes du contenu multimédia embrouillé.
[0013] Généralement, de tels terminaux pirates se contentent de faire le strict nécessaire pour déchiffrer les cryptogrammes des mots de contrôle. Par exemple, contrairement à des terminaux licites :
- ils ne comparent pas les conditions d'accès contenues dans les messages ECM à des titres d'accès préenregistrés dans le terminal afin d'autoriser et, en alternance, d'interdire l'accès au contenu multimédia, et
- ils ne vérifient pas l'intégrité des cryptogrammes des mots de contrôle contenus dans les messages ECM.
[0014] L'invention vise à proposer un procédé de réception et de déchiffrement d'un cryptogramme d'un mot de contrôle plus robuste vis-à-vis de ce type d'attaque. Elle a donc pour objet un tel procédé de réception conforme à la revendication 1.
[0015] Les modes de réalisation de ce procédé de réception et de déchiffrement peuvent comporter une ou plusieurs des caractéristiques des revendications dépendantes de procédé de réception.
[0016] L'invention a également pour objet un procédé de génération et d'émission d'un cryptogramme d'un mot de contrôle utilisable pour désembrouiller une cryptopériode d'un contenu multimédia, le cryptogramme généré et émis étant apte à être reçu et déchiffré à l'aide du procédé revendiqué de réception et de déchiffrement.
[0017] Les modes de réalisation de ce procédé de génération et d'émission peuvent comporter la caractéristique des revendications dépendantes de procédé de génération t .
[0018] L'invention a également pour objet un support d'enregistrement d'informations comportant des instructions pour la mise en œuvre d'un des procédés revendiqués, lorsque ces instructions sont exécutées par un microprocesseur électronique.
[0019] L'invention a aussi pour objet une tête de réseau pour la mise en œuvre du procédé revendiqué de génération et d'émission.
[0020] Enfin, l'invention a également pour objet un processeur de sécurité pour la mise en œuvre du procédé revendiqué de réception et de déchiffrement.
[0021] L'invention sera mieux comprise à la lecture de la description qui va suivre, donnée uniquement à titre d'exemple non limitatif et faite en se référant aux dessins sur 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 et partielle de la structure d'un message ECM utilisé dans le système de la figure 1,
- la figure 3 est un organigramme d'un procédé de diffusion et d'embrouillage d'un contenu multimédia mis en œuvre dans le système de la figure 1, - la figure 4 est un organigramme d'un procédé de réception et de désembrouillage d'un contenu multimédia embrouillé mis en œuvre dans le système de la figure 1,
- la figure 5 est un organigramme d'un mode de réalisation alternatif du procédé de la figure 3, et
- la figure 6 est un organigramme partiel d'un mode de réalisation alternatif du procédé de la figure 4.
[0022] Dans ces figures, les mêmes références sont utilisées pour désigner les mêmes éléments. 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. 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.
[0023] La figure 1 représente un système 2 d'émission et de réception de contenus multimédias embrouillés. Les contenus multimédias émis sont typiquement des contenus multimédias linéarisés. 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.
[0024] Les contenus multimédias en clair sont générés par une ou plusieurs sources 4 et transmis à une tête 6 de réseau. La tête 6 diffuse les contenus multimédias 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.
[0025] 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).
[0026] Pour simplifier la figure 1, un seul terminal 10 de réception est représenté.
[0027] La tête 6 comprend un encodeur 16 qui compresse le contenu multimédia 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 Experts Group - 2) ou la norme UIT-T H264.
[0028] Les contenus multimédias compressés 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 par un terminal de réception, à certaines conditions, dites conditions d'accès, telles que l'achat d'un titre d'accès par un utilisateur du terminal 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. [0029] L'embrouilleur 22 embrouille chaque cryptopériode CP t du contenu multimédia compressé à l'aide d'un mot de contrôle CW t qui lui est fourni par un générateur 32 de mots de contrôle. Le générateur 32 fournit également chaque mot de contrôle CW t à un système 28 d'accès conditionnel. Le système 28 est plus connu sous l'acronyme CAS (Conditional Access System). Il se présente typiquement sous la forme d'une unité électronique de traitement comportant un microprocesseur programmable et une mémoire. L'indice t est un numéro d'ordre identifiant la cryptopériode CP t . Ici, l'indice t identifie la position temporelle de cette cryptopériode CP t par rapport aux autres cryptopériodes du contenu multimédia. La notation CW t désigne le mot de contrôle utilisé pour embrouiller la cryptopériode CP t .
[0030] Typiquement, cet embrouillage est conforme à une norme telle que la norme DVB-CSA (Digital Video Broadcasting - Common Scrambling Algorithm), ISMA Cryp (Internet Streaming Media Alliance enCryption and Authentication), SRTP (Secure Real-time Transport Protocol), AES (Advanced Encryption Standard), ou à tout autre algorithme de chiffrement.
[0031] Le système 28 génère des messages ECM. Ces messages ECM permettent de communiquer aux terminaux de réception des cryptogrammes des mots de contrôles utilisables pour désembrouiller le contenu multimédia. Ces messages ECM et le contenu multimédia embrouillé sont multiplexés par le multiplexeur 26 avant d'être émis sur le réseau 8.
[0032] Typiquement, le système 28 insère notamment dans chaque message ECM t :
- une plage de bits PB t à partir de laquelle il est possible de retrouver un cryptogramme CW* t du mot de contrôle CW t ,
- des conditions d'accès CA t destinées à être comparées à des titres d'accès acquis par l'utilisateur et enregistrés dans le terminal 10, et
- une redondance cryptographique MAC t permettant de vérifier l'intégrité d'au moins une partie du message contenant le cryptogramme CW* t et les conditions d'accès CA t .
[0033] La notation ECM t désigne le message ECM contenant le cryptogramme CW* t . La notation CW* t désigne le cryptogramme du mot de contrôle CW t . Les notations CA t et MAC t désignent, respectivement, les conditions d'accès et la redondance cryptographique contenues dans le message ECM t .
[0034] Ici, la redondance cryptographique est un code d'authentification de message connu sous l'acronyme MAC (« Message Authentification Code »). Une telle redondance cryptographique, en plus de permettre de vérifier l'intégrité du message ECM, permet aussi de vérifier l'authenticité du message ECM.
[0035] Chaque cryptogramme CW* t est codé sur N p bits. Typiquement, N p est supérieur à 50 ou 100 et, généralement, inférieure à 300 ou 500. Par déchiffrement, le cryptogramme CW* t permet d'obtenir le mot de contrôle CW t . [0036] A titre d'illustration, tous les terminaux du système 2 sont identiques et seul le terminal 10 est décrit plus en détail.
[0037] Le terminal 10 comporte au moins une ligne 60 de désembrouillage permettant le désembrouillage d'un canal pour l'afficher sur un afficheur 84. 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. Le démultiplexeur 72 transmet d'un côté le contenu multimédia embrouillé à un désembrouilleur 74 et d'un autre côté les messages ECM t et messages de gestion des titres d'accès, ou EMM (Entitlement Management Message) à un processeur 76 de sécurité.
[0038] Le processeur 76 déchiffre le cryptogramme CW* t pour obtenir le mot de contrôle CW t , qu'il transmet ensuite au désembrouilleur 74.
[0039] A cet effet, le processeur 76 contient les informations confidentielles telles que des clés cryptographiques. Pour préserver la confidentialité de ces informations, il est conçu pour être le plus robuste possible vis-à-vis des tentatives d'attaques menées par des pirates informatiques. Il est donc plus robuste vis-à-vis de ces attaques que les autres composants du terminal 10. Par exemple, le processeur 76 est une carte à puce.
[0040] Typiquement, le processeur 76 comporte un microprocesseur 77 électronique programmable apte à exécuter des instructions enregistrées dans une mémoire. A cet effet, le processeur 76 comporte aussi une mémoire 78 contenant les instructions nécessaires pour l'exécution du procédé de la figure 4 ou 6.
[0041] La mémoire 78 contient également :
- une clé K e d'exploitation permettant de déchiffrer les cryptogrammes des mots de contrôle,
- un code exécutable secret d'une fonction f ex d'extraction,
- un code exécutable d'une fonction f MAC,
- une clé K v ,
- un code exécutable d'une fonction f de de déchiffrement, et
- des titres d'accès TA.
[0042] La fonction f ex permet, lorsqu'elle est exécutée par le microprocesseur 77, de générer, à partir de la plage PB t du message ECM t reçu, une variante parmi une liste de N variantes différentes du cryptogramme CW* t , où N est un nombre entier strictement supérieur à un et, de préférence, supérieur à trois. Généralement, N est aussi inférieur ou égal à huit. Cette liste contient le cryptogramme CW* t et N-l leurres. Un leurre est une valeur qui est codée sur le même nombre de bits que le cryptogramme CW* t mais qui ne permet pas de désembrouiller la cryptopériode CP t de manière à obtenir cette cryptopériode en clair. A cet effet, chaque leurre du cryptogramme CW* t est différent du cryptogramme CW* t . Il n'est pas possible à partir du seul examen de la structure des différentes variantes de la liste de faire la distinction entre un leurre et le cryptogramme CW* t . [0043] La combinaison de la clé K v et de la fonction f MAC forme ici une fonction secrète f ve de vérification de l'intégrité du message ECM t . La fonction f ve permet de vérifier l'intégrité du cryptogramme CW* t à partir de la redondance cryptographique MACt. Cette fonction retourne soit une confirmation de l'intégrité du cryptogramme CW* t soit, au contraire, une infirmation de l'intégrité de ce cryptogramme CW* t .
[0044] La fonction f de permet de déchiffrer le cryptogramme CW* t à l'aide de la clé K e pour obtenir le mot de contrôle en clair CW t .
[0045] Les titres d'accès TA sont comparés aux conditions d'accès CA t reçues pour autoriser et, en alternance, interdire le déchiffrement du cryptogramme CW* t .
[0046] Enfin, le désembrouilleur 74 désembrouille le contenu multimédia embrouillé à partir du mot de contrôle transmis par le processeur 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 en clair de ce contenu multimédia sur l'afficheur 84 équipé d'un écran 86.
[0047] La figure 2 représente schématiquement la structure du message ECM t . Les symboles PB t , CA t et MAC t sur cette figure correspondent à ceux déjà définis dans ce texte. Les lignes verticales ondulées indiquent que des parties de ce message ECM t n'ont pas été représentées.
[0048] La figure 3 représente un premier procédé d'embrouillage des cryptopériodes du contenu multimédia susceptible d'être mis en œuvre dans le système 2. Pour chaque cryptopériode CP t du contenu multimédia, les étapes suivantes sont réitérées.
[0049] Une étape 120, lors de laquelle le générateur 32 génère le mot de contrôle CW t , puis le transmet à l'embrouilleur 22 et au système 28.
[0050] Une étape 122 lors de laquelle l'embrouilleur 22 embrouille la cryptopériode CP t du contenu multimédia à l'aide du mot de contrôle CW t .
[0051] Une étape 124 lors de laquelle le système 28 génère le message ECM t . À cet effet, l'étape 124 comporte notamment les opérations suivantes :
- une opération 126 lors de laquelle le système 28 chiffre le mot de contrôle CW t , à l'aide de la clé K e et d'une fonction f ch de chiffrement, pour obtenir le cryptogramme CW* t ,
- une opération 128 lors de laquelle le système 28 construit la redondance cryptographique MAC t .
[0052] Ici, la redondance cryptographique MAC t est par exemple construite en chiffrant le cryptogramme CW* t et les conditions d'accès CA t à l'aide de la clé secrète K v et en utilisant la fonction de chiffrement f MAC- La clé K v est utilisée seulement par la tête de réseau 6 ou seulement par un groupe restreint de têtes de réseau d'un même opérateur. Cette clé K v est uniquement communiquée aux terminaux autorisés à désembrouiller le contenu multimédia.
[0053] Lors d'une opération 130, le système 28 construit la plage de bits PB t . La plage PB t est construite de manière à ce qu'il soit possible de générer, à partir de cette plage PB t et en exécutant la fonction f ex , la liste des N variantes du cryptogramme CW* t .
[0054] Dans ce premier mode de réalisation, à cet effet, le système 28 tire de façon aléatoire ou pseudo-aléatoire N-l nombres compris chacun entre 0 et 2 Np . Chacun de ces nombres est différent du cryptogramme CW* t et constitue un leurre. Ensuite, ces N-l leurres et le cryptogramme CW* t sont agencées les uns après les autres dans un ordre aléatoire ou pseudo-aléatoire pour former la plage de bits PB t . Ainsi, à chaque fois qu'un message ECM t est généré, le cryptogramme CW* t ne se trouve pas systématiquement au même endroit à l'intérieur de la plage PB t . Au contraire, la probabilité que le cryptogramme CW* t occupe une position donnée à l'intérieur de la plage PB t est la même quelle que soit la position donnée considérée.
[0055] Lors d'une opération 132, le système 28 génère le message ECM t contenant la plage PB t construite, les conditions d'accès CA t et la redondance cryptographique MACt. Ce message ECM ne contient aucune information permettant d'identifier dans la plage PB t la position à laquelle se trouve le cryptogramme CW* t .
[0056] À l'issue de l'étape 124, lors d'une étape 136, le message ECM t généré est multipléxé avec le contenu multimédia embrouillé puis transmis sur le réseau 8. Plus précisément, généralement, le message ECM t est émis plusieurs fois dont au moins une fois vers la fin de la cryptopériodre CP t -i et une fois au début de la cryptopériode CP t . Le multiplexage des messages ECM avec les cryptopériodes embrouillées permet de synchroniser temporellement les messages ECM par rapport aux cryptopériodes.
[0057] La figure 4 représente le procédé de désembrouillage par un terminal du contenu multimédia embrouillé et diffusé en mettant en œuvre le procédé de la figure 3. Ce procédé est décrit dans le cas particulier du terminal 10 et de la cryptopériode CP t .
[0058] Lors d'une étape 140, le récepteur 70 reçoit le message ECM t et la cryptopériode CP t embrouillée du contenu multimédia.
[0059] Lors d'une étape 142, le démultiplexeur 72 transmet le message ECM t reçu au processeur 76. En parallèle ou, plus généralement et de préférence, après, le démultiplexeur 72 transmet la cryptopériode au désembrouilleur 74.
[0060] Lors d'une étape 144, le processeur 76 reçoit le message ECM t et le traite pour obtenir, si cela est autorisé, le mot de contrôle CW t en clair.
[0061] Pour cela, lors d'une opération 146, le microprocesseur 77 compare les conditions d'accès CA t aux titres d'accès TA enregistrés dans la mémoire 78. Si les conditions CA t correspondent aux titres d'accès TA, alors le traitement du message
ECM t se poursuit par une opération 148. Dans le cas contraire, le traitement du message ECM t est interrompu.
[0062] Lors de l'opération 148, le microprocesseur 77 extrait du message ECM t la plage PB t et la redondance cryptographique MAC t . [0063] Lors d'une opération 150, le microprocesseur 77 obtient une variante du cryptogramme CW* t à partir de la plage PB t . Pour cela, le microprocesseur 77 exécute la fonction f ex . Ici, à chaque fois que la fonction f ex est exécutée, elle génère une nouvelle variante du cryptogramme CW* t , différente de la précédente, à partir de la plage PB t . Plus précisément, elle génère dans l'ordre, une première variante lors de la première exécution, puis une deuxième variante lors de la deuxième exécution et ainsi de suite jusqu'à la N-ième variante lors de la N-ième exécution de la fonction f ex . Cette fonction f ex est donc apte à construire la liste des N variantes codées par la plage PB t .
[0064] Dans ce mode de réalisation, la fonction f ex utilise un indice p qui repère la position d'une variante dans la plage PB t . L'indice p est ici un nombre entier qui varie de 1 à N, où la valeur 1 désigne la première position et donc la première variante. A l'inverse, la valeur N désigne la dernière position et donc la dernière variante. Initialement, l'indice p est égal à 1.
[0065] Lors de l'exécution de la fonction f ex , le microprocesseur 77 sélectionne la variante située à la position repérée par la valeur actuelle de l'indice p. Ensuite, l'indice p est incrémenté, par exemple de un, après chaque exécution de la fonction f ex jusqu'à atteindre sa valeur maximale N.
[0066] Lors d'une opération 152, le microprocesseur 77 vérifie l'intégrité de la variante obtenue à l'issue de l'opération 150. Pour cela, le microprocesseur 77 exécute la fonction f Ve . Lorsque la fonction f ve est exécutée, elle construit, à partir de la variante obtenue, une redondance cryptographique MAC' t qui correspond à cette variante. Ensuite, cette redondance cryptographique MAC' t est comparée à la redondance MAC t extraite du message ECM t . Si les redondances cryptographiques MAC't et MAC t correspondent, c'est-à-dire typiquement qu'elles sont identiques, alors l'intégrité et l'authenticité de la variante obtenue est confirmée. Dans le cas contraire, l'intégrité et/ou l'authenticité de la variante obtenue est infirmée. Ici, la fonction f ve est identique à la fonction mise en œuvre pour construire la redondance cryptographique MAC t . Si la redondance cryptographique MAC t a été construite en prenant en compte des données supplémentaires contenues dans le message ECM t , comme par exemple les conditions CA t , la redondance cryptographique MAC\ est elle aussi construite en prenant en compte les mêmes données supplémentaires contenues dans le message ECM t reçu. Par exemple, dans ce mode de réalisation, chaque redondance cryptographique MAC' t est construite à partir de la variante obtenue et des conditions d'accès CA t .
[0067] Si l'intégrité de la variante obtenue est infirmée, à l'issue de l'opération 152, le microprocesseur 77 ne transmet pas de mot de contrôle au désembrouilleur 74. De plus, ici, le microprocesseur 77 ne déchiffre pas la variante obtenue. Ensuite, dans le cas où l'indice p est inférieur ou égal à N, le procédé retourne à l'opération 150 pour obtenir une nouvelle variante et vérifier son intégrité. A l'inverse, dans le cas où l'indice p est strictement supérieur à N, cela signifie que l'intégrité a été infirmée pour chacune de ces N variantes de la liste. Une telle situation résulte généralement d'une corruption du message ECM t lors de sa transmission jusqu'au terminal 10. Dans ce cas, le microprocesseur 77 interrompt le traitement du message ECM t reçu et exécute une opération 154.
[0068] Lors de l'opération 154, le microprocesseur 77 émet et transmet au terminal 10 un signal d'erreur qui indique qu'une erreur d'intégrité a été détectée dans le message ECM t reçu. En réponse à ce signal, le terminal 10 déclenche une action prédéterminée. Par exemple, le terminal 10 affiche un message sur l'écran 86 pour informer le spectateur d'une telle erreur de transmission. Une autre action possible est de demander à la tête 6 de retransmettre le message ECM t .
[0069] Si l'intégrité de la variante obtenue est confirmée, à l'issue de l'opération 152, le procédé se poursuit par une opération 156.
[0070] Lors de l'opération 156, la variante obtenue est déchiffrée par le microprocesseur 77 en exécutant la fonction f de paramétrée par la clé K e . En effet, si l'intégrité de la variante obtenue est confirmée, cela signifie que cette variante est identique au cryptogramme CW* t . Dès lors, le déchiffrement de cette variante permet d'obtenir le mot de contrôle CW t en clair. Le mot de contrôle ainsi obtenu est ensuite transmis par le microprocesseur 77 au désembrouilleur 74.
[0071] À l'issue de l'étape 144, lors d'une étape 160, le désembrouilleur 74 utilise le mot de contrôle CW t transmis par le processeur 76 pour désembrouiller la cryptopériode CP t du contenu multimédia embrouillé.
[0072] Ensuite, lors d'une étape 162, la cryptopériode désembrouillée est décodée par le décodeur 80, puis affichée en clair sur l'écran 86 par la carte graphique 82.
[0073] Ce qui a été décrit dans le cas particulier de la cryptopériode CP t et du message ECM t est ensuite réitéré pour chaque cryptopériode et chaque message ECM de manière à désembrouiller chaque cryptopériode du contenu multimédia au fur et à mesure qu'elles sont reçues. Ici, à l'issue de l'opération 154 et de l'étape 162, le procédé retourne à l'étape 140 pour traiter un autre message ECM.
[0074] La figure 5 représente un autre procédé possible d'embrouillage des cryptopériodes du contenu multimédia. Cet autre procédé est identique à celui de la figure 3 sauf que l'étape 124 est remplacée par une étape 170. L'étape 170 est identique à l'étape 124 sauf que l'opération 130 est remplacée par une opération 172 de construction de la plage de bits PB t . Lors de l'opération 172, la taille de la plage PB t construite est égale à N p . La page PB t est construite à partir du cryptogramme CW* t en modifiant de façon aléatoire ou pseudo-aléatoire la valeur de x bits de ce cryptogramme, où x est un nombre entier tel que N = 2 X . Dans ce mode de réalisation, les x bits dont les valeurs sont modifiées sont situés à des positions prédéterminées et constantes dans la plage PB t . Par exemple, il s'agit des x premiers bits de la plage PB t . [0075] La figure 6 représente le procédé de désembrouillage mis en œuvre lorsque le procédé d'embrouillage utilisé est celui de la figure 5. Le procédé de la figure 6 est identique au procédé de la figure 4 sauf que l'étape 144 est remplacée par une étape 180. L'étape 180 est identique à l'étape 144 sauf que l'opération 150 est remplacée par une opération 182. Pour simplifier la figure 6, seule l'étape 180 est représentée.
[0076] Lors de l'opération 182, à chaque fois que la fonction f ex est exécutée, elle remplace les x premiers bits de la plage PB t par une nouvelle valeur possible différente de celles déjà proposées lors des précédentes exécutions de la fonction f ex sur la même plage PB t . La nouvelle variante générée est alors égale à la concaténation de cette nouvelle valeur possible et des bits restants de la plage PB t situés entre le (x+l)-ième et le N p -ième bits de cette plage.
[0077] Variantes de la plage PB t et de la fonction :
[0078] De nombreux autres modes de réalisation sont possibles pour construire la plage PB t et pour la fonction f ex . Par exemple, la taille de la plage PB t est constante est égale à N p + N - 1. Ensuite, la position du cryptogramme CW* t à l'intérieur de cette plage PB t est tirée de façon aléatoire ou pseudo-aléatoire. Les valeurs des bits de la plage PB t situés avant et/ou après le cryptogramme CW* t sont aussi, par exemple, tirées de façon aléatoire ou pseudo-aléatoire. Dans une telle plage PB t , il existe donc N positions possibles pour le cryptogramme CW* t . À chaque fois que la fonction f ex est exécutée, elle retourne, en tant que nouvelle variante, une suite de N p bits qui se trouve à une position différente dans la plage PB t . Par exemple, lors de sa première exécution, la fonction f ex retourne la variante codée entre le premier et le N p -ième bits de la plage PB t , lors de la deuxième exécution, elle retourne la variante située entre le deuxième et le (N p +l)-ième bits de la plage PB t et ainsi de suite.
[0079] Dans une autre variante, la taille de la plage PB t est égale à la taille du cryptogramme CW* t et, initialement, la valeur de la plage PB t est égale à la valeur du cryptogramme CW* t . Cette plage PB t est ensuite construite en modifiant systématiquement la valeur de x bits du cryptogramme CW* t . La position des x bits modifiés est tirée de façon aléatoire ou pseudo-aléatoire. Par « modifier systématiquement », on désigne ici le fait que lorsque la valeur du bit à modifier est égale à 0, on le remplace par 1 et vice-versa. Dans ce cas, à chaque fois que la fonction f ex est exécutée, elle génère une nouvelle variante en modifiant systématiquement la valeur de x bits de la plage PB t reçue. Par exemple, si x est égal à 1, lors de la première exécution de la fonction f ex , seul le premier bit de la plage PB t est modifié. Lors de la deuxième exécution de la fonction f ex , seul le deuxième bit est modifié et ainsi de suite.
[0080] La fonction f ex peut être paramétrable par un ou plusieurs paramètres. Par exemple, le nombre x de bits et la position de ces x bits à l'intérieur de la plage PB t peuvent être des paramètres réglables du procédé des figures 5 et 6. Dans le cas où les valeurs de ces paramètres sont modifiées, les nouvelles valeurs de ces paramètres sont, par exemple, transmises au processeur 76 par l'intermédiaire d'un message EMM ou d'un message ECM.
[0081] Un autre mode de réalisation possible pour construire la plage PB t consiste à appliquer au cryptogramme CW* t une transformation inversible T, sélectionnée aléatoirement ou pseudo-aléatoirement dans un groupe GA composé de N transformations inversibles Ti à T N . La plage de bits PB t est alors prise égale au résultat de la transformation du cryptogramme CW* t par la transformation T, sélectionnée. À titre d'exemple, le groupe GA est composé des transformations inversibles et bijectives suivantes et des compositions de plusieurs des transformations inversibles de ce groupe :
- une rotation de y bits vers la droite ou vers la gauche des bits du cryptogramme CW* t ,
- une permutation de plusieurs bits du cryptogramme CW* t situés à des positions prédéterminées à l'intérieur de ce cryptogramme, et
- une fonction de chiffrement symétrique du cryptogramme CW* t avec une clé K ai .
[0082] Lors de la réception d'un message ECM t comportant une plage PB t construite comme décrit au paragraphe précédent, à chaque exécution de la fonction f ex , celle-ci sélectionne l'inverse d'une transformation du groupe GA. Par « l'inverse d'une transformation » on désigne la transformation inverse ou la transformation réciproque, c'est-à-dire la transformation bijective qui à chaque élément T,(z) associe l'élément z de départ. Ensuite, elle applique la transformation inverse sélectionnée à la plage PB t du message ECM t reçue pour obtenir la nouvelle variante. La fonction f ex sélectionne les unes après les autres les transformations inverses de toutes les transformations du groupe GA.
[0083] Pour générer un plus grand nombre de variantes à partir d'une même plage de bits PB t , les différents modes de construction de la plage PB t décrits ici peuvent être combinés les uns avec les autres. Dans ce cas, pour obtenir les différentes variantes, la fonction f ex exécutée est aussi une combinaison des différentes fonctions f ex décrites ici.
[0084] Dans une autre variante, chaque message ECM t comporte, non pas seulement le cryptogramme CW* t mais aussi le cryptogramme CWVi. Le cryptogramme CWVi contenu dans le message ECM t est utilisé pour transmettre, avant la diffusion de la cryptopériode CP t+ i, le mot de contrôle CW M à utiliser pour désembrouiller cette cryptopériode CP t+ i. Pour cela, typiquement, le message ECM t comporte la paire de cryptogrammes CWVCWVi des mots de contrôle CW t et CW t+ i, et est diffusé pendant une fin de la cryptopériode CP t suivie d'un début de la cryptopériode CP t+ i. Cette paire de cryptogrammes CWVCWVi est obtenue en chiffrant les mots de contrôle CW t et CW t+ i avec la clé K e comme décrit dans le cas particulier du cryptogramme CW* t seul. Les différents modes de réalisation décrits ici peuvent facilement être adaptés à cette situation en appliquant à la paire de cryptogrammes CWVCWVi tout ce qui a été décrit dans le cas particulier du cryptogramme CW* t seul. De plus, avantageusement, seules des variantes du cryptogramme CWVi sont codées dans la plage PB t . Dès lors, lors de la réception d'un message ECM t , l'exécution de la fonction f ex permet d'obtenir une variante parmi une liste de N variantes de la paire CWVCWV- Toutefois, dans cette liste, seuls les bits situés à l'emplacement du cryptogramme CWVi changent. Les bits situés à l'emplacement du cryptogramme CW* t sont quant à eux identiques pour toutes les variantes de cette liste. Par exemple, les bits situés à l'emplacement du cryptogramme CW* t dans chacune des variantes de cette liste sont identiques à ceux du cryptogramme CW* t . Par conséquent, lors de la réception du message ECM t , l'exécution de la fonction f ex permet de générer une variante parmi la liste de N variantes du cryptogramme CWVCWVi dans laquelle seul le cryptogramme CWVi change d'une variante à une autre. Dès lors, le cryptogramme CW* t est commun à toutes les paires de cryptogrammes de la liste. Il n'est donc pas possible d'utiliser ce cryptogramme CW* t , éventuellement déjà connu puisqu'ayant précédemment été diffusé dans le message ECM t -i, pour identifier dans la liste le cryptogramme CW* t+ i parmi les leurres.
[0085] Autres variantes :
[0086] L'invention n'est pas limitée aux modes de synchronisation des cryptopériodes et des messages ECM décrits ici en exemples, mais s'applique notamment dans tous les modes autorisés par la norme DVB SimulCrypt (ETSI TS 103 197).
[0087] En variante, la redondance cryptographique est construite en prenant seulement en compte le cryptogramme CW* t et sans prendre en compte les conditions d'accès CA t . À l'inverse, la redondance cryptographique peut être construite en prenant en compte des informations supplémentaires, en plus du cryptogramme CW* t et/ou des conditions d'accès CA t , contenus dans le message [0088] Dans une autre variante, la redondance cryptographique n'est pas un code d'authentification de message. Par exemple, il n'est pas nécessaire que la redondance cryptographique permette en plus de vérifier l'authenticité du message ECMt. Ainsi, la redondance cryptographique peut aussi être obtenue à l'aide d'une simple fonction de hachage (« hash function » en anglais) ou de toute autre fonction similaire permettant d'obtenir une redondance cryptographique à partir de laquelle il est possible de vérifier l'intégrité du cryptogramme CW* t .
[0089] Dans une autre variante, la fonction f ve n'est pas identique à celle mise en œuvre pour construire la redondance cryptographique MAC t . C'est en particulier le cas si, au lieu d'utiliser une fonction de chiffrement symétrique, des fonctions de chiffrement asymétriques sont utilisées. Par exemple, dans ce dernier cas, la redondance cryptographique MAC t construite par le système 28 est obtenue en chiffrant le cryptogramme CW* t avec une clé privée et une fonction de chiffrement asymétrique. Pour vérifier une telle redondance cryptographique MAC t , le microprocesseur 77 déchiffre la redondance cryptographique MAC t reçue à l'aide d'une clé publique qui correspond à la clé privée. Il obtient ainsi une donnée en clair qu'il compare à la variante obtenue. Si la donnée en clair correspond à la variante obtenue, l'intégrité est confirmée. Dans le cas contraire, elle est infirmée.
[0090] Si la fonction f MAC de chiffrement utilisée pour construire la redondance cryptographique MAC t est inversible, alors la fonction f ve peut aussi être l'inverse de la fonction f MAC- Dans ce cas, le microprocesseur 77 construit une donnée en clair en déchiffrant à l'aide de la fonction f ve la redondance cryptographique MAC t . Ensuite, cette donnée en clair est comparée à la variante obtenue. Si elles sont identiques ou si elles correspondent, l'intégrité de la variante obtenue est confirmée. Dans le cas contraire, elle est infirmée. C'est en particulier le cas lorsque les procédés de construction et de vérification de la redondance cryptographique objets du brevet FR2918830, sont utilisés pour construire et vérifier MAC t .
[0091] En variante, la fonction f ex est exécutée une seule fois pour chaque message ECM t reçu. Dans ce cas, lors de cette unique exécution, la fonction f ex génère en une seule fois la liste des N variantes au lieu de les générer les unes après les autres. Ensuite, le procédé est identique à ce qui a été décrit ici, sauf qu'au lieu d'exécuter à chaque fois la fonction f ex pour obtenir une nouvelle variante, cette nouvelle variante est sélectionnée dans la liste générée en une seule fois lors de l'unique exécution de cette fonction f ex .
[0092] Dans une autre variante, même si l'intégrité de la variante est infirmée, celle- ci est déchiffrée mais n'est pas transmise au désembrouilleur 74.
[0093] La transmission du signal d'erreur lorsque l'intégrité des N variantes est infirmée peut être omise.
[0094] Le processeur de sécurité n'est pas nécessairement une carte à puce. Il peut aussi s'agir d'un composant matériel intégré de façon définitive au terminal 10. Par exemple, il peut s'agir d'un coprocesseur de sécurité intégré au microprocesseur du terminal 10. Le processeur de sécurité peut également être un composant logiciel.
[0095] Avantages des différents modes de réalisation décrits :
[0096] Dans les procédés décrits, pour distinguer le cryptogramme CW* t parmi les
N-l leurres, il faut utiliser la fonction f ve . Dès lors, pour réussir à déchiffrer le cryptogramme CW* t , un pirate informatique doit, en plus de réussir la cryptanalyse de la fonction f de et de la clé K e , également réussir la cryptanalyse de cette fonction f ve .
Cela rend donc les procédés décrits plus robustes vis-à-vis des tentatives de cryptanalyse.
[0097] L'utilisation en tant que redondance cryptographique d'un code d'authentification de message rend les procédés décrits encore plus robustes vis-à- vis des tentatives de cryptanalyse. En effet, la construction des codes d'authentification de message fait appel à des fonctions cryptographiques qui sont difficiles à cryptanalyse r.
[0098] Choisir N compris entre trois et huit permet d'obtenir un bon compromis entre la robustesse du procédé et sa rapidité d'exécution.
[0099] Générer les N variantes à partir d'une plage PB t qui a la même taille que le cryptogramme CW* t ou que la paire de cryptogrammes CWVCWVi permet de mettre en œuvre les procédés décrits sans augmenter la taille des messages ECM et donc sans augmenter la bande passante requise pour la transmission de ces messages. Cela peut en outre présenter l'avantage supplémentaire d'interdire la détection de la mise en œuvre des procédés selon l'invention par la seule analyse de la structure des messages ECM diffusés.
[00100] La transmission du signal d'erreur au terminal permet de déclencher les mêmes actions que celles qui seraient exécutées en absence d'implémentation des procédés décrits ici. Grâce à cela, la mise en œuvre des procédés décrits ne nécessite pas nécessairement de modifier le terminal 10.
[00101] Comme expliqué précédemment, dans le cas où chaque message ECM contient à la fois les cryptogrammes CW* t et CWVi, le fait de coder uniquement des variantes du cryptogramme CWVi dans le message ECM t permet de rendre plus difficile l'identification du cryptogramme CWVi parmi les N-l leurres.