Prolomení EMV Chip and pin is broken Platební karty • Magnetický proužek • EMV • Pojmenován podle firem Europay, Master Card a Visa • Nasazen v Evropě, zavádí se v Kanadě a zvažovány USA • Převzat American Express a JCB • Počátkem roku 2008 přes 730 milionů uživatelů Platební karty Bank __ /v 1234 5678 9123 4W7 1 01/99 MR A ' '■-"-. iA. ilustrace EMV - co nabízí? • Nejen označení pro protokol, ale také framework • Založen na snaze o využití principu nulového rozšíření znalosti • Vnejběžnějším kontextu používá funkci karta+pin • Offline a online pin autentizace • Offline a online platba • Komunikace mezi kartou a fin. institucí šifrovaná • Různé metody podpisu dat SDA/DDA EMV - ilustrace issuer terminal select file 1PAYSYS.DDF01 card available applications (e.g C redt/ Debit/ ATM) select application/start transaction signed records, Sig(signed records) unsigned records EMV command SELECT/READ RECORD SELECT/ GET PROCESSING OPTIONS READ RECORD... protocol phase } Card authentication PIN retry counter PIN: xxxx PIN OK/Not OK GET DATA VERIFY Cardholder verification T = (amount, currency, date, TVR, nonce, ...) ARQC = (ATC, IAD, MAC(T, ATC, IAD)) > GENERATE AC T, ARQC ARPC, ARC ARPC, auth code TC = (ATC, IAD, MAC(ARC, T, ATC, IAD)) TC Transaction authorization EXTERNAL AUTHENTICATE/ GENERATE AC Demonstrace útoku • Čtečka čipových karet (8$) • Počítač - zde MITM skript (python) • FPGA deska (189$) • Plastová náhrada karty (2$) Možné realizace útoku • Možnost skrytí sestavy v batohu, kabeláž skryta • Miniaturizace - místo FPGAa nb nějaká jednoúčelová hračka • Karta rozstňžená tak, aby pasovala, pouzdro na ústřižek, vzhled karty Pnciny • Uzavřenost EMV • Použití bitového pole namísto chybových zpráv • Nepřehledná dokumentace • Klíčové detaily roztroušeny napříč specifikacemi Nabízená řešení • Změna rozhraní u vydavatele karty • Terminál bude číst IAD pole, pokud najde nekonzistenci ohlásí • Přikládat výsledky autentizace nositele do komunikace probíhající s vydavatelem (1x se vyskytlo při testech) • Zavést přerušení procesu při chybě • Obalit existující komunikaci např. TLS protokolem