DANE maakt PKI-systeem weer veilig en betaalbaar

Deze zomer is de specificatie voor DANE als officiele RFC gepubliceerd. DANE, kort voor DNS-based Authentication of Named Entities, is een uitbreiding van DNSSEC. Daarmee kunnen ook sleutels en certificaten voor beveiligde websites in het DNS -systeem worden opgenomen.

DANE maakt het PKI-systeem weer veilig en betaalbaar, vertelt Marco Davids, Technisch Adviseur bij SIDN, de beheerder van het .nl top-level domein. De certificaten waarmee websites, en in mindere mate ook e-mail, op dit moment worden beveiligd, zijn vrij prijzig. Bovendien kent het PKI-systeem enkele ernstige tekortkomingen.

Extra check

Het belangrijkste probleem is de grote hoeveelheid root-CA's (Certificate Authorities), de organisaties die de certificaten uitgeven. Dat vergroot de kans op incidenten. Het DigiNotar-debacle is daar een goed voorbeeld van. Daarbij wist een hacker in te breken in hun systemen en valse certificaten aan te maken, gekoppeld aan domeinnamen die helemaal geen relatie hebben met DigiNotar. Zo konden websites die zich voordeden als Google Mail de browser voor de gek houden. Gebruikers zien gewoon een geldig certificaat en het bekende 'slotje'.

DANE voegt een extra check toe aan het PKI-systeem, vervolgt Davids. De browser controleert dan niet alleen of er sprake is van een geldig certificaat; er wordt ook geverifieerd of het bewuste certificaat daadwerkelijk bij het betreffende Domeinnaam /website hoort. Deze laatste controle is gebaseerd op DNS en DNSSSEC.

Deze methode werkt zo goed, dat je zelfs zou kunnen overwegen om DANE te gebruiken als vervanger van de CA-certificaten. Dan koop je niet langer een certificaat bij een root-CA, maar genereer je een 'self-signed certificaat', dat tot nu toe een waarschuwing in de browser oplevert. Op die manier kan fiks op kosten worden bespaard. Niet voor niets zijn de root-CA's nogal huiverig voor deze ontwikkeling.

Twee doelgroepen

Paul Wouters, Senior Software Engineer bij Red Hat en auteur van de ExtVal-plugin voor Firefox, ziet twee belangrijke doelgroepen voor DANE. Het is een internet-beveiligingstechnologie die in principe van belang is voor iedereen. Maar voor de gebruikers van TLS-certificaten (HTTPS) is deze ontwikkeling extra interessant.

  1. mensen die geen geld hebben voor hun TLS/SSL-certificaten:
    Met name middelgrote en kleine bedrijven, en particulieren, maken gebruik van self-signed certificaten. Die moet de bezoeker wel steeds wegklikken in zijn browser. Deze groep kan straks DNSSEC gebruiken om de certificaten te verifiëren.
  2. CA pinning door grote bedrijven:
    Voor grote bedrijven als banken, multinationals en postorderbedrijven is de prijs van een certificaat van geen belang. Zij kopen de EV-certificaten (Extended Validation) die een groen balkje aan je URL bar toevoegen. Maar als één van de meer dan 600 root-CA's gekraakt wordt en bijvoorbeeld PayPal-certificaten uitgeeft, dan is er op dit moment niets dat PayPal daar aan kan doen. Met DANE kunnen ze straks wel aangeven welke CA's certificaten voor hun domeinen mogen uitgeven.

DNSSEC killer app

In de kersverse RFC 6698 kunnen we lezen (paragraaf 4.1) hoe DANE en DNSSEC onlosmakelijk met elkaar verbonden zijn: De vraag of een TLSA record mag worden gebruikt, moet gebaseerd zijn op een DNSSEC-validatie. Blijkt die validatie niet in orde te zijn, dan mag de TLS-verbinding niet worden opgestart. En als de handshake al is begonnen, dan moet die worden afgebroken.

