[ DKIM ]

Lire un en-tête DKIM-Signature sans confondre ses champs

Décodez les champs de signature par objectif, tout en séparant l'inspection syntaxique de la vérification.

Par l’équipe de recherche EmailAuth · 3 minutes de lecture

[ Points clés ]

  • Séparez les valeurs d’identité, d’algorithmes, de couverture et de signature.
  • Les balises de version et de date ont des exigences normatives distinctes.
  • Utilisez une vérification fiable plutôt qu’une inspection visuelle.
Sur cette page

A DKIM-Signature est un ensemble de balises séparées par des points-virgules décrivant comment un domaine a signé un message. La lecture de ces champs vous aide à choisir le bon chemin de recherche DNS et d’enquête. Il ne vous permet pas de valider la cryptographie à l'œil nu. Conservez le message original avant de copier ou de reformater une signature pour inspection.

Commencez par les champs de recherche et d'algorithme

La valeur d= requise est le domaine de signature ; requis s= est le sélecteur. Avec la méthode de requête DNS TXT normale, celles-ci conduisent à s. _domainkey.d. La balise a= identifie l'algorithme de signature et de hachage. La balise v= requise doit avoir la valeur 1 pour la syntaxe de signature RFC 6376 . Cela diffère de la balise de version dans un enregistrement de clé DNS . Ces valeurs décrivent la signature, et non le résultat de sa vérification. RFC 6376 §3.5, RFC 6376 §3.6.2.

Fragment illustratif, volontairement incomplet et non valable : d=example.com; s=outbound2026; a=rsa-sha256; c=relaxed/relaxed; h=from:to:subject:date. Son nom de recherche est outbound2026._domainkey.example.com . C'est canonisation utilise un traitement détendu pour les en-têtes et le corps. Sa liste d'en-têtes signés nomme les champs d'en-tête sélectionnés. Le fragment omet les valeurs cryptographiques requises et ne doit jamais être utilisé comme enregistrement de production.

Distinguer la couverture du contenu des données de signature

La balise h= répertorie les champs d'en-tête fournis à l'opération de signature, dans leur ordre défini. Ce n'est pas un algorithme de hachage. From doit être inclus dans une signature DKIM valide. Les noms d'en-tête répétés et les champs de message en double nécessitent les règles de sélection de la spécification ; un simple coup d’œil à la liste ne peut pas résoudre toutes les questions de couverture.

La balise bh= contient le hachage du corps. La balise b= contient la valeur de signature. Les codages correspondants ou apparemment plausibles ne prouvent pas la validité. La balise c= décrit la canonisation, qui permet une normalisation spécifique de la représentation signée. Il ne permet pas la réécriture arbitraire d'un message. Si c= est omis, la valeur par défaut est simple/simple ; si un seul algorithme est nommé, il s'applique aux en-têtes et le corps est par défaut simple. RFC 6376 §3.4, RFC 6376 §3.5, RFC 6376 §5.4.

La balise facultative l= limite le nombre d’octets de corps canonisés inclus. Sa présence nécessite de la prudence : une signature valide ne peut pas couvrir le contenu ajouté au-delà de cette longueur. Ne décrivez pas chaque DKIM passer comme preuve que chaque octet visible est inchangé. RFC 6376 §3.5, RFC 6376 §8.2.

Interpréter soigneusement l’identité et le temps

La valeur facultative i= est un identifiant d'agent ou d'utilisateur revendiqué selon les règles du domaine signataire ; ce n'est pas nécessairement une boîte aux lettres qui fonctionne. DMARC utilise d=, et non i=, pour DKIM alignement. Les balises t= et x= décrivent l'heure de signature et l'expiration de la signature. RFC 6376 §3.5 marque formellement les deux RECOMMANDÉS, bien qu'ils puissent être absents. Il s'agit de métadonnées de signature et non de preuves de l'heure d'arrivée réelle SMTP . Conservez les en-têtes reçus et les journaux système pour l’analyse du transit.

Une signature utilisant une cryptographie obsolète ne doit pas être acceptée simplement parce que ses champs sont analysés. RFC 8301 §3.1 interdit rsa-sha1 ; RFC 8301 §3.2 met à jour les exigences clés RSA. Utilisez un logiciel de vérification pris en charge et les conseils actuels du fournisseur plutôt que de mettre en œuvre manuellement ces vérifications à partir de ce guide de terrain.

Terminez avec le résultat du récepteur

Collectez la paire d/s, l'algorithme, les champs de couverture pertinents, le résultat DKIM fiable et la raison de l'échec. Si DNS est manquant, recherchez le nom exact du propriétaire et le cycle de vie de la clé. Si la clé est disponible mais que la vérification échoue, comparez les chemins de signature et de livraison sans modifier la preuve originale. Confirmez toute correction avec un message nouvellement envoyé et un résultat de destinataire fiable. L’objectif est une explication défendable d’une signature, et non une supposition visuelle de réussite ou d’échec.

Appliquer la distinction

Lisez le fragment illustratif en quatre groupes : d/s sélectionne l'identité et la recherche ; a/c spécifie l'algorithme et la canonisation ; h et tout l définissent la couverture ; b/bh portent des valeurs que le logiciel vérifie. Le v/b/bh requis manquant signifie que le fragment n’est pas une signature valide. Si l=0 apparaît dans une signature réelle, aucun octet de corps n'est haché, donc l'intégrité du corps n'est pas protégée ; RFC 6376 §3.5 définit ce mécanisme de longueur. Aucune de ces observations n’est une passe cryptographique.

