DNS based Authentication of Named Entities (DANE) is de beste kandidaat om het vertrouwen in de Public Key infrastructure ( PKI) te herstellen. Maar zelfs DANE is niet zaligmakend, zo betoogt technisch adviseur Marco Davids van SIDN.
Is DANE echt een veilige oplossing om certificaten te verifiëren? Is het de redding van het PKI?
'DANE (in combinatie met DNSsec) voegt een extra beveiligingslaag toe en dus wordt het met DANE de kwaadwillenden weer ietsje moeilijker gemaakt. Meer niet vrees ik. Het is dus niet zaligmakend. Maar goed, een hacker hoeft nu 'alleen maar' binnen te dringen bij een van de vele CA's. Wat met zo'n groot aanbod aan leveranciers niet moeilijk is gebleken: er zijn er een paar tussen die hun beveiliging vreselijk slecht op orde hebben, zo bleek bij Diginotar. Maar er zijn ook andere aanvalsvectoren, zoals omkoping of je uitgeven voor iemand die je niet bent. Als het goed is gaat geen enkele CA jou een certificaat voor www.sidn.nl leveren, omdat je ons niet vertegenwoordigt. Maar toch is het andere bedrijven wel eens overkomen.'
'Met een volledig operationele DANE/DNSsec-infrastructuur, zal de hacker echter ook nog moeten binnendringen in de DNS-omgeving van de site waarvan hij het webverkeer wil onderscheppen. Een extra barrière dus.'
'Het vertrouwen van de PKI is op dit moment tot een historisch dieptepunt gedaald. Er moet heel wat gebeuren om dat vertrouwen weer te herstellen. Alleen wat? Er is geen pasklare oplossing. DANE is het meest concrete antwoord op dit moment, zij het dat DANE ook nog in een vroege ontwikkelingsfase verkeert.'
Wat zijn mogelijke beveiligingszwakheden in DANE?
'De DNS-beheerder wordt feitelijk een soort CA. Hij moet zijn private sleutels heel goed beveiligen en zorgen dat er geen hackers op zijn 'signing-infrastructuur' kunnen binnendringen.'
'Maar hij moet ook goed verifiëren of gegevens kloppen voordat hij het in het DNS gaat publiceren. Dat betekent feitelijk dus dezelfde beveiligingsproblematiek als bij CA's.'
Wanneer komt DANE waarschijnlijk beschikbaar?
'Lastig te zeggen. Dat kan nog wel even duren. Jaren waarschijnlijk. Tenzij de nood zo hoog is dat de ontwikkeling ervan in een stroomversnelling komt. De meest recente CA-incidenten dragen daar natuurlijk wel enorm aan bij.'
'Partijen als Google hebben hier ook veel invloed op. Ik geloof wel dat ze bij Google gecharmeerd zijn van DANE en als dergelijke invloedrijke partijen overtuigd zijn, kan het zomaar ineens heel snel gaan. Maar toch. Het kan even duren voordat de wereld helemaal aan de DANE/DNSsec is.'
Wat adviseer je bedrijven in de tussentijd?
'Er is niet echt een 'short term'-oplossing. 'Heel paranoïde systeembeheerders kunnen misschien de verzameling root-certificaten op de door hen beheerde pc's ontdoen van niet gebruikte certificaten of certificaten van uitgevers met een slechte reputatie, maar dat is ook een paardenmiddel. Goed patch-management blijft daarnaast natuurlijk geboden.'
DNS based Authentication of Named Entities (DANE)
'DANE is een uitbreiding op het DNS-protocol, net als DNSsec dat is', legt technisch adviseur Marco Davids van SIDN uit.
'Van een certificaat (een PKI-certificaat van een website) wordt een soort pasfoto gemaakt, een vingerafdruk zeg maar, ofwel een cryptografische hash. Die wordt in DNS opgenomen. Dus, stel dat we het certificaat van https://www.sidn.nl hebben, dan maken we daarvan een pasfoto (de hash) en dan plaatsen we die in de sidn.nl-zonefile.Dat doen we met een nieuw type resource record met de naam TLSA. Dat ziet er dan ongeveer zo uit:'
_443._tcp.www.sidn.nl. IN TLSA
(1 1 5c1502a6549c423be0a0aa9d9a16904de5ef0f5c98c735fcca79f09230aa7141 )
'Dat resource record wordt vervolgens beveiligd met een DNSsec-handtekening', aldus Davids. 'Wanneer een browser op https://www.sidn.nl komt, ontvangt hij het certificaat wat hij, wanneer het geen self signed-certificaat is, kan valideren op de klassieke manier. Maar daarnaast kan de browser ook de cryptografische hash berekenen en via een DNS-query het bijbehorende TLSA record opvragen en vervolgens gegevens beide met elkaar vergelijken.'
'Klopt de vergelijking, dan heeft de browser een extra aanwijzing dat het certificaat in orde is. Op de klassieke manier kan alleen worden vastgesteld of het certificaat geldig is, maar niet of het ook het echte certificaat is (of de uitgever klopt bijvoorbeeld). Met DANE kan dat dus wel.'
'Aardige bijkomstigheid: met DANE zou je dus ook self signed-certificaten kunnen verifiëren. Dat is de reden waarom sommigen denken dat DANE het einde is van de duur betaalde SSL-certificaten business.'
Het is eigenlijk grappig.
Eerst was het: “DNS is niet veilig”, “laten we PKI gebruiken om DNS veiliger te maken” (mbv DNSSEC). En nu is het “PKI is niet veilig”, “Laten we DNS gebruiken om PKI veiliger te maken”.
Er is niets mis met PKI. PKI is nog net zo veilig als altijd zolang je maar zorgt dat er aan een paar basisvoorwaarden is voldaan zoals dat de “Trusted Third Party” ook echt een vertrouwde partij is. De problemen die zich nu hebben voorgedaan hebben meer te maken met de grootschaligheid van het Internet en het gemak waarmee eindgebruikers gebruik moeten kunnen maken van “beveiligde” verbindingen. Waarom worden er standaard zoveel “root” certificaten meegeleverd? Dat heeft voor een deel te maken met gemak. Een Mexicaan wil kunnen inloggen bij een Mexicaanse notaris en een Nederlander wil kunnen inloggen bij een Nederlandse notaris. Alleen waarschijnlijk niet vice versa. De gemiddelde Nederlander kan best zonder de root van de Mexicaanse notarisvereniging. Het probleem is alleen dat de gemiddelde Nederlander niet snapt hoe PKI werkt (en begrijpelijk niet wil snappen) en dus volledig vertrouwd op wat er standaard bij het OS komt.
DANE zal zeker helpen om SSL beter te beveiligen aangezien de DNS nu een extra middel geeft om te controleren of het certificaat behoort bij de URL. In vraag mij alleen wel af of de Iraniërs die zijn afgeluisterd er veel mee opschieten. Misschien zijn ISPs in Iran niet zo happig op het aanbieden van DNSSEC.
Mogelijk is de presentatie van Moxie Marlinspike (Blackhat 2011) een goede bron van informatie.
Hij heeft een heel ander voorstel CONVERGENCE genaamd.
Juist omdat we niet echt zitten te wachten op een tweede reeks CA’s.
Een van de voordelen van Convergence is dat er aan bestaande infra nauwelijks iets veranderd hoeft te worden. In tegenstelling tot technieken als DNSsec, DANA en IPv6. Daardoor kan op heel korte termijn een begin met het terugwinnen van vertrouwen worden gemaakt.
Voor de gewone gebruiker is het bij Convergence daarentegen niet te doen om te selecteren wie te vertrouwen is. Welke partij gaat hem/haar daarbij helpen en is die dan weer te vertrouwen?