[ DKIM ]

Diagnostizieren Sie DKIM Fehler aufgrund von MIME und Übertragungscodierungsänderungen

Vergleichen Sie serialisierte Nachrichten, um visuell identische Inhalte von den tatsächlich DKIM überprüften Bytes zu unterscheiden.

Vom EmailAuth Forschungsteam

[Wichtige Punkte]

  • DKIM hasht die kodierte Textdarstellung, nicht den dekodierten Anhangsinhalt.
  • Header und Grenzen MIME Teilen sind Körperbytes; Äußere Header verwenden eine h-basierte Abdeckung.
  • Beenden Sie MIME -Serialisierung vor dem letzten entsprechenden Signaturvorgang.
Auf dieser Seite

Zwei Nachrichten können in einem E-Mail-Client identisch aussehen und dennoch unterschiedlich sein DKIM Körper-Hashes. DKIM überprüft die übermittelte Darstellung nach ihrer Angabe Kanonisierung, nicht die entschlüsselte Sicht des Lesers. MIME Neuaufbau, Content-Transfer-Konvertierung und Grenzänderungen gehören daher früh in die Untersuchung, wenn eine Nachricht erst nach einem Verarbeitungsdienst fehlschlägt.

Trennen Sie das Erscheinungsbild von der Repräsentation

Eine MIME -Nachricht kann einfachen Text, HTML, Anhänge und verschachtelte mehrteilige Strukturen enthalten. RFC 2046 §5.1.1 Platziert MIME Teilkopfzeilen und Grenztrennlinien innerhalb des mehrteiligen Hauptteils. Durch die Neukodierung eines Textteils von quoted-printable in base64 kann das, was ein Benutzer liest, erhalten bleiben, während die an DKIM übermittelten Bytes geändert werden. Durch das Umbrechen codierter Zeilen können diese Bytes ebenfalls geändert werden. Entspannte Kanonisierung ist eine definierte Leerraumtransformation, kein MIME Decoder oder ein Äquivalenztest für gerenderte Inhalte.

RFC 6376 §5.3 empfiehlt die Konvertierung in eine geeignete MIME -Übertragungskodierung vor dem Signieren, um Transportkonvertierungen zu reduzieren. Es erfordert insbesondere, dass lokale Darstellungen, die sich vor der Übertragung ändern, vor dem Signieren normalisiert werden. Das Prinzip ist einfach: Unterschreiben Sie das Formular, das der Empfänger sehen soll.

Suchen Sie die Serialisierungsänderung

Erhalten Sie Rohnachrichten am Ausgang des Unterzeichners, am Ausgang des vermuteten Gateways und am Endempfänger. Speichern Sie Originale, ohne sie zu öffnen, und speichern Sie sie mit einem Editor, der Zeilenenden normalisiert. Beachten Sie die Erfassungsmethode, da ein Exporttool selbst die Darstellung ändern kann.

Vergleichen Sie die Felder „Content-Type“ und „Content-Transfer-Encoding“ in der äußeren Nachricht und jedem relevanten MIME Teil. Überprüfen Sie Grenzzeichenfolgen, Anhangskodierung, gefaltete Linien und Zeichensatzkonvertierung. Bestimmen Sie, ob ein geänderter äußerer Header in h enthalten war und ob geänderte Teilheader innerhalb des signierten Körpers aufgetreten sind. Behandeln Sie die beiden Speicherorte getrennt: Ein äußerer Header kann zu einem Fehler bei der Signaturüberprüfung führen, während ein MIME Teilheader normalerweise daran beteiligt ist Körper-Hash.

Arbeiten Sie ein Codierungsbeispiel durch

Illustrative Testspezifikation: Ein Textteil, der ein Nicht-ASCII-Zeichen enthält, wird mithilfe von quoted-printable vorbereitet, bevor die Anwendung die Nachricht signiert. Ein Downstream-Dienst dekodiert diesen Teil und serialisiert ihn als Base64. Der angezeigte Satz bleibt derselbe, der kanonisierte Textkörper kann jedoch abweichen und die Originalsignatur kann fehlschlagen. Führen Sie dies nur mit kontrolliertem Inhalt aus und überprüfen Sie die tatsächlichen Byteunterschiede, anstatt davon auszugehen, dass jeder Dienst diese Konvertierung durchführt.

Erstellen Sie einen kleinen Testsatz mit reinem ASCII-Text, Nicht-ASCII-Text, mehrteiligem HTML und einem kleinen Anhang. Senden Sie sie jeweils über einen direkten Steuerungspfad und den produktionsäquivalenten Verarbeitungspfad. Wenn nur letztere die Darstellung ändert, identifiziert der Grenzvergleich die zu untersuchende Komponente. Wenn beides fehlschlägt, prüfen Sie zunächst die eigene Serialisierung und Normalisierung des Unterzeichners.

Reparieren Sie die Grenze

Bevorzugen Sie die endgültige MIME Konstruktion und Auswahl der Übertragungskodierung vor dem Signieren. Wenn ein Sicherheitsdienst Inhalte neu schreiben muss, vereinbaren Sie nach der endgültigen Serialisierung einen autorisierten Signaturschritt. Bestätigen Sie die Unterstützung und das Eigentumsmodell für benutzerdefinierte Domänen. Eine Signatur unter einer nicht verwandten Dienstdomäne kann DKIM ohne Anpassung bestehen DMARC unter RFC 9989 §4.4.1.

Reparieren Sie ein Muster nicht an Ort und Stelle und legen Sie es als Beweis dafür vor, dass die Produktion repariert wurde. Eine modifizierte Stichprobe testet lediglich eine Hypothese. Ändern Sie die verantwortliche Konfiguration, senden Sie neue kontrollierte Nachrichten und erfassen Sie deren ursprüngliche Empfängerergebnisse. Vermeiden Sie weitreichende Umgehungen der Inhaltsprüfung, nur um eine Signatur zu bewahren, ohne die Auswirkungen auf die Sicherheit zu prüfen.

Bewahren Sie eine nützliche Vorfallaufzeichnung auf

Notieren Sie die erste Grenze, an der serialisierte Inhalte abweichen, das MIME Feld oder den betroffenen Teil, den Unterzeichner und Wählerund Ergebnisse für jede Testvariante. Halten Sie die Testnachrichten frei von Kundendaten. Führen Sie die Suite nach Gateway-Upgrades und Änderungen bei der Anhangsverarbeitung erneut aus. Der abgeschlossene Fix erklärt, warum die alte Darstellung fehlgeschlagen ist, und zeigt, dass neu ausgegebene E-Mails die vollständig unterstützte Route überstehen.

Vergleichen Sie eine konkrete codierte Darstellung

Für die UTF-8-Bytes C3 A9, die é darstellen, ist eine in Anführungszeichen druckbare Darstellung =C3=A9; Eine Base64-Darstellung ist w6k=. Mit geeigneten MIME Headern dekodieren beide das gleiche Zeichen, die kodierten Zeichenfolgen unterscheiden sich jedoch. RFC 2045 §6.7 Und RFC 2045 §6.8 Definieren Sie die Kodierungen. RFC 6376 §3.7 erfordert Hashing nach der Übertragungskodierung und vor der Dekodierung während der Überprüfung. Bei diesem isolierten Darstellungsbeispiel handelt es sich nicht um eine vollständige MIME Nachricht oder einen ausgeführten Signaturtest. Wenn eine Körperlängenbeschränkung verwendet wird, ermitteln Sie, ob die geänderten Bytes innerhalb der Abdeckung liegen, anstatt davon auszugehen, dass jeder Teil geschützt ist.

[ Wegbringen ]

DKIM hasht die kodierte Textdarstellung, nicht den dekodierten Anhangsinhalt. Header und Grenzen MIME Teilen sind Körperbytes; Äußere Header verwenden eine h-basierte Abdeckung. Beenden Sie MIME -Serialisierung vor dem letzten entsprechenden Signaturvorgang.

[Nach Rolle]

Was das für Sie bedeutet

Wählen Sie Ihre Rolle für praktische nächste Schritte.

IT-/Mail-Administrator

Vergleichen Sie serialisierte Formulare

Identifizieren Sie den ersten geänderten MIME Teil, anstatt sich auf Screenshots zu verlassen.

Nächste Schritte

  1. Rohexporte erhalten.
  2. Testen Sie die Übertragungskodierungen vor dem Signieren.

CISO / SecOps

Halten Sie Inspektion und Authentizität zusammen

Wählen Sie ein Design, das den Inhalt vor der endgültigen Signaturgrenze prüft.

Nächste Schritte

  1. Überprüfen Sie alle vorgeschlagenen Umgehungswege.
  2. Beschränken Sie den Zugriff auf erfasste Nachrichten.

Gründer / Nicht-technisch

Schützen Sie umfangreiche Kundennachrichten

Eine einfache Test-E-Mail deckt die von Rechnungen und Berichten verwendeten Formate nicht ab.

Nächste Schritte

  1. Binden Sie echte Nachrichtenformate mit synthetischen Daten ein.
  2. Weisen Sie dem Verarbeitungsdienst einen Eigentümer zu.

[ FAQs ]

Häufig gestellte Fragen

Kann identischer angezeigter Text einen anderen Body-Hash haben?

Ja. MIME Serialisierung und Übertragungskodierung können unterschiedlich sein, selbst wenn ein E-Mail-Client denselben Text wiedergibt.

RFC 6376 §3.7

Führt DKIM eine Hash-Dekodierung von Anhängen durch?

DKIM arbeitet nach der Kanonisierung mit der Darstellung des Nachrichtentexts und nicht mit einer separat dekodierten Anhangdatei.

RFC 6376 §3.7

Sind MIME Teilheader enthalten?

Sie treten im Nachrichtentext auf und sind an seinen kanonisierten Bytes beteiligt. Bei Ganzkörperabdeckung sind sie inklusive; Eine L-Grenze kann dazu führen, dass spätere Teile nicht abgedeckt werden.

RFC 2046 §5.1.1 RFC 6376 §3.7

Dekodiert der entspannte Modus Base64?

Nein. Seine Transformationen sind definierte Leerraumregeln. MIME Übertragungskodierungen werden nicht dekodiert.

RFC 6376 §3.4.4

Wann sollte die Kodierung gewählt werden?

Vor dem Signieren, nachdem die Nachricht in die bei der Übertragung erwartete Darstellung normalisiert wurde.

RFC 6376 §5.3

Warum Rohexporte erhalten?

Eine gerenderte Ansicht verbirgt MIME und Codierungsunterschiede, während ein Editor seine eigenen Änderungen vornehmen kann.

Können wir das Sicherheitsgateway umgehen?

Ein kontrollierter Vergleichspfad kann das Problem diagnostizieren, eine Produktionsumgehung erfordert jedoch eine separate Sicherheitsentscheidung.

Welche Regressionsbeispiele sind nützlich?

Nur-Text, Nicht-ASCII-Inhalte, mehrteiliges HTML und Anhänge stellen unterschiedliche Serialisierungspfade zur Verfügung.

[ Quellen ]

Quellen

  1. RFC 6376

    Abschnitte §1 · §3.4 · §3.4.4 · §3.5 · §3.7 · §5.3

  2. RFC 9989

    Abschnitte §4.4.1

  3. RFC 8601

    Abschnitte §1.2

  4. RFC 2045

    Abschnitte §1 · §6.7 · §6.8

  5. RFC 2046

    Abschnitte §5.1.1

[ Glossar ]

Glossar

MIME
Nachrichtenformate, die strukturierte Teile und Kodierungen darstellen.

RFC 2045 §1 RFC 2046 §5.1.1

Kodierung übertragen
Die codierte Darstellung, die zum Übertragen von Hauptinhalten verwendet wird, z. B. quoted-printable oder base64.

RFC 2045 §6.7 RFC 2045 §6.8

Mehrteilige Grenze
Ein Trennzeichen, das Trennungen zwischen MIME Körperteilen identifiziert.

RFC 2046 §5.1.1

Kanonisierung
DKIM Bytevorbereitung, bei der MIME Übertragungskodierung nicht dekodiert wird.

RFC 6376 §3.4 RFC 6376 §3.7

Unternehmensherkunft

Warum Top-Finanzinstitute und Regierungen haben ihre E-Mail-Sicherheits-Dashboards eingestellt.

Herkömmliche E-Mail-Authentifizierungsplattformen verkaufen Ihnen ein Dashboard und bitten Ihre Techniker, die Arbeit zu erledigen. In Umgebungen mit hohem Risiko führt die manuelle Überwachung zu verzögerter Durchsetzung, Konfigurationsabweichungen und nicht überwachten Schattendomänen.

EmailAuth ist die Agenten-E-Mail-Herkunftsplattform. Unsere Agenten setzen durch p=reject, halten Sie die Absender von Drittanbietern auf dem Laufenden und verschieben Sie Ihre Domains auf voll RFC 9989 Compliance, der neue DMARC Standard, mit Human-in-the-Loop-Überprüfbarkeit.

Regierungen Große Unternehmen Tier-1-Finanzinstitute

SaaS · Dedizierte Mandantenfähigkeit · Air-Gap-On-Prem · BYOK-Verschlüsselung

Wissensdatenbank