DNSKEY Resource Record
# DNSKEY Resource Record

DNSKEY Resource Records dienen der Propagierung öffentlicher Schlüssel durch DNS. DNSKEY Records werden im Rahmen von DNSSEC (DNS Security) verwendet und lösten 2004 die nahezu identischen KEY Resource Records ab.

## Hintergrund

Public-Key-Systeme gelten heute als leistungsfähige und vielfältig einsetzbare Verschlüsselungsverfahren. Der Besitzer eines Schlüssels unterzeichnet beispielsweise eine Nachricht mit dem nur ihm selbst bekannten Privaten Schlüssel. Ein Empfänger kann diese Unterschrift unter Zuhilfenahme des korrespondierenden Öffentlichen Schlüssel verifizieren und damit sicherstellen, dass die Nachricht tatsächlich vom Absender stammt und dass sie unverfälscht ist.

Ein Grundproblem von Public-Key-Systemen ist die Verteilung der Öffentlichen Schlüssel: Wie macht ein User seinen Public Key der Welt bekannt? Das hier beschriebene Verfahren verwendet DNS. Der Besitzer des Schlüssels legt diesen als DNSKEY-RR auf einem öffentlich zugängigen DNS-Server ab. Jeder, der den Public Key dieses Users benötigt, sendet eine entsprechende DNS-Anfrage. Als Antwort erhält er dann den Öffentlichen Schlüssel. Das Verfahren entspricht damit der Propagierung von IP-Adressen.

In der Praxis reicht diese Art der Propagierung aber nicht aus, da eine komplette Zone gefälscht sein kann. Der Public Key muss deshalb entweder manuell als Trusted Key in den Resolver eingebracht werden oder der zugehörige DS Resource Record in der überliegenden Zone publiziert werden. Siehe Chain of Trust.

## Aufbau

Ein DNSKEY-RR besteht aus den folgenden Feldern:

### Label

    Name des Besitzers des Schlüssels

### Class

    nur IN zulässig

### Typ

    DNSKEY

### Flags

    zusätzliche Angaben wie z. B. Host-, Zonen- oder Schlüsselunterzeichnungs-Schlüssel. Im Rahmen von DNSSEC werden 256=Zone und 257=Schlüssel verwendet

### Protokoll

    1=TLS, 2=email, 3=DNSSEC, 4=IPsec, 255=alle

### Signaturalgorithmus

    3 = DSA/SHA-1 5 = RSA/SHA-1 6 = DSA/SHA-1/NSEC3 7 = RSA/SHA-1/NSEC3 8 = RSA/SHA-256 10 = RSA/SHA-512 12 = GOST R 34.10-2001 13 = ECDSA/Curve P-256/SHA-256 14 = ECDSA/Curve P-384/SHA-384 15 = Ed25519 (EdDSA/Curve25519/SHA-512) 16 = Ed448 (EdDSA/Curve448/SHAKE256)

## Sicherheit des Verfahrens

Die Propagierung eines Öffentlichen Schlüssels per DNS ist nur dann ausreichend sicher, wenn sie über die überliegende Zone mit dem DS RR bestätigt wird. Die Propagierung durch ein X.509-Zertifikat ist noch sicherer, aber sehr viel aufwändiger und teurer.

