U ovom seminaru glavni problem o kojem se raspravlja je sigurnost i privatnost komunikacije na Internetu. Navesti će se zahtjevi sigurnosne komunikacije i trenutni nedostaci u sigurnoj komunikaciji. Proučit će se Tor mreža kao moguće rješenje problema i navest će se neke implementacije komunikacijskih sustava koje koriste Tor. Na kraju će se pokušati dati odgovor je li Tor pravo rješenje i kakva je budućnost u izgradnji potpuno sigurnih komunikacijskih sustava.
Ključne riječi: sigurnost, instant poruke, kriptiranje, Tor, Internet, decentralizacija
U posljednjih deset godina dramatičan rast Interneta imao je dubok i trajan utjecaj na način na koji organizacije i pojedinci komuniciraju i obavljaju svoje javne i privatne poslove. Porezni obrasci dostupni su na mreži, studenti mogu predati svoje ispite elektroničkim putem do mreže fakulteta i tvrtke mogu koristiti Internet kao javni kanal za povezivanje unutarnjih računalnih postrojenja ili procesa, npr. zaposlenik se može spojiti na intranet tvrtke iz svog doma putem javnih davatelja internetskih usluga. Budući da je internetski protokol sam po sebi ne osigurava dovoljne mehanizme za osiguravanje privatnosti, autentičnosti, cjelovitosti i (po želji) anonimnosti podataka koji se obrađuju kroz dinamički lanac računala, potrebni su alati koji jamče povjerljivost i vjerodostojnost podataka.
Kada se priča o sigurnosti instant messaging aplikacija situacija se mijenja iz godine u godinu. Za početak može se spomenuti MSN, godinama najpopularnija chat aplikacija, koja je imala samo transportnu enkripciju u kojoj je centralni server mogao (ili morao) dekriptirati vašu poruku i pročitati je bez problema. Danas je skoro podrazumijeva da ovakav tip aplikacije ima end-to-end enkripciju koja kriptira sadržaj na strani pošiljatelja i tek vrši dekripciju na strani primatelja. Osim kvalitetne enkripcije, važna stavka je autentifikacija koja sprječava takozvane Man-in-the-middle napade i osigurava autentičnost sudionika u razgovoru. Slijedi kriptografsko svojstvo nazvano tajnost prosljeđivanja (forward secrecy), a ta značajka osigurava da ključevi sesije neće biti ugroženi čak i ako su dugoročne tajne korištene u razmjeni ključeva sesije kompromitirane. Jedna stavka na koju puno korisnika zaboravlja je otvorenost softvera jer ako je izvorni kod zatvoren ne može se istražiti što aplikacija zapravo radi po pitanju sigurnosti naših podataka. Kada se razmotre popularne instant messaging aplikacije kao WhatsApp ili navodno sigurni Telegram i Signal zajedničko svojstvo im je arhitektura koja sadrži centralni server na koji se svi korisnici moraju spojiti. To je loše iz nekoliko razloga. Taj centralni server se zbog tehničkih problema može srušiti, a onda je komunikacija nemoguća. Ovaj slučaj nije tako čest, ali se ipak događa. Drugi, rijetki slučaj je situacija da državne vlade ugase korištenje određenih usluga, a to je lako učiniti ako je ta usluga centralizirana. No, ako se odbace navedene situacije kao rijetke, postoji jedan veliki problem, a to je sakupljanje metapodataka o korisnicima i njihovim komunikacijama na centralnom serveru, a preko njih se može saznati jako puno informacija.
Mnogi korisnici Interneta koriste Tor kako bi zaštitili svoje mrežne radnje. Iako nije potpuno decentraliziran, posjeduje određenu razinu decentraliziranosti. U nastavku će se pregledati neki pokušaji zaštite komunikacije putem Tora, a na kraju će se pokušati izvući zaključak o kvaliteti sigurnosti koju Tor daje i općenito o budućnosti zaštite komunikacije na Internetu.
Tor je besplatni, open-source softver za omogućavanje anonimne komunikacije usmjeravanjem internetskog prometa putem besplatne, svjetski raširene mreže koja se sastoji od više od sedam tisuća prenosioca kako bi se prikrio položaj i upotreba korisnika od bilo koga tko vrši nadzor i analizu mrežnog prometa. Softver je razvila skupina entuzijasta koji su ustanovili neprofitnu organizaciju, a nazvali su je “The Tor Project”. Ta skupina održava Tor i danas. Korištenje Tor-a otežava praćenje internetske aktivnosti korisnika, što uključuje posjete web stranica, mrežne postove, instant poruke i druge oblike komunikacije. Tor je namijenjen zaštiti osobne privatnosti svojih korisnika, kao i njihove slobode i mogućnosti vođenja povjerljive komunikacije održavanjem njihovih internetskih aktivnosti bez nadzora.
Onion routing je tehnika anonimne komunikacije putem računalne mreže. U takvoj mreži poruke se enkapsuliraju u slojeve enkripcije, analogno slojevima luka. Onion routing provodi se kriptiranjem u aplikacijskom sloju stoga komunikacijskog protokola. Tor kriptira podatke više puta, uključujući IP adresu odredišnog čvora, i šalje ih putem virtualnog kruga koji sadrži Tor prenosioce koji sudjeluju u prijenosu slučajnim odabirom. Svaki prenosioc dekriptira sloj enkripcije kako bi otkrio sljedećeg prenosioca u krugu i proslijedio mu preostale kriptirane podatke. Završni prenosioc dekriptira zadnji unutarnji sloj enkripcije i šalje izvorne podatke na odredište bez otkrivanja ili poznavanja izvorišne IP adrese. Budući da je usmjeravanje komunikacije djelomično skriveno pri svakom skoku u Tor krugu, ova metoda eliminira bilo koju pojedinačnu točku u kojoj se mogu odrediti komunikacijski čvorovi mrežnim nadzorom koji se oslanja na poznavanje svog izvora i odredišta.
Tor također može pružiti anonimnost web lokacijama i drugim poslužiteljima. Poslužitelji konfigurirani da primeju dolazne veze samo putem Tor-a nazivaju se onion uslugama (onion services, prije hidden services). Umjesto otkrivanja IP adrese poslužitelja (a time i mrežnog položaja), onion usluzi se pristupa putem onion adrese (.onion), obično putem Tor preglednika. Tor mreža razumije ove adrese tražeći njihove odgovarajuće javne ključeve i uvodne točke iz distribuirane hash tablice unutar mreže. Može usmjeriti podatke do i od onion usluga, čak i one smještene iza vatrozidova ili mrežnih prevoditelja adresa (NAT), uz istovremeno očuvanje anonimnosti obje strane. Tor je po dizajnu decentraliziran, ne postoji izravno čitljiv popis svih usluga, iako niz “onion” usluga posjeduje javno poznatu “onion” adresu.
Tor je zanimljiv i dobro dizajniran sustav, ali kao i svaki računalni sustav ima ranjivosti. Ako netko nadzire jedan od Tor čvorova ili čak mnoge od njih, ne može shvatiti kamo paketi idu ili odakle dolaze, osim ako ne može kontrolirati velik dio Tor mreže, a postoje napadači koji su to sposobni učiniti. Ako napadači imaju kontrolu nad dovoljnim brojem čvorova u Tor mreži, tada za određeni krug postoji određena vjerojatnost da mogu vidjeti I početak i kraj kruga. Dakle, ako su napadači uspjeli kontrolirati čvor ulatne točke kruga i izlazni čvor, nije važno što ne kontroliraju niti jedan drugi čvor između, moći će otkriti izvor zahtjeva. Tako mogu promijeniti zaglavlja u ulaznim čvorovima i ako pronađu te promijenjene pakete na izlaznim čvorovima, moći će pakete povezati s nekim. Peer-to-peer sustavi su ranjivi na ove vrste napada koji se nazivaju napadima za potvrdu prometa. Dakle, Tor nije savršen poput bilo kojeg računalnog sustava, ima svoje ranjivosti i one mogu biti izložene.
Dana 29. Listopada 2015., Tor Project je objavio Tor Messenger Beta, program za razmjenu poruka zasnovan na Instantbird-u s Tor-om i OTR-om(Off-the-record Messaging – kriptografski protokol koji omogućuje šifriranje za instant messaging razgovore) ugrađenim i korištenim prema zadanim postavkama. Instantbird je cross-platform klijent za razmjenu instant poruka koji se temelji na Mozillinom XULRunner-u i open-source biblioteci libpurple. Tor Messenger se temelji na Instantbird-u, ali uklanja ovisnost o biblioteci libpurple ponovnom implementacijom svih podržanih chat protokola u memorijski sigurnom jeziku JavaScript. Tor Messenger prema zadanim postavkama kriptira one-to-one razgovore pomoću OTR-a i pruža anonimnost usmjeravanjem svog prometa kroz Tor mrežu. U travnju 2018. godine, Tor Project je ugasio Tor Messenger jer su programeri Instantbird-a prekinuli podršku za vlastiti softver. Programeri Tor Messenger-a su objasnili da bi prevladavanje svih ranjivosti otkrivenih u budućnosti bilo nemoguće zato što se projekt oslanja na zastarjele softverske ovisnosti.
TorChat je bio decentralizirani anonimni instant messenger koji je koristio Tor kao osnovnu mrežu. Pružao je kriptografski sigurne tekstne poruke i prijenose datoteka. Karakteristika ove Tor-ove usluge je da je sav promet između klijenata šifriran i da je vrlo teško reći tko s kime komunicira i gdje se određeni klijent fizički nalazi. U TorChat-u svaki korisnik ima jednistveni alfanumerički ID koji se sastoji od 16 znakova. Ovaj će ID slučajno stvoriti Tor kada se klijent prvi put pokrene i to je u osnovi .onion adresa onion usluge. Klijenti TorChat-a komuniciraju jedni s drugima koristeći Tor da bi kontaktirali tuđu onion uslugu (izvedeno iz njihovog ID-a) i razmjenjivali informacije o statusu, chat poruke i druge podatke putem ove veze. Budući da onion usluge mogu primati dolazne veze, čak i ako se nalaze iza usmjerivača koji vrši prevođenje mrežnih adresa (NAT), TorChat ne treba nikakvo prosljeđivanje porta (port forwarding) za rad. U 2015. godini provedena je sigurnosna analiza TorChat protokola i njegove implementacije. Otkriveno je da iako dizajn TorChat-a zvuči dobro, njegova implementacija ima nekoliko nedostataka zbog kojih su korisnici TorChat-a ranjivi na napade kao što su lažno predstavljanje, potvrda komunikacije i denial-of-service. Unatoč otkrivenim nedostacima, upotreba TorChata i dalje bi mogla biti sigurna u scenariju u kojem onion adresa čvora ne postane poznata protivniku zainteresiranom za napad na osobu koja stoji iza TorChat adrese. TorChat je službeno ukinut 2018. godine.
Kao odgovor na ranjive TorChat i Tor Messenger stvoren je Ricochet, decentralizirani instant messenger, što znači da nema server na koji se spaja i s kojim dijeli metapodatke. Pokrenut je 2014. godine kao drugačiji pristup instant razmjeni poruka koji nikome ne vjeruje što se tiče zaštite privatnosti. Ricochet Refresh je njegov svojevrsni napredak koji koristi izvorni Ricochet open-source softver na koja su nadodana poboljšanja, poput nadogranje njegove sigurnosti i kompatibilnosti s Tor Onion Services v3 umjesto sa starijim v2. Ricochet Refresh je peer-to-peer messenger aplikacija koja koristi Tor za povezivanje klijenata. Kada pokrenete Ricochet Refresh, on stvara Tor skrivenu uslugu na vašem računalu. Adresa ove skrivene usluge vaš je anonimni identitet na mreži Tor i pomoću nje će drugi moći komunicirati s vama. Da biste započeli chat s nekim, u listu svojih kontakata dodaje se adresa njihove skrivene usluge. Kada se započne chat s jednim od kontakata, stvara se Tor krug između vašeg uređaja i stroja vašeg kontakta. Tor krug sastoji se od niza skokova između vašeg stroja, Tor čvora i vašeg kontakta. Upravo ta upotreba više čvorova pruža anonimnost, niti jedan čvor ne zna ni izvorište ni odredište.
Jedna od najnovijih i najmodernijih aplikacija ovog tipa koja se oslanja na Tor zove se Briar, pisana u programskom jeziku Java, namjenjena za Android uređaje i jako je slična popularnim messenger aplikacijama kao npr. WhatsApp, Telegram i ostale. Aplikacija je open-source, namijenjena za pružanje sigurne i elastične peer-to-peer komunikacije bez centraliziranih poslužitelja i minimalnog oslanjanja na vanjsku infrastrukturu. Veze se uspostavljaju uživo skeniranjem QR koda (prije Bluetoothom) ili na daljinu razmjenom javnih ključeva putem Tor mreže, a sva privatna komunikacija ima end-to-end enkripciju. Relevantan sadržaj pohranjuje se u kriptiranom obliku na uređajima koji sudjeluju u komunikaciji. U konačnici, programeri Briar-a imaju cilj stvoriti sustav koji je “jednostavan za korištenje poput WhatsApp-a, siguran kao PGP i koji nastavlja raditi ako netko prekine Internet.” Zadnja stabilna verzija aplikacije izdana je u studenom 2019. godine, no još uvijek je u punom razvoju i rast njene popularnosti se tek očekuje.
Tox je peer-to-peer protocol za razmjenu instant poruka i videopozive koji nudi end-to-end enkripciju. Navedeni cilj projekta je osigurati sigurnu, ali lako dostupnu komunikaciju za sve. Referentna implementacija protokola objavljuje se kao besplatni open-source softver pod uvjetima GNU General Public Licence (GPL) verzije 3 ili novije. Korisnicima se dodjeljuje javni i privatni ključ i oni se međusobno povezuju izravno u potpuno distribuiranoj peer-to-peer mreži. Korisnici mogu slati poruke jedni drugima, pridružiti se chat sobama, glasovno ili video chatu I međusobno slati datoteke. Sav promet preko Toxa je end-to-end kriptiran pomoću biblioteke NaCl (Network and Cryptography library) koja pruža ovjerenu enkripciju i savršenu tajnost prosljeđivanja. Tox ne pokušava prikriti vašu IP adresu tijekom komunikacije s prijateljima, jer je cijela poanta peer-to-peer mreže povezivanje izravno s prijateljima. Zaobilazno rješenje postoji u obliku tuneliranja vaših Tox veza kroz Tor. Međutim, neprijateljski korisnik ne može lako otkriti vašu IP adresu koristeći samo Tox ID; nekome otkrijete svoju IP adresu samo kad ga dodate na svoj popis kontakata. Iako se nekoliko aplikacija koje messaging aplikacija koje koriste protocol Tox čini po funkciji sličnim uobičajenim instant messaging aplikacijama, nedostatak središnjih poslužitelja sličnih XMPP-u ili Matrixu trenutno ima za posljedicu da obje strane chata moraju biti na mreži da bi se poruka mogla poslati i primiti. Messengeri s Toxom rješavaju ovo na zasebne načine, neki sprječavaju korisnika da pošalje poruku ako je druga strana prekinula vezu, dok drugi pokazuju da je poruka poslana, dok je u stvarnosti pohranjena u telefonu pošiljatelja I čeka na dostavu dok se primatelj ponovno ne poveže s mrežom. Tox je dobio značajan publicitet u svojoj ranoj konceptualnoj fazi, privlačeći pozornost globalnih internetskih stranica s tehnološkim vijestima. 15. kolovoza 2013., Tox je bio na petom mjestu GitHub-ove top trending liste. Porasla je zabrinutost zbog curenja metapodataka, a programeri su odgovorili primjenom Onion routing za postupak pronalaska prijatelja. Tox je čak primljen u Google Summer of Code kao mentorska organizacija 2014 i 2015. godine.
Iako je glavna značajka sustava Tor zaštita i sigurnost korisničkih podataka, posjeduje razne sigurnosne ranjivosti koje napadači mogu iskoristiti. Neke Tor-ove chat usluge su i ugašene (Tor Messenger, TorChat) zbog nedostatka sigurnosti. Ipak Tor je puno pridonio očuvanju privatnosti na Internetu i ne može ga se samo tako odbaciti kad se traži rješenje za sigurnost. Možda se rješenje tog pitanja nudi u kombiniranju Tor-ovih tehnika za zaštitu podataka sa nekih drugim tehnikama, kao što to rade navedeni Tox ili Briar. Dakle, iako se nije pokazao potpuno siguran Tor može poslužiti kao dobar temelj za izradu sustava koji će nuditi potpunu sigurnost i privatnost na Internetu. Razina zaštite podataka s godinama zasigurno raste, tehnike kriptiranja podataka napreduju, no ipak najpopularnije chat aplikacije imaju zajedničko obilježje arhitekture, a to je prisutstvo centralnog tijela koje može štititi našu privatnost, a i ne mora. Ti centralni serveri skupljaju metapodatke o nama i naših komunikacijama i zasad im mi možemo samo vjerovati, a u današnjem svijetu to nije lako niti se pokazalo pouzdano. Dakle, osim već postojećih sigurnosnih postupaka koje većina posjeduje, budućnost održavanja sigurnosti i privatnosti u komunikaciji putem Interneta je u izgradnji potpuno sigurnih i potpuno decentraliziranih peer-to-peer sustava koji se neće lako moći staviti pod cenzuru i, što je najvažnije, neće sakupljati nikakve korisničke metapodatke. Zahtjevi mogu biti jako teško ostvarivi, razvoj tehnologije nas uči da ništa nije nemoguće.