In primo luogo, dal loro paper
Messages to WhatsApp groups build on the pairwise encrypted sessions
outlined above to achieve efficient server-side fan-out for most
messages sent to groups. This is accomplished using the “Sender Keys”
component of the Signal Messaging Protocol.
The first time a WhatsApp group member sends a message to a group:
- The sender generates a random 32-byte Chain Key.
- The sender generates a random Curve25519 Signature Key key pair.
- The sender combines the 32-byte Chain Key and the public key from the Signature Key into a Sender Key message.
- The sender individually encrypts the Sender Key to each member of the group, using the pairwise messaging protocol explained previously.
For all subsequent messages to the group:
- The sender derives a Message Key from the Chain Key, and updates the Chain Key.
- The sender encrypts the message using AES256 in CBC mode.
- The sender signs the ciphertext using the Signature Key.
- The sender transmits the single ciphertext message to the server, which does server-side fan-out to all group participants. The “hash
ratchet” of the message sender’s Chain Key provides forward secrecy.
Whenever a group member leaves, all group participants clear their
Sender Key and start over.
Direi che il punto chiave qui è il numero 4: il mittente individualmente crittografa la chiave mittente per ciascun membro del gruppo, utilizzando il protocollo di messaggistica a coppie spiegato in precedenza
È un adattamento intelligente che si basa sul protocollo one-to-one: utilizzalo per distribuire una chiave condivisa a ogni singolo membro del gruppo, in modo che il gruppo possa utilizzare il server per fornire un "fan" efficiente -out "(così come la memoria BLOB) senza che il server sia al corrente delle chiavi private richieste.
"Quali proprietà di sicurezza ha il protocollo di chat di gruppo e come funziona (a un livello elevato)?"
Per quanto riguarda il modo in cui funziona, penso che la carta sia tanto più dettagliata di quanto tu possa trovare disponibile fino a quando qualcun altro non fa un'analisi completa (applicata).
Per quanto riguarda le funzionalità che fornisce ...
-
Segretezza inoltrata: il meccanismo a cricchetto descritto fornisce questo (o almeno così rivendicano)
-
Passiva: il metodo di distribuzione "Sender Key" al punto 4 rende impossibile l'attacco passivo: tenere presente che una parte passiva dovrebbe passare attraverso il livello di crittografia delle pipe noise (ai server WhatsApp) per ognuna delle parti nel gruppo e probabilmente richiederebbe più punti di presenza che facilitassero l'accesso al traffico per ogni parte nel gruppo .... quindi puoi praticamente escludere qualcuno a meno che non sia un importante fornitore di dorsali o NSA .
-
Attacco attivo: direi un attacco canale laterale su uno dei dispositivi del gruppo sarebbe fattibile, ma se hai quel livello di accesso invasivo al dispositivo (e quindi molto probabilmente il suo proprietario!), un paio di pinze e 5 minuti con il proprietario del dispositivo sarà probabilmente molto più fruttuoso .
-
Consistenza trascrizione: tutti i messaggi utilizzano HMAC per garantire l'integrità (passaggio 7)
-
Affidabilità plausibile: semmai, tutta la sicurezza extra fornita dalla loro nuova implementazione rende molto difficile negare che un particolare utente abbia inviato un messaggio ....