0Pricing
Cryptology Academy · Lezione

Crittografia end-to-end nella messaggistica moderna

Esamini il Signal Protocol alla base di WhatsApp e Signal: forward secrecy, ratchet e sealed sender.

Crittografia end-to-end nella messaggistica moderna è una lezione Cryptology Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cryptology Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cryptology Academy include 4 lezioni in totale.

Panoramica del protocollo Signal

Il Signal Protocol è il fondamento crittografico alla base di Signal, WhatsApp e altri sistemi di messaggistica sicura. Combina due algoritmi: X3DH per stabilire un segreto condiviso iniziale quando il destinatario è offline e Double Ratchet per derivare una nuova chiave di crittografia per ogni singolo messaggio. Il risultato è una forte riservatezza con forward secrecy, il tutto in modo trasparente per l'utente.

X3DH: Extended Triple Diffie-Hellman

X3DH permette a due parti di stabilire un segreto condiviso anche quando una di esse è offline. Usa quattro calcoli Diffie-Hellman che combinano chiavi di identità a lungo termine, prekey firmate a medio termine e prekey monouso. Il server conserva le prekey caricate in anticipo dal destinatario. Il mittente esegue X3DH usando queste chiavi, deriva un segreto condiviso e invia un messaggio iniziale crittografato senza aspettare che il destinatario torni online.

L'algoritmo Double Ratchet

Dopo che X3DH ha stabilito il segreto condiviso iniziale, Double Ratchet gestisce la conversazione in corso. Combina un ratchet Diffie-Hellman, che avanza ogni volta che vengono scambiate nuove chiavi DH, e un ratchet a chiave simmetrica, che avanza con ogni singolo messaggio. Ogni messaggio viene crittografato con una chiave univoca, eliminata subito dopo l'uso, quindi la cattura della chiave di un messaggio non compromette nessun altro messaggio.

La forward secrecy nella pratica

La forward secrecy significa che, se un attaccante registra oggi traffico crittografato e in seguito compromette la chiave privata a lungo termine, non può comunque decrittografare i vecchi messaggi. Double Ratchet raggiunge questo obiettivo perché le chiavi dei singoli messaggi sono effimere e vengono eliminate immediatamente. Solo un dispositivo che partecipava alla conversazione in quel momento può decrittografare i messaggi passati, e solo se non li ha eliminati localmente.

Recupero dopo una compromissione

Double Ratchet offre anche il recupero dopo una compromissione, talvolta chiamato sicurezza post-compromissione. Se un attaccante compromette temporaneamente un dispositivo e legge le chiavi correnti, il passaggio successivo del ratchet DH genera nuove chiavi che l'attaccante non può prevedere. I messaggi futuri tornano a essere sicuri senza alcun intervento manuale, a differenza dei sistemi in cui la compromissione di una singola chiave espone tutti i messaggi successivi.

WhatsApp adotta il Signal Protocol

Nel 2016 WhatsApp completò la distribuzione completa della crittografia end-to-end basata sul Signal Protocol su tutte le sue piattaforme, coprendo all'epoca oltre un miliardo di utenti. Fu la più grande implementazione della crittografia end-to-end nella storia. L'integrazione fu sviluppata in collaborazione con Open Whisper Systems, l'organizzazione alla base di Signal. L'implementazione di WhatsApp fu sottoposta a un audit indipendente, che ne confermò la correttezza.

Sealed Sender: nascondere i metadati dei messaggi

Anche con il contenuto crittografato, inizialmente il Signal Protocol rivelava al server chi inviava messaggi a chi. Sealed sender è un'estensione che crittografa l'identità del mittente all'interno della busta del messaggio. Il server conosce solo il destinatario, non il mittente, riducendo i metadati a disposizione del server o di chiunque ottenga per via giudiziaria i suoi registri. Il destinatario decrittografa la busta esterna per scoprire chi ha inviato il messaggio.

Messaggi a scomparsa e chiavi effimere

