• Aucun résultat trouvé

Génération d’aléa : un état de l’art

4.4.3 Exemple de PUF

Comme remarqué par McGrath et al. [McG+19], de très nombreux types de PUF pouvant être implémentés dans un circuit intégré ont été imaginés ces vingt dernières années. Récemment, une architecture basée sur la probabilité de création d’un contact sur une couche physique (métallique,VIA ou poly) a été proposée par Jeon et al. [Jeo+15]. Les règles de dessin duDRMsont dérogées de manière à construire des structures ayant, du fait des variations du processus de fabrication, 50 % de chance d’avoir un défaut : la moitié de ces structures sont équivalentes à un circuit ouvert, l’autre à un court-circuit. Ce

4.4. Générateur d’aléa statique : PUF principe peut être utilisé pour construire des sources ayant une parfaite stabilité32. Outre la connaissance approfondie du processus de fabrication nécessaire au développement de nouvelles règles de dessin, la non-clonabilité de ces solutions est questionnable. Comme nous pouvons le voir sur lafigure 4.18, le secret – l’état physique des connexions – est fixé dans le circuit de manière visible. Cette solution n’apporte donc pas de vraie garantie de sécurité supplémentaire par rapport à l’utilisation d’une simpleNVM.

Figure 4.18 – Section d’un circuit intégré prise auMEBrévélant le statut des connexions physiques (VIA). Extraite de [Jeo+15].

La grande majorité des autresPUFse basent sur une combinaison de dispositifs passifs (résistances métalliques, capacités parasites, etc.) et actifs (transistors) pour constituer leurs sources d’entropie33. Bien que ces sources ne soient pas idéales, elles sont poten-tiellement plus efficaces car elles peuvent être caractérisées de manière non binaire. S’ils partagent tous des sources semblables, ces PUF se différencient essentiellement par les grandeurs physiques qu’ils utilisent et donc dans la manière dont ils extraient l’entro-pie. Dans la suite de cette section, nous présentons les trois grandeurs physiques les plus exploitées dans les circuits intégrés ainsi que l’architecture dePUFgénéralement associée.

4.4.3.1 Temps de propagation : le A-PUF

Le PUF à base d’Arbitre (A-PUF), introduit par Lee et al. [Lee+04], recueille de l’en-tropie en comparant les temps de propagation au travers de deux chemins, théoriquement identiques, formés par la mise en série d’éléments de délais. L’architecture de cePUFest présentée enfigure 4.19. La conversion numérique est faite par un arbitre : généralement, un simple élément séquentiel (une bascule ou un verrou). L’un des chemins est utilisé comme horloge, l’autre sert de donnée. Du fait des variations de fabrication, l’un des deux chemins sera plus rapide : un 0 est capturé par l’extracteur si l’horloge arrive en premier, un 1 dans le cas contraire. Chaque challenge permet de configurer les deux chemins en intervertissant les éléments de délais entre eux. Plus le nombre de délais est important plus l’espace de challenge-réponse disponible sera grand. De plus, l’augmentation du nombre de délais permet d’accentuer la différence des temps de propagation, rendant l’arbitrage

32. Pour s’en assurer, une étape de vieillissement accéléré peut être utilisée pour forcer les connexions peu fiables à « griller » à la manière d’un fusible

33. L’augmentation des disparités lors de la fabrication est assurément une problématique clé de la construction dePUFfiables. Mais ce sujet est en dehors du périmètre de ce manuscrit.

plus fiable34.

Figure 4.19 – Architecture de l’A-PUF.

D’après Katzenbeisser et al. [Kat+12], leA-PUFa une faible entropie de sortie et est sensible aux conditions d’opérations. CePUFest aussi exposé aux attaques par Machine Learning (ML) du fait de l’existence de dépendances entre ses réponses. Son efficacité est assez faible car chaque challenge ne permet d’extraire qu’un seul bit de réponse. Par contre, sa latence est raisonnable. Elle dépend uniquement de la taille des chemins de propagation.

4.4.3.2 Fréquence : le RO-PUF

La première architecture totalement numérique35, le PUF à base de RO (RO-PUF), avait été introduit quelques années plus tôt par Gassend et al. [Gas+02]. La figure 4.20 illustre son fonctionnement.

Figure 4.20 – Architecture duRO-PUF.

Il consiste aussi à comparer les temps de propagation à travers différents éléments de délai. Ces délais sont cependant arrangés pour former desRO permettant d’amplifier les variations de fabrication à mesurer36. Une image des temps de propagation est extraite en mesurant la fréquence d’oscillation de chaque oscillateur. Un simple bloc comptant le nombre d’oscillations durant une fenêtre de temps prédéfinie (signal d’activation w des compteurs) joue le rôle de fréquencemètre. Ces mesures de fréquence peuvent alors être post-traitées. La comparaison simpliste de deuxRO – lequel est le plus rapide ? – permet de générer un bit de réponse. Des post-traitements plus complexes permettent de générer plus de bits parRO [HG17]. Par exemple, ils peuvent être basés sur la valeur réelle de la

34. Les phénomènes de métastabilité lorsque l’horloge et les données arrivent simultanément peuvent fausser la mesure.

35. C’est-à-dire, qui peut être implémentée en utilisant des cellules standards uniquement. En compa-raison, le tout premierPUFimpliquait la construction de blocs analogiques spécifiques [LDT00].

4.5. Conclusion différence de fréquence de deuxRO ou sur la comparaison avec la fréquence moyenne de tous les RO. Dans [Kat+12], les auteurs montrent que les réponses des RO-PUF sont de très bonne qualité (stables et aléatoires). Mais cette solution souffre d’une latence assez importante du fait de la méthode d’échantillonnage utilisée. En effet, pour avoir une bonne résolution, les mesures de fréquence doivent être faites sur de larges fenêtres de temps. La possibilité d’extraire plusieurs bits de réponse à partir de chaqueROpermet d’augmenter l’efficacité de cette solution, même si cela vient généralement au détriment de la stabilité.

4.4.3.3 Initialisation d’éléments bistables : le SRAM-PUF

Le PUF à base de SRAM (SRAM-PUF) a été introduit plus tardivement par Guajardo et al.[Gua+07]. Leur idée est d’extraire un secret à partir des valeurs d’initialisation d’une mémoire mémoire vive statique (Static Random Access Memory) (SRAM) (figure 4.21). A la mise sous tension, beaucoup des points mémoires se stabilisent toujours à la même va-leur, 0 ou 1, en fonction de la force respective des inverseurs les constituant. Chaque point mémoire joue simultanément le rôle de source d’entropie, d’amplificateur et de convertis-seur.

Figure 4.21 – Architecture duSRAM-PUF.

Ce type dePUFest très compact et a une latence courte car plusieurs bits sont extraits en un seul accès en lecture dans laSRAM. D’après [Kat+12], les réponses générées sont de bonne qualité. Cette architecture souffre cependant d’un manque de contrôle sur le processus d’extraction. Celui-ci est enclenché dès la mise sous tension de la mémoire. Ainsi, tant que la mémoire n’est pas réinitialisée, le secret est stocké électriquement dans le circuit et peut alors être sujet à des attaques par lecture laser [Ned+13;Hel+13]. Pour remédier à cette faille, despower switchspeuvent être utilisés pour contrôler le démarrage et l’extinction de la mémoire. Mais dans ce cas, le temps d’allumage doit être pris en compte dans l’évaluation de la latence et de l’efficacité de cette architecture. D’après Roelke et Stan [RS16], le SRAM-PUFest aussi sensible aux attaques par vieillissement.

Cette architecture est intéressante d’un point de vue efficacité. Même si le rendement (le taux de points mémoire stables) n’est pas toujours élevé, les points mémoires sont composés de seulement 6 transistors et permettent d’extraire un bit d’entropie.

Dans cette même famille de PUF, nous pouvons aussi mentionner le PUF à base de TERO (TERO-PUF) [Bos+14] qui utilise aussi un circuit bistable. Dans cette architecture, l’état stable est atteint après une série d’oscillations transitoires qui peuvent être comptées pour caractériser les variations de fabrication de manière non-binaire.

