FR2887089A1 - Dispositif formant porte logique adaptee pour detecter une faute logique - Google Patents

Dispositif formant porte logique adaptee pour detecter une faute logique Download PDF

Info

Publication number
FR2887089A1
FR2887089A1 FR0505854A FR0505854A FR2887089A1 FR 2887089 A1 FR2887089 A1 FR 2887089A1 FR 0505854 A FR0505854 A FR 0505854A FR 0505854 A FR0505854 A FR 0505854A FR 2887089 A1 FR2887089 A1 FR 2887089A1
Authority
FR
France
Prior art keywords
transistors
nmos
logic
transistor
pmos
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
Application number
FR0505854A
Other languages
English (en)
Other versions
FR2887089B1 (fr
Inventor
Loic Duflot
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.)
Etat Francais
Original Assignee
Etat Francais
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 Etat Francais filed Critical Etat Francais
Priority to FR0505854A priority Critical patent/FR2887089B1/fr
Priority to EP06763521A priority patent/EP1894339A2/fr
Priority to CA002611177A priority patent/CA2611177A1/fr
Priority to US11/921,527 priority patent/US8030970B2/en
Priority to PCT/EP2006/062917 priority patent/WO2006131514A2/fr
Publication of FR2887089A1 publication Critical patent/FR2887089A1/fr
Application granted granted Critical
Publication of FR2887089B1 publication Critical patent/FR2887089B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/0008Arrangements for reducing power consumption
    • H03K19/0013Arrangements for reducing power consumption in field effect transistor circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/003Modifications for increasing the reliability for protection

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Logic Circuits (AREA)
  • Measurement Of Current Or Voltage (AREA)

Abstract

La présente invention concerne un dispositif formant circuit électrique, caractérisé par le fait qu'il comprend des moyens logiques (30) générant et exploitant des signaux faibles de niveaux intermédiaires entre les niveaux d'alimentation dudit dispositif et des moyens de détection de signaux sortant de la gamme de tels signaux faibles.

Description

