Seit der Ankündigung der Corona-Warn-App gab es immer wieder Bedenken zu deren Datenschutz und Informationssicherheit. Wie sicher ist die Nutzung der App? Unser Software Developer Stefan erklärt, wie die Technik hinter der Anwendung funktioniert und wie ihre Informationssicherheit einzuschätzen ist.

Was ist die Grundfunktionalität der App?

Die Corona-Warn-App (CWA) wurde im Auftrag der Bundesregierung und des Robert-Koch-Instituts entwickelt, um Infektionsketten von COVID-19 besser nachverfolgen zu können.

Die Funktionsweise ist dabei folgende:

  • Die App registriert anonymisiert die Kontaktpersonen, welchen man begegnet und welche die App ebenfalls installiert haben.
  • Die Daten werden für 14 Tage auf dem Smartphone gespeichert.
  • Meldet eine Person eine positive COVID-19 Diagnose, so werden alle Kontaktpersonen gewarnt, die sich in der Nähe dieser infizierten Person längere Zeit aufgehalten haben.




Die App ist sowohl für Android als auch für iOS verfügbar und kann in den jeweiligen Stores kostenlos heruntergeladen werden. Entwickelt wurde die App in Zusammenarbeit zwischen der Deutschen Telekom und SAP. Der Quellcode der Apps und der Server-Implementierung ist Open Source. Der gesamte Code ist also für alle einsehbar, was eine transparente Umsetzung sicherstellt.

Die jeweiligen Apps basieren auf der sogenannten Exposure Notification Schnittstelle, die Apple und Google gemeinsam entwickelt haben. Der Fokus lag dabei darauf, dass ein identisches System für beide Betriebssysteme (iOS & Android) verwendet wird.


Außerdem war es wichtig, dass die Nachverfolgung von Infektionen dezentral erfolgt. Das bedeutet, dass die Infektionskette nicht an einer zentralen Stelle analysiert wird, sondern nur auf den Geräten der betroffenen Nutzer. Dies beugt einem Missbrauch der gesammelten Daten vor.

Da die gesammelten Daten trotzdem hochsensibel sind und gesundheitsrelevanten Bezug haben, haben wir uns einmal die technische Seite der Umsetzung genauer angeschaut.

Technische Grundlagen des Warnsystems

