TOTP significa “senha de uso único baseada no tempo”. É a tecnologia por trás de muitos códigos de seis dígitos exibidos por aplicativos autenticadores. Um código TOTP é calculado a partir de uma chave privada de configuração e da hora atual, expirando após um curto intervalo.

O TOTP é comumente usado como a segunda etapa na autenticação de dois fatores. Ele pode funcionar mesmo sem sinal de celular, pois o aplicativo autenticador calcula o código localmente, em vez de aguardar uma mensagem.

Quais informações geram um código TOTP?

Dois dados são importantes: um segredo compartilhado e um contador de tempo. O provedor da conta cria um segredo durante a configuração e o fornece ao seu autenticador por meio de um código QR ou de uma chave manual. Em seguida, ambos os lados dividem o tempo em intervalos iguais e realizam o mesmo cálculo criptográfico.

Se o segredo, o algoritmo e a janela de tempo coincidirem, ambos os lados geram o mesmo código curto. O segredo em si não precisa ser transmitido a cada login.

Four-stage TOTP process from secret and time to code validation
O autenticador e o serviço calculam, de forma independente, um valor a partir do mesmo segredo e do mesmo intervalo de tempo.

Como funciona o TOTP?

  1. O provedor cria um segredo exclusivo para o cadastro do autenticador.
  2. Você escaneia o código QR de configuração ou insere a chave secreta manualmente em um dispositivo confiável.
  3. O autenticador combina a chave secreta com a janela de tempo atual.
  4. O resultado é reduzido a um código numérico curto, geralmente de seis dígitos.
  5. O provedor calcula o código esperado e o compara com o que você digitou.

A RFC 6238 define o TOTP como uma variação baseada no tempo do HOTP. Uma configuração comum utiliza um período de 30 segundos, seis dígitos e HMAC-SHA-1, embora existam outros algoritmos e configurações compatíveis.

Por que os códigos TOTP expiram?

Um curto período de validade limita por quanto tempo um código copiado pode ser reutilizado. Assim que a janela de tempo muda, o autenticador gera outro valor. Os serviços podem tolerar uma janela próxima para compensar atrasos de rede e pequenas diferenças de horário, mas uma tolerância maior também amplia a janela de aceitação.

Insira um novo código próximo ao início de sua contagem regressiva. Se os códigos forem rejeitados constantemente, siga nosso guia para corrigir um código de 2FA que não está funcionando.

TOTP versus HOTP

O TOTP e o HOTP utilizam cálculos semelhantes, mas funcionam de maneira diferente:

  • O TOTP muda de acordo com um intervalo de tempo, portanto, os relógios dos autenticadores devem estar sincronizados.
  • O HOTP muda quando um contador avança, como após o pressionamento de um botão ou após um uso bem-sucedido.

O TOTP é comum em aplicativos autenticadores de software porque o tempo fornece um fator de variação automático. O HOTP ainda é usado por alguns tokens de hardware e sistemas especializados.

TOTP versus códigos SMS

Um aplicativo TOTP calcula os códigos no dispositivo e normalmente funciona offline. O SMS depende da rede telefônica para enviar um código. O SMS é prático, mas pode ser afetado por trocas de cartão SIM, reatribuição de números, interceptação e falhas na entrega.

Nem o TOTP comum nem o SMS são totalmente resistentes a phishing: uma página de login falsa convincente pode capturar e retransmitir um código atual. Para contas importantes, uma chave de acesso ou uma chave de segurança FIDO é geralmente mais segura, quando compatível. Veja nossa comparação detalhada entre aplicativos autenticadores e SMS.

O que é um segredo TOTP?

O segredo é a credencial de longa duração por trás de todos os códigos futuros para esse cadastro. Qualquer pessoa que o possua pode configurar outro autenticador e gerar valores correspondentes. Uma captura de tela do código QR de configuração é confidencial, pois normalmente contém esse segredo.

Nosso guia explica onde encontrar a chave de configuração manual da 2FA e como distingui-la de uma senha ou código de recuperação.

O TOTP funciona offline?

Sim. Uma vez configurado, um autenticador precisa do segredo e de um relógio preciso, não de uma conexão ativa com a internet. O serviço que verifica o login ainda precisa de acesso às informações de cadastro armazenadas.

Como usar um gerador de TOTP com segurança

  • Use apenas segredos pertencentes a contas que você esteja autorizado a gerenciar.
  • Verifique o endereço do site e o dispositivo antes de inserir uma chave secreta.
  • Nunca envie uma senha secreta ou um código QR de configuração por chat ou formulários de suporte.
  • Mantenha os códigos de recuperação separados do autenticador de uso diário.
  • Regenera o registro caso a senha secreta possa ter sido comprometida.

Para testes autorizados, o gerador TOTP do Get2FA.dev calcula códigos padrão no seu navegador. Para uso diário em contas importantes, opte por um autenticador confiável ou por um método baseado em hardware.

Perguntas frequentes

Quanto tempo dura um código TOTP?

Trinta segundos é o padrão comum, mas o provedor pode definir outro período. A contagem regressiva ocorre em uma janela de tempo; ela não é reiniciada quando você visualiza ou copia o código.

Por que os códigos TOTP geralmente têm seis dígitos?

Seis dígitos equilibram a usabilidade com um número limitado de valores possíveis. Limites de taxa e janelas de validade curtas são importantes porque o espaço de códigos, por si só, não é grande.

Dois dispositivos podem exibir o mesmo código TOTP?

Sim, se ambos tiverem o mesmo segredo, usarem as mesmas configurações e tiverem relógios sincronizados. A adequação da duplicação de um cadastro depende da sua política de segurança.

O TOTP é o mesmo que a autenticação de dois fatores (2FA)?

Não. O TOTP é um dos métodos possíveis de autenticação. Leia o que significa 2FA e como funcionam seus outros métodos.