Attaque en faute par injection laser

La sécurité de l’information

Les algorithmes cryptographiques 

Un algorithme cryptographique est un calcul mathématique de chiffrement et déchiffrement, qui permet d’assurer un échange entre un émetteur et un récepteur de manière sécurisée. On définit quatre propriétés qui peuvent être assurées par l’algorithme (certains algorithmes ne remplissent pas ces quatre conditions simultanément) :

♦ Seuls l’émetteur et le récepteur sont capables de lire le message (confidentialité)
♦ Le message provient bien de l’émetteur (authenticité)
♦ Le message n’a pas été modifiée (intégrité)
♦ Aucune partie ne peut remettre en cause l’échange (non-répudiation) .

Afin d’assurer ces fonctions, l’algorithme s’appuie sur un secret ou une clé secrète. On différencie deux types d’algorithmes de chiffrement: les algorithmes symétriques et asymétriques. Les algorithmes symétriques ont pour particularité d’utiliser une seule et même clé pour le chiffrement et le déchiffrement. Les deux interlocuteurs doivent partager la même clé, ils ont donc dû se rencontrer afin de convenir d’une clé secrète pour leur communication. Ce genre d’algorithme, par exemple l’AES [1], est très souvent utilisé pour les transactions sécurisées utilisant un support matériel. En effet, les algorithmes symétriques nécessitent moins de ressources de calcul que les algorithmes asymétriques et sont donc plus rapides.

C’est pour répondre à la problématique de l’échange de clés entre les deux interlocuteurs que les algorithmes asymétriques ont été développés. Ils ont la particularité d’utiliser deux clés, une pour le chiffrement et une pour le déchiffrement d’un message, respectivement la clé publique et privée. Le récepteur possède une clé secrète qui lui est propre et qu’il ne partagera avec personne (clé privée). A partir de cette clé privée, une clé publique est générée. Il peut donner cette clé à ses correspondants sans aucune restriction. La clé publique sert à tous les correspondants pour lui faire parvenir un message chiffré. L’émetteur chiffre le message avec la clé publique et envoie le message chiffré au récepteur. Celui-ci utilise alors sa clé privée afin de déchiffrer le message et d’obtenir le contenu en clair. Cependant le récepteur ne peut envoyer de message à l’émetteur avec sa clé publique. L’émetteur doit donner au récepteur sa propre clé publique. En effet, la clé publique du récepteur ne sert qu’à chiffrer des messages qui lui sont destinés.

Les algorithmes asymétriques, comme le RSA [2], sont généralement utilisés pour les transactions pour lesquelles les deux interlocuteurs ne sont pas en contact (échange distant de donnée sur un support non physique). Le RSA est notamment utilisé pour la sécurisation de transaction sur internet. Les recommandations en termes de taille de clé afin d’assurer une sécurité suffisante est souvent de l’ordre de 2048bits et plus [3]. Cette taille de clé est difficilement compatible avec les contraintes liés à la taille du circuit pour des supports de type carte à puces.

Ces algorithmes de cryptographie sont conçus de telle manière qu’il est impossible (avec les moyens de calculs actuels et en un temps raisonnable) de trouver la clé ou le contenu du message par simple observation des messages chiffrés. L’implantation de ces algorithmes peut se retrouver sur des plateformes diverses et variées (implantation logicielle ou bien matérielle). On s’intéresse ici à l’implantation matérielle sur support tels que des smartcard (cartes de paiement, d’accès, etc.). La différence du support d’implantation va influencer la méthode d’intégration de l’algorithme (contraintes de temps, ressources de calculs, etc.). De tels algorithmes permettent de communiquer des données « sensibles » (code d’accès, authentification, message secret, etc.). C’est la sensibilité de ces données et les utilisations possibles de celles-ci qui ont amené des personnes mal intentionnées à développer des méthodes afin d’obtenir la clé secrète. Ces méthodes sont appelées attaques.

Les attaques cryptographiques matérielles 

