Protocollo
ReCoVer

Protocollo
ReCoVer

PROPOSTA

L’utilizzo della tecnologia per attività di tracing e analisi del rischio di contagio è da ritenersi complementare, ancorché assolutamente distinto dalla mappatura sanitaria. Sono due aspetti fondamentali ed interdipendenti.

La cura della salute dei cittadini, nel rispetto della privacy e con i dati sensibili accessibili solo dalle autorità competenti, è parte integrante del processo post-lockdown quanto lo è la ripartenza sicura delle attività economiche, essenziali con la loro creazione di valore al mantenimento e sostenibilità della salute dei cittadini!

In merito agli aspetti di tracing e analisi del rischio di contagio, il problema odierno non è solo impiegare una o più app italiane. All’interno di uno scenario di proliferazione di app, è necessario integrare il sistema con altre possibili soluzioni europee, regionali, comunali, nonché app private di grandi gruppi industriali. Il proliferare di sistemi di tracciamento dei contatti, non solo in forma di app per Smartphone, richiede la definizione urgente di un protocollo di interoperabilità, così da garantire:

  • Integrità e certificazione dei dati e rispetto dei criteri di privacy, nazionali ed internazionali,
  • Interconnettività e scambio dati tra data base differenti, sul territorio nazionale e a livello internazionale

Nel corso della cosiddetta Fase 2 dell’emergenza COVID ci deve essere integrazione dei sistemi a livello nazionale ed europeo. È indispensabile che una app per il contact tracing sia in grado di rilevare e registrare contatti di prossimità di dispositivi con differenti sistemi operativi ed equipaggiati con altre app.

I dati devono essere resi disponibili, siano essi in un sistema centralizzato o decentralizzato. La disponibilità deve essere definita a diversi livelli di accesso, dipendenti dalla sensibilità del dato.

Pertanto desideriamo suggerire le condizioni da soddisfare per permettere la raccolta di dati a livello Europeo, riferendoci al documento “Mobile applications to support contact tracing in the EU’s fight against COVID-19” del 15 Aprile 2020 (link).

In questo documento intendiamo suggerire le minime caratteristiche che una app deve possedere per essere efficace al livello globale. Ognuno paese potrà aggiungere a queste caratteristiche minime altre caratteristiche come richiesto dai rispettivi sistemi sanitari.

La Commissione Europea ha indicato dettagliatamente i requisiti di una app per il contact tracing (zona blu dell’immagine). Alcuni punti essenziali sono indicati di seguito, con l’aggiunta di alcune nostre raccomandazioni.

La EU prescrive un approccio comune a livello di stati Europei, per applicazioni di tracing e warning attraverso l’uso di dispositivi mobili.

Requirements for contact tracing and warning apps will necessarily vary to some extent according to the situation in individual Member States. The following requirements represent Member States’ collective understanding of best practice and constitute common European approach. 

The requirements are divided into four parts:

1.essential requirements covering the epidemiological framework, technical functionalities, cross-border interoperability requirements as well as cybersecurity measures and safeguards

2.measures aimed to ensure accessibility and inclusiveness

3.governance/role of public health authorities covering approval of tracing apps and their access to data generated by tracing apps,

4.supporting actions covering sharing of epidemiological information and cooperation with ECDC, measures to prevent proliferation of harmful apps and monitoring of effectiveness of apps.

Le applicazioni dovrebbero essere gestite sotto il controllo delle autorità sanitarie pubbliche competenti (è possibile l’utilizzo di fornitori di servizi che agiscono per conto delle autorità) ed essere sviluppate e realizzate in stretta collaborazione con esse.

eHealth Network

Mobile applications to support contact tracing in the EU’s fight against
COVID-19

Common EU Toolbox for Member States

Link

Nel seguito analizziamo parti del documento di riferimento rilasciando le nostre raccomandazioni.

Soluzioni di app per la tutela della privacy che sostengono gli sforzi per la salute pubblica. Gli Stati membri hanno preso in considerazione le soluzioni di app più appropriate per le loro specifiche situazioni che siano conformi alle leggi applicabili e che riducano al minimo il trattamento dei dati personali. Le soluzioni possono essere raggruppate in almeno due categorie generali:

1) Trattamento decentralizzato

