DKIM — DomainKeys Identified Mail
DKIM est une signature cryptographique apposée sur chaque mail sortant d'un domaine. Le destinataire peut vérifier cette signature pour confirmer que le mail vient bien du domaine annoncé et n'a pas été altéré en transit.
Fonctionnement en 3 étapes
- Le domaine émetteur génère une paire de clés RSA (privée + publique).
- La clé publique est publiée dans le DNS (record TXT `selector._domainkey.example.fr`).
- Chaque mail sortant est signé avec la clé privée. Le destinataire récupère la clé publique via DNS et vérifie la signature.
Exemple de record DKIM dans le DNS
mail._domainkey.example.fr. IN TXT "v=DKIM1; h=sha256; k=rsa; p=MIIBIjANBgkqhkiG..."
Lecture : « Pour vérifier les mails signés DKIM avec le sélecteur `mail`, utilisez la clé publique RSA dont la valeur encodée base64 commence par `MIIBIjAN...` »
Exemple d'en-tête DKIM-Signature dans un mail
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=example.fr; s=mail; t=1779625346;
bh=ZkPx9...; b=Aq3xL...
Pourquoi DKIM plutôt que SPF seul
- SPF casse sur les forwards (l'IP source change). DKIM résiste aux forwards (la signature voyage avec le mail).
- DKIM signe à la fois les en-têtes et le corps : altération en transit détectée.
- DKIM est nécessaire pour DMARC strict (alignement requis avec le domaine `From:`).
Limites de DKIM
- Une clé compromise impose une rotation. Cf concept de « selector » pour multiples clés actives en parallèle.
- RSA 1024 bits est trop court en 2026 — utilisez RSA 2048 bits minimum.
- DKIM ne protège pas en lui-même contre l'usurpation `From:` visible. Doit être combiné à DMARC.