3. Services Provided by DNS Security (Servizi forniti dalla sicurezza DNS)
Le estensioni di sicurezza del Domain Name System (DNS) forniscono servizi di autenticazione dell'origine e assicurazione dell'integrità per i dati DNS, inclusi meccanismi per il rifiuto autenticato dell'esistenza di dati DNS. Questi meccanismi sono descritti di seguito.
Questi meccanismi richiedono modifiche al protocollo DNS. DNSSEC aggiunge quattro nuovi tipi di record di risorse: Resource Record Signature (RRSIG), DNS Public Key (DNSKEY), Delegation Signer (DS) e Next Secure (NSEC). Aggiunge anche due nuovi bit di intestazione del messaggio: Checking Disabled (CD) e Authenticated Data (AD). Per supportare le dimensioni dei messaggi DNS più grandi che risultano dall'aggiunta degli RR DNSSEC, DNSSEC richiede anche il supporto EDNS0 ([RFC2671]). Infine, DNSSEC richiede il supporto per il bit di intestazione EDNS DNSSEC OK (DO) ([RFC3225]) in modo che un resolver consapevole della sicurezza possa indicare nelle sue query che desidera ricevere RR DNSSEC nei messaggi di risposta.
Questi servizi proteggono dalla maggior parte delle minacce al Domain Name System descritte in [RFC3833]. Si prega di consultare la sezione 12 per una discussione delle limitazioni di queste estensioni.
3.1. Data Origin Authentication and Data Integrity (Autenticazione dell'origine dei dati e integrità dei dati)
DNSSEC fornisce l'autenticazione associando firme digitali generate crittograficamente agli RRset DNS. Queste firme digitali sono memorizzate in un nuovo record di risorsa, il record RRSIG. Tipicamente, ci sarà una singola chiave privata che firma i dati di una zona, ma sono possibili più chiavi. Ad esempio, potrebbero esserci chiavi per ciascuno di diversi algoritmi di firma digitale. Se un resolver consapevole della sicurezza apprende in modo affidabile la chiave pubblica di una zona, può autenticare i dati firmati di quella zona. Un concetto DNSSEC importante è che la chiave che firma i dati di una zona è associata alla zona stessa e non ai name server autorevoli della zona. (Le chiavi pubbliche per i meccanismi di autenticazione delle transazioni DNS possono anche apparire nelle zone, come descritto in [RFC2931], ma DNSSEC stesso si occupa della sicurezza degli oggetti dei dati DNS, non della sicurezza dei canali delle transazioni DNS. Le chiavi associate alla sicurezza delle transazioni possono essere memorizzate in diversi tipi di RR. Vedere [RFC3755] per i dettagli.)
Un resolver consapevole della sicurezza può apprendere la chiave pubblica di una zona avendo un'ancora di fiducia configurata nel resolver o tramite risoluzione DNS normale. Per consentire quest'ultima, le chiavi pubbliche sono memorizzate in un nuovo tipo di record di risorsa, il RR DNSKEY. Si noti che le chiavi private utilizzate per firmare i dati di zona devono essere mantenute sicure e dovrebbero essere archiviate offline quando pratico. Per scoprire una chiave pubblica in modo affidabile tramite risoluzione DNS, la chiave target stessa deve essere firmata da una chiave di autenticazione configurata o da un'altra chiave che è stata autenticata in precedenza. I resolver consapevoli della sicurezza autenticano le informazioni di zona formando una catena di autenticazione da una chiave pubblica appena appresa a una chiave pubblica di autenticazione precedentemente nota, che a sua volta è stata configurata nel resolver o deve essere stata appresa e verificata in precedenza. Pertanto, il resolver deve essere configurato con almeno un'ancora di fiducia.
Se l'ancora di fiducia configurata è una chiave di firma della zona, autenticherà la zona associata, se la chiave configurata è una chiave di firma delle chiavi, autenticherà una chiave di firma della zona. Se l'ancora di fiducia configurata è l'hash di una chiave piuttosto che la chiave stessa, il resolver potrebbe dover ottenere la chiave tramite una query DNS. Per aiutare i resolver consapevoli della sicurezza a stabilire questa catena di autenticazione, i name server consapevoli della sicurezza tentano di inviare la o le firme necessarie per autenticare la o le chiavi pubbliche di una zona nel messaggio di risposta DNS insieme alla chiave pubblica stessa, a condizione che ci sia spazio disponibile nel messaggio.
Il tipo di RR Delegation Signer (DS) semplifica alcuni dei compiti amministrativi coinvolti nella firma delle delegazioni attraverso i confini organizzativi. L'RRset DS risiede in un punto di delegazione in una zona parent e indica la o le chiavi pubbliche corrispondenti alla o alle chiavi private utilizzate per auto-firmare l'RRset DNSKEY al vertice della zona child delegata. L'amministratore della zona child, a sua volta, utilizza la o le chiavi private corrispondenti a una o più delle chiavi pubbliche in questo RRset DNSKEY per firmare i dati della zona child. La catena di autenticazione tipica è quindi DNSKEY->[DS->DNSKEY]->RRset, dove "" denota zero o più sottocatene DS->DNSKEY. DNSSEC permette catene di autenticazione più complesse, come strati aggiuntivi di RR DNSKEY che firmano altri RR DNSKEY all'interno di una zona.
Un resolver consapevole della sicurezza normalmente costruisce questa catena di autenticazione dalla radice della gerarchia DNS fino alle zone foglia basandosi sulla conoscenza configurata della chiave pubblica per la radice. La politica locale, tuttavia, può anche consentire a un resolver consapevole della sicurezza di utilizzare una o più chiavi pubbliche configurate (o hash di chiavi pubbliche) diverse dalla chiave pubblica radice, può non fornire conoscenza configurata della chiave pubblica radice, o può impedire al resolver di utilizzare particolari chiavi pubbliche per ragioni arbitrarie, anche se quelle chiavi pubbliche sono correttamente firmate con firme verificabili. DNSSEC fornisce meccanismi con cui un resolver consapevole della sicurezza può determinare se la firma di un RRset è "valida" nel significato di DNSSEC. Nell'analisi finale, tuttavia, l'autenticazione sia delle chiavi DNS che dei dati è una questione di politica locale, che può estendere o persino sovrascrivere le estensioni del protocollo definite in questo insieme di documenti. Vedere la sezione 5 per ulteriori discussioni.
3.2. Authenticating Name and Type Non-Existence (Autenticazione della non esistenza di nome e tipo)
Il meccanismo di sicurezza descritto nella sezione 3.1 fornisce solo un modo per firmare gli RRset esistenti in una zona. Il problema di fornire risposte negative con lo stesso livello di autenticazione e integrità richiede l'uso di un altro nuovo tipo di record di risorsa, il record NSEC. Il record NSEC consente a un resolver consapevole della sicurezza di autenticare una risposta negativa per la non esistenza di nome o tipo con gli stessi meccanismi utilizzati per autenticare altre risposte DNS. L'uso dei record NSEC richiede una rappresentazione canonica e un ordinamento per i nomi di dominio nelle zone. Le catene di record NSEC descrivono esplicitamente i gap, o "spazio vuoto", tra i nomi di dominio in una zona ed elencano i tipi di RRset presenti ai nomi esistenti. Ogni record NSEC è firmato e autenticato utilizzando i meccanismi descritti nella sezione 3.1.