Hoe werkt DKIM?
De mailserver van de afzender zet een handtekening in een extra regel in de header van de mail: DKIM-Signature. Daarin staan onder meer het tekenende domein (d=) en een selector (s=). Een verkort voorbeeld uit RFC 6376:
DKIM-Signature: v=1; a=rsa-sha256; d=example.net; s=brisbane;
h=from:to:subject:date; ...
De ontvanger zoekt de publieke sleutel op in de DNS, in een subdomein met de naam _domainkey. Bij dit voorbeeld is dat brisbane._domainkey.example.net. Klopt de handtekening, dan is DKIM geslaagd.
Met selectors kan één domein meerdere sleutels tegelijk gebruiken, bijvoorbeeld een voor de eigen mailserver en een voor een nieuwsbriefdienst. Een certificaatautoriteit is niet nodig: de ontvanger haalt de sleutel direct bij het domein van de afzender.
Voorbeeld: DKIM voor een nieuwsbriefdienst
Yogastudio Lotus in Nijmegen verstuurt een nieuwsbrief via een externe dienst. Die dienst tekent de mails standaard met het domein van de dienst zelf. De studio zet DKIM aan voor het eigen domein. De dienst geeft daarvoor een selector en een publieke sleutel, en de studio zet die als record in de DNS.
Vanaf dan tekent de dienst de nieuwsbrieven met het domein van de studio. Het tekenende domein komt zo overeen met het domein in het From-adres, waardoor de mail via DKIM voor DMARC kan slagen.
Wat eist Google en wat doet DKIM niet?
Google eist sinds 1 februari 2024 SPF of DKIM van elke afzender naar Gmail-adressen. Wie meer dan 5.000 berichten per dag stuurt, heeft beide nodig. De DKIM-sleutel moet minstens 1024 bits lang zijn, en Google raadt 2048 bits aan. Ook afmelden met één klik leunt op DKIM: volgens RFC 8058 moet de handtekening de afmeldregels in de header dekken.
DKIM bewijst niet dat de afzender in het From-adres de mail schreef. De standaard scheidt bewust het tekenende domein van de vermeende auteur. Een mail kan dus een geldige handtekening hebben van een heel ander domein. DMARC eist daarom dat het tekenende domein past bij het From-adres.
Verwar DKIM niet met
- SPF-record: een lijst in de DNS van servers die namens een domein mogen mailen. SPF kijkt naar de server, DKIM naar een handtekening in de mail zelf.
- DMARC: een beleid bovenop SPF en DKIM. Het zegt wat een ontvanger moet doen met mail die niet slaagt, en vraagt om rapporten.
- SSL-certificaat: beveiligt de verbinding met een website en werkt met certificaatautoriteiten. DKIM heeft die niet nodig.
Veelgestelde vragen over DKIM
Waar staat DKIM voor?
DKIM staat voor DomainKeys Identified Mail. Het is een standaard waarmee een domein uitgaande e-mail digitaal ondertekent.
Wat is een DKIM-selector?
Een naam voor een sleutel. Met selectors kan een domein meer sleutels tegelijk gebruiken. De selector staat in de handtekening en bepaalt waar in de DNS de publieke sleutel staat.
Is DKIM verplicht?
Niet bij wet. Maar Gmail eist SPF of DKIM van elke afzender. Wie meer dan 5.000 berichten per dag naar Gmail stuurt, heeft beide nodig, plus DMARC.