DKIM (DomainKeys Identified Mail)

E-Mail & Sicherheit
Eine E-Mail-Authentifizierungsmethode, die ausgehenden E-Mails eine digitale Signatur hinzufügt und es Empfängern ermöglicht, zu überprüfen, dass die Nachricht nicht geändert wurde.
← Zurück zum Glossar

Was ist DKIM?

DKIM (DomainKeys Identified Mail) ist eine E-Mail-Authentifizierungs-Methode, die es dem sendenden Server erlaubt, ausgehende Nachrichten digital zu signieren. Der empfangende Server kann dann diese Signatur mit einem öffentlichen Schlüssel verifizieren, der in DNS veröffentlicht ist, und so bestätigen, dass die E-Mail unterwegs nicht verändert wurde und tatsächlich vom angegebenen Domain stammte.

Wie DKIM funktioniert

1. Schlüssel-Generierung: Domain-Besitzer generiert ein öffentliches/privates Schlüsselpaar

2. DNS-Veröffentlichung: Öffentlicher Schlüssel wird als TXT-Eintrag veröffentlicht

3. Nachricht-Signierung: Ausgehende E-Mails werden mit dem privaten Schlüssel signiert

4. Signatur-Verifizierung: Empfangender Server ruft den öffentlichen Schlüssel ab und verifiziert die Signatur

Der Signatur-Prozess

Wenn eine E-Mail gesendet wird:

1. Mail server calculates a hash of message headers and body

2. Hash is encrypted with the private key (creating the signature)

3. Signature is added as a DKIM-Signature header

4. Email is transmitted

Der Verifikations-Prozess

Wenn eine E-Mail empfangen wird:

1. Server extracts the DKIM-Signature header

2. Finds selector and domain (s=selector; d=domain.com)

3. Queries DNS for selector._domainkey.domain.com TXT record

4. Uses public key to decrypt the signature

5. Calculates its own hash of the message

6. Compares: match = pass, mismatch = fail

DKIM-Record-Format

DKIM-Einträge sind TXT-Einträge in einer spezifischen Subdomain:

selector._domainkey.example.com.    IN    TXT    "v=DKIM1; k=rsa; p=MIGfMA0..."

Komponenten des Records

TagBeschreibungBeispiel
vVersionv=DKIM1
kSchlüssel-Typk=rsa
pÖffentlicher Schlüssel (base64)p=MIGfMA0GCSqG...
tFlags (optional)t=y (testing mode)
hHash-Algorithmenh=sha256

Selektoren

Selektoren erlauben mehrere DKIM-Schlüssel pro Domain:

google._domainkey.example.com       # Google Workspace

s1._domainkey.example.com # Sendgrid

mailchimp._domainkey.example.com # Mailchimp

Jeder E-Mail-Service bietet seinen eigenen Selector und Schlüssel.

Header der DKIM-Signatur

Eine DKIM-Signatur sieht so aus:

DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=google;

c=relaxed/relaxed; q=dns/txt;

h=from:to:subject:date:message-id;

bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;

b=AuUoFEfDxTDkHlLXSZEpZj79...

Wichtige Felder:

DKIM einrichten

Für Google Workspace

1. Gehen Sie zu Admin-Konsole → Apps → Gmail → Authentifizieren Sie E-Mail

2. Generieren Sie DKIM-Schlüssel (2048-Bit empfohlen)

3. Fügen Sie TXT-Eintrag hinzu, der von Google bereitgestellt wird

4. Aktivieren Sie DKIM-Signierung

Für Dienste von Drittanbietern

Die meisten E-Mail-Services (SendGrid, Mailchimp, etc.) bieten:

1. Einen CNAME-Eintrag zum Hinzufügen (für ihren verwalteten Schlüssel)

2. Oder einen TXT-Eintrag mit dem öffentlichen Schlüssel

Beispiel (SendGrid):

s1._domainkey.example.com    CNAME    s1.domainkey.sendgrid.net

DKIM prüfen

Senden Sie eine Test-E-Mail zu einem Service, der Header zeigt (Gmail zeigt Authentifizierungs-Ergebnisse). Using command line:
dig google._domainkey.example.com TXT
Using DomScan:
curl "https://domscan.net/v1/health?domain=example.com"

# Reports DKIM status based on common selectors

Bewährte Vorgehensweisen für DKIM

2048-Bit-Schlüssel verwenden

Ältere 1024-Bit Schlüssel sind zunehmend anfällig. Die meisten Provider verwenden jetzt standardmäßig 2048-Bit.

Schlüssel regelmäßig rotieren

Rotieren Sie DKIM-Schlüssel jährlich oder nach Sicherheits-Vorfällen. Veröffentlichen Sie neuen Schlüssel mit neuem Selector vor dem Wechsel.

Wichtige Header signieren

Stellen Sie sicher, dass From, To, Subject, Date und Message-ID in Signaturen enthalten sind.

Signierte Nachrichten nicht verändern

Mailing-Listen oder Weiterleitungs-Services, die Inhalte ändern, brechen DKIM. Verwenden Sie ARC (Authenticated Received Chain) für weitergeleitet Mail.

Einschränkungen von DKIM

DKIM allein verhindert nicht Spoofing – es beweist nur, dass eine Nachricht nicht verändert wurde. Ein Domain kann gültiges DKIM haben, während Angreifer unsignierte gefälschte E-Mail senden. DMARC behandelt dies, indem es angibt, was mit unsignierter Nachricht zu tun ist.

Setzen Sie dieses Wissen in die Praxis um

Verwenden Sie die DomScan-API, um Domänenverfügbarkeit, Gesundheit und mehr zu prüfen.