Matrix (Kommunikationsprotokoll)

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Matrix (Kommunikationsprotokoll)
Matrix logo1.png
Familie: Internetprotokollfamilie
Einsatzfeld: Messaging, Chat
aufbauend auf HTTP, WebRTC
Einführung: 2014
Entwickler: matrix.org

Matrix ist ein offenes Protokoll für Echtzeitkommunikation. Es wurde entworfen, um Benutzern mit Accounts bei einem Kommunikationsdiensteanbieter zu erlauben, mit Benutzern anderer Diensteanbieter per Chat, IP-Telefonie und Video-Telefonie zu kommunizieren. Es soll eine nahtlose Kommunikation zwischen verschiedenen Diensteanbietern ermöglichen.[1]

Aus technischer Sicht ist es ein Application Layer-Kommunikationsprotokoll für föderierte Echtzeitkommunikation. Es bietet HTTP-APIs und Open Source Referenzimplementierungen für das sichere Verbreiten und Speichern von Nachrichten im JSON-Format in einem offenen Verbund von Servern.[2][3] Es kann sich mit Standard-Webservices per WebRTC verbinden und unterstützt so Browser-zu-Browser-Anwendungen.

Andere Ansätze zur Definition eines offenen Instant Messaging oder Multimedia-Signalisierungsprotokolls dieser Art wie XMPP oder IRCv3 stießen auf erhebliche Herausforderungen, sowohl technologische, als auch politische.[4] Es ist noch 2018 unklar, ob es genug Bedarf bei den Benutzern für Dienste gibt, die eine Interoperabilität zwischen Dienstanbietern ermöglichen.[5][6]

Entwicklung[Bearbeiten | Quelltext bearbeiten]

Die Entwicklung von Matrix wird von Matrix.org angeleitet, einer gemeinnützigen Initiative aus Großbritannien. Sie will aus Matrix einen offenen Standard für dezentralisierte, persistente und interoperable Kommunikation über das Internet machen.[7] Matrix zielt auf Anwendungsfälle wie IP-Telefonie, Internet of Things und Instant Messaging, einschließlich Gruppenkommunikation und langfristig als generisches Messaging- und Datensynchronisationssystem für das Web. Das Protokoll unterstützt Sicherheit und Replikation, das Vorhalten der vollständigen Konversation und das alles ohne zentrale Kontrollinstanzen.[8] Bestehende Kommunikationsdienste können in die Matrixumgebung eingebunden werden.[2]

Es gibt Programme für Instant Messaging (IM), Voice over IP (VoIP) und Internet of Things (IoT).

Matrix gewann den Innovation Award bei der WebRTC 2014 Conference & Expo[9] und den Best in Show Award bei der WebRTC World in 2015.[10]

Protokoll[Bearbeiten | Quelltext bearbeiten]

Der Matrix-Standard spezifiziert RESTful HTTP-APIs für die sichere Übertragung und Replikation von JSON-Daten zwischen Matrix-fähigen Clients, Servern und Diensten. Clients senden Daten per PUT in einen ‘Raum’ auf ihrem Server, der dann die Daten zu allen Matrix-Servern repliziert, die an diesem ‘Raum’ teilnehmen. Diese Daten werden mit einer Git-artigen Signatur signiert, um Manipulationen abzufangen. Der föderierte Datenverkehr wird mit HTTPS verschlüsselt und mit den privaten Schlüsseln aller Server signiert, um Spoofing zu verhindern. Die Replikation folgt einer eventuellen Konsistenzsemantik, so dass Server auch funktionieren, wenn sie offline waren oder nach einem Datenverlust, indem sie die fehlenden Daten von anderen teilnehmenden Servern nachsynchronisieren.

Die olm-Bibliothek bietet eine optionale Ende-zu-Ende-Verschlüsselung von Raum zu Raum mittels einer Double Ratchet-Algorithmus-Implementierung.[11] So kann sichergestellt werden, dass die gespeicherten Konversationsdaten nur von den Raum-Teilnehmern gelesen werden können. Wenn das konfiguriert ist, werden die über Matrix transportierten Daten für die Matrix-Server nur als Geheimtext sichtbar. Sie können nur von autorisierten Teilnehmern des Raumes entschlüsselt werden.

Clients[Bearbeiten | Quelltext bearbeiten]

Riot ist der wichtigste Client. Es gibt viele weitere Clients, Bots, Bridges, Server und andere Implementierungen des Matrix-Protokolls.[12]

Siehe auch[Bearbeiten | Quelltext bearbeiten]

Weblinks[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. Jan Weisensee: Echtzeitkommunikation ausprobiert: Willkommen in der Matrix. In: golem.de. Golem.de, 7. März 2017, abgerufen am 4. Mai 2018.
  2. a b Nathan Willis: Matrix: a new specification for federated realtime chat (en). In: LWN.net, 11. Februar 2015. Abgerufen am 28. Juni 2015. 
  3. Adrian Bridgwater: Matrix.org Reloads Inside "Illusion of Control" Vortex (en). In: Dr. Dobb’s Journal, 9. September 2014. Abgerufen am 20. Juli 2015. 
  4. Andrew Prokop: Solving the WebRTC Interoperability Problem - Post (en). In: No Jitter, 23. Februar 2015. Abgerufen am 28. Juni 2015. 
  5. Ian Scales: To interop or not to interop? Is Matrix.org the answer for silo’d comms services? (en). In: TelecomTV, 11. Mai 2015. Abgerufen am 22. Juni 2015. 
  6. Matt Weinberger: Matrix wants to smash the walled gardens of messaging (en). In: ITworld, 16. September 2014. Abgerufen am 20. Juli 2015. 
  7. Matrix. In: crunchbase.com. Abgerufen am 4. Mai 2018 (englisch).
  8. Mela Eckenfels: Matrix im Test. In: linux-magazin.de. Linux Magazin, Mai 2016, abgerufen am 4. Mai 2018.
  9. Award Winners of the WebRTC 2014 Conference & Expo - Upperside Blog. In: WebRTC, 23. Dezember 2014. Abgerufen am 28. Juni 2015. 
  10. Phil Edholm: WebRTC World Miami Wrap Up and Review. In: webrtcworld.com. 18. Mai 2015, abgerufen am 4. Mai 2018 (englisch).
  11. Ksenia Ermoshina, Francesca Musiani, Harry Halpin: End-to-End Encrypted Messaging Protocols: An Overview. In: INSCI 2016. Springer, Florenz 2016, ISBN 978-3-319-45982-0, S. 244–254, doi:10.1007/978-3-319-45982-0_22 (englisch).
  12. Try Matrix Now! In: matrix.org. Abgerufen am 4. Mai 2018 (englisch).