Senhas de uso único baseadas em tempo (TOTP, na sigla em inglês) são um método de autenticação seguro que gera códigos temporários e com validade no tempo para verificar a identidade do usuário.

O que significa TOTP?
Uma senha de uso único baseada em tempo (TOTP) é um tipo de código de acesso dinâmico usado em sistemas de autenticação para aumentar a segurança gerando um código temporário e exclusivo que expira após um curto período predefinido.
Baseado no algoritmo HOTP (Senha Única Baseada em HMAC), o TOTP combina uma chave secreta compartilhada com a hora atual, geralmente usando intervalos de tempo UNIX como referência. O resultado é uma senha de uso único que é específica para cada usuário e sensível ao tempo. Como o código muda em intervalos regulares, geralmente a cada 30 ou 60 segundos, ele reduz significativamente o risco de ataques de repetição, já que códigos expirados não podem ser reutilizados.
Os TOTPs são comumente empregados em sistemas de autenticação de dois fatores (2FA) , onde servem como uma camada adicional de verificação juntamente com as credenciais de login tradicionais, garantindo um nível mais alto de proteção contra acesso não autorizado.
Qual é a diferença entre 2FA e TOTP?
A autenticação de dois fatores (2FA) é um método de segurança que exige que os usuários verifiquem sua identidade usando dois fatores distintos, como algo que eles sabem (senha) e algo que eles têm (token ou código de segurança). TOTP, ou Time-based One-Time Password, é uma tecnologia específica frequentemente usada como o segundo fator em sistemas 2FA.
Enquanto 2FA se refere à abordagem geral de segurança, TOTP é um mecanismo para gerar códigos exclusivos e sensíveis ao tempo que servem como uma parte do processo 2FA. Essencialmente, 2FA é o conceito mais amplo de autenticação multicamadas, e TOTP é uma das ferramentas usadas para implementá-lo.
Como funciona o TOTP?
O TOTP funciona gerando um código único e com prazo de validade, baseado em uma chave secreta compartilhada e na hora atual. Ao configurar o TOTP, o provedor de serviços e o usuário trocam uma chave secreta compartilhada, geralmente codificada em um código QR ou em uma sequência alfanumérica. Essa chave é armazenada com segurança no aplicativo TOTP do usuário, como o Google Authenticator ou o Authy.
Quando um código TOTP é necessário, o aplicativo combina o segredo compartilhado com o carimbo de data/hora atual, geralmente usando o tempo UNIX dividido em intervalos (por exemplo, 30 segundos). Uma função hash criptográfica (HMAC) é aplicada a essa combinação para gerar um código numérico exclusivo. O provedor de serviços calcula independentemente o TOTP esperado usando o mesmo segredo compartilhado e intervalo de tempo. Para autenticação, o usuário insere o código TOTP, e o serviço o valida comparando-o com o valor esperado. Como o código está vinculado a um intervalo de tempo específico, ele expira automaticamente após um curto período, garantindo maior segurança.
O que é um exemplo de TOTP?