I dati di prossimità relativi ai contatti generati dall’app rimangono solo sul dispositivo (cellulare). Le app generano identificatori arbitrari dei telefoni che sono in contatto con l’utente. Questi identificatori sono memorizzati sul dispositivo dell’utente senza ulteriori informazioni personali o numeri di telefono.

La fornitura di numeri di cellulare o altri dati personali da parte dell’utente al momento dell’installazione dell’app non è necessaria, perché un avviso viene automaticamente inviato tramite l’app nel momento in cui l’utente notifica all’app – con l’approvazione dell’autorità sanitaria – di essere risultato positivo.

L’autorità sanitaria pubblica determina il contenuto e la tempistica del messaggio di notifica. Il messaggio può, ad esempio, chiedere alla persona di rimanere a casa e/o di contattare le autorità sanitarie pubbliche, nel caso in cui queste sviluppino dei sintomi e per facilitare il test.

Questo approccio ridurrebbe notevolmente i rischi per la privacy in quanto i contatti ravvicinati non sarebbero direttamente identificabili e questa opzione aumenterebbe quindi l’attrattiva dell’applicazione.

Le autorità non avrebbero tuttavia accesso ad alcuna informazione anonima e aggregata sulle distanze sociali, sull’efficacia dell’app o sulla potenziale diffusione del virus. Queste informazioni possono essere importanti per gestire l’uscita dalla crisi.

Sebbene non siano necessarie per il funzionamento dell’app, una persona allertata (che è stata in contatto con una persona sottoposta a test positivi) potrebbe voler fornire informazioni personali alle autorità sanitarie pubbliche per ottenere ulteriore supporto e guida. L’app può fornire un’opzione per farlo. Questa dovrebbe essere un’opzione “opt in” e chiaramente indicata come “opt in”. L’autorità può quindi prendere contatto con la persona e consigliarla di conseguenza.

2) Soluzione server backend

In questa opzione, l’app funziona attraverso un server backend in gestione delle autorità sanitarie pubbliche e sul quale sono memorizzati gli identificatori arbitrari. Gli utenti non possono essere identificati direttamente attraverso questi dati.  Solo gli identificatori arbitrari generati dall’app sono memorizzati sul server. Il vantaggio è che i dati memorizzati nel server possono essere resi anonimi mediante aggregazione e utilizzati dalle autorità pubbliche come fonte di importanti informazioni aggregate sull’intensità dei contatti nella popolazione, sull’efficacia dell’app nel rintracciare e avvertire i contatti e sul numero aggregato di persone che potrebbero potenzialmente sviluppare sintomi.

Attraverso gli identificatori, gli utenti che sono stati in contatto con un utente testato positivamente riceveranno come nella versione precedente un messaggio automatico o un avviso sul loro telefono.

Come nella versione precedente, una persona avvisata (che è stata in contatto con un utente che ha superato il test positivo) potrebbe voler fornire informazioni personali alle autorità sanitarie pubbliche per ottenere ulteriore supporto e guida. L’app può fornire un’opzione per farlo. Questa dovrebbe essere un’opzione “opt in” e chiaramente indicata come “opt in”. L’autorità può quindi prendere contatto con la persona e consigliarla di conseguenza.

Ciò integra il lavoro di ricerca manuale dei contatti (quando vengono intervistati casi positivi), in particolare perché la penetrazione dell’applicazione di ricerca dei contatti nella popolazione è probabilmente incompleta e soprattutto perché molti individui vulnerabili come gli anziani potrebbero non avere accesso a questa applicazione. Aiuterebbe le autorità a individuare i casi di sovratensione e consentirebbe loro di seguire in modo più personalizzato i contatti a rischio di infezione. Alcune autorità sanitarie pubbliche hanno la politica di telefonare direttamente a tutti i contatti piuttosto che fare affidamento su notifiche automatiche, nel qual caso gli utenti dell’app dovrebbero avere la possibilità di fornire i loro numeri di contatto come parte del processo di registrazione e sulla base del consenso esplicito dell’utente.

