[ DKIM ]

Untersuchen Sie DKIM Fehler im Zusammenhang mit Zeilenenden

Behalten Sie die Rohnachricht bei und unterscheiden Sie die Transportnormalisierung von Leerraumänderungen, die durch die Kanonisierung zugelassen werden.

Vom EmailAuth Forschungsteam

[Wichtige Punkte]

  • Normalisieren Sie lokale Zeilentrennzeichen, bevor Sie das übertragene Formular signieren.
  • Unterscheiden Sie Transportänderungen von der Export-Tool-Normalisierung.
  • Durch den Abgleich eines Body-Hashs allein wird keine gültige DKIM Signatur erstellt.
Auf dieser Seite

Ein Zeilenendeproblem ist ein Problem auf Byteebene. Eine Nachricht in einen Editor zu kopieren, dieselben Zeilen zu sehen und zu dem Schluss zu kommen, dass sich nichts geändert hat, ist nicht zuverlässig DKIM Untersuchung. Bewahren Sie die Originaldarstellung auf und stellen Sie fest, ob die Umwandlung vor der Unterzeichnung, während des Transports oder erst während der Beweiserhebung erfolgt ist.

Legen Sie die erwartete Form fest

Internet-Mail verwendet CRLF-Zeilentrennzeichen. RFC 6376 §5.3 erfordert, dass ein Unterzeichner vor dem Signieren lokale Bare-CR- oder LF-Konventionen in die SMTP-Standard-CRLF-Sequenz konvertiert. Die Konvertierung sollte sich auf die übertragene Nachricht beziehen und nicht nur auf eine private Kopie, die an den Signaturalgorithmus übergeben wird. Das Unterzeichnen einer Erklärung und die Übermittlung einer anderen Erklärung führt zu Meinungsverschiedenheiten bei der Überprüfung.

Kanonisierung hat engere Regeln als die allgemeine Textnormalisierung. Einfache Kanonisierung des Körpers Ignoriert abschließende Leerzeilen und stellt die erforderliche endgültige CRLF bereit. Entspannte Körperkanonisierung Entfernt außerdem Leerzeichen am Zeilenende und komprimiert Leerzeichen- oder Tabulatorfolgen innerhalb einer Zeile. Im Allgemeinen werden keine sinnvollen Zeilenumbrüche gelöscht oder umbrochener Text verbunden. Die Header- und Body-Algorithmen können unterschiedlich sein. Lesen Sie daher beide Teile von c, anstatt einen einzigen Modus anzunehmen.

Schützen Sie zuerst die Beweise

Sammeln Sie Rohnachrichtendateien vom Unterzeichner und Empfänger mithilfe von Methoden, deren Transformationen Sie verstehen. Behalten Sie schreibgeschützte Originale und Hashes dieser Dateien. Untersuchen Sie in einer Arbeitskopie die CRLF-, Bare-LF- und Bare-CR-Anzahl mit einem bytebewussten Tool. Die Anzeige eines Textbetrachters reicht nicht aus: Viele Betrachter stellen jedes Formular als Zeilenumbruch dar.

Fragen Sie, wie die Probe gewonnen wurde. Eine Archiv-, Shell-Pipeline- oder Quellcodeverwaltungseinstellung kann Endungen nach der Übermittlung normalisieren. Ein Unterschied in den exportierten Dateien bedeutet nicht, dass sich die SMTP Nachricht selbst geändert hat. Vergleichen Sie nach Möglichkeit unabhängige Aufnahmen an derselben Grenze und behalten Sie das Exportverfahren mit den Beweisen bei.

Verwenden Sie einen kleinen kontrollierten Koffer

