SRTP: Cómo cifrar el audio de tus llamadas VoIP y proteger tu comunicación
La seguridad en VoIP es uno de los temas más críticos en telecomunicaciones. Cada llamada SIP que viaja por Internet puede ser interceptada o manipulada si no se usa cifrado. Para evitarlo, existe SRTP (Secure Real-time Transport Protocol), el estándar más utilizado para cifrar llamadas VoIP y videollamadas.
¿Qué es SRTP y por qué es importante?
SRTP (Secure RTP) es una extensión de RTP que añade cifrado, autenticación e integridad al flujo de audio y video en tiempo real el cual es explicado a más detalle en el RFC 3711.
Beneficios de SRTP:
- 🔒 Confidencialidad: evita que terceros escuchen la llamada.
- 🛡️ Protección contra ataques de replay: no se pueden reutilizar paquetes interceptados.
- ✅ Integridad: asegura que los paquetes RTP no fueron alterados.
El algoritmo más común es AES en modo CTR (Counter Mode), rápido y eficiente para voz en tiempo real.
Métodos de cifrado en RTP para cifrar tus llamadas VoIP: Comparativa
El cifrado depende de cómo se intercambian las claves de sesión entre los extremos de la llamada. Existen varios métodos:
🔑 1. SRTP con SDES
- La clave se envía en el SDP (atributo a=crypto).
- Muy usado en PBX como Asterisk o FreeSWITCH.
- Riesgo: si no usas TLS, la clave viaja en claro y puede ser interceptada.
🔐 2. SRTP con TLS
- El SIP y el SDP viajan dentro de TLS, como cuando navegas con HTTPS.
- Seguridad alta, ideal para troncales SIP seguras.
- Contras: mayor consumo de CPU en entornos con muchas llamadas simultáneas.
- Puede generar lentitud
⚡ 3. SRTP con DTLS
- Usado en WebRTC.
- Hace un handshake seguro sobre UDP y genera claves dinámicas.
- ✅ Muy seguro y con baja latencia.
- ❌ Requiere soporte en clientes y servidores.
🎧 4. SRTP con ZRTP
- Negocia las claves a través del propio canal de audio.
- No depende de TLS ni de infraestructura de PKI.
- Usado en softphones como Jitsi y Linphone.
- Limite: ambos extremos deben soportarlo.
📊 5. SRTCP (complemento)
- Extiende la seguridad también al canal de control RTP.
- Evita que atacantes envíen comandos falsos (ej. BYE).
Tabla comparativa de métodos SRTP
Para comprender mejor las diferencias entre los distintos métodos de cifrado en SRTP, resulta útil revisar una comparación lado a lado. Mientras que algunos enfoques, como SDES, destacan por su simplicidad, otros como DTLS o ZRTP ofrecen mayor seguridad y flexibilidad en entornos modernos.
Método | Intercambio de claves | Seguridad | Ventajas | Desventajas | Casos de uso |
---|---|---|---|---|---|
SRTP + SDES | Clave en SDP (a=crypto) | Media (depende de TLS) | Simple, muy compatible | Inseguro sin TLS | PBX (Asterisk, FreeSWITCH) |
SRTP + TLS | SDP dentro de TLS | Alta | Protege señalización y claves | Sobrecarga CPU | Troncales SIP, ITSP |
SRTP + DTLS | Handshake sobre UDP | Muy alta | Baja latencia, dinámico | Complejo de implementar | WebRTC, apps modernas |
SRTP + ZRTP | Negociación vía audio | Muy alta | No requiere PKI/TLS | Ambos extremos deben soportarlo | Softphones P2P |
SRTCP | Usa claves de SRTP | Alta | Protege el canal de control | Poco adoptado |
Conclusiones: ¿qué método de cifrado elegir?
La respuesta depende de tu entorno, lo importante es contar con mecanismos para cifrar tus llamadas VoIP:
- Y siempre que sea posible, activa SRTCP para proteger también el canal de control.
- PBX tradicionales (Asterisk/FreeSWITCH): usa SRTP + SDES con TLS.
- Aplicaciones WebRTC (navegadores, apps modernas): implementa SRTP + DTLS.
- Llamadas peer-to-peer (softphones): apuesta por ZRTP.