Když jsem před dvěma lety psal, že pro své experimenty s Arduinem sháním krystal 13,56 MHz, zasvěcení asi tušili, k čemu.
V sobotu vystoupil německý kryptolog Timo Kasper na konferenci v Hamburku a presentoval výsledky svého výzkumu týkajícího se napadnutelnosti karet společnosti NXP (dříve Philips) Mifare Classic a Mifare DESfire pomocí tzv. útoku postranním kanálem (side-channel attack) – zkrácená verse videa s českými titulky. Karty tohoto druhu se používají v mnoha aplikacích i v České republice, nejnotabilněji jako proslavená pražská Opencard a také jako IN karta Českých drah. Kasper dokázal získat hesla všech tří aplikací používaných v Opencard během sedmi hodin.
V zájmu spravedlnosti je dlužno dodat, že Kasper není zdaleka prvním, kdo na nedostatky zabezpečení těchto karet veřejně upozorňoval: již v květnu 2010 své výsledky, týkající se ovšem pouze aplikace používané jako náhrada papírových čtenářských průkazů v Městské knihovně v Praze, presentoval Tomáš Rosa.
Důležité upozornění!
Policie České republiky a šéfcensor Ústavu pro studium totalitních režimů Jaroslav Čvančara varují: citovat jakékoli texty z tohoto blogu způsobuje vážné risiko trestního stíhání! Četba na vlastní nebezpečí!
Opencard prolomena
- Autor: Tomáš Pecina
- Kategorie: Počítače
- Počet zobrazení: 6216
Komentáře
PK
MensaCard je Mifare Classic, což je absolutní bezpečností katastrofa. Budu o ní psát, až odtajním své experimenty s Arduinem.
Ano máte pravdu Classic byla absolutní tragedie viz. MFCUK a další nástroje, který prolomý classic do 10minut. Jinak s Arduinem jsem si taky hrál, ale bohužel jsem neměl čas designovat analogový části sám takže jsem použil PN532, což byla bohužel chyba a zabil jsem s ním víc času než když bych si je navrhl. Takže vám přeju hodně štěstí a budu se těšit na výsledky.
T.
Analogovou část jsem řešil z víceúčelových IO a diskrétních součástek, stejně jako u Proxmarku jsem použil výkonový driver sběrnice, 4 bity proti druhým 4 bitům, čtení přes čtyři operační zesilovače, nějaké filtry a komparátor. Antikolisi to moc nezvládalo, ale pro jednu kartu naprosto spolehlivé. Za PN5xx jsem nechtěl utrácet, raději jsem si ji koupil (PN544) v mobilu.
No já jsem nakonec zkončil u desky za 50USD s PN532, protože měla dostupný SAM rozhraní. Ale nyní bych to řešil asi jako vy akorát místo Arduina bych osobně použil něco vykonějšího (kvůli vyšším rychlostem a i jiným normám), experimentoval jsem cSOC SmartFusion. I tak se budu těšit na Vaše výsledky.
T.
I útok postranním kanálem je (implementační) kryptoanalysa. A vzhledem k předpokladu, že Praha používá i pro Triple DES v DESfire slabé heslo (např. jen 64-bitové nebo ještě slabší), by ani útok hrubou silou nemusel být bezvýsledný. I když zde asi nebude paralelisace možná, omezením je počet karet k experimentování a délka jedné transakce.
Podle všeho, Opencard používá 128 bit klíč (respektive 112 bit). Jestli byl zvolen klíč samé nuly nebo 123... to už je jiná věc.
Útok hrubou silou na DES by samozřejmě byl možný pomocí Copacobana nebo Rivyera popřípadě GPU za předpokladu, že by se povedlo získat část plaintextu a ciphertextu například jméno nebo číslo Opencard (nemyslím UID). Útok s přímou komunikaci s kartou by byl podle mě "nemožný". Nechci se tu Opencard zastávat rozhodně si myslím, že za tu cenu jsme mohli mít místo DESFire pomalu SmartMX2. Jenom si myslím, že možná škoda je minimální osobně se obávám, aby se toho někdo nechytil a "zalevno" je nezačal měnit.
T.
RSS kanál komentářů k tomuto článku