Brevet FR2810438A1 — publié le 20011221

CIRCUIT DE DETECTION D'USURE L'invention a pour objet un circuit détection d'usure pour un élément de circuit intégré utilisant une donnee secrète. Plus précisément, l'invention vise à signaler l'utilisation abusive d'un élément un circuit intégré utilisant une donnée secrète. L'invention est notamment intéressante pour les circuits intégrés pour cartes à puce, mais elle peut également être utilisée pour tout élément de circuit intégré utilisant des donnees secrètes que l'on souhaite pouvoir protéger. Les données secrètes sont par exemple données personnelles identifiant le propriétaire ou le fabricant du circuit intégré, des clés, initiales ou dérivées, d'algorithme de cryptage de données, etc. Elles sont utilisées par exemple par des éléments du circuit intégré. L'expression "élément" de circuit intégré doit être comprise ici, et dans tout ce qui suit, au sens large. Un élément désigne par exemple un circuit d'identification ou bien un circuit de calcul cryptographique du circuit intégré ou même simplement une partie de l'un de ces circuits. Un élément désigne également une instruction ou une suite particulière d'instructions qui, lors de son exécution, entraîne l'utilisation d'une donnée secrète. Des techniques d'espionnage connues tirent partie de la corrélation entre l'utilisation d' donnée secrète et l'évolution d'une grandeur physique inhérente au circuit intégré et mesurable depuis l'exterieur du circuit. Une telle grandeur est par exemple la consommation d'énergie globale du circuit ou bien son émission électromagnétique. Pour accéder à une donnée secrète depuis l'extérieur du circuit, un utilisateur espion déclenche la mise en service d'un élément utilisant donnée secrète, mesure une grandeur physique accessible depuis l'extérieur et cherche la corrélation entre cette grandeur et la donnée secrète. Une des principales difficultés pour l'utilisateur espion réside dans le fait que la mesure de la grandeur est particulièrement difficile car elle est bruitée. L'utilisateur espion doit alors disposer d' nombre important de mesures identiques, par exemple de l'ordre de 2 000 à 20 000, pour éliminer le bruit de la mesure et réussir sa démarche. Pour empêcher de telles agressions, l'utilisateur légitime peut agir préventivement, si un élément utilisant la donnée secrète est sollicité trop souvent, par exemple en inhibant le fonctionnement de l'élément, c'est-à-dire le circuit, la partie du circuit, l'instruction ou la série particulière d'instructions, qui utilise la donnée secrète. L'utilisateur légitime peut également agir préventivement en remplaçant de la ou des données secrètes. Pour cela, l'utilisateur légitime doit pouvoir connaître le nombre d'utilisations de l'élément utilisant la donnée secrète, ou une estimation de ce nombre, pour savoir si l'élément est utilisé de manière abusive ou pas. Lorsque ce nombre ou cette estimation, atteint une valeur N choisie, par exemple 1 000 ou 10 000, l'utilisateur légitime du circuit intégré considéré que le circuit est usé ou partiellement usé ; il peut alors agir préventivement en bloquant l'utilisation du circuit intégré, en empêchant l'utilisation d'un élément du circuit utilisant la donnée secrète à protéger ou en remplaçant la valeur de la donnée secrète. solutions existent, qui utilisent généralement un compteur pour déterminer le nombre d'utilisations de l'élément utilisant la donnée secrète. Cependant, un inconvénient de l'utilisation d'un compteur est 'il est nécessaire de disposer d'une cellule mémoire importante pour mémoriser le nombre fourni par le compteur. Or une telle cellule mémoire occupe une place importante en terme de surface de silicium, et nécessite un temps de programmation assez long qui est rédhibitoire. De plus, si compteur dispose de moyens de réinitialisation, ces moyens sont en général assez facilement accessibles depuis l'extérieur du circuit par un utilisateur espion, qui peut alors aisément effacer le contenu du compteur. Au vu des inconvénients des solutions actuelles, un but de l'invention est de réaliser un circuit de détection d'usure qui fournit une indication du nombre d'utilisations d'un élément utilisant une donnée secrète et signale, le cas échéant, le dépassement d'un nombre maximum d'utilisations, ce nombre maximum etant défini par l'utilisateur. autre but de l'invention est de réaliser un circuit de taille réduite, en terme de surface de silicium, qui est également rapide. autre but de l'invention est de réaliser un circuit de détection d'usure qui conserve une mémoire du passé de l'élément auquel il est relié et qui ne peut être remis à zéro de manière simple. Avec ces objectifs en vue, l'invention a pour 'et un circuit de détection d'usure pour un élément d'un circuit intégré, caractérisé en ce qu'il reçoit une impulsion chaque fois que l'élément du circuit est utilisé et en ce qu'il comprend - au moins un transistor de mémorisation dont une source est connectée à une masse du circuit, - un circuit de sélection de tension, qui fournit une tension de commande appliquée sur une grille de commande du transistor de mémorisation, la tension de commande étant égale à une tension de programmation lorsqu'un signal de programmation est reçu, et étant égale à une tension d'alimentation sinon, - un circuit de lecture qui, lorsqu'il reçoit un signal de lecture, mesure un niveau de programmation du transistor de mémorisation et fournit un signal d'alerte si ce niveau atteint un niveau de référence représentant un nombre maximum d'utilisations de l'élément, et - un circuit de commande qui reçoit les impulsions et qui fournit le signal de programmation puis le signal de lecture. Rappelons qu'ici, et dans ce qui suit, un élément peut être un circuit ou une partie d'un circuit utilise une donnée à protéger. Un élément peut également être une instruction ou une série d'instructions particulière qui, lorsqu'elle est exécutée, peut utiliser la donnée à protéger. Le fonctionnement du circuit de détection d'usure selon l'invention est le suivant. Chaque fois l'élément du circuit intégré est sollicité, le circuit commande reçoit une impulsion. Dans un premier temps, le circuit de commande fournit un signal de programmation. Le circuit selection de tension fournit alors une tension de commande égale à la tension de programmation ; une programmation lente et partielle du transistor de memorisation est effectuée en appliquant, pendant un temps assez court, la tension de programmation (de préférence assez faible, de l'ordre de 7 V) sur la grille commande du transistor, son drain étant maintenu à un potentiel flottant et sa source étant reliée à la masse. Ainsi, quelques charges électriques supplémentaires s accumulent dans la grille flottante du transistor et le niveau de programmation augmente à chaque programmation, est-à-dire à chaque utilisation de l'élément du circuit intégré. Si, à chaque utilisation de l'élément du circuit, même programmation est effectuée, en terme de tensions appliquées aux bornes des électrodes du transistor de mémorisation et de temps de programmation notamment alors le niveau de programmation du transistor directement proportionnel au nombre d'utilisations l'élement. I1 est cependant possible d'envisager de programmer differemment le transistor de mémorisation, en appliquant des temps de programmation différents ou bien tensions de programmation différentes pour des étapes de programmation partielle différentes. Ceci est notamment intéressant si l'élément utilise des données secrètes ayant des importances différentes, ou des données plus ou moins facilement décelables depuis l'extérieur. De même façon, si deux éléments différents du circuit intégré utilisent la même donnée secrète, des étapes programmation différentes peuvent être réalisées selon l'élement qui utilise la donnée secrète. Dans tous cas, le niveau de programmation augmente, éventuellement plus ou moins vite, en fonction de l'utilisation de la ou des données secrètes par le ou les éléments du circuit intégré. Ainsi, si le transistor du circuit de détection de l'invention est programmé de manière successive par des étapes de programmation partielles, identiques ou pas en terme de durée et de tensions appliquées aux électrodes du transistor de mémorisation notamment, alors son niveau de programmation est représentatif, au moins approximativement, du nombre d'étapes de programmation partielle réalisées, et donc du nombre d'utilisations l'élément du circuit intégré. Dans un deuxième temps, le circuit de commande fournit un signal de lecture et le circuit de sélection de tension fournit une tension de commande égale à la tension d'alimentation (par exemple de l'ordre de 5 V) sur la grille de commande du transistor ; une mesure du niveau de programmation du transistor de mémorisation est ainsi effectuée. Si le niveau de programmation est supérieur ou égal au niveau de référence, alors le signal d'alerte produit. Le niveau de référence représente approximativement un nombre maximum N d'utilisations autorisées l'élément du circuit intégré. Ainsi avec l'invention, l'utilisateur est alerté dès que le nombre N est estimé atteint, et il peut alors agir préventivement, par exemple en bloquant le fonctionnement de l'élément du circuit intégré ou en modifiant la valeur de sa donnée secrète. Le circuit de détection d'usure de 1 invention est plus sûr que celui comprenant les comp-eurs généralement utilisés car, contrairement à un compteur, il ne peut être réinitialisé de manière simple. En effet, le contenu d'un transistor de mémorisation ne peut être effacé de manière simple. Le circuit de l'invention conserve donc dans le temps une trace de 1 utilisation de l'élément du circuit intégré auquel il est relié. De plus, le circuit de détection de l'invention est beaucoup plus petit que les circuits habituellement utilisés et comprenant un compteur, car la cellule mémoire utilisée dans l'invention se limite à un unique transis4or de mémorisation. Selon le mode choisi de réalisation de l'invention, le circuit de détection d'usure peut éventuellement être moins précis qu'un compteur. C'est notamment le cas si des étapes de programmations partielles différentes sont envisagées en fonction de l'utilisation de une ou plusieurs données secrètes par un ou plusieurs éléments reliés au circuit de détection. Cependant, dans tous les cas, le circuit de détection de l'invention donne une estimation correcte, par exemple à 5 ou 10% près, du nombre d'utilisations du ou des éléments, suffisante pour permettre à l'utilisateur d'intervenir préventivement. Selon un mode préféré de réalisation, le circuit de sélection de tension fournit une tension de commande nulle s'il reçoit un signal d'inhibition fourni par le circuit de commande, ce qui permet de limiter la consommation énergétique du circuit de détection d'usure. De préférence, le circuit de lecture comprend - un deuxième transistor de mémorisation dont une source est connectée à la masse du circuit et dont une grille est connectée à une borne d'une source de tension de référence dont l'autre borne est connectée à la masse du circuit, un courant de référence circulant dans le deuxième transistor de mémorisation lorsque la tension de référence est appliquée sur sa grille de commande, le courant de référence correspondant au niveau de programmation de référence, - des premier et deuxième transistors ayant leurs sources connectées respectivement aux drains des transistors de mémorisations, leurs drains étant connectés ensemble et recevant le signal de lecture, - des troisième et quatrième transistors ayant leurs sources connectées aux drains des premier et deuxième transistors et leurs grilles connectees à leurs drains respectifs par l'intermédiaire de deux inverseurs, - des cinquième et sixième transistors ayant leurs drains connectés respectivement aux drains troisième et quatrième transistors, et leurs grilles connectées ensemble drain du cinquième transistor, leurs sources étant connectées ensemble et recevant tension d'alimentation, le sixième transistor fournissant le signal d'alerte sur son drain. Avec un tel circuit de lecture, le niveau de programmation du premier transistor de mémorisation, et donc le nombre d'utilisations de l'élément, est déterminé par la mesure du courant circulant dans son canal drain- source. ce courant est supérieur au courant de référence, alors le signal d'alerte est fourni. De préférence encore, le circuit de détection d'usure l'invention comprend en outre un circuit de sortie pour mémoriser le signal d'alerte lorsqu'il reçoit un signal de mémorisation du circuit de commande. L'utilisateur peut ainsi savoir à tout instant un signal d'alerte a été émis par le circuit de lecture, simplement en vérifiant le contenu du circuit de sortie. L'invention a également pour objet un procédé de détection d'usure pour un élément d'un circuit intégré. Le procédé est caractérisé en ce qu'il comprend les étapes suivantes, exécutées chaque fois que l'élément est utilisé recevoir une impulsion, - réaliser une programmation partielle d'un transistor de mémorisation, mesurer un niveau de programmation du transistor de mémorisation, représentatif du nombre d'impulsions reçues, fournir un signal d'alerte si le niveau de programmation est supérieur ou égal à un niveau de référence représentatif d'un nombre maximum d'utilisations autorisées de l'élément. Enfin, l'invention a pour objet une carte à puce caractérisée en ce qu'elle comprend le circuit de détection d'usure défini ci-dessus. invention sera mieux comprise et d'autres caractéristiques et avantages apparaîtront à la lecture de description qui va suivre d'un exemple de réalisation d'un circuit de détection d'usure, selon l'invention, la description faisant référence aux dessins annexés dans lesquels la figure 1 est un schéma fonctionnel d'un circuit de détection d'usure, selon l'invention, - les figures 2 à 4 sont des schémas électroniques illustrant certains éléments de la figure 1, - les figures 5a à 5j sont des diagrammes des signaux à différents points des schémas des figures 2-7. - la figure 6 est un schéma d'une amélioration possible du circuit de la figure 1. Le circuit 100 de détection d'usure de la figure 1 comprend un transistor de mémorisation T1, un circuit de sélection de tension 110, un circuit de lecture 120 et un circuit de commande 130. Le circuit de sélection de tension 110 comprend deux bornes d'entrée d'alimentation 111, 112 sur lesquelles sont appliquées respectivement une tension d'alimentation VCC et une tension de programmation VPP, et deux bornes d'entrée de sélection 113, 114 sur lesquelles sont appliqués respectivement un signal d'inhibition SELECT et un signal de programmation SWITCH. Le circuit de sélection de tension 110 fournit, sur une borne de sortie 115, une tension de commande VG qui prend trois valeurs en fonction des signaux SELECT et SWITCH VG = VPP si SELECT = 1 et SWITCH = 1, VG = VCC si SELECT = 1 et SWITCH = 0, et VG = OV si SELECT = 0 Le transistor de mémorisation T1 est de type à grille flottante ; il comprend une grille connectée la borne de sortie 115 de l'interrupteur 110, une source connectée une masse du circuit et un drain. Le circuit de lecture 120 comprend une borne d'entrée d'alimentation 121 sur laquelle est appliquée la tension d'alimentation VCC, une borne d'entrée de commande 122 sur laquelle est appliqué un signal de lecture SENSE, et une borne d'entrée 123 connectée au drain du transistor de mémorisation T1. Lorsqu'il reçoit le signal de lecture SENSE, le circuit 120 compare un courant ICELL circulant dans la zone drain-source du transistor de mémorisation Tl avec un courant de référence IREF et il fournit, sur une borne de sortie 125, un signal d'alerte VOUT si le courant ICELL est supérieur ou égal au courant de référence IREF. Le circuit de commande 130 comprend une borne d'entrée 131 sur laquelle est appliqué un signal ÉVENT, une borne d'entrée 132 sur laquelle est appliqué un signal d'horloge CP, deux bornes de sortie 133, 134 connectées respectivement aux bornes d'entrée 113, 114 de l'interrupteur 110 trois états et une borne de sortie 135. Le circuit de commande 130 fournit, respectivement sur les bornes de sortie 133, 134, 135, les signaux de commande SÉLECTE, SWITCH, SENSÉ en fonction du signal ÉVENT. Le signal ÉVENT est fourni sous la forme d'une Impulsion par un composant (unité arithmétique et logique, circuit de multiplication, circuit de cryptage, etc.) du circuit intégré. Dans un exemple, le signal ÉVENT est fourni par un composant qui utilise directement la donnée secrète. Dans un autre exemple, le signal ÉVENT est fourni par le composant lorsqu'il exécute une instruction particulière ou une série particulière d'instructions mettant éventuellement en #uvre la donnée à protéger. Le fonctionnement complet du circuit détection d'usure de la figure 1 est le suivant. Lorsque le circuit de commande 130 reçoit une impulsion ÉVENT indiquant que l'élément (circuit, partie de circuit, instruction, série d'instructions etc.) est utilisé, il fournit alors des signaux SÉLECT, SENSÉ égaux respectivement à 1 et à 0 et une tension VG égale à VPP est appliquée sur la grille du transistor T1. Une programmation partielle du transistor T1 est effectuée et son niveau de programmation augmente en conséquence. Le circuit de commande 130 fournit ensuite des signaux SÉLECT, SENSÉ égaux tous deux à 1. Le circuit de lecture 120 effectue alors une lecture du niveau de programmation du transistor de mémorisation T1 en mesurant le courant ICELL circulant dans la zone drain source de T1. Si ICELL est supérieur ou égal au courant de référence IREF, alors le signal VOUT est égal à 1. Inversement, si ICELL est inférieur à IREF, alors le signal VOUT est égal à 0. Le circuit de sélection de tension 110 comprend, conformément au schéma de la figure 2, six transistors T2 à T7 et un interrupteur commandé 140. L'interrupteur commandé 140 comprend deux bornes d'entrée de tension 141, 142 et une borne d'entrée de commande 143 connectées respectivement aux bornes d'entree 111, 112 et 114 du circuit de sélection de tension 110. L'interrupteur 140 fournit, sur une borne de sortie 144, une tension VHT qui a les caractéristiques suivantes = VPP si SWITCH = 1, et VHT = VCC si SWITCH = 0. Le transistor T2 est de type P ; sa source est connectée à la borne 111 du circuit de sélection de tension 110 et son drain est connecté au drain du transistor T3 de type N, dont la source est reliée à la masse du circuit. Les grilles de commande des transistors T2, T3 sont connectées ensemble à la borne d'entré de commande 113 pour recevoir le signal SELECT. Les transistors T2, T3 forment un inverseur logique, ils fournissent sur leur drain un signal inverse du signal SELECT. Le transistor T4 est de type N, son drain et sa grille sont connectés respectivement au drain et la source du transistor T2. Le transistor T5 est un transistor de type P dont un drain et une source sont connectés respectivement à la source du transistor T4 et à la borne de sortie 144 de l'interrupteur 140. Le transistor T6 est de type P ; sa source est connectée à la borne 144 de l'interrupteur commandé 140 et son drain est connecté au drain du transistor T7 de type N, dont la source est reliée à la masse du circuit. Les drains des transistors T6, T7 sont connectés ensemble à la grille du transistor T5 et à la borne de sortie 115, et leurs grilles de commande sont connectées ensemble au drain du transistor T4. Les transistors T6, T7 forment un inverseur haute tension. Ils fournissent sur leur drain une tension VG qui est égale à la tension VHT une tension nulle est appliquée sur leur grille de commande, et ils fournissent une tension VG nulle sur leur drain si une tension égale à la tension d'alimentation VCC est appliquée sur leur grille. Le circuit de lecture 120 comprend, conformément au schéma de la figure 3, sept transistors T8 à T14, deux inverseurs Il, 12 et une source de tension de référence 145. transistor T8 est un transistor à grille flottante, de préférence identique au transistor Ti, dont une source est connectée à la masse du circuit et dont une grille de commande est connectée à une borne positive de la source de tension de référence 145 dont une borne négative est connectée à la masse. Lorsque la source 145 fournit une tension de référence VREF sur la grille du transistor de mémorisation T8, alors un courant de référence IREF circule entre son drain et sa source. transistors T9, T10 sont des transistors de type N dont les grilles de commande sont connectées ensemble à la borne d'entrée 122 du circuit de lecture 120. La source du transistor T9 et connectée à la borne d'entrée 123 et celle du transistor T10 est connectée au drain du transistor T8. Les transistors T11, T12 sont des transistors de type N. La source du transistor T11 est connectée à sa grille par l'intermédiaire de l'inverseur I1 et au drain du transistor T9. La source du transistor T12 est connectée à sa grille par l'intermédiaire de l'inverseur 12 et au drain du transistor T10. Les transistors T13, T14 sont des transistors de type dont les sources sont connectées ensemble à la borne d'entrée 121 pour recevoir la tension d'alimentation VCC et dont les grilles sont connectées ensemble au drain du transistor T13. Le drain du transistor T14 est connecté au drain du transistor T12 et à la borne de sortie 125. Le circuit de commande 130 comprend, dans l'exemple de la figure 4, quatre bascules 151, 152, 153, 154 de type trois portes logiques 155, 156, 157 et un inverseur 158. Les quatre bascules comprennent chacune une borne d'entrée de donnée, une borne d'entrée d'horloge et une borne de sortie de donnée. Les quatre bascules sont associées en série, la borne d'entrée de donnée de la première bascule 151 étant connectée à la borne d'entrée 131 pour recevoir le signal EVENT, et la borne de sortie de la quatrième bascule 154 étant connectée ' la borne de sortie 135 sur laquelle est fourni le signal de lecture SENSE. Les entrées d'horloge des quatre bascules sont connectées ensemble à la borne d'entrée 132 pour recevoir le même signal d'horloge CP. La première porte logique 155, de type OU, comprend deux bornes d'entrée connectée respectivement à la borne de sortie de la deuxième bascule 152 et à la borne de sortie de la quatrième bascule 152. La première porte 155 fournit le signal d'inhibition SELECT sur borne de sortie connectée à la borne de sortie 133 du circuit de commande 130. La deuxième porte logique 156, de type OU, comprend deux bornes d'entrée connectée respectivement à la borne de sortie de la première bascule 151 et à la borne de sortie de la première porte 155. La troisième porte logique 157, de type ET, comprend deux bornes d'entrée connectées respectivement à la borne de sortie de la quatrième bascule 154 par 1 intermédiaire de l'inverseur 158 et une borne de sortie de la deuxième porte 156. La troisième porte 157 fournit le signal de programmation SWITCH sur une borne sortie connectée à la borne de sortie 134 du circuit de commande 130. Le fonctionnement global du circuit de la figure 1 va maintenant être décrit en relation avec les figures 5a à 5h qui sont respectivement les chronogrammes des signaux CP, ÉVENT, SWITCH, SÉLECT, SENSÉ et des tensions VHT, VG et VOUT en différents points du circuit 100. Le circuit de la figure 1 permet 'indiquer à un utilisateur si un nombre N maximum d'utilisations autorisées d'un élément du circuit intégré est atteint ou pas. Dans l'exemple, la tension VREF de la source de tension de référence 145 est choisie de telle sorte que, lorsque la tension VREF est appliquée sur la grille du transistor T8, le courant IREcirculant dans le drain de T8 est égal au courant traversant un transistor identique à T8 qui a subi environ N étapes de programmation partielle avec une tension égale à VPP sur sa grille. Dans l'exemple également, toutes les étapes de programmation partielle sont identiques en terme de tensions appliquées sur les électrodes transistor de mémorisation et de temps de programmation. Initialement, les signaux logiques ÉVENT, SÉLECT, SWITCH, SENSÉ sont égaux à "0", la tension VHT sur la borne de sortie de l'interrupteur 140 est égale à la tension d'alimentation VCC et les tensions VG et VOUT sont nulles. La première partie des chronogrammes montre l'évolution des signaux lorsqu'une n-ième impulsion ÉVENT est reçue par le circuit de commande 130, n étant un nombre entier inférieur au nombre maximum N. Le passage à "1" du signal ÉVENT à l'instant t0 entraîne le passage à "1" du signal SWITCH un cycle d'horloge CP plus tard à l'instant t1, et le passage à "1" du signal SÉLECT à l'instant t2. Lorsque le signal SWITCH passe à "1", l'interrupteur 140 bascule et fournit une tension VHT égale à VPP sur sa borne de sortie 144. Le signal SÉLECT étant égal à "0", le circuit de sélection de tension fournit une tension VG nulle. Lorsque le signal SÉLECT passe à "1", à l'instant t2, la tension VG prend la valeur VPP et est appliquée sur la grille de commande du transistor T1 dont la source est à un potentiel nul et dont le drain à un potentiel flottant car le circuit de lecture est inactif (SENSÉ = "0" et les transistors T9, T10 sont bloqués). Quelques charges électriques sont mémorisées dans la grille flottante de Tl pendant un cycle d'horloge et son niveau de programmation augmente légèrement, sans toutefois dépasser une valeur maximale représentative du nombre N. A l'instant t3, un cycle d'horloge plus tard, Les signaux SÉLECT et SWITCH passent de "1" "0", l'interrupteur 140 bascule, la tension VHT prend la valeur VCC et la tension VG devient nulle, la n-ième programmation partielle du transistor T1 est terminée. A l'instant t4, les signaux SENSÉ et SÉLECT passent de "0" à "1". La tension VHT est maintenue égale à VCC car le signal SWITCH est égal à "0". Le signal SÉLECT étant égal à "1", la tension VG prend la valeur VCC et est appliquée sur la grille de commande du transistor Tl dont la source est à la masse. Le signal SENSÉ étant égal à "1 ", les transistors T9, T10 sont passants et un courant ICELL circule entre la source du transistor T9 et celle du transistor T1, le courant ICELL étant représentatif du niveau de programmation du transistor T1, c'est-à-dire du nombre n. Le circuit de lecture 120 compare le courant ICELL au courant de référence circulant dans le transistor T8. Puisque n est inférieur à N, le courant ICELL est inférieur au courant IREF et la tension VOUT reste nulle. A l'instant t5, le signal SÉLECT passe à "0" et la tension VG redevient nulle. De plus, le signal SENSÉ passe à "0", les transistors T9, T10 se bloquent, le courant ICELL disparaît ; la tension VOUT reste nulle. En résume, lorsque la n-ième impulsion ÉVENT est fournie par le circuit de détection à l'instant t0, une n-ième étape de programmation du transistor Tl est réalisée entre t2 et t3, puis une lecture du niveau de programmation Tl est effectuée entre t4 et t5. Le nombre maximum N n'étant pas atteint, le signal d'alerte VOUT reste nul. La deuxième partie des chronogrammes montre l'évolution signaux lorsqu'une m-ième impulsion ÉVENT est reçue par le circuit de commande 130, m étant un nombre entier supérieur ou égal au nombre N maximum. Le passage à "1" du signal ÉVENT à l'instant 40 entraîne le passage à "1" du signal SWITCH à l'instant 01, et le passage "1" du signal SÉLECT à l'instant 02. Lorsque le signal SWITCH passe à "l", et le circuit de sélection de tension fournit une tension VG nulle. Lorsque le signal SÉLECT passe à "1", à l'instant 02, la tension VG prend la valeur VPP, une m-ième étape de programmation du transistor Tl a lieu, son niveau de programmation augmente légèrement et est supérieur ou égal à la valeur maximale représentative du nombre N. A l'instant 03, Les signaux SÉLECT et SWITCH passent de "1" à "0", la tension VHT prend la valeur VCC et la tension VG devient nulle, la programmation du transistor Tl est terminée. A l'instant 04, les signaux SENSÉ et SÉLECT passent de "0" à "1". La tension VHT est maintenue égale à VCC car le signal SWITCH est égal à "0". Le signal SÉLECT étant égal à "1", la tension VG prend la valeur VCC. Le signal SENSÉ étant égal à "1", les transistors T9, T10 sont passants et un courant ICELL circule entre la source du transistor T9 et celle du transistor T1. Le circuit de lecture 120 compare le courant ICELL au courant de référence circulant dans le transistor T8. Puisque m est supérieur ou égal à N, le courant ICELL est supérieur ou égal au courant IREF et la tension VOUT prend la valeur VCC. A l'instant 05, le signal SÉLECT passe à "0" et la tension VG redevient nulle. De plus, le signal SENSÉ passe à "0", les transistors T9, T10 se bloquent, le courant ICELL disparaît, et la tension VOUT redevient nulle. résumé, lorsque la m-ième impulsion ÉVENT est fournie par le circuit de détection à l'instant 00, une m-ième étape de programmation du transistor Tl est réalisee entre 02 et 03, puis une lecture du niveau de programmation de T1 est effectuée entre 04 et 05. Le niveau maximum étant atteint (le nombre N est atteint), la tension VOUT prend la valeur "1" pour indiquer le dépassement, puis revient à "0" à l'instant 06. figures 1 à 5 montrent un mode de réalisation possible mais nullement limitatif de l'invention. Des modifications peuvent être apportées aux éléments du circuit détection d'usure, sans sortir du cadre l'invention. Par exemple, la tension de référence a été choisie de sorte que le courant IREF représente un nombre d'utilisations et toutes les étapes de programmation partielle du transistor T1 sont supposées identiques. Cependant, il est possible d'effectuer des étapes programmation partielle différentes, (en terme de tensions appliquées ou de temps de programmation) par exemple si l'élément utilise différentes données secrètes ou si plusieurs éléments sont utilisés. Dans ce cas, la tension VREF sera choisie telle que courant IREF représente approximativement le nombre N en fonction de l'ut' isation réelle des éléments et données du circuit intégré. De même, dans l'exemple ci-dessus, durée des signaux de programmation, et de lecture notamment a été choisie pour être égale à un ou deux cycles du signal d'horloge. Cependant, ces signaux peuvent avoir des durées différentes, l'essentiel étant ces signaux aient une durée suffisante pour réaliser une étape de programmation partielle, respectivement lecture, dans de bonnes conditions. De préférence cependant, ces signaux sont successifs l'étape lecture est effectuée après que l'étape de programmation ait été completement réalisée. Des modifications peuvent également être apportées au circuit de sélection de tension. Les transistors T2, T3 du circuit de sélection de tension ont pour rôle d'inverser le signal SELECT, ils peuvent être remplacés par tout autre circuit capable d'inverser des signaux logiques. De la même façon, les transistors T6, T7 peuvent être remplacés par un inverseur haute tension, qui fournit une haute tension si un signal logique nul est appliqué sur son entrée, et qui fournit une tension nulle si un signal logique égal à "1" est appliqué sur son entrée. Le transistor T4 est un transistor d'isolement qui empêche la tension VPP de remonter jusqu'aux drains des transistors T2, T4, dans l'éventualité où la tension VPP apparaîtrait sur les grilles des transistors T6, T7. Le transistor T4 peut éventuellement être supprimé. Dans ce cas, le drain de TS et les grilles de T6, T7 seront connectés ensemble aux drains des transistors T2, T3. Le transistor TS est un élément de sécurité qui est util' " pour verrouiller à "0V" la tension VG lorsque le signal SELECT est nul. Le transistor TS peut éventuellement être supprimé. De manière générale, le circuit de sélection de tension un circuit qui fournit une tension sortie VG qui prend trois valeurs en fonction de deux signaux de sélection SÉLECT, SWITCH, il peut être remplacé tout circuit remplissant cette fonction. modifications peuvent également être apportées au circuit de lecture 120. Par exemple, les transistors T11, et les inverseurs I1, 12 sont utilises pour limiter la tension sur le drain des transistors T8 ; ces éléments peuvent être supprimés si les transistors de mémorisation T1, T8 sont dimensionnés pour supporter des tensions un peu plus élevées. Le circuit de commande 130 de la figure n'est qu'un exemple de circuit fournissant un signal de programmation SWITCH puis un signal de lecture SENSÉ, d'autres circuits de commande peuvent être utilisés, comportant notamment des ensembles de portes et/ou de bascules différents de celui proposé à titre exemple. De plus, les bascules D, qui sont utilisées comme circuit de retard, peuvent être remplacées par tout autre circuit ayant une fonction similaire. L'essentiel pour mettre en ceuvre l'invention, de disposer d'un circuit de commande ' fournit des signaux SÉLECT, SWITCH SENSÉ ayant les caractéristiques nécessaires au fonctionnement correct circuit de sélection de tension et du circuit de lecture 120, c'est-à-dire signaux permettant de réaliser d'abord une programmation partielle du transistor de mémorisation puis une lecture et une comparaison. Le circuit de la figure 1 peut également être amélioré en ajoutant un circuit de sortie pour mémoriser le passage à "1" du signal VOUT. Un tel circuit de sortie 160 est représenté en pointillés sur la figure ; il comprend une borne d'entrée 161 connectée à la borne de sortie 125 du circuit de lecture 120, une borne entrée 162 connectée à une borne 136 du circuit de commande 130 pour recevoir un signal d'écriture WRITE et une borne d'entrée 163 pour recevoir un signal de commande ENABLE d'un utilisateur du circuit. Le circuit de sortie 160 comprend, conformément au schéma de la figure 6, une bascule 165 et une memoire tampon 166. La bascule 165 comprend une borne d'entrée de donnée et une borne d'entrée d'horloge connectées respectivement aux bornes d'entrée 161, 162 du circuit de sortie. La mémoire tampon 166 comprend une borne d'entrée connectée à une borne de sortie de donnée de la bascule 165 pour recevoir un signal REGOUT et une borne d'entrée connectée à la borne 163 pour recevoir un signal de commande extérieur ENABLE. Le signal WRITE est fourni par le circuit de commande 130. Par exemple, il peut être égal au signal SENSÉ retardé de un cycle du signal d'horloge. Pour cela, on ajoutera simplement au circuit de commande une cinquième bascule 159 (représentée en pointillés la figure 4) dont une borne d'entrée de donnée est connectée à la borne de sortie de la quatrième bascule 154 et dont une borne de sortie est connectée à la borne 136. Le circuit de sortie 160 fonctionne de la manière suivante. Initialement, les signaux WRITE, ENABLE ET REGOUT sont nuls ; ils sont représentés sur les figures 5i et 5j. Lors de la n-ième impulsion ÉVENT, lorsque le signal SENSÉ passe à "0" à l'instant t6, le signal WRITE passe à "1" et le signal REGOUT reste nul car le signal VOUT est nul. De la même façon, lors de la m-ième impulsion ÉVENT, lorsque le signal SENSÉ passe à "0" à l'instant 66, le signal WRITE passe à "1", le signal REGOUT passe à "1" et il est maintenu égal à "1". A tout moment, lorsqu'un signal extérieur ENABLE est reçu, le signal REGOUT est mémorisé dans la mémoire tampon 166 et fourni à l'extérieur. REVENDICATIONS 1. Circuit de détection d'usure (100) pour un élément d'un circuit intégré, caractérisé en ce qu'il reçoit une impulsion (ÉVENT) chaque fois que l'élément est utilisé et en ce qu'il comprend - au moins un transistor de mémorisation (T1) dont une source est connectée à une masse du circuit, - un circuit de sélection de tension (110), qui fournit une tension de commande (VG) appliquée sur une grille de commande du transistor de mémorisation (T1) la tension de commande (VG) étant égale à une tension de programmation (VPP) lorsqu'un signal de programmation (SWITCH) est reçu, et étant égale à une tension d'alimentation (VCC) sinon, - circuit de lecture (120) qui, lorsqu'il reçoit un signal de lecture (SENSÉ), mesure un niveau de programmation du transistor de mémorisation (Tl) et fournit signal d'alerte (VOUT) si ce niveau atteint un niveau de référence représentatif d'un nombre (N) maximum d'utilisations de l'élément, et - circuit de commande (130) qui reçoit les impulsions (ÉVENT) et qui fournit le signal de programmation (SWITCH) puis le signal de lecture (SENSÉ). 2. Circuit selon la revendication 1, caractérisé en ce que 1 élément est un composant ou une partie un composant du circuit intégré. 3. Circuit selon la revendication 1, caractérise en ce que l'élément est une instruction ou une série d'instructions. 4. Circuit selon l'une des revendications 1 à 3, caractérisé en ce que le circuit de sélection de tension (110) fournit une tension de commande (VG) nulle s'il reçoit un signal d'inhibition (SELECT) fourni par le circuit de commande (130) . 5. Circuit selon l'une des revendica#:ions 1 à 4, caractérisé en ce qu'il comprend également un circuit de sortie (300) pour mémoriser le signal d'alerte (VOUT) lorsqu'il reçoit un signal de mémorisation (WRITE) du circuit de commande (130). 6. Circuit selon l'une des revendications 1 à 5, caractérisé en ce que le circuit de sélection de tension (110) comprend - un interrupteur commandé (140) qui fournit, sur une borne de sortie ( ), une haute tension (VHT) égale à la tension de programmation (VPP) si le signal de programmation (SWITCH) est dans un premier état logique ("1") et égale à la tension d'alimentation (VCC) si le signal de programmation (SWITCH) est dans un deuxième état logique ("0"), - un inverseur logique (T2, T3) qui reçoit le signal d'inhibition (SELECT), - un inverseur haute tension (T6, T7) dont une borne d'entrée de commande est connectée à une borne de sortie de l'inverseur logique (T2, T3) et dont une borne d'entrée haute tension est connectée à la borne de sortie (144) de l'interrupteur commandé (140), l'inverseur haute tension (T6, T7) fournissant la tension de commande (VG). 7. Circuit selon la revendication 6, caractérisé en ce que le circuit de sélection de tension (110) comprend également - un transistor isolation (T5) dont un drain est connecté à la borne de sortie de l'inverseur logique (T2, T3) et dont une source est connectée à la borne d'entrée de commande de l'inverseur haute tension (T6, T7), la tension d'alimentation (VCC) étant appliquée sur grille de commande du transistor d'isolation (T4). 8. Circuit selon l'une des revendication 6 ou caractérisé en ce que le circuit de sélection de tens-on (l10) comprend également un transistor de blocage (T4) dont un drain, une source et une grille sont connectés respectivement à la borne d'entrée de commande, à la borne entrée haute tension et à la borne de sortie l'inverseur haute tension (T6, T7). Circuit selon l'une des revendications 1 à caractérisé en ce que le circuit de lecture (l20) comprend - un deuxième transistor (T8) de mémorisation dont une source est connectée à la masse du circuit et dont une grille est connectée à une borne d'une source (145) de tension de référence (VREF) dont l'autre borne est connectée à la masse du circuit, un courant de référence (IREF) circulant dans le transistor de mémorisation (T8) lorsque la tension de référence (VREF) est appliquée sur sa grille de commande, le courant de référence (IREF) étant représentatif du niveau de programmation de référence, - des premier et deuxième transistors (T9, T10) ayant leurs sources connectées respectivement aux drains des transistors de mémorisation (T1, T8), leurs drain étant connectés ensemble et recevant le signal de lecture (SENSE), - des troisième et quatrième transistors (T11, T12) ayant leurs sources connectées aux drains des premier et deuxième transistors (T9, T10) et leurs grilles connectées à leurs drains respectifs par l'intermédiaire de deux inverseurs (Il, I2), - des cinquième et sixième transistors (T13, T14) ayant leurs drains connectés respectivement aux drains des troisième et quatrième transistors (T11, T12), et leurs grilles connectées ensemble au drain du cinquième transistor (T13), leurs sources étant connectées ensemble et recevant la tension d'alimentation (VCC), le sixième transistor (T14) fournissant le signal d'alerte (VOUT) sur son drain. 10. Circuit selon la l'une des revendications à 9, caractérisé en ce que le circuit de commande (130) comprend quatre bascules (151, 152, 153, 154) associees en série, la première bascule recevant les impulsions (ÉVENT et la quatrième bascule fournissant le signal de lecture (SENSÉ), - une première porte logique OU (155) comprenant deux bornes d'entrée connectées respectivement à la borne de sortie de la deuxième bascule (152) et à la sortie de la quatrième bascule (154), la première porte logique fournissant le signal d'inhibition (SÉLECT), une deuxième porte logique OU (156) comprenant deux bornes d'entrée connectées respectivement à la borne de sortie de la première bascule (152) et à la sortie de la première porte logique (155), - une troisième porte logique ET (157) comprenant deux bornes d'entrée connectées respectivement à la borne de sortie de la quatrième bascule (154) par l'intermédiaire d'un inverseur (158) et à la sortie de la deuxième porte logique (156), la troisième porte (157) fournissant le signal de programmation (SWITCH), 11. Circuit selon l'une des revendications 5 à 10, caractérisé en ce que le circuit de sortie (160) comprend une bascule (165) pour mémoriser le signal d'alerte, la bascule recevant le signal d'alerte (VOUT) sur une entrée de donnée et le signal de mémorisation (WRITE) une entrée d'horloge. 12. Procédé de détection d'usure d'un élément d'un circuit intégré, caractérisé en ce qu'il comprend les étapes suivantes, exécutées chaque fois que l'élement est utilisé . - recevoir une impulsion (ÉVENT), réaliser une programmation partielle d'un transistor de mémorisation (T1), mesurer un niveau de programmation du transistor de mémorisation (T1) représentatif du nombre d'impulsions (ÉVENT) reçues, - fournir un signal d'alerte (VOUT) si le niveau de programmation est supérieur ou égal à un niveau de référence représentatif d'un nombre maximum (N) d'utilisations autorisées de la donnée à protéger. 13. Carte à puce caractérisée en ce qu'elle comprend un circuit de détection d'usure selon l' des revendications 1 à 9.