it-swarm.com.de

Warum generieren nicht alle Websites Kennwörter für Benutzer?

Ich bin auf diese Frage gestoßen und habe noch nie eine Site gesehen, die das tut, was eine rote Fahne ist. Der Ansatz scheint jedoch solide zu sein und es besteht die Möglichkeit, Kennwortregeln zu implementieren, um sichere Kennwörter zu erzwingen. Wenn alle Websites dies tun würden, würde dies außerdem sicherstellen, dass Benutzer Kennwörter nicht wiederverwenden. Was sind die Nachteile dieses Ansatzes? Gibt es einen guten Grund, warum nicht alle Websites diesen Ansatz verwenden?

Insbesondere gehe ich davon aus, dass wir Best Practices befolgen, die in den Kommentaren und Antworten zu dieser Frage enthalten sind, wie z.

  • generieren Sie ein langes (32+ Zeichen), zufälliges (mit guter Zufälligkeit) Passwort
  • zeigen Sie es dem Benutzer einmal
  • hash es mit SHA256
  • durch das Zurücksetzen des Passworts wird ein weiteres langes, zufälliges Passwort generiert

Vielleicht könnte der Ansatz sogar verbessert werden, wenn die Site dem Benutzer nicht das Kennwort anzeigt, sondern lediglich ein Formular mit dem ausgefüllten Kennwortfeld anzeigt, damit sich der Browser und/oder die Kennwortmanager es merken können. Der Benutzer würde nur das Formular senden und müsste es nie sehen.

13

Sicherheit auf Kosten der Benutzerfreundlichkeit geht zu Lasten der Sicherheit

Das Problem ist, dass eine Webanwendung nur so viel tun kann, um Benutzern gute Sicherheitspraktiken aufzuzwingen. In diesem speziellen Fall kann ich Ihnen sagen, was in den allermeisten Fällen passieren wird: Die Leute werden ihr "sicheres" Passwort irgendwo aufschreiben, wo es nett und unsicher ist. Infolgedessen wird dadurch nicht unbedingt etwas sicherer: Es wird nur herumgemischt, wo die Sicherheitsanfälligkeit lebt. Im Wesentlichen fehlt diesem System eine notwendige unterstützende Architektur, um die Benutzererfahrung sehr einfach und daher sehr sicher zu machen. Infolgedessen gibt es grundsätzlich drei Arten von Menschen mit drei unterschiedlichen Ergebnissen:

  1. Leute, die sich nicht um Passwortsicherheit kümmern/diese nicht verstehen. Sie werden dieses unknackbare Passwort an einem Ort aufschreiben, der sehr gut zugänglich und daher sehr unsicher ist. Dies sind dieselben Personen, die auf jeder Site dieselben schwachen Passwörter wiederverwenden. Infolgedessen wechseln sie von einer schlechten Sicherheitslösung zu einer anderen schlechten Sicherheitslösung. Dies sind auch die meisten Webbenutzer, sodass Ihre Lösung für den Großteil des Internets keinen wirklichen Nutzen hat.
  2. Personen, die Passwortmanager und andere Passworthelfer verwenden, können ihre Passwortsysteme nicht in Ihre Website integrieren. Diesen Menschen wird es schlechter gehen, da ihr normalerweise sicheres System plötzlich nicht mehr verwendet werden kann. Infolgedessen werden sie es wahrscheinlich aufschreiben, vielleicht nicht sicher, und es wird ihnen schlechter gehen als zuvor. Um es klar auszudrücken, wird dies definitiv passieren: Ihre Lösung "Zeigen Sie das Passwort in einem Formular an, damit der Passwortmanager es aufzeichnen kann" funktioniert mit einigen Passwortmanagern absolut nicht. Ich kann es fast garantieren.
  3. Personen, die Kennwortmanager verwenden, und diese Kennwortmanager lassen sich ordnungsgemäß in Ihr System integrieren. Sie haben die Dinge bereits sicher aufbewahrt und sind es immer noch, aber jetzt mit einem anderen Fehlerpunkt: Ihrem Zufallszahlengenerator. Insgesamt wird die Sicherheit dort jedoch weder wesentlich abgenommen noch erheblich zugenommen haben.

Insgesamt würde ich daher sagen, dass ich keinen wirklichen Nutzen für dieses System sehe.

Ich muss das laut sagen, weil es in allen anderen Kontexten kritisch ist: Sie möchten SHA256 niemals zum Hashing von Passwörtern verwenden. In diesem Fall können Sie wahrscheinlich mit einem schnellen Hash davonkommen, da Ihr Passwort zu lang ist, als dass eine Brute-Force ohnehin möglich wäre.

Bearbeiten, um die offensichtliche Antwort hinzuzufügen

