Télécharger

DKIM, SPF et DMARC

Comment FOLD vérifie lui-même les signatures DKIM et les combine avec les résultats SPF et DMARC de votre serveur de messagerie.

FOLD évalue un expéditeur à partir de deux sources : les résultats que votre propre serveur de messagerie a consignés à l’arrivée du message, et sa propre vérification DKIM. Les deux fonctionnent sur Mac, iPhone et iPad.

Les résultats de votre serveur

Les serveurs destinataires ajoutent un en-tête Authentication-Results avec leurs verdicts SPF, DKIM et DMARC. Un expéditeur peut lui aussi ajouter de tels en-têtes ; FOLD ne fait donc confiance qu’à un en-tête dont le nom de serveur correspond exactement au serveur IMAP de votre compte. Toutes les autres copies sont ignorées.

FOLD reprend SPF et DMARC de cet en-tête ; il n’évalue pas SPF lui-même. Si votre fournisseur écrit l’en-tête sous un autre nom que celui de son serveur IMAP, FOLD ne dispose d’aucun verdict SPF ni DMARC pour votre courrier et affiche l’état neutre décrit dans indicateurs.

La vérification DKIM propre à FOLD

Pour chaque DKIM-Signature d’un message, FOLD :

  1. Exige que l’en-tête From fasse partie des en-têtes signés.
  2. Recalcule l’empreinte du corps avec la canonisation de la signature (simple ou relaxed).
  3. Récupère la clé publique dans le DNS (selector._domainkey.domain).
  4. Vérifie la signature avec rsa-sha256 ou ed25519-sha256.

Sont refusées les signatures rsa-sha1, les clés RSA de moins de 1024 bits et les clés que le domaine a révoquées. Une signature émanant d’une clé marquée comme clé de test (t=y) n’est pas comptée comme réussie.

Comment les résultats se combinent

La vérification DKIM propre à FOLD peut confirmer ou durcir le verdict de votre serveur, jamais l’assouplir :

  • Une signature valide du domaine de l’expéditeur confirme DKIM.
  • Une signature invalide qui se réclame du domaine de l’expéditeur fait passer le message à Impossible de vérifier l’expéditeur, même si votre serveur a conclu autrement. Les listes de diffusion font exception, car elles modifient légitimement les messages.
  • Les erreurs DNS ou une clé manquante laissent le verdict de votre serveur inchangé et s’affichent comme non vérifiable.

DMARC est considéré comme aligné lorsque le domaine qui réussit correspond au domaine de l’expéditeur ou partage ses deux derniers libellés. FOLD n’utilise pas encore la Public Suffix List ; pour les domaines situés sous des suffixes comme co.uk, cette comparaison est donc trop permissive. Un message contenant plus d’un en-tête From est toujours traité comme une usurpation possible.

Quand la vérification a lieu

FOLD vérifie un message lorsqu’il télécharge pour la première fois le message complet : quand vous l’ouvrez, ou quand il charge à l’avance le message suivant. Le message s’affiche immédiatement ; le verdict suit un instant plus tard. Les requêtes DNS sont adressées au résolveur qu’utilise votre appareil.

Le résultat est enregistré avec le message. Si le DNS a échoué, FOLD réessaie la prochaine fois que vous ouvrez le message avec une connexion.