- Objectif:
L'ESRF (European Synchrotron Radiation Facility) produit un rayonnement X ultra brillant. Certaines lignes de rayonnement sont dédiées à des tailles de faisceau réduites aux alentours de 50 nm. À l'aide de ce faisceau nano-focalisé, l'équipe du CEA-LETI a démontré la possibilité de modifier une cellule unique de mémoire SRAM ou de mémoire Flash [11]. Cependant, un plus grand nombre d'attaques serait possible si l'on parvenait à perturber le comportement des cellules logiques plutôt que des mémoires, ce que l'on voudrait démontrer en priorité. De plus, nous proposons de tenter ces attaques sur des technologies agressives (90 / 45 / 28 nm voire au-delà) pour connaître les limites intrinsèques des modifications faites du faisceau X de l'ESRF ainsi que rester représentatif des technologies actuelles de composants. Tout cela se réalisera en débutant avec une analyse fine du comportement des cellules logiques sous irradiation X avec un composant dédié. Cela permettra de bien comprendre les effets physiques des RX sur un circuit, en collaboration avec la simulation du WP4 et ainsi d'être bien plus efficace pour réaliser des attaques précises.
Tâche 1.1 : Analyse du comportement de portes logiques sous irradiation X
L'objectif de cette tâche est de démontrer la possibilité des attaques sur des portes logiques et d'aider le WP4 à correctement simuler le comportement des attaques en rayons X. En conséquence, les travaux seront menés sur des échantillons dont on connaît le layout. Pour cela, nous disposons d'un composant en technologie 28 nm dédié à l'analyse des attaques en fautes : certains registres logiques sont physiquement bien séparés des autres, ce qui permet de bien séparer l'effet des rayons X sur ces registres des effets collatéraux qu'il pourrait y avoir sur la logique alentour de contrôle/lecture de ces registres.
Grâce à la ligne ID16B de l'ESRF et notre connaissance de l'échantillon, il sera facile de viser – avec une précision de 50 nm [37] – sur des zones précises des registres et de déterminer l'impact de l'irradiation in situ. Les résultats attendus pour cette tâche seront:
- Capture de données expérimentales précises (taille, énergie, quantité de photons du faisceau, impact sur le composant) à remonter au WP4 afin de valider et améliorer les résultats de simulation. Il y aura un travail en amont sur le WP4 pour déterminer les paramètres les plus pertinents à tester en manipulation, notamment ceux qui permettent d'ajuster les paramètres de simulation au mieux.
- Démonstration de la possibilité de modifier/contrôler la valeur d'un registre unique sur un nœud technologique de 28 nm, avec le faisceau nano-focalisé de l'ESRF.
A l'issue de cette tâche, nous saurons s'il est possible de modifier une cellule logique d'un circuit quelconque avec des paramètres précis du faisceau le cas échéant.
Toutes les données acquises lors de cette campagne seront analysées en parallèle avec le WP4 pour bien comprendre le comportement précis des transistors sous irradiation X avec un dispositif simple (registres isolés) et un faisceau très bien maitrisé en énergie, flux et dimensions. Le succès de cette tâche sera évalué à la lumière d'un bon accord expérience-simulation.
Tâche 1.2 : Modification des cellules logiques d'un microprocesseur.
Cette tâche adressera des attaques sur la logique numérique d'un microprocesseur. Les composants utilisés dépendront des résultats de la tâche 1.1. S'il est possible d'attaquer des registres spécifiques en 28 nm, nous resterons sur ce même composant, en attaquant la logique numérique « classique » de ce composant. À l'aide de la connaissance du layout du circuit et à l'étude préliminaire issue la tâche 1.1, les paramètres critiques (principalement position et puissance de la perturbation X) pour réussir ces modifications seront connus et pourront être directement appliqués. La difficulté de cette tâche est liée à la proximité de nombreux transistors autour de celui qui sera directement ciblé par l'attaque. Cette tâche – toujours bien associée au WP4 - permettra de bien valider la simulation des perturbations X et son passage à l'échelle sur plusieurs cellules de circuit intégré.
Afin de minorer le risque de cette tâche, un composant en technologie 0.35 µm dont une partie de la logique a déjà été analysée sera utilisé. Cela permettra de vérifier si oui ou non on est limité par la taille du faisceau X pour réaliser des modifications de circuits sur des nœuds technologiques avancés, type 28 nm. Cette limite de taille de faisceau sera néanmoins préférentiellement étudiée en tâche 1.3.
La réussite expérimentale de cette tâche est évidemment basée sur la modification contrôlée de la valeur d'une bascule via RX et ouvrirait un boulevard pour la tâche 1.4 dédiée aux attaques réelles, potentiellement sur composants sécurisés.
Tâche 1.3 : Limites intrinsèques de la modification de cellules uniques
Nous voulons connaître les limites intrinsèques de la dimension des cellules modifiable avec la technique d'attaques par rayons X nano-focalisés. Jusqu'à présent, nous avons démontré que l'on pouvait modifier une cellule unique de mémoire Flash en 90 nm et pour la S-RAM sur un nœud technologique de 45 nm (voir Figure 5).
En nous concentrant l'effet d'une perturbation sur des cellules mémoires, bien plus simples à perturber et à comprendre, nous essaierons de reproduire les précédents résultats sur des technologies de 28 nm, 22 nm voire au-delà si les limites en taille sont situées encore plus basses.
Le résultat majeur de cette étape nous permettra de savoir quels nœuds technologiques peuvent être attaqués avec les rayons focalisés d'un synchrotron.
Tâche 1.4 : Démonstration d'une attaque réaliste / composant sécurisé ou non connu
Il est nécessaire de démontrer une attaque réaliste pour valider notre démarche. Cette tâche sera réalisée après toutes les précédentes : les composants et algorithmes ciblés seront choisis suivant les résultats des tâches 1.2 et 1.3, en notant que l'objectif serait de réaliser une attaque sur un composant sécurisé. Plusieurs types d'attaques peuvent être réalisées avec les fautes RX qui sont spécifiques, car elles sont semi-permanentes : le comportement de transistors est modifié après irradiation et il est possible de revenir à l'état précédent avec un recuit. Suivant la zone attaquée sur le circuit, les attaques possibles sont les suivantes :
- RAM : modifications de clés temporaires durant exécution. Ces attaques sont difficiles à réaliser sur un composant avec mémoire scramblée, chiffrée et protégée par des codes détecteurs d'erreur. Ces attaques restent proches d'une attaque laser.
- Flash, NVM : modification de programmes (déjà démontrée dans [11]) ou de clés permanentes. Elles sont compliquées à obtenir sur un composant avec mémoire scramblée et chiffrée, mais restent originales, car impossibles à réaliser via une attaque laser classique (i.e. faisceau infrarouge de faible puissance).
- Logique numérique : ce sont les attaques les plus pertinentes pour les fautes semi-permanentes. La modification d'algorithmes hardware (Differential Fault Attack sur cryptographie symétrique [38] ou asymétrique [39], Persistent Fault Attack [40]) pour retrouver des clés est une piste possible. Il est également particulièrement pertinent de modifier la logique des fonctions de sécurité diverses (détecteurs de glitchs, laser, intrusion, codes correcteurs d'erreurs…). Ce sont des fautes particulièrement intéressantes en attaques RX, car ces mêmes fautes par des moyens de perturbations classiques (EM, laser, glitchs) sont possibles, mais doivent souvent être réalisées à chaque nouvelle tentative d'attaque. Les fautes X semi-permanentes permettraient de bloquer la détection de sécurité une fois pour toutes. La position d'attaque en X pourrait être facilitée par une cartographie laser préalable, surtout si le composant n'est pas bien connu.
La réussite de cette tâche ambitieuse serait la démonstration d'une attaque réaliste – i.e. du type de celle réalisée lors d'une évaluation CC - sur un composant très sécurisé, type Evaluation Assurance Level (EAL) supérieur à 5.