À propos de la validation des numéros de téléphone

Utilisez l'API de vérification du numéro de téléphone pour récupérer un numéro de téléphone validé auprès de l'opérateur mobile d'un utilisateur, de manière à résister au hameçonnage. Il s'agit d'une méthode de validation plus rapide, plus sécurisée et plus économique, qui ne repose pas sur des mots de passe à usage unique (OTP) envoyés par SMS.

Présentation

La validation traditionnelle du numéro de téléphone repose en grande partie sur des mots de passe à usage unique envoyés par SMS. La validation par SMS entraîne des frictions pour l'utilisateur et des retards de livraison. Il est également vulnérable au piratage de carte SIM ou à l'interception, et entraîne des frais de télécommunication importants.

L'API de validation du numéro de téléphone d'Android résout ces problèmes en exploitant les identifiants numériques. Au lieu d'envoyer un SMS, l'application demande un jeton numérique directement via Credential Manager d'Android. Une fois que l'utilisateur a accepté de partager ce jeton, le backend de l'application l'échange avec un agrégateur cellulaire ou un opérateur mobile pour récupérer le numéro de téléphone validé.

Flux de récupération du numéro de téléphone validé

Pour récupérer un numéro de téléphone validé, procédez comme suit :

  • Votre application envoie une requête à l'API Digital Credentials pour obtenir un numéro de téléphone.
  • La bottom sheet du Gestionnaire d'identifiants s'affiche pour confirmer le partage du numéro de téléphone.
  • L'API récupère un jeton TS.43 chiffré auprès de l'opérateur de l'utilisateur en authentifiant la carte SIM.
  • Credential Manager partage le jeton avec votre application. Votre application envoie le jeton à votre serveur d'application, qui l'échange avec un point de terminaison d'agrégateur ou d'opérateur mobile. C'est également à ce moment-là que des frais de téléphonie peuvent s'appliquer.
  • L'agrégateur ou l'opérateur renvoie le numéro de téléphone validé à votre application.
Image montrant l'expérience utilisateur de la vérification du numéro de téléphone.
Figure 1. Expérience utilisateur de la vérification du numéro de téléphone

Principaux avantages

Cette API présente de nombreux avantages :

  • Réduction des coûts de validation : vous ne payez que pour les validations qui parviennent à votre application, ce qui réduit les coûts de diffusion.
  • Expérience utilisateur plus sécurisée et simplifiée : les utilisateurs approuvent l'invite de la bottom sheet du système d'un simple geste, au lieu de consulter les mots de passe à usage unique par SMS en dehors de l'application. Cela élimine également le risque d'hameçonnage par SMS.
  • Taux de conversion plus élevés : les échecs et les retards de distribution des SMS sont des facteurs majeurs d'abandon. La validation directe par l'opérateur contourne entièrement le transit des SMS, ce qui se traduit par des taux de conversion plus élevés.
  • Assurance d'identité : vérifie la carte SIM/eSIM physique active sur l'appareil Android, ce qui permet de s'assurer que l'identité est directement liée à un abonnement d'opérateur actif.

Sécurité et confidentialité

La fonctionnalité de validation du numéro de téléphone d'Android repose sur des normes ouvertes et une sécurité cryptographique intégrée au matériel.

Principales normes de sécurité :

  • Norme GSMA TS.43 : protocole d'opérateur standardisé pour l'assertion d'identité et la génération de jetons.
  • SD-JWT VC (Selective Disclosure JWT Verifiable Credential) : garantit l'intégrité des identifiants inviolables et la divulgation sélective des données.
  • Protocole OpenID4VP : spécification standard du secteur pour demander des identifiants vérifiables.

Nonce cryptographique et liaisons de clés

Chaque demande de validation inclut un nonce généré par le serveur et une signature de liaison de clé. Ces éléments empêchent les attaques par relecture, les attaques de type "person-in-the-middle" (PiTM) et l'usurpation d'identifiants.

Chiffrement de bout en bout

La téléphonie Android chiffre le jeton TS.43 renvoyé à l'application cliente. Seul le point de terminaison de l'agrégateur ou de l'opérateur mobile autorisé peut le déchiffrer, ce qui garantit que le système n'expose pas les identifiants bruts de l'utilisateur pendant le transit.

Consentement transparent de l'utilisateur

Android présente une bottom sheet Credential Manager qui informe l'utilisateur des informations d'identité exactes qui sont partagées avant que des données ne soient transmises à l'application.

Étapes suivantes

Pour implémenter cette fonctionnalité dans votre application, consultez le guide d'implémentation.