Anno nuovo Jabber nuovo / New Year, new Jabber

[English version below]

Nelle ultime settimane abbiamo aggiornato l’infrastruttura di Autistici/Inventati, concentrandoci in particolare sul servizio di instant messagging Jabber/XMPP. L’obiettivo era permettervi di usare Jabber su dispositivi mobili, offrendo un’alternativa ai sistemi più diffusi, che sono centralizzati, appartengono spesso a grandi aziende e sono quindi esposti a misure censorie e repressive. Inoltre abbiamo scritto nuovi manuali per facilitare la configurazione di nuovi client per il nostro server Jabber.

Dettagli tecnici e nuove funzionalità

Quel che abbiamo fatto è stato aggiornare il nostro server Jabber (chiamato ejabberd) alla versione 16.09 e attivare alcuni nuovi XEP.

XEP

XEP
è un acronimo che sta per “XMPP Extension Protocol”: si tratta di protocolli ausiliari che permettono di aggiungere nuove funzionalità a Jabber. Eccone alcuni:

OMEMO (XEP-0384) – OMEMO è un robusto protocollo di cifratura sviluppato nel 2014 da Daniel Gultsch. Basato a sua volta su axolotl (il protocollo sviluppato da Open Whisper Systems e utilizzato dal client di instant messaging Signal), OMEMO fornisce alcune interessanti funzioni come le chat di gruppo crittate o la possibilità di sincronizzare in maniera sicura i vostri messaggi tra differenti dispositivi, anche quando questi sono offline.

Message Carbons (XEP-0280) – Spesso siamo obbligat* a gestire la nostra comunicazione quotidiana attraverso un numero sempre maggiore di dispositivi (telefono, computer, tablet). Con Message Carbons i messaggi delle vostre chat verranno automaticamente copiati su tutti i vostri device, in modo da averli a disposizione all’occorrenza (Message Carbons è utilizzabile solo con OMEMO).

Message Archive Management (XEP-0313) – Siete rimaste scollegate per qualche giorno? Non c’è problema. Grazie a Message Archive Management, i messaggi che vi sono stati inviati dai vostri contatti vi saranno consegnati non appena tornerete online (Message Archive Management è utilizzabile solo con OMEMO).

Stream Management (XEP-0198) – la connessione dati su uno smartphone può essere piuttosto instabile. Capita spesso che il dispositivo passi da WiFi a rete 3G senza che neppure ve ne rendiate conto, oppure che il collegamento si interrompa per qualche istante. Quando queste brevi disconnessioni si verificano, Stream Management fa in modo che i messaggi che vi sono stati inviati su Jabber non vadano perduti.

Client State Indication (XEP-0352) – Client State Indication è al momento utilizzabile solo con Conversations. Grazie a questo XEP, Conversations comunica al nostro server se sta girando in background (per esempio, quando tenete in tasca il vostro telefono). In questo caso, il server non invierà pacchetti irrilevanti a Conversations (come gli aggiornamenti di stato dei vostri contatti), riducendone il consumo energetico e permettendovi così di salvare batteria.

Roster Versioning (XEP-0237) – Il “roster” è la vostra lista di contatti su Jabber. Se la vostra lista di contatti non è cambiata di recente, Roster Versioning fa in modo che questa non venga inviata dal server al client ogni volta che vi connettete, riducendo in questo modo l’utilizzo di traffico dati.

Nuovi manuali

Conversations – È un client per smartphone Android 4.0+. Con Conversations si possono usare tre protocolli diversi per la cifratura end-to-end delle comunicazioni: OpenPGP (supportato solo in maniera sperimentale), OTR (il protocollo che già potevate usare con il nostro servizio Jabber ma che funziona solo per comunicazioni uno a uno) e OMEMO. Questo client per la messaggistica ha un impatto ridottissimo sul consumo energetico della batteria e si presenta con un’interfaccia utente pulita e di facile utilizzo. Può essere scaricato liberamente da F-Droid o, se volete sostenerne lo sviluppo, a pagamento da Google Play.

Tor Messenger – Programma multipiattaforma per desktop (Linux, Windows e Mac). Orientato alla sicurezza e all’usabilità, Tor Messenger instrada automaticamente le vostre connessioni verso la rete per l’anonimato Tor. Al momento supporta solo OTR (ma è prevista l’implementazione di OMEMO in futuro).

CoyIM – È un altro client multipiattaforma (Windows, Mac e Linux) per chat orientato a garantire la sicurezza dell’utente. Supporta solo OTR.

