it-swarm-eu.dev

Wie lang sollte die maximale Passwortlänge sein?

Die empfohlene Mindestlänge für das Passwort beträgt ca. 8 Zeichen. Gibt es also eine standardmäßige/empfohlene maximale Länge des Passworts?

60
Mohamed

Bruce Schneier hat einige interessante Artikel zu Passwortrichtlinien.

Passwörter aus der realen Welt - für Passwortlänge, Komplexität und gängige Passwörter.

Passwortberatung - einige Do's und Don'ts, einschließlich:

  • Verwenden Sie einen Passwort-Manager
  • Ändern Sie die Passwörter häufig. Ich wechsle meine alle sechs Monate ...
  • Verwenden Sie alte Passwörter nicht wieder.
  • Verwenden Sie KEINE Passwörter, die aus Wörterbuchwörtern, Geburtstagen, Familien- und Haustiernamen, Adressen oder anderen persönlichen Informationen bestehen.
  • Greifen Sie NICHT über offene Wi-Fi-Netzwerke oder andere Netzwerke, denen Sie nicht vertrauen, auf kennwortgeschützte Konten zu, es sei denn, die Site ist über https gesichert.

und viele mehr

Ändern von Passwörtern - Eine ausführliche Diskussion darüber, wie oft Sie je nach Nutzung und Bedrohungsumgebung Änderungen vornehmen sollten.

15

Die Antwort auf diese Frage lautet, wie viele Fragen in der Sicherheitsabteilung, "es kommt darauf an".

Bei der Betrachtung der Kennwortlänge sind mehrere Faktoren zu berücksichtigen. An erster Stelle stehen einige der Dinge, vor denen ein langes Passwort schützen soll. Dies ist im Allgemeinen eine brutale Gewalt beim Erraten von Passwörtern (online oder offline).

Wenn Sie beim Online-Erraten von Passwörtern eine relativ aggressive Sperrrichtlinie haben (z. B. 3 falsche Versuche und dann eine unbestimmte Sperrung), ist es unwahrscheinlich, dass Angriffe auf ein einzelnes Konto erfolgreich sind, es sei denn, der Angreifer hat eine gute Vorstellung davon, wie das Kennwort lautet wird sein.

Wenn Sie gegen Angriffe auf eine große Anzahl von Benutzern mit derselben Sperrrichtlinie suchen, bei denen der Angreifer die Benutzernamen (z. B. Webforen) ermitteln kann, ist das wichtigste Element wahrscheinlich, dass die verwendeten Kennwörter keine der verwendeten sind wirklich häufige.

Abgesehen davon ist eine Sache, auf die Sie bei der Kontosperrung achten sollten, dass aggressive Richtlinien für Online-Anwendungen einen Denial-of-Service-Angriff ohne zusätzliche Gegenmaßnahmen recht einfach machen können.

Wenn das Risiko von Offline-Brute-Force besteht, wird die Kennwortstärke wichtiger. Das Problem hierbei ist, dass eine verbesserte Verarbeitungsleistung und Angriffsmethoden dies zu einem sich bewegenden Ziel in Bezug auf die Stärke machen. Realistisch würde ich sagen, dass Sie sich mehr als 10 Zeichen und eine starke Durchsetzung ansehen würden, dass Passwörter nicht in gängigen Wörterbuchlisten enthalten sind (wie @andy sagt, sind Passphrasen hier eine gute Option).

Ein weiterer Faktor, der hier berücksichtigt werden muss, ist Ihre Benutzerbasis und die Verwendung der Anwendung. In einigen Fällen würde ich sagen, dass sehr hohe Kennwortanforderungen tatsächlich zu einer weniger sicheren Anwendung führen können. Wenn Sie eine Anwendung haben, in der sich die Benutzer am selben Ort befinden (z. B. viele Unternehmensanwendungen) und die Kennwortrichtlinie sehr "stark" ist (sowohl in Bezug auf die Kennwortlänge als auch die Rotationsanforderungen), werden Benutzer wahrscheinlich gestartet Schreiben Sie ihre Passwörter auf, was wahrscheinlich eines der Sicherheitsziele für diese Anwendung in erster Linie zunichte macht.

