http://excel.fit.vutbr.cz
Analyza ´ NFC relay utoku ´ Petr Holubec* Abstrakt ˇ anek ´ ´ ´ Cl se zab´yva´ bezpeˇcnost´ı bezkontaktn´ıch plateb. Popisuje navrh a implementaci systemu, kter´y demonstruje jednoduchost proveden´ı tzv. NFC relay utoku na bezkontaktn´ı platebn´ı karty. ´ ´ se sklad ´ a´ z mobiln´ı aplikace pro Android a serverove´ cˇ asti ´ realizuj´ıc´ı samotne´ pˇrepos´ılan´ ´ ı System ´ em ´ prostˇred´ı komunikace. Tento v´yzkum si klade za c´ıl anal´yzu proveden´ı tohoto utoku v realn ´ bezkontaktn´ıch platebn´ıch transakc´ı. ˇ a´ slova: NFC — Android — bezpeˇcnost — bezkontaktn´ı platby Kl´ıcov ´ Pˇriloˇzene´ materialy: N/A *
[email protected], Fakulta informaˇcn´ıch technologi´ı, Vysoke´ uˇcen´ı technicke´ v Brneˇ
´ 1. Uvod ˇ Cesk´ a republika patˇr´ı ve svˇetov´em mˇeˇr´ıtku na prvn´ı pozice ve vyuˇz´ıv´an´ı bezkontaktn´ıch platebn´ıch karet. Pro mnoh´e z n´as je tento zp˚usob platby pˇr´ıjemn´ym zjednoduˇsen´ım a tak´e v´ıtan´ym zrychlen´ım pˇri n´akupu nejr˚uznˇejˇs´ıho zboˇz´ı. M´alokdo si vˇsak uvˇedomuje i rizika spojen´a s touto technologi´ı a jej´ı snadn´e zneuˇzit´ı pˇr´ıpadn´ym u´ toˇcn´ıkem. Tomu velice usnadˇnuje pr´aci kompatibilita bezkontaktn´ıch platebn´ıch karet s technologi´ı NFC, jej´ızˇ podpora je v mobiln´ıch telefonech cˇ´ım d´al bˇezˇ nˇejˇs´ı. ˇ anek popisuje n´avrh a implementaci syst´emu, Cl´ kter´y demonstruje moˇznost realizace tzv. NFC relay u´ toku v prostˇred´ı bezkontaktn´ıch platebn´ıch transakc´ı. Jedn´a se o jeden ze zp˚usob˚u zneuˇzit´ı bezkontaktn´ı technologie v oblasti platebn´ıch karet.
ˇreˇsen´ı koliz´ı) aˇz po aplikaˇcn´ı rozhran´ı (pˇr´ıkazy a odpovˇedi platebn´ı karty). V r´amci t´eto pr´ace n´as zaj´ım´a pˇredevˇs´ım komunikace s kartou na u´ rovni aplikace. Ta prob´ıh´a bin´arnˇe stylem v´yzva – odpovˇed’. Jednotliv´e pˇr´ıkazy jsou form´atov´any zp˚usobem TLV (Type, Length, Value), kdy v prvn´ıch dvou poloˇzk´ach fixn´ı d´elky (typicky 1-4 byty) je pˇren´asˇ en typ resp. d´elka obsahu a pot´e teprve n´asleduj´ı samotn´a data[2]. Cel´y takto vytvoˇren´y paket je zapouzdˇren do APDU (Application Protocol Data Unit, definov´an v ISO/IEC 7816-4). Jeho hlaviˇcka obsahuje tˇr´ıdu a typ pˇr´ıkazu a dva parametry. Volitelnˇe mohou n´asledovat velikost dat, data samotn´a a oˇcek´avan´a d´elka dat v odpovˇedi. Ta obsahuje pouze n´avratov´a data a 2 byty urˇcuj´ıc´ı u´ spˇech, ne´uspˇech cˇ i jin´y stav zaslan´eho pˇr´ıkazu. Napˇr´ıklad dvojice 90,00 znamen´a u´ spˇesˇn´e proveden´ı pˇr´ıkazu. Pˇresnou strukturu obou typ˚u APDU zn´azorˇnuje obr´azek 1.
2. Vyuˇzite´ technologie a protokoly Pokud chce bezkontaktn´ı termin´al nebo mobiln´ı zaˇr´ızen´ı s NFC komunikovat s cˇ ipovou platebn´ı kartou, ve vˇetˇsinˇe pˇr´ıpad˚u vyuˇzije protokol EMV (zkratka z Europay, Mastercard, Visa). O tuto specifikaci se v souˇcasn´e dobˇe star´a organizace EMVCo, jej´ımiˇz cˇ leny jsou rovn´ym pod´ılem spoleˇcnosti American Express, Discover, JCB, MasterCard, UnionPay a Visa[1]. Jednotliv´e specifikace jsou pr˚ubˇezˇ nˇe aktualizov´any a v nˇekolika knih´ach popisuj´ı komunikaˇcn´ı protokol od nejniˇzsˇ´ıch vrstev (napˇr. pˇrenos a cˇ asov´an´ı jednotliv´ych bit˚u nebo
´ Obrazek 1. Form´at pˇr´ıkazu a odpovˇedi APDU.
Ve chv´ıli, kdy je platebn´ı karta pˇriloˇzena k termin´alu poˇzaduj´ıc´ımu proveden´ı transakce, je nav´az´ano
spojen´ı a zah´ajena v´ymˇena s´erie pˇr´ıkaz˚u, kter´a v ide´aln´ım pˇr´ıpadˇe skonˇc´ı u´ spˇesˇn´ym zaplacen´ım. Nejprve je nutn´e pˇr´ıkazem SELECT vybrat spr´avn´e PPSE (Proximity Payment Systems Environment), kter´e je v pˇr´ıpadˇe bezkontaktn´ıch platebn´ıch transakc´ı reprezentov´ano ˇretˇezcem 2PAY.SYS.DDF01. V odpovˇedi je vr´acen identifik´ator AID (Application ID), kter´y vyuˇzijeme v dalˇs´ım pˇr´ıkazu pro v´ybˇer poˇzadovan´e aplikace. N´asleduje pˇr´ıkaz GET PROCESSING OPTIONS, kter´ym jsou z´ısk´any AIP (Application Interchange Profile) a AFL (Application File Locator), kter´e slouˇz´ı mimo jin´e jako informace o poˇctu soubor˚u a z´aznam˚u aktu´alnˇe vybran´e aplikace[2]. Ty mohou b´yt pot´e postupnˇe pˇrecˇ teny pomoc´ı pˇr´ıkazu READ RECORD. D´ale n´asleduj´ı pˇr´ıkazy nutn´e pro samotnou platbu, kter´e jsou specifick´e pro kaˇzd´y typ karty[3]. V´ysˇ e popsan´a u´ vodn´ı f´aze bezkontaktn´ı platby je zn´azornˇena na obr´azku 2.
´ Obrazek 3. Zn´azornˇen´ı probl´emu hr´acˇ e sˇ ach˚u.
vˇs´ım rychl´y komunikaˇcn´ı kan´al bez zbyteˇcn´ych zpoˇzdˇen´ı. D´ale jsou zapotˇreb´ı bezkontaktn´ı karta obˇeti a termin´al, kter´y hodl´ame obelst´ıt naˇs´ı emulovanou kartou. ˇ Protoˇze je v Cesk´ e Republice aktu´alnˇe zaveden limit 500 Kˇc pro platbu bez zad´an´ı k´odu PIN, uvaˇzujme d´ale pouze cˇ a´ stky do tohoto limitu.
4. Existuj´ıc´ı vyzkumy ´
´ Obrazek 2. Komunikace mezi bezkontaktn´ı cˇ teˇckou a
platebn´ı kartou pomoc´ı protokolu EMV.
3. Popis utoku ´ Z´akladn´ı princip relay u´ toku lze snadno uk´azat na probl´emu hr´acˇ e sˇ ach˚u popsan´em v [4], kter´y chce vyhr´at proti sˇ achov´emu mistrovi. Pˇredstavme si podvodn´ıka, kter´y hraje na d´alku 2 partie sˇach˚u se dvˇema r˚uzn´ymi sˇ achov´ymi mistry. Podvodn´ık v˚ubec nemus´ı zn´at pravidla hry, d˚uleˇzit´e je, aby v kaˇzd´e partii hr´al za jinou barvu. Pot´e pouze pˇrepos´ıl´a tahy jednoho hr´acˇ e hr´acˇ i druh´emu dokud hra neskonˇc´ı. Ti, pˇrestoˇze si oba mysl´ı, zˇ e hraj´ı proti naˇsemu podvodn´ıkovi, ve skuteˇcnosti hraj´ı navz´ajem proti sobˇe[5]. Situaci zn´azorˇnuje obr´azek 3. V nejbˇezˇ nˇejˇs´ım pˇr´ıpadˇe NFC relay u´ toku jsou zapotˇreb´ı dvˇe zaˇr´ızen´ı pod kontrolou u´ toˇcn´ıka. Prvn´ı z nich bude slouˇzit jako faleˇsn´a cˇ teˇcka bezkontaktn´ı karty a druh´e vyuˇzijeme pro emulaci karty. Mezi tˇemito dvˇema zaˇr´ızen´ımi je nutn´e vytvoˇrit spolehliv´y a pˇrede-
Uk´azkou realizace relay u´ toku na technologii NFC se v minulosti zab´yvalo mnoho prac´ı. Liˇs´ı se pˇredevˇs´ım volbou pˇrenosov´eho kan´alu, pouˇzit´ymi zaˇr´ızen´ımi a pˇren´asˇ en´ymi daty resp. uˇzit´ım. V t´eto cˇ a´ sti si v rychlosti pˇredstav´ıme myˇslenky a u´ spˇechy nˇekter´ych vybran´ych prac´ı. Prvn´ı prac´ı je [6]. Zde se autor˚um podaˇrilo uskuteˇcnit u´ tok pomoc´ı 4 mobiln´ıch telefon˚u HTC One X se syst´emem Android verze 4.0 Ice Cream Sandwich. Vzhledem k tomu, zˇ e Android Beam pouˇz´ıv´a jako fyzick´e pˇrenosov´e m´edium Bluetooth a ten nepodporuje v´ıce spojen´ı najednou, musela b´yt jako relay kan´al zvolena bezdr´atov´a s´ıt’. Pro demonstraci funkˇcnosti byla naps´ana mobiln´ı aplikace, kter´a cel´e pˇrepos´ıl´an´ı dat implementovala. V pr´aci [7] vyuˇzili autoˇri NFC relay u´ toku na obelstˇen´ı pˇr´ıstupov´eho syst´emu. Pomoc´ı mobiln´ı aplikace a jedin´eho mobiln´ıho telefonu pˇrepnut´eho do reˇzimu Peer-To-Peer u´ toˇcn´ık zachyt´ı autentizaˇcn´ı kl´ıcˇ ze zaˇr´ızen´ı obˇeti. Pot´e se telefon pˇrepne do reˇzimu emulace karty a pˇri komunikaci se cˇ teˇckou vyuˇzije jiˇz zachycen´y kl´ıcˇ pro z´ısk´an´ı pˇr´ıstupu do stˇreˇzen´eho objektu. Specifikem t´eto pr´ace je vyuˇzit´ı pouze jedin´eho zaˇr´ızen´ı. Uplatnˇen´ı tato metoda najde v prostˇred´ıch, kde nen´ı nutn´e zprostˇredkov´avat pˇr´ım´y komunikaˇcn´ı kan´al, ale staˇc´ı jednou z´ıskat potˇrebn´e opr´avnˇen´ı, kter´e je po pˇrepnut´ı zaˇr´ızen´ı do reˇzimu emulace karty moˇzn´e vyuˇz´ıt pozdˇeji. Praktickou uk´azku NFC relay u´ toku hned na nˇekolika typech dat pˇredstavili autoˇri z lond´ynsk´e univerzity v [8]. Pomoc´ı dvou mobiln´ıch telefon˚u s podporou NFC, mezi kter´ymi vytvoˇrili Bluetooth spojen´ı,
dok´azali oˇsa´ lit bezkontaktn´ı cˇ teˇcku. Pro otestov´an´ı bylo nejprve vyzkouˇseno pˇrenesen´ı tokenu a dalˇs´ı operace s bezkontaktn´ı kartou. Pot´e bylo otestov´ano proveden´ı platby pomoc´ı karty se statickou autentizac´ı pr´av a pˇreˇcten´ı dat z elektronick´eho pasu. Vˇsechny pokusy skonˇcili u´ spˇechem i pˇres nejistotu, zda bude delˇs´ı prodleva (pˇredevˇs´ım u vˇetˇs´ıch APDU obsahuj´ıc´ıch JPEG fotografii z pasu) cˇ teˇckou akceptov´ana. V pr´aci jsou d´ale diskutov´any moˇznosti, jak podobn´ym u´ tok˚um pˇredch´azet a to jak z pohledu bezkontaktn´ıho syst´emu, tak z pohledu mobiln´ıho telefonu. Velice zaj´ımavou a pomˇernˇe aktu´aln´ı prac´ı je [9]. Autor vyuˇz´ıv´a dvˇe zaˇr´ızen´ı Nexus 7 k pˇremostˇen´ı komunikace mezi bezkontaktn´ı platebn´ı kartou a NFC cˇ teˇckou pˇripojenou k notebooku. Nejzaj´ımavˇejˇs´ı cˇ a´ st´ı jsou proveden´e optimalizace samotn´eho pˇrenosu a d´ıky tˇemto u´ prav´am dosaˇzen´e cˇ asy. Z anal´yzy protokolu EMV vyplynulo, zˇ e prvn´ıch nˇekolik pˇren´asˇen´ych zpr´av se pro jednu konkr´etn´ı kartu v kaˇzd´e transakci st´ale opakuje. Proto je moˇzn´e tyto zpr´avy uloˇzit a pˇri dalˇs´ı transakci je jiˇz na kaˇzd´e stranˇe prov´est lok´alnˇe bez nutnosti jejich pˇrenosu. Pot´e se pˇrenese pouze nˇekolik m´alo zpr´av, kter´e jsou pro kaˇzdou platbu jedineˇcn´e. D´ıky tomuto vylepˇsen´ı bylo pˇri u´ toku dosaˇzeno srovnateln´ych cˇ as˚u jako pˇri skuteˇcn´e platbˇe, coˇz dokazuje, zˇ e detekce relay u´ toku na z´akladnˇe rychlosti odezvy nemus´ı b´yt dostateˇcn´a. Posledn´ı, avˇsak nem´enˇe zaj´ımavou prac´ı je [5]. Autoˇri vytvoˇrili mobiln´ı aplikaci pro syst´em Android, kter´a zastane roli bezkontaktn´ı cˇ teˇcky nebo emulovan´e karty (podle volby uˇzivatele). Dvˇe zaˇr´ızen´ı (od kaˇzd´e role jedno) jsou pot´e spojeny peer-to-peer komunikaˇcn´ım kan´alem. Autor˚um se u´ spˇesˇ nˇe podaˇrilo uskuteˇcnit platbu na vlastn´ım platebn´ım termin´alu (Ingenico IWL280), nav´ıc nˇekolika r˚uzn´ymi telefony (Nexus 4, Nexus 5, Samsung Galaxy Nexus a Sony Xperia S). V pr´aci je tak´e zm´ınˇena zaj´ımav´a myˇslenka zneuˇzit´ı tohoto u´ toku v podobˇe tzv. botnetu napaden´ych zaˇr´ızen´ı. To pˇri detekci platebn´ı karty kontaktuje u´ toˇcn´ıka, kter´y m˚uzˇ e prov´est transakci ve sv˚uj prospˇech.
´ ´ 5. Obecny´ navrh systemu Cel´y syst´em je navrˇzen s ohledem na maxim´aln´ı sˇk´alovatelnost. C´ılem nen´ı dos´ahnout pouze ad-hoc spojen´ı mezi dvˇema zaˇr´ızen´ımi, n´ybrˇz vytvoˇrit centralizovan´y syst´em, ve kter´em bude moci figurovat teoreticky neomezen´e mnoˇzstv´ı platebn´ıch karet a u´ toˇcn´ık si pouze vybere, kterou z aktivn´ıch karet vyuˇzije k platbˇe. Proto se jednotliv´a zaˇr´ızen´ı budou registrovat v˚ucˇ i serveru a v pˇr´ıpadˇe, zˇ e jsou v reˇzimu cˇ teˇcky a detekuj´ı ve sv´e bl´ızkosti platebn´ı kartu, odeˇslou jej´ı z´akladn´ı u´ daje na server. V pravideln´ych intervalech bude server dost´avat
ozn´amen´ı, zda je karta st´ale k dispozici nebo jiˇz nen´ı v dostateˇcn´e bl´ızkosti. Zaˇr´ızen´ı v roli emulace karty se pak m˚uzˇ e dot´azat serveru na seznam pr´avˇe aktivn´ıch karet, ze kter´eho si uˇzivatel vybere jednu kartu, s n´ızˇ se vytvoˇr´ı spolehliv´e spojen´ı.
´ Obrazek 4. Sch´ema navrˇzen´eho syst´emu.
´ ´ 6. Volba pˇrenosoveho kanalu V naˇsem pˇr´ıpadˇe vyuˇzijeme jako relay kan´al mezi dvˇema mobiln´ımi telefony Wi-Fi a mobiln´ı datovou s´ıt’ LTE. Protoˇze n´am jde o vyzkouˇsen´ı re´aln´eho u´ toku, nikoliv pouze o potvrzen´ı proveditelnosti v dom´ac´ıch a pˇredem definovan´ych podm´ınk´ach, mus´ıme uvaˇzovat i fyzickou vzd´alenost obou zaˇr´ızen´ı. Proto by bylo chybn´e spol´ehat pouze na Wi-Fi pˇripojen´ı a z toho d˚uvodu pˇredpokl´ad´ame i moˇznost spojen´ı pomoc´ı mobiln´ı datov´e s´ıtˇe. To n´am bohuˇzel pˇrin´asˇ´ı komplikaci, protoˇze zaˇr´ızen´ı mohou b´yt v r´amci sv´ych s´ıt´ı za pˇrekladem adres (napˇr´ıklad NAT[10]) a bylo by tedy velice n´aroˇcn´e, ne-li dokonce nemoˇzn´e, propojit telefony pˇr´ımo. Proto je jako prostˇredn´ık implementov´an server, kter´y zajist´ı spojen´ı obou zaˇr´ızen´ı a pˇrepos´ıl´a veˇskerou komunikaci. Nejv´ıce kritick´ym faktorem konkr´etn´ıho typu pˇripojen´ı je rychlost odezvy, kter´a m˚uzˇ e b´yt pˇri komunikaci s bezdr´atovou cˇ teˇckou kl´ıcˇ ov´a. Pro pˇrenos jednotliv´ych pˇr´ıkaz˚u mezi cˇ teˇckou a platebn´ı kartou, kter´y mus´ı b´yt uˇz z principu obousmˇern´y, slouˇz´ı protokol WebSocket (RFC 6455). Ten umoˇznˇ uje pomoc´ı HTTP[11] poˇzadavku vytvoˇrit obousmˇern´e spojen´ı, kter´e pro samotn´y pˇrenos vyuˇz´ıv´a protokolu TCP[11]. V´yhodou je, zˇ e na serveru nemus´ı b´yt otevˇren dalˇs´ı port a spojen´ı se iniciuje pˇres jiˇz otevˇren´y port vyuˇz´ıvan´y webovou aplikac´ı. Dalˇs´ım pˇr´ınosem je, zˇ e vrstva protokolu WebSocket sama skl´ad´a a kompletuje fragmentovan´e zpr´avy a aplikaci je doruˇcuje jiˇz kompletn´ı, coˇz zjednoduˇsuje zpracov´an´ı dat v aplikaci.
´ ´ 7. Navrh komponent systemu K proveden´ı u´ toku lze pouˇz´ıt dvˇe zaˇr´ızen´ı se syst´emem Android verze 4.4 Kitkat nebo vyˇssˇ´ı. Jeden telefon slouˇz´ı jako faleˇsn´a bezkontaktn´ı cˇ teˇcka karet a druh´y v NFC reˇzimu emulace karty vystupuje jako faleˇsn´a bezkontaktn´ı karta. V pˇr´ıpadˇe, zˇ e m´a prvn´ı telefon ve sv´e bl´ızkosti bezkontaktn´ı kartu, druh´e zaˇr´ızen´ı je schopn´e se za tuto kartu vyd´avat. Veˇskerou komunikaci obdrˇzenou od skuteˇcn´e cˇ teˇcky druh´e zaˇr´ızen´ı pˇrepos´ıl´a na server, kter´y ji d´ale pˇred´av´a prvn´ımu telefonu. Ten komunikaci odes´ıl´a bezkontaktn´ı kartˇe, pro kterou se nyn´ı prvn´ı telefon tv´aˇr´ı jako legitimn´ı cˇ teˇcka. Jakmile karta na obdrˇzenou komunikaci odpov´ı, cel´y ˇretˇez se opakuje, pouze v obr´acen´em poˇrad´ı. T´ımto zp˚usobem jsou legitimn´ı cˇ teˇcka a skuteˇcn´a bezkontaktn´ı karta schopny komunikovat, dokud jedna ze stran komunikaci neukonˇc´ı nebo nedojde k pˇreruˇsen´ı spojen´ı. Jako serverov´a cˇ a´ st syst´emu slouˇz´ı aplikace napsan´a pro platformu Java EE. Ta bˇezˇ ´ı na virtu´aln´ım serveru s veˇrejnou IP adresou a je tak pˇr´ıstupn´a z internetu. Spojen´ı je zabezpeˇceno pomoc´ı TLS protokolu HTTPS[11]. Aplikace pracuje s datab´az´ı MySQL, kter´a je vyuˇzita pro ukl´ad´an´ı informac´ı o jednotliv´ych zaˇr´ızen´ıch, kart´ach a spojen´ıch mezi nimi. Pro mapov´an´ı informac´ı z datab´aze na Java objekty je vyuˇzit framework Hibernate, kter´y je nejrozˇs´ıˇrenˇejˇs´ı implementac´ı specifikace Java Persistence API (JPA). Pro z´akladn´ı komunikaci se serverem je vytvoˇreno REST API, kter´e klientovi nab´ız´ı nˇekolik metod, jak ze serveru z´ıskat potˇrebn´a data pomoc´ı HTTP metody GET, nebo naopak uloˇzit informace metodou POST (pops´ano v RFC 2616). Pokud je tˇreba v tˇele dotazu cˇ i odpovˇedi pˇren´asˇ et data, jsou tato data vloˇzena v textov´e podobˇe ve form´atu JSON (RFC 4627). Jednotliv´e dotazy jsou pro snazˇs´ı pr´aci na serveru automaticky konvertov´any na koresponduj´ıc´ı objekty.
8. Experimenty Mobiln´ı aplikace byla testov´ana na nˇekolika r˚uzn´ych zaˇr´ızen´ıch s odliˇsn´ymi parametry i verzemi syst´emu Android. Jmenovitˇe napˇr´ıklad LG Nexus 4, LG Nexus 5, LG Nexus 5X, Sony Xperia Z3 Compact, Sony Xperia Z5 Compact, Samsung Galaxy S5 mini a dalˇs´ı. Prvn´ı f´aze testov´an´ı prob´ıhala v dom´ac´ıch podm´ınk´ach, kde m´ısto re´aln´e cˇ teˇcky poslouˇzil telefon s aplikac´ı pro cˇ ten´ı bezkontaktn´ıch platebn´ıch karet. Pˇr´ıkladem takov´eto aplikace mohou b´yt Credit Card Reader NFC (EMV), cardme nebo obecnˇejˇs´ı NFC TagInfo by NXP. Pˇrepos´ıl´an´ı komunikace prob´ıhalo bez probl´em˚u a pˇresnˇe tak, jak se oˇcek´avalo. Zkouˇsena byla r˚uzn´a zaˇr´ızen´ı v r˚uzn´ych rol´ıch, stejnˇe tak jako byl syst´em otestov´an na Wi-Fi i datov´e s´ıti LTE.
N´asledovat budou experimenty na re´aln´ych platebn´ıch termin´alech. Testov´an´ı m˚uzˇ e prob´ıhat napˇr´ıklad tak, zˇ e doma bude zanech´ano zaˇr´ızen´ı s platebn´ı kartou v jeho bezprostˇredn´ı bl´ızkosti a druh´ym telefonem bude zaplaceno zboˇz´ı v obchodˇe. Toto je samozˇrejmˇe pouze testovac´ı pˇr´ıpad, jak lze implementovan´y syst´em vyuˇz´ıt pro platby mobiln´ım telefonem, nicm´enˇe re´aln´y u´ tok by vypadal ponˇekud odliˇsnˇe. Typick´ym pouˇzit´ım by bylo napˇr´ıklad pˇribl´ızˇ en´ı telefonu k taˇsce nebo kabelce obˇeti v prostˇredc´ıch MHD, zat´ımco druh´y u´ toˇcn´ık by na druh´em konci mˇesta platil vybranou kartou za zboˇz´ı. Zobecnˇen´ım tohoto sc´en´aˇre by pak byla rozs´ahl´a s´ıt’ u´ toˇcn´ık˚u, pˇr´ıpadnˇe zaˇr´ızen´ı vhodnˇe rozm´ıstˇen´ych po mˇestˇe cˇ i v MHD, kteˇr´ı by zajiˇst’ovali komunikaci s kartami obˇet´ı, zat´ımco dalˇs´ı skupina u´ toˇcn´ık˚u by aktu´alnˇe dostupn´ymi kartami prov´adˇela platebn´ı transakce. V kapitole 4 je struˇcnˇe pops´ano nˇekolik prac´ı, kter´e se mimo jin´e zab´yvaj´ı i n´avrhem vhodn´ych opatˇren´ı pro zabr´anˇen´ı tomuto typu u´ toku. Zˇrejmˇe nejjednoduˇssˇ´ı a tak´e nejˇcastˇeji uvaˇzovan´e ˇreˇsen´ı na stranˇe termin´alu je zaloˇzeno na rychlosti odezvy platebn´ı karty, kter´a by pˇri pˇrenosu komunikace pˇres internet mˇela b´yt snadno rozpoznateln´a. O ne´ucˇ innosti a moˇznosti pˇrekon´an´ı t´eto obrann´e metody se p´ısˇe v pr´aci [9]. Z pohledu vlastn´ıka bezkontaktn´ı platebn´ı karty se zd´a nej´ucˇ innˇejˇs´ı obrana v podobˇe speci´aln´ıho pouzdra, kter´e dok´azˇ e odst´ınit pokusy o komunikaci s bezkontaktn´ı kartou. V re´aln´ych podm´ınk´ach typicky staˇc´ı m´ıt v penˇezˇ ence cˇ i kabelce v´ıce bezkontaktn´ıch karet (napˇr´ıklad dalˇs´ı platebn´ı kartu nebo vˇernostn´ı karty obchodn´ıch ˇretˇezc˚u), kter´e se navz´ajem zaruˇs´ı a znemoˇzn´ı tak komunikaci s jednotliv´ymi kartami.
´ er ˇ 9. Zav V t´eto pr´aci byl pˇredstaven a struˇcnˇe pops´an u´ tok typu NFC relay, kter´y umoˇznˇ uje vyuˇzit´ı platebn´ı nebo jin´e bezkontaktn´ı karty i na fyzickou vzd´alenost, kter´a u karet tohoto typu nen´ı br´ana v u´ vahu. Pomoc´ı dvou mobiln´ıch zaˇr´ızen´ı pod kontrolou u´ toˇcn´ıka lze pˇrepos´ılat komunikaci mezi termin´alem a platebn´ı kartou i na obrovsk´e vzd´alenosti d´ıky spojen´ı pˇres internet. D´ale byly struˇcnˇe pˇredstaveny vybran´e pr´ace, kter´e se zab´yvaj´ı podobnou problematikou. Pro demonstraci a anal´yzu tohoto u´ toku byl navrzˇ en a implementov´an syst´em, kter´y se skl´ad´a z mobiln´ı aplikace pro Android a serverov´e cˇ a´ sti na platformˇe Java EE. Ten umoˇznˇ uje propojit dvˇe zaˇr´ızen´ı pˇripojen´a pomoc´ı Wi-Fi nebo mobiln´ı datov´e s´ıtˇe a pˇrepos´ılat jednotliv´e pˇr´ıkazy od termin´alu ke kartˇe a zase zpˇet. V syst´emu je moˇzn´e registrovat teoreticky neomezen´e mnoˇzstv´ı platebn´ıch karet a u´ toˇcn´ık si pouze vybere
jednu aktivn´ı, kterou vyuˇzije k platbˇe. Funkˇcnost navrˇzen´eho ˇreˇsen´ı byla otestov´ana pomoc´ı aplikace pro naˇc´ıt´an´ı informac´ı z platebn´ıch karet. Bˇehem tˇechto experiment˚u se uk´azalo, zˇ e registrace zaˇr´ızen´ı a karet i pˇrepos´ıl´an´ı komunikace funguje spr´avnˇe a bez probl´em˚u. N´asledovat bude testov´an´ı na re´aln´ych platebn´ıch termin´alech.
ˇ ´ ı Podekov an´ R´ad bych podˇekoval Ing. Luk´asˇ i Aronovi za spoustu uˇziteˇcn´ych rad a pˇripom´ınek k m´e pr´aci. D´ale velice dˇekuji pˇr´ıtelkyni Pavle Pichov´e za podporu a obˇetavou pomoc s vytv´aˇren´ım doplˇnuj´ıc´ıch materi´al˚u.
Literatura [1] EMVCo. About emvco. [online], 2016 [cit. 201604-09]. [2] EMVCo. Book 3 – application specification. [online], listopad 2011. [3] EMVCo. Book 1 – application independent icc to terminal interface requirements. [online], listopad 2011. [4] John Horton Conway. On numbers and games. A K Peters, Natick, 2. edition, 2001. [5] Jos´e Vila and Ricardo J. Rodr´ıguez. Practical experiences on nfc relay attacks with android. In Radio Frequency Identification, volume 9440 of Lecture Notes in Computer Science, pages 87– 103. Springer International Publishing, 2015. [6] Zhao Wang, Zhigang Xu, Wei Xin, and Zhong Chen. Implementation and analysis of a practical nfc relay attack example. In Instrumentation, Measurement, Computer, Communication and Control (IMCCC), 2012 Second International Conference on, pages 143–146, prosinec 2012. [7] D. Cavdar and E. Tomur. A practical nfc relay attack on mobile devices using card emulation mode. In Information and Communication Technology, Electronics and Microelectronics (MIPRO), 2015 38th International Convention on, pages 1308–1312, kvˇeten 2015. [8] Lishoy Francis, Gerhard Hancke, Keith Mayes, and Konstantinos Markantonakis. Practical relay attack on contactless transactions by using nfc mobile phones. [online], 2011 [cit. 2016-01-05]. [9] Jordi van den Breekel. Relaying emv contactless transactions using off-the-shelf android devices. bˇrezen 2015.
[10] Dhiman D. Chowdhury. Unified IP internetworking. Springer, Berlin, vyd. 1. edition, 2001. [11] Adrian Farrel. Internet and its protocols: a comparative approach. Morgan Kaufmann, San Francisc, 2004.