Share to: share facebook share twitter share wa share telegram print page

Matrix (protocol)

Xarxa matricial

Matrix (de vegades estilitzada com a [matrix]) és un estàndard obert  i protocol de comunicació per a la comunicació en temps real.[1] El seu objectiu és fer que la comunicació en temps real funcioni perfectament entre diferents proveïdors de serveis, de la mateixa manera que ho fa actualment el correu electrònic estàndard del Protocol simple de transferència de correu (SMA) per al servei de correu electrònic d'emmagatzematge i reenviament, permetent que els usuaris amb comptes en un proveïdor de serveis de comunicacions es comuniquin amb usuaris d'un proveïdor de serveis diferent mitjançant xat en línia, veu sobre IP i videotelefonia. Per tant, té un propòsit similar al de protocols com XMPP, però no es basa en cap protocol de comunicació existent.

Des d'una perspectiva tècnica, és un protocol de comunicació de capa d'aplicació per a la comunicació federada en temps real. Proporciona API HTTP i implementacions de referència de codi obert per distribuir i persistir de manera segura els missatges en format JSON a través d'una federació oberta de servidors. Es pot integrar amb serveis web estàndard a través de WebRTC, facilitant les aplicacions de navegador a navegador.

Història

El projecte inicial va ser creat dins d'Amdocs, mentre es construïa una eina de xat anomenada "Amdocs Unified Communications", per Matthew Hodgson i Amandine Le Pape. Amdocs va finançar la major part del treball de desenvolupament des del 2014 fins a l'octubre del 2017. Matrix va guanyar el premi a la innovació a la WebRTC 2014 Conference & Expo, i el premi "Best in Show" a la WebRTC World del 2015. El protocol va rebre elogis barrejats amb algunes notes de precaució després del seu llançament el 2014. Els revisors van assenyalar que altres intents de definir un protocol obert de missatgeria instantània o senyalització multimèdia d'aquest tipus van tenir dificultats per ser adoptats àmpliament (per exemple, XMPP i IRCv3) i han destacat els reptes que implica, tant tecnològics com polítics. Alguns no tenien clar si hi havia prou demanda entre els usuaris de serveis que interoperen entre proveïdors. El 2015 es va crear una filial d'Amdocs, anomenada "Vector Creations Limited", i el personal de Matrix s'hi va traslladar.

El juliol de 2017, es va anunciar que es retallaria el finançament d'Amdocs i, en les setmanes següents, l'equip principal va crear la seva pròpia empresa amb seu al Regne Unit, "New Vector Limited", que es va crear principalment per donar suport al desenvolupament de Matrix i Riot, el segon dels quals va ser posteriorment rebatejat com a Element. Durant aquest període, hi va haver múltiples crides de suport a la comunitat i a les empreses que construeixen sobre Matrix, per ajudar a pagar els salaris d'almenys una part de l'equip principal. Es van crear comptes de micromecenatge de Patreon i Liberapay, i l'equip principal va iniciar un podcast de vídeo, anomenat Matrix "Live", per mantenir els col·laboradors al dia dels desenvolupaments en curs. Això es va ampliar amb un format de blog setmanal, anomenat "This Week in Matrix", on els membres interessats de la comunitat podien llegir o enviar les seves pròpies notícies relacionades amb Matrix. L'empresa es va crear amb l'objectiu d'oferir serveis de consultoria per a Matrix i allotjament de pagament de servidors Matrix (com a plataforma anomenada modular.im, que més tard va ser rebatejada com a Element matrix services[2]) per generar ingressos.

En les primeres setmanes posteriors a la seva creació, l'equip de Matrix i l'empresa Purism van publicar plans per col·laborar en la creació del telèfon Librem 5. El Librem 5 estava pensat per ser un telèfon natiu de Matrix, on l'aplicació de missatgeria i trucades preinstal·lada per defecte hauria d'utilitzar Matrix per a trucades d'àudio i vídeo i missatgeria instantània.

El setembre de 2022, es van trobar alguns problemes de seguretat en la implementació d'una biblioteca de xifratge del costat del client.[3] A causa de l'arquitectura interoperable, només les aplicacions client afectades necessitaven actualització i les implementacions de tercers no es van veure afectades.[3] Tots els problemes crítics es van solucionar, i els restants o bé no es podien explotar a la pràctica o bé ja s'havien advertit clarament al client.[3]

El febrer de 2023, la fundació Matrix va ser convidada al taller de la Llei de mercats digitals sobre "Interoperabilitat entre serveis de missatgeria" i va mostrar com es pot utilitzar un protocol obert estandarditzat per interoperar sense sacrificar la privadesa.[4]

El juny de 2023, Beeper es va convertir en el primer membre de la Fundació Matrix.[5]