I messaggi a scomparsa aggiungono un timer allo scadere del quale i messaggi vengono eliminati dai dispositivi sia del mittente sia del destinatario. In combinazione con le chiavi effimere del Double Ratchet, ciò significa che persino un'analisi forense di un dispositivo sequestrato in un momento successivo potrebbe non trovare alcun testo in chiaro recuperabile. La funzione Note to Self di Signal e le impostazioni predefinite dei messaggi a scomparsa incoraggiano a conservare una quantità minima di dati, come pratica di tutela della privacy.

iMessage: un approccio ibrido

Apple utilizza la crittografia end-to-end di iMessage quando entrambe le parti hanno iMessage abilitato, passando a SMS quando una delle due non lo ha. iMessage archivia le chiavi crittografiche dei messaggi in iCloud Keychain, consentendo l'accesso da più dispositivi, ma ciò significa anche che Apple può tecnicamente accedere ai messaggi se obbligata a farlo e se il backup di iCloud è abilitato. A differenza di Signal, iMessage non utilizza il Double Ratchet, quindi non offre le stesse garanzie di forward secrecy.

Perché la messaggistica di gruppo è più difficile da proteggere

In una conversazione tra due persone, il Double Ratchet è efficiente. In un gruppo di N membri, ogni messaggio deve essere crittografato separatamente per ciascun membro oppure è necessario gestire una chiave di gruppo condivisa. Gestire le chiavi di gruppo in modo sicuro è complesso: quando un membro abbandona il gruppo, tutti i membri rimanenti devono aggiornare le proprie chiavi, una procedura nota come post-compromise security per i gruppi. Il protocollo Messaging Layer Security (MLS/RFC 9420) affronta questo problema con aggiornamenti delle chiavi di complessità logaritmica.

Confronto tra Signal, WhatsApp e Telegram

Signal è completamente open source, raccoglie una quantità minima di metadati e utilizza il Signal Protocol in ogni sua parte. WhatsApp usa il Signal Protocol per i messaggi, ma appartiene a Meta e raccoglie una quantità significativa di metadati. Telegram utilizza un protocollo MTProto personalizzato solo nelle Secret Chats; le chat normali non sono crittografate end-to-end e vengono archiviate sui server di Telegram. Per ottenere il massimo livello di privacy, la scelta consigliata è Signal con i messaggi a scomparsa.

Proprietà del Signal Protocol

Quale proprietà del Double Ratchet garantisce che la cattura della chiave di un messaggio non esponga gli altri messaggi?

Crittografia end-to-end: concetti chiave

Il Signal Protocol combina X3DH per l'accordo sulle chiavi offline e il Double Ratchet per la derivazione di una chiave per ogni messaggio. La forward secrecy protegge i messaggi passati; il break-in recovery protegge i messaggi futuri dopo una compromissione. WhatsApp lo ha implementato su larga scala nel 2016. La messaggistica di gruppo richiede protocolli di gestione delle chiavi più complessi, come MLS. La protezione dei metadati richiede tecniche aggiuntive, come sealed sender.

Domande Frequenti

La lezione «Crittografia end-to-end nella messaggistica moderna» è gratuita?

Sì — il testo completo di «Crittografia end-to-end nella messaggistica moderna» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cryptology Academy, passa a CoddyKit PRO. Il corso Cryptology Academy include 4 lezioni in totale.

Cosa imparerò in «Crittografia end-to-end nella messaggistica moderna»?

Esamini il Signal Protocol alla base di WhatsApp e Signal: forward secrecy, ratchet e sealed sender. Eserciti Cryptology Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Cryptology Academy?

Non è richiesta alcuna esperienza precedente. Cryptology Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Crittografia end-to-end nella messaggistica moderna»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Cryptology Academy?

Sì. Ogni lezione Cryptology Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Perché le email sono intrinsecamente insicure
  2. Crittografia email con PGP e GPG
  3. S/MIME nelle email aziendali
  4. Crittografia end-to-end nella messaggistica moderna
← Torna a Cryptology Academy