Discord ha introdotto il protocollo DAVE. Si tratta di un protocollo di crittografia end-to-end (E2EE) personalizzato progettato per proteggere le chiamate audio e video sulla piattaforma da intercettazioni non autorizzate. DAVE è stato creato con l'aiuto degli esperti di sicurezza informatica di Trail of Bits. Quest'ultimi hanno anche verificato il codice e l'implementazione del sistema E2EE. Il nuovo sistema coprirà le chiamate audio e video one-to-one tra utenti in canali privati, le chiamate audio e video in chat di piccoli gruppi, i canali vocali basati su server utilizzati per conversazioni di gruppo più ampie e lo streaming in tempo reale. Come si legge nell'annuncio di Discord:"oggi inizieremo a migrare voce e video nei DM, nei DM di gruppo, nei canali vocali e nei flussi Go Live per utilizzare E2EE. Potrai confermare quando le chiamate sono crittografate end-to-end ed eseguire la verifica degli altri partecipanti a tali chiamate".
L'introduzione di DAVE su Discord è una mossa significativa per migliorare la sicurezza dei dati e la privacy sulla piattaforma, utilizzata da oltre 200 milioni di persone. Ancora più importante, Discord ha deciso di rendere il protocollo e le sue librerie di supporto open source, consentendone l’analisi da parte dei ricercatori di sicurezza. L’azienda ha anche pubblicato un whitepaper con le informazioni tecniche complete, per garantire la trasparenza nei confronti della community.
Discord: come funziona il protocollo DAVE
DAVE utilizza l'API di trasformazione codificata WebRTC, che consente la crittografia dei frame multimediali dopo la codifica e prima della pacchettizzazione per la trasmissione. L'estremità ricevente decrittografa i frame e quindi li decodifica. Solo i metadati speciali del codec, come intestazioni e sequenze riservate, rimangono non crittografati. Per quanto riguarda la gestione delle chiavi, il protocollo Messaging Layer Security (MLS) viene utilizzato per scambi di chiavi di gruppo sicuri e scalabili. Ogni partecipante ha poi una chiave di crittografia multimediale simmetrica per mittente. L'algoritmo Elliptic Curve Digital Signature (ECDSA) viene utilizzato per generare coppie di chiavi di identità. Quando la composizione di un gruppo cambia (un membro se ne va o un nuovo membro si unisce), inizia una nuova "epoca". Infatti, lo stato di crittografia del gruppo passa a quella nuova epoca generando nuove chiavi. Questo processo dovrebbe essere completato senza interruzioni evidenti per i partecipanti.
Infine, per quanto riguarda la verifica dell'utente, esistono metodi fuori banda, come un confronto di codici di verifica chiamati "codici di privacy vocale", derivati dallo stato di epoca MLS del gruppo. La resistenza al tracciamento persistente è ottenuta tramite l'uso di chiavi di identità effimere, poiché agli utenti viene assegnata una nuova chiave per ogni chiamata. Discord ha avviato il processo di migrazione di tutti i canali idonei e gli utenti potranno confermare se le loro chiamate sono crittografate end-to-end controllando l'indicatore corrispondente sull'interfaccia.
Bisognerà attendere un po’ di tempo prima che tutti abbiano pieno accesso al nuovo sistema E2EE su tutti i dispositivi e canali. Gli utenti non devono fare altro che eseguire l'aggiornamento all'ultima applicazione client. I client obsoleti saranno infatti limitati alla crittografia solo di trasporto. Il lancio iniziale riguarderà le app desktop e mobile di Discord, con i client web che seguiranno in futuro.