Anwendung | DNSCurve | ||||
Transport | UDP | TCP | |||
Internet | IP (IPv4, IPv6) | ||||
Netzzugang | Ethernet | Token Bus |
Token Ring |
FDDI | … |
DNSCurve ist eine Technik zur sicheren Auflösung von Domain-Namen in IP-Adressen. Autor des im August 2008 veröffentlichten Protokoll-Vorschlags ist der Kryptologe Daniel J. Bernstein, welcher auf dem 27. Chaos Communication Congress 2010 auch das TCP-Pendant CurveCP vorstellte. DNSCurve ist ein Gegenentwurf zu DNSSEC.
Ziele und Funktionsweise
Zu den Zielen des Verfahrens gehört die Verbesserung der Vertraulichkeit, Integrität und Verfügbarkeit des Domain Name Systems.[1] DNSCurve verwendet ein asymmetrisches elliptische Kurven-Kryptosystem zur Authentifizierung von Nameservern. Die Übermittlung des öffentlichen Schlüssels erfolgt durch selbstzertifizierende Namen, das heißt, der öffentliche Schlüssel wird als Teil des Domain-Namens kodiert.
Der Domainname des Nameservers beginnt dabei mit der Zeichenfolge uz5
, gefolgt von einem 51 Byte langen, in Base32 kodierten String, welcher den 255 Bit langen öffentlichen Serverschlüssel darstellt. Beispielsweise sieht der Eintrag eines Nameservers im Format BIND folgendermaßen aus:
example.com. IN NS uz5bcx1nh80x1r17q653jf3guywz7cmyh5jv0qjz0unm56lq7rpj8l.example.com.
Die zonenübergreifende Sicherheit wird hergestellt, indem in den NS-Delegierungen und Glue Records ebenfalls die öffentlichen Schlüssel der untergeordneten Zone enthalten sind. Der Schlüsselaustausch zwischen den Zonen erfolgt manuell durch die Zonenbetreiber.
Bislang ist bei DNSCurve im hierarchischen Domain-Namensraums keine zentrale, vertrauenswürdige Stelle vorgesehen. Um die öffentlichen Schlüssel auf den höheren Ebenen wie der Root-Domain oder den Top-Level-Domains zu verteilen, schlägt Bernstein dezentrale Listen von Trust Anchors oder einen peer-to-peer-basierten Ansatz vor.
Neben der Authentifizierung dient das asymmetrische Kryptosystem zur Aushandlung eines symmetrischen Schlüssels für die Punkt-zu-Punkt-Kommunikation zwischen Resolver und Nameserver. DNSCurve-Nachrichten sind mit einem Message Authentication Code versehen und mit einem symmetrischen Kryptosystem verschlüsselt.
Kritik
Dan Kaminsky kritisiert an DNSCurve unter anderem die vorgesehene Schlüsselverteilung. Kaminsky sieht im Verzicht auf eine zentrale, vertrauenswürdige Stelle ein nach Zookos Dreieck unlösbares Problem. Die vorgeschlagenen Lösungen zur dezentralen Verteilung von Trust Anchors seien nicht sicher. Weitere von Kaminsky genannte Probleme von DNSCurve seien eine eingeschränkte Fähigkeit zum DNS-Caching und die Notwendigkeit der Online-Signierung, die das Vorhalten der privaten Schlüssel auf allen autoritativen Nameservern erfordert.[2] Dies ist jedoch bei der u. a. für Webserver gebräuchlichen TLS-Verschlüsselung ebenfalls der Fall und das Risiko eines Keydiebstahls kann durch den Einsatz eines HSM begrenzt werden.
Siehe auch
- DNS over HTTPS (DoH)
- Domain Name System Security Extensions (DNSSEC)
- DNS-based Authentication of Named Entities (DANE)
Einzelnachweise
- ↑ http://www.dnscurve.org. 22. Juni 2009.
- ↑ Dan Kaminsky: DNSSEC Interlude 2: DJB@CCC (englisch), 5. Januar 2011, abgerufen am 6. März 2011.