Bem... Implementa os dois kkkk. Brincadeiras a parte, empresas como a Microsoft usam seus métodos de 2fa como métodos de login, sem precisar da senha (apesar de ainda existir essa opção). O Github, por exemplo, usa o seu aplicativo como 2fa. Então, é bom ter opção de entrar com senha, mas não necessariamente é ruim ter a opção de entrar com magic links ou, como o Notion faz, um tipo de magic link, só que tem, também, a opção de colocar o código enviado por e-mail.
Justo! Acho que implementar as suas seja uma solução boa, mas isso ainda faz manter uma informação valiosa no banco de dados que é a senha... e caso a pessoa tenha utilizado a mesma senha em outro serviço na qual teve seus dados expostos, ela está 50% exposta aqui (faltando só o email).
Em paralelos, já vi serviços implementarem magic link de uma forma muito insegura, que é receber um email e ao clicar no link dele, o dispositivo na qual fez a requisição é autenticado. Por exemplo:
- Atacante (pelo celular, ou qualquer outro client) faz requisição com o usuário/email da vítma.
- Vítma recebe email e clica sem querer no link (ou o Outlook clica por você, como vimos no passado)
- Celular do atacante é autenticado.
Sim sim. Além de autenticação por magic link (ou outro método sem senha) ser segura (se implementada da forma correta), por não precisar armazenar a senha em um banco de dados "home-made" e pelo acesso estar mais seguro (por exemplo: é muito mais difícil hackear um banco de dados que é da Google do que um que não podemos garantir se vai vazar a URL, etc.), também é conveniente para o usuário. Quanto a implemantação, não acho que devemos fazer apenas por e-mail. Além de aplicativos como o Google Authenticator, se no futuro nós fizermos um aplicativo, poderiamos implementar ele assim também. Em pararelo, poderíamos criar backup codes, para caso a pessoa perder o acesso do e-mail, resolvendo o problema que fez com que não implementasse o magic link.
João... gosto bastante da opção com OPT (One-Time Password) que utiliza aplicativos como o Google Authenticator que você mencionou ou o Authy. Seria uma opção segura, viável e sem custos adicionais para o usário, como no caso dos tokens UF2/FIDO.
Respondendo ao Filipe, também não gosto de links mágicos por e-mail, como mencionei, acho a pior implementação de autenticação sem senha em termos de segurança.
Contudo ainda temos um "pequeno" problema na implementação de soluções assim. Uma solução totalmente passwordless só transfere a responsabilidade da autenticação por senha para um terceiro. O OTP facilita logins futuros, mas daí o usuário já fez um cadastro, confirmou a criação da conta por e-mail (como no TabNews). Então como se daria a recuperação do acesso?
Suponha que o usuário perca os códigos de backup e o celular com o app de autenticação. Solicitar o reset de senha pelo e-mail torna tudo novamente frágil e susceptível a ataques.
Tenho algumas ideias que envolvem biometria e a assinatura de documentos com a plataforma Gov.BR, mas abordarei esse assunto mais profundamente quando conseguir fazer uam prova de conceito mínima.
Ricardo, não deixe de fazer uma nova postagem na raiz do TabNews com os seus estudos no tema 🤝