2. Zone Signing (Firma della zona)
DNSSEC introduce il concetto di zone firmate (Signed Zones). Una zona firmata include record DNS Public Key (DNSKEY), Resource Record Signature (RRSIG), Next Secure (NSEC) e (opzionalmente) Delegation Signer (DS) secondo le regole specificate nelle sezioni 2.1, 2.2, 2.3 e 2.4, rispettivamente. Una zona che non include questi record secondo le regole in questa sezione è una zona non firmata (Unsigned Zone).
DNSSEC richiede una modifica alla definizione del record di risorsa CNAME ([RFC1035]). La sezione 2.5 modifica il RR CNAME per consentire ai RR RRSIG e NSEC di apparire allo stesso nome di proprietario di un RR CNAME.
DNSSEC specifica il posizionamento di due nuovi tipi di RR, NSEC e DS, che possono essere posizionati sul lato parentale di un taglio di zona (Zone Cut) (cioè, a un punto di delega). Questa è un'eccezione al divieto generale di inserire dati nella zona padre a un taglio di zona. La sezione 2.6 descrive questa modifica.
2.1. Including DNSKEY RRs in a Zone (Inclusione di RR DNSKEY in una zona)
Per firmare una zona, l'amministratore della zona genera una o più coppie di chiavi pubbliche/private e utilizza la/e chiave/i privata/e per firmare gli RRset autorevoli nella zona. Per ogni chiave privata utilizzata per creare RR RRSIG in una zona, la zona dovrebbe (SHOULD) includere un RR DNSKEY di zona contenente la chiave pubblica corrispondente. Un RR DNSKEY di chiave di zona deve (MUST) avere il bit Zone Key del campo flags RDATA impostato (vedere Sezione 2.1.1 di [RFC4034]). Le chiavi pubbliche associate ad altre operazioni DNS possono (MAY) essere memorizzate in RR DNSKEY che non sono contrassegnati come chiavi di zona ma non devono (MUST NOT) essere utilizzati per verificare gli RRSIG.
Se l'amministratore della zona intende che una zona firmata sia utilizzabile diversamente che come isola di sicurezza (Island of Security), l'apice della zona deve (MUST) contenere almeno un RR DNSKEY per fungere da punto di ingresso sicuro nella zona. Questo punto di ingresso sicuro potrebbe quindi essere utilizzato come obiettivo di una delega sicura tramite un RR DS corrispondente nella zona padre (vedere [RFC4034]).
2.2. Including RRSIG RRs in a Zone (Inclusione di RR RRSIG in una zona)
Per ogni RRset autorevole in una zona firmata, deve (MUST) esserci almeno un record RRSIG che soddisfa i seguenti requisiti:
- Il nome di proprietario RRSIG è uguale al nome di proprietario RRset
- La classe RRSIG è uguale alla classe RRset
- Il campo Type Covered RRSIG è uguale al tipo RRset
- Il campo Original TTL RRSIG è uguale al TTL dell'RRset
- Il TTL del RR RRSIG è uguale al TTL dell'RRset
- Il campo Labels RRSIG è uguale al numero di etichette nel nome di proprietario RRset, senza contare l'etichetta radice nulla e senza contare l'etichetta più a sinistra se è un wildcard
- Il campo Signer's Name RRSIG è uguale al nome della zona contenente l'RRset
- I campi Algorithm, Signer's Name e Key Tag RRSIG identificano un record DNSKEY di chiave di zona all'apice della zona
Il processo per costruire il RR RRSIG per un dato RRset è descritto in [RFC4034]. Un RRset può (MAY) avere più RR RRSIG associati. Si noti che poiché i RR RRSIG sono strettamente legati agli RRset le cui firme contengono, i RR RRSIG, a differenza di tutti gli altri tipi di RR DNS, non formano RRset.
Un RR RRSIG stesso non deve (MUST NOT) essere firmato, poiché firmare un RR RRSIG non aggiungerebbe valore e creerebbe un ciclo infinito nel processo di firma.
L'RRset NS che appare al nome dell'apice della zona deve (MUST) essere firmato, ma gli RRset NS che appaiono ai punti di delega (cioè, gli RRset NS nella zona padre che delegano il nome ai server dei nomi della zona figlia) non devono (MUST NOT) essere firmati. Gli RRset di indirizzi glue associati alle deleghe non devono (MUST NOT) essere firmati.
Deve (MUST) esserci un RRSIG per ogni RRset utilizzando almeno un DNSKEY di ciascun algoritmo nell'RRset DNSKEY dell'apice della zona.
2.3. Including NSEC RRs in a Zone (Inclusione di RR NSEC in una zona)
Ogni nome di proprietario nella zona che ha dati autorevoli o un RRset NS di punto di delega deve (MUST) avere un record di risorsa NSEC. Il formato dei RR NSEC e il processo per costruire il RR NSEC per un dato nome sono descritti in [RFC4034].
Il valore TTL per qualsiasi RR NSEC dovrebbe (SHOULD) essere lo stesso del campo valore TTL minimo nel RR SOA della zona.
Un record NSEC (e il suo RRset RRSIG associato) non deve (MUST NOT) essere l'unico RRset a un particolare nome di proprietario. Cioè, il processo di firma non deve (MUST NOT) creare RR NSEC o RRSIG per nodi di nome di proprietario che non erano il nome di proprietario di alcun RRset prima che la zona fosse firmata.
Il bitmap di tipo di ogni record di risorsa NSEC in una zona firmata deve (MUST) indicare la presenza sia del record NSEC stesso che del suo record RRSIG corrispondente.
2.4. Including DS RRs in a Zone (Inclusione di RR DS in una zona)
Il record di risorsa DS stabilisce catene di autenticazione tra zone DNS. Un RRset DS dovrebbe (SHOULD) essere presente a un punto di delega quando la zona figlia è firmata. L'RRset DS può (MAY) contenere più record, ciascuno riferito a una chiave pubblica nella zona figlia utilizzata per verificare gli RRSIG in quella zona. Tutti gli RRset DS in una zona devono (MUST) essere firmati, e gli RRset DS non devono (MUST NOT) apparire all'apice di una zona.
Un RR DS dovrebbe (SHOULD) puntare a un RR DNSKEY presente nell'RRset DNSKEY dell'apice del figlio, e l'RRset DNSKEY dell'apice del figlio dovrebbe (SHOULD) essere firmato dalla chiave privata corrispondente.
Il TTL di un RRset DS dovrebbe (SHOULD) corrispondere al TTL dell'RRset NS delegante.
2.5. Changes to the CNAME Resource Record (Modifiche al record di risorsa CNAME)
Se un RRset CNAME è presente a un nome in una zona firmata, RRset RRSIG e NSEC appropriati sono richiesti (REQUIRED) a quel nome. Un RRset KEY a quel nome per scopi di aggiornamento dinamico sicuro è anche consentito ([RFC3007]). Altri tipi non devono (MUST NOT) essere presenti a quel nome.
Questa è una modifica alla definizione CNAME originale data in [RFC1034]. La definizione originale del RR CNAME non permetteva ad altri tipi di coesistere con un record CNAME, ma una zona firmata richiede RR NSEC e RRSIG per ogni nome autorevole.
2.6. DNSSEC RR Types Appearing at Zone Cuts (Tipi di RR DNSSEC che appaiono ai tagli di zona)
DNSSEC ha introdotto due nuovi tipi di RR che sono insoliti in quanto possono apparire sul lato parentale di un taglio di zona. Sul lato parentale di un taglio di zona (cioè, a un punto di delega), i RR NSEC sono richiesti (REQUIRED) al nome di proprietario. Un RR DS potrebbe anche essere presente se la zona delegata è firmata e cerca di avere una catena di autenticazione alla zona padre.
Questa specifica aggiorna la specifica DNS originale per consentire i tipi di RR NSEC e DS sul lato padre di un taglio di zona. Questi RRset sono autorevoli per il padre quando appaiono sul lato padre di un taglio di zona.
2.7. Example of a Secure Zone (Esempio di zona sicura)
L'appendice A mostra un esempio completo di una piccola zona firmata.