Hai mai inviato un'email con allegati sensibili e hai incrociato le dita sperando che nessuno li intercettasse? O devi firmare digitalmente un contratto ma non vuoi dipendere da servizi cloud terzi? Bene, la soluzione si chiama GPG (GNU Privacy Guard), implementazione open source dello standard OpenPGP. Noi, di Meteora Web, lo usiamo quotidianamente per proteggere comunicazioni e dati dei clienti – e per gestire la nostra posta interna. In questa guida ti mostriamo come configurare e usare GPG per cifrare file, firmare documenti e proteggere le email, con comandi precisi e configurazioni reali.
Cos'è GPG e perché usarlo per firmare e cifrare?
GPG è un sistema di crittografia asimmetrica: usi una coppia di chiavi – una pubblica (da distribuire) e una privata (da tenere segreta). Con la chiave pubblica del destinatario cifri un file o un messaggio che solo lui potrà decifrare con la sua chiave privata. Per firmare, usi la tua chiave privata e chiunque con la tua chiave pubblica può verificare che il messaggio viene da te e non è stato alterato.
Perché non basta una password?
La crittografia simmetrica (es. AES con password) richiede di condividere la password – un rischio. Con GPG condividi solo la chiave pubblica. Inoltre la firma digitale garantisce integrità e autenticità. Noi lo vediamo ogni giorno: aziende che scambiano documenti finanziari via email senza crittografia. Un errore che può costare caro.
Sponsored Protocol
Differenza tra cifratura e firma
- Cifratura: rende illeggibile il contenuto. Solo il destinatario può rileggerlo.
- Firma: non nasconde il contenuto, ma certifica che il messaggio proviene da te e non è stato modificato.
- Entrambi: si possono combinare – prima firmi, poi cifri.
Un esempio concreto: quando gestiamo l’ERP di un cliente di abbigliamento, i report di magazzino con prezzi e fornitori vengono cifrati e firmati prima di essere inviati al consulente esterno.
Come installare e configurare GPG su Linux, macOS e Windows?
GPG è disponibile su tutti i sistemi. L’installazione è banale, ma la configurazione iniziale richiede attenzione.
Installazione
# Linux (Debian/Ubuntu)
sudo apt install gnupg
# macOS (con Homebrew)
brew install gnupg
# Windows: scarica Gpg4win da https://www.gpg4win.org/
Verifica con gpg --version. Su Windows, Gpg4win include anche un plugin per Outlook (GpgOL).
Generazione della coppia di chiavi
gpg --full-generate-key
Scegli RSA and RSA (default), lunghezza 4096 bit. La passphrase è obbligatoria – usa una frase lunga e memorabile. Senza passphrase, se qualcuno ruba la chiave privata ha accesso a tutto.
Sponsored Protocol
Dopo la generazione, ottieni un ID chiave (es. 1A2B3C4D5E6F7890). Ora esporta la chiave pubblica per condividerla:
gpg --export --armor tuo@email.com > chiave-pubblica.asc
Errore comune: non aver impostato il livello di fiducia
Quando importi una chiave pubblica altrui, assegna un livello di trust. GPG non sa automaticamente se quella chiave è autentica. Usa:
gpg --edit-key ID_DESTINATARIO
trust> 5
Puoi verificare le impronte digitali tramite un canale diverso (telefono, di persona).
Come cifrare e firmare un file con GPG?
Ecco i comandi essenziali che usiamo ogni settimana.
Cifrare un file per un destinatario specifico
gpg --encrypt --recipient destinatario@email.com documento.pdf
Verrà creato documento.pdf.gpg. Puoi specificare più destinatari: --recipient a@b.it --recipient c@d.it.
Firmare un file (senza cifrare)
gpg --sign documento.pdf
Crea documento.pdf.gpg con firma binaria. Per firma in chiaro (il file rimane leggibile, aggiungi firma in calce):
Sponsored Protocol
gpg --clearsign documento.pdf
Firmare e cifrare in un solo comando
gpg --sign --encrypt --recipient destinatario@email.com documento.pdf
Decifrare e verificare
gpg --decrypt documento.pdf.gpg
Se firmato, viene verificata automaticamente la firma. Per separare la verifica dalla decifratura:
gpg --verify file-firmato.gpg
Un caso reale: un cliente e-commerce ci ha chiesto di cifrare i backup del database prima di caricarli su cloud. Con una riga di cron job: pg_dump ... | gpg --encrypt --recipient admin@azienda.it > backup.$(date +%Y%m%d).sql.gpg.
Come inviare email cifrate con GPG e Thunderbird o Outlook?
La parte più operativa per chi lavora quotidianamente.
Thunderbird: installa l’estensione
A partire da Thunderbird 78, il supporto OpenPGP è integrato. Vai in Account Settings → End-to-End Encryption → Add OpenPGP Key. Se hai già una chiave GPG, importala. Altrimenti creala direttamente dall’interfaccia. Quando scrivi un’email, clicca sull’icona di sicurezza per firmare o cifrare.
Outlook: usa GpgOL (parte di Gpg4win)
Una volta installato Gpg4win, riavvia Outlook. Troverai una nuova barra con pulsanti “Sign” e “Encrypt”. La configurazione è automatica se importi la chiave privata in Kleopatra (il tool di gestione incluso).
Sponsored Protocol
Scambio di chiavi pubbliche
Per cifrare un’email, devi avere la chiave pubblica del destinatario nel tuo portachiavi. Chiedi a contatti di inviarti la loro chiave (file .asc) oppure cercale su un server di chiavi pubblico:
gpg --search-keys nome@email.com
Attenzione: i keyserver non garantiscono l’autenticità. Verifica sempre l’impronta digitale tramite un secondo canale.
Errore comune: “No secret key”
Se quando provi a decifrare un’email ricevi questo errore, significa che non hai importato la tua chiave privata. Assicurati di averla nel portachiavi (gpg --list-secret-keys).
Quali sono gli errori comuni nella gestione delle chiavi GPG?
Anche noi abbiamo sbagliato. Ecco cosa evitare.
Passphrase debole o dimenticata
Senza passphrase non puoi usare la chiave privata. Usa password manager. Noi consigliamo di scrivere la passphrase su carta e tenerla in cassaforte – non in cloud.
Chiave pubblica non aggiornata
Se perdi la chiave privata o la comprometti, revoca la chiave con gpg --gen-revoke e distribuisci il certificato di revoca. Poi genera una nuova coppia.
Non firmare le chiavi pubbliche altrui
Il Web of Trust funziona solo se firmi le chiavi che hai verificato. Usa gpg --sign-key ID per certificare che quella chiave appartiene davvero a quella persona.
Sponsored Protocol
Backup mancante
Copia la directory ~/.gnupg su un supporto offline (USB crittografato). Se il disco muore, perdi tutte le chiavi.
Cosa fare adesso
- Installa GPG sul tuo sistema (Linux, macOS o Windows) e verifica con
gpg --version. - Genera la tua coppia di chiavi da 4096 bit:
gpg --full-generate-key. - Esporta la chiave pubblica e condividila con colleghi o clienti:
gpg --export --armor tuo@email.com > mia-chiave.asc. - Configura il client email (Thunderbird o Outlook) per usare la tua chiave.
- Scambia una mail di test – firma e cifra un messaggio semplice, poi chiedi al destinatario di verificare la firma.
- Salva un backup offline della directory
~/.gnupge della passphrase.
La sicurezza nelle PMI italiane è sistematicamente sottovalutata. GPG è uno strumento maturo, gratuito e potente – ma solo se lo impari a usare. Noi, di Meteora Web, lo integriamo nei flussi di lavoro dei clienti che trattano dati sensibili. Se vuoi approfondire, leggi la nostra guida pillar su crittografia e sicurezza dati.