Guides/DKIM

DKIM (DomainKeys Identified Mail) : Le guide complet

Tout comprendre sur la signature DKIM pour authentifier vos emails et garantir qu'ils n'ont pas été modifiés en transit.

Qu'est-ce que le DKIM ?

Le DKIM (DomainKeys Identified Mail) est un protocole d'authentification email défini dans la RFC 6376. Il permet de signer cryptographiquement les emails sortants afin de prouver deux choses : que l'email provient bien du domaine revendiqué, et que son contenu n'a pas été altéré pendant le transport.

Le DKIM utilise un système de cryptographie asymétrique (clé publique / clé privée). Le serveur d'envoi signe chaque email avec une clé privée, et la clé publique correspondante est publiée dans un enregistrement DNS. Le serveur récepteur peut alors vérifier la signature en comparant les deux.

Contrairement au SPF qui vérifie uniquement l'IP de l'expéditeur, le DKIM garantit l'intégrité du message lui-même. Même si un email est relayé par plusieurs serveurs, la signature DKIM permet de prouver que le contenu n'a pas été modifié.

Le DKIM est un composant essentiel de la sécurité email. Combiné avec SPF et DMARC, il constitue le triptyque de base pour protéger un domaine contre l'usurpation d'identité email.

Comment fonctionne le DKIM ?

Le processus DKIM se déroule en deux phases : la signature à l'envoi et la vérification à la réception.

Phase de signature (envoi)

  1. Sélection des en-têtes — Le serveur d'envoi choisit les en-têtes à inclure dans la signature (From, To, Subject, Date, etc.).
  2. Hachage du contenu — Le corps du message et les en-têtes sélectionnés sont hachés (généralement avec SHA-256).
  3. Signature cryptographique — Le hash est chiffré avec la clé privée DKIM du domaine, créant la signature numérique.
  4. Ajout de l'en-tête — La signature est ajoutée à l'email via l'en-tête DKIM-Signature.

Phase de vérification (réception)

  1. Lecture de la signature — Le serveur récepteur extrait l'en-tête DKIM-Signature et identifie le domaine et le sélecteur.
  2. Requête DNS — Il interroge le DNS pour obtenir la clé publique à l'adresse sélecteur._domainkey.domaine.com.
  3. Vérification — Il déchiffre la signature avec la clé publique et compare le résultat au hash recalculé du message reçu.
  4. Verdict — Si les hash correspondent, la signature est valide : l'email est authentique et intact.

Un en-tête DKIM-Signature ressemble à ceci :

DKIM-Signature: v=1; a=rsa-sha256; d=exemple.fr; s=selector1; c=relaxed/relaxed; h=from:to:subject:date; bh=base64_hash_du_corps; b=base64_signature

Et l'enregistrement DNS correspondant (de type TXT) :

selector1._domainkey.exemple.fr IN TXT "v=DKIM1; k=rsa; p=clé_publique_base64"

Comment configurer le DKIM étape par étape

Étape 1 : Générer les clés DKIM

La plupart des fournisseurs de messagerie (Google Workspace, Microsoft 365, etc.) génèrent automatiquement les clés DKIM. Vous n'avez qu'à activer la fonctionnalité dans l'interface d'administration. Si vous gérez votre propre serveur, vous pouvez générer les clés avec OpenSSL :

openssl genrsa -out dkim_private.pem 2048 openssl rsa -in dkim_private.pem -pubout -out dkim_public.pem

Étape 2 : Publier la clé publique dans le DNS

Créez un enregistrement TXT dans votre zone DNS avec le nom sélecteur._domainkey.votredomaine.com. Le sélecteur est un identifiant libre (ex: "google", "selector1", "mail") :

  • Type : TXT
  • Nom : selector1._domainkey
  • Valeur : v=DKIM1; k=rsa; p=votre_clé_publique_base64

Étape 3 : Configurer le serveur d'envoi

Configurez votre serveur de messagerie ou service d'envoi pour signer les emails sortants avec la clé privée. Chez les fournisseurs cloud, cette étape se résume généralement à un bouton "Activer DKIM" dans la console d'administration.

Étape 4 : Vérifier la configuration

Envoyez un email de test et vérifiez les en-têtes pour confirmer la présence d'un en-tête DKIM-Signature valide. Utilisez notre outil de vérification gratuit pour valider que l'enregistrement DNS est correctement publié.

Étape 5 : Configurer DKIM pour chaque service d'envoi

Si vous utilisez plusieurs services (messagerie principale, newsletter, emails transactionnels), chacun doit avoir sa propre configuration DKIM avec un sélecteur distinct. Par exemple : google._domainkey pour Google Workspace et brevo._domainkey pour Brevo.

Erreurs courantes à éviter

1. Utiliser des clés RSA trop courtes

Les clés RSA de 1024 bits sont désormais considérées comme faibles. Utilisez des clés de 2048 bits minimum. La plupart des fournisseurs modernes utilisent déjà cette taille par défaut.

2. Ne pas faire tourner les clés régulièrement

Les clés DKIM devraient être changées (rotation) au moins tous les 6 à 12 mois. Gardez l'ancienne clé publique dans le DNS pendant quelques jours après la rotation pour que les emails en transit puissent encore être vérifiés.

3. Erreur de formatage de la clé publique

Certains registrars coupent les enregistrements TXT longs. Assurez-vous que votre clé publique est complète et correctement formatée. La valeur ne doit contenir aucun espace ni saut de ligne indésiré.

4. Oublier de configurer DKIM pour les services tiers

Chaque service qui envoie des emails en votre nom (newsletter, CRM, support) doit avoir son propre enregistrement DKIM. Sans cela, leurs emails ne passeront pas la vérification DMARC.

5. Ne pas tester après la configuration

Une erreur dans l'enregistrement DNS ou la configuration du serveur peut rendre le DKIM non fonctionnel sans que vous ne vous en rendiez compte. Testez systématiquement avec un email de vérification.

Questions fréquentes sur le DKIM

Quelle est la différence entre SPF et DKIM ?

SPF vérifie que le serveur d'envoi est autorisé à envoyer pour votre domaine (vérification de l'IP). DKIM vérifie que le contenu de l'email n'a pas été modifié et qu'il est bien signé par votre domaine (vérification cryptographique). Les deux sont complémentaires : SPF authentifie le serveur, DKIM authentifie le message.

Peut-on avoir plusieurs enregistrements DKIM ?

Oui, contrairement au SPF qui n'accepte qu'un seul enregistrement, vous pouvez avoir autant d'enregistrements DKIM que nécessaire. Chaque service d'envoi utilise un sélecteur différent, ce qui crée des enregistrements DNS distincts. C'est la pratique recommandée.

Le DKIM ralentit-il l'envoi d'emails ?

L'impact sur les performances est négligeable. La signature cryptographique prend quelques millisecondes par email. Côté réception, la vérification DKIM ajoute une requête DNS et un calcul de hash, mais cela n'a aucun impact perceptible pour l'utilisateur final. Les bénéfices en termes de délivrabilité et de sécurité dépassent largement ce coût minimal.

Vérifiez votre domaine gratuitement

Testez votre configuration SPF, DKIM, DMARC et MTA-STS en un clic. Notre outil analyse votre domaine et vous indique exactement ce qu'il faut corriger.

Tester mon domaine

Guides complémentaires