OpenID est-il si facile à pirater ou ai-je raté quelque chose?


18

Pour les parties de confiance (RP) qui permettent à l'utilisateur de spécifier le fournisseur OpenID (OP), il me semble que quiconque connaît ou devine votre OpenID pourrait

  1. Entrez leur propre adresse OP.
  2. Faites-les valider en tant que propriétaire de votre OpenID.
  3. Accédez à votre compte sur le RP.

Le RP "pourrait" prendre des mesures pour empêcher cela en permettant uniquement à l'OpenID d'être validé par l'OP d'origine, mais ...

  1. Comment savez-vous qu'ils font?
  2. Vous ne pourriez jamais changer votre OP sans changer également votre OpenID.

Réponses:


7

OpenID est l'un de ces systèmes où vous devez faire confiance aux points de terminaison. Si le RP n'est pas digne de confiance, ce type d' empoisonnement d'association est tout à fait possible. Si le RP est réellement digne de confiance, ce type d'attaque est BEAUCOUP plus difficile. Le «contournement» pour ne pas être vulnérable à cette attaque consiste à associer le principe de sécurité local (sur ServerFault, ce serait la représentation de votre nom d'utilisateur dans la base de données principale) avec le point de terminaison OpenID étranger (l'URL OpenID, ServerFault vous permet d'associer plusieurs de ceux-ci).

Vous pouvez toujours attaquer au moyen d'une attaque d'empoisonnement DNS de la part du RP, de sorte que, par exemple, * .livejournal.com est redirigé vers un PO que vous avez spécialement conçu pour l'attaque. Mais c'est une attaque d'empoisonnement DNS, pas une faute dans OpenID lui-même. OpenID est juste vulnérable à l'empoisonnement DNS.


Dans ce cas, un RP digne de confiance peut devenir indigne de confiance car il suppose qu'OpenID est sécurisé en soi.
David

Après avoir lu ceci, je me suis retrouvé sur openid.net, et la première chose que j'ai vue a été le titre "The Foundation of Internet Identity" sur fond d'une photo de trois mains jouant Jenga - chacun choisissant un morceau dans un environnement très instable- tour à la recherche.
Andreas

2

Je pense que vous confondez OpenID et les autres parties de la sécurité des utilisateurs. Votre OP est le mécanisme d'authentification, pas votre compte. Ici sur ServerFault, vous avez un compte. Ce compte n'a aucun moyen d'authentification par lui-même; sauf que vous le pointez sur un ou plusieurs PO.

Lorsque vous essayez de vous connecter à votre compte ici en tant que SF, il demande à votre OP de gérer l'authentification. Seul cet OP (ou les multiples OP, quelle que soit la configuration) peut vous authentifier aux fins de votre compte SF.

Un système de connexion typique comprend trois parties (appelées triple "A", ou simplement "AAA"):

  • Comptabilité - Garde une trace de votre nom et des informations spécifiques au site (comme les messages, les messages, etc.)
  • Authentification - Permet de savoir comment vous assurer qu'il s'agit bien de vous (généralement un mot de passe)
  • Autorisation - Gardez une trace de vos autorisations (accès en lecture ou en écriture à diverses choses)

Vous pouvez en savoir plus sur les systèmes AAA sur Wikipedia.


Si je suis autorisé à spécifier n'importe quel OP à chaque fois que je me connecte, l'utilisateur malveillant pourrait également spécifier n'importe quel OP lorsqu'il essaie de pirater mon compte. Ils spécifient ainsi leur propre PO et y accèdent.
David

Non, vous leur permettriez simplement, une fois connecté, d'ajouter des points OpenID supplémentaires pour leur compte. Il en est ainsi.
ceejayoz

2
@David, lorsque vous vous connectez, vous ne spécifiez pas de compte et un OpenID vous spécifiez uniquement l' OpenID . Cet OpenID doit déjà être connecté à un compte, sinon vous avez la possibilité de créer un nouveau compte (au moins ici sur SF).
Chris S

1

