SEND
From Livre IPv6
Contents
SeND : SEcure Neighbor Discovery
Introduction
SeND (RFC 3971) est une version sécurisée de NDP (Neighbor Discovery Protocol, RFC 2461 et RFC 2462), le protocole de découverte de voisins d'IPv6.
Il est conseillé de connaitre un minimum ce protocole (voir Découverte de voisins) et posséder quelques notions de sécurité (voir Sécurité, Généralités) avant de lire ce chapitre.
Après un état des lieux des problèmes de sécurité lié à NDP (RFC 3756), les travaux ont commencés afin de répondre à chacune des menaces décrites dans ce document. IPSec avait été envisagé à l'époque de la conception de NDP pour sécuriser ce dernier, mais cela s'est révélé inapproprié en pratique.
La première innovation est l'utilisation de CGA (RFC 3972) pour Cryptographically Generated Addresses, qui permet de créer des identifiants d'interfaces à partir d'une clé publique.
Le deuxième mécanisme important de SEND est la possibilité de découvrir automatiquement un chemin de certification sur le réseau.
Une extension du protocole NDP
Le protocole SEND ajoute des fonctions de sécurité grace à l'ajout d'options au messages NDP.
Voici la structure de tels paquets :
<------------NDP Message----------------> *-------------------------------------------------------------* | IPv6 Header | ICMPv6 | ND Message- | ND Message | | Next Header = 58 | Header | specific | Options | | (ICMPv6) | | data | | *-------------------------------------------------------------* <--NDP Message header-->
L'option CGA permet de vérifier l'identité d'une machine émettrice d'un paquet NDP. Cette option contient entre autre la clé publique de la machine émettrice, dont la cohérence avec l'adresse source utilisée est vérifiée par la machine réceptrice.
L'option RSA contient une signature du paquet, calculée avec la clé privée de la machine émettrice. Le noeud recevant le paquet peut vérifier l'intégrité du paquet, grâce à la clé publique reçue conjointement ou précédemment.
Une option d'horodatage (Timestamp) est utilisée pour protéger NDP des attaques de type 'rejeu'.
Une option unicité (NOnce) est utilisée pour protéger les associations Demande/Réponse (Solicit/Advertisement) : une réponse NDP devra contenir la même valeur NOnce que la demande correspondante pour être valide.
Enfin deux options (Certicate Path Solicitation et Certificate Path Advertisement) sont utilisées afin de permettre la découverte automatique par une machine terminal d'un chemin de certification. Ce mécanisme permet à des machines utilisant l'auto configuration sans état (RFC 2462) de vérifier la légitimité d'un routeur et celle des préfixes publiés sur le lien auprès d'un tiers de confiance sur le réseau.