Inscription et authentification sans e-mail et sans mot de passe

The insecurity and usability problems of passwords are well known. Passwords are something you know, so they are vulnerable to forgetting, which happens often. Thus, email is widely used as a backup to reset passwords.

Email has a lot of problems too. Similar to passwords, people typically reuse the same email address across lots of services, creating a privacy risk if the email is discovered from the service. It is increasingly difficult to get an email address without giving personally identifiable information to the email server. As a deterrent against spam (and probably also because it makes it easier to target ads at users), free email services typically require providing a phone number which is easy to associate with a particular person. Paid email services might not require a phone number, but paying for a service without personally identifiable information is difficult as well, and relying on paid email service subscription is vulnerable to changes in financial circumstances. Also, it’s difficult to reliably self host an email server today. In addition to the privacy issues, the centralization created by reusing an email account across many services also creates a security risk because a compromise of the email account would compromise lots of other accounts.

Nowadays, we don’t need passwords nor emails to register or authenticate to a service. Discourse already supports FIDO and TOTP, but it still requires a password and email address to register and authenticate. It would be great if Discourse made passwords and emails optional in favor of FIDO and TOTP.

One factor authentication with FIDO can be really convenient, but it is vulnerable to loss or destruction of the single FIDO token, similar to the issue of registering with a password but no email address. To resolve this, I propose that users would be required to provide at least two factors to register, which could be any combination of FIDO, TOTP, and/or password. Users who want emailless & passwordless authentication could simply register two FIDO roaming authenticators like Yubikeys. Users could be advised (or potentially required, especially for administrators) to register more than the minimum of two factors to avoid losing access to their accounts.

As FIDO platform authenticators are being built into more and more devices these days with Windows Hello, Apple Touch & Face ID, and Android, this email-less registration system could be usable by nontechnical users who do not own specialized roaming authenticator hardware like a Yubikey. Users could register with the FIDO platform authenticator plus a password. One factor authentication with the FIDO platform authenticator could work seamlessly with such a setup. However, this would create a usability problem for authentication on new devices because users wouldn’t have the FIDO platform authenticator available on a new device and relying solely on the password to setup a new device wouldn’t be secure. To resolve this, I propose a workflow similar to how Matrix authenticates new clients. The user could try to login on a new device with that device’s FIDO platform authenticator (a new factor) and their password (an already registered factor). This would not actually log in, but it would create a request to approve the new FIDO authenticator in the account. The UI on the new device would then direct the user to log in on a device they already have registered to approve the new device. With FIDO platform authenticators built into mobile devices, this could be practically usable for secure authentication without specialized roaming authenticator hardware or sacrificing the ability to use any ad-hoc device like a public kiosk.

I just came up with this anonymous registration & authentication system yesterday after receiving my Yubikeys. I am not aware of any systems which implement this. I would love to see a mature and already widely deployed web application such as Discourse pioneer a future without email or other personally identifiable information being required to use the Internet.

3 « J'aime »

That’s likely true. But it’s hard to imagine that anyone who would log in with the system that you propose don’t know what a password manager is. I’ve been using a password manager for a decade or so, have multiple fido keys, use Google authenticator, and don’t quite understand what you propose.

It seems improbable that such a system will be added unless at least a few enterprise customers want it. I think it’s on the order of at least 50 hours work for someone who knows a lot about the authentication system, and likely twice that with proper specs. There was an attempt a while ago to integrate with keybase, which could do some of what you want, but I don’t think it got very far.

It’s an interesting idea,though. Maybe it’s easier than I think.

1 « J'aime »

Anyone with a recent device that has a FIDO platform authenticator built in could use this quite easily. In a few more years this could be just about anyone.

I said it in the title: make email optional. Making passwords optional would be great too.

I’m sure it would take a decent amount of work to implement. I think most of the hard part would be getting the UX design really clear. Discourse already has the building blocks in place with 2FA supporting FIDO and TOTP.

1 « J'aime »

A small, first step towards implementing this could be adding the UI for registering FIDO and TOTP to the registration UI so it doesn’t need to be an extra step in the preferences after logging in for the first time. Later, the UI design could be improved further to make email and password optional.

1 « J'aime »

I’m curious about @codinghorror’s thoughts on this considering his various blog posts about passwords.

3 « J'aime »

L’e-mail devrait être facultatif. L’utilisation de l’e-mail devient de plus en plus peu fiable, impossible en raison du grand oligopole des fournisseurs d’e-mail.

Maintenant, gmail bloque soudainement mon nom de domaine.

  • Même après avoir parfaitement configuré toute la sécurité de l’e-mail (SPF, DKIM, DMARC, …) pendant des années
  • Qu’est-ce que j’entends par parfait ? Tous les outils de test et de rapport de sécurité des e-mails indiquent “100% OK” et
  • le nom de domaine n’a pas figuré sur des listes de spam (spamhouse…) depuis des années non plus.

Mais vous pouvez contacter gmail ? Bien sûr…

Citation Sender Contact Form - Gmail Help

Nous utiliserons les informations que vous fournissez pour enquêter et améliorer nos systèmes de détection de spam et d’abus. Malheureusement, nous ne pouvons pas fournir de détails sur nos conclusions pendant ou après l’enquête.

Donc, la réponse sera probablement du genre “oui, nous avons examiné la question, nous ne l’avons pas résolue, le problème vient de votre côté mais vous ne partagerez aucun exemple de spam et nous ne vous dirons pas quel est le problème”… C’est-à-dire, s’il y a un problème.

J’ai quand même utilisé ce formulaire de contact. Il faut deux semaines pour que l’e-mail réponde, a indiqué le formulaire à la fin. Cela rend l’e-mail pratiquement peu fiable et trop fastidieux pour travailler avec.

Ce n’est pas seulement mon expérience.

Beaucoup d’autres personnes ont écrit sur des expériences similaires.

Ces manigances s’ajoutent à toutes les difficultés techniques de l’auto-hébergement de votre serveur de messagerie.

Pourriez-vous s’il vous plaît rendre l’e-mail facultatif ?

  • Lors de l’inscription avec une adresse e-mail : la récupération du mot de passe sera possible.
  • Lors de l’inscription sans adresse e-mail : la récupération du mot de passe sera impossible.
  • Si autorisé par l’administrateur du site (paramètre facultatif), avertir l’utilisateur mais autoriser l’inscription sans adresse e-mail.
  • Seulement nom d’utilisateur + mot de passe.

Sujets similaires :

1 « J'aime »

Une solution rapide et facile consiste à utiliser un autre système d’authentification à l’aide de Discourse Connect.

Mon estimation précédente de la difficulté de créer un système sans e-mail est complètement fausse. L’utilisation d’un autre identifiant avec un nom d’hôte not-email.invalid pour ces e-mails devrait être réalisable. Je pense que le plugin Sign-In with Ethereum pourrait faire ce que vous voulez, si vous êtes prêt à obliger les gens à utiliser Ethereum, mais quelque chose de similaire pourrait également fonctionner. Vous avez besoin d’un moyen d’établir une identité.

Vous avez besoin d’un moyen d’établir votre identité.

Juste nom d’utilisateur + mot de passe.

Alors n’importe qui (ou n’importe quel bot) sur tout Internet peut venir sur votre forum et créer un nombre infini de comptes en inventant un nom d’utilisateur et un mot de passe ?

Oui.

D’après mon expérience avec diverses applications web, les robots spammeurs n’ont pas beaucoup de difficulté à créer des adresses e-mail Gmail et autres. Sur mon site, nous n’excluons pas non plus les adresses e-mail temporaires jetables. Il existe également d’autres logiciels de forum / forums qui autorisent l’inscription sans adresse e-mail (ou sans adresse e-mail valide) et cela n’a pas non plus causé de problèmes que j’ai pu constater. Je ne vois donc pas les adresses e-mail comme un obstacle majeur pour éviter un déluge de comptes de bots / attaques DOS.

Mais je comprends votre point de vue. Permettre aux utilisateurs de s’inscrire sans adresse e-mail pourrait entraîner de nombreux problèmes ultérieurs. Qu’en est-il si un énorme déluge d’attaques de bots et/ou d’attaques DOS se produit, créant un nombre fou de comptes de forum ?

