Anonymní P2P sítě - uživatelé vrací úder

Historií peer-to-peer sítí se jako červená nit táhnou spory mezi držiteli autorských práv a uživateli. Jeho nedílnou dnešní součástí jsou firmy pročesávající nabídku a dožadující se nápravy, pokud najdou autorskými právy chráněný obsah. Jako přirozená reakce uživatelů se dá očekávat příklon k anonymním peer-to-peer systémům, kde je poskytovatel informace nezjistitelný.

Zajištění anonymity v tomto typu sítí je kontroverzní a má jak své zastánce, tak kritiky. Ti první zdůrazňují jeho význam pro svobodu projevu a nutnost svobodného toku informací. Tímto způsobem si mohou vyměňovat informace lidé v nedemokratických státech, podřízení mohou kritizovat své zaměstnavatele či nadřízené, občané státní správu, aniž by se museli obávat případných represí či perzekucí. Kritici poukazují na možné využití pro nelegální účely: plánování zločinů, šíření dětské pornografie či – nejméně nebezpečné, ale zdaleka nejrozšířenější – sdílení autorsky chráněných děl.

Přes tyto výhrady ale například vláda USA podporovala vznik projektu Free Haven umožňujícího anonymní publikování dokumentů a přístup k nim, aby podpořila svobodnou výměnu informací.

Anonymita, kterou tyto systémy mají poskytnout, se týká především tří aspektů: skrýt identitu poskytovatele informace, skrýt identitu příjemce informace a znemožnit jejich párování (zjištění, že z X do Y bylo cosi přeneseno).

Subjekt, který chce šíření informace zabránit, bude nejčastěji do systému vstupovat jako zájemce o data a bude chtít zjistit identitu jejich poskytovatele. Může ale také data nabízet a sledovat, kdo je odebírá. Třetí alternativou je, že se stane mezilehlým uzlem zapojeným do distribuce. Ve všech těchto případech by systém měl chránit identitu poskytovatelů i konzumentů dat.

Vůbec nejtěžší je pak ochrana proti někomu, kdo má k dispozici záznamy poskytovatele Internetu o veškerých datových tocích v síti. V tomto případě většina stávajících systémů selhává. Některé pomáhají alespoň tím, že přenosy jsou šifrovány. Lze tedy zjistit, že X s Y si vyměnili nějaká data, ale nedá se zjistit jaká.

Běžné peer-to-peer systémy si data vyměňují přímo mezi koncovými účastníky, což jim vzájemně poskytuje informaci o IP adresách jejich strojů. To je při anonymní výměně dat nemyslitelné. Jejich výměna přes jakési centrální servery také nepřipadá v úvahu – hned pionýr Napster přesvědčivě prokázal, jak je centralizovaně postavená služba choulostivá vůči útoku na centrum.

Typické řešení spočívá v tom, že data protékají přes síť prostředníků. Uzly anonymní peer-to-peer sítě navazují spojení jen s velmi úzkým okruhem sousedních uzlů, které znají a důvěřují jim. Používá se pro ně také název fried-to-friend sítě. Požadavky a data se pak předávají touto sítí uzlů. Příjemce zná vždy jen adresu toho, kdo mu je předal, ale nemá tušení, odkud je získal dotyčný soused.

Uzly je třeba nějak identifikovat. Místo klasických adres se ale zpravidla používají jakési pseudoidentifi­kátory, jež nemají žádný vztah k IP adrese, ani jinému údaji umožňujícímu identifikovat provozovatele uzlu. Navíc je uzel většinou může měnit podle libosti.

Principy šíření dat v anonymizujících systémech jsou velmi pestré. Sahají od triviálních metod, jako je použití broadcastu (všesměrové vysílání znemožňuje určit příjemce) či falšování adresy odesílatele v UDP paketech (chrání odesílatele, jako třeba UDPP2P), až po velmi propracované mechanismy.

Jedním z nich je cibulové směrování (onion routing), postavené na vícenásobném šifrování. Jeho základem je síť cibulových směrovačů, jejichž seznam a veřejné klíče mají k dispozici účastníci sítě. Odesílatel dat si zvolí náhodnou sekvenci cibulových směrovačů. Paket zašifruje veřejným klíčem posledního z nich, k výsledku přidá jeho adresu a zašifruje vše klíčem předposledního a tak dále. Výsledkem je tak zvaná cibule, jejíž vnější slupka je zašifrována klíčem prvního vybraného cibulového směrovače a jemu se také pošle. On ji rozšifruje svým soukromým klíčem (odloupne vnější slupku) a získá tak adresu dalšího v pořadí a zprávu, kterou mu má předat. Ta je zašifrována klíčem dalšího směrovače, takže nemůže zjistit ani její obsah, ani její další cestu sítí.

Tímto způsobem se zpráva postupně předává předem zvolenou cestou, přičemž každý z předávajících cibulových směrovačů zná jen dva její kroky – od koho ji dostal a komu ji má předat. Navíc se zpráva po každém dešifrování radikálně změní, takže je pro vnějšího pozorovatele velmi obtížné dát si do souvislosti zprávy přicházející do směrovače se zprávami odcházejícími. Cibulové směrování proto poměrně slušně odolává odhalení poskytovatelů a příjemců i při znalosti veškerých záznamů o datových tocích v síti. Slabinou je, že odesílatel zná identitu příjemce. Cibulové směrování najdete například v systému Tor.

Jiný princip byl pojmenován podle jedné ze svých implementací Ants. Je určen především pro sítě typu peer-to-peer, kde se velmi dynamicky mění složení uzlů a struktura sítě je chaotická. Jednotlivé uzly jsou označeny pseudoidentifi­kátory. Když hledají určitý soubor, posílají dotaz záplavovým způsobem (anglicky flooding, pošle se všem sousedům, každý z nich jej pošle všem svým sousedům atd.). Šíření dotazů omezuje jednak jejich životnost, jednak to, že každý dotaz je opatřen (pseudo)identi­fikátorem odesílatele a identifikátorem zprávy. Díky tomu je každý dotaz jednoznačně rozpoznatelný, a když do uzlu dorazí opakovaně, není nadále šířen.

Příchod dotazu zároveň uzlu prozradí, kudy má posílat odpovědi k jeho odesílateli. Na základě přicházejících dotazů tedy vznikají směrovací tabulky pro pseudoidentifi­kátory. Přeprava dat v těchto sítích je proto poměrně efektivní (což je spíše výjimka, obecnou charakteristikou anonymizujících sítí je, že efektivita přepravy byla vyměněna za anonymitu). Odpovědi se pak posílají opačnou cestou, než přišel dotaz. Pokud se mají data doručit cíli, jehož identifikátor dotyčný uzel nemá v tabulce, použije opět roztékání. Identita odesílatele i příjemce je skryta, ale se znalostí provozu v celé síti lze datové toky vystopovat. Nejvýznamnějšími implementacemi tohoto principu jsou Ants a Mute.

Zajímavým přístupem je míchání. V něm uzel předávající zprávy vždy posbírá několik příchozích zpráv, přidá mezi ně své vlastní a pak je v náhodném pořadí odvysílá. Tím velmi ztěžuje (a při změně zpráv, například díky šifrování, prakticky znemožňuje) zjišťování, která odchozí zpráva souvisí se kterou příchozí.

EBF6

Do velmi pokročilé podoby dovádí tento princip GNUnet. Přenášená data dělí na jednokilové kousky, takže všechny zprávy jsou stejně dlouhé. Na jednotlivých spojích používá šifrování a při malém provozu posílá náhodný obsah. Data navíc po síti cestují – uzly, jimiž procházejí, si je ukládají do lokálních pamětí. Výsledkem je dokonalý galimatiáš. Je prakticky nevystopovatelné, kdo je iniciátorem akce, odkud byla data odeslána, kam dopravena a kdo je vlastně původně do sítě vložil.

Zatím se anonymní peer-to-peer sítě pohybují spíše na okraji zájmu. Troufám si ale předpovídat, že s narůstajícím tlakem na ochranu autorských práv jejich popularita rychle poroste. A pak už vydavatelům nejspíš nezbude než si přiznat, že technologie dnes nahrává spíše druhé straně, a sáhnout na ceny. Částečně se tak již děje.

Anketa

Stahujete nelegální obsah z p2p sítí?

59 názorů Vstoupit do diskuse
poslední názor přidán 22. 1. 2008 14:06

Školení UX: Jak zapojit uživatele do designu

  •  
    Jak dostat ono tajemné UX do designu.
  • Ve kterých fázích zapojit uživatele, abyste dostali nejvíc muziky za nejmíň peněz.
  • Jak vytvářet jednoduché a srozumitelné persony

Detailní informace o školení UX »