videocalling
Illustration of DTLS (Seguridad de Capa de Transporte de Datagramas) in video calling

DTLS (Seguridad de Capa de Transporte de Datagramas)

glossary.categories.protocol

Un protocolo de seguridad que proporciona privacidad e integridad de datos para aplicaciones basadas en UDP.

¿Qué es DTLS?

Datagram Transport Layer Security (DTLS) es un protocolo de comunicaciones que proporciona seguridad para aplicaciones basadas en datagramas (como las que se ejecutan sobre UDP). Se basa en el protocolo Transport Layer Security (TLS), el mismo protocolo utilizado para asegurar sitios web HTTPS, pero adaptado para conexiones de transporte no confiables.

Por qué UDP necesita seguridad especial

El TLS estándar requiere un flujo de datos confiable (TCP). Si se pierde un paquete, TLS se detiene y espera la retransmisión. Esto causa retrasos inaceptables para el video en tiempo real.

DTLS resuelve esto permitiendo la pérdida y reordenamiento de paquetes. No rompe el handshake ni el contexto de cifrado solo porque falten algunos paquetes, lo que lo hace perfecto para medios en tiempo real.

Rol en WebRTC

En WebRTC, DTLS es obligatorio. Cumple dos propósitos principales:

  • Intercambio de claves (SRTP): DTLS realiza un handshake para intercambiar de forma segura las claves de cifrado utilizadas por SRTP (Secure Real-time Transport Protocol). Una vez intercambiadas las claves, los datos reales de video/audio se envían a través de SRTP.
  • Canales de datos: Para datos que no son multimedia (como mensajes de chat o transferencias de archivos enviados a través de SCTP), los datos se encapsulan directamente dentro de paquetes DTLS.

Funciones de seguridad

DTLS previene la interceptación (privacidad), la manipulación (integridad del mensaje) y la falsificación de mensajes. Asegura que te estás comunicando con quien crees que te estás comunicando, y que nadie en el medio puede leer o modificar el flujo.