In een digitaal tijdperk waar alles draait om veiligheid, is het vreemd dat we een e-mail eigenlijk blindelings vertrouwen als die binnenkomt. "Hey, een e-mail van Jan, leuk." Ja, maar wie zegt dat die ook daadwerkelijk van Jan af komt? En dat er onderweg niet mee geknoeid is, zodat er eigenlijk iets heel anders staat dan wat er daadwerkelijk gestuurd is?


Enter: DKIM. Uitgesproken als ‘dee kim’ of ‘dee-ka-ie-em’, kort voor DomainKeys Identified Mail. In een notendop is de werking ervan eigenlijk heel simpel en, gelukkig, de installatie er van doorgaans ook.


INHOUDSOPGAVE


Hoe werkt het?

Stel, Jan typt een e-mail. Deze e-mail bestaat uit verschillende onderdelen, zoals een afzender, een ontvanger, de inhoud, tijdstip van verzending en meer van dat soort karakteristieken. Samen vormen ze een uniek object wat door de digitale postduif wordt verstuurd. Dit versturen gaat via een mailserver, bijvoorbeeld mail.versio.nl of mail.domeinnaam.nl.


Is DKIM geïnstalleerd op de uitgaande mailserver, dan gaat die server met het bericht aan de slag, voordat het naar de ontvanger wordt verstuurd. Voor iedere domeinnaam die op de server bestaat, is er een unieke en geheime private key aanwezig. Met deze sleutel wordt het volledige bericht, inclusief alle karakteristieken, omgetoverd tot een hash. Deze hash wordt meegestuurd met het bericht naar de ontvangende mailserver.


Als de ontvangende kant weet hoe het met DKIM om moet gaan, zal deze merken dat er wat extra’s aan de mail hangt: een gehashte versie van de ontvangen mail, inclusief alle eigenschappen daarvan. Om deze hash te ontcijferen, is er een andere sleutel nodig dan degene die voor het versleutelen werd gebruikt. Deze zogenaamde public key staat openbaar in het DNS van de verzendende domeinnaam opgeslagen als DKIM-record. Met deze publieke sleutel kan de hash vertaald worden naar ‘leesbare’ tekst, welke vervolgens wordt vergeleken met de normale variant van het bericht. Komt het overeen, dan is iedereen blij.


Twee kanttekeningen hierbij:


a. Komt het niet overeen, dan zal het bericht, al naargelang de instellingen van de ontvangende partij, gemarkeerd worden als spam, in een spamfolder geplaatst worden of zelfs gewoon compleet geweigerd worden. Daar heb je als verzender verder geen invloed op.


b. Weet de ontvangende kant niet hoe DKIM werkt, dan is er geen nood. Ook niet als jij wel een met DKIM beveiligde mail verstuurt. Het DKIM-gedeelte van de ontvangen e-mail zal dan volledig genegeerd worden.


Openbare sleutel?

Oké, die theorie klinkt logisch. Maar als de public key gewoon te grabbel ligt in het DNS en iedere willekeurige internetter die op kan vragen, is dat dan niet een beveiligingsrisico? Wat let een onderscheppende hacker om het bericht te ontcijferen met de publieke sleutel, aan te passen en weer ‘op slot te doen’ door een nieuwe hash te genereren?


Kijk, en daar komt het mooie van deze techniek naar voren. Het versleutelen zelf kan namelijk alleen met de private key, niet met de public key. Een hacker kan het bericht dus wel onderscheppen en van het slot afhalen en aanpassen, maar zal nooit in staat zijn om het geheel weer in te pakken met een nieuwe kloppende hash, simpelweg omdat daar de private key voor nodig is. En, als het goed is, staat die alleen maar op de verzendende server geïnstalleerd.


Installeren

Het activeren van DKIM is niet zo heel moeilijk. Het zijn twee stappen: het activeren binnen DirectAdmin en het toevoegen van de public key in het DNS.


DirectAdmin

DirectAdmin is de server waar de e-mail gemaakt wordt. Die zorgt dan ook voor de versleuteling. 


Standaard staat DKIM al ingeschakeld bij onze hostingpakketten en hoef je alleen maar de sleutel op te halen. 


Tip: ook al staat DKIM aan, DNS-beheer staat standaard uit. Schakel via Mijn Versio dus eerst DNS-beheer in voor het hostingpakket, voordat je inlogt.


Bij E-mail Beheer > E-mail Accounts zie je niet alleen een overzicht van al je e-mailadressen, maar ook of DKIM staat ingeschakeld. 


Klik op de knop Schakel DKIM in als die er is. Staat er in plaats daarvan een knop Schakel DKIM uit, hoef je hier niks te doen.



Om het DNS-record aan het DNS toe te kunnen voegen, moet je dat record eerst weten. Je vindt dit in DirectAdmin onder Account Beheer > DNS Beheer.



Tussen alle andere DNS-records die je hier ziet staan, staat ook het DKIM-record. Je kunt er niet omheen, het valt meteen op.



DNS


Heb je het DKIM-record uit DirectAdmin geplukt? Dan kun je terug naar Mijn Versio om dit toe te voegen aan de DNS-zone van je domeinnaam.


Klik daarvoor links in het menu op Domeinnamen en dan de domeinnaam waarvoor je DKIM gaat instellen. Scroll naar beneden totdat je bij de DNS Instellingen komt.


Klik op de knop Voeg record toe en vul de gegevens in die je uit DirectAdmin hebt overgenomen. 


Type: TXT

Naam: x._domainkey

Waarde: die hele lange reeks van letters en cijfers, zonder aanhalingstekens eromheen

TTL: maakt eigenlijk weinig uit, de standaard (600) is prima



Klik ten slotte op de knop Bewaar om het record op te slaan.


Let op: wil je DKIM inschakelen? Je kunt dan geen gebruik maken van een DNS-template in Mijn Versio. Een DKIM-record is namelijk voor iedere domeinnaam uniek. 


Conclusie

Het activeren van DKIM is in de meeste gevallen zo gepiept. Het effect is ongemerkt grandioos, want het is bijvoorbeeld een hele grote stap vooruit in het beschermen de mail die jij verstuurt en daarmee een groot pluspunt voor onder andere Microsofts inkomende spamfilters.