
Partager:
Michael Crump travaille chez Vonage au sein de l'équipe Developer Experiences. C'est un codeur, un YouTuber et un conférencier qui aborde fréquemment divers sujets liés à .NET et au développement des communications et de l'informatique en nuage. Il se passionne pour aider les développeurs à comprendre les avantages de chacun d'entre eux de manière simple.
Vonage Video API - Secure Callbacks Annonce de disponibilité générale
Temps de lecture : 3 minutes
Introduction
L'API Video API de Vonage de Vonage est dotée d'une nouvelle fonction appelée Rappels sécurisés qui est disponible dès aujourd'hui. La fonction de rappel sécurisé permet de vérifier qu'une demande de rappel de webhook provient bien de Vonage et que sa charge utile n'a pas été altérée pendant le transport. Cette fonction protège contre les rappels non autorisés et ajoute des avantages supplémentaires en matière de sécurité pour les industries ayant des exigences spécifiques en matière de conformité.
L'API Video de Vonage utilise des rappels pour fournir des événements et des mises à jour d'état à l'application pour la surveillance de session, l'archivage/l'enregistrement, SIP et Experience Composer. Les rappels sécurisés sont signés par un secret de signature que l'utilisateur configure via le portail Video Account, qui peut être vérifié par l'application réceptrice pour valider que le rappel provient de Vonage.
Activation des rappels sécurisés
Rendez-vous sur le Tableau de bord de l'API Video et sélectionnez un projet pour lequel vous souhaitez mettre en œuvre cette fonctionnalité. Faites défiler vers le bas jusqu'à ce que vous voyiez Paramètres du projet et l'option Rappel sécurisé comme indiqué ci-dessous.
Project Settings inside the Video API Dashboard
Appuyez sur la touche Editer et faites basculer l'option Rappel sécurisé sur on, et appuyez sur Sauvegarder.
> Note : Pour le trafic entrant restreint, adresses IP de Vonage de Vonage doivent être ajoutées à la liste des adresses IP approuvées de votre pare-feu.
Maintenant que la fonctionnalité a été activée, examinons les différents rappels de l'API et ce que chacun fait avant d'activer l'un d'entre eux.
Rappels de l'API Video de Vonage
L'API Video de Vonage fournit plusieurs rappels d'API qui peuvent être sécurisés avec cette fonction, y compris :
Surveillance de la session - Surveille l'activité de la session.
Surveillance de l'archivage - Surveille l'état des archives (ou des enregistrements).
Surveillance des appels SIP - Surveille l'activité des appels SIP.
Surveillance d'Experience Composer - Moniteurs Experience Composer.
Nous utiliserons Surveillance de session pour cet exemple, mais les connaissances acquises dans cette section s'appliquent à tous les autres rappels mentionnés.
Suivi de la session
Les développeurs peuvent surveiller certaines activités des clients depuis leur serveur d'application. En s'enregistrant pour les callbacks, votre URL de callback recevra des requêtes HTTP POST lorsqu'un client se connectera ou publiera.
Pour l'activer sur votre projet Video en cours, faites défiler la page jusqu'à ce que vous voyiez Surveillance de la session et cliquez sur Configurer.
Session Monitoring inside the Video API Dashboard
Vous pouvez configurer l'URL de rappel et activer l'option Secret de signature sur "on". Par défaut, la signature est générée de manière aléatoire, mais vous pouvez spécifier la vôtre. Cliquez sur Soumettre pour continuer. Le système signale que des rappels sécurisés ont été configurés avec l'URL et la signature secrète.
Valider la demande
Il existe deux manières principales de valider les rappels sécurisés :
Verify the request (Vérifier la demande) - Les rappels sécurisés incluront un JWT dans l'en-tête Authorization. Le secret utilisé pour signer la demande correspond au secret de signature associé à la demande de JWT.
api_keyinclus dans les revendications JWT. Vous pouvez identifier votre secret de signature dans le tableau de bord. Il est recommandé que les secrets de signature ne soient pas inférieurs à 32 bits pour garantir leur sécurité.Verify the payload (vérification de la charge utile) - Une fois que vous avez vérifié l'authenticité de la demande, vous pouvez éventuellement vérifier que la charge utile de la demande n'a pas été altérée en comparant un hachage SHA-256 de la charge utile au champ
payload_hashfigurant dans les revendications JWT. S'ils ne correspondent pas, les données utiles ont été falsifiées pendant le transit. La vérification des données utiles n'est nécessaire que si vous utilisez HTTP plutôt que HTTPS, car le protocole TLS (Transport Layer Security) empêche les les attaques MITM.
Un exemple de ce que le Signé JSON signé (JWT) ressemblerait :
// header
{
"alg": "HS256",
"typ": "JWT",
}
// payload
{
"iat": 1587494962,
"jti": "c5ba8f24-1a14-4c10-bfdf-3fbe8ce511b5",
"iss": "Vonage",
"payload_hash" : "d6c0e74b5857df20e3b7e51b30c0c2a40ec73a77879b6f074ddc7a2317dd031b",
"api_key": "a1b2c3d",
"application_id": "aaaaaaaa-bbbb-cccc-dddd-0123456789ab"
}Remarquez que le champ payload_hash est un hachage SHA-256 de la charge utile de la demande. Il peut être comparé à la charge utile de la demande pour s'assurer qu'elle n'a pas été altérée pendant le transit.
A Un exemple de code Node.js peut être trouvé ici.
Synthèse
Pour résumer, Secure Callbacks est une fonction de sécurité qui garantit que chaque rappel n'a pas été modifié en cours de route. Cela permet de se prémunir contre l'interception et le rejeu ultérieur. Elle vérifie que la demande provient bien de Vonage et garantit que les besoins de conformité sont satisfaits dans de nombreux secteurs d'activité importants. Vous pouvez l'utiliser dès aujourd'hui en tant que fonction généralement disponible, gratuitement, en l'activant dans votre projet. Veuillez consulter cette page pour obtenir une liste des limitations et des considérations, car les informations sont mises à jour fréquemment.
Si vous avez des questions ou des commentaires, rejoignez-nous sur le Slack des développeurs de Vonage ou envoyez-nous un Tweet sur Twitteret je vous répondrai. Merci encore d'avoir lu, et je vous donne rendez-vous au prochain numéro !
Partager:
Michael Crump travaille chez Vonage au sein de l'équipe Developer Experiences. C'est un codeur, un YouTuber et un conférencier qui aborde fréquemment divers sujets liés à .NET et au développement des communications et de l'informatique en nuage. Il se passionne pour aider les développeurs à comprendre les avantages de chacun d'entre eux de manière simple.