20.08.2018
Informationen zum XMPP-Chat

Wir erproben unterschiedliche Kommunikationskanäle, um Austausch und Online-Seelsorge digital zu ermöglichen. Hier einige Informationen und Erfahrungen zum Chat via XMPP.

Was ist XMPP (Jabber)?

XMPP ist ein Protokoll [1] welches beschreibt wie Softwarekomponenten miteinander kommunizieren um Text, Audio oder Videonachrichten auszutauschen. Es liegt vielen Chatsystemen und Messengern zugrunde, z.B. auch WhatsApp, und bleibt vor dem Anwender in der Regel verborgen. Als es vor ca. 15 Jahren als Standard veröffentlicht wurde, unterschied man noch zwischen den Bezeichnungen XMPP für das Protokoll und Jabber [2] für die Anwendung, die dieses Protokoll benutzt. Seit sich die Firma Cisco die Markenrechte an dem Wort "Jabber" gesichert hat, spricht man aber in der Regel nur noch von "XMPP" für Chat-Anwendungen und Messenger, die darauf aufbauen, wobei die Messenger meistens wieder unter ganz anderen Namen angeboten werden.

Für den XMPP-Chat benötigt man eine eigene XMPP-ID (Identifikation). Sie ist aufgebaut wie eine E-Mail-Adresse: Name@Server.Domain. Also z.B. Max.Mustermann@Chatserver.de. Es gibt zwar inzwischen auch die Möglichkeit, die eigenen Telefon-Nummer mit einer XMPP-ID zu verknüpfen. Empfehlenswert ist dies jedoch aus Gründen der Datenhygiene nicht. Gerade die Nutzung einer selbstgewählten ID statt einer Telefon-Nr. ist ein Vorteil gegenüber anderen Messengern.

XMPP LogoDie Einrichtung einer eigenen XMPP-ID kann via App nach der Installation vorgenommen werden. Dazu werden von den Apps, die dies unterstützen in der Regel einige Server vorgeschlagen, auf denen man sich registrieren kann. Aber auch über einen Webbrowser kann man unabhängig von einer App eine ID auf einem der vielen angebotenen öffentlichen Server [4] anlegen.

Die OnlineKirche nutzt eine dritte Möglichkeit über die Nextcloud [5]. Dafür steht XMPP-Chat als ein Modul mit einem gemanagten XMPP-Server [7] der Uni Konstanz zur Verfügung. Jeder Nextcloud-Nutzer hat so auch gleichzeitig eine XMPP-ID, die zur Zeit die zusätzliche Erweiterung jsxc.ch erhält, also z.B. mitarbeiterXY@onlinekirche.jsxc.ch.

In den gängigen XMPP-Apps sind zahlreiche Einstellungen möglich. Im Unterschied zu WhatsApp lassen sich mehr und differenziertere Privatsphären-Einstellungen vornehmen. So ist es z.B. möglich, den Online-Status bekannt zu geben, aber wiederum nicht zu übermitteln ob man gerade eine Nachricht tippt [12].

Es werden mehrere Verschlüsselungsmethoden angeboten. Die modernste und gebräuchlichste ist zur Zeit die OMEMO-Verschlüsselung. Aber auch OTR oder das gute alte PGP, welches sich schon Jahrzehnte bei der E-Mail Verschlüsselung bewährt, kann genutzt werden [13]. Die meisten XMPP-Apps werden als OpenSource zur Verfügung gestellt. Experten können also nachprüfen, wie die Datenverarbeitung erfolgt.

Ein Nachteil des XMPP-Chats liegt in seinem Alter. Wer konnte vor 15 Jahren z.B. wissen, dass wir uns heute mobil im Internet bewegen? Von einem W-Lan zum anderen und zwischendurch muss möglicherweise noch auf die Datenoption des Telekommunikationsanbieters umgeschaltet werden. Dafür war das XMPP-Protokoll ursprünglich nicht konzipiert und es wurde im Laufe der Jahre um viele andere Erweiterungen ergänzt. Es steht nun im Ermessen jedes einzelnen Server-Betreibers, welche dieser Erweiterungen er verfügbar macht. Dies führt dazu, dass nicht alle Dienste auf allen Servern zur Verfügung stehen. Inzwischen gibt es aber eine sog. Compliance [8], über die man prüfen kann, ob der Server, an dem ich mich anmelden möchte, die Grundanforderungen bietet.

XMPP-Apps können mit beliebigen XMPP-Account-Anbietern oder auch dem eigenen Server benutzt werden. Mit einer XMPP-App bindet man sich also nicht an einen einzelnen Diensteanbieter wie z.B. bei Signal. Für die Nutzung des XMPP-Chat ist man auch nicht nur auf einen Messenger angewiesen, es gibt viele verschiedene. Hier eine Anleitung [11] zur praktischen Handhabung von Conversations [10], der wohl funktionsreichsten und meistgenutzeten XMPP-App unter Android. Mit einer XMPP-App kann man nahezu beliebig viele ID's benutzen. So kann man z.B. dienstliche und private XMPP-Konten in einer App und trotzdem getrennt führen.

Unter Android funktioniert der XMPP-Chat mit Conversations reibungslos, auch mit Sprach und Videonachrichten. Der Schlüsseltausch für die Verschlüsselung der Nachrichten erfolgt nach deren einschalten ohne zusätzliche Nutzeraktion. Allerdings muss auch der Chatpartner die Verschlüsselung aktivieren. Als Nachteilig zeigt sich, dass es zur Zeit (noch) keine Fehlerfrei funktionierende App für macOS gibt. Ähnlich ist es bei iOS, wobei das neue Release von Monal Hoffnung macht (Stand 12/2019). Apps für den Linux-Desktop gibt es sowohl für Anfänger wie für Fortgeschrittene. Für Windows gibt es mehrere OMEMO-fähige Apps, die sich oft an Power-User wenden und teils erst mit PlugIns erweitert werden müssen. Die Nutzung von Browserbasierten XMPP-Chat-Anwendungen ist, je nach Browsereinstellung, systembedingt nicht oder nur ungenügend mit OMEMO-Verschlüsselung nutzbar.

Welche Bedeutung kann XMPP für die kirchliche Kommunikation haben?

Wie in anderen Unternehmen auch, sollte es für eine Landeskirche keinen besonderen technischen wie finanziellen Aufwand bedeuten einen eigenen XMPP-Server zu betreiben. Statt selbst entwickelte Messenger einzusetzen, wäre eine Unterstützung von OpenSource-Entwicklern wünschenswert. So könnte auf der vorhandenen Basis aufgebaut werden um z.B. die Versorgungslücke für Windows und Apple-Nutzer zu schließen. Es würde damit ein System eingesetzt, welches sichere innerkirchliche Kommunikation bietet ohne vom weltweiten föderalen XMPP-Netzwerk abgekoppelt zu sein.

Zusammenfassung

Bereits seit ca. 15 Jahren ist der Austausch von Text- Audio- und Videonachrichten via XMPP möglich, nicht erst seit WhatsApp! Es gibt zahlreiche gut bediehnbare Clients mit umfangreichen Privatsphäreneinstellungen. XMPP hat gegenüber weiteren bekannten Messenger-Diensten den Vorteil, dass es Anbieter- und Appunabhängig ist. XMPP kann durch die implementierte Transport- und Ende-zu-Ende-Verschlüsselung auch in Datenschutzsensiblen Bereichen [9] eingesetzt werden.

Feedback zu diesem Beitrag ist dem Autoren willkommen via XMPP an:

joergsorge@onlinekirche.jsxc.ch

Apps und Clients

Hier einige Apps und Clients, die OMEMO Verschlüsselung unterstützen. Die mit einem (**) werden vom Autoren selbst erfolgreich benutzt und erhalten eine Empfehlung. Ein (*) bedeutet, Nutzer berichten, dass sie gut funktionieren. Ohne Sternchen, nur mit Einschränkungen benutzbar.

Android

Conversations (**)

Linux

Dino (**)

iOS, macOS

Monal

Windwos

Psi Plus (*)

Gajim (*)


Links mit weiterführenden Informationen zu diesem Beitrag.

[1] https://xmpp.org/

[2] https://www.jabber.org/

[4] https://xmpp.org/software/servers.htmlv

[5] https://nextcloud.com/

[7] https://www.jsxc.org/

[8]https://compliance.conversations.im/

[9]https://nitter.net/iNPUTmice/status/1203611711967813633

[10] https://conversations.im/

[11] https://simplewire.de/files/Conversations_Kompendium_1.1_simplewire.pdf

[12] https://conversations.im/#confirmation

[13] https://conversations.im/#security


Mehr Fotos

XMPP logo XMPP logo By Raja SANDHU for XMPP Standards Foundation, edited by Ludovic BOCQUET after the change from XSF (September 2017). - https://xmpp.org/, MIT, https://commons.wikimedia.org/w/index.php?curid=20775269