Wat is DNS Security Extensions (DNSSEC)?

Gepubliceerd op 24 augustus 2022 door Rense Middelbos

DNSSEC is de cryptografische beveiliging van het DNS-protocol. Het Domain Name System, beter bekend als DNS vertaalt domeinnamen naar IP-adressen zodat webbrowsers de website kunnen laden. DNSSEC zorgt voor digitale handtekeningen van deze DNS-informatie (records) zodat klanten de authenticiteit van de content kunnen verifiëren.

De geschiedenis van DNS Security Extensions (DNSSEC)

Het Domain Name System (DNS) is een essentiële internetservice, maar in 1990 ontdekte Steve Bellovin een ernstig beveiligingslek in DNS. Het onderzoek naar de beveiliging ervan begon. De aanvankelijke RFC 2065 werd in 1997 door de IETF gepubliceerd, en de eerste pogingen om die specificatie te implementeren leidden in 1999 tot een herziene (en volledig werkbaar geachte) specificatie als IETF RFC 2535. Er werden plannen gemaakt om DNSSEC in te voeren op basis van RFC 2535. Helaas had de IETF RFC 2535-specificatie zeer grote problemen bij het opschalen naar het volledige internet; tegen 2001 werd duidelijk dat deze specificatie onbruikbaar was voor grote netwerken.

De IETF heeft DNSSEC daarom fundamenteel gewijzigd. Dit betekent wel dat clients iets meer werk moeten doen bij het verifiëren van de records maar de meesten beschouwen dit als een kleine prijs die moet worden betaald, aangezien DNSSEC hierdoor beter kan worden geïmplementeerd.

Hoe wordt DNS Security Extensions (DNSSEC) toegepast?

DNSSEC is een uitbreiding van het DNS-protocol. Clients die deze beveiliging ondersteunen ontvangen adresgegevens met een digitale handtekening van de nameserver. De authenticiteit van deze DNS-records kan worden geverifieerd met behulp van de openbare sleutel van het betreffende domein. Domeinnaamhouders plaatsen ze (via hun registrars) een niveau hoger in de DNS-hiërarchie. Voor een .nl-domeinnaam staat de publieke sleutel dus op de nameservers van de SIDN (de beheerder van het .nl-topleveldomein). Deze sleutel wordt aan de klant verstrekt in de vorm van een hashcode. Hiermee kan de klant verifiëren dat de publieke sleutel met adresinformatie die hij ontvangt van de nameserver inderdaad dezelfde is als de publieke sleutel die door de domeinnaamhouder of beheerder in het register is geregistreerd. Op deze manier worden op verschillende niveaus van de DNS-hiërarchie “vertrouwensketens” tot stand gebracht.

Waar beschermt DNS Security Extensions (DNSSEC) niet tegen?

DNSSEC beveiligt de overdracht van nameservers en DNS-informatie naar klanten. De client zelf is echter niet veilig. Als een pc bijvoorbeeld is geïnfecteerd met malware, kunnen de resolver (het deel van het besturingssysteem op de client dat verantwoordelijk is voor het vertalen van domeinnamen naar IP-adressen) en lokale caches vaak ook worden gemanipuleerd.

Momenteel is de client de zwakste schakel in de hele keten. Maar naarmate de beveiliging daar verbetert, zullen aanvallers hun aandacht richten op de overdracht van nameservers en DNS-informatie. Bovendien heeft de beveiliging van het DNS-protocol de afgelopen jaren zijn eerste fijne scheurtjes gezien. Het meest schokkend is de exploit die Dan Kaminsky in 2008 liet zien: hij liet zien hoe kwaadwillenden daadwerkelijk valse informatie konden injecteren in de caches van de meest gebruikte DNS-servers. DNSSEC biedt hiervoor een sterke cryptografische bescherming.

Vers van de pers…

Hoe zet ik leesbevestigingen uit binnen WhatsApp?

16 februari 2023

Hoe schakel ik end-to-end encryptie in voor een WhatsApp back-up?

16 februari 2023

Hoe stel ik twee-staps verificatie in op WhatsApp?

16 februari 2023