Aller au contenu principal

DKIM

DKIM (DomainKeys Identified Mail) est une méthode d'authentification d'e-mails qui ajoute une signature cryptographique aux en-têtes des messages sortants, permettant aux serveurs de réception de vérifier que le message provient bien du domaine annoncé et n'a pas été altéré pendant le transit.

Définition

DKIM (DomainKeys Identified Mail) est une spécification d’authentification d’e-mails qui utilise la cryptographie à clé publique pour signer les messages sortants, permettant aux serveurs de réception de confirmer que l’e-mail provient bien du domaine annoncé et que le corps du message ainsi que les en-têtes sélectionnés n’ont pas été modifiés pendant le transit. Le domaine signataire publie sa clé publique dans le DNS ; les serveurs de réception récupèrent cette clé et l’utilisent pour vérifier la signature intégrée à l’en-tête DKIM-Signature.

DKIM est issu de deux propositions antérieures qui se chevauchaient — DomainKeys de Yahoo et Identified Internet Mail de Cisco — et a été publié pour la première fois sous la RFC 4871 de l’IETF en 2007. La spécification de référence actuelle est la RFC 6376, publiée en septembre 2011 et mise à jour par les RFC 8301 (2018) et 8463 (2018) qui imposent des algorithmes cryptographiques plus robustes. DKIM est largement déployé dans l’écosystème du courrier électronique et constitue un composant requis pour qu’une politique DMARC apporte une protection significative.

Comment cela fonctionne

Lorsque le serveur de messagerie d’une organisation envoie un message, le module de signature DKIM (intégré aux MTA tels que Postfix, Exim, Microsoft Exchange, ou fourni en service par les fournisseurs de messagerie transactionnelle SendGrid, Mailgun, Amazon SES, Postmark) effectue les opérations suivantes.

Le signataire sélectionne un sous-ensemble d’en-têtes à inclure dans la signature — typiquement From, To, Subject, Date et Content-Type — et les canonise selon l’un des deux algorithmes définis : simple (normalisation minimale des espaces) ou relaxed (plus permissif, tolérant de légères réécritures d’en-tête en transit). Le corps du message est canonisé de la même manière et haché en SHA-256 (algorithme imposé depuis que la RFC 8301 a déprécié SHA-1). Le signataire calcule ensuite une signature numérique RSA ou Ed25519 sur le hash d’en-tête et une chaîne structurée de métadonnées de signature, et insère un en-tête DKIM-Signature au-dessus du message.

L’en-tête DKIM-Signature contient : v=1 (version), a=rsa-sha256 (algorithme), d=example.com (domaine signataire, balise d=), s=selector1 (sélecteur, utilisé pour récupérer la clé publique spécifique), h=from:to:subject (en-têtes signés), bh=<hash du corps>, et b=<signature en base64>.

Le propriétaire du domaine publie la clé publique correspondante à <sélecteur>._domainkey.<domaine> sous forme d’enregistrement DNS TXT. Lorsque Gmail, Outlook, Yahoo Mail ou tout MTA conforme à la RFC 6376 reçoit le message, il interroge le DNS pour cet enregistrement, récupère la clé publique et vérifie la signature. Une signature valide produit un résultat DKIM pass. Une signature manquante ou invalide, ou toute modification des en-têtes ou du corps signés en transit, produit un résultat fail ou neutral, transmis au moteur d’évaluation DMARC.

Les sélecteurs (balise s=) permettent à un domaine de publier plusieurs clés DKIM simultanément — utile pour faire tourner les clés sans interruption de service, ou pour isoler les clés entre différents systèmes d’envoi (par exemple marketing._domainkey.example.com versus transactional._domainkey.example.com).

Où vous le rencontrez

DKIM est une exigence fondamentale de délivrabilité pour tout service dépendant du courrier électronique. Les fournisseurs de messagerie transactionnelle tels qu’Amazon SES, SendGrid (filiale de Twilio), Mailgun (filiale de Sinch), Postmark et SparkPost intègrent la signature DKIM comme étape de configuration obligatoire lors de la vérification du domaine. Le fournisseur génère une paire de clés RSA-2048 ou Ed25519, affiche la clé publique sous forme d’enregistrement DNS TXT et invite le propriétaire du domaine à la publier avant d’autoriser l’envoi.

Pour les plateformes de concours qui envoient des votes par confirmation d’e-mail, la signature DKIM est particulièrement importante car les e-mails de confirmation doivent passer les contrôles d’authentification appliqués par les principaux fournisseurs de boîtes — Google Workspace / Gmail, Microsoft Outlook et Exchange Online Protection, Yahoo Mail, Apple iCloud Mail, ProtonMail. Les messages non signés ou dont les signatures échouent ont bien plus de chances d’être livrés en spam ou bloqués entièrement, empêchant les votants de confirmer leur participation.

Des outils de test e-mail comme Mail-Tester, GlockApps et MXToolbox DKIM Lookup permettent aux expéditeurs d’inspecter et de valider leur configuration DKIM avant l’envoi en production. Google Postmaster Tools et Microsoft SNDS fournissent des données agrégées de délivrabilité reflétant les taux de pass DKIM dans le temps.

Exemples concrets

Une plateforme de concours configurée avec un sélecteur DKIM s=contest pour le domaine votes.example.com publie la clé publique à contest._domainkey.votes.example.com. Chaque e-mail de confirmation sortant porte un en-tête DKIM-Signature signé avec la clé privée correspondante. Lorsque le compte Gmail d’un votant reçoit le message, le filtre entrant de Gmail interroge le DNS, vérifie la signature, enregistre un pass et transmet le résultat à son classifieur antispam. Le pass DKIM confirmé, combiné à l’alignement SPF, satisfait les conditions de conformité DMARC.

Un administrateur de concours en France migre d’une clé RSA 1024 bits (jugée cryptographiquement insuffisante) vers une clé RSA 2048 bits après lecture de la RFC 8301. L’ancien sélecteur reste actif pendant sept jours pour couvrir les messages en transit, puis est retiré du DNS. Tous les nouveaux messages utilisent le sélecteur et la clé mis à jour.

Concepts liés

DKIM travaille de concert avec Enregistrement SPF — qui authentifie l’adresse IP du serveur d’envoi — et DMARC — qui définit une action de politique et un mécanisme de reporting basés sur les résultats SPF et DKIM. Les deux signaux doivent être compris ensemble ; passer DKIM seul ne rend pas un message conforme DMARC si le domaine d= ne s’aligne pas avec le domaine RFC5322.From. Pour le contexte des opérations de concours, les conséquences pratiques d’un échec DKIM sont expliquées dans Vote par confirmation d’e-mail, où le placement en boîte de réception du message de confirmation détermine directement si un vote est comptabilisé.

Du blog — guides & études de cas

Guides pratiques, analyses techniques et études de cas anonymisées.60+ articles. Sélection tourne.

Victor Williams — founder of Buyvotescontest.com
Victor Williams
En ligne · réponse en 5 min

Salut — envoie l'URL de ton concours, je te chiffre dans l'heure. Pas besoin de carte.