skip to main | skip to sidebar
24 commenti

Come cifrare e autenticare la mail: quarta parte

Il contenuto di questo articolo è stato trasferito qui.
Invia un commento
I commenti non appaiono subito, devono essere tutti approvati da un moderatore. Lo so, è scomodo, ma è necessario per tenere lontani scocciatori, spammer, troll e stupidi: siate civili e verrete pubblicati qualunque sia la vostra opinione; gli incivili di qualsiasi orientamento non verranno pubblicati, se non per mostrare il loro squallore.
Inviando un commento date il vostro consenso alla sua pubblicazione, qui o altrove.
Maggiori informazioni riguardanti regole e utilizzo dei commenti sono reperibili nella sezione apposita.
NOTA BENE. L'area sottostante per l'invio dei commenti non è contenuta in questa pagina ma è un iframe, cioè una finestra su una pagina di Blogger esterna a questo blog. Ciò significa che dovete assicurarvi che non venga bloccata da estensioni del vostro browser (tipo quelle che eliminano le pubblicità) e/o da altri programmi di protezione antimalware (tipo Kaspersky). Inoltre è necessario che sia permesso accettare i cookie da terze parti (informativa sulla privacy a riguardo).
Commenti
Commenti (24)
Sono circa 15 anni che ho la mia chiave pgp, e su centinaia di contatti che ho avuto per vari motivi solo due avevano la chiave PGP.
Praticamente, salvo delle prove, non ho mai potuto usare questo sistema con nessuno.
Men che meno con assicurazioni o altri soggetti con cui lo scambio di mail assumeva una certa quale delicatezza.
L'inconveniente più grosso di questo metodo è la lentezza della cifratura a chiave asimmentrica. Per questo motivo si preferisce firmare digitalmente un documento, perché in questo caso si cifra la sola stringa di hash, una sorta di "riassunto" digitale del documento: a ogni documento corrisponde praticamente (praticamente perché sarebbe possibile avere due documenti con la stessa stringa ma le probabilità che ciò avvenga sono remote) una sola stringa di hash. Se la stringa calcolata a partire dal documento non coincide con la stringa cifrata allora il messaggio è stato manomesso.

Ma anche a questo si può ovviare. Infatti, si può inviare, cifrata con chiave asimmetrica, una chiave simmetrica con cui cifrare il resto.
Se non sbaglio questo trucco lo usano le connessioni sicure come SSL, SSH, SFTP ecc...
Tempo fa ho creato questo tool, simile come scopo:
http://mywhisper.net/

Può essere usato per scambiarsi in maniera crittografata piccoli messaggi, ad esempio scambiarsi password via sistemi insicuri (mail non GPG, chat, Whatsapp, etc).

Il vantaggi sono: web-based, la rapidità d'uso, il fatto che il destinatario non necessita di competenze tecniche, e che la crittografia è lato client.
Lo svantaggio è che prevede che il mittente e il destinatario concordino una password a priori in ambiente sicuro.

Paolo, confido che questo messaggio possa utile e non considerato spam, in caso contrario piallalo (ovvio :P).

Ciao!
Paolo, sei sicuro che per decifrare un messaggio serva anche la chiave pubblica del mittente? Tecnicamente dovrebbe essere sufficiente la propria chiave privata...
Ecco, dani 1967 ha confermato il dubbio che mi è venuto subito leggendo questo articolo: tutto molto bello, ma se non convinco altra gente a installarsi quel software GNU e generare a loro volta una chiave, è tutto inutile. Uhm.
Emmm... manca la tua chiave pubblica per scriverti. :-)

A parte questo, parto da un assunto: nessuno che io conosca, nemmeno quelli che potrebbero capirne l'importanza tecnica/pratica/politica, vuole imparare più di una password che usa per tutto, di solito nomegatto.annodinascita. Dire loro di fare questo giro per scambiarsi le mail protette e certificate è pura fantascienza.

Inoltre: questo software va aggiornato ogni volta che serve e l'aggiornamento non è un optional per la nostra sicurezza. Le persone non aggiornano i loro software. Mai. Di nessun tipo. Chi aggiorna Windows è perché ha impostato per default gli aggiornamenti automatici e di questo dobbiamo ringraziare mamma Microsoft.

Infine: che si fa in caso di compromissione della chiave privata? Sapevo che c'era una procedura di revoca sui key server.

Grazie Paolo per queste info, sono molto utili. Speriamo un giorno di usarle tutti.
puoi aggiungere a questa splendida serie anche 'come verificare l'identita di un mittente, avendo ricevuto una firma PGP' ?
Mi pare ci sia un inconveniente a questo sistema: chiunque può crearsi una coppia di chiavi a nome "Paolo Attivissimo" e farsi passare per te. Se non sbaglio bisognerebbe farsi firmare la chiave da un certo numero di persone fidate (da tutti i tuoi corrispondenti) che certifichino che la chiave pubblica sul key server sia realmente la tua.
(Ovvio che questo non accade se tu distribuissi personalmente le tue chiavi private)
Sbaglio?

---Alex
Se invece ricevete una mail cifrata, il procedimento è molto simile: dovete procurarvi la chiave pubblica del mittente, se non l'avete già, e dovete aprirla su un computer nel quale ci sia la vostra chiave con il software di gestione. Questo impedisce ad altri di decifrare il messaggio.

Che io sappia ha ragione Diego Maninetti: no c'è bisogno della chiave pubblica del mittente.

@AD Blues
Mi pare ci sia un inconveniente a questo sistema: chiunque può crearsi una coppia di chiavi a nome "Paolo Attivissimo" e farsi passare per te.

Hai ragione. Ma si può ovviare scambiandosi, per esempio, fisicamente le chiavi o attraverso una terza persona di fiducia. Ad esempio, nel caso della firma digitale italiana c'è un'autorità che certifica l'autenticità della firma.

