2010-12-30 14 views
6

Gibt es einen Grund, warum ich keine Cookies/Sitzungen für native mobile Anwendungen verwenden sollte, die normalerweise von Browsern verwendet werden, um sich mit meinem Server und für nachfolgende API-Aufrufe zu authentifizieren?Verwenden von Cookies/Sitzungen für die Authentifizierung von mobilen Anwendungen?

Erläuterung: Die de-facto-Methode der Authentifizierung auf mobilen Clients scheint Token-basierte Systeme wie OAuth/XAuth zu sein. Warum reichen traditionelle Browser-Methoden nicht aus?

Antwort

2

Dies hängt von Ihrer Anwendung ab (genauer von Ihrem Bedrohungsszenario).

Einige der häufigsten Bedrohungen sind - Abhören (-> verschlüsseln sollte) - ein Mann in der Mitte (-> müssen andere Partei authentifizieren) - ... was sind Ihre? (Wie sicher ist Ihr Cookie-Speicher, ....)

Ein Cookie enthält zunächst nur ein Token als Beweis dafür, dass Sie irgendwann eine Authentifizierung erfolgreich durchgeführt haben. Wenn der Cookie lange genug gültig ist oder der Transport nicht verschlüsselt ist, besteht eine gute Chance, dass jemand eines Tages herausfinden wird ...

Zusätzlich müssen Sie berücksichtigen, welche zusätzlichen Sicherheitsmaßnahmen am Anfang und am wichtigsten sind SSL.

Was ist Ihre Authentifizierungsmethode (welche Anmeldeinformationen benötigt ein Client für die Anmeldung)? Haben Sie die Möglichkeit mit Authentifizierung basierend auf PPK-Infrastruktur zu arbeiten oder ist die Kommunikation "ad-hoc"?

BEARBEITEN

Wrt. zu OpenAuth: Soweit ich das Protokoll verstanden habe, geht es hauptsächlich um die Delegierung der Authentifizierung. Ein Szenario, in dem Sie einen Agenten autorisieren, eine bestimmte Aufgabe im Auftrag einer anderen Identität auszuführen. Auf diese Weise streuen Sie Ihre Anmeldeinformationen nicht über das gesamte Web. Wenn Sie OpenAuth installiert haben, kann ein Client das Protokoll auch direkt verwenden. Warum also noch einen anderen hinzufügen? Aber OpenAuth gibt ausdrücklich an, dass bei einem direkten Client-Szenario erneut Sicherheitsprobleme auftreten, da das Token nun auf dem Gerät verfügbar ist und entsprechend geschützt werden muss (wie Sie es bei Ihrem Cookie tun müssen).

+0

Vielen Dank für Ihre Antwort. Angenommen, wir verwenden sicheren Transport (SSL) und eine vernünftige Ablaufrichtlinie, genau wie bei Webbrowsern, so scheint es, dass Sie sagen, dass dies in Ordnung sein sollte? Wir senden nur User/Pass, wie es normalerweise mit einer POST-Anfrage gemacht wird. – Karan

+0

Auch nicht sicher, ich verstehe, was Sie mit "ad-hoc" meinen. Es scheint der akzeptierte Weg ist etwas Token basiert wie OAuth/XAuth zu verwenden, aber der Zweck dieser Frage ist zu sehen, ob Cookies ausreichen, und wenn nicht, warum nicht? – Karan

+0

Wenn Sesion/Cookie Stehlen kein Problem für Sie ist, scheint das in Ordnung zu sein. – mtraut

Verwandte Themen