Frage:
Wie kann sicher verhindert werden, dass Benutzer beim Erstellen eines neuen Kennworts eine alte Ziffer zu ihrem alten Kennwort hinzufügen?
Stef Heylen
2016-01-12 21:58:39 UTC
view on stackexchange narkive permalink

Nehmen wir an, dass in der Kennwortrichtlinie der Kennwortverlauf so definiert ist, dass die letzten 10 Kennwörter gespeichert werden.

Ich verstehe, dass der Kennwortverlauf vorhanden ist, sodass die Wahrscheinlichkeit besteht, dass ein Kennwort von einem Angreifer aus einer gefährdeten Datenbank wiederhergestellt wird sind viel weniger wahrscheinlich, dass das Passwort tatsächlich das aktuelle Passwort des Benutzers ist.

Wenn der Benutzer jedoch beim regelmäßigen Zurücksetzen des Kennworts einfach "1" an sein altes Kennwort anfügt und beim nächsten Zurücksetzen des Zeitraums "2" anfügt, verringert dies die Wirksamkeit des regelmäßigen Zurücksetzens des Kennworts erheblich . Sobald der Angreifer zwei alte Passwörter desselben Benutzers im Klartext wiederherstellt, sieht er das Muster und kann das aktuelle Passwort des Benutzers erraten ...

Die beste Vorgehensweise ist das Hashing (+) Salt) Passwörter, soweit ich dies sehen kann, ist es jedoch unmöglich zu überprüfen, ob der Benutzer einfach eine einzelne Ziffer an sein altes Passwort angehängt hat oder nicht.

Die Passwörter könnten anstelle von Hash verschlüsselt werden, was mein Anliegen ansprechen würde. Ich mag jedoch nicht die Idee, dass Passwörter ohne Bruteforce-Angriffe in einfachen Text umkehrbar sind.

Das bin ich Sie fragen sich, was die beste Lösung wäre, um zu verhindern, dass Benutzer beim Zurücksetzen geringfügige Änderungen an ihrem alten Kennwort vornehmen? Kann dies technisch auf sehr sichere Weise erreicht werden oder erfordert dies definitiv ein Bewusstsein der Benutzer?

Diese verwandte Frage könnte für Sie von Interesse sein http://security.stackexchange.com/questions/101827/how-facebook-knows-my-new-password-is-too-similar-to-my-old-password
Ich glaube, eine ähnliche Frage hat Antworten, die helfen werden: https://security.stackexchange.com/questions/71756/sequential-password-updates/71772#71772
Ich würde sagen, diese Frage ist nicht ähnlich, es ist fast ein genaues Duplikat. Sehen Sie sich insbesondere die Vorschläge zum Speichern früherer Kennwort-Hashes an und vergleichen Sie verschiedene Permutationen eines vorgeschlagenen neuen Kennworts mit früheren Hashes.
Lassen Sie sie das aktuelle Passwort erneut eingeben und eine Abstandsmetrik zwischen dem neuen und dem aktuellen Passwort anwenden. Sie können dies für ältere Passwörter nicht sicher tun. Und ich werde diese Gelegenheit nutzen, um zu sagen, dass es absolut monstruös ist, Benutzer dazu zu bringen, ihr Passwort jeden zweiten Tag zu ändern, insbesondere wenn sie keinen Bewältigungsmechanismus verwenden können.
Es ist tatsächlich sehr gut zu überprüfen, ob eine einzelne Ziffer hinzugefügt wurde. Subtrahieren Sie einfach ein Zeichen vom neuen Passwort, hacken Sie es mit dem alten Salz und suchen Sie nach einer Übereinstimmung. Obwohl nur weil dies möglich ist, heißt das nicht, dass ich es empfehlen würde.
Das Erfordernis so vieler Kennworthürden (muss Zahlen enthalten, darf kein Wort sein, darf nicht dem letzten PW ähnlich sein) erhöht die Wahrscheinlichkeit, dass Benutzer das Kennwort aufschreiben - was das System weniger sicher macht.
Sieben antworten:
Steve Sether
2016-01-12 22:36:59 UTC
view on stackexchange narkive permalink

Das kannst du nicht. Ihre Benutzer tun dies, weil der Rücksetzmechanismus sie daran gehindert hat, ihre Arbeit zu erledigen. Die Leute sind klug genug, um einen der Mechanismen zu umgehen, die Sie entwickeln werden. Diejenigen, die es nicht sind, werden schnell von denen lernen, die es sind. Informationen wie diese verbreiten sich schnell.

