Frage:
Spezifische zeichenbasierte Richtlinie für Kennwörter
Woodstock
2020-06-02 17:26:23 UTC
view on stackexchange narkive permalink

Ich frage mich, ob es klarer wäre, eine unternehmensweite Anforderung in Bezug auf die passworttheoretische Entropie zu deklarieren, als das übliche "mindestens einen großen Buchstaben und einen kleinen letzteren und ein Sonderzeichen ..."

Wenn wir also ein vernünftiges Entropieniveau anstreben, an das sich der Mensch erinnern soll, z. B. 60 Bit , dann berechnen Sie die Entropie.

Dies kann dynamisch und lokal berechnet werden Geben Sie dem Benutzer nach Bedarf Feedback.

Ist dies nicht eine bessere sprach- / regionunabhängige Methode, um eine Kennwortrichtlinie zu erstellen?

Das einzige Problem besteht darin, die durchschnittliche Person dazu zu bringen, es zu verstehen.
Wie definieren Sie "besser"?
Dies hängt von der Sicherheitsstufe ab, die Sie erreichen möchten. Das reine Betrachten der Entropie ermöglicht auch gebräuchliche Passwörter wie: 'Password1234' (50,8 Bit) und 'MyPassword101' (58,7 Bit).
@roy.stultiens Nein, das tut es nicht, weil * Passwörter * keine Entropie haben.* Kennwortgenerierungsmethoden * haben Entropie, und es ist außerordentlich unwahrscheinlich, dass eine Generierungsmethode mit mehr als 50 Bit diese Kennwörter erzeugt.Wenn eine Generierungsmethode 50 Entropiebits aufweist, bedeutet dies (in erster Näherung), dass mindestens 2 ^ 50 Passwörter vorhanden sind, aus denen sie ausgewählt werden könnte.
@Ray, Normalerweise kennt der Cracker die Generierungsmethode nicht. In diesem Fall ist die Entropie in Bezug auf die Crackmethode, im Grunde die Wahrscheinlichkeit, dass sie dieses Passwort versuchen, interessanter.Natürlich, da jede Crackmethode diese beiden Beispiele in den ersten tausend oder so versuchen wird, beträgt ihre Entropie 8 Bit Geben oder Nehmen.
@JanHudec Obwohl der Cracker die Generierungsmethode nicht kennt, nimmt sie eine vernünftige Vermutung an, was dazu führt, dass Passwörter wie "12345" frühzeitig versucht werden und ": C
@JensSchauder, natürlich;Wenn Sie jedoch einige Wörter finden, die für Sie aus einem bestimmten Grund leicht zu merken sind, aber keine gebräuchlichen Wörter sind, wird ein Angreifer, der die Methode nicht kennt, sie immer noch nicht erraten, obwohl die Methode, mit der sie generiert wurden, tatsächlich vorhanden wareine sehr niedrige Entropie.Ein gezielter Angreifer kann sie natürlich auf irgendeine Weise lernen und dann sind Sie in Schwierigkeiten.
@schroeder * Das einzige Problem besteht darin, die durchschnittliche Person dazu zu bringen, es zu verstehen. * Viele Schnittstellen verfügen heutzutage über eine dynamisch aktualisierte Leiste, die die "Stärke" meines neuen Passworts misst, während ich es eingebe.Ich denke, dass der durchschnittliche Benutzer diese Art von Benutzeroberfläche gut verstehen kann.
@FedericoPoloni ist eine Benutzeroberfläche, keine Richtlinie
@schroeder Die Richtlinie lautet "Ihr Passwort ist akzeptabel, wenn die Leiste" stark "ist", und ich denke, das ist alles, was der Endbenutzer wissen muss.
Fünf antworten:
Conor Mancone
2020-06-02 17:36:56 UTC
view on stackexchange narkive permalink

Das grundlegende Problem ist, dass die Entropie nur aus dem Kennwort selbst geschätzt werden kann und dass diese Schätzung sehr, sehr falsch sein kann. Die Entropie wird durch die Kennwortgenerierungsmethode bestimmt. Sie können die Entropie der Methode nicht mit einem einzigen Kennwort messen.