io ho la mia chiave generata da Comodo (con tutta la chain e quindi non autogenerata). Questo garantisce assolutamente che le email che spedisco firmate siano mie.
Se cercate lo stesso argomento (crittografia delle comunicazioni) relativamente alle chat istantanee:

Google Talk, Hangout, Facebook e molti altri utilizzano (talvolta in parte) il protocollo XMPP:
http://it.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol

Per usare queste chat in maniera crittografata (simile come logica a PGP/Mail), la soluzione più diffusa è usare un client chat che supporta OTR, Off-the-Record Messaging:
http://en.wikipedia.org/wiki/Off-the-Record_Messaging

Personalmente uso Pidgin+OTR in Windows, e Xabber (che supporta OTR nativo) http://www.xabber.org/ in Android, in cui uso sia il mio account Google, sia il mio account Facebook.
Mancherebbe un ultimo passaggio, la realizzazione della "web of trust", e cioè l'unico modo per verificare l'identità associata ad una chiave PGP, a meno che ovviamente non se ne conosca di persona il proprietario. Per creare o ampliare la propria web of trust bisogna far firmare, da persone conosciute e dotate di chiave PGP, la propria chiave pubblica. Si dimostra così che altre persone hanno riposto un certo livello di fiducia nella propria chiave. Ogni tanto vengono organizzati degli incontri appositamente per questo, perché non farlo?
Paolo, ha ragione Diego Maninetti: se ricevi una mail crittografata si suppone quindi indirizzata a te, l'unica cosa di cui hai bisogno per leggerla è essere in possesso della tua chiave privata!
ilcomizietto,

Emmm... manca la tua chiave pubblica per scriverti. :-)

La puoi trovare nel keyserver.
Diego,

grazie della correzione. Aggiorno subito.
Con Google Chrome è possibile utilizzare un'ottima estensione basata su GnuPGP:

http://www.mailvelope.com/
@Paolo Attivissimo #14
Scusa la figura da utonto. È tanto che non uso openpgp (ho visto ora: 11 anni!) e in un primo momento mi sembrava che per trovare la persona nel key server servisse il Key-ID. Ora ho tutto!

Comunque:
1) per generare i certificati di revoca Gun4win non aiuta. Bisogna fare a riga di comando.
http://www.gnupg.org/howtos/it/keysigning_party.html#revoca

2) Non è banale nemmeno scegliere la data di scadenza del certificato. Io, per esempio, non ho mai ben capito quanto è ragionevole tenere. Ora ho messo 5 anni.

3) mi trovate sul key server con "ilcomizietto" !
2014. Tablet piuttosto che smartphone... A quando un approfondimento. In tempi di snowden. 😈 Per iOs un punto di inizio qua:
http://support.gpgtools.org/discussions/everything/10456-gpgtools-is-great-however-what-about-the-iphone
Ora manca un servizio di messaggistica pgp e ci siamo... O già esiste?
Non è necessario avere la chiave pubblica per decifrare. La entrambe le chiavi sono composte da due parti: la prima parte è il prodotto di due numeri primi p*q, la seconda parte è per la chiave pubblica un numero, diciamo x, più piccolo di (p-1)*(q-1), mentre per la chiave privata è un numero y con la proprietà che x*y ha resto 1 quando diviso per (p-1)*(q-1). Per cifrare basta conoscere p*q e x, mentre per decifrare basta conoscere p*q e y. Il ruolo di x e y (conoscendo p*q) è completamente simmetrico (in effetti firmare non è altro che cifrare con la propria chiave private, e verificare una firma significa decifrare usando la chiave pubblica).
Io ho installato un paio di volte gnuPGP e tutto, generato chiavi, passate su keyserver eccetera eccetera.. MAI usato se non una volta e la cosa si è rivelata talmente macchinosa che l'ho fatto solo quella volta. Per mandare UNA mail con dentro il mio IBAN ne ho dovuto mandare almeno cinque..

Funzionerebbe se tutti (o per lo meno molti) l'usassero.
O meglio. Funzionare funziona anche così, solo che finché non si diffonde e diventa pratica comune rimane una roba "da smanettoni paranoici".

Piuttosto: esiste un modo di usare OTR su skype?
@Lupo

Certo: http://et.blog.erixun.com/technology/security/encryption-skype-chat-easy-free/

;)
È divertente la coincidenza leggere questo articolo pochi minuti dopo aver scambiato firme su chiavi GPG in seguito ad un keysigning party :)

Concordo comunque con chi dice che manca una quinta parte in cui si parla della Web of Trust: il modo più pratico per verificare l'appartenenza di chiavi di persone che si ha difficoltà ad incontrare. In particolare è utile quando si usa gpg non per verificare un messaggio, ma per verificare la provenienza di un software scaricato (altra cosa possibile e frequentamente usata, soprattutto per programmi relativi alla sicurezza).

Ammetto che per me è facile: ho a che fare con una comunità (gli sviluppatori Debian) che sono costretti ad avere una chiave gpg per le pratiche di sviluppo, e quindi mi è facile trovare persone con le quali scambiare messaggi firmati e/o crittati. D'altra parte, rimane il problema delle persone con le quali si scambiano dati sensibili (banche, medici, ecc.), che raramente sanno dell'esistenza di questo sistema, o si preoccupano di averne bisogno.

P.S. Paolo, ho notato che la tua chiave non ha ancora firme di terze parti: ti ho mandato una mail privata (e firmata+crittata :) ) per proporre un keysigning party
Oggi ho installato el capitan e non riesco piu' a leggere due mail che tenevo in bozze con account gpg, mi puoi aiutare a decriptarle?
Grazie mille.
ruggero