WO2008084016A1 - Protection d'informations contenues dans un circuit electronique - Google Patents

Protection d'informations contenues dans un circuit electronique Download PDF

Info

Publication number
WO2008084016A1
WO2008084016A1 PCT/EP2008/050072 EP2008050072W WO2008084016A1 WO 2008084016 A1 WO2008084016 A1 WO 2008084016A1 EP 2008050072 W EP2008050072 W EP 2008050072W WO 2008084016 A1 WO2008084016 A1 WO 2008084016A1
Authority
WO
WIPO (PCT)
Prior art keywords
circuit
capacitive element
counter
count
transistor
Prior art date
Application number
PCT/EP2008/050072
Other languages
English (en)
Inventor
Jean-Louis Modave
Thierry Huque
Original Assignee
Proton World International N.V.
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 Proton World International N.V. filed Critical Proton World International N.V.
Priority to CN2008800017151A priority Critical patent/CN101611414B/zh
Priority to EP08701252A priority patent/EP2108163A1/fr
Priority to JP2009544414A priority patent/JP5070297B2/ja
Priority to US12/521,772 priority patent/US8566931B2/en
Publication of WO2008084016A1 publication Critical patent/WO2008084016A1/fr

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0806Details of the card
    • G07F7/0813Specific details related to card security
    • G07F7/082Features insuring the integrity of the data on or in the card
    • GPHYSICS
    • G04HOROLOGY
    • G04FTIME-INTERVAL MEASURING
    • G04F10/00Apparatus for measuring unknown time intervals by electric means
    • G04F10/10Apparatus for measuring unknown time intervals by electric means by measuring electric or magnetic quantities changing in proportion to time
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/343Cards including a counter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4016Transaction verification involving fraud or risk level assessment in transaction processing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/20Address safety or protection circuits, i.e. arrangements for preventing unauthorized or accidental access
    • 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/004Countermeasures against attacks on cryptographic mechanisms for fault attacks
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B41/00Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates
    • H10B41/30Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by the memory core region
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B41/00Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates
    • H10B41/30Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by the memory core region
    • H10B41/35Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by the memory core region with a cell select transistor, e.g. NAND
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B69/00Erasable-and-programmable ROM [EPROM] devices not provided for in groups H10B41/00 - H10B63/00, e.g. ultraviolet erasable-and-programmable ROM [UVEPROM] devices

