it-swarm-eu.dev

Benutzerfreundlichkeit und Sicherheit für Benutzerzugriff und Kennwortbehandlung in einer Webanwendung?

Ich möchte eine Website zusammenstellen, die sich an normale Benutzer richtet und mit persönlichen Daten umgeht, die nicht kompromittiert werden sollen. Wie kann ich die Site sicher, aber auch nutzbar machen?

Es scheint, dass die meisten Websites eine Benutzer-ID (E-Mail-Adresse scheint am besten zu sein) und ein Passwort verwenden, was ziemlich gut verstanden wird.

Einige Bankenseiten gehen darüber hinaus, indem sie eine PIN] oder Sicherheitsfragen haben, die sich aus den Standardkennungen ergeben oder das Passwort ersetzen. Ich würde mich über Alternativen freuen, die sich in dieser Hinsicht als erfolgreich erwiesen haben .

Ich habe auch davon gehört, dass Benutzer ihr eigenes Farbschema auswählen oder nach einer Website suchen können, sobald sie identifiziert wurden, um das Phishing-Konto zu erschweren. Kennt jemand Websites, die dies verwenden und wie gut es funktioniert?

Die wirkliche Schwäche in den meisten Systemen scheint mir die Möglichkeit zum Zurücksetzen des Passworts zu sein. Da Benutzer ihre Passwörter die ganze Zeit vergessen, brauchen wir etwas, um ihnen hier zu helfen, aber es scheint wirklich schwierig zu sein, ein Gleichgewicht zwischen hilfreich und schrecklich unsicher zu finden. Auch hier scheint der Ansatz für Benutzersicherheitsfragen weit verbreitet zu sein, aber die beiden Seiten, auf die ich gestoßen bin, hatten entweder eine Frage, die der Benutzer festlegt und beantwortet, oder einige unveränderliche Fragen über den Benutzer.

Bei einer vom Benutzer bereitgestellten Frage vertraue ich nicht darauf, dass sie die Frage "Was ist 1 + 1" nicht stellen, egal wie sehr Sie versuchen, ihnen zu sagen, dass dies sehr wichtig ist.

Bei unveränderlichen Fragen - und wenn Sie die Meinung eines Benutzers zu Dingen und nicht zu einfachen Fakten fragen, ändern sich diese eher - werden sie häufig zu Dingen (Vorname der Eltern, erstes Haustier), die eigentlich recht leicht zu finden sind out, wenn Sie einen Benutzer für einen Angriff ins Visier nehmen.

Mir ist klar, dass es hier immer einen Kompromiss zwischen dem, was sicher ist und dem, was einfach zu bedienen ist, geben wird, aber es muss möglich sein, es besser zu machen als die meisten Websites jetzt. Können Sie weniger konventionelle, aber zuverlässige Ansätze für die Sicherheit von Benutzerkonten vorschlagen? Ich habe von Bildgittern, benutzerdefinierten Captchas usw. gesprochen - irgendwelche Erfahrungen damit in der Praxis? Gibt es Websites, die dies besonders gut verwalten und wenn zeigen, wie/warum sie funktionieren?

10
glenatron

Gute Frage.

Kurzversion

Wie bei den meisten Websites gibt es mehrere Optionen, die über Benutzername/E-Mail/Passwort hinausgehen. Sie können das ultimative Sicherheitsproblem nicht lösen, aber Sie können sich weiterbilden. Es gibt Alternativen zu Captchas. Sicherheit versus Benutzerfreundlichkeit ist eine unendliche, gesunde Debatte.

