Razvijači decentraliziranog komunikacijskog sustava Matrix nove verzije ključnih klijent aplikacija . Riot je napisan koristeći web tehnologije i React framework (primjenjuje se omotnica ). Verzija za radnu površinu bazirana na Electron platformi. Kod pod licencom Apache 2.0.
Ključno u novim verzijama postalo je uključivanje end-to-end šifriranja (E2EE, end-to-end encryption) prema zadanim postavkama za sve nove privatne chatove, u koje se ulazi slanjem pozivnica. End-to-end šifriranje realizirano je na temelju vlastitog protokola koji koristi za inicijalnu razmjenu ključeva i održavanje sesijskih ključeva algoritam (dio Signal protokola).
Za usklađivanje ključeva u chatovima s više sudionika primjenjuje se proširenje , optimizirano za šifriranje poruka s velikim brojem primatelja i omogućava dešifriranje jedne poruke nekoliko puta. Šifrat poruke može se pohraniti na nepouzdanom poslužitelju, ali se ne može dešifrirati bez sesijskih ključeva, koji se čuvaju na strani klijenta (svaki klijent ima svoj sesijski ključ). Tijekom šifriranja, za svaku poruku generira se vlastiti ključ na temelju ključa sesije klijenta, koji autentificira poruku u vezi s autorom. Presretanje ključa omogućava kompromitiranje samo već poslanih poruka, ali ne i poruka koje će biti poslane u budućnosti. Implementacija metoda šifriranja prošla je reviziju u organizaciji NCC Group.
Druga važna promjena je aktivacija podrške za međusobno potvrđivanje (Cross-signing), omogućujući korisniku iz već potvrđenog sesija da verifikuje novu sesiju. Ranije, prilikom povezivanja na chat s novog uređaja, ostalim sudionicima prikazivala se upozorenje, kako bi se izbjeglo prisluškivanje u slučaju da dođe do neovlaštenog pristupa računu žrtve. Međusobno potvrđivanje omogućava korisniku da verifikuje svoja druga uređaja prilikom pristupa i potvrdi povjerenje u novi login ili utvrdi da je netko pokušao pristupiti bez njihovog znanja.
Kako bi se olakšala konfiguracija novih prijava, uvedena je mogućnost korištenja QR kodova. Zahtjevi za verifikaciju i rezultati sada se čuvaju u povijesti kao izravno poslane poruke. Umjesto skočnog modalnog dijaloga, verifikacija se sada provodi u bočnoj traci. Također je označena slojevitost , koja omogućava povezivanje sa šifriranim čavrljanjima iz klijenata koji ne podržavaju E2EE, kao i funkcioniše na strani klijenta pretraživanja i indeksiranja datoteka u čavrljanjima sa šifriranjem.
Podsjećamo, platforma za organizaciju decentraliziranih komunikacija Matrix razvija se kao projekt koji koristi otvorene standarde i pridaje veliku važnost sigurnosti i privatnosti korisnika. Kao transport koristi se HTTPS+JSON s mogućnošću korištenja WebSockets ili protokola temeljenog na +. Sustav se formira kao zajednica servera koji mogu međusobno komunicirati i spajaju se u zajedničku decentraliziranu mrežu. Poruke se repliciraju na svim serverima na koje su povezani sudionici razmjene poruka. Poruke se distribuiraju po serverima slično načinu na koji se commit-ovi šire između Git repozitorija. U slučaju privremenog isključenja servera, poruke se ne gube, već se dostavljaju korisnicima nakon ponovnog pokretanja servera. Podržavaju se različite opcije identifikatora korisnika, uključujući email, broj telefona, račun na Facebooku itd.

U mreži ne postoji jedinstvena točka kvara ili kontrole nad porukama. Svi poslužitelji koji sudjeluju u raspravi su ravnopravni.
Svaki korisnik može pokrenuti vlastiti poslužitelj i povezati ga s zajedničkom mrežom. Moguće je stvoriti za interakciju Matrix-a s sustavima temeljenim na drugim protokolima, kao što su usluge za dvosmjerno slanje poruka u IRC-u, Facebooku, Telegramu, Skypeu, Hangoutsu, Emailu, WhatsAppu i Slacku.
Osim trenutnog slanja tekstualnih poruka i organizacije čavrljanja, sustav se može koristiti za prijenos datoteka, slanje obavijesti,
organizaciju telekonferencija, obavljanje glasovnih i video poziva.
Matrix omogućava pretraživanje i neograničeno pregledavanje povijesti prepiske. Također se podržavaju napredne mogućnosti poput obavijesti o tipkanju, procjene prisutnosti korisnika online, potvrde čitanja, push obavijesti, pretraživanje na strani servera, sinkronizacija povijesti i stanja klijenata.
Izvor: opennet.ru
