DNSCurve
# DNSCurve

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 Professor Daniel J. Bernstein, welcher auf dem 27. Chaos Communication Congress 2010 auch das TCP-Pendant CurveCP vorstellte.

## Ziele und Funktionsweise

Zu den Zielen des Verfahrens gehört die Verbesserung der Vertraulichkeit, Integrität und Verfügbarkeit des Domain Name Systems. DNSCurve ist ein Gegenentwurf zu DNSSEC.

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. 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. 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.

