Was ist eine Schnittstelle?
Das Betriebssystem von Smartphones bringt viele Funktionen ab Werk mit. Zum Beispiel die Funktion, den eigenen Standort zu bestimmen. Wenn eine App den Standort des Gerätes braucht, muss sie ihn nicht selber über das GPS-Signal des Gerätes ermitteln, sondern kann ihn einfach von der eingebauten Standort-Funktion des Gerätes abfragen.
Diese Möglichkeit einer Software, bei einer anderen Software Anfragen zu stellen und Antworten zu erhalten, nennt man eine „Schnittstelle“. Dabei legt der Entwickler vorher genau fest, welche Anfragen gestellt werden können - im obigen Beispiel etwa "aktuelle Position in Dezimalgrad" oder "aktuelle Position in GMS-Format". Außerdem definiert er genaue Regeln, nach denen eine solche Anfrage abläuft und legt fest, wer sie überhaupt stellen darf.
Diese Regeln und Einschränkungen werden in einer Schnittstellendokumentation veröffentlicht, so dass Entwickler*innen ihre Apps auf die Spezifikationen der jeweiligen Schnittstelle anpassen können.
Schnittstelle zur Kontaktverfolgung
Viele Länder haben inzwischen Apps zur Kontaktverfolgung auf Bluetooth-Basis entwickelt, um die Corona-Pandemie zu bekämpfen.
Zunächst gab es dabei jedoch ein Problem: Sowohl bei iOS-Geräten als auch bei neueren Android-Geräten dürfen Apps aus Sicherheitsgründen nicht auf die Bluetooth-Funktion zugreifen, während sie im Hintergrund laufen. Apps, die im Hintergrund laufen, müssen von dem*der Smartphone-Nutzer*in nicht mehr eigenhändig gestartet werden, sondern starten von selbst, wenn das Gerät angeschaltet ist. Hierzu wird nur einmalig eine Berechtigung abgefragt.
Contact-Tracing-Apps brauchen jedoch den Zugriff auf die Bluetooth-Funktion aus dem Hintergrund heraus. Daher hatten viele Gesundheitsbehörden eine eigene Schnittstelle zur Bluetooth-Funktion speziell für die Corona-Kontaktverfolgung gefordert.
Google und Apple haben diese Schnittstelle daraufhin entwickelt. Im September 2020 kündigten die beiden Firmen außerdem eine neue Technik an, mit der es möglich sein soll, auch ohne die Hilfe einer länderspezifischen App Kontaktketten nachzuvollziehen.
Der offizielle Name der Schnittstelle für länderspezifische Apps lautet „Exposure Notifications“ (auf Deutsch in etwa: Benachrichtigung darüber, ob Sie [dem Virus] ausgesetzt waren). Die Dokumentation der Schnittstelle wurde am 20. Mai 2020 veröffentlicht. Wer sie bereits per Update erhalten hat, findet einen neuen Eintrag in seinen Geräte-Einstellungen.
Bei Android finden Sie den Menüeintrag zur neuen Funktion unter Einstellungen -> Google
Sobald Sie eine App installiert haben, die auf die Schnittstelle zugreift, können Sie hier verschiedene Einstellungen vornehmen. Sie können die Funktion ganz deaktivieren oder gespeicherte IDs löschen.
Bei iOS finden Sie den Menüeintrag zur neuen Funktion unter: Einstellungen -> Datenschutz -> Health
Hinweis: Um die Funktion zu deaktivieren reicht es nicht aus, die Bluetooth-Funktion auszuschalten. Laut Google funktioniert die Kontaktverfolgung dann zwar nicht mehr optimal, ist aber nicht deaktiviert.
So funktioniert das Contact-Tracing
Die Schnittstelle unterstützt nur eine von vielen möglichen Methoden zur Kontaktnachverfolgung. Es handelt sich um das sogenannte „Proximity Tracing“ (auf Deutsch in etwa: Kontaktverfolgung durch Abstandmessung) per Bluetooth in einem dezentralen Ansatz. Im Detail funktioniert das so:
1. Eine Corona-Tracing-App sendet über Bluetooth eine zufällige ID aus. Die ID ändert sich alle 10-20 Minuten.
2. Geräte in der Nähe, auf denen ebenfalls die Corona-Tracing-App installiert ist, können diese ID empfangen und senden selber eigene IDs aus. Zusammen mit der ID senden sie verschlüsselte Informationen darüber, wie stark das Bluetooth-Signal ist und welches Betriebssystem verwendet wird.
4. Alle empfangenen IDs werden auf dem Gerät lokal gespeichert. Die Contact-Tracing-App kann nicht direkt auf die IDs zugreifen.
5. Wenn ein*e Nutzer*in eine positive Diagnose erhält, kann er*sie seine eigenen IDs auf einen zentralen Server hochladen. Dieser Server wird nicht von Google oder Apple betrieben, sondern von dem jeweiligen Anbieter der Corona-Tracing-App. Auf dem Server befinden sich also nur IDs von Personen mit bestätigter Infektion.
6. Jede App lädt einmal pro Tag alle IDs von dem Server herunter. Die App vergleicht die heruntergeladenen IDs mit den IDs, die vorher von anderen Geräten in der Nähe gespeichert wurden.
7. Wenn es eine Übereinstimmung gibt, erhält der*die Nutzer*in eine Warnung. Das System wertet dabei die Informationen über Dauer des Kontaktes und Stärke des Bluetooth-Signals aus, und berechnet daraus, ob ein Risiko für eine Ansteckung bestand. Die Parameter dafür (wie viele Minuten in welchem Abstand) legt der jeweilige Betreiber der App fest – nicht Google und Apple.
Was übernimmt das Betriebssystem?
Die Schnittstelle übernimmt, grob gesagt, folgende Funktionen:
- Aussenden von IDs per Bluetooth an Geräte in der Nähe und Empfangen von IDs von Geräten in der Nähe.
- Lokales Speichern der IDs auf dem Gerät.
- Auswerten der Information über Signalstärke und Betriebssystem um daraus den Abstand eines Gerätes zu schätzen.
- Sie fordert die aktive Zustimmung des Nutzers*der Nutzerin an, wenn eine Corona-Tracing-App zum ersten Mal auf die Schnittstelle zugreift, und wenn die App IDs auf den Server hochladen will.
Wer kann die Schnittstelle benutzen?
Apps, die auf die Schnittstelle zugreifen wollen, brauchen dafür eine Genehmigung von Google oder Apple. Momentan erlauben die beiden Konzerne den Zugang nur für Apps, die von offiziellen Gesundheitsbehörden eines Landes herausgegeben werden.
Apps können zudem nur auf die Schnittstelle zugreifen, wenn sie keine Berechtigung für den Zugriff auf den Standort abfragen. Beide Anbieter verbieten, dass die gesammelten Daten für Werbezwecke verwendet werden.
Datenschutz und Mitbestimmung
Die beiden Technik-Konzerne haben bei dem Design der neuen Schnittstelle erfreulich streng darauf geachtet, dass keine Informationen über die Nutzer*innen der Apps anfallen.
So erfahren Apple und Google lediglich, ob ein*e Nutzer*in die App installiert hat oder nicht. Wer in der Nähe von wem war, wird nur lokal auf dem Gerät ermittelt. Weder die Anbieter des Betriebssystems noch die Betreiber der App können somit ein Kontakt-Netzwerk rekonstruieren. Nutzer*innen können die Schnittstelle ganz deaktivieren und die eigenen IDs löschen.
Allerdings kann eine Corona-Tracing-App, die auf diese Schnittstelle zugreift, all diese Maßnahmen unterlaufen. Daher sind vollständige Transparenz bei Entwicklung, Betrieb und Finanzierung dieser Apps weiterhin eine Grundvoraussetzung.