Apple, Google, Api, il Covid e noi
di Fabio De Sicot (*)
Bluetooth e i suoi metadati: c’e’ da fidarsi?
Non tutte le API ri-escono con il Covid?
La notizia La notizia che Apple e Google stiano progettando una app per tracciare i malati di Covid-19 e’ ormai presente su tutti i media.
Ma perche’ se Apple e Google stanno progettando una app, esistono gia’ altre app di tracciamento che non son state realizzate ne’ da Apple ne’ da Google? Semplice: perche’ non e’ una app, ma una api
, o meglio un framework api
.
Cosa e’ una api Una api e’ letteralmente un pezzo di codice, disponibile in formato aperto o chiuso (lo standard e’ il posix), che puo’ essere richiamato da altre applicazioni per fare le operazioni desiderate. Immaginiamo quindi una api come una scatola nera che contiene dei cubi di rubik, con migliaia di permutazioni. Immaginiamo ora che questa scatola debba essere trasferita da un punto A ad un punto B. Ecco, che io la voglia trasferire con una automobile, con una bicicletta o con un treno a vapore, la api non cambia, ma cambia soltanto il mezzo, o il modo di trasportarla.
Un esempio puo’ essere quello delle api di openweather. Queste permettono di avere accesso ai dati meteo di piu’ di 200.000 citta’ sparse nel mondo, in vario modo, e, essendo aperte, possono essere richiamate con una stringa di codice, senza infrangere nessun copyright.
ex chiamata: api.openweathermap.org/data/2.5/weather?lat=35&lon=139
ex risultato: {“coord”: { “lon”: 139,“lat”: 35},
“weather”: [
{
“id”: 800,
“main”: “Clear”,
“description”: “clear sky”,
“icon”: “01n”
}
],
“base”: “stations”,
“main”: {
“temp”: 281.52,
“feelslike”: 278.99,
“tempmin”: 280.15,
“temp_max”: 283.71,
“pressure”: 1016,
“humidity”: 93
},
“timezone”: 32400,
“id”: 1851632,
“name”: “Shuzenji”,
“cod”: 200
}
},
Le fonti Il Privacy-Preserving Contact Tracing è il sistema proposto dall’azienda di Cupertino (ovvero dalla Apple) e da BigG (cioè Google) per aiutare nella battaglia contro il Covid-19. “In this spirit of collaboration, Google and Apple are announcing a joint effort[…]“. Infatti e’ una delle prime volte, a mia memoria, che le due aziende collaborano a qualcosa di cosi’ importante e di cosi’ invasivo per la vita dei loro utilizzatori.
Il framework API viene descritto molto bene nel terzo documento della lista. Coinvolge due tipi di utenti: gli utenti “affetti” da Covid-19, e gli utenti “esposti” al Covid-19.
CTSelfTracingInfoRequest
CTExposureDetectionContactHandler
Le fasi Prima fase Ad ogni utente, o meglio ad ogni device, vengono assegnati due indirizzi: una chiave relativa al device che l’utente sta usando, e una chiave relativa al protocollo di comunicazione che si sta usando, ovvero il bluethooth. Entrambe, in un intervallo fra i 10 e i 20 minuti, cambieranno in maniera random in modo che sia impossibile per il sistema linkare pemanentemente i due indirizzi fra loro.
Seconda fase Nel momento in cui il sistema identifica, attraverso il bluetooth a bassa energia, un altro device con lo stesso protocollo attivo, prende la sua chiave temporanea e la invia in una sua sezione del telefono dove la chiave viene criptata viene inviata al secondo device. Nel secondo device la chiave ricevuta viene inserita in un database crittato di chiavi.
Terza fase Entra in gioco la app che utilizza questo framework. Se l’utente volontariamente inserisce i suoi dati, e se positivo al covid-19, consente alla app di conoscere il suo stato di salute, e invia sul server le chiavi salvate nel database negli ultimi 14 giorni. I possessori delle chiavi riceveranno una notifica che sono entrati in contatto, negli ultimi 14 giorni, con qualcuno affetto da covid-19.
Considerazioni Fa onore sia a Google che ad Apple aver realizzato questo framework per vari motivi. Il primo, e quello fondamentale, e’ perche’ la api permette ai due sistemi operativi piu’ diffusi al mondo, android e ios, di comunicare fra loro con uno standard comune. Secondo perche’ si utilizza il bluetooth a bassa energia, disponibile su tutti gli smartphones, ed e’ particolarmente interessante quando parliamo della produzione di app che dovranno girare su entrambi i sistemi operativi. Infine perche’ si sono impegnate in uno standard comune, e non in una app comune, chiusa e magari proprietaria. E questo gli fa onore.
Se poi le app prodotte utilizzeranno il protocollo DP3T (qui disponibile la pagina su Github
), aperto e decentralizzato, questo facilitera’ certamente il livello di fiducia di chi vorra’ installare la app, e partecipare al tracciamento volontario.
Ca va sans dire che stiamo parlando di un tracciamento, seppur sicuro, seppur spontaneo, seppur volontario, che come idea di base non mi entusiasma affatto. Quindi alla domanda una app basata su questo framework la installeresti
risponderei sicuramente no
. Il diritto alla privacy e’ un diritto inalienabile, e tale rimane anche in situazioni straordinarie come questa.
E per quanto mi riguarda, davvero, no grazie
.
[modificato il 05/05/202]
nota della redazione
qui si descrive soltando il sistema di interazione, o se volete di scambio di metadati, fra il sistema operativo android e ios. non un protocollo, non una app quindi, ma soltanto la lingua comune con cui i due os mobile piu’ diffusi al mondo riescono a comunicare tramite il bluetooth a bassa energia.
(*) come vedete non è un post recente ma visto che si continua a parlare di “protocolli, os, app” – senza troppo chiarire – alla redazione della “bottega” è sembrato utile proporlo qui. A proposito: un grande ben tornato a Fabio.