Eine gute Quelle für viele weitere Informationen hierzu ist das Buch Authentifizierung: Von Passwörtern zu öffentlichen Schlüsseln

20
Rory McCune

Bisher gute Antworten, aber ich möchte eine andere Möglichkeit vorschlagen: Passphrasen . Wie Jeff Atwood von StackOverflow vorschlägt, sollten Sie in Betracht ziehen, Passphrasen zuzulassen und vorzuschlagen, wenn Sie nicht durch technische Einschränkungen verboten sind. Sie könnten sie erzwingen, aber das würde wahrscheinlich einige Benutzer auf den meisten Websites entfremden. Aufgrund ihrer Länge können sie erheblich schwieriger zu knacken sein und sie können auch leichter zu merken sein als ein Passwort wie "A1lUrB @ se!" oder solche Dinge.

19
Andy

Wenn Sie das Passwort haschen wollen, warum sollten Sie eine Obergrenze festlegen?

Es ist nicht so, dass Sie sich Sorgen machen müssen, ob Sie das maximale Zeichenlimit für webbasierte oder andere Textfelder erreichen. Es ist also denkbar, dass Sie maximal ein paar hundert Zeichen festlegen, um einige Randbedingungen für die von Ihnen verwendeten Textfelder zu begrenzen.

Wenn Sie über das Generieren eines Kennworts sprechen, das Sie auf mehreren Websites verwenden möchten, spielt dies natürlich keine Rolle. Niemand da draußen scheint dem zuzustimmen. Schlimmer noch, ich habe Websites gefunden, die unterschiedliche Zeichenbeschränkungen für verschiedene Eingabefelder haben. Um sich anzumelden, müssen Sie diese zuerst falsch eingeben, bevor Sie ein anderes Feld erhalten, das zufällig mehr Zeichen zulässt. Wenn jede Site nur die erwarteten Mindestfähigkeiten eines typischen Textfelds zulässt, ohne zu versuchen, es künstlich einzuschränken, sind natürlich etwa 2.000 Zeichen zulässig, und Sie müssten sich darüber überhaupt keine Sorgen machen.

Bearbeitet, um hinzuzufügen: etwas, das im Vorbeigehen erwähnt wurde hier ließ mich innehalten:

sie müssen die Hashing-Arbeit auf das skalieren, was auf Ihren Servern oder Geräten verfügbar und angemessen ist. Zum Beispiel hatten wir einen kleinen Denial-of-Service-Fehler in Discourse, bei dem Benutzer bis zu 20.000 Zeichenpasswörter in das Anmeldeformular eingeben konnten

Es kann sich daher lohnen, das Festlegen und Versuchen von Kennwörtern in angemessener Weise einzuschränken, wenn Sie die Dinge so hashen, dass sie so rechenintensiv wie möglich sind. Ein paar hundert Zeichen verhindern möglicherweise immer noch, dass Dinge zu stark explodieren, und sind dennoch weitaus mehr, als ein Benutzer jemals versuchen könnte.

16
Doug Kavendek

Es sollte keine maximale Kennwortlänge geben. Wenn der Benutzer die Verwendung eines sehr langen Kennworts akzeptiert, sollte er empfohlen, nicht blockiert sein.

Da Software so ist, wie sie ist, werden mehrere Systeme eine Begrenzung der Kennwortgröße erzwingen, hauptsächlich aufgrund von GUI-Problemen, schlechter Programmierung oder Abwärtskompatibilität mit viel älteren Systemen. Zum Beispiel verwendeten alte Unix-Systeme einen Passwort-Hashing-Prozess, der nur die ersten acht Zeichen verwendete und alle anderen völlig ignorierte. Ebenso hatten alte Windows-Systeme eine interne Beschränkung auf 14 Zeichen. Daher ist es am besten, wenn das Kennwort, wenn es auf die ersten 14 Zeichen gekürzt wird, immer noch "stark" ist.

