Come funziona il nuovo protocollo di chat di gruppo di WhatsApp e quali sono le proprietà di sicurezza?

16

Ormai tutti hanno notato che WhatsApp è uscito per intero -codifica di crittografia recente , per comunicazioni dirette, per allegati multimediali e per chat di gruppo .

Ho letto la loro white-paper (PDF) e ho notato una differenza da < a href="https://whispersystems.org/blog/private-groups/"> Chat di gruppo di Signal , dove Signal invia il messaggio di gruppo a tutti i membri stessi (con un flag speciale nell'intestazione crittografata) e WhatsApp invia il messaggio al server che lo distribuisce.

Ora sono confuso come funziona il protocollo di chat di gruppo di WhatsApp, perché non può usare il semplice protocollo da persona a persona (come fa Signal) e utilizza piuttosto una derivazione di chiave basata su un "ratchet" piuttosto complicato (credo) e quali proprietà di sicurezza favorevoli vengono sacrificate da WhatsApp.

Quindi quali caratteristiche di sicurezza ha il protocollo di chat di gruppo e come funziona (a un livello elevato)?

Poiché "le proprietà di sicurezza" sono un po 'generiche, ecco un elenco delle proprietà di sicurezza che sto chiedendo:

  • Sicurezza passiva (un intercettatore non può rompere la crittografia)
  • Sicurezza attiva (un man-in-the-middle non può rompere la crittografia inosservata dopo la prima configurazione)
  • Inoltra segretezza (un compromesso delle odierne chiavi di crittografia segrete non infrange la sicurezza dei messaggi passati, registrati dagli aggressori)
  • Affidabilità plausibile (non ci sono prove certe che un messaggio specifico è stato inviato da me non appena trascorso il tempo X)
  • Consistenza trascrizione (c'è una prova "dura" che tutti nel gruppo hanno visto / vede gli stessi messaggi)
posta SEJPM 06.04.2016 - 13:26
fonte

2 risposte

8

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:

  1. The sender generates a random 32-byte Chain Key.
  2. The sender generates a random Curve25519 Signature Key key pair.
  3. The sender combines the 32-byte Chain Key and the public key from the Signature Key into a Sender Key message.
  4. 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:
  5. The sender derives a Message Key from the Chain Key, and updates the Chain Key.
  6. The sender encrypts the message using AES256 in CBC mode.
  7. The sender signs the ciphertext using the Signature Key.
  8. 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 ....

risposta data 06.04.2016 - 16:33
fonte
1

Da quello che posso raccogliere nel white paper, i messaggi di gruppo sono criptati all'interno del gruppo. Lo stesso Sender Key è distribuito e utilizzato da ciascun partecipante, il che rende il messaggio non autenticato dalla costruzione.

Come si sincronizza il cricchetto tra i mittenti, nessun indizio.

Proprietà:

  • Sicurezza passiva: Sì (un intercettatore non può rompere la crittografia)
  • Sicurezza attiva (un man-in-the-middle non può rompere la crittografia inosservata dopo la prima installazione): Sì anche se tenta di impersonare il server, poiché il server non ottiene mai alcuna chiave.
  • Segretezza inoltrata: sì con la media della funzione ratchet.
  • Affidabilità plausibile: Sì, tutti firmano e crittografano con la stessa chiave simmetrica (per quanto ne so).
  • Consistenza trascrizione: Sì poiché devono essere notificati delle modifiche di Chain Key .

Il whitepaper è lontano da una descrizione tecnica del protocollo. Quindi lo prenderei con estrema cautela.

    
risposta data 06.04.2016 - 16:57
fonte

Leggi altre domande sui tag