logo EDITE Sujets de doctorat

Analyse et conception de cryptographie en boîte blanche

Sujet proposé par
Directeur de thèse:
Doctorant: Lucas BARTHELEMY
Unité de recherche UMR 7606 Laboratoire d'informatique de Paris 6

Domaine: Sciences et technologies de l'information et de la communication

Projet

Thèse co-encadrée avec Marion Videau (Quarkslab)

Les schémas cryptographiques les plus étudiés dans la littérature sont le DES et l'AES.

De ce constat plusieurs pistes d'études sont envisageables. D'une part, une formalisation des attaques existantes en critères de conception compte tenu de la structure existante des algorithmes cryptographiques est nécessaire. Elle permettra de savoir si tous les critères sont compatibles et de quelle façon il est possible de les maximiser en prenant en compte les contraintes opérationnelles d'un système réel (temps d'exécution, place en mémoire, etc.).

Enfin, même si le cas de figure risque d'être moins courant en pratique, on peut également s'interroger sur la possibilité d'énoncer des critères de conception d'algorithmes cryptographiques, de chiffrements par blocs, par exemple, qui prennent en compte dès le départ la nécessité d'être facilement whiteboxables. En effet, l'AES ayant actuellement 16 ans, il est raisonnable de penser que de nouvelles propositions de chiffrements par bloc en remplacement devraient être publiées dans les années à venir qui pourraient profiter d'une telle étude.

Cette étude pourra être étendue pour des algorithmes très peu présents dans la littérature tels que les fonctions de hachage et HMAC, chiffrements asymétriques et signatures. La cryptographie asymétrique nous intéresse particulièrement car les nouveaux usages la rendent bien plus nécessaire que ce n'était le cas avec le cas de la distribution de contenu.