Ich denke, das größte Problem bei dieser Lösung ist, dass sie nicht weit genug geht, um das zugrunde liegende Problem zu beheben. Das zugrunde liegende Problem ist, dass die Leute an Passwörtern saugen: Wir wählen entweder schlechte aus, verwenden sie wieder oder speichern sie nicht sicher. Die Lösung besteht nicht darin, ein neues Passwortsystem zu entwickeln: Die Lösung besteht darin, alle Passwörter zusammen zu streichen. Viele Unternehmen beginnen mit der Einführung eines passwortlosen Logins. Das ist die Antwort, die Sie wirklich wollen.

22
Conor Mancone

Ihre Lösung besteht darin, Benutzer zur Verwendung eines Kennwortmanagers zu zwingen. Benutzer können ihre Kennwörter in einem Browser speichern, dies ist jedoch nicht immer verschlüsselt und wird häufig nur lokal gespeichert, sodass sie jetzt nicht mehr als von einem Computer aus auf Ihren Dienst zugreifen können. Denken Sie daran, dass die meisten Leute nicht einmal wissen, was ein Passwort-Manager ist.

Haben sie auch auf allen ihren Geräten Zugriff, selbst wenn sie einen Passwort-Manager haben? Wenn jemand einmal ein zufälliges 32-stelliges Passwort eingeben muss, wird er Ihre Site dafür hassen.

9
JPhi1618

Zwei Dinge, die mir in den Sinn kommen:

  1. Benutzer würden es hassen, wenn sie nicht in der Lage wären, ihr eigenes Passwort zu wählen, denn wenn sie nicht bereits über einen Passwort-Manager oder ein System verfügen, müssen sie sich etwas merken, aufschreiben oder irgendwo den Überblick behalten.

  2. Wenn die Website die Verantwortung für die Generierung "zufälliger" Passwörter übernimmt, können die Methoden, mit denen sie ein Passwort generiert, in Zukunft Fehler aufweisen, die die Sicherheit aller vorhandenen Passwörter auf einmal gefährden. Ich denke, vor kurzem gab es einen Hardware-Chip, der BitLocker-Passwörter in Computern generiert hat, deren Fehler entdeckt wurde, und jetzt können all diese BitLocker-Passwörter mit etwa 40.000 US-Dollar in AWS geknackt werden - eine Menge Geld für eine Einzelperson, aber nicht für ein Unternehmen oder eine Regierung viel.

3
downwardCorgi

was sind die Nachteile dieses Ansatzes?

Zunächst einmal ist dies ein zusätzlicher Schritt, den andere Authentifizierungsmethoden erheblich reduziert haben. Es ist ein zusätzlicher Aufwand für Ihre Benutzer. Passwörter sind ... leicht zu vergessen, und das kann zu einem Problem werden, das ihren eigentlichen Zweck verfehlt. Am wichtigsten ist, starke Passwortregeln, die nicht mit der Realität in Berührung kommen, sind eine Unsicherheit.

Sie können dies durch die Personen beobachten, die in einem Forum ihr häufigstes Passwort ausprobieren, nur um festzustellen, dass sie es aufgrund einer obskuren, abnormalen Regel, die sie vergessen haben, falsch verstanden haben, und so fahren sie fort, eine Kombination aus Benutzername und Passwort zu papageien Sie haben jemals in die Anmeldefelder verwendet. Was nützt ein Passwort, wenn Sie es nur mit solchen zufälligen Fremden teilen?

Immer wenn ich Websites bemerke, die dies tun, habe ich den Verdacht, dass sie auf subtile Weise versuchen, nach Passwörtern für andere Websites zu suchen. Wenn Sie heutzutage keine Bankagentur sind, sollten Sie das Speichern von Passwörtern wahrscheinlich vermeiden, wenn Sie als legitim angesehen werden möchten. Es gibt bessere Methoden, die zuverlässiger und sicherer sind.

Um es näher zu erläutern: Wenn Ihre Benutzer nichts zu schützen haben, lassen Sie sie alles, was sie wollen, als Passwort verwenden. Das heißt, wenn Sie sich für die Verwendung eines Kennworts entscheiden, sollten auch leere Kennwörter akzeptabel sein.


Gibt es einen guten Grund, warum nicht alle Websites diesen Ansatz verwenden?

Ich führe das aus, was manche allgemein als "Sites" betrachten, auf die andere manchmal Zugriff haben, und ich speichere keine Passwörter und erzwinge keine Passwortanforderungen überhaupt; Ich verwende Zertifikate zur Authentifizierung (wie es jede moderne Technologie tun sollte), und die Leute können (wenn sie möchten) diese Zertifikate mit einer Passphrase am Ende schützen.

Meine Sites sind Server, und es gibt einen sehr guten Grund Ich möchte keine Passwörter anderer Personen speichern. Wenn einer meiner Benutzer Administratorzugriff auf meine Server erhält, erhält er möglicherweise andere Kennwort-Hashes.

In ähnlicher Weise können Sie die Site this beobachten, für die Sie wahrscheinlich kein Kennwort eingeben mussten, weil Sie bereits im StackExchange-Netzwerk angemeldet waren ... und im StackExchange-Netzwerk können Sie sich mit anmelden Facebook oder Google, also gibt es das auch.

Die Zertifikatauthentifizierung ist nichts Neues. Es wird seit Jahren in PAM verwendet. nicht erfordert eine Passwortauthentifizierung und ist für Bankinstitute sicherlich noch stärker als nur ein Passwort.


generieren Sie ein langes (32+ Zeichen), zufälliges (mit guter Zufälligkeit) Passwort

Sie könnten dies tun, aber wenn Sie vergessen oder falsch organisieren Ihre Passwörter, geben Sie am Ende Passwörter für einige Dienste an andere Dienste weiter. Wenn du damit zufrieden bist, soll es so sein. Die Welt wird nicht aufhören, sich zu drehen, wenn Ihr Bankkonto aufgebrochen wird.

Tut mir leid, aber Sie werden niemanden finden, der argumentiert, dass das Generieren eines langen, zufälligen Passworts sicherer ist als das Generieren eines langen, zufälligen privaten Zertifikats, das zum Signieren von Nonce Salt verwendet wird und niemals direkt auf der Serverseite gespeichert wird.


zeigen Sie es dem Benutzer einmal

Sie sollten nicht zeigen den Benutzer (es sei denn, das Passwort ist für etwas unwichtig, wie Ihre Internetforen), aber stattdessen sollte Ihr SSH-Schlüsselgenerator den Benutzer fragen um ihre Passphrase zum Zeitpunkt der Schlüsselgenerierung zu wiederholen. Dies hat den gleichen Effekt wie die visuelle Überprüfung (möglicherweise sogar noch stärker), außer dass Sie Ihr "Passwort" nicht im Klartext anzeigen, damit jemand, der über Ihre Schulter schaut, ...


hash es mit SHA256

Man könnte sogar so weit gehen, um vorzuschlagen, dass ein Salz verwendet wird. Das Problem ist, dass Sie immer noch einen Digest Speichern und Ihre Benutzer möglicherweise immer noch Passwörter für andere Dienste bei Ihnen haben. Die Lösung für das Problem "Passwort vergessen" besteht nicht darin, versuchen Sie jedes Passwort, das Sie jemals verwendet haben, wodurch Ihre Sicherheit erheblich geschwächt wird, sondern Passwörter entfernen (von Ihrem Server).


durch das Zurücksetzen des Passworts wird ein weiteres langes, zufälliges Passwort generiert

Selbst die stärksten passwortbasierten Authentifizierungsschemata weisen aufgrund von einer anderen Technologie dauerhafte Fehler auf, wie z. B. E-Mail oder Mobiltelefone. Wenn eines dieser Elemente zum schwächsten Glied wird, wird die Option Passwort vollständig ausgeblendet.

Der Weg in Bezug auf Datenschutz und Sicherheit besteht darin, kryptografische Schlüssel zur Authentifizierung zu verwenden, anstatt E-Mails, Telefonnummern, Passwörter und PIN-Codes.


Vielleicht könnte der Ansatz sogar verbessert werden, wenn die Site dem Benutzer nicht das Kennwort anzeigt, sondern lediglich ein Formular mit dem ausgefüllten Kennwortfeld anzeigt, damit sich der Browser und/oder die Kennwortmanager es merken können. Der Benutzer würde nur das Formular senden und müsste es nie sehen.

Die Lösung besteht darin, das Kennwort irgendwo im Speicher zu speichern, sodass die Benutzer nur auf diesen Speicherort zugreifen müssen, um es zu finden. Das scheint mir kaum eine Lösung zu sein. Verwenden Sie etwas Physisches, z. B. einen passphrasengeschützten GPG-Schlüssel auf einem USB-Stick.

3
autistic

Sie sind nicht der einzige, der dies vorschlägt, da ich viele Artikel gesehen habe, die ähnliche Schemata untersuchen. In der Regel sind vom System generierte Kennwörter jedoch in Bezug auf die Benutzerfreundlichkeit im Vergleich zu vom Benutzer generierten Kennwörtern erheblich schlechter.

In Ein systemgeneriertes Passwort und ein mnemonischer Ansatz schloss der Forscher Sanjaykumar Ranganayakulu:

Im Allgemeinen ergab diese Untersuchung, dass sich Benutzer Passwörter und Mnemoniken, die sie generiert haben, besser merken als zugewiesene. Obwohl die vom System generierten Mnemonics aussagekräftige Sätze waren, konnten sich die Teilnehmer nicht so gut auf sie beziehen wie auf Passwörter oder selbst erstellte Mnemonics.

Eine ältere US-Marinestudie von Moshe Zviran und William J. Haga aus dem Jahr 1990 verglich mehrere Passwortschemata. Ein Rückruf für die Passwörter nach mehreren Monaten zeigte, dass vom System generierte aussprechbare Passwörter am besten funktionierten, vom Benutzer generierte Passwörter und Passphrasen in Ordnung waren und alphanumerische vom System generierte Passwörter am schlechtesten zurückgerufen wurden, wobei jeder Benutzer sein Passwort aufschrieb, anstatt es sich zu merken. Trotz der überraschenden Leistung aussprechbarer Passwörter zogen es die Benutzer immer noch vor, ihre eigenen Passwörter auszuwählen:

niemand war in der Lage, sein vom System generiertes Passwort mit zufälligen Zeichen aus dem Speicher abzurufen ...

Als die Befragten gebeten wurden, die verschiedenen Methoden dahingehend einzustufen, wie leicht sie sich zu merken waren, wählten sie eindeutig benutzergenerierte Passwörter als die, die sie für am einfachsten hielten ...

Wenn die Fähigkeit des Benutzers untersucht wird, die verschiedenen Arten von Passwörtern abzurufen, erwiesen sich [vom System generierte] aussprechbare Passwörter als viel besser als Passphrasen, zufällige vom System generierte Passwörter oder sogar vom Benutzer ausgewählte Passwörter

Letztendlich variiert die Verwendbarkeit des vom System generierten Passworts stark im Schema. Ihr System mit 32 zufälligen alphanumerischen Zeichen scheint überhaupt nicht benutzerfreundlich zu sein. Einige Systemgenerierungsschemata bieten jedoch eine angemessene Sicherheit und eine angemessen hohe Benutzerfreundlichkeit, wie beispielsweise das xkcd-Schema "Vier zufällige Wörter auswählen". Andere benutzerfreundliche systemgenerierte Schemata umfassen eine aussprechbare Kennwortgenerierung und zufällig generierte alphanumerische Zeichen mit einer vom System generierten hilfreichen Mnemonik. Diese Art von Schemata halten, wo sie untersucht wurden, viel besser als Systeme wie das von Ihnen vorgeschlagene.

Es gibt andere technische Bedenken, die über die untersuchten Usability-Bedenken hinausgehen, aber andere Antworten haben diese Bedenken bereits abgedeckt.

Daher wurden Programme wie Ihres mehrfach in der Forschung evaluiert und von den Benutzern nicht gut aufgenommen. Im Allgemeinen werden vom System generierte Kennwörter von Benutzern nicht gut aufgenommen, und es ist schwieriger, sie abzurufen, wenn sie nicht sorgfältig implementiert werden. Die Alternativen sind in der Regel viel geeigneter, z. B. Kennwortstärkemessgeräte, Benachrichtigungen über verdächtiges Verhalten, Zwei-Faktor-Authentifizierung, Anforderungen an die Kennwortlänge, Nichtzulassung gängiger Kennwörter und Schutz vor Brute-Force-Angriffen und Kennwort-Hash-Lecks.

2
Cody P

Kein Anwalt, aber ein wichtiger Grund, den ich mir für Unternehmen vorstellen kann, die nicht die Verantwortung für Passwörter vom Benutzer übernehmen möchten, ist, dass das Unternehmen für den Fall einer Datenverletzung haftbar gemacht wird, weil jemand ein Passwort erhalten und etwas getan hat. Was passiert, sobald das Passwort generiert wurde, liegt in der Verantwortung des Benutzers, aber es wäre teuer, dies vor Gericht festzustellen, wenn jemand (oder schlimmer noch eine Klasse von jemandem, in einem Fall wie Yahoo! oder Adobe) beschließt, das Unternehmen zu halten allein verantwortlich dafür.

Auf einer praktischeren Ebene haben die Menschen Optionen, und nur eingefleischte Sicherheitsfanatiker werden sich für etwas entscheiden, das die gängige Praxis und Bequemlichkeit im Namen eines erhöhten Sicherheitsniveaus verwirft, dessen Quantifizierung sie nicht einmal sicher sind. Selbst wenn sie sich entschließen, den Dienst weiter zu testen, haben sie beim dritten oder vierten Zurücksetzen des Kennworts, weil sie es vergessen haben, ein Zeichen falsch eingegeben (das sie aufgrund von Einschränkungen für Kennwortfelder nicht sehen konnten), es nicht einfügen können usw. ., sie werden ernsthaft über Ihren Konkurrenten nachdenken, der sie nicht durch solche Reifen bringt, nur um zu überprüfen, wie es ihrer Fantasy-Football-Mannschaft heute geht.

2
Kaji