hm17-conversations/slides.org

434 lines
12 KiB
Org Mode
Raw Normal View History

2017-06-10 17:00:09 +02:00
* Slide Options :noexport:
2017-06-10 14:18:13 +02:00
#+TITLE: Conversations
#+SUBTITLE: chattare sul cellulare usando server autogestiti
2017-06-10 17:00:09 +02:00
#+AUTHOR: lucha, nullpointer, i-330
#+COMPANY: HackIt 15-18 Giugno 2017
2017-06-10 14:18:13 +02:00
#+LANGUAGE: it
2017-06-10 17:00:09 +02:00
#+USE_MATHJAX: false
#+ICON: images/conversations_logo.png
#+FAVICON: false
#+EXCLUDE_TAGS: noexport
#+OPTIONS: toc:nil num:nil
2017-06-10 14:18:13 +02:00
* Che cos'è Conversations
2017-06-10 17:00:09 +02:00
:PROPERTIES:
:SLIDE: segue dark quote
:ASIDE: right bottom
:ARTICLE: flexbox vleft auto-fadein
:END:
2017-06-10 14:18:13 +02:00
2017-06-10 17:00:09 +02:00
** Che cos'è Conversations?
Conversations[fn:2] è una applicazione (app) open source (GPLv3) Android (4.0+) per chattare.
2017-06-10 14:18:13 +02:00
A differenza di altre app (WhatsApp, Messegner, ma anche Signal), __non__ è
2017-06-10 17:00:09 +02:00
legata ad un servizio centralizzato.
2017-06-10 14:18:13 +02:00
2017-06-10 17:00:09 +02:00
Invece, si basa su un protocollo **federato** chiamato XMPP (Jabber
per gli amici).
2017-06-10 14:18:13 +02:00
2017-06-10 17:00:09 +02:00
Inoltre, ci permette di **cifrare** le nostre conversazioni, così come di fare
chat di gruppo cifrate.
2017-06-10 14:18:13 +02:00
** 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.
2017-06-10 17:00:09 +02:00
** Conversations e i server autogestiti
2017-06-10 14:18:13 +02:00
Questo vuol dire che possiamo utilizzare Conversations con il nostro provider
2017-06-10 17:00:09 +02:00
alternativo che più ci aggrada.
2017-06-10 14:18:13 +02:00
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!
2017-06-10 17:00:09 +02:00
** 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
2017-06-10 14:18:13 +02:00
** Ok, mi hai convinto, dove devo firmare?
Quello che vedremo adesso è
2017-06-10 17:00:09 +02:00
2017-06-10 14:18:13 +02:00
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(?)
2017-06-10 17:00:09 +02:00
6. I rischi che corriamo usando Conversations
2017-06-10 14:18:13 +02:00
* Installare Conversations
2017-06-10 17:00:09 +02:00
: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
2017-06-10 14:18:13 +02:00
2017-06-10 17:00:09 +02:00
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 garantire 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
2017-06-10 14:18:13 +02:00
* Configurare il proprio utente
2017-06-10 17:00:09 +02:00
: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, 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
2017-06-10 14:18:13 +02:00
* La prima chat: aggiungere un contatto
2017-06-10 17:00:09 +02:00
: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]]
2017-06-10 17:00:09 +02:00
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=
2017-06-10 17:00:09 +02:00
** La prima chat cifrata
#+ATTR_HTML: :class float-right
#+ATTR_HTML: :width 250px
[[file:images/first chat - first message.png]]
2017-06-10 17:00:09 +02:00
Per abilitare OMEMO, il nostro contatto dovrà per prima cosa
accettare di conversare con noi
2017-06-10 17:00:09 +02:00
Questa operazione è necessaria solo la prima volta che comunichiamo
con una persona: poi non sarà necessario ripeterla
2017-06-10 17:00:09 +02:00
** 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]]
2017-06-10 17:00:09 +02:00
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!
2017-06-10 17:00:09 +02:00
2017-06-10 14:18:13 +02:00
* Le chat di gruppo
2017-06-10 17:00:09 +02:00
: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]]
2017-06-10 17:00:09 +02:00
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
2017-06-10 17:00:09 +02:00
** 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 potremmo scegliere
l'opzione OMEMO per la cifratura
2017-06-10 17:00:09 +02:00
Purtroppo per fare una chat di gruppo cifrata, è necessario che
tutti i partecipanti abbiano fatto una chat individuale con tutti
gli altri (dato che la cifratura viene fatta individualmente per
ogni singolo partecipante)
2017-06-10 17:00:09 +02:00
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!
2017-06-10 14:18:13 +02:00
* Foto, audio, video(?)
2017-06-10 17:00:09 +02:00
: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.
2017-06-10 14:18:13 +02:00
* Avvertenze: i rischi e la sicurezza
2017-06-10 17:00:09 +02:00
: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
* 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"
2017-06-10 17:00:09 +02:00
** 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