Skip to main content
New SPF lookups must resolve in milliseconds — why a DMARC tool's add-on isn't enough Learn Why → →

DKIM-Signatur

Eine DKIM-Signatur ist eine kryptografische Signatur, die den Headern einer E-Mail hinzugefügt wird (der DKIM-Signature-Header) und mit der Empfänger überprüfen können, dass die Nachricht von der sendenden Domain autorisiert wurde und unterwegs nicht verändert wurde. Wichtige Tags sind d (Domain), s (Selector), b (Signatur) und bh (Body-Hash).

Diese Anleitung ist Teil unseres vollständigen Leitfadens zu DKIM. Verwandt: der DKIM-Record und warum DKIM fehlschlägt.

Eine DKIM-Signatur ist eine kryptografische Signatur, die den Headern einer E-Mail hinzugefügt wird — getragen im DKIM-Signature-Header — und die es einem empfangenden Server ermöglicht, zu überprüfen, dass die Nachricht von der sendenden Domain autorisiert wurde und unterwegs nicht verändert wurde. Die Signatur wird mit einem privaten Schlüssel erzeugt, den der Absender besitzt, und gegen einen passenden öffentlichen Schlüssel geprüft, der im DNS veröffentlicht ist.

Wie der DKIM-Signature-Header aussieht

Die Signatur reist als ein einzelnes Header-Feld, das der Nachricht vorangestellt wird. Sie packt alles, was ein Empfänger benötigt — die signierende Domain, den Selector, welche Header signiert wurden, einen Hash des Nachrichtentexts und die Signatur selbst — in eine Reihe von tag=value-Paaren, die durch Semikolons getrennt sind.

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
    d=example.com; s=selector1; t=1700000000;
    h=from:to:subject:date;
    bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
    b=Cg5Xje8kY0m5xT1pW2qL4vN8rH6dF3aZ9cU7bE0iQoR2sT4uV6wX8yZ1
    aB3cD5eF7gH9jK2lM4nP6qR8sT0uV2wX4yZ6aB8cD0eF2gH4jK6l=

Der Header wird vom Mailserver des Absenders eingefügt, bevor die Nachricht die Domain verlässt. Zeilenumbrüche und Einrückungen dienen nur der Faltung — der Wert ist logisch eine einzige zusammenhängende Zeichenkette.

Die Tags in einer DKIM-Signatur

Jedes Tag trägt einen Teil des Überprüfungspuzzles. Der Signierende wählt diese Werte; der Prüfer liest sie zurück, um die Signatur zu rekonstruieren und zu überprüfen.

TagNameZweck
vVersionDKIM-Version. Immer 1.
aAlgorithmusHash- und Signieralgorithmus, z. B. rsa-sha256 oder ed25519-sha256.
dDomainDie signierende Domain — die Identität, die DKIM authentifiziert.
sSelectorBenennt, welcher öffentliche Schlüssel aus dem DNS der Domain abzurufen ist.
hSignierte HeaderDurch Doppelpunkte getrennte Liste der von der Signatur abgedeckten Header-Felder.
bhBody-HashHash des (kanonisierten) Nachrichtentexts.
bSignaturDie eigentliche kryptografische Signatur, base64-kodiert.
cKanonisierungWie Header/Text vor dem Hashen normalisiert werden, z. B. relaxed/relaxed.
t / xZeitstempelt ist der Zeitpunkt der Signierung; x ist der Zeitpunkt, zu dem die Signatur abläuft.

Wie das Signieren funktioniert (beim Senden)

Wenn eine Nachricht den sendenden Server verlässt, tut DKIM zwei Dinge. Zuerst kanonisiert es den Text und hasht ihn, wobei das Ergebnis in bh gespeichert wird. Dann kanonisiert es die in h benannten Header — zusammen mit dem DKIM-Signature-Header selbst (mit einem leeren b) —, hasht diesen Block und signiert den Hash mit dem privaten Schlüssel der Domain. Die resultierende Signatur wird zum b-Wert. Da der private Schlüssel den Absender nie verlässt, kann nur der wahre Domaininhaber eine Signatur erzeugen, die validiert wird.

Wie die Überprüfung funktioniert (beim Empfang)

Der empfangende Server liest den DKIM-Signature-Header, um die Domain (d) und den Selector zu erfahren. Er fragt das DNS unter <selector>._domainkey.<domain> ab, um den öffentlichen Schlüssel aus dem DKIM-Record abzurufen. Dann wiederholt er die Arbeit des Absenders: Er kanonisiert und hasht den Text, vergleicht diesen mit bh, kanonisiert und hasht die signierten Header und verwendet den öffentlichen Schlüssel, um b gegen diesen Header-Hash zu prüfen. Wenn sowohl der Body-Hash übereinstimmt als auch die Signatur verifiziert wird, besteht DKIM. Die bh-Prüfung ist das, was jede Manipulation am Nachrichtentext erkennt — schon ein einziges geändertes Zeichen erzeugt einen anderen Hash und lässt die Prüfung scheitern.

