Cómo implementar el cifrado de extremo a extremo en mensajeros multiplataforma [cerrado]

2

AFAIK, el cifrado de extremo a extremo (E2EE) se inicia en un dispositivo (una plataforma, por ejemplo, Android), el mensaje llega al destino y se descifra allí. Entonces, otros dispositivos míos (como iOS o cliente web) no tienen claves para descifrar el mensaje.

Pero algunas aplicaciones de mensajería instantánea como Wire proporcionan mensajería instantánea E2EE multiplataforma que almacena el historial de chat.

1. La pregunta es: ¿Cómo diferentes dispositivos descifran un mensaje que es de extremo a extremo cifrado en un dispositivo diferente? ¿Cómo se sincronizan los mensajes de iOS, Android y los clientes web y de escritorio? Si comparten claves privadas, ¡¿cómo podemos confiar en que el servidor no guarde la clave ?!

2. ¿Alguna idea de cómo Wire Messenger sincroniza los mensajes?

    
pregunta Saeed 25.07.2017 - 17:14
fuente

1 respuesta

2

Intentaré responder lo que, en el momento de escribir, entiendo, son sus preguntas:

La criptografía es independiente de la plataforma, por lo que no importa qué plataforma está enviando o recibiendo un mensaje cifrado siempre que el remitente y el receptor se adhieran al mismo protocolo.

En cuanto al intercambio de claves: Digamos que tiene dispositivos A y B, ambos pertenecientes a la misma identidad, I. Ahora, se supone que tengo acceso a los mensajes a través de A y B. Eso significa que cada mensaje es para estar cifrado con la clave (A) y la clave (B), o esa clave (A) = clave (B).

En el primer caso, no puede confiar en que el servidor no agregue de forma transparente un tercer dispositivo bajo su control a la lista de teclas para I, es decir, la tecla (C). Esto podría provocar algunas cejas con el remitente, pero como están en control de la interfaz de usuario y para eso, no importa.

En el segundo caso, puede compartir las claves estableciendo un canal de comunicaciones seguro para transmitir la clave, por ejemplo, al mostrar un código QR en A y escanearlo con B en un entorno seguro.

En ambos casos, como la IU y la lógica pueden ser fuente cerrada o puede que no esté ejecutando el binario para el que tiene fuentes (podría estar parcheado antes de la entrega), no puede estar seguro de que A ni B transmitan todas las claves conocidas. al servidor mientras estás enviando mensajes de texto.

Se reduce a: el intercambio de claves es un problema solucionable para este escenario, pero el software de confianza no lo es. Usted hace o no lo hace y utiliza su propio software bajo su control, siguiendo el mismo protocolo.

En cuanto a que solicita la implementación y los detalles de diseño para un producto específico: No lo sé; Puede que no sea revelado. Y si lo fuera, si desconfías del proveedor, ¿por qué confiar en lo que dicen?

    
respondido por el Tobi Nary 26.07.2017 - 15:59
fuente

Lea otras preguntas en las etiquetas