L'identification par XMPP se base en effet sur le fait que les gens ont une adresse XMPP. Et c'est donc un problème si cela ne se répand pas davantage. En même temps, c'est toujours l'œuf et la poule.
Par contre, Persona n'était pas mieux:
1/ De ce que je lis, pour que ce soit aussi intéressant que l'id par XMPP, il fallait que votre serveur de mail prenne en charge Persona. Dans les faits, je crois que quasi aucun serveur email n'a implémenté le protocole. En fait, je ne suis même pas certain quel sera le comportement de login à ce moment: je ne l'ai jamais vécu car justement aucun de mes fournisseurs d'email n'implémente Persona (et je n'ai pas lu la spéc, ce qui me permettrait d'imaginer un comportement).
Au final on se retrouve à utiliser les serveurs Persona de Mozilla (bientôt communautaire?), donc un point de contrôle unique et central pour la plupart des utilisateurs du monde. Pas glop.
En plus en passant par le serveur Persona central, on est obligé d'y créer un mot de passe unique.
De son côté, l'id par XMPP marche quel que soit son serveur et ne passe par aucun serveur tiers. Et on n'a pas à créer de mot de passe supplémentaire (bien sûr ce point précis est biaisé du fait qu'on part de la supposition avoir déjà un compte de messagerie alors que de son côté Persona ne sert qu'à cela, alors on n'avait forcément pas déjà de compte).
2/ Pour que l'id soit final, il faut forcément s'identifier sur Persona dans la même session de navigateur, puisque le système se base sur les redirections http entre le site sur lequel on veut s'identifier et Persona. Cela signifie donc que si la machine elle même est compromise, vous donnez l'accès à un attaquant à l'ensemble de vos comptes utilisables par Persona. Pire vous lui donnez aussi le mdp Persona pour se reconnecter plus tard. C'est d'ailleurs la même faiblesse pour tous les autres systèmes basés sur le web (OpenID, mais aussi les systèmes proprios par compte Facebook, Google, etc.). C'est dommage car Mozilla partait d'une bonne idée en mélangeant un autre protocole (les emails) mais ils finalisent le login par la redirection web.
De son côté, on peut s'identifier par XMPP en gérant entièrement l'identification à travers le canal XMPP, lequel peut être totalement disjoint. Par exemple, vous êtes dans un cybercafé devant une machine Windows (potentiellement vérolée, avec des logiciels de keylogging, etc.) à l'autre bout de la terre et voulez vous connecter sur votre compte Linuxfr. Vous lancez une connexion par IM. Or votre client IM est sur votre téléphone, en 3G. Toute la partie id se fait donc par un échange sécurisé direct entre linuxfr et votre client IM sur une machine perso avant de finalement vous autoriser l'accès dans le navigateur sur la machine tierce.
Si l'ordi est effectivement vérolé, bien entendu, vous donnez l'accès à votre compte linuxfr le temps de votre connexion au site (c'est inévitable: par définition). Mais cette machine n'a jamais accès à votre mot de passe linuxfr, ni à votre compte XMPP, donc pas non plus à aucun autre compte accessible par identification XMPP, et finalement une fois que vous vous déconnectez du site, l'attaquant n'a pas la capacité de se reconnecter plus tard.
En gros, l'identification par Persona/OpenID/Facebook/Google/etc. est bon pour la simplicité d'utilisation mais a extrêmement peu de qualité de sécurité là où la connexion par XMPP a aussi pas mal d'avantages de sécurité.
Note: comme je disais plus haut, par définition, vous prenez un risque en vous connectant sur un site sur un ordi non-de-confiance. Et ce, quel que soit la méthode. Donc déjà il ne faut le faire que sur des sites où le risque est acceptable (genre linuxfr, j'en souffrirai moins que ma banque!). Mais au moins avec l'id par XMPP, vous limitez le risque à ce site et juste le temps de la connexion. Avec les autres méthodes, le risque s'étend à tous les sites qui utilisent cette méthode et de manière illimitée!
3/ Les protocoles emails sont quand même pas sécurisés par nature. Tout le monde peut envoyer de faux emails provenant de persona @ persona.org. Y a encore plein de serveurs emails qui acceptent les connexions non encryptées, donc ce serait assez simple d'écouter des communications et d'envoyer de faux emails. À partir de là, pas mal d'attaques sont faisables.
Franchement l'ID par XMPP est plus simple d'utilisation, plus rapide, un flow bien plus agréable et plus sécurisée. Le seul bloqueur — et là tu as tout à fait raison, c'est le principal problème à l'adoption — c'est que XMPP reste encore trop peu utilisé de manière générale.
Film d'animation libre en CC by-sa/Art Libre, fait avec GIMP et autre logiciels libres: ZeMarmot [ http://film.zemarmot.net ]
[^] # Re: Le Persona de Jabber ?
Posté par Jehan (site web personnel, Mastodon) . En réponse à la dépêche Authentifiez-vous sans mot de passe grâce à XMPP !. Évalué à 9.
L'identification par XMPP se base en effet sur le fait que les gens ont une adresse XMPP. Et c'est donc un problème si cela ne se répand pas davantage. En même temps, c'est toujours l'œuf et la poule.
Par contre, Persona n'était pas mieux:
1/ De ce que je lis, pour que ce soit aussi intéressant que l'id par XMPP, il fallait que votre serveur de mail prenne en charge Persona. Dans les faits, je crois que quasi aucun serveur email n'a implémenté le protocole. En fait, je ne suis même pas certain quel sera le comportement de login à ce moment: je ne l'ai jamais vécu car justement aucun de mes fournisseurs d'email n'implémente Persona (et je n'ai pas lu la spéc, ce qui me permettrait d'imaginer un comportement).
Au final on se retrouve à utiliser les serveurs Persona de Mozilla (bientôt communautaire?), donc un point de contrôle unique et central pour la plupart des utilisateurs du monde. Pas glop.
En plus en passant par le serveur Persona central, on est obligé d'y créer un mot de passe unique.
De son côté, l'id par XMPP marche quel que soit son serveur et ne passe par aucun serveur tiers. Et on n'a pas à créer de mot de passe supplémentaire (bien sûr ce point précis est biaisé du fait qu'on part de la supposition avoir déjà un compte de messagerie alors que de son côté Persona ne sert qu'à cela, alors on n'avait forcément pas déjà de compte).
2/ Pour que l'id soit final, il faut forcément s'identifier sur Persona dans la même session de navigateur, puisque le système se base sur les redirections http entre le site sur lequel on veut s'identifier et Persona. Cela signifie donc que si la machine elle même est compromise, vous donnez l'accès à un attaquant à l'ensemble de vos comptes utilisables par Persona. Pire vous lui donnez aussi le mdp Persona pour se reconnecter plus tard. C'est d'ailleurs la même faiblesse pour tous les autres systèmes basés sur le web (OpenID, mais aussi les systèmes proprios par compte Facebook, Google, etc.). C'est dommage car Mozilla partait d'une bonne idée en mélangeant un autre protocole (les emails) mais ils finalisent le login par la redirection web.
De son côté, on peut s'identifier par XMPP en gérant entièrement l'identification à travers le canal XMPP, lequel peut être totalement disjoint. Par exemple, vous êtes dans un cybercafé devant une machine Windows (potentiellement vérolée, avec des logiciels de keylogging, etc.) à l'autre bout de la terre et voulez vous connecter sur votre compte Linuxfr. Vous lancez une connexion par IM. Or votre client IM est sur votre téléphone, en 3G. Toute la partie id se fait donc par un échange sécurisé direct entre linuxfr et votre client IM sur une machine perso avant de finalement vous autoriser l'accès dans le navigateur sur la machine tierce.
Si l'ordi est effectivement vérolé, bien entendu, vous donnez l'accès à votre compte linuxfr le temps de votre connexion au site (c'est inévitable: par définition). Mais cette machine n'a jamais accès à votre mot de passe linuxfr, ni à votre compte XMPP, donc pas non plus à aucun autre compte accessible par identification XMPP, et finalement une fois que vous vous déconnectez du site, l'attaquant n'a pas la capacité de se reconnecter plus tard.
En gros, l'identification par Persona/OpenID/Facebook/Google/etc. est bon pour la simplicité d'utilisation mais a extrêmement peu de qualité de sécurité là où la connexion par XMPP a aussi pas mal d'avantages de sécurité.
Note: comme je disais plus haut, par définition, vous prenez un risque en vous connectant sur un site sur un ordi non-de-confiance. Et ce, quel que soit la méthode. Donc déjà il ne faut le faire que sur des sites où le risque est acceptable (genre linuxfr, j'en souffrirai moins que ma banque!). Mais au moins avec l'id par XMPP, vous limitez le risque à ce site et juste le temps de la connexion. Avec les autres méthodes, le risque s'étend à tous les sites qui utilisent cette méthode et de manière illimitée!
3/ Les protocoles emails sont quand même pas sécurisés par nature. Tout le monde peut envoyer de faux emails provenant de
persona @ persona.org. Y a encore plein de serveurs emails qui acceptent les connexions non encryptées, donc ce serait assez simple d'écouter des communications et d'envoyer de faux emails. À partir de là, pas mal d'attaques sont faisables.Franchement l'ID par XMPP est plus simple d'utilisation, plus rapide, un flow bien plus agréable et plus sécurisée. Le seul bloqueur — et là tu as tout à fait raison, c'est le principal problème à l'adoption — c'est que XMPP reste encore trop peu utilisé de manière générale.
Film d'animation libre en CC by-sa/Art Libre, fait avec GIMP et autre logiciels libres: ZeMarmot [ http://film.zemarmot.net ]