DNS-based Authentication of Named Entities (DANE) is een internetbeveiligingsprotocol waarmee X.509-certificaten, die vaak worden gebruikt voor Transport Layer Security (TLS), kunnen worden gekoppeld aan domeinnamen met behulp van Domain Name System Security Extensions (DNSSEC).[1] Hiervoor wordt een hash van het certificaat of van bijhorende publieke sleutel in de DNS-zone van het domein opgenomen.
De standaard is geformaliseerd in RFC 6698 als een manier om client- en serverentiteiten te laten authentiseren zonder gebruik van een certificeringsinstantie (CA). Daarnaast geeft de aanwezigheid van de standaard aan dat alleen een beveiligde verbinding geaccepteerd wordt, waardoor een client direct kan beginnen met het opzetten van de TLS-verbinding.
TLS/SSL-encryptie is gebaseerd op certificaten die zijn uitgegeven door certificeringsinstanties (CA's). Er zijn meerdere incidenten bekend waarbij de betrouwbaarheid van CA-providers werd gecomprimiteerd, ook in Nederland. Hierdoor konden certificaten voor bekende domeinen worden uitgegeven aan aanvallers die deze domeinen niet bezitten.
Het vertrouwen van een groot aantal CA's kan een probleem zijn, omdat iedere CA in theorie een certificaat kan uitgeven voor iedere domeinnaam. DANE stelt de beheerder van een domeinnaam in staat om de sleutels of certificaten die in de TLS-clients of -servers van dat domein worden gebruikt, te certificeren door ze op te slaan in het Domain Name System (DNS). DANE gebruikt vervolgens een ondertekening met DNSSEC om zijn beveiligingsmodel te laten werken. Het certificaatvertrouwen wordt hierin geput uit de cryptografische handtekening van DNSSEC, waardoor vertrouwen vanuit een CA niet langer noodzakelijk is.
In eerdere jaren van het internet waren er geen algemeen geïmplementeerde standaard voor versleutelde e-mails.[2] Het proces van het verzenden van een e-mail is niet ontworpen om beveiligd uit te voeren. Daarom wordt er alleen gebruik gemaakt van versleuteling als dit aangeboden wordt.[3] In combinatie met DNSSEC kan DANE, zoals beschreven in RFC 7672, een versleutelde e-mailverbinding garanderen. Het hebben van een DANE-record geeft aan dat de afzender TLS moet gebruiken.[4]
Op mailservers worden sporadisch certificaten gebruikt die zelf ondertekend zijn, in plaats van uitgegeven door een CA. Door het gebruik van DANE kunnen ook deze certificaat van een vertrouwenskenmerk worden voorzien.
DANE wordt geconfigureerd met het TLSA DNS-record. Het record specificeert dat certificaatbeperkingen moeten worden toegepast voor de services op een bepaalde TCP- of UDP-poort.
Het record zelf heeft vier velden, die beschrijven respectievelijk welk validatieniveau de domeineigenaar biedt, of een hash van het gehele certificaat of publieke sleutel gegeven wordt, welke hashfunctie wordt gebruikt en als laatste de hash horende bij het certificaat.
Een voorbeeld van een TLSA-record is:
_25._tcp.example.nl. TLSA 3 1 1 0123456789ABCDEF