Vetrauenskette bei DNSSEC
Version vom 18. März 2025, 20:13 Uhr von Thomas.will (Diskussion | Beiträge) (→Schrittweise Auflösung des Vertrauensproblems)
Ablauf in DNSSEC
- Der Nameserver signiert den A-Record:
- Der ZSK (Zone Signing Key) des authoritativen Nameservers für die Domain erstellt einen Hash des A-Records (z. B. hund.example.com IN A 192.168.1.1).
- Dieser Hash wird mit dem privaten ZSK signiert.
- Das Ergebnis dieser Signierung ist der RRSIG-Record (die Signatur), die den Hash enthält.
- Der Nameserver schickt dann den A-Record zusammen mit der RRSIG-Signatur an den Resolver.
- Der Resolver überprüft die Signatur:
- Der Resolver erhält den A-Record und die dazugehörige RRSIG-Signatur.
- Der Resolver berechnet selbst den Hash des A-Records (mit demselben Hash-Algorithmus wie der Nameserver).
- Der Resolver zieht den DNSKEY-Record (der den öffentlichen ZSK enthält) und verwendet den öffentlichen ZSK, um die RRSIG-Signatur zu entschlüsseln.
- Der Resolver vergleicht den entschlüsselten Wert der Signatur mit dem von ihm selbst berechneten Hash des A-Records.
- Wenn beide Werte übereinstimmen, bedeutet dies, dass der A-Record authentisch ist und nicht manipuliert wurde.
Wie kann der Resolver dem autoritativen Nameserver vertrauen?
- Die Vertrauensbasis (Trust Anchor) liegt in der Root-Zone (.).
- Die übergeordnete Zone signiert den DS-Record, der den Hash des KSK (Key Signing Key) der untergeordneten Zone enthält
- Der Resolver überprüft diese Kette von der Root bis zur angefragten Domain.
Schrittweise Auflösung des Vertrauensproblems
- Die Root-Zone signiert ihren eigenen KSK-Key (Root-Trust-Anchor)
- Der KSK der Root-Zone (.) wird in Betriebssystemen und Resolvern als Trust Anchor fest hinterlegt.
- Beispiel: dig DNSKEY . +dnssec zeigt den Root-Key.
Der DS-Record überträgt Vertrauen zur TLD (z. B. .com, .de)
- Die Root-Zone signiert einen Delegation Signer Record (DS) für .com.
- Der DS verweist auf den KSK von .com, der dann mit einem eigenen DNSKEY-Record nachprüfbar ist.
Die TLD signiert den DS-Record für die Domain (z. B. example.com)
- .com hat einen signierten DS-Eintrag für example.com, der auf den KSK von example.com verweist.
- Der Resolver fragt den DNSKEY für example.com ab und validiert ihn.
Die Domain signiert ihren eigenen A-Record mit dem ZSK
- Der ZSK signiert den A-Record (hund.example.com IN A 192.168.1.1).
- Der Resolver kann mit dem DNSKEY von example.com überprüfen, ob die Signatur korrekt ist.