Pular pro conteúdo principal

Autenticação de dois fatores (2FA)

A autenticação de dois fatores (2FA) é um protocolo de segurança que exige que o usuário comprove sua identidade usando duas credenciais independentes de categorias diferentes — normalmente algo que ele sabe (uma senha) e algo que ele possui (um código de uso único entregue ao celular ou a um aplicativo autenticador) — antes que o acesso ou uma ação privilegiada seja concedido.

O que é a autenticação de dois fatores?

A autenticação de dois fatores (2FA), uma implementação específica do conceito mais amplo de autenticação multifator (MFA), é um mecanismo de verificação de login e de ações que exige do usuário apresentar evidências de duas categorias distintas de fatores de autenticação antes que o sistema conceda acesso ou registre uma ação privilegiada. As três categorias reconhecidas são: fatores de conhecimento (senhas, PINs, perguntas de segurança), fatores de posse (celulares, tokens de hardware, aplicativos autenticadores) e fatores de inerência (biometria, como impressões digitais ou geometria facial). Um sistema 2FA verdadeiro exige fatores de pelo menos duas categorias diferentes — combinar duas senhas, por exemplo, não se qualifica.

Mecanismo técnico

A implementação mais comum em aplicações web de consumo é o TOTP (Time-based One-Time Password), padronizado na RFC 6238. Durante o cadastro, o servidor gera uma chave secreta e a compartilha com o usuário, normalmente via um QR code que é importado para um aplicativo autenticador como Google Authenticator, Authy ou 1Password. A partir daí, tanto o servidor quanto o aplicativo calculam de forma independente um código de 6 dígitos aplicando HMAC-SHA1 à combinação do segredo compartilhado com o timestamp Unix atual dividido em janelas de 30 segundos. Como ambos os lados usam o mesmo algoritmo e o mesmo segredo, o código gerado é idêntico — e válido apenas dentro da janela de tempo atual.

Outros mecanismos comuns de entrega de 2FA incluem:

Quando o 2FA é usado em plataformas de concursos e votação?

As plataformas de concursos empregam 2FA com mais frequência na criação da conta (para verificar que um número de celular ou e-mail real pertence ao cadastrante), no login de eleitores recorrentes e, ocasionalmente, como filtro na própria ação de envio de voto — sobretudo em competições de alto risco em que cada usuário registrado tem direito a exatamente um voto. A variante de verificação por número de celular é especialmente eficaz porque obter grandes volumes de números únicos e verificados envolve custo significativo e sobrecarga operacional para operadores de bots.

Como os votos interagem com o 2FA

Quando uma plataforma de concursos exige contas verificadas por 2FA para votar, cada voto é implicitamente respaldado por um sinal de identidade verificado: o número de celular ou e-mail que recebeu o código de uso único durante o cadastro. Um operador de bot que queira enviar N votos fraudulentos usando contas protegidas por 2FA deve, portanto, obter N números de celular ou caixas de e-mail únicos, capazes de receber mensagens OTP, e concluir a etapa de verificação para cada um — um processo que não pode ser totalmente automatizado e escala mal.

O 2FA por SMS pode ser parcialmente contornado por serviços de números virtuais, motivo pelo qual sistemas mais sofisticados de prevenção a fraudes em concursos implementam verificações em nível de operadora que sinalizam números VoIP ou não geográficos. O 2FA por TOTP é mais difícil de obter em massa porque exige gestão persistente de segredos por conta. Chaves FIDO2/WebAuthn são efetivamente resistentes a fraudes de registro em massa porque exigem hardware físico.

Especificidades de fornecedores e padrões

O 2FA não é o produto de um único fornecedor, mas uma categoria aberta regida por padrões da IETF (RFC 6238 para TOTP, RFC 4226 para HOTP) e pela especificação WebAuthn da FIDO Alliance. Existem bibliotecas de implementação para todas as principais linguagens de programação. Provedores de identidade em nuvem como Google Identity Platform, Auth0 e Amazon Cognito oferecem o 2FA como recurso embutido, que plataformas de concursos podem habilitar sem precisar escrever a lógica de autenticação do zero.

Usos legítimos

O 2FA é um controle de segurança fundamental em praticamente todo contexto digital sensível: internet banking, VPNs corporativas, logins em exchanges de criptomoedas, serviços públicos digitais, portais de saúde e proteção de contas em redes sociais. Sua adoção em plataformas de votação cumpre o duplo papel de garantir a unicidade do eleitor e fornecer rastreabilidade de auditoria para investigações de fraude.

Ângulo de prevenção a fraudes

Do ponto de vista da integridade do concurso, o 2FA é um dos controles estruturais mais eficazes porque desloca o ônus da prevenção a fraudes da detecção de comportamento de bot (que é uma corrida armamentista) para a imposição da escassez de identidade no mundo real. Um número de celular ou caixa de e-mail é um recurso finito e caro de obter. Quando cada voto exige um desses recursos e uma etapa de verificação ao vivo, a economia da manipulação de votos em larga escala muda dramaticamente: o que antes era viável com um data center cheio de endereços IP passa a exigir uma operação paralela envolvendo ativos reais de telecomunicações ou fazendas de trabalho humano — ambas com exposição jurídica e sobrecarga operacional que a maioria dos operadores de fraude não está disposta a sustentar.

Do blog — guias e estudos de caso

Guias práticos, deep-dives técnicos, estudos de caso anônimizados.60+ artigos. Seleção gira.

Victor Williams — founder of Buyvotescontest.com
Victor Williams
Online · responde em 5 min

Olá — manda a URL do concurso, em uma hora te passo o preço. Sem cartão por enquanto.