MD5-Kollisionen werden praktisch
Zusammenfassung
Am 17. August 2004 legten Xiaoyun Wang, Dengguo Feng, Xuejia Lai und Hongbo Yu im Kryptografie-Archiv der IACR echte Kollisionen für die Hashfunktionen MD4, MD5, HAVAL-128 und RIPEMD vor, vorgestellt auf der Konferenz CRYPTO 2004. Zwei unterschiedliche Eingaben mit demselben MD5-Wert ließen sich damit tatsächlich berechnen statt nur theoretisch vermuten. Für Signaturen und Zertifikate begann damit das Ende von MD5.
Warum Kollisionen zählen
Eine kryptografische Hashfunktion soll es praktisch unmöglich machen, zwei verschiedene Eingaben mit demselben Ergebnis zu finden. Signaturen unterschreiben meist nur den Hashwert eines Dokuments; gibt es Kollisionen, lässt sich eine Unterschrift unter Umständen auf ein anderes Dokument übertragen.
Schwächen von MD5 waren seit Mitte der 1990er-Jahre bekannt, eine konkrete Kollision fehlte aber. Wang und Kollegen lieferten sie und zeigten, dass auch verwandte Funktionen betroffen waren. 2008 nutzten Forscher MD5-Kollisionen, um eine gefälschte Zertifizierungsstelle zu erzeugen, 2012 setzte die Spionagesoftware Flame ein gefälschtes Microsoft-Zertifikat auf derselben Grundlage ein.
Ideen
- Theoretische Schwächen werden irgendwann praktisch.
- Hashfunktionen für Signaturen müssen kollisionsresistent sein.
- Der Umstieg auf neue Verfahren dauert Jahre länger als ihr Bruch.
- Für Prüfsummen ohne Angreifer taugt MD5 noch, für Sicherheit nicht.
Einsichten
- Zwischen dem Paper von 2004 und dem praktischen Angriff auf Zertifikate 2008 lagen vier Jahre, in denen Zertifizierungsstellen MD5 weiter benutzten. Warnungen allein reichen nicht, Abschaltdaten wirken.
- Dasselbe Muster wiederholte sich bei SHA-1: theoretischer Bruch 2005, praktische Kollision 2017.
Fakten
- IACR ePrint 2004/199, eingereicht am 16. August 2004, letzte Fassung vom 17. August 2004.
- Gezeigt wurden Kollisionen für MD4, MD5, HAVAL-128 und RIPEMD.
- 2008 erzeugten Forscher mit MD5-Kollisionen eine gefälschte Zertifizierungsstelle.
Referenzen
Bemerkungen
- Die verlinkte Seite enthält Zusammenfassung und PDF des Papers.
Empfehlungen
- MD5 und SHA-1 aus Signaturen, Zertifikaten und Passwortspeichern entfernen; SHA-256 oder SHA-3 verwenden.
- Für Passwörter ohnehin keine schnellen Hashfunktionen nutzen, sondern Argon2, scrypt oder bcrypt.
Links zur Originalquelle und zum Webarchiv öffnen einen neuen Tab.