Brevet FR3042055A1 — publié le 20170407

CONTREMESURES POUR ATTAQUES PAR INJECTION DE FAUTES PAR IMPULSIONS OPTIQUES ET ELECTROMAGNETIQUES Domaine technique L'invention est relative à la prévention d'attaques par injection de fautes dans des circuits intégrés sécurisés. Arrière-plan Une injection de faute peut être due à un basculement intempestif de l'état logique d'une brique de circuit numérique dans un circuit intégré en cours de fonctionnement. Un tel basculement peut être provoqué volontairement à l'aide d'un faisceau laser dirigé sur le drain ou la source d'un transistor MOS ou d'un champ électromagnétique dirigé dans une boucle formée par des pistes conductrices interconnectant des portes logiques élémentaires ou des transistors à l'intérieur d'une porte élémentaire En injectant ainsi des fautes à des endroits stratégiques et de manière synchronisée sur le fonctionnement du circuit, une personne malveillante peut révéler des informations sécurisées, comme des clés de chiffrement. Pour détecter des attaques par faisceau laser, le circuit peut être pourvu de capteurs optiques distribués dans le circuit, avec une densité plus élevée autour d'éléments clé du circuit. L'article du journal Sensors 2013, volume 13, pages 6713-6729, « Reset Tree-Based Optical Fault Detection », propose d'utiliser comme capteurs optiques des amplificateurs tampon prévus dans l'arbre de réinitialisation du circuit intégré. Un amplificateur tampon est en fait formé de deux inverseurs consécutifs, chacun étant sensible à une injection de faute par faisceau laser. Les sorties de ces amplificateurs, à 1 en fonctionnement normal, sont comparées par une porte ET. Lorsqu'au moins un des amplificateurs tampon bascule du fait d'une injection de faute, la sortie de la porte ET passe temporairement à 0. Ce passage à 0 est mémorisé dans une bascule qui sert à signaler la faute. Le signalement peut être utilisé par un logiciel pour prendre des mesures préventives, ou tout simplement pour réinitialiser le circuit. Il est en pratique difficile de protéger par des capteurs tout emplacement pouvant servir à une injection de faute et les capteurs optiques ne sont en général pas adaptés à la détection d'impulsions électromagnétiques. Pour cela les circuits sécurisés peuvent 3042055 2 intégrer d'autres contremesures pour prévenir les attaques, comme l'utilisation de circuits redondants permettant une double vérification de résultat. Résumé On prévoit de façon générale un circuit intégré protégé contre des attaques par injection 5 de fautes, comprenant un réseau de capteurs optiques ; une bascule de surveillance connectée aux capteurs optiques pour signaler une faute lorsqu'au moins un des capteurs optiques change d'état ; et des bobinages inductifs connectés dans le réseau, chaque bobinage étant configure pour générer une tension induite provoquant le basculement d'au moins un des capteurs optiques lorsque le bobinage est soumis à un 10 flux électromagnétique susceptible de provoquer une injection de faute dans le circuit. Un bobinage inductif peut être connecté en série avec un capteur optique respectif. Un capteur optique peut comprendre une bascule et l'un des bobinages inductifs peut être connecté entre des éléments de la bascule. Un bobinage inductif peut être plat et formé par des pistes bobinées en spirale sur un 15 niveau de métal du circuit. Un bobinage inductif peut être un solénoïde formé par des pistes bobinées sur différents niveaux de métal du circuit. Les capteurs optiques peuvent être alimentés à une tension inférieure à la tension d'alimentation nominale du circuit intégré. 20 Les capteurs optiques peuvent être connectés en chaîne et les bobinages être insérés dans des liaisons entre les capteurs. Description sommaire des dessins Des modes de réalisation seront exposés dans la description suivante, faite à titre non limitatif en relation avec les figures jointes parmi lesquelles : 25 - la figure 1 représente schématiquement un réseau de capteurs optiques pouvant servir à détecter des tentatives d'injection de fautes par faisceau laser dans un circuit intégré en fonctionnement ; 3042055 3 - la figure 2 représente schématiquement un mode de réalisation de réseau de capteurs optiques et électromagnétiques pouvant servir à détecter des tentatives d'injection de fautes par faisceau laser et par impulsion électromagnétique ; - la figure 3 représente schématiquement un détail d'un capteur optique à bascule, 5 et la connexion d'un bobinage de détection d'impulsions électromagnétiques ; - la figure 4 est un graphe illustrant une amélioration de la sensibilité des capteurs en fonction de leur tension d'alimentation ; et - la figure 5 représente schématiquement un autre mode de réalisation de réseau de capteurs optiques et électromagnétiques. 10 Description de modes de réalisation Les capteurs optiques proposés par l'article susmentionné de Sensors 2013 sont formés à partir d'amplificateurs tampon d'un arbre de réinitialisation, et sont donc soumis aux contraintes de conception, notamment de nombre et de placement, de l'arbre de réinitialisation. Cela limite les possibilités de couverture des zones à risque pour les 15 fautes d' inj e cti on. La figure 1 représente schématiquement un réseau de capteurs optiques indépendants S, qui ne sont pas soumis à des contraintes de conception d'autres éléments. Leur structure, leur emplacement et leur nombre sont ainsi libres et adaptables aux besoins spécifiques du circuit à protéger. 20 Les capteurs S sont chaînés, c'est-à-dire que chaque capteur comprend une entrée de propagation qui est reliée à une sortie de propagation P du capteur précédent. L'entrée de propagation du premier capteur S est reliée à un niveau logique représentatif d'un fonctionnement normal, par exemple 0. La sortie de propagation du dernier capteur est reliée à une bascule de surveillance FF connectée pour mémoriser tout passage par un 25 état actif de la sortie de propagation du dernier capteur S. La bascule FF produit un signal de détection de faute DET. Les capteurs S et la bascule FF peuvent être alimentés entre les lignes d'alimentation Vdd et Vss du circuit intégré. Chacun des capteurs S est conçu pour relayer toute activation de son entrée de propagation au capteur suivant et pour être lui-même sensible aux injections de faute, 30 lesquelles fautes sont répercutées sur la sortie de propagation du capteur. 3042055 4 Pour cela, les capteurs S pourraient être de simples amplificateurs tampon. Alors un capteur quelconque de la chaîne qui reçoit un flux laser produit une impulsion sur sa sortie qui est propagée de capteur en capteur jusqu'à la bascule FF. L'impulsion provoque le changement d'état de la bascule FF et la signalisation d'une faute. 5 La chaîne de capteurs pouvant être longue et l'injection de faute pouvant être courte, l'impulsion propagée pourrait être atténuée ou perdue dans certains cas. Il est préférable que les capteurs propagent un état plutôt qu'une impulsion. Ainsi, chaque capteur S peut intégrer une bascule qui commute à un état actif à l'apparition d'un front actif sur l'entrée de propagation. L'état actif du premier capteur qui commute est alors propagé 10 de capteur en capteur jusqu'à la bascule de surveillance FF. Si les capteurs S intègrent des bascules, ces bascules, ainsi que la bascule FF, sont connectées pour être réinitialisées par un signal RST de réinitialisation générale du circuit intégré. Selon leur structure, les capteurs optiques S peuvent être sensibles également aux 15 attaques par impulsions électromagnétiques. A la figure 1, le deuxième capteur S de la chaîne se trouve à proximité d'une structure inverseuse 10 du circuit intégré. L'inverseur 10 est ciblé par un flux optique ou électromagnétique Ll qui déborde sur le deuxième capteur. La proximité est telle que le flux injecte une faute dans ce capteur, se traduisant par une impulsion qui est propagée 20 vers la bascule FF et une détection de faute. Un autre inverseur 12 ciblé par un flux L2 se trouve trop loin d'un capteur S, de sorte qu'aucun capteur ne produit d'impulsion et aucune faute n'est détectée. La figure 2 représente schématiquement un mode de réalisation de chaîne de capteurs permettant d'augmenter le taux de couverture d'un circuit intégré devant les attaques 25 par impulsions électromagnétiques. Des bobinages inductifs 20 sont insérés en série dans les liaisons P entre les capteurs de la chaîne de la figure 1. Les bobinages 20 peuvent être réalisés par des pistes bobinées en spirale plate sur le dernier niveau de métal du circuit intégré. Ces bobinages peuvent alors être placés au-dessus des éléments actifs du circuit sans augmenter la surface du circuit intégré. Chaque bobinage peut 30 ainsi entourer plusieurs zones sensibles rapprochées à protéger. Chaque bobinage inductif 20 peut être configure pour générer une tension induite dépassant le seuil de basculement d'une porte logique lorsque le bobinage est soumis à 3042055 5 un flux électromagnétique susceptible de provoquer une injection de faute dans le circuit à protéger. Ainsi, lorsqu'une zone sensible du circuit, telle qu'une structure inverseuse 22, est ciblée par une impulsion électromagnétique EM, le flux de l'impulsion peut déborder sur le bobinage 20 le plus proche, voire traverser le bobinage 5 si celui-ci entoure la zone ciblée. La borne du bobinage reliée à l'entrée du capteur S suivant, qui se trouve à haute impédance, présente alors une impulsion de tension induite. L'impulsion est généralement bipolaire, comprenant deux alternances de polarités opposées, comme cela est illustré - l'alternance ayant la bonne polarité déclenche alors le capteur S suivant. Cet événement se propage de capteur en capteur 10 jusqu'à la bascule FF qui signale une faute. Selon la structure des capteurs optiques S, les bobinages 20 peuvent être connectés ailleurs qu'entre deux capteurs S. La figure 3 représente schématiquement un détail d'un capteur optique S intégrant un exemple de bascule. La bascule comporte deux inverseurs rebouclés formant un point 15 mémoire de type SRAM. Un transistor MOS peut être prévu pour réinitialiser la bascule à partir du signal RST. Un bobinage inductif 20 peut être connecté entre la sortie d'un premier des inverseurs et l'entrée du deuxième inverseur. Le bobinage 20 peut être connecté, comme cela est représenté, hors du chemin de propagation entre capteurs, de sorte que le bobinage n'affecte pas le signal de propagation. 20 Les impulsions électromagnétiques utilisées pour injecter des fautes sont d'intensité élevée, apte à générer une tension induite dépassant le seuil de basculement d'une porte élémentaire à l'aide d'une seule boucle de configuration quelconque et discontinue entre des éléments de la porte élémentaire. Ainsi les bobinages 20 n'ont pas besoin d'avoir une inductance élevée pour détecter de telles impulsions. Elles peuvent cependant être 25 configurées pour être sensibles à une fraction du flux, de sorte à détecter des impulsions excentrées par rapport aux bobinages, ciblant des zones à l'extérieur des bobinages. A titre d'exemple, une inductance d'environ 3 nH permet d'atteindre des résultats satisfaisants. Cette valeur d'inductance peut être atteinte par un bobinage carré en spirale plate d'environ 250 i.tm de côté, avec trois spires. Au lieu d'être bobinées en 30 spirale sur une seule couche de métal, les spires peuvent être bobinées sur des couches de métal différentes pour former un bobinage solénoïde, dont l'encombrement sera inférieur à celui d'un bobinage en spirale pour une même valeur d'inductance. 3042055 6 Comme on l'a précédemment indiqué, un critère intervenant dans la conception des bobinages 20 est la production d'une tension induite dépassant le seuil de commutation d'une porte logique élémentaire. En effet, c'est le franchissement de ce seuil à l'entrée d'un capteur S qui entraîne la propagation de cet événement pour signaler une faute. On 5 peut souhaiter abaisser ce seuil pour rendre les capteurs plus sensibles. Cela peut être réalisé en abaissant la tension d'alimentation de la chaîne de capteurs S et de la bascule FF - alors que le circuit intégré, incluant l'inverseur 22, est alimenté sous une tension Vdd, la chaîne de capteurs S peut être alimentée sous une tension Vdd2 inférieure à la tension Vdd, comme cela est indiqué entre parenthèses pour le premier capteur S. 10 La figure 4 est un graphe réalisé à partir de simulations, illustrant la sensibilité des capteurs S en fonction de la tension d'alimentation Vdd2. Ce graphe a été établi pour un bobinage 20 de 3 nH, une sonde d'impulsion électromagnétique de 100 nH, et un coefficient de couplage entre la sonde et le bobinage de 0,01. L'axe vertical représente l'amplitude des impulsions de tension Vem appliquées sur la sonde, et donc l'intensité 15 du flux magnétique des impulsions. Dans ces conditions de simulation, pour une tension Vdd2 égale à la tension d'alimentation Vdd, ici 1,2 V, il faut une tension Vem supérieure à 350 V sur la sonde pour déclencher la détection. Lorsque la tension Vdd2 est abaissée à 0,85 V, une tension Vem de l'ordre de 230 V suffit pour déclencher la détection. 20 Dans le mode de réalisation de la figure 2, les bobinages 20 ont été insérés en série dans les lignes de propagation P entre les capteurs. Les bobinages peuvent être insérés dans d'autres lignes du réseau d'interconnexion des capteurs, du moment que la tension induite dans un bobinage provoque une condition de détection de l'un des capteurs S. La figure 5 représente schématiquement un autre mode de réalisation de réseau de 25 capteurs illustrant d'autres positions possibles des bobinages. Il s'agit, à titre d'exemple, d'un réseau de capteurs du type décrit dans l'article de Sensors 2013 susmentionné, c'est-à-dire un réseau d'amplificateurs tampon 40 appartenant à un arbre de réinitialisation du circuit intégré. Les amplificateurs 40 reçoivent tous un signal de réinitialisation à état actif bas RST/, 30 soit directement, comme cela est représenté, soit relayé par un autre amplificateur. Les sorties des amplificateurs 40 servant de capteurs sont reliées à des entrées respectives d'une porte NON-ET 42. La sortie de la porte 42 est connectée à la bascule de surveillance FF. 3042055 7 Dans une telle structure, des bobinages 20' de détection de flux électromagnétique peuvent être insérés en série, comme cela est représenté, dans les conducteurs entre la ligne RST/ et les amplificateurs 40, ou entre les amplificateurs 40 et la porte 42. Un autre bobinage pourrait être inséré entre la porte 42 et la bascule FF. 5 Avec cette configuration, un bobinage 20' soumis à une impulsion électromagnétique génère une impulsion de tension induite sur sa borne à haute impédance. Cette impulsion est transmise vers une entrée de la porte 42, soit directement, soit par un amplificateur 40. Toutes les entrées de la porte 42 sont normalement à 1, plaçant la sortie de la porte à 0. Pendant l'alternance négative de l'impulsion, l'entrée 10 correspondante de la porte 42 est tirée vers 0, provoquant un passage à 1 de la sortie de la porte 42, et la détection de l'événement par la bascule FF. En fait, le réseau de capteurs de la figure 4 est un réseau parallèle, tandis que le réseau de capteurs des figures 1 et 2 est un réseau série. Quelle que soit la structure du réseau de capteurs, il suffit de connecter chaque bobinage inductif en série avec un capteur 15 pour obtenir la fonctionnalité souhaitée. Les bobinages peuvent également être connectés entre des éléments des capteurs eux-mêmes (figure 3). REVENDICATIONS1. Circuit intégré protégé contre des attaques par injection de fautes, comprenant : - un réseau de capteurs optiques (S); et - une bascule de surveillance (FF) connectée aux capteurs optiques pour signaler une faute lorsqu'au moins un des capteurs optiques change d'état ; caractérisé en ce qu'il comprend des bobinages inductifs (20) connectés dans le réseau, chaque bobinage (20) étant configure pour générer une tension induite provoquant le basculement d'au moins un des capteurs optiques lorsque le bobinage est soumis à un flux électromagnétique susceptible de provoquer une injection de faute dans le circuit. 2. Circuit intégré selon la revendication 1, dans lequel un bobinage inductif (20) est connecté en série avec un capteur optique respectif 3. Circuit intégré selon la revendication 1, dans lequel un capteur optique comprend une bascule et l'un des bobinages inductifs (20) est connecté entre des éléments de la bascule. 4. Circuit intégré selon la revendication 1, dans lequel un bobinage inductif est plat et formé par des pistes bobinées en spirale sur un niveau de métal du circuit. 5. Circuit intégré selon la revendication 1, dans lequel un bobinage inductif est un solénoïde formé par des pistes bobinées sur différents niveaux de métal du circuit. 6. Circuit intégré selon la revendication 1, dans lequel les capteurs optiques (S) sont alimentés à une tension (Vdd2) inférieure à la tension d'alimentation nominale (Vdd) du circuit intégré. 7. Circuit intégré selon la revendication 1, dans lequel les capteurs optiques (S) sont connectés en chaîne et les bobinages sont insérés dans des liaisons entre les capteurs.