5. NSEC-Ressourceneintrag
Der NSEC-Ressourceneintrag (RR) (Next SECure, nächster sicher) wird verwendet, um das Fehlen eines Eigentümernamens (owner name) oder eines bestimmten Ressourceneintragstyps in einer signierten Zone nachzuweisen. Der NSEC RR erreicht dies, indem er den im kanonischen Namen der Zone nächsten Eigentümernamen aufzählt.
Das RDATA-Format des NSEC 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/ Next Domain Name /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/ Type Bit Maps /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Das RDATA des NSEC RR wird wie folgt dargestellt und codiert:
- der nächste Domänenname (NEXT DOMAIN NAME) ist der im kanonischen Namen der Zone nächste Eigentümername (dieser Name MUSS vom Eigentümernamen dieses NSEC RR verschieden sein), dargestellt als kanonischer Domänenname (wire format);
- die Typ-Bitmap (TYPE BIT MAPS) identifiziert die Menge der Ressourceneintragstypen, die dem Eigentümernamen des NSEC RR zugeordnet sind. Die Typ-Bitmap ist als kompaktes Bitmap codiert, dessen Format in Abschnitt 5.1 beschrieben wird.
5.1. Das Type-Bit-Maps-Feld im NSEC-RDATA
Die Typ-Bitmap wird als Folge von einem oder mehreren Fensterblöcken (window block) codiert. Die Struktur jedes Fensterblocks ist wie folgt:
+--------+--------+--------+--------+--------+--------+
| Window| Bitmap Length | Bitmap |
+--------+--------+--------+--------+--------+--------+
wobei:
- Window eine vorzeichenlose 8-Bit-Ganzzahl ist, die die höchstwertigen 8 Bits des Typcodes identifiziert (d. h. den ganzzahligen Quotienten des Typcodes geteilt durch 256);
- Bitmap Length eine vorzeichenlose 8-Bit-Ganzzahl ist, die die Länge (in Bytes) der Bitmap in diesem Fensterblock angibt und zwischen 1 und 32 liegt;
- Bitmap ein Bitmap von Bitmap-Length Bytes ist, das die Typcodes innerhalb dieses Fensters abdeckt. Jedes Bit der Bitmap entspricht einem Typcode; Bit 0 (höchstwertiges Bit) entspricht dem Typcode Window × 256 und Bit 7 (niederwertigstes Bit) entspricht dem Typcode Window × 256 + 7.
Die Typ-Bitmap MUSS das Bit enthalten, das jedem dem Eigentümernamen des NSEC RR zugeordneten RR-Typ entspricht. Ist der Eigentümername mehreren RR-Typen zugeordnet, MÜSSEN alle diese Typen in der Typ-Bitmap dargestellt sein.
Die Typ-Bitmap MUSS in aufsteigender Reihenfolge des Window-Feldes angeordnet sein und DARF keine sich überschneidenden oder mehr als 32 Bytes langen Fensterblöcke enthalten.
Der Validator des NSEC RR verwendet die Typ-Bitmap, um Folgendes zu prüfen:
- das Vorhandensein eines bestimmten RR-Typs für den Eigentümernamen des NSEC RR (Existenznachweis des Typs);
- das Fehlen anderer Namen im kanonischen Ordnungsintervall zwischen dem Eigentümernamen des NSEC RR und dem nächsten Domänennamen (Nichtvorhandenseinsnachweis des Namens).
5.2. Das Next-Domain-Name-Feld im NSEC-RDATA
Das NEXT-DOMAIN-NAME-Feld MUSS den Eigentümernamen enthalten, der im kanonischen Namen (canonical order) der Zone unmittelbar auf den Eigentümernamen des NSEC RR folgt. Das NEXT-DOMAIN-NAME-Feld des letzten NSEC RR der Zone MUSS den Eigentümernamen des ersten NSEC RR der Zone enthalten (d. h. einen Rücklauf an den Anfang der Zone).
Dies dient dazu, dem Validator, der einen nicht vorhandenen Namen anfragt, nachzuweisen, dass dieser Name nicht in der Zone ist: Der Validator findet einen NSEC RR, dessen Eigentümername im kanonischen Namen vor dem angefragten Namen liegt und dessen NEXT DOMAIN NAME im kanonischen Namen nach dem angefragten Namen liegt.
5.3. NSEC-Präsentationsformat
Das Präsentationsformat (presentation format) des NSEC RR lautet wie folgt:
- der nächste Domänenname wird als Textform des kanonischen Domänennamens (d. h. ohne Komprimierung) dargestellt;
- die Typ-Bitmap wird als durch Leerzeichen getrennte Liste von Ressourceneintragstypen dargestellt (z. B. RRSIG NSEC SOA NS A). Unbekannte Typen verwenden die RFC-3597-Notation.
Beispiel:
example.com. 3600 IN NSEC www.example.com. A RRSIG NSEC
5.4. Besondere Hinweise zum NSEC RR
Der NSEC RR gibt die Existenz von Namen in der Zone preis, was Datenschutzbedenken aufwerfen kann. Der NSEC RR MUSS vom für die Zone zuständigen Signierer erzeugt werden und MUSS mit einem zum DNSKEY der Zone konsistenten Schlüssel signiert werden.
Der Validator MUSS beim Nachweis des Nichtvorhandenseins eines Namens oder Typs prüfen, dass das vom NSEC RR angezeigte kanonische Ordnungsintervall tatsächlich den Namen oder Typ nicht enthält, dessen Nichtvorhandensein bewiesen wird.
Abschnittsnavigation:
- Vorheriger: 4. DS-Ressourceneintrag
- Nächster: 6. Kanonische Form und Reihenfolge der Ressourceneinträge