Kryptografické útoky na RC522 a MIFARE čipy
RC522 a MIFARE Classic čipy, nasazené v miliardách zařízení po celém světě, představují jeden z nejvýznamnějších případů selhání kryptografické bezpečnosti v moderních dějinách. Proprietární šifra Crypto1, která byla po 14 let utajována, obsahuje fundamentální slabiny umožňující rychlé kompromitování všech sektorových klíčů. Tento článek poskytuje podrobnou technickou analýzu šesti hlavních typů útoků, jejich implementace a obranných opatření.
Výzkum ukazuje, že 95% původních MIFARE Classic karet lze kompromitovat během 10-30 minut pomocí běžně dostupného hardware za méně než 10 000 Kč. Navzdory pokusům o vylepšení v podobě MIFARE Classic EV1, základní architektonické problémy zůstávají nevyřešené. Pro organizace používající tyto systémy představuje jejich nasazení úplnou kompromitaci bezpečnosti vyžadující okamžitou migraci na kryptograficky bezpečné alternativy.
Technické základy RC522 a MIFARE architektury
Architektura RC522 čtečky
MFRC522 (běžně označovaný jako RC522) je vysoce integrovaný bezkontaktní čtecí/zapisovací obvod od NXP Semiconductors pracující na frekvenci 13.56 MHz. Klíčové specifikace zahrnují napájecí napětí 2,5-3,6V, komunikační rozhraní SPI (až 10 Mbit/s), I²C (až 3,4 Mbit/s) a UART (až 1228,8 kBd), a 64-bajtový obousměrný FIFO buffer pro zpracování dat.
Digitální architektura obsahuje bezkontaktní UART pro zpracování protokolu, 16-bitový CRC koprocesor s polynomem x¹⁶ + x¹² + x⁵ + 1, programovatelnou časovací jednotku s 12-bitovým předděličem a generátor pseudonáhodných čísel. Kriticky důležitá je ověřovací jednotka MIFARE Classic s podporou Crypto1, která implementuje celý ISO/IEC 14443-A protokolový zásobník.
Struktura paměti MIFARE Classic
MIFARE Classic karty využívají EEPROM paměť organizovanou hierarchicky. Verze 1K obsahuje 1024 bajtů organizovaných do 16 sektorů po 4 blocích, kde každý blok má 16 bajtů. Použitelné úložiště činí pouze 752 bajtů po odečtení systémových bloků.
Každý sektor obsahuje datové bloky (0-2) a sektorový trailer (blok 3) s rozložením: Key A (6 bajtů), přístupové bity (4 bajty), Key B (6 bajtů). Výchozí klíče jsou nastaveny na 0xFFFFFFFFFFFF, což představuje zásadní bezpečnostní riziko v nenastavených systémech.
Šifra Crypto1 a její zranitelnosti
Crypto1 je proprietární proudová šifra skládající se z 48-bitového lineárního zpětnovazebního posuvného registru (LFSR) s polynomem obsahujícím 16 termů, dvouvrstvé 20-na-1 nelineární filtrační funkce a 16-bitového LFSR pro generování pseudonáhodných čísel během autentifikace.
Kritické kryptografické chyby zahrnují inherentně lineární design LFSR zranitelný vůči algebraickým útokům, pouze 48-bitové klíče výpočetně proveditelné k hrubému prolomení, předvídatelný PRNG používající předvídatelné počáteční podmínky, a možnost obnovení stavu prostřednictvím časové analýzy.
MFKEY32 V2 útok
Algoritmická implementace a matematické základy
MFKEY32 V2 vykořisťuje slabý PRNG v MIFARE Classic kartách analýzou šifrovaných nonce shromážděných během pokusů o autentifikace mezi kartou a legitimní čtečkou. Matematickým základem je struktura 48-bitového LFSR Crypto1 a slabina PRNG používající 16-bitový LFSR, kde znalost jedné poloviny determinuje druhou.
Klíčové rozdíly oproti MFKEY32 V1 spočívají v eliminaci časových omezení - pokusy o autentifikace mohou probíhat v různých časech, což poskytuje flexibilnější implementaci s vyššími míry úspěšnosti.
Implementační workflow
Útok probíhá ve čtyřech fázích: Kolekce nonce - emulace cílové karty pro zachycení čtečkových nonce během autentifikace, analýza dat - extrakce šifrovaných nonce {nT} a paritních bitů z komunikace, rekonstrukce LFSR - výpočet možných stavů LFSR generujících pozorované nonce, a obnova klíče - zpětný chod LFSR do počátečního stavu obsahujícího autentifikační klíč.
Požadované pokusy o autentifikaci: Minimum 2 pokusy (nemusí být po sobě jdoucí), optimálně 4-8 pokusů pro vyšší míru úspěšnosti. Míra úspěšnosti: 85-95% na standardních kartách, snížená na 30-50% u zpevněných karet kvůli vylepšenému PRNG.
Hardware a software požadavky
Proxmark3 RDV4: 2-5 sekund na klíč, cena €200-300. ACR122U: 30-60 minut kvůli pomalejší komunikaci, cena €30-50. Chameleon Ultra: srovnatelná s Proxmark3 pro kolekci, cena €80-120.
Časová náročnost zahrnuje fyzické požadavky: těsná blízkost cílové karty (1-4cm), výpočetní požadavky: moderní procesor s 256MB RAM minimum, čas: 10 sekund až 5 minut pro obnovu klíče v závislosti na hardware.
Darkside útok
Princip a metodika obnovy klíčů
Darkside útok vykořisťuje postranní kanál v autentifikačním zpracování chyb MIFARE Classic, konkrétně šifrované NACK (Negative Acknowledgment) odpovědi. Karta ověří paritu → správná (8 bitů), ověří autentifikaci → nesprávná (špatné aR), odpověď: 4-bitové NACK šifrované keystream.
Technický proces exploitace
Útok probíhá v šesti krocích: počáteční autentifikace - odeslání auth příkazu cílovému sektoru, kolekce nonce - příjem karty nonce nT (32 bitů), parití útok - generování čtečky nonce nR se správnými paritními bity, odeslání šifrované {nR, aR} s úmyslně špatnou aR hodnotou, exploitace NACK - extrakce 4 keystream bitů: ks = NACK_plaintext ⊕ NACK_encrypted, iterace - opakování s různými nT hodnotami pro shromáždění ~32 keystream bitů, a obnova klíče.
Metriky výkonu: Kolekční fáze 5-30 minut v závislosti na kartě a hardware, výpočetní fáze 1-10 sekund pro obnovu klíče, míra úspěšnosti 90-95% na zranitelných kartách (před-EV1), průměrně ~300 pokusů o autentifikaci.
Praktické omezení
Hardwarové závislosti: Proxmark3 typicky 5-15 minut, ACR122U 30-60 minut kvůli pomalejší komunikaci, PN532 15-45 minut s správnou časovou konfigurací. Detekce a omezení: EV1 karty mají opravenou NACK zranitelnost (0% úspěšnost), čínské klony často více zranitelné (95% úspěšnost).
Nested útoky
Klasický Nested útok
Matematickým základem je slabina Crypto1 proudové šifry a předvídatelný PRNG v původních MIFARE Classic kartách. Crypto1 používá 48-bitový LFSR s tendenčními filtračními funkcemi, PRNG používá pouze 16-bitový LFSR s předvídatelným počátečním stavem, LFSR se resetuje do známého stavu při zapnutí, což činí nonce předvídatelnými prostřednictvím časování.
Útok: Autentifikace se známým klíčem produkuje první nonce (Nt1), vnořená autentifikace do neznámého sektoru produkuje šifrované nonce ({Nt2}), časová analýza umožňuje predikci plaintext Nt2, XOR operace: {Nt2} ⊕ Nt2 = 32 bitů keystream, zpětný chod LFSR z jakéhokoli vnitřního stavu pro obnovu 48-bitového klíče.
StaticNested útok
StaticNested útoky cílí karty se statickými šifrovanými nonce - protiopatření, které se obrátilo proti sobě tím, že učinilo útoky jednodušší. Někteří výrobci implementovali statické nonce v domnění, že zabrání vnořeným útokům, ale statické šifrované nonce lze sbírat a analyzovat bez časových omezení.
Výzkum Quarkslab (2024) objevil hardwarové zadní vrátka v Fudan FM11RF08S kartách s univerzálním zadním vrátkem: společný napříč všemi FM11RF08S kartami, implementace statických šifrovaných nonce ve skutečnosti činí útoky efektivnějšími.
HardNested útok
HardNested útok (vyvíjen Carlo Meijer a Roel Verdult, 2015) představuje významný pokrok, ale přichází se značnou složitostí. Jedná se o první útok pouze na šifrový text na zpevněné MIFARE Classic karty, funguje proti kartám s řádnými PRNG (MIFARE Classic EV1, SmartMX), využívá pouze kryptografické slabiny v Crypto1, nikoli implementační chyby.
Technický přístup má tři fáze: Shromáždění šifrovaných nonce prostřednictvím vnořené autentifikace, určení sumových vlastností stavů vnitřní šifry pomocí statistické analýzy, generování seznamu kandidátských klíčů a provedení cílené hrubé síly. Používá sumovou analýzu vlastností k redukci vyhledávacího prostoru z 2⁴⁸ na ~2³⁰, využívá hypergeometrické distribuce pro pravděpodobnostní analýzu.
Současný stav implementace: Plná implementace existuje v Proxmark3 RRG firmware, vyžaduje významnou RAM (1,2GB+) pro ukládání a analýzu nonce, GPU akcelerace (bitsliced) redukuje čas útoku na 5-10 minut.
Relay útoky
Principy relay útoků
Relay útoky využívají základní předpoklad, že blízkost znamená bezpečnost, což umožňuje útočníkům rozšířit komunikační rozsahy a obejít autentifikační systémy bez prolomení šifrování. Útok se skládá z mole zařízení umístěného poblíž oběti karty/štítku, proxy zařízení umístěného poblíž cílové čtečky, a komunikačního kanálu spojujícího obě zařízení.
Implementace v MIFARE kontextu
MIFARE Classic je obecně odolný vůči relay útokům kvůli přísným časovým požadavkům, zranitelný vůči jiným útokům (kryptografické slabiny, obnova klíčů). MIFARE DESFire EV1 je zranitelnější vůči relay útokům, podporuje rozšíření vzdálenosti až na několik metrů, úspěšně demonstrován v kontrolovaných prostředích.
Technické nastavení zahrnuje Proxmark3 platformu pro průmyslový standard RFID výzkumu a útoků, řešení založená na smartphonech s Android telefony s NFC schopností, vlastní hardware s PN532, PN533 čipsety, specializované relay nástroje za $100-1000.
Detekce a prevence
Distance bounding protokoly měří round-trip time (RTT) výměn challenge-response, odhadují maximální vzdálenost na základě rychlosti světla, detekují neobvyklá zpoždění indikující přítomnost relay. Environmentální podmínky zahrnují snímání teploty, magnetometry pro čtení, okolní hluk, fyzickou interakci tlačítkem.
Srovnávací analýza útoků
Účinnost a časová náročnost
Darkside útok vykazuje téměř 100% úspěšnost na zranitelných kartách s časem 5-30 sekund, nevyžaduje žádné předpoklady, ale nefunguje na zpevněných kartách. MFKEY32 V2 dosahuje 85-95% úspěšnosti na standardních kartách s časem 10 sekund až 5 minut, vyžaduje emulaci karty pro sběr nonce.
Klasický Nested má 95%+ míru úspěšnosti s časem sekundy až minuty na sektor, vyžaduje alespoň jeden známý klíč. HardNested dosahuje 80-90% úspěšnosti s časem 15-25 minut celkem, vyžaduje jeden známý klíč plus významné výpočetní zdroje.
Hardware požadavky a dostupnost
Premium tier zahrnuje Proxmark3 RDV4 za $270 a iCopy-X za $400-500. Střední třída obsahuje Chameleon Ultra za $120-130 a Flipper Zero za $170. Rozpočtové možnosti nabízejí ACR122U za $40-60 a čínské Proxmark klony za $50-80 (nedoporučované).
Obranná opatření a detekce
Detekce na straně čtečky zahrnuje monitoring neobvyklých autentifikačních vzorů, časovou analýzu rychlých pokusů o autentifikaci, monitoring míry chyb s vysokou mírou NACK odpovědí. Protiopatření na úrovni karty obsahují vylepšení PRNG (MIFARE Classic EV1), potlačení NACK odpovědí, časové limity autentifikace, diverzifikaci klíčů.
Praktické aspekty implementace
Nástroje a konfigurace
Software nástroje zahrnují mfoc (MIFARE Classic Offline Cracker) pro implementaci "offline nested" útoku, mfcuk (MIFARE Classic Universal toolKit) pro implementaci Darkside útoku, libnfc verze 1.7.1+ pro nízkoúrovňovou NFC komunikaci, crapto1 knihovnu pro implementaci šifry Crypto-1.
Proxmark3 příkazy:
hf search # Základní detekce karty
hf mf mifare # Darkside útok
hf mf nested # Nested útok
hf mf hardnested # Hardnested útok
hf mf autopwn # Automatizovaná sekvence útoků
Časové a výpočetní požadavky
Sběr dat typicky vyžaduje 2-10 sekund blízkosti karty, stabilní RF pole během sběru nonce, schopnost emulovat odpovědi karty čtečce. Výpočetní fáze potřebuje moderní procesor (1-2 jádra dostačující), 256MB RAM minimum pro ukládání kandidátů, čas 10 sekund až 5 minut pro obnovu klíče.
Právní úvahy a etické směrnice
Právní požadavky zahrnují písemné povolení povinné před jakýmkoli testováním, definici rozsahu s jasnými hranicemi a omezeními, pravidla zapojení s detailními parametry testování. Zakázané aktivity obsahují neautorizovaný přístup, klonování karet, finanční podvody, narušení soukromí.
Bezpečnostní doporučení
Okamžitá opatření
Hodnocení rizik vyžaduje okamžité bezpečnostní posouzení RFID systémů, implementaci dalších autentifikačních vrstev kde je to možné, monitoring neobvyklých autentifikačních vzorů, zvážení těchto útoků v modelování hrozeb.
Systémová bezpečnost zahrnuje správu whitelistů s databázemi schválených UID, behaviorální analýzu pro monitoring neobvyklých přístupových vzorů, multi-faktor autentifikaci kombinující RFID s PIN/biometrickou verifikací, monitorování síťové bezpečnosti pro detekci rapidních pokusů o autentifikaci.
Dlouhodobá migrace
Bezpečné alternativy zahrnují MIFARE DESFire EV2/EV3 s AES-256 šifrováním, MIFARE Plus se zpětnou kompatibilitou a AES-128 bezpečností, kompletní upgrade infrastruktury s výměnou všech karet a čteček. Kvantově odolné řešení začínají být dostupná pro dlouhodobou bezpečnost.
Závěr
RC522/MIFARE Classic ekosystém představuje studii selhání bezpečnosti skrze utajení. Navzdory rozšířenému nasazení činí fundamentální kryptografické slabiny v šifře Crypto1 tyto systémy zcela nevhodné pro jakékoli bezpečnostně citlivé aplikace.
Kombinace lineárního designu šifry, slabé správy klíčů a předvídatelných protokolových toků vytváří mnohočetné vektory útoků, které byly rozsáhlé zdokumentovány a vykořisťovány od roku 2008. Organizace používající MIFARE Classic systémy čelí úplné kompromitaci bezpečnosti a měly by upřednostnit migraci na kryptograficky bezpečné alternativy.
Výzkum pokračuje ve vývoji pokročilejších útočných technik i obranných opatření. Kvantové výpočty a AI/ML detekční systémy představují budoucí směry jak pro útočníky, tak obránce. Pro bezpečnostní specialisty je kritické udržovat si aktuální znalosti těchto vyvíjejících se hrozeb a implementovat proaktivní obranné strategie.
Klíčová doporučení zahrnují okamžité posouzení všech RFID systémů v infrastruktuře, implementaci dodatečných bezpečnostních vrstev, plánování migrace na moderní standardy s kvantově odolnou kryptografií, a vytvoření kontinuálních monitorovacích procesů pro detekci potenciálních útoků. Pouze proaktivní přístup k těmto fundamentálním bezpečnostním slabinám může chránit kritické systémy před stále se vyvíjejícími hrozbami.
![]()






