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