BroadNet
Protocoles Réponse BroadNet

HMAC-SHA256 pour la signature des webhooks DLR — comment et pourquoi

Dernière mise à jour 2 min de lectureExaminé par l'équipe d'ingénierie BroadNet
Réponse rapide

HMAC-SHA256 est l'algorithme cryptographique utilisé par toutes les plateformes de messagerie modernes pour signer les accusés de réception et les webhooks de messages entrants. La plateforme calcule un hachage chiffré du corps de la requête à l'aide d'un secret partagé ; votre point de terminaison recalcule ce même hachage et le compare. Cela prouve que le webhook provient bien de la plateforme — et non d'une personne ayant deviné votre URL — et que le corps de la requête n'a pas été altéré lors de sa transmission.

Définition en langage clairneutre vis-à-vis des fournisseursExaminé 24 septembre 2026
La réponse longue

Tout ce qui mérite d'être su, rien qui ne le mérite pas.

§01

Comment la signature est construite

Une construction courante forme la chaîne canonique `${timestamp}.${requestBody}`, calcule `HMAC-SHA256(canonical, secret)`, l'encode en hexadécimal et envoie l'empreinte et l'horodatage dans un en-tête de signature. Inclure l'horodatage dans la charge signée empêche les attaques par rejeu : votre point de terminaison doit rejeter les webhooks de plus de 5 minutes. Les noms d'en-têtes et le format canonique exact varient d'une plateforme à l'autre ; confirmez-les auprès de votre fournisseur avant d'écrire le code de vérification.

§02

Pourquoi les signatures HMAC et non RSA ?

HMAC est symétrique (les deux parties partagent un secret), ce qui signifie que la signature et la vérification sont environ 10 000 fois plus rapides qu'avec RSA-2048. Dans le cas d'une diffusion massive de webhooks où un seul SMSC peut émettre jusqu'à 50 000 DLR par seconde, la signature RSA monopolise le processeur. Sur du matériel moderne, HMAC-SHA256 s'exécute en quelques microsecondes. En contrepartie, quiconque détient le secret peut signer ; le secret ne doit donc être partagé qu'entre la plateforme et votre environnement, stocké comme n'importe quel identifiant et pouvoir être renouvelé à la demande.

§03

Pièges de la vérification

Trois bogues courants : comparer des chaînes avec `==` au lieu d'une comparaison en temps constant (attaque temporelle — utilisez `crypto.timingSafeEqual`) ; valider la signature après l'analyse JSON du corps (vous devez vérifier les octets bruts, et non une représentation resérialisée — le réordonnancement JSON invalide le hachage) ; oublier la fenêtre anti-rejeu de l'horodatage.

§04

Au-delà de HMAC

Pour les environnements réglementés (banques, santé), certaines plateformes prennent aussi en charge la livraison des webhooks en mTLS : l'expéditeur présente un certificat client que votre répartiteur de charge valide avant que la requête n'atteigne l'application. C'est plus robuste que HMAC, car la livraison est liée à une clé matérielle, mais cela ne se justifie que pour des charges réellement sensibles. Pour la plupart des intégrations, HMAC-SHA256 sur HTTPS est la bonne réponse.

BNRédigé par l'équipe d'ingénierie BroadNet·Nous proposons des services de messagerie de qualité opérateur depuis 2003, avec un siège à Dubaï.·Normes éditoriales
Construisez avec ceci

Besoin d'aide pour le câblage ?

Vous trouverez ci-dessous les guides produits et d'intégration qui permettent de concrétiser ce concept. Si vous préférez une présentation en direct, notre équipe d'ingénieurs est disponible par téléphone le jour même pendant les heures ouvrables MENA .

Contactez notre équipe d'ingénieurs
Retour

Cette réponse vous a-t-elle été utile ?

Votre vote nous aide à prioriser les réponses à développer avec des exemples, des diagrammes et des extraits de code.

Cette réponse vous a-t-elle été utile ?
Merci, c'est noté. Nous mettrons cette réponse à jour.
Compris. Dites-nous ce qui manquait. envoyer un petit message.

Comment nous rédigeons et vérifions nos contenus

Vous avez encore besoin d'aide ?

Parlez à un vrai ingénieur à propos de votre construction.

Nous répondons sous un jour ouvré, et les comptes de production bénéficient d'un support 24h/24 et 7j/7. Nos ingénieurs développent du code, pas des scripts.

$ curl -X POST https://api.broadnet.me/sms/sendSms
SLA de réponse
Demandes d'accès de testRéponse sous 1 jour ouvré
Production24 / 7 · < 15 min
NOC opérateurs24 / 7 · astreinte