DKIM est l’acronyme de DomainKeys Identified Mail. Il s’agit d’une méthode d’authentification des courriers électroniques conçue pour vérifier l’intégrité et l’authenticité des messages électroniques.
Lorsqu’un serveur de messagerie utilise DKIM, l’expéditeur du courrier électronique signe numériquement le message en utilisant une paire de clés cryptographiques. La clé privée est conservée par l’expéditeur, tandis que la clé publique correspondante est publiée dans le DNS (Domain Name System) du domaine de l’expéditeur.
Lorsqu’un serveur de réception reçoit un courrier électronique signé avec DKIM, il effectue une vérification pour s’assurer que le message n’a pas été modifié en transit et qu’il provient bien du domaine indiqué.
Le processus de vérification DKIM se déroule de la manière suivante :
1. Le serveur de réception extrait la signature DKIM du message.
2. À l’aide de la clé publique du domaine de l’expéditeur extraite du DNS, le serveur de réception décrypte la signature DKIM pour obtenir un condensé (hash).
3. Le serveur de réception effectue à son tour un condensé (hash) sur le contenu du message qu’il a reçu.
4. Le serveur de réception compare le condensé (hash) obtenu à l’étape précédente avec le condensé (hash) déchiffré à partir de la signature DKIM. S’ils correspondent, cela signifie que le message n’a pas été modifié en transit et qu’il est authentique.
Si la vérification DKIM réussit, le serveur de réception peut être confiant quant à l’origine et à l’intégrité du message. Cela permet de lutter contre l’usurpation d’identité et garantit que le courrier électronique provient bien du domaine indiqué.
DKIM est souvent utilisé en conjonction avec d’autres méthodes d’authentification des courriers électroniques, telles que SPF (Sender Policy Framework) et DMARC (Domain-based Message Authentication, Reporting, and Conformance), pour renforcer la sécurité des messages électroniques et aider à prévenir le spam et le phishing.
Exemple :
- Génération des clés : Vous générez une paire de clés cryptographiques : une clé privée et une clé publique. La clé privée est installée sur votre serveur de messagerie expéditeur, tandis que la clé publique est publiée dans le DNS de « mondomaine.com ».
- Signature du message : Le serveur de messagerie signe numériquement le contenu du message en utilisant la clé privée. La signature est générée à partir d’un condensé (hash) du contenu du message. Avant d’envoyer le courrier électronique, le serveur de messagerie ajoute cette signature dans l’en-tête DKIM au message.
- Vérification du message par le serveur de réception : Lorsque le serveur de réception reçoit le courrier électronique, il extrait l’en-tête DKIM du message et obtient l’identifiant unique de la signature. À l’aide de l’identifiant, le serveur de réception effectue une requête DNS pour récupérer la clé publique correspondante à partir du DNS de « mondomaine.com ».
- Vérification de l’intégrité et de l’authenticité : Le serveur de réception utilise la clé publique pour vérifier la signature numérique du message. Il extrait également le condensé (hash) du contenu du message. En comparant le condensé (hash) extrait avec le condensé (hash) déchiffré à partir de la signature DKIM, le serveur de réception détermine si le message a été modifié en transit. Si les condensés (hash) correspondent, la vérification DKIM réussit et le serveur de réception peut être confiant quant à l’intégrité et à l’authenticité du message.
DKIM aide à garantir que le message n’a pas été altéré pendant le transport et qu’il provient bien du domaine indiqué dans l’en-tête DKIM. Cela renforce l’authentification des courriers électroniques et aide à lutter contre l’usurpation d’identité et les attaques de phishing.