En primer lugar, de su documento
Los mensajes a los grupos de WhatsApp se basan en las sesiones cifradas de pares
esbozado anteriormente para lograr un despliegue eficiente del lado del servidor para la mayoría
Mensajes enviados a grupos. Esto se logra utilizando las "teclas de remitente"
componente del protocolo de mensajería de señal.
La primera vez que un miembro del grupo de WhatsApp envía un mensaje a un grupo:
- El remitente genera una clave de cadena aleatoria de 32 bytes.
- El remitente genera un par de claves de clave de firma Curve25519 aleatorias.
- El remitente combina la clave de cadena de 32 bytes y la clave pública de la clave de firma en un mensaje de clave de remitente.
- El remitente encripta individualmente la clave del remitente para cada miembro del grupo, utilizando el protocolo de mensajería en pares explicado anteriormente.
Para todos los mensajes posteriores al grupo:
- El remitente deriva una clave de mensaje de la clave de cadena y actualiza la clave de cadena.
- El remitente cifra el mensaje utilizando AES256 en modo CBC.
- El remitente firma el texto cifrado con la clave de firma.
- El remitente transmite el único mensaje de texto cifrado al servidor, que hace un despliegue del lado del servidor a todos los participantes del grupo. El "hash
trinquete "de la clave de cadena del remitente del mensaje proporciona el secreto hacia adelante.
Cada vez que un miembro del grupo se va, todos los participantes del grupo borran sus
Sender Key y empezar de nuevo.
Diría que el punto clave aquí es el número 4: el remitente individualmente cifra la clave del remitente a cada miembro del grupo, utilizando el protocolo de mensajería de pares explicado anteriormente
Es una adaptación inteligente que se basa en el protocolo uno a uno: úselo para distribuir una clave compartida a cada miembro individual del grupo, de modo que el grupo pueda usar el servidor para proporcionar un ventilador eficiente. -out "(así como almacenamiento de blob) sin que el servidor tenga acceso a las claves privadas requeridas.
"Entonces, ¿qué propiedades de seguridad tiene el protocolo de chat de grupo y cómo funciona (en un nivel alto)?"
En cuanto a cómo funciona, creo que el documento es tan detallado como el que estará disponible por ahora hasta que alguien más realice un análisis completo (aplicado).
En cuanto a las características que proporciona ...
-
Secreto hacia adelante: el mecanismo de trinquete descrito proporciona esto (o eso dicen)
-
Pasivo: el método de distribución "Clave del remitente" en el punto 4 hace que los ataques pasivos sean casi imposibles: tenga en cuenta que una parte pasiva tendría que pasar a través de la capa de cifrado de canalizaciones de ruido (a los servidores de WhatsApp) para cada una de las partes en el grupo y probablemente requeriría múltiples puntos de presencia, lo que facilitó el acceso al tráfico para cada parte del grupo ... así que prácticamente puede descartar que haya alguien allí a menos que sea un proveedor principal de la red troncal o NSA .
-
Ataque activo: diría un ataque de canal lateral en uno de los dispositivos del grupo sería factible, pero si tiene ese nivel de acceso invasivo al dispositivo (y, por lo tanto, muy probablemente a su dueño), un par de alicates y 5 minutos con el propietario del dispositivo probablemente será mucho más fructífero. .
-
Coherencia de la transcripción: todos los mensajes utilizan HMAC para garantizar la integridad (paso 7)
-
Denegación plausible: en todo caso, toda la seguridad adicional proporcionada por su nueva implementación hace que sea muy difícil negar que un usuario en particular haya enviado un mensaje ...