Die einzige Beschränkung für die maximale Kennwortgröße sollte jedoch die Geduld des Benutzers sein. Es macht keinen Sinn, hier etwas durchzusetzen.

8
Thomas Pornin

Ein übliches Minimum sind heute 12 Zeichen, was gerade noch groß genug ist, um Brute-Force-Cracking durch eine einigermaßen gut finanzierte Organisation innerhalb eines angemessenen Zeitraums zu verhindern.

Soweit maximale Länge; Hier einige Gedanken: Ein Kennwort, das länger als einige hundert Bytes ist, ist mit ziemlicher Sicherheit böswillig (z. B. SQL-Injection-Versuch). Beachten Sie auch, dass Passwörter länger als Ihre Hash-Ausgabe keine weitere Entropie hinzufügen, wenn Sie Ihr Passwort hashen (und wenn Sie dies nicht tun, müssen Sie von vorne beginnen). Beachten Sie, dass mit "länger" die gleiche Anzahl von Bits in Ihrem Schlüsselraum gemeint ist, nicht die gleiche Zeichenlänge. Während das Zulassen von Passwörtern, die länger als die Hash-Länge sind, aus praktischen Gründen erlaubt sein sollte, wäre es aus mathematischer Sicht nicht sinnvoll, wenn so etwas erforderlich ist .

Wenn Sie eine Groß- und Kleinschreibung benötigen, verdoppelt sich die Größe Ihres Alphabets, was zu einer enormen Komplexität führt und wahrscheinlich erforderlich sein sollte. Wenn Sie numerische Zeichen benötigen, erhöht sich Ihr Alphabet möglicherweise um 20%, was nicht ganz so wichtig ist, und wenn Sie Symbole benötigen, werden möglicherweise 16% bis 40% mehr hinzugefügt (je nachdem, welche Symbole Sie zählen), und dies wiederum nicht eine ebenso bedeutende Rendite, sollte aber auf keinen Fall verboten werden.

3
tylerl

Ich persönlich würde einen Passwortgenerator (wie lastpass.com oder 1password) verwenden, um Passwörter mit mindestens 8 Zeichen und maximal 32 Zeichen zu generieren und zu verwenden (da nicht alle Websites eine Passwortlänge von mehr als 10 oder 15 unterstützen) und ein Hauptkennwort verwenden zur Authentifizierung (Dies hängt wiederum von Ihrem Vertrauen auf Websites wie lastpass.com ab) oder einem clientseitig verschlüsselten 1password-Dienstprogramm für Mac und Windows).

Es ist nicht ratsam, für alle Websites eine Reihe von Kennwörtern zu verwenden. Insbesondere Foren senden mir Passwörter per E-Mail im Klartext. Einige Websites verfügen über die Funktion zum Senden eines einfachen Passworts, falls Sie die Funktion "Passwort vergessen" verwenden.

Normalerweise werden die Einschränkungen auf dem Server eingerichtet (für Websites). Wir müssen den Servern die Schuld geben, die wir verwenden, um keine Einschränkungen für Benutzerkennwörter festzulegen.

Kurz gesagt, verwenden Sie jedes Mal andere Passwörter. Wenn Sie mehr als 10-15 Kennwörter speichern müssen, sollten Sie einen "sicheren" Kennwortmanager verwenden. (Für die Aufzeichnung ist Firefox Passwort Manager überhaupt nicht sicher)

2
Sairam

16 Zeichen.

Dies gibt Ihnen 96 Bits gemäß Wikipedia , was weit über alles hinausgeht, was gemäß diesem Artikel geknackt werden kann.

Persönlich verwende ich ein Passwortprogramm für mein Mobiltelefon, kombiniert mit der Hauptkennwortfunktion von Firefox. Mein Master-Passwort hat mehr als 25 Zeichen und basiert auf Dice Ware, was das Erinnern ziemlich einfach macht. Fast alle meine Passwörter werden zufällig erneuert, da Firefox sie sowieso für mich speichert.

