Proteggere soltanto la navigazione web non basta più quando buona parte del traffico Internet di uno smartphone passa da app di messaggistica, social network, client email, mappe e servizi che comunicano direttamente con i rispettivi server. Da questa considerazione nasce Tor VPN (download), il progetto con cui Tor Project prova a portare la rete Tor oltre i confini del browser e a gestire il traffico prodotto dalle applicazioni Android.
L’idea risale almeno al 2021, quando le ricerche condotte dall’organizzazione mostravano una richiesta ricorrente: usare le protezioni di Tor sull’intero dispositivo senza dover confinare le attività in Tor Browser. I dati raccolti sul campo dimostrano che più che come strumento per cambiare indirizzo IP o posizione apparente, molti utenti hanno iniziato a utilizzare Tor per superare blocchi e filtri di rete, soprattutto in Paesi dove la censura rappresenta un problema quotidiano.
Il risultato è un’app che porta il nome “VPN” ma che, tecnicamente, funziona in modo molto diverso dai servizi VPN commerciali più comuni. Il traffico non raggiunge un singolo gateway gestito da un provider: passa attraverso la rete Tor e, soprattutto, Tor VPN cerca di separare le attività delle singole applicazioni creando circuiti distinti.
Perché Tor VPN non funziona come una VPN tradizionale
Con una VPN classica il dispositivo crea normalmente un tunnel cifrato verso un server del fornitore. Browser, client email, app social e altri programmi condividono quindi lo stesso punto di uscita e, salvo tecniche aggiuntive, il gestore della VPN può osservare che flussi differenti appartengono allo stesso abbonato o alla stessa connessione.
Tor VPN segue un modello diverso: ogni applicazione instradata attraverso Tor utilizza propri circuiti Tor dedicati, separati da quelli assegnati alle altre app. In pratica, il traffico di un social network non percorre necessariamente lo stesso circuito usato da un’app di messaggistica o dal browser.

Tor Project punta a ridurre la possibilità di correlare attività prodotte da applicazioni differenti semplicemente osservando il punto di uscita della rete.
Il principio richiama alcune delle tecniche di isolamento già adottate da Tor Browser contro il tracciamento tra siti differenti, ma è applicato a un livello diverso: non più sulle origini web, bensì alle app installate sul dispositivo.
L’utente può scegliere se instradare attraverso la rete Tor il traffico generato da tutte le applicazioni oppure soltanto alcune. La schermata dedicata alle app include anche una funzione di ricerca, aggiunta proprio perché su uno smartphone con decine o centinaia di pacchetti installati la selezione manuale diventava rapidamente poco pratica.
Tre nodi Tor al posto del server centrale della VPN
Quando un’app utilizza Tor VPN, le connessioni attraversano la normale architettura della rete Tor.
Un circuito tipico passa attraverso tre relay: un nodo di ingresso, un relay intermedio e un nodo di uscita. La cifratura a strati fa sì che nessun singolo relay disponga contemporaneamente di tutte le informazioni necessarie per conoscere origine e destinazione della comunicazione: lo abbiamo spiegato nella guida a Tor Browser.

Con un servizio commerciale si sposta essenzialmente la fiducia dall’operatore della rete locale o dall’ISP al gestore della VPN. Tor distribuisce invece il percorso tra relay distinti e cerca di evitare che un unico intermediario conosca entrambe le estremità della connessione.
Va detto però che Tor VPN non trasforma automaticamente qualsiasi applicazione Android in uno strumento anonimo. Un’app nella quale l’utente esegue l’accesso con nome, numero di telefono, account Google o altri identificatori continuerà a conoscere tali informazioni.
Nascondere l’indirizzo IP non cancella gli identificatori applicativi né impedisce a un servizio di riconoscere un account già noto.
Arti e Onionmasq: il motore della nuova implementazione mobile
Sotto l’interfaccia di Tor VPN c’è un lavoro tecnico più ampio. Il client utilizza Arti, la nuova implementazione dei protocolli Tor sviluppata in Rust. Tor Project avviò pubblicamente il progetto nel 2021 con l’obiettivo di costruire un’alternativa più modulare alla storica implementazione Tor scritta prevalentemente in C.
La scelta di Rust conta soprattutto per due ragioni. La prima riguarda la sicurezza della memoria: il linguaggio impedisce a compile-time diverse categorie di errori che in C possono trasformarsi in use-after-free, accessi fuori limite e altre vulnerabilità. La seconda riguarda l’integrazione: Arti nasce con una struttura più adatta a incorporare Tor all’interno di altre applicazioni, caratteristica particolarmente utile sulle piattaforme mobili.
Tor Project ricorda che, analizzando le vulnerabilità individuate nella precedente implementazione C a partire dal 2016, almeno metà derivava da classi di errori che il Rust sicuro dovrebbe impedire.
Un altro componente importante è Onionmasq, il livello che collega il traffico catturato dall’interfaccia VPN di Android con Tor. L’obiettivo degli sviluppatori è costruire componenti riutilizzabili, invece di mantenere implementazioni mobili completamente separate per ogni applicazione.
Android fornisce il tunnel virtuale, Tor decide dove mandare i pacchetti
Il meccanismo poggia sulle API VPN native di Android: la classe VpnService, disponibile sin da Android 4.0, consente a un’app autorizzata dall’utente di creare un’interfaccia di rete virtuale e ricevere il traffico che il sistema operativo indirizza verso di essa. Non richiede accesso root.
Tor VPN può quindi intercettare le comunicazioni delle applicazioni selezionate e consegnarle al proprio motore di rete, che le instrada sui circuiti Tor. Android offre inoltre funzioni per definire quali pacchetti applicativi debbano utilizzare la VPN e quali possano restarne fuori.
La modalità Always-on VPN permette al sistema operativo di riavviare automaticamente il servizio anche dopo il reboot; la modalità lockdown può invece bloccare le connessioni quando la VPN non risulta disponibile. Tor Project considera proprio la capacità di evitare bypass del tunnel una delle proprietà fondamentali del suo modello di sicurezza.
Per l’isolamento delle app entrano inoltre in gioco API di Android 10 e versioni successive, tra cui quelle esposte tramite ConnectivityManager: Tor VPN non realizza semplicemente un tunnel per il telefono: deve mantenere la relazione tra applicazione originaria e circuiti Tor associati.
WebTunnel rende Tor più difficile da riconoscere
L’attenzione verso l’elusione della censura spiega anche l’introduzione anticipata dei bridge WebTunnel: i bridge Tor sono relay che non figurano negli elenchi pubblici ordinari e aiutano gli utenti a collegarsi quando un operatore blocca gli indirizzi dei nodi Tor conosciuti.
WebTunnel aggiunge un ulteriore livello: cerca di far assomigliare la connessione Tor a normale traffico web cifrato. Per apparati di filtraggio e sistemi di deep packet inspection diventa quindi più difficile distinguere il collegamento verso il bridge da una comune sessione HTTPS.
Le prestazioni restano il “neo” di Tor VPN
Chi prova Tor VPN (download) aspettandosi la velocità di WireGuard probabilmente resterà deluso: ogni circuito Tor attraversa più relay, introduce latenza aggiuntiva e dipende dalla capacità disponibile sui nodi scelti.
La rete Tor è comunque molto cambiata rispetto alle prime implementazioni. Dal ramo Tor 0.4.7, pubblicato nel 2022, l’implementazione C utilizza meccanismi di congestion control pensati per regolare dinamicamente il traffico sui circuiti. In precedenza Tor si basava su finestre fisse da 1.000 celle da 512 byte; con l’aumento della capacità della rete quel limite era diventato, di fatto, un freno al throughput.
Arti non ha ancora raggiunto la piena parità con tutte le ottimizzazioni maturate nel client C: Tor Project cita proprio il congestion control tra le funzioni da completare nella nuova implementazione. Per Tor VPN significa che una parte del lavoro futuro non riguarda l’interfaccia Android ma il motore Tor sottostante.