5.8 KiB
Tor is free software and an open network that helps you defend against traffic analysis, a form of network surveillance that threatens personal freedom and privacy, confidential business activities and relationships, and state security.
Tor è un protocollo e la sua implementazione open source in grado di collegare gli utenti tra loro in una rete virtuale che viene poi usata per instradare il traffico dei suoi utenti allo scopo di renderlo anonimo.
Come funziona
La rete di Tor usa una topologia a maglia: ogni utente connesso consiste in un nodo anche detto relay. Un nodo può anche fungere da nodo di uscita (exit node, exit relay), ovvero prende i pacchetti originati da altri nodi e li spedisce al reale destinatario fuori dalla rete Tor (ad esempio un sito web).
- Alice recupera la lista dei nodi della rete Tor da un directory server.
- Alice si collega direttamente a uno dei nodi della rete Tor.
- Il client Tor di Alice sceglie un percorso per raggiungere la destinazione dei dati.
- I collegamenti in verde sono crittografati mentre quelli in rosso sono non necessariamenti protetti
- Il percorso può cambiare in qualsiasi momento al fine di rendere ancora più difficile il tracciamento
Confronto con una VPN
Sul Web è facile trovare molti provider di accesso a VPN pensate per oscurare il traffico che offrono sicurezza, anonimato, possibilità di superare filtri o censure e alta velocità di navigazione. Una VPN però, per definizione, non è sicura quanto la rete Tor perchè:
- una VPN è un sistema centralizzato, dunque:
- il gestore della VPN può origliare sul traffico e raccogliere informazioni, mentre questo è possibile da parte degli exit node di Tor solo se l'utente vittima non è attento (vedasi sezione Limitazioni e Problemi di Tor)
- una VPN (in particolare con OpenVPN) è soggetta a diverse vulnerabilità se il gestore non ha le competenze per proteggersi, mentre un singolo utente di Tor non può compromettere il servizio per gli altri utenti.
- l'accesso alla VPN si basa comunque su un account, mentre l'uso di Tor è totalmente anonimo.
- un servizio VPN per la navigazione è quasi sempre a pagamento, mentre Tor è anonimo e gratuito.
Perché è sicuro e anonimo
Quando un nodo decide di spedire un pacchetto fuori dalla rete:
- calcola la strada necessaria per raggiungere un nodo di uscita
- prende le chiavi pubbliche di tutti i nodi sulla strada in ordine
- crea un layer (strato) di crittografia per ogni nodo sulla strada verso l'uscita, effettivamente incapsulando il pacchetto in numerosi strati
- Da qui deriva il nome "Tor", che originariamente significava "The Onion Router" (l'instradatore a cipolla).
Quindi:
-
A ogni hop nella rete, ogni nodo rimuove il proprio strato di crittografia. In questo modo si è certi che il pacchetto originale possa essere letto solo dal nodo di uscita e che il percorso del pacchetto sia per forza quello stabilito in origine dal mittente.
-
A partire dal momento dell'uscita di un pacchetto dalla rete Tor, esso non è più protetto dalla sicurezza della rete ma appare come originato dal nodo di uscita quindi l'identità del nodo mittente è sconosciuta.
Di conseguenza qualsiasi intercettazione di un pacchetto a metà strada del percorso nella rete Tor è inutile poichè:
- il pacchetto si trova incapsulato in almeno uno strato crittografico
- il mittente e il destinatario scritti nel pacchetto intercettato sono quelli delle due estremità del singolo collegamento tra due nodi Tor, non quelli dell'originale destinatario e mittente.
- solo l'exit node sa chi è il vero destinatario del pacchetto.
- solo il nodo del primo hop sa chi è il vero mittente del pacchetto.
Attenzione alle intercettazioni dal nodo di uscita alla destinazione finale del pacchetto:
- il pacchetto si trova tra il nodo di uscita e la destinazione finale
- il pacchetto non è più incapsulato nella crittografia di Tor
- se il pacchetto non dispone di ulteriori strati di sicurezza come TLS, OpenSSL o un sistema custom allora:
- chiunque può leggere il pacchetto
- il nodo di uscita può leggere ed alterare il pacchetto
Servizi Nascosti
Tor offre anche la possibilità di gestire un servizio nascosto accessibile esclusivamente tramite Tor. Gli hidden services di Tor sono raggiungibili tramite la rete Tor attraverso il loro onion address (.onion), un indirizzo che permette ai pacchetti di essere instradati alla corretta destinazione esattamente come i normali hostname (ad esempio google.it o facebook.com).
Un hidden service può essere mantenuto anche da dietro un qualsiasi NAT, Firewall o sistema di sicurezza a patto che la macchina che lo ospita sia connessa alla rete Tor.
Lo scopo degli hidden service è di offrire un servizio senza però che gli utenti possano sapere il suo indirizzo IP e dunque la sua posizione fisica di origine, particolarmente utile per nascondere l'identità dei gestori di servizi illegali.
WWW To Onion Gateway
Esistono dei servizi denominati WWW to Onion gateway che permettono agli utenti di accedere ai servizi .onion attraverso una normale navigazione web. Essi agiscono da proxy web in modo da contattare i servizi attraverso Tor per conto dell'utente. Ovviamente in questo modo i benefici di Tor vengono annullati e l'utente è completamente tracciabile, in compenso però Tor non è richiesto sul computer dell'utente.