Domain Keys Identified Mail (DKIM) est l'une des méthodes d'authentification utilisées par les opérateurs de messagerie permettant de déterminer l'identité d'un expéditeur. Un opérateur de messagerie collecte les données de l'expéditeur en fonction de la signature DKIM dans le cadre de sa méthode pour établir la réputation et la fiabilité d'un expéditeur.
L'authentification de l'identité d'un expéditeur à l'aide du protocole DKIM requiert la participation à la fois de l'expéditeur et de l'opérateur de messagerie. Chaque message envoyé à un abonné doit contenir une signature DKIM valide. L'opérateur de messagerie doit ensuite vérifier cette signature sur chaque email afin de déterminer si celle-ci est valide.
Processus de signature et de vérification DKIM
The signing process (initiated by the sender):
- L'expéditeur publie un DKIM record pour le domaine d'envoi.
- À l'aide de techniques cryptographiques, un expéditeur génère une clé publique dans le DNS à laquelle un opérateur de messagerie peut accéder, et une clé privée qui est stockée. La clé privée n'est partagée avec personne, pas même l'opérateur de messagerie.
- À l'aide de cette clé privée, le système d'envoi crée une signature DKIM, puis l'en-tête de signature DKIM contenant la signature est inséré dans l'en-tête de chaque message.
Le processus de vérification (effectué par l'opérateur de messagerie) :
- Le serveur de l'opérateur de messagerie accepte le message et recherche la signature DKIM.
- Le serveur de l'opérateur de messagerie contrôle la clé publique pour le domaine dans le DNS et tente de la faire correspondre à la signature DKIM créée à l'aide de la clé privée.
- Lorsque l'opérateur de messagerie a terminé le processus de vérification, il insère le résultat dans un en-tête « Authentication-Results » pour chaque message.
- Par exemple : Authentication-Results: example.domain.com; spf=pass smtp.mailfrom=domain.com; dkim=pass header.i=@domain.com
Résultats de vérification DKIM
- None : le message ne contient pas de signature DKIM et l'opérateur de messagerie n'a rien à vérifier.
- Pass : le message contient une signature DKIM et a passé le contrôle de vérification de l'opérateur de messagerie.
- Fail : le message contient une signature DKIM, mais une erreur a causé l'échec de la vérification. Ce résultat peut signifier que le message a été modifié lors de la remise ou qu'il y a une erreur importante dans la configuration du DKIM record sur le serveur de l'expéditeur, telle qu'une version ou un type de clé inconnu(e).
- Policy : le message contient une signature DKIM, mais celle-ci n'est pas acceptable pour l'opérateur de messagerie. Ceci peut signifier que la clé DKIM est trop courte.
- Neutral : le message peut contenir ou non une signature DKIM. S'il y a une signature DKIM, il est probable qu'une erreur de syntaxe ait empêché la vérification du message. Ceci peut également signifier qu'une erreur est survenue sans toutefois fournir d'informations complémentaires.
- Temperror : le message contient une signature DKIM, mais a rencontré une erreur qui est probablement temporaire. Cependant, recevoir constamment cette erreur peut signifier qu'il existe une erreur dans le processus de récupération de la clé publique.
- Permerror : le message contient une signature DKIM, mais le message ne peut pas être vérifié en raison d'une erreur permanente. Les tentatives de vérification futures seront un échec. Ceci peut signifier qu'il manque un champ d'en-tête obligatoire.