• Aucun résultat trouvé

Fonction physique non-clonable à base d’anneau auto-séquencé

6.2.3 Mesurer le temps et non la fréquence

Quelques remarques intéressantes peuvent être faites en comparant ces deux modèles. Dans les deux cas, l’entropie par bit augmente logiquement avec la variabilité du processus de fabrication. Lesfigures 6.3et6.5illustrent très bien ce phénomène. Mais cette disparité est difficile à contrôler. Elle est très dépendante de la technologie et repose essentiellement sur la maîtrise du processus de fabrication des fondeurs. Augmenter artificiellement cette variabilité est donc une piste de recherche intéressante, qui doit être suivie en étroite collaboration avec les fonderies.

Comme attendu, nous pouvons déduire des équations (6.5) à (6.7) que l’entropie par bit du modèle basé sur la fréquence augmente avec W (c’est-à-dire, lorsque µ2

2W σp tend vers 0). En d’autres termes, plus la fenêtre de mesure est grande, plus il sera facile de distinguer les RO les uns des autres et plus l’entropie extraite sera importante. Mais il est aussi intéressant de voir que le modèle basé sur la fréquence dépend exponentiellement de la période du RO. Cela sous-entend que les RO avec peu d’étages ont une meilleure efficacité. A l’inverse, l’entropie du modèle basé sur la mesure du temps dépend de la résolution de l’extracteur. Plus ∆ est petit vis-à-vis de la déviation standard du processus de fabrication plus l’entropie sera grande.

Les deux modèles proposés sont en ligne avec des résultats déjà bien connus. Pour avoir le même niveau d’entropie entre les deux PUF, il faut respecter l’égalité ∆ = µ2/W. En réalité cette relation vient directement du calcul de l’erreur de quantification de chacune de ces méthodes. Nous l’avons vu, nos modèles ne prenant pas en compte d’autres sources de bruit, seule cette erreur de mesure vient impacter l’entropie extraite. En d’autres termes, s’il n’y a pas d’erreur de mesure, l’entropie est toujours maximale. Pour la modèle carac-térisant la fréquence, il est bien connu que l’erreur de mesure faite est ε = Tx/W. Plus la fenêtre de mesure est grande plus la précision augmente. Cette méthode de mesure est donc très lente. Pour la mesure du temps, l’erreur s’exprime quant à elle par ε = ∆/Tx. Dans ce cas, la précision de la mesure dépend donc de la fréquence de la base de temps. Naturellement nous retrouvons l’égalité précédente.

Même si les principes de mesure du temps et de mesure de la fréquence sont très proches, ils introduisent en pratique des contraintes très différentes. Si augmenter la fenêtre de mesure W est trivial, augmenter la résolution ∆ de la technique de mesure du temps est bien plus difficile. Pour résoudre ce problème nous proposons d’utiliser leSTRqui peut être vu comme un générateur polyphasé élaboré par concaténation de plusieurs bases de temps plus lentes.

6.3 TDC à base de STR

Une approche naïve pour augmenter la résolution d’un TDC à base de compteurs, comme modéliser par l’équation (6.8), consiste à utiliser une base de temps la plus rapide possible. Comme nous l’avons vu auchapitre 4, le signal virtuel Ψ composé de l’agrégation de chacune des phases d’un STR semble à première vue un bon candidat. La fréquence de ce signal peut être très élevée et permettrai d’avoir une résolution du TDC plus fine que la période minimale atteignable avec n’importe quelRO à base de cellules standards. Mais c’est cette propriété même qui empêche d’entretenir électriquement et d’utiliser le signal Ψ dans un circuit. En effet, aucun élément séquentiel ne peut fonctionner à cette vitesse et, par ailleurs, la moindre cellule logique traversée par ce signal jouera le rôle de filtre passe-bas4. Une autre approche est donc nécessaire.

4. Les oscillations de Ψ sont si courtes que la sortie de la cellule n’a pas le temps de s’établir avant qu’un évènement inverse ne se présente en entrée.

El-Hadbi et al. [El-+17] proposent de voir leSTRcomme une agrégation de plusieurs bases de temps plus lentes, fonctionnant de manière synchrone mais déphasée. Lafigure 6.6 présente l’architecture de TDC imaginée à partir de ce constat. Chacune des phases du STR est utilisée pour cadencer un compteur5 qui est démarré et arrêté par le signal à mesurer. Ainsi, chaque compteur caractérise la période de temps à mesurer à la résolution TST R, la période d’oscillation duSTR. Les valeurs de chacun des compteurs peuvent alors être recombinées pour atteindre la résolution ∆ϕ.