La cryptographie asymétrique fait intervenir des combinaisons d'opérations qui signent par là-même le protocole choisi. La problématique qui se pose ici est de produire des approches rendant indiscernables ces combinaisons. L'anomysation des opérateurs peut être un premier angle d'attaque mais ne sera pas suffisant car le nombre d'opérations, les boucles et les accès mémoires devront eux aussi être neutralisés au sens de l'information qu'ils pourraient porter. Une méthodologie devrait être proposer afin d'offrir un outil aux développeurs d'implantations whiteboxées. L'usage dans les blocs DSP des FPGA par exemple permettent d'effectuer des opérations de type MAC (Multiplication ACcumulation) qui, suivant les systèmes de représentations des nombres et la reformulation des expressions, permettent souvent d'accélérer des calculs en couplant additions et multiplications. D'autre part les systèmes de représentation non standard comme ceux redondants ou ceux sur les restes (RNS, \emphResidue Number System) ou encore adaptés aux calcul modulaire, offrent des propriétés qui bien exploitées peuvent permettre un certain masquage. Ces approches combinées à d'autres d'obfuscations (voir l'exemple mentioné dans patentCFR2012) peuvent rendre une implantation difficilement réversible.

Enjeux

Jusque dans les années 2000 la recherche en cryptographie s'est concentrée sur des modèles d'attaques qui faisaient implicitement confiance à la plateforme sur laquelle s'exécute le code cryptographique. Le principe de Kerckhoffs, qui stipule que la sécurité d'un algorithme cryptographique ne doit pas reposer sur le secret de ses spécifications, se matérialise dans le domaine de la cryptographie, civile au moins, dans le fait que l'évaluation de la sécurité des algorithmes cryptographiques est faite à spécifications connues. Néanmoins, le modèle de l'accès par l'attaquant à l'exécution du code cryptographique est longtemps resté celui de la {boîte noire}, c'est-à-dire une situation dans laquelle l'attaquant n'a accès qu'aux entrées et aux sorties du programme, sans aucune autre interaction avec lui. Des évolutions ont été introduites par les attaques par canaux auxiliaires qui modèlisent la possibilité pour un attaquant d'accéder à des données externes à l'exécution du programme mais qui lui sont reliées de façon indirecte, telles la consommation de courant ou les émanations électromagnétiques pour les cartes à puce. L'attaquant a également la possibilité d'influer sur l'exécution du programme au travers de l'injection de fautes et d'étudier les sorties et données externes produites. Ces modèles et attaques ont beaucoup profité à l'étude de la sécurité des cartes à puce, l'image même de la boîte noire. En effet, bien que portable et donc très facilement envisageable en environnement hostile, les cartes à puce nécessitent pour les scruter un arsenal matériel qu'on peut difficilement qualifier de courant.

La situation a évolué très significativement avec le déploiement massif et rapide des plateformes mobiles, contexte majoritairement logiciel (par opposition à la carte à puce). Ces plateformes mobiles, elles aussi à envisager en environnement hostile, ne bénéficient pas pour la plupart de protections matérielles. La plateforme peut être perdue ou volée ou l'utilisateur de la plateforme peut ne pas être de confiance. Un attaquant peut utiliser tous les outils de rétro-ingénierie logicielle à sa disposition pour ausculter la mémoire des processus, disséquer le code, retrouver les clés secrètes, sans se limiter dans ses interactions aux entrées-sorties du programme.

L'analyse et la conception de cryptographie en boîte blanche intéresse Quarkslab à plus d'un chef. En effet, un des piliers de l'activité d'évaluation de l'entreprise repose sur la rétro-ingénierie logicielle, la mettant en situation privilégiée pour fournir un contexte scientifique plus large que la seule cryptographie au sens classique. L'attaque des schémas en boîte blanche fait l'objet d'un effort scientifique significatif dans l'entreprise se matérialisant dans des résultats internes mais également publics side-channel-marvels. L'aspect constructif de la protection logicielle fait également partie des problématiques de Quarkslab au travers de l'obfuscateur Epona que l'entreprise développe. Les travaux de thèse prendront donc place à un carrefour entre cryptographie, rétro-ingénierie et obfuscation, trois thèmes tous présents scientifiquement à Quarkslab. Le LIP6 apporterait ici son expertise sur les opérateurs arithmétiques afin d'offrir des opérateurs anonymisés.

Remarques additionnelles

Références:

Olivier Billet, Henri Gilbert, and Charaf Ech-Chatbi. Cryptanalysis of a white box aes implementation. In International Workshop on Selected Areas in Crypto- graphy, pages 227–240. Springer Berlin Heidelberg, 2004.

J. W. Bos, C. Hubain, W. Michiels, and P. Teuwen. Differential computation ana- lysis : Hiding your white-box designs is not enough. In B. Gierlichs and A. Y. Po- schmann, editors, Cryptographic Hardware and Embedded Systems – CHES 2016, volume 9813 of Lecture Notes in Computer Science, pages 215–236, Santa Barbara, CA, USA, 2016. Springer, Heidelberg, Germany.

Stanley Chow, Phil Eisen, Harold Johnson, and Paul C Van Oorschot. A white- box des implementation for drm applications. In ACM Workshop on Digital Rights Management, pages 1–15. Springer Berlin Heidelberg, 2002.

Stanley Chow, Philip Eisen, Harold Johnson, and Paul C Van Oorschot. White- box cryptography and an aes implementation. In International Workshop on Selected Areas in Cryptography, pages 250–270. Springer Berlin Heidelberg, 2002.

Yoni De Mulder, Peter Roelse, and Bart Preneel. Cryptanalysis of the xiao–lai white-box aes implementation. In International Conference on Selected Areas in Cryptography, pages 34–49. Springer Berlin Heidelberg, 2012.

Yoni De Mulder, Brecht Wyseur, and Bart Preneel. Cryptanalysis of a perturba- ted white-box aes implementation. In International Conference on Cryptology in India, pages 292–310. Springer Berlin Heidelberg, 2010.

Louis Goubin, Jean-Michel Masereel, and Micha ̈el Quisquater. Cryptanalysis of white box des implementations. In International Workshop on Selected Areas in Cryptography, pages 278–295. Springer Berlin Heidelberg, 2007.

Tancr`ede Lepoint, Matthieu Rivain, Yoni De Mulder, Peter Roelse, and Bart Pre- neel. Two attacks on a white-box aes implementation. In International Conference on Selected Areas in Cryptography, pages 265–285. Springer Berlin Heidelberg, 2013.

Contributors Side-Channel Marvels. Side-channel marvels, sca-related projects. Available on https://github.com/SideChannelMarvels. Last accessed Novem- ber 2016.

Wil Michiels, Paul Gorissen, and Henk DL Hollmann. Cryptanalysis of a generic class of white-box implementations. In International Workshop on Selected Areas in Cryptography, pages 414–428. Springer Berlin Heidelberg, 2008.

Brecht Wyseur, Wil Michiels, Paul Gorissen, and Bart Preneel. Cryptanalysis of white-box des implementations with arbitrary external encodings. In Internatio- nal Workshop on Selected Areas in Cryptography, pages 264–277. Springer Berlin Heidelberg, 2007.