Cada vez más de nuestras comunicaciones críticas se realizan a través de videollamadas online. Sin embargo, los recientes avances en IA y en tecnología de minería de datos han puesto estas llamadas en alto riesgo de explotación y abuso.

Muchos servicios de videoconferencia están impulsados por modelos publicitarios o por la carrera de la IA para grabar, transcribir y almacenar la mayor cantidad posible de datos de las reuniones. Estas empresas de las grandes tecnológicas ahora pueden desplegar inteligencia artificial generativa a bajo coste para analizar y aprender de todo lo que se dice y presenta en nuestras reuniones.

En la era de la IA, las videoconferencias sin cifrar amenazan la libertad individual y la seguridad de la organización. Por eso creamos Proton Meet: para ofrecer una experiencia de nivel empresarial comparable a Zoom, Google Meet y Microsoft Teams, a la vez que protegemos cada llamada con un cifrado de extremo a extremo siempre activo. Con Proton Meet, nadie (ni siquiera nosotros) puede escuchar tus llamadas.

Como todos los servicios de Proton, Proton Meet ofrece un potente nivel gratuito porque creemos que todos merecen libertad y privacidad, independientemente de su capacidad de pago.

El problema de seguridad con las soluciones de reuniones actuales

Por el lado del consumidor, muchos dependen de servicios como WhatsApp, Facebook Messenger o Apple FaceTime para conectarse con amigos y familiares. Aunque estas aplicaciones usan cifrado de extremo a extremo para evitar que el proveedor escuche, tienen desventajas importantes:

  • Alta fricción y recopilación de metadatos: Cada participante debe instalar la aplicación, crear una cuenta (que a menudo requiere un número de teléfono o un correo electrónico) y ser añadido a un grupo. Este proceso crea una alta fricción y permite a los proveedores recopilar valiosos metadatos de gráficos sociales.
  • Exposición de la dirección IP: Por defecto, estos servicios a menudo usan conexiones peer-to-peer(ventana nueva). Esto significa que los participantes pueden ver las direcciones IP de los demás, revelando potencialmente sus ubicaciones físicas a menos que usen una VPN de buena reputación(ventana nueva).
  • Límites de escalabilidad: Las aplicaciones de chat para consumidores tienen dificultades con los grupos grandes porque las conexiones peer-to-peer crecen de forma exponencial con cada participante añadido. En consecuencia, los límites de llamadas son estrictos: WhatsApp limita a 32 participantes y muchos otros a 50.

Para las reuniones profesionales se utilizan habitualmente servicios como Zoom, Google Meet y Microsoft Teams. Estos servicios usan servidores masivos en centros de datos para retransmitir audio y vídeo, de modo que pueden escalar a reuniones más grandes con hasta 1000 participantes al tiempo que ocultan las IP de los participantes entre sí. También ofrecen una alta accesibilidad, permitiendo a los usuarios unirse a través de cualquier navegador web sin crear una cuenta.

Sin embargo, el cifrado de extremo a extremo (E2EE) está ausente o mal implementado. Fundamentalmente, estas plataformas no se diseñaron con la privacidad como prioridad.

Proton Meet resuelve este dilema al aprovechar el protocolo de cifrado de vanguardia Messaging Layer Security (MLS), mientras mantiene la accesibilidad y los controles de administrador que se esperan de las soluciones empresariales.

Diseño técnico

WebRTC para alto rendimiento y fácil acceso

De forma similar a otros servicios de reuniones profesionales, la base de Proton Meet es la tecnología WebRTC con unidades de reenvío selectivo (SFU), que son los grandes servidores que retransmiten el audio, el vídeo, el chat y otros datos a todos los participantes.

Utilizamos una red distribuida de centros de datos en todo el mundo, como hacemos para Proton VPN, para ofrecer la mayor fiabilidad y la menor latencia en cada llamada. Al no haber conexiones peer-to-peer, podemos escalar a llamadas de grupo masivas a la vez que ofuscamos las IP de los participantes entre sí.

Diagrama que demuestra cómo Proton Meet usa unidades de reenvío selectivo para mayor fiabilidad

Dado que WebRTC es una tecnología consolidada adoptada por los principales navegadores, se puede acceder a Proton Meet desde cualquier ordenador o dispositivo móvil con un navegador web. Puedes enviar un enlace de reunión a cualquier persona en el mundo y se puede unir a la reunión al instante en cualquier navegador web, incluso si no tiene una cuenta de Proton o la aplicación Proton Meet. Además de la aplicación del navegador web, Proton Meet también tiene aplicaciones móviles y de escritorio para aquellos que prefieren usar aplicaciones en lugar de un navegador.

Autenticación de reuniones con SRP para que Proton nunca pueda acceder a tus llamadas

De manera similar a otros servicios de reuniones profesionales, ofrecemos controles de administrador para que los anfitriones administren sus reuniones. El anfitrión es el usuario que creó el enlace de la reunión y lo envió a los otros participantes. Es fundamental que los anfitriones solo compartan los enlaces de las reuniones con personas de confianza, ya que cualquiera con el enlace completo de la reunión puede unirse a ella si no está bloqueada. Diseñamos Proton Meet para generar automáticamente una contraseña única para cada reunión, pero esta contraseña nunca es conocida por los servidores de Proton, lo que nos impide acceder a una reunión.

