1
0
mirror of https://github.com/fazo96/tesina.git synced 2025-01-10 11:34:20 +01:00
tesina/Tor/tor.md
2015-05-27 18:24:36 +02:00

5.1 KiB

Tor

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.

From https://www.torproject.org/

Tor è un protocollo e la sua implementazione open source in grado di collegare gli utenti tra loro in una rete virtuale allo scopo di rendere anonimo il loro traffico.

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).

Step 1

  • Alice recupera la lista dei nodi della rete Tor da un directory server.
  • Alice si collega direttamente a uno dei nodi della rete Tor.

Step 2

  • 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

Step 3

  • 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 che offrono sicurezza, anonimato, possibilità di superare filtri o censure e 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
    • una VPN (in particolare con OpenVPN) è soggetta a diverse vulnerabilità se il gestore non ha le competenze per proteggersi
  • l'accesso alla VPN si basa comunque su un account
  • un servizio VPN per la navigazione è quasi sempre a pagamento.

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).

Inoltre:

  • 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 almeno uno strato crittografico
  • il sorgente 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 sorgente.
  • 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.

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.

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.