Mozilla lance la bêta de Persona
Son système d'authentification centralisée pour le Web qui met fin aux identifiants et mots de passe
Le 2012-09-28 15:44:51, par Hinault Romaric, Responsable .NET
Mozilla vient de lancer la version beta de « Persona », son nouveau système d’authentification pour le Web.
Persona est un moyen d’identification qui élimine les identifiants et mots de passe sur les sites Web, tout en étant sécurisé et facile à utiliser.
Le but du projet est de permettre aux utilisateurs de s’identifier sur différents sites sans mot de passe spécifique et sans avoir recours à des services d’authentification centralisée comme Facebook ou OpenID, et aux sites Web de ne plus s’inquiéter sur la sécurité des mots de passe.
Persona a été lancé il y a près d’un an comme un projet expérimental sous le nom de BrowserID. Le système est fondé sur le nouveau protocole « Verified Email Protocol » et utilise une clé de chiffrement publique pour prouver très rapidement que l'utilisateur est bien le propriétaire de l'adresse email qu'il souhaite utiliser auprès des sites.
Actuellement, les personnes désirant utiliser le système doivent au préalable créer un compte sur le site persona.org, définir un mot de passe ainsi qu’une ou plusieurs adresses mails qui seront rattachées au compte. Chaque adresse mail est vérifiée en envoyant un mail de confirmation vers celle-ci. Pour l'avenir, le but est que chaque fournisseur mail deviennent le garant : c'est lui qui devra attester que cette adresse est bien la votre. Il ne sera alors plus nécessaire de s'inscrire sur persona.org.
Le service crée dès lors un couple de clés de chiffrement. Il utilise la clé publique et enregistre la clé privée au niveau du navigateur.
Des détails sur le fonctionnement du protocole sont accessibles ici.
Après ces étapes, deux clics suffiront à un utilisateur pour s’identifier sur un site qui implémente le protocole. L'utilisateur peut choisir l'adresse email qu'il souhaite utiliser pour ce site (s'il en a plusieurs reliées à Persona) et le voilà vite et bien identifié.
Persona est encore au stade de préversion, mais la fondation Mozilla estime qu’il est déjà prêt à être utilisé pour l’authentification. Le système fonctionne sur les smartphones, tablettes et navigateurs. Il ne reste plus aux sites Web qu'à l’adopter.
Pour l’instant, le système présente encore un inconvénient majeur. En centralisant l’authentification, si le mot de passe Persona d’un utilisateur est volé, il pourra être utilisé pour usurper son identité sur l’ensemble des sites implémentant le protocole.
Pour palier à cela, la fondation Mozilla compte intégrer dans les prochaines bêtas, l’authentification à deux facteurs.
Le projet Persona est entièrement open source et le code du service est publié sur Github.
Persona sur GitHub
Source : Mozilla
Et vous ?
Qu'en pensez-vous ? Adopteriez-vous Persona pour vos sites ?
Persona est un moyen d’identification qui élimine les identifiants et mots de passe sur les sites Web, tout en étant sécurisé et facile à utiliser.
Le but du projet est de permettre aux utilisateurs de s’identifier sur différents sites sans mot de passe spécifique et sans avoir recours à des services d’authentification centralisée comme Facebook ou OpenID, et aux sites Web de ne plus s’inquiéter sur la sécurité des mots de passe.
Persona a été lancé il y a près d’un an comme un projet expérimental sous le nom de BrowserID. Le système est fondé sur le nouveau protocole « Verified Email Protocol » et utilise une clé de chiffrement publique pour prouver très rapidement que l'utilisateur est bien le propriétaire de l'adresse email qu'il souhaite utiliser auprès des sites.
Actuellement, les personnes désirant utiliser le système doivent au préalable créer un compte sur le site persona.org, définir un mot de passe ainsi qu’une ou plusieurs adresses mails qui seront rattachées au compte. Chaque adresse mail est vérifiée en envoyant un mail de confirmation vers celle-ci. Pour l'avenir, le but est que chaque fournisseur mail deviennent le garant : c'est lui qui devra attester que cette adresse est bien la votre. Il ne sera alors plus nécessaire de s'inscrire sur persona.org.
Le service crée dès lors un couple de clés de chiffrement. Il utilise la clé publique et enregistre la clé privée au niveau du navigateur.
Des détails sur le fonctionnement du protocole sont accessibles ici.
Après ces étapes, deux clics suffiront à un utilisateur pour s’identifier sur un site qui implémente le protocole. L'utilisateur peut choisir l'adresse email qu'il souhaite utiliser pour ce site (s'il en a plusieurs reliées à Persona) et le voilà vite et bien identifié.
Persona est encore au stade de préversion, mais la fondation Mozilla estime qu’il est déjà prêt à être utilisé pour l’authentification. Le système fonctionne sur les smartphones, tablettes et navigateurs. Il ne reste plus aux sites Web qu'à l’adopter.
Pour l’instant, le système présente encore un inconvénient majeur. En centralisant l’authentification, si le mot de passe Persona d’un utilisateur est volé, il pourra être utilisé pour usurper son identité sur l’ensemble des sites implémentant le protocole.
Pour palier à cela, la fondation Mozilla compte intégrer dans les prochaines bêtas, l’authentification à deux facteurs.
Le projet Persona est entièrement open source et le code du service est publié sur Github.
Source : Mozilla
Et vous ?
-
dahtahMembre éclairé@pcdata, @Matthieu Vergne, je vais faire une seule reponse car vos postes vont dans le même sens. Vous ne comprenez pas les aspects techniques de cette solution et comment elle adresse la plupart des points que vous soulevez.
La seule base de données de laquelle tu dépends est le couple user/pwd de ton provider mail. C'est déjà le cas actuellement. Pas besoin de service tiers.
La base d'authentification contenant les clés privées nécessaire a l'authentification est locale au navigateur. Elle t'es locale.
J'ai déjà évoqué le cas d'un ordinateur publique plus haut. Les clés générées on une durée de vie courte et son stockée localement. Supprime tes cookies, ou deloggue toi de ton provider mail. L’accès n'est plus possible.
Le cas que tu évoques est relatif aux sessions et est identique avec le système actuel. Si tu ne fermes pas tes sessions, leur contenu est toujours valide.
Rien a voir et rien de différent d'aujourd'hui (en considérant que tu n'as pas de pin, ni mot de passe, ni que tes disques sont chiffres, ni que...). Ça fait beaucoup d'erreur.
De plus rien n’empêche (bien au contraire), d'utiliser Persona comme un seul élément du 2 factor.
Le phishing n'a plus de sens avec cette Persona, car il n'y a pas de user/mdp a voler.
C'est totalement faux en sécurité. Tu cherches justement a réduire ta surface d'attaque en ne multipliant pas les services. C'est un principe de base. Plus ton information est répandue, plus tu t'exposes a des attaques.
@Matthieu Vergne
Oui, c'est mal formule dans l'article, comme souvent avec les articles de vulgarisation sur developpez. La grosse difference avec Personna, c'est que si tu veux implementer le cote provider (CA) de la solution tu peux. Pas avec Facebook ID. En gros c'est une solution centralisee dans le sens ou l'authentification a des services tiers est centralisee. Mais c'est une solution decentralisee, car n'importe qui peut implementer le cote provider de la solution.
Non, c'est incorrect. Ton provider mail ne possédé pas les clés privées. Il ne fait que signer ta clé publique (Role du CA). Le problème de confiance est identique a celui de la PKI et pour l'instant on a rien trouve de mieux. Tu fais confiance au CA pour qu'il ne génère pas un certificat identique au tien pour quelqu'un d'autre.
Encore une fois si tu ne fait pas confiance a ton provider mail, rien ne t’empêche de jouer le rôle de CA (idp) toi même. Tu ne dépends ainsi de personne.
Globalement, c'est facile de sécuriser un service centralise avec une authentification forte (2 factor...). C'est impossible de sécuriser des services distribues que tu ne contrôles pas. De plus la supériorité de la PKI en matière d'authentification comparée au mot de passes n'est vraiment pas a démontrer. Ta surface d'attaque est énorme quand tu dépends de 50bdd plutôt qu'une. Vu le nombre de services utilises de nos jours, tout le monde réutilise ses mots de passe, ou fait confiance au navigateur pour les stocker dans le cloud. Ces 2 solutions sont bine pires que Persona.
C'est déjà le cas. Ou vont tes mails de réinitialisation de mot de passe?
Non, c'est faux. Les clés sont bien sur générée localement. Tu ne transmet que ta clé publique au provider que pour signature.
Je vais pas reprendre tous les points, mais:- crypto asymetrique
- non utilisation de mot depasse (ta securite ne depends pas d'un site stockant tes mots de passes en clairs ou md5)
- Rend les attaques par phishing et MITM inutiles (sans utilisation de crypto)
- authentification centralisee
Je vous invite vraiment a lire ce lien et a relancer le débat avec des arguments solides.le 04/10/2012 à 3:01 -
Matthieu VergneExpert éminentEffectivement, j'ai pas compris grand chose, c'est bien pour ça que je disais que je voyais pas en quoi c'était mieux, et que j'y allais à coup de "il semble que". L'article m'ayant donné une mauvaise impression de par le manque d'explications sur le procédé et la formulation ambigüe, et les liens donnés dans l'article ne m'ayant pas aidé à comprendre, il m'était forcément difficile de voir où était l'avantage.
C'est tout de suite plus clair, même si j'ai pas encore bien compris la totalité de la seconde étape (mais je mettrais ça sur le coup des 4h du matin {'^_^}). En tout cas ça ressemble bien plus à ce que j'espérais avoir, voilà qui me soulage.
Donc nan je relancerai pas le débat, argument solide ou pas {^_°}.le 04/10/2012 à 3:44 -
Matthieu VergneExpert éminentMais les problèmes que tu soulèves (comme laisser son ordi pro allumé et qu'un stagiaire l'utilise) c'est aussi une question de bon sens. Un stagiaire est censé avoir son propre PC, avec son propre compte. Il n'est pas censé utiliser le PC de son chef ou autre. Le problème existe déjà aujourd'hui et Persona n'essaye pas de le résoudre, il en résout un autre. On peut pas tout avoir.
Pour le coups de l'adresse familiale, même s'il peut être fréquent, ça n'empêche pas que chacun puisse avoir aussi sa propre adresse. Ceux qui utilisent une adresse non perso sont ceux qui ne reçoivent quasi jamais de mails et qui, très probablement, ne vont donc que rarement sur internet.le 05/10/2012 à 13:13 -
FlaburganModérateurL'idée de base, c'est que sur le Web, notre identité, c'est souvent notre adresse mail. On a notre adresse perso pour nos échanges perso, notre adresse pro pour nos échanges pro, notre adresse spam pour les sites de ce genre, etc.
Quand on arrive sur un site qui permet la connexion avec persona, on choisi avec quel e-mail on va s'y connecter. On choisi donc son identité : suis-je ici personnellement ou professionnellement ?
Si on doit quitter une adresse mail pour une raison ou une autre, la migration est généralement pénible, et ce, sans aucun rapport avec persona. Il faudra retrouver tous les sites où tu es inscrit avec cette adresse et changer l'adresse. C'est ici un problème de migration d'email, je ne vois pas le problème que pourrait ajouter Persona.
Le site sur lequel tu te connectes garde en effet ton e-mail dans sa base, mais plus de mot de passe, l'authentification étant gérée par Persona. Donc la sécurité est accrue pour l'utilisateur, l'e-mail n'étant en général pas une information confidentielle. Plus besoin de se soucier de si le site chiffre bien son mot de passe, ne l'enregistre pas pour son usage personnel en essayant de retrouver d'autres sites où le visiteur aurait pu s'inscrire avec le même couple e-mail / mot de passe. Au niveau sécurité, l'amélioration est très importante : comme pour OpenID, plus besoin de faire confiance à tout le monde, il suffit de faire confiance à une personne. Sauf que pour OpenID, il faut faire confiance à son fournisseur d'e-mail ET à son serveur OpenID, ce qui fait deux personnes au lieu d'une.
Les comptes bancaires ont une authentification forte. Pour tous les autres cas, les gens demandent en général à enregistrer le mot de passe dans le navigateur. N'importe qui ouvrant le navigateur a donc accès à tous les comptes. Persona reste plus sécurisé car une session se périme, ce qui n'est pas le cas des mots de passe qui restent enregistré tout le temps.
Quoi qu'il en soit, si tu partages une session avec quelqu'un, c'est que tu as confiance en lui. Si tu n'as pas confiance en tes enfants, tu te dois d'avoir une session séparée.
Une fois encore, les mots de passe étant en général enregistrés dans le navigateur, je ne vois pas la différence entre avant et après Persona en terme de sécurité et, encore une fois, Persona l'est même plus puisque la session n'a pas une durée illimitée. De plus, j'ose espéré qu'il y a un mot de passe pour ouvrir ta session, que ce soit sur ton ordinateur ou ton téléphone. Dans le cas contraire, ce n'est pas a Persona qu'il faut imputer le manque de sécurité.
En évitant d'avoir à retenir des dizaines de mots de passe et donc de les écrire quelque part, ou carrément d'utiliser le même partout en le confiant à des dizaines de sites différents, pas forcément de confiance, Persona augmente la sécurité tout en simplifiant la vie de l'utilisateur.
Il est plus difficile de garder un oeil sur tous les paniers en même temps, et au final, tu te feras certainement piquer un oeuf.
En l'occurrence, tous les oeufs ne sont pas dans le même panier : tu en as un par adresse mail.le 03/10/2012 à 10:09 -
FlaburganModérateurJe l'utilise sur plusieurs de mes sites, c'est vraiment un bonheur !!le 28/09/2012 à 16:39
-
dahtahMembre éclairéJe trouve que c'est une super avancee et j'espere que ce sera implemete par les sites majeurs.
Je me posais des questions sur la securite de la solution, notamment sur la multiplication des cles privees sur des ordinateurs publics. Il s'avere que les cles sont gardes en local storage avec une duree de vie tres courte (1h) et non dans le keystore de l'OS. Supprimer les cookies (qui supprime aussi le storage local) suffit a supprimer du meme coup les cles. Se deconnecter de persona suffit egalement. Ceci evite aussi l'utilisation frauduleuse des cles dans le cas de XSS, car grace la SOP, il faudrait que le script soit localise sur https://login.persona.org/ pour acceder au local storage et donc aux cles. Au passage je suis tombe sur ce lien (dernier post) qui eclaircit bien les questions de securite.
Ca evite aussi aux sites de conserver des db de mots de passes, et ca c'est vraiment un tres gros points positifs.
L'aspect respect de la vie privee me plait beaucoup egalement.
Pour ceux que ca interesse, une description du protocole est disponible ici (anglais).
Aux devs de developpez.com, une authentification basee sur persona serait la bienvenue. En plus fournir un retour sur l'implementation serait interessant (Flaburgan si tu as le temps...).le 29/09/2012 à 4:16 -
dahtahMembre éclairéNon, ce n'est pas comme ca que ca marche. Pour l'instant c'est implemete comme ca pour la demonstration via persona.org. A terme, le but c'est que ton provider mail implemente Persona, afin que justement tu ne depende pas d'un service tier.
Si tu veux savoir comment ca marche, tu peux lire le lien presente dans mon poste precedent.
L'idee globale c'est que tout le monde dispose d'une adresse mail. Donc faisons confiance au provider mail pour garantir l'identite (en utilisant de la crypto). Mais la difference avec Facebook, ..., c'est que Persona est un protocole, donc que tu sois chez Hotmail, Gmail, Yahoo, ... ca ne change rien. Du coup tu ne forces en rien l'utilisateur a s'enregistrer aupres d'un service tier.le 29/09/2012 à 16:23 -
FlaburganModérateur@datah : j'ai déjà écrit un article sur le blog de Mozilla ;-)
Tu trouveras des exemples d'implémentation un peu partout. Je te conseille pour être sûr d'avoir une source juste de te baser sur le Mozilla Developer Network (Où tu peux te connecter en utilisant Persona)
Voici un exemple d'implémentation.le 01/10/2012 à 11:04 -
Matthieu VergneExpert éminentJe sais pas pour vous, mais la contradiction est un peu grosse la quand même, non ? On parle d'une authentification centralisée pour ne plus avoir recours aux authentifications centralisées... J'invente rien, c'est l'article qui le dit.
Comme le souligne Neko, c'est une question de confiance : soit on crois en Facebook, soit on crois en Persona. En suivant la discussion, il semble que la responsabilité devrait être retransmise au provider mail... mais on ne fait que décaler le problème : j'ai pas forcément envie que mon provider mail ait les infos qui lui permette d'accéder à tous les sites que je visite en utilisant mon compte.
De plus, on a toujours le problème de la centralisation des données (comme pcdata le souligne aussi), et donc de l'intérêt croissant qu'on donne au propriétaire de la base de données : les crackers ne s'attaqueront plus au provider que pour récupérer tes mails, mais aussi pour accéder à tes sites favoris avec ton propre compte.
Perso, j'aimerais ne faire confiance qu'à mon navigateur open source préféré, que ce soit lui qui stocke de manière sécurisée mes données (l'intérêt du distribué, c'est que tu te fais pas cracké tes données parce que t'es dans la même base de donnée que ce type qui a des ennemis partout). Mais s'il semble que Persona utilise le navigateur, il semble tout de même que ça utilise aussi un service externe pour générer les clés, donc on doit toujours faire confiance à ce service extérieur (qu'il ne stocke pas les clés, ne les revendent pas, ne se fasse pas cracker, ...).
Non, mise à part qu'il le font différemment, je ne vois pas en quoi leur système est plus sécurisé.le 03/10/2012 à 23:31 -
FlaburganModérateurEt je compléterai en rajoutant que oui, effectivement, si tu vides les cookies, tu vas devoir resaisir ton mot de passe la prochaine fois que tu loggueras en utilisant Persona.le 07/10/2012 à 1:12