Analyse des protocoles cryptographiques par les fonctions témoins

Les protocoles cryptographiques constituent le coeur de la sécurité dans les communications de tous genres. Ils assurent l’authentification des agents, la confidentialité des données, leur intégrité, l’atomicité des biens et de l’argent, la non-répudiation, etc. Ils sont utilisés dans tous les domai...

Full description

Bibliographic Details
Main Author: Fattahi, Jaouhar
Other Authors: Mejri, Mohamed
Format: Doctoral Thesis
Language:French
Published: Université Laval 2016
Subjects:
Online Access:http://hdl.handle.net/20.500.11794/26678
Description
Summary:Les protocoles cryptographiques constituent le coeur de la sécurité dans les communications de tous genres. Ils assurent l’authentification des agents, la confidentialité des données, leur intégrité, l’atomicité des biens et de l’argent, la non-répudiation, etc. Ils sont utilisés dans tous les domaines : le commerce électronique, le domaine militaire, le vote électronique, etc. L’utilisation de la cryptographie est essentielle pour assurer la sécurité d’un protocole, mais elle n’est pas suffisante. En effet, on rapporte un nombre important de protocoles qui ont été longtemps considérés sécuritaires, mais qui se sont avérés défaillants avec le l’usage. Dire qu’un protocole est correct ou non est un problème nondécidable en général. Cependant, plusieurs méthodes (basées sur les logiques, sur le Model-Checking ou sur le typage, etc.) ont vu le jour pour répondre à cette question sous des hypothèses restrictives et ont abouti à des résultats variables. Dans cette thèse, nous suggérons une méthode semi-décidable d’analyse des protocoles cryptographiques pour la propriété de confidentialité. Elle se base sur une intuition : "Un protocole croissant est correct". Nous validons cette intuition et nous proposons le théorème fondamental de correction des protocoles croissants sous des conditions minimales. Ensuite nous proposons une famille de fonctions témoins ayant les propriétés requises pour certifier qu’un protocole est correct. Nous validons enfin notre méthode sur des protocoles communs. === Cryptographic protocols are the fundament of security in all communications. They allow agents’ authentication, data confidentiality, data integrity, atomicity of goods, atomicity of money, nonrepudiation, etc. They are used in all areas: e-commerce, military fields, electronic voting, etc. The use of cryptography is essential to ensure the protocol security, but it is not sufficient. Indeed, we report a significant number of cryptographic protocols that had long been considered safe, but have been proven faulty with usage. Saying that a protocol is correct or not is an undecidable problem in general. However, several methods (logic-based methods, Model-Checking-based methods, typing-based methods, etc.) have emerged to address this question under restrictive assumptions and led to varying results. In this thesis, we suggest a semi-decidable method for analyzing cryptographic protocols for secrecy. It is based on an intuition: "An increasing protocol is correct". We formally validate this intuition, and we state the fundamental theorem of correctness of increasing protocols under few conditions. Then, we propose a safe way to build a family of reliable functions that we call the witness-functions, to certify protocol’s correctness. Finally, we validate our method on common protocols.