Zusätzliche Sicherheitsoptionen beim Anmelden

  • Yahoo! verwendet das Konzept " Anmeldesiegel ", bei dem Sie entweder einen Text oder ein Bild auswählen können. Diese Anpassung wird in einem Cookie gespeichert und auf der Anmeldeseite angezeigt, wenn Sie Rückkehr. Die Idee hier ist, dass es hilft, Phishing-Angriffe zu verhindern: Anstatt den Benutzern die technischen Details des Phishing zu erklären und zu erwarten, dass sie sich an Dinge wie "Stellen Sie sicher, dass die URL mit https://www.yahoo beginnt .com ", Sie weisen den Benutzer lediglich an, auf der Seite nach seinem benutzerdefinierten Text oder Bild zu suchen. Wenn es nicht vorhanden ist, sind Sie nicht an der richtigen Stelle. Geben Sie daher Ihre Anmeldeinformationen nicht an.

  • World of Warcraft verwendet den Blizzard Authenticator , ein Gerät, das Sie bestellen und an Sie versenden können, oder eine iPhone/Android-App. Beide generieren jede Minute einen eindeutigen Code, der mit Ihrem Konto verknüpft ist. Wenn Sie sich anmelden, müssen Sie Ihre bei Battle.net registrierte E-Mail-Adresse, das Kontokennwort und den Blizzard Authenticator-Code angeben. Obwohl es sich um ein Spiel handelt, ist World of Warcraft ein eigener Phishing-Kontinent. Dieser Ansatz hat sich als äußerst effektiv erwiesen, um die Anzahl der durch Phishing gehackten Konten zu reduzieren (selbst wenn Sie sich in das E-Mail-Konto einer Person hacken und deren World of Warcraft-Passwort abrufen oder ändern können Sie sich nur anmelden, wenn Sie über den tatsächlich synchronisierten Authenticator-Code verfügen. Es ist erwähnenswert, dass der Authenticator theoretisch hackbar ist, aber es erfordert viel mehr Arbeit, um dies zu tun.

  • myOpenID verwendet ein ähnliches Siegel wie Yahoo! genannt "Ihr persönliches Symbol". Da OpenID zusätzliche Auswirkungen auf die Sicherheit hat (z. B. wenn Sie Zugriff auf meine OpenID erhalten, haben Sie jetzt möglicherweise Zugriff auf alle Websites, die ich mit dieser OpenID verwende), sind alle Optionen für einen erhöhten Schutz sehr hilfreich. Ich glaube jedoch nicht, dass die meisten nichttechnischen Benutzer OpenID-Konten bei OpenID-Anbietern haben, daher ist dies möglicherweise weniger wichtig. Trotzdem gut für JanRain, dass er die Extrameile gegangen ist.

Was tun, wenn Benutzer offensichtliche Sicherheitsfragen und -antworten bereitstellen?

Dies ist ein Problem, das Sie nicht lösen können, und es liegt nicht wirklich in Ihrer Verantwortung. Sie sollten sich darauf konzentrieren, das richtige Verhalten Ihrer Benutzer zu fördern, indem Sie sie darüber informieren, worauf sie achten müssen. Abhängig von der Art Ihrer Nutzerbasis können Sie mehr oder weniger aggressiv sein - zum Beispiel Yahoo! und Blizzard sind sehr aggressiv und implementieren, wie oben erwähnt, proaktivere Sicherheitsunterstützung.

Einige Dinge, die Sie tun können:

  • Erinnern Sie die Benutzer daran, ein eindeutiges Kennwort zu verwenden, das nicht nur aus alphanumerischen Zeichen besteht
  • Erklären Sie, dass Passwörter aus nicht vorhandenen Wörtern bestehen sollten, und erläutern Sie, wie Sie ein einprägsames Passwort erstellen, das in diese Form passt
  • Verwenden Sie während des Ablaufs eine klare Kopie, in der Benutzer eine Frage zum Zurücksetzen des Sicherheitspassworts erstellen, und unterstreichen Sie, wie wichtig es ist, nicht triviale Fragen zu stellen, auf die andere Personen keine Antwort wissen
  • Geben Sie Beispiele für Fragen, die die Leute verwenden könnten ( nicht Geben Sie Beispiele wie "Mädchenname der Mutter", die heutzutage leicht über Facebook zu finden sind.)
  • Schreiben Sie eine FAQ) mit Tipps zum Sichern Ihres Kontos. Da Webmail eine häufig verwendete Sicherheitslücke ist, geben Sie grundlegende Tipps zum Sichern Ihres E-Mail-Kontos und zum Beobachten von Phishing-Versuchen

Seien Sie ein verantwortungsbewusster Website-Inhaber. Ich vergleiche es mit Bahnhöfen mit Schildern mit der Aufschrift "Achten Sie auf Taschendiebe" - es liegt in Ihrer Verantwortung als Einzelperson, Ihre Brieftasche nicht im Blick zu haben und sich dann zu beschweren, wenn sie gestohlen wird. Aber es ist nett von der Stationsleitung, die Leute daran zu erinnern, die Dinge im Auge zu behalten. Das Problem im Web ist, dass viele Menschen nicht wissen, worauf sie achten müssen oder wie sie Bedrohungen identifizieren können. Wir können helfen, indem wir jeden, mit dem wir in Kontakt kommen, ständig und konsequent schulen.

Captchas und Alternativen

Captchas gibt es aus zwei Gründen: erstens, um zu verhindern, dass Ihre Site DDOS-fähig wird, und zweitens, um zu verhindern, dass Hacker Wörterbuchangriffe ausführen. Aber der Nachteil ist, dass sie in den meisten Fällen sehr unfreundlich sind und überhaupt nicht " Lass mich nicht nachdenken ".

Wenn Sie Wörterbuchangriffe verhindern oder zumindest davon abhalten möchten, sollten Sie dem Anmeldebildschirm einen Timer hinzufügen, der sich bei jedem Versuch (nach einer bestimmten Anzahl) erhöht. Die meisten Benutzer werden beispielsweise nach 5 Versuchen einsteigen, und mehr als das ist zweifelhaftes Verhalten. Machen Sie Wörterbuchangriffe ärgerlich, indem Sie Probleme für Täter und nicht für normale Benutzer verursachen.

Sicherheit vs. Benutzerfreundlichkeit

Jakob Nielsen sorgte letztes Jahr für Furore, als er schrieb, dass Passwortfelder ein Usability-Problem darstellen und aufhören sollten, ihre Eingabe zu maskieren . Er argumentierte, dass das Maskieren der Eingabe Sicherheitslücken nur dann wirklich verhindert, wenn jemand direkt hinter Ihnen steht, und dies ist in 99% der Fälle nicht der Fall. Warum sollte es also schwieriger sein, die Verwendung nur für einen Edge-Fall zu erschweren? Als Usability-Experte ist es schwer, mit ihm zu streiten. Und Sicherheitsexperte Bruce Schneier stimmte ihm sogar zu !

Sicherheit und Benutzerfreundlichkeit sind daher ein kontroverses Problem, das nicht wirklich gelöst werden kann. Und es ist ein gesundes Argument: Wenn die Dinge in beide Richtungen zu weit schwanken würden, wäre das nicht gut für die Endbenutzer. Als UI-Designer ist es wichtig, die Argumente von Sicherheitsexperten zu erkennen und diese bei der Gestaltung der Benutzererfahrung zu berücksichtigen.

9
Rahul

Bei den meisten Anbietern, die Anmelde-APIs anbieten (normalerweise basierend auf Open Auth), müssen Sie sich nicht einmal mit Problemen bei der Benutzeranmeldung/-authentifizierung befassen. Lassen Sie Ihre Benutzer sich einfach mit Facebook, Google, Yahoo, Twitter usw. anmelden. Ich bin der Meinung, dass Google, Microsoft, Yahoo usw. al. Ich werde die Anmeldeinformationen besser sichern und mit dem Zurücksetzen von Passwörtern umgehen können als ich. Dies ist wirklich der beste Fall für Ihre Benutzer, da sie sich keine neuen Anmeldeinformationen merken müssen und in den meisten Fällen, wenn sie bereits in ihrer E-Mail angemeldet sind, das Kennwort nicht erneut eingeben müssen. Es ist die perfekte Anmeldung mit einem Klick (ohne Eingabe).

Es gibt zwei kleine Fallstricke, um diese Arbeit zu machen. (1) Sie müssen eine relativ große Anzahl von Anmeldeanbietern unterstützen, um sicherzustellen, dass Sie alle Ihre Benutzer erfassen, ohne sie zu belästigen. (2) Sie müssen die Kontoverknüpfung unterstützen und fördern, damit Benutzer ihrem Konto auf Ihrer Site mehrere Anmeldeanbieter hinzufügen können, da die Anbieter (und häufig ohne Vorwarnung) ihre API ändern oder wegen Wartungsarbeiten ausfallen können, um diese Benutzer effektiv zu sperren Ihrer Website.

Auf der anderen Seite können Sie Benutzerparameter normalerweise direkt vom Anbieter abrufen, sodass der Benutzer keine Informationen wie E-Mail-Adresse, Name, Telefon usw. eingeben muss.

1
Jonathan

Um ehrlich zu sein, mag ich als Programmierer persönliche Sicherheitsschritte für Fragen und Antworten nicht wirklich, da die Antworten aus rein programmtechnischer Sicht falsch eingegeben werden könnten. Was passiert, wenn ihre Antwort ein Name war, sie sich aber nicht erinnern, ob sie den ganzen Namen oder nur ihren Kurznamen oder nur ihren Vornamen angegeben haben oder einen Apostroph verpassen und es nicht merken.

Captchas (unterschiedlicher Art) erfordern dagegen eine Schwarz-Weiß-Antwort. Es ist entweder gültig oder nicht. Die Lesbarkeit des Captchas bereitet den Benutzern jedoch manchmal Probleme. Die meisten sind lesbar, aber einige sind nur Unordnung.

Ich denke, die Methode, beim Zurücksetzen des Passworts eine E-Mail-Überprüfung zu verlangen, schien mir immer ziemlich sicher zu sein, da ich eindeutig meine Anmeldedaten kennen muss, damit ein zweites System (mein E-Mail-Konto) darauf zugreifen kann der Link zurück zur Site, um nach einem neuen Passwort zu fragen.

0
Nick Bedford