DNSSEC: autenticare le risposte DNS
Scopra come DNSSEC usa le firme digitali per proteggere il DNS dagli attacchi di spoofing e di avvelenamento della cache.
DNSSEC: autenticare le risposte DNS è una lezione Cryptology Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cryptology Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cryptology Academy include 4 lezioni in totale.
Avvelenamento della cache DNS: l'attacco Kaminsky
Nel 2008, il ricercatore Dan Kaminsky ha divulgato un attacco critico contro i resolver DNS. L'attacco sfruttava il campo di soli 16 bit dell'ID di transazione nelle risposte DNS. Inondando un resolver con risposte contraffatte contenenti ID di transazione casuali, un attaccante poteva riuscire statisticamente a trovare una corrispondenza con l'ID di transazione legittimo prima dell'arrivo della risposta reale. Una cache avvelenata reindirizza tutti gli utenti che usano quel resolver verso server controllati dall'attaccante per settimane, fino alla scadenza della cache.
Cosa aggiunge DNSSEC al DNS
DNSSEC (DNS Security Extensions) aggiunge l'autenticazione crittografica alle risposte DNS. Ogni insieme di record DNS in una zona firmata con DNSSEC è accompagnato da una firma digitale. I resolver che eseguono la validazione verificano queste firme prima di accettare i record. Una risposta contraffatta o modificata avrà una firma non valida e verrà rifiutata. DNSSEC protegge dall'avvelenamento della cache e dalla contraffazione delle risposte, ma non cifra le query DNS.
Chiave di firma della zona e chiave di firma delle chiavi
DNSSEC usa una gerarchia a due chiavi per ogni zona. La chiave di firma della zona (ZSK) viene usata per la firma quotidiana dei singoli insiemi di record DNS. La chiave di firma delle chiavi (KSK) firma solo l'insieme di record DNSKEY, che contiene entrambe le chiavi pubbliche ZSK e KSK. La ZSK può essere sostituita frequentemente, ad esempio ogni mese, mentre la KSK cambia meno spesso, in genere ogni anno, perché l'hash della KSK deve essere registrato nella zona padre e la sostituzione è operativamente complessa.
RRSIG: firme dei record di risorsa
Ogni insieme di record DNS firmato, chiamato RRset, ha un record RRSIG corrispondente che contiene la firma crittografica dell'RRset. Quando un resolver richiede un record DNS, la risposta include sia il record sia il relativo RRSIG. Il resolver verifica l'RRSIG usando la chiave pubblica della zona. La firma copre il contenuto, il tipo, la classe e il tempo di scadenza del record, impedendo sia le modifiche sia il replay di vecchie firme valide.
Record DS: collegamento tra zone padre e figlie
La catena di fiducia in DNSSEC viene costruita tramite record Delegation Signer (DS). Quando una zona delega a una zona figlia, la zona padre pubblica un record DS contenente un hash della KSK della zona figlia. Un resolver che si fida della zona padre può verificare che l'hash della KSK della zona figlia corrisponda al record DS, stabilendo così la fiducia nelle firme della zona figlia. Questa catena si estende dalla zona radice DNS, passando per i TLD, fino alle singole zone dei domini.
Record DNSKEY: pubblicazione della chiave pubblica della zona
Ogni zona firmata con DNSSEC pubblica le proprie chiavi pubbliche di firma nei record DNSKEY. In genere sono presenti due record DNSKEY: uno per la ZSK e uno per la KSK. L'hash della chiave pubblica della KSK viene registrato come record DS nella zona padre, ancorando la fiducia nella zona a quella della zona padre. L'hash della KSK della zona radice è incorporato nei resolver che eseguono la validazione come ancora di fiducia definitiva, denominata Root Zone Trust Anchor.
La catena di fiducia dalla radice alla foglia
La validazione DNSSEC inizia dalla zona radice, la cui ancora di fiducia KSK è incorporata nei resolver. La DNSKEY della zona radice viene usata per verificare il relativo RRSIG, che autentica i record DS dei TLD come .com. La DNSKEY della zona .com verifica il relativo RRSIG sui record DS dei singoli domini. Questa catena di verifica crittografica si estende dalla radice al dominio richiesto, garantendo l'autenticazione di ogni collegamento.
Validazione DNSSEC nei resolver
Quando un resolver che esegue la validazione DNSSEC riceve una risposta, verifica l'intera catena di fiducia. Recupera i record DNSKEY, verifica le firme RRSIG, segue i record DS fino all'ancora radice e controlla i tempi di scadenza delle firme. Se la validazione non riesce, il resolver restituisce un errore SERVFAIL invece dei record potenzialmente contraffatti. La maggior parte dei principali resolver pubblici, inclusi 1.1.1.1 di Cloudflare e 8.8.8.8 di Google, esegue la validazione DNSSEC.
Le difficoltà di implementazione di DNSSEC
L'adozione di DNSSEC è stata lenta nonostante i vantaggi in termini di sicurezza. La sostituzione delle chiavi richiede il coordinamento tra gli operatori delle zone e i registri delle zone padre. Un errore durante la sostituzione della KSK può rendere irraggiungibile l'intera zona. La sostituzione della KSK della zona radice di ICANN nel 2019 ha richiesto anni di preparazione. Le dimensioni delle zone aumentano significativamente a causa delle firme. Gli operatori devono implementare la sostituzione automatica delle chiavi e il monitoraggio. Queste complessità operative hanno portato molti operatori di domini più piccoli a evitare DNSSEC.
DNSSEC non cifra il traffico DNS
È comune ritenere erroneamente che DNSSEC garantisca la privacy delle query DNS. Non è così. DNSSEC autentica solo le risposte; query e risposte viaggiano comunque come pacchetti UDP in chiaro sulla porta 53. Chiunque monitori la rete può ancora vedere ogni nome di dominio richiesto. DNS-over-TLS (DoT) e DNS-over-HTTPS (DoH) garantiscono la privacy delle query cifrando il traffico DNS. DNSSEC e DoH/DoT sono complementari: il primo fornisce autenticità, mentre gli altri garantiscono la riservatezza.
DNSSEC nel mondo reale
Nel 2024, circa il 90 per cento della zona radice DNS e dei principali TLD è firmato con DNSSEC. Tuttavia, solo il 20-30 per cento circa dei singoli nomi di dominio è firmato. L'adozione della validazione DNSSEC da parte di browser e applicazioni è disomogenea. Il vantaggio in termini di sicurezza di DNSSEC è massimo quando viene combinato con DANE (DNS-Based Authentication of Named Entities), che usa DNSSEC per pubblicare le impronte digitali dei certificati TLS e consente ai client di verificare i certificati senza dipendere esclusivamente dalle CA.
Catena di fiducia DNSSEC
In che modo un resolver che valida DNSSEC stabilisce la fiducia nei record DNS di un dominio partendo da zero?
DNSSEC: concetti chiave
DNSSEC aggiunge firme crittografiche alle risposte DNS per impedire l'avvelenamento della cache e la contraffazione delle risposte. Le ZSK firmano gli insiemi di record; le KSK firmano i record DNSKEY; i record DS collegano la fiducia tra le zone padre e figlie. La validazione parte dall'ancora di fiducia della zona radice incorporata nel resolver. DNSSEC non cifra il traffico DNS; DoH e DoT garantiscono la privacy, mentre DNSSEC fornisce l'autenticità. La complessità operativa, inclusa la sostituzione delle chiavi, ha rallentato l'adozione su larga scala.
Impara Cryptology Academy con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 67
- Lezioni
- 261
Domande Frequenti
La lezione «DNSSEC: autenticare le risposte DNS» è gratuita?
Sì — il testo completo di «DNSSEC: autenticare le risposte DNS» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cryptology Academy, passa a CoddyKit PRO. Il corso Cryptology Academy include 4 lezioni in totale.
Cosa imparerò in «DNSSEC: autenticare le risposte DNS»?
Scopra come DNSSEC usa le firme digitali per proteggere il DNS dagli attacchi di spoofing e di avvelenamento della cache. Eserciti Cryptology Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Cryptology Academy?
Non è richiesta alcuna esperienza precedente. Cryptology Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «DNSSEC: autenticare le risposte DNS»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Cryptology Academy?
Sì. Ogni lezione Cryptology Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Che cosa rende sicuro un protocollo
- SSH: proteggere l’accesso remoto
- SFTP e SCP: trasferimento sicuro dei file
- DNSSEC: autenticare le risposte DNS