3 Punkte von GN⁺ 2025-01-09 | 1 Kommentare | Auf WhatsApp teilen
  • Eine Untersuchung ergab, dass mehr als 1.700 öffentliche DKIM-Schlüssel mit weniger als 1.024 Bit gefunden wurden. RSA-Schlüssel unter 1.024 Bit gelten als unsicher, und deren Verwendung wurde seit RFC 8301 (2018) eingestellt.
  • Ziel des Experiments: Aus einem veröffentlichten 512-Bit-RSA-Öffentlichschlüssel den privaten Schlüssel abzuleiten und zu prüfen, ob DKIM auf großen E-Mail-Diensten (Gmail, Outlook, Yahoo Mail usw.) besteht.
    • Es wurde getestet, ob sich E-Mails so signieren lassen, als kämen sie vom eigentlichen Absender.

RSA-Öffentlichschlüssel-Dekodierung und Schlüsselerzeugung

  • Der öffentliche Schlüssel ist ein 512-Bit-RSA-Schlüssel der Domain Redfin.com, der im ASN.1 DER-Format codiert und zusätzlich Base64-kodiert wurde.
  • Schlüssel-Dekodierung
    • Den im p-Tag enthaltenen, Base64-kodierten öffentlichen Schlüssel mit Python dekodieren
    • Extraktion von n (Modulus) und e (öffentlicher Exponent)
  • Faktorisierung des RSA-Modulus
    • Verwendung von CADO-NFS: basiert auf dem Number-Field-Sieve-Algorithmus
    • Cloud-Server-Spezifikationen: 8 vCPU, 32 GB RAM (unter Nutzung von Hetzner)
    • Nach Einrichtung von zusätzlichen 32 GB Swap wurde CADO-NFS ausgeführt
    • Ergebnis: Nach etwa 86 Stunden gelang es, n erfolgreich in zwei Faktoren p und q zu zerlegen
  • Erzeugung des RSA-Privatschlüssels
    • Generierung des RSA-Privatschlüssels mithilfe von p und q
    • Ausgabe des privaten Schlüssels im PEM-Format mit Python und der PyCryptodome-Bibliothek

DKIM-Signaturtest

  • Integration des privaten Schlüssels in OpenDKIM und Versand von E-Mails
  • Überprüfung der DKIM-Validierung bei mehreren E-Mail-Hosting-Diensten
  • Testergebnis:
    • DKIM erfolgreich: Yahoo Mail, Mailfence, Tuta
    • DKIM fehlgeschlagen: Gmail, Outlook, Zoho, Fastmail usw.
  • Yahoo, Mailfence und Tuta geben 512-Bit-Schlüssel bestehen, obwohl die Schwachstelle nicht erkannt wird.

Fazit

  • Die Schwachstellen von 512-Bit-RSA-Schlüsseln
    • Was vor rund 30 Jahren nur mit Supercomputern möglich war, ist heute auf einem Cloud-Server für unter 8 $ in wenigen Stunden machbar.
    • Bei DKIM-Signaturen sollten nie RSA-Schlüssel unter 1.024 Bit verwendet werden.
  • Empfehlungen
    • E-Mail-Anbieter sollten DKIM-Signaturen mit RSA-Schlüsseln unter 1.024 Bit automatisch ablehnen.
    • Domaininhaber sollten ihre DKIM-Einträge prüfen und auf mindestens 1.024 Bit aktualisieren.
    • Die Länge von DKIM-Schlüsseln lässt sich anhand der Base64-Zeichenkettenlänge erkennen: Ein 1.024-Bit-Schlüssel hat mindestens 216 Zeichen

1 Kommentare

 
GN⁺ 2025-01-09
Hacker News Kommentar
  • Vor 14 Jahren schrieb er einen Beitrag darüber, dass das auch mit einem 512-Bit-Schlüssel möglich gewesen sei. Er fragte sich, ob es für die Suche nach Primzahlen oder Bitcoin eine „Abkürzungs“-Bibliothek gibt, die den Suchraum reduziert, und ob eine solche Bibliothek Auswirkungen auf das Design kryptografischer Dienste haben könnte.
  • Als interessantes Experiment wurde vorgeschlagen, einen 4096-Bit-DKIM-Schlüssel einzurichten. Die meisten Online-DKIM/SPF-Prüfer melden beim DNS-Check keine Probleme, doch beim Versand von Test-E-Mails zeigen sie einen Fehler an. Daraus lernte man, dass Schlüssel über 2048 Bit erlaubt sind, aber nicht nötig.
  • Es stellte sich die Frage, warum man im Allgemeinen nicht die Schlüssellängen dramatisch vergrößert. Auch wenn die Rechenleistung rasant steigt und die Debatte über Quantencomputing anhält, fragt man sich, warum man defensiv nicht auf größere Schlüssel setzt.
  • Mit CADO-NFS wurde ein 512-Bit-RSA-DKIM-Schlüssel auf einem Desktop-Computer in 28 Stunden geknackt. Es wurde angemerkt, dass ein 1024-Bit-Schlüssel für den Hobbiebereich weiterhin schwierig bleibt, in der Forschung jedoch machbar sein sollte.
  • Der Titel wurde etwas geändert. Der Originaltitel lautete: „How We Cracked a 512-Bit DKIM Key for Less Than $8 in the Cloud“.
  • Manche DNS-Anbieter schränken die Konfiguration auf 1024-Bit-Schlüssel ein, beispielsweise wordpress.com.
  • Hover unterstützt keine TXT-Einträge mit mehr als 255 Zeichen, sodass die DNS-Verwaltung eingestellt werden musste. Das Problem wurde mit Digital Ocean gelöst. Man wünscht, dass elliptische Kurvenkryptografie zum Standard wird.
  • Viele Anbieter betrachten 512-Bit-Schlüssel als unsicher und lehnten die DKIM-Signatur ab, doch Yahoo Mail, Mailfence und Tuta meldeten dkim=pass. Unklar blieb, ob Google wegen der DKIM-Signatur oder wegen eines SPF-Fehlers fehlschlug.
  • Es gab Lob für den praktischen Ansatz. Es ist unklar, wie alt dieser Artikel ist, aber es wird vermutet, dass er auf Basis früherer Einreichungen des Autors heute erstellt wurde