Che cos'è Conversations

Che cos'è Conversations?

Conversations1 è una applicazione (app) open source (GPLv3) Android (4.0+) per chattare.

A differenza di altre app (WhatsApp, Messegner, ma anche Signal), non è legata ad un servizio centralizzato.

Invece, si basa su un protocollo federato chiamato XMPP (Jabber per gli amici).

Inoltre, ci permette di cifrare le nostre conversazioni, così come di fare chat di gruppo cifrate.

XMPP: un protocollo federato

Cosa vuol dire che XMPP è un protocollo federato?

Pensiamo alle email: ognugno di noi ha un email con un diverso provider (autistici, riseup, google, poliziadistato.it).

Se vogliamo mandare un'email a qualcuno che usa, per esempio, riseup.net, non è necessario avere noi stessi una casella di riseup! Possiamo usare la nostra email di autistici.

Il server di autistici parlará con il server di riseup e gli consegnerà la nostra email. Allo stesso modo chi ha ricevuto la posta potrà risponderci.

Questo non è il caso di Facebook Messenger (per esempio): se voglio mandare un messaggio ad una mia amica su Messenger, dovró per forza registrarmi su Facebook.

Conversations e i server autogestiti

Questo vuol dire che possiamo utilizzare Conversations con il nostro provider alternativo che più ci aggrada.

Noi oggi parleremo di Autistici/Inventati ma ognuno può scegliere il suo preferito: il bello di una rete federata è che non ci dobbiamo tutti fidare di uno stesso gestore.

Se vogliamo, possiamo anche installarci un server in casa ed essere i provider di noi stessi!

Conversations.im

Conversations isn’t trying to replace current commercial messengers.

It will simply outlive them.

– Daniel "inputmice" Gultsch

conversations.im.png

Ok, mi hai convinto, dove devo firmare?

Quello che vedremo adesso è

  1. Come installare Conversations
  2. Come configurare il proprio utente
  3. Aggiungere i contatti e chattare
  4. Fare una chat cifrata di gruppo
  5. foto, audio, video
  6. I rischi che corriamo usando Conversations

Installare Conversations

Come installare conversations

Dobbiamo avere uno smartphone con Android versione 4.0 o successive

Abbiamo due opzioni per installare Conversations

  1. via Google Play
  2. via F-Droid

Google Play

gplay.png

Google Play è comodo (è già installato di default) ma dobbiamo avere un account di Google per usarlo

Anche se Conversations è open source, su Google Play è in vendita per una modica somma (2.39€)

In questo modo si sostiene lo sviluppo di Conversations1

1. Daniel Gultsch sviluppa Conversations a tempo pieno.

F-Droid

F-Droid è un repository alternativo a Google Play, dove troviamo solo programmi open source

Conversations è disponibile gratuitamente (ma ricordiamoci di fare una donazione, se possiamo, per sostenerne lo sviluppo!)

Per utilizzare F-Droid, dobbiamo prima dire al nostro cellulare di accettare app non provenienti da Google Play

Impostazioni

android-external-app.png

android-alert.png

Installare F-Droid

Installare Conversations da F-Droid

f-droid-conversations.png

Apriamo la app di F-Droid e da lì possiamo trovare ed installare Conversations

Configurare il proprio utente

Configurazione Base

Conversations_1.png Una volta installato Conversations, la prima schermata che vedremo sarà questa.

"Create account" ci permetterà di creare un account del tipo nomeutente@conversations.im per 8€/anno (+ 6 mesi gratuiti).

Per utilizzare invece un account che già abbiamo (ad esempio una mail di autistici), sceglieremo "Use my own provider".

Configurazione Base

Conversations_2.png

Qui inseriremo il nostro utente nomeutente@autistici.org e la nostra password.

