
Cifrado de Extremo a Extremo (E2EE)
glossary.categories.technicalSistema de seguridad donde solo las partes que se comunican pueden leer los mensajes, excluyendo a los servidores
¿Qué es el Cifrado de Extremo a Extremo?
El cifrado de extremo a extremo (E2EE) es un sistema de seguridad donde solo las partes que se comunican pueden leer los mensajes. Nadie más, ni el proveedor de servicios, ni la infraestructura del servidor, ni siquiera el operador de la plataforma, puede descifrar la comunicación. Piénsalo como enviar una carta en una caja cerrada donde solo el destinatario tiene la llave, y el servicio postal no puede abrirla.
En las videollamadas, E2EE significa que tus flujos de audio y video se cifran en tu dispositivo y permanecen cifrados hasta que llegan al dispositivo del receptor. Incluso si alguien intercepta los datos en tránsito o compromete los servidores que enrutan tu llamada, solo ven datos cifrados sin sentido.
El cifrado integrado de WebRTC (DTLS-SRTP)
WebRTC exige cifrado. Todas las conexiones WebRTC se cifran por defecto usando DTLS-SRTP:
- DTLS: Establece canales cifrados e intercambia claves de cifrado
- SRTP: Cifra los paquetes de medios reales (audio y video)
Sin embargo, DTLS-SRTP solo NO es cifrado de extremo a extremo. La mayoría de las videollamadas usan servidores SFU para llamadas grupales, y el SFU descifra y recifra los medios, rompiendo E2EE.
E2EE verdadero con Insertable Streams
La solución: agregar una segunda capa de cifrado que el SFU nunca descifra. Solo los endpoints (participantes) tienen las claves para esta capa. Tu dispositivo aplica cifrado a nivel de aplicación antes de enviar, y el SFU solo ve texto cifrado que reenvía ciegamente.
SFrame: El estándar emergente
SFrame (Secure Frame) es un protocolo estándar de IETF diseñado específicamente para cifrar fotogramas de medios en llamadas grupales WebRTC. Solo cifra la carga útil de medios, dejando los encabezados RTP sin cifrar para que los SFUs puedan seguir enrutando paquetes.
Implementaciones del mundo real (2025)
- WhatsApp: E2EE para todas las llamadas, usa Signal Protocol
- Signal: E2EE para todo, pionero del E2EE moderno
- FaceTime: E2EE para todas las llamadas
- Zoom: E2EE opcional para reuniones
- Jitsi Meet: Ofrece E2EE usando Insertable Streams para navegadores Chromium
¿Por qué no siempre usar E2EE?
Las funciones del lado del servidor como grabación en la nube, transcripción en vivo, moderación de contenido y funciones de IA requieren acceso a los medios, incompatible con E2EE. Algunos sectores requieren la capacidad de auditar comunicaciones. Además hay sobrecarga de rendimiento y desafíos de compatibilidad entre navegadores.
Referencias
- True End-to-End Encryption with WebRTC Insertable Streams - webrtcHacks
- WebRTC Security - Is it secure and safe? - Stream
- Exploring End-to-End Encryption (E2EE) in WebRTC - DigitalSamba