Os problemas de insegurança e usabilidade das senhas são bem conhecidos. Senhas são algo que você sabe, portanto são vulneráveis ao esquecimento, o que ocorre com frequência. Assim, o e-mail é amplamente utilizado como backup para redefinir senhas.
O e-mail também apresenta muitos problemas. De forma semelhante às senhas, as pessoas geralmente reutilizam o mesmo endereço de e-mail em diversos serviços, criando um risco de privacidade caso o e-mail seja descoberto a partir do serviço. Tornou-se cada vez mais difícil obter um endereço de e-mail sem fornecer informações de identificação pessoal ao servidor de e-mail. Como medida dissuasória contra spam (e provavelmente também porque facilita o direcionamento de anúncios aos usuários), serviços de e-mail gratuitos normalmente exigem o fornecimento de um número de telefone, que é fácil de associar a uma pessoa específica. Serviços de e-mail pagos podem não exigir um número de telefone, mas pagar por um serviço sem fornecer informações de identificação pessoal também é difícil, e depender de uma assinatura de serviço de e-mail pago é vulnerável a mudanças nas circunstâncias financeiras. Além disso, é difícil hospedar de forma confiável um servidor de e-mail próprio hoje em dia. Além das questões de privacidade, a centralização criada pela reutilização de uma conta de e-mail em muitos serviços também gera um risco de segurança, pois o comprometimento da conta de e-mail comprometeria muitas outras contas.
Hoje em dia, não precisamos de senhas nem de e-mails para registrar ou autenticar em um serviço. O Discourse já suporta FIDO e TOTP, mas ainda exige senha e endereço de e-mail para registro e autenticação. Seria ótimo se o Discourse tornasse senhas e e-mails opcionais em favor de FIDO e TOTP.
A autenticação de um único fator com FIDO pode ser realmente conveniente, mas é vulnerável à perda ou destruição do único token FIDO, semelhante ao problema de se registrar com uma senha mas sem endereço de e-mail. Para resolver isso, proponho que os usuários sejam obrigados a fornecer pelo menos dois fatores para registro, que poderiam ser qualquer combinação de FIDO, TOTP e/ou senha. Usuários que desejam autenticação sem e-mail e sem senha poderiam simplesmente registrar dois autenticadores FIDO portáteis, como YubiKeys. Os usuários poderiam ser orientados (ou potencialmente obrigados, especialmente administradores) a registrar mais do que o mínimo de dois fatores para evitar perder o acesso às suas contas.
Como os autenticadores de plataforma FIDO estão sendo incorporados em cada vez mais dispositivos atualmente, com Windows Hello, Apple Touch & Face ID e Android, esse sistema de registro sem e-mail poderia ser utilizável por usuários não técnicos que não possuem hardware especializado de autenticadores portáteis como um YubiKey. Os usuários poderiam se registrar com o autenticador de plataforma FIDO mais uma senha. A autenticação de um único fator com o autenticador de plataforma FIDO poderia funcionar perfeitamente com essa configuração. No entanto, isso criaria um problema de usabilidade para autenticação em novos dispositivos, pois os usuários não teriam o autenticador de plataforma FIDO disponível em um novo dispositivo, e confiar apenas na senha para configurar um novo dispositivo não seria seguro. Para resolver isso, proponho um fluxo de trabalho semelhante ao utilizado pelo Matrix para autenticar novos clientes. O usuário poderia tentar fazer login em um novo dispositivo com o autenticador de plataforma FIDO desse dispositivo (um novo fator) e sua senha (um fator já registrado). Isso não efetivamente faria o login, mas criaria uma solicitação para aprovar o novo autenticador FIDO na conta. A interface no novo dispositivo então orientaria o usuário a fazer login em um dispositivo que já possui registrado para aprovar o novo dispositivo. Com autenticadores de plataforma FIDO integrados em dispositivos móveis, isso poderia ser praticamente utilizável para autenticação segura sem hardware especializado de autenticadores portáteis ou sem sacrificar a capacidade de usar qualquer dispositivo improvisado, como um quiosque público.
Eu acabei de criar esse sistema de registro e autenticação anônimos ontem, após receber meus YubiKeys. Não tenho conhecimento de nenhum sistema que implemente isso. Gostaria muito de ver uma aplicação web madura e já amplamente implantada, como o Discourse, pioneira em um futuro sem a necessidade de e-mail ou outras informações de identificação pessoal para usar a Internet.