BroadNet
SMPPSécurité

Sécuriser le SMPP : TLS, authentification et liste d'IP autorisées

Mis à jour le 3 min de lectureFondé sur des normes
Réponse directe

Le SMPP lui-même n'est pas chiffré — le system_id et le password du bind transitent en clair sur du TCP brut. En production, on le sécurise en faisant passer le SMPP sur TLS (en enveloppant la session TCP), en s'authentifiant par identifiants plus liste d'IP autorisées, en imposant TLS 1.2+, et en effectuant la rotation des identifiants depuis un gestionnaire de secrets plutôt que de les coder en dur.

SchémaUne session SMPP entre votre plateforme et BroadNet
Votre plateforme (ESME)
BroadNet SMSC
Une connexion TCP/TLS persistante
  1. bind_transceiverOuvrir et authentifier la session
  2. bind_transceiver_respSession acceptée
  3. submit_smEnvoyer un message
  4. submit_sm_respAccepté, ID du message renvoyé
  5. deliver_smAccusé de réception ou message entrant
  6. deliver_sm_respConfirmé
  7. enquire_linkKeepalive en cas d'inactivité
§01

Pourquoi le SMPP en clair est un risque

La spécification SMPP ne définit aucune sécurité de transport. Sur un bind TCP en clair (port 2775), le system_id et le password dans bind_transmitter/receiver/transceiver, ainsi que chaque corps de message, transitent sans chiffrement. Sur tout chemin non fiable, cela expose les identifiants à l'interception et le trafic à l'écoute. La sécurité s'ajoute donc au niveau du transport, pas par le protocole.

§02

SMPP sur TLS

Le contrôle standard consiste à faire fonctionner la session SMPP dans un tunnel TLS : la connexion TCP achève un handshake TLS avant l'envoi de la PDU de bind, si bien que les identifiants et les charges utiles sont chiffrés de bout en bout. Il n'existe pas de port TLS IANA unique pour le SMPP ; les fournisseurs exposent donc un port dédié compatible TLS. Imposez TLS 1.2 ou supérieur, validez la chaîne de certificats du serveur, rejetez les certificats expirés ou auto-signés, et ne désactivez jamais la vérification « pour que ça marche ».

SMPP en clair vs sur TLS
AspectSMPP en clairSMPP over TLS
TransportTCP (port par défaut 2775)TCP + TLS (port fourni par le fournisseur)
Identifiants transmis en clair sur le réseauEn clairChiffré
Corps de messageEn clairChiffré
Identité du serveurNon vérifiéValidé par certificat
§03

Authentification et liste d'IP autorisées

Le SMPP s'authentifie avec la paire system_id/password du bind. C'est faible en soi ; les opérateurs superposent donc une liste d'IP autorisées : seules des adresses IP source préenregistrées peuvent ouvrir un bind, aux deux extrémités. La liste d'autorisation est un contrôle opérateur standard et un moyen rapide de contenir un identifiant fuité — un mot de passe volé est inutile depuis une IP non listée. Combinez-la avec TLS, sans la substituer à lui.

§04

Hygiène des identifiants

Traitez les identifiants SMPP comme tout autre secret. Stockez-les dans un gestionnaire de secrets, jamais dans le code source ni dans une configuration versionnée. Effectuez la rotation selon un calendrier et immédiatement en cas d'exposition soupçonnée. Utilisez des identifiants distincts par environnement et par intégration afin qu'une fuite ait un rayon d'impact limité, et surveillez les binds provenant d'IP inattendues ou à des heures inhabituelles.

FAQ

Questions fréquemment posées

Le SMPP est-il chiffré par défaut ?

Non. Le SMPP n'a aucun chiffrement intégré — sur du TCP brut, les identifiants et les corps de message sont envoyés en clair. Le chiffrement s'ajoute en faisant passer la session SMPP sur TLS, ce que le protocole ne spécifie pas mais que tout fournisseur sérieux prend en charge.

Quel port pour le SMPP sur TLS ?

Il n'y a pas de port TLS standardisé unique. Le SMPP en clair utilise le port IANA 2775 ; pour TLS, les fournisseurs exposent un port provisionné distinct (3550 est parfois utilisé). Utilisez le port TLS que votre fournisseur attribue.

La liste d'IP autorisées suffit-elle à elle seule ?

Non. La liste d'IP autorisées limite qui peut se connecter et contient les identifiants fuités, mais elle ne chiffre pas le trafic. Combinez-la avec le SMPP sur TLS pour protéger à la fois l'origine de la connexion et la confidentialité des données.

Comment stocker les identifiants SMPP ?

Dans un gestionnaire de secrets, jamais dans le code ni la configuration versionnée. Utilisez des identifiants distincts par environnement et intégration, effectuez leur rotation selon un calendrier et à toute fuite soupçonnée, et surveillez les binds depuis des IP inattendues.

Références

Spécifications sources

Les normes publiées sur lesquelles repose cette page. S'ouvre dans un nouvel onglet.

BNMaintenu par l'équipe d'ingénierie BroadNet·Messagerie de qualité opérateur depuis 2003
Placez-le sur le fil

Conçu avec une véritable liaison SMPP et une API REST.

Demandez un accès de test avec de véritables clés de test : envoyez d’abord à votre propre numéro vérifié, puis passez en production dans plus de 200 pays une fois que votre identité d’expéditeur et vos routes seront approuvées.