Avvertenze

C’è un aspetto su cui non ci stancheremo mai di insistere. È vero, Autistici/Inventati è una piattaforma orientata alla privacy e all’anonimato. È da 15 anni che ci definiamo così e ogni giorno facciamo del nostro meglio perché i vostri dati siano al riparo da occhi e orecchie indiscrete (siano quelle di corporations, polizia o semplici ficcanaso). Ma l’idea di delegare completamente la vostra sicurezza – personale e collettiva – a un soggetto terzo è un’idea pericolosa e sbagliata. Lo è in tutti gli aspetti della vita, e quindi anche quando si parla di computer, reti, protocolli e diavolerie assortite. Ognuna e ognuno di noi deve assumersene un pezzetto. Ognuno e ognuna di noi deve farsene carico in prima persona. E la responsabilità richiede consapevolezza.

Non crogiolatevi allora in un falso senso di sicurezza solo perché “c’ho l’account su Autistici”. Magari l’amico o l’amica con cui avete condiviso pensieri molto intimi l’account su Autistici non ce l’ha. Anzi, può essere che vi stia parlando con un account di un provider commerciale la cui policy è quella di loggare tutte le attività degli utenti. E allora c’e’ il rischio che le vostre confidenze molto personali, diventino molto molto pubbliche. Imparate quindi a cifrare ogni vostra comunicazione – gli strumenti che vi abbiamo proposto sopra vi permettono di farlo con poco sforzo – ma sappiate che in certe situazioni anche questo potrebbe non bastare. Per esempio, i messaggi che vi siete scambiati con Conversations restano sul vostro smartphone, anche se sono stati criptati con OMEMO o OTR: questo significa che, nel caso perdiate il vostro dispositivo, saranno facilmente accessibili a chiunque lo trovi e ci metta le mani. Oppure pensate a uno XEP come “Message Carbons”. Certo, è comodo avere una copia delle proprie chat su telefono, laptop e tablet. Ma questa comodità ha un prezzo: basterà che solo uno di questi tre dispositivi sia compromesso perché la riservatezza delle vostre comunicazioni venga meno.

Quindi oltre a crittare le vostre conversazioni, vi raccomandiamo di crittare anche i vostri dispositivi con la “Full Disk Encryption” e di bloccarli o spegnerli ogni volta che li lasciate in uno spazio pubblico.

Oh, ma ci date una mano?!?

Dopo un paio di settimane di testing pensiamo che il servizio funzioni in maniera ragionevolmente stabile. Si tratta però pur sempre di un work in progress: sicuramente nei prossimi mesi grane da risolvere e modifiche da effettuare non mancheranno. Se osservate delle anomalie nel servizio, segnalatecele cercando di spiegare in maniera chiara che cosa non va.

Link

* Uno studio recentemente pubblicato dai compagni e dalle compagne di Riseup su come rendere un servizio XMPP più utile e sicuro.

* Qualche informazione in più su OMEMO.

* I risultati finali dell’audit di OMEMO.



[English version]

In the last few weeks we updated Autistici/Intentati’s infrastructure, focusing on our Jabber/XMPP instant messaging service. Our goal was to allow you to use Jabber on mobile devices – we wanted to offer you an alternative to the most widespread systems, which are centralized, are often property of large corporations and are hence vulnerable to censorship and repression. We have also written some new manuals on how to configure recently released clients for our Jabber service.

Technical details and new features

What we did was update our Jabber server (called ejabberd) to version 16.09, and enable some new XEPs.

XEP

XEP is an acronym for “XMPP Extension Protocol” – these are auxiliary protocols that add new functionalities to Jabber. What follows is a description of some of them:

OMEMO (XEP-0384) – OMEMO is a robust encryption protocol developed in 2014 by Daniel Gultsch. Based in its turn on axolotl (the protocol developed by Open Whisper Systems and used by the instant messaging client Signal), OMEMO offers some interesting features like encrypted group chat and the possibility of securely syncing your messages on different devices, even when they aren’t connected.

Message Carbons (XEP-0280) – We often need to manage our daily communications through an increasing number of devices (phone, computer, tablet). With Message Carbons the messages in your chats will be automatically replicated in all your devices, so that you can find them whenever you need them (Message Carbons can only be used with OMEMO).

Message Archive Management (XEP-0313) – You were disconnected for some days? No problem. Thanks to Message Archive Management, the messages your contacts have sent you will be delivered as soon as you connect again (Message Archive Management can only be used with OMEMO).

