it-swarm.com.de

Was ist schlimmer für die Passwortstärke, eine schlechte Passwortrichtlinie oder überhaupt keine Passwortrichtlinie?

Kürzlich habe ich den folgenden Screenshot auf Twitter gesehen, der eine offensichtlich schreckliche Passwortrichtlinie beschreibt:

(bad password policy

Ich frage mich, was für die Passwortstärke schlimmer ist. Sie haben überhaupt keine Passwortrichtlinie oder eine schlechte Passwortrichtlinie (wie im Screenshot beschrieben)?

75
Bob Ortiz

Die Frage ist: Schlimmer für was?

Mit der von Ihnen veröffentlichten Richtlinie sind die möglichen Kennwörter kleiner als 64⁸ (~ 2,8 * 10¹⁴). In der Praxis werden sehr viele Passwörter wahrscheinlich [a-z] * 6 [0-9] [Sonderzeichen] (z. B. aabaab1!) Und ähnliche Passwörter sein.

Alle möglichen Passwörter mit denselben Zeichen und einer Länge von weniger als 8 sind nur 64⁷ + 64⁶ + 64⁵ + ... was ~ 4,5 * 10¹² entspricht. Das ist viel weniger als die Passwörter mit der Länge 8, daher erhöht es die Sicherheit nicht wesentlich, sie zuzulassen. (Das Zulassen längerer Passwörter würde die Sicherheit offensichtlich erheblich erhöhen.)

Ohne Richtlinien werden viele Leute natürlich auch falsche Passwörter verwenden. Aber ein Angreifer kann sich nicht sicher sein. Auch einige Leute werden bessere Passwörter verwenden.

Ohne eine Richtlinie kann ein Angreifer niemals sicher sein, wie schwierig es ist, ein Passwort zu knacken. Wenn Sie mir eine Datenbank mit Passwort-Hashes geben, könnte ich versuchen, diese zu knacken. Aber wenn es keine Ergebnisse gibt, könnte ich nach einiger Zeit aufhören. Mit der Richtlinie kann ich sicher sein, dass ich nach 64 ^ 8 Versuchen alle Passwörter habe.

Ich würde sagen, eine schlechte Passwortrichtlinie ist schlimmer. Aber es kommt auf das Angriffsszenario an.

Mit einem Speicherauszug von Passwort-Hashes ohne Passwortrichtlinie ist es sehr wahrscheinlich einfacher, ein Passwort zu knacken, aber die meisten Passwörter sind schwerer zu knacken. Mit einer schlechten Richtlinie wie der angegebenen ist es einfacher, alle Passwörter zu knacken, aber höchstwahrscheinlich etwas schwieriger, die erste zu knacken.

Wenn Sie sich Sorgen machen, wie schwierig es ist, Ihr eigenes Passwort zu knacken, können Sie ohne Richtlinien ein sicheres 20-Zeichen-Zufallspasswort verwenden, wenn Sie möchten. Wenn die Richtlinie vorhanden ist, müssen Sie ein unsicheres Kennwort verwenden. (In der Praxis ist es relevanter, wie die Passwörter gespeichert werden und so weiter, aber das ist hier nicht möglich). Als Benutzer der Website/des Dienstes ist eine Richtlinie für falsche Passwörter viel schlimmer.

Wenn Sie es aus organisatorischer Sicht betrachten, ist eine Richtlinie für falsche Passwörter weitaus schlechter als keine.

Keine Passwortrichtlinie bedeutet, wahrscheinlich hat niemand darüber nachgedacht (nicht sehr gut, dass sie nicht an Sicherheit denken, aber ok ...)

Aber eine schlechte Passwortrichtlinie bedeutet: Jemand hat darüber nachgedacht und hat sich diesen Mist ausgedacht. Dies bedeutet, dass sie wahrscheinlich keine Ahnung von Sicherheit haben.

Wenn Sie eine Richtlinie für ein falsches Kennwort implementieren können, können Sie letztendlich auch eine gute Richtlinie implementieren, sodass es keine Entschuldigung für eine Richtlinie für ein falsches Kennwort gibt. Nur die Richtlinie in "Ein Passwort muss mindestens 8 Zeichen lang sein" zu ändern, würde die Sicherheit erheblich erhöhen und ist nicht schwer zu tun.

Jetzt frage ich mich, was für die Passwortstärke schlimmer ist. Haben Sie überhaupt keine Passwortrichtlinie oder eine schlechte Passwortrichtlinie wie auf dem Bild?

Die von Ihnen erwähnten Anforderungen an die Passwortstärke absolut mehr schaden als nützen, insbesondere die maximale Länge.

  1. Sie verwenden möglicherweise eine sehr alte, unsichere Hash-Routine. (also eine maximale Länge)
  2. In bestimmten Bereichen unterstützt dies den Komfort gegenüber der Sicherheit.
    (Bei der Darstellung eines Passworts im Klartext sind keine Leerzeichen hilfreich.
    Groß- und Kleinschreibung wird nicht berücksichtigt, daher gibt es keine Support-Anrufe mit Feststelltaste.)
  3. Andere Gegenstände sind einfach nur dumm.

Detaillierte Aufschlüsselung

Ihr Passwort muss:

  • Seien Sie genau acht Zeichen lang

Das einzige Mal, dass ich dies als vernünftige Lösung ansehen kann, ist, wenn das System ein Legacy-Hash-Schema ausführt, das alle bis auf die ersten 8 Zeichen abschneidet.

Beispielsweise verwendeten Solaris 10-Benutzerkontokennwörter standardmäßig ein solches Schema, sodass Kennwörter wie pas[email protected] wurden auf password abgeschnitten !!! Die Standardeinstellung für Solaris 11 weist dieses Manko nicht auf.

In diesem Fall

  1. Die Entwickler sollten an der Migration zu einer besseren Hash-Routine arbeiten, die Kennwortlängen über 8 unterstützt.

  2. Bis ein solcher Fix eingeführt ist, ist die maximale Länge vernünftig.

In jeder anderen Situation wäre es mit Sicherheit dumm, eine so kurze maximale Länge zu haben.

  • Geben Sie mindestens einen Buchstaben und eine Zahl an.

  • Fügen Sie mindestens ein Sonderzeichen aus dem folgenden Satz hinzu: ...

Diese sind aufgrund ihrer kurzen Maximallänge ein Muss. Ich bin sicher, Sie können die Notwendigkeit verstehen, solche primitiven Methoden zu verwenden, um die Entropie zu erhöhen, wenn ein kurzes Passwort verwendet wird.

  • Hinweis: Das Passwort unterscheidet nicht zwischen Groß- und Kleinschreibung.

Dies ist zwar für den Benutzer praktisch (keine Sorge um die Feststelltaste), wird jedoch niemals empfohlen, da dadurch die Entropie des Kennworts immer verringert wird. In diesem Fall wird aufgrund der maximalen Länge von 8 Zeichen noch mehr davon abgeraten.

Dies sollte behoben werden aber jetzt wäre es ein Problem für sie, da bestehende Benutzer bereits an die unsichere Konfiguration gewöhnt sind!

Keine Leerzeichen enthalten

Der einzige Grund, den ich dafür sehe, ist, dass sie das Passwort im Klartext präsentieren. (d. h. vergessene Passwort-E-Mail oder Suche nach technischem Support) Nach den meisten Standards ist das Software-Design schlecht (nicht sicher).

Eine bessere Richtlinie besteht darin, Suchvorgänge zu verbieten und nur Änderungen zuzulassen. Tatsächlich wird dringend empfohlen, einen starken (langsamen) Kennwort-Hash wie BCrypt zu verwenden, der Suchvorgänge als Teil seines Kerndesigns von Natur aus verbietet.

  • Beginnen Sie nicht mit ? oder !

Sehr seltsam, aber kein bedeutender Killer der Passwortentropie.

  • Beginnen Sie nicht mit drei identischen Zeichen

Meh, ich mache mir darüber keine allzu großen Sorgen, aber ich frage mich, warum sie nur am Anfang schauen. 3 identische/benachbarte Zeichen in einem 8-Zeichen-Passwort sind schwächer als es sein könnte.

  • Das Passwort muss sich von Ihren vorherigen 5 Passwörtern unterscheiden.

Zu diesem Thema gibt es wahrscheinlich eine spezielle Frage zum Austausch von Sicherheitsstapeln. Dies ist eine gängige Praxis für Online-Banking und bestimmte andere Authentifizierungssysteme.

Ich gehe davon aus, dass dies auch mit einer obligatorischen geplanten Änderung des Passworts verbunden ist. Die wahrscheinlichen Ergebnisse sind:

  • Benutzer schreiben ihr Passwort auf, anstatt ihren Speicher zu verwenden.
  • Oder Benutzer wählen ein einfaches Muster.

Wenn die Kennwortänderung jedoch nicht obligatorisch ist, besteht das einzige Problem darin

  • Der Hash-Wert der nicht verwendeten Passwörter muss weiterhin gespeichert werden, damit der Vergleich funktioniert.

und obwohl das kein ernstes Problem ist, ist es verpönt.

38
Bryan Field

Eine schlechte Politik wie diese ist schlimmer als keine.

Diese Richtlinie bedeutet, dass Personen, die normalerweise '123' verwenden, jetzt ein etwas sichereres Kennwort haben, das jedoch immer noch schwach ist. Es bedeutet auch, dass die Leute, die so etwas wie 'fzFEZ # 5 $ 3rt4564ezezRTyht' (zufällig generiert) oder einfach nur 'cat j_umps over the brown paint wall412' (starke Entropie) verwenden, jetzt ein viel schwächeres Passwort haben.

Die Leute, die ohnehin schwache Passwörter verwenden, werden auch in diesem Fall gehackt (weil diese restriktive und schwache Richtlinie und der Angreifer in der Lage sind, bestimmte Angriffsregeln festzulegen). Aber Menschen, die normalerweise sichere Passwörter verwenden, werden dies auch tun.

Mit anderen Worten, es ist viel weniger sicher. Ohne Richtlinien sind nur Personen anfällig, die schwache Kennwörter verwenden. Jetzt ist jeder verwundbar.

15
O'Niel

meiner Meinung nach wäre es besser, keine zu haben. Eine Liste von Gründen ist:

  • Diese Richtlinien führen dazu, dass Benutzer dazu neigen, ihre Passwörter aufzuschreiben und sie an die Monitore oder ähnliches zu kleben. (Welche Sicherheit bietet ein Passwort als Lieferung?)
  • Diese Regeln lassen sich leicht ableiten und (mithilfe dieser Art von Boxen) sogar potenziellen Eindringlingen mitteilen. (Geben wir der Person, die wir behalten möchten, die 'Regeln' für die Passform unserer Passwörter an, damit sie nur einen begrenzten Satz ausführen müssen ...)
  • Die Entropie eines Passworts wird erheblich verbessert, indem es länger wird. 8 ist heutzutage trivial genug, dass ein Angriff ein mobiles Gerät verwenden könnte, um ein Passwort brutal zu erzwingen.
  • die Regel, Fälle zu mischen und nicht nach ihnen zu suchen, legt nahe, dass das Passwort im Klartext angezeigt wird (selbst wenn der Speicher verschlüsselt ist, wird der Verschlüsselungsschlüssel meistens mit den Daten gespeichert, was effektiv bedeutet, dass er im Klartext gespeichert ist). .
  • Für die meisten Anwendungen würde ein anderes Schema eine weitaus größere Sicherheit ermöglichen, ohne dass ein Kennwort erforderlich wäre, z. B.:
    • 2 Faktorauthentifizierung.
    • Sekundäre Geräteauthentifizierung.
    • Smartcard-Authentifizierung.

Diese Richtlinien scheinen von jemandem durchdacht zu sein, der nicht vollständig versteht, wie sich Bedrohungen für ein Kennwort auf Ihr System auswirken. Stattdessen kreuzen sie aus irgendeinem Grund einfach alle Kästchen an.

davon abgesehen kann es einen echten Grund geben, warum sie dies getan haben. Einige Zertifizierungen und Verwendungen erfordern die Implementierung einiger dieser Zertifizierungen (denken Sie an den Gesundheitssektor oder eine staatliche Verwendung).

6
LvB

Keiner ist besser als der gezeigte, insbesondere wegen der 8-Zeichen-Grenze.

Alle 8 Char Combos können in einer Sekunde mit einer GPU der Titan-Familie und John the Ripper getestet werden. Obwohl nicht alle Passwortrichtlinien nachteilig sind (die Mindestlänge ist gut, eins + Sonderzeichen erzwingt ein größeres Crack-Alphabet, keine Wörterbuchwörter usw.), ist das gezeigte ein Witz, der nicht sehr lustig ist. Alles in allem ist das schlimmer als nichts, da Kennwortmanager oder intelligente Benutzer sich dadurch nicht besser schützen können als mit der Standardrichtlinie.

Richtlinien sollten niemals gute Passwörter aufhalten, nur schreckliche.

4
dandavis

Was ist schlimmer für die Passwortstärke, eine schlechte Passwortrichtlinie oder überhaupt keine Passwortrichtlinie?

Das hängt davon ab, wie die schlechte Passwortrichtlinie lautet.

  • "Ihr Passwort muss 'letmein' sein" ist eine schlechte Passwortrichtlinie, die definitiv schlechter ist als gar keine Richtlinie, da sie verhindert, dass jemand ein gutes Passwort hat.

  • "Ihr Passwort muss aus mindestens zwei Zeichen bestehen" ist eine schlechte Passwortrichtlinie, die definitiv besser ist als gar keine Richtlinie, da sie es jedem ermöglicht, ein gutes Passwort zu verwenden, und einige schlechte Passwörter verhindert.

3
David Richerby

Es gibt bereits eine Reihe guter Antworten, aber ich betrachte dies immer gerne aus einer etwas anderen Perspektive. Wenn Sie überlegen, wie sich etwas auf Versuche auswirkt, ein Passwort zu knacken, müssen Sie sich ansehen, wie sie versuchen, dieses Knacken durchzuführen. Grundsätzlich läuft dies auf zwei Methoden hinaus. Brute Force und "intelligentes" Raten, also schauen wir uns diese beiden an.

1) Brute Force.