Wenn Sie irgendwie herausfinden möchten, wie Sie dem häufig verwendeten Schema password1 password2 password3 entgegenwirken können, werden Sie fast sofort mit einem neuen Schema konfrontiert. 1Kennwort 2Kennwort 3Kennwort. Jetzt sehen Sie ein NEUES Muster und iterieren einfach alle Zahlen. Der Benutzer hat also ein noch besseres Schema. PasswortA PasswortB PasswortC. Sie werden Wochen damit verbringen, eine Gegenmaßnahme zu finden, um dann in 10 Minuten von einer klugen Person besiegt zu werden, die an etwas gedacht hat, das Sie nicht getan haben.

Der Punkt ist, dass die Fähigkeiten und Kosten des Benutzers Um Ihre Gegenmaßnahmen zu überwinden, überwiegen bei weitem Ihre Fähigkeiten, ständig neue Systeme zu entwickeln, um sie zu verhindern.

Die Lösung besteht einfach darin, Ihre Benutzer nicht mehr als Gegner zu sehen, die Sie besiegen möchten. Sie sind nicht. Benutzer versuchen einfach, Dinge zu erledigen, und Sie haben eine Barriere dafür errichtet. Wenn Sie dies wirklich so sehr stört, müssen Sie Ihre Einstellung gegenüber den Benutzern anpassen und mit ihnen zusammenarbeiten, um etwas zu finden, das BEIDEN Ihren Bedürfnissen entspricht und keine kontroverse Beziehung herstellt.

** Sie können ** den Rücksetzmechanismus so ändern, dass das Kennwort für den Benutzer generiert wird. Sie werden keine Usability-Preise gewinnen, aber Sie können den Gegenmaßnahmen einen Schritt voraus sein.
@emory Sicher, Sie können die Einstellung von Passwörtern vollständig ändern, um sie vollständig zufällig zu machen. Aber das ändert die Art der Passwörter völlig. Ich würde auch fragen, warum Sie sich überhaupt die Mühe machen würden, das Passwort zurückzusetzen, da der Grund, warum jemand das Zurücksetzen von Passwörtern erzwingt, darin besteht, dass Benutzer keine Passwörter mit ausreichender Entropie auswählen, um Angriffe auf die Hashes zu verhindern. Wenn die Automatisierung das Kennwort wählt, verschwindet das Entropieproblem. Warum sollten Sie an diesem Punkt einen Reset erzwingen?
Ich bin mir nicht sicher, wo das erzwungene Zurücksetzen des Passworts erfolgen soll. Wenn es ein Entropieproblem lösen soll, dann scheint es das Problem nicht besser, sondern schlimmer zu machen. Daher würde ich dem allgemeinen Punkt Ihrer Antwort zustimmen.
@emory Ich denke, Ihre Frage, warum das erzwungene Zurücksetzen von Passwörtern immer noch so beliebt ist, kann durch eine meiner Lieblingsantworten auf security.se.com https://security.stackexchange.com/questions/33470/what-technical-reasons-are erklärt werden -Es gibt-zu-haben-niedrige-maximale-Passwort-Längen Ersetzen Sie einfach DES durch NTLM, und die Grenze ist die Cracking-Zeit auf einem Pentium 133.
Ich bin damit einverstanden, dass dies oft lästig ist und nicht zu einer verbesserten Sicherheit führt ... Kaufen Sie können dies tatsächlich erzwingen ... Das Umkehren des Hashing-Prozesses kann mit etwas anderem als roher Gewalt unmöglich sein, aber Sie müssen es tatsächlich nicht rückgängig machen der Prozess. Das einzige, wofür Sie die Hashes berechnen müssen, sind Passwörter, die dem neuen 'ähnlich' sind - und Sie haben bereits das Salz des alten ... Erstellen Sie also eine Liste von Passwörtern, die dem NEUEN ähnlich sind, und prüfen Sie, ob jeder Pass wie der alte. Siehe die Antwort von Sour Lolita unten.
@Allen Ich glaube, der Punkt meiner Antwort ist, dass die Benutzer, egal welchen Algorithmus Sie wählen, um "ähnliche" Passwörter zu hashen, schnell etwas finden, das dem Algorithmus ausweicht.
@emory Lassen Sie Benutzer keine eigenen Passwörter erstellen? Alles, was Sie bekommen, sind Passwörter, die auf Stickynotes geschrieben und an Monitore angehängt sind.
@blacklightshining Wahrscheinlicher ist, dass Benutzer den Dienst einfach nicht mehr nutzen. generell würde ich dagegen empfehlen. aber ich würde wohl auch gegen erzwungenes passwort zurücksetzen empfehlen. Wenn erzwungene Kennwortrücksetzungen erforderlich sind, sind zugewiesene Kennwörter die einzige Möglichkeit, das vorhersehbare Kennwortproblem zu vermeiden.
Gibt es neben der Senkung der Anforderungen zum Zurücksetzen des Passworts noch andere Alternativen, die Sie in Betracht ziehen würden? Vielleicht irgendeine Form der Zwei-Faktor-Authentifizierung?
Ein triviales Beispiel, warum Ähnlichkeitsvergleiche nicht funktionieren: `passwordone`` passwordtwo` `passwordthree`. Das Muster ist für Menschen trivial, für Passwortprüfer höchst nicht trivial, selbst wenn sie ein Wörterbuch haben. Gleiche Idee, wenn Passwortänderungen monatlich erzwungen werden: `passwordjan`` passwordfeb` `passwordmar`. Denken Sie daran, dass Sie nicht nur Englisch, sondern alle relevanten Sprachen überprüfen müssen.
@emory Oh, sicher, sie werden den Dienst einfach nicht mehr nutzen, wenn sie die Wahl haben. Sie erhalten Stickynotes auf Monitoren, wenn sie keine Wahl haben (verrückte Unternehmensrichtlinien, irgendjemand?)
@blacklightshining In Bezug auf inane Unternehmensrichtlinien hoffe ich, dass keine Hacker mein Passwort erraten, sich als ich anmelden und meine Arbeit für mich erledigen. das wäre schlecht
@emory Wenn jemand in Ihr Arbeitskonto eindringt, ist es wahrscheinlicher, dass er versucht, wertvolle Daten zu stehlen. Wofür Sie dann verantwortlich gemacht würden, weil es unter Ihrem Konto passiert ist.
@emory Wenn Sie an einer Software arbeiten, die den Zugriff auf Kernmaterial verfolgt, wäre das in der Tat sehr, sehr schlecht.
Loren Pechtel
2016-01-13 04:00:50 UTC
view on stackexchange narkive permalink

