• Aucun résultat trouvé

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

6.5.2 Qualité des réponses brutes

Lafigure 6.10a présente une cartographie de la matrice duFPGAdétaillant la largeur d’impulsion de chaque source d’entropie. Malgré toutes les précautions prises, nous pou-vons clairement distinguer un motif répétitif sur cette carte. LesRO situés dans les lignes 24, 74 et 124 se trouvent avoir une période d’oscillation plus importante. Ce phénomène a déjà été reporté dans [Hes+18]. Bien que les mêmes ressources de routage soient utilisées, il apparaît que la présence de canaux dédiés au transport de signaux d’horloge proches

9. Comme nous pouvons le voir sur lafigure 6.9, les étages duSTRsont placés sur deux colonnes. Les étages en haut et en bas de ces deux colonnes, qui forment les « virages » de l’anneau, ont un routage légèrement différent. Mais cette différence est suffisamment limitée pour ne pas affecter le fonctionnement de l’anneau.

6.5. Implémentation sur FPGA

(a) (b)

Figure 6.10 – Réponses brutes des 1024 sources d’unPUF, avec x = 16 et ∆ϕ = 43 ps.(a) cartographie des largeurs d’impulsion (en nombre de ∆ϕ) et(b)distribution des largeurs d’impulsion pour chaque source (bleu) et pour 1000 mesures de la même source (orange). de ces lignes entraîne une légère augmentation de la longueur d’un des fils de ces RO. De manière intéressante, ce motif est aussi visible même avec la configuration de PUF la plus relâchée (c’est-à-dire, avec la plus grande résolution ∆ϕ et le plus petit facteur multiplicatif x). Cela confirme la bonne sensibilité de notre PUF, même avec des temps de mesures très faibles. Nous ignorerons ces sources biaisées lors de l’analyse de la qualité des réponses duPUF.

La fonction de masse de la largeur des impulsions mesurées avec l’un des PUF est tracée sur lafigure 6.10b. Cette figure présente aussi la distribution de 1000 mesures d’une même source d’entropie de ce mêmePUF. Les courbes de tendance Gaussiennes sont aussi reportées sur ce graphique. Elles sont très similaires aux courbes théoriques présentées en figure 6.8. Les déviations standards de ces distributions sont σp = 7,61∆ϕ et σn= 0,93∆ϕ. D’après l’équation (6.17), cela correspond à un SNRd’approximativement 18 dB (ou 6 dB une fois normalisé par le facteur x).

6.5.3 Évaluation

Nous évaluons la qualité des réponses du STR-PUF à l’aide des différentes métriques définies à la section 4.4.2. La figure 6.11 présente les résultats du calcul de SNR (6.17) et (6.19), d’unicité (4.17) et de stabilité (4.18) pour les 12 configurations des 8 implé-mentationsFPGA du STR-PUF. Les trois métriques présentent la dépendance attendue vis-à-vis du facteur de multiplication x.

Lafigure 6.11a montre clairement la relation linéaire entre leSNR et le logarithme du facteur multiplicatif. Toutes les configurations duPUFont une pente proche de +3 dB/octave qui correspond exactement au modèle proposé(6.19). Le SNRnormalisé est aussi reporté sur le graphique. Comme attendu, il est presque constant, avec une valeur moyenne autour de 8,26 dB.

(a) (b) (c)

Figure 6.11 – Métriques évaluant la qualité des 8STR-PUFsuivant le facteur multiplicatif x et pour trois tailles de STR différentes. (a) SNR et SNR normalisé, (b) unicité et (c) stabilité moyenne.

La métrique caractérisant l’unicité est présentée enfigure 6.11b. Les résultats avec ou sans filtrage des sources biaisées sont reportés. L’effet négatif des sources incriminées est bien visible (courbe en pointillés). Il réduit l’unicité de plus de 1 point. Comme attendu, nous voyons que l’unicité augmente avec le facteur multiplicatif. En revanche, quelle que soit la configuration, celle-ci tend asymptotiquement vers une valeur de 48,3 %, qui n’est pas totalement idéale. Bien que cela ne soit pas fatal pour le fonctionnement du PUF, il semble qu’un autre biais soit présent dans les sources d’entropie (par exemple, lié à la structure de la matrice des FPGA ou à des problèmes de routage ou de diaphonie). Ce phénomène peut aussi être lié au faible nombre de PUF testés. Une étude de plus large envergure est donc nécessaire pour trouver l’explication exacte de ce comportement.

