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
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