Einfach genug: Sie haben ein potenzielles Passwort von "password1". Testen Sie "password" und "password0", um festzustellen, ob sie mit dem alten Hash funktionieren. Der Klartext des alten Passworts muss nicht angezeigt werden, damit dies funktioniert.

Dies funktioniert jedoch aus den Gründen, die Steve Sether angibt, nicht.

Matthew
2016-01-12 23:02:21 UTC
view on stackexchange narkive permalink

Dies wurde an verschiedenen Stellen erörtert, und die meisten Diskussionen scheinen auf das Konzept der Kennworttopologien zurückzukommen - die Muster, die viele Kennwörter aufweisen. Auf YouTube gibt es eine gute OWASP-Präsentation, die darauf hinweist, dass viele Passwörter, die Komplexitätsregeln folgen müssen, ähnlichen Mustern folgen:

  • Passwort1! stark> - Wenn Sie mindestens ein Zeichen aus Großbuchstaben, Kleinbuchstaben, Ziffern und Sonderzeichen erzwingen, wählen viele Personen ein großgeschriebenes Wort gefolgt von einer Zahl mit dem Sonderzeichen am Ende aus, was häufig der Fall ist sei ? , ! oder . - die Topologie lautet UL + DS (unter Verwendung einer Art Regex-Syntax) )
  • Passwort1 - Wenn Sie kein Sonderzeichen erzwingen, erhalten Sie normalerweise kein
  • Passwort1 - Wenn Sie keinen Großbuchstaben vorschreiben, erhalten Sie normalerweise keinen, aber wenn Sie dies tun, steht er am Anfang
  • qwertyuiop - wenn Sie dies nicht tun. Wenn Sie nichts erzwingen, erhalten Sie Dinge, die einfach einzugeben sind.

Es gibt auch einige Streitigkeiten über den Wert einer regelmäßigen Änderung des Pa sswords, weil sie dazu neigen, genau das Verhalten zu fördern, das Sie sehen. Sie sind jedoch manchmal aufgrund des relativ langsamen Tempos der Geschäftsentscheidungen erforderlich.

