N. 4 di Giovanni Santostefano @LCyberspazio · con l'algoritmo RSA per la cifratura asimmetrica....

9
GP G e i s t N. 4 di Giovanni Santostefano @LCyberspazio GPGeist è un esperimento: una raccolta di articoli sul tema della crittografia pratica, esaminando tutti i campi della privatezza dell'informazione. Gli articoli esamineranno gran parte delle funzionalità della suite crittografica GPG ma salteranno anche ad altri protocolli come l'OTR o la cifratura completa di dischi ecc... Gli articoli saranno in gran parte basati su software GNU/Linux compatibile. Perché si tratta di un esperimento? Semplicemente perché l'idea di base era di raccogliere il tutto in un ebook da vendere su Amazon (come già faccio con altri libri), tuttavia probabilmente qualcuno conoscerà anche il mio impegno, seppur piccolo, nella promozione della conoscenza e del software libero. Essendo dunque questi articoli atti a tutelare la privacy, ed essendo la privacy un diritto di tutti, rilascio questi articoli gratuitamente, chiedendo tuttavia per ogni articolo una donazione PayPal che sarà pari al valore che darete al mio lavoro se sarete in grado di sostenere la spesa. Non mi interessa relativamente che siano 10cents, 30cents oppure 1 euro: se chi trae giovamento da questo articolo, e può affrontare la spesa , effettua una microdonazione allora sarò incentivato a produrre nuovo materiale. Altrimenti compatterò il tutto in un unico ebook e chiunque vorrà leggerlo dovrà pagarlo anticipatamente ed avere le capacità economiche per possedere un ebook reader. Quando avrete finito di leggere l'articolo, per effettuare la donazione, potete cliccare sul seguente link: http://tinyurl.com/gpgeistdonate È possibile altresì effettuare una donazione in bitcoin con il seguente codice QR oppure immettendo il seguente codice alfanumerico 1X53qBuLqQ9AfBGUSR2RFSFGQRBKgmb43 Stai gradendo l' articolo? Fai una donazione PayPal all'autore: http://tinyurl.com/gpgeistdonate

Transcript of N. 4 di Giovanni Santostefano @LCyberspazio · con l'algoritmo RSA per la cifratura asimmetrica....

Page 1: N. 4 di Giovanni Santostefano @LCyberspazio · con l'algoritmo RSA per la cifratura asimmetrica. Per quanto riguarda invece le chat, oggetto di questo e del prossimo articolo, utilizzeremo

GPGeistN. 4

di Giovanni Santostefano @LCyberspazio

GPGeist   è   un   esperimento:   una   raccolta   di   articoli   sul   tema   della crittografia   pratica,   esaminando   tutti   i   campi   della   privatezza dell'informazione.   Gli   articoli   esamineranno   gran   parte   delle funzionalità della suite crittografica GPG ma salteranno anche ad altri protocolli   come   l'OTR   o   la   cifratura   completa   di   dischi   ecc...   Gli articoli saranno in gran parte basati su software GNU/Linux compatibile.Perché si tratta di un esperimento? Semplicemente perché l'idea di base era di raccogliere il tutto in un ebook da vendere su Amazon (come già faccio con altri libri), tuttavia probabilmente qualcuno conoscerà anche il mio impegno, seppur piccolo, nella promozione della conoscenza e del software   libero.   Essendo   dunque   questi   articoli   atti   a   tutelare   la privacy, ed essendo la privacy un diritto di tutti, rilascio questi articoli   gratuitamente,   chiedendo   tuttavia   per   ogni   articolo   una donazione PayPal che sarà pari al valore che darete al mio lavoro se sarete in grado di sostenere la spesa. Non mi interessa relativamente che siano 10cents, 30cents oppure 1 euro: se chi trae giovamento da questo articolo, e può affrontare la spesa, effettua una microdonazione allora   sarò   incentivato   a   produrre   nuovo   materiale.   Altrimenti compatterò il tutto in un unico ebook e chiunque vorrà leggerlo dovrà pagarlo anticipatamente ed avere le capacità economiche per possedere un ebook reader.Quando avrete finito di leggere l'articolo, per effettuare la donazione, potete cliccare sul seguente link: http://tinyurl.com/gpgeistdonate

È possibile altresì effettuare una donazione in bitcoin con il seguente codice QR

oppure immettendo il seguente codice alfanumerico1X53qBuLqQ9AfBGUSR2RFSFGQRBKgmb43

Stai gradendo l' articolo? Fai una donazione PayPal all'autore: http://tinyurl.com/gpgeistdonate

Page 2: N. 4 di Giovanni Santostefano @LCyberspazio · con l'algoritmo RSA per la cifratura asimmetrica. Per quanto riguarda invece le chat, oggetto di questo e del prossimo articolo, utilizzeremo

CHAT CIFRATA – PARTE 1

