Tor (szoftver)

Tor

Fejlesztő The Tor Project, Inc
Legfrissebb stabil kiadás 0.4.8.10 (stabil verzió, 2023. december 8.)[1]
Programozási nyelv
Operációs rendszer
Kategória
Licenc 3-clause BSD License
A Tor weboldala

A Tor (The Onion Router, magyarul: A Hagyma Elosztó) szabad szoftver a második[2] generációs hagyma elosztó rendszerek közül. Ez a rendszer lehetővé teszi az anonim jelenlétet (például böngészést) az interneten, valamint nem utolsósorban a cenzúrázott internetes tartalmak megjelenítését (mint pl. a tartalomszűrés megkerülését) .

A neve a működési elvéből adódik, mivel az több szinten keresztül („mint egy hagyma rétegei”) újabb titkosításokkal látja el a kezdeményező (initiator) csomagjait.

Fejlesztését eredetileg az Amerikai Tengerészgyalogság kezdeményezte, majd az Electronic Frontier Foundation vette kézbe. Jelenleg a Tor Project irányításában zajlik a fejlesztés 2006 decembere óta non-profit tevékenység keretein belül.

Mint a többi jelenleg használt kis késleltetésű anonim hálózat, a Tor is elemezhető olyan megfigyelő által, aki a kommunikáció mindkét végpontját látja.

Működési elve

A felhasználó (kezdeményező) egy Tor klienst futtat a gépén, amely csatlakozik a Tor hálózathoz. Időnként megújítja az egész kimenő útvonalat (circuit). A hálózatban részt vevő tagok opcionálisan konfigurálhatják a Tor kliensüket úgynevezett node-nak, vagy Tor-exit-nek.

A node engedélyezi, hogy rajta keresztül csomagok fussanak, de nem engedélyezi a hálózatból való kilépést a hagyományos internetre, míg a Tor-exit (Tor kilépő) ezt is engedélyezi.

A Tor hálózat minden tagja titkosítva kommunikál egymással 128 bites szimmetrikus kulcsolású kódokat használva, melyeket egy aszimmetrikus kulcsolású ún. handshake (kézfogás) után hoztak létre.

A kezdeményező minden csomagra először rátesz egy véletlenszerű mesterkulcsot (egy kódot, melyet csak ő és végül a Tor-exit gép ismer), majd a mesterkulccsal titkosított csomag és a mesterkulcs három részre tagolódik és minden csomagrészlet kap külön-külön egy-egy első szintű kulcsot. Az első szintű kulcs az a kulcs, amelyet az első szintű node-okkal (a közvetlen kapcsolatokkal) hoztunk létre a handshake után.

Mind a szintek, mind az útvonal megválasztása a Tor hálózatban véletlenszerűen zajlik, valamint véletlenszerű időközönként a kezdeményező még akkor is megújítja az egész útvonalat, ha egyébként a circuit gyors és stabil.

Egy-egy ösvény (path), amelyen valamelyik csomagrészletünk halad, megszakadhat, ha valamelyik node vagy a Tor-exit időközben elérhetetlenné válik. Ekkor az az ösvény újra kiépül, immár más, véletlenszerűen kiválasztott node-okkal (és esetleg Tor-exittel).

A csomagrészlet és a mesterkulcsrészlet az első szintű node-okhoz került, ezek ráteszik a saját (második szintű) kulcsukat és továbbküldik a csomagrészleteket a harmadik szintű node-nak.

A Tor hálózat ösvényei három szintűek, illetve három részre tagolódnak (tehát három különböző ösvényen haladnak), így az initiatorral és a Tor-exittel együtt összesen 11 számítógép vesz részt egy felépült circuitban, 3x3 node közreműködésével.

A harmadik szintű node-ok végül elküldik a csomagrészleteket a Tor-exitnek, ami visszafejti a csomagok részleteit visszafele, először a harmadik szint, majd a második, majd az első szintű csomagrészletekig.

Minden node függetlenül attól, hogy hányadik a sorban, elküldi a soron következőnek a kapott csomagrészleteket a "kapott kulccsal" (előző szintű kulccsal). Így minden node visszafele megismerheti a legelső csomagrészlet titkosított változatát, beleértve a Tor-exitet is, viszont a node-ok annak csak a titkosított változatát ismerhetik, mivel minden node-nál csupán a mesterkulcsunk harmadrésze és a csomagok mesterkulccsal titkosított változatának harmadrésze van.

Ezután a Tor-exit a három különböző irányból megkapott mesterkulcsot összeillesztve, azzal visszafejti az eredeti csomagot. Végül pedig immár a hagyományos, „kódolatlan interneten” keresztül továbbítja az eredeti célnak.

Egy circuit felépítése

Biztonság

