SysFailure

Imprimer

DomainKeys, DKIM

.

Politique de signature du domaine d'émission

Dans la logique du principe de signature des messages, un message

  • qui porte une signature invalide ou
  • qui ne porte pas de signature, si le domaine d'émission signe tous ses messages.

devrait subir une pénalité. C'est le cas pour le premier point (selon les outils de vérification des signatures), mais pas pour le second. En effet, le serveur de destination ne sait pas, a priori, que le domaine associé à l'adresse de l'émetteur signe tous les messages qu'il émet. Un message non signé est donc accepté sans autre forme de procès, même si le domaine de l'émetteur signe tous les messages qu'il émet.

A l'évidence, il n'y a pas d'intérêt de mettre en place la signature à l'émission de tous vos messages si un message semblant venir de votre domaine, mais ne portant aucune signature DK/DKIM, est accepté par ses destinataires. Un serveur de messagerie doit donc, sur réception d'un message, pouvoir apprendre si le domaine d'émission est sensé signé tous ses messages ou non, et agir en conséquence.

La RFC 4870 (rendue obsolète par la RFC 4871) définissait, dans sa section 3.6 intitulée "Policy Statement of Sending Domain", la méthode suivant laquelle un domaine peut informer tous les serveurs de messagerie sur Internet de sa politique quant à la signature DK/DKIM des messages. Cette section a été retirée de la RFC 4871, une proposition de protocole étant tout récemment sortie de l'IETF (RFC 5016). Cette proposition a donné lieu à une suggestion quant au protocole de diffusion de la politique de signature DKIM d'un domaine.

Diffusion de la politique de signature, RFC 4870 [en voie d'obsolescence]

Selon la RFC 4870, il suffisait de définir un enregistrement TXT associé au sous-domaine _domainkey du domaine d'émission (par exemple, _domainkey.ba-cst.net) :

$ dig +short _domainkey.ba-cst.net txt
"t=y\; o=-"

Cet enregistrement servait à indiquer la politique de signature du dit domaine. Les valeurs de champs utilisables étaient (par ordre alphabétique) :

  • n : un commentaire libre.
  • o : ce champ vaut par défaut ~, ce qui signifie que certains messages peuvent être signés par DK/DKIM et pas d'autres, et donc que la présence d'un en-tête DKIM-Signature est optionnelle. La valeur - (le caractère moins) signifie que tous les messages émis par ce domaine sont signés par DK/DKIM, et donc que l'absence d'un en-tête DK/DKIM est une justification suffisante pour rejeter le message ou lui appliquer une lourde pénalité.
  • r : une adresse électronique vers laquelle seront dirigés des messages concernant la non-validation de signatures produites par le domaine en question.
  • t : des indicateurs d'état sur l'utilisation de DKIM par le domaine. La valeur y signifie que DKIM est en test.

Pour l'exemple précédent, la ressource signifie

  • que la signature DK/DKIM est en test pour le domaine ba-cst.net (t=y), et que
  • tous les messages émis par les serveurs de messagerie de ce domaine doivent être signés (o=-).

Diffusion de la politique de signature, draft RFC 5016

[A COMPLETER]