Brevet FR3051599A1 — publié le 20171124

B15182 - 16-R0-0218 1 PROTECTION D'UN CIRCUIT INTÉGRÉ Domaine La présente description concerne de façon générale les circuits électroniques et, plus particulièrement, la protection d'un circuit intégré contre des injections de fautes par attaque laser. Exposé de l'art antérieur Dans de nombreuses applications, des circuits électroniques manipulent des données, dites secrètes, c'est-à-dire dont on souhaite réserver l'accès à certains utilisateurs ou circuits. De nombreuses méthodes, dites attaques, existent pour tenter de découvrir ou pirater les données secrètes. Parmi ces attaques, des attaques dites par injection de fautes consistent à perturber le fonctionnement du circuit en intervenant sur un ou plusieurs bits qu'il manipule. Une catégorie d'attaques par injection de fautes que vise plus particulièrement la présente description concerne les attaques laser qui consistent à pointer un faisceau laser sur des éléments logiques du circuit afin de faire basculer les bits traités par ces éléments. L'examen de la conséquence de cette attaque sur le comportement du circuit, que ce soit par examen direct des données fournies par le circuit ou par examen indirect en exécutant une analyse par canaux cachés peuvent permettre à l'attaquant de percer un secret. 3051599 B15182 - 16-R0-0218 2 Les attaques laser sont généralement des attaques effectuées depuis la face arrière du circuit intégré après un traitement consistant à éroder le substrat. Pour contrer ce genre d'attaques, les circuits intégrés 5 sont généralement équipés de détecteurs sous la forme de réseaux de conducteurs (grillage) ou de détecteurs de photocourant ou de courant. Une autre catégorie de détecteurs que vise plus particulièrement la présente description consiste à disposer des éléments logiques de type bascules dont la seule fonction est de 10 détecter un changement d'état représentatif d'une perturbation accidentelle ou volontaire. Il existe un besoin d'améliorer la protection des circuits intégrés contre des attaques laser. Résumé 15 Un mode de réalisation pallie tout ou partie des inconvénients des techniques usuelles de protection contre des attaques laser. Un mode de réalisation propose une solution particulièrement adaptée à des attaques laser se focalisant sur 20 des régions particulières du circuit. Un mode de réalisation propose une solution pour détecter une attaque laser avant qu'elle ne se produise sur un élément sensible du point de vue de la sécurité des données qu'il manipule. Ainsi, un mode de réalisation prévoit un dispositif de protection d'un circuit intégré, comportant : des groupes d'éléments de détection d'un rayonnement répartis dans un arrangement matriciel ; des portes logiques combinant des sorties des éléments 30 de détection par ligne et par colonne, chaque sortie d'élément de détection étant reliée à une porte combinant une ligne et à une porte combinant une colonne ; et un circuit d'interprétation des signaux fournis par lesdites portes logiques et comportant un compteur d'événements 35 et un élément de temporisation. 3051599 B15182 - 16-R0-0218 3 Selon un mode de réalisation, ledit circuit comporte une machine d'états logiques dont des entrées sont individuellement reliées aux sorties desdites portes. Selon un mode de réalisation, en présence d'un évènement 5 détecté par un élément de détection, ladite machine d'états active l'élément de temporisation et incrémente ledit compteur. Selon un mode de réalisation, en présence d'un évènement détecté par un élément de détection, alors que le compteur est dans une valeur initiale, ladite machine d'états incrémente ledit 10 compteur. Selon un mode de réalisation, en présence d'un évènement détecté par un élément de détection, alors que l'élément de temporisation est actif, ladite machine d'états incrémente ledit compteur si l'écart de localisation entre l'évènement courant et 15 un évènement précédent est inférieur à une distance donnée. Selon un mode de réalisation, ledit compteur est réinitialisé à l'issue de la temporisation. Selon un mode de réalisation, les éléments de détection sont des bascules. 20 Selon un mode de réalisation, les portes logiques sont de type OU. Un mode de réalisation prévoit un circuit intégré comportant un dispositif de protection. Brève description des dessins 25 Ces 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 une vue arrière schématique d'un circuit 30 intégré illustrant l'état de la technique et le problème posé ; la figure 2 représente, de façon schématique et partielle, un mode de réalisation d'une architecture de détection d'attaque laser ; 3051599 B15182 - 16-R0-0218 4 la figure 3 représente, de façon schématique, un circuit intégré équipé d'un mode de réalisation d'une architecture de détection d'attaque laser ; la figure 4 représente, de façon schématique et sous 5 forme de blocs, un mode de réalisation d'un circuit d'interprétation de signaux fournis par l'architecture de la figure 2 ; les figures 5, 6 et 7 illustrent, par des vues schématiques d'un mode de réalisation de circuit intégré, son 10 fonctionnement en présence de différents modes d'attaque laser ; et la figure 8 représente, de façon schématique et partielle, une variante de l'architecture de détection d'attaque laser. 15 Description détaillée De mêmes éléments ont été désignés par de mêmes références aux différentes figures. En particulier, les éléments structurels et/ou fonctionnels communs aux différents modes de réalisation peuvent présenter les mêmes références et peuvent 20 disposer de propriétés structurelles, dimensionnelles et matérielles identiques. Par souci de clarté, seuls les éléments utiles à la compréhension des modes de réalisation décrits ont été représentés et seront détaillés. En particulier, les fonctions que l'on souhaite protéger, qu'il s'agissent de données proprement 25 dites ou d'algorithmes exécutés, ou celles des circuits électroniques les exécutant n'ont pas été détaillées, les modes de réalisation décrits étant compatibles avec les applications usuelles. La figure 1 est une vue arrière schématique d'un circuit 30 intégré 1 illustrant l'état de la technique et le problème posé. La représentation de la figure 1 est très schématique et ne représente que partiellement le circuit. Le circuit 1 est équipé de détecteurs 2 de fautes régulièrement répartis dans sa surface, au moins dans les zones 35 sensibles du point de vue de la sécurité des données manipulées. 3051599 B15182 - 16-R0-0218 5 Chaque détecteur 2 est typiquement une bascule, par exemple une bascule D dont l'état va être modifié par l'arrivée d'un rayonnement depuis la face arrière. Toutes les bascules sont reliées à un circuit d'analyse qui déclenche une contre-mesure, 5 par exemple une réinitialisation du circuit, à la moindre perturbation détectée. L'implantation de détecteurs de ce type prend forcément de la place dans le circuit 1 et ils sont donc répartis avec un intervalle fonction de la précision de détection souhaitée. 10 Par le passé, les faisceaux laser utilisés présentaient un diamètre de faisceau (spot) 32 tel que le faisceau touchait forcément un des détecteurs lors d'une attaque. Toutefois, les attaques laser s'effectuent désormais avec des faisceaux plus focalisés et donc avec un diamètre d'impact nettement plus petit 15 sur le circuit. Ces nouvelles attaques permettent de contourner certaines contremesures. En particulier, une attaque laser commence désormais généralement par un balayage de la face arrière du circuit 1 afin de déterminer les positions des détecteurs. En effet, grâce à la 20 finesse du faisceau 34, en balayant le circuit, on va alterner les instants où le circuit réagit, c'est-à-dire que l'on a touché un détecteur, et les instants où le circuit ne réagit pas. Cela permet à l'attaquant d'effectuer une cartographie des détecteurs pour ensuite focaliser son attaque sur des zones non protégées 25 dans lesquelles il peut injecter des fautes. On aurait pu penser accroitre le nombre de détecteurs. Toutefois, il arrive un moment où cela n'est plus possible car il n'y aurait alors plus de place pour les éléments utiles du circuit. Par ailleurs, la focalisation des faisceaux laser 30 devient telle qu'un détecteur est incapable de distinguer un photon provenant d'un laser d'une particule alpha provenant, par exemple, du rayonnement cosmique. Selon les modes de réalisation décrits, on prévoit d'intégrer, dans le circuit, des réseaux ou groupes de détecteurs 35 de rayonnement sous la forme de réseaux ou groupes de bascules. 3051599 B15182 - 16-R0-0218 6 Par ailleurs, on prévoit préférentiellement une interprétation particulière des signaux de ces bascules prenant en compte un aspect temporel. Le rôle du dispositif de détection décrit est de 5 détecter un balayage laser du circuit qui constitue généralement l'étape préalable à une attaque laser proprement dite. Ainsi, on détecte l'attaque avant qu'elle ne soit exploitée sur un des composants sensibles du point de vue de la sécurité des données manipulées. 10 La figure 2 représente, de façon schématique et partielle, un mode de réalisation d'une architecture 4 de détection d'attaque laser. Selon ce mode de réalisation, on prévoit d'intégrer, à intervalles de préférence réguliers dans le circuit à protéger, 15 des groupes de bascules 42, par exemple de quatre bascules 42, disposées en matrice. Chaque bascule 42 est, par exemple, une bascule D dont l'entrée de donnée est à la masse et dont la sortie directe Q est reliée à deux entrées de deux portes logiques 44 et 46 de type OU. Chaque porte logique 44 reçoit en entrées les 20 signaux des bascules d'une ligne donnée. Chaque porte logique 46 reçoit les signaux des bascules d'une colonne donnée. Ainsi, chaque bascule 42 est reliée à une porte 44 combinant les signaux des bascules de la ligne et à une porte 46 combinant les signaux des bascules de la colonne. 25 La figure 3 représente, de façon schématique, un circuit intégré équipé d'un mode de réalisation d'une architecture de détection d'attaque laser telle que représentée en figure 2. Dans l'exemple de figure 3, on a illustré schématiquement et horizontalement la succession alternée de caissons 30 12 de type P et de caissons 14 type N dans lesquels sont formés les transistors logiques. Cette représentation est très schématique et illustre simplement que l'architecture de protection est intégrée dans la zone logique du circuit intégré. La figure 3 représente arbitrairement le cas d'un réseau 35 matriciel de trois colonnes et quatre lignes de groupes de quatre 3051599 B15182 - 16-R0-0218 7 bascules 42 chacun. L'architecture, ou dispositif de détection, représenté comporte donc six portes 46 (deux par colonne) et huit portes 44 (deux par ligne). Lorsque le circuit est alimenté, toutes les bascules 5 sont dans un état de repos à 0. Si une des bascules est frappée par un faisceau laser, son état de sortie va changer et faire basculer la sortie des deux portes 44 et 46 auxquelles est reliée sa sortie Q. La figure 4 représente, de façon schématique et sous 10 forme de blocs, un mode de réalisation d'un circuit 5 d'interprétation de signaux fournis par l'architecture des figures 2 et 3. Le circuit 5 comporte une machine d'états, de préférence une machine d'états 52 (STATE MACHINE) en logique câblée ou un 15 réseau logique programmable (FPGA), dont des entrées IN sont individuellement reliées aux sorties respectives des portes 44 et 46 de l'architecture de protection (figure 3). Le circuit 5 comporte également un compteur 54 (NVM COUNTER) en mémoire non volatile et une ligne à retard 56. Le compteur 54 est écrit W et 20 lu R par la machine d'états 52. La ligne à retard est activée W et son état (retard actif ou expiré) est lu R par la machine d'états 52. Le circuit 5 comporte en outre une entrée EN d'activation qui permet, si besoin, d'activer/désactiver la protection selon les phases d'utilisation du dispositif, et une 25 sortie OUT fournissant un signal indicateur d'une attaque détectée. Le fonctionnement du circuit 5, plus précisément de sa machine d'états 52 est le suivant. Au repos, la machine d'états 52 est en attente d'un 30 basculement d'une de ses entrées IN. On suppose le compteur 54 à zéro et la ligne à retard inactive. A l'apparition d'un changement d'état d'une entrée IN, la machine d'états 52 incrémente le compteur 54 et active la ligne à retard 56. 3051599 B15182 - 16-R0-0218 8 Tant que la ligne à retard est active, c'est-à-dire que sa constante de temps n'est pas expirée, si un autre changement d'état d'une des entrées IN apparait, la machine d'états détermine si le basculement provient d'une bascule voisine de la précédente. 5 Dans l'affirmative, le compteur 54 est incrémenté de nouveau et la ligne à retard 56 est également de nouveau activée, c'est-à-dire que la constante de temps est réinitialisée. L'interprétation du compteur est faite par la machine d'états 52 qui compare périodiquement l'état du compteur 54 à un 10 seuil. Dès que le seuil est atteint, on considère la présence d'une attaque et la machine d'états 52 bascule l'état de sa sortie OUT. Une fois que la constante de temps de la ligne à retard 56 est écoulée et qu'aucun changement d'état n'est intervenu, le 15 compteur 54 est réinitialisé. La prise en compte de la localisation de l'évènement dans le réseau matriciel pour déterminer si un évènement suivant intervient à proximité permet de distinguer un balayage laser de particules alpha atteignant le circuit de façon aléatoire. 20 Le choix de la distance du voisinage pris en compte (bascules du même groupe, colonnes suivantes et précédentes, lignes et colonnes suivantes et précédentes, etc.) dépend de la granularité des groupes de bascules dans le circuit et de la vitesse attendue d'un balayage laser. 25 Le choix de la constante de temps de la ligne à retard 56 dépend également de la granularité des groupes de bascules dans le circuit et de la vitesse attendue d'un balayage laser. Le seuil de déclenchement de l'alarme, c'est-à-dire le seuil à partir duquel la sortie OUT bascule dépend des 30 applications. Par exemple, on choisit un seuil compris entre 2 et 10. La réaction du circuit intégré à un basculement de la sortie OUT consiste de préférence en un blocage du circuit et non en un simple redémarrage. En effet, si l'on détecte un balayage, 35 on est certain que le circuit va ensuite être attaqué par laser 3051599 B15182 - 16-R0-0218 9 avec une attaque ciblée. Il faut donc empêcher tout fonctionnement ultérieur. Par exemple, on active un fusible en mémoire non volatile qui bloque définitivement le circuit. Les figures 5, 6 et 7 illustrent, par des vues 5 schématiques d'un mode de réalisation de circuit intégré, son fonctionnement en présence de différents modes d'attaque laser. La figure 5 illustre le cas d'un balayage espacé d'un intervalle supérieur à l'intervalle entre deux bascules 42 d'un groupe. Ainsi, le faisceau laser 34 va toucher une première 10 bascule d'un groupe mais pas la bascule suivante du même groupe. Toutefois, ce faisceau, lors du balayage va statistiquement forcément toucher un bascule d'un groupe suivant, voire une des portes logique 56 de la ligne. Si la configuration de la machine d'états 52 est telle qu'elle tient compte de la colonne voisine, 15 en supposant arbitrairement dans cet exemple un seuil de 2 pour le compteur, l'attaque par balayage est détectée. La figure 6 illustre le cas d'un balayage continu, c'est-à-dire dont les spots laser se touchent. Dans ce cas, par exemple avec un seuil de 2 pour le compteur 54, le déclenchement 20 va s'opérer dès le premier groupe de bascules 42 traversé par le balayage. La figure 7 illustre le cas d'un balayage en biais, c'est-à-dire dans le cas où le balayage n'est pas parallèle aux lignes ou aux colonnes de l'arrangement matriciel. Néanmoins, les 25 spots laser 34 vont statistiquement quand même atteindre plusieurs bascules 42 ou portes 44 ou 46. Par conséquent, le balayage est ici également détecté. La figure 8 représente, de façon schématique et partielle, une variante selon laquelle chaque groupe de bascules comporte neuf bascules en un arrangement matriciel 3x3 plutôt que 4 bascules dans un arrangement matriciel 2x2. Pour simplifier, seules les bascules 42 ont été représentées mais pas leurs connexions, ni le reste de l'architecture. Un avantage des modes de réalisation décrits est qu'à 35 la différence des systèmes usuels, il n'y a pas de réaction 3051599 B15182 - 16-R0-0218 10 immédiate en présence d'un basculement d'un élément de détection (une bascule). Ainsi, un pirate ne se rend pas compte, en effectuant son balayage qu'il a touché un détecteur. Un avantage des modes de réalisation décrit est que le 5 risque de prendre en compte des rayonnements accidentels est très faible. En effet, de tels rayonnements vont toucher le circuit à des positions aléatoires et, par conséquent, ne vont pas déclencher le seuil. Divers modes de réalisation ont été décrits. Diverses 10 variantes et modifications apparaîtront à l'homme de l'art. En particulier, le nombre et la granularité des groupes de bascules de détection dépend de l'application, de la taille du circuit intégré, de la sensibilité souhaitée, etc. En outre, bien que l'on ait pris pour exemple des bascules, les éléments de détection sont 15 plus généralement constitués de tout élément logique sensible à un rayonnement laser. En particulier, les portes logiques 44 et 46 peuvent également constituer des éléments de détection. Enfin, la mise en oeuvre pratique des modes de réalisation qui ont été décrits est à la portée de l'homme du métier à partir des 20 indications fonctionnelles données ci-dessus. REVENDICATIONS1. Dispositif de protection d'un circuit intégré, comportant : des groupes d'éléments de détection d'un rayonnement (42) répartis dans un arrangement matriciel ; des portes logiques (44, 46) combinant des sorties des éléments de détection par ligne et par colonne, chaque sortie d'élément de détection étant reliée à une porte combinant une ligne et à une porte combinant une colonne ; et un circuit (5) d'interprétation des signaux fournis par 10 lesdites portes logiques et comportant un compteur (54) d'événements et un élément de temporisation (56). 2. Dispositif selon la revendication 1, dans lequel ledit circuit (5) comporte une machine d'états logiques (52) dont des entrées (IN) sont individuellement reliées aux sorties 15 desdites portes (44, 46). 3. Dispositif selon la revendication 1 ou 2, dans lequel, en présence d'un évènement détecté par un élément de détection (42), ladite machine d'états (52) active l'élément de temporisation (56) et incrémente ledit compteur (54). 20 4. Dispositif selon la revendication 3, dans lequel, en présence d'un évènement détecté par un élément de détection (42), alors que le compteur (54) est dans une valeur initiale, ladite machine d'états (52) incrémente ledit compteur. 5. Dispositif selon la revendication 3 ou 4, dans 25 lequel, en présence d'un évènement détecté par un élément de détection (42), alors que l'élément de temporisation (56) est actif, ladite machine d'états (52) incrémente ledit compteur (54) si l'écart de localisation entre l'évènement courant et un évènement précédent est inférieur à une distance donnée. 30 6. Dispositif selon l'une quelconque des revendications 3 à 5, dans lequel ledit compteur (52) est réinitialisé à l'issue de la temporisation (56). 3051599 B15182 - 16-R0-0218 12 7. Dispositif selon l'une quelconque des revendications 1 à 6, dans lequel les éléments de détection sont des bascules (42). 8. Dispositif selon l'une quelconque des revendications 5 1 à 7, dans lequel les portes logiques (44, 46) sont de type OU. 9. Circuit intégré comportant une architecture de protection selon l'une quelconque des revendications 1 à 8.