











Les 20 milliards de pourriels (spams) et de tentatives de phishing qui inondent quotidiennement nos boîtes aux lettres électroniques seront bientôt de l'histoire ancienne. Pour lutter contre ces fléaux, l'IETF (Internet Engineering Task Force) a normalisé DKIM (Domainkeys Identified Mail), enregistré sous la RFC 4871.
Les techniques de spam et de phishing exploitent une faille du protocole SMTP (Simple Mail Transfer Protocol), à savoir l'impossibilité de vérifier qu'un message provient bien du nom de domaine indiqué dans son en-tête. S'appuyant sur des travaux de Yahoo et de Cisco, DKIM s'attache à authentifier formellement le nom de domaine de l'expéditeur d'un courrier électronique, par le biais d'une signature insérée dans l'en-tête de l'e-mail. Le serveur destinataire utilise cette signature pour interroger un serveur DNS et vérifier que l'expéditeur est bien le domaine mentionné dans l'en-tête. Afin d'éviter les tentatives de spoofing (usurpation d'identité), la signature est cryptée à l'aide d'un algorithme asymétrique. L'opération reste transparente pour l'utilisateur, puisque ce sont les serveurs SMTP et DNS qui s'en chargent.
DKIM présente de nombreux avantages. D'une part, il réduit à zéro la bande passante consommée par les spams et augmente la vitesse de livraison des messages. D'autre part, la qualité du filtrage s'avère améliorée, car seuls les e-mails rejetés sont contrôlés par le filtre antispam. Mais pour que cette technique soit efficace, elle doit être prise en compte par un grand nombre de serveurs SMTP (Yahoo, Google, Microsoft, IBM, Postfix, Sendmail, Qmail, Exim, Alt N, Cisco, et Irongate).
redaction@01informatique.presse.fr
Le serveur SMTP émetteur génère une clé privée et une clé publique. Il stocke la clé privée en local et publie, en parallèle, la clé publique sur un serveur DNS. Cette opération n'intervient qu'une seule fois, lors de l'installation initiale de DKIM.
Le serveur SMTP utilise la clé privée pour générer une signature numérique. Cette dernière est insérée dans chaque message, au niveau d'un champ spécifique de l'en-tête.
Le serveur destinataire extrait la signature et le nom de domaine du champ “ from : ” de l'e-mail. Il interroge ensuite le serveur DNS afin de récupérer la clé publique correspondant au nom de domaine. Enfin, il vérifie que les clés privée et publique correspondent. Si tel est le cas, cela prouve que la signature est authentique et n'a pas été altérée.
Le serveur destinataire applique ses règles de filtrage en fonction du résultat de l'étape précédente. Il peut, par exemple, délivrer automatiquement les messages authentiques en appliquant un filtrage restreint. Les e-mails rejetés à l'étape précédente, en revanche, feront l'objet d'une analyse plus poussée ou seront automatiquement mis en quarantaine utilisateur.
