Exposure Notification

Aus testwiki
Zur Navigation springen Zur Suche springen

Das Exposure Notification Framework (ENF; Vorlage:DeS; auch Google/Apple Exposure Notification, GAEN[1]) ist ein von Apple und Google entwickeltes System, dessen Ziel die Reduzierung der Verbreitung von COVID-19 durch Contact-Tracing ist.[2][3][4] Es stellt eine Programmierschnittstelle (API) bereit, über das offizielle Regierungsstellen wie Gesundheitsbehörden beziehungsweise von diesen beauftragte Dritte auf bereitgestellte Funktionen zugreifen können.[3][5] Das ENF ist auf Betriebssystemebene in iOS und die Google-Play-Dienste eingebunden und ermöglicht den Austausch von Zufallsschlüsseln über Bluetooth Low Energy (BLE).[6]

Funktionsweise

Die hier beschriebene Funktionsweise des ENF basiert auf den Spezifikationen zur Kryptografie in der Version 1.2.[7]

Zu Beginn des Key Schedules wird ein Temporary Exposure Key (teki) – ein 16-Byte-Schlüssel – mit einem Cryptographic Random Number Generator (CRNG) generiert. Generierte teki wechseln täglich und umfassen jeweils TEKRollingPeriod:=144 ca. zehn-minütige Zeitintervalle der Form ENIntervalNumber(z)=Zeitstempel60×10 mit Zeitangabe in Unixzeit. Die teki werden jeweils mit dem Startintervall i=ENIntervalNumber(Startzeitpunkt)TEKRollingPeriod×TEKRollingPeriod assoziiert. Das ENF speichert die letzten 14 teki auf dem Endgerät ab.[7]

Durch RPIKi=HKDFi(teki,NULL,UTF8(ENRPIK),16) und AEMKi=HKDFi(teki,NULL,UTF8(ENAEMK),16) ergeben sich die mit HKDF abgeleiteten Schlüssel Rolling Proximity Identifier Key (RPIKi) und Associated Encrypted Metadata Key (AEMKi). Für jedes der 144 zehn-minütigen Zeitintervalle können unter Verwendung des Advanced Encryption Standard (AES) durch RPIi,j=AES128(RPIKi,PaddedDataj)Rolling Proximity Identifier (RPIi,j) gebildet werden. PaddedDataj besteht dabei aus UTF8(ENRPI), 0x000000000000 sowie ENIntervalNumber(j) mit j als Zeitpunkt der RPIi,j-Erzeugung. Der RPIi,j fließt dann als Initialisierungsvektor in die Verschlüsselung von Bluetooth-Daten wie der Protokollversion und Signalstärke mit AES im Counter Mode. Durch AEMi,j=AES128CTR(AEMKi,RPIi.j,Metadaten) entsteht die Associated Encrypted Metadata (AEMi,j). RPIi,j und AEMi,j wechseln parallel zur zufälligen BLE MAC-Adresse.[7][8]

Die entstandenen RPIi,j und AEMi,j werden in einem Broadcast via Bluetooth an Geräte in der Umgebung verschickt. Zudem empfängt das Endgerät selbst die RPIi,j und AEMi,j anderer Geräte, die das ENF nutzen, und speichert diese ab.[7]

Liegt ein bestätigtes positives Ergebnis eines COVID-19-Tests vor, können die teki der letzten 14 Tage mit den zugehörigen i als Diagnosis Keys zu einem designierten Server hochgeladen werden, welcher die Schlüssel verwaltet und den Clients zur Verfügung stellt.[7]

Die Clients können die Diagnosis Keys herunterladen und über die aufgeführten Schritte die RPIi,j infizierter Personen generieren. Durch einen Vergleich der so generierten RPIi,j mit den über Bluetooth gesammelten RPIi,j lässt sich ermitteln, ob eine Übereinstimmung vorliegt. Ist dies der Fall, liegt ein Risikokontakt vor und die zugehörige AEMi,j wird entschlüsselt, um eine Risikoeinschätzung zu ermöglichen.[7]

Einstellung

Mitte Oktober 2023 hat Google das ENF aus Android entfernt. Die Änderung wurde mit Google Play Version 23.42 eingeführt.[9]

Einzelnachweise