Sto cercando i protocolli esistenti per una chat di gruppo con due cose:
-
End to end encrypted. Solo quello che ti aspetteresti: i messaggi sono decifrabili solo dai membri della chat e viene rilevata la manomissione dei messaggi.
-
Non dovrebbe crittografare ogni messaggio per ogni membro individualmente. Il protocollo del segnale fa questo, trasformando le chat di gruppo in molte chat individuali, che non è una soluzione adatta e scalabile al problema Con potenzialmente centinaia di membri in un gruppo, anche la crittografia di una chiave di crittografia per ogni membro rappresenta un notevole svantaggio.
Ogni nuovo membro può ricevere la chiave pubblica di tutti al momento dell'iscrizione e qualsiasi chiave di gruppo deve essere ruotata quando un membro lascia. Questo è abbastanza scalabile e potrebbe non esserci un modo per aggirarlo senza compromettere la sicurezza, quindi è consentito e non conta come "crittografare ogni messaggio per tutti".
Ho cercato i protocolli esistenti, ma ho trovato zero risultati che soddisfano questi requisiti. Ho pensato di leggere qualcosa di qualche anno fa in cui il gruppo ha ricavato una chiave comune e ha usato quello o qualcosa del genere, ma non riesco a trovare nulla di simile.
-
Segnale, WhatsApp e Allo utilizzano il Protocollo di segnale che violates requirement # 2 .
-
Tox ha una documentazione estesa ma in qualche modo non riesco a trovare il modo in cui avviene la crittografia in una chat di gruppo.
-
Un'altra fonte afferma addirittura che "non puoi creare gruppi con end-to-end" (anche se sono abbastanza sicuro che si sbaglia).
-
E infine una serie di altre applicazioni popolari come Mormone e XMPP non possono essere eseguiti end-to-end, o semplicemente non supportano le chat di gruppo come come Telegram , Ricochet e ZRTP .