EP1121629A1 - Elektronisches bauelement und verfahren zum maskieren von der ausführung von befehlen oder der manipulation von daten - Google Patents

Elektronisches bauelement und verfahren zum maskieren von der ausführung von befehlen oder der manipulation von daten

Info

Publication number
EP1121629A1
EP1121629A1 EP99949058A EP99949058A EP1121629A1 EP 1121629 A1 EP1121629 A1 EP 1121629A1 EP 99949058 A EP99949058 A EP 99949058A EP 99949058 A EP99949058 A EP 99949058A EP 1121629 A1 EP1121629 A1 EP 1121629A1
Authority
EP
European Patent Office
Prior art keywords
execution
program
electronic component
counter
secondary program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP99949058A
Other languages
English (en)
French (fr)
Inventor
Philippe Anguita
David Naccache
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gemplus SA
Original Assignee
Gemplus SCA
Gemplus Card International SA
Gemplus SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Gemplus SCA, Gemplus Card International SA, Gemplus SA filed Critical Gemplus SCA
Publication of EP1121629A1 publication Critical patent/EP1121629A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • G06F21/755Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2123Dummy operation

Definitions

  • the present invention relates to an electronic component and a method for masking the execution of instructions or the manipulation of data.
  • the present invention relates more particularly to electronic components used in applications where access to services or to data is strictly controlled.
  • Such components have an architecture formed around a microprocessor and memories. They implement algorithms using secret data contained in the component, inaccessible from the outside. Secret data can thus be used to validate an electronic transaction such as a purchase, without this data being accessible at any time from outside the component.
  • the object of the present invention is to mask the execution of instructions or the manipulation of data in the component, in order to render sterile the observation of external parameters of the electronic component.
  • the invention relates to an electronic component comprising at least one microprocessor and storage means for executing a main program.
  • the component further comprises a counter of a random value generating information to output the execution of said program during the execution of a secondary program.
  • this execution time of the secondary program is constant.
  • this execution time is variable. It can even be random.
  • this secondary program activates means of current consumption, which will distort the current consumption curve of the component, making the masking of the operations executed and of the data manipulated even more effective.
  • the invention also relates to a method for masking the execution of instructions or the manipulation of data in an electronic component.
  • FIG. 1 shows a block diagram of an electronic component according to the invention.
  • FIG. 2 shows a variant of the block diagram of an electronic component according to a variant of one invention.
  • FIG. 1 represents a simplified block diagram of an electronic component CI according to the invention. It includes a microprocessor 1 and internal resources which are connected to a data bus 6.
  • the internal resources include in particular memories, in the example, a program memory 2 and a working memory 3, a counter 4 and a generator 5 with a random value R.
  • the electronic component CI includes various external connection terminals. In the example, it is a component with serial data input / output, therefore with an I / O terminal for data input / output. It also includes a VSS ground terminal, a power terminal VCC and terminals relating to control signals (not shown).
  • the microprocessor receives instructions and data on a serial input / output port 8, connected to the data input / output terminal in connection with an external system.
  • the microprocessor internally generates different control signals to manage the different internal resources.
  • control signals there is shown a validation signal EN of the counter 4, a signal LOAD of initialization of the counter and an activation signal SEL of the random generator 5.
  • the counter When enabled (EN activated), the counter generates an ITO counting end signal. This end of counting information signal is used as the microprocessor interrupt signal. It is thus connected to an input of the interrupt port 7 of the microprocessor. It will be noted that the expression end of counting is a general expression which means as well that the counter has finished counting up to a determined value or that the counter has finished counting down to zero from a determined value.
  • the counter is a material resource.
  • the microprocessor 1 executes a main program contained in program memory, relative to data or instructions received from the serial input input port 8, in relation to an external system. According to the invention, the execution of the main program is suspended at random times, the time of the execution of a secondary program, contained in program memory.
  • a counter initialization routine is provided with a new random value.
  • this routine includes instructions to invalidate the counter (EN disabled), draw a random value R in the random generator 5, load (LOAD) this value in the counter, then activate the counter (EN enabled).
  • the counter When the counter has counted down to zero, it activates the ITO end of counting information signal, which causes an interruption on the microprocessor.
  • the execution of the main program is suspended for the time of execution (by the microprocessor) of the secondary program, corresponding to the interrupt management routine considered.
  • the secondary program includes at least the already seen sequence of initialization of the counter, at a new random value, so that a new interruption can take place.
  • This secondary program can correspond to a fixed number of instructions, in which case it is executed in constant time. For example, if the secondary program includes only the instructions corresponding to drawing a new random value R in the generator 5 and loading the counter 4 to this new value R (initialization), there is a secondary program executable in constant time. In this case, in addition to the execution of the main program, there are bits of code (corresponding to the secondary program) executed in constant time at random times.
  • the duration of execution of the secondary program is variable.
  • the secondary program provides for a test on a binary datum, modified at each passage in the program, the number of instructions executed next being a function of the result of the test.
  • the variable duration of execution depends on a mathematical function. For example, if this mathematical function requires a certain number of calculation turns to arrive at the result, this number of turns being a function of the input data, there will be a variable execution time, depending on a mathematical function. All these techniques for arriving at a variable duration are well known.
  • this variable execution time will be random.
  • the secondary program includes provision for deactivation of the counter, drawing of a new random value, counting down to zero of this value in a countdown loop, then initialization of the counter to a new random value.
  • This additional current consumption may be due, instantaneously, to instructions provided in the secondary program.
  • instructions provided in the secondary program For example, we can plan in this secondary program to execute turns of calculation of an algorithm, for example of a cryptography algorithm.
  • This execution will correspond to an instantaneous current consumption, that is to say the time of the execution of the instruction, which will interfere with the normal consumption of the main program by interposing in the normal current consumption as a function of the time due to execution of the main program. It can also be expected that this additional current consumption will have a lasting effect for a certain time.
  • the secondary program then provides for activating current consumption means, which will consume current for at least a certain time, during the execution of the following instructions of the secondary program and of the main program.
  • FIG. 2 A block diagram of an electronic component corresponding to this second embodiment of the invention is shown in Figure 2.
  • the electronic component comprises a pump of charges 9.
  • this charge pump normally designed to supply a high voltage VF? programming and / or erasing from the supply voltage VCC to allow programming and / or erasing of data in a non-volatile programmable and / or electrically erasable memory, such as for example the memories commonly called EPROM memories , EEPROM or flash EPROM.
  • this charge pump is associated with the program memory.
  • a known characteristic of such a pump is that it consumes a lot of current during the time of setting up the high voltage at the output and the programming or erasing time, which can be of the order of a few milliseconds.
  • a high current consumption is therefore superimposed which will mask the consumption of the following instructions of the secondary program and of the main program.
  • the invention is not limited to the embodiments or to the variants described. It covers any use of means to suspend the main program at random times for a time which may be fixed, variable or random, with or without the use of means to add additional current consumption.
  • the invention applies to all components comprising at least one counter and one random generator.
  • the choice of such or such secondary program depends on the resources of the component considered, on the efficiency in relation to the application considered.
  • Such a component is particularly useful in smart cards, to improve their inviolability.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Microcomputers (AREA)
  • Storage Device Security (AREA)
