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:
- Vorheriger: 1. Einleitung
- Nächster: 3. RRSIG-Ressourceneintrag