Google ha pubblicato la prima documentazione sulle API per le app di Exposure
Notification (adesso il contact tracing si chiama così). L'esame di
queste informazioni ci fa capire molti aspetti della tecnologia adottata insieme
ad Apple, in particolare i criteri sulla base dei quali un contatto sarà
considerato "a rischio".
Il dato che emerge da questa prima analisi è la inevitabile complessità
dell'applicazione, che forse solo due giganti come Google e Apple possono
dominare. Il primo elemento alla base delle API che saranno rilasciate è che lo scambio di informazioni fra i dispositivi avverrà quando due
di essi resteranno in contatto Bluetooth per un certo intervallo di tempo e al
di sotto una certa distanza, impostabile dall'app che richiama l'API.
Nel caso in cui uno dei contatti sia stato riconosciuto come "positivo"
e abbia volontariamente caricato le sue chiavi giornaliere sul server a ciò dedicato, gli altri dispositivi le
scaricheranno e compiranno una ricerca interna, restituendo i casi riscontrati. Si possono verificare tre situazioni:
a) singolo incontro con un singolo dispositivo;
b) incontri multipli con lo stesso dispositivo, anche in tempi differenti;
c) incontri con più dispositivi.
Trattandosi di incontri con il dispositivo di chi è contagiato, i tre casi hanno gravità
differenti, secondo un grado di rischio crescente.
I parametri più importanti per far scattare lo scambio di dati fra i dispositivi sono la durata del contatto e la distanza fra i dispositivi.
La durata del contatto è calcolata in minuti e viene fissato un limite superiore di 30 minuti, cioè contatti di durata superiore ai 30 minuti verranno considerati contatti multipli con lo stesso dispositivo.
Sembra di capire che la durata minima del contatto sia fissata in un minuto, cioè contatti di durata inferiore non genereranno scambio di
dati fra i dispositivi.
C'è poi l'impostazione della distanza fino alla quale il dispositivo deve considerare a rischio l'incontro.
Il calcolo della distanza con il Bluetooth può essere fatto in due modi:
a) calcolando il tempo impiegato dal segnale per passare da un dispositivo
all'altro;
b) misurando la potenza del segnale ricevuto.
Il metodo a) in situazioni a così corto raggio non è applicabile nei telefonini, in quanto richiederebbe una misurazione del tempo troppo accurata, e di conseguenza costosa, per i componenti elettronici presenti negli smartphone
attuali (per distanze di un circa metro serve un orologio dedicato solo alla misura della distanza con frequenza
nell'ordine dei GHz).
Il metodo della potenza del segnale invece è molto meno preciso, ma facilmente utilizzabile.
Sfrutta il fatto che l'intensità di qualsiasi segnale radio diminuisce con la distanza. Poiché l'intensità con cui il segnale parte è standard per tutti
i dispositivi, misurando l'intensità ricevuta con opportune formule matematiche è possibile calcolare la distanza.
Per la cronaca, questo è esattamente quello che viene fatto nella geolocalizzazione mediante le antenne degli operatori telefonici, a cui viene aggiunto l'angolo da cui proviene il segnale. Si ottiene così uno spicchio curvo all'interno del quale è
presente il dispositivo.
Tuttavia la propagazione dei segnali radio alla frequenza del Bluetooth (2,4 GHz) è molto influenzata da eventuali oggetti che si trovano fra i due dispositivi.
Per esempio, ipotizziamo che l'app sia configurata per considerare contatti fino a 3 metri in
aria libera.
Se due persone si trovano a meno di 3 metri con i telefoni in mano l'app sicuramente segnalerà il contatto.
Però, se le stesse due persone sono a 2 metri una di fronte all'altra, ma con i telefoni nella tasca posteriore dei pantaloni o in una borsa, l'intensità del segnale
diminuisce molto e potrebbe arrivare sotto la soglia configurata nell'app.
In questo caso non si avrebbe la segnalazione di una situazione potenzialmente a rischio. Per contro, se sono a casa mia seduto sul divano appoggiato al muro, e al di là del muro
c'è una persona seduta sul suo divano, ci troveremmo a circa un metro di
distanza, ma con un muro in mezzo. In questo caso l'intensità del segnale direbbe che siamo a circa 2 metri e per un tempo lungo. Questo potrebbe generare un caso di falso positivo.
Nella realtà il Bluetooth legge l'intensità del segnale più volte nel tempo e ciò che viene restituito è un valore calcolato su tutte le letture fatte. Infine
l'API prevede che, se l'app viene disinstallata dall'utente, venga automaticamente attivata la funzione di cancellazione di tutti i
relativi dati presenti nel dispositivo.
L'uso della tecnologia bluetooth può essere un aiuto, ma non deve assolutamente essere considerata come
la Soluzione (con la S maiuscola). NON pensiamo di poter andare in giro tranquilli perché abbiamo in tasca l'app, assolutamente NO.
Va invece vista come uno strumento che aiuterà il sistema sanitario a mantenere la propagazione del virus entro numeri accettabili per il sistema stesso, in attesa di un vaccino o di una qualche cura.
Una nota che non fa per nulla piacere. Tutto il discutere sull'uso di un'app per il contact tracing
ha messo in moto anche la malavita, che è a caccia delle vulnerabilità del sistema bluetooth da sfruttare come punto d'ingresso negli smartphone. Ciò è molto preoccupante perché la maggior parte degli smartphone non è protetta da attacchi.
Non è difficile prevedere parecchi problemi proprio sui dispositivi mobili nei prossimi mesi.
La prime avvisaglie ci sono già, ad esempio vedendo il notevole aumento di furti d'identità su
Facebook.
La battaglia si sposterà presto dal virus covid-19 ai malware per smartphone. Vedi anche Contact tracing via Bluetooth, attenzione alla sicurezza
e Android e iOS, quali garanzie per l'anti-Covid-19?
|