DKIM (DomainKeys Identified Mail)

E-mail et Sécurité
Une méthode d'authentification des e-mails qui ajoute une signature numérique aux e-mails sortants, permettant aux destinataires de vérifier que le message n'a pas été modifié.
← Retour au Glossaire

Qu'est-ce que DKIM?

DKIM (DomainKeys Identified Mail) est une méthode d'authentification par courriel qui permet au serveur d'envoi de signer numériquement les messages sortants. Le serveur récepteur peut alors vérifier cette signature à l'aide d'une clé publique publiée dans DNS, confirmant que l'email n'a pas été modifié en transit et provient en fait du domaine revendiqué.

Comment fonctionne DKIM

1. Génération de clés : Le propriétaire du domaine génère une paire de clés publiques/privées

2. DNS Publication: La clé publique est publiée sous forme d'enregistrement TXT

3. Message Signature: Les courriels sortants sont signés avec la clé privée

4. Vérification de la signature : Le serveur de réception récupère la clé publique et vérifie la signature

Le processus de signature

Lorsqu'un courriel est envoyé :

1. Mail server calculates a hash of message headers and body

2. Hash is encrypted with the private key (creating the signature)

3. Signature is added as a DKIM-Signature header

4. Email is transmitted

Le processus de vérification

Lorsqu'un courriel est reçu :

1. Server extracts the DKIM-Signature header

2. Finds selector and domain (s=selector; d=domain.com)

3. Queries DNS for selector._domainkey.domain.com TXT record

4. Uses public key to decrypt the signature

5. Calculates its own hash of the message

6. Compares: match = pass, mismatch = fail

Format de l'enregistrement DKIM

Les enregistrements DKIM sont des enregistrements TXT dans un sous-domaine spécifique:

selector._domainkey.example.com.    IN    TXT    "v=DKIM1; k=rsa; p=MIGfMA0..."

Composants d'enregistrement

BaliseDésignation des marchandisesExemple
VVersionv=DKIM1
kType de clék=rsa
pClé publique (base64)p=MIGfMA0GCSqG...
tDrapeaux (facultatif)t=y (mode d ' essai)
hAlgorithmes Hashh=sha256

Sélecteurs

Les sélecteurs permettent plusieurs clés DKIM par domaine :

google._domainkey.example.com       # Google Workspace

s1._domainkey.example.com # Sendgrid

mailchimp._domainkey.example.com # Mailchimp

Chaque service de messagerie fournit son propre sélecteur et clé.

En-tête de signature DKIM

Une signature DKIM ressemble à :

DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=google;

c=relaxed/relaxed; q=dns/txt;

h=from:to:subject:date:message-id;

bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;

b=AuUoFEfDxTDkHlLXSZEpZj79...

Champs clés :

Mise en place de DKIM

Pour Google Workspace

1. Aller à la console Admin → Applications → Gmail → Authentifier l'email

2. Générer la clé DKIM (2048 bits recommandé)

3. Ajouter un enregistrement TXT fourni par Google

4. Activer la signature DKIM

Pour les services tiers

La plupart des services de messagerie (SendGrid, Mailchimp, etc.) fournissent :

1. Un enregistrement CNAME à ajouter (pour leur clé gérée)

2. Ou un disque TXT avec la clé publique

Exemple (SendGrid):

s1._domainkey.example.com    CNAME    s1.domainkey.sendgrid.net

Vérification de DKIM

Envoyez un courriel de test à un service qui affiche les en-têtes (Gmail affiche les résultats d'authentification). Utilisation de la ligne de commande :
dig google._domainkey.example.com TXT
Utilisation de DomScan:
curl "https://domscan.net/v1/health?domain=example.com"

# Reports DKIM status based on common selectors

Meilleures pratiques DKIM

Utilisez les clés 2048 bits

Les anciennes clés 1024 bits sont de plus en plus vulnérables. La plupart des fournisseurs sont maintenant par défaut à 2048 bits.

Clés tournantes Périodiquement

Rotation des clés DKIM chaque année ou après des incidents de sécurité. Publier une nouvelle clé avec un nouveau sélecteur avant de changer.

Signer les en-têtes importants

S'assurer que les signatures portent sur le sujet, la date et le message-ID.

Ne modifiez pas les messages signés

Les listes d'envoi ou les services de transfert qui modifient le contenu briseront DKIM. Utilisez ARC (Authenticated Reçu Chain) pour envoyer le courrier.

Limitations DKIM

DKIM seul n'empêche pas le spoofing – cela prouve seulement qu'un message n'a pas été modifié. Un domaine peut avoir DKIM valide alors que les attaquants envoient un email spoofed non signé. Le DMARC aborde cette question en précisant ce qu'il faut faire des messages non signés.

Mettez Vos Connaissances en Pratique

Utilisez l'API de DomScan pour vérifier la disponibilité des domaines, la santé et bien d'autres choses.