Artikelserie: Absenderreputation und E-Mail-Sicherheit
Teil 1: Authenticated Received Chain (ARC)
Teil 2: Sender Policy Framework (SPF)
Teil 3: DomainKeys Identified Mail (DKIM)
Teil 4: Domain-based Message Authentication, Reporting and Conformance (DMARC)
Was ist DomainKeys Identified Mail (DKIM)?
Genau wie SPF, DMARC und ARC ist auch DKIM eine essenzielle Technologie für die Erkennung von gefälschten Absenderdomains sowie zur Abwehr von Phishing-Angriffen. Die größte Ähnlichkeit haben hierbei SPF und DKIM: Während mit Hilfe von SPF sichergestellt werden kann, ob ein Server zum Senden von E-Mails autorisiert ist, kann mit Hilfe von DKIM überprüft werden, ob eine E-Mail tatsächlich vom Eigentümer der angegebenen Domain versendet wurde und ob die E-Mail während des Transports verändert wurde.
DKIM ermöglicht es also, sowohl die Authentizität als auch die Integrität einer E-Mail zu überprüfen. Das Verfahren wurde ursprünglich von Yahoo und Cisco entwickelt, wurde aber von einer steigenden Anzahl an Unternehmen unterstützt und schließlich zur Standardisierung eingereicht.
Wie funktioniert DKIM?
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 Domain 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 Absenderdomain 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 Absenderdomain 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 Absenderdomain 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:
Beispiel eines DKIM-Schlüssels
DKIM-Eintrag prüfen
Mit Hilfe von Tools wie mxtoolbox können Sie schnell und einfach prüfen, ob für Ihre Domain ein DKIM-Eintrag vorliegt.
Hinweise zum Einsatz von DKIM in Ihrem Unternehmen
Der Einsatz von DKIM ist risikoarm. Bei der Erstellung der DKIM-Signatur muss der Absender lediglich darauf achten, dass die E-Mail danach nicht mehr verändert wird. Etwaige Disclaimer oder einfache Signaturen muss er im Vorfeld an die E-Mail anhängen. Anderenfalls würde die Signatur brechen, da sich der beim Versand berechnete Hash-Wert ändern würde. Idealerweise wird die DKIM-Signatur vom letzten Mail Transfer Agent (MTA) in der eigenen E-Mail-Kette aufgebracht.
Wenn DKIM-Signaturen beim Empfang von E-Mails geprüft werden sollen, sollte dies so früh wie möglich geschehen – idealerweise auf dem ersten Mail Transfer Agent (MTA) in der E-Mail-Kette. Viele Systeme belassen nach der Prüfung die Signatur im Header der E-Mail, damit sie später gegebenenfalls noch einmal geprüft werden kann. Diese Vorgehensweise ist auch empfehlenswert.
Eine Besonderheit bei DKIM ist die Tatsache, dass eine E-Mail auch mehrere DKIM-Signaturen beinhalten kann. Dies ist beispielsweise möglich, wenn jeder Server in der ausgehenden E-Mail-Kette eine Signatur aufträgt. Im Rahmen der DKIM-Prüfung müssen alle vorhandenen Signaturen geprüft werden. Sobald bei einer Signatur das Ergebnis positiv ist, gilt die Prüfung als erfolgreich bestanden.
Der Unterschied zwischen DKIM und S/MIME
Im Unterschied zu den kryptographischen Signaturen, die mit Hilfe von S/MIME erstellt werden, sieht der Empfänger einer E-Mail die DKIM-Signatur nicht. Es ist ein rein serverbasiertes Verfahren. Erst, wenn man sich den Header einer E-Mail anzeigen lässt, wird die DKIM-Signatur sichtbar.
DKIM und DMARC
Wie auch beim Einsatz von SPF lassen die Ergebnisse der DKIM-Prüfung die Frage nach dem Willen des Absenders offen. Diese Informationslücke wird mit einer DMARC-Richtlinie geschlossen. In dieser erklärt der Absender zweifelsfrei, wie seine ausgehenden E-Mails mit welchen Technologien geschützt werden müssen und wie im Fehlerfall mit den E-Mails umzugehen ist. Des Weiteren kann der Domaininhaber über die Ergebnisse der Prüfung informiert werden.
DKIM-Eintrag erstellen
Sie sehen gerade einen Platzhalterinhalt von YouTube. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
DKIM einrichten und E-Mail-Sicherheit verbessern
Mit DKIM prüfen Sie die Authentizität und Integrität von E-Mails und schützen sich und Ihr Unternehmen so vor Phishing und Spam. DKIM ist ein wichtiger Baustein zur Verbesserung der E-Mail-Hygiene, sollte aber immer durch SPF, DMARC und ARC begleitet werden. NoSpamProxy ist der einfachste Weg, DKIM-Schlüssel zu erzeugen und zu verifizieren.