Definitions

  • the present invention generally relates to electronic circuits and, more particularly, the protection of information contained in an electronic circuit against fraud attempts to discover this information.
  • the information may be digital quantities supposed to remain secret (that is to say within the elec ⁇ tronic circuit), such as access passwords or codes, or specific steps of algorithms and more generally, any digital information that is not supposed to be communicated in an uncontrolled manner.
  • an electronic circuit When an electronic circuit is likely to manipulate information that is not supposed to be disseminated in an uncontrolled manner, it is equipped with software and / or hardware mechanisms for detecting and protecting against attempts to attack this information. Among these attacks, attacks disrupt the operation of the electronic circuit (for example, the attacks known under the name Differential Fault Analysis - DFA) or consist in cutting the power supply of the electronic circuit.
  • DFA Differential Fault Analysis - DFA
  • the follow-up to give to a malfunction may be different depending on whether it is an attack or an accidental malfunction.
  • the present invention aims to overcome all or part of the disadvantages of the information protection mechanisms contained in an electronic circuit.
  • One embodiment aims to allow different actions between accidental malfunctions and malfunctions that may be fraudulent.
  • One embodiment aims at a solution compatible with the current manufacturing technologies of integrated circuits and EEPROM memories.
  • the present invention provides a method of protecting information contained in an electronic circuit against a disturbance of its operation, wherein a detection of a disturbance conditions the increment or the decrement of a counter on at least one bit, the counter being reset automatically after a period independent of the fact that the circuit is powered or not.
  • the counter is designed as at least one charge-retaining circuit comprising at least one capacitive element having a leak through its dielectric space.
  • a passage of a bit of said counter in an active state is caused by an injection or extraction of charges in said first capacitive element.
  • a test of the value of said counter is performed before any execution of a process considered as sensitive from the point of view of the information to be protected.
  • said test causes, if a threshold is exceeded, an action permanently blocking at least access to said process and, preferably, the operation of the circuit.
  • said counter is on several bits, the result of said test being provided directly by the state of one of the bits.
  • an incrementation or decrementation of said counter forces the circuit to perform said test.
  • said counter is incremented or decremented before a process considered sensitive from the point of view of the information to be protected, then decremented, respectively incremented, at the end of the process if no disturbance has been detected during the process. execution of the process.
  • One embodiment provides an electronic circuit capable of implementing the method and wherein the or each charge retention circuit comprises: at least one first capacitive element of which a first electrode is connected to a floating node; at least one second capacitive element of which a first electrode is connected to said floating node, the second capacitive element having a capacity greater than the first; and at least a first isolated control terminal transistor connected to said floating node.
  • at least one third capacitive element has a first electrode connected to said floating node and a second electrode connectable to a voltage source.
  • the circuit is implanted in an array of EEPROM type memory cells each comprising a selection transistor in series with a floating gate transistor, and in which, on the same row of memory cells whose respective floating gates transistors of the cells are interconnected: the first capacitive element comprises a first subset of at least one first cell whose thickness of the dielectric of the tunnel window of the floating gate transistor is lower than that of the other cells; the second capacitive element comprises a second subset of at least one second cell whose drain and source of the floating gate transistor are interconnected; the third capacitive element comprises a third subset of at least one third cell; and the first transistor has a fourth subset of at least one fourth cell whose tunnel window is suppressed.
  • FIG. 1 represents a smart card of the type to which the present invention applies by way of example;
  • FIG. 1 represents a smart card of the type to which the present invention applies by way of example;
  • FIG. 2 represents an electronic circuit of the type to which the present invention applies by way of example;
  • Figure 3 illustrates an attack by power interruption of a smart card;
  • 4 shows, schematically and in block form, an embodiment of an elec tronic ⁇ circuit;
  • Figure 5 is a simplified block diagram of a first phase of the protection method according to an embodiment;
  • Figure 6A is a simplified block diagram of a second phase of the protection method according to an embodiment;
  • Figure 6B is a simplified block diagram of a second phase of the protection method according to another embodiment;
  • FIG. 7 very schematically shows in the form of blocks an embodiment of an event counter used by the implementations illustrated in FIGS. 5, 6A and 6B;
  • FIG. 8 represents an embodiment of an electronic charge retention circuit;
  • FIGS. 9 is a current-voltage graph illustrating the operation of the circuit of Fig. 8;
  • Figure 10 is a timing diagram illustrating the operation of the circuit of Figure 8;
  • Fig. 11 shows another embodiment of a charge retention circuit in an exemplary environment;
  • Fig. 12 is a current-voltage graph illustrating the operation of the circuit of Fig. 11;
  • FIGS. 13A, 13B and 13C are respectively a view from above, a sectional view in a first direction and the equivalent electric diagram of an embodiment of a electronic circuit for retaining charges from EEPROM cells;
  • FIGS. 14A, 14B and 14C are respectively a view from above, a sectional view along a second direction and the equivalent electric diagram of a first element of the circuit of FIGS.
  • Figures 15A, 15B and 15C are respectively a top view, a sectional view along the second direction and the equivalent electrical diagram of a second element of the circuit of Figures 13A to 13C;
  • Figures 16A, 16B and 16C are respectively a top view, a sectional view along the second direction and the equivalent electrical diagram of a third element of the circuit of Figures 13A to 13C;
  • Figs. 17A, 17B and 17C are respectively a top view, a sectional view along the second direction and the equivalent electric diagram of a fourth element of the circuit of Figs. 13A to 13C.
  • FIG. 1 schematically represents a smart card 1 of the type to which, by way of example, the present invention.
  • a card consists of a support, generally made of plastic, on or in which are inset one or more electronic circuits 10.
  • the circuit 10 is able to communicate with a terminal by means of contacts 2 and / or without contact (transmission radio frequency or by modulating an electromagnetic field of a terminal).
  • FIG. 2 very schematically shows in the form of blocks an electronic circuit 10 (for example of a smart card 1 of FIG. 1) of the type to which the present invention applies by way of example.
  • the circuit 10 comprises, inter alia, a digital processing unit 11 (for example, a central processing unit - CPU), one or more memories 12 (MEM) among which at least one non-volatile memory (for example of the EEPROM type) and an input / output (I / O) circuit 13 for communicating with the outside of the circuit (for connection to the contacts 2 or to an antenna).
  • the various elements internal to the circuit communicate with each other and with the interface 13 by one or more buses 14 of data, addresses and commands, as well as any direct links between some of these elements.
  • the circuit 10 can also integrate other software functions or mate ⁇ rial. These functions have been symbolized by a block 15 (FCT) in FIG.
  • FIG. 3 very schematically illustrates in the form of blocks an exemplary implementation of a so-called power cut-off attack of the integrated circuit 10 of a smart card 1.
  • the circuit 10 draws power from a terminal 20, for example, by means of contacts 21 provided in a slot 22 of the terminal 20 intended to receive, by introduction, a card 1.
  • the contacts 21 constitute not only contacts power supply but also data exchange contacts with the circuit 10 and are connected to an electronic device 23 of the terminal 20, powered by a Valim voltage (for example, by means of battery or power distribution network).
  • An attack by interrupting the supply of the smart card to cause an erroneous behavior thereof is, for example, to abruptly withdraw the card from the slot so as to interrupt its power supply during processing.
  • Such a power interruption can either be used directly to disrupt the operation of the card or, in more complex mechanisms, be used to avoid a countermeasure of the card aimed, after detection of an attempted fraud, to cause a registration in nonvolatile memory type EEPROM. Intervening on the power supply at the appropriate time avoids writing in this memory and can render ineffective the fault detection countermeasures.
  • an electronic circuit is not neces sarily ⁇ continuously powered and, in most cases, does not contain a battery to operate a time counter, so that such a time measurement problem. Moreover, even if it has a battery, it is likely to be discharged (voluntarily or not). In addition, in the case of a voluntary power failure (for example, by tearing the card of its reader), the event counter that could be stored in a non-volatile memory reprogrammable is difficult to update.
  • FIG. 4 very schematically shows, in block form, a view to be compared with FIG. 2, of an embodiment of an electronic circuit 10 '.
  • this circuit 10 comprises a processing unit 11 (CPU) capable of controlling its function ⁇ compassion, whether in hardware and / or software, one or more memories 12 (MEM) among which at least one non memory volatile reprogrammable, an input-output circuit (I / O) and various hardware or software functions symbolized by a block 15 (FCT) depending on the application.
  • CPU processing unit
  • MEM memories 12
  • I / O input-output circuit
  • FCT hardware or software functions symbolized by a block 15 (FCT) depending on the application.
  • the circuit 10 ' also comprises at least one charge retention circuit 100 (TK) whose charge level changes with time, even when the circuit 10' is not powered.
  • TK charge retention circuit 100
  • circuits 100 will be described later in connection with FIGS. 8 and following.
  • a circuit 100 is capable of being programmed or activated (placed in a state arbitrarily noted as 1) by injection or extraction of charges in a capacitive element which leaks through its dielectric space, so that its active state disappears (the element back to state 0) after a given time, regardless of the possible power supply of the circuit.
  • Such a charge retention circuit is used to store at least one state indicative of suspicious behavior of the electronic circuit 10.
  • FIG. 5 illustrates, in a simplified block diagram, a mode of implementation of a first phase of a protection mechanism.
  • the central unit 11 starts by checking (block 32, COUNT ⁇ TH?) The state of a counter COUNT with respect to a threshold TH.
  • the counter COUNT represents the number of malfunctions detected and stored in the one or more charge retention circuits 100 of the circuit 10 '. If the number of malfunctions exceeds the threshold
  • N output of block 32 the electronic circuit stops (block 33, STOP).
  • STOP the electronic circuit stops
  • a countermeasure adapted to fraudulent behavior is taken. For example, applications that are considered sensitive from the point of view of the security of the information they handle are inaccessible.
  • FIG. 6A illustrates, by a simplified block diagram, a first embodiment of a second phase of the protection mechanism.
  • the protection mechanism then causes either the stop (block 43, STOP) or a reset (block 43, RESET) of the electronic circuit 10 '.
  • this is not the usual countermeasure when an attempted fraud is detected, but a treatment requiring circuit to go through the phase described in relation to Figure 5 before any sensitive process continuation.
  • the counter COUNT resets automatically and independently of the power supply of the electronic circuit 10 '. Therefore, it is now possible to trigger a countermeasure dedicated to a supposedly fraudulent behavior by counting the number of malfunctions over a given period.
  • a single-bit counter is sufficient to trigger the shutdown of the circuit. It is then a systematic blocking for a given duration at each malfunction. Since an accidental malfunction is not expected to occur with the same frequency, resetting the bit allows a restart while a new attack will block the circuit again.
  • FIG. 6B illustrates, by a simplified functional diagram, another embodiment of a second phase of the protection mechanism.
  • This mode of implementation is more particularly intended for malfunctions likely to prevent an update of a non-volatile memory, in particular an EEPROM. It is therefore, for example, to protect against attacks by tearing or more generally attacks where the fraudster monitors any detections of his attacks by the circuit to prevent subsequent writes in non-volatile memory.
  • the first phase ( Figure 5) can play its role at the next execution.
  • the process 45 is a process considered sensitive, the first phase is in fact preferably implemented before each execution (before or after update 42).
  • the two modes of implementation of the second phase are combinable with each other and / or with other countermeasures.
  • FIG. 7 very schematically shows in the form of blocks an example of a counting circuit 50.
  • a counting circuit 50 containing n electronic charge retention circuits 10OQ, 100 ] _, ..., 10O n each storing a bit BQ, B ] _, ..., B n COUNT counter.
  • the circuit 50 is preferably controlled by an internal circuit 51 (CTRL) causing, as will be better understood later in connection with FIGS. 8 and following, the incrementation of the counter following a malfunction detection (INC input of the block 50), as well as reading the status of one or more bits of the counter.
  • CTRL internal circuit 51
  • the highest rank bit B n defines the threshold TH. Indeed, a change of state of this bit represents an overflow with respect to the count 2 - 1. The reading of this single bit is then sufficient to provide an OK / NOK signal indicating the result of the test 32 (FIG. 5).
  • One advantage of such an overflow comparison is that it makes the same hardware realization of the versatile circuit 50. Indeed, the threshold TH can then be easily adapted regardless of the number of structural bits of the counter 50 by selecting the one of the counter bits to be taken into account to provide the OK / NOK result of the test 32.
  • Different thresholds can be chosen depending on the type of alarm detected. For example, if it is an unexpected sequence of operations (highly likely to be also accidental) a blocking of relatively short duration (for example, a few hours may suffice). On the other hand, if it is a card reset detection (by cutting off its power supply), then a duration of the order of one week can be provided in order to discourage a potential fraudster.
  • One advantage is to separate accidental malfunctions from fraudulent malfunctions of an integrated circuit and to take appropriate measures.
  • Another advantage is the compatibility with any mode of detecting a malfunction, including when this detection is itself detected by the fraudster who then cuts the power to avoid a countermeasure.
  • the solution exposed is compatible with the usual countermeasures (for example, a definitive blocking) of the electronic circuit. Only the triggering of this countermeasure is then deferred when the TH threshold is exceeded, thus making it possible to separate accidental malfunctions from fraudulent malfunctions (or sufficiently repetitive so that it is considered preferable to block the circuit).
  • FIG. 8 represents a preferred example of a charge retention circuit 100.
  • the circuit 100 comprises a first capacitive element C1 whose first electrode 121 is connected to a floating node F and whose dielectric space 123 is designed (by its permittivity and / or by its thickness) to exhibit significant leakage over time .
  • Floating node F is understood to mean a node not directly connected to any diffused region of the semiconductor substrate in which circuit 100 (and circuit 10 ') is preferably produced and, more particularly, separated by a dielectric space from any terminal of application of potential.
  • the second electrode 122 of the capacitive element C1 is either connected (dotted in FIG. 2) to a terminal 112 intended to be connected to a reference potential (for example the ground), or left in the air.
  • a second capacitive element C2 has a first electrode 131 connected to the node F and a second electrode 132 connected to the terminal 112.
  • the capacitive element C2 has a higher charge retention capacity than the capacitive element C1.
  • a third capacitive element C3 has a first electrode 141 connected to the node F and a second electrode 142 connected to a terminal 113 of the circuit 100, for connection to a power source during an initiated ⁇ lisation of a charge retention phase (activation of the bit stored in state 1).
  • a role of the capacitive element C2 is to store an electric charge.
  • a role of the capacitive element C1 is to relatively slowly discharge the storage element C2 (relative to a direct connection of its electrode 131 to ground) through a leakage through its dielectric space.
  • the presence of the capacitive element C2 makes it possible to separate the level of charge present in the circuit 100 with respect to the discharge element (capacitor C1).
  • the thickness of the dielectric of the element C2 is greater than that of the element C1.
  • the capacitance of the element C2 is greater, preferably in a ratio of at least 10, than that of the element C2.
  • a role of the capacitive element C3 is to allow a charge injection into the capacitive element C2 by the Fowler-Nordheim effect or by a hot electron injection phenomenon.
  • the element C3 makes it possible to avoid the stresses (stress) on the element C1 when the elements C2 and C1 are loaded in parallel.
  • the thickness of the dielectric space of the element C3 is greater than that of the element C1, so as to avoid introducing a parasitic leakage path.
  • the node F is connected to a gate G of an insulated control terminal transistor (for example, a MOS transistor 150) whose conduction terminals (drain D and source S) are connected to output terminals 114 and 115 for measure the residual charge contained in the element C2 (neglecting the capacity of the element C1 in parallel).
  • an insulated control terminal transistor for example, a MOS transistor 150
  • the terminals 114 and 115 for measure the residual charge contained in the element C2 (neglecting the capacity of the element C1 in parallel).
  • the terminal 114 is connected to a current source (not shown) allowing a current-voltage conversion of the drain current I ] _ ] _4 in the transistor 150.
  • the thickness of the gate dielectric of transistor 150 is greater than that of the dielectric of element C1 so as to avoid introducing an additional leak on node F.
  • the gate thickness of transistor 150 is even greater. to the thickness of the dielectric of the element C3, so as to avoid introducing a parasitic path of programming (injection or extraction of loads from the node F).
  • the interpretation of the stored level can be carried out simply by means of a comparator whose switching takes place as long as the load of the node F remains sufficient.
  • the level for which the comparator switches then defines the level of change of state of the bit stored by the element 100.
  • Other reading solutions can be envisaged, for example a multilevel interpretation in an embodiment where the circuit 100 stores directly several bits.
  • FIG. 9 shows a current pace of example I] _] _4 transistor drain 150 according to the voltage Vp at node F, referenced with respect to terminal 115.
  • the voltage Vp then expresses the gate / source voltage of the transistor 150. It depends on the residual load across capacitors C1 and C2 in parallel, so essentially the residual charge in capacitor C2.
  • the evaluation of the drain current I] _] _4 can be performed by maintaining terminals 112 and 115 at the same potential (e.g. ground) and by applying a known voltage on terminal 114.
  • Figure 10 illustrates the evolution of the load Qp at point F as a function of time.
  • the charge Q starts from an initial value Q INIT T o cancel an instant t with a capacitive discharge speed.
  • the time interval between the times t0 and t1 depends not only on the leakage capacity of the dielectric of the element C1 but also on the value (therefore of the storage capacity) of the element C2 which conditions the value QINIT- Assuming that the terminals 112 and 115 and the second electrode 122 of the capacitive element C1 are at reference potentials and that the terminal 114 is biased to a determined level so that a variation of the current I114 only comes from a variation of the potential of the node F, this variation then depends only on the time elapsed since the instant t0.
  • This result is, in the embodiment shown, obtained through the dissociation operated between the time leakage element (C1) and the representative element of the residual charge (C2).
  • the retention time can be adapted not only by adjusting the thicknesses and / or permittivities of the dielectrics of the elements C1 and C2 but also by providing several elements C1 and / or C2 in parallel.
  • Fig. 11 shows the wiring diagram of another embodiment of a charge retention circuit 100 '.
  • the transistor 150 is replaced by a floating gate transistor FG connected to the node F.
  • the control gate CG of the transistor 160 is connected to a load control terminal 116. residual in the circuit 100 '(thus the state of the bit stored).
  • the thickness of the dielectric, between the floating gate FG and the channel (active zone) of the transistor 160, is greater than that of the element C1 and preferably greater than that of the element C3.
  • the charge injection or extraction element C3 is a floating gate MOS transistor 170.
  • the floating gate 141 of transistor 170 is connected to node F.
  • the circuit has been represented in part of its environment.
  • the drain 142 of the transistor 170 is connected to a current source 118 receiving a supply voltage Valim and its source 173 is connected to ground.
  • Its control gate 174 receives a control signal CTRL intended to make transistor 170 turn on when there is a need for charge injection.
  • the drain (terminal 114) of the transistor 160 receives the supply voltage Valim and its source is connected to ground by a current source 119 (variant inverted with respect to the embodiment described in connection with Figure 8).
  • the voltage V ] _ ] _g across the current source 119 is representative of the voltage at the point F and is used to switch the output of a comparator (not shown).
  • FIG. 12 illustrates, by a graph of the current I ] _i4 as a function of the voltage V ] _ ] _g applied to the control gate, the operation of the circuit of FIG. 11.
  • the voltage at the drain and source terminals 114 of the transistor 160 is kept constant by the external reading circuit.
  • the voltage drop between the floating gate and the terminal 115 then depends on the electrical load present at the node F, the total capacitance between the nodes F and 112 (essentially the capacitors C1 and C2), and the voltage applied to the gate 116 of the transistor 160.
  • three curves a, b and c have been illustrated. Curve a represents the case where node F is fully discharged.
  • Curve b represents the case of a positive charge present on the node F (electron extraction).
  • the threshold of the transistor 160 is then lowered.
  • the curve c represents the case of a negative charge at the node F (electron injection) which generates an upper threshold for the MOS transistor 160.
  • it will be possible to inject or extract charges from the node F so as to modify the characteristic of transistor 160 from curve a to one of curves b and c.
  • the leakage of the capacitance C1 makes it possible to regain the curve a with time.
  • a measurement of the current I ] _i4 (therefore of the voltage V ] _ ] _g) with voltage V ] _ ] _g zero allows to detect an expiration of time (reset ⁇ lisation of the bit to zero) when the current I114 is canceled.
  • a charge retention circuit is produced with the following values:
  • Capacity C3 1 fF, dielectric thickness: 80 A.
  • Such a circuit can be initialized by applying a voltage of the order of 12 volts and is discharged after about a week. This is of course only one example, the dielectric thicknesses and the possible parallel association of several elements C1 or C2 conditioning the charge retention time.
  • 15C, 16A, 16B, 16C, 17A, 17B and 17C show an exemplary circuit 100 'according to the embodiment of FIG. 11 in an integrated structure, derived from a memory architecture
  • FIGS. 13A, 14A, 15A, 16A and 17A are diagrammatic top views, respectively, of the electronic charge retention circuit and its elements C2, 170, C1 and 160.
  • Figure 13B is a section along the line AA 'of Figure 13A.
  • FIGS. 14B, 15B, 16B and 17B are respectively sectional views along the lines BB 'of FIGS. 14A, 15A, 16A and 17A.
  • FIGS. 13C, 14C, 15C, 16C and 17C represent the respective equivalent electrical diagrams of the electronic charge retention circuit and its elements C2, 170, C1 and 160.
  • Each element or cell C2, 170, C1 or 160 is obtained from a floating gate transistor connected in series with a selection transistor T2, T3, T1 or T4 with a single gate for selecting, for example, in a matrix network of EEPROM memory cells, the electronic circuit of charge retention.
  • the floating gates of the different transistors forming elements C2, 170, Cl 160 and are connected inter ⁇ (conductive line 184) to form the floating node F.
  • Their control gates are connected to a conductive line 185 of application of the signal CG read command.
  • Their respective sources SC2, S7, SC1 and S6 are interconnected to terminal 112 (ground) and their respective drains DC2, D7, DC1 and D6 are connected to the respective sources of selection transistors T2, T3, T1 and T4.
  • the gates of transistors T1 to T4 are connected together to a conductive line 186 for applying a circuit select signal SEL.
  • Their respective drains D1 to D4 are connected to individually controllable bit lines BL1 to BL4.
  • the order of the bit lines in FIG. 13C has been arbitrarily illustrated BL2, BL3, BL1 and BL4 but the order of the different elements C2, 170, C1 and 160 in the horizontal direction of the rows (in the orientation of the lines). figures) is indifferent.
  • source and drain regions of type N are assumed (FIG. 13B) separated from each other. other in the direction of the lines by insulating areas 181.
  • the floating gates are made in a first conductive level Ml separated from the active regions by an insulating level 182 and the control gates are made in a second conductive level M2 separated from the first by a third level insulator 183.
  • the gates of the selection transistors are made, for example, in the M2 level.
  • FIGS. 14A to 14C illustrate the embodiment of storage capacitor C2.
  • the drain DC2 and source SC2 of the corresponding floating gate transistor are short-circuited (by extension of the N + type implantation throughout the active area, FIG. 14B) to form the electrode 132 of the capacitor.
  • the tunnel window is eliminated compared to a standard EEPROM cell.
  • FIGS. 15A to 15C illustrate the embodiment of the transistor 170 forming the programming capacitive element C3.
  • This is a standard EEPROM cell whose extension 201 of the N-doped zone under the tunnel window 202 (FIG. 15B) makes it possible to obtain a plateau in the charge injection zone.
  • the drain zone D7 is connected to the source of the selection transistor T3.
  • the source zone S7 is connected to the terminal 112.
  • FIGS. 16A to 16C illustrate the embodiment of the capacitive element C1 constituting the leakage element of the charge retention circuit.
  • a difference consists in thinning (zone 212, FIG. 16B) the dielectric window used for the tunnel effect to increase the leaks.
  • the thickness of the dielectric 212 is chosen to be about half (for example, between 30 and 40 angstroms) of that (for example, between 70 and 80 angstroms) of a tunnel window (202, Fig. 15B) of an unmodified cell.
  • 17A to 17C illustrate the forming of read transistor 160 wherein the tunnel window has been deleted as well as, preferably, the implanted zone habi ⁇ tual (201, 15B) of an EEPROM cell.
  • the active zone bounded by the sources S6 and drain D6 is therefore similar to that of a normal MOS transistor.
  • FIGS. 13A to 17C are diagrammatic and may be adapted to the technology used.
  • the grids have been shown aligned with the boundaries of the drain and source areas but a slight overlap is often present.
  • An advantage of the embodiment by means of a techno logy ⁇ EEPROM cell is that the charge retention circuit can be set and reset by applying the same voltage levels and the same time slots as used for erase or write in EEPROM memory cells.
  • Another advantage is that it preserves stability over time by avoiding degradation of the thin oxide of the leakage element (Cl) during successive writing operations.
  • bit lines BL1 to BL4 depend on the operating phases of the circuit and in particular on the programming (activation) or reading phase.
  • Table I illustrates a mode of implementation of an activation (SET) and a reading (READ) of an electronic charge retention circuit as illustrated by FIGS. 13A to 17C.
  • the selection signal SEL is brought to a first high potential VPP 1 with respect to the ground to make the different transistors T1 to T4 go through while the CG signal applied to the control gates of the floating gate transistors remains at the low level 0 so as not to turn on the transistor 160.
  • the bit lines BL1, BL2 and BL4 remain in the air (state of high impedance HZ) while the line BL3 is applied a positive potential Vpp 2 allowing the charge of the floating node F.
  • the line 112, common sources of floating gate transistors, is preferably left in the air HZ.
  • the different selection transistors are activated by the signal SEL at a level Vg Elj and a voltage VpEAO ⁇ e reading is applied to the control gates of the different floating gate transistors.
  • the lines BL1, BL2 and BL3 are in a state of high impedance HZ while the line BL4 receives a potential V 114 for supplying the source of read current.
  • Line 112 is here connected to ground.
  • VPP 1, VPP 2, V SEL 'V READ V and 114 thereof "t, preferably the following: 1 VPP VPP higher than 2; V SEL greater than Vp ⁇ 0;
  • VPP 1 14 volts
  • VPP 2 12 volts
  • V SEL 4 volts
  • EEPROM cell per element of the charge retention circuit can of course be replaced by a structure in which subsets of several identical cells in parallel are used for the different respective elements.
  • several elements C2 can be used in parallel to increase the capacity of the node F so as to increase the discharge time of the electronic circuit;
  • several elements 170 may be used in parallel to increase the injection or electron extraction speed at node F during programming;
  • several leakage elements C1 can be used in parallel to reduce the discharge time of the system; and / or a plurality of read elements 160 may be introduced in parallel to provide a higher current when evaluating the circuit.
  • An electronic charge retention circuit can be introduced into any position of a standard EEPROM memory cell network, which makes it more difficult for its location to be found by a malicious user.
  • the selection transistors of the cells forming the charge retention circuit are shared with normal EEPROM cells on the same bit lines, by providing suitable addressing and switching means.
  • the present invention is susceptible of various variations and modifications which will be apparent to those skilled in the art.
  • the charge retention circuit may be constituted by any circuit likely to reproducibly present a pressure drop over time independently of the power supply of the circuit.
  • a circuit as described in international application WO-A-03/083769 may be used.
  • the counters can be of any kind and the counting function can be any increment or decrement.
  • the counting function can be any increment or decrement.
  • the invention can be implemented in contactless devices (transponder type elec ⁇ tromagnographic) which derive their power of an electro magnetic field ⁇ wherein they find (generated by a terminal).

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Accounting & Taxation (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Finance (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Semiconductor Memories (AREA)

Abstract

L'invention concerne un procédé et un circuit de protection d'informations contenues dans un circuit électronique contre une perturbation de son fonctionnement, dans lequel une détection d'une perturbation conditionne l'incrément ou le décrément (47) d'un compteur (COUNT) sur au moins un bit, le compteur étant réinitialisé automatiquement au bout d'une durée indépendante du fait que le circuit soit alimenté ou non.

Description

PROTECTION D'INFORMATIONS CONTENUES DANS UN CIRCUIT ELECTRONIQUE
Domaine de l'invention
La présente invention concerne de façon générale les circuits électroniques et, plus particulièrement, la protection d'informations contenues dans un circuit électronique contre des tentatives de fraudes visant à découvrir ces informations . Les informations peuvent être des quantités numériques censées rester secrètes (c'est-à-dire à l'intérieur du circuit élec¬ tronique), par exemple des codes d'accès ou des mots de passe, ou des étapes particulières d'algorithmes et, plus généralement, toute information numérique censée ne pas être communiquée de façon non contrôlée.
La présente invention sera décrite par la suite en relation avec un exemple d'application à des cartes à puce mais elle s'applique plus généralement à tout circuit électronique contenant des informations à diffusion contrôlée, que ce circuit soit sur une carte à puce, isolé, ou monté sur une carte électronique d'un appareil plus complexe. Exposé de l'art antérieur
Lorsque qu'un circuit électronique est susceptible de manipuler des informations qui ne sont pas censées être diffusées de façon incontrôlée, il est équipé de mécanismes logiciels et/ou matériels de détection et de protection contre différentes tentatives d'attaque visant à pirater ces informations. Parmi ces attaques, des attaques perturbent le fonctionnement du circuit électronique (par exemple, les attaques connues sous la dénomination Différential Fault Analysis - DFA) ou consistent à couper l'alimentation du circuit électronique.
Un problème des mécanismes actuels de protection qu'ils soient logiciels ou matériels est qu'il est difficile de distinguer une tentative de fraude d'une perturbation accidentelle. Or, la suite à donner à un dysfonctionnement peut être différente selon qu'il s'agit d'une attaque ou d'un dysfonctionnement accidentel. Dans le premier cas, il convient généralement de bloquer le fonctionnement du circuit électro¬ nique afin d'éviter la sortie d'informations censées rester confidentielles. Dans le second cas, il peut être souhaitable d'autoriser un redémarrage du circuit. Résumé de l' invention
La présente invention vise à pallier tout ou partie des inconvénients des mécanismes de protection d'informations contenues dans un circuit électronique.
Un mode de réalisation vise à permettre des actions différentes entre des dysfonctionnements accidentels et des dysfonctionnements susceptibles d'être frauduleux.
Un mode de réalisation vise une solution compatible avec les technologies de fabrication actuelles des circuits intégrés et des mémoires EEPROM.
Pour atteindre tout ou partie de ces objets ainsi que d'autres, la présente invention prévoit un procédé de protection d'informations contenues dans un circuit électronique contre une perturbation de son fonctionnement, dans lequel une détection d'une perturbation conditionne l'incrément ou le décrément d'un compteur sur au moins un bit, le compteur étant réinitialisé automatiquement au bout d'une durée indépendante du fait que le circuit soit alimenté ou non. Selon un mode de mise en oeuvre, le compteur est réalisé sous la forme d'au moins un circuit de rétention de charges comportant au moins un premier élément capacitif présentant une fuite au travers de son espace diélectrique. Selon un mode de mise en oeuvre, un passage d'un bit dudit compteur dans un état actif est provoqué par une injection ou extraction de charges dans ledit premier élément capacitif.
Selon un mode de mise en oeuvre, un test de la valeur dudit compteur est effectué avant toute exécution d'un processus considéré comme sensible du point de vue des informations à protéger.
Selon un mode de mise en oeuvre, ledit test provoque, en cas de dépassement d'un seuil, une action bloquant de façon durable au moins l'accès audit processus et, de préférence, le fonctionnement du circuit.
Selon un mode de mise en oeuvre, ledit compteur est sur plusieurs bits, le résultat dudit test étant fourni directement par l'état d'un des bits.
Selon un mode de mise en oeuvre, une incrémentation ou décrémentation dudit compteur force le circuit à effectuer ledit test.
Selon un mode de mise en oeuvre, ledit compteur est incrémenté ou décrémenté avant un processus considéré comme sensible du point de vue des informations à protéger, puis décrémenté, respectivement incrémenté, en fin de processus si aucune perturbation n'a été détectée pendant l'exécution du processus.
Un mode de réalisation prévoit un circuit électronique apte à mettre en oeuvre le procédé et dans lequel le ou chaque circuit de rétention de charges comporte : au moins un premier élément capacitif dont une première électrode est connectée à un noeud flottant ; au moins un deuxième élément capacitif dont une première électrode est connectée audit noeud flottant, le deuxième élément capacitif ayant une capacité supérieure au premier ; et au moins un premier transistor à borne de commande isolée et connectée audit noeud flottant. Selon un mode de réalisation, au moins un troisième élément capacitif a une première électrode reliée audit noeud flottant et une deuxième électrode connectable à une source de tension.
Selon un mode de réalisation, le circuit est implanté dans un réseau de cellules mémoire de type EEPROM comportant chacune un transistor de sélection en série avec un transistor à grille flottante, et dans lequel, sur une même rangée de cellules mémoire dont les grilles flottantes respectives des transistors des cellules sont interconnectées : le premier élément capacitif comporte un premier sous- ensemble d'au moins une première cellule dont l'épaisseur du diélectrique de la fenêtre tunnel du transistor à grille flottante est inférieure à celle des autres cellules ; le deuxième élément capacitif comporte un deuxième sous-ensemble d'au moins une deuxième cellule dont les drain et source du transistor à grille flottante sont interconnectés ; le troisième élément capacitif comporte un troisième sous-ensemble d'au moins une troisième cellule ; et le premier transistor comporte un quatrième sous- ensemble d'au moins une quatrième cellule dont la fenêtre tunnel est supprimée.
Brève description des dessins
Ces objets, caractéristiques et avantages, ainsi que d'autres de la présente invention seront exposés en détail dans la description suivante de modes de mise en oeuvre et de réalisation particuliers faite à titre non-limitatif en relation avec les figures jointes parmi lesquelles : la figure 1 représente une carte à puce du type auquel s'applique à titre d'exemple la présente invention ; la figure 2 représente un circuit électronique du type auquel s'applique à titre d'exemple la présente invention ; la figure 3 illustre une attaque par interruption d'alimentation d'une carte à puce ; la figure 4 représente, de façon schématique et sous forme de blocs, un mode de réalisation d'un circuit élec¬ tronique ; la figure 5 est un schéma fonctionnel simplifié d'une première phase du procédé de protection selon un mode de mise en oeuvre ; la figure 6A est un schéma fonctionnel simplifié d'une deuxième phase du procédé de protection selon un mode de mise en oeuvre ; la figure 6B est un schéma fonctionnel simplifié d'une deuxième phase du procédé de protection selon un autre mode de mise en oeuvre ; la figure 7 représente, de façon très schématique et sous forme de blocs, un mode de réalisation d'un compteur d'événements utilisé par les mises en oeuvre illustrées aux figures 5, 6A et 6B ; la figure 8 représente un mode de réalisation d'un circuit électronique de rétention de charges ; la figure 9 est un graphe courant-tension illustrant le fonctionnement du circuit de la figure 8 ; la figure 10 est un chronogramme illustrant le fonctionnement du circuit de la figure 8 ; la figure 11 représente un autre mode de réalisation d'un circuit de rétention de charges dans un exemple d'environnement ; la figure 12 est un graphe courant-tension illustrant le fonctionnement du circuit de la figure 11 ; les figures 13A, 13B et 13C sont respectivement une vue de dessus, une vue en coupe selon une première direction et le schéma électrique équivalent d'un mode de réalisation d'un circuit électronique de rétention de charges à partir de cellules EEPROM ; les figures 14A, 14B et 14C sont respectivement une vue de dessus, une vue en coupe selon une deuxième direction et le schéma électrique équivalent d'un premier élément du circuit des figures 13A à 13C ; les figures 15A, 15B et 15C sont respectivement une vue de dessus, une vue en coupe selon la deuxième direction et le schéma électrique équivalent d'un deuxième élément du circuit des figures 13A à 13C ; les figures 16A, 16B et 16C sont respectivement une vue de dessus, une vue en coupe selon la deuxième direction et le schéma électrique équivalent d'un troisième élément du circuit des figures 13A à 13C ; et les figures 17A, 17B et 17C sont respectivement une vue de dessus, une vue en coupe selon la deuxième direction et le schéma électrique équivalent d'un quatrième élément du circuit des figures 13A à 13C.
De mêmes éléments ont été désignés par de mêmes références aux différentes figures. Description détaillée
Par souci de clarté, seuls les éléments et étapes qui sont utiles à la compréhension de l'invention ont été représentés aux figures et seront décrits par la suite. En particulier, les mécanismes de détection de dysfonctionnements du circuit électronique, que ce soit par injection de fautes, par coupure de l'alimentation du circuit ou par tout autre moyen n'ont pas été détaillés, l'invention étant compatible avec tout mécanisme de détection connu. De même, l'exploitation faite d'un résultat d'une détection d'un dysfonctionnement considéré comme frauduleux au moyen de l'invention n'a pas non plus été détaillée, l'invention étant là encore compatible avec toute exploitation habituelle de ce genre de détection.
La figure 1 représente, de façon schématique, une carte 1 à puce du type auquel s'applique à titre d'exemple la présente invention. Une telle carte est constituée d'un support, généralement en matière plastique, sur ou dans lequel sont encartés un ou plusieurs circuits électroniques 10. Le circuit 10 est susceptible de communiquer avec un terminal au moyen de contacts 2 et/ou sans contact (transmission radioélectrique ou par modulation d'un champ électromagnétique d'un terminal).
La figure 2 représente, de façon très schématique et sous forme de blocs, un circuit électronique 10 (par exemple d'une carte à puce 1 de la figure 1) du type auquel s'applique à titre d'exemple la présente invention. Le circuit 10 comporte, entre autres, une unité de traitement numérique 11 (par exemple, une unité centrale de traitement - CPU) , une ou plusieurs mémoires 12 (MEM) parmi lesquelles au moins une mémoire non volatile (par exemple de type EEPROM) et un circuit 13 d'entrée/sortie (I/O) pour communiquer avec l'extérieur du circuit (pour connexion aux contacts 2 ou à une antenne) . Les différents éléments internes au circuit communiquent entre eux et avec l'interface 13 par un ou plusieurs bus 14 de données, d'adresses et de commande, ainsi que par d'éventuelles liaisons directes entre certains de ces éléments. Le circuit 10 peut également intégrer d'autres fonctions logicielles ou maté¬ rielles. Ces fonctions ont été symbolisées par un bloc 15 (FCT) en figure 2.
La figure 3 illustre, de façon très schématique et sous forme de blocs, un exemple de mise en oeuvre d'une attaque dite par coupure d'alimentation du circuit intégré 10 d'une carte à puce 1.
Par exemple, le circuit 10 tire son alimentation d'un terminal 20, par exemple, au moyen de contacts 21 prévus dans une fente 22 du terminal 20 destinée à recevoir, par introduction, une carte 1. Les contacts 21 constituent non seulement des contacts d'alimentation mais également des contacts d'échange de données avec le circuit 10 et sont reliés à un dispositif électronique 23 du terminal 20, alimenté par une tension Valim (par exemple, au moyen de batterie ou du réseau de distribution électrique) .
Une attaque par interruption de l ' alimentation de la carte à puce pour engendrer un comportement erroné de celle-ci consiste, par exemple, à retirer brusquement la carte de la fente de façon à interrompre son alimentation en cours de traitement. Une telle interruption d'alimentation peut soit servir directement à perturber le fonctionnement de la carte soit, dans des mécanismes plus complexes, être utilisée pour éviter une contremesure de la carte visant, après détection d'une tentative de fraude, à provoquer une inscription en mémoire non volatile de type EEPROM. Intervenir sur l'alimentation au moment propice permet d'éviter l'écriture dans cette mémoire et peut rendre inefficace les contremesures de détection de faute .
D'autres attaques consistent à perturber le fonctionnement du circuit électronique 10 de façon thermique, par rayonnement électromagnétique, par l'introduction forcée d'une ou plusieurs valeurs erronées, etc. Une différence entre les dysfonctionnements d'ordre accidentels et d'ordre frauduleux (ou du moins ceux dont il faut bloquer une répétition éventuelle) est leur fréquence (moyenne) d'apparition. Dans le cas d'une attaque par perturbation du fonctionnement du circuit, le fraudeur répète la perturbation jusqu'à obtenir les informations qu'il souhaite. De plus, cette répétition s'effectue sur un intervalle de temps relativement court pour que l'attaque lui soit profitable. Typiquement, on peut considérer qu'à partir de quelques dizaines de dysfonctionnements sur une durée de l'ordre d'une journée, il peut s'agir d'un comportement frauduleux du dispositif électronique ou d'un comportement qui, même s'il est accidentel, est suffisamment répétitif pour justifier un blocage du dispositif.
On pourrait donc envisager de compter le nombre de dysfonctionnements du dispositif électronique sur un temps donné pour différencier les dysfonctionnements accidentels des dysfonctionnements frauduleux.
Cependant, un circuit électronique n'est pas néces¬ sairement alimenté en permanence et, dans la plupart des cas, ne contient pas de batterie permettant de faire fonctionner un compteur temporel, de sorte qu'une telle mesure temporelle pose problème. De plus, même s'il dispose d'une batterie, celle-ci est susceptible d'être déchargée (volontairement ou non) . En outre, dans le cas d'une coupure volontaire de l'alimentation (par exemple, par arrachement de la carte de son lecteur), le compteur d'événements qui pourrait être stocké dans une mémoire non volatile reprogrammable est difficilement mis à jour.
La figure 4 représente, de façon très schématique et sous forme de blocs, par une vue à rapprocher de la figure 2, un mode de réalisation d'un circuit électronique 10'.
Comme précédemment, ce circuit 10' comporte une unité de traitement 11 (CPU) susceptible de contrôler son fonction¬ nement, que ce soit de façon matérielle et/ou logicielle, une ou plusieurs mémoires 12 (MEM) parmi lesquelles au moins une mémoire non volatile reprogrammable, un circuit 13 d'entrée- sortie (I/O) et diverses fonctions matérielles ou logicielles symbolisées par un bloc 15 (FCT) dépendant de l'application.
Selon ce mode de réalisation, le circuit 10' comporte également au moins un circuit 100 (TK) de rétention de charges dont le niveau de charge évolue avec le temps, même lorsque le circuit 10' n'est pas alimenté.
Des exemples détaillés de circuits 100 seront décrits ultérieurement en relation avec les figures 8 et suivantes. Pour l'instant, on se contente de noter qu'un circuit 100 est susceptible d'être programmé ou activé (placé dans un état noté arbitrairement 1) par injection ou extraction de charges dans un élément capacitif qui présente une fuite au travers de son espace diélectrique, de telle sorte que son état actif disparaît (l'élément rebascule vers l'état 0) au bout d'un temps donné, indépendamment de l'alimentation éventuelle du circuit. Un tel circuit de rétention de charges est mis en oeuvre pour stocker au moins un état indicateur d'un comportement suspect du circuit électronique 10.
La figure 5 illustre, par un schéma fonctionnel simplifié, un mode de mise en oeuvre d'une première phase d'un mécanisme de protection.
A chaque réinitialisation du circuit électronique 10' (bloc 31, RESET) ou à chaque démarrage d'un traitement considéré comme sensible du point de vue des informations qu'il manipule, l'unité centrale 11 commence par vérifier (bloc 32, COUNT < TH ?) l'état d'un compteur COUNT par rapport à un seuil TH. Le compteur COUNT représente le nombre de dysfonctionnements détectés et mémorisés dans le ou les circuits de rétention de charges 100 du circuit 10'. Si le nombre de dysfonctionnements excède le seuil
(sortie N du bloc 32), le circuit électronique s'arrête (bloc 33, STOP) . En variante, une contremesure adaptée à un comportement frauduleux est prise. Par exemple, les applications considérées comme sensibles du point de vue de la sécurité des informations qu'elles manipulent sont inaccessibles.
Tant que le seuil TH n'est pas atteint par le compteur (sortie Y du bloc 32), l'unité 11 autorise la poursuite du processus démarré (bloc 34, CONT) , typiquement, la poursuite du démarrage du circuit électronique 10'. La figure 6A illustre, par un schéma fonctionnel simplifié, un premier mode de mise en oeuvre d'une deuxième phase du mécanisme de protection.
A chaque détection (bloc 41, DETECT) d'un dysfonctionnement du circuit, le compteur COUNT est incrémenté (bloc 42, COUNT = COUNT+1) . Le mécanisme de protection provoque alors soit l'arrêt (bloc 43, STOP) soit une réinitialisation (bloc 43, RESET) du circuit électronique 10'. Toutefois, il ne s'agit pas de la contremesure habituellement prévue en cas de détection d'une tentative de fraude, mais d'un traitement obligeant le circuit à passer par la phase décrite en relation avec la figure 5 avant toute poursuite de processus sensible.
Grâce à l'utilisation d'un circuit de rétention de charges dont l'état activé disparaît au bout d'un temps donné, le compteur COUNT se réinitialise automatiquement et indépendamment de l'alimentation du circuit électronique 10'. Par conséquent, il est désormais possible de déclencher une contremesure dédiée à un comportement censé être frauduleux en comptant le nombre de dysfonctionnements sur une période donnée. Dans un mode de réalisation simplifié, un compteur sur un seul bit suffit à déclencher l'arrêt du circuit. Il s'agit alors d'un blocage systématique pendant une durée donnée à chaque dysfonctionnement. Comme un dysfonctionnement accidentel n'est pas censé se reproduire avec la même fréquence, la réinitialisation du bit permet un redémarrage alors qu'une nouvelle attaque bloquera de nouveau le circuit.
Dans tous les cas, un fraudeur éventuel se trouve découragé par l ' arrêt du circuit pendant une durée relativement longue par rapport au profit qu'il est susceptible d'en tirer. La figure 6B illustre, par un schéma fonctionnel simplifié, un autre mode de mise en oeuvre d'une deuxième phase du mécanisme de protection.
Ce mode de mise en oeuvre est plus particulièrement destiné aux dysfonctionnements susceptibles d'empêcher une mise à jour d'une mémoire non volatile, notamment une EEPROM. Il s'agit donc, par exemple, de protéger contre des attaques par arrachement ou plus généralement d'attaques où le fraudeur surveille les éventuelles détections de ses attaques par le circuit afin d'empêcher des écritures ultérieures en mémoire non volatile.
Avant ou au début (bloc 41', START) d'un processus considéré comme sensible du point de vue des informations manipulées, le compteur COUNT est incrémenté (bloc 42, COUNT = COUNT+1) . Puis, le processus habituel est mis en oeuvre (bloc 45, PROCESS) ou se poursuit avec ses contremesures habi- tuelles détectant des attaques. De telles contremesures peuvent vérifier l'exécution correcte d'un programme (l'absence d'interruption, la prise en compte de toutes les variables, le passage par des étapes données, l'absence de tentative de sortie de données, le temps d'exécution, etc.). Dans le cas où un dysfonctionnement est détecté, un bit (généralement un drapeau) ou un mot indicateur est mis à jour dans un élément de mémo¬ risation volatile (un registre, une adresse RAM, etc.). Dans les contremesures activant une écriture en mémoire non volatile en fin de processus, cet indicateur est habituellement utilisé pour conditionner cette écriture.
En fin de processus 45, le procédé de la figure 6B vérifie l'état de l'indicateur (bloc 46, DET = 0 ?) et plus généralement, si un dysfonctionnement s'est produit pendant l'exécution du processus 45. En l'absence de dysfonctionnement détecté (sortie Y du bloc 46) , le compteur COUNT est décrémenté (bloc 47, COUNT = COUNT-I). Puis, le cours normal de l'applica¬ tion se poursuit (bloc 43', CONT). En présence d'un dysfonc¬ tionnement détecté (sortie N du bloc 46), la mise à jour 47 du compteur COUNT n'est pas effectuée et l'application se poursuit directement.
Ainsi, la conséquence d'une action d'un fraudeur en fin de processus 45 pour éviter l'interprétation d'une détection de dysfonctionnement se traduit en fait par la prise en compte de ce dysfonctionnement. De plus, même en cas de coupure de l'alimentation, le compteur COUNT ayant été incrémenté avant le processus sensible, la première phase (figure 5) peut jouer son rôle à l'exécution suivante. Le processus 45 étant un processus considéré comme sensible, la première phase est en effet préfèrentiellement mise en oeuvre avant chaque exécution (avant ou après la mise à jour 42) .
Les deux modes de mise en oeuvre de la deuxième phase sont combinables entre eux et/ou avec d'autres contremesures.
La figure 7 représente, de façon très schématique et sous forme de blocs, un exemple de circuit 50 de comptage contenant n circuits électroniques de rétention de charges 10OQ, 100]_, ..., 10On stockant chacun un bit BQ, B]_, ..., Bn du compteur COUNT. Le circuit 50 est de préférence commandé par un circuit interne 51 (CTRL) provoquant, comme il sera mieux compris par la suite en relation avec les figures 8 et suivantes, l'incrémentation du compteur suite à une détection de dysfonctionnement (entrée INC du bloc 50) , ainsi que la lecture de l'état d'un ou plusieurs bits du compteur.
Dans l'exemple illustré par la figure 7, on suppose que le bit Bn de rang le plus élevé définit le seuil TH. En effet, un changement d'état de ce bit représente un débordement par rapport au compte 2 - 1. La lecture de ce seul bit suffit alors pour fournir un signal OK/NOK indicateur du résultat du test 32 (figure 5) . Un avantage d'une telle comparaison par débordement est qu'il rend une même réalisation matérielle du circuit 50 versatile. En effet, le seuil TH peut alors être aisément adapté quel que soit le nombre de bits structurels du compteur 50 en sélectionnant celui des bits du compteur à prendre en compte pour fournir le résultat OK/NOK du test 32.
Différents seuils peuvent être choisis en fonction du type d'alarme détecté. Par exemple, s'il s'agit d'une séquence de fonctionnement imprévue (fortement susceptible d'être également accidentelle) un blocage de durée relativement faible (par exemple, quelques heures peuvent suffire). Par contre, s'il s'agit d'une détection de réinitialisation de carte (par coupure de son alimentation), on peut alors prévoir une durée de l'ordre d'une semaine afin de décourager un fraudeur éventuel.
Un avantage est de dissocier les dysfonctionnements accidentels des dysfonctionnements frauduleux d'un circuit intégré et de prendre les mesures adaptées.
Un autre avantage est la compatibilité avec tout mode de détection d'un dysfonctionnement, y compris lorsque cette détection est elle-même détectée par le fraudeur qui coupe alors l'alimentation pour éviter une contremesure . Dans le cas d'un compteur sur plusieurs bits, la solution exposée est compatible avec les contremesures usuelles (par exemple, un blocage définitif) du circuit électronique. Seul le déclenchement de cette contremesure est alors différé au dépassement du seuil TH, permettant ainsi de dissocier les dysfonctionnements accidentels des dysfonctionnements frauduleux (ou suffisamment répétitifs pour que l'on considère préférable de bloquer le circuit) .
La figure 8 représente un exemple préféré d'un circuit de rétention de charges 100.
Le circuit 100 comporte un premier élément capacitif Cl dont une première électrode 121 est connectée à un noeud flottant F et dont l'espace diélectrique 123 est conçu (par sa permittivité et/ou par son épaisseur) pour présenter des fuites non négligeables dans le temps. Par noeud flottant F, on entend un noeud non directement connecté à une quelconque région diffusée du substrat semiconducteur dans lequel est réalisé préférentiellement le circuit 100 (et le circuit 10') et, plus particulièrement, séparé par un espace diélectrique de toute borne d'application de potentiel. La deuxième électrode 122 de l'élément capacitif Cl est, soit reliée (pointillés en figure 2) à une borne 112 destinée à être reliée à un potentiel de référence (par exemple la masse), soit laissée en l'air.
Un deuxième élément capacitif C2 a une première électrode 131 connectée au noeud F et une deuxième électrode 132 connectée à la borne 112. L'élément capacitif C2 présente une capacité de rétention de charges supérieure à celle de l'élément capacitif Cl.
De préférence, un troisième élément capacitif C3 a une première électrode 141 connectée au noeud F et une deuxième électrode 142 reliée à une borne 113 du circuit 100, destinée à être connectée à une source d'alimentation lors d'une initia¬ lisation d'une phase de rétention de charges (activation du bit stocké à l'état 1). Un rôle de l'élément capacitif C2 est de stocker une charge électrique. Un rôle de l'élément capacitif Cl est de décharger relativement lentement l'élément de stockage C2 (par rapport à une connexion directe de son électrode 131 à la masse) grâce à une fuite à travers son espace diélectrique. La présence de l'élément capacitif C2 permet de dissocier le niveau de charge présent dans le circuit 100 par rapport à l'élément de décharge (capacité Cl). L'épaisseur du diélectrique de l'élément C2 est supérieure à celle de l'élément Cl. La capacité de l'élément C2 est supérieure, de préférence dans un rapport d'au moins 10, à celle de l'élément C2.
Un rôle de l'élément capacitif C3 est de permettre une injection de charges dans l'élément capacitif C2 par effet Fowler-Nordheim ou par un phénomène d'injection d'électrons chauds. L'élément C3 permet d'éviter les contraintes (stress) sur l'élément Cl lors de la charge des éléments C2 et Cl en parallèle. L'épaisseur de l'espace diélectrique de l'élément C3 est supérieure à celle de l'élément Cl, de façon à éviter d'introduire un chemin de fuite parasite. Le noeud F est relié à une grille G d'un transistor à borne de commande isolée (par exemple, un transistor MOS 150) dont les bornes de conduction (drain D et source S) sont connectées à des bornes de sortie 114 et 115 pour mesurer la charge résiduelle contenue dans l'élément C2 (en négligeant la capacité de l'élément Cl en parallèle). Par exemple, la borne
115 est reliée à la masse et la borne 114 est reliée à une source de courant (non représentée) permettant une conversion courant-tension du courant de drain I]_]_4 dans le transistor 150.
L'épaisseur du diélectrique de grille du transistor 150 est supérieure à celle du diélectrique de l'élément Cl de façon à éviter d'introduire une fuite supplémentaire sur le noeud F. De préférence, l'épaisseur de grille du transistor 150 est même supérieure à l'épaisseur du diélectrique de l'élément C3, de façon à éviter d'introduire un chemin parasite de programmation (d'injection ou d'extraction de charges du noeud F) .
L'interprétation du niveau stocké peut être effectuée de façon simple au moyen d'un comparateur dont le basculement s'opère tant que la charge du noeud F reste suffisante. Le niveau pour lequel le comparateur bascule définit alors le niveau de changement d'état du bit stocké par l'élément 100. D'autres solutions de lecture peuvent être envisagées, par exemple, une interprétation multiniveaux dans une réalisation où le circuit 100 stocke directement plusieurs bits.
La figure 9 représente un exemple d'allure du courant I]_]_4 de drain du transistor 150 en fonction de la tension Vp au noeud F, référencée par rapport à la borne 115. La tension Vp exprime alors la tension grille/source du transistor 150. Elle dépend de la charge résiduelle aux bornes des capacités Cl et C2 en parallèle, donc essentiellement de la charge résiduelle dans la capacité C2. L'évaluation du courant de drain I]_]_4 peut être effectuée en maintenant les bornes 112 et 115 au même potentiel (par exemple la masse) et en appliquant une tension connue sur la borne 114.
La figure 10 illustre l'évolution de la charge Qp au point F en fonction du temps. A un instant tO où une tension d'alimentation (de programmation) cesse d'être appliquée sur la borne 113, la charge Qp part d'une valeur initiale QINIT Pour s'annuler à un instant tl avec une allure de décharge capacitive. L'intervalle de temps entre les instants tO et tl dépend non seulement de la capacité de fuite du diélectrique de l'élément Cl mais également de la valeur (donc de la capacité de stockage) de l'élément C2 qui conditionne la valeur QINIT- En supposant que les bornes 112 et 115 et la deuxième électrode 122 de l'élément capacitif Cl sont à des potentiels de référence et que la borne 114 est polarisée à un niveau déterminé pour qu'une variation du courant I114 ne provienne que d'une variation du potentiel du noeud F, cette variation ne dépend alors que du temps écoulé depuis l'instant tO . Ce résultat est, dans le mode de réalisation représenté, obtenu grâce à la dissociation opérée entre l'élément de fuite temporel (Cl) et l'élément représentatif de la charge résiduelle (C2) .
La programmation ou activation du circuit 100 (passage à l'état 1 du bit stocké) à travers l'élément capacitif C3 protège l'élément capacitif Cl dont l'épaisseur d'oxyde (diélec¬ trique) est relativement mince et qui risquerait autrement d'être détérioré lors de la programmation. Cela permet notamment de rendre les mesures fiables et reproductibles dans le temps . Le cas échéant, plusieurs éléments capacitifs C3 sont connectés en parallèle entre la borne 113 et le noeud F de façon à accélérer le temps de programmation.
De même, la durée de rétention peut être adaptée non seulement en réglant les épaisseurs et/ou les permittivités des diélectriques des éléments Cl et C2 mais également en prévoyant plusieurs éléments Cl et/ou C2 en parallèle.
La figure 11 représente le schéma électrique d'un autre mode de réalisation d'un circuit de rétention de charges 100' . Par rapport au mode de réalisation de la figure 8, le transistor 150 est remplacé par un transistor 160 à grille flottante FG reliée au noeud F. La grille de commande CG du transistor 160 est reliée à une borne 116 de commande en lecture de la charge résiduelle dans le circuit 100' (donc de l'état du bit stocké). L'épaisseur du diélectrique, entre la grille flottante FG et le canal (zone active) du transistor 160, est supérieure à celle de l'élément Cl et préférentiellement supérieure à celle de l'élément C3.
Une autre différence est que l'élément C3 d'injection ou d'extraction de charges est un transistor MOS 170 à grille flottante. La grille flottante 141 du transistor 170 est reliée au noeud F.
Dans l'exemple de la figure 11, le circuit a été représenté dans une partie de son environnement. Le drain 142 du transistor 170 est relié à une source de courant 118 recevant une tension d'alimentation Valim et sa source 173 est connectée à la masse. Sa grille de commande 174 reçoit un signal de commande CTRL destinée à rendre le transistor 170 passant lors d'un besoin d'injection de charges. Le drain (borne 114) du transistor 160 reçoit la tension d'alimentation Valim et sa source est reliée à la masse par une source de courant 119 (variante inversée par rapport au mode de réalisation décrit en relation avec la figure 8) . La tension V]_]_g aux bornes de la source de courant 119 est représentative de la tension au point F et est utilisée pour faire basculer la sortie d'un comparateur (non représenté) .
La figure 12 illustre, par un graphe du courant I]_i4 en fonction de la tension V]_]_g appliquée sur la grille de commande, le fonctionnement du circuit de la figure 11. Pour les besoins de l'explication, on suppose que la tension aux bornes 114 de drain et 115 de source du transistor 160 est maintenue constante par le circuit de lecture extérieur. La chute de tension entre la grille flottante et la borne 115 dépend alors de la charge électrique présente au noeud F, de la capacité totale entre les noeuds F et 112 (essentiellement les capacités Cl et C2), et de la tension appliquée sur la grille de commande 116 du transistor 160. En figure 12, trois courbes a, b et c ont été illustrées. La courbe a représente le cas où le noeud F est entièrement déchargé. La courbe b représente le cas d'une charge positive présente sur le noeud F (extraction d'électrons). Le seuil du transistor 160 est alors abaissé. La courbe c représente le cas d'une charge négative au noeud F (injection d'électrons) qui engendre un seuil supérieur pour le transistor MOS 160. Selon les applications, on pourra injecter ou extraire des charges du noeud F de façon à modifier la caractéristique du transistor 160 depuis la courbe a vers l'une des courbes b et c. Une fois isolée de la tension de programmation, la fuite de la capacité Cl permet de retrouver avec le temps la courbe a. Une mesure du courant I]_i4 (donc de la tension V]_]_g) à tension V]_]_g nulle permet de détecter une expiration du temps (réinitia¬ lisation du bit à zéro) quand le courant I114 s'annule.
Par la suite, on suppose une extraction d'électrons (application sur la borne 113 d'une tension d'activation ou de programmation positive par rapport à la borne 112) par effet Fowler-Nordheim. Le fonctionnement qui va être décrit se trans¬ pose toutefois sans difficulté à une injection d'électrons au noeud F, par exemple, par un phénomène dit de porteurs chauds en appliquant des tensions adaptées entre les bornes 142, 173 et 174.
Des tensions différentes peuvent être utilisées en programmation et en lecture à condition de disposer d'une référence exploitable entre la charge résiduelle et l'inter¬ prétation de l'état du bit stocké. Selon un exemple particulier de réalisation, un circuit de rétention de charges est réalisé avec les valeurs suivantes :
Capacité Cl : 2 fF, épaisseur de diélectrique : 40 Â ;
Capacité C2 : 20 fF, épaisseur de diélectrique : 160 Â ;
Capacité C3 : 1 fF, épaisseur de diélectrique : 80 Â.
Un tel circuit peut être initialisé par application d'une tension de l'ordre de 12 volts et se trouve déchargé au bout d'environ une semaine. Il ne s'agit bien entendu que d'un exemple, les épaisseurs de diélectrique et l'éventuelle association en parallèle de plusieurs éléments Cl ou C2 conditionnant la durée de rétention des charges .
Les figures 13A, 13B, 13C, 14A, 14B, 14C, 15A, 15B,
15C, 16A, 16B, 16C, 17A, 17B et 17C représentent un exemple de circuit 100' selon le mode de réalisation de la figure 11 dans une structure intégrée, dérivée d'une architecture de mémoire
EEPROM.
Les figures 13A, 14A, 15A, 16A et 17A sont des vues de dessus schématiques, respectivement du circuit électronique de rétention de charges et de ses éléments C2, 170, Cl et 160. La figure 13B est une coupe selon la ligne AA' de la figure 13A. Les figures 14B, 15B, 16B et 17B sont respectivement des vues en coupe selon les lignes BB' des figures 14A, 15A, 16A et 17A. Les figures 13C, 14C, 15C, 16C et 17C représentent les schémas électriques équivalents respectifs du circuit électronique de rétention de charges et de ses éléments C2, 170, Cl et 160.
On suppose une réalisation de transistors à canal N dans un substrat 180 (figure 13B) de silicium de type P. L'inverse est bien entendu possible. Chaque élément ou cellule C2, 170, Cl ou 160 est obtenu à partir d'un transistor à grille flottante connecté en série avec un transistor de sélection T2, T3, Tl ou T4 à simple grille pour sélectionner, par exemple dans un réseau matriciel de cellules mémoire EEPROM, le circuit électronique de rétention de charges.
Les grilles flottantes des différents transistors constitutifs des éléments C2, 170, Cl et 160 sont inter¬ connectées (ligne conductrice 184) pour former le noeud flottant F. Leurs grilles de commande sont reliées ensemble à une ligne conductrice 185 d'application du signal CG de commande en lecture. Leurs sources respectives SC2, S7, SCl et S6 sont interconnectées à la borne 112 (la masse) et leurs drains respectifs DC2, D7, DCl et D6 sont reliés aux sources respectives des transistors de sélection T2, T3, Tl et T4. Les grilles des transistors Tl à T4 sont reliées ensemble à une ligne conductrice 186 d'application d'un signal SEL de sélection du circuit. Leurs drains respectifs Dl à D4 sont connectés à des lignes de bit BLl à BL4 commandables individuellement. L'ordre des lignes de bit dans la figure 13C a été illustré de façon arbitraire BL2, BL3, BLl et BL4 mais l'ordre des différents éléments C2, 170, Cl et 160 dans la direction horizontale des rangées (dans l'orientation des figures) est indifférent.
Dans cet exemple de réalisation, on suppose des régions de source et drain de type N (figure 13B) séparées les unes des autres dans la direction des lignes par des zones isolantes 181. Les grilles flottantes sont réalisées dans un premier niveau conducteur Ml séparé des régions actives par un niveau isolant 182 et les grilles de commande sont réalisées dans un deuxième niveau conducteur M2 séparé du premier par un troisième niveau isolant 183. Les grilles des transistors de sélection sont réalisées, par exemple, dans le niveau M2.
Une différence par rapport à un réseau de cellules mémoire EEPROM usuel est que les grilles flottantes sont inter- connectées par groupe de quatre transistors pour réaliser le noeud flottant F. Une autre différence est que les transistors à grille flottante réalisant les différents éléments du circuit sont différents les uns des autres dans l'épaisseur de leur fenêtre tunnel et/ou dans leur connexion de drain et source. Les figures 14A à 14C illustrent la réalisation du condensateur C2 de stockage. Les drain DC2 et source SC2 du transistor à grille flottante correspondant sont court-circuités (par extension de l'implantation de type N+ dans toute la zone active, figure 14B) pour former l'électrode 132 du condensateur. Par ailleurs, la fenêtre tunnel est éliminée par rapport à une cellule EEPROM standard.
Les figures 15A à 15C illustrent la réalisation du transistor 170 formant l'élément capacitif C3 de programmation. Il s'agit d'une cellule EEPROM standard dont l'extension 201 de la zone dopée N sous la fenêtre tunnel 202 (figure 15B) permet d'obtenir un plateau dans la zone d'injection de charges. A la manière d'une cellule EEPROM standard, la zone de drain D7 est reliée à la source du transistor de sélection T3. La zone de source S7 est reliée à la borne 112. Les figures 16A à 16C illustrent la réalisation de l'élément capacitif Cl constituant l'élément de fuite du circuit de rétention de charges. Par rapport à une cellule EEPROM standard, une différence consiste à amincir (zone 212, figure 16B) la fenêtre diélectrique servant à l'effet tunnel pour augmenter les fuites. Par exemple, l'épaisseur du diélectrique 212 est choisie pour être d'environ la moitié (par exemple, entre 30 et 40 angstrδms) de celle (par exemple, entre 70 et 80 angstrδms) d'une fenêtre tunnel (202, figure 15B) d'une cellule non modifiée. Les figures 17A à 17C illustrent la réalisation du transistor de lecture 160 dans lequel la fenêtre tunnel a été supprimée de même que, de préférence, la zone implantée habi¬ tuelle (201, figure 15B) d'une cellule EEPROM. La zone active limitée par les source S6 et drain D6 est donc similaire à celle d'un transistor MOS normal.
Les représentations des figures 13A à 17C sont schématiques et pourront être adaptées à la technologie utilisée. En particulier, les grilles ont été représentées alignées avec les limites des zones de drain et source mais un léger recou- vrement est souvent présent.
Un avantage de la réalisation au moyen d'une techno¬ logie de cellules EEPROM est que le circuit de rétention de charges peut être programmé et réinitialisé en appliquant les mêmes niveaux de tension et les mêmes fenêtres temporelles que ceux utilisés pour effacer ou écrire dans des cellules mémoire EEPROM.
Un autre avantage est que cela préserve une stabilité dans le temps en évitant les dégradations de l'oxyde mince de l'élément de fuite (Cl) lors des opérations d'écritures successives.
Les connexions respectives des lignes de bit BLl à BL4 dépendent des phases de fonctionnement du circuit et notamment de la phase de programmation (activation) ou de lecture.
Le tableau I ci-dessous illustre un mode de mise en oeuvre d'une activation (SET) et d'une lecture (READ) d'un circuit électronique de rétention de charges tel qu'illustré par les figures 13A à 17C. Tableau I
Figure imgf000024_0001
Dans une phase d'activation SET (passage du bit stocké à l'état 1), le signal de sélection SEL est porté à un premier potentiel haut VPP1 par rapport à la masse pour rendre passants les différents transistors Tl à T4 tandis que le signal CG appliqué sur les grilles de commande des transistors à grille flottante reste au niveau bas 0 de façon à ne pas rendre passant le transistor 160. Les lignes de bit BLl, BL2 et BL4 restent en l'air (état de haute impédance HZ) tandis que la ligne BL3 se voit appliquée un potentiel positif Vpp2 permettant la charge du noeud flottant F. La ligne 112, commune aux sources des transistors à grille flottante, est préférentiellement laissée en l'air HZ.
Pour la lecture READ, les différents transistors de sélection sont activés par le signal SEL à un niveau VgElj et une tension VpEAO ^e lecture est appliquée sur les grilles de commande des différents transistors à grille flottante. Les lignes BLl, BL2 et BL3 sont dans un état de haute impédance HZ alors que la ligne BL4 reçoit un potentiel V114 permettant d'alimenter la source de courant de lecture. La ligne 112 est ici connectée à la masse.
Les relations entre les différents niveaux VPP1, VPP2, VSEL' VREAD et V114 son"t, de préférence, les suivantes : VPP1 supérieur à VPP2 ; VSEL supérieur à Vp^0 ;
VREAD ^u même ordre de grandeur que V114. Selon un exemple particulier de réalisation : VPP1 = 14 volts ; VPP2 = 12 volts ; VSEL = 4 volts ;
VREAD = 2 volts ; et V114 = 1 volt.
Ce qui a été décrit ci-dessus en relation avec une cellule EEPROM par élément du circuit de rétention de charges peut bien entendu être remplacé par une structure dans laquelle des sous-ensembles de plusieurs cellules identiques en parallèle sont utilisés pour les différents éléments respectifs. En particulier : plusieurs éléments C2 peuvent être utilisés en parallèle pour accroître la capacité du noeud F de façon à augmenter le temps de décharge du circuit électronique ; plusieurs éléments 170 peuvent être utilisés en parallèle pour accroître la vitesse d'injection ou d'extraction d'électrons au noeud F lors d'une programmation ; plusieurs éléments de fuite Cl peuvent être utilisés en parallèle pour réduire le temps de décharge du système ; et/ou plusieurs éléments de lecture 160 peuvent être introduits en parallèle pour fournir un courant supérieur lors de l'évaluation du circuit. Un circuit électronique de rétention de charges peut être introduit dans n'importe quelle position d'un réseau de cellules mémoire EEPROM standard, ce qui permet de rendre plus difficile sa localisation par un éventuel utilisateur mal intentionné. Le cas échéant, les transistors de sélection des cellules formant le circuit de rétention de charges sont partagés avec des cellules EEPROM normales sur les mêmes lignes de bits, en prévoyant des moyens d'adressage et de commutation adaptés. Bien entendu, la présente invention est susceptible de diverses variantes et modifications qui apparaîtront à l'homme de l'art. En particulier, le circuit de rétention de charges pourra être constitué par n'importe quel circuit susceptible de présenter, de façon reproductible, une perte de charge au cours du temps indépendamment de l'alimentation du circuit. Par exemple, on pourra avoir recours à un circuit tel que décrit dans la demande internationale WO-A-03/083769.
De plus, la mise en oeuvre pratique du circuit à partir des indications fonctionnelles données ci-dessus et des besoins de l'application est à la portée de l'homme du métier. Les compteurs pourront être de toute nature et la fonction de comptage peut être de n'importe quel incrément ou décrément. Par exemple (notamment dans des modes de réalisation, par exemple figure 8 et suivantes, où les cellules de comptage ne peuvent pas être réinitialisées autrement que de façon temporelle), on pourra utiliser deux compteurs incrémentiels de taille finie dont la différence fournit la valeur à considérer.
En outre, notamment comme elle ne requiert pas d'alimentation permanente, l'invention peut être mise en oeuvre dans des dispositifs sans contact (de type transpondeur élec¬ tromagnétique) qui tirent leur alimentation d'un champ électro¬ magnétique dans lequel ils se trouvent (généré par un terminal) . Enfin, tout ce qui a été décrit en relation avec un incrément d'un compteur se transpose sans difficulté à un décrément d'un compteur à chaque détection.

