Jabber/XMPP hat mich und andere Nerds seit vielen Jahren begleitet. Die Software ist OpenSource und ein weltweites Netz von tausenden Servern stellt sicher, dass Jabber nicht juristisch durch gesetzliche Vorgaben kompromittiert werden kann. Übergriffe auf die Privatsphäre durch Datendiebstahl (z.B. Adressbücher) hat es bei Jabber/XMPP nie gegeben. Der Account kann frei gewählt werden, unabhängig von der Telefonnummer.
Bei der Ende-zu-Ende Verschlüsselung gibt es mehrere Alternativen:Off-the-Record (OTR) wurde 2001 mit dem Ziel entwickelt, möglichst einfach einsetzbar zu sein. OTR ist nicht Multi-Device fähig und verschlüsselt nur direkte Chats. Gruppenchats und Dateitransfer werden nicht verschlüsselt.
OpenPGP wurde bereits bei der Verschlüsselung von E-Mail behandelt. Die Erstellung und Austausch der Schlüssel ist etwas komplizierter als bei OTR und OMEMO. Die Vertrauenswürdigkeit der Verschlüsselung muss aber nicht extra verifiziert werden, da sie durch das Vertrauen in die OpenPGP-Schlüssel gegeben ist. OpenPGP verschlüsselt nur Chats.
Bei OpenPGP gibt es zwei Standards. Die meisten Jabber Clients implementieren XEP-0027, der inzwischen für obsolet erklärt wurde, da er einige Sicherheitslücken enthält. Der neuer XEP-0373 ist bisher noch als "experimentell" gekennzeichnet.
OMEMO (OMEMO Multi-End Message and Object Encryption, XEP-384) ist die neueste Ende-zu-Ende Verschlüsselung für Jabber/XMPP. Sie basiert auf Axolotl Ratchet, das für Signal App entwickelt wurde. Sie bietet wie OTR einen autom. Schlüsseltausch, Forward Secrecy und Deniability. Zusätzlich bietet OMEMO verschlüsselte Offlinenachrichten und verschlüsselten Dateitransfer via HTTPUpload. Mit XEP-391 gibt es einen Standard für den verschlüsselten Jingle Dateitransfer, der bisher aber nur von wenigen Jabber Clients umgesetzt wird. (Man kann sich nicht darauf verlassen, das dieser Transfer von Dateien verschlüsselt erfolgt.)
Im Vergleich zu den im Punkt Sicherheit führenden Messengern hinkt Jabber/XMPP bei der Umsetzung moderner Sicherheitsfeature hinterher. Die Ursachen dafür liegen in der föderalen Serverstruktur und der Community-basierten Entwicklung. Gerade diese beiden Punkte sind für Open Source Dogmatiker die Pluspunkte von Jabber/XMPP und werden vehement verteidigt, ohne die resultierenden Nachteile bezüglich Sicherheit zu erwähnen.
Einige Bespiele für kryptografische Schwächen bei Jabber/XMPP:Certificate Pinning für die TLS Transportverschlüsselung zwischen Apps und Servern ist seit Jahren Bestandteil der Sicherheitsempfehlungen für die Entwicklung von Smartphone Apps, um Angriffe auf die TLS Verschlüsslung zu verhindern, die IT-Sicherheitsforscher bereits 2009 in der wiss. Arbeit Certified Lies - Detecting and Defeating Government Interception Attacks against SSL beschrieben haben.
Threema und Signal App nutzen CA-Pinning, um diese Angriffe zu verhindern.
Bei Jabber/XMPP ist es aufgrund der föderalen Infrastruktur nicht möglich Certificate Pinning einzuführen. Im Gegensatz zur Threema oder Signal ist Jabber/XMPP damit weiterhin anfällig für man-in-the-middle Angriffe auf die TLS Verschlüsselung mit gefakten TLS Zertifikaten. (Einige Jabber Client wie ChatSecure oder CoyIM speichern die zuletzt verwendeten SSL Zertifikate der Server und warnen bei unerwarteten Änderungen, um diese Schwäche teilweise zu kompensieren. Die Warnungen muss man allerdings verstehen und nicht einfach ohne Nachdenken auf "Ok" klicken.)
Alle Kontaktlisten, Mitgliedschaften in Gruppenchats und persönliche Informationen wie Profilfotos u.ä. (VCards) werden bei Jabber/XMPP unverschlüsselt auf den Servern gespeichert, damit man von unterschiedlichen Geräten mit unterschiedlichen Clients darauf zugreifen kann (siehe: RFC 6121).
Neben den Techies (Admins der Server) haben auch Behörden darauf Zugriff. Die im Rahmen des Gesetzentwurfes zur Bekämpfung von Rechtsterrorismus und Hasskriminalität vorgelegten Anpassungen am Telemediengesetz sollen es jedem Dorfpolizisten ohne richterliche Prüfung erlauben, diese Daten abzurufen.
Bei Threema und Signal App werden diese Daten ausschließlich auf den Clients gespeichert. Die Server Betreiber haben keine Informationen über Kontaktlisten, Mitgliedschaften in Gruppenchats, Profilfotos o.ä. Das schränkt die Flexibilität bei der Verwendung unterschiedlicher Geräte etwas ein zugunsten der Sicherheit.
Signal App und Threema haben ein Sicherheitskonzept, bei dem die Ende-zu-Ende Verschlüsselung der gesamten Kommunikation zwischen den Nutzern (inkl. Audio- und Videotelefonie sowie Gruppenchats) fester Bestandteil und durch Audits bestätigt ist.
Bei Jabber/XMPP sind bisher alle Versuche einer Ende-zu-Ende Verschlüsselung unvollständig und können nicht sicherstellen, dass die gesamte Kommunikation zwischen zwei oder mehreren Partnern sicher verschlüsselt wird.
Das Audit von OMEMO zeigte, das nicht-verifizierte Verbindungen anfällig für Man-in-the-Middle Angriffe sind, die den Multi-Device Support von OMEMO ausnutzen. Ein Man-in-the-Middle kann ein zusätzliches Gerät im Namen des Opfers registrieren und dann die verschlüsselten Chats mitlesen, ohne dass das Opfer es bemerkt. Nach dem Audits wurde die Möglichkeit der Verifikation von Schlüsseln eingeführt, die den Multi-Device Support (ursprünglich als Killerfeature von OMEMO promotet) einschränkt. (Das die gegenseitige Verifikation der Fingerprints der Schlüssel für eine größere Gruppe von Nicht-IT-Nerds praktisch umsetzbar ist, scheint mir zweifelhaft.)
Threema und Signal App sind gegen vergleichbare Angriffe robust, da man ein zusätzliches Gerät für einen Nutzer nicht ohne physischen Zugriff auf das entsperrte Smartphone mit dem Hauptaccount des Nutzers hinzufügen kann. Eine gegenseitige Verifizierung der Schlüssel ist möglich, aber wesentlich weniger wichtig.
Server | Bemerkungen |
---|---|
conversations.im | kostenpflichtig (8 € pro Jahr), von XMPP-Profis betreut |
draugr.de | seit 2005 online, spenden-finanziert |
dismail.de | ebenfalls spenden-finanziert, mit Webchat Interface |
mailbox.org | nur für Kunden von mailbox.org |
jabber.cat | auch Frauen können IT und die Jabber-Katze ist gut |
trashserver.net | mit Spenden finanziert, mit Webchat Interface |
Mit Conversations für Andoid oder ChatSecure für iPhones stehen moderne Apps für Smartphones zur Verfügung. Man kann OMEMO und OpenPGP für die Verschlüsselung nutzen (bei ChatSecure auch OTR) und den OrBot als Anonymisierungsdienst.
Für Linuxer gibt es mit Dino.im einen modernen XMPP Client für den Desktop.