Bei DNSSEC (Domain Name System Security Extensions) soll die Authentizität und Integrität der im Domain Name System übertragenen Daten sichergestellt werden, indem Resource Records mit digitalen Zertifikaten abgesichert sind. Das in mehreren RFCs standardisierte Verfahren basiert auf privaten und öffentlichen Schlüsseln zum Signieren und Prüfen der DNS-Informationen. Eindeutiges Ziel von DNSSEC ist es, Manipulationen der Namensauflösung auszuschließen und die Schwachstelle der ungeschützten DNS-Übertragung zu beheben.
Durch DNSSEC wird sichergestellt, dass die DNS-Daten weder manipuliert wurden noch von einer anderen Quelle stammen können. Die privaten Schlüssel werden dazu verwendet, um die Resource Records digital zu signieren. Mit dem öffentlichen Schlüssel lässt sich dann die Signatur von den Empfängern der Daten prüfen. Damit die Sicherheitsmechanismen der Domain Name System Security Extensions funktionieren, muss DNSSEC auf Seiten des Anbieters der DNS-Informationen und beim anfragenden Clientsystem unterstützt werden.
Hier handelt es nicht um verschlüsselte DNS-Daten, die sind nach wie vor unverschlüssselt, sondern um signierte Daten wie der Resource Records. Dadurch wird gewährleistet, dass die DNS-Daten von dem DNS-Server stammen, zu dem auch der Schlüssel gehört.
Ein DNSKEY-RR ist wie abgebildet aufgebaut.
Label
Das ist der Name des Besitzers von dem Schlüssel.
Class
Das ist nur in Typ "IN" zulässig.
Typ
Logischerweise DNSKEY
Flags
Das sind zusätzliche Angaben wie Host-, Zonen- oder Schlüsselunterzeichnungs-Schlüssel. Bei Typ DNSKEY werden 256 für Zone und 257 für Schlüssel verwendet.
Protokoll
Hier gelten die Werte 1 (TLS), 2 (eMail), 3 (DNSSEC), 4 (IPsec) und 255 für alle.
Verschlüsselungsverfahren
Schlüssel
In dem folgenden Beispiel lässt sich der Aufbau des DNSKEY-RR sehr gut nachvollziehen.
example.tld IN DNSKEY (
256 ; Zonenschlüssel
3 ; DNSSEC
7 ; NSEC3-Verschlüsselung
AwEAAauXGNQMitXTRPKAkme9Gs7MvrHgNeNJ
ddafYO7F5i/TsLre8zitWD/+bJZXx0Vu89QT
jKX9zQwhSRegwFvH4gfe4Hvo0SHt9YsMGwA1
LDW9RfFXDCGWEemDnAxX0NV9330BSYyQ2fVr
PpJoyB+et/BrLi/IzBrrFXB+O24jkBYWTK0k
hA9c1lAk//nWEVstarXZgmz2WlF4//aPUpGq
OnDLjbv1gXo3vUfcSBN2EcAaXAyTSGTaJUA6
I6BEFbN1id2gbFI/RsVa0dYo3imvn46IgroV
mDhx+LbKlMq71GhePyaWzaZX8Bmi8Y9IxlJV
5+UizMqi3ZvO0yn19+nxfb8=
) ; ZSK; alg = NSEC3RSASHA1 ; key id = 40385
example.tld. IN DNSKEY (
257 ; Schlüsselunterzeichnungs-Schlüssel
3 ; DNSSEC
10 ; RSA/SHA-512-Verschlüsselung
AwEAAaoJiFk+Xj+9vRrKq2pdaFkwCKaGy1QN
Mbn/aQYTG5czj9aO/o400mS8YfEMGC3U+AY0
INliajs7sfeVuuFvJYbmkLpJGIbF1/3Tr/8j
zENJSEqxCh6y5iFz7HdgMat8+TekfyaDf30r
eM61l8G1BN3fcaFHf2DRv0+AkD/eY/kdId+n
gvQ1ifzk3tZNxIjeClEdQ7D2OTAazagcDl+v
SKWhzo3iSwyjMnboAo0RdHMKSuxgSDkMOch9
DIih5SVKRZy5zq9kJfuCPpgVAnjjB2oZ0K2r
pKu2FPHhV5zV9T2m2cBwYpldTobuAN8Ouj8m
72y4RdrI5ik1GOA4HzlUg0zKnaLhL1Y+Mxo2
Qz9hJMJ+rKifpcY72e5/FX9addolaqOjBX44
FvHJWaxcAjVVqFfPfgkMLMtcJY0YVMr694rN
ecfAFfVhn8UwQk9epq1xDI3D1pH8/HzmEdM7
lK9FLIx++fDtkpXqV7f5dorwm92kGZpdtZ/L
eCnFGpfLNeu4heQJ587pnwapj/wbNUF4IPuT
kuEpKJReQzWQ0gWp0yU3kDn7vcXD7Eee+3At
oobq6wwOsrkUXl1FVaF3rOm6L82S3dvtB/SS
uHCFjcdy33tlv1nE5cjaBZHRChKTMN4QNqRm
8l1RgnDq/2GvrxmSPXfGKyWmfjvSJot4EX2i
97ER
^) ; KSK; alg = RSASHA512 ; key id = 64413