🔑 Crittografia

PGP e GnuPG: cifrare e firmare le email in modo consapevole

Come funziona PGP con GnuPG: coppia di chiavi, impronta, rete di fiducia, firma e cifratura delle email. Cosa protegge, cosa no e come evitare gli errori.

PGP, acronimo di Pretty Good Privacy, è uno degli strumenti storici della crittografia per il grande pubblico. Nato nel 1991 per opera di Phil Zimmermann, ha dato origine allo standard aperto OpenPGP, la cui implementazione libera più diffusa è GnuPG (o GPG). Ancora oggi è usato per cifrare email, firmare file e verificare l'autenticità del software. Funziona bene, a patto di capire come ragiona.

Il principio: cifratura ibrida e chiavi personali

Ogni utente genera una propria coppia di chiavi: una privata, protetta da una passphrase, e una pubblica da distribuire. Quando qualcuno ti invia un messaggio cifrato:

  1. il programma genera una chiave simmetrica casuale e con essa cifra il messaggio;
  2. cifra quella chiave con la tua chiave pubblica;
  3. ti invia entrambe le cose.

Solo tu, con la tua chiave privata, puoi recuperare la chiave simmetrica e leggere il testo. Se il messaggio ha più destinatari, la chiave simmetrica viene cifrata separatamente per ciascuno di loro.

La firma funziona al contrario: il mittente firma l'hash del messaggio con la propria chiave privata, e il destinatario verifica la firma con la chiave pubblica del mittente.

Il problema centrale: di chi è questa chiave?

Con PGP chiunque può creare una chiave associata a qualsiasi nome e indirizzo email. Non c'è un'autorità centrale che verifichi l'identità come avviene per i certificati dei siti web. Per questo è fondamentale verificare le chiavi.

L'impronta della chiave

Ogni chiave ha una fingerprint, un'impronta di 40 caratteri esadecimali nelle chiavi attuali, calcolata dalla chiave stessa. Per essere sicuro che una chiave appartenga davvero al tuo interlocutore, confronta l'impronta attraverso un canale diverso dall'email: di persona, al telefono, su un biglietto da visita o su un sito ufficiale.

Non fidarti degli identificativi brevi da 8 caratteri: è possibile generare chiavi false che li condividono con quelle autentiche.

La rete di fiducia

PGP propone un modello decentralizzato chiamato rete di fiducia (web of trust): gli utenti firmano le chiavi di persone che hanno verificato direttamente, e chi si fida di loro può estendere quella fiducia. È un'idea elegante, ma nella pratica pochi la usano in modo sistematico. Per la maggior parte delle persone la verifica diretta dell'impronta resta il metodo più affidabile.

Una gestione delle chiavi ben fatta

Alcune pratiche rendono l'uso di PGP molto più solido.

  • Usa una passphrase robusta per proteggere la chiave privata: se qualcuno copia il file, è l'unica barriera.
  • Crea subito un certificato di revoca e conservalo in un luogo sicuro. Se perdi la chiave o la passphrase, potrai comunque comunicare a tutti che la chiave non va più usata.
  • Imposta una scadenza alla chiave, prorogabile. Una chiave abbandonata scadrà da sola invece di restare valida per sempre.
  • Usa le sottochiavi: la chiave principale certifica le sottochiavi, che vengono usate per le operazioni quotidiane. La chiave principale può restare su un supporto offline.
  • Valuta un token hardware, come una smart card compatibile OpenPGP, per tenere la chiave privata fuori dal computer.
  • Fai un backup cifrato della chiave privata: perderla significa non poter più leggere i messaggi ricevuti in passato.

Cosa PGP non protegge

È importante sapere dove finisce la protezione.

  • Metadati: mittente, destinatari, data e ora restano visibili ai server di posta. Nell'uso tradizionale anche l'oggetto dell'email non viene cifrato, quindi non scriverci informazioni riservate.
  • Forward secrecy assente: se un giorno la tua chiave privata venisse compromessa, tutti i messaggi passati cifrati per quella chiave diventerebbero leggibili da chi li ha conservati.
  • Il computer del destinatario: una volta decifrato, il messaggio è in chiaro sul suo dispositivo.

Nel 2018 alcuni ricercatori hanno mostrato, con le vulnerabilità note come EFAIL, che certi programmi di posta potevano essere indotti a rivelare il contenuto decifrato di email cifrate, sfruttando il modo in cui gestivano il contenuto HTML. Il problema riguardava soprattutto i client e la loro integrazione con la crittografia, ed è stato affrontato con aggiornamenti e con un uso più rigoroso delle verifiche di integrità. La lezione resta valida: aggiorna il software e, per i messaggi sensibili, preferisci la visualizzazione in testo semplice.

Dove PGP è ancora la scelta giusta

  • Verificare il software: molti progetti pubblicano le firme OpenPGP dei file scaricabili. Verificarle garantisce che il file provenga dagli sviluppatori.
  • Firmare documenti o commit: per dimostrare l'origine di un file o di una modifica al codice.
  • Comunicazioni email con professionisti che hanno già adottato PGP, quando non è possibile usare un'app con cifratura end-to-end.

Molti client di posta, come Thunderbird, integrano ormai OpenPGP senza componenti aggiuntivi, rendendo l'uso quotidiano più semplice di un tempo.

In sintesi

  • PGP usa cifratura ibrida: una chiave simmetrica per il messaggio, protetta con la chiave pubblica del destinatario.
  • Senza autorità centrale, la verifica dell'impronta della chiave è indispensabile.
  • Passphrase robusta, certificato di revoca, scadenza e backup sono la base di una buona gestione.
  • PGP non nasconde metadati né oggetto e non offre forward secrecy.
  • Resta molto utile per verificare software, firmare file e comunicare con chi lo usa già.
MM
Marco Marzaduri

Marco Marzaduri si occupa di cybersecurity, informatica forense e sviluppo web. Laureato in informatica, unisce il rigore dell'analisi tecnica all'attenzione per le persone che usano la tecnologia.

Leggi anche