AccueilđŸ‡«đŸ‡·Chercher

DomainKeys Identified Mail

DKIM (DomainKeys Identified Mail) est une norme d'authentification fiable du nom de domaine de l'expéditeur d'un courrier électronique. Elle constitue une protection efficace contre le spam et l'hameçonnage.

En effet, DKIM fonctionne par signature cryptographique du corps du message ou d'une partie de celui-ci et d'une partie de ses en-tĂȘtes. Une signature DKIM vĂ©rifie donc l'authenticitĂ© du domaine expĂ©diteur et garantit l'intĂ©gritĂ© du message. DKIM intervient au niveau de la couche application du modĂšle OSI, ainsi il constitue une double protection pour des protocoles de messagerie Ă©lectronique tels que SMTP, IMAP et POP en plus de l'utilisation de ces protocoles en mode sĂ©curisĂ© (POPS, IMAPS).

Cette technologie a été normalisée par l'IETF dans la RFC 4871 remplacée depuis par la RFC 6376.

Historique

DKIM est le résultat d'un projet d'un consortium industriel en 2004, intégrant et améliorant le systÚme DomainKeys, de la société Yahoo! (standard DomainKeys qui a par ailleurs été défini ultérieurement - en 2007 - dans la spécification historique RFC 4870), et Identified Internet Mail, de Cisco.

La spécification résultante est utilisée en production. Tous les courriels émanant de Yahoo, GMail, AOL et FastMail contiennent en principe une signature DKIM.

Il a également été pris en compte par le groupe de travail de l'IETF pour affinage et standardisation, ce qui a abouti à la RFC 6376.

Principe

Il s'agit d'ajouter dans tous les emails sortants, une signature DKIM contenant une liste de "clé=valeur". Les clés sont courtes, généralement une ou deux lettres.

Les paramÚtres par défaut du mécanisme de facteur d'authentification sont d'utiliser SHA-256 comme fonction de hachage cryptographique, le chiffrement RSA pour la cryptographie asymétrique, et de coder le hachage avec Base64.

Un serveur SMTP rĂ©ceptionnant un email signĂ© utilise ensuite l'identifiant de domaine responsable de la signature (SDID) et le sĂ©lecteur associĂ© annoncĂ©s dans les en-tĂȘtes afin de rĂ©cupĂ©rer la clĂ© publique publiĂ©e dans le serveur DNS du SDID. Cette clĂ© est utilisĂ©e pour vĂ©rifier la validitĂ© des signatures.

Exemple de signature jointe en en-tĂȘte d'un mail :

DKIM-Signature: v=1; a=rsa-sha256; s=brisbane; d=example.com;
     c=simple/simple; q=dns/txt; i=joe@football.example.com;
     h=Received : From : To : Subject : Date : Message-ID;
     bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
     b=AuUoFEfDxTDkHlLXSZEpZj79LICEps6eda7W3deTVFOk4yAUoqOB
     4nujc7YopdG5dWLSdNg6xNAZpOPr+kHxt1IrE+NahM6L/LbvaHut
     KVdkLLkpVaVVQPzeRDI009SO2Il5Lu7rDNH6mZckBdrIx0orEtZV
     4bmp/YzhwvcubU4=;
Received: from client1.football.example.com  [192.0.2.1]
     by submitserver.example.com with SUBMISSION;
     Fri, 11 Jul 2003 21:01:54 -0700 (PDT)
From: Joe SixPack <joe@football.example.com>
To: Suzie Q <suzie@shopping.example.net>
Subject: Is dinner ready?
Date: Fri, 11 Jul 2003 21:00:37 -0700 (PDT)
Message-ID: <20030712040037.46341.5F8J@football.example.com>

Les paramÚtres sont décrits dans la RFC 6376. Les plus pertinents sont :

  • b pour les vĂ©ritables signatures numĂ©riques des contenus (en-tĂȘtes et corps de mail) ;
  • bh pour le hachage du corps ;
  • d pour l'identifiant de domaine responsable de la signature (SDID) ;
  • s pour le sĂ©lecteur.

Puis on trouve :

  • v pour la version ;
  • a pour l'algorithme de signature ;
  • c pour l'algorithme de canonicalisation d'en-tĂȘte et corps ;
  • q pour une liste de mĂ©thodes de requĂȘtes utilisĂ©es afin de rĂ©cupĂ©rer la clĂ© publique de signature ;
  • l pour la taille de la partie du corps signĂ© Ă  la forme canonique ;
  • t pour l'horodatage de la signature ;
  • x pour la durĂ©e d'expiration ;
  • h pour la liste des champs d'en-tĂȘte signĂ©s, Ă©ventuellement rĂ©pĂ©tĂ©s pour ceux qui apparaissent plusieurs fois (ex keywords ci-dessus). Il est Ă  noter que le champ d'en-tĂȘte de la signature DKIM est lui-mĂȘme toujours inclus implicitement dans h, avec la valeur du champ b, traitĂ© comme s'il Ă©tait vide.

Un vĂ©rificateur teste l'enregistrement DNS TXT de brisbane._domainkey.example.com. Il n'y a ni autoritĂ© de certification, ni systĂšme de liste noire. Le sĂ©lecteur est une mĂ©thode directe pour autoriser un signataire Ă  ajouter ou retirer des clĂ©s quand il le souhaite, sans archivage des signatures. Les donnĂ©es renvoyĂ©es par ce test sont Ă©galement structurĂ©es en paires clĂ©-valeur. Cela inclut la clĂ© publique du domaine, ainsi que des tokens et flags. Le destinataire peut utiliser cela pour dĂ©chiffrer la valeur de hachage du champ en-tĂȘte et simultanĂ©ment recalculer la valeur du hachage du mail reçu (en-tĂȘte et corps). Si les deux valeurs correspondent, cela prouve cryptographiquement que le mail a Ă©tĂ© signĂ© par le domaine indiquĂ©, et n'a pas Ă©tĂ© altĂ©rĂ© pendant le transit.

L'Ă©chec de vĂ©rification de la signature n'impose pas de rejet systĂ©matique du message. En effet, ces raisons prĂ©cises peuvent ĂȘtre rendues disponibles dans des processus en amont et en aval. Ces mĂ©thodes peuvent inclure un message FBL (en), ou ajouter des champs rĂ©sultats d'authentification au message, comme dĂ©crit dans la RFC 7001. La politique de rejet d'un email dont la signature DKIM ne serait pas vĂ©rifiĂ©e peut ĂȘtre publiĂ©e dans une entrĂ©e DNS de type TXT DMARC (_dmarc.example.com).

Utilisation

Microsoft Exchange utilise automatiquement la vérification DKIM pour tous les messages IPv6[1].

Faiblesses

Le systĂšme DKIM ne gĂšre pas l'ajout d'annotations par un serveur de liste de diffusion, l'ajout d'une signature tierce cassant le code de la signature DKIM. Une option l dans l'entĂȘte DKIM-Signature header peut permettre de ne signer qu'un nombre donnĂ© d'octets du message initial. Tout ajout de texte au-delĂ  de la longueur ainsi spĂ©cifiĂ©e n'est alors pas pris en compte lors du calcul de la signature DKIM, mais cette solution ne fonctionne pas pour les messages au format MIME.

L'utilisation complémentaire d'un systÚme Sender Policy Framework (SPF) est envisageable, permettant ainsi de vérifier une liste blanche d'expéditeurs désirés (white list de domaines d'expéditeurs reconnus).

Références

Voir aussi

Liens externes

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.