Ti stai chiedendo cosa sia un'app di contact tracing? Vorresti approfondirne il funzionamento, i protocolli disponibili ed i rischi connessi all'utilizzo di questa tecnologia?
In questo articolo cercherò di far chiarezza proprio sulle caratteristiche di questa tecnologia, scelta dai governi di mezzo mondo, per contrastare la diffusione della pandemia da coronavirus.
Dopo oltre due mesi di lockdown, dopo aver visto centinaia di programmi, ascoltato virologi, epidemiologi, medici ed ex pazienti, letto articoli e news credo sia chiaro a tutti che la lotta al codiv-19 deve essere fatta seguendo più strade, che possono essere riassunte con l'ormai famoso assioma delle tre “T” ossia Test, Trace e Treat.
I contenuti dell'articolo
Le tre “T”: Testing, Tracing e Treating
Questo significa che è necessario fare dei test alla popolazione (tamponi, test sierologici, …), tracciare i contatti usando la tecnologia (Trace) e per finire lavorare al trattamento (Treat) del paziente con medicinali, cure e terapie intensive adeguate.
In attesa di un vaccino (che non è ancora ben chiaro se e quando ci sarà) è fondamentale che ogni stato lavori e bene su tutte e tre le “T“.
In questo articolo ti parlerò della seconda “T” ovvero del “Trace” o contact tracing o tracciamento dei contatti, come funziona, quali protocolli esistono e quali implicazioni, anche legate alla sicurezza, potrebbe avere l'adozione di questa tecnologia su scala mondiale.
I Beacon Bluetooth
Per comprendere bene come funziona il contact tracing è bene fare un piccolo passo indiero e parlare della tecnologia “beacon” basata su BLE (Bluetooth Low Energy).
Questa tecnologia, basata appunto sul Bluetooth, si compone di due “attori”, un presentatore (il dispositivo beacon) ed un ricevitore (una app per smartphone).
Il dispositivo beacon (presentatore) può avere varie forme, anche di design, ma la sua principale caratteristica è quella di essere in grado di trasmettere, ad intervalli regolari, un UUID (B9407G30-H5F8-944E-AFG9-34557A56FE6D) oltre a due valori numerici (major e minor) che ne permettono la classificazione.
La app per smartphone (ricevitore) invece è in grado di ricevere il messaggio trasmesso dal beacon e sulla base delle informazioni ricevute è in grado di “fare” delle cose.
Normalmente queste tecnologie si utilizzano per le app dei musei, per app informative all'interno dei centri commerciali o per il geofencing in zone non coperte dal GPS (es. nelle metropolitane).
Come funziona il contact tracing
Il contact tracing funziona con la sola app che funge sia da presentatore (beacon che trasmette) che da ricevitore (sw in grado di ricevere).
In sostanza non esiste un oggetto passivo (beacon) ed un oggetto attivo (app) in quanto lo smartphone, o meglio hardware e software dello smartphone sono in grado di svolgere entrambe i ruoli, per cui installando la app su un cellulare lo si rende sia presentatore che ricevitore.
In questo modo, quando due smartphone entrano nell'area di attivazione del Bluetooth entrambe trasmettono e ricevono l'UUID all'altro. Per app così “delicate” l'UUID non è statico, bensì cambia ad intervalli regolari proprio per aumentare il livello di sicurezza e di privacy del processo.
Questo è uno use case tipico per quanto riguarda il contact tracing (fonte wikipedia)
Come si vede bene dallo use case il soggetto A, affetto senza sintomi da coronavirus, entra in contatto diretto con B a casa, C e D sul treno, E, F e G al lavoro e non direttamente con H ed I.
Quando il soggetto A scopre di avere il coronavirus questi dovrà trasmettere la lista dei suoi contatti, in forma anonima e criptata, alle autorità sanitarie tramite la app.
In questo modo i soggetti B, C, D, E, F e G verranno automaticamente avvistati di essere entrati in contatto con un soggetto positivo, e quindi potranno attivare tutta una serie di protocolli quali: auto isolamento, tampone, monitoraggio della temperatura.
I soggetti H ed I verranno avvistati di essere entrati in contatto con un soggetto positivo ma di essere a basso rischio di contaminazione per via della distanza e probabilmente della durata del contatto.
La qualità del contatto
Il concetto di qualità del contatto è una cosa sulla quale in molti, me compreso, stanno sollevando dubbi e perplessità.
Cosa si intende per qualità del contatto?
La qualità del contatto è un indice direttamente proporzionale alla possibilità che un contatto abbia potuto determinare una infezione del soggetto A verso il soggetto B.
Da cosa dipende la qualità del contatto?
La qualità del contatto dipende da molti fattori, alcuni dei quali non rilevabili con il solo Bluetooth, e che possiamo riassumere cosi:
- Durata del contatto: ovviamente un conto è che due persone entrino in contatto per 30 secondi ed un conto è che lo facciano per un'ora. Questa caratteristica è molto semplice da verificare con il BT.
- Vicinanza del contatto: anche la vicinanza è un indica molto importante, considerando che l'area di attivazione del BLE è circa 100m capisci benissimo che un conto è stare a 30 metri ed un conto a 20 cm. Questa caratteristica è molto semplice da verificare con il BT.
- Potenza del segnale: anche questo è un aspetto molto importante e che dipende direttamente dal fatto che esistano o meno delle barriere tra un soggetto ed un'altro. Questa caratteristica è invece più complessa da verificare, ad oggi sappiamo che ci stanno lavorando gli ingegneri di Apple e Google e che le nuove API consentiranno di agire anche su questo, in quanto contano di riuscire ad inserire una soglia di potenza del segnale del Bluetooth per escludere contatti non rilevanti.
- Luogo del contatto: il luogo potrebbe avere un'importanza decisiva, basti pensare alla differenza che potrebbe esserci tra essere entrati in contatto con un soggetto positivo su una spiaggia oppure in un ospedale. Questa caratteristica, tuttavia, non è analizzabile con il solo BT in quanto questo non ci fornisce informazioni su “dove” è avvenuto il contatto. Per farlo ci servirebbe il tracciamento GPS (latitudine e longitudine) ma ad oggi nessuna delle app scelte e dei protocolli adottati da stati democratici prevede questa funzionalità.
- Analisi centralizzata o decentralizzata: l'analisi del contatto intercorso tra A e B può essere fatta direttamente sul device (analisi decentralizzata) oppure potrebbe essere posticipata sul server centrale nel momento in cui le informazioni verranno trasmesse (analisi centralizzata). Questi due diversi approcci stanno sollevando moltissime opinioni contrastanti, anche in relazione ai vari protocolli adottati e che analizzeremo nel prossimo paragrafo. Per ora ti basti sapere che una analisi decentralizzata potrebbe lasciare qualcosa dal punto di vista computazionale ma acquisire molto in sicurezza e privacy mentre una analisi centralizzata potrebbe migliorare molto in termini di potenza di calcolo ma lasciare aperti dubbi e perplessità sul tema della privacy e della sicurezza.
- Qualità dell'algoritmo: sembra una cosa scontata ma in realtà non lo è affatto. Un buon algoritmo di analisi dei contatti sarà in grado di scartare quelli non rilevanti e evidenziare solo quelli realmente “pericolosi”. Su questo tema si stanno confrontando (e spesso scontrando) quasi tutte le società di sviluppo software del mondo, anche se da padrone la stanno facendo Apple e Google. Sempre su questo tema è importante notare come ci siano criticità anche in relazione all'utilizzo delle API Bluetooth da parte dell'app, soprattutto su SO iOS, quando l'app è in background. Anche a questo Apple e Google stanno lavorando con la definizione del nuovo protocollo di colloquio tra software e hardware bt.
Come vedi per determinare la qualità del contatto ci sono moltissime variabili in gioco, scelte tecnologiche ed architetturali diverse e contrastanti.
I protocolli disponibili
Attualmente i framework (protocolli) disponibili per l'implementazione di una generica app di contact tracing sono cinque, come riportato in questa pagina
- PEPP-PT (Pan-European Privacy-Preserving Proximity Tracing)
- GA-PPTP (Google/Apple Privacy Preserving Tracing Project)
- DP-3T (Decentralized Privacy-Preserving Proximity Tracing)
- Blue Trace
- TCN
Le caratteristiche principali di ogni framework sono:
- PEPP-PT
Framework con specifiche proprietarie, sorgente chiuso (non open source) e controllo centralizzato.
- GA-PPTP
Framework con specifiche open, sorgente chiuso (non open source) e controllo decentralizzato.
- DP-3T
Framework con specifiche open, sorgente open source e controllo decentralizzato. Su github puoi trovare tutte le specifiche ed il sorgente del progetto.
- Blue Trace
Framework con specifiche open, sorgente open source e controllo centralizzato.
- TCN
Framework con specifiche open, sorgente open source e controllo decentralizzato.
Cosi riassumibili
La scelta Italiana
L'Italia ha scelto la società Milanese Bending Spoons SpA per la realizzazione dell' app di contact tracing “Immuni“, sviluppata in partnership con Jakala e Centro Medico Santagostino.
Questa app si basa su alcuni pilastri fondamentali, come richiesto dall'EDPB (European Data Protection Board) ovvero dal comitato Europeo sulla protezione dei dati.
Il Board si è espresso fornendo una sorta di Toolbox (scatola degli attrezzi informatici) sul tema “Mobile applications to support contact tracing in the EU’s fight against COVID-19” che prevede le seguenti linee guida:
- la natura volontaria
- l’approvazione dell’autorità sanitaria nazionale
- la tutela della privacy e della sicurezza dei dati
- l’interoperabilità dei sistemi anche a livello transnazionale
- la dismissione dei sistemi nel momento in cui il trattamento non sia più necessario
E' escluso l'utilizzo del GPS in qualsiasi sua forma, per cui non ci sarà la possibilità di sapere “dove” il contatto è avvenuto.
C'è da dire che tutti i paesi democratici stanno adottando questo approccio “GPS Free”.
Inizialmente Bending Spoons per la app Immuni aveva scelto il framework PEPP-PT il quale, lo ricordiamo, è un framework “chiuso” sia in termini di specifiche del protocollo stesso che in termini di codice.
Bending Spoons aveva assicurato su moltissimi canali social, che il codice sorgente sarebbe stato Open, tuttavia alla data di scrittura dell'articolo il sorgente non è ancora consultabile.
L'iniziale adozione del framework PEPP-PT portava con se alcune criticità legate al funzionamento in background dell'app, alla privacy ed alla sicurezza (modello centralizzato).
Sembrerebbe che Bending Spoons stia lavorando ad una nuova release della app Immuni basata sulle linee guida del protocollo DP-3T e GA-PPTP, per cui in linea con i dettami di Google ed Apple.
Questa è una gran bella notizia, significa che si sta arrivando ad una soluzione che sia in linea con i protocolli DP-3T e GA-PPTP.
Considera che stanno nascendo alcuni progetti paralleli, basati proprio sul protocollo open DP-3T, promossi dalla community di professionisti IT Italiani.
Vedremo cosa accadrà. Una cosa è certa, la pressione ha funzionato e Bending Spoons sta dimostrando un'ottima adattabilità sul tema contact tracing.
Le scelte degli altri paesi
Considerando che Apple e Google si sono mosse per un protocollo unico (GA-PPTP), c'è da dire che questa soluzione avrebbe un impatto pazzesco in termini di diffusione e capillarità a livello mondiale in quanto il 99% dei device mondiali sono iOs o Android.
La diffusione è un valore molto importante perché, da studi fatti, l'app di contact tracing avrebbe un reale impatto solo se almeno il 60% della popolazione l'avrà scaricata, installata ed attivata.
La soluzione GA-PPTP da questo punto di vista partirebbe decisamente avvantaggiata.
Il problema?
Beh, già sanno tutto di noi, cosi saprebbero anche chi di noi è malato … facciamo attenzione al monopolio informativo.
- Singapore
Singapore ha scelto una app chiamata “TraceTogether” sviluppata da un’agenzia governativa sfruttando la tecnologia Bluetooth Low Energy (BLE) e non il GPS.
Il codice sorgente dell’app sviluppata a Singapore è open source ed è stato pubblicato sul web con il nome OpenTrace. Adotta il protocollo BlueTrace per garantire la privacy dei cittadini e sta diventando la base di partenza per moltissime altre app ed applicazioni sviluppate in atri paesi.
- Cina
La Cina, invece, ha sfruttato applicativi già installati sugli smartphone dei propri cittadini (WeChat ed Alipay). Come spesso accade in un paese non democratico la soluzione è stata “imposta” dal governo cosi come l'adozione del braccialetto elettronico. Non possiamo quindi parlare di attenzione alla privacy e di scelte in ottica GDPR.
Queste app consentono anche l'utilizzo del GPS e della localizzazione e pertanto non sono assolutamente proponibili in stati democratici.
- Corea
La Corea sta adottando una soluzione ibrida, tra quella di Singapore e quella Cinese, ma anche questa è troppo stringente in termini di garanzie della privacy per cui non è usabile in Europa e nei paesi democratici.
I rischi connessi
Ora che abbiamo visto cosa è il contact tracing e quali sono le scelte che stanno adottando i vari paesi mondiali, cerchiamo di capire quali sono i rischi connessi all'adozione di un protocollo invece che un'altro.
Partiamo da un assunto base, nei paesi democratici l'utilizzo del GPS non è possibile perché non si possono tracciare i movimenti e gli spostamenti di tutta la popolazione.
I rischi principali e sui quali tutti stanno cercando di fornire soluzioni e risposte è legato al fatto che un beacon sempre attivo su un device è di fatto una “porta” di accesso (backdoor) e quindi di per se è un rischio informatico da ridurre al minimo.
Oltre alla “porta” il rischio di intrusione informatica potrebbe esserci soprattutto in quei sistemi che adottano protocolli centralizzati, in tal caso le domande alle quale è opportuno fornire risposte sono:
Chi gestirà i dati presenti sui server? Quanto è sicura la trasmissione dei dati tra device e server centrale?
Supponiamo che tramite la “porta” di accesso si riesca a falsificare l'associazione, questo potrebbe essere un modo per ricattare persone, costringerle a casa e magari ottenere posizioni dominanti.
Conoscere le informazioni sulla salute delle persone ha un valore inestimabile e quindi è bene che la parte di sicurezza informatica sia veramente altissima, questa volta non possiamo permetterci un secondo caso INPS.
Se è vero, come sembra essere vero, che la nostra app “Immuni” stia virando ad un modello decentralizzato allora avremo delle garanzie molto solide sulla gestione dei famosi “UUID” criptati che avverranno in locale e non più su server.
Nel modello centralizzato che c'è un luogo dove ci sono sia i dati di contatto (UUID) sia le chiavi con cui renderli potenzialmente identificabili. Nel modello decentralizzato questo viene di fatto annullato ed è un importantissimo passo in avanti sul tema sicurezza.
Esistono altre tecnologie?
La risposta è si, esistono altre tecnologie che potrebbero consentire un buon contact tracing ma la scelta del Bluetooth è senza ombra di dubbio la migliore in termini di mitigazione dei rischi connessi alla privacy (non c'è tracking spaziale con lat/lon) e di qualità della connessione tra i device.
Le altre tecnologie candidate erano appunto il GPS, ma questo ha implicazioni troppo forti dal punto di vista della privacy, oppure la triangolazione tra celle telefoniche ma in questo caso l'approssimazione sarebbe troppo alta e quindi la qualità del contatto si ridurrebbe drasticamente.
Molto probabilmente la miglior soluzione, da un punto di vista meramente tecnologico, sarebbe l'adozione della tecnologia rfid, per intenderci quella usata dai sistemi anti taccheggio.
In tal caso si dovrebbero usare oggetti supplementari (es. braccialetti) ed antenne di ricezione per cui l'adozione, su larga scala, sarebbe ancor più complessa e costosa di quella bluetooth.
Live Streaming
Abbiamo parlato di contact tracing su un live facebook insieme ad altri amici, se vuoi saperne di più questo il video su youtube.
Riferimenti
- wikipedia
- Mobile applications to support contact tracing in the EU’s fight against COVID-19
- cybersecurity360
- agendadigitale
- beaconitaly
Conclusioni
In questo articolo ho cercato di far chiarezza su quella che è la situazione attuale sul tema “contact tracing“. Abbiamo analizzato il funzionamento, i protocolli disponibili ed i rischi connessi all'utilizzo di questa tecnologia oltre alle scelte che l'Europa ed il nostro paese sta facendo per aiutarci nella lotta al covid-19.
Tu cosa ne pensi? Credi che installerai l'app immuni? Conosci altri progetti alternativi? Parliamone nei commenti.