Practical Analysis of Symmetric and Asymmetric Standards in the White-Box Context
Analyse pratique de standards symétriques et asymétriques dans le contexte de la boîte blanche
Résumé
White-box cryptography aims to secure implementations of cryptographic algorithms in hostile environments where the adversary may potentially gain full access to the implementation and its execution environment. Against this nearly omnipotent attacker, all solutions proposed to date in the literature for standard cryptosystems are considered vulnerable. However, in practice, the adversary may encounter obstacles that complicate the application of theoretically effective attacks, such as a limit on the number of executions with a given key or obfuscation layers forcing him to undertake a costly reverse-engineering phase. Therefore, the white-box model seems to define an attacker who is excessively powerful for several use-cases. In this context, companies develop proprietary solutions whose designs remain secret and are specifically tailored to their needs. It is thus crucial to study the attacks and countermeasures that can be practically applied to these implementations. In this thesis, we focus on two widely used standard cryptosystems in both symmetric and asymmetric cryptography, namely AES and ECDSA. While the literature on AES is abundant, very few publications address white-box implementations of ECDSA, despite their high relevance for the industry. For both cryptosystems, we present real-life attacks, focusing on features such as the possibility of automation, a reduced number of white-box executions and no requirement for chosen inputs. Specifically, we examine the various potential vulnerabilities of ECDSA white-boxes and show that most of them stem from the lack of reliable sources of randomness in the white-box context. We detail the attacks that we carried out to break the 97 candidate implementations of the 2021 WhibOx contest. We also demonstrate how fault injections can break the very first white-box implementation of ECDSA published in 2020 by Zhou et al., and we propose a countermeasure that does not increase the size of the code. Given that there is no other public ECDSA implementation, we also review various patents to gain insights into countermeasures used in practice in products. Regarding AES white-boxes, we propose a new and highly efficient attack that requires very few executions on random plaintexts. We also investigate the protection provided by internal encodings against side-channel attacks. This common countermeasure is used on table-based implementations and consists in applying random permutations on sensitive variables to obfuscate them. Although it is widely known that random encodings are broken with high probability, the question of whether a particular class of encodings could prevent side-channel attacks remained open. In this thesis, we answer it negatively and show that carefully crafting encodings with a specific property is not a viable solution.
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.
Origine | Version validée par le jury (STAR) |
---|