Para cumplir con una nueva ley de la UE, la Ley de Mercados Digitales (DMA), que entra en vigencia el 7 de marzo, hemos realizado cambios importantes en WhatsApp y Messenger para permitir la interoperabilidad con servicios de mensajería de terceros. Compartimos cómo habilitamos la interoperabilidad de terceros (interop) manteniendo el cifrado de extremo a extremo (E2EE) y otras garantías de privacidad en nuestros servicios en la medida de lo posible. El 7 de marzo entra en vigor una nueva ley de la UE, la Ley de Mercados Digitales (DMA). Uno de sus requisitos es que los servicios de mensajería designados deben permitir que los servicios de mensajería de terceros sean interoperables, siempre que el tercero cumpla una serie de requisitos de elegibilidad, incluidos los técnicos y de seguridad. Esto permite a los usuarios de proveedores de terceros que elijan habilitar la interoperabilidad (interop) enviar y recibir mensajes con usuarios que hayan optado dentro de Messenger o WhatsApp, ambos designados por la Comisión Europea (EC) como obligados a proporcionar de forma independiente interoperabilidad a servicios de mensajería de terceros. Durante casi dos años, nuestro equipo ha estado trabajando con la EC para implementar la interop de manera que cumpla con los requisitos de la ley y maximice la seguridad, privacidad y protección de los usuarios. La interoperabilidad es un desafío técnico, incluso cuando se centra en las funcionalidades básicas requeridas por la DMA. En el primer año, el requisito es para mensajes de texto 1:1 entre usuarios individuales y el intercambio de imágenes, mensajes de voz, videos y otros archivos adjuntos entre usuarios finales individuales. En el futuro, los requisitos se expanden a funcionalidades de grupo y llamadas. Para interoperar, los proveedores de terceros firmarán un acuerdo con Messenger y/o WhatsApp y trabajaremos juntos para habilitar la interoperabilidad. Hoy publicaremos la Oferta de Referencia de WhatsApp para proveedores de terceros, la cual detallará lo que se requerirá para interoperar con el servicio. La Oferta de Referencia para Messenger se publicará en su momento. Aunque Meta debe estar preparado para habilitar la interoperabilidad con otros servicios dentro de tres meses de recibir una solicitud, puede llevar más tiempo antes de que la funcionalidad esté lista para uso público. Queríamos aprovechar esta oportunidad para explicar la infraestructura técnica y el pensamiento que respaldan nuestra solución de interop. Un enfoque centrado en la privacidad para construir servicios de mensajería interoperables. Nuestro enfoque para cumplir con la DMA se centra en preservar la privacidad y seguridad de los usuarios en la medida de lo posible. La DMA acertadamente establece como requisito legal que no debemos debilitar la seguridad proporcionada a los propios usuarios de Meta. El enfoque que hemos tomado en cuanto a la implementación de la interoperabilidad es la mejor forma de cumplir con los requisitos de la DMA, al mismo tiempo que creamos un enfoque viable para los proveedores de terceros interesados en volverse interoperables con Meta y maximizando la seguridad y privacidad de los usuarios. Implementación de un protocolo encriptado de extremo a extremo. Primero, necesitamos proteger la seguridad subyacente que mantiene seguras las comunicaciones en las aplicaciones de mensajería E2EE de Meta: el protocolo de encriptación. WhatsApp y Messenger utilizan el probado y comprobado Protocolo Signal como un elemento fundamental para su encriptación. Messenger sigue implementando E2EE por defecto para comunicaciones personales, pero en WhatsApp, este ha sido el caso por defecto desde 2016. En ambos casos, estamos usando el Protocolo Signal como base para estas comunicaciones E2EE, ya que representa el estándar actual para chats E2EE. Para maximizar la seguridad de los usuarios, preferiríamos que los proveedores de terceros utilicen el Protocolo Signal. Dado que esto tiene que funcionar para todos, permitiremos a los proveedores de terceros usar un protocolo compatible si pueden demostrar que ofrece las mismas garantías de seguridad que Signal. Para enviar mensajes, los proveedores de terceros deben construir estructuras de mensaje protobuf que luego se encriptan utilizando el Protocolo Signal y luego se empaquetan en estrofas de mensaje en XML. Los servidores de Meta envían mensajes a los clientes conectados a través de una conexión persistente. Los servidores de terceros son responsables de alojar cualquier archivo multimedia que sus aplicaciones de cliente envíen a los clientes de Meta (como archivos de imagen o video). Después de recibir un mensaje multimedia, los clientes de Meta descargarán posteriormente el multimedia encriptado desde los servidores de mensajería de terceros utilizando un servicio proxy de Meta. Es importante tener en cuenta que la promesa de E2EE que Meta proporciona a los usuarios de nuestros servicios de mensajería requiere que controlemos tanto los clientes emisores como los receptores. Esto nos permite asegurar que solo el emisor y los destinatarios previstos puedan ver lo que se ha enviado, y que nadie pueda escuchar tu conversación sin que ambas partes lo sepan. Aunque hemos construido una solución segura para la interop que utiliza el cifrado del Protocolo Signal para proteger los mensajes en tránsito, sin propiedad de ambos clientes (puntos finales) no podemos garantizar lo que un proveedor de terceros hace con los mensajes enviados o recibidos, y por lo tanto no podemos hacer la misma promesa. Nuestra solución técnica se basa en la arquitectura existente cliente/servidor de Meta. Creemos que la mejor manera de ofrecer interoperabilidad es a través de una solución que se base en la arquitectura cliente/servidor existente de Meta. En particular, el requisito de que los clientes se conecten a la infraestructura de Meta tiene los siguientes beneficios, ya que: Permite a Meta maximizar el nivel de seguridad y protección para todos los usuarios al llevar a cabo muchas de las mismas comprobaciones de integridad que hace para los usuarios de Meta existentes. Constituye un modelo de “plug-and-play” para los proveedores de terceros, reduciendo las barreras para posibles nuevos participantes y costos para los proveedores de terceros. Ayuda a maximizar la protección de la privacidad del usuario limitando la exposición de sus datos personales solo a los servidores de Meta. Mejora la confiabilidad general del servicio interoperable ya que se beneficia de la infraestructura de Meta, que ya está escalada globalmente para manejar más de 100 mil millones de mensajes diariamente. Tomando el ejemplo de WhatsApp, los clientes de terceros se conectarán a los servidores de WhatsApp utilizando nuestro protocolo (basado en el Protocolo de Mensajería y Presencia Extensible – XMPP). El servidor de WhatsApp se comunicará con un servidor de terceros a través de HTTP para facilitar una variedad de cosas que incluyen autenticar usuarios de terceros y notificaciones push. WhatsApp expone una API de Asentamiento que los clientes de terceros deben ejecutar al optar por entrar en la red de WhatsApp. Cuando un usuario de terceros se registra en WhatsApp o Messenger, conserva su identificador visible para el usuario y también se le asigna un identificador interno único de WhatsApp que se utiliza a nivel de infraestructura (para protocolos, almacenamiento de datos, etc). WhatsApp requiere que los clientes de terceros proporcionen una “prueba” de su propiedad del identificador visible del usuario de terceros al conectarse o enlistarse. La prueba se construye mediante el servicio de terceros firmando criptográficamente un token de autenticación. WhatsApp utiliza el protocolo estándar OpenID (con algunas modificaciones menores) junto con un Token de JSON Web (JWT Token) para verificar el identificador visible del usuario a través de claves públicas que se recuperan periódicamente del servidor de terceros. WhatsApp utiliza el Marco de Protocolo de Ruido para encriptar todos los datos que viajan entre el cliente y el servidor de WhatsApp. Como parte del Protocolo de Ruido, el cliente de terceros debe realizar un “apretón de manos de Ruido” cada vez que se conecta al servidor de WhatsApp. Parte de este apretón de manos consiste en proporcionar una carga útil al servidor que también contiene el Token JWT. Una vez que el cliente se ha conectado con éxito al servidor de WhatsApp, el cliente debe utilizar el protocolo de chat de WhatsApp para comunicarse con el servidor de WhatsApp. El protocolo de chat de WhatsApp utiliza estrofas de XML optimizadas para comunicarse con nuestros servidores. Mientras continuamos discutiendo esta arquitectura con los proveedores de terceros, creemos que también hay un enfoque para implementar la interop donde podríamos dar a los proveedores de terceros la opción de agregar un proxy o un “intermediario” entre su cliente y el servidor de WhatsApp. Un proxy podría potencialmente dar a los proveedores de terceros más flexibilidad y control sobre lo que su cliente puede recibir del servidor de WhatsApp y también elimina el requisito de que los clientes de terceros deben implementar el protocolo de cliente a servidor de WhatsApp, es decir, mantener su “canal de chat” existente en sus clientes. El desafío aquí es que WhatsApp ya no tendría una conexión directa con ambos clientes y, como resultado, perdería señales de nivel de conexión que son importantes para mantener a los usuarios a salvo de spam y estafas como las huellas dactilares TCP. Por lo tanto, anticiparíamos implementar requisitos adicionales para los proveedores de terceros que opten por esta opción bajo nuestra Oferta de Referencia. Este enfoque también expone todos los metadatos del chat al servidor proxy, lo que aumenta la probabilidad de que estos datos puedan filtrarse accidental o intencionalmente. Explicar claramente cómo funciona la interop a los usuarios Creemos que es esencial que demos a los usuarios información transparente sobre cómo funciona la interop y en qué se diferencia de sus chats con otros usuarios de WhatsApp o Messenger. Esta será la primera vez que los usuarios formen parte de una red interoperable en nuestros servicios, entonces…