Aller au contenu principal

1. Introduction

1. Introduction

1.1. Rationale

Les extensions de sécurité DNS (DNS Security Extensions) ont introduit le RR NSEC pour fournir un déni d'existence authentifié. Bien que le RR NSEC réponde aux exigences du déni d'existence authentifié, il introduit un effet de bord : le contenu d'une zone peut être énuméré. Cette propriété pose des problèmes de politique indésirables.

L'énumération est rendue possible par l'ensemble des enregistrements NSEC présents dans une zone signée. Un enregistrement NSEC liste deux noms ordonnés canoniquement afin d'indiquer qu'il n'existe rien entre ces deux noms. L'ensemble complet des enregistrements NSEC liste tous les noms d'une zone. Il est trivial d'énumérer le contenu d'une zone en interrogeant des noms inexistants.

Une zone énumérée peut servir, par exemple, de source d'adresses e-mail probables pour le pourriel, ou de clé pour de multiples requêtes WHOIS révélant des données d'enregistrant que de nombreux registres ont l'obligation légale de protéger. Beaucoup de registres interdisent donc la copie de leurs données de zone ; toutefois, l'emploi des RR NSEC rend ces politiques inapplicables.

Un second problème est que le coût de la sécurisation cryptographique des délégations vers des zones non signées est élevé par rapport au bénéfice de sécurité perçu, dans deux cas : les grandes zones centrées sur la délégation, et les zones où les délégations non sécurisées seront mises à jour rapidement. Dans ces cas, le coût de maintien de la chaîne de RR NSEC peut être extrêmement élevé et l'usage de la convention « Opt-Out » peut être plus approprié (pour ces zones non sécurisées).

Ce document présente l'enregistrement de ressource NSEC3 (NSEC3 Resource Record), utilisable comme alternative à NSEC pour atténuer ces problèmes.

Des travaux antérieurs sur ces questions figurent dans [DNSEXT-NO], [RFC4956] et [DNSEXT-NSEC2v2].

1.2. Requirements

Les mots clés « MUST », « MUST NOT », « REQUIRED », « SHALL », « SHALL NOT », « SHOULD », « SHOULD NOT », « RECOMMENDED », « MAY » et « OPTIONAL » dans ce document doivent être interprétés comme décrit dans [RFC2119].

1.3. Terminology

Le lecteur est supposé connaître les concepts DNS et DNSSEC de base décrits dans [RFC1034], [RFC1035], [RFC4033], [RFC4034], [RFC4035], et les RFC ultérieurs qui les mettent à jour : [RFC2136], [RFC2181] et [RFC2308].

La terminologie suivante est employée dans tout ce document :

Énumération de zone (Zone enumeration) : pratique consistant à découvrir le contenu complet d'une zone par requêtes successives. L'énumération de zone était non triviale avant l'introduction de DNSSEC.

Nom de titulaire d'origine (Original owner name) : le nom de titulaire correspondant à un nom de titulaire haché.

Nom de titulaire haché (Hashed owner name) : le nom de titulaire obtenu après application de la fonction de hachage à un nom de titulaire.

Ordre de hachage (Hash order) : l'ordre dans lequel les noms de titulaires hachés sont rangés selon leur valeur numérique, en traitant l'octet le plus à gauche (de numéro le plus bas) comme l'octet le plus significatif. Cet ordre est le même que l'ordre canonique des noms DNS défini dans [RFC4034] lorsque les noms de titulaires hachés sont en base32 encodée avec l'alphabet hexadécimal étendu (Extended Hex Alphabet) [RFC4648].

Non-terminal vide (Empty non-terminal) : un nom de domaine qui ne possède aucun enregistrement de ressource mais a un ou plusieurs sous-domaines qui en possèdent.

Délégation (Delegation) : un RRSet NS dont le nom diffère du sommet de zone actuel (hors sommet de zone), signifiant une délégation vers une zone enfant.

Délégation sécurisée (Secure delegation) : un nom contenant une délégation (RRSet NS) et un RRSet DS signé, signifiant une délégation vers une zone enfant signée.

Délégation non sécurisée (Insecure delegation) : un nom contenant une délégation (RRSet NS) mais sans RRSet DS, signifiant une délégation vers une zone enfant non signée.

Enregistrement de ressource NSEC3 Opt-Out (Opt-Out NSEC3 resource record) : un enregistrement de ressource NSEC3 dont le drapeau Opt-Out vaut 1.

Zone Opt-Out (Opt-Out zone) : une zone comportant au moins un RR NSEC3 Opt-Out.

Encloser le plus proche (Closest encloser) : l'ancêtre existant le plus long d'un nom. Voir aussi la section 3.3.1 de [RFC4592].

Encloser le plus proche prouvable (Closest provable encloser) : l'ancêtre le plus long d'un nom dont l'existence peut être prouvée. Cela ne diffère de l'encloser le plus proche que dans une zone Opt-Out.

Nom next closer (Next closer name) : le nom d'une étiquette de plus que l'encloser le plus proche prouvable d'un nom.

Base32 : l'encodage « Base 32 Encoding with Extended Hex Alphabet » défini dans [RFC4648]. Les caractères de remplissage de fin (« = ») ne sont pas utilisés dans la spécification NSEC3.

Couvrir (To cover) : on dit qu'un RR NSEC3 « couvre » un nom si le hachage du nom ou du nom « next closer » se situe entre le nom de titulaire du NSEC3 et le nom de titulaire haché suivant du NSEC3. Autrement dit, s'il prouve la non-existence du nom, directement ou en prouvant la non-existence d'un ancêtre du nom.

Correspondre (To match) : on dit qu'un RR NSEC3 « correspond » à un nom si le nom de titulaire du RR NSEC3 est le même que le nom de titulaire haché de ce nom.