2016-10-14 1 views
1

Ich frage mich, ob es eine sicherere Art der Authentifizierung als Formularauthentifizierung gibt? Ich mag die Tatsache nicht, dass Sie, wenn Sie sich mit einer Formularauthentifizierung an einer Website anmelden, das Cookie auf einen anderen Computer kopieren und sich anmelden können. Ich stelle fest, dass, wenn die Website über ssl durchsucht wird, kein Mann in der Mitte sein kann Angriff, aber ich mag immer noch nicht die Tatsache, dass meine Website auf diese Weise anfällig ist.Gibt es eine sicherere Art der Authentifizierung als Formularauthentifizierung

Gibt es neben der Windows-Authentifizierung eine gute Alternative?

Dank

+0

Kurzlebige Web-Token helfen, das Risiko beim Kopieren von Cookies zu verringern, da sie normalerweise keinen verschlüsselten Benutzernamen und Passwörter enthalten und nach kurzer Zeit ungültig werden. Selbst wenn sie gestohlen würden, wären sie nicht in der Lage verwendet ... –

Antwort

0

Sie können Sachen schauen in-Token basiert, aber was Sie finden, dass es immer etwas die auf dem Client gespeichert und für die Authentifizierung anstelle der tatsächlichen Benutzerdaten (Benutzername übergeben und Passwort). Ob es sich um eine Sitzungs-ID oder ein Token handelt, spielt keine Rolle, wenn Sie davon ausgehen, dass der Angreifer auf den Client zugreifen kann.

Wenn tokenbasierte Authentifizierung verwendet wird, werden die Token meistens nicht in einem Cookie gespeichert, sondern beispielsweise im Browserspeicher (Javascript-Objekte) oder, schlimmer noch, in Orten wie localStorage. Das ist eigentlich weniger sicher als eine gute alte Session-ID in einem httpOnly-Cookie, das gegen Cross-Site-Scripting, im Gegensatz zu so ziemlich alles andere in einem Browser, sicher ist.

So realisieren Sie, dass mit fast jeder Lösung, die Sie wählen, im Grunde Ihre Benutzer Anmeldeinformationen für eine Art von Token austauschen, die Sie dann für die Authentifizierung verwenden, und für die Sitzung das Token entspricht Ihren Anmeldeinformationen und Es gibt keinen großen Unterschied zwischen herkömmlichen Sitzungen und Token. Selbst Windows Auth macht ungefähr dasselbe, aber eine Ebene darunter, auf Betriebssystemebene, die es weniger anfällig für Angriffe wie XSS macht, aber es anfällig für Angriffe macht, die auf automatisch gesendeten Sitzungs-IDs (wie CSRF) basieren.

Wenn Sie die Bedrohung durch den Diebstahl von Sitzungs-IDs durch Angreifer mindern möchten, können Sie Ihre Anwendung beispielsweise so gestalten, dass Sitzungen an Client-IDs wie die Client-IP-Adresse gebunden sind. Auf diese Weise kann der Angreifer, selbst wenn eine Session-ID gestohlen wird, diese nicht verwenden. Als weitere Maßnahme zur Abwehr dieser Bedrohung können Sie gleichzeitige Sitzungen verhindern, was praktisch Logik bedeutet, alle anderen Sitzungen eines Benutzers, der sich anmeldet, zu beenden. Beachten Sie, dass diese Dinge nicht für traditionelle Sitzungen gelten, das Gleiche gilt für Token-basierte Authentifizierung die Umsetzung ist anders.

+0

Danke für die Informationen. Ich entschied mich für die Formularauthentifizierung, aber ich könnte dem Cookie die IP-Adresse oder etwas anderes hinzufügen, um Mehrfachanmeldungen von verschiedenen Computern mit demselben Cookie zu verhindern –

Verwandte Themen