Genau so klingt es. Sie versuchen jedes mögliche Passwort. Dies ist der Klassiker, bei dem jeder Pin von 0000 bis 9999 mit einem 4-stelligen numerischen Schloss getestet wird. Die Schlüsselfaktoren hierbei sind die Anzahl der möglichen Passwörter und wie lange es dauert, jede Vermutung zu versuchen. Hier könnte die Passwortregel großartig sein und Brute Force als praktikable Option aufgrund der 8-stelligen Anforderung vollständig eliminieren. Es kann auch völlig katastrophal sein, wenn ein ausreichend schwacher Hash verwendet wird, und es kann garantiert werden, dass jedes mögliche Kennwort in angemessener Zeit an einen Angreifer mit genügend Ressourcen geknackt wird.

Angesichts der Tatsache, dass die Regeln in diesem Fall stark auf etwas ziemlich Altes im Backend hindeuten, ist es durchaus möglich, wenn nicht wahrscheinlich, dass das Passwort mit etwas ziemlich Schwachem wie MD5 oder SHA1 gehasht und wahrscheinlich nicht gesalzen ist und die Regeln möglicherweise katastrophal sind. In erster Linie die Länge, aber auch die Groß- und Kleinschreibung wird nicht berücksichtigt, wodurch die möglichen Zeichen um ~ 30% reduziert werden. Sie haben derzeit 26 Zeichen + 10 Zahlen + 28 Symbole für 64 verschiedene Zeichen in einem Passwort. Sie würden 90 Zeichen haben, wenn sie zwischen Groß- und Kleinschreibung unterscheiden würden.

