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?
Répondre
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.
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.
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.
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é.
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 ... –
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
La clé ici qui me fait peur est tout simplement pas son compte sur un site Web, mais chaque site Web qui utilise openID !!!
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
Ne pourriez-vous pas mettre en place un faux site Web qui prétendait valider contre ce fournisseur. Alors vous possédez ses informations ... –
En supposant qu'il l'a visité bien sûr;) –
- 1. Quels sont les dangers de rendre une méthode virtuelle?
- 2. Quels fichiers contrôlent la visibilité de votre site Web?
- 3. Quels sont les paramètres optimaux pour le serveur Web Tomcat?
- 4. Quels sont les avantages et les inconvénients de l'utilisation d'OpenID?
- 5. Meilleurs lecteurs multimédia Web pour votre propre site Web?
- 6. Quels types d'options d'authentification sont disponibles pour les sites Web et les applications Web?
- 7. Quels sont les CMS pour mobile?
- 8. Quels bons logiciels ou scripts sont disponibles pour gérer les utilisateurs et les abonnements sur notre site Web?
- 9. Quels sont les attributs?
- 10. Quels sont les plugins recommandés pour Trac?
- 11. Quels sont les codes de balayage pour:
- 12. Thème du site pour iPhone - Quels sont les ingrédients de base?
- 13. Quels sont les inconvénients des méthodes statiques?
- 14. Comment utiliser OpenID dans mon nouveau site Web ASP.NET?
- 15. Quels sont les bons matériaux pour un développeur de bureau pour devenir développeur Web?
- 16. Utiliser votre propre API pour construire votre site
- 17. Quels sont les pièges de la combinaison d'un projet de site Web avec un projet d'application Web dans Visual Studio?
- 18. Quels sont les services .NET?
- 19. Quels sont les bons addins d'utilisabilité pour Visual Studio 2008?
- 20. Quels sont les outils idéaux pour analyser les scripts SQL?
- 21. Quels sont les avantages du design pour les programmeurs?
- 22. Quels sont les bons serveurs d'applications pour les piles LAMP?
- 23. Quels sont les modèles pour les schémas de table DB?
- 24. Quels sont les supports d'apprentissage recommandés pour SSIS?
- 25. OpenID vs connexion utilisateur personnalisée pour un site web utilisé par des personnes non-tech
- 26. Quels sont les avantages et les inconvénients des DTO du point de vue de la performance d'un site Web?
- 27. Quels sont les avantages et/ou les inconvénients de l'exécution de chaque site Web dans son propre AppPool?
- 28. Problème installation sur OpenID ASP.NET MVC Site
- 29. Quels sont les principaux concurrents de Servoy?
- 30. Modifier mon site Web pour autoriser les commentaires anonymes
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é. –
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
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