Come funziona la crittografia con PGP



Pretty Good Privacy (PGP) Nasce nel Giugno del 1991 ad opera del programmatore statunitense Philip Zimmermann con lo scopo dichiarato di difendere i diritti civili e la libertà di espressione in un’era in cui le conversazioni potevano essere intercettate e catalogate (parliamo di circa 25 anni fa!). Già all’epoca, e proprio in quel periodo, era in discussione al Senato americano un disegno di legge in base al quale ogni software di criptazione avrebbe dovuto obbligatoriamente includere una backdoor per le agenzie goverantive. Zimmermann, uno dei maggiori visionari tecnologici degli ultimi 100 anni, creò PGP utilizzando il sistema a chiave pubblica nato nel 1976, poi divenuto Rsa negli anni ’80.

Il successo di PGP è dato dal fatto che, diversamente dai sistemi tradizionali dove per criptare e decriptare un messaggio occorre la stessa chiave “privata” conosciuta sia da mittente che da destinatario (e quindi con tutti i rischi di intercettarla quando la si comunica) e definita crittografia simmetrica, PGP invece, usando una crittografia asimmetrica (detta a chiave pubblica), è un sistema che si basa sulla generazione di una coppia di chiavi, una “privata” ed una “pubblica” che non coincidono. La chiave privata (tra l’altro protetta da passphrase) è conosciuta solo dall’utente che l’ha creata, invece la pubblica viene da questo consegnata a chi necessita di comunicare con lui. La chiave privata permette di decrittare solo se abbinata alla rispettiva chiave pubblica.

Per chiarire il meccanismo ipotizziamo che Alice debba comunicare con Bob. Entrambi avranno generato le rispettive chiavi private e pubbliche di PGP. Alice possiede la sua chiave privata e consegna la sua chiave pubblica a Bob. Bob possiede la sua chiave privata e consegna la sua chiave pubblica a Alice. Sia Alice che Bob si tengono solo per sé la propria chiave privata.

Quando Alice vuole comunicare con Bob manderà un messaggio a Bob cifrato con la chiave pubblica di Bob. Soltanto Bob con la sua chiave privata potrà decrittare tale messaggio per poterlo leggere.

Quando Bob vuole comunicare con Alice manderà un messaggio ad Alice cifrato con la chiave pubblica di Alice. Soltanto Alice con la sua chiave privata potrà decrittare tale messaggio per poterlo leggere.

Sia Alice che Bob se vorranno cifrare un file o un testo per se stessi useranno la propria chiave pubblica per cifrare il testo o il file. E useranno la propria chiave privata per decrittare il testo o il file.

E’ “praticamente” impossibile da una chiave pubblica risalire alla rispettiva privata. Con chiavi criptate a 4096 bit, ci vuole un tempo pari all’età dell’universo per farlo con metodiche di “brute force”.

Quanto visto sopra assolve alla funzione di protezione della Privacy e Riservatezza del contenuto del messaggio offerto da PGP. Funzione per lo più principale di tale strumento.

Supponiamo ora che Alice volesse essere sicura che Bob ricevendo il messaggio abbia la certezza che sia lei ad averglielo inviato. Dovrebbe mandare il messaggio cifrato firmato con la sua chiave privata. Così Bob utilizzando la chiave pubblica di Alice in proprio possesso potrà verificare con certezza l’Autenticità del mittente. Infatti la chiave pubblica di Alice potrà combaciare solo con la sua chiave privata. Questa funzione può essere utile quando si vuole essere certi della provenienza di un messaggio/documento/software, funzione spesso usata quando si scarica qualche documento da internet.

Infatti questa funzione di Privacy e Riservatezza (attraverso la criptazione di un messaggio), all’Autenticazione del mittente. Garantirà così al contempo di raggiungere entrambi i risultati. Per far ciò Alice invierà un messaggio criptato a Bob utilizzando la chiave pubblica di Bob, e in aggiunta lo firmerà con la propria chiave privata. In questo modo quando Bob riceverà il messaggio criptato potrà decriptarlo utilizzando la propria chiave privata, ma potrà anche accertarsi del mittente confrontando la firma di questo con la sua chiave pubblica.

Spiegati gli indubbi vantaggi di sicurezza, riservatezza e autenticazione del mittente della crittografia con PGP, diventa ben chiaro il perché ci conviene usarla per proteggere i nostri dati sensibili e le nostre comunicazioni.