Basierend auf einigen schnellen Suchvorgängen scheint es sehr wahrscheinlich zu sein, dass die Regeln tatsächlich katastrophal sind, wenn wir einen Angreifer mit einer angemessenen Menge an Ressourcen annehmen und dass er einen dieser schwachen Hashes verwendet Gefahr, in naher Zukunft katastrophal zu werden, da die Rechenleistung die Crackrate erhöht. Ein Passwort mit mehr als 8 Zeichen ist möglicherweise erforderlich, um sicher zu sein, lässt es jedoch nicht zu.

Ist es möglich, alle 8-Zeichen-Passwörter bei einem Offline-Angriff brutal zu erzwingen?

2) "Intelligentes" Raten

Irgendwann wird die Brute-Force-Methode unpraktisch, es würde Monate dauern, um alle Passwörter zu testen, oder unmöglich, es würde Jahrtausende dauern, um sie alle zu testen, und "intelligentes" Erraten übernimmt. Hier sehen Sie Wörterbuchangriffe, entweder wörtliche Wörter aus dem Wörterbuch oder Listen zuvor verwendeter Kennwörter sowie regelbasierte Angriffe. Die regelbasierten Angriffe verwenden das Wörterbuch und beginnen, Dinge hinzuzufügen oder zu ändern, um verschiedene Variationen dieser Passwörter vorzunehmen. Fügen Sie am Ende eines sechsstelligen Wortes eine Zahl und ein Sonderzeichen hinzu, um ein achtstelliges Passwort zu erhalten, das die Passwortanforderungen erfüllt. Machen Sie das Passwort "leet", indem Sie das Passwort in p @ ssw0rd umwandeln. Dies wäre ein gültiges, aber schnell geknacktes Passwort in diesem System usw. Diese Regeln können fast alles sein, was Sie sich vorstellen können, was Ihrer Meinung nach sinnvoll ist und sich ständig weiterentwickelt, wenn wir mehr erfahren darüber, wie Personen ihre Passwörter normalerweise basierend auf früheren Lecks auswählen.