4.5 Conclusion

L’aléa a toujours posé problème aux concepteurs de circuits intégrés. Il perturbe le processus de fabrication et limite les rendements. Il est aussi source d’imprécision dans les

mesures et limite les performances. Mais cet aléa est aussi indispensable à la construction de circuits sécurisés.

Lorsqu’il est figé dans le silicium au travers des processus de fabrication, l’aléa devient statique. Il permet alors d’identifier de manière unique chaque circuit et permet de sto-cker, de manière inviolable, des secrets qui peuvent servir de root of trust. Une fonction physique non-clonable (Physical Unclonable Function) (PUF) est le dispositif permettant d’extraire ces secrets. Nous avons vu qu’il existe différents types dePUF, chacun s’intéres-sant à différentes grandeurs influencées par les disparités du processus de fabrication. Ces différents procédés d’extraction peuvent être comparés vis-à-vis de propriétés spécifiques auxPUF– stabilité, unicité et imprédictibilité – qui sont évalués avec des métriques bien définies. Les différentes architectures peuvent aussi être comparées en terme de latence de réponse et d’efficacité (nombre de bit de réponse par transistor).

L’aléa dynamique permet, quant à lui, de générer des nombres véritablement aléatoires. Ils sont essentiels à la plupart des algorithmes de chiffrement, aux protocoles d’identifica-tion et aux diverses contremesures servant à protéger les circuits. Nous avons vu que seul le bruit thermique est une source fiable de bruit permettant de générer des nombres aléa-toires. LesTRNGsont des dispositifs capables d’extraire ce bruit pour le convertir en suite binaire aléatoire. Nous avons vu que leur principale caractéristique est l’imprédictibilité – l’impossibilité pour un attaquant d’anticiper le prochain bit généré même s’il a la connais-sance de tous les précédents. Cette propriété peut être évaluée à l’aide de tests statistiques, mais ceux-ci ne sont pas suffisants. Un modèle stochastique est nécessaire pour prouver, a priori, le niveau d’entropie des bits de sortie. Nous avons aussi vu que la sécurité de ces dispositifs repose sur une deuxième qualité, la « non-manipulabilité ». Cette propriété s’appuie sur des tests en ligne qui vérifient la qualité statistique des suites de nombres aléatoires, et des détecteurs spécifiques à chaque source d’entropie qui viennent vérifier leur bon fonctionnement. Parmi les nombreuses architectures de TRNG, nous avons vu que leSTR-TRNGest particulièrement attractif de par le nombre de bits d’entropie qu’il est capable de générer par unité d’énergie. Ce générateur utilise un anneau auto-séquencé pour capturer chaque réalisation du bruit thermique sans avoir besoin d’attendre qu’il s’accumule.

Nous avons aussi présenté le principe de fonctionnent de ces STR, qui sont des RO construits à partir de circuit asynchrones. Ils ont la particularité de pouvoir propager plu-sieurs évènements en leur sein, sans collision. Ils peuvent alors osciller dans un mode stable

evenly-spaced pour lequel les différents évènements se répartissent uniformément autour de l’anneau. La résolution de ces anneaux, le temps séparant chacune des phases, peut être ajustée en choisissant soigneusement le nombre d’étages et le nombre d’évènements. Plus leSTRsera grand, plus il pourra avoir une résolution fine, et possiblement inférieure au plus petit délai atteignable avec une porte logique. Si les propriétés de ces anneaux ont pu être utilisées pour construire des extracteurs d’aléa dynamique très efficaces, il semble intéressant de s’intéresser à leur utilisation pour extraire de l’aléa statique. Nous aborderons ce sujet dans le chapitre 6. Par ailleurs, les potentielles vulnérabilités liées à l’utilisation de cesSTR au sein de TRNGsont une problématique essentielle vis-à-vis de la sécurité et de leur « non-manipulabilité ». Nous aborderons cette question en détail dans lechapitre 5.

Chapitre 5

Optimisation et sécurisation du