Entwickler des dezentralen Kommunikationssystems Matrix neue Versionen der Schlüssel-Client-Anwendungen . Riot wurde unter Verwendung von Web-Technologien und dem Framework React (einschließlich Wrapper ). Die Desktop-Version auf der Electron-Plattform aufgebaut. Code unter der Apache 2.0 Lizenz.
Wesentlich in den neuen Versionen ist die standardmäßige Aktivierung der Ende-zu-Ende-Verschlüsselung (E2EE, end-to-end encryption) für alle neuen privaten Chats, die durch das Senden von Einladungen betreten werden. Die Ende-zu-Ende-Verschlüsselung basiert auf einem eigenen Protokoll, das für den initialen Schlüsselaustausch und die Verwaltung von Sitzungsschlüsseln den Algorithmus verwendet (Teil des Signal-Protokolls).
Für die Schlüsselaushandlung in Chats mit mehreren Teilnehmern wird eine Erweiterung , optimiert für die Verschlüsselung von Nachrichten mit einer großen Anzahl von Empfängern, eingesetzt, die es ermöglicht, eine Nachricht mehrmals zu entschlüsseln. Der Chiffretext der Nachricht kann auf einem nicht vertrauenswürdigen Server gespeichert werden, kann jedoch nicht ohne die auf der Client-Seite gespeicherten Sitzungsschlüssel entschlüsselt werden (jeder Client hat seinen eigenen Sitzungsschlüssel). Bei der Verschlüsselung wird für jede Nachricht auf der Basis des Sitzungsschlüssels des Clients ein eigener Schlüssel generiert, der die Nachricht in Bezug auf den Autor authentifiziert. Der Abfang eines Schlüssels ermöglicht es, lediglich bereits gesendete Nachrichten zu kompromittieren, nicht aber Nachrichten, die in Zukunft gesendet werden. Die Implementierung der Verschlüsselungsmethoden wurde von der NCC Group auditiert.
Eine zweite wichtige Änderung ist die Aktivierung der Unterstützung für Cross-Signing, die es dem Benutzer ermöglicht, aus einer bereits bestätigten Sitzung eine neue Sitzung zu verifizieren. Früher wurde beim Beitritt zu einem Chat von einem neuen Gerät eine Warnung an die anderen Teilnehmer ausgegeben, um das Abhören zu verhindern, falls ein Angreifer Zugriff auf das Konto des Opfers hatte. Cross-Signing ermöglicht es dem Benutzer, beim Einloggen andere Geräte zu verifizieren und Vertrauen in einen neuen Login zu bestätigen oder festzustellen, dass jemand versucht hat, sich ohne ihr Wissen anzumelden.
Um die Konfiguration neuer Logins zu vereinfachen, wurde die Möglichkeit zur Nutzung von QR-Codes bereitgestellt. Anfragen zur Verifizierung und Ergebnisse werden nun in der Historie in Form direkt gesendeter Nachrichten gespeichert. Anstelle des pop-up Modaldialogs wird die Verifizierung jetzt in der Seitenleiste durchgeführt. Auch eine Schicht wurde hervorgehoben, , die den Zugriff auf verschlüsselte Chats aus Clients ermöglicht, die E2EE nicht unterstützen, sowie einen auf der Client-Seite zur Suche und Indizierung von Dateien in verschlüsselten Chaträumen.
Wir erinnern daran, dass die Plattform für die Organisation dezentraler Kommunikation Matrix als Projekt entwickelt wird, das offene Standards nutzt und großen Wert auf die Sicherheit und Privatsphäre der Benutzer legt. Es wird HTTPS+JSON als Transport verwendet, mit der Möglichkeit, WebSockets oder ein protokollbasiertes System zu nutzen +. Das System bildet eine Gemeinschaft von Servern, die miteinander interagieren und sich zu einem gemeinsamen dezentralisierten Netzwerk zusammenschließen können. Nachrichten werden über alle Server repliziert, mit denen die Teilnehmer des Nachrichtenaustauschs verbunden sind. Nachrichten werden über Server verteilt, ähnlich wie Commits zwischen Git-Repositories verteilt werden. Im Falle einer vorübergehenden Deaktivierung eines Servers gehen keine Nachrichten verloren, sondern werden an die Benutzer nach Wiederherstellung des Serverbetriebs übertragen. Verschiedene Varianten von Benutzeridentifikatoren werden unterstützt, einschließlich E-Mail, Telefonnummer, Facebook-Konto usw.

Im Netzwerk gibt es keinen einzelnen Ausfallpunkt oder eine zentrale Kontrolle über die Nachrichten. Alle Server, die die Diskussion abdecken, sind gleichberechtigt.
Jeder Benutzer kann seinen eigenen Server starten und ihn mit dem gemeinsamen Netzwerk verbinden. Es ist möglich, für die Interaktion von Matrix mit Systemen anderer Protokolle zu erstellen, beispielsweise Dienste für bidirektionalen Nachrichtenaustausch in IRC, Facebook, Telegram, Skype, Hangouts, E-Mail, WhatsApp und Slack.
Neben der sofortigen Übertragung von Textnachrichten und der Organisation von Chats kann das System auch zur Übertragung von Dateien, zum Versenden von Benachrichtigungen,
zur Organisation von Konferenzen sowie für Sprach- und Videoanrufe verwendet werden.
Matrix ermöglicht die Suche und unbegrenzte Einsicht in den Nachrichtenverlauf. Auch erweiterte Funktionen wie Benachrichtigungen über die Eingabe von Text, die Bewertung der Online-Präsenz eines Benutzers, Lesebestätigungen, Push-Benachrichtigungen, serverseitige Suche, Synchronisierung der Historie und des Client-Status werden unterstützt.
Quelle: opennet.ru
