Brevet FR2982965A1 — publié le 20130524

B11401 - 11-R0-0493FR01 1 SYNCHRONISATION DE SIGNAUX D'HORLOGE ET DÉTECTEUR DE PERTURBATION Domaine de l'invention La présente invention concerne de façon générale les circuits électroniques et, plus particulièrement, la détection de perturbations dynamiques et localisées dans un circuit intégré. Exposé de l'art antérieur On connaît de nombreuses techniques visant à détecter l'apparition d'une perturbation dynamique dans un circuit intégré. De telles perturbations, lorsqu'elles sont volontaires, ont pour origine des tentatives d'injection de fautes pour perturber le fonctionnement d'un circuit. C'est le cas notamment lorsque le circuit effectue ces opérations cryptographiques manipulant des quantités dites secrètes. L'introduction d'une perturbation localisée (par exemple par attaque laser) provoque un ou plusieurs changements d'états dans des circuits logiques qui peuvent être exploités pour découvrir les quantités secrètes. Une première catégorie de détecteurs est exploitée dans des phases de test d'un circuit intégré pour évaluer sa 20 résistance à de telles attaques. On prévoit alors des circuits B11401 - 11-R0-0493FR01 2 dédiés que l'on soumet à des perturbations afin d'évaluer le comportement dynamique du circuit. Une seconde catégorie de détecteurs concerne des détecteurs exploités pendant la vie du produit. Le résultat de 5 la détection est alors exploité par le circuit pour prendre d'éventuelles contre-mesures à la perturbation détectée. Des détecteurs qui exploitent une perturbation d'un signal d'horloge sont particulièrement adaptés à détecter des perturbations dynamiques. De tels détecteurs exploitent souvent 10 deux signaux d'horloge générés par des circuits identiques et placés à des endroits différents du circuit. Les signaux d'horloge générés sont alors comparés pour détecter l'apparition d'une éventuelle perturbation sur l'un des deux signaux. Une difficulté est que, malgré tout le soin que l'on peut prendre 15 pour que les circuits de génération d'horloge soient identiques, il existe en pratique toujours une dérive et il est par conséquent difficile de distinguer une perturbation dynamique brève d'un déphasage lié à la fabrication. Résumé 20 Un objet d'un mode de réalisation de la présente invention est de pallier tout ou partie des inconvénients des détecteurs de perturbations connus. Un autre objet d'un mode de réalisation de la présente invention est de proposer un détecteur particulièrement adapté à 25 la détection de perturbations dynamiques de courtes durées, par exemple du type de celles obtenues par une attaque laser. Un autre objet d'un mode de réalisation de la présente invention est de proposer un détecteur compatible avec une exploitation en mode test et au cours de la vie du circuit. 30 Pour atteindre tout ou partie de ces objets ainsi que d'autres, on prévoit un circuit électronique comportant deux oscillateurs en anneau, dans lequel la sortie de chaque oscillateur en anneau est rebouclée en entrée de ce même oscillateur ainsi qu'en entrée de l'autre oscillateur. B11401 - 11-R0-0493FR01 3 Selon un mode de réalisation du circuit, l'entrée de chaque oscillateur traverse une fonction logique de type NON-ET recevant la sortie d'un inverseur de l'oscillateur concerné ainsi que la sortie d'un inverseur de même rang de l'autre oscillateur. Selon un mode de réalisation du circuit, les oscillateurs comportent le même nombre d'inverseurs. Selon un mode de réalisation du circuit, les sorties respectives des oscillateurs sont comparées. On prévoit également un circuit de détection d'une perturbation dynamique comportant un tel circuit électronique, le signal de sortie du comparateur fournissant le résultat de la détection. On prévoit également un procédé de détection d'une 15 perturbation dynamique localisée dans un circuit intégré, au niveau d'un premier oscillateur en anneau, dans lequel le signal de sortie du premier oscillateur est comparé à un signal de sortie d'un second oscillateur en anneau. Selon un mode de réalisation de la présente invention, 20 la perturbation est une perturbation par faisceau laser. 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 25 en relation avec les figures jointes parmi lesquelles : la figure 1 est un schéma bloc très schématique d'un mode de réalisation d'un détecteur de perturbation ; la figure 2 représente un schéma plus détaillé d'un mode de réalisation d'un circuit de détection de perturbations 30 dynamiques ; et la figure 3 illustre, sous forme de chronogrammes, le fonctionnement du circuit de la figure 2. Description détaillée De mêmes éléments ont été désignés par de mêmes 35 références aux différentes figures dont les chronogrammes ont B11401 - 11-R0-0493FR01 4 été tracés sans respect d'échelle. Par souci de clarté, seuls les éléments utiles à la compréhension des modes de réalisation décrits ont été détaillés. En particulier, l'exploitation d'un signal de détection de la présence d'une perturbation n'a pas été détaillée, les modes de réalisation décrits étant compatibles avec toute exploitation usuelle, qu'il s'agisse d'un test ou d'une détection au cours de la vie du produit dans le cadre d'une protection contre des injections de fautes. La figure 1 est une représentation très schématique 10 d'un circuit électronique (typiquement un circuit intégré) incluant un dispositif 2 de détection d'une perturbation, par exemple sous l'effet d'une attaque laser 3. Le circuit intégré 1 peut comporter diverses fonctions numériques et/ou analogiques non détaillées. Le dispositif 2 de détection est basé sur 15 l'utilisation de deux oscillateurs 21 et 22 (OSC1 et OSC2) en anneau, disposés à des endroits différents du circuit intégré 1. De préférence, les oscillateurs 21 et 22 sont éloignés l'un de d'autre de façon à ce qu'en cas d'attaque par faisceau laser (perturbation provoquée par un faisceau laser) de l'un d'entre 20 eux, l'autre ne soit pas affecté. Les signaux fournis par les oscillateurs 21 et 22 sont comparés par un comparateur 23 (COMP) qui fournit un signal de détection DET au reste du circuit. L'exploitation du signal DET est différente selon qu'il s'agit d'une procédure de test ou d'une détection au cours 25 de la vie du circuit. Dans le cas d'un test par exemple, cela permet de qualifier le circuit réalisé. Dans le cas d'une détection au cours de la vie du produit, le signal est utilisé par exemple pour mettre hors service le circuit intégré ou pour prendre d'autres contre-mesures habituelles en cas d'attaque par 30 injection de fautes. On aurait pu penser réaliser les oscillateurs 21 et 22 de façon indépendante et considérer l'un des deux oscillateurs comme générant un signal de référence à comparer à l'autre. Toutefois, un problème est que les dérives inévitables de 35 fabrication entre les deux oscillateurs conduisent à ce que les B11401 - 11-R0-0493FR01 signaux qu'ils fournissent ne sont pas en phase. Par conséquent, le comparateur détecterait un déphasage comme la présence potentielle d'une perturbation dynamique. La figure 2 est un schéma électrique d'un mode de 5 réalisation du circuit 2 de détection de la figure 1. Chaque oscillateur en anneau 21, 22 est constitué d'un même nombre d'inverseurs A0, Al, A2, ... An-1, An et BO, Bl, B2, Bn-1 et Bn en série. Les sorties respectives des inverseurs An et Bn sont reliées aux entrées du comparateur 23 (COMP) fournissant le signal DET. En variante, tout signal intermédiaire prélevé entre deux inverseurs Ai et Bi des oscillateurs en anneau peut être utilisé pour la comparaison pourvu qu'il soit prélevé dans chaque oscillateur en sortie de l'inverseur de même rang i (i étant compris entre 0 et n). La sortie du dernier inverseur An ou Bn de chaque oscillateur est rebouclée sur l'entrée du premier AO ou BO. Une porte logique de type NON-ET 24A est intercalée entre la sortie de l'inverseur An et l'entrée de l'inverseur AO et une porte logique de type NON-ET 24B est intercalée entre la sortie de l'inverseur Bn et l'entrée de l'inverseur BO. Le rôle des portes 24A et 24B est de combiner les contre-réactions de chacun des oscillateurs avec la sortie de l'autre oscillateur, de façon à assurer une auto-synchronisation. Par conséquent, la sortie de l'inverseur An est également reliée en entrée de la porte 24B de l'oscillateur et la sortie de l'oscillateur Bn est également reliée en entrée de la porte 24A de l'oscillateur 21. En variante, les portes 24A et 24B sont intercalées entre d'autres inverseurs, pourvu qu'ils soient de même rang. Optionnellement (pointillés 25 en figure 2), des troisièmes entrées respectives des portes 24A et 24B reçoivent un signal de synchronisation commun. Ce signal sert, par exemple, à initialiser le détecteur. Toutefois, ce signal n'est pas indispensable, le détecteur fonctionnant automatiquement dès que les inverseurs et portes logiques sont alimentés. B11401 - 11-R0-0493FR01 6 La figure 3 illustre, sous forme de chronogrammes, le fonctionnement du détecteur de la figure 2. Cette figure représente des exemples d'allure des signaux en sortie des inverseurs A0, Al, An-1, An, BO, Bl, Bn-1, Bn et DET. En partie gauche G de la figure 3, on suppose un fonctionnement normal. En relation avec la partie droite D de la figure 3, on illustrera ensuite le cas d'une détection d'une perturbation. Les signaux illustrés représentent les sorties respectives des inverseurs. On suppose de façon arbitraire que le signal de sortie de l'inverseur A0 est au repos à l'état haut. L'état de repos de la sortie de l'inverseur Al est donc à l'état bas et ainsi de suite. On suppose un nombre pair d'inverseurs (n est impair) et la sortie de l'inverseur An de rang n est donc au repos à l'état bas. La même structure est prévue côté oscillateur 22. Dans les oscillateurs, un créneau (ou impulsion) à l'état bas en sortie des inverseurs A0, An-1, BO, Bn-1 (et les autres inverseurs de rang pair) et à l'état haut pour les inverseurs Al, An, B1 et Bn-1 (et les autres inverseurs de rang impair) se propage dans les anneaux 21 et 22. Les temps de propagation respectifs dans les inverseurs introduisent un décalage T entre les fronts des différents signaux. Dans la partie gauche G de la figure 3, le signal DET reste inactif (par exemple à l'état bas) dans la mesure où les sorties respectives des inverseurs An et Bn sont identiques. On suppose que les deux oscillateurs sont synchronisés dans ce fonctionnement. Dans la partie droite D de la figure 3A, on suppose une perturbation 3 de l'oscillateur 22 à un instant tl pendant que le créneau passe de l'inverseur Al à l'inverseur A2 (et de l'inverseur B1 à l'inverseur B2). La présence de cette perturbation au niveau de l'oscillateur 22 provoque, par exemple, la disparition de ce créneau en sortie de l'inverseur Bl. Par conséquent, les signaux de sortie des inverseurs de rang B11401 - 11-R0-0493FR01 7 supérieur dans l'oscillateur 22 sont avancés par rapport à ceux de l'oscillateur 21. Lorsque ce créneau arrive au niveau de l'inverseur Bn (instant t2), cela provoque le basculement du signal DET dans la 5 mesure où le créneau n'est toujours pas arrivé en sortie de l'inverseur An dans l'oscillateur 21. La durée du signal de détection DET est brève et ne dure que le temps du déphasage entre les signaux An et Bn. Le signal DET redevient inactif à un instant t3 où le signal An 10 bascule. Par ailleurs, la disparition du créneau sur le signal de l'inverseur Bn à un instant t4 provoque le basculement de l'inverseur AO en avance par rapport à un instant t'4 où il aurait dû basculer en ne suivant que le rebouclage par l'inverseur An. Par conséquent, la resynchronisation des deux 15 oscillateurs s'effectue immédiatement après la détection de la perturbation. Un déphasage peut le cas échéant être détecté à la mise en route du circuit (lors de l'alimentation des oscillateurs) et conduire à une détection erronée. Il suffit de 20 ne pas prendre en compte la première détection qui suit juste la mise en route du circuit qui se resynchronise alors automatiquement à l'issue de la première circulation de l'impulsion dans les anneaux respectifs des oscillateurs. Il est désormais possible de détecter une perturbation 25 à l'aide d'oscillateurs en anneau de façon particulièrement simple. Divers modes de réalisation ont été décrits, diverses variantes et modifications apparaîtront à l'homme de l'art. En particulier, la réalisation pratique des oscillateurs en anneau 30 illustrée sous forme fonctionnelle par des inverseurs pourra en pratique être réalisée à l'aide de portes logiques plus complexes, pourvu que les deux fonctions aient la même structure. De plus, bien que l'invention ait été décrite en relation avec l'utilisation de deux oscillateurs en anneau 35 autosynchronisés pour une détection d'injection de fautes, elle B11401 - 11-R0-0493FR01 8 s'applique plus généralement à l'autosynchronisation de deux oscillateurs destinés à fournir des signaux d'horloge à un circuit électronique quelconque. Le signal de synchronisation 25 peut servir, par exemple, au déclenchement initial du circuit en 5 envoyant l'impulsion devant circuler dans les anneaux. De même, la disposition des oscillateurs dans le circuit intégré (et celle du comparateur) dépend de l'application et peut être dictée par des considérations d'espace disponible, d'un besoin de placer l'un des oscillateurs à proximité d'une zone sensible 10 en termes de sécurité des données manipulées, etc. REVENDICATIONS1. Circuit électronique (2) comportant deux oscillateurs en anneau (21, 22), dans lequel la sortie de chaque oscillateur en anneau est rebouclée en entrée de ce même oscillateur ainsi qu'en entrée de l'autre oscillateur. 2. Circuit selon la revendication 1, dans lequel l'entrée de chaque oscillateur (21, 22) traverse une fonction logique (24A, 24B) de type NON-ET recevant la sortie d'un inverseur de l'oscillateur concerné ainsi que la sortie d'un inverseur de même rang de l'autre oscillateur. 3. Circuit selon la revendication 1 ou 2, dans lequel les oscillateurs comportent le même nombre d'inverseurs. 4. Circuit selon l'une quelconque des revendications 1 à 3, dans lequel les sorties respectives des oscillateurs (21, 22) sont comparées (23). 5. Circuit de détection d'une perturbation dynamique comportant un circuit selon la revendication 4, le signal de sortie du comparateur fournissant le résultat (DET) de la détection. 6. Procédé de détection d'une perturbation dynamique 20 localisée dans un circuit intégré (1) conforme à la revendication 1, au niveau d'un premier oscillateur en anneau (22), dans lequel le signal de sortie du premier oscillateur est comparé à un signal de sortie d'un second oscillateur en anneau (21). 25 7. Procédé selon la revendication 6, appliqué à la détection d'une perturbation par faisceau laser.