Messenger: XMPP ist nicht der Heilsbringer – aber eine Lösung

1. XMPPXMPP

Gemessen an der rasanten technischen Entwicklung ist das Extensible Messaging and Presence Protocol (XMPP) ein Urgestein, dessen Anfänge bis zum Jahr 1998 zurückreichen. XMPP ist ein offener Standard eines (Kommunikations-)Protokolles, das auf dem XML-Standard basiert und den Austausch von Informationen bzw. Daten ermöglicht. Es begegnet uns ebenfalls in der Messaging-Welt.

Im vorliegenden Beitrag möchte ich kurz den mangelnden Respekt erörtern, der uns bei der Diskussion um den »perfekten« Messenger bzw. Protokoll immerfort begleitet. Weiterhin möchte ich die Schwächen / Stärken von XMPP thematisieren und aufzeigen, was wir verbessern können. Am Ende bleibt die Erkenntnis: XMPP ist nicht der Heilsbringer, kann aber für bestimmte Zielgruppen, mit hohem Autonomiebedürfnis, eine Lösung zu geschlossenen Plattformen wie WhatsApp darstellen.

2. Respekt vor der Meinung anderer

Menschen sind verschieden. Unsere Bedürfnisse sind verschieden. Unsere Meinungen sind verschieden. Insbesondere beim Thema Messaging wird diese Vielfalt auf krasse Weise sichtbar – leider nicht immer im positiven Sinne. Diskussionen um den »perfekten« Messenger bzw. Protokoll sind leider oftmals geprägt von ideologischen Vorurteilen, Wunschvorstellungen und technischem Halbwissen. Nicht selten führt eine Diskussion über Messenger daher zu üblen Beleidigungen und scheint insbesondere Trolle, Hater und Besserwisser magisch anzuziehen.

Allerdings wird dabei gerne vergessen, dass Menschen einfach unterschiedlich sind. Jeder von uns hat andere Ansprüche bzw. Anforderungen an einen Messenger:

  • Elke liebt riesengroße Smilies bzw. Sticker
  • Berno möchte für möglichst viele Leute erreichbar sein
  • Heidi tippt nicht gerne und sendet dafür Sprachnachrichten
  • […]

Technisch versierte Menschen, oder jenen, denen Sicherheit und Datenschutz wichtig ist, haben wiederum vielleicht ganz andere Kriterien:

  • Thomas mag föderierte Infrastrukturen bzw. bindet sich ungern an einen Anbieter
  • Anne verwendet lieber Identifier, die nichts mit ihrer Telefonnummer zu tun haben
  • Heiko setzt auf Ende-zu-Ende-Verschlüsselung, damit niemand außer den Teilnehmern die Inhalte mitlesen kann
  • […]

Nach meiner Auffassung gilt es, andere Meinungen bzw. Ansichten zu respektieren, auch wenn sie uns nicht gefallen. Übertragen auf die Messenger-Welt bedeutet das bspw.: Ja, WhatsApp ist ein Datenschutzalbtraum unter der Flagge von Facebook, aber viele Menschen nutzen es einfach deswegen, weil sie darüber praktisch »jeden« erreichen können.

Es wäre aber falsch, Menschen zu verurteilen oder gegen sie zu hetzen, nur weil sie WhatsApp oder sonst einen Messenger bzw. Lösung bevorzugen, die man selbst ablehnt – und dafür vielleicht auch gute Gründe hat. Ein viel sinnvollerer Ansatz, der auch andere Meinungen respektiert, ist nach meiner Auffassung dieser hier:

Versucht auf allen Kanälen zu lauschen und versucht, die Kommunikation zu WhatsApp-Alternativen zu lenken. Hebt die Vorteile »eures« Messengers hervor, ohne dabei WhatsApp bzw. die Entscheidung eures Gegenübers für Messenger XY herabzuwürdigen.

Im Kern geht es darum, Menschen freundlich auf Alternativen hinzuweisen, ohne sie missionieren zu wollen – ist euer Gegenüber dann empfänglich für eure Worte, wird er sich »euren« Messenger vielleicht etwas genauer anschauen.

3. Messenger: Die Zielgruppe ist (mit-)entscheidend

Schieben wir die persönlichen Kriterien und Wünsche, die wir an einen Messenger stellen, doch mal für ein paar Minuten beiseite. Wir werden dann schnell feststellen, dass gewisse Kompromisse notwendig sind, wenn wir mit einem Personenkreis über einen Messenger kommunizieren möchten. Anhand drei unterschiedlicher Zielgruppen möchte ich dies verdeutlichen:

  • Eltern im Kindergarten: Es wird schwer bis unmöglich sein, die Eltern der Kindergartengruppe, aufgrund ihrer bisherigen Erfahrungen, persönlichen Präferenzen und einer gewissen Bequemlichkeit, von XMPP bzw. Conversations zu überzeugen. Ihr könntet allerdings auf den Messenger Signal hinweisen bzw. dessen Vorteile hervorheben, der eine starke Ähnlichkeit zu WhatsApp aufweist, aber vieles besser macht.
  • Fortgeschrittene / Lernbereite: Anders sieht es bei einer technisch versierten Zielgruppe aus. Hier spielen vermutlich ganz andere Kriterien eine Rolle und der Fokus liegt eher auf einem gewissen Autonomiebedürfnis, technischen Hintergründen, Sicherheit und/oder Datenschutz. Bei dieser Zielgruppe ist der Einsatz von Matrix und XMPP weit verbreitet – inklusive diverser, zeitraubender Grabenkämpfe. Nach meiner Auffassung wäre diese Zeit besser genutzt, um eine vernünftige Bridge zu implementieren, die beide Protokolle bzw. XMPP <-> Matrix miteinander verbindet. Je mehr Föderation und Interoperabilität, desto besser.
  • Journalisten: Diese Personengruppe benötigt oftmals eine Möglichkeit, Informationen sicher und möglichst über einen anonymen Weg mit anderen auszutauschen. Nach meiner Auffassung kommt hier weder der bereits erwähnte Messenger Signal, noch Conversations in Frage. Für Personen mit erhöhtem Sicherheits- bzw. Anonymitätsbedürfnis wie Aktivisten, Journalisten könnte Briar eine mögliche Lösung sein.

Bei der Wahl eines Messengers sind also nicht nur die eigenen, persönlichen Präferenzen entscheidend, sondern auch die Frage, mit welcher Zielgruppe ich eigentlich kommunizieren möchte. Das bedeutet: Erst dort, wo unsere persönlichen Präferenzen mit der gewünschten Zielgruppe eine Schnittmenge bilden, kommt ein gewisser Messenger oder Protokoll überhaupt erst in Frage.

Die Zielgruppe des Kuketz-Blogs sind »Nerds« bzw. eher technisch versierte Nutzer. Daher habe ich mich im Mai 2016 dazu entscheiden, Lesern über XMPP die Möglichkeit zu geben, sich untereinander zu vernetzen und sich über die Themen der IT-Sicherheit / Datenschutz untereinander auszutauschen.

Hinweis

Roland Hummel hat in seinem Gastbeitrag »Messenger: Matrix – Das XMPP für Hobby-Admins?« von seiner Erfahrung mit dem Matrix-Projekt (Synapse / Riot) berichtet und weshalb er in Matrix eine XMPP-Alternative für Hobby-Admins sieht.

4. XMPP: Schwächen und Stärken

Hilf mit die Spendenziele zu erreichen!

Unabhängig. Kritisch. Informativ. Praxisnah. Verständlich.

Die Arbeit von kuketz-blog.de wird vollständig durch Spenden unserer Leserschaft finanziert. Sei Teil unserer Community und unterstütze unsere Arbeit mit einer Spende.

Mitmachen ➡

4.1 Schwächen

Meine persönlichen Kriterien an einen Messenger habe ich bereits vor gut zwei Jahren in einem Beitrag formuliert. So bin ich damals auch in das XMPP-Universum eingetaucht und nutze seit diesem Zeitpunkt den Messenger Conversations. Es wäre allerdings schlichtweg gelogen, wenn ich behaupten würde, dass XMPP bzw. die darauf aufbauenden Messenger (bspw. Conversations, Gajim) all meine Kriterien an Sicherheit und Datenschutz vollumfänglich erfüllt – das tut weder XMPP noch Conversations.

Im Beitrag »XMPP: Admin-in-the-middle« hat das InfoSec Handbook auf diverse Schwächen von XMPP hingewiesen. Die Beobachtungen sind alle gut und richtig, allerdings betreffen sie nahezu alle Server-Client-Infrastrukturen, bei denen die Kommunikation über eine (oder mehrere) zentrale Komponente(n) abgewickelt wird. Ein (Server-)Administrator ist nunmal die höchste Instanz auf einem System – mit allen Vor- und Nachteilen.

Es gibt in der Messenger-Welt nur wenig Ausnahmen, wo die Vertrauensbeziehung zwischen Nutzer <-> Server-Admin keine so wichtige Rolle einnimmt, wie es bspw. bei XMPP der Fall ist. Auf ein Beispiel möchte ich kurz eingehen:

  • Briar: Briar kommt vollständig ohne eine Server-Infrastruktur aus. Das »Vertrauen« ist also direkt im Protokoll implementiert, da zur Kommunikation keine zentrale Komponente (Server) notwendig ist. Weiterhin nutzt Briar standardmäßig eine Ende-zu-Ende-Verschlüsselung (+ Forward Secrecy) und verschleiert Meta-Daten über das Tor-Netzwerk. Insgesamt setzt Briar den Fokus auf Anonymität, Sicherheit und einen innovativen Weg der Nachrichtenübermittlung.

Neben der notwendigen Vertrauensbeziehung, die ein Nutzer zum Server-Admin quasi aufbringen muss, »leidet« XMPP noch an weiteren Schwächen, die einer größeren Verbreitung (leider) im Weg steht:

  • OMEMO-Implementierung: Es existiert aktuell kein Client für iOS, mit dem ein vollständiger und fehlerfreier Nachrichtenaustausch in MUCs via OMEMO möglich ist. Davon abgesehen existiert für nahezu jedes System ein OMEMO-fähiger Client.
    Aktuell ist die OMEMO-Implementierung für MUCs allgemein als problematisch zu bezeichnen (Issue #3262, Issue #3081) und von einigen wird OMEMO sogar generell kritisch gesehen: Future of OMEMO.
  • Serverinfrastruktur: Eines der größten Stärken von XMPP ist gleichzeitig auch seine größte Schwäche: Die Föderalität. Sobald ein XMPP-Server mit anderen föderiert ist er Teil eines großen Ganzen. Leider werden einige XMPP-Server nicht mit der Sorgfalt und Verantwortung betrieben, die bei föderierten Protokollen eigentlich eine Selbstverständlichkeit sein sollten. In der Praxis treten daher immer mal wieder Probleme wie Nachrichtenverlust oder fehlgeschlagene Verbindungen auf, weil etliche Server veraltet sind und bspw. keine aktuellen OpenSSL-Cipher-Suiten unterstützen.
  • […]

Wir können nun auf diesen Schwächen herumreiten oder wir können unsere Energie positiv nutzen, um die Schwächen von XMPP anzugehen. Falls ihr XMPP also mögt, sollte euer Kredo lauten:

Nicht motzen – sondern sich einbringen und (positiv) mitwirken.

4.2 Stärken

Daniel Gultsch zählt mit seinen Bemühungen Rund um XMPP sicherlich zu einer der prominentesten Personen. Unter anderem mit folgenden Projekten hat er die letzten Jahre entschieden dazu beigetragen, um XMPP nicht nur für Nerds zugänglich(er) zu machen:

  • Conversations: Auf der Android-Plattform ist Conversations der wohl beste Client, den es aktuell gibt. Gerade Einsteiger haben es allerdings noch immer schwer, sich in der XMPP-Welt zurechtzufinden. Anleitungen wie diese von Messtome oder das Conversations Kompendium können den Einsteig erheblich erleichtern. Dennoch sollte XMPP insgesamt an der Benutzerfreundlichkeit arbeiten, um auch den weniger versierten Nutzern einen Umstieg zu erleichtern.
  • XMPP Compliance Tester: Die Administratoren von XMPP-Servern sollten beim Compliance Tester stets die 100% anstreben und dies auch kontinuierlich prüfen. Nur Server, die bestimmte XMPP-Extentions (XEPs) auch unterstützen, können sich nahtlos und unproblematisch in die föderierte Infrastruktur aus XMPP-Servern einfügen.
  • XMPP Server Status: Mit dem Projekt XMPP Server Status kann man auf einen Blick ablesen, ob bestimmte XMPP-Server gerade erreichbar sind. Es werden auch historische Daten erfasst, die einen Einblick von der Verfügbarkeit über einen längeren Zeitraum ermöglichen.
  • OMEMO: Conversations zählt zu den ersten Clients überhaupt, der die offizielle Extension XEP-0384 implementiert, die im Rahmen einer Google-Summer-of-Code-Veranstaltung im Jahr 2015 von Andreas Straub und Daniel Gultsch entwickelt wurde.

Trotz dieser Anstrengungen muss sich XMPP allerdings noch erheblich weiterentwickeln, bevor es überhaupt massentauglich werden kann. Da haben es WhatsApp, Signal und weitere Insel-Systeme einfacher, da ihr Entwicklungs- und Entscheidungszyklus, insbesondere aufgrund der nicht vorhandenen Föderalität, weitaus schneller voranschreitet.

XMPP und die darauf aufbauenden Clients sind sicherlich nicht perfekt. Allerdings bietet XMPP alle Voraussetzungen, um ein Kommunikationsnetzwerk zu betreiben, ohne von zentralen Anbietern in irgendeiner Form abhängig zu sein. Insgesamt lassen sich die Vorteile von XMPP auf folgende Punkte zusammenfassen:

  • Föderalität
  • Offenheit bzw. Open Source
  • Freiheit bzw. Autonomie
  • Dezentralität
  • Etablierter Standard

Doch das allein genügt nicht, um eine möglichst hohe Verbreitung zu erzielen und sich gegen die erdrückende Konkurrenz von WhatsApp Marktanteile zu sichern. Das wohl größte Problem von XMPP ist seine verbesserungswürdige Benutzerfreundlichkeit, womit ich insbesondere die Clients meine, die auf XMPP aufbauen. Wir brauchen einfache GUIs, die dem Nutzer nicht irgendwelche kryptischen Fehlermeldungen ausspucken, sondern so konzipiert sind, dass selbst ein Laie damit zurechtkommt. Es ist keine Schande sich an bereits bestehenden Lösungen zu orientieren und die GUI an Vorbildern anzulehnen, die es besser machen. In Summe: Der Einstieg in die XMPP-Welt sollte deutlich vereinfacht werden.

Abgesehen von der Benutzerfreundlichkeit muss sich bei XMPP auch hinsichtlich der Sicherheit und des Datenschutzes einiges verändern.

4.3 Was XMPP verbessern muss

Weder die XMPP-Serversoftware Prosody, noch ejabberd sind in der Vergangenheit negativ durch eine große Zahl an (schwerwiegenden) Sicherheitslücken aufgefallen. Und doch ist die Serverkomponente bei XMPP eines der größten »Verhinderer« von einem angemessen Sicherheits- und Datenschutzniveau. Dieses insbesondere deshalb, weil der Nutzer seinem XMPP-Server-Admin einen riesigen Vertrauensvorschuss einräumen muss.

Nach meiner Auffassung ist die Nutzung von XMPP (aktuell) nur dann »sicher« und datenschutzfreundlich möglich, wenn die XMPP-Server von vertrauenswürdigen und kompetenten Server-Admins betrieben werden. Grob umrissen bedeutet das:

  • Sicherheit: Das OMEMO-Protokoll ermöglicht eine Ende-zu-Ende-Verschlüsselung, so dass niemand außer den Teilnehmern einer Diskussion die Inhalte mitlesen kann. Allerdings ist das OMEMO-Protokoll für sich allein betrachtet noch lange kein schlüssiges Sicherheitskonzept, sondern lediglich ein Puzzleteil. Insbesondere auf XMPP-Serverseite sollten folgende Anstrengungen unternommen werden:
    • Härtung des Systems bzw. Reduktion auf das Wesentliche
    • Regelmäßiges Einspielen von (Sicherheits-)Updates
    • Nutzung von aktuellen OpenSSL-Bibliotheken
    • Verwendung gültiger TLS-Zertifikate (bspw. Let’s Encrypt)
    • Verschlüsselte Verbindungen zwischen den XMPP-Servern forcieren
    • […]
  • Datenschutz: Über die Logfiles bzw. die serverseitige Datenbank hat ein XMPP-Server-Admin theoretisch Zugriff auf eine Menge (sensibler) Metadaten. Es gilt, das XMPP-Protokoll bzw. Serverkomponente so zu verändern / erweitern, dass unter anderem folgende Missbrauchsszenarien minimiert werden:
    • Auslesen des verwendeten Login-Passworts eures XMPP-Kontos
    • Zugriff auf die Liste der gespeicherten Kontakte
    • Zugriff auf zwischengespeicherte Offline-Nachrichten
    • Zugriff auf das Archiv bzw. den Nachrichtenverlauf
    • […]

    Vor dem Auslesen der Inhaltsdaten (bzw. Nachrichten) kann euch OMEMO schützen – am Ende bleiben allerdings dann noch einige Metadaten (bspw. Kontaktliste) und die Zugriffsmöglichkeit auf euer Passwort. Es ist also eine Menge an Vertrauen notwendig, wenn ihr euch ein Konto auf einem XMPP-Server erstellt. Abgesehen von der Erhebung und Speicherung dieser Metadaten kann ein XMPP-Server-Admin die Datenerhebung über gewisse Serverparameter zumindest einschränken. Über die Minimierung des Loggings ist es bspw. möglich, die IP-Adresse, den Zeitpunkt der Anmeldung bzw. Nutzung des XMPP-Servers zu verwerfen.

Insbesondere der Messenger Signal beweist mit neuen Technologien wie Sealed-Sender oder Private-Contact-Discovery, dass ein Messenger ohne die Speicherung bzw. Verknüpfung von Meta-Daten auskommt und dennoch funktioniert. Solche Technologien in eine föderierte Infrastruktur wie diese von XMPP zu integrieren bzw. die Abwärtskompatibilität zu gewährleisten, ist selbstverständlich eine Herausforderung. Dennoch sollten wir bei der zukünftigen Ausrichtung und Weiterentwicklung von XMPP solche Technologien unbedingt berücksichtigen.

5. Mein Beitrag für die XMPP-Welt

Eines der Gründe, weshalb ich aktuell einen Testserver betreibe, ist ein (kommender) Beitrag, der die Installation und Inbetriebnahme eines ejabberd-XMPP-Servers beschreibt, der die folgenden Optionen unterstützt:

  • Messaging: Übermittlung von Nachrichten zu einem Chatpartner bzw. Kontakt, wie wir es bspw. von WhatsApp kennen
  • Multi-User-Chat (MUC): Eine Art Konferenzraum, dem mehrere Benutzer beitreten können, um untereinander Nachrichten auszutauschen
  • Dateitransfer: Austausch von Dateien

Damit sind die grundlegenden Anforderungen erfüllt, die wir aus der Messenger-Welt kennen: Wir können mit (mehreren) Kontakten chatten und ebenfalls Dateien austauschen.

Neben der reinen Funktionalität liegt mein Fokus selbstverständlich auf einer sicheren und möglichst datenschutzfreundlichen Konfiguration, die ich im Zuge des Beitrags jedem als Vorlage zur Verfügung stellen möchte. Das soll ejabberd-Serverbetreibern und solchen, die es vielleicht noch werden möchten, die Möglichkeit geben, ihre Server in Anlehnung an die Kriterien des XMPP Compliance Testers zu betreiben und dadurch ein verlässlicher Teil des föderierten XMPP-Serververbunds zu werden.

Hinweis

Während der (noch immer anhaltenden) Testphase konnte ich einen sicherheitskritischen Bug innerhalb von ejabberd ausfindig machen, der den Umgang mit TLS-Zertifikaten betrifft. Unter bestimmten Voraussetzungen kann zwischen zwei XMPP-Servern keine TLS-gesicherte-Verbindung zu Stande kommen, da der ejabberd-Server auf Anfrage ein falsches TLS-Zertifikat ausliefert, welches die Gegenstelle als unsicher einstuft. Details dazu werden zu gegebener Zeit folgen.

6. Messenger: Welche nutze ich?

Auf Wunsch von einigen Lesern möchte ich an dieser Stelle noch kurz einen Einblick in meine private / berufliche Messenger-Nutzung geben. Folgende zwei quelloffenen Messenger nutze ich:

[1] Signal:

  • Bezugsquelle: Neben dem Google Play Store wird der Messenger ebenfalls als APK direkt auf der Signal-Webseite zum Download angeboten – über eine integrierte, automatische Update-Funktion wird Signal stets aktuell gehalten.
  • Google-Abhängigkeit: Signal funktioniert problemlos auf googlefreien Geräten und weicht dort auf WebSockets aus, um Nachrichten zu »pushen«.
  • Adressbuch: Den Zugriff auf das lokale Adressbuch des Smartphones habe ich Signal verboten. Chatten kann ich trotzdem, indem ich die Telefonnummer eines Signal-Nutzers händisch eintippe und den Chat initiiere. Das ist anfangs etwas aufwendig, funktioniert aber problemlos. Damit vermeide ich den Upload der Telefonnummern meiner Kontakte bzw. genau genommen den Upload von Hashwerten der Nummern, die dann auf den Signal-Servern abgeglichen werden. Diese Hashwerte werden übrigens nicht dauerhaft gespeichert, sondern nach dem Abgleich wieder verworfen.
  • Metadaten: Signal zählt zu einem der wenigen Messenger, der fast vollständig ohne die Speicherung von Metadaten auf dem Server auskommt.
  • Zielgruppe: Signal nutze ich für alle Kontakte, die wenig technikaffin sind bzw. die einen Messenger suchen, der »einfach funktioniert«. Die perfekte Alternative für alle (bequemen) WhatsApp-Nutzer.
  • Grenzen: Für große, offene Diskussionstreffen mit vielen Nutzern (bspw. der Kuketz-Chat) eignet sich Signal nicht. Neben der einfachen Möglichkeit, eine Gruppe bzw. Chat zu betreten, fehlt es schlichtweg an Moderations- und Administrationsmöglichkeiten. Für größere, öffentliche Chats kommt daher eigentlich nur Matrix bzw. XMPP in Frage.

[2] Conversations:

  • Bezugsquelle: Conversations lässt sich direkt über den F-Droid-Store beziehen und darüber aktualisieren.
  • Google-Abhängigkeit: Conversations funktioniert problemlos auf googlefreien Geräten und weicht dort auf WebSockets aus, um Nachrichten zu »pushen«.
  • Adressbuch: Den Zugriff auf das lokale Adressbuch des Smartphones habe ich Conversations verboten. Das Hinzufügen neuer Kontakte geschieht über den sogenannten Jabber-Identifier (JID), der an eine E-Mail-Adresse erinnert.
  • Metadaten: Siehe vorliegender Beitrag.
  • Zielgruppe: Conversations nutze ich für all jene Kontakte, die bspw. ihre Telefonnummer nicht als Identifier nutzen möchten und Wert auf eine föderierte Infrastruktur legen.
  • Grenzen: Für größere Gruppen, die in einem geschlossenen MUC via OMEMO kommunizieren wollen, ist die Nutzung problematisch. Siehe: Issue #3262 und Issue #3081.

7. Fazit

XMPP war und ist nicht der Heilsbringer für die Messenger-Welt. XMPP ist aber eine Lösung, die es Menschen gestattet, miteinander in den Austausch zu treten bzw. ein Kommunikationsnetzwerk zu betreiben, ohne von zentralen Anbietern in irgendeiner Form abhängig zu sein. Insbesondere für Personen oder Institutionen mit hohem Autonomiebedürfnis kommt nach meiner Auffassung nur XMPP oder Matrix in Betracht. Welches dieser beiden Protokolle ihr nun persönlich bevorzugt, hat sicherlich ganz unterschiedliche Gründe – jedes hat seine individuellen Stärken, aber auch Schwächen.

Und nicht vergessen: Den perfekten Messenger bzw. Protokoll gibt es nicht, kann es nicht geben und wird es auch niemals geben. Dafür sind wir Menschen, unsere Bedürfnisse und Ansichten einfach zu unterschiedlich – und das ist auch ganz gut so. Wir sollten unsere Energie lieber positiv nutzen und bestehende Lösungen verbessern oder auf Alternativen hinweisen, anstatt gebetsmühlenartig auf den Schwächen eines Messengers / Protokolls herumzureiten.

Über den Autor | Kuketz

Mike Kuketz

In meiner freiberuflichen Tätigkeit als Pentester / Sicherheitsforscher (Kuketz IT-Security) schlüpfe ich in die Rolle eines »Hackers« und suche nach Schwachstellen in IT-Systemen, Webanwendungen und Apps (Android, iOS). Des Weiteren bin ich Lehrbeauftragter für IT-Sicherheit an der Dualen Hochschule Karlsruhe, sensibilisiere Menschen in Workshops und Schulungen für Sicherheit und Datenschutz und bin unter anderem auch als Autor für die Computerzeitschrift c’t tätig.

Der Kuketz-Blog bzw. meine Person ist regelmäßig in den Medien (heise online, Spiegel Online, Süddeutsche Zeitung etc.) präsent.

Mehr Erfahren ➡

SpendeUnterstützen

Die Arbeit von kuketz-blog.de wird zu 100% durch Spenden unserer Leserinnen und Leser finanziert. Werde Teil dieser Community und unterstütze auch du unsere Arbeit mit deiner Spende.

Folge dem Blog

Wenn du über aktuelle Beiträge informiert werden möchtest, hast du verschiedene Möglichkeiten, dem Blog zu folgen:

Bleib aktuell ➡


Diskussion

36 Ergänzungen zu “Messenger: XMPP ist nicht der Heilsbringer – aber eine Lösung”

  1. Comment Avatar Martin sagt:

    Ein guter, ausgewogener Kommentar. Danke dafür!

    Zwei Bemerkungen noch:

    1. OMEMO ist eine sehr gute Verschlüsselungstechnik, die vor allem endlich die Nachteile von OTR überwindet. Sie hat aber auch ein paar praktische Probleme, die hier abgerissen werden:

    https://fr.movim.eu/?blog/debacle%40movim.eu/things-i-don-t-like-with-omemo-as-it-is-today-ogqaAM

    2. Du hast aus meiner Sicht einen wichtigen Aspekt vergessen: Die Frage der Plattformunabhängigkeit von IM-Systemen. Ich akzeptiere es natürlich, wenn jemand WhatsApp, Signal oder Briar nutzt. Aber die Person kann dann eben nicht mit mir chatten! Ich habe kein Handy, kein Smartphone, kein Android, kein iOS, also kann ich WhatsApp, Signal oder Briar einfach nicht nutzen. XMPP, Matrix und das gute, alte IRC laufen prinzipiell auf jedem OS und jeder Hardware. Ich nutze selbst XMPP, aber ich könnte auch Matrix oder IRC nutzen, wenn erforderlich. WhatsApp/Signal/Briar? Geht einfach praktisch nicht.

    • Comment Avatar Anonymous sagt:

      Ich weiß nicht, ob ich es im MUC aufgeschnappt habe oder wo anders: Bei Messengern wie WhatsApp, Threema, Signal o. ä. akzeptieren wir es, dass man Personen anderer Anbieter / Plattformen ausschließt.
      Man stelle sich mal vor, wir könnten nur von iPhone zu iPhone, Android zu Android, Telekom zu Telekom oder was weiß ich telefonieren. Warum sollte das, was beim Telefon klappt, nicht auch bei Messengern funktionieren?

  2. Comment Avatar Ole sagt:

    Danke für die ausführlichen Darlegungen.

    Habe ich den Artikel übersehen, warum die Wahl auf ejabberd und nicht Prosody fiel oder kommt der vielleicht/hoffentlich noch?

    • Comment Avatar Anonymous sagt:

      Seit gut einer Woche betreibe ich einen XMPP-Test-Server auf Basis von ejabberd. Eines der Gründe weshalb ich diesen Testserver aktuell betreibe ist ein (kommender) Beitrag, der die Installation und Inbetriebnahme eines ejabberd-XMPP-Servers beschreibt,

      Ich gehe davon aus, dass der Beitrag über ejabberd auch auf die Entscheidung eingehen wird.

    • Comment Avatar Mike Kuketz sagt:

      Da muss ich dich enttäuschen. Einen Artikel dazu wird es nicht geben. Ich hatte mir beide Varianten angeschaut, ejabberd war nach meiner Auffassung eingängiger. Außerdem kenne ich einen Entwickler bei ejabberd, den ich gleich mit Verbesserungsvorschlägen und Fragen nerven kann. ;-)

  3. Comment Avatar Martin sagt:

    Unter bestimmten Voraussetzungen kann zwischen zwei XMPP-Servern keine TLS-gesicherte-Verbindung zu Stande kommen, da der ejabberd-Server auf Anfrage ein falsches TLS-Zertifikat ausliefert, welches die Gegenstelle als unsicher einstuft.

    Das kommt mir irgendwie bekannt vor. :D

    Schöner Beitrag, Danke.

  4. Comment Avatar M sagt:

    Vielen Dank für den passenden Artikel. Ich habe gerade erst überlegt, ich sollte wieder einmal versuchen meine Kontakte erneut von föderierten Messenger-Systemen zu überzeugen. Angestossen wurde dieser Gedankengang vom Relaunch von mailbox.org, welcher ja auch die XMPP-Umgebung stärker in den Fokus rückt.

    Gerade weil ich selbst mit meiner Kommunikation noch nicht umgestiegen bin, finde ich solche »Offensiven« sehr wichtig. Sie helfen dem Thema aktuell zu bleiben und ein gewisses Bewusstsein dafür zu entwickeln.

    Dieser Beitrag ist perfekt, um anderen die Vorteile von Jabber zu zeigen und sich eine schlüssige Argumentation zurechtzulegen. Fast als hätte ich ihn bestellt.

  5. Comment Avatar pic sagt:

    Moin,

    danke Mike.
    An alle, es gibt neuigkeiten „Quicksy“ Copying WhatsApp the right way
    https://media.ccc.de/v/dg-94

    Gruß
    pic

  6. Comment Avatar Daniel sagt:

    Weil es im Artikel nicht erwähnt wird; Es gibt jetzt Quicksy, dass versucht die Vorteile von Jabber mit denen von automatischer Kontaktsuche auf Telefonnummerbasis zu verbinden. Zumindest in dem Sinne das diese beiden Zielgruppe trotzdem noch mit einander reden können.
    Sprich Conversations für dich – Quicksy für deine Freunde die du sonst nicht von Jabber begeistern konntest weil es zu kompliziert ist.

    • Comment Avatar Anonymous sagt:

      Das gleiche macht http://www.kontalk.org auch schon seit langem.
      Kontalknutzer können auch mit jedem XMPP Nutzer chatten.

      Bisher zwar außerhalb von Kontalk nur unverschlüsselt da Kontalk GPG als Verschlüsselung benutzt.

      OMEMO ist aber schon in Arbeit.

      Und dann gilt auch:
      Conversations für dich – Kontalk für deine Freunde die du sonst nicht von Jabber begeistern konntest weil es zu kompliziert ist.

      Und die UI von Kontalk ähnelt noch mehr WhatsApp noch mehr als die von Quicksy.
      Da müssen die WhatsApp Nutzer nicht mal umlernen ;-)

      • Comment Avatar Daniel sagt:

        Es gibt zwei wichtige Unterschiede zu Kontalk.
        a) wenn ich als normaler Nutzer einen Kontalk/Quicksy user hinzufügen möchte habe ich es mit Quicksy usern deutlich einfacher. Quicksy JIDs sind +number@quicksy.im – Das kann man leicht eintippen. Bei Kontalk werden die Nummern unnötigerweise gehasht und das Ganze wird unnötig kompliziert.
        b) Ich kann meine normale Jabber ID ins Quicksy directory eintragen und somit Quicksy Nutzern die Gelegenheit geben meine Jabber ID auch leicht zu entdecken. Ich kann also Quicksy einem Freund geben, meine JID ins directory eintragen und es für den Freund ganz, ganz leicht machen. Würde dieser Kontalk benutzen müsste ich ihm dann wieder erklären wie er denn jetzt eine Jabber ID hinzufügt.

        Weiterer Vorteil; OMEMO und damit E2EE mit Konktakten auserhalb gibt es bei Quicksy *jetzt* und nicht erst ‚bald‘.

        Ich hab nichts gegen Kontalk. Aber diese beiden Unterschiede sind meiner Meinung nach wichtig wenn der Vergleich zu Kontalk gezogen wird.
        Design ist natürlich immer Geschmackssache.

        • Comment Avatar Anonymous sagt:

          1) Hash ist ein Vorteil, denn Telefonnummern variieren je nach Land, Hashes sind immer gleich
          2) Den Vorteil sehe ich nicht

        • Comment Avatar Der erste Anynomus sagt:

          Ich habe auch nichts gegen Quicksy.

          Im Gegenteil. Vielfalt ist ein Vorteil von XMPP.
          Und genau aus diesem Grund finde ich es wichtig neben Conversations und dessen Spinoff auch andere XMPP Clients (auch die in Entwicklung) zu erwähnen und deren Verbreitung und Weiterentwicklung zu unterstützen.

          Nur mit einem solchen Denken besteht überhaupt die die Möglichkeit um den etablierten wie WhatsApp die Stirn zu bieten.

          Sonst bleibt XMPP ein Nischenprodukt.

          Denn Facebook hat den Vorteil von Millionen (Dollar und Nutzern).
          Die XMPP Gemeinde hat primär Idealismus.

          Also sollten wir nicht DEN EINEN Client puschen, sondern die Vielfalt fördern.

          Oder?

  7. Comment Avatar Anonymous sagt:

    Die Beobachtungen sind alle gut und richtig, allerdings betreffen sie nahezu alle Server-Client-Infrastrukturen, bei denen die Kommunikation über eine (oder mehrere) zentrale Komponente(n) abgewickelt wird. Ein (Server-)Administrator ist nunmal die höchste Instanz auf einem System – mit allen Vor- und Nachteilen.

    Bei Signal (von dir selbst empfohlen) werden sämtliche Kontaktdaten auf den Clients verwaltet und landen nie im Klartext auf den Servern. Dasselbe gilt für das eigene Profil und Statusinfos wie Lesestatus.

    • Comment Avatar Anonymous sagt:

      Wenn ich das richtig verstanden habe werden die Telefonnummern bei Signal gehasht und (natürlich) zur Verwaltung an die Server geschickt.

      Wenn ich mein Adressbuch nun mit Signal abgleiche, werden die Nummern wieder gehasht und jeweils ein Teil des Hashs übertragen. Signal liefert dann alle Hashs, die mit diesem Bruchstück beginnen und am Client wird der Hash des Telefonbuchs mit dieser Menge abgeglichen.

      (Ganz grob beschrieben)
      Nicht ideal, aber schon mal deutlich besser, als direkt der gesamte Adressbuch zu übertragen.

      • Comment Avatar Anonymous sagt:

        Der Abgleich des lokalen Adressbuchs mit Signal-Servern ist aber optional. Wenn Signal kein Zugriff auf das Adressbuch erhält oder gar keine Kontakte gespeichert sind, kannst du Signal ganz normal nutzen. Du musst dann nur manuell die Telefonnummer deiner Gesprächspartner beim ersten Mal eingeben. Bei WA funktioniert das übrigens nicht.

      • Comment Avatar i sagt:

        Dann hat man vermutlich auch Leute in der Kontaktliste, die man garnicht in der Kontaktliste haben möchte (weil man deren Telefonnummer eben haben muss)?

    • Comment Avatar Mike Kuketz sagt:

      Das ist korrekt. Signal wäre ebenso ein weiteres Beispiel neben Briar.

    • Comment Avatar i sagt:

      Auch wenn die Telefonnummern nicht im Klartext auf dem Server landen… auch über den Hash lässt sich doch nachvollziehen, „wer-wen-kennt“. => gleiches Problem wie bei WhatsApp, nur das aber kein Facebook dahinter steckt.

  8. Comment Avatar Rainer sagt:

    Interessant, vor allem, weil ich vor kurzem meinen eigenen Synapse (=Matrix) Server aufgesetzt habe. Ich finde einige der oben angesprochenen Punkte sind hier gut gelöst. So kann man sich eben zum Beispiel mit Nummer, oder E-Mail oder Benutzernamen registrieren.
    Der aktuelle Client ist auch für alle Plattformen verfügbar, wobei man dazu sagen muss, dass er aktuell wohl etwas unübersichtlich ist. Aber immerhin noch so intuitiv, dass sogar meine Mutter den Messenger benutzt :D Und eine neue GUI ist auch in Arbeit, die das alles aufräumen soll.
    Einige Freunde sind auch mit Freude von Jabber zu Matrix umgestiegen, da es immer wieder zu Problemen kam und sie mit einigen Funktionen nicht zufrieden waren – wobei ich hier keinen eigenen Server hatte.

    Von den Bridges konnte ich bisher nur GitHub direkt erleben, Signal, Telegram Bridge konnte ich noch nicht testen. IRC Bridge gibt es, funktioniert auch, hat aber bei mir manchmal zu Problemen geführt. Die Geschwindigkeit wird afaik auch immer besser, aber die Auslastung muss ich selber erst noch ein bisschen im Auge behalten.

    Bridge Matrix XMPP wär natürlich eine super-Sache, dann können die XMPP-Fans bei XMPP bleiben und alle, die wechseln wollen, können eben jenes machen. :)

  9. Comment Avatar Thomas sagt:

    Ein schöner Artikel, danke dafür.
    Im Grunde bin ich auch ein XMPP-Fan, aber mangels moderner Clients bin ich nicht zu letzt durch deine Artikel zu Matrix/Synapse gewechselt. Echte Vorteile für mich:
    – es gibt Clients für Windows, Linux, iPhone und Android (mir ist sehr wichtig am Rechner UND mobil schreiben zu können
    – kann Text und Bilder verschicken, aber leider weder Kontakte noch Standortdaten teilen
    – kann Telefonie und Videochat in recht guter Qualität
    – Riot kann auch Videosharing des Desktops – sehr hilfreich

    Nachteile aus meiner Sicht:
    – Verschlüsselung aktivieren geht, ist aber sehr gruselig in der Bedienung
    – Es gibt (noch?) keine guten Client, der mehrere Konten verwalten kann
    – Mit fehlen die „Whatsapp-Goodies“ wie Kontakte und Standortdaten teilen

    Ich kenne keinen XMMP-Client (oder liegt auch auch mit am Prosody-Server), der mehr als reinen Text und sinnfreie Smilies schicken kann. Und fürs iPhone gibt es eigentlich gar keinen Client.

  10. Comment Avatar i sagt:

    „Ihr könntet allerdings auf den Messenger Signal hinweisen bzw. dessen Vorteile hervorheben, der eine starke Ähnlichkeit zu WhatsApp aufweist, aber vieles besser macht.“

    => hier werden AFAIK allerdings auch die Telefonnummern übertragen. Das finde ich suboptimal, auch wenn es nicht zu Facebook geht.

    Das handelt Threema besser!!! Das ist allerdings nicht OpenSource…

    Es gibt nur Kompromisse.

    Bisher konnten wir WhatsApp und Facebook aus dem Weg gehen. Wir hatten noch nie einen Account. Das wird aber nach meiner Einschätzung zunehmend schwieriger, da Eltern, Vereine und Nachbarschaft etc. sich offenbar recht häufig über WhatsApp organisieren. Bisher waren wir dann eben einfach Außen vor (IMHO bisher ohne wirklich Nachteile – aber ob das so bleibt).

  11. Comment Avatar Wulf sagt:

    Üblicherweise bin ich Deiner Meinung, aber in meiner Kommunikation mit Nutzern von Whatsapp/Facebook kann und will ich Herabwürdigung nicht vermeiden.
    Wer ohne mich zu fragen meine Kontaktdaten an 3. weiter gibt die bekannt dafür sind sich nicht um die DSGVO zu scheeren muss zu recht mit Gegenwind rechnen!

    Ich rufe hiermit dazu auf, Nutzer auf zu fordern dies zu unterlassen!

  12. Comment Avatar pew sagt:

    Google-Abhängigkeit: Signal funktioniert problemlos auf googlefreien Geräten und weicht dort auf WebSockets aus, um Nachrichten zu »pushen«.

    Bedeutet das, daß Du Signal lediglich zum chatten verwendest und nicht für voipcalls mit Signal?

    Ich frage deshalb, weil wer Dein ASN-Script verwendet, wird keine Verbindung zum (google-) Spiegelserver für die Voip-Verbindung aufbauen können, der von Signal verwendet wird (zumindest war das damals noch so).

  13. Comment Avatar Knödelsuppe sagt:

    Du schreibst, dass du Signal und Conversations beruflich nutzt. Wie machen das deine Kunden? Installieren die Conversations oder Signal? Wie ist das mit dem Datenschutz dann? Kundendaten auf amerikanischen Signal Servern? Kann ich mir nicht vorstellen.

  14. Comment Avatar Alex sagt:

    Zum Thema Zielgruppen (bzw. unterschwellig ja Gruppenzwang):
    Diese WhatsApp „Kita-Eltern“ und „Schule-Eltern“ Gruppen kenne ich -mangels WA- nur aus zweiter Hand, aber nach übereinstimmenden Berichten der „Miteltern“ die in diesen Gruppen sind, artet es -zumindest bei uns- gerne mal in Spam aus (im Sinne von: Es werden absolute Nichtigkeiten kommuniziert & auch kommentiert). Das hat zur Folge, das diese Gruppen dann fragmentieren bzw. sich einige Elternteile -trotz Whatsapp-Nutzung- sich dort komplett ausklinken. Dies ist natürlich ein soziales Phänomen und Technologie/Protokoll unabhängig.

    Was ich aber damit sagen will: Der „Zwang“ in diese Guppen zu sein (und damit WA nutzen zu „müssen“) ist sehr viel geringer als es vielleicht in der Draufsicht scheint.

    Die Kommunikation mit den Kita-Betreuern läuft über spontane Türgespräche beim Abholen/Bringen (natürlich _nicht_ jeden Tag), die Klassenlehrerin hat direkt beim erstem Elternabend deutlich gemacht das sie am liebsten keine persönliche Kommunikation im den Eltern wünscht (wenn Sie etwas besprechen möchten, lassen Sie sich einen Termin im Sekretariat geben) und fackelt alles andere über Zettel im Hausaufgabenheft ab.

  15. Comment Avatar moejoejay sagt:

    Ich verstehe nicht warum Signal immer noch auf die Telefonnummer als Identifer beharrt.

    Seit dem „ss7 Flaw“ kann man dass doch nicht mehr ernsthaft in Erwägung ziehen zumal als Messenger der sich Sicherheit auf die Fahnen geschrieben hat.. oder ?

    Oder hat Signal einen Weg gefunden, dass zu kitten .. ich wüßte aber nicht wie.

    grüsse

  16. Comment Avatar Wolf sagt:

    Je älter ich werde, desto wichtiger ist mir Punkt 2 Deines Beitrags. Respekt verlangt auch, sich selbst zu zügeln beim erhobenen Zeigefinger und der Wortwahl. Ich würde mir wünschen, dass Du das als Vorbild in Deinen Beiträgen auch selbst noch deutlicher tust.

    Das ist nicht einfach, zugegeben, aber ich denke es gehört sich. Nicht alle WhatApp-Nutzer sind „bequem“, Google ist eine „Datenkrake“, kann man aber auch als „Datensammler“ oder „Datensenke“, weniger negativ formulieren. Nicht jeder, der etwas von Google/Microsoft/Apple verwendet ist automatisch dumm oder unwissend oder uninteressiert. Nicht jeder, der ein Facebook Account hat ist leichtsinnig, unverantwortlich oder schert sich nicht um seine Daten.

    Oftmals sind es Zwänge, die die Nutzung dieser Dienste forciert. Der Schüler der – wenn er nicht ausgegrenzt sein will – den gleichen Chat verwendet wie die Schulfreunde, der Behinderte, der mangels ordentlicher Unterstützung seiner Hilfsgeräte eben auf den Chat eines bestimmten Herstellers angewiesen ist, etc.
    Etwas wie den existierenden sozialen Druck, einen bestimmten Messenger zu verwenden, mit erhobenem Zeigefinger abzutun und Aussagen wie „ich fordere diese Leute auf…“ (kam wieder mal in den Kommentaren) gehen _völlig_ am Thema vorbei. Das ist in einem gewissen Maß sogar sehr arrogant, auch wenn mir die positive Intention natürlich klar ist.

    Viele Menschen sind sich ihrer Fehler bewusst; dass z.Bsp. der Messenger, den sie gerade nutzen nicht ideal ist. Wenn sie dann aber obendrein dafür verspottet werden oder sich durch arrogantes Verhalten zurückgesetzt oder düpiert fühlen, sind sie noch weniger als sonst bereit über eine Änderung ihres Verhaltens nachzudenken. Damit helfen wir uns allen nicht.

    Das funktioniert nur in dem wir den Leuten die Chance geben, ihr Gesicht zu wahren. Und wenn das bedeutet dass es auch morgen noch WhatsApp/Facebook/Google/“Cloud“/…-Nutzer gibt, dann ist das so. Es ist schon richtig sie darauf hinzuweisen, dass etwas nicht gut ist, aber lasst uns Attribute wie „bequem“, „faul“, „unverantwortlich“, etc. weglassen.

  17. Comment Avatar Ben sagt:

    Hallo und vielen Dank für diesen Artikel!

    Ich denke, bei all dem Sinn für Datenschutz und Privatsphäre dürfen wir eines nicht vergessen: Der Mensch ist bequem.

    Ich denke nicht, dass sich Systeme wie XMPP oder auch nur irgendein anderer Messenger neben WhatsApp durchsetzen wird, solange die breite Masse ihre bequeme Lösung hat.

    Einen anderen Messenger zu nutzen, ganz gleich welchen, stellt für die allermeisten einen Rückschritt dar oder zumindest eine Unbequemlichkeit. Das ist ein gesamtgesellschaftliches Problem. Der Mensch liebt es einfach und bequem.

    Signal, Threema, Briar und wie sie alle heißen in allen Ehren – die leisten Tolles – aber den überwiegenden Anteil der Bevölkerung interessiert das rein garnicht und so wird es gesellschaftlich einfach kein Zurück mehr zu althergebrachten Tugenden geben. Die Gesellschaft kennt nur vorwärts und kein Rückwärts.

    Meiner Meinung nach ist das Thema Datenschutz und digitale Privatsphäre tot. Leider.

HilfeWenn du konkrete Fragen hast oder Hilfe benötigst, sind das offizielle Forum oder der Chat geeignete Anlaufstellen, um dein Anliegen zu diskutieren. Per E-Mail beantworte ich grundsätzlich keine (Support-)Anfragen – dazu fehlt mir einfach die Zeit. Kuketz-Forum

Abschließender Hinweis

Blog-Beiträge erheben nicht den Anspruch auf ständige Aktualität und Richtigkeit wie Lexikoneinträge (z.B. Wikipedia), sondern beziehen sich wie Zeitungsartikel auf den Informationsstand zum Zeitpunkt des Redaktionsschlusses.

Kritik, Anregungen oder Korrekturvorschläge zu den Beiträgen nehme ich gerne per E-Mail entgegen.