DS Resource Record

aus Wikipedia, der freien Enzyklopädie

DS-RR (Delegation Signer Resource Record) dienen der Verkettung von DNSSEC-signierten Zonen. Dadurch können mehrere DNS-Zonen zu einer Chain of Trust zusammengefasst und über einen einzigen Öffentlichen Schlüssel validiert werden.

Hintergrund

Public-Key-Systeme gelten heute als leistungsfähige und vielfältig einsetzbare Verschlüsselungsverfahren. Der Besitzer eines Schlüssels unterzeichnet beispielsweise eine Nachricht mit dem nur ihm selbst bekannten Privaten Schlüssel. Ein Empfänger kann diese Unterschrift unter Zuhilfenahme des korrespondierenden Öffentlichen Schlüssel verifizieren und damit sicherstellen, dass die Nachricht tatsächlich vom Absender stammt und dass sie unverfälscht ist.

Ein Grundproblem von Public-Key-Systemen ist die Verteilung der Öffentlichen Schlüssel: Wie macht ein User seinen Public Key der Welt bekannt? Das eigentliche Problem beim Einsatz von DNSSEC besteht darin, dass die Anzahl der Zonen (und damit die Anzahl der Schlüssel) beliebig groß werden kann. Außerdem müssen derartige Schlüssel regelmäßig erneuert werden.

Die Grundidee ist, alle beteiligten Zonen zu verketten und nur noch die oberste als Secure Entry Point zu verwenden. Nur für diese eine Zone ist die Propagierung des öffentlichen Keys erforderlich.

Aufbau

Ein DS-Record tritt immer gemeinsam mit einem NS Resource Record auf. Beide verweisen auf eine Subzone. Im DS-Record liegt der Hash des Secure Entry Points der Subzone. Jeder DS-Eintrag wird mit dem Zonenschlüssel der Zone, in der er sich befindet, digital unterschrieben. Damit kann der Öffentliche Schlüssel dieser Subzone validiert werden. Eine Subzone kann ihrerseits DS-Records enthalten, die auf weitere Subzonen verweisen. Dadurch entsteht ausgehend von der obersten Zone eine Kette, die sogenannte Chain of Trust.

Ein DS-RR besteht aus den folgenden Feldern:

Label
Name der zu verkettenden Subzone
Typ
DS (Typcode 43)
ID
Identifikationsnummer (key tag)
Verschlüsselungsverfahren
3=DSA/SHA1, 5=RSA/SHA1, 6=DSA-NSEC3-SHA1, 7=RSASHA1-NSEC3-SHA1, 8=RSA/SHA-256, 10=RSA/SHA-512, 12=GOST R 35.10-2001, 13=ECDSA-P256/SHA256, 14=ECDSA-P384/SHA384, 15=ED25519, 16=ED448[1]
Das genannte Verfahren wird nicht verwendet, um den Hash kryptographisch abzusichern, sondern nennt das verwendete Signierverfahren des referenzierten Schlüssels.
Die Verfahren 1, 2 und 4 sind nicht für Zonensignaturen freigegeben. Alle weiteren Verfahren sind entweder nicht definiert oder nicht freigegeben.
Hash-Typ
1=SHA-1, 2=SHA-256, 3=GOST R 34.11-94, 4=SHA-384
Der Hash-Typ 1 (SHA-1) ist aus Rückwärtskompatibilitätsgründen noch erlaubt, wird aber nicht empfohlen.
Hash
Der mit dem oben erwähnten Typ erzeugte Hash eines DNSKEY Records.

Berechnung des DS

Der DS-Record kann aus dem DNSKEY berechnet werden, aber nicht umgekehrt. Hierfür wird mit der Hash über die folgenden Werte des DNSKEYs berechnet.

Beispiel:

SHA_256(DNSKEY owner name | Flags | Protocol | Algorithm | Public Key)

Das Zeichen | steht für die Aneinanderreihung der Werte. Der öffentliche Schlüssel darf keine Leerzeichen enthalten und muss aus dem Base64 Format dekodiert werden.

Beispiel

In diesem Beispiel wird aus der Zone example.org heraus per Delegation auf die Subzone filiale1.example.org verwiesen. Der im DS-record aufgeführte Hash-Wert entspricht dem Schlüsselunterzeichnungs-Schlüssel der Subzone filiale1.example.org.

filiale1.example.org.      NS nsf
filiale1.example.org.      DS       ; Typ
                           52037    ; Identifikationsnummer
                           1        ; Verschlüsselungsverfahren
                           1        ; Hash-Typ
                           378929E92D7DA04267EE87E802D75C5CA1B5D280

Schwachstelle

Um in eine Chain of Trust aufgenommen zu werden, muss der öffentliche Schlüssel einer Zone der übergeordneten Zone übermittelt werden. Das kann schwierig sein, wenn diese von einer Instanz außerhalb des eigenen Einflussbereichs verwaltet wird und bietet daher Angriffspunkte.

Weblinks

  • RFC 4034 – Resource Records for the DNS Security Extension
  • RFC 4509 – Use of SHA-256 in DNSSEC Delegation Signer (DS) Resource Records
  • RFC 6605 – ECDSA for DNSSEC

Referenzen

  1. [1] – IANA DNS Security Algorithm Numbers