2011-01-12 12 views
6

Mein Verständnis von Token-basierte Authentifizierung ist, dass bei der Authentifizierung (möglicherweise über SSL), ein Token an den Benutzer zur billigen Benutzerüberprüfung im laufenden Betrieb übergeben wird. Eine Implementierung davon wäre, ein Cookie zu erzeugen, das dem Benutzer zur Sitzungsverwaltung übergeben wird.Sicherheit Token-basierte Authentifizierung

Aber mein Verständnis ist, dass tokenbasierte Authentifizierung (zumindest durch Cookies) anfällig für Menschen in der Mitte Angriffe wie Feuerschleuder ist.

Gibt es andere Methoden der Implementierung, die dieses wichtige Sicherheitsproblem umgehen, oder habe ich ein grundlegendes Missverständnis von tba?

Antwort

10

Ihr Verständnis ist gut. Grundsätzlich kann ein Token in Bezug darauf, wie die Anwendung ihn sieht, auch ein Benutzername und ein Passwort sein. Wenn jemand das Token besitzt, kann er sich für Ihre Anwendung authentifizieren. Der Hauptzweck bei einem HTTP-Cookie besteht darin, den Benutzernamen und das Passwort nicht zu verlieren, wenn jemand das Cookie mithilfe einer Cross-Site-Scripting-Schwachstelle (XSS) oder auf andere Weise erhält. Ja, angesichts der richtigen Umstände können sie dieses Token als "Mann in der Mitte" der Anwendung "wiedergeben", aber sie sollten nicht in der Lage sein, den Benutzernamen/Passwort-Pairing daraus herauszufinden, aber dies ist nicht garantiert, wenn das Token Der Generierungsalgorithmus ist beispielsweise schwach, wenn Sie sich dafür entscheiden, dass BASE64 den verketteten Benutzernamen und das Passwort verschlüsselt und diesen Wert als Wert verwendet.

In der Regel halten Sie das Token -> Benutzer Zuordnung sicher auf der Serverseite. Letztendlich basiert Ihre Sicherheit darauf, das Token sicher zu verwahren und sicherzustellen, dass seine Lebensdauer kontrolliert wird (zB es läuft ab und/oder ist nur gültig, wenn es Ihnen von der gleichen IP wie vom ursprünglichen Anbieter der Anmeldeinformationen gegeben wird), nur ein Beispiel)

hoffe, das hilft,

-Oisin

+0

Great, thanks Oisin. – Devin

Verwandte Themen