Thèse soutenue

Implémentations sécurisées de chiffrement par bloc contre les attaques physiques

FR  |  
EN
Auteur / Autrice : Dahmun Goudarzi
Direction : Damien VergnaudMatthieu Rivain
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 21/09/2018
Etablissement(s) : Paris Sciences et Lettres (ComUE)
Ecole(s) doctorale(s) : École doctorale Sciences mathématiques de Paris centre
Partenaire(s) de recherche : Laboratoire : École normale supérieure (Paris ; 1985-....). Département d'informatique
Établissement de préparation de la thèse : École normale supérieure (Paris ; 1985-....)
Jury : Président / Présidente : David Pointcheval
Examinateurs / Examinatrices : Damien Vergnaud, Matthieu Rivain, David Pointcheval, Pierre-Alain Fouque, Peter Schwabe, Anne Canteaut, Helena Handschuh, Guénaël Renault
Rapporteurs / Rapporteuses : Pierre-Alain Fouque, Peter Schwabe

Mots clés

FR  |  
EN

Résumé

FR  |  
EN

Depuis leur introduction à la fin des années 1990, les attaques par canaux auxiliaires sont considérées comme une menace majeure contre les implémentations cryptographiques. Parmi les stratégies de protection existantes, une des plus utilisées est le masquage d’ordre supérieur. Elle consiste à séparer chaque variable interne du calcul cryptographique en plusieurs variables aléatoires. Néanmoins, l’utilisation de cette protection entraîne des pertes d’efficacité considérables, la rendant souvent impraticable pour des produits industriels. Cette thèse a pour objectif de réduire l’écart entre les solutions théoriques, prouvées sûres, et les implémentations efficaces déployables sur des systèmes embarqués. Plus particulièrement, nous nous intéressons à la protection de chiffrement par bloc tel que l’AES, dont l’enjeu principal revient à protéger les boîtes-s avec un surcoût minimal. Nous essayons d’abord de trouver des représentations mathématiques optimales pour l’évaluation des boîtes-s en minimisant le nombre de multiplications (un paramètre déterminant pour l’efficacité du masquage, mais aussi pour le chiffrement homomorphe). Pour cela, nous définissons une méthode générique pour décomposer n’importe quelle fonction sur un corps fini avec une complexité multiplicative faible. Ces représentations peuvent alors être évaluées efficacement avec du masquage d’ordre supérieur. La flexibilité de la méthode de décomposition permet également de l’ajuster facilement selon les nécessités du développeur. Nous proposons ensuite une méthode formelle pour déterminer la sécurité d’un circuit évaluant des schémas de masquages. Cette technique permet notamment de déterminer de manière exacte si une attaque est possible sur un circuit protégé ou non. Par rapport aux autres outils existants, son temps de réponse n’explose pas en la taille du circuit, ce qui permet d’obtenir une preuve de sécurité quelque soit l’ordre de masquage employé. De plus, elle permet de diminuer de manière stricte l’emploi d’outils coûteux en aléas, requis pour renforcer la sécurité des opérations de masquages. Enfin, nous présentons des résultats d’implémentation en proposant des optimisations tant sur le plan algorithmique que sur celui de la programmation. Nous utilisons notamment une stratégie d’implémentation bitslice pour évaluer les boîtes-s en parallèle. Cette stratégie nous permet d’atteindre des records de rapidité pour des implémentations d’ordres élevés. Les différents codes sont développés et optimisés en assembleur ARM, un des langages les plus répandus dans les systèmes embarqués tels que les cartes à puces et les téléphones mobiles. Ces implémentations sont, en outre, disponibles en ligne pour une utilisation publique.