WhatsApp, Signal, Matrix nebo Briar. Poznejte rozmanitý svět instant messengerů | 🇨🇿

Lednové oznámení WhatsAppu, že "nově" bude sdílet data uživatelů (díky GDPR mimo zemí EU) s Facebookem, vyvolalo mezi uživateli znepokojení a vedlo k nárůstu popularity alternativních messengerů nabízejících bezpečnější (šifrovanou) komunikaci.

Nejvíce na situaci vydělaly aplikace Signal a Telegram, které se v mnoha zemích dostaly na první místa žebříčků nejstahovanějších aplikací.

Výrazně určitě pomohl i Tweet Elona Muska.

Signal začal okamžitě přidávat funkce, na které byli uživatelé zvyklí z WhatsAppu, jako pozadí chatů nebo status "o mně". V případě Signalu byl příval uživatelů tak značný, že aplikace přestala fungovat kvůli nedostatečné kapacitě serverů.

Právě tento výpadek ukazuje na slabiny centralizované architektury Signalu a ostatních mobilních messengerů. Celá situace je proto příležitostí podívat se blíže na rozmanitý svět komunikačních protokolů a platforem a zejména na různé druhy uspořádání.

Tento článek představí hlavní způsoby komunikace používané pro tzv. instant messaging[slovník] a nejpopulárnější mobilní aplikace, které je využívají. Rozdělení a řazení služeb vychází z článku Free Software Foundation India – čím je komunikace svobodnější, bezpečnější a méně centralizovaná, tím lépe.1

Obsah:

Všechny důležité pojmy najdete vysvětlené ve slovníčku na konci textu a kdykoliv se k nim budete moci dostat kliknutím na odkaz [slovník].

🔴 #1 Nesvobodný klient, nesvobodný server + centralizace

WhatsApp patří s údajně dvěma miliardami uživatelů mezi nejpopulárnější messengery a sociální platformy obecně. Fakt, že instant messaging je dnes masovou záležitostí, je do určité míry dílem WhatsAppu.

Jednou z klíčových vlastností mobilní aplikace je tzv. koncové šifrování,[slovník] které je automaticky zapnuté. To samo o sobě je sice hezké a znamená to, že WhatsApp nemůže vidět, co přesně píšete, bohužel ale WhatsApp sbírá metadata zpráv ("data o datech"): třeba kdy jste si s kým psali a kde jste zrovna byli nebo váš seznam kontaktů.

Detaily o šifrování nebo zacházení s daty obecně není možné vidět i proto, že vše probíhá na uzavřených[slovník] serverech. Možnost kontroly je tedy nulová a nezbývá než WhatsAppu věřit (😄).

Data poté využívá Facebook, který od roku 2014 WhatsApp vlastní, například pro cílení reklamy. A historie zacházení s daty uživatelů je v případě Facebooku hrozná.

🟠 #2 Svobodný klient, nesvobodný server + centralizace

Populární messenger Telegram je v mnohém lepší. Na rozdíl od WhatsAppu ho nevlastní nadnárodní korporace s pochybnou historií zacházení s daty i psychickým zdravím uživatelů. Kód aplikace je otevřený[slovník], což znamená, že ho kdokoliv může prozkoumat. Tím výčet předností končí.

Stejně jako WhatsApp i Telegram totiž používá pro servery proprietární (uzavřený) software. Není tak možné zjistit, co se s daty, mezi které patří telefonní číslo nebo seznam kontaktů uživatele, děje poté, co se na servery dostanou.

Hlavní problém však je ten, že v Telegramu není ve výchozím nastavení aktivované koncové šifrování. Pokud tak neučiníte otevřením tzv. secret chatu, uvidí Telegram nejen metadata, ale i obsah vašich zpráv.

O vlivu "výchozí možnosti" na naše chování vzniklo už mnoho studií. A Telegram to stejně dělá špatně.

🟡 #3 Svobodný klient, svobodný server + centralizace

  • Příklad: Signal (Android, iOS) (dále třeba méně známý Wire)

Signal využívá otevřený a svobodný software pro své aplikace i servery. O uživatelích nesbírá žádná data ani metadata kromě telefonního čísla, které je potřeba k používání aplikace. Z dosavadních aplikací tedy vychází nejlépe. Dokonce ho používá i whistleblower Edward Snowden, který do médií vynesl informace o masivním celosvětovém sledování telefonů a elektronické komunikace ze strany bezpečnostních služeb USA, za což je dodnes stíhán. Ale...

Jako všechny dosavadní aplikace je centralizovaný (= kompletně závislý na jednom poskytovateli serverů) a vytváří tzv. vendor lock-in[slovník] neboli uzamčení zákazníka.

