FR2793904A1 - Procede et dispositif de gestion d'un circuit electronique - Google Patents

Procede et dispositif de gestion d'un circuit electronique Download PDF

Info

Publication number
FR2793904A1
FR2793904A1 FR9906499A FR9906499A FR2793904A1 FR 2793904 A1 FR2793904 A1 FR 2793904A1 FR 9906499 A FR9906499 A FR 9906499A FR 9906499 A FR9906499 A FR 9906499A FR 2793904 A1 FR2793904 A1 FR 2793904A1
Authority
FR
France
Prior art keywords
electronic circuit
instruction
masking
memory
variations
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR9906499A
Other languages
English (en)
Other versions
FR2793904B1 (fr
Inventor
Sylvie Wuidart
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
STMicroelectronics SA
Original Assignee
STMicroelectronics SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by STMicroelectronics SA filed Critical STMicroelectronics SA
Priority to FR9906499A priority Critical patent/FR2793904B1/fr
Priority to EP00929632A priority patent/EP1181631A1/fr
Priority to US09/979,408 priority patent/US7372965B1/en
Priority to JP2000620444A priority patent/JP2003500721A/ja
Priority to PCT/FR2000/001347 priority patent/WO2000072117A1/fr
Publication of FR2793904A1 publication Critical patent/FR2793904A1/fr
Application granted granted Critical
Publication of FR2793904B1 publication Critical patent/FR2793904B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • G06F21/755Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/77Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Storage Device Security (AREA)
  • Power Sources (AREA)

Abstract

L'invention propose un procédé de gestion d'un circuit électronique du type comprenant une mémoire (EEPROM) pour le stockage d'informations confidentielles, procédé comprenant le masquage des variations du courant électrique (I) consommé par le circuit électronique, pendant une fraction du temps seulement (ti -tj ), et en tout état de cause pendant la ou les portions du temps pendant lesquelles est exécutée, entre autres, une instruction portant sur des données confidentielles, notamment une instruction de lecture dans la mémoire (EEPROM).

Description

PROCEDE <B>ET</B> DISPOSITIF<B>DE</B> GESTION<B>D'UN</B> CIRCUIT ELECTRONIQUE La présente invention concerne un procédé et un dispositif de gestion d'un circuit électronique, notamment un microcontrôleur, du type comprenant une mémoire pour le stockage permanent d'informations confidentielles.
<B>A</B> la figure<B>1</B> on a représenté le schéma de l'architecture interne d'un tel circuit électronique. Une unité centrale de traitement CPU ("Central Processing Unit", en anglais) échange des informations avec des organes périphériques internes par l'intermédiaire d'un bus de données DB. Ces organes périphériques comprennent une première mémoire non volatile ROM pour le stockage permanent d'un programme de gestion, qui est une mémoire<B>à</B> lecture seule ("Read-Only-Memory", en anglais). Ils comprennent également une seconde mémoire non volatile EEPROM pour le stockage permanent d'informations confidentielles, qui est une mémoire électriquement programmable et effaçable<B>à</B> lecture seule ("Electricaly Erasable and Programmable Read-Only-Memory", en anglais). Ils comprennent en outre une mémoire volatile RAM pour le stockage temporaire d'informations liées au fonctionnement du circuit, qui est une mémoire<B>à</B> accès aléatoire (I'Random Access Memoryll, en anglais)<B>.</B> En général, ils comprennent encore au moins un registre Reg pour le stockage d'une information binaire.
L'invention s'applique notamment<B>à</B> un microcontrôleur de carte<B>à</B> puce. Les informations confidentielles stockées dans la mémoire EEPROM sont par exemple un code personnel connu de l'utilisateur seulement. Ce code personnel doit être fourni par l'utilisateur pour utiliser un appareil tel qu'un distributeur de billets, un décodeur pour télévision<B>à</B> péage, un téléphone portatif de type GSM, etc.... en combinaison avec la carte<B>à</B> puce.
La carte<B>à</B> puce est classiquement insérée dans un lecteur de carte<B>à</B> puce de l'appareil. La carte<B>à</B> puce comporte des pastilles de contact coopérant avec des bornes correspondantes du lecteur pour l'échange d'informations entre la carte et le lecteur, et pour l'alimentation électrique de la carte<B>à</B> puce <B>à</B> l'aide d'une source d'alimentation électrique du lecteur. L'appareil comporte un clavier ou dispositif analogue sur lequel l'utilisateur saisit son code personnel. Le code personnel saisi par l'utilisateur est transmis au microcontrôleur de la carte<B>à</B> puce qui comporte des moyens pour le comparer au code personnel stocké dans la mémoire EEPROM. En cas d'égalité, l'accès au service délivré par l'appareil est permis<B>à</B> l'utilisateur.
Une tentative de fraude classique consiste<B>à</B> utiliser une carte<B>à</B> puce volée dans un lecteur de carte<B>à</B> puce pirate, comprenant des moyens pour observer les données placées sur le bus de données DB. Il est alors théoriquement possible de relever sur le bus de données DB les données confidentielles correspondant au code personnel de l'utilisateur lorsque ces données sont lues dans la mémoire EEPROM et sont placées sur le bus de données DB. La seule difficulté consiste pour le fraudeur<B>à</B> savoir<B>à</B> quel moment précis ces données sont présentes sur le bus de données DB, afin de les identifier dans le flot de données qui transitent sur ce bus lors du fonctionnement du circuit électronique.
or, on a remarqué que le courant électrique consommé par le circuit électronique en cours de fonctionnement n'est pas constant mais présente des variations en fonction, notamment, des opérations de lecture effectuées dans les différentes mémoires du circuit électronique. En effet, les cellules mémoires des différentes mémoires présentent une impédance qui, dans une certaines mesure, dépend de l'état programmé ou effacé de la cellule, mais qui, dans une plus large mesure, est différente d'un type de mémoire<B>à</B> l'autre.
<B>A</B> la figure 2, une courbe 21 représente ainsi les variations en fonction du temps du courant électrique I consommé par le microcontrôleur en fonctionnement. Ce courant peut prendre différentes valeurs croissantes I(Reg), I(ROM), I(RAM), I(EEPROM) pour des opérations de lecture, respectivement dans le registre Reg, la mémoire ROM, la mémoire RAM ou la mémoire EEPROM. Par conséquent il suffit au fraudeur d'observer la valeur instantanée du courant électrique consommé par le microcontrôleur (en disposant un moyen adapté, tel qu'un ampèremètre en série entre une borne d'alimentation du lecteur prévue pour l'alimentation électrique de la carte<B>à</B> puce et la pastille de contact correspondante de celle-ci) et de relever les données présentes sur le bus de données DB au moment où ce courant présente la valeur I(EEPROM), pour connaître les données confidentielles lues dans la mémoire EEPROM.
Afin d'empêcher ce type de fraude, on a<B>déjà</B> proposé des moyens pour masquer les variations du courant consommé par le circuit électronique en cours de fonctionnement, qui agissent pour faire en sorte que le courant consommé par le circuit électronique en fonctionnement ait en permanence une même valeur Iconst. Celle-ci est supérieure<B>à</B> la plus grande valeur du courant normalement consommé par le circuit électronique en fonctionnement. Un exemple de tels moyens est décrit dans la demande de brevet EP-A-0 <B>500</B> 461, où ils sont utilisés pour masquer les variations du courant consommé lors d'une opération de lecture dans une mémoire qui sont dues<B>à</B> l'état programmé<B>ou</B> effacé des cellules de la mémoire. Ils comprennent par exemple une source de courant constant (da valeur Iconst) connectée en série avec les cellules mémoires entre la borne d'alimentation positive Vcc et la masse, ainsi qu'une résistance connectée en parallèle avec les cellules mémoire.
<B>A</B> la figure 2, la courbe du courant (constant, de valeur Iconst) consommé par le circuit électronique selon cet art antérieur est représentée par une courbe 22, qui correspond sensiblement<B>à</B> une ligne horizontale. Les faibles ondulations des courbes 21 et 22 correspondent<B>à</B> des impédances parasites dans le circuit électronique.
Cette solution connue présente néanmoins l'inconvénient d'augmenter la consommation du circuit électronique de façon importante. En effet le courant consommé par le circuit électronique en fonctionnement est en permanence égal<B>à</B> la valeur Iconst qui est supérieure<B>à</B> la valeur maximum du courant consommé en soi par le circuit électronique en fonctionnement. Cette consommation élevée engendre des problèmes liés notamment<B>à</B> l'élévation de la température par effet Joule dans le circuit électronique. L'invention vise<B>à</B> pallier les inconvénient précités des circuits électroniques de l'état de la technique.
<B>A</B> cet effet, l'invention propose un procédé de gestion d'un circuit électronique, par exemple du type comprenant une mémoire pour le stockage d'informations confidentielles, caractérisé en ce qu'il comprend le masquage des variations du courant électrique consommé par le circuit électronique, pendant une fraction du temps seulement, et en tout état de cause pendant la ou les portions du temps pendant lesquelles est exécutée une instruction portant sur des données confidentielles.
Notammentf mais pas uniquement, le procédé comprend le masquage des variations du courant consommé par le circuit électronique pendant une portion du temps pendant laquelle est exécutée, entre autres, une instruction de lecture dans la mémoire.
L'invention propose également un circuit électronique, notamment un microcontrôleur, par exemple du type comprenant une mémoire pour le stockage d'informations confidentielles, qui comporte des moyens de masquage des variations du courant électrique consommé par le circuit électrique en fonctionnement ainsi que des moyens d'activation et de désactivation sélectives des moyens de masquage.
Par l'adjectif "sélectives", on entend une activation et une désactivation délibérées, c'est<B>à</B> dire provoquées délibérément lorsqu'elles sont nécessaires<B>à</B> l'obtention de l'effet technique recherché,<B>à</B> savoir masquer les variations du courant consommé par le circuit électronique lorsqu'une opération portant sur des données confidentielles est exécutée mais ne pas les masquer en permanence de manière<B>à</B> ne pas excessivement augmenter la consommation électrique moyenne du circuit électronique.
Grâce<B>à</B> l'invention, le courant consommé par le circuit électronique n'est égal<B>à</B> une valeur constante maximum que pendant une fraction du temps seulement, en sorte que la consommation globale du circuit électronique est réduite.
Cependant, le masquage des variations du courant consommé par le circuit électronique est effectif pendant les portions du temps où, notamment, des instructions de lecture de données confidentielles sont effectuées, en sorte qu'il est très difficile voire impossible de détecter le moment exact où ces données sont présentes sur le bus de données DB.
D'autres caractéristiques et avantages de l'invention apparaîtront encore<B>à</B> la lecture de la description qui va suivre. celle-ci est purement illustrative et doit être lue en regard des dessins annexés sur lesquels on a représenté<B>:</B> <B>- à</B> la figure<B>1, déjà</B> analysée, le schéma de l'architecture interne d'un circuit électronique selon l'art antérieur<B>;</B> <B>- à</B> la<B>f</B> igure 2, également<B>déjà</B> analysée<B>:</B> des courbes du courant consommé par le circuit électronique en fonctionnement, respectivement sans masquage des variations et avec masquage des variations selon l'art antérieur<B>;</B> <B>- à</B> la<B>f</B> igure <B>3,</B> le schéma de<B>1 1</B> architecture interne<B>d 1</B> un circuit électronique selon l'invention<B>;</B> <B>- à</B> la<B>f</B> igure 4 le schéma de moyen de masquage selon l'invention <B>- à</B> la figure<B>5</B> l'organigramme d'une séquence d'instructions d'un programme de gestion d'un circuit électronique selon l'invention<B>;</B> <B>- à</B> la<B>f</B> igure <B>6 :</B> des courbes du courant consommé par le circuit électronique en fonctionnement, respectivement sans masquage des variations et avec masquage des variations' selon l'invention.
<B>A</B> la figure<B>3,</B> sur laquelle les mêmes éléments qu'à la figure<B>1</B> portent les mêmes références, on a représenté un circuit électronique selon l'invention. Il comporte une unité centrale de traitement CPU, une première mémoire non volatile ROM (qui est une mémoire<B>à</B> lecture seule) pour le stockage permanent d'un programme de gestion exécutable par l'unité centrale de traitement CPU et une seconde mémoire non volatile EEPROM (qui est une mémoire électriquement programmable et effaçable<B>à</B> lecture seule) pour le stockage permanent d'informations confidentielles. Il comporte en outre une mémoire volatile RAM (qui est une mémoire<B>à</B> accès aléatoire) pour le stockage temporaire d'informations liées au fonctionnement du circuit. En outre, ils comprennent encore au moins un registre Reg pour le stockage d'une information binaire.
Selon l'invention, le circuit électronique comporte en outre un tel registre, portant la référence<B>10,</B> qui a une fonction particulière selon l'invention. En fonction de l'état de ce registre, les moyens de masquage des variations du courant consommé par les mémoires ROM, RAM et/ou EEPROM sont activés ou désactivés. Dit autrement, il est stocké dans le registre<B>10</B> une valeur logique déterminée ou la valeur logique complémentaire, pour respectivement activer ou désactiver les moyens de masquage du courant consommé par le circuit électronique.
Des moyens de masquage sont représentés<B>à</B> la figure 4, en ce qui concerne la mémoire EEPROM. Ces moyens de masquage comprennent schématiquement une source de courant<B>ici</B> connectée en série avec la mémoire EEPROM par l'intermédiaire d'un interrupteur SW, entre un noeud d'alimentation positive recevant un potentiel d'alimentation positif Vcc d'une part et la masse d'autre part. On note<B>A</B> le noeud entre l'interrupteur SW et la mémoire EEPROM. Une résistance Ri est connectée en parallèle sur les bornes de la mémoire EEPROM (entre le noeud <B>A</B> et la masse).
Dans un premier état de l'interrupteur SW, correspondant<B>à</B> l'activation des moyens de masquage, le noeud <B>A</B> est relié<B>à</B> la borne négative de la source de courant IC1, en sorte que le courant<B>il</B> délivré par la source IC1 s'écoule<B>à</B> travers la mémoire EEPROM sous forme d'un courant 13 d'une part, et/ou <B>à</B> travers la résistance Ri sous forme d'un courant Il d'autre part. En tout état de cause, la somme Il+I3 des courants Il et 13 est constante et est égale au courant Ji, même lorsqu'une opération de lecture dans la mémoire EEPROM est effectuée.
Comme on l'aura compris, la valeur de Ri doit être comprise entre la valeur minimum et la valeur maximum de l'impédance de la mémoire EEPROM, afin de jouer un rôle de compensation des variations du courant 13 au cours du fonctionnement du microcontrôleur. Bien entendu, la valeur de Ji doit être supérieure<B>à</B> la valeur maximum du courant 13 au cours du fonctionnement du microcontrôleur (cette valeur maximum est atteinte lors d'une opération effectuée dans la mémoire EEPROM). Dans un cas limite, le courant Il peut éventuellement être nul.
Dans un second état de<B>1 1</B> interrupteur SW, correspondant<B>à</B> la désactivation des moyens de masquage, le noeud <B>A</B> est connecté directement<B>à</B> la broche recevant le potentiel d'alimentation Vcc, en sorte que la source ICI ne débite aucun courant dans la mémoire EEPROM ni dans la résistance RI (cette source est éteinte). Un courant 13 et/ou un courant Il s'écoulent respectivement<B>à</B> travers la mémoire EEPROM et/ou la résistance RI directement depuis la borne d'alimentation délivrant le potentiel Vcc. Leurs valeurs, éventuellement très faibles, sont fonction de l'impédance de la mémoire EEPROM par rapport<B>à</B> RI. La somme Il+I3 des courants Il et 13 n'est pas constante. Notamment, elle varie lorsqu'une opération de lecture dans la mémoire EEPROM est effectuée. Elle peut être très faible, notamment lorsque aucune opération n'est effectué dans la mémoire EEPROM. En tout état de cause, elle est inférieure<B>à</B> la valeur du courant Jl du premier cas ci-dessus, en sorte qu'il est obtenu une économie du courant consommé par la microcontrôleur.
La structure des moyens de masquage représentés<B>à</B> la figure <B>3</B> est purement schématique. De tels moyens peuvent être réalisés concrètement de toute manière appropriée, notamment<B>à</B> l'aide d'une circuiterie <B>à</B> base de transistors, par exemple des transistors MOS.
De retour<B>à</B> la figure<B>3,</B> on comprend que chaque mémoire du microcontrôleur, en l'occurrence les mémoires RAM, ROM et EEPROM, sont dotées de moyens de masquage tels que présentés<B>à</B> la figure 4. L'état de l'interrupteur SW de ces moyens de marquage est commandé par la valeur logique mémorisée par le registre<B>10.</B> Dit autrement, l'activation ou la désactivation des moyens de masquage des mémoires du microcontrôleur est fonction de l'état du registre<B>10.</B> On va maintenant décrire la façon dont cet état est modifié afin d'activer ou de désactiver les moyens de masquage.
<B>A</B> la figure<B>5</B> on a représenté une séquence d'instructions d'un programme de gestion du microcontrôleur, qui est stocké dans la mémoire ROM. Ce programme est écrit en fonction de l'application du microcontrôleur et est stocké dans la mémoire ROM. De manière connue en soi, les instructions contenues dans ce programme sont exécutées séquentiellement lors du fonctionnement du microcontrôleur.
Entre une instruction de début de programme START et une instruction de fin de programme<B>END,</B> le programme comprend une séquence d'instructions Instl, <B>....</B> Instn- Parmi ces instructions une instruction particulière, Insti, a pour effet d'inscrire une valeur logique particulière dans le registre <B>10,</B> par exemple la valeur logique<B>1,</B> en sorte que l'interrupteur SW est mis dans le premier état précité. Une autre instruction Instj subséquente<B>à</B> l'instruction Insti dans la séquence, a pour fonction d'inscrire la valeur logique complémentaire dans le registre<B>10, à</B> savoir par exemple la valeur logique<B>0,</B> en sorte que l'interrupteur SW est mis dans le second état précité.
Comme on l'aura compris, ces deux instructions Insti et Instj sont insérées dans la séquence d'instructions du programme de gestion de manière<B>à</B> encadrer, entre autres, une instruction de lecture dans la mémoire EEPROM. De cette façon les données confidentielles lues dans la mémoire EEPROM transitent sur le bus de données DB alors que les moyens de masquage Jl,SW,Ri des mémoires sont activés.
Il va sans dire que les moyens de masquage sont activés par l'instruction Insti suffisamment tôt avant l'instruction de lecture, et sont désactivés par l'instruction Instj suffisamment longtemps après ladite instruction de lecture, pour que le masquage des variations du courant consommé par le circuit électronique soit efficace. Dit autrement, le procédé selon l'invention comprend le masquage des variations du courant consommé par le circuit électronique pendant une portion du temps pendant laquelle, entre autres, une instruction de lecture dans la mémoire EEPROM est exécutée. Mais le masquage doit être suffisamment long pour que l'opération de lecture dans la mémoire EEPROM ne soit pas facilement décelable. Il est évident que si les moyens de masquage n'étaient activés que pendant l'opération de lecture, l'effet de masquage recherché ne serait pas obtenu.
<B>A</B> l'inverse, la portion du temps pendant laquelle les moyens de masquage sont activés, i.e., la portion du temps entre les instructions Insti et Instj, est suffisamment courte pour que soit substantielle l'économie de courant consommé par le circuit électronique par rapport<B>à</B> l'utilisation de moyens de masquage permanents conformément<B>à</B> l'art antérieur.
C'est pourquoi, on dit que l'activation et la désactivation des moyens de masquage des variations du courant consommé par le circuit électronique sont sélectives.
<B>A</B> la figure<B>6,</B> qui est<B>à</B> comparer<B>à</B> la figure 2, une courbe <B>61</B> représente, en fonction du temps, le courant électrique I consommé par le circuit électronique en fonctionnement selon le principe de l'invention. Les moyens de masquage des mémoires du microcontrôleur sont activés<B>à</B> un instant ti et sont désactivés<B>à</B> un instant ultérieur tj respectivement par l'exécution de l'instruction Insti et par l'exécution de l'instruction Inst j- Dans la portion du temps comprise entre ces deux instants ti et tj, le courant consommé par le circuit électronique est constant et vaut Iconst. Notamment, il ne varie pas en fonction des opérations de lecture effectuées dans les mémoires ROM, RAM et/ou EEPROM. De cette manière un fraudeur ne parvient pas<B>à</B> savoir<B>à</B> quel moment précis les données présentes sur le bus de données du microcontrôleur correspondent au code personnel de la carte<B>à</B> puce. Une courbe <B>62,</B> en traits discontinus, montre ce que serait l'allure du courant consommé par le microcontrôleur entre les instants ti et tj sans l'activation des moyens de masquage selon l'invention.
Dans l'exemple, la valeur Iconst correspond sensiblement<B>à</B> la somme des courants Jl des moyens de masquage des mémoires ROM, RAM et EEPROM activés simultanément entre les instants ti et tj. On notera que les courants Jl n'ont pas forcément la même valeur pour chacune des mémoires ROM, RAM et EEPROM. En outre, il n'est pas indispensable que des moyens de masquage soient prévus pour chacune des mémoires du microcontrôleur.
Dans un autre mode de réalisation, des moyens de masquage peuvent être disposé ailleurs que dans les mémoires. Par exemple, on peut prévoir des moyens de masquage uniques, disposés directement<B>à</B> proximité de la pastille de contact prévue pour l'alimentation électrique de la carte<B>à</B> puce. Néanmoins, des moyens de masquage uniques disposés de cette manière sont plus faciles<B>à</B> déjouer par un fraudeur.
L'invention a été décrite ci-dessus en ce qui concerne le masquage des variations du courant consommé par le circuit électronique lors de l'exécution, entre autres, d'une instruction de lecture dans une mémoire de stockage d'informations confidentielles. Mais, bien entendu, elle ne se limite pas<B>à</B> ce cas. Au contraire, elle s'applique au masquage de des variations du courant consommé par le circuit électronique lors de l'exécution, entre autres, de toute instruction portant sur des données confidentielles.

Claims (1)

  1. REVENDICATIONS <B>1.</B> Procédé de gestion d'un circuit électronique, caractérisé en ce qu'il comprend la mise en oeuvre de moyens de masquage des variations du courant électrique (I) consommé par le circuit électronique en fonctionnement, le procédé comprenant les étapes<B>:</B> a) d'activation sélective des moyens de masquage et<B>b)</B> de désactivation sélective des moyens de masquage, l'intervalle entre l'activation et la désactivation des moyens de masquage occupant une fraction (ti-tj) seulement du temps de gestion, cette fraction couvrant en tout état de cause la ou les portions du temps pendant lesquelles est exécutée une instruction portant sur des données confidentielles. 2. Procédé selon la revendication<B>1,</B> caractérisé en ce qu'il comprend le masquage des variations du courant consommé par le circuit électronique pendant une portion du temps pendant laquelle est exécutée, entre autres, une instruction de lecture dans une mémoire (EEPROM) pour le stockage de données confidentielles. <B>3.</B> Procédé selon la revendication<B>1 ou</B> selon la revendication 2, caractérisé en ce que les moyens de masquage des variations du courant (I) consommé par le circuit électrique en fonctionnement sont activés par une première instruction (Insti) et sont désactivés par une seconde instruction (Instj) subséquente d'un programme de gestion du circuit électronique, ces instructions encadrant une instruction portant sur des données confidentielles. 4. Procédé selon la revendication<B>3,</B> caractérisé en ce que la première instruction (Insti) et la seconde instruction (Instj) provoquent respectivement l'écriture d'une valeur logique déterminée et l'écriture de la valeur logique complémentaire dans un registre<B>(10)</B> du circuit électronique. <B>5.</B> Circuit électronique, notamment un microcontrôleur, du type comprenant une mémoire pour le stockage d'informations confidentielles, caractérisé en ce qu'il comporte des moyens de masquage des variations du courant électrique consommé par le circuit électrique en fonctionnement ainsi que des moyens d'activation et de désactivation sélectives des moyens de masquage. <B>6.</B> Circuit électronique selon la revendication<B>5f</B> caractérisé en ce qu'il comprend un registre<B>(10)</B> dans lequel est inscrite une valeur logique déterminée ou la valeur logique complémentaire, pour respectivement activer<B>ou</B> désactiver les moyens de masquage du courant consommé par le circuit électronique. <B>7.</B> Circuit électronique selon la revendication<B>6,</B> caractérisé en ce qu'il comporte une unité centrale de traitement (CPU), une première mémoire non volatile (ROM) pour le stockage permanent d'un programme de gestion exécutable par l'unité centrale de traitement (CPU) et une seconde mémoire non volatile (EEPROM) pour le stockage permanent d'informations confidentielles. <B>8.</B> Circuit électronique selon la revendication<B>7,</B> caractérisé en ce que le programme de gestion comporte une première instruction (Insti) et une seconde instruction (Instj) pour provoquer respectivement l'écriture d'une valeur logique déterminée et l'écriture de la valeur logique complémentaire dans le registre<B>(10),</B> cette première et cette seconde instructions encadrant dans la séquence d'instructions du programme de gestion une instruction portant sur des données confidentielles, notamment une instruction de lecture dans la seconde mémoire non volatile (EEPROM).
FR9906499A 1999-05-21 1999-05-21 Procede et dispositif de gestion d'un circuit electronique Expired - Fee Related FR2793904B1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
FR9906499A FR2793904B1 (fr) 1999-05-21 1999-05-21 Procede et dispositif de gestion d'un circuit electronique
EP00929632A EP1181631A1 (fr) 1999-05-21 2000-05-18 Procede et dispositif de gestion d'un circuit electronique
US09/979,408 US7372965B1 (en) 1999-05-21 2000-05-18 Electric circuit management method and device
JP2000620444A JP2003500721A (ja) 1999-05-21 2000-05-18 電子回路の管理の方法と装置
PCT/FR2000/001347 WO2000072117A1 (fr) 1999-05-21 2000-05-18 Procede et dispositif de gestion d'un circuit electronique

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9906499A FR2793904B1 (fr) 1999-05-21 1999-05-21 Procede et dispositif de gestion d'un circuit electronique

Publications (2)

Publication Number Publication Date
FR2793904A1 true FR2793904A1 (fr) 2000-11-24
FR2793904B1 FR2793904B1 (fr) 2001-07-27

Family

ID=9545886

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9906499A Expired - Fee Related FR2793904B1 (fr) 1999-05-21 1999-05-21 Procede et dispositif de gestion d'un circuit electronique

Country Status (5)

Country Link
US (1) US7372965B1 (fr)
EP (1) EP1181631A1 (fr)
JP (1) JP2003500721A (fr)
FR (1) FR2793904B1 (fr)
WO (1) WO2000072117A1 (fr)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1107191A1 (fr) * 1999-12-09 2001-06-13 Pitney Bowes Inc. Système et méthode de supression des émissions rayonnées par un dispositif cryptographique comportant un circuit intégré
EP1220077A2 (fr) * 2000-12-28 2002-07-03 Kabushiki Kaisha Toshiba Dispositif de traitement de données et une carte mémoire qui utilise ce dispositif
FR2822988A1 (fr) * 2001-04-02 2002-10-04 Oberthur Card Syst Sa Procede de protection d'une entite electronique a microcircuit et entite electronique dotee d'une telle protection
US6594760B1 (en) 1998-12-21 2003-07-15 Pitney Bowes Inc. System and method for suppressing conducted emissions by a cryptographic device
US6766455B1 (en) 1999-12-09 2004-07-20 Pitney Bowes Inc. System and method for preventing differential power analysis attacks (DPA) on a cryptographic device
WO2009074927A1 (fr) 2007-12-13 2009-06-18 Nxp B.V. Circuit électronique et procédé de masquage d'exigences de courant d'un circuit électronique
FR3007857A1 (fr) * 2013-06-26 2015-01-02 St Microelectronics Rousset Regulateur pour circuit integre
FR3042066A1 (fr) * 2015-10-01 2017-04-07 Stmicroelectronics Rousset Procede de lissage d'un courant consomme par un circuit integre et dispositif correspondant
US11698651B2 (en) 2020-08-25 2023-07-11 Stmicroelectronics (Rousset) Sas Device and method for electronic circuit power
US11768512B2 (en) 2019-12-12 2023-09-26 Stmicroelectronics (Rousset) Sas Method of smoothing a current consumed by an integrated circuit, and corresponding device
US11829178B2 (en) 2020-08-25 2023-11-28 Stmicroelectronics (Rousset) Sas Device and method for protecting confidential data in an electronic circuit powered by a power supply

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100378756C (zh) * 2003-04-22 2008-04-02 Nxp股份有限公司 用于密码应用的电子电路装置
JP4674440B2 (ja) * 2004-03-04 2011-04-20 ソニー株式会社 データ処理回路
JP4920680B2 (ja) * 2005-05-09 2012-04-18 ストミクロエレクトロニクス・ソシエテ・アノニム エラー注入によるアタックに対してメモリを保護する装置
US20120124669A1 (en) * 2010-11-12 2012-05-17 International Business Machines Corporation Hindering Side-Channel Attacks in Integrated Circuits

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0368727A1 (fr) * 1988-11-10 1990-05-16 Sgs Thomson Microelectronics Sa Dispositif de sécurité contre la détection non-autorisée de données protégées
WO1997033217A1 (fr) * 1996-03-07 1997-09-12 Bull Cp8 Circuit integre perfectionne et procede d'utilisation d'un tel circuit integre
FR2757972A1 (fr) * 1996-12-31 1998-07-03 Bull Cp8 Procede de securisation d'un module de securite, et module de securite associe

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2617976B1 (fr) * 1987-07-10 1989-11-10 Thomson Semiconducteurs Detecteur electrique de niveau logique binaire
FR2673295B1 (fr) * 1991-02-21 1994-10-28 Sgs Thomson Microelectronics Sa Dispositif de detection de l'etat logique d'un composant dont l'impedance varie suivant cet etat.
US5345112A (en) * 1992-09-14 1994-09-06 Cypress Semiconductor Corporation Integrated circuit with programmable speed/power adjustment
DE19505097C1 (de) * 1995-02-15 1996-06-05 Siemens Ag Verschlüsselungsvorrichtung
JP3294489B2 (ja) * 1995-11-28 2002-06-24 沖電気工業株式会社 乱数発生回路
US6064740A (en) * 1997-11-12 2000-05-16 Curiger; Andreas Method and apparatus for masking modulo exponentiation calculations in an integrated circuit
CA2316227C (fr) * 1998-01-02 2009-08-11 Cryptography Research, Inc. Procede et appareil cryptographiques resistant aux fuites
US6327661B1 (en) * 1998-06-03 2001-12-04 Cryptography Research, Inc. Using unpredictable information to minimize leakage from smartcards and other cryptosystems
FR2776410B1 (fr) * 1998-03-20 2002-11-15 Gemplus Card Int Dispositifs pour masquer les operations effectuees dans une carte a microprocesseur
DE19850721A1 (de) * 1998-11-03 2000-05-18 Koninkl Philips Electronics Nv Datenträger mit Verschleierung des Stromverbrauchs
US6594760B1 (en) * 1998-12-21 2003-07-15 Pitney Bowes Inc. System and method for suppressing conducted emissions by a cryptographic device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0368727A1 (fr) * 1988-11-10 1990-05-16 Sgs Thomson Microelectronics Sa Dispositif de sécurité contre la détection non-autorisée de données protégées
WO1997033217A1 (fr) * 1996-03-07 1997-09-12 Bull Cp8 Circuit integre perfectionne et procede d'utilisation d'un tel circuit integre
FR2757972A1 (fr) * 1996-12-31 1998-07-03 Bull Cp8 Procede de securisation d'un module de securite, et module de securite associe

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6594760B1 (en) 1998-12-21 2003-07-15 Pitney Bowes Inc. System and method for suppressing conducted emissions by a cryptographic device
US6748535B1 (en) 1998-12-21 2004-06-08 Pitney Bowes Inc. System and method for suppressing conducted emissions by a cryptographic device comprising an integrated circuit
US6766455B1 (en) 1999-12-09 2004-07-20 Pitney Bowes Inc. System and method for preventing differential power analysis attacks (DPA) on a cryptographic device
EP1107191A1 (fr) * 1999-12-09 2001-06-13 Pitney Bowes Inc. Système et méthode de supression des émissions rayonnées par un dispositif cryptographique comportant un circuit intégré
EP1220077A2 (fr) * 2000-12-28 2002-07-03 Kabushiki Kaisha Toshiba Dispositif de traitement de données et une carte mémoire qui utilise ce dispositif
US7533275B2 (en) 2000-12-28 2009-05-12 Kabushiki Kaisha Toshiba Data processing apparatus and memory card using the same
EP1220077A3 (fr) * 2000-12-28 2003-07-02 Kabushiki Kaisha Toshiba Dispositif de traitement de données et une carte mémoire qui utilise ce dispositif
US7219844B2 (en) 2001-04-02 2007-05-22 Oberthur Card Systems Sa Methods for protecting a smart card
WO2002080094A1 (fr) * 2001-04-02 2002-10-10 Oberthur Card Systems S.A. Procede de protection d'une carte a puce
FR2822988A1 (fr) * 2001-04-02 2002-10-04 Oberthur Card Syst Sa Procede de protection d'une entite electronique a microcircuit et entite electronique dotee d'une telle protection
WO2009074927A1 (fr) 2007-12-13 2009-06-18 Nxp B.V. Circuit électronique et procédé de masquage d'exigences de courant d'un circuit électronique
FR3007857A1 (fr) * 2013-06-26 2015-01-02 St Microelectronics Rousset Regulateur pour circuit integre
FR3042066A1 (fr) * 2015-10-01 2017-04-07 Stmicroelectronics Rousset Procede de lissage d'un courant consomme par un circuit integre et dispositif correspondant
US9678525B2 (en) 2015-10-01 2017-06-13 Stmicroelectronics (Rousset) Sas Method for smoothing a current consumed by an integrated circuit and corresponding device
US10054973B2 (en) 2015-10-01 2018-08-21 Stmicroelectronics (Rousset) Sas Method for smoothing a current consumed by an integrated circuit and corresponding device
US11768512B2 (en) 2019-12-12 2023-09-26 Stmicroelectronics (Rousset) Sas Method of smoothing a current consumed by an integrated circuit, and corresponding device
US11698651B2 (en) 2020-08-25 2023-07-11 Stmicroelectronics (Rousset) Sas Device and method for electronic circuit power
US11829178B2 (en) 2020-08-25 2023-11-28 Stmicroelectronics (Rousset) Sas Device and method for protecting confidential data in an electronic circuit powered by a power supply

Also Published As

Publication number Publication date
FR2793904B1 (fr) 2001-07-27
JP2003500721A (ja) 2003-01-07
WO2000072117A1 (fr) 2000-11-30
US7372965B1 (en) 2008-05-13
EP1181631A1 (fr) 2002-02-27

Similar Documents

Publication Publication Date Title
FR2793904A1 (fr) Procede et dispositif de gestion d&#39;un circuit electronique
CA1060583A (fr) Systeme pour memoriser des donnees dans un objet protatif independant
EP0298848B1 (fr) Détecteur électrique de niveau logique binaire
EP0482975B1 (fr) Procédé et dispositif pour accroître la protection d&#39;une carte à mémoire
FR2640798A1 (fr) Dispositif de traitement de donnees comportant une memoire non volatile electriquement effacable et reprogrammable
FR2471000A1 (fr) Procede et dispositif de controle du nombre de tentatives d&#39;acces a une memoire electronique, notamment celle d&#39;un circuit integre d&#39;un objet comme une carte de credit ou une carte d&#39;achat
FR2493564A1 (fr) Element d&#39;identification de support d&#39;informations
EP0267114B1 (fr) Circuit intégré pour la mémorisation et le traitement d&#39;informations de manière confidentielle comportant un dispositif anti-fraude
FR2497376A1 (fr) Procede et dispositif de fabrication de cartes d&#39;identification
EP1293856A1 (fr) Circuit Intégré sécurisé comprenant des parties à caractère confidentiel, et procédé pour sa mise en action
CA2212963C (fr) Cadre de lecture pour appareil lecteur de carte a microcircuit
EP0902949B1 (fr) Memoire remanente effacable et programmable electriquement, protegee contre les coupures d&#39;alimentation
FR2529702A1 (fr) Memoire morte a semi-conducteurs
EP2162846A2 (fr) Cryptoprocesseur a protection de donnees amelioree
FR2776788A1 (fr) Procede de commutation d&#39;applications sur une carte a puce multi-applicative
EP1220101B1 (fr) Procédé et dispositif de protection contre le piratage de circuits intégrés
FR2642544A1 (fr) Systeme de traitement de donnees a programme de securite
FR2513408A1 (en) Self-destructing memory system for card reader - uses volatile memory in logic authentication circuit providing power cut=out control signal
FR2670595A1 (fr) Carte a circuit integre.
EP1374249A1 (fr) Dispositif et procede de protection partielle en lecture d&#39;une memoire non volatile
FR2471004A1 (fr) Installation et dispositif de controle de l&#39;acces a une memoire electronique
WO2006120310A1 (fr) Dispositif de protection d&#39;une memoire contre les attaques par injection d&#39;erreur
EP0703584B1 (fr) Procédé de décodage d&#39;addresse dans une mémoire en circuit intégré et circuit mémoire mettant en oeuvre le procédé
FR2953960A1 (fr) Composant electronique apte a detecter des attaques par apport d&#39;energie
EP0862182B1 (fr) Procédé d&#39;effacement d&#39;une mémoire RAM statique et mémoire en circuit intégré associé

Legal Events

Date Code Title Description
ST Notification of lapse