Altro

    Immuni: il codice sorgente è disponibile su GitHub

    App Immuni

    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.

    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.

    L’articolo Immuni: il codice sorgente è disponibile su GitHub proviene da SystemsCuE.

    Share

    NEL MONDO
    548,935,393
    Casi totali confermati
    Updated on 27 June 2022 03:32
    All countries
    6,350,765
    Morti totali
    Updated on 27 June 2022 03:32

    GUARDA TUTTI I DATI

    ITALIA

    Italy
    18,234,242
    Casi totali confermati
    Updated on 27 June 2022 03:32
    Italy
    17,332,700
    Guariti totali
    Updated on 27 June 2022 03:32
    Italy
    733,440
    Attuali positivi totali
    Updated on 27 June 2022 03:32
    Italy
    168,102
    Morti totali
    Updated on 27 June 2022 03:32

    Ultimi articoli

    Cure e vaccini

    Articoli correlati

    Vitamina D e osteoporosi in età pediatrica

    Si parla spesso di osteoporosi e carenza di vitamina D, ma attenzione a non...

    Prodotti cosmetici per la cura della pelle? Meglio in farmacia!

    L’obiettivo dei prodotti cosmetici? Coniugare salute e bellezza, due fattori che si trovano ad...

    Necrobotica: ragni morti trasformati in robot

    Attraverso un esperimento tanto inquietante quanto sorprendente, un team di scienziati ha letteralmente rianimato...

    Genoma: ‘vernice spray’ mette in evidenza la materia oscura

    Gli studi attuali cercano di identificare il ruolo delle migliaia di proteine presenti ​​nel corpo...