Zum Hauptinhalt springen

3. RRSIG-Ressourceneintrag

Der RRSIG-Ressourceneintrag (RR) enthält die kryptografische Signatur eines Ressourceneintragssatzes (RRset). Der RRSIG RR muss zusammen mit dem DNSKEY RR verwendet werden, der den RRset signiert. Der RRSIG RR DARF NICHT an einen anderen RR-Typ verkettet (chain) werden als den RRset-Typ, den er selbst signiert.

Das RDATA-Format des RRSIG 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type Covered | Algorithm | Labels |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Original TTL |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Signature Expiration |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Signature Inception |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Key Tag | /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Signer's Name /
/ /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/ /
/ Signature /
/ /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

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

  • der abgedeckte Typ (TYPE COVERED) ist ein 16-Bit-Typcode, angeordnet in Network-Byte-Order, der den Typ des RRset identifiziert, den diese Signatur abdeckt;
  • der Algorithmus (ALGORITHM) ist eine vorzeichenlose 8-Bit-Ganzzahl, die den für diese Signatur verwendeten öffentlichen Schlüsselalgorithmus identifiziert;
  • die Label-Anzahl (LABELS) ist eine vorzeichenlose 8-Bit-Ganzzahl, die der Anzahl der Labels im Eigentümernamen des RRSIG RR entspricht, ausschließlich eines etwaigen führenden Labels * (Sternchen), das für Platzhalterdatensätze (Wildcard) verwendet wird;
  • das ursprüngliche TTL (ORIGINAL TTL) ist eine vorzeichenlose 32-Bit-Ganzzahl, angeordnet in Network-Byte-Order, die das TTL der Einträge im signierten RRset angibt;
  • das Signaturablaufdatum (SIGNATURE EXPIRATION) ist eine vorzeichenlose 32-Bit-Ganzzahl, angeordnet in Network-Byte-Order, die das Datum und die Zeit angibt (in Sekunden seit 00:00 UTC am 1. Januar 1970), ab der die Signatur nicht mehr gültig ist;
  • der Signaturbeginn (SIGNATURE INCEPTION) ist eine vorzeichenlose 32-Bit-Ganzzahl, angeordnet in Network-Byte-Order, die das Datum und die Zeit angibt (in Sekunden seit 00:00 UTC am 1. Januar 1970), ab der die Signatur gültig wird;
  • das Schlüsselkennzeichen (KEY TAG) ist eine vorzeichenlose 16-Bit-Ganzzahl, angeordnet in Network-Byte-Order, die den DNSKEY RR identifiziert, der zur Verifizierung dieser Signatur verwendet wird;
  • der Signer-Name (SIGNER'S NAME) ist der DNS-Name der Zone, die diesen RRset signiert hat, dargestellt als kanonischer Domänenname (wire format);
  • die Signatur (SIGNATURE) ist eine byteweise Zeichenfolge variabler Länge, die die kryptografische Signatur des RRset enthält.

3.1. Das Type-Covered-Feld im RRSIG-RDATA​

Das TYPE-COVERED-Feld identifiziert den Ressourceneintragstyp des RRset, den dieser RRSIG abdeckt. Dieses Feld DARF NICHT 0 sein (dieser Wert ist reserviert und identifiziert keinen bestehenden RR-Typ).

3.2. Das Algorithm-Feld im RRSIG-RDATA​

Das ALGORITHM-Feld identifiziert den für diese Signatur verwendeten öffentlichen Schlüsselalgorithmus. Der Wert dieses Feldes MUSS mit dem ALGORITHM-Feld des DNSKEY RR übereinstimmen, der zur Verifizierung dieser Signatur verwendet wird.

3.3. Das Labels-Feld im RRSIG-RDATA​

Das LABELS-Feld ist eine vorzeichenlose 8-Bit-Ganzzahl, die der Anzahl der Labels im Eigentümernamen des RRSIG entspricht, ausschließlich eines etwaigen führenden Labels * (Sternchen) für Platzhalterdatensätze. Das LABELS-Feld MUSS für einen Nicht-Platzhalternamen auf die Anzahl der Labels des Eigentümernamens gesetzt werden bzw. für einen Platzhalternamen auf diese Anzahl minus 1. Das LABELS-Feld DARF NICHT 0 sein.

Der Validator MUSS prüfen, ob das LABELS-Feld mit der Label-Anzahl des Eigentümernamens des RRSIG (unter Berücksichtigung des Platzhalterfalls) übereinstimmt, andernfalls MUSS er die Signatur zurückweisen.

3.4. Das Original-TTL-Feld im RRSIG-RDATA​

Das ORIGINAL-TTL-Feld ist das TTL der RR im signierten RRset zum Zeitpunkt der Signaturerstellung. Der Validator MUSS vor der Verifizierung prüfen, dass das TTL jedes Eintrags in diesem RRset mit diesem Wert übereinstimmt (er darf dies wie in [RFC4035] beschrieben behandeln); andernfalls MUSS die Signaturprüfung fehlschlagen.

3.5. Die Felder Signature Expiration und Signature Inception im RRSIG-RDATA​

Die Felder SIGNATURE EXPIRATION und SIGNATURE INCEPTION sind in Sekunden seit 00:00 UTC am 1. Januar 1970 angegeben. Der Validator DARF die Signatur nur akzeptieren, wenn die aktuelle Zeit im Intervall [SIGNATURE INCEPTION, SIGNATURE EXPIRATION] liegt.

Ist SIGNATURE INCEPTION größer als SIGNATURE EXPIRATION, DARF die Signatur NICHT akzeptiert werden.

3.6. Das Key-Tag-Feld im RRSIG-RDATA​

Das KEY-TAG-Feld enthält das Schlüsselkennzeichen des DNSKEY-Ressourceneintrags, der zur Verifizierung dieser Signatur verwendet wird. Es dient der effizienten Auswahl des richtigen DNSKEY RR im DNSKEY RRset.

3.7. Das Signer's-Name-Feld im RRSIG-RDATA​

Das SIGNER'S-NAME-Feld enthält den Namen der Zone, die diesen RRset signiert hat. Es MUSS der Name der Zone sein, die den zur Verifizierung verwendeten DNSKEY enthält (oder ein Vorfahre davon, gemäß den Vertrauenskettenregeln in [RFC4035]).

3.8. Das Signature-Feld im RRSIG-RDATA​

Das SIGNATURE-Feld enthält dieSignatur in binärer Form, die über die kanonische Form des RRset mithilfe des mit dem DNSKEY RR assoziierten privaten Schlüssels gemäß dem in [RFC4035] vorgeschriebenen Signaturberechnungsablauf berechnet wurde.

3.9. RRSIG-Präsentationsformat​

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

  • der abgedeckte Typ wird als Textform (z. B. A, NS, SOA) dargestellt oder, bei unbekannten Typen, in der RFC-3597-Notation;
  • der Algorithmus wird als vorzeichenlose Dezimalganzzahl dargestellt;
  • die Label-Anzahl wird als vorzeichenlose Dezimalganzzahl dargestellt;
  • das ursprüngliche TTL wird als vorzeichenlose Dezimalganzzahl dargestellt;
  • das Signaturablaufdatum und der Signaturbeginn werden im Format JJJJMMTTHHMMSS (UTC) dargestellt;
  • das Schlüsselkennzeichen wird als vorzeichenlose Dezimalganzzahl dargestellt;
  • der Signer-Name wird als Textform des kanonischen Domänennamens dargestellt;
  • die Signatur wird als Base64-codierte [RFC3548] Bytezeichenfolge ohne Leerzeichen dargestellt.

3.10. Besondere Hinweise zum RRSIG RR​

Ein RRSIG-Eintrag signiert nur einen RRset; für jeden RRset und jeden Algorithmus SOLLTE ein entsprechender RRSIG-Eintrag vorhanden sein. Der RRSIG-Eintrag DARF NICHT in dem RRset enthalten sein, den er signiert. Der Validator MUSS den RRSIG mit dem Schlüssel verifizieren, dessen ZONE-Bit mit dem signierenden DNSKEY übereinstimmt.


Abschnittsnavigation: