Federico Fuga

Engineering, Tech, Informatics & science

Cos'è l'Hardware Attestation e cosa c'entra con Immuni

20 Oct 2020 13:18 +0000 Android cybersecurity

In fondo alla pagina della dashboard di Immuni, che oggi riporta 902 utenti Positivi e 17900 notifiche inviate, è comparso le due annotazioni qui sopra riportate.

In particolare la seconda mi ha per un attimo lasciato interdetto.

L’Hardware Attestation è un metodo per autenticare gli accessi alle API delle applicazioni, per fare in modo, cioè, che solo una app possa accedere ed usufruire di un servizio, escludendo quindi browser e software vari, come molti ricercatori stanno facendo in questi giorni, me compreso.

Di solito per un server è impossibile identificare se dall’altra parte del collegamento c’è la App oppure un utente, un browser o qualcosa d’altro. Il requisito per far funzionare un simile sistema è che la app e il server condividano, loro due soltanto, una chiave, una password o qualcosa del genere.

L’inghippo è che tale chiave resterebbe segreta per molto poco, in quanto, che sia codificata nel software o inviata in qualche modo in fase di installazione, è abbastanza facile arrivare a recuperarla. Se qualcuno ha la memoria lunga come la mia, sa come è andata con la chiave crittografica dei DVD (AACS).

Ordunque l’idea è quella di codificare la chiave all’interno del chip e renderla irrecuperabile, ed utilizzare il chip per le operazioni di crittografia.

Immuni utilizza quindi per alcune operazioni l’hardware Attestation.

Leggendo i codici di Immuni si evince che esso è necessario esclusivamente per le operazioni di invio delle telemetrie, in particolare quando un contatto stretto con un positivo viene notificato all’utente dal dispositivo. In tal caso, sia che l’utente contatti la ASL, sia che la ignori, un piccolo blocco di telemetria contenente alcune informazioni sono inviate ai server delle statistiche.

Tali statistiche sono inviate anche periodicamente in assenza di contatto.

I dati notificati includono soprattutto dettagli hardware, quale lo stato di attivazione del bluetooth, la versione del sistema operativo e altre cose.

Poiché l’hardware necessario per fare l’Hardware Attestation è disponibile solo sui modelli più moderni di smartphone, e infatti il Ministero afferma che circa i 2/3 dei dispositivi che hanno immuni installato, non l’hanno a disposizione. Pertanto, sembrerebbe, il numero di notifiche inviate sarebbe almeno da triplicare.

Purtroppo questo numero è impossibile da verificare; soprattutto perché al momento gli unici numeri disponibili ufficialmente sono quelli relativi ai download, che sono insufficienti a stimare l’utilizzo effettivo dell’applicazione da parte dei cittadini italiani.

Molto più significativo sarebbe avere il numero di download delle chiavi positive, che ogni giorno ogni dispositivo scarica dai server.

_Nota: effettivamente qualcuno mi fa notare che essendo i server di Immuni dietro CDN, sarebbe comunque un numero tecnicamente difficile da ottenere. _

Al momento tale numero non è mai stato divulgato, nonostante i FOIA.