Conception et analyse d`un algorithme asymétrique de

publicité
Conception et analyse d’un algorithme asymétrique
de cryptographie boîte blanche
1
Thématiques
Cryptologie, compilation.
2
Laboratoire
Secure-IC S.A.S., une PME de 35 personnes, basée à Paris (14ème arrondissement).
Le stage se déroule dans l’équipe « Thought Leadership », en charge de la R&D de la société.
3
Nom et adresse électronique du directeur de stage
Sylvain GUILLEY, X97. [email protected]
4
Nom et adresse électronique du directeur du laboratoire
Sylvain GUILLEY, X97. [email protected]
5
Présentation générale du domaine
Un algorithme cryptographique utilise des secrets. Par exemple, RSA ou les corps elliptiques
permettent de réaliser une signature digitale ou un déchiffrement grâce à une clé privée. Il est bien
sûr nécessaire de protéger cette clé. Or, dans certains contextes, il n’existe aucun endroit dans la
plateforme pour la stocker de façon sécurisée. Il est donc nécessaire de l’enfouir dans le programme
de signature digitale (ou de déchiffrement). Cependant, la tâche paraît complexe, car un attaquant
peut décompiler le programme, puis l’analyser « pas par pas » à l’aide d’un dévermineur.
1
6
Objectif du stage
Dans ce stage, nous étudierons la possibilité d’implémenter un algorithme cryptographique asymétrique (e.g., RSA, ECC) de façon « boîte blanche ». Ce travail n’est a priori pas évident,
car la plupart des implémentation boîte blanche de la cryptographie symétrique ont été cassées [WMGP07]. En effet, la pratique courante est de dissimuler les clés dans des tables apparemment aléatoires, mais qui révèlent, par combinaison, la valeur des translations appliquées (qui
dépendent directement des clés que l’on souhaite cacher).
Des notions formelles de sécurité ont été établies [SWP09]. Néanmoins, il se trouve que cet
effort n’est pas suffisant, du moins dans la cas de la cryptographie symétrique. Effectivement, un
article récent a démontré qu’il est possible d’extraire la plupart des clés grâce à une analyse non
pas seulement des données, mais aussi des adresses [BHMT16].
La quasi-totalité des efforts actuels de la communauté cryptologique en terme de protection et
d’attaque a été déployé pour la cryptographique symétrique (DES, AES, etc.). Or il y a aussi un
besoin de « whiteboxer » des algorithmes cryptographiques asymétriques.
L’objectif du stage est de spécifier une façon de protéger l’algorithme RSA, puis d’analyser sa
sécurité. Un effort particulier sera porté sur l’optimisation en vitesse d’exécution de l’algorithme
RSA boîte blanche.
7
Compétences espérées
Programmation C/C++, compilation (GCC), debug (GDB).
Références
[BHMT16] Joppe W. Bos, Charles Hubain, Wil Michiels, and Philippe Teuwen. Differential Computation Analysis : Hiding Your White-Box Designs is Not Enough. In Benedikt Gierlichs and Axel Y. Poschmann, editors, Cryptographic Hardware and Embedded Systems
- CHES 2016 - 18th International Conference, Santa Barbara, CA, USA, August 17-19,
2016, Proceedings, volume 9813 of Lecture Notes in Computer Science, pages 215–236.
Springer, 2016.
[SWP09]
Amitabh Saxena, Brecht Wyseur, and Bart Preneel. Towards Security Notions for
White-Box Cryptography. In Pierangela Samarati, Moti Yung, Fabio Martinelli, and
Claudio Agostino Ardagna, editors, ISC, volume 5735 of Lecture Notes in Computer
Science, pages 49–58. Springer, 2009.
[WMGP07] Brecht Wyseur, Wil Michiels, Paul Gorissen, and Bart Preneel. Cryptanalysis of WhiteBox DES Implementations with Arbitrary External Encodings. In Selected Areas in
Cryptography, 14th International Workshop, SAC 2007, volume 4876 of LNCS, pages
264–277. Springer, 2007.
2
Téléchargement