[Guida] Come cifrare e decifrare file su GNU/Linux con GPG
Nella guida di oggi vi mostro come procedere per cifrare e decifrare i file con GnuPG. Conosciuto anche come GPG, questo tool è estremamente versatile, uno standard del settore per la crittografia di elementi come e-mail, messaggi, file o qualsiasi cosa sia necessario inviare a qualcuno in modo sicuro. Utilizzeremo questo tool per proteggere la privacy di dati sensibili con il meccanismo della doppia chiave pubblica privata o, alternativamente, con una semplice password. A proposito: per quanto riguarda la cifratura delle e-mail trovate una guida dedicata qui su LFFL.
GPG: GNU Privacy Guard
GnuPG è uno strumento da riga di comando che consente di crittografare e firmare dati e comunicazioni. Dotato di un versatile sistema di gestione delle chiavi, contiene i moduli di accesso per tutti i tipi di elenchi di chiavi pubbliche. Un chiaro punto di forza è dato dalla presenza di numerose funzionalità che semplificano l’integrazione con altre applicazioni. Tutti gli utenti del pinguino, in realtà, usano questa tecnologia senza accorgersene. Un comune utilizzo di GPG, ad esempio, è nel gestore di pacchetti, specialmente nei repository esterni. In questi casi, infatti, è comune aggiungere la chiave pubblica dello sviluppatore alle chiavi affidabili del sistema.
GPG, in estrema sintesi, funziona utilizzando due file, che corrispondono alla chiave privata e alla chiave pubblica. Quando si crittografa un file si usa la chiave privata, chiave che va conservata gelosamente. Il nuovo file crittografato può quindi essere decifrato solo con la chiave pubblica associata, che è pensata proprio per essere distribuita a chi vogliate decifri i vostri file. Lo sviluppatore firma i pacchetti con la sua chiave privata e il vostro sistema, grazie alla chiave pubblica, può capire se il pacchetto è integro o meno.
Come funziona
GPG è presente nella maggior parte dei repository delle principali distribuzioni. Sui sistemi basati su Debian e Ubuntu, ad esempio, potete installare il relativo pacchetto con:
sudo apt install gpg
Una volta installato GnuPG generate una chiave pubblica e una privata. Aprite il terminale e utilizzate la seguente istruzione per generare le chiavi:
gpg --full-generate-key
Utilizzate, quindi, la seguente configurazione e, quando richiesto, inserite l’indirizzo mail da associare:
- Tipo di chiave: 1;
- Lunghezza: 4096;
- Scadenza: 2y;
- Password: la più contorta che riuscite a ricordare.
Potete ora iniziare a cifrare i vostri dati con la seguente istruzione:
gpg --encrypt --output file_cifrato.gpg --recipient user@example.com file_da_cifrate
Per decifrare un messaggio si usa, alternativamente, l’opzione –decrypt:
gpg --output file_leggibile --decrypt file_cifrato.gpg
I documenti, in realtà, posso anche essere cifrati con GPG senza l’utilizzo della crittografia a chiave pubblica. Al suo posto è possibile infatti utilizzare un algoritmo di crittografia simmetrico per cifrare il documento. La chiave fornita all’algoritmo simmetrico viene derivata da una password fornita al momento in cui il documento viene cifrato. La cifratura simmetrica è utile per rendere sicuri i propri documenti quando non è necessario comunicare ad altri la password utilizzata:
gpg --output file_cifrato.gpg --symmetric file_da_cifrare
Importare ed esportare le chiavi
Il meccanismo che vi ho appena descritto, ovviamente, funziona soltanto se esportate la vostra chiave pubblica. Chiave che dovrà essere importata da chi vuole utilizzarla. Per esportare una chiave dovete conoscere l’ID corrispondente, lo trovate nell’elenco visualizzabile con gpg –list-public-keys. Eseguite quindi questo comando:
gpg --output key.gpg --export id
Viceversa, per importare una chiave:
gpg --import key.gpg
L’uso della crittografia aiuta a proteggere la vostra privacy e quella delle persone con cui comunicate, rendendo la vita difficile anche ai sistemi di sorveglianza di massa. GnuPG, ad esempio, è uno degli strumenti consigliati da Snowden. Se volete approfondire l’utilizzo di GPG, quindi, vi invito a visionare il manuale ufficiale visitando questo link.
Seguiteci sul nostro canale Telegram, sulla nostra pagina Facebooke su Google News. Nel campo qui sotto è possibile commentare e creare spunti di discussione inerenti le tematiche trattate sul blog.