DNSSEC – Domain Name System Security Extensions

Erhöhte Sicherheit im Netz

Der Internetnutzer geht davon aus, dass Daten unverfälscht und verlässlich im Internet übertragen werden. Die überwiegende Zahl aller Internetdienste und -verfahren verlässt sich dabei auf eine zuverlässig funktionierende und korrekte Auflösung von leicht merkbaren Domainnamen auf IP-Adressen durch das Domain Name System (DNS). Das dabei verwendete DNS-Protokoll selbst besitzt jedoch keine Maßnahmen zum Schutz seiner Inhaltsdaten. Insbesondere gibt es keine Sicherung der Daten gegen Veränderungen auf dem Transportweg oder in den durchlaufenden Servern und Zwischenspeichern (Caches). Verfälschungen können daher weder erkannt noch verhindert werden.

An dieser Stelle kommt DNSSEC = Domain Name System Security Extensions ins Spiel: Es handelt sich dabei um standardisierte Erweiterungen zum DNS-Protokoll, die der sogenannten Quellenauthentisierung dienen. Darunter versteht man die Sicherung des Pfades zwischen DNS-Servern und validierenden DNS-Klienten. Dazwischen liegende Resolver mit ihren Caches sind dabei eingeschlossen. DNSSEC hilft sicherzustellen, dass zu einem angefragten Domainnamen die hinterlegte IP-Adresse zurückgeliefert wird.

Ein Beispiel: Gibt man in den Browser die Domain seines Online-Banking-Portals ein, so kann DNSSEC sicherstellen, dass der Rechner die Verbindung mit der hinterlegten, von der Bank veröffentlichten IP-Adresse für den Webserver des Banking-Portals aufbaut. Es kann nicht mehr von Dritten eine falsche IP-Adresse eingeschleust werden, hinter der sich dann möglicherweise eine Imitation des Online-Banking-Portals verbirgt. Im Fall einer solchen Fälschung von IP-Adressen spricht man von Cache Poisoning, gegen das DNSSEC einen wirksamen Schutz bietet. DNSSEC beinhaltet jedoch keine Aussagen bezüglich der Korrektheit der initial eingestellten Daten: Ob die ursprünglich eingepflegten Daten einer Website inhaltlich korrekt oder harmlos sind, kann mit DNSSEC nicht erkannt werden.

Die Funktionsweise von DNSSEC

DNSSEC überprüft die Daten anhand von kryptografisch gesicherten Signaturen, die über die zu schützenden Daten errechnet und zusammen mit den Daten an den Client übertragen werden. Anhand der verwendeten Signatur lässt sich prüfen, ob die Daten von einer dazu berechtigten Quelle gesendet wurden. Gleichzeitig bietet die Signatur die Möglichkeit zu prüfen, ob Daten auf dem Transportweg verändert wurden.

Um digitale Signaturen zu erstellen, wird ein Schlüsselpaar generiert, das aus einem privaten und einem öffentlichen Schlüssel besteht. Der private Teil ist geheim und nur dem Besitzer bekannt. Der öffentliche Teil wird im DNS publiziert und mit ihm kann eine Unterschrift, die mit dem privaten Schlüssel signiert wurde, überprüft und validiert werden. Dem öffentlichen Schlüssel muss dabei vertraut werden. Hierzu wird eine Schlüsselhierarchie verwendet, die so genannte Chain of Trust. Sie dient dazu, dass alle Unterschriften mit nur einem öffentlichen Schlüssel überprüft werden können. Eine möglichst hoch im DNS-Baum angesiedelte Zone enthält die öffentlichen Schlüssel ihrer delegierten Subzonen und unterschreibt diese digital. Die Subzonen können wiederum die signierten öffentlichen Schlüssel ihrer untergeordneten Zonen enthalten usw. Für eine derartige Chain of Trust muss im Resolver eines zentralen Nameservers lediglich der öffentliche Schlüssel der obersten Zone bekannt sein.

DNS-Abfrage ohne DNSSEC

ohne_DNSSEC.png

DNS-Abfrage mit DNSSEC

mit_DNSSEC.png

DNSSEC für .de

Für die Top Level Domain .de ist DNSSEC seit Mai 2011 aktiv und wird als optionales Sicherheitsfeature angeboten.

