Historien om Smittestopp, fra innsida: - Personvern handler om tekniske valg

Les Johannes Brodwalls post mortem av "appen som skulle redde Norge". - Min helt gjennom historien er FHI.

Smittestopp har blitt stanset to ganger nå, og vært utgitt i to ulike utgaver. Hva gikk egentlig galt? Og hva kan vi lære av det? 📸: Ole Petter Baugerød Stokke
Smittestopp har blitt stanset to ganger nå, og vært utgitt i to ulike utgaver. Hva gikk egentlig galt? Og hva kan vi lære av det? 📸: Ole Petter Baugerød Stokke Vis mer

For litt over to år siden fikk over en million nordmenn en SMS med følgende melding:

"Vi har fått varsel fra Datatilsynet om at de legger ned midlertidig forbud mot å behandle personopplysninger i Smittestopp-appen. Derfor stanser vi inntil videre all innsamling fra appen. Mvh Folkehelseinstituttet"

Statsministeren hadde lansert appen på en nasjonal pressekonferanse bare to måneder før. Dette er i seg selv ganske dramatisk. Og for bare to uker siden ble en app med samme navn lagt ned for andre gang.

Har du installert appen Smittstopp? Dersom om du åpnet appen sist onsdag ville du se meldingen:

"Smittestopp er nedlagt og du kan slette appen fra telefonen din."

Appen fikk mye oppmerksomhet i Norge og jeg har vært heldig nok til å ha fulgt hele historien fra tribuneplass.

Historien om Smittestopp viser oss at personvern og teknologi ikke eksisterer uavhengig av hverandre som mange synes å tro, men er vevd tett sammen. Når FHI tok hensyn til helheten av teknologi, personvern, sikkerhet og funksjonalitet kunne de levere et produkt der disse hensynene ikke ble motsetninger, men faktisk styrket hverandre.

Johannes Brodwall har fulgt utviklingen av Smittestopp blant annet som en del av fagrådet. 📸: Ole Petter Baugerød Stokke
Johannes Brodwall har fulgt utviklingen av Smittestopp blant annet som en del av fagrådet. 📸: Ole Petter Baugerød Stokke Vis mer

Et løfte om en slutt på pandemien

Historien om Smittestopp starter tidlig mars 2020, selv før lock down er et faktum i Norge.

Simula Research Laboratory mottar en forhåndspublikasjon av en akademisk artikkel som skal publiseres i Science - Christoph Frasier med flere: “Quantifying SARS-CoV-2 transmission suggests epidemic control with digital contact tracing”.

Bak den vektige tittelen ligger et enkelt budskap: Pandemi? There’s an app for that! Artikkelen anslår at en app kan være nok til å bringe R-tallet for korona under 1.0. Det vil si at det ikke lenger vil være en pandemi.

Argumentasjonen er basert på en modell som tar inn tall for utbredelse av en eventuell app, andel falske positive og falske negative varsler. Modellen omfatter ikke analyse av teknisk implementasjon, men legger til grunn en viss utbredelse av smitte og en viss effektivitet av den foreslåtte modellen.

Det første landet som lanserer en slik app er Israel med appen HaMagen og Singapore med BlueTrace. HaMagen bruker GPS, er open source og er basert på React Native, mens BlueTrace er som navnet tilsier basert på Bluetooth. Begge er desentraliserte (vi kommer tilbake til hva det betyr).

Omtaler av BlueTrace fokuserer tidlig på et problem som også vil plage den første versjonen av Smittestopp. Jeg kommer kort i kontakt med helsemyndigheter i mars/april: De har oppdaget at iOS skrur av kritiske Bluetooth-funksjonen når brukeren skrur av skjermen, og spør teknologimiljøer i Norge om det finnes en løsning. Vi har ikke en løsning til dem, men ber dem i dialogen om å ta personvern alvorlig.

«Arkitekturen er slik du ville designet en smittesporingsapp under hastverk.»

App under hastverk

Frem til lanseringen 16. april blir arkitekturen til Smittestopp kommunisert til tross for at leverandøren ønsker å holde mest mulig hemmelig “for at kunnskapen ikke skal kunne misbrukes av regimer vi ikke liker å sammenligne oss med”.

