Brevet FR2967851A1 — publié le 20120525

Procédé et système d'accès conditionnel à un contenu numérique, terminal et dispositif d'abonné associés L'invention concerne un système et un procédé sécurisés pour transmettre entre un s e r v e u r et une pluralité d'entités, un chiffré dont le clair est exploité par lesdites entités. L'invention trouve une application privilégiée dans le domaine des systèmes et procédés d'accès conditionnel à un contenu numérique pour prévenir l'utilisation frauduleuse d'une ou plusieurs clés de déchiffrement. L'invention est particulièrement efficace et non pénalisante pour les opérateurs afin de prévenir le piratage dans le cas où plusieurs utilisateurs indélicats formeraient une coalition pour générer des données de déchiffrement à partir desquelles il est difficile de discriminer la ou les clé(s) de déchiffrement ayant permis de produire lesdites données de déchiffrement. L'invention permet ainsi de lutter efficacement contre la mise à disposition frauduleuse de contenus multimédias protégés tout en préservant les capacités de calcul nécessaire à sa mise en oeuvre et la bande passante des réseaux de distribution de contenus protégés. L'invention concerne en outre un procédé pour déclencher la révocation temporaire ou permanente du matériel électronique mis à disposition d'un abonné ou la réhabilitation éventuelle de ce dernier. L'invention concerne ainsi les adaptations dudit matériel - tels que des terminaux éventuellement couplés à des dispositifs électroniques sécurisés - et d e s s e r v e u r s de distributions de contenus protégés pour permettre la mise en oeuvre d'un procédé d'accès conditionnel robuste et efficace. Un opérateur de diffusion de contenus numériques opère généralement un système d'accès conditionnel (Conditional Access System - CAS en langue anglaise) pour mettre un contenu protégé à la disposition d'un abonné ou d'une pluralité d'abonnés. Un tel système s'appuie généralement sur des dispositifs électroniques sécurisés, tels que des cartes à puce, pour héberger les identités et/ou les droits des abonnés et pour réaliser des opérations de chiffrement, de déchiffrement ou de génération de nombres. Selon les systèmes d'accès conditionnel connus, pour diffuser un contenu multimédia protégé, des mots de contrôle chiffrés c et des contenus encodés C sont transmis au travers d'un réseau de diffusion, à intervalles réguliers ou crypto-périodes, pour le moins, connus et maîtrisés par l'opérateur de diffusion. Un mot de contrôle chiffré est obtenu généralement au moyen d'une fonction de chiffrement E telle que c=E(k), k étant la valeur dudit mot de contrôle. Un contenu encodé C est quant à lui obtenu au moyen d'une fonction de codage enc et dudit mot de contrôle k, tel que C=enc(k,M), M étant le contenu multimédia en clair. A titre d'exemple, la fonction d'encodage peut être conforme au standard DVB-CSA (Digital Video Broadcasting - Common Scrambling Algorithm, en langue anglaise). Pour pouvoir visualiser ou écouter un contenu protégé, toute personne doit souscrire un abonnement. Un abonné perçoit un dispositif sécurisé et dédié, généralement sous la forme d'une carte à puce, qui couplé à un terminal, généralement appelé décodeur ou « set-top box », constitue une entité de traitement d'abonné qui permet audit abonné de décoder un contenu protégé. Les mots de contrôles chiffrés c sont classiquement déchiffrés par le dispositif sécurisé qui délivre les mots de contrôle k au terminal. Ce dernier est en charge de réaliser le décodage d'un contenu encodé C et permet, au moyen d'une interface Homme-Machine adaptée - par exemple un téléviseur de salon, d'accéder au contenu clair A T. Bien que la robustesse des dispositifs d'abonné soit particulièrement réputée, la connaissance du matériel cryptographique, des algorithmes ou de secrets a permis à des pirates de « casser » la sécurité des dispositifs électroniques sécurisés remis aux abonnés. Un pirate peut alors « cloner » ou émuler un tel dispositif et mettre certaines « reproductions » à la disposition d'abonnés indélicats sans qu'il soit nécessaire d'opérer un réseau pirate pour distribuer des mots de contrôle ou contenus en clair. Pour contrer les pirates, les opérateurs parviennent généralement à connaître l'existence d'un tel réseau pirate ou la mise sur le marché de reproductions de données de déchiffrement. En sollicitant les services d'un pirate, un opérateur peut même disposer d'un dispositif « cloné » ou émulé et l'étudier. Un opérateur ou plus généralement toute entité « traceur » cherchant à démasquer le ou les dispositifs sécurisés d'abonné dont la sécurité à été éprouvée se heurte à une difficulté certaine pour remonter à la source du piratage. C'est notamment le cas lorsque les données de déchiffrement frauduleuses dont il dispose résultent d'une collusion de p l u s i e u r s c l é s de déchiffrement distinctes. En effet, selon les techniques connues les clés de déchiffrement sont peu ou pas traçables ou décelables en analysant lesdites données de déchiffrement. L'investigation est d'autant plus délicate que la collusion est étendue. Pour tenter de contourner ce problème, certains opérateurs ou traceurs ont augmenté de manière significative la taille des clés de déchiffrement des mots de contrôle ainsi que celle des chiffrés de ces derniers. Selon les solutions connues, lesdites tailles sont directement liés et croissent de manière linéaire au regard du nombre total d'abonnés ou d'une borne sur ce nombre. Certains techniques connues, telles que décrit par exemple dans le document US2008/0075287A1, parviennent tout au plus à limiter ces tailles de l'ordre de la racine carrée du nombre d'abonnés. La capacité d'un traceur à discriminer une clé de déchiffrement frauduleuse s'est améliorée au détriment de bande passante des réseaux de distribution et de la capacité de calcul des dispositifs sécurisés d'abonné pour produire par crypto-période des mot de contrôle dont la taille du chiffré est conséquente. En outre, de telles solutions demeurent très pénalisantes et quasi inopérables lorsque le nombre d'abonnés est grand. Il n'existe donc pas de procédés connus permettant, de tracer et d'identifier une ou plusieurs clé de déchiffrement distribuées licitement à partir de données de déchiffrement résultant de collusions tout en préservant une bande passante et une capacité de calcul réaliste pour opérer un service de distribution de contenus protégés. Parmi les nombreux avantages apportés par l'invention, nous pouvons mentionner que l'invention permet de lutter contre la distribution d'informations à des utilisateurs illégitimes leur permettant un déchiffrement frauduleux de contenus protégés et diffusés a l'attention d'utilisateurs ayant, par exemple, contracté un abonnement payant. En effet, l'invention permet efficacement de tracer et de discriminer une clé de déchiffrement secrète et dédiée ayant servi à élaborer de telles informations. Selon différents modes de réalisation, l'invention permet de décorréler la taille des clés secrètes de déchiffrement de mots de contrôle ou de leurs chiffrés, du nombre d'abonnés et/ou de collusions admissibles. Elle offre aux opérateurs un compromis particulièrement efficace et éventuellement dynamique pour dimensionner lesdites tailles afin préserver la bande de passante du réseau de distribution et la capacité de calcul des entités de traitement d'abonnés tout en tolérant un grand nombre de collusions possibles. L'invention permet en outre de révoquer à distance une entité de traitement d'abonné dont la sécurité aurait été cassée, dit « entité traîtresse », tout en poursuivant la diffusion d'un contenu au travers du réseau de diffusion. L'invention offre ainsi, à tout opérateur de diffusion de contenus, un outil particulièrement simple et efficace pour lutter contre le piratage. A cette fin, il est prévu notamment un procédé sécurisé pour transmettre un mot de contrôle entre un serveur et une pluralité d'entités de traitement pour respectivement produire et exploiter ledit mot de contrôle. Un tel procédé comporte une première une étape pour produire par le serveur un mot de contrôle chiffré c dont le clair k est destiné à être exploité par l'entité de traitement. Il comporte en outre une étape pour transmettre le mot de contrôle chiffré c produit à destination des entités de traitement ainsi qu'une étape pour réceptionner par lesdites entités le mot de contrôle chiffré c et produire un mot de contrôle en clair k à partir du mot de contrôle chiffré c réceptionné. Pour procurer un compromis efficacité vs résistance aux collusions de clés traîtresses, l'invention prévoit que : - le serveur produise le chiffré d'un mot de contrôle à partir : - d'un vecteur s de ds valeurs appartenant chacune l'ensemble Zp des entiers non nuls modulo p, p étant un nombre premier, ds étant un entier non nul et petit au regard du nombre d'entités de traitement ; - d'une valeur secrète y connue du serveur et appartenant à l'ensemble Zp des entiers non nuls modulo p ; - de deux générateurs appartenant respectivement à deux groupes cycliques (G1 et GH d'ordre p, paramètres d'un groupe bilinéaire P =(p,(G1,(G2,(GT,e(.,.)) d'ordre p où e(.,.) est un couplage tel que e:G1xG2->GT, (GT étant un troisième groupe cyclique d'ordre p ; - chaque entité de traitement produise un mot de contrôle k en clair à partir : - du mot de contrôle chiffré c ; - d'une clé de déchiffrement DKi connue de la ième entité et préalablement produite à partir de . i. d'un vecteur de dx valeurs appartenant chacune l'ensemble Zp des entiers non nuls modulo p, dx étant un entier non nul et petit au regard du nombre d'entités de traitement, le vecteur P) étant dédié à l'entité concernée ; ii. de la valeur secrète y ; iii. d'un générateur appartenant à l'un des groupes cycliques du groupe bilinéaire P. Selon un mode préféré de réalisation, un tel procédé 30 peut comporter au préalable: - une étape pour élaborer une clé mère secrète MK comportant la composante secrète y associée à des paramètres publics dont le groupe bilinéaire P ; 10 15 20 25 - une étape pour mémoriser ladite clé MK et les paramètres publics au sein du serveur ; - une étape pour mémoriser lesdits paramètres publics au sein de chaque entité de traitement ; - une étape pour produire, transmettre enregistrer les clés de déchiffrement dédiées et distinctes respectivement au sein des entités de traitement. L'invention prévoit que chaque clé de déchiffrement DKi produite puisse avantageusement comporter une 1 composante de la forme zP(Y), z étant un générateur appartenant à l'un des groupes cycliques du groupe 15 bilinéaire P et P étant un polynôme en y. Selon un mode d'application préféré, l'invention concerne en outre un procédé d'accès conditionnel à un contenu numérique comportant : 20 - une étape pour encoder un contenu numérique Al et produire un contenu encodé C à l'aide d'une fonction d'encodage mise en oeuvre par un serveur de diffusion de contenus numériques protégés ; - une étape pour produire par ledit serveur de 25 diffusion de contenus numériques protégés un mot de contrôle chiffré c dont le clair k est destiné à être utilisé par une pluralité d'entités de traitement d'abonné pour décoder ledit contenu encodé C ; 30 - une étape pour émettre au travers d'un réseau de distribution et à destination des entités de traitement d'abonné, lesdits contenu encodé C et mot de contrôle chiffré c ; 10 et DKi - une étape pour réceptionner par chaque entité de traitement d'abonné lesdits contenu encodé C et mot de contrôle chiffré c ; - une étape pour produire le clair k d'un mot de contrôle par chaque entité de traitement d'abonné à partir du chiffré c ; - une étape pour décoder par chaque entité de traitement d'abonné le contenu encodé C et produire un contenu clair M à partir d'une fonction de décodage et du clair k ; - une étape pour restituer ledit contenu clair M au moyen d'une interface adaptée audit contenu clair. Les étapes pour produire et émettre un mot de contrôle chiffré par le serveur de diffusion de contenus numériques protégés ainsi que les étapes pour produire le clair d'un mot de contrôle par les entités de traitement d'abonnés sont conformes au procédé sécurisé pour transmettre un mot de contrôle entre un serveur et une pluralité d'entités de traitement conforme à l'invention. L'invention concerne en outre un système d'accès conditionnel à un contenu numérique comportant un serveur en liaison avec une pluralité d'entités de traitement d'abonné pour mettre en oeuvre un procédé d'accès conditionnel conforme à l'invention. D'autres caractéristiques et avantages apparaîtront plus clairement à la lecture de la description qui suit et à l'examen des figures qui l'accompagnent parmi lesquelles : - la figure 1 présente un système d'accès conditionnel conforme à l'état de la technique ; - la figures 2 décrit un système d'accès conditionnel conforme à l'invention ; - la figure 3 décrit un mode de réalisation d'un procédé d'accès conditionnel conforme à l'invention. La figure 1 permet de présenter un système d'accès conditionnel à un contenu numérique selon l'état de la technique. Il consiste en un réseau de diffusion 4 mis en oeuvre par un opérateur de diffusion de contenus protégés. Ainsi, depuis un serveur de contenus 3, sont émis conjointement des mots de contrôle c et des contenus C respectivement chiffrés et encodés. Le serveur 3 encode pour cela un contenu clair M au moyen d'une fonction d'encodage enc et d'un mot de contrôle k, ce dernier étant produit par ledit serveur 3. On obtient ainsi un contenu encodé C tel que C=enc(k,M). Un chiffré c du mot de contrôle k est également émis ou « broadcasté » conjointement avec le contenu encodé C. Pour cela, le serveur chiffre au moyen d'une fonction de chiffrement E ledit mot de contrôle k pour obtenir c tel que c=E(k). Les mots de contrôle chiffrés c et les contenus chiffrés C sont transmis, via le réseau de diffusion 4, à des terminaux 2a à 2m. Ces derniers ont la charge respectivement de décoder en temps réel les contenus encodés C émis par le serveur 3. Ainsi un terminal - tel que par exemple le décodeur 2a - met en oeuvre une fonction de décodage dec et l'applique au contenu encodé C pour obtenir le contenu clair A T. Ce dernier peut être visualisé en utilisant un téléviseur de salon 5 ou toute autre interface adaptée pour restituer le contenu clair. Pour appliquer la fonction de décodage dec, un terminal doit connaître la valeur du mot de contrôle k qui a été utilisé par le serveur 3 pour encoder le contenu A T. Selon l'état de l'art et conformément à la figure 1, un terminal 2a à 2m reçoit un mot de contrôle chiffré c tel que c= E(k) et le transmet à un dispositif électronique sécurisé 1a à 1m, généralement dédié à un abonné. Le terminal 2a reçoit, au travers du réseau 4, régulièrement des couples ((7,c) et transmet à un dispositif 1a les mots de contrôles chiffrés c. Le dispositif 1a peut déchiffrer un mot de contrôle chiffré c au moyen d'une fonction de déchiffrement D pour obtenir le mot de contrôle k ayant servi à encoder un contenu A T. Ainsi k = D(c). Il en est de même pour tout autre terminal, tel que 2b à 2m, chacun coopérant respectivement avec un dispositif 1b à 1m. Selon une variante de réalisation, le serveur 3 peut utiliser un secret, par exemple sous la forme d'une clé Kc pour chiffrer un mot de contrôle k. Ainsi c= E(Kc,k). Dans ce cas, un dispositif, tel que le dispositif 1a à 1m, met en oeuvre une fonction réciproque de déchiffrement D, telle que k=D(Kd,c) où Kd est une clé de déchiffrement connue par le dispositif. Selon les fonctions de chiffrement E et de déchiffrement D, les clés Kc et Kd peuvent être identiques. C'est le cas d'un chiffrement / déchiffrement symétrique. En variante, selon un schéma dit de « broadcast encryption », Kc est une clé publique ou secrète dédiée à l'opérateur et Kd est une clé secrète dédiée au dispositif (ou en variante à un groupe de dispositifs) et connue de l'opérateur. Selon cette variante, il existe ainsi plusieurs clés individuelles de déchiffrement et chacun des dispositifs licitement émis et remis aux abonnés dudit opérateur dispose d'une telle clé de déchiffrement individuelle. Pour mettre à mal un tel système d' accès conditionnel, des pirates ont développé leur connaissance du matériel cryptographique, des algorithmes ou de secrets mis en oeuvre notamment par les dispositifs d'abonnés. Certains savent - ou pourrait - « casser » la sécurité desdits dispositifs électroniques d'abonné et parvenir à lire la valeur d'une ou plusieurs clés de déchiffrement utilisées pour produire des mots de contrôle valides pour in fine décoder des messages encodés. Il reste alors à mettre frauduleusement sur un marché parallèle ces clés - que nous nommerons « clés traîtresses » pour que des utilisateurs indélicats puissent intégrer une clé traîtresse dans un terminal pirate et ainsi bénéficier d'un accès illicite à des contenus protégés. Ce type d'acte délictuel peut être grandement facilité dans le cas où un opérateur de diffusion opère un système d'accès conditionnel pour lequel les fonctions de décodage de contenus et de déchiffrement de mots de contrôle chiffrés sont réalisées par une seule et même entité de traitement mise à la disposition d'un abonné. Ainsi, une telle entité ne comporte pas nécessairement les fonctions de sécurité permettant de protéger les moyens de mémorisation des clés de déchiffrement et/ou les algorithmes et procédés mis en oeuvre pour produire les mots de contrôle. Les fuites découlant de la mise en oeuvre peu sécurisée de tels algorithmes permet de révéler la clé de déchiffrement manipulée, etc. Un pirate peut ainsi mettre certaines « reproductions » de clés de déchiffrements à la disposition de clients indélicats sans nécessairement opérer un réseau pirate pour distribuer les mots de contrôle ou contenus en clair. Pour tenter de contrer de tels agissements, il est utile de pouvoir tracer ou détecter la clé de déchiffrement « traîtresse » ou compromise à l'origine de la reproduction. Une telle clé doit donc être traçable c'est-à-dire comporter un marqueur ou une composante qui est dédié (e) à un abonné. Ainsi, en disposant d'un terminal pirate ou du logiciel mis en oeuvre par ce dernier, il existe des procédés d'analyse pour qu'un traceur puisse déceler une donnée secrète manipulée. La tâche du traceur se complique quand plusieurs clés traîtresses sont combinées par un pirate ou par une coalition de pirates. L'invention permet de mettre en échec ces différents scenarii de piratage. La figure 2 permet d'illustrer un système d'accès conditionnel comme exemple d'application préféré de l'invention. Comme pour un système connu, l'invention prévoit un réseau de diffusion 4 mis en oeuvre par un opérateur de diffusion de contenus protégés - ou plus généralement tout moyen - pour transmettre, depuis un serveur de contenus 3, des contenus encodés C à destination d'une pluralité d'entités de traitement d'abonné, telles que les entités Ea, Eb, Em. L'invention prévoit en outre que les contenus encodés C sont émis conjointement avec des chiffrés de mots de contrôle c dont les clairs permettent de décoder lesdits contenus encodés par chaque entité d'abonné. Pour cela, le serveur 3 encode un contenu clair M au moyen d'une fonction d'encodage enc. On obtient ainsi un contenu encodé C tel que C = enc(M) . La sécurité d'un tel système réside essentiellement dans le fait que les mots de contrôle puissent être produits, échangés et exploités de manière sécurisée par le serveur et la pluralité d'entités de traitement d'abonné. De tels mots de contrôle pourraient tout aussi bien être utilisés dans un contexte applicatif différent d'un système d'accès conditionnel à des contenus numériques protégés. L'invention s'appuie sur la notion mathématique de couplage dans des groupes d'ordre premier. Un tel couplage est une application bilinéaire généralement utilisée en cryptographie dans le domaine des courbes elliptiques notamment. Soit P, un groupe bilinéaire P=(p,(GI,(G2,(GT,e(.,.)) d'ordre p premier tel que p =Â,, Â, définissant la taille 13 des éléments en tant que paramètre de sécurité. (G1, (G2 et (GT sont trois groupes cycliques d'ordre p et e:(G1x(G2 ->GT un couplage. Un groupe cyclique est un ensemble algébrique tel que gp+1 est égal à g, p définissant l'ordre du groupe cyclique et g un élément du groupe que l'on nomme « générateur ». Au sens de l'invention, une relation particulière entre les groupes (G1 et GH n'est pas requise. Les deux groupes peuvent être identiques ou plus généralement, un isomorphisme W 10 entre (G1 et GH peut être défini. L'invention prévoit que soient privilégiées tout éventuel isomorphisme ainsi que tout couplage efficacement calculables. Selon un mode de réalisation préférée, une entité de 15 traitement Ei se compose d'un terminal 2i couplé à un dispositif sécurisé 1i, par exemple une carte à puce, pour respectivement réaliser le décodage d'un contenu encodé et la production de mots de contrôle nécessaire audit décodage. La figure 2 présente les entités Ea, Eb 20 et Em comme résultant respectivement d'un terminal 2a, 2b, 2m couplé à un dispositif sécurisé d'abonné 1a, 1b, 1m. Au sens de l'invention, une telle entité pourrait être un seul et même matériel qui engloberait les deux 25 fonctions principales précédemment énoncées. Une clé de déchiffrement secrète et dédiée est connue par chaque dispositif d'abonné (ou entité d'abonnée). Ainsi, selon la figure 2, le dispositif 1a de l'entité Ea associée à l'abonné a, connait la clé de déchiffrement 30 DKa. Cette clé est distincte de la clé DKb, elle-même distincte de la clé DKm. Ces clés ne sont connues respectivement que des entités Eb et Em (ou plus précisément des dispositifs sécurisés d'abonnés respectifs 1b et 1m). Bien que dédiées et distinctes les 35 clés de déchiffrement selon l'invention sont traçables (c'est-à-dire identifiables lors d'une action de discrimination ou de traçage comme nos le verrons plus loin). Elles sont toutes produites à partir d'une clé mère MK connue du serveur 3, ladite clé pouvant être associée à des paramètres publics PP - dont le groupe bilinéaire P, paramètres connus dudit serveur mais également des différentes entités de traitement, plus précisément, selon l'exemple préféré décrit en liaison avec la figure 2, connus des dispositifs 1a à 1m. Les clés de déchiffrement permettent aux entités de traitement Ea à Em de produire un mot de contrôle k dont le clair permet de décoder les contenus encodés. Ce clair k est produit à partir d'un mot de contrôle chiffré c émis conjointement avec le contenu encodé C par le serveur 3. Selon l'exemple préféré décrit en liaison avec la figure 2, les dispositifs sécurisés 1a à 1m sont chargés de produire le clair k au sein de chaque entité de traitement Ea à Em. Pour cela les terminaux 2a à 2m sont aptes à réceptionner les mots de contrôles chiffrés c et sont également aptes à transmettre au dispositif sécurisé respectif lesdits chiffrés c. Les mots de contrôle clairs produits par les dispositifs 1a à Am sont transmis en retour aux terminaux respectifs pour qu'ils puissent décoder les contenus encodés C et a i n s i produire à leur tour un contenu clair M restitué par une interface homme-machine adaptée 5 à un abonné. La figure 3 permet de décrire un exemple d'application de l'invention sous la forme d'un procédé d'accès conditionnel à un contenu protégé mis en oeuvre par un système tel que celui décrit en liaison avec la figure 2. Par mesure de simplification, la pluralité d'entités de traitement est matérialisée par une entité Ei sous la forme d'un terminal 2i associé à un dispositif sécurisé d'abonné 1i. Des contenus encodés C sont transmis, depuis un serveur 3, à l'entité Ei par l'intermédiaire d'un réseau 4. Tout autre moyen de diffusion pourrait être utilisé à cette fin. Les contenus encodés sont associés à des mots de contrôle chiffrés c dont le clair permet le décodage des contenus encodés. Le terminal 2i est apte à réceptionner les contenus encodés et mots de contrôles chiffrés. Ces derniers sont transmis par le terminal au dispositif d'abonné qui à l'aide de la clé de déchiffrement secrète DKi et de paramètres publics PP produit le clair des mots de contrôle et les transmet en retour au terminal 2i. Celui-ci peut décoder les contenus encodés C à l'aide des mots de contrôle k et délivrer les contenus clairs M à l'interface 5. Pour pouvoir réaliser ceci, un processus d'accès conditionnel selon l'invention, consiste en les étapes principales 310, 110 et 210 correspondant respectivement à : - 310 : produire et émettre les contenus encodés C associés aux mots de contrôle chiffrés c à destination des entités de traitements ; - 110 : produire à partir des mots de contrôles chiffrés c et de la clé de déchiffrement DKi les mots de contrôles clairs k ; - 210 : décoder les contenus encodés à partir des mots de contrôle k. Optionnellement, ces étapes peuvent être précédées 25 par les étapes 300 et 100 consistant à produire des paramètres publics PP et à les enregistrer dans les entités de traitements Ei, plus précisément les dispositifs sécurisés. La figure 3 décrit également les étapes préalables 301 et 101 pour produire les clés de 30 déchiffrement DKi et les enregistrer dans les entités de traitement Ei, plus précisément dans les dispositifs 1i. Au-delà de l'exemple préféré appliqué aux procédé et système d'accès conditionnel, l'invention concerne en 35 premier lieu un procédé sécurisé pour transmettre un mot de contrôle entre un serveur et une pluralité d'entités de traitement pour respectivement produire et exploiter ledit mot de contrôle. Examinons au travers de deux modes de réalisation comment mettre en oeuvre un tel procédé - appliqué à l'exemple d'application décrit en liaison avec la figure 3. Soit P, un groupe bilinéaire P=(p,(G1,(G2,(GT,e(.,.» d'ordre p premier tel que p =Â,, Â, définissant la taille des éléments en tant que paramètre de sécurité. (G1, G2 et (GT sont trois groupes cycliques d'ordre p et e : (G1 x (G2 ->(GT un couplage. Un procédé selon l'invention comporte : - une étape 310 pour produire par le serveur un mot de contrôle chiffré c dont le clair k est destiné à être exploité 210 par l'entité de traitement ; - une étape pour transmettre le mot de contrôle chiffré c produit à destination de des entités de traitement ; - une étape pour réceptionner par lesdites entités le mot de contrôle chiffré c ; - une étape pour produire 110 un mot de contrôle en clair k par chaque entité de traitement à partir 25 du mot de contrôle chiffré c réceptionné. Pour conserver la traçabilité des clés de déchiffrement DKi t o u t en permettant une grande efficacité (en terme de bande passante et de capacité de 30 traitement), l'étape 310 pour produire le chiffré d'un mot de contrôle est réalisée par un serveur 3 à partir : - d'un vecteur s de ds valeurs appartenant chacune l'ensemble Zp des entiers non nuls modulo p, p étant un nombre premier, ds étant un entier non nul et petit au regard du nombre d'entités de traitement ; - d'une valeur secrète y connue du serveur 3 et appartenant à l'ensemble Zp des entiers non nuls modulo p ; - de deux générateurs appartenant respectivement aux groupes cycliques (G1 et (G2, paramètres du groupe bilinéaire =(p,G1,G2,GT,e(.,.». Chaque entité de traitement Ei produit 110 un mot de contrôle k en clair à partir : - du mot de contrôle chiffré c ; - d'une clé de déchiffrement DKi connue de l'entité Ei et préalablement produite à partir de : - d'un vecteur P) de dx valeurs appartenant chacune l'ensemble Zp des entiers non nuls modulo p, dx étant un entier non nul et petit au regard du nombre d'entités de traitement, le vecteur P) étant dédié à l'entité concernée ; - de la valeur secrète y ; - d'un générateur appartenant à l'un des groupes cycliques du groupe bilinéaire P 25 L'invention prévoit que les valeurs entières de dx et de ds soient petites au regard d'un nombre d'entité et donc in fine au regard du nombre d'abonnés ou de pirates. Ces deux entiers sont des paramètres de sécurité permettant de déterminer et adapter le compromis 30 efficacité vs résistance aux coalitions indélicates. Le paramètre dx permet de dimensionner la taille d'une clé de déchiffrement selon l'invention. Le paramètre ds permet directement de dimensionner la taille des mots de contrôle chiffrés. 20 ds a donc une incidence directe sur la bande passante du réseau de diffusion des mots de contrôle chiffrés. dx (tout comme ds) a quant à lui une incidence directe sur les capacités de traitement de l'entité (ou du dispositif sécurisé) qui doit mémoriser et manipuler les clés de déchiffrement pour produire le clair des mots de contrôle à partir de leurs chiffrés. Contrairement aux solutions connues pour lesquelles l e s tailles des clés et des chiffrés croissent linéairement en la taille des coalitions ou en racine carrée du nombre d'abonnés ou de groupes d'abonnés, l'invention permet de conserver des tailles particulièrement avantageuses et sans aucune mesure avec les solutions connues. Ainsi, si nous considérons qu'il existe un risque de t coalitions alors un procédé selon l' invention permet de définir dx et ds tels d - (dx +ds -1)! que t=Cz+ds_1 - d - . A titre d'exemples, l'invention d x -(ds ID! permet d'obtenir (selon le mode de réalisation) les compromis suivants . - pour t=120 :d, =3 et ds =7 ; - pour t=126 :d, =4 et ds =5 ; - pour t=105:d,=2etds=l3. Ces résultats permettent de souligner l'apport particulièrement significatif de l'invention au regard de 25 l'état de la technique. Comme indiqué par la figure 3, un procédé pour transmettre de manière sécurisé un mot de contrôle entre un serveur et une pluralité d'entités de traitement 30 conforme à l'invention peut comporter une étape 300 pour élaborer et mémoriser une clé mère secrète MK comportant la composante secrète y associée à des paramètres publics dont le groupe bilinéaire P. Il peut en outre comporter une étape 100 pour mémoriser lesdits 35 paramètres publics au sein de chaque entité de traitement 19 - plus précisément et de manière préférée - au sein du dispositif sécurisé d'abonné de ladite entité. Lors de la souscription d'un abonnement par exemple, pour pouvoir délivrer un matériel à un abonné connaissant la clé de 5 déchiffrement secrète et dédiée DKi, un tel procédé peut comporter également une étape pour produire 301, transmettre et enregistrer 101 la clé de déchiffrement DKi au sein de l'entité de traitement - plus précisément et de manière préférée - au sein du dispositif sécurisé 10 d'abonné de ladite entité. Nous allons décrire successivement deux modes de réalisation d'un tel procédé. Ces deux modes de réalisation ont notamment en commun que la clé de 15 déchiffrement DKi produite comporte une composante de la 1 forme zPO, z étant un générateur appartenant à l'un des groupes cycliques du groupe bilinéaire P et P étant un polynôme en y. 20 Selon un premier mode de réalisation, pour un groupe bilinéaire P =(p,(G1,(G2,(GT,e(.,.» et des paramètres de sécurité dx et ds choisis, la clé mère secrète MK consiste en y et g, telle que MK=(y,g). y est une valeur secrète appartenant à l'ensemble Zp des entiers 25 non nuls modulo p premier. g est un générateur du groupe (G1. La valeur de g peut de manière avantageuse être choisie aléatoirement. De la même manière, on choisit, éventuellement aléatoirement, un générateur h du groupe (G2. Avantageusement, on peut calculer v=e(g,h) 30 et associer la valeur v aux composantes y et g de la clé Ml(. Pour constituer 2 ds-1 e, gY , ... , gY r les paramètres publics, 2 dx-1 hY, hY hY Outre P et h, on calcule l'ensemble des ces valeurs constituent les paramètres publics. L'ensemble de ces calculs ou tirages aléatoires peuvent être réalisés par le serveur 3 ou être réalisés et obtenus à partir d'un serveur distinct et dédié à cet effet. Selon ce premier mode de réalisation, l'étape pour produire une clé de déchiffrement consiste à produire ladite clé comme résultant de deux composantes telles que 1 DKi =(x(i),Ai) où Ai =gP(Y) avec P(y)=(y+xl.(y+xl...(y+x(d» . Ainsi, lors de la souscription d'un nouvel utilisateur ou abonné i, la clé DKi unique et dédiée est produite puis transmise et enregistrée - préférentiellement de manière sécurisée - dans l'entité de traitement Ei qui exploitera ladite clé pour produire les mots de contrôle clairs. Plus précisément, une telle clé est enregistrée dans un dispositif sécurisé 1i composant de l'entité Ei. Pour produire un mot de contrôle chiffré, le serveur 3 produit ledit mot comme résultant de deux composantes avec Q(y)=(y+s1 ).(y+s2)...(y+sd j , s ~ J étant un vecteur de ds éléments de Zp. On peut écrire le vecteur s comme s = (s1,s2,...,sds ) . A réception d'un mot de contrôle chiffré c, une entité de traitement Ei met en oeuvre une étape pour produire le clair dudit mot de contrôle. Cette a pour objectif de retrouver un mot de contrôle k dont la 1 y+s valeur devrait être k=e(g,h) telles que c= 1 s, efr) Cette étape consiste à produire k tel que 1 1 ~0 Ai,hQfr) ~ J de calculs a, 1dx P 1(Y) l=1 Rl+ds (-si ) T~77d ds 11 jl 11=1 Ri (-si) PI (y)=n(xq)+Y), q=1 q~l m =1, ..., dx . Selon ce premier mode de réalisation, la taille de la clé de déchiffrement DKi est linéaire en dx. La taille 10 du chiffré est quant à elle linéaire en ds. Selon une variante de ce premier mode réalisation, il k=e .e(Ai,h ).e ga ~ J Les élément Ids QI (Y) 1=1 Ri (-si ) a =1- d 1ds 11 jl sJ 1=1 Ri (-si) QI(Y)+Y) , j =1 et 6 sont tels que : avec et 1 et 0= T~77d 1ds 11 jlsJ 1=1 Ri (-si) ds +dx Y) = (si +Y) j =1 sds+m X(i pour est possible de réduire la taille clés secrètes de déchiffrement x(i) = ,... ~x1~~» ~~~ dx de la production d'une clé DKi des chiffrés c et des DKi. En effet, tout peut être généré, lors par le serveur 3, à 15 d'abord, le vecteur partir d'une graine pi. composante de la clé Cette graine constitue alors une secrète telle que DKi=(pi,Ai). Réciproquement, le vecteur xO peut être retrouvé par 20 l'entité de traitement à l'aide de ladite graine pi lors du déchiffrement du mot de contrôle. En outre, le vecteur s = (s1 ,.,sds ) peut être généré,lors de la production d'un chiffré c par le serveur 3, à partir d'une graine n. Cette graine constitue alors une composante du chiffré telle que c= 'q,hQ(Y) . Réciproquement, le vecteur s peut ~ J être retrouvé par l'entité de traitement à l'aide de ladite graine lors du déchiffrement du mot de contrôle. Selon cette variante, les tailles de la clé de déchiffrement DKi et du chiffré deviennent constantes. Selon un deuxième mode de réalisation, pour un groupe bilinéaire =(p,(G1,(G2,(GT,e(.,.)) et des paramètres de sécurité dx et ds choisis, la clé mère secrète MI( consiste en y et g, telle que MK=(y,g). y est une valeur secrète appartenant à l'ensemble Zp des entiers non nuls modulo p premier. g est un générateur du groupe (G1. La valeur de g peut de manière avantageuse être choisie aléatoirement. De la même manière, on choisit, éventuellement aléatoirement, un générateur h du groupe (G2. Avantageusement, on peut calculer v=e(g,h) et associer la valeur v aux composantes y et g de la clé MK. Les paramètres publics consistent en P L'ensemble de ces calculs ou tirages aléatoires peuvent être réalisés par le serveur 3 ou être réalisés et obtenus à partir d'un serveur distinct et dédié à cet effet. Selon ce deuxième mode de réalisation, l'étape pour produire une clé de déchiffrement consiste à produire ladite clé comme résultant de deux composantes telles que dx x~ +xm DKi =(Ai,B(i» où Ai =g Y et le vecteur 8de dx 1 1 1 a valeurs telles que B@) = hy+'x~,hy+ ,..., hy+xdix) Ainsi, lors de la souscription d'un nouvel utilisateur ou abonné i, la clé DKi unique et dédiée est produite puis transmise et enregistrée préférentiellement de manière sécurisée - dans l'entité de traitement Ei qui exploitera ladite clé pour produire les mots de contrôle clairs. Plus précisément, une telle clé est enregistrée dans un dispositif sécurisé 1i composant de l'entité Ei. Pour produire un mot de contrôle chiffré, le serveur 3 produit le mot de contrôle chiffré comme résultant de quatre composantes telles que c=(W1,W2,s,U) avec U=(U1,...,Uds) vecteur de ds valeurs. Le vecteur U est tel 1 1 +s ~ .~ que U1 = hy+sl ,U2 _ h(y+s1) (y +sz), ..., Uds = h y y+sds L e s m 1 composantes W1 =(gy)m , W2 = as / = Ud m étant un s (y ...(y+s entier. A réception d'un mot de contrôle chiffré c, une entité de traitement Ei met en oeuvre une étape pour produire le clair dudit mot de contrôle. Cette a pour objectif de retrouver un mot de contrôle k dont la m-dx valeur devrait être k=e(g,h) m étant l'entier choisi précédemment. Cette étape consiste à calculer k tel que i 1 ~ gy,n(e rdsi(y+si) j =l ~ J 1 1 k=e -e(Ai,W2) où 24 Selon ce deuxième mode de réalisation, la taille de la clé de déchiffrement DKi est linéaire en d,. La taille du chiffré est quant à elle linéaire en ds. Un choix particulièrement avantageux peut consister à déterminer ds et dx tels que le nombre de collusions t est exponentiel en (dx+ds). Si dx vaut 1, les clés de déchiffrement sont de taille constante et t devient linéaire en ds . Que ce soit dans le cadre du premier ou du deuxième mode de réalisation, il est particulièrement avantageux que la composante Ai de la clé DKi soit enregistrée par moyens de mémorisation sécurisés dans chaque unité de traitement. C'est notamment le cas lorsqu'une unité de traitement comporte un dispositif sécurisé. Il suffit dans ce cas - pour garantir la robustesse du système - que ladite composante Ai y soit au minimum enregistrée ou en variante la clé DKi en entier. Ne mémoriser que la composante Ai permet de réduire la capacité de mémorisation sûre et nécessaire à la robustesse du système. A titre d'exemple et afin d'illustrer l'aptitude d'un traceur à discriminer une clé de déchiffrement, nous présentons à présent une méthode de traçage. Pour décrire cette méthode, nous allons utiliser une notation de type (U,V) pour décrire un couplage (ou pairing selon une terminologie anglo-saxonne) équivalente à la notation e(U,V) utilisée précédemment. Considérons que le traceur a pu récupérer un décodeur pirate. L'analyse de ce dernier lui permet disposer du logiciel pirate et de mettre en oeuvre une méthode de traçage de type boîte blanche. Selon une première étape, le décodeur pirate est interprété comme une séquence d'instructions formelles. Chaque instruction est composée d'une opération de référence, d'une ou plusieurs variables d'entrée et d'une variable de sortie. Classiquement, les opérations dites de référence sont listées dans un dictionnaire (le jeu d'instructions) et peuvent être de natures diverses: opérations arithmétiques ou logiques, saut conditionnels ou non, appels de sous-programmes, etc. Dans cette phase d'interprétation abstraite classique, le décodeur est donc réécrit sous forme d'une suite d'instructions parmi lesquelles se distingueront les opérations associées au système bilinéaire (P,G1,G2,GT) mis en oeuvre par le procédé de chiffrement selon l'invention : - les opérations de multiplication T = U-U' dans (G1, - les opérations de multiplication S = V-V' dans G2, - les opérations d'exponentiation U = Ta dans (G1, - les opérations d'exponentiation V = Sb dans (G2, 20 - les opérations de couplage bilinéaire a =(U,V) (dites pairing) de (G1 x(G2 -->GT , - les opérations de multiplication y= a.P dans (GT, - les opérations d'exponentiation P = ac dans (GT. Ces opérations sont appelées algébriques tandis que 25 toutes les autres seront qualifiées d'opérations annexes. Dans cette même phase d'interprétation, les variables d'entrée et de sortie de chaque instruction sont mises sous forme dite SSA (Static Single-Assignment selon une terminologie anglo-saxonne) de manière à pouvoir aisément 30 déduire de cette représentation du décodeur pirate, le graphe de calcul de toute variable manipulée par lui au cours de son exécution formelle. Les variables d'entrées des instructions ne peuvent être que des quatre types suivants: 1. une variable constante faisant partie du programme de départ, 2. une variable intermédiaire, 3. une variable d'entrée du programme représentant 5 une partie du chiffré, ou 4. une variable aléatoire issue de l'appel à une source aléatoire externe au programme du décodeur. La variable de sortie du programme représente la donnée en clair k et est issue d'un graphe de calcul à 10 valeur de sortie dans GT. Dans une seconde étape dite de spécialisation, le programme réécrit est modifié pour le rendre apte à l'identification ultérieure de traîtres. Grâce à la 15 réécriture du programme, on peut en supprimer toutes les instructions qui ne participent pas au graphe de calcul de la variable de sortie k (instructions non connexes au graphe). On cherche ensuite à fixer toutes les variables d'entrée du programme (celles de type 3 et 4) à des 20 valeurs constantes pour lesquelles le programme parvient à déchiffrer correctement. Cette recherche de valeurs fixes peut être conduite de manière aléatoire et exhaustive et, si le décodeur donné à l'origine est suffisamment fonctionnel (c'est-à- 25 dire déchiffre dans une fraction significative des cas en moyenne), cette étape de recherche aboutira rapidement en quelques essais. Lorsque des valeurs conviennent, elles sont substituées aux variables correspondantes dans le 30 programme, de sorte que celui ci s'exécutera toujours de la même façon. Ainsi un exemple d'exécution réussie est instancié par le nouveau programme composé uniquement d'instructions effectuées sur des constantes. Le procédé de traçage comporte à présent une étape de simplification du programme visant à obtenir une unique séquence d'instructions sans saut: - on effectue une propagation des constantes pour supprimer toutes les instructions annexes dont les variables d'entrée sont toutes des constantes ; cette transformation exclut donc les opérations algébriques. - on élimine les instructions dont l'exécution est tautologique: - les sauts conditionnels sont soit éliminés soit remplacés par des sauts non conditionnels ; - les appels de fonctions sont remplacés par une copie du corps de la fonction appelée ; - on élimine les instructions inutiles ou code mort. A l'issue de cette phase, sont supprimés les sauts 20 non conditionnels en juxtaposant bout à bout les séquences linéaires d'instructions par ordre chronologique d'exécution. Le programme devient alors une suite d'instructions algébriques séquentielles sans flot de contrôle. 25 A présent, on applique au programme obtenu plusieurs transformations de manière inductive et concurrente. On introduit pour cela : - une instruction formelle expoi(u,a) qui représente 30 le calcul de ua dans (Gi avec i e {1,2,T} ; - une instruction formelle de « pairing » étendu (U,V;a) qui représente le calcul de (U,V)a. On procède à présent aux simplifications algébriques suivantes, de manière inductive et concurrente jusqu'à 35 stabilisation du programme: 10 15 - chaque instruction d'exponentiation ua est remplacée par expoi(u,a) p o u r le i E {1,2,TI approprié - chaque variable u est remplacée par expoi(u,l) pour le i e {1,2,T} approprié ; - chaque combinaison d'instructions de type expoi(u-v,a) est remplacée par expoi(u,a)-expoi(v,a) ; - chaque combinaison d'instructions de type expoi(u,a) -expoi(u,b) est remplacée par expoi (u, a+b mod p ) ; - chaque combinaison d'instructions de type expoi(expoi(u,a),b) est remplacée par expoi(u,abmodp) ; - chaque instruction de « pairing » (U,V) est remplacée par (U,V;1) ; - chaque combinaison d'instructions de type (U-U',V;a) est remplacée par (U,V;a)-(U',V;a) ; - chaque combinaison d'instructions de type (U,V -V ;a) est remplacée par (U,V;a)-(U,V ;a) ; - chaque combinaison d'instructions de type (expoi(U,a),V;b) est remplacée par (U,V;abmodp) ; - chaque combinaison d'instructions de type (U,expo2(V,a);b) est remplacée par (U,V;abmodp) ; - chaque combinaison d'instructions de type (U,V;a)-(U,V;b) est remplacée par (U,V;a+bmodp~ ; - chaque combinaison d'instructions de type expoT«U,V;a),b) est remplacée par (U,V;abmodp~ ; - on remplace expoi(u,0) par 1, (U,V;0) par 1 et 1-u par u . A l'issue de cette étape de simplification, on peut donc représenter le calcul de kE(GT comme le résultat d'un produit k = ki - k2 où - kl est un produit de n « pairings » étendus dont les entrées (Ui,V,ai) pour i=l,...,n consistent en deux points Ui et V et d'un entier ai modulo p tels que (Ui,V)(Ui,VJ) pour ij. Les variables Ui, V et ai sont des valeurs constantes du fait de l'étape de spécialisation. Chaque variable Ui, V est nécessairement soit une dans le programme, soit une faisant partie du chiffré donné constante stockée variable d'entrée en entrée ; - k2 est un produit de m éléments de G7 i.e. k2 = expoT (al,bl)....eXpoT (am,bm) 1 Dans une troisième phase, on identifie le coefficient correspondant à chaque élément algébrique du chiffré c donné en entrée. Plus précisément, si le chiffré donné en entrée contient ul,...,ur1 EQwl, vl,...,vrz E(G2 et 14;1,- , wrT E (GT , ai telles que vi =V et Ui e{uI,...,u,j} n'est élément du chiffré ; on forme ainsi un i coef (vi) = ai ,...,ai 1 dj - pour tout wiJ E[l,rTi, on collecte coef(w.)=bi tel 30 que wj =ai - pour tout uiJ E[1, ri], on valeurs ai telles que u,= pas un vecteur - pour tout collecte toutes les Ui et V e {vl,...,vr2} n'est ; on forme ainsi un collecte toutes les élément du chiffré i coef W = ai, ..., ai 1 d. E [1, r2 l , on où ai est ai ai pour nécessairement le programme, valeurs pas un vecteur - pour toute paire (ul,vi), (l, j)e[1,r1]x[1,r2], on collecte coef(ui,vi)=ai où (ul,vl)=(Ui,V). Dans chacune de ces étapes d'identification, le 5 coefficient est mis à 0 par défaut lorsqu'on ne peut trouver un indice i correspondant. On s'intéresse alors aux valeurs des {coef (ui), coef (vi), coef (we),coef (ui,vi)} . Les propriétés mathématiques de l'invention assurent que ces valeurs 10 sont des fonctions connues à l'avance impliquant des éléments x1,...,xE e Zp composant les clés compromises et des paramètres fixes s1,...,sl eZp composant le chiffré c donné en entrée. 15 Ceci forme un système d'équations multi-variées : coef(u1) coef(u2) = f2(xl,...,x£,s1,...,si) coef(ur1) = fr1(x1,...,x£,s1,...,si) coef(v1) g1 (x1,...,x£,s1,...,si) coef(v2) g2 coef(vr2 ) gr2 (xl,...,x£,) coef(w1) coef(W2) h2(x1,...,x£,s1,...,si) coef(wrT) hrT (x1,...,x£,s1,...,si) coef(u1,v1) g11(x1,...,x£,S1,...,si) 20 25 coef (ur , vr 1 2 gr1,r2 (x19...9x£,S19...9Si) 30 Connaissant les valeurs numériques de ces coefficients, les paramètres fixes si et les fonctions fi, gi, hE, 1709, le système peut être inversé pour retrouver au moins l'un des éléments x1,",xe composant l'une des clés compromises et ainsi identifier complètement cette clé. Cette phase peut nécessiter d'avoir s A titre d'exemple, si nous nous plaçons dans le cadre du deuxième mode de réalisation précédemment décrit, tout programme de déchiffrement fait apparaître le vecteur P) de (ou des) l'utilisateur(s) i, sous forme masquée ou en clair. Le traceur a ainsi accès à des P) qui ont été distribués à un ou plusieurs utilisateurs, qui sont dès lors identifiés comme traîtres. L'invention prévoit également que l'on puisse révoquer une unité de traitement, par exemple si elle a été identifiée comme traîtresse ou pour toute autre raison, et ainsi interdire à ladite entité de produire un mot de contrôle valide pour permettre par exemple de décoder un contenu encodé. L'invention prévoit que l'on puisse mettre en oeuvre deux types de révocation : une révocation temporaire ou définitive. Une révocation temporaire permet qu'une ou plusieurs entités traîtresses ne puissent plus provisoirement produire des mots de contrôle clairs valides. Une révocation permanente inhibe une telle production. Pour illustrer cette variante et à titre d'exemple, nous allons décrire les adaptations apportées à un procédé sécurisé conforme à l'invention selon le deuxième mode de réalisation. Des adaptations similaires pourraient aussi bien être réalisées sur d'autres procédés conformes à l'invention. Pour mettre en oeuvre une révocation permanente, l'invention prévoit deux étapes additionnelles aux procédés précédemment décrits. La première étape consiste à générer des données de révocation D9Î qui sont transmises à l'ensemble des entités de traitement. Ces données permettent de définir l'exclusion d'un ensemble 9i d'une ou plusieurs entités traîtresses. La seconde étape additionnelle consiste à mettre à jour les clés de déchiffrement DKi des entités n'appartenant pas à 9i pour qu'elles puissent continuer à produire des mots de contrôle valides. Considérons que les entités traîtresses sont les entités E1 à Er (ou dispositifs sécurisés d'abonnés 11 à 1r). Numérotons de 1 à r lesdites entités. La première étape pour définir les données de révocation D9Î consiste à c a l c u l e r, selon cet exemple, D9Î= (R1,...,Rr) avec R1 -hy+x(P RZ -h(y+x(P).(y+x~~~~ ~..., Rr =h`y+x~P)...(y+x(jr)) pour une valeur de je[l,dx], par exemple j=1. La valeur du générateur h est alors modifiée pour prendre la valeur 1 de R, h R,-h(y+xl...(y+x(r» ~ - Sont alors diffusées à l'ensemble des entités les données de révocation D9Î=(R1,...,Rr). La seconde étape additionnelle consiste à présent à modifier les clés de déchiffrement DKi des entités n'appartenant pas à 9i pour qu'elles puissent continuer à produire des mots de contrôle valides. La clé DKim correspondant au sème utilisateur ou abonné produite, à 1 est t e 1 que N 1 r m-1 x y) _e x l) ) BÇim) = 8~~~ B~i).TT R m ~- ~n=i i W ~~= Y pour m=1 une valeur de we[l,dxi, par exemple, w=1. Le calcul de la nouvelle valeur DKim peut être mis en oeuvre par chaque entité de traitement conforme à l'invention. Ce calcul peut en variante être réalisé par une entité tierce. Tout autre mode opératoire pour mettre à jour ladite clé peut être également exploité. L'invention prévoit en variante que les données de révocation puissent transmises aux entités de traitement conjointement aux mots de contrôle chiffrés. Ainsi il n'est pas nécessaire de transmettre selon un mode dédié lesdites données. Ces dernières peuvent par exemple faire partie intégrante du chiffré tel que c=(WI,W2,s,U,D9î) selon le deuxième mode de réalisation d'un procédé pour transmettre un mot de contrôle prévu par l'invention. En outre, il peut être prévu que la modification de la clé de déchiffrement DKi*-DKim soit réalisée par l'entité de traitement juste avant l'étape pour produire un mot de contrôle clair. Nous pouvons remarquer que pour mettre en oeuvre une révocation permanente, l'étape réalisée par le serveur pour produire la clé DKi ainsi que celle réalisée par les entités pour produire le clair du mot de contrôle k sont inchangées. Le générateur h quant à lui n'est plus fixe pour produire le chiffré. En effet h dépend de l'ensemble des entités révoquées. La clé de déchiffrement n'est également plus fixe lors de la production du clair k. 33 partir de D9î, est telle que DKi 9{ =(Ai,B~i° ~~ . Le vecteur i (i,9n i,~t) B(i°) = BI ,..., (Bd de dx valeurs ~ x 1 y+e II j=1 1 L'invention prévoit en outre d'adapter un procédé conforme à l'invention pour mettre en oeuvre une révocation temporaire. Comme précédemment, utilisons l'exemple du deuxième mode de réalisation d'un procédé conforme à l'invention pour illustrer cette fonctionnalité. De la même manière, considérons que les entités traîtresses sont les entités E1 à Er (ou dispositifs sécurisés d'abonnés 11 à 1r) numérotées de 1 à r. Une première étape additionnelle consiste au même titre que pour la révocation permanente - à calculer des données de révocations D9î telle que D9Î=(R1,...,Rr) avec 1 1 1 R1 _hy+x(P R2 _h(y+x(P).(y+xj ) ..., R, =h`y+x~P)...(y+x(jr» pour une valeur de j e [l,dx] par exemple j =1. La valeur du 15 générateur h est alors modifiée pour prendre la valeur 1 y+x(?> )...(y+x(r) de Rr : h Rr =h( . Le serveur produit le mot de contrôle chiffré comme résultant de composantes telles que c=(W1,W2,s,U,D x~l>,...,x~r» . Les quatre premières composantes 20 W1, W2, s et U sont produites classiquement (à la différence que h est préalablement modifié tel que h~Rr) . U=(U1,...,Uds) est un vecteur de ds valeurs tel 1 -(y+sz 1 que U1 = hy+sl ,U2 1 ..., Ud = h(y+si)...(y+sds~ W1 = (gY s )m' W2 h `y+81)-(7+sds ) = Udms s m étant un entier. Le chiffré 25 comporte en outre D9Î et e,...,xir~ pour la valeur de j choisie. A réception d'un mot de contrôle chiffré c, une entité de traitement Ei met en oeuvre une étape pour produire le clair dudit mot de contrôle. Cette étape est adaptée pour calculer k tel que 1 k=e gY,n(B~a,~ nl=I(Y+sl) e(Ai,W2) où j=1 ~ J 1 1 (B( x x Br (-1)i r ~7 Y-1~x(i)-sn l=1« ~xj (~)-s _ l 1 Il Z» J, )n1d=sI(y+s,) J nu y Y n=1 ; i=1 j=1 y=1 Nous pouvons remarquer que pour mettre en oeuvre une révocation temporaire, l'étape pour produire la clé DKi demeure inchangée. Le générateur h n'est plus fixe car il dépend de l'ensemble des entités révoquées. L'étape pour produire un chiffré est simplement précédée par l'affection dudit générateur avant de produire un chiffré. La production du clair du mot de contrôle k est quant à elle adaptée pour mettre en oeuvre la révocation temporaire. L'invention a été décrite en liaison avec le domaine de l'accès conditionnel à des contenus protégés comme exemple d'application préférée. L'invention pourrait être appliquée à d'autres domaines pour lesquels il est nécessaire de transmettre un chiffré à une pluralité d'entités de traitement dont le clair est exploité par lesdites entités. 10 15 20 25 30 REVENDICATIONS1. Procédé sécurisé pour transmettre un mot de contrôle entre un serveur (3) et une pluralité d'entités de traitement (Ea, Eb, Em, Ei) pour respectivement produire et exploiter ledit mot de contrôle, ledit procédé comportant : - une étape pour produire (310) par le serveur un mot de contrôle chiffré c dont le clair k est destiné à être exploité par l'entité de traitement ; - une étape pour transmettre le mot de contrôle chiffré c produit à destination de des entités de traitement ; - une étape pour réceptionner par lesdites entités le mot de contrôle chiffré c - une étape pour produire un mot de contrôle en clair k par chaque entité de traitement à partir du mot de contrôle chiffré c réceptionné ; caractérisé que : - le serveur produit le chiffré d'un mot de contrôle à partir : i. d'un vecteur s de ds valeurs appartenant chacune l'ensemble Zp des entiers non nuls modulo p, p étant un nombre premier, ds étant un entier non nul et petit au regard du nombre d'entités de traitement ; ii. d'une valeur secrète y connue du serveur et appartenant à l'ensemble Zp des entiers non nuls modulo p ; iii. de deux générateurs appartenant respectivement à deux groupes cycliques et G2 d'ordre p, paramètres d'un 5 15 20 25 30groupe bilinéaire P=(p,G1,G2,GT,e(.,.)) d'ordre p où e(,.) est un couplage tel que e : (GI x (G2 ->GT , GT étant un troisième groupe cyclique d'ordre p ; - chaque entité de traitement produit un mot de contrôle k en clair à partir : i. du mot de contrôle chiffré c ; ii. d'une clé de déchiffrement DKi connue de la ième entité et préalablement produite à partir de : a) d'un vecteur P) de dx valeurs appartenant chacune l'ensemble Zp des entiers non nuls modulo p, dx étant un entier non nul et petit au regard du nombre d'entités de traitement, le vecteur P) étant dédié à l'entité concernée ; b) de la valeur secrète y ; c) d'un générateur appartenant à l'un des groupes cycliques du groupe bilinéaire P 2. Procédé selon la revendication précédente comportant au préalable: - une étape pour élaborer (300) une clé mère secrète MK comportant la composante secrète y associée à des paramètres publics dont le groupe bilinéaire P ; - une étape pour mémoriser ladite clé MK et les paramètres publics au sein du serveur ; - une étape pour mémoriser (100) lesdits paramètres publics au sein de chaque entité de traitement ; 10 15 20 25 30- une étape pour produire (301), transmettre et enregistrer (101) les clés de déchiffrement DKi dédiées et distinctes respectivement au sein des entités de traitement. 3. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que chaque clé de déchiffrement DKi produite comporte une composante 1 de la f o r m e zP(Y) , z étant un générateur appartenant à l'un des groupes cycliques du groupe bilinéaire P et P étant un polynôme en y. 4. Procédé selon les revendications 2 ou 3, caractérisé en ce que : - ledit procédé comporte : i. une étape pour choisir générateurs appartenant aux groupes cycliques (G1 produire comme outre P et h, les ds-1 2 ... , gY hY , hY , - l'étape pour produire (301) une déchiffrement DKi consiste à ladite clé comme résultant de deux composantes telles que DKi=( ,Ai) où 1 Ai = gP(Y) avec P(y)=(y+xi ).(y+x2 )...(y Xd ) , - l'étape pour produire (310) le mot de contrôle chiffré consiste à produire ledit mot comme résultant de deux composantes g et h deux respectivement et (G2 ; ii. une étape pour paramètres publics - 2 composantes gY, gY, dx-1 hY ; - la clé secrète MK consiste en y et g ; clé de produiretelles que c= s, hQ(Y) avec Q(y)=(y+S1).(y+S2)...(Y+Sds l'étape pour produire (110) le mot de contrôle clair k consiste à calculer k tel 1 ,e que k=e ga,hQ(Y) .e(Ai,h ).e Ai,hQ(Y) où 0= T~77ds 1ds 11 jlSj 1=1 Ri (-si ) Id, P(Y) l=1 Rl+ds (-Sl ) T~77d 1ds 11 jl Sj 1=1 Ri (-si ) Ql(Y)=n(sj+Y), j=1 ~ J 1ds QI (Y) 1=1 Ri (-si ) T~77d 1 ds F j l sj 1=1 Ri (-si ) dx P(y) q=1 q~l 1 a =1 = avec et ds +d, Ri (y) _ (sj +y) et Sds+m = j =l (i pour m=l,...,dx . 15 5. Procédé selon les revendications 2 ou 3, caractérisé en ce que : - ledit procédé comporte une étape pour choisir g et h deux générateurs appartenant respectivement aux groupes (G1 et (G2 - les paramètres publics consistent en P - la clé secrète MK consiste en y et g ; - l'étape pour produire (301) une clé de déchiffrement DKi consiste à produire 5 10ladite clé comme résultant de deux composantes telles que DKi =(Ai,Bl où x(.`) Ai =g i' y+x(i) et le vecteur B(i~ de d valeurs 1 1 1 a y+e y+x(`) y+x(i) telles que B(~ = h ,h ,..., h x ; l'étape pour produire (310) le mot de contrôle chiffré consiste à produire ledit mot comme résultant de 4 composantes telles que c=(W1,W2,s,U) avec U vecteur de ds valeurs tel que 1 U hy+si ,U2 - h(y+si).(y+sz) ,-..,Uds =h(y+si)...(y+sds - ~ 1 =(gm , = h(y+sl W1 y~ W2 m y+sa s / =Un' m étant un s entier ; - l'étape pour produire (110) le mot de contrôle clair k consiste à calculer k tel 1 que k=e gy,n(BIndsi(y+si) i=1 -e(Ai,W2) où 15 J ds / 1 i+ds y 1(x(`) B(Z~ ~ Ul-) l ln 1 \ j _ J Y y=11_ ( (i) _ ) ~_1 xj si 6. Procédé selon la revendication précédente, 20 caractérisé en ce qu'il comporte une étape pour produire des données de révocation D9Î telles que 1 1 y+x(P (y+x(P)-(y D9Î =(R1,...,Rr) avec R1 =h R2 =h1 R, =h`Y+xl...(Y+x(j») et en ce que le générateur h prend la valeur R, préalablement à la mise en oeuvre de l'étape pour produire (310) le mot de contrôle chiffré. 7. Procédé selon la revendication précédente, caractérisé en ce qu'il comporte une étape pour modifier la valeur de clé de déchiffrement préalablement à la mise en oeuvre de l'étape pour produire (110) le clair d'un mot de contrôle, ladite clé prenant une valeur DKi 9{ =(Ai,B(il avec 1 IIfi=1 y+xW 1 B(i' m=1 pour une valeur donnée de we[l,dx] . 8. Procédé selon la revendication 6, caractérisé en ce que le chiffré comporte en outre D9Î et e,...,xi pour une valeur de j e [l,dx] choisie et en ce que l'étape pour produire (110) k est adaptée pour produire le clair d'un mot de contrôle telle que 1 gY,ÎÎ(B(i »nasi(Y+sl) j=1 e J 1)+r j7m 1( l ln 1 fui (Y -xw(» ) k=e .e(Ai,W2) où ~ J 1 1 i n (ds B( ii) ~n0Y+s I ) U(-1) 11 1 J J Y j=1 j=1 Y=1 r 1i1 xj5`) - n=nI=1 x(j`)-si) 9. Procédé d'accès conditionnel à un contenu numérique comportant . 5 10 15 20 30 35- une étape pour encoder un contenu numérique M et produire un contenu encodé C à l'aide d'une fonction d'encodage mise en oeuvre par un serveur de diffusion de contenus numériques protégés ; - une étape pour produire (310) par ledit serveur de diffusion de contenus numériques protégés un mot de contrôle chiffré c dont le clair k est destiné à être utilisé par une pluralité d'entités de traitement d'abonné pour décoder (210) ledit contenu encodé C ; - une étape pour émettre au travers d'un réseau de distribution et à destination des entités de traitement d'abonné, lesdits contenu encodé C et mot de contrôle chiffré c ; - une étape pour réceptionner par chaque entité de traitement d'abonné lesdits contenu encodé C et mot de contrôle chiffré c ; - une étape pour produire (110) le clair k d'un mot de contrôle par chaque entité de traitement d'abonné à partir du chiffré c ; - une étape pour décoder (210) par chaque entité de traitement d'abonné le contenu encodé C et produire un contenu clair M à partir d'une fonction de décodage et du clair k ; - une étape pour restituer ledit contenu clair M au moyen d'une interface adaptée audit contenu clair ; caractérisé que : - les étapes pour produire (310) et émettre un mot de contrôle chiffré par le serveur dediffusion de contenus numériques protégés ainsi que les étapes pour produire (110) le clair d'un mot de contrôle par les entités de traitement d'abonnés sont conformes au procédé selon l'une quelconque des revendications 1 à 8. 10. Procédé selon la revendication précédente, chaque entité de traitement (Ea, Eb, Em, Ei) consistant en un terminal (2a, 2b, 2m, 2i) en liaison avec un dispositif sécurisé d'abonné (1a, 1b, 1m, 1i) mettant en oeuvre respectivement le décodage d'un contenu encodé et la production du clair d'un mot de contrôle chiffré, caractérisé en ce que : - l'étape pour réceptionner un contenu encodé C et un mot de contrôle chiffré c par une entité de traitement consiste à : i. réceptionner par le terminal le contenu encodé et mot de contrôle chiffré ; ii. transmettre le mot de contrôle chiffré c par le terminal au dispositif sécurisé d'abonné coopérant avec ledit terminal ; - l'étape pour produire (110) le clair k d'un mot de contrôle par une entité de traitement consiste à produire celui-ci par le dispositif sécurisé d'abonné qui le délivre au terminal ; - l'étape pour décoder (210) un contenu encodé C consiste à mettre en oeuvre par le terminal la fonction de décodage pour produire un contenu clair M à partir du contenu encodé C et dudit mot de contrôle k. 20 25 30 35 10 15 20 25 30 35 11. Système d'accès conditionnel à un contenu numérique, caractérisé en ce qu'il comporte un serveur (3) en liaison avec une pluralité d'entités de traitement d'abonné (Ea, Eb, Em, Ei) pour mettre en oeuvre un procédé d'accès conditionnel selon les revendications 9 ou 10. 12. Serveur (3) d'un système d'accès conditionnel selon la revendication 11 caractérisé en ce qu'il comporte : - des moyens pour mémoriser la clé MK et les paramètres publics ; - des moyens de traitement pour produire (310): ^ un contenu encodé C à partir d'un contenu clair M ; ^ un chiffré c d'un mot de contrôle ; - des moyens pour délivrer lesdits contenu encodé C et mot de contrôle chiffré c au monde extérieur. 13. Entité de traitement (Ea, Eb, Em, Ei) d'un système d'accès conditionnel selon la revendication 11, comportant : - des moyens pour mémoriser les paramètres publics ; - des moyens pour mémoriser une clé de déchiffrement dédiée DKi ; - des moyens de réception pour recevoir des données depuis le monde extérieur sous la forme d'un contenu encodé C et d'un mot de contrôle chiffré c ; - des moyens de traitement (10) pour produire un mot de contrôle clair k à partir desdites données et de la clé de déchiffrement DKi ;- des moyens de traitement pour produire un contenu clair M à partir desdites données et du mot de contrôle k ; - des moyens pour délivrer ledit contenu clair à une interface homme-machine adaptée (5) pour restituer ledit contenu clair A T. 14. Entité de traitement selon la revendication précédente, caractérisé en ce qu'elle consiste en un terminal électronique (2a, 2b, 2m, 2i) coopérant avec un dispositif sécurisé d'abonné (1a, 1b, 1m, 1i) pour respectivement décoder (210) un contenu encodé C et produire (110) puis délivrer audit terminal, le clair d'un mot de contrôle k permettant ledit décodage. 15. Terminal (2a, 2b, 2m, 2i) pour entité de traitement (Ea, Eb, Em, Ei) selon la revendication précédente comportant : - les moyens de réception pour recevoir les données depuis le monde extérieur ; - des moyens pour coopérer avec le dispositif sécurisé d'abonné (1a, 1b, 1m, 1i) pour transmettre à ce dernier le mot de contrôle chiffré c et réceptionner en retour le mot de contrôle clair k ; - les moyens de traitement pour produire (210) le contenu clair M ; - les moyens pour délivrer ledit contenu clair à une interface homme-machine adaptée pour restituer ledit contenu clair. 16. Dispositif électronique d'abonné (1a, 1b, 1m, 1i) pour entité de traitement (Ea, Eb, Em, Ei) selon la revendication 14, adapté pour coopérer avec un 5 10terminal selon la revendication précédente, ledit dispositif comportant : - des moyens de réception pour recevoir le mot de contrôle chiffré c depuis le terminal ; - des moyens de mémorisation pour mémoriser les paramètres publics ; - des moyens de mémorisation pour mémoriser une clé de déchiffrement dédiée DKi ; - les moyens de traitement produire (110) un mot de contrôle k à partir dudit chiffré c et de la clé DKi ; - des moyens pour délivrer ledit mot de contrôle audit terminal. 15