L’objectif d’une personne malveillante est d’obtenir la clé afin par exemple de déchiffrer les messages, se faire passer pour l’émetteur ou même altérer une partie du message. Deux types d’attaques peuvent être distingués, les attaques mathématiques ou logicielles qui s’attaquent aux vulnérabilités de l’algorithme et les attaques matérielles qui se concentrent sur les vulnérabilités dues à l’implantation de cet algorithme. On s’intéresse dans ce manuscrit plus particulièrement aux attaques matérielles qui nécessitent d’avoir accès au support physique réalisant le chiffrement. On distingue trois grands types d’attaques matérielles sur des circuits microélectroniques implantant des algorithmes cryptographiques :
♦ Les attaques non-invasives
♦ Les attaques invasives
♦ Les attaques semi-invasives .

S. Skorobogatov dans [4], présente cette classification ainsi qu’une description de chacune d’elles. Ces types d’attaques peuvent également être différenciés en deux classes, celle des attaques par observation ou attaques dites passives (attaque par canaux auxiliaires) ou par perturbation du circuit ou attaques actives (injection de fautes). Dans la première catégorie, l’attaquant obtient l’information en observant le circuit lors de son fonctionnement, en mesurant la consommation de celui-ci par exemple. La seconde catégorie (i.e. les attaques actives) nécessite une intervention active de l’attaquant sur le circuit durant le calcul afin de le perturber, par illumination laser par exemple.

La catégorie des attaques non-invasives regroupe les attaques ne nécessitant pas de préparation particulière du circuit. L’attaquant pourra par exemple observer la consommation du circuit [5] ou perturber son fonctionnement en faisant varier la tension d’alimentation de celui-ci brutalement [6]. Les attaques invasives au contraire nécessitent une préparation du circuit. Une fois le circuit ouvert (retrait du capot), l’attaquant peut à l’aide de sondes, par exemple posées sur le bus de données, lire le flux de données transitant dans le circuit (probing) [7] . Le circuit peut aussi être altéré notamment par l’utilisation d’un laser de découpe ou un Focus Ion Beam (FIB). Celui-ci permettant de sectionner des capteurs ou des chemins de donnés du circuit.

Table des matières

Introduction
Chapitre I. Attaque en faute par injection laser
Préambule
I.1. La sécurité de l’information
I.1.1. Les algorithmes cryptographiques
I.1.2. Les attaques cryptographiques matérielles
I.1.3. Les attaques en fautes
I.2. L’injection de faute par illumination laser
I.2.1. Le laser et ses caractéristiques
I.2.2. L’absorption de l’énergie par le silicium
I.2.3. De l’effet photoélectrique à la faute induite
I.2.4. La faute et l’erreur
I.2.5. Les évènements singuliers
I.2.6. Les modèles de faute
I.3. Modélisation et simulation
I.3.1. Simulateur tLIFTING
I.3.2. Modélisation électrique d’un transistor 90nm sous illumination laser
Conclusion
Chapitre II. Pratique de l’injection laser
Préambule
II.1. Description des méthodes d’injection laser sur un circuit microélectronique
II.2. Présentation de la préparation du circuit en vue d’une injection laser
II.3. Comparaison pratique de la méthode d’injection laser
II.3.1. Présentation de l’algorithme ciblé
II.3.2. Obtention de l’information pour l’attaque de Piret et Quisquater (DFA)
II.3.3. Description de la cible d’injection
II.3.4. Comparaison des deux méthodes d’injections en termes de fautes exploitables
II.3.5. Mesures de la taille du faisceau illuminant le silicium par injection en face avant
Conclusion
Chapitre III. Modélisation électrique de transistors CMOS 28nm sous illumination laser
Préambule
III.1. Description des technologies CMOS bulk et FDSOI 28nm
III.1.1. Structures des transistors bulk et FDSOI
III.1.2. Effets de l’illumination laser des transistors en technologies CMOS bulk et FDSOI
III.2. Mise à jour du modèle pour le transistor 28nm bulk
II.2.1. Présentation du circuit expérimental
II.2.2. Mise à jour du modèle
III.3. Modèle électrique d’injection pour la technologie FDSOI
III.3.1. Etablissement du modèle électrique pour le transistor NMOS FDSOI
III.3.2. Modélisation du transistor PMOS 28nm FDSOI
III.3.3. Nouveau modèle d’injection de faute
III.4. Résultats expérimentaux de l’illumination laser de transistors CMOS bulk et FDSOI
III.4.1. Comparaison entre les transistors NMOS bulk et FDSOI
III.4.2. Comparaison entre les transistors PMOS bulk et FDSOI
Conclusion

Cours gratuitTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *