Cybersecurity Month: DNSSEC-algoritmes en waarom we overstappen
In ons vorige artikel hebben we het kort gehad over de beveiliging van je DNS-verkeer. Naast DNS-over-HTTPS en DNS-over-TLS of DoH en DoT die voorbijkwamen in het artikel over een superveilige VPN, is er nog een ander protocol dat veelvuldig gebruikt wordt: DNSSEC.
Wat is DNSSEC?
Wanneer je een website bezoekt, checkt je computer bij een DNS-server welk IP-adres er hoort bij de domeinnaam die je hebt ingetypt. Het verkeer dat hierbij gepaard gaat, wordt van oudsher onversleuteld verstuurd. Hierdoor is het gevoelig voor man-in-the-middle-aanvallen en andere problemen. Om het inmiddels toch wel aardig bejaarde DNS-protocol een handje te helpen zijn securityprotocollen bedacht, waar DNSSEC er eentje van is.
DNSSEC (Domain Name System Security Extensions) zorgt ervoor dat applicaties geen gemanipuleerde DNS-data kunnen gebruiken door het verkeer te voorzien van een digitale handtekening. In het geval van een .nl-domeinnaam is dat het verkeer tussen de nameservers van een domeinnaam en SIDN, de beheerder van het .nl-domein. Omdat dit verkeer ondertekend is, kan een derde partij niet tussenbeide komen.
DNSSEC wordt door veel domeinregistries ondersteund en het gebruik ervan actief aangemoedigd. SIDN is er hier een van. De Nederlandse registry werkt daarnaast ook actief mee aan de development rondom het protocol. Het is dus niet verwonderlijk dat ze het gebruiken en het zo veilig mogelijk houden van het protocol aanmoedigen onder hun registrars, waar TransIP er een van is.
Algoritmes
Om DNSSEC te kunnen gebruiken, wordt vertrouwd op cryptografische algoritmes waarmee de keys versleuteld worden. Deze algoritmes zijn niet onbreekbaar en in het verleden zijn er al vaker problemen geweest met algoritmes die minder stabiel bleken te zijn. Een goed voorbeeld is de MD5-hash die jarenlang de standaard was, tot bleek dat het mogelijk was om dezelfde resultaten te krijgen uit twee verschillende startwaarden. Hoewel dit al in 1993 werd ontdekt, is MD5 nog steeds een veelgebruikt versleutelingsalgoritme. Maar het is dus allesbehalve aan te raden het nog te gebruiken.
En zo zijn er meer algoritmes die zijn ontwikkeld, in gebruik zijn genomen, maar uiteindelijk toch niet secuur genoeg blijken te zijn. Ook algoritmes op basis van SHA1 zijn in de loop der jaren uit de gratie gevallen omdat het gebruik van SHA1 achterhaald en afgeraden werd.
Rollover van 7 naar 8
TransIP gebruikte voorheen altijd het RSASHA1-NSEC3-SHA1-algoritme (algoritme 7) dat, zoals de naam doet vermoeden, gebaseerd is op SHA1. Eerder dit jaar zijn alle .nl-domeinnamen die TransIP in beheer heeft en die gebruikmaken van onze nameservers opnieuw ondertekend. Een groot deel van de domeinnamen is overgegaan op een algoritme gebaseerd op SHA2, oftewel algoritme 8. Die rollover kun je mooi terugzien in de statistieken van SIDN:
Daarnaast is een klein deel al over op een algoritme gebaseerd op ECC, algoritme 13. Het verschil tussen SHA2 en ECC is merkbaar in het formaat van de ondertekening: doordat het gebaseerd is op Elliptic-curve Cryptografie is de ondertekening bij algoritme 13 vele malen kleiner dan bij 7 of 8. Bij grote hoeveelheden domeinnamen, zoals bij TransIP in beheer zijn, kan dat behoorlijk aantikken.
Toekomst
De overstap viel voor TransIP samen met de overgang van TransDNS naar PowerDNS. TransDNS ondersteunde namelijk rollovers naar een nieuw algoritme nog niet, maar PowerDNS al wel. Hierdoor werd de omschakeling ons veel makkelijker gemaakt. Dankzij onze overstap naar PowerDNS hebben we het voordeel van opensource-ontwikkelde software om ons te ondersteunen. In de hopelijk nabije toekomst zullen ook alle domeinnamen die nu ondertekend worden met algoritme 8 overgezet worden op 13. Aan deze stap van het proces wordt nu hard gewerkt.
Bedankt voor het toelichten!