SEND

From Livre IPv6

Revision as of 17:09, 22 June 2006 by Laurent Clevy (Talk | contribs) (Une extension du protocole NDP)

SeND : SEcure Neighbor Discovery

Introduction

SeND (RFC 3971) est une version sécurisée de NDP (Neighbor Discovery Protocol), le protocole de découverte des voisins d'IPv6.

Après un état des lieux des problèmes de sécurité lié à l'usage de NDP (RFC 3756), les travaux ont commencés afin de répondre à chacune des menaces décrites dans ce document.

Le premier mécanisme utilisé est CGA (RFC 3972) pour Cryptographically Generated Addresses, qui permet de créer des identifiants d'interfaces à partir d'une clé publique.

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.

Adresses CGA

Signature RSA

Options horodatage et 'NOnce'

Découverte dynamique du chemin de certification

Implementations connues

  • Docomo (mai 2006, implémentation complète sous license GPL, [1] )
  • Alcatel (septembre 2005, implémentation des options CGA et RSA, [2])
Personal tools