GNU Privacy Guard

Da Wikipedia, l'enciclopedia libera.
GNU Privacy Guard
Logo di GNU Privacy Guard
Sviluppatore GNU Project
Ultima versione 2.0.22[1] (5 ottobre 2013)
Sistema operativo Multipiattaforma
Linguaggio
Genere Crittografia
Licenza GPL
(Licenza libera)
Sito web www.gnupg.org

GNU 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.

Storia[modifica | modifica sorgente]

GPG venne sviluppato inizialmente da Werner Koch; la versione 1.0.0 fu rilasciata il 7 settembre 1999. Nel 2000 il ministro dell'Economia e della Tecnologia della Germania Federale fa partire il progetto di creazione della documentazione e di porting per Microsoft Windows.

Utilizzo di GPG[modifica | modifica sorgente]

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).

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.

Come funziona GPG[modifica | modifica sorgente]

GPG cifra i messaggi utilizzando una coppia di chiavi (pubblica e privata) generate dall'utente. Le chiavi pubbliche possono essere scambiate tra gli utenti in vari modi, principalmente email e keyserver. Tuttavia bisogna prestare particolare attenzione alla corrispondenza tra chiave e (presunta) identità: il problema di tutti i sistemi di crittografia asimmetrica è la certificazione dell'autenticità della chiave, solitamente risolto con la presenza di un'autorità centrale oppure con la firma delle chiavi (un utente firma la chiave pubblica di un altro utente per certificarne l'effettiva autenticità). Su questo delicato punto si basa anche la firma digitale di file (messaggi) per garantire l'autenticità del contenuto e del mittente.

GPG non fa utilizzo di algoritmi brevettati (o con ambiti di utilizzo ristretti da particolari licenze) come IDEA, presente in PGP sin dalle prime versioni. Vengono invece usati algoritmi come Digital Signature Algorithm (DSA), RSA, ElGamal, CAST5, Triple DES (3DES), AES e Blowfish. È tuttavia ancora possibile utilizzare IDEA ma si deve scaricare un apposito plugin (e, in alcuni paesi, registrare una licenza di utilizzo).

Come prevede lo standard OpenPGP, GPG è un sistema di crittografia "ibrido", che combina algoritmi a chiave simmetrica a causa della loro velocità e algoritmi a chiave pubblica per la facilità di scambio delle chiavi: ogni volta che si deve cifrare un messaggio viene generata una chiave di sessione (utilizzata un'unica volta, per l'algoritmo simmetrico) che viene a sua volta cifrata con la chiave pubblica del destinatario. Si noti come questo passaggio renda impossibile la lettura del messaggio anche al mittente (a meno che questo non cifri la chiave di sessione anche con la propria chiave pubblica, opzione che è possibile abilitare).

Problemi[modifica | modifica sorgente]

Gli standard OpenPGP prevedono alcuni metodi di firma digitale; durante alcune modifiche a GPG volte a rendere più efficiente uno di questi metodi, venne introdotta per errore una vulnerabilità (si veda, in inglese, Nguyen 2004). Questo problema affligge soltanto uno dei metodi di firma digitale, solo in alcune release di GPG, e nei vari keyserver esistono meno di 1000 chiavi che lo presentano.[2] Inoltre la maggior parte delle persone non usa questo metodo, l'utilizzo è scoraggiato, e, in ogni caso, il supporto venne immediatamente rimosso subito dopo la scoperta del problema, quindi i danni (se ce ne sono, non sono mai stati riportati pubblicamente) sembrano essere minimi. Questo episodio è l'ennesima dimostrazione della difficoltà della corretta implementazione degli algoritmi e dei protocolli in un sistema crittografico.

Note[modifica | modifica sorgente]

  1. ^ GnuPG - Note di rilascio. URL consultato l'8 ottobre 2013.
  2. ^ (EN) GnuPG's ElGamal signing keys compromised. URL consultato il 23 agosto 2011.

Voci correlate[modifica | modifica sorgente]

Collegamenti esterni[modifica | modifica sorgente]

Manuali