Cómo proteger tu aplicación
Importante: Tenga en cuenta que su ID de la aplicación ¿Es tu Clave API.
Siga estas prácticas recomendadas para mantener la seguridad en su aplicación.
Vonage reconoce que la seguridad es una consideración esencial para cualquier empresa interesada en integrar comunicaciones en tiempo real en su sitio web, aplicación o servicio. La plataforma de Vonage es una plataforma fiable y segura sobre la que puedes crear aplicaciones que satisfagan las necesidades de seguridad de tu empresa, sector o cliente.
Preguntas frecuentes sobre seguridad
¿Está cifrado el tráfico de voz y vídeo en una sesión WebRTC?
Sí, todo el tráfico de medios está encriptado sin importar el punto final que uses (web o móvil) o la configuración de sesión que elijas (P2P o multipartita). Eso significa que estás seguro cuando usas la solución de Vonage, incluso si la usas en un punto de acceso público abierto.
Además, en las aplicaciones web, la publicación solo es compatible con páginas HTTPS.
¿Se basa en una solución propia?
No, no creemos en soluciones propietarias cuando hablamos de seguridad. Vonage se basa completamente en estándares comprobados, escritos por expertos de la industria y utilizados durante años en productos comerciales. Los protocolos centrales que proporcionan la seguridad de WebRTC Vonage son SRTP para el cifrado del tráfico multimedia y DTLS-SRTP para la negociación de claves, que están definidos por el IETF.
¿Cuáles son los algoritmos de cifrado y la fuerza de las claves utilizadas?
Los terminales de Vonage compatibles con WebRTC utilizan el algoritmo de cifrado AES con claves de 128 bits para cifrar el audio y el vídeo, y HMAC-SHA1 para verificar la integridad de los datos.
El cifrado AES-256 está disponible en los clientes compatibles para como un funcionalidad adicional.
¿Qué claves se utilizan para el cifrado?
Los puntos finales generan claves aleatorias al inicio de la sesión y además cambian periódicamente durante la conversación para hacerla aún más segura.
¿Requiere alguna interacción con el usuario?
No, todo ocurre en segundo plano, sin que el usuario tenga que intervenir en absoluto.
¿Es necesario realizar algún cambio en mis aplicaciones basadas en Vonage?
No, la API de Vonage no cambia. La API de Vonage no expone estos detalles de bajo nivel a los desarrolladores.
¿Afecta esto al ancho de banda y a la calidad de la videoconferencia?
Sí, pero es muy reducido. Aumenta la longitud de cada paquete de audio y vídeo en 8 bytes, pero eso supone menos del 1 % de la tasa de bits habitual de una sesión. En cuanto al retraso, el marco de cifrado SRTP se diseñó específicamente para aplicaciones en tiempo real, por lo que el impacto es totalmente imperceptible.
¿Influye en el consumo de la CPU o de la batería?
Sí, pero el coste de codificar y descodificar audio y vídeo es mucho mayor que el de codificar y descodificar.
Buenas prácticas de seguridad
Ya sea que seas nuevo en la plataforma de Vonage o tengas años de experiencia, aquí te presentamos un útil conjunto de mejores prácticas que puedes emplear al desarrollar con Vonage para ayudarte a crear una aplicación segura.
Servir contenidos mediante URL HTTPS
En las aplicaciones web, la publicación de vídeo sólo se admite en páginas HTTPS.
Datos personales
Mantenga la clave y el secreto de la API de forma privada y segura
Importante: Tenga en cuenta que su ID de la aplicación ¿Es tu Clave API.
La clave y el secreto de la API se utilizan para crear tokens que conceden acceso a las sesiones, recuperar metadatos de archivo y cambiar las credenciales de almacenamiento de archivos, así como otras operaciones administrativas de su cuenta.
Para evitar poner en peligro sus credenciales, siempre debe mantener el secreto de su API en privado. Algunas medidas clave que puede tomar:
- Nunca guarde el secreto de la API en ningún repositorio público de código fuente.
- Nunca guardes el secreto de la API en ninguna biblioteca del lado del cliente, ni siquiera en los SDK móviles compilados.
- Utiliza sólo URL HTTPS para realizar llamadas REST a los servidores de Vonage.
Generar un identificador de sesión único por llamada y token por participante
Debes generar un identificador de sesión para iniciar una llamada. Los tokens que permiten a los participantes unirse a la reunión son únicos para cada identificador de sesión. Los tokens tienen una fecha de caducidad, pero esta puede ser posterior a la duración de la llamada. Por lo tanto, si tienes reuniones consecutivas con el mismo identificador de sesión, es posible que los usuarios que se hayan conectado anteriormente aún puedan conectarse a la nueva reunión.
Para evitarlo:
- Generar un identificador de sesión único para cada nueva reunión
- Genera un token único para cada participante de esa reunión.
Véase este tema sobre cómo crear sesiones. Véase este tema sobre cómo generar tokens.
Asegúrese de que el servidor que genera el testigo está detrás de un punto final autenticado.
Es importante situar el servidor que genera el token detrás de un punto final autenticado, ya que cualquier persona con acceso a dicho servidor podría acabar generando nuevos tokens y hacer un uso indebido de la aplicación.
No utilice información personal en los datos "token" ni en el campo "nombre" del editor
Los datos del token es una cadena que contiene metadatos que describen la conexión en el SDK del servidor, y el nombre del publicador se establece al crear un publicador en el SDK del cliente. Ambos campos pueden estar expuestos a otros participantes de la sesión y también pueden leerse a través de la herramienta Inspector y los registros internos de Vonage.
Esto significa que nunca debe utilizar información sensible o personal sin cifrar en estos campos.
Si necesita asociar la identidad de un usuario a una secuencia, utilice identificadores a nivel de aplicación (como ID de usuario) y resuélvalos dentro de su propia aplicación en lugar de incrustar datos personales en los campos de la Video API.
Modo retransmitido frente a modo enrutado
Cifrado de medios de extremo a extremo
Durante una sesión enrutada, las secuencias multimedia se descifran temporalmente mientras se encuentran en los servidores en nube de la Plataforma de vídeo y, a continuación, se vuelven a cifrar inmediatamente antes de ser enviadas a través de Internet al cliente suscrito, a menos que utilice la función cifrado de extremo a extremo función. Este descifrado es necesario para gestionar las sesiones de grupo, el control de calidad inteligente y las funciones que requieren descifrado de medios, como el archivado, las emisiones en directo, el compositor de experiencias, el conector de audio y la interconexión SIP (si se utiliza). Al utilizar sesiones enrutadas, sus flujos de medios nunca se transmiten sin cifrar en la Internet abierta.
Puede utilizar cifrado de extremo a extremo para impedir que el Media Router tenga acceso a los datos multimedia en una sesión enrutada. Cuando se utiliza el cifrado de extremo a extremo, no se admiten las funciones que requieren la decodificación de datos multimedia (como el archivado, etc.).
Además, si tu aplicación requiere un cifrado de extremo a extremo ininterrumpido de todos los medios, puedes optar por utilizar sesiones retransmitidas. Ten en cuenta que no podrás utilizar funciones que requieran la decodificación de medios (como el archivado, etc.), y que el rendimiento no se gestionará tan bien en redes con bajo ancho de banda o alta pérdida de paquetes, ni en el caso de grupos.
Archivado
Vonage ofrece varias maneras de garantizar la seguridad de tus sesiones archivadas.
Diferentes niveles de seguridad de los archivos
Puedes proteger tus archivos de las siguientes maneras:
- Utiliza el cifrado de Vonage — Con el archivado cifrado, los datos de vídeo y audio de un archivo se cifran mediante un certificado de clave pública que tú facilitas a Vonage. Esto te permite crear archivos en los que los datos nunca permanecen en estado sin cifrar. De entre los métodos disponibles para proteger tus archivos, este ofrece el mayor nivel de seguridad. Está disponible como un funcionalidad adicional. Para más información, consulte el Cifrado de Vonage documentación.
Gestionar la eliminación de archivos
Un archivo cargado correctamente en su almacenamiento se eliminará automáticamente del servidor de archivo en el momento de la carga.
En caso de que no se pueda cargar, se proporciona almacenamiento como opción alternativa por defecto. Esto significa que el archivo se almacenará durante 72 horas en el servidor.
Recibirás una notificación por correo electrónico cada vez que un archivo no se haya guardado correctamente en tu espacio de almacenamiento. A continuación, puedes utilizar la API REST para descargar el archivo desde su URL.
Después de la descarga, puede optar por eliminar inmediatamente el archivo para evitar que permanezca en el almacenamiento durante el resto del periodo de espera.
Para evitar este almacenamiento de reserva, inicia sesión en tu Account de la Video API, selecciona el proyecto y configura la opción para desactivar el almacenamiento de respaldo en el archivo.
Véase el Documentos API Para obtener más información sobre cómo eliminar un archivo.
Controlar quién puede iniciar el proceso de archivo
Solo se puede archivar una sesión mediante la API REST. Para controlar quién puede iniciar el archivado, puedes determinar mediante programación qué vista de la aplicación incluye la opción de iniciar el archivado. Los usuarios no autorizados tendrían una vista limitada sin la opción de archivar.
Además de autenticar a tus propios usuarios, también debes considerar una estrategia de autorización. Una vez que sepas quién es un usuario (autenticación) y que, de hecho, tiene permiso para iniciar un archivo (autorización), habrás reducido el riesgo de que cualquier usuario no intencionado provoque la grabación de archivos.
Garantizar un conjunto mínimo de privilegios
El conjunto mínimo de permisos necesarios para cargar archivos en nuestro almacén se trata en este tema.
Los socios no deben proporcionar ningún permiso adicional para las credenciales que almacenan con Vonage.
Alertas y controles
Limitar el número máximo de usuarios en una sesión
Para tener más control sobre el número de personas en una sesión, tu aplicación debería limitar el número máximo de usuarios en una sesión. Esto podría ser útil si intentas limitar el uso.
Mostrar el número de suscriptores
También puede configurar un recuento de suscriptores para mostrarlo en su aplicación. Esta es una forma útil de saber cuándo una conexión se está suscribiendo pero no publicando.
Configurar los permisos de moderador para forzar la desconexión
La plataforma de Vonage ofrece la capacidad de eliminar a un usuario de una sesión. Por ejemplo, en caso de violación de los términos de servicios, puedes habilitar al moderador de la sesión para que elimine de la sesión al participante infractor mediante la desconexión forzada o la despublicación forzada. Véase este tema para más información.
Asignar permisos de sólo abonado a quienes no necesiten publicar
En algunos casos, es posible que desees limitar el número de personas que pueden publicar en una sesión. Esto se consigue no concediendo permisos de publicación a todos los participantes.
Véase este tema para generar fichas con los roles adecuados.
Restricción del tráfico a servidores regionales
Puedes utilizar el Zonas regionales de medios de comunicación para enrutar todos los flujos de medios a servidores de medios dentro de una georregión especificada.
Además de restringir el tráfico de archivos multimedia, puedes utilizar el Proxy de la UE para restringir no relacionado con los medios de comunicación que el tráfico se canalice a través de servidores situados en la Unión Europea.
Importante: Tenga en cuenta que su ID de la aplicación ¿Es tu Clave API.
Capa de seguridad y transporte
Cifrado TLS
La Video API de Vonage ahora es compatible con TLS 1.3 y TLS 1.2 para todas las comunicaciones de la API, lo que brinda mayor seguridad y rendimiento para tus sesiones de video. Esta actualización garantiza la compatibilidad con los estándares de encriptación modernos y protege tus datos en tránsito.
Beneficios clave:
- Mayor seguridad: Algoritmos criptográficos más robustos y mayor confidencialidad prospectiva con TLS 1.3
- Mejor rendimiento: Reducción de la latencia de conexión gracias a un proceso de establecimiento de conexión optimizado
- Negociación automática: Los clientes utilizan automáticamente la versión TLS más alta admitida
Todas las conexiones de punto final de API están protegidas con TLS por defecto. No es necesario realizar cambios en el código, ya que los SDK y los clientes HTTP modernos preferirán automáticamente la versión TLS más reciente (TLS 1.3 o 1.2). Sin embargo, es aconsejable utilizar siempre las últimas versiones del SDK para beneficiarse de las últimas mejoras de seguridad y rendimiento.