Éviter les pièges classiques
Un OTP mal implémenté donne une fausse impression de sécurité. Les points ci-dessous sont ceux qui font réellement la différence.
Côté code
- Usage unique réel : invalidez le code dès qu'il a servi, même si sa durée de validité court encore.
- Limitez les tentatives : 3 à 5 essais, puis nouveau code obligatoire. Sans cela, un code à 4 chiffres se devine.
- Générez aléatoirement : jamais de suite prévisible ni de dérivé de l'heure.
- Un code par session : une nouvelle demande doit invalider la précédente.
Contre les abus
- Limitez la fréquence d'envoi par numéro et par adresse IP. Sans plafond, un robot peut déclencher des milliers de SMS à vos frais — c'est la fraude au pompage de SMS.
- Imposez un délai avant de pouvoir redemander un code, typiquement 30 à 60 secondes.
- Surveillez les destinations inhabituelles : une hausse soudaine d'envois vers un pays où vous n'avez pas de clients est un signal d'alerte.
Côté utilisateur
- Rappelez dans le message qu'un code ne se communique jamais, à personne, y compris à votre support.
- Prévoyez un parcours de secours si l'utilisateur perd l'accès à son numéro.
- Affichez les derniers chiffres du numéro destinataire pour qu'il repère une erreur de saisie.
Vos équipes ne doivent jamais demander un code OTP à un client, par téléphone comme par email. Inscrivez-le dans vos procédures : c'est le scénario d'arnaque le plus courant.