hm17-conversations/slides.org

451 lines
13 KiB
Org Mode
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

* Slide Options :noexport:
#+TITLE: Conversations
#+SUBTITLE: chattare sul cellulare usando server autogestiti
#+AUTHOR: lucha, nullpointer, i-330
#+COMPANY: HackIt 15-18 Giugno 2017
#+LANGUAGE: it
#+USE_MATHJAX: false
#+ICON: images/conversations_logo.png
#+FAVICON: false
#+EXCLUDE_TAGS: noexport
#+OPTIONS: toc:nil num:nil
* Che cos'è Conversations
:PROPERTIES:
:SLIDE: segue dark quote
:ASIDE: right bottom
:ARTICLE: flexbox vleft auto-fadein
:END:
** Che cos'è Conversations?
Conversations[fn:2] è 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
#+BEGIN_QUOTE
Conversations isnt trying to replace current commercial
messengers.
It will simply outlive them.
-- Daniel "inputmice" Gultsch
#+END_QUOTE
#+BEGIN_CENTER
#+ATTR_HTML: :width 700px
[[file:images/conversations.im.png]]
#+END_CENTER
** 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
:PROPERTIES:
:SLIDE: segue dark quote
:ASIDE: right bottom
:ARTICLE: flexbox vleft auto-fadein
:END:
** 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
#+ATTR_HTML: :width 250px
#+ATTR_HTML: :class float-right
[[file:images/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 Conversations[fn:1]
** 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
#+ATTR_HTML: :class float-left
#+ATTR_HTML: :width 450px
[[file:images/android-external-app.png]]
#+ATTR_HTML: :class float-right
#+ATTR_HTML: :width 450px
[[file:images/android-alert.png]]
** Installare F-Droid
A questo punto possiamo installare F-Droid da https://f-droid.org
#+BEGIN_CENTER
#+ATTR_HTML: :width 700px
[[file:images/f-droid.png]]
#+END_CENTER
** Installare Conversations da F-Droid
#+ATTR_HTML: :class float-right
#+ATTR_HTML: :width 250px
[[file:images/f-droid-conversations.png]]
Apriamo la app di F-Droid e da lì possiamo trovare ed installare Conversations
* Configurare il proprio utente
:PROPERTIES:
:SLIDE: segue dark quote
:ASIDE: right bottom
:ARTICLE: flexbox vleft auto-fadein
:END:
** Configurazione Base
#+ATTR_HTML: :class float-right
#+ATTR_HTML: :width 250px
[[file:images/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
#+ATTR_HTML: :class float-right
#+ATTR_HTML: :width 250px
[[file:images/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
#+ATTR_HTML: :class float-right
#+ATTR_HTML: :width 250px
[[file:images/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
:PROPERTIES:
:SLIDE: segue dark quote
:ASIDE: right bottom
:ARTICLE: flexbox vleft auto-fadein
:END:
** Aggiungere un contatto
#+ATTR_HTML: :class float-right
#+ATTR_HTML: :width 250px
[[file:images/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
#+ATTR_HTML: :class float-right
#+ATTR_HTML: :width 250px
[[file:images/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
#+ATTR_HTML: :class float-right
#+ATTR_HTML: :width 250px
[[file:images/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?)
#+ATTR_HTML: :class build
- 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
#+ATTR_HTML: :class float-right
#+ATTR_HTML: :width 250px
[[file:images/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
#+ATTR_HTML: :class float-right
#+ATTR_HTML: :width 250px
[[file:images/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
#+ATTR_HTML: :class float-right
#+ATTR_HTML: :width 250px
[[file:images/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
:PROPERTIES:
:SLIDE: segue dark quote
:ASIDE: right bottom
:ARTICLE: flexbox vleft auto-fadein
:END:
** I gruppi
#+ATTR_HTML: :class float-right
#+ATTR_HTML: :width 250px
[[file:images/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
#+ATTR_HTML: :class float-right
#+ATTR_HTML: :width 250px
[[file:images/conference - create.png]]
Poi possiamo scegliere il nome
** I gruppi
#+ATTR_HTML: :class float-right
#+ATTR_HTML: :width 250px
[[file:images/conference - participants.png]]
Ed i partecipanti
** I gruppi cifrati
#+ATTR_HTML: :class float-right
#+ATTR_HTML: :width 250px
[[file:images/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
#+ATTR_HTML: :class float-right
#+ATTR_HTML: :width 250px
[[file:images/conference - encrypted.png]]
Una volta fatto ciò, è possibile selezionare l'opzione
relativa
** I gruppi cifrati
#+ATTR_HTML: :class float-right
#+ATTR_HTML: :width 250px
[[file:images/conference - encrypted message.png]]
E voilà, anche il gruppo è cifrato!
* Foto, audio, video(?)
:PROPERTIES:
:SLIDE: segue dark quote
:ASIDE: right bottom
:ARTICLE: flexbox vleft auto-fadein
:END:
** Allegare foto
Possiamo allegare foto (sia dalla galleria sia dalla fotocamera)
** Audio
Possiamo registrare dell'audio, ma per questo è necessario
installare un apposito plugin (1.22€ su Google Play, gratis su
F-Droid)
** Video
Conversations (al contrario di Signal) non supporta chiamate audio
né video.
È possibile però condividere file di qualsiasi tipo, quindi anche
video, pdf, etc.
* Avvertenze: i rischi e la sicurezza
:PROPERTIES:
:SLIDE: segue dark quote
:ASIDE: right bottom
:ARTICLE: flexbox vleft auto-fadein
:END:
** Che rischi corriamo se usiamo Conversations?
Nonostante tutto, ci sono dei rischi a cui ci esponiamo quando
utilizziamo Conversations:
#+ATTR_HTML: :class build
- metadati: la lista dei nostri contatti è visibile dal 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
:PROPERTIES:
:SLIDE: segue dark quote
:ASIDE: right bottom
:ARTICLE: flexbox vleft auto-fadein
:END:
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
#+ATTR_HTML: :class float-right
#+ATTR_HTML: :width 250px
[[file:images/fingerprint - check.png]]
Possiamo vedere la fingerpint di OMEMO dal menù "Contact details"
** Verificare la chiave di un contatto
#+ATTR_HTML: :class float-right
#+ATTR_HTML: :width 250px
[[file:images/fingerprint - ours.png]]
Mentre la nostra chiave è visibile nel menù "Manage accounts"
** Configurazione con Hidden Service
#+ATTR_HTML: :class float-right
#+ATTR_HTML: :width 250px
[[file:images/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
#+ATTR_HTML: :class float-right
#+ATTR_HTML: :width 250px
[[file:images/Conversations_5.png]]
Inseriamo =wi7qkxyrdpu5cmvr.onion= come /Hostname/ e =5222= come /Port/
* Footnotes
[fn:1] Daniel Gultsch sviluppa Conversations a tempo pieno.
[fn:2] https://conversations.im