Nessuna delle due opzioni di cui sopra include la memorizzazione di informazioni personali non necessarie. Le opzioni in cui i dati direttamente identificabili di ogni persona che scarica l’app sono conservati in modo centralizzato dalle autorità sanitarie pubbliche avrebbero un notevole svantaggio, come ha rilevato l’IFPD nella sua risposta alla consultazione sulla bozza di linee guida della Commissione sulla protezione dei dati e sul rintracciamento delle app. Queste opzioni non ridurrebbero al minimo assoluto il trattamento dei dati personali e quindi le persone potrebbero essere meno disposte a installare e utilizzare l’app. La memorizzazione centralizzata dei numeri di telefono cellulare potrebbe inoltre creare rischi di violazione dei dati e di attacchi informatici.

Nostre Raccomandazioni

Il documento indica due strade possibili. SM-Covid-19 utilizza dati centralizzati perché siamo convinti che sia la soluzione migliore per le autorità sanitarie.

Due aspetti importanti non sono presenti nelle raccomandazioni ma sono elementi qualificanti per una app di contact tracing:

  1. calcolo della funzione di rischio ex-post per permettere alle autorità sanitarie di poter indagare anche su contatti non di primo livello (possibili contagiati asintomatici)
  2. la sicurezza è ulteriormente garantita se dati sensibili o sanitari non vengono acquisiti

Per determinare in modo affidabile la distanza epidemiologicamente mirata di 1,5 metri, si dovrebbe fornire una risoluzione di 0,5 metri, riducendo al minimo i falsi positivi.

1) L’App (in combinazione con il dispositivo/OS) dovrebbe essere in grado di inviare e ricevere e registrare segnali Bluetooth anche in modalità background (anche quando il telefono è bloccato).

2) L’app dovrebbe essere in grado di valutare con sufficiente precisione la vicinanza tra i telefoni cellulari tramite segnali Bluetooth o altre tecniche efficaci e non traccianti.

3) L’app dovrebbe pubblicizzare continuamente la sua presenza utilizzando un ID anonimo temporaneo che permetta di stabilire un contatto con altri utenti dell’app nelle vicinanze.

4) L’app deve registrare e memorizzare gli ID osservati da altri telefoni cellulari in prossimità del dispositivo in modo epidemiologicamente rilevante.

5) App dovrebbe essere in grado di indicare lo Stato membro in cui è registrata.

 

Nostre Raccomandazioni

È importante sottolineare che la precisione della misurazione deve restare tale nelle condizioni di uso tipiche. Ovvero deve funzionare quando gli smartphone sono in borse, zaini e deve impedire la registrazione del contatto quando gli individui si trovano separati da porte, finestre o altri oggetti che rendono il contatto non significativo da un punto di vista epidemiologico.

La app SM-Covid-19 è stata sottoposta a un’intensa attività di test in questo senso e ha inserito anche funzioni di calibrazione dei dispositivi. La dotazione di funzioni di calibrazione anche da parte di altre app aumenta significativamente i livelli di affidabilità dei dati rilevati da parte dei contatti di prossimità.

Le capacità di tracciamento dei contatti dovrebbero essere supportate da quasi tutti i dispositivi con connettività Bluetooth, indipendentemente dalla loro piattaforma tecnologica. La capacità di tracciamento dei contatti dovrebbe essere disponibile in tutti i possibili sistemi operativi e sono necessarie misure di sicurezza per evitare un uso eccessivo della batteria.

 

Nostre Raccomandazioni

È essenziale che le app siano in grado di riconoscere i contatti in foreground e in background.

In caso contrario la significatività del tracciamento ne risulterebbe ridotta.

Ove sussistano limitazioni tecniche legate ai sistemi operativi utilizzati è fortemente consigliato implementare funzioni di riavvio del tracciamento (partial wakeup) o di mantenimento attivo del tracciamento (scheduled full wake up) che mitighino la perdita di contatti efficaci e mantengano attiva l’App nei momenti di maggior esposizione (es: spostamenti fuori da zone sicure).

Pubblicare apertamente le specifiche tecniche e il codice sorgente delle applicazioni, come modo per massimizzare il riutilizzo, l’interoperabilità, la verificabilità e la sicurezza.

 

Nostre Raccomandazioni

Le specifiche tecniche sono pubblicate sul sito della app. Il codice sorgente, in parte sotto valutazione brevettuale, è messo a disposizione delle autorità governative.

MODELLO

Questo documento offre una panoramica sul funzionamento di SM-Covid-19 e del protocollo ReCoVer.

