Kaptunk egy olvasói levelet. Az olvasói levelek sokszor inkább csak megmosolyogtatóak, vagy arra vonatkoznak, hogy x alkalmazás miért nem fut y telefonon.
Azonban @pbes alábbi levele egészen más. Rengeteg dolgot tisztába tesz a mobil és bankkártyás fizetés kapcsán. Így engedélyével megosztjuk Veletek is a levelét. Reméljük mindenki számára hasznos lesz. További kérdések, megjegyzések jöhetnek kommentben.
A bankkártyával 4 féle módon lehet fizetni, általában a használata a kártyabirtokosnak díjmentes, a díjat a kereskedő fizeti (a bolt, ahol vásárolsz):
- online, a kártyaszámot, a lejárati időt és a hátoldali CVC2 kódot megadva
- a mágnessávot leolvasva (régi terminálok, Európa régen)
- chip & PIN
- érintéssel (kontaktus nélkül): MasterCard PayPass, VISA payWave
A legkockázatosabb az online, ezt követi a mágnessávos és a chipes/PayPass (utóbbi kettő összefoglaló nevén EMV), ezért a kereskedőknek a legdrágább az online elfogadás, legolcsóbb az EMV (pl: online vásárlásért 3%, EMV tranzakcióért 1%-ot vonnak le a vásárlás összegéből). A tranzakció összegétől, a kártya és a POS terminál paramétereitől függően lehet, hogy a felhasználót azonosítani kell:
- aláírás: mágnessávos kártyáknál
- PIN kód: mágnessávos kártyáknál, chipes kártyáknál (mindig), PayPass kártyáknál (adott összeg felett)
A PayPass kártyáknál két fajta limit létezik:
- soft vagy CVM (cardholder verification method): adott összeg felett PIN kódot kell megadni a terminálon, valószínűleg Magyarországon nektek is ilyen van és a limit 5000 Ft
- hard: ennél nagyobb összeget még PIN kóddal sem lehet elkölteni egy alkalommal a kártyával
Ha mobilfizetésről beszélünk három módot különböztetünk meg:
- zártkörű: egy adott e-pénz szolgáltatónál (PayPal, Barion, Buxa) nyitsz számlát és az ő alkalmazásukkal fizetsz a náluk regisztrált elfogadóhelyeknél vagy utalsz az ismerőseid (ugyanott vezetett) számlájára
- online vagy ún. remote payment (bankkártya adatok megadásával online fizetés): Amazon, Netpincér, Tesco házhozszállítás, AliExpress (Alipay), MasterCard Mobile (Cellum), iCsekk, Google Play Store, Apple Store, stb
- proximity: érintéses PayPass fizetés NFC-s mobiltelefonnal
Az EMV bankkártya gyakorlatilag egy alkalmazás a chipen, amivel a bolti terminál kommunikálni tud. A mobiltelefonban 3 olyan chip lehet, amire telepíthető ez az alkalmazás: a SIM kártya, a telefon beépített biztonsági eleme vagy egy biztonságos SD kártya. A legelterjedtebb az első kettő. A MasterCard feltétele az, hogy a chip és a mobileszköz rendelkezzen MasterCard tanúsítással (http://mastercard-mobilepartner.com/approvals.html). De az Android 4.4-től elérhető a Host Card Emulation (HCE) funkció, ami lehetővé teszi, hogy ilyen bankkártya alkalmazást Android alkalmazásban implementáljanak, amikor a POS terminál megszólítja az NFC antennát, ne a SIM kártya, hanem egy normál alkalmazás válaszoljon, azonban az ilyen szoftveres alkalmazás önmagában nem elég biztonságos bankkártya adatok tárolására.
A Vodafone Wallet és a Magyar Telekom MobilTárca a bankkártya adatokat a SIM-en tárolja (lásd a honlapjukat: http://m.vodafone.hu/mobilvasarlas/wallet,http://www.telekom.hu/lakossagi/szolgaltatasok/egyeb-szolgaltatasok/mobiltarca), az Apple Pay az NFC chipbe épített biztonsági elemen (https://www.apple.com/business/docs/iOS_Security_Guide.pdf), a Samsung Pay pedig egy TEE nevű területen a telefonban (Trusted Execution Environment). Az Android Pay-ről nincs explicit információm, csak feltételezem: mivel nincs különleges technikai igénye (csak Android 4.4-re van szükség), ezért az Android OS normál tárhelyén tárolhatja a kártya adatokat. További háttérinfó – a következő bekezdés megértéséhez -, hogy az EMVco kiadta a Payment Tokenisation Specification-t (https://www.emvco.com/specifications.aspx?id=263), ami lehetővé teszi, hogy a valódi bankkártya adatok helyett egy korlátozott felhasználású tokennel végezzenek tranzakciókat. Ez a specifikáció, ennek a konkrét implementációi a MasterCard MDES illetve a VISA Token Service szolgáltatása. A token a POS terminálról nézve egy normál bankkártya, de valójában csak egy “másolat”, “alias” az eredeti kártyára.
A kártya a mobiltelefonon két formában létezhet:
- önálló kártya: van egy 5321 **** **** 1234 számú plasztikkártyám a tárcámban és egy 5321 **** **** 9999 számú kártyám a telefonom SIM kártyáján (minden szempontból külön kártya, csak a mögötte lévő számla közös: pl külön PIN kód, külön kártyadíj, stb)
- tokenizált kártya: van egy 5321 **** **** 1234 számú plasztikkártyám a tárcámban illetve egy 5999 **** **** 1111 számú “másolat” a SIM kártyán vagy az Apple/Samsung/Android Pay-ben, azzal a korlátozással, hogy a másolatot csak az adott alkalmazásból használhatom
A tokenizáció lehetővé teszi, hogy nem biztonságos helyen (nem MasterCard tanúsított chipen) is tárolhassak bankkártya adatokat, mert ha el is veszteném a telefonomat/malware megszerezné a kártyaadatokat, a kártya használatához fel kell oldani illetve csak egy korlátozott tokent talál, ami csak az adott alkalmazásból/eszközről használható, pl online nem tud vele repülőjegyet rendelni. A proximity mobilfizetés olyan, mint a hagyományos plasztikkártyás PayPass fizetés, csak itt a terminállal nem a kártya chipje kommunikál, hanem a telefon NFC antennáján keresztül a SIM kártyán, a beépített biztonsági elemen (Apple Pay), a TEE-ben (Samsung Pay) tárolt vagy az operációs rendszerben futó virtuális (Android Pay) bankkártya alkalmazás. Tokenizált kártyákkal ugyanúgy lehet fizetni PayPass POS terminálnál, mint a hagyományos plasztik kártyákkal, a CVM limitig (itthon 5000 Ft) nem kér PIN-t, a felett a terminálon kell beírni. A terminál szempontjából ezek valódi kártyák, a fizetési folyamat másik végén történik a “csoda”. Ezen felül van egy új funkció, az ún. on-device azonosítás, amikor a PIN-t nem a terminálon kell beírni, hanem az eszközön azonosítja magát a felhasználó az mPIN-nel (mobile PIN), de itt elképzelhető az is, hogy ujjlenyomattal oldja fel a titkosítva tárolt mPIN-t. Azonban ezt még csak a 3-as verziójú PayPass-t támogató terminálok tudják.
A fenti kép innen származik. Köszönet.