BroadNet
Verificação Intermediário

OTP e Verificação de Número

Como funcionam as palavras-passe de uso único e a verificação de número — TOTP/HOTP, canais de entrega e recurso alternativo, convenções de preenchimento automático, e defesa contra AIT.

5 lições5 min de leituraBaseado em padrões · ritmo próprio
DiagramaA jornada OTP, com fallback de canal
  1. Utilizador solicita um códigoLogin, pagamento ou registo
  2. A sua aplicação chama a API de verificaçãoUma solicitação por código
  3. A BroadNet entrega o códigoPelo melhor canal disponívelFallback em caso de não entregaSMSWhatsAppVoz
  4. O utilizador insere o códigoValidado contra o código emitido
  5. VerificadoAcesso concedido
Lição 01

O que é um OTP

Uma palavra-passe de uso único (OTP) é um código válido para um único início de sessão ou transação. É o segundo fator na autenticação de dois fatores: algo que o utilizador recebe, provando o controlo de um número de telefone ou de um autenticador, para além de uma palavra-passe que conhece.

Os OTP são as mensagens de maior risco que a maioria das empresas envia. Um código atrasado ou em falta é um início de sessão falhado, um registo abandonado, ou uma venda perdida, pelo que o tráfego de OTP é tratado como uma classe distinta, com orçamentos de latência rigorosos e janelas de validade curtas.

A verificação de número é a tarefa relacionada de provar que um utilizador realmente controla um determinado número de telefone — a base da segurança da conta, da redução da fraude e de dados de contacto limpos.

Lição 02

Como os códigos são gerados: HOTP e TOTP

O HOTP (RFC 4226) gera um código a partir de um segredo partilhado e de um contador usando HMAC. Cada utilização incrementa o contador, pelo que os códigos não se repetem. É a base dos tokens baseados em eventos.

O TOTP (RFC 6238) substitui o contador pela hora atual dividida em passos fixos (normalmente 30 segundos), pelo que ambos os lados derivam o mesmo código a partir do mesmo segredo e relógio. É isto que as aplicações autenticadoras usam, e funciona offline porque não é necessário entregar nenhuma mensagem.

Para os OTP entregues por SMS, o código costuma ser um valor numérico curto e aleatório gerado no servidor, associado à sessão ou ao dispositivo, e expirado após a primeira utilização ou um limite de tempo. Seis dígitos é o padrão comum, equilibrando a usabilidade com a resistência a tentativas de adivinhação.

Lição 03

Canais de entrega e recurso alternativo

O SMS é o canal de OTP predefinido devido ao seu alcance universal, mas não é o único. O OTP por voz lê o código em voz alta e ajuda em mercados com fraca capacidade de entrega de SMS ou para acessibilidade. O WhatsApp e o RCS podem entregar códigos de forma rica onde o utilizador é acessível por essa via.

A verificação por flash call é uma alternativa económica: a plataforma efetua uma chamada que a aplicação deteta e descarta automaticamente, verificando o número a partir dos últimos dígitos do número de chamada, sem que o utilizador atenda. Elimina completamente o custo do SMS e a introdução manual do código.

Uma cascata de canais combina estes elementos: tentar o canal um e, se a entrega não for confirmada em poucos segundos, subir para o seguinte. A cascata tem de ser limitada no tempo e deve evitar enviar o mesmo código por dois canais em simultâneo, o que duplica o custo e a exposição à fraude.

Lição 04

Preenchimento automático, design de mensagens e latência

As mensagens de OTP bem concebidas convertem melhor. Mantenha o corpo mínimo, com marca e consistente para que passe os filtros de conteúdo, e suporte as convenções de preenchimento automático da plataforma — como o formato de código de uso único associado à origem na última linha — para que o código seja introduzido automaticamente.

Nunca coloque o código dentro de uma ligação clicável que possa ser alvo de phishing; mantenha-o apenas para copiar ou escrever. Localize o texto envolvente mantendo o código e o token de marca estáveis, para que o preenchimento automático e o reconhecimento pelo utilizador continuem a funcionar.

Meça a latência de ponta a ponta até ao telemóvel (da submissão ao DLR), não apenas o tempo de aceitação da submissão, e defina um período de validade curto para que um código atrasado expire em vez de chegar obsoleto. Acione o recurso alternativo perante a ausência de um DLR dentro do seu orçamento de latência, não apenas perante uma falha explícita.

Lição 05

Defender-se contra AIT / SMS pumping

O tráfego artificialmente inflacionado (AIT), também chamado SMS pumping, é uma fraude em que os atacantes desencadeiam envios de OTP com aparência genuína para números que controlam, inflacionando a sua fatura sem qualquer utilizador real por trás. É a área de maior retorno para a maioria dos remetentes se defender.

Os controlos centrais são os limites de taxa — por número de telefone, por IP, por impressão digital do dispositivo, por conta — mais um limite de reenvios por sessão e fricção acrescentada (um desafio ou CAPTCHA) quando a velocidade dispara a partir de uma única origem.

Observe a conversão por destino: o tráfego inflacionado mostra uma inundação de pedidos com introdução de código praticamente nula, e um súbito aumento para um intervalo de país invulgar é a assinatura clássica. Validar números com uma consulta HLR / de inteligência de números antes de enviar rejeita à partida números inválidos e de alto risco.

Principais conclusões
  • Os OTP são uma classe de tráfego distinta e sensível à latência; o HOTP baseia-se num contador e o TOTP (RFC 6238) baseia-se no tempo.
  • Os canais incluem SMS, voz, WhatsApp/RCS e flash call; combine-os numa cascata de recurso alternativo limitada no tempo.
  • Suporte o preenchimento automático, mantenha os códigos fora de ligações, use validade curta, e meça a latência de entrega de ponta a ponta.
  • O AIT / SMS pumping defende-se com limites de taxa, limites de reenvio, monitorização da conversão e verificações de número antes do envio.
Coloque em prática

Construa com base no que você acabou de aprender.

Fale com um engenheiro de verdade sobre o seu caso de uso ou abra a documentação para desenvolvedores e envie uma mensagem pelos canais descritos neste curso.

Porque aprender com BroadNet
  • Desde2003
  • Países200+
  • Links do operador1,000+