Telegram nikdar ni bil varen
O komunikacijski aplikaciji/platformi Telegram se je pretekli mesec veliko govorilo zaradi aretacije njegovega soustanovitelja in direktorja Pavla Durova v Franciji. Kaj točno je Telegram in v čem se razlikuje od drugih podobnih platform?
Telegram sta brata Pavel in Nikolaj Durov ustanovila leta 2013, k avri komunikacijske varnosti pa je prispeval Pavlov odhod iz Rusije leto pozneje. Že leta 2006 sta ustanovila tudi rusko družbeno omrežje VKontakte (»ruski Facebook«), ki še danes sodi med najpopularnejše strani na ruskem delu interneta. Stran je imela do leta 2014 že precej široko paleto lastnikov, nato pa je Pavel Durov v ne povem pojasnjenih okoliščinah kot direktor odstopil. Odstopno izjavo je sprva označil kot prvoaprilsko potegavščino, a je moral konec meseca vseeno oditi. Trdil je, da si je podjetje podredil ruski predsednik Putin, sam pa da državi (Rusiji) ni želel predati podatkov o uporabnikih, zato je raje odšel. Durov je kmalu zatem zapustil tudi državo in Telegram je v očeh javnosti postal eden od stebrov upora proti ruskim oblastem, čeprav tega ni nikoli izrecno trdil ali počel.
In seveda na Telegramu je bila od vsega začetka 'nalepka', ki je obljubljala 'varno sporočanje' in 'šifrirane komunikacije', vendar to ni povsem res – Telegram je čisto spodobna aplikacija za komunikacijo, a njen fokus še zdaleč nista varnost in zasebnost. Postavimo stvari torej na pravo mesto.
Kaj je Telegram
Telegram je komplet aplikacij za komuniciranje, ki omogočajo klice in pošiljanje sporočil med dvema uporabnikoma ali več. Komunikacija je lahko šifrirana ali pa ne, prav tako je moč tudi množično sporočanje prek kanalov, ki imajo milijone naročnikov. Telegram pa ni aplikacija za varno in šifrirano komunikacijo med posamezniki, čeprav to tudi omogoča. Pojasnimo.
Šifriranje je zelo splošen izraz, ki lahko pomeni marsikaj. Zelo poenostavljeno povedano gre za pretvorbo vsebine oziroma informacij v obliko, ki je brez ključa nerazumljiva. Hudič se skriva v podrobnostih, saj je vrst šifriranja ogromno. Algoritmi so lahko tako dobri, kar je dokazano z matematično analizo, da nam ves čas svetu ne bo pomagal pri nasilnem odklepu, lahko pa so tudi trivialno preprosti, zlomljivi v nekaj minutah. Za šifriranje in dešifriranje se lahko uporablja isti ključ – simetrično šifriranje –, kar na internetu ni posebej praktično, ker smo s tem problem prevedli na problem varnega prenosa ključa ali pa par javnega in zasebnega ključa (asimetrično šifriranje). Zadnja možnost je varnejša in zato v praksi bistveno uporabnejša, a tudi ta zahteva zaupanje v istovetnost predlagatelja javnega ključa.
Varen ali ne?
V bežnih debatah o orodjih za varno komuniciranje se je Telegram pogosto znašel v istem košu kot Signal, torej med orodji za šifrirano in varno sporočanje. Dasiravno Telegram z nekaj truda to tudi res podpira, šifriranje ni njegov glavni namen, predvsem pa je izvedeno tako okorno, da ga je še najlažje – ne uporabiti. Razlogov za tako zelo napačno predstavo o Telegramu v javnosti je več, k njej pa sta pripomogla tudi ustanovitelja, ki je nista nikoli javno zanikala. Nasprotno, na Telegramovih spletnih straneh najdemo zapis, da je aplikacija varnejša od Whatsappa. Vendar to velja le v zelo specifičnih primerih, drži pa, da je koda odjemalca odprta, protokol pa znan. Vsakdo lahko preveri, kako je koda videti, in jo sam prevede.
Pri aplikacijah za komunikacijo pa je aktualno šifriranje od pošiljatelja do prejemnika (end-to-end). Takšna implementacija omogoča varno sporočanje, saj niti ponudnik infrastrukture ali aplikacije ne more razvozlati vsebine pogovorov. Takšna komunikacija je nedostopna tudi organom pregona, saj jim je ponudnik ne more razkriti, ker je sploh ne pozna. Slabe lastnosti so poleg družbenih implikacij, kamor sodi mogoča zloraba za nečedne posle, tudi manj preprosta sinhronizacija med več napravami, ki bi jih pošiljatelj želel uporabiti. To je razlog, da pri namestitvi Whatsappa na računalnik (oziroma poganjanju v brskalniku) za ogled starih sporočil potrebujemo internetno povezavo tudi na mobilnem telefonu in da pogovorov v Signalu ni mogoče sinhronizirati za nazaj, če napravo izgubimo ali podatke pobrišemo.
Ko avtorji Telegrama zagotavljajo, da aplikacija nudi šifrirano komunikacijo, nimajo v mislih tega. Brez vklopa posebnih funkcij so pomenki v Telegramu šifrirani od pošiljatelja do ponudnika storitve in nato od tam do prejemnika. Telegram vsebino lahko odšifrira, in če prejme zahtevek organov pregona, tudi preda naprej (o nesodelovanju z oblastmi v nadaljevanju).
Za vključitev šifriranja od pošiljatelja do prejemnika v Telegramu moramo klikniti vsaj štirikrat, pri čemer mora biti naslovnik tisti hip povezan z internetom. Slika: Matthew Green, Is Telegram really an encrypted messaging app?
Telegram rad poudarja tudi odprtokodnost, ki v teoriji vsakomur omogoča, da izdela aplikacije, ki bodo sodelovale v istem ekosistemu. V praksi to ni tako zelo preprosto. Najprej potrebujemo API za dostop do omrežja, ki ga dobimo z registracijo pri Telegramu. Ta nam bo omogočila pridobiti lastna api_id in api_hash, ki sta za to potrebna. Aplikacija, ki jo s tem sestavimo, bo še vedno uporabljala Telegramovo strežniško infrastrukturo, nad katero nimamo popolnoma nobenega nadzora niti ne moremo preveriti, kaj teče na njej in kako. V teoriji lahko postavimo tudi lasten strežnik, ki se bo odzival na enake API, a je to bistveno prezahtevno za vse, razen največje igralce.
Druga težava je sama koda. Ed Baiev in Andrii Fedin iz Yalantisa sta jo prečesala in ugotovila, da je daleč od razvijalcem prijazne. V njej mrgoli nepojasnjenih magičnih vrednosti (konstant, ki so brez pojasnila zapečene v kodo), stavki if so neokusno dolgi, celotna koda pa ima špagetasto naravo (spaghetti code). Tega nihče ne mara, tako kodo je težko vzdrževati in jo predvsem razumeti. To ovira razvoj in razhroščevanje, hkrati pa ustvarja gojišče za vnos novih hroščev. A v teoriji (in tudi praksi) svojega odjemalca lahko napišete, le da ga morate zaradi zahtev licence GNU GPL priobčiti na spletu, najraje na Githubu. Kako je to videti v praksi, lahko preizkusimo z uporabo katerega izmed neuradnih odjemalcev, denimo Telegrama X.
Telegram ni aplikacija za pošiljanje sporočil
Ta mednaslov je pogumna trditev, saj Telegram sporočila seveda zna pošiljati, a je še vse kaj več in danes figurira kot družbeno omrežje, k čemur prispevata dve funkciji. Ena izmed najbolj popularnih je naročanje na kanale, ki delujejo kot omrežje za oddajanje (broadcast), kjer lahko ena oseba s svojimi vsebinami doseže milijone naročnikov. Druga, povezana funkcionalnost so ogromni skupinski pogovori, ki vsebujejo tisoče članov. Ti so lahko odprti ali dostopni s povabilom.
Pomemben za države
Omenimo še politični vidik Telegrama, čeprav s tem tvegamo, da bomo zašli na področja teorij zarot. Pavel Durov, milijarder, direktor in soustanovitelj Telegrama, je sicer Rus, vendar ima tudi državljanstvo Združenih arabskih emiratov, karibskega otočja Saint Kitts and Nevis in – Francije. Francosko državljanstvo je dobil na osebno priporočilo predsednika Macrona, s katerim se je nekajkrat srečal. Po poročanju Wall Street Journala je Macron Durova poskušal prepričati, naj sedež Telegrama prenese v Francijo, česar ni storil.
Po drugi strani je bil Telegram leta 2018 v Rusiji zaradi nesodelovanja z oblastmi prepovedan, po dveh letih pa je bila prepoved delovanja … sproščena. Danes je prav Rusija najglasnejši kritik priprtja Durova v Franciji, z obtožbami o »neposrednem poskusu omejevanja svobode komuniciranja«. Neuradne informacije tudi pravijo, da je Telegram eno pomembnejših komunikacijskih orodij ruske vojske v Ukrajini (ukrajinska vojska raje uporablja konkurenčni Signal). Nenazadnje, Margarita Simonyan, odgovorna urednica ruskega provladnega medija RT, je zapisala: »Vsi, ki ste navajeni uporabljati Telegram za občutljive pogovore/pogovore, bi morali te takoj izbrisati in tega ne početi več. Durov je bil zaprt, da bi od njega pridobili šifrirne ključe. In dal jih bo.«
Držati roko nad Telegramom je očitno postalo politično zelo pomembno.
Kanali in množični skupinski pogovori delujejo kot ogromni javni prostori, ki pa niso očitni. Vsebine niso močno šifrirane – kaj takega pri tisočih ali milijonih udeležencev niti nima smisla –, a se pretakajo povsem nevidno za javnost, ki tam ne prisostvuje. Facebook in X sta odprti in bolj klasični družbeni omrežji, kamor lahko vsaj kukajo vsi, Telegram pa to ni. Tudi zato ni presenetljivo, da se na njem širijo številne teorije zarote, s svojimi temačnimi kotički pa deluje kot posrednik pri nezakonitih poslih.
Seveda pa Telegram omogoča tudi pomenkovanje ena na ena, tako z besedilnimi ali večpredstavnostnimi sporočili kakor s klici. Čeprav ni aplikacija za pošiljanje sporočil, to zna početi.
Šifriranje v Telegramu
Povejmo torej neposredno. V nasprotju s Signalom in celo z Whatsappom, ki pogovore med posamezniki privzeto šifrirata od pošiljatelja do prejemnika, Telegram tega ne počne. Če zgolj kliknemo na osebo in ji začnemo pisati, bo pogovor nezaščiten. Varno šifriranje (end-to-end) moramo za vsak pogovor vključiti ročno s funkcijo Secret Chats, ki je skrita v podmenijih. Da se prikopljemo do nje, moramo klikniti vsaj štirikrat, dasiravno se to v novejših različicah lahko še spremeni, a poanta ostaja. Skupinski pogovori pa te funkcije nikoli nimajo. Za kanale to ni pomembno, če pa bi se želeli pogovarjati v troje ali neki drugi manjši skupini, je včasih šifriranje še kako zaželeno.
Shema delovanja protokola MTProto.
A zgolj najti Secret Chats ni dovolj. Da funkcijo lahko dejansko omogočimo, mora biti v trenutku aktivacije sogovornik povezan (online). Dokler se ne pojavi na internetu, mu ne moremo šifrirano pisati. To je precejšnja omejitev, njene posledice pa so jasne. Velika večina uporabnikov funkcije ne uporablja, medtem ko v Signalu in Whatsappu varno šifriranje uporabljajo vsi, ker je pač to vgrajeno v aplikacijo in privzeto vključeno.
Seveda nezaščitenost pogovorov po Telegramu za veliko večino uporabnikov ni ovira, saj odtehtajo druge prednosti, kot sta hitrost in enostavnost sinhronizacije med napravami. S tem ni nič narobe, je pa treba pojave poimenovati s pravim imenom. Pogovorni klici v Telegramu pa so šifrirani, saj sta tedaj oba udeleženca zagotovo hkrati povezana.
Nerazumljivo je, da Telegram šifriranje ima in da se zaveda, da ga v uporabniškem vmesniku namenoma ni enostavno aktivirati, pa tega ne popravi. Ko je aplikacija še rasla in hitro nabirala uporabnike, smo osredotočenost na rast še lahko razumeli, v sedanji zreli dobi pač ne. To je še toliko manj razumljivo, ker so algoritem za šifriranje v tem času posodabljali in nadgrajevali, uporabniškega vmesnika pa že skoraj desetletje ne! Oglaševanje Telegrama kot orodja za varno sporočanje zato preprosto ne vzdrži primerjave z resničnostjo.
To nas pripelje do naslednje točke, in sicer šifrirnih algoritmov. Pri teh izgovora, da se tehnologija še razvija, ne gre sprejeti pri nobenem ponudniku. Matematika je jasna, dobre prakse so znane, standardi obstajajo, celo takšni z mislijo na prihodnost, ki jo bodo krojili kvantni računalniki. Protokol konkurenčnega Signala, ki velja za varnega, saj temelji na ustrezni implementaciji algoritmov Curve25519, AES-256 in HMAC-SHA256, uporabljajo tudi Whatsapp, Facebookov Messenger (le za Secret Conversations), Skype (le za Private Conversations) in drugi. Gre za industrijsko sprejet standard, ki deluje, kar najlepše dokazujejo poskusi držav, da bi izsilile stranska vrata v aplikacijah, ki bi delovala mimo tega protokola.
Aplikacija Telegram.
Telegram pa uporablja svoj protokol za šifriranje, ki se imenuje MTProto 2.0 in ga je napisal Nikolaj Durov. Ta ima precej pomanjkljivosti, ob katerih strokovnjaki zmajujejo z glavo. Pri tem moramo pošteno priznati, da resnih ranljivosti v tej različici še nihče ni odkril in je za zdaj videti trdno, a vendarle pušča priokus. Ena izmed teh nenavadnih odločitev je izbira parametrov pri izmenjavi ključa po Diffie-Hellmanovi metodi, ki jo izvede strežnik interaktivno, zato mora biti naslovnik ob začetku varnega pogovora povezan z internetom. Mimogrede, vsebina sporočil ni edini zanimivi podatek, ki ga je vredno šifrirati, temveč so vsaj tako pomembni tudi prometni podatki, torej kdo komu kdaj kaj pošilja. Signal te podatke šifrira, Telegram pa ne. Whatsapp tudi ne, ker – jih lahko trži (navsezadnje je v lasti Mete/Facebooka).
Nesodelovanje z organi pregona
V obtožnici proti Pavlu Durovu, ki so jo spisali v Franciji, se najdejo resno zveneča kazniva dejanja, med katerimi so tudi omogočanje prekupčevanja z mamili in razpečevanja otroške pornografije ter nudenje orodij za šifriranje brez licenc. Zadnje spominja na omejitev izvoza kriptografskih orodij iz ZDA v 90. letih, ko smo v Evropi dobili programe za izvozne trge s trivialnim 40-bitnim šifriranjem. Obtožbe proti Durovu koreninijo v odnosu – oziroma bolje rečeno njegovem pomanjkanju – do oblasti v več državah, konkretno v Franciji.
Podjetje Telegram je bilo resda ustanovljeno v Rusiji, a je Pavel Durov po letu 2014 za podjetje začel iskati varen pristan. Sprva ga je želel preseliti v Berlin, a podjetje ni dobilo vizumov za vse zaposlene, ki bi se morali seliti. Od leta 2017 ima Telegram sedež v Dubaju, njegovi strežniki pa so v lasti več povezanih podjetij, ki so razporejena po vsem svetu, v glavnem pa v davčnih in pravnih oazah. Telegram sicer podatke shranjuje v svojem oblaku, torej na strežnikih, a šifrirano in distribuirano. To v praksi pomeni, da je ključ razdeljen in shranjen na več strežnikih, nikoli pa na tistem, kjer so podatki. Kadar posamezne države zahtevajo dostop do podatkov v sistemu, to ni izvedljivo brez sodelovanja drugih državah. Telegram se na svojih straneh sam pohvali, da so doslej oblastem na zahtevke in odredbe razkrili – nič bajtov podatkov. Telegram z organi pregona ne sodeluje.
Toda več preiskav je pokazalo, da je Telegram eno glavnih orodij za načrtovanje terorizma, širjenje otroške pornografije in drugih prepovedanih vsebin. Telegram se je znašel v precej neugodnem položaju, saj je zaradi zasnove platforme odličen za opisane nečednosti, ker omogoča enostavno uporabo, preprosto razširjanje vsebin do več tisoč ali milijonov uporabnikov ter vsaj privid zaščite. Po drugi strani pa ima tehnične zmožnosti za nadzor vseh teh množičnih pogovorov, a – ne ukrepa. Ne le da se ne odziva na zahtevke organov pregona, tudi sam ne izvaja praktično nobenih ukrepov za preprečevanje zlorab lastne platforme. Francosko tožilstvo je zato zahtevalo pregon odgovornih, saj jim – do neke mere upravičeno – očitajo sostorilstvo.
Odločitev je vaša
Ni res, da šifriranje uporabljajo le kriminalci in sumljivci, ki imajo kaj skriti. Šifriranje je ključna sestavina modernega sveta, ki po eni strani sploh omogoča številne storitve, denimo finance, po drugi strani pa preprečuje pretirano samopašnost oblasti. Skušnjava je velika, možnosti moderne tehnologije pa skorajda brezmejne.
Razliko med Telegramom in konkurenčnim Signalom najlažje povzamemo takole: Signal je narejen z mislijo na varnost, čemur je podrejeno vse, vključno z uporabniško izkušnjo. Pri tem ne sklepa kompromisov, četudi je zato manj eleganten, denimo ne omogoča uporabe na več napravah hkrati. Z organi pregona sodeluje, a jim vaših podatkov ne more izdati, ker jih nima.
Telegram je vse podredil uporabniški izkušnji, šifriranje pa je dodatek, ki ga v omejeni obliki lahko vključimo, če se res potrudimo. Avtorja Telegrama je Rusija tako rekoč izgnala – formalno je odšel sam; storitev leta 2018 brez razlage blokirala, nato pa dve leti pozneje spet brez razlage – odblokirala. Signal pa je že od samega začetka trn v peti vsem državam sveta, in to iz jasnih razlogov. Lahko bi jim pomagal, a jim noče.