Man muss zwischen einem Kollisionsangriff und einem Vorbildangriff unterscheiden . Das Auffinden von zwei Nachrichten, die auf denselben Wert gehen, ist ein Kollisionsangriff.
Wenn Sie eine bestimmte gegebene Nachricht (hier eine ausführbare Datei) durch eine andere Nachricht mit demselben Hash ersetzen, handelt es sich um einen (zweiten) Preimage-Angriff.
SHA-1 ist insofern kaputt, als ein Kollisionsangriff in 2 52 Operationen durchgeführt werden kann, gemäß einem Wikipedia-Artikel, der diese Zahl nicht zitiert (der beste Angriff, den ich kenne, der tatsächlich glaubwürdig ist, ist der von Marc Stevens), was 2 60 Operationen erfordert). Aber lassen Sie uns annehmen, die pessimistische Fall von 2 52 .
Dies ist besorgniserregend, da ein Angriff in dieser Größenordnung nicht nur theoretisch denkbar ist, sondern sogar in einem Tag auf einem Multi-GPU-Rig durchaus machbar ist . Das ist natürlich ein Problem für Anwendungen, bei denen "zwei beliebige" Nachrichten funktionieren. Selbst die 2 60 Figur gegeben durch Stevens (die 256 - mal mehr Arbeit) ist durchaus möglich, wenn der Angreifer bereit ist, etwas mehr Geld auf dem Problem zu werfen, oder ist bereit, ein Jahr Zeit zu verbringen.
Das ist genau das, was jemanden, der an Spionage oder Cyberkriminalität beteiligt ist, nicht daran hindern kann, Zertifikate zu fälschen.
Nun hat ein Vorbildangriff einen Exponenten, der doppelt so groß ist. Wenn also 2 52 für den Kollisionsangriff angenommen werden, wären dies 2 104 Operationen, was eine völlig andere Dimension darstellt.
Dies ist nicht nur unpraktisch (eine Maschine, die eine Milliarde Mal schneller ist als die im vorigen Absatz erwähnte, würde immer noch rund 6 Millionen Jahre dauern), aber angesichts unserer minderwertigen Energieerzeugung ist dies völlig unmöglich.
Um eine solche massive Berechnung durchzuführen, wäre eine Energiequelle erforderlich, die viel größer ist als alles, was wir uns leisten können, um einen einzelnen Vorgang zu tätigen. Nein, keine recht große Energiequelle in der Größe der Sonne, aber immer noch eine ziemlich große .
Von einem Watt können Sie realistisch erwarten, zwischen 10 und 50 GFLOPS zu erreichen. Unter der Annahme, dass eine Art Wunder geschieht und Prozessoren über Nacht mehrere tausend Mal energieeffizienter werden, könnte man von 1 SHA 1 1 FLOP (ziemlich optimistisch!) Ausgehen. Dies bedeutet, dass Sie für die Durchführung von 2 104 Hash-Berechnungen innerhalb von 10 Jahren ein 10 12 W-Kraftwerk benötigen . Um den Angriff innerhalb eines Jahres durchzuführen, benötigen Sie ein 10 13 W-Kraftwerk. Das ist etwa das 50-fache dessen, was die gesamten Atomkraftwerke der USA, Frankreichs und Japans zusammen produzieren können, nur um einen einzelnen Hash zu schmieden.
Dies wird nicht passieren, es gibt viel einfachere Wege, um dasselbe Ziel zu erreichen (den Server auszunutzen, der den ursprünglichen Hash speichert, und diesen zu ersetzen, jemanden zu erpressen usw.).