• Aucun résultat trouvé

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

4.3.5 Exemples de TRNG

De nombreuses architectures de TRNG ont été imaginées pour tenter de capter de l’entropie le plus efficacement possible. Métastabilité dans un verrou, tension aux bornes d’une résistance, jitter des RO, etc., chacune utilise l’une ou l’autre des conséquences

23. D’après [Boc+11], le verrouillage entre différents oscillateurs peut apparaître dans un fonctionnement nominal (sans attaque). La question est donc de savoir si le nombre d’oscillateurs non verrouillés est suffisant pour atteindre l’objectif d’entropie.

Figure 4.13 – Architecture de TRNGgarantissant la non-manipulabilité.

physiques du bruit thermique. Mais force est de constater que les architectures à base de RO sont celles ayant le plus de succès du fait de leur facilité d’implémentation, de leur portabilité sur FPGA et de la modélisation aboutie de leur source d’entropie. Petura et al. [Pet+16] recensent six architectures utilisant des oscillateurs et étant compatibles avec les recommandations de la noteAIS31 [KS01]. Dans cette section nous présenterons deux de ces générateurs. Le premier est particulièrement intéressant par sa simplicité et par la robustesse du modèle stochastique l’accompagnant. Le deuxième se démarque par son efficacité et l’utilisation d’un oscillateur auto-séquencé (STR).

4.3.5.1 Le ERO-TRNG

Le premierTRNGimplémenté dans un circuit intégré, le générateur de nombres vérita-blement aléatoires élémentaire basé sur des oscillateurs en anneau (Elementary Ring Oscil-lators based TRNG) (ERO-TRNG), a été initialement proposé par Fairfield, Mortenson et Coulthart [FMC85] du laboratoire Bell. Il utilise deux oscillateurs. Le premier, à basse fréquence, échantillonne le second oscillant à plus haute fréquence. L’échantillonnage est effectué avec une simple bascule D. Ce TRNG a été largement étudié et amélioré par la communauté scientifique. Lafigure 4.14aprésente l’architecture de ce générateur telle que couramment utilisée. Les deux oscillateurs sont implémentés à l’aide deIRO identiques, permettant ainsi de réduire l’impact des sources de bruit globales (les deux oscillateurs sont impactés de la même manière). Afin d’obtenir un signal basse-fréquence, la sortie d’un des oscillateurs est connectée à un bloc de division de fréquence de facteur KD. Intuiti-vement, l’idée est de venir accumuler du bruit dans l’oscillateur à basse fréquence, pour ensuite être sûr que l’échantillonnage du signal à haute fréquence ait autant de chance de capturer un 0 qu’un 1. Ce fonctionnement est illustré par lafigure 4.14b : σ doit être suffisamment grand vis-à-vis de T1 pour que l’aire cumulée des zones bleues et celle des zones rouges sous la Gaussienne soient équivalentes.

Baudet et al. [Bau+11] proposent un modèle stochastique basé sur un processus de Wiener pouvant facilement être adapté auERO-TRNG. Ce modèle permet alors de calculer une limite basse Hmin à l’entropie par bit pouvant être extraite par ce dispositif (4.12). Elle dépend de l’écart type σN du jitter provenant du bruit thermique, de la période des oscillateurs T1 et T2 et du facteur de division KD :

Hmin≈1 − 4 π2ln(2)e −π2σ2 NKDT2 T 3 1 (4.12)

Par ailleurs, malgré le faible débit de nombres aléatoires autorisé par cette architecture, sa « non-manipulabilité » peut être garantie en vérifiant seulement deux propriétés : les ROsoscillent et ne sont pas verrouillés entre eux.

4.3. Générateur d’aléa dynamique : TRNG

(a) (b)

Figure 4.14 – Principe de fonctionnement duERO-TRNG.(a) Architecture et(b) chronogramme.

4.3.5.2 Le STR-TRNG

