Contribution pour l’analyse des attaques par canaux auxiliaires et les preuves de sécurité
Publié le lundi 27 janvier 2014
Habilitation à Diriger les Recherches (HDR) soutenue par Emmanuel Prouff, du laboratoire sécurité des composants de l’ANSSI, le 27 janvier 2014.
Jury :
- Pierre-Alain Fouque (Rapporteur)
- Marc Joye (Rapporteur)
- Jean-Jacques Quisquater (Rapporteur)
- Ingird Verbauwhede (Rapportrice)
- Jean-Claude Bajard (Examinateur)
- Claude Carlet (Examinateur)
- Jean-Sébastien Coron (Examinateur)
- Henri Gilbert (Examinateur)
- David Pointcheval (Examinateur)
- Nigel Smart (Examinateur)
Résumé :
Dans ce mémoire, j’ai délibérément fait le choix de ne pas aborder le problème de la sécurité matérielle du point de vue des grandes familles d’algorithmes cryptographiques mais de celui des opérations élémentaires impliquées dans ces calculs (e.g. additions booléennes et arithmétiques, évaluation de fonctions sur des corps de petites dimensions, etc.). En effet, la définition d’une attaque par canaux auxiliaires, tout comme celle des contremesures, dépend principalement de ces opérations élémentaires et très peu de l’architecture générale de l’algorithme.
Dans un premier chapitre, une présentation générale des attaques par canaux auxiliaires est faite. Ce chapitre se base fortement sur les articles de journaux que j’ai publié avec Julien Doget, Guillaume Dabosville, Matthieu Rivain et François-Xavier Standaert. Ces travaux s’insèrent dans une démarche globale de définition d’un schéma général permettant de comparer les attaques par observations entre elles et d’introduire des notions de complexité et d’optimalité d’attaque qui soient pertinentes dans le contexte de la sécurité embarquée. Les concepts exposés dans ces articles ont par ailleurs été utilisés pour mettre en évidence des failles dans certaines contremesures proposées dans la littérature et pour proposer des cryptanalyses exploitant au mieux ces failles pour retrouver les paramètres secrets de l’algorithme.
Dans un second chapitre, un ensemble de contre-mesures aux attaques par canaux auxiliaires est présenté, ainsi que des méthodes d’évaluation du niveau de sécurité apporté. Ces contre-mesures ont principalement été appliquées pour protéger des implantations d’algorithmes de chiffrement par blocs. De par leur généricité, elles pourraient cependant être aussi appliquées à n’importe quel algorithme cryptographique. Les preuves de sécurité présentées dans ce chapitre s’inspirent principalement des travaux de Micali et Reyzin (pour la modélisation) et de Ishai, Sahai et Wagner (pour la technique de preuve). Ils retracent principalement la série de travaux menés avec Laurie Genelle et Michael Quisquater sur le masquage multiplicatif et les travaux menés avec Matthieu Rivain et Thomas Roche sur le masquage des fonctions non-linéaires.
Dans un troisième chapitre enfin, je présente un certain nombre de sujets ouverts pour des futurs travaux de recherche dans le domaine de la