Google Authenticator explicado: como funcionam seus códigos de 2FA
A cada 30 segundos, mais ou menos, um número curto no seu celular muda, e um site para o qual você nunca mostrou esse celular, de alguma forma, sabe qual deve ser o novo número. Parece mágica, mas é um truque simples baseado em um segredo compartilhado.
É assim que o Google Authenticator e aplicativos semelhantes funcionam. Veja como os códigos são gerados, por que funcionam sem conexão com a internet, como o aplicativo se relaciona com a Verificação em duas etapas do Google e o que ele pode ou não proteger.
Como os códigos são gerados
Quando você adiciona uma conta a um aplicativo autenticador, o serviço fornece um segredo, geralmente na forma de um código QR ou de uma chave de configuração, e o aplicativo o armazena. A partir daí, o serviço e seu celular passam a ter o mesmo segredo. Para gerar um código, o aplicativo combina esse segredo com o horário atual, e o serviço faz o mesmo cálculo do seu lado. Se os dois resultados corresponderem, o código será aceito.
Esse método é um padrão publicado chamado TOTP, sigla em inglês para senha de uso único baseada em tempo, definido na RFC 6238 da IETF. Ele se baseia em um método mais antigo, baseado em contador, substituindo o contador por um valor derivado do horário. O padrão determina que o aplicativo e o serviço usem o mesmo intervalo de tempo e recomenda um padrão de 30 segundos, por isso o código costuma ser atualizado cerca de duas vezes por minuto.
Por que funciona sem conexão com a internet
O código é calculado no seu celular usando o segredo armazenado e o relógio do aparelho, então nada precisa ser enviado para o celular. A própria página do aplicativo do Google informa que os códigos podem ser gerados mesmo sem conexão com uma rede ou rede celular. O serviço só precisa fazer o mesmo cálculo quando você envia o código.
Isso significa que o relógio é importante. Se o horário do seu celular estiver muito diferente do horário real, os dois cálculos não vão corresponder e o código será rejeitado, mesmo que o aplicativo esteja funcionando como deveria.
Como se relaciona com a Verificação em duas etapas do Google
É fácil confundir os dois. A Verificação em duas etapas é o recurso de uma Conta do Google que solicita uma segunda etapa quando você faz login. O Google Authenticator é um aplicativo que pode fornecer essa etapa e, segundo o Google, também pode gerar códigos para outros sites e aplicativos compatíveis com a verificação por aplicativo autenticador. Vários outros aplicativos autenticadores seguem o mesmo padrão, então os códigos em si não estão vinculados a uma única empresa.
Você pode usar o aplicativo com ou sem uma Conta do Google. Ao fazer login, você pode sincronizar seus códigos entre dispositivos, e o Google diz que, sem uma conta, ainda é possível transferi-los manualmente para um novo dispositivo. Os códigos sincronizados dependem dessa Conta do Google, por isso é ainda mais importante protegê-la. O Google também sugere configurar outras formas de Verificação em duas etapas para evitar perder o acesso à conta.
O que protege e o que não protege
Segundo a CISA, os códigos de um aplicativo autenticador são melhores do que mensagens de texto, mas ainda são vulneráveis a phishing. Uma página de login falsa e convincente pode capturar um código quando você o digita e usá-lo imediatamente. Somente métodos baseados em FIDO, como chaves de segurança e chaves de acesso, resistem a esse tipo de ataque. Conferir o endereço de um site antes de inserir um código também faz parte da proteção.
O segredo por trás dos seus códigos também é confidencial. Quem tiver o código QR ou a chave de configuração poderá gerar os mesmos códigos, então uma captura de tela desses dados deve ser tratada como uma senha. Além disso, um aplicativo autenticador protege contas cujo acesso é feito por meio de um serviço. Ele não pode proteger a frase-semente ou a chave privada de uma carteira.
Lembrete da WEEX: trate a chave de configuração como uma senha
A WEEX lembra aos usuários que nunca compartilhem um código de uso único, um código QR ou uma chave de configuração com ninguém, inclusive com pessoas que afirmem trabalhar no suporte, pois um serviço legítimo nunca precisa desses dados. Confira o endereço de um site antes de inserir um código e mantenha qualquer chave de backup ou código de recuperação em um local seguro e offline, não em uma captura de tela nem em uma nota na nuvem. Nada aqui é aconselhamento financeiro.
Conclusão
O Google Authenticator gera um código de curta duração a partir de um segredo compartilhado com o serviço e do horário atual. Por isso, funciona offline e o relógio é importante. É um entre vários aplicativos que usam o mesmo padrão, é melhor do que mensagens de texto, mas ainda está sujeito a phishing, e seu segredo de configuração merece os mesmos cuidados que uma senha. Usado junto com senhas fortes e hábitos cuidadosos, ele torna mais difícil que alguém assuma o controle de uma conta.
Perguntas frequentes
1. O que é o Google Authenticator?
É um aplicativo que gera códigos de uso único usados como uma segunda etapa no login, tanto para Contas do Google quanto para outros sites e aplicativos compatíveis com a verificação por aplicativo autenticador.
2. Como o Google Authenticator gera códigos sem internet?
Ele os calcula no seu celular usando um segredo armazenado e o horário atual. O serviço faz o mesmo cálculo para verificar o código, então nada precisa ser enviado para o seu celular.
3. Preciso de uma Conta do Google para usar o Google Authenticator?
Não. O Google diz que você pode usá-lo sem uma conta. Ao fazer login, você pode sincronizar seus códigos entre dispositivos e, sem uma conta, pode transferi-los manualmente para um novo dispositivo.
4. O Google Authenticator é a mesma coisa que a Verificação em duas etapas do Google?
Não. A Verificação em duas etapas é um recurso de uma Conta do Google, e o aplicativo é uma das formas de fornecer a segunda etapa. O aplicativo também funciona com outros sites compatíveis com códigos de aplicativos autenticadores.
5. O Google Authenticator é mais seguro do que códigos por SMS?
Segundo a CISA, os códigos de aplicativos autenticadores são melhores do que mensagens de texto, mas ainda podem ser vítimas de phishing. Chaves de segurança e chaves de acesso oferecem proteção mais forte contra phishing.