+

WO2000072117A1 - 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
WO2000072117A1
WO2000072117A1 PCT/FR2000/001347 FR0001347W WO0072117A1 WO 2000072117 A1 WO2000072117 A1 WO 2000072117A1 FR 0001347 W FR0001347 W FR 0001347W WO 0072117 A1 WO0072117 A1 WO 0072117A1
Authority
WO
WIPO (PCT)
Prior art keywords
electronic circuit
masking
instruction
memory
variations
Prior art date
Application number
PCT/FR2000/001347
Other languages
English (en)
Inventor
Sylvie Wuidart
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 EP00929632A priority Critical patent/EP1181631A1/fr
Priority to JP2000620444A priority patent/JP2003500721A/ja
Priority to US09/979,408 priority patent/US7372965B1/en
Publication of WO2000072117A1 publication Critical patent/WO2000072117A1/fr

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

Definitions

  • the present invention relates to a method and a device for managing an electronic circuit, in particular a microcontroller, of the type comprising a memory for the permanent storage of confidential information.
  • Figure 1 there is shown the diagram of the internal architecture of such an electronic circuit.
  • a central processing unit CPU Central Processing Unit
  • These peripheral organs include a first non-volatile memory ROM for the permanent storage of a management program, which is a read-only memory ("Read-Only-Memory").
  • Non-volatile EEPROM memory for permanent storage of confidential information, which is an electrically programmable and erasable read-only memory ("Electricaly Erasable and Programmable Read-Only-Memory"). They also include a volatile memory RAM for the temporary storage of information related to the operation of the circuit, which is a random access memory ("Random Access Memory", in English). In general, they still include at least one Reg register for storing binary information.
  • the invention applies in particular to a chip card microcontroller.
  • the confidential information stored in the EEPROM memory is for example a personal code known only to the user. This personal code must be supplied by the user in order to use a device such as an ATM, a decoder for pay-TV, a portable telephone of the GSM type, etc., in combination with the smart card.
  • the smart card is conventionally inserted into a smart card reader of the device.
  • the smart card comprises contact pads cooperating with corresponding terminals of the reader for the exchange of information between the card and the reader, and for the electrical supply of the smart card using a source d power supply to the reader.
  • the device includes a keyboard or similar device on which the user enters his personal code.
  • the personal code entered by the user is transmitted to the microcontroller of the smart card which includes means for comparing it to the personal code stored in the EEPROM memory. In the event of a tie, access to the service delivered by the device is allowed to the user.
  • a conventional fraud attempt consists in using a smart card stolen from a pirate smart card reader, comprising means for observing the data placed on the data bus DB. It is then theoretically possible to read confidential data corresponding to the personal code of the user on the data bus DB when these data are read from the EEPROM memory and are placed on the data bus DB. The only difficulty is for the fraudster to know at what precise moment these data are present on the data bus DB, in order to identify them in the stream of data which pass on this bus during the operation of the electronic circuit.
  • the electric current consumed by the electronic circuit during operation is not constant but presents variations as a function, in particular, of the read operations carried out in the various memories of the electronic circuit. Indeed, the memory cells of the different memories have an impedance which, to a certain extent, depends on the programmed or erased state of the cell, but which, to a greater extent, is different from a type of memory to the 'other.
  • a curve 21 thus represents the variations as a function of time of the electric current I consumed by the microcontroller in operation.
  • This current can take different increasing values I (Reg), I (ROM), I (RAM), I (EEPROM) for read operations, respectively in the Reg register, the ROM memory, the RAM memory or the EEPROM memory.
  • the fraudster to observe the instantaneous value of the electric current consumed by the microcontroller (by disposing of a suitable means, such as an ammeter in series between a terminal power supply of the reader provided for the power supply of the smart card and the corresponding contact pad of the latter) and to read the data present on the data bus DB at the moment when this current presents the value I (EEPROM ), to find out the confidential data read from the EEPROM memory.
  • a suitable means such as an ammeter in series between a terminal power supply of the reader provided for the power supply of the smart card and the corresponding contact pad of the latter
  • the curve of the current (constant, of Iconst value) consumed by the electronic circuit according to this prior art is represented by a curve 22, which corresponds substantially to a horizontal line.
  • the weak undulations of curves 21 and 22 correspond to parasitic impedances in the electronic circuit.
  • This known solution nevertheless has the drawback of increasing the consumption of the electronic circuit significantly. Indeed, the current consumed by the electronic circuit in operation is permanently equal to the Iconst value which is greater than the maximum value of the current consumed per se by the electronic circuit in operation. This high consumption gives rise to problems linked in particular to the rise in temperature by the Joule effect in the electronic circuit.
  • the invention aims to overcome the aforementioned drawbacks of the electronic circuits of the prior art.
  • the invention proposes a method for managing an electronic circuit, for example of the type comprising a memory for storing confidential information, characterized in that it comprises masking variations in the electric current consumed by the electronic circuit, for only a fraction of the time, and in any event during the portion or portions of the time during which an instruction relating to confidential data is executed.
  • the method includes masking the variations of the current consumed by the electronic circuit during a portion of the time during which, among other things, a read instruction in memory is executed.
  • the invention also provides an electronic circuit, in particular a microcontroller, for example of the type comprising a memory for storing confidential information, which comprises means for masking variations in the electric current consumed by the electric circuit in operation as well as means selective activation and deactivation of the masking means.
  • a microcontroller for example of the type comprising a memory for storing confidential information, which comprises means for masking variations in the electric current consumed by the electric circuit in operation as well as means selective activation and deactivation of the masking means.
  • selective is meant a deliberate activation and deactivation, that is to say provoked deliberately when they are necessary to obtain the desired technical effect, namely to mask the variations in the current consumed by the electronic circuit when an operation relating to confidential data is executed but do not permanently mask it so as not to excessively increase the average electrical consumption of the electronic circuit.
  • the current consumed by the electronic circuit is only equal to a maximum constant value for a fraction of the time only, so that the overall consumption of the electronic circuit is reduced.
  • an electronic circuit comprises a central processing unit CPU, a first non-volatile memory ROM (which is a read-only memory) for the permanent storage of a management program executable by the central processing unit CPU and a second non-volatile memory EEPROM (which is an electrically programmable and erasable read-only memory) for the permanent storage of confidential information. It also includes a volatile memory RAM (which is a random access memory) for the temporary storage of information related to the operation of the circuit. In addition, they still understand at minus a Reg register for storing binary information.
  • the electronic circuit further comprises such a register, bearing the reference 10, which has a particular function according to the invention.
  • the means for masking variations in the current consumed by the ROM, RAM and / or EEPROM memories are activated or deactivated.
  • there is stored in the register 10 a determined logic value or the complementary logic value, to respectively activate or deactivate the means for masking the current consumed by the electronic circuit.
  • Masking means are shown in Figure 4, with regard to the EEPROM memory. These masking means schematically comprise a current source ICI connected in series with the EEPROM memory by means of a switch SW, between a positive supply node receiving a positive supply potential Vcc on the one hand and the ground on the other hand.
  • A the node between the switch SW and the EEPROM memory.
  • a resistor RI is connected in parallel on the terminals of the EEPROM memory (between node A and ground).
  • the node A In a first state of the switch SW, corresponding to the activation of the masking means, the node A is connected to the negative terminal of the current source ICI, so that the current Jl delivered by the source ICI flows through the EEPROM memory in the form of a current 13 on the one hand, and / or through the resistor RI in the form of a current II on the other hand.
  • the sum 11 + 13 of the currents II and 13 is constant and is equal to the current J1, even when a read operation in the EEPROM memory is performed.
  • the value of Ri must be between the minimum value and the maximum value of the impedance of the EEPROM memory, in order to play a role of compensating for variations in current 13 during the operation of the microcontroller.
  • the value of Jl must be greater than the maximum value of the current 13 during the operation of the microcontroller (this maximum value is reached during an operation carried out in the EEPROM memory). In a borderline case, the current II may possibly be zero.
  • the node A In a second state of the switch SW, corresponding to the deactivation of the masking means, the node A is connected directly to the pin receiving the supply potential Vcc, so that the source ICI does not debit any current in the EEPROM memory nor in the resistance RI (this source is switched off).
  • a current 13 and / or a current II flow respectively through the EEPROM memory and / or the resistor RI directly from the supply terminal delivering the potential Vcc.
  • Their values possibly very low, are a function of the impedance of the EEPROM memory with respect to RI.
  • the sum 11 + 13 of currents II and 13 is not constant. In particular, it varies when a read operation in the EEPROM memory is performed. It can be very low, especially when no operation is carried out in the EEPROM memory. In any event, it is less than the value of the current J1 of the first case above, so that an economy is obtained of the current consumed by the microcontroller.
  • the structure of the masking means shown in Figure 3 is purely schematic. Such means can be implemented concretely in any appropriate manner, in particular using circuitry based on transistors, for example MOS transistors.
  • each memory of the microcontroller in this case the memories RAM, ROM and EEPROM, are provided with masking means as presented in FIG. 4.
  • the state of the switch SW of these marking means is controlled by the logic value memorized by the register 10.
  • the activation or deactivation of the means for masking the memories of the microcontroller is a function of the state of the register 10. We will now describe how this state is modified in order to activate or deactivate the masking means.
  • FIG. 5 shows a sequence of instructions for a program for managing the microcontroller, which is stored in ROM memory. This program is written according to the application of the microcontroller and is stored in the ROM memory. In a manner known per se, the instructions contained in this program are executed sequentially during the operation of the microcontroller.
  • the program comprises a sequence of instructions Inst lf ..., Inst n .
  • a particular instruction, Inst ⁇ has the effect of writing a particular logic value into the register 10, for example the logic value 1, so that the switch SW is set to the first aforementioned state.
  • Another instruction Instj subsequent to the instruction Inst- in the sequence has the function of writing the complementary logic value in the register 10, namely for example the logic value 0, so that the switch SW is set in the second aforementioned state.
  • the Instj are inserted into the sequence of instructions of the management program so as to frame, among other things, a read instruction in the EEPROM memory.
  • the confidential data read from the EEPROM memory pass over the data bus DB while the masking means J1, SW, R1 of the memories are activated.
  • the masking means are activated by the instruction Inst- sufficiently early before the reading instruction, and are deactivated by the instruction Instj long enough after said reading instruction, so that the masking of the variations in the current consumed by the electronic circuit is efficient.
  • the method according to the invention comprises masking the variations of the current consumed by the electronic circuit during a portion of the time during which, inter alia, a read instruction in the EEPROM memory is executed.
  • the masking must be long enough so that the reading operation in the EEPROM memory is not easily detectable. It is obvious that if the means of masking were only activated during the read operation, the masking effect sought would not be obtained.
  • the portion of the time during which the masking means are activated ie, the portion of the time between the instructions Inst ⁇ and Instj, is short enough for the saving of current consumed by the electronic circuit to be substantial. compared to the use of permanent masking means according to the prior art.
  • a curve 61 represents, as a function of time, the electric current I consumed by the electronic circuit in operation according to the principle of the invention.
  • the means for masking the memories of the microcontroller are activated at an instant t ⁇ and are deactivated at a later instant tj respectively by the execution of the instruction Inst ⁇ and by the execution of
  • the value Iconst corresponds substantially to the sum of the currents Jl of the means for masking the memories ROM, RAM and EEPROM activated simultaneously between the instants t ⁇ and tj.
  • the currents J1 do not necessarily have the same value for each of the ROM, RAM and EEPROM memories.
  • masking means are provided for each of the memories of the microcontroller.
  • masking means can be arranged elsewhere than in the memories.
  • unique masking means arranged in this way are easier to thwart by a fraudster.
  • the invention has been described above with regard to the masking of variations in the current consumed by the electronic circuit during the execution, inter alia, of a read instruction in a memory for storing confidential information. But, of course, it is not limited to this case. On the contrary, it applies to the masking of variations in the current consumed by the electronic circuit during the execution, inter alia, of any instruction relating to confidential data.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (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 électriques (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 ET DISPOSITIF DE GESTION D'UN 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. A la figure 1 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 à 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 à 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 à accès aléatoire ("Random Access Memory", en anglais) . En général, ils comprennent encore au moins un registre Reg pour le stockage d'une information binaire.
L'invention s'applique notamment à un microcontrôleur de carte à 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 à péage, un téléphone portatif de type GSM, etc... , en combinaison avec la carte à puce.
La carte à puce est classiquement insérée dans un lecteur de carte à puce de l'appareil. La carte à 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 à puce à 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 à 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 à l'utilisateur.
Une tentative de fraude classique consiste à utiliser une carte à puce volée dans un lecteur de carte à 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 à savoir à 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 à l'autre.
A 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 à 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 déjà 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 à 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 500 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 à 1 'état programmé ou 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.
A 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 à une ligne horizontale. Les faibles ondulations des courbes 21 et 22 correspondent à 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 à la valeur Iconst qui est supérieure à 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 à l'élévation de la température par effet Joule dans le circuit électronique. L'invention vise à pallier les inconvénient précités des circuits électroniques de l'état de la technique.
A 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.
Notamment, 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 à dire provoquées délibérément lorsqu'elles sont nécessaires à l'obtention de l'effet technique recherché, à 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 à ne pas excessivement augmenter la consommation électrique moyenne du circuit électronique.
Grâce à l'invention, le courant consommé par le circuit électronique n'est égal à 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 à 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é :
- à la figure 1, déjà analysée, le schéma de l'architecture interne d'un circuit électronique selon l'art antérieur ;
- à la figure 2, également déjà analysée : des courbes du courant consommé par le circuit électronique en fonctionnement, respectivement sans masquage des variations et avec masquage des variations selon 1 ' art antérieur ; - à la figure 3, le schéma de l'architecture interne d'un circuit électronique selon 1 ' invention ;
- à la figure 4 : le schéma de moyen de masquage selon 1 • invention ;
- à la figure 5 : l'organigramme d'une séquence d'instructions d'un programme de gestion d'un circuit électronique selon 1 ' invention ;
- à la figure 6 : des courbes du courant consommé par le circuit électronique en fonctionnement, respectivement sans masquage des variations et avec masquage des variations selon l'invention.
A la figure 3, sur laquelle les mêmes éléments qu'à la figure 1 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 à 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 à lecture seule) pour le stockage permanent d'informations confidentielles. Il comporte en outre une mémoire volatile RAM (qui est une mémoire à 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 10, 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 10 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 à la figure 4, en ce qui concerne la mémoire EEPROM. Ces moyens de masquage comprennent schématiquement une source de courant ICI connectée en série avec la mémoire EEPROM par 1 ' 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 A le noeud entre 1 ' 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 A et la masse) .
Dans un premier état de l'interrupteur SW, correspondant à l'activation des moyens de masquage, le noeud A est relié à la borne négative de la source de courant ICI, en sorte que le courant Jl délivré par la source ICI s'écoule à travers la mémoire EEPROM sous forme d'un courant 13 d'une part, et/ou à travers la résistance RI sous forme d'un courant II d'autre part. En tout état de cause, la somme 11+13 des courants II et 13 est constante et est égale au courant Jl, 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 Jl doit être supérieure à 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 II peut éventuellement être nul.
Dans un second état de l'interrupteur SW, correspondant à la désactivation des moyens de masquage, le noeud A est connecté directement à 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 II s'écoulent respectivement à 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 à RI. La somme 11+13 des courants II 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 à 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 à la figure 3 est purement schématique. De tels moyens peuvent être réalisés concrètement de toute manière appropriée, notamment à l'aide d'une circuiterie à base de transistors, par exemple des transistors MOS.
De retour à la figure 3, 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 à 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 10. 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 10. On va maintenant décrire la façon dont cet état est modifié afin d'activer ou de désactiver les moyens de masquage.
A la figure 5 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 END, le programme comprend une séquence d'instructions Instlf ... ,Instn. Parmi ces instructions une instruction particulière, Inst^, a pour effet d'inscrire une valeur logique particulière dans le registre 10, par exemple la valeur logique 1, en sorte que l'interrupteur SW est mis dans le premier état précité. Une autre instruction Instj subséquente à 1 ' instruction Inst- dans la séquence, a pour fonction d'inscrire la valeur logique complémentaire dans le registre 10, à savoir par exemple la valeur logique 0, en sorte que l'interrupteur SW est mis dans le second état précité.
Comme on l'aura compris, ces deux instructions Inst^ et
Instj sont insérées dans la séquence d ' instructions du programme de gestion de manière à 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 J1,SW,R1 des mémoires sont activés. II va sans dire que les moyens de masquage sont activés par 1 ' instruction Inst- suffisamment tôt avant 1 ' 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 .1 ' 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.
A l'inverse, la portion du temps pendant laquelle les moyens de masquage sont activés, i.e., la portion du temps entre les instructions Inst^ et Instj , est suffisamment courte pour que soit substantielle l'économie de courant consommé par le circuit électronique par rapport à l'utilisation de moyens de masquage permanents conformément à 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.
A la figure 6, qui est à comparer à la figure 2, une courbe 61 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 à un instant t^ et sont désactivés à un instant ultérieur tj respectivement par l'exécution de l'instruction Inst^ et par l'exécution de
1 ' instruction Instj . Dans la portion du temps comprise entre ces deux instants t^ 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 à savoir à 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 à puce. Une courbe 62, en traits discontinus, montre ce que serait l'allure du courant consommé par le microcontrôleur entre les instants t^ et tj sans l'activation des moyens de masquage selon l'invention.
Dans l'exemple, la valeur Iconst correspond sensiblement à la somme des courants Jl des moyens de masquage des mémoires ROM, RAM et EEPROM activés simultanément entre les instants t^ 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 à proximité de la pastille de contact prévue pour l'alimentation électrique de la carte à puce. Néanmoins, des moyens de masquage uniques disposés de cette manière sont plus faciles à 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'in ormations confidentielles. Mais, bien entendu, elle ne se limite pas à 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

REVENDICATIONS
1. 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 : a) d'activation sélective des moyens de masquage et 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 1, 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.
3. Procédé selon la revendication 1 ou 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 (Inst 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 3 , caractérisé en ce que la première instruction (Instj 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 (10) du circuit électronique.
5. 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.
6. Circuit électronique selon la revendication 5, caractérisé en ce qu'il comprend un registre (10) dans lequel est inscrite 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.
7. Circuit électronique selon la revendication 6, 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.
8. Circuit électronique selon la revendication 7, caractérisé en ce que le programme de gestion comporte une première instruction (Instj 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 (10), 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) .
PCT/FR2000/001347 1999-05-21 2000-05-18 Procede et dispositif de gestion d'un circuit electronique WO2000072117A1 (fr)

Priority Applications (3)

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

Applications Claiming Priority (2)

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
FR99/06499 1999-05-21

Publications (1)

Publication Number Publication Date
WO2000072117A1 true WO2000072117A1 (fr) 2000-11-30

Family

ID=9545886

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2000/001347 WO2000072117A1 (fr) 1999-05-21 2000-05-18 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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1571529A3 (fr) * 2004-03-04 2006-09-06 Sony Corporation Protection d'un circuit de traitement de données
WO2006120310A1 (fr) * 2005-05-09 2006-11-16 Stmicroelectronics Sa Dispositif de protection d'une memoire contre les attaques par injection d'erreur

Families Citing this family (14)

* 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
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
CA2327943C (fr) * 1999-12-09 2005-09-20 Pitney Bowes Inc. Systeme et methode de suppression d'emissions par conduction produites par un dispositif de cryptographie comprenant un circuit integre
JP3977592B2 (ja) 2000-12-28 2007-09-19 株式会社東芝 データ処理装置
FR2822988B1 (fr) * 2001-04-02 2003-08-15 Oberthur Card Syst Sa Procede de protection d'une entite electronique a microcircuit et entite electronique dotee d'une telle protection
EP1620829B1 (fr) * 2003-04-22 2009-08-26 Nxp B.V. Dispositif de circuit electronique pour des applications cryptographiques
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
US20120124669A1 (en) * 2010-11-12 2012-05-17 International Business Machines Corporation Hindering Side-Channel Attacks in Integrated Circuits
FR3007857B1 (fr) * 2013-06-26 2018-11-16 Stmicroelectronics (Rousset) Sas Regulateur pour circuit integre
FR3042066B1 (fr) * 2015-10-01 2017-10-27 Stmicroelectronics Rousset Procede de lissage d'un courant consomme par un circuit integre et dispositif correspondant
FR3104751B1 (fr) 2019-12-12 2021-11-26 St Microelectronics Rousset Procédé de lissage d’un courant consommé par un circuit intégré et dispositif correspondant
FR3113777B1 (fr) 2020-08-25 2024-12-13 St Microelectronics Rousset Alimentation de circuit électronique
FR3113776A1 (fr) 2020-08-25 2022-03-04 Stmicroelectronics (Rousset) Sas Alimentation de circuit électronique
FR3132964B1 (fr) 2022-02-23 2024-11-08 St Microelectronics Rousset Dispositif électronique comportant un module électronique et un circuit de compensation

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
DE69840782D1 (de) * 1998-01-02 2009-06-04 Cryptography Res Inc Leckresistentes kryptographisches Verfahren und Vorrichtung
FR2776410B1 (fr) * 1998-03-20 2002-11-15 Gemplus Card Int Dispositifs pour masquer les operations effectuees dans une carte a microprocesseur
EP2280502B1 (fr) * 1998-06-03 2018-05-02 Cryptography Research, Inc. Utilisation d'informations imprévisibles pour résister à la découverte de secrets par surveillance externe
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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1571529A3 (fr) * 2004-03-04 2006-09-06 Sony Corporation Protection d'un circuit de traitement de données
US8687799B2 (en) 2004-03-04 2014-04-01 Sony Corporation Data processing circuit and control method therefor
WO2006120310A1 (fr) * 2005-05-09 2006-11-16 Stmicroelectronics Sa Dispositif de protection d'une memoire contre les attaques par injection d'erreur
US8045381B2 (en) 2005-05-09 2011-10-25 Stmicroelectronics Sa Device for protecting a memory against attacks by error injection

Also Published As

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

Similar Documents

Publication Publication Date Title
WO2000072117A1 (fr) Procede et dispositif de gestion d'un circuit electronique
EP0298848B1 (fr) Détecteur électrique de niveau logique binaire
CA1060583A (fr) Systeme pour memoriser des donnees dans un objet protatif independant
CA2212963C (fr) Cadre de lecture pour appareil lecteur de carte a microcircuit
EP1293856A1 (fr) Circuit Intégré sécurisé comprenant des parties à caractère confidentiel, et procédé pour sa mise en action
FR2697673A1 (fr) Circuit à fusible, pour circuit intégré.
CA2257339C (fr) Memoire remanente effacable et programmable electriquement, protegee contre les coupures d'alimentation
EP2285038B1 (fr) Surveillance de l'activité d'un circuit électronique
WO2007009847A1 (fr) Detection d'une faute par perturbation longue
EP1220101B1 (fr) Procédé et dispositif de protection contre le piratage de circuits intégrés
FR2543726A1 (fr) Cellule de memoire ram non volatile a transistors cmos a grille flottante commune
FR2670595A1 (fr) Carte a circuit integre.
EP2333703B1 (fr) Composant électronique apte à détecter des attaques actives
EP0965994A1 (fr) Dispositif à circuit intégré sécurisé au moyen de lignes complémentaires de bus
EP0660331A1 (fr) Circuit décodeur de ligne pour mémoire fonctionnant sous de faibles tensions d'alimentation
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é
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
EP0932112A1 (fr) Lecteur de carte à puce muni d'un commutateur d'horloge
EP0851359B1 (fr) Procédé et dispositif de lecture de mémoire ayant des zones protégées en lecture
EP1764804B1 (fr) Circuit integré ayant une mémoire de données protegée contre l'effacement UV
EP0862182B1 (fr) Procédé d'effacement d'une mémoire RAM statique et mémoire en circuit intégré associé
EP1862952A1 (fr) Dispositif électronique sécurisé
FR2880217A1 (fr) Montage a mode de securite et a mode d'economie d'energie.
CA2323712A1 (fr) Procede de gestion securisee d'un compteur d'unites et module de securite mettant en oeuvre le procede

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2000929632

Country of ref document: EP

ENP Entry into the national phase

Ref country code: JP

Ref document number: 2000 620444

Kind code of ref document: A

Format of ref document f/p: F

WWP Wipo information: published in national office

Ref document number: 2000929632

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 09979408

Country of ref document: US

WWW Wipo information: withdrawn in national office

Ref document number: 2000929632

Country of ref document: EP

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载