O que é uma palavra-passe única (OTP)?
O que é OTP? Qual é a diferença entre OTP e TOTP? Como funciona o OTP? Este artigo descompõe os conceitos básicos de OTP e explica por que é mais preferido do que senhas estáticas.
O que é OTP? Qual é a diferença entre OTP e TOTP? Como funciona o OTP? Este artigo descompõe os conceitos básicos de OTP e explica por que é mais preferido do que senhas estáticas.
OTP significa Palavra-Passe Única, também conhecida como um código único ou senha dinâmica. É uma senha temporária única, gerada automaticamente, usada para uma única sessão de autenticação ou transação.
Ao contrário das senhas estáticas tradicionais, as OTPs mudam cada vez que são utilizadas e expiram após um curto período de tempo. Isso as torna um método de autenticação altamente seguro, uma vez que são muito mais difíceis de serem roubadas e reutilizadas por atacantes.
As OTPs são amplamente adotadas em várias aplicações de segurança, incluindo banca online, comércio eletrónico e proteção de acesso a dados ou sistemas sensíveis. Elas também são comumente usadas como um segundo fator em autenticação multifatorial (MFA) para fornecer uma camada adicional de segurança. Ao combinar algo que o utilizador sabe (por exemplo, uma senha) com algo que possuem (por exemplo, um dispositivo móvel), as OTPs tornaram-se uma ferramenta essencial dos sistemas modernos de autenticação.
Existem vários tipos de OTPs, cada uma gerada e entregue de forma diferente para casos de uso distintos. Alguns métodos comuns de OTPs incluem:
SMS OTP ou Email OTP é uma das formas mais simples de OTPs, onde um código único é gerado por um servidor e entregue de forma segura ao utilizador via SMS ou email. O utilizador então insere este código para se autenticar.
Como funciona:
Medidas de segurança:
Casos de uso:
As OTPs de SMS e Email são comumente usadas em aplicações voltadas para o consumidor, como bancos online, comércio eletrónico, e plataformas de redes sociais. Não só são mais seguras do que senhas estáticas, como também fornecem uma maneira conveniente para os utilizadores se autenticarem sem memorizar senhas e perguntas de segurança complexas.
Dado que a maioria dos utilizadores tem acesso constante a um telefone móvel ou conta de email a todo momento, as OTPs de SMS e Email tornaram-se uma escolha preferida para autenticação do utilizador, verificação de propriedade de endereço de email ou número de telefone, e recuperação de senhas.
OTP baseado em HMAC, definido na RFC 4226, é um algoritmo de OTP sincronizado por tempo que gera uma sequência de códigos únicos com base numa chave secreta e num valor de contador. Cada OTP é derivado ao hashear a chave secreta e o valor do contador utilizando uma função de hash criptográfica (por exemplo, SHA-1, SHA-256).
Como funciona:
Secreto: HOTP requer uma chave secreta partilhada entre o servidor e o cliente.
Contador: O servidor e o cliente mantêm um valor de contador que incrementa com cada geração de OTP.
O cliente calcula o hash HMAC-SHA1 (ou outras funções de hash) do valor do contador (C) utilizando a chave secreta partilhada (K)
H = HMAC-SHA1(K, C)O hash é truncado para um código de 6 ou 8 dígitos (dependendo da implementação) para gerar a OTP.
OTP = Truncate(H)mod 10^dO servidor mantém controle do valor do contador e verifica a OTP recebida calculando o valor do hash usando o mesmo valor de contador e chave secreta. (Se houver uma ligeira discrepância, o servidor pode permitir uma pequena janela de valores de contador, por exemplo, um ou dois incrementos, para contabilizar problemas de sincronização)
Medidas de segurança:
Casos de uso:
HOTP é comumente usado em tokens de hardware e sistemas legados onde restrições de tempo podem ser difíceis de implementar. Para aplicações modernas, TOTP é mais popular devido à sua natureza baseada em tempo e facilidade de implementação.
OTP baseado em tempo, definido na RFC 6238, é um algoritmo que gera uma sequência de códigos únicos baseados no tempo atual e numa chave secreta partilhada. TOTP é uma extensão mais avançada do HOTP que usa um carimbo de tempo em vez de um valor de contador para gerar OTPs. Isso dá uma validade baseada em tempo às OTPs, tornando-as mais seguras do que HOTP.
Como funciona:
Secreto: Como HOTP, TOTP requer uma chave secreta partilhada entre o servidor e o cliente.
Passo de tempo: A diferença chave entre HOTP e TOTP é que TOTP utiliza um valor de passo baseado em tempo (tipicamente 30 segundos) em vez de um valor de contador.
O cliente calcula o hash HMAC-SHA1 do tempo atual dividido pelo passo de tempo usando a chave secreta partilhada.
H(Tempo) = HMAC-SHA1(K, Tempo/PassoTempo)O valor do hash é truncado para um código de 6 ou 8 dígitos para gerar a OTP.
OTP(Tempo) = Truncate(H(Tempo))mod 10^dOTP Dinâmico: Como a geração da OTP é baseada em tempo, a OTP muda a cada 30 segundos, proporcionando um nível de segurança mais alto.
O servidor verifica a OTP recebida calculando o valor do hash utilizando o tempo atual e a chave secreta. Enquanto a OTP estiver dentro da janela de tempo válida, o servidor aceita a autenticação.
Medidas de segurança:
Casos de uso:
TOTP é amplamente usado em aplicações de autenticação com base em software, como Google Authenticator, Authy e Microsoft Authenticator. Estas aplicações geram OTPs baseados em tempo para que os utilizadores se autentiquem com vários serviços online, incluindo plataformas de redes sociais, serviços em nuvem e instituições financeiras.
As aplicações de autenticação TOTP tornaram-se a forma mais popular de OTP para MFA, pois oferecem um equilíbrio entre segurança e usabilidade. Os utilizadores podem gerar OTPs nos seus dispositivos móveis sem depender de entrega via SMS ou email, tornando-se um método de autenticação mais seguro e conveniente.
Segurança aprimorada
Facilidade de uso
Flexibilidade
Conformidade com regulamentações
OTP é um método de autenticação seguro e conveniente que se tornou uma ferramenta essencial nas práticas modernas de segurança. Ao fornecer um código único e sensível ao tempo para cada sessão de autenticação, as OTPs oferecem um nível de segurança mais alto do que as senhas estáticas tradicionais. Seja entregues via SMS, email ou aplicações de autenticação, as OTPs são amplamente adotadas em várias aplicações para proteger dados sensíveis e assegurar o acesso a serviços online. À medida que o cenário de ameaças evolui, as OTPs continuam a desempenhar um papel crucial na proteção de contas de utilizador e evitando o acesso não autorizado a informações pessoais e corporativas.