Analyse de la sécurité de la cryptographie asymétrique en boîte blanche

par Lucille Tordella

Projet de thèse en Mathématiques et informatique

Sous la direction de Sylvain Guilley.

Thèses en préparation à Paris Saclay , dans le cadre de École doctorale Sciences et technologies de l'information et de la communication (Orsay, Essonne) , en partenariat avec Laboratoire de Traitement et Communication de l'Information (laboratoire) et de Télécom ParisTech (établissement de préparation de la thèse) depuis le 01-01-2017 .


  • Résumé

    L'utilisation de la cryptographie s'est très fortement développée en raison de l'essor de la société de l'information. En effet, il est considéré comme très important de parvenir à protéger les informations privées, dans l'objectif de préserver une vie privée mais également le secret de certaines données stratégiques en affaires. Or, en parallèle, l'accès aux données se réalise désormais de plus en plus par le moyen d'un téléphone portable (smartphone), aussi bien dans le cadre de la vie privée que dans le cadre professionnel. D'ailleurs, il arrive que les deux usages se recoupent, ce que l'on désigne par le sigle BYOD (Bring Your Own Device) : le téléphone personnel sert également, au travail, pour les échanges de données professionnelles. La conception historique de la sécurité repose sur un concept de simplicité et de cloisonnement : des algorithmes cryptographiques (de chiffrement, de signature, etc.) sont implantés sans sophistication, et les clés sont confinées dans des ``coffres forts'' (typiquement appelés emph{secure elements}, tels des cartes à puce ou des Trusted Platform Modules). Les deux objectifs consistent à limiter le nombre de problèmes fonctionnels (bugs) et de protéger les secrets contre le vol. Par ailleurs, la cryptographie était jusqu'à récemment, considérée comme onéreuse (du point de vue de l'usage des ressources) et peu efficace (du point de vue des performances), ce qui justifiait que l'on recherche des solutions matérielles. Maintenant, le contexte a complètement changé. Un smartphone est une plateforme d'exécution très complexe, qui est ouverte sur plusieurs réseaux, qui dispose de nombreux périphériques, et qui exécute plusieurs processus en parallèle. On parle d'environnement d'exécution ``riche'', qui présente donc une grande surface d'attaque. Comment donc, dans ces conditions de grande ouverte et de grande interaction, exécuter en toute sécurité des applications cryptographiques et sauver leurs clés de façon non-violable ? Un premier élément de réponse a été la mise en place d'une TEE (Trusted Execution Environment). Il s'agit d'une architecture logicielle et matérielle qui permet d'isoler l'exécution d'un code sensible, évitant par là même le vol des secrets et les attaques qui viseraient à interférer avec la bonne exécution du programme à protéger. Cependant, en pratique, les fabricants de téléphones portables, s'ils implémentent effectivement une TEE, la réserve bien souvent pour leur propre sécurité. Cette fonctionnalité n'est donc pas toujours disponible à un développeur d'application. C'est pour cette raison que la cryptographie en boîte blanche (emph{White Box Cryptography}, ou WBC) a récemment connu un regain d'intérêt. La WBC a été inventée initialement~cite{DBLP:conf/ccs/ChowEJO02,DBLP:conf/sacrypt/ChowEJO02} pour dissimuler une clé dans un code emph{sciemment obfusqué}footnote{L'obfuscation~cite{DBLP:journals/ieeesp/BeunardeauCGN16a} est une technique qui permet de rendre difficile sinon pas du tout l'intelligibilité d'un code informatique. Nous utiliserons parfois également le terme un peu moins fort d'obscurcissement --- signifiant ici simplement qu'une analyse humaine est rendue pénible mais pas impossible.}, lorsque l'utilisateur devient l'attaquant, et est donc en mesure d'espionner pas par pas l'exécution et l'utilisation des ressources d'un programme cryptographique. Aujourd'hui, la WBC est l'élément de confiance (emph{root of trust}) dans des applications telles que les DRM (emph{Digital Rights Management}) ou le paiement mobile permis par l'usage d'une HCE (emph{Host Card Emulation}). L'idée est que le code cryptographique est protégé contre les attaques par la complexité de son obfuscation, tandis que le secret des clés cryptographiques est garanti par son mélange inextricable avec le code exécuté. Maintenant, s'il est connu qu'il n'existe pas de méthode d'obfuscation universelle, il reste néanmoins une question à élucider : quel est le réel niveau de sécurité (quantitatif) apporté par une solution WBC ? En effet, certains schémas ont été cryptanalysés. De plus, de récentes attaques ont été publiées sur des implémentations de WBC. Contrairement aux attaques classiques (rétro-conception, code lifting, cryptanalyse, etc.), qui ciblent frontalement le mode de protection (analyse formelle du code pour en réaliser une désobfuscation automatique, une analyse statique, etc.), les attaques récentes sont en fait inspirées d'attaques en boîte grise. En effet, l'attaquant va résumer une partie de l'information obtenue par une trace dynamique : ainsi, seule une partie de l'information (par exemple, un poids de Hamming) est exploitée. Ainsi, il est intéressant de noter que ce sont des voies d'attaque connues et qui proviennent d'un autre domaine. Typiquement, WBC est vulnérable aux attaques de type perturbation et canal caché. Il en ressort donc deux questions : (i) existe-t-il d'autres attaques que celles de l'état de l'art contre la WBC ? (ii) comment protéger efficacement et de façon prouvable un programme

  • Titre traduit

    Security analysis of white box asymmetrical cryptography


  • Résumé

    The thesis is concerned with white-box cryptography (WBC) for asymmetrical cryptography. The two questions this thesis will tackle are: (i) what are the attacks on WBC? (ii) how to protect efficiently and provably a program, typically an asymmetrical algorithm?