Verschaffen Sie sich ein grundlegendes Verständnis darüber, was Domain-Keys Identified Mail ist und wie es sich auf Ihre E-Mails auswirkt.
DKIM ist eine E-Mail-Authentifizierungsmethode, die E-Mail-Spoofing verhindert, eine gängige Technik, die in Phishing- und Spam-E-Mails verwendet wird.
Was ist DKIM?
DKIM steht für DomainKeys Identified Mail, einen Standard, der es E-Mail-Absendern ermöglicht, ihre Nachrichten digital zu signieren und ihre Domain-Identität zu verifizieren. DKIM trägt dazu bei, E-Mail-Spoofing, Phishing und Spam zu verhindern, indem es den Empfängern ermöglicht zu überprüfen, ob die E-Mail von einer autorisierten Quelle stammt und ob sie während der Übertragung verändert wurde. DKIM verwendet die Public-Key-Kryptografie, bei der der Absender einen öffentlichen Schlüssel in den DNS-Einträgen seiner Domäne veröffentlicht und jede E-Mail mit einem privaten Schlüssel signiert. Der Empfänger kann dann den öffentlichen Schlüssel verwenden, um die Signatur und die Domäne des Absenders zu überprüfen.
Wie funktioniert DKIM?
DKIM funktioniert, indem jeder E-Mail-Nachricht ein spezielles Header-Feld, die so genannte DKIM-Signatur, hinzugefügt wird. Dieses enthält Informationen über die signierende Domäne, den Selektor, den Algorithmus, den Hash und die Signatur. Der Selektor ist eine Zeichenfolge, die angibt, welcher öffentliche Schlüssel für die Überprüfung verwendet werden soll. Der Algorithmus ist die kryptografische Methode, die zur Erzeugung des Hash und der Signatur verwendet wird. Der Hash ist ein Wert welcher aus dem E-Mail-Inhalt mit Ausnahme des DKIM-Signaturfelds gebildet wird. Die Signatur ist das Ergebnis der Verschlüsselung des Hashes mit dem privaten Schlüssel. Wenn der Empfänger die E-Mail erhält, kann er das DKIM-Signaturfeld extrahieren und den Selektor verwenden, um den entsprechenden öffentlichen Schlüssel in den DNS-Einträgen des Absenders zu finden. Er kann dann die Signatur mit dem öffentlichen Schlüssel entschlüsseln und sie mit dem Hash des E-Mail-Inhalts vergleichen. Wenn sie übereinstimmen, ist die E-Mail authentifiziert und wurde nicht manipuliert.
Warum ist DKIM wichtig?
DKIM ist wichtig, weil es dazu beiträgt, die Integrität und den Ruf von E-Mail-Absendern und -Empfängern zu schützen. Durch die Überprüfung der Domänenidentität des Absenders kann DKIM das Risiko von Phishing, Spoofing und Spam verringern, die das Vertrauen und die Sicherheit der E-Mail-Nutzer beeinträchtigen können. DKIM kann auch die Zustellbarkeit und Sichtbarkeit legitimer E-Mails verbessern, da sie von E-Mail-Anbietern und -Empfängern mit geringerer Wahrscheinlichkeit gefiltert oder als Spam markiert werden. DKIM kann auch andere E-Mail-Authentifizierungsstandards wie SPF (Sender Policy Framework) und DMARC (Domain-based Message Authentication, Reporting, and Conformance) ergänzen, um eine umfassendere und robustere Lösung für E-Mail-Sicherheit und Reputation zu bieten.
Was sind die Limitierungen von DKIM?
DKIM ist keine perfekte Lösung für die E-Mail-Authentifizierung und -Sicherheit, da es einige Einschränkungen und Probleme aufweist. Einige davon sind:
DKIM garantiert nicht die Identität des tatsächlichen Absenders, sondern nur die der Domäne. So kann ein Angreifer beispielsweise ein rechtmäßiges E-Mail-Konto kompromittieren und gefälschte E-Mails mit einer gültigen DKIM-Signatur versenden. Um dies abzuschwächen, sollten E-Mail-Anbieter und -Empfänger auch die Absender- und Reply-To-Felder der E-Mail überprüfen und andere Methoden zur Überprüfung der Identität des Absenders wie SPF und DMARC verwenden.
Wenn ein Benutzer eine E-Mail an eine andere Adresse weiterleitet, kann der Inhalt der E-Mail vom Weiterleitungsagenten geändert werden, z. B. durch Hinzufügen einer Kopf- oder Fußzeile, was die DKIM-Signatur ungültig machen kann. Um dies zu vermeiden, sollten E-Mail-Absender einen entspannten (relaxed) Algorithmus verwenden, der geringfügige Änderungen am E-Mail-Inhalt ignoriert, und E-Mail-Empfänger sollten eine tolerante Überprüfungsrichtlinie verwenden, die einige Fehler in der DKIM-Signatur zulässt.
DKIM erfordert die Zusammenarbeit und Koordination von E-Mail-Absendern und -Empfängern sowie die Verwaltung und Pflege von öffentlichen und privaten Schlüsseln und DNS-Einträgen. Dies kann komplex und kostspielig sein, insbesondere bei großen und dynamischen E-Mail-Domänen.
DKIM Syntax:
Die Syntax von DKIM ist in RFC 6376 definiert, in dem das Format und die Regeln für das DKIM-Signatur-Header-Feld, den DNS-Eintrag mit dem öffentlichen Schlüssel und die Signier- und Prüfalgorithmen festgelegt sind.
Das DKIM-Signatur-Header-Feld besteht aus einer Reihe von Tag-Wert-Paaren, die durch Semikolons getrennt sind und Informationen über die DKIM-Signatur enthalten. Die Tags haben die folgenden Bedeutungen:
v: Die Version von DKIM. Die aktuelle Version ist 1.
a: Der Algorithmus, der zur Generierung des Hashes und der Signatur verwendet wird. Die unterstützten Algorithmen sind rsa-sha1 und rsa-sha256.
b: Die Signaturdaten, kodiert in base64.
bh: Der Hash des E-Mail-Inhalts, kodiert in base64.
c: Der Algorithmus, der zur Normalisierung der E-Mail-Kopfzeilen und des E-Mail-Inhalts vor dem Hashing verwendet wird. Die unterstützten Algorithmen sind einfach (simple) und entspannt. (relaxed)
d: Die Domäne der unterzeichnenden Stelle.
h: Die Liste der Kopfzeilenfelder, die in der Signatur enthalten sind, getrennt durch Doppelpunkte.
i: Die Identität des Signierers, der eine Subdomäne oder ein Benutzer innerhalb der Signierdomäne sein kann.
l: Die Länge des zu signierenden E-Mail-Textes in Bytes. Wird diese Angabe weggelassen, wird der gesamte Textkörper signiert.
q: Die Abfragemethode, die zum Abrufen des öffentlichen Schlüssels verwendet wird. Die unterstützte Methode ist dns/txt, was bedeutet, dass der öffentliche Schlüssel in einem TXT-Eintrag im DNS gespeichert ist.
s: Der Selektor, der den für die Überprüfung zu verwendenden öffentlichen Schlüssel identifiziert.
t: Der Zeitstempel, wann die Signatur erstellt wurde, in Sekunden seit 00:00:00 am 1. Januar 1970 UTC.
x: Die Ablaufzeit der Signatur, in Sekunden seit 00:00:00 Uhr am 1. Januar 1970 UTC. Wird sie weggelassen, läuft die Signatur nicht ab.
z: Die ursprünglichen Header-Felder, die signiert wurden, kodiert in base64. Dieses Tag ist optional und wird nur für Debugging-Zwecke verwendet.
Ein Beispiel für einen DNS-Eintrag mit öffentlichem Schlüssel ist:
Selektor:
dkimkey._domainkey.example.com.
Wert:
„v=DKIM1; h=sha256; k=rsa;
p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCfjgu4wJ4hm7T3cjhYfyX3WfZwLGNqJtU2Ol1i8sT1o3F1FbZI4P7FqQW7MkMfsHnY6f7loG+RwkZsKdowq+8Gg9G2xRF1YJynBKLpdX4eR4Q2m5F3LjMfQSSMmN1CRrSeyRGNVQqjxweG5lJfR0GZsT7hnrccllH+oL1HhQIDAQAB"