Aplicações de autenticação, tokens de hardware e códigos por SMS são métodos de autenticação comuns que poderá encontrar ao configurar a autenticação de dois fatores (2FA). Todos eles dependem de palavras-passe de utilização única (OTP). O TOTP e o HOTP são dois tipos padronizados de OTP, enquanto os códigos por SMS e e-mail são outros métodos comuns de entrega de OTP. Embora sirvam fundamentalmente o mesmo propósito básico, as suas implementações diferem, proporcionando vantagens e limitações únicas. Neste artigo, analisamos as diferenças entre HOTP vs TOTP vs OTP e explicamos qual a opção que faz mais sentido para diferentes casos de utilização.
Compreender o HOTP, o TOTP e o OTP
Palavra-passe de utilização única (OTP)
As OTP são códigos temporários, por vezes designados por palavras-passe de utilização única ou códigos 2FA, que são utilizados apenas uma vez. Não substituem as palavras-passe; em vez disso, fornecem uma camada adicional de segurança. As OTP são frequentemente utilizadas em aplicações bancárias para verificação de identidade durante o início de sessão ou ao configurar uma conta online.
Nota: OTP é o termo geral para várias formas de palavras-passe de utilização única, incluindo TOTP, HOTP e e-mail/SMS.
Palavra-passe de utilização única baseada no tempo (TOTP)
Os códigos TOTP são normalmente códigos de 6 dígitos gerados por aplicações de autenticação. São válidos por cerca de 30 segundos (por vezes até 60 segundos, dependendo do serviço). Quando um código expira, deixa de funcionar e é gerado um novo. A natureza temporal do TOTP torna-o altamente seguro, pois limita a janela de oportunidade para os atacantes utilizarem qualquer código roubado.
Palavra-passe de utilização única baseada em HMAC (HOTP)
Os HOTPs são comummente encontrados em tokens de hardware como as YubiKeys e baseiam-se num sistema de contadores para gerar códigos. Este sistema funciona de forma semelhante a um livro de vales numerados — existe uma ordem sequencial de códigos que é comparada com o sistema. Desde que o token de hardware e o servidor da aplicação permaneçam sincronizados, ser-lhe-á concedido acesso.
Ao contrário do TOTP, os códigos HOTP não expiram com um temporizador. Permanecem válidos até que os utilize ou gere um novo código. Isto torna-os ideais para cenários offline, mas também significa que, se gerar um código e não o utilizar, este continuará a ser uma chave válida que um atacante poderá encontrar e utilizar.
HOTP, TOTP e OTP: principais diferenças
O TOTP e o HOTP são ambos tipos de OTPs com diferentes métodos de geração. Por exemplo, se estiver a comparar o TOTP com o OTP, estará provavelmente a comparar os códigos baseados em tempo de aplicações de autenticação com os métodos gerais de OTP, tais como códigos por SMS e e-mail.
| Códigos por SMS/e-mail | TOTP | HOTP | |
| Validade do código | Varia (de minutos a horas) | 30 a 60 segundos | Até que um novo código seja gerado |
| Segurança* | Baixa | Alta | Moderada |
| Complexidade de configuração | Nenhuma | Baixa | Moderada |
| Requisito de rede ativa | Sim | Não | Não |
| Hardware adicional | Nenhuma | Nenhuma | Token de hardware |
*Nível de segurança baseado nos intervalos de validade dos códigos e no risco de interceção.
Segurança
O HOTP, o TOTP e o OTP oferecem diferentes níveis de segurança, sendo as principais considerações o tempo de exposição e o método de transmissão.
O TOTP oferece geralmente uma segurança mais forte do que os códigos por SMS ou e-mail, pois os códigos são gerados no dispositivo e têm uma validade curta. Se, de alguma forma, os atacantes obtiverem o seu código TOTP, este tornar-se-á inútil.
O HOTP baseia-se numa base criptográfica, proporcionando uma segurança sólida. No entanto, como os códigos HOTP não expiram com um temporizador, os intervalos de validade potencialmente longos podem tornar os códigos roubados numa vulnerabilidade.
Os códigos por SMS e e-mail são os menos seguros do grupo. Viajam através de redes que podem ser intercetadas ou redirecionadas, tornando-os mais vulneráveis a ataques de SIM swap ou phishing..
Nota: Nenhum método OTP é imune a ataques de engenharia social, tais como o phishing. É importante saber como identificar o phishing para se defender adequadamente.
| Códigos por SMS/e-mail | TOTP | HOTP |
| Suscetível de interceção devido a requisitos de rede ativa | Tempo mínimo para os atacantes explorarem códigos roubados | A validade longa oferece maiores oportunidades de ataque |
| Plataformas sem encriptação tornam os códigos mais fáceis de roubar | Menor risco de interceção, uma vez que os códigos são gerados no dispositivo | Segurança sólida baseada numa base criptográfica |
Experiência do utilizador
A complexidade de configuração, a pressão do tempo e a fiabilidade afetam a experiência do utilizador dos três métodos.
O TOTP é fiável e convenient. A configuração é simples (frequentemente basta a digitalização 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 pressão de tempo, o que pode causar frustração em utilizadores mais lentos ou em quem faz a gestão de várias contas.
O HOTP é muito mais descontraído em comparação, com zero restrições de tempo. No entanto, a configuração é muito mais complexa e pode implicar a aquisição de hardware adicional.
Os códigos por SMS e e-mail são os que exigem menos esforço, sem necessidade de configuração, mas dependem de ligação de rede, o que pode causar atrasos durante falhas ou interrupções.
| Códigos por SMS/e-mail | TOTP | HOTP |
| Sem necessidade de configuração | Configuração simples via código QR com um autenticador 2FA | Configuração complexa, pode exigir hardware adicional |
| Ligeira pressão de tempo, com alguns códigos a expirar em horas | A pressão do tempo pode causar frustração | Sem pressão de tempo |
| Totalmente dependente de uma rede ativa para a entrega do código | Funciona de forma fiável mesmo sem uma ligação de rede | Funciona offline, mas podem ocorrer problemas de sincronização |
Limitações
As limitações únicas de cada método afetarão como e quando os utiliza. Os códigos por SMS e e-mail funcionam com os seus dispositivos existentes, mas a sua dependência das suas ligações de rede e de internet pode causar atrasos na entrega dos códigos que podem até durar mais do que a sua validade.
O TOTP não requer uma ligação de rede para gerar códigos, mas requer que o seu smartphone esteja sincronizado em termos de tempo com o servidor para que o seu código funcione. A melhor forma de garantir isso é ter o relógio do seu dispositivo a sincronizar automaticamente com a internet. Assim, quando viaja, a sincronização de tempo mantém-se ativa.
Com o HOTP, gerar novos códigos offline pode ser benéfico quando a ligação de rede é fraca. No entanto, esta é uma faca de dois gumes. Regenerar códigos sem os utilizar pode fazer com que o seu dispositivo fique dessincronizado com o servidor, criando falhas de autenticação. Além disso, a regeneração manual exigida com o HOTP coloca um enorme ónus de segurança sobre o utilizador.
| Códigos por SMS/e-mail | TOTP | HOTP |
| Áreas de rede fraca podem causar atrasos significativos na entrega dos códigos | A hora do dispositivo precisa de estar sincronizada com a hora do servidor, mesmo em viagem | Pode ficar dessincronizado se forem gerados demasiados códigos mas não forem utilizados |
Que método OTP deve utilizar?
A resposta curta é que o TOTP é o melhor padrão para a maioria das pessoas, enquanto o HOTP serve necessidades offline 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 no tempo proporciona uma camada adicional de segurança, e a acessibilidade através de smartphone torna-o uma escolha conveniente e segura para as contas a que acede regularmente. No entanto, para uma proteção ainda mais forte contra phishing, os métodos baseados em hardware, como as chaves de acesso/FIDO2, vão mais longe do que qualquer método OTP.
Guardar palavras-passe e gerar OTPs de forma segura
Gerir palavras-passe e códigos de autenticação TOTP pode ser um incómodo — a alternância constante de aplicação durante os inícios de sessão reduz o tempo já limitado de que dispõe para introduzir os códigos. O Proton Pass é um gestor de palavras-passe seguro que reduz esta fricção com a nossa funcionalidade de 2FA integrada (TOTP). Aceda às suas palavras-passe, códigos 2FA e muito mais a partir de um cofre encriptado e seguro.






