Matrix

Selvennettäköön näin aluksi, että jos tulit lukemaan arvostelua vuoden 1999 hittielokuvasta, saatat mahdollisesti tulla hieman pettymään sisällön suhteen. Myöskään nyt ei ole aika käsitellä kuuluisaa filosofista kysymystä siitä elämmekö simuloidussa todellisuudessa, vaikka siitäkin kirjoittaminen ehkä joskus voisi olla mielenkiintoista. Tänään puhumme Matrix-standardista, sen toteuttavista sovelluksista ja siitä mikä tekee siitä niin hienon.

Matrix itsessään on avoin standardi ja kevyt viestintäprotokolla, joka on ollut kehitteillä muodossa tai toisessa jo vuodesta 2014. Projekti sai alkunsa israelilaisen Amdocsin sisäisenä projektina, mutta siirtyi sitten myöhemmin New Vector nimisen startup-yrityksen hallintaan. New Vector kehittää Matrixia ja sen referenssisovelluksia isolla rahalla ja tuo kehittäjilleen ruoan pöytään, mutta itse protokollan kehitystä valvoo säätiö nimeltään “The Matrix.org Foundation CIC”. New Vectorin tuotokset ovat avointa lähdekoodia ja Matrix-standardi on itsessään vapaa. New Vector lihottaa omaa tiliään myös myymällä Matrix-kotipalvelimia SaaS-mallilla (Software as a service).

Matrix-standardin päälle voidaan rakentaa sovelluksia, jotka kommunikoivat verkon yli reaaliajassa, hajautetusti ja yhteen toimivasti muiden viestimien kanssa. Hajautettu eli federoitu viestintä tarkoittaa sitä, että Matrixissa ei ole yhtä keskuspalvelinta, jonka kanssa kaikki asiakassovellukset keskustelevat, vaan palvelimia voi olla useita ja ne voivat viestiä keskenään muodostaen näin verkon. Hyvänä esimerkkinä federoidusta viestinnästä on sähköposti, jossa jokaisella palveluntarjoajalla on omat sähköpostipalvelimensa, mutta silti postit löytävät perille toisten palveluntarjoajien laatikoihin. Yhteentoimivuus muiden viestimien kanssa tarkoittaa Matrixin näkökulmasta sitä, että avoimen standardardinsa luonteen takia Matrix-protokolla on helppo saada juttelemaan myös muiden viestintäprotokollien kanssa. Ei ole siis ihan tavatonta, että jos näin halutaan, Matrix yhdistää samaan keskusteluun ihmisiä IRC:istä, WhatsAppista, Telegrammista tai vaikka Slackista.

Koska Matrix itsessään on vain kirjallinen standardi, tarvitsee se myös standardin toteuttavia sovelluksia ollakseen oikeasti käytettävä. Oleellisin sovelluksista lienee Element, joka ennen heinäkuun 2020 uudelleenbrändäystä tunnettiin nimellä Riot. Element on moderni viestintäsovellus, josta löytyvät omat versiot selaimelle, Applen iOS-laitteille sekä Androidille. Tavalliselle tallaajalle Element on epäilemättä se tärkein sovellus Matrixin ihmeellisen maailmaan. Toinen merkittävä, mutta usein peruskäyttäjälle näkymätön sovellus, on Synapse, joka on itsessään referenssitoteutus Matrix-kotipalvelimesta ja todennäköisesti pyörittää suurta osaa Matrix-verkosta. Parasta Matrix-standardissa on kuitenkin sen avoimuus. Kukaan ei ole sidottu tyytymään Elementiin tai Synapseen, vaan jos rahkeet ja mielenkiinto riittävät, niin kuka tahansa voi tyhjästä rakentaa uuden standardia noudattavan sovelluksen, joka kykenee viestimään samassa verkossa muiden Matrix-sovellusten kanssa. Näitä sovelluksia onkin noussut jo huimaa tahtia referenssitoteutusten rinnalle ja lisää niistä voit lukea esimerkiksi Matrixin viikottaisista blogikirjoituksista.

