Dnssec Ablauf: Unterschied zwischen den Versionen
| Zeile 1: | Zeile 1: | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
= Anfrage des Clients = | = Anfrage des Clients = | ||
Der Resolver erhält eine Anfrage von einem Client: | Der Resolver erhält eine Anfrage von einem Client: | ||
| − | + | ||
| + | - Beispiel: "Gib mir die A-Record-IP für www.dnssec.net." | ||
= Anfrage an den Root-Nameserver = | = Anfrage an den Root-Nameserver = | ||
Der Resolver kennt die Antwort nicht und fragt einen Root-Nameserver: | Der Resolver kennt die Antwort nicht und fragt einen Root-Nameserver: | ||
| − | + | ||
| + | - "Welche Nameserver sind für .net zuständig?" | ||
= Antwort des Root-Nameservers = | = Antwort des Root-Nameservers = | ||
Der Root-Nameserver gibt die autoritativen Nameserver für .net zurück: | Der Root-Nameserver gibt die autoritativen Nameserver für .net zurück: | ||
| − | |||
| − | |||
| − | + | - Enthält NS-Records für .net. | |
| + | - Enthält DS-Record für .net (falls .net DNSSEC nutzt). (Fragt: Enthält den Hash des Public KSK von .net zur Validierung durch die übergeordnete Zone?) | ||
| + | - Enthält RRSIG für den DS-Record. (Fragt: Diese Signatur wurde mit dem privaten ZSK der Root-Zone erstellt und sichert den DS-Record ab?) | ||
= Validierung des DS-Records für .net = | = Validierung des DS-Records für .net = | ||
Der Resolver muss die RRSIG-Signatur für den DS-Record prüfen: | Der Resolver muss die RRSIG-Signatur für den DS-Record prüfen: | ||
| − | + | ||
| − | + | - Dazu braucht er den Public ZSK der Root-Zone. | |
| + | - Falls er den ZSK nicht gecached hat, fragt er die DNSKEYs der Root-Zone ab. | ||
= Abfrage der Root-DNSKEYs = | = Abfrage der Root-DNSKEYs = | ||
Der Resolver fragt den Root-Nameserver: | Der Resolver fragt den Root-Nameserver: | ||
| − | + | ||
| + | - "Gib mir die DNSKEYs für . (Root)." | ||
= Antwort des Root-Nameservers = | = Antwort des Root-Nameservers = | ||
Der Root-Nameserver liefert die DNSKEYs: | Der Root-Nameserver liefert die DNSKEYs: | ||
| − | + | ||
| − | + | - Public KSK (Trust Anchor ist bereits gespeichert). | |
| − | + | - Public ZSK. | |
| + | - RRSIG über die DNSKEYs (signiert mit dem privaten KSK). | ||
= Validierung der DNSKEYs = | = Validierung der DNSKEYs = | ||
Der Resolver validiert die DNSKEYs: | Der Resolver validiert die DNSKEYs: | ||
| − | + | ||
| − | + | - Er prüft die RRSIG der DNSKEYs mit dem Public KSK (Trust Anchor). | |
| + | - Ist die Signatur gültig? → Public ZSK ist authentisch. | ||
= Validierung des DS-Records für .net = | = Validierung des DS-Records für .net = | ||
Der Resolver validiert den DS-Record von .net mit dem Public ZSK: | Der Resolver validiert den DS-Record von .net mit dem Public ZSK: | ||
| − | + | ||
| + | - Falls die Signatur gültig ist, geht die Namensauflösung weiter. | ||
| + | |||
| + | = Anfrage an die .net-Nameserver = | ||
| + | Der Resolver fragt einen der .net-Nameserver: | ||
| + | |||
| + | - "Welche Nameserver sind für dnssec.net autoritativ?" | ||
| + | |||
| + | = Antwort der .net-Nameserver = | ||
| + | Der .net-Nameserver liefert die autoritativen Nameserver für dnssec.net: | ||
| + | |||
| + | - Enthält NS-Records für dnssec.net. | ||
| + | - Enthält DS-Record für dnssec.net. (Fragt: Enthält den Hash des Public KSK von dnssec.net zur Validierung durch die übergeordnete Zone?) | ||
| + | - Enthält RRSIG für den DS-Record von dnssec.net. (Fragt: Diese Signatur wurde mit dem privaten ZSK der .net-Zone erstellt und sichert den DS-Record ab?) | ||
| + | |||
| + | = Validierung des DS-Records für dnssec.net = | ||
| + | Der Resolver muss die RRSIG-Signatur für den DS-Record prüfen: | ||
| + | |||
| + | - Dazu braucht er den Public ZSK der .net-Zone. | ||
| + | - Falls er den ZSK nicht gecached hat, fragt er die DNSKEYs der .net-Zone ab. | ||
| + | |||
| + | = Abfrage der .net-DNSKEYs = | ||
| + | Der Resolver fragt den .net-Nameserver: | ||
| + | |||
| + | - "Gib mir die DNSKEYs für dnssec.net." | ||
| + | |||
| + | = Antwort des .net-Nameservers = | ||
| + | Der .net-Nameserver liefert die DNSKEYs: | ||
| + | |||
| + | - Public KSK von dnssec.net. | ||
| + | - Public ZSK von dnssec.net. | ||
| + | - RRSIG über die DNSKEYs (signiert mit dem privaten KSK von dnssec.net). | ||
| + | |||
| + | = Validierung der DNSKEYs von dnssec.net = | ||
| + | Der Resolver validiert die DNSKEYs: | ||
| + | |||
| + | - Er prüft die RRSIG der DNSKEYs mit dem Public KSK der .net-Zone. | ||
| + | - Ist die Signatur gültig? → Public ZSK von dnssec.net ist authentisch. | ||
| + | |||
| + | = Validierung des DS-Records für dnssec.net = | ||
| + | Der Resolver validiert den DS-Record von dnssec.net mit dem Public ZSK der .net-Zone: | ||
| + | |||
| + | - Falls die Signatur gültig ist, geht die Namensauflösung weiter. | ||
| + | |||
| + | = Anfrage an die dnssec.net-Nameserver = | ||
| + | Der Resolver fragt einen der dnssec.net-Nameserver: | ||
| + | |||
| + | - "Gib mir den A-Record für www.dnssec.net." | ||
| + | |||
| + | = Antwort der dnssec.net-Nameserver = | ||
| + | Der dnssec.net-Nameserver liefert: | ||
| + | |||
| + | - A-Record für www.dnssec.net. | ||
| + | - RRSIG für den A-Record (signiert mit dem privaten ZSK von dnssec.net). | ||
| + | |||
| + | = Validierung des A-Records = | ||
| + | Der Resolver validiert die Antwort: | ||
| + | |||
| + | - Er prüft die RRSIG des A-Records mit dem Public ZSK von dnssec.net. | ||
| + | - Falls die Signatur gültig ist, gibt er die IP-Adresse an den Client zurück. | ||
| + | |||
| + | = Abschluss der DNSSEC-Validierung = | ||
| + | Der Resolver hat alle Signaturen überprüft und gibt die verifizierte Antwort an den anfragenden Client zurück. | ||
Version vom 17. März 2025, 19:29 Uhr
Anfrage des Clients
Der Resolver erhält eine Anfrage von einem Client:
- Beispiel: "Gib mir die A-Record-IP für www.dnssec.net."
Anfrage an den Root-Nameserver
Der Resolver kennt die Antwort nicht und fragt einen Root-Nameserver:
- "Welche Nameserver sind für .net zuständig?"
Antwort des Root-Nameservers
Der Root-Nameserver gibt die autoritativen Nameserver für .net zurück:
- Enthält NS-Records für .net. - Enthält DS-Record für .net (falls .net DNSSEC nutzt). (Fragt: Enthält den Hash des Public KSK von .net zur Validierung durch die übergeordnete Zone?) - Enthält RRSIG für den DS-Record. (Fragt: Diese Signatur wurde mit dem privaten ZSK der Root-Zone erstellt und sichert den DS-Record ab?)
Validierung des DS-Records für .net
Der Resolver muss die RRSIG-Signatur für den DS-Record prüfen:
- Dazu braucht er den Public ZSK der Root-Zone. - Falls er den ZSK nicht gecached hat, fragt er die DNSKEYs der Root-Zone ab.
Abfrage der Root-DNSKEYs
Der Resolver fragt den Root-Nameserver:
- "Gib mir die DNSKEYs für . (Root)."
Antwort des Root-Nameservers
Der Root-Nameserver liefert die DNSKEYs:
- Public KSK (Trust Anchor ist bereits gespeichert). - Public ZSK. - RRSIG über die DNSKEYs (signiert mit dem privaten KSK).
Validierung der DNSKEYs
Der Resolver validiert die DNSKEYs:
- Er prüft die RRSIG der DNSKEYs mit dem Public KSK (Trust Anchor). - Ist die Signatur gültig? → Public ZSK ist authentisch.
Validierung des DS-Records für .net
Der Resolver validiert den DS-Record von .net mit dem Public ZSK:
- Falls die Signatur gültig ist, geht die Namensauflösung weiter.
Anfrage an die .net-Nameserver
Der Resolver fragt einen der .net-Nameserver:
- "Welche Nameserver sind für dnssec.net autoritativ?"
Antwort der .net-Nameserver
Der .net-Nameserver liefert die autoritativen Nameserver für dnssec.net:
- Enthält NS-Records für dnssec.net. - Enthält DS-Record für dnssec.net. (Fragt: Enthält den Hash des Public KSK von dnssec.net zur Validierung durch die übergeordnete Zone?) - Enthält RRSIG für den DS-Record von dnssec.net. (Fragt: Diese Signatur wurde mit dem privaten ZSK der .net-Zone erstellt und sichert den DS-Record ab?)
Validierung des DS-Records für dnssec.net
Der Resolver muss die RRSIG-Signatur für den DS-Record prüfen:
- Dazu braucht er den Public ZSK der .net-Zone. - Falls er den ZSK nicht gecached hat, fragt er die DNSKEYs der .net-Zone ab.
Abfrage der .net-DNSKEYs
Der Resolver fragt den .net-Nameserver:
- "Gib mir die DNSKEYs für dnssec.net."
Antwort des .net-Nameservers
Der .net-Nameserver liefert die DNSKEYs:
- Public KSK von dnssec.net. - Public ZSK von dnssec.net. - RRSIG über die DNSKEYs (signiert mit dem privaten KSK von dnssec.net).
Validierung der DNSKEYs von dnssec.net
Der Resolver validiert die DNSKEYs:
- Er prüft die RRSIG der DNSKEYs mit dem Public KSK der .net-Zone. - Ist die Signatur gültig? → Public ZSK von dnssec.net ist authentisch.
Validierung des DS-Records für dnssec.net
Der Resolver validiert den DS-Record von dnssec.net mit dem Public ZSK der .net-Zone:
- Falls die Signatur gültig ist, geht die Namensauflösung weiter.
Anfrage an die dnssec.net-Nameserver
Der Resolver fragt einen der dnssec.net-Nameserver:
- "Gib mir den A-Record für www.dnssec.net."
Antwort der dnssec.net-Nameserver
Der dnssec.net-Nameserver liefert:
- A-Record für www.dnssec.net. - RRSIG für den A-Record (signiert mit dem privaten ZSK von dnssec.net).
Validierung des A-Records
Der Resolver validiert die Antwort:
- Er prüft die RRSIG des A-Records mit dem Public ZSK von dnssec.net. - Falls die Signatur gültig ist, gibt er die IP-Adresse an den Client zurück.
Abschluss der DNSSEC-Validierung
Der Resolver hat alle Signaturen überprüft und gibt die verifizierte Antwort an den anfragenden Client zurück.