web-dev-qa-db-fra.com

Quels sont les inconvénients de la navigateur / personnage par rapport à OpenID / OAuth / Facebook?

Mozilla est allé vivre avec un nouveau service appelé Browserid/Persona ( annonce , arrière-plan ). Il est destiné à remplacer les solutions actuelles de connexion monocollant telles que OpenID, OAuth et Facebook.

Un avantage est que une intégration future dans les navigateurs réduira les risques de phishing. En outre, le fournisseur d'identité ne sera pas informé des sites que quelqu'un se connecte à, ce qui est bon d'un point de vue de la vie privée.

Quels sont les problèmes avec le navigateur/personnage par rapport à OpenID/OAuth/Facebook?

45
Hendrik Brummermann

J'aime l'idée, mais j'ai aussi beaucoup de questions laissées ouvertes. Veuillez ne pas voir cela comme une forme de bashing, car je l'ai écrit essayer d'appliquer mon expérience d'authentification à ce nouveau système.

Je suis préoccupé par (en aucun ordre particulier):

  1. Utilisation non autorisée de la clé privée
  2. Prise en charge du client riche (Outlook, Notes, etc.)
  3. En utilisant à partir de plusieurs ordinateurs
  4. Protection de la clé privée ou cryptage (sur le client)
  5. Authentification des demandes de génération de clés
  6. Intimité

Détails ci-dessous. Premier un résumé d'une ligne (IN Bold Italic) et certaines clarifications.

1. Utilisation non autorisée de la clé privée

la clé privée sera protégée par le client, avec des degrés de sécurité variés.

Je crains que toute clé privée soit utilisée sans mon consentement. Lorsque vous essayez d'authentifier, une opération de signature aura lieu. Je dois être invitée avant qu'il ne soit utilisé, sinon un script voyou pourrait obtenir mon navigateur pour signer un billet de connexion et le soumettre. Le script de voyous pourrait provenir d'un widget, d'ajouter ou d'autres XSS. La mise en œuvre de ce mécanisme variera dans chaque navigateur, et même sur différentes plates-formes pour le même navigateur, ou des versions différentes, etc. avec un visuel quelque peu incohérent, les utilisateurs sont à un risque plus élevé d'être attentif pour approuver une demande de connexion.

2. Support client riche (Outlook, Notes, etc.)

il était désactivé de travailler avec des comptes de messagerie Web. Les clients de messagerie "gras" d'entreprise sont quelque peu laissés derrière.

Pour que l'ID de navigateur fonctionne, vous avez besoin d'un navigateur qui le supporte. Entre-temps, certains Browserid.org émis "Shim JavaScript qui implémente la fonctionnalité manquante à l'aide de techniques HTML5 standard et de routines cryptographiques implémentées dans JavaScript".

Les utilisateurs d'un environnement d'entreprise qui utilisent le client Fat Mail (Outlook, Notes, Thunderbird) seront des adoptants en retard, car le protocole devra également être mis en œuvre dans ces clients. Sans oublier que les perspectives ne partagent pas de keyStore avec Firefox ou Thunderbird avec IE.

3. Utiliser à partir de plusieurs ordinateurs

Cela conduit à une prolifération de clés privées, car le système ne doit pas avoir une autorité centrale.

Et il y a un problème de mobilité. Je vais devoir enregistrer (générer une clé privée) pour chaque ordinateur que j'utilise. Comment vais-je continuer à supprimer ma clé privée dans un kiosque Internet ou un ordinateur emprunté? Même avec un seul ordinateur, comment vais-je révoquer une clé stockée dans un ordinateur volé? Depuis pour un seul utilisateur, plusieurs clés de signature sont valides (car chacun de mes ordinateurs a sa propre clé privée valide), du point de vue du fournisseur de services, tout jeton d'accès signé par une autorité connue doit être valide.

4. Protection de la clé privée ou cryptage (sur le client)

l'accès à la touche doit être authentifié, ce qui apporte des mots de passe dans l'image.

Il peut protégé par un mot de passe (limitant sa réutilisation malveillante), mais si je modifie déjà mon mot de passe quelque part, il ne se synchronisera que si j'utilise un réseau de synchronisation basé sur le navigateur/nuage. Avoir un mot de passe à retenir quelque peu défait le but de ce schéma. Les chances sont le même mot de passe servira à sécuriser toutes les touches, tant que le même mot de passe est utilisé maintenant pour s'authentifier sur plusieurs sites Web.

5. Authentification des demandes de génération de clés

il y a un écart entre la demande d'accès et la génération de clé, ce qu'un attaquant pourrait utiliser pour le phishing.

Il n'est pas clair pour moi de savoir comment le fournisseur de messagerie/autorité de certification gérera les problèmes de CSRF. Comment sauront-ils qu'une demande de génération de clé est légitime? Mon dossier de spam sera-t-il rempli de demandes de génération de certificats? Ou la touche est-elle émise uniquement avec les serveurs de messagerie DKIM? Et si la demande a été interceptée sur sa manière SMTP sur le serveur, pourrait-elle être modifiée?

6. Confidentialité

L'utilisation d'une balise permet à Browserid.org de briser la même stratégie d'origine.

Et utiliser une étiquette de script pour inclure le navigateur.js leur permet de contourner la même politique d'origine. Browserid.org sera (avoir le pouvoir de) savoir sur chaque tentative de connexion que vous faites. Ou vous devrez héberger le script vous-même (en supposant que cela soit autonome) et la mise à niveau si/lorsque des défauts de sécurité seront identifiés.

