SimpleX

- Lesezeit: 9 Minuten -

Allgemein

Evgeny Poberezkin (extern) ist der Gründer von SimpleX Chat - einer Messaging- und Anwendungsplattform, die ohne jegliche Benutzerkennungen auskommt. Nicht einmal Zufallszahlen werden zur Identifizierung von Benutzerprofilen verwendet.

Werbeversprechen

SimpleX ist 100% privat, by Design! Der erste Messenger ohne Benutzerkennungen Die privateste und sicherste Chat- und Anwendungsplattform. SimpleX Chat ist die nächste Generation der dezentralen Kommunikation, die zur Abwechslung mal NICHT auf Kryptowährungen basiert.

Auf der Projektseite ist ein interessanter Vergleich zu anderen Protokollen (extern) und auch in den FAQ (extern) gibt es dazu Informationen:

Was ist der Unterschied zu Matrix, Session, Ricochet, Cwtch usw., die ebenfalls keine Benutzeridentitäten erfordern?
Obwohl diese Plattformen keine echte Identität erfordern, stützen sie sich auf anonyme Benutzeridentitäten, um Nachrichten zu übermitteln - dies kann z. B. ein Identitätsschlüssel oder eine Zufallszahl sein. Die Verwendung einer dauerhaften Benutzeridentität, auch wenn sie anonym ist, birgt das Risiko, dass der Verbindungsgraph des Benutzers den Beobachtern und/oder Dienstanbietern bekannt wird, und kann dazu führen, dass einige Benutzer deanonymisiert werden. Wenn dasselbe Benutzerprofil verwendet wird, um sich mit zwei verschiedenen Personen über einen anderen Messenger als SimpleX zu verbinden, können diese beiden Personen bestätigen, dass sie mit derselben Person verbunden sind - sie würden in den Nachrichten dieselbe Benutzerkennung verwenden. Bei SimpleX gibt es keine gemeinsamen Metadaten zwischen Ihren Unterhaltungen mit verschiedenen Kontakten - eine Eigenschaft, die keine andere Messaging-Plattform hat.

Einschätzung: Werbeversprechen werden eingehalten, Schlagzeilen decken sich mit den Inhalten und führen nicht in die irre.

Konzept

SimpleX (für Android und iPhones) ist ein relativ junger Messenger mit einem interessanten Konzept zur Vermeidung von Metadaten. Benutzerprofile, Kontakte und Gruppen werden nur auf dem Client und nicht auf einem Server gespeichert.

Um die um die Anonymtät bei der Nutzung zu verbessern, kann man die IP-Adresse vor den Servern verbergen und sich mit den SimpleX-Servern über Tor verbinden.

Verschlüsselte Gruppenchats sowie Audio- und Videotelefonie sind ebenfalls möglich, falls kein Tor verwendet wird.

Der clevere Grundgedanke: Verbindungen sind nicht bidirektional. Das bedeutet, daß über eine Verbindung Nachrichten entweder nur gesendet oder nur empfangen werden können. Zur Kommunikation sind somit 2 voneinander unabhängige Verbindungen erforderlich und die beteiligten Server bekommt jeweils von den Nachrichten in die andere Richtung nichts mit.

Bewertung

  • positiv: gute Anonymität
  • positiv: es gibt keine Benutzerkennungen, so wie das bei anderen Systemen der Fall ist!
  • positiv: gute Ende-zu-Ende-Verschlüsselung mit „doppelter Ratsche (double ratchet)“
  • Vollständige Unabhängigkeit von Anbietern („providern“). Also nicht nur in dem Sinne, daß man (wie bei Mastodon oder XMPP) auch mit Nutzern (sowie der Software) anderer Anbieter kommunizieren kann. Sondern eben auch in dem Sinn, dass das Konto (besser das Gerät für den Zugang) nicht an einen Anbieter gebunden ist.
  • positiv: Messaging-Apps für Konsole (Desktop), iOS und Android
  • positiv: Client ist durchgängig quelloffen
  • positiv: Client für Smatphone, Desktop und auch Terminal
  • positiv: Server ist durchgängig quelloffen
  • positiv: eigene Server sind möglich (und erwünscht)
  • positiv: unterschiedliche (eigene) Anzeigenamen für jeden Kontakt im Inkognito-Modus
  • positiv: kein Google reCAPTCHA (Infos: https://dr-dsgvo.de/google-recaptcha (extern))
  • positiv: ohne Mindestalter nutzbar
  • positiv: Authentifizierung des Kommunikationspartners ist möglich
  • positiv: keine Kryptowährung
  • positiv: einfache Textformatierung durch Markdown
  • positiv: tragbare verschlüsselte Datenbank - das Profil kann auf ein anderes Gerät verschoben werden
  • positiv: keine Tracker in der Android-App (16 Berechtigungen): Exodus (extern)
  • positiv: lt. webbkoll (extern) keine Cookies von Dritten auf der Internetseite
  • positiv: deutsche Projektseite/Hilfe
  • pos./neg.: externe Sicherheitsprüfung (Audit) (extern; PDF) (audit), die im November 2022 veröffentlich wurde - ist jedoch kein „full audit“
  • pos./neg:: „Simplex ist eine relativ neue Entwicklung (die Apps wurden im März 2022 veröffentlicht)“ (extern)
  • negativ: keine Interoperabilität bzw. keine Schnittstelle zum Chatstandard XMPP
  • negativ: lt. webbkoll (extern) 2 Drittanfragen (third-party) auf der Internetseite

Funktionsweise

Kennung/ID

Die Identität, das Profil, die Kontakte und Metadaten sollen dadurch geschützt werden, daß es im Gegensatz zu anderen Messaging-Plattformen keine Identifikatoren gibt, die den Benutzern zugeordnet werden. Es werden weder Telefonnummern, Domain-basierte Adressen (wie E-Mail oder XMPP), Benutzernamen, öffentliche Schlüssel oder sogar Zufallszahlen verwendet, um Benutzer zu identifizieren. Niemand weiß, wie viele Leute die SimpleX-Server benutzen.

The first messenger without user IDs Other apps have user IDs: Signal, Matrix, Session, Briar, Jami, Cwtch, etc. SimpleX does not, not even random numbers.

Das stimmt - allerdings werden für Verbindungen dann doch Kennungen benötigt:

uses temporary anonymous pairwise identifiers of message queues, separate for each of your connections — there are no long term identifiers.

Es gibt also keine Benutzerkennungen wie bei anderen Systemen - die Art und Weise der verbindungsbezogenen Kennungen bzw. das Konzept ist jedoch in der Tat einmalig und verspricht nicht umsonst mehr Privatsphäre.

Da es keine feste/serververwaltete Benutzerkennungen oder Chatkonten gibt, werden beim Aufbau eines Chats Ende-zu-Ende verschlüsselte Sitzungen zwischen zwei SimpleX Clients eingerichtet. Die Server schieben nur die Datenpakete von A nach B durch das Netz und ermöglichen den Austausch von Offlinenachrichten.

Darüber hinaus gibt es die Möglichkeit, mit der SimpleX-Desktop-App direkt die Profile vom mobilen Gerät zu verwenden. Das ist allerdings nur möglich, wenn sich beide Geräte im selben Netzwerk befinden - ein wirkliche Synchronisation zwischen den Geräten (wie beim Chatstandard XMPP) gibt es jedoch nicht.

Kontakte hinzufügen

Das Hinzufügen von Kontakten (extern) kann per einmaligen Einladungslink/QR-Code geschehen, der dann über einen anderen Kanal wie E-Mail versendet wird - oder mann kann seine SimpleX-Kontaktadresse als QR-Code teilen, was eine Mehrfachverwendung ermöglicht.

Nachrichtenübermittlung

Da es keine klassischen Benutzerkennungen/Chatkonten gibt, gibt es auch keine Verifikation von Kommunikationspartnern. Um sicherzustellen, dass man wirklich mit dem gewünschten Gesprächspartner verbunden ist, kann der Aufbau einer Chat-Verbindung durch Scannen eines One-Time-QR-Code bei einem persönlichen Treffen erfolgen oder durch Versendung einer Einladung über einen sicheren, verifizierten Kanal. (Die Frage, warum man SimpleX nutzen sollte, wenn es bereits einen verifizierten und sicheren Kommunikationskanal gibt, kann man ganz allgemein nicht beantworten.)

Um Nachrichten zu übermitteln, verwendet SimpleX temporäre, anonyme, paarweise Identifikatoren von Nachrichten-Warteschlangen, getrennt für empfangene und gesendete Nachrichten - es gibt keine langfristigen Identifikatoren. Die Nutzung ist quasi so, als ob für jeden Kontakt eine eigene E-Mail oder ein eigenes Telefon genutzt würde.

Nachrichten werden per doppelter Ratsche Ende-zu-Ende-verschlüsselt und über offengehaltene Verbindungen per „push“ übertragen (kein pull) ??.

Ist der Empfänger nicht gleichzeitg online, so werden die Nachrichten auf einem Server bis zur Abholung/Löschung zwischengespeichert. (wie lange??)

Server

In der App sind zwar Server vorkonfiguriert - man kann jedoch einen beliebigen anderen SimpleX-Server oder auch einen selbst betriebenen SimpleX-Server eintragen. Man kann also selbst festlegen welcher Server für den Empfang der Nachrichten verwendt werden soll und jede Konversation kann so auf zwei verschiedene und voneinander unabhängige Server aufgeteilt werden.

Offlinenachrichten

… sind möglich. Die Zustellung von Offlinenachrichten (mehr Infos dazu bei Github (extern)) erfolgt über individuelle „Relay-Server“:

SimpleX speichert alle Benutzerdaten auf den Client-Geräten, die Nachrichten werden nur temporär auf den SimpleX-Relay-Servern gehalten, bis sie empfangen werden. …

Die maximale Speicherdauer beträgt 30 Tage - werden die Nachrichten in dieser Zeit nicht abgeholt, werden diese verworfen.

Push-Nachrichten

Dieser Blog-Beitrag behandelt das Design für Benachrichtigungen auf den Plattformen Android und iOS: https://simplex.chat/blog/20220404-simplex-chat-instant-notifications.html (extern)

In der Kürze:
Android: SMP-Server pushen die Nachrichten selbst, es werden keine Metadaten mit anderen Diensten geteilt, und es wird nichts verwendet, was nicht mit unseren Apps selbst gehostet werden kann.
iOS: Erfordert einen dedizierten Benachrichtigungsserver pro App, der ein Gerätetoken hat und einige Metadaten beobachten kann; Benutzer können ihn nur selbst hosten, wenn sie die App modifizieren und die App bei Apple registrieren (sie muss nicht im App Store sein, und Apple mag dort eigentlich keine Kopien, sie kann intern für eine Gruppe von Benutzern / Unternehmen sein - es gibt keinen Genehmigungsprozess für solche Apps).

Spezialwissen

Damit Sofortbenachrichtigungen unter iOS funktionieren, muß der Benutzer bei der Anmeldung entscheiden, ob Push-Benachrichtigungen verwendent werden sollen. Falls ja, erfolgt beim Starten der App eine DNS-Anfrage an den iOS-Push-Benachrichtigungsserver (ntf2.simplex.im / 139.162.221.251). Das ist nicht abschaltbar.

Der Entwickler schreibt dazu (per E-Mail): Es ist ein Kompromiss zwischen Privatsphäre und Bequemlichkeit. Für sicherheits- und datenschutzrelevante Szenarien sollte iOS eigentlich nicht verwendet werden.

Sitz

Die SimpleX Chat Ltd wurde am 20.10.2021 gegründet und hat den Sitz in Londen (20-22 Wenlock Road, London N1 7GU).


Verweise

Projektseite: https://simplex.chat/de (extern)
Quellcode: https://github.com/simplex-chat (extern)
F-Droid: https://f-droid.org/de/packages/chat.simplex.app/ (extern)
Aktueller Stand/Planung: Roadmap (extern)
Zum SimpleX-Protokoll: Github (extern)
Vergleich mit anderen Protokollen: Github (extern)
Zum Angriffsszenario: Thread-Modell (extern)

Bericht und Kurztest von Kuketz (extern)
Im Privacy-Handbuch (extern) wird SimpleX als „Exot mit besonderen Privacyfeatures“ geführt.

Fazit

Messenger, der gewisse Vorteile von serverbasierten Systemen (Offlinenachrichten) und serverlosen Systemen (Anonymität) verbindet.


SimpleX Logo