Quando si parla di crittografia, spesso ci si riferisce al dato cifrato o da cifrare con il termine di “messaggio”, questo perché da   tempi   immemori   la   crittografia   fu   usata   per   garantire   la privatezza dei messaggi inviati attraverso dei messaggeri in carne ed   ossa   ai   destinatari,   solitamente   generali   su   un   fronte   di guerra. Il mitico cifrario di Cesare (implementato tra l'altro in un simpatico bsd game utility dalla coppia caesar/rot13) operava uno   shift   di   lettere   che   rendeva   virtualmente   impossibile   la comprensione del messaggio inviato, nel caso il messaggero fosse stato catturato dal nemico. C'è da dire che il nemico, 2000 anni fa, probabilmente aveva zero capacità in crittoanalisi.

Questa introduzione in ogni caso ha il solo scopo di introdurvi all'importanza storica che la crittografia ha avuto nel contesto di scambio sicuro dei messaggi. 

Ad oggi, scambiamo messaggi in molti modi ma quasi tutti fanno riferimento a due tipologie principali: i messaggi permanenti con storico e le chat.

Per quanto riguarda i messaggi permanenti, rappresentati bene dallo scambio di email, si userà il buon GPG, cifrando i messaggi con l'algoritmo RSA per la cifratura asimmetrica.

Per quanto riguarda invece le chat, oggetto di questo e del prossimo  articolo,  utilizzeremo  servizi  disponibili  via  browser per   poi   arrivare   ad   applicazioni   di   Instant   Messaging   che sfrutteranno la sicurezza del protocollo OTR (Off The Record), appoggiandosi sul protocollo di messaging XMMP della rete Jabber. Sia con OTR che con altri sistemi rimarremo sempre nel contesto di cifratura simmetrica.

Stai gradendo l' articolo? Fai una donazione PayPal all'autore: http://tinyurl.com/gpgeistdonate

Page 3: N. 4 di Giovanni Santostefano @LCyberspazio · con l'algoritmo RSA per la cifratura asimmetrica. Per quanto riguarda invece le chat, oggetto di questo e del prossimo articolo, utilizzeremo

CHAT SECURE

Il   modo   più   semplice   per   chattare   in   maniera   relativamente sicura con i vostri amici sarà quella di appoggiarsi ad un sito che vi consente di gestire completamente la comunicazione cifrata.

Uno di questi siti è https://www.chatcrypt.com/ 

Appena accedete al sito in questione, vi viene presentata una maschera che dovrete riempire per avviare una chat cifrata (con AES256). Il moderatore della chat dovrà creare la stanza che poi andranno ad inserire tutti gli altri dialoganti nel campo Room.

Io ho utilizzato il nome MySecretRoom, seguito dal nome utente 

Stai gradendo l' articolo? Fai una donazione PayPal all'autore: http://tinyurl.com/gpgeistdonate

Page 4: N. 4 di Giovanni Santostefano @LCyberspazio · con l'algoritmo RSA per la cifratura asimmetrica. Per quanto riguarda invece le chat, oggetto di questo e del prossimo articolo, utilizzeremo

(io ho scelto Noman e ognuno dovrà inserire il proprio nickname) e dalla   password   della   stanza.   Questa   password   dovrebbe   essere condivisa in maniera sicura tra tutti i dialoganti. E si clicca infine su SECURE CHAT per avviare la chat.

Vi comparirà la finestre di chat ed attenderete così che gli altri si uniscano alla vostra stanza privata. Ad esempio se avete creato la stanza con questi dati:

Room: MySecretRoomnick: Nomanpass: nonlascopriretemai

Sempronio   per   unirsi   alla   chat   e   poter   leggere/scrivere   i messaggi dovrà inserire i seguenti dati (ovviamente dopo che la stanza è stata creata)

Room: MySecretRoomnick: Semproniopass: nonlascopriretemai

Stai gradendo l' articolo? Fai una donazione PayPal all'autore: http://tinyurl.com/gpgeistdonate

Page 5: N. 4 di Giovanni Santostefano @LCyberspazio · con l'algoritmo RSA per la cifratura asimmetrica. Per quanto riguarda invece le chat, oggetto di questo e del prossimo articolo, utilizzeremo

Come vedete la password e il nome della stanza non cambiano. La password è infatti della stanza e non un id personale.

Qual è il problema di questa chat? Nonostante dicano che il cifrario usato è AES256 (vedi GPGeist n.2) e che la cifratura avvenga in locale nel browser, non sappiamo molte informazioni a riguardo: ad esempio se aggiunge un salt ai messaggi (una stringa casuale che aiuta a non far capire dove iniziano i dati cifrati) se l'implementazione è priva di bug. Quindi, senza il sorgente a disposizione   non   possiamo   sapere   se   il   servizio   è   davvero affidabile.

In ogni caso avete visto quanto esso sia intuitivo e rapido da utilizzare. Di conseguenza questo è il metodo più rapido e aperto anche a chi non ha conoscenze informatiche per instaurare una chat cifrata.

Per   quanto   riguarda   lo   scambio   delle   password,   sarà   bene incontrarsi tutti di persona, munirsi di agendine e scrivere un One Time Pad ovvero una lista sequenziale di password casuali che verranno utilizzate una volta sola. Ogni volta che ci si connette a   chatcrypt   si   inserirà   una   password   e   la   si   barrerà sull'agendina. Quando finiranno le password allora sarà necessario rincontrarsi per stilare una nuova lista di password condivise. La sicurezza delle comunicazioni cifrate è quindi pari alla capacità di custodire l'agendina da parte del più “sbadato” del gruppo. 

Inviare invece le password per email o altro media è altamente sconsigliato per via di possibili attacchi Man In The Middle.

Potete usare TCCF per generare degli OTP da stampare, andando nel   menu   messaging: https://github.com/LCyberspazio/TwoCentsCryptoFrontend

Stai gradendo l' articolo? Fai una donazione PayPal all'autore: http://tinyurl.com/gpgeistdonate

Page 6: N. 4 di Giovanni Santostefano @LCyberspazio · con l'algoritmo RSA per la cifratura asimmetrica. Per quanto riguarda invece le chat, oggetto di questo e del prossimo articolo, utilizzeremo

CRYPTO.CAT

Con crypto.cat saliamo già di livello. Crypto cat implementa un sistema operativamente simile a chat crypt ma di livello molto più avanzato e sicuro. Innanzitutto implementa il protocollo OTR sopra citato ed è anche compatibile per l'utilizzo attraverso la chat di Facebook.

Crypto.cat si presenta come una estensione per browser Firefox e Chrome. Per scaricare tale estensione in Firefox dovete andare sul sito https://crypto.cat/ e selezionare il browser nel pannello di Download a sinistra

Verrete così reindirizzati al gestore di estensioni e app del vostro browser dove seguirete le semplice procedura standard di installazione. 

Riavviato il browser, dovrete aprire il menu a destra

Stai gradendo l' articolo? Fai una donazione PayPal all'autore: http://tinyurl.com/gpgeistdonate

Page 7: N. 4 di Giovanni Santostefano @LCyberspazio · con l'algoritmo RSA per la cifratura asimmetrica. Per quanto riguarda invece le chat, oggetto di questo e del prossimo articolo, utilizzeremo

e selezionare Customize. 

Nel   pannello   di   Customize,   prendete   l'icona   di   cryptocat   e trascinatela   dove   desiderate   per   renderla   attivabile.   Io   l'ho trascinata nello stesso menu a destra. Quindi confermate tutto con il pulsante verde Exit Customize. Ricliccate sullo stesso menu (se l'avete messa nel menu) e cliccate sull'icona di cryptocat: si aprirà una nuova tab nel browser dove opererete allo stesso modo di chatcrypt.

Stai gradendo l' articolo? Fai una donazione PayPal all'autore: http://tinyurl.com/gpgeistdonate

Page 8: N. 4 di Giovanni Santostefano @LCyberspazio · con l'algoritmo RSA per la cifratura asimmetrica. Per quanto riguarda invece le chat, oggetto di questo e del prossimo articolo, utilizzeremo

Attenzione, qui avrete notato l'assenza del campo password. Come è possibile? Semplice, Crypto.cat implementa il protocollo OTR che a sua volta implementa un sistema di scambio sicuro di password one­time per l'algoritmo di cifratura simmetrica. Quindi un anello debole   della   catena   del   precedente   sistema   (ovvero   lo   scambio sicuro   delle   password)   viene   a   mancare.   Di   conseguenza,   però, tenete ben nascosto il nome della stanza, che qui è rappresentato dal campo “Conversation name”. Inserite il vostro nickname e il nome della stanza che avete deciso di usare ed avviate la chat.

Vi   troverete   di   fronte   ad   una   schermata   di   chat   molto   user 

Stai gradendo l' articolo? Fai una donazione PayPal all'autore: http://tinyurl.com/gpgeistdonate

Page 9: N. 4 di Giovanni Santostefano @LCyberspazio · con l'algoritmo RSA per la cifratura asimmetrica. Per quanto riguarda invece le chat, oggetto di questo e del prossimo articolo, utilizzeremo

friendly che potrete utilizzare per comunicare in sicurezza con i vostri amici e colleghi.

Ovviamente, sul sito di crypto.cat sono ben spiegati tutte le problematiche di sicurezza che possono minacciare la privacy della conversazione.

Ora  che  avete   tutelato   la   privacy   del   messaggio,   sarebbe   il turno di tutelare la privacy della connessione. In questo caso il tutto è più semplice del previsto e vi basterà eseguire queste chat da TorBrowser (consigliato anche crypto.cat) per avere un certo livello di anonimato. Lo stesso potrà essere fatto con i metodi di blindatura OTR che utilizzeremo nel prossimo articolo dedicato al software di IM Pidgin su protocollo XMMP e software jabber.

Alla prossima e non dimenticate di donare qualche centesimo di euro o frazione di bitcoin per ricompensare il lavoro che sto svolgendo. :)

Se   avete   gradito   l'articolo,   per   effettuare   la donazione,   potete   cliccare   sul   seguente   link: http://tinyurl.com/gpgeistdonate

oppure usando i bitcoin usando questo codice QR

oppure immettendo il seguente codice alfanumerico1X53qBuLqQ9AfBGUSR2RFSFGQRBKgmb43

Stai gradendo l' articolo? Fai una donazione PayPal all'autore: http://tinyurl.com/gpgeistdonate