Schauen wir uns ein praktisches Beispiel an. Ich finde es am einfachsten, sehr lange Passwörter zu speichern, die aus einem kleinen Passwortbereich generiert wurden. Daher werde ich nur Zahlen verwenden und es sehr lang machen. Ihr Algorithmus überprüft mein Passwort und stellt fest, dass es nur Zahlen enthält (auch bekannt als Zeichensatzgröße 10) und dass es 20 Zeichen lang ist. Dies ergibt eine Entropie von:

log2 (10 ^ 20) = 66,4

Es besteht Ihren Test! Schauen wir uns jedoch das Passwort an:

01234567890123456789

Hmmm ... stellt sich heraus, dass die tatsächliche Entropie hübsch ist viel Null.

Ich könnte viel technischer werden, aber in diesem Fall denke ich, ist es besser, die Antwort einfach zu halten. Ich glaube, dieses Beispiel sollte eine ausreichende Antwort auf Ihre Frage liefern.

Danke, positiv bewertet!Ich fordere die Leute auf, ein zufälliges Passwort zu wählen, aber ich stimme zu, dass dies eine Frage für den durchschnittlichen Benutzer ist.
Wenn Sie dies vorschreiben, können Sie Ihr System möglicherweise genauso gut dazu bringen, das zufällige Kennwort für sie auszuwählen.Wenn Sie das tun, werden Sie natürlich steuern, wie viel Entropie in sie fließt.
Ich fand, dass eine gute Option darin besteht, einen Passwort-Manager wie KeePass zu verwenden und Passwörter generieren zu lassen (und diese natürlich zu speichern). Durch die Verwendung von Cloud-Speicher (mein eigener Server, verschlüsselte Passwortdatenbank) ist es möglich, von überall auf Passwörter zuzugreifenund lassen Sie sie bei Bedarf automatisch in Anmeldeformulare eingeben.
Tatsächlich wird die Entropie durch die Methode bestimmt, mit der * sie geknackt wird *, die mit der zur Erzeugung verwendeten Entropie in Beziehung stehen kann oder nicht.
@JanHudec stimmt leider nicht.Die Entropie ist der Kennwortgenerierungsmethode eigen.Eine 4-stellige Zahl hat 9999 Möglichkeiten - das ist die Entropie.Wenn ein Angreifer dies nicht erkennt und versucht, alle alphanumerischen Zeichenfolgen mit 4 Zeichen brutal zu erzwingen, wird er viel mehr Arbeit für sich selbst leisten, aber die Entropie des Kennworts hat sich nicht geändert.Ihr Kommentar ist so, als würde man sagen, dass mein Alter von meinem Führerschein bestimmt wird - während mein Führerschein eine Möglichkeit ist, mein Alter herauszufinden, ist mein Alter mir immer noch eigen.
@ConorMancone Aber was * meistens * wichtig ist, ist die Methode, mit der das Passwort geknackt wird.Die Zeit, die ein Passwort-Cracker benötigt, um Ihr Passwort zu finden, hängt von Ihrem Passwort und dem Cracker ab, nicht jedoch von der Methode, mit der das Passwort generiert wurde.Das Alter auf Ihrem Führerschein bestimmt, ob Sie Bier kaufen können oder nicht.:) Die Methode zur Kennwortgenerierung bietet natürlich eine praktische Garantie dafür, dass ein Kennwort mindestens so viele Versuche zum Knacken benötigt.
@TannerSwett ja, ich stimme zu 100% zu.Wenn es um Entropie geht, ist es jedoch nur sinnvoll, darüber zu sprechen, wie Passwörter generiert werden.Sie müssen nicht angeben, wie das Kennwort geknackt wird, um zu entscheiden, wie viel Entropie es hat.In einem Gespräch über die Berechnung der Cracking-Zeit müssen Sie natürlich etwas darüber wissen, wie es geknackt wird
Um die Sache zu komplizieren, ist es möglich (wenn auch höchst unwahrscheinlich), dass ein Generator mit hoher Entropie ein schreckliches Passwort wie Ihr Beispiel erzeugt.
schroeder
2020-06-02 17:36:26 UTC
view on stackexchange narkive permalink

Die Tests für jede Richtlinie sind:

  • Leute wissen davon
  • Leute verstehen es
  • Leute wissen, ob sie es einhalten
  • Leute wissen, wie , um es einzuhalten

Ihr Ansatz ist ungefähr 2 von 4 auf dieser Skala für der durchschnittliche Benutzer.

Die bessere Option besteht darin, zufällig generierte Passwörter anzufordern. Das ist leicht zu verstehen, leicht zu implementieren und Prozesse und Tools bereitzustellen ("Verwenden Sie einfach diesen Passwort-Manager").

Mit Ihrem Ansatz versuchen Sie im Grunde, Menschen dazu zu bringen, ihr eigener Zufallsgenerator zu sein. Dies wird zu vielen Versuchen und Irrtümern führen, da die Leute versuchen herauszufinden, welches Passwort den Test bestehen wird. Dies führt zu Frustration und Verwirrung.

Dies setzt jedoch voraus, dass Sie eine Richtlinie für den durchschnittlichen Benutzer schreiben und dass Ihre Entropieberechnung gültig ist (was derzeit neben dem Punkt Ihrer Frage zu stehen scheint, und ich habe einige ernsthafte Vorbehalte dagegen).

Ein guter Punkt, wie dies die Leute im Grunde dazu auffordert, wie Zufallszahlengeneratoren zu fragen.Einer (der vielen) Gründe, warum Menschen so schlecht mit Passwörtern umgehen, ist, dass wir von Natur aus schreckliche Zufallszahlengeneratoren sind.
Es ist nicht immer möglich (oder eher - praktisch), zufällige Passwörter zu verwenden.Ein Beispiel ist die Windows-Anmeldung.In diesem Fall ist eine xkcd-ähnliche Passphrase besser.Ansonsten ja - Passwortmanager.
@WoJ "random" muss nicht "random string" bedeuten."Random 3 words" ist ein Standard der britischen NCSC.
@WoJ Und um dem Kommentar von schroeder nachzugehen, geht die von Ihnen erwähnte xkcd-Methode ausdrücklich davon aus, dass alle Wörter einheitlich zufällig ausgewählt werden.Die Entropie ist niedriger, wenn Sie Passphrasen verwenden, die etwas bedeuten.
@schroeder: Ja, mein Kommentar war im Zusammenhang mit *. Die bessere Option ist, zufällig generierte Passwörter anzufordern.(...) ("Verwenden Sie einfach diesen Passwort-Manager") * Das Ergebnis eines Passwort-Managers ist keine wortbasierte Passphrase (und jetzt, wo ich darüber nachdenke, fehlt etwas in der einen).Ich benutzte).
@Ray: ja, es ist viel niedriger, wenn die Passphrase etwas bedeutet (noch mehr, wenn dies "etwas Bekanntes" ist).Es muss nichts bedeuten, auch wenn die Wörter verbunden sind, ist es ein Problem ("blau rot gelb grün").Alles in allem kann es viel besser sein als "password1234".Das ** echte ** Problem ist, wie Sie Ihren "Weg niedriger" und meinen "viel besser" im tatsächlichen Kontext der OP-Verwendung (jeder andere) richtig definieren können
@WoJ: [Bitwarden] (https://bitwarden.com/) verfügt über einen Passphrasengenerator im xkcd-Stil.Zum Beispiel hat es gerade für mich Folgendes erzeugt: "Decibel-Basin-Resurface-Ideally-Shelve1".(Dies ist keine Empfehlung von Bitwarden, es war einfach der einzige Passwort-Manager, der Clients für alle Betriebssysteme und Plugins für alle Browser hatte, die ich zum Zeitpunkt der Entscheidung benötigte. Der Kompromiss, dass es seinen eigenen Cloud-Synchronisierungsdienst verwendetanstatt mir zu erlauben zu wählen, war ein Kompromiss, den ich zu der Zeit machen wollte.)
@JörgWMittag: Ich verwende Bitwarden (und hoste es auch selbst) und wollte gerade eine Feature-Anfrage dafür öffnen: - |- Ich habe nie bemerkt, dass die Auswahl etwas anderes als "Passwort" enthält.Vielen Dank für das Öffnen meiner Augen (es ist wirklich ein großartiges Produkt übrigens)
Ray
2020-06-03 19:33:44 UTC
view on stackexchange narkive permalink

Bei der Auswahl einer Kennwortrichtlinie (oder eines Kennworts) ist es wichtig zu verstehen, dass Entropie keine Eigenschaft des Kennworts ist. Es ist eine Eigenschaft der Methode, mit der es generiert wird. Im Allgemeinen ist es eine Eigenschaft von Wahrscheinlichkeitsverteilungen, die uns ungefähr sagt, wie viele zusätzliche Informationen Sie benötigen würden, um ein aus dieser Verteilung gezogenes Element eindeutig zu identifizieren, wenn Sie wissen, um welche Verteilung es sich handelt. Ich gehe in einer vorherigen Antwort etwas detaillierter auf Sie ein, wenn Sie interessiert sind, aber für Passwörter bedeutet dies ungefähr , dass Sie Möglicherweise haben Sie eine Entropie von n generiert.

Wenn die Benutzer ihre eigenen Kennwörter generieren, können Sie nicht wissen, welche Methode sie verwendet haben. Sie können nur Richtlinien festlegen, die es wahrscheinlicher machen, dass die Benutzer eine Methode mit hoher Entropie auswählen. Wenn Sie dies tun, sollten Sie bedenken, dass Benutzer im Allgemeinen den faulsten Weg finden, eine Richtlinie einzuhalten. Aus diesem Grund entspricht die Anforderung, dass ein Kennwort Großbuchstaben und Zahlen enthalten muss, im Wesentlichen der Anforderung, dass der erste Buchstabe groß geschrieben wird Am Ende steht eine einzelne Ziffer.

Die beste Passwortrichtlinie, die ich gesehen habe, ist Stanfords, wodurch die Anforderungen an Sonderzeichen umso lästiger werden, je länger das Passwort ist die Verwendung langer Passphrasen anstelle von Password1 $ . Wenn das Kennwort weniger als 12 Zeichen enthält, sind alle Arten von Zeichentypen erforderlich. Diese Einschränkung wird mit zunehmender Länge gelockert. Sobald das Kennwort mindestens 20 Zeichen enthält, gibt es keine zusätzlichen Einschränkungen. (Es gibt auch keine obere Grenze für die Kennwortlänge. Nichts ist ärgerlicher als eine Kennwortrichtlinie, die mich zwingt, kurze Kennwörter im Namen der Sicherheit zu verwenden.) Anschließend wird vorgeschlagen, 4 Wörter zufällig als einfache Methode, um so lange Passwörter zu erhalten. Dies ist eine Methode zur Passwortgenerierung mit hoher Entropie.

Nach dieser Richtlinie ist der gute Ansatz auch der faulste, was bedeutet, dass die Benutzer dies möglicherweise tatsächlich tun.

Stanford Password Policy

@Woodstock Vielleicht finden Sie auch [DiceWare] (https://theworld.com/~reinhold/diceware.html) interessant.Ich persönlich verwende ihre Methode, aber mit einigen der EFF-Wortlisten (unten auf dieser Seite verlinkt)
Ich mag diesen Stanford-Ansatz.Weiß jemand, wie sie es implementieren?Ich weiß, wie Längenminima und Komplexitätsanforderungen (im Wesentlichen nur komplex oder nicht komplex) in Active Directory für Windows-Konten festgelegt werden, aber ich weiß nicht, wie ich die gestaffelten Anforderungen implementieren würde.
Ich denke, die Präsentation dieser Kennwortrichtlinie für einen normalen Benutzer würde zu einer von Natur aus unsicheren Übernahme durch Benutzer führen.Das Beispielkennwort besteht nur aus Substantiven, und es ist unwahrscheinlich, dass ein durchschnittlicher Benutzer zwischen mehr als 500 verschiedenen Substantiven wählt, wenn er nach einigen gefragt wird.Sie haben also nicht mehr als 60 Milliarden verschiedene Passwörter, was nach dem Durchsickern von Hashes immer noch recht einfach zu erzwingen ist.Und ich denke, die 500 Substantive sind immer noch stark übertrieben, weil ein normaler Benutzer sich zum Beispiel nur umschauen würde, um einige Substantive zu finden, die er verwenden kann.
@SpaceTrucker:Well, 60 Milliarden sind ungefähr 37 Bit Entropie (vorausgesetzt, jeder PW ist gleich wahrscheinlich).Das ist nicht schlecht für ein benutzergeneriertes Passwort ...
@DougDeden Obwohl ich keine Windows-Person bin, bezweifle ich, dass Sie dies in einem solchen Fall tun können.Diese Dinge sind einfacher, wenn Sie die volle Kontrolle über den Anmeldevorgang haben.
@SpaceTrucker Das ist eigentlich egal.Sie stellen sich einen Angreifer vor, der sagt: "Ich wette, diese Person hat gerade einige Substantive ausgewählt. Lassen Sie mich eine Liste gängiger Substantive laden und diese zum Erstellen meiner Bruteforce-Liste verwenden."Während so etwas passieren kann, wenn diese Art von Passwörtern üblich wird, ist dies derzeit nicht der Fall, so dass ein solches Passwort absolut sicher vor Angriffen ist, die für die meisten Benutzer eine Bedrohung darstellen.
@ConorMancone Zumindest für Konten im Zusammenhang mit der Stanford University würde ich vermuten, dass es bereits möglich ist, dass solche Passwörter jetzt häufig genug sind.
@SpaceTrucker Wie GalacticCowboy erwähnte, arbeitet Diceware in Verbindung mit dieser Richtlinie gut, um das Problem der "500 Nomen" zu lösen.Das Wörterbuch kann auf der Richtlinienseite verlinkt werden.Vier Diceware-Wörter ergeben 51,7 Bit Entropie.
@SpaceTrucker Ich stimme Ihnen zu.Es ist wichtig, Wörter aus einem großen Wörterbuch zufällig auszuwählen.Wenn Benutzer Wörter auswählen, die ihnen gerade in den Sinn kommen, wird das Wörterbuch auf einige Lieblingswörter oder allgemeine Objekte reduziert.So etwas wie "Schreibtischkaffeelampenfenster".Es ist wahrscheinlich nicht schlechter als die meisten regulären Passwörter, die von Benutzern ausgewählt wurden, aber es ist bei weitem nicht annähernd Diceware-Entropie.
@ConorMancone Wenn es anscheinend Infografiken gibt, die empfehlen, 4 Substantive als Best Practice zu wählen, ist es für einen Angreifer nicht unangemessen zu glauben, dass Benutzer genau das tun werden.
@kapex Genauer gesagt sollte es keine Rolle spielen, ob der Angreifer weiß, welche Methode Sie verwenden.[Der Feind kennt das System] (https://en.wikipedia.org/wiki/Kerckhoffs%27s_principle).Ein gutes Passwort ist sicher, da es Milliarden von Milliarden von Möglichkeiten gibt, auch wenn Sie die genaue Methode kennen.* Meine * Passwörter sind normalerweise 4 Wörter, die einheitlich aus der Unix-Wörterbuchdatei ausgewählt werden, alle in Kleinbuchstaben, getrennt durch Bindestriche.Wenn ein System auf Großbuchstaben und Zahlen besteht, wird der erste Buchstabe groß geschrieben und am Ende steht eine 3.Wenn Sie diese Informationen kennen, können Sie sie nicht erraten.
@Ray basierend darauf, dass Ihr Passwort eindeutig "Leonel's-Lauri-Jacobin-Lucretius's" ist
basierend auf dieser am meisten gehackten Codezeile aller Zeiten (Anmerkung: nicht für Produktionszwecke, lol!) `für i in {1..4};do sed -n "$ (($ RANDOM% 100000)) p" / usr / share / dict / words;erledigt |tr '\ n' '-'`
@ConorMancone Leonels-lauri-jacobin-lucretius '_ ** 3 ** _.
@Ray lol!Sie haben das Internet für diesen Tag offiziell gewonnen.
Dave
2020-06-03 23:48:30 UTC
view on stackexchange narkive permalink

Ich habe dies tatsächlich einmal mit einigen hundert Benutzern gemacht.

Ich habe die Entropie basierend auf der ungefähren verwendeten Alphabetgröße geschätzt, wobei gebräuchliche Wörterbuchwörter (aus einem englischen Wörterbuch) als eins gezählt wurden Jeweils "Buchstaben" und unbekannte Wörter wurden in unteres Alpha, oberes Alpha, Zahlen, Symbole, Leerzeichen usw. unterteilt. Es gab einige andere gebräuchliche Muster, die ich identifizieren würde, auf die ich nicht näher eingehen werde, da sie nicht relevant sind.

Wenn die berechnete Entropie zu niedrig war, wurde das Kennwort abgelehnt und dem Benutzer wurden einige Hinweise zur Verbesserung angezeigt. Es gab sicherlich Raum für Verbesserungen, aber es funktionierte sehr gut, um eindeutig schwache Passwörter herauszufiltern.

Das Problem war, dass die Benutzer es hassten, weil es schwer zu verstehen war (insbesondere war es für sie schwierig, ein Passwort zu erstellen) schwaches Passwort, das stark genug ist, um es zu verwenden, ohne es wirklich lang zu machen).


Stattdessen würde ich heutzutage empfehlen, nur eine Mindestlänge zu erzwingen, aber Benutzerkennwörter mit a zu vergleichen Datenbank mit bekannten Passwörtern (z. B. https://haveibeenpwned.com/Passwords) und Warnung des Benutzers, wenn sein Passwort gefunden wird.

Es ist Es ist verlockend, Passwörter zu blockieren, von denen Sie wissen, dass sie schlecht sind. Wenn ein Benutzer jedoch keine Warnung hört, liegt dies daran, dass ihm das Konto sowieso egal ist. Wenn Sie diese Benutzer dazu zwingen, ein härteres Passwort zu wählen, können sie es auf andere Weise kompromittieren (z. B. indem sie es auf eine Haftnotiz auf ihrem Monitor schreiben).


Zum Schluss bitte Überlegen Sie, ob Sie überhaupt ein Passwort benötigen. Wir sind längst vorbei, als jeder Webdienst sein eigenes Login hat. Es gibt eine große Anzahl von Single-Sign-On-Diensten, in die Sie integrieren können, um die Anmeldeverwaltung zu entlasten und Ihren Benutzern die Arbeit zu erleichtern (sowie MFA usw. anzubieten), und für die sichereren Dinge ist die Verwendung von Zertifikaten eine bessere Sicherheit sowieso (Browser-Unterstützung für MTLS ist jetzt ziemlich gut!)

Tom
2020-06-04 14:31:17 UTC
view on stackexchange narkive permalink

anstelle des üblichen "mindestens ein großer Buchstabe und ein kleiner letzterer und Sonderzeichen ..."

Jede Richtlinie, die diese Anforderungen im Jahr 2020 enthält, ist fehlerhaft und muss widerrufen werden. (*)

Die wichtigsten Dinge, die normale Benutzer über Passwörter wissen müssen, sind:

  • es sollte lang sein (10-12 Zeichen empfohlen)
  • es sollte nicht erraten werden (nicht "Passwort" oder "1234567890" oder Ihr Name, Geburtstag usw. usw.)

auf IT-Ebene, Sie sollte eine schwarze Liste haben (die häufigsten 1000 Passwörter oder dergleichen).


(*) Komplexitätsregeln sind falsch . In fast allen Fällen erleichtern sie die Kompromittierung von Passwörtern . Benutze sie nicht. Im Ernst, nicht. Es sind nicht mehr die 1980er Jahre.

@Mark Ich meine, jedes Muster als 1 Zeichen lang zu zählen.Ich werde meinen Kommentar erneut veröffentlichen, um dies zu verdeutlichen.
Anstelle einer schwarzen Liste mit 1000 Passwörtern sollten Sie eine Grauliste mit 1000 Untermustern verwenden, in der jeder Teil Ihres Passworts, der mit "1234", "9999", "abcd", "qwerty", "pass", "word", ... übereinstimmtzählen Sie nur für eine Länge von 1.
@Cœur es ist keine zufällige schwarze Liste, es ist "die häufigsten 1000 Passwörter".Der Grund, warum ich definitiv empfehle, diese auf die schwarze Liste zu setzen, ist, dass die Leute sie tatsächlich benutzen. Deshalb stehen sie auf dieser Liste.Und Brute-Force-Tools verwenden diese Listen.Sie möchten definitiv nicht, dass jemand ein Passwort hat, das jeder automatisierte Angriff auf jeden Fall versuchen wird, und zwar frühzeitig.


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 4.0-Lizenz, unter der er vertrieben wird.
Loading...