CoronaTeller / CoronaCounter

Ik heb op 16 Aug de CoronaTeller gepubliceerd en gepost op de sociale media. Vooral via Twitter krijg ik hierover de nodige vragen, aangezien 280 tekens een beetje weinig is om alles uit te leggen deze blog. Mocht er in de toekomst meer vragen komen zal ik deze post verder aanvullen.

Eerst korte uitleg wat de CoronaMelder op de telefoon doet. Het zend meerdere keren per seconde een beacon (uniek nummer, afgeleid van geheime key). Deze key kan ik via een Raspberry Pi ontvangen en “leuke dingen” mee doen. In mijn geval tel ik het aantal unieke beacons die ik ontvang over de afgelopen 5 minuten. Hiermee kan ik zien hoeveel telefoons de CoronaMelder app op te telefoon hebben staan. Voor de volledige werking van de CoronaMelder zie mijn vorige blog post.

Een beacon is dus een ‘random’ getal waaruit verder niks valt af te leiden. Volgens het protocol wordt deze iedere 10-25 minuten opnieuw gegenereerd. Tevens kun je zien hoe sterk iemand binnen komt, maar hier doe ik niks mee. De Pi houd verder geen gegevens bij in een database of via internet/cloud, alles word in geheugen gedaan en is weg als je de Pi uitdoet/reset.

Is een beacon een ID ?

Een beacon is dus geen ID, hiervoor wordt deze te vaak veranderd. Mocht je het toch voor elkaar krijgen om een beacon aan een persoon te koppelen kun je na iedere nieuw gegenereerde beacon (dus 10-25 min) opnieuw beginnen.

Word er ander gegevens bijgehouden?

Kort antwoordt, NEE. Dus ook geen locatiedata, persoonsgegevens zoals naam, email telefoonnummer, etc etc. Op de telefoon wordt alleen de beacons die deze gezien heeft over de laatste 14 dagen opgeslagen. Aan de hand hiervan kan de telefoon bepalen of je risico loopt, zie ook mijn blog over de technische details.

Batterij gebruik

De CoronaMelder maakt gebruik van BLE 4, dit is het laatste bluetooth protocol dat zeer energie efficiënt kan werken. In de praktijk zou je dus niet veel merken van de app, anders probeer het uit je kunt de app altijd weer verwijderen.

Spookmeldingen

Eens in de maand geeft de CoronaMelder een overzicht van totaal aantal meldingen. Als je hier op klik kom je in de app terecht. Ook kun je in je OS zelf een lijstje zien waarop de ziektemeldingen wordt opgehaald. Beide meldingen zijn dus geen meldingen dat je mogelijk geïnfecteerd bent. Deze ziet er als volgt uit :

De CoronaTeller wordt getoond tijdens de Gogbot 2020 expositie.

Corona App

Interview met Rico Brouwer / potkaars

In de huidige COVID-19 pandemie is een nieuw idee ontstaan om een ‘Corona app’ te ontwikkelen. Hierbij zeggen veel mensen dat dit een inbraak op je privacy is, wat begrijpelijk is maar niet helemaal klopt.

Disclaimer : Dit hele blog post belicht vooral de technische kant van een corona app en of dit privacy veilig kan. Er spelen in de maatschappij ook vele andere aspecten zoals sociale kwesties of algemene gezondheidszorg, deze belicht ik hier niet.

Contactonderzoek

Wat nu na een geconstateerde corona besmetting gebeurt is dat de GGD een contact onderzoek uitvoert. Hiermee wordt nagegaan welke contacten de patiënt heeft gehad over de afgelopen 14 dagen en deze personen worden benaderd om uitleg te geven over de mogelijke besmetting en wat ze kunnen doen om verdere verspreiding te voorkomen. Vooral al je al maatregelen kunt nemen voordat een potentieel geïnfecteerde persoon symptomen vertoond kan op de vrij snel een drastisch verschil maken in de uiteindelijke aantallen corona patiënten.

Je kunt je voorstellen dat de patiënt niet altijd een volledige lijst van personen kan geven en dat hierdoor mogelijke besmette personen buiten het blikveld van de gezondheids organisatie vallen.

Ter ondersteuning van de contact onderzoek zou men een app kunnen ontwikkelen die specifiek deze taak ondersteund. Een groep van slimme onderzoekers hebben hiervoor het privacy vriendelijke DP-3T protocol bedacht. Het klinkt heel tegenstrijdig maar ik zal proberen het hier uit te leggen hoe dit werkt.

In de cartoon hebben we dus Alice (de corona besmette patient) en Bob (die bij haar in de buurt is geweest, en dus mogelijk besmet).

De techniek achter 3DP-TD

Op iedere telefoon die hieraan meedoet wordt een dagelijkse sleutel gemaakt die de basis vormt voor een ‘random’* getal dat iedere paar minuten anders is. Deze random getallen worden uitgezonden en de app luistert of hij deze getallen hoort. Op de telefoon wordt een lijst bijgehouden van de ‘random’ getallen die hij heeft gehoord.

Indien Alice ziek wordt en naar de arts/ziekenhuis gaat en na controle positief blijkt te zijn, krijgt ze een code waarmee ze kan melden dat ze ziek is. (Dit om spam en misbruik te voorkomen). Alleen op dit moment wordt haar lijst van dagelijkse sleutels naar de server gestuurd. Er word verder geen andere data verstuurd zoals locatie data, gebruikers gegevens etc.

De andere telefoons halen dagelijks lijst op met mensen die gemeld zijn. In het voorbeeld krijgt Bob dus lijst van de dagelijkse sleutels van Alice. Met deze lijst kan de telefoon van Bob de ‘random’ nummers van Alice berekenen en kijken of deze gezien zijn. De telefoon kan aan de hand van aantal criteria (afstand, duur contact, aantal keer gezien) bepalen of Bob ook risico loopt. Indien dit te laag is krijgt Bob niks te zien, als dit hoog is krijgt Bob een melding. Op deze manier kan Bob zien dat hij potentieel besmet is en eventueel maatregelen nemen. Dit zou kunnen bestaan uit een paar dagen thuis blijven of (als er genoeg testcapaciteit is) een test te laten doen. Vooral omdat Bob deze melding krijgt voordat hij zelf ziek is zou daarmee veel besmettingen voorkomen kunnen worden.

Het enige wat dus naar de server gaat en centraal gebeurt is het ontvangen en versturen van de dagelijkse sleutels van een besmet persoon. Het bepalen of je wel/niet besmet bent gebeurt op je eigen telefoon en is volgens het 3DP-TD protocol niet inzichtelijk door overheid, verzekeringsmaatschappij of wie dan ook. En ja je zou indien je een melding krijg niks op uit doen, er is geen enkele manier om maatregelen af te dwingen.

In mijn optiek zou een op deze manier gemaakte Corona App kunnen helpen op de corona te bestrijden. Het is natuurlijk geen wondermiddel, we zullen nog steeds onze handen moeten wassen, social distancing en testen. Maar het kan wel een middel zijn om de huidige lockdown minder strikt te maken en hopelijk een stapje te maken naar normale samenleving.

Opmerkingen

Punten in lijn van het https://www.veiligtegencorona.nl/ manifest (die ik volledig ondersteun) :

  • Het 3DP-TD protocol ziet er goed uit, maar uiteindelijk ligt het aan de uitvoering of het echt privacy proof is. Met open source code zou je dit kunnen controleren.
  • Deelname moet volledig vrijwillig zijn.

Bluetooth lijkt een geschikte manier om te kijken of iemand bij je in de buurt zit, maar er zijn genoeg situaties te bedenken dat de app wel een code ziet maar dat er geen sprake is van contact. Zo gaat een bluetooth signaal door glas en muren maar een virus niet. Andersom kan de virus nog op een deurkruk zitten van corona besmet persoon die 5 minuten eerder daar was maar dat zal de app natuurlijk niet zien. De app zou hooguit een indicatie kunnen geven of je besmet bent, de werkelijkheid kan natuurlijk altijd anders zijn.

Op 10 April werd bekend dat Apple en Google API functies in hun mobiel besturingssysteem opnemen om dit protocol te ondersteunen. Hiermee wordt het voor de ontwikkelaars een heel stuk makkelijker om een app op de juiste manier veilig te implementeren. Dit zal dan uitsluitend actief op je telefoon worden na toestemming. Ieder land zal wel een eigen app moeten ontwikkelen, vooral het gedeelte van krijgen code en wat te doen als je besmet bent zal per land verschillend zijn.

Volgens inschattingen moet 60% vd bevolking hieraan mee doen om succesvol te zijn. Dit is best wel een hoog percentage en stel dat het allemaal doorgaat ben ik erg benieuwd of we dit halen. Dat google/apple nu ook samenwerkt maakt de kans wel aanzienlijk groter.

Criteria van wanneer Bob wel of niet een melding moet krijgen staat nu nog niet vast en zou door de overheid ism RIVM etc bepaald moeten worden. In het voorstel van DP3-TP staan meer parameters waar men van af zou kunnen wijken, bv hoe vaak je een nieuwe ‘random’ nummer krijgt e.d. Dit zijn onderdelen die dus tijdens de implementatie van de app moet gaan bepalen.

* In dit artikel wordt ‘random’ gebruikt omdat het niet een echt willekeurig getal is maar iets wat berekend wordt door middel van aantal waarden (o.a. je dagelijkse sleutel). Omdat dit berekende waarden zijn kan de telefoon van Bob dezelfde berekening uitvoeren en controleren of de codes van Alice gezien zijn.