2. Ohjelma
Sovelluksen toimintaperiaate
Tiedonhallintajohtaja Aleksi Yrttiaho, Terveyden ja hyvinvoinnin laitos
Tietosuojan ja tietoturvan huomiointi sovelluskehityksessä
Teknologia-asiantuntija Sami Köykkä, Solita Oy
Kyberturvallisuuskeskuksen arviointiraportin keskeiset havainnot
Johtava asiantuntija Juhani Eronen, Kyberturvallisuuskeskus
28.8.2020
3. Mikä Koronavilkku on?
Sovelluksen avulla me kaikki voimme osallistua
koronaviruksen leviämisen ehkäisyyn.
Sen avulla voidaan
1. tavoittaa koronavirukselle mahdollisesti altistunut käyttäjä
2. tukea käyttäjää toimimaan voimassa olevien
toimintaohjeiden mukaisesti ja hakeutumaan
terveydenhuollon palveluiden ja tarvittaessa testauksen
piiriin
Sovelluksen käyttö on vapaaehtoista ja maksutonta.
28.8.2020Koronavilkku - tietosuoja ja tietoturva 3
4. Reunaehtoja
• Sovelluksen käytön tulee olla vapaaehtoista; tiedonhallinnan
tulee perustua lakiin
• Sovelluksessa käytettyjä tunnuskoodeja käsitellään
henkilötietoina
• Syntyneitä tietoja saa säilyttää korkeintaan 21 vrk
• Sovelluksen käyttäjän identiteettiä ei ilmaista viranomaisille,
mutta käyttäjä voi halutessaan antaa tiedon viranomaisille.
• Tieto altistumisesta välitetään muille sovelluksen käyttäjille ja
vain mahdollisesti viranomaisille.
• Sovellusten pitää toimia koko EU alueella.
• Sovelluksen tulee olla väliaikainen
28.8.2020Koronavilkku - tietosuoja ja tietoturva 4
6. Koronavilkku tunnistaa altistumistilanteita
COVID-19-tapauksen lähikontaktit
• Yli 15 minuuttia kestävä kohtaaminen kasvotusten alle 2 metrin etäisyydellä
• Fyysinen kontakti
• Suojautumaton kontakti COVID-19-tapauksen eritteisiin esimerkiksi
yskökset
• Oleskelu suljetussa tilassa yli 15 minuuttia, esimerkiksi sama talous,
luokkahuone, työ-, kokous- tai -odotustila (suuressa tilassa rajaus lähellä
oleskelleisiin)
• Lentokoneessa matkustaminen kahden rivin etäisyydellä COVID-19-
tapauksesta
• COVID-19-tapausta ilman asianmukaista suojautumista (kirurginen suu-
nenäsuojus tai hengityksensuojain FFP2 tai FFP3) hoitanut henkilökunta ja
COVID-19-näytteitä käsitellyt laboratoriohenkilökunta (katso kohta Kontaktit
sosiaali- ja terveydenhuollon toimintayksiköissä)
Muut kontaktit (pienen riskin altistuminen)
• Alle 15 minuuttia kestävä kohtaaminen kasvotusten alle 2 metrin
etäisyydellä
• Oleskelu suljetussa tilassa alle 15 minuuttia esimerkiksi matkustaminen
bussissa tai junassa
• COVID-19-tapausta asianmukaisesti suojautuneena hoitanut henkilökunta ja
COVID-19-näytteitä käsitellyt laboratoriohenkilökunta (katso kohta Kontaktit
sosiaali- ja terveydenhuollon toimintayksiköissä)
28.8.2020Koronavilkku - tietosuoja ja tietoturva 6
Kaikki altistumistilanteet
Sovelluksen
tunnistamat
altistumistilanteet
Tartuntaketjujen
jäljityksellä
tunnistetut
altistumistilanteet
8. Käsiteltävät tiedot
Mobiilisovellus
Mobiilisovellus tallentaa seuraavat tiedot käyttäjän omaan mobiililaitteeseen:
1. Käyttäjän omat pseudonyymit tunnisteet
2. Muiden käyttäjän kohtaamien käyttäjien pseudonyymit tunnisteet ja niihin liittyvät tarvittavat tiedot kohtaamisen kestosta,
ajankohdasta ja bluetooth-signaalin voimakkuudesta
3. Tartunnastaan ilmoittaneen käyttäjän pseudonyymit tunnisteet
4. Käyttäjän saama tieto mahdollisesta altistumisesta
Kohtaamistiedot ja tartunnasta ilmoittaneen käyttäjän pseudonyymit tunnisteet poistetaan viimeistään 21 vrk kuluttua ilmoituksesta.
Taustajärjestelmä
Taustajärjestelmään tallennetaan seuraavat tiedot:
• Tartunnastaan ilmoittaneen käyttäjän pseudonyymit tunnisteet
Tiedot poistetaan viimeistään 21 vrk kuluttua ilmoituksesta.
Mobiilisovelluksessa käsitellään tämän lisäksi tietoa tunnistetusta tartunnasta (avauskoodi).Taustajärjestelmässä käsitellään tämän
lisäksi tietoa tunnistetusta tartunnasta (avauskoodi) ja puhelinnumerosta avauskoodin välittämiseksi tekstiviestillä.
28.8.2020Koronavilkku - tietosuoja ja tietoturva 8
9. Sinulta kysytään lupaa,
• Kun asennat sovelluksen
• Kun hyväksyt käyttöehdot ja aloitat sovelluksen käytön
• Kun puhelin ottaa covid-19 -altistuslokin käyttöön
• Kun puhelin ottaa bluetooth-yhteyden käyttöön (voi vaihdella
käyttöjärjestelmän ja mallin mukaan). Huom. Android voi pyytää
lupaa sijaintitietoihin, mutta GPS-tietoja ei käytetä.
• Kun varoitat muita
• Jos saat altistumisilmoituksen ja otat itse yhteyttä
terveydenhuoltoon
28.8.2020Koronavilkku - tietosuoja ja tietoturva 9
10. 28.8.2020Koronavilkku - tietosuoja ja tietoturva 10
Jos saat altistumisilmoituksen,
ota yhteyttä terveydenhuoltoon
Jos saat ilmoituksen
altistumisesta, ota yhteyttä
terveydenhuoltoon ja
tekemällä oire-arvio
omaolo.fissä tai
puhelimitse
11. Kannustetaan yhdessä sovelluksen käyttöön!
28.8.2020Koronavilkku - tietosuoja ja tietoturva 11
Simulaatio
Kaupunki, jossa miljoona asukasta
Yli 70-vuotiaat karanteenin kaltaisissa oloissa
Ei muita rajoituksia
Parametreja ei lokalisoitu Suomeen
Hinch et al, 2020
14. Täydellinen vapaaehtoisuus ja
anonyymiys.
Puhelimien välisen BLE-liikenteen
koodit vaihtuvat 15 minuutin välein.
Puhelimien ENS-rajapinta sisältää
kohtaamistiedot salatussa
muodossa ja niihin on
sovelluksillakin vain rajattu pääsy.
Seuranta arjessa
15. Ilmoitus vain ammattilaisen
antamalla avauskoodilla.
Taustajärjestelmään lähetetään
vain sairastuneen lähettämiä
koodeja.
Julkinen lista Kelan hallinnoimissa
palvelimissa.
Kohtaamistietojen vertailu tapahtuu
puhelimissa.
Tartuntailmoitus
16. Matti istui kahvilassa Maijan viereisessä pöydässä kahvikupillisen ajan.
Seuraavana päivänä Maija sai oireita, kävi testissä ja sai positiivisen
tuloksen ylihuomenna. Maija lähetti heti sovelluksella varoituksen.
● Etäisyys: melko lähellä (6 pistettä)
● Kesto: 10-15 minuuttia (4 pistettä)
● Tartuttavuus: suuri (8 pistettä)
Riskiarvio: 192 pistettä.
Raja-arvo: 126
Ylittää raja-arvon, Matti saa ylihuomenna altistusvaroituksen .
Altistustodennäköisyyden laskenta
17. Ohjelmistoarkkitehtuuri
Taustajärjestelmä sijaitsee Kelan palvelinkoneissa
• Openshift-kontit
• Kuormantasaus, pääsynrajaus palomuurilla (Euroopan alue)
• Kaksi osiota: infektoituneiden avainten hallinnointi ja avauskoodien generointi
Mobiilisovellukset ovat natiiviteknologialla toteutettuja
• iOS / Swift
• Android / Kotlin
• ENS-rajapinta
18. Testaus
Ensimmäisessä vaiheessa sisäiset sovellus- ja altistustestit Solitan henkilökunnan
avustuksella
Toisessa vaiheessa mukana sairaanhoitopiirien testikäyttäjiä (PSHP ja HUS)
• Toimintaketjun testaus
• Käyttäjähaastattelut
• Taustajärjestelmän testaus ja käyttäjien koulutus
Lisäksi kokonaisuudelle tehty auditointi Kyberturvallisuuskeskuksen toimesta
Julkinen testaus avoimen lähdekoodin kautta
19. Tietosuoja ja turvallisuus ohjelmistokehityksessä
Tietoturvallinen ohjelmistonkehitysprosessi
• Hyvät käytännöt
• Uhkamallinnukset
• Koodikatselmoinnit
• Tietoturvatestaus, pentestaukset
• Koko henkilöstön tietoturvatietoisuus ja tietoturvakoulutukset
20. Lähdekoodi
Kaikkien Koronavilkun osien lähdekoodi on julkista:
• Android-sovellus: https://github.com/THLfi/koronavilkku-android
• iOS-sovellus: https://github.com/THLfi/koronavilkku-ios
• Taustajärjestelmä:https://github.com/THLfi/koronavilkku-backend
• Exposure Notification -rajapinta (iOS): https://developer.apple.com/exposure-notification/
• Exposure Notification -rajapinta (Android): https://github.com/google/exposure-notifications-internals
Lähdekoodiin liittyvät kommentit ja palautteet ovat tervetulleita osoitteisiin:
• koronavilkku@solita.fi
• koronavilkku-security@solita.fi (kriittiset tietoturvahavainnot)
21. Lisätietoa
Syvempää teknistä tietoa tulossa Solitan blogeissa osoitteessa www.solita.fi
Googlen kysymyksiä ja vastauksia sovelluksen uhkaskenarioihin ja niihin vastaamiseen
liittyen:
https://github.com/google/exposure-notifications-internals/blob/main/en-risks-and-mitigations-faq.md
24. Taustaa
Kyberturvallisuuskeskus on THL:n pyynnöstä arvioinut Koronavilkku-
sovelluksen ja sen taustajärjestelmän turvallisuutta
Arvio tehtiin elokuun kolmen ensimmäisen viikon aikana yhteistyössä
Tietosuojavaltuutetun toimiston kanssa
THL julkistaa arviointiraportin, jossa kuvattiin arvioinnin aikaista
tilannetta ja siinä tehtyjä havaintoja
25. Onnistunut arviointiprojekti
Mobiilisovelluksen arvioinnissa käytettiin apuna yleisesti käytettyä OWASP
Mobile Application Security Checklist -kriteeristöä
Kyberturvallisuuskeskus ei havainnut Koronavilkku-mobiilisovelluksesta
puutteita, jotka aiheuttaisivat olennaisia tietoturvallisuuteen tai käyttäjän
seurantaan liittyviä riskejä.
Taustajärjestelmiä arvioitiin kansallista Katakri 2015 –kriteeristöä
soveltaen
Koronavilkku-palvelinjärjestelmäkokonaisuuden arvioinnissa havaittiin, että
toteutuksessa on huomioitu suojautuminen useita yleisiä riskejä vastaan.
26. Keskeisiä kehityskohteita
Mobiilisovelluksesta havaittiin muutamia puutteita, jotka
sovellustoimittaja on korjannut
Puutteet liittyivät taustajärjestelmäyhteyksiin
Turvallisuuden hallinnan vastuut olivat arviointihetkellä osin epäselvät
Taustajärjestelmän hallinnointikäytännöissä havaittiin puutteita
Arviointiraportin pohjalta on tehty ja tehdään edelleen olennaisia
parannuksia sovelluksen ja taustajärjestelmän turvallisuuteen ja sen
hallintaan liittyen
27. Lopputulokset
Ainutlaatuinen projekti, joka onnistui kireästä aikataulusta huolimatta
Toimiva yhteistyö useiden viranomaisten ja yritysten kesken
Tietoturvan seuranta keskeisessä roolissa järjestelmän turvaamisessa
myös jatkossa
Kyberturvallisuuskeskus tulee omalta osaltaan tukemaan järjestelmän
tietoturvallisuuden varmistamista