SHAttered => SHA-1 jetzt ersetzen

Neuer Angriff macht den meistgenutzten Hashalgorithmus unsicher

Anfang Februar 2017 wurde ein Verfahren bekannt, mit dem es „leichter“ möglich ist, eine Kollision bei SHA-1 1 zu erzeugen. Dieser Angriff erhielt den Namen „SHAttered“, um deutlich zu machen, dass das Verfahren SHA-1 „kaputt“ ist und nicht mehr verwendet werden sollte.

Dass es nicht nur eine theoretische Angriffsmöglichkeit ist, die man ignorieren und trotz der man einfach weitermachen kann wie bisher, macht Jürgen Schmidt in seinem Beitrag „Warum SHAttered wichtig ist“ auf heise Security deutlich:

Mancher mag denken, dass die für SHAttered benötigten 6500 CPU-Jahre die Latte immer noch ausreichend hoch liegen. Doch angesichts von Cloud Computing und dem immer noch gültigen Moore’schem Gesetz zum Wachstum der Rechenleistung kombiniert mit weiteren Fortschritten bei den Angriffen ist das ein gefährlicher Irrtum. So mussten etwa 2008 die Forscher um Marc Stevens noch einen Cluster von über 200 Playstation-3-Konsolen mehrere Tage rechnen lassen. Heute spuckt jeder PC eine solche MD5-Kollision in weniger als einer Sekunde aus. Die Gnadenfrist ist mit SHAttered definitiv abgelaufen: SHA-1 ist offiziell tot.

Damit ist klar: HEUTE ist ein Angriff noch nicht praktikabel, schon in wenigen Jahren führt der Angriff jedoch dazu, dass SHA-1 keine Integrität mehr gewährleisten kann.

Dies ist vor allem deshalb ein Problem, weil SHA-1 in sehr vielen Standard-Protokollen wie PGP, S/MIME, TLS (aka SSL), … vorkommt (oder verwendet werden kann). Damit sind vom Online-Banking über ELSTER und signierte Programme bis hin zur Verschlüsselung von E-Mail und Messenger-Nachrichten die meisten der heute üblichen digitalen Kommunikationsmittel in Gefahr.

Es dauert viele Jahre, Protokolle zu ändern oder abzulösen, oder innerhalb der Protokolle die verwendeten Algorithmen umzustellen. In einem ersten Schritt sollten Sie daher feststellen, wo bei Ihnen SHA-1 im Einsatz ist und ob eine Umstellung möglich ist. So wird es z.B. in etlichen Embedded-Geräten nicht möglich sein – diese müssen mittelfristig ausgetauscht werden.

Daher mein Appell: Beginnen Sie bereits heute! Machen Sie Ihre Entwicklungsabteilung, Netzwerk- und Server-Abteilung, Lieferanten, … darauf aufmerksam. Alternativen wie die SHA-2-Familie (SHA-256, SHA-384 und SHA-512), SHA-3, Blake2 oder (je nach Einsatzgebiet) auch Poly1305 stehen zur Verfügung – informieren Sie sich und sagen Sie „Goodbye“ zu SHA-1!

Autor:
Olav Seyfarth, Mitglied im BvD AK Krypto

 

1 SHA ist die Abkürzung für Secure Hash Algorithm. Mit Hash-Algorithmen werden Prüfsummen aus größeren Datenmengen berechnet. Die Prüfsummen dienen zur Prüfung, ob die Daten manipuliert wurden. Dies ist zum Beispiel sinnvoll, wenn Daten über einen unsicheren Kanal übermittelt werden.

Man kann sich einen Hashwert als Fingerabdruck vorstellen: Der Fingerabdruck lässt einen Rückschluss auf den Menschen zu, ohne dass aus dem Fingerabdruck abgeleitet werden kann, wie dieser Mensch aussieht.

Eine im Zusammenhang mit digitalen Signaturer und Verschlüsselung wesentliche Eigenschaft eines Hashverfahrens ist, dass eine kleine Änderung am zu prüfenden Text eine nicht vorhersagbar andere Prüfsumme ergibt. Gegenstand des Angriffs auf das heute extrem weitläufig eingesetzte Standard-Hashverfahren „SHA-1“ ist, dass der Angreifer in der Lage ist, den zu prüfenden Text zu verändern OHNE sich dass die Prüfsumme ändert („Hash-Kollision“).

Dies entspräche einem anderen Menschen, der den identischen Fingerabdruck hat. Dies ist nicht einmal bei eineiigen Zwillingen der Fall.