DNSSEC im Detail

Die Kommunikation im Internet verwendet weitestgehend das DNS, um Informationen nachzuschlagen. DNSSEC sichert das DNS-Protokoll ab und verbessert somit die Sicherheit der gesamten Kommunikation im Internet. Im Folgenden erläutern wir dies etwas genauer.

Wie funktioniert das DNS (Domain Name System)?

Das DNS kann man sich als global verteiltes Telefonbuch vorstellen, das die weltweit eindeutigen Domain-Namen (switch.ch) den weltweit eindeutigen Internet-Adressen (IP-Adressen wie z.B. 130.59.138.34) zuordnet. Die Domain-Namen dienen nur der vereinfachten Schreibweise.

Damit nicht alle Anfragen auf einem einzigen Server landen, ist das DNS hierarchisch aufgebaut. Der Namensraum wird in so genannte Zonen aufgeteilt. Für www.switch.ch wären das nach der obersten Hierarchie (Root) die Server für die Schweiz ("ch") und dann die Server von SWITCH ("switch.ch"). Die Zuständigkeiten der Zonen werden in der Hierarchie aufgeteilt (delegiert).

Wenn Sie mit Ihrem Rechner die Webseite www.switch.ch aufrufen wollen, wird der Name-Server Ihres Internet-Providers alle Stufen der obigen Hierarchie nacheinander abfragen. Jede Stufe, die die Antwort nach der Ziel-Adresse nicht kennt, gibt einen Hinweis auf die nächsttiefere Stufe. Der Server zuunterst in der Hierarchie kann am Schluss die Frage nach der Adresse beantworten.

Das Domain Name System (DNS) ist hierarchisch aufgebaut. Die Name-Server für ".ch" leiten Anfragen für Domain-Namen mit der Endung .ch (z.B. switch.ch) automatisch an die richtige Adresse weiter.

Was nützt DNSSEC?

Stellen Sie sich vor, jemandem gelingt es, Einträge im Telefonbuch zu ändern. Sie schlagen also die Telefonnummer von SWITCH nach und finden eine falsche Nummer. Hätten Sie eine Möglichkeit, unerlaubten Missbrauch zu erkennen? Wohl kaum. Im Internet ist solch ein Szenario möglich, indem ein Angreifer die oben beschriebene Hierarchie ändert. Falls es einem Angreifer gelingt, zum Beispiel falsche Daten in den Server Ihres Providers einzuschleusen (Cache Poisoning), würden Sie beim Aufruf von www.switch.ch auf einer anderen Webseite landen. Stellen Sie sich besser nicht vor, was passieren könnte, wenn es sich bei der gefälschten Webseite um die Ihrer Bank handelt. Oder wenn Sie die neueste Strategie Ihrer Firma dem "falschen" Mail-Server eines Partners senden.

Durch "Cache Poisoning" kann die Hierarchie verändert werden.

Da das Internet heute für alle möglichen Zwecke verwendet wird, können solche Hackerangriffe weitgreifende Auswirkungen haben. DNSSEC bietet einen grundlegenden Schutz vor solchen Attacken, nicht nur beim Aufruf von Webseiten.

DNSSEC kann nicht generell vor Phishing-Attacken schützen. Es bietet aber einen wirksamen Schutz vor Angriffen auf das DNS. Dies ist wichtig, da die meisten Phishing-Attacken von wachsamen Internetnutzenden entdeckt und verhindert werden können. Angriffe auf das DNS sind jedoch selbst für Experten kaum zu erkennen.

Wie funktioniert DNSSEC?

DNSSEC basiert auf kryptografischen Unterschriften oder Signaturen, mit denen die aktuellen DNS-Einträge unterschrieben (signiert) werden. Jeder, der im Internet für einen Domain-Namen (autoritativ) zuständig ist, kann seine Informationen mittels DNSSEC schützen. Alle Informationen, für die ein Dienstanbieter zuständig ist, werden mit dessen privatem Schlüssel unterschrieben und die Signaturen werden ins DNS geschrieben (RRSIG Record).

Ein Beispiel mit DNSSEC
Der Name-Server Ihres Internet-Providers folgt zur Auflösung einer Anfrage wieder der bekannten Hierarchie. Dieses Mal kann er jedoch anhand der empfangenen Unterschriften prüfen, ob die Herkunft der Antworten stimmt und ob eine Antwort unterwegs verändert wurde. Erst wenn alle Informationen korrekt sind, wird er antworten.

Mit DNSSEC erkennt der Name-Server Ihres Internet-Providers eine durch "Cache Poisoning" veränderte Hierarchie.

Wie können nun aber alle diese Unterschriften überprüft werden?

Um digitale Signaturen zu erstellen, wird ein Schlüsselpaar generiert. Ein solches Schlüsselpaar besteht aus einem privaten und einem öffentlichen Schlüsselpaar (asymmetrisches Kryptosystem). Wie der Name schon sagt, ist der private Teil geheim und verbleibt beim Besitzer. Der öffentliche Teil wird im DNS publiziert (DNSKEY Record). Mit dem öffentlichen Schlüssel kann nun eine Unterschrift, welche mit dem privaten Schlüssel signiert wurde, überprüft und validiert werden.

Einem öffentlichen Schlüssel muss man also vertrauen, bevor man eine Unterschrift überprüfen kann. Da es nicht möglich ist, allen Schlüsseln im Internet zu vertrauen, wird eine Schlüsselhierarchie analog der DNS-Hierarchie verwendet, die "Chain of Trust". Das sieht auf den ersten Blick etwas verwirrend aus. Es dient aber nur dazu, alle Unterschriften mit einem einzigen öffentlichen Schlüssel überprüfen zu können.

Die "Chain of Trust" im Detail

Ein Abbild des öffentlichen Schlüssels wird jeweils der nächsten Stufe in der Hierarchie mitgeteilt. Die höhere Instanz schreibt dieses Abbild in ihre Zone (DS Record) und garantiert für die Echtheit durch Signieren. Der öffentliche Schlüssel dieser Instanz wird wiederum der nächsthöheren Instanz übermittelt.

In einer "Chain of Trust" garantiert die übergeordnete Instanz (z.B. der Name-Server für .ch) die Echtheit von Daten der untergeordneten Instanz.