Brevet FR2822988A1 — publié le 20021004

L'invention se rapporte à un procédé de protection d'une entité électronique à microcircuit, notamment une carte à microcircuit à accès crypté, ladite protection visant plus particulièrement les attaques connues dites par "analyse de courant". L'invention concerne également une entité électronique à microcircuit, notamment une carte à microcircuit à accès crypté, équipée de moyens permettant d'obtenir la protection offerte par ledit procédé. On sait que certaines entités électroniques à accès crypté, notamment les cartes à microcircuit sont vulnérables à certaines attaques fondées sur l'analyse de certains paramètres pendant une phase de fonctionnement. On dit que les informations peuvent"fuir"à partir d'un calcul fait dans ladite entité électronique (la carte), typiquement l'exécution d'un protocole cryptographique provoqué par le fraudeur en possession illégale de la carte. Les paramètres analysés pendant l'exécution d'un tel protocole peuvent être, typiquement des différences de temps de calcul ou des radiations électromagnétiques pendant l'exécution du calcul mais surtout la consommation de courant de l'entité électronique elle-même pendant l'exécution d'un protocole cryptographique. Ainsi, une attaque classique consiste à faire exécuter par l'entité électronique tombée en la possession du fraudeur un certain nombre de protocoles cryptographiques fondés sur des messages quelconques, donc voués à l'échec, mais ayant pour conséquence de faire exécuter chaque fois, par l'entité (la carte à microcircuit) un algorithme cryptographique, par exemple l'un d'entre eux, connu sous l'abréviation DES (DATA ENCRYPTION STANDARD) en anglais tout en analysant la consommation de courant à chaque exécution dudit DES. Le but de cette attaque est de retrouver la clé secrète de ladite entité. Le DES est, quant à lui, un algorithme connu, très largement utilisé actuellement dans le domaine des cartes bancaires cartes bancaires, cartes SIM (GSM), cartes d'accès à de la télévision à péage ou dans celui des cartes de contrôle d'accès. Dans le cas d'une fraude, c'est à dire dans le cas où le fraudeur dispose de la carte et cherche à déterminer la clé, celui-ci peut connecter ladite carte à un lecteur par lequel il pourra lui transmettre des messages et la relier à des moyens d'enregistrement de la consommation de courant du microcircuit pendant l'exécution des opérations qu'elle effectue. Le fraudeur provoque l'exécution de multiples DES et, à chaque fois, la consommation de courant est détectée et mémorisée. A partir de l'ensemble de ces données et notamment des mesures de la consommation de courant, il est possible de mettre en oeuvre des attaques dont le principe est connu. Ces attaques dites"SPA/DPA" (Simple/Differential Power Analysis) en anglais permettent de reconstituer la clé de l'entité électronique. Dans un article publié le 17 août 2000 lors de la conférence CHES 2000 et édité par SPRINGER sous le NO 1965, on a envisagé d'utiliser une pile intégrée à l'entité électronique pour alimenter le microcircuit. Cependant, l'auteur de cet article écartait finalement cette solution, la jugeant peu pratique et difficile à mettre en oeuvre. L'invention permet de résoudre les problèmes évoqués par l'auteur de cet article. Plus précisément, l'invention concerne un procédé de protection d'une entité électronique à microcircuit, telle qu'une carte à microcircuit, contre les attaques par analyse de courant, du type consistant à associer audit microcircuit un accumulateur de courant placé à l'intérieur de ladite entité, caractérisé en ce que, pendant un échange d'informations où ladite entité est couplée à un serveur apte à lui fournir une alimentation électrique, on alimente au moins une partie dudit microcircuit par de l'énergie électrique fournie par ledit accumulateur pendant l'exécution d'opérations prédéterminées, par ladite au moins une partie dudit microcircuit, ledit serveur fournissant de l'énergie électrique audit microcircuit pendant l'exécution d'autres opérations. L'accumulateur de courant précité peut être une pile mais de préférence un accumulateur de type rechargeable. Dans ce cas, on peut recharger l'accumulateur à chaque transaction, c'est à dire chaque fois que l'entité électronique est couplée à un serveur capable de lui délivrer l'énergie électrique nécessaire. De préférence, le microcircuit est conçu et programmé pour commander la charge de l'accumulateur en dehors des périodes de temps où celui-ci est utilisé pour alimenter le microcircuit ou la partie du microcircuit chargée d'exécuter lesdites opérations prédéterminée. En variante ou en complément, on peut recharger ledit accumulateur par de l'énergie électrique d'origine solaire au moyen d'une cellule photoélectrique intégrée à l'entité électronique. Il est possible en effet, dans l'état actuel des progrès de la technologie, d'envisager d'intégrer dans l'épaisseur d'une carte au moins une pile ou un accumulateur rechargeable et aussi une cellule photoélectrique. Les opérations prédéterminées précitées pendant lesquelles le microcircuit ou une partie de celui-ci sera alimentée de façon interne et non plus par le serveur auquel l'entité électronique est reliée (qui pourrait être en fait un appareil destiné à percer les codes secrets de la carte) sont tous les échanges d'informations dits"sensibles", au cours desquels les données confidentielles sont échangées. Ces opérations sont par exemple les algorithmes cryptographiques au cours desquels des clés sont utilisées ou échangées, la procédure de vérification du code dit"PIN", etc... En variante, on peut faire exécuter lesdites opérations prédéterminées par un coprocesseur alimenté par ledit accumulateur tandis qu'un processeur principal alimenté par ledit serveur est chargé d'exécuter d'autres opérations. Une autre solution peut consister à commuter un processeur principal pour qu'il soit alimenté par ledit accumulateur pendant qu'il exécute lesdites opérations prédéterminées"sensibles"tout en alimentant, pendant ces périodes de temps, un circuit formant leurre à partir dudit serveur, lequel circuit continue à effectuer des opérations et donc à simuler une certaine consommation de courant. Cependant, cette consommation de courant est indépendante des opérations prédéterminées sensibles qui sont exécutées à ce moment. Il devient alors impossible à partir d'un enregistrement du courant d'alimentation, de récupérer des données sensibles comme les clés cryptographiques, le code PIN, etc... En effet, le courant nécessaire étant fourni par une pile ou un accumulateur situé à l'intérieur de l'entité électronique à microcircuit, aucune information intéressante sur l'état de fonctionnement du processeur ne peut"fuir"à l'extérieur de la carte, via l'analyse du courant fourni par le serveur. Même dans le cas où l'entité électronique est équipée d'une simple pile non rechargeable, la durée de vie de celle-ci est assez longue puisque ladite pile n'est utilisée que pour l'exécution de petites parties de programme et non pas pour l'ensemble des opérations constituant une transaction entre ladite entité électronique et le serveur. L'utilisation d'un leurre ou d'un coprocesseur permet d'éviter qu'un attaquant puisse déterminer les moments où se déroulent les parties sensibles du programme, puisque, pendant ces intervalles de temps, le microcircuit continue à effectuer des opérations consommant du courant fourni par le serveur extérieur. L'invention concerne également une entité électronique à accès crypté comprenant un microcircuit et des moyens de couplage de celui-ci à un serveur lui-même muni de moyens d'alimentation électrique pour alimenter ledit microcircuit via lesdits moyens de couplage, caractérisée en ce qu'elle comporte en outre un accumulateur de courant intégré et des moyens de sélection agencés pour commuter l'alimentation d'au moins une partie dudit microcircuit sur ledit accumulateur de courant lorsque des opérations prédéterminées sont exécutées par ladite au moins une partie dudit microcircuit. Selon un mode de réalisation possible, lesdits moyens de sélection comportent un multiplexeur ou analogue commandé par un processeur dudit microcircuit. Ce multiplexeur comprend deux entrées, l'une connectée à une borne de contact pour le raccordement aux moyens d'alimentation électrique dudit serveur et l'autre connectée audit accumulateur. Une sortie dudit multiplexeur est reliée à une ligne d'alimentation électrique du processeur. Le multiplexeur est commandé par le processeur pour opérer ladite sélection entre les moyens d'alimentation électrique dudit serveur et ledit accumulateur de courant intégré à ladite entité électronique. La borne de contact précité est l'une des plages de raccordement électrique que l'on trouve le plus souvent à la surface d'une carte à microcircuit du type carte bancaire ou carte de contrôle d'accès. Cependant, on sait que certaines de ces cartes peuvent être équipées d'une antenne susceptible d'être couplée à une antenne située dans le serveur. Ce système d'antennes est, de façon connue, adapté aussi bien aux échanges d'informations qu'à la fourniture d'une énergie électrique suffisante pour alimenter le microcircuit. L'invention s'applique aussi à ce type de carte et, dans ce cas, l'une des entrées du multiplexeur est reliée à un circuit d'alimentation recevant son énergie de l'antenne intégrée à l'entité électronique (la carte). L'invention sera mieux comprise et d'autres avantages de celle-ci apparaîtront plus clairement à la lumière de la description qui va suivre de plusieurs modes de réalisation d'une entité électronique protégée par mise en oeuvre du concept énoncé ci-dessus, donnée uniquement à titre d'exemple et faite en référence aux dessins annexés dans lesquels : - la figure 1 est une vue schématique en coupe d'une carte à microcircuit équipée du perfectionnement conforme à l'invention, connectée à un serveur ; - la figure 2 est un schéma-bloc d'un premier mode de réalisation d'une entité électronique conforme à l'invention ; - la figure 3 est un schéma-bloc analogue, illustrant une variante ; - la figure 4 est un autre schéma-bloc, illustrant encore une variante. En considérant plus particulièrement la figure 1, on a représenté une entité électronique sous la forme d'une carte à microcircuit 11 équipée du perfectionnement de l'invention et représentée connectée à un serveur 12comportant une alimentation électrique susceptible de fournir l'énergie électrique 13 nécessaire au fonctionnement du microcircuit logé dans une cavité de la carte. De façon classique, le microcircuit 15 est accessible de l'extérieur par un certain nombre de plages de raccordement métalliques, affleurant à la surface de la carte. L'une de ces plages constitue une borne de contact 16a reliée à l'un des pôles de l'alimentation 13 par l'intermédiaire d'un élément de contact frottant. Une autre plage de raccordement constitue une borne de contact 16b reliée à l'autre pôle de l'alimentation, (reliée à la masse). Les autres plages de raccordement permettent les échanges d'information entre le microcircuit et le serveur. Selon une caractéristique remarquable de l'invention, une pile ou un accumulateur rechargeable 19 est logé dans l'épaisseur de la carte. De plus, le microcircuit comporte des moyens de sélection, par exemple essentiellement constituées par un multiplexeur 20 ou analogue. Ce multiplexeur est relié à la fois à la borne de contact 16a destinée à être connectée à l'alimentation électrique du serveur 12 et à l'un des pôle de l'accumulateur 19 logé dans l'épaisseur de la carte. L'autre pôle de l'accumulateur de courant est relié à la masse. La figure 2 montre plus précisément l'agencement général du microcircuit 15 et sa liaison avec l'un des pôle de l'accumulateur de courant 19. Dans l'exemple de la figure 2, le microcircuit se compose essentiellement d'un processeur P, d'un bloc mémoire M et d'un multiplexeur 20 à deux entrées et une sortie. Sur les figures 2 à 4, les liaisons électriques d'alimentation sont représentées en trait plein, tandis que les liaisons de commande ou d'échange d'information sont représentées en traits interrompus. L'une des entrées du multiplexeur est relié à la borne de contact 16a tandis que l'autre entrée est reliée à l'un des pôles de l'accumulateur de courant 19. Ce multiplexeur constitue des moyens de sélection agencés pour commuter l'alimentation d'au moins une partie du microcircuit 15, en l'occurrence ici la totalité du processeur P, sur l'accumulateur de courant 19 intégré lorsque des opérations prédéterminées sont exécutées par le processeur. Les opérations prédéterminées en question sont les opérations sensibles définies ci-dessus. La sortie du multiplexeur est reliée à une ligne d'alimentation électrique 22 du processeur. En outre, le multiplexeur (20) est commandé par le processeur P (liaison de commande 23) pour opérer la sélection entre l'alimentation électrique 13 du serveur et l'accumulateur de courant. Dans l'exemple de la figure 1, l'accumulateur de courant 19 peut être une simple pile. La longévité de cette pile résulte du fait qu'elle n'alimente le processeur qu'une petite partie du temps d'exploitation de la carte, c'est-à-dire lorsque celui-ci effectue des opérations dites sensibles. Pour toutes les autres opérations, le processeur est alimenté par l'alimentation 13 du serveur, via la borne de contact 16a et le multiplexeur 20 positionné en conséquence par un signal de commande appliqué via la liaison de commande 23. Dans le mode de réalisation de la figure 3, les éléments analogues à ceux de la figure 2 portent les mêmes références. Selon cette variante, le microcircuit comporte en outre un circuit de charge 25 de l'accumulateur de courant 19. Ce dernier est d'un type rechargeable. Ce circuit de charge 25 est connecté entre la borne de contact 16a et l'accumulateur 19. Il est piloté par le processeur P pour recharger l'accumulateur lorsque le processeur est alimenté via le serveur, c'est- à-dire par l'alimentation 13. Avantageusement mais non obligatoirement, la carte intègre également une cellule photoélectrique 27 connectée pour recharger l'accumulateur de courant 19. Cette cellule photoélectrique est ici reliée au circuit de charge 25 qui assure la régulation du courant mais la mise en service de la cellule photoélectrique 27 n'est pas obligatoirement pilotée par le processeur. La cellule photoélectrique peut en effet être connectée pour recharger au moins partiellement l'accumulateur dès lors qu'elle reçoit un éclairement suffisant. Selon une autre caractéristique avantageuse, le microcircuit 15 et plus particulièrement le microprocesseur P peut comporter un circuit opératoire 29 formant leurre directement connecté au moyen de couplage avec le serveur, c'est-à-dire la borne de connexion 16a. Ce circuit opératoire est piloté pour exécuter des opérations lorsque le reste du microcircuit ou au moins la partie de celui-ci qui exécute lesdites opérations prédéterminées est alimenté par le générateur de courant 19. Selon une autre variante possible, illustrée à la figure 4, le microcircuit 15 comporte un processeur principal Po et un coprocesseur Pi. Ce dernier est dédié à l'exécution desdites opérations prédéterminées. De plus, dans cet exemple, le multiplexeur 20a comporte deux entrées et deux sorties, l'ensemble formant une sorte de double interrupteur commandé, l'un des interrupteurs étant ouvert lorsque l'autre est fermé et réciproquement. La borne de contact 16a est reliée à l'une des entrées et la sortie correspondante est connectée à la ligne d'alimentation électrique 22a du processeur principal. L'une des bornes de la batterie 19 est connectée à l'autre entrée et la sortie correspondante est connectée à la ligne d'alimentation 22b du coprocesseur Pi. Le processeur principal et le coprocesseur sont associés à un bloc mémoire M. L'un des deux processeurs, par exemple le processeur principal commande les moyens de sélection, par une liaison de commande 23. Ainsi, le coprocesseur est uniquement alimenté par l'accumulateur de courant via ces moyens de sélection. On peut encore envisager de simplifier la variante de la figure 3 en reliant directement la ligne d'alimentation 22a du processeur Po à la borne de contact 16a. Le multiplexeur 20a est alors équivalent à un simple interrupteur commandé par le processeur Po. Dans ce cas, il est avantageux d'agencer le processeur Po pour que celui-ci continue à exécuter des opérations (leurre) lorsque le coprocesseur Pi est en service. REVENDICATIONS 1. Procédé de protection d'une entité électronique à microcircuit telle qu'une carte à microcircuit, contre les attaques par analyse de courant, du type consistant à associer audit microcircuit (15) un accumulateur de courant (19) placé à l'intérieur de ladite entité, caractérisé en ce que, pendant un échange d'informations où ladite entité est couplée à un serveur (12) apte à lui fournir une alimentation électrique (13), on alimente au moins une partie dudit microcircuit par de l'énergie électrique fournie par ledit accumulateur pendant l'exécution d'opérations prédéterminées, par ladite au moins une partie dudit microcircuit, ledit serveur fournissant de l'énergie électrique audit microcircuit pendant l'exécution d'autres opérations. 2. Procédé selon la revendication 1, caractérisé en ce que ledit accumulateur de courant (19) étant du type rechargeable, on le recharge par de l'énergie électrique fournie par ledit serveur (13) lorsque ladite entité électronique s'y trouve couplée. 3. Procédé selon la revendication 2, caractérisé en ce qu'on commande la charge (25) dudit accumulateur (19) en dehors des périodes de temps où ledit accumulateur est utilisé pour alimenter au moins une partie dudit microcircuit. 4. Procédé selon la revendication 2 ou 3, caractérisé en ce qu'on recharge au moins partiellement ledit accumulateur par de l'énergie électrique d'origine solaire (27), au moyen d'une cellule photoélectrique intégrée à ladite entité électronique. 5. Procédé selon l'une des revendications 1 à 4, caractérisé en ce qu'on fait exécuter lesdites opérations prédéterminées par un coprocesseur (P1) alimenté par ledit accumulateur (19). 6. Procédé selon l'une des revendications 1 à 4, caractérisé en ce qu'on commute un processeur (P) pour qu'il soit alimenté par ledit accumulateur (19) pendant qu'il exécute lesdites opérations prédéterminées et en ce que, pendant ces périodes de temps, on alimente à partir dudit serveur, un circuit formant leurre (29) qui continue à effectuer des opérations. 7. Entité électronique à accès crypté comprenant un microcircuit (15) et des moyens de couplage (16a, 16b) de celui-ci à un serveur (12) lui-même muni de moyens d'alimentation électrique (13) pour alimenter ledit microcircuit via lesdits moyens de couplage, caractérisée en ce qu'elle comporte en outre un accumulateur de courant (19) intégré et des moyens de sélection (20) agencés pour commuter l'alimentation d'au moins une partie dudit microcircuit sur ledit accumulateur de courant lorsque des opérations prédéterminées sont exécutées par ladite au moins une partie dudit microcircuit. 8. Entité électronique selon la revendication 7, caractérisée en ce que lesdits moyens de sélection comportent un multiplexeur (20) ou analogue commandé par un processeur (P) dudit microcircuit, en ce que ce multiplexeur comprend deux entrées, l'une connectée à une borne de contact (16a) pour le raccordement aux moyens d'alimentations électrique dudit serveur, et l'autre connecté audit accumulateur (19), une sortie dudit multiplexeur étant reliée à une ligne d'alimentation électrique (22) dudit processeur, et en ce que ledit multiplexeur est commandé par ledit processeur pour opérer ladite sélection entre les moyens d'alimentation électrique dudit serveur et ledit accumulateur de courant. 9. Entité électronique selon la revendication 8, caractérisée en ce qu'un circuit de charge (25) dudit accumulateur de courant est connecté entre ladite borne de contact (16a) et ledit accumulateur (19), et en ce que ce circuit de charge est piloté par ledit processeur (P) pour recharger ledit accumulateur lorsque ladite au moins une partie dudit microcircuit est alimentée via ledit serveur. 10. Entité électronique selon la revendication 8, caractérisée en ce qu'elle comporte une cellule photoélectrique (27) connectée pour recharger ledit accumulateur de courant. 11. Entité électronique selon l'ensemble des revendications 9 et 10, caractérisée ce que ladite cellule photoélectrique (27) est reliée audit circuit de charge (25). 12. Entité électronique selon la revendication 7, caractérisée en ce que ledit microcircuit comporte un processeur principal (Po) et un coprocesseur (Pi), ce dernier étant dédié à l'exécution desdites opérations prédéterminées, et en ce que ledit coprocesseur (Pi) est alimenté par ledit accumulateur de courant (19) via lesdits moyens de sélection. 13. Entité électronique selon la revendication 7, caractérisée en ce que ledit microcircuit comporte un circuit opératoire (29) formant leurre, connecté auxdits moyens de couplage pour être directement alimenté par ledit serveur, et en ce que ce circuit opératoire est piloté pour exécuter des opérations lorsque ladite au moins une partie dudit microcircuit est alimentée par ledit générateur de courant.