Validation DKIM : une meilleure pratique d'authentification des emails
·
8 avr. 2017

Points Clés
DKIM (DomainKeys Identified Mail) est une méthode d'authentification de courrier électronique basée sur le contenu qui vérifie si un message a été altéré après avoir été signé.
Contrairement à SPF, qui valide le chemin d'envoi, DKIM valide le contenu du message lui-même en utilisant des signatures cryptographiques.
DKIM utilise deux clés : une clé privée pour signer les messages sortants et une clé publique publiée dans DNS pour que les récepteurs puissent valider les signatures.
Une signature DKIM inclut des hachages à la fois des en-têtes et du corps, des sélecteurs, des horodatages et des champs d'identité — que le récepteur doit reproduire et vérifier.
La validation DKIM repose sur la réception de l'intégralité du message en premier, ce qui signifie que des échecs peuvent survenir tard dans le processus.
Le dépannage des validations DKIM échouées est souvent difficile car les expéditeurs et les récepteurs ne peuvent pas reproduire les environnements de signature/vérification des uns et des autres.
Même lorsque DKIM échoue, cela ne cause généralement pas directement de problèmes d'acheminement vers la boîte de réception à moins d'être combiné avec d'autres signaux de mauvaise réputation.
Points forts des Q&A
Que fait réellement DKIM ?
DKIM ajoute une signature cryptographique à un e-mail, permettant au serveur destinataire de confirmer si le contenu du message a été modifié après son envoi.
Comment DKIM est-il différent de SPF ?
SPF valide qui est autorisé à envoyer du courrier pour un domaine (basé sur le chemin).
DKIM valide si le contenu est intact (basé sur le contenu).
Les deux ont des objectifs différents et se complètent mutuellement.
Qu'est-ce qui se trouve dans un en-tête DKIM-Signature ?
Les champs clés incluent :
v= version
a= algorithme
c= règles de canonicalisation
d= domaine de signature
s= sélecteur
h= en-têtes inclus dans la signature
bh= hachage du corps
b= données de signature réelles
Chaque partie contribue à la façon dont la signature est validée.
Comment un serveur récepteur valide-t-il DKIM ?
Extrait les valeurs d= et s=.
Recherche la clé publique à :
Régénère les hachages de l'en-tête et du corps.
Les compare aux valeurs bh= et b= dans l'e-mail.
S'ils correspondent, le message passe DKIM.
Quelles sont les causes de l'échec du DKIM ?
Message modifié en transit (même les changements d'espacement si vous utilisez une canonisation stricte)
Clé publique incorrecte ou manquante dans le DNS
Erreurs de formatage DNS
Sélecteur supprimé ou tourné incorrectement
Identités incompatibles (i= doit être le même domaine ou sous-domaine de d=)
Pourquoi les échecs DKIM peuvent-ils être difficiles à résoudre ?
Parce que le signataire et le validateur opèrent dans des environnements complètement différents — aucune des deux parties ne peut reconstruire les conditions de hachage ou l'état de signature de l'autre.
Cela rend les échecs opaques de "défaut de correspondance de hachage" les plus frustrants à diagnostiquer.
Un échec DKIM signifie-t-il que l'email ira dans les spams ?
Pas nécessairement.
DKIM est juste un signal. Si le domaine a une bonne réputation et passe d'autres vérifications (SPF, alignement DMARC, faibles taux de plaintes), les échecs de DKIM isolés n'ont généralement pas d'impact sur l'inboxing par eux-mêmes.
Pourquoi utiliser DKIM du tout?
Protège l'intégrité des messages
Construit la réputation de domaine
Permet l'alignement DMARC
Aide les fournisseurs de boîtes à distinguer les expéditeurs légitimes des usurpateurs
DKIM est considéré une bonne pratique pour tous les expéditeurs d'email sérieux.
Lorsque nous parlons d'« Email Authentication », nous faisons référence à une technique qui offre au destinataire d'un message un certain niveau de certitude que le message provient effectivement de la source revendiquée du message. L'idée derrière de telles techniques est d'atteindre un certain niveau de défense contre les emails frauduleux, tels que le phishing et l'usurpation, des courriels qui pourraient éroder la confiance du destinataire dans la réception des emails. Cela dit, l'envoi d'un email authentifié n'affirme pas que l'email est bon ou souhaité ; cela signifie seulement que le courrier est tel qu'une réputation pour la partie authentifiée peut être établie de manière fiable et utilisée dans les décisions d'acceptation et de placement des emails.
Il existe aujourd'hui deux formes d'authentification des emails :
Sender Policy Framework (SPF)
Domain Keys Identified Mail (DKIM)
Dans l'article d'aujourd'hui, je vais couvrir ce qu'est DKIM et comment cela fonctionne.
Présentation de DKIM
Contrairement à son homologue d'authentification SPF, qui fournit un moyen pour un domaine d'autoriser un hôte à envoyer du courrier en son nom, DKIM offre un moyen pour une entité (domaine, organisation, personne, etc.) de prendre la responsabilité d'un message, indépendamment de l'entité qui a effectivement envoyé le message. Bien que dans de nombreux cas l'entité responsable et l'entité expéditrice soient les mêmes, ou du moins étroitement liées, avec DKIM, il n'y a aucune obligation que ce soit ainsi.
Mes objectifs pour vous avec ce post sont que vous appreniez et compreniez les concepts suivants concernant DKIM :
DKIM est une authentification « basée sur le contenu », contrairement à SPF qui est « basé sur le chemin ».
L'entité responsable affirme sa responsabilité en « signant » le message avec une paire de hachages cryptographiques insérés dans un en-tête de message.
La validation DKIM est effectuée par le domaine récepteur qui tente de générer les deux mêmes hachages.
La validation DKIM ne peut être complétée dans de nombreux cas que lorsque le message complet a été transmis par le serveur expéditeur.
Les échecs de validation peuvent être difficiles à dépanner.
“Content-Based” Authentication
DKIM est considéré comme une authentification « basée sur le contenu », plutôt que « basée sur le chemin », car le passage ou non de la validation DKIM dépend uniquement de savoir si le contenu a changé entre le moment où il a été signé et le moment où la validation a été tentée.
DKIM Signing et Validation
Les organisations souhaitant signer les mails avec DKIM généreront d'abord deux clés cryptographiques. L'une des clés est gardée privée et disponible pour le serveur d'envoi afin de signer les mails, et l'autre doit être rendue publique dans le DNS pour être utilisée par les domaines récepteurs dans les tentatives de validation de la signature. Les méthodes de génération de ces clés et de leur installation dépendent de la plateforme et ne sont pas couvertes par cet article, bien que plus tard, je décrirai la publication de la clé DKIM publique dans le DNS.
L'en-tête DKIM-Signature
DKIM Validation
Échec de validation et dépannage
J'ai mentionné plus haut que les échecs DKIM peuvent être difficiles à résoudre, et je vais expliquer pourquoi ici.
Certains échecs de validation DKIM ont des causes évidentes, comme le fait que le message n'est pas signé, ou que la clé publique du domaine de signature n'est pas trouvée dans le DNS ou n'est pas syntaxiquement correcte, ou peut-être que le message a été manifestement altéré en transit. Lorsque ces types d'échecs se produisent, il est facile de comprendre le problème et de recommander une solution. Les plus difficiles, cependant, et ceux qui conduisent à l'expérience de support la plus frustrante, sont les cas où le message a été signé, la clé publique existe dans le DNS, et le message n'a pas été manifestement altéré, mais le validateur rapporte que la signature n'a pas réussi à valider.
La raison pour laquelle ils sont difficiles à résoudre tient au fait qu'il n'existe pas de moyen réel pour les deux parties de reproduire les conditions dans lesquelles le message a été signé et validé. Le message a, dans son en-tête DKIM-Signature, les hachages qui ont été générés par le signataire au moment de la signature, mais le validateur n'a probablement pas accès à l'infrastructure du signataire et ne peut donc pas essayer de reproduire la signature dans les conditions du signataire. De même, le signataire n'a probablement pas accès à l'infrastructure du validateur et n'a donc aucun moyen de tenter de valider le message de la manière dont le validateur l'a fait.
Les échecs comme ceux que je décris ici sont rares, et les échecs de validation DKIM en eux-mêmes n'ont généralement pas d'impact sur le placement de livraison. Bien que DKIM gère l'authentification des messages, mettre en œuvre des techniques de validation complète des emails garantit que vous envoyez à des adresses légitimes qui peuvent réellement recevoir et authentifier vos messages. Cela a été mon expérience que ces échecs génèrent plus de tickets de support que tout autre type de problème DKIM.



