Brevet FR2835638A1 — publié le 20030808

k. La présente invention concerne de façon générale des circuits intégrés avec des fonctions de sécurité. L' invention concerne plus particulièrement une carte à circuit intégré (CI), ou carte à puce, ayant un contrôleur de séaurité qui détecte des conditions anormales telles qu'un accès non autorisé, une destruction ou une modification d'information par des utilisateurs non autorisés, et des environnements de fonctionnement anormaux. Depuis l' apparition des cartes à puce dans les annces 1920, divers types de cartes personnelles (par exemple des cartes de paiement, des cartes d' identification, des cartes d'achat, des cartes de crédit, etc.) ont été largement utilisés pour effectuer diverses transactions. Récemment, les cartes à puce se sont largement répandues du fait des nombreux avantages offerts par des cartes à puce, comme par exemple la commodité, la sécurité et divers types de fonctions utilitaires qui sont rendues possibles par l'utilisation de cartes à puce. De façon caractéristique, une carte à puce est fabriquce avec un dispositif à semiconducteur mince fixé sur une plaque de matière plastique de la taille d'une carte de crédit, avec une épaisseur d' environ 0,5 mm, sous la forme d'une puce montée sur une carte. Une carte à puce s'adapte très bien à l'utilisation avec des applications avancées relatives à de l' information multimédia, du fait que des cartes à puce procurent une meilleure sécurité et une meilleure protection contre la perte de données, en comparaison avec des cartes ayant des pistes magnétiques. De façon générale, pour des cartes à puce ayant des configurations et des tailles similaires à celles de cartes à pistes magnétiques caractéristiques, il y a deux types de cartes à puce, c'est-à-dire des cartes à puce sans contact (ou CICC pour "contactless IC card") et des cartes à communication avec couplage à distance (ou RCCC pour "remote coupling communication card"). Une carte à puce sans contact (comme celle développée par AT&T) est capable d'effectuer une détection dans la plage de 12,5 mm, et la carte à communication avec couplage à distance peut être sensible dans la plage de 700 cm, ceci étant normalisé conformément à la norme ISO DIS 10536. Il y a une autre manière de classer des cartes à puce, basée par exemple sur le fait que le carte à puce comprend ou non un microprocesseur incorporé. Une carte à puce ayant un microprocesseur incorporé est généralement appelée une "carte intelligente", qu'on distingue de cartes à puce sans contact et de cartes à mémoire qui ne comprennent pas de microprocesseurs. Une carte intelligente comprend de facon caractéristique une unité centrale de traitement, une mémoire morte programmable et effacable de facon électrique (EEPROM) pour stocker des fichiers de programmes d' applications, une mémoire morte (ROM) et une mémoire vive (RAM). Des cartes intelligentes peuvent être utilisées dans diverses applications, et elles procurent une fiabilité / séaurité élevée, une grande capacité pour le stockage de données et diverses fonctions (par exemple le porte-monnaie électronique). En fait, des cartes intelligentes peuvent être utilisées dans divers domaines pour faciliter la gestion d' information avec communication bidirectionnelle, traitement réparti et préservation d' information sécurisée. De tels domaines incluent la finance, la distribution, l'automatisation dans les usines et les bureaux, les traitements médicaux, le trafic, les industries, la sécurité sociale, la communication mobile, les téléphones payants, la télévision par câble, la maintenance pour la distribution d'électricité, de gaz et d'eau, l'éducation, les cartes de crédit, les cartes de paiement, les cartes prépayées, la maintenance pour le gaz de ville, la sécurité de l' information et la banque à domicile. De facon correspondante, compte tenu de la tendance actuelle à intégrer dans une seule carte diverses fonctions associées à un service, les cartes intelligentes procurent commodément les appareils et les procédés de communication qui sont nécessaires pour la mise en oeuvre de divers services. Il est préférable que des cartes intelligentes procurent une séaurité fiable qui est capable de maintenir l' information stockée à l'intérieur, de façon à empêcher la fuite d'informations concernant des utilisateurs ou des gestionnaires de systèmes. Certains procédés pour scruter des signaux internes de cartes intelligentes pour trouver des caractéristiques de données, peuvent endommager les donnces, comme par exemple dans le cas de l'utilisation d'un oscilloscope pour examiner des lignes de métal sur une surface d'une puce après avoir enlevé une couche d'oxyde de silicium recouvrant la surface de la puce (ceci est appelé "décapsulation"). Pour empêcher un telle scrutation, un dispositif de détection est nécessaire pour détecter un événement de décapsulation, un tel dispositif pouvant consister en un détecteur d' exposition à la lumière couplé à un récepteur optique, ou en un détecteur d'enlèvement de passivation. Une autre manière de scruter une carte intelligente consiste à scruter des données qui sont transmises à travers des lignes de transmission en utilisant un détecteur de fréquence pour déterminer si une fréquence de signal d'horloge principal est hors d'une plage prédéterminée. Une carte intelligente doit être adaptée pour la protection contre l'endommagement physique dû par exemple à des environnements de fonctionnement et des décapsulations non autorisées. On peut employer un détecteur de tension pour protéger une carte intelligente en définissant une plage d'une tension standard et en assurant une protection contre un dépassement de la plage de la tension standard, pouvant occasionner une contrainte électrique destructrice sur la carte intelligente. En outre, un capteur de température est utile pour détecter des températures anormales afin d'éviter un endommagement de la carte intelligente à cause de températures anormalement basses ou élevées. Comme décrit ci-dessus, une carte intelligente classique peut être protégée contre des dommages, par exemple une fuite d' information par des intrusions à partir de l'extérieur, une destruction physique, une modulation de donnces ou des environnements de fonctionnement anormaux, en restaurant des circuits internes de la carte intelligente ainsi qu'un microprocesseur, lorsqu'il y a au moins un signal de détection valide généré par un dispositif de détection (c'est-à-dire un détecteur optique, un détecteur d'enlèvement de passivation, un détecteur de fréquence, un détecteur de tension, un capteur de température, etc.). Cependant, des cartes intelligentes classiques ne comprennent pas des fonctions qui permettent à un utilisateur de reconnaître des intrusions non autorisées ou des raisons de restauration lorsqu'une carte intelligente a été recapsulée après le rétablissement de la fréquence d'horloge principale, de la tension, de la température d'environnement, etc. En fait, même si une information privée concernant une affaire personnelle ou un compte financier a été volée ou modifiée par un intrus malveillant, un utilisateur autorisé ou un gestionnaire de système autorisé ne pourrait pas déterminer ou vérifier une transgression illégale. La présente invention porte sur une carte à puce ou à circuit intégré à semiconducteur comprenant un circuit de sécurité qui est capable de stocker de l' information associce à la détection de conditions anormales dues à des intrusions non autorisées et des environnements de fonctionnement anormaux. Le circuit de sécurité est de préférence incorporé dans la carte à puce et il fournit à un utilisateur une information qui permet à l'utilisateur de déterminer un état restauré d'une unité centrale de traitement de la carte à puce, et la cause de celui-ci. Selon un aspect de l'invention, un circuit intégré à semiconducteur ayant une unité centrale de traitement comprend une multiplicité de détecteurs, parmi lesquels chaque détecteur détecte une condition de fonctionnement correspondante du circuit intégré et génère un signal de détection qui indique une condition anormale, un générateur de signal de restauration pour générer un signal de restauration en réponse à un signal de détection émis par l'un des détecteurs, et une mémoire non volatile pour stocker des signaux de détection émis par les détecteurs. L'unité centrale de traitement est restaurée en réponse au signal de restauration après que les signaux de détection ont été stockés dans une mémoire non volatile. Selon un autre aspect, le circuit intégré comprend des bascules pour stocker les signaux de détection, un circuit logique pour générer un signal de programmation lorsque l'un au moins des signaux de détection indique une condition anormale, et un temporisateur pour générer un signal de commande de temporisateur lorsqu'un temps prédéterminé s'est écoulé après l 'activation du signal de programmation. La mémoire non volatile stocke les signaux de détection en réponse au signal de programmation. Le générateur de signal de restauration génère le signal de restauration en réponse au signal de commande de temporisateur. Le temps prédéterminé est de préférence le temps nécessaire pour stocker les signaux de détection dans la mémoire non volatile en réponse au signal de programmation. Selon encore un autre aspect de l'invention, la mémoire non volatile comprend une multiplicité de cellules de mémoire pour stocker les signaux de détection. Les cellules de mémoire sont de préférence des cellules de mémoire morte programmable et effaçable de façon électrique. Selon un autre aspect de l'invention, le circuit intégré peut comprendre une carte intelligente ayant une unit cenLale de LaiLement incorpore l'inL4rieur. Selon encore un auLre aspecL, les d6LecLeurs coprennenL des d@LecLeurs pour d@LecLer les environnemenLs de foncLionnemenL, Lels qu'une fr6quence d'une borloge de syL@me, une Lension d'alimenLaLion, une LempAraLure eL 1'exposiLion la lumi@re. Ces aspecLs, caracL6risLiques eL avanLages de la prdsenLe ioenLion, ainsi que d'auLres, resorLironL de la descripLion d@Laille suivanLe des modes de ralisaLion prAf6s, qui esL lire en se rAfranL aux dessins annexs, dans lesquels: la tigure 1 esL un schAma synopLique d'une carLe inLelligenLe comprenanL un conLrleur de sAcuriLA incorpord, conforme un mode de ralisaLion de 1'invenLion. [a figure 2 eL un scbma d'une carLe inLelligenLe illusLanL des d@Lails d'un conLraleur de sAcuriLd conforme u mode de rdalisaLion de 1'ioenLion. La figure 3 esL un scbma illuGL scuriL reprAGenL sur la figure 2. On va mainLenanL dAcrire la prsenLe invenLion en d6Lail, en Ge rfranL aux deGGins annexs, dans lesquels deG modeG de raliGaLion prAf6s de l'invenLion sonL repr4GenLAs. [ans LouG les desins, les mmes num@ros de rAfArence dsignenL les {lAmenLs idenLiques ou Gimilaires. I1 fauL noLer que les divers modes de rdalisaLion dcriLs ici peuvenL ALre mis en oeuvre sous de nOmbreuses formes diffrenLes, eL gu'on doiL conGidrer que la deGcripLion faiLe ici n'impoGe aucune limiLaLion au cadre de l'invenLion. En se rfAranL la figure 1, on noLe qu'une carLe inLelligenLe conforme u mode de ralisaLion de 1'invenLion comprend une uniL cenLale de LaiLemenL (CPU) 31, une mmoire morLe (ROM) 32, une mmoire vive (RAM) 33, une mémoire morte programmable et effaçable de façon électrique (EEPROM) 34, une unité d' interface d'entrée/sortie série (SIO) 35, un détecteur de fréquence 11, un détecteur de tension 12, un détecteur de température 13, un détecteur de lumière 14 et un contrôleur de sécurité 20. Le contrôleur de sécurité 20 génère un signal de restauration RST en réponse à l'un au moins d'une multiplicité de signaux de détection DET0 DET3 générés par les détecteurs/capteurs 11 - 14. Le détecteur de fréquence 11 détecte une fréquence d'un signal d'horloge principal et génère ensuite le signal de détection DET0 lorsqu'une fréquence présente du signal d'horloge principal est hors d'une plage de fréquence réqulée. Le détecteur de tension 12 détermine le niveau de tension d'une tension externe fournie par exemple à partir d'un lecteur de cartes, et il génère ensuite un signal de détection DET1 si le niveau de tension détecté dépasse une plage réqulée. Le détecteur de température 13 détecte la température environnante de la carte intelligente 1 et génère ensuite un signal de détection DET2 lorsque la température détectée est hors d'une plage prédéterminée. Le détecteur de lumière 14 génère un signal de détection DET3 lorsqu'une surface de puce est exposée à la lumière à cause de l'élimination d'une pellicule d'oxyde de silicium qui a été utilisée en tant que couche de passivation pour la surface de la puce. En plus des unités de détection 11 - 14, divers types de détecteurs/capteurs peuvent être inclus à l'intérieur de la carte intelligente 1 pour déterminer des états anormaux associés à des intrusions non autorisées ou des conditions de fonctionnement anormales, par exemple. Le contrôleur de sécurité 20 génère un signal de restauration RST pour restaurer l'unité centrale de traitement 31 après le stockage de l'un des signaux de détection provenant des détecteurs 11 - 14. En se référant à la figure 2, on note que dans un mode de réalisation préféré le contrôleur de sécurité 20 comprend une unité de stockage 100, des circuits de bascules 101 104, un capteur de signal 105, un temporisateur 106 et un générateur de signal de restauration 107. Les circuits de bascules 101 104 sont incorporés en correspondance avec les détecteurs 11 14 et ils stockont les signaux de détection respectifs. Le capteur de signal 105, par exemple une porte OU, détermine s'il y a au moins un signal de détection stocké dans les circuits de bascules, et il génère ensuite un signal de programmation PGM. L'unité de stockage 100 stocke les signaux de détection DETO DET3 qui ont été maintenus dans les circuits de bascules 101 104, en réponse au signal de programmation PGM. Le temporisateur 106 génère un signal de commande après qu'un temps prédéterminé s'est écoulé à partir de l' instant auquel le signal de programmation PGM a été fourni par la porte OU 105. Le générateur de signal de restauration 107 émet un signal de restauration RST en réponse au signal de commande provenant du temporisateur 106. Le signal de restauration RST initialise l'unité centrale de traitement 31. L'unité centrale de traitement 31 peut redémarrer avec une tension d'alimentation normale et un signal d'horloge d'une fréquence normale, dans une condition normale après, avoir été restaurée. A la réinitialisation de l'unité centrale de traitement 31, des données sont lues dans l'unité de stockage 100 conformément à un signal de lecture RD et une adresse ADD. Les donnces lues dans l'unité de stockage 100, indiquant qu'il y a eu une intrusion non autorisée ou l' apparition d'une condition anormale, peuvent être consultées par un utilisateur au moment du conditionnement du système. En se référant à la figure 3, on note que l'unité de stockage 100 comprend un réseau de cellules de mémoire ayant une multiplicité de cellules de mémoire, par exemple MCO MC3, disposées en une ligne et une multiplicité de colonnes. La ligne unique est composée d'un conducteur de commande CL et d'un conducteur de mot WL, et les colonnes sont configurées sous la forme de conducteurs de bit BLO BL3. Chaque cellule de mémoire comprend un transistor de cellule (par exemple CO C3) pouvant être programmé et effacé de façon électrique, et un transistor de sélection de ligne (par exemple WSO WS3). Les transistors de cellule CO C3 stockent pratiquement les signaux de détection. Les transistors de cellule peuvent être constitués d'autres types de cellules de mémoire non volatile, comme des cellules EEPROM ou des cellules flash, qui sont capables de conserver leurs propres données même lorsqu'une alimentation est coupée. Des bornes de source des transistors de cellule sont connectées en commun à un conducteur de source SL, et des bornes de grille de commande des transistors de cellule sont couplées en commun à un conducteur de commande CL. Les bornes de source des transistors de sélection de ligne WSO - WS3 sont respectivement connoctées à des bornes de drain des transistors de cellule CO C3. Les borne s de drain des transistors de sélection de ligne WSO WS3 sont respectivement connectées aux conducteurs de bit BLO BL3, et des grilles des transistors de sélection de ligne sont couplées en commun au conducteur de mot WL. Un transistor de commande de conducteur de source 130 connecte le conducteur de source SL à la tension de masse en réponse à un circuit de commande 170 pendant une opération de lecture. Le circuit de commande 170 fait fonctionner les composants de circuit en réponse au signal de lecture RD, au signal d' effacement ER et au signal de programme PGM. Un générateur de tension élevée 150 génère des tensions élevées qui sont utilisées dans la programmation et l' effacement des cellules de mémoire MCO MC3, et pour lire des données stockées dans les cellules de mémoire, comme envisagé ci-dessous. Un décodeur X 140 attaque le conducteur de mot WL avec la tension élevée conformément à un signal d'adresse ADD. Il faut noter que dans l'exemple de mode de réalisation décrit ici, le décodeur X 140 est associé à une ligne unique, et par conséquent le décodeur X 140 attaque seulement le conducteur de mot WL unique. Dans d'autres modes de réalisation dans lesquels le réseau de cellules de mémoire comprend des cellules de mémoire qui sont disposées en une matrice de lignes et de colonnes, le décodeur X sélectionnerait différentes lignes parmi une multiplicité de lignes, en réponse à une adresse. Un circuit de décalage de niveau 160 attaque le conducteur de commande CL avec une tension élevée VPP, une tension de masse GND ou une tension positive prédéterminée, en réponse à un signal de commande provenant du circuit de commande 170. Un circuit de bascules 190 stocke les signaux de détection DET0 DET3 provenant des bascules 101 104. Un circuit de décalage de niveau de conducteur de bit 180 attaque les conducteurs de bit BLO BL3 avec une tension élevée VPP, une tension de masse GND, ou une tension positive prédéterminée, conformément aux signaux de détection DET0 DET3, et à un signal de commande provenant du circuit de commande 170. Un décodeur Y 120 génère un signal de sélection pour désigner l'un des conducteurs de bit BLO BL3 en réponse à une adresse externe ADD. Un sélecteur de sortie 200 transfère lune des tensions apparaissant sur les conducteurs de bit BLO BL3 vers un amplificateur de lecture 210 en réponse au signal de sélection qui est fourni par le décodeur Y 120. L' amplificateur de lecture 210 convertit un niveau de tension, qui est obtenu par le sélecteur de sortie 200, en un signal de sortie de données DO. On va maintenant envisager de façon plus détaillée des détails des modes de fonctionnement de l'unité de stockage 100 et de la carte intelligente, en se référant aux figures 2 et 3. Dans un mode de réalisation préféré, lorsque des conditions d'erreur sont détectées par les détecteurs 11 14, les détecteurs génèrent des signaux de détection DETO DET3 ayant un niveau logique "haut", tandis que les signaux de détection restent à des niveaux logiques "bas" lorsque aucune erreur n'est détectée (pendant un état normal). Par exemple, si une couche d'oxyde de silicium recouvrant une surface de puce est décapeulée, le détecteur de lumière 14 génère un signal de détection DET3 ayant un niveau logique "haut". Par conséquent, la bascule 104 stockera le signal de détection DET3 de niveau haut, tandis que les autres bascules stockeront les signaux de détection DETO DET2 de niveau bas. La porte OU 105 génère un signal de programmation PGM ayant un niveau logique haut, en réponse au signal de détection DET3 de niveau haut, et ensuite les transistors de cellule CO-C3 sont programmés dans une condition de polarisation appropriée avec le conducteur de mot WL, le conducteur de bit BL, le conducteur de commande CL et le conducteur de source SL. Le tableau 1 ci-dessous résume des conditions de polarisation pour la programmation, l 'effacement et la lecture des transistors de cellule (ou de la cellule de mémoire), conformément à un mode de réalisation de l'invention. Tableau 1 Programmation Effacement Lecture Conducteur de mot (WL) VPP ( 17 V) VPP VCC (- 5 V) Conducteur de bit (BL) VPP GND DC = 2 V Conducteur de commande (CL) GND VPP DC = 2 V Conducteur de source (SL) Flottant Flottant Flottant Pendant une opération de "programmation", le décodeur X 140 employant un circuit auto-élévateur fait monter le potentiel du conducteur de mot WL jusqu'à la tension élevée VPP qui est fournie par le générateur de tension élevée 150. Le circuit de commande 170 bloque le transistor de commande de conducteur de source 130, ce qui fait passer à l'état floUtant le conducteur de source SL. Le circuit de décalage de niveau 160 place le conducteur de commande CL à la tension de masse GND. Le circuit de bascules 190 reçoit les signaux de détection DETO DET3 qui sont maintenus dans les bascules 101 104. Le circuit de décalage de niveau de conducteur de bit 180 fait monter le conducteur de bit (c'est-à-dire BL3) correspondant au signal de détection de niveau haut (c'est-à-dire DET3) avec la tension élevée VPP, et il place les autres (c'est-à-dire BLO BL2) à la tension de masse GND. Par conséquent, le transistor de cellule C3 connecté au conducteur de bit BL3 est programmé au niveau logique "0", tandis que les autres transistors de cellule CO C2 conservent des données de niveau logique "1" (on suppose que tous les transistors de cellule ont été effacés avant la programmation). D'autre part, en se référant à la figure 1, on note que le temporisateur 106 reçoit le signal de programmation PGM d'un niveau logique "haut" et génère un signal de commande après qu'un temps prédéterminé s'est écoulé. De préférence, le temps prédéterminé dans le temporisateur 106 procure un retard suffisant (par exemple environ 2 ms) qui permet l'achèvement d'une opération de programmation des transistors de cellule CO C3 (c'est-à-dire le stockage des signaux de détection). En réponse au signal de commande provenant du temporisateur 106, le générateur de signal de restauration 107 émet le signal de restauration RST pour restaurer l'unité centrale de traitement 31. En retournant à une condition de fonctionnement normale après la restauration de l'unité centrale de traitement 31, l'unité centrale de traitement 31 fait redémarrer son fonctionnement propre conformément à l'alimentation et à l'horloge de système normales qui sont fournies. Au moment de redémarrage, l'unité centrale de traitement 31 applique le signal de lecture RD et l'adresse ADD à l'unité de stockage 100 pour lire un signal de données de détection dans l'unité de stockage 100. L'adresse ADD peut être un signal pour désigner les transistors de cellule CO C3 (ou les cellules de mémoire MCO MC3) en série ou en parallèle. En se référant à la figure 3, on note que pendant une opération de "lecture", le conducteur de mot WL est attaqué par le décodeur X 140 avec une tension qui est légèrement supérieure à la tension d'alimentation, par exemple environ 5 V. Le conducteur de commande CL et les conducteurs de bit BLO BL3 sont attaqués avec les tensions positives prédéterminées d'environ 2 V, par les circuits de décalage de niveau respectifs 160 et 180. Le circuit de commande 170 débloque le transistor 130 pour connecter le conducteur de source SL à la tension de masse GND. Par conséquent, les signaux de données de détection qui sont stockés dans les transistors de cellule CO C3 sont transférés vers le sélecteur de sortie 200 par leurs conducteurs de bit BLO BL3 correspondants. Le sélecteur de sortie 200 transfère un niveau de tension des conducteurs de bit vers l'amplificateur de lecture 210, en réponse à un signal de sélection qui indique l'un des conducteurs de bit. Le signal de donnces DO qui est émis par l'amplificateur de lecture 210 est appliqué à l'unité centrale de traitement 31. L'unité centrale de traitement 31 détermine si le signal de sortie de données DO requ à partir de l'amplificateur de lecture 210 indique une condition anormale (c'est-à-dire la décapeulation de la couche d'oxyde), et il signale alors à un utilisateur l 'apparition de la condition anormale. De façon plus spécifique, dans l'exemple de mode de réalisation décrit ici, si l'on suppose que les transistors de cellule CO C2 stockent tous un niveau logique "1", tandis que le transistor de cellule C3 stocke un niveau logique "0", l'unité centrale de traitement 31 signale à l'utilisateur qu'il est apparu une condition anormale détectée par le détecteur de lumière 14. Après l'achèvement de la première étape d' information pour un utilisateur, tous les transistors de cellule CO C3 dans l'unité de stockage 100 sont effacés afin de préparer le processus de détection suivant. Pendant une opération "d' effacement" des transistors de cellule (ou des cellules de mémoire), le décodeur 140 et le circuit de décalage de niveau 160 font monter le potentiel du conducteur de mot WL et du conducteur de commande CL, avec la tension élevée d' environ 17 V. Le circuit de décalage de niveau de conducteur de bit 180 place les conducteurs de bit BLO BL3 à la tension de masse GND. Le circuit de commande 170 bloque le transistor 130, pour donner un conducteur de source SL à l'état flottant. Les transistors de cellule CO C3 sont donc tous effacés simultanément. Comme indiqué ci-dessus, dans un exemple de mode de réalisation de la présente invention, des conditions anormales ou des erreurs dans une carte intelligente (comme des intrusions non autorisées et des environnements anormaux en ce qui concerne la fréquence, la température ou la tension, qui peuvent endommager des circuits internes de la carte intelligente), sont détectées et une information concernant de telles erreurs est stockée dans des cellules de mémoire non volatile. Du fait que l'unité centrale de traitement est restaurée après le stockage dans les cellules de mémoire non volatile d'une telle information concernant les conditions anormales, un utilisateur peut reconnaître les situations et accomplir une action appropriée. Il va de soi que de nombreuses modifications peuvent être apportées au dispositif et au procédé décrits et représentés, sans sortir du cadre de l' invention. REVENDICATIONS 1. Circuit intogré à semiconducteur ayant une unité centrale de traitement (31), caractérisé en ce qu'il comprend: une multiplicité de détecteurs (11-14), parmi lesquels chaque détecteur détecte une condition de fonctionnement correspondante du circuit intogré et génère un signal de détection (DET0 DET3) qui indique une condition anormale; et un générateur de signal de restauration (107) pour générer un signal de restauration (RST) en réponse à un signal de détection (DET0 DET3) émis par l'un des détecteurs (11 14); et une mémoire non volatile (100) pour stocker des signaux de détection (DET0 DET3) émis par les détecteurs (11 14); et en ce que l'unité centrale de traitement ( 31) est restaurée en réponse au signal de restauration (RST) après que les signaux de détection ont été stockés dans la mémoire non volatile (100). 2. Circuit intégré selon la revendication 1, caractérisé en ce qu'il comprend en out re une multiplicité de bascules (101 104) pour stocker les signaux de détection. 3. Circuit intégré selon la revendication 1, caractérisé en ce qu'il comprend en outre un circuit logique (105) pour générer un signal de programmation (PGM) lorsque l'un au moins des signaux de détection (DET0 DET3) indique une condition anormale. 4. Circuit intégré selon la revendication 3, caractérisé en ce que la mémoire non volatile (100) stocke les signaux de détection (DET0 DET3) en réponse au signal de programmation (PGM). 5. Circuit intogré selon la revendication 3, caractérisé en ce qu'il comprend en outre un temporisateur (106) qui génère un signal de commande de temporisateur lorsqu'un temps prédéterminé s'est écoulé après que le signal de programmation (PGM) a été activé. 6. Circuit intégré selon la revendication 5, caractérisé en ce que le générateur de signal de restauration (107) génère le signal de restauration (RST) en réponse au signal de commande de temporisateur. 7. Circuit intégré selon la revendication 5, caractérisé en ce que le temps prédéterminé est pratiquement égal à un temps nocessaire pour écrire les signaux de détection (DETO DET3) dans la mémoire non volatile (100) en réponse au signal de programmation (PGM). 8. Circuit intégré selon la revendication 1, caractérisé en ce que la mémoire non volatile comprend une multiplicité de cellules de mémoire (MCO MC3) pour stocker les signaux de détection (DETO DET3). 9. Circuit intégré selon la revendication 8, caractérisé en ce les cellules de mémoire comprennent des cellules de mémoire morte effacable et programmable de façon électrique. 10. Circuit intégré selon la revendication 1, caractérisé en ce que les détecteurs (11 14) comprennent un détecteur de fréquence (11) pour détecter une fréquence d'une horloge de système, un détecteur de tension (12) pour détecter une tension d'alimentation, un détecteur de température ( 13) pour détecter la température, ou un détecteur de lumière (14) pour détecter l 'exposition à la lumière, ou une combinaison quelconque de ceux-ci. 11. Carte à puce, ou à circuit intégré, caractérisoe en ce qu'elle comprend: une unité centrale de traitement (31) incorporce; une multiplicité de détecteurs (11 14), parmi lesquels chaque détecteur détecte une condition de fonctionnement correspondante de la carte à puce et génère un signal de détection (DETO DET3) qui indique une condition anormale; un générateur de signal de restauration (107) pour générer un signal de restauration (RST) en réponse à un signal de détection (DETO DET3) émis par l'un des détecteurs (11 14); et une mémoire non volatile (100) pour stocker des signaux de détection (DETO DET3) émis par les détecteurs (11 14); et en ce que l'unité centrale de traitement (31) est restaurée en réponse au signal de restauration (RST) après que les signaux de détection (DETO DET3) ont été stockés dans la mémoire non volatile (100). 12. Carte à puce selon la revendication 11, caractérisée en ce qu'elle comprend en outre une multiplicité de bascules (101 104) pour stocker les signaux de détection (DETO DET3). 13. Carte à puce selon la revendication 11, caractérisée en ce qu'elle comprend en outre un circuit logique (105) pour générer un signal de programmation (PGM) lorsque l'un au moins des signaux de détection (DETO DET3) indique une condition anormale. 14. Carte à puce selon la revendication 13, caractérisée en ce que la mémoire non volatile (100) stocke les signaux de détection (DETO DET3) en réponse au signal de programmation (PGM). 15. Carte à puce selon la revendication 13, caractérisoe en ce qu'elle comprend en outre un temporisateur (106) qui génère un signal de commande de temporisateur lorsqu'un temps prédéterminé s'est écoulé après que le signal de programmation (PGM) a été activé. 16. Carte à puce selon la revendication 15, caractérisce en ce que le générateur de signal de restauration (107) génère le signal de restauration (RST) en réponse au signal de commande de temporisateur. 17. Carte à puce selon la revendication 15, caractérisée en ce que le temps prédéterminé est pratiquement égal à un temps nécessaire pour écrire les signaux de détection (DETO DET3) dans la mémoire non volatile (100) en réponse au signal de programmation (PGM). 18. Carte à puce selon la revendication 11, caractérisce en ce que la mémoire non volatile (100) comprend une multiplicité de cellules de mémoire (MCO MC3) pour stocker les signaux de détection (DETO DET3). 19. Carte à puce selon la revendication 18, caractérisée en ce que les cellules de mémoire (MCO MC3) comprennent des cellules de mémoire morte effacable et programmable de façon électrique. 20. Carte à puce selon la revendication 11, caractérisée en ce que les détecteurs (11 14) comprennent un détecteur de fréquence (11) pour détecter une fréquence d'une horloge de système, un détecteur de tension ( 12) pour détecter une tension d'alimentation, un détecteur de température (13) pour détecter la température, ou un détecteur de lumière (14) pour détecter l'exposition à la lumière, ou une combinaison quelconque de ceux-ci. 21. Procédé pour contrôler le fonctionnement d'un circuit intégré caractérisé en ce qu'il comprend les étapes suivantes: on détecte une multiplicité de conditions de fonctionnement d'un circuit intégré; on génère et on stocke un signal de détection (DETO DET3) si une condition de fonctionnement anormale est détectée; on génère un signal de restauration (RST) en réponse au signal de détection; on restaure une unité centrale de traitement (31) en réponse au signal de restauration (RST) après que le signal de détection (DETO DET3) a été stocké; et on émet le signal de détection stocké après la restauration de l'unité centrale de traitement (31). 22. Procédé selon la revendication 21, caractérisé en ce qu'il comprend en outre l'étape consistant à générer un signal de programmation (PGM) en réponse au signal de détection (DETO DET3), le signal de détection étant stocké en réponse au signal de programmation (PGM). 23. Procédé selon la revendication 22, caractérisé en ce qu'il comprend en outre l'étape consistant à générer un signal de commande de temporisateur lorsqu'un temps prédéterminé s'est écoulé après - que le signal de programmation (PGM) a été généré, le signal de restauration (RST) étant généré en réponse au signal de commande de temporisateur. 24. Procédé selon la revendication 23, caractérisé en ce que en ce que le temps prédéterminé est pratiquement égal à un temps nécessaire pour stocker le signal de détection (DETO DET3) en réponse au signal de programmation (PGM). 25. Procédé selon la revendication 21, caractérisé en ce que l'étape de détection comprend la détection d'une fréquence d'une horloge de système, la détection d'une tension d'alimentation, la détection de la température ou la détection de l'exposition à la lumière, ou une