Le problème : n’importe qui peut maquiller un afficheur
Pendant des décennies, le numéro affiché sur votre téléphone n’était qu’une étiquette que l’opérateur d’origine pouvait régler à n’importe quoi. Il n’y avait aucune vérification cryptographique : si un robot d’appel voulait afficher l’indicatif régional de votre voisin, le numéro de votre banque, ou même votre propre numéro, l’opérateur à l’autre bout n’avait aucun moyen de savoir que c’était faux.
C’est pour ça que « l’usurpation de voisinage » fonctionne. C’est pour ça que les arnaques téléphoniques apparaissent comme si elles venaient de votre police locale, de votre banque ou de l’ARC. Le réseau téléphonique a été bâti sur la confiance, et cette confiance s’est fait abuser à grande échelle.
STIR/SHAKEN : vérification cryptographique de l’afficheur
STIR/SHAKEN, c’est deux protocoles qui travaillent ensemble :
- STIR (Secure Telephone Identity Revisited) : la norme de l’IETF pour signer cryptographiquement les informations de l’afficheur à l’opérateur d’origine.
- SHAKEN (Signature-based Handling of Asserted information using toKENs) : le cadre que les opérateurs utilisent pour déployer STIR à grande échelle sur le réseau téléphonique public.
Quand un appel est initié, l’opérateur d’origine signe un jeton attestant à quel point il est confiant que l’appelant est autorisé à utiliser le numéro affiché. Ce jeton signé voyage avec l’appel à travers le réseau. Quand l’appel atteint l’opérateur terminal (celui qui fait sonner votre téléphone), celui-ci vérifie la signature et attache un niveau de vérification à l’appel.
Vous voyez ce niveau de vérification reflété dans le verdict de chaque appel.
Les trois niveaux d’attestation
Chaque appel vérifié STIR/SHAKEN porte une de trois attestations :
- A (attestation complète). L’opérateur d’origine connaît le client et a vérifié qu’il est autorisé à utiliser le numéro affiché. C’est le signal d’authenticité le plus fort.
- B (attestation partielle). L’opérateur d’origine connaît le client mais ne peut pas vérifier que le numéro affiché lui appartient vraiment. Courant pour les entreprises qui utilisent des composeurs côté opérateur.
- C (attestation passerelle). L’opérateur d’origine a reçu l’appel d’ailleurs (souvent international) et ne peut pas vérifier l’appelant ni le numéro. La plupart des appels usurpés et des indésirables tombent dans ce panier.
Un appel sans aucune attestation STIR/SHAKEN est parfois pire que C : ça veut dire que l’appel a traversé des réseaux qui ne supportent pas la norme du tout.
Ce que STIR/SHAKEN attrape, et ce qu’elle n’attrape pas
Ce qu’elle attrape : l’usurpation pure et simple dans la portion du réseau qui a déployé STIR/SHAKEN. Si un robot d’appel dans un autre pays essaie d’afficher un numéro de Toronto via une passerelle non conforme, cet appel arrive avec une attestation C (ou aucune), et votre opérateur peut le signaler.
Ce qu’elle n’attrape pas : les entreprises légitimes qui envoient des appels indésirables depuis leurs propres vrais numéros. STIR/SHAKEN vérifie seulement que le numéro est réel et que l’appelant est autorisé à l’utiliser. Ça ne dit rien sur le caractère désiré ou non de l’appel. Un télémarketeur utilisant son propre numéro valide peut quand même recevoir une attestation A. STIR/SHAKEN, c’est un signal, pas la réponse complète.
STIR/SHAKEN au Canada
Le CRTC a imposé STIR/SHAKEN aux opérateurs canadiens en 2021. Depuis 2024, tous les fournisseurs de voix canadiens utilisant l’interconnexion IP doivent l’implémenter. Les appels venant de l’extérieur du Canada, les appels sur les anciens circuits TDM, et les appels entre opérateurs qui n’ont pas complètement migré arrivent toujours sans vérification, et c’est pour ça que « pas de STIR/SHAKEN » est en soi un signal qui veut dire quelque chose.
Comment WIGGWIGG l’utilise
L’attestation STIR/SHAKEN est une des cinq couches de notre filtre d’appels indésirables entrants. C’est gratuit, toujours actif, et toujours journalisé : chaque appel que vous recevez montre le niveau d’attestation avec lequel il est arrivé dans votre journal de filtrage. Vous pouvez aussi activer le « mode strict » : en mode strict, les appels que votre opérateur n’a pas pu vérifier (C ou aucune attestation) sont bloqués au lieu d’être laissés passer.
On ne fait aucune vérification cryptographique supplémentaire de notre côté; STIR/SHAKEN est vérifié par votre opérateur terminal avant que l’appel nous arrive. On lit ce qui est là et on l’expose.
En résumé
STIR/SHAKEN, c’est ce que le réseau téléphonique a de plus proche d’un TLS pour l’afficheur. Ce n’est pas une solution complète aux indésirables (ça ne peut pas empêcher les entreprises légitimes de faire des appels non désirés), mais c’est une première couche qui veut dire quelque chose, surtout pour attraper l’usurpation évidente qui a alimenté le pire de l’ère des robots d’appel. Quand votre téléphone sonne et que la vérification est absente ou marquée C, c’est un vrai signal que quelque chose cloche.