Tjenester
App-sikkerhet og personvern
En app ligger på tusenvis av telefoner dere ikke kontrollerer, snakker med en backend over internett og samler personopplysninger fra første innlogging. App-sikkerhet er derfor ikke noe som legges til før lansering. Det er en del av hvordan appen bygges, fra hvor API-nøklene ligger til hva som skjer med data når en bruker sletter kontoen sin.
Vi utvikler apper med OWASP MASVS som sjekkliste, kryptering i transitt og i ro, sikker lagring i Keychain og Keystore, og personvern etter GDPR slik Datatilsynet forventer det. Kundedata lagres i Norge eller EØS, og dere får dokumentasjon dere kan vise til kunder, revisor og tilsyn.
01
Dette går galt i apper, og hvorfor
De alvorlige feilene i apper er sjelden avanserte. En API-nøkkel ligger rett i appkoden og kan leses ut av alle som pakker opp appen. Tokens er lagret i en vanlig innstillingsfil i stedet for i telefonens sikre lager. Backend stoler på at appen sender riktig bruker-ID, uten å sjekke det. Appen sender analysedata til en tredjepart i USA uten at noen har spurt brukeren.
Felles for dem er at de er usynlige i appen. Den ser fin ut og fungerer. Feilene oppdages først når noen leter, gjerne en sikkerhetsforsker, en journalist eller Datatilsynet. Sikker apputvikling handler om å lete selv, før det.
02
Vår sikkerhetsstandard: OWASP MASVS som sjekkliste
OWASP Mobile Application Security Verification Standard (MASVS) er en åpen, leverandøruavhengig standard for sikkerhet i mobilapper. Den deler kravene i åtte grupper, og vi bruker dem som sjekkliste i hvert prosjekt.
- 01
STORAGE
- Hva den dekker
- Sikker lagring av data på telefonen
- Hva vi gjør
- Tokens og nøkler i Keychain (iOS) og Keystore (Android), ingen sensitive data i logger eller sikkerhetskopier
- 02
CRYPTO
- Hva den dekker
- Riktig bruk av kryptografi
- Hva vi gjør
- Plattformenes egne krypteringsbiblioteker, ingen hjemmelagde løsninger
- 03
AUTH
- Hva den dekker
- Autentisering og autorisasjon
- Hva vi gjør
- BankID, ID-porten eller OpenID Connect, sesjoner som utløper, tilgang sjekkes i backend, ikke i appen
- 04
NETWORK
- Hva den dekker
- Sikker nettverkskommunikasjon
- Hva vi gjør
- TLS på alt, sertifikatpinning der risikoen tilsier det
- 05
PLATFORM
- Hva den dekker
- Sikker bruk av plattformfunksjoner
- Hva vi gjør
- Minst mulig tillatelser, sikre dyplenker, ingen sensitive data i skjermbilder ved appbytte
- 06
CODE
- Hva den dekker
- Kodekvalitet og sikker utvikling
- Hva vi gjør
- Kodegjennomgang av all kode før den slås sammen, automatisk skanning av avhengigheter, oppdaterte biblioteker
- 07
RESILIENCE
- Hva den dekker
- Motstand mot manipulering
- Hva vi gjør
- Vurderes per app; relevant for betaling, helse og apper med verdi for angripere
- 08
PRIVACY
- Hva den dekker
- Personvern for brukeren
- Hva vi gjør
- Dataminimering, samtykke der det kreves, mulighet til å slette konto i appen
Ikke alle apper trenger alt. En intern sjekklisteapp trenger ikke samme motstand mot manipulering som en betalingsapp. Nivået fastsetter vi i appavklaringen ut fra hva appen håndterer og hvem som kan tenkes å angripe den.
03
GDPR i appen: dette må dere ha på plass
Dere er behandlingsansvarlig for personopplysningene i appen. Vi er databehandler mens vi utvikler og drifter, og hostingleverandøren er underleverandør. Det gir noen konkrete plikter.
Behandlingsgrunnlag. Hver opplysning appen samler inn må ha et grunnlag: avtale med brukeren, samtykke, rettslig plikt eller berettiget interesse. Vi lager en oversikt over hvilke data appen samler, hvorfor, og hvor lenge de lagres. Den er utgangspunktet for personvernerklæringen.
Dataminimering. Appen henter bare det den trenger. Fødselsnummer lagres ikke uten dokumentert behov, posisjon hentes bare når funksjonen brukes, og analyseverktøy settes opp uten å identifisere enkeltpersoner. Mer om innlogging og identitet under BankID- og ID-porten-innlogging.
Databehandleravtale. Datatilsynet er tydelig: alle virksomheter som bruker en underleverandør, har plikt til å ha en databehandleravtale. Dere får en med oss, og vi sørger for at hosting og tredjepartstjenester har tilsvarende avtaler.
Lagring i EØS. Backend og database settes opp i datasentre i Norge eller EØS. Skal appen bruke tjenester utenfor EØS, for eksempel en KI-modell, vurderer vi overføringsgrunnlag først, se KI i app.
Brukerens rettigheter. Brukeren skal kunne se hva som er lagret, få det rettet og få det slettet. Vi bygger sletting av konto inn i appen, og backend sletter eller anonymiserer data etter en fastsatt tid.
04
Når trenger appen en DPIA?
En vurdering av personvernkonsekvenser (DPIA) er en dokumentert risikovurdering som kreves når behandlingen sannsynligvis medfører høy risiko for brukerne. Datatilsynet har en liste over behandlinger som alltid krever DPIA, og flere av dem er vanlige i apper. Etter vår forståelse av regelverket treffer disse punktene ofte:
- Behandling av lokasjonsdata sammen med minst ett annet kriterium, for eksempel en sjåførapp som logger posisjon over tid.
- Behandling med det Datatilsynet kaller «innovativ teknologi» sammen med minst ett annet kriterium, for eksempel helseopplysninger i ny velferdsteknologi.
- Behandling av biometriske opplysninger for å identifisere enkeltpersoner sammen med minst ett annet kriterium.
- Tjenester som forutsier helse, økonomi, interesser, atferd eller bevegelsesmønster for kommersiell bruk.
- Innsamling av personopplysninger i stor skala gjennom tingenes internett eller velferdsteknologi.
Treffer appen ett av punktene, planlegger vi DPIA-en inn før utvikling, ikke etter. Vi skriver den tekniske delen, dere og eventuelt personvernombudet tar vurderingen, og er dere usikre, bør dere spørre Datatilsynet. Helseapper trenger nesten alltid en, se apputvikling for helse og velferdsteknologi.
05
Personvernerklæringer i App Store og Google Play
Begge butikkene krever at dere erklærer hva appen samler inn. Apple krever appens personvernopplysninger i App Store Connect før nye apper og oppdateringer kan sendes inn, pluss lenke til en offentlig personvernerklæring både i butikken og inne i appen. Google krever at alle utviklere med publisert app fyller ut Data safety-skjemaet, også for apper i lukket og åpen testing. Dere er ansvarlige for at erklæringene stemmer.
Vi fyller ut begge deler ut fra det appen faktisk gjør, inkludert hva tredjepartsbiblioteker samler inn, og lager utkast til personvernerklæringen. Mer under publisering i App Store og Google Play.
06
Hvis noe skjer: avviksrutine
Skjer det et brudd på personopplysningssikkerheten som sannsynligvis medfører risiko for brukerne, skal dere melde det til Datatilsynet senest 72 timer etter at dere fikk kjennskap til det. Det er kort tid hvis ingen har tenkt på det før.
Derfor får alle kunder med avtale om vedlikehold og drift av app en skriftlig avviksrutine: hvem som varsler hvem, hvordan vi stenger tilgangen, og hvem som skriver meldingen til Datatilsynet. Overvåking og sikkerhetsoppdateringer er inkludert i alle pakkene fra 4 900 kr/mnd.
07
Hva koster app-sikkerhet og personvern?
Sikkerhetsstandarden over er inkludert i alle apper vi utvikler, fra MVP-app til kompleks app, sammen med dokumentasjon, databehandleravtale og 90 dagers feilgaranti, se kvalitet og garantier. Egne moduler prises etter prislisten: BankID-innlogging 20 000–50 000 kr, ID-porten 25 000–70 000 kr, eks. mva. Sikkerhetsgjennomgang av en app andre har laget gjøres på timepris, 700 kr/t for utvikling, med estimat før start.
08
Vanlige spørsmål om app-sikkerhet og personvern
Trenger appen vår en DPIA?
Det avhenger av hva appen behandler. Datatilsynet krever alltid DPIA blant annet ved lokasjonsdata, biometri eller ny teknologi kombinert med et annet kriterium, ved profilering for kommersielle tjenester og ved storskala innsamling gjennom velferdsteknologi. Vi vurderer det i appavklaringen, og anbefaler at dere spør Datatilsynet når dere er i tvil.
Hvor lagres dataene i appen?
I datasentre i Norge eller EØS, på en konto som står i deres navn. Data på selve telefonen lagres kryptert i Keychain på iOS og Keystore på Android. Tjenester utenfor EØS brukes bare når det finnes et gyldig overføringsgrunnlag, og det står i databehandleravtalen.
Får vi databehandleravtale med dere?
Ja. Vi er databehandler mens vi utvikler og drifter appen, og Datatilsynet krever databehandleravtale med alle underleverandører som behandler personopplysninger. Avtalen følger med prosjektkontrakten, og hostingleverandøren har egen avtale i kjeden.
Hva må stå i personvernerklæringen for appen?
Hvilke data appen samler inn, hvordan og hvorfor, hvem de deles med, hvor lenge de lagres, og hvordan brukeren kan trekke samtykke og få data slettet. Apple krever lenke til erklæringen både i App Store Connect og inne i appen. Vi lager utkast ut fra det appen faktisk gjør.
Kan dere sikkerhetsteste en app andre har utviklet?
Ja. Vi går gjennom appen mot OWASP MASVS, sjekker lagring, nettverk, innlogging, tillatelser og avhengigheter, og leverer en rapport med prioriterte funn. Testen gjøres på timepris med estimat på forhånd.
09
Relaterte tjenester
- BankID- og ID-porten-innloggingsikker identifisering og dataminimering
- Backend, API og integrasjonertilgangskontroll og hosting i EØS
- Vedlikehold og drift av appsikkerhetsoppdateringer og avviksrutine
- Universell utforming av appdet andre regelverket appen skal oppfylle
- Slik velger du apputviklerspørsmålene om sikkerhet dere bør stille alle tilbydere
Neste steg
Få en vurdering av sikkerheten i appen deres
Fortell oss hva appen samler inn, hvem som bruker den, og om den finnes fra før. Vi svarer med en vurdering av risiko, om dere trenger DPIA, og et prisspenn. Sikkerhetsgjennomganger gjør vi på avstand, så det spiller liten rolle om dere sitter i Oslo, Tromsø eller Trondheim. Hvordan vi behandler det dere sender oss, står i vår egen personvernerklæring.
Er dere usikre på om appen håndterer persondata trygt, beskriv hva den lagrer og hvor. Vi svarer med en første vurdering og forslag til neste steg innen én virkedag. Et veiledende tall på 60 sekunder får dere i appkalkulatoren.
Eller skriv til[email protected]
Kilder
- OWASP, Mobile Application Security Verification Standard (MASVS), kontrollgruppene STORAGE, CRYPTO, AUTH, NETWORK, PLATFORM, CODE, RESILIENCE og PRIVACY – https://mas.owasp.org/MASVS/
- Datatilsynet, «Når må man gjennomføre en vurdering av personvernkonsekvenser?» – https://www.datatilsynet.no/rettigheter-og-plikter/virksomhetenes-plikter/vurdering-av-personvernkonsekvenser/nar-ma-man-gjennomfore-en-vurdering-av-personvernkonsekvenser/
- Datatilsynet, databehandleravtale («Alle virksomheter som benytter seg av en underleverandør har plikt til å ha en databehandleravtale») – https://www.datatilsynet.no/rettigheter-og-plikter/virksomhetenes-plikter/databehandleravtale/
- Datatilsynet, avvikshåndtering (melding senest 72 timer etter at bruddet ble kjent) – https://www.datatilsynet.no/rettigheter-og-plikter/virksomhetenes-plikter/avvikshandtering/
- Regjeringen, Prop. 56 LS (2017–2018), personopplysningsloven § 12 om fødselsnummer – https://www.regjeringen.no/no/dokumenter/prop.-56-ls-20172018/id2594627/?ch=9
- Apple, App privacy details on the App Store (påkrevd for innsending, lenke til personvernerklæring) – https://developer.apple.com/app-store/app-privacy-details/
- Apple, App Store Review Guidelines 5.1.1 (personvernerklæring i App Store Connect og i appen) – https://developer.apple.com/app-store/review/guidelines/
- Google Play, Data safety-seksjonen (påkrevd for alle utviklere med publisert app) – https://support.google.com/googleplay/android-developer/answer/10787469