Qu'est-ce que DKIM ?
DKIM (DomainKeys Identified Mail) est un mécanisme d'authentification email défini dans la RFC 6376. Il permet de signer cryptographiquement les emails sortants pour prouver leur origine et leur intégrité.
Pourquoi configurer DKIM :
- Authentifier vos emails — Prouvez que l'email provient bien de votre domaine
- Protéger contre la falsification — La signature détecte toute modification du contenu
- Améliorer la délivrabilité — Les emails signés DKIM sont mieux acceptés par Gmail, Outlook, Yahoo
- Prérequis pour DMARC — DKIM est l'un des deux piliers de l'authentification DMARC (avec SPF)
Comment fonctionne DKIM ?
DKIM utilise la cryptographie asymétrique (clé publique/privée) :
- Signature à l'envoi : Votre serveur mail calcule un hash du message et le signe avec la clé privée
- Publication DNS : La clé publique est publiée dans un enregistrement TXT à
selector._domainkey.domain.com - Vérification à la réception : Le serveur destinataire récupère la clé publique via DNS et vérifie la signature
Envoi: Message → Hash → Signature (clé privée) → Header DKIM-Signature
Réception: Header → Clé publique (DNS) → Vérification signature → Pass/Fail
Syntaxe d'un enregistrement DKIM
Un enregistrement DKIM est un enregistrement DNS TXT publié à <selector>._domainkey.<domain> :
v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...
Tags DKIM
| Tag | Description | Requis | Valeurs |
|---|---|---|---|
v | Version | Recommandé | DKIM1 |
k | Type de clé | Non (défaut: rsa) | rsa, ed25519 |
p | Clé publique | Oui | Base64 DER |
h | Algorithmes de hash | Non | sha256, sha1 |
t | Flags | Non | y (test), s (strict) |
s | Types de service | Non | email, * |
n | Notes | Non | Texte libre |
Exemples de records
RSA 2048 bits (recommandé) :
default._domainkey.captaindns.com TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkq..."
Ed25519 :
default._domainkey.captaindns.com TXT "v=DKIM1; k=ed25519; p=MCowBQYDK2Vw..."
RSA vs Ed25519 : quel algorithme choisir ?
| Critère | RSA 2048 | RSA 4096 | Ed25519 |
|---|---|---|---|
| Sécurité | Bonne | Excellente | Excellente |
| Support | Universel | Universel | Partiel (~80%) |
| Longueur record | ~400 chars | ~800 chars | ~90 chars |
| Performance | Bonne | Lente | Très rapide |
| Recommandation | Production | Sensible | Avancé |
Recommandations
- RSA 2048 bits : Standard actuel, compatibilité maximale. Choisissez cette option par défaut.
- RSA 4096 bits : Pour les environnements très sensibles. Attention aux limitations DNS.
- Ed25519 : Pour les configurations avancées. Envisagez un double selector (RSA + Ed25519).
- RSA 1024 bits : Déprécié depuis 2020. À éviter.
Longueur des clés et limites DNS
La limite de 255 caractères
Les enregistrements DNS TXT sont limités à 255 caractères par chaîne. Voici l'impact par algorithme :
| Algorithme | Longueur record | Compatible DNS |
|---|---|---|
| Ed25519 | ~90 chars | ✅ Toujours |
| RSA 1024 | ~230 chars | ✅ Toujours |
| RSA 2048 | ~400 chars | ⚠️ Découpage auto |
| RSA 4096 | ~800 chars | ⚠️ Vérifier provider |
Comment les providers gèrent les longs records
La plupart des providers DNS (Cloudflare, AWS Route 53, Google Cloud DNS) découpent automatiquement les records longs en plusieurs chaînes. Le protocole DNS les concatène à la lecture.
Si votre provider ne supporte pas les longs records, préférez RSA 2048 bits ou Ed25519.
Cas d'usage concrets
Nouveau domaine : première configuration DKIM
Contexte : Vous configurez un nouveau serveur mail (Postfix, etc.)
Solution :
- Générez une clé RSA 2048 bits avec le sélecteur
default - Téléchargez la clé privée et configurez OpenDKIM
- Publiez l'enregistrement TXT dans votre zone DNS
- Vérifiez avec le DKIM Checker
Rotation de clé DKIM
Contexte : Votre clé DKIM a plus de 12 mois ou a été compromise
Solution :
- Générez une nouvelle clé avec un nouveau sélecteur (ex: s2, 202602)
- Configurez la nouvelle clé dans votre serveur mail
- Publiez le nouvel enregistrement DNS
- Attendez 24-48h de propagation DNS
- Supprimez l'ancien enregistrement
Double selector : RSA + Ed25519
Contexte : Vous voulez profiter d'Ed25519 tout en gardant la compatibilité RSA
Solution :
- Générez une clé RSA 2048 avec le sélecteur
rsa - Générez une clé Ed25519 avec le sélecteur
ed - Configurez votre serveur pour signer avec les deux clés
- Les serveurs modernes vérifieront Ed25519, les anciens utiliseront RSA
Flags DKIM : mode test et strict
Flag t=y (mode test)
Active le mode test DKIM. Les échecs de vérification sont traités comme neutres (ni pass ni fail).
Usage : Testez votre configuration sans risquer de rejets. Retirez le flag une fois validé.
Flag t=s (mode strict)
Exige un alignement strict entre le domaine de signature DKIM et le domaine From. Par défaut, l'alignement relaxed autorise les sous-domaines.
Usage : Renforcez la sécurité en production. Assurez-vous que tous vos emails sont signés depuis le domaine exact.
❓ FAQ - Questions fréquentes
Q : Comment générer une clé DKIM pour mon domaine ?
R : Utilisez notre générateur : entrez votre domaine et un sélecteur, choisissez RSA 2048 bits, cliquez sur Générer. Téléchargez la clé privée et publiez l'enregistrement TXT dans votre DNS.
Q : Quelle différence entre RSA et Ed25519 ?
R : RSA est supporté par tous les serveurs. Ed25519 est plus moderne avec des clés plus courtes, mais le support n'est pas universel (~80%). Recommandation : RSA 2048 bits pour la production.
Q : Quelle longueur de clé RSA choisir ?
R : RSA 2048 bits est le standard. RSA 1024 est déprécié. RSA 4096 offre plus de sécurité mais génère des records très longs.
Q : Qu'est-ce qu'un sélecteur DKIM ?
R : Un identifiant permettant d'avoir plusieurs clés DKIM. Exemples : default, google, s1. L'enregistrement est publié à selector._domainkey.domaine.com.
Q : La clé privée est-elle stockée ?
R : Non. Générée une seule fois, transmise, puis supprimée. Téléchargez-la immédiatement.
Q : Pourquoi mon record dépasse 255 caractères ?
R : RSA 4096 génère des records de 800+ caractères. La plupart des providers découpent automatiquement. Sinon, préférez RSA 2048 ou Ed25519.
Q : Comment configurer DKIM avec Google Workspace ?
R : Google génère ses propres clés. Admin Console > Gmail > Authenticate email > Generate new record. Notre outil est pour les serveurs personnalisés.
Outils complémentaires
| Outil | Utilité |
|---|---|
| DKIM Record Check | Vérifiez que votre DKIM est publié et valide |
| DKIM Syntax Check | Validez la syntaxe d'un record DKIM |
| SPF Generator | Créez votre enregistrement SPF |
| DMARC Generator | Configurez DMARC pour compléter l'authentification |
| Mail Tester | Testez la délivrabilité de vos emails |
Ressources utiles
- RFC 6376 - DomainKeys Identified Mail (DKIM) Signatures — Spécification officielle DKIM
- RFC 8463 - A New Cryptographic Signature Method for DKIM (Ed25519) — Support Ed25519 pour DKIM
- RFC 8301 - Cryptographic Algorithm and Key Usage Update to DKIM — Recommandations de sécurité actuelles
- OpenDKIM - Configuration Guide — Documentation pour Postfix/OpenDKIM
- Google Workspace - Set up DKIM — Guide officiel Google
- Microsoft 365 - Use DKIM — Guide officiel Microsoft