¿Cómo se sincroniza el cliente web de Whatsapp con la aplicación móvil manteniendo todo E2E?

3

¿Cómo es posible mantener una comunicación E2E mientras se utiliza el cliente web de WhatsApp? He encontrado diferentes Q & A (fi ¿Cómo funciona el cifrado de extremo a extremo con Whatsapp web? ) pero nadie resolvió mis dudas por completo.

¿Cómo se sincroniza el cliente web con la aplicación móvil? ¿Cómo se envían inicialmente los mensajes a la sesión del navegador? ¿Qué sucede cuando escribo un mensaje en el cliente web para mantener toda la comunicación E2E?

    
pregunta toomuchkafeine 14.01.2017 - 01:19
fuente

2 respuestas

2

No tendría sentido completar el sistema cifrado de extremo a extremo entre dos clientes web, porque en ese caso los datos cifrados / descifrados por el cliente web no serán legibles por el cliente móvil y viceversa.

Para evitar esto, existe un canal protegido creado entre los clientes móviles y web. Los clientes móviles ejecutarán el servicio de chat cifrado de extremo a extremo entre sí y generarán diferentes pares de claves para hablar con los clientes web. Por lo tanto, el mensaje puede ser leído / generado por ambos clientes (móviles y web).

La respuesta a la que se refiere ya da ideas técnicas sobre cómo se implementa. Solo añadiré un flujo para que lo entiendas.

En consecuencia, digamos que los usuarios A y B se están comunicando a través de whatsapp. Entonces, la forma en que funcionará el chat cifrado de extremo a extremo es:

El cliente web de

A < -protected- > El cliente móvil de A < -E2E- > Cliente móvil de B < - Protected- > El cliente web de B.

[Parafraseando partes de la respuesta referida en la pregunta]

  

¿Cómo se sincroniza el cliente web con la aplicación móvil?

La configuración inicial se realiza cuando el cliente móvil escanea el código QR del cliente web. Después de eso, es una arquitectura de servidor de cliente simple donde el cliente móvil actúa como servidor. Todos los mensajes son legibles para el cliente móvil.

  

¿Cómo se envían inicialmente los mensajes a la sesión del navegador? ¿Qué sucede cuando escribo un mensaje en el cliente web para mantener toda la comunicación E2E?

Una vez que se establece una conexión segura entre la web y el cliente móvil, se utiliza para toda la comunicación. Nuevamente, no es un extremo a otro el cifrado entre los dos clientes web. Los clientes móviles pueden leer todos los mensajes. Por lo tanto, el cifrado de extremo a extremo es entre los clientes móviles y web. Luego habrá otro canal cifrado de extremo a extremo entre los clientes móviles y web.

    
respondido por el Limit 14.01.2017 - 01:52
fuente
1

Esta es mi reconstrucción después de una investigación.

Esta primera imagen podría representar el flujo cuando Alicia envía un mensaje desde la web de WhatsApp a Bob:

SibienesterepresentaelflujocuandoAliceenvíaunmensajedesdelaaplicaciónmóvilperotambiénseregistraenWhatsappweb:

(omitíintencionalmenteelescaneadodecódigoQR"apretón de manos").

Lo que no entiendo es cómo se deriva KEY-X para mantener el servidor de WhatsApp a ciegas sobre nuestros mensajes del cliente web de WhatsApp. Porque si KEY-X se deriva del parámetro enviado por el servidor de WA durante la validación de QRCode, también pueden derivar la clave y, por lo tanto, todo el esquema E2E falla (lo que creo que no es el caso)

    
respondido por el toomuchkafeine_2 14.01.2017 - 18:02
fuente

Lea otras preguntas en las etiquetas