Brevet FR2825877A1 — publié le 20021213

PROCÉDE DE CONTROLE D'ACCES A UN PROGRAMME CRYPTE DESCRIPTION DOMAINE TECHNIQUE L'invention concerne un procédé de contrôle d'accès à un programme crypté diffusé par un opérateur à une pluralité de groupes d'abonnés, chaque groupe d'abonné étant muni d'une clé de groupe KG, et chaque abonné recevant de l'opérateur, lors de la diffusion du programme crypté, une clé d'exploitation KT chiffrée avec la clé de groupe KG et destinée à décrypter le programme diffusé. ETAT DE LA TECHNIQUE ANTERIEURE Dans la norme DVB, les programmes transmis sont cryptés par un mot de contrôle CW qui changent après une période correspondant à sa période de diffusion. Un nouveau mot de contrôle correspondant au même programme ou à un nouveau programme est transmis aux abonnés avec des messages de contrôle d'accès ECM et EMM (respectivement"Entitlement Control Message", et "Entitlement Management Message", en anglais). Les ECM comportent trois champs, un premier champ contenant les paramètres d'accès qui définissent les conditions d'accès au programme crypté, tels que par exemple le contrôle parental ou la limitation géographique de réception du programme diffusé, un deuxième champ comprenant le mot de contrôle CW chiffré par la clé d'exploitation KT et un troisième champ contenant les paramètres de contrôle d'intégrité des informations transmises. Les EMM comportent généralement quatre champs, un premier champ d'adresse pour sélectionner un décodeur individuel, un deuxième champ contenant l'autorisation d'accès de l'utilisateur, un troisième champ contenant la clé d'exploitation KT chiffrée par la clé de groupe KG, et un quatrième champ contenant les paramètres de contrôle de l'intégrité des informations transmises. Les ECM sont transmis avec le programme crypté tandis que les EMM sont généralement transmis avant la date de diffusion de ces programmes. Pour un groupe g d'abonnés, le résultat du chiffrement de la clé d'exploitation KT par la clé de groupe KG est fourni avec une EMM chiffrée EMMg = F (KT, KG) où F désigne un algorithme de chiffrement. Lorsqu'un décodeur reçoit cette EMM, il vérifie si la clé d'exploitation KT est déjà mémorisée, dans une carte à puce par exemple. Sinon, la clé est déchiffrée par la fonction inverse F' puis stockée dans la carte à puce. Lorsque le programme crypté est diffusé, la clé KT est utilisée par l'algorithme de chiffrement pour déchiffrer le mot de contrôle CW ayant servi à crypter les données du programme diffusé. La figure 1 représente schématiquement un exemple de dispositif de réception de programmes cryptés diffusés par un opérateur 1. Pour recevoir ces programmes, un abonné dispose d'un récepteur 2, d'un décodeur 4 et d'une carte à puce 6 qui doit être inséré dans le décodeur 4 et dans laquelle est stockée la clé de groupe KG commune à un groupe de N cartes, N étant égal à 256 par exemple. Un modem 8 connecté à la ligne téléphonique de l'abonné permet d'assurer une voie de retour entre cet abonné et l'opérateur 1. Une antenne 12 reçoit les signaux transmis par l'opérateur 1 et les transmet au décodeur 4. La figure 2 illustre schématiquement le fonctionnement du dispositif de la figure 1. L'opérateur 1 envoie à un système de diffusion 14 (flèche 15), une clé d'exploitation KT chiffrée à l'aide de la clé de groupe KG de chaque-groupe. Le système de diffusion 14 envoie à chaque décodeur 4 (flèches 17) l'ensemble des EMMi = F (KGi, KT). Chaque décodeur 4 transfère à la carte à puce 6 (flèches 18) d'un abonné du groupe g considéré l'EMMg correspondant à ce groupe. A la réception de l'EMMg la carte à puce 6 déchiffre la clé KT au moyen de la clé du groupe KG et mémorise la clé déchiffrée. A la date prévue pour diffuser un programme crypté, l'opérateur diffuse de façon cyclique les ECMi avec ce programme crypté vers les décodeurs 4. A la réception de ces ECM., le décodeur 4 trie les ECMi correspondant à la clé KT transmise et les envoie à la carte à puce. Une faiblesse de ce procédé provient du fait que la clé d'exploitation KT est commune à tous les utilisateurs. Par conséquent, il est possible pour un utilisateur qui réussit à retrouver sa clé de groupe KG, de calculer frauduleusement la clé d'exploitation KT et de la diffuser. Le but de l'invention est de retrouver l'origine d'une diffusion frauduleuse d'une clé d'exploitation KT. Un autre but de l'invention est de rendre imprévisible pour un fraudeur potentiel, la date à laquelle la clé d'exploitation KT sera utilisée. Selon un premier mode de réalisation de l'invention, le procédé comporte les étapes suivantes : avant la diffusion du programme crypté, a-associer à la clé d'exploitation KT chiffrée une valeur aléatoire R pour générer un code secret ; b-transmettre ce code secret aux abonnés, et c-transmettre la valeur aléatoire R aux abonnés pour calculer la clé d'exploitation KT seulement lorsque le programme crypté est diffusé.. Selon l'invention, le code secret est calculé par une fonction arithmétique réversible. Selon l'invention, la fonction arithmétique réversible est l'opération logique XOR. Selon l'invention, le code secret calculé est mémorisé dans une carte à puce. Dans un deuxième mode de réalisation de l'invention dans lequel chaque abonné est susceptible de recevoir de l'opérateur un nombre entier m de clés d'exploitation KTi pour décrypter un programme diffusé, le procédé comporte les étapes suivantes : avant la diffusion du programme crypté, a-associer à chaque clé d'exploitation KTi chiffrée une valeur aléatoire Ri pour générer un nombre entier r de codes secrets distincts ; b-transmettre ces codes secrets générés à chaque abonné ; et c-transmettre aux abonnés une valeur aléatoire Ri pour calculer une clé d'exploitation KTi parmi les m clés KTi seulement lorsque le programme crypté est diffusé, et au bout d'une durée choisie par l'opérateur, d-transmettre aux abonnés une nouvelle valeur aléatoire Ri pour changer la clé d'exploitation KTi. Selon une caractéristique de ce mode de réalisation, les valeurs aléatoires Ri sont transmises successivement aux abonnés à des dates imprévisibles. Selon l'invention, chaque code secret est calculé par une fonction arithmétique réversible. Selon l'invention, les codes secrets calculés sont mémorisés dans une carte à puce. Grâce à l'invention, si un fraudeur veut diffuser publiquement la clé KT avant la diffusion du programme à décrypter, il devra diffuser la valeur de l'EMMg ce qui permettra à l'opérateur de retrouver le groupe auquel appartient le fraudeur. BREVE DESCRIPTION DES FIGURES D'autres caractéristiques et avantages de l'invention ressortiront de la description qui va suivre, prise à titre d'exemple non limitatif, en référence aux figures annexées dans lesquelles : - La figure 1 décrite précédemment représente un exemple de dispositif connu de réception de programmes cryptés ; - la figure 2 décrite précédemment illustre schématiquement le fonctionnement du dispositif de la figure 1 ; La figure 3 illustre schématiquement un premier mode de réalisation du procédé de l'invention ; - la figure 4 illustre schématiquement un deuxième mode de réalisation du procédé de l'invention. DESCRIPTION DETAILLEE DE MODE DE MISE EN OEUVRE DE L'INVENTION Dans la suite de la description, des références identiques désigneront les éléments et les étapes communs au procédé de l'art antérieur et au procédé selon l'invention. En référence à la figure 3, un opérateur 1 associe une valeur aléatoire R à une clé d'exploitation KT et envoie à un système de diffusion 14 (flèche 15) le code secret résultant de cette association. Préférentiellement, la clé d'exploitation KT chiffrée à l'aide de la clé de groupe KG est combinée par l'opération logique XOR à la valeur aléatoire secrète R. Le code généré ne pourra être déchiffré que si la valeur R est dévoilée. Le système de diffusion 14 envoie ensuite à chaque décodeur 4 (flèches 17) d'un groupe i, i représentant le rang d'un groupe d'abonnés parmi n groupes distincts, une EMM calculée par l'expression : EMMi = F (KGi, KT) + R. Chaque décodeur 4 transfère à la carte à puce 6 (flèche 18) l'EMMi correspondant au groupe i. A la date de diffusion du programme crypté, l'opérateur diffuse de façon cyclique les ECM avec ce programme vers les décodeurs 4. Ces ECM contiennent le mot de contrôle CW utilisés pour crypter les données du programme transmis. Le décodeur 4 trie les ECMi correspondant à la clé KT et les envoie à la carte à puce 6 qui mémorise le code secret généré. Tant que l'opérateur n'pas diffusé la valeur R, la carte à puce ne pourra pas déchiffrer ce code secret pour retrouver la clé d'exploitation KT. Ceci permet à l'opérateur de diffuser la valeur R le plus tard possible, c'est à dire, uniquement lorsque la clé d'exploitation KT doit être utilisée pour déchiffrer le mot de contrôle CW. Dès que la clé KT est utilisée, l'opérateur envoie aux décodeurs 4 la valeur : ECM = R @ F (EMMg (D R, KG). L'algorithme hébergé par la carte à puce pourra alors calculer la valeur de la clé d'exploitation KT en utilisant l'opération : KT = F' (EMMg ED R, KG) ; Le mot de contrôle peut ensuite être déduit par l'expression : CW = F-1 (ECM, KT). Si un fraudeur veut diffuser publiquement la clé KT avant le début de la diffusion du programme crypté, il devra diffuser la valeur EMMg qui dépend de la clé de groupe KG. L'opérateur sera en mesure de retrouver le groupe auquel appartient le fraudeur et retirer les droits d'accès à ce groupe. Ce mode de réalisation dissuade par conséquent le fraudeur de diffuser les clés d'exploitation KT lors de la réception des EMM. Cependant, lorsque la valeur R est dévoilée par l'opérateur, la valeur de la clé d'exploitation KT peut être recalculée et diffusée publiquement. Aussi, pour empêcher cette diffusion, ou du moins la rendre fastidieuse, selon un deuxième mode de réalisation de l'invention illustré par la figure 4, avant la diffusion du programme crypté, l'opérateur 1 envoie au système de diffusion 14 (flèche 15), un nombre entier m de clés d'exploitation KT1, KT2... KTi... KT. Chaque clé KTi est chiffrée à l'aide de la clé de groupe KG du groupe i et est associée par l'opération logique XOR à une valeur aléatoire secrète Ri connue uniquement par l'opérateur de manière à générer un code secret qui ne pourra être déchiffré que si la valeur Ri est dévoilée. Le système de diffusion 14 envoie à chaque décodeur 4 (flèches 17) l'ensemble des EMM calculés par l'expression : EMMi = F (KGi, KT1) @ Ri \1 F (KGi, KT2) ED R2 F (KGi, KTi) C Ri F (KGi, KTm) G Rm où le symbole Il représente l'opération de concaténation. Le décodeur 4 du groupe i transfère à la carte à puce 6 (flèche 18) l'EMMi correspondant à ce groupe. A la date de diffusion du programme crypté, l'opérateur diffuse de façon cyclique les ECM avec le programme crypté vers les décodeurs 4. Ces ECM contiennent le mot de contrôle CW utilisés pour crypter les données du programme transmis. Le décodeur 4 trie les ECMi correspondant à la clé KTi et les envoie à la carte à puce 6 qui mémorise le code secret généré. Tant que l'opérateur n'pas diffusé une valeur Ri, la carte à puce ne pourra pas déchiffrer ce code secret pour retrouver la clé d'exploitation KTi. Chaque clé KTi demeure donc stockée dans la carte à puce 6. Les valeurs Ri sont diffusées via les ECM en fonction de la clé ayant servi à chiffrer les mots de contrôle. Dès que la clé KTi est utilisée, l'opérateur envoie aux décodeur 4 l'ECM : ECM = Ri Il F (CW, KTi) Ce mode de réalisation permet d'affecter aux différentes clés d'exploitation KTi une période de validité suffisamment courte et imprévisible pour rendre la diffusion frauduleuse d'une clé KTi fastidieuse après que la valeur Ri a été dévoilée. Grâce à ce deuxième mode de réalisation, l'opérateur peut changer la clé KTi de façon imprévisible en fonction de l'intérêt des programmes diffusés. REVENDICATIONS 1. Procédé de contrôle d'accès à un programme crypté diffusé par un opérateur (1) à une pluralité de groupes d'abonnés, chaque groupe d'abonnés étant muni d'une clé de groupe KG, et chaque abonné étant susceptible de recevoir de l'opérateur (1) une clé d'exploitation KT chiffrée par la clé de groupe KG pour décrypter le programme diffusé, procédé caractérisé en ce qu'il comporte en outre les étapes suivantes : avant la diffusion du programme crypté, a-associer à la clé d'exploitation KT chiffrée une valeur aléatoire R pour générer un code secret ; b-transmettre le code secret aux abonnés, et c-transmettre la valeur aléatoire R aux abonnés pour calculer la clé d'exploitation KT seulement lorsque le programme crypté est diffusé. 2. Procédé selon la revendication 1, caractérisé en ce que le code secret est calculé par une fonction arithmétique réversible. 3. Procédé selon la revendication 2, caractérisé en ce que la fonction arithmétique réversible est l'opération logique XOR. 4. Procédé selon la revendication 1, caractérisé en ce que le code secret généré est mémorisé dans une carte à puce. 5. Procédé de contrôle d'accès à un programme crypté diffusé par un opérateur (1) à une pluralité de groupes d'abonnés, chaque groupe d'abonnés étant muni d'une clé de groupe KG, et chaque abonné étant susceptible de recevoir de l'opérateur (1) un nombre entier m de clés d'exploitation KTi pour décrypter le programme diffusé, procédé caractérisé en ce qu'il comporte les étapes suivantes : avant la diffusion du programme crypté, a-associer à chaque clé d'exploitation KTi chiffrée une valeur aléatoire Ri pour générer un nombre entier m de codes secrets distincts ; b-transmettre les codes secrets générés à chaque abonné ; c-transmettre aux abonnés une valeur aléatoire Ri pour calculer une clé d'exploitation KTi parmi les m clés KTi seulement lorsque le programme crypté est diffusé, et pendant la période de diffusion du programme crypté, d-transmettre aux abonnés une nouvelle valeur aléatoire Ri pour changer la clé d'exploitation KTi. 6. Procédé selon la revendication 5, caractérisé en ce que les valeurs aléatoires Ri sont transmises successivement aux abonnés à des dates imprévisibles. 7. Procédé selon la revendication 6, caractérisé en ce que chaque code secret est calculé par une fonction arithmétique réversible. 8. Procédé selon la revendication 7, caractérisé en ce que la fonction arithmétique réversible est l'opération logique XOR. 9. Procédé selon la revendication 6, caractérisé en ce que tant qu'une clé KTi n'est pas utilisée, la valeur aléatoire Ri n'est pas transmise. 10. Procédé selon la revendications 7, caractérisé en ce que chaque code secret est mémorisé dans une carte à puce (6).