Vérification d'implémentations constant-time dans une chaîne de compilation vérifiée (Verifying constant-time implementations in a verified compilation toolchain) | ||
Trieu, Alix - (2018-12-04) / Universite de Rennes 1 - Vérification d'implémentations constant-time dans une chaîne de compilation vérifiée Langue : Anglais Directeur de thèse: Blazy, Sandrine; Pichardie, David Laboratoire : IRISA Ecole Doctorale : MATHSTIC Thématique : Informatique | ||
Mots-clés : Vérification formelle, compilation, canaux cachés, Coq, CompCert, Verasco, constant-time, analyse statique, Logiciels -- Vérification Résumé : Les attaques par canaux cachés sont une forme d'attaque particulièrement dangereuse. Dans cette thèse, nous nous intéressons au canal caché temporel. Un programme est dit ''constant-time'' lorsqu'il n'est pas vulnérable aux attaques par canal caché temporel. Nous présentons dans ce manuscrit deux méthodes reposant sur l'analyse statique afin de s'assurer qu'un programme est constant-time. Ces méthodes se placent dans le cadre de vérification formelle afin d'obtenir le plus haut niveau d'assurance possible en s'appuyant sur une chaîne de compilation vérifiée composée du compilateur CompCert et de l'analyseur statique Verasco. Nous proposons aussi une méthode de preuve afin de s'assurer qu'un compilateur préserve la propriété de constant-time lors de la compilation d'un programme. Résumé (anglais) : Side-channel attacks are an especially dangerous form of attack. In this thesis, we focus on the timing side-channel. A program is said to be constant-time if it is not vulnerable to timing attacks. We present in this thesis two methods relying on static analysis in order to ensure that a program is constant-time. These methods use formal verification in order to gain the highest possible level of assurance by relying on a verified compilation toolchain made up of the CompCert compiler and the Verasco static analyzer. We also propose a proof methodology in order to ensure that a compiler preserves constant-time security during compilation. Identifiant : rennes1-ori-wf-1-11669 |
Exporter au format XML |