Il tethering è una funzione che hanno molti telefoni e tablet e permette di condividere la connessione ad internet con altri apparecchi attraverso il bluetooth, Wi-Fi, ma anche un cavo usb (da cui deriva appunto il termine tethering, to tether, incatenare). Tuttavia molti operatori impongono limiti assurdi sull’utilizzo di questa funzione: in pratica aver pagato tot euri per tot giga non significa che se ne possa poi disporre come pare e piaccia. La cosa che però più mi ha sorpreso è che gli operatori di telefonia hanno a disposizione un buon numero di metodi e trucchi per stabilire se un utente stia utilizzando o meno il tethering.

  • Il primo e più naturale a cui uno può pensare è che sia direttamente il telefono ad avvisare la compagnia telefonica quando l’utente pigia il bottone attiva hotspot. Questo genere di sorprese capitano specialmente quando uno prende un telefono nuovo in promozione con il marchio dell’operatore: da qualche parte dovranno pur recuperare i soldi, oltre agli interessi sull’acquisto a rate (ma questo era già ovvio 😛 ).
  • Apn diverso: quando lo smartphone si collega ad internet non lo fa direttamente, ma lo fa attraverso un punto di accesso (APN) impostato dall’operatore telefonico. Spesso i vari parametri non vanno neanche inseriti a mano nelle impostazioni perché vengono trasmessi in rete e scaricati automaticamente, e il telefono si configura da solo. E quindi capita che per il tethering sia impostato un APN diverso da quello della navigazione normale, così tutto il traffico proveniente dai dispositivi collegati viene conteggiato e tariffato in maniera differente
  • Time to live (TTL): qualsiasi trasmissione dati su internet viene divisa in pacchetti di dimensione fissa, e questi pacchetti contengono ciascuno una porzione dei dati da trasmettere e tutta una serie di informazioni che servono per stabilire chi l’ha inviato, a chi è destinato, ecc… Esiste poi un parametro, il time to live appunto, che viene impostato ad un valore iniziale quando viene trasmesso il pacchetto (ad esempio 64) e viene decrementato di uno ogni volta che attraversa un router. Quando il suo valore è uguale a zero il pacchetto viene automaticamente scartato, per evitare che nella rete circolino pacchetti che rimbalzino da un router all’altro all’infinito senza arrivare mai a destinazione. Quando si attiva l’hotspot, lo smartphone si comporta a tutti gli effetti da router: pertanto tutti i pacchetti generati dagli apparecchi connessi avranno un time to live diverso da quello del telefono, in genere 63 o 127. In questo modo le compagnie telefoniche possono distinguere facilmente le connessioni dal telefono da quelle di un computer collegato con l’hotspot, per esempio.
  • Indirizzo MAC: ogni scheda di rete e ogni cellulare/tablet possiede un indirizzo almeno in teoria unico, l’indirizzo MAC. La prima metà identifica il costruttore mentre la seconda, diciamo, il numero di serie del dispositivo. Le compagnie telefoniche in genere dovrebbero essere in grado di leggere l’indirizzo MAC contenuto in ciascun pacchetto, e se il telefono che fa il tethering si limita a ritrasmetterli senza modificare l’indirizzo MAC, la compagnia telefonica potrebbe rendersi conto della presenza contemporanea di dispositivi diversi da un’unica sim, e cioè l’attivazione del tethering.
  • Anche se meno probabile in quanto più invasiva, potrebbe tuttavia rivelarsi utile un’analisi approfondita del traffico. Ad esempio, ogni volta che si carica una pagina su internet, viene inviato al sito da visitare l’user agent, ossia il programma utilizzato (Sono internet explorer su windows bla bla bla…), da cui appunto si può capire se la connessione è generata da un computer oppure no. Oppure ogni volta che un dispositivo si collega ad internet, questo visita il sito del produttore del sistema operativo per scaricare aggiornamenti o anche solo verificare la presenza di connessione o meno. Ad esempio i cellulari android, ogni volta che si collegano ad un Wi-Fi, visitano qualcosa di simile a google.com/generate_204, una pagina vuota, che in caso di un Wi-Fi pubblico viene invece reindirizzata ad una pagina di login con le tariffe o anche solo una conferma dei termini di servizio, da cui il sistema capisce se è veramente collegato ad internet o no. È poco probabile però che un iphone visiti quella pagina di google invece che una equivalente su apple.com, o che un telefono android contatti i server di windows update e così via. Le tecniche di questo tipo sono tantissime, anche se meno affidabili e più esposte a falsi positivi.

Insomma i modi per aggirare i controlli posti dalle compagnie telefoniche non sono poi così segreti e non sarebbero neanche così difficili da applicare se non fosse per la ridotta possibilità di modificare le impostazioni di smartphone e tablet oltre a quelle quattro o cinque già messe a disposizione. Resta chiaro poi che eludere i vari controlli non è un’operazione al 100% legale, ed anzi quasi sicuramente vietato dal contratto sottoscritto tra l’utente e la compagnia telefonica, ed è quindi comprensibile che i produttori di telefoni non vogliano prendersene la responsabilità.