Accedi per seguire   
Seguaci 0
Min3rva

Gnupg Da Riga Di Comando

1 messaggio in questa discussione

GnuPG da riga di comando fonte

Quando si ha la necessità di cifrare al meglio file o conversazioni sensibili, la scelta del metodo di cifratura ricadrà, probabilmente, tra quelli a chiave asimmetrica, considerati i più sicuri e robusti. Il tool d’eccellenza per l’ambiente Linux è sicuramente GnuPG che implementa perfettamente le migliori tecnologie di cifratura. Molto semplice da usare via terminale e comodo per eventuali script bash.

Consideriamo GnuPG installato e funzionante. Chiunque voglia provare ad installare GnuPG da sorgenti può farlo servendosi della guida ufficiale del progetto, in italiano, disponibile qui. Cifratura-Decifratura simmetrica

Utile per cifrare file, utilizza la stessa passphrase per cifrare e decifrare le informazioni. E’ quindi sconsigliabile il suo utilizzo su rete. Per iniziare, create un documento di testo “esempio” contenente qualche riga di testo.

Per criptare il file digitare:

gpg -c esempio

A questo punto vi verrà chiesta la passphrase e successivamente generato il file (binario criptato) esempio.gpg.

Per decriptare il file utilizzate il comando:

gpg -o file_decifrato -d esempio.gpg

passphrase

Il comando -o dirige l’output in file_decifrato che rimarrebbe altrimenti stampato a video nel terminale.

Generazione delle chiavi

L’algoritmo predefinito è DSA/ElGamal con una lunghezza della chiave DSA di 1024bit e 2048bit di default per ELG-E (1024-4096). Per accedere alla creazione guidata del paio di chiavi eseguite:

gpg –gen-key

Il comando ci mostrerà il seguente output. Sono evidenziate le scelte che spetta a voi compiere:

Please select what kind of key you want:

(1) DSA and Elgamal (default)

(2) DSA (sign only)

(5) RSA (sign only)

Your selection?
1

DSA keypair will have 1024 bits.

ELG-E keys may be between 1024 and 4096 bits long.

What keysize do you want? (
2048
)

Requested keysize is 2048 bits

Please specify how long the key should be valid.

0 = key does not expire

<n> = key expires in n days

<n>w = key expires in n weeks

<n>m = key expires in n months

<n>y = key expires in n years

Key is valid for? (0)
10

Key expires at Wed 12 Sep 2007 06:12:58 PM CEST

Is this correct? (y/N)
y

You need a user ID to identify your key; the software constructs the user ID

from the Real Name, Comment and Email Address in this form:

“Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>”

Real name:
Domiziano

Email address:
xxxx@yyyyy.com

Comment:
un po di commenti servono per generare le chiavi

You selected this USER-ID:

“Domiziano (un po di commenti servono per generare le chiavi) <xxxx@yyyyy.com>”

Change (N)ame, ©omment, (E)mail or (O)kay/(Q)uit?
O

You need a Passphrase to protect your secret key.

A questo punto, dopo qualche secondo, verranno generate le vostre importanti chiavi. Quella privata non dovrà mai uscire dal vostro pc mentre quella pubblica dovrete inviarla a chi vorrà comunicare, in forma sicura, con voi.

Per esportare la chiave pubblica in formato Ascii utilizzare la seguente direttiva:

gpg –export -a UID > pub.key

Dove UID è il nome reale, nel mio caso Domiziano, e l’output verrà girato al file pub.key che potrete successivamente inviare a chi volete.

Per esportare la chiave privata ed eseguire dunque un backup, utilizzare:

gpg –export-secret-key -a UID > priv.key

Cifratura-Decifratura chiave asimmetrica

Effettuiamo la cifratura del file “esempio” per il destinatario “gigi” che possiede la chiave pubblica oppure con destinatario il nostro UID per essere leggibile solo da noi stessi:

gpg -ear Domiziano esempio

Opzioni: -e per cifrare, -a per restituire un file ascii 7 bit, -r per cifrare l’utente. Se volessimo creare un file binario sostituiamo la -a con -c .

A questo punto avremo il file esempio.asc (esempio.gpg se -c) pronto per essere inviato.

Una volta giunto a destinazione il destinatario dovrà decifrare il file:

gpg -o file_decifrato -d esempio.asc

Dopo aver inserito la passphrase verrà generato il file decifrato. Attenzione, è importante che la chiave pubblica, quella cioè di chi ha inviato il file da decifrare, sia stata importata nel database delle chiavi.

Per importare una chiave pubblica:

gpg –import public.key

Interfacce grafiche

Per chi vuole tutto a portata di mouse esistono delle comode interfacce grafiche, installabili separatamente, in grado di supplire alla maggior parte delle operazioni prima trattate in modo visuale:

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
Accedi per seguire   
Seguaci 0