Frage:
Warum ist die Funktion zum Abschneiden von HMAC-Einmalkennwörtern so kompliziert?
Miles
2015-03-22 20:52:19 UTC
view on stackexchange narkive permalink

Ich habe RFC4226 im Rahmen einiger Untersuchungen gelesen und mich gefragt, warum die Funktion zum Abschneiden des HMAC so kompliziert war. Soweit ich weiß, definieren die letzten 4 Bits des HMAC einen Offset, von dem 4 Bytes zur Umwandlung in ein Einmalkennwort verwendet werden.

Warum kann die Funktion zum Abschneiden nicht einfach immer das übernehmen? erste 4 Bytes des HMAC? Gibt es einige Sicherheitsaspekte, wenn immer die gleichen 4 Bytes verwendet werden, die ich verpasst habe, oder ist die Implementierung mit einem dynamischen Offset einfacher?

Alle Informationen, die jemand bereitstellen könnte, werden sehr geschätzt.

Duplikat von http://crypto.stackexchange.com/questions/5249/why-does-hotp-use-such-a-complex-truncate-function
Einer antworten:
Thomas Pornin
2015-03-22 21:41:29 UTC
view on stackexchange narkive permalink

Es ist ein bisschen wie ein Fetisch. Soweit wir derzeit wissen, gibt es keinen Grund zu der Annahme, dass die Verwendung der ersten vier Bytes der HMAC-Ausgabe nicht gleich sicher wäre.

Mangelnder Grund zur Annahme bedeutet jedoch nicht, dass niemand glaubt. Einige Leute "fühlen", dass systematisches Abschneiden dem Angreifer auf eine völlig unbestimmte Weise helfen kann. Mit viel Handbewegung könnte man argumentieren, dass die dynamische Kürzung die Aufgabe für einen Angreifer, der mit Hilfe eines dedizierten FPGA oder ASIC einen Brute-Force-Angriff auf den geheimen Schlüssel versucht, etwas schwieriger macht:

  • Da möglicherweise alle 20 Ausgangsbytes benötigt werden, muss der Angreifer einen vollständigen HMAC / SHA-1 berechnen. Wenn nur die ersten vier Bytes verwendet würden, könnte eine dedizierte ungerollte Schaltung in den letzten SHA-1-Runden einige Schritte überspringen (wir sprechen hier von einer Optimierung von bestenfalls 3%).

  • Die "dynamische Kürzung" impliziert eine Art datenabhängige Suche, die im Hardwarebereich teuer sein kann (dies ist wiederum in Bezug auf alle 32-Bit-Addierer in SHA-1 meist vernachlässigbar).

Aber das sind keine wirklich guten Gründe. Der Hauptpunkt der "dynamischen Kürzung" ist also eine Art Krypto-Voodoo, das den Neuling beeindrucken und somit möglicherweise zur Akzeptanz beitragen kann. Die Angabe eines guten Algorithmus reicht nicht aus. Implementierer müssen auch davon überzeugt sein, es zu verwenden, und dafür können einige magisch aussehende Gesten Wunder wirken.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...