Sito per neoutenti GNU/Linux
Avviso per una corretta visualizzazione del sito
scritta new animata
Last updated: June 02 2015 10:39:07.
Esegui il Login, oppure Registrati,Hai dimenticato la password?
My GPG Public Key logo GnuPG
Scarica direttamente la mia chiave pubblica GPG
Gli utenti online sono ora: 1

Thu, 23 Nov 2017 19:25:43

gif
Questo sito ha avuto 15865 visite!
Il tuo indrizzo IP è 162.158.79.147.
Il tuo browser è unrecognized in esecuzione su unrecognized

foto in spiaggia del sottoscritto e chicchetta

lola e minnie abbracciate
immagine ufficiale di GnuPG GnuPG - Firmare e Criptare


Avendo da poco introdotto nella mia home page, e da lì in tutte le pagine di questo sito nel menù laterale di sinistra la mia chiave pubblica GnuPG, ed essendo arrivati con la lezione precedente a parlare di flussi di input/ouput, e di possibilità di impilare i comandi, ecco che penso sia forse meglio descrivere come usare questo potente strumento chiamato GnuPG, e con questo tutte le grandi possibilità che ci offre.

Come base indispensabile per avere anche dei cenni storici su GnuPG, ritengo che questo mini Howto sia fondamentale come partenza. Qui troverete tutte le nozioni indispensabili per capire questo ottimo programma. Dopo attenta lettura, capirete come usare GnuPG sia con il vostro client di posta elettronica sia esso Mozilla Thunderbird tramite il plugin Enigmail, oppure Evolution (come nel mio caso) o altri, che come strumento da shell per firmare e criptare tutti i files che vorrete.

Direi infatti di concentrarci su quest'ultima possibilità, che spesso non viene sufficientemente spiegata nei dettagli e in tutte le sue peculiarità, poichè di frequente si spiega come firmare e criptare le email con il proprio client di posta, ma passa in secondo piano quanto su menzionato, e che ora andremo invece a vedere nello specifico.

Da qui in poi do per scontato che abbiate già preso familiarità con i concetti base si GnuPG, se così non fosse, ritornate su a leggere quanto vi ho indicato nei link. Qui vediamo ora i comandi base per firmare e criptare files di qualunque genere, rendendoli del tutto illeggibili ad estranei.
Innanzitutto ecco come possiamo firmare e criptare contemporaneamente dei documenti riservati.
Va subito detto che per evitare che qualcun altro si spacci per noi conviene sempre firmare qualunque cosa si voglia cifrare. Allora ecco il comando:

gpg --armor --recipient [email protected] --sign --encrypt filescelto

Passando alla sua analisi diciamo subito che con l'opzione --armor si firma e cripta il file scelto con un'armatura ASCII, ovvero creando un file che avrà estensione .asc e non perciò un binario. Questa è pertanto la soluzione da preferire quando si effettuano queste operazioni. Il secondo elemento, --recipient, sta per destinatario o ricevente, vale a dire colui che potrà con la sua chiave privata, decriptare il file in oggetto. Il terzo elemento --sign, sta chiaramente ad indicare la volontà nostra di apporre con la nostra chiave privata la firma digitale sul documento, in modo da garantire poi il destinatario che siamo stati proprio noi, e nessun altro, ad inviargli il file. L'ultimo --encrypt, sta ad indicare la nostra scelta di crittare il file che abbiamo scelto.

Per completezza va anche detto, che il medesimo comando potevamo anche darlo in questo modo:

gpg -a -r [email protected] -s -e filescelto

