OAuth est pas sécurisé ou je n'ai pas le comprendre?

Je pensais au sujet de la sécurité de mon Service web REST API, et a décidé de prendre un coup d'oeil à d'autres grands services et comment ils le font. Comme exemple j'ai décidé d'étudier de Twitter OAuth. Après la lecture de guide pour les débutants, je suis un peu embarrassée et choqué.

Ce que j'ai compris c'est de la responsabilité du prestataire du Service d'authentifier l'utilisateur et de montrer à l'Utilisateur quel type d'accès consommateur l'exige (par exemple, il veut s en lecture seule accès à certaines ressources). Mais j'ai vu des prestataires de services qui n'a pas d'informer l'utilisateur sur le type d'accès consommateur est exigeant (et même maintenant montrant identité du consommateur). La deuxième partie du problème est que le consommateur peut montrer son propre Fournisseur de Service formulaire d'Authentification, IFrame, et vient masquer les détails d'accès, ils peuvent voler votre mot de passe, ou de demander un accès illimité à des ressources, ils peuvent le faire en gros ce qu'ils veulent, il y a beaucoup de façon de tromper l'utilisateur.

Comme un exemple, nous allons prendre un LinkedIn. Ils demandent votre nom d'utilisateur gmail et le mot de passe à l'intérieur de leur propre forme, et vous n'avez aucune idée de comment ils vont l'utiliser. Ils peuvent voler et de le stocker dans leurs prestations, ils peuvent OAuth avec elle à gmail (et ils ne le montrent pas de gmail page avec les informations de ce type d'accès qui leur demande), ils peuvent faire ce qu'ils veulent avec cette information.

Ce que j'essaie de dire, c'est pas que OAuth protocole de communication n'est pas sûr, mais il y a beaucoup de façon de l'utiliser mal de tromper l'utilisateur et d'obtenir ses lettres de créance.

BTW il y avait quelques failles de sécurité dans le protocole d'authentification OAuth lui-même: (http://oauth.net/advisories/2009-1/) et je suis assez sûr qu'il ya plus, mais personne ne se soucie de les trouver.

Si un service est de demander votre nom d'utilisateur et le mot de passe dans un formulaire, qui est pas OAuth. En fait, c'est précisément le motif OAuth est censée résoudre.
Ce n'est pas OAuth dans les termes que OAuth n'a pas d'Authentification de l'adresse, mais ils peuvent utiliser le nom d'utilisateur|mot de passe à partir de à partir de à authentifier ob nom d'utilisateur sur le site du fournisseur d'accès, et d'obtenir OAuth jeton d'autorisation. Ainsi, sous le couvert il peut être OAuth bot n'est pas comme il le devrait.

OriginalL'auteur Alex Burtsev | 2011-02-14