Open-Source-Adventskalender: Die Corona-Warn-App

Von 1. bis zum 24. Dezember 2021 hat heise online jeweils ein "Kalendertürchen" mit dem Porträt eines Open-Source-Projekts geöffnet.

In Pocket speichern vorlesen Druckansicht 22 Kommentare lesen

(Bild: Semisatch/KOALA STOCK/Shutterstock.com/heise online)

Lesezeit: 10 Min.
Von
  • Nico Ernst
Inhaltsverzeichnis

Leuchtturmprojekt, Schnüffelsoftware, zahnloser Tiger: Kein deutsches Softwareprojekt der letzten Jahre war und ist so umstritten wie die Corona-Warn-App (CWA), die vom Robert Koch-Institut im Auftrag des Bundesgesundheitsministeriums herausgegeben wird. Und mit Telekom und SAP sind auch noch die beiden größten Digitalkonzerne Deutschlands als Betreiber und Entwickler an Bord. Natürlich klingt das auf den ersten Blick nach dem einen großen staatlichen Überwachungsprojekt.

Der Open-Source-Adventskalender

Dabei sind die App und ihr Backend genau das Gegenteil davon. Denn vor dem Start in den App-Stores am 12. Juni 2020 gab es eine breite gesellschaftliche Diskussion um den Grundansatz des Systems sowie eine strikte Vorgabe von Apple und Google, wie diese Unternehmen eine solche App überhaupt unterstützen würden. Diese Tatsache des Einflusses der beiden Firmen, die nahezu alle Smartphones kontrollieren, führt bis heute zu einem der größten Missverständnisse rund um die CWA. So sagte beispielsweise Münchens Oberbürgermeister Dieter Reiter noch am 21. November 2021 in der Sendung "Sonntags-Stammtisch" des BR: "Die Corona-Warn-App hätte viel mehr gekonnt, wenn wir den Datenschutz nicht dazwischen gehabt hätten". Reiter wollte unter anderem in seiner App sehen, wann er sich mit welcher Person getroffen hat, die ihm letztendlich eine Warnung vor einer möglichen Infektion eingebracht hat.

Aber genau dieses "Contact-Tracking", also die namentliche Nachverfolgung, gibt das System nicht her. Vielmehr handelt es sich um "Contact-Tracing", also nur die Verfolgung von Spuren von Kontakten – und das anonym. Es reicht für diese Form der digitalen Pandemiebekämpfung nämlich aus zu sagen: Die drei Personen A, B und C haben sich getroffen, und nicht: Meier, Müller und Schulze trafen sich. Und nur darauf haben sich Apple und Google eingelassen. Denn ohne sie klappt die Hauptfunktion der App nicht, nämlich die Abstandsmessung von Smartphones – und damit zwischen ihren Besitzern – per Bluetooth Low Energy.

Die Architektur von Corona-Warn-App und Backend.

(Bild: SAP)

Diese Idee konkretisierte sich im Frühjahr 2020 nicht nur in Deutschland und wurde unter anderem mit Soldaten der Bundeswehr getestet, die in vorgegebenen Laufrouten ausprobierten, wie genau die Messung sein kann. Parallel wurde das Protokoll "Pan-European Privacy-Preserving Proximity Tracking" (PEPP-PT) entwickelt, das die Kontaktdaten von den Handys auf einem zentralen Server speichern sollte. Dagegen regte sich massiver Widerstand. Es wäre auch das erste Mal gewesen, dass der Staat fortlaufend erhobene Gesundheitsdaten von Millionen speichert. Zwar war ein gewisser Grad an Pseudonymität und Verschlüsselung gegeben – aber das ganze Konstrukt war mit zentraler Speicherung nicht dazu geeignet, dass sich die App viele Menschen freiwillig installiert hätten.

Das sah eine Allianz rund um den Chaos Computer Club, D64 und die Gesellschaft für Informatik auch so und schickte Ende April 2020 einen Brandbrief an die zuständigen Ministerien. Die Alternative, nämlich eine dezentrale Speicherung der Kontakte in anonymer Form direkt auf den Smartphones, lag mit dem Protokoll Decentralised Privacy-Preserving Proximity Tracing (DP-3T) nämlich auch schon vor. Auf dessen Basis wurde schließlich das Temporary-Contact-Numbers-Protokoll (TCN) entwickelt, beide Protokolle sind seitdem der Kern der Abstandsmessung- und protokollierung.

Apple und Google gossen all das schließlich in das Exposure Notification Framework (ENF) – vorerst die letzte neue Abkürzung in diesem Text, aber ohne diesen Unterbau geht es halt nicht, denn: Beide Unternehmen positionierten sich nach der Entscheidung, eine dezentrale Lösung zu entwickeln, eindeutig: Sie wollten nur ein System unterstützen das anonym, dezentral und in der Hand einer Regierungsbehörde und nicht eines Privatunternehmens ist. Dazu gibt es eine Reihe von Whitepapers von beiden Unternehmen. Auf Basis des ENF wurden auch andere Apps entwickelt, etwa in der Schweiz SwissCovid und in Österreich Stopp Corona.

So arbeitet das Exposure Notification Framework der Corona-Warn-App.

(Bild: SAP)

Das ENF machte die schnelle Entwicklung der ersten Version der Corona-Warn-App in rund 100 Tagen erst möglich, denn da Apple die Funktionen in iOS und Google sie in seinen Play-Services verankert hat, ist die direkte Beschäftigung mit Bluetooth nicht mehr nötig. Das wäre angesichts von Tausenden verschiedenen Geräten und Treibern wohl nicht einmal für die Telekom mit ihren Testlaboren vernünftig möglich. Das ENF sieht ebenfalls vor, dass eine Warnung nur auf den Tag genau ausgegeben wird, nicht mit Uhrzeit oder gar Ort – denn das Speichern von Standortdaten findet mit der CWA gar nicht statt. Es kann nur vermutet werden, dass das auch Denunziantentum vorbeugen soll: "Ich habe mir Covid von Max Mustermann im Kino in der Dingensstraße geholt" wäre eine fatale Botschaft.

Dennoch können Personen mit einer Infektion ihrer Kontakte warnen, daher der Name Corona-Warn-App. Die Geräte mit der CWA senden Bluetooth-Beacons mit einem rund alle 15 Minuten neu erstellten Schlüssel aus. Andere Geräte mit CWA empfangen diese Schlüssel und speichern sie auf dem Gerät. Das erfolgt fortlaufend für einen Zeitraum von zwei Wochen. Stellt ein Nutzer eine Infektion durch einen PCR-Test fest, kann er die auf seinem Gerät gespeicherten Schlüssel an den Server der CWA übermitteln – muss er aber nicht, dieser Prozess ist freiwillig. Alle Installationen der CWA rufen die so hochgeladenen Schlüssel regelmäßig ab und gleichen sie mit den im Gerät gespeicherten ab – so entsteht letztendlich die Warnung auf dem eigenen Gerät. Daten wie Benutzernamen oder Telefonnummern werden dabei nicht erhoben, gespeichert oder übermittelt.

Entscheidend für die Information "Hatte Kontakt zu einer infizierten Person" sind in der CWA Abstand und Dauer. Diese Parameter wurden im Sommer 2020 immer wieder leicht variiert, was Nutzerinnen und Nutzer leicht verunsichern konnte: Warum habe ich so viele Kontakte mit geringem Risiko (grüne Warnung) und nie eine rote Kachel in der App? Die Entwickler passten die Parameter aufgrund der Erfahrungen im Praxisbetrieb an und die zuständigen Stellen wie RKI, SAP und Telekom kommunizierten das nur recht spärlich. Bei den meisten Nutzern war plötzlich Ruhe, und neue Funktionen gab es monatelang nicht. Eine App, die nicht mit dem Anwender interagiert, ist in der heutigen Smartphone-Kultur schnell als "nutzlos" gebrandmarkt. Das gipfelte dann im Oktober 2020 mit dem bayerischen Ministerpräsidenten Markus Söder, der die App einen "zahnlosen Tiger" nannte. Dass die App ständig im Hintergrund arbeitet, und genau das ihre Aufgabe ist, war vielfach noch nicht verstanden worden.

Die Gewichtung der Risikoermittlung bei der Corona-Warn-App.

(Bild: SAP)

Erst im Winter 2020/2021, also ein halbes Jahr nach dem Start, gab es größere neue Funktionen: Ein Kontakttagebuch, das man selbst befüllen kann, und auch die Anzeige von Kennzahlen wie Inzidenzen – die App wird seitdem zum Schweizer Taschenmesser der digitalen Pandemiebekämpfung weiterentwickelt. Im März 2021 kam die freiwillige Datenspende hinzu, welche die Wirksamkeit der App untersuchen soll, unter anderem, wie schnell PCR-Tests übermittelt werden. Die Ergebnisse zeigt das RKI regelmäßig aktualisiert auf einer eigenen Webseite.

Im Juni 2021 erschien die Version 2.0.3, die eine Registrierung von Events mitbrachte, ähnlich wie bei der Luca-App. Die heute wichtigste neue Funktion kam im gleichen Monat hinzu, seitdem können Impfzertifikate in der CWA gespeichert werden. Diese kann man in Form eines QR-Codes für die Zugangsbeschränkungen nach 2G- oder 3G-Regeln vorweisen – und damit begann die nächste Kommunikationskatastrophe. Wie mit den Zertifikaten in der App umzugehen ist, wurde nicht breit vermittelt.

Bei manchen vorgeblichen Überprüfungen wird bis heute nur das Vorhandensein irgendeines QR-Codes geprüft, dabei ist das Prozedere eindeutig: QR mit einer anderen App, nämlich CovPassCheck, scannen, und die so angezeigten Daten mit einem Ausweis abgleichen. Nur so ist sichergestellt, dass das Zertifikat gültig ist und der jeweiligen Person gehört. Dieser Prozess, der nur 20 Sekunden oder weniger dauert, wurde und wird bis heute aber nicht flächendeckend erklärt. Noch im Dezember 2021 machte ein Kölner Wirt von sich reden, der schlicht die Zertifikate seiner Gäste in seine CWA importierte. Um das zu ändern, gibt es seit September 2021 eine Anleitung mit FAQ und Video von heise online. An alle richtigen Stellen können solche Informationen aber nur Kommunen und Verbände bringen – sie haben direkten Zugriff auf Betreiber von Gastronomie- und Event-Orten.

Während die technische Entwicklung seit nun einem Jahr recht zügig läuft, bleibt die Erklärung der Funktionen das größte Problem der Corona-Warn-App. Das ist ganz aktuell auch wieder so, denn am 20. Dezember 2021 erschien die Version 2.15 der App. Offensichtlich sind dort die verbesserten Hinweise, was nach einer roten Warnung zu tun ist. Die Möglichkeit, die Gültigkeit von Zertifikaten an eine andere Stelle zu übermitteln, wurde aber im Vorfeld nicht vernünftig erklärt und die dabei möglichen Partner nicht benannt. Klar ist nur, dass es eine dritte Stelle geben soll, über welcher der Status – nicht aber das Zertifikat selbst – beispielsweise an eine Fluglinie oder einen Tickethändler für Veranstaltungen übermittelt werden soll. Das ist allemal sinnvoller als die QR-Codes direkt auf einen fremden Server zu laden, aber eben ohne Ross und Reiter zu nennen zunächst nicht verständlich.

Dennoch ist die Corona-Warn-App ein Vorbild dafür, wie schnell eine neue Funktion wie hier die Abstandsmessung auch mit zwei Giganten wie Apple und Google gemeinsam und unter Einhaltung des Datenschutzes umgesetzt werden kann. Das nötige Vertrauen für die Behandlung von so sensiblen Daten kann nur durch ein Open-Source-Projekt geschaffen werden: Auf Github sind die Quellcodes für die App sowie das Backend unter der Apache-Lizenz zu finden, und auch eine Version für F-Droid gibt es.

Gleichzeitig hat das Projekt CWA auch gezeigt, wie schlecht es um die Digitalisierung in Deutschland bestellt ist: Noch immer ist es nicht für alle Bürger möglich, den QR-Code für ein Impfzertifikat direkt nach dem Stich zu erhalten oder ein Testzertifikat direkt einzulesen. Der Grund: Nicht alle Impf- und Teststellen sind an die Zertifikatsserver angeschlossen.

Siehe auch:

(nie)