Stream Management (XEP-0198) – data connection on smartphones can be pretty unstable. Often our device switches from WiFi to 3G without us noticing, or our connection goes down for a few moments. When our device disconnects. Stream Management ensures that messages sent to us over Jabber don’t get lost.

Client State Indication (XEP-0352) – Client State Indication can currently be used only on Conversations. Thanks to this XEP, Conversations tells our server that it’s running in background (e.g. when you keep your phone in your pocket). In such cases, the server won’t send irrelevant packets to Conversations (like your contacts’ status updates), thus reducing the energy usage and allowing you to save battery life.

Roster Versioning (XEP-0237) – “Roster” is your contacts list on Jabber. If this list hasn’t changed recently, Roster Versioning ensures that the server doesn’t send it to your client every time you connect, so as to reduce the usage of data traffic.

New Tutorials

Conversations – Conversation is a client for Android 4.0+ smartphones. With Conversations, you can use three different end-to-end encryption protocols to secure your communications: OpenPGP (experimental support), OTR (the protocol you could already use with our Jabber service, which works only for 1:1 conversations), and OMEMO. This instant messaging client has a very low impact on the energy usage of your battery and has a user-friendly and easy-to-use interface. It can be downloaded for free from F-Droid or, if you want to support its development, you can buy it on Google Play.

Tor Messenger – Multi-platform client for desktop computers (Linux, Windows and Mac). Focused on security and usability, Tor Messenger automatically routes all your connections to the anonymity network Tor. At the moment it only supports OTR (but the implementation of OMEMO is planned for the future).

CoyIM – Another multi-platform chat client (Windows, Mac and Linux) aiming at granting security to users. It only supports OTR.

Warning

There’s something we will never stop repeating. Autistici/Inventati is a platform oriented towards privacy and anonymity. For 15 years we have been describing our project in this way, and every day we do our best to ensure that your data is protected from intruding eyes and ears (be they corporations, police or common nosy people). But relying completely on someone else for your personal and collective security is dangerous and wrong. It is a dangerous idea for any aspect of our life, so it is dangerous also when computers, networks, protocols and other such contraptions are involved. Each one of us should personally bear responsibility for their own security. And this responsibility requires awareness.

So don’t wallow in a false sense of security only because “oh, you know, my account is on Autistici”. Maybe the friend you’ve been sharing very intimate messages with doesn’t have an Autistici account. What’s more, they could be communicating through an account with a commercial provider that logs by default all its users’ activities. So your most private secrets risk to become public. It is therefore important to learn how to encrypt every communication, and the tools we’ve just mentioned allow you to do it with little effort. Nevertheless, be aware that in some situations this could not be enough. For example, the messages you’ve exchanged through Conversation will be stored in your smartphone, also if they haven’t been encrypted with OMEMO or OTR. This means that if you lose your device, they will be easily readable for anyone who finds it. Another example is a XEP like “Message Carbons”. While it is certainly convenient to have a copy of our chats on our phone, laptop and tablet, this convenience comes at a price: if just one of these devices is compromised, your privacy will be lost.

Together with your communications, we recommend you to encrypt your devices too by using “Full Disk Encryption”. Also remember to block or to switch them off when you leave them unattended.

So will you give us a hand?!?

After a month of testing, we think that the service works in a reasonably stable way. It is still work in progress though: we are pretty sure that in the next few months we won’t lack a good amount of troubleshooting and needed changes. If you bump into some anomalies in the service, open a ticket, and try to explain as clearly as possible what isn’t working.

Links

* A recent study by our Riseup comprades on how to make an XMPP service more useful and secure.

* More details on OMEMO.

* The final results of OMEMO audit.

One Response to “Anno nuovo Jabber nuovo / New Year, new Jabber”

  1. patrizia Says:

    sì, sì, si….tutto verissimo, condiviso, con un grande grazie.
    Ma non sappiamo più come fare per il recupero della nostra pass del blog. Un blog “dimenticato”. Non riuscivamo a starci dietro, ma ora vorremmo riattivarlo perchè abbiamo concluso la catalogazione dei libri e vorremmo pubblicarla. Aggiornando il resto.

    Non c’è più chi gestiva il blog tempo addietro. Non abbiamo la pass e non troviamo più un modo per recuperarla o cambiarla.

    Prima degli ultimi problemi avevo compilato la form e attendevo. Ora cosa dobbiamo fare? Riattendiamo.
    Grazie

    patrizia per i grimaldelli e le grimaldelle