Beide Systeme beruhen wie bereits erwähnt auf der Exposure Notification Schnittstelle. Diese Schnittstelle beruht wiederum auf drei Protokollen: DP-3T, TCN (das sich aus dem #WirVsVirus Hackathon heraus entwickelte) und den Spezifikationen von Google und Apple. Sowohl Apple als auch Google haben Dokumentationen für Entwickler bereitgestellt, wie diese auf den jeweiligen Plattformen anzuwenden sind.


Wir gehen nun davon aus, dass ein Nutzer die App auf ein Smartphone herunterlädt. Dieses Smartphone wird als Client bezeichnet. Das Betriebssystem spielt dabei keine Rolle, die Funktionsweise bleibt identisch.

Jeder Client generiert jeden Tag einen neuen Key, der als Temporary Exposure Key (TEK) bezeichnet wird. Das ist einfach eine lange Zeichenfolge, die einzigartig ist und nur durch den Client selbst erstellt werden kann. Die Erstellung erfolgt basierend auf einem Zeitstempel. Key und Zeitstempel bleiben vorerst nur lokal auf dem eigenen Smartphone gespeichert.

Aus diesem TEK und einem Zeitstempel wird ca. alle 20 Minuten ein Rolling Proximity Identifier (RPI) erzeugt, der ebenfalls aus einer langen Zeichenfolge besteht. Dieser RPI wird auch als Identifier (Id) bezeichnet. Dessen Erstellung erfolgt verschlüsselt. Es ist also nicht möglich, anhand der erzeugten RPIs auf das Gerät rückzuschließen.

Corona App auf dem Handy

Diese RPIs werden zwischen den Geräten ausgetauscht, die sich in direkter Nähe befinden und ebenfalls die App installiert haben. Dies erfolgt über die Bluetooth-Technologie, genauer gesagt über Bluetooth Low Energy (eine besonders energiesparende Version). Damit können nur Signale im Bereich von bis zu ca. 50 Metern aufgefangen werden.

Dies ist auch bereits eines der Sicherheitsmerkmale. Es wird lediglich dieses – lokal sehr begrenzte – Verfahren verwendet, um zu registrieren, welche Geräte sich begegnen und nicht etwa ein GPS-Signal.

Smartphones, welche die Corona-App installiert haben, sammeln nun also die RPIs der Geräte, die ihnen begegnen und speichern diese Schlüssel für 14 Tage lang ab. Zusätzlich werden noch die Dauer der Begegnung sowie die Signalstärke (zur Berechnung, wie weit die beiden Personen voneinander entfernt waren) auf beiden Geräten gespeichert.

Smartphones tauschen RPIs aus

Was passiert im Fall einer Infektion?

Im Fall der Erkrankung eines Nutzers mit COVID-19 müssen nun mehrere Schritte getätigt werden. Zum einen muss die Erkrankung beim Gesundheitsamt angemeldet und bestätigt werden. Geschieht dies, kann der Nutzer seine Erkrankung freiwillig in der App angeben und registrieren. Dafür wird eine Genehmigung des Gesundheitsamtes benötigt, die z.B. per QR-Code oder TAN gestattet werden kann.

Erkranter meldet Infektion

Anschließend werden alle TEKs und Zeitstempel des Clients der letzten 14 Tage auf einen zentralen Reporting-Server geladen. Dieser wird ebenfalls von Telekom und SAP entwickelt und auch dieser Quellcode ist einsehbar. Wird die Erkrankung als valide eingestuft, so werden diese Daten in die Datenbank des Servers aufgenommen. Wichtig ist, dass die gespeicherten Daten nach wie vor nicht personenbezogen sind und dank kryptografischer Verschlüsselung auch nicht rückverfolgt werden können.

Smartphone lädt Codes TEK und Zeitstempel auf Server

Die Apps auf den Smartphones laden diese verfügbaren Daten automatisch in regelmäßigen Abständen vom Server herunter. Anhand der Kombination aus TEKs und zugehörigen Zeitstempeln können sie anhand des verfügbaren Algorithmus die entsprechenden RPIs direkt auf dem Smartphone berechnen. Diese bezeichnen also die Identifier, die das Gerät der infizierten Person ausgesandt hat, während eine Ansteckungsgefahr bestand.

Smartphone lädt TEK und Zeitstempel von Server herunter

Nun muss der Client, also die App, nur noch diese berechneten RPIs mit den gespeicherten aus seiner lokalen Datenbank vergleichen. Findet er eine der RPIs in seiner Datenbank, heißt das, dass er in der fragwürdigen Zeit in Kontakt mit einer infizierten Person war. Der Nutzer erhält also eine Benachrichtigung mit der Warnung zu einer potenziellen Infektion.

Dadurch, dass diese Berechnung erst lokal auf den Geräten erfolgt handelt es sich um einen dezentralen Ansatz . Der Server speichert nur die Zwischendaten, die für sich allein genommen wertlos sind.

Smartphone mit Warnung

Was passiert im Falle einer Warnung?

Wie sieht eine solche Warnung nun für einen Nutzer aus? Anhand der Daten berechnet das System aus vier verschiedenen Faktoren ein Risiko-Level. Diese Faktoren sind:

  • Übertragungsrisiko: Hier spielt beispielsweise die aufgezeichnete Distanz zwischen den Geräten des Infizierten und des Gewarnten eine Rolle.
  • Kontakt-Dauer: Beschreibt die Dauer, wie lange sich beide Personen in der Nähe voneinander aufgehalten haben.
  • Aktualität: Hängt davon ab wie lange der Kontakt zurückliegt.
  • Abschwächung: Bezeichnet verschiedene Aspekte, wie z.B. wie lange die Krankheit bei der Exposition bereits vorlag.



Die App gibt neben dem Risiko-Level auch Anweisungen, wie man sich im Fall einer Warnung verhalten sollte. Diese werden vom RKI erstellt. Es erscheint jedoch sinnvoll, sich im Falle einer Warnung einem Corona-Test zu unterziehen, da es sich möglicherweise auch um einen Fehlalarm handeln kann, wie später noch erklärt werden soll.

Was wird nicht gespeichert und aufgezeichnet?

Wir haben uns angesehen, was die Apps tun und welche Daten gespeichert werden. Nun möchten wir noch einmal einen Blick darauf werfen, welche Daten explizit nicht verwendet werden.

  • GPS-Daten: Die Schnittstellendefinitionen und -beschreibungen sowie die Umsetzungsvorgaben bestimmen explizit, dass kein Zugriff auf Standort-Daten möglich und gestattet ist.
  • Kontakt-Daten: Die Applikationen haben auch keinen Zugriff auf die Kontakte, die auf dem Smartphone gespeichert sind.
  • Informationen zur Person: Es werden keine Daten zur jeweiligen Person gespeichert. Erst im Falle einer Infektion kann die infizierte Person selbständig weitere Informationen zu sich selbst angeben.



Bei der Umsetzung der Lösung wurde also viel Wert auf Privatsphäre und Datensicherheit gelegt.

Was sind Grenzen der Corona-Warn-App?

Die umgesetzte Lösung hat auch gewisse Grenzen:

  • Genauigkeit: Die Messung der Distanz zwischen Personen über das Bluetooth-Protokoll und über die Signalstärke (RSSI) ist ungenau. Es kann erhebliche Störfaktoren geben, wie z.B. Wände und Personengruppen, die Signale abschwächen können. Die App ist also ein Indikator für einen möglichen Kontakt, aber keinesfalls eine verlässliche Quelle. Außerdem gibt es keine Informationen, ob beide Seiten des erfolgten Kontaktes z.B. einen Mund-Nasen-Schutz getragen haben, mit dem das Infektionsrisiko deutlich geringer ausfallen könnte.
  • Nicht alle Kontakte werden erfasst: Da nur die Geräte Informationen austauschen können, die beide die App installiert haben, sind dadurch bereits Limitierungen vorhanden. Außerdem müssen infizierte Personen ihre Informationen auch wirklich hochladen, damit eventuell angesteckte Personen eine Benachrichtigung erhalten können. Zudem wird nach bekanntgegebener Infektion keine weitere Aufzeichnung der Kontakte vorgenommen. Werden also Quarantäne-Richtlinien nicht eingehalten, kann es zu zusätzlichen Infektionen kommen.



Was bedeutet das kurz gesagt?

Die Corona-Warn-App für Deutschland ist eine technisch sehr interessante Lösung. Das Tracken von Infizierten und deren Kontaktpersonen erfolgt über eine datenschutzfreundliche Umsetzung, welche die Privatsphäre der Nutzer*innen respektiert. Die Implementierung ist Open-Source, wodurch die erforderliche Transparenz einer App dieser Dimension gewährleistet werden kann.

Die Nutzung ist selbstverständlich freiwillig, von technischer Seite bestehen aber zum aktuellen Zeitpunkt wenige Bedenken. Wichtig zu erwähnen bleibt aber trotzdem, dass diese Tracking-App als zusätzliche Maßnahme gesehen werden sollte. Sie ersetzt nicht die weiterhin empfohlenen Maßnahmen der Bundesregierung und des RKI, wie beispielsweise das Tragen von Masken oder die Einhaltung von Sicherheitsabständen.

Was ist eure Meinung? Habt ihr euch die App heruntergeladen oder werdet ihr sie noch herunterladen?

Mehr von Stefan findet ihr auf medium.com oder auf Twitter.

Quellen