EP99949058A 1998-10-16 1999-10-15 Elektronisches bauelement und verfahren zum maskieren von der ausführung von befehlen oder der manipulation von daten Withdrawn EP1121629A1 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR9812988 1998-10-16
FR9812988A FR2784763B1 (fr) 1998-10-16 1998-10-16 Composant electronique et procede pour masquer l'execution d'instructions ou la manipulation de donnees
PCT/FR1999/002521 WO2000023866A1 (fr) 1998-10-16 1999-10-15 Composant electronique et procede pour masquer l'execution d'instructions ou la manipulation de donnees

Publications (1)

Publication Number Publication Date
EP1121629A1 true EP1121629A1 (de) 2001-08-08

Family

ID=9531646

Family Applications (1)

Application Number Title Priority Date Filing Date
EP99949058A Withdrawn EP1121629A1 (de) 1998-10-16 1999-10-15 Elektronisches bauelement und verfahren zum maskieren von der ausführung von befehlen oder der manipulation von daten

Country Status (6)

Country Link
EP (1) EP1121629A1 (de)
JP (1) JP2002528784A (de)
CN (1) CN1332860A (de)
AU (1) AU6207799A (de)
FR (1) FR2784763B1 (de)
WO (1) WO2000023866A1 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001118042A (ja) * 1999-10-19 2001-04-27 Hitachi Ltd カード監視方法
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
JP4173297B2 (ja) * 2001-09-13 2008-10-29 株式会社ルネサステクノロジ メモリカード
EP1293856A1 (de) * 2001-09-18 2003-03-19 EM Microelectronic-Marin SA Geschützte integrierte Schaltung mit vertraulichen Teilen und Verfahren zur Aktivierung dieser Schaltung
GB0221240D0 (en) * 2002-09-13 2002-10-23 Koninkl Philips Electronics Nv Current source for cryptographic processor
EP1651969A4 (de) * 2003-07-17 2007-03-07 Atmel Corp Verfahren und vorrichtung zum glätten des stromverbrauchs in einer integrierten schaltung
FR2857804B1 (fr) * 2003-07-17 2006-05-26 Atmel Corp Procede et appareil pour lisser la consommation de courant d ans un circuit integre
FR2924262B1 (fr) * 2007-11-26 2009-12-11 Sagem Securite Procede de masquage de passage en fin de vie d'un dispositif electronique et dispositif comportant un module de controle correspondant
US20100264982A1 (en) 2007-12-13 2010-10-21 Nxp B.V. Electronic circuit and method of masking current requirements of an electronic circuit
FR2973150B1 (fr) * 2011-03-21 2013-04-26 Morpho Procede de masquage de passage en fin de vie d'un dispositif electronique et dispositif comportant un module de controle correspondant

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2638869B1 (fr) * 1988-11-10 1990-12-21 Sgs Thomson Microelectronics Dispositif de securite contre la detection non autorisee de donnees protegees
CA2037857C (en) * 1990-03-20 2001-01-16 Roy Allen Griffin, Iii Prevention of determination of time of execution of predetermined data processing routine in relation to occurrence of prior observable external event
FR2745924B1 (fr) * 1996-03-07 1998-12-11 Bull Cp8 Circuit integre perfectionne et procede d'utilisation d'un tel circuit integre

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO0023866A1 *