Claims

REVENDICATIONS
1. Procédé de protection d'informations contenues dans un circuit électronique (10') contre une perturbation de son fonctionnement, dans lequel une détection d'une perturbation conditionne l'incrément (42) ou le décrément (47) d'un compteur (COUNT) sur au moins un bit, le compteur étant réinitialisé automatiquement au bout d'une durée indépendante du fait que le circuit soit alimenté ou non et étant réalisé sous la forme d'au moins un circuit de rétention de charges (100) comportant au moins un premier élément capacitif (Cl) présentant une fuite au travers de son espace diélectrique.
2. Procédé selon la revendication 1, dans lequel un passage d'un bit dudit compteur (COUNT) dans un état actif est provoqué par une injection ou extraction de charges dans ledit premier élément capacitif (Cl) .
3. Procédé selon la revendication 1 ou 2, dans lequel un test (32) de la valeur dudit compteur (COUNT) est effectué avant toute exécution d'un processus (45) considéré comme sensible du point de vue des informations à protéger.
4. Procédé selon la revendication 3, dans lequel ledit test (32) provoque, en cas de dépassement d'un seuil (TH), une action bloquant de façon durable au moins l ' accès audit processus (45) et, de préférence, le fonctionnement du circuit (10') .
5. Procédé selon la revendication 3 ou 4, dans lequel ledit compteur (COUNT) est sur plusieurs bits, le résultat dudit test (32) étant fourni directement par l'état d'un des bits.
6. Procédé selon l'une quelconque des revendications 3 à 5, dans lequel une incrémentation (42) ou décrémentation dudit compteur (COUNT) force le circuit à effectuer ledit test (32) .
7. Procédé selon l'une quelconque des revendications 1 à 6, dans lequel ledit compteur (COUNT) est incrémenté (42) ou décrémenté avant un processus (45) considéré comme sensible du point de vue des informations à protéger, puis décrémenté (47) , respectivement incrémenté, en fin de processus si aucune perturbation n'a été détectée pendant l'exécution du processus.
8. Circuit électronique (10') comportant des moyens pour la mise en oeuvre du procédé selon l'une quelconque des revendications 1 à 7.
9. Circuit selon la revendication 8, dans lequel le ou chaque circuit de rétention de charges comporte : au moins un premier élément capacitif (Cl) dont une première électrode (121) est connectée à un noeud flottant (F) ; au moins un deuxième élément capacitif (C2) dont une première électrode (131) est connectée audit noeud flottant (F) , le deuxième élément capacitif ayant une capacité supérieure au premier ; et au moins un premier transistor (150, 160) à borne de commande isolée et connectée audit noeud flottant.
10. Circuit selon la revendication 9, dans lequel au moins un troisième élément capacitif (C3, 170) a une première électrode (141) reliée audit noeud flottant (F) et une deuxième électrode (142) connectable à une source de tension.
11. Circuit selon la revendication 10, implanté dans un réseau de cellules mémoire de type EEPROM comportant chacune un transistor de sélection en série avec un transistor à grille flottante, dans lequel, sur une même rangée de cellules mémoire dont les grilles flottantes respectives des transistors des cellules sont interconnectées : le premier élément capacitif comporte un premier sous- ensemble d'au moins une première cellule (Cl) dont l'épaisseur du diélectrique (212) de la fenêtre tunnel du transistor à grille flottante est inférieure à celle des autres cellules ; le deuxième élément capacitif comporte un deuxième sous-ensemble d'au moins une deuxième cellule (C2) dont les drain et source du transistor à grille flottante sont interconnectés ; le troisième élément capacitif comporte un troisième sous-ensemble d'au moins une troisième cellule (170) ; et le premier transistor comporte un quatrième sous- ensemble d'au moins une quatrième cellule (160) dont la fenêtre tunnel est supprimée.
PCT/EP2008/050072 2007-01-05 2008-01-04 Protection d'informations contenues dans un circuit electronique WO2008084016A1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN2008800017151A CN101611414B (zh) 2007-01-05 2008-01-04 电子电路中的信息的保护
EP08701252A EP2108163A1 (fr) 2007-01-05 2008-01-04 Protection d'informations contenues dans un circuit electronique
JP2009544414A JP5070297B2 (ja) 2007-01-05 2008-01-04 電子回路に含まれる情報の保護
US12/521,772 US8566931B2 (en) 2007-01-05 2008-01-04 Protection of information contained in an electronic circuit

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR07/52551 2007-01-05
FR0752551 2007-01-05

Publications (1)

Publication Number Publication Date
WO2008084016A1 true WO2008084016A1 (fr) 2008-07-17

Family

ID=38235117

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2008/050072 WO2008084016A1 (fr) 2007-01-05 2008-01-04 Protection d'informations contenues dans un circuit electronique

Country Status (5)

Country Link
US (1) US8566931B2 (fr)
EP (1) EP2108163A1 (fr)
JP (1) JP5070297B2 (fr)
CN (1) CN101611414B (fr)
WO (1) WO2008084016A1 (fr)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2959580A1 (fr) * 2010-05-03 2011-11-04 St Microelectronics Rousset Circuit et procede de detection d'une attaque par injection de fautes
WO2012079730A1 (fr) * 2010-12-14 2012-06-21 Giesecke & Devrient Gmbh Support de données portatif comportant un compteur des erreurs de commande
FR3012234A1 (fr) * 2013-10-23 2015-04-24 Proton World Int Nv Protection de l'execution d'un algorithme contre des attaques par canaux caches
EP3246944A1 (fr) * 2016-05-17 2017-11-22 Stmicroelectronics (Rousset) Sas Protection d'un circuit intégré

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2108164B1 (fr) * 2007-01-05 2015-08-26 Proton World International N.V. Limitation d'acces a une ressource d'un circuit electronique
CN101606162A (zh) * 2007-01-05 2009-12-16 质子世界国际公司 电子电路的临时锁定
JP2009105279A (ja) * 2007-10-24 2009-05-14 Fujitsu Microelectronics Ltd 半導体装置の製造方法及び半導体装置
DE102010044687A1 (de) * 2010-09-08 2012-03-08 Giesecke & Devrient Gmbh Portabler Datenträger mit Fehlbedienungszähler
PL2466505T3 (pl) * 2010-12-01 2013-10-31 Nagravision Sa Sposób rozpoznawania autentyczności terminala
DE102011014665A1 (de) * 2011-03-22 2012-09-27 Giesecke & Devrient Gmbh Detektieren von Angriffen auf einen portablen Datenträger
JP5641589B2 (ja) * 2013-04-05 2014-12-17 Necプラットフォームズ株式会社 耐タンパ回路、耐タンパ回路を備える装置及び耐タンパ方法
DE102013006669A1 (de) 2013-04-18 2014-10-23 Giesecke & Devrient Gmbh Verfahren zur Klassifizierung eines Angriffs auf ein Sicherheitsmodul
FR3020712B1 (fr) * 2014-04-30 2017-09-01 Proton World Int Nv Compteur bidirectionnel en memoire flash
FR3038411B1 (fr) * 2015-06-30 2018-08-17 Stmicroelectronics (Rousset) Sas Detection d'authenticite d'un circuit electronique ou d'un produit contenant un tel circuit
FR3091367B1 (fr) * 2018-12-28 2020-12-18 St Microelectronics Rousset Protection d’un microcontrôleur
US11321458B2 (en) 2020-01-28 2022-05-03 Nuvoton Technology Corporation Secure IC with soft security countermeasures

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2493564A1 (fr) * 1980-10-31 1982-05-07 Gao Ges Automation Org Element d'identification de support d'informations
WO1998029813A1 (fr) * 1996-12-31 1998-07-09 Bull Cp8 Procede de securisation d'un module de securite, et module de securite associe
WO2001054057A1 (fr) * 2000-01-19 2001-07-26 Infineon Technologies Ag Circuit de protection integre
WO2003083769A1 (fr) * 2002-03-28 2003-10-09 Oberthur Card Systems S.A. Entite electronique transactionnelle securisee par mesure du temps
EP1659515A1 (fr) * 2004-11-19 2006-05-24 Proton World International N.V. Protection d'un microcontrôleur

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3906460A (en) * 1973-01-11 1975-09-16 Halpern John Wolfgang Proximity data transfer system with tamper proof portable data token
US4028733A (en) 1975-07-07 1977-06-07 Telebeam Corporation Pictorial information retrieval system
FR2401459A1 (fr) * 1977-08-26 1979-03-23 Cii Honeywell Bull Support d'information portatif muni d'un microprocesseur et d'une memoire morte programmable
JPH0818473B2 (ja) * 1985-07-31 1996-02-28 トッパン・ムーア株式会社 機密水準を設定できるicカード
US4983816A (en) * 1988-02-24 1991-01-08 Kabushiki Kaisha Toshiba Portable electronic device
FR2668274B1 (fr) * 1990-10-19 1992-12-31 Gemplus Card Int Circuit integre a securite d'acces amelioree.
TW301750B (fr) * 1995-02-08 1997-04-01 Matsushita Electric Ind Co Ltd
US20010010331A1 (en) * 1996-12-31 2001-08-02 Michel Hazard Process for protecting a security module, and associated security module
US6188309B1 (en) 1998-01-07 2001-02-13 At&T Corp Method and apparatus for minimizing credit card fraud
DE19818830A1 (de) 1998-04-27 1999-10-28 Deutsche Telekom Mobil Verfahren und Anordnung zur Verhinderung der mißbräuchlichen Verwendung der auf einem Chipkarten-Interface vorhandenen Authentifizierungsprozeduren
FR2795838B1 (fr) * 1999-06-30 2001-08-31 Bull Cp8 Procede de securisation du traitement d'une information sensible dans un module de securite monolithique, et module de securite associe
US6356126B1 (en) 2000-07-10 2002-03-12 Agere Systems Guardian Corp. Methods and devices for testing the operation of counters used in phase-locked loops
FR2818766A1 (fr) * 2000-12-21 2002-06-28 Bull Cp8 Procede de securisation de l'execution d'un programme implante dans un module electronique a microprocesseur, ainsi que le module electronique et la carte a microcircuit associes
DE10105987A1 (de) * 2001-02-09 2002-08-29 Infineon Technologies Ag Datenverarbeitungsvorrichtung
FR2844897B1 (fr) 2002-09-25 2005-01-28 Oberthur Card Syst Sa Entite electronique securisee avec gestion du temps
US8041933B2 (en) * 2002-12-20 2011-10-18 The Invention Science Fund I Method and apparatus for selectively enabling a microprocessor-based system
FR2867591A1 (fr) * 2004-03-10 2005-09-16 Proton World Internatinal Nv Mise a jour d'un compteur de valeur d'une carte a puce
EP1605333B1 (fr) * 2004-06-07 2008-12-10 Proton World International N.V. Contrôle de l'exécution d'un programme
FR2874440B1 (fr) * 2004-08-17 2008-04-25 Oberthur Card Syst Sa Procede et dispositif de traitement de donnees
FR2891654A1 (fr) * 2005-10-05 2007-04-06 Proton World Int Nv Compteur d'evenements
DE102005056940B4 (de) * 2005-11-29 2016-06-30 Infineon Technologies Ag Vorrichtung und Verfahren zum nicht-flüchtigen Speichern eines Statuswertes
CN101601097B (zh) 2006-07-27 2012-10-17 意法半导体有限公司 用于进行时间测量的电荷保持电路
FR2904464A1 (fr) 2006-07-27 2008-02-01 St Microelectronics Sa Circuit eeprom de retention de charges pour mesure temporelle
EP2047475B1 (fr) 2006-07-27 2010-06-16 Stmicroelectronics SA Circuit de lecture d'un element de retention de charges pour mesure temporelle
FR2904463A1 (fr) 2006-07-27 2008-02-01 St Microelectronics Sa Programmation d'un circuit de retention de charges pour mesure temporelle
EP2108164B1 (fr) 2007-01-05 2015-08-26 Proton World International N.V. Limitation d'acces a une ressource d'un circuit electronique
CN101606162A (zh) 2007-01-05 2009-12-16 质子世界国际公司 电子电路的临时锁定
JP5570455B2 (ja) * 2011-02-16 2014-08-13 オムロンオートモーティブエレクトロニクス株式会社 漏電検知装置
JP5710307B2 (ja) * 2011-02-16 2015-04-30 オムロンオートモーティブエレクトロニクス株式会社 漏電検知装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2493564A1 (fr) * 1980-10-31 1982-05-07 Gao Ges Automation Org Element d'identification de support d'informations
WO1998029813A1 (fr) * 1996-12-31 1998-07-09 Bull Cp8 Procede de securisation d'un module de securite, et module de securite associe
WO2001054057A1 (fr) * 2000-01-19 2001-07-26 Infineon Technologies Ag Circuit de protection integre
WO2003083769A1 (fr) * 2002-03-28 2003-10-09 Oberthur Card Systems S.A. Entite electronique transactionnelle securisee par mesure du temps
EP1659515A1 (fr) * 2004-11-19 2006-05-24 Proton World International N.V. Protection d'un microcontrôleur

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2959580A1 (fr) * 2010-05-03 2011-11-04 St Microelectronics Rousset Circuit et procede de detection d'une attaque par injection de fautes
WO2012079730A1 (fr) * 2010-12-14 2012-06-21 Giesecke & Devrient Gmbh Support de données portatif comportant un compteur des erreurs de commande
US9298533B2 (en) 2010-12-14 2016-03-29 Giesecke & Devrient Gmbh Portable data carrier having operating error counter
FR3012234A1 (fr) * 2013-10-23 2015-04-24 Proton World Int Nv Protection de l'execution d'un algorithme contre des attaques par canaux caches
US9565016B2 (en) 2013-10-23 2017-02-07 Proton World International N.V. Protection of the execution of an algorithm against side-channel attacks
EP3246944A1 (fr) * 2016-05-17 2017-11-22 Stmicroelectronics (Rousset) Sas Protection d'un circuit intégré
FR3051599A1 (fr) * 2016-05-17 2017-11-24 Stmicroelectronics Rousset Protection d'un circuit integre

Also Published As

Publication number Publication date
US20110010775A1 (en) 2011-01-13
JP2010515186A (ja) 2010-05-06
US8566931B2 (en) 2013-10-22
EP2108163A1 (fr) 2009-10-14
JP5070297B2 (ja) 2012-11-07
CN101611414A (zh) 2009-12-23
CN101611414B (zh) 2012-12-05

Similar Documents

Publication Publication Date Title
WO2008084016A1 (fr) Protection d&#39;informations contenues dans un circuit electronique
EP2108164B1 (fr) Limitation d&#39;acces a une ressource d&#39;un circuit electronique
EP2047476B1 (fr) Circuit de retention de charges pour mesure temporelle
EP0270410B1 (fr) Circuit intégré du type circuit logique comportant une mémoire non volatile programmable électriquement
EP2047475B1 (fr) Circuit de lecture d&#39;un element de retention de charges pour mesure temporelle
FR2926382A1 (fr) Hierarchisation de cles cryptographiques dans un circuit electronique
EP2050098B1 (fr) Circuit eeprom de retention de charges pour mesure temporelle
EP2047477B1 (fr) Programmation d&#39;un circuit de retention de charges pour mesure temporelle
EP1204948B1 (fr) Micro-controleur securise contre les attaques en courant
WO2008084018A1 (fr) Verrouillage temporaire d&#39;un circuit electronique
FR2926400A1 (fr) Cellule eeprom a perte de charges
EP1220101B1 (fr) Procédé et dispositif de protection contre le piratage de circuits intégrés
EP0902949A1 (fr) Memoire remanente effacable et programmable electriquement, protegee contre les coupures d&#39;alimentation
FR2475779A1 (fr) Circuit et procede d&#39;alimentation de secours pour polariser les lignes binaires d&#39;une memoire statique a semi-conducteur
EP0558418A1 (fr) Cellule mémoire non volatile du type métal-ferroélectrique semi-conducteur
EP1168621A1 (fr) Circuit intégré avec dispositif de protection
EP1295297A1 (fr) Circuit de detection d&#39;utilisation
EP1168364A1 (fr) Dispositif de contrôle d&#39;alimentation dans un circuit intégré comprenant des éléments de mémoire non volatile électriquement programmable

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200880001715.1

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08701252

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2008701252

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2009544414

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 12521772

Country of ref document: US