Um exemplo comum de TOTP é seu uso na autenticação de dois fatores (2FA) para contas online. Suponha que um usuário queira fazer login em sua conta de e-mail. Após digitar seu nome de usuário e senha, o sistema solicita um código TOTP de seis dígitos. O usuário abre um aplicativo TOTP, como o Google Authenticator, que exibe um código que muda a cada 30 segundos.
Por exemplo, o aplicativo pode exibir o código 438917. O usuário insere esse código no campo de login e o sistema o verifica calculando sua própria versão do código usando o segredo compartilhado e a hora atual. Se os códigos coincidirem, o usuário recebe acesso. Esse processo garante que, mesmo que a senha seja comprometida, um invasor não consiga fazer login sem o código TOTP exclusivo, que é válido apenas por um período limitado.
Como obtenho TOTP?
Para obter TOTP, você precisa de um aplicativo compatível com TOTP e um serviço que o suporte para autenticação. Veja como você pode configurá-lo:
- Habilite o TOTP no serviço. Faça login na sua conta no serviço que deseja proteger (por exemplo, e-mail, cloud armazenamento, serviços bancários). Navegue até as configurações de segurança e habilite a autenticação de dois fatores (2FA) usando um aplicativo TOTP.
- Digitalize ou insira a chave secreta. O serviço fornecerá um código QR ou uma chave manual. Use seu aplicativo TOTP (como Google Authenticator, Authy ou Microsoft Authenticator) para escanear o código QR ou insira manualmente a chave.
- Gere códigos TOTP. Uma vez configurado, o aplicativo gerará códigos sensíveis ao tempo que são atualizados a cada 30 ou 60 segundos. Esses códigos são vinculados ao serviço que você registrou e são usados como o segundo fator durante o login.
- Backup a chave. A maioria dos serviços fornece backup opções para a chave secreta caso você perca o acesso ao seu dispositivo. Salve isto backup com segurança para uso futuro.
Quais são os benefícios do TOTP?
O TOTP fornece vários benefícios importantes que aumentam a segurança e a usabilidade em sistemas de autenticação. Aqui estão as vantagens desta tecnologia:
- Segurança melhorada. O TOTP adiciona uma segunda camada de proteção além das senhas, reduzindo significativamente o risco de acesso não autorizado, mesmo que a senha seja comprometida.
- Códigos sensíveis ao tempo. O curto período de validade dos códigos TOTP garante que eles expirem rapidamente, mitigando riscos como ataques de repetição ou interceptação.
- Comodidade e acessibilidade. O TOTP tem amplo suporte, com muitos aplicativos gratuitos e fáceis de usar disponíveis para gerar códigos, facilitando seu uso em diferentes serviços.
- Funcionalidade off-line. O TOTP opera sem exigir conexão com a internet para gerar códigos, o que o torna confiável em cenários onde a conectividade não está disponível.
- Padrões abertos. Com base em padrões abertos, o TOTP garante a compatibilidade entre diversas plataformas e serviços, evitando Bloqueio do fornecedor e proporcionando flexcapacidade.
Quais são as desvantagens do TOTP?
Embora o TOTP melhore a segurança, ele tem algumas desvantagens:
- Confiança em segredo compartilhado. O TOTP depende de uma chave secreta compartilhada armazenada no dispositivo do usuário, que pode ser perdida, roubada ou comprometida.
- Problemas de sincronização de tempo. Se a hora do sistema no dispositivo do usuário ou do provedor de serviços server não estiver sincronizado, podem ocorrer falhas de autenticação.
- Configuração complexa para alguns usuários. O processo de configuração pode ser desafiador para usuários menos experientes em tecnologia, o que pode levar a erros ou configurações inadequadas. backup práticas.
- Desafios de recuperação. Sem um backup da chave secreta, recuperar o acesso às contas pode ser difícil se o usuário perder o acesso ao aplicativo TOTP.
- Dependência de dispositivo. O TOTP depende de um dispositivo físico, como um smartphone, apresentando riscos como danos, roubo ou indisponibilidade durante situações críticas.
O TOTP funciona online?
Sim, o TOTP funciona on-line no contexto de verificação de acesso do usuário a serviços on-line, mas a geração do TOTP em si opera off-line. Um código TOTP é gerado no seu dispositivo (por meio de um aplicativo como o Google Authenticator) usando uma chave secreta compartilhada e o horário atual, sem exigir uma conexão com a Internet. Quando você insere o código TOTP em um serviço on-line para autenticação, o serviço o verifica calculando independentemente o código esperado com base na mesma chave secreta e horário. Isso significa que o processo de geração do TOTP é off-line, mas sua verificação normalmente ocorre durante uma interação on-line com o serviço.
Quão seguro é o TOTP?
O TOTP é considerado um método de autenticação altamente seguro quando implementado corretamente, mas sua segurança depende da eficácia da proteção da chave secreta compartilhada e do dispositivo do usuário. Os códigos únicos e com validade temporal gerados pelo TOTP são difíceis de adivinhar devido à sua dependência de algoritmos criptográficos e curtos períodos de validade, o que o torna altamente resistente a ataques de repetição e tentativas de phishing.
No entanto, sua segurança pode ser comprometida se a chave secreta compartilhada for exposta, como por meio de roubo de dispositivo, malware ou uso inadequado. backup práticas. Além disso, se o dispositivo usado para gerar TOTPs for comprometido, um invasor pode potencialmente acessar os códigos. Para manter a segurança, os usuários devem armazenar o segredo compartilhado com segurança, usar práticas de segurança fortes em seus dispositivos e habilitar backups para recuperação de conta. Quando combinado com uma senha primária forte, o TOTP fornece proteção robusta contra acesso não autorizado.