OTP por e-mail e SMS, o que essa verificação prova de verdade

UNIFOKAL6 min de leituraProduto e integração

Código de uso único confirma posse de um canal, não identidade. O que o NIST SP 800-63B diz sobre OTP por SMS, onde o SIM swap entra, e como usar OTP no lugar certo do fluxo.

O código de uso único, o OTP, é onipresente: seis dígitos por SMS ou e-mail, uma caixinha para digitar, e o cadastro segue. Justamente por ser tão comum, vale colocar em palavras exatas o que essa etapa prova e o que ela não prova, porque boa parte dos desenhos de onboarding erra ao atribuir ao OTP um papel que ele não tem como cumprir.

A afirmação precisa é esta: um OTP entregue e digitado corretamente prova que quem está na sessão tem acesso, naquele momento, àquele canal, o número de telefone ou a caixa de e-mail. Só isso. Não prova que o canal pertence à pessoa que o cadastro alega ser, não prova que a pessoa é real, e não prova que o acesso ao canal é legítimo.

O que dizem as referências técnicas

A referência internacional mais citada sobre autenticação digital é a publicação especial NIST SP 800-63B, Digital Identity Guidelines, do instituto de padrões dos Estados Unidos. Ela trata canais como SMS e voz, a rede telefônica pública, como autenticadores fora de banda restritos, categoria criada porque o canal telefônico está sujeito a riscos que o assinante não controla: a troca fraudulenta de chip, o SIM swap, o desvio de mensagens na rede e a portabilidade obtida por engenharia social junto à operadora. Restrito, no vocabulário da norma, não significa proibido: significa que o provedor deve avaliar o risco, oferecer alternativas mais fortes e acompanhar a evolução das ameaças ao canal.

No SIM swap, o fraudador convence a operadora, com dados vazados da vítima, a ativar o número dela num chip novo. A partir daí, todo SMS da vítima chega ao fraudador, incluindo códigos de banco e de recuperação de conta. O ataque é conhecido publicamente há anos e figura em alertas de autoridades policiais de vários países, como os comunicados públicos do FBI sobre o tema.

O e-mail tem fragilidades análogas: uma caixa comprometida por senha vazada entrega todos os OTPs e links de recuperação. Do lado de quem envia, a entregabilidade e a autenticidade da mensagem dependem da tríade de padrões abertos SPF, DKIM e DMARC, definidos respectivamente nas RFCs 7208, 6376 e 7489 do IETF, que permitem ao provedor receptor verificar que a mensagem veio mesmo do domínio declarado.

O papel certo do OTP num fluxo de verificação

Nada disso torna o OTP inútil. Torna-o uma peça com função específica: amarrar um canal de contato verificado à identidade que o restante do fluxo estabeleceu. O desenho saudável de um onboarding com verificação de identidade fica assim:

  1. A identidade é estabelecida pelas camadas fortes: documento validado, comparação facial, prova de vida, validação cadastral de CPF na fonte.
  2. O OTP confirma que o telefone e o e-mail informados existem e estão sob controle de quem se cadastra, garantindo canal de comunicação real com o cliente, o que inclusive interessa ao cadastro exigido pela regulação de conheça seu cliente, como a qualificação da Circular BCB 3.978/2020.
  3. Nas ações sensíveis posteriores, troca de dispositivo, alteração de dados, transações atípicas, o OTP funciona como fator adicional de posse, preferencialmente com alternativas mais fortes disponíveis, como aplicativo autenticador ou chave de acesso, na linha do que o NIST SP 800-63B recomenda.

O antipadrão é o inverso: tratar o OTP como a verificação de identidade. Um fluxo em que qualquer pessoa com um chip pré-pago comprado ontem e um e-mail criado hoje passa por verificado não estabeleceu identidade nenhuma; estabeleceu que o fraudador tem um telefone.

Detalhes de implementação que mudam o risco

Para a parte que o OTP cobre bem, a qualidade da implementação define a diferença entre um controle e um enfeite:

  • Validade curta e uso único: o código expira em poucos minutos e morre no primeiro uso, correto ou não. Reuso de código válido é vulnerabilidade clássica.
  • Limite de tentativas e de reenvios: sem isso, seis dígitos são atacáveis por força bruta, e o reenvio infinito vira ferramenta de spam e de custo.
  • Mensagem que não vaza contexto: o SMS não deve conter nada além do necessário; código junto de frase que permita a um fraudador usar a própria mensagem em engenharia social é presente para o atacante.
  • Vinculação à sessão: o código vale para a sessão que o pediu, não para qualquer sessão daquele usuário, fechando o replay entre contextos.
  • Sinais do canal: número recém-portado ou chip recém-ativado no momento do cadastro são sinais de risco conhecidos justamente por causa do SIM swap, e podem pedir fricção adicional em vez de confiança cega no canal.
  • Custo sob controle: SMS é pago por mensagem; sem limites por sessão e por destino, o endpoint de reenvio vira um ralo financeiro explorável, o chamado SMS pumping, e a conta chega no fim do mês.

Um exemplo de composição

Para ilustrar com um desenho real: na UNIFOKAL, OTP de e-mail e de SMS são módulos que a empresa adiciona ao fluxo de verificação conforme a necessidade, ao lado dos módulos de documento e biometria, e o resultado de cada canal entra na decisão consolidada da verificação. A lógica dessa composição é a deste artigo inteiro: cada módulo prova uma coisa específica, o OTP prova posse de canal, a biometria prova presença e correspondência, a consulta cadastral prova existência do registro, e é a combinação que estabelece identidade com grau de confiança mensurável.

Quem desenha onboarding faz bem em escrever, para cada etapa do seu fluxo, uma frase no formato: esta etapa prova exatamente isto. Onde a frase do OTP aparecer como prova de identidade, o desenho tem um buraco que o primeiro golpista com chip novo vai encontrar.

Fontes citadas

  • NIST SP 800-63B, Digital Identity Guidelines: Authentication and Lifecycle Management, do National Institute of Standards and Technology, sobre autenticadores fora de banda e a classificação do canal telefônico como restrito: pages.nist.gov
  • FBI, comunicados públicos de alerta sobre o golpe de SIM swap
  • RFC 7208 (SPF), RFC 6376 (DKIM) e RFC 7489 (DMARC), padrões do IETF para autenticação de e-mail: rfc-editor.org
  • Circular BCB 3.978/2020, do Banco Central do Brasil, sobre qualificação e cadastro de clientes