Google en Apple voegen half mei nieuwe functionaliteit toe aan Android en iOS om het registreren van mogelijke coronavirus-contacten mogelijk te maken. Contact tracing, noemen ze het. En het wordt een privacy-vriendelijker optie gebaseerd op Bluetooth LE (nerdy PDF alert).

De Nederlandse corona-apps

Die gedeelde aankondiging sluit natuurlijk perfect aan op het nieuws van afgelopen dinsdag dat de Nederlandse overheid twee corona-apps gaat ontwikkelen. Want de eerste daarvan zou moeten gaan bijhouden bij wie je in de buurt bent geweest. Zodat je een signaal kan krijgen, of geven, als je mogelijk contact hebt gemaakt met iemand die (later) positief getest wordt.

“Maar hoe gaat dat dan werken?”, vroeg men zich af. En zullen veiligheid en privacy voldoende gegarandeerd zijn? Tech-journalisten Daniël Verlaan (RTL) en Joost Schellevis (NOS) legden toen allebei uit hoe die apps kunnen gaan werken:

  1. Centrale data-opslag: de eerste optie -is- was het bijhouden van GPS-locaties van telefoons met een app. Die locatiedata zou centraal in een database worden opgeslagen, zodat bij een besmetting iedere persoon die in de buurt van de besmetting was geweest geïdentificeerd en gewaarschuwd kon worden. Daarmee weet de beheerder van de database waar iedereen is geweest.
  2. Decentrale data-opslag: iedere telefoon registreert met behulp van Bluetooth bij welke andere apparaten je in de buurt bent geweest. Die gegevens worden versleuteld opgeslagen op de telefoon, en periodiek wordt een lijst met besmette ‘telefoons’ opgevraagd en vergeleken met jouw lokale registratie. Op die manier worden jouw bewegingen dus niet centraal gedeeld. Zo’n app is in Singapore ingezet (meer info).

Nederlanders verplichten zo’n app te installeren lijkt juridisch trouwens wel mogelijk. Maar dat terzijde.

Techniek & privacy

Google en Apple kiezen voor de decentrale optie, die op termijn zelfs op besturingssysteem-niveau in Android en iOS geïmplementeerd wordt. Apple verwoordt het zo:

First, in May, both companies will release APIs that enable interoperability between Android and iOS devices using apps from public health authorities. These official apps will be available for users to download via their respective app stores. Second, in the coming months, Apple and Google will work to enable a broader Bluetooth-based contact tracing platform by building this functionality into the underlying platforms. This is a more robust solution than an API and would allow more individuals to participate, if they choose to opt in, as well as enable interaction with a broader ecosystem of apps and government health authorities.

In eerste instantie moet iedereen dus apps van overheden installeren, waarmee onze telefoons kunnen gaan bijhouden bij wie we in de buurt zijn geweest. In de tweede fase wordt de contactregistratie ingebouwd in de mobiele besturingssystemen, waarna overheidsapps toegang kunnen krijgen tot die data.

Terug naar de uitleg van The Verge:

The system also takes a number of steps to prevent people from being identified, even after they’ve shared their data. While the app regularly sends information out over Bluetooth, it broadcasts an anonymous key rather than a static identity, and those keys cycle every 15 minutes to preserve privacy. Even once a person shares that they’ve been infected, the app will only share keys from the specific period in which they were contagious. Crucially, there is no centrally accessible master list of which phones have matched, contagious or otherwise. That’s because the phones themselves are performing the cryptographic calculations required to protect privacy. The central servers only maintain the database of shared keys, rather than the interactions between those keys.

Op papier klinkt het goed. Een vraagteken voor mij was of en hoe een telefoon kan schatten hoe dichtbij een andere telefoon is gekomen. Warempel is dat via Bluetooth enigszins mogelijk met RSSI:

RSSI staat voor received signal strength indicator. Het is een indicatie van het ontvangen (in dit geval) Bluetooth signaal. Het zegt iets over het ontvangen bereik. Zo ongeveer ieder apparaat heeft een ander zendvermogen. Op basis van de RSSI value kan je alleen iets zeggen over hoe goed het bereik is. Wanneer je het te verwachten zendvermogen (op basis van een vooraf samengesteld profiel per apparaat) toevoegt aan de berekening kan je een nauwkeurige schatting maken van de afstand tussen de twee apparaten.

Al lijkt dat niet heel precies (technische uitleg).

Technisch en maatschappelijk is dit enorm interessant. Ik ben benieuwd waar het de komende weken en maanden naartoe gaat.