Jabber als WhatsApp-Alternative mit Conversations

Ich weiß, dass es zu diesem Thema schon unzählige Artikel gibt und auch dieser Post ist nur ein weiterer „just my 2 cents“-Beitrag. Jabber hat mich in meiner IT-Laufbahn ständig begleitet, doch scheiterte es immer an einem ordentlichen mobilen Client. Für den Desktop gab es nie einen Ersatz. Alle wichtigen Kontakte nutzen Jabber – bis auf die Unbelehrbaren, wegen denen ich noch meine ICQ-Kontaktliste pflege.

Doch zurück zum mobilen Client. Meines Erachtens nach scheiterten alle mobilen Clients an mindestens einer der folgenden Anforderungen, die ich an diese Software hatte:

  • Open Source
  • leichte Bedienbarkeit, wobei das subjektiv ist
  • Versand von Bildern/Dateien (am besten inline)
  • OTR-Unterstützung
  • Vordergrund-Aktivität
  • Multi-User-Chat (MUC)

Nun habe ich nach einiger Zeit durch Zufall eine App gefunden, die all diese Voraussetzungen erfüllt: Conversations (https://play.google.com/store/apps/details?id=eu.siacs.conversations)

Dieser Artikel soll nun nicht nur Conversations vorstellen, sondern auch ein bisschen mehr Hintergrundinformation geben. Er ist dazu gedacht, als Anleitung und zur Beseitigung von Verständnisproblemen in meinem Bekanntenkreis ohne technisches Verständnis zu dienen, weswegen ich ein bisschen weiter ausholen möchte.

Was ist Jabber?

Jabber – oder mittlerweile XMPP – ist laut der Wikipedia (http://de.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol) ein Kommunikationsprotokoll, was die folgenden Vorteile bietet:

  • frei
  • dezentral
  • durch unterschiedliche Clients plattform-unabhängig

Man kann hier die Analogie zur E-Mail sehen. Es gibt viele unterschiedliche E-Mail-Anbieter und wer möchte, kann sich seinen eigenen E-Mail-Server aufsetzen und dennoch mit anderen Menschen kommunizieren, die ihr E-Mail-Konto auf einem völlig anderen Server haben. Mit welcher Software nun E-Mails gelesen oder verschickt werden, ist wie bei Jabber völlig egal und liegt im eigenen Ermessen.

Weiterhin sind auch die Benutzernamen wie bei E-Mailadressen aufgebaut. Es folgt das Muster:

benutzername@domain.tld  -> alice@jabber.org

Eine Liste von freien Jabber-Servern, auf denen man sich ein Konto registrieren kann, lässt sich hier finden: https://list.jabber.at
Benutzer von GMX oder Web.de haben bereits auch ohne Wissen ein Jabber-Konto bei ihrem E-Mail-Anbieter mit dem gleichen Benutzernamen.

Wie funktioniert die Kommunikation?

User auf meinem Server können sich verschlüsselt verbinden. Das bedeutet, dass die Kommunikation zwischen der Jabber-Client-Software und dem Server nicht mitgelesen werden kann.
lokal_tls

Sollte nun Alice eine Nachricht an Bob schicken, wird sie über die verschlüsselte Verbindung zum Jabber-Server geschickt und von dort aus über einen weiteren sicheren Kanal – sofern Bob sich auch verschlüsselt anmeldet – an Bob versendet.

lokal_tls_nachricht

Doch wie sieht es nun aus, wenn eine Nachricht an einen Benutzer von einem anderen Jabber-Anbieter versendet werden soll? Stichwort: Dezentralisierung
Nehmen wir an, Alice möchte mit Carol bei web.de chatten. Carol ist mit ihrem Client bei web.de angemeldet. Ob sie das über einen sicheren, verschlüsselten Kanal getan hat, weiß Alice leider nicht. Genau so wenig, ob jabber.propriacausa.de und web.de den Nachrichtenaustausch über eine sichere Verbindung abhandeln.

global_nachricht

Hier wird die Botschaft erst sicher an jabber.propriacausa.de übergeben, anschließend irgendwie an web.de und daraufhin unbekannt an Carol.

Selbst, wenn man davon ausgehen kann, dass die Kommunikation zwischen den beiden Jabber-Servern und jeweils zwischen Client und Server sicher und verschlüsselt verläuft, gibt es immer noch zwei Schwachstellen, um die Nachricht abzufangen. Nämlich an den Punkten, an denen die Nachricht im Klartext liegt – und das sind die beiden Jabber-Server selbst. Hier könnte Mallory überwachen, was sich Alice und Carol zu sagen haben.

global_nachricht_problem

An dieser Stelle kommt nun Ende-zu-Ende-Verschlüsselung ins Spiel. Das bedeutet, dass Alice und Carol ihre Nachrichten unabhängig vom Kommunikationskanal verschlüsseln, sodass nur die beiden wissen können, was sie miteinander geschrieben haben.

global_nachricht_problem_otr

Das Mittel der Wahl ist an dieser Stelle OTR: http://de.wikipedia.org/wiki/Off-the-Record_Messaging

Die Praxis mit Conversations

Da nun die grobe Funktionsweise von Jabber inklusive OTR erklärt ist, stellt sich die Frage, wie das ganze nun in der Praxis aussieht. Da das Ziel des Ganzen eine WhatsApp-Alternative sein sollte, gehe ich hier nur näher auf den mobilen Client Conversations ein.

Conversations lässt sich einfach gegen einen Obolus von 2€ aus dem PlayStore (https://play.google.com/store/apps/details?id=eu.siacs.conversations) installieren. Als Alternative bietet sich auch eine kostenlose Variante über F-Droid (https://f-droid.org/repository/browse/?fdfilter=conversations&fdid=eu.siacs.conversations) an. Ich habe mich aufgrund vom fehlenden PlayStore auf meinem Telefon für die Installation aus F-Droid entschieden und dem Entwickler per Überweisung Geld gespendet, um an dem Projekt weiter arbeiten zu können.

Meiner Meinung nach ist die Bedienung der Software ein bisschen gewöhnungsbedürftig, doch lässt sich schnell erlernen.
Das Anmelden mit einem Jabber-Account ist selbsterklärend. Einfach Konto mit Passwort eingeben und fertig. Wer will, kann sich auch noch ein schönes Bildchen setzen. Die Anzeige des Bildes bei anderen Kontakten funktioniert aber ohnehin nur semi-zuverlässig. Von daher kann man das getrost ignorieren.

Bevor wir starten möchte ich aber noch ein paar zusätzliche Einstellungen der App empfehlen:

  • Absende-Knopf zeigt Online-Status: Der Pfeil zum Abschicken einer Nachricht verfärbt sich grün, wenn der Kontakt online ist.
  • Dynamische Tags anzeigen: Zeigt neben anderen Dingen an, ob der Kontakt aus der Kontaktliste online ist.
  • Einstellungen für Experten:
    • Anfrage für Nachrichten Empf..: Falls der Kontakt auch Conversations (oder einen anderen Client, der das unterstützt) verwendet, wird neben einer abgeschickten Nachricht ein grünes Häkchen angezeigt, sobald diese den Empfänger erreicht
    • Den Dienst im Vordergrund au..: Erlaubt Conversations die Verbindung zum Server auch im Standby aufrecht zu erhalten und verhindert, dass man offline geht.

Update 17.09.2016:
Folgende zusätzliche Einstellungen haben sich für mich noch als sinnvoll ergeben:

  • Online-Status: aktiviert
  • Lese- und Empfangsbestätigung senden: aktiviert
  • Konferenz-Name: aktiviert
  • Experteneinstellungen:
    • Zertifizierungsstellen misstrauen: aktiviert
    • Konferenzen automatisch beitreten: aktiviert
    • Empfangsbestätigungen anfragen: aktiviert

Bei einigen Android-Systemen hat sich bewährt, in den WLAN-Einstellungen den intelligenten Wechsel zwischen WLAN und Mobilnetz zu aktivieren, sowie WLAN im Ruhemodus auszuschalten, um nur mobile Daten zu verwenden. Gerade bei Samsung-Telefonen verhindert es, dass die Verbindung zum Jabber-Server im Standby deaktiviert wird.

Noch ist die Kontaktliste relativ nackt. Um einen neuen Kontakt hinzuzufügen, muss man nur auf das entsprechende Symbol drücken und die Jabber-ID des Kontaktes eingeben. Anders als bei anderen Clients fragt Conversations darauf hin nicht, ob man die „Einladung“ annehmen möchte. Will Alice Bob in die Kontaktliste aufnehmen, macht sie es wie beschrieben. Allerdings muss Bob die gleichen Schritte tun, damit sich Alice und Bob gegenseitig in ihrer Liste sehen. Ansonsten ist eine Konversation nicht möglich.
Nun können beide chatten und der grüne Pfeil zeigt, ob der andere online ist.

conversations_kontakt_hinzufuegen

conversations_kontakt_hinzufuegen2

conversations_kontakt_hinzufuegen3

Um aus dem aktuellen Chat zurück zu anderen Chats zu gelangen, wischt man nur den linken Rand der App in die Mitte. Nun hat man alle aktuellen Chats in der Übersicht. Um einen neuen zu starten, drückt man einfach auf das „+“-Symbol oben in der Ecke und kommt wieder zur Übersicht aller Kontakte. Von dort aus können auch wieder neue Kontakte hinzugefügt werden.

Das Versenden von Bildern innerhalb eines Chats ist selbsterklärend. Oben auf die Büroklammer klicken und entweder ein Foto mit der Kamera aufnehmen oder eine Datei vom Handy zum Versenden auswählen.

Um Jabber-Kontakte im Adressbuch des Telefons zu speichern und um dann auch die Kontaktbilder aus diesem zu verwenden, kann man innerhalb eines Chats oben rechts auf das Kontextmenü drücken und Kontaktdetails auswählen. Hier kann nicht nur der Kontakt gelöscht (Mülltonne) oder umbenannt (Stift), sondern auch mit einem Druck auf das Kontaktbild zum Adressbuch hinzugefügt werden. Anschließend wird nicht nur das entsprechende Bild verwendet, sondern auch der Name des Kontakts angepasst.

Sofern es der Server, bei dem man sein Jabber-Konto hat, unterstützt, lassen sich auch Gruppenchats erstellen. Dazu startet man einen neuen Chat nicht einfach mit einem Kontakt, sondern wählt das Tab „Konferenzen“. Hat man eine Konferenz gestartet oder ist einer beigetreten, was prinzipiell das gleiche ist, kann man innerhalb dieser neue Kontakte hinzufügen. Dazu muss man nur innerhalb des Konferenz-Chats oben rechts auf das Gruppensymbol gehen und neue Kontakte einladen. Innerhalb des Gruppenchats ist nur leider das Versenden von Bildern oder anderen Dateien nicht möglich.

Ein wichtiger Punkt ist noch OTR. Man kann seine Chats (abgesehen von Konferenzen) per OTR verschlüsseln. Hierfür muss man nur innerhalb des Chats oben auf das Schloss drücken und OTR auswählen. Das klappt allerdings nur, wenn der Kontakt online ist. Aber auch hier habe ich schon feststellen müssen, dass einige Nachrichten nicht ankommen, da man immer wieder die OTR-Session erneuern muss, wenn einer der Chat-Teilnehmer offline war. Leider gibt es dazu keine Rückmeldung innerhalb der App und ich hoffe, dass der Entwickler hier noch ein wenig nachbessert, um die Zustellung von Nachrichten transparenter zu gestalten.

Gut finde ich allerdings, dass sich die Verifikation der Schlüssel sowohl über das Social-Millionaire-Problem (http://twistedoakstudios.com/blog/Post3724_explain-it-like-im-five-the-socialist-millionaire-problem-and-secure-multi-party-computation) per Frage und Antwort als auch per Scannen von QR-Codes einfach gestalten lässt.

Fazit

Die Vorteile von Jabber liegen klar auf der Hand. Es ist wie eingangs schon erwähnt

  • sicher
  • dezentral
  • frei

Doch ist es in Benutzung mit Conversations wirklich als WhatsApp-Alternative zu gebrauchen? Die Probleme sind die geringe Verbreitung im Verhältnis zu WhatsApp als auch die Tatsache, dass Kontakte manuell gepflegt werden müssen. Für viele ist das ein großes Problem. Meiner Meinung nach ist es aber ein Vorteil, da die Adressbucheinträge nicht automatisiert abgeglichen werden und man die Kontrolle über seine Daten behält.

Conversations hat noch einige Kinderkrankheiten wie das OTR-Problem doch hat die Software in meinem Bekanntenkreis zu einer breiteren Akzeptanz beigetragen als ich es erwartet hatte. Man muss aber auch bedenken, dass sich die junge App zur Zeit noch in Entwicklung befindet und im Moment auch nur die Versionsnummer 0.10 trägt. Dennoch ist den Machern hier ein großartiges Produkt gelungen.

Leider ist diese App allerdings auf Android beschränkt. Zur Zeit suche ich noch nach Clients für andere mobile Betriebssysteme wie iOS oder Windows Phone, um die gleichen Features auch plattform-übergreifend zu nutzen. Chatten können sie alle, doch der Versand von Bildern oder der Gruppenchat ist nicht immer gegeben. Falls jemand Software für diese Betriebssysteme empfehlen kann, freue ich mich sehr über eingehende Hinweise.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.