Wann Signaturen fehlschlagen

Eine DKIM-Signatur schlägt immer dann fehl, wenn die Nachricht, die der Empfänger sieht, nicht mehr mit dem übereinstimmt, was der Absender signiert hat. Die häufigsten Ursachen sind:

  • Änderung unterwegs — Mailinglisten, Weiterleiter und einige Gateways schreiben Betreffzeilen um, hängen Fußzeilen an oder kodieren den Text neu, was den Body-Hash zerstört.
  • Body-Hash-Fehlübereinstimmung — jede Änderung am signierten Teil des Texts ändert bh, sodass die Überprüfung fehlschlägt, selbst wenn der Schlüssel korrekt ist.
  • Falscher oder fehlender Schlüssel — der Selector verweist auf einen DNS-Record, der fehlt, abgelaufen ist oder den falschen öffentlichen Schlüssel enthält.

Für eine ausführlichere Aufschlüsselung der Ursachen und Lösungen siehe warum DKIM fehlschlägt, und verwenden Sie das kostenlose DKIM-Lookup-Tool, um zu bestätigen, dass der öffentliche Schlüssel eines Selectors veröffentlicht und wohlgeformt ist.

Häufig gestellte Fragen

Was ist eine DKIM-Signatur?

Eine DKIM-Signatur ist eine kryptografische Signatur, die den Headern einer E-Mail im DKIM-Signature-Feld hinzugefügt wird. Der Absender erzeugt sie mit einem privaten Schlüssel über ausgewählte Header und einen Hash des Texts. Empfänger überprüfen sie gegen einen öffentlichen Schlüssel im DNS und beweisen damit, dass die Nachricht von der Domain stammt und nicht verändert wurde.

Was bedeutet das b=-Tag in einer DKIM-Signatur?

Das b=-Tag enthält die eigentliche Signatur: ein base64-kodierter Wert, der durch Signieren eines Hashes der kanonisierten signierten Header mit dem privaten Schlüssel der sendenden Domain erzeugt wird. Der Empfänger dekodiert ihn und überprüft ihn gegen den aus dem DNS abgerufenen öffentlichen Schlüssel. Wenn sich die signierten Header unterwegs geändert haben, schlägt die b=-Prüfung fehl.

Warum schlägt eine DKIM-Signatur nach der Weiterleitung fehl?

Weiterleiter und Mailinglisten verändern die Nachricht oft — sie hängen Fußzeilen an, schreiben den Betreff um oder kodieren den Text neu. Da DKIM den exakten Text und ausgewählte Header signiert, verändert jede solche Änderung den berechneten Hash, sodass er nicht mehr mit dem signierten bh oder dem Header-Hash übereinstimmt. Die Signatur schlägt dann bei der Überprüfung fehl, obwohl das Original gültig war.

Was ist der Body-Hash (bh) in DKIM?

Das bh=-Tag ist ein Hash des Nachrichtentexts nach der Kanonisierung, berechnet mit dem in a benannten Algorithmus. Beim Empfang berechnet der Prüfer den Body-Hash neu und vergleicht ihn mit bh. Eine Abweichung bedeutet, dass der Text unterwegs verändert wurde, sodass die Signatur abgelehnt wird, noch bevor die kryptografische Signatur in b= überhaupt geprüft wird.

Rated 5/5 on G2 · Trusted since 2018

Trusted by 50,000+ domains

"AutoSPF Flattens SPF Records Seamlessly & Keeps Changes Logged - I am quite pleased with the product"

It does what it promises to do, and does it very well. I appreciate that it keeps a log of changes made, which prevents many mistakes. A client's SPF record would have way too many lookups, but AutoSPF makes that problem go away. The length of the SPF record is typically not the issue; it's the amount of lookups in the record that are. AutoSPF "flattens" the record, automatically expanding the defined lookups to IP addresses or ranges. And it auto-updates the record when the un-flattened lookups change.
PJ

Peter J.

President · Small-Business (50 or fewer emp.)

"Helped us go beyond capacity"

AutoSPF did exactly as described, it helped us get past our 10 lookup limit. Afterwards, we hit another limit regarding overall capacity and when contacted, they quickly provided us with a new solution to eliminate capacity issues entirely going forward, so now we can add as many SPF records as needed. They also provided us with a personalized support video explaining their new method in its entirety using our instance as the example.
VU

Verified User

Financial Services · Mid-Market (51-1000 emp.)

"Great service and great support"

AutoSPF was easy to initially set up on our own and a great cost effective entry into spf flattening. Needed our first support assistance today and got great response including a video demonstrating the issue I was trying to solve, a quick fix, and more detailed followup.
GF

Greg F.

Mid-Market (51-1000 emp.)