Um als Internetnutzer von DNSSEC zu profitieren, ist ein validierender Resolver notwendig. Dieser wertet die Schlüssel und Signaturen aus und unterdrückt gefälschte DNS-Antworten. Validierende Resolver können auf dem Endsystem (PC, Laptop etc.) direkt betrieben werden. In anderen Fällen kann der Internetprovider oder die IT-Abteilung diese Dienstleistung zur Verfügung stellen. Die Vorteile von DNSSEC werden sich mit der Verbreitung der validierenden Resolver dann so richtig erschließen.

Wenn Sie DNSSEC für Ihre eigene/n Domain/s nutzen möchten, müssen diese signiert und das öffentliche Schlüsselmaterial bei DENIC hinterlegt werden, was über eine automatische Schnittstelle durch jeden Provider vorgenommen werden kann. Bitte wenden Sie sich dazu an Ihren Provider.

Eine DNSSEC-signierte Domain kann wie eine unsignierte Domain den Provider wechseln. Ein Wechsel des Providers für DNSSEC-signierte Domains erfolgt nach einem standardisierten Verfahren, das für Nameserver-Betreiber den Operator-Wechsel und den Übergang der Schlüsselverwaltung klar regelt.

Die Antworten auf die wichtigsten Fragen haben wir für Sie im Bereich DNSSEC-FAQs zusammengefasst.

Hintergrundwissen zu DNSSEC

DNSSEC ist eine Protokollerweiterung, die das Domain Name System (DNS) um Quellenauthentisierung ergänzt. Hierbei lässt sich mittels Public-Key-Technologie sicherstellen, dass eine Antwort des DNS exakt den Informationen entspricht, die der verantwortliche Zonenverwalter in das System eingepflegt hat. Mit DNSSEC werden insbesondere die in RFC3833 beschriebenen protokoll-inhärenten Risiken adressiert. Die IETF hat an der Entwicklung von DNSSEC mehr als zehn Jahre gearbeitet und schließlich im März 2005 die drei RFCs RFC4033, RFC4034 und RFC4035 veröffentlicht. Diese Trilogie ist auch unter dem Namen "DNSSECbis" bekannt.

Ein gravierendes Problem von DNSSECbis stellt das sogenannte "Zone Walking" dar: Durch die vollständige Auflistung des Zoneninhalts stellt dieser Effekt jedoch einen Schlüssel zu den Registrierungsdaten sowie zu sämtlichen Änderungen am Zoneninhalt dar. Für die DENIC wie für einige andere - vorrangig, aber nicht ausschließlich europäische - Registries ist dieser Effekt nicht mit den Datenschutzverpflichtungen vereinbar. Zur Lösung dieses Problems verfolgte die IETF zwei Ansätze, die inzwischen als "Proposed Standard" veröffentlicht sind.

Die Dokumente RFC4470 und RFC4471 beschreiben eine Methode zur dynamischen Erzeugung von NSEC-Records und ihren Signaturen. Wegen der Notwendigkeit, die DNSSEC-Schlüssel dafür auf allen Nameservern vorzuhalten, wird dieses Verfahren jedoch nur in Ausnahmefällen einsetzbar sein, so dass dafür bis heute noch keine Implementierungen existieren. Die zweite Lösung, NSEC3 (beschrieben in RFC5155), macht durch geschickte Verschleierung die Ergebnisse eines etwaigen Zone Walking wertlos und unbrauchbar. Dieses Verfahren ist in den gängigen Nameserver- und Resolverimplementierungen umgesetzt. In beiden Fällen war DENIC an der Entwicklung beteiligt.

DNSSEC-Aktivitäten mit Beteiligung der DENIC eG

DNSSEC-Testbed zur Evaluierung von DNSSEC für .de

RIPE-Meeting Mai 2010 in Prag:
Vortrag The .de DNSSEC testbed von Peter Koch

Workshop auf der Voice+IP Germany 2009:
Präsentation zu DNSSEC

Mitarbeit in der DNSSEC-Deployment-Initiative:
www.dnssec-deployment.org

Domain pulse 2006 in Berlin:
Vortrag von Peter Koch

ENISA-Newsletter Oktober 2005:
Artikel von Jaap Akkerhuis und Peter Koch

DFN-CERT 2005:
DNSSEC-Vortrag von Roy Arends und Peter Koch

European Internet Forum in Frankfurt 2004:
Vortrag DNSSEC and the Zone Enumeration von Marcos Sanz

DNSSEC beim DFN-CERT 2001:
Bericht
Präsentation