31
ixe013

Je soumets une réponse aux six points de la réponse acceptée comme nouvelle réponse ...

1. Utilisation non autorisée de la clé privée

Dans le cas de la mise en oeuvre de navigateur JavaScript, la clé privée est stockée dans Stockage local Sous le domaine Login.Persona.org. Donc, un script de voyou devrait être hébergé sur ce domaine pour y avoir accès. Les scripts hébergés ailleurs ne peuvent accéder que la clé indirectement via un postMessage - API basé sur la touche.

2. Support client riche (Outlook, Notes, etc.)

Browserid fonctionne avec n'importe quel compte de messagerie ou client de messagerie. La cale JavaScript est là pour prendre en charge les navigateurs sans une implémentation indigène. Rien ne doit être ajouté aux clients du courrier.

3. Utiliser à partir de plusieurs ordinateurs

Une chose importante à signaler ici est que les clés sont de courte durée. Si vous êtes sur un kiosque Internet, les clés sont valables pendant 1 heure seulement, si vous êtes sur votre propre appareil, ils sont valables 1 jour. Un nouveau sera généré selon les besoins une fois qu'il a expiré, à condition que vous soyez toujours authentifié avec Login.Persona.org. Pas besoin de sauvegardes.

Si vous souhaitez effacer votre clé privée, il suffit d'effacer les cookies (qui efface également le stockage local - où les clés sont stockées).

Si votre ordinateur est volé, il existe une petite fenêtre pendant laquelle un attaquant pourrait utiliser la clé, mais aussi longtemps que vous modifiez votre mot de passe sur login.persona.org, les login.persona.org sera invalidée et le voleur ne sera pas en mesure d'obtenir une nouvelle clé.

4. Protection de la clé privée ou cryptage (sur le client)

Afin d'obtenir une nouvelle clé signée par votre fournisseur d'identité, vous devez l'authentifier. Si cette authentification expire, vous devrez alors taper votre mot de passe à nouveau. Cela ressemble à des sessions basées sur les cookies qui semblent être la norme sur le Web.

La clé privée n'est pas si précieuse car elle est de courte durée. À cet égard, il a plus en commun avec des cookies que les certificats de client X.509.

5. Authentification des demandes de génération de clés

Le fournisseur d'identité sait qu'une demande est légitime car l'utilisateur est authentifié avec eux. Le fournisseur d'identité de secours indique uniquement des clés après avoir confirmé la propriété de l'adresse e-mail (dans la norme "Envoyer des utilisateurs un lien avec un jeton aléatoire pour cliquer sur" Mode).

La génération/signature de certificat se produit entre le navigateur et le fournisseur d'identité via une API JavaScript. Il n'est pas basé sur l'envoi d'e-mails. Les utilisateurs ne recevront aucun courriel au-delà du message "Veuillez confirmer votre adresse email" que le fournisseur d'identité de secours envoie au moment de la création de compte.

6. Confidentialité

Une fois que l'API est assez stable, il sera possible pour les autres d'accueillir include.js eux-mêmes. En ce moment, nous recommandons contre cela.

Un autre point sur lequel persona.org peut voir les sites que vous vous connectez est avec l'outil de vérification en ligne à https://verifier.login.persona.org/verify. Une fois le format de données réglé, nous encouragerons les personnes à vérifier les assertions elles-mêmes (par exemple à l'aide d'une bibliothèque open source) et persona.org ne sera plus ces données.

Le navigateur est conçu pour être un protocole entièrement décentralisé pour permettre une réelle intimité. Cependant, il fournit également des retombées centralisées pour travailler autour du manque actuel de soutien natif.

9
Francois Marier

Pour plus d'informations détaillées sur Browserid/Persona, j'ai finalement trouvé ce que Daniel a contribué à la navigation suivante . et webid . (J'ai essayé de le convaincre de poster ici, mais il a suggéré de le faire.)


Conditions de sécurité, de confidentialité et de convivialité pour l'identité fédérée de Michael Hackett et de Kirstie Hawkey fournit une comparaison entre WebID et MOZILLA PERSONA, qui a toujours été mentionné à ce moment-là. comme navigateur.

Les principales différences qui ont été notées (dans le tableau 1) sont les suivantes:

  • Les touches persona sont de courte durée et doivent être protégées avec un mot de passe. Les clés WebID sont vécues depuis longtemps mais peuvent facilement être désactivées d'un profil protégé par mot de passe.
  • L'implémentation actuelle de la persona utilise des fenêtres de navigateur standard, il est donc difficile de repérer l'entrepooftage (cela peut changer une fois que les navigateurs reçoivent un support de personnalité autochtone). WebID utilise les navigateurs Sélection du certificat natif de l'interface utilisateur afin qu'aucune chance de phishing.
  • Les identités persona et webid peuvent être compromises si le contrôle des propriétaires est perdu/URI.
  • Persona IDPS n'a aucune connaissance de SPS qui utilise une identité. Webid IDPS SAVOIR CHAQUE SP qui utilise une identité.
  • Si un personnage SP a-t-il un cache de la clé publique de l'IDP et que le navigateur a toujours un certificat valide, il doit toujours être possible de vérifier les identités. Les profils WebID doivent être accessibles autrement des identités ne seront pas utilisables.
  • Persona a de bonnes conception UX, tandis que le webid est le contraire.

Je suggère de lire le papier pour plus de détails. Il est librement disponible en ligne, aucun accès à la bibliothèque numérique nécessaire.

5
sage