PGP

Da EigenWiki.

Cos'è PGP

PGP (Pretty Good Privacy, e successive implementazioni OpenPGP e GnuPG) è un programma che permette di usare autenticazione e privacy crittografica (wikipedia). Con autenticazione si intende la certezza della paternità dei dati digitali se firmati. Ossia PGP permette di associare "comunicazione firmata digitalmente con PGP -> chiave PGP" e "chiave PGP -> identità reale o pseudonimo". Con privacy crittografica si intende il rendere illeggibili da terzi le comunicazioni private. PGP nasce dall'esigenza di superare la crittografia convenzionale caratterizzata dall'utilizzo di una sola chiave/password sia per cifrare (rendere illeggibile per chi non abbia la chiave) che per decifrare (rendere leggibile il messaggio). PGP adotta la crittografia asimmetrica che consiste nel utilizzare una coppia di chiavi (keypair), una chiave pubblica che cifra i dati e verifica le firme e una privata che decifra i dati e crea le firme. 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, tutti possono verificare che la firma sia autentica ma solo tu puoi firmare. Molti di noi eigenLabbiani (o eigenLabbisti o eigenLabbosi o eigenLebbrosi o eigenLabbi per gli amici) usano GPG, qui trovate chi di noi lo usa.

Come iniziare con PGP

Usando Linux

Quando si cerca sicurezza e privacy un buon punto di partenza è usare Linux sul proprio computer, di Linux ce ne sono tanti tipi diversi, qui potete farvi consigliare il più adatto a voi.

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 o in qualche barra di notifica. 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 potranno 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), conviene lasciare le opzioni di default (se vorrete usare RetroShare, che supporta tutti gli algoritmi, creerete una nuova coppia di chiavi tramite RetroShare). Poi vi chiederà la password necessaria per proteggere la chiave privata, come per tutte le password non mettete una parola esistente, né la vostra data di nascita, né il nome della vostra ragazza con gli 1 al posto delle i. Consiglio di prendere una frase lunghetta di una canzone che vi ricordate bene e convertirla in password, ad esempio: "Dieci ragazze per me Voglio dimenticare Capelli biondi d'accarezzare E labbra rosse sulle quali morire." Diventa una password ottima (prendendo le iniziali delle parole): "10rpmVdCbd'aElrsqm."

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à: se cerchi qualcosa di facile usa KGPG (ma non funziona il cert-level). 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). Firmando le chiavi degli altri stai garantendo che quella chiave appartiene ad una persona con quel nome e cognome, non fare firme senza le adeguate verifiche, altri potrebbero fidarsi erroneamente di te e cadere in qualche scambio di identità.

Usando il terminale

Se siete amanti delle CLI potete usare il comando gpg.

Generare un keypair da terminale

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 (praticamente una password, ma possono esserci spazi all'interno) viene usata per cifrare la chiave privata sulla tua macchina, dunque è necessaria ogni volta che si voglia usare la chiave PGP e per modificare le opzioni del keypair.

Firmare da terminale

Se vuoi far le cose fatte bene usa gpg + caff.

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

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 delle chiavi di RetroShare dei Ninux (l'enorme community wireless romana), ci trovate anche le nostre, verificatele prima di aggiungerle come fidate.