L'abril de 2024 es van celebrar les primeres eleccions del Consell Rector de la Fundació Matrix, que està format per nou grups de representants diferents en tres categories: representants d'organitzacions sense ànim de lucre i de la comunitat, representants de finançadors i representants de fundacions.

Protocol

Els objectius de Matrix són casos d'ús com ara veu sobre IP, Internet de les coses i missatgeria instantània, inclosa la comunicació en grup, juntament amb un objectiu a llarg termini de ser un sistema genèric de missatgeria i sincronització de dades per a la web. El protocol admet la seguretat i la replicació, mantenint l'historial complet de converses, sense punts únics de control o fallada. Els serveis de comunicació existents es poden integrar amb l'ecosistema Matrix.

El programari client està disponible per a la comunicació de missatgeria instantània (IM) federada oberta, veu sobre IP (VoIP) i Internet de les coses (IoT).

L'estàndard Matrix especifica API HTTP RESTful per transmetre i replicar de manera segura dades JSON entre clients, servidors i serveis compatibles amb Matrix. Els clients envien dades mitjançant un PUT (processador de "push") a una "sala" del seu servidor, que després replica les dades a tots els servidors Matrix que participen en aquesta "sala". Aquestes dades es signen amb una signatura d'estil git per mitigar la manipulació, i el trànsit federat es xifra amb HTTPS i es signa amb la clau privada de cada servidor per evitar la suplantació d'identitat. La replicació segueix la semàntica de coherència eventual, permetent que els servidors funcionin fins i tot si estan fora de línia o després de la pèrdua de dades mitjançant la resincronització de l'historial perdut d'altres servidors participants.

Xifratge Olm

La biblioteca Olm proporciona xifratge opcional d'extrem a extrem habitació per habitació mitjançant la implementació de l'algoritme Double Ratchet. Pot garantir que les dades de conversa en repòs només siguin llegibles pels participants de la sala. Amb això configurat, les dades transmeses per Matrix només són visibles com a text xifrat als servidors de Matrix i només les poden desxifrar els participants autoritzats a la sala. El protocol d'encriptació s'anomena Olm; Megolm és una expansió d'Olm per adaptar-se millor a la necessitat d'habitacions més grans. Hi ha dues implementacions principals:

  • vodozemac, la implementació de referència actual, escrita en Rust. El 2022, va ser auditat per Least Authority, les conclusions de la qual estan disponibles públicament[6] i han estat abordades per l'equip de Matrix.[7] La revisió va ser finançada parcialment per l'agència nacional alemanya per a la digitalització del sistema sanitari.
  • libolm, l'antiga implementació de referència, ha estat objecte d'una revisió criptogràfica per part de NCC Group, les conclusions de la qual estan disponibles públicament, i han estat abordades per l'equip de Matrix. La revisió va ser patrocinada per l'Open Technology Fund.

Les claus de sessió de grup de sortida són necessàries per iniciar noves sessions de Megolm per a xats de grup. A més, les claus de signatura creuada s'utilitzen per verificar la identitat general de l'usuari i els seus dispositius. Quan s'activa una còpia de seguretat segura, totes aquestes claus es xifren amb una contrasenya forta o una clau de recuperació generada aleatòriament. Això garanteix que fins i tot una persona que tingui accés a la còpia de seguretat de les claus no pugui desxifrar els missatges, garantint un E2EE complet.

Ponts

Matrix permet la connexió de missatges de diferents aplicacions de xat a sales de Matrix. Aquests ponts són programes que s'executen al servidor i es comuniquen amb els servidors que no són de Matrix. Els ponts poden actuar com a titelles o com a relés, on en el primer cas el compte d'usuari individual publica visiblement els missatges, i en el segon cas un bot publica els missatges per als comptes d'usuari no titellats.

Referències

  1. «What Is the Matrix Protocol and How Does It Work?» (en anglès). MUO, 27-10-2021. [Consulta: 24 juliol 2023].
  2. «Element Secure instant messenger | Riot.im download | End-to-end messages encryption and open network» (en anglès). Element. [Consulta: 1r novembre 2020].
  3. 3,0 3,1 3,2 «Upgrade now to address E2EE vulnerabilities in matrix-js-sdk, matrix-ios-sdk and matrix-android-sdk2» (en anglès americà).
  4. «The DMA Stakeholder Workshop: Interoperability between messaging services» (en anglès). matrix.org. [Consulta: 2 juny 2024].
  5. «Beeper joins the foundation» (en anglès).
  6. «Archived copy». leastauthority.com. Arxivat de l'original el 16 May 2022. [Consulta: 22 maig 2022].
  7. «Independent public audit of Vodozemac, a native Rust reference implementation of Matrix end-to-end encryption» (en anglès). Matrix blog.
Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9

Portal di Ensiklopedia Dunia

Kembali kehalaman sebelumnya