gov.br: Segundo fator de autenticação (2FA) é mal implementado
Criada em 2019, a plataforma gov.br unificou sites e serviços do governo federal. Hoje ela é usada para diversos fins, de benefícios sociais à declaração do imposto de renda, ou seja, é um negócio importante.
As contas gov.br oferecem o segundo fator de autenticação (2FA, na sigla em inglês), uma boa prática de segurança no digital. Isso é ótimo, mas a implementação deixa bastante a desejar.
Quando criei a minha conta gov.br, apenas a opção de 2FA por notificação no aplicativo (Android, iOS) era oferecida.
Nessa implementação, ao tentar logar na conta, o aplicativo do gov.br no meu celular recebe uma notificação com a senha temporária de seis dígitos.
Em outubro, em uma conversa no Órbita, o Felipe B chamou a atenção para o suporte a aplicativos do tipo “one-time password” (OTP) no gov.br — coisas como Google Authenticator, Authy e afins.

Só é possível habilitar o 2FA via OTP — que o governo chama de “verificação em duas etapas off-line” — lendo um QR code. Por algum motivo, o sistema não gera um código como alternativa, o que é útil para dispositivos sem câmera (caso de computadores) ou celulares com a câmera danificada ou indisponível.
O maior problema vem agora: ao habilitar o aplicativo de OTP, o site do gov.br não gera códigos de backup.

Todos (ou quase todos) os sistemas compatíveis com 2FA geram códigos de backup para serem usados caso o acesso ao gerador de códigos OTP seja perdido. Veja a documentação a respeito do tema no Google, Instagram, Cloudflare…
Digamos que seu celular seja furtado ou perdido. Como logar novamente na conta gov.br? Se os códigos de backup fossem gerados no momento da configuração do 2FA por OTP, bastaria digitar um deles para entrar na conta e desativar o segundo fator de autenticação.
A ausência dos códigos de backup torna a “verificação off-line” meio inútil. Em geral, usa-se um aplicativo OTP no celular, o mesmo dispositivo em que o aplicativo do gov.br estaria instalado. Na atual implementação, as duas formas de segundo fator de autenticação têm o mesmo ponto de falha, o celular do cidadão.
Os códigos de backup seriam úteis em outras situações, como a narrada pelo Leandro Paganelli naquela conversa do Órbita que me chamou à atenção a compatibilidade com apps de OTP: viabilizar o acesso à conta após formatar o celular.
A solução que o Leandro encontrou foi excluir preenchendo um formulário escondido no site do governo.
Outra alternativa seria desativar o 2FA no celular antes da formatação, mas isso não é viável em caso de perda ou falha do aparelho.
E conseguiram piorar ainda mais.
Há alguns meses foi desabilitada completamente a opção de usar um aplicativo terceiro para gerar o código, agora só tem opção de usar o código gerado pelo próprio app. Se desinstalar o aplicativo ou perder o celular, vai ter que abrir chamado e aguardar desabilitarem o 2FA.
Não está aparecendo para mim a opção de verificação em duas etapas off-line. Minha conta é nível ouro. Alguém mais teve esse problema?
Esse problema da ausência dos códigos de backup pode ser contornado usando o Authy em mais de um dispositivo, não? Já que ele sincroniza os códigos de 2FA entre todos os aparelhos
Exatamente. E ainda tem pra computador deixando tudo sincronizado. Obviamente vc abre o grupo para quantos dispositivos desejar e fecha o grupo quando achar necessário para segurança própria para que nenhum outro dispositivo estranho entre.
Mas só o fato de ter o Authy no computador já me faz ficar de cabeça fria.
Olá pessoal.
Sou desenvolvedor no Serpro, a empresa responsável pelo desenvolvimento e operação do gov.br, embora eu não atue na equipe responsável eu já precisei interagir com ela para integrar sistemas.
Concordo com os pontos colocados pelo Ghedin. Vou tentar encaminhar informalmente para conhecimento da equipe.
Estou ciente que recentemente entrou outro recurso para aumentar a segurança, que é a habilitação de acesso apenas por dispositivos autorizados.
É importante salientar que quem é responsável pelo atendimento ao cidadão e direcionamentos relativos ao roadmap da solução é a SGD – secretaria de Governo Digital, então solicitações formais devem ser encaminhadas para eles.
Por último, caso tenham interesse, recentemente ocorreu um evento sobre a solução, direcionado aos órgãos e com estatísticas, orientações e perspectivas futuras.
Segue o link https://www.youtube.com/live/j3giaCL6HIA?si=u9e2IuRWAZBDai3n
Caaara, obrigado pelo links e pelas informações. Vou dar uma olhada no vídeo, pode ser que tenha algo que precisamos. Estamos implementando aqui na universidade o login pelo Gov.br e espero que as informações contidas no link sejam úteis.
No mais, bom trabalho!
Valeu, Luciano!
Oi Rodrigo, equipe e demais leitores, todo mundo bem?
Nem vou entrar muito no mérito técnico da coisa, mas vou totalmente de encontro a perplexidade que o texto foi inscrito.
Como pode algo dessa magnitude, e um serviço tão importante ao cidadão, está diante de um gargalo desses.
Torço que os administradores da plataforma percebam logo e essa lacuna e resolvam a questão. Afinal a Plataforma tem ocupado cada vez mais usuários e ao poucos começa a ser percebida pela a população, como uma importante carteira de documentos que num futuro a médio prazo irá substituir a grande maioria no formato físico.
Não sabia que havia a opção de usar um aplicativo de OTP. Já ativei aqui.
Para mim isso é muito importante, visto que sou funcionário público e muito da minha vida pessoal e profissional está no gov e no sougov.
Mas Ghedin, nesse caso não seria interessante ter outro programa instalado em outra máquina?
Tenho no meu celular o Aegis e no PC o GNOME Authenticator. Ambos com os mesmos serviços. Exportar de um para o outro é super fácil, e se um aparelho der problema, tenho o outro de reserva.
Hmm, é uma boa ideia, Diego, ainda que aumente a complexidade no gerenciamento dos códigos OTP.
No meu caso, é quase isso: os códigos ficam salvos em uma Yubikey, que acesso via Yubico Authenticator. Suspeito, porém, que sejamos exceções e a maioria use só um app do tipo instalado no celular mesmo.
Ah, sim. Te entendo.
E eu pessoalmente não acho complexo. Não é uma coisa que vamos ficar toda hora colocando e tirando serviços dali.
E gosto de ter nos dois, pois, posso um dia estar apenas com o notebook e precisar do código. Ou estar sentado na sala com o notebook no colo e ter deixado o celular no quarto, na cozinha, na casa do meu irmão. Ou ter acabado a carga da bateria do celular. Sei lá, não somente roubo…
Está melhorando bastante e eu to curtindo muito! Uso pra assinar documentos digitalmente. Quanto mais pesquiso serviços públicos disponíveis mais me surpreendo. Inclusive, acabei de abrir um processo trabalhista sem advogado e sem precisar comparecer em lugar nenhum.
Seria interessante tentar ouvir os desenvolvedores ou responsáveis pelo GOV.BR sobre o tema. Já assisti uns cursos na plataforma ENAP onde algumas vezes uns dos responsáveis pela área de Governança de Dados falava de todo o processo dessa área até chegar no que é o GOV.BR hoje em dia.
Parece bobagem, mas considerando o tamanho do país e a necessidade de acesso aos serviços públicos, essa plataforma tem uma importância muito grande. Assinatura GOV, por exemplo, facilitou muito o trabalho em vários locais, acabando com a necessidade das pessoas comparecerem presencialmente para entregar ou receber documentos. Já consegui emitir documentos em 24h que antes eu precisava ir até o órgão, agendar, pra voltar, ser atendido, e depois voltar para pegar a documentação.
A plataforma ainda tem muito a avançar (e melhorar). Mas vamos lá, tem plataformas (de diversos outros tipos de serviços) que se dizem “maduras” e recebem um aporte enorme de recursos financeiros, e que volta e meia dá muito problema (olá, aplicativos de empresas de telefonia? olá nubank? olá spotify?)
Não sei se seria o foco do Manual, mas acho que um artigo mais aprofundado sobre o tema ou algo no Tecnocracia (como aquele do boom de banda larga) poderia ser bem interessante
O 2FA da plataforma não é das melhores, mas pelo menos tem, diferente do Spotify. Uma empresa do tipo ainda não ter esse nível de segurança, chega a ser no mínimo tosco.
A crítica é válida, mas você trouxe um ponto que quem nunca atuou “do outro lado do balcão” não tem idéia do complexo que é lidar com uma demanda de um produto digital no nível do GOV.BR, Globo.com, dentre outras.
Por curiosidade, qual seria o prejuízo se alguém invadisse sua conta no Spotify, Gilson? Taí um tipo de serviço em que nunca usei (nem sei se tem) 2FA.
Prejuízo de quase perder a conta 3 vezes, mesmo gerando senhas fortes com grandes quantidades de caracteres (com gerenciador de senha inclusive). Não tenho idéia de como conseguiram isso, mas com o 2FA evitaria muita dor de cabeça, como já me salvou com vários outros serviços com o suporte para tal.
Posso ter lido de forma equivocada, mas senti um tom de desdém na resposta. Entenda: mesmo sendo uma conta de um serviço de entretenimento, não é legal perder acesso a uma conta, independente de qual serviço seja.
Esse mecanismo de segurança, junto com uma notificação rápida ao proprietário da conta, oferece mais tempo para que o usuário atue rapidamente para utilizar meios de impedir uma invasão completa: alterar a senha, invalidar sessões ativas, etc. Quando não se tem uma segunda barreira, o estrago já foi feito.
Sobre o 2FA é aquilo: “para quem tem nada, metade é o dobro”. Melhor ter uma camada de segurança com aspectos a melhorar, do que não ter.
Desculpe, Gilson, não era minha intenção soar desdenhoso. Sou da opinião de que 2FA nunca é demais, porém só me incomodo com a ausência do recurso em contas que possam gerar transtornos graves caso sejam invadidas — a do gov.br é um bom exemplo.
(E leve em conta que não sou muito parâmetro para streaming porque não ligo para histórico, listas, playlists etc. Se minha conta no streaming de música fosse invadida, só cancelaria o cartão atrelado a ela e criaria uma nova. Isso foi até assunto de um podcast na época da Jacque Lafloufa, e ela reagiu como se eu tivesse dito algum absurdo ou fosse um alienígena quando revelei esse meu jeitinho 😬)
Respondendo o comentário abaixo:
https://manualdousuario.net/gov-br-2fa-segundo-fator-autenticacao/comment-page-1/#comment-234137
Sem problemas Ghedin. Obrigado pela compreensão e entendi o contexto do seu relato. Está tranquilo 😅
Sobre a ausência de recursos, tem toda razão. Dado ao propósito e impacto da plataforma, isso deveria ser considerado como prioridade no backlog deles.
PS.: Dado a experiência que tive como desenvolvedor em projetos governamentais como terceirizado, isso tem “cheiro” de corte de escopo para entregar no prazo, mesmo que não esteja bem redondo, ou com uma qualidade minimamente boa.
É assim mesmo, tudo que é do governo é mal-feito e mal-planejado, por isso é importante privatizar.
O importante neste caso é fazer da maneira certa, privatizar esta area não seria interessante nem inteligente, são dados muitos sensiveis e estratégicos.
Sim… né. A privatização dos trens do Rio melhorou muito sua qualidade né? Pelo amor de deus cara. Qualé??? Se liga. Privatização é bom pra quem? Precarização e quem vai ter acesso a serviços de qualidade? Pessoas com grana. Nós somos essas pessoas?
privatizar o… governo?
queria aproveitar o ensejo para reclamar de bancos e sites OBRIGAREM os clientes a tirarem fotos de si mesmos para usarem os aplicativos.
o BB por exemplo, se você formatar o celular e tentar autorizar o app não vai conseguir fazer sem foto. Nenhum método alternativo é oferecido. No meu caso, como sou empregado, fui a um colega gerente e ele fez manualmente para mim. Mas o cliente comum sequer é informado dessa possibilidade.
O mercado livre então é um inferno. eu tenho segundo fator com otp cadastrado. mas simplesmente não é oferecido. pelo site, no pc, eles querem que eu logue usando o celular para ler um qrcode. mas, adivinhe: pra logar no celular tenho que fazer selfie e ficar rodando a minha cara.
vou fazer um consumidor. gov pra reclamar a falta de opções, embora já sabendo o resultado.
enfim, queria saber se sou só eu que fico puto com esses abusos.
Tinha visto um comentário sobre isso há algum tempo, mas não tive a oportunidade de compartilhar minha opinião sobre isso.
Sou de uma época (nem faz tanto tempo assim!) que, pra poder habilitar o primeiro acesso ao aplicativo ou no internet banking no computador, era necessário solicitar o acesso no dispositivo e ir fisicamente a um Caixa Eletrônico (do banco mesmo, não um 24 Horas) para desbloquear, usando o cartão físico do banco.
Era um inferno, mas ei, pelo menos só precisava ser feito uma vez, quando formatasse o celular ou fosse colocar em um celular novo. Vejo isso como uma medida de segurança, pois se um bandido roubasse minha carteira, teria o meu cartão, os dados da minha conta (agência e banco), e de repente se ele tem minha senha, teria acesso completo à minha conta. O que “salvaria”, nesse caso, é justamente se o bandido for a um caixa eletrônico, desbloquear um aparelho ou sacar dinheiro, pois normalmente os esses caixas tem câmeras.
Então não vejo exatamente um problema em precisar tirar foto apenas uma vez pra poder autorizar um aplicativo. Tenho meu celular atual há mais de dois anos, e só precisei fazer isso uma vez. Hoje em dia, é muito mais fácil ter seus dados roubados de alguma forma pela internet ou engenharia social, e em se tratando de um público leigo, que muitas vezes até reluta em acessar o banco pelo celular, ter esse registro da foto, ao menos só na primeira configuração do aplicativo, é uma medida de segurança válida, na minha opinião.
Não sei se há uma resolução ou autorização do BACEN pra esse tipo de coisa, mas considerando o surgimento de contas e carteiras digitais (elas exigem que a pessoa tire uma foto para fazer o cadastro), eu apostaria que isso não é ilegal.
Não tem nada de errado nessa função. Ainda prefiro isso do que ir ao caixa eletrônico. Não reclame do que funciona e ajuda…
Tive dificuldades também com essas duas empresas no mesmo quesito.
A solução que descobri na prática para funcionar as selfies foi de jogar mais luz frontal no momento da captura da selfie ou é uma deficiência da câmera do app ou do algoritmo da validação.
So na luz pra cegar que foi, mas mesmo assim o BB precisei ir ao banco ficar uma hora pra falar com o gerente.
ML finalmente liberou o login em um PC novo com a webcam.
Opa, descobriram novamente que .gov falha mediocremente online! Levou 2 ou 3 meses sem ninguém notar dessa vez!
Hora de pegar minha pipoca e ficar acompanhando o desfecho…..
eu nem sabia que tinha OTP sem ser pelo aplicativo gov.br
e se não me falha a memória, vc só consegue usar se tiver CNH
Não precisa, dá pra pegar nível prata autenticando com algum banco seu. Usei picpay.
mas não é pra virar prata, é pra autenticar um segundo fator