DNSKEY Resource Record – Wikipedia

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.

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.

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)[1][2]
16 = Ed448 (EdDSA/Curve448/SHAKE256)[1][2]
[3]
Schlüssel
child.example IN DNSKEY (                           256          ; Zonenschlüssel                           3            ; DNSSEC                           3            ; DSA-Signatur                           BOPdJjdc/ZQWCVA/ONz6LjvugMnB2KKL3F1D2i9Gdrpi                           rcWRKS2DfRn5KiMM2HQXBHv0ZdkFs/tmjg7rYxrN+bzB                           NrlwfU5RMjioi67PthD07EHbZjwoZ5sKC2BZ/M596hyg                           fx5JAvbIWBQVF+ztiuCnWCkbGvVXwsmE+odINCur+o+E                           jA9hF06LqTviUJKqTxisQO5OHM/0ufNenzIbijJPTXbU                           cF3vW+CMlX+AUPLSag7YnhWaEu7BLCKfg3vJVw9mtaN2                           W3oWPRdebGUf/QfyVKXoWD6zDLByCZh4wKvpcwgAsel4                           bO5LVe7s8qstSxqrwzmvaZ5XYOMZFbN7CXtutiswAkb0                           pkehIYime6IRkDwWDG+14H5yriRuCDK3m7GvwxMo+ggV                           0k3Po9LD5wWSIi1N ) 
example.net. IN DNSKEY (                            257         ; Schlüsselunterzeichnungs-Schlüssel                            3           ; DNSSEC                            1           ; RSA-Signatur                            AQOW4333ZLdOHLRk+3Xe6RAaCQAOMhAVJu2T                            xqmk1Kyc13h69/wh1zhDk2jjqxsN6dVAFi16                            CUoynd7/EfaXdcjL ) 

Sicherheit des Verfahrens

[Bearbeiten | Quelltext bearbeiten]

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.

  • RFC 4034 – Resource Records for the DNS Security Extension. (englisch).

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. a b RFC 8080 – Edwards-Curve Digital Security Algorithm (EdDSA) for DNSSEC. Februar 2017 (englisch).
  2. a b RFC 8032 – Edwards-Curve Digital Signature Algorithm (EdDSA). Januar 2017 (englisch).
  3. iana.org