• Aucun résultat trouvé

Chapitre 8 Étude d’un TRNG implanté dans un processeur 71

8.2 Émissions électromagnétiques

Avant d’appliquer des perturbations au TRNG nous avons essayé de déterminer si de l’informa-tion pouvait être récupérée via l’émission électromagnétique du processeur. En effet, en foncl’informa-tionne- fonctionne-ment ce dernier consomme un courant dépendant des opérations qu’il effectue et se retrouvant sur le signal électromagnétique (EM) émis. En plaçant une sonde au dessus du processeur nous pouvons observer et enregistrer ce signal puis potentiellement faire de la SPA et/ou DPA.

Le TRNG a à sa sortie quatre mémoires tampon de 8 octets. Si ces mémoires ne sont pas toutes remplies, le TRNG est allumé (oscillateurs en fonctionnement) jusqu’à temps qu’elles le soient et il est ensuite éteint. La génération d’aléa du côté de l’utilisateur se fait grâce à l’instruction «XSTORE»du processeur. Celle-ci transfère les données d’une mémoire (8 octets), et rien si elles sont toutes vides.

Nous avons tout d’abord observé l’émission électromagnétique du processeur lors d’un appel en boucle à XSTORE. Pour cela, nous avons déplacé une sonde reliée à un oscilloscope au dessus du processeur et trouvé une position où cette boucle était visible avec le motif de la figure 8.2a corres-pondant à l’appel à XSTORE. Sur l’axe des x nous avons l’index des échantillons et sur l’axe des y une amplitude proportionnelle au champ EM mesuré. L’oscilloscope est réglé avec une fréquence d’échantillonnage de 20 GS/s et sachant qu’il y a 20 points entre deux oscillations à l’intérieur du motif, nous vérifions donc que le processeur tourne à une fréquence de 1 GHz. Nous avons ensuite synchronisé l’appel à XSTORE avec le signal EM observé en générant des impulsions sur le port RS-232 de la carte mère. En étudiant le signal obtenu nous repérons le motif correspondant à l’appel à XSTORE (figure 8.2b et figure 8.2c).

Nous avons ensuite tenté de faire ressortir des corrélations entre la connaissance des nombres aléatoires récupérés par l’appel à XSTORE et son motif correspondant. Pour cela nous faisons un moyennage des courbes contenant les motifs, pondérées par la valeur ainsi que le poids de Hamming des nombres aléatoires générés. En effet le champ EM du processeur est dépendant des données qu’il manipule et cette opération doit donc faire ressortir les instants durant lesquels les nombres aléatoires sont mis en jeu. Cependant, dans ce cas une telle analyse statistique des courbes n’a rien pu donner et implique que les signaux observés sont décorrelés des nombres générés. Ceci est expliqué par le fait que le TRNG ait un fonctionnement asynchrone avec les appels à XSTORE, ce qui ne nous permet pas d’analyser les signaux EM car nous ne savons pas quand il est allumé.

8.3 Variations de température

Comme pour les précédents TRNGs étudiés nous avons soumis ce générateur à des variations de températures. Le TRNG étant implanté dans un processeur attaché à une carte mère, il s’est posé des problèmes d’accessibilité pour l’utilisation des bancs de tests que nous avons mis en place. Nous avons donc dû modifier nos méthodes de test : pour le chauffage nous avons détaché la carte mère de son radiateur et utilisé à la place un ventilateur avec une distance variable. Pour le refroidisse-ment, l’utilisation du module Peltier était impraticable et nous avons donc seulement pu plaquer

8.3. Variations de température

(a) Zoom sur le motif de l’appel à XSTORE.

XSTORE

(b) Appel à XSTORE une fois.

XSTORE

(c) Appel à XSTORE huit fois.

FIGURE8.2 – Signaux EM lors d’appels à XSTORE.

le processeur à une tige en aluminium plongée dans de l’azote liquide. La température est mesurée directement par un capteur intégré dans le processeur.

Les températures de test obtenues sont 0C, 36C (carte mère collée à son radiateur), 80C, 90C et 100C. Des séquences de 307,2 Mo sont générées à chaque température en environ 3 minutes. Ces acquisitions sont réalisées sur la sortie directe de la source d’entropie.

8.3.1 Résultats des tests statistiques

La figure 8.3 montre les taux d’échec aux tests statistiques des séquences générées à chaque tem-pérature.

La qualité des bits générés par le TRNG dans des conditions normales (à 36C) n’est déjà pas très bonne. En effet, tous les tests présentent des taux d’échec au moins supérieurs à 40%. Comme pour

0 10 20 30 40 50 60 70 80 90 100 0 20 40 60 80 100 T a u x d ’éch ec (%) Température (C) FIPS Diehard NIST Rabbit (TestU01) Alphabbit (TestU01)

FIGURE8.3 – Résultat des tests statistiques pour le TRNG perturbé en température.

les TRNGs étudiés précédemment il est donc nécessaire d’utiliser des retraitements afin d’éliminer les défauts présents dans les séquences de bits générées. La source de bruit sert donc à extraire de l’entropie d’un phénomène physique aléatoire, mais qui n’est pas utilisable directement.

L’application des variations de température entraîne d’importantes variations de la performance du TRNG, visibles sur tous les tests à part la batterie Diehard. Nous observons une aggravation des taux d’échec avec l’augmentation de la température et vice-versa.

8.3.2 Évolution du biais dans la distribution des mots

Le tableau 8.1 donne le détail des résultats des tests FIPS pour chaque température et sans retrai-tement. Contrairement aux TRNGs précédents, il n’y a pas de biais dans la distribution des bits. En revanche, le taux de sous-séquences échouant aux tests provient principalement des tests Poker et Runs. Le test Poker est un test de khi deux mesurant la ressemblance de la distribution des mots de 4 bits dans les sous-séquences étudiées à leur distribution théorique. Le fort taux d’échec que nous constatons indique donc qu’il existe un biais dans la distribution de ces mots, tout en gardant l’équi-libre entre les bits à 0 et à 1. De même, les résultats du test Runs montre que les bits ne sont pas «bien» distribués et il apparaît des suites de bits à 0 et à 1 de façon disproportionnée.

La figure 8.4 représente la distribution des mots de 8 bits des séquences testées en considérant la valeur des mots ou leur poids de Hamming. Ces graphes confirment les résultats des tests FIPS : avec l’augmentation de la température nous voyons apparaître des déviations importantes des occur-rences des mots par rapport à ce qui est attendu d’une séquence aléatoire. De plus, la distribution des mots selon leur poids de Hamming a un déséquilibre symétrique. En effet, les proportions de mots avec le plus de bits à 0 sont les mêmes que celles des mots avec le plus de bits à 1, cela signifie qu’il n’y a pas de biais dans le nombre de bits à 0 et à 1.

Documents relatifs