Jos mielenkiintosi heräsi, niin tässä vaiheessa olisi hyvä hakea vaikka kupponen kuumaa, ottaa kännykkä kauniiseen käteen ja hakea sovelluskaupasta edellä mainittu Element-sovellus. Vaihtoehtoisesti voit myös availla selaimesta Element-sovelluksen, mutta tässä vaiheessa on aika tehdä myös ensimmäinen valinta. On aika valita kotipalvelin, jossa käyttäjäsi ja viestihistoriasi asuvat. Käyttääkö Matrix-tarjoamaan “virallista” kotipalvelinta, käyttääkö jotain muuta kotipalvelinta vai peräti perustaako kokonaan oma kotipalvelin? Jälkimmäinen on yleensä tavalliselle käyttäjälle kivisempi polku, mutta esimerkiksi yrityksen sisäiseen viestintään se ei ole ollenkaan hassumpi vaihtoehto. Helpoimmalle tässä tapauksessa pääsee valitsemalla virallisen kotipalvelimen, mutta muita palvelin instansseja löydät esimerkiksi täältä: https://www.hello-matrix.net/public_servers.php. Kuten missä tahansa federoidussa palvelussa, kotipalvelimilla voi olla uniikkeja sääntöjä, joita ylläpitävät pyytävät käyttäjiään noudattamaan. Tämä voi olla esimerkiksi tietyn tyyppisen keskustelun rajoittaminen joillain kotipalvelimilla.

Kun palvelin on valittu, on aika luoda käyttäjä valitsemallesi palvelimelle. Valitse tunnuksesi tarkkaan, sillä tunnusta ei voi enää vaihtaa ja sen avulla muut käyttäjät voivat aloittaa kanssasi keskustelun. Lopullinen käyttäjänimesi muodostuu tunnuksestasi ja kotipalvelimestasi (esimerkiksi omalla kohdallani @uuksu:privacytools.io). Jotkut kotipalvelimet vaativat myös sähköpostiosoitteen, jota käytetään tarvittaessa tunnusten palauttamiseen ja viesti-ilmoitusten lähettämiseen.

Kun kirjaudut ensimmäisen kerran, Element haluaa sinulta hieman hämmentävästi nimetyt Security Keyn ja Security Phrasen. On tärkeää, että molemmat näistä avaimista ovat pitkiä, vaikeasti arvattavia ja hyvin suojattuja. Avaimet liittyvät oleellisesti Matrixin salausmalliin ja jos avaimet eivät ole turvallisia, voi joku muu potentiaalisesti päästä viesteihisi käsiksi! Security Key on avain, jota käytetään viestien salaamiseen kotipalvelimella. Oletuksena tätä avainta ei tallenneta palvelimelle, mutta halutessasi niin se voidaan tallentaa ja sen turvaksi annetaan siinä tapauksessa Security Phrase. Huomaa, että koskaan avainta ei tallenneta salaamattomana minnekään ja näin varmistetaan se, että ainoastaan sinä olet omien viestintäavaimiesi haltia. Joka kerta, kun kirjaudut uudelle “laitteelle” (Matrix-termistössä laite on mikä tahansa uusi kirjautuminen, esimerkiksi toinen selain tai sovellus), sinulta kysytään edellä mainittuja avaimia, jotta salattu viestihistoriasi aukeaa uudella laitteella ja viestintä muiden käyttäjien kanssa jatkuu ennallaan.

Elementin käyttö itsessään on helppoa ja sen pitäisi olla tuttua kenelle tahansa moderneja viestimiä käyttäneelle. Suosittelen, että aluksi käyt läpi asetukset, jossa voit antaa itsellesi vaihtoehtoisen nimen ja profiilikuvan. Ilmoitusasetuksista kannattaa valita sellaiset asetukset, että sähköpostien määrä ei ala täyttämään postilaatikkoa.

