Thèse soutenue

Crypto-processeur – architecture, programmation et évaluation de la sécurité

FR  |  
EN
Auteur / Autrice : Lubos Gaspar
Direction : Viktor FischerFlorent Bernard
Type : Thèse de doctorat
Discipline(s) : Image, vision, signal
Date : Soutenance le 16/11/2012
Etablissement(s) : Saint-Etienne
Ecole(s) doctorale(s) : École doctorale Sciences Ingénierie Santé (Saint-Etienne)
Jury : Président / Présidente : François-Xavier Standaert
Examinateurs / Examinatrices : Lilian Bossuet, Tim Güneysu, Yannick Teglia, Lionel Torres, Ingrid Verbauwhede

Résumé

FR  |  
EN

Les architectures des processeurs et coprocesseurs cryptographiques se montrent fréquemment vulnérables aux différents types d’attaques ; en particulier, celles qui ciblent une révélation des clés chiffrées. Il est bien connu qu’une manipulation des clés confidentielles comme des données standards par un processeur peut être considérée comme une menace. Ceci a lieu par exemple lors d’un changement du code logiciel (malintentionné ou involontaire) qui peut provoquer que la clé confidentielle sorte en clair de la zone sécurisée. En conséquence, la sécurité de tout le système serait irréparablement menacée. L’objectif que nous nous sommes fixé dans le travail présenté, était la recherche d’architectures matérielles reconfigurables qui peuvent fournir une sécurité élevée des clés confidentielles pendant leur génération, leur enregistrement et leur échanges en implantant des modes cryptographiques de clés symétriques et des protocoles. La première partie de ce travail est destinée à introduire les connaissances de base de la cryptographie appliquée ainsi que de l’électronique pour assurer une bonne compréhension des chapitres suivants. Deuxièmement, nous présentons un état de l’art des menaces sur la confidentialité des clés secrètes dans le cas où ces dernières sont stockées et traitées dans un système embarqué. Pour lutter contre les menaces mentionnées, nous proposons alors de nouvelles règles au niveau du design de l’architecture qui peuvent augmenter la résistance des processeurs et coprocesseurs cryptographiques contre les attaques logicielles. Ces règles prévoient une séparation des registres dédiés à l’enregistrement de clés et ceux dédiés à l’enregistrement de données : nous proposons de diviser le système en zones : de données, du chiffreur et des clés et à isoler ces zones les unes des autres au niveau du protocole, du système, de l’architecture et au niveau physique. Ensuite, nous présentons un nouveau crypto-processeur intitulé HCrypt, qui intègre ces règles de séparation et qui assure ainsi une gestion sécurisée des clés. Mises à part les instructions relatives à la gestion sécurisée de clés, quelques instructions supplémentaires sont dédiées à une réalisation simple des modes de chiffrement et des protocoles cryptographiques. Dans les chapitres suivants, nous explicitons le fait que les règles de séparation suggérées, peuvent également être étendues à l’architecture d’un processeur généraliste et coprocesseur. Nous proposons ainsi un crypto-coprocesseur sécurisé qui est en mesure d’être utilisé en relation avec d’autres processeurs généralistes. Afin de démontrer sa flexibilité, le crypto-coprocesseur est interconnecté avec les processeurs soft-cores de NIOS II, de MicroBlaze et de Cortex M1. Par la suite, la résistance du crypto-processeur par rapport aux attaques DPA est testée. Sur la base de ces analyses, l’architecture du processeur HCrypt est modifiée afin de simplifier sa protection contre les attaques par canaux cachés (SCA) et les attaques par injection de fautes (FIA). Nous expliquons aussi le fait qu’une réorganisation des blocs au niveau macroarchitecture du processeur HCrypt, augmente la résistance du nouveau processeur HCrypt2 par rapport aux attaques de type DPA et FIA. Nous étudions ensuite les possibilités pour pouvoir reconfigurer dynamiquement les parties sélectionnées de l’architecture du processeur – crypto-coprocesseur. La reconfiguration dynamique peut être très utile lorsque l’algorithme de chiffrement ou ses implantations doivent être changés en raison de l’apparition d’une vulnérabilité Finalement, la dernière partie de ces travaux de thèse, est destinée à l’exécution des tests de fonctionnalité et des optimisations stricts des deux versions du cryptoprocesseur HCrypt