Das Feld DKIM Signature Header ist ein spezieller Header, der in jede E-Mail-Nachricht eingefügt wird und Informationen über den Absender, die Nachricht und den für die Überprüfung erforderlichen öffentlichen Schlüssel enthält. Dieses Header-Feld wird von allen Mailbox-Anbietern benötigt, die DKIM verwenden, um Ihre Identität zu überprüfen, einschließlich AOL, Google Mail, Outlook.com, und Yahoo!.,
Hier ist ein Beispiel für einen DKIM-Signaturheader:
Der DKIM-Signaturheader besteht aus verschiedenen Informationselementen, die durch die Verwendung von tag=value-Paaren dargestellt werden. Das Tag ist normalerweise ein einzelner Buchstabe gefolgt von einem Gleichheitszeichen (=). Der Wert jedes Tags gibt eine bestimmte Information über den Absender, die Nachricht und den Speicherort des öffentlichen Schlüssels an.
Einem Absender stehen zahlreiche Tags zur Verfügung; einige Tags sind erforderlich und andere Tags sind optional., Das Fehlen eines erforderlichen Tags in der DKIM-Signatur führt zu einem Überprüfungsfehler beim Postfachanbieter, während das Fehlen eines optionalen Tags dies nicht tut.
Es ist wichtig zu beachten, dass Tags, die in der DKIM-Signatur enthalten sind und denen kein Wert zugeordnet ist, als leerer Wert behandelt werden. Tags, die nicht in der DKIM-Signatur enthalten sind, werden jedoch als Standardwert behandelt.
Erforderliche Tags
Unten sind die erforderlichen Tags eines DKIM-Signaturheaders aufgeführt. Bei allen DKIM-Signaturen, denen diese Tags fehlen, tritt während des Überprüfungsprozesses ein Fehler auf.,
- v= gibt die version des signature-Spezifikation. Der Wert sollte immer auf 1 gesetzt werden.
- a= gibt den Algorithmus an, der zum Generieren der Signatur verwendet wird. Der Wert sollte rsa-sha256. Absender mit reduzierten CPU-Funktionen können rsa-sha1 verwenden. Von der Verwendung von rsa-sha1 wird jedoch aufgrund potenzieller Sicherheitsrisiken abgeraten.
- s= gibt den Namen des Selektordatensatzes an, der mit der Domäne zum Suchen des öffentlichen Schlüssels in DNS verwendet wird. Der Wert ist ein vom Absender erstellter Name oder eine Nummer.,
- Hier ist ein Beispiel für einen DNS-record selector. Die in diesem Beispiel gezeigten Tags werden nur in diesem Datensatz innerhalb von DNS und nicht im E-Mail-Header selbst angezeigt: <selector (s=)._domainkey.Domäne(d=)>. TXT v=DKIM1; k=rsa; p=<öffentlicher Schlüssel>
- b= sind die Hash-Daten der im h= – Tag aufgeführten Header; Dieser Hash wird auch als DKIM-Signatur bezeichnet und in Base64 codiert.,
- bh= ist der berechnete Hash des Nachrichtentextes. Der Wert ist eine Zeichenfolge, die den vom Hash-Algorithmus bestimmten Hash darstellt.
- d= gibt die Domäne an, die mit dem Selektordatensatz (s=) zum Suchen des öffentlichen Schlüssels verwendet wird. Der Wert ist ein Domänenname, der dem Absender gehört.
- h= ist eine Liste von Headern, die im Signaturalgorithmus verwendet werden, um den im b= – Tag gefundenen Hash zu erstellen., Die Reihenfolge der Header im h= – Tag ist die Reihenfolge, in der sie während der DKIM-Signatur angezeigt wurden, und daher auch die Reihenfolge, in der sie während der Überprüfung angezeigt werden sollten. Der Wert ist eine Liste von Header-Feldern, die nicht geändert oder entfernt werden.
Optionale und empfohlene Tags
Nachfolgend sind die optionalen Tags aufgeführt, die Sie in einen DKIM-Signaturheader aufnehmen sollten. DKIM-Signaturen, denen diese Tags fehlen, werden bei der Überprüfung nicht auf einen Fehler stoßen, sie werden jedoch als Mittel zur Identifizierung von Spam empfohlen.
Spammer legen normalerweise keine Zeitwerte fest., Leere oder falsche Zeitwerte, z. B. eine vor dem E-Mail-Zeitstempel datierte Ablaufzeit, führen dazu, dass einige Postfachanbieter die Nachricht ablehnen.
- t= ist die DKIM-Signatur-Zeitstempel. Es soll die Zeit angeben, zu der die Nachricht gesendet wird. Das Format ist die Anzahl der Sekunden von 00: 00: 00 am 1. Januar 1970 in der UTC – Zeitzone.
- x= ist die Ablaufzeit der DKIM-Signatur im selben Format wie oben. Der Wert dieses Tags muss größer sein als der Wert des Timestamp-Tags, wenn beide in der DKIM-Signatur verwendet werden., DKIM-Signaturen können als ungültig angesehen werden, wenn die Überprüfungszeit beim Verifizierer über dem Ablaufdatum liegt, stellen Sie daher sicher, dass das Ablaufdatum nicht zu früh festgelegt wird.
Vollständige Tests, um sicherzustellen, dass diese Tags ordnungsgemäß funktionieren und dass die Ablaufzeit nach der Bereitstellung nicht zu früh festgelegt wird.
Optionale Tags
Unten sind die optionalen Tags aufgeführt, die in der DKIM-Signatur nicht erforderlich sind.,
- c= ist der Kanonisierungsalgorithmus, der einem Postfachanbieter definiert, welche Änderungsstufe vorhanden sein kann, wenn die E-Mail an den Postfachanbieter gesendet wird. Änderungen können Leerzeichen oder Zeilenumbruch enthalten. Einige E-Mail-Server nehmen während des Transports geringfügige Änderungen an der E-Mail vor, die die Signatur ungültig machen können.
- Hier ist der Wert, der definiert, welche Toleranzstufe der Zielserver haben soll, wenn eine Nachricht diese geringfügigen Änderungen aufweist: value1/value2.,
Value1 repräsentiert den Header der Nachricht und value2 den Text der Nachricht. Value1 und value2 können als „einfach“ bezeichnet werden, was sehr wenig, wenn überhaupt, Modifikationen toleriert, oder „entspannt“, was häufige Modifikationen toleriert.
- i= gibt die Identität des Benutzers oder der agent. Der Wert ist eine E-Mail-Adresse, die die Domäne oder Subdomain enthält, wie im d= – Tag definiert.,
Optionale und nicht empfohlene Tags
- l= ist die Anzahl der Zeichen aus dem Nachrichtentext, die zur Berechnung des Body-Hash verwendet wurden (bh=). Wenn dieser Wert nicht vorhanden ist, wird angenommen, dass der gesamte Nachrichtentext verwendet wurde. Wir empfehlen Ihnen nicht, dieses Tag zu verwenden, da es schwierig zu kontrollieren sein kann und zu Überprüfungsfehlern führen kann.
- z= ist eine Liste der ursprünglichen Header der Nachricht und kann von den im h= – Tag aufgeführten Headern abweichen., Dieses Tag kann von einigen Postfachanbietern bei der Diagnose eines Überprüfungsfehlers verwendet werden. Sein Wert ist nicht gut definiert.
Nicht erkannte Tags
Alle Tags, die nicht in RFC 6376 angegeben sind, sind nicht Teil des DKIM-Protokolls und sollten während des Überprüfungsprozesses ignoriert werden. Nicht alle Postfachanbieter ignorieren nicht erkannte Tags, sodass während des Überprüfungsprozesses möglicherweise ein Fehler auftritt.
Vollständige Informationen zur DKIM-Signatur finden Sie auf der DKIM-Website oder unter RFC 6376.
Schreibe einen Kommentar