Die Corona-App des Robert Koch-Instituts ist in erster Linie eine Datensammel-App. Im Kern unterstützt sie das COVID19-Tracing von Erkrankungsfällen, um Muster bei der Ausbreitung dieses Viruses besser verstehen zu können und geeignete Maßnahmen abzuleiten, die eine Lockdown-Mitigation, wie wir sie von März bis Juni 2020 erlebt haben, vorbeugen zu können.
Jede(r), die/der die App installiert hat, ist eindeutig, aber auch anonym identifizierbar. Das bedeutet, bei der Datenauswertung im RKI lässt sich nachvollziehen, wer wo mit wem in örtlicher Nähe gewesen ist und die entsprechenden weiteren Personen in der Nähe darüber informieren, dass sie potentiell einem Risiko der Ansteckung ausgesetzt waren, wenn eine Person sich als infiziert meldet.
Dazu erstellt die App vermutlich eine eindeutige Identifikationsnummer. Moderne Smartphones bringen bereits einen eigenen WLAN-Chip mit, der beispielsweise auch über eine eigene Hardware-MAC-Adresse verfügt. Vor etlichen Jahren hat Microsoft ein ähnliches Verfahren auch genutzt, um die Anzahl von Installationen seines Betriebssystems auf mehreren PCs zu regulieren. Vermutlich wird so eine eindeutige Identifikationsnummer vom Betriebssystem des Smartphones (iOS oder Android) bereitgestellt, was in einigen Fällen ein Update des Betriebssystems notwendig machte, bevor man die App installieren kann.
Aus Sicherheitsgründen ist dieses Vorgehen sinnvoll, da man nicht jeder App das Auslesen der Hardware-MAC-Adresse des WLAN-Chips erlauben können will. Das wäre ein ziemlich tiefer Eingriff in das System des Mobiltelefons und potentiell belegt mit Sicherheitsproblemen, falls jemand das nicht sauber programmiert.
Wenn man jetzt die App installiert hat, lauscht die App in regelmäßigen Abständen, welche weiteren Geräte in der Umgebung des Mobiltelefonbenutzers sind. Findet es ein Telefon mit ebenfalls installierter Corona-App, dann stellen die beiden Apps auf den beiden Telefonen eine Verbindung her und sagen sich kurz „Hallo“, indem sie die jeweiligen Idenfikationsnummern miteinander austauschen und vermutlich auch Geo-Daten mit dem RKI teilen.
Das ganze läuft über eine Bluetooth-Verbindung laut FAQ-Text des Herstellers. Jede(r), die/der schon einmal einen Bluetooth-Lautsprecher betrieben hat, weiss, dass Bluetooth eine geringe Verbindungsreichweite hat, ca. 7-14m. Das bedeutet, dass vor allem die Informationen von Leuten in einem Umkreis von 7-14m von einander wissen, was in etwa einem erweiterten Radius von Ansteckungsgefahr beim SARS-COV-2 entspricht.
Die übermittelten Daten wertet das RKI täglich aus und lässt den App-Benutzer auf täglicher Basis eine Auswertung der Leute in der Umgebung zukommen. Dafür kann man selbst auch per App eintragen, falls man sich selbst identifiziert habe. Das bedeutet, dass das RKI darüber die Menschen in meiner unmittelbaren Umgebung informieren lassen kann, dass sie sich besser auch testen lassen sollten. Diese Information kommt potentiell mit einigen Tage Verspätung bei einem selbst an, das Verfahren ist aber immer noch besser, als weiterhin im Dunkeln über den eigenen Gesundheitszustand zu tapsen.
Mehr Funktionalität bietet die App nicht. Ich hoffe, mein persönliches Bild darüber, wie das wohl funktionieren könnte, bringt hier ein wenig Licht ins Dunkle.
Vielen Dank für den Artikel und die Erklärungen zur Corona-App. Dem Source-Code und den Implementierungshinweisen folgend, weicht dies in zwei Punkten von deinen Erklärungen ab:
Die regelmäßige Überprüfung von Geräten in der Nähe ist keine Funktion der App. Dies ist eine Funktion des Betriebssystems unter iOS/Android. So muss die App auch nicht regelmäßig aufwachen oder im Hintergrund laufen. Stattdessen kann einmal am Tag das gesamte Protokoll des Tages über die API ausgelesen werden. Dafür muss (unter iOS) der App ein spezielles Recht durch den Endnutzer eingeräumt werden.
Der zweite wesentliche Aspekt, ist die Nutzung von eindeutigen Identifiern. Im Gegensatz zur MAC-Adresse wird diese mehrfach am Tag (waren es alle 15min?) nach einem bestimmten Muster und einmal täglich komplett geändert.
Die naheliegende Frage ist dann, wofür braucht man dafür noch eine spezielle App. Der Mehrwert der App besteht in einer Interpretation der Abstandswerte im Protokoll und die Integration der Information, wer mit einem Infizierten Kontakt hatte. Soweit ich das den Diskussionen im GitHub Account entnehme, wird das Protokoll nach mehrfacher Bestätigung auch nur dann und von demjenigen an den Server gesendet, der eine Infizierungsbestätigung eingibt. Die Auswertung, ob man mit einem Infizierten Kontakt hatte, erfolgt dann lokal auf dem eigenen Handy. Somit werden eben nicht alle Daten von jedem Teilnehmenden erfasst und zentral gespeichert. Also das Gegenteil, von dem, was man gewöhnlich unter Datenkraken versteht.
Vielen Dank für die Ergänzungen, Andreas. Ich hatte ja primär (und unwissentlich) im Blogeintrag spekuliert, wie das funktionieren könnte. Zwischenzeitlich habe ich mich auch ein wenig tiefer mit der Thematik befasst, aber gut, das auch noch mal von anderer Seite bestätigt zu sehen.