DKIM
Qu'est-ce que DKIM ?
DKIMStandard d'authentification d'e-mail défini par le RFC 6376 qui permet à un domaine expéditeur d'apposer une signature cryptographique aux messages sortants, afin que les destinataires vérifient que les en-têtes et le corps n'ont pas été altérés.
DomainKeys Identified Mail (DKIM) est spécifié par le RFC 6376. Le Mail Transfer Agent expéditeur calcule un hash sur les en-têtes sélectionnés (choisis via la balise h=, typiquement From, Subject et Date) et sur le corps, le signe, puis ajoute un en-tête DKIM-Signature: indiquant le domaine signataire (d=) et le sélecteur (s=). Le destinataire récupère la clé publique depuis <sélecteur>._domainkey.<domaine> (un enregistrement DNS TXT) et vérifie la signature. Parce qu'il protège le contenu plutôt que le chemin de transport, DKIM survit à la plupart des transferts et fournit l'identifiant cryptographique sur lequel DMARC réalise l'alignement.
Défaillances observées sur le terrain
La longueur de clé n'est pas optionnelle. En 2012, le chercheur Zachary Harris a découvert que Google signait avec une clé RSA 512-bit factorisable ; il l'a cassée pour environ $75 de calcul dans le cloud et a envoyé une contrefaçon à Larry Page « de la part de » Sergey Brin. eBay, Yahoo, Twitter et Amazon partageaient la même faiblesse, et Google est passé au 2048-bit en quelques jours. Le RFC 8463 (2018) a ajouté l'algorithme Ed25519-SHA256, compact et rapide, mais de nombreux fournisseurs de messagerie ne valident encore que RSA ; les opérateurs publient donc les deux sous des sélecteurs distincts.
Un abus plus subtil est l'attaque par replay DKIM : comme DKIM ne transporte aucun historique de remise, un attaquant qui obtient un seul message valablement signé par un domaine à forte réputation peut le renvoyer à des milliers de victimes, la signature restant valide et empruntant ainsi la réputation du domaine. Les parades incluent l'oversigning des en-têtes critiques, l'abandon de la balise de longueur de corps l=, la définition d'une expiration via la balise x= et la rotation régulière des clés (selon les recommandations M3AAWG).
flowchart LR
A[MTA expediteur] -->|hash en-tetes+corps,<br/>signe avec cle privee| B[Ajoute en-tete DKIM-Signature]
B --> C[Message en transit]
C --> D[MTA destinataire]
D -->|interroge selector._domainkey TXT| E[(Cle publique DNS)]
E --> D
D -->|recalcule hash,<br/>verifie signature| F{Valide et intacte?}
F -->|Oui| G[Passe - alimente alignement DMARC]
F -->|Non| H[Echec - DMARC decide]● Exemples
- 01
Un serveur sortant signe les e-mails marketing avec le sélecteur s1 et la clé d=example.com, autorisant l'alignement DMARC.
- 02
Rotation d'une clé DKIM en publiant un nouveau sélecteur avant de retirer l'ancien pour éviter les ruptures de validation.
● Questions fréquentes
Qu'est-ce que DKIM ?
Standard d'authentification d'e-mail défini par le RFC 6376 qui permet à un domaine expéditeur d'apposer une signature cryptographique aux messages sortants, afin que les destinataires vérifient que les en-têtes et le corps n'ont pas été altérés. Cette notion relève de la catégorie Sécurité réseau en cybersécurité.
Que signifie DKIM ?
Standard d'authentification d'e-mail défini par le RFC 6376 qui permet à un domaine expéditeur d'apposer une signature cryptographique aux messages sortants, afin que les destinataires vérifient que les en-têtes et le corps n'ont pas été altérés.
Comment se défendre contre DKIM ?
Les défenses contre DKIM combinent habituellement des contrôles techniques et des pratiques opérationnelles, comme détaillé dans la définition ci-dessus.
Quels sont les autres noms de DKIM ?
Noms alternatifs courants : DomainKeys Identified Mail.