4. The NSEC3PARAM Resource Record
4. The NSEC3PARAM Resource Record
Le RR NSEC3PARAM contient les paramètres NSEC3 (algorithme de hachage, drapeaux, itérations et sel) dont les serveurs autoritaires ont besoin pour calculer les noms de titulaires hachés. La présence d'un RR NSEC3PARAM au sommet d'une zone indique que les paramètres indiqués PEUVENT être utilisés par les serveurs autoritaires pour choisir un ensemble approprié de RR NSEC3 pour les réponses négatives. Le RR NSEC3PARAM n'est pas utilisé par les validateurs ni les résolveurs.
Si un RR NSEC3PARAM est présent au sommet d'une zone avec un champ Flags à zéro, il DOIT exister un RR NSEC3 utilisant les mêmes paramètres d'algorithme de hachage, d'itérations et de sel à chaque nom de titulaire haché de la zone. Autrement dit, la zone DOIT contenir un ensemble complet de RR NSEC3 avec les mêmes algorithme de hachage, itérations et sel.
Le nom de titulaire du RR NSEC3PARAM est le nom du sommet de zone.
La valeur de type du RR NSEC3PARAM est 51.
Le format RDATA du RR NSEC3PARAM est indépendant de la classe et est décrit ci-dessous.
La classe DOIT être la même que celle des RR NSEC3 auxquels ce RR se rapporte.
4.1. RDATA Fields
Le RDATA de ce RR reprend les quatre premiers champs du RR NSEC3.
4.1.1. Hash Algorithm
Le champ Hash Algorithm identifie l'algorithme de hachage cryptographique utilisé pour construire la valeur de hachage.
Les valeurs acceptables sont les mêmes que pour le champ correspondant du RR NSEC3.
4.1.2. Flag Fields
Le drapeau Opt-Out n'est pas utilisé et est mis à zéro.
Tous les autres drapeaux sont réservés pour usage futur et doivent être zéro.
Les RR NSEC3PARAM dont le champ Flags n'est pas zéro DOIVENT être ignorés.
4.1.3. Iterations
Le champ Iterations définit le nombre de fois supplémentaires où le hachage est exécuté.
Ses valeurs acceptables sont les mêmes que pour le champ correspondant du RR NSEC3.
4.1.4. Salt Length
Le champ Salt Length définit la longueur du sel en octets, entre 0 et 255.
4.1.5. Salt
Le champ Salt est concaténé au nom de titulaire d'origine avant le hachage.
4.2. NSEC3PARAM RDATA Wire Format
Le RDATA du RR NSEC3PARAM est le suivant :
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Hash Alg. | Flags | Iterations |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Salt Length | Salt /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Hash Algorithm occupe un octet.
Le champ Flags occupe un octet.
Iterations est un entier non signé 16 bits, bit de poids fort en premier.
Salt Length est un octet non signé. Il représente la longueur du champ Salt suivant en octets. Si la valeur est zéro, le champ Salt est omis.
Salt, s'il est présent, est encodé comme une suite d'octets binaires. La longueur de ce champ est donnée par le Salt Length précédent.
4.3. Presentation Format
Le format de présentation de la partie RDATA est le suivant :
-
Le champ Hash Algorithm est représenté comme un entier décimal non signé. La valeur maximale est 255.
-
Le champ Flags est représenté comme un entier décimal non signé. La valeur maximale est 255.
-
Le champ Iterations est représenté comme un entier décimal non signé. La valeur est entre 0 et 65535 inclus.
-
Le champ Salt Length n'est pas représenté.
-
Le champ Salt est représenté comme une suite de chiffres hexadécimaux sans distinction de cas. Aucun espace n'est autorisé dans la suite. Ce champ est représenté par « - » (sans guillemets) lorsque Salt Length vaut zéro.