stringtranslate.com

Protocolo de transporte seguro en tiempo real

El Protocolo seguro de transporte en tiempo real ( SRTP ) es un perfil para el Protocolo de transporte en tiempo real (RTP) destinado a proporcionar cifrado, autenticación e integridad de mensajes y reproducir protección contra ataques a los datos RTP en aplicaciones de unidifusión y multidifusión . Fue desarrollado por un pequeño equipo de expertos en criptografía y protocolo de Internet de Cisco y Ericsson . Fue publicado por primera vez por el IETF en marzo de 2004 como RFC  3711.

Dado que RTP va acompañado del Protocolo de control RTP (RTCP) que se utiliza para controlar una sesión RTP, SRTP tiene un protocolo hermano, llamado Secure RTCP ( SRTCP ); proporciona de forma segura las mismas funciones a SRTP que las proporcionadas por RTCP a RTP.

La utilización de SRTP o SRTCP es opcional en aplicaciones RTP o RTCP; pero incluso si se utiliza SRTP o SRTCP, todas las funciones proporcionadas (como cifrado y autenticación) son opcionales y se pueden habilitar o deshabilitar por separado. La única excepción es la función de autenticación de mensajes, que es indispensable y necesaria cuando se utiliza SRTCP.

Cifrado de flujo de datos

SRTP y SRTCP utilizan el Estándar de cifrado avanzado (AES) como cifrado predeterminado . Hay dos modos de cifrado definidos que permiten utilizar el cifrado de bloque AES como cifrado de flujo :

Modo de contador de enteros segmentados
Un modo de contador típico , que permite el acceso aleatorio a cualquier bloque, lo cual es esencial para el tráfico RTP que se ejecuta en una red poco confiable con posible pérdida de paquetes. En el caso general, casi cualquier función se puede utilizar en el rol de contador , suponiendo que esta función no se repita durante una gran cantidad de iteraciones. Pero el estándar para el cifrado de datos RTP es simplemente un contador incremental entero habitual. AES que se ejecuta en este modo es el algoritmo de cifrado predeterminado, con un tamaño de clave predeterminado de 128 bits y una longitud de clave salt de sesión predeterminada de 112 bits.
modo f8
Una variación del modo de retroalimentación de salida , mejorado para que sea buscable y con una función de inicialización modificada. Los valores predeterminados de la clave de cifrado y la clave salt son los mismos que para AES en modo contador. (Se ha elegido AES que se ejecuta en este modo para su uso en redes móviles 3G ).

Además del cifrado AES, SRTP permite desactivar el cifrado por completo, utilizando el llamado cifrado de cifrado nulo , que puede asumirse como un cifrado alternativo compatible. De hecho, el cifrado nulo no realiza ningún cifrado; el algoritmo de cifrado funciona como función de identidad y copia el flujo de entrada en el flujo de salida sin ningún cambio. Es obligatorio implementar este modo de cifrado en cualquier sistema compatible con SRTP. Como tal, se puede utilizar cuando no se requieren las garantías de confidencialidad garantizadas por SRTP, mientras que se pueden utilizar otras funciones de SRTP, como la autenticación y la integridad de los mensajes.

Aunque SRTP puede adaptarse fácilmente a nuevos algoritmos de cifrado, el estándar SRTP establece que solo se pueden introducir nuevos algoritmos de cifrado mediante la publicación de un nuevo RFC de seguimiento estándar complementario que debe definir claramente el nuevo algoritmo.

Autenticación, integridad y protección de reproducción

Los algoritmos de cifrado mencionados anteriormente no garantizan por sí solos la integridad del mensaje; un atacante no podrá descifrar datos, pero sí podrá falsificar o reproducir datos transmitidos previamente. Por lo tanto, el estándar SRTP también proporciona los medios para garantizar la integridad de los datos y la seguridad frente a la reproducción.

Para autenticar el mensaje y proteger su integridad se utiliza el algoritmo HMAC-SHA1 [1] . Esto produce un resultado de 160 bits, que luego se trunca a 80 o 32 bits para convertirse en la etiqueta de autenticación adjunta a cada paquete. El HMAC se calcula sobre la carga útil del paquete y el material del encabezado del paquete, incluido el número de secuencia del paquete. Para protegerse contra ataques de repetición , el receptor mantiene los números de secuencia de los mensajes recibidos anteriormente, los compara con el número de secuencia de cada nuevo mensaje recibido y admite el nuevo mensaje sólo si no se ha recibido previamente. Este enfoque se basa en la protección de la integridad para que sea imposible modificar el número de secuencia sin detección.

derivación de claves

Se utiliza una función de derivación de claves para derivar las diferentes claves utilizadas en un contexto criptográfico (claves de cifrado y sales SRTP y SRTCP, claves de autenticación SRTP y SRTCP) a partir de una única clave maestra de una forma criptográficamente segura. Por lo tanto, el protocolo de gestión de claves necesita intercambiar solo una clave maestra; todas las claves de sesión necesarias se generan aplicando la función de derivación de claves.

La aplicación periódica de la función de derivación de claves evita que un atacante recopile grandes cantidades de texto cifrado con una única clave de sesión. Esto proporciona protección contra ciertos ataques que son más fáciles de llevar a cabo cuando hay una gran cantidad de texto cifrado disponible. Además, múltiples aplicaciones de la función de derivación de claves proporcionan seguridad hacia atrás y hacia adelante en el sentido de que una clave de sesión comprometida no compromete otras claves de sesión derivadas de la misma clave maestra. Esto significa que incluso si un atacante logró recuperar una clave de sesión, no podrá descifrar mensajes protegidos con claves de sesión anteriores y posteriores derivadas de la misma clave maestra. (Tenga en cuenta que, por supuesto, una clave maestra filtrada revela todas las claves de sesión derivadas de ella).

SRTP se basa en un protocolo de administración de claves externo para configurar la clave maestra inicial. Dos protocolos diseñados específicamente para usarse con SRTP son ZRTP y MIKEY . También existen otros métodos para negociar las claves SRTP. Hay varios proveedores que ofrecen productos que utilizan el método de intercambio de claves SDES .

DTLS-SRTP

Interoperabilidad y aplicaciones

Consulte Comparación de software VoIP § Software VoIP seguro para teléfonos, servidores y aplicaciones que admiten SRTP.

Telefonía (VoIP)

Soporte de navegador web

Cuota de uso de navegadores web según StatCounter

Navegadores conocidos con algún tipo de soporte SRTP

Familias de navegadores web con cierto nivel de SRTP en las ramas de actualización principales del sistema de representación principal

Hasta el momento no existe soporte SRTP conocido para navegadores web basados ​​en texto. Aunque SRTP podría usarse para operar en una VPN , junto con navegadores web, no se sabe que ninguna red VPN lo esté usando.

Documentos de normas

Referencias

  1. ^ RFC  2104
  2. ^ "Tutorial de llamadas seguras - Proyecto Asterisk - Wiki del Proyecto Asterisk". wiki.asterisk.org . Consultado el 22 de diciembre de 2019 .
  3. ^ "Asterisco SRTP". Información VoIP . 2007-02-13 . Consultado el 22 de diciembre de 2019 .