Figure 6.6 – Architecture d’un TDCà base de STR.

Une impulsion P appliquée en entrée de ceTDC peut être décomposée ainsi :

P = M × TST R+ k∆ϕ = (M × L + k)∆ϕ (6.14)

avec M ∈ N et k ∈ [0, L[. En pratique, le résultat Nv d’un seul des compteurs permet de déterminer le nombre M d’intervalles TST R dans l’impulsion mesurée P . Les autres compteurs peuvent être limités à deux bits, ce qui est suffisant pour retrouver le nombre k d’intervalles ∆ϕ restants. Ce calcul peut être fait à l’aide d’un algorithme simple utilisant le poids de Hamming du vecteur composé des bits de poids faible de chacun des compteurs et un bloc calculant la parité de M à partir des bits de rang 1 des compteurs [El-+17].

D’autres architectures deTDCpeuvent être utilisées pour construire notrePUF[EEF19]. En particulier, une architecture à base de Vernier est très souvent utilisée afin d’atteindre une résolution très fine [DSH00; RB06; LAL13]. Nous préférons le TDC à base deSTR car il a l’avantage d’être auto-calibré (le modeevenly-spaced duSTRest atteint naturelle-ment) et d’être facilement configurable en dimensionnant le nombre d’étages de l’anneau et le nombre d’évènements y circulant.

6.4 STR-PUF

Nous proposons de construire un PUFà partir du TDC présenté ensection 6.3. L’ar-chitecture de ce nouveauPUFest donnée en figure 6.7.

5. Une résolution deux fois plus petite (TST R/2) est initialement proposée dans [El-+17]. Cela requière l’utilisation de bascules sensibles sur les fronts montants et descendants qui n’existent nativement pas dans les bibliothèques de cellules standards. Pour simplifier la conception nous préférons dans nos travaux utiliser des bascules simple-front, multipliant ainsi la résolution par 2. Ce choix est aussi motivé par la difficulté à obtenir des ∆ϕ équilibrés dans unSTR : à cause du déséquilibre PMOS-NMOS intrinsèque à toutes technologiesCMOS, il est difficile d’obtenir un signal Ψ avec un rapport cyclique d’exactement 50 %.

6.4. STR-PUF

Figure 6.7 – Architecture du STR-PUF.

6.4.1 Architecture

Le fonction physique non-clonable basée sur un oscillateur auto-séquencé (STR ba-sed PUF) (STR-PUF) collecte de l’entropie de manière conventionnelle, en utilisant des cellules standards comme des capteurs de variabilité du processus de fabrication. A l’ins-tar duA-PUF, deux chemins de propagation concurrents peuvent être utilisés pour créer une impulsion à mesurer. Nous préférons cependant utiliser desRO car ceux-ci sont plus compacts et permettent d’amplifier le signal. De très petits anneaux peuvent ainsi être utilisé pour limiter la taille de la banque d’identifiants. Leur fréquence d’oscillation peut ensuite être réduite par divisions successives, afin d’augmenter le SNR6. Cette tâche est effectuée par un bloc de mise en forme, composé de simples bascules montées en diviseur de fréquence.

Le signal analogique caractéristique est généré de la manière suivante. Le challenge C sélectionne l’un des RO à caractériser. Lorsqu’il est activé, ce dernier génère une série d’impulsions de largeur P . Le bloc de mise en forme multiplie ce signal et extrait une seule impulsion de largeur xP . La largeur de l’impulsion générée peut être mesurée grâce au TDC. Il donne un résultat D en nombre de ∆ϕ, la résolution de phase duSTR.

D= bxP/∆ϕc (6.15)

Comme leSTRet lesRO sont impactés de manière similaire par les conditions d’opé-ration, le résultat duTDCest plutôt stable et peut être utilisé directement pour construire la réponse du PUF. Mais un bloc de post-traitement peut être adjoint pour assurer une meilleure stabilité des réponses. Globalement, trois principales approches existent : com-paraison, moyenne ou encodage [HG17]. Leur fonctionnement n’est pas détaillé dans ce manuscrit. Dans nos travaux, nous utilisons la version la plus simple : la comparaison de paires deRO. Un bit de réponse 0 ou 1 est extrait en fonction de l’oscillateur se trouvant être le plus rapide. Cette solution n’est pas la plus efficace car elle permet d’extraire uni-quement un nombre de bits moitié du nombre de sources. Mais elle assure théoriuni-quement l’indépendance des bits de réponse.

Figure 6.8 – Modèle probabiliste de la largeur d’impulsion.

6.4.2 Principes de fonctionnement

Bien que cette nouvelle architecture soit plus complexe que celle des PUF classiques, elle permet d’optimiser l’extraction d’entropie en ajustant seulement quelques paramètres. Deux leviers sont disponibles pour adapter l’efficacité de cePUF : 1) la resolution ∆ϕ du TDC et 2) le facteur multiplicatif x du bloc de mise en forme. Il existe des preuves bien documentées [PDW89] que le temps de propagation au travers d’éléments de délai peut être modélisé comme une variable aléatoire indépendante et identiquement distribuée (i.i.d.) sélectionnée lors de la fabrication. Nous pouvons donc modéliser la largeur des impulsions générées par toutes les sources d’un ensemble de PUF par une distribution Gaussienne M ∼ N(µ0, σp).

