FR3072848A1 - Procede de reception et de dechiffrement, par un processeur electronique de securite, d'un cryptogramme d'un mot de controle - Google Patents
Procede de reception et de dechiffrement, par un processeur electronique de securite, d'un cryptogramme d'un mot de controle Download PDFInfo
- Publication number
- FR3072848A1 FR3072848A1 FR1759877A FR1759877A FR3072848A1 FR 3072848 A1 FR3072848 A1 FR 3072848A1 FR 1759877 A FR1759877 A FR 1759877A FR 1759877 A FR1759877 A FR 1759877A FR 3072848 A1 FR3072848 A1 FR 3072848A1
- Authority
- FR
- France
- Prior art keywords
- mask
- access control
- control word
- masked
- control message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000012360 testing method Methods 0.000 claims abstract description 12
- 230000006870 function Effects 0.000 claims description 75
- 230000000873 masking effect Effects 0.000 claims description 21
- 230000005540 biological transmission Effects 0.000 claims description 10
- 238000010276 construction Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 9
- 238000003780 insertion Methods 0.000 claims description 4
- 230000037431 insertion Effects 0.000 claims description 4
- 238000012790 confirmation Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 14
- 239000013256 coordination polymer Substances 0.000 description 13
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 241001611138 Isma Species 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/088—Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/04—Masking or blinding
- H04L2209/046—Masking or blinding of operations, operands or results of the operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
Abstract
Ce procédé de réception et de déchiffrement comporte les opérations suivantes : a) l'obtention (160) d'un masque M à partir d'une redondance cryptographique masquée contenue dans un message de contrôle d'accès reçu et en exécutant une fonction pré-programmée de construction d'une redondance cryptographique de ce message, b) le test (170) de la satisfaction, par le masque M obtenu lors de l'opération a), d'un jeu de conditions prédéterminé, puis c) uniquement si, lors de l'opération b), la satisfaction, par le masque M obtenu lors de l'opération a), du jeu de conditions prédéterminé est infirmée, l'exécution (172) d'une contre-mesure et, dans le cas contraire, l'absence d'exécution de cette contre-mesure , et d) l'exécution d'une opération (176 ; 210) de démasquage et d'une opération (178 ; 208) de déchiffrement, à l'aide du masque M obtenu lors de l'opération a), pour obtenir le mot de contrôle démasqué et déchiffré.
Description
PROCEDE DE RECEPTION ET DE DECHIFFREMENT, PAR UN PROCESSEUR ELECTRONIQUE DE SECURITE, D'UN CRYPTOGRAMME D'UN MOT DE CONTRÔLE [001] L’invention est du domaine de la fourniture, par une tête de réseau, de contenus multimédias à une pluralité de terminaux d’utilisateurs. L’invention concerne un procédé de réception et de déchiffrement, par un processeur électronique de sécurité, 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 d'un message de contrôle d'accès. 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 joué en clair, c’est-à-dire sous une forme directement perceptible et compréhensible par un être humain, au moyen d’un dispositif adapté. Typiquement, un contenu multimédia correspond à une succession d'images formant un film, une émission de télévision ou de la publicité. Dans ce cas, le jeu du contenu multimédia est son affichage sur un afficheur, le cas échéant complété de haut-parleurs. Un contenu multimédia peut également être un contenu interactif tel qu’un jeu.
[003] Pour sécuriser et soumettre le jeu 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é de chiffrement, communément appelée « 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é. Il est compréhensible par un être humain, directement c’est-à-dire sans besoin d’avoir recours à des opérations de désembrouillage, et donc sans que ce désembrouillage, ni donc le jeu du contenu multimédia, soit soumis à 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, ou pendant une partie de la t-lième période et une partie de la tième pé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 contenus dans des messages de contrôle d'accès connus 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 contiennent généralement une donnée supplémentaire, telle qu’une redondance cryptographique du message ECM, qui permet d’en vérifier, c’est-à-dire d’en confirmer ou infirmer, l’intégrité. Plus précisément, la redondance cryptographique du message ECM, est calculée sur la base d’un sous-ensemble arbitrairement déterminé des données de ce message. Elle permet alors de confirmer ou infirmer l’intégrité des données de ce sous-ensemble.
[008] 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 le 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 un algorithme cryptographique symétrique et une clé cryptographique appelée « clé d'exploitation ». Dans ce cas, l’information secrète est la clé d'exploitation, avec laquelle il est possible de déchiffrer ce cryptogramme. Dans un autre exemple, le cryptogramme du mot de contrôle est obtenu en chiffrant le mot de contrôle avec un algorithme cryptographique asymétrique et une clé publique d’un terminal destinataire. Dans ce cas, l’information secrète est la clé privée associée à la clé publique du terminal. 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, et donc la clé d'exploitation, est la table associant à chaque référence un mot de contrôle.
[009] De façon à garantir son partage par les seuls équipements autorisés, c’est-àdire son caractère secret, l’information secrète doit être protégée en confidentialité. 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.
[0010] Dans ce contexte, des attaques ont été développées pour permettre à des terminaux d’utilisateurs de désembrouiller des contenus multimédias pour lesquels ils n’ont pas acquis licitement des droits d’accès.
[0011] 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 Ke et la fonction de déchiffrement fde 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 fde et de la clé Ke. Il obtient ainsi les mots de contrôle en clair qui permettent de désembrouiller correctement les cryptopériodes du contenu multimédia embrouillé.
[0012] 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 processeur de sécurité 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 messages ECM.
[0013] L'invention vise à proposer un procédé de réception et de déchiffrement, par un processeur électronique de sécurité, d'un cryptogramme d'un mot de contrôle plus robuste vis-à-vis de ce type d'attaque. Elle a pour objet un tel procédé comportant les étapes suivantes :
1) la réception d'un message de contrôle d'accès contenant :
• un mot de contrôle masqué et chiffré obtenu à l'aide d'un masque M et d'une clé de chiffrement, et • une redondance cryptographique masquée obtenue à l'aide du même masque M et d’une redondance cryptographique du message de contrôle d’accès permettant de vérifier l'intégrité du message de contrôle d’accès,
2) le traitement du message de contrôle d'accès reçu pour obtenir, si cela est autorisé, un mot de contrôle démasqué et déchiffré, puis
3) la transmission du mot de contrôle démasqué et déchiffré à un désembrouilleur pour désembrouiller la cryptopériode du contenu multimédia embrouillé avec ce mot de contrôle démasqué et déchiffré, dans lequel l'étape 2) comporte les opérations suivantes :
a) l'obtention du masque M à partir de la redondance cryptographique masquée contenue dans le message de contrôle d'accès reçu et en exécutant une fonction de construction d'une redondance cryptographique du message de contrôle d’accès reçu pré-programmée dans le processeur de sécurité,
b) le test de la satisfaction, par le masque M obtenu lors de l’opération a), d’un jeu de conditions prédéterminé, puis
c) uniquement si, lors de l'opération b), la satisfaction, par le masque M obtenu lors de l’opération a), du jeu de conditions prédéterminé est infirmée, l'exécution d'une contre-mesure et, dans le cas contraire, l'absence d'exécution de cette contremesure,
d) au moins lorsque, lors de l'opération b), la satisfaction, par le masque M obtenu lors de l’opération a), du jeu de conditions prédéterminé est confirmée, l'exécution d'une opération de démasquage et d'une opération de déchiffrement à l'aide, respectivement, du masque M obtenu lors de l’opération a) et d'une clé de déchiffrement préenregistrée dans une mémoire du processeur de sécurité, pour obtenir le mot de contrôle démasqué et déchiffré.
[0014] Les modes de réalisation de ce procédé de réception et de déchiffrement peuvent comporter une ou plusieurs des caractéristiques suivantes :
- l'opération b) comporte le test de l’appartenance de la valeur du masque M obtenu lors de l’opération a), à un ensemble prédéterminé composé uniquement de NE valeurs différentes possibles pour le masque M, où :
• Ne est inférieur ou égal à 2N et inférieur ou égal à 2Nr m, • N est la longueur, en nombre de bits, du masque M, • Nr est la longueur, en nombre de bits, de la redondance cryptographique du message de contrôle d'accès, et • m est un entier compris dans l’intervalle [1 ; Nr-1 ], et
- la confirmation de la satisfaction, par le masque M obtenu lors de l’opération a), du jeu de conditions prédéterminé, uniquement si la valeur du masque obtenu lors de l’étape a) appartient à cet ensemble ;
m est supérieur à Nr/2 ;
Nr est supérieur ou égal à 128 et m est supérieur ou égal à 80 ou 100 ;
m est inférieur à Nr-6 ;
l'ensemble prédéterminé comprend, parmi toutes les valeurs codables sur N bits, seulement celles dont le poids de Hamming est inférieur ou égal à un premier seuil P prédéterminé ;
l'opération a) comporte :
- en exécutant la fonction de construction d'une redondance cryptographique préprogrammée, la construction d'une redondance cryptographique du message de contrôle d'accès reçu à partir du mot de contrôle masqué et chiffré contenu dans le message de contrôle d’accès reçu, ou la construction d'une redondance cryptographique du message de contrôle d'accès reçu à partir du mot de contrôle masqué obtenu après déchiffrement du mot de contrôle masqué et chiffré contenu dans le message de contrôle d’accès reçu, puis
- à l'aide d'une opération « OU EXLUSIF », la combinaison bit à bit de cette redondance cryptographique construite avec une étiquette identique à la redondance cryptographique masquée contenue dans le message de contrôle d'accès reçu ou obtenue à partir de la redondance cryptographique masquée contenue dans le message de contrôle d'accès reçu ;
la redondance cryptographique est un code d'authentification de message construit à partir d'une clé secrète pré-enregistrée dans le processeur de sécurité ;
l'exécution d'une contre-mesure comporte l'émission, vers un équipement extérieur au processeur de sécurité, d'un signal d'erreur indiquant qu’un défaut d'intégrité du message de contrôle d’accès reçu a été détecté.
[0015] L'invention a également pour objet un procédé de génération d'un message de contrôle d'accès apte à être reçu et traité à l'aide du procédé revendiqué de réception et de déchiffrement. Ce procédé comporte :
a) la génération d'un mot de contrôle CWt à utiliser pour embrouiller la cryptopériode du contenu multimédia, et aussi
b) la génération d'un masque M,
c) le chiffrement et le masquage du mot de contrôle CWt à l'aide, respectivement, d'une clé de chiffrement et du masque M pour obtenir le mot de contrôle masqué et chiffré,
d) la construction d'une redondance cryptographique du message de contrôle d’accès, permettant de vérifier l'intégrité du message de contrôle d'accès, en exécutant la même fonction de construction d'une redondance cryptographique que celle pré-programmée dans le processeur de sécurité,
e) l'obtention de la redondance cryptographique masquée à l'aide du masque M et de la redondance cryptographique construite,
f) l’insertion dans le message de contrôle d'accès du mot de contrôle masqué et chiffré et de la redondance cryptographique masquée construite.
[0016] Les modes de réalisation de ce procédé de génération peuvent comporter la caractéristique suivante :
la génération d'un masque M comporte le tirage aléatoire ou pseudo-aléatoire de la valeur du masque M dans un ensemble prédéterminé composé uniquement de NE valeurs différentes possibles pour le masque M, où :
- Ne est inférieur ou égal à 2N et inférieur ou égal à 2Nr m,
- N est la longueur, en nombre de bits, du masque M,
- Nr est la longueur, en nombre de bits, de la redondance cryptographique du message de contrôle d'accès, et
- m est un entier compris dans l’intervalle [1 ; Nr-1 ] [0017] L'invention a également pour objet un support d'enregistrement d'informations lisible par un microprocesseur et comportant des instructions pour la mise en œuvre d'un des procédés revendiqués, lorsque ces instructions sont exécutées par ce microprocesseur.
[0018] 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, cette tête de réseau comportant un générateur apte à générer un mot de contrôle CWt utilisé pour embrouiller la cryptopériode du contenu multimédia, dans laquelle la tête de réseau comporte également un système d'accès conditionnel programmé pour exécuter les opérations suivantes :
- la génération d'un masque M,
- le chiffrement et le masquage du mot de contrôle CWt à l'aide, respectivement, d'une clé de chiffrement et du masque M, pour obtenir le mot de contrôle masqué et chiffré,
- la construction d'une redondance cryptographique du message de contrôle d’accès, permettant de vérifier l'intégrité du message de contrôle d'accès, en exécutant la même fonction de construction d'une redondance cryptographique que celle préprogrammée dans le processeur de sécurité,
- l'obtention de la redondance cryptographique masquée à l'aide de la redondance cryptographique construite et du masque M,
- l’insertion dans le message de contrôle d'accès du mot de contrôle masqué et chiffré et de la redondance cryptographique masquée construite.
[0019] 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, ce processeur de sécurité comportant un microprocesseur programmé pour réaliser l'étape suivante :
1) la réception d'un message de contrôle d'accès contenant :
• un mot de contrôle masqué et chiffré obtenu à l'aide d'un masque M et d'une clé de chiffrement, et • une redondance cryptographique masquée obtenue à l'aide du même masque M et d’une redondance cryptographique du message de contrôle d’accès permettant de vérifier l'intégrité du message de contrôle d’accès,
2) le traitement du message de contrôle d'accès reçu pour obtenir, si cela est autorisé, un mot de contrôle démasqué et déchiffré, puis
3) la transmission du mot de contrôle démasqué et déchiffré à un désembrouilleur pour désembrouiller la cryptopériode du contenu multimédia embrouillé avec ce mot de contrôle démasqué et déchiffré, dans lequel l'étape 2) comporte les opérations suivantes :
a) l'obtention du masque M à partir de la redondance cryptographique masquée contenue dans le message de contrôle d'accès reçu et en exécutant une fonction de construction d'une redondance cryptographique du message de contrôle d’accès reçu pré-programmée dans le processeur de sécurité,
b) le test de la satisfaction, par le masque M obtenu lors de l’opération a), d’un jeu de conditions prédéterminé, puis
c) uniquement si, lors de l'opération b), la satisfaction, par le masque M obtenu lors de l’opération a), du jeu de conditions prédéterminé est infirmée, l'exécution d'une contre-mesure et, dans le cas contraire, l'absence d'exécution de cette contremesure,
d) au moins lorsque, lors de l'opération b), la satisfaction, par le masque M obtenu lors de l’opération a), du jeu de conditions prédéterminé est confirmée, l'exécution d'une opération de démasquage et d'une opération de déchiffrement à l'aide, respectivement, du masque M obtenu lors de l’opération a) et d'une clé de déchiffrement préenregistrée dans une mémoire du processeur de sécurité, pour obtenir le mot de contrôle démasqué et déchiffré.
[0020] 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 oeuvre 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.
[0021] 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 conditionnel à des contenus multimédias. Pour plus d’informations sur cette terminologie, le lecteur peut se reporter au document suivant : « Functional Model of a Conditional Access System », EBU Technical Review, European Broadcasting Union, Brussels, BE, n° 266, 21 décembre 1995.
[0022] 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.
[0023] 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 transmet les contenus multimédias vers des centaines ou des milliers 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.
[0024] Le réseau 8 est typiquement un réseau grande distance de transmission d’informations, par exemple 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).
[0025] Pour simplifier la figure 1, un seul terminal 10 de réception est représenté.
[0026] 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 MPEG-2 (Moving Picture Experts Group - 2) ou la norme MPEG-4 AVC (UIT-T H264).
[0027] 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.
[0028] L’embrouilleur 22 embrouille chaque cryptopériode CPt du contenu multimédia compressé à l’aide d’un mot de contrôle CWt 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 CWt à 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 CPt. Ici, l'indice t identifie la position temporelle de cette cryptopériode CPt par rapport aux autres cryptopériodes du contenu multimédia. La notation CWt désigne le mot de contrôle utilisé pour embrouiller la cryptopériode CPt.
[0029] 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.
[0030] 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ôle 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.
[0031] Ici, le système 28 insère notamment dans chaque message ECMt :
- un mot de contrôle masqué et chiffré, désigné dans cette description par le symbole CWt*M, à partir duquel il est possible de retrouver un cryptogramme CWt* du mot de contrôle CWt,
- des conditions d’accès CAt 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 masquée, désignée dans cette description par le symbole MACt M.
[0032] La notation ECMt désigne le message ECM contenant le mot CWt*M.
[0033] La notation CWt* désigne le cryptogramme du mot de contrôle CWt. Le cryptogramme CWt* est codé sur Np bits. Typiquement, Np est supérieur à 50 ou 100 et, généralement, inférieur à 300 ou 500. Le cryptogramme CWt* est obtenu en chiffrant le mot de contrôle CWt à l'aide d'une fonction prédéterminée fch de chiffrement paramétrée par la clé d'exploitation Ke. On a donc la relation suivante : CWt* = fch(CWt, Ke). Ici, la fonction de chiffrement fch est une fonction de chiffrement symétrique. Par déchiffrement, le cryptogramme CWt* permet d'obtenir le mot de contrôle CWt. Ici, et typiquement, le mot de contrôle CWt est également codé sur Np bits.
[0034] Le mot CWt*M est obtenu en appliquant sur le cryptogramme CWt* une fonction prédéterminée inversible G de masquage. La fonction G est paramétrée avec un masque M de N bits, où N est un entier positif inférieur ou égal à Np. Le nombre N est ici de préférence un sous-multiple entier de Np tel que N x q = Np, où q est un nombre entier supérieur ou égal à un. Par ailleurs, typiquement, N est supérieur à 4, 8, 16, 32, 64 ou 128. On a donc la relation suivante : CWt*M = G(CWt*, M).
[0035] Les notations CAt et MACt M désignent, respectivement, les conditions d'accès et la redondance cryptographique masquée contenues dans le message ECMt.
[0036] La redondance cryptographique MACt permet de vérifier l'intégrité du mot CWt*M et des conditions d'accès CAt. Elle est en effet construite en appliquant, sur la concaténation du mot CWt*M et des conditions d'accès CAt, une fonction prédéterminée et secrète îmac de construction d'une redondance cryptographique. Généralement, cette fonction îMac n'est pas inversible. Dans ce mode de réalisation, la redondance cryptographique MACt est un code d'authentification de message connu sous l'acronyme MAC (« Message Authentication Code »). Une telle redondance cryptographique, en plus de permettre de vérifier l'intégrité du mot CWt*M et des conditions d'accès CAt, permet aussi de vérifier l'authenticité du message ECMt. Elle est obtenue en appliquant sur la concaténation du mot CWt*M et des conditions d'accès CAt, une fonction îMac paramétrée par une clé secrète Kv connue seulement du système 28 et des terminaux destinataires de ces messages. On a donc la relation suivante : MACt = fMAc(CWt*M, CAt, Kv). Par exemple, la fonction îMac met en œuvre :
- une fonction de hachage (« Hash function » en anglais) pour obtenir une étiquette (« digest » en anglais) construite à partir du mot CWt*M et des conditions d'accès CAt, suivie
- d'une opération de chiffrement de cette étiquette avec la clé Kv.
La redondance cryptographique MACt est codée sur Nr bits. Typiquement, Nr est supérieur à 50 ou 100 et, généralement, inférieur à 300 ou 500.
[0037] La redondance cryptographique masquée MACt M est obtenue en appliquant sur la redondance cryptographique MACt la fonction prédéterminée inversible G de masquage paramétrée avec le masque M. Le nombre N est donc aussi un entier positif inférieur ou égal à Nr. De façon analogue à ce qui a été écrit plus haut, N est ici de préférence un sous-multiple entier de Nr tel que N x q’ = Nr, où q’ est un nombre entier supérieur ou égal à un. On a donc la relation suivante : MACtM = G(MACt, M).
[0038] Le terminal, qui ne connaît pas le masque M, utilise ici la redondance cryptographique masquée MACt M pour obtenir un masque M’ à partir du calcul d’une redondance cryptographique MACt’ du message ECMt, mais ne peut pas l’utiliser pour vérifier l'intégrité de ce message, c’est-à-dire du mot CWt*M et aussi, ici, des conditions d'accès CAt. En effet, M’ n’est égal à M que si MACt’ est égale à MACt, c’est-à-dire si le message ECMt, et plus précisément, ici, ses données CWt*M et CAt, n’ont pas été modifiées. Le terminal utilise M’, qu’il ne peut donc pas comparer à M, c’est-à-dire indépendamment de l’intégrité ou non du message ECMt, pour poursuivre le traitement du message ECMt. Ainsi, le terminal ne détecte donc pas, le cas échéant, un défaut d’intégrité du message ECMt. De façon à réduire le risque d’une telle non-détection, c’est-à-dire à en majorer la probabilité par un paramètre de sécurité prédéterminé, on impose en outre aux valeurs des masques M et M’, un jeu de conditions prédéterminées.
[0039] Ici, pour simplifier l’exposé, Np et Nr sont pris égaux, par exemple, à 128. En outre, pour maximiser l’entropie de Μ, N est lui aussi pris égal à Np et Nr, c’est-à-dire que q et q’ sont égaux à 1. La fonction G est ici l'opération « OU EXCLUSIF » entre les bits de ses arguments. CWt*M est donc le résultat de l’opération « OU EXCLUSIF » entre les bits du cryptogramme CWt* et les bits du masque M. MACtM est donc le résultat de l’opération « OU EXCLUSIF » entre les bits de la redondance cryptographique MACt et les bits du masque M. L'opération « OU EXCUSIF » est habituellement désignée par le symbole « XOR » ou « Φ ». On peut donc écrire CWt*M = CWt* Φ M, et MACtM = Μ Φ MACt. Il en résulte que CW,*M et MACt M ont donc également la même longueur.
[0040] 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.
[0041] 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 transmis. 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 ECMt et messages de gestion des titres d’accès, ou EMM (Entitlement Management Message) à un processeur électronique 76 de sécurité.
[0042] Le processeur 76 est apte à démasquer et déchiffrer le mot CWt*M pour obtenir le mot de contrôle CWt, et à transmettre ensuite le mot de contrôle CWt au désembrouilleur 74.
[0043] A cet effet, le processeur 76 contient des 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.
[0044] 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 et les données nécessaires pour l’exécution du procédé de la figure 4 ou de la figure 6.
[0045] La mémoire 78 contient notamment :
- la clé Ke d'exploitation permettant de déchiffrer les cryptogrammes des mots de contrôle,
- un code exécutable de la fonction fMAc,
- la clé Kv,
- un code exécutable d'une fonction fde de déchiffrement,
- des titres d'accès TA, et
- un seuil P.
[0046] La fonction fde permet de déchiffrer le cryptogramme CWt* à l'aide de la clé Ke pour obtenir le mot de contrôle en clair CWt. Ici, la fonction fde est donc l'inverse de la fonction fch.
[0047] Le seuil P est utilisé, comme cela sera décrit en détail plus loin, pour définir un ensemble E de valeurs possibles pour le masque M.
[0048] Les titres d'accès TA sont comparés aux conditions d'accès CAt reçues pour autoriser et, en alternance, interdire la fourniture du mot de contrôle CWt au désembrouilleur 74. Par exemple, les conditions d’accès CAt reçues sont recherchées parmi les titres d’accès TA mémorisés par le processeur 76. Si les titres d’accès TA comportent au moins l’une des conditions d’accès CAt, c’est-à-dire si les titres d'accès TA correspondent aux conditions d’accès CAt, alors la fourniture du mot de contrôle CWt au désembrouilleur 74 est autorisée. En alternance, si les titres d’accès
TA ne comportent aucune des conditions d’accès CAt, c’est-à-dire si les titres d'accès TA ne correspondent pas aux conditions d’accès CAt, alors la fourniture du mot de contrôle CWt au désembrouilleur 74 est interdite.
[0049] Dans ce mode de réalisation, étant donné que la fonction de masquage G est une simple opération « OU EXCLUSIF », la mémoire 78 n'a pas à contenir le code exécutable de la fonction inverse G 1 de la fonction G. En effet, cette fonction inverse G1 est dans ce cas une simple opération « OU EXCLUSIF ». Elle correspond donc directement à une instruction « OU EXCLUSIF » du jeu d'instructions du microprocesseur 77.
[0050] 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.
[0051] La figure 2 représente schématiquement la structure du message ECMt. Le message ECMt est formée d'une succession de plages de bits également appelées « champs ». Les symboles CWt*M , CAt et MACtM sur cette figure pointent sur les champs respectifs du message ECMt contenant les données correspondantes. Les lignes verticales ondulées indiquent que des parties de ce message ECMt n'ont pas été représentées.
[0052] La figure 3 représente un premier procédé de génération et de transmission d’un message de contrôle d’accès susceptible d'être mis en œuvre dans le système 2. Pour chaque cryptopériode CPt du contenu multimédia, les étapes suivantes sont réitérées.
[0053] Une étape 120, lors de laquelle le générateur 32 génère le mot de contrôle CWt, puis le transmet à l’embrouilleur 22 et au système 28.
[0054] Une étape 122 lors de laquelle l’embrouilleur 22 embrouille la cryptopériode CPt du contenu multimédia à l'aide du mot de contrôle CWt.
[0055] Une étape 124 lors de laquelle le système 28 génère le message ECMt. À cet effet, l'étape 124 comporte notamment :
- une opération 126 de génération d'un masque M, puis
- une opération 128 lors de laquelle le système 28 chiffre et masque le mot de contrôle CWt pour obtenir le mot CWt*M, puis
- une opération 130 lors de laquelle le système 28 construit la redondance cryptographique MACt du message ECMt.
[0056] Lors de l'opération 126, le masque M est tiré de façon aléatoire ou pseudoaléatoire dans un ensemble prédéterminé E de valeurs possibles pour le masque M. Le nombre NE de valeurs possibles dans cet ensemble E est déterminé par le paramètre de sécurité prédéterminé. Ce paramètre de sécurité est un nombre majorant la probabilité qu'un défaut d'intégrité du message ECMt ne soit pas détecté par le processeur 76. Par exemple, le paramètre de sécurité prédéterminé est le nombre 2N m, où m est un entier naturel inférieur à N. Par exemple, m est supérieur ou égal à 80, ou supérieur ou égal à 100. Dans ce cas, comme MACt et M ont la même longueur N, le cardinal NE de l'ensemble E est inférieur ou égal à 2N m. Par ailleurs, un ensemble E trop petit peut faciliter la détermination, dans un temps raisonnable, de la valeur du masque M sans utiliser la fonction fMAc. Un ensemble E trop petit diminue donc la sécurité du procédé. Par exemple, m est aussi inférieur ou égal à N-6. Ici, l'ensemble E est formé des seuls nombres binaires dont le poids de Hamming est inférieur ou égal au seuil P. Le poids de Hamming d'un nombre binaire est égal au nombre de bits égaux à 1 dans ce nombre binaire. Le cardinal de l’ensemble E est donc égal à la somme de coefficients binomiaux suivante :
+ | +. | .+ |
2 | P | |
J \ / | V J |
P est donc choisi pour que ce cardinal soit inférieur à 2N m. Par exemple, le seuil P est égal à 3.
[0057] Dans ce premier mode de réalisation, lors de l'opération 128, le système 28 réalise successivement :
- une sous-opération 132 de chiffrement du mot de contrôle CWt pour obtenir le cryptogramme CWt* selon la relation CWt* = fCh(CWt, Ke), puis
- une sous-opération 134 de masquage du cryptogramme CWt* à l'aide du masque M généré lors de l'exécution de l'opération 126.
[0058] Lors de la sous-opération 134, le système 28 obtient le mot CWt*M à l'aide de la relation suivante : CWt*M=G(CWt*, M). Autrement dit, ici, lors de la sous-opération 134, le système 28 exécute l'opération suivante CWt*M=CWt* Φ M.
[0059] Lors de l'opération 130, la redondance cryptographique MACt est construite à l'aide de la relation MACt = fMAc(CWt*M, CAt, Kv). La clé Kv est utilisée seulement par le système 28 d'un même opérateur. Cette clé Kv est uniquement communiquée aux terminaux autorisés à désembrouiller le contenu multimédia.
[0060] Lors d'une opération 136, le système 28 obtient la redondance cryptographique masquée MACt M. Pour cela, ici, il masque la redondance MACt construite lors de l'opération 130 avec le masque M généré lors de l'opération 126. Cette opération est réalisée à l'aide de la relation MACtM = G(M, MACt), c'est-à-dire ici en exécutant l'opération MACt M = Μ Φ MACt.
[0061] Enfin, lors d'une opération 138, le système 28 génère le message ECMt contenant le mot CWt*M construit, les conditions d'accès CAt et la redondance cryptographique masquée MACtM. De préférence, ce message ECMt ne contient :
- aucune autre information, à l'exception du mot CWt*M et de la redondance masquée MACt M qui varie en fonction du masque M, et
- aucune autre information, à l'exception de la redondance masquée MACt M qui permet de vérifier l'intégrité du mot CWt*M [0062] À l'issue de l'étape 124, lors d'une étape 140, le message ECMt généré est multiplexé avec le contenu multimédia embrouillé puis transmis sur le réseau 8. Le multiplexage des messages ECM avec les cryptopériodes embrouillées permet de synchroniser temporellement les messages ECM par rapport aux cryptopériodes. Plus précisément, généralement, le message ECMt est émis plusieurs fois dont au moins une fois conjointement avec un voisinage de la fin de la cryptopériodre CPt-i et une fois conjointement avec un voisinage du début de la cryptopériode CPt.
[0063] 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 CPt.
[0064] Lors d'une étape 150, le récepteur 70 reçoit le message ECMt et la cryptopériode CPt embrouillée du contenu multimédia.
[0065] Lors d'une étape 152, le démultiplexeur 72 transmet le message ECMt 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.
[0066] Lors d'une étape 154, le processeur 76 reçoit le message ECMt et le traite pour obtenir, si cela est autorisé, le mot de contrôle CWt en clair.
[0067] Pour cela, lors d'une opération 156, le microprocesseur 77 extrait les conditions d'accès CAt du message ECMt et leur compare les titres d'accès TA enregistrés dans la mémoire 78. Si les titres d'accès TA correspondent aux conditions d’accès CAt, alors le traitement du message ECMt se poursuit par une opération 158. Dans le cas contraire, l’étape 154 de traitement du message ECMt est interrompue, en particulier les opérations 158 à 178 sont omises.
[0068] Lors de l'opération 158, le microprocesseur 77 extrait du message ECMt le mot CWt*Met la redondance cryptographique masquée MACt M.
[0069] Lors d'une opération 160, le microprocesseur 77 obtient un masque M' à partir de la redondance masquée MACt M extraite du message ECMt. Pour cela, le microprocesseur 77 exécute successivement les sous-opérations suivantes :
- lors d'une sous-opération 162, le microprocesseur 77 construit une redondance cryptographique MACt' à partir du mot CWt*M et des conditions d'accès CAt extraits, puis,
- lors d'une sous-opération 164, le microprocesseur 77 exécute une opération de démasquage de la redondance masquée MACt M extraite à l'aide de la redondance MACt' pour obtenir le masque M'.
[0070] Lors de la sous-opération 162, le microprocesseur 77 obtient la redondance MACt' à l'aide de la relation MACt' = fMAc(CWt*M, CAt, Kv). De sorte que si le mot CWt*Met les conditions d'accès CAt extraits du message ECMt n'ont pas été modifiés depuis l'exécution de l'étape 124 et si la clé Kv est la même que celle utilisée lors de l'étape 124, alors la redondance MAC/ est égale à la redondance MACt construite lors de l'étape 130.
[0071] Lors de la sous-opération 164, le microprocesseur 77 réalise l'opération inverse de celle réalisée lors de l'opération 136. Autrement dit, le microprocesseur réalise l'opération de démasquage suivante : M' = G_1(MACtM, MAC/). Ici, cela consiste à réaliser l'opération M'= MACtM Φ MAC/. En effet, on rappelle que si aucun des bits du message ECMt n'a été corrompu, alors :
- MAC/ = MACt, et
- MACt M = Μ Φ MACt.
[0072] Dès lors, à l'issue de l'opération 160, le masque M' obtenu est égal au masque M utilisé lors de l'étape 124 si aucun des bits des données CWt*M et CAt du message ECMt n'a été corrompu depuis sa génération. Dans le cas contraire, le masque M' obtenu est différent de celui utilisé lors de l'étape 124.
[0073] Toutefois, le terminal ne connaît pas M. Par conséquent, il n’est pas en mesure de déterminer si M’ et M sont égaux, afin de vérifier l’intégrité, au sens strict, du message ECMt. Que M’ soit, ou non, égal à M, le traitement se poursuit donc sans vérification d’intégrité comme décrit ci-dessous. Si M’ est distinct de M, le message ECMt est donc accepté et traité, bien que non intègre, et son intégrité, en ce sens, admise. De façon à limiter, à un seuil prédéterminé, la probabilité d’occurrence d’un tel cas, on fixe un jeu de conditions prédéterminé sur les valeurs de M et M’, tel que si M’ satisfait ce jeu de conditions alors l’intégrité du message ECMt est admise avec une probabilité d’erreur inférieure à ce seuil.
[0074] Lors d'une opération 170, le microprocesseur 77 teste l'intégrité du message ECMt. Pour cela, dans cet exemple de réalisation, le microprocesseur 77 teste si le masque M'satisfait un jeu prédéterminé de conditions. Ici, ce jeu comporte seulement la condition suivante : le masque M' doit appartenir à l'ensemble E des valeurs possibles pour un masque. Pour cela, le microprocesseur calcule donc le poids de Hamming du masque M' et le compare au seuil P enregistré dans sa mémoire 78. Si le poids de Hamming calculé pour le masque M' est inférieur ou égal au seuil P, alors l'intégrité du message ECMt est admise. Dans le cas contraire, l'intégrité du message ECMt n’est pas admise.
[0075] Un défaut d'intégrité du message ECMt résulte généralement d'une corruption du message ECMt lors de sa transmission jusqu'au terminal 10. Dès lors, dans ce cas, à l'issue de l'opération 170, le microprocesseur 77 ne transmet pas de mot de contrôle au désembrouilleur 74. Ici, le microprocesseur 77 ne démasque pas et ne déchiffre pas le mot CW/M. De plus, le microprocesseur 77 déclenche l'exécution d'une opération 172.
[0076] Lors de l'opération 172, le microprocesseur 77 exécute une contre-mesure. Dans ce mode de réalisation, la première contre-mesure consiste à ne pas transmettre de mot de contrôle au désembrouilleur 74 en réponse à la réception du message ECMt. De plus, ici, lors de l'étape 172, le microprocesseur 77 émet vers le terminal 10 un signal d'erreur qui indique qu'un défaut d'intégrité du message ECMt reçu a été détecté. 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 l’utilisateur du terminal de ce défaut. Une autre action possible est de demander à la tête 6 de retransmettre le message ECMt.
[0077] Si l'intégrité du message ECMt est admise, à l'issue de l'opération 170, le procédé se poursuit par une opération 174.
[0078] Lors de l'opération 174, le microprocesseur 77 démasque et déchiffre le mot CWt*M. Pour cela, il exécute :
- une sous-opération 176 lors de laquelle le mot CWt*M est démasqué à l'aide du masque M' obtenu à l'issue de l'opération 160, puis
- une sous-opération 178 de déchiffrement du cryptogramme CWt*’ ainsi obtenu. [0079] La sous-opération 176 est réalisée à l'aide du masque M' et selon la relation suivante : CWt*’ = G_1(CWt*M, M'), où G1 est la fonction inverse de la fonction G utilisée lors de la sous-opération 134. Ici, le microprocesseur 77 exécute donc l'opération suivante CWt*’ = CWt*M Φ M'. De sorte que le cryptogramme CWt*’ obtenu est égal à CWt*si le masque M’ obtenu lors de l’opération 160 est égal à M.
[0080] La sous-opération 178 est réalisée à l'aide de la clé Ke et de la fonction fde. Plus précisément, lors de la sous-opération 178, le microprocesseur réalise l'opération suivante : CWt’ = fde(CWt*’, Ke), où CWt*’ est le cryptogramme obtenu à l'issue de la sous-opération 176. De sorte que le mot de contrôle CWt’ obtenu est égal à CWt si le masque M’ obtenu lors de l’opération 160 est égal à M.
[0081] À l'issue de l'opération 174, lors d'une étape 179, le mot de contrôle CWt' obtenu est transmis par le microprocesseur 77 au désembrouilleur 74.
[0082] Ensuite, lors d'une étape 180, le désembrouilleur 74 utilise le mot de contrôle CWt’ transmis par le processeur 76 pour désembrouiller la cryptopériode CPt du contenu multimédia embrouillé. De sorte que la cryptopériode CPt est en clair à l’issue de l’étape 180 si le mot de contrôle CWt’ obtenu lors de la sous-opération 178 est égal à CWt, c’est-à-dire si le masque M’ obtenu lors de l’opération 160 est égal à M. Dans le cas contraire, cette cryptopériode est incorrectement désembrouillée, et donc pas en clair.
[0083] Lors d'une étape 182, la cryptopériode obtenue lors de l’étape 180 est décodée par le décodeur 80. Dans le cas où le masque M’ obtenu lors de l’opération 160 est égal à M, cette cryptopériode désembrouillée est correctement décodée, puis affichée en clair sur l'écran 86 par la carte graphique 82. Dans le cas contraire, cette cryptopériode incorrectement désembrouillée est également incorrectement décodée, et ne peut être affichée en clair.
[0084] Ce qui a été décrit dans le cas particulier de la cryptopériode CPt et du message ECMt est ensuite réitéré pour chaque cryptopériode et chaque message ECM de manière à désembrouiller chacune des cryptopériodes du contenu multimédia au fur et à mesure qu'elles sont reçues.
[0085] 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 190. L'étape 190 est identique à l'étape 124 sauf que l'opération 128 est remplacée par une opération 192 de masquage et de chiffrement du cryptogramme CWt. Lors de l'opération 192, l'ordre des sous-opérations de chiffrement et de masquage est inversé par rapport à ce qui a été décrit dans le cas du procédé de la figure 3. Plus précisément, lors de l'opération 192, le système 28 réalise successivement les sous-opérations suivantes :
- une sous-opération 194 de masquage du mot de contrôle CWt à l'aide du masque M et de la relation CWt M = G(CWt, M), puis
- une sous-opération 196 de chiffrement du mot de contrôle masqué CWt M selon la relation CW,M* = fch(CWtM, Ke).
[0086] Lors de la sous-opération 194, le système 28 exécute donc l'opération suivante CWt M = CWt Φ M pour obtenir le mot de contrôle masqué CWt M.
[0087] 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 154 est remplacée par une étape 204. L'étape 204 est identique à l'étape 154 sauf que l'opération 174 est remplacée par une opération 206. Pour simplifier la figure 6, seule l'opération 206 est représentée.
[0088] Lors de l'opération 206, l'ordre des sous-opérations de déchiffrement et de démasquage est inversé par rapport à ce qui a été décrit dans le cas du procédé de la figure 4. Plus précisément, lors de l'opération 206, le microprocesseur 77 réalise successivement les sous-opérations suivantes :
- une sous-opération 208 de déchiffrement du mot de contrôle masqué CWt M* à l'aide de la clé Ke et de la fonction fde pour obtenir un mot de contrôle masqué CWt M’, puis
- une sous-opération 210 de démasquage du mot de contrôle masqué CWt M’ à l'aide du masque M' obtenu à l'issu de l'exécution de l'opération 160 et à l'aide de la relation CWt’ = G’XCW^', M').
[0089] La sous-opération 208 est réalisée selon la relation suivante : CWt M’ = fde(CWtM*, Ke).
[0090] Lors de la sous-opération 210, le microprocesseur exécute l'opération suivante CWt’ = CWt M’ Φ M’ pour obtenir le mot de contrôle CWt’. De sorte que le mot de contrôle CWt’ obtenu est égal à CWt si le masque M’ obtenu lors de l’opération 160 est égal à M.
[0091] Variantes du test de l'intégrité du message ECMt :
[0092] En variante, l'ensemble E contient seulement les nombres binaires dont m bits de positions prédéterminées ont des valeurs prédéterminées. Par exemple, l'ensemble E comporte seulement les nombres binaires dont les m premiers bits de poids faible qui occupent une position paire sont égaux à 1. Ainsi, cet ensemble E comporte les nombres binaires qui se terminent par 1010, 1110, 1111 mais pas les nombres binaires qui se terminent par 0000, 1101, 0101,...etc.
[0093] Dans une autre variante, l'ensemble E comporte uniquement les nombres binaires dont les m bits de poids forts sont nuis.
[0094] Le seuil P n'est pas nécessairement enregistré dans la mémoire 78. Par exemple, en variante, il est contenu dans chaque message ECMt. Ainsi, dans cette variante, lors de l'étape 170, le microprocesseur 77 extrait du message ECMt traité le seuil P à utiliser pour exécuter cette opération 170. De préférence, le seuil P est transmis au terminal 10 sous forme chiffrée.
[0095] Variantes de la fonction de masquage :
[0096] La fonction de masquage G peut être réalisée différemment. En fait, toute fonction inversible G(A, B) qui retourne une donnée D codée sur N bits peut convenir si la donnée D dépend bien à la fois du paramètre B et de l'argument A, où A et B sont des nombres binaires de N bits de long. Par exemple, la fonction de masquage G peut être choisie dans le groupe Gg constitué des fonctions suivantes :
- appliquer X rotations d'un bit à droite ou à gauche aux bits de l'argument A, où X est déterminé à partir de B,
- appliquer X permutations des bits de l'argument A, où X est déterminé à partir de B,
- une opération modulaire du type « A mod B » ou « B mod A »,
- une opération de chiffrement symétrique de l'argument A en utilisant le paramètre B comme clé de chiffrement.
[0097] La fonction de masquage peut aussi être une composition de plusieurs des fonctions du groupe Gg ci-dessus.
[0098] Dans un autre mode de réalisation, la première fonction de masquage utilisée lors de la sous-opération 134 ou 194 peut être différentes de la seconde fonction de masquage utilisée lors de l'opération 136. Par exemple, ces première et seconde fonctions de masquage sont deux fonctions différentes du groupe Gg.
[0099] Variantes de la redondance cryptographique :
[00100] La redondance MACt n'est pas nécessairement directement construite à partir du mot CWt*M. Par exemple, dans une autre variante, la redondance MACt est construite directement à partir du mot de contrôle masqué CWtM à l'aide de la relation suivante : MACt = fMAc(CWt M, CAt, Kv). Pour cela, le système 28 exécute les opérations suivantes :
1. Le mot de contrôle CWt est masqué avec le masque M à l'aide de la relation suivante CWt M = CWt Φ M .
2. La redondance MACt est construite à l'aide de la relation suivante : MACt = fMAc(CWt M, CAt, Kv).
3. La redondance masquée MACt M est obtenue à l'aide de la relation suivante : MACt M= MACt® M.
4. Le mot CWt M* est obtenu à l'aide de la relation suivante CWtM* = fch(CWtM, Ke). [00101] Dans ce cas, pour obtenir le masque M' à partir de la redondance masquée MACt M, il faut exécuter les opérations dans l'ordre suivant :
1. Le mot CWt M* est déchiffré pour obtenir un mot de contrôle masqué CWtM’ à l'aide de la relation suivante : CWtM’ = fde(CWtM*, Ke).
2. La redondance cryptographique MAC/ est construite à partir du mot de contrôle masqué CWt M’ à l'aide de la relation suivante : MAC/ = fMAc(CWtM’, CAt, Kv).
3. Le masque M' est ensuite obtenu à partir des redondances MACt Met MAC/ à l'aide de la relation suivante : M'= MACt M Φ MAC/.
4. Le mot de contrôle est ensuite obtenu à l'aide de la relation suivante : CW/ = CWt M’ Φ M’.
[00102] Dans cette variante, le déchiffrement du mot CWt M* intervient avant le test de l’intégrité du message ECMt. Par contre, son démasquage intervient après.
[00103] En variante, la redondance cryptographique MACt est construite en prenant seulement en compte le mot CWt*Met sans prendre en compte les conditions d'accès CAt. À l'inverse, la redondance cryptographique peut être construite en prenant en compte des informations supplémentaires, en plus du mot CWt*M et/ou des conditions d'accès CAt, contenues dans le message ECMt.
[00104] Dans une autre variante, la redondance cryptographique MACt 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 message ECMt. Par exemple, la redondance cryptographique peut être un code détecteur d'erreur, telle qu'une somme de contrôle (« checksum » en anglais) ou un code correcteur d'erreur.
[00105] Variante de la vérification d’intégrité :
[00106] Dans un autre mode de réalisation, la redondance cryptographique est un code d’authentification de message, ou MAC, et la vérification de l’intégrité du message ECMt est une rétro-vérification telle que décrite dans le brevet FR2918830, plutôt qu’un re-calcul de la redondance cryptographique. Dans ce mode de réalisation, la redondance cryptographique masquée MACt M est par exemple calculée par application :
- lors de l’opération 130, d’une fonction de hachage (« Hash function » en anglais) H pour obtenir une étiquette (« digest » en anglais) H(CWt*M, CAt) construite à partir du mot CWt*M et des conditions d'accès CAt, puis
- à cette étiquette, lors de l’opération 136, de la fonction de masquage paramétrée avec le masque M, pour obtenir une étiquette masquée H(CWt*M, CAt) Φ M, puis
- à cette étiquette masquée, lors de l’opération 136, d'une fonction de chiffrement gCh avec la clé Kv, pour obtenir la redondance cryptographique masquée MACt M = gCh(H(CWt*M, CAt) Φ M, Kv).
Ensuite, la rétro-vérification de l’intégrité du message ECMt est par exemple réalisée par :
- application au mot CWt*M et aux conditions d'accès CAt extraites, lors de la sousopération 162, de la fonction de hachage H pour obtenir une étiquette recalculée H(CWt*M, CAt)’,
- application à MACt M, lors de la sous-opération 164, d’une fonction de déchiffrement gde avec la clé Kv, pour obtenir l’étiquette masquée selon la relation gde(MACt, Kv) = H(CWt*M, CAt) Φ M,
- application à l’étiquette masquée H(CWt*M, CAt) Φ M, lors de la sous-opération 164, de la fonction de démasquage paramétrée avec l’étiquette recalculée H(CWt*M, CAt)’, pour obtenir le masque recalculé M’ selon la relation M’ = H(CWt*M, CAt) Φ Μ Φ H(CWt*M, CAt)’. De sorte que M’ est égal à M si l’étiquette recalculée H(CWt*M, CAt)’ est égale à l’étiquette H(CWt*M, CAt) contenue dans le message ECMt.
Dans ce mode de réalisation, les étiquettes sont elles-mêmes des redondances cryptographiques.
[001071 Variantes des rapports de longueur de CWt (et CWt’\ CWt* (et CWt*’], MACt (et MACt’), et M (et M’) :
[00108] Dans une variante, le cryptogramme CWt* et le mot de contrôle CWt sont respectivement codés sur Np et Np· bits, où Np· est un entier positif distinct de Np. Dans ce cas, Np est supérieur à Np·. En outre, si la fonction G de masquage paramétrée avec M est appliquée au cryptogramme CWt*, alors M reste de longueur inférieure ou égale à Np. Si la fonction G de masquage paramétrée avec M est appliquée à CWt, alors, M est de longueur inférieure ou égale à Np·.
[00109] Dans un autre mode de réalisation, N est strictement inférieur à Np et q est donc strictement supérieur à 1. Dans ce cas, l'opération « OU EXCLUSIF » est réalisée entre le cryptogramme CWt* et une concaténation de q copies du masque M, de sorte que cette concaténation ait elle aussi Np bits. Dans ce mode de réalisation, le mot CWt*M résultant a donc la même longueur Np que le cryptogramme CWt*.
[00110] Dans un autre mode de réalisation, N est strictement inférieur à Np mais n’en est pas un sous-multiple. Dans ce cas, l'opération « OU EXCLUSIF » est réalisée entre le cryptogramme CWt* et le résultat d’une complétion prédéterminée du masque M, de sorte que ce résultat ait lui aussi Np bits. La complétion de M consiste alors à lui concaténer Np-N bits de valeurs déterminées en fonction des bits de M ou prédéterminées. Par exemple, si N est supérieur à Np/2, on lui concatène Np-N bits de mêmes valeurs que ses Np-N premiers bits. Dans ce mode de réalisation, le mot CWt*M résultant a donc la même longueur Np que le cryptogramme CWt*.
[00111] Dans un autre mode de réalisation, N est strictement inférieur à Nr et q’ est donc strictement supérieur à 1. Dans ce cas, l'opération « OU EXCLUSIF » est réalisée entre la redondance cryptographique MACt et une concaténation de q’ copies du masque M, de sorte que cette concaténation ait elle aussi Nr bits. Dans ce mode de réalisation, la redondance cryptographique masquée MACt M résultante a donc la même longueur Nr que la redondance cryptographique MACt.
[00112] Dans un autre mode de réalisation, N est strictement inférieur à Nr mais n’en est pas un sous-multiple. Dans ce cas, l'opération « OU EXCLUSIF » est réalisée entre la redondance cryptographique MACt et le résultat d’une complétion prédéterminée du masque M, de sorte que ce résultat ait lui aussi Nr bits. La complétion de M consiste alors à lui concaténer Nr-N bits de valeurs déterminées en fonction des bits de M, ou prédéterminées. Par exemple, si N est supérieur à Nr/2, on lui concatène Nr-N bits de mêmes valeurs que ses derniers Nr-N bits pris en ordre inversé. Dans ce mode de réalisation, la redondance cryptographique masquée MACt M résultante a donc la même longueur Nr que la redondance cryptographique MACt.
[00113] Dans un autre mode de réalisation, Np et Nr sont distincts. Dans ce cas, comme cela a été décrit, le masque M est de longueur N inférieure ou égale au minimum de Np et Nr.
[00114] Dans un autre mode de réalisation, deux masques distincts, l’un étant déduit de l’autre de manière prédéterminée, peuvent être utilisés. Un premier masque Mi est tiré lors de l’opération 126, et utilisé pour construire un deuxième masque M2. Par exemple, M2 est construit par application à Mi d’une fonction prédéterminée, dite de dérivation. Ensuite :
- lors de la sous-opération 134, M2 est utilisé en lieu et place de M pour masquer le cryptogramme CWt* pour obtenir le mot CWt*M2,
- lors de l’opération 130, la redondance cryptographique MACt est construite à l’aide de la relation MACt = ÎMAc(CWt*M2, CAt, Kv),
- lors de lors de l’opération 136 la redondance cryptographique est masquée avec le masque Mi pour obtenir la redondance cryptographique masquée MACtM1, puis,
- lors de l’opération 158, le mot CWt*M2 et MACtM1 sont extraits du message ECMb
- lors de la sous-opération 162 la redondance MACt’ est construite à partir du mot CWt*M2 et des conditions CAt, à l’aide de la relation MAC/ = fMAc(CWt*M2, CAt, Kv),
- lors de la sous-opération 164 la redondance masquée MACt M1 est démasquée à l’aide de la redondance MACt' pour obtenir un premier masque Mi’, puis la fonction prédéterminée de dérivation est appliquée à Mi pour obtenir un deuxième masque M2,
- lors de la sous-opération 176, le mot CWt*M2 est démasqué à l’aide du masque M2, pour obtenir un cryptogramme CWt*’, de sorte que ce cryptogramme est égal à CWt* si M2’ est égal à M2, c’est-à-dire si Mi’est égal à Mi.
Dans ce cas, dans le sens où la fonction de dérivation est prédéterminée, on peut considérer que CWt* et MACt sont tous deux masqués au moyen du même masque Mi.
[00115] Dans un autre mode de réalisation, deux masques distincts de longueurs distinctes, l’un étant déduit de l’autre de manière prédéterminée, peuvent être utilisés comme ci-dessus. La fonction prédéterminée de dérivation est alors dite fonction d’expansion si la longueur de M2est supérieure à celle de Mi, et de contraction dans le cas contraire.
[00116] Les rapports de longueur, en nombres de bits, des mots de contrôle, cryptogrammes de mots de contrôle, redondances cryptographiques et masques, décrits dans ce document, le sont en supposant que chacun des bits de ces paramètres est un bit utile, c’est-à-dire résultant des traitements tels que décrits, ou y intervenant. De façon plus générale, les mêmes rapports entre ces données s’expriment en termes d’entropie, ou de longueur utile, c’est-à-dire en nombre de bits utiles, plutôt que de longueur. De sorte que l’une au moins de ces données peut être de longueur totale supérieure à ce qui a été mentionné, mais que sa longueur utile, c’est-à-dire le nombre de ses bits utiles, y est conforme.
[00117] Autres variantes :
[00118] L'ordre de certaines opérations des procédés décrits ici peut être modifié. Par exemple, l'opération de déchiffrement du mot CWt*M peut aussi être réalisée avant l'opération 170.
[00119] L’invention n’est pas limitée aux modes de synchronisation des cryptopériodes et des messages ECM décrits ici en exemple, mais s’applique notamment dans tous les modes autorisés par la norme DVB SimulCrypt (ETSI TS 103 197).
[00120] Dans le cas où l'intégrité du message ECMt n’est pas admise, de nombreuses autres contre-mesures sont possibles. Par exemple, dans une variante simplifiée, la transmission du signal d'erreur peut être omise. Dans une autre variante, le microprocesseur 77 inhibe la fourniture des mots de contrôle au désembrouilleur 74 pendant une période de temps prédéterminée, par exemple, supérieure à 5 minutes ou 1 heure. Dans une autre variante, un mot de contrôle erroné est systématiquement fourni au désembrouilleur 74 lorsque l'intégrité du message ECMt n’est pas admise.
[00121] 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.
[00122] Les différentes variantes décrites ici peuvent toutes être implémentées seules ou en combinaisons avec une ou plusieurs des autres variantes décrites.
[00123] Avantages des différents modes de réalisation décrits :
[00124] A cause du fait qu'il faut utiliser la fonction Îmac pour obtenir le masque M', un attaquant qui souhaite déchiffrer illégalement les cryptogrammes des mots de contrôle doit, non seulement réussir la cryptanalyse de la clé Ke et de la fonction fde, mais aussi réussir la cryptanalyse de la fonction fMAc. Ainsi, le procédé décrit est plus sûr et plus robuste vis-à-vis des tentatives de cryptanalyse.
[00125] De plus, pour coder le masque M dans le message ECMt, c'est la même plage de bits que celle utilisée pour coder habituellement la redondance cryptographique, qui est utilisée. Ainsi, il n'est pas nécessaire de modifier la structure des messages ECM existants pour mettre en œuvre les procédés décrits.
[00126] Enfin, la même redondance cryptographique masquée MACt M est à la fois utilisée pour transmettre le masque M au processeur 76 et pour tester l'intégrité du message ECMt. Ainsi, la structure du message ECMt n'a pas besoin d'être modifiée, et seul le contenu de certains champs du message ECMt diffère par rapport au cas où le procédé décrit ici ne serait pas mis en œuvre.
[00127] 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 à cryptanalyser.
[00128] 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.
Claims (15)
- REVENDICATIONS1. Procédé de réception et de déchiffrement, par un processeur électronique de sécurité, d'un cryptogramme d'un mot de contrôle utilisable pour désembrouiller une cryptopériode d'un contenu multimédia, caractérisé en ce que ce procédé comporte les étapes suivantes :1) la réception (154 ; 204) d'un message de contrôle d'accès contenant :• un mot de contrôle masqué et chiffré obtenu à l'aide d'un masque M et d'une clé de chiffrement, et • une redondance cryptographique masquée obtenue à l'aide du même masque M et d’une redondance cryptographique du message de contrôle d’accès permettant de vérifier l'intégrité du message de contrôle d’accès,
- 2) le traitement (154 ; 204) du message de contrôle d'accès reçu pour obtenir, si cela est autorisé, un mot de contrôle démasqué et déchiffré, puis
- 3) la transmission (179) du mot de contrôle démasqué et déchiffré à un désembrouilleur pour désembrouiller la cryptopériode du contenu multimédia embrouillé avec ce mot de contrôle démasqué et déchiffré, dans lequel l'étape 2) comporte les opérations suivantes :a) l'obtention (160) du masque M à partir de la redondance cryptographique masquée contenue dans le message de contrôle d'accès reçu et en exécutant une fonction de construction d'une redondance cryptographique du message de contrôle d’accès reçu pré-programmée dans le processeur de sécurité,b) le test (170) de la satisfaction, par le masque M obtenu lors de l’opération a), d’un jeu de conditions prédéterminé, puisc) uniquement si, lors de l'opération b), la satisfaction, par le masque M obtenu lors de l’opération a), du jeu de conditions prédéterminé est infirmée, l'exécution (172) d'une contre-mesure et, dans le cas contraire, l'absence d'exécution de cette contremesure,d) au moins lorsque, lors de l'opération b), la satisfaction, par le masque M obtenu lors de l’opération a), du jeu de conditions prédéterminé est confirmée, l'exécution d'une opération (176 ; 210) de démasquage et d'une opération (178 ; 208) de déchiffrement à l'aide, respectivement, du masque M obtenu lors de l’opération a) et d'une clé de déchiffrement préenregistrée dans une mémoire du processeur de sécurité, pour obtenir le mot de contrôle démasqué et déchiffré.2. Procédé selon la revendication 1, dans lequel :- l'opération b) comporte le test (170) de l’appartenance de la valeur du masque M obtenu lors de l’opération a), à un ensemble prédéterminé composé uniquement de Ne valeurs différentes possibles pour le masque M, où :• Ne est inférieur ou égal à 2N et inférieur ou égal à 2Nr m, • N est la longueur, en nombre de bits, du masque M, • Nr est la longueur, en nombre de bits, de la redondance cryptographique du message de contrôle d'accès, et • m est un entier compris dans l’intervalle [1 ; Nr-1 ] , et- la confirmation de la satisfaction, par le masque M obtenu lors de l’opération a), du jeu de conditions prédéterminé, uniquement si la valeur du masque obtenu lors de l’étape a) appartient à cet ensemble.3. Procédé selon la revendication 2, dans lequel m est supérieur à Nr/2.
- 4. Procédé selon la revendication 3, dans lequel Nr est supérieur ou égal à 128 et m est supérieur ou égal à 80 ou 100.
- 5. Procédé selon l'une quelconque des revendications 2 à 4, dans lequel m est inférieur à Nr-6.
- 6. Procédé selon l'une quelconque des revendications 2 à 5, dans lequel l'ensemble prédéterminé comprend, parmi toutes les valeurs codables sur N bits, seulement celles dont le poids de Hamming est inférieur ou égal à un premier seuil P prédéterminé.
- 7. Procédé selon l'une quelconque des revendications précédentes, dans lequel l'opération a) comporte :- en exécutant la fonction de construction d'une redondance cryptographique préprogrammée, la construction d'une redondance cryptographique du message de contrôle d'accès reçu à partir du mot de contrôle masqué et chiffré contenu dans le message de contrôle d’accès reçu, ou la construction d'une redondance cryptographique du message de contrôle d'accès reçu à partir du mot de contrôle masqué obtenu après déchiffrement du mot de contrôle masqué et chiffré contenu dans le message de contrôle d’accès reçu, puis- à l'aide d'une opération « OU EXLUSIF », la combinaison bit à bit de cette redondance cryptographique construite avec une étiquette identique à la redondance cryptographique masquée contenue dans le message de contrôle d'accès reçu ou obtenue à partir de la redondance cryptographique masquée contenue dans le message de contrôle d'accès reçu .
- 8. Procédé selon l'une quelconque des revendications précédentes, dans lequel la redondance cryptographique est un code d'authentification de message construit à partir d'une clé secrète pré-enregistrée dans le processeur de sécurité.
- 9. Procédé selon l'une quelconque des revendications précédentes, dans lequel l'exécution d'une contre-mesure comporte l'émission (172), vers un équipement extérieur au processeur de sécurité, d'un signal d'erreur indiquant qu’un défaut d'intégrité du message de contrôle d’accès reçu a été détecté.
- 10. Procédé de génération d'un message de contrôle d'accès apte à être reçu et traité à 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 à utiliser pour embrouiller la cryptopériode du contenu multimédia, caractérisé en ce que le procédé comporte aussi :b) la génération (126) d'un masque M,c) le chiffrement (132 ; 196) et le masquage (134 ; 194) du mot de contrôle CWt à l'aide, respectivement, d'une clé de chiffrement et du masque M pour obtenir le mot de contrôle masqué et chiffré,d) la construction (130) d'une redondance cryptographique du message de contrôle d’accès, permettant de vérifier l'intégrité du message de contrôle d'accès, en exécutant la même fonction de construction d'une redondance cryptographique que celle pré-programmée dans le processeur de sécurité,e) l'obtention (136) de la redondance cryptographique masquée à l'aide du masque M et de la redondance cryptographique construite,f) l’insertion dans le message de contrôle d'accès du mot de contrôle masqué et chiffré et de la redondance cryptographique masquée construite.
- 11. Procédé selon la revendication 10, dans lequel la génération (126) d'un masque M comporte le tirage aléatoire ou pseudo-aléatoire de la valeur du masque M dans un ensemble prédéterminé composé uniquement de NE valeurs différentes possibles pour le masque M, où :• Ne est inférieur ou égal à 2N et inférieur ou égal à 2Nr m, • N est la longueur, en nombre de bits, du masque M, • Nr est la longueur, en nombre de bits, de la redondance cryptographique du message de contrôle d'accès, et • m est un entier compris dans l’intervalle [1 ; Nr-1 ].
- 12. Support d'enregistrement d'informations lisible par un microprocesseur, 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 ce microprocesseur.
- 13. Tête (6) de réseau pour la mise en œuvre d'un procédé conforme à la revendication 10 ou 11, cette tête de réseau comportant 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, caractérisée en ce que la tête de réseau comporte également un système (28) d'accès conditionnel programmé pour exécuter les opérations suivantes :- la génération d'un masque M,- le chiffrement et le masquage du mot de contrôle CWt à l'aide, respectivement, d'une clé de chiffrement et du masque M, pour obtenir le mot de contrôle masqué et chiffré,- la construction d'une redondance cryptographique du message de contrôle d’accès, permettant de vérifier l'intégrité du message de contrôle d'accès, en exécutant la même fonction de construction d'une redondance cryptographique que celle préprogrammée dans le processeur de sécurité,- l'obtention de la redondance cryptographique masquée à l'aide de la redondance cryptographique construite et du masque M,- l’insertion dans le message de contrôle d'accès du mot de contrôle masqué et chiffré et de la redondance cryptographique masquée construite.
- 14. Processeur (76) de sécurité pour la mise en œuvre d'un procédé conforme à l'une quelconque des revendications 1 à 9, caractérisé en ce que ce processeur de sécurité comporte un microprocesseur (77) programmé pour réaliser les étapes suivantes :1) la réception d'un message de contrôle d'accès contenant :• un mot de contrôle masqué et chiffré obtenu à l'aide d'un masque M et d'une clé de chiffrement, et • une redondance cryptographique masquée obtenue à l'aide du même masque M et d’une redondance cryptographique du message de contrôle d’accès permettant de vérifier l'intégrité du message de contrôle d’accès,2) le traitement du message de contrôle d'accès reçu pour obtenir, si cela est autorisé, un mot de contrôle démasqué et déchiffré, puis3) la transmission du mot de contrôle démasqué et déchiffré à un désembrouilleur pour désembrouiller la cryptopériode du contenu multimédia embrouillé avec ce mot de contrôle démasqué et déchiffré, dans lequel l'étape 2) comporte les opérations suivantes :a) l'obtention du masque M à partir de la redondance cryptographique masquée contenue dans le message de contrôle d'accès reçu et en exécutant une fonction de construction d'une redondance cryptographique du message de contrôle d’accès reçu5 pré-programmée dans le processeur de sécurité,b) le test (170) de la satisfaction, par le masque M obtenu lors de l’opération a), d’un jeu de conditions prédéterminé, puisc) uniquement si, lors de l'opération b), la satisfaction, par le masque M obtenu lors de l’opération a), du jeu de conditions prédéterminé est infirmée, l'exécution d'une10 contre-mesure et, dans le cas contraire, l'absence d'exécution de cette contremesure,d) au moins lorsque, lors de l'opération b), la satisfaction, par le masque M obtenu lors de l’opération a), du jeu de conditions prédéterminé est confirmée, l'exécution d'une opération de démasquage et d'une opération de déchiffrement à l'aide,
- 15 respectivement, du masque M obtenu lors de l’opération a) et d'une clé de déchiffrement préenregistrée dans une mémoire du processeur de sécurité, pour obtenir le mot de contrôle démasqué et déchiffré.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1759877A FR3072848B1 (fr) | 2017-10-19 | 2017-10-19 | Procede de reception et de dechiffrement, par un processeur electronique de securite, d'un cryptogramme d'un mot de controle |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1759877A FR3072848B1 (fr) | 2017-10-19 | 2017-10-19 | Procede de reception et de dechiffrement, par un processeur electronique de securite, d'un cryptogramme d'un mot de controle |
FR1759877 | 2017-10-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
FR3072848A1 true FR3072848A1 (fr) | 2019-04-26 |
FR3072848B1 FR3072848B1 (fr) | 2019-11-08 |
Family
ID=61802009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1759877A Active FR3072848B1 (fr) | 2017-10-19 | 2017-10-19 | Procede de reception et de dechiffrement, par un processeur electronique de securite, d'un cryptogramme d'un mot de controle |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR3072848B1 (fr) |
-
2017
- 2017-10-19 FR FR1759877A patent/FR3072848B1/fr active Active
Non-Patent Citations (3)
Title |
---|
ANONYMOUS: "Recommendation ITU-R BT.1852-1 Conditional-access systems for digital broadcasting BT Series Broadcasting service (television)", 1 October 2016 (2016-10-01), XP055440999, Retrieved from the Internet <URL:https://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.1852-1-201701-I!!PDF-E.pdf> [retrieved on 20180115] * |
MARYAM RAJABZADEH ASAAR ET AL: "A Provably Secure Short Signature Scheme from Coding Theory", INTERNATIONAL ASSOCIATION FOR CRYPTOLOGIC RESEARCH,, vol. 20150928:195803, 28 September 2015 (2015-09-28), pages 1 - 9, XP061019297 * |
SHOICHI HIROSE ET AL: "Message-Recovery MACs and Verification-Unskippable AE", INTERNATIONAL ASSOCIATION FOR CRYPTOLOGIC RESEARCH,, vol. 20170325:200649, 22 March 2017 (2017-03-22), pages 1 - 32, XP061022991 * |
Also Published As
Publication number | Publication date |
---|---|
FR3072848B1 (fr) | 2019-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2377264B1 (fr) | Procede et module de renouvellement du code d'un algorithme cryptographique, procede et module de generation d'une graine, processeur de securite et support d'enregistrement pour ces procedes | |
FR2755809A1 (fr) | Procede de protection d'information transmise d'un element de securite vers un decodeur et systeme de protection utilisant un tel procede | |
EP2168304B1 (fr) | Verification de code mac sans revelation | |
WO2012143278A1 (fr) | Procede de protection d'un contenu multimedia enregistre | |
EP2567500B1 (fr) | Procedes de dechiffrement, de transmission et de reception de mots de controle, support d'enregistrement et serveur de mots de controle pour la mise en oeuvre de ces procedes | |
EP2520042B1 (fr) | Procédés de déchiffrement, de transmission et de réception de mots de contrôle, support d'enregistrement et serveur pour ces procédés | |
EP2659613B1 (fr) | Procede de transmission et de reception d'un contenu multimedia | |
WO2012069747A1 (fr) | Procede et systeme d'acces conditionnel a un contenu numerique, terminal et dispositif d'abonne associes | |
FR3083660A1 (fr) | Procede d'obtention d'une succession de cles cryptographiques | |
EP2633677B1 (fr) | Procede de reception d'un contenu multimedia embrouille a l'aide de mots de controle et captcha | |
RU2554825C2 (ru) | Способ определения незаконного применения устройства обработки системы безопасности | |
EP2371120B1 (fr) | Procédés de transmission, de réception et d'identification, processeur de sécurité et support d'enregistrement d'informations pour ces procédés | |
WO2007116390A2 (fr) | Dactyloscopie de clés de désembrouillage | |
EP3380983A2 (fr) | Procédé d'identification de processeurs de sécurité | |
EP2586198B1 (fr) | Procede de protection, procede de dechiffrement, support d'enregistrement et terminal pour ce procede de protection | |
FR3072848B1 (fr) | Procede de reception et de dechiffrement, par un processeur electronique de securite, d'un cryptogramme d'un mot de controle | |
WO2004082286A1 (fr) | Systeme de television a peage, procede de diffusion de programmes audiovisuels brouilles, decodeur et carte a puce mettant en oeuvre ce procede | |
EP3646526B1 (fr) | Procédé de réception et de déchiffrement d'un cryptogramme d'un mot de contrôle | |
EP2652899B1 (fr) | Procédé et système d'accès conditionnel à un contenu numérique, terminal et dispositif d'abonné associés | |
EP2294750B1 (fr) | Procede et systeme tracables de diffusion de donnees numeriques | |
WO2011048142A1 (fr) | Procedes d'emission et de reception de flux d'images, support d'enregistrement, dispositif d'emission, module de transformation pour ces procedes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20190426 |
|
PLFP | Fee payment |
Year of fee payment: 3 |
|
PLFP | Fee payment |
Year of fee payment: 4 |
|
PLFP | Fee payment |
Year of fee payment: 5 |
|
PLFP | Fee payment |
Year of fee payment: 6 |
|
PLFP | Fee payment |
Year of fee payment: 7 |