Illustrative Eingabe: Ein Körper besteht aus Alpha, ein CRLF, Betaund ein abschließendes CRLF. Das Hinzufügen einer leeren Nur-CRLF-Zeile am Ende wird durch die Standardkörperalgorithmen wegnormalisiert. Das Ersetzen des Zeilenumbruchs zwischen Alpha und Beta durch ein Leerzeichen ändert den Inhalt und ist nicht der gleiche Vorgang. Das Hinzufügen von Leerzeichen am Ende der Alphalinie unterscheidet sich bei der einfachen Körperkanonisierung, wird jedoch bei der entspannten Körperkanonisierung normalisiert.

Diese Beispiele erläutern die Regeln; Sie ersetzen nicht die Prüfung einer vollständigen Unterschrift. Eine gültige Körper-Hash ist nur ein Teil der DKIM Verifizierung. Die Header-Auswahl, der Abruf des öffentlichen Schlüssels und die kryptografische Signatur müssen ebenfalls erfolgreich sein.

Finden und korrigieren Sie die verantwortliche Phase

Wenn der Unterzeichner nur lokale LF-Daten empfängt, überprüfen Sie vor dem Signieren die Serialisierungsphase. Wenn die Ausgabe des Unterzeichners korrekt ist, eine spätere Roherfassung jedoch abweicht, untersuchen Sie das Konvertierungs- oder Wiederherstellungsverhalten dieses Hops. Wenn sich nur Ihre exportierten Beweise unterscheiden, reparieren Sie die Erfassungsmethode, anstatt den Produktions DNS oder die Schlüssel zu ändern.

Nehmen Sie eine eng begrenzte Änderung vor, die sicherstellt, dass der Unterzeichner und die übertragene Nachricht dieselbe normalisierte Darstellung verwenden. Erfinden Sie keinen benutzerdefinierten Prüfer, der beliebige Zeilentransformationen akzeptiert, damit die Probe erfolgreich ist. Ein solcher Prüfer würde die veröffentlichten DKIM Regeln nicht mehr testen.

Überprüfen Sie mehr als eine Nachricht

Senden Sie nach der Änderung eine kleine Suite mit reinem Text, leeren Schlusszeilen, HTML und Anhängen. Zeichnen Sie die ausgewählte Kanonisierung, die gesammelten Rohdatei-Hashes und das Verifizierungsergebnis des vertrauenswürdigen Empfängers auf. Behalten Sie die erwartete Ausgabedarstellung als Regressionsfixierung bei. Eine sinnvolle Auflösung identifiziert die verantwortliche Konvertierung und zeigt, dass neue Nachrichten den Empfänger in der vorgesehenen Form erreichen.

Halten Sie die Anzahl der Bytes getrennt von den Schlussfolgerungen

Für den Kunststoffkörper alpha<CRLF>beta<CRLF>, der Netzwerkformkörper besteht aus 13 Oktetten: fünf Buchstaben, zwei Trennoktette, vier Buchstaben und zwei letzte Trennoktette. Ein reiner LF-Export derselben sichtbaren Zeilen umfasst 11 Oktette. Dieser Zählunterschied ist ein Grund, die Erfassung oder Serialisierung zu untersuchen, kein Beweis dafür, dass die übertragene E-Mail beschädigt war. Behalten Sie die Originaldateien und Erfassungsmethoden bei und vergleichen Sie sie dann mit einer vertrauenswürdigen Erfassung an der relevanten Grenze. Die in Klammern gesetzte CRLF-Beschriftung stellt Bytes dar, keinen Literaltext.

[ Wegbringen ]

Normalisieren Sie lokale Zeilentrennzeichen, bevor Sie das übertragene Formular signieren. Unterscheiden Sie Transportänderungen von der Export-Tool-Normalisierung. Durch den Abgleich eines Body-Hashs allein wird keine gültige DKIM Signatur erstellt.

[Nach Rolle]

Was das für Sie bedeutet

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

IT-/Mail-Administrator

Oktette beibehalten

Stellen Sie fest, ob die Änderung beim Transport oder beim Export erfolgt ist.

Nächste Schritte

  1. Originaldateien hashen.
  2. Überprüfen Sie die Normalisierung vor dem Signieren.

CISO / SecOps

Schwächen Sie die Überprüfung nicht

Das Akzeptieren willkürlicher Transformationen verbirgt Integritätsänderungen.

Nächste Schritte

  1. Behalten Sie die auf Standards basierende Überprüfung bei.
  2. Aufbewahrung der Bewertungserfassung.

Gründer / Nicht-technisch

Bitten Sie um eine reproduzierbare Lösung

Ein Screenshot oder ein bearbeitetes Beispiel ist kein Beweis dafür, dass die Senderoute repariert wurde.

Nächste Schritte

  1. Fordern Sie einen neuen Liefertest an.
  2. Halten Sie Kundendaten von Geräten fern.

[ FAQs ]

Häufig gestellte Fragen

Was ist CRLF?

Dabei handelt es sich um die Zwei-Byte-Wagenrücklauf- und Zeilenvorschubsequenz, die für die Zeilentrennung in Internet-Mails verwendet wird.

RFC 2045 §2.1

Ist ein reiner LF-Export ein Beweis für eine fehlerhafte Lieferung?

Nein. Möglicherweise hat das Exporttool die Datei nach der Lieferung normalisiert. Überprüfen Sie die Erfassungsmethode.

Ignoriert der entspannte Modus alle Zeilenumbrüche?

Nein. Die sinnvolle Zeilenstruktur bleibt erhalten, während bestimmte Regeln für Leerzeichen und nachgestellte Leerzeilen angewendet werden.

RFC 6376 §3.4.4

Unterbrechen zusätzliche Leerzeilen am Ende immer DKIM ?

Die Standard-Body-Algorithmen ignorieren nachgestellte Leerzeilen. Andere Änderungen bedürfen noch einer gesonderten Bewertung.

RFC 6376 §3.4.3 RFC 6376 §3.4.4

Sind Header- und Body-Kanonisierung identisch?

Nein. Das C-Tag kann verschiedene Algorithmen für Header und Text auswählen und ihre Regeln unterscheiden sich.

RFC 6376 §3.5

Sollten wir zuerst den Schlüssel drehen?

Nicht wegen einer nachgewiesenen Nichtübereinstimmung der Darstellung. Korrigieren Sie die Serialisierungsgrenze. Ein neuer Schlüssel kann geänderte Bytes nicht wiederherstellen.

Reicht ein übereinstimmender BH aus, um zu beweisen, dass DKIM Prüfung bestanden wurde?

Nein. Auch die Header-Signatur und andere Verifizierungsprüfungen müssen erfolgreich sein.

RFC 6376 §6.1.3

Was sollte die Regressionsfixierung enthalten?

Eine bekannte Roheingabe, erwartete normalisierte Ausgabe, Kanonisierungsauswahl und vertrauenswürdige Überprüfungsergebnisse für neue Testnachrichten.

[ Quellen ]

Quellen

  1. RFC 6376

    Abschnitte §1 · §3.4 · §3.4.1 · §3.4.2 · §3.4.3 · §3.4.4 · §3.5 · §5.3 · §6.1.3

  2. RFC 2045

    Abschnitte §2.1

  3. RFC 8601

    Abschnitte §1.2

[ Glossar ]

Glossar

CRLF
Das Wagenrücklauf- und Zeilenvorschubpaar, zwei Oktette, die zur Zeilentrennung in Internet-Mails verwendet werden.

RFC 2045 §2.1

Kanonisierung
Definierte Vorbereitung von Headern oder Body vor DKIM -Hashing und der Verifizierung.

RFC 6376 §3.4

Körperhasch (bh)
Der codierte Hash des kanonisierten Körpers mit allen anwendbaren Längenbeschränkungen.

RFC 6376 §3.5

Rohe Nachrichtenbeweise
Eine gesammelte serialisierte Nachricht, deren Erfassungsmethode und Aufbewahrungsverlauf beibehalten werden müssen.

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