Diagnose · belegte Antwort
DKIM-Fehler „body hash did not verify“ diagnostizieren
Der DKIM-Fehler „body hash did not verify“ tritt auf, wenn der E-Mail-Text nach dem Anbringen der DKIM-Signatur verändert wurde. Der empfangende Server berechnet den Hash des empfangenen Nachrichtentexts neu und stellt fest, dass er nicht mit dem im DKIM-Signature-Header gespeicherten Hash übereinstimmt. Die Verifizierung schlägt fehl.
Ursachen für Änderungen am Nachrichtentext
Die häufigste Ursache ist ein zwischengeschalteter Mailserver oder eine Security-Appliance, die den Nachrichteninhalt verändert. Dazu gehören angehängte Leerzeichen am Zeilenende, eingefügte Tracking-Pixel, angehängte rechtliche Hinweise oder die Umwandlung von Zeilenenden von CRLF in LF. Schon die Änderung eines einzigen Zeichens im Nachrichtentext oder in der MIME-Struktur macht den kryptografischen Hash ungültig und führt zum Ergebnis fail.
Einstellungen zur Kanonisierung
DKIM nutzt Kanonisierungsalgorithmen, um festzulegen, wie viel Veränderung zulässig ist, bevor ein Hash fehlschlägt. Die Kanonisierung simple ist streng und schlägt bei jeder Änderung fehl. Die Kanonisierung relaxed ignoriert bestimmte Änderungen an Leerzeichen sowie Unterschiede in der Groß- und Kleinschreibung von Headern. Werden Ihre Nachrichten häufig von Relays verändert, kann der Wechsel zu relaxed unnötige Fehler vermeiden.
Probleme mit MIME und Kodierung
Ein fehlerhafter Umgang mit Content-Transfer-Encoding kann zu abweichenden Hashes führen. Wandelt ein Relay eine Nachricht von quoted-printable in 8bit um oder ändert es den Zeichensatz, ändert sich der resultierende Body-Hash. Stellen Sie sicher, dass der signierende Agent und die Transportschichten die in RFC 2045 definierten Standards einhalten, damit der Nachrichtentext unverändert bleibt.
Schritte zur Diagnose
Untersuchen Sie zur Behebung die Roh-Header der fehlgeschlagenen Nachricht. Vergleichen Sie den ursprünglich gesendeten Nachrichtentext mit dem empfangenen, um genau festzustellen, wo die Änderung stattgefunden hat. Mit SendHQ oder den kostenlosen Tools (https://sendhq.cc/tools) können Sie die Konfiguration Ihres DKIM-Eintrags prüfen und sicherstellen, dass der öffentliche Schlüssel korrekt in Ihrem DNS veröffentlicht ist.
Strategien zur Vorbeugung
Vermeiden Sie Mail-Relays, die Inhalte verändern. Wenn Sie einen Dienst nutzen müssen, der Fußzeilen anhängt, sorgen Sie dafür, dass die Signatur erst an der letzten Station der Zustellkette erfolgt. Alternativ können Sie ARC (Authenticated Received Chain) einsetzen, um die ursprünglichen Authentifizierungsergebnisse über mehrere Stationen hinweg zu erhalten, sodass der endgültige Empfänger der ursprünglichen Signatur vertrauen kann.
Häufige Fragen von Teams
Wirkt sich ein Body-Hash-Fehler auf SPF aus?
Nein, SPF und DKIM sind voneinander unabhängig. Ein DKIM-Body-Hash-Fehler macht ein SPF-pass nicht ungültig, kann aber das DMARC-Alignment beeinträchtigen, wenn DKIM die primäre Authentifizierungsmethode war.
Kann eine hinzugefügte Fußzeile diesen Fehler verursachen?
Ja. Wird nach dem Signieren ein Firmen-Disclaimer oder eine Mailinglisten-Fußzeile hinzugefügt, ändert sich der Nachrichtentext, und der DKIM-Body-Hash wird ungültig.
Was ist der Unterschied zwischen der Kanonisierung simple und relaxed?
simple ist streng und schlägt bei jeder Änderung fehl. relaxed lässt kleinere Änderungen an Leerzeichen und an der Groß- und Kleinschreibung von Headern zu und ist dadurch robuster gegenüber Änderungen durch Relays.
Verursacht eine geänderte Betreffzeile einen Body-Hash-Fehler?
Nein, der Betreff gehört zum Header. Eine Änderung des Betreffs würde einen Header-Hash-Fehler verursachen, keinen Body-Hash-Fehler.
Primärquellen
- RFC 6376: DomainKeys Identified Mail — RFC-Editor
- RFC 2045: MIME Part One: Format of Internet Message Bodies — RFC-Editor
- RFC 8617: The Authenticated Received Chain (ARC) — RFC-Editor