2008-11-25 14 views
15

Imaginons que je crée un site Web comme StackOverFlow et décide d'utiliser OpenID. Qu'est-ce qui m'empêche, ou qui que ce soit d'autre, de phishing? Autrement dit, comment pouvez-vous vraiment savoir que n'importe quel site Web utilise OpenID et ne prétend pas? Et comment vous protégez-vous contre cela? En ce qui concerne ce point, disons qu'un site a compromis vos informations d'identification openID, ne pourrait-il pas l'utiliser sur tous les autres sites utilisant openID (un hack de mot de passe global)? La sécurité de votre openID ne serait-elle alors pas aussi forte que le site/fournisseur le plus faible?Quels sont les dangers d'utiliser OpenID pour votre site web?

+0

Quel mal y a-t-il à perdre votre OpenID? Vous devez toujours vérifier votre identité auprès du fournisseur OpenID avant que tout dommage ne puisse être causé. –

+0

Vous devriez probablement modifier le titre ou le texte. Je comprends le titre comme demandant des dangers d'utiliser OpenID en tant que développeur (comme SO), mais le texte est sur les risques du point de vue de l'utilisateur. – phihag

+0

Quelle est votre question? Les URI OpenID sont publics. Le mien est http://www.aaronhockley.com - il n'y a rien à phish. L'authentification du fournisseur OpenID, pas de la partie utilisatrice. – ahockley

Répondre

7

Tout ce que vous entrez est l'ID, pas de mot de passe. L'ID est publique, donc "phishing" ce n'est pas un trou de sécurité. Certains fournisseurs utilisent même le même ID pour tous les utilisateurs, par exemple l'ID d'un compte Google est toujours https://www.google.com/accounts/o8/id. Voir le Wikipedia article pour une explication plus détaillée.

6

Lorsqu'une personne insère un ID ouvert sur votre site, vous authentifiez l'utilisateur en demandant au site où réside OpenID de l'utilisateur (et uniquement ce site) si cet utilisateur est correct. AOL ne peut pas valider un Yahoo OpenID, par exemple.

Si l'utilisateur n'est pas déjà authentifié sur ce site, l'authentification échoue et vous devez rediriger vers la page de connexion de ce site. Une authentification réelle doit encore se produire, mais cela arrive toujours avec le fournisseur OpenID pour cet utilisateur. En tant qu'utilisateur, vous êtes protégé car vous ne devriez voir que la page de connexion que vous connaissez. Un site malveillant aura du mal à siphonner les informations d'identification OpenID, car les utilisateurs ne donnent jamais directement ces mots de passe à ces sites. Une fois que l'utilisateur est authentifié auprès de son fournisseur (ou dès le départ), le fournisseur le signale à votre site Web. Ce qui change pour OpenID, c'est que votre site a maintenant besoin de faire confiance à certains autres sites - qu'ils signaleront avec précision le statut de leurs utilisateurs. Quelqu'un pourrait mettre en place un fournisseur d'ID ouvert "malveillant", et essayer d'écrémer de nouveaux identifiants de cette façon, mais c'est entre un utilisateur et le fournisseur. Puisque cette authentification est une question de réputation, l'idée est qu'un tel fournisseur ne resterait pas longtemps en affaires. Si rien d'autre, les sites pourraient blacklister ces fournisseurs. Un fournisseur malveillant ne serait pas en mesure d'usurper l'identité des ID ouverts enregistrés auprès d'autres fournisseurs.

Une autre possibilité pour un fournisseur malveillant est de configurer un service OpenID qui confirme simplement toujours tout identifiant qui lui est passé pour l'authentification (ou qui permet à un administrateur de configurer une porte dérobée pour ses utilisateurs). Cependant, cela n'affecterait que les utilisateurs enregistrés auprès de ce fournisseur. Encore une fois, les sites pourraient dresser une liste noire de ces fournisseurs, et comme ils misent sur la réputation, l'idée qui ne resterait pas longtemps en affaires tient toujours.

2

Le système OpenID est très sécurisé et gagne beaucoup de terrain à cause de cela. Le principal inconvénient que je vois est que si le fournisseur OpenID de beaucoup de vos utilisateurs tombe en panne, ces utilisateurs seront exclus de votre site. Vous devez donc avoir un plan de sauvegarde nom d'utilisateur/mot de passe, stocker leur adresse e-mail après validation afin de pouvoir leur envoyer un mot de passe en cas d'urgence/catastrophe.

+1

ou au moins un email, donc le site peut vous envoyer un lien pour une nouvelle inscription – scunliffe

+0

... ou laisser les gens assigner plusieurs OpenIDs à ​​leur compte, donc si l'un d'entre eux tombe en panne, il en reste un autre qu'ils peuvent utiliser. – DanMan

7

Pour les utilisateurs qui connaissent très peu le fonctionnement d'OpenID, vous pouvez créer quelques fausses pages qui ressemblent à des sites Web pour lesquels OpenID est utilisé (comme, par exemple, les fournisseurs de messagerie gratuits qui gèrent OpenID). S'ils oublient de vérifier le domaine dans lequel ils se trouvent avant de saisir leur nom d'utilisateur et leur mot de passe, alors evildomain a maintenant son nom d'utilisateur et son mot de passe OpenID. Sur le serveur, vous utilisez des sites externes pour la vérification d'identité.Ainsi, s'il s'avère qu'il y a un trou dans le formulaire d'authentification OpenID du fournisseur XYZ qui permet au mot de passe "espadon" de fonctionner sur n'importe quel compte, n'importe qui peut usurper l'identité des utilisateurs de ce fournisseur. Allesklar a fait un bon point pendant que j'écrivais ce qui se rapproche bien de mon dernier point: Si vous mélangez des utilisateurs locaux et distants, vous avez soudainement besoin de deux listes d'interdiction au lieu d'une; la deuxième liste d'interdiction pour les "mauvais" fournisseurs OpenID mis en place par des personnes pour créer des lots de comptes ... ou ceux qui autorisent automatiquement tout nom de compte qui leur est donné.

+0

Dans votre commentaire: "... vous pourriez créer quelques pages frauduleuses qui ressemblent à des sites Web pour lesquels OpenIDs est destiné". N'est-ce pas exactement ce qui arriverait? Si cela devient courant, la plupart des gens n'auront aucune idée de ce qui est légitime et de ce qui ne l'est pas. Même aujourd'hui, la plupart des gens ne comprennent pas vraiment les certificats SSL ... –

1

Histoire drôle. J'ai trouvé un exploit sur SO qui m'a permis de changer complètement le profil de quelqu'un. Si Jeff utilisait l'email + mot de passe, j'aurais pu posséder son compte, mais parce que SO utilise OpenID, il n'y avait rien d'autre à faire que de changer son Gavitar en quelque chose de drôle.

Le bug en question a été signalé, corrigé, et j'attends toujours sur mon badge Hacker. : P

1

La clé ici qui me fait peur est tout simplement pas son compte sur un site Web, mais chaque site Web qui utilise openID !!!

+0

Pour posséder son compte openID, je devrais posséder son fournisseur openID, ce qui, selon ce que c'est, peut être une tâche assez difficile. Il est également intéressant de noter que la plupart des gens utilisent le même combo e-mail + mot de passe sur de nombreux sites Web. Cela a été à peu près le même résultat si j'avais obtenu ses références ici. – Patrick

+0

Ne pourriez-vous pas mettre en place un faux site Web qui prétendait valider contre ce fournisseur. Alors vous possédez ses informations ... –

+0

En supposant qu'il l'a visité bien sûr;) –

Questions connexes