DNS DNSKEY und DS-Einträge

Die DNSKEY- und DS-Einträge werden von DNSSEC-Auflösern verwendet, um die Authentizität von DNS-Einträgen zu überprüfen.

Lernziele

Nach Lektüre dieses Artikels können Sie Folgendes:

  • Den Zweck des DNSKEY-Eintrags verstehen
  • Die Rolle des DS-Eintrags in DNSSEC verstehen

Link zum Artikel kopieren

Was sind die DNSKEY- und DS-Einträge?

Das Domain Name System (DNS) ist das Telefonbuch des Internets, aber bei seiner Entwicklung wurde nicht an Sicherheit gedacht. Um den Webseitenbesitzern die Möglichkeit zu geben, ihre Anwendungen besser abzusichern, wurde daher ein optionales Sicherheitsprotokoll namens DNSSEC entwickelt. DNSSEC erhöht die Sicherheit, indem es DNS-Einträge mit kryptografischen Signaturen versieht. Die Prüfung dieser Signaturen kann feststellen, ob ein Eintrag vom richtigen DNS-Server stammt.

Für die Implementierung dieser kryptografischen Signaturen wurden zwei neue DNS-Eintragstypen geschaffen: DNSKEY und DS. Der DNSKEY-Eintrag enthält einen öffentlichen Signierschlüssel und der DS-Eintrag enthält einen Hash* eines DNSKEY-Eintrags.

Jeder DNSSEC-Zone wird ein Satz von Zonensignaturschlüsseln (ZSK) zugewiesen. Dieser Satz umfasst einen privaten und einen öffentlichen ZSK. Mit dem privaten ZSK werden die DNS-Einträge in dieser Zone signiert, und mit dem öffentlichen ZSK wird der private ZSK verifiziert.

Der öffentliche ZSK wird in einem DNSSEC-Eintrag veröffentlicht und so einem DNSSEC-Resolver zur Verfügung gestellt. Der Resolver verwendet den öffentlichen ZSK, um sicherzustellen, dass die Einträge aus dieser Zone authentisch sind. Als zusätzliche Sicherheitsebene enthalten DNSSEC-Zonen einen zweiten DNSKEY-Eintrag mit einem Key Signing Key (KSK), der die Authentizität des öffentlichen ZSK verifiziert.

Der DS-Eintrag wird verwendet, um die Authentizität der untergeordneten Zonen (Child Zone)** von DNSSEC-Zonen zu überprüfen. Der DS-Key-Datensatz einer übergeordneten Zone (Parent Zone) enthält einen Hash-Wert des KSK in einer untergeordneten Zone. Ein DNSSEC Resolver kann daher die Authentizität der untergeordneten Zone überprüfen, indem er ihren KSK-Eintrag hasht und mit dem DS-Eintrag der übergeordneten Zone vergleicht.

*Ein kryptographischer Hash ist eine einseitige Verschlüsselung alphanumerischer Eingaben. Hashes werden häufig für die Speicherung sensibler Informationen wie Passwörter auf Servern verwendet. Ein Hash der Eingabe „cantguessthis“ lautet beispielsweise 18fe9934cf77a759eb2471f2b304708a. Jedes Mal, wenn 'cantguessthis' die Hashfunktion durchläuft, wird derselbe Hash ausgegeben. Es gibt jedoch keine Möglichkeit, die ursprüngliche Eingabe nur mit Hilfe des Hashwerts zu ermitteln. Der Hashwert allein ist im Grunde nutzlos.

**Eine untergeordnete Zone ist eine delegierte Subdomain einer anderen Zone. Zum Beispiel könnte eine URL von example.com untergeordnete Zonen mit Domains wie blog.example.com und mail.example.com haben.