1197
| MENU |
|
Home
My PGP Key Papers Codes Download Projects Members Links |
Your IP: 38.103.63.60 |
|
Molto spesso capita di dover scambiare messaggi tramite internet, a volte anche dati sensibili, ignorando la possibilità che questi possano essere letti da qualche malintenzionato, ed infatti per ovviare a questi problemi sono stati sviluppati dei programmi che permettono di crittare questi messaggi, uno dei più conosciuti è senza ombra di dubbio PGP (Pretty Good Privacy). In questo articolo si parlerà principalmente di GPG (GNU Privacy Guard), che altro non è che un programma rilasciato sotto licenza GNU GPL sviluppato per sostituire la suite crittografica PGP, e del suo utilizzo riferito a sistemi GNU/Linux. Come è già stato accennato GPG è un programma OpenSources multipiattaforma che permette tramite algoritmi crittografici di offuscare un messaggio in modo da non essere comprensibile a persone non autorizzate. GPG fornisce di base un' interfaccia a linea di comando completa, ma sono state sviluppate da vari programmatori tante interfaccie grafiche e metodi di intergrazione all' interno di programmi, con lo scopo di rendere meno scarno e forse anche più sbrigativo il suo utilizzo, ma si deve tenere conto che questi ultimi non fanno parte del progetto GPG, quindi potrebbe accadere che la sicurezza fornita da GPG venga abbassata o addirittura compromessa dall'utilizzo di tali sistemi. GPG utilizza metodi di crittografia simmetrica e asimmetrica, quest' ultima conosciuta più come crittografia a coppia di chiavi (pubblica/privata), vale a dire che ad ogni persona è associata una coppia di chiavi, una pubblica e una privata. La chiave privata, personale e segreta, viene utilizzata per decodificare un documento criptato; la chiave pubblica, che deve essere distribuita, solitamente tramite email o depositata nei keyserver in modo da essere disponiblie a chiunche la desideri, serve a crittare un documento destinato alla persona che possiede la relativa chiave privata. GPG utilizza algoritmi di cifratura NON brevettati, ma bensì utilizza algoritmi come DSA, ElGamal, Blowfish, 3DES, ed altri, algoritmi robusti che anche se si è a conoscenza della chiave pubblica e dell' algoritmo utilizzato per offuscare il documento non si può risalire alla chiave privata. Con questi algoritmi è possiblile anche firmare digitalmente documenti, in poche parole il mittente firma il messaggio con la chiave privata e il destinatario, una volta ricevuto il documento riesce a verificare la firma solo con la relativa chiave pubblica associata a quel determitato mittente, riuscendo così a stabilire se il documento proviene dal nostro amico fidato oppure se si tratta di un documento contrafatto. Dopo questa presentazione passiamo all' utilizzo del nostro amatissimo GPG. Prima di tutto occorre verificare che il programma sia già installato sul sistema, molte distribuzioni, con un installazione standard lo installano di default, se così non fosse è possibile scaricarlo dal sito ufficiale http://www.gnupg.org o in alternativa cercare i pacchetti per la propria distribuzione. Una volta installato il programma bisogna creare la coppia di chiavi, quindi apriamo un terminale e lanciamo il comando $ gpg --gen-keya questo punto ci verrà chiesto che tipo di cifratura utilizzare per generare le chiavi, possiamo scegliere tra DSA&ElGamal, DSA, RSA, potete scegliere quello che volete, ma noi in questo caso sceglieremo DSA&ElGamal, il prossimo passo ci chiederà la grandezza della chiave ElGamal con la quale è possibile criptare, (la DSA con la quale è possibile solamente firmare è di 1024 bits) noi in questo caso sceglieremo 2048 bits che ci assicura già un livello di sicurezza molto alto, ma se si vuole è possibile creare anche chiavi da 4096 bits, dopodichè ci verrà chiesta la validità della chiave noi scriveremo "1y" in modo che la nostra chiave avrà una validità di un anno (oppure 0 (zero) se vogliamo che la chiave non abbia una scadenza), e dopo trascorso questo periodo la chiave dovrà nuovamente essere generata, al passo successivo ci verrà chiesto un nome, un commento, e l' indirizzo email, quindi impostate i campi opportunatamente ed al prossimo passo vi verrà chiesta una passphrase che altro non è che una password per proteggere la vostra chiave segreta, quindi scegliete una passphrase robusta non inferiore ad un minimo di 6 caratteri composta da caratteri-numeri-simboli, per intenderci una buona passphrase è del tipo f63#kf8i34@. Dopo aver impostato la passphrase GPG comincierà a lavorare per creare la coppia di chiavi in modo casuale, e per aumentare la generazione di bit casuali sarebbe una buona idea muovere il mouse, utilizzare la tastiera, i dischi, etc. A questo punto abbiamo generato la nostra coppia di chiavi, e sul sistema specificatamente su $HOME/.gnupg saranno creati due file:
-secring.gpg che contiene le chiavi private Dopo avere generato le chiavi sarebbe opportuno esportarle in dei file, in modo che che si possano condividere via email, keyserver, proprio sito o altro, per fare questo digitiamo il comando $ gpg -a -o file.asc --export UserIDda notare che nel comando è stato passato il parametro -a questo fa si che la chiave verrà esportata in formato ASCII Armored quindi leggibile con un qualsiasi editor di testi, naturalmente dovete sostituire UserID con il nome con cui è stata generata la chiave o l' indirizzo email o il KeyID che è un qualcosa del tipo 1A8D2741 associato alla propria chiave. Fatto questo non ci resta che conoscere gli altri comandi principali del programma, quì di seguito verranno riportati quelli ad uso più comune, da tener conto che per alcuni comandi è possibile passare anche l' argomento -a per avere un output di tipo armored, ma è anche possibile ometterlo ed in questo caso avremo un file binario: -Generare una copia di chiavi: gpg --key-gen -Esportare una determinata chiave pubblica: gpg -a -o file.asc --export UserID -Esportare una determinata chiave privata: gpg -a -o file.asc --export-secret-keys UserID -Visualizzare la lista delle chiavi: gpg --list-key -Crittare un documento: gpg -e -o filecrittato.asc -r UserID filesorgente.ext oppure se si vuole un output di tipo ASCII Armored gpg -a -e -o filecrittato.gpg -r UserID filesorgente.ext -Decrittare un file: gpg -o file.ext -d filecrittato.gpg -Firmare un file: gpg -o filefirmato.ext.sig -s file.ext -Importare una chiave pubblica: gpg --import file.asc -Esportare una chiave pubblica nel keyserver specificato: gpg -s --send-key --keyserver wwwkeys.pgp.net IDKey
Esistono molti altri comandi e per conoscerli vi rimando alla guida in linea del programma stesso, quindi da terminale
digitate il comando "gpg --help" e consultate pure le man pages "man gpg" per avere una lista completa dei comandi.
Come accennato in precedenza esistono molti frontend grafici ed anche molti plugin per gpg, quelli che mi sento di
consigliarvi sono: Ora non vi resta che generare la vostra coppia di chiavi e diffonderla sui keyserver o dove più vi pare e piace,ricordandovi che ogni volta che invierete dati importanti attraverso internet per esempio conti bancari, password o chissa cos' altro sarebbe opportuno inviarli in modo crittato in modo da rendere la vita difficile ad un possibile uomo ne mezzo.
fonti:
wikipedia.org |
torna su