BLOG

Technik => Allgemein => Thema gestartet von: Jo am 2023-08-17 | 20:26:16

Titel: Komm mit zu MATRIX
Beitrag von: Jo am 2023-08-17 | 20:26:16
Stand 2025-April

MATRIX (https://matrix.org/) ist ein Chat-Protokoll und dezentrale Alternative zu Jabber/XMPP mit Ende-zu-Ende-Verschlüsselung. Die Serverkomponenten von Matrix sind Open Source, und der Aufbau einer föderalen Infrastruktur ist möglich und gilt als sehr sicher. Jeder kann einen eigenen Server betreiben, der mit allen anderen Servern im Netzwerk kommunizieren kann, aber nicht muss. Eine der Hauptfunktionen von Matrix ist die Möglichkeit, durch Bridging andere Kommunikationsdienste wie WhatsApp, Signal oder Telegram einzubinden. Und das Beste daran? Um die Matrix zu nutzen, braucht man keine rote Pille zu schlucken – und das ganz ohne in einen Kaninchenbau zu fallen! :cool:

(https://secure.jolichter.de/smf/tutorials/matrix/Element_Manjaro.jpg)

Matrix lässt sich mit einer Vielzahl an Client-Apps nutzen, die für nahezu alle Plattformen verfügbar sind – darunter auch Smartphones. Zusätzlich kann man Matrix ganz bequem über einen Webclient im Browser verwenden, was besonders praktisch ist, wenn man unterwegs oder am fremden Rechner ist.

Ich persönlich nutze Element – sowohl auf dem Desktop als auch im Browser. Unter Manjaro lässt sich die Desktop-Version ganz einfach über das Terminal installieren:
sudo pacman -S element-desktopDeinstallieren:
sudo pacman -Rns element-desktop
Alternativ kann Element auch per Flatpak aus dem Flathub-Repository installiert werden:
flatpak install flathub im.riot.RiotDeinstallieren:
flatpak uninstall --delete-data im.riot.Riot
Für mobile Geräte stehen mehrere bekannte Clients zur Auswahl, die sich in Design, Bedienung und Funktionsumfang teils deutlich unterscheiden:


Alle genannten Apps sind Open Source und werden aktiv weiterentwickelt. Welche App am besten passt, hängt vom eigenen Fokus ab - sei es einfache Bedienung, Performance oder spezielle Features wie erweiterte Benachrichtigungen oder Multi-Account-Unterstützung.

Um die Beziehung zwischen Matrix und Element oder anderen Clients zu verdeutlichen, kann man Matrix als das gesamte E-Mail-System betrachten, während Element, FluffyChat oder SchildiChat einer spezifischen E-Mail-Anwendung entspricht.

Bei Matrix handelt es sich um ein offenes, dezentralisiertes Protokoll. Die meisten Matrix-Nutzer nutzen den Homeserver von matrix.org, der aufgrund der hohen Nutzerzahl zeitweise überlastet ist. Zudem ist dies ist für eine dezentrale Hierarchie suboptimal. Idealerweise wird empfohlen einen eigenen Homeserver zu hosten, aber nicht jeder hat die Mittel dazu... wie auch immer, ihr solltet einen anderen Homeserver als den Standard matrix.org nutzen, es gibt gute Alternativen, z.B.:


Nach der Installation einer Client-App kann man einen Account auf einem beliebigen Server entsprechend den eigenen Präferenzen frei wählen, unabhängig von der Telefonnummer. Diesen Server nennt man im Matrix-Jargon den 'Homeserver'.



🔐 Ende-zu-Ende-Verschlüsselung (E2EE)
Element/Matrix nutzt standardmäßig Ende-zu-Ende-Verschlüsselung. Das bedeutet: Nur du und deine Gesprächspartner können eure Nachrichten lesen - niemand sonst, auch nicht der Server oder Dritte. Wenn du einen neuen Raum erstellst, kannst du die Verschlüsselung deaktivieren. Ist sie einmal aktiviert, lässt sie sich später nicht mehr ausschalten.

Die Verschlüsselung basiert auf digitalen Schlüsseln, die deinem Account und deinen Geräten zugeordnet sind. Diese Schlüssel musst du selbst erstellen und sicher aufbewahren. Gehen sie verloren, verlierst du den Zugriff auf deine verschlüsselten Nachrichten.

🗝 Wiederherstellungsschlüssel und Passphrase
Nach dem Login wirst du aufgefordert, deine Sitzung zu verifizieren. Das stellt sicher, dass deine Geräte als vertrauenswürdig gelten und Nachrichten sicher entschlüsselt werden können.

Ich empfehle dir, eine Passphrase festzulegen. Diese gibst du bei jedem Login einmalig ein, um dich zu verifizieren – und musst nicht jedes Mal den langen Wiederherstellungsschlüssel eingeben.
Die Passphrase macht den Umgang mit der Verschlüsselung deutlich einfacher und reduziert mögliche Fehler. Speichere die Passphrase genau wie dein Loginpasswort sicher ab (z.B. in KeePassXC).



Leider ist es oft schwierig, z.B. vollständig auf WhatsApp (im weiteren Text als WA bezeichnet) zu verzichten, gerade weil die App so weit verbreitet ist. Für viele Menschen ist WA ein unverzichtbarer Bestandteil des täglichen Lebens – und das, obwohl die Nutzung der App erhebliche Datenschutzprobleme mit sich bringt. Sobald Alternativen zur Sprache kommen, wird sogleich das Killerargument vorgebracht: "Aber fast alle meine Freunde und Bekannten sind bei WA."

Um dieses Dilemma zu lösen, habe ich eine Bridge für WA eingerichtet. Dadurch kann ich nahtlos mit meinen Client-Apps kommunizieren. Ein zusätzlicher Vorteil ist, dass es mir erlaubt, WA simultan auf mehreren Geräten zu verwenden. Es ist jedoch zu beachten, dass nicht alle Server diese Bridges unterstützen und WA mindestens alle 14 Tage einmal gestartet werden muss, ansonsten ist ein neuer WA Bridge Login notwendig.

Persönlich ziehe ich immer die Matrix vor – ja, ich lebe gerne in der Matrix. :bounce:


TIPPS:

Hinweis: Viele Homeserver-Anbieter bieten wegen hoher Auslastung keine oder nur eingeschränkte Matrix Bridges an – verständlich, da sie oft spendenfinanziert sind. Ein eigener Homeserver ist die beste Lösung, aber nicht für alle leicht umzusetzen.

Als Matrix-Server eignen sich beispielsweise tchncs.de, nope.chat oder freiburg.social - in Kombination mit einem Bridge-Bot (z.B. mautrix-bridges, Go-Version) für WA. Das ist besonders praktisch für Nutzer, die sich (noch) gegen Matrix sträuben und lieber bei WA bleiben möchten.

Schritte zur Einrichtung (Beispiel: tchncs.de):
1. **Einladen des Bots**:
  - Erstelle einen privaten Raum mit E2E-Verschlüsselung (benenne den Raum z.B. WhatsApp-Bridge).
  - Lade den Bot `@whatsappbot:tchncs.de` in den Raum ein.
  - In der Regel ist die Syntax whatsappbot:servername.tld, falls du einen anderen Server nutzt.

2. **Anmeldung**:
  - Sende die Nachricht `!wa login qr`.
  - Die Einrichtung erfolgt ähnlich wie bei WA Web mittels QR-Code.

3. **Hilfe erhalten**:
  - Sende `!wa help`, um zur Hilfeseite zu gelangen.

4. **Kontakte und Gruppen synchronisieren**:
  - Bei aktiviertem Double Puppeting erfolgt die automatische Erstellung von Benutzern und Gruppenräumen.
  - Mit neuem WA-User chatten: !wa start-chat 49173555555555
  - WA-Gruppe mit einem Einladungslink erstellen: !wa join https://chat.whatsapp.com/EinladungsLink  (ungetestet).

5. **Element Slash-Befehle**:
  - In Element gibt es Slash-Befehle, die dir verschiedene Funktionen bieten. Mit `/help` kannst du dir alle verfügbaren Befehle anzeigen lassen. Allerdings muss dein Client (Element) solche Befehle unterstützen, und du brauchst Admin-Rechte dafür.

WhatsApp-Nutzer in Element: Räume oder Direktnachrichten?

Ohne aktiviertes Double Puppeting erscheinen WA-Nutzer in Element typischerweise als Räume. Wird Double Puppeting aktiviert, erkennt Element diese Kontakte korrekt als Personen und stellt die Chats als Direktnachrichten (DMs) dar. Falls du bereits bestehende Räume nachträglich in DMs umwandeln möchtest, kannst du dafür den Befehl `/converttodm` verwenden.

So funktioniert's:

Bitte beachte, dass diese Tipps basierend auf meiner persönlichen Erfahrung erstellt wurde und einige Befehle bei dir eventuell nicht funktionieren könnten.



Seit März 2025 betreibe ich meinen eigenen Heim-Server lmatrix.de (Privater Chat: @krischel:lmatrix.de). Der öffentliche Chatraum #kaffee-ecke:lmatrix.de lädt alle Interessierten zum Austausch ein (Spammen zwecklos – der Rauswurf kommt prompt und gnadenlos). Die universelle URL matrix.to/#/#kaffee-ecke:lmatrix.de (https://matrix.to/#/#kaffee-ecke:lmatrix.de) bietet eine einfache und benutzerfreundliche Möglichkeit, direkt auf diesen Raum zu verweisen. Sie stellt einen praktischen Link zu Matrix-Räumen, Benutzern oder Nachrichten bereit, ohne dass man an eine spezifische Anwendung gebunden ist. Die Syntax setzt sich aus dem festen Teil https://matrix.to/#/ und der spezifischen Raum-ID oder -Adresse zusammen – in diesem Fall #kaffee-ecke:lmatrix.de.  Wer diesem Link folgt, wird zu einer Seite weitergeleitet, die den Beitritt über einen Matrix-Client ermöglicht. Das ist vergleichbar mit einem 'mailto'-Link für E-Mail-Adressen, nur dass es für die Matrix-Kommunikation gedacht ist (The matrix.to URL scheme (https://github.com/matrix-org/matrix.to#optional-parameters)).

Update April 2025: Die Matrix.org-Stiftung hat mit dem neuen MatrixRTC-Technologiestack einen bedeutenden Schritt zur Modernisierung der Echtzeitkommunikation gemacht. Er löst das bisherige, auf WebRTC 1.0 und Jitsi basierende System ab und wurde gezielt für höhere Leistung, bessere Skalierbarkeit und stärkere Sicherheit entwickelt (Link (https://element.io/blog/end-to-end-encrypted-voice-and-video-for-self-hosted-community-users/)). Seit dem 23. April 2025 läuft MatrixRTC auf meinem Heimserver - damit sind nun nicht nur verschlüsselte Sprachanrufe, sondern auch Video-Konferenzen mit Ende-zu-Ende-Verschlüsselung möglich.

Hinweis in eigener Sache:



Metadaten
Nicht unerwähnt bleiben sollte, dass bei Matrix – wie bei XMPP – die größte Stärke gleichzeitig die größte Schwäche ist: die Föderalität. Wenn ein Matrix-Server föderiert wird, gehört er zu einem größeren Netzwerk. Doch diese Vernetzung führt auch zu Kontrollverlust, da alle beteiligten Server standardmäßig Kopien der Kommunikation dauerhaft speichern. Auf dem eigenen Matrix-Server (Homeserver) kann eine Nachricht gelöscht werden, aber die Umsetzung auf anderen Servern ist ungewiss. Vertrauen in den eigenen Administrator und die anderen beteiligten Server ist im Matrix-Universum essenziell.

Während die Nachrichten zwar Ende-zu-Ende-verschlüsselt sind, gilt das nicht für die Metadaten. Dies muss nicht zwingend als Nachteil betrachtet werden. Dennoch sollte man sich darüber im Klaren sein, dass die Vermeidung von Metadaten, z.B. der Kommunikationsverlauf, bei Matrix nicht im Fokus steht. Diese Metadaten können Einblicke in die Kommunikationsmuster und -gewohnheiten der Benutzer geben, auch wenn der Inhalt der Nachrichten selbst verschlüsselt ist. Es ist wichtig, sich bewusst zu sein, dass Ende-zu-Ende-Verschlüsselung nicht notwendigerweise alle Aspekte der Privatsphäre abdeckt, insbesondere wenn es um Metadaten geht – es sei denn, man verwendet einen eigenen Matrix-Server ohne die Föderalität.

Hier eine Analyse der gängigen Messenger-Dienste (ohne Gewähr):
(https://secure.jolichter.de/smf/tutorials/matrix/Analyse.jpg)
Auch wenn manche es behaupten, der Produktiv genutzte Server-Quellcode von Telegram, Threema und Signal ist nicht öffentlich zugänglich. Wenn überhaupt, ist nur die Client-Software dieser Messenger-Dienste Open Source.

Erklärung: Ein "Walled Garden" (zu Deutsch: "eingezäunter Garten") bezieht sich auf eine geschlossene Plattform oder ein Ökosystem, das darauf abzielt, Benutzer innerhalb seiner eigenen Dienste und Anwendungen zu halten, während der Zugang oder die Interaktion mit externen Diensten oder Ressourcen eingeschränkt wird. FOSS steht für "Free and Open Source Software", was auf Deutsch "Freie und Open-Source-Software" bedeutet. Es handelt sich um Software, deren Quellcode öffentlich zugänglich ist und die unter einer Lizenz veröffentlicht wird, die es Benutzern erlaubt, die Software frei zu verwenden, zu modifizieren und zu verbreiten.

Links: