GPG: crittografia forte e firme digitali in pochi step

Le ultime rivelazioni circa i controllo da parte dei governi che minano la privacy dei cittadini, rendono ancoira più evidente l’importanza di un software come PGP il quale, nonostante i suoi venti anni d’età, risulta essere ancora una sistema affidabile di protezione delle comunicazioni.

GPG: come funziona

Le ultime rivelazioni circa i controllo da parte dei governi che minano la privacy dei cittadini, rendono ancora più evidente l’importanza di un software come PGP il quale, nonostante i suoi venti anni d’età, risulta essere ancora una sistema affidabile di protezione delle comunicazioni. Con l’avanzamento delle tecnologie informatiche, si rivela sempre più necessario l’utilizzo di chiavi di cifratura sempre più lunghe, in grado di scongiurare gli attacchi da parte dei cybercriminali. In questo articolo vi spiegheremo come creare  una nuova coppia di chiavi RSA della lunghezza di almeno 4096 bit. Maggiore è il tempo che si desidera conservare i dati al sicuro, maggiore dovrebbe essere la lunghezza della chiave. Va detto, però, che tale processo richiede un certo tempo di elaborazione; ogni volta che si raddoppia la lunghezza, il processo diventa 6 o 7 volte più lento. In questo articolo abbiamo optato per 8192 bit di lunghezza della chiave.

PGP: come funziona

Non tutti i programmi di questo tipo supportano di default una lunghezza della chiavi del genere; per questo motivo, dobbiamo scaricare e modificare l’ultima versione di GnuPG (al momento è la 1.4.15). Per questa dimostrazione abbiamo utilizzato Ubuntu Linux, che è piuttosto popolare e ci consente di effettuare le varie operazioni in maniera semplice e immediata. In alternativa, va bene anche Cygwin, che crea un ambiente simile a quello di Linux all’interno del sistema operativo Windows.

Uno

Una volta creata la chiave con il procedimento che vi spiegheremo, potrete gestirla nel tempo attraverso i vari strumenti a disposizione per il vostro sistema operativo. Ad esempio, per Mac OS X c’è GPG Suite, mentre per Windows c’è GPG4Win: entrambi consento di generare, gestire chiavi e di eseguire tutte quelle operazioni quotidiane di base sulle vostre chiavi.

GPG4Win (GNU Privacy Guard for Windows), viene gestito dagli sviluppatori di GnuPG, e fornisce agli utenti opzioni di crittografia e un software di firma digitale per file ed email. È un software gratuito, che tutti gli utenti Windows dovrebbero avere.

GPG Suite per Mac OS X s’integra facilmente con il sistema operativo e fornisce all’utente un plugin open source per Apple Mail, che consente di criptare facilmente i messaggi e di aggiungere la firma digitale. A disposizione c’è anche un’applicazione per gestire la keychain e una versione a linea di comando di GPG, per chi voglia esplorare un po’ di più tutte le possibilità offerte dal programma.

Due

Iniziamo con ottenere le risorse GnuPG; poi la decomprimiamo e creiamo una cartella nel nostro hard disk. Vi consigliamo prima di verificare la firma SHA1 di questo file, per controllare che tutto sia a posto e che abbiamo scaricato la versione verificata del software. Per fare ciò, possiamo utilizzare l’utility già installata “sha1sum”: se gli hash calcolati corrispondono con quelli disponibili sul sito Internet di GnuPG, allora è tutto ok.

Tre

Per questa guida dobbiamo modificare un paio di file sorgente, ma vi assicuriamo che non è molto difficile e il risultato vale la pena.

Scarichiamo il file sorgente compresso GnuPG 1.4.15 e, con l’aiuto del comando “tar xvzf [filename]”, otteniamo una cartella compressa con il contenuto originale dei file. È necessario sostituire la parte [filename] con il nome del file scaricato. Le parentesi quadre non sono necessarie.

Quattro

Successivamente,  dobbiamo cercare la directory estratta digitando “cd [gnupg-folder]”:  appariranno, così, i contenuti necessari per costruire il nostro binario GnuPG. La prima cosa da fare in proposito è modificare il file “keygen.c”, ubicato nella “directory g10”.

Cinque

Possiamo modificare il file “keygen.c” utilizzando, per esempio, “gedit” e, una volta visualizzati i contenuti, possiamo cercare la stringa “4096” che rappresenta la lunghezza massima della chiave disponibile di default per GnuPG.  Modifichiamo il valore della stringa 1572 inserendo “8192”. Non dimentichiamo di salvare le modifiche e assicuriamoci di non aver apportato per sbaglio altri cambiamenti.

Sei

Dopo questa semplice operazione, possiamo procedere nel compilare la nostra nuova versione di GnuPG. I comandi “./configure” e “make”  dovrebbero essere sufficienti. Inoltre, se vogliamo sostituire la versione GPG di default per Ubuntu, possiamo eseguire un “sudo make install”. Per il momento, useremo il nuovo binario locale per impostare la nostra coppia di chiavi RSA da 8192 bit.

Sette

