<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=NSEC3</id>
	<title>NSEC3 - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=NSEC3"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=NSEC3&amp;action=history"/>
	<updated>2026-05-31T11:37:25Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=NSEC3&amp;diff=1766438&amp;oldid=prev</id>
		<title>imported&gt;Matthäus Wander: HC: Ergänze Kategorie:Internetstandard</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=NSEC3&amp;diff=1766438&amp;oldid=prev"/>
		<updated>2023-07-26T21:45:02Z</updated>

		<summary type="html">&lt;p&gt;&lt;a href=&quot;/index.php?title=WP:HC&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;WP:HC (Seite nicht vorhanden)&quot;&gt;HC&lt;/a&gt;: Ergänze &lt;a href=&quot;/index.php/Kategorie:Internetstandard&quot; title=&quot;Kategorie:Internetstandard&quot;&gt;Kategorie:Internetstandard&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;NSEC3&amp;#039;&amp;#039;&amp;#039; ist ein Verfahren, um im [[Domain Name System]] (DNS) das Fehlen eines [[Domain (Internet)|Domainnamens]] oder [[Resource Record]]s mit kryptographischen [[Domain Name System Security Extensions|DNSSEC]]-Signaturen nachzuweisen. Durch den NSEC3 Resource Record können [[DNS-Spoofing|DNS-Spoofing-Angriffe]] abgewehrt werden, die vorgaukeln, dass ein bestimmter Domainname nicht existiert. NSEC3 wurde von der [[Internet Engineering Task Force|IETF]] im Jahr 2008 als [[Request for Comments]] veröffentlicht. Im Gegensatz zu dem alternativen [[NSEC Resource Record]] versteckt NSEC3 die existierenden Domainnamen durch eine [[kryptographische Hashfunktion]], um sie vor dem Auslesen per [[Zone Walking]] zu schützen.&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
