Guida a GnuPG programma libero da restrizioni per crittografare: scambiarsi le chiavi.

gnupg-logoGNU Privacy Guard (GnuPG o GPG), rilasciato sotto la licenza GNU GPL, è un programma progettato per sostituire la suite crittografica PGP.

GPG è completamente compatibile con gli standard OpenPGP dell'IETF ed è sostenuto dal governo tedesco.

Fa parte del software sviluppato dalla Free Software Foundation.
E' importante specificare che GnuPG è un programma  libero da restrizioni, potete usarlo anche in azienda.

Il progetto GnuPG va avanti grazie anche a finanziamenti concessi dal Ministero tedesco per l'Economia e la Tecnologia.
Principale autore del progetto è Werner Koch.

GnuPG vi permette di crittografare e/o firmare documenti e email, è indispensabile per proteggere la privacy ma anche per certificare la propria identità in Internet o anche per assicurare l'integrità di programmi scaricabili (eseguibili firmati).

Se siete una banca, un azienda ma anche semplicemente un privato  potreste prima o poi sentire l'esigenza di un programma simile, siamo nell'era digitale e delle telecomunicazioni ma quella della sicurezza informatica è ancora molto lontana...
Vi ricordo che dal Gennaio 2004 in Italia  è in vigore la legge (196/03)  Decreto Legislativo del 30 Giugno 2003

"Codice in materia di protezione dei dati personali" dove all'articolo 34 punto h potete leggere proprio : "adozione di tecniche di cifratura o di codici identificativi per determinati trattamenti di dati idonei a rivelare lo stato di salute o la vita sessuale effettuati da organismi sanitari"

Quindi se siete un organo istituzionale, un azienda o un semplice studio medico potete ottemperare agli obblighi di legge usando il programma GnuPG a costo zero per conservare al sicuro i dati o farli viaggiare cifrati per  email.

GPG è un programma stabile e maturo, ed è distribuito con parecchi sistemi operativi liberi come FreeBSD, OpenBSD, e NetBSD, oltre che, ovviamente, con tutte le distribuzioni GNU/Linux. È disponibile anche per le varie versioni dei sistemi operativi proprietari Microsoft Windows e Mac OS X, e grazie alla sua portabilità ed alla disponibilità del codice sorgente è possibile crearne una versione per qualsiasi OS.

Nonostante la versione di base di GPG fornisca un'interfaccia a riga di comando completa, sono state sviluppate parecchie interfacce grafiche, Seahorse per GNOME, KGPG per KDE, o metodi per integrarlo all'interno di programmi di posta elettronica, come KMail, Evolution (i client e-mail di default per, rispettivamente, KDE e GNOME). Un plug-in apposito, Enigmail, permette l'integrazione con Thunderbird, semplificando l'utilizzo di GPG (per la posta) sotto Microsoft Windows, GNU/Linux ed altri sistemi operativi. Parecchi client e-mail testuali, tra cui Mutt, supportano la gestione delle mail firmate o cifrate con GPG (o PGP, la configurazione è abbastanza simile per entrambi).
gnupg_prefs-001
Si deve sempre tenere in mente che, poiché quei sistemi di plugin non fanno parte del progetto GPG né dello standard OpenPGP e che gli sviluppatori di GPG e di OpenPGP non hanno preso parte alla progettazione di tali sistemi, potrebbe accadere che la sicurezza fornita da GPG venga abbassata o addirittura compromessa dall'utilizzo di tali interfacce.

