Il sistema di Exposure Notification Apple-Google per il covid-19 è in continua evoluzione. La prossima importante novità – già nella beta iOS 13.7 per iPhone ma a breve anche con Android – è la possibilità di ricevere notifiche di contatto a rischio covid senza bisogno di avere installata un’app specifica. Come da noi Immuni.
Tra le novità già attive, delle ultime settimane: per tranquillizzare gli animi e per agevolare la diffusione delle app di tracciamento dei contagi covid-19 come la nostra Immuni, Google ha deciso di rimuovere l’obbligo dell’attivazione del GPS quando si attiva il bluetooth.
Sempre per tranquillizzare gli utenti, le app basate su questo framework (Apple-Google) stanno cominciando a mandare una notifica settimanale “zero contatti”. Per ora solo su iPhone, a breve su Android, avvisano che non ci sono stati contatti a rischi.
Ci sono anche aggiustamenti pratici, che dovrebbero migliorare la precisione bluetooth e quindi il rilevamento contatto.
Facciamo un quadro.
Perché c’era il Gps nelle app covid anche se non serviva a niente
Si può dire che per una volta la tecnologia si è piegata ad un ragionamento demagogico. Almeno per la prima delle novità. Le app, infatti, non utilizzavano davvero il GPS (circostanza molto semplice da verificare empiricamente) e l’abbinata bluetooth-GPS era un residuo di altre funzioni, utilizzate in altre app, che le varie “Immuni” europee hanno ereditato per consentirne l’utilizzo. Tuttavia, sebbene fosse chiaro a tutti gli esperti che le informazioni GPS non fossero passate all’app, sembrava davvero un utilizzo inutile di risorse, oltre che una privazione della scelta di non essere localizzati dal proprio cellulare, magari con altre app (a cui comunque si era consentito manualmente ed esplicitamente l’accesso) e, pertanto, Google ha deciso di rinunciare a questa funzione, consentendo l’attivazione del solo bluetooth.
E’ comunque una buona notizia, anche richiamando alla lontana il principio di minimizzazione dei dati personali. Se i miei dati di geolocalizzazione non servono, allora perché attivare il GPS?
Android, a partire dal 2015, richiede che il cappello dei servizi di “geolocalizzazione” sia attiva quando un’app esegue la scansione bluetooth. Scansionare con il bluetooth non rileva automaticamente la posizione dell’utente, tuttavia, in alcuni casi la posizione può essere dedotta. Immaginiamo di avere un’app che ci guida nella visita ad un museo, questa per darci informazioni puntuali circa quello che stiamo vedendo, scansiona i beacon bluetooth posizionati all’interno del museo. L’app, sapendo esattamente dove si trovano quei particolari beacon bluetooth (nel museo appunto) può dedurre la nostra posizione! Può dedurre la posizione in maniera indiretta senza che l’app acceda direttamente al sensore GPS.
Per questo motivo Android ha posto l’accesso al bluetooth, insieme al sensore GPS, sotto la categoria (cappello) dei servizi di Geolocalizzazione. Se vogliamo accedere al sensore GPS o al bluetooth, i servizi di geolocalizzazione devono essere attivi.
In ogni caso c’è da ricordare che se un’app vuole accedere al sensore gps o al bluetooth, deve dichiararlo nel “manifest” dell’app, una sorta di file di configurazione in cui vengono dichiarati il nome dell’app, l’icona e tra le altre cose i sensori a cui può accedere. Le app che utilizzano ENS non possono avere il sensore GPS in quel manifest. Se non ce l’hanno nel manifest, poi non possono utilizzarlo. Stop.
Alla base di questa scelta c’è un eccesso di zelo nella tutela della privacy dell’utente, richiedendo di attivare la geolocalizzazione si mette in guardia l’utente del fatto che l’app può accedere alla posizione dell’utente, sia in maniera diretta tramite il sensore GPS, sia in maniera indiretta deducendola dalla scansione di alcuni particolari beacon bluetooth geo referenziati.
E così, dalla versione Android 11 Beta 3, la localizzazione non sarà più richiesta. Ad oggi, tuttavia, Immuni o i Play Service di Google sembrano non aver ancora implementato questa funzionalità e Immuni continua a non funzionare se la geolocalizzazione è spenta, anche se, ad oggi, sono in possesso di Android 11 Beta 3 solo i pochissimi possessori di smartphone Pixel (fabbricato da Google) che hanno aderito al programma beta (oppure chi ha adattato la nuova versione del S.O. al proprio smartphone, roba da “smanettoni”).
La notifica “zero contatti” su Immuni nel nuovo Exposure Notification System
Ha un valore più psicologico (o per meglio dire “comunicativo”) che pratico anche la notifica “zero contatti”. Prima si andava con il silenzio-assenso. Niente notifiche, tutto ok: non ci sono stati contatti a rischio rilevati da Immuni (certo ce ne possono essere stati comunque, a prescindere da Immuni, ovviamente). Adesso l’app comincia a confermare esplicitamente che in effetti non ci sono stati contatti.
La guida alla realizzazione del server anti covid
Oltre a quanto sopra, Google ed Apple hanno rilasciato una guida completa di realizzazione su come dovrebbe essere realizzato e impostato un server che andrebbe a completare il sistema delle app anti covid.
Sino ad oggi, Google ed Apple avevano rilasciato solo la descrizione del sistema di interscambio delle chiavi e le relative API per consentire alle App nazionali di richiedere i dati. Il server e, di conseguenza, le notifche di esposizione, erano lasciate alla libera progettazione delle singole società incaricate dai singoli stati.
Adesso Google ed Apple fanno un passo in più: ipotizzano un sistema che comprende anche l’interfaccia grafica che utilizza l’operatore sanitario per validare le chiavi temporanee (otp) che permettono al paziente di fare l’upload volontario delle teks nel caso fosse positivo.
Il lavoro è ovviamente magistrale ed è praticamente chiavi in mano, pronto da implementare (a cura dei singoli stati, senza mettere nulla nelle mani delle due società californiane, almeno per ora).
Bending Spoons ha già provveduto tempo addietro a realizzare un sistema che funziona che non si discosta molto dalla filosofia della soluzione proposta eccetto che per un passaggio, l’unico che lasciava spazio a più soluzioni di implementazione e cioè quello della verifica otp.
Con Immuni, l’app genera una otp (che varia in continuazione). Il paziente positivo la comunica all’operatore sanitario che provvede ad inserirla nel sistema. A quel punto la chiave è “abilitata” ad un solo invio (ricordiamoci che in nessuno di questi passaggi c’è correlazione tra la chiave e il nome del paziente, al fine di tutelarne la privacy).
Con il sistema di Google ed Apple invece, è l’operatore che tramite il suo front-end genera (richiede al server) una chiave che viene poi “consegnata” all’app anti covid (Apple e Google ipotizzano che questa possa essere consegnata tramite sms – con evidenti implicazioni sulla perdita dell’anonimato – e ci auguriamo che non sia questa la strada che verrà intrapresa). L’app verifica che la chiave sia corretta e che sia stata effettivamente validata e procede con il processo di upload delle teks.
Così il bluetooth diventa più preciso
Un’altra importantissima novità che aumenta e accentua la precisione dell’app, con evidente vantaggio sulla funzione sociale della stessa è la calibrazione del bluetooth in base al modello di smartphone. Abbiamo sempre precisato che la distanza rilevata durante un contatto non era in realtà un misura diretta. Veniva stimata a partire dall’attenuazione del segnale bluetooth rilevato. Per migliorare il risultato di questa lettura è stata introdotta la procedura di calibrazione (a cura delle api di A/G) che grazie ai valori di calibrazione (rssi correction, tx, calibration confidence) di centinaia di dispositivi (smartphone veri e propri, non solo i meri sensori) permette di aumentare la precisione della misurazione.
Infine, dalla versione 1.5 delle api, è stato “deprecato” il vecchio sistema di calcolo del rischio di esposizione (ma non rimosso, continueranno a funzionare le app non aggiornate al ENS v1.5 ). Il nuovo sistema si basa su delle finestre di esposizione chiamate ExposureWindows e rappresentano l’esposizione al beacon di una Diagnosys key per la durata massima di 30 minuti. Ogni Exposure Window viene quindi generata dall’esposizione ad un Proximity ID. Se l’esposizione è prolungata, verranno generate più ExposureWindows corrispondenti alla stessa Diagnosys Key ma queste non saranno comunque riconducibili alla Diagnosis Key originaria poiché la Key non viene esposta agli sviluppatori e vengono inoltre ritornate in ordine sparso.
L’Exposure Notification System non ha più bisogno di app installate
Infine, come già annunciato mesi fa, sta per arrivare la fase due del framework Google-Apple. Una funzione – disabilitabile dall’utente – per tenere traccia sul cellulare dei contatti bluetooth avvenuti ed eventualmente mandare una notifica in caso di contatto a rischio. Funzione per ora possibile solo con app dedicate come Immuni. La quale però resterà necessaria se si è positivi al covid-19 per poter caricare la propria lista di contatti sui server sanitari e quindi fare partire le notifiche di avviso.