Brevet FR2949163A1 — publié le 20110218

B9675 - 09-RO-155 1 SURVEILLANCE DE L'ACTIVITÉ D'UN CIRCUIT ÉLECTRONIQUE Domaine de l'invention La présente invention concerne de façon générale les circuits électroniques et, plus particulièrement, la surveillance de l'activité d'un circuit, d'un composant ou d'une fonction, d'un circuit électronique au cours du temps. L'invention s'applique plus particulièrement à la détection d'une anomalie de fonctionnement d'un circuit sous l'effet d'une tentative de piratage. Exposé de l'art antérieur Dans la plupart des circuits ou composants manipulant des quantités considérées comme sensibles du point de vue de leur confidentialité, on cherche à mettre en place des contre-mesures contre d'éventuelles tentatives de piratage de ces données. Une attaque particulièrement répandue est une attaque dite par canaux cachés qui consiste à analyser la consommation du circuit intégré (DPA - Differential Power Analysis) pendant que celui-ci exécute des opérations manipulant des quantités secrètes. La détection d'une attaque par canaux cachés s'effectue généralement en surveillant le nombre d'exécutions de l'algorithme sensible. En effet, l'attaquant va effectuer un B9675 - 09-RO-155 2 grand nombre d'hypothèses sur des données et/ou des clés et provoquer l'exécution de l'algorithme un grand nombre de fois en analysant la consommation du circuit. Une technique habituelle est donc d'utiliser un compteur incrémenté ou décrémenté à chaque nouvelle exécution pour détecter quand un nombre d'opérations trop important est effectué et prendre alors les mesures adéquates. Le compteur du nombre d'opérations est stocké dans une zone de mémoire non volatile (EEPROM) du circuit intégré. En effet, le circuit est généralement réinitialisé entre les attaques successives et il ne faut donc pas perdre l'information. Les contre-mesures peuvent être diverses mais la plus fréquente est l'invalidation du fonctionnement du circuit intégré. Un inconvénient de cette technique est qu'elle ne prend pas en compte le facteur temps qui est important en cas d'attaque. En effet, le grand nombre d'exécutions du même algorithme est un indice d'attaque mais c'est surtout sa répétition à fréquence élevée qui est signe d'une attaque. Résumé Il serait souhaitable de disposer d'une solution pour surveiller l'exécution de certaines fonction ou opérations dans un circuit intégré. Il serait également souhaitable de tenir compte du facteur temporel et, en particulier, de distinguer une répétition d'opérations dans un bref intervalle de temps, synonyme d'une tentative de piratage des informations du circuit, d'un nombre aussi important d'opérations mais suffisamment espacé dans le temps pour qu'il corresponde à une utilisation normale. Ainsi, un objet d'un mode de réalisation de la présente invention prévoit est de pallier tout ou partie des inconvénients des techniques connues de détection de tentatives d'attaques. B9675 - 09-RO-155 3 Un autre objet d'un mode de réalisation de la présente invention est de proposer une solution simple à mettre en oeuvre et peu encombrante. Un autre objet d'un mode de réalisation de la présente invention est de proposer une solution susceptible d'être mise en oeuvre pour différentes fonctions ou opérations d'un même circuit. Plus généralement, un mode de réalisation de la présente invention vise à surveiller l'activité d'une fonction ou opération d'un circuit intégré en terme de nombre d'exécutions au cours du temps. Pour atteindre tout ou partie de ces objets ainsi que d'autres, il est prévu un procédé de surveillance d'un signal numérique, dans lequel : un premier transistor MOS à canal P est placé dans des conditions de dégradation de type d'instabilité en température par polarisation négative pendant des périodes où le signal à surveiller est dans un premier état ; une première information représentative du courant de 20 saturation du premier transistor est mesurée quand le signal à surveiller passe dans un deuxième état ; et un signal de détection est commuté quand cette première information passe un seuil. Selon un mode de réalisation de la présente invention, 25 ladite première information est la tension en un point intermédiaire d'une première branche comportant, en série, au moins le premier transistor et un élément résistif. Selon un mode de réalisation de la présente invention, ladite première information est comparée à une deuxième 30 information correspondante, fournie par un deuxième transistor, ledit signal de détection étant commuté quand la différence entre lesdites informations excède un seuil. Selon un mode de réalisation de la présente invention, le signal à surveiller est un signal indicateur de l'état d'une 35 opération cryptographique. B9675 - 09-RO-155 4 On prévoit également un dispositif de surveillance d'un signal numérique comportant : entre deux bornes d'application d'une tension d'alimentation : une première branche comportant, en série, un premier transistor MOS à canal P, un premier interrupteur et un premier élément résistif ; une deuxième branche comportant, en série, un deuxième interrupteur, un deuxième transistor MOS à canal P, un troisième 10 interrupteur et un second élément résistif ; une troisième branche apte à polariser les transistors à canal P des première et seconde branches ; un comparateur des tensions respectives aux bornes des éléments résistifs des première et deuxième branches ; et 15 un élément apte à court-circuiter les source et drain du transistor à canal P de la première branche quand le signal à surveiller est dans un premier état. Selon un mode de réalisation de la présente invention, lesdits premier et troisième interrupteurs sont des transistors 20 MOS à canal N. Selon un mode de réalisation de la présente invention, le signal numérique à surveiller est appliqué, par l'intermédiaire d'un inverseur, sur les grilles respectives des transistors à canal N des première et deuxième branches et sur 25 la grille d'un transistor à canal P formant ledit élément. Selon un mode de réalisation de la présente invention, la troisième branche comporte, en série entre lesdites bornes d'application de la tension d'alimentation, un quatrième interrupteur, un transistor MOS à canal P et une source de 30 courant. Selon un mode de réalisation de la présente invention, lesdits deuxième et quatrième interrupteurs sont des transistors MOS à canal P. On prévoit également un circuit électronique compor- 35 tant : B9675 - 09-RO-155 au moins un sous-ensemble exécutant une fonction de cryptographie ; et au moins un dispositif de surveillance d'un signal indicateur de l'état de ladite fonction. 5 Brève description des dessins Ces objets, caractéristiques et avantages, ainsi que d'autres seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non-limitatif en relation avec les figures jointes parmi lesquelles : la figure 1 est un schéma bloc d'un circuit électronique du type auquel s'applique à titre d'exemple la présente invention ; les figures 2A et 2B sont des chronogrammes illustrant des exemples d'allures de signaux d'activation d'une fonction du circuit de la figure 1, respectivement en fonctionnement normal et en présence d'une attaque ; la figure 3 est un schéma bloc d'un mode de réalisation de la présente invention ; la figure 4 est un exemple de réalisation détaillé du 20 circuit de surveillance de la figure 3 ; et les figures 5A, 5B, 5C et 5D sont des chronogrammes illustrant le fonctionnement du circuit de la figure 4. De mêmes éléments ont été désignés par de mêmes références aux différentes figures. 25 Description détaillée Par souci de clarté, seuls les étapes et éléments utiles à la compréhension de l'invention ont été représentés et seront décrits. En particulier, les fonctions ou opérations surveillées par les modes de réalisation décrits n'ont pas été 30 détaillés, l'invention étant compatible avec toute fonction ou opération activée par un signal numérique, susceptible d'être exécutée par un circuit intégré et dont on souhaite surveiller la variation de fréquence d'exécution par rapport à un seuil. De plus, dans l'application à la surveillance d'attaques éven- 35 tuelles, les contre-mesures n'ont pas été détaillées, l'inven- B9675 - 09-RO-155 6 tion étant là encore compatible avec toute contre-mesure usuelle prise suite à la détection d'une tentative d'attaque. La figure 1 est un schéma bloc d'un exemple de réalisation d'un circuit intégré 1 du type auquel s'applique la présente invention. Un tel circuit comprend généralement une unité de traitement 11 (PU), une ou plusieurs mémoires 12, 13 et 14 parmi lesquelles, par exemple, une mémoire vive (RAM) ou des registres de traitement, une ou plusieurs mémoires non volatiles (NVM) réinscriptibles, une ou plusieurs mémoires non volatiles non réinscriptibles (ROM). Le circuit 1 comporte un ou plusieurs bus 15 de commandes, d'adresses et de données pour que les différents constituants communiquent entre eux ainsi qu'une interface 16 d'entrée/sortie (I/O) pour communication avec l'extérieur du circuit 1. Selon l'application à laquelle il est destiné, le circuit 1 comporte d'autres composants ou circuits pour mettre en oeuvre d'autres fonctions (symbolisées par un bloc 17, FCT). Dans l'application préférée aux composants sécurisés (par exemple de type carte à puce), le circuit 1 comporte en particulier un crypto-processeur 18 (CP) chargé d'exécuter des fonctions mettant en oeuvre des quantités (clés) secrètes, par exemple, des fonctions de chiffrement, déchiffrement, brouillage, de calcul de signature, etc. Selon un autre exemple, le circuit intégré dont on souhaite surveiller l'activité comporte une mémoire et un crypto-processeur (sans unité centrale de traitement). L'invention sera décrite par la suite en relation avec un exemple d'application à la surveillance d'une activité cryptographique du circuit pour détecter d'éventuelles attaques. Toutefois, elle s'applique plus généralement à la surveillance d'une activité d'un composant ou d'un circuit quelconque dont on souhaite vérifier la fréquence d'occurrences d'une opération par rapport à un seuil. Par exemple, il peut s'agir de vérifier la fréquence d'opérations d'effacement-programmation d'une mémoire non volatile pour, si besoin, différer certaines opérations B9675 - 09-RO-155 7 d'effacement-programmation afin de réduire les contraintes (stress) apportées à la mémoire et d'améliorer sa durée de vie. Les figures 2A et 2B sont des chronogrammes illustrant les périodes d'activation (symbolisées arbitrairement par un état 1) et de repos (symbolisées arbitrairement par un état 0) d'un signal EN à surveiller. Par exemple, le signal EN est le signal d'activation d'une fonction cryptographique. En variante, il s'agit d'un signal d'état indiquant qu'une telle fonction est active. La figure 2A illustre un fonctionnement normal au cours duquel l'opération est exécutée une ou plusieurs fois avec des périodes d'inactivité relativement longues. En pratique, les périodes d'inactivité sont supérieures aux périodes d'activité, le temps restant servant, au reste du circuit, à exploiter les données fournies par cette fonction. La figure 2B illustre l'allure du signal EN en présence d'un fonctionnement anormal (par exemple, en présence d'attaques). La fréquence de répétition des opérations cryptographiques est nettement plus élevée et, surtout, les opérations ne sont pas séparées par des temps de repos. Cela est du au fait qu'un pirate fait exécuter l'opération de cryptographie avec des hypothèses successives sur les données et/ou sur les clés et qu'il réinitialise le circuit sans attendre que ces données aient été traités plus avant. En effet, l'attaque consiste à surveiller la consommation du circuit pendant l'exécution du processus cryptographique de façon à en déduire des informations sur les clés. Réinitialiser immédiatement le circuit pour lui présenter d'autres données ou hypothèses peut également éviter qu'une contre-mesure ne soit déclenchée. La figure 3 est un schéma bloc d'un mode de réalisation de la présente invention. On suppose que l'on souhaite surveiller une opération OP, par exemple mise en oeuvre par le bloc 18 de la figure 1. On suppose que l'opération dont on souhaite surveiller le déroulement reçoit un signal d'activation EN. Ce signal d'activation est prélevé pour être envoyé sur un B9675 - 09-RO-155 8 circuit 2 de surveillance (SPY) fournissant un signal DET indicateur d'un éventuel fonctionnement anormal. En variante, on prélève le signal d'état EN à l'intérieur de la fonction OP. Le circuit 2 analyse la fréquence des périodes d'activation du signal EN par rapport à un seuil pour être en mesure de détecter un fonctionnement anormal. Selon les modes de réalisation décrits, on tire profit d'un effet parasite des transistors MOS à canal P, à savoir une instabilité en température sous polarisation négative (NBTI - Négative Bias Temperature Instability). Dans des conditions de polarisation particulières, des charges sont piégées dans la grille du transistor. Cela a pour effet de modifier la tension de seuil (VT) du transistor et, par conséquent, son courant de saturation. Cette dégradation est fonction du temps. La dégradation ou stress du transistor par phénomène NBTI inter-vient en polarisant la grille du transistor à une tension négative tandis que son drain, sa source et son caisson sont à la masse, ou en appliquant une tension nulle sur sa grille alors que son drain, sa source et son caisson sont au potentiel positif d'alimentation. Ce phénomène se produit habituellement lors des phases de commutation des transistors dans un circuit numérique mais n'est que transitoire. Le phénomène NBTI est connu et on cherche généralement à l'éviter dans un fonctionnement habituel d'un transistor en technologie CMOS. On utilise ici ce phénomène pour provoquer une dégradation d'un transistor de détection pendant les périodes où la fonction à surveiller est active. On tire alors profit du fait que le transistor retrouve son état normal (non dégradé) au bout d'un temps qui dépend, entre autres, de l'importance de la dégradation subie. Le phénomène NBTI est connu de la technique. Il est décrit, par exemple, dans l'article "Négative bias temperature instability: Road to cross in deep submicron silicon semiconductor manufacturing" de Dieter K. Schroder and Jeff A. Babcock, paru dans Journal of applied Physics, vol. 94, pp.l-18, B9675 - 09-RO-155 9 en juillet 2003 et dans l'article "A comprehensive model of PMOS NBTI degradation" de M. Alam and S. Mahapatra, paru dans Microelectronics Reliability, vol. 45, no. 1, pp. 71-81, en janvier 2005. La figure 4 est un schéma électrique détaillé d'un circuit 2 de détection tel qu'illustré en figure 3. Le principe est de comparer le comportement d'un transistor MOS P1 à canal P qui sera soumis à une dégradation de type NBTI pendant les périodes d'activation de la fonction à surveiller, par rapport à un transistor P2 également à canal P mais non soumis à dégradation pendant ces périodes. Pour cela, deux branches 21 et 22, en parallèle entre deux bornes 23 et 24 d'application d'une tension positive d'alimentation Vdd, comportent chacune, en série, l'un des transistors P1 ou P2, un interrupteur (par exemple, un transistor à canal N) N1, respectivement N2, et un élément résistif R1, respectivement R2. La branche 22 comporte en outre, entre le transistor P2 et la borne 23, un interrupteur (par exemple, un transistor MOS P5 à canal P) commandé par le signal EN d'activation de la fonction à surveiller. Les grilles des transistors N1 et N2 reçoivent l'inverse (inverseur 25) du signal EN d'activation de la fonction. Les noeuds d'interconnexion 26 entre le transistor N1 et la résistance R1, et 27 entre le transistor N2 et la résistance R2, donc les sources des transistors N1 et N2, sont connectés en entrée d'un comparateur 28 (COMP) fournissant le résultat de la détection DET. En fait le comparateur 28 compare indirectement une information relative au courant de saturation des transistors P1 et P2. La polarisation des transistors P1 et P2 est assurée par une troisième branche 29 comportant, en série entre les bornes 23 et 24, un interrupteur (par exemple, un transistor MOS P6 à canal P) commandé par le signal EN, un transistor P3 à canal P et une source de courant 30, le transistor P3 étant monté en diode (grille et drain reliés) et sa grille étant reliée aux grilles respectives des transistors P1 et P2. B9675 - 09-RO-155 10 La branche de polarisation 29 est commandable par un transistor MOS N3 à canal N reliant le drain du transistor P3 (connecté à la source de courant 30) à la masse 24. La grille du transistor N3 reçoit le signal d'activation EN. Par ailleurs, un transistor N4, dont la grille reçoit également le signal EN, relie le drain du transistor P2 à la masse. Le transistor de mesure P1 est placé dans une phase de dégradation à l'aide d'un transistor MOS P4 à canal P court-circuitant sa source et son drain lorsque le signal EN est à l'état haut. Pour cela, la grille du transistor P4 est reliée en sortie de l'inverseur 25. Le caisson (bulk) du transistor P2 comme celui de tous les transistors à canal P du montage est, par construction, relié à sa source (donc au potentiel Vdd). Les figures 5A, 5B, 5C et 5C sont des chronogrammes illustrant le fonctionnement du circuit de la figure 4. La figure 5A illustre un exemple d'allure du signal EN à surveiller. Les figures 5B et 5C illustrent les allures respectives des tensions VAS et VREF des drains respectifs des transistors P1 et P2. La figure 5D illustre l'allure du signal DET fourni par l'amplificateur 28. On suppose qu'initialement le transistor de mesure P1 n'est pas stressé. Lors d'une première activation du signal EN (instant t1, figure 5A) les transistors N3 et N4 sont rendus passant. Cela a pour effet de ramener les grilles des transistors P1 et P2 à la masse de même que le drain du transistor P2. Les transistors P5 et P6 qui reçoivent sur leurs grilles respectives le signal EN sont bloqués. La tension VREF est donc nulle (en négligeant la chute de tension dans le transistor N4 à l'état passant). Par ailleurs, par l'inverseur 25, les transistors N1 et N2 sont bloqués. Par conséquent, les deux branches 21 et 22 sont ouvertes. Côté transistor de mesure, le transistor P4 est rendu passant par l'inverseur 25. Par conséquent, les source, caisson et drain du transistor P1 sont au potentiel Vdd (en négligeant la chute de tension dans le transistor P4 à l'état passant), alors que sa grille est à la B9675 - 09-RO-155 11 masse. Le transistor P1 est alors placé dans des conditions de dégradation NBTI et des charges s'accumulent dans son oxyde de grille. A un instant t2, lorsque le signal d'activation EN est relâché, ce stress disparaît par l'ouverture du transistor P4. Simultanément, les transistors N1, N2 et P5, P6 sont rendus passants et les transistors N3 et N4 sont bloqués. On passe alors en phase de mesure, les deux branches 21 et 22 étant actives. Le comparateur 28 compare les niveaux de tension aux noeuds 26 et 27 qui, dans cette phase, correspondent aux niveaux des tensions VMES et VREF (en négligeant la chute de tension dans les transistors N1 et N2 à l'état passant). La branche 29 de polarisation est activée par l'ouverture du transistor N3. Les transistors P1 et P2 sont donc rendus passants. Comme l'illustre le chronogramme de la figure 5B, l'accumulation des charges qui s'est produit pendant que le transistor P1 était bloqué se traduit par un courant plus faible dans le transistor, d'où une tension VMES inférieure à un niveau nominal V1 (la résistance R1 étant fixe). Côté deuxième branche, la tension VREF prend une valeur V2 conditionnée par la valeur de la résistance R2. Les niveaux V1 et V2 ne sont pas nécessairement identiques. Cela dépend si le seuil de commutation, c'est-à-dire la différence de niveau entre les tensions VMES et VREF (ou inversement) du comparateur 28 est fixé par un décalage (offset) interne à celui-ci ou par les valeurs des résistances R1 et R2. Comme la tension VREF ne varie pas pendant les périodes de mesure, le seuil correspond à une valeur TH de la tension VME5 en deçà de laquelle on considère que le transistor P1 a accumulé une dégradation suffisante pour considérer un fonctionnement anormal. Dans la partie gauche des chronogrammes, on suppose que l'effet parasite NBTI disparaît à partir d'un instant t3, les transistors P1 et P2 redeviennent alors identiques et la tension VAS prend la valeur V1. B9675 - 09-RO-155 12 La partie droite des chronogrammes illustre un fonctionnement anormal du circuit, par exemple une tentative de piratage. Dans un tel cas, les périodes d'activation du signal EN sont très rapprochées. Il en découle que le transistor P1 n'a pas le temps de revenir dans sont état nominal. Quand (instant t4) l'accumulation de charges dans l'oxyde de grille du transistor P1 est telle que la tension VMES passe en dessous du seuil TH, le comparateur 28 commute (signal DET, figure 5D). L'exploitation du signal DET peut être un blocage du circuit, l'activation d'une commande, le fait de différer une autre action (par exemple dans le cas de l'écriture dans des mémoires non volatiles), etc. Un avantage des modes de réalisation décrits est qu'il est désormais possible de prendre en compte la fréquence des périodes d'activation du circuit et plus seulement leur nombre. Un autre avantage est que la dégradation du transistor P1 est indépendante de tout bruit ou perturbation de la tension d'alimentation (les deux bornes de conduction - drain et source - du transistor P1 sont portées au même potentiel pendant les phases de dégradation). Par ailleurs, cette dégradation est insensible aux éventuelles attaques de nature différente, par exemple aux attaques laser. Un autre avantage est qu'il n'est plus nécessaire de faire des écritures successives dans une mémoire EEPROM, ce qui 25 réduit le stress de cette mémoire. Un autre avantage est que le circuit de détection prend peu de place. Plusieurs circuits 2 peuvent donc être affectés, dans un même circuit électronique, à la surveillance de signaux d'activation différents en fonction de l'application. 30 Divers modes de réalisation ont été décrits, diverses variantes et modifications apparaîtront à l'homme de l'art. En particulier la mise en oeuvre pratique de l'invention, notamment le choix des seuils de déclenchement du signal de détection, dépend de l'application et est à la portée de l'homme du métier 35 à partir des indications fonctionnelles données ci-dessus. De B9675 - 09-RO-155 13 plus, bien que l'invention ait été décrite en relation avec un exemple destiné à surveillance de signaux d'activation de fonctions cryptographiques, elle s'applique plus généralement dès que l'on souhaite surveiller une variation de fréquence des périodes d'activation d'un signal numérique. En outre, d'autres circuits de mesure peuvent être envisagés. Par exemple, pour un circuit donné, la référence utilisée par le comparateur 28 peut être fournie par un pont diviseur résistif. Un avantage d'utiliser une branche similaire à la branche du transistor P1 est toutefois de s'affranchir d'éventuelles dispersions. REVENDICATIONS1. Procédé de surveillance d'un signal numérique (EN), dans lequel : un premier transistor MOS à canal P (P1) est placé dans des conditions de dégradation de type d'instabilité en température par polarisation négative (NBTI) pendant des périodes où le signal à surveiller est dans un premier état ; une première information (VMES) représentative du courant de saturation du premier transistor (P1) est mesurée quand le signal à surveiller passe dans un deuxième état ; et un signal de détection (DET) est commuté quand cette première information passe un seuil (TH). 2. Procédé selon la revendication 1, dans lequel ladite première information est la tension en un point intermédiaire (26) d'une première branche (22) comportant, en série, au moins le premier transistor (P1) et un élément résistif (R1). 3. Procédé selon la revendication 1 ou 2, dans lequel ladite première information (VAS) est comparée à une deuxième information correspondante (VREF), fournie par un deuxième transistor (P2), ledit signal de détection (DET) étant commuté quand la différence entre lesdites informations excède un seuil. 4. Procédé selon l'une quelconque des revendications 1 à 3, dans lequel le signal à surveiller (EN) est un signal indicateur de l'état d'une opération cryptographique. 5. Dispositif de surveillance d'un signal numérique comportant : entre deux bornes (23, 24) d'application d'une tension d'alimentation (Vdd) : une première branche (21) comportant, en série, un 30 premier transistor MOS à canal P (P1), un premier interrupteur (Ni) et un premier élément résistif (R1) ; une seconde branche (22) comportant, en série, un deuxième interrupteur (P5), un deuxième transistor MOS à canal PB9675 - 09-RO-155 15 (P2), un troisième interrupteur (N2) et un second élément résistif (R2) ; une troisième branche (29) apte à polariser les transistors à canal P des première et seconde branches ; un comparateur (28) des tensions respectives aux bornes des éléments résistifs des première et deuxième branches ; et un élément (P4) apte à court-circuiter les source et drain du transistor à canal P de la première branche quand le 10 signal à surveiller est dans un premier état. 6. Circuit selon la revendication 5, dans lequel lesdits premier et troisième interrupteurs sont des transistors MOS à canal N (N1, N2). 7. Circuit selon la revendication 6, dans lequel le 15 signal numérique à surveiller est appliqué, par l'intermédiaire d'un inverseur (25), sur les grilles respectives des transistors à canal N des première (21) et deuxième (22) branches et sur la grille d'un transistor à canal P (P4) formant ledit élément. 8. Circuit selon l'une quelconque des revendications 5 20 à 7, dans lequel la troisième branche (29) comporte, en série entre lesdites bornes (23, 24) d'application de la tension d'alimentation (Vdd), un quatrième interrupteur (P6), un transistor MOS à canal P (P3) et une source de courant (30). 9. Circuit selon la revendication 8, dans lequel 25 lesdits deuxième et quatrième interrupteurs sont des transistors MOS à canal P (P5, P6). 10. Circuit électronique (1) comportant : au moins un sous-ensemble (18) exécutant une fonction de cryptographie ; et 30 au moins un dispositif (2) de surveillance d'un signal indicateur de l'état de ladite fonction, conforme à l'une quelconque des revendications 5 à 9.