Unter der Annahme, dass das Knacken an diesem Punkt angekommen ist, werden die von ihnen angegebenen Kennwortregeln in die Regeln aufgenommen, nach denen der Angreifer sein mögliches Kennwort generiert hat. Hier sind ihre Regeln nicht so katastrophal, würden aber dennoch zu weitaus weniger gültigen möglichen Passwörtern führen, was das Knacken beschleunigen würde. Dies würde wahrscheinlich auch zu einigen sehr vorhersehbaren Passwörtern mit Symbolen/Zahlen am Anfang/Ende des Passworts oder als Teil einer sehr vorhersehbaren Ersetzung führen.

1

Wenn Benutzer Kennwörter zufällig auswählen, würden Kennwortrichtlinien die Sicherheit verschlechtern, indem sie die Auswahl möglicher Kennwörter einschränken, Benutzer wählen Kennwörter jedoch nicht zufällig aus. Das Ziel einer guten Kennwortrichtlinie sollte darin bestehen, einen Benutzer dazu zu bringen, mehr Auswahlmöglichkeiten zu treffen und daher ein stärkeres Kennwort zu wählen, ohne den Kennwortbereich übermäßig einzuschränken.

Diese Politik hat gute und schlechte Aspekte.

genau 8 Zeichen lang sein

