Come funziona davvero Immuni, la app per fare contact tracing

Prende corpo il progetto di Immuni, la app scelta dal governo italiano per raccogliere dati utili a fare contact tracing dei contagi da coronavirus. Il ministero dell’Innovazione ha reso disponibile su Github (tradizione ereditata dai tempi in cui alla guida del team digitale c’era l’ex numero due di Amazon Diego Piacentini) il documento che descrive il funzionamento dell’applicazione. Il lancio è previsto per la fine del mese, come ha annunciato il commissario straordinario per l’emergenza Covid-19, Domenico Arcuri.

Nelle prossime ore è atteso l’aggiornamento del sistema operativo da parte di Apple e Google, che consentirà finalmente di far dialogare via bluetooth i dispositivi delle due scuderie. Conditio sine qua non per accendere i motori delle app di contact tracing che lo integrano. I due colossi stimano che serviranno circa due settimane perché il 70-80% degli utenti aggiorni il proprio dispositivo. Al ministero dell’Innovazione, risulta a Wired, la data cerchiata in rosso è il 29 maggio: se tutti i pezzi del puzzle vanno al loro posto senza ritardi, entro quel giorno il governo punta a rilasciare Immuni.

I primi layout di Immuni, la app per fare contact tracing in Italia (fonte: Bending Spoons/Ministero dell'Innovazione)
I primi layout di Immuni, la app per fare contact tracing in Italia (fonte: Bending Spoons/Ministero dell’Innovazione)

Cosa succede al primo accesso

Il documento su Github spiega come funzionerà la app. Al primo accesso sarà richiesto all’utente di inserire la provincia di riferimento. Non le prime due cifre del codice di avviamento postale, come inizialmente progettato (e riferito dal Corriere della Sera). Questo è l’unico dato fornito in partenza al dispositivo e serve alle autorità sanitarie, si legge nel documento, “per mostrare informazioni rilevanti a livello locale all’utente se un contatto a rischio viene notificato”. I cittadini dovranno accettare la privacy policy, i termini del servizio e dovranno avere più di 14 anni.

Qualunque funzione e autorizzazione al livello del sistema operativo dovrà essere accordata espressamente dall’utente (il cosiddetto principio di opt-in) confermando il carattere volontario del progetto (a partire dal download). Ma è qui che emergono le differenze tra chi utilizza dispositivi basati su Android o iOS. Per quanto riguarda la piattaforma di casa Google, Immuni potrà funzionare solamente con la geolocalizzazione attiva a livello di sistema operativo. Una caratteristica indicata come “indispensabile affinché il sistema funzioni correttamente” ma che non permetterà comunque a Immuni di acquisire le informazioni di localizzazione. Questo è confermato dal fatto che all’installazione, l’app non richiederà l’autorizzazione per accedere ai dati gps. Secondo quanto previsto dal documento, l’unica autorizzazione specifica richiesta da iOS sarà invece quella per l’invio delle notifiche di esposizione, già attive invece sul modello Android.

I primi layout di Immuni, la app per fare contact tracing in Italia (fonte: Bending Spoons/Ministero dell'Innovazione)
I primi layout di Immuni, la app per fare contact tracing in Italia (fonte: Bending Spoons/Ministero dell’Innovazione)

Come funziona la app

La app scambia con altri dispositivi che l’hanno a bordo una sorta di stretta di mano digitale (digital handshake) quando sono a distanza ravvicinata, attraverso il bluetooth low energy (che consuma poca batteria). Se Mario e Anna si incontrano, i loro dispositivi si scambieranno una chiave di esposizione temporanea (tek, temporary exposure key). Si tratta di una chiave 16-byte, crittografata, generata casualmente e che viene modificata periodicamente, in modo che il dispositivo a cui è collegata non possa essere intercettato. Gli smartphone di Mario e Anna, pertanto, registreranno reciprocamente di essere entrati in contatto con i rispettivi dispositivi, ma senza che si possano ricavare le identità dei loro proprietari (per esempio, come Pippo61 e Minnie897).

Queste chiavi vengono archiviate sui dispositivi stessi (sistema decentralizzato) e conservate per un massimo di 14 giorni, dopo i quali sono cancellate. Registrano anche la durata dell’incontro, da un minimo di 5 minuti a un massimo di 30 (come prescrive il protocollo Apple e Google) e la distanza tra i dispositivi. In parole povere, il dispositivo prenderà atto di ciascuna esposizione che sia durata almeno cinque minuti e ne interromperà la registrazione fino ad arrivare a mezz’ora: in questo modo non sarà in alcun modo possibile dedurre che due dispositivi sono stati a contatto per tempi maggiori. Inoltre, “Immuni non avrà alcun modo di determinare se si siano verificate più esposizioni in diversi giorni tra gli stessi telefoni”: un’ulteriore caratteristica pensata per eliminare qualunque eventualità di ricostruire una frequentazione ripetuta nel tempo tra due utenti.

Questi dati servono per stabilire un grado di rischio del contatto. Così, quando un utente viene informato di essere entrato a contatto con una persona risultata positiva al Covid-19, riceve anche un grado di allerta, dal quale possono dipendere diverse contromisure di prevenzione. Sta al ministero della Salute ora definire i parametri di questi livelli di rischio.

I primi layout di Immuni, la app per fare contact tracing in Italia (fonte: Bending Spoons/Ministero dell'Innovazione)
I primi layout di Immuni, la app per fare contact tracing in Italia (fonte: Bending Spoons/Ministero dell’Innovazione)

Cosa succede se una persona si scopre positiva al test

Ipotizziamo che Mario faccia il tampone e risulti positivo al coronavirus. A quel punto può avvertire le persone con cui è venuto in contatto, associando alle tek delle due settimane precedenti lo status di positività al Covid-19. Il documento Github spiega che il procedimento avverrà con l’assistenza del personale sanitario. Il paziente entra in una sezione specifica dell’app, dove visualizza una password valida una sola volta (one time password, otp). Comunica questo codice, per esempio per telefono a un addetto dell’Asl, che lo carica sul database centrale. A questo punto tocca anche al paziente validare l’otp e, successivamente, dare l’ok finale all’invio dei dati. Ogni passaggio è volontario.

A quel punto, le tek dei 14 giorni precedenti registrano la positività. Ogni giorno le app si collegano al database centrale e controllano la lista di pseudonimi con cui sono entrati in contatto con quelli risultati positivi al Covid-19. Lo smartphone di Minnie897 troverà, quindi, che Pippo61 ha il coronavirus. A quel punto attiverà la notifica di contatto a rischio. Anna saprà di essere stata vicina a qualcuno che si è ammalato di Sars-Cov-2 (ma né dove, né chi) e riceverà le indicazioni su come comportarsi.

Una certa attenzione è stata data anche all’esperienza dell’utente, per la quale si è valutato anche il modo in cui il cittadino interagirebbe con l’app in un momento di pressione come quello in cui dovesse scoprire di essere stato contagiato. A questo proposito si è preferita una procedura nella quale l’utente deve dettare il codice anziché scriverlo sotto dettatura. Per la stessa ragione, si apprende dal documento, si è scelto di prevenire errori di digitazione limitando il set di caratteri del codice a un ristretto gruppo di lettere che difficilmente possono essere confuse tra di loro.

I primi layout di Immuni, la app per fare contact tracing in Italia (fonte: Bending Spoons/Ministero dell'Innovazione)
I primi layout di Immuni, la app per fare contact tracing in Italia (fonte: Bending Spoons/Ministero dell’Innovazione)

Analisi del dato

Come ha spiegato a Wired l’ufficio del ministro per l’Innovazione, l’indicazione della provincia, che l’utente inserisce al primo utilizzo e che dovrebbe corrispondere all’autorità sanitaria regionale di riferimento, resterà anonima e contribuirà al quadro epidemiologico che le autorità sanitarie e lo stesso ministero della Salute (titolare del trattamento dei dati) stanno tracciando. Nessun dato sarà condiviso con terze parti (se non in forma aggregata, anonima e per scopi di ricerca).

Un dato utile è il numero di notifiche spedite. Sapere se sono state 100, 500 o mille in un giorno può essere servire alle autorità sanitarie come allerta preventiva per stabilire quanti posti in terapia intensiva potrebbero servire o quanti tamponi acquistare. A quanto dichiarato dall’ufficio del ministero dell’Innovazione, Immuni è l’unica app in Europa che al momento consente queste forme di analisi dei big data, tanto che, tra le altre cose, gli sviluppatori sono al lavoro su sistemi per impedire che i dati possano essere inquinati.

I primi layout di Immuni, la app per fare contact tracing in Italia (fonte: Bending Spoons/Ministero dell'Innovazione)
I primi layout di Immuni, la app per fare contact tracing in Italia (fonte: Bending Spoons/Ministero dell’Innovazione)

Sicurezza informatica

Cifratura dei dati e trasmissione tramite protocollo https rispondono alle esigenze di sicurezza di base di Immuni, che tuttavia dovrà aspettare i primi rilasci per essere testata a dovere. Come anticipato dal documento pubblicato giovedì, in futuro verranno condivisi anche altri report che entreranno nel merito dell’aspetto sicurezza, con il dettaglio dei penetration test (dall’inglese, test di penetrazione) che Immuni dovrà affrontare prima di essere distribuita. Al resto pensa il sistema operativo, con le sue misure di protezione dei dati di default. Bene per iOS e un po’ meno per Android, che supporta la full disk encryption (cifratura dell’intero disco) esclusivamente su dispositivi di fascia alta. Ma in questo caso il rischio non è certo legato all’app Immuni (i cui dati, come detto saranno comunque cifrati) quanto alla quantità di informazioni personali (foto, video e messaggi) che salviamo sul nostro telefono e che potrebbero essere un giorno rubate se questo venisse rubato o smarrito.

I dati saranno archiviati su server pubblici, gestiti da Sogei, la società informatica controllata dal ministero dell’Economia e delle finanze (e coinvolta nel progetto con Pagopa, la spa pubblica dei pagamenti digitali che ha il ruolo di coordinamento tecnologico). Un’ulteriore misura predisposta dagli sviluppatori sarà quella che vedrà la produzione del cosiddetto dummy traffic, ovvero una trasmissione di dati spazzatura generata dai dispositivi in modo da inquinare il segnale  e impedire a eventuali soggetti terzi di acquisire informazioni attraverso un’analisi del traffico.

I primi layout di Immuni, la app per fare contact tracing in Italia (fonte: Bending Spoons/Ministero dell'Innovazione)
I primi layout di Immuni, la app per fare contact tracing in Italia (fonte: Bending Spoons/Ministero dell’Innovazione)

I prossimi passi

Il codice sarà presto reso open source, come ribadisce su Github Luca Ferrari, amministratore delegato della società che sta sviluppando l’app, la milanese Bending Spoons. Nel frattempo l’Italia è al lavoro con gli altri Stati dell’Unione europea per rendere interoperabili le app, condizione necessaria per riaprire le frontiere. Se un cittadino italiano entra in contatto con una persona successivamente positiva al Covid-19 in Francia, Immuni e la controparte d’Oltralpe si devono poter scambiare i dati. Questo lavoro è semplice tra app che hanno modelli decentralizzati (come quella italiana, ossia dove l’abbinamento dei contatti avviene sullo smartphone dell’utente) e tra quelle che usano modelli centralizzati (come il caso francese, ossia dove l’elaborazione si svolge nel database centrale). Più difficile è far dialogare le due famiglie. Operazione su cui ora è concentrata la Commissione europea. 

The post Come funziona davvero Immuni, la app per fare contact tracing appeared first on Wired.