Also Published As

Publication number Publication date
AU6207799A (en) 2000-05-08
FR2784763A1 (fr) 2000-04-21
JP2002528784A (ja) 2002-09-03
CN1332860A (zh) 2002-01-23
FR2784763B1 (fr) 2001-10-19
WO2000023866A1 (fr) 2000-04-27

Similar Documents

Publication Publication Date Title
EP0606029B1 (de) IC Karte mit alterunggeschützten Daten und Programmen
EP1605333B1 (de) Programmausführungssteuerung
FR2968799A1 (fr) Procede et dispositif de controle d'execution pour des fonctions internes et des applications protegees embarquees dans des cartes a microcircuits pour terminaux mobiles
EP0377368A1 (de) Datenverarbeitungsanlage mit einem nichtflüchtigen und elektrisch löschbaren und umprogrammierbaren Speicher
EP1062633A1 (de) Vorrichtung zum maskieren von betriebsvorgängen in einer mikroprozessorkarte
EP1121629A1 (de) Elektronisches bauelement und verfahren zum maskieren von der ausführung von befehlen oder der manipulation von daten
EP1220101B1 (de) Verfahren und Vorrichtung zum Schutz gegen unbefugte Benutzung eines integrierten Schaltkreises
EP1359550A1 (de) Wiederherstellung einer Geheimzahl mittels der Kennzahl einer integrierten Schaltung
FR2828779A1 (fr) Procede de calcul universel applique a des points d'une courbe elliptique
EP1344137A1 (de) Verfahren und gerät zur gesicherten datenverarbeitung
EP3441902B1 (de) Schutzverfahren einer elektronischen vorrichtung gegen angriffe durch fehlerinjektion
EP1279141B1 (de) Gegenmassnahmeverfahren in einer mikroschaltung und ic-karte mit einer solchen schaltung
FR2786007A1 (fr) Procede de controle d'utilisation d'une carte a puce
EP3671519A1 (de) Sicherung einer transaktion mit einer chipkarte
FR2812101A1 (fr) Protocole d'echange de messages entre applications implantees sur un systeme embarque, et systeme embarque correspondant
FR3011656A1 (fr) Procede et dispositif de realisation de fonction par un microcircuit
EP3317832B1 (de) Durch eine elektronische vorrichtung während einer transaktion implementiertes überwachungsverfahren und entsprechende vorrichtung
EP3188032B1 (de) Datenspeicherung in einem flash-speicher
EP1949292A1 (de) Verfahren zum sicheren handhaben von daten während des ausführens kryptografischer algorithmen auf eingebetteten systemen
EP1030314B1 (de) Einrichtung und Verfahren zur Prüfung eines nichtflüchtigen wiederprogrammierbaren Speichers
EP2955661B1 (de) Schutz von in einem flüchtigen Speicher gespeicherten Daten
FR2821181A1 (fr) Procede de creation de valeurs aleatoires par un module associe a un microprocesseur
EP1455259B1 (de) Methode und Apparat zum Auswählen eines Schaltkreis Betriebsmodus
EP0734023A1 (de) Schreibschutzverfahren und integrierte Schaltung eines Speichers in einer integrierten Schaltung
FR2789774A1 (fr) Procede de comparaison securise de deux registres memoire, et module de securite mettant en oeuvre ce procede

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20010516

AK Designated contracting states

Kind code of ref document: A1

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

17Q First examination report despatched

Effective date: 20010914

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20020326