Prima di eseguire “gpg”, modifichiamo il file gpg.conf ubicato nella directory Home, nel nostro esempio “/home/Giuliani/.gnupg/gpg.conf”. Di default non ci sarà altro tipo di contenuto, tuttavia possiamo aggiungere le nostre preferenze per cifrare e comprimere gli algoritmi e i meccanismi di hashing.

Per quanto riguarda il nostro esempio, aggiungiamo alla fine del file il seguente contenuto (potete ovviamente fare le dovute modifiche in base alle vostre preferenze/esigenze):

personal-cipher-preferences AES256 TWOFISH AES192 AES

personal-digest-preferences SHA512 SHA384 SHA256

personal-compress-preferences ZLIB ZIP

Otto

Dopo tutto questo duro lavoro, siamo finalmente pronti e possiamo creare la nostra chiave, eseguendo il comando “./gpg –gen-key” dalla directory “g10” (dove prima abbiamo modificato il file “keygen-c”), e seguendo le istruzioni sullo schermo. Il procedimento è piuttosto semplice: selezioniamo la prima opzione per creare una coppia di chiavi che useremo per criptare e firmare i nostri messaggi e indichiamo come lunghezza della chiave8192 bit.

Nove

Per  fare in modo che il nostro esempio corrisponda ancora di più alla realtà,  impostiamo anche un periodo di attivazione per la chiave, una sorta di data di scadenza. Digitiamo “5y” in modo che la chiave abbia una durata di 5 anni.

Dieci

Dopodiché aggiungiamo il nome, l’indirizzo email della nuova identità ed eventuali commenti. Si possono aggiungere altre identità più tardi, per cui non c’è nessun problema nel caso abbiate vari indirizzi email e vogliate includerli nella coppia di chiavi.

Undici

A questo punto ci viene richiesto di inserire la password o la passphrase (a seconda delle preferenze). Esistono alcune linee guida molto utili che possono aiutarci nella scelta di una passphrase che sia sicura e non troppo difficile da ricordare. Per maggiori informazioni in merito, potete consultare online alcune FAQ sull’argomento.

Nel caso, si possono modificare password/passphrase anche più in là senza ricreare la chiave o distribuire nuovamente la chiave pubblica ai contatti.

Dopo aver inserito tutte le informazioni necessarie, possiamo avviare la procedura di creazione della coppia di chiavi; GPG inizierà a raccogliere random dei byte per migliorare il processo di generazione casuale dei numeri. Potete continuare a usare il vostro PC durante il processo (ci potrebbe volere del tempo a seconda del PC utilizzato; nell’esempio abbiamo utilizzato un PC I5 con 8 giga di RAM, e l’operazione è stata completata in 15 minuti).

Dodici

Il processo di creazione delle chiavi è completato. GPG mostrerà l’impronta della chiave, la data di scadenza e tutte le altre informazioni digitate. Controllare che tutto sia in ordine prima di distribuire la chiave pubblica ai contatti.

Tredici

Potete utilizzare il comando “list” di GPG (–  list keys) per controllare tutte le chiavi disponibili ed esportare quelle di cui avete bisogno. Nel nostro esempio, esportiamo la chiave pubblica per la nostra identità creata “Joe Doe”; viene creato un file da caricare manualmente su uno dey key server di PGP o da distribuire direttamente ai contatti. Il modo più facile è digitare “gpg –export –a [username] > [public-key-filename]”.Quattordici

Per caricare la chiave pubblica dalla riga di comando, possiamo utilizzare anche il comando “gpg –keyserver [serverurl] –send-keys [keyID]”.

Quindici

È possibile importare la chiave pubblica anche mediante “—recv-keys”, con tutta la comodità dell’interfaccia a linea di comando.

Infine, creiamo un backup della nostra chiave privata. Bisogna prestare molta attenzione durante questa operazione, ed è molto importante non condividere questo file con nessuno.  La procedura è simile a quella che abbiamo descritto fino ad ora, e possiamo eseguire il backup della chiave con “gpg export-secret-key –a [username] > [private-key-filename]”:

Sedici

A questo punto abbiamo la nostra nuova coppia di chiavi PGP! I nostri dati e le nostre comunicazioni saranno completamente protetti!

“Un viaggio di mille miglia inizia sempre con il primo passo”. -Lao Tzu

Ora che avete fatto il vostro primo passo con PGP, speriamo che in futuro torniate sull’argomento alla ricerca di nuovi aggiornamenti. Nel frattempo, potete mettere in pratica le dritte di GPG e giocare un po’ con le varie funzionalità per criptare, decifrare, firmare messaggi e molto altro.

GPG: come funziona

PGP: Privacy, sicurezza e autenticazione

Se avete seguito le ultime notizie, vi saranno certamente giunte all’orecchio un sacco di storie di persone che hanno avuto problemi di privacy, furto d’informazioni o spionaggio. Dato che la maggior parte delle comunicazioni avvengono online o per lo meno in formato elettronico, dovreste già essere consapevoli di quanto sia importante proteggere le informazioni di valore. E no vale solo per le grandi aziende, ma per tutte quelle persone che usano regolarmente un computer. Sicuramente avrete delle informazioni che volete mantenere private e protette; con PGP, potete aggiungere un filtro di sicurezza forte e facile da usare per tutte le comunicazioni online.

GPG: come funziona
Consigli