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 e-mail authenticatie methode waarmee de verzendende server naar uitgaande berichten digitaal ondertekenen. De ontvangende server kan dan deze handtekening verifiëren met behulp van een publieke sleutel gepubliceerd in DNS, bevestiging van de e-mail is niet gewijzigd in transit en eigenlijk afkomstig van het geclaimde domein.

Hoe werkt DKIM?

1. Key Generation: Domeineigenaar genereert een publiek/privé sleutelpaar

2. DNS Publicatie: Publieke sleutel wordt gepubliceerd als een TXT record

3. Berichten Ondertekenen: Uitgaande e-mails worden ondertekend met de private sleutel

4. Handtekeningscontrole: Ontvangstserver haalt publieke sleutel op en controleert 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 recordformaat

DKIM records zijn TXT records op een specifiek subdomein:

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

Recordcomponenten

TagOmschrijvingVoorbeeld
vVersiev=DKIM1
kSleuteltypek=rsa
pOpenbare sleutel (base64)p=MIGfMA0GCSqG...
tVlaggen (facultatief)t=y (testmodus)
hHash-algoritmenh=sha256

Selectie

Selectors laten meerdere DKIM sleutels per domein toe:

google._domainkey.example.com       # Google Workspace

s1._domainkey.example.com # Sendgrid

mailchimp._domainkey.example.com # Mailchimp

Elke e-mail service biedt zijn eigen selector en sleutel.

DKIM ondertekening kop

Een DKIM handtekening ziet eruit als:

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

Kernvelden:

DKIM instellen

Voor Google Workspace

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

2. Genereer DKIM sleutel (2048-bit aanbevolen)

3. Voeg TXT-record van Google toe

4. Activeer DKIM ondertekening

Voor Third-Party Services

De meeste e-maildiensten (SendGrid, Mailchimp, enz.) bieden:

1. Een CNAME record toe te voegen (voor hun beheerde sleutel)

2. Of een TXT record met de publieke sleutel

Voorbeeld (SendGrid):

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

Controle van DKIM

Stuur een testmail naar een service die headers toont (Gmail toont authenticatieresultaten). Opdrachtregel gebruiken:
dig google._domainkey.example.com TXT
DomScan gebruiken:
curl "https://domscan.net/v1/health?domain=example.com"

# Reports DKIM status based on common selectors

DKIM Beste praktijken

Gebruik 2048-bit sleutels

Oudere 1024-bit sleutels worden steeds kwetsbaarder. De meeste providers zijn nu standaard 2048-bit.

Sleutels periodiek draaien

De DKIM-sleutels jaarlijks of na beveiligingsincidenten draaien. Publiceer nieuwe sleutel met nieuwe selector voordat u overschakelt.

Belangrijke berichtkoppen ondertekenen

Zorg ervoor dat Van, Tot, Onderwerp, Datum en Bericht-ID zijn opgenomen in handtekeningen.

Getekende berichten niet wijzigen

Mailinglijsten of forwarding services die inhoud wijzigen zullen DKIM breken. Gebruik ARC (Authenticated Received Chain) voor doorgestuurde e-mail.

DKIM Beperkingen

DKIM alleen voorkomt niet dat spoofing... het bewijst alleen dat een bericht niet is gewijzigd. Een domein kan geldig DKIM hebben terwijl aanvallers ongetekende e-mail sturen. DMARC behandelt dit door te specificeren wat te doen met niet-gesigneerde berichten.

Pas Deze Kennis Toe

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