Am Leben bleiben: Hintergrundverfolgung und die NHS COVID-19 App
- Die NHS COVID-19-App scheint im Gegensatz zur australischen COVIDSafe-App im Hintergrund auf iOS-Geräten ordnungsgemäß zu funktionieren
- Die App verhindert falsche Berichte, indem sie den Benutzern Symptome mit einem Referenzcode zur Verfügung stellt: Dieser Code wird dann mit formalen Testergebnissen verknüpft, bevor Maßnahmen ergriffen werden
- NHS COVID-19 weist die Mitarbeiter des Gesundheitswesens an, Bluetooth auf ihrem Gerät auszuschalten, während sie PSA tragen, und erklärt: „Ihre Interaktionen bei der Arbeit sollten nicht erfasst werden, wenn Sie PSA tragen.“
- Update 0925 BST 7. Mai : Wir haben ein "Wie schafft es die App, im Hintergrund effektiv zu bleiben?" Hinzugefügt. Im folgenden Abschnitt wird erläutert, wie die App bei der Kommunikation mit Android-Geräten am Leben bleibt, und einige der Herausforderungen und Techniken für die Kommunikation von iOS zu iOS behandelt
- Update 1145 BST 7. Mai : Wir haben ein "Sammelt die App persönliche Daten und enthüllt meine Identität?" Hinzugefügt. Abschnitt unten.
Herausforderungen bei der Kontaktverfolgung, wenn eine App nicht auf dem Bildschirm angezeigt wird
App-Entwickler haben nur wenige Möglichkeiten, Apps am Leben zu erhalten, wenn sie nicht im Vordergrund stehen und sich auf das Gerät eines Benutzers konzentrieren. Apple verwaltet diese Optionen sorgfältig, um sicherzustellen, dass Apps nicht in die Privatsphäre der Benutzer eingreifen oder die Batterien der Benutzer übermäßig entladen. Insbesondere unterscheiden sie, ob eine App den Fokus hat - dh. Es wird auf dem Bildschirm angezeigt - oder läuft im Hintergrund. Jüngste Updates für iOS haben die Möglichkeit für Entwickler eingeschränkt, im Hintergrund auf Daten zuzugreifen: Bevor Uber beispielsweise die Hintergrundsammlung so effektiv einschränken konnte, konnte er die Bewegungen eines Benutzers verfolgen, auch wenn er sich nicht in einer Kabine befand.
Um im Hintergrund sinnvoll ausgeführt zu werden, muss der Publisher einer App bei der Übermittlung an den App Store die Erlaubnis von Apple einholen, indem er sie mit einer Reihe von „ Hintergrundmodi “ markiert. Diese Hintergrundmodi können nur eingeschränkt übertragen werden, wenn Videos von einem Gerät auf ein anderes übertragen, Standortaktualisierungen erfasst, als Telefon verwendet oder Bluetooth verwendet werden. In diesen Modi kann Ihr Telefon beispielsweise AirPlay im Hintergrund ausführen, Musik abspielen, ohne dass Spotify immer angezeigt wird, jemanden mit WhatsApp anrufen und dann in den Hintergrund stellen oder Ihren Lauf auf Strava verfolgen.
Diese Modi sind jedoch begrenzt, und Benutzer sind möglicherweise mit den iPhone-Benachrichtigungen vertraut, in denen sie gefragt werden, ob Apps im Hintergrund auf Ihren Standort zugreifen dürfen. Selbst wenn ein Benutzer diese Berechtigungen erteilt, fordert das Telefon möglicherweise weiterhin eine Bestätigung an, dass dies das Richtige ist.
Kontaktverfolgungs-Apps werden mit Bluetooth Low Energy (BLE) erstellt, mit dem sich Geräte - einfach ausgedrückt - gegenseitig erkennen können. Theoretisch sind die Modi „Verwendet Bluetooth LE-Zubehör“ und „Dient als Bluetooth LE-Zubehör“ von Apple dafür ideal und ermöglichen die Verwendung von BLE im Hintergrund. Eine Hintergrund-App, die diese Modi verwendet, kann zwar weiterhin mit allen BLE-Geräten kommunizieren, mit denen sie bereits kommuniziert (z. B. einem Bluetooth-Smartlock), kann jedoch die Übertragungsrate an Abfragegeräte nicht steuern dass es noch nie gesehen hat. Im Hintergrund ist es schwieriger, nach Anzeichen neuer Geräte zu suchen, mit ihnen sinnvoll zu kommunizieren und insbesondere Geräte zu identifizieren, die nicht von Apple stammen. Dies behindert eher Kontaktverfolgungs-Apps, die kontinuierlich im Hintergrund ausgeführt werden müssen.
So zitieren Sie die Dokumentation von Apple zum Service :
Alle Dienst-UUIDs [...] können nur von einem iOS-Gerät erkannt werden, das explizit nach ihnen sucht. [... und für] Apps, die Werbung im Hintergrund sind, kann die Häufigkeit, mit der Ihr Peripheriegerät Werbepakete sendet, abnehmen
Problemumgehungen und alternative Ansätze für die Rückverfolgung
Dies ist natürlich keine neue Herausforderung für Entwickler: Sie haben lange versucht, Methoden zu finden, mit denen Apps im Hintergrund bleiben und Einschränkungen bei der Ablaufverfolgung von Daten sammeln können . Frameworks wie die Open-Source- AltBeacons wurden entwickelt, um dies zu beheben. Sie sind für die Kontaktverfolgung nicht geeignet , wenn ein Gerät ständig nach neuen Geräten suchen muss. Wie ABC in Australien feststellte, gab es bei der Betrachtung der nationalen COVIDSafe-App keine praktische Lösung dafür. Es gibt einige Exploits, die vorübergehend nützlich sein könnten - wie das Registrieren der eigenen App als Audio-Player und das Abspielen von Musik -, aber diese und andere Exploits dieser Art werden von Apple verpönt, sind für Benutzer unangenehm und geben nur selten die Genehmigung an die Appstore.
In der Zwischenzeit hat Apple die Veröffentlichung von iOS 13.5 vorbereitet, das derzeit in der Beta-Version verfügbar ist. Apple kann Änderungen an seinem eigenen System vornehmen, die für die Nachverfolgung auf diese Weise von Vorteil sind. 13.5 wird eine Reihe offensichtlicherer Funktionen einführen - wie die Unterstützung von FaceID für Benutzer , die eine Maske tragen , oder zumindest einen schnelleren Weg zur Eingabe eines Passcodes - und einige weniger offensichtliche Funktionen, wie das ExposureNotification
Framework, das genau das ermöglicht, was der Kontakt tut Tracing-Apps benötigen. Dies führt natürlich nicht zu einem perfekten System: Nicht jeder Benutzer kann dies nutzen, da Geräte wie das iPhone 6 (2015) iOS 13 nicht ausführen können. Das Apple-System verwendet jedoch einen globalen Standard Kennung, jedes Land, das es implementiert, verwendet eine isolierte nationale Datenbank. Wenn ein infizierter Europäer aus einem Land einem Bürger aus einem anderen europäischen Land ausgesetzt ist, wird er dies nicht durch Kontaktverfolgung entdecken .
Apples COVID-19 ExposureNotification
bietet eine Lösung für das, was hier benötigt wird, aber es gibt Vorbehalte. Vor allem hat Apple angegeben, dass nur die App davon Gebrauch machen kann, um einen Missbrauch der Technologie durch andere zu verhindern.
Wie macht der NHS das mit seiner COVID-19-App ?
Wie kann der britische NHS COVID-19 dann im Hintergrund effektiv neue Geräte verfolgen, ohne „einzuschlafen“ (technisch „suspendiert“) und damit unwirksam zu werden? Aus unseren Tests mit Version 1.0.1b341
der App „NHS COVID-19“ geht hervor, dass im Hintergrund tatsächlich effektiv kommuniziert wird. Es scheint, dass dies durch die Verwendung einer Reihe cleverer Problemumgehungen mithilfe von Keepalives und Benachrichtigungen erreicht wird. Durch erzwungenes Beenden der App wird die Hintergrundverfolgung gestoppt. Wenn das Telefon jedoch aus- und wieder eingeschaltet wird, wird es im Hintergrund weiterhin ordnungsgemäß kommunizieren. Diese Problemumgehung kann Apple zuwiderlaufen oder auch nicht, aber zu diesem Zeitpunkt wurde sie noch nicht bekannt gegeben, und Apple hat die Builds der App genehmigt, die sie bisher gesehen haben.
Wir werden uns weiterhin damit befassen und werden im Laufe der Entwicklung weitere Details veröffentlichen.
Speichert die NHS COVID-19-App vertrauliche Daten?
Nein. Die App scheint sehr gut zusammengestellt zu sein, unter Verwendung vernünftiger Sicherheitspraktiken und ohne Speicherung unnötiger Daten. Es dreht sich um eine linkingId
, die für jede Installation der App generiert wird. Diese ID bleibt während der Installation der App erhalten, sodass bei der Deinstallation und Neuinstallation die ID nicht zurückgesetzt wird.
Wenn Sie Daten aus der App mit dem iPhone Backup Extractor unter dem Pfad uk.nhs.nhsx.sonar
, sehen Sie, dass eine Reihe von Dateien mit Google Firebase gekoppelt sind und eine Sammlung kleiner Plists (Konfigurationsdateien) für den Rest der App Daten.
Können Benutzer fälschlicherweise selbst melden, dass sie COVID-19 haben?
Wenn ein Benutzer Symptome meldet, bietet die App eine Nummer zum Anrufen, um einen Test zu arrangieren, sowie einen Referenzcode. Die Idee ist, dass das Testergebnis dann dem Referenzcode des Benutzers zugeordnet wird. Würde ein Benutzer Symptome fälschlicherweise melden, würde eine Bestätigung nicht erfolgen, ohne dass der NHS das Testergebnis so aktualisiert, dass es mit dem Code des Benutzers übereinstimmt.
Fordert die App Standortberechtigungen an?
Nein, tut es nicht.
Hat der NHS die Öffentlichkeit über die Verwendung von Google APIs in die Irre geführt?
Nein. Die NHS COVID-19-App ist tief in die branchenübliche Firebase-API von Google für die Speicherung und Verwaltung von Daten integriert. (Der NHS verwendet weder das Kontaktverfolgungs-Framework von Google noch von Apple. Abgesehen von allem anderen wird dieses Framework erst mit der Veröffentlichung von iOS 13.5 verfügbar sein.)
Mit welchen Diensten kommuniziert die App?
Wie bei der Android-App erfolgt die gesamte Materialkommunikation über die COVID19-API des NHS, die unter *.covid19.nhs.uk
gehostet *.covid19.nhs.uk
. Die App stellt aufgrund der Verwendung des AppCenter-Dienstes von Microsoft einige andere Anforderungen, jedoch keine, die wesentlich oder vertraulich sind.
Wenn NHS-Mitarbeiter die App verwenden, führt dies dann nicht zu Fehlalarmen?
Die App fordert Mitarbeiter des Gesundheitswesens auf, Bluetooth auf ihren Geräten zu deaktivieren, während sie PSA tragen, und gibt an, dass „Ihre Interaktionen bei der Arbeit nicht erfasst werden sollten, wenn Sie persönliche Schutzausrüstung tragen“.
Wir haben uns gefreut, tiefer in die COVID-19-App des NHS einzutauchen. Obwohl viel über die Funktionalität spekuliert wurde, haben wir eine gut gebaute und sichere App gesehen. Die Hintergrundverfolgung scheint zu funktionieren, obwohl Apple weiterhin die Kontrolle darüber hat, ob dies weiterhin effektiv sein wird. Infolgedessen liegt die Wirksamkeit der britischen Reaktion auf COVID-19 nun auch in der Kontrolle von Apple.
Die Entscheidung, alleine zu gehen oder das Apple-Framework zu verwenden, war eine Herausforderung. Apples Führung zu folgen wäre wahrscheinlich eine weniger kontroverse Entscheidung gewesen. IOS 13.5 ist jedoch noch nicht live, während die britische App morgen in der Beta-Version veröffentlicht wird, und nichts hindert Großbritannien daran, Apple in späteren Updates zu folgen. Durch diese Linse gesehen - warum nicht zuerst einen Versuch auf der Isle of Wight versenden?
Wie schafft es die App, im Hintergrund effektiv zu bleiben?
Wir haben diese Antwort 0925 BST, 7. Mai, hinzugefügt, um Fragen zu beantworten, die wir zu den Besonderheiten der App erhalten haben, die am Leben bleibt. NHSX hat einige intelligente Techniken eingesetzt, um hier bessere Ergebnisse zu erzielen.
The Sun berichtete gestern Abend, dass die App private Bluetooth-APIs verwendet, aber wir haben keine Anzeichen dafür gesehen und seitdem haben sie ihre Geschichte geändert, um diese Behauptung zurückzuziehen. Die NHS COVID-19-App verwendet öffentliche Bluetooth-APIs unter iOS und scheint keine besonderen Berechtigungen zu nutzen. Stattdessen gibt es einige clevere Techniken.
Die erste Technik reagiert auf das Bluetooth-Verhalten von iOS für angehaltene Apps. Wir haben festgestellt, dass Apple ändert, wie eine App nach angehaltenen Geräten nach neuen Geräten suchen kann. Angehaltene Apps können Geräte, die sie zuvor noch nicht gesehen haben, nicht richtig erkennen. Wie wir oben geschrieben haben, ist es „schwieriger, nach Anzeichen neuer Geräte zu suchen, mit ihnen sinnvoll zu kommunizieren und insbesondere Geräte zu identifizieren, die nicht von Apple stammen“.
NHSX ging die Herausforderung eines Nicht-Apple-Geräts umgekehrt an: Als sie erkannten, dass sie nicht beeinflussen konnten, was iOS in dieser Hinsicht tat, haben sie in ihrer Android-App clevere Dinge eingebaut, um die eingeschränkten, Apple-spezifischen Nachrichten einer Hintergrund-App zu erkennen auf einem iOS-Gerät würde senden. Dies gibt dem Android-Gerät genügend Informationen, um mit dem iOS-Gerät kommunizieren zu können, und weckt es wieder in einen Zustand, in dem es kommunizieren kann.
Die Situation ohne iOS ist etwas anders; Es gibt einen Schwellenwert, bei dem die NHS COVID-19-App leise werden kann, wenn sie für einen bestimmten Zeitraum im Hintergrund bleibt. Geräteprotokolle zeigen Beispiele dafür. In diesem Fall wurde die App in den Hintergrund verschoben, kann jedoch über anderthalb Stunden lang weiter scannen (technisch „Broadcast“). Andere Ereignisse auf dem Telefon - einschließlich anderer Apps, die Bluetooth verwenden - können dies erweitern.
Die Sitzung uk.nhs.nhsx.sonar-peripher-11919-319 kann 6240 Sekunden lang im Hintergrund werben
Infolgedessen kann nicht gesagt werden, dass die App in der Kommunikation von iOS zu iOS nach X Zeit unwirksam wird. Es gibt ein großzügiges variables Fenster, in dem die App am Leben bleiben muss, und eine Reihe vernünftiger Faktoren, die dies können Auslösen, dass dieses Fenster erweitert wird, einschließlich anderer Verwendung von Bluetooth, Vorhandensein von Android-Geräten und Wirksamkeit von Benachrichtigungen.
Es gibt einige weniger häufige Situationen, in denen iOS möglicherweise versucht, eine Hintergrund-App vollständig auszusetzen, z. B. wenn dem System der Arbeitsspeicher ausgeht. In diesem Fall wird die Zuverlässigkeit des Dienstes beeinträchtigt. Die App versucht, dies zu beheben, indem sie eine Push-Benachrichtigung auslöst, in der Benutzer aufgefordert werden, die App erneut zu öffnen. Dies funktioniert jedoch je nach Status des Geräts nicht immer. In unseren Tests haben die iOS-Geräte, auf denen wir die App ausgeführt haben, den Hintergrunddienst weiterhin über Nacht ausgeführt.
Sammelt die App persönliche Daten und enthüllt meine Identität?
Wir haben diese Antwort 1145 BST, 7. Mai, hinzugefügt, um Fragen zu beantworten, die wir zur Erfassung und Übertragung von Daten durch die App erhalten haben
Die iOS-App erfasst wirklich sehr wenig Daten: Es geht nur um ihre linkingId
. Das konnte nur an eine Person gebunden werden, wenn sie Symptome meldete und einen Test mit dem NHS unter Verwendung dieser ID arrangierte.
Ein positives Testergebnis, das gegen eine ID codiert wird, löst effektiv den Verfolgungsalarm aus. Die Frage ist dann, ob der NHS die zum Zeitpunkt des Tests gesammelten Personendaten neben dieser ID zentral speichern würde. Dies wäre für die Funktion der App nicht erforderlich und gehört nicht zur App. Wie bereits erwähnt, hat die App keinen Zugriff auf Standortdaten, die über die ersten Ziffern der Postleitzahl eines Benutzers hinausgehen (die vom Benutzer beim Setup eingegeben und nicht validiert werden).
Die Frage hier ist dann nicht, was die App speichert: Es geht darum, welche Informationen der NHS bei der Buchung eines Tests anfordert und wie diese Informationen gespeichert werden.
Wenn ein Benutzer Symptome melden und keinen Test arrangieren würde (oder einen Test ohne Angabe seiner ID arrangieren würde), wäre es absolut unmöglich, die beiden Arten von Informationen zu verknüpfen. In diesem extremen Szenario würde dies natürlich auch verhindern, dass die App alarmiert, wenn der Benutzer COVID-19 hat.
Wir werden uns weiterhin damit befassen und werden im Laufe der Entwicklung weitere Details veröffentlichen.
von richard atterbury
I am on IOW. The app does require Location Services. Very surprised as every description, including yours, says that it does not
antworten Sie mit: Reincubate Support
Hi Richard, thanks for your comment! The way the app gets access to Bluetooth on Android is confusing; its request for access makes it appear it's also requesting location access. We detail what's going on with that here — in short, it's a limitation of Android that appears misleading.