PGP sta per Pretty Good Privacy. È un software di crittografia progettato per fornire privacy, sicurezza e autenticazione per i sistemi di comunicazione online. Phil Zimmerman è il nome dietro il primo programma PGP e, secondo lui, è stato reso disponibile gratuitamente a causa della crescente domanda sociale di privacy.
Dalla sua creazione nel 1991, sono state create molte versioni del software PGP. Nel 1997, Phil Zimmerman presentò una proposta all'Internet Engineering Task Force (IETF) per la creazione di uno standard PGP open source. La proposta è stata accettata e ha portato alla creazione del protocollo OpenPGP, che definisce formati standard per chiavi e messaggi di crittografia.
Sebbene inizialmente utilizzato solo per proteggere messaggi e allegati e-mail, PGP viene ora applicato a un'ampia gamma di casi d'uso, tra cui firme digitali, crittografia completa del disco e protezione della rete.
PGP era inizialmente di proprietà della società PGP Inc, che è stata successivamente acquisita da Network Associates Inc. Nel 2010, Symantec Corp. ha acquisito PGP per 300 milioni di dollari e il termine è ora un marchio utilizzato per i loro prodotti conformi a OpenPGP.
Come funziona?
PGP è tra i primi software ampiamente disponibili a implementare la crittografia a chiave pubblica. È un sistema crittografico ibrido che utilizza sia la crittografia simmetrica che asimmetrica per raggiungere un elevato livello di sicurezza.
In un processo di base di crittografia del testo, un testo in chiaro (dati che possono essere chiaramente compresi) viene convertito in testo cifrato (dati illeggibili). Ma prima che abbia luogo il processo di crittografia, la maggior parte dei sistemi PGP esegue la compressione dei dati. Comprimendo i file di testo in chiaro prima di trasmetterli, PGP risparmia sia spazio su disco che tempo di trasmissione, migliorando allo stesso tempo la sicurezza.
Dopo la compressione del file, inizia il processo vero e proprio di crittografia. In questa fase, il file di testo in chiaro compresso viene crittografato con una chiave monouso, nota come chiave di sessione. Questa chiave viene generata in modo casuale tramite l'uso della crittografia simmetrica e ogni sessione di comunicazione PGP ha una chiave di sessione univoca.
Successivamente, la chiave di sessione (1) stessa viene crittografata utilizzando la crittografia asimmetrica: il destinatario previsto (Bob) fornisce la sua chiave pubblica (2) al mittente del messaggio (Alice) in modo che possa crittografare la chiave di sessione. Questo passaggio consente ad Alice di condividere in modo sicuro la chiave di sessione con Bob tramite Internet, indipendentemente dalle condizioni di sicurezza.
La crittografia asimmetrica della chiave di sessione viene solitamente eseguita tramite l'utilizzo dell'algoritmo RSA. Molti altri sistemi di crittografia utilizzano RSA, incluso il protocollo Transport Layer Security (TLS) che protegge gran parte di Internet.
Una volta trasmessi il testo cifrato del messaggio e la chiave di sessione crittografata, Bob può utilizzare la sua chiave privata (3) per decrittografare la chiave di sessione, che viene quindi utilizzata per decrittografare nuovamente il testo cifrato nel testo in chiaro originale.
A parte il processo di base di crittografia e decrittografia, PGP supporta anche le firme digitali, che svolgono almeno tre funzioni:
Autenticazione: Bob può verificare che il mittente del messaggio fosse Alice.
Integrità: Bob può essere sicuro che il messaggio non sia stato alterato.
Non ripudio: dopo che il messaggio è stato firmato digitalmente, Alice non può affermare di non averlo inviato.
Casi d'uso
Uno degli usi più comuni di PGP è proteggere la posta elettronica. Un'e-mail protetta con PGP viene trasformata in una stringa di caratteri illeggibili (testo cifrato) e può essere decifrata solo con la chiave di decrittazione corrispondente. I meccanismi di funzionamento sono praticamente gli stessi per proteggere i messaggi di testo, ed esistono anche alcune applicazioni software che consentono di implementare PGP sopra altre app, aggiungendo di fatto un sistema di crittografia ai servizi di messaggistica non protetti.
Sebbene PGP sia utilizzato principalmente per proteggere le comunicazioni Internet, può essere utilizzato anche per crittografare singoli dispositivi. In questo contesto, PGP può essere applicato alle partizioni del disco di un computer o dispositivo mobile. Crittografando il disco rigido, all'utente verrà richiesto di fornire una password ogni volta che il sistema si avvia.
Vantaggi e svantaggi
Grazie all'uso combinato della crittografia simmetrica e asimmetrica, PGP consente agli utenti di condividere in modo sicuro informazioni e chiavi crittografiche attraverso Internet. Essendo un sistema ibrido, PGP beneficia sia della sicurezza della crittografia asimmetrica che della velocità della crittografia simmetrica. Oltre alla sicurezza e alla velocità, le firme digitali garantiscono l'integrità dei dati e l'autenticità del mittente.
Il protocollo OpenPGP ha consentito l'emergere di un ambiente competitivo standardizzato e le soluzioni PGP sono ora fornite da molteplici aziende e organizzazioni. Tuttavia, tutti i programmi PGP conformi agli standard OpenPGP sono compatibili tra loro. Ciò significa che i file e le chiavi generati in un programma possono essere utilizzati in un altro senza problemi.
Per quanto riguarda gli svantaggi, i sistemi PGP non sono così semplici da usare e da comprendere, soprattutto per gli utenti con scarse conoscenze tecniche. Inoltre, la lunga lunghezza delle chiavi pubbliche è considerata da molti piuttosto scomoda.
Nel 2018, la Electronic Frontier Foundation (EFF) ha pubblicato una grave vulnerabilità chiamata EFAIL. EFAIL ha consentito agli aggressori di sfruttare il contenuto HTML attivo nelle e-mail crittografate per ottenere l'accesso alle versioni in chiaro dei messaggi.
Tuttavia, alcuni dei problemi descritti da EFAIL erano già noti alla comunità PGP dalla fine degli anni '90 e, in effetti, le vulnerabilità sono legate alle diverse implementazioni da parte dei client di posta elettronica e non al PGP stesso. Quindi, nonostante i titoli allarmanti e fuorvianti, PGP non è danneggiato e continua a essere altamente sicuro.
Pensieri conclusivi
Sin dal suo sviluppo nel 1991, PGP è stato uno strumento essenziale per la protezione dei dati ed è ora utilizzato in un'ampia gamma di applicazioni, fornendo privacy, sicurezza e autenticazione per diversi sistemi di comunicazione e fornitori di servizi digitali.
Sebbene la scoperta del difetto EFAIL nel 2018 abbia sollevato notevoli preoccupazioni sulla fattibilità del protocollo, la tecnologia di base è ancora considerata solida e crittograficamente valida. Vale la pena notare che diverse implementazioni PGP possono presentare diversi livelli di sicurezza.