Finalement, la courbe de stabilité, présentée dans la figure 6.11c, montre aussi une évolution cohérente vis-à-vis du facteur de multiplication. Mais elle ne semble pas être affectée par la variation de la résolution ∆ϕ comme nous pouvions intuitivement le prédire. La tendance inverse semble même émerger, la stabilité étant globalement meilleure lorsque la taille du STR augmente. Bien que nous n’ayons pas une explication arrêtée pour ce phénomène, il montre que le modèle de bruit utilisé n’est pas très précis. Notamment, nous ne considérons pas le bruit de quantification. Pour leSTR-PUF, à cause des capacités de placement et de routage limité des FPGA, ce bruit de mesure peut pourtant être très important comparativement aux bruits électroniques. Cette hypothèse semble confirmée par la faible valeur de SNR de notre PUF vis-à-vis de celle observée par Hesselbarth et al.[Hes+18].

La suite de tests NIST SP 800-22 est appliquée aux réponses du PUF. Pour chaque configuration, les réponses des 8 instances duPUF sont regroupées une seule séquence de 4016 bits10. Cette séquence est divisée en deux blocs de 2008 bits, qui sont suffisamment larges pour alimenter la majorité des tests de la suite. Les résultats de chacun de ces tests sont présentés dans letableau 6.1. En analysant ces résultats, nous constatons que le nombre de tests en échec diminue alors que le facteur de multiplication augmente ou que la résolution diminue. Malgré la faible puissance statistique lié à l’étude d’un nombre limité de PUF, cette tendance est cohérente avec les observations faites pour l’unicité et

10. Chaque PUFa 1024 sources parmi lesquelles 20 sont ignorées car biaisées. Après comparaison des paires d’oscillateurs, nous obtenons (1024 − 20)/2 = 502 bits parPUF.

6.5. Implémentation sur FPGA Table 6.1 – Évaluation de l’imprédictibilité des réponses desSTR-PUFà l’aide de la suite de tests NIST SP800-22. Taille du STR (∆ϕ) L9 (301 ps) L31 (87 ps) L63 (43 ps) Facteur multiplicatif. x 16 32 64 128 16 32 64 128 16 32 64 128 Frequency 0/2 0/2 0/2 0/2 0/2 0/2 1/2 2/2 0/2 2/2 2/2 2/2 BlockFrequency 0/2 0/2 0/2 0/2 0/2 1/2 2/2 0/2 2/2 2/2 2/2 2/2 CumulativeSums 0/4 0/4 0/4 0/4 0/4 0/4 2/4 4/4 0/4 4/4 4/4 4/4 Runs 0/2 0/2 0/2 0/2 0/2 1/2 2/2 0/2 1/2 2/2 2/2 2/2 LongestRun 0/2 0/2 0/2 0/2 0/2 0/2 2/2 2/2 1/2 2/2 2/2 2/2 FFT 0/2 1/2 1/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 1/2 2/2 NonOverlappingTemplate 272/296 270/296 272/296 283/296 271/296 277/296 284/296 288/296 278/296 286/296 285/296 286/296 ApproximateEntropy 0/2 0/2 0/2 0/2 0/2 2/2 2/2 2/2 1/2 2/2 2/2 2/2 Serial 0/4 3/4 2/4 4/4 4/4 4/4 4/4 4/4 2/4 2/4 2/4 4/4 Taux de succès 86,3 % 86,6 % 87,3 % 91,6 % 87,9 % 91,0 % 95,3 % 96,3 % 91,0 % 96,3 % 95,7 % 96,9 %

confirme la bonne qualité de l’entropie extraite par leSTR-PUF.