Eine minimale Länge ist gut, eine maximale Länge ist schlecht.

Geben Sie mindestens einen Buchstaben und mindestens eine Zahl an.

Dies ist gut, da es die Benutzer dazu bringt, sowohl eine buchstabenbasierte als auch eine zahlenbasierte Komponente auszuwählen.

Das Passwort unterscheidet nicht zwischen Groß- und Kleinschreibung.

Dies reduziert die Größe des eingestellten Passworts erheblich. Auf der anderen Seite verwenden die meisten Menschen keine Hauptstädte, es sei denn, sie werden ohnehin gezwungen, und wenn sie diese verwenden, tendieren sie dazu, dies auf vorhersehbare Weise zu tun.

Fügen Sie mindestens ein Sonderzeichen hinzu

Wieder gut, es drängt den Passwort-Ersteller, eine andere Wahl zu treffen.

Verbotene Räume und Regeln für? und !

Ich bezweifle, dass dies einen großen Unterschied macht.

verbotene wiederholte Zeichen beim Start

Wahrscheinlich eine gute Sache, bedeutet, dass der Benutzer das Passwort nicht einfach mit Wiederholungen eines einzelnen Buchstabens füllen kann.

Insgesamt würde ich sagen, wenn Sie ahnungslose Benutzer haben, ist diese Richtlinie wahrscheinlich besser als nichts, aber wenn Ihre Benutzer eine Ahnung von anständigen Passwörtern haben, wird sie wahrscheinlich mehr schaden als nützen.

