https://d226lax1qjow5r.cloudfront.net/blog/blogposts/vonage-video-api-secure-callbacks-public-beta-announcement/videoapi_secure-callbacks.png

API de Video de Vonage - Anuncio de la versión beta pública de Secure Callbacks

Publicado el May 31, 2023

Tiempo de lectura: 3 minutos

Introducción

La API de Video de Vonage tiene una nueva función llamada Retrollamadas seguras que hoy se encuentra en versión beta pública, con disponibilidad general a partir de junio de 2023. La función de devolución de llamada segura ofrece una manera de verificar que una solicitud de devolución de llamada de webhook provenga de Vonage y que su carga útil no haya sido alterada durante el tránsito. Esto protegerá contra devoluciones de llamadas no autorizadas y agrega beneficios de seguridad adicionales para aquellas industrias con requisitos de cumplimiento específicos.

La Video API de Vonage utiliza devoluciones de llamadas para proporcionar eventos y actualizaciones de estado a la aplicación para monitoreo de sesión, archivo/grabación, SIP y Experience Composer. Las devoluciones de llamadas seguras están firmadas por un secreto de firma que el usuario configura a través del portal de la cuenta de Video, que puede ser verificado por la aplicación receptora para validar que la devolución de llamada se originó en Vonage.

Activación de retrollamadas seguras

Vaya al Panel de la Video API y selecciona un proyecto en el que te gustaría implementar esta función. Desplácese hacia abajo hasta que vea Configuración del proyecto y la opción Devolución de llamada segura como se muestra a continuación.

Project SettingsProject Settings inside the Video API Dashboard

Pulse el botón Editar y active la opción Devolución de llamada segura y pulse Guardar.

> Nota: Para el tráfico entrante restringido, Las direcciones IP de Vonage deben agregarse a la lista de direcciones IP aprobadas de tu firewall.

Ahora que la función ha sido activada, vamos a discutir las distintas devoluciones de llamada de la API y lo que hace cada una antes de activar una.

Devoluciones de llamada de Video API de Vonage

La API de Video de Vonage ofrece varias retrollamadas de API que se pueden proteger con esta función, entre ellas:

  1. Monitorización de sesiones - Supervisa la actividad de la sesión.

  2. Supervisión del archivo - Supervisa el estado de los archivos (o grabaciones).

  3. Monitorización de llamadas SIP - Supervisa la actividad de las llamadas SIP.

  4. Supervisión de Experience Composer - Monitores Compositor de experiencias.

Utilizaremos Monitorización de sesión para este ejemplo, pero los conocimientos adquiridos en esta sección se aplican a cualquiera de las otras retrollamadas mencionadas.

Control de la sesión

Los desarrolladores pueden supervisar ciertas actividades de los clientes desde el servidor de su aplicación. Al registrarse para las devoluciones de llamada, su URL de devolución de llamada recibirá solicitudes HTTP POST cuando cualquier cliente se conecte o publique.

Para activarla en su proyecto de Video actual, desplácese hacia abajo hasta que vea Monitorización de sesión y haga clic en Configurar.

Session MonitoringSession Monitoring inside the Video API Dashboard

Puede configurar la URL de devolución de llamada y activar la opción Secreto de firma . Por defecto proporciona una firma generada aleatoriamente, pero puede especificar la suya propia. Haga clic en Enviar para continuar. El sistema informará de que se han configurado las devoluciones de llamada seguras con la URL y el secreto de firma.

Validar la solicitud

Existen dos formas principales de validar las retrollamadas seguras:

  1. Verificación de la solicitud - Las devoluciones de llamada seguras incluirán un JWT en la cabecera de autorización. El secreto utilizado para firmar la solicitud se corresponde con el secreto de firma asociado a las api_key incluido en las peticiones JWT. Puede identificar su secreto de firma en el Panel de control. Se recomienda que los secretos de firma no sean inferiores a 32 bits para garantizar su seguridad.

  2. Verificación de la carga útil - Una vez que haya verificado la autenticidad de la solicitud, puede verificar opcionalmente que la carga útil de la solicitud no ha sido manipulada comparando un hash SHA-256 de la carga útil con el campo payload_hash que se encuentra en las reivindicaciones JWT. Si no coinciden, la carga útil ha sido manipulada durante el tránsito. Sólo es necesario verificar la carga útil si se utiliza HTTP en lugar de HTTPS, ya que la seguridad de la capa de transporte (TLS) evita los siguientes ataques ataques MITM.

Un ejemplo de lo que Firmado Token Web JSON (JWT) firmado:

// 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"
}

Observe que el campo payload_hash es un hash SHA-256 de la carga de la solicitud. Puede compararse con la carga útil de la solicitud para garantizar que no ha sido manipulada durante el tránsito.

A ejemplo de código Node.js puede encontrarse aquí.

Resumen

Para recapitular, Retrollamadas seguras es una característica de seguridad que garantiza que cada devolución de llamada no ha sido manipulada en tránsito. Esto defiende contra la intercepción y posterior repetición. Verifica que la solicitud provenga de Vonage y garantiza que se cumplan las necesidades de conformidad de muchas industrias importantes. Puedes usarlo hoy, de forma gratuita, con disponibilidad general a partir de junio de 2023. Visita esta página de limitaciones y consideracionesya que la información se actualiza con frecuencia.

Compartir:

https://a.storyblok.com/f/270183/400x400/7cdff37c0e/michael-crump.png
Michael CrumpDirector de Experiencias de los Desarrolladores

Michael Crump trabaja en Vonage en el equipo de experiencias para desarrolladores y es programador, YouTuber y conferenciante habitual sobre diversos temas de desarrollo de .NET, la nube y las comunicaciones. Le apasiona ayudar a los desarrolladores a comprender las ventajas de cada uno de ellos de una forma sencilla.