Aplicativos de autenticação, tokens de hardware e códigos SMS são métodos comuns de autenticação que você encontra ao configurar a autenticação de dois fatores (A2F). Todos eles dependem de senhas de uso único (OTP). O TOTP e o HOTP são dois tipos padronizados de OTPs, enquanto os códigos de SMS e e-mail são outros métodos comuns de envio de OTP. Embora eles sirvam fundamentalmente ao mesmo propósito básico, suas implementações diferem, o que traz benefícios e limitações exclusivas. Neste artigo, vamos analisar HOTP vs. TOTP vs. OTP e explicar qual opção faz mais sentido para diferentes casos de uso.

Entendendo HOTP, TOTP e OTP

Senha de uso único (OTP)

As OTPs são códigos temporários, às vezes chamados de senhas de uso único ou códigos de A2F, usados apenas uma vez. Eles não substituem as senhas; em vez disso, fornecem uma camada adicional de segurança. As OTPs são comumente usadas em aplicativos bancários para verificação de identidade durante inícios de sessão ou ao configurar uma conta on-line.

Nota: OTP é o termo geral para várias formas de senhas de uso único, incluindo TOTP, HOTP e e-mail/SMS.

Senha de uso único baseada em tempo (TOTP)

Os códigos TOTP são normalmente códigos de 6 dígitos gerados por aplicativos de autenticação. Eles são válidos por cerca de 30 segundos (às vezes até 60 segundos, dependendo do serviço). Quando um código expira, ele deixa de funcionar e um novo é gerado. A natureza baseada no tempo do TOTP o torna altamente seguro, pois limita a janela de oportunidade para que invasores usem qualquer código roubado.

Senha de uso único baseada em HMAC (HOTP)

HOTPs são comumente encontrados em tokens físicos, como YubiKeys, e dependem de um sistema baseado em contador para gerar códigos. Esse sistema funciona de maneira semelhante a um talão de vales numerados: há uma ordem sequencial de códigos que é comparada com o sistema. Desde que o token físico e o servidor do aplicativo permaneçam sincronizados, você terá acesso garantido.

Ao contrário do TOTP, os códigos HOTP não expiram com um temporizador. Eles permanecem válidos até que você os use ou gere um novo código. Isso os torna ideais para cenários off-line, mas também significa que, se você gerar um código e não usá-lo, ele continuará sendo uma chave válida que um invasor pode encontrar e usar.

HOTP, TOTP e OTP: principais diferenças

O TOTP e o HOTP são tipos de OTPs com métodos de geração diferentes. Por exemplo, se você estiver comparando o TOTP com o OTP, provavelmente estará comparando os códigos baseados em tempo de aplicativos de autenticação com métodos gerais de OTP, como códigos por SMS e e-mail.

Códigos de SMS/e-mailTOTPHOTP
Validade do códigoVaria (de minutos a horas)30 a 60 segundosAté que um novo código seja gerado
Segurança*BaixaAltaModerada
Complexidade de configuraçãoNenhumaBaixaModerada
Requisito de rede ativaSimNãoNão
Hardware adicional NenhumaNenhumaToken físico

*Nível de segurança baseado em janelas de validade do código e risco de interceptação.

Segurança

HOTP, TOTP e OTP oferecem níveis diferentes de segurança, sendo que as principais considerações são o tempo de exposição e o método de transmissão.

O TOTP geralmente oferece uma segurança mais forte do que códigos de SMS ou e-mail, pois os códigos são gerados no dispositivo e têm validade curta. Se os invasores conseguirem obter o seu código TOTP de alguma forma, ele se tornará inútil.

O HOTP é construído sobre uma base criptográfica, oferecendo uma segurança sólida. No entanto, como os códigos HOTP não expiram com um temporizador, as janelas de validade potencialmente longas podem tornar os códigos roubados uma vulnerabilidade.

Os códigos de SMS e e-mail são os menos seguros do grupo. Eles viajam por redes que podem ser interceptadas ou redirecionadas, tornando-os mais vulneráveis a ataques de SIM swap ou phishing..

Observação: nenhum método de OTP é imune a ataques de engenharia social, como phishing. É importante saber identificar phishing para se defender adequadamente.