(Se siamo preoccupati di lasciare la password sul cellulare, Autistici ha l'opzione di usare OTP e password specifiche per applicazioni)

Configurazione Base

configurazione%20utente%20-%20avatar.png

Se è la prima volta che utilizziamo Conversations, possiamo scegliere l'icona del nostro avatar

La prima chat: aggiungere un contatto

Aggiungere un contatto

schermata bianca.png

Possiamo aggiungere un contatto alla nostra lista usando il tasto "+" che appare in alto a destra (se è la prima volta, verrà selezionato in automatico), e poi il tasto "+(sagoma di persona)"

Aggiungere un contatto

first chat - add contact.png

I contatti su Conversations sono identificati dal loro indirizzo XMMP, che di solito è uguale all'indirizzo email

Per esempio, lucha@paranoici.org è il Jabber ID

La prima chat cifrata

first chat - unencrypted.png

Adesso possiamo mandare il primo messaggio, che non sarà mandato cifrato, ma in chiaro.

Possiamo controllare lo stato della cifratura cliccando sul lucchetto (che è aperto ad indicare che la conversazione non è cifrata)

Abbiamo varie opzioni a nostra disposizione per la cifratura: ma quella che vedremo oggi (e che è consigliata) è OMEMO

La prima chat cifrata

Cos'è OMEMO? (e perchè è consigliato?)

  • permette la cifratura di messaggi tra più persone
  • permette la cifratura di messaggi anche se uno qualsiasi di questi utenti è offline
  • permette la cifratura di messaggi sincronizzati su diversi dispositivi

La prima chat cifrata

first chat - first message.png

Per abilitare OMEMO, il nostro contatto dovrà per prima cosa accettare di conversare con noi

Questa operazione è necessaria solo la prima volta che comunichiamo con una persona: poi non sarà necessario ripeterla

La prima chat cifrata

first chat - encryption.png

Quando il nostro contatto avrà accettato la nostra richiesta di comunicare, ci apparirà come possibilità l'opzione OMEMO

Una volta selezionata, i nostri messaggi saranno cifrati!

La prima chat cifrata

first chat - encrpted message.png

Ora la nostra conversazione sarà cifrata: il nostro provider XMMP non potrà leggere i nostri messaggi!

La cifratura avviene sul nostro cellulare, prima che il messaggio venga trasmesso, e viene decodificato solo una volta che arriva al destinatario.

Notiamo il lucchetto chiuso ed la "spunta" di sicurezza vicino al messaggio!

Le chat di gruppo

I gruppi

schermata bianca.png

Conversations supporta chat tra più persone, e possiamo anche farle cifrate!

Per iniziare una chat di gruppo, selezioniamo lo stesso tasto "+" che abbiamo usato per agiungere un contatto, ma selezioniamo la scheda "conferences" e clicchiamo sul tasto "+(sagoma di tante persone)"

Selezioniamo "Create conference"

I gruppi

conference - create.png

Poi possiamo scegliere il nome

I gruppi

conference - participants.png

Ed i partecipanti

I gruppi cifrati

conference - unencrypted.png

Come nel caso della chat singola, all'inizio non potremo scegliere l'opzione OMEMO per la cifratura

Purtroppo per abilitare una chat di gruppo cifrata, è necessario che tutti i partecipanti abbiano prima aperto una chat individuale con ogni altro singolo partecipante e abbiano abilitato la cifratura OMEMO con questo

Non è molto comodo e facilmente crea confusione, ma una volta iniziate le chat di gruppo funzionano relativamente bene

I gruppi cifrati

conference - encrypted.png

Una volta fatto ciò, è possibile selezionare l'opzione relativa

I gruppi cifrati

conference - encrypted message.png

E voilà, anche il gruppo è cifrato!

Foto, audio, video

Allegare file multimediali

Conversations - invio multimedia.png

Possiamo allegare diversi tipi di file multimediali selezionando il menu a tendina in alto a destra e scegliendo il formato che ci interessa

Foto

Conversations - .png

Se scegliamo di inviare una foto, l'applicazione aprirà la nostra fotocamera. Una volta scattata la foto, selezioniamo il segno di spunta per inviarla

Foto

Conversations - invio foto.png

Anche i contenuti multimediali saranno ricevuti cifrati, ma saranno comunque disponibili sul dispositivo a meno che non vengano cancellati manualmente

Audio

Conversations - invio audio.png

Possiamo registrare file audio, ma per questo potrebbe essere necessario installare una applicazione che registra l'audio.

Esiste anche un apposito plugin (1.22€ su Google Play, gratis su F-Droid)

Audio

Conversations - file audio.png

Anche in questo caso, i file saranno conservati sul dispositivo all'interno della cartella Conversations e sono da eliminare manualmente

Video

Conversations (al contrario di Signal) non supporta chiamate audio né video.

È possibile però condividere file di qualsiasi tipo, quindi anche video, pdf, etc.

Controindicazioni ed effetti collaterali

leggere attentamente il foglietto illustrativo

Cosa abbiamo notato testando l'app con MSAck

  • la sincronizzazione su diversi dispositivi non funziona ancora in maniera ottimale: chi utilizza conversations e gajim (su pc) non sempre riceve i messaggi su entrambe le piattaforme e spesso deve ricostruire le conversazioni attraverso i vari dispostivi.

Cosa abbiamo notato testando l'app con MSAck

la chat di gruppo presenta alcuni problemi:

  • non è possibile visualizzare l'ultimo messaggio letto e bisona quindi recuperarlo manualmente
  • criptare l'intera conversazione può essere un lavoro particolarmente tedioso
  • non è possibile tenere chat di gruppo se tutti i partecipanti non si "conoscono"
  • se un solo partecipante cambia telefono o reinstalla l'applicazione, ogni singolo utente deve nuovamente accettare la nuova chiave di questo partecipante
  • è possibile aggiungere nuovi contatti solo manualmente! questo significa che bisogna recuperare manualmente i dati relativi all'account che desidero aggiungere

Che rischi corriamo se usiamo Conversations?

Nonostante tutto, ci sono dei rischi a cui ci esponiamo quando utilizziamo Conversations:

  • metadati: la lista dei nostri contatti è visibile al provider che usiamo
  • i provider dei nostri contatti: se parliamo con qualcuno su un altro server, quest'ultimo potrebbe loggare tutto il possibile
  • i messaggi cifrati sono in chiaro sul nostro cellulare: possiamo perderlo, od essere infettati da un trojan.
  • il falso senso di sicurezza

Che rischi corriamo se usiamo Conversations?

Le comunicazioni sicure le fanno le persone che comunicano!

La tecnologia non è in grado di garantire l'assoluta privacy. Dobbiamo quindi sforzarci di ricordare che noi siamo responsabili di tutelare la segretezza delle nostre comunicazioni.

Come regola generale, se siamo in dubbio sull'opportunità di scrivere o meno un'informazione, è meglio evitare di scriverla.

Extendend track

Configurazioni avanzate e dettagli

Verificare la chiave di un contatto

Se vogliamo essere veramente sicuri di stare parlando con la persona giusta, possiamo incontrarci con lei e confrontare le chiavi OMEMO (o possiamo usare altri canali di comunicazione: telefono, email cifrate, etc.)

Verificare la chiave di un contatto

fingerprint - check.png

Possiamo vedere la fingerpint di OMEMO dal menù "Contact details"

Verificare la chiave di un contatto

fingerprint - ours.png

Mentre la nostra chiave è visibile nel menù "Manage accounts"

Configurazione con Hidden Service

Conversations_4.png

C'è anche l'opzione di collegarsi via Hidden Service TOR, se abbiamo l'applicazione Orbot installata.

Menu -> Expert Settings -> Connect via Tor e Extended Connection Settings

Configurazione con Hidden Service

Conversations_5.png

Inseriamo wi7qkxyrdpu5cmvr.onion come Hostname e 5222 come Port