it-swarm-eu.dev

Warum sind Passwörter auf 16 Zeichen beschränkt?

Was ist der Grund, warum die meisten Websites auf 16 Zeichen beschränkt sind?

Ich hätte gedacht, je länger das Passwort ist, desto schwieriger wird es für jemanden, es zu knacken?

Hat das etwas mit Hash-Kollisionen zu tun?

36
orange

Wenn Sie sich an CWE-521: Schwache Passwortanforderungen halten sollen. Dann müssen alle Passwörter eine minimale und maximale Passwortlänge haben.

Es gibt zwei Gründe, die Kennwortgröße zu begrenzen. Zum einen kann das Hashing einer großen Datenmenge zu einem erheblichen Ressourcenverbrauch im Namen des Servers führen und wäre ein leichtes Ziel für Denial of Service. Insbesondere, wenn der Server Key Stretching wie PBKDF2 verwendet.

Das andere Problem ist Hash Längenerweiterungsangriffe oder der Präfixangriff gegen MD5. Wenn Sie jedoch eine nicht fehlerhafte Hash-Funktion wie bcrypt oder sha-256 verwenden, sollte dies kein Problem für Kennwörter sein.

IMHO 16 Bytes ist viel zu klein . bcrypt verfügt über eine integrierte Obergrenze von 72 Zeichen, was wahrscheinlich eine angemessene Größe für eine schwere Hash-Funktion darstellt. Das von diesen Funktionen verwendete Key Stretching schafft die Möglichkeit eines Algorithmic Complexity Attack oder ACA.

32
rook

Was ist der Grund, warum die meisten Websites auf 16 Zeichen beschränkt sind?

Beliebige Implementierungsgrenze.

Vielleicht möchten sie nur einen 17-Oktett-Puffer zuweisen (16 ASCII/1-Oktett-Zeichen + terminierende NUL).

Vielleicht glauben sie, dass ein Passwort mit mehr als 16 Zeichen nutzlos oder albern ist, weil sie kein Verständnis für Passwörter haben.

Ich hätte gedacht, je länger das Passwort ist, desto schwieriger wird es für jemanden, es zu knacken?

Tatsächlich. Ein Passwort mit 16 zufälligen unabhängigen alphabetischen Zeichen mit einer gleichmäßigen Verteilung hat genügend Entropie. Aber Menschen sind schlecht darin, zufällig 16 zufällige unabhängige alphabetische Zeichen mit einer gleichmäßigen Verteilung auszuwählen, und schrecklich schlecht darin, sich an solche bedeutungslosen Zeichenfolgen zu erinnern, also wählen sie Passwörter, an die sie sich erinnern können, aber mit weniger Entropie pro Zeichen .

Was zählt, ist nur die Gesamtentropie, nicht die Entropie pro Zeichen. Zum Beispiel eine Folge von zufälligen Wörterbuchwörtern, die mit einem Wortwürfel erzeugt wurden (Wortwürfel: Öffnen einer zufälligen Seite in einem Wörterbuch, usw.) ist leichter zu merken als eine Folge von Buchstaben, die mit einem Buchstabenwürfel erhalten wurden.

Solche Passwörter sind länger als rein zufällige Buchstabenfolgen, aber bei gleicher Entropie sind sie viel leichter zu merken. oder, wenn Sie es vorziehen, haben sie viel mehr Entropie für gleiche mentale Gedächtnisanstrengungen.

Für eine ausreichende Stärke haben diese Passwörter aus Wörterbuchwörtern wahrscheinlich mehr als 16 Zeichen.

Mit anderen Worten, diese Grenze ist dumm.

Hat das etwas mit Hash-Kollisionen zu tun?

Nein.

Es gibt keine formelle Garantie für Kollisionen mit kurzen Passwörtern, aber die praktischen Auswirkungen von Hash-Kollisionen sind nicht vorhanden.

18
curiousguy