Wat doet DKIM?

De verzendende server ondertekent het bericht. Ontvangers controleren die handtekening met de publieke sleutel in DNS.

DKIM staat voor DomainKeys Identified Mail. De verzendende server ondertekent (delen van) het bericht met een privésleutel. De ontvanger haalt de bijbehorende publieke sleutel uit DNS en controleert of de handtekening klopt en of het bericht onderweg niet is veranderd.

Anders dan SPF hangt DKIM niet aan het verzendende IP. Een geldige handtekening blijft staan als de mail wordt doorgestuurd, zolang de ondertekende headers en de body niet wezenlijk wijzigen. Daarom is DKIM de ruggengraat van DMARC bij forwarding.

Selectors

Eén domein kan meerdere sleutels hebben. Elke sleutel heeft een selector: een korte naam zoals selector1, google of s1. De publieke sleutel staat op:

selector1._domainkey.julliedomein.nl

In de mail staat een DKIM-Signature-header met onder meer s=selector1 (welke sleutel) en d=julliedomein.nl (welk domein tekende). De ontvanger combineert die tot het DNS-pad hierboven.

Voorbeeld (Microsoft 365)
TypeCNAME
Naamselector1._domainkey
Waardeselector1-julliedomein-nl._domainkey.julliedomein.onmicrosoft.com

Microsoft 365 gebruikt doorgaans twee selectors (selector1 en selector2) zodat ze kunnen roteren. Google Workspace publiceert meestal een TXT op google._domainkey. Nieuwsbriefdiensten hebben hun eigen selector.

Wat dmarcs niet doet met sleutels

De privésleutel blijft bij de mailprovider — Microsoft 365, Google, Mailchimp, enzovoort. dmarcs genereert die sleutel niet, slaat hem niet op en ondertekent geen mail. Zonder ondertekening bij de verzender is er niets te controleren, hoe goed DNS ook staat.

Wat wél in DNS hoort: de publieke helft. Die kun je zelf bij de DNS van het domein laten staan, of — als Managed DKIM op het account aanstaat — via een CNAME door dmarcs laten hosten. Zie Managed DKIM.

Alignment met From

Voor DMARC moet het domein in de DKIM-handtekening (d=) bij het From-domein horen.

  • Relaxed (standaard): d=mail.bedrijf.nl mag bij From nieuws@bedrijf.nl.
  • Strict: de domeinen moeten exact gelijk zijn.

Een nieuwsbrief die tekent met d=stuurbedrijf.com terwijl From julliedomein.nl is, is voor DKIM technisch geldig maar voor DMARC niet aligned. Die mail faalt DMARC tenzij SPF wél aligned is. Oplossing: de dienst laten tekenen met jullie domein (custom DKIM), niet alleen met het domein van de leverancier.

DKIM in dmarcs

Onder DKIM-analyse zie je welke selectors in de rapporten voorkomen, of de DNS-sleutel op te halen is, en hoeveel volume aligned binnenkomt. Dat is het beeld uit de aggregaatrapporten, aangevuld met een live DNS-check — geen kopie van elke handtekening.