O que é senha ú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 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 por que é mais preferido do que senhas estáticas.
OTP significa Senha Única, também conhecida como pin único, código de acesso único ou senha dinâmica. É uma senha temporária exclusiva, 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 usadas e expiram após um curto período de tempo. Isso as torna um método de autenticação altamente seguro, pois são muito mais difíceis para os invasores roubarem e reutilizarem.
As OTPs são amplamente adotadas em várias aplicações de segurança, incluindo bancos online, e-commerce e proteção ao acesso a dados ou sistemas sensíveis. Também são comumente usadas como um segundo fator na autenticação multifatorial (MFA) para fornecer uma camada adicional de segurança. Ao combinar algo que o usuário sabe (por exemplo, uma senha) com algo que ele possui (por exemplo, um dispositivo móvel), as OTPs se tornaram uma ferramenta essencial dos sistemas modernos de autenticação.
Existem vários tipos de OTPs, cada um gerado e entregue de forma diferente para diferentes casos de uso. Alguns métodos comuns de OTPs incluem:
OTP por SMS ou por Email é uma das formas mais simples de OTPs, onde um código de acesso único é gerado por um servidor e entregue de forma segura ao usuário via SMS ou email. O usuário então insere esse código de acesso para se autenticar.
Como funciona:
Medidas de segurança:
Casos de uso:
OTPs por SMS e Email são comumente usadas em aplicativos voltados para o consumidor, como bancos online, e-commerce e plataformas de mídia social. Não só são mais seguras do que senhas estáticas, mas também fornecem uma maneira conveniente para os usuários se autenticarem sem memorizar senhas complexas e perguntas de segurança.
Dado que a maioria dos usuários tem acesso constante a um telefone móvel ou conta de email em todos os momentos, OTPs por SMS e Email se tornaram uma escolha preferida para autenticação de usuário, verificação de propriedade de endereço de email ou número de telefone e recuperação de senha.
A OTP baseada em HMAC, definida no RFC 4226, é um algoritmo de OTP sincronizado por tempo que gera uma sequência de códigos de acesso únicos com base em uma chave secreta e um valor de contador. Cada OTP é derivada ao aplicar o hash da chave secreta e do valor do contador usando uma função de hash criptográfica (por exemplo, SHA-1, SHA-256).
Como funciona:
Segredo: HOTP requer uma chave secreta compartilhada entre o servidor e o cliente.
Contador: O servidor e o cliente mantêm um valor de contador que é incrementado a cada geração de OTP.
O cliente calcula o hash HMAC-SHA1 (ou outras funções de hash) do valor do contador (C) usando a chave secreta compartilhada (K).
H = HMAC-SHA1(K, C)O valor do 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 acompanha o valor do contador e verifica a OTP recebida ao calcular o valor do hash usando o mesmo valor de contador e chave secreta. (Se houver uma pequena desfasagem, o servidor pode permitir uma pequena janela de valores de contador, por exemplo, um ou dois incrementos, para cobrir problemas de sincronização)
Medidas de segurança:
Casos de uso:
HOTP é comumente usado em tokens de hardware e sistemas antigos onde as restrições de tempo podem ser difíceis de implementar. Para aplicações modernas, o TOTP é mais popular devido à sua natureza baseada no tempo e facilidade de implementação.
A OTP baseada no tempo, definida no RFC 6238, é um algoritmo que gera uma sequência de códigos de acesso únicos com base no tempo atual e uma chave secreta compartilhada. O 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. Ele dá uma validade baseada no tempo às OTPs, tornando-as mais seguras que o HOTP.
Como funciona:
Segredo: Assim como o HOTP, o TOTP requer uma chave secreta compartilhada entre o servidor e o cliente.
Etapa de tempo: A diferença chave entre HOTP e TOTP é que o TOTP usa um valor de etapa baseado no 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 compartilhada.
H(Time) = HMAC-SHA1(K, Time/TimeStep)O valor do hash é truncado para um código de 6 ou 8 dígitos para gerar a OTP.
OTP(Time) = Truncate(H(Time))mod 10^dOTP dinâmica: Como a geração de OTP é baseada no tempo, a OTP muda a cada 30 segundos, proporcionando um alto nível de segurança.
O servidor verifica a OTP recebida ao calcular o valor do hash usando o tempo atual e a chave secreta. Contanto que a OTP esteja dentro da janela de tempo válida, o servidor aceita a autenticação.
Medidas de segurança:
Casos de uso:
O TOTP é amplamente utilizado em aplicativos autenticadores baseados em software, como Google Authenticator, Authy e Microsoft Authenticator. Esses aplicativos geram OTPs baseadas no tempo para usuários se autenticarem com vários serviços online, incluindo plataformas de mídia social, serviços em nuvem e instituições financeiras.
Os aplicativos autenticadores TOTP se tornaram a forma mais popular de OTP para MFA, pois oferecem um equilíbrio entre segurança e usabilidade. Os usuários podem gerar OTPs em seus dispositivos móveis sem depender de entrega por SMS ou email, tornando-a um método mais seguro e conveniente de autenticação.
Segurança aprimorada
Facilidade de uso
Flexibilidade
Conformidade com regulamentos
OTP é um método de autenticação seguro e conveniente que se tornou uma ferramenta essencial nas práticas de segurança modernas. Ao fornecer um código de acesso exclusivo e sensível ao tempo para cada sessão de autenticação, as OTPs oferecem um nível mais alto de segurança do que senhas estáticas tradicionais. Sejam entregues via SMS, email ou aplicativos autenticadores, as OTPs são amplamente adotadas em várias aplicações para proteger dados sensíveis e proteger 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 usuários e na prevenção de acesso não autorizado a informações pessoais e corporativas.