fbpx

SEGUICI SU:

DELLO STESSO AUTORE

INSTAGRAM

CORRELATI

Immuni: il codice sorgente è disponibile su GitHub

A pochi giorni dai primi test è stato rilasciato il codice sorgente di "Immuni", l'app che traccerà il contagio del coronavirus in Italia.

Un altro passo avanti per l’app “Immuni“: il codice sorgente è ora disponibile su GitHub, scaricabile e consultabile da tutti.

Dell’app sapevamo già che utilizza il protocollo ROBERT per la sicurezza e la privacy, e che fa uso del bluetooth e non del WiFi per la comunicazione tra dispositivi. Adesso che il codice è stato rilasciato pubblicamente, possiamo finalmente conoscere i dettagli tecnici dell’app di tracciamento dei contagi.

Il codice di “Immuni”

L’applicazione è stata pubblicata sotto licenza GNU AGPL-3.0 (Affero General Public License). Pubblicata nel 2007, differisce dalla GNU General Public License per una sezione aggiuntiva che richiede che ogni modifica del codice sorgente sia resa pubblica e disponibile a tutti coloro che utilizzano il codice.

Il logo dell'app "Immuni". Credits: Immuni App - Presidenza del Consiglio dei Ministri
Il logo dell’app “Immuni”. Credits: Immuni App – Presidenza del Consiglio dei Ministri

“Immuni” è divisa in quattro repository:

Per quanto riguarda lo sviluppo dell’app iOS, il team ha usato Swift 5.2 e Xcode 11.5, mentre per l’app Android sono stati utilizzati Kotlin 1.3 e Android Studio 3.6. Nel caso di iOS, l’app sarà disponibile per la versione 13.5, mentre per Android servirà la 6.

I servizi di backend, realizzati con un’architettura a microservizi, sono stati implementati in Python 3.8, utilizzando Poetry come dependency manager. Per il DB è stato scelto MongoDB, un database non relazionale molto utilizzato negli ultimi anni. Le performance dei servizi sono monitorate con Prometheus, un software open-source per il monitoraggio e l’analisi delle prestazioni dell’app.

Come funziona “Immuni”

La ricca documentazione dell’app presenta anche un caso d’uso che spiega più nel dettaglio come avviene il tracciamento. Ogni device su cui è installata e attiva l’applicazione avrà una chiave temporanea di identificazione chiamata temporary exposure key (TEK). Questa viene generata in modo randomico e cambia ogni giorno. L’app trasmette un segnale BLE (Bluetooth Low Energy) che contiene un rolling proximity identifier (RPI). Questo identificativo, generato a partire dalla TEK, viene inviato nel payload del Blueetoth, e cambia ogni 15 minuti per evitare il tracking del dispositivo.

Il rolling proximity identifier viene calcolato a partire dal Daily Tracing Key o Temporary Exposure Key. Credits: medium.com
Il rolling proximity identifier viene calcolato a partire dal Daily Tracing Key o Temporary Exposure Key. Credits: medium.com

Quando due device si “incontrano”, si scambiano i propri RPI e li memorizzano. Se l’utente di uno dei due device viene poi identificato positivo al coronavirus può decidere di inviare le proprie TEK ai server di “Immuni” che deriveranno gli RTI annessi. L’upload delle chiavi al server può essere fatta soltanto in presenza di un operatore sanitario certificato, per evitare che vengano caricati dati errati. Ogni dispositivo controlla periodicamente se sono state aggiunte nuove chiavi sul server, confrontandole con quelle memorizzate in locale. Se viene individuata una corrispondenza, l’applicazione notifica all’utente la presenza del rischio di contagio. Va sottolineato che la notifica indica soltanto che si è a rischio, e non da chi (potenzialmente) proviene. Le informazioni sugli utenti non vengono condivise tra i dispositivi.

Una rappresentazione schematica del funzionamento di "Immuni". Credits: ANSA
Una rappresentazione schematica del funzionamento di “Immuni”. Credits: ANSA

Il calcolo del rischio non dipende soltanto dall’incontro tra due persone, ma soprattutto dalla durata dell’esposizione tra i due e la distanza tra i dispositivi. Il calcolo di quest’ultima misura è quello più soggetto a errori, in quanto ci sono fattori come l’orientamento dei device o la presenza di ostacoli che possono alterare la corretta misurazione.

Test e Privacy

“Immuni” è un’applicazione in evoluzione e continuo miglioramento. Da venerdì inizieranno i primi test, partendo da Liguria, Abruzzo e Puglia. L’obiettivo è inserirla a livello nazionale per la metà di giugno.

Ricordiamo che l’app non utilizza dati personali: le informazioni relative al nome, data di nascita, indirizzo, email o numero di telefono non vengono raccolte nei server. “Immuni” non utilizza la geolocalizzazione, perciò gli spostamenti non vengono registrati. Tutti i dati raccolti, inoltre, saranno cancellati quando non saranno più necessari, e in generale non oltre il 31 Dicembre 2020.

CUE FACT CHECKING

Grazie per essere arrivato fin qui

Per garantire lo standard di informazione che amiamo abbiamo dato la possibilità ai nostri lettori di sostenerci, dando la possibilità di:
- leggere tutti gli articoli del network (10 siti) SENZA banner pubblicitari
- proporre ai nostri team le TEMATICHE da analizzare negli articoli

LASCIA UN COMMENTO

Please enter your comment!
Please enter your name here

Marina Londei
Laureata in Ingegneria e Scienze Informatiche, unisco la passione per la scrittura al mio lavoro.