Chatstandard (XMPP)

- Lesezeit: 20 Minuten / ganze Rubrik: 108 Minuten -

Anbieterunabhängiger Chat auf Basis des international standardisierten Protokolls ist eine Empfehlung in der Schnellübersicht!

Im Gegensatz zu anderen Messengern/Systemen kann und darf(!) Chat auf der Basis des Protokolls XMPP überall dort legal eingesetzt werden, wo E-Mail auch genutzt wird!

Auf dem Infoblatt (PDF) ist dazu alles Wesentliche zusammengefasst.

Vorwort

Sollte jemand den Chatstandard unter dem Namen „Jabber“ kennen, so sollte beachtet werden, dass das System in den letzten Jahren große Veränderungen erfahren und sich den aktuellen Anforderungen an modernes “instant messaging” angepassst hat. Die Bezeichnung jedoch wird heute auch noch oft und gerne verwendet - interessant für Smartphone-Nutzer ist: Im normalen Adressbuch findet sich bei jedem Kontakt oft ein Feld „Chat“ in dem man die Chatadresse seiner Kontakte hinterlegen kann. Für standardisierten Chat hier als System also einfach „Jabber“ wählen.

Wesentliche Weiterentwicklungen:

  • Nutzer müssen nicht gleichzeitig online sein
  • Ende-zu-Ende-Verschlüsselung mit aktuellen Verschlüsselungsmethoden
  • Audio-/Videotelefonie
  • Sprachnachrichten
  • Dateiaustausch unabhängig vom Format

Inhalt:

Vorteile & Nachteile

  • positiv: Keine Abhängikeit von einer zentralen Stelle
  • positiv: Interoperabilität durch Nutzung von Standards
  • positiv: Freiheit in der Wahl der Software
  • pos&neg: Unterschiedliche Benutzeroberflächen durch Vielfalt bei Clients; kein betriebssystemübergreifender Client (außer Browser)
  • negativ: Man muß sich auf Empfehlungen für Clients und auf Empfehlungen für Serverbettreiber verlassen (es gibt nicht den einen Anbieter und nicht die eine App)
  • negativ: Verschiedene Apps/Programme mit unterschiedlichem Funktionsumfang
  • negativ: Android-Clients haben einen deutlichen Vorsprung vor iOS-Clients in Sachen Benutzerfreundlichkeit als auch Funktionsumfang
  • negativ: Abseits der empfohlenen Apps/Programme gibt es auch solche, die z.B. keine OMEMO-Verschlüsselung implementiert haben (diese sind dann trotzdem für öffentliche Chaträume brauchbar)
  • negativ: Durch Föderation fallen systembedingt Metadaten an; nicht zur Vermeidung von Metadaten designt, sondern für Interoperabilität
  • negativ: Verifizierte OMEMO-Verschlüsselung ist bei der Nutzung von mehreren Geräten/Clients weniger empfehlenswert, da bei „totaler“ Sicherheit Nachrichten nicht auf neuen Geräten gelesen werden können und das in der täglichen Praxis so oft nicht gewollt ist. Abhilfe nur durch „Blindes Vertrauen vor der Verifikation“ (BTBV) - oder durch andere Verschlüsselung (PGP)
  • negativ: Serverseitig bei ejabberd-Software: Mitglieder verlieren Verbindung, wenn Server neu startet; Server vergisst Mitgliederliste, wenn Server neu startet; Server zu Server Verbindungen sind nicht robust und gehen verloren, wenn Server IP wechselt
  • negativ: Subjektive Info: Früher wurde immer wieder mal von Nachrichtenverlust berichtet, wenn Geräte offline waren
  • negativ: Nicht durch das Protokoll bedingt aber eine Folge der „Föderation“: Öffentlich verfügbare Server garantieren selten eine bestimmte Ausfallsicherheit. Insbesondere bei privat betriebenen Servern können immer wieder längere Ausfälle die Folge sein. Manchmal werden solche Server auch nicht mehr aktiv betreut oder der Dienst ganz eingestellt. Man muß selbst nach zuverlässigen Servern schauen, sich auf Empfehlungen verlassen oder kann selbst hier aktiv beim Hosting werden.
  • negativ: Es gibt manche Hoster, bei denen sehr viele Serverbetreiber Ihre Dienste laufen haben - fällt hier einer aus, wären viele unterschiedliche Instanzen betroffen. Dazu folgende Übersicht (extern).

Spezialfall „öffentliche Chaträume“:

  • positiv: Möglichkeit zum Austausch, wie es z.B. WhatsApp nicht bietet
  • negativ: Verlässt bei öffentlichen Chaträumen (in die jeder mit einem beliebigen Alias beitreten kann) ein Nutzer den Chatraum, kann ein anderer unter dem selben Spitznamen beitreten und weiterschreiben, ohne dass andere den Wechsel evtl. bemerken.
  • negativ: Werden bereits versendete Nachrichten „korrigiert“ (nachträglich nochmals in einer geänderten Version versendet), werden diese je nach verwendetem Client bzw. Einstellung evtl. auch entsprechend oft angezeigt

Quellen, die ebenfalls kritische Punkte aufführen sind curius.de / Mai 2021 (extern), Privacy-Handbuch (extern), Kuketz-Blog / 18.02.2018 - Testzeitraum Okt. 2016 bis Nov. 2017 (extern) und Signal / 10.05.2016 (extern)

Grundsätzliches

Um Chatten zu können, muss ein Chatkonto bei einem Server vorhanden oder angelegt sein. Der Nachrichtenaustausch erfolgt dann mit einem XMPP-kompatiblen Programm freier Wahl.

Es gibt keinen genauen Nutzerzahlen - allerdings liegen diese im mehrstelligen Millionenbereich:

Normalfall: Internetnutzung

Server

XMPP ist ein föderales, dezentrales System genauso wie das auch bei E-Mail der Fall ist. Das bedeutet, dass im theoretischen Idealfall jeder Anwender seinen eigenen Server betreibt. Wenn man das selbst machen möchte, ist hierfür jedoch ein gewisses technisches Verständnis und Engagement erforderlich. Deshalb gibt es - wie bei E-Mail - zig verschiedene öffentliche Anbieter, auf deren Server dann die Verwaltung von Konten, Adressbüchern und Chatverläufe für ggfs. mehrere Geräte erfolgt.

Grafische Darstellung von Föderation und Serververnetzung anhand von wenigen Servern:

Vorschau
Normale Ansicht (WebGL) / Quelle (extern)
Vorschau
Komprimierte Ansicht (WebGL) / Quelle (extern)
Vorschau
Normale Ansicht / Quelle (extern)
Vorschau
Komprimierte Ansicht / Quelle (extern)

Das Ganze gibt es auch noch in einer 3D-Verision (WebGL): https://xmppnetwork.goodbytes.im/3d.html (extern)

Es gibt also extrem viele Anbieter bzw. XMPP-Server und für einen Neueinsteiger scheint es schwer eine Wahl zu treffen.

Tipp zum xmppnetwork-Service:
Es ist möglich, gezielt nur die Verbindungen von einem einzigen Server anzeigen zu lassen. Dazu muss die Abfrage lediglich mit ?focus=server.tld erweitert werden.

Welche Server bei diesem Dient aufgeführt werden bzw. wie diese ergänzt werden können, steht in den FAQ (extern)

Clients

Dank der Vorreiterrolle von „Conversations“ kann auf 80% der Smartphones mit einer modernen und intuitiven Benutzeroberfläche „getextet“ werden. Darüber hinaus gibt es jedoch noch weitere inteoperable freie Messenger für die verschiedensten Betriebssysteme und für Browser:

* Der Multi-Messenger Pidgin ist nur eingeschränkt zu empfehlen (Stand 2021). Er ist zwar intuitiv nutzbar und unterstützt OMEMO - nicht jedoch die XMPP-Erweiterungen “MAM” (XEP-0313) und “Message Carbons” (XEP-0280): Diese sind erforderlich, damit die Chat-Historie und Nachrichten auch auf mehreren eigenen Geräten zuverlässig verteilt werden.

Genauso eingeschränkt zu empfehlen ist der Desktopclient „coy.im“, der ebenfalls nicht die Erweiterungen XEP-0313 und XEP-0280 unterstützt. Dieser Client hat sich auf OTR als Verschlüsselungsmethode festgelegt. coy.im lt. eigener Aussage nicht für den Austausch sensibler Inhalte geeignet: https://github.com/coyim/coyim#security-warning (extern)

Es ist sogar möglich selbst einen OMEMO-fähigen Jabber-Client mit Java zu schreiben, der keine 200 Zeilen Quellcode benötigt:

Eine schöne Übersicht verschiedener Clients gibt es bei xmpp24.de (extern), linkmauve.fr (extern; englisch) und bei xmppchat.eu (extern).

Egal, welcher Messenger jedoch gewählt wird - durch die gemeinsame Basis kann man kommunizieren ohne dass diese den selben Messenger installiert haben müssen. Wie bei anderen Programmen (z. B. Browsern, Dateimanagern, Bildbearbeitung, Musikprogrammen, …), kann der Benutzer das wählen, das ihm am Besten gefällt! Das „System“ funktioniert unabhängig hiervon.

Client-XEP-Übersicht

Das herausragende Merkmal (für manche ein Makel) von standardisiertem Chat ist, daß es durch Erweiterungen (Extensions/„XEPs“) an sich ändernde Anforderungen angepasst und modern gehalten werden kann. Nicht jeder Client benötigt jedoch jede Erweiterung und wenn Erweiterungen unterstützt werden sollen, ist eine entsprechende Programmierarbeit erforderlich. Einen Überblick dazu liefert folgende Übersicht:

PDF-Datei (ca. 0,2 MB): >> hier <<
Freundlicherweise zur Verfügung gestellt von: ‘kikuchiyo’ / CC-BY-SA-4.0

Verschlüsselung

Zusätzlich zur grundsätzlich verwendeten Transportverschlüsselung gibt es mehrere Verschlüsselungsarten, die genutzt werden können:

  • OMEMO
    = Verschlüsselung pro Endstelle (Client); Nachrichten können nur auf den Geräten gelesen werden, für die sie auch verschlüsselt wurden.
    Apps/Programme, die diese aktuelle Verschlüsselung unterstützen sind zu finden bei: https://omemo.top (extern)
    Englischsprachige Hintergrundinformationen: https://conversations.im/omemo (extern)
  • OpenPGP
    = Verschlüsselung pro Nutzerkonto; Nachrichten können auch auf anderen Geräten gelesen werden.
  • Nicht in Gruppen nutzbar: ‘OTR’ (nur wenn beide zum Zeitpunkt des Versands online sind)
  • Nicht in Gruppen nutzbar: ‘PGP’ (alt)

Übersichtstabelle: https://wiki.xmpp.org/web/XMPP_E2E_Security#Comparative_Overview (extern)

Gedanken zur Ende-zu-Ende-Verschlüsselung

Chaträume

Neben klassischen Chats mit normalen Kontakten (2er Chats / „1:1“) gibt es auch noch private Chaträume („Gruppen“) und sogar öffentliche Chaträume. Für und in jedem Chatraum gibt es deshalb verschiedene …

Einstellungen:

  • privat (nur auf Einladung) oder öffentlich (jeder der die Adresse kennt darf rein)
  • moderiert (ja/nein)
  • Sichtbarkeit der Chatadressen für die Teilnehmer: (teil-)anonym oder für alle sichtbar
  • in öffentlichen Verzeichnissen sichtbar (ja/nein)
  • dauerhaft(persistent) oder flüchtig (besteht der Chatraum weiter, wenn der letzte Teilnehmer diesen verläßt)
  • Standardsprache
  • gesperrte/gebannte Chatadressen

Nicht jeder Server bietet seinen Chatraum-Administratoren die selben Einstellungsmöglichkeiten; hier gibt es manchmal Unterschiede.

Rollen und Rechte von im Chat Anwesenden:

  • Besucher (kein Schreibrecht bei „moderiert“)
  • Teilnehmer (Schreibrecht auch bei „moderiert“)
  • Moderator

Anmerkung:
Bein unmoderierten öffentlichen Chaträumen gibt es für Besucher und Teilnehmer keinen sichtbaren Unterschied - erst wenn z.B. auf Grund von Müllnachrichten („Spam“) auf „moderiert“ umgeschaltet wird, sind entsprechend Schreibrechte möglich bzw. nicht.

Zugehörigkeit:

  • Besitzer
  • Administrator
  • Mitglied
  • keine (besondere) Zugehörigkeit
  • Ausgeschlossene

Mehr Informationen zu Rollen, Rechten und Zugehörigkeit: Wikipedia (extern)
Englischsprachige Quelle: XMPP.ORG (extern)

Brücken

Mit Brücken können Nachrichten von/zu anderen Systemen ausgetauscht werden. Eine Art Universalbrücke ist Matterbridge (extern). Eine Beispielnutzung ist hier (extern) beschrieben.

Allerdings sind Brücken immer mit Vorsicht zu genießen und nicht immer legal - besser ist es, standardisierte Schnittstellen zu nutzen.

Querverweis: Sind Brücken und deren Nutzung legal?


Nutzung im LAN: „Bonjour“

XMPP kann auch innerhalb eines eigenen Netzwerkes ohne Internetzugang genutzt werden. Die entsprechende Technik im Hintergrund nennt sich „Bonjour“. Ein sinnvolles Einsatzgebiet hierfür sind größere Nutzergruppen in einem geschlosssenen Netzwerk (LAN/WAN) wie zum Beispiel Arbeitsnetzwerke, Hörsäle, Wohnheime. Aber auch als Rückfallebene für die interne Firmenkommunikation, wenn durch Ausfälle/Wartungsarbeiten bei Telekommuniationsanbietern keine Internetverbindung besteht.

Empfehlungen

… Die Entwicklung sowie der Einsatz und Betrieb eines eigenen Messenger-Dienstes in Kirche und Diakonie auf Basis von etablierten und frei zugänglichen Protokollen auf föderalen Servern wäre aus Sicht des Beauftragten für den Datenschutz der EKD die beste Lösung und wird daher empfohlen.

Quelle: https://datenschutz.ekd.de/wp-content/uploads/2018/10/Ergänzende-Stellungnahm-Messgr-Dienste.pdf vom 24.10.2018

Probleme/FAQ

AV-Telefonie

Frage: Warum funktionieren Anrufe in manchen Konstellationen nicht?

Problembeschreibung:
Befinde ich mich im gleichen WLAN mit meinem Kontakt, können wir über die App telefonieren - gehe ich über Mobilfunk online, funktioniert es nicht mehr. Es klingelt zwar beim Gegenüber, aber es kommt kein Gespräch zustande. Chatten funktioniert in jeglicher Kombination reibungslos.

Antwort:

Da für den externen Datenverkehr oft Sicherheitseinstellungen (von Firewalls oder NAT) greifen bzw. zwischen den beiden Gesprächspartnern entsprechende Hardware (z.B. Fritz!Box) ist, wird für den direkten Verbindungsaufbau ein weiterer Dienst (STUN-/TURN-Server) benötigt, der die für die direkte Übertragung (ohne die jeweilige Chatserver) erforderlichen, tatsächlichen IP-Adressen vermittelt. Sonst funktionieren Anrufe außerhalb des selben WLANS nur in manchen (seltenen) Fällen.

Ob der eigene Server die Hilfe von STUN-/TURN anbietet, kann hier eingesehen werden: https://compliance.conversations.im/test/turn (extern)
Oder direkt z.B. in Conversations in den Kontoeinstellungen über das Menü den Punkt “Serverdetails” aktivieren. Hier muß dann bei “XEP 0215 External Service Discovery” ein “ja” stehen.

Andere Ursachen könnten sein:
Es wird TOR genutzt oder eine gedrosselte Datengeschwindigkeit. So reichen 32/64kbit nach aufgebrauchten Datenvolumen zwar theoretisch aus - werden aber häufig gepulst gedrosselt. Sprich: Man bekommt nur alle paar Sekunden ordentlich Bandbreite für die Datenübertragung, hat dann aber lange Aussetzer womit A/V nicht funktioniert.

Interessantes Zusatzwissen

Geschichte und Abgrenzung

Unterschied “Jabber” / “Cisco Jabber”

Auch wenn beides den selben Ursprung hat, ist „Cisco Jabber” nicht identisch mit dem freien „Jabber (XMPP)“. „Cisco Jabber” ist eine Implementierung des XMP-Protokolls der Firma Cisco für Unternehmenskommunikation mit Cisco-Geräten. Es ist nicht quelloffen und hat von der Firma Cisco eigene Erweiterungen erhalten, die der Allgemeinheit nicht zugänglich sind.

Trotzdem ist es technisch möglich, Nachrichten auf Basis des „freien” Protokolls mit „Cisco Jabber” auszutauschen. Diese Föderation (offene Zusammenarbeit) funktioniert jedoch nur, wenn auf dem jeweils unternehmenseigenen Cisco-Server die entsprechenden Einstellungen/Freigaben einrichtet werden.

Ursprünglich wurde XMPP von Jabber, Inc. entwickelt. Dann an die XSF übergeben, und Jabber Inc wurde an Cisco verkauft.

Dossier zu XMPP

The State of XMPP in 2019 (extern) mit englischsprachigen Informationen zu:

  • Open Source’ Community
  • Commercial Usage
  • Clients

The State of Mobile XMPP in 2016 (extern) mit englischsprachigen Informationen zu:

  • Reliability (Zuverlässigkeit)
  • Images and multiple devices (Bilder und mehrere Geräte)
  • Mobile ready encryption (Verschlüsselung)
  • An Excurse on Push (Informationen zum Funktionsweise von Push)

Versteckte Anwendergruppen

Oft ist überhaupt nicht ersichtlich, dass im Hintergrund XMPP als Basis eingesetzt wird. So gibt es richtig große Anwendungen mit vielen Millionen Nutzern wie z.B. bei Onlinespiele oder auch Messenger, die ein teils individuell abgewandeltes XMPP intern nutzen - aber nicht nach außen öffnen. Dazu gehören u.a.:

  • Messenger
    • WhatsApp: ~2 Milliarden Nutzer
    • Kik Messenger: ~300 Millionen Nutzer
    • Zoom: ~200 Millionen Nutzer
    • Jitsi: ~20 Millionen Nutzer
    • Moya App: ~6,5 Millionen Nutzer
    • Grindr: ~4 Millionen Nutzer
    • Mailfence: ~350.000 Nutzer
  • IT-Systeme & Telekommunikationsanbieter
    • Apple Push Notifications: ~500 Millionen Nutzer
    • Facebook: Nutzeranzahl unbekannt
    • Firebase Cloud Messaging : Nutzeranzahl unbekannt
    • GitHub: Nutzeranzahl unbekannt
    • GMX: Nutzeranzahl unbekannt
    • Google Push Notifications: ~1.5 Milliarden Nutzer
    • Google Cloud Print: Nutzeranzahl unbekannt
    • Logitech Harmony Hub: Nutzeranzahl unbekannt
    • Orange: Nutzeranzahl unbekannt
  • Spiele
    • Fortnite (extern): ~250 Millionen Nutzer
    • Nintendo Switch (extern): ~34 Millionen Nutzer
    • League of Legends (extern) (~27 Millionen Nutzer)
    • EA Origin: ~40 Millionen Nutzer
    • Neverwinter: ~16 Millionen Nutzer
    • EVE (extern) (~1 Million Nutzer)
    • Star Trek Online: ~900.000 Nutzer
    • Champions Online: ~345.000 Nutzer
  • Wirtschaft
    • Trans.eu (logistic)

Quellen:

Militärischer Einsatz

Isode (extern) ist ein Unternehmen, das kommerzielle Standardprodukte (Client- und Server-Software) für sichere Messaging- und Verzeichnissysteme für Regierungs-, Militär- und Luftfahrtbehördenkunden in über 150 Ländern entwickelt. Für die unternehmenskritischen Lösungen wird Wert auf die Nutzung internationaler Standards und offener Protokolle (IMAP, XMPP, LDAP) gelegt:

Grafische Darstellung militärischer Nutzung

Beispielgrafik zur militärischen Nutzung

Quelle für Grafik: https://www.isode.com/solutions/military-xmpp.html (extern) - wird weitergeleitet auf aktuelle Seite (extern; 10.12.2022)

Militärischer Einsatz (NATO)

Übersetzter Auszug aus dem (englischsprachigen) Papier „MAJIIC - Multisensor Aerospace-ground Joint ISR Interoperability Coalition“ der NATO:
„… In Bereichen wie z.B. Sofortnachrichten für die verteilte Zusammenarbeit von Einheiten wird das Projekt die weit verbreitete kommerzielle Standards für den potenziellen Einsatz bei gemeinschaftlichen Operationen bewerten - wie z.B. den XMPP-Standard des Jabber-Chat …“

Originaltext:
”… In areas where no STANAG is available, such as Instant Messaging tools for distributed operator collaboration, the project will assess widely used commercial standards for potential use in coalition operations, such as the XMPP standard used in the Jabber chat tool …”

Englischsprachige Quelle: https://www.nato.int/docu/update/2007/pdf/majic.pdf (extern)

Militärischer Einsatz (USA)

Englischsprachige Quelle: https://www.defencetalk.com/us-dod-selects-jabber-to-deliver-net-centric-collaboration-services-12613 (extern)

US-Geheimdienst NSA

Auch der US-Geheimdienst nutzt das Standardprotokoll.

Englischsprachige Quelle: https://www.vice.com/en/article/8qxdez/the-nsa-uses-the-same-chat-protocol-as-hackers-and-activists (extern)

Sonstiges

Open Source ist zwar an sich kostenfrei - allerdings können Firmen mit Entwicklungsaufträgen bedacht werden und das Ergebnis steht dann wiederum de Allgemeinheit zur Verfügung. Auch gibt es z.B. eine Jobbörse rund um XMPP: https://xmpp.work/ (extern)

Verweise auf externe Informationen:

Ausführliche externe Meinungen

Das System „XMPP“ gibt es schon seit ca. 20 Jahren. Dennoch bzw. gerade deshalb gibt es hierzu verschiedene Meinungen/Standpunkte:

Internationale Infoseiten

Französisch

Fazit

Im Gegensatz zu anderen Messengern/Systemen kann und darf(!) Chat auf der Basis des Protokolls XMPP überall dort eingesetzt werden, wo E-Mail auch genutzt wird!
Ideal wäre eine Kooperation mit Matrix durch funktionierende Brücken. So könnten Unternehmen/Behörden intern die Vorteile von ausfallsicheren Chaträumen und Teamchatfunktionen genießen - und trotzdem wäre ein standardisierter Austausch von Nachrichten von/nach außen möglich.

Zum Systemvergleich von standardisiertem Chat (XMPP) und Matrix: >> hier <<

XMPP Logo