Was ist Matrix?

Vorwort

Die Welt ist voller Messenger und gefühlt nutzen die allermeisten WhatsApp, Telegram oder Signal. Dazu gesellen sich dann noch eher Community getriebene Projekte wie Discord, Slack oder Microsoft Teams. Alle haben ihre individuellen Vor- und Nachteile und wer sich dann noch die die üblichen Sicherheitsseiten anschaut (kuketz oder privacy-handbuch) wird schnell feststellen:
Es gibt nicht DEN einen Messenger, den alle toll finden und die Nutzung empfohlen wird.
Der eine ist gut bedienbar, der andere hochsicher, aber nicht für Freunde und Familie geeignet. Das Ziel des Ganzen hier ist auch nicht eine anonyme und behördenzugriffsresistente Plattform zu betreiben, sondern das wir alle sicher und souverän miteinander kommunizieren können, dabei die Kontrolle über unsere Daten behalten und ohne das alle unsere Daten kommerziell ausgeschlachtet werden. Dabei dürfen wir auch nicht die Menschen vergessen, die eben kein tieferes IT-Wissen mit sich herumtragen und glauben, dass eine Verschlüsselung in WhatsApp kryptografischer Voodoozauber ist.
Wir suchen also einen Dienst, der auf dem Desktop und Mobil per APP genutzt werden kann, die eigenen Daten schützt, verteilt (also ohne zentrale Abhängigkeiten) betrieben und verschlüsselt wird, aber dabei nutzerfreundlich bleibt, bei einem Verlust des Gerätes nicht alle Daten verliert, auch ohne Mobilfunknummer betrieben und mit einer eigenen eigenständign Adresse die weltweit von allen anderen erreicht werden kann. Wenn wir die Verschlüsselung kurz ausblenden, haben wir das sogar schon: Email! Dazu aber später mehr.

Über die individuellen Vor- und Nachteile gehen wir hier einmal kurz ein, zusammengefasst können wir aber festhalten:

  • Email: Verteilt, alt und kompliziert, aber jeder kann jeden erreichen. Datenschutz kompliziert.
  • Messenger: Zentralisiert, einfach, aber nur interner Nutzungskreis, oft Datenschutz fragwürdig, Metadaten werden kommerzialisiert.
  • Matrix: Verteilt und relativ einfach, jeder kann jeden erreichen, Brücke zu anderen IM Diensten verfügbar, Datenschutz freundlich.
  • Fazit: Matrix kombiniert Vorteile von Messengern und Email.

Wem weitere Erklärungen egal sind und es einfach nur noch ausprobieren möchte, dann hier entlang!
Wer jetzt noch Lust hat, meinen Gedankengang weiter zu verfolgen, dann weiterlesen!

Fehler oder Verbesserungsvorschläge bitte hier hin.

Inhalt und Struktur:

Schauen wir uns vorher mal die klassische Email an

Denn Email ist ein wunderbares Beispiel, wie verteilte Kommunikation funktionieren und jeder (wer möchte) einen eigenen Emailserver betreiben kann. Kurzgesagt: Es reicht eine eigene Domain, damit jeder auf der Welt jede andere Adresse einrichten und erreichen kann. Das war auch das Erfolgsrezept der Email und ist es heute noch.

Der Nachrichtenablauf bei Email ist wie folgt:

- ABSENDER A schreibt eine Email per Emailclient über seinen eigenen EMAILSERVER A an EMPFÄNGER B 
- EMAILSERVER A fragt MX Eintrag den DNS der Zieldomain für EMAILSERVER B: Welcher EMAILSERVER ist denn für DOMAINNAME zuständig?
- Antwort vom DNS wer EMAILSERVER B ist und genutzt werden soll.
- EMAILSERVER A schickt seine Email per SMTP an EMAILSERVER B.
- EMPFÄNGER B kann seine Emails vom EMAILSERVER B per POP3 oder IMAP abholen/empfangen.

Heutzutage betreiben aber immer weniger Menschen oder Organisationen einen eigenen Emailserver (für NAME@WUNSCHDOMAIN) und nutzen stattdessen einen freien Dienst (z.B. NAME@gmail.com), was aber eine nicht wünschenswerte Zentralisierung und Abhängigkeit erzeugt. Email wird zunehmend nur noch im professionellem Umfeld genutzt. Jugendliche nutzen es gar nicht oder nur selten. Trotzdem ist Email immer noch eine sichere Bank und Schlüsseldienst im Internet. Gerade für eine Zwei Faktor Authentifizierung wird Email neben SMS immer wichtiger.

Vor- und Nachteile bei Email

Vorteile:

  • Jeder kann es nutzen
  • Das Protokoll ist offen und verteilt
  • Es gibt keine Beschränkung über das genutzte Emailprogramm
  • Industriestandard

Nachteile:

  • Keine Verschlüsselung der eigentlichen Nachricht. Nur mit extra Erweiterung SMIME (kostenpflichtige Zertifikate) oder GPG (kompliziert).
  • Gesendete Nachrichten (z.B. aus Versehen) können nicht korrigiert werden.
  • Die Einrichtung des Emailclients (Emailservers für Empfang und den Versand) ist für viele Menschen eine (zu hohe) technische Barriere.
  • Für Gruppen und größere Diskussionen unübersichtlich und ungeeignet. Wir kennen und hassen alle die typische Mailflut.
  • Anhänge vergrößern Nachrichten unverhältnismäßig (um Faktor 1,6).
  • Formatierung der Nachrichten willkürlich und ineffizient (HTML vs. TXT vs. RTF).
  • Hohes Spamaufkommen und Einfallstor für Schadcode.
  • Das abzuwehren macht ein eigenes Hosting heutzutage sehr aufwendig.

Dann die typischen Instant Messaging Dienste an (IM)

Für einfache, kurze und schnelle Nachrichten wie Whatsapp, Telegram, Signal und Co ist Email nicht geeignet. IM Dienste sind extrem schnell und für den Benutzer einfach eingerichtet. In der Regel wird eine Emailadresse oder Mobiltelefonnummer als Benutzername vorausgesetzt. Eine Authentifizierung erfolgt per SMS/Zwei Faktor, teilweise sogar ohne Benutzeraktion. Daher kommunizieren die meisten Menschen über einen dieser IM Dienste. Wenn es dann noch um Gruppen und Social Media artige Funktionen geht, ist Email komplett raus. Geht es um Gruppen, stossen Messenger schnell an ihre Grenzen (Klassenchat lässt grüssen).

Eine gute Übersicht der Dienste ist hier zu finden: www.messenger-matrix.de

Der Nachrichtenablauf bei Messengern ist wie folgt:

- ABSENDER A schreibt eine Nachricht an EMPFÄNGER B über seine App.
- Die App sendet die Nachricht an IM Dienst X. 
- Es folgt eine interne Verarbeitung innerhalb des IM Dienst X Netzwerkes.
- IM Dienst X schickt die Nachricht an die App von EMPFÄNGER B.

Vor- und Nachteile bei Messengern

Jeder IM Dienst hat zwar eigene Besonderheiten und Ansprüche, aber folgende Vor- und Nachteile treffen auf die meisten der Top 5 zu:

Vorteile:

  • Für den Anwender sehr einfach einzurichten
  • Hohe Benutzerakzeptanz
  • Bei den meisten sind die Nachrichten Ende zu Ende verschlüsselt
  • Versehentlich oder falsche Nachrichten können oft im nachhinein gelöscht werden.

Nachteile:

  • Geschlossene Protokolle: Eine App, ein Dienst.
  • Nachrichten werden auf dem Mobiltelefon gespeichert. Ist dies defekt und gibt es kein Backup: Datenverlust. Ausnahme: Telegram.
  • Kommunikation nur innerhalb des Dienstes.
  • Kein eigenes Hosting möglich und die genutzten Protokolle sind nicht öffentlich.
  • Datenschutzrechtliche Risiken (Adressbuch wird auf IM Dienst X Server gespeichert), Hintertüren für Behörden.
  • Metadaten werden kommerziell zu Werbezwecken ausgenutzt.
  • Fällt der Dienst X aus, sind direkt Millionen von Menschen gleichzeitig betroffen.

Die Vorteile von Email und Messenger vereinigen?

Matrix ist ein quelloffenes Protokoll, welches von jedem Menschen genutzt werden kann. Es ist so verteilt wie Email, geht aber insbesondere auf die modernen Möglichkeiten der Kommunikation und Erreichbarkeit ein. Sei es Berechtigungen, Räume (Gruppen), Ende-zu-Ende Verschlüsselung oder Vertrauensstellungen zwischen Geräten. Das macht es z.B. für Behörden und Organisationen interessant, die damit eigene abgetrennte IM Dienste ihren Mitarbeitern anbieten können.

Wer keinen eigenen Matrix Server betreiben möchte, kann sich (so wie bei Email) bei einem freien Matrix Dienst registrieren: matrix.org oder mozilla.org. Eine Liste mit weiteren bekannten Homeserver ist hier zu finden.

Der Nachrichtenablauf bei Matrix ist wie folgt:

- ABSENDER A schreibt eine Nachricht an EMPFÄNGER B über seinen Matrix Client.
- MATRIXSERVER A liest "server"-Datei, die auf der Webseite DOMAINNAME liegt: Welcher MATRIXSERVER ist denn für DOMAINNAME zuständig?
- MATRIXSERVER A schickt seine Nachricht per MATRIX an MATRIXSERVER B.
- MATRIXSERVER B schickt die Nachricht an den Matrix Client von EMPFÄNGER B.

Damit haben wir den MATRIXSERVER für die Adressen @BENUTZER:DOMAINNAME. Ohne diesese hätten wir nur die Addressen @BENUTZER:MATRIXSERVER was nicht empfohlen ist. Resultat:
Ein MATRIXSERVER kann überall gehostet werden (auch z.B. Zuhause) und behält den kurzen DOMAINNAMEN als Teil des Benutzernamens.

Vor- und Nachteile bei Matrix

Vorteile:

  • Jeder kann es nutzen, auch mit einem eigenen Hosting/Server
  • Das Protokoll ist offen und verteilt.
  • Datenschutzfreundlich. Was nicht gewünscht ist, kann deaktivert werden. Auch ohne Telefonnummer oder Email nutzbar.
  • Es gibt keine Beschränkung über den genutzten Client. Es steht fuer praktisch alle Systeme zur Verfügung. Sogar für CLI.
  • Für den Anwender einfach einzurichten.
  • Nachrichten sind standardmäßig Ende zu Ende verschlüsselt.
  • Versehentlich oder falsche Nachrichten können im Nachhinein gelöscht werden.
  • Insbesondere für Gruppen und größere Diskussionen geeignet.
  • Anhänge, also Dateien und Bilder lassen sich sehr einfach verschicken.
  • Formatierung der Nachrichten ist standarisiert.
  • Kommunikation primär nur innerhalb des Dienstes, kann aber mit "Brücken" auf andere IM Dienste ausgeweitet werden

Nachteile:

  • (Noch) geringe Benutzerakzeptanz. Aktuell gibt es ca. 40 Mio. Matrixbenutzer.
  • Trotz des verteilten Systems hängt die Verfügbarkeit des Dienstes an den Fähigkeiten der eigenen oder des Serverbetreibers.
  • Matrix ist zwar Ende zu Ende verschlüsselt, aber kein Protokoll für perfekte Anonymität.
  • Denn: Es werden protokollbedingt immer noch Metadaten erzeugt, die der Serverbetreiber auswerten könnte.
  • Audio / Video möglich, aber mit etwas extra Aufwand am Server belegt.

Metadaten

Noch ein kurzes Wort zu Metadaten: Die Nachrichten sind zwar verschlüsselt, die Metadaten aber nicht (weil federiert und verteilt). Matrix ist kein Hochsicherheitsmessenger im Sinne der vollen Anonymität, eher als Spagat zwischen Email und z.B. Signal. Der Komfort der Multidevices wie bei Telegram (ohne das man auf das Handy angewiesen ist), aber auf einem eigenen Server in der eigenen Kontrolle. Bei einer Kommunikation Zwischen Server A und B fallen die Metadaten nur auf den beiden Server an. Der Weg dazwischen ist per HTTPS verschlüsselt.


OK, überzeugt, wie kann ich mitmachen?

Um mit dem Matrixprotokoll kommunizieren zu können, stehen mehrere Möglichkeiten zu Verfügung.

Am Matrix.org Server anmelden

Die allereinfachste Form, ist es über die normalen Matrix.org Server zu testen (mit einer @BENUTZERNAME:matrix.org Adresse).

  • Die Registrierung und Anmeldung erfolgt dann
    • App installieren und öffnen (Apple/Android) oder
    • Webseite von Element öffnen (Element ist der Haus und Hof Web Client von Matrix)
    • Account registrieren (dafür wird eine Emailadresse zur Bestätigung benötigt)
    • Mit dem gewählten Benutzernamen und Kennwort anmelden.

Selber einen Matrix Server betreiben

Die Königsdisziplin ist es natürlich, einen eigenen Matrix Server zu betreiben.
Damit unterliegt die Kontrolle nun vollends bei einem selbst und es kann eine eigene individuelle Adresse genutzt werden, z.B. @NAME:EIGENEDOMAIN . Das kann auf verschiedene Arten realisiert werden:

Darüber hinaus sind die Möglichkeiten auch mit LINUX und Co schier unendlich und es ist für jeden etwas dabei, je nachdem welche Möglichkeiten bereits bestehen. Extra und nur dafür einen TrueNAS Server zu installieren ist wenig sinnvoll. Wichtig dabei ist, das ihr eine Plattform wählt, die gut bekannt und beherrschbar ist. Nur dann ist ein sicherer Betrieb möglich.