DKIM einrichten
Wie funktioniert DKIM (DomainKeys Identified Mail)?
Grundlage von DKIM ist die Anwendung eines Schlüsselpaars, das aus einem privaten und einem öffentlichen Schlüssel besteht, ähnlich wie bei der asymmetrischen Verschlüsselung.
DKIM-geschützte E-Mails versenden
Zunächst wird auf Basis des SHA-256-Algorithmus für jede ausgehende E-Mail aus dem Inhalt der E-Mail und Teilen des Headers ein Hash-Wert berechnet. SHA1 ist als Verschlüsselungsalgorithmus obsolet geworden und darf laut RFC 8301 nicht mehr verwendet werden. Die für die Berechnung des Hashes verwendeten Header-Felder müssen in der DKIM-Signatur angegeben werden. Ein Hash-Wert ist nichts anderes als eine lange Zeichenfolge.
Mit dem privaten Schlüssel signiert der sendende Server nun unter Anwendung des RSA-Verfahrens oder des Ed25519-Verfahrens den errechneten Hash-Wert und fügt diesen signierten Hash-Wert dem Header der E-Mail als Signatur hinzu.
DKIM-geschützte E-Mails empfangen
Zuvor hat der Absender seinen öffentlichen Schlüssel zusammen mit weiteren Informationen als DKIM-Eintrag im Domain Name System (DNS) seiner Domänen hinterlegt. So kann der Empfänger der jeweiligen E-Mail die Signatur und den Hash-Wert prüfen.
Genauer gesagt ermittelt der empfangende Server einer DKIM-geschützten E-Mail zunächst die Absenderdomäne der E-Mail, indem er deren ‘Header-From’-Feld ausliest. Dort findet er auch den sogenannten Selektor. Der Selektor ist gibt an, unter welchem Namen der passende öffentliche Schlüssel in der DNS-Zone der Absenderdomäne zu finden ist.
Schlägt die Prüfung des Hash-Wertes fehl, liegt entweder ein falscher öffentliche Schlüssel vor oder die E-Mail wurde unterwegs verändert.
Die DKIM-Signatur stellt somit zwei Dinge sicher:
-
Der empfangende Server weiß, dass die E-Mail samt Inhalt auf dem Transportweg nicht verändert worden ist.
-
Der empfangende Server weiß, dass der Inhaber der im Header angegebenen Absenderdomäne auch wirklich der Absender ist.
Wie sieht ein DKIM-Eintrag aus?
Bei DKIM erstellt der Absender in der DNS-Zone der zu schützenden Domain – wie auch bei SPF – einen TXT-Eintrag (TXT Record) auf Basis einer RFC-normierten Syntax. Der DKIM-Eintrag besteht dabei aus den folgenden Elementen:
Version Häufig angegeben durch den Ausdruck v=DKIM1.
Verwendeter Verschlüsselungsalgorithmus Entweder k=rsa oder k=Ed25519.
Selektor Eine frei wählbare Zeichenfolge. Meist wird eine fortlaufende Nummer oder ein Datum gewählt.
Öffentlicher Schlüssel p=IhrOeffentlicherSchluessel.
Beispiel eines DKIM-Schlüssels
-
Obere Box: DKIM-Eintrag mit öffentlichem RSA-Schlüssel.
-
Untere Box: DKIM-Eintrag mit öffentlichem Ed25519-Schlüssel.
Siehe auch
SPF einrichten
Absenderreputation und E-Mail-Sicherheit – Teil 3: DomainKeys Identified Mail (DKIM) (Blogartikel)