David, votre supposition est fausse. OpenID fonctionne comme ceci: 1) Vous voulez vous connecter au site relyingparty.com 2) Vous donnez à relyingparty.com votre OpenID, par exemple david.com 3) relyingparty.com vérifie david.com (hé, c'est une URL) pour un appelé OpenID endpoint qui peut être trouvé sur david.com mais par des moyens de délégation également ailleurs, par exemple yahoo.com ou google.com. appelons-le davidsopenidprovider.com 4) Vous êtes redirigé vers davidsopenidprovider.com maintenant. Le travail de davidsopenidprovider.com est de vous authentifier. Vous devez vous connecter à davidsopenidprovider.com. Il appartient à davidsopenidprovider.com comment cette connexion fonctionne. Il peut s'agir de nom d'utilisateur / mot de passe, il peut s'agir de cartes d'information, de certificats de navigateur, d'empreintes digitales, de cartes à puce, de mécanismes hors bande comme la vérification d'appel, ... C'est à davidsopenidprovider. com comment il gère l'authentification. Ensuite, il vous demande si vous souhaitez vraiment vous connecter à relyingparty.com. 5) Si vous vous êtes connecté avec succès à davidsopenidprovider.com, vous serez redirigé vers relyingparty.com et vous y serez automatiquement connecté. 6) davidsopenidprovider.com assure uniquement à relyingparty.com que vous êtes bien celui que vous prétendez être. Il n'envoie aucun mot de passe.

Donc votre hypothèse "En tant que consommateur, lorsque je crée un compte sur any-site.com, je n'ai aucune notion de l'intelligence des développeurs / gestionnaires de sites." est faux en ce qui concerne OpenID. S'il y a un point faible, c'est le fournisseur mais pas any-site.com. C'est le problème avec les connexions traditionnelles de nom d'utilisateur / mot de passe maintenant. Vous devez faire confiance à chaque site qui propose des connexions de cette façon et pas seulement à votre fournisseur OpenID.

J'espère que cela aide à comprendre OpenID.


0

Comment savez-vous qu'ils font?

De la même manière que vous savez qu'un ancien site transmet votre mot de passe à quelqu'un d'autre - vous ne le faites pas. C'est pourquoi vous utilisez ce qui est susceptible d'être une entreprise réputée.

Vous ne pourriez jamais changer votre OP sans changer également votre OpenID.

Sûr que vous pouvez. Regardez dans la délégation OpenID.

Mon OpenID est http://ceejayoz.com/ , mais mon OP est WordPress.com. Deux METAbalises dans la tête de http://ceejayoz.com/ me permettent de le faire, et je peux le changer à tout moment.


0

Votre openID est votre fournisseur. pwnguin.netest mon openID. Ce n'est pas sujet à devinettes, c'est simplement un fait connu. Ce qui protège mon openID est le logiciel exécuté sur pwnguin.net, qui ne répond que par l'affirmative si le visiteur en question a un cookie d'authentification.

Je ne dirai pas que openID est sécurisé; il y a toutes sortes de scripts intersites qui pourraient continuer, ou certains détails banals que j'ai tendance à ignorer ou à me tromper.


0

C'est ce que j'ai obtenu des réponses ici ...

OpenID n'est aussi sécurisé que les parties impliquées et cela est vrai de toute méthode d'authentification. Je m'en suis rendu compte avant d'entamer cette discussion.

Le problème avec OpenID, comme il me semble, est double ...

  1. Votre LoginID n'est plus un secret partagé uniquement entre vous et le site sur lequel vous l'utilisez. Il s'agit de votre OpenID et est connu de tous les sites sur lesquels vous l'utilisez, et est quelque chose de facilement devinable comme une adresse e-mail ou quelque chose dérivé de votre adresse e-mail ou quelque chose de similaire.

  2. Les RP peuvent implémenter OpenIP sur leur site sans faire preuve de diligence raisonnable en supposant que parce qu'ils utilisent un «protocole» largement accepté, il est sécurisé. Certes, la plupart des développeurs de sites Web ordinaires ne savent pas vraiment comment sécuriser un site, mais s'ils mettent en œuvre leur propre sécurité, au moins le problème n ° 1 n'entre pas en jeu.

En tant que consommateur, lorsque je crée un compte sur any-site.com, je n'ai aucune notion de l'intelligence des développeurs / gestionnaires de sites. J'utilise un identifiant qui, je pense, ne sera pas facilement devinable. Je ne veux pas que serverfault.com connaisse l'ID que j'utilise pour me connecter à Etrade.com. J'utilise également un mot de passe différent sur chaque site et gère ces mots de passe avec mon propre schéma. Il est très peu probable que mon compte soit compris à moins que les opérateurs du site ne soient des idiots.

Avec OpenID, tout le monde sur le WEB sait comment cela fonctionne et comment l'attaquer, si le RP ne dispose pas de mesures appropriées.

J'adore les logiciels open source, mais dans le cas d'OpenID, je pense que cela ouvre la possibilité qu'il y aura des implémentations inférieures disponibles pour les adoptants sans méfiance.

Je pense que cela pourrait être résolu par un sceau d'approbation signé qui assure au consommateur que le site a passé un audit et n'est pas tolérable pour les hacks.

Peut-être que je suis juste paranoïaque.


Je connais cet ancien mais, sachant que le "id" openid est inutile ... Google par exemple utilise exactement la même URL pour un seul utilisateur. Comment le fait de savoir cela vous aide-t-il à vous connecter à stackoverflow en tant que moi (à part savoir que si vous pouvez pirater mon compte Google, vous pouvez être authentifié en tant que moi, mais ce n'est pas différent de "nom d'utilisateur / mot de passe oublié").
jmoreno
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.