DKIM-Signaturen
Nachrichten kryptografisch signieren
DKIM-Signaturen ist eine kostenlose Cyber Security Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Cyber Security Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Cyber Security Academy-Kurs umfasst insgesamt 4 Lektionen.
Was DKIM bietet
DKIM (DomainKeys Identified Mail) fügt ausgehenden E-Mails eine kryptografische Signatur hinzu. Ein Empfänger kann diese Signatur verifizieren und dadurch zwei Dinge bestätigen:
- Die Nachricht wurde tatsächlich von der signierenden Domain autorisiert
- Der signierte Inhalt wurde während der Übertragung nicht verändert
Während SPF Server autorisiert, authentifiziert DKIM die Nachricht selbst, und diese Signatur übersteht Weiterleitungen.
Grundlagen der Kryptografie mit öffentlichen Schlüsseln
DKIM beruht auf asymmetrischer Kryptografie. Der Domaininhaber verfügt über ein Schlüsselpaar:
- Der private Schlüssel bleibt auf dem sendenden Mailserver geheim und wird zum Signieren verwendet
- Der öffentliche Schlüssel wird in DNS veröffentlicht und von beliebigen Personen zum Verifizieren verwendet
Da nur der Besitzer des privaten Schlüssels eine gültige Signatur erzeugen kann, beweist eine erfolgreiche Verifizierung, dass die Nachricht von der legitimen Domain stammt.
Der Signiervorgang
Wenn der sendende Server eine Nachricht verschickt, berechnet er eine Signatur über ausgewählte Header und den Body und fügt anschließend einen DKIM-Signature-Header hinzu.
Steps on the sender side:
1. Select headers to sign (From, Subject, Date, ...)
2. Hash the message body
3. Build the DKIM-Signature header with those fields
4. Sign the hash with the private key
5. Attach the signature to the outgoing messageAufbau eines DKIM-Signature-Headers
Der DKIM-Signature-Header enthält die Parameter, die ein Empfänger zur Verifizierung benötigt:
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=company.com; domain that signed
s=mail2024; selector (which key)
h=from:subject:date; signed headers
bh=base64bodyhash; body hash
b=base64signature the signature itselfDer Selector und der öffentliche Schlüssel in DNS
Der Selector (das s=-Tag) teilt Empfängern mit, welchen öffentlichen Schlüssel sie abrufen müssen. Der Schlüssel befindet sich an einer vorhersehbaren DNS-Position:
Location: <selector>._domainkey.<domain>
Example DNS TXT record:
mail2024._domainkey.company.com. IN TXT \
"v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBA..."
p = the base64-encoded public keyDer Verifizierungsvorgang
Beim Empfang führt der verifizierende Server den Vorgang in umgekehrter Reihenfolge durch:
- Die Domain
d=und den Selectors=aus der DKIM-Signature lesen - Den öffentlichen Schlüssel unter
selector._domainkey.domainin DNS abrufen - Den Body-Hash und den Header-Hash neu berechnen
- Mit dem öffentlichen Schlüssel prüfen, ob die Signatur übereinstimmt
Ist die Signatur gültig, ist DKIM erfolgreich. Wurde die Nachricht verändert oder mit dem falschen Schlüssel signiert, schlägt die Prüfung fehl.
Der Body-Hash erkennt Manipulationen
Das Feld bh (Body-Hash) macht Manipulationen bei DKIM erkennbar. Der Absender hasht den Body und nimmt diesen Hash in die signierten Daten auf.
Wenn jemand den Nachrichteninhalt während der Übertragung verändert, stimmt der vom Empfänger neu berechnete Hash nicht mit dem signierten bh überein und die Verifizierung schlägt fehl. So bietet DKIM Integrität und nicht nur eine Authentifizierung des Ursprungs.
Kanonisierung
Mailserver auf dem Übertragungsweg nehmen häufig kleine, harmlose Änderungen vor, etwa indem sie Zeilen neu umbrechen oder Leerzeichen anpassen. Damit solche Änderungen keine gültigen Signaturen ungültig machen, verwendet DKIM eine Kanonisierung (das c=-Tag).
- simple — strikt; nahezu jede Änderung macht die Signatur ungültig
- relaxed — tolerant gegenüber Änderungen an Leerzeichen und der Groß-/Kleinschreibung von Headern
Die meisten Installationen verwenden relaxed/relaxed, um die Zuverlässigkeit über unterschiedliche Mailinfrastrukturen hinweg zu gewährleisten.
Selectoren ermöglichen Schlüsselrotation
Selectoren sind nicht nur Bezeichnungen, sondern ermöglichen eine sichere Schlüsselrotation. Sie sollten DKIM-Schlüssel regelmäßig ersetzen, um das Risiko zu begrenzen, falls ein Schlüssel offengelegt wird.
Vorgehen bei der Rotation:
- Ein neues Schlüsselpaar mit einem neuen Selector erzeugen, zum Beispiel
mail2025 - Den neuen öffentlichen Schlüssel in DNS veröffentlichen
- Den Signierer auf die Verwendung des neuen Selectors umstellen
- Den alten Selector in DNS belassen, bis sich bereits unterwegs befindliche E-Mails zugestellt wurden, und ihn anschließend entfernen
Ein neuer Selector verhindert eine Lücke, in der Signaturen nicht verifiziert werden können.
DKIM übersteht Weiterleitungen
Im Gegensatz zu SPF übersteht DKIM Weiterleitungen. Die Signatur wird mit der Nachricht übertragen. Solange die signierten Header und der Body nicht verändert werden, kann eine weitergeleitete Nachricht weiterhin verifiziert werden.
Damit ergänzt DKIM die Schwäche von SPF ideal. Bei einer Weiterleitung kann SPF fehlschlagen, weil sich die IP-Adresse, die die Verbindung herstellt, geändert hat. DKIM kann jedoch weiterhin erfolgreich sein, sodass DMARC die legitime E-Mail akzeptieren kann.
Einschränkungen von DKIM
DKIM ist leistungsfähig, aber allein nicht vollständig:
- DKIM beweist, dass eine Domain die Nachricht signiert hat. Es stellt jedoch nicht sicher, dass die signierende Domain mit dem sichtbaren From-Header übereinstimmt; dafür ist das DMARC-Alignment zuständig
- Ein Angreifer kann E-Mails mit dem gültigen DKIM-Schlüssel seiner eigenen Domain signieren
- Mit einem offengelegten privaten Schlüssel kann ein Angreifer gültige Signaturen fälschen, bis der Schlüssel durch eine Rotation ersetzt wurde
DKIM muss mit DMARC kombiniert werden, damit es gegen Spoofing wirksam ist.
Kurzer Test
Testen Sie Ihr Verständnis von DKIM.
Zusammenfassung
Sie haben gelernt, wie DKIM Nachrichten signiert:
- DKIM fügt eine kryptografische Signatur hinzu, die Ursprung und Integrität beweist
- Ein privater Schlüssel signiert auf dem Server; der öffentliche Schlüssel wird unter einem Selector in DNS veröffentlicht
- Der Body-Hash erkennt Manipulationen; die Kanonisierung toleriert harmlose Änderungen
- Selectoren ermöglichen eine sichere Schlüsselrotation, und DKIM übersteht Weiterleitungen, bei denen SPF fehlschlägt
- DKIM benötigt weiterhin ein DMARC-Alignment, um die Signatur mit dem sichtbaren From zu verknüpfen
Als Nächstes verbinden Sie SPF und DKIM mit einer DMARC-Richtlinie und entsprechenden Reports.
Häufig gestellte Fragen
Ist die Lektion „DKIM-Signaturen“ kostenlos?
Ja — der vollständige Text von „DKIM-Signaturen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Cyber Security Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Cyber Security Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „DKIM-Signaturen“?
Nachrichten kryptografisch signieren Du übst Cyber Security Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Cyber Security Academy zu starten?
Keine Vorkenntnisse erforderlich. Cyber Security Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „DKIM-Signaturen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Cyber Security Academy-Lektion Code schreiben und ausführen?
Ja. Jede Cyber Security Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.