Kormányablak, Ügyfélkapu, magyarorszag.hu, kormany.hu
KORMÁNYABLAK, ÜGYFÉLKAPU - A ZÁRT AJTÓK MÖGÖTT...
(nem hivatalos e-kormányzati témájú oldal)
  
BEMUTATKOZÁS 
E-KÖZIGAZGATÁS 
IT BIZTONSÁG 
  
































  Mottó:
Bäng bäng
Feuer frei!
/Rammstein:
Feuer Frei!/
2012. október 23.  
 MIFARE-play III. 
   
Figyelem! Az alábbi bejegyzésben kizárólag olyan adatok szerepelnek, amelyek nyilvános forrásokból is megismerhetők, azaz üzleti titkot nem sértenek!

A Nemzeti Egységes Kártyarendszer (NEK) keretében különböző MIFARE (NXP/Philips) kártyák kerülnek bevezetésre 2012-2014 során. A BKK megvalósíthatósági tanulmányából tudjuk, hogy a tömegközlekedésben a MIFARE UltraLight C és MIFARE DESFire EV1 kártyákat vezetnék be (erről részleteket ld. az "All In" bejegyzésemben).

A MIFARE DESFire EV1 egy összetettebb és emiatt költségesebb eszköz, inkább tartós használatra szánták. A hitelesítés (authentication) 3DES szimmetrikus kódoló algoritmuson alapul a MIFARE UltraLight C kártyához hasonlóan.

A MIFARE eszközöknél fejlesztői szemszögből nézve a legfontosabb az első lépés, azaz hogy lehet megszerezni a szükséges jogosultságokat pl. a kártya írásához. A többi már csak néhány írás-olvasás parancs kiadása...

A jelen bejegyzés a MIFARE DESFire EV1 modell dokumentációján (illetve egyéb nyilvános információkon) alapul.
A memória (EEPROM) felosztása:

Nincs részletes leírás a memória felosztásáról azon túl, hogy rugalmasan lehet kialakítani.

A hozzáférési jogosultságok megszerzését 2-kulcsos 3DES (CBC-módú) rejtjelezésen alapuló protokoll biztosítja (léteznek más módok is, de azokra jelen összefoglaló nem tér ki). A "libfreefare" forráskódjából is kiolvashatók bizonyos kulcsok, azonban néhány publikus anyagnál (pl. "MSDN fórum" is) a szűz kártyák alapértelmezett kulcsait kell használni:





A hitelesítési protokoll a mifare_desfire_auto_authenticate() illetve mifare_desfire_authenticate() függvényekben követhető nyomon. A "libfreefare" forráskódja, illetve az "MSDN fórum" és "ACR122 NFC olvasó" teszt vektorai segítségével a protokoll visszafejthető.

Az APDU utasítások az ACS saját, "ACR122U PC/SC Scripting Tool" segédalkalmazásával kezelhetők.

Az alábbi példában az APDU utasítások kezdeményezik a hitelesítési "handshake"-et a kártyánál, a megkapott "challenge" adatok alapján kiszámolt "response" értékét visszaküldik és várják a kártya jóváhagyását.





A példában szereplő APDU utasítások értelmezése az alábbiakban olvasható.

  1. APDU: 90 0A 00 00 01 00 00


  2. APDU: 90 AF 00 00 10
    22 95 75 18 68 13 46 31 30 C0 4D B0 34 8A EF C0 00


Kapcsolódó anyagok:
 vissza 
   
  info@kormanyablak.org
info@ugyfelkapu.info