Dies lässt den Vorschlag aufkommen, nicht nur eine Kennwortänderung, sondern auch eine Änderung der Kennworttopologie zu erzwingen. Der Vorgang zum Zurücksetzen des Kennworts lautet:

  1. Der Benutzer gibt das alte Kennwort (z. B. Kennwort1! ) und das neue Kennwort ( MyS3cret $ ) in der Rücksetzform ein
  2. Das System berechnet die Topologie sowohl des alten Kennworts ( UL + DS ) als auch des neuen Kennworts ( ULUDL + S ).
  3. System lehnt ab Kennwortänderung, wenn die Topologien übereinstimmen oder wenn das neue Kennwort nicht den Komplexitätsregeln
  4. ol> entspricht

    Es ist auch möglich, bestimmte gängige Topologien vollständig abzulehnen. Möglicherweise möchten Sie keine Kennwörter im Formular Kennwort1! . In diesem Fall konfigurieren Sie Ihr System so, dass Kennwörter mit der Topologie abgelehnt werden UL+DS .

    Speichern Sie niemals die Topologie eines Passworts damit. Wenn Ihre Datenbank kompromittiert wird, hätten Sie Angreifern eine fantastische Möglichkeit gegeben, ihren Aufwand zum Knacken der wiederhergestellten zu minimieren Passwörter.

    Beachten Sie, dass Benutzer immer noch Möglichkeiten finden, schwache Passwörter zu erstellen: Sie können abwechselnd Passwort1! und ! 2Passwort verwenden, aber Dies deutet darauf hin, dass die Häufigkeit der Kennwortänderungen zu hoch ist.

Ich verstehe nicht, was Sie unter "relativ langsamen Geschäftsentscheidungen" als relevant für Passwörter verstehen. Können Sie umformulieren oder ein Beispiel geben?
Wenn sich Ihre Sicherheitsrichtlinie beispielsweise in einem dreijährigen Überprüfungszyklus befindet, ist es durchaus möglich, dass bei der letzten Überprüfung regelmäßige Kennwortänderungen empfohlen wurden. Für bestimmte Branchen (insbesondere das Bankwesen) sind Richtlinienänderungen erforderlich, bevor Geschäftsprozesse aktualisiert werden können. Dies bedeutet, dass veraltete Empfehlungen für den gesamten Richtlinienlebenszyklus verwendet werden können, selbst wenn technische Änderungen hätten vorgenommen werden können. Kann manchmal frustrierend sein ...
Ah. Ich habs. (Block)
dr jimbob
2016-01-13 05:00:21 UTC
view on stackexchange narkive permalink

Es ist unkompliziert, das spezifische Problem der Aktualisierung neuer Kennwörter durch den Benutzer zu vermeiden, die den zuvor verwendeten Kennwörtern zu ähnlich sind (z. B. nur Änderungen einer einzelnen Ziffer / eines einzelnen Zeichens).

Auf demselben Bildschirm zum Ändern von Kennwörtern: Der Benutzer muss lediglich sein altes Passwort sowie das angeforderte neue Passwort eingeben. Es wird ohnehin empfohlen, Benutzer zu verpflichten, ihr vorhandenes Kennwort auf den Bildschirmen zur Kennwortänderung einzugeben (dies verhindert, dass jemand, der sein Konto kurzzeitig unbeaufsichtigt angemeldet hat, von einem Angreifer sein Kennwort ändern lässt und sich in Zukunft Zugriff gewährt, während er den tatsächlichen Benutzer sperrt ).

Akzeptieren Sie das neue Kennwort nur, wenn Sie serverseitig überprüfen können, ob alle der folgenden Bedingungen erfüllt sind:

  1. Der Hash des alten Kennworts stimmt mit dem gespeicherten Hash überein die Datenbank.
  2. Das neue Passwort erfüllt Ihre Stärkeanforderungen (entweder eine lange Passphrase, die möglicherweise nur einen Zeichentyp enthält, oder Sonderzeichen, Groß- und Kleinschreibung, Zahlen und mindestens 8 Zeichen),
  3. Die alten und neuen Passwörter (die Sie beide gerade im Klartext erhalten haben, ohne sie im Klartext in Ihrer Datenbank zu speichern) haben einen anständigen Bearbeitungsabstand (z. B. größer als 4). Wenn der Abstand nicht ausreicht, geben Sie dem Benutzer eine Rückmeldung, dass das Kennwort einem vorherigen Kennwort zu ähnlich ist und völlig anders sein sollte.
  4. Das neue Kennwort stimmt mit keinem zuvor verwendeten abgelaufenen Hash überein. (Erlauben Sie die Wiederverwendung eines älteren Passworts durch das Passwort nicht.)
  5. ol>

    Beachten Sie, dass dies einen bestimmten Benutzer nicht daran hindert,

    <password>1 auszuführen -> <other password>1 -> <password>2 -> <other password>2 .

    Wenn Sie diese Art von Muster wirklich verhindern wollten, können Sie dies für einige sehr spezifische Muster tun. Das heißt, jedes Mal, wenn ein Kennwort gespeichert wird, können Sie einige allgemeine Änderungen des aktuellen Kennworts hashen und diese als zuvor verwendete abgelaufene Hashes in der Datenbank speichern. Dies kann einige übliche Schemata verhindern (z. B. die nachfolgende Ziffer), aber Benutzer würden Wege finden, um sie zu umgehen (z. B. ein Zeichen in der Mitte des Passworts zu erhöhen).