SM-Covid-19 basa il suo funzionamento sul protocollo ReCoVer, un protocollo centralizzato definito per raggiungere gli obiettivi seguenti:

– Essere eseguito su base volontaria;

– Permettere il contact-tracing;

– Garantire l’anonimato dei partecipati;

– Permettere la ricostruzione delle catene di contagio;

– Permettere il calcolo di una stima del rischio, per ogni nodo connesso alla rete;

– Inviare notifiche ai dispositivi connessi al network senza conoscere la loro identità;

– Permettere l’acquisizione, su base volontaria, delle informazioni di localizzazione senza legarle a dati sensibili;

– Vietare la connessione tra i dispositivi per lo scambio di chiavi o altre informazioni;

– Permettere ad App di terze parti di interagire con la rete ReCoVer;

– Permettere l’utilizzo di Beacon Layout personalizzati;

– Permettere ad entità con ruolo di authority di poter eseguire query su dati anonimizzati coerenti;

La scelta di utilizzare un modello centralizzato permette la ricostruzione (in forma totalmente anonimizzata) delle catene di contagio e la propagazione rapida dell’indice dei contatti (calcolato attraverso modelli matematici), operazioni di difficile implementazione nel momento in cui i dati di tracciamento vengono mantenuti sui soli dispositivi. 

Sebbene con un approccio totalmente distribuito (mediante l’uso di un server centrale di advertising) sia possibile allertare i contatti diretti (a distanza di 1 hop), di un’eventuale infezione, sono necessarie operazioni di flooding sulla rete per avvertire anche i contatti dal livello 2 o superiore.

L’entità centrale di ReCoVer si occupa di eseguire le seguenti funzioni:

– Protezione del network;

– Rilascio delle chiavi di autenticazione;

– Ricostruzione delle catene di contagio;

– Applicazione dei modelli matematici per la stima del rischio.

I dispositivi che eseguono il protocollo ReCoVer devono eseguire alcune funzioni di base:

– Autenticarsi sulla rete (anonima, tramite token);

– Generare ad intervalli regolari un UUID random di 128 bit;

– Eseguire il Claim degli UUID generati per essere autorizzati dalla rete ad usarli per l’advertising;

– Le App di terze parti, nel caso in cui sia necessario utilizzare un beacon layout proprietario, devono eseguire il Claim del layout proprietario per essere autorizzate dalla rete ad usarlo per l’advertising e per permettere a Sm-Covid-19 e alle altre App di terze parti di rilevare il beacon;

– Mantenere in locale (senza trasmetterla) la lista di tutti gli UUID generati per l’advertising;

– Eseguire l’upload della lista dei dispositivi rilevati ad intervalli regolari;

Sm-Covid-19 è un client della rete ReCoVer. Le App di terze parti possono utilizzare liberamente ReCoVer previo il rilascio di una signed key da parte di Softmining. 

PROTOCOLLO

L’APP SM-Covid-19 è implementata per essere eseguita su dispositivi Android e IOS. Durante l’esecuzione, l’APP si occupa di generare un ID random univoco di 128 bit (ad intervalli regolari) e di eseguirne la trasmissione nell’ambiente mediante la tecnologia Bluetooth Low Energy.

Gli ID generati vengono sottoposti ad una procedura di Claim remoto per assicurarsi che non siano già stati utilizzati in passato. Il servizio di Claim remoto garantisce due proprietà:

– Atomicità: Se due chiamate contemporanee alla funzione Claim contengono lo stesso UUID, una delle due viene annullata

– Non ripetibilità: Un UUID viene accettato dalla fase di Claim e viene autorizzato SE e SOLO SE non è stato già accettato in precedenza.

Se l’ID viene dichiarato univoco esso viene autorizzato ad essere trasmesso e l’APP riceve un token di autenticazione temporaneo. Il primo permetterà di accedere agli altri servizi della rete durante il tempo di vita dell’ID random. Ogni dispositivo mantiene traccia locale di tutti gli identificativi univoci che è riuscito a registrare.

Nel caso in cui la procedura di Claim fallisca, il dispositivo è costretto a generare un nuovo ID temporaneo per poter utilizzare i servizi della rete.

La fase di contact tracing prevede l’analisi dell’ambiente alla ricerca di beacon standard (EddystoneUID, iBeacon o AltBeacon) oppure strutturati tramite un layout personalizzato.  Per poter essere utilizzato, un layout personalizzato deve essere autorizzato da ReCoVer che lo renderà disponibile a Sm-Covid-19 e alle App di Terze parti connesse a ReCoVer.

L’operazione di Advertising e di Tracking devono essere eseguite sia in foreground che background. Ove sussistano limiti imposti dalle piattaforme hardware/software è possibile utilizzare tecniche di mitigazione della perdita di contatti utili (partial wakeup, full wakeup, active tracing, scheduled full wakeup). 

L’utente deve essere lasciato libero di disattivare la funzionalità di tracking mediante la disattivazione del sensore BT.

Sm-Covid-19 fornisce le funzioni “All’aperto” e “In casa” che automatizzato il processo di tracking scegliendo la modalità opportuna in base al dispositivo che esegue l’App: ad esempio, su dispositivi Android che dispongano di Intent Filter STEP, l’app può essere autorizzata ad avviare automaticamente il tracking quando viene rilevato che l’utente sta passeggiando, correndo o comunque è fuori da una safe zone.

Nel momento in cui un beacon viene rilevato da un dispositivo (ad esempio ricevuto da APP1) vengono avviate le routine di stima della distanza e di calcolo del tempo di esposizione.

Ad intervalli regolari, l’APP (tramite il proprio token di autenticazione) invia i seguenti dati al server ReCoVer:

  • – UUID1 emesso da APP1;
  • – UUID2 emesso da APP2;
  • – Durata del contatto (timing);
  • – Distanza istantanea e Media (sulla durata) del contatto;

 

In modo del tutto volontario, l’utente può decidere di condividere anche i dati sulla posizione. In tal caso, al server ReCoVer arriveranno anche: 

– Latitudine;

– Longitudine;

– Precision

I dati GPS se abilitati vengono legati al solo valore UUID1.

 

Dopo l’invio dei dati al server centrale, la cache locale dei dispositivi rilevati deve essere cancellata: Sm-Covid-19 implementa questa routine; App di terze parti potrebbero decidere di non cancellare la lista dei contatti rilevati per eseguirne l’upload su server di advertising di terze parti (Es: server di advertising compatibili con DP3T).

L’App Sm-Covid-19 non esegue nessun’altra operazione in background, salvo funzioni di ottimizzazione della memoria o di wakeup del dispositivo (nel momento in cui sia necessario mostrare un alert).

Un tipico pacchetto registrato sul sistema ReCoVer è mostrato di seguito.

ReCoVer permette la sola scrittura dei pacchetti contenenti i dati sul tracciamento. La lettura dei pacchetti è permessa ai soli servizi (Cloud Function) di ReCoVer che si occupano del calcolo delle stime di rischio e dell’advertising.

Sm-Covid-19 e le App di terze parti NON possono eseguire operazioni di lettura dei pacchetti contenenti i dati sul tracciamento salvati su ReCoVer. La lettura è ammessa solo durante una fase di Beta Testing per permettere la validazione di nuovi modelli di stima del contagio.

Sm-Covid-19 e le App di terze pati NON possono eseguire operazioni di delete. Le operazioni di delete sono ammesse alle funzioni (Cloud Function) che si occupano della cancellazione dei pacchetti più vecchi di 21 giorni. 

Sm-Covid-19 e le App di terze parti possono eseguire la lettura dei dati di configurazione del network (es: nuovi beacon layout da gestire, modifica degli intervalli di advertising, modifica dei parametri di calibrazione delle funzioni di calcolo della distanza).

Sm-Covid19 e le App di terze parti I dispositivi possono eseguire operazioni di lettura sui dati relativi agli UUID dichiarati infetti (pooling degli UUID infetti) e sui dati relativi alle stime di rischio.

Quando viene generato un nuovo UUID, durante la fase di Claim dello stesso, i dati di rischio  e il flag “UUID infetto” vengono ereditati dal nuovo UUID.

INTERAZIONE

I servizi della rete ReCoVer sono accessibili liberamente da App di terze parti previa l’attivazione di un account per ricevere le signature key.

Le signature key permettono a App di terze parti di poter richiamare le funzioni di servizio offerte da ReCoVer.

