• Aucun résultat trouvé

Méthodes basées sur les logiques

2.11 Méthodes semi-décidables

2.11.1 Méthodes basées sur les logiques

Les méthodes se basant sur les logiques sont des approches qui utilisent des logiques modales en consi- dérant les protocoles comme un algorithme distribué qui utilise des croyances et des connaissances évolutives. Ces logiques consistent en des langages formels capables de représenter les croyances et les connaissances des agents dans un protocole. L’objectif d’une telle analyse est de dériver un état représentant l’état correct du protocole et d’exhiber une preuve formelle de sa correction par rapport aux propriétés de sécurité qu’il doit assurer.

L’une des logiques les plus connues est la logique BAN [147–149] proposée par M. Burrows, M. Abadi et R. Needham en 1989 comme une méthode d’analyse des protocoles pour la propriété d’au- thentification. Elle permet de décrire les croyances des intervenants de confiance impliqués dans un protocole d’authentification, suivre l’évolution de ces croyances pendant la communication et trouver des failles de sécurité possibles. La logique BAN obéit au schéma suivant :

• P , Q et R désignent les participants dans le protocole ; • X et Y désignent les aléas ;

• K désigne les clés ;

• P |= X désigne que P agit en supposant que X est vrai et se lit P croit X ; • P  X exprime que P envoie X et se lit P dit X ;

• P ↔ Q désigne que P et Q partagent une clé valide k de K ;k • P / X désigne que P reçoit X et se lit P voit X.

Le raisonnement dans la logique BAN s’effectue à travers des règles sémantiques. Par exemple, la règle suivante :

P |= P ↔ Q, P / {X}k k P |= Q  X

désigne que : si P croit en la clé k partagée avec Q et que P voit un message X encrypté avec la clé k, alors P croit que Q dit X. Pour vérifier un protocole, on doit d’abord transformer le protocole en formules logiques, ensuite donner les hypothèses initiales contenant les croyances des différents par- ticipants à l’initiation d’une session d’exécution du protocole, enfin, on attache les formules logiques à chaque étape du protocole et on dégage les nouvelles croyances de chaque participant en s’appuyant sur les règles de déduction. Notons aussi que les règles de déductions dépendent des hypothèses sur

les primitives utilisées dans le protocole, comme par exemple l’hypothèse que le chiffrement est par- fait, ou qu’il contient des propriétés algébriques.

Le succès qu’a eu la logique BAN dans l’analyse des protocoles et sa rigueur ont donné naissance à d’autres logiques dérivées qui en constituent des extensions [150–154].

Cependant, à partir du milieu des années 1990, des analyses menées avec des méthodes utilisant le Model-Checking (sous l’hypothèse du chiffrement parfait) sur des protocoles cryptographiques connus et ayant été préalablement "prouvés" corrects avec la logique BAN et des formalismes liés, ont montré des failles importantes dans ces protocoles. La cause principale est que la logique BAN idéalise un message [155,156] et opère sur une abstraction non réaliste du protocole au lieu de consi- dérer les particularités de ses traces d’exécution réelles. Cela a conduit à l’abandon de cette logique au profit des méthodes de preuves du Model-Checking.

Jonathan K. Millen propose un système écrit en Prolog nommé Interrogator [157–159] qui permet de spécifier et analyser les protocoles. La vérification s’effectue en procédant à une recherche exhaustive sur l’espace d’états pour retrouver les failles. Interrogator propose également une approche de réso- lution d’équations dans la théorie équationnelle. Blanchet [160,161] a développé l’outil ProVerif, un vérificateur de protocole à base des clauses de Horn [162] utilisées essentiellement dans les systèmes experts. Les auteurs déclarent que cet outil peut gérer différentes primitives cryptographiques, dans plusieurs théories équationnelles, pour un nombre illimité de sessions, et pour plusieurs propriétés de sécurité (confidentialité, authentification, confidentialité forte).

Kamel Adi [163] propose un mode de raisonnement qui permet d’évaluer les comportements possibles de l’intrus. Un tel mode de raisonnement consiste en un modèle d’attaques multi-sessions. Il prouve que ce modèle est approprié pour construire des scénarios d’attaques mais aussi pour construire des stratégies de protection contre les attaques pour les propriétés de confidentialité et d’authentification.

Catherine Meadows [164–168] propose l’analyseur de protocole NRL, un outil de vérification écrit en Prolog et utilisant des techniques de réécriture pour l’analyse des protocoles cryptographiques pour la propriété d’authentification et la distribution des clés dans un réseau.

David A. Basin, Carlos Caleiro, Jaime Ramos et Luca Vigan [169] ont utilisé la logique temporelle distribuée DTL [170]. Cette logique est expressive et est adaptée à la formalisation des propriétés des systèmes concurrents [171]. Ils ont montré que cette logique peut être utilisée comme une métalogique de raisonnement sur différents modèles de protocoles de sécurité. Cela comprend aussi des simplifi-

cations au niveau des modèles qu’ils ont transformés pour avoir moins d’agents et de comportements. Puis, ils ont présenté trois exemples concrets de métaraisonnement. Ils ont prouvé un théorème général établissant des conditions suffisantes pour que les données restent secrètes pendant la communication. Ensuite, ils ont montré l’équivalence des modèles pour garantir l’origine d’un message. Les exemples présentés dans cette publication sont néanmoins trop simples pour refléter la vraie complexité de l’ap- proche et de son utilisation sur des protocoles de la vie courante.

Dans [172], Dawn Xiaodong Song, Sergey Berezin et Adrian Perrig ont proposé l’outil Athena pour analyser les protocoles cryptographiques. Athena est essentiellement un prouveur de théorème qui utilise des techniques du Model-Checking. Les preuves sont généralement exprimées à l’aide des méthodes (fonctions) d’inférence de haut niveau : égalité, implication, induction, contradiction, abs- traction, spécialisation, etc. Cet outil englobe un ensemble d’algorithmes de résolution et accepte des logiques variées (logique de premier ordre, logique d’ordre supérieur, etc.). Les auteurs exhibent une vérification réussie sur le protocole de Needham-Schroeder par cet outil. Athena est capable d’intégrer des modèles de représentation de connaissances personnalisés et de créer des vérifieurs dédiés dans ces modèles [173].

Kamel Adi et al. dans [174] a proposé une logique modale, compacte et expressive qu’il nomme la logique ADM et qui permet initialement la spécification des propriétés classiques de sécurité (authen- tification, la confidentialité et l’intégrité), mais également des propriétés de commerce électronique (non-répudiation, l’anonymat, l’atomicité des biens, l’atomicité de l’argent, la livraison certifiée, etc.). Cette logique est dotée d’un système tabulaire de preuves qui définit un environnement modulaire de sémantique dénotationnelle. Ben Ghorbel et al. dans [175,176] ont construit un prototype en java nommé GTM basé sur cette logique. Un tel prototype s’est avéré efficace dans la détection de plusieurs attaques sur le protocole TCP-IP. Cette logique a été étendue par Talbi et al. dans [177] pour traiter des propriétés des protocoles du vote électronique telles que l’anonymat qui est spécifiée comme une propriété de confidentialité dans cette logique, sous l’hypothèse du chiffrement homomorphique.