Obecně to znamená, že je pro zákazníka obtížné změnit službu nebo poskytovatele. V tomto případě to znamená, že pokud chcete začít používat jinou službu a udržet komunikaci se svými kontakty, budete je muset přemluvit2, aby se přesunuli s vámi.3

Mezi námi, co se zabezpečení komunikace týče, lepší (ale ani horší) než Signal už to dál v tomto článku nebude. Jak se říká, "když je dobré pro Snowdena, je dobré i pro vás". Jak už jsem ale psal, v některých oblastech stále Signal není dokonalý.

Decentralizaci[slovník] a možnost svobodně přecházet mezi aplikacemi nabízí až komunikačních služby postavené na federovaných protokolech[slovník] a architektuře peer-to-peer.[slovník]

🟢 #4 Svobodný klient, svobodný server + federace

Protože jsme opustili oblast centralizovaných řešení, spíše než o aplikacích bude vhodné mluvit o federovaných4 protokolech. Konkrétně se zaměříme na protokoly Matrix a XMPP (Extensible Messaging and Presence Protocol, také známý jako Jabber), které fungují trochu odlišně,5 ale zároveň mají mnoho společného.6

Federace?

Tyto protokoly tvoří dvě oddělené7, federované, decentralizované sítě. Jak se vůbec federace a decentralizace projevuje? Když chcete začít používat Signal nebo jinou z výše zmíněných centralizovaných služeb, stáhnete si aplikaci, vyplníte potřebné údaje nebo k nim dáte programu přístup (např. telefonní číslo) a můžete ji používat. V případě decentralizovaných služeb existuje ještě jeden mezistupeň: výběr serveru.

Decentralizovaná síť totiž jeden ústřední server nahrazuje řadou menších, které jsou propojené tvoří federaci. V případě Matrixu jich je podle nadace Matrix.org zhruba 20 tisíc.

Přístup Matrixu k decentralizaci
Decentralizace Matrixu, včetně dalších připojených služeb7 (Zdroj)

Servery provozují a spravují jednotlivci (teoreticky si kdokoliv, i vy nebo já, může založit server), skupiny lidí nebo organizace. Tím lze dostáhnout mnohem větší svobody než u centralizovaných službách, v případě vlastního serveru pak svobody úplné.

Když se připojíte k nějakému serveru, můžete se přidat do skupinových chatů a komunikovat s uživateli nejen daného serveru, ale i všech dalších federovaných serverů v rámci sítě. Není tedy potřeba, abyste vy a vaši přátelé byli všichni na jednom serveru.

Migrace účtů mezi servery není tak snadná jako v decentralizovaných sociálních sítích. Pro změnu serveru je nutné vytvořit nový účet na sevreru, kam se chcete přesunout. Matrix se snaží vyvinout nástroj, který má proces usnadnit.

Ochrana soukromí

Jak je to v Matrixu a XMPP s koncovým šifrováním a soukromím obecně? V Matrixu je v soukromých konverzacích automaticky zapnuté. Správci serverů ale přesto mohou vidět metadata. V místnostech je pak na tvůrci místnosti, zda šifrování aktivuje. Protokol Matrix a klient Element (dříve nazývaný Riot) dokonce využila francouzská vláda k vývoji vlastní aplikace určené pro zaměstnance, aby přestali používat jiné služby.

XMPP ve své původní verzi koncové šifrování automaticky nepoužívá, ale pozdější rozšíření protokolu ano. Bohužel XMPP server ve výchozím nastavení uchovává seznam kontaktů a další data. Záleží pak na konkrétním klientu, zda tato data budou přístupná ostatním.

Matrix tedy vychází z hlediska soukromí jako lepší služba. Nabízí také hezčí uživatelské rozhraní a více funkcí, což ho však na druhou stranu více otevírá potencionálním útokům.

Z těchto dvou federovaných služeb bych ho přesto doporučil pro potřeby, o kterých je primárně tento článek (snadná a bezpečná elektronická komunikace s rodinou, přáteli, kolegy apod.). I proto, že jsem při průzkumu častěji narazil na servery Matrixu než XMPP, včetně těch od respektovaných organizací PrivacyTools (zaměřená na soukromí uživatelů) nebo Feneas (věnujíci se federovaným projektům).

Mimochodem, na výše popsaném principu decentralizace a federace funguje i sociální síť Fediverse.

🟢 #5 Svobodný klient + peer-to-peer design

Jak se liší systémy založené na peer-to-peer od těch federovaných? V P2P architektuře není rozdíl mezi serverem a klientem. Všechny uzly[slovník] sítě jsou si rovnocenné, působí současně jako klienti i servery pro jiné klienty.

