Conception de schémas de chiffrement boîte blanche pour la sécurité des applications mobiles
Auteur / Autrice : | Sandra Rasoamiaramanana |
Direction : | Marine Minier |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 12/06/2020 |
Etablissement(s) : | Université de Lorraine |
Ecole(s) doctorale(s) : | École doctorale IAEM Lorraine - Informatique, Automatique, Électronique - Électrotechnique, Mathématiques de Lorraine (1992-....) |
Partenaire(s) de recherche : | Laboratoire : Laboratoire lorrain de recherche en informatique et ses applications |
Jury : | Président / Présidente : Véronique Cortier |
Examinateurs / Examinatrices : Marine Minier, Caroline Fontaine, Louis Goubin, Gilles Macario-Rat, Brice Minaud | |
Rapporteurs / Rapporteuses : Caroline Fontaine, Louis Goubin |
Mots clés
Résumé
Aujourd'hui les équipements mobiles font partie intégrante de nos vies avec le développement des applications. En plus des téléphones intelligents, d'autres équipements comme les objets connectés peuvent avoir à manipuler des données qui doivent rester secrètes. Par exemple, l'authentification d'un objet connecté dans un réseau nécessite l'existence d'un "secret" détenu par l'objet. Dans le cas des applications mobiles, l'apparition des applications de paiement permettant un paiement sans contact à partir du téléphone ou encore les applications bancaires pose de sérieux enjeux de sécurité. Le besoin de sécurisation des applications est ainsi primordial à la fois pour un utilisateur désireux d'accéder à un service sans risquer ses biens mais aussi pour les fournisseurs de services qui y ont un intérêt financier. Ainsi, la cryptographie est utilisée pour protéger ces diverses applications mobiles. Dans ce contexte, on souhaite répondre à ce besoin avec une approche à la fois logicielle et matérielle pour sécuriser la cryptographie sur des plateformes ouvertes et exposées. Le but de cette thèse est de vérifier la sécurité des implémentations logicielles d’algorithmes cryptographiques dans le modèle boîte blanche et de proposer des techniques permettant de renforcer cette sécurité dans un environnement mobile. Le modèle boîte blanche s’oppose au modèle boîte noire traditionnel et décrit un contexte dans lequel un attaquant contrôle l'environnement d’exécution et a accès aux implémentations logicielles. Une fois qu'une clé secrète est révélée, la sécurité du schéma de chiffrement n’est plus valable. Dans ce contexte, la dernière ligne de défense est l’implémentation elle-même : la clé secrète est cachée dans le code de manière à ce qu’elle ne puisse être ni identifiée, ni extraite. De nombreuses études ont été menées sur la cryptographie en boîte blanche et ont abouti à des propositions d’implémentations d’algorithmes standardisés tels que le DES (Data Encryption Standard) ou l’AES (Advanced Encryption Standard). Ces algorithmes intéressent particulièrement du fait de leur large déploiement. Malheureusement ces propositions ont révélé des vulnérabilités et ne garantissent pas la confidentialité de la clé secrète. Dans cette thèse, nous nous intéressons premièrement aux raisons pour lesquelles toutes les propositions d’implémentations ne permettent pas de "cacher" suffisamment la clé secrète. Nous ferons une étude détaillée des techniques utilisées ainsi que des attaques possibles. Deuxièmement, nous proposons des techniques nouvelles permettant de contrecarrer ces attaques et étudions le coût de ces techniques en termes de taille et de performance de code. Une autre approche en cryptographie en boîte blanche est de concevoir des algorithmes dont on peut prouver la résistance à l’extraction de clé. Cette nouvelle approche implique de proposer des notions de sécurité adaptées au modèle boîte blanche. En particulier, le problème principal est de garantir que l’implémentation ne puisse être copiée et exécutée dans un autre environnement. Cette attaque appelée "code lifting" (copie de code) est équivalent à extraire la clé secrète. Une solution proposée dans la littérature est d’augmenter la taille du code afin d’augmenter la complexité en espace de l’attaque. Nous proposons une solution à ce problème en définissant un schéma de chiffrement que l’on peut implémenter en boîte blanche et qui utilise un dispositif physique appelé Physically Unclonable Function (PUF). Une PUF désigne un dispositif physique présentant des caractéristiques uniques et inclonables permettant de l’identifier. Ainsi, une PUF peut être vue comme l’empreinte (au sens biométrique) d’un appareil. Ce dispositif sera utilisé dans notre schéma comme moyen d’identifier l’environnement d’exécution d’un algorithme cryptographique et permettra de générer une clé spécifique à un appareil donné.