Utilisation d’identifiants cryptographiques pour la sécurisation IPv6

La composition du jury est la suivante :  Jean-Marie Bonnin, Professeur HDR, Telecom Bretagne, France (Rapporteur) ; César Viho, Professeur HDR, IRISA, France (Rapporteur) ; Sébastien Tixeuil, Professeur HDR, Université Pierre et Marie Curie, France (Examinateur) ; Anas Abou El Kalam, Professeur HDR, ENSA de Marrakech, Maroc (Examinateur) ; Mohsen Souissi, Docteur, AFNIC, France (Examinateur) ; Maryline Laurent, Professeur HDR, Télécom SudParis, France (Directrice de thèse).

IPv6, protocole succédant à IPv4, est en cours de déploiement dans l’Internet. Il repose fortement sur le mécanisme Neighbor Discovery Protocol (NDP). Celui-ci permet non seulement à deux noeuds IPv6 de pouvoir communiquer, à l’instar du mécanisme Address Resolution Protocol (ARP) en IPv4, mais il apporte aussi de nouvelles fonctionnalités, telles que l’autoconfiguration d’adresse IPv6. Aussi, sa sécurisation pour le bon fonctionnement de l’Internet en IPv6 est critique. Son mécanisme de sécurité standardisée à l’Internet Engineering Task Force (IETF) se nomme Secure Neighbor Discovery (SEND). Il s’appuie à la fois sur l’utilisation d’identifiants cryptographiques, adresses IPv6 appelées Cryptographically Generated Addresses (CGA) et qui sont générées à partir d’une paire de clés publique/privée, et de certificats électroniques X.509.

L’objet de cette thèse est l’étude de ces identifiants cryptographiques, les adresses CGA, ainsi que le mécanisme SEND les employant, et leurs réutilisations potentielles pour la sécurisation IPv6.

Dans une première partie de cette thèse, tout d’abord, nous posons l’état de l’art. Aussi, nous rappelons les principales caractéristiques du protocole IPv6 et en particulier son adressage qui inclut les adresses CGA. Ensuite, nous détaillons le mécanisme NDP et son utilisation pour l’autoconfiguration d’adresses IPv6. Enfin, nous rappelons le mécanisme de mobilité des noeuds IPv6, Mobile IPv6 (MIPv6).

Dans une deuxième partie de cette thèse, nous nous intéressons à la fiabilité du principal mécanisme connu employant les adresses CGA, le mécanisme SEND. En premier lieu, nous décrivons les failles de sécurité du mécanisme NDP et présentons le mécanisme SEND. Ensuite, nous analysons les limites de ce mécanisme, ainsi que des adresses CGA, et nous proposons des améliorations pour y pallier.

Dans une troisième et dernière partie de cette thèse, nous présentons des utilisations des identifiants cryptographiques pour la sécurisation IPv6. Dans un premier temps, nous abordons la problématique de la lutte contre l’usurpation d’adresses IP source. Nous rappelons les menaces et les techniques existantes aujourd’hui, dont leurs limites, ne pouvant que les atténuer. Alors, nous décrivons les solutions Source Address Validation Improvements (SAVI), sur lesquelles nous avons contribué, qui permettent une amélioration de la protection contre l’usurpation d’adresses IP source et qui reposent, entre autres, sur l’utilisation des mécanismes NDP et SEND. Dans un deuxième temps, nous abordons la sécurisation au niveau de la couche IPv6 grâce à IPsec et en particulier au mécanisme Internet Key Exchange version 2 (IKEv2) qui permet la configuration dynamique des connexions IPsec.

Ce mécanisme emploie des méthodes d’authentification ayant certaines limites. Nous décrivons alors une méthode alternative reposant sur l’emploi des adresses CGA ainsi que son implémentation. Nous présentons finalement un cas concret d’utilisation dans le contexte de MIPv6.

Dans un dernier temps, nous nous intéressons à la sécurisation de la mise à jour dynamique de l’architecture Domain Name System (DNS). Nous montrons que celle-ci souffre de limites, en particulier dans un contexte d’autoconfiguration d’adresses IPv6, et nous proposons une nouvelle solution de sécurité y remédiant. Cette dernière est basée sur deux types d’identifiants cryptographiques : l’Identity-Based Cryptography (IBC), où la partie publique d’une paire de clés publique/privée est l’identité, et les adresses CGA. Nous décrivons finalement comment nous avons implémenté cette solution.