NFC-yhteyden muodostus terveydenhuollon toimikortteihin
Pajulehto, Jukka (2022)
Pajulehto, Jukka
2022
Tietotekniikan DI-ohjelma - Master's Programme in Information Technology
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2022-02-15
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202201161336
https://urn.fi/URN:NBN:fi:tuni-202201161336
Tiivistelmä
Digi- ja väestövirasto päivitti terveydenhuollon toimikorttien sirut uudempaan versioon keväällä 2020. Päivitys sisälsi varmenteiden algoritmien päivityksien lisäksi myös uuden ominaisuuden, NFC-tuen. Uusi NFC-ominaisuus helpottaa DVV:n toimikorttien käyttöä erilaisissa sähköisissä palveluissa, jotka vaativat vahvaa tunnistautumista. eRA-potilastietojärjestelmä on yksi näistä paveluista. Lähes kaikissa uusissa puhelimissa on sisäänrakennettu NFC-antenni, jolloin erilliselle lukijalle ei ole tarvetta kortin lukemista varten. Tämä helpottaa eRA:an kirjautumista erityisesti mobiililaitteissa. Näiden hyötyjen takia Atostek Oy päätti toteuttaa NFC-tuen eRASmartCard-kortinlukijasovellukseensa. eRASmartCard-sovelluksen tehtävänä on hoitaa korttikommunikointi eRA-järjestelmän ja DVV:n toimikorttien välillä. Näin ollen NFC-tuen lisäämiseksi muutokset kohdistuivat eRASmartCard-sovellukseen.
NFC-tuen saavuttamiseksi jokaiseen eRASmartCard-sovelluksen versioon täytyi toteuttaa PACE-protokolla. PACE-protokolla on avaintenvaihto-protokolla, joka mahdollistaa turvallisen kommunikointikanavan muodostamisen kortin ja kortinlukijaohjelmiston välille. Protokollan on kehittänyt German Federal Cyber Authority (BSI) ja saksalaiset käyttävät samaa protokollaa omien henkilökorttiensa langattoman kommunikoinnin suojaamiseen.
eRA potilastietojärjestelmänä käsittelee sensitiivistä dataa. Tämän takia eRA:n tietoturvallisuus täytyy auditoida kolmannen osapuolen toimesta. Auditointi asettaa vaatimuksia toimikorttitunnistautumiseen, vaatien toimikortin pitämistä koko potilastietojärjestelmän käyttösession ajan. Tämä vaatimus kohdistuu myös NFC:n välityksellä yhdistettyihin kortteihin mikä aiheuttaa ongelmia NFC-ominaisuuden käytettävyyden suhteen tunnistautumisessa. Kortin pitäminen NFC-antennin kantamalla koko käyttösession ajan ei ole käytännöllistä mobiililaitteissa.
Näistä ongelmista huolimatta NFC-ominaisuus toteutettiin eRASmartCardiin auditointivaatimuksia noudattaen. Jotta NFC-ominaisuus toimisi vaatimusten mukaisesti, täytyi eRASmartCardiin tehdä mekanismi kortin poissaolon tunnistamiseen PACE-protokollan lisäksi. Kortin yhteyden tilaa haetaan sekunnin välein. Jos kortti tunnistetaan poistetuksi, annetaan kortille 10 sekuntia aikaa uudelleenyhdistämiseen. Jos uudelleenyhdistäminen epäonnistuu tällä aikavälillä, ilmoitus kortin poistumisesta lähetetään eRAan.
Vaikka auditoinnin vaatimukset aiheuttivat päänvaivaa NFC-ominaisuuden toteutuksessa, projekti onnistui kokonaisvaltaisesti hyvin. NFC-ominaisuus toteutettiin onnistuneesti eRASmartCardin Windows, OSX ja Android versioille. iOS alustalle ominaisuutta ei voitu tehdä auditointivaatimusten mukaisesti sillä iOS:n NFC-ominaisuus ei sovellu pitkiin NFC-sessioihin. Siitä huolimatta NFC-tuki toteutettiin myös iOS-alustalle piiloitettuna ominaisuutena. Ominaisuus voidaan ottaa käyttöön tulevaisuudessa jos auditointivaatimukset keventyvät. Keskustelut vaatimusten keventämisestä aloitettiin vaatimuksista vastussa olevan tahon kanssa. Keskusteluun ei saatu lopputulosta diplomityön aikana.
NFC-tuen saavuttamiseksi jokaiseen eRASmartCard-sovelluksen versioon täytyi toteuttaa PACE-protokolla. PACE-protokolla on avaintenvaihto-protokolla, joka mahdollistaa turvallisen kommunikointikanavan muodostamisen kortin ja kortinlukijaohjelmiston välille. Protokollan on kehittänyt German Federal Cyber Authority (BSI) ja saksalaiset käyttävät samaa protokollaa omien henkilökorttiensa langattoman kommunikoinnin suojaamiseen.
eRA potilastietojärjestelmänä käsittelee sensitiivistä dataa. Tämän takia eRA:n tietoturvallisuus täytyy auditoida kolmannen osapuolen toimesta. Auditointi asettaa vaatimuksia toimikorttitunnistautumiseen, vaatien toimikortin pitämistä koko potilastietojärjestelmän käyttösession ajan. Tämä vaatimus kohdistuu myös NFC:n välityksellä yhdistettyihin kortteihin mikä aiheuttaa ongelmia NFC-ominaisuuden käytettävyyden suhteen tunnistautumisessa. Kortin pitäminen NFC-antennin kantamalla koko käyttösession ajan ei ole käytännöllistä mobiililaitteissa.
Näistä ongelmista huolimatta NFC-ominaisuus toteutettiin eRASmartCardiin auditointivaatimuksia noudattaen. Jotta NFC-ominaisuus toimisi vaatimusten mukaisesti, täytyi eRASmartCardiin tehdä mekanismi kortin poissaolon tunnistamiseen PACE-protokollan lisäksi. Kortin yhteyden tilaa haetaan sekunnin välein. Jos kortti tunnistetaan poistetuksi, annetaan kortille 10 sekuntia aikaa uudelleenyhdistämiseen. Jos uudelleenyhdistäminen epäonnistuu tällä aikavälillä, ilmoitus kortin poistumisesta lähetetään eRAan.
Vaikka auditoinnin vaatimukset aiheuttivat päänvaivaa NFC-ominaisuuden toteutuksessa, projekti onnistui kokonaisvaltaisesti hyvin. NFC-ominaisuus toteutettiin onnistuneesti eRASmartCardin Windows, OSX ja Android versioille. iOS alustalle ominaisuutta ei voitu tehdä auditointivaatimusten mukaisesti sillä iOS:n NFC-ominaisuus ei sovellu pitkiin NFC-sessioihin. Siitä huolimatta NFC-tuki toteutettiin myös iOS-alustalle piiloitettuna ominaisuutena. Ominaisuus voidaan ottaa käyttöön tulevaisuudessa jos auditointivaatimukset keventyvät. Keskustelut vaatimusten keventämisestä aloitettiin vaatimuksista vastussa olevan tahon kanssa. Keskusteluun ei saatu lopputulosta diplomityön aikana.