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.
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).
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è:
Quando un nodo decide di spedire un pacchetto fuori dalla rete:
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è:
Attenzione alle intercettazioni dal nodo di uscita alla destinazione finale del pacchetto:
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 che gli utenti possano sapere l'indirizzo IP e dunque la posizione fisica del suo gestore, particolarmente utile per nascondere l'identità dei gestori di servizi illegali.
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.