0
Peter Green

Ich werde einen anderen Weg gehen als alle anderen Antworten bisher ... und sagen, dass es irgendwann egal ist. Der Algorithmus ist weitaus wichtiger als die Passwortregeln.
Zum Beispiel könnte jemand ROT13 verwenden, schrecklich, ja.
Oder verwenden Sie MD5 ein bisschen besser.
Oder noch besser SHA-1.
Vielleicht fügen sie dann Salz hinzu.
Verwenden Sie möglicherweise crypt ().
Vielleicht dann Pfeffer hinzufügen.
Dennoch kann ein GPGUP Milliarden von Passwort-Hashes in einer Sekunde durchbrennen. Also, was noch?
SHA-2-512 mit 128 Bit Salz. Noch viel besser, GPGPU kann viele davon.
Wechseln Sie zu bcrypt. Viel besser. Jetzt kommen wir über den Punkt hinaus, an dem eine einzelne GPGPU sie alle schnell brennen kann.
Wechseln Sie zu PBKDF2 mit vollem Salz und Pfeffer und 10.000 Runden.
Bis dahin muss ein sehr kurzes Passwort "nicht geknackt" werden, da der Algorithmus so langsam ist.

Hier ist eine Tabelle , die helfen könnte, es zu erklären:

    Tries/sec
NTLM    350,000,000,000  
MD5     180,000,000,000  
SHA1     63,000,000,000  
SHA512Crypt     364,000  
Bcrypt           71,000    

Ein beschissenes Passwort, das mit bcrypt gehasht wurde, ist also besser als ein gutes, das mit MD5 gehasht wurde.

0
MikeP

Es kommt wirklich auf den Endbenutzer an. So wie ich es sehe, ist es am besten, auf eine formelle, zumindest restriktive Passwortrichtlinie zu verzichten, wenn Sie als Unternehmen/Website nicht haftbar sind, wenn jemandes Konto kompromittiert wird.

Ich war immer der Meinung, dass der Benutzer für seine eigene Sicherheit verantwortlich sein sollte, da er die Auswirkungen von Dingen wie schwachen Passwörtern versteht.

Zugegeben, dieser letzte Teil ist der Schlüssel. Wenn der Benutzer es nicht besser weiß, sollten Sie ihn zwingen, ein sichereres Passwort zu haben, als er verwenden möchte. Eine Kennwortrichtlinie sollte jedoch nur sicherere Kennwörter fördern und nicht die Kennwortstärke einschränken, wie Ihr Beispiel zeigt.

Ich bin persönlich mit meiner Universitätswebsite darauf gestoßen. Mein alphanumerisches Passwort von beträchtlicher Länge entsprach nicht der Passwortrichtlinie, was einige (aber nicht alle: /) Sonderzeichen entmutigte. Das Ergebnis war ein absichtlich schwächeres Passwort, da es für mich schwieriger war, mich an ein Passwort zu erinnern, das ich nicht absichtlich gespeichert habe.

Und vor allem in diesem Fall vermute ich, dass die "Passwortrichtlinie" eher eine Ausrede war, um eine Analyse/Bereinigung von Zeichenfolgen im Backend zu vermeiden, als ein legitimer Weg, um eine bessere Sicherheit zu fördern.

Schließlich sollten sich Kennwortrichtlinien, falls implementiert, mit der Zeit ändern. Das heißt, was in den neunziger Jahren möglicherweise als sicheres Kennwort galt, ist 2016 nicht mehr der Fall, wenn der Durchschnittsverbraucher Cloud Computing oder GPU-Cluster nutzen kann, um eine enorme und ständig wachsende Menge an Computerleistung auf Ihre Kennwörter zu übertragen.

0
Verbal Kint