Matrix (protokoll)

Matrix (mõnikord stiliseeritud kujul "[matrix]") on avatud standard ja sideprotokoll reaalajas suhtlemiseks.

Protokolli eesmärk on muuta reaalajas suhtlus erinevate teenusepakkujate vahel sujuvaks, toimides sarnaselt tavapärasele e-posti edastusprotokollile, võimaldades kasutajatel, kellel on ühe sideteenuse pakkuja kontod, suhelda kasutajatega teiselt teenusepakkujalt.

Matrix defineerib komplekti avatud API-sid detsentraliseeritud suhtluse jaoks, mis sobivad andmete turvaliseks avaldamiseks, säilitamiseks ja tellimiseks üle globaalsete avatud serverite föderatsiooni, millel puudub keskne juhtimispunkt. Kasutusalad hõlmavad kiirsõnumite (IM), internetitelefoni (VoIP), asjade interneti (IoT) suhtlust ja olemasolevate suhtlussüsteemide ühendamist – luues aluse uuele avatud reaalajas suhtluse ökosüsteemile.

 Ajalugu 
Algne projekt loodi Amdocsi sees, kui Matthew Hodgson ja Amandine Le Pape töötasid vestlustööriista "Amdocs Unified Communications" kallal.

 Arendus 
Matrix on avatud lähtekoodiga projekt, mille arendamist veab Matrix.org sihtasutus. Eesmärk on luua avatud standard detsentraliseeritud suhtluseks. Selle arendust juhib peamiselt Element, Ühendkuningriigis asuv ettevõte, mis oli varem tuntud kui New Vector Limited.

 Protokoll 
Matrix on föderaalne süsteem, mis koosneb peamiselt koduserveritest, tubadest (ingl rooms) ja kasutajatest. Kogu suhtlus Matrixi kasutajate vahel toimub toas. Kui kasutaja (Alice) soovib toas teistega suhelda, peab ta esmalt saatma sõnumid oma koduserverisse (matrix.alice.com) kasutades Kliendi-Server API-t. Koduserver kasutab seejärel Server-Server API-t, et sünkroonida sõnumeid teiste tubas osalevate koduserveritega. Lõpuks saavad sihtkasutajate kliendid (Bob ja Charlie) oma koduserverilt sünkroonitud sõnumidH. Li, Y. Wu, R. Huang, X. Mi, C. Hu and S. Guo, "Demystifying Decentralized Matrix Communication Network: Ecosystem and Security," 2023 IEEE 29th International Conference on Parallel and Distributed Systems (ICPADS), Ocean Flower Island, China, 2023, lk. 260-267, doi: 10.1109/ICPADS60453.2023.00047..

 Krüpteerimine 
Olm teek pakub end-to-end krüpteerimist ruumipõhiselt, kasutades Double Ratchet algoritmi implementatsiooni Ermoshina, K., Musiani, F., Halpin, H. (2016). End-to-End Encrypted Messaging Protocols: An Overview. In: Bagnoli, F., et al. Internet Science. INSCI 2016. Lecture Notes in Computer Science(), vol 9934. Springer, Cham. https://doi.org/10.1007/978-3-319-45982-0_22. See tagab, et ruumis talletatud vestlusandmed on loetavad ainult ruumi osalejatele. Kui krüpteerimine on aktiveeritud, edastatakse Matrixis andmed vaid šifreeritult, nii et Matrixi serverid näevad neid ainult šifritekstina, ning neid saavad dešifreerida vaid ruumi volitatud osalejad.

Olm-i Double Ratchet algoritmi rakendus, on väga sarnane Signal-protokolli kasutatavale algoritmile. See võimaldab luua üks-ühele privaatse sidekanali, millel on täiuslik edasisalajasus ja isetervenevad omadused.

Megolm on AES-põhine ühekordne ratšett grupivestlusteks suure hulga osalejatega, kus Olmi kasutamine oleks kulukas, sest see tähendaks iga osaleja jaoks iga sõnumi eraldi krüpteerimist. Megolm jätab selle kõrvale, krüpteerides sõnumid sümmeetrilise ratšetiga, jagades ühe korra iga osalejaga ja seejärel taaskasutades sõnumite jada jaoks enne pöörlemist.

