Domů > Odborné články > Gymnaziální vzdělávání > P2P síť Tor a Onion routing
Odborný článek

P2P síť Tor a Onion routing

17. 5. 2012 Gymnaziální vzdělávání
Autor
RNDr. Michal Černý Ph.D.

Anotace

Jistě není na škodu, pokud se žáci dozvědí (čas od času) něco nad rámec běžně chápaného kurzu informatiky. Pěkným závěrem tématu počítačových sítí a internetu může být P2P síť Tor a s ní spojený mechanismus Onion routing. Jde o relativně jednoduchý mechanismus, kterým je možné dosáhnout anonymního prohlížení internetu.

Hned v úvodu bychom se rádi omluvili za užití pojmu Onion routig, který v názvu působí jazykově nepatřičně. Je možné jej přeložit jako směrování za užití konceptu cibule, ale vypovídající hodnota tohoto překladu je relativně malá a sousloví se relativně běžně používá. Podle toho, jak jsou žáci znalí, je možné výklad různě rozšiřovat a doplňovat tak, aby byl pro ně co možná nejzajímavější a nejhodnotnější.

Pokud žáci nevědí, co jsou to veřejné klíče, a neznají princip asymetrického šifrování dat, je možné výklad v této oblasti zkrátit na minimum. Pokud jsou s ním naopak seznámeni, tak je možné jim snadno ukázat, proč jsou právě počítačové sítě pro asymetrické šifrování vhodné a že by tento koncept bez něj nebyl vůbec možný.

Síť Tor (využívající Onion routing) může sloužit všem, kteří si potřebují zajistit bezpečnost a anonymitu na internetu. Jde především o novináře, disidenty, občanské aktivisty, ale také právníky nebo obchodníky, kteří potřebují přenášet mimořádně citlivá data. Tor je jeden z důležitých nástrojů internetu, který umožňuje podporu demokratických hnutí v totalitních zemích. Je důležité vést žáky k tak, aby pochopili, že ji nemají zneužívat k tomu, aby stahovali nelegální software či filmy, protože tím poškozují ty, kdo kapacitu sítě skutečně potřebují.

Ještě dříve, než se dostaneme k samotnému popisu Onion routing, sítě Tor a jejich využití a praktickému nastavení, pokusíme se o stručné uvedení do základních pojmů, tak jak by byl výklad zřejmě na škole koncipován – „podívejte se, jak pracuje běžné směrování a jaké na něj máme požadavky, a porovnejte jej s tímto anonymním konceptem“. Tam, kde jsou žáci mimořádně nadaní, je možné začít diskusí nad tím, zda je možné dosáhnout anonymního pohybu na internetu.

Zřejmě první možnost, která technicky orientovaného člověka napadne, je užití Proxy serveru. Ten funguje tak, že se k němu připojí stanice s určitou IP adresou, a on jí přidělí jinou. Tento proces lze opakovat a dokonce existují servery, které mají více IP adres (třeba desítky) a dynamicky je mění. Pokud se uživatel skryje za více podobnými servery, je obecně těžší jej dohledat. Pokud má ale policie (například v totalitních zemích, ale obecně to může být také někdo jiný) možnost získat log soubory z Proxy serverů, snadno se ke koncovému uživateli dostane. Ten může užít ještě technologie NAT, která se snaží ošetřit možnost připojení více počítačů na jednu IPv4 adresu (velice populární je například v Číně, protože má nedostatek IP adres), ale opět jde jen o zkomplikování vyhledání identity.

Lepší řešení nabízí sítě, které využívají Onion routingu, jako je například Tor. Ještě dříve, než se k podrobnému popisu dostaneme, je třeba objasnit některé základní pojmy, které by měly být pro žáky spíše opakováním.

Opakování vybraných principů práce sítí

Standardní směrování v síti internet probíhá tak, že jsou hledány optimální cesty (viz grafové algoritmy a hledání nejkratší cesty). Jeden směrovač odkazuje na druhý tak, aby se data, podle údajů v tabulce, co nejvíce přibližovala k příjemci. V prvním přiblížení se tedy ustanoví mezi dvěma uzly cesta, po které jsou data posílána. Reálná situace může být složitější v tom, že se cesta může měnit dle zátěže sítě nebo třeba fyzickou poruchou. Časté jsou určité bifurkace, kdy jeden směrovač má dvě rovnocenné cesty a pakety posílá relativně náhodně na obě strany. Zvláště ve větších sítích se ale preferují co možná nejstabilnější cesty.

To s sebou ale přináší řadu nevýhod. Pokud chce někdo komunikaci sledovat, tak může zachytit paket, ze kterého se dozví, od koho je a komu je určený. V rámci směrovače pak není pro státní orgány nikterak problematické analyzovat, kdo se s kým baví. Tím, že je možné pakety zachytávat a analyzovat, je relativně často také možné provádět odposlech. Je tedy třeba najít koncept směrování, který nebude obsahovat informaci o tom, od koho je a komu je určena.

Druhým důležitým pojmem je asymetrické šifrování. To funguje na principu dvou klíčů. Šifrovací klíč je veřejný, majitel klíče ho volně uveřejní, a kdokoli jím může šifrovat jemu určené zprávy; dešifrovací klíč je privátní a zná ho jenom majitel. Využívá se přitom matematických operací, u kterých je možné snadno provést operace jen v jednom směru. Pěkným příkladem může být násobení. Je relativně triviální vynásobit dvě čísla a porovnat je na shodnost s výsledkem, ale je velice obtížné z výsledku najít správné prvky do součinu. Zásadní výhodou asymetrického šifrování je, že není nutné sdílet dopředu s příjemcem klíč, který by někdo mohl odposlechnout. Této metody se používá velice často v počítačových sítích, kde je výměna klíčů obtížná a pomalá, nebo u elektronického podpisu.

Poslední důležitý pojem, který si musí žáci připomenout, je P2P síť. Jde o takovou organizaci počítačové sítě, kde jsou si všechny uzly přibližně rovnocenné – nejsou zde servery, ale jednotlivé uzly spolu komunikují navzájem. Pro žáky budou nejznámější příklady takto organizovaných sítí třeba Skype, BitTorrent, DC či Gnutella.

Onion routing

Jak jsme již naznačili v části o směrování, má klasický internet dvě základní slabiny – stálou cestu a veřejnou adresu odesílatele i příjemce. A oba problémy řeší Onion routing. První problém se řeší tím, že se cesty dynamicky mění – každá může být (a obecně je) náhodně ustanovená a komunikující strany ji používají jen omezenou dobu (nebo pro určité množství přenesených dat), než ustanoví jinou. Dopředu se nedá odhadnout, jak bude cesta vypadat, a tím, že se relativně rychle mění, není možný snadný záchyt paketů nebo odposlech.

Adresa příjemce a odesilatele je tvořena rafinovaně. Odesilatel zná adresu příjemce i seznam uzlů, přes které bude paket putovat (alespoň ty zapojené do Tor, ale o tom až později). Vytváří se tedy paket, který je obalován do jednotlivých slupek. Každý směrovač umí (díky asymetrické kryptografii) rozšifrovat jen jednu vrstvu – a na ní se dozví, kam poslat paket dál. Zná tak jen adresu nejbližšího předchůdce a nejbližšího následníka.

Tím, že každý směrovač umí přečíst jen svoji vrstvu, je zajištěna bezpečnost a anonymita celého směrování. Poslední uzel pak předá příjemci zbývající část zprávy, která může být také šifrovaná, aby nedošlo k odposlechu ani na tomto posledním kroku. Pokud uživatel přes Tor přistupuje k webovým službám (třeba se někam přihlašuje), musí pro svoji bezpečnost používat zabezpečený přenos dat také na této úrovni (HTTPS). Onion routing řeší problém anonymity v síti, nikoli na úrovni jednotlivé webové služby nebo příjemce.

Zajímavé je, že takto není možné utajit jen klienta, ale také klidně celý server a tím pádem i web. Slouží k tomu doména .onion. Uživatel pošle dotaz na DNS server a ten pošle paket do sítě, která je již anonymní. Díky tomu je možné provozovat weby s neveřejnou IP adresou (uživatel se dozví jinou IP, než jaká skutečně náleží k serveru).

Tor

Praktickou implementací Onion routing je P2P síť Tor, která funguje od roku 2004. Zatímco Onion routing je spíše obecným přístupem, Tor se stará o jeho převedení do praxe. V rámci sítě jsou tedy sdružovány směrovače, které tuto síť podporují a jsou ochotné se do ní zapojit (bohužel jich zatím není úplně mnoho). Mezi směrovači Tor probíhá komunikace přes běžný internet, což snižuje šanci na to, že by byl schopen někdo sledovat jejich skutečnou infrastrukturu (například fyzickým napojením se na ni).

K síti je možné přistupovat pomocí klientů, kteří jsou k dispozici pro většinu operačních systémů. Tor project se stará o jejich vývoj. Celý koncept je open source a nebyla zatím nalezena žádná bezpečnostní chyba, která by umožňovala komunikaci odposlouchávat. Nejslabším místem je přenos dat od posledního Tor směrovače k příjemci, který je v zásadě již zcela normální. Bezpečnost lze zvýšit užitím nástrojů na šifrování zpráv a využitím IPv6 místo IPv4. (Pokud takovou sítí disponuje i příjemce. V opačném případě to problém nijak neřeší.)

Kvůli tomu, že není v síti úplně mnoho směrovačů a komunikace probíhá po náhodných, často velice komplikovaných cestách, je síť relativně velice pomalá. Není tedy určena pro běžné prohlížení webu či stahování, ale skutečně pro případy, kdy je třeba zajistit anonymitu.

Mimo výše popsaných mechanismů dělá síť řadu dalších bezpečnostních opatření, jako je rozesílání nesmyslných informací, které zabraňují sledování toku dat. Jde o relativně komplexní problematiku, kterou je možné v rámci gymnaziálního výkladu popsat jen v těchto hrubých rysech.

Závěr

Pokud jde o praktické použití (instalace a konfigurace klienta), doporučuji přímo stránky projektu. Je třeba žáky upozornit také na to, že Tor neznamená anonymitu, ale jen anonymní přenos dat. Zabezpečení na dalších úrovních (prohlížeč, cookies, aktualizace, firewall) musí řešit samozřejmě sami jinými nástroji.

Licence

Všechny články jsou publikovány pod licencí Creative Commons BY-NC-ND.

Autor
RNDr. Michal Černý Ph.D.

Hodnocení od recenzenta

Tým RVP.CZ
17. 5. 2012
Článek je o technologii, s níž mnozí z nás nemají mnoho zkušeností. Zřejmě proto, že v běžné komunikaci nemáme důvod něco skrývat. Ale jistě se najde situace, kdy se raději veřejným komunikačním prostředkům vyhneme a volíme osobní kontakt (informace nebo sdělení ryze privátního charakteru). Jak je ale vidět, můžeme použít i veřejný kanál a to bez obav, že se nám to může nevyplatit.

Hodnocení od uživatelů

Článek nebyl prozatím komentován.

Váš komentář

Pro vložení komentáře je nutné se nejprve přihlásit.

Článek není zařazen do žádného seriálu.

Téma článku:

Informační a komunikační technologie