
SnappyMail e crittografia: la guida completa

La sicurezza delle email è fondamentale per proteggere le comunicazioni digitali. In questa guida dettagliata ti spiegheremo come utilizzare SnappyMail per inviare e ricevere messaggi cifrati, con esempi pratici e suggerimenti passo passo. Verranno trattati OpenPGP.js, GnuPG server-side, S/MIME e Mailvelope, oltre a come scambiare chiavi con Gmail e altri servizi.
Indice degli argomenti
- Perché crittografare le email
- Cos’è SnappyMail e come funziona
- OpenPGP.js: guida completa
- GnuPG lato server
- S/MIME: certificati e utilizzo
- Mailvelope: integrazione con webmail
- Scambio chiavi con Gmail e altri servizi
- Esempi pratici e comandi
- FAQ e risoluzione problemi
Perché crittografare le email
La crittografia delle email garantisce tre benefici principali:
- Riservatezza: nessuno può leggere il contenuto dei messaggi durante il transito.
- Integrità: eventuali modifiche al messaggio vengono rilevate.
- Autenticità: permette di verificare che il mittente sia effettivamente chi dichiara di essere.
È importante ricordare che la crittografia end-to-end protegge il contenuto ma non sempre i metadati come mittente, destinatario o subject. Se il subject contiene informazioni sensibili, conviene metterle nel corpo del messaggio cifrato.
Le due principali soluzioni di crittografia per email sono:
- OpenPGP, che utilizza coppie di chiavi pubblica/privata.
- S/MIME, basato su certificati X.509.
OpenPGP è diffuso tra utenti attenti alla privacy, mentre S/MIME è comune in contesti aziendali.
Cos’è SnappyMail e come funziona
SnappyMail è un client webmail leggero che si installa sul server e si collega via IMAP/SMTP alla casella email. Permette di gestire email cifrate e firmate direttamente dall’interfaccia web.
SnappyMail supporta:
- OpenPGP.js, libreria JavaScript che esegue cifratura/decifratura nel browser.
- GnuPG server-side, per chiavi gestite dal server.
- S/MIME, per la firma e cifratura con certificati PKCS#12.
La scelta di dove conservare la chiave privata è importante:
- Lato client (OpenPGP.js o Mailvelope): massima privacy, la chiave privata resta sul dispositivo dell’utente.
- Lato server (GnuPG): più comodo per accedere da più dispositivi, ma aumenta i rischi in caso di compromissione del server.
OpenPGP.js: guida completa
OpenPGP.js permette di cifrare e decifrare i messaggi direttamente nel browser. È utile quando vuoi mantenere la chiave privata sul tuo computer senza trasferirla sul server.
Generazione della coppia di chiavi
Per creare una chiave in SnappyMail:
- Accedi a SnappyMail → Impostazioni → Sicurezza → OpenPGP.
- Clicca su “Genera chiave”, inserendo nome, email e passphrase robusta.
- Scegli l’algoritmo (RSA 4096 per compatibilità o Ed25519 per modernità).
- SnappyMail genererà chiave pubblica e privata e mostrerà la chiave pubblica per condividerla con contatti.
Invia un messaggio di prova a te stesso: il lucchetto resterà visibile e il messaggio arriverà cifrato. Inserendo la passphrase, SnappyMail decifrerà correttamente.
Quando invii a un account Gmail, il lucchetto può scomparire se il destinatario non ha una chiave pubblica disponibile.
Backup della chiave privata
Se la chiave privata resta solo nel browser, esportala e conservala in un file cifrato con passphrase. Non inviare mai la chiave privata via email in chiaro.
GnuPG lato server
GnuPG permette di gestire la cifratura lato server. I vantaggi includono la comodità di accedere alle email cifrate da più dispositivi senza importare la chiave in ogni browser. Tuttavia, la chiave privata sul server può essere esposta in caso di compromissione.
Installazione su Debian/Ubuntu:
sudo apt update
sudo apt install gnupg2 gnupg-agent pinentry-curses
Generazione di una chiave:
gpg --full-generate-key
# scegli RSA 4096 bits, inserisci nome, email e passphrase
Esportazione della chiave pubblica e privata (solo per backup sicuro):
gpg --armor --export nome.cognome@epistulam.org > nome.pub.asc
gpg --armor --export-secret-keys nome.cognome@epistulam.org > nome.priv.asc
S/MIME
S/MIME si basa su certificati X.509. Ogni utente ottiene un certificato contenente la chiave pubblica e le informazioni identificative. Per test, è possibile generare un certificato self-signed:
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:4096 -out nome.key.pem
openssl req -new -key nome.key.pem -out nome.csr -subj "/CN=nome Cognome/emailAddress=nome.cognome@epistulam.org"
openssl x509 -req -days 365 -in nome.csr -signkey nome.key.pem -out nome.crt.pem
openssl pkcs12 -export -inkey nome.key.pem -in nome.crt.pem -out nome.p12 -name "Nome Cognome"
Per produzione, utilizzare certificati emessi da una CA riconosciuta. Importa il file .p12 in SnappyMail per attivare firma e cifratura.
Mailvelope
Mailvelope è un’estensione browser che porta OpenPGP alle webmail. La chiave privata resta locale e cifrata, permettendo di cifrare e decifrare messaggi direttamente su Gmail, Outlook web, o altri client web compatibili.
Generazione chiave: Options → Key Management → Generate Key, quindi esporta la chiave pubblica per inviarla ai contatti.
Scambio chiavi con Gmail e altri servizi
Gmail non pubblica chiavi PGP automaticamente, quindi è necessario che il destinatario generi una chiave e te la invii. Esempio di testo da inviare:
Oggetto: Scambio chiavi PGP
Ciao [Nome],
Vorrei scambiare email cifrate. Puoi generare una coppia PGP usando Mailvelope o Thunderbird e inviarmi la tua chiave pubblica.
Grazie!
[Nome Cognome]
Checklist per il destinatario:
- Installare Mailvelope o Thunderbird
- Generare la chiave e esportare la chiave pubblica
- Importare la chiave pubblica del mittente o rispondere con la propria
- Verificare la fingerprint tramite canale sicuro
Esempi pratici
Comandi utili:
# esportare chiave pubblica
gpg --armor --export nome.cognome@epistulam.org > nome.pub.asc
# verificare fingerprint
gpg --fingerprint nome.cognome@epistulam.org
Esempio di messaggio cifrato:
-----BEGIN PGP MESSAGE-----
hQGMA+...
-----END PGP MESSAGE-----
FAQ e risoluzione problemi
- Il lucchetto non appare verso Gmail: importare la chiave pubblica del destinatario.
- Backup chiave privata: sempre cifrata con passphrase sicura.
- Compatibilità client: OpenPGP funziona con Thunderbird, Mailvelope, SnappyMail; S/MIME funziona con Outlook, Apple Mail.




