← RFC Reference

ARC — Chaîne de réception authentifiée

Authentification par e-mail Published March 2026
ELI5: Imaginez un formulaire de chaîne de responsabilité pour des preuves. Chaque personne qui manipule les preuves signe le formulaire et enregistre son état au moment de la réception. Même si les preuves changent légèrement lors de la manipulation, le destinataire final peut retracer la chaîne pour vérifier qu'elle a commencé dans un état vérifié et a été manipulée uniquement par des parties de confiance. ARC fait la même chose pour les résultats d'authentification des e-mails au fur et à mesure qu'un message passe par les intermédiaires.

Pourquoi cette RFC existe

Le réacheminement d'e-mails est le talon d'Achille de SPF et DKIM. Quand un message est réaché par une liste de diffusion, un alias ou une règle .forward :

Quand SPF et DKIM échouent tous les deux à la destination finale, DMARC échoue aussi, et le message peut être rejeté ou mis en quarantaine — même s'il a été légitimement envoyé et réaché par une infrastructure de confiance.

ARC (Authenticated Received Chain), défini dans RFC 8617, résout cela en permettant à chaque intermédiaire d'enregistrer un instantané des résultats d'authentification qu'il a observés, puis de signer cet instantané. Le destinataire final peut examiner la chaîne pour déterminer que le message a été authentifié au point d'origine, même si les contrôles SPF et DKIM directs échouent maintenant.

Comment cela fonctionne

Les trois ensembles d'en-têtes ARC

Chaque intermédiaire qui traite un message ajoute un ensemble de trois en-têtes, numérotés avec un compteur d'instance (i=) qui s'incrémente à chaque saut :

En-tête Objectif
ARC-Authentication-Results (AAR) Enregistre les résultats d'authentification (SPF, DKIM, DMARC) tels qu'observés par cet intermédiaire. Suit le même format que l'en-tête Authentication-Results standard.
ARC-Message-Signature (AMS) Une signature de type DKIM sur les en-têtes et le corps du message tels que vus par l'intermédiaire. Utilise la même syntaxe de signature que DKIM.
ARC-Seal (AS) Une signature sur tous les ensembles d'en-têtes ARC précédents plus l'AAR actuel. Cela scelle la chaîne, empêchant quiconque de falsifier ou de réordonner les entrées précédentes.

Exemple de chaîne de responsabilité

# Message original de alice@example.com
# SPF : pass, DKIM : pass, DMARC : pass

# Saut 1 : Liste de diffusion sur lists.org reçoit le message
ARC-Authentication-Results: i=1; lists.org;
dkim=pass header.d=example.com;
spf=pass smtp.mailfrom=example.com;
dmarc=pass header.from=example.com
ARC-Message-Signature: i=1; a=rsa-sha256; d=lists.org; s=arc; ...
ARC-Seal: i=1; a=rsa-sha256; d=lists.org; s=arc; cv=none; ...

# lists.org ajoute un pied de page, modifie Subject, renvoie
# La signature DKIM originale est maintenant invalide (corps modifié)
# SPF référence maintenant l'IP de lists.org, pas example.com

# Saut 2 : Destination finale mx.receiver.com
Vérification DKIM directe : ÉCHOUE (corps modifié par la liste)
Vérification SPF directe : ÉCHOUE (IP est lists.org, pas example.com)
Vérification DMARC directe : ÉCHOUE (aucun aligné)

Validation de la chaîne ARC :
i=1 ARC-Seal : valide (signé par lists.org)
i=1 AAR : dkim=pass, spf=pass, dmarc=pass sur lists.org
Verdict de la chaîne : cv=pass
Le destinataire fait confiance à lists.org => annule l'échec DMARC

Détails techniques clés

La validation de la chaîne (cv) - Balise

L'en-tête ARC-Seal inclut une balise cv= (chain validation) avec l'une de trois valeurs :

ARC et annulation DMARC

ARC ne remplace pas DMARC. Au lieu de cela, il fournit des informations supplémentaires qu'un destinataire peut utiliser pour prendre une décision d'annulation DMARC. La logique du destinataire pourrait être :

  1. Vérifier DMARC directement. S'il passe, livrer normalement.
  2. Si DMARC échoue, vérifier la chaîne ARC. Si la chaîne est valide (cv=pass) et le destinataire fait confiance aux intermédiaires de la chaîne, annuler l'échec DMARC.
  3. Si la chaîne ARC est invalide ou les intermédiaires ne sont pas de confiance, appliquer la politique DMARC comme d'habitude.

La décision de faire confiance à un intermédiaire est une politique locale. Gmail, par exemple, entretient une liste de signataires ARC de confiance (principaux fournisseurs de listes de diffusion, systèmes de messagerie universitaires, etc.).

Exigences de signature

Les signatures ARC utilisent le même format cryptographique que DKIM (RSA-SHA256 ou Ed25519). Le domaine de signature publie sa clé publique ARC en DNS à un sélecteur sous _domainkey, identique à la publication de clé DKIM :

arc._domainkey.lists.org. IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEB..."

Numérotation des instances

Les ensembles ARC sont numérotés séquentiellement à partir de i=1. Chaque intermédiaire ajoute un ensemble avec le numéro suivant. Le destinataire final valide la chaîne en vérifiant tous les scellés dans l'ordre. Si un scellé échoue ou qu'une instance est manquante, la chaîne entière est invalide.

Ce qu'ARC ne fait pas

Erreurs courantes

Impact sur la délivrabilité

Related RFCs