Por volta de 2010, senhas roubadas eram a forma padrão de invadir contas, e os sistemas de token de hardware eram caros e proprietários. O grupo setorial OATH desenvolveu um algoritmo de senha de uso único baseada em tempo, para que um código pudesse ser derivado da hora atual e de um segredo compartilhado.
O projeto fazia com que o servidor nunca precisasse rastrear estado: ambos os lados executam HMAC no mesmo intervalo de tempo, de modo que um telefone e um site chegam ao mesmo código novo a cada 30 segundos. A IETF publicou o resultado como RFC 6238 em maio de 2011, um padrão aberto que qualquer um poderia implementar.
O Google então lançou o Google Authenticator como um aplicativo gratuito no qual qualquer pessoa podia cadastrar códigos escaneando um QR code. Qualquer serviço podia adotar o mesmo padrão aberto, e a autenticação de dois fatores passou a ser uma caixa de seleção em vez de uma compra de hardware, difundindo-se por bancos, redes sociais e ferramentas para desenvolvedores.
Derivar o código a partir do tempo, de modo que nenhum estado do servidor seja necessário
O tempo substitui os contadores, então servidor e telefone permanecem sincronizados sem estado
Um RFC aberto significou que nenhum fornecedor era dono do formato
O aplicativo gratuito do Google removeu a barreira do hardware à adoção
Uma senha roubada sozinha deixou de ser suficiente para invadir uma conta
Lance a implementação gratuita junto com o padrão aberto, e o padrão se adota sozinho — sem necessidade de equipe de vendas.
O TOTP tornou-se o segundo fator padrão para milhões de serviços e está integrado a gerenciadores de senhas e autenticadores de plataforma. Desde então, as passkeys WebAuthn resistentes a phishing começaram a substituí-lo, mas o TOTP continua sendo o padrão de referência para autenticação de dois fatores.
CONFIRA AS EVIDÊNCIAS
As fontes
- Time-based one-time password Wikipedia · en.wikipedia.org
- RFC 6238: TOTP: Time-Based One-Time Password Algorithm IETF / RFC Editor · datatracker.ietf.org