PGP
Cos'è PGP
PGP (Pretty Good Privacy) è un insieme di protocolli che implementano un algoritmo crittografico utile per cifrare dati e trasmetterli in modo sicuro. PGP nasce dall'esigenza di superare la crittografia convenzionale caratterizzata dall'utilizzo di una sola chiave segreta sia per cifrare che per decifrare (symmetric-key encryption). PGP adotta un sistema innovativo ed efficiente, la crittografia a chiave pubblica (public key cryptography) che consiste nel generare una coppia di chiavi (keypair), una pubblica che cifra i dati e una privata per decifrarli. La chiave pubblica può essere liberamente divulgata, mentre quella privata deve rimanere segreta, solo per il proprietario. È computazionalmente infattibile risalire alla chiave privata da quella pubblica. In breve, tutti possono cifrare dati per te ma solo tu puoi decifrarli. L'uso più frequente di PGP/GPG/GnuPG/OpenPGP è il cifrare le email o apporvi una firma digitale. Molti di noi eigenLabbiani (o eigenLabbisti o eigenLabbosi o eigenLebbrosi o eigenLabbi per gli amici) usano GPG, qui trovate chi di noi lo usa, per scaricare le nostre chiavi affidatevi ad un qualsiasi keyserver (googlate e fate la ricerca su un paio di questi cercando il nome e cognome).
Come iniziare con PGP
Usando Linux
Quando si cerca sicurezza e privacy un buon punto di partenza è usare Linux.
In modo grafico
Si possono usare molti programmi diversi, quelli che ho scelto per questa guida sono:
- KGPG
- Thunderbird
- EnigMail estensione di Thunderbird
Primo passo: installare i 2 programmi e l'estensione.
Dal Gestore di pacchetti della vostra Linux che state usando (il Gestore di pacchetti lo trovate in qualche menù di applicazioni, potrebbe chiamarsi anche Software Center) installate i pacchetti thunderbird e kgpg. Aprite Thunderbird (lo trovate in qualche menù applicazioni > Internet) ed andate sul menù Strumenti > Componenti aggiuntivi, cercate EnigMail ed installatelo.
Secondo passo: creare la coppia di chiavi.
Aprite KGPG, lo trovate in qualche menù oppure premendo ALT+F2 e scrivendo kgpg. Se compare la finestra di KGPG bene, sennò dovrete cercare la sua icona di lucchetto giallo che sarà comparsa da qualche parte sul vostro schermo. Se si apre da sola la finestrella di configurazione bene, cliccate un po' Next e poi Finish. Altrimenti andate sul menù Keys > Generate Key Pair. A questo punto compilate il modulino: Name è molto sensato mettere nome e cognome veri; Email una delle email che usate, poi se ne possono aggiungere altre; Comment anche nulla...; Expiration mettetela, serve per evitare la situazione in cui perdete la chiave privata e quella pubblica resta valida online a vita (ad esempio se la mettete a 5 anni vorrà dire che tra 5 anni rimanderete la scadenza, tutto qui); Key Size 1024 è normale, 2048 se la volete sicura fino all'estinzione dell'umanità, 4096 se la volete sicura fino allo spegnimento del sole; come algoritmo di cifratura (Algorithm), è conveniente scegliere RSA & RSA, in quanto DSA & ELGamal non è supportato nelle più recenti versioni di RetroShare. Poi vi chiederà la password necessaria per proteggere la chiave privata, come per tutte le password non mettete na una parola esistente, né la vostra data di nascita, né il nome della vostra ragazza con gli 1 al posto delle i.
Terzo passo: modificare la chiave
Per aggiungere altre vostri indirizzi email alla vostra chiave cliccateci sopra col destro usando KGPG e selezionate Add User Id e compilate i dati per le altre email. Potete anche aggiungere una foto, cliccando su (indovina un po'...) Add Photo, probabilmente KGPG si lamenterà della dimensione della foto: rimpicciolitegliela. Attenzione ad aggiungere una foto alla chiave, una volta aggiunta e caricata sui keyserver la foto non potrà essere rimossa, ma come per le chiavi, potrà solo essere revocata ma resterà presente.
Quarto passo: caricare la chiave pubblica sui keyserver
Perché la gente possa inviarvi una mail cifrata che solo voi potrete aprire è necessario che abbiano la vostra chiave pubblica, e solitamente la andranno a cercare sui keyserver cioè dei server su internet che hanno tutte le chiavi di tutti. Questa stessa chiave gli servirà anche per verificare che la vostra firma sia autentica. Dunque dovete caricare questa chiave pubblica, (non quella privata!!!) cliccate col destro sulla vostra chiave in KGPG e selezionate Export Public Key, selezionate keyserver e fate ok. Se sembra dare qualche errore tipo Connection timed out, Invio al keyserver fallito: errore del keyserver allora riprovate selezionando un altro keyserver dal menù a tendina. Una volta caricata la chiave su un keyserver questo provvederà da solo ad inviarla anche agli altri keyserver.
Quinto passo: creare il certificato di revoca e backuppare la chiave privata
Questi passi non sono indispensabili, ma conviene seguirli: riducono la sicurezza della vostra chiave ma servono per evitare (nel caso vi si esploda l'hard disk o ve lo rubino) di perdere il controllo della chiave. Estraete la chiave privata usando KGPG: cliccate col destro sulla vostra chiave e selezionate Export Secret Key e lui vi chiederà se siete sicuri sicuri di dove poi la metterete, e fa bene perché qualche cattivone potrebbe trovare la vostra chiave segreta e, con appositi programmini, provare tutte le password fino a trovare la password con cui l'avete protetta, a quel punto potrà fingersi voi o leggere i dati riservati a voi. Insomma conservate questa chiave privata in un posto molto sicuro o evitate di fare il backup della chiave. La copia originale della chiave privata è nella vostra home in una cartella nascosta dal nome .gnupg.
Il certificato di revoca invece non è protetto da password e serve per dichiarare che la chiave pubblica presente su internet (sui keyserver) non è più valida. Si tratta di una specie di denuncia di smarrimento già firmata che va preparata ora per essere usata quando e se servirà. Dunque anche questo file deve essere conservato in un luogo sicuro.
Sesto passo: usare EnigMail con Thunderbird
La configurazione base di Thunderbird spero non sia un problema ma comunque non verrà trattata qui, dovrebbe funzionare tutto automagicamente inserendo Nome Cognome eMail e password. Una volta testato che thunderbird vede le email sulla vostra casella di posta e che riesce a spedirle potere iniziar a giocare con EnigMail. Spiegate a thunderbird di usare EnigMail andando sul menù Modifica > Impostazioni Account, dunque tra le voci a sinistra dovreste vedere una riga Protezione OpenPGP per ogni casella di posta configurata. Cliccateci e spuntate Abilita il supporto OpenPGP, dite di sì per firmare sempre, no per cifrare sempre (non potete inviare una email cifrata a chi non ha una chiave PGP...) e dite di sì per usare PGP/MIME (se dite di sì la firma sarà un allegato, altrimenti sarà scritta come testo strano nel corpo dell'email, se scambiate corrispondenza con qualche troglodita che usa windowsmail vi conviene non usare PGP/MIME). Ora provate a scrivere una mail usando Thunderbird, verificate che nel menù OpenPGP (che compare installlando EnigMail) ci siano le impostazioni corrette ed inviate. Vista dalla pagina web della vostra casella di posta il messaggio inviato dovrebbe avere un allegato signature.asc che è un file di testo con la firma digitale.
Settimo passo: firmare le chiavi altrui e farsi firmare la propria
Parte ancora da realizzare, il contenuto, riassunto sarà: usate KGPG, è facile. Le chiavi tua e degli altri tuoi contatti stanno in un keyring (Il keyring, come suggerisce la parola stessa, è un "mazzo di chiavi", cioè l'insieme delle chiavi possedute da te e acquisite dagli altri.), puoi firmare le chiavi degli altri dando la tua parola che quella chiave appartiene ad una persona con quel nome e cognome. È meglio verificare un documento d'identità per assicurarsi di non dare la spalla a qualche malandrino che vuole dar luogo ad uno scambio di persona.
Usando il terminale
Se siete amanti delle CLI potete usare il comando gpg.
Generare un keypair
Il software usato per la gestione delle chiavi è GnuPG, una libera alternativa di PGP che al momento è di proprietà della Symantec. Generare una coppia di chiavi è molto semplice:
$ gpg --gen-key
Come algoritmo si può scegliere DSA + Elgamal (2), la dimensione è un fattore estremamente importante poiché da questa dipende la robustezza delle chiavi ed è quindi consigliabile almeno 1024 bits (meglio 2048). Per le altre opzioni vanno bene quelle di default. La passphrase è una versione lunga della password (@Costantino, ma che senso ha questa cosa??) e quindi, in teoria più sicura. Viene usata per cifrare la chiave privata sulla tua macchina e per modificare le opzioni del keypair una volta generato.
Usando Windows
You're doing it wrong! Trovate una guida scritta dai ragazzi di Ninux qui.
Usando Mac
Trovate una guida scritta dai ragazzi di Ninux qui.
Usando uno smartphone
Sezione ancora vuota... Non ho uno smartphone...
Lista utilizzatori PGP in eigenLab
Utilizzo di questa lista
Cercate il nome e cognome su un keyserver, tra i risultati fidatevi solo delle chiavi firmate da voi o firmate da altre chiavi che voi avete firmato e che siano proprietà di persone affidabili. Chiaramente più la catena di fiducia è lunga (o se perfino non esiste un collegamento di firme tra la vostra e quella che vi interessa) più probabile che vi ritroviate ad inviare una mail cifrata con contenuti sensibili a malintenzionati.
Lista
- Ilario Gelmetti (mail & retroshare)
- Gioacchino Mazzurco (mail & retroshare)
- Costantino Carugno (mail & retroshare)
- Valerio Baldisserotto (mail)
- Francesca Lizzi
- Antonio Iudicello (retroshare)
- Paluca(retroshare)
e altri...
Altre liste
- Lista delle chiavi di RetroShare dei Ninux (l'enorme Community wireless romana), ci trovate anche le nostre, verificatele prima di aggiungerle come fidate.