Zum Hauptinhalt springen

2. DNSKEY-Ressourceneintrag

Der DNSKEY-Ressourceneintrag (RR) enthält in Form eines öffentlichen Schlüssels die kryptografischen Informationen mit öffentlichem Schlüssel, die im Zusammenhang mit den DNS-Sicherheitserweiterungen (DNSSEC) stehen.

Das RDATA-Format des DNSKEY RR ist wie folgt:

                         1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flags | Protocol | Algorithm |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/ /
/ Public Key (Länge variabel je nach Algorithmus) /
/ /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Das RDATA des DNSKEY RR wird wie folgt dargestellt und codiert:

  • die Flags sind eine vorzeichenlose 16-Bit-Ganzzahl, angeordnet in Network-Byte-Order (Network Byte Order);
  • das Protokoll (PROTOCOL) ist eine vorzeichenlose 8-Bit-Ganzzahl, deren Wert 3 SEIN MUSS;
  • der Algorithmus (ALGORITHM) ist eine vorzeichenlose 8-Bit-Ganzzahl, die den verwendeten öffentlichen Schlüsselalgorithmus identifiziert;
  • der öffentliche Schlüssel (PUBLIC KEY) ist eine byteweise Zeichenfolge variabler Länge, deren Inhalt vom Wert des Algorithmusfeldes abhängt, wie unten beschrieben.

2.1. Das Flags-Feld im DNSKEY-RDATA​

Die Bits im FLAGS-Feld sind wie folgt zugeordnet:

                         1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flags |Z| | | | | | | | | | | | | | |S|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Die obige Abbildung zeigt nur die Bits innerhalb des FLAGS-Feldes (Hinweis: Die Bitnummerierung beginnt bei 0, von links nach rechts).

Die Bits im FLAGS-Feld des DNSKEY RR sind wie folgt zugeordnet:

  • Bit 7 ist das ZONE-Bit (siehe unten).
  • Bit 15 ist das Secure-Entry-Point-Bit (SEP) (siehe [RFC3757]).
  • Die Bits 0-6 und 8-14 sind reserviert und MÜSSEN auf 0 gesetzt werden.

Die Abschnitte 2.1.1 und 2.1.2 beschreiben die Bedeutung der ZONE- und SEP-Bits.

2.1.1. Das ZONE-Flag-Bit​

Das ZONE-Bit (Bit 7) im DNSKEY RR gibt an, ob der DNSKEY RR den privaten Schlüssel der entsprechenden Zone besitzt und daher deren RRsets signieren kann.

  • Wenn das ZONE-Bit gesetzt ist (Wert 1), besitzt der Halter des DNSKEY-Eintrags den privaten Schlüssel, der zum Signieren der Zone verwendet wird.
  • Wenn das ZONE-Bit gelöscht ist (Wert 0), DARF der DNSKEY-Eintrag für andere Zwecke als die Verifizierung signierter RRsets verwendet werden, die aus der entsprechenden Zone erhalten wurden.

Das ZONE-Flag-Bit MUSS vom Zonenadministrator angemessen gesetzt werden. Ein Validator verwendet einen DNSKEY zur Verifizierung der RRSIGs einer Zone nur dann, wenn der vom RRSIG-Eintrag referenzierte DNSKEY das ZONE-Bit aufweist.

2.1.2. Das Secure-Entry-Point-Flag-Bit (SEP)​

Das Secure-Entry-Point-Bit (SEP) (Bit 15) kennzeichnet, ob dieser DNSKEY vom Zonenadministrator als „sicherer Einstiegspunkt" (Secure Entry Point) der Zone betrachtet wird. Ein sicherer Einstiegspunkt ist der Schlüssel, auf den der DS-Eintrag in der übergeordneten Zone verweist. Das SEP-Bit hat bei der Zonensignierungsoperation keine kryptografische Bedeutung; es ist lediglich ein Kennungsbit, das dem Zonenadministrator hilft, den Schlüssel, der als sicherer Einstiegspunkt verwendet wird (d. h. den Schlüssel, der in der übergeordneten Zone einen DS-Eintrag erzeugt), von anderen Schlüsseln für die Zonensignierung zu unterscheiden.

Das SEP-Bit wird in [RFC3757] ausführlicher beschrieben.

2.2. Das Protocol-Feld im DNSKEY-RDATA​

Das PROTOCOL-Feld des DNSKEY RR MUSS 3 sein. Wird ein DNSKEY RR empfangen, dessen PROTOCOL-Feld nicht 3 ist, MUSS er als fehlerhaft (malformed) behandelt und ignoriert werden.

2.3. Das Algorithm-Feld im DNSKEY-RDATA​

Das ALGORITHM-Feld des DNSKEY RR identifiziert den öffentlichen Schlüsselalgorithmus, der für diesen DNSKEY RR verwendet wird. Die in DNSSEC verwendeten Algorithmusnummern sind in Anhang A angegeben.

Der Wert des ALGORITHM-Feldes bestimmt das Layout und den Inhalt des PUBLIC-KEY-Feldes.

2.4. Das Public-Key-Feld im DNSKEY-RDATA​

Das PUBLIC-KEY-Feld des DNSKEY RR enthält das öffentliche Schlüsselmaterial, dessen Format durch das ALGORITHM-Feld bestimmt wird. Für in diesem Dokument definierte Algorithmen wird das öffentliche Schlüsselmaterial in einem für den jeweiligen Algorithmus geeigneten Format bereitgestellt (z. B. Längenpräfix-Darstellung des Exponenten bei RSA oder Feld-für-Feld-Verkettung bei DSA).

2.5. DNSKEY-Präsentationsformat​

Das Präsentationsformat (presentation format) des DNSKEY RR lautet wie folgt:

  • das Flags-Feld wird als vorzeichenlose Dezimalganzzahl dargestellt;
  • das Protocol-Feld wird als vorzeichenlose Dezimalganzzahl dargestellt. Dieses Feld MUSS stets 3 sein.
  • das Algorithm-Feld wird als vorzeichenlose Dezimalganzzahl dargestellt;
  • das Public-Key-Feld wird als Base64-codierte [RFC3548] Bytezeichenfolge dargestellt.

Beispiel:

    example.com. 3600 IN DNSKEY 257 3 5 (
AQPSKmynfzW4kyBv015MUG2DeIQ3Cbl+BBZH4b/0PY1kxkmvHjcZc8nokfzjib
kX1j8Lj+ZnSs8LzDHl+0PzHj7mVoMjWSbqHUUjWQSnJCvgkJ2WGlKjK/bBIf
... ) ; key id = 60485

2.6. Besondere Hinweise zum DNSKEY RR​

Der DNSKEY RR ist ein für die Zonensignierung wichtiger Eintrag. Der Validator MUSS zur Verifizierung der Signatur den vom RRSIG-Eintrag referenzierten und mit dem ZONE-Bit versehenen DNSKEY verwenden.

Wenn ein DNSKEY RRset signiert wird, SOLLTE der zur Verifizierung dieser Signatur verwendete DNSKEY selbst in der übergeordneten Zone in Form eines DS-Eintrags veröffentlicht werden, um eine Vertrauenskette (chain of trust) aufzubauen.


Abschnittsnavigation: