Ich denke darüber nach, die Rechte von Benutzern einzuschränken, die sich für unsichere Kennwörter entscheiden (die Unsicherheit eines Kennworts wird durch die Länge bestimmt, wie viele Arten von Zeichen (Groß- / Kleinschreibung, Zahlen, Symbole usw.) verwendet werden und ob dies möglich ist) befindet sich in einer Regenbogentabelle), um zu begrenzen, wie viel Schaden ihr Konto anrichten kann, wenn es kompromittiert wird.
Ich habe noch keine Anwendung für diese Idee, sage aber, ich schreibe ein Forum oder so etwas: Benutzer, die 1234 als Passwort verwenden, müssen möglicherweise vor dem Posten ein Captcha ausfüllen oder sind strengen Anti-Spam-Maßnahmen ausgesetzt, z als Zeitüberschreitungen oder Bayes'sche Filter, die ihren Inhalt ablehnen. Wenn dieses Forum sehr hierarchisch ist und auf irgendeine Weise die Beförderung zu Moderatoren oder Ähnlichem zulässt, würde dies entweder verhindern, dass sie Privilegien erlangen, oder ihnen sagen, dass sie Privilegien haben, aber nicht, dass sie diese ausüben, ohne zu einer sichereren wechseln Passwort.
Natürlich könnte dies nicht die einzige Sicherheitsmaßnahme sein, aber es könnte neben ansonsten guten Sicherheitspraktiken gut funktionieren.
Was denkst du? Übertreibt dies nur das Ziel, den Fokus von wichtigeren Sicherheitspraktiken abzuwenden, oder ist es ein guter Weg, um das Risiko zu begrenzen und Benutzer zu ermutigen, sicherere Kennwörter zu verwenden (und Menschen hoffentlich davon zu überzeugen, dass Sie gute Sicherheitspraktiken anwenden)?
quelle
Antworten:
YAGNI , KISS , DRY , die 10-Sekunden-Regel und die Tatsache, dass "[Benutzer] sich nicht für DICH interessieren", sollten es wahrscheinlich auf eine Lösung eingrenzen : Nicht.
quelle
Erzwingen Sie entweder ein sicheres Kennwort bei der Registrierungsänderung oder verwenden Sie eine OpenId (Jeff Atwoods 2c: http://www.codinghorror.com/blog/2010/11/your-internet-drivers-license.html ). Konzentrieren Sie sich dann auf interessantere Funktionen.
Zum einen sind Benutzer daran gewöhnt, sichere Passwörter zu erstellen oder ihre OpenId zu verwenden, was für sie einfach ist.
quelle
Warum lassen Sie Passwörter zu, die Sie als schlecht empfinden? Das Beenden des Problems an der Quelle erspart Ihnen viel Entwicklungszeit, wenn Sie herausfinden möchten, welche Klassen von Kennwörtern welchen Rollen zugeordnet sind. Da ein Administrator per Definition über vollständige Rechte verfügt, benötigen Sie bereits Funktionen, um sicherzustellen, dass er kein Kennwort eingibt, das ihn einschränkt.
Meine Antwort ist einfach nur KISS .
quelle
Als Nutzer würde mich das wahrscheinlich davon überzeugen, Ihre Website nicht zu nutzen. Ich meine, im Ernst, meine Bank sagt mir, dass ein 6-stelliger Code für Online-Banking vollkommen sicher ist, aber wenn ich einen Kommentar zu einem weniger bekannten Blog schreiben möchte, muss ich mir ein eindeutiges Passwort merken, das mindestens 8 obere enthält - und Kleinbuchstaben, eine Ziffer, ein Sonderzeichen und ein griechisches oder kyrillisches Symbol, die nur eingegeben werden können, wenn Sie die Unicode-Sequenz auswendig können. Und ändern Sie es regelmäßig.
Versteh mich nicht falsch, Sicherheit ist wichtig. Aber wenn Sie Ihre Benutzer nicht verärgern sollten, es sei denn, Sie haben wirklich guten Grund zu der Annahme, dass jemand versucht, ihre Passwörter zu knacken, um Zugriff auf Ihre Website zu erhalten. Wenn Ihre Site zufällig VPN-Zugang zum FBI-Netzwerk bietet, gehen Sie vor, ärgern Sie sich. Aber wenn es ein Benutzerforum ist, in dem sich jeder mit einer E-Mail-Adresse anmelden kann, worum geht es dann wirklich?
quelle
Bessere Lösung: Smileys.
Ich meine es ernst! Das Lesen von Büchern über Verhaltensökonomie wie "Nudge: Verbesserte Entscheidungen über Gesundheit, Wohlstand und Glück" hatte mich von ein paar Dingen überzeugt:
Ich sehe, dass diese Grundsätze für Ihre Situation wie folgt gelten:
quelle
Nicht zum Anhäufen, aber ich dachte an einen anderen Grund, dies unter "Bad Idea" abzulegen, den ich noch nicht erwähnt habe - Kundensupport.
Wenn dies ein Produkt ist, hinter dem Kundenbetreuer stehen, wird es ihnen nicht besonders gefallen. Eine der zugrunde liegenden Annahmen des Supports ist, dass er die Benutzererfahrung versteht und vorhersagen kann. Wenn er einem normalen Benutzer hilft, sollte Page 1 Links zu den Seiten 2, 3 und 4 enthalten, auf denen er X, Y, Z ausführen kann , etc.
Jetzt geben Sie ihnen eine weitere Variable, die sie im Auge behalten müssen. Wenn der Benutzer den Link zu Seite 4 nicht sieht, liegt es daran, dass er etwas Dummes getan hat? Oder liegt es daran, dass ihr Passwort scheiße ist und Ihr System sie bestraft, indem es ihnen den Zugriff auf das Passwort verweigert? Warten Sie ... Mist, verweigert man mir den Zugang zu einer der Strafen für ein falsches Passwort, oder denke ich darüber nach? Lassen Sie mich das nachschlagen, nur einen Moment ... Okay, es besagt, dass für ein Passwort, bei dem Groß- und Kleinbuchstaben nicht gemischt werden, der Zugriff auf gerade Seiten erlaubt ist, aber nur lesbar ist ... Okay, Sir, Ihr Passwort, besteht es aus Groß- oder Kleinbuchstaben? Fall. Wenn Sie nur den Buchstaben eingeben, ist das Kleinbuchstaben; Wenn Sie die Umschalttaste verwenden, werden Großbuchstaben verwendet. Haben Sie die Fälle in Ihrem Passwort gemischt? Das Kennwort, mit dem Sie sich beim System angemeldet haben. Die, die du gerade benutzt hast. Okay, gehen Sie zu Bearbeiten, wählen Sie Einstellungen und dann Sicherheit. Wählen Sie "Gespeicherte Passwörter" ... nein, ich kann Ihre Passwörter von hier aus nicht sehen ...
Ja. Mach das nicht.
quelle
Beschränken Sie die Kennwörter oder informieren Sie die Benutzer über das Risiko schwacher Kennwörter. Ich denke, wenn ein Benutzer sich nicht um seine Daten kümmert, möchten Sie möglicherweise den Zugriff auf die Daten anderer Benutzer einschränken. Möglicherweise fühlen sich Benutzer sicherer, wenn diejenigen, die sich nach unachtsamen Passwortpraktiken richten, ausgeschlossen werden. Was nützt es, ein stärkeres Passwort zu fordern, wenn es auf einem Notizzettel unter der Tastatur oder auf einem Klebeband auf dem Laptop landet?
quelle
Ich denke du meinst Wörterbuch und nicht Regenbogentabelle. Der Wörterbuch-Angriff testet nur alle Wörter des Wörterbuchs, wenn sie mit dem Passwort übereinstimmen. Dieser Angriff kann durch 5 Versuche und Blockieren für x Minuten behoben werden ...
Eine Regenbogentabelle wird nur verwendet, wenn Sie das Kennwort haben und der Angreifer den Hash kennt. Dann könnte er den Hash in der Regenbogentabelle finden, wenn es nur "12345" oder ähnliches wäre.
Nur um die Rundreise abzuschließen: Um einen Regenbogentisch unbrauchbar zu machen, sollten Sie die Passwörter salzen. Verwenden Sie für jedes Kennwort ein eindeutiges Salt und nicht nur eines für alle. In diesem Fall muss der Angreifer für jedes Konto, auf das er zugreifen möchte, eine Regenbogentabelle mit dem eindeutigen Salt erstellen. Clever von Ihrer Seite erledigt, können Sie das Hashing mit dem Concatenation Multiple Hash-Algorithmus aufpeppen, sodass eine Generation eine halbe Sekunde dauern kann. Wenn Sie dies getan haben, muss der Zugriff auf ein Konto auf Ihrer Website Tage und wahrscheinlich Monate dauern, bis Hashes generiert wurden, um eine Übereinstimmung mit diesem Konto zu finden. Ich kann mir keinen Angreifer vorstellen, der versucht, alle Passwörter abzurufen, wenn dies der Fall ist dauert so lange
Für die Zeit des Hashens: Denken Sie an eine Wartezeit von 500 ms für einen Anmeldemechanismus. Ich denke, es ist akzeptabel ... (zur Erinnerung: Fast eine Sekunde dauert ein Handschlag für SSL)
quelle