V P2P oproti federovaným sítím nejste závislí na správcích, máte kontrolu nad svými daty a vaše identita nemůže být potenciálně vázaná na konkrétní server. P2P služby také často fungují i bez připojení k internetu (viz níže).

Nevýhodou může být neschopnost obnovit účet v případě zapomenutí hesla, protože není uložené na žádném serveru, a to platí pro ostatní uživatelská data.

Typy uspořádání sítíTypy uspořádání sítí


Vše se zkrátka nachází u uživatele (ať v počítači, nebo v mobilu), a navíc v zašifrované podobě. Správci serverů neexistují, data se synchronizují přímo mezi uživateli. Takto lokální systém může být naopak užitečný třeba v totalitních zemích.

Secure Scuttlebutt (SSB)

Architekturu P2P využívá také sociální síť Secure Scuttlebutt. O tom, jak přesně funguje, se dočtete zde.

Podle Jay Graber je však klíčovou nevýhodou peer-to-peer oproti federovaným sítím neobvyklé uživatelské prostředí, projevující se například neschopností mazat a upravovat obsah. Zkrátka vše, co pošlete do P2P sítě, tam i zůstane.

Významným P2P messengerem je otevřená aplikace Briar, navržená pro "aktivisty, novináře a kohokoliv jiného, kdo potřebuje bezpečný, snadný a robustní způsob komunikace".

Komunikace je šifrovaná a může probíhat přes internet (konkrétně síť Tor[slovník]), WiFi (ke které jste oba připojeni) nebo Bluetooth, tedy i zcela bez připojení k internetu. Fungovala by tak i za totálního výpadku internetu. Závislost na externí infrastruktuře tedy naprosto minimalizuje. Na druhou stranu vyžaduje, aby všichni účastníci komunikace byli online, a v tuto chvíli neexistuje klient pro iOS.


Aktualizováno 4. 2.

Pokud si chcete o tématu decentralizované komunikace přečíst více, odkážu vás na rozsáhlý přehled stavu decentralizovaných platforem k lednu 2021 vypracovaný projektem Bluesky v čele s již zmíněnou Jay Graber.


Slovník pojmů

  • Decentralizace – v případě sociálních a komunikačních sítí decentralizace označuje stav, kdy síť či služba není závislá na jednom serveru. Více
  • Fork – alternativní větev programu, která je vyvíjena nezávisle a zpravidla i jinými lidmi. Více
  • Instant messaging – internetová služba, umožňující svým uživatelům sledovat, kteří jejich přátelé jsou právě připojeni, a dle potřeby jim posílat zprávy, chatovat, přeposílat soubory mezi uživateli a i jinak komunikovat. Více
  • Klient – program sloužící jako brána ke službě poskytované jiným uzlem v počítačové sít (často internetu) neboli serverem. Více
  • Koncové šifrování (též E2EE) – šifrování, při kterém je přenos dat zajištěn proti odposlechu správcem komunikačního kanálu i správcem serveru, přes který uživatelé komunikují. Více
  • Otevřený software – viz Svobodný a otevřený software.
  • Peer-to-peer – též P2P a klient-klient, je označení typu počítačových sítí, ve které spolu komunikují přímo jednotliví klienti (uživatelé). Opakem je klient-server, ve které jednotliví klienti komunikují vždy s centrálním serverem či servery, prostřednictvím kterého i komunikují s jinými klienty. Více
  • Proprietární (uzavřený) software – software, kde jeho autor upravuje licencí (typicky EULA) či jiným způsobem možnosti jeho používání. K takovému softwaru nejsou zpravidla k dispozici volně zdrojové kódy či v nich nelze svobodně dělat úpravy a výsledné dílo distribuovat. Více
  • Protokol – ve světě informačních technologií pojem označuje standardy pro komunikaci. Definují pravidla a formáty komunikace, díky čemuž počítače nebo webové služby fungují pohromadě a propojeně. Příkladem jsou HTTP(S) (protokol používaný při komunikaci mezi prohlížeči a servery webu) nebo SMTP, IMAP a POP3 (e-mailové protokoly). Více
  • Svobodný a otevřený software – také FOSS z anglického free and open-source software, je v informatice označení pro software, který je zároveň svobodný a otevřený. To znamená, že tento software může kdokoliv používat, kopírovat, studovat i měnit a zdrojový kód je volně sdílen, takže kdokoliv ho může upravovat a vylepšovat. Opakem je software s uzavřeným kódem (proprietární software), který je chráněn omezujícím autorským právem a jehož zdrojový kód není obvykle uživatelům přístupný. Více
  • Tor – název softwarového systému zajišťujícího anonymizaci uživatele při pohybu na Internetu. Datový tok uživatele prochází nejprve sítí Tor a teprve pak dojde k cílovému počítači. Tím je možné skrýt informace o IP adrese uživatele a další údaje, které by ho mohly identifikovat. Díky používání Toru je obtížnější vysledovat stopy činnosti uživatele na Internetu včetně návštěv webových stránek, on-line příspěvků, programů pro komunikaci v reálném čase (instant messaging) a dalších forem komunikace. Více
  • Uzavřený software – viz Proprietární (uzavřený) software.
  • Uzel – síťový úzel je označení pro zařízení v počítačových sítích, které slouží k jejich propojování nebo jako koncový bod.
  • Vendor lock-in – též proprietární uzamčení nebo uzamčení zákazníka, činí zákazníka závislým na produktech a službách konkrétního dodavatele tím, že vytváří značné náklady a překážky proti přechodu k produktům a službám jiných dodavatelů. Více