Arkitekturen er slik du ville designet en smittesporingsapp under hastverk (noe som kanskje ikke er så rart, for i mars 2020 hastet det):

  1. Brukere registrerer telefonnummer og får en unik bruker-ID (med Azure Active Directory B2C)
  2. Appen kringkaster bruker-ID kontinuerlig
  3. Appen laster kontinuerlig opp bruker-ID den mottar og GPS-posisjoner til et sentralt lager (Azure Data Lake)
  4. Når noen tester positivt skal man kjøre et Python-script for å finne kontakter

Her er fire måte å forringe personvern som man bør unngå, spesielt i umodne løsninger:

  1. Identifikatorer som spres og som ikke roteres
  2. Å laste opp store mengder detaljert data fra sluttbrukere før det er behov for det
  3. Å oppbevare store mengder persondata i nyetablerte løsninger
  4. Å lagre detaljerte bevegelsesdata

Appen fikk mye kritikk i presse og det samlet seg etter hvert en løs gjeng kritikere på Twitter som jeg var en del av. Når leverandøren fikk kritikk for å samle inn så mye sensitiv data svarte de med å beskrive sin integritet og kompetanse.

Problemet er bare at integritet og kompetanse hos en leverandør er et dårlig svar på personvernbekymringer!

Datatilsynets forbud

Smittestopp blir som sagt lansert 16. april på en nasjonal pressekonferanse hvor statsministeren og helseministeren formaner strengt folk om å ta i bruk appen. (Som en interessant juridisk detalj så er dette grunnen til at behandlingsgrunnlaget var en forskrift, skrevet i rekordfart, og ikke et samtykke).

Jeg er rimelig sikker på at dette er første og siste gang en norsk statsminister reklamerer for en app.

Formaningen om å installere Smittestopp virker, og over en million laster ned appen. Samtidig stilner ikke kritikken. Snarere tvert imot.

For å møte kritikken oppnevner regjeringen et ekspertutvalg med et sett meget dyktige fagpersoner. Ekspertgruppens rapport påpeker mange problemer, men ingen av gruppens anbefalinger blir tatt til følge.

Jeg er med å ta initiativ til et opprop som samler over 300 eksperter innen IT og jus som ønsker betydelige forbedringer i appens personvern.

En annen viktig kritisk røst er Amnesty International som publiserer en granskning der de beskriver Norges Smittestopp som blant de mest inngripende masseovervåkingsverktøyene de har sett og sammenligner oss med Kuwait og Bahrain, land som vi ikke like å sammenligne oss med.

Med bakgrunn i kritikken nedlegger til slutt Datatilsynet forbud mot behandling av personopplysninger i Smittestopp 16. juni og appens to måneder korte liv kommer til en ende.

Slik ender først akt i sagaen om Smittestopp. Appen ble lansert imponerende raskt, men det viste seg at hastverk er lastverk.

«Rapporten konkluderer med at det er store tekniske problemer som må løses om appen skal videreføres.»

En arkitektur og prosess som ivaretar bekymringene

Smittestopp 1 blir lagt ned før sommeren 2020. På høsten starter utviklingen av en ny app med det samme navnet.

28. april 2021, deler Datatilsynet ut årets pris for innebygd personvern. Vinneren er Smittestopp 2. Eller mer nøyaktig: Et open source-bidrag til Smittestopp 2 (som jeg bidro litt til). Dette er andre akt om i sagaen om appen som skulle frelse Norge.

I løpet av Smittestopp 1 sitt korte liv lanserte Apple og Google i samarbeid en teknologi for mobil kontaktsporing som blir kalt Exposure Notification Service (ENS eller ofte GAEN). Den første appen som lanseres med denne teknologien er Sveits sin SwissCovid app som lanseres 2. Juni.

Etter sommeren utfører Helsedirektoratet en hurtigutredning om Smittestopp og veien videre. Rapporten konkluderer med at det er store tekniske problemer som må løses om appen skal videreføres. Stortinget hadde også besluttet at appen eventuelt måtte splittes opp, i tråd med anbefalingen i oppropet fra mai.

