DKIM (DomainKeys Identified Mail)

E-mail & Beveiliging
Een e-mailverificatiemethode die een digitale handtekening aan uitgaande e-mails toevoegt, waardoor ontvangers kunnen verifiëren dat het bericht niet is gewijzigd.
← Terug naar Woordenlijst

Wat is DKIM?

DKIM (DomainKeys Identified Mail) is een methode voor e-mailauthenticatie waarmee de verzendende server uitgaande berichten digitaal kan ondertekenen. De ontvangende server kan die handtekening vervolgens verifiëren met een openbare sleutel die in DNS is gepubliceerd. Zo wordt bevestigd dat de e-mail tijdens het transport niet is gewijzigd en daadwerkelijk afkomstig is van het opgegeven domein.

Hoe DKIM werkt

1. Sleutels genereren: de domeineigenaar genereert een openbaar en een privé-sleutelpaar

2. Publicatie in DNS: de openbare sleutel wordt als TXT-record gepubliceerd

3. Berichten ondertekenen: uitgaande e-mails worden met de privésleutel ondertekend

4. Handtekening verifiëren: de ontvangende server haalt de openbare sleutel op en verifieert de handtekening

Het ondertekeningsproces

Wanneer een e-mail wordt verzonden:

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

Het verificatieproces

Wanneer een e-mail wordt ontvangen:

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-recordindeling

DKIM-records zijn TXT-records op een specifiek subdomein:

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

Onderdelen van het record

TagBeschrijvingVoorbeeld
vVersiev=DKIM1
kType sleutelk=rsa
pOpenbare sleutel (base64)p=MIGfMA0GCSqG...
tVlaggen (optioneel)t=y (testing mode)
hHashalgoritmenh=sha256

Selectoren

Met selectors kunnen meerdere DKIM-sleutels per domein worden gebruikt:

google._domainkey.example.com       # Google Workspace

s1._domainkey.example.com # Sendgrid

mailchimp._domainkey.example.com # Mailchimp

Elke e-maildienst levert zijn eigen selector en sleutel.

DKIM-handtekeningheader

Een DKIM-handtekening ziet er als volgt uit:

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...

Belangrijke velden:

DKIM instellen

Voor Google Workspace

1. Ga naar de Admin Console → Apps → Gmail → E-mail authenticeren

2. Genereer een DKIM-sleutel, bij voorkeur van 2048 bits

3. Voeg het door Google verstrekte TXT-record toe

4. Activeer DKIM-ondertekening

Voor diensten van derden

De meeste e-maildiensten, zoals SendGrid en Mailchimp, leveren:

1. Een CNAME-record dat u voor hun beheerde sleutel moet toevoegen

2. Of een TXT-record met de openbare sleutel

Voorbeeld (SendGrid):

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

DKIM verifiëren

Stuur een testmail naar een dienst die headers toont, zoals Gmail, dat authenticatieresultaten weergeeft. Via de opdrachtregel:
dig google._domainkey.example.com TXT
Via DomScan:
curl "https://domscan.net/v1/health?domain=example.com"

# Reports DKIM status based on common selectors

Beste praktijken voor DKIM

Gebruik sleutels van 2048 bits

Oudere sleutels van 1024 bits zijn steeds kwetsbaarder. De meeste providers gebruiken tegenwoordig standaard 2048 bits.

Roteer sleutels periodiek

Roteer DKIM-sleutels jaarlijks of na beveiligingsincidenten. Publiceer de nieuwe sleutel met een nieuwe selector voordat u overschakelt.

Onderteken belangrijke headers

Zorg dat From, To, Subject, Date en Message-ID in de handtekeningen zijn opgenomen.

Wijzig ondertekende berichten niet

Mailinglijsten of doorstuurdiensten die de inhoud wijzigen, verbreken DKIM. Gebruik ARC (Authenticated Received Chain) voor doorgestuurde e-mail.

Beperkingen van DKIM

DKIM voorkomt spoofing op zichzelf niet: het bewijst alleen dat een bericht niet is gewijzigd. Een domein kan geldige DKIM hebben terwijl aanvallers onondertekende vervalste e-mails versturen. DMARC bepaalt wat er met zulke niet-geauthenticeerde berichten moet gebeuren.

Pas Deze Kennis Toe

Gebruik de API van DomScan om domeinbeschikbaarheid, gezondheid en meer te controleren.