Passa al contenuto principale

1. Introduction (Introduzione)

1. Introduction (Introduzione)

1.1. Rationale (Motivazione)

Le DNS Security Extensions includevano il RR NSEC per fornire la negazione dell'esistenza autenticata. Sebbene il RR NSEC soddisfi i requisiti per la negazione dell'esistenza autenticata, introduce un effetto collaterale: il contenuto di una zona può essere enumerato. Tale proprietà introduce problemi di policy indesiderati.

L'enumerazione è resa possibile dall'insieme di record NSEC presenti all'interno di una zona firmata. Un record NSEC elenca due nomi ordinati in modo canonico, per mostrare che nulla esiste tra i due nomi. L'insieme completo di record NSEC elenca tutti i nomi in una zona. È banale enumerare il contenuto di una zona interrogando nomi che non esistono.

Una zona enumerata può essere usata, ad esempio, come fonte di indirizzi e-mail probabili per lo spam, o come chiave per molteplici interrogazioni WHOIS per rivelare dati del titolare che molti registry possono avere obblighi legali di proteggere. Molti registry pertanto vietano la copia dei dati della propria zona; tuttavia l'uso dei RR NSEC rende tali policy inapplicabili.

Un secondo problema è che il costo per rendere crittograficamente sicure le deleghe verso zone non firmate è elevato, rispetto al beneficio di sicurezza percepito, in due casi: zone grandi orientate alle deleghe, e zone in cui le deleghe non sicure saranno aggiornate rapidamente. In questi casi i costi di mantenimento della catena di RR NSEC possono essere estremamente elevati e l'uso della convenzione "Opt-Out" può essere più appropriato (per queste zone non protette).

Il presente documento presenta il Resource Record NSEC3, che può essere usato come alternativa a NSEC per mitigare questi problemi.

Lavori precedenti che affrontano questi problemi includono [DNSEXT-NO], [RFC4956] e [DNSEXT-NSEC2v2].

1.2. Requirements (Requisiti)

Le parole chiave "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY" e "OPTIONAL" nel presente documento devono essere interpretate come descritto in [RFC2119].

1.3. Terminology (Terminologia)

Si assume che il lettore conosca i concetti di base di DNS e DNSSEC descritti in [RFC1034], [RFC1035], [RFC4033], [RFC4034], [RFC4035] e negli RFC successivi che li aggiornano: [RFC2136], [RFC2181] e [RFC2308].

Nel presente documento si usa la terminologia seguente:

Zone enumeration (enumerazione della zona): la pratica di scoprire il contenuto completo di una zona mediante interrogazioni successive. Prima dell'introduzione di DNSSEC l'enumerazione della zona non era banale.

Original owner name (nome del titolare originale): il nome del titolare corrispondente a un nome del titolare sottoposto a hash.

Hashed owner name (nome del titolare sottoposto a hash): il nome del titolare creato dopo aver applicato la funzione di hash a un nome del titolare.

Hash order (ordine di hash): l'ordine in cui i nomi del titolare sottoposti a hash sono disposti secondo il loro valore numerico, trattando l'ottetto più a sinistra (con numero più basso) come l'ottetto più significativo. Si noti che tale ordine coincide con l'ordine canonico dei nomi DNS specificato in [RFC4034], quando i nomi del titolare sottoposti a hash sono in base32, codificati con un Extended Hex Alphabet [RFC4648].

Empty non-terminal (non terminale vuoto): un nome di dominio che non possiede resource record, ma ha uno o più sottodomini che ne possiedono.

Delegation (delega): un RRSet NS con un nome diverso dall'apice della zona corrente (non apice di zona), che indica una delega a una zona figlia.

Secure delegation (delega sicura): un nome che contiene una delega (RRSet NS) e un RRSet DS firmato, che indica una delega a una zona figlia firmata.

Insecure delegation (delega non sicura): un nome che contiene una delega (RRSet NS) ma privo di RRSet DS, che indica una delega a una zona figlia non firmata.

Opt-Out NSEC3 resource record: un resource record NSEC3 che ha il flag Opt-Out impostato a 1.

Opt-Out zone: una zona con almeno un RR NSEC3 Opt-Out.

Closest encloser (incapsulante più vicino): l'antenato esistente più lungo di un nome. Si veda anche la sezione 3.3.1 di [RFC4592].

Closest provable encloser (incapsulante più vicino dimostrabile): l'antenato più lungo di un nome la cui esistenza può essere dimostrata. Si noti che ciò differisce dall'incapsulante più vicino solo in una zona Opt-Out.

Next closer name (nome più vicino successivo): il nome lungo un'etichetta in più rispetto all'incapsulante più vicino dimostrabile di un nome.

Base32: la "Base 32 Encoding with Extended Hex Alphabet" specificata in [RFC4648]. Si noti che nella specifica NSEC3 non si usano caratteri di padding finali ("=").

To cover (coprire): si dice che un RR NSEC3 "copre" un nome se l'hash del nome o del nome "next closer" cade tra il nome del titolare e il nome del titolare sottoposto a hash successivo dell'NSEC3. In altre parole, se dimostra la non esistenza del nome, direttamente o dimostrando la non esistenza di un antenato del nome.

To match (corrispondere): si dice che un RR NSEC3 "corrisponde" a un nome se il nome del titolare dell'RR NSEC3 coincide con il nome del titolare sottoposto a hash di quel nome.