technique · réponse sourcée
L’en-tête de signature DKIM expliqué
L’en-tête de signature DKIM est un champ spécifique ajouté à un e-mail par le serveur d’envoi. Il contient un hash cryptographique du corps du message et de certains en-têtes, ce qui permet au serveur de messagerie destinataire de vérifier que l’e-mail a été autorisé par le propriétaire du domaine et n’a pas été modifié en transit.
Fonctionnement technique
Le serveur d’envoi utilise une clé privée pour créer une signature numérique du contenu de l’e-mail. Cette signature est insérée dans l’en-tête DKIM-Signature. Le serveur destinataire récupère la clé publique correspondante via un enregistrement TXT DNS. En déchiffrant la signature avec la clé publique et en comparant le hash obtenu à un nouveau hash du message reçu, le destinataire confirme que le message est authentique.
Pourquoi c’est important pour les expéditeurs
DKIM apporte un niveau de confiance que SPF ne peut pas offrir, car il résiste au transfert des e-mails. Il prouve que le contenu du message est resté intact et que le domaine indiqué dans la signature est bien l’expéditeur réel. Cela réduit le risque que les messages soient signalés comme spam ou usurpés, ce qui est essentiel pour maintenir une bonne réputation d’expéditeur.
Erreurs opérationnelles courantes
Une erreur fréquente consiste à ne pas inclure des en-têtes essentiels dans la signature, ce qui fait échouer la vérification si un relais modifie ces en-têtes. Autre problème courant : une rotation de clé ratée, où la clé privée est mise à jour sur le serveur alors que l’enregistrement DNS public reste obsolète. Vous pouvez utiliser les outils gratuits de SendHQ (https://sendhq.cc/tools) pour vérifier votre statut d’authentification actuel.
Exemple d’en-tête
Un en-tête typique ressemble à ceci : DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com; s=selector1; h=from:to:subject:date; bh=hash_of_body; b=digital_signature_value. La balise d indique le domaine, s précise le sélecteur de l’enregistrement DNS et bh contient le hash du corps.
Processus de vérification
À l’arrivée d’un message, le destinataire analyse l’en-tête DKIM-Signature pour trouver le domaine et le sélecteur. Il interroge le DNS pour obtenir la clé publique à selector._domainkey.example.com. Si le contrôle cryptographique réussit, le message est marqué DKIM-pass. Si le hash ne correspond pas ou si la clé est absente, le résultat est DKIM-fail ou neutral.
Les questions que posent les équipes
DKIM chiffre-t-il le corps de l’e-mail ?
Non, DKIM ne chiffre pas le contenu pour le rendre confidentiel. Il fournit une signature numérique qui garantit l’intégrité et l’authenticité : le contenu reste lisible, mais ne peut pas être modifié sans casser la signature.
Que se passe-t-il si une signature DKIM n’est pas valide ?
Une signature invalide peut amener le serveur destinataire à augmenter le score de spam de l’e-mail, voire à le rejeter complètement, selon la politique DMARC configurée par le propriétaire du domaine.
Un e-mail peut-il avoir plusieurs signatures DKIM ?
Oui, un e-mail peut comporter plusieurs signatures. C’est souvent le cas lorsqu’un message passe par une liste de diffusion ou un service de transfert qui ajoute sa propre signature tout en conservant l’originale.