Die empfohlene Mindestkennwortlänge beträgt ca. 8 Zeichen. Gibt es also eine standardmäßige / empfohlene maximale Kennwortlänge?
Die empfohlene Mindestkennwortlänge beträgt ca. 8 Zeichen. Gibt es also eine standardmäßige / empfohlene maximale Kennwortlänge?
Die Antwort auf diese Frage lautet, wie bei vielen Sicherheitsfragen, "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 Angriff auf das Erraten von Passwörtern (online oder offline).
Für das Erraten von Online-Passwörtern, falls Sie dies getan haben Wenn Sie 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 lauten wird.
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 sind
Abgesehen davon ist eine Sache, die auf der Seite der Kontosperrung zu beachten ist, dass aggressive Richtlinien hier für Online-Anwendungen einen Denial-of-Service-Angriff ganz einfach machen können, ohne zusätzliche Gegenmaßnahmen.
Wenn das Risiko von Offline-Brute-Force besteht, wird das Passwort gestärkt gth wird 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 ein Buch mit dem Titel Authentifizierung: Von Passwörtern zu öffentlichen Schlüsseln
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.
Wenn Sie das Kennwort haschen möchten, warum sollten Sie dann eine Obergrenze festlegen?
Sie müssen sich keine Gedanken darüber machen, ob Sie die maximale Zeichengrenze für Textfelder, webbasiert oder auf andere Weise, erreichen möchten. Es ist also denkbar, dass Sie maximal ein paar hundert Zeichen festlegen, um einige Randbedingungen für die von Ihnen verwendeten Textfelder einzuschränken.
Natürlich, wenn Sie über das Generieren eines Kennworts sprechen, das Sie ' Ich werde versuchen, auf mehreren Websites zu verwenden, dann macht es nichts; 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. P. >
Bearbeitet, um hinzuzufügen: etwas, das im Vorbeigehen hier erwähnt wurde, ließ mich innehalten:
Sie müssen die Hashing-Arbeit auf das skalieren, was auf Ihren Servern oder auf Ihren Servern verfügbar und angemessen ist Geräte. Zum Beispiel hatten wir in Discourse einen kleinen Denial-of-Service-Fehler, bei dem Benutzer bis zu 20.000 Zeichenkennwörter in das Anmeldeformular eingeben konnten.
Es könnte sich daher lohnen, beide angemessen einzuschränken Festlegen und Versuchen von Passwörtern, wenn Sie Dinge auf eine Weise haschen, die so rechenintensiv wie möglich sein soll. Ein paar hundert Zeichen verhindern möglicherweise immer noch, dass die Dinge zu stark explodieren, und sind dennoch weitaus mehr, als ein Benutzer jemals versuchen könnte.
Bruce Schneier hat einige interessante Artikel zu Kennwortrichtlinien.
Kennwörter aus der realen Welt - Informationen zu Kennwortlänge, Komplexität und allgemeinen Kennwörtern.
Kennwortempfehlung - Einige Vor- und Nachteile, einschließlich:
- Verwenden Sie einen Kennwortmanager
- Ändern Sie Kennwörter häufig. Ich ändere 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.
/blockquote>
und viele mehr
Ändern von Kennwörtern - eine ausführliche Diskussion darüber, wie oft Sie je nach Verwendung und Bedrohungsumgebung Änderungen vornehmen sollten .
Es sollte keine maximale Kennwortlänge geben. Wenn der Benutzer die Verwendung eines sehr langen Kennworts akzeptiert, sollte er empfohlen und nicht blockiert sein.
Da Software so ist, wie sie ist, erzwingen mehrere Systeme eine Begrenzung der Kennwortgröße, 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.
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.
Bis zur maximalen 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 Kennwörter, die länger als Ihre Hash-Ausgabe sind, keine weitere Entropie hinzufügen, wenn Sie Ihr Kennwort 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 enormen Komplexitätsrenditen führt und wahrscheinlich erforderlich sein sollte. Das Erfordernis numerischer Zeichen erhöht Ihr Alphabet möglicherweise um 20%, was nicht ganz so wichtig ist, und das Erfordernis von Symbolen erhöht das Ergebnis um 16% bis 40% (je nachdem, welche Symbole Sie zählen) und wiederum nicht Eine ebenso bedeutende Rendite, die aber auf keinen Fall verboten werden sollte.
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 verwenden ein Hauptkennwort für die Authentifizierung (dies hängt wiederum von Ihrem Vertrauen auf Websites wie lastpass.com ab) oder ein clientseitig verschlüsseltes 1-Kennwort-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 festgelegt (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, ist es an der Zeit, einen "sicheren" Kennwortmanager zu verwenden. (Für die Aufzeichnung ist Firefox-Passwort-Manager überhaupt nicht sicher)
16 Zeichen.
Dies gibt Ihnen 96 Bit 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 Master-Passwort-Funktion 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 Kennwortkomplexität, und er wollte ein zusätzliches Plugin verwenden, um weitere hinzuzufügen!)
Bis zu dem Punkt, dass es unmöglich wäre, jemals ein Kennwort zu generieren, an das man sich erinnern kann. Ich hatte erwartet, dass die ungewaschenen Massen ihn finden und ihn nach seiner Umsetzung tarieren und federn würden.
Mit anderen Worten, Sie können zu weit gehen.
Im Jahr 2019 ist für ein sicheres Kennwort / eine sichere Passphrase eine Zufälligkeit erforderlich:
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 Passwörter für alles andere in einem Passwort-Manager.
Relevant: Benötigt der durchschnittliche Benutzer wirklich einen Passwort-Manager?
Die Antwort mit der höchsten Bewertung lautet "Ja" ".
Relevant: Wie sicher sind Passwortmanager?
Aus der Top-Antwort von paj28 (Hervorhebung von mir):
für Für die meisten Menschen sind diese Risiken akzeptabel, und ich würde vorschlagen, dass der Ansatz, einen Passwort-Manager [für] die meisten Ihrer Passwörter zu verwenden, besser ist als überall dasselbe Passwort zu verwenden - was die Hauptalternative zu sein scheint. Aber ich würde nicht jedes Passwort dort speichern; Bemühen Sie sich, Ihre wichtigsten Informationen wie das Online-Banking auswendig zu lernen.
Häufig erwähnte Kennwortmanager 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 es nicht sehr sicher (die Details hängen jedoch von der genauen Implementierung ab, die für sich genommen ein ganzes Thema darstellt).
Wenn Sie eine Anwendung erstellen, sind hier einige nützliche Überlegungen:
Wie werden Kennwörter sicher gehasht?
Zusammenfassung: Verwenden Sie Scrypt oder Argon2 so langsam wie Sie kann gehen. Wenn diese nicht verfügbar sind, sind Bcrypt oder PBKDF2 akzeptable Alternativen. Fügen Sie sowohl Salz als auch Pfeffer hinzu.
Sollte ich eine maximale Passwortlänge haben?
Zusammenfassung: Nur gegen DoS-Angriffe, also einige Kilobyte oder so.
Implementieren Sie clientseitiges Passwort-Hashing
Vollständige Offenlegung: Ich verweise auf meine eigene Antwort, weil ich denke, dass dies der Fall ist die vollständigste. Lesen Sie auch die Meinungen anderer Personen.
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 spezielle Frage, 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. P. >
Websites sind viel milder, sodass ein Angreifer mehr Versuche ausführen 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 Kennwort: 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.
Übrigens ist die Berechnung der Passwortstärke einfach: Variationen ^ Länge / erraten_per_time
. Die Variation gibt an, wie viele eindeutige Elemente vorhanden sind, und die Länge entspricht der Anzahl der von Ihnen verwendeten Elemente. 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 erraten_per_time, wie schnell Sie annehmen, dass der Angreifer knacken kann. Ein vernünftiger Wert liegt bei mehreren zehn Milliarden pro Sekunde.
Beispiel: 10 ^ 14 / 10e9 / 3600
zeigt an, wie viele Stunden es dauern würde, einen Code mit 14 Ziffern zu knacken, wenn Sie 10e9-Versuche annehmen pro Sekunde (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.
Mir scheint, dass die Länge und Komplexität des Passworts zu weit gegangen ist. In Kombination mit guten Sperrrichtlinien sollten 10 mehr als genug sein. Derzeit reichen 4 Nummern aus, um Geldautomaten-Transaktionen abzusichern. Auch Telefonsperren gehen bis zu 4, erfordern jedoch häufig 6. Die Sperrrichtlinie ist der wichtigste Teil der Formel. Wenn ein Benutzer jemanden kontaktieren muss, um ein Konto zu entsperren, kann die Größe kleiner sein. Wenn die Sperrung für einen bestimmten Zeitraum erfolgt, sollte das Kennwort angezeigt werden.
Die Kriterien, die ich für Kennwörter verwende, sind folgende:
Wenn ich das Passwort aufschreibe, teile ich es in Vierergruppen ein, damit es leichter zu merken ist. Zum Beispiel:
bxkx osnt spmf jmwz ivyj