davidb
2016-01-12 22:29:36 UTC
view on stackexchange narkive permalink

Das ist etwas knifflig. Es ist einfach, Komplexität durchzusetzen, da Komplexität relativ leicht zu beschreiben ist, aber ein komplexes Passwort in vielen Fällen nicht gut ist. Zum Beispiel, wenn Ihre Richtlinie eine min erzwingt. Länge von 10 Zeichen, ein Sonderzeichen, eine Zahl sowie Groß- und Kleinbuchstaben Viele Leute tun dies:

  David1989 $  

Welches ist der Vorname? , das Geburtsjahr und ein zufällig ausgewählter Sonderzeichen. Dies entspricht der Richtlinie, aber jeder Hacker mit Grundkenntnissen über die Person kann ein solches Passwort in weniger als einer Sekunde mithilfe eines Skripts auflösen, das solche Passwörter aus persönlichen Daten generiert. Eigentlich habe ich vor einiger Zeit ein Skript geschrieben, das solche Informationen von der Website eines Kunden und verwandten Facebook-Profilen gesammelt hat, um solche Passwörter zu generieren. Es hat ziemlich gut funktioniert.

Deshalb habe ich vor einiger Zeit diese Frage gestellt. Seit dieser Erfahrung extrahiere ich häufig alle Benutzerkennwörter vom AD-Server und führe Wortlistenangriffe auf sie mit öffentlich zugänglichen Willenlisten und Wortlisten durch, die von Websites gesammelt werden, die technisch mit dem Unternehmen verbunden sind. Benutzer, deren Passwörter beschädigt wurden, müssen ihr Passwort zurücksetzen und müssen nach dem zweiten Mal, wenn ihr Passwort-Hash gebrochen ist, ein zufällig generiertes Passwort verwenden.

psmears
2016-01-13 15:09:33 UTC
view on stackexchange narkive permalink

Dies kann zumindest in den meisten Fällen tatsächlich getan werden (das bedeutet natürlich nicht unbedingt, dass es eine gute Idee ist!):

Sie haben Recht damit Es ist praktisch unmöglich, das vorherige Kennwort des Benutzers aus dem gespeicherten Kennwort-Hash wiederherzustellen.

Sie müssen jedoch nicht : Im Rahmen des Kennwortänderungsprozesses ist dies normal Fragen Sie nach dem alten Passwort des Benutzers und überprüfen Sie es. Auf diese Weise können Sie das alte und das neue Kennwort auf Ähnlichkeit vergleichen.

Es ist offensichtlich einfach zu überprüfen, ob am Ende des Kennworts eine einzelne Ziffer hinzugefügt / inkrementiert wird. Dies ermöglicht jedoch zu viele einfache Variationen, die gleichermaßen gleich wären für einen Angreifer offensichtlich. Viel besser wäre es, den Bearbeitungsabstand zwischen den beiden Passwörtern zu berechnen (es gibt bekannte wirksame Algorithmen dafür) und abzulehnen, wenn der Abstand gering ist (z. B. < = 2) - das wird Stellen Sie sicher, dass nur das Ändern einiger Zeichen (wo immer sie sich im Passwort befinden) immer abgelehnt wird.

Natürlich werden die Benutzer weiterhin Möglichkeiten finden, Passwörter mit kleinen Änderungen wiederzuverwenden - aber hoffentlich, wenn ein Angreifer eines oder ein Passwort wiederherstellt Bei zwei historischen Passwörtern ist es jetzt viel weniger offensichtlich, wie das Muster lautet und welches Passwort jetzt versucht werden muss.

