Matrix (Kommunikationsprotokoll)

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

Matrix ist ein offenes Kommunikationsprotokoll 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 technische, als auch politische.[4] Es ist unklar, ob es genug Nachfrage von 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 hat den "Innovation Award" bei der WebRTC 2014 Conference & Expo[9] und den "Best in Show Award" bei der WebRTC World im Jahr 2015[10] gewonnen.

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. Die Olm und Megolm (eine Erweiterung von Olm, die besser für grössere Chaträume geeignet ist) Bibliotheken wurden in einem kryptographischem Review der Firma NCC Group geprüft und die Resultate veröffentlicht[12] und vom Matrix Team adressiert[13]. Der Review wurde gesponsert vom Open Technology Fund.

Clients[Bearbeiten | Quelltext bearbeiten]

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

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. Matrix Olm Cryptographic Review. NCC Group, abgerufen am 20. Oktober 2018 (englisch).
  13. Matrix’s ‘Olm’ End-to-end Encryption security assessment released – and implemented cross-platform on Riot at last! | Matrix.org. Abgerufen am 20. Oktober 2018 (amerikanisches Englisch).
  14. Try Matrix Now! In: matrix.org. Abgerufen am 4. Mai 2018 (englisch).