Brevet FR2809269A1 — publié le 20011123

PROCEDE DE TRANSMISSION DE DONNÉES CHIFFRÉES, APPLICATION D'UN TEL PROCEDE DANS UN SYSTEME DE TELEVISION NUMÉRIQUE A PÉAGE ET DÉCODEUR UTILISE UN TEL SYSTEME DESCRIPTION Domaine technique La présente invention concerne un procédé de transmission de données chiffrées, l'application d'un procédé dans un système de télévision numérique à péage, et un décodeur utilisé dans un tel système. État la technique La transmission de données chiffrées est utilisée notamment dans le domaine des systèmes de télévision à péage, dans lesquels une information audiovisuelle brouillée est émise usuellement un canal de transmission, par exemple un satellite un câble un canal hertzien, vers de nombreux abonnés ; chaque abonné possédant un décodeur ou un récepteur/décodeur capable de désembrouiller le programme transmis pour pouvoir le regarder. Dans un système classique, les données, par exemple vidéo et audio, brouillées sont transmises avec un mot contrôle pour le désembrouillage des données, le mot de contrôle lui-même pétant chiffré par clé d'exploitation et émis sous forme chiffrée. Le mot de contrôle embrouillé est transmis à la carte à puce insérée dans un lecteur de carte à puce décodeur. Ladite carte à puce possède la clé d'exploitation qui va servir à déchiffrer le mot de contrôle. Ce dernier transmis au décodeur pour désembrouiller des données vidéo, audio... Un abonné qui payé sa cotisation reçoit un message EMM périodique "Entitlement Management Message" ou Message de gestion des droits). Ce message EMM contient, en particulier, une (ou des) clé(s) d'exploitation. Les clés d'exploitation seront utilisées par des messages ECM ("Entitlement Control Message" ou message contrôle de droits) périodiques (quelques secondes) pour désembrouiller les mots de contrôle. Une vue d'ensemble d'un système de télévision numérique de l'art connu, tel décrit dans la demande de brevet WO 99/18728, est représenté sur la figure 1. Ce système utilise une compression de type MPEG-2 pour transmettre des signaux numériques. Un dispositif de compression MPEG-2 10, dans un centre d'émission 13, qui reçoit un flux de signaux numériques, est connecté à un dispositif 11 multiplexeur et brouilleur. Ce dispositif reçoit une pluralité de signaux d'entrée, les assemble et émet des signaux numériques comprimés vers un émetteur 12.,Cet émetteur 12 émet des signaux électromagnétiques vers un transpondeur de satellite 15, où ils sont traités électroniquement et renvoyés vers un récepteur 16 à terre. Les signaux reçus par ce récepteur sont émis vers un récepteur/décodeur 18 de l'utilisateur, connecté à la télévision 19 de celui-ci. Le récepteur/décodeur 18 décode le signal MPEG-2 en un signal télévision. Un système 'accès conditionnel-20, connecté au dispositif 11 et récepteur/décodeur 18, localisé en partie dans le centre d'émission 13 et en partie dans le décodeur 18, permet à l'utilisateur d'accéder à des émissions télévision numérique provenant d'un ou plusieurs fournisseurs. Une carte à puce peut être insérée dans le récepteur/ décodeur 18, ce qui permet à l'utilisateur acheter des événements soit dans un mode souscription soit dans un mode "payer pour voir". Dans ce système de 'art connu, le signal vidéo numérique, dans le centre d'émission 13, est tout d'abord comprimé, puis transmis au dispositif 11 pour être multiplexé avec d'autres données, telles que d'autres données comprimées. Ce dispositif 11 génère un mot de contrôle utilisé dans le procédé de chiffrement et inclus dans le flux MPEG-2 dans le multiplexeur. Ce mot de contrôle est généré de manière interne et permet au décodeur/récepteur 18 de l'utilisateur de déchiffrer le programme. Ce mot de contrôle est envoyé au dispositif de compression 10 pour être inclus dans les messages ECM. Des critères d'accès, indiquant comment 1e programme est commercialisé, sont également ajoutés au flux MPEG-2. Le mot de contrôle CW et les critères d'accès sont utilisés pour construire un message de contrôle d'allocation (ECM), qui est un message envoyé en relation avec un programme chiffré. Le dispositif 11 reçoit du système d'accès conditionnel 20 et du dispositif de compression 10 les signaux électriques r comprenant d'une part les messages EMM, et les messages ECM et d'autre part les programmes comprimés, `les assemble et les envoie vers l'émetteur 12. A la réception, le récepteur/décodeur 18 démultiplexe les signaux pour obtenir les programmes brouillés avec les messages EMM, et les messages Si le signal n'est pas brouillé le récepteur/décodeur 18 décomprime les données et transforme le signal en signal vidéo pour transmission au téléviseur 19. Si le programme est brouillé, le récepteur/décodeur 18 extrait les messages ECM correspondant à partir du flux MPEG-2 et passe les messages ECM à la carte à puce de l'utilisateur insérée dans le décodeur. Cette carte à puce contrôle le droit de l'utilisateur à déchiffrer le message ECM et ' avoir accès programme. Si l'utilisateur n'a pas de droit, un état négatif est passé au récepteur/décodeur pour indiquer que le programme ne peut pas être désembrouillé. Si l'utilisateur a le droit, le (ou les) message ) ECM est déchiffré et le mot de contrôle est extrait et transmis au décodeur. Le décodeur peut alors désembrouiller le programme en utilisant le de contrôle. Le flux MPEG-2 est décomprimé et transformé en un signal vidéo et audio envoyé au téléviseur Une demande de brevet WO 97/38530 décrit un procédé de communication du mot de contrôle entre les deux dispositifs. Le premier dispositif génère clé aléatoire et transfère celle-ci au second dispositif dans un premier message chiffré utilisant clé publique. Le second dispositif déchiffre le premier message chiffré au moyen d'une clé correspondante pour obtenir la clé aléatoire. Cette clé aléatoire -est utilisée en tant que clé de session pour chiffrer et dechiffrer toutes les informations transmises entre ces deux dispositifs. Dans un décodeur de télévision à peage, comprenant un module d'accès conditionnel et une carte à puce, qui peut être insérée dans une fente de connexion du module d'accès conditionnel, ce procédé est appliqué pour fournir une communication sure entre le module d'accès conditionnel et la carte à puce. Ce procédé permet de chiffrer l'information mot de contrôle émise de la carte à puce vers le décodeur en utilisant un algorithme symétrique. Par contre, la clé de session est transmise du module d'accès conditionnel vers la carte à puce, à chaque mise sous tension, en utilisant un algorithme asymétrique. La présente invention a pour objet d'apporter une sécurité améliorée par rapport à celle obtenue dans cette demande de brevet. Elle s'inscrit dans le cadre du chiffrement des mots de contrôles dans un premier temps, mais aussi du chiffrement de tous les transferts de données entre un terminal et un module de sécurité, détachable ou non, telle qu'une carte à puce. Exposé de l'invention La présente invention concerne un procédé de transmission entre un premier module et un second module, caractérisé en ce qu'il comprend les étapes suivantes . # dans le premier module. - calcul de y tel que : ` y = g "'x mod (p) , g et x étant des nombres aléatoires, p étant un nombre premier, g et p étant connus des deux modules. - transmission de la valeur y, éventuellement après chiffrement, vers second module. # dans le second module - récupération de la valeur y, - génération d'un aléa k, - calcul de deux valeurs A et telles que A = g " k mod (p) B = y k.M mod (p) M étant un message connu à transmettre chiffré, - transmission des valeurs A et B vers le premier module, # dans le premier module - récupération du message M en utilisant la formule suivante . M = B/ (A "' x) mod (p) Dans un exemple de réalisation, la transmission du premier module vers le second module est une transmission chiffrée. Les nombres aléatoires p et g sont générés dans le premier module et transmis au second module. Dans un mode de réalisation préférent-i e1, le premier module lit, dans le second module, un certificat, qui contient une clé publique du second module, ladite clé étant utilisée pour réaliser un chiffrement pour la transmission ; une clé privée correspondante permettant de réaliser un déchiffrement de cette transmission. Le certificat est déchiffré à l'aide d'une clé publique de certification contenue dans le premier module. Dans des variantes de réalisation, le certificat contient nombre p qui est lu par le premier module au moins une fois lors de la mise sous tension du second module. I1 peut également contenir le nombre aléatoire g est lu par le premier module. Différentes autres informations peuvent également être transmises du second module vers le premier module, apres chiffrement. Dans un mode de réalisation avantageux, le premier module est un décodeur de télévision numérique, le second module est une carte à puce, le message M étant le mot de contrôle. Dans un autre mode de réalisation possible premier module est une carte à puce, et le second module un décodeur de télévision numérique. Le procédé de l'invention peut ainsi être utilisé pour un décodeur de système de télévision à péage, dans lequel ledit décodeur est muni d'un lecteur de carte à puce, pour réaliser une communication sûre entre ce décodeur et cette carte à puce. Ainsi, l'invention concerne en particulier un décodeur pour système de télévision à péage comprenant un lecteur de carte à puce, ledit décodeur comprenant des moyens pour générer un nombre aléatoire x, des moyens pour calculer y = g ^ x mod (p), étant nombre aléatoire et p étant un nombre premier, des moyens de transmission de la valeur y à la carte à puce un canal de transmission, ladite carte à puce comprenant des moyens pour recevoir la valeur des moyens pour générer un aléa k, des moyens de calcul de deux valeurs A et B telles que A = g ^ k mod , et B = y k. M mod (p), M étant un message connu 'de la carte à puce, des moyens d'émission de ces valeurs A et B vers le décodeur, ledit décodeur ayant des moyens de calcul du message M tel que M = B/ (A '\x) mod (p). Dans différentes variantes de réalisation le décodeur peut en outre contenir des moyens de chiffrement de la transmission à la carte, la carte comprenant des moyens de déchiffrement de cette transmission, des moyens de lecture dans la carte d'un certificat qui contient une clé publique carte, des moyens d'extraction de cette clé publique carte, qui utilisent une clé publique de certification contenue sur le premier module. Le procédé de l'invention permet de réaliser une transmission économique et sûre d'un premier module, ou terminal vers un second module, ou module de sécurité ou, dans Vautre sens, du module de sécurité vers le terminal, l'ensemble étant piloté à partir du module de sécurité. Il permet notamment de chiffrer toute information transmise d'une carte à puce vers décodeur comprenant un lecteur carte dans lequel elle est introduite. I1 permet ainsi de chiffrer un mot contrôle de transmission entre cette carte à puce et le décodeur. La présente invention apporte sécurité plus importante que celle obtenue avec la demande de brevet WO 97/38530 citée ci-dessus, ceci pour quatre raisons majeures . # par l'utilisation de 'algorithmie asymétrique pour le transfert de données, # par l'exploitation de deux aléas, l'un extrait du terminal, l'autre du module détachage, # par le fait que l'extraction des aléas peut être asynchrone entre le module de securité et le terminal, ce qui permet de changer d'aléa niveau de chaque transmission, # par le fait que l'aléa du terminal n'est jamais transmis au module de sécurité. Brève description des dessins La figure 1 illustre une d'ensemble d'un système de télévision numérique de l'art connu, la figure 2 illustre le fonctionnement du procédé de l'invention, la figure 3 illustre un mode de réalisation préférentiel du procédé de l'invention. Exposé détaillé de modes de réalisation Le procédé de l'invention est un procédé transmission entre deux modules 25 et 26, à savoir terminal 25, qui peut être un décodeur de télévision et un module de sécurité 26, qui peut être une carte à puce, comme illustré sur la figure 2. Dans la suite de la description on considérera à titre d'exemple une communication décodeur 25-carte à puce 26. Selon le procédé de l'invention, on a les étapes suivantes # dans le décodeur 25 - génération en 37 d'un nombre premier aléatoire p, et extraction de deux nombres aléatoires g x, x restant stocké dans le terminal 25, - en 35 calcul de y tel que y = g ^ x mod (p) - transmission 38 des valeurs y, g et p à carte 26, après un éventuel chiffrement 39, # dans la carte 26 - extraction en 32 des valeurs y, g, p, après un éventuel déchiffrement 40, - génération en 30 d'un nombre aléatoire, aléa k, - calcul en 31 de deux valeurs A et B, telles que A = g k mod (13) B = y k.M mod (p) M devant être un message connu de- la carte 26 à fournir chiffré au décodeur 25, qui dans 1 exemple considéré est le mot de contrôle sorti du message ECM, k et M devant être différents de 0 de 1 - transmission 34 de valeurs A et au decodeur 25, la valeur M transportée étant chiffrée du fait de l'utilisation des formules mathématiques donnant A et B. # et dans le décodeur 25 - récupération du message M en 36 en utilisant la formule suivante M = B/ (A A x)mod(p). La transmission 38 est normalement une transmission chiffrée. On a alors les étapes suivantes . - chiffrement en 39, dans le décodeur 25, y, g et p, - déchiffrement en 40, dans la carte 26, de transmission 38, et extraction en 32 de y, g et p. Les deux transmissions 34 et 38 sont donc effectuées en utilisant deux algorithmes asymétriques différents. On peut, pour la transmission 38, utiliser un algorithme à clé publique connu, l'algorithme de type RSA. Dans un mode des réalisation préférentiel illustré sur la figure 3, le décodeur 25 peut, dans un premier temps, lire, dans la carte 26, un certificat 41, qui contient notamment une clé publique carte - le certificat constituant, lui-même un chiffrement. Le certificat contient au minimum cette clé publique chiffrée à l'aide d'une clé privée de certification. Ce certificat peut être réalisé dans une unité de fabrication ou de certification de cette carte 26. Ce certificat peut, en effet, contenir d'autres informations : émetteur, destinataire, durée, numéro de série ...(par exemple de type X509). Après lecture du certificat 41 le décodeur 25 extrait en 43 la clé publique carte, en utilisant une clé publique de certification 44. Dans ce mode de réalisation, comme illustré sur la figure 3, la clé publique carte (dans le certificat 41) et la clé privée carte 45 appartiennent toutes deux à 1a carte 26. Dans une variante de réalisation, le nombre p peut également être contenu dans le certificat et transmis de la carte 26 vers le décodeur 25 lors la transmission 42. Il n'y a alors plus besoin de transmettre ce nombre premier p lors de la transmission 38. Ce nombre p peut n'être envoyé qu'une fois la carte vers le décodeur 25, par exemple lors d'une mise sous tension de la carte à puce, et être stocké ensuite dans une mémoire du décodeur 25. Dans une autre variante de réalisation, le nombre aléatoire g peut également être contenu dans le certificat 41 et être transmis de la carte 26 vers le décodeur 25 lors de la transmission 42. Le décodeur 25 n' plus alors, en 37, qu'à générer le nombre aléatoire x et calculer y en tel -que = g A x mod (p). Une autre variante de réalisation prévoit recevoir les nombres p et/ou g par canal de transmission externe, par exemple par antenne, par décodeur. Les nombres p et/ou g sont alors contenus dans un message destiné au décodeur Ils sont egalement destinés à la carte 26 par le biais d'un message EMM. Dans chacune des variantes décrites précédemment, il est possible de chiffrer d'autres informations qui sont transmises de la carte 26 vers le décodeur 25. On peut également utiliser le procédé de l'invention à l'envers : le décodeur mettant en #uvre toutes les étapes décrites précédemment pour la carte à puce ; et la carte à puce mettant en oeuvre toutes les étapes décrites précédemment pour le décodeur. Le décodeur peut comprendre un module 'accès conditionnel qui permet, de façon connue, de mettre en eeuvre plusieurs types d'accès conditionnels. module d'accès conditionnel peut intégrer tout ou partie du chiffrement décrit ci-dessus pour le décodeur ou pour la carte à puce. Trois cas de figures peuvent notamment se présenter - le module d'accès conditionnel est transparent vis-à-vis du chiffrement : le premier module 25 est alors le décodeur, et le deuxième module 26 est la carte à puce; - il existe un besoin de chiffrement entre le décodeur et le module d'accès conditionnel : le premier module 25 est alors le décodeur, et le deuxieme module 26 est le module à accès conditionnel, - il existe un besoin de chiffrement entre module d'accès conditionnel et la carte à puce : le premier module 25 est alors le module d'accès conditionnel, et le deuxième module 26 est la carte à puce. On peut, bien évidemment, avoir combinaisons de ces trois cas : par exemple combinaison du second et du troisième cas. Le mode de réalisation de l'invention ' dessus a été décrit à titre d'exemple. Des modifications de détail peuvent donc être réalisees tout en restant dans le cadre de l'invention. Les références numériques apparaissant dans revendications le sont à titre uniquement d'illustration et n'ont donc aucun effet limitatif le cadre des revendications. REVENDICATIONS 1. Procédé de transmission entre un premier module (25) et un second module (26), caractérisé en ce qu' comprend les étapes suivantes # dans le premier module (25) - calcul de y tel que y = g " x mod (p) g et x étant des nombres aléatoires, p étant un nombre premier, g et p étant connus des deux modules (25, 26), - transmission (38) de la valeur y vers second module (26), dans le second module (26) . - récupération (32) de 1a valeur y, - génération (30) d'un aléa k, - calcul (31) de deux valeurs A et telles que . A = g k mod (p) B = y k.M mod (p) M étant un message connu à transmettre chiffré, - transmission (34) des valeurs A et B vers le premier module (25) # dans le premier module (25) . - récupération (36) du message M en utilisant la formule suivante M = B/ (A x)mod(p) 2. Procédé selon la revendication 1, dans lequel la transmission (38) est une transmission chiffree. 3. Procédé selon la revendication 1, dans lequel les nombres aléatoires p et g sont générés dans le premier module (25) et transmis (38) second module (26). 4. Procédé selon la revendication 2, dans lequel le premier module (25) lit, dans second module (26), un certificat (41), qui contient une clé publique du second module (26), ladite étant utilisee pour réaliser un chiffrement (39) pour la transmission (38), une clé privée correspondante (45) permettant de réaliser un déchiffrement (40) de cette transmission (38). 5. Procédé selon la revendication 4, dans lequel le certificat (41) est déchiffré à l'aide d'une clé publique de certification (44) contenue dans le premier module (25). 6. Procédé selon la revendication 4, dans lequel le certificat contient le nombre p qui est lu par le premier module (25) au moins une fois lors de la mise sous tension du second module (26). 7. Procédé selon la revendication 5, dans lequel le certificat contientjle nombre aléatoire g qui est lu par le premier module (25). 8. Procédé selon la revendication 1, dans lequel différentes autres informations sont transmises du second module (26) vers le premier module (25), après chiffrement. . Procédé selon la revendication 1, dans lequel le premier module (25) est un décodeur de télévision numérique et le second module (26) est une carte à puce le message M étant le mot de contrôle. 10. Procédé selon la revendication 1, dans lequel le premier module (25) est une carte à puce et le second module (26) est un décodeur de télévision numérique. 11. Application du procédé selon l'une quelconque des revendications précédentes à un décodeur (25) de système de télévision à péage, ledit décodeur étant muni d'un lecteur de carte à puce (26), dans lequel ledit procédé est appliqué pour réaliser une communication sûre entre cette carte à puce (26) et ce décodeur (2 . Décodeur (25) pour système de télévision ' péage comprenant un lecteur de carte à puce (26), ledit décodeur (25) comprenant des moyens pour générer un nombre aléatoire x, des moyens pour calculer y - g ^ x mod (p) , g étant un nombre aléatoire et p étant un nombre premier, des moyens de transmission de la valeur y à la carte à puce (26) sur un canal de transmission ), ladite carte à puce -(26) comprenant des moyens pour recevoir la valeur y, des moyens pour générer un alea k, des moyens de calcul de deux valeurs A et B telles que A = g ^ k mod (p), et B = y A k. M mod (p), M étant un message connu de la carte à puce, des moyens 'émission de ces valeurs A et B vers le décodeur (25), ledit décodeur (25) ayant des moyens de calcul message M tel que M = B/(A A x) mod (p). 13. Décodeur selon la revendication 12, comprenant des moyens de chiffrement de la transmission (38) à la carte (25), la carte comprenant des moyens de déchiffrement de cette transmission. 14. Décodeur selon la revendication 12, comprenant des moyens de lecture, dans la carte, d'un certificat qui contient clé publique carte, et des moyens d'extraction de cette clé publique carte. 15. Décodeur selon la revendication 14, dans lequel les moyens 'extraction de la clé publique carte (43) utilisent une clé publique de certification (44) contenue sur le premier module (25)