In leven blijven: achtergrondtracering en de NHS COVID-19-app

Gepubliceerd bijgewerkt
Cover image for: In leven blijven: achtergrondtracering en de NHS COVID-19-app
  • De NHS COVID-19-app lijkt correct te werken wanneer deze op de achtergrond wordt uitgevoerd op iOS-apparaten, in tegenstelling tot de Australische COVIDSafe-app
  • De app voorkomt valse meldingen door gebruikers van symptomen te voorzien met een referentiecode: die code wordt vervolgens gekoppeld aan formele testresultaten voordat er actie wordt ondernomen
  • NHS COVID-19 instrueert gezondheidswerkers om Bluetooth op hun apparaat uit te zetten terwijl ze PBM dragen, en legt uit dat "uw interacties op het werk niet mogen worden vastgelegd wanneer u PBM draagt"
  • Update 0925 BST 7 mei : We hebben een "Hoe slaagt de app erin om effectief te blijven op de achtergrond?" hieronder, waarin wordt uitgelegd hoe de app erin slaagt in leven te blijven bij communicatie met Android-apparaten, en worden enkele van de uitdagingen en technieken voor iOS-naar-iOS-communicatie behandeld
  • Update 1145 BST 7 mei : We hebben een "Verzamelt de app persoonlijke gegevens en onthult mijn identiteit?" sectie hieronder.

Uitdagingen bij het traceren van contacten wanneer een app niet op het scherm wordt weergegeven

App-ontwikkelaars hebben weinig opties als het erom gaat apps 'levend' te houden als ze niet vooraan staan en niet centraal staan op het apparaat van een gebruiker. Apple beheert deze opties zorgvuldig om ervoor te zorgen dat apps de privacy van de gebruikers niet schenden of de batterijen van de gebruikers overmatig opraken. Ze maken met name onderscheid tussen de vraag of een app focus heeft , dat wil zeggen. het wordt weergegeven op het scherm - of wordt op de achtergrond uitgevoerd. Recente updates voor iOS hebben de mogelijkheid voor ontwikkelaars om toegang te krijgen tot gegevens op de achtergrond beperkt : voordat Uber bijvoorbeeld de verzameling op de achtergrond zo effectief kon beperken, kon Uber de bewegingen van een gebruiker volgen, zelfs als hij niet in een taxi zat.

Om op een zinvolle manier op de achtergrond te kunnen werken, moet de uitgever van een app toestemming krijgen van Apple wanneer deze wordt ingediend bij de App Store, door deze te markeren met een set " Achtergrondmodi ". Deze achtergrondmodi zijn beperkt voor gebruik bij het verzenden van video van het ene apparaat naar het andere, bij het verzamelen van locatie-updates, fungeren als telefoon of via Bluetooth. Met deze modi kunt u bijvoorbeeld uw telefoon AirPlay op de achtergrond laten uitvoeren, muziek afspelen zonder dat Spotify altijd wordt weergegeven, iemand bellen met WhatsApp en deze vervolgens op de achtergrond plaatsen of uw run op Strava volgen.

The NHS COVID-19 app
De NHS COVID-19-app

Deze modi zijn echter beperkt en gebruikers zijn mogelijk bekend met de iPhone-meldingen met de vraag of apps toegang tot uw locatie op de achtergrond moeten hebben. Zelfs wanneer een gebruiker deze machtigingen verleent, kan de telefoon doorgaan met het vragen om bevestiging dat dit de juiste beslissing is.

Contacttracing-apps zijn gebouwd met Bluetooth low-energy (BLE), waardoor apparaten elkaar eenvoudig kunnen herkennen. Theoretisch zijn de modi "Gebruikt Bluetooth LE-accessoires" en "Werkt als een Bluetooth LE-accessoire" Apple hiervoor ideaal en maken het gebruik van BLE op de achtergrond mogelijk. Hoewel een app op de achtergrond die deze modi gebruikt, kan blijven communiceren met alle BLE-apparaten waarmee hij al communiceert (zoals een Bluetooth smart-lock), kan hij de uitzendsnelheid naar poll-apparaten niet regelen die het nog niet eerder heeft gezien. Op de achtergrond maakt dit het moeilijker om naar tekenen van nieuwe apparaten te zoeken, er zinvol mee te communiceren en in het bijzonder om niet-Apple-apparaten te identificeren. Dit belemmert eerder contactopsporende apps die continu op de achtergrond moeten draaien.

Om Apple's documentatie over de dienst te citeren:

Alle service-UUID's [...] kunnen alleen worden ontdekt door een iOS-apparaat dat er expliciet naar scant. [... en voor] apps die adverteren op de achtergrond, kan de frequentie waarmee uw randapparaat reclamepakketten verstuurt, afnemen

Tijdelijke oplossingen en alternatieve benaderingen voor tracering

Dit is natuurlijk geen nieuwe uitdaging voor ontwikkelaars: ze proberen al lang methoden te vinden voor apps om op de achtergrond te blijven en beperkingen te verzamelen voor het traceren van gegevens . Frameworks zoals de open source AltBeacons zijn naar voren gekomen om dit aan te pakken, zijn niet haalbaar voor contacttracering waarbij een apparaat continu op zoek moet zijn naar nieuwe apparaten. Zoals ABC in Australië ontdekte , was er bij het bekijken van hun nationale COVIDSafe-app geen praktische oplossing voor. Er zijn enkele exploits die tijdelijk nuttig kunnen zijn - zoals het registreren van de app als audiospeler en deze muziek laten spelen - maar deze en andere exploits van deze aard worden door Apple afgekeurd, zijn ongemakkelijk voor gebruikers en geven zelden goedkeuring door aan de App Winkel.

Ondertussen heeft Apple voorbereidingen getroffen om iOS 13.5 uit te brengen , dat momenteel beschikbaar is in bèta. Apple kan wijzigingen aanbrengen in hun eigen systeem die op deze manier voordelig zijn voor tracking. 13.5 introduceert een aantal meer voor de hand liggende functies - zoals ondersteuning voor FaceID voor gebruikers die een masker dragen , of op zijn minst een snellere route om een toegangscode in te voeren - en enkele minder voor de hand liggende functies, zoals het ExposureNotification raamwerk dat precies mogelijk maakt wat de contactpersoon tracing apps nodig. Dit zal natuurlijk niet leiden tot het perfecte systeem: niet elke gebruiker zal hiervan kunnen profiteren, aangezien apparaten zoals de iPhone 6 (2015) iOS 13 niet kunnen draaien, terwijl het Apple-systeem een wereldwijde standaard gebruikt ID, elk land dat het implementeert, gebruikt een siled nationale database. Dus als een besmette Europeaan uit het ene land wordt blootgesteld aan een burger uit een ander Europees land, zullen ze dit niet ontdekken door contactopsporing.

Apple's COVID-19 ExposureNotification biedt een oplossing voor wat hier nodig is, maar er zijn kanttekeningen. Het belangrijkste is dat Apple heeft aangegeven dat alleen hun app er gebruik van kan maken om misbruik van de technologie door anderen te voorkomen.

Dus hoe doen de NHS het met hun COVID-19-app ?

Hoe kan de Britse NHS COVID-19 dan effectief nieuwe apparaten opsporen terwijl ze op de achtergrond zijn, zonder 'in slaap te vallen' (technisch gezien 'opgeschort' te worden) en zo ondoeltreffend te worden gemaakt? Uit onze tests met versie 1.0.1b341 van de app "NHS COVID-19" kunnen we zien dat deze inderdaad effectief op de achtergrond communiceert. Het lijkt erop dat dit wordt gedaan door middel van een reeks slimme oplossingen met behulp van keepalives en meldingen. Als u de app geforceerd afsluit, wordt het traceren op de achtergrond gestopt, maar als de telefoon in plaats daarvan wordt uitgeschakeld en weer wordt ingeschakeld, blijft deze op de achtergrond correct communiceren. Deze oplossing kan wel of niet in strijd zijn met Apple, maar op dit moment is het niet bekendgemaakt en heeft Apple de builds van de app goedgekeurd die ze tot nu toe hebben gezien.

We blijven dit onderzoeken en zullen meer details publiceren naarmate de zaken zich ontwikkelen.

Slaat de NHS COVID-19-app gevoelige gegevens op?

Nee. De app lijkt erg goed in elkaar gezet, met verstandige beveiligingsmethoden en zonder opslag van onnodige gegevens. Het draait om een linkingId die wordt gegenereerd voor elke installatie van de app. Deze ID blijft bestaan tijdens de installatie van de app, dus als u de app verwijdert en opnieuw installeert, wordt de ID niet gereset.

Als we gegevens van de app bekijken met behulp van iPhone Backup Extractor onder het pad uk.nhs.nhsx.sonar , kunnen we zien dat er een reeks bestanden is gekoppeld aan Google Firebase en een verzameling kleine plists (configuratiebestanden) voor de rest van de app's gegevens.

Looking at the NHS COVID-19 app’s files in a backup
Kijken naar de bestanden van de NHS COVID-19-app in een back-up

Kunnen gebruikers ten onrechte zelf melden dat ze COVID-19 hebben?

Als een gebruiker symptomen meldt, biedt de app een nummer om te bellen om een test te regelen, samen met een referentiecode. Het idee is dat het testresultaat vervolgens wordt gekoppeld aan de referentiecode van de gebruiker. Als een gebruiker de symptomen ten onrechte zou melden, zou de bevestiging niet plaatsvinden zonder dat de NHS het testresultaat bijwerkt om overeen te komen met de gebruikerscode.

Vraagt de app locatierechten aan?

Nee dat doet het niet.

Heeft de NHS het publiek misleid over het gebruik van Google API's?

Nee. De NHS COVID-19-app is diep geïntegreerd met de industriestandaard Firebase API van Google voor gegevensopslag en -beheer. (De NHS maakt geen gebruik van het contacttraceringskader van Google of Apple; afgezien van al het andere is dit pas beschikbaar vanaf de release van iOS 13.5.)

Met welke services communiceert de app?

Net als bij de Android-app wordt alle materiële communicatie doorgevoerd naar de NHS 'COVID19 API, gehost onder *.covid19.nhs.uk . De app doet een paar andere verzoeken als gevolg van het gebruik van de AppCenter-service van Microsoft , maar geen enkele is materieel of gevoelig.

Als NHS-medewerkers de app gebruiken, leidt dit dan niet tot false positives?

De app vraagt gezondheidswerkers om Bluetooth op hun apparaten uit te schakelen tijdens het dragen van persoonlijke beschermingsmiddelen, met de vermelding "uw interacties op het werk mogen niet worden vastgelegd wanneer u persoonlijke beschermingsmiddelen draagt".

The NHS COVID-19 app's PPE Bluetooth prompt
De PPE Bluetooth-prompt van de NHS COVID-19-app


We zijn verheugd om een diepere duik te nemen in de COVID-19-app van de NHS. Hoewel er veel gespeculeerd wordt over de functionaliteit, hebben we een goed gebouwde en veilige app gezien. De tracering op de achtergrond lijkt te werken, hoewel het grotendeels in de controle van Apple blijft of dit effectief zal blijven. Als gevolg hiervan ligt de effectiviteit van de Britse reactie op COVID-19 nu ook onder controle van Apple.

De keuze om het alleen te doen of het raamwerk van Apple te gebruiken, zal een uitdaging zijn geweest. Het voorbeeld van Apple volgen zou waarschijnlijk een minder controversiële keuze zijn geweest. IOS 13.5 is echter nog niet live, terwijl de Britse app morgen in bèta wordt uitgebracht en er is niets dat het VK ervan weerhoudt om Apple te volgen in volgende updates. Door die lens gezien - waarom zou u niet eerst een proef op het Isle of Wight verzenden?


Hoe slaagt de app erin om op de achtergrond effectief te blijven?

We hebben dit antwoord 0925 BST, 7 mei, toegevoegd om vragen te beantwoorden die we hebben ontvangen over de specifieke kenmerken van de app die in leven blijft. NHSX heeft een paar slimme technieken gebruikt om de resultaten hier te verbeteren.

The Sun meldde gisteravond dat de app privé Bluetooth-API's gebruikt, maar we hebben hier geen tekenen van gezien en sindsdien hebben ze hun verhaal aangepast om deze bewering in te trekken. De NHS COVID-19-app maakt gebruik van openbare Bluetooth-API's binnen iOS en lijkt niet te profiteren van speciale privileges. In plaats daarvan zijn er enkele slimme technieken.

De eerste techniek is een reactie op het Bluetooth-gedrag van iOS voor opgeschorte apps. We merkten op dat Apple verandert hoe een app kan scannen naar nieuwe apparaten wanneer deze is opgeschort. Opgeschorte apps kunnen apparaten die ze nog niet eerder hebben gezien niet correct herkennen. Zoals we hierboven schreven, is het "moeilijker om te zoeken naar tekenen van nieuwe apparaten, om er zinvol mee te communiceren, en met name om niet-Apple-apparaten te identificeren".

NHSX benaderde de uitdaging van niet-Apple-apparaten andersom: omdat ze zich realiseerden dat ze geen invloed hadden op wat iOS in dit opzicht deed, hebben ze slimme dingen in hun Android-app gebouwd om de beperkte, Apple-specifieke berichten te herkennen die een app op de achtergrond heeft op een iOS-apparaat zou verzenden. Dit geeft het Android-apparaat voldoende informatie om met het iOS-apparaat te kunnen praten, waardoor het weer wakker wordt in een staat waarin ze kunnen communiceren.

De situatie zonder iOS is een beetje anders; er is een drempel waarbij de NHS COVID-19-app stil kan worden als hij een tijdje op de achtergrond wordt gelaten, en apparaatlogboeken laten voorbeelden hiervan zien. In dit geval is de app naar de achtergrond geduwd, maar kan deze gedurende anderhalf uur blijven scannen (technisch gezien "uitzenden"). Andere gebeurtenissen op de telefoon, waaronder andere apps die Bluetooth gebruiken, kunnen dit uitbreiden.

Sessie uk.nhs.nhsx.sonar-perifere-11919-319 kan gedurende 6240 seconden op de achtergrond adverteren

Als gevolg hiervan is het niet mogelijk om te zeggen "de app wordt na X-periode niet meer effectief in iOS-naar-iOS-communicatie": er is een genereus variabel venster dat de app in leven moet blijven, en een aantal redelijke factoren die kunnen activeren dit venster wordt uitgebreid, inclusief ander gebruik van Bluetooth, de aanwezigheid van Android-apparaten en de effectiviteit van meldingen.

Er zijn enkele minder vaak voorkomende situaties waarin iOS kan proberen een achtergrond-app volledig op te schorten, bijvoorbeeld wanneer het systeem weinig geheugen heeft. Wanneer dit gebeurt, wordt de betrouwbaarheid van de service aangetast. De app probeert dit aan te pakken door een pushmelding te genereren waarin gebruikers wordt gevraagd de app opnieuw te openen, maar dit werkt niet altijd, afhankelijk van de status van het apparaat. In onze tests bleven de iOS-apparaten waarop we de app hebben uitgevoerd de achtergrondservice 's nachts draaien.


Verzamelt de app persoonlijke gegevens en onthult mijn identiteit?

We hebben dit antwoord 1145 BST, 7 mei, toegevoegd om vragen te beantwoorden die we hebben ontvangen over het verzamelen en verzenden van gegevens door de app

De iOS-app legt echt heel weinig gegevens vast: het draait allemaal om hun linkingId . Dat kon alleen aan een persoon worden gekoppeld als ze symptomen meldden en een test met de NHS hadden geregeld met behulp van die ID.

Een positief testresultaat dat wordt gecodeerd tegen een ID, is in feite wat het traceeralarm uitschakelt. De vraag is dan of de NHS de op het moment van testen verzamelde gegevens centraal naast die ID zou opslaan. Dit zou niet nodig zijn om de app te laten werken en is niet inherent aan de app. Zoals we eerder schreven, heeft de app geen toegang tot locatiegegevens na de eerste paar cijfers van de postcode van een gebruiker (die door de gebruiker zijn ingevoerd bij het instellen en niet zijn gevalideerd.)

De vraag hier gaat dan niet over wat de app opslaat: het gaat erom welke informatie de NHS opvraagt bij het boeken van een test en hoe die informatie wordt opgeslagen.

Als een gebruiker symptomen zou rapporteren en geen test zou regelen (of een test zou regelen zonder hun ID op te geven), zou er absoluut geen manier zijn om de twee soorten informatie te koppelen. In dit extreme scenario zou dit natuurlijk ook voorkomen dat de app waarschuwt als de gebruiker COVID-19 had.

We blijven dit onderzoeken en zullen meer details publiceren naarmate de zaken zich ontwikkelen.

Comments (1)

I am on IOW. The app does require Location Services. Very surprised as every description, including yours, says that it does not

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.


Kunnen we dit artikel verbeteren?

We horen graag van gebruikers: Stuur ons een e-mail, laat een reactie achter of stuur een tweet @reincubate?

© 2008 - 2020 Reincubate Ltd. Alle rechten voorbehouden. Geregistreerd in Engeland en Wales #5189175, VAT GB151788978. Reincubate en Camo zijn handelsmerken. Privacybeleid & termen. Wij bevelen 2FA aan. Gebouwd met in Londen.