Was ist DKIM?
DKIM steht für DomainKeys Identified Mail.
DKIM versieht jede ausgehende E-Mail mit einer digitalen Unterschrift, an der Empfänger erkennen, dass sie von Ihrer Domain stammt und unterwegs nicht verändert wurde.
Ohne Fachbegriffe, für Betriebe ohne eigene IT.
Auf dieser Seite4 Abschnitte
Einfach erklärt
DKIM ist eine digitale Unterschrift, die Ihr Mailserver unter jede ausgehende Mail setzt. Den passenden Prüfschlüssel veröffentlichen Sie zu Ihrer Domain. Der Empfänger vergleicht Unterschrift und Schlüssel und weiß dann zweierlei: Die Mail kommt wirklich von Ihrer Domain, und niemand hat sie unterwegs verändert. Man kann es sich wie ein Siegel auf einem Briefumschlag vorstellen.
Woran Sie merken, dass es fehlt oder schwach ist
Ihre Mails landen eher im Spam, vor allem bei großen Anbietern wie Gmail. Google verlangt für Mails an private Gmail-Adressen einen DKIM-Schlüssel von mindestens 1024 Bit. Fehlt die Unterschrift, fallen Fälschungen mit Ihrer Adresse schwerer auf.
Was Sie tun können
DKIM wird bei Ihrem Mailanbieter eingeschaltet, und ein oder zwei Einträge kommen zu Ihrer Domain. Bei Microsoft 365 muss DKIM für jede eigene Domain einzeln eingeschaltet werden. Auch Newsletter- und Rechnungsprogramme brauchen eine eigene Unterschrift mit Ihrer Domain, sonst unterschreiben sie mit der Domain des Anbieters.
Was DKIM nicht kann
DKIM sagt nur, welche Domain unterschrieben hat. Das kann auch eine ganz andere sein als die Absenderadresse, die Ihre Kunden sehen. Die Verbindung zur sichtbaren Adresse stellt erst DMARC her.
Signatur und Schlüssel
Der sendende Server bildet einen Hash über den Body und ausgewählte Header und signiert ihn mit einem privaten Schlüssel. Das Ergebnis steht im Header DKIM-Signature:
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ihre-firma.de; s=selector1;
h=from:to:subject:date:message-id; bh=…; b=…
d= ist die signierende Domain, s= der Selektor. Den öffentlichen Schlüssel holt der Empfänger aus dem TXT-Eintrag <selektor>._domainkey.<domain>:
selector1._domainkey.ihre-firma.de. IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqh…"
Microsoft 365 und andere Anbieter veröffentlichen stattdessen einen CNAME auf einen von ihnen verwalteten Schlüssel. Das erlaubt ihnen, Schlüssel ohne Ihr Zutun zu wechseln.
Schlüssellänge und Verfahren
RFC 8301 verlangt für RSA mindestens 1024 Bit und empfiehlt 2048 Bit. Ed25519 nach RFC 8463 ist kürzer und moderner, wird beim Empfang aber nicht überall geprüft. Wer es nutzt, signiert zusätzlich mit RSA.
Typische Fehler
- Schlüssel zu kurz. Signaturen mit RSA-Schlüsseln unter 1024 Bit dürfen Empfänger nach RFC 8301 nicht als gültig werten. Die Mail gilt dann als nicht signiert.
- Eintrag falsch aufgeteilt. Ein 2048-Bit-Schlüssel ist länger als 255 Zeichen und muss im TXT-Eintrag als mehrere Zeichenketten stehen, die der Empfänger zusammensetzt. Manche DNS-Oberflächen brechen ihn falsch um.
- Leeres
p=. Bedeutet nach RFC 6376 einen widerrufenen Schlüssel. - Signatur mit fremder Domain. Der Versanddienst signiert mit
d=dienstleister.example. Die Signatur ist gültig, für DMARC aber nicht ausgerichtet. - Kein Schlüsselwechsel. Zwei Selektoren erlauben, Schlüssel regelmäßig zu tauschen, ohne dass eine Lücke entsteht.
Prüfen
Der Selektor lässt sich von außen nicht zuverlässig erraten. Er steht im Header DKIM-Signature einer empfangenen Mail unter s=. Mit ihm:
dig +short TXT selector1._domainkey.ihre-firma.de
Der IT-Sicherheitscheck prüft gängige Selektoren und nimmt einen eigenen Selektor entgegen.