Códigos de SMS/e-mailTOTPHOTP
Suscetível a interceptação devido a requisitos de rede ativaTempo mínimo para os invasores explorarem códigos roubadosA longa validade oferece mais oportunidades de ataque
Plataformas não criptografadas facilitam o roubo de códigosMenor risco de interceptação, pois os códigos são gerados no dispositivoSegurança sólida construída sobre uma base criptográfica

Experiência do usuário

A complexidade de configuração, a pressão do tempo e a confiabilidade afetam a experiência do usuário com os três métodos.

O TOTP é confiável e conveniente. A configuração é simples (geralmente apenas o escaneamento de um código QR) e os códigos são gerados mesmo sem uma rede ativa. No entanto, a expiração curta do código cria uma pressão de tempo que pode causar frustração para usuários mais lentos ou para aqueles que gerenciam várias contas.

O HOTP é muito mais tranquilo em comparação, sem limitações de tempo. A configuração é muito mais complexa, porém, e pode envolver a compra de hardware adicional.

Os códigos de SMS e e-mail são os que exigem menos esforço, sem necessidade de configuração, mas dependem de conectividade de rede, o que pode causar atrasos durante interrupções ou quedas de serviço.

Códigos de SMS/e-mailTOTPHOTP
Nenhuma configuração necessáriaConfiguração simples via código QR com um aplicativo de autenticação A2FConfiguração complexa, pode exigir hardware adicional
Pouca pressão de tempo, com alguns códigos expirando em horasA pressão do tempo pode causar frustraçãoSem pressão de tempo
Totalmente dependente de uma rede ativa para a entrega do códigoFunciona de forma confiável mesmo sem uma conexão de redeFunciona off-line, mas podem ocorrer problemas de sincronização

Limitações

As limitações exclusivas de cada método afetarão como e quando você os usará. Os códigos de SMS e e-mail funcionam com os seus dispositivos existentes, mas a dependência deles em relação às conexões de rede e internet pode causar atrasos na entrega dos códigos que podem durar mais do que a própria validade deles.

O TOTP não exige uma conexão de rede para gerar códigos, mas exige que o seu smartphone esteja sincronizado com o tempo do servidor para que o código funcione. A melhor maneira de garantir isso é configurar o relógio do seu dispositivo para sincronizar automaticamente com a internet. Assim, ao viajar, a sincronização de tempo permanece ativa.

Com o HOTP, gerar novos códigos off-line pode ser vantajoso quando a conectividade de rede for ruim. No entanto, isso é uma faca de dois gumes. Gerar códigos novamente sem usá-los pode fazer com que o dispositivo perca a sincronização com o servidor, gerando falhas de autenticação. Além disso, a regeneração manual exigida com o HOTP transfere uma enorme responsabilidade de segurança para o usuário.

Códigos de SMS/e-mailTOTPHOTP
Áreas com rede ruim podem causar atrasos significativos na entrega do códigoO horário do dispositivo precisa estar sincronizado com o horário do servidor, mesmo ao viajarPode perder a sincronização se muitos códigos forem gerados, mas não utilizados

Qual método OTP você deve usar?

A resposta curta é que o TOTP é o melhor padrão para a maioria das pessoas, enquanto o HOTP atende a necessidades off-line específicas. Ambos são superiores ao SMS.

Embora as necessidades individuais variem, o TOTP parece ser a escolha mais equilibrada na maioria das situações. A natureza baseada em tempo oferece uma camada extra de segurança, e a acessibilidade por smartphone o torna uma escolha conveniente e segura para as contas que você acessa regularmente. Mas, para uma proteção ainda mais forte contra phishing, métodos baseados em hardware, como FIDO2/passkeys, vão além de qualquer método OTP.

Armazene senhas e gere OTPs com segurança

Gerenciar senhas e códigos de autenticação TOTP pode ser complicado — a constante troca de aplicativos durante os inícios de sessão reduz o tempo já limitado que você tem para inserir códigos. O Proton Pass é um gerenciador de senhas seguro que reduz esse atrito com nossa funcionalidade de A2F integrada (TOTP). Acesse suas senhas, códigos de A2F e muito mais em um cofre seguro e criptografado.