Corona-Warn-App-Detektor
Corona-Warn-App-Detektor – Eine praktische Auseinandersetzung mit dem Pandemie-Alltagsbegleiter
Die Corona-Warn-App (CWA) ist in Zeiten der Pandemie zu einem zentralen digitalen Hilfsmittel geworden. Dennoch bleibt ihr Wirken bei der Kontaktverfolgung für die einzelnen Nutzer:innen in der Regel unsichtbar – es sei denn, sie warnt vor einem potenziell gefährlichen Kontakt in der Vergangenheit. Diese Unsichtbarkeit hat Auswirkungen auf die Einordnung und Bewertung der App.
Fehlt ein Verständnis für die technischen Mechanismen der Corona-Warn-App, kann das zu Unsicherheit und Misstrauen führen. Das gilt umso mehr vor dem Hintergrund medialer Kritik an ihrer Nützlichkeit und Effektivität. Dabei wird ein allgemeines Problem sichtbar: Hohe Erwartungen an technische Problemlösungen einerseits sowie das Fehlen ausreichender Digitalkompetenz andererseits bilden einen nur zu günstigen Nährboden für die Verbreitung von Verunsicherung.
Mit dem Corona-Warn-App-Detektor bieten wir interessierten Bürger:innen eine praktische Auseinandersetzung mit der viel diskutierten Technik und ermöglichen damit eine bessere Einschätzung der Wirkungsweise und der Einsatzfolgen digitaler Alltagsbegleiter.
Der hier vorgestellte Detektor erfasst die aktiven Corona-Warn-Apps in der Umgebung und zeigt ihre Anzahl an. Damit wird eine Einschätzung möglich, wie weit die CWA in konkreten Situationen verbreitet ist. Das ist insbesondere für typische Szenarien im öffentlichen Raum interessant, in denen sich Menschen nur schwer aus dem Weg gehen können (die Nutzung von öffentlichen Verkehrsmitteln und Wartebereichen, Einkaufen u.Ä.) und für die die CWA konzipiert wurde.
Für Ungeduldige schon hier der Link auf das Repository: https://gitlab.fokus.fraunhofer.de/oefit-werkstatt/cwa-detektor
Den CWA-Detektor bauen und programmieren
Unsere Schritt-für-Schritt Anleitung zeigt wie der Corona-Warn-App-Detektor (CWA-Detektor) hergestellt, programmiert und in Betrieb genommen werden kann:
A Mit einer einsteigerfreundlichen Bauanleitung zeigen wir, wie der Detektor mit wenigen Hardwareteilen hergestellt werden kann. Damit bieten wir einen Einblick in die notwendigen technischen Bauteile der Corona-Warn-App.
B Unsere Programmieranleitung gibt einen Überblick über die grundlegenden Schritte um den Detektor mit Programmcode zu bespielen. Mit einem einfachen Beispielcode könnt ihr überprüfen, ob die Übertragung von Programmcode auf den Detektor funktioniert.
C Mit dem hier zum Download bereitgestellten Quellcode kann der Detektor bespielt werden und ist damit sofort einsatzbereit. Unser Quellcode enthält die wesentlichen Funktionsbausteine, um Corona-Warn-Apps in der Umgebung des Detektors zu erkennen. Damit beleuchten wir die Stellschrauben, mit denen die Wirkungsweise des Detektors gestaltet werden kann.
Der Nutzen gestalterischer Auseinandersetzung
Durch die praktische Auseinandersetzung können Bürger:innen den öffentlichen Diskussionen um die Gestaltung von Technik besser folgen und sich leichter aktiv daran beteiligen. Selbst hergestellte Technik regt an, über Gestaltung an sich nachzudenken und sich bürgerschaftlich in Technikvorhaben einzubringen, die eine solche Beteiligung von Nutzer:innnen und Betroffenen vorsehen.
Sei es rein aus Interesse oder auch zur Verringerung von Unsicherheit, es kann in verschiedenen Alltagssituationen hilfreich sein, die Verbreitung von Corona-Warn-Apps nachvollziehen zu können. Dabei klärt sich: Nutzen Mitbürger:innen in meiner Umgebung die App auch tatsächlich, bspw. beim Einkauf in einem Supermarkt, in öffentlichen Verkehrsmitteln, in Wartebereichen oder in ähnlichen Situationen?
In solchen Situationen kann der CWA-Detektor eingesetzt werden, um die Nutzung der App sichtbar zu machen. Der Detektor ermöglicht dabei einen »Röntgen-Blick« auf eigentlich unsichtbare technische Vorgänge. Der Corona-Warn-App-Detektor demonstriert damit den Nutzen der CWA.
Darüber hinaus eröffnet der selbst hergestellte Detektor auch einen Aufhänger, bspw. im Freundes- oder Kollegenkreis über die Verwendung der CWA und andere Schutzmaßnahmen zu sprechen. Er ermöglicht im Alltag über Technik und ihre Präsenz im öffentlichen Raum ins Gespräch zu kommen.
Für Einsteiger:innen und Fortgeschrittene
Wir stellen gleich mehrere Bauanleitungen für verschiedene Varianten eines CWA-Detektors zur Verfügung. Die unterschiedlichen Varianten ermöglichen es, einen eigenen CWA-Detektor in einem individuell angepassten Vorgehen zu basteln und vielleicht zum Einstieg in die Programmierung von Mikrocontrollern zu nutzen.
Die unterschiedlichen Varianten stellen wir als git-Repository oder als ZIP-Archiv zum direkten Download zur Verfügung. Die bereitgestellte Software stellt nur die Grundfunktion bereit, trotzdem haben wir bei der Gestaltung des Detektors (siehe auch das ÖFIT-Whitepaper »Gesellschaftliche Technikgestaltung«) die Auswirkungen auf die Privatsphäre diskutiert und bei der Implementierung exemplarisch berücksichtig (Privacy-by-Design). Damit knüpfen wir an die Intentionen des Gestaltungsprozesses der Architektur der CWA im Frühjahr 2020 an. Auch bei der Auswahl der Hardware wurde auf leichten Zugang und einfache Umsetzung geachtet. Software und Hardware sollen zum Experimentieren und Weiterentwickeln anregen – wir freuen uns, wenn wir hierzu eine Anregung geben können.
Unser Material zum Downloaden
Schritt-für-Schritt Anleitung zum Aufbau und zur Programmierung des Corona-Warn-App Detektors
Fertiger Quellcode in der Arduino -Programmiersprache zur Inbetriebnahme des Detektors
Gesamtpaket zum Downloaden
Habt ihr unseren CWA-Detektor ausprobiert? Dann freuen wir uns über Erfahrungen, den Anwendungskontext und eure Erkentnnisse zum Gestaltungsprozess zu erfahren:
Jens Tiemann, Nassrin Hajinejad, Karoline Krenn und Fabian Manzke
Unsere Motivation
Erste Versionen der Corona-Warn-App hatten mit der Kontaktverfolgung und der Information über Risikobegegnungen nur zwei wesentliche Funktionen. Diese waren im Design so reduziert gestaltet, dass den Nutzer:innen der App oft nicht direkt klar wurde, ob die App einwandfrei läuft und wie hilfreich ihre Nutzung ist. Risikobegegnungen wurden gezählt, aber sie waren zeitlich kaum einzuordnen und damit auch nicht auf konkrete, vielleicht zukünftig vermeidbare Situationen zu beziehen. Es gab nur Warnhinweise, wenn man Bluetooth abschaltete. Inzwischen wurde die Corona-Warn-App zwar weiterentwickelt, aber die Einschätzung ihrer Wirksamkeit bleibt für Nutzer:innen weiter schwierig.
Mit dem Corona-Warn-App-Detektor lässt sich das ändern: Die auf Bluetooth Low Energy (BLE) basierenden Signale der Corona-Warn-App (bzw. der dafür genutzten Exposure Notification), welche die Kontaktverfolgung ermöglichen, lassen sich ganz einfach sichtbar machen. Man kann dafür das Smartphone nutzen (entsprechende Apps sind verfügbar), aber anschaulicher und in manchen Situationen einfacher nutzbar scheint hier ein kleines, eigenständiges Gerät zu sein. Wir stellen dazu den Corona-Warn-App-Detektor vor, der nach dem Einschalten die Corona-Warn-Apps der Umgebung zählt. Das Gerät basiert auf dem ESP32-Mikrocontroller, einem preiswerten und einfach verfügbaren Baustein, der die benötigten Hard- und Softwarefunktionen mitbringt.
Was sind unsere Erfahrungen? Die Nutzung des Detektors im Alltag zeigte, dass die Corona-Warn-App tatsächlich verbreitet ist. Der CWA-Detektor weist auch dort auf Signale hin, wo keine direkte Begegnung stattfindet, bspw. auf Signale aus vorbeifahrenden Autos oder von Smartphones hinter Hausfassaden. Und auf freiem Feld können Bluetooth-Signale weite Strecken überwinden. Relevanter im Sinne des Infektionsschutzes ist allerdings die Beobachtung, dass im Supermarkt oder auch bei der Vorbeifahrt eines Busses die Zahl der erfassten Corona-Warn-Apps stark ansteigt, was auf die Verbreitung der Corona-Warn-App hindeutet. In einem weiteren Praxistest kam der Corona-Warn-App-Detektor in einer Büroumgebung zum Einsatz (Verwaltung eines Unternehmens), wo er unter den Kolleg:innen Neugierde auslöste und zu Gesprächen über Corona-Prävention führte.
Die geschilderten Nutzungsmöglichkeiten offenbaren allerdings auch Probleme, die ein Einsatz insbesondere hinsichtlich der Rücksichtnahme auf die Privatsphäre Dritter mit sich bringt. Eine erste Version des CWA-Detektors hat jede einzelne App unmittelbar angezeigt und hinzugezählt (wobei von Anfang an Adressen und Kennungen nicht ausgewertet wurden). Damit würde in einem übersichtlichen Umfeld rasch klar, ob eine hinzukommende Person die Corona-Warn-App nutzt. Da es uns bei der Entwicklung und Nutzung des CWA-Detektors um die allgemeine Nutzungsdichte der Corona-Warn-App geht und nicht um eine konkrete Zuordnung zu einer Person, wurde ein Schwellwert für die Anzeige eingeführt, sodass eine solche Zuordnung zu einzelnen Nutzer:innen nicht mehr so einfach herzustellen ist. Trotzdem sind natürlich aggregierte gesellschaftliche Beobachtungen möglich, wenn sich bspw. die Nutzung der Corona-Warn-App zwischen Nachbarschaften oder zwischen von verschiedenen sozialen Gruppen frequentierten Supermärkten unterscheidet.
Mit der Bereitstellung des Corona-Warn-App-Detektors möchten wir drei Anregungen geben:
- Die Nutzung eines »Alltagshelfers« anbieten, mit dem die Frage beantwortet werden kann, ob überhaupt andere Personen in der eigenen Umgebung (auch) die Corona-Warn-App verwenden: Neben einem verbesserten Sicherheitsgefühl und ggf. einer Verhaltensänderung (bspw. durch stärkere Vermeidung von Kontakten) kann die Nutzung auch anregen, sich mit anderen über die Corona-Warn-App oder allgemein über Corona-Hygieneregeln auszutauschen.
- Zur Auseinandersetzung mit der Gestaltung von Technik einladen: Der CWA-Detektor macht nicht direkt erfahrbare technische Mechanismen sichtbar, hier die Bluetooth Low Energy -Signale. Die Beobachtung von technischen Vorgängen kann zu einer besseren Einschätzung der Folgen des Technikeinsatzes führen. Und diese Auseinandersetzung mit Technik und ihren Folgen kann wiederum zu einer besseren Gestaltung der Technik führen – gerade auch durch die Beteiligung von Nicht-Techniker:innen an einer konstruktiv geführten gesellschaftlichen Diskussion.
- Und nicht zuletzt geht es auch um den Spaß an der Nutzung von Technik und an der Herstellung bzw. Programmierung: Die Einstiegshürde für dieses Gerät ist vergleichsweise niedrig. Mit dem CWA-Detektor kann man ein allgemeines Interesse an den konkreten Vorgängen zur Programmierung eines Mikrocontrollers verfolgen, was bereits heute zumindest teilweise an Schulen gelehrt wird, oder das Gerät kann bei der Aus- und Weiterbildung eingesetzt werden.
Hintergrund: Funktionsprinzip der Corona-Warn-App
Die Corona-Warn-App (CWA) basiert auf dem Exposure Notification Framework, das Google und Apple gemeinsam entwickelt haben und in ihren Smartphone-Betriebssystemen zur Verfügung stellen. Die CWA greift also auf Grundfunktionen des Smartphones zurück, wodurch wesentliche Eigenschaften der Kontaktverfolgung von vornherein festgelegt sind. Man kann sagen, die CWA organisiert lediglich den gesamten Vorgang der Kontaktverfolgung, die konkrete Erfassung physischer Kontakte erfolgt über das Betriebssystem. Die Nutzung von Betriebssystem-Funktionen bietet einige Vorteile: Sie erleichtert die Softwareentwicklung, verbessert die Interoperabilität zwischen Smartphones, vermeidet damit auch Fehler einzelner App-Entwickler:innen, kann Vorgänge im Smartphone bspw. zur Verringerung des Energiebedarfs optimieren und ermöglicht die Umsetzung von Kontrollmöglichkeitn für die Nutzer:innen (mittels Rückfrage zur bewussten Freigabe einzelner Funktionen).
Das Exposure Notification Framework nutzt die Bluetooth-Schnittstelle des Smartphones, um die Nähe zu anderen Smartphones festzustellen (die eine Corona-Warn-App bzw. das Exposure Notification Framework nutzen). Dazu werden über Bluetooth-Datenpakete mit einer festgelegten Kennung für diesen Dienst (Service UUID mit dem Wert 0xFD6F) ausgesendet, anhand derer erkannt wird, dass das Datenpaket durch die CWA ausgewertet werden kann. Innerhalb dieser Datenpakete gibt es eine zweite, häufig wechselnde Kennung zur Identifikationen eines speziellen Smartphones (Rolling Proximity ID). Diese Kennungen werden von einer CWA lokal gesammelt und spiegeln die Begegnungen im Verlauf des Tages wider. Über den mehrfachen Empfang von Datenpaketen desselben Smartphones wird die Dauer der Begegnung als ein Kriterium für das Risiko aus dieser Begegnung genutzt. Als weiteres Kriterium zur Beurteilung eines Kontakts wird die Signalstärke des empfangenen Datenpakets herangezogen, aus ihr wird die Entfernung zwischen den Smartphones abgeschätzt.
Um eine Identifizierung von Personen oder die Erstellung von Bewegungsprofilen durch eine solche Aufzeichnung von Kennungen zu verhindern, werden die technisch notwendigen Kennungen periodisch gewechselt. Das gilt nicht nur für die Bluetooth-, sondern bspw. auch für die WLAN-Schnittstelle, deren Adressen täglich vom Betriebssystem gewechselt werden. Für die Kontaktverfolgung ist aber das Nachvollziehen eines Kontakts notwendig und so verwendet man hier beim Aussenden und zum lokalen Speichern von Kontakten abgeleitete Kennungen (die Rolling Proximity IDs), die aus einem (geheimen) Schlüssel gebildet werden, von denen man aber nicht auf den Schlüssel zurückschließen kann.
Der CWA-Detektor basiert lediglich auf der Auswertung der Kennung des Exposure Notification Framework (Service UUID) der empfangenen Bluetooth Low Energy-Datenpakete umliegender Smartphones mit Corona-Warn-App. Dabei wird die Anzahl der Kennungen erfasst, die Datenpakete selbst werden sofort gelöscht. Neben den Schutzmechanismen der Corona-Warn-App selbst verfügt der CWA-Detektor über einen weiteren Mechanismus zum Schutz der Privatsphäre umstehender Personen: Um den Rückschluss auf die Nutzung der CWA durch eine konkrete Person zu vermeiden, erfolgt eine Anzeige nicht für einzelne Corona-Warn-Apps, sondern erst oberhalb eines Schwellenwerts, also wenn mehrere (aktuell ab fünf) CWAs in der Umgebung eines CWA-Detektors eingesetzt werden. Wie alle Sicherheits- und Schutzmechanismen ist auch dieser Mechanismus vom Einsatzkontext abhängig und bietet keinen hundertprozentigen Schutz. Die Entscheidung über die Implementation eines solchen Mechanismus ist eingehenden Diskussionen über mögliche Technikfolgen solcher Messungen geschuldet. Nicht-intendierte Technikfolgen sind grundsätzlich zu erwägen und bringen für jeden Prozess der Technikgestaltung eine hohe Verantwortung mit sich.
Die übrigen Komponenten des Gesamtsystems »Corona-Warn-App« spielen für den CWA-Detektor keine Rolle. Dazu zählen die Speicherung von Kennungen auf dem Smartphone, die Meldung und Verteilung von Positivkennungen, die Risikobewertung anhand von Signalstärke und Dauer eines Kontakts. Auch nimmt der CWA-Detektor in keiner Weise eine Bewertung empfangener Signale oder gar eine Risikobewertung von Kontakten vor. Anzumerken ist, dass unter günstigen Umständen auch weit entfernte oder verdeckte CWAs gezählt werden, ganz im Sinne der Sichtbarmachung von technischen Vorgängen.
Die verwendete Technik Bluetooth Low Energy (BLE) war übrigens schon vor der Entwicklung der Corona-Kontaktverfolgung für verwandte Zwecke in moderneren Smartphones vorhanden. Sie wird u. a. zur Lokalisierung in geschlossenen Räumen mittels sogenannter Beacons verwendet, eine Technik, die allerdings in Deutschland noch nicht sehr verbreitet ist.
Bildnachweis: ÖFIT-Illustrationen