6. Forma canonica e ordine dei record di risorse (Canonical Form and Order of Resource Records)
Questa sezione definisce una forma canonica per i record di risorse, un ordine canonico dei nomi DNS e un ordine canonico dei record di risorse all'interno di un RRset. Un ordine canonico dei nomi è necessario per costruire la catena di nomi NSEC. Una forma RR canonica e un ordine all'interno di un RRset sono necessari per costruire e verificare i RR RRSIG.
6.1. Ordine canonico dei nomi DNS (Canonical DNS Name Order)
Ai fini della sicurezza DNS, i nomi dei proprietari sono ordinati trattando le etichette individuali come stringhe di ottetti senza segno giustificate a sinistra. Quando si confrontano le stringhe di ottetti, l'assenza di un ottetto viene ordinata prima di un ottetto con valore zero, e le lettere maiuscole US-ASCII sono trattate come se fossero lettere minuscole US-ASCII.
Per calcolare l'ordine canonico di un insieme di nomi DNS, iniziare ordinando i nomi in base alle loro etichette più significative (più a destra). Per i nomi in cui l'etichetta più significativa è identica, continuare l'ordinamento in base alla loro etichetta successiva più significativa, e così via.
Ad esempio, i seguenti nomi sono ordinati in ordine canonico dei nomi DNS. L'etichetta più significativa è "example". A questo livello, "example" viene ordinato per primo, seguito dai nomi che terminano in "a.example", poi dai nomi che terminano in "z.example". I nomi all'interno di ciascun livello sono ordinati nello stesso modo.
example
a.example
yljkjljk.a.example
Z.a.example
zABC.a.EXAMPLE
z.example
\001.z.example
*.z.example
\200.z.example
6.2. Forma canonica RR (Canonical RR Form)
Ai fini della sicurezza DNS, la forma canonica di un RR è il formato wire del RR dove:
-
ogni nome di dominio nel RR è completamente espanso (nessuna compressione del nome DNS) e completamente qualificato;
-
tutte le lettere maiuscole US-ASCII nel nome del proprietario del RR sono sostituite dalle corrispondenti lettere minuscole US-ASCII;
-
se il tipo del RR è NS, MD, MF, CNAME, SOA, MB, MG, MR, PTR, HINFO, MINFO, MX, HINFO, RP, AFSDB, RT, SIG, PX, NXT, NAPTR, KX, SRV, DNAME, A6, RRSIG o NSEC, tutte le lettere maiuscole US-ASCII nei nomi DNS contenuti all'interno del RDATA sono sostituite dalle corrispondenti lettere minuscole US-ASCII;
-
se il nome del proprietario del RR è un nome wildcard, il nome del proprietario è nella sua forma originale non espansa, includendo l'etichetta "*" (nessuna sostituzione wildcard); e
-
il TTL del RR è impostato al suo valore originale come appare nella zona autorevole di origine o nel campo Original TTL del RR RRSIG di copertura.
6.3. Ordinamento canonico RR all'interno di un RRset (Canonical RR Ordering Within an RRset)
Ai fini della sicurezza DNS, i RR con lo stesso nome del proprietario, classe e tipo sono ordinati trattando la porzione RDATA della forma canonica di ciascun RR come sequenza di ottetti senza segno giustificata a sinistra in cui l'assenza di un ottetto viene ordinata prima di un ottetto zero.
[RFC2181] specifica che un RRset non è autorizzato a contenere record duplicati (più RR con lo stesso nome del proprietario, classe, tipo e RDATA). Pertanto, se un'implementazione rileva RR duplicati quando mette il RRset in forma canonica, DEVE trattare questo come errore di protocollo. Se l'implementazione sceglie di gestire questo errore di protocollo nello spirito del principio di robustezza (essere liberali in ciò che si accetta), DEVE rimuovere tutti tranne uno dei RR duplicati ai fini del calcolo della forma canonica del RRset.
Navigazione dei capitoli correlati:
- Precedente: 5. Il record di risorsa DS (The DS Resource Record)
- Successivo: 7. Considerazioni IANA (IANA Considerations)