A Tor-hálózat biztonságosnak nevezhető, hiszen a node-ok - mivel csak titkosított adatokat láthatnak - egyrészt nem tudják, honnan indult el a csomag, másrészt nem tudják, hogy mit tartalmaz (csakúgy, mint az esetleges külső támadó, lehallgató).

A Tor-exit sem tudhatja, hogy eredetileg az általa az internet felé küldött adatcsomag honnan indult el, de azt igen, hogy mit tartalmaz, mivel ő továbbítja azt. Ez biztonsági kockázatot rejt magában. 2006-ban Dan Egerstad svéd hacker demonstrálta is, hogy miképp. Felállított pár Tor csomópontot, és figyelte a forgalmat, ami ezeken lépett ki. Számos jelszót tudott így megszerezni. Eredményeit (nem a jelszavakat!) publikálta is.

Ezzel megpróbálta felhívni a figyelmet, hogy a Tor nem titkosításra, hanem anonimizálásra szolgál, tehát nem az átküldött adatot védi, hanem a névtelenséget. A Tor csak egy dolgot garantál: a szerver nem fogja ismerni a kliens valódi IP címét. Az ezzel való visszaélést elkerülendő az exit csomópontok általában nem engednek meg bizonyos portokhoz – pl. SMTP – való csatlakozást.

Ezzel együtt az exit csomópont üzemeltetése annak felvállalását is jelenti, hogy az esetlegesen Tor rendszeren keresztül indított visszaélés miatt a végpontot üzemeltetőt fogják első körben a hatóság részéről megkeresni vagy jogi procedúrának alávetni.

A forgalom optimalizálása

A Tor újabb verziói a Tor címtárrendszert (directory) alkalmazva rangsorolják a node-okat és a Tor-exit-eket sebesség és egyéb szempontok alapján. Így a kezdeményező számítógép nem teljesen véletlenszerűen választja ki a circuit-ben szereplő node-okat és Tor-exitet, hanem azok következő paraméterei alapján:

  • sebesség,
  • Tor-kliens verziószáma,
  • megbízhatóság (stabilitás és szolgálati idő).

Az újabb Tor-kliensekben ezenkívül lehetőség van olyan blokkolt számítógépek Tor hálózathoz való csatlakozásának hozzásegítéséhez (Tor-bridge, azaz Tor-híd), amelyeket szándékosan blokkolt az internetszolgáltatójuk különböző okok miatt, valamint lehetőség nyílt a Tor címtárakat szolgáltató gépek konfigurálására (Mirror Relay Directory), olyan számítógép csatlakoztatására, amely a Tor hálózatban egyébként nem feltétlenül vesz részt, csak a többi csatlakozó gép adatait tárolja és közvetíti egymás között.

Ezen kívül lehetőség van domainnevek létrehozására az első szintű pszeudo domain rendszerben (.onion) a Tor hálózaton belül és egyéb rejtett szolgáltatásokra.

Sebesség

A gyakorlatban a Tor hálózat ingadozó sebességű. Átlagsebessége 56kbit/sec (modemsebesség) és 112kbit/sec (ISDN sebesség) között mozog, de véletlenszerűen, egy gyors circuit esetén akár közel széles sávra is felugorhat néhány másodpercig.

Napjainkban egyidejűleg mintegy százezer kliens csatlakozik a Tor hálózatra, számuk egyre bővül. A Tor átlagsebessége nagyban függ a kliensek, a node-ok és a Tor-exitek számától. Minél több kliens szeretné használni a hálózatot kevesebb node és Tor-exit ellenében, annál lassabb lesz a Tor átlagsebessége.

2013-as FBI akció

Az FBI a Tor Browser csomagban található Firefox böngésző hibáját kihasználva azonosított egy pedofil tartalmak terjesztésével vádolt személyt.[3] A nyilvánosságra került adatok alapján az akció nem a TOR hálózat működését, hanem a TOR rendszerrel gyakran együtt használt böngésző biztonságát kérdőjelezi meg.[4]

Kapcsolódó linkek

További információk

(Az itt felsorolt külső hivatkozások túlnyomó része angol nyelvű)

Cikkek

  1. Security Release 0.4.8.10, 2023. december 8. (Hozzáférés: 2023. december 9.)
  2. Dingledine, Roger: Proc. 13th USENIX Security Symposium. Mathewson, Nick és Syverson, Paul www.usenix.org. San Diego, California: Usenix (2004. augusztus 13.) (Hozzáférés: 2014. szeptember 20.)
  3. Az FBI feltörte a TOR hálózatot (magyar nyelven), 2013. augusztus 6.
  4. A TOR hálózat biztonsága (magyar nyelven), 2013. augusztus 13.

(Magyarul)

(Angol nyelven)

Fórumok