5. L'enregistrement de ressource DS (The DS Resource Record)
L'enregistrement de ressource DS fait référence à un RR DNSKEY et est utilisé dans le processus d'authentification DNSKEY DNS. Un RR DS fait référence à un RR DNSKEY en stockant l'étiquette de clé (key tag), le numéro d'algorithme et un condensé (digest) du RR DNSKEY. Notez que bien que le condensé devrait être suffisant pour identifier la clé publique, le stockage de l'étiquette de clé et de l'algorithme de clé aide à rendre le processus d'identification plus efficace. En authentifiant l'enregistrement DS, un résolveur peut authentifier le RR DNSKEY vers lequel pointe l'enregistrement DS. Le processus d'authentification de clé est décrit dans [RFC4035].
Le RR DS et son RR DNSKEY correspondant ont le même nom de propriétaire, mais ils sont stockés à des emplacements différents. Le RR DS apparaît uniquement du côté supérieur (parental) d'une délégation et constitue des données faisant autorité dans la zone parente. Par exemple, le RR DS pour "example.com" est stocké dans la zone "com" (la zone parente) plutôt que dans la zone "example.com" (la zone enfant). Le RR DNSKEY correspondant est stocké dans la zone "example.com" (la zone enfant). Cela simplifie la gestion de zone DNS et la signature de zone, mais introduit des exigences de traitement de réponse spéciales pour le RR DS ; celles-ci sont décrites dans [RFC4035].
Le numéro de type pour l'enregistrement DS est 43.
L'enregistrement de ressource DS est indépendant de la classe.
Le RR DS n'a pas d'exigences TTL particulières.
5.1. Format de transmission RDATA DS (DS RDATA Wire Format)
Le RDATA pour un RR DS se compose d'un champ Key Tag de 2 octets, d'un champ Algorithm de 1 octet, d'un champ Digest Type de 1 octet et d'un champ Digest.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Key Tag | Algorithm | Digest Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/ /
/ Digest /
/ /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5.1.1. Le champ Key Tag (The Key Tag Field)
Le champ Key Tag liste l'étiquette de clé du RR DNSKEY référencé par l'enregistrement DS, dans l'ordre des octets réseau.
L'étiquette de clé utilisée par le RR DS est identique à l'étiquette de clé utilisée par les RR RRSIG. L'annexe B décrit comment calculer une étiquette de clé.
5.1.2. Le champ Algorithm (The Algorithm Field)
Le champ Algorithm liste le numéro d'algorithme du RR DNSKEY référencé par l'enregistrement DS.
Le numéro d'algorithme utilisé par le RR DS est identique au numéro d'algorithme utilisé par les RR RRSIG et DNSKEY. L'annexe A.1 liste les types de numéros d'algorithme.
5.1.3. Le champ Digest Type (The Digest Type Field)
Le RR DS fait référence à un RR DNSKEY en incluant un condensé de ce RR DNSKEY. Le champ Digest Type identifie l'algorithme utilisé pour construire le condensé. L'annexe A.2 liste les types d'algorithmes de condensé possibles.
5.1.4. Le champ Digest (The Digest Field)
L'enregistrement DS fait référence à un RR DNSKEY en incluant un condensé de ce RR DNSKEY.
Le condensé est calculé en concaténant la forme canonique (canonical form) du nom de propriétaire pleinement qualifié du RR DNSKEY avec le RDATA DNSKEY, puis en appliquant l'algorithme de condensé.
digest = digest_algorithm( DNSKEY owner name | DNSKEY RDATA);
"|" désigne la concaténation
DNSKEY RDATA = Flags | Protocol | Algorithm | Public Key.
La taille du condensé peut varier en fonction de l'algorithme de condensé et de la taille du RR DNSKEY. Au moment de la rédaction de ce document, le seul algorithme de condensé défini est SHA-1, qui produit un condensé de 20 octets.
5.2. Traitement des RR DS lors de la validation des réponses (Processing of DS RRs When Validating Responses)
Le RR DS relie la chaîne d'authentification (authentication chain) à travers les limites de zone, donc le RR DS nécessite une attention particulière dans le traitement. Le RR DNSKEY référencé dans le RR DS DOIT être une clé de zone DNSSEC. Les Flags du RR DNSKEY DOIVENT avoir le bit 7 des Flags défini. Si les drapeaux DNSKEY n'indiquent pas une clé de zone DNSSEC, le RR DS (et le RR DNSKEY qu'il référence) NE DOIVENT PAS être utilisés dans le processus de validation.
5.3. Format de présentation RR DS (The DS RR Presentation Format)
Le format de présentation de la partie RDATA est le suivant :
Le champ Key Tag DOIT être représenté comme un entier décimal non signé.
Le champ Algorithm DOIT être représenté comme un entier décimal non signé ou comme un mnémonique d'algorithme tel que spécifié dans l'annexe A.1.
Le champ Digest Type DOIT être représenté comme un entier décimal non signé.
Le Digest DOIT être représenté comme une séquence de chiffres hexadécimaux insensibles à la casse. Des espaces sont autorisés dans le texte hexadécimal.
5.4. Exemple de RR DS (DS RR Example)
L'exemple suivant montre un RR DNSKEY et son RR DS correspondant.
dskey.example.com. 86400 IN DNSKEY 256 3 5 ( AQOeiiR0GOMYkDshWoSKz9Xz
fwJr1AYtsmx3TGkJaNXVbfi/
2pHm822aJ5iI9BMzNXxeYCmZ
DRD99WYwYqUSdjMmmAphXdvx
egXd/M5+X7OrzKBaMbCVdFLU
Uh6DhweJBjEVv5f2wwjM9Xzc
nOf+EPbtG9DMBmADjFDc2w/r
ljwvFw==
) ; key id = 60485
dskey.example.com. 86400 IN DS 60485 5 1 ( 2BB183AF5F22588179A53B0A
98631FAD1A292118 )
Les quatre premiers champs de texte spécifient le nom, le TTL, la classe et le type RR (DS). La valeur 60485 est l'étiquette de clé pour le RR DNSKEY "dskey.example.com." correspondant, et la valeur 5 désigne l'algorithme utilisé par ce RR DNSKEY "dskey.example.com.". La valeur 1 est l'algorithme utilisé pour construire le condensé, et le reste du texte RDATA est le condensé en hexadécimal.
Navigation des chapitres connexes :