Pode partilhar-se um código QR do Google Authenticator?

Sim, e funciona: o código QR é o segredo. O que a imagem contém, o que o segundo telemóvel consegue fazer e o que o fornecedor regista.

Sim, e funciona exatamente como se espera: quem ler esse código QR obtém uma entrada de autenticação que produz os mesmos códigos que os seus, no mesmo instante, indefinidamente. Nada disto é de uso único, e nada do lado do fornecedor dá por isso. Se é boa ideia é outra questão, que merece tratamento próprio; este artigo fala do que acontece na realidade.

Funciona porque o código QR não é uma ligação para a sua conta nem um convite de uso único. É uma fotografia da própria credencial, e é por isso que a partilha não se desfaz depois de a imagem ser vista. O que uma equipa deve fazer de uma conta Google Authenticator partilhada está em partilhar os códigos do Google Authenticator em equipa.

O que há mesmo na imagem

Um código QR de configuração codifica um texto curto: um URI otpauth://. O leitor lê os carateres, a aplicação analisa-os, e a inscrição está concluída. Ele transporta:

  • O segredo, sob a forma de cadeia base32, em claro. Nem cifrado nem assinado, e é a única entrada que conta.
  • O rótulo e o emissor: o nome de conta e o nome de serviço que vê na lista da aplicação. Cosmético, e mudá-los não muda nada nos códigos.
  • O período, em geral trinta segundos, o tempo de vida de cada código.
  • O número de dígitos, em geral seis.
  • O algoritmo, em geral SHA-1 para o TOTP.

Os três últimos variam nos fornecedores que querem oito dígitos ou uma janela de sessenta segundos, e o código QR transporta-os para que a aplicação não tenha de adivinhar. Tudo aquilo de que uma aplicação de autenticação precisa está nessa cadeia, o que equivale a dizer que uma captura do código QR é a credencial. Como o segredo se torna seis dígitos é tratado no guia completo do TOTP em equipa.

Dois telemóveis, os mesmos seis dígitos

Duas pessoas que leiam o mesmo código QR verão o mesmo código, a mudar no mesmo momento, e ele continuará idêntico enquanto a inscrição sobreviver.

Não é uma funcionalidade de sincronização. Um código TOTP é calculado a partir do segredo e da hora atual arredondada ao período, sem o mínimo pedido de rede: a aplicação nunca pergunta ao fornecedor qual é o código. Dê a dois aparelhos o mesmo segredo e relógios mais ou menos certos, e eles não conseguem produzir respostas diferentes.

Esses códigos idênticos fazem o duplicado parecer uma conta partilhada com dois aparelhos autorizados, quando existem duas cópias independentes da mesma credencial, sem qualquer ligação entre si. Um relógio muito desfasado é a única forma de um dos aparelhos sair do ritmo.

O que a conta regista: nada

É a parte em que as pessoas têm mais dificuldade em acreditar. Quando uma segunda pessoa lê o código QR:

  • nenhum pedido chega ao fornecedor;
  • nenhum aparelho aparece nas definições de segurança da conta;
  • nenhum email é enviado;
  • nada distingue a segunda aplicação da primeira, num sentido ou no outro.

A inscrição regista um segredo na conta: não um aparelho, não uma lista de aparelhos, não uma contagem. O fornecedor não tem forma de saber quantas aplicações detêm o segredo, portanto não há qualquer revogação por aparelho a invocar mais tarde. A única coisa que invalida uma cópia é invalidar o próprio segredo, desativando a 2FA na conta e voltando a configurá-la, o que corta todos os detentores de uma vez, incluindo o seu. Essa reposição está descrita passo a passo em como funcionam os segredos TOTP e porque não se devem partilhar.

Isso explica também porque auditar a conta não lhe ensina nada. A página de segurança de um serviço em que quatro pessoas leram o ecrã de configuração é exatamente igual à de um serviço em que só uma o fez.

Porque o código QR só costuma ser mostrado uma vez

A maioria dos fornecedores mostra o código QR de inscrição durante a configuração e nunca mais. Uma vez confirmado um código, a página desapareceu, e pedir ao apoio para a mostrar de novo não resulta. É deliberado: o segredo é escrito na conta no momento da inscrição, e o serviço não tem razão para o mostrar duas vezes.

Alguns fornecedores vão mais longe. O segredo no ecrã é um candidato que só se torna o verdadeiro segredo da conta depois de ser introduzido um código válido gerado a partir dele: se abandonar ou recarregar a página, obtém outro, e o código QR fotografado um minuto antes produz agora códigos que a conta rejeita. Se uma imagem guardada de um código QR der códigos recusados, é em geral esta a explicação.

Quando já não o tem