SM-Covid-19  è  in grado di rilevare i seguenti beacon BLE:

  • – Eddystone UID;
  • – iBeacon;
  • – AltBeacon;
  • – Beacon con layout o manufacturer ID personalizzato (se registrato su ReCoVer);
  •  
  • Le App di terze parti devono poter rilevare le stesse categorie di Beacon per interagire con Sm-Covid-19. La necessità di rilevare Beacon multipli nasce per rendere possibile l’operazione di contact tracing anche su dispositivi equipaggiati con sistemi operativi o hardware diversi (es: dongle, fitbit o altro). 
  •  

Sm-Covid-19 reputa validi i seguenti tipi di Beacon: 

  • – AltBeacon con manufacturer ID 0x1957f e UUID di 128bit trasmesso nel field ID1;

– iBeacon con manufacturer 0x8885f e UUID di 128 bit trasmesso nel field ID1;

– Eddystone UID:  i dispositivi che emettono questo tipo di beacon possono scegliere di utilizzare ID di 128 bit oppure UUID di 120 bit utilizzando i primi 8 bit come namespace 6D. Nel caso degli Eddystone UID la scelta viene fatta per ridurre il tracking di dispositivi occultati negli ambienti.

ReCoVer ad intervalli regolari si occupa di eliminare tutti i pacchetti di contact tracing generati dagli EddystoneUID i quali ID non sono stati sottoposti a procedura di Claim. 

Se non è possibile generare ID di 16 byte è possibile emettere uno dei beacon seguenti:

– AltBeacon (o iBeacon) con manufacturer ID 0x8885c e con UUID di 128 bit composto da un prefisso fisso e da almeno 64 bit casuali. Il prefisso fisso dovrà contenere i primi 64 bit seguenti: 88851957-1904-1989-

Se non è possibile generare di 64bit,  il beacon emesso dovrà utilizzare il prefisso: 88851957-1989-19XX-* in cui XX è la lunghezza dell’ID trasmesso. È necessario aggiungere un padding di 0 a sinistra dell’id per raggiungere la dimensione di 64 bit.

Sm-Covid-19 e le App di terze parti devono eseguire la procedura di Claim prima di iniziare la trasmissione di un UUID.

Al momento vi è un forte dibattito pubblico su quale sia la migliore modalità di gestione dei contatti tracciati, se la centralizzata o la distribuita. 

Sm-Covid-19 utilizza un approccio Ibrido e utilizza i servizi messi a disposizione da ReCoVer per mantenere coerenza nei dati e nel valore di indice di rischio calcolato. Inoltre, i servizi ReCoVer permettono a Sm-Covid-19 di evitare incoerenze nei dati in caso di distruzione del dispositivo o perdita dello stesso. 

Sm-Covid-19 mantiene gli UUID rilevati localmente sul dispositivo e, ad intervalli regolari, ne esegue l’upload verso la rete ReCoVer. Dopo l’upload, la cache temporanea del dispositivo viene svuotata. Sm-Covid-19 è in grado di mantenere la lista degli UUID rilevati senza eseguirne la cancellazione, nel caso in cui una soluzione di terze parti richieda un modello di advertising dei contagiati totalmente distribuito. 

Le App di Terze parti possono accedere alla lista degli UUID dichiarati contagiati e al valore di rischio potenziale degli UUID attraverso i servizi ReCoVer getInfectedUUIDList e getUUIDExpectedRisk. 

La procedura standard di accesso a queste informazioni è di tipo POOLING e non PUSHING.  ReCoVer non invia dati relativi al tracciamento alle App connesse. Le App di terze parti sono responsabili di interrogare queste informazioni per applicare la logica applicativa ritenuta necessaria.

I servizi ReCoVer sono in grado di inviare notifiche PUSH alle App connesse alla rete ReCoVer. 

Le App di terze parti possono accedere ai servizi di ReCoVer previa la ricezione di una signed key fornita da Softmining. Le funzioni offerte da ReCoVer sono implementate tramite Cloud Function. 

SoftMining conferma il carattere pro-bono e aperto dell’iniziativa e la disponibilità a collaborare con altre aziende e soluzioni per il raggiungimento di soluzioni interoperabili a maggior valore aggiunto per le comunità, sia a livello domestico sia internazionale.