Plus récement, Cherkaoui et al. [Che+13a] ont proposé un générateur de nombres véritablement aléatoires basé sur un oscillateur auto-séquencé (STR based TRNG) (STR-TRNG). Cette architecture exploite la répartition uniforme des phases duSTR afin d’ex-traire de l’entropie de manière très efficace. Elle est illustrée par lafigure 4.15a. De manière similaire auMURO-TRNG(figure 4.12), les phases duSTRregroupées à l’aide d’un arbre deXOR. Si leSTRest dans son modeevenly-spaced, le signal Ψ ainsi construit peut être vu comme une horloge oscillant à la fréquence Fvirtuelle= 1/2∆ϕ. En réalité, un tel signal ne peut se propager au travers de l’arbre deXOR. L’utilisation d’un premier étage de bascule D (en pointillés sur lafigure 4.15a) permet de reconstruire ce signal après échantillonnage à plus basse fréquence.

(a) (b)

Figure 4.15 – Principe de fonctionnement duSTR-TRNG.(a)Architecture et (b) chronogramme.

A première vue, cette architecture est donc très proche de celle duMURO-TRNG. La principale différence vient cependant de la manière dont est construit le signal Ψ. Alors qu’une approche probabiliste est utilisée pour construire ce signal bruité dans

l’architec-tureMURO-TRNG, le STR-TRNGs’appuie sur une répartition uniforme des phases par rétroaction électrique. Intuitivement le nombre de phases – d’étages du STR – à utiliser est donc moins important que le nombre d’oscillateurs de la solution MURO-TRNG. Le STR devrait donc permettre d’extraire de manière plus efficace l’entropie. Par ailleurs, nous avons vu que la résolution ∆ϕ d’unSTRpeut être finement contrôlée (4.9). En aug-mentant le nombre d’étages de l’anneau tout en gardant un taux d’occupation constant, la fréquence de Ψ peut donc être rendue aussi grande que souhaité.

Figure 4.16 – Modèle de l’extraction d’entropie du STR-TRNG basé sur le jitter de chaque phase.

Deux modèles concurrents permettent d’illustrer le fonctionnement du STR-TRNG. Le premier, présenté dans [Che+13b;Che14] et illustré par la figure 4.16, considère que l’entropie provient du jitter présent dans le STR. Si la résolution ∆ϕ du STR est de l’ordre de grandeur de l’écart type σST R du jitter présent sur chacune des phases alors, non seulement le rapport cyclique de Ψ est variable, mais la succession des différents fronts de Ψ n’est plus garanti et certaines impulsions peuvent disparaître24. Le signal Ψ est alors suffisamment bruité pour que son échantillonnage produise un bit qui soit aléatoire. En se basant sur les différentes probabilités d’échantillonnage, Cherkaoui et al. [Che+13a] montrent que le pire cas pour l’entropie par bit apparaît lorsque l’instant d’échantillonnage est le plus éloigné des instants moyens des fronts (c’est-à-dire lorsqu’il se produit en t = 0 sur la figure 4.16). Ils proposent alors une limite basse de l’entropie de Shannon par bit Hmin tel que définie par l’équation (4.13):

Hmin= −P0log2(P0) − (1 − P0)log2(1 − P0) (4.13) avec P0= 1 − 2Φ T 4LσST R  + 2Φ T 4LσST R 2 (4.14) et Φ(x) =1 Z x −∞ e−t22 dt , x ∈ R (4.15)

Une deuxième approche consiste à s’intéresser à l’entropie extraite de l’accumulation dejitter qui s’opère entre deux instants d’échantillonnage. Le signal clk peut, par exemple, être issu d’un simpleIROde période TRO. Dans le cas où l’hypothèse d’accumulation est valide25, il est possible de modéliser ce générateur de la même manière que leERO-TRNG (voir lafigure 4.14et l’équation (4.12)), en considérant T1 = ∆ϕ = TST R/L, KDT2 = TRO

24. Les fronts successifs de Ψ sont liés à des transitions de différents étages de l’anneau.

25. C’est-à-dire que le signal Ψ en sortie du STR accumule du bruit de manière similaire à un IRO

4.4. Générateur d’aléa statique : PUF et σN = σST R. Hmin≈1 − 4 π2ln(2)e −π2σ2ST RTROL3 T 3 ST R (4.16)

Quoique différents, ces deux modèles convergent vers la même conclusion : plus le nombre d’étage du STR est important, plus l’entropie par bit en sortie de ce générateur est proche de 1.

Concernant les aspects de « non-manipulabilité » du STR-TRNG, nous présentons dans lechapitre 5un modèle de menace, des attaques ainsi qu’une série de contre-mesures visant à sécuriser cette architecture deTRNG.