In un recente comunicato, Discord ha mantenuto fede alle promesse. Lo scorso anno, infatti, la società aveva annunciato la sperimentazione di nuovi protocolli e tecnologie di crittografia per le chiamate audio e video sulla propria applicazione, promettendo aggiornamenti ufficiali nel medio termine.

Ebbene, dopo un lungo lavoro di test, progettazione, sviluppo e verifica, la società ha ora annunciato la crittografia end-to-end di audio e video (“E2EE A/V” o “E2EE”), che ha ribattezzato con il nome di protocollo DAVE.

Nelle sue dichiarazioni, Discord ricorda come sia stata costantemente impegnata a proteggere la privacy e i dati dei circa 200 milioni di persone che utilizzano la propria piattaforma ogni mese. Proprio per far sì che la piattaforma continui a essere un luogo che aiuta gli utenti ad approfondire le proprie conoscenze e a scambiare informazioni, è stato deciso di introdurre chiamate vocali e video più sicure e private.

Il primo step dell’applicazione del protocollo DAVE è l’uso della crittografia E2EE nelle chiamate vocali e video nei DM, nei DM di gruppo, nei canali vocali e nei flussi Go Live. Proviamo a riassumere cosa sta cambiando.

Le novità di Discord: un anno di sperimentazioni

Negli ultimi mesi Discord ha collaborato con Trail of Bits, società indipendente di sicurezza informatica, per condurre una revisione approfondita della progettazione e dell’implementazione di DAVE nella base di codice della piattaforma. Con il lancio di DAVE, Trail of Bits inizierà a pubblicare i risultati della sua revisione.

Tutto ciò premesso, non tutti i servizi di Discord saranno interessati da questa innovazione: come abbiamo visto, l’audio e il video saranno criptati end-to-end, ma i messaggi continueranno a seguire il consueto approccio di moderazione dei contenuti.

Nel suo comunicato, Discord informa che la progettazione e l’implementazione del protocollo DAVE sono basati su cinque obiettivi chiave.

discord

Conversazioni private

Grazie alla novità del protocollo A/V di E2EE, durante le chiamate nessuno – tranne i partecipanti – può accedere ai contenuti delle conversazioni audio e video in corso. In altri termini, nessuno – compreso Discord – può conoscere le chiavi di crittografia dei contenuti multimediali.

Tecnicamente, le chiavi di crittografia multimediale di E2EE sono diverse per ogni chiamata e per ogni gruppo specifico all’interno della chiamata in un determinato momento. Quando i partecipanti si uniscono o lasciano una chiamata, le chiavi vengono cambiate e i membri non possono decifrare i media inviati prima di unirsi o dopo essersi allontanati.

Protocollo efficace

Discord ha poi lavorato per rendere il protocollo E2EE A/V pubblicamente verificabile e in grado di contribuire al raggiungimento degli obiettivi prefissati. Per questo fine il protocollo è stato dettagliato nel whitepaper e nella libreria open-source che accompagnano il lancio di questa novità, utilizza sottoprotocolli e algoritmi crittografici standard del settore e la sua progettazione e implementazione sono state verificate esternamente da Trail of Bits.

Supporto della piattaforma

DAVE è compatibile con tutti i client supportati da Discord e con quasi tutti gli spazi voce e video. Per trasmettere audio e video in tempo reale, Discord utilizza WebRTC. Per quanto riguarda i client web, la limitazione è rappresentata dalla disponibilità dell’API WebRTC nei browser.

Esperienza utente

Discord ricorda poi che le novità non impatteranno sull’esperienza utente e che dunque sarà possibile continuare ad utilizzare la piattaforma senza pensare alla tecnologia e ai protocolli sottostanti.

E2EE A/V è inoltre indicato essere il protocollo predefinito per voce e video nei DM, nei DM di gruppo, nei canali vocali e nei flussi Go Live su Discord.

Scalabilità

Infine, Discord afferma che indipendentemente dal numero di partecipanti desidera che tutte le conversazioni audio e video possano funzionare correttamente, senza intoppi tecnologici. Ha dunque introdotto il Messaging Layer Security per soddisfare i requisiti di scalabilità e prestazioni.

crittografia discord

Come funziona

Nella parte più tecnica del suo comunicato, Discord informa poi che sono quattro i componenti principali che si integrano per formare il protocollo DAVE:

  • trasformazioni codificate WebRTC: DAVE utilizza l’API di trasformazione codificata WebRTC, permettendo l’inserimento di una funzione di trasformazione del frame sia sul lato di invio che su quello di ricezione, criptando dopo la codifica sul lato di invio e decriptando prima della decodifica sul lato di ricezione. Ogni frame viene dunque crittografato o decrittografato con una chiave simmetrica per ogni mittente, nota a tutti i partecipanti alla sessione audio e video, ma sconosciuta a qualsiasi estraneo che non sia membro della chiamata, compreso Discord;
  • coppie di chiavi di identità e verifica dell’utente: Discord ha scelto un cifrario MLS con chiavi di firma ECDSA (Elliptic Curve Digital Signature Algorithm), per compatibilità con WebCrypto e per consentire un futuro miglioramento dell’archiviazione delle chiavi. Ogni partecipante alla chiamata genera una coppia di chiavi di identità ECDSA P256 e condivide la chiave pubblica con gli altri membri della chiamata prima di unirsi al gruppo MLS sottostante. Ogni dispositivo genera inoltre la propria coppia di chiavi e non c’è sincronizzazione delle chiavi private tra i dispositivi di un utente;
  • versione del protocollo e transizioni di gruppo: affinché una chiamata possa utilizzare E2EE, ogni membro della chiamata deve supportare il protocollo. Pertanto, durante la fase di rollout, la presenza di un solo membro che non lo supporta costringe la chiamata rinunciare al protocollo. La chiamata verrà però automaticamente “aggiornata” a E2EE se quel membro si disconnette. Quando è necessario cambiare protocollo o membro, il gateway vocale lo annuncia a tutti i partecipanti e coordina l’inizializzazione, la pulizia o la modifica del gruppo MLS;
  • esperienza utente chiavi in mano: è possibile che molti utenti non si accorgano dei cambiamenti così annunciati. Tuttavia, Discord ha anche chiarito che per supportare l’implementazione di E2EE A/V sta introducendo modifiche all’interfaccia utente per visualizzare quando le chiamate vocali e video sono crittografate end-to-end e per aiutare i membri delle chiamate a utilizzare i Codici di verifica per eseguire verifiche fuori banda dei membri nelle chiamate E2EE.