Analyse pratique de standards symétriques et asymétriques dans le contexte de la boîte blanche
Auteur / Autrice : | Agathe Houzelot |
Direction : | Arnaud Casteigts, Emmanuelle Dottax, Christophe Giraud |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 18/10/2024 |
Etablissement(s) : | Bordeaux |
Ecole(s) doctorale(s) : | École doctorale de mathématiques et informatique |
Partenaire(s) de recherche : | Laboratoire : Laboratoire bordelais de recherche en informatique |
Jury : | Président / Présidente : Pascal Desbarats |
Examinateurs / Examinatrices : Alice Pellet--Mary, Marine Minier | |
Rapporteurs / Rapporteuses : Louis Goubin, Matthieu Rivain |
Résumé
La cryptographie en boîte blanche vise à sécuriser les implémentations des algorithmes cryptographiques dans des environnements hostiles où l’adversaire peut potentiellement avoir un accès complet à l’implémentation et à son environnement d’exécution. Face à cet attaquant quasi omnipotent, toutes les solutions proposées à ce jour dans la littérature pour des cryptosystèmes standards sont considérées comme vulnérables. Cependant, dans la pratique, l’adversaire peut se heurter à certains obstacles pouvant compliquer l’application d’attaques théoriquement efficaces, tels qu’une limite sur le nombre d’exécutions avec une clé donnée ou des couches d’obfuscation obligeant à entreprendre une longue étape de rétro-ingénierie. Ainsi, le modèle de la boîte blanche semble parfois définir un attaquant excessivement puissant pour certains cas d’usage. Dans ce contexte, les entreprises développent des solutions propriétaires dont la conception reste secrète et qui sont spécifiquement adaptées à leurs besoins. Il est donc primordial d’étudier les attaques et les contre-mesures utilisables en pratique pour ces implémentations. Dans cette thèse, nous nous concentrons sur deux cryptosystèmes standards largement utilisés en cryptographie symétrique et asymétrique, à savoir AES et ECDSA. Alors que la littérature sur AES est abondante, très peu de publications concernent les implémentations en boîte blanche d’ECDSA, malgré leur grande pertinence pour l’industrie. Pour ces deux cryptosystèmes, nous présentons des attaques efficaces en pratique, mettant en avant des caractéristiques telles que la possibilité d’automatisation, un nombre réduit d’exécutions et la non-nécessité de choisir les entrées du programme. En particulier, nous examinons les diverses vulnérabilités potentielles des boîtes blanches ECDSA et montrons que la plupart d’entre elles sont dues à l’absence de sources d’aléa fiables dans le contexte de la boîte blanche. Nous détaillons les attaques que nous avons effectuées pour casser les 97 implémentations candidates du concours WhibOx 2021. Nous montrons également comment des injections de fautes peuvent permettre à un attaquant de casser la toute première implémentation boîte blanche d’ECDSA publiée en 2020 par Zhou et coll., et proposons une contre-mesure qui n’augmente pas la taille du code. Étant donné qu’il n’existe aucune autre implémentation publique d’ECDSA, nous examinons également divers brevets pour nous donner une idée des contremesures utilisées en pratique dans les produits. Concernant les boîtes blanches AES, nous proposons une nouvelle attaque très efficace qui nécessite très peu d’exécutions sur des entrées aléatoires. Nous étudions également la protection fournie par les encodages internes contre les attaques par canaux auxiliaires. Cette contre-mesure courante est utilisée sur les implémentations tabulées et consiste à appliquer des permutations aléatoires sur les variables sensibles pour les cacher à l’attaquant. Bien qu’il soit de notoriété publique que des encodages aléatoires puissent être cassés avec une grande probabilité, la question de l’existence d’une classe particulière d’encodages qui pourrait prévenir les attaques par canaux auxiliaires était toujours ouverte. Dans cette thèse, nous y répondons négativement et montrons que construire des encodages avec des propriétés spécifiques n’est pas une solution viable.