Sitten voitkin aloittaa viestimisen haluamisesi kontaktien kanssa. Matrixin termistössä kaikki keskustelut ovat huoneita, joissa voi olla osallistujia yhdestä jäsenestä ylöspäin. Huoneet voivat olla joko julkisia tai yksityisiä, jolloin ensimmäisessä tapauksessa ne saavat valitun nimen kotipalvelimelle ja jälkimmäisessä liittyminen onnistuu ainoastaan huoneessa olijan kutsusta. Huonetta perustaessa voit myös valita onko huone päästä päähän salattu. Yksityiseen viestintään se kannattaa pitää oletuksena päällä, mutta yleisissä huoneissa täytyy miettiä, onko tarvetta boteille tai integraatioihin toisiin viestimiin. Edellä mainitut eivät ainakaan vielä toimi päästä päähän salatun viestinnän yli, mutta tämäkin ajan kanssa toivottavasti muuttuu. Ainakin Elementin selainversiossa voit myös selata julkisten huoneiden listaa ja näin löytää ehkä huoneita, joiden aihepiirit kohtaisivat omien kiinnostuksenkohteittesi kanssa.

Mainitsemisen arvoinen asia Matrixissa on sen luottamussuhteet. Oletuksena esimerkiksi Element ei luota oikein kehenkään ja luottamus toisiin käyttäjiin on luotava manuaalisesti. Tämä tapahtuu navigoimalla valitun käyttäjän profiiliin ja käynnistämällä verifiointiprosessi. Element näyttää osapuolille sarjan emojeja, jotka toisen pitää varmistaa näkevänsä myös omalla ruudullaan. Varmennus tapahtuu yleensä jotain muuta kanavaa pitkin, esimerkiksi naamatusten, puhelimessa tai jossain toisessa luotettavassa viestimessä. Näin voidaan varmistua siitä, että linjan toisessa päässä on juuri se henkilö, jonka kanssa oletetaankin keskustelevan. Kun kirjaudut sisään uudella laitteella, Element haluaa vahvistaa, että laitteelle kirjautui juuri sinä. Tällöin aikaisemmassa laitteessa tulee ilmoitus, jonka voi kuitata hyväksytyksi, jos tietää juuri kirjautuneensa sisään toisella laitteella. Uudesta laitteesta tulee nyt myös luotettu muille käyttäjille.

Halutessasi Elementillä voi myös soittaa ääni- ja videopuheluita. Huomaathan kuitenkin, että tällöin käytössä on Jitsi-palvelu, joka oletuksena ei ole päästä päähän salattu. Jitsi itsessään on hieno korvike esimerkiksi Zoomille tai Teamsille, mutta se on itsessään oman postauksen arvoinen asia.

Toivottavasti mielenkiintosi heräsi Matrixia kohtaan ja voisit kuvitella ottavasi sen käyttöön omassa henkilökohtaisessa viestinnässäsi ja ehkä jopa yrityksen sisäisessä viestinnässä. Matrix itsessään on hieno projekti ja sen tulevaisuus näyttää varsin valoisalta. Projektista on kiinnostuttu peräti jo valtiotasolla, kun Ranskan ja Saksan tiedetään suunnittelevan omia viestintäprojektejaan, jotka perustuvat Matrix-protokollaan. Ehkä vielä näemme sen päivän, että ihmisten oikeuksien loukkaaminen loppuu ja viestinnästä verkossa tulee oikeasti ja aidosti turvallista!

Olen kiitollinen kaikesta palautteesta ja kommenteista. Nyt kun mahdollisesti otit jo Elementin käyttöön, niin hyppää siellä kanavalle #uuksun-blogi:privacytools.io ja tule heittämään morot!

PS. Tsekkaathan myös kotisivuni osoitteessa https://uuksu.fi

Lisää luettavaa: * https://en.wikipedia.org/wiki/Matrix_(protocol) * https://techcrunch.com/2019/10/10/new-vector-scores-8-5m-to-plug-more-users-into-its-open-decentralized-messaging-matrix/?guccounter=1 * https://matrix.org/foundation/ * https://matrix.org/docs/guides/introduction * https://upcloud.com/community/tutorials/install-matrix-synapse/ * https://matrix.org/blog/category/this-week-in-matrix