4. Resource record DS
Il resource record (RR) DS (Delegation Signer, firmatario di delega) fa riferimento a un DNSKEY RR utilizzato per DNSSEC. Il DS RR è utilizzato per trasmettere in modo sicuro l'ancoraggio di fiducia di una zona figlia (child zone) alla sua zona padre (parent zone). Il DS RR risiede nella zona padre nel nodo il cui nome è identico al nome della zona figlia.
Il formato del RDATA del resource record DS è il seguente:
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 (lunghezza variabile secondo tipo di digest) /
/ /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Il RDATA del resource record DS è rappresentato e codificato nel modo seguente:
- il key tag (KEY TAG) è un intero senza segno a 16 bit, disposto in ordine di byte di rete, che identifica il DNSKEY RR referenziato;
- l'algoritmo (ALGORITHM) è un intero senza segno a 8 bit che identifica l'algoritmo del DNSKEY RR referenziato;
- il tipo di digest (DIGEST TYPE) è un intero senza segno a 8 bit che identifica l'algoritmo di hash crittografico utilizzato per calcolare il digest;
- il digest (DIGEST) è una stringa di ottetti di lunghezza variabile contenente il valore di hash del DNSKEY RR referenziato, come descritto nella sezione 4.1.
4.1. Campo digest del RDATA DS
Il contenuto del campo Digest è il valore di hash calcolato sull'RDATA del DNSKEY RR corrispondente nella zona figlia, utilizzando l'algoritmo di hash specificato dal campo DIGEST TYPE.
L'RDATA DNSKEY utilizzato per calcolare il digest del record DS è l'RDATA del resource record DNSKEY in forma canonica (vedi sezione 6), che include i campi flags, protocol, algorithm e public key, ma esclude il TTL, la classe (class) o il nome del proprietario del DNSKEY RR.
Se DIGEST TYPE è 1 (SHA-1), il digest è calcolato applicando l'algoritmo di hash SHA-1 [FIPS180-1] alla forma canonica dell'RDATA DNSKEY. Sha-1 è l'unico tipo di digest definito al momento della stesura di questo documento.
4.2. Campo key tag del RDATA DS
Il campo KEY TAG è un intero senza segno a 16 bit, disposto in ordine di byte di rete, che identifica il DNSKEY RR corrispondente nella zona figlia. DEVE essere uguale al key tag del DNSKEY RR referenziato (calcolato secondo l'algoritmo dell'appendice B).
4.3. Campo algorithm del RDATA DS
Il campo ALGORITHM è un intero senza segno a 8 bit che identifica l'algoritmo del DNSKEY RR referenziato. DEVE essere uguale al campo ALGORITHM del DNSKEY RR corrispondente.
4.4. Campo digest type del RDATA DS
Il campo DIGEST TYPE è un intero senza segno a 8 bit che identifica l'algoritmo di hash utilizzato per calcolare il campo DIGEST. L'unico valore attualmente definito è 1 (SHA-1).
4.5. Formato di presentazione DS
Il formato di presentazione (presentation format) del DS RR è il seguente:
- il key tag è rappresentato da un intero in decimale;
- l'algoritmo è rappresentato da un intero in decimale;
- il tipo di digest è rappresentato da un intero in decimale;
- il digest è rappresentato da una stringa di ottetti in notazione esadecimale, senza spazi (a differenza di Base64).
Esempio:
example.com. 3600 IN DS 60485 5 1 (
2BB183AF5F22588179A53B0A98631FAD1A292118 )
4.6. Considerazioni particolari per il DS RR
Il record DS stabilisce una catena di fiducia (chain of trust) dalla zona padre alla zona figlia. Il validatore DEVE trovare nella zona padre un record DS corrispondente (tramite key tag, algoritmo e digest) al DNSKEY della zona figlia per considerare tale zona figlia autenticata (authenticated).
Se una zona figlia è firmata ma non esiste alcun record DS corrispondente nella zona padre, tale zona figlia NON DEVE essere considerata verificata.
Navigazione tra sezioni:
- Precedente: 3. Resource record RRSIG
- Successivo: 5. Resource record NSEC