Ich war bei einem Kunden, bei dem der Sicherheitsbeamte verrückt war. Er wollte jede mögliche Kennwortkomplexitätsrichtlinie verwenden. (Novell eDirectory hat viele Probleme mit der Komplexität von Passwörtern und wollte ein zusätzliches Plugin verwenden, um weitere hinzuzufügen!)

Bis zu dem Punkt wäre es unmöglich, jemals ein Passwort zu generieren, an das man sich erinnern kann. Ich hatte erwartet, dass die ungewaschenen Massen ihn finden und ihn nach der Implementierung tarieren und federn würden.

Mit anderen Worten, Sie können es zu weit bringen.

1
geoffc

Rat

Im Jahr 2019 ist die Zufälligkeit, die für ein sicheres Passwort/eine sichere Passphrase erforderlich ist:

  • 12 zufällig generierte Zeichen mit Klein-, Groß- und Ziffern; oder
  • 6 zufällig generierte Wörter. (Do not Wörter selbst auswählen! Das schafft Muster.)

Es ist unmöglich, sich an zwanzig davon zu erinnern. Merken Sie sich daher nur einige wichtige, die Sie regelmäßig verwenden. Sie können sich beispielsweise die für Ihr E-Mail-Konto und die für Ihren Passwort-Manager merken. Speichern Sie für alles andere Passwörter in einem Passwort-Manager.

Relevant: Benötigt der durchschnittliche Benutzer wirklich einen Passwort-Manager?
Die am besten gewählte Antwort ist ein klares "Ja".

Relevant: Wie sicher sind Passwortmanager?
Aus der oberen Antwort von paj28 (Hervorhebung von mir):

für die meisten Menschen sind diese Risiken akzeptabel, und ich würde vorschlagen, dass der Ansatz von Verwenden eines Passwort-Managers [für] die meisten Ihrer Passwörter besser ist als die Verwendung des gleichen Passworts überall - was die Hauptalternative zu sein scheint . Aber ich würde nicht jedes Passwort dort speichern; Bemühen Sie sich, Ihre wichtigsten wie das Online-Banking auswendig zu lernen.

Häufig erwähnte Passwortmanager sind KeePass (X), 1Password und LastPass. Die in Ihrem Browser hängt davon ab: Wenn Sie Firefox mit einem Hauptkennwort verwenden, ist dies fast so gut wie die Verwendung eines dedizierten Kennworts. Wenn Ihr Browser kein Kennwort benötigt, bevor Sie auf die Kennwörter zugreifen können, ist dies nicht sehr sicher (die Details hängen jedoch von der genauen Implementierung ab, die ein ganzes Thema für sich ist).

Entwickler

Wenn Sie eine Anwendung erstellen, sind hier einige nützliche Überlegungen:

Wie kann man Passwörter sicher hashen?
Zusammenfassung: Verwenden Sie Scrypt oder Argon2, so langsam Sie können. Wenn diese nicht verfügbar sind, sind Bcrypt oder PBKDF2 akzeptable Alternativen. Fügen Sie sowohl Salz als auch Pfeffer hinzu.

Soll ich eine maximale Passwortlänge haben?
Zusammenfassung: Nur gegen DoS-Angriffe, also ein paar Kilobyte oder so.

Implementiere clientseitiges Passwort-Hashing
Vollständige Offenlegung: Ich verweise auf meine eigene Antwort, weil ich denke, dass es die vollständigste ist. Lesen Sie auch die Meinungen anderer.

Einzelheiten

Sie fragen sich vielleicht: "Warum ist mein PIN Code dann nur 4-stellig? Das reicht aus, um mein Bankkonto zu schützen!" Es gibt eine Frage, die diesem Thema gewidmet ist , aber die Zusammenfassung besteht aus zwei Dingen: Sie benötigen Ihre Bankkarte für den Zugriff (ein zweiter Authentifizierungsfaktor), und der Chip sperrt Sie nach drei Versuchen.

Websites sind viel milder, sodass ein Angreifer mehr Versuche unternehmen kann. Darüber hinaus wird erwartet, dass Websites früher oder später gehackt werden. Danach kann der Angreifer Ihr Hash-Passwort effizient knacken.

Die meisten Websites speichern Ihr Passwort mit einer Art Einwegverschlüsselung, die als Hashing bezeichnet wird. Es gibt keinen Entschlüsselungsschlüssel. Durch erneutes Anwenden desselben Hashing-Algorithmus kann das System das gerade eingegebene Kennwort mit dem gespeicherten Kennwort (aus der Datenbank) vergleichen und feststellen, ob sie gleich sind. Aber nur mit der Datenbank können Sie das ursprüngliche Passwort nicht kennen.

In der Vergangenheit waren schnelle Hashing-Methoden üblich. Dies bedeutet auch, dass ein Angreifer, der den Hash erhalten hat, seinen Computer Milliarden von Versuchen pro Sekunde auf einem durchschnittlichen Spielecomputer ausführen lassen kann. Unter der Annahme von zehn Milliarden Versuchen pro Sekunde hält ein 11-stelliges Zufallskennwort etwa 165 Jahre lang. Und das ist nur ein Spieler. Stellen Sie sich vor, Sie haben Zugriff auf Unternehmensdaten, an denen einige ausländische Konkurrenten interessiert sind: Mit etwas mehr Rechenleistung werden diese 165 Jahre plötzlich zu einigen Monaten des Knackens. Und nächstes Jahr wird es neue CPUs geben, die zum gleichen Preis schneller sind und die Stärke wieder verringern. Aus diesem Grund sind zwölf Zeichen das Minimum für ein sicheres Passwort: Ein zusätzliches Zeichen verlängert die Cracking-Zeit buchstäblich um zehntausend Jahre (165 Jahre gegenüber 10 230 Jahren) und ist auf absehbare Zeit sicher.

Die Berechnung der Passwortstärke ist übrigens einfach: variations^length / guesses_per_time. Die Variation gibt an, wie viele eindeutige Elemente vorhanden sind, und die Länge gibt die Anzahl der von Ihnen verwendeten Elemente an. Wenn Sie also nur Ziffern verwenden, gibt es zehn Variationen (0 bis 9). Wenn Sie Wörter aus einem Wörterbuch verwenden, befinden sich jedoch viele Wörter im Wörterbuch. Dann ist rate_per_time genau so schnell, wie Sie annehmen, dass der Angreifer knacken kann. Ein angemessener Wert liegt bei mehreren zehn Milliarden pro Sekunde.
Beispiel: 10^14/10e9/3600 zeigt Ihnen, wie viele Stunden es dauern würde, einen Code mit 14 Ziffern zu knacken, wenn Sie 10e9 Versuche pro Sekunde annehmen (es gibt 3600 Sekunden in einer Stunde, 60 * 60).

Einige Websites sind intelligent und verwenden einen langsamen Hashing-Algorithmus. Wir können nicht sagen, um welche es sich handelt, da der Server das Hashing ausführt, sodass Sie es von außen nicht sehen können. Wenn dies der Fall ist, dauert die Berechnung einer einzelnen Vermutung viel länger (für den Server, aber auch für einen Angreifer). In einem vernünftigen Fall kann ein gut finanzierter Angreifer nur fünfzigtausend Vermutungen pro Sekunde anstellen. In diesem Fall würde ein 9-stelliges Passwort ausreichen. Aber 9 zufällige Zeichen sind für viele verschiedene Konten bereits sehr schwer zu merken, besonders wenn Sie sie nicht alle regelmäßig verwenden. Daher ist ein Passwort-Manager erforderlich, um wirklich Sicherheit in Passwörtern zu haben.

Aber ist es wirklich notwendig, eindeutige Passwörter zu haben? Warum nicht sichere Passwörter auf einigen verschiedenen Websites wiederverwenden? Weil Websites häufig kompromittiert werden. Es ist nicht alltäglich, aber versuchen Sie, Ihre E-Mail-Adresse (n) in haveibeenpwned.com einzugeben: Es passiert definitiv viel. So werden Konten am häufigsten gehackt: Wiederverwendung von Passwörtern. Kompromisse von Passwort-Managern sind viel seltener.

0
Luc