I oktober 2020 bestemmer helsemyndighetene i Norge seg for at det skal bygges en erstatning for Smittestopp med Exposure Notification Service. Prosjektet med å utvikle den legges ut på anbud, men det er kun ett selskap som tilbyr seg å utføre oppdraget. NetCompany har laget en tilsvarende app for det danske Sundhedsministeriet og har fått tillatelse til å ta med seg arbeidet. Til tross for at man bare får én tilbyder viser de seg kompetente for oppgaven.

Exposure Notification Service

Arkitekturen for Exposure Notification Service er slik:

  1. Når du installerer appen trenger du ikke å registrere noen personopplysninger
  2. Når appen kjører kringkaster den identifikatorer. Disse identifikatorene byttes med noen minutters mellomrom.
  3. Appen tar vare på alt den har “sagt” og alt den har “hørt”
  4. Om du blir smittet kan du velge å laste opp det du har “sagt” til en “oppslagstavle”
  5. Alle laster ned oppslagstavla daglig og sammenligner med det de har “hørt”
  6. Om det er en match varsler telefonen brukeren om at de kan være smittet

Men man ønsker å unngå at skøyere registrerer seg som smittet, så Google og Apple anbefaler en form for verifisering før man får laste opp “smittenøklene” sine. I Norge blir dette med en pålogging med ID-porten og en sjekk mot det nasjonalt smitteregisteret MSIS.

image: Historien om Smittestopp, fra innsida: - Personvern handler om tekniske valg

Kritikere i fagråd

Når de starter utviklingen av Smittestopp versjon 2 ønsker Folkehelseinstituttet å unngå problemene med versjon 1. De tar kontakt med Den norske dataforeningen og Tekna og får nominert personer som kan inngå i et fagråd. Tilsvarende kontakter de Blindeforbundet, Seniornett og andre for rådgiving.

Både jeg og Trond Arve Wasskog (CTO i Bekk) har vært blant kritikerne til Smittestopp 1. Vi blir nominert av Dataforeningen. Til sin kreditt tar FHI anbefalingen på ordet og våger å ta sine kritikere inn i varmen. Harald Wesenberg og Lise Lyngsnes Randeberg stiller for Tekna. Å være på fagrådet er ubetalt (pro bono). Det positive med dette er at verken vi eller FHI har noen forventning om at vi skal bundet av lojalitet til å unngå å kritisere.

Vi inviteres til ukentlige møter med FHI og leverandøren NetCompany. Det første vi bringer opp er at FHI lovet appen skulle bli open source. Hvor blir det av koden?

Det tar et par uker før koden til appen blir publisert. NetCompany har fått lov til å ta med seg appen fra danske helsemyndigheter, men danskenes versjon var ikke publisert og de ønsker å få litt formelle ting på plass før de frigir appen. Men så blir både koden og utvikingsarbeidet åpnet. Man kan den dag i dag se alle bidrag som ble gjort til appen som pull requester i FHI sine åpne repositories på GitHub.

Mens vi ventet på koden ga fagrådet vennlig, men insisterende påminnelse om dette. Jeg mistenker at det å ha en vaktbikkje var nyttig for FHI i dialogen med sitt danske motstykke og mellom prosjektet og resten av helsemyndighetene.

Jeg ble glad og overrasket over prosessen her. I oppropet hadde vi bedt om at appen skulle publiseres som open source, men å gjøre hele prosessen åpen er bedre enn jeg forventet. Vi ønsket transparens, men det å invitere tidligere kritikere inn til å rådgi i prosessen var bedre enn jeg forventet.

Men jeg tror også FHI fikk mye tilbake for åpenheten.

En pris for godt personvern

Kanskje de mest konkrete bidraget fra fagrådet var knyttet mot prisen som Datatilsynet senere delte ut.

Jeg nevnte tidligere at man logger seg på med ID-porten for å bevise at man er smittet. Dette innfører en ny risiko. Det er teoretisk mulig at noen med tilgang til FHI sine logger kan bruke opplastede spor pluss en mistenkt sin telefon for å bevise at to personer var i kontakt.

Risikoen er mye mindre enn de digre problemene med versjon 1 og for å ta det alvorlig må man gjøre et voksent grep som ikke alle er klar for når man tenker personvern: FHI som ansvarlig for databehandlingen må kunne se for seg seg selv som en trusselaktør.