GPG può essere compilato sotto altre piattaforme come Mac OS X e Windows. Per Windows un software che può esser considerato l'erede del commerciale PGP, è Gpg4win, mentre Mac OS X esiste un port chiamato MacGPG. In particolare questo software è stato adattato per usare l'interfaccia utente di OS X e le sue funzioni native. La cross-compilazione non è un lavoro semplice, anche solo per il fatto che i sistemi operativi provvedono ai requisiti di sicurezza in modalità molto diverse (anche da una versione all'altra) ed è spesso complesso adattare a queste modalità il programma per mantenere identici livelli qualitativi sui vari sistemi.

GnuPG utilizza la crittografia a chiave pubblica per permettere a coloro che lo utilizzano di comunicare in sicurezza. In un sistema a chiave pubblica ogni utente ha una coppia di chiavi consistenti in una chiave privata e una chiave pubblica. La chiave privata di una persona viene tenuta segreta; non deve mai essere rivelata. La chiave pubblica può essere data a tutti coloro con i quali l'utente vuole comunicare. GnuPG utilizza uno schema in qualche modo più sofisticato per il quale un utente possiede una coppia di chiavi primaria e zero o più coppie di chiavi subordinate addizionali. La coppia di chiavi primaria e quelle subordinate sono raggruppate assieme per facilitare la gestione delle chiavi e il mazzo così ottenuto può spesso essere considerato semplicemente come un'unica coppia di chiavi.
Scambiarsi le chiavi.
Per comunicare con altre persone è necessario scambiarsi le chiavi pubbliche. Per elencare le chiavi presenti nel proprio portachiavi pubblico utilizzare l'opzione a linea di comando --list-keys.
alice% gpg --list-keys
/users/alice/.gnupg/pubring.gpg
---------------------------------------
pub  1024D/BB7576AC 1999-06-04 Alice (giudice) <alice@cyb.org>
sub  1024g/78E9A8FA 1999-06-04
   
gnupg_prefs-004
Esportare una chiave pubblica.
Per spedire una chiave pubblica ad un corrispondente è necessario prima esportarla. A questo scopo si usa l'opzione a linea di comando --export. Essa necessita di un ulteriore argomento che identifichi la chiave pubblica da esportare. Così come con l'opzione --gen-revoke, sia l'ID della chiave che ogni altra parte dello User ID possono servire per identificare la chiave da esportare.
alice% gpg --output alice.gpg --export alice@cyb.org
     
La chieve è esportata in un formato binario, ma ciò può risultare sconveniente quando la chiave viene spedita per posta elettronica o pubblicata in una pagina web. GnuPG supporta perciò l'opzione a linea di comando --armor[1] che forza l'output ad essere generato in un formato protetto da un'armatura ASCII[2] simile ai documenti codificati con uuencode. In generale, qualsiasi output di GnuPG, cioè chiavi, documenti cifrati e firme, possono essere ASCII-armored aggiungendo l'opzione --armor.
alice% gpg --armor --export alice@cyb.org
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v0.9.7 (GNU/Linux)
Comment: For info see http://www.gnupg.org
[...]
-----END PGP PUBLIC KEY BLOCK-----
     
Importare una chiave pubblica.
Una chiave pubblica può essere aggiunta al proprio mazzo di chiavi mediante l'opzione --import.
alice% gpg --import blake.gpg
gpg: chiave 9E98BC16: chiave pubblica importata
gpg: numero totale esaminato: 1
gpg:               importate: 1
alice% gpg --list-keys
/users/alice/.gnupg/pubring.gpg
---------------------------------------
pub  1024D/BB7576AC 1999-06-04 Alice (giudice) <alice@cyb.org>
sub  1024g/78E9A8FA 1999-06-04
pub  1024D/9E98BC16 1999-06-04 Blake (esecutore) <blake@cyb.org>
sub  1024g/5C8CBD41 1999-06-04
     
Una volta che la chiave è stata importata deve venir convalidata. GnuPG utilizza un potente e flessibile modello basato sulla fiducia che non richiede all'utente di convalidare personalmente ogni chiave che viene importata. Può comunque risultare necessaria la convalida personale di alcune chiavi. Una chiave viene convalidata verificando l'impronta digitale[3] della chiave stessa e successivamente firmando la chiave per certificarla come chiave valida. L'impronta digitale di una chiave può essere velocemente visualizzata con l'opzione a linea di comando --fingerprint, ma, allo scopo di certificare la chiave, è necessario editarla.

alice% gpg --edit-key blake@cyb.org
pub  1024D/9E98BC16  created: 1999-06-04 expires: never      trust: -/q
sub  1024g/5C8CBD41  created: 1999-06-04 expires: never
(1)  Blake (esecutore) <blake@cyb.org>
Comando> fpr
pub  1024D/9E98BC16 1999-06-04 Blake (esecutore) <blake@cyb.org>
             Impronta digitale: 268F 448F CCD7 AF34 183E  52D8 9BDE 1A08 9E98 BC16
   
L'impronta digitale di una chiave va verificata con il possessore di quella chiave. Ciò può essere fatto di persona, per telefono o attraverso un qualsiasi altro mezzo con il quale sia possibile garantire che si sta comunicando con il vero possessore della chiave. Se l'impronta digitale che si riceve è la stessa impronta digitale che il possessore della chiave detiene, allora si può essere sicuri di possedere una corretta copia della chiave.

Dopo aver controllato l'impronta digitale, si può procedere alla firma in modo da convalidarla. Poiché la verifica di una chiave rappresenta un punto debole nella crittografia a chiave pubblica, è necessario essere estremamente attenti è controllare sempre un'impronta digitale di una chiave con il possessore prima di firmare la chiave stessa.

Comando> sign
pub  1024D/9E98BC16  created: 1999-06-04 expires: never      trust: -/q
             Fingerprint: 268F 448F CCD7 AF34 183E  52D8 9BDE 1A08 9E98 BC16
     Blake (esecutore) <blake@cyb.org>
Sei davvero sicuro di volere firmare questa chiave
con la tua chiave: "Alice (giudice) <alice@cyb.org>"
Firmo davvero?
gnupg_prefs-005
     
Una volta firmato è possibile controllare la chiave listando le firme ad essa applicate e rilevare la firma che si è appena aggiunta. Ogni User ID avrà sulla chiave una o più autofirme e una firma per ogni utente che ha convalidato la chiave.

Comando> check
uid  Blake (esecutore) <blake@cyb.org>
sig!       9E98BC16 1999-06-04   [autofirma]
sig!       BB7576AC 1999-06-04   Alice (giudice) <alice@cyb.org>
     
Note:
[1]    Numerose opzioni a linea di comando di uso frequente possono essere impostate in un file di configurazione.
[2]    D'ora in poi ASCII-armored.
[3]    Si noti che qui l'aggettivo digitale può assumere due significati, entrambi validi. Il primo è quello che deriva dalla traduzione della parola inglese originaria fingerprint, impronta delle dita. Il secondo significato è quello di ``prodotto con l'ausilio di un computer'', che è la macchina digitale per eccellenza.

Ricerca personalizzata


Se ti è piaciuto l'articolo , iscriviti al feed cliccando sull'immagine sottostante per tenerti sempre aggiornato sui nuovi contenuti del blog:


Commenti

Post popolari in questo blog

Rilasciano BlenderBot v3, un chatbot che utilizza il loro modello OPT e aprono la demo per testarlo

Componenti aggiuntivi di Google Workspace

Come rimuovere il virus che trasforma le cartelle in collegamenti nella tua pendrive.