Não organize nada em torno de recuperar a imagem original. Volte antes a inscrever-se:

  1. Tenha à mão os códigos de recuperação da conta, gerando uma nova série se o fornecedor se recusar a mostrar os existentes.
  2. Desative a 2FA nas definições de segurança do fornecedor.
  3. Volte a ativá-la, e aponte a nova inscrição para o sítio onde o segredo deve viver a partir de agora.
  4. Verifique que um código funciona antes de fechar o separador, e depois guarde os novos códigos de recuperação num sítio que não seja a conta que eles recuperam.

Leva alguns minutos, e reforma todas as cópias do antigo segredo que andem por aí, o que é muitas vezes a verdadeira razão para o fazer.

Ler um código QR que outra pessoa já leu

Não acontece nada de especial. A imagem não se consome, a primeira inscrição não é perturbada, e ninguém é avisado. Obtém uma entrada funcional, a pessoa seguinte também, sem limite superior. Lê-lo duas vezes no mesmo telemóvel dá duas entradas com o mesmo nome, que produzem os mesmos dígitos.

Não há qualquer conflito a resolver porque não há qualquer estado partilhado. Uma ligação de reposição de palavra-passe existe uma vez e gasta-se; um código QR é a fotografia de uma cadeia de carateres.

O que o Google Authenticator faz, e não faz, aqui

O Google Authenticator não tem qualquer função de partilha, e as duas funções que as pessoas tomam por isso fazem outra coisa:

  • A sincronização copia as suas contas para os seus próprios aparelhos através da sua conta Google. Diz respeito ao seu telemóvel e ao seu tablet, não aos seus colegas. Usá-la para uma equipa equivale a fazer várias pessoas entrarem numa mesma conta Google.
  • A transferência existe para mudar as suas entradas quando troca de telemóvel. Apontada ao aparelho de outra pessoa, copia os segredos, com o mesmo resultado que dar o código QR.

A aplicação também não lhe consegue dizer o que detém. Uma entrada que outra pessoa configurou no seu telemóvel é idêntica a uma que criou, porque ambas são um segredo com um rótulo: sem proprietário, sem validade, sem aviso. A aplicação da Microsoft comporta-se de forma diferente num ponto, porque as aprovações por notificação não se duplicam assim, o que é tratado em partilhar os códigos do Microsoft Authenticator em equipa.

Apagar a imagem depois não muda nada

Uma vez lido um código QR, a cópia está feita. Apagar a captura de ecrã, retirar a mensagem ou pedir a um colega que tire a fotografia da galeria não alcança uma aplicação que já detém o segredo.

A imagem também sobrevive ao momento para que era precisa: um álbum de fotos sincronizado com uma cópia na nuvem, um anexo num histórico de conversa que os recém-chegados podem subir, uma cópia no pedido em que alguém solicitava um acesso. Considere qualquer código QR que tenha sido enviado para algum lado como definitivamente saído, e se isso conta para a conta em causa, o remédio é a nova inscrição acima.

O que fazer quando várias pessoas precisam de códigos

Primeiro, verifique se a plataforma pode dar a cada pessoa a sua própria credencial. Quando pode, não há qualquer código QR a partilhar, uma vez que cada pessoa inscreve o seu próprio segundo fator. Que contas têm mesmo uma só credencial é o assunto de a 2FA de uma conta partilhada: como deve uma equipa lidar com ela?.

Para as contas que só têm mesmo uma, deixe de distribuir o segredo e distribua os códigos: um único sítio detém o segredo, e o acesso aos códigos que ele produz é uma lista que se altera em vez de uma cópia que não se pode chamar de volta. A mecânica está em partilhar códigos TOTP sem partilhar o segredo, e a comparação das abordagens, telemóvel dedicado e entrada partilhada de gestor de palavras-passe incluídos, está nas melhores formas de gerir a 2FA de uma conta partilhada.

Onde se coloca a Share Auth

A Share Auth é o sítio único que detém o segredo. O segredo de cada conta é introduzido uma vez e cifrado em repouso, e os membros convidados veem o código atual com a sua contagem decrescente em vez da cadeia por trás: não há, portanto, nada que possam ler para uma aplicação sua. As permissões regulam-se por membro e por conta, cada consulta de código é escrita num registo de acessos, e retirar um membro retira-lhe o acesso em todo o lado de uma vez. Os scripts que precisam de iniciar sessão podem pedir os códigos pela API, em vez de uma pessoa os ler em voz alta.

O plano gratuito cobre três segredos e três membros sem cartão bancário, o suficiente para tirar uma conta partilhada do código QR e ver se este funcionamento serve à sua equipa.

Perguntas frequentes

Sim. O código QR não é um convite de uso único, é uma imagem que contém o segredo. Todos os que o leem inscrevem na sua própria aplicação uma cópia perfeitamente funcional do segundo fator da conta.

Leia também · Aplicações de autenticação

9 min de leitura

É seguro partilhar um código QR 2FA?

Não, e o mais útil é saber porquê: quem vê um código QR partilhado, o que pode fazer com ele, e se uma fuga merece uma reposição.