Brevet FR2770065A1 — publié le 19990423

PROCEDE DE TRANSFERT DE CLE D'EMBROUILLAGE La présente invention concerne un procédé de transfert de clé d'embrouillage et, plus particulièrement, un procédé de transfert de clé d'embrouillage entre un élément de sécurité et un décodeur de système à accès conditionnel. Un système à accès conditionnel permet à un prestataire de services de ne fournir ses services qu'aux seuls utilisateurs ayant acquis des droits sur ces services. C'est le cas, par exemple, des systèmes de télévision à péage. Comme cela est connu de l'homme de l'art, le service fourni par un prestataire de services est constitué d'une information embrouillée par des clés d'embrouillage. L'information embrouillée ne peut être désembrouillée, et donc lue par l'utilisateur, qu'à hauteur des droits attribués à cet utilisateur. L'information embrouillée sera par la suite notée IE(ECG) o ECG représente l'information non embrouillée (l'abréviation ECG provient de l'anglais "Electronically Coded Goods"). Afin de désembrouiller l'information, le prestataire de services fournit à chaque utilisateur les clés d'embrouillage qui ont servi à embrouiller l'information. De façon à garder secrètes les clés d'embrouillage, celles-ci sont fournies après avoir été chiffrées avec un algorithme de clé K Les différentes clés d'embrouillage chiffrées sont envoyées aux différents utilisateurs dans des messages de contrôle qui seront, par la suite, notés ECM (l'abréviation ECM provient de l'anglais "Entitlement Control Message"). Afin de ne donner l'accès à son service qu'aux seuls utilisateurs autorisés, le prestataire de services fournit à chacun des utilisateurs une carte à puce et un décodeur. Les ECM sont reçus par le décodeur qui les transmet à la carte à puce. La carte à puce contient la clé K de l'algorithme de chiffrement des clés d'embrouillage. Les clés d'embrouillage sont alors déchiffrées par la carte à puce et restituées, en clair, au décodeur qui est alors en mesure de désembrouiller l'information embrouillée qu'il reçoit. Un pirate qui surveille l'interface entre la carte à puce et le décodeur se trouve alors en position pour intercepter les clés d'embrouillage déchiffrées qui transitent de la carte à puce vers le décodeur. 2 2770065 Ceci représente un inconvénient. Cet inconvénient est d'autant plus important que le système à accès conditionnel est un système de type autonome dans lequel l'information embrouillée IE (ECG) et les ECM sont contenus sur des supports autonomes d'informations tels que, par exemple, des disques vidéo numériques. En effet, le pirate qui intercepte les clés d'embrouillage en clair peut stocker ces clés et les redistribuer, de façon illicite, à des utilisateurs non autorisés. L'information embrouillée contenue sur les supports autonomes d'informations n'est alors plus protégée. Dans le cas o le système à accès conditionnel est de type "en ligne", l'information embrouillée IE (ECG) est une information constituée d'un signal distribué simultanément, par voie hertzienne ou par câble, aux différents clients du prestataire de services à partir d'une source unique. Le piratage des clés d'embrouillage déchiffrées doit alors être effectué en temps réel. Les conditions de piratage sont alors rendues plus difficiles. Le risque de piratage demeure cependant relativement important sur des liaisons suffisamment courtes. L'invention ne présente pas ces inconvénients. En effet, l'invention concerne un procédé de transfert de clé d'embrouillage déchiffrée d'un élément de sécurité vers un décodeur. Le procédé de transfert comprend: - une phase de mise en gage, dans le décodeur, de n premières données issues de l'élément de sécurité, n étant un nombre entier supérieur ou égal à 2, chacune des n premières données mises en gage étant constituée de tout ou partie de la clé d'embrouillage déchiffrée et d'une première donnée permettant l'authentification de l'élément de sécurité, - une phase de challenge pendant laquelle s'effectue le transfert, du décodeur vers l'élément de sécurité, d'une donnée permettant de sélectionner p données parmi n deuxièmes données, p étant un nombre entier inférieur à n, chacune des n deuxièmes données étant constituée de tout ou partie de la clé d'embrouillage déchiffrée et d'une deuxième donnée permettant l'authentification de l'élément de sécurité, - une phase d'ouverture constituée par le transfert, de l'élément de sécurité vers le décodeur, des p données sélectionnées lors de la phase de challenge, - une phase de calcul permettant d'extraire tout ou partie de la clé d'embrouillage déchiffrée à partir de p données sélectionnées parmi les n 3 2770065 premières données mises en gage et des p données transférées lors de la phase d'ouverture. Selon un mode de réalisation particulier de l'invention, le procédé de transfert de clé d'embrouillagre déchiffrée est tel que: - chacune des n premières données mises en gage est le résultat d'une première fonction "ou exclusif' sur laquelle sont appliquées une première donnée et une deuxième donnée, la première donnée étant un mot pseudo-aléatoire issu de l'application d'un germe à un premier générateur pseudo-aléatoire et la deuxième donnée étant un mot issu de l'association d'une troisième donnée et de tout ou partie de la clé d'embrouillage déchiffrée, - la phase d'ouverture consiste à transférer, de l'élément de sécurité vers le décodeur, le germe et la deuxième donnée, - la phase de calcul consiste: à calculer une quatrième donnée par application du germe à un deuxième générateur pseudo-aléatoire; - à appliquer la quatrième donnée et la donnée mise en gage à une deuxième fonction "ou exclusif" de façon à calculer une cinquième donnée, - à comparer la cinquième donnée à la deuxième donnée transférée lors de l'opération d'ouverture, - à mémoriser tout ou partie de la clé d'embrouillage déchiffrée si le résultat de la comparaison conduit à trouver que la cinquième donnée est identique à la deuxième donnée transférée lors de l'opération d'ouverture. Un avantage de l'invention est de protéger l'échange de données entre l'élément de sécurité et le décodeur. D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture d'un mode de réalisation préférentiel fait en référence aux figures ci-annexées parmi lesquelles: - La figure I représente un schéma de principe du procédé de transfert de clé d'embrouillage déchiffrée entre un élément de sécurité et un décodeur selon l'invention, - La figure 2 représente un mode de réalisation particulier de certaines étapes du procédé représenté en figure 1. Sur toutes les figures, les mêmes repères désignent les mêmes éléments. 4 2770065 La figure 1 représente un schéma de principe du procédé de transfert de clé d'embrouillage déchiffrée entre un élément de sécurité 1 et un décodeur 2. L'élément de sécurité est préférentiellement une carte à puce. Comme cela a été mentionné précédemment, le transfert de la clé d'embrouillage de la carte à puce 1 vers le décodeur 2 est effectué selon le principe de la mise en gage. Le principe de la mise en gage d'une donnée, consiste, pour une première partie, à s'engager auprès d'une deuxième partie sur une donnée prédéterminée sans communiquer en clair cette donnée. Lors d'une étape ultérieure, la première partie révèle à la deuxième partie la donnée en clair, la deuxième partie ayant la possibilité de vérifier que la donnée en clair correspond à la donnée qui a été mise en gage. Selon l'invention, la première partie est la carte à puce 1, la deuxième partie est le décodeur 2 et la donnée à mettre en gage comprend tout ou partie de la clé d'embrouillage déchiffrée. Le protocole d'échange de données entre la carte à puce et le décodeur se déroule essentiellement en trois phases: une phase de mise en gage, une phase de challenge et une phase d'ouverture. Lors de la phase de mise en gage, la carte à puce 1 qui contient la clé d'embrouillage déchiffrée échange des messages avec le décodeur 2 de façcon que le décodeur détienne, a la fin de la phase de mise en gage, une information constituée de données représentant de façon univoque tout ou partie de la clé d'embrouillage déchiffrée et de données permettant d'authentifier la carte à puce. Par "données permettant d'authentifier la carte à puce", il faut entendre des données permettant de vérifier que la carte à puce n'a pas été piratée. Avantageusement, I'information contenue dans le décodeur à la fin de la phase de mise en gage ne permet pas, par elle-même, de retrouver tout ou partie de la clé d'embrouillage déchiffrée ainsi que les données permettant d'authentifier la carte. Lors de la phase de challenge, des données sont transmises du décodeur vers la carte à puce de façcon à désigner lesquelles des données mises en gage doivent être dévoilées. Préférentiellement, la désignation des données mises en gage devant être dévoilées s'effectue de façon aléatoire. 2770065 Lors de la phase d'ouverture, la carte à puce transmet au décodeur les données devant être dévoilées, c'est-à-dire tout ou partie de la clé d'embrouillage déchiffrée, ainsi que des données permettant d'authentifier la carte à puce. La carte à puce 1 comprend un ensemble de données (X1, Y), (X2, Y)..... (Xn, Y). Chaque donnée (Xj, Y) (j=1, 2..., n) est constituée d'une donnée Y et d'une donnée Xj. La donnée Y est tout ou partie de la clé d'embrouillage déchiffrée. La donnée Xj est une donnée indépendante de la clé d'embrouillage et permettant l'authentification de la carte à puce. Les flèches M1, M2,..., Mj,..., Mn, C, O1, 02,..., Op représentent les différents échanges de données entre la carte à puce 1 et le décodeur 2. Les flèches M1, M2,..., Mj,..., Mn représentent la mise en gage des données respectives (X1, Y), (X2, Y),..., (Xj, Y),..., (Xn, Y). Préférentiellement, la mise en gage Mj+1 de la donnée (Xj+I, Y) succède à la mise en gage Mj de la donnée (Xj, Y). Selon le mode de réalisation préférentiel de l'invention, la phase de mise en gage est constituée de 3 étapes M1, M2 et M3. De façon plus générale, la phase de mise en gage est constituée de n étapes, n étant un nombre entier supérieur ou égal à 2. La donnée (Xj, Y) mise en gage dans le décodeur 2 est notée Mj(Xj, Y). Avantageusement, comme cela a été rnentionné précédemment, la donnée Mj(Xj, Y) ne permet pas, par elle-même, que les donnée Xj et Y soient identifiées. La flèche C représente la phase de challenge. Lors de la phase de challenge, une donnée d, sélectionnée préférentiellement de manière aléatoire, est transférée du décodeur 2 vers la carte à puce 1. Sous l'action de la donnée d, le microprocesseur de la carte à puce 1 sélectionne p données parmi n données (Z1, Y), (Z2, Y),..., (Zj, Y),..., (Zn, Y) contenues dans la carte à puce et transfère les p données ainsi sélectionnées de la carte à puce 1 vers le décodeur 2. Chaque donnée (Zj, Y) (j=1, 2,..., n) est constituée de la donnée Y et d'une donnée Zj. Selon un premier mode de réalisation de l'invention, la donnée Zj (j=1, 2...., n) est identique à la donnée Xj et la donnée (Zj, Y) est identique à la donnée (Xj, Y). 6 2770065 Selon d'autres modes de réalisation de l'invention, la donnée Zj est différente de la donnée Xj. Selon ces autres modes de réalisation de l'invention, la donnée Zj est cependant corrélée à la donnée Xj. Par corrélation de la donnée Zj et de la donnée Xj, il faut entendre que les données (Zj,Y) et (Xj, Y) sont telles que, appliquées à différents circuits et/ou opérateurs, elles permettent l'extraction de la donnée Y et, simultanément, l'authentification de la carte à puce. Un exemple d'un tel mode de réalisation est décrit en figure 2. Les p données sélectionnées parmi les n données (Zl, Y), (Z2, Y),..., (Zj,Y),..., (Zn,Y) constituent l'ensemble de données (Zal, Y), (Za2, Y)...., (Zap, Y). Le transfert des p données (Zal, Y), (Za2, Y),..., (Zap, Y) de la carte à puce 1 vers le décodeur 2 correspond à l'opération d'ouverture, les flèches 01, 02,..., Op représentant l'ouverture des données respectives (Zal, Y), (Za2, Y),..., (Zap, Y). Les données stockées dans le décodeur 2 après l'ouverture des données respectives (Zal, Y), (Za2, Y)...., (Zap, Y) sont notées 01 (Za1, Y), 02(Za2, Y),.... Op(Zap, Y). Chacune des p données Ok(Zak, Y) correspond à une des données Mj(Xj, Y) mise en gage. Par donnée Ok(Zak, Y) qui correspond à la donnée Mj(Xj, Y) mise en gage, il faut entendre soit la donnée Ok(Zak, Y) dont la donnée Zak est identique à la donnée Xj dans le cas du premier mode de réalisation de l'invention mentionné ci-dessus, soit la donnée Ok(Zak, Y) dont la donnée Zak est corrélée à la donnée Xj dans le cas des autres modes de réalisation de l'invention. Selon l'invention, le décodeur 2 comprend des moyens MO permettant d'extraire la donnée Y de la donnée Mj(Xj, Y) et de la donnée Ok(Zak, Y) qui correspond à la donnée Mj(Xj, Y) et, simultanément, d'authentifier la carte à puce 1. Une fois extraite par les moyens MO des données Mj(Xj, Y) et Ok(Zak, Y), la donnée Y est mémorisée dans un circuit mémoire M. Selon le mode de réalisation préférentiel de l'invention, la phase de mise en gage concerne 3 données (Xl, Y), (X2, Y), (X3, Y) et la phase d'ouverture 2 données (Zal, Y), (Za2, Y). Comme cela a été mentionné précédemment, la donnée Y est tout ou partie de la clé d'embrouillage déchiffrée. Dans le cas o la donnée Y est une partie de la clé d'embrouillage déchiffrée, l'opération de mise en gage 7 2770065 décrite ci-dessus est effectuée pour chacune des différentes parties qui constituent la clé d'embrouillage. A titre d'exemple, chaque donnée Y partie de la clé d'embrouillage déchiffrée est alors constituée de 7 ou 8 bits et la reconstitution de la clé d'embrouillage dans son entier est effectuée en une dizaine de passes, chaque passe permettant l'extraction, par le circuit MO, d'une donnée Y. La reconstitution dans son entier de la clé d'embrouillage déchiffrée KD est alors effectuée à l'aide du circuit mémoire M. Avantageusement, selon l'invention, le transfert de la donnée Y de la carte à puce 1 vers le décodeur 2 s'accompagne, simultanément, d'une authentification de la carte à puce 1. Ainsi un pirate qui intercepte les données échangées entre la carte à puce et le décodeur ne trouve-t-il aucun intérêt à modifier ces données car, alors, la carte à puce n'est plus authentifiée et, partant, la donnée transmise au décodeur ne peut être prise en compte. La figure 2 représente un mode de réalisation particulier du schéma de principe représenté en figure 1. Sur la figure 2, seules ont été représentées les opérations de mise en gage et d'ouverture. Les différentes flèches reliant la carte à puce 1 au décodeur 2 représentent différents types d'échanges de données entre la carte à puce 1 et le décodeur 2. La flèche Mj représente la mise en gage, dans le décodeur 2, d'une donnée Cj contenue dans la carte à puce 1. Les flèches Oa et Ob représentent l'étape d'ouverture correspondant à l'étape de mise en gage Mj. Pour des raisons de commodité, l'échange de données entre la carte à puce 1 et le décodeur 2 représentée en figure 2 concerne une seule étape de mise en gage et une seule étape d'ouverture. De fait, comme cela a été mentionné précédemment, selon le mode de réalisation préférentiel de I'invention, 3 données sont mises en gage dans le décodeur 2 et 2 étapes d'ouverture (Oa, Ob) sont effectuées de la carte à puce I vers le décodeur 2. Selon le mode de réalisation particulier de la figure 2, la carte à puce 1 comprend un générateur de mots aléatoires 3, un générateur pseudo-aléatoire 4, une fonction "ou exclusif" 5, un circuit d'association de données 6 tel que, par exemple, un circuit de concaténation de données, un opérateur de fractionnement 7 et le décodeur 2 comprend un générateur 8 2770065 pseudo-aléatoire 8, une fonction "ou exclusif" 9, un circuit de comparaison et le circuit M permettant la mémorisation des différentes données Y et, si nécessaire, la reconstitution d'une clé complète KD à partir des différentes données Y. Le générateur pseudo- aléatoire 8, la fonction "ou exclusif" 9 et le circuit de comparaison 10 constituent un exemple de circuit MO. La donnée Cj mise en gage est issue de l'application des données Bj et Gj à la fonction "ou exclusif" 5. Ainsi peut-on écrire: Cj = Bj E Gj. La donnée Bj est un mot pseudo-aléatoire issu du générateur 4 sur lequel est appliqué le germe Sj, le germe Sj étant lui-même issu du générateur de mots aléatoires 3. La donnée Gj est constituée d'un mot issu de l'association d'une donnée Dj et de la donnée Y. L'association de la donnée Dj et de la donnée Y peut être effectuée, par exemple, par concaténation. Selon le mode de réalisation préférentiel de l'invention, la donnée Y est une partie de la clé d'embrouillage déchiffrée KD constituée de b bits. A titre d'exemple, b est égal à 7 ou 8 pour une clé d'embrouillage déchiffrée comprenant respectivement 70 ou 80 bits. La donnée Y est alors issue de l'opérateur de fractionnement 7 sur lequel est appliquée la clé d'embrouillage déchiffrée KD. Comme cela est connu de l'homme de l'art, la clé d'embrouillage chiffrée est transmise du décodeur 2 vers la carte à puce 1 et la carte à puce 1 contient un circuit de déchiffrement (non représenté sur la figure 2) permettant de restituer la clé déchiffrée KD. Selon un autre mode de réalisation de l'invention, la donnée Y est la clé d'embrouillage déchiffrée dans son entier. Selon l'invention, le processus d'authentification est activé à chaque fois qu'une clé d'embrouillage chiffrée est transmise du décodeur 2 à la carte a puce 1. La donnée Cj est une représentation chiffrée univoque de la donnée Gj qui demeure secrète à l'intérieur de Cj puisqu'il n'est pas possible de détermier la donnée Bj issue du générateur pseudo-aléatoire 4. Le mot Cj ayant été tranféré de la carte à puce 1 vers le décodeur 2, la phase de mise en gage de Cj est alors terminée. L'étape d'ouverture est alors mise en oeuvre. Lors de l'étape d'ouverture les deux données Sj et Gj sont transférées de la carte à puce 1 9 2770065 vers le décodeur 2. La donnée Sj est transférée par l'ouverture Oa et la donnée Gj par l'ouverture Ob. Le germe Sj transféré est appliqué au générateur pseudo- aléatoire 8. Sous l'action du germe Sj, le générateur pseudo-aléatoire 8 génère une donnée Ej. La donnée Ej et la donnée Cj mises en gage sont alors appliquées à la fonction "ou exclusif" 9. La donnée Fj issue de la fonction "ou exclusif' 9 est comparée à la donnée Gj par le circuit de comparaison 10. Si la donnée Ej est identique à la donnée Bj, alors la donnée Fj est identique à la donnée Gj. En effet: Fj = Ej @ Cj soit: Fj = Ej @ Bj @E Gj donc, si Ej = Bj, il vient: Fj = Bj E Bj E{ Gj, soit Fj = Gj. Ainsi, l'opération de comparaison 10 conduit-elle à vérifier si la donnée Fj est ou non identique à la donnée Gj. Si tel est le cas, la donnée Y est stockée dans la mémoire M. Avantageusement, le transfert des clés d'embrouillage de la carte à puce 1 vers le décodeur 2 à l'aide d'un protocole d'authentification tel que celui décrit aux figures 1 et 2 assure, d'une part, que la carte à puce est une carte authentique et non pas une carte piratée, et, d'autre part, que la clé d'embrouillage transmise au décodeur 2 provient effectivement d'une carte à puce non piratée. 2770065 REVENDICATIONS 1. Procédé de transfert de clé d'embrouillage déchiffrée d'un élément de sécurité (1) vers un décodeur (2), caractérisé en ce qu'il comprend: - une phase de mise en gage (M1, M2...., Mj,...., Mn), dans le décodeur (2), de n premières données ((X1, Y),(X2, Y),...., (Xj, Y)...., (Xn, Y)) issues de l'élément de sécurité (1), n étant un nombre entier supérieur ou égal à 2, chacune des n premières données mises en gage étant constituée de tout ou partie (Y) de la clé d'embrouillage déchiffrée (KD) et d'une première donnée (Xj) permettant l'authentification de l'élément de sécurité (1), une phase de challenge (C) pendant laquelle s'effectue le transfert, du décodeur (2) vers l'élément de sécurité (1), d'une donnée (d) permettant de sélectionner p données ((Zal, Y), (Za2, Y),...., (Zap, Y)) parmi n deuxièmes données ((Z1, Y), (Z2, Y),.... , (Zj, Y),...., (Zn, Y), p étant un nombre entier inférieur à n, chacune des n deuxièmes données étant constituée de tout ou partie (Y) de la clé d'embrouillage déchiffrée et d'une deuxième donnée (Zj) permettant l'authentification de l'élément de sécurité (1), - une phase d'ouverture (01, 02,...., Op) constituée par le transfert, de l'élément de sécurité (1) vers le décodeur (2), des p données sélectionnées lors de la phase de challenge (C), - une phase de calcul permettant d'extraire tout ou partie (Y) de la clé d'embrouillage déchiffrée à partir de p données sélectionnées parmi les n premières données mises en gage ((Xl, Y), (X2, Y),...., (Xj, Y),...., (Xn, Y)) et des p données (01(Za1, Y), 02(Za2, Y)....,Op(Zap, Y)) transférées lors de la phase d'ouverture. 2. Procédé selon la revendication 1, caractérisé en qu'il comprend, après la phase de calcul, une phase de reconstitution de la clé d'embrouillage complète (KD) dans le cas o les phases de mise en gage, d'ouverture et de calcul concernent une partie (Y) de la clé d'embrouillage complète (KD). 11 2770065 3. Procédé selon l'une quelconque des revendications 1 ou 2, caractérisé en ce que la phase de mise en gage (M1, M2...., Mj,...., Mn) est composée de 3 étapes de mise en gage (M1, M2, M3) et en ce que l'étape d'ouverture (01, 02,...., Op) est composée de 2 étapes d'ouverture. 4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que la sélection des p données ((Zal, Y), (Za2, Y)..... (Zap, Y) parmi les n deuxièmes données ((Z1, Y), (Z2, Y)...., (Zj, Y),... (Zn, Y)) s'effectue de façcon aléatoire. 5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé: - en ce que chacune (Cj) des n premières données mises en gage est le résultat dune première fonction "ou exclusif" (5) sur laquelle sont appliquées une première donnée (Bj) et une deuxième donnée (Gj), la première donnée (Bj) étant un mot pseudo-aléatoire issu de l'application d'un germe (Sj) à un premier générateur pseudo- aléatoire (4) et la deuxième donnée (Gj) étant un mot issu de l'association d'une troisième donnée (Dj) et de tout ou partie de la clé d'embrouillage déchiffrée (Y), - en ce que la phase d'ouverture consiste à transférer, de l'élément de sécurité (1) vers le décodeur (2), le germe (Sj) et la deuxième donnée (Gj), et - en ce que la phase de calcul consiste: - à calculer une quatrième donnée (Ej) par application du germe Sj à un deuxième générateur pseudo-aléatoire (8); - à appliquer la quatrième donnée (Ej) et la donnée mise en gage (Cj) à une deuxième fonction "ou exclusif" (9) de façon à calculer une cinquième donnée (Fj); - à comparer la cinquième donnée (Fj) à la deuxième donnée (Gj) transférée lors de l'opération d'ouverture; - à mémoriser tout ou partie (Y) de la clé d'embrouillage déchiffrée si le résultat de la comparaison conduit à trouver que la cinquième donnée (Fj) est identique à la deuxième donnée (Gj) transférée lors de l'opération d'ouverture.