[ Emporter ]

Séparez les valeurs d’identité, d’algorithmes, de couverture et de signature. Les balises de version et de date ont des exigences normatives distinctes. Utilisez une vérification fiable plutôt qu’une inspection visuelle.

[ Par rôle ]

Qu'est-ce que cela signifie pour vous

Choisissez votre rôle pour les prochaines étapes pratiques.

Administrateur informatique/courrier

Conserver les octets du message d'origine.

Conservez l'analyse syntaxique, la récupération DNS , la vérification cryptographique et l'alignement DMARC comme étapes de diagnostic distinctes. Conservez les octets d’origine avant d’étudier la canonisation ou les champs en double.

Prochaines étapes

  1. Conserver les octets du message d'origine.
  2. Étapes distinctes de recherche, de couverture et de vérification.
  3. Retestez le courrier nouvellement envoyé après une correction.

RSSI / SecOps

Examinez les limites de longueur du corps lorsqu’elles sont présentes.

Faites attention à la portée du contenu signé, aux algorithmes hérités et aux en-têtes de résultats non fiables. Une signature valide est aussi utile que l’identité et la couverture qu’elle établit.

Prochaines étapes

  1. Examinez les limites de longueur du corps lorsqu’elles sont présentes.
  2. Rejetez les algorithmes de signature obsolètes.
  3. La confiance ne comprenait que les limites des résultats d’authentification.

Fondateur / Non technique

Demandez quel champ explique le défaut actuel.

Utilisez l’inspection sur le terrain pour poser des questions précises à l’équipe de courrier. Le résultat commercial est la vérification de la signature sur les itinéraires importants, et non la mémorisation des noms de balises.

Prochaines étapes

  1. Demandez quel champ explique le défaut actuel.
  2. Exigez un résultat vérifié plutôt qu’une supposition visuelle.
  3. Donnez la priorité à la signature sur les routes commerciales critiques.

[ FAQ ]

Questions fréquemment posées

Est-ce que h= l'algorithme de hachage ?

Non. Dans DKIM-Signature il répertorie les champs d'en-tête signés. La balise a= identifie la signature et l'algorithme de hachage.

RFC 6376 §3.5

Quelle est la différence entre b= et bh=?

b= contains the signature value; bh= contains the canonicalised body hash, subject to any l= limit.

RFC 6376 §3.5 RFC 6376 §3.7

Et si c= manque ?

La valeur par défaut est simple/simple. Un seul algorithme nommé s'applique aux en-têtes, le simple étant utilisé pour le corps.

RFC 6376 §3.5

Une canonisation assouplie permet-elle de réécrire le message ?

Non. Il définit des règles de normalisation particulières, et non des modifications de contenu arbitraires.

RFC 6376 §3.4

Pourquoi l= vaut-il la peine d'être vérifié ?

Il peut limiter le nombre d'octets de corps couverts, laissant le contenu ajouté en dehors du hachage du corps. Étudiez cette portée avant de revendiquer l’intégrité complète du contenu.

RFC 6376 §3.5 RFC 6376 §8.2

Est-ce que i= la boîte aux lettres vérifiée de l'expéditeur ?

Pas nécessairement. Il s'agit d'un identifiant facultatif dont le signataire définit la sémantique, et DMARC ne l'utilise pas pour l'alignement DKIM .

RFC 6376 §3.5 RFC 9989 §4.4.1

Puis-je coller le fragment illustratif dans DNS ?

Non. Il s’agit d’un fragment d’en-tête de message incomplet, et non d’un enregistrement de clé publique ou d’une signature déployable.

Une signature lisible peut-elle utiliser un algorithme inacceptable ?

Oui. Le succès de l’analyse n’établit pas l’acceptabilité cryptographique. Appliquer les exigences actuelles, y compris l'interdiction de rsa-sha1.

RFC 8301 §3.1

[ Sources ]

Sources

  1. RFC 6376

    Sections §1 · §3.1 · §3.4 · §3.5 · §3.6.2.1 · §3.7 · §5.4 · §5.4.2 · §8.2

  2. RFC 8301

    Sections §3.1 · §3.2

  3. RFC 9989

    Sections §4.4 · §4.4.1

[ Glossaire ]

Glossaire

DKIM
Une signature associée au domaine sur le contenu du message sélectionné, vérifiée à l'aide de données de clé publique.

RFC 6376 §1

Sélecteur
La valeur s utilisée avec le domaine de signature d pour localiser les données de vérification.

RFC 6376 §3.1 RFC 6376 §3.5

Alignement DMARC
La relation requise entre un identifiant authentifié et le domaine de l'auteur.

RFC 9989 §4.4

Provenance de l'entreprise

Pourquoi les principales institutions financières et gouvernements ont retiré leurs tableaux de bord de sécurité de messagerie.

Les plateformes traditionnelles d'authentification de courrier électronique vous vendent un tableau de bord et demandent à vos ingénieurs de faire le travail. Dans les environnements à enjeux élevés, la surveillance manuelle entraîne des retards dans l’application, des dérives de configuration et des domaines fantômes non surveillés.

EmailAuth est la plateforme agent de provenance des e-mails. Nos agents appliquent p=reject, gardez les expéditeurs tiers alignés et déplacez vos domaines au maximum RFC 9989 conformité, la nouvelle norme DMARC , avec une auditabilité humaine dans la boucle.

Gouvernements Grandes entreprises Institutions financières de premier rang

SaaS · Location dédiée · Air-gappé sur site · Chiffrement BYOK

Base de connaissances