Det var først Eivind Arvesen (Cybersikkerhetsleder i Sector Alarm og medlem av ekspertgruppen som vurderte versjon 1) som identifiserte risikoen. Tjerand Silde (nå doktor i kryptografi ved NTNU) og Martin Strand (FFI) kom opp med et forslag til å løse risikoen med smart bruk av kryptografi:

  1. Når brukeren skal melde seg som smittet genererer appen en token og maskerer denne på telefonen
  2. Appen laster opp den maskerte token når bruker logger seg på verifikasjonsserveren
  3. Verifikasjonsserveren sjekker om bruker har testet positivt for korona i MSIS
  4. Om brukeren er verifisert signerer verifikasjonsserveren den maskerte token kryptografisk og sender den tilbake til appen
  5. Appen fjerner maskeringen og bruker den nå umaskerte SIGNERTE token for å laste opp sine smittenøkler
«Jeg må innrømme at jeg mest trodde FHI skulle avfeie det, men de ser problemstillingen og vil gjerne at den løses.»

FHI tok oss på alvor

Måten kryptografien fungerer på er slik at den umaskerte signerte token-en fortsatt er signert og beviser at brukeren var smittet, men den kan ikke knyttes til informasjonen som ble utvekslet mellom appen og verifikasjonsserveren.

Dette er en nokså overfladisk forklaring. Tjerand, Martin og Henrik skrev en grundigere forklaring i Bekk sin sikkerhetsjulekalender 2020, men må innrømme at noen av svingene ble for krappe for meg.

Neste uke da fagrådet møtte FHI, har vi med oss forslaget fra Tjerand og Martin. Jeg må innrømme at jeg mest trodde FHI skulle avfeie det, men de ser problemstillingen og vil gjerne at den løses. Men de har en prosjektramme og deadline. “Tror dere herrene Silde og Strand vil implementere det som en pull request?” spør de. “Klart det!” svarer jeg overmodig

Når vi kommer tilbake til Tjerand og Martin blir jeg litt nedstemt: “Fint det, men...” sier de, “Smittestopp er skrevet i C# (Xamarin), og som forskere er vi ikke vant til å skrive produksjonskode!”

Til slutt var det et samarbeid mellom Tjerand, Martin, Henrik Walker Moe (Bekk) og meg selv som ordnet biffen med den eneste ordentlige pull requesten til smittestopp fra utenfor utviklingsteamet.

Tjerand, Martin og Henrik nominerte bidraget til Datatilsynets kåring av best innebygget personvern og vant prisen! Prisen er på utlån til Folkehelseinstituttet.

...men fungerte Smittestopp?

10. august 2022 annonserte FHI at de legger ned Smittestopp. “Den viktigste grunnen …. Er at testing og smittesporing ikke lenger er like aktuelt eller sannsynlig fremtidige tiltak”.

Appen var i bruk fra desember 2020 til august 2022. Funket den?

Vi vil nok aldri få et definitivt svar på hvor stor effekt smittesporingsapper hadde. Selv om appene ble innført i mange land så gikk pandemien gjennom flere faser med forskjellige responser, smittsomhet og dødelighet. Det er nok vitenskapelig umulig å skille effekten fra appen fra andre tiltak og sykdommens iboende variasjon.

Men vi må nok innse at det ikke var noen game changer.

Tanken om smittesporingsapper er det moderne samfunnsvitenskap kaller “tekno-optimisme” (et begrep jeg lærte av Kristin Bergtora Sandvik ved juridisk fakultet). Tekno-optimisme er forventningen om at en genial ny oppfinnelse skal dramatisk løse samfunnsproblemer. Kort sagt: “Pandemi? There’s an app for that”.

Når tekno-optimisme møter virkeligheten støter det på både tekniske og samfunnsmessige problemer. For oss teknologer er de tekniske de enkleste.

Smittesporing har som formål å redusere R-tallet (hvor mange som i snitt blir smittet videre fra hver som er smittet). Er tallet over 1 vil smitten øke. Er det under 1 vil smitten avta og vi har ikke lenger en pandemi. Appen skal påvirke dette ved å varsle deg om du har vært utsatt for smitte. Men den gjør ikke dette direkte.

Smittesporing på mobilen registrerer ikke om to personer har kunnet smitte hverandre. Den registrerer ikke engang om de har vært i nærheten av hverandre. Den registrerer kun om to mobiler har hatt et tydelig radiosignal mellom seg. Om du og jeg sitter tete-a-tete men jeg har mobilen i en tykk veske som ligger to meter unna så blir signalet svakt. Om vi venter på t-banen i motsatt retning på hver vår plattform mens vi leser på mobilen blir signalet sterkt.

Smittestopp 2 ble testet og kalibrert for å ha god effekt med vanlige scenarioer, men er folk vanlige?

I tillegg til de tekniske usikkerhetene kan ikke en app vite om vi bruker munnbind, unngår håndhilsing eller møtes utendørs.

Tekno-optimistiske initiativer

Basert på det vi har sett så langt kan vi ikke konkludere med at kontaktsporing på mobilen medfører reduksjon i smitte.

I Norge hadde vi ytterligere problemer med timingen. Når Smittestopp 2 ble innført rundt årsskiftet 2020/2021 var alles fokus på vaksiner og kontaktsporing var ikke et viktig fokus. Først da Omikron-varianten kom i desember 2021 ble dette aktuelt igjen. Men da hadde FHI hendene fulle med andre ting og hadde glemt å minne folk på å rapportere smitte i Smittestopp! Det var først når fagrådet minnet om det at Smittestopp ble en del av informasjonskampanjen rundt Omikron.

Men også under Omikron viste appen seg å være en dårlig match. Med så høye smittetall så var det eneste vi ville oppnå at folk fikk stadige varsler fra appen om å teste seg ved symptomer. Men da hadde vi fått hjemmetesting og folk testet seg uansett.

Og her kommer vi til den andre kritiken mot tekno-optimistiske initiativer: Om en teknologisk løsning på pandemien skal fungere, så må rammene rundt også være tilstede. Det er krevende å gi riktig informasjon på riktig tidspunkt og beslutte hvordan man skal justere løsningen til en pandemi i endring. Når gevinsten er usikker er det godt at FHI prioriterte andre tiltak.

«For oss som teknologer illustrerer Smittestopp viktigheten av å forstå personvern som fag.»

Personvern handler om tekniske valg

Min helt gjennom hele historien er egentlig Folkehelseinstituttet. Jeg tror fortsatt at beslutningen om å gjennomføre Smittestopp 1 var dårlig, men jeg forventet ikke at alle beslutninger i mars/april 2020 skulle være gode. Faktisk advarte helsemyndighetene oss om at de kom til å gjøre feilvurderinger. Ingen visste hva vi sto ovenfor.

Det som utgjør forskjellen er hvordan man reagerer på sine feil.

Måten som FHI gjennomførte et fagråd var over mine forventninger og jeg håper andre offentlige prosjekter med samfunnsinteresse vil invitere eksterne fagfolk til å se dem i kortene, ha en åpen Slack for å diskutere med folk utenfor og gjøre utviklingen i det åpne. Jeg håper også andre prosjekter vil involvere organisasjoner som representerer folk som har behov for ekstra hensyn i IT-løsninger.

For oss som teknologer illustrerer Smittestopp viktigheten av å forstå personvern som fag. Vi har sett hvor viktig personvern er for offentligheten, og når jeg snakker med folk om Smittestopp den dag i dag er jeg overrasket over hvor mange som vegret seg på grunn av personvernbekymringer. Når vi lager en løsning tenker vi kanskje at “Nei, det må jo folk finne seg i”. Men det gjør ikke folk, og det må man erkjenne.

De forskjellige teknologiske løsningene som har inngått i Smittestopp-sagaen illustrerer også at personvern handler om tekniske valg. Det finnes forskjellige måter å lage en app med den samme nytten, og noen er mindre inngripende enn andre.

Som fagpersoner gjør vi lurt i å lære hvilke valg vi kan ta for å gi brukerne våre det personvernet de har krav på.

(Har du lyst til å lære mer om Smittestopp? Meld deg på seminaret på juridisk fakultet 20. september)