Comme tout composant en électronique, les éléments de délai sont sujets au bruit thermique. Une autre variable aléatoire δ doit être ajoutée à chaque réalisation µi de M. Comme proposé par Daihyun Lim et al. [Dai+05], nous modélisons ce bruit comme une distribution normale centrée de déviation standard σn. Le modèle Pi des impulsions générées par une source unique i peut alors s’écrire :

Pi= µi+ δ ∼ N (µi, σn) (6.16)

Comme proposé par Schaub et al. [Sch+18], le SNR de cette impulsion peut être défini comme suivant :

SN R= E[M2] E[δ2] = σ2p σ2 n (6.17) Lafigure 6.8présente les deux distributions M et Pi. Pour que notrePUFsoit efficace, l’extracteur doit capturer un maximum de variabilité mais rejeter le plus possible le bruit. De manière intuitive, plus la résolution duTDCest petite, plus la différenciation de deux impulsions est facile et plus la disparité du processus de fabrication peut être capturée. En même temps, une résolution plus importante permet de limiter l’influence du bruit sur les mesures. Un compromis doit donc être trouvé lors du réglage de ∆ϕ duTDC.

Le ratio des déviations standards joue un rôle majeur dans cet équilibre. Mais comme σp et σn sont tous deux fixés par la technologie employée, il est intéressant de trouver un autre paramètre de conception permettant d’améliorer l’efficacité de l’extracteur. C’est l’objectif du bloc de mise en forme. Il multiplie la période d’oscillation duRO sélectionné par un facteur fixe x. Cela impacte de manières différentes les deux distributions M et Pi. La largeur d’impulsion étant fixée lors de la fabrication, la distribution M évolue linéairement avec x. Par contre, chaque oscillation duRO est sujette au bruit. Le bloc de mise en forme accumule ainsi le bruit proportionnellement à la racine carrée du facteur de multiplication (∝x). La sortie de ce bloc peut alors être modélisée par la distribution

6.5. Implémentation sur FPGA suivante : xPi ∼ N(xµi,n) (6.18) Et leSNR resultant est : SN Rx = x × σp2 σ2 n (6.19) La mise en forme du signal permet ainsi d’ajuster le SNR vu par le TDC. Il donne une flexibilité supplémentaire pour optimiser l’entropie récoltée par leSTR-PUFtout en main-tenant la stabilité à un niveau raisonnable.

6.5 Implémentation sur FPGA

Nous avons implémenté leSTR-PUFsur 8FPGAXilinx Zynq7000. Pour chaquePUF, la banques d’entropie est composée de 1024 RO. Le bloc de mise en forme permet de multiplier la taille de l’impulsion générée d’un facteur 16, 32, 64 ou 128. Nous avons testé trois configurations différentes deSTR: 9, 31 et 63 étages pour respectivement 4, 16 et 32 évènements. La résolution atteinte est approximativement de 301 ps, 87 ps et 43 ps. Nous avons effectué une campagne de mesures incluant 1000 extractions de largeur d’impulsion pour chacune des 8192 sources et pour les 12 configurations dePUF. Au total, plus de 98 million de mesures ont été faites. Le circuit est contrôlé depuis un ordinateur au travers d’une interfaceUARTpermettant d’envoyer un challenge (l’adresse duROà caractériser) et de recevoir la réponse de la part duPUF(la période en nombre de ∆ϕ). Pour accélérer l’extraction, un mode rafale permet de mesurer séquentiellement chacune des sources de la banque d’entropie. L’opération de post-traitement – dans notre cas la comparaison de la période de deuxRO– est effectuée a posteriori, de manière logicielle à l’aide de routines écrites en Python.