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 ete modifies en transit.

Qu'est-ce que le DKIM ?

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

Le DKIM utilise un systeme de cryptographie asymetrique (cle publique / cle privee). Le serveur d'envoi signe chaque email avec une cle privee, et la cle publique correspondante est publiee dans un enregistrement DNS. Le serveur recepteur peut alors verifier la signature en comparant les deux.

Contrairement au SPF qui verifie uniquement l'IP de l'expediteur, le DKIM garantit l'integrite du message lui-meme. Meme si un email est relaie par plusieurs serveurs, la signature DKIM permet de prouver que le contenu n'a pas ete modifie.

Le DKIM est un composant essentiel de la securite email. Combine avec SPF et DMARC, il constitue le triptyque de base pour proteger un domaine contre l'usurpation d'identite email.

Comment fonctionne le DKIM ?

Le processus DKIM se deroule en deux phases : la signature a l'envoi et la verification a la reception.

Phase de signature (envoi)

  1. Selection des en-tetes — Le serveur d'envoi choisit les en-tetes a inclure dans la signature (From, To, Subject, Date, etc.).
  2. Hachage du contenu — Le corps du message et les en-tetes selectionnes sont haches (generalement avec SHA-256).
  3. Signature cryptographique — Le hash est chiffre avec la cle privee DKIM du domaine, creant la signature numerique.
  4. Ajout de l'en-tete — La signature est ajoutee a l'email via l'en-tete DKIM-Signature.

Phase de verification (reception)

  1. Lecture de la signature — Le serveur recepteur extrait l'en-tete DKIM-Signature et identifie le domaine et le selecteur.
  2. Requete DNS — Il interroge le DNS pour obtenir la cle publique a l'adresse selecteur._domainkey.domaine.com.
  3. Verification — Il dechiffre la signature avec la cle publique et compare le resultat au hash recalcule du message recu.
  4. Verdict — Si les hash correspondent, la signature est valide : l'email est authentique et intact.

Un en-tete DKIM-Signature ressemble a 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=cle_publique_base64"

Comment configurer le DKIM etape par etape

Etape 1 : Generer les cles DKIM

La plupart des fournisseurs de messagerie (Google Workspace, Microsoft 365, etc.) generent automatiquement les cles DKIM. Vous n'avez qu'a activer la fonctionnalite dans l'interface d'administration. Si vous gerez votre propre serveur, vous pouvez generer les cles avec OpenSSL :

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

Etape 2 : Publier la cle publique dans le DNS

Creez un enregistrement TXT dans votre zone DNS avec le nom selecteur._domainkey.votredomaine.com. Le selecteur est un identifiant libre (ex: "google", "selector1", "mail") :

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

Etape 3 : Configurer le serveur d'envoi

Configurez votre serveur de messagerie ou service d'envoi pour signer les emails sortants avec la cle privee. Chez les fournisseurs cloud, cette etape se resume generalement a un bouton "Activer DKIM" dans la console d'administration.

Etape 4 : Verifier la configuration

Envoyez un email de test et verifiez les en-tetes pour confirmer la presence d'un en-tete DKIM-Signature valide. Utilisez notre outil de verification gratuit pour valider que l'enregistrement DNS est correctement publie.

Etape 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 selecteur distinct. Par exemple : google._domainkey pour Google Workspace et brevo._domainkey pour Brevo.

Erreurs courantes a eviter

1. Utiliser des cles RSA trop courtes

Les cles RSA de 1024 bits sont desormais considerees comme faibles. Utilisez des cles de 2048 bits minimum. La plupart des fournisseurs modernes utilisent deja cette taille par defaut.

2. Ne pas faire tourner les cles regulierement

Les cles DKIM devraient etre changees (rotation) au moins tous les 6 a 12 mois. Gardez l'ancienne cle publique dans le DNS pendant quelques jours apres la rotation pour que les emails en transit puissent encore etre verifies.

3. Erreur de formatage de la cle publique

Certains registrars coupent les enregistrements TXT longs. Assurez-vous que votre cle publique est complete et correctement formatee. La valeur ne doit contenir aucun espace ni saut de ligne indesire.

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 verification DMARC.

5. Ne pas tester apres 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 systematiquement avec un email de verification.

Questions frequentes sur le DKIM

Quelle est la difference entre SPF et DKIM ?

SPF verifie que le serveur d'envoi est autorise a envoyer pour votre domaine (verification de l'IP). DKIM verifie que le contenu de l'email n'a pas ete modifie et qu'il est bien signe par votre domaine (verification cryptographique). Les deux sont complementaires : 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 necessaire. Chaque service d'envoi utilise un selecteur different, ce qui cree des enregistrements DNS distincts. C'est la pratique recommandee.

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

L'impact sur les performances est negligeable. La signature cryptographique prend quelques millisecondes par email. Cote reception, la verification DKIM ajoute une requete DNS et un calcul de hash, mais cela n'a aucun impact perceptible pour l'utilisateur final. Les benefices en termes de delivrabilite et de securite depassent largement ce cout minimal.

Verifiez votre domaine gratuitement

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

Tester mon domaine

Guides complementaires