bac platební karty
Transkript
bac platební karty
Quality and Security ‘08, Kongresové centrum Praha Bezpečnost RFID v praxi Dr. Tomáš Rosa, [email protected] eBanka, a.s., a Katedra algebry UK MFF v Praze 11.3.2008 Agenda Přehled technologií a platforem Fyzická vrstva pásem LF a HF Zastavení v pásmu LF ISO 14443 a ISO 7816, bezkontaktní smartkarta Fenomén MIFARE Pionýrská aplikace el. pasu ochrana přístupu, autentizace dat a čipu zranitelnosti, potenciální rizika Poučení pro bezkontaktní platební kartu 11.3.2008 / strana 2 Přehled pasivních čipů „RF“ Radio-klasifikace bezkontaktních čipů Čipy v pásmu LF (100 až 150 kHz) Karty s vazbou na dálku v pásmu HF (13.56 MHz) Karty s vazbou na blízko v pásmu HF (13.56 MHz) Čipy v pásmu UHF (stovky MHz) Mnoho různých provedení Karty, přívěsky, štítky, etikety, implantáty,… RFID – Radio Frequency Identification Chápeme jako konkrétní způsob využití čipů RF. 11.3.2008 / strana 3 Fyzická vrstva pásem LF a HF Využívá chování tzv. blízkého magnetického pole vysílače. Klasická vlna ještě není plně zformována, přenos energie zajišťuje magnetická složka pole. Na soustavu antény vysílače a přijímače je nahlíženo jako na vysokofrekvenční transformátor. 11.3.2008 / strana 4 Anténní soustava V = V0cos(ωt) [7] Přenos v soustavě kruhových antén 11.3.2008 / strana 5 Ilustrace blízkého pole Biot-Savart: dB = µ0NI(R x dc)/(4π|R|3) integrace pro ideální kruhovou cívku |dc| = a*dϕ [7] 11.3.2008 / strana 6 Napětí na anténě čipu [7] Koaxiální uspořádání kruhových antén (výpočet tokuΨ21 je poněkud idealizovaný, nicméně pro ilustraci postačující odhad) M je vzájemná indukčnost anténní soustavy 11.3.2008 / strana 7 Transpondéry unikátního ID S oblibou využívány k ochraně přístupu do budov, kanceláří, garáží, atp. Příkladem může být EM4x02 Pásmo LF Sériová paměť o kapacitě 64 bitů Jakmile se octne v poli terminálu, vysílá cyklicky svůj identifikátor. Žádná kryptografická ochrana Bezpečnost je často prakticky nulová. 11.3.2008 / strana 8 Zlodějka pro pásmo LF 11.3.2008 / strana 9 ISO 14443 Standard pro karty s vazbou na blízko Běžná operační vzdálenost je ≤ 10 cm. Podskupiny A, B Liší se detaily v provedení komunikačního protokolu (modulace, kódování, rámce, sémantika). Transportní platforma smartkaret 11.3.2008 / strana 10 ISO 7816 Popisuje: komunikační rozhraní kontaktních karet, aplikační protokol pro operace s (bez)kontaktní kartou. Snaha o jednotný pohled na čipovou kartu bez ohledu na komunikační rozhraní Kombinace ISO 14443 (komunikace) a ISO 7816 (aplikační příkazy) Z pohledu ISO 7816 se jedná o nový komunikační protokol s označením T = CL (Contactless). Aplikační platforma smartkaret 11.3.2008 / strana 11 Rádiové rozhraní Terminál vysílá základní nosnou s(t) = A*cos(2πfct), fc = 13.56 MHz Minimální efektivní intenzita nemodulovaného pracovního pole musí být 1.5 A/m. Ve vzduchu zhruba odpovídá Bz = 1.88*10-6 T. Signál terminálu přenáší do čipu jednak napájecí energii, jednak data z terminálu. 11.3.2008 / strana 12 Aktivovatelnost smartkaret na dálku Nelze poměřovat s jinými čipy konstruovanými speciálně pro dálkové přenosy. Hraniční vzdálenost je cca desítky cm. Nejde jen o přenos energie z terminálu do čipu, obvykle chceme také slyšet jeho odpovědi. Experimenty jsou pod hranicí 30 cm s jistým výhledem na 50 cm. Tzv. „drcavý útok“ je často jediná možnost. 11.3.2008 / strana 13 Pole na ose kruhové antény Budicí proud: 5 ampér-závitů Průměr závitu: 20 cm a 1 m 11.3.2008 / strana 14 Přenos dat Pro ilustraci vyjdeme z karet typu 14443-A. Základní bitová rychlost je cca 106 kbit/s (přesně fc/128). Data jsou nejprve kódována a poté modulována na základní nosnou. 11.3.2008 / strana 15 Terminál -> čip Kódování modifikovanou Millerovou metodou Amplitudová modulace s hloubkou 100% Úspěšný odposlech dat terminálu by měl být možný na desítky metrů. 11.3.2008 / strana 16 Ilustrace (REQA, simulace) 11.3.2008 / strana 17 Čip -> terminál Kódování metodou Manchester Zátěžová modulace pomocnou nosnou o frekvenci fc/16 (cca 847 kHz) Na anténě terminálu se projevuje jako amplitudová modulace základní nosné. g(t) = A*cos(2πfct)*(1 + m*cos(2πfct/16)) = A*cos(2πfct) + (Am/2)*[cos(2πfc(1 + 1/16)t) + (cos (2πfc(1 - 1/16)t)] 11.3.2008 / strana 18 Ilustrace 11.3.2008 / strana 19 Z pohledu útočníka Odposlech dat vysílaných čipem je komplikovanější než pro opačný směr, hranice je řádu metrů. Slibná je aktivní komunikace s terminálem metodou emulace postranních pásem. Odhaduje se schůdnost na desítky metrů. 11.3.2008 / strana 20 Rekapitulace útočných vzdáleností Aktivní komunikace s čipem desítky cm Odposlech – terminál i čip jednotky m Odposlech – pouze terminál desítky m Aktivní komunikace s terminálem desítky m 11.3.2008 / strana 21 Antikolizní procedura (AP) Ošetření současného výskytu několika čipů v poli terminálu Cílem je postupně identifikovat přítomné čipy a řídit výběr jednoho či skupiny z nich. Odlišné mechanizmy typ A – binární vyhledávání typ B – taktovaná Aloha 11.3.2008 / strana 22 MIFARE Paměťové karty s kryptografickou autentizací a ochranou rádiové komunikace Kapacita 1 KB nebo 4 KB Paměť (1 KB) dělena do sektorů po 4 blocích: 3 bloky jsou datové, 1 blok je zavaděč sektoru, délka bloku je 16 B. Kompatibilní s ISO 14443-A, místo ISO 7816 ovšem používají vlastní sadu příkazů. 11.3.2008 / strana 23 MIFARE - Autentizace Tříprůchodová autentizace s dohodou na klíči (podobně viz podrobně el. pasy) Pro každý sektor lze nezávisle definovat až dva 48b přístupové klíče KA, KB. Implicitně: Philips KA = A0 A1 A2 A3 A4 A5 Philips KB = B0 B1 B2 B3 B4 B4 Infineon KA = KB = FF FF … FF 11.3.2008 / strana 24 MIFARE - Šifrování Proudový algoritmus Crypto1 Popis neveřejný K dispozici v podobě účelových komunikačních obvodů pro terminály (e.g. MF RC531) Úzce spojen s autentizací Hlavní klíč 48 b, délka pracovního klíče není známa. Parametry pro autentizaci (via služba MF RC531): adresa bloku, sériové číslo karty, 11.3.2008 / strana hlavní klíč. 25 MIFARE – Co se dá pokazit Řízení přístupu do objektu na základě pouhého sériového čísla karty Degeneruje MIFARE na identifikační kartu s jednoduchým čipem typu LF. Umožňuje klonování na základě pouhé znalosti sériového čísla. Lze odposlechnout na desítky metrů, i když ho primárně vysílá karta (viz průběh AP)! 11.3.2008 / strana 26 MIFARE - Aktuálně Chaos Communication Congress 2007 Zjištěn algoritmus Crypto1. Útok hrubou silou na autentizační klíč HW v ceně 100 USD uspěje během cca týdne. Objeveny další slabiny kryptoschématu, pracuje se na podrobnější analýze. Veřejné informace jsou zatím kusé. Po ověření to bude znamenat konec MIFARE. 11.3.2008 / strana 27 MIFARE - DESFire Nástupce klasické MIFARE Používá 3DES místo Crypto1. Nově je nabízen i algoritmus AES. Kromě proprietárních příkazů akceptuje také ISO 7816. Neveřejné aplikační rozhraní s poněkud překombinovaným kryptografickým schématem. Potenciální riziko slabiny v API 11.3.2008 / strana 28 Elektronický cestovní pas Obsahuje bezkontaktní čip Podporuje ISO 14443 ve spojení s ISO 7816. Kód aplikace: A0 00 00 02 47 10 01 Datové soubory DG1 až DG15: data vztahující se k cestovnímu dokladu (DG1 kopie strojově čitelné zóny – tzv. MRZ, DG2 fotografie obličeje, DG15 veřejný klíč pro aktivní autentizaci) EF.COM, EF.SOD, EF.DIR: služební data 11.3.2008 / strana 29 Hypotetické detaily pasu ČR Čip Philips – SmartMX, á-la P5CD072 Aplikace a operační systém Gemalto AXSEAL 11.3.2008 / strana 30 P5CD072 11.3.2008 / strana 31 Bezpečnostní mechanizmy Povinné dle ICAO Pasivní autentizace – digitální podpis přítomných souborů z posloupnosti DG1, …, DG15 Povinné v členských zemích EU BAC – základní řízení přístupu k souborům aplikace pasu a některým funkcím (e.g. aktivní autentizaci) Volitelné Aktivní autentizace – autentizace čipu protokolem výzva-odpověď (e.g. v ČR použito, v Německu ne) 11.3.2008 / strana 32 Pasivní autentizace (ČR) Vychází z RSA ve schématu EMSAPSS. Podpisové schéma s dodatkem Formátovací transformace je znáhodněna Délky klíčů: 3072 b - národní certifikační autorita (MV ČR) 2048 b - Státní tiskárna cenin Podpis uložen v EF.SOD ve formátu CMS (RFC 3852) 11.3.2008 / strana 33 BAC – Basic Access Control Vzájemná autentizace terminálu a pasu spojená s dohodou na variabilním hlavním klíči pro ochranu rádiového přenosu Vychází z algoritmu (3)DES a standardu ISO 11770-2 (Key Establishment Mechanism 6) 11.3.2008 / strana 34 BAC – Sestavení hesla Položky hesla: číslo dokladu vč. event. doplňku na 9 znaků a kontrolní cifry (e.g. 38035174<3), datum narození držitele jako YYMMDD vč. kontrolní cifry (e.g. 7411283), datum expirace pasu jako YYMMDD vč. kontrolní cifry (e.g. 1610257). Kódování v ASCII e.g. PSW = 33 38 30 33 35 31 37 34 3C 33 37 34 31 31 32 38 33 31 36 31 30 32 35 37 11.3.2008 / strana 35 Kontrolní číslice Převod znaků na čísla – zobraz. ϕ 0, 1, …, 9 → 0, 1, …, 9 A, B, …, Z → 10, 11, …, 35 < →0 Vstup M = m1 || m2 || … || mn Kódová cifra c = (ϕ(m1)*w1 + ϕ(m2)*w2 + … + ϕ(mn)*wn) mod 10 (wi) je pevná opakující se posloupnost vah (7, 3, 1, 7, 3, 1, 7, 3, 1, …) 11.3.2008 / strana 36 BAC – Zpracování hesla Výpočet hlavního tajemství Kseed = (SHA-1(PSW))[1..16] Výpočet klíčů pro autentizační proceduru KENC = KENC_A || KENC_B = (SHA-1(Kseed || 00 00 00 01))[1..16].B + w KMAC = KMAC_A || KMAC_B = (SHA-1(Kseed || 00 00 00 02))[1..16].B + w Matice B je binární typu 128x128 a slouží spolu s vektorem w k dosazení paritních bitů pro (3)DES. Lichá parita po sedmi bitech zleva: (k1, k2, .., k7, k8 = p1, k9, k10, …, k16 = p2, k17, …) 11.3.2008 / strana 37 BAC – Prostup autentizace I Terminál Žádá pas o náhodné číslo. 02 00 84 00 00 08 2F EC Pas Vygeneruje a vyšle 8B náhodné číslo RP. 02 52 2A B1 D5 43 7E B8 C6 90 00 CE A3 11.3.2008 / strana 38 BAC – Postup autentizace II Terminál: Vygeneruje 8B náhodné číslo RT a 16B náhodné číslo KT = KT_A || KT_B. Pro RT || RP || KT sestaví kryptogram C1, C2, …, C5, kde C1 = 3DESK_ENC( RT ), C2 = 3DESK_ENC( RP ⊕ C1 ), C3 = 3DESK_ENC( KT_A ⊕ C2 ), C4 = 3DESK_ENC( KT_B ⊕ C3 ), C5 = 3DESK_MAC( 263 ⊕ DESK_MAC_A( C4 ⊕ DESK_MAC_A( C3 ⊕ DESK_MAC_A( C2 ⊕ DESK_MAC_A( C1 ) ) ) ) ). Zašle (C1, …, C5) pasu. 03 00 82 00 00 28 BF F7 F4 09 69 78 4E 2F 8F 5D 0E BA 33 4E 75 8C 54 AA 79 D2 0E CD C5 2E FC 12 5A 12 B5 7D 40 8D BD 34 3D EC 2D 5E 74 E8 28 5E 0E 11.3.2008 / strana 39 BAC – Postup autentizace III Pas: Zkontroluje a odšifruje (C1, …, C5). Ověří výskyt RP ve druhém bloku OT. Vygeneruje 16B náhodné číslo KP = KP_A || KP_B. Sestaví (C1’, …, C5’) pro RP || RT || KP a zašle ho terminálu. 03 22 24 CC 03 E2 A0 DC 72 5D 43 C4 00 F5 0D BE A4 11 8B 27 18 39 C7 05 3A 1D 7E C2 D1 9A 5F 96 FA 93 19 0E 3C A0 39 79 6B 90 00 5E F2 11.3.2008 / strana 40 BAC – Postup autentizace IV Terminál: Zkontroluje a odšifruje (C1’, …, C5’). Ověří výskyt RT ve druhém bloku OT. Terminál i pas vypočtou: Kseed’ = KT ⊕ KP, (výchozí sdílené tajemství pro SM) SSC = RP[1..4] || RT[1..4]. (IV pro MAC v SM) 11.3.2008 / strana 41 BAC – Navazující SM SM – Secure Messaging dle ISO 7816 Odvození klíčů spojení KSENC = KSENC_A || KSENC_B = (SHA-1(Kseed’ || 00 00 00 01))[1..16].B + w KSMAC = KSMAC_A || KSMAC_B = (SHA1(Kseed’ || 00 00 00 02))[1..16].B + w 11.3.2008 / strana 42 SM… 11.3.2008 / strana 43 SM… 11.3.2008 / strana 44 Aktivní autentizace I (ČR) Terminál: Vygeneruje 8B náhodné číslo V a zašle ho pasu. 02 0C 88 00 00 20 87 11 01 D3 7E FA 31 AB 6B 70 66 2C 04 09 31 A3 12 DE 1A 97 01 00 8E 08 C3 18 27 C3 72 F4 61 4E 00 35 3E (Ačkoliv je použito SM, hlavičku příkazu vidíme dobře.) 11.3.2008 / strana 45 Aktivní autentizace II (ČR) Pas: Vygeneruje 106B náhodné číslo U. Vypočte w = SHA-1( U || V ). Sestaví m = 6A || U || w || BC. (21022 < m < 21024) Vypočte s = md mod N, kde (N, d) je soukromý klíč RSA pasu. 1024 bitů dlouhý modul N Patrně uložený ve skrytém souboru EF 0013. Vrátí s terminálu. 11.3.2008 / strana 46 Zjevné slabiny el. pasu ICAO Detekovatelnost přítomnosti pasu Markanty: přítomnost aplikace A0 00 00 02 47 10 01, podpora protokolu BAC, atp. Útok hrubou silou na BAC Zjevně nízká entropie primárního hesla Postačí odposlech strany terminálu Dílčí slabiny BAC a SM Detekce zpracování pasu se známým heslem SM nechrání hlavičky příkazů a chybové statusy odpovědí 11.3.2008 / strana 47 Přepojovací útok na aktivní autentizaci Pas žádá o prodloužení čekání na odpověď na 4949 ms. Při nepotvrzení nebo při potvrzení kratší doby pas při experimentech vždy ukončil komunikaci. Lze předpokládat, že i terminály na hranicích musí cca 5s prodlevu akceptovat. Přitom při experimentech pas odpovídal za méně než 1 s. Zbývají cca 4 s na přepojení výzvy z padělku k pravému pasu a vrácení odpovědi zpět… 11.3.2008 / strana 48 Ilustrace útoku 11.3.2008 / strana 49 Postranní kanály PK je každý nežádoucí způsob výměny informací mezi kryptografickým modulem a jeho okolím. Fyzikální principy pasivních čipů RF výrazně usnadňují vznik řady postranních kanálů. Jedná se zejména o elektromagnetické PK. 11.3.2008 / strana 50 RSA: Square-and-Multiply Vstup: celá čísla x, d, N 0≤x<N 2k-1 ≤ d < 2k, pro nějaké přirozené k d = dk-12k-1 + … + d12 + d0 Výstup: xd mod N Postup: 1. z ← x 2. for i = k – 2 to 0 3. Square Multiply z ← z2 mod N if di = 1 then z ← z*x mod N return z i. ii. 11.3.2008 / strana 51 Projevy FAME-XE v poli S M S M Naměřeno týmem doc. Lórencze, KP FEL ČVUT v Praze, duben 2007 S M S M S M S 11.3.2008 / strana 52 Poučení pro platební karty Odlišnosti ve fyzikální povaze komunikačního rozhraní vyžadují přehodnocení zažitého paradigmatu. Akt „vědomého předložení karty“ toho o skutečné vůli klienta už příliš neříká. Nechráněná data a funkce jsou nyní vystaveny podstatně širšímu okruhu útočníků. Papírová obálka dobře stíní viditelné světlo, nikoliv už pásmo HF. Očekávejme intenzivnější hrozbu útoků postranními kanály. Atp. … 11.3.2008 / strana 53 Pracovní konstrukce: RFID-EMV Platební karty dobývající USA používají neveřejná schémata. Kompatibilita se standardem čipových karet EMV nebyla experimentálně pozorována. Výzkumy odhalily řadu slabin [5]. Doufejme, že se jedná o přechodný stav. Pro ilustraci uvažujme hypotetickou platformu RFID-EMV vzniklou migrací stávajících kontaktních karet na bezkontaktní. 11.3.2008 / strana 54 Hypotetická rizika RFID-EMV I Přepojovací útok na celou transakci Klient může nevědomky zaplatit útočníkovu útratu v restauraci, atp. Odposlech citlivých dat Získání PIN přenášeného nechráněně v rámci operace VERIFY. Signál terminálu může být čitelný na desítky metrů… 11.3.2008 / strana 55 Hypotetická rizika RFID-EMV II Čtení citlivých údajů Nechráněné soubory lze číst bez vědomí klienta (drcavý útok). Zablokování karty Překročení počtu pokusů o zadání PIN, přetečení čítače ATC, atp. 11.3.2008 / strana 56 Závěr Technologie bezkontaktních čipů bezpochyby odhaluje nové možnosti služeb zákazníkům. Není rozumné se před tímto fenoménem skrývat. Zároveň ale odhaluje nové strategie útoků, které u „kontaktních“ čipů nebyly uvažovány. Není rozumné provádět přímočaré migrace „kontaktních“ aplikací na bezkontaktní.11.3.2008 / strana 57 Děkuji za pozornost… Dr. Tomáš Rosa eBanka, a.s., a Katedra algebry UK MFF [email protected] 11.3.2008 / strana 58 Reference 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ČSN ISO/IEC 14443-1..4 ČSN ISO/IEC 7816-3, 4 Development of a Logical Data Structure – LDS for Optional Capacity Expansion Technologies, ICAO, ver. 1.7, 2004 Hancke, G.: A Practical Relay Attack on ISO 14443 Proximity Cards, IEEE Symposium on Security and Privacy 2006 Heydt-Benjamin, T.-S., Bailey, D.-V., Fu, K., Juels, A., and O'Hare, T.: Vulnerabilities in First-Generation RFID-Enabled Credit Cards, In Proc. of Eleventh International Conference on Financial Cryptography and Data Security, Lowlands, Scarborough, Trinidad/Tobago, February 2007 Kirschenbaum, I., Wool, A.: How to Build a Low-Cost, Extended-Range RFID Skimmer, USENIX 2006 Lee, Y.: Antenna Circuit Design for RFID Applications, AN 710, Microchip Tech. Inc., 2003 Lórencz, R., Buček, J. a Zahradnický, T.: osobní komunikace, 2007 MIFARE DESFire MF3 IC D40, Preliminary Short Form Specification v. 2.0, Philips Semiconductors, September 2003 MIFARE MF1 IC S50, Rev 5.1, Philips Semiconductors, May 2005 Nohl, K, and Plötz, H.: MIFARE – Little Security, Despite Obscurity, 24th Chaos Communication Congress, 2007, http://events.ccc.de/congress/2007/Fahrplan/events/2378.en.html PKI for Machine Readable Travel Documents offering ICC Read-Only Access, IACO, ver. 1.1, 2004 Rašek, L.: Elektronické pasy – jak fungují, kopie internetových stránek z roku 2006 SmartMX – P5CD072 Secure Dual Interface PKI Smart Card Controller, Short Form Specification v. 1.2, Philips Semiconductors, October 2004 11.3.2008 / strana 59 Šiková, M.: Biometrie v osobních dokladech – cestovní doklady s biometrickými údaji, Konference CARDS, Praha 13. září 2006