Frage:
Wird die Authentifizierung über Facebook / Google als bewährte Methode angesehen?
Ruben
2017-03-10 15:55:32 UTC
view on stackexchange narkive permalink

Viele Dienste, Websites und Anwendungen bieten die Option "Mit Facebook anmelden" oder "Mit Google anmelden". Für viele Websites öffnet der Browser ein separates Fenster, in das Sie Ihren Benutzernamen und Ihr Passwort eingeben können. Auf diese Weise können Sie die URL überprüfen und sich davon überzeugen, dass der Ursprung wirklich Google / Facebook / was auch immer ist. Die Anmeldung in diesem Fenster sollte sicher sein, und es besteht kein Grund zur Sorge (abgesehen von Datenschutzbedenken).

Dies ist jedoch nicht immer der Fall. Obwohl ich sie jetzt nicht finden kann, bin ich mir ziemlich sicher, dass es einige Websites gibt, auf denen Sie sich mit Ihrem Facebook / Google-Konto auf ihrer Website anmelden müssen (die angezeigte URL ist also nicht Facebook / Google). Ich bin sicher, dass es einige Desktop-Anwendungen gibt, die dies ebenfalls tun. Ein Beispiel, das ich geben kann, ist Nvidias GeForce-Erfahrung. Abgesehen von der Lächerlichkeit, sich bei Google oder Facebook anmelden zu müssen, um einen Treiber zu aktualisieren, scheint dies keine gute Vorgehensweise zu sein, da ich nicht überprüfen kann, ob ich mich tatsächlich bei Google anmelde oder ob das Anmeldefenster gefälscht ist. P. >

Enter image description here

Ich habe einige Male gelesen, dass die Verwendung anderer Dienste zum Anmelden als bewährte Methode angesehen wird. Ist das wahr? Ich kann einige ernsthafte Probleme damit sehen.

