DNSSEC: Autentificering af DNS-svar
Lær, hvordan DNSSEC bruger digitale signaturer til at beskytte DNS mod spoofing og cache poisoning-angreb.
DNSSEC: Autentificering af DNS-svar er en gratis Cryptology Academy-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Cryptology Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Cryptology Academy-kurset indeholder 4 lektioner i alt.
DNS-cacheforgiftning: Kaminsky-angrebet
I 2008 offentliggjorde forskeren Dan Kaminsky et kritisk angreb mod DNS-resolvere. Angrebet udnyttede det lille 16-bit-felt til transaktions-id'er i DNS-svar. Ved at oversvømme en resolver med forfalskede svar, der indeholdt tilfældige transaktions-id'er, kunne en angriber statistisk set ramme det legitime transaktions-id, før det rigtige svar nåede frem. En forgiftet cache omdirigerer alle brugere af den pågældende resolver til servere under angriberens kontrol i flere uger, indtil cachen udløber.
Hvad DNSSEC føjer til DNS
DNSSEC (DNS-sikkerhedsudvidelser) føjer kryptografisk autentificering til DNS-svar. Alle sæt af DNS-poster i en DNSSEC-signeret zone ledsages af en digital signatur. Validerende resolvere kontrollerer disse signaturer, før de accepterer posterne. Et forfalsket eller ændret svar har en ugyldig signatur og bliver afvist. DNSSEC beskytter mod cacheforgiftning og svarforfalskning, men krypterer ikke DNS-forespørgsler.
Zonesigneringsnøgle og nøglesigneringsnøgle
DNSSEC bruger et hierarki med to nøgler pr. zone. Zonesigneringsnøglen (ZSK) bruges til den daglige signering af enkelte DNS-postsæt. Nøglesigneringsnøglen (KSK) signerer kun DNSKEY-postsættet, som indeholder de offentlige nøgler for både ZSK og KSK. ZSK'en kan udskiftes ofte, f.eks. hver måned, mens KSK'en ændres sjældnere, f.eks. årligt, fordi KSK'ens hashværdi skal registreres i den overordnede zone, og udskiftningen er driftsmæssigt kompleks.
RRSIG: Signaturer for ressourceposter
Alle signerede DNS-postsæt, kaldet RRset, har en tilsvarende RRSIG-post, der indeholder den kryptografiske signatur over det pågældende RRset. Når en resolver anmoder om en DNS-post, indeholder svaret både posten og dens RRSIG. Resolveren verificerer RRSIG'en ved hjælp af zonens offentlige nøgle. Signaturen dækker postens indhold, type, klasse og udløbstidspunkt, hvilket forhindrer både ændringer og genbrug af gamle gyldige signaturer.
DS-poster: Forbindelse mellem overordnede zoner og underzoner
Tillidskæden i DNSSEC bygges gennem Delegation Signer-poster (DS-poster). Når en zone delegerer til en underzone, offentliggør den overordnede zone en DS-post, der indeholder en hashværdi af underzonens KSK. En resolver, der har tillid til den overordnede zone, kan kontrollere, at underzonens KSK-hashværdi stemmer overens med DS-posten, og dermed etablere tillid til underzonens signaturer. Denne kæde strækker sig fra DNS-rodzonen gennem topdomæner til de enkelte domænezoner.
DNSKEY-post: Publicering af zonens offentlige nøgle
Alle DNSSEC-signerede zoner offentliggør deres offentlige signeringsnøgler i DNSKEY-poster. Der er typisk to DNSKEY-poster: én for ZSK og én for KSK. Hashværdien af KSK'ens offentlige nøgle registreres som en DS-post i den overordnede zone, hvilket forankrer zonens tillid hos den overordnede zone. Hashværdien af rodzonens KSK er hardkodet i validerende resolvere som det ultimative tillidsanker, kaldet tillidsankeret for rodzonen.
Tillidskæden fra rod til slutzone
DNSSEC-validering begynder ved rodzonen, hvis KSK-tillidsanker er hardkodet i resolverne. Rodzonens DNSKEY bruges til at verificere dens RRSIG, som autentificerer DS-posterne for topdomæner som .com. .com-zonens DNSKEY verificerer dens RRSIG for DS-posterne for de enkelte domæner. Denne kæde af kryptografisk verificering strækker sig fra rodzonen til det forespurgte domæne og sikrer, at hvert led er autentificeret.
DNSSEC-validering i resolvere
Når en DNSSEC-validerende resolver modtager et svar, udfører den en fuld verificering af tillidskæden. Den henter DNSKEY-poster, verificerer RRSIG-signaturer, følger DS-posterne op til rodens tillidsanker og kontrollerer signaturernes udløbstidspunkter. Hvis valideringen mislykkes, returnerer resolveren en SERVFAIL-fejl i stedet for de potentielt forfalskede poster. De fleste større offentlige resolvere, herunder Cloudflares 1.1.1.1 og Googles 8.8.8.8, udfører DNSSEC-validering.
Udfordringer ved implementering af DNSSEC
Implementeringen af DNSSEC er gået langsomt på trods af sikkerhedsfordelene. Udskiftning af nøgler kræver koordinering mellem zoneoperatører og overordnede registre. En fejl under udskiftning af KSK kan gøre hele zonen utilgængelig. ICANN's udskiftning af rodzonens KSK i 2019 krævede flere års forberedelse. Zonens størrelse øges betydeligt på grund af signaturerne. Operatører skal implementere automatisk nøgleudskiftning og overvågning. Disse driftsmæssige kompleksiteter har fået mange mindre domæneoperatører til at undlade DNSSEC.
DNSSEC krypterer ikke DNS-trafik
En almindelig misforståelse er, at DNSSEC beskytter privatlivets fred for DNS-forespørgsler. Det gør den ikke. DNSSEC autentificerer kun svar; forespørgsler og svar sendes stadig som UDP-pakker i klartekst på port 53. Alle, der overvåger netværket, kan derfor stadig se hvert forespurgt domænenavn. DNS-over-TLS (DoT) og DNS-over-HTTPS (DoH) beskytter forespørgslernes privatliv ved at kryptere DNS-trafikken. DNSSEC og DoH/DoT supplerer hinanden: Den ene giver ægthed, mens den anden giver fortrolighed.
DNSSEC i den virkelige verden
Fra 2024 er cirka 90 procent af DNS-rodzonen og de største topdomæner signeret med DNSSEC. Men kun omkring 20 til 30 procent af de enkelte domænenavne er signerede. Udbredelsen af DNSSEC-validering i browsere og applikationer er ujævn. DNSSEC's sikkerhedsfordel er størst, når den kombineres med DANE (DNS-Based Authentication of Named Entities), som bruger DNSSEC til at offentliggøre fingeraftryk af TLS-certifikater og giver klienter mulighed for at verificere certifikater uden udelukkende at være afhængige af certifikatmyndigheder.
DNSSEC-tillidskæden
Hvordan etablerer en DNSSEC-validerende resolver tillid til et domænes DNS-poster fra bunden?
DNSSEC: Vigtigste pointer
DNSSEC føjer kryptografiske signaturer til DNS-svar for at forhindre cacheforgiftning og svarforfalskning. ZSK'er signerer postsæt, KSK'er signerer DNSKEY-poster, og DS-poster forbinder tilliden mellem overordnede zoner og underzoner. Valideringen begynder ved det hardkodede tillidsanker for rodzonen. DNSSEC krypterer ikke DNS-trafik; DoH og DoT beskytter privatlivet, mens DNSSEC giver ægthed. Driftsmæssig kompleksitet, herunder udskiftning af nøgler, har bremset den brede udbredelse.
Lær Cryptology Academy med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 67
- Lektioner
- 261
Ofte stillede spørgsmål
Er lektionen “DNSSEC: Autentificering af DNS-svar” gratis?
Ja — hele teksten til “DNSSEC: Autentificering af DNS-svar” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Cryptology Academy-kurset, skal du opgradere til CoddyKit PRO. Cryptology Academy-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “DNSSEC: Autentificering af DNS-svar”?
Lær, hvordan DNSSEC bruger digitale signaturer til at beskytte DNS mod spoofing og cache poisoning-angreb. Du øver dig i Cryptology Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Cryptology Academy?
Der kræves ingen tidligere erfaring. Cryptology Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.
Hvor lang tid tager lektionen “DNSSEC: Autentificering af DNS-svar”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Cryptology Academy-lektion?
Ja. Alle Cryptology Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Hvad kendetegner en sikker protokol
- SSH: Sikring af fjernadgang
- SFTP og SCP: Sikker filoverførsel
- DNSSEC: Autentificering af DNS-svar