Voltar para o blog

Código por SMS não é a mesma coisa que 2FA

Equipe AltiviaCloud · 2 de setembro de 2026 · 3 min de leitura

SMS é excelente para verificar um contato e é o mais fraco dos segundos fatores. A diferença muda como você protege a conta dos seus clientes.

Muita gente usa "2FA" e "código por SMS" como sinônimos. Não são, e a diferença importa quando você está decidindo como proteger a conta dos seus clientes.

O que cada coisa é

Verificação prova que um contato é alcançável. Você manda um código para um número e pede que a pessoa devolva. Isso confirma que alguém com acesso àquele número recebeu a mensagem.

Autenticação em duas etapas exige dois fatores de naturezas diferentes: algo que você sabe (senha), algo que você tem (aparelho, chave física), algo que você é (biometria).

Código por SMS é usado nos dois papéis, e é forte no primeiro e fraco no segundo.

Por que SMS é fraco como segundo fator

O código chega pela rede da operadora, e essa rede tem caminhos que não dependem de você.

Troca de chip. Alguém convence a operadora de que perdeu o chip e pede a portabilidade do número. A partir daí, os códigos chegam para essa pessoa. É o ataque mais comum contra 2FA por SMS, e ele não precisa tocar no seu sistema.

Interceptação na rede. A sinalização entre operadoras tem fragilidades conhecidas e exploradas.

A tela bloqueada. Muitos aparelhos mostram a prévia do SMS sem desbloquear. Quem está com o aparelho na mão lê o código sem saber a senha.

Engenharia social. "Estou ligando do banco, vou mandar um código para confirmar sua identidade, me diga o número." Funciona muito mais do que deveria.

Então SMS não presta?

Presta, e muito, para o que ele é bom.

Como verificação de cadastro, é excelente: barato, universal, não exige que a pessoa instale nada, e eleva bastante o custo de criar contas em massa.

Como segundo fator, é o mais fraco dos disponíveis — e ainda assim é melhor que não ter nenhum. Uma conta com SMS está mais protegida que uma conta só com senha. O erro não é usar SMS; é usar SMS achando que resolveu.

A hierarquia, do mais forte para o mais fraco:

  1. Chave física
  2. Aplicativo autenticador
  3. Notificação no aplicativo
  4. SMS
  5. Nada

Decidindo pelo que está em jogo

A pergunta certa não é "qual é o mais seguro", é "o que acontece se essa conta cair".

Dinheiro, dado de saúde, acesso administrativo: ofereça aplicativo autenticador ou chave física, e não deixe SMS como único caminho de recuperação — de nada adianta o autenticador se o atacante consegue redefinir tudo com um SMS.

Conta comum de serviço: SMS resolve, e a facilidade de uso costuma valer mais do que a diferença de segurança, porque método difícil demais faz a pessoa não ativar nenhum.

Só confirmar que o contato existe: SMS é a ferramenta certa, e a conversa sobre 2FA nem se aplica.

Cuidados de quem implementa

Alguns detalhes fazem diferença grande e são frequentemente esquecidos:

  • Código curto e com validade curta. Seis dígitos, poucos minutos. Código que vale uma hora é código que dá tempo de ser usado por outra pessoa.
  • Limite de tentativas. Sem limite, seis dígitos são adivinháveis por força bruta.
  • Um código por vez. Reenviar deve invalidar o anterior.
  • Não diga demais na mensagem. "Seu código é 123456" basta. Nome do serviço e valor da transação na prévia ajudam quem está lendo a tela bloqueada.
  • Cuide da recuperação de conta. É por ali que a maioria dos ataques bem-sucedidos entra, não pelo login.

O que isso tem a ver com número virtual

Se você testa um fluxo de verificação, precisa receber esses códigos de forma automatizada — é para isso que serve um número virtual, sem chip físico numa gaveta e sem alguém digitando código na mão a cada rodada.

Se você implementa o fluxo, vale saber que o cliente do outro lado pode estar usando exatamente isso. Número descartável é ótimo para reduzir cadastro em massa, mas não prova que a pessoa é dona daquele contato para sempre — e é por isso que ele não deve ser o seu único elo de recuperação de conta.