You are here: TUTWiki>Tietoturva/Tutkielmat>TyoLuettelo?>2008-22

Juha Kaarela

Toimikortit

1.0 Johdanto

Toimikortit ovat lähes huomaamattomalla tavalla siirtyneet osaksi tavallisen ihmisen jokapäiväistä elämää. Käytämme kortteja muun muassa, kun maksamme kaupassa ostoksia maksupäätteella, todistamme henkilöllisyyden sähköisellä henkilökortilla, soitamme puheluita matkapuhelimella tai kun katselemme televisiosta maksullisia kanavapaketteja.

Tässä työssä käsitellään toimikorttien ja niiden lukulaitesysteemien turvallisuutta. Aiheesta on tehty harjoitustyö edellisen kerran kolme vuotta sitten ja pyrinkin nyt esittämään asiasta tuoreimmat saatavilla olevat tiedot. Pääpainotus työssä on toimikorteissa, jonka vuoksi lukulaitesysteemejä ei käsitellä aivan yhtä tarkasti. Tavoitteena on myös välttää kurssin opintomateriaalista löytyvien asioiden toistamista. Työssä rajoitutaan tutkimaan toimikortteja ja niiden lukulaitesysteemejä yleisesti, eikä näin ollen keskitytä tutkiskelemaan yksittäisten korttien tai lukulaitesysteemien toimintaa.

2.0 Toimikortti, mikä se on?

Toimikortteja (engl. smart card) kutsutaan useissa yhteyksissä esimerkiksi älykorteiksi tai sirukorteiksi. Kortti määritellään toimikortiksi, kun se kykenee tekemään muutakin kuin vain muistamaan (2). Tällaisia ominaisuuksia ovat mahdollisuus tallentaa tietoa kortin sirulle, sekä tiedon luku sirulta. Yleisesti toimikorteiksi määritellään siis käyttöjärjestelmällä ja pienellä upotetulla mikroprosessorilla, sirulla, varustettu standardikokoinen muovikortti. ISO/IEC 7810 standardin mukainen ID-1 kortti on kooltaan 85.60 * 53.98 mm., josta hyvänä esimerkkinä toimii normaali luottokortti. ID-000, kuten tavallinen matkapuhelimen SIM-kortti, on puolestaan mitoiltaan 25 * 15 mm. Molemmat kortit ovat paksuudeltaan 0.76 mm. (4) Korttien koot on standardoitu yhteensopivuusongelmien välttämiseksi erilaisissa kortinlukijalaitteissa. Seuraavissa kuvissa vasemmalla on standardikokoinen luottokortti ja oikealla SIM-kortti (©Wikipedia).

Error: can't fetch image from 'http://upload.wikimedia.org/wikipedia/commons/thumb/7/70/Smartcard2.png/140px-Smartcard2.png': 501 Protocol scheme 'https' is not supported (LWP::Protocol::https not installed) Error: can't fetch image from 'http://upload.wikimedia.org/wikipedia/commons/thumb/5/5a/NTT_DoCoMo_FOMA_card_chip_green.jpg/88px-NTT_DoCoMo_FOMA_card_chip_green.jpg': 501 Protocol scheme 'https' is not supported (LWP::Protocol::https not installed)

Kortit voidaan jakaa kolmeen kategoriaan sen mukaan, miten ne kommunikoivat kortinlukijalaitteiden kanssa. Kontaktikortiksi kutsutaan fyysisesti kortinlukijassa luettavaa korttia. Etäluettava kortti ei nimensä mukaisesti tarvitse fyysistä kontaktia päätelaitteeseen tai kortin lukijaan, vaan se kommunikoi laitteiden kanssa hyödyntäen radiotaajuutta sähkömagneettisen signaalin avulla. Tämän vuoksi se tarvitsee sisäänsä sirun lisäksi antennin ja pienen radiovastaanottimen ja -lähettimen. Kolmannen tyypin kortti on yhdistelmäkortti, joka sisältää sekä kontaktikortin että etäluettavan kortin ominaisuudet. (3) Kontaktikortit saavat toimintoihinsa tarvitsemansa virran lukulaitesysteemeiltä sirunsa kautta, etäluettavat puolestaan antenninsa avulla. (1)

