domingo, 9 de febrero de 2014

Encriptación de las comunicaciones usando Elastix III

Encriptación de multimedia

SRTP

El “Secure Real Time Protocol” (SRTP) es un complemento al “Real Time Protocol” (RTP), que provee confidencialidad, integridad y autenticación de los datos (voz, vídeo, mensajería, entre otros) y se encuentra definido por la IETF en el documento RFC 3711.
SRTP es considerado el mecanismo estándar para proteger datos transmitidos en tiempo real.
También brinda protección a los mensajes RTCP (Real-Time Transport Control Protocol) usados para aplicar políticas como QoS, estos paquetes son utilizados por los dispositivos activos de una red.
Cuando se aplica SRTP, el dispositivo tiene cifrar los paquetes RTP antes de enviarlos a la red de telefonía. El proceso inverso se aplica para descifrar la información recibida.

El algoritmo de encriptación por defecto es AES (Advanced Encryption Standard) en modo counter, usando una llave de 128-bits.
La utilización de AES en SRTP permite procesar los paquetes, aun si los mismos fueron recibidos en desorden, que es algo indispensable en aplicaciones en tiempo real.
La llave a utilizar en la encriptación se negocia en cada llamada, esta negociación se realiza utilizando SDP, durante el intercambio de mensajes SIP. Esto quiere decir que no tiene sentido utilizar SRTP sino se lo complementa con SIPS.
Las ventajas de usar SRTP son:
  • Confidencialidad, integridad y autenticación del contenido multimedia.
  • Soporte de AES que permite recibir paquetes en desorden.
  • Minimiza el uso de recursos de hardware y ancho de banda.
Las debilidades de SRTP son:
  • Debe funcionar junto con SIPS para no tener huecos de seguridad.
  • No es soportado por los proveedores de telefonía IP.
  • Los fabricantes de los dispositivos SIP aplican diferentes algoritmos para la encriptación, y para la negociación de los mismos. También algunos dispositivos requieren la implementación de mecanismos para la negociación de llaves de encriptación, estos mecanismos pueden ser MIKEY o ZRTP.

Encriptacion de datos en general (usando OpenVPN)

Una conexión utilizando VPN se utiliza para la unir diversos dispositivos de una organización, ubicados en lugares distintos, a través de un medio inseguro (internet), manteniendo la confidencialidad de los datos transmitidos.
Las ventajas de usar OpenVPN son:
  • Se puede implementar en dos modos básicos, capa 2 y capa 3.
  • En el firewall que protege la red, se requiere abrir un solo puerto que escuche las conexiones.
  • Las conexiones OpenVPN se pueden realizar a través de casi cualquier firewall. También posee soporte para proxy.
  • No existe problema con NAT.
  • Se pueden implementar reglas de firewall para limitar el acceso a recursos a los usuarios conectados a través de OpenVPN.
  • Muchos fabricantes están desarrollando hardware con clientes OpenVPN integrados.
  • El tráfico VoIP (SIP + RTP) se envía a través del túnel VPN.
Las desventajas de usar OpenVPN son:
  • No hay estandarización en la forma en que se deben cargar los archivos de configuración y certificados en un cliente.

¿Por qué usar Elastix?

  • Elastix soporta TLS para la encriptación de la señalización SIP y soporta también SRTP para encriptar los datos de una llamada (voz, vídeo, entre otros).
  • En su sistema operativo base (CentOS 5.9) los paquetes OpenSSL y LibSRTP están instalados.
  • La versión de Asterisk ha sido compilada incluyendo el módulo “res_srtp”.
  • También tiene los scripts necesarios para generar certificados, que serán utilizados tanto por los dispositivos que soportan SIP/TLS como para los dispositivos que se conectaran utilizando OpenVPN. Lo recomendable es tener un servidor que cumpla las funciones de CA.
  • • Los algoritmos de encriptación tanto para SIPS como para SRTP soportados por Elastix, son soportados por la mayoría de dispositivos SIP.

No hay comentarios: