Um Gerador de 2FA Baseado em Navegador é Seguro?


A questão da confiança

Quando as pessoas ouvem “gerador de 2FA baseado em navegador”, a primeira reação geralmente é ceticismo. E honestamente, esse é o instinto certo. Se um site está gerando seus códigos de autenticação de dois fatores, suas chaves secretas estão tocando uma página web. Isso parece arriscado.

Mas “baseado em navegador” não significa automaticamente “inseguro”. Depende inteiramente de como a ferramenta é construída. Algumas abordagens são genuinamente perigosas. Outras são tão seguras quanto um aplicativo nativo. A diferença vem para onde o processamento acontece.

Lado do cliente vs lado do servidor

Essa é a distinção fundamental. Uma ferramenta de TOTP baseada na web pode funcionar de duas formas muito diferentes:

Processamento do lado do servidor significa que sua chave secreta é enviada para um servidor remoto, que gera o código e o devolve. Isso é ruim. Seu segredo agora está armazenado ou transmitido para a infraestrutura de outra pessoa. Você está confiando no operador do servidor, nas práticas de segurança deles e em cada software no meio do caminho.

Processamento do lado do cliente significa que tudo acontece no seu navegador. O JavaScript roda localmente, gera o código na sua máquina, e sua chave secreta nunca deixa seu dispositivo. A página web é apenas um mecanismo de entrega para o código que roda no seu computador.

Uma ferramenta de TOTP bem construída para navegador usa exclusivamente processamento do lado do cliente. Seus segredos ficam na memória do navegador, são usados para calcular um código, e é só. Nada é enviado para lugar nenhum.

Como verificar isso você mesmo

Você não precisa acreditar na palavra de ninguém. Abra as ferramentas de desenvolvedor do seu navegador (F12 na maioria dos navegadores), vá para a aba Network e observe o que acontece quando você digita uma chave secreta e gera um código. Se nenhuma requisição sai, a ferramenta é do lado do cliente.

Você também pode testar desconectando da internet inteiramente. Carregue a página, fique offline, depois digite um segredo e gere um código. Se funcionar, nada está sendo enviado para um servidor.

Para ferramentas de código aberto, você pode ler o código fonte diretamente. O algoritmo TOTP é curto e bem documentado (é baseado na RFC 6238), então não é difícil verificar que a implementação corresponde à especificação e não inclui nenhuma exfiltração de dados.

A Web Crypto API

Navegadores modernos incluem a Web Crypto API, um conjunto integrado de funções criptográficas que rodam nativamente no navegador. Isso significa que um gerador de TOTP baseado na web não precisa depender de bibliotecas de criptografia de terceiros. Ele pode usar os mesmos primitivos criptográficos testados em batalha que o próprio navegador usa para conexões HTTPS.

A Web Crypto API fornece HMAC-SHA1 (a função de hash que o TOTP usa), e executa operações de forma projetada para resistir a ataques de tempo. Essa é a mesma qualidade de implementação criptográfica que você encontraria em um aplicativo de desktop nativo.

Compensações de segurança comparadas a aplicativos nativos

Vamos ser diretos sobre o que é diferente entre uma ferramenta de navegador e um aplicativo autenticador dedicado.

O que aplicativos nativos fazem melhor

Armazenamento seguro persistente. Aplicativos autenticadores mobile armazenam seus segredos no enclave seguro do sistema operacional ou chaveiro. Uma aba de navegador não tem acesso a esse nível de proteção respaldada por hardware. Quando você fecha a aba, os dados somem (o que é na verdade um recurso em alguns contextos, mas significa que você precisará digitar os segredos novamente).

Isolamento. Um aplicativo nativo roda em sua própria sandbox. Uma aba de navegador compartilha o processo do navegador com outras abas. Uma extensão maliciosa do navegador, em teoria, poderia acessar o conteúdo da página. Isso é verdade para qualquer aplicação web, não específico a ferramentas de TOTP.

Disponibilidade offline. Você sempre pode abrir um aplicativo mobile. Uma ferramenta web precisa ser carregada primeiro, embora muitas suportem uso offline através de service workers após o carregamento inicial.

O que ferramentas de navegador fazem bem

Nenhuma instalação. Você não precisa baixar um aplicativo. Isso importa quando está em um computador compartilhado, uma máquina de trabalho onde não pode instalar software, ou um dispositivo temporário.

Transparência. Com uma ferramenta web (especialmente as de código aberto), você pode inspecionar exatamente qual código está rodando, direito no navegador. Aplicativos nativos são binários compilados. Você está confiando no desenvolvedor de qualquer forma, mas aplicativos web são mais fáceis de auditar.

Descartabilidade. Feche a aba e os segredos somem da memória. Nada persiste em disco, nenhum banco de dados para ser roubado se seu dispositivo for comprometido depois. Para uso temporário ou único, isso é uma vantagem genuína.

Multiplataforma. Funciona em qualquer dispositivo com um navegador. Sem preocupações de compatibilidade, sem restrições de lojas de aplicativos.

Quando uma ferramenta baseada em navegador faz sentido

Um gerador de TOTP para navegador não está tentando substituir seu aplicativo autenticador diário. Ele preenche lacunas diferentes:

  • Você está em um computador onde não pode instalar aplicativos e precisa gerar um código
  • Você está configurando 2FA e quer verificar que sua chave secreta produz os códigos corretos antes de se comprometer com um aplicativo autenticador específico
  • Você é um desenvolvedor testando integração de TOTP em sua própria aplicação
  • Seu telefone morreu e você precisa acessar uma conta usando uma chave secreta de backup que você guardou com segurança
  • Você quer uma forma rápida e sem compromisso de ver como os códigos TOTP funcionam

Para suas necessidades primárias de 2FA do dia a dia, um aplicativo autenticador dedicado com backup criptografado ainda é a escolha mais prática. Mas uma ferramenta de navegador do lado do cliente é uma opção sólida para as situações acima.

O que procurar em uma ferramenta de TOTP baseada em navegador

Se você está avaliando uma, aqui está o que importa:

Apenas lado do cliente. Nenhuma requisição de rede ao gerar códigos. Verifique isso com ferramentas de desenvolvedor.

Código aberto. Você pode ler o código. Outros podem auditá-lo. Bugs são encontrados e corrigidos publicamente.

Dependências mínimas. Menos bibliotecas significam uma superfície de ataque menor. O algoritmo TOTP é simples o suficiente para implementar com apenas a Web Crypto API.

Sem contas ou registro. Se uma ferramenta de TOTP pede para você criar uma conta, seus segredos provavelmente estão sendo armazenados do lado do servidor.

HTTPS. A página deve ser servida sobre HTTPS para que o código não possa ser adulterado em trânsito.

Experimente você mesmo

2fa.zip é um gerador de TOTP baseado em navegador que roda inteiramente do lado do cliente. Sem contas, sem armazenamento no servidor, código aberto. Digite uma chave secreta, obtenha um código. Você pode verificar a afirmação do lado do cliente usando os métodos descritos acima.

Proteja suas contas com autenticação de dois fatores

Gere códigos TOTP instantaneamente, direto no seu navegador.

Experimente nosso Gerador de Códigos 2FA Gratuito

Postagens Relacionadas