3 points par GN⁺ 2025-01-09 | 1 commentaires | Partager sur WhatsApp
  • Une recherche a révélé plus de 1 700 clés DKIM publiques de moins de 1024 bits. Les clés RSA de moins de 1024 bits sont vulnérables, et leur utilisation a été arrêtée depuis la RFC 8301 (2018)
  • Objectif de l'expérimentation : extraire la clé privée d'une clé publique RSA de 512 bits, puis vérifier si la validation DKIM passe sur les principaux services de messagerie (Gmail, Outlook, Yahoo Mail, etc.)
    • Tester s'il est possible de signer un e-mail comme s'il provenait de l'expéditeur légitime

Décodage de la clé publique RSA et génération de clés

  • La clé publique est une clé RSA de 512 bits du domaine Redfin.com, encodée au format ASN.1 DER puis encodée en Base64
  • Processus de décodage de la clé
    • Décoder la clé publique encodée en Base64 contenue dans la balise p avec Python
    • Extraire n (modulus) et e (exposant public)
  • Factorisation du module RSA
    • Utilisation de CADO-NFS : basé sur l'algorithme Number Field Sieve
    • Spécifications du serveur cloud : 8 vCPU, 32 Go de RAM (via Hetzner)
    • Ajouter 32 Go de swap puis exécuter CADO-NFS
    • Résultat : réussite de la factorisation de n en deux facteurs premiers p et q après environ 86 heures
  • Génération de la clé privée RSA
    • Générer la clé privée RSA à partir de p et q
    • Utiliser Python et la bibliothèque PyCryptodome pour exporter la clé privée au format PEM

Test de signature DKIM

  • Envoi d'e-mails après intégration de la clé privée dans OpenDKIM
  • Vérification des résultats de validation DKIM sur plusieurs services d'hébergement de messagerie
  • Résultats des tests :
    • DKIM validé : Yahoo Mail, Mailfence, Tuta
    • DKIM échoué : Gmail, Outlook, Zoho, Fastmail, etc.
  • Yahoo, Mailfence et Tuta ont validé la signature malgré la vulnérabilité de la clé de 512 bits

Conclusion

  • Vulnérabilité d'une clé RSA de 512 bits
    • Ce qui nécessitait un supercalculateur il y a 30 ans peut maintenant être réalisé en quelques heures sur un serveur cloud pour moins de 8 dollars
    • Il ne faut jamais utiliser de clés inférieures à 1024 bits pour les signatures DKIM
  • Recommandations
    • Les fournisseurs de messagerie devraient rejeter automatiquement les signatures DKIM utilisant des clés RSA de moins de 1024 bits
    • Les propriétaires de domaines doivent vérifier leurs enregistrements DKIM et les mettre à jour pour une taille minimale de 1024 bits
    • La longueur de la chaîne Base64 permet de vérifier une clé DKIM : une clé de 1024 bits comporte au minimum 216 caractères

1 commentaires

 
GN⁺ 2025-01-09
Avis de Hacker News
  • Il y a 14 ans, il avait écrit sur un travail qui était faisable avec des clés de 512 bits. Il se demandait si des bibliothèques de « raccourci » existaient pour réduire l’espace de recherche lorsqu’on factorise des nombres premiers ou des bitcoins, et si cela pouvait avoir une incidence sur la conception des services de chiffrement.

  • Il suggère une expérience intéressante: configurer une clé DKIM de 4096 bits. La plupart des validateurs DKIM/SPF en ligne n’indiquent aucun problème lors de la vérification DNS, mais affichent un échec lorsque l’on envoie un e-mail de test. Il a appris qu’utiliser des clés de 2048 bits ou plus est autorisé, mais pas nécessaire.

  • Une question est posée : pourquoi la taille des clés en chiffrement n’augmente-t-elle pas brutalement ? Alors que la puissance de calcul monte en flèche et que le débat sur le calcul quantique continue, il se demande pourquoi on n’utilise pas de clés plus grandes pour renforcer la sécurité.

  • Avec CADO-NFS, il a cassé une clé DKIM RSA de 512 bits en 28 heures sur un ordinateur de bureau. Il note qu’une clé de 1024 bits reste difficile au niveau hobby, mais qu’elle devrait être abordable dans le milieu académique.

  • Le titre a été légèrement modifié. Le titre original était « How We Cracked a 512-Bit DKIM Key for Less Than $8 in the Cloud ».

  • Certains fournisseurs DNS limitent la configuration à des clés de 1024 bits, comme wordpress.com.

  • Hover ne prenait pas en charge les enregistrements TXT de plus de 255 caractères, ce qui a obligé à arrêter la gestion DNS. Le problème a été résolu via Digital Ocean. Il espère que le chiffrement par courbe elliptique devienne la norme.

  • La plupart des fournisseurs considèrent les clés de 512 bits comme non sécurisées et rejettent la signature DKIM, mais Yahoo Mail, Mailfence et Tuta ont signalé un résultat « dkim=pass ». Il se demande si Google a échoué à cause de la signature DKIM ou d’un échec SPF.

  • Il félicite l’approche pragmatique. Il n’est pas clair à quel point cet article est ancien, mais il est estimé qu’il a été rédigé aujourd’hui à partir de soumissions antérieures de l’auteur.