questo permette di abbreviare, e non di poco, quanto sopra, anche se devo subito ricordarvi che non è affatto necessario scrivere per esteso tutti i comandi che avete visto nel primo caso, bensì basta scrivere le prime lettere di ognuno e poi premere il tasto TAB che completerà il tutto per voi. Così facendo avete anche la possibilità di controllare la bontà di quanto avete scritto, poichè se avete sbagliato qualcosa il TAB non funzionerà. Non mi dilungo sul fatto che l'indirizzo indicato è di pura fantasia, al fine di poter mostravi il comando. Importante invece risulta che se stiamo criptando un file per qualcuno, dobbiamo aver importato la sua chiave pubblica nel nostro portafoglio in precedenza altrimenti il comando non funzionerà. Ci tengo invece a spiegare che nel caso in cui avessimo più account di posta elettronica (come penso abbiate), ecco che possiamo anche scegliere con quale account, e di conseguenza chiave privata effettuare questa operazione. Il terminale vi chiederà la passphrase relativa a quell'account che dovrete indicare in questo modo:

gpg --local-user [email protected] --armor --recipient [email protected] --sign --encrypt filescelto

Fate attenzione inoltre, che mentre potete scegliere di omettere l'opzione --armor oppure --sign (cose che vi sconsiglio entrambe), il --recipient, deve sempre essere indicato nel comando: infatti se lo omettete la shell ve lo chiederà.

Ora vedremo infine come decriptare files cifrati e firmati.
Qui è importante dire, che per decriptare l'ouput predefinito è lo stdout; ecco che allora bisogna redirigere l'output ad un file che chiameremo come desideriamo, con l'opzione --output oppure -o. Chiaramente il file criptato deve essere stato cifrato con la nostra chiave pubblica, e di conseguenza a noi indirizzato. Tenete presente che potete firmare e criptare files per voi stessi, in modo da impedire a chiunque altro l'accesso ai medesimi: da qui ancora una volta risulta evidente, l'importanza di custodire gelosamente la propria chiave privata nonchè lo scegliere in fase di creazioni delle chiavi delle robuste e complesse passphrase con caratteri come / (slash), @ (at), & (e commerciale) ecc. e lettere maiuscole e minuscole con spazi in mezzo (si tratta infatti di passphrase e non di semplici password). Non si devono dimenticare queste passphrase, pena l'impossibità di decifrare i files criptati, le emails a noi indirizzate e in sintesi risulterà del tutto inutilizzabile tale chiave. Tornando a quanto sopra, il comando per decriptare è

gpg --output file_da_me_scelto --decrypt filescelto

oppure come prima:

gpg -o file_da_me_scelto -d filescelto

Anche qui il terminale chiederà la passphrase per utilizzare la chiave privata per la decriptazione, e poi mostrerà a video il fatto che il file che sta decifrando è anche firmato oltre che criptato.
Qui va sottolineato, che se si vuole verificare la firma di un file firmato e cifrato e si prova a dare dalla shell (comando che ho visto molti suggeriscono su alcuni siti)

gpg --output file_da_me_scelto --verify filescelto



ecco che il comando non funziona!.Questo perchè il file da verificare è anche cifrato oltre che firmato e la firma può essere verificata SOLO DOPO aver decifrato il file perciò l'input giusto è quello indicato sopra.

Come estrema sintesi finale bisogna ricodare quanto segue:
I files e le emails a noi indirizzate vengono criptate con la nostra chiave pubblica, e firmate invece con la chiave privata del mittente.
Analogamente le emails e i files che noi firmiamo vengono firmati tramite la nostra chiave privata mentre li criptiamo con la chiave pubblica del destinatario di cui bisogna avere importato in precedenza la chiave nel proprio portafoglio o keyring; cosa che risulta palesemente inutile se stiamo cifrando per noi stessi (in tal caso possediamo già la chiave pubblica). Con questo spero di aver chiarito almeno un poco, l'uso di gpg da shell per apporre la firma e la cifratura ai nostri files. Come ulteriore risorsa, utile per i numerosi esempi e guida passo passo soprattutto in fase di creazione delle chiavi, date un'occhiata anche qui.

In seguito vedremo come cambiare i permessi ai file nonchè cambiarne il proprietario. Un altro metodo, che permette tra l'altro di rendere illeggibili ad estranei, files privati.



Potete anche, se volete,

icona standard per feed rss



Questo sito è prodotto da Jam1, autore e curatore di testi e immagini. Questo sito fa uso dei CSS ed è conforme alla specifica XHTML 1.0, secondo le direttive del W3C.