Mudar o número de telemóvel de um cliente com segurança: confirmar o número novo antes de o gravar

Segurança·· 14 visualizações· 3 min de leitura

A resposta curta: quando um cliente muda o número de telemóvel na sua conta, envie um código para o número novo e só o grave depois de valid: true. E antes disso confirme que é mesmo o dono da conta a pedir a mudança: quem consegue trocar o número de outra pessoa passa a receber os códigos dela, e com eles as entradas e os pagamentos.

Porque este momento é delicado

Se o telemóvel é o segundo passo da entrada, ou o canal dos códigos de pagamento, o número é uma chave. Uma sessão esquecida aberta num computador partilhado, ou uma senha roubada, chegam para alguém tentar pôr lá o próprio número. Por isso a mudança pede duas confirmações: a de quem pede, e a do número novo.

A mudança, passo a passo

1 Confirme quem pede. Peça de novo a senha, ou envie um código para o número antigo com POST /v1/sms/otp. Se o cliente já não tem o número antigo, encaminhe o caso para a sua equipa, com verificação de identidade.
2 Peça o número novo e envie-lhe um código, com um texto que diga para que é: [EMPRESA]: código {code} para confirmar este número na sua conta..
3 Guarde o número novo como «por confirmar», junto com o id do código. O número antigo continua a valer até ao fim.
4 Confira com /verify. Com valid: true, troque o número e grave a hora (verified_at).
5 Avise o número antigo com um SMS normal, pela API de SMS: «O número da sua conta foi alterado. Se não foi você, contacte-nos em [TELEFONE].»
6 Se o cliente desistir a meio, cancele o código pendente com POST /v1/sms/otp/{id}/cancel e apague o número «por confirmar».

O que não fazer

Erro O que acontece
Gravar o número novo logo, antes do código Um engano num algarismo deixa o cliente sem códigos, e um atacante fica com eles.
Mudar o número só com a sessão aberta Quem encontrar a sessão aberta toma a conta.
Não avisar o número antigo O verdadeiro dono só descobre quando já não consegue entrar.
Usar o código do número antigo para confirmar o novo Prova que o cliente tem o telefone antigo, não que o novo é dele.
Um código novo para o mesmo número anula o anterior. Se o seu sistema enviar dois códigos seguidos para o número novo (por exemplo, por um duplo clique), só o último vale. Use o cabeçalho Idempotency-Key no envio para um duplo clique devolver a mesma resposta, sem segundo SMS.
O mesmo cuidado vale para o e-mail da conta e para outros dados que sirvam para recuperar o acesso. A regra é igual: confirmar quem pede, confirmar o dado novo, avisar o antigo. Para a entrada em dois passos, veja a entrada com código por SMS.

Quer confirmar números novos antes de os gravar? Veja o SMS de Verificação.

Ver o SMS de Verificação

VEJA TAMBÉM

Entrada em dois passos com um código por SMS no seu site ou aplicação

Confirmar o número de telemóvel no registo com um código por SMS, passo a passo

Golpes do código partilhado: proteger os seus clientes de quem lhes pede o código do SMS

API de verificação por SMS: geramos, enviamos e conferimos o código, e o seu sistema guarda só o id

Reenviar, cancelar e substituir um código de verificação: o que acontece ao anterior

Enviar códigos de uso único (OTP) por SMS com segurança: validade, tentativas e registos

PRODUTO RECOMENDADO

Hospedagem de sites com cPanel

Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde 396,00 MT/mês (plano de 3 anos, com cupão)

Ver planos
Esta resposta foi útil? A sua resposta ajuda-nos a melhorar este artigo.