[[Datei:Illustration of NSEC and NSEC3 chains in DNSSEC.svg|mini|500px|Illustration einer NSEC- und NSEC3-Kette: Durch die pseudozufällige Hashfunktion ändert sich die Reihenfolge der Label in der NSEC3-Kette gegenüber einer NSEC-Kette, was jedoch für den Beweis des Nicht-Vorhandenseins kein Hindernis ist.]]&lt;br /&gt;
&lt;br /&gt;
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 &amp;#039;&amp;#039;Nicht-Vorhandensein&amp;#039;&amp;#039; von DNS-Einträgen zu beweisen. Fragt etwa ein Client den Namen &amp;lt;span style=&amp;quot;font-family:monospace;&amp;quot;&amp;gt;test.example.org&amp;lt;/span&amp;gt; an, so kann ein Angreifer die entsprechenden Daten aus dem Antwortpakets des Servers entfernen, ohne dass dies dem Client ersichtlich wäre.&lt;br /&gt;
&lt;br /&gt;
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#Hintergrund|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.&lt;br /&gt;
&lt;br /&gt;
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 (&amp;#039;&amp;#039;[[Zone Walking]]&amp;#039;&amp;#039;). Diese Eigenschaft von NSEC bzw. DNSSEC ist in bestimmten Einsatzszenarien unerwünscht.&lt;br /&gt;
&lt;br /&gt;
Im Gegensatz zu NSEC verwendet NSEC3 Hashwerte der Namen statt Klartext-Label, wodurch die Ordnungsrelation auf der Menge der errechneten Hashwerte definiert wird. Ein NSEC3-Resource-Record bestätigt also, dass zwischen zwei Hashwerten zu Namen der Zone kein Hashwert eines weiteren Namens liegt. Der &amp;#039;&amp;#039;Resolver&amp;#039;&amp;#039; 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.&lt;br /&gt;
&lt;br /&gt;
Die verwendete Hashfunktion und andere Parameter des Verfahrens wie zum Beispiel ein [[Salt (Kryptologie)|Salt]] sind im NSEC3 Resource Record hinterlegt und werden vom Resolver ausgewertet. Zusätzlich gibt es pro Zone einen [[#NSEC3PARAM Resource Record|NSEC3PARAM Resource Record]], der diese Parameter für den autoritativen Nameserver hinterlegt.&lt;br /&gt;
&lt;br /&gt;
== NSEC3 Resource Record ==&lt;br /&gt;
&lt;br /&gt;
Ein NSEC3 Resource Record besteht aus den folgenden Feldern:&lt;br /&gt;
&lt;br /&gt;
; Hashed Owner Name&lt;br /&gt;
: [[Base32]]-kodierter [[Hashwert]] eines Domainnamens (Anfang eines NSEC3-Bereichs)&lt;br /&gt;
; TTL&lt;br /&gt;
: [[Time to Live]]&lt;br /&gt;
; Klasse&lt;br /&gt;
: IN ([[Internet]])&lt;br /&gt;
; Typ&lt;br /&gt;
: NSEC3&lt;br /&gt;
; Hash-Algorithmus&lt;br /&gt;
: verwendete [[Hashfunktion]] (1: [[SHA-1]])&lt;br /&gt;
; Flags&lt;br /&gt;
: Verwendung der Opt-Out-Funktion (0: kein Opt-Out; 1: Opt-Out)&lt;br /&gt;
; Iterationen&lt;br /&gt;
: Anzahl zusätzlicher Hash-Iterationen&lt;br /&gt;
; Salt&lt;br /&gt;
: beim Hashing verwendeter [[Salt (Kryptologie)|Salt-Wert]]&lt;br /&gt;
; Next Hashed Owner Name&lt;br /&gt;
: Base32-kodierter Hashwert eines Domainnamens (Ende eines NSEC3-Bereichs)&lt;br /&gt;
; Liste der Typen&lt;br /&gt;
: Liste der vorhandenen [[Resource Record|Record-Typen]] unterhalb des &amp;#039;&amp;#039;Owner Names&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== NSEC3PARAM Resource Record ==&lt;br /&gt;
&lt;br /&gt;
Der Zweck eines NSEC3PARAM Resource Records ist es, in der [[Zone (DNS)|DNS-Zone]] Parameter für die [[Domain Name System#Nameserver|autoritativen Nameserver]] zu hinterlegen, die für die NSEC3-Hashberechnung erforderlich sind. Die Informationen sind prinzipiell auch in den NSEC3-Records enthalten, der NSEC3PARAM-Record erleichtert aber die Auffindbarkeit, da er an der Spitze der Zone unter dem Zonennamen abgelegt wird. DNSSEC-Resolver und Validatoren verwenden den NSEC3PARAM-Record nicht.&lt;br /&gt;
&lt;br /&gt;
Der NSEC3PARAM Resource Record besteht aus folgenden Feldern:&amp;lt;ref&amp;gt;{{RFC-Internet |RFC=5155 |Titel=DNS Security (DNSSEC) Hashed Authenticated Denial of Existence |Datum= |Abschnitt=4}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Owner Name&lt;br /&gt;
: Zonenname&lt;br /&gt;
; TTL&lt;br /&gt;
: [[Time to Live]]&lt;br /&gt;
; Klasse&lt;br /&gt;
: IN ([[Internet]])&lt;br /&gt;
; Typ&lt;br /&gt;
: NSEC3PARAM&lt;br /&gt;
; Hash-Algorithmus&lt;br /&gt;
: verwendete [[Hashfunktion]] (1: [[SHA-1]])&lt;br /&gt;
; Flags&lt;br /&gt;
: Verwendung der Opt-Out-Funktion (0: kein Opt-Out; 1: Opt-Out)&lt;br /&gt;
; Iterationen&lt;br /&gt;
: Anzahl zusätzlicher Hash-Iterationen&lt;br /&gt;
; Salt&lt;br /&gt;
: beim Hashing verwendeter [[Salt (Kryptologie)|Salt-Wert]]&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&lt;br /&gt;
Bei Abfrage des nicht existierenden Domainnamens &amp;lt;code&amp;gt;DiesisteinNSEC3Beispiel.de&amp;lt;/code&amp;gt; geben die Nameserver von [[.de]] folgende drei NSEC3 Resource Records zurück:&lt;br /&gt;
&lt;br /&gt;
 pffaak97rt0cs40je4c2iho30cebf3it.de. 7200 IN NSEC3 1 1 15 CA12B74ADB90591A PFFBLDU4RR5BISB2JIOS36ABAJLQNQMS NS DS RRSIG&lt;br /&gt;
Dieser Record weist die Nichtexistenz von &amp;lt;code&amp;gt;DiesisteinNSEC3Beispiel.de&amp;lt;/code&amp;gt; nach, da dessen Hashwert &amp;lt;code&amp;gt;pffaollcec3ma3e5jl2b2gb7gc9dt3bd&amp;lt;/code&amp;gt; zwischen den dargestellten Hashwerten liegt.&lt;br /&gt;
&lt;br /&gt;
 tjlb7qbojvmlf1s6gdriru7vsms1lg16.de. 7200 IN NSEC3 1 1 15 CA12B74ADB90591A TJLG9BE83U1BLVBVCTP8RIQP60D6ATDP NS SOA RRSIG DNSKEY NSEC3PARAM&lt;br /&gt;
Dieser Record weist nach, dass der umschließende Domainname &amp;lt;code&amp;gt;de&amp;lt;/code&amp;gt; vorhanden ist (Hashwert &amp;lt;code&amp;gt;tjlb7qbojvmlf1s6gdriru7vsms1lg16&amp;lt;/code&amp;gt;). Dieser Nachweis ist erforderlich, damit der Client weiß, unterhalb von welchem Domainnamen ein eventueller [[Wildcard (Informatik)|Wildcard]]-Record zu suchen ist.&lt;br /&gt;
&lt;br /&gt;
 nihitgish70cve28nu73a3segd6r1d4p.de. 7200 IN NSEC3 1 1 15 CA12B74ADB90591A NIHRI169E5SB3FJMDM1I3LTSNURVSITQ NS DS RRSIG&lt;br /&gt;
Dieser Record weist die Nichtexistenz eines Wildcard-Records &amp;lt;code&amp;gt;*.de&amp;lt;/code&amp;gt; nach, da dessen Hashwert &amp;lt;code&amp;gt;nihkeqi54qck38bpfvggv7rq5jrrd2vp&amp;lt;/code&amp;gt; zwischen den dargestellten Hashwerten liegt.&lt;br /&gt;
&lt;br /&gt;
== Angriffe ==&lt;br /&gt;
&lt;br /&gt;
NSEC3 erschwert zwar das Zone Walking, dennoch können durch [[Kryptoanalyse|kryptoanalytische Angriffe]] die Klartextnamen einer Zone teilweise oder ganz erlangt werden. Der Angriff besteht aus zwei Phasen:&amp;lt;ref name=&amp;quot;nsec3breaker&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;Hash Crawling&amp;#039;&amp;#039;: Zunächst holt sich der Angreifer durch wiederholtes Anfragen bei den Nameservern die vollständige Kette der NSEC3-Records einer DNS-Zone. Die Anfragenamen wählt der Angreifer zufällig, wobei nur diejenigen Anfragen zum Server gesendet werden, bei denen der Angreifer erwartet einen bislang unbekannten NSEC3-Record zu erhalten. In der Regel ist eine DNS-Anfrage pro NSEC3-Record in der Zone erforderlich.&lt;br /&gt;
# &amp;#039;&amp;#039;Hash Breaking&amp;#039;&amp;#039;: Anschließend führt der Angreifer einen [[Brute-Force-Angriff]], [[Wörterbuchangriff]] oder [[Markow-Kette|Markow-Ketten-Angriff]] durch, um die NSEC3-Hashwerte zu Klartextnamen zurückzurechnen. Dieses Verfahren ähnelt dem [[Passwort]]cracking und kann durch den Einsatz von [[Grafikprozessor]]en erheblich beschleunigt werden.&lt;br /&gt;
&lt;br /&gt;
Durch den Einsatz des obigen Angriffsverfahrens auf alle Top-Level-Domains können innerhalb von zwei Wochen 79 % der Klartextnamen wiederhergestellt werden. Die Anzahl an Hash-Iterationen hat keinen signifikanten Einfluss auf die Wiederherstellungsrate, sondern die Qualität des für den Angriff verwendeten [[Wörterbuch]]s.&amp;lt;ref name=&amp;quot;dnssec-adoption&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Normen und Standards ==&lt;br /&gt;
&lt;br /&gt;
* {{RFC-Internet |RFC=5155 |Titel=DNS Security (DNSSEC) Hashed Authenticated Denial of Existence |Datum= |Kommentar=Spezifikation von NSEC3 und NSEC3PARAM}}&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;nsec3breaker&amp;quot;&amp;gt;&lt;br /&gt;
Matthäus Wander, Lorenz Schwittmann, Christopher Boelmann, Torben Weis: [https://wander.science/paper/2014_Wander_NSEC3.pdf &amp;#039;&amp;#039;GPU-based NSEC3 Hash Breaking&amp;#039;&amp;#039;.] (PDF; 0,7&amp;amp;nbsp;MB) In: &amp;#039;&amp;#039;2014 IEEE 13th International Symposium on Network Computing and Applications (NCA)&amp;#039;&amp;#039;. IEEE, 2014, ISBN 978-1-4799-5393-6, [[doi:10.1109/NCA.2014.27]]. Vortrag: [https://wander.science/talks/20140822_NSEC3_Hash_Breaking.pdf Folien.] (PDF; 1,9&amp;amp;nbsp;MB)&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;dnssec-adoption&amp;quot;&amp;gt;&lt;br /&gt;
Matthäus Wander: [https://wander.science/paper/2017_Wander_DNSSEC_Adoption.pdf &amp;#039;&amp;#039;Measurement Survey of Server-Side DNSSEC Adoption&amp;#039;&amp;#039;.] (PDF; 0,4&amp;amp;nbsp;MB) In: &amp;#039;&amp;#039;2017 Network Traffic Measurement and Analysis Conference (TMA)&amp;#039;&amp;#039;. IEEE, 2017, ISBN 978-3-901882-95-1, [[doi:10.23919/TMA.2017.8002913]]. Vortrag: [https://wander.science/talks/20170623_DNSSEC_Adoption.pdf Folien.] (PDF; 0,5&amp;amp;nbsp;MB) [https://www.youtube.com/watch?v=pa9-dEkIRMM Video.] youtube.&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Domain Name System]]&lt;br /&gt;
[[Kategorie:Internetstandard]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Matthäus Wander</name></author>
	</entry>
</feed>