Návrat na obsah


  1. V decentralizovaných sociálních a komunikačních sítích vidím ideál, ke kterému – věřím – i díky přešlapům firem jako Facebook směřujeme. Proto využívám toto dělení. Avšak ze jmenovaných programů ke komunikaci nejvíce používám WhatsApp (bohužel), po něm Signal. Na Signalu mi vyhovuje zejména možnost udělat z něj výchozí aplikaci pro SMS, protože když už mají být mé SMS zprávy někde uložené (a zálohované), ať je to na serverech poskytovatele, kterému věřím. A to Signal je. Tato funkce je dostupná pouze pro Android. S uživateli Signalu udržuji zabezpečenou komunikaci, s ostatními nezabezpečenou, vše z jednoho místa.

    Dál se už nějakou dobu pohybuji v aplikaci Element (klient Matrixu) a právě v ní vidím největší potenciál pro masové rozšíření. Naopak P2P služby mi stále přijdou jako příliš obskurní pro běžné uživatele. I tak je ale považuji za úžasné vynálezy a právě proto jim věnuji poměrně hodně prostoru. 

  2. Na přemlouvání přibuzných, přátel či kolegů k tomu, aby využívali lepšé způsoby komunikace, samozřejmě není nic špatného. Jen je škoda, že se k němu musíme uchylovat. 

  3. Tuto nedokonalost Signalu se snaží řešit jeho fork[slovník] s názvem Session, která nabízí decentralizaci za použití blockchainu a dalších technologií z oblasti kryptoměn a odebírá nutnost zadávat telefonní číslo. Blockchain je však problematický třeba z hlediska spotřeby energie a s decentralizací vlastně nemá moc společného

  4. Slovo "federovaný" je v tomto případě důležité, pokud chceme být přesní. Signal, WhatsApp nebo Skype používají k šifrování zpráv tzv. Signal Protocol, který není federovaný. Moxie Marlinspike, tvůrce Signalu a spoluautor Signal Protocolu, k tomu v roce 2016 napsal:

    "Nic na žádném z protokolů, které jsme vyvinuli, nevyžaduje centralizaci; je zcela možné vyvinout federovaný messenger postavený na Signal Protocolu, ale já už nevěřím, že je vůbec možné postavit konkurenceschopný federovaný messenger. (...) Dokud federace znamená stagnaci, zatímco centralizace znamená pohyb, federované protokoly budou mít problémy s existencí v softwarovém prostředí, které vyžaduje pohyb jako dnes. (...) Hned na začátku jsem si myslel, že Signal zfederalizujeme, jakmile jeho rychlost opadne. Nyní si uvědomuji, že ke zpomalení pravděpodobně nikdy nejde, naopak se zdá, že se rychlost celé scény neustále zvyšuje." 

  5. Pokud se chcete dočíst více o rozdílu mezi protokoly Matrix a XMPP, je vysvětlen na stránkách nadace Matrix.org, kde se zároveň píše:

    "Celá oblast XMPP vs. Matrix je docela subjektivní. Spíše než bojovat o to, který otevřený interoperabilní komunikační standard funguje nejlépe, bychom měli spolupracovat a překlenout vše dohromady. Čím více federace a interoperability, tím lépe." 

  6. Dokonce i uživatelské adresy mají podobný formát. V Matrixu @xxx:yyy.zz, v XMPP xxx@yyy.zz, kde xxx je mé zvolené uživatelské jméno a yyy.zz adresa serveru. 

  7. Služby Matrixu a XMPP lze propojit pomocí tzv. bridge.[slovník] Jiné bridge spojují Matrix se službami jako Discord, Slack nebo Instagram. 

  8. Čistě pro úplnost musím zmínit, že Matrix má vedle federované verze i P2P verzi, která byla odhalena v roce 2020. 


More from Outputs – digital technology journal