it-swarm.com.de

Was ist SHA-3 und warum haben wir es geändert?

Am 2. Oktober entschied NIST, dass SHA-3 der neue Standard-Hashing-Algorithmus ist. Bedeutet dies, dass wir die Verwendung von SHA-2 einstellen müssen, da es nicht sicher ist?

Was ist das für ein SHA-3 überhaupt?

60
Lucas Kauffman

Der SHA- Hash-Wettbewerb war ein offener Prozess, durch den das NIST eine neue Standard-Hash-Funktion definierte (Standard für US-Bundesverwendungen, aber die Dinge sind so, dass dies wahrscheinlich zu einem weltweiten de werden wird facto standard). Der Prozess wurde 2007 eingeleitet. Zu diesem Zeitpunkt wurden eine Reihe von Schwachstellen und Angriffen auf die Vorgänger der SHA-2-Funktionen (SHA-256, SHA-512 ...) festgestellt, nämlich MD5 und SHA-1 Es wurde befürchtet, dass SHA-256 bald "kaputt" oder zumindest geschwächt sein würde. Da die Auswahl und Angabe eines kryptografischen Grundelements einige Zeit in Anspruch nimmt, begann NIST den SHA-3-Prozess mit der unausgesprochenen, aber klar verstandenen Absicht, einen Ersatz für SHA-2 zu finden.

SHA-2 erwies sich als robuster als erwartet. Wir wissen nicht wirklich warum; Es gibt einige halbherzige Argumente (die Nachrichtenerweiterung ist nicht linear, die Funktion sammelt doppelt so viele Elementaroperationen wie SHA-1 ...), aber es besteht auch der Verdacht, dass SHA-256 unversehrt blieb, weil alle Forscher beschäftigt waren Arbeit an den SHA-3-Kandidaten. Wie auch immer, da SHA-2 Doom anscheinend auf unbestimmte Zeit verschoben wurde, verschob NIST seine Ziele und anstatt einen Ersatz zu wählen, definierten sie einen Backup-Plan: eine Funktion die in einer Glasvitrine aufbewahrt werden kann, um im Notfall verwendet zu werden. Entsprechend verlor Leistung den größten Teil seiner Relevanz.

Dies unterstreicht die Wahl von Keccak : Unter den Finalisten des Wettbewerbs war es die Funktion, die sich sowohl von SHA-2 als auch von AES am meisten unterschied. Dadurch wurde das Risiko verringert, dass alle kryptografischen Standardalgorithmen gleichzeitig beschädigt werden und NIST metaphorisch mit dem Kilt nach unten abgefangen wird.

Seien wir nicht voreilig: SHA-2 ist nicht nur noch in Ordnung (sowohl offiziell als auch wissenschaftlich), sondern SHA-3 ist nur angekündigt: it Es wird noch einige Monate dauern, bis wir eine Spezifikation erhalten können (obwohl wir Implementierungen basierend auf dem, was für den Wettbewerb eingereicht wurde, vorbereiten können). Was getan werden muss jetzt (und hätte eigentlich vor einem Jahrzehnt getan werden müssen), ist die Vorbereitung von Protokollen und Anwendungen für Algorithmusagilität , dh die Möglichkeit, Funktionen bei Bedarf zu wechseln (auf die gleiche Weise, wie SSL/TLS über "Cipher Suites" verfügt).

58
Thomas Pornin

Es gibt mindestens eine Verwendung, für die SHA-2 scheinbar besser ist als SHA-3, und das ist Key Stretching .

SHA-3 wurde entwickelt, um in der Hardware sehr effizient zu sein, ist jedoch in der Software relativ langsam. SHA-3 benötigt ungefähr doppelt so viel Zeit wie SHA-2, um in Software ausgeführt zu werden, und ungefähr ein Viertel der Zeit, um in Hardware ausgeführt zu werden.

Da SHA-3 doppelt so lange benötigt, um in der Software ausgeführt zu werden, müssten Sie die Hälfte der Iterationen durchführen, wenn Sie dieselbe Kennwortverarbeitungszeit auf Ihrem Server wünschen. Angreifer können jedoch eine Hardware-Implementierung zum Knacken von Passwörtern verwenden. Aus diesem Grund können Angreifer SHA-3-Hash-Passwörter achtmal schneller knacken als SHA-2-Hash-Passwörter - zweimal schneller, weil wir die Anzahl der Hash-Iterationen halbieren müssen, und viermal schneller, weil SHA-3-Hardware schneller als SHA-2 ist Hardware.

10

Am 2. Oktober 2012 entschied NIST, welcher Algorithmus zur Durchführung von Hashing verwendet werden sollte. Dies war der Keccak-Algorithmus.

Der Keccak-Algorithmus basiert auf der hermetische Schwammstrategie . Es ist der neue Standardalgorithmus. Wir verwenden Standards, um die Kompatibilität zu verbessern.

Keccak wurde von Guido Bertoni, Joan Daemen (einer der Schöpfer von AES), Michaël Peeters und Gilles Van Assche entworfen. Sie bauten es basierend auf ihrem Radiogatùn-Algorithmus .

Bedeutet dies, dass SHA-2 unsicher ist? Kein SHA-2 gilt noch als sicher, wir wissen nur, dass es in Zukunft nicht mehr sicher sein wird und wir brauchen die Gewissheit, dass es eine Alternative geben wird. Wir möchten auch nicht von einem Tag zum anderen wechseln, deshalb haben sie bereits einen neuen Hashing-Algorithmus standardisiert, damit die Leute Zeit haben, sich zu ändern, und damit wir wissen, dass wir einen sicheren Algorithmus zur Hand haben, wenn wir ihn brauchen.

6
Lucas Kauffman

Ein Vorteil von SHA-3 gegenüber SHA-1 und SHA-2 besteht darin, dass es nicht empfindlich auf Erweiterungsangriffe reagiert. Dies bedeutet, dass darauf basierende Protokolle (z. B. MACs) von Natur aus robuster sind.