Le tecniche di posizionamento GPS (Global Positioning System) sono metodi utilizzati per determinare la posizione esatta di un dispositivo utilizzando i segnali ricevuti dai satelliti. Il servizio GPS è stato sviluppato e implementato dal Dipartimento della Difesa degli Stati Uniti: le prime tecniche di posizionamento GPS sono state sviluppate e testate già negli anni ’60 e ’70 ma il sistema è stato reso pubblico nel 1983 per arrivare poi alla disponibilità completa negli anni ’90.
Nel 1998, l’Unione europea ha avviato il progetto Galileo, un sistema di navigazione satellitare indipendente dall’amministrazione americana, pensato per garantire l’indipendenza strategica nel settore della navigazione. Sebbene quindi il sistema GPS statunitense fosse stato reso stato disponibile in Europa sin dagli anni ’90, nel Vecchio Continente si è lavorato per sviluppare un sistema di navigazione satellitare alternativo che è diventato pienamente operativo nel dicembre 2018.
Come funziona il GPS in breve
Tutti i dispositivi mobili integrano da tempo un modulo GPS ovvero un ricevitore che raccoglie i segnali provenienti dai satelliti, esegue una serie di calcoli e stabilisce la posizione univoca dell’utente sulla superficie terrestre.
I satelliti GPS inviano segnali radio codificati contenenti informazioni sulla loro posizione e sul tempo di trasmissione del segnale. Questi segnali radio vengono trasmessi su più frequenze e portanti. Per calcolare la posizione in modo accurato e geolocalizzare l’utente il ricevitore necessita dei segnali provenienti da almeno quattro satelliti della costellazione GPS.
I ricevitori GPS misurano il tempo di viaggio dei segnali provenienti dai satelliti: poiché la velocità di propagazione del segnale radio è nota, è possibile calcolare la distanza tra il ricevitore e ciascun satellite utilizzando appunto l’informazione sul tempo di viaggio del segnale. Calcolate le distanze dei satelliti, il ricevitore GPS sfrutta il principio della trilaterazione per determinare con certezza la propria posizione. La trilaterazione coinvolge l’intersezione di sfere di raggio uguale: i satelliti vengono posti al centro quindi stabilita la posizione precisa del ricevitore.
Oltre alla posizione, i ricevitori GPS possono utilizzare i segnali provenienti dai satelliti per calcolare anche altre informazioni, come l’altitudine, la velocità con cui il dispositivo si sta muovendo e l’ora esatta.
Il flusso di dati è in un’unica direzione: il dispositivo dotato del ricevitore GPS non scambia alcuna informazione con la costellazione di satelliti. Il problema è che l’approccio tradizionale è piuttosto articolato: il ricevitore ha bisogno di conoscere la posizione esatta dei satelliti per poter effettuare il calcolo, quindi deve scaricare il cosiddetto almanacco che contiene informazioni sulla posizione e sul movimento di ciascun satellite. L’operazione di recupero completo dell’almanacco può richiedere tempo, di solito tra i 5 e i 10 minuti.
L’alternativa molto più rapida per il posizionamento GPS si chiama A-GPS (Assisted GPS): essa permette ai dispositivi il download via Internet dell’almanacco in pochi secondi. Come da specifica originale, vengono trasmessi solo i dati satellitari effettivi disponibili al momento e grazie a un meccanismo di previsione settimanale delle posizioni dei satelliti (Predicted Satellite Data Service, PSDS), i ricevitori possono velocizzare il calcolo delle coordinate anche in assenza della connessione di rete per alcuni giorni.
Qualcomm, una delle più grandi aziende nel settore delle tecnologie wireless e delle comunicazioni mobili, utilizza il sistema PSDS nella sua implementazione a livello di chip per i dispositivi mobili: originariamente battezzata, nel 2007, gpsOne XTRA, è stata poi rinominata IZat XTRA Assistance nel 2013 e, più di recente, Qualcomm GNSS Assistance Service.
Cos’è Qualcomm GNSS Assistance Service e come funziona
GNSS sta per Global Navigation Satellite System e si riferisce ai sistemi di navigazione basati su satelliti come il GPS, il GLONASS e il Galileo. Qualcomm GNSS Assistance Service fornisce dati di assistenza GNSS agli apparecchi mobili, come smartphone e tablet, per migliorare le prestazioni di posizionamento e navigazione.
Come abbiamo osservato in precedenza, l’acquisizione dei segnali satellitari può richiedere del tempo e richiede una buona ricezione dei segnali da parte del dispositivo. In determinate situazioni, come all’interno di edifici o in aree fortemente urbanizzate, la ricezione dei segnali GNSS può essere ostacolata e il posizionamento satellitare diventa difficoltoso, se non impossibile.
Qualcomm GNSS Assistance Service offre una soluzione a questi problemi fornendo i dati utili per il posizionamento di ciascun dispositivo (informazioni sugli almanacchi, i dati di effemeridi ovvero le indicazioni orbitali di ciascun satellite, le correzioni di orologio e altre informazioni rilevanti). Tali dati vengono trasferiti al dispositivo dell’utente tramite una connessione dati mobile o WiFi velocizzando drasticamente il tempo di avvio del sistema GPS, l’acquisizione dei satelliti e il conseguente posizionamento. In questo modo è possibile posizione i dispositivi client anche in condizioni di scarsa ricezione del segnale.
I metodi di geolocalizzazione SUPL e la privacy
Negli ultimi anni, come abbiamo osservato in precedenza, si sono compiuti importanti sforzi per migliorare le soluzioni che permettono la geolocalizzazione precisa dei dispositivi anche indoor o comunque nelle zone in cui il segnale GPS non arriva correttamente.
La soluzione Qualcomm GNSS Assistance Service fa parte del più ampio ventaglio di strumenti per il posizionamento dei dispositivi chiamato SUPL (Secure User Plane Location). Se ci fate caso, infatti, nelle impostazioni dei nostri smartphone si fa generalmente riferimento ai servizi di geolocalizzazione, non a un servizio ben preciso.
Questo perché qualsiasi applicazione installata sul dispositivo mobile che necessita di conoscere la posizione dell’utente, la ottiene dal sistema operativo utilizzando la combinazione di metodi più rapida e accurata disponibile in quel preciso momento.
Così nel “bacino” delle soluzioni SUPL convergono anche altri strumenti come il meccanismo che permette di stabilire la posizione dell’utente esaminando gli hotspot WiFi presenti nelle vicinanze: in questo caso viene effettuata una triangolazione attingendo al database centralizzato disponibile ad esempio sui server di Google.
Tutti i metodi di geolocalizzazione esistenti fanno quindi parte dello standard SUPL, supportato dagli operatori di telefonia mobile e dagli sviluppatori di smartphone, microchip e sistemi operativi.
L’accesso ai servizi SUPL non dovrebbe, almeno sulla carta, comportare problemi di privacy degli utenti ma all’atto pratico alcuni dati vengono spesso raccolti e condivisi con alcuni soggetti terzi. Ad esempio, quando lo smartphone approssima la posizione geografica dell’utente utilizzando i segnali delle base station della telefonia mobile rilevate e disponibili nelle vicinanze, l’operatore di telefonia mobile sa esattamente quale abbonato ha inviato la richiesta e dove si trova in quel momento. Google monetizza i suoi servizi di localizzazione registrando la posizione e l’identificatore dell’utente.
Per quanto riguarda il sistema A-GPS, i server interrogati via Internet possono certamente fornire i dati richiesti senza raccogliere alcun identificativo dell’utente o raccogliere dati. Tuttavia, molti sviluppatori fanno entrambe le cose.
L’implementazione standard di Android dei servizi SUPL, ad esempio, prevede la condivisione del codice IMSI (numero SIM univoco) come parte delle richieste inviate; il client Qualcomm XTRA sullo smartphone trasmette “identificativi tecnici” e indirizzi IP ascrivibili a ciascun utente del servizio. Secondo quanto chiarito da Qualcomm, i dati vengono anonimizzati trascorsi 90 giorni eliminando tutti i record che collegano gli identificativi con gli indirizzi IP.
È vero che Qualcomm può spiare gli utenti e stabilire la posizione di ciascun dispositivo mobile che integra i suoi chip?
Ha destato grande scalpore un articolo pubblicato sul sito Web NitroKey che punta il dito contro Qualcomm e punta la famosa azienda produttrice, tra gli altri, dei SoC Snapdragon di aver giocato sporco monitorando “scientemente” la posizione di tutti gli utenti. L’analisi, balzata alle cronache in questi giorni, fa presente che gli smartphone con chip Qualcomm invierebbero dati personali degli utenti ai server dell’azienda tramite il protocollo HTTP, senza usare alcuna forma di crittografia e a loro insaputa. I promotori delle tesi accusatorie aggiungono che ciò avverrebbe presumibilmente senza controlli perché la funzionalità SUPL è implementata a livello hardware.
Come fa presente Kaspersky, a cui fanno eco anche gli sviluppatori di GrapheneOS, la ricerca della quale tanto si sta parlando per molti versi è fuorviante, mirerebbe a spaventare gli utenti e conterrebbe alcune imprecisioni.
Nei vecchi smartphone, infatti, le informazioni avrebbero potuto essere trasmesse su HTTP non sicuro, ma già dal 2016 Qualcomm ha risolto il problema evitando il trasferimento di dati in chiaro. Secondo il contratto di licenza Qualcomm, inoltre, informazioni come l’elenco delle app installate sul terminale di ciascun utente potrebbero essere effettivamente trasmesse tramite i servizi XTRA dell’azienda ma test pratici (ispezione dei pacchetti e studio del codice sorgente di Android) non hanno mostrato alcuna prova che ciò avvenga effettivamente.
Contrariamente alle affermazioni dei ricercatori, poi, la funzione di condivisione dei dati non è incorporata nel microchip baseband ma implementata a livello di sistema operativo: il suo comportamento può quindi essere certamente controllato ed eventualmente modificato. A tal proposito, possono intervenire sia gli sviluppatori del sistema operativo e anche la comunità modding (ad esempio i promotori di ROM Android alternative).
Sostituire e disattivare specifici servizi SUPL su uno smartphone è qualcosa che si può fare almeno dal 2012 ma i vari strumenti per la gestione del posizionamento accurato sono stati mantenuti con l’obiettivo di far funzionare il GPS più velocemente piuttosto che per motivi di privacy.