Meta

Expandiendo las funciones de cifrado de extremo a extremo en Messenger

Actualización al 22 de agosto de 2023: 

A partir de hoy, los chats de millones de personas en Messenger comenzarán a ser actualizados a estándares de encriptación más fuertes como parte de nuestras pruebas en curso de encriptación de extremo a extremo (E2EE). Seguimos con nuestros planes para lanzar E2EE de forma automática para los chats individuales con amigos y familiares en Messenger a finales de año. Y a medida que aumentamos la escala de las pruebas, queríamos ofrecer una actualización sobre cómo hemos abordado este enorme reto de ingeniería.

Antecedentes

Desde 2019, un equipo de ingenieros, criptógrafos, diseñadores y expertos en políticas de Meta ha estado trabajando en el desafío de llevar un cifrado adicional a los Mensajes Directos (DMs) de Messenger e Instagram para reforzar la seguridad que ya proporcionamos y dar a las personas una confianza adicional de que sus mensajes personales seguirán siendo privados. 

Sin embargo, pronto se hizo evidente que cambiar nuestros servicios a E2EE sería un rompecabezas de ingeniería increíblemente complejo y desafiante. Tendríamos que reescribir casi todo el código base de mensajería y llamadas desde cero. 

Meta ha trabajado mucho para dar respuesta a importantes preguntas de políticas públicas, como la forma de seguir ofreciendo a los usuarios una experiencia segura. Pero, hasta ahora, no hemos explicado todos los retos de ingeniería.

Cambiar el papel del servidor

Como muchos servicios de mensajería, los DMs de Messenger e Instagram fueron diseñados originalmente para funcionar a través de servidores. Los servidores de Meta actúan como puerta de enlace entre el emisor y el receptor del mensaje, lo que llamamos los clientes. Los servidores procesan el contenido de los mensajes entre las dos personas, actuando como una fuente central de la verdad que asegura que las partes que se están comunicando vean lo mismo, ya sea un mensaje de texto, un emoji o un video. 

Sin embargo, con E2EE, no podíamos confiar en que los servidores hicieran el trabajo de procesamiento y validación. Teníamos que rediseñar todo el sistema para que funcionara sin que los servidores de Meta pudieran ver el contenido de los mensajes. 

Dado que necesitábamos evitar el uso de servidores para procesar el contenido de los mensajes, tuvimos que replantearnos cómo escalaríamos en la nueva infraestructura. Esto significa que hay billones de conversaciones activas que ya existen y que hay que actualizar con E2EE, sin romper las expectativas de la gente en cuanto a la velocidad a la que pueden comunicarse o la fiabilidad de la entrega de sus mensajes. También tuvimos que desarrollar nuevas formas de gestionar el historial de mensajes, por ejemplo, mediante la creación de un PIN. Para que nuestro enfoque de los PIN mantuviera la E2EE, también creamos una nueva infraestructura de módulos de seguridad de hardware (HSM).

Lecciones aprendidas de Messenger y WhatsApp

No es la primera vez que hacemos algo así. Hace unos años actualizamos Messenger con lo que llamamos código Lightspeed para hacerlo más rápido y ligero. Sin embargo, construir E2EE es mucho más difícil, porque no solo tuvimos que hacer la transición a una nueva arquitectura de servidor, sino reescribir nuestra base de código para trabajar en varios dispositivos diferentes, en lugar de hacerlo solo en el servidor. 

Además, estamos aprendiendo lecciones del equipo de ingeniería de WhatsApp sobre cómo entregar mensajes a gran escala y a alta velocidad en un entorno cifrado de extremo a extremo. Una lección valiosa que hemos aprendido es que tiene que ser escalable, fiable y lo más sencillo y ligero posible. Pensamos en esto de forma similar a como los diseñadores de aviones piensan en la aerodinámica. Racionalizar la complejidad de nuestro servicio de mensajería crea un mejor resultado para las personas que tienen poca conectividad.

Reconstrucción de funciones

A medida que hemos ido desarrollando E2EE, hemos tenido que reconstruir más de 100 funciones centradas en el cliente. Messenger es una de las experiencias de chat más completas que existen. Sabemos que la gente quiere encriptación, pero también la misma diversión y capacidad de expresión en Messenger. 

Un ejemplo de cómo hemos reconstruido Messenger es cuando la gente comparte enlaces externos como videos de YouTube. Sabemos que la gente quiere ver vistas previas enriquecidas, para que tengan una idea más completa del contenido de los enlaces compartidos antes de hacer clic en ellos. En el modelo antiguo, el servidor obtenía esa información de YouTube y mostraba una imagen del video como vista previa. Por eso a veces tarda un segundo en cargarse. Ahora, lo que ocurre en un chat E2EE es que la aplicación de tu teléfono va a YouTube, obtiene la vista previa y, cuando pulsas enviar, tu aplicación encripta todo el paquete y lo envía al destinatario.

Mantener las conversaciones

También necesitábamos construir E2EE mientras manteníamos las conversaciones en Messenger. Hemos tenido que reconstruir todas las funciones y experiencias, desde el envío de mensajes hasta nuestras funciones más expresivas, como los stickers, para garantizar que Messenger funcione como la gente espera, pero ahora con la privacidad y seguridad adicionales que proporciona E2EE. A medida que aumentemos la escala de nuestras pruebas y, finalmente, pongamos en marcha el servicio actualizado, los usuarios tendrán que actualizar su aplicación a una versión reciente para obtener la E2EE en automático. Por este motivo, «pasar» todos los mensajes a E2EE llevará más tiempo de lo previsto. A medida que los usuarios actualicen sus aplicaciones a la última versión de Messenger, podremos actualizar esas conversaciones con la privacidad y seguridad adicionales de E2EE. 

En última instancia, las pruebas ampliadas que iniciamos hoy nos darán la imagen más clara de nuestro trabajo para implementar el cifrado de extremo a extremo. Les mantendremos informados a medida que sigamos probando y mejorando este servicio.

Publicado originalmente el 23 de enero de 2023:

Hoy también estamos anunciando la introducción de algunas de las amadas características de Messenger a los chats cifrados de extremo a extremo, incluyendo: 

 

Hoy, también comenzamos a expandir gradualmente las pruebas de chats cifrados de extremo a extremo por defecto para Messenger. Sabemos que la gente quiere un espacio para conectarse, sabiendo que esas conversaciones son privadas y seguras. Por este motivo, hemos dedicado tiempo para conformar un equipo de ingenieros talentosos, criptólogos, diseñadores y expertos en políticas públicas que están comprometidos para desplegar chats cifrados de extremo a extremo por defecto en Messenger.

Durante los siguientes meses, más personas verán algunos de sus chats actualizarse gradualmente con una capa extra de protección proporcionada por el cifrado de extremo a extremo. Notificaremos a la gente en estas conversaciones individuales conforme se actualicen. Sabemos que surgirán preguntas sobre cómo elegimos los chats a actualizar, por lo que queremos aclarar que es un proceso aleatorio. Está diseñado para que no exista un impacto negativo en la infraestructura y la experiencia de chat de los usuarios. Esto también asegura que nuestros nuevos chats cifrados de extremo a extremo sigan proporcionando una experiencia veloz, confiable y valiosa en Messenger.

Construir un servicio cifrado de extremo a extremo seguro y resiliente para los miles de millones de mensajes que se envían en Messenger cada día requiere pruebas cuidadosas, así que pasará algún tiempo para que todos los usuarios cuenten con cifrado de extremo a extremo por defecto. Compartiremos actualizaciones conforme avancemos hacia la meta durante el curso de 2023