[matrix] ist eine moderne Alternative zu Jabber/XMPP. Die Serverkomponenten (Matrix) sind Open Source und es ist der Aufbau einer förderalen Infrastruktur möglich. Jeder kann einen eigenen Server betreiben, der mit allen anderen Servern kommunizieren kann. Es gibt mehrere Client-Apps, wobei Element.io (früher: Riot) die größte Verbreitung hat.
Nach der Installation einer Client App kann man einen Account erstellen. Den Account kann man auf einem beliebigen Server entsprechend den eigenen Preferenzen frei wählen, unabhängig von der Telefonnummer. Diesen Server nennt man im Matrix Jargon den Homeserver. Über Identitätsserver kann man den Account auf Wunsch mit einer Telefonnummer oder E-Mail Adresse verbinden, so dass man leichter gefunden wird. Überwiegend wird dafür der Server "vector.im" verwendet, der damit eine zentrale Funktion übernimmt.
Zentrales Konzept beim Chatten in [matrix] sind die "Räume". Man kann sich auf seinem Homeserver neue "Räume" einrichten und dort erstmal Selbstgespräche führen. Wenn man eine zweite Person in den Raum einlädt und diese Person die Einladung annimmt, kann man chatten, Dateien austauschen oder telefonieren. Wenn man mehrere Personen in den "Raum" einlädt, hat man einen Gruppenchat. Innerhalb des "Raumes" lassen sich Rechte an die Mitglieder vergeben, wer administrieren darf, wer neue Mitglieder einladen darf usw.
Konzeptuell ist [matrix] ein Multi-Cloud Messenger. Im Gegensatz zu Threema oder Signal App, die keine Daten auf den Servern speichern, werden bei [matrix] alle Kontaklisten, Mitgliedschaften in Gruppenchats und persönlichen Informationen auf dem Homeserver gespeichert. Außerdem werden Räume inklusive der Nachrichteninhalte für unbegrenzte Zeit auf allen Matrix Servern in Kopie gespeichert, die an der Kommunikation beteiligt sind.
Im Gegensatz zu anderen Messengern wirbt [matrix] nicht damit, dass Nutzer die volle Kontrolle über ihre Kommunikation behalten. Der Vorteil ist laut [matrix] Werbung:
There is no single point of control or failure in a Matrix conversation which spans multiple servers: the act of communication with someone elsewhere in Matrix shares ownership of the conversation equally with them.Neben den Techies (Admins der beteiligten Server) und Hackern (April 2019: Matrix.org chat server hacked, chat history lost) haben auch Behörden im Rahmen von Auskunftsersuchen darauf Zugriff. Mit Umsetzung des im Dez. 2019 vorgelegten Gesetzes zur Bekämpfung von Rechtsterrorismus und Hasskriminalität könnte jeder Dorfpolizist ohne richterliche Prüfung die Daten von dem bevorzugten Server abrufen, der sich juristisch in seiner Reichweite befindet. Sollten die Inhalte der Nachrichten Ende-zu-Ende verschlüsselt sein, können trotzdem detaillierte Metadaten der Kommunikation für die Kommunikationsanalyse abgerufen werden. (Wer, wie häufig, mit wem...?)
Nach der Rechtssprechung des BVerfG unterliegen Nachrichten nicht dem Telekommunikationsgeheimnis nach §10 GG, wenn der Empfänger die Nachricht gelesen hat und die Gelegenheit hatte, sie zu löschen. Auf dem eigenen Homeserver kann man Nachrichten löschen, indem man eine Nachricht antippt und den Menüpunkt "Entfernen" wählt. Der Homeserver wird diesen Löschwunsch auch an alle anderen Server weitergeben, die Kopien der Nachricht gespeichert haben. Die Dokumentation von [matrix] weist aber darauf hin, das damit nur ein Wunsch des Nutzers zum Ausdruck gebracht wird. Es kann nicht sichergestellt werden, dass die anderen Server diesen Wunsch auch befolgen. Im [matrix] Slang:
This means that every server has total self-sovereignty over its users data...Open Source Enthusiasten argumentieren oft, dass man bei förderalen Systemen problemlos einen eigenen Server aufsetzen kann, wenn man keinen vertrauenswürdigen Server findet. Bei [matrix] ist dieses Argument falsch. Man muss nicht nur dem eigenen Server vertrauen sondern auch den Admins aller anderen Server, die an einer Kommunikation beteiligt sind, da alle beteiligten Server eine komplette Kopie der Kommunikation speichern.
Hinsichtlich Sicherheit könnte man noch anmerken, dass Certificate Pining als Schutzmaßnahme gegen Man-in-the-Middle Angriffe auf die TLS Verschlüsselung bei [matrix] aus den gleichen Gründen nicht möglich ist, wie bei Jabber/XMPP. Mit einer förderalen Infrastrutur, wo jeder Interessierte Admin einen eigenen Server betreiben kann, ist es unmöglich, diese Sicherheitsempfehlung umzusetzen.
Im Gegensatz zu Threema oder Signal sind [matrix] Cleints damit weiterhin anfällig für Angriffe, die 2009 in der wiss. Arbeit Certified Lies - Detecting and Defeating Government Interception Attacks against SSL beschrieben wurden.
Die Ende-zu-Ende Verschlüsselung ist Teil des Sicherheitskonzeptes und standardmäßig aktiviert. Für eine höhere Sicherheitsanforderungen gibt es folgende Optionen:
Cross-Signing mehrerer Geräte: Wenn man selbst mehrere Geräte verwendet, sollte man das Cross-Signing aktivieren. Dabei werden Signaturschlüssel und Key Backup auf dem Homeserver abgelegt und mit einem zusätzlichen Passwort verschlüsselt, das sich von dem Account Passwort unterscheiden sollte. Alternativ kann man den Schlüssel für das Cross-Signing herunter laden und lokal speichern. Die Signaturschlüssel werden verwendet, um eigene, neue Geräte zu signieren und das in die Vertrauensbasis bestehender Verifikationen einzuschließen.
Verifizierte Kommunikationspartner müssen nicht jedes einzelne Gerät verifizieren, wenn man Cross-Signing aktiviert. Man selbst entscheidet, welche Geräte vertrauenswürdig sind und das verifizierte Vertrauen wird auf die neuen Geräte übertragen.
Nach einer Verifizierung der Kommunikationspartner und der eigenen Geräte sollte man zusätzlich die Kommunikation mit nicht-verifizierten Geräten verbieten, damit man sicherheitsmäßig von der Verifizierung profitiert.
Neben den Smartphone Clients, deren Krypto-Implementierung jemand im Rahmen eines Audits nach Vorliegen der finalen Version untersuchen könnte, gibt es riot-web als Desktop Client oder für den Einsatz auf einem Webserver.
Aufgrund konzeptueller Schwächen kann man bereits ohne Prüfung der finalen Version sagen, das riot-web nicht für hohe Sicherheitsansprüche geeignet ist:
riot-web speichert die privaten kryptografischen Schlüssel für die Ende-zu-Ende Verschlüsselung im HTML5 Storage des Browsers (in der IndexedDB). Im HTML5 Security Cheat Sheet wird vom OWASP empfohlen, keine sensitiven Informationen im HTML5 Storage des Browsers zu speichern, da es kein sicherer Speicher ist und diese Daten leicht kompromittiert werden könnten, beispielsweise z.B. mit XSS-Angriffen.
In der Dokumentation von riot-web wird darauf hingewiesen, dass man riot-web nicht auf dem gleichen Server installieren sollte wie den Matrix Server, da ein Angreifer mit XSS-Angriffen die Matrix-API kompromittieren könnte. Man findet aber keine Warnung dazu, dass auch die privaten Schlüssel für Ende-zu-Ende Verschlüsselung mit den gleichen Angriffen komprimittiert werden könnten.
In einer weiteren Ausbaustufe können ab Herbst dieses Jahres auch private Endgeräte für die offene Kommunikation via Matrix genutzt werden.
Also: auf Standard-Endgeräten wie Smartphones oder PCs/Laptops dürfen [matrix] und bwmessenger nur für "offene" Kommuniktion eingesetzt werden, nix VS-NfD.
In den kommenden Wochen wird [...] sowie zur Übertragung von Informationen bis zur Schutzklasse VS-NfD (Verschlusssache - Nur für den Dienstgebrauch) auf dienstlichen Endgeräten für die "sichere mobile Kommunikation", den sogenannten SMK-Geräten, nutzbar sein.
Jeder Messenger kann in einer VS-NfD zertifizierten Umgebung eingesetzt werden, wenn SINA Laptops oder SecuSUITE Smartphones als Endgeräte genutzt werden mit BSI-zertifizierter Verschlüsselung der Datenspeicher auf dem Endgerät und zertifizierter VPN-Verbindung in einem VS-NfD tauglichen Server Bunker (sogenannte "SMK-Geräte").
In dieser Umgebung hat ein Messenger nur die Aufgabe, Nachrichten zu transportieren. Die Sicherheit wird durch zertifizierte Drittprodukte (sogenannte "SMK-Geräte") gewährleistet.
Der Einsatz von [matrix] unter diesen Bedingungen ist kein Argument für besondere Qualität. [matrix] steht damit auf der gleichen Stufe wie unverschlüsselte E-Mail und Telefonie, die in diesen abgesicherten Umgebungen ebenfalls VS-NfD Inhalte transportieren dürfen.
Der durchschnittliche Leser schlussfolgert natürlich, das [matrix] ein ganz besonders sicherer Messenger ist, wenn Journalisten im Magazin Computerbase schreiben:
Den vormals als Riot.im bekannten Open Source Client nutzt die Bundeswehr mittlerweile auch für Dokumente der Schutzklasse "Verschlusssache - Nur für Dienstgebrauch".oder bei den Linux News nebenbei erwähnen:
Auch die deutsche Bundeswehr verwendet ab dem Herbst im Projekt BwMessenger den Client Element und ersetzt damit den proprietären Messenger Stashcat. Mit dem Matrix-Client ist dann auch die verschlüsselte Übermittlung von Verschlusssachen möglich.... ohne dabei zu erwähnen, dass die Sicherheit für VS-NfD dabei nicht durch [matrix] sondern durch andere IT-Sicherheitsprodukte hergestellt wird und [matrix] ähnlich wie normale E-Mails nur die Aufgabe hat, Nachrichten zu transportieren. Das ist irreführende Werbung!