• Aucun résultat trouvé

Exemple d’attaque en puissance différentielle sur une S-Box

Lors de l’attaque en puissance différentielle réalisée sur la S-Box AES, nous avons procédé comme détaillé dans cette annexe.

Tout d’abord, nous avons générée en suivant le flot de conception traditionnellement utilisé dans l’équipe pour générer en générer la description au niveau transistors. Cette étape a été réalisant en utilisant successivement les outils Synopsys Design Vision pour réaliser la synthèse logique et les outils de la suite Cadence pour générer la liste des transistors.

Cette description est ensuite utilisée par Synopsys Nanosim en conjonction avec un fichier de données de configuration pour le simulateur ainsi que le fichier de stimuli. Un script shell Unix permet de générer automatiquement les traces de courant consommé pas le circuit pour l’ensemble des entrées possibles. La Figure 57 présente le tracé du courant consommé de la S-Box alimentée avec une même clef et des messages différents.

0 0,5 1 1,5 2 2,5 3 3,5 4 4,5 0 100 200 300 400 500 600 700 800 900 1000 1100 Temps (ps) C o u ra n t c o n s o m m é Mes = 0x00 Mes = 0x01 Mes = 0x02

On remarque aisément sur ce graphe les différences de consommation pour les différents messages d’entrées. Ces différences dans les profils de consommation sont exploitées par l’attaque en puissance différentielle. Dans la suite de cette annexe, la fonction de sélection pour l’attaque en puissance différentielle est le premier bit de la sortie de la S-Box ; ainsi, la fonction de répartition est la valeur de ce bit.

L’étape suivante consiste à répéter pour l’ensemble des clefs possibles un certain nombre d’opérations. Tout d’abord, on détermine pour chaque message d’entrée quelle est la valeur du premier bit de sortie de la S-Box. S’il vaut 1, on ajoute la trace de courant pour ce message à la trace somme correspondant aux messages ayant généré un 1. S’il vaut 0, on ajoute la trace à la trace somme correspondant aux messages ayant généré un 0. Une fois tous les profils de courant ainsi répartis dans les deux groupes, il ne reste qu’a divisé chaque point de ces sommes par le nombre de traces pour en obtenir la moyenne. C’est deux courbes moyennes sont ensuite soustraites l’une à l’autre pour obtenir la courbe de biais correspondant à l’hypothèse de clef en cours. La présente l’ensemble des 256 courbes de biais obtenues lors de l’attaque de la S-Box.

0 0,2 0,4 0,6 0,8 1 1,2 0 100 200 300 400 500 600 700 800 900 1000 Temps (ps) B ia is D P A

Figure 58 : Courbes de biais

La dernière étape consiste à parcourir l’ensemble de ces courbes de biais pour déterminer celle qui présente le plus haut maximum. Si l’attaque réussit, la clef réellement utilisée est celle correspondant à l’hypothèse dont la courbe présente ce maximum. La Figure 59 représente la courbe des maxima des courbes de bais. On note sur ce graphe un pic pour K=19, qui était bien la clef utilisée lors des simulations utilisées pour cet exemple.

0 0,2 0,4 0,6 0,8 1 1,2 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210 220 230 240 Hypothèse de clef V a le u r m a x im a le d u b ia is D P A

RESUME

L’évolution des besoins en sécurité des applications grand public a entraîné la multiplication du nombre de systèmes sur puces doués de capacités de chiffrement. En parallèle, l’évolution des techniques de cryptanalyse permet d’attaquer les implantations des méthodes de chiffrement utilisées dans ces applications.

Cette thèse porte sur le développement d’une méthodologie permettant l’évaluation de la robustesse apportée par des protections intégrées dans le circuit. Cette évaluation est basée d’une part sur l’utilisation de plates-formes laser pour étudier les types de fautes induits dans un prototype de circuit sécurisé ; et d’autre part, sur l’utilisation d'une méthode basée sur des simulations pendant la phase de conception pour comparer l’influence sur les canaux cachés de protections contre les fautes.

Cette méthodologie a été utilisée dans un premier temps sur le cas simple d’un registre protégé par redondance d'information, puis sur des primitives cryptographiques telles qu’une S-Box AES et des co-processeurs AES et RSA. Ces deux études ont montré que l’ajout de capacités de détection ou de correction améliore la robustesse du circuit face aux différentes attaques.

MOTS CLEFS

Circuits sécurisés, attaques par fautes, attaques par canaux cachés, redondance d'information TITLE

SECURE DESIGN AGAINST FAULT ATTACKS AND SIDE-CHANNEL ATTACKS ABSTRACT

The increasing need for security in our every day life has resulted in the repeated use of multiple secure devices with cryptographic capabilities. Meanwhile, the cryptanalysis has made many advances allowing hackers to attack these secure devices.

This dissertation discusses a methodology to evaluate the robustness provided by counter-measures implemented in such devices. This analysis is based, on one hand, on the use of laser platforms to study the types of faults induced in a circuit prototype; and on another hand, on the use of a method based on simulations at design time to compare the impact on side-channels of protections against fault attacks.

This methodology has been experimented firstly on the simple case of a register protected by information redundancy, then on cryptographic primitives such as an AES S-Box and AES and RSA co-processors. Both of these studies have shown an increase of the robustness of the device against both types of attacks when adding detection or correction capabilities.

KEYWORDS

Secure circuits, fault attacks, side-channel attacks, information redundancy ISBN : 978-2-84813-134-4