3.0 Tekniikka

3.1 Toimikortit

Rakenteeltaan kortit on valmistettu siten, että kortin materiaalina toimiva muovi on tarpeeksi vahvaa kestämään kevyttä taipumista. Myös siru on upotettu ja kiinnitetty muoviin nastoilla siten, että se ei irtoaisi kortista helposti.

Mikroprosessori korteissa on 8-, 16- tai 32-bittinen. Sen tehtävänä on toteuttaa konekäskyt, jakaa muistia eri toiminnoille ja ohjata tiedostoihin pääsyä. Prosessori kontrolloi myös kortin syöttö- ja lähetysporttia, jolla kortti kytkeytyy lukijalaitteisiin. Kortin suhdetta lukijalaitteeseen pidetään tyypillisesti isäntä-orja-suhteena, koska kortti lähettää vain vastauksia annettuihin käskyihin, eikä mitään muuta dataa. (3)

Toimikorteissa oleva käyttöjärjestelmä hallitsee kaikkia kortilla tapahtuvia toimintoja. Sen tärkeimpänä tehtävänä on huolehtia siitä, että kortilla olevat tiedot pysyvät koko ajan suojattuina. Käyttöjärjestelmä huolehtii myös siitä, että lukijalaitteilta tulevat komennot suoritetaan. (5) On kuitenkin tärkeää havaita, että eri valmistajien kortit eivät ole toiminnoiltaan yhteensopivia (2). Eri valmistajilla on käytössään erilaisten käyttöjärjestelmien lisäksi muun muassa erilaisia turvamenetelmiä. Euroopan Yhteisön luoma ITSEC (Information Technology Security Evaluation Criteria) ja kansainvälinen Common Criteria – kriteeristöt ovat näistä yleisesti käytössä olevia turvajärjestelmiä. (5)

Tiedostot toimikorteilla on järjestetty hierarkkisesti puumuotoon. Kortin tiedostojärjestelmä koostuu tavallisesti kantatiedostosta, hakemistotiedostoista ja tiedostoista. Kaksi jälkimmäistä sisältyvät kokonaan kantatiedostoon. Hakemistotiedostoja kortilla on yleisesti useita ja niihin on koottu loogisesti yhteensopivat tiedostot. Tiedosto puolestaan sisältää erilaisissa sovelluksissa tarvittavaa dataa. Tärkeänä ominaisuutena tiedostoilla on valtuusluettelo, joka määrittää, mitä osapuoli on tiedostolle oikeutettu tekemään. (3)

3.2 Lukulaitesysteemit

Lukulaitesysteemeistä ensimmäisenä mieleen tulevat perinteiset pankkiautomaatit ja kaupan kassalla olevat kortinlukijat. Erilaiset lukulaitteet ovat löytäneet tiensä myös tavallisiin koteihin, joissa ne on kytketty tietokoneisiin.

Yksinkertaisesti lukulaitetta tarvitaan haluttujen käskyjen siirtämiseen kortille. Ensimmäiseksi laite lähettää siihen asetetulle kortille reset-signaalin (RST), jonka jälkeen kortti vastaa siihen lähettämällä takaisin answer-to-reset-signaalin (ATR). ATR:n tehtävänä on kertoa lukulaitteelle, millainen kortti siihen on liitetty ja mitä protokollaa se käyttää. Tämän operaation jälkeen siru ja lukulaite voivat aloittaa keskinäisen kommunikointinsa. Käskyt niiden välillä kulkevat TPDU-paketeissa (Transport Protocol Data Unit). Kortin ja lukulaitteen välillä liikkuvaa tietoa yleensä suojataan tutuilla salausmenetelmillä, kuten RSA (Rivest, Shamir, Adleman) tai DES (Data Encryption Standard) tai tarkistesummalla, josta esimerkkinä MAC (Message Authentication Code). (5)

4.0 Turvallisuus

4.1 Toimikorttien turvallisuus ja uhat

Pin-koodi on hyvin tärkeä elementti toimikorttien turvallisuuden kannalta. Pin-koodin avulla käyttäjä autentikoituu kortin haltiaksi laitteeseen, joka korttia käsittelee. Mikäli koodi syötetään lukijalaitteeseen useita kertoja väärin, joka useimmissa tapauksissa on kolme tai viisi kertaa, kortin siru lukittuu. Myös varastetun tai hukkuneen kortin siru voidaan lukita, jolloin kortin käyttäminen vääriin tarkoituksiin voidaan estää. Pin-koodin turvallisuutta lisää myös se, että koodi sijaitsee vain ja ainoastaan kortin sirulla, josta sitä ei tarvitse lähettää tapahtuman yhteydessä vahvistettavaksi kortin ulkopuolelle (3). Koska lähetystä ei tapahdu, ulkopuolisen on lähes mahdotonta siepata koodia.

Toimikorttien yhteydessä on usein käytössä PKI-teknologia (Public Key Infrastructure) eli julkisen avaimen järjestelmä, joka mahdollistaa kortin haltijan tunnistamisen, tietojen salaamisen sekä sähköisen allekirjoittamisen (5). PKI-teknologian epäsymmetrisellä salauksella tieto voidaan suojata avoimissa tietoverkoissa, jonka luomat avainparit varmennetaan digitaalisella allekirjoituksella. Yrityskäytössä tämän tyyliset tietoturvaratkaisut ovat yleistyneet lähiaikoina.

Toimikorttien turvallisuutta on pyritty uhkaamaan erilaisilla laboratorio-olosuhteissa tehdyillä hyökkäyksillä. Kortin tietoja on pyritty saamaan selville muun muassa käyttämällä epänormaaleja jännitteitä, lämpötiloja, kellotaajuuden vaihtelua tai säteilyä. Kyseisiä hyökkäyksiä kutsutaan fyysis-loogisiksi. Valmiita kortteja vastaan pyritään iskemään usein myös erilaisten loogisten tai fyysisten hyökkäysten avulla, joissa pyritään joko selvittämään salaisuuksia esimerkiksi kortin virrankäytön avulla tai tunkeutumaan syvemmälle sirun sisälle. (2) Hyökkäysten suorittamiseksi tarvittavat olosuhteet ja laitteistot vaativat kuitenkin suuria investointeja, mikä asettaa vihamieliselle taholle jonkin asteisen kynnyksen suorittaa erilaisia hyökkäyksiä.

4.2 Lukulaitesysteemien turvallisuus ja uhat

Lukulaitesysteemien turvallisuutta uhkaa yleisesti kolmas osapuoli, joka laitetta peukaloimalla, esimerkiksi asentamalla keylogerin tai muun lisälaitteen, pyrkii havaitsemaan laitteeseen syötetyn toimikortin sirulta tietoja tai kortinhaltijan lukulaitesysteemiin näppäilemiä tietoja, kuten esimerkiksi pin-koodin tai kortin numeron. PIN-koodilla suojattu sirukortti on kuitenkin vaikeampi kopioida huomaamatta, koska kortinhaltija syöttää itse kortin maksulaitteeseen, eikä se joudu ulkopuolisen käsiin missään vaiheessa. Magneettijuovakortteja on huomattavasti helpompi kloonata, ja näiden teemoilta on useita tapauksia ulkomaan reissuilta. Toistaiseksi lähes kaikissa maksukorteissa on edelleen perinteinen magneettiraita käytössä.

Toimikorttien ja lukulaitesysteemien toimintaa on pidetty aiemmin hyvinkin luotettavana. Vuonna 2008 brittiläiset Cambridgen yliopiston tietokonelaboratorion tutkijat onnistuivat kuitenkin rakentamaan lukulaitteeseen lisälaitteen, joka paljasti siihen asetetun sirullisen kortin pin-koodin ja luottokortin numeron. Kaapattuja tietoja voidaan käyttää muun muassa ostosten maksamiseen internetissä tai magneettijuovallisen väärennetyn kortin luomiseen, jolla voisi nostaa rahaa siruttomista automaateista. (6)

Lisääntyvä turvallisuusuhka on myös ilmennyt lukulaitesysteemien yleistyessä kotikäytössä. Työasemissa, joihin lukulaitesysteemit ovat kytketty, olevat Troijan hevoset kykenevät mahdollisesti suorittamaan omia operaatioitaan käyttäjän suorittamien operaatioiden joukossa, ilman tarvetta pin-luvun selville saamisesta (2).

Eräänlaisen uhan lukulaitesysteemien kanssa muodostaa myös heikko näkösuoja. Varsinkin kauppojen kassoilla tai huoltoasemien korttiautomaateilla on ulkopuolisen jopa kohtalaisen helppo tirkistellä maksavan asiakkaan lukulaitesysteemiin syöttämä pin-koodi, koska näkösuoja useissa laitteissa on täysin alimitoitettu tai jopa olematon. Suomessakin on tullut vastaan ainakin yksi tapaus, jossa PIN-koodi kuvattiin kattoon asennetulla videokameralla. Kortinhaltija toki useimmissa tapauksissa pystyy omilla toimillaan lisäämään näköestettä tirkistelyn hankaloittamiseksi.

5.0 Yhteenveto

Toimikortteja ja niiden lukulaitesysteemejä pidetään useiden asiantuntijoiden taholla edelleen hyvin luotettavina, vaikka viime aikoina niiden turvallisuutta on onnistuttu kyseenalaistamaan erilaisten korkea tasoisten laboratorio-olosuhteissa suoritettujen hyökkäysten avulla. Siruteknologia on kuitenkin osoittanut vahvuutensa useita erilaisia hyökkäyksiä vastaan ja useiden asiantuntijoiden mielestä teknologiaa voidaan vielä kehittää, mikäli asia tulee tarpeelliseksi.

Tulevaisuudessa sirulliset toimikortit tulevat varmasti lisääntymään merkittävästi muun muassa korvaamalla loputkin käytössä olevat magneettijuovalliset kortit monipuolisempien ominaisuuksiensa ja paremman turvallisuutensa ansiosta. Sähköisiä henkilökortteja tullaan käyttämään yhä enemmän yksilön identifiointiin. Muun muassa Belgia on ottanut käyttöön sähköiset henkilökortit (eID) ensimmäisten joukossa koko maailmassa ja tavoitteena on saada jokaiselle yli 12 vuotiaalle henkilölle kortti vuoden 2009 loppuun mennessä. (8) Yhdysvalloissa puolestaan on nyt aloitettu sähköisten henkilökorttien (PIV – Personal Identity Verification) myöntäminen valtion työntekijöille (9). Suomessa oli myönnetty yhteensä 274 700 kappaletta sähköisiä henkilöllisyystodisteita tämän vuoden syyskuun loppuun mennessä. (7) Myös lukulaitesysteemit tulevat lisääntymään tavallisessa kotikäytössä, vaikka ne toistaiseksi ovatkin hyvin alttiita esimerkiksi Troijan hevosten aiheuttamiin väärinkäytöksiin. Todennäköistä on myös se, että biometrinen tunnistautuminen esimerkiksi sormenjäljen avulla tulee korvaamaan pin-luvun käyttämisen tulevaisuudessa.

Lähteet

Print version |  PDF  | History: r5 < r4 < r3 < r2 | 
Topic revision: r5 - 14 Nov 2009 - 14:12:22 - TimoRasanen?
 

TUTWiki

Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TUTWiki? Send feedback