On kaks peamisi rakendusi:

 vodozemac on libolm Rust-reimplementatsioon. Põhimõtteliselt on see Olmi ja Megolmi krüptograafiliste põrkmehhanismide rakendamine koos kõrgetasemelise API-ga, et hõlpsasti luua krüptograafilisi sidekanaleid, mis kasutavad neid põrkmehhanisme teiste osapooltega. Seda on auditeerinud Least Authority, kelle tulemused on avalikult kättesaadavad ja Matrixi meeskond on nendega tegelenud.
 libolm oli Matrixi esimene Double Ratchet algoritmi teostus, nüüd aegunud. On läbinud krüptograafilise ülevaate NCC Group poolt, mille tulemused on avalikult kättesaadavad ja Matrixi meeskond on nendega tegelenud.

 Ökosüsteem 

 Kliendid 
Matrixi abil vestlemiseks on vaja klienti. Kõige kasutatavad on järgmised klientid:

 Element – täisfunktsionaalne platvormideülene klient, mida arendab ja hooldab Element.
 Element X – uue põlvkonna klient mobiilplatvormidele, mis kasutab Matrix-protokolli järgmise (2.0) versiooni.
 FluffyChat – avatud lähtekoodiga Matrixi klient, mis on kirjutatud Flutteris. Rakenduse eesmärk on luua hõlpsasti kasutatav kiirsuhtlus, mis on avatud lähtekoodiga ja kõigile juurdepääsetav.

 Koduserverid 
Koduserver vastutab andmete salvestamise, sõnumite saatmise ja vastuvõtmise jms funktsioonide eest. Koduserverit saab ise juhitavale infrastruktuurile rakendada igaüks. Kõige sagedamini kasutatakse järgmist serveritarkvara:

 Synapse on avatud lähtekoodiga Matrixi koduserveri rakendus, mis on kirjutatud Python/Twisted kasutades. Seda arendab ja hooldab Element.
 Dendrite on Go kasutades kirjutatud teise põlvkonna Matrixi koduserver. Selle eesmärk on pakkuda Synapse'ile tõhusat, usaldusväärset ja skaleeritavat alternatiivi. Seda arendab ja hooldab Element.
 Conduit Matrixi koduserveri Rust implementatsioon.
 conduwuit on Conduiti kõvakahvel.

Suurim Matrixi koduserver on matrix.org, mida juhivad Matrix protokolli arendajad.

 Kasutus 
 Tchap 
Prantsuse valitsuse ministeeriumidevaheline digiteenus lõi Tchapi, Matrixi-põhiste krüpteeritud sõnumsideteenuse avalike teenistujate jaoks ainult konfidentsiaalse teabe vahetamiseks. Projekti peamisteks eesmärkideks on sidevõrgu turvalisuse tagamine ja teenuse koostalitlusvõime parandamine erinevate haldusasutuste vahel.

 TI-Messenger 
Telematics Infrastructure Messenger (lühendatult TI-Messenger, TI-M) on turvaline sõnumivahetussüsteem, mis on välja töötatud Saksamaa tervishoiusektori jaoks. TI-Messenger on osa telemaatika infrastruktuurist ja täidab kõik Saksamaa andmekaitse ja andmeturbe juriidilised nõuded. TI-Messenger põhineb Matrixi protokollil.

 BundesMessenger 
Saksa relvajõudude IT-teenuse pakkuja BWI on välja töötanud avatud lähtekoodiga tehnoloogial põhineva turvalise sõnumiplatvormi BundesMessenger. Seda platvormi, mida Bundeswehr on 2021. aastast BwMessengeri nime all kasutanud, laiendatakse nüüd avalikus halduses kasutamiseks.

BundesMessenger on Element klienti muudetud versioon ja toimib Saksamaa avaliku halduse vajadustele kohandatud kaasaegse suhtlusplatvormi esiotsa. Põhineb Matrixi protokollil.

 Haavatavused 
2021. aasta septembris avaldas Royal Holloway Ülikooli uurijate meeskond uuringu, mis teatab mitmest haavatavusest, mis õõnestavad Matrixi autentimise ja konfidentsiaalsuse garantiisid. Kõik uurijate kirjeldatud rünnakud vajavad pahatahtliku või kompromiteeritud koduserveri abi, mis sihib sellega ühenduvaid kasutajaid. Mõnel juhul on kogenud kasutajatel võimalusi tuvastada, et rünnak on käimas.Martin R. Albrecht, Sofía Celi, Benjamin Dowling and Daniel Jones. Practically-exploitable Cryptographic Vulnerabilities in Matrix. 2022 Haavatavused oli parandatud.

 Viited 

Kategooria:Võrguprotokollid