- NSEC3 Resource Record
-
NSEC3 Recource Records sind Resource Records des Domain Name Systems (DNS), mit denen bestimmte Angriffe auf gesicherte DNS-Anfragen (DNSSEC) erkannt werden können. Sie bieten seit 2008 neben den NSEC Resource Records eine alternative Möglichkeit um nachzuweisen, dass ein bestimmter Hostname nicht im DNS vorhanden ist. NSEC3 verwendet im Gegensatz zu NSEC Hashwerte und keine Klartext-Labels, um alle Namen einer Zone zu identifizieren.
Hintergrund
Mit dem Signieren von DNS-Einträgen mittels DNSSEC kann verifiziert werden, dass diese Einträge nicht verfälscht wurden und von den korrekten autoritativen Nameservern stammen. Zunächst nicht möglich ist es jedoch, das Nicht-Vorhandensein von DNS-Einträgen zu beweisen. Fragt etwa ein Client den Namen test.example.org an, so kann ein Angreifer die entsprechenden Daten aus dem Antwortpakets des Servers entfernen, ohne dass dies dem Client ersichtlich wäre.
Um derartige Attacken zu verhindern, werden alle Namen einer Zone über NSEC Resource Records alphabetisch geordnet ringförmig verkettet, wobei der letzte Eintrag auf den ersten zeigt (siehe NSEC Resource Record). Diese NSEC-Records werden mit einem RRSIG Resource Record unterschrieben. In seinen Antwortpaketen liefert ein DNS-Server zu einem Namen jeweils den zugehörigen NSEC-Eintrag mit.
Semantisch stellt ein NSEC Resource Record für den Client also sicher, dass sich zwischen zwei Namen kein weiterer befindet. Dies kann ausgenutzt werden, um eine Liste aller Namen in einer DNS-Zone zu erschließen, indem sequentiell alle NSEC Resource Records einer Zone abgefragt werden (Zone Walking). Diese Eigenschaft von NSEC bzw. DNSSEC ist in bestimmten Einsatzszenarien unerwünscht.
Im Gegensatz zu NSEC verwendet NSEC3 Hashwerte der Namen statt Klartext-Label. Ein NSEC3 Resource Record bestätigt also, dass zwischen zwei Hashwerten zu Namen der Zone kein Hashwert eines weiteren Namens liegt. Der Resolver kann also den Hash-Wert seines angefragten Labels ermitteln und feststellen, dass der nächste Wert in der Kette ein anderer ist, ohne zu wissen, welchen Inhalt dieser konkret hat.
Die verwendete Hashfunktion und andere Parameter des Verfahrens wie z.B. ein Salt werden mittels eines NSEC3PARAM Resource Records in der Zone hinterlegt.
Weblinks
- RFC 5155 DNS Security (DNSSEC) Hashed Authenticated Denial of Existence − Spezifikation von NSEC3 und NSEC3PARAM
Wikimedia Foundation.