App Immuni - Funzionamento della tecnologia BLE

La app Immuni, creata per combattere in Italia l'epidemia COVID-19, permette a qualsiasi utente che installi la app sul proprio smartphone di essere avvertito se ha avuto un contatto ravvicinato con una persona positiva al Coronavirus, anche se asintomatico. 

 Immuni è facilissima da configurare ed è possibile scaricarla per chiunque abbia uno smartphone Android o iPhone, a patto che il sistema operativo soddisfi i seguenti requisiti:

  • versione 6 (Marshmallow) o superiore per Android
  • versione 13.5 o superiore per iOS

Il motivo per cui Immuni funziona solo con queste versioni è legato alla sua principale tecnologia di riferimento, ovvero il Bluetooth Low Energy (BLE), disponibile solo per le versioni più recenti dei sistemi operativi per smartphone. La tecnologia BLE è proprio quella che permette a due smartphone (ed in generale a due dispositivi)  di scambiarsi dei dati solo quando sono in prossimità, ad una distanza nell'ordine delle centinaia di centimetri. Vediamo un po' più in dettaglio la tecnologia BLE, che è stata inizialmente pensata soprattutto nell'ambito Internet of Things, per permettere a sensori, attuatori ed altri dispositivi elettronici, "cose" appunto, di diventare intelligenti. 

Bluetooth Low Energy (BLE)

Il protocollo Bluetooth Low-Energy (BLE) è stato introdotto accanto al “classico” Bluetooth a partire dalla versione 4.0 dello standard. BLE permette di avere comunicazioni a corto raggio con un basso consumo di energia ed è dunque una delle tecnologie che più potrebbero essere sfruttate in ambito Internet of Things (IoT), poiché il risparmio energetico è una delle caratteristiche fondamentali che devono avere i sensori all'interno del mondo IoT. Implementando solamente gli aspetti BLE dello standard, si possono creare nodi sensori piccoli e a basso costo che possono facilmente essere messi in opera, poiché si possono alimentare con piccole batterie al litio e si possono collegare a nodi coordinatori che hanno già inclusa la tecnologia Bluetooth, come ad esempio gli smartphone.

Da un punto di vista tecnico, la comunicazione del classico Bluetooth è di tipo seriale asincrona. BLE invece opera con un modello software di tipo publish/subscribe: chi possiede i dati è il publisher, chi invece si “abbona” ai servizi del publisher è il subscriber. Nella terminologia BLE il publisher, tipicamente il nodo sensore, è detto peripheral device, mentre il subscriber, tipicamente uno smartphone o qualche altro dispositivo maggiormente equipaggiato è detto central device. 

Sistema per la gestione delle notifiche di esposizione

Nulla vieta però ad uno stesso nodo di essere contemporaneamente publisher e subscriber: questo è quello che verosimilmente avviene con l'app Immuni. Immuni, come tutte le app sparse per il mondo che cercano di fronteggiare l'epidemia COVID-19, fa uso della Exposure Notifications API (API per la notifica delle esposizioni) sviluppata da Google e Apple per il tracciamento anonimo dei contatti. Il sistema infatti genera degli ID casuali, teoricamente non associabili al dispositivo, che sono proprio le informazioni scambiate tramite BLE.