Im Fediverse gibt es immer mal wieder Diskussionen darüber, das einige Matrix nicht trauen, weil es so viele Metadaten erzeugt. Das Thema würde ich gerne einmal aus meiner Sicht hier besprechen, da ich Moderator von der Instanz Riotchat.de bin und deshalb zugriff auf diesen Server habe.

Voraussetzungen

  • Bei unserem Server ist nur das Log-Level FATAL aktiviert, das heißt, die Software Matrix Synapse speichert keine IP-Adressen oder sonstige Daten der Verbindungen zu dem Server.
  • Die Registrierung erfolgt über eine kleine Eigenentwicklung, die nicht das Captcha von Google verwendet. Bei der Anmeldung ist keine Mailadresse erforderlich.
  • Der Identitätsserver ist erst Mal deaktiviert und muss vom User selbst aktiviert werden. Über diese Funktion kann man seine Mailadresse und eine Handynummer hinterlegen, um von anderen Accounts im Matrix Netzwerk gefunden zu werden.

Besonderheiten von Matrix

  • Matrix ist vollständig über Räume organisiert.
  • Ein Account ist ein ID der folgenden Art: @name:domain.xxx
  • Ein Raum wird auf allen Instanzen gespiegelt, von denen Accounts in dem Raum sind. Ein Raum mit 100 Usern von 100 Instanzen, liegt also in den Datenbanken von 100 Servern.
  • Als Admin einer Instanz kann ich alle Accounts meiner Instanz in der DB sehen.
  • Als Admin kann man alle Räume in der DB sehen, in denen ein Account der eigenen Instanz ist.
  • Vermutlich kann man auch alle Accounts sehen, die in einem Raum sind, der auf dem eigenen Server gespiegelt wird (habe ich noch nicht untersucht).
  • Natürlich kann man in der DB keine Inhalte sehen, wenn die Räume verschlüsselt sind.

Metadaten
Mein Verständnis von Metadaten ist folgendes. Wenn man gezielt Metadaten auswertet, dann will man herausbekommen, wer da mit wem in Kontakt ist.
Bei Matrix ist einem Account aber erst Mal keiner Person zugeordnet, da man sich einfach einen Account erstellen kann. Da dabei keine Daten gespeichert werden (zumindest bei uns nicht), ist die Person hinter dem Account also unbekannt.
Als Admin einer Instanz kann man in der DB sehen, in welchen Räumen die eigenen Accounts sind. Außerdem kann man noch sehen, welche Accounts in den Räumen sind, die auf dem eigenen Server gespiegelt wurden (vermute ich).

Wenn man jetzt aber zum Beispiel als Geheimdienst zu einem Matrix Account eine Profil erstellen will, dann kann man das eigentlich nur machen, wenn man auch Admin der Instanz ist, für die man dieses Profil erstellen will.

Selbst wenn man einige Server kostenlos anbieten würde, um so Zugriff auf möglichst viele Metadaten zu erhalten, so erhält man auch dann nur Zugriff auf die Daten, die auf den eigenen Servern liegen. Natürlich kann man sich dann einen Account anlegen und mit dem in möglichst viele öffentliche Räume gehen, aber diese Räume sind ja dann auch öffentlich und allen Beteiligten ist klar, dass man das was da geschrieben wird, öffentlich einsehen kann.

Mein persönliches Fazit
Matrix ist nicht geeignet für Personen, die extrem hohen Schutz benötigen (zum Beispiel Dissidenten oder Whistleblower). Für den ganz normalen täglichen Kontakt zu anderen, halte ich es aber für ausreichend sicher, da die Metadaten über sehr viel Server verteilt liegen und so nur relativ schwer für Analysen von Kontakt-Profilen ausgewertet werden können.

  • Jakob :lemmy:A
    link
    22 years ago

    Da hast du sicher recht.

    Ich bin dennoch immer noch ein wenig verunsichert… Fehler passieren nun einmal.

    Stell dir folgendes Szenario vor: Ich biete für mein Unternehmen einen Support-Raum für unser Produkt an. Und irgendjemand postet dort sensibles Zeugs rein. Kann ja mal vorkommen.

    In diesem Raum sind 100 Nutzer von unterschiedlichsten Matrix-Servern. Jetzt wird das sensible Zeugs auf alle diese Server verteilt. Ich kann es hier löschen… und das löst eine “Bitte” an die anderen Server aus, es auch zu löschen.

    Ein Server tut das aber nicht, weil er aus irgend einem Grund das Ansuchen nicht mitbekommen hat.

    Wir schließen diesen Service-Raum. Auf 99 weiteren bleibt er jedoch bestehen. Ein $BÖSER_BUB betreibt den Raum, weil er ja überall föderiert und gleichwertig zur Verfügung steht, weiter… und gibt sich als unser Support-Raum weiterhin aus und sammelt weitere sensible Daten ein…

    Ich muss gestehen, ich hab das noch nicht praktisch durchgespielt… Aber ich hätte die Föderation von Matrix-Räumen genauso verstanden. Die Räume bleiben weiterhin erreichbar, auch wenn der originale Server down ist… und kommt der originale wieder, wird nachsynchronisiert… und wenn der nicht mehr kommt… was ist dann mit einem föderierten Raum?

    • @juergen@feddit.de
      link
      fedilink
      12 years ago

      Ich glaube du liegst nicht ganz richtig: die matrix förderation funktioniert nach meinem Verständnis eher wie eine Mailingliste. Es ist richtig, dass gelöschte Nachrichten unter umständen weiterhin auf den anderen Servern bleiben.

      Aber ein externer Angreifer der nicht die kontrolle über die domain hat, kann die matrix instanz nach der downtime nicht wieder herstellen, er müsste einen neuen server erstellen, wo sich dann aber die domain ändert.

      -> wenn die mailingliste down ist, dann kannst du da auch nix ändern, du musst eine neue mailingliste erstellen oder zugriff auf die domain haben.