Formal analysis of security protocols:real-world case-studies and automated proof strategies
Analyse formelle de sécurité de protocoles: études de cas réelles et stratégies de preuve automatisées
Abstract
This thesis brings two kinds of contributions: the analysis of two protocols (the Android Protected confirmation and the LAKE-EDHOC protocols) and the improvement of the termination of the symbolic verification tool Tamarin. Analysis of the Android Protected Confirmation protocol. The Android Protected Confirmation protocol (or APC) is a protocol developed by Android and Google. It aims at leveraging the Trusted Execution Environment (TEE) present in most modern phones to improve the security of sensitive operations (for example bank transfer requests). We present a specification of this protocol based on the information available on the Android website. We expose two attacks on the protocol (the first during the registration phase and the second during the transaction phase of the protocol) that have been acknowledged by the Android Hardware-backed Security team. We also provided a proof of concept for the registration attack. Finally, we propose lightweight fixes and prove them in the UC framework. Analysis of the LAKE-EDHOC protocol. EDHOC (Ephemeral Diffie Hellman Over COSE) is a light-weight authentication protocol developed by the IETF's LAKE working group (Lightweight Authenticated Key Exchange) for IoT devices. In October 2021, they released version 12 of the draft and called for formal verification. In this thesis, we present an analysis in the symbolic framework (with the tool Sapic) of the versions 12 and 14 of the draft for the EDHOC protocol. We present attacks found on the version 12 of the draft. We also propose and prove fixes for these attacks. These fixes have been discussed and acknowledged by the LAKE working group and integrated in version 14 of the draft. The analysis of version 14 shows that the fixed protocol is secure. Improving the termination of Tamarin. Tamarin is a symbolic verification tool that proves security properties for an unbounded number of sessions. As the verification problem is undecidable, termination is not guaranteed. In this work, we propose some ways to improve Tamarin's termination in practice. First, we propose a new language for user-defined heuristics (tactics) and explore how its access to more parameters gives the user more control than the previous option (oracles). We also propose five self-adapting proof strategies to automatically guide the proofs while avoiding looping behaviors (in order to improve termination). We compare the results of these approaches with the current version of Tamarin and SmartVerif, an IA based approach that aims to guide Tamarin's proofs using reinforcement learning. This allows us to conclude that two of our approaches bring an improvement to the proof procedure of Tamarin.
Cette thèse présente deux types de contributions : l'analyse de deux protocoles (les protocoles Android Protected Confirmation et LAKE-EDHOC) et l'amélioration de la terminaison de preuve de l'outil de vérification symbolique Tamarin. Analyse du protocole Android Protected Confirmation. Le protocole Android Protected Confirmation (ou APC) est un protocole développé par Android et Google. Il vise à tirer parti de l'environnement d'exécution de confiance (TEE) présent dans la plupart des téléphones modernes pour améliorer la sécurité des opérations sensibles (par exemple les demandes de transfert bancaire). Nous présentons une spécification de ce protocole basée sur les informations disponibles sur le site web d'Android. Nous exposons deux attaques sur le protocole (la première pendant la phase d'enregistrement et la seconde pendant la phase de transaction du protocole) qui ont été reconnues par l'équipe Android Hardware-backed Security. Nous avons également fourni une preuve de concept pour l'attaque d'enregistrement. Enfin, nous proposons des correctifs légers et les prouvons dans le cadre de UC. Analyse du protocole LAKE-EDHOC. EDHOC (Ephemeral Diffie Hellman Over COSE) est un protocole d'authentification développé par le groupe de travail LAKE (Lightweight Authenticated Key Exchange) de l'IETF pour les appareils embarqués. En octobre 2021, le groupe a publié la version 12 du projet et a lanc un appel pour de la vérification formelle. Dans cette thèse, nous présentons une analyse dans le cadre symbolique (avec l'outil Sapic) des versions 12 et 14 du draft pour le protocole EDHOC. Nous présentons les attaques trouvées sur la version 12 du projet. Nous proposons et prouvons également des correctifs pour ces attaques. Ces corrections ont été discutées avec le groupe de travail LAKE et intégrées dans la version 14 du projet. L'analyse de la version 14 montre que le protocole corrigé est sûr. Amélioration de la terminaison de Tamarin. Tamarin est un outil de vérification symbolique qui prouve les propriétés de sécurité pour un nombre illimité de sessions. Comme le problème de vérification est indécidable, la terminaison n'est pas garantie. Dans ce travail, nous proposons quelques moyens d'améliorer la terminaison de Tamarin en pratique. Tout d'abord, nous proposons un nouveau langage pour les heuristiques définies par l'utilisateur (tactiques) et explorons comment son accès à plus de paramètres donne à l'utilisateur plus de contrôle que l'option précédente (oracles). Nous proposons également cinq stratégies de preuve auto-adaptatives pour guider automatiquement les preuves tout en évitant les comportements de boucle (afin d'améliorer la terminaison). Nous comparons les résultats de ces approches avec la version actuelle de Tamarin et SmartVerif, une approche basée sur l'IA qui vise à guider les preuves de Tamarin en utilisant l'apprentissage par renforcement. Ceci nous permet de conclure que deux de nos approches apportent une amélioration à la procédure de preuve de Tamarin.
| Origin | Files produced by the author(s) |
|---|---|
| Licence |