La présente invention concerne le domaine des circuits électriques
logiques. Elle se rapporte plus particulièrement à la détection de faute logique dans les
circuits électriques. Elle est en particulier adaptée pour la lutte contre des attaques par injection de faute(s) visant à accéder frauduleusement à des données liées à de tels circuits.
On appelle faute logique un changement d'état d'une équipotentielle induit par l'environnement du circuit, le nouvel état de l'équipotentielle ne correspondant pas à l'état logique attendu au regard de l'état des moyens qui la pilotent.
Une faute peut être accidentelle ou générée volontairement par un attaquant dans le cadre d'une attaque par perturbations ou injection de fautes.
La présente invention trouve avantageusement, mais non limitativement, application aux dispositifs manipulant un secret du type à circuit(s) logique(s), ou encore aux dispositifs cryptographiques du type à circuit(s) logique(s).
L'homme de l'art sait que l'injection de faute(s) dans un circuit logique peut constituer un moyen efficace d'attaque de systèmes cryptographiques.
Certaines attaques par perturbations visent à modifier l'état interne d'un dispositif à circuits logiques pour affaiblir sa sécurité ou en modifier le fonctionnement prévu, par exemple par saut d'instruction ou modification de valeur d'un compteur.
D'autres comme l'attaque différentielle par injection de faute(s) consistent à obtenir des informations, liées par exemple à une clé confidentielle de chiffrement ou de signature, à l'aide d'un calcul basé sur la différence entre deux états d'un même signal prélevé sur une sortie ou un noeud du circuit, correspondant respectivement l'un au signal théorique attendu en fonctionnement normal et l'autre au signal généré lors d'une injection d'une faute, par exemple en forçant une entrée ou un noeud du circuit en le faisant passer d'un niveau logique normal 0 à un niveau logique forcé 1 ou inversement en le faisant passer d'un niveau logique normal 1 à un niveau logique forcé 0.
Les attaques par injection de fautes sont particulièrement efficaces à l'égard d'algorithmes symétriques de type AES ([1] National Institute of Standards and Technology (NIST) : Advanced Encryption Standard (AES) . FIPS Publication 197, http://csrc.nist. gov/encryption/aes/index.html, Nov. 2001) ou DES, et d'algorithmes asymétriques comme RSA.
L'homme de l'art trouvera un rappel sur les attaques par injection de fautes dans les documents [2] E. Biham and A. Shamir: Differential Fault Analysis of 5 secret key cryptosystems . Proceedings of Advances in Cryptology (CRYPTO), 1997 et [3] P. Dusart, G. Letourneux and O. Vivolo: "Differential Fault Analysis on AES". Cryptology ePrint Archive 2003/010 http://www.iacr.org.
Différentes parades ont déjà été proposées pour tenter de s'opposer à de telles attaques ([4] H. Bar-El, H. Choukri, D. Naccache, M. Tunstall and C. Whelan: 10 The sorcerer's apprentice guide to fault attacks . Proceedings of Workshop on Fault Detection and Tolerance in Cryptography, 2004).
Sans être exhaustif quant aux moyens jusqu'ici proposés, on peut citer les moyens suivants.
En premier lieu on peut citer des parades basées sur une redondance des opérations logiques effectuées. Il est assez simple de répéter de.x fois une opération sur la base des mêmes bits d'entrée et de vérifier si les deux sorties ainsi obtenues sont ou non similaires. Dans le cas ou les deux sorties ne sont pas identiques, une faute logique sera détectée. Néanmoins une telle proposition n'est pas totalement efficace, notamment dans la mesure ou il est difficile d'interdire systématiquement l'injection de deux fautes identiques sur chacune des branches de l'opération logique, conduisant à des sorties identiques. Une telle injection est a priori non détectable par un tel dispositif Une variante apparentée de parade consiste à opérer une redondance aléatoire et non pas systématique, de certaines opérations logiques.
Une autre parade proposée consiste à calculer deux fois une opération logique. Un premier calcul est réalisé sur la base de bits d'entrée corrects , tandis que le second calcul est réalisé sur la base de bits d'entrée complémentaires. Cette parade est certes plus difficile à leurrer dans la mesure ou il est assez complexe de produire deux fautes non détectées dans ce cas, surtout si les deux opérations logiques sont réalisées simultanément en parallèle. Elle n'est cependant pas totalement infaillible ni neutre au niveau du coût.
Une variante consiste à opérer une combinaison des parades évoquées cidessus, par exemple en réalisant quatre fois une opération logique sur la base de bits d'entrée corrects et trois fois la même opération logique sur la base des bits d'entrée complémentaires.
Une autre proposition connue consiste à coder chaque bit utile du signal d'entrée à l'aide de plusieurs bits de données. Dans ce cas certains états de combinaison des bits de données sont interdits en théorie. La détection de tels états interdits, imputés à une attaque par injection de fautes, conduit en conséquence à la génération d'une alarme. On peut citer sur ce point les systèmes asynchrones utilisant un protocole double rail 4 phases (voir par exemple [5] J. Sparso and S. Furber: Principles of asynchronous circuits design , Kluwer academic publishers, 2001 et [6] S. Moore, R. Anderson and M. Kuhn: Improving smartcard security using selftimed circuit technology . IEEE International Symposium on Asynchronous Circuits and Systems, 2002). Un tel système n'est pas infaillible dans la mesure ou seule la génération d'un état interdit, par l'injection de fautes, est détectée et peut conduire à une alarme.
Enfin on notera que le signal d'alarme doit généralement lui-même être protégé, pour éviter que le dispositif ne soit leurré par une attaque directe du signal d'alarme visant à neutraliser celui-ci.
En synthèse, aucun des moyens jusqu'ici proposés ne donne totalement satisfaction, que ce soit en termes de coût ou d'efficacité, pour lutter contre des attaques de circuits électriques par injection de faute.
La présente invention a maintenant pour but de proposer de nouveaux moyens permettant une lutte plus efficace que l'art antérieur à l'encontre de tentatives d'attaques de circuits électriques logiques par perturbations ou injection de faute. Par ailleurs, la présente invention permet de détecter des fautes logiques involontaires causées par l'environnement du circuit.
Le but précité est atteint dans le cadre de la présente invention, grâce à un dispositif formant circuit électrique, caractérisé par le fait qu'il comprend des moyens logiques générant et exploitant des signaux faibles de niveaux intermédiaires entre les niveaux d'alimentation dudit dispositif et des moyens de détection de génération de signaux sortant de la gamme de tels signaux faibles.
D'autres caractéristiques, buts et avantages de l'invention ressortiront encore de la description qui suit, laquelle est purement illustrative et non limitative, et doit 5 être lue en regard des dessins annexés sur lesquels: - la figure 1 représente deux signaux correspondant respectivement à des niveaux logiques forts et des niveaux logiques faibles, - les figures 2, 3 et 4 représentent respectivement des circuits OR, inverseur et tampon, conformes à la présente invention, - la figure 5 représente un schéma de détection de niveau fort conforme à la présente invention, et - les figures 6 et 7 représentent les schémas de deux circuits conformes à la présente invention équipés respectivement de moyens de régénération de signal, en entrée.
On va dans un premier temps expliciter ci-dessous le concept de niveaux faibles de signaux exploités dans le cadre de la présente invention.
En algèbre de Boole, un bit donné peut prendre deux valeurs logiques: 0 ou 1. Généralement le niveau logique 0 recherché correspond au potentiel de la masse de l'alimentation GND, tandis que le niveau logique 1 correspond au potentiel positif de l'alimentation VDD.
Cependant en pratique, les circuits intégrés numérique réalisés à base de transistors, par exemple de technologie MOS, peuvent générer des signaux de niveaux intermédiaires entre ces niveaux logiques attendus GND et VDD.
Ces signaux de niveaux intermédiaires sont dénommés faibles .
La présente invention exploite plus précisément deux niveaux faibles: un niveau 1 faible et un niveau 0 faible tels qu'illustrés par exemple sur la figure 1 annexée, sur laquelle le niveau logique 0 faible est intermédiaire entre GND et VDD et plus précisément proche de GND tout en étant supérieur à ce dernier, tandis que le niveau logique 1 faible est intermédiaire entre VDD et GND et plus précisément proche de VDD tout en étant inférieur à ce dernier.
Plus précisément dans le cadre de la présente invention, les inventeurs proposent d'utiliser par exemple des transistors NMOS pour générer un niveau 1 faible dans la mesure ou de tels transistors NMOS sont inadaptés pour transmettre un 1 logique ou VDD parfait. En effet si un transistor NMOS est en mesure de transmettre correctement un niveau logique 0, il n'est pas adapté pour transmettre un niveau logique 1 puisque sa sortie ne peut atteindre la tension d'alimentation VDD dans un temps de propagation classique. En d'autres termes la sortie d'un transistor NMOS attaqué en entrée par un niveau logique 1 ou VDD, atteint un niveau qui reste inférieur à cette tension d'alimentation VDD. Cet état correspond à un exemple de niveau logique 1 faible dans le cadre de la présente invention.
Symétriquement les inventeurs proposent d'utiliser par exemple des transistors PMOS pour générer un niveau 0 faible clans la mesure ou de tels transistors PMOS sont inadaptés pour transmettre un 0 logique ou GND parfait. En effet si un transistor PMOS est en mesure de transmettre correctement un niveau logique 1, il n'est pas adapté pour transmettre un niveau logique 0 puisque sa sortie ne peut atteindre la tension d'alimentation GND dans un temps de propagation classique. En d'autres termes la sortie d'un transistor PMOS attaqué en entrée par un niveau logique 0 ou GND, atteint un niveau qui reste supérieur à cette tension GND. Cet état correspond à un exemple de niveau logique 0 faible dans le cadre de la présente invention.
Les considérations ci-dessus sont illustrées sur la figure 1 annexée sur laquelle on a représenté en 10 un signal commutant entre des niveaux logiques 0 forts ou GND, référencés 12, et des niveaux logiques 1 forts ou VDD, référencés 14, tandis que l'on a représenté en 20 un signal du type exploité dans le cadre de la présente invention, commutant entre des niveaux logiques 0 faibles, référencés 22, et des niveaux logiques 1 faibles, référencés 24.
En tant que tels les niveaux faibles précités sont bien connus de l'homme de l'art. Ils ont déjà été identifiés à maintes reprises dans l'étude de circuits intégrés logiques. Ils sont en général considérés comme des signaux parasites que l'on cherche plutôt à éliminer ou à corriger, sauf dans de très rares cas comme en particulier dans un contexte d'optimisation surfacique poussée.
On va maintenant décrire des exemples de réalisation de circuits conformes à la présente invention à base de transistors NMOS et PMOS, exploitant le concept précédemment exposé, en regard des figures 2, 3 et 4 annexées. Le circuit 30 illustré sur la figure 2 est conçu pour opérer une fonction logique OU ou OR . Celui 40 illustré sur la figure 3 est conçu pour opérer une fonction logique d'inverseur et celui 50 illustré sur la figure 4 est conçu pour servir de buffer , c'est-à- dire de porte validant à des niveaux faibles des signaux d'entrée correspondant reçus à des niveaux forts.
Comme indiqué précédemment l'agencement des transistors utilisés est adapté pour générer et véhiculer, non pas des niveaux GND et VDD, mais des niveaux faibles intermédiaires entre GND et VDD.
Le circuit 30 OR illustré sur la figure 2 comprend quatre transistors: deux transistors NMOS 31 et 32 dont les jonctions drain-source sont reliées en parallèle entre la borne d'alimentation VDD et un noeud 33 et dont les grilles reçoivent respectivement les bits d'entrée a ou b, et deux transistors PMOS 34 et 36 dont les jonctions drain-source sont reliées en série entre le noeud précité 33 et la masse GND et dont les grilles reçoivent également respectivement les bits d'entrée a ou b. La sortie du circuit sur laquelle est disponible l'opération logique OR des deux entrées a et b, est prélevée sur le noeud 33.
L'homme de l'art comprendra que pour le circuit illustré sur la figure 2: - 1) lorsque les niveaux d'entrée a et b sont au niveau logique 0 fort ou GND, les transistors NMOS 31 et 32 sont bloqués, tandis que les transistors PMOS 34 et 36 sont mauvais conducteurs; en conséquence le noeud intermédiaire entre ces deux transistors 34 et 36, ainsi que le noeud de sortie 33, sont placés à un niveau logique 0 faible, - 2) lorsque le niveau d'entrée a est au niveau logique 1 fort ou VDD alors que le niveau d'entrée b est au niveau logique 0 fort ou GND, le transistor NMOS 31 est mauvais conducteur tandis que le transistor NMOS 32 est bloqué, le transistor PMOS 34 est bloqué tandis que le transistor PMOS 36 est mauvais conducteur; en conséquence le noeud intermédiaire entre les deux transistors 34 et 36 est au niveau logique 0 faible, mais le noeud de sortie 33 est placé à un niveau logique 1 faible, - 3) lorsque le niveau d'entrée a est au niveau logique O fort ou GND alors que le niveau d'entrée b est au niveau logique 1 fort ou VDD, le transistor NMOS 31 est bloqué tandis que le transistor NMOS 32 est mauvais conducteur, le transistor PMOS 34 est mauvais conducteur tandis que le transistor PMOS 36 est bloqué; en conséquence le noeud de sortie 33 est placé à un niveau logique 1 faible, et - 4) lorsque les niveaux d'entrée a et b sont au niveau logique 1 fort ou VDD, les transistors NMOS 31 et 32 sont mauvais conducteurs, tandis que les transistors PMOS 34 et 36 sont bloqués; en conséquence le noeud de sortie 33 est placé à un niveau logique 1 faible.
Le circuit inverseur 40 illustré sur la figure 3 comprend quatre transistors: deux transistors NMOS 41 et 42, et deux transistors PMOS 44 et 46. Un transistor NMOS 41 et un transistor PMOS 44 ont leurs jonctions drain-source reliées en série entre la masse GND et un noeud de sortie 43. De même le deuxième transistor NMOS 42 et le deuxième transistor PMOS 46 ont leurs jonctions drain-source reliées en série entre le noeud de sortie et la borne d'alimentation VDD. Les grilles des transistors NMOS 41 et PMOS 46 reçoivent le signal d'entrée a. Celles des transistors PMOS 44 et NMOS 42 sont respectivement reliées à la masse GND et à la borne d'alimentation positive VDD.
L'homme de l'art comprendra que pour le circuit inverseur illustré sur la figure 3: - 1) lorsque le niveau d'entrée a est au niveau logique 0 fort ou GND, le transistor NMOS 41 est bloqué, tandis que le transistor PMOS 46 applique un niveau logique 1 fort sur le transistor NMOS 42 qui est lui, alors mauvais conducteur; en conséquence le noeud de sortie 43 est placé à un niveau logique 1 faible, - 2) en revanche lorsque le niveau d'entrée a est au niveau logique 1 fort ou VDD, le transistor PMOS 46 est bloqué, tandis que le transistor NMOS 41 applique un niveau logique 0 fort sur le transistor PMOS 44 qui est lui, alors mauvais conducteur; en conséquence le noeud de sortie 43 est placé à un niveau logique 0 faible.
Le circuit 50 illustré sur la figure 4 comprend deux transistors: un transistor NMOS 51 et un transistor PMOS 54 dont les jonctions drainsource sont reliées en série entre la borne d'alimentation VDD et la masse GND. Le noeud de sortie 53 est prélevé sur le point commun intermédiaire aux deux transistors 51 et 54. Les grilles des deux transistors NMOS 51 et PMOS 54 reçoivent le signal d'entrée a.
L'homme de l'art comprendra que pour le circuit illustré sur la figure 4: - 1) lorsque le niveau d'entrée a est au niveau logique 0 fort ou GND, le transistor NMOS 51 est bloqué, tandis que le transistor PMOS 54 est mauvais conducteur; en conséquence le noeud de sortie 53 est placé à un niveau logique 0 faible, - 2) en revanche lorsque le niveau d'entrée a est au niveau logique 1 fort ou VDD, le transistor PMOS 54 est bloqué, tandis que le transistor NMOS 51 est mauvais conducteur; en conséquence le noeud de sortie 53 est placé à un niveau logique 1 faible.
On notera que chacun des circuits conformes à la présente invention illustrés sur les figures 2, 3 et 4 comporte au moins un transistor NMOS et au moins un transistor PMOS. Plus précisément chacun de ces circuits comportent un nombre identique de transistors respectivement de type NMOS et de type PMOS. Les grilles de certains de ces transistors NMOS et PMOS reçoivent des signaux respectivement symétriques (sur la figure 2, les transistors NMOS 31 et 32 placés en parallèle, reçoivent sur leur grille respectivement le signal d'entrée a et b, tandis que les transistors PMOS 34, 36 placés en série reçoivent sur leur grille respectivement le signal d'entrée a et b; sur la figure 3, les transistors NMOS 42 et PMOS 44 ont leur grille reliée respectivement à la borne d'alimentation positive VDD et à la masse GND) ou identiques (sur les figures 3 et 4, les transistors NMOS 41 et PMOS 46, respectivement NMOS 51 et PMOS 54, reçoivent le signal d'entrée sur leur grille). Par ailleurs on notera que pour tous ces circuits, il est prévu au moins un transistor NMOS entre la borne d'alimentation positive et le noeud de sortie et au moins un transistor PMOS entre la masse et ledit noeud de sortie. De plus il est prévu un transistor de type NMOS et un transistor de type PMOS entre chacune des entrées et chaque noeud de sortie (sur la figure 2, les transistors NMOS 31 et PMOS 34 sont placés entre l'entrée a et le noeud de sortie 33, tandis que les transistors NMOS 32 et PMOS 36 sont placés entre l'entrée b et le noeud de sortie 33; sur la figure 3, le transistor NMOS 41 et le transistor PMOS 46 sont placés entre l'entrée et le noeud de sortie 43; sur la figure 4 les transistors NMOS 51 et PMOS 54 sont placés entre l'entrée et le noeud de sortie 53).
Bien entendu la présente invention n'est pas limitée à la structure particulière des circuits illustrés sur les figures 2, 3 et 4. Elle s'étend à tout autre 5 circuit équivalent.
On notera que toute opération logique peut être obtenue à partir d'une combinaison des fonctions OR et inverseur, illustrées sur les figures 2 et 3. Par ailleurs la porte illustrée sur la figure 4 peut être avantageusement utilisée en sortie de registres de structure classique, pour transformer les niveaux logiques forts générés par de tels registres en niveaux faibles.
Bien évidemment la présente invention peut également exploiter des registres conçus pour générer directement à leur sortie des signaux de niveaux faibles.
Dans le cadre de la présente invention, il est également prévu des moyens de détection de signaux sortant de la gamme des signaux faibles, pour générer une alarme lors d'une telle détection. Ainsi toute faute logique, qui conduit à transformer un niveau 0 faible en 0 fort ou à transformer un niveau 1 faible en 1 fort, ou plus généralement conduit à la génération d'un 0 ou 1 fort, aboutit à une alarme.
De tels moyens de détection peuvent faire l'objet de nombreux modes de réalisation.
On a illustré sur la figure 5 un exemple de circuit de détection de signaux de niveau fort.
On aperçoit sur la figure 5 deux cellules 60 et 70 adaptées respectivement pour détecter un 0 fort et un 1 fort.
Chacune de ces deux cellules 60, 70 comprend deux transistors 62, 64 et 72, 74 respectivement de type NMOS et PMOS. Chaque paire de transistors 62, 64 et 72, 74 est placée en série entre la masse GND et la borne d'alimentation positive VDD. Dans la cellule 60, le transistor NMOS 62 reçoit le signal d'entrée à analyser sur sa grille, tandis que le transistor PMOS 64 reçoit une tension constante Vch sur sa grille. Symétriquement dans la cellule 70, le transistor PMOS 74 reçoit le signal d'entrée à analyser sur sa grille, tandis que le transistor NMOS 72 reçoit une tension constante Vde sur sa grille. Les sorties 63, 73 des deux cellules 60 et 70 sont prélevées sur les noeuds intermédiaires communs aux deux transistors 62, 64 et respectivement 72, 74. La cellule 60 génère un niveau logique 1 en sortie lorsque le 5 signal d'entrée est un niveau 0 fort, et génère un niveau logique 0 dans les autres cas (c'est-à-dire lorsque l'entrée est à un niveau 1 fort, 1 faible ou 0 faible). La cellule 70 génère un niveau logique 0 en sortie lorsque le signal d'entrée est un niveau 1 fort, et génère un niveau logique 1 dans les autres cas (c'est-à-dire lorsque l'entrée est à un niveau 0 fort, 0 faible ou 1 faible).
L'homme de l'art comprendra qu'il est nécessaire de correctement dimensionner les transistors 62, 64 d'une part et 72, 74 d'autre part afin que la détection soit possible. Ce dimensionnement ainsi que le choix des valeurs de Vch et Vde dépend de la technologie utilisée. A titre d'exemple, pour une technologie CMOS 0,35 avec VDD = 5V, on peut choisir Vch = 3,8V et Vde = 0,8V.
Comme on le voit sur la figure 5, après inversion d[e la sortie de la cellule 60, dans un inverseur 80, la sortie de l'inverseur 80 et la sortie de la cellule 70 sont combinées dans une porte logique NAND 82. Ainsi la porte NAND délivre un signal haut de niveau 1 dès lors qu'un signal fort est détecté, qu'il s'agisse d'un 1 fort VDD ou d'un 0 fort GND, et la porte NAND délivre un signal bas de niveau 0 dans les autres cas.
Ainsi on retrouve également sur la figure 5 un circuit qui comporte au moins un transistor NMOS et au moins un transistor PMOS, plus précisément un circuit qui comporte un nombre identique de transistors respectivement de type NMOS et de type PMOS. Les grilles de certains de ces transistors NMOJ et PMOS reçoivent des signaux respectivement symétriques (sur la figure 5, le transistor NMOS 72 reçoit le signal Vde tandis que le transistor PMOS 64 reçoit le signal Vch) ou identiques (sur la figure 5, les transistors NMOS 62 et PMOS 74, reçoivent le signal d'entrée sur leur grille). Par ailleurs on notera que pour ce circuit, il est prévu un transistor PMOS 64, 74 entre la borne d'alimentation positive et le noeud de sortie des cellules 60, '70 et un transistor NMOS 62, 72 entre la masse et lesdits noeuds de Il sortie. De plus il est prévu un transistor de type NMOS 62 et un transistor de type PMOS 74 entre l'entrée et respectivement le noeud de sortie des cellules 60, 70.
Les inventeurs ont constaté par ailleurs que l'exploitation de signaux faibles peut cependant conduire à une dégénérescence, c'est à dire à une réduction progressive du signal utile, lorsque le circuit comporte un nombre conséquent de portes en cascades. Pour éviter par conséquent un risque de non discrimination entre un 0 faible et un 1 faible ou encore des temps de propagation trop longs, il est souhaitable de régénérer les signaux au moins en certains noeuds choisis du circuit. Une telle régénération doit être prévue en entrée des portes logiques, et ce selon des lo modalités d'intégration qui interdisent un accès à l'interface entre le module de régénération et la porte logique située en aval, pour interdire toute tentative d'injection de faute à ce niveau.
On a illustré sur la figure 6 un exemple de porte logique OR conforme aux dispositions précédemment décrites en regard de la figure 2, mais complétée sur chacune de ses deux entrées a et b par une cascade de deux inverseurs logiques 90, 92 et 94, 96. Le fonctionnement de la porte OR reste identique à celui précédemment décrit. Les inverseurs 90, 92 et 94, 96 garantissent cependant que les entrées de la porte OR proprement dite reçoivent bien des signaux de niveau fort, issus des inverseurs 92 et 96, y compris dans le cas ou les signaux d'entrée a et b sont de niveau faible. Bien entendu les inverseurs 90, 92 et 94, 96 peuvent être formés d'inverseurs classiques.
On a illustré sur la figure 7 un autre exemple de porte conforme à la présente invention équipée de moyens régénérateurs de signal en entrée. Il s'agit ici d'une porte de même structure que celle précédemment décrite en regard de la figure 2, équipée cette fois d'un inverseur unique 97, 98 sur ses entrées a et b. Les inverseurs 97 et 98 qui peuvent là encore être de configuration class'que, régénèrent les signaux d'entrée a et b, à un niveau haut, quelque soit leur niveau initial. Ces inverseurs transforment la porte, de type OR initialement, en une porte de type NAND.
Les moyens de régénération pourront prendre toute autre forme appropriée.
Il est vrai que la structure proposée dans le cadre de la présente invention peut conduire., surtout équipée de moyens de régénération de signal et de moyens de détection de niveaux forts, à un nombre de transistors important et à un temps de propagation de signal notablement augmenté par rapport à un circuit classique.
Cependant on notera que l'on peut omettre les moyens spécifiques de la présente invention, exploitant des courants faibles et détectant des courants forts, en tout lieu du circuit ou une protection n'est pas jugée nécessaire. Par ailleurs dans la mesure ou il n'est pas nécessaire de protéger chaque noeud, on peut prévoir dans le cadre de la présente invention de disséminer, selon un schéma bien déterminé ou aléatoire, seulement quelques portes conformes à la présente invention dans un circuit complexe.
Selon une autre caractéristique avantageuse de la présente invention, il peut être inséré dans un circuit, et ce sans liaison électrique avec le reste de ce circuit, une ou plusieurs structures de détection du type illustré sur la figure 5. Dans ce cas l'entrée de chaque structure de détection est de préférence placée à un potentiel déterminé constant, par exemple VDD/2. Lorsque plusieurs de telles structures de détection isolées sont prévues, elles seront de préférence réparties au mieux pour couvrir de manière a priori assez régulière l'ensemble du circt it, même si une part d'aléatoire peut être prévue. Ces structures de détection isolées ne véhiculent pas de signal utile et ne participent pas à une opération logique. Elles ne sont donc pas capables de détecter des niveaux hauts transmis par une porte logique. Elles sont cependant aptes à détecter une injection de faute, locale ou sur une zone importante, par exemple sous forme d'une attaque d'un circuit par un faisceau laser.
Bien entendu la présente invention n'est pas limitée aux modes de réalisation particuliers qui viennent d'être décrits, mais s'étend à toute variantes conformes à son esprit.
La présente invention peut trouver de nombreuses applications. A titre d'exemple non limitatif, on peut citer la protection de cartes à puces et autres cryptosystèmes.

Claims (23)

REVENDICATIONS
1. Dispositif formant circuit électrique, caractérisé par le fait qu'il comprend des moyens logiques (30, 40, 50) générant et exploitant des signaux faibles de niveaux intermédiaires entre les niveaux d'alimentation duit dispositif et des moyens (60, 70) de détection de signaux sortant de la gamme de tels signaux faibles.
2. Dispositif selon la revendication 1, caractérisé par le fait que les moyens logiques (30, 40, 50) générant et exploitant des signaux faibles, comprennent des transistors NMOS (31, 32, 42, 51) pour générer un niveau 1 faible et des transistors PMOS (34, 36, 44, 54) pour générer un niveau 0 faible .
3. Dispositif selon l'une des revendications 1 ou 2, caractérisé par le fait que les moyens logiques (30, 40, 50) sont adaptés pour générer un niveau logique 0 faible intermédiaire entre le potentiel de masse (GND) et le potentiel d'alimentation positive (VDD) et plus précisément proche du potentiel de masse (GND) tout en étant supérieur à ce dernier, et un niveau logique 1 faible intermédiaire entre le potentiel d'alimentation positive (VDD) et le potentiel de masse (GND) et plus précisément proche du potentiel de l'alimentation positive (VDD) tout en étant inférieur à ce dernier.
4. Dispositif selon l'une des revendications 1 à 3, caractérisé par le fait qu'il comprend un circuit OR (30) qui comprend quatre transistors: deux transistors NMOS (31, 32) dont les jonctions drain-source sont reliées en parallèle entre la borne d'alimentation positive (VDD) et un noeud de sortie (33) et dont les grilles reçoivent respectivement les bits d'entrée (a ou b), et deux transistors PMOS (34, 36) dont les jonctions drain-source sont reliées en série entre le noeud de sortie précité (33) et la masse (GND) et dont les grilles reçoivent également respectivement les bits d'entrée (a ou b).
5. Dispositif selon l'une des revendications 1 à 4, caractérisé par le fait qu'il 30 comprend un circuit inverseur (40) qui comprend quatre transistors: un transistor NMOS (41) et un transistor PMOS (44) ayant leurs jonctions drain-source reliées en série entre la masse (GND) et un noeud de sortie (43), un deuxième transistor NMOS (42) et un deuxième transistor PMOS (46) ayant leurs jonctions drain-source reliées en série entre le noeud de sortie (43) et la borne d'alimentation positive (VDD), les grilles du premier transistor NMOS (41) et du deuxième transistor PMOS (46) recevant le signal d'entrée (a), tandis que celles du premier transistor PMOS (44) et du deuxième transistor NMOS (42) sont respectivement reliées à la masse (GND) et à la borne d'alimentation positive (VDD).
6. Dispositif selon l'une des revendications 1 à 5, caractérisé par le fait qu'il comprend un circuit tampon (50) qui comprend deux transistors: un transistor NMOS (51) et un transistor PMOS (54) dont les jonctions drain-source sont reliées en série entre une borne d'alimentation positive (VDD) et la masse (GND), le noeud de sortie (53) étant prélevé sur le point commun intermédiaire aux deux transistors (51, 54) et les grilles des deux transistors NMOS (51) et PMOS (54) recevant le signal d'entrée (a).
7. Dispositif selon l'une des revendications 1 à 6, caractérisé par le fait que chacun des circuits logiques (30, 40, 50) comporte au moins un transistor NMOS et au moins un transistor PMOS.
8. Dispositif selon l'une des revendications 1 à 7, caractérisé par le fait que chacun des circuits logiques (30, 40, 50) comporte au moins un transistor NMOS entre la borne d'alimentation positive et le noeud de sortie et au moins un transistor PMOS entre la masse et ledit noeud de sortie.
9. Dispositif selon l'une des revendications 1 à 8, caractérisé par le fait que chacun des circuits logiques (30, 40, 50) comporte un transistor de type NMOS et un transistor de type PMOS entre chacune des entrées et chaque noeud de sortie.
10. Dispositif selon l'une des revendications 1 à 9, caractérisé par le fait que les moyens (60, 70) de détection de signaux sortant de la gamme de signaux faibles comprennent deux cellules (60, 70) adaptées pour détecter respectivement un 0 fort et un 1 fort et des moyens (80, 82) destinés à opérer une combinaison logique de la sortie de ces deux cellules.
11. Dispositif selon la revendication 10, caractérisé par le fait que chacune des deux cellules (60, 70) comprend deux transistors (62, 64 et 72, 74) respectivement de type NMOS et PMOS.
12. Dispositif selon la revendication 11, caractérisé par le fait que chaque 5 paire de transistors (62, 64 et 72, 74) est placée en série entre la masse (GND) et la borne d'alimentation positive (VDD).
13. Dispositif selon l'une des revendications 10 à 12, caractérisé par le fait que dans la cellule (60) de détection d'un 0 fort, le transistor NMOS (62) reçoit le signal d'entrée à analyser sur sa grille, tandis que le transistor PMOS (64) reçoit une tension constante Vch sur sa grille, la sortie (63) étant prélevée sur le noeud intermédiaire communs aux deux transistors (62, 64).
14. Dispositif selon l'une des revendications 10 à 13, caractérisé par le fait que dans la cellule (70) de détection d'un 1 fort, le transistor PMOS (74) reçoit le signal d'entrée à analyser sur sa grille, tandis que le transistor NMOS (72) reçoit une tension constante Vde sur sa grille, la sortie (73) étant prélevée sur le noeud intermédiaire communs aux deux transistors (72, 74).
15. Dispositif selon l'une des revendications 10 à 14, caractérisé par le fait que les moyens (80, 82) opérant une combinaison logique de la sortie de ces deux cellules (60, 70) comprennent un inverseur (80) placé en sortie de l'une des deux cellules (60) et une porte logique NAND (82) qui combine la sortie de l'inverseur (80) et la sortie de l'autre cellule (70) .
16. Dispositif selon l'une des revendications 1 à 15, caractérisé par le fait que les moyens (60, 70) de détection de signaux sortant de la gamme des signaux faibles comportent au moins un transistor NMOS et au moins un transistor PMOS.
17. Dispositif selon l'une des revendications 1 à 16, caractérisé par le fait que les moyens (60, 70) de détection de signaux sortant de la gamme des signaux faibles comportent un transistor PMOS (64, 74) entre la borne d'alimentation positive et le noeud de sortie des cellules (60, 70) et un transistor NMOS (62, 72) entre la masse et lesdits noeuds de sortie.
18. Dispositif selon l'une des revendications 1 à 17, prise en combinaison avec la revendication 10, caractérisé par le fait que les moyens (60, 70) de détection de signaux sortant de la gamme des signaux faibles comportent un transistor de type NMOS (62) et un transistor de type PMOS (74) entre l'entrée et respectivement le noeud de sortie des cellules (60, 70).
19. Dispositif selon l'une des revendications 1 à 18, caractérisé par le fait 5 qu'il comprend des moyens (90, 92, 94, 96; 97, 98) de régénération de signal en entrée des polies logiques (30).
20. Dispositif selon la revendication 19, caractérisé par le fait que les moyens de régénération de signal comprennent au moins un inverseur (97, 98) disposé sur chaque entrée d'une porte logique.
21. Dispositif selon la revendication 19, caractérisé par le fait que les moyens de régénération de signal comprennent deux inverseurs en cascade (90, 92, 94, 96) disposés sur chaque entrée d'une porte logique.
22. Dispositif selon l'une des revendications 1 à 21, caractérisé par le fait qu'il comprend une pluralité de portes logiques (30, 40, 50) exploitant des niveaux faibles de signaux, disséminées selon un schéma bien déterminé ou aléatoire, dans un circuit complexe.
23. Dispositif selon l'une des revendications 1 à 22, caractérisé par le fait qu'il comprend., inséré dans un circuit, et ce sans liaison électrique avec le reste de ce circuit, une ou plusieurs structures (60, 70) de détection de signaux sortant de la gamme des niveaux faibles.
FR0505854A 2005-06-09 2005-06-09 Dispositif formant porte logique adaptee pour detecter une faute logique Expired - Fee Related FR2887089B1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
FR0505854A FR2887089B1 (fr) 2005-06-09 2005-06-09 Dispositif formant porte logique adaptee pour detecter une faute logique
EP06763521A EP1894339A2 (fr) 2005-06-09 2006-06-06 Dispositif formant porte logique adaptée pour détecter une faute logique
CA002611177A CA2611177A1 (fr) 2005-06-09 2006-06-06 Dispositif formant porte logique adaptee pour detecter une faute logique
US11/921,527 US8030970B2 (en) 2005-06-09 2006-06-06 Device forming a logic gate for detecting a logic error
PCT/EP2006/062917 WO2006131514A2 (fr) 2005-06-09 2006-06-06 Dispositif formant porte logique adaptée pour détecter une faute logique

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0505854A FR2887089B1 (fr) 2005-06-09 2005-06-09 Dispositif formant porte logique adaptee pour detecter une faute logique

Publications (2)

Publication Number Publication Date
FR2887089A1 true FR2887089A1 (fr) 2006-12-15
FR2887089B1 FR2887089B1 (fr) 2007-09-07

Family

ID=35529760

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0505854A Expired - Fee Related FR2887089B1 (fr) 2005-06-09 2005-06-09 Dispositif formant porte logique adaptee pour detecter une faute logique

Country Status (5)

Country Link
US (1) US8030970B2 (fr)
EP (1) EP1894339A2 (fr)
CA (1) CA2611177A1 (fr)
FR (1) FR2887089B1 (fr)
WO (1) WO2006131514A2 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102341264B1 (ko) * 2015-02-02 2021-12-20 삼성전자주식회사 래치를 이용한 레이저 검출기 및 이를 포함하는 반도체 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4947105A (en) * 1985-12-03 1990-08-07 Siemens Aktiengesellschaft Method and circuit for testing integrated circuit modules
US5187392A (en) * 1991-07-31 1993-02-16 Intel Corporation Programmable logic device with limited signal swing
US5365123A (en) * 1991-08-29 1994-11-15 Mitsubishi Denki Kabushiki Kaisha Semiconductor logic circuits with diodes and amplitude limiter
EP0768671A2 (fr) * 1995-10-13 1997-04-16 Cirrus Logic, Inc. Circuits, systèmes et méthodes pour réduire une perte de tension pendant le transfert de données dans une ligne conductrice

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0282713A (ja) * 1988-09-19 1990-03-23 Fujitsu Ltd スイッチング補助回路
US5491432A (en) * 1992-08-07 1996-02-13 Lsi Logic Corporation CMOS Differential driver circuit for high offset ground
US6731150B2 (en) * 2002-08-28 2004-05-04 Micron Technology, Inc. Amplifiers with variable swing control
KR100558489B1 (ko) * 2003-09-02 2006-03-07 삼성전자주식회사 반도체 장치의 온 다이 터미네이션 회로 및 방법
JP4804926B2 (ja) * 2006-01-12 2011-11-02 富士通セミコンダクター株式会社 半導体集積回路

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4947105A (en) * 1985-12-03 1990-08-07 Siemens Aktiengesellschaft Method and circuit for testing integrated circuit modules
US5187392A (en) * 1991-07-31 1993-02-16 Intel Corporation Programmable logic device with limited signal swing
US5365123A (en) * 1991-08-29 1994-11-15 Mitsubishi Denki Kabushiki Kaisha Semiconductor logic circuits with diodes and amplitude limiter
EP0768671A2 (fr) * 1995-10-13 1997-04-16 Cirrus Logic, Inc. Circuits, systèmes et méthodes pour réduire une perte de tension pendant le transfert de données dans une ligne conductrice

Also Published As

Publication number Publication date
EP1894339A2 (fr) 2008-03-05
US20090302883A1 (en) 2009-12-10
FR2887089B1 (fr) 2007-09-07
US8030970B2 (en) 2011-10-04
WO2006131514A3 (fr) 2007-04-26
CA2611177A1 (fr) 2006-12-14
WO2006131514A2 (fr) 2006-12-14

Similar Documents

Publication Publication Date Title
EP2131495B1 (fr) Circuit asynchrone insensible aux délais avec circuit d'insertion de délai
EP3246943B1 (fr) Dispositif electronique a identification de type puf
EP2380306B1 (fr) Circuit de cryptographie protege contre les attaques en observation, notamment d'ordre eleve
EP2324442B1 (fr) Procede de detection d'anomalies dans un circuit de cryptographie protege par logique differentielle et circuit mettant en oeuvre un tel procede
WO2010084107A1 (fr) Circuit de cryptographie, protégé notamment contre les attaques par observation de fuites d'information par leur chiffrement
FR2884336A1 (fr) Dispositif et procede pour calculer une representation d'un operande de resultat.
EP3264460A1 (fr) Procédé de protection d'un circuit intégré, et circuit intégré correspondant
EP2257904B1 (fr) Procédé de protection de circuit de cryptographie programmable, et circuit protege par un tel procédé
EP2285038B1 (fr) Surveillance de l'activité d'un circuit électronique
FR2928060A1 (fr) Procede de test de circuits de cryptographie, circuit de cryptographie securise apte a etre teste, et procede de cablage d'un tel circuit.
FR2866966A1 (fr) Circuit de decryptage et de cryptage
FR3056322A1 (fr) Procede de chiffrement ou de dechiffrement protege contre des attaques par canaux caches
EP3595234A1 (fr) Registre à décalage protégé contre les attaques physiques
EP1610463A1 (fr) Vérification d'un flux de bits
FR2887089A1 (fr) Dispositif formant porte logique adaptee pour detecter une faute logique
EP2983083A1 (fr) Procede de cryptographie sur courbe elliptique comprenant une detection d'erreur
FR2896057A1 (fr) Procede et dispositif de generation d'un nombre aleatoire dans un peripherique usb
EP1878115A1 (fr) Dispositif formant porte logique adaptee pour minimiser les differences de comportement electrique ou electromagnetique dans un circuit integre manipulant un secret
FR2914076A1 (fr) Generateur de signaux aleatoires et generateur de nombres aleatoires
EP3343427B1 (fr) Procédé et dispositif de gestion de la consommation en courant d'un module intégré
Limaye et al. PolyWorm: Leveraging polymorphic behavior to implant hardware trojans
FR2860933A1 (fr) Circuit dote d'un bus ayant plusieurs recepteurs
EP2624296A1 (fr) Protection d'un circuit integre contre des attaques invasives
FR3135854A1 (fr) Fourniture sécurisée de clefs pour un cryptage totalement homomorphe
WO2019122679A1 (fr) Procédé cryptographique de signature de groupe

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20140228