DANE leunt zwaar op DNSSEC, zegt Davids. Daarmee wordt voorkomen dat een hacker valse DANE-informatie via DNS zou kunnen verspreiden, en zo de browser (die deze informatie nodig heeft om een PKI-certificaat te kunnen controleren) alsnog op het verkeerde been zet.

Je kunt die TLSA records voor het DANE-protocol alleen vertrouwen als die via DNSSEC gevalideerd kunnen worden, vult Wouters aan. Je hebt DNSSEC dus nodig om DANE om een goede manier te kunnen doen. Veel mensen zien DANE dan ook als de 'killer application' voor DNSSEC. Voor hen was DNSSEC op zichzelf tot nu toe meer een theoretische beveiliging zonder veel waarde in de praktijk. DNS spoofing en Kaminsky-aanvallen kom je in het wild niet echt tegen. Met DANE is er nu een hele goede reden om DNSSEC te gebruiken.

Ondersteuning

Nu met de publicatie van de RFC de DANE-standaard officieel af is en klaar voor gebruik, komt de ondersteuning langzaam op gang. DNS-servers ondersteunen in toenemende mate de TLSA records, en voor de web-browsers zijn inmiddels diverse plugins beschikbaar.

Veel software-ontwikkelaars beginnen niet aan de implementatie voordat de standaard af en gepubliceerd is, zegt Wouters. Nu het zo ver is, werken meerdere developers aan de ondersteuning van DANE. Voorbeeld daarvan zijn de GnuTLS-mensen die DANE nu in hun code opnemen.

De ExtVal-plugin van Wouters, op zijn beurt weer gebaseerd op een DNSSEC-plugin van Danny Groenewegen, kan als basis en proof-of-concept dienen voor de implementatie van DANE in Firefox. Dat maakt het voor de ontwikkelaars makkelijker om van start te gaan.

Stervend business model

Volgens Wouters zullen de zakelijke consequenties van DANE met name voor de CA's groot zijn. We zien dat het CABforum, de vereniging van CA's, probeert meer open te zijn. Maar het is maar de vraag of dat nog wat oplevert; hun model is stervende. Het idee dat geld een barrière vormt voor criminelen, en dure web-certificaten zo een bijdrage leveren aan de veiligheid is zwaar achterhaald. Criminelen weten precies waar en wanneer ze moeten investeren.

De gewone DV-certificaten (Domain Validated) bieden nauwelijks bescherming, want iederen die (tijdelijk) mail kan ontvangen op een bepaald domein (via DNS spoofing of het kraken van een DNS-server) kan zo een certificaat krijgen. En typo-domeinen, bijvoorbeeld dnsssec.nl, kan ik zelf aanvragen en opzetten, om er vervolgens zonder problemen een certificaat voor te krijgen.

Hoe meer checks een CA provider uitvoert voor een DV-certificaat, hoe moeilijker het voor hem is om klanten binnen te halen, want die gaan gewoon naar de allergoedkoopste en dus de makkelijkste en minst veilige CA. Datzelfde zal ook gebeuren met de EV-certificaten, omdat de drijfveren in de markt dezelfde zijn.

DANE voor e-mail

Ondertussen wordt alweer zachtjes gewerkt aan een vervolg op deze eerste DANE-standaard: DANE voor SMTP. Deze verschilt niet wezenlijk van DANE voor het web, dus er is niets dat de invoering van DANE voor mail in de weg staat. Datzelfde geldt overigens voor alle plaatsen waar nu PKI-certificaten worden gebruikt.

Er zijn op dit moment twee drafts voor het gebruik van DANE voor e-mail, vertelt Wouters, een voor S/MIME en een voor SMTP-STARTLS. Omdat die vrij eenvoudig zijn, verwacht ik dat die snel beschikbaar zullen komen. Ik denk erover om zelf een GPGFP en OTRFP te schrijven als Draft voor de IETF. Daarmee kunnen ook PGP/GPG fingerprints en OTR fingerprints (Off-the-Record Messaging) veilig via DNSSEC worden opgevraagd.