Un enlace de reunión se ve así:

Diagrama que ilustra los componentes de un enlace de reunión de Proton Meet

Incluye un ID de reunión (S0NDHQ48NR) y una contraseña (LaggoOcjlq6L). El símbolo hash (#) en el enlace significa que la parte posterior al mismo (la contraseña, en nuestro caso) no se envía al servidor mediante el navegador. Esto evita que se registre la contraseña o se acceda a ella en el lado del servidor. La contraseña se genera en el dispositivo del anfitrión y luego se comparte con los demás dispositivos del anfitrión con cifrado de extremo a extremo para que este pueda acceder de forma segura a los enlaces de sus reuniones desde todas las aplicaciones y dispositivos en los que haya iniciado sesión.

Cuando se crea un enlace de reunión, el cliente del anfitrión almacena un verificador de contraseña con el servidor para que Proton Meet pueda usar el protocolo SRP (Secure Remote Password)(ventana nueva) para garantizar que todos los participantes de la reunión tengan las contraseñas correctas, sin que el servidor llegue a conocer la contraseña. SRP ha estado asegurando los inicios de sesión de Proton durante los últimos 10 años y garantiza que los servidores de Proton puedan servir al usuario correcto sin que Proton tenga acceso a la contraseña que puede desbloquear las claves privadas.

Cifrado de extremo a extremo con Messaging Layer Security (MLS)

El objetivo del cifrado de extremo a extremo (E2EE) es garantizar que solo los participantes puedan descifrar la comunicación. Otros terceros, incluido el proveedor de servicios, no deberían poder escuchar.

La mayoría de los protocolos E2EE están diseñados para la comunicación 1 a 1. Por ejemplo, en Proton Mail, que usa OpenPGP para E2EE, si envías un correo electrónico a varios usuarios de Proton Mail, OpenPGP tiene que cifrar de forma asimétrica para cada destinatario usando la clave pública de cada destinatario. La computación y el ancho de banda escalan linealmente con el número de participantes y resulta muy costoso para llamadas y chats de grupos grandes.

En 2023, un protocolo llamado Messaging Layer Security (MLS), en el que han estado trabajando algunos miembros del equipo de Proton, se convirtió en un estándar de IETF. Proporciona una forma mucho más eficaz de usar E2EE para grupos grandes. La idea es que, a medida que se añaden o eliminan miembros, estos aportan material de claves para ese ciclo del protocolo, llamado Epoch. Los miembros se organizan en un árbol binario que les permite actualizar eficientemente a los miembros con nuevos secretos al entrar en un nuevo Epoch. Todos los miembros acuerdan criptográficamente quién está en el grupo en todo momento.

En Proton Meet, la clave Epoch se usa para derivar las claves que se usan para cifrar el audio, el vídeo y los mensajes que se envían al grupo. Cuando un nuevo participante se une o cuando un participante se va, esto desencadena una rotación de claves y todos comienzan a usar nuevas claves. Esto significa que un participante solo tiene las claves criptográficas para descifrar la comunicación enviada después de unirse y antes de abandonar el grupo, lo que garantiza el secreto hacia adelante y la seguridad posterior al compromiso.

En Proton Meet, todos los datos de audio, vídeo, compartir pantalla y chat siempre se cifran del lado del cliente usando una clave proporcionada por MLS antes de enviarse a los servidores SFU, que simplemente reenvían los datos cifrados a los demás participantes.

Proton Meet usa la contraseña de la reunión como una clave precompartida (PSK) en MLS para garantizar que solo los participantes con la contraseña correcta de la reunión puedan derivar las claves MLS correctas. Dado que los servidores de Proton Meet no tienen la contraseña de la reunión y, por tanto, no pueden derivar las claves MLS, Proton no puede descifrar ni grabar ningún audio, vídeo, pantalla compartida o mensajes de chat. Ten en cuenta que los participantes pueden seguir grabando las reuniones localmente en sus dispositivos.

Modelo de amenaza

Sin registros

Aunque E2EE puede asegurar las transmisiones de audio y vídeo de las reuniones, no protege los metadatos, como los gráficos sociales que pueden permanecer online y dañar nuestra privacidad. Muchos de los usuarios de Proton son periodistas, activistas y ejecutivos de alto perfil que necesitan asegurarse de que sus identidades y relaciones se mantengan confidenciales. Proton Meet tiene como objetivo la minimización de datos y no almacena registros de metadatos, como quién se reunió con quién después de que finalizó la llamada. Los participantes también pueden unirse a las reuniones de forma anónima sin iniciar sesión en una cuenta de Proton.

Identidad anónima

Proton Meet no revela la identidad de los participantes de la reunión entre sí. Cada vez que te unes a una reunión, puedes elegir cualquier nombre para usar en esa reunión. Si has iniciado sesión, el campo de nombre se autocompletará con el nombre principal de la cuenta para tu comodidad. Este nombre de participante está cifrado de extremo a extremo con una clave derivada de la contraseña de la reunión y luego se comparte con otros participantes. Ninguna información de identificación personal (PII), como la dirección de correo electrónico o la IP, es visible para otros participantes. Ten en cuenta que si envías invitaciones de calendario, el correo electrónico revelará la dirección de correo electrónico vinculada a ese calendario.

Compromiso del servidor

Diseñamos Proton Meet para minimizar tanto la cantidad de confianza requerida en los servidores de Proton como el nivel de riesgo si nuestros servidores se ven comprometidos. A continuación, repasaremos varios escenarios y cómo los usuarios pueden mantenerse atentos y detectar intrusiones en las reuniones.

  • En primer lugar, si solo se comprometen los servidores SFU de WebRTC, el atacante puede censurar y bloquear el reenvío de datos de audio, vídeo o chat, pero no puede leer ni alterar los datos porque las claves solo se comparten a través del cifrado de extremo a extremo de MLS. Los servidores SFU tampoco pueden identificar qué sala SFU corresponde a qué ID de reunión, ya que ese mapeo solo es visible en nuestra base de datos y en los servidores API de backend.
  • En segundo lugar, si se comprometen los servidores de bases de datos de Proton Meet, hay muy poco riesgo de filtración de datos, ya que las bases de datos solo tienen los ID de las reuniones y nunca tienen las contraseñas ni ningún dato de audio, vídeo o chat. Por lo tanto, el atacante no podría unirse a ninguna reunión, ni conocer a los participantes de reuniones pasadas, ni acceder a ningún dato confidencial.
  • Por último, si los servidores API de backend de Proton Meet, incluidos los servidores MLS, se ven comprometidos, un atacante puede intentar unirse al grupo de MLS haciéndose pasar por un nuevo participante. Sin embargo, sin la contraseña de la reunión para la clave precompartida, el atacante no podrá derivar las claves MLS correctas y, por lo tanto, no podrá escuchar ni ver a los demás participantes. Para los usuarios con requisitos de seguridad extremadamente altos, la pestaña de información de la reunión muestra el estado de MLS, como el Epoch, el tamaño del grupo y el código de seguridad que se deriva del secreto del Epoch. Por lo tanto, es posible verificar que el tamaño del grupo de MLS coincide con el número de participantes de confianza en la reunión y que el código de seguridad es el mismo en todos los participantes.
Imagen que muestra información sobre la implementación de Messaging Layer Security de Proton Meet mostrada en una ventana durante una videollamada en curso

Dado que los datos de MLS se almacenan en cada dispositivo cliente, cualquier cambio en el grupo de MLS será visible para todos los participantes. Así que, incluso si todos los servidores se ven comprometidos y un atacante se une a la reunión, todos los participantes podrán ver el cambio de estado de MLS y que hay más participantes de lo esperado. Como todos los clientes de Proton Meet son de código abierto(ventana nueva), cualquiera puede revisar la seguridad del código del lado del cliente que implementa MLS.

Enlace de reunión comprometido

El riesgo principal para una llamada de Proton Meet es que un participante no autorizado obtenga acceso a través de un enlace compartido. Para mitigar esto, los anfitriones pueden bloquear las reuniones una vez que hayan llegado los asistentes esperados. También pueden silenciar el audio, detener el vídeo o eliminar a los participantes no deseados al instante.

También recomendamos generar un enlace de reunión único para cada sesión para evitar la reutilización de enlaces en diferentes grupos. Esto se gestiona automáticamente al usar la función Programar reunión, y los enlaces permanentes de la sala de reuniones también se pueden rotar manualmente según sea necesario. Las futuras actualizaciones incluirán controles de seguridad aún más avanzados.

Conclusión

El lanzamiento de Proton Meet es un hito importante en nuestra misión de construir una internet más privada. Mientras que las soluciones de videollamadas de las grandes tecnológicas se aprovechan de nuestra necesidad de conectarnos escuchando nuestras llamadas y monetizando nuestros datos, el modelo de seguridad de Proton Meet garantiza que tus conversaciones privadas se mantengan privadas.

Cifrado de extremo a extremo y con sede en Europa, Proton Meet ofrece una alternativa verdaderamente soberana a las grandes tecnológicas para la comunicación personal y profesional, protegiéndote de vulneraciones, vigilancia y explotación. Protegido por un cifrado de acceso cero, seguridad de múltiples capas y algunas de las leyes de privacidad más estrictas del mundo, Proton Meet ayuda a las empresas a simplificar el cumplimiento normativo y protege a todos los usuarios de las solicitudes de datos de EE. UU. y de la jurisdicción extraterritorial.

Nuestros principios están protegidos por el principal accionista de Proton, la organización sin ánimo de lucro Proton Foundation, y nuestro negocio existe para servir a los intereses de nuestra comunidad. Así que, como todos nuestros servicios, el desarrollo de Proton Meet estará guiado por tus comentarios y solicitudes de funciones. Gracias por todo tu soporte.