Die Technologie, mit der Sie sich über Facebook oder Google anmelden, ist OAuth 2. ([RFC 6749] (https://tools.ietf.org/html/rfc6749), obwohl dieser RFC diese spezielle Frage nicht beantwortet).
Schwer zu wissen, ohne mehr zu sehen.Die Hauptregel für die Netzwerkanmeldung lautet, dass Ihr Google-Passwort niemals die Website eines Drittanbieters erreichen darf.
@S.L.Barth Ich denke, das OP ist besorgt darüber, dass die Sache, in die sie ihre FB / Google-Daten eingeben, möglicherweise nicht FB / Google ist - es spielt keine Rolle, dass ihre Systeme sicher sind, wenn Sie die Daten tatsächlich eingebenein Schwindler.
@TripeHound Deshalb habe ich nur einen Kommentar gepostet, keine Antwort.Ich bemerkte, dass das OP sich bewusst zu sein schien, dass ihre Anmeldeinformationen niemals vom Dienst gesehen werden sollten - aber OAuth nie namentlich oder in den Tags erwähnt.
@S.L.Barth Aber - es sei denn, ich vermisse etwas (was durchaus möglich ist) - OAuth hat nichts damit zu tun.Was (ich denke) das OP besorgt ist, ist, dass eine böswillige App / Webseite ein _fake_ FB-Fenster anzeigt, in dem der Benutzer seine Anmeldeinformationen eingibt und hat, wenn die FB-Anmeldeseite nicht sichtbar angezeigt wird (wo die Richtigkeit der URL überprüft werden kann)ihr Konto gestohlen.
Die aktuelle Frage ist meinungsbasiert.Es sollte umformuliert werden, z.nach den Schattenseiten dieses Ansatzes zu fragen.
Ich mag es nicht wegen eines Nachteils: Verwendet die gleichen Anmeldeinformationen für alle Dienste.Das macht es ziemlich schwierig, beispielsweise für jede Site eine andere E-Mail-Adresse zu verwenden.
Fünf antworten:
Out of Band
2017-03-10 18:40:11 UTC
view on stackexchange narkive permalink

Ich bin mir ziemlich sicher, dass es einige Websites gibt, auf denen Sie sich mit Ihrem Facebook- / Google-Konto auf ihrer Website anmelden müssen (die angezeigte URL lautet also nicht Facebook / Google). Ich bin sicher, dass es einige Desktop-Anwendungen gibt, die dies ebenfalls tun.

Dies ist eine sehr schlechte Vorgehensweise für Websites, da OAuth / OpenID (Protokolle zum Delegieren der Authentifizierung) so konzipiert ist, dass genau dieser Anwendungsfall umgangen wird. Es gibt jedoch keine andere Möglichkeit, dies in Desktop-Anwendungen zu tun, da Desktop-Anwendungen keine Umleitungsfunktion haben.

Eine Webseite kann Sie zur Google- oder Facebook-Authentifizierung weiterleiten, wo Sie Ihre Anmeldeinformationen eingeben können. Wenn Sie sich dann erfolgreich authentifizieren, kann Google / Facebook Sie dorthin zurückleiten, wo Sie herkommen.

Dies ist in einer Desktop-Anwendung nicht möglich. Eine Möglichkeit besteht darin, dass die Desktop-Anwendung einen Webbrowser öffnet, in dem Sie sich bei Ihrem Authentifizierungsanbieter (Google / Facebook) authentifizieren. Wenn Sie hinter den Kulissen etwas Magie erleben, können Sie sich bei der Desktop-Anwendung authentifizieren. Im Großen und Ganzen ist dies jedoch ein ungelöstes Problem. Sie müssen lediglich der Desktop-Anwendung vertrauen, um Ihre Anmeldeinformationen nicht zu stehlen. Tatsächlich löst das Öffnen eines Webbrowsers das Problem auch nicht wirklich. Jetzt vertrauen Sie nur darauf, dass der Browser Ihre Anmeldeinformationen nicht stiehlt (der Browser ist auch eine Desktop-Anwendung!)

Ich habe einige Male gelesen, dass die Verwendung anderer Dienste zum Anmelden als gut angesehen wird trainieren. Ist das wahr?

Dies wird als bewährte Methode angesehen, da

    benutzerfreundlich ist - Benutzer müssen sich nicht an hundert verschiedene Anmeldeinformationen erinnern

  1. Im Großen und Ganzen bietet es eine bessere Sicherheit - Sie müssen nicht hundert verschiedenen Implementierungen vertrauen und hoffen, dass jede Website fehlerfrei ist und Ihr Passwort sicher speichert - Sie müssen nur Google oder Facebook vertrauen Pass auf die Sicherheit auf. Und sie sind viel besser dazu in der Lage als Ihr Neffe im Teenageralter, der ein weiteres Anmeldesystem für seine neue Website geschrieben hat.

  2. ol>

    Natürlich bedeutet dies auch, dass Sie Legen Sie jetzt alle Ihre Eier in einen Korb. Wenn jemand Ihr Google / Facebook-Konto verletzt, haben Sie viel größere Probleme, wenn Sie dieses Konto zur Authentifizierung auf hundert anderen Websites verwenden. Es gibt auch Datenschutzprobleme, wenn Sie Ihrem Authentifizierungsanbieter mitteilen, welche Websites Sie besuchen und mit welcher Häufigkeit Sie sich anmelden.

Lustige Tatsache: Für flickr funktioniert diese "Magie hinter den Kulissen" tatsächlich.Ich weiß, dass Sie mit Darktable (einem FLOSS-Bildbearbeitungsprogramm) direkt auf flickr hochladen können.Darktable würde Ihnen sagen "Ich werde jetzt eine URL mit Ihrem Lieblingsbrowser öffnen, auf OK klicken, nachdem Sie dort bestätigt haben" und dann in Ihrem Browser eine Registerkarte mit einer Flickr-Seite öffnen, die Sie zur Bestätigung auffordert.Darktable wird dann authentifiziert. Ich gehe davon aus, dass es eine URL abfragt, um zu wissen, dass es authentifiziert wurde.Dies bedeutet "es ist nicht unmöglich, so etwas wie OAuth in Desktop-Anwendungen sicher auszuführen".Sie müssen dies jedes Mal tun, damit es nicht dauerhaft ist.
Die "Magie" ist in der Tat ein direkter Zugriff von der App auf die OAuth-API des Authentifizierungsanbieters.Die App verfügt zu diesem Zweck über einen vorab festgelegten API-Schlüssel, und der im Browser geöffnete Anmeldelink enthält eine ID, damit die Verknüpfung der Authentifizierung mit der App funktioniert.Und es gibt tatsächlich Flows für OAuth, die es Darktable ermöglichen würden, "dauerhaft" auf Ihr flickr-Konto zuzugreifen, sodass Sie sich nur einmal authentifizieren müssten (zumindest, wenn Sie Darktable oft genug verwendet haben, um nicht auf Probleme mit dem Ablaufdatum von Aktualisierungstoken zu stoßen).
Die Befehlszeilenschnittstelle der Google Cloud Platform verwendet einen ähnlichen Mechanismus (Starten Sie den Browser, um ein OAuth-Token abzurufen), um sich bei den verschiedenen GCP-Verwaltungs-APIs zu authentifizieren.
Ironischerweise fragt Facebook selbst immer noch nach Ihren Anmeldeinformationen auf anderen Websites, wenn Sie Ihre Kontakte von diesen importieren möchten.
Ihre Aussage "ungelöstes Problem" ist ziemlich falsch.Einige Desktop-Anwendungen, darunter Skype und Visual Studio, können dies problemlos tun.
@TSar: Ich sage nicht, dass Sie sich in einer Desktop-App nicht authentifizieren können - nur, dass Sie der Anwendung vertrauen müssen, in die Sie Ihre Anmeldeinformationen eingeben, um sie nicht zu stehlen.Zugegeben, das ist ziemlich offensichtlich und unvermeidlich.Eine Verbesserung wäre die Integration der delegierten Authentifizierung in das Betriebssystem. AFAIK gibt jedoch noch keine umfassende Betriebssystemunterstützung für die delegierte Authentifizierung.MS Azure Auth ist möglicherweise eine Ausnahme, die jedoch auf MS als Authentifizierungsanbieter beschränkt ist.
Außerdem: Wenn Sie eine Desktop-Anwendung verwenden, kann ein Keylogger trivial integriert werden, wodurch die Eingabe Ihrer Anmeldeinformationen über den Browser genauso unsicher wird wie über die Anwendung selbst. Dies gibt nur ein falsches Sicherheitsgefühl, das die Anwendung nicht kannErhalten Sie Ihre Anmeldeinformationen ...
@Pascal Gleiches gilt für eine Web-App.Sie können nicht sicher sein, ob das Fenster, das die App anzeigt, das richtige ist.Die meisten normalen Benutzer bemerken die Adressleiste nicht einmal.
@Bakuriu - Ja, ich stimme zu, die Verwendung des Browsers ist auch nicht kinderleicht.Die einzige Möglichkeit, dies zu lösen, besteht darin, die Anmeldeinformationen in einen Betriebssystemdienst einzugeben. Sie müssen dem Betriebssystem trotzdem vertrauen.TSar: Sicher, Menschen sind Menschen.Daran führt kein Weg vorbei :-)
@Pascal Ein Betriebssystemdienst wäre eine Verbesserung, aber selbst dann, wenn eine App die Möglichkeit hat, Dinge auf den Bildschirm zu zeichnen, kann sie wahrscheinlich jeden verfügbaren Betriebssystemauthentifizierungsdialog fälschen.Am Ende eines durchschnittlichen Desktop-Betriebssystems ohne starkes Sandboxing und App-Isolation ist eine böse App auf Ihrem System vorbei.
Ich denke, Sie sollten klarstellen, dass Punkt 2 umstritten ist, wenn Sie auf jeder Site unterschiedliche Passwörter verwenden.In der Tat kann die Anmeldung mit oauth für schlecht implementierte Home Brew-Sicherheit gefährlicher sein, insbesondere für weniger technisch versierte Benutzer, da ein Hacker das echte oauth-Login durch eine gefälschte Seite ersetzen könnte, die Facebook / Google ist.Dies kann viele Benutzer austricksen, insbesondere wenn sie bereits an die Site gewöhnt sind.
@Vality So viel dazu!Es driftet zum Off-Topic, aber das ist der Grund, warum ich zusammenzucke, wenn Leute denken, dass "Curl |"sh`` oder ein anderes "Oh, das ist ein einfacher Installationsprozess" ist eine gute Idee.
@SebastiaanvandenBroek das ist genau das größte Problem, das ich dabei sehe.Selbst technisch versierte Benutzer können sich von Domänen täuschen lassen, die sich ähneln, oder einfach vergessen, dass es nicht sicher ist, wenn es kein separates Anmeldefenster gibt. Mir wurde immer beigebracht: "Geben Sie niemals Ihr Passwort für einen Dienst an einen anderen weiter".Dieser Ansatz kann Benutzer davon überzeugen, dass dies in Ordnung ist.Ich wette, dass ein einigermaßen beliebter Dienst einen großen Teil seiner Nutzer davon überzeugen könnte, ihre Facebook- / Google-Logins aufzugeben. Trotzdem denke ich nicht, dass es sehr wichtig ist, da viele Leute ein einziges Login für viele Dienste verwenden.
Es ist vielleicht erwähnenswert, dass Sie auch beim Starten einer Webseite darauf vertrauen müssen, dass die Desktop-App keinen Key Logger installiert hat, um Anmeldeinformationen zu stehlen.
Ein Betriebssystemdienst wie ein im Betriebssystem enthaltener Webbrowser?Das Problem bei der Verwendung eines In-App-Browsers zum Anmelden besteht darin, dass dieser normalerweise nicht so aktuell ist wie ein richtiger Browser.Es entstehen auch Probleme wie die App, die die Zertifikatprüfung (oder die EV-Leiste) nicht ordnungsgemäß implementiert und vorhandene Cookies nicht verwenden kann.
Nein, nur etwas, dem Sie vertrauen, um Ihre Anmeldeinformationen nicht zu stehlen.Grundsätzlich ein Eingabedialogfeld mit zwei Feldern, dem Sie vertrauen und der sich dann beim Authentifizierungsanbieter authentifiziert.Es ist machbar, aber wie @Vality sagt, brauchen Sie so etwas wie Qubes OS, um es kinderleicht zu machen.
Serge Ballesta
2017-03-10 17:21:11 UTC
view on stackexchange narkive permalink

Der erste Teil ist hauptsächlich eine Teilantwort für den Desktop-Anwendungsfall. Das Installieren einer Desktop-Anwendung ist nicht dasselbe wie das Durchsuchen einer Remote-Site. In letzterem Fall vertrauen Sie darauf, dass Ihr Browser Sie (so weit wie möglich) vor möglichen Angriffen schützt. Im ersten Fall müssen Sie darauf vertrauen, dass die Anwendung keine Malware enthält. Ich mache kaum einen Unterschied zwischen dem Vertrauen in Chrome, nicht alle meine persönlichen Informationen an Google zu senden, und dem Vertrauen in eine NVidia-App, Ihr Google-Passwort nicht zu stehlen.

Der einzige wirkliche Unterschied besteht darin, dass Sie einen neuen möglichen Angriffsort hinzufügen Ihr eindeutiges Google-Passwort. Wenn Sie sich Sorgen machen, erstellen Sie einfach ein Zusatzkonto, das Sie nicht für sensible Zugriffe verwenden, und verwenden Sie es für NVidia und / oder andere Desktopanwendungen.

Davon abgesehen Es ist definitiv eine schlechte Praxis für eine Site oder sogar eine Desktop-Anwendung, sich auf den Weg zu machen und jederzeit die Verantwortung zu übernehmen, Ihr Passwort an einen externen Authentifizierungsdienst zu übergeben. Protokolle wie OAuth oder CAS wurden speziell entwickelt, um es einer Site oder Anwendung zu ermöglichen, die Authentifizierung an einen Drittanbieter zu delegieren und das Kennwort nie zu sehen . Der Client vertraut der Authentifizierung. Zum Schutz seiner Anmeldeinformationen vertraut der Anwendungsdienst der Authentifizierung. Service zur sicheren Identifizierung des Kunden. Punkt. Dem Anwendungsdienst vertrauen zu müssen, um die Anmeldeinformationen nicht zu stehlen, ist meiner Meinung nach ein Entwurfsfehler.

Für den Desktop-Anwendungsfall ist es richtig, dass Sie das Update sicher über Ihren Browser herunterladen können - Sie übernimmt die Verantwortung für diesen Teil - und dann übernimmt die Anwendung die heruntergeladene Datei, um ihre Aktualisierungen vorzunehmen. Auf diese Weise sind Sie dafür verantwortlich, wenn etwas schief geht (z. B. wenn Sie eine kompromittierte Datei von einer Piratenseite heruntergeladen haben). Aber eine App. Entwickler wissen nicht immer, wer für was verantwortlich sein sollte ...

Ich stimme Ihrem Standpunkt zum NVIDIA-Programm zu.Ich mache mir darüber keine besonderen Sorgen, da ich ihnen genug vertraue, um mir Fahrer zur Verfügung zu stellen.Wenn ich mich jedoch mit einem Unternehmen mit weniger technischen Kenntnissen befassen würde, wäre ich viel zögerlicher, meine Anmeldedaten einzugeben.
rew1nd
2017-03-10 18:53:35 UTC
view on stackexchange narkive permalink

Meiner Meinung nach ist dies keine gute Praxis. Einige Fragen können nicht ignoriert werden:

  • Google und Facebook untersuchen bereits unsere Privatsphäre und verkaufen unsere persönlichen Daten an Drittunternehmen und Werbetreibende. Es ist nur mehr Nahrung für den Fisch. Deshalb bieten sie diesen Service an.
  • Wie @Pascal sagt, befinden sich alle Eier im selben Korb und vertrauen auf einen Dritten. Heutzutage keine gute Option.
  • Sie können sich einen Oauth-Server entwickeln, ohne Facebook oder Google verwenden zu müssen. Auf diese Weise können Sie sicher sein, was mit Ihren Daten geschieht.
Wenn auf JEDER Seite, die Sie besuchen, eine Google-Anzeige oder ein Facebook-Liek-Button vorhanden ist, fügen die Cookies 2 + 2 hinzu (Ihr FB-Konto und Sie besuchen diese Website) ... Unter Sicherheitsgesichtspunkten geht es nicht wirklich um Datenschutz.Wenn es die Option gibt, das Passwort nicht zu speichern und jemand anderes damit umgehen zu lassen, wählen Sie immer diese Option, eine Tür weniger, um die Sie sich sorgen müssen.
@ ИвоНедев sehr einfach, die Google / Facebook-Cookies zu entfernen (Adblock)
@ YouвоНедев Sie können Facebook überhaupt nicht verwenden und nirgendwo ein Passwort speichern.Verwenden Sie einfach Google und Sie werden für Werbung verfolgt!Sie brauchen nirgendwo Login, Google ist immer das, was Sie besuchen, wo Sie sind, ect.
Иво Недев
2017-03-10 22:30:40 UTC
view on stackexchange narkive permalink

Ich glaube, es war dieses Video, in dem genau das besprochen wird.

Um es zusammenzufassen:

"Wenn Sie die Option haben, nicht zu speichern Wählen Sie immer diese Option aus, und lassen Sie sich nicht damit befassen, sondern lassen Sie dies von jemand anderem (vorzugsweise größer) für Sie tun. Dies ist ein potenzielles Problem weniger, über das Sie sich Sorgen machen müssen. "

Mark Aurit
2017-03-11 01:55:19 UTC
view on stackexchange narkive permalink

Nun, wenn Google und Facebook es verwenden, muss man ein bisschen wählerisch sein, um es nicht als Best Practice zu betrachten. Sie haben die besten Authentifizierungsmitarbeiter der Welt und scheinen sich mit OAUTH2 wohl zu fühlen.

Es hat seine Vorteile - Sie müssen keinen Passwort-Wartungscode schreiben, Sie können sich ziemlich sicher sein, dass ihr Code gründlich getestet wurde usw. Einer der Nachteile ist, dass das Testen in Ihrer App mühsam sein kann und Ihre Benutzer ein Konto bei einem Anbieter haben müssen.

Nachdem ich gesagt habe, dass ich OAUTH2 nicht mehr verwende, gehe ich mit SMS und Challenge-Codes zu Two Factor. Ich war überrascht, wie einfach es war, eine Verbindung herzustellen. Keiner der oben genannten Nachteile trifft zu - einfach zu testen, und es ist viel wahrscheinlicher, dass Menschen eine Zelle als ein Konto haben. Es ist ziemlich günstig (obwohl OAUTH2 kostenlos ist) und ich denke, es ist sicherer. Natürlich YMMV



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...