FR2958078A1 - Procede et dispositif de contremesure contre une attaque par injection d'erreur dans un microcircuit electronique - Google Patents
Procede et dispositif de contremesure contre une attaque par injection d'erreur dans un microcircuit electronique Download PDFInfo
- Publication number
- FR2958078A1 FR2958078A1 FR1001177A FR1001177A FR2958078A1 FR 2958078 A1 FR2958078 A1 FR 2958078A1 FR 1001177 A FR1001177 A FR 1001177A FR 1001177 A FR1001177 A FR 1001177A FR 2958078 A1 FR2958078 A1 FR 2958078A1
- Authority
- FR
- France
- Prior art keywords
- voltage
- data processing
- processing circuit
- circuit
- substrate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/067—Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
- G06K19/07—Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
- G06K19/073—Special arrangements for circuits, e.g. for protecting identification code in memory
- G06K19/07309—Means for preventing undesired reading or writing from or onto record carriers
- G06K19/07363—Means for preventing undesired reading or writing from or onto record carriers by preventing analysis of the circuit, e.g. dynamic or static power analysis or current analysis
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L23/00—Details of semiconductor or other solid state devices
- H01L23/57—Protection from inspection, reverse engineering or tampering
- H01L23/576—Protection from inspection, reverse engineering or tampering using active circuits
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2924/00—Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
- H01L2924/0001—Technical content checked by a classifier
- H01L2924/0002—Not covered by any one of groups H01L24/00, H01L24/00 and H01L2224/00
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Power Engineering (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
L'invention concerne un procédé de détection d'une attaque d'un microcircuit électronique (IC), comprenant des étapes consistant à : former le microcircuit (IC) dans un substrat (SUB), former dans le substrat un premier caisson (PW1, PW2, PW3) électriquement isolé du substrat, par un second caisson (NW1, NW2, NW3) et un caisson enterré (NISO1, NISO2, NISO3), former dans les premier et second caissons un circuit de traitement de donnée (ISC1, ISC2, ISC3) comprenant une borne de masse (LG1, LG2, LG3) formée dans le premier caisson et une borne d'alimentation (VS1, VS2, VS3) formée dans le second caisson, et activer un signal de détection (DS1, DS2, DS3) lorsqu'une tension (Vgb1, Vgb2, Vgb3, Vdd) à la borne de masse ou d'alimentation du circuit de traitement de donnée franchit une tension de seuil (TH, TH1).
Description
PROCEDE ET DISPOSITIF DE CONTREMESURE CONTRE UNE ATTAQUE PAR INJECTION D'ERREUR DANS UN MICROCIRCUIT ELECTRONIQUE
La présente invention concerne un procédé de contremesure pour protéger des données sensibles circulant dans un microcircuit électronique, contre des attaques visant à découvrir ces données. Elle concerne également un dispositif portable à microcircuit tel qu'une carte à puce, mettant en oeuvre le procédé. Les données sensibles peuvent être notamment des clés de chiffrement ou de déchiffrement, et plus généralement des données cryptographiques utilisées ou élaborées lors de calculs cryptographiques, comme des données intermédiaires de tels calculs, et des identifiants qui i0 doivent être conservés secrets. Les dispositifs à microcircuit manipulant des données sensibles font parfois l'objet d'attaques visant à déterminer ces données. Parmi les attaques connues, les attaques de type SPA (Simple Power Analysis) ou DPA (Differential Power Analysis) consistent à effectuer de nombreuses 15 mesures de courants et de tensions entrant et sortant dans le microcircuit lors de l'exécution d'un programme ou le traitement de données par le microcircuit, avec des données d'entrée différentes. Les mesures obtenues sont exploitées par une analyse statistique pour en déduire des données protégées, traitées ou utilisées par le microcircuit. Dans ce même but, les 20 attaques de type EMA (Electromagnetic Analysis) et DEMA (Differential Electromagnetic Analysis) se basent sur l'analyse du rayonnement électromagnétique émis par le microcircuit. On connaît également les attaques par injection de faute qui consistent à introduire des perturbations dans le microcircuit pendant qu'il 25 exécute par exemple des algorithmes sensibles tels que des algorithmes cryptographiques, ou dans le but de déclencher l'exécution d'une routine de téléchargement émettant sur un port les données qu'il mémorise. Une telle perturbation peut être réalisée en appliquant au microcircuit un ou plusieurs éclairs brefs par exemple par un faisceau laser, ou un ou plusieurs pics de 30 tension sur l'un de ses contacts.
Afin de lutter contre ces attaques variées par nature, de nombreuses solutions très différentes les unes des autres ont été apportées. L'invention concerne plus particulièrement celles qui visent à détecter des attaques par injection de faute.
Diverses techniques de détection ont été mises en oeuvre afin de lutter contre ces attaques. Ainsi, il est connu de dupliquer dans un microcircuit les circuits à protéger, et de comparer les données fournies par les circuits dupliqués. Si une différence apparaît dans les données fournies, cela signifie que le microcircuit a subi une attaque par injection de faute. io Cette technique de détection apparaît couteuse en termes de taille de circuit et de consommation électrique. II est également connu d'insérer dans un microcircuit plusieurs détecteurs locaux réagissant à un flash lumineux en fournissant un signal de détection actif. Cette solution ne permet pas réellement de protéger les 15 circuits sensibles du microcircuit d'une injection de faute, à moins de prévoir un grand nombre de détecteurs locaux, ce qui induit un surcoût important en termes de taille de circuit et de consommation électrique. II est donc souhaitable de mettre en oeuvre un dispositif de contremesure visant à protéger des circuits manipulant des données 20 secrètes contre des attaques par injection de faute. II est également souhaitable de pouvoir détecter une injection de faute notamment par l'application d'éclairs brefs ou de pics de tension sur le microcircuit. II est également souhaitable que le dispositif de contremesure n'augmente pas de manière sensible la complexité ou la consommation électrique du 25 microcircuit. Des modes de réalisation concernent un procédé de détection d'une attaque d'un microcircuit électronique, comprenant des étapes consistant à : former le microcircuit dans un substrat, former dans le substrat un premier caisson électriquement isolé du substrat, par un second caisson et un 30 caisson enterré, et former dans les premier et second caissons un circuit de traitement de donnée comprenant une borne de masse formée dans le premier caisson et une borne d'alimentation formée dans le second caisson. Selon un mode de réalisation, le procédé comprend une étape d'activation d'un signal de détection lorsqu'une tension à la borne de masse ou d'alimentation du circuit de traitement de donnée franchit une tension de seuil. Selon un mode de réalisation, le signal de détection est activé dès que la tension entre la borne de masse et une masse du substrat devient 5 supérieure à la tension de seuil. Selon un mode de réalisation, la tension de seuil est ajustée à une valeur supérieure à une plage de variation de la tension de masse à la borne de masse du circuit de traitement de donnée en fonctionnement normal, compte tenu d'une tension de polarisation de masse par rapport à la masse io du substrat. Selon un mode de réalisation, le signal de détection est activé dès que la tension entre la borne d'alimentation et une masse du substrat devient inférieure à la tension de seuil. Selon un mode de réalisation, la tension de seuil est ajustée à une 15 valeur inférieure à une plage de variation de la tension d'alimentation du circuit de traitement de donnée en fonctionnement normal. Selon un mode de réalisation, la borne de masse du circuit de traitement de donnée est reliée à la borne de masse du substrat par l'intermédiaire d'une résistance ou d'un circuit de polarisation fournissant une 20 tension de polarisation à la borne de masse du circuit de traitement de donnée. Selon un mode de réalisation, le procédé comprend des étapes de formation de plusieurs circuits de traitement de donnée dans le substrat, chaque circuit de traitement de donnée étant formé dans un premier caisson, 25 et dans un second caisson isolant électriquement du substrat le premier caisson avec un caisson enterré, chaque circuit de traitement de donnée comprenant une borne de masse formée dans le premier caisson et une borne d'alimentation formée dans le second caisson, et de formation d'un circuit de détection pour chaque circuit de traitement de donnée, chaque 30 circuit de détection fournissant un signal de détection actif lorsqu'une tension à la borne de masse ou d'alimentation du circuit de traitement de donnée franchit une tension de seuil. Selon un mode de réalisation, le procédé comprend une étape de formation pour chaque circuit de traitement de donnée d'un circuit de 35 polarisation fournissant une tension de polarisation à la borne de masse du circuit de traitement de donnée.
Selon un mode de réalisation, le procédé comprend une étape de fourniture d'un signal de détection consolidé actif si l'un au moins des signaux de détection est actif. Des modes de réalisation concernent également un microcircuit comprenant un circuit de traitement de donnée, comportant des bornes d'alimentation et de masse, la borne de masse étant formée dans un premier caisson électriquement isolé du substrat, par un second caisson et un caisson enterré. Selon un mode de réalisation, le circuit de traitement est associé à un circuit de détection pour activer un signal de détection io lorsqu'une tension à la borne de masse ou d'alimentation du circuit de traitement de donnée franchit une tension de seuil, le microcircuit étant configuré pour mettre en oeuvre le procédé tel que défini précédemment. Selon un mode de réalisation, la borne de masse du circuit de traitement de donnée est reliée à la borne de masse du substrat par 15 l'intermédiaire d'une résistance ou d'un circuit de polarisation fournissant une tension de polarisation à la borne de masse du circuit de traitement de donnée. Selon un mode de réalisation, le microcircuit comprend plusieurs circuits de traitement de donnée comportant chacun des bornes 20 d'alimentation et de masse, chacune des bornes de masse étant formée dans un caisson isolé, chaque circuit de traitement étant associé à un circuit de détection fournissant un signal de détection actif lorsqu'une tension à la borne de masse ou d'alimentation du circuit de traitement de donnée franchit une tension de seuil. 25 Selon un mode de réalisation, le microcircuit comprend un circuit logique LG recevant tous les signaux de détection, et fournissant un signal de détection consolidé actif si l'un au moins des signaux de détection est actif. Selon un mode de réalisation, le microcircuit comprend pour chaque 30 circuit de traitement un circuit de polarisation fournissant une tension de polarisation à la borne de masse du circuit de traitement de donnée. Des modes de réalisation concernent également un dispositif portable à microcircuit, comprenant un microcircuit tel que défini précédemment.
35 Des exemples de réalisation de l'invention seront décrits dans ce qui suit, à titre non limitatif en relation avec les figures jointes parmi lesquelles : la figure 1 représente schématiquement en coupe transversale un substrat dans lequel est formé un circuit intégré, la figure 2 représente sur une échelle différents niveaux de tension à considérer dans une analyse du fonctionnement du circuit intégré, 5 les figures 3A et 3B sont des courbes de variation en fonction du temps, de tensions dans le circuit intégré lorsqu'il est soumis à un éclair bref, la figure 4 est une vue de dessus schématique du circuit intégré, selon un mode de réalisation, la figure 5 représente schématiquement un circuit d'alimentation du io circuit intégré, la figure 6 représente schématiquement un circuit de polarisation d'une masse locale d'un circuit du circuit intégré, la figure 7 représente un circuit de détection d'injection de faute, selon un mode de réalisation, 15 la figure 8 représente un circuit de détection d'injection de faute, selon un autre mode de réalisation, la figure 9 représente une bascule du circuit de détection de la figure 8 ou 9. La figure 1 représente un circuit intégré IC comprenant un substrat 20 SUB dans un matériau semi-conducteur de type de conductivité P dans lequel est formé un circuit ISC. Le substrat SUB comprend une région dopée P+ SBS formant une prise de substrat connectée à une masse de substrat SGnd. Le circuit ISC comprend un caisson enterré NISO de type de conductivité N et un caisson NW de type de conductivité N formé dans le 25 substrat jusqu'à atteindre le caisson NISO. Le caisson NW est formé de manière à entourer une zone du substrat formant ainsi un caisson PW de type de conductivité P. Le caisson PW se trouve ainsi isolé du substrat SUB par les caissons NISO et NW. Le caisson NISO forme avec le caisson PW une capacité CIW, et avec le substrat SUB une capacité CIS. La présence 30 des capacités CIW, CIS permet de réduire le bruit sur la masse SGnd du substrat SUB et le rayonnement électromagnétique émis par le circuit, notamment dans la bande de 800 MHz à 1 GHz. Le caisson NW comprend des régions dopées N+ NS1, NS2 formant des prises de caisson destinées à recevoir la tension d'alimentation Vdd du 35 circuit. Le caisson NW comprend également des régions DP, SP dopées P+ formant le drain et la source d'un transistor CMOS à canal P comprenant une grille GP formée au dessus d'une zone formant le canal du transistor, entre les régions de source SP et de drain DP. Le caisson PW comprend une région dopée P+ PWS formant une prise de caisson destinée à être connectée à la masse et deux régions SN, DN dopées N+ formant la source et le drain d'un transistor CMOS à canal N comprenant une grille GN formée au dessus d'une zone entre les régions de source SN et de drain DN. Les zones entre une région dopée P+ et une région dopée N+ comprennent une tranchée remplie d'un matériau isolant (non représenté), formée dans le io substrat pour isoler les régions dopées P+ des régions dopées N+. Les régions de drain DN, DP et de source SN, SP des transistors, forment avec les caissons NW et PW des capacités CPN, CNP. Dans l'exemple de la figure 1, les transistors à canal N et P sont interconnectés de manière à former un inverseur. Ainsi, la source SP reçoit la tension d'alimentation Vdd, 15 et la source SN est connectée à la prise de masse PWS. Une entrée In de l'inverseur est connectée aux grilles SN et SP, et une sortie Out de l'inverseur est connectée aux drains DN, DP. La prise de masse PWS du caisson PW forme une masse locale LGnd du circuit ISC qui peut être connectée à la masse du substrat SGnd, 20 ou recevoir une tension de polarisation par rapport à celle-ci. La figure 2 représente sur une échelle différents valeurs et plages de tension à considérer dans le fonctionnement du circuit intégré IC. L'échelle de la figure 2 comprend, en partant du sommet de l'échelle, des plages de tension GB, VDO, LGO, LGR puis SGO tout en bas de l'échelle. La plage de 25 tension GB délimite les variations de la tension d'alimentation Vdd résultant de variations des performances du circuit intégré liées à des variations de la température ambiante et à des variations des conditions de fabrication du circuit intégré. La plage de tension VDO délimite les variations de la tension Vdd en fonction de l'ampleur de l'activité du circuit intégré. La plage VDO 30 correspond à la chute de la tension Vdd dans les résistances internes du circuit intégré. La plage LGO délimite les variations de la tension de polarisation de la masse locale du circuit ISC en fonction de l'ampleur de l'activité du circuit intégré IC. La plage LGR délimite l'étendue maximum d'ajustement de la tension Vgb de la masse locale du circuit ISC. La plage SGO délimite les variations de la tension de la masse du substrat SUB en fonction de l'ampleur de l'activité du circuit intégré IC. L'étendue de la plage LGR peut être choisie de manière à ce que l'écart de tension entre les plages VDO et LGO soit supérieure ou égale à la somme des tensions minimum permettant d'assurer la commutation des transistors à canal n et à canal p du circuit intégré IC, soit la somme des tensions seuil Vtn d'un transistor à canal n et Vtp d'un transistor à canal p, auxquelles on ajoute une marge (overdrive) de 10% environ. L'étendue maximum de la plage d'ajustement de la tension Vgb de la io masse locale LGnd peut être choisie de manière à prendre en compte différentes tensions relatives au fonctionnement et aux caractéristiques du circuit intégré IC. Ainsi, l'étendue maximum de la plage d'ajustement de la tension Vgb peut être choisie de manière à être compatible avec les tensions de seuil d'un transistor à canal n et d'un transistor à canal p du circuit intégré 15 IC, avec la tension d'alimentation Vdd et avec les chutes de tension qui se produisent dans les circuits du circuit intégré lorsque ceux-ci sont actifs. Les tensions prises en compte sont considérées avec une marge d'erreur liée à des variations de performances du circuit intégré résultant de variations de la température ambiante ou de dérives des conditions de fabrication du circuit 20 intégré. Dans la technologie d'intégration à 90 nm, la tension d'alimentation nominale est de 1,3 V environ (à 10% près). En haut de l'échelle de la figure 2, les plages GB et VDO s'étendent sur environ 70 mV et 50 mV. Les tensions de seuil Vtp et Vtn sont en moyenne de 500 mV et 475 mV. Une 25 plage de tension s'étendant sur environ 1025 mV doit donc être prévue pour permettre la commutation des transistors à canal n et p du circuit ISC. Les plages LGO et SGO s'étendent sur 50 mV et 25 mV. Il reste donc environ 50 mV (à 10% près) pour la plage LGR d'ajustement de la tension Vgb. Dans la technologie d'intégration à 0.18 pm, la plage d'ajustement de la 30 tension Vgb peut voir une étendue de 100 à 200 mV. Les figures 3A, 3B représentent des courbes de variation en fonction du temps de la tension d'alimentation Vdd (courbes CV1, CV2) et de la tension Vgb de la masse locale LGnd (courbes CV3, CV4). En fonctionnement normal, la tension Vdd (courbe CV1) varie entre une valeur 35 maximum lorsque le circuit ISC est inactif et une valeur minimum Vdm. La zone de tensions entre les tensions Vdm et VdM correspond à la plage VDO sur la figure 2. En fonctionnement normal, la tension Vgb (courbe CV3) varie entre une valeur minimum Vgm lorsque le circuit ISC est inactif et une valeur maximum VgM lorsque le circuit est actif. La zone de tensions entre les tensions Vgm et VgM correspond à la plage LGO sur la figure 2. En cas de surtension par exemple provoquée par un flash lumineux tel qu'un tir laser sur le circuit ISC ou par un pic de tension appliqué sur une plage de contact du circuit, un fort courant apparaît entre la source d'alimentation Vdd et la masse locale LGnd du circuit ISC. Ce fort courant résulte du fait que des transistors bipolaires parasites ont tendance à amorcer un déclenchement parasite (latch-up). En revanche la présence du caisson enterré NISO minimise l'effet d'autres transistors bipolaires parasites, empêchant un fort courant de s'établir entre la masse locale LGnd du circuit ISC et la masse du substrat SGnd. Par conséquent, peu de courant passe entre la source d'alimentation Vdd et la masse de substrat SGnd. Les courbes CV2 et CV4 représentent l'effet de ce fort courant sur les tensions d'alimentation Vdd et de masse locale Vgb. Sur la courbe CV2, la tension Vdd marque une chute importante jusqu'à une tension VdS (plus de deux fois la largeur de la plage VDO). Sur la courbe CV4, la tension Vgb augmente rapidement jusqu'à atteindre un pic de tension VgS relativement élevé (plus de deux fois la largeur de la plage LGO). La figure 4 représente le circuit intégré IC selon un mode de réalisation. Sur la figure 4, le circuit intégré IC comprend plusieurs circuits formés dans le substrat SUB, dont plusieurs circuits ISCI, ISC2, ISC3 à protéger par un dispositif de contremesure. Le circuit intégré IC comprend un circuit d'alimentation général GPC fournissant aux différents circuits du circuit intégré, dont les circuits ISCI, ISC2, ISC3, la tension d'alimentation Vdd par rapport à la masse du substrat SGnd, à partir d'une tension d'alimentation externe Vps.
Selon un mode de réalisation, chacun des circuits ISC1, ISC2, ISC3 comprend un caisson de type de conductivité P PW1, PW2, PW3 entouré d'un caisson de type de conductivité N NW1, NW2, NW3, et isolé du reste du substrat SUB par un caisson isolant enterré NISOI, NISO2, NISO3. Chacun des circuits ISCI, ISC2, ISC3 comprend une prise de masse locale LG1, LG2, LG3 et peut être associé à un circuit de polarisation LGB1, LGB2, 9
LGB3 fournissant une tension Vgbl, Vgb2, Vgb3 de la masse locale LG1, LG2, LG3 par rapport à la masse du substrat SGnd. Ainsi, chaque circuit ISCI, ISC2, ISC3 peut être alimenté par une tension d'alimentation égale à Vdd ù Vgb<i> (i étant égal à 1, 2 ou 3). Comme chaque circuit ISCI, ISC2, ISC3 est isolé du substrat, les tensions Vgbl, Vgb2, Vgb3 peuvent être distinctes à un instant donné où les circuits ISCI, ISC2, ISC3 sont tous actifs. Les circuits LGB1, LGB2, LGB3 peuvent être constitués d'une simple résistance de quelques Ohms reliant la masse local LG1, LG2, LG3 à la masse du substrat SGnd. io Selon un mode de réalisation, chaque circuit ISCI, ISC2, ISC3 est associé à un circuit de détection DET1, DET2, DET3 pour détecter une attaque du circuit par une injection de faute et fournir un signal de détection DS1, DS2, DS3 actif en cas de détection d'une telle attaque. A cet effet, le circuit de détection est configuré pour détecter un pic de tension excédant un 15 certain seuil TH entre les tensions VgM et VgS, dans la tension Vbg de la masse locale LGnd, ou une chute de la tension d'alimentation Vdd excédant un certain seuil TH1 entre les tensions VdS et Vdm. Dans l'exemple de la figure 4, chaque circuit de détection DET1, DET2, DET3 est connecté entre la sortie du circuit d'alimentation GPC et la masse du substrat SGnd, et est 20 connecté à la borne de masse locale LG1, LG2, LG3 d'un des circuits ISCI, ISC2, ISC3. Le circuit intégré IC peut en outre comprendre un circuit logique LG, par exemple comprenant une porte logique OU, recevant tous les signaux de détection DS1, DS2, DS3, et fournissant un signal de détection consolidé CDS actif si l'un au moins des signaux DS1, DS2, DS3 est actif, 25 révélant la détection d'une attaque du circuit intégré IC par injection de faute. Les circuits DET1, DET2, DET3 permettent ainsi de détecter une injection de faute sur la totalité de la surface de substrat occupée par chacun des circuits ISCI, ISC2, ISC3, au dessus des caissons NISOI, NISO2, NISO3. 30 La figure 5 représente un exemple de circuit d'alimentation GPC du circuit intégré IC. Le circuit GPC comprend deux transistors MOS à canal N T1, T2, deux résistances RI, R2, un comparateur CP et un circuit élévateur de tension BPMP. Le drain des transistors T1, T2 reçoit la tension externe Vps. La source du transistor T1 est reliée à la masse du substrat SGnd par 35 l'intermédiaire des résistances RI et R2 connectées en série. Le noeud de 2958078 i0
jonction ND entre les résistances RI, R2 est connecté à une entrée directe du comparateur CP. Le comparateur CP comprend une entrée inverseuse recevant une tension de référence constante Vref, par exemple fixée à 0,8 V. La sortie du comparateur est connectée à une entrée du circuit BPMP. La 5 sortie du circuit BPMP est connectée aux grilles des transistors T1, T2. La source du transistor T2 fournit la tension d'alimentation Vdd. Le circuit BPMP par exemple réalisé par une pompe de charge, fournit une tension égale à Vdd + Vtn, Vtn étant la tension de seuil des transistors T1, T2. Le comparateur CP régule la tension Vdd en maintenant la tension au noeud ND sensiblement égale à la tension Vref. La valeur de la tension Vdd est définie par les valeurs des résistances RI , R2. La figure 6 représente un mode de réalisation de chacun des circuits de polarisation LGB1, LGB2, LGB3. Sur la figure 6, le circuit LGB comprend une résistance R3, un comparateur CP1, et une source de courant CS. La source de courant CS est alimentée par la tension Vdd et fournit un courant Iref égal à une tension de référence Vref divisée par une résistance (non représentée). La tension Vref est sensiblement constante, c'est-à-dire notamment indépendante de la température ambiante du circuit intégré IC et des conditions de fabrication de ce dernier. La tension Vref peut être par exemple fournie par un circuit de référence de bande interdite (bandgap reference circuit). Le comparateur CP1 est alimenté entre la tension d'alimentation Vdd et la masse du substrat SGnd. La résistance R3 est connectée en série entre la source de courant CS et la masse. Le noeud de jonction NI entre la source de courant et la résistance R3 est connecté à une entrée directe du comparateur CP1. La sortie du comparateur CP1, qui fournit la tension Vgb à une borne de masse LG (borne LG1, LG2, LG3 du circuit ISC1, ISC2, ISC3), est rebouclée sur son entrée inverseuse. Ainsi, le comparateur CP1 régule la tension Vgb en la maintenant égale à la tension au noeud NI. La tension Vgb fournie par le circuit LGB peut donc être calculée à l'aide de l'équation suivante Vgb R3 Iref = Vref R3/R (1) R étant une résistance telle que Vref = Iref R. Le circuit LGB présente l'avantage de ne pas être sensible à des variations de la tension d'alimentation Vdd qui peuvent se produire notamment lorsque le circuit Il
intégré IC est actif en raison de chutes de tension dans les résistances internes du circuit IC et en cas d'attaque par injection de faute. La résistance R3 peut être ajustable pour ajuster la tension de masse locale Vgb. Dans la technologie à 90 nm avec la tension d'alimentation Vdd fixée à 1,3 V, et si Vref est fixé à 0,1 V et si Vgb est ajustable entre 1 mV et 50 mV, alors le rapport R3/R des valeurs des résistances R3 et R est ajustable entre 1/100 et 1/2. Classiquement, la résistance ajustable R3 peut être réalisée à l'aide de plusieurs résistances connectées en série, un interrupteur étant monté en parallèle de chaque résistance montée en série, io chaque interrupteur étant commandé par un bit d'un mot de commande. Un mode de réalisation d'un circuit de détection est représenté sur la figure 7. Sur la figure 7, le circuit de détection DETC comprend deux résistances R4, R5, un condensateur Cl, un comparateur CP2 et une bascule FF. Le comparateur CP2 est alimenté entre la tension d'alimentation 15 Vdd et la masse du substrat SGnd. Le condensateur Cl est connecté entre la source de tension Vdd et la masse SGnd pour filtrer ou atténuer les éventuelles variations de la tension Vdd. Une entrée directe du comparateur CP2 est connectée à la borne de masse LG (borne LG1, LG2, LG3 du circuit ISCI, ISC2, ISC3). Les résistances R4, R5 sont connectées en série entre 20 une source de tension de référence Vref et la masse du substrat SGnd. Le noeud de jonction N2 entre les deux résistances R4, R5 est connecté à une entrée inverseuse du comparateur CP2. La sortie du comparateur CP2 est connectée à une entrée de la bascule FF qui fournit en sortie un signal de détection DS. La bascule FF est par exemple de type RS pour fournir un 25 signal logique à 0 tant que le signal de sortie du comparateur est à 0 et un signal logique à 1 dès qu'un signal non nul apparaît en sortie du comparateur CP2. L'état de la bascule FF peut être réinitialisé à 0 à l'aide d'un signal d'initialisation RST fourni à une entrée d'initialisation de la bascule. Le condensateur Cl présente une capacité suffisante pour 30 maintenir la tension Vdd en cas de chute de tension le temps nécessaire à la détection. Le circuit DETC fournit un signal logique DS signalant une attaque (par exemple à 1) dès qu'apparait une différence de tension entre la tension de la masse locale Vgb et la masse du substrat SGnd, supérieure à une 35 tension de seuil TH. La tension de seuil TH est définie par les résistances R4, R5 et la tension de référence Vref. Ainsi, la tension de seuil TH peut être déterminée à l'aide de la formule suivante : TH = Vref / (1 + R4/R5) (2) Les résistances R4 et R5 peuvent être choisies de manière à ce que la tension de seuil TH soit aussi faible que possible au dessus de la tension VgM ou de la plage LGO (figures 3B et 2) pour obtenir une grande sensibilité de détection tout en évitant le risque de fausse détection. L'une des deux résistances R4, R5, par exemple la résistance R5 peut être ajustable pour ajuster la tension de seuil TH en fonction de la tension de masse locale Vgb lo fournie par le circuit de polarisation LGB pour obtenir une certaine sensibilité de détection. Les figures 2 et 3B indiquent une plage d'ajustement de la tension de seuil TH située au dessus de la plage LGO d'ajustement de la tension Vgb et entre les tensions VgM et VgS. La figure 3B montre qu'un compromis est à trouver pour le seuil TH1, sachant qu'en augmentant la 15 sensibilité de détection, on augmente le risque de fausse détection. Lorsque le signal DS signale une attaque, toute mesure appropriée peut être prise, compte tenu qu'un signalement d'erreur peut révéler une attaque du circuit intégré IC. Ainsi, le circuit intégré peut, en cas de détection d'erreur, par exemple se réinitialiser, se bloquer définitivement, effacer sa 20 mémoire ou seulement les données sensibles qu'il mémorise, etc. La figure 8 représente un circuit de détection DETC' selon un autre mode de réalisation. Sur la figure 8, le circuit DETC' diffère du circuit DETC en ce qu'il est configuré pour se connecter non pas à la borne de masse locale du circuit ISCI, ISC2, ISC3, mais à la borne d'alimentation VS 25 (correspondant à VS1, VS2 ou VS3 sur la figure 4) de celui-ci. Le circuit DETC' diffère du circuit DETC en ce que l'entrée inverseuse du comparateur CP2 est connectée à la borne VS et la source de tension d'alimentation Vdd est reliée à la source de tension Vref par l'intermédiaire de résistances R6 et R7 connectées en série. Le noeud de jonction N3 entre les résistances R6, 30 R7 est connecté à l'entrée directe du comparateur CP2. Le circuit DETC' fournit un signal logique DS signalant une attaque (par exemple à 1) dès qu'apparait une différence de tension entre la tension d'alimentation à la borne VS et la tension d'alimentation Vdd en sortie du circuit GPC, inférieure à une tension de seuil TH1. La tension de seuil TH1 est définie par les résistances R6, R7 et des tensions Vdd et Vref. Ainsi, la tension de seuil TH1 peut être calculée à l'aide de la formule suivante : TH1 = Vref + (Vdd ù Vref) / (1 + R6/R7) (3) Les résistances R6 et R7 peuvent être choisies de manière à ce que la tension de seuil TH1 soit aussi grande que possible en dessous de la tension Vdm ou de la plage VDO (figures 3A et 2) pour obtenir une grande sensibilité de détection tout en évitant le risque de fausse détection. L'une des deux résistances R6, R7, par exemple la résistance R7 peut être ajustable pour ajuster la tension de seuil TH1 en fonction de la tension d'alimentation Vdd fournie par le circuit d'alimentation GPC pour obtenir une certaine sensibilité de détection. La figure 3B indique une plage d'ajustement de la tension de seuil TH1 située entre les tensions VdS et Vdm. La figure 3B montre qu'un compromis est à trouver pour le seuil TH1, sachant qu'en augmentant la sensibilité de détection, on augmente le risque de fausse détection. La figure 9 représente un exemple classique de réalisation de la bascule FF. La bascule FF comprend deux portes logiques NOR1, NOR2 de type NON OU. La sortie de chaque porte NOR1, NOR2 est connectée à une entrée de l'autre porte. La porte NOR1 comprend une entrée connectée à une entrée de la bascule FF (connectée à la sortie du comparateur CP2) et la porte NOR2 comprend une entrée recevant un signal d'initialisation RST de la bascule. La sortie de la porte NOR2 est connectée à la sortie de la bascule. II apparaîtra clairement à l'homme de l'art que la présente invention est susceptible de diverses variantes de réalisation et diverses applications. En particulier, l'invention n'est pas limitée à un circuit intégré comportant plusieurs caissons isolés du substrat. L'ensemble des circuits de traitement du circuit intégré peuvent être formés dans un seul caisson isolé et un seul caisson entourant le caisson isolé.
L'invention n'est pas non plus limitée aux circuits décrits de détection d'une attaque par flash lumineux ou pics de tensions appliqués sur des plages de contact du circuit intégré. Tout autre circuit permettant de détecter un pic de tension franchissant une tension de seuil dans la tension d'alimentation ou dans la tension de masse (isolée du substrat) d'un circuit de traitement du circuit intégré peut convenir.
Claims (15)
- REVENDICATIONS1. Procédé de détection d'une attaque d'un microcircuit électronique (IC, ICI), comprenant des étapes consistant à : former le microcircuit (IC) dans un substrat (SUB), former dans le substrat un premier caisson (PW, PW1) électriquement 5 isolé du substrat, par un second caisson (NW, NW1) et un caisson enterré (NISO, NISOI), et former dans les premier et second caissons un circuit de traitement de donnée (ISC, ISCI) comprenant une borne de masse (LG1) formée dans le premier caisson et une borne d'alimentation (VS, VS1) formée dans le 10 second caisson, caractérisé en ce qu'il comprend une étape d'activation d'un signal de détection (DS, DS1) lorsqu'une tension (Vgb, Vdd) à la borne de masse (LGnd, LG1) ou d'alimentation (VS, VS1) du circuit de traitement de donnée (ISC, ISCI) franchit une tension de seuil (TH, TH1). 15
- 2. Procédé selon la revendication 1, dans lequel le signal de détection (DS, DS1) est activé dès que la tension entre la borne de masse (LGnd, LG1) et une masse du substrat (SUB) devient supérieure à la tension de seuil (TH). 20
- 3. Procédé selon la revendication 2, dans lequel la tension de seuil (TH) est ajustée à une valeur supérieure à une plage (VDO) de variation de la tension de masse (Vgb) à la borne de masse (LGnd, LG1) du circuit de traitement de donnée (ISC, ISCI) en fonctionnement normal, compte tenu 25 d'une tension de polarisation de masse par rapport à la masse du substrat (SGnd).
- 4. Procédé selon la revendication 1, dans lequel le signal de détection (DS, DS1) est activé dès que la tension entre la borne d'alimentation (VS, 30 VS1) et une masse du substrat (SUB) devient inférieure à la tension de seuil (TH1). 14
- 5. Procédé selon la revendication 4, dans lequel la tension de seuil (TH1) est ajustée à une valeur inférieure à une plage (VDO) de variation de la tension d'alimentation (Vdd) du circuit de traitement de donnée (ISC, ISCI) en fonctionnement normal.
- 6. Procédé selon l'une des revendications 1 à 5, dans lequel la borne de masse (LGnd, LG1) du circuit de traitement de donnée (ISC, ISCI) est reliée à la borne de masse du substrat (SGnd) par l'intermédiaire d'une résistance ou d'un circuit de polarisation (LGB, LGB1) fournissant une tension de polarisation (Vgb) à la borne de masse du circuit de traitement de donnée.
- 7. Procédé selon l'une des revendications 1 à 6, comprenant des étapes de formation de plusieurs circuits de traitement de donnée (ISC1, ISC2, ISC3) dans le substrat (SUB), chaque circuit de traitement de donnée étant formé dans un premier caisson (PW1, PW2, PW3), et dans un second caisson (NW1, NW2, NW3) isolant électriquement du substrat le premier caisson avec un caisson enterré (NISOI, NISO2, NISO3), chaque circuit de traitement de donnée comprenant une borne de masse (LG1, LG2, LG3) formée dans le premier caisson et une borne d'alimentation (VS1, VS2, VS3) formée dans le second caisson, et de formation d'un circuit de détection (DET1, DET2, DET3) pour chaque circuit de traitement de donnée, chaque circuit de détection fournissant un signal de détection (DS1, DS2, DS3) actif lorsqu'une tension (Vgbl, Vgb2, Vgb3, Vdd) à la borne de masse ou d'alimentation (VS1, VS2, VS3) du circuit de traitement de donnée franchit une tension de seuil (TH, TH1).
- 8. Procédé selon la revendication 7, comprenant une étape de formation pour chaque circuit de traitement de donnée (ISC1, ISC2, ISC3) d'un circuit de polarisation fournissant une tension de polarisation (Vgbl, Vgb2, Vgb3) à la borne de masse (LG1, LG2, LG3) du circuit de traitement de donnée.
- 9. Procédé selon la revendication 7 ou 8, comprenant une étape de fourniture d'un signal de détection consolidé (CDS) actif si l'un au moins des signaux de détection (DS1, DS2, DS3) est actif.
- 10. Microcircuit comprenant un circuit de traitement de donnée (ISC, ISCI), comportant des bornes d'alimentation (VS1) et de masse (LG1), la borne de masse étant formée dans un premier caisson (PW, PW1) électriquement isolé du substrat, par un second caisson (NW, NW1) et un caisson enterré (NISO, NISOI), caractérisé en ce que le circuit de traitement (ISC, ISCI) est associé à un circuit de détection (DETC, DETC', DET1) pour activer un signal de détection (DS, DS1) lorsqu'une tension (Vgb, Vdd) à la borne de masse (LGnd, LG1) ou d'alimentation (VS, VS1) du circuit de traitement de donnée (ISC, ISCI) franchit une tension de seuil (TH, TH1), le microcircuit étant configuré pour mettre en oeuvre le procédé selon l'une des revendications 1 à 5.
- 11. Microcircuit selon la revendication 10, dans lequel la borne de masse (LGnd, LG1) du circuit de traitement de donnée (ISC, ISCI) est reliée à la borne de masse du substrat (SGnd) par l'intermédiaire d'une résistance ou d'un circuit de polarisation (LGB, LGB1) fournissant une tension de polarisation (Vgb) à la borne de masse du circuit de traitement de donnée.
- 12. Microcircuit selon la revendication 11, comprenant plusieurs circuits de traitement de données (ISC1, ISC2, ISC3) comportant chacun des bornes d'alimentation (VS1, VS2, VS3) et de masse (LG1, LG2, LG3), chacune des bornes de masse étant formée dans un caisson isolé (PW1, PW2, PW3), chaque circuit de traitement étant associé à un circuit de détection (DET1, DET2, DET3) fournissant un signal de détection (DS1, DS2, DS3) actif lorsqu'une tension (Vgbl, Vgb2, Vgb3, Vdd) à la borne de masse ou d'alimentation (VS1, VS2, VS3) du circuit de traitement de donnée franchit une tension de seuil (TH, TH1).
- 13. Microcircuit selon la revendication 12, comprenant un circuit 35 logique LG recevant tous les signaux de détection (DS1, DS2, DS3), et fournissant un signal de détection consolidé (CDS) actif si l'un au moins des signaux de détection est actif.
- 14. Microcircuit selon la revendication 12 ou 13, comprenant pour chaque circuit de traitement (ISC1, ISC2, ISC3) un circuit de polarisation fournissant une tension de polarisation (Vgbl, Vgb2, Vgb3) à la borne de masse (LG1, LG2, LG3) du circuit de traitement de donnée.
- 15. Dispositif portable à microcircuit, caractérisé en ce qu'il comprend 10 un microcircuit (IC, IC2) selon l'une des revendications 10 à 14.
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1001177A FR2958078B1 (fr) | 2010-03-24 | 2010-03-24 | Procede et dispositif de contremesure contre une attaque par injection d'erreur dans un microcircuit electronique |
EP11157357.2A EP2369622B1 (fr) | 2010-03-24 | 2011-03-08 | Procédé et dispositif de contremesure contre une attaque par injection d'erreur dans un microcircuit électronique |
PCT/IB2011/051102 WO2011117781A1 (fr) | 2010-03-24 | 2011-03-16 | Procédé et dispositif de contremesure pour protéger des données circulant dans un microcircuit électronique |
US13/071,325 US8564364B2 (en) | 2010-03-24 | 2011-03-24 | Countermeasure method and device for protecting against a fault injection attack by detection of a well voltage crossing a threshold |
US13/625,697 US8819609B2 (en) | 2010-03-24 | 2012-09-24 | Countermeasure method and device for protecting data circulating in an electronic microcircuit |
US14/446,814 US9223368B2 (en) | 2010-03-24 | 2014-07-30 | Countermeasure method and device for protecting data circulating in an electronic microcircuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1001177A FR2958078B1 (fr) | 2010-03-24 | 2010-03-24 | Procede et dispositif de contremesure contre une attaque par injection d'erreur dans un microcircuit electronique |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2958078A1 true FR2958078A1 (fr) | 2011-09-30 |
FR2958078B1 FR2958078B1 (fr) | 2012-04-20 |
Family
ID=43447031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1001177A Active FR2958078B1 (fr) | 2010-03-24 | 2010-03-24 | Procede et dispositif de contremesure contre une attaque par injection d'erreur dans un microcircuit electronique |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR2958078B1 (fr) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3301605A1 (fr) * | 2016-09-30 | 2018-04-04 | Stmicroelectronics (Rousset) Sas | Puce électronique protégée |
EP3373330A1 (fr) * | 2017-03-06 | 2018-09-12 | Stmicroelectronics (Rousset) Sas | Architecture de puce électronique |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030133241A1 (en) * | 2001-12-29 | 2003-07-17 | Markus Feuser | Method and arrangement for protecting digital parts of circuits |
US20070126100A1 (en) * | 2001-08-07 | 2007-06-07 | Hirotaka Mizuno | Semiconductor device and IC card including supply voltage wiring lines formed in different areas and having different shapes |
US20070171588A1 (en) * | 2006-01-05 | 2007-07-26 | Infineon Technologies Ag | Protection circuit and operating method thereof |
EP2109139A2 (fr) * | 2008-04-03 | 2009-10-14 | STMicroelectronics (Rousset) SAS | Dispositif de protection d'un circuit intégré contre une attaque par laser |
-
2010
- 2010-03-24 FR FR1001177A patent/FR2958078B1/fr active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070126100A1 (en) * | 2001-08-07 | 2007-06-07 | Hirotaka Mizuno | Semiconductor device and IC card including supply voltage wiring lines formed in different areas and having different shapes |
US20030133241A1 (en) * | 2001-12-29 | 2003-07-17 | Markus Feuser | Method and arrangement for protecting digital parts of circuits |
US20070171588A1 (en) * | 2006-01-05 | 2007-07-26 | Infineon Technologies Ag | Protection circuit and operating method thereof |
EP2109139A2 (fr) * | 2008-04-03 | 2009-10-14 | STMicroelectronics (Rousset) SAS | Dispositif de protection d'un circuit intégré contre une attaque par laser |
Non-Patent Citations (1)
Title |
---|
HAGAI BAR-EL ET AL: "The Sorcerer's Apprentice Guide to Fault Attacks", 7 May 2004, pages: 1 - 13, XP002329915 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3301605A1 (fr) * | 2016-09-30 | 2018-04-04 | Stmicroelectronics (Rousset) Sas | Puce électronique protégée |
FR3057087A1 (fr) * | 2016-09-30 | 2018-04-06 | Stmicroelectronics (Rousset) Sas | Puce electronique protegee |
US10141396B2 (en) | 2016-09-30 | 2018-11-27 | Stmicroelectronics (Rousset) Sas | Protected electronic chip |
US10388724B2 (en) | 2016-09-30 | 2019-08-20 | Stmicroelectronics (Rousset) Sas | Protected electronic chip |
EP3373330A1 (fr) * | 2017-03-06 | 2018-09-12 | Stmicroelectronics (Rousset) Sas | Architecture de puce électronique |
US10734329B2 (en) | 2017-03-06 | 2020-08-04 | Stmicroelectronics (Rousset) Sas | Electronic chip architecture |
Also Published As
Publication number | Publication date |
---|---|
FR2958078B1 (fr) | 2012-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2369622B1 (fr) | Procédé et dispositif de contremesure contre une attaque par injection d'erreur dans un microcircuit électronique | |
EP3246943B1 (fr) | Dispositif electronique a identification de type puf | |
WO2011089179A1 (fr) | Dispositif electronique, en particulier de protection contre les décharges électrostatistiques, et procédé de protection d'un composant contre des décharges électrostatiques | |
FR2631167A1 (fr) | Circuit integre comportant une protection contre les decharges electrostatiques | |
EP2109139A2 (fr) | Dispositif de protection d'un circuit intégré contre une attaque par laser | |
FR2725306A1 (fr) | Mosfet de puissance ayant un circuit de commande et de protection contre les surintensites de courant et les surtemperatures decouple du corps de diode | |
EP2355152A1 (fr) | Circuit intégré muni d'une protection contre des décharges électrostatiques | |
FR2517886A1 (fr) | Circuit limitateur-transducteur de signaux en alternatif codes en forme binaire, servant d'etage d'entree d'un circuit integre igfet | |
EP0700141B1 (fr) | Détecteur de température sur circuit intégré | |
EP2285038B1 (fr) | Surveillance de l'activité d'un circuit électronique | |
EP2290691A1 (fr) | Structure de protection d'un circuit intégré contre des décharges électrostatiques | |
EP0306395B1 (fr) | Circuit de détection de lumière | |
EP0664564B1 (fr) | Circuit intégré incorporant une protection contre les décharges électrostatistiques | |
EP0568440B1 (fr) | Circuit de détection de seuils de tension | |
FR2958078A1 (fr) | Procede et dispositif de contremesure contre une attaque par injection d'erreur dans un microcircuit electronique | |
FR2955699A1 (fr) | Structure de protection d'un circuit integre contre des decharges electrostatiques | |
EP0655783B1 (fr) | Fusible pour circuit intégré | |
FR2822956A1 (fr) | Dispositif de detection d'alimentation | |
EP1811568B1 (fr) | Dispositif de protection d'un circuit intégré contre les phénomènes de déclenchement parasite | |
FR3074605A1 (fr) | Procede de detection d'un amincissement eventuel d'un substrat d'un circuit integre par sa face arriere, et dispositif associe | |
FR2958098A1 (fr) | Procede et dispositif de contremesure pour proteger des donnees circulant dans un microcircuit electronique | |
EP3863140A1 (fr) | Protection contre des surtensions | |
EP2246886A1 (fr) | Circuit intégré muni d'une protection de grande surface contre les décharges électrostatiques | |
EP2463632B1 (fr) | Dispositif de détection comportant un circuit de test robuste | |
US10998276B2 (en) | Integrated circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 7 |
|
PLFP | Fee payment |
Year of fee payment: 8 |