Dans ce cas, des mesures de prévention anti-spam seraient nécessaires. Mais celles-ci ne seraient pas spécifiques aux instances de forum où l’e-mail est facultatif par rapport à celles où l’e-mail est obligatoire.

C’est parce que les spammeurs ont également aujourd’hui accès à de nombreuses adresses e-mail créées ou piratées. Ils pourraient également utiliser des fournisseurs d’e-mail temporaires. Ou acheter/voler un nom de domaine et configurer leur propre serveur de messagerie dans le seul but de mettre en place des forums de spam.

Les mêmes questions se poseraient pour les utilisateurs utilisant ou n’utilisant pas d’e-mail. Pour le bien de cette discussion, des questions théoriques.

  • Comment afficher tous les comptes créés depuis X jours, qui se sont connectés moins de X minutes, qui ont 0 message ? Probablement des comptes de bots. Je veux les trouver et les supprimer tous.
  • Comment ajouter une question personnalisée / un puzzle / un captcha / autre avant d’accepter une inscription ?
  • Le panneau d’administration pourrait-il avoir un bouton simple permettant aux administrateurs d’approuver/désapprouver facilement les nouvelles inscriptions, capable de gérer le spam d’enregistrement de masse ?

Il semble que Google ait trouvé une solution intéressante pour cela en utilisant des codes QR et Bluetooth :

1 « J'aime »

Connexe : Users logging with SSO, without email address

1 « J'aime »

Maintenant que les passkeys sont si répandues, de nombreux services proposent une inscription sans mot de passe où vous n’avez jamais à créer de mot de passe. Avoir un mot de passe contourne les avantages de sécurité des passkeys. De même, utiliser l’e-mail comme méthode de récupération signifie que la sécurité de tous vos comptes dépend de la sécurité de votre compte de messagerie. Exiger des mots de passe/e-mails est mauvais pour la sécurité et la confidentialité des utilisateurs, sans parler de la facilité avec laquelle il est possible de créer de nouveaux comptes de messagerie. D’après mon expérience, l’exigence d’un e-mail n’empêche absolument pas les bots de spammer votre forum. L’une des principales raisons pour lesquelles les services ont historiquement exigé un e-mail est de pouvoir récupérer votre compte en cas d’oubli de votre mot de passe, mais avec les passkeys, elles sont stockées dans votre gestionnaire de mots de passe et synchronisées sur tous les appareils. Vous pouvez même ajouter plusieurs passkeys à un compte, ce qui élimine presque complètement le problème des personnes qui oublient leur mot de passe. Voici quelques exemples de sites qui implémentent l’inscription sans mot de passe :

https://app.uninbox.com/ Celui-ci est particulièrement bon je pense car il ne nécessite pas d’e-mail
https://www.kayak.com/

1 « J'aime »

S’il vous plaît, expliquez-moi cela comme si j’avais 80 ans.

Target propose l’inscription en utilisant uniquement une clé d’accès (avec l’option e-mail/mot de passe) et Discourse oblige à utiliser un e-mail ou un e-mail via SSO. Kayak (je n’aime vraiment pas ce nom de domaine, d’ailleurs :smirking_face:) utilise uniquement Google SSO, et Discourse le propose déjà.

La question ouverte est donc maintenant une option similaire à celle de Target, car l’option Kayak est déjà là (je ne limiterais pas l’inscription uniquement aux utilisateurs de Google, mais ce n’est que mon avis).

Que se passe-t-il lorsqu’un utilisateur de Target passe par exemple de l’iPhone à Android ?

Kayak vous permet en fait de vous inscrire avec une clé d’accès si vous entrez votre adresse e-mail. Malheureusement, l’e-mail est toujours requis.

Vos clés d’accès devraient être synchronisées avec votre gestionnaire de mots de passe afin d’être disponibles. Vous pouvez également ajouter plusieurs clés d’accès à un compte afin de pouvoir en créer une nouvelle avec le nouveau téléphone également. Actuellement, ils travaillent à les rendre exportables afin que vous puissiez passer plus facilement d’un gestionnaire de mots de passe à un autre.

1 « J'aime »