Brevet FR2838206A1 — publié le 20031010

quelconque des revendications 1 à 5. PROCEDE ET DISPOSITIF DE PROTECTION DE DONNEES NUMERIQUES STOCKEES DANS UNE MEMOIRE Domaine technlque L' invention se situe dans le domaine de la luLte contre le piratage du contenu des mémoires de stockage de données et concerne plus particulièrement un procédé de protection de données numériques stockées dans une mémoire d'une carte à puce et préalablement cryptées par une clé de chiffrement. L' invention concerne également une carte à puce et un dispositif de protection de la mémoire de cette carte à puce. Etat de la techniue antérieure Le piratage d'une carte à puce se fait en général par l' extraction du code ROM et des donnees secrètes contenues dans la mémoire de la carte. Une technique connue pour éviter que ces donnces sensibles ne soient utilisables après une extraction frauduleuse consiste à les chiffrer au moyen de clés secrètes avant de les stocker dans la mémoire de la carte. Les clés de chiffrement utilisées sont également stockees dans cette mémoire et sont de ce fait également exposces au risque dune extraction frauduleuse au même titre que les donnces utiles mémorisees. Aussi, cette technique ne permet-elle pas de luLter efficacement contre le piratage. Le but de l' invention est d' assurer une sécurité optimale des donnces mémorisoes sous forme cryptee dans une mémoire. SP 20022/HM Un autre but de l' invention est de lier intimement les clés de chiffrement à un ou plusieurs paramètres de fonctionnement intrinsèque à au moins un élément composant la carte. Ces paramètres de fonctionnement pouvant être des grandeurs physiques dépendant de la structure physique de la mémoire ou du microcontrôleur associé à cette mémoire ou encore des grandeurs reLlétant un comportement déterminé de cette mémoire et du microcontrôleur dans des conditions particulières d'utilisation. Exposé de l' invention De façon plus précise, l' invention concerne un procédé et un dispositif de protection de données numériques stockées sous forme cryptée dans une mémoire qui peut être du type EEPROM ou du type flash par exemple. Le procédé selon l' invention est caractérisé par le fait que ladite clé de chiffrement est définie dynamiquement en fonction d' au moins un paramètre de fonctionnement intrinsèque à ladite carte à puce. Selon l 'invention, ledit paramètre de fonctionnement intrinsèque à la carte à puce est généré par un générateur de fonction intégré à la carte à puce. Selon l 'invention, ledit paramètre de fonctionnement est intrinsèque à la mémoire de la carte à puce. Selon un mode de réalisation, le procédé comporte les étapes suivantes: SP 20022/HM Àlors de la phase d'écriture des donnces dans la mémoire, a- dériver un signal analogique d'une tension analogique d'écriture dans la mémoire, bconvertir ce signal en une séquence numérique, c- chiffrer les données à mémoriser au moyen de ladite séquence numérique, d- stocker les données chif-frées dans la mémoire, Àet lors d'une phase ultérieure de lecture des donnces mémorisées, - recalauler la clé de chiffrement définie aux étapes a et b de la phase d'écriture et - décrypter les donnces au moyen de la clé recalaulée. Selon ce mode de réalisation, la tension analogi"ue d'écriture est fournie par une pompe de charge. Le dispositif selon l' invention est caractérisé par le fait qu'il comporte un module de caleul apte à définir une clé de chiffrement des données numériques à mémoriser en fonction d'au moins un paramètre de fonctionnement intrinsèque à ladite carte à puce. Selon un mode de réalisation de l'invention, le module de calcul extrait un signal analogique dune tension analogique d'écriture délivrce par une pompe de charge et convertit ce signal analogique en une séquence numérique pour constituer la clé de chiffrement. SP 20022/HM L' invention concerne également une carte de contrôle d'accès comportant une unité centrale de traitement de donnéss, au moins une mémoire de stockage de donnces, un module de chiffrement desUites donnces numériques et un module de calaul d'au moins une clé de chiffrement desUites donnces. La carte de contrôle d'accès selon l' invention comporte des moyens pour définir la clé de chiffrement en fonction d' au moins un paramètre de fonctionnement intrinsèque à la mémoire de ladite carte, et des moyens pour recalculer dynamiquement la clé de chiffrement préalablement définie à chaque lecture des données mémorlsees. Selon une caractéristique de l' invention le module de calaul est fonctionnellement indépendant de l'unité centra2e de sorte que le calaul de la clé de chiffrement est simplement initié et non supervisé par l'unité centrale de traitement. Selon un mode particulier de réalisation de l' invention, le module de calcul comporte une pempe de charge destinée à fournir une tension analogique d'écriture des données dans la carte à puce, un convertisseur analogique/numérique destiné à convertir un signal analogique extrait de ladite tension analogique en une séquence numérique constituant la clé de chiffrement. Brève description des dessins D'autres caractéristiques et avantages de l' invention reSsortiront de la description qui va SP 20022/HM suivre, prise à titre d'exemple non limitatif, en référence aux figures annexces, dans lesquelles: - la figure 1 représente un schéma général d'un dispositif selon l' invention. - la figure 2 représente schématiquement un mode particulier de réalisation du dispositif de la figure 1. - la figure 3 représente une courbe illustrant une mise en _uvre de l' invention dans le cas de l'exemple illustré par la figure 2. Exposé détaillé de modes de réalisation particuliers L'invention va maintenant être décrite dans le cadre de la protection des donnses stockées dans la mémoire d'une carte à puce. Les ca-rte à puces sont largement utilisoes notaminent pour mémor ser des pa--amètres de contr le permettant l'accès à des donnces ou services tels que par exemple des programmes audiovisuels cryptés. Dans ce type d' application, les informations nscessaires au désembrouillage sont transmises dans des messages de contrôle d'accès, appelés ECM (Entitlement Control Message) et sont générés à partir des donnces d'entrées suivantes: - un mot de contrôle (Control Word) destiné à initialiser la séquence de décembrouillage, - une clé de service (Service Key) utilisoe pour embrouiller le mot de contrôle, pour un groupe d'un ou de plusieurs utilisateurs, - une clé utilisateur (user key) utilisoe pour embrouiller la clé de service. SP 20022/HM Préalablement, la clé de service est transmise, dans des messages appelés EMM générés à partir d'une clé utilisateur individuelle ou de groupe. Les ECM sont notamment constitués du mot de contrôle et traités par la clé de service et sont transmis aux abonnés à intervalles réquliers. Les EMM sont notamment constitués de la clé de service et traités par la ou les clés utilisateurs, et sont également transmis aux abonnés à intervalles réquliers. A la réception, le principe de décryptage consiste à retrouver la clé de service à partir de la ou des clés utilisateurs contenue dans la mémoire d'une carte à puce (EMM). Cette clé de service est ensuite elie-même utilisce pour décrypter les ECM ain de retrouver le mot de contrôle permettant l'initialisation du système de désembrouillage. Comme cela a été expliqué précédemment, le contenu de la mémoire de la carte à puce peut être extrait et réutilisé de façon frauduleuse pour retrouver les clés de traitement des EMM et des ECM qui, directement ou indirectement, permettent de calauler le mot de contrôle permettant l'initialisation du système de désembrouillage. La figure 1 représente un schéma bloc général d'un dispositif à mémoire comportant une unité centrale de traitement 2 reliée à une mémoire 4 via un module de cryptage/décryptage 6. Un module de calaul 10, agencé extérieurement à l'unité centrale 2, est également relié au module de cryptage/décryptage 6. SP 20022/HM Lorsque des donnces traitées dans l'unité centrale 2 doivent être stochées dans la mémoire 4, l'unité de traitement 2 envoie au module de caleul 10 un signal d'activation. A la réception de ce signal, le module de calcul 10 définit une clé de chiffrement des donnces à mémoriser et transmet cette clé au module de cryptage/décryptage 6. Selon une caractéristique essentielle de l' invention, la clé de chiffrement est calculée au moment de la mémorisation des données dans la mémoire 4 en fonction d' au moins un paramètre de fonctionnement intrinsèque à la mémoire 4. La clé de chiffrement ainsi calculée n'est pas stockée dans la mémoire 4. Or le piratage des cartes à puces consiste généralement à extraire les programmes de calcul mis en _uvre dans l'unité centrale 2 et les donnces sensibles contenues dans la mémoire 4 associée à l'unité centrale 2. Aussi, en cas d' extraction frauduleuse de ces programmes et du contenu de la mémoire 4, les données extraites seront inutilisables sans la clé de chiffrement qui est calaulée dynamiquement lors de la mémorisation desdites donnces et lors de la lecture de ces données. Préférentiellement, cette clé est calaulée en fonction d'un paramètre ou d'une combinaison de plusieurs paramètres de fonctionnement intrinsèque à ladite mémoire 4. La clé de chiffrement définie est inaccessible de l'extérieur, du fait que le module de calaul 10 est indépendant de l'unité centrale 2. En fonctionnement, au moment du transfert des donnces de l'unité centrale 2 vers le module de calaul SP 20022/HM , ce dernier rec,oit de l'unité centrale 2 un premier signal d' activation, lui permettant de commencer le calcul de la clé de chiffrement. La clé ainsi calaulée est transmise au module de cryptage/décryptage 6 qui l'utilise pour chiffrer les données avant que ces dernières ne soient mémorisées dans la mémoire 4. Lorsque les données cryptées doivent être lues, l'unité de traitement 2 envoie au module de calaul 10 un deuxième signal d' activation pour recalculer dynamiquement la clé de chiffrement qui est ensuite utilisée par le module de cryptage/décryptage 6 pour décrypter lesdites données et les transmettre à l'unité centrale 2. Un exemple particulier de calcul de la clé de chiffrement va être décrit maintenant en référence à la figure 2 représentant un exemple de réalisation de l' invention dans lequel le module 10 est constitué par la pompe de charge 12 destinée à fournir une tension analogique d'écriture des donnces dans la mémoire 4, un convertisseur analogique-numérique (CAN) 14 destiné à convertir un signal analogique extrait de ladite tension analogique en une séquence numérique constituant la clé de chiffrement, une horloge 16 reliée à la pempe de charge 12 destince à fixer la durée du signal analogique extrait de la tension décriture. La tension analogique peut être fournie par un générateur de tension analogique indépendant de la pempe de charge. Dans un autre mode de réalisation non représenté, la carte à puce peut comporter un circuit SP 20022/HM numérique indépendant de l'unité centrale 2 qui fournit directement une séquence numérique S. La figure 3 représente schématiquement l'évolution en fonction du temps de la tension d'écriture 18 des donnces numériques provenant de l'unité centrale 2 dans la mémoire 4. Une valeur A de la tension 18 est fixée par programmation de la durée t au moyen de l'horloge 16. Cette valeur A est ensuite convertie par le CAN 14 en une séquence numérique S qui est utilisée par le module de cryptage/décryptage 6 pour crypter/décrypter les donnces numériques. A chaque remise à zéro, le module de calaul 10 calcule la clé de chiffrement en prenant en considération la durse t programmoe au moyen de l'horloge 16. Ainsi, si un pirate extrait les données numériques, il ne pourra pas recalculer la clé de chiffrement qui dépend de la valeur A qui est intrinsèque à la carte authentique. La clé de chiffrement est calculée pour la première fois lors de la personnalisation de la carte à puce. Dans une variante de réalisation de l'invention, plusieurs durées t correspondant à plusieurs valeurs A peuvent être préprogrammées afin d'être utilisées successivement pour calauler plusieurs clés de chiffrement différentes, chaque clé pouvant être utilisée pendant une période prédéfinie. Dans une autre variante de réalisation, la durce t peut être modifice à distance. SP 20022/HM REVEND I CAT I ONS 1. Procédé de protection de donnces numériques stockées dans une mémoire (4) d r une carte à puce et préalablement cryptées par une clé de chiffrement, caractérisé en ce que ladite clé de chiffrement est définie dynamiquement en fonction dau moins un paramètre de fonctionnement intrinsèque à ladite carte a puce. 2. Procédé selon la revendication 1, caractérisé en ce que lesdites donnces numériques cryptées sont des clés numériques destinces au codage cryptographique de messages EMM et ECM. 3. Procédé selon la revendication 1 ou 2, caractérisé en ce que le ledit paramètre de fonctiGnnement intrinsèque à 'a carte à puce est généré par un générateur de fonction intégré à la carte à puce. 4. Procédé selon la revendication l, caractérisé en ce que ledit paramètre de fonctionnement est intrinsèque à la mémoire de la carte à puce. 5. Procédé selon la revendication 4, caractérisé en ce qu'il comporte les étapes suivantes: Àlors de la phase d'écriture des données dans la mémoire(4), a) dériver un signal analogique d'une tension analogique (18) d'écriture dans la mémoire (4), SP 20022/HM b) convertir ce signal en une séquence numérique S. c) chiffrer les données à mémoriser au moyen de ladite séquence numérique S. d) stocker les données chiffrces dans la mémoire (4),. Àet lors d'une phase ultérieure de lecture des donnces mémorisces, recaleuler la clé de chiffrement déLinie aux étapes a et b, et - décrypter les données au moyen de la.clé recalculée. 6. Procédé selon la revendication 5, caractérisé en ce que la tension analogique d'écritue (18) est fournie par une pompe de charge (12). 7. Dispositif de protection de données numériques stockées dans une mémoire (4) d'une carte à puce et préalablement cryptées par une clé de chiffrement, caractérisé en ce qu'il comporte un module de calaul (10) apte à détinir la clé de chiffrement desdites données en fonction d'au moins un paramètre de fonctionnement intrinseque à ladite carte à puce. 8. Dispositif selon la revendication 7, caractérisé en ce que lesdites données numériques sont des clés numériques destinées au codage cryptographique de messages EMM et ECM. 9. Dispositif selon la revendication 7, caractérisé en ce que le ledit paramétre de fonctionnement intrinsèque à la carte à puce est généré SP 20022/HM -: É',; : 2838206 par un générateur de fonction intogré à la carte à puce. 10. Dispositif selon la revendication 9, caractérisé en ce que ledit paramètre de fonctionnement est intrinsèque à la mémoire de la carte à puce. 11. Dispositif selon la revendication 10, caractérisé en ce que ladite clé de chiffrement est calculée à partir d'une tension analogique (18) d'écriture des données dans la mémoire de la carte à puce. 12. Dispositif selon la revendication 11, caractérisé en ce que ladite tension analogique d'écriture est délivrée par une pompe de charge. 13. Dispositif selon les revendications 7 et 11, caractérisé en ce que le module de calcul (10) extrait un slgnal analogique de ladite tension (18) et convertit ce signal analogique en une séquence numérique pour constituer la clé de chiffrement. 14. Dispositif selon la revendication 13, caractérisé en ce que le module de calaul (10) comporte un convertisseur analogique/numérique (14). 15. Carte de contrôle d'accès comportant une unité centrale de traitement de données, au moins une mémoire de stockage de données, un module de chiffrement (6) desUites données numériques et un module de calaul (10) d' au moins une clé de chiffrement desdites données, caractérisée en ce que ledit module de calaul (10) comporte des moyens pour définir la clé de chiffrement en fonction d' au moins un paramètre de fonctionnement intrinsèque à ladite mémoire (4), et des moyens pour recalculer dynamiquement ladite clé de chiffrement à chaque lecture des donnéss mémorisées. 16. Carte de contrôle d'accès selon la lO revendication 15, caractérisé en ce que la tension analogique est fournie par un générateur de tension indépendant de la pompe de charge. 17. Carte de contrôle d'accès selon la revendication 15, caractérisée en ce que le module de calau (lCj est _onction-e'lem nt indépendant de l'unité centrale (2) de sorte que le calaul de la clé de chiffrement n'est pas supervisé par l'unité centrale de traitement(2). 18. Carte à puce selon la revendication 17, caractérisoe en ce que le module de calaul (10) comporte une pompe de charge (12) destinée à fournir une tension analogique (18) d'écriture des données dans la carte à puce, un convertisseur analogique-numérique (14) destiné à convertir un signal analogique extrait de ladite tension analogique (18) en une séquence numérique S constituant la clé de chiffrement. 19. Carte à puce selon la revendication 18, caractérisée en ce que le module de calcul (10) SP 20022/HM comporte un générateur de fonction analogique destiné à fournir une tension analogique, un convertisseur analogique-numérique (14) destiné à convertir ladite tension analogique en une séquence numérique (S) constituant la clé de chiffrement. 20. Carte à puce selon la revendication 19, caractérisée en ce qu'elle comporte un circuit numérique indépendant de l'unité centrale (2) destiné à générer la séquence numérique (S). 21. Carte à puce selon la revendication 15, caractérisoe en ce que le module de chiffrement (6) est -.,. un circuit logique. 22. Carte à puce selon l'une des revendications à 21, caractérisée en ce que la mémoire (4) est du type EEPROM. 23. Carte à puce selon la revendication 22, caractérisoe en ce que la mémoire (4) est du type flash.