Eine Situation, in der dies nicht funktioniert, ist, wenn der Benutzer sein Kennwort vergessen hat (das Szenario "Zurücksetzen des Kennworts"). In dem echten Fall, in dem das Passwort wirklich vergessen wurde, ist dies kein Problem, da es unwahrscheinlich ist, dass das neue Passwort eine einfache Änderung eines Passworts ist, an das sich der Benutzer nicht erinnern kann! Es besteht jedoch das echte Risiko, dass Benutzer "Passwort zurücksetzen" als Problemumgehung verwenden, um ihr Passwort in ein ähnliches wie zuvor zu ändern. (Wenn dies ein großes Problem darstellt, kann die in anderen Fragen vorgeschlagene Lösung verwendet werden - alle Kennwörter innerhalb eines bestimmten Bearbeitungsabstands des neuen Kennworts zu generieren und sie mit dem Hash des alten Kennworts zu vergleichen - dies ist sicherlich praktisch für den Bearbeitungsabstand und für den Bearbeitungsabstand von eins und möglicherweise zwei, aber darüber hinaus beginnt es eine große Menge an Berechnungen zu werden und ist wahrscheinlich nicht durchführbar.)

adalal
2016-01-12 23:36:18 UTC
view on stackexchange narkive permalink

Eine der größten Sicherheitsbedenken ist die Tatsache, dass Sie die Kennwörter im Klartext speichern, wenn Sie zwischen Unterschieden zwischen einzelnen Zeichen unterscheiden können.

Zunächst sollten Sie die Speicherung dieser Kennwörter als prüfen Ein One-Way-Hash, einfach weil der Kennwortspeicher möglicherweise anfällig für Angriffe ist. Danach können Sie einen Mechanismus implementieren, um sicherzustellen, dass keines der neueren Kennwörter jemals zu einem dieser Hashes führen kann. Dies würde auch bedeuten, dass Sie leider nicht sagen können, ob sie ein Zeichen oder 100 Zeichen nach ihrem aktuellen Passwort hinzufügen. Schließlich gibt es, wie in den vorherigen Beiträgen gesagt, immer Möglichkeiten, sich zu bewegen, und es ist nicht so, dass sie versuchen, bösartig zu sein, sie wollen nur ihre Arbeit erledigen.

Der beste Weg, dies zu implementieren Dies dient dazu, Ihre Benutzer über eine Art Kommunikationsplattform zu informieren, sei es über den Gesang oder über E-Mail- oder Message-Boards usw., und sie auf mögliche Probleme hinzuweisen. Schließlich ist es weniger wahrscheinlich, dass Menschen einen Weg finden, wenn sie wissen, dass sie mehr vom System profitieren als von dem dadurch verursachten Ärger.

es sei denn, der Passwort-Hash wird am Ende zusammen mit Varianten von 0-9 gespeichert
oder Validierungscode auf der Clientseite, der am Ende nach einem "[a-z] [0-9] ^" sucht - es gibt viele Möglichkeiten, dies zu erkennen und durchzusetzen, ohne einen Einweg-Hash des Benutzerpassworts zu implementieren
Die clientseitige Validierung ist keine Validierung. Der einzige Zweck für die clientseitige Validierung ist die kosmetische / Verbesserung der Benutzererfahrung.
@Jeroen-ITNerdbox Ja, das verstehe ich, aber es ist eine Möglichkeit, eine Reihe von Validierungsregeln durchzusetzen. Da diese Regel den Benutzer schützen soll, gehen sie ihr eigenes Risiko ein, wenn der Benutzer hoch genug ist, um diese Validierung zu umgehen.
Ich bin damit einverstanden, dass OP vorschlägt, dass der Pass bekannt ist, und darüber spricht, welcher Speichermechanismus verwendet werden soll. Auch dieser Klartext sollte niemals - nicht bis zum Tod des Universums - verwendet werden ... 1) Die Überprüfung kann durchgeführt werden, indem der Benutzer aufgefordert wird, den alten Pass einzuführen - den Sie mit dem Hash (und dem Salz) überprüfen - und zu vergleichen es mit dem neuen. 2) Bildung dauert - und hat bereits gedauert - zu lange, um dies zu lösen. Wir brauchen Systeme, die ermutigen und erleichtern, das Richtige zu tun. Übrigens ist es umstritten, mit ausreichend langem Salz und einer guten Auswahl an Haschisch. Ein ähnlicher Durchgang ist nur dann ein Problem, wenn er durchgesickert ist - jeder Durchgang ist ein Problem, wenn er durchgesickert ist.


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