Zum Hauptinhalt springen

1. Introduction (Einführung)

1. Introduction (Einführung)

1.1. Rationale (Begründung)

Die DNS Security Extensions (DNS-Sicherheitserweiterungen) führten den NSEC RR ein, um eine authentifizierte Verneinung der Existenz (authenticated denial of existence) zu ermöglichen. Obwohl der NSEC RR die Anforderungen an eine authentifizierte Verneinung der Existenz erfüllt, hat er die Nebenwirkung, dass der Inhalt einer Zone aufgezählt (enumerated) werden kann. Diese Eigenschaft führt zu unerwünschten Richtlinienfragen.

Die Aufzählung wird durch die Menge der NSEC-Datensätze ermöglicht, die innerhalb einer signierten Zone existieren. Ein NSEC-Datensatz listet zwei kanonisch geordnete Namen auf, um zu zeigen, dass zwischen diesen beiden Namen nichts existiert. Die vollständige Menge der NSEC-Datensätze listet alle Namen in einer Zone auf. Es ist trivial, den Inhalt einer Zone durch Abfragen nicht existierender Namen aufzuzählen.

Eine aufgezählte Zone kann beispielsweise als Quelle wahrscheinlicher E-Mail-Adressen für Spam oder als Schlüssel für mehrere WHOIS-Abfragen dienen, um Registrantendaten offenzulegen, die viele Registries gesetzlich schützen müssen. Viele Registries verbieten daher das Kopieren ihrer Zonendaten; die Verwendung von NSEC RRs macht diese Richtlinien jedoch nicht durchsetzbar.

Ein zweites Problem ist, dass die Kosten für die kryptographische Absicherung von Delegationen zu unsignierten Zonen im Verhältnis zum wahrgenommenen Sicherheitsnutzen in zwei Fällen hoch sind: bei großen, delegationszentrierten Zonen und bei Zonen, in denen unsichere Delegationen (insecure delegations) schnell aktualisiert werden. In diesen Fällen können die Kosten für die Pflege der NSEC-RR-Kette extrem hoch sein, und die Verwendung der „Opt-Out“-Konvention kann für diese unsignierten Zonen angemessener sein.

Dieses Dokument stellt den NSEC3 Resource Record (NSEC3-Ressourcendatensatz) vor, der als Alternative zu NSEC eingesetzt werden kann, um diese Probleme zu mildern.

Frühere Arbeiten zu diesen Themen umfassen [DNSEXT-NO], [RFC4956] und [DNSEXT-NSEC2v2].

1.2. Requirements (Anforderungen)

Die Schlüsselwörter „MUST“, „MUST NOT“, „REQUIRED“, „SHALL“, „SHALL NOT“, „SHOULD“, „SHOULD NOT“, „RECOMMENDED“, „MAY“ und „OPTIONAL“ in diesem Dokument sind wie in [RFC2119] beschrieben zu interpretieren.

1.3. Terminology (Terminologie)

Es wird vorausgesetzt, dass der Leser mit den grundlegenden DNS- und DNSSEC-Konzepten vertraut ist, die in [RFC1034], [RFC1035], [RFC4033], [RFC4034], [RFC4035] und den sie aktualisierenden nachfolgenden RFCs beschrieben sind: [RFC2136], [RFC2181] und [RFC2308].

Die folgende Terminologie wird in diesem Dokument verwendet:

Zone enumeration (Zonenaufzählung): die Praxis, den vollständigen Inhalt einer Zone durch aufeinanderfolgende Abfragen zu ermitteln. Vor Einführung von DNSSEC war Zonenaufzählung nicht trivial.

Original owner name (ursprünglicher Owner-Name): der Owner-Name, der einem gehashten Owner-Namen entspricht.

Hashed owner name (gehashter Owner-Name): der Owner-Name, der nach Anwendung der Hash-Funktion auf einen Owner-Namen entsteht.

Hash order (Hash-Reihenfolge): die Reihenfolge, in der gehashte Owner-Namen nach ihrem numerischen Wert angeordnet sind, wobei das linke (niedrigst nummerierte) Oktett als höchstwertiges Oktett gilt. Diese Reihenfolge entspricht der kanonischen DNS-Namensreihenfolge in [RFC4034], wenn die gehashten Owner-Namen in Base32 mit einem Extended Hex Alphabet [RFC4648] kodiert sind.

Empty non-terminal (leeres Nicht-Endknoten-Domainname): ein Domainname, der keine Ressourcendatensätze besitzt, aber eine oder mehrere Subdomains hat, die welche besitzen.

Delegation (Delegation): ein NS RRSet mit einem Namen, der vom aktuellen Zonenapex (non-zone-apex) abweicht und eine Delegation an eine untergeordnete Zone bedeutet.

Secure delegation (sichere Delegation): ein Name, der eine Delegation (NS RRSet) und ein signiertes DS RRSet enthält und eine Delegation an eine signierte Kindzone bedeutet.

Insecure delegation (unsichere Delegation): ein Name, der eine Delegation (NS RRSet) enthält, aber kein DS RRSet hat und eine Delegation an eine unsignierte Kindzone bedeutet.

Opt-Out NSEC3 resource record (Opt-Out-NSEC3-Ressourcendatensatz): ein NSEC3-Ressourcendatensatz, bei dem das Opt-Out-Flag auf 1 gesetzt ist.

Opt-Out zone (Opt-Out-Zone): eine Zone mit mindestens einem Opt-Out-NSEC3 RR.

Closest encloser (nächster einschließender Vorfahr): der längste existierende Vorfahr eines Namens. Siehe auch Abschnitt 3.3.1 von [RFC4592].

Closest provable encloser (nächster beweisbarer einschließender Vorfahr): der längste Vorfahr eines Namens, dessen Existenz bewiesen werden kann. Dies unterscheidet sich vom nächsten einschließenden Vorfahren nur in einer Opt-Out-Zone.

Next closer name (nächster näherer Name): der Name, der um ein Label länger ist als der nächste beweisbare einschließende Vorfahr eines Namens.

Base32: die „Base 32 Encoding with Extended Hex Alphabet“-Kodierung gemäß [RFC4648]. Hinweis: Nachfüllzeichen („=“) werden in der NSEC3-Spezifikation nicht verwendet.

To cover (abdecken): Ein NSEC3 RR „deckt“ einen Namen ab, wenn der Hash des Namens oder des „next closer“-Namens zwischen dem Owner-Namen und dem nächsten gehashten Owner-Namen des NSEC3 liegt. Mit anderen Worten, wenn er die Nichtexistenz des Namens beweist, entweder direkt oder indem er die Nichtexistenz eines Vorfahren des Namens beweist.

To match (passen zu): Ein NSEC3 RR „passt“ zu einem Namen, wenn der Owner-Name des NSEC3 RR derselbe ist wie der gehashte Owner-Name dieses Namens.