Hlavní navigace

Výměnné sítě od A do Z: Mute, Nodezilla a Zepp

22. 8. 2008
Doba čtení: 8 minut

Sdílet

 Autor: 29
V minulých dílech seriálu jsme si představili celkem 11 vybraných peer-to-peer sítí. V dnešním, závěrečném díle našeho malého seriálu se podíváme na speciální druh peer-to-peer sítí, na I2P sítě. Představíme si tři zástupce těchto sítí: GNUnet, Mute a Zepp.

Specifickým druhem peer-to-peer sítí je existence tzv. Invisible To Peer, tedy I2P sítí. Tato zkratka je často překládána i jako Invisible Internet Project, jenž je ale jednou ze samostatných sítí. I2P se tedy nenazývá přímo druh sítí, ale jedná se spíše o označení technik pro zamaskování své přítomnosti v P2P síti, pro zjednodušení se pak samozřejmě termín I2P sítě používá. O I2P jsme na Lupě již také psali. Mezi techniky které anonymní peer-to-peer sítě používají, pak spadá šifrování (známe i z normálních P2P sítí), tvorba a stahování velkého množství „šumu“ či tvorba tunelů.

GNUnet

Jedním z významných hráčů na poli anonymních P2P sítí je bezpochyby GNUnet. Ten vznikl na konci roku 2001 a přinesl hned několik nových technologií. Za všechny lze jmenovat cenzuře odolné kódování obsahu ECRS a nový protokol pro anonymní směrování (routování). GNUnet se řadí mezi tzv. Friend-to-friend (F2F), ve kterých je možno obsah vyměňovat pouze s klienty které „známe“. V těchto sítích pak není identifikace založena na IP adresách, ale většinou na bázi veřejného klíče nebo jakýchsi pseudoidentifi­kátorů. Pro síť GNUnet lze použít na platformě nezávislého, stejnojmenného klienta napsaného v Javě.

Síť GNUnet funguje na principu míchání. Uzel, který předává zprávy, nejdříve sesbírá několik příchozích zpráv a zamíchá mezi ně své vlastní. Teprve potom je v náhodném pořadí posílá dál. Tímto způsobem je docíleno, že je téměř nemožné spojit odchozí a příchozí zprávy a původní odesílatel tak bývá nevystopovatelný. GNUnet také rozděluje přenášená data do stejně dlouhých zpráv, často používá šifrování a posílá náhodný obsah. Během cesty dat v sítí si jednotlivé uzly ukládají některé části souborů do své lokální paměti. Toto vše tak přispívá k tomu, že v sítí vzniká nepřehledná změť, ve které je velice složité až nemožné zjistit, kde data odeslal a kdo si je stáhl.

V sítí GNUnet každý uživatel samozřejmě musí něco nabízet. Systém je založen na počtu úspěšných odpovědí na vyhledávací dotaz. Každému uzlu sítě je pak přiřazována priorita a uzly, jenž mají vyšší prioritu, jsou obslouženy dříve. Tato metoda sice efektivně zabraňuje stahovačům, lze v ní však spatřit i nevýhodu v tom, že pouze málokdy v síti narazíte na raritní soubor (nikdo ho nesdílí, protože na něj nepadají dotazy a uživatel tak nezíská prioritu a nic nestáhne).Autoři GNUnetu se snaží o neustálé zlepšování svých řešení, to dosahují často i díky radám vývojářů podobných projektů, jedním z nich je pak projekt TOR.

Mute

Za sítí Mute stojí programátor jménem Jason Rohrer. Ten položil základní kámen projektu v květnu roku 2003 a i on sám se dnes stará o nápady spojené s vývojem sítě a klienta. Mute je opensource projekt a řadí stejně jako GNUnet mezi Friend to Friend sítě (F2F). Mezi známé klienty patří oficiální Mute či NapShare.

Mute se tak snaží vyhnout navázání spojení přímo mezi stahujícím a odesílajícím uzlem. Jako příklad si uvedeme srovnání s P2P sítí Gnutella. Ta posílá dotaz na hledání soubor všem svým sousedním uzlům, ty svým sousedním uzlům atd. Výsledkem hledání je seznam IP adres, které mají daný soubor. Přenos souboru je pak zahájen přímo mezi dvěma uzly sítě. V Mute je tomu o něco jinak. Výsledkem hledání není seznam IP adres, ale seznam jakýchsi ID, pod kterými jsou uzly ukryty. Toto ID je složeno z náhodně vygenerované čtyřicetimístné směsice písmen a číslic. Vypadá např. takto: 7213D29781593­840CF00CDD1E9A7A425A­E16DCA5.

Tato směsice se pak označuje jako „virtuální“ Mute adresa. Nemá nic společného s IP adresou a je generována po startu klienta. Data pak netečou pří mezi dvěma uzly sítě, ale jsou předávána (routována) přes více uzlů, stejně jako všechny ostatní zprávy v síti.

Každý uzel v síti musí mít svou virtuální adresu. Sousední uzly (tedy ty, co znají vaši IP adresu) však neznají vaši virtuální adresu. Tu mohou znát pouze uzly, které nejsou sousední. V síti se tak nevyskytuje nikdo, kdo zná vaši virtuální a zároveň vaši IP adresu, takže nikdo nemůže odhalit vaši skutečnou identitu. Pro routování používá Mute techniku inspirovanou mravenci (ant-inspired technique) a jejich stylem hledání potravy.

Mravenci, vycházející z hnízda a hledající potravu, náhodně procházejí své okolí a nechávají za sebou stopu svého feromonu. V případě, že najdou potravu, naberou ji do svých kusadel. Otáčí se a následují svůj feromon, který je zavede směrem do hnízda. Cestou zpět opět zanechávají na trase svůj feromon. Ostatní mravenci tak mají možnost ucítit cestu se silnější vůní (2× zanechaný feromon) a následují jí, protože na jejím konci bude nejspíše potrava. Mezitím i druhý mravenec najde cestu k této potravě, ale jinou cestu, delší. Tu projde za hodinu dejme tomu 10×, kratší cestu prošli ostatní mravenci zatím každý 20×. Vzhledem k tomu, že vždy zanechávají feromon, cesta prošlá 20× má silnější vůni a mravenec tedy usoudí, že cesta bude nejspíše kratší. Uvažování mravenců by se dalo rozdělit na 6 jednoduchých pravidel, a právě těmito pravidly příroda inspirovala programátory Mute.

Mute samozřejmě nefunguje přesně, jak by si mravenci přáli, jejich systém má určité mezery a tak sloužil pouze jako inspirace. Pravidla byla modifikována a zredukována na pouhá dvě. Počítačové sítě navíc nejsou omezeny tak jako příroda, a tak zde existují dva typy „feromonů“. Jeden značí cestu do hnízda a jeden cestu k potravě (v případě Mute samozřejmě k datům).

V síti Mute tedy nehledáme jako mravenci potravu, ale místo toho máme určitou zprávu, která se potřebuje dostat od odesílatele k příjemci. A protože uzly sítě Mute jsou anonymní, žádný z nich přesně neví, kde se nachází příjemce této zprávy. Stejně jako mravenci, kteří si nejsou vědomi rozvržení okolního světa, nezná klient v síti Mute její strukturu.

Každý uzel v síti Mute má kontakt pouze na pár sousedních uzlů. Tyto sousední uzly jsou pak využívaná pro procházení (přeposílání) zpráv. Uzel X obdrží skrz uzel Y zprávu, která má jít od Alice k Bobovi. Uzel X však neví, kde se Bob nachází. Pošle tak zprávu všem svým sousedům (broadcast, v případě mravenců by se jednalo o poslání mravenců všemi směry) a doufá, že někdo z nich má více informací o Bobovi. V případě že tomu tak není, celý proces se opakuje, dokud není Bob nalezen. Stejně jako mravenci, kteří za sebou zanechávají feromon, aby si zapamatovali cestu, síť Mute pracuje obdobně. V případě že by uzel X někdy v budoucnu obdržel zprávu pro Alici, ví že jí má poslat přes uzel Y.

Peertopeer1

Směrování zpráv inspirované mravenci
Zdroj: mute-net.sourceforge.net

Boba jsme tedy v síti našli. Bob se rozhodl odpovědět Alici, odpověď půjde po stejné trase, jakou jsme Boba našli. Ostatní uzly pak samozřejmě mohou tuto cestu taky využít, takže pokud bude chtít uzel X vzkázat něco Bobovi, vydá se po známé cestě. Zde jsme si krátce popsali, na čem je síť Mute založena, teď se vrátíme ke stylu hledání souborů.

Mute vyhledává soubory pomocí řízeného floodu, podobně jako Gnutella. Máme tedy nalezený soubor, který chceme stáhnout. Náš klient tedy pošle požadavek na soubor označený svou virtuální adresou. Uzel se souborem ho pak odešle směrem na náš uzel, opět označen pouze virtuální adresou. Soubor pak projde skrz několik uzlů, než se dostane k našemu sousednímu a také k nám, viz obrázek.

Peertopeer2

Klienti fungují jako jakési proxy servery
zdroj: mute-net.sourceforge.net

Mute také při svém provozu používá několik druhů šifrování, např. RSA a AES klíče. Síť Mute je sítí téměř 100% anonymní, na techniky v ní použité je krátká i ona slavná RIAA. Tedy, lze samozřejmě cokoli, ale k odhalení anonymity byť jediného uživatele sítě Mute by musela RIAA vynaložit opravdu obrovské množství technických prostředků. Na téměř stejném principu jako Mute funguje ještě známá síť ANts P2P.

Zepp

Roku 2003 se tým pracující na klientu Zultrax pro Gnutellu rozhodl vytvořit si vlastní bezpečnou síť. Pojmenoval ji Zepp a dbal v ní, na rozdíl od Gnutelly, na anonymitu a bezpečnost jejich uživatelů. Aby se autoři vyhnuli problémům, síť i její jediný klient jsou vyvíjeny neveřejně, a tak některé technické detaily nejsou bohužel známy.

Síť Zepp chrání anonymitu uživatelů využitím tzv. proxy. Uzel A stahuje soubor od uzlu B, uzel B ale tento soubor nemá a plní pouze funkci proxy mezi uzlem C a A. Tento způsob není ničím novým, používá ho většina I2P sítí (třeba Mute viz výše). Zepp jde ale i o kousek dál. Soubor totiž může být posílán buď zmíněným způsobem přes proxy nebo přímým spojením (jako v normální p2p síti). Tím se o něco zvyšuje rychlost stahování a zároveň i bezpečnost. Nikdo totiž nedokáže určit, zda je daný soubor posílán přímo nebo zda jde přes proxy.

Zepp pak samozřejmě používá i několik druhů šifrování. Autoři se snaží síť chránit i před okolním světem, a tak je jediným klientem Zultrax a v síti existují i mechanismy pro odhalování cizích klientů. To funguje pomocí výměny „tajných“ zpráv mezi klienty Zultrax. Neoriginální klient pak na tyto zprávy odpoví špatně a tím pádem je odhalen. Klient nebude jednoduše odpojen, taková činnost by mu mohla dát informaci o tom, jak daleko do sítě se až dostal. Místo toho je zahlcován falešnými bezcennými informacemi.

Peertopeer3

Popis: takto vypadá jediný klient pro síť Zepp, Zultrax
zdroj: zeropaind.com

BRAND24

Falešné informace jsou vlastně v síti využity i jinak. Zepp používá techniku nazvanou Falsification (is about NOT telling the truth – je to o tom neříkat pravdu). Při výměně informací mezi klienty Zultrax o tom, co kdo sdílí apod., je 98 % těchto informací pravdou. To prý téměř nemá vliv na výkonnost klienta. Jako zajímavost lze ještě podotknout, že na stránkách zultrax.com se nad větou „Not telling the truth“ (neříkat pravdu) nachází obrázek George W. Bushe.

Vyplatí se?

Poslední otázka zní, zda se vůbec používání I2P sítí vyplatí. Zajišťují sice vysokou míru anonymity, ale toho je dosaženo díky „plýtvání“ přenosových kapacit, pomalejšího stahování a podobných nešvarů. V těchto a mnohých jiných aspektech jsou I2P sítě zatím pozadu za klasickými P2P sítěmi, a proto je mnoho lidí zatím nechce používat. Uvidíme, kam nás zavede budoucnost a kam nás zavedou organizace jako je RIAA a podobné. I2P sítím se vždy předpovídala světlá budoucnost a já ji předpovídám také. Jsou technologicky napřed než protipirátské organizace a dávají tak výměně dat na Internetu naději i pro budoucnost.

Je pro vás anonymita stahování dostatečnou "odměnou" za technické nevýhody anonymních sítí?

Byl pro vás článek přínosný?

Autor článku

Autor je studentem univerzity Pardubice a zaměřuje se předevšim na informační technologie. Občas píše také do magazínu Slunečnice, a na svůj blog, kde se věnuje většinou hudbě.
Upozorníme vás na články, které by vám neměly uniknout (maximálně 2x týdně).