You are here: TUTWiki>Tietoturva/Tutkielmat>Tutkielmat?>EMVKortit

TTY / Tietoturvallisuuden jatkokurssi / Harjoitustyö 2012 / Luonnosvaihe

Timo Alho

Sirulliset maksukortit (EMV-sirukortit)

Johdanto

Sirulliset maksukortit, niin kutsutut EMV-kortit (Europay, MasterCard? and Visa), ovat vakiintuneessa käytössä kansainvälisesti - erityisesti Euroopassa. Tässä tutkielmassa tutustutaan EMV korttien toimintaan, käydään läpi makutapahtuman transaktio, sekä esitellään yksi EMV korttien laitteistototeutus.

EMV-sirukorttistandardia ylläpitää ja kehittää EMVco, jonka jäseninä ovat suuret luottolaitokset ja pankit. Standardi määrittelee mm. korttien sähköiset ja mekaaniset ominaisuudet, korttien ja terminaalien välisen tietoliikenneprotokollan, käytettävät salausmenetelmät sekä korteilla toimivat sovellukset. EMV nojaa pitkälti ISO/IEC 7816 standardiin joka on yleinen toimikorttien standardi. EMV standardi mahdollistaa myös langattomat ratkaisut, esimerkiksi matkapuhelimissa yleistyvä NFC (Near Field Communication) siirtotekniikka on mahdollinen.

Kaikkien SEPA alueen (Single Euro Payments Area) - johon kuuluu 27 jäsenmaata – myyntipäätteiden ja pankkiautomaattien on ollut määrä olla yhteensopivia EMV korttien kanssa viimeistään vuoden 2010 lopussa. Tällä hetkellä EMV-sirukortteja on käytössä maailmanlaajuisesti 1,5 miljardia kappaletta [1].

Maksutapahtuma EMV kortilla

transaktio-vuokaavio.png

Kuva 1. EMV maksutapahtuman vaiheet [1]

EMV sirukortin maksutapahtuman vaiheet, eli transaktio, on esitelty pääpiirteittäin kuvassa 1 [2]. Ensimmäisessä vaiheessa (1) valitaan kortilta käytettävä sovellus, jos niitä on kortille asennettu useampi kuin yksi. Käytänössä tällainen tilanne tulee esille esimerkiksi Debit/Credit yhdistelmäkorttia käytettäessä, missä debit (eli pankkikortti) ja credit (eli luottokortti) ovat kortilla toisistaan riippumattomat erilliset sovellukset. Seuraavissa vaiheissa (2,3) siirretään kortilta terminaalille tapahtuman vaatimat tunnistetiedot (kuten esimerkiksi tilinumero), sekä varmennetaan kortin tiedot. Vaiheessa (5) tunnistetaan käyttäjä jollakin kortin ja terminaalin sopimalla menetelmällä – Suomessa yleisimmin PIN koodin avulla. Transaktioon kuuluu useampi vaihe (6, 7 ja 8), joissa maksaja (kortti) ja maksun saaja (terminaali) tekevät päätöksiä siitä tuleeko maksutapahtuma hyväksyä tai minkälaisia lisävarmennuksia (esimerkiksi allekirjoitus tai online varmennus) tarvitaan transaktion läpiviemiseksi. Tässä tutkielman aihepiirissä tutustutaan hieman tarkemmin vaiheisiin 3 ja 5, eli kortin ja kortinhaltijan tunnistamiseen ja varmentamiseen.

Kortin todennus

EMV kortin, tai sen sisältämän tiedon (kuten vaikka pankkikorttinumeron), autentikointi voidaan toteuttaa erilaisella menetelmällä, riippuen kortin ominaisuuksista ja liikkeellelaskijasta. Pääpiirteittäin menetelmiä on kaksi: staattinen ja dynaaminen.

Static Data Authentication (SDA) on yksinkertainen menetelmä, sen aikana kortilta siirretään allekirjoitettu vakiotieto (eli kortin tunnistetiedot kuten korttinumero) sekä sitä vastaava liikkeellelaskijan julkinen avain. Terminaali, eli maksupääte varmistuu julkisesta avaimen oikeellisuudesta sertifikaatin perusteella sekä tarkistaa kortilta saamansa vakiotiedon allekirjoituksen oikeellisuuden. SDA ei sisällä mitään mekanismia joka estäisi kortin kopioimisen jos hyökkääjä pääse käsiksi varmennustapahtuman aikana siirrettävään tietoon (tai vaihtoehtoisesti saa kortin käsiinsä ”kuulustelua” varten).

Dynamic Data Authentication (DDA) prosessissa EMV kortti vastaanottaa terminaalilta satunnaisen haasteen (ns. nonce arvon). EMV kortti allekirjoittaa viestin, joka sisältää halutun datan, eli kortin tunnistetiedot, sekä vastaanottamansa nonce arvon omalla yksityisellä avaimellaan. Allekirjoitettu viesti, julkinen avain, sekä tarvittavat sertifikaatit siirretään kortilta terminaalille, joka varmistaa niiden oikeellisuuden. Koska prosessi on dynaaminen, ja pitää sisällään muuttuvan nonce arvon, DDA estää tehokkaasti korttien kloonaamisen, kunhan hyökkääjä vain ei pääse käsiksi kortille talletettuun salaiseen avaimeen.

Kortinhaltijan varmentaminen

Maksutapahtumassa kortinhaltija voidaan varmentaa allekirjoituksella, PIN koodilla, tai molemmilla. Käytetty tapa vaihtelee riippuen maksutapahtumasta ja kortin liikkeellelaskijasta. Tunnistus voidaan ohittaa myös kokonaan, kuten pienissä maksuissa on tapana esimerkiksi pysäköintimittareilla. Tämän tutkielman kannalta kortinhalijan varmennusmenetelmistä mielenkiintoinen on ”enciphered PIN” protokolla, jossa terminaali (tai sen näppäimistö) salaa kortin julkisella avaimella näppäillyn PIN koodin sekä kortin antamana satunnaisen haasteen jonka jälkeen tieto siirretään kortille. Koska terminaalit ovat yleensä fyysisesti yhtä ja samaa laitetta, eli kortin lukulaite ja näppäimistö on samoissa kuorissa, PIN koodin salaaminen lienee käytännössä tarpeellista ainoastaan langattomia maksukortteja käytettäessä.

EMV-kortin kryptoprimitiivit

EMV korttien käyttämät primitiivit on listattu EMV standardissa [3] ja ne ovat tuttuja menetelmiä Tietoturvan Jatkokurssilaisille. Symmetrinen salaus voidaan tehdä kahdella eri algoritmilla, 3DES:llä tai AES:lla. Lohkosalauksessa käytettävä moodi on joko ECB (Electronic Code Book) tai CBC (Cipher Block Chaining). Julkisen avaimen algoritmeja on vain yksi – RSA. Lisäksi julkisen avaimen eksponentiksi on rajattu arvot 3 tai 2^16+1. MAC arvojen laskemiseen voidaan käyttää ISO/IEC 9797-1 mukaista menetelmää, CBC-MAC:ia tai CMAC:ia. Tiivistealgoritmina käytetään SHA1:stä.

Laitteisto

EMV korttien laitteistoja valmistaa usea valmistaja, mutta näistä löytyy vapaasti tietoa valitettavasti kuitenkin suhteellisen vähän. Tämän tutkielman tarpeisiin kuitenkin löytyy riittävästi tietoa NXP:n valmistamien mikropiirien datalehden yhteenvedosta [4]. Nämä NXP:n SmartMX? perheen toimikorttimikropiirit on rakennettu 8-bittisen, 8051 mikroprosessoriarkkitehtuurin ympärille. Intel esitteli ensimmäiset 8051 arkkitehtuurin prosessorit 1980, joten sitä voidaan pitää jo verrattain kypsänä teknologiana.

smartmx.png

Kuva 2. SmartMX? toimikortin lohkokaavio [4]

SmartMX? mikropiirin lohkokaavio on esitetty kuvassa 2. Laitteistoon kuuluu prosessorin lisäksi

  • Sarjaliityntä
  • Kiihdytinlohkot AES ja 3DES lohkosalausten laskemiseen. Yhden lohkon salaukseen menee aikaa 40us ja 12us
  • FameXE? apuprosessori julkisen avaimen algoritmien laskennan nopeuttamiseen. FameXE? pystyy salaamaan 1024 bittisellä avaimella RSA allekirjoituksen 99 millisekunnissa ja tarkistamaan allekirjoituksen 2 millisekunnissa (kun e=2^16+1)
  • Satunnaislukugeneraattori (aitojen satunnaislukujen luomiseksi)
  • Muistia, josta osa on suojattu avainten ja PIN-koodin tallentamista varten.

SmartMX? piireissä on muun muassa seuraavanlaisia turvaominaisuuksia:
  • Sisäänrakennettuja antureita ja mittarointia ulkoisten, fyysisten hyökkäysten ja peukalointien torjumiseksi
  • Kellotaajuuden tunnistus, sekä suodatus estämään korkeataajuisten kellopulssien, glitchien, syöttämistä piirille.
  • Lämpötilan ja jännitteen mittarointi
  • Valoanturi UV-valo hyökkäyksen torjumiseksi * ”Poltettavat” sulakkeet suojatun tilan asettamiseksi ohjelmoinnin jälkeen
  • Aktiivinen suodatus (sähkömagneettista säteilyä vastaan)
  • Jokaisella piirillä oma uniikki tunniste (ID)

Yhteenveto

EMV kortit ovat nyky-yhteiskunnassa arkipäivää ja ne ovat laajalle levinneessä käytössä ympäri maailman. Työssä pyrittiin esittelemään pintapuolisesti niiden toimintaa sekä niiden sisältämää laitteistoa.

Lähteet

SivuTiedotLaajennettu edit

Vaativuus Jatko
Valmius Valmisteilla
Tyyppi Ydin
Luokitus Uhkat
Mitä Luottamuksellisuus
Miltä Ihmisetön uhka
Missä Organisaatio
Kuka Titu-ammattilainen
Milloin Ennakolta
Miksi Hyvä tapa
Topic attachments
I Attachment Action Size Date Who Comment
smartmx.pngpng smartmx.png manage 40.0 K 29 Nov 2012 - 20:39 UnknownUser smartmx
transaktio-vuokaavio.pngpng transaktio-vuokaavio.png manage 57.1 K 29 Nov 2012 - 20:38 UnknownUser vuokaavio
Print version |  PDF  | History: r3 < r2 < r1 | 
Topic revision: r3 - 29 Nov 2012 - 20:42:32 - TimoAlho?
 

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