FR2793904A1 - Procede et dispositif de gestion d'un circuit electronique - Google Patents
Procede et dispositif de gestion d'un circuit electronique Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/75—Protecting 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/755—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/77—Protecting 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/24—Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/72—Indexing scheme relating to groups G06F7/72 - G06F7/729
- G06F2207/7219—Countermeasures against side channel or fault attacks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/04—Masking or blinding
- H04L2209/046—Masking 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)
- 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).
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)
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)
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)
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)
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 |
-
1999
- 1999-05-21 FR FR9906499A patent/FR2793904B1/fr not_active Expired - Fee Related
-
2000
- 2000-05-18 US US09/979,408 patent/US7372965B1/en not_active Expired - Fee Related
- 2000-05-18 JP JP2000620444A patent/JP2003500721A/ja not_active Ceased
- 2000-05-18 WO PCT/FR2000/001347 patent/WO2000072117A1/fr not_active Application Discontinuation
- 2000-05-18 EP EP00929632A patent/EP1181631A1/fr not_active Withdrawn
Patent Citations (3)
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)
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'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'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'acces a une memoire electronique, notamment celle d'un circuit integre d'un objet comme une carte de credit ou une carte d'achat | |
FR2493564A1 (fr) | Element d'identification de support d'informations | |
EP0267114B1 (fr) | Circuit intégré pour la mémorisation et le traitement d'informations de manière confidentielle comportant un dispositif anti-fraude | |
FR2497376A1 (fr) | Procede et dispositif de fabrication de cartes d'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'alimentation | |
FR2529702A1 (fr) | Memoire morte a semi-conducteurs | |
EP2162846A2 (fr) | Cryptoprocesseur a protection de donnees amelioree | |
FR2776788A1 (fr) | Procede de commutation d'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'une memoire non volatile | |
FR2471004A1 (fr) | Installation et dispositif de controle de l'acces a une memoire electronique | |
WO2006120310A1 (fr) | Dispositif de protection d'une memoire contre les attaques par injection d'erreur | |
EP0703584B1 (fr) | Procédé de décodage d'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'energie | |
EP0862182B1 (fr) | Procédé d'effacement d'une mémoire RAM statique et mémoire en circuit intégré associé |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |