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ó:
Gandalf: You Shall Not Pass!
/J. R. R. Tolkien: The Lord of the Rings/
2019. május 1.  
 eSzemélyi okmány: LePASSzolod az adataidat? 
   
- Milyen jó lenne, ha nem kellene ennyi dolgot magamnál tartani. Ez sem tömné ki a zsebemet. A telefonom is alig fér be. - tűnődött Drifter, miközben a vaskos irattartóját pörgette az ujjai közt.
- Te, add csak ide a személyidet? Valamit ki szeretnék próbálni! - mondta hirtelen ötlettől vezérelve Mets.
- Várj, kicsit nehezen jön ki a tokból. Hát, igen, a bankkártyámat többször használom, mint a személyimet. No, itt van! Mit csinálsz vele?
- Egy pillanat... Csak... Megpróbálom...
Mets a mobiltelefonjához érintette a kártyát és feszülten várt egy pár másodpercig, majd végül diadalittas mosoly ült ki az arcára. Drifter felé fordította a mobilját, aminek a képernyőjén ott virított a fényképe, az adatai, sőt, még az aláírásképe is, amit pár éve az okmányirodában vettek fel. Drifter szemei felcsillantak, majd összevonta szemöldökét és kissé gúnyosan megjegyezte:
- Ha-ha! Nagy cucc! Egy fényképben én is tudom OCR-ezni az adatokat! OK, mondjuk a születési dátumom számait könnyebben lehet felismertetni, mint a nevem betűit. Szoktunk is röhögni, amikor a Google Translate a japán karaktereket összevissza fordítgatja, mert nem elég kontúros a sok kanji.
- Jaja, csak az a baj, hogy ez nem fénykép... A kormányzat által igazolt adataidat szedtem le NFC-n! És még egy dolog: mond Neked valamit az, hogy e-aláírás?

A fenti elképzelt beszélgetés akár "Berg Judit: Drifter - A darknet árnyékában" című könyvében is szerepelhetne, hiszen a fiataloknak szóló könyvben Mets és Drifter jelszótörés és mobil forensic mellett más IT biztonsági témákkal is foglalkozik a Hackerspace műhelyében (a jelszótörési témával a 2019-es Safer Internet Day kapcsán már foglalkoztam). Valószínűleg érdekelné őket a magyar eSzemélyi okmány (eSZIG kártya), ami nemzetközi viszonylatban is meglepően sokat tud, sőt, a terméktanúsítások sikeres lezárultával, 2016. május 27-én jogilag is szintet lépett.

Az eSzemélyi okmány (eSZIG kártya) négy darab JavaCard applet-et tárol:
  • ePASS (MRTD, útlevél)
  • eID (eIDAS, személyazonosító igazolvány)
  • eSIGN (eIDAS, minősített elektronikus aláíráshoz titkos kulcs és tanúsítvány)
  • eNEK (MIFARE, elektronikus jegyrendszer)
Az eSzemélyi okmány (eSZIG kártya) tulajdonosára, az állampolgárra vonatkozólag elsősorban az ePASS (MRTD, útlevél) és eID (eIDAS, személyazonosító igazolvány) tárol érzékeny (mások számára értékes) adatokat. Ezeket az attribútumokat, mint nyílt adatokat bizonyos folyamatoknál (regisztráció, űrlap kitöltése stb.) ki is lehet olvasni az eSzemélyi okmányból a felhasználó jóváhagyása alapján. Kevésbé ismert viszont (és nem is igaz általánosan, minden okmányra nézve), hogy az ePASS (MRTD, útlevél) JavaCard applet-ből ennél jóval több is kinyerhető: az attribútumok, mint nyílt adatok (köz)hitelességét igazoló, a kibocsátó hatóság (pl. Belügyminisztérium) által létrehozott elektronikus aláírások is lekérdezhetők!

(Mielőtt belemennék a részletekbe, szeretném hangsúlyozni, hogy ez nem bug, hanem feature, legalábbis a magyar kártyához hasonlóan működik pl. a cseh vagy a holland megoldás is, de vannak ellenpéldák is, mint pl. a német. A részletekről az ICAO Doc 9303 specifikációkban lehet bővebben olvasni.)

Az ePASS (MRTD, útlevél) JavaCard applet-ben többek közt az alábbi adatok találhatók:
  • EF.DG1
    természetes személy okmányának MRZ adata
  • EF.DG2
    természetes személy arcának képe
  • EF.DG3
    természetes személy ujjlenyomatának adata
  • EF.DG7
    természetes személy kézi aláírásának képe
  • EF.DG11
    természetes személy születési neve, születési dátuma
  • EF.DG12
    természetes személy okmányának kibocsátója
  • EF.DG13
    természetes személy anyjának születési neve
  • EF.SOD
    természetes személy adatait lefedő, kibocsátó hatóság által létrehozott elektronikus aláírás és a kibocsátó hatóság tanúsítványa
Az EF.DG3, azaz a természetes személy ujjlenyomatának adata kivételével ezek bárki által lekérdezhetők az ePASS (MRTD, útlevél) JavaCard applet-ből. No, hát akkor tegyük is meg: kérdezzük le az összes adatot, amit lehet! Ehhez elegendő egy NFC-s Android telefon, de akár egy HID Omnikey 5421 kártyaolvasó is megfelelő lehet.

Ha megvannak az adatok, akkor ellenőrizni is tudjuk a kibocsátó hatóság által létrehozott elektronikus aláírást. Jelen esetben egy CMS/PKCS#7 (IETF RFC 5652) struktúrájú aláírás adattal állunk szemben, amiben az RSA algoritmus révén kódolt lenyomatot (itt: A7266A..) az ellenőrzés során a MessageDigest értékével kell összevetni (itt: 5DF7F6..). Az ellenőrzés során a kibocsátó hatóság tanúsítványában található nyilvános kulcsot kell használni. Az OpenSSL szerint az aláírás nem sérült, az adathalmaz aláírója pedig valóban az, akinek a nevére került kiállításra a tanúsítvány (itt: Belügyminisztérium/KEKKH). Na, de mi is ez a MessageDigest, amit ellenőriztünk? A szabvány meghatározása szerint ez nem más, mint a "message digest of the encapContentInfo eContent OCTET STRING", azaz a természetes személy adatainak halmaza (annyi pontosítással, hogy a jelen esetben nem maguk az adatok, hanem csak az adatok lenyomatai vannak felsorolva). Az OpenSSL szerint ez valóban így van: a nyolc darab lenyomatot tartalmazó adat lenyomata pontosan az, ami a MessageDigest attribútumban is megtalálható (itt: 5DF7F6..). Most már csak az a kérdés, hogy az EF.SOD elem által tartalmazott nyolc darab lenyomat és az EF.DG elemekként lekérdezett adatok valóban összefüggnek-e. Az OpenSSL itt is segít nekünk: nos, igen, úgy tűnik, hogy az összes EF.DG elemként lekérdezett adat lenyomata megfelel annak, ami a kibocsátó hatóság által létrehozott EF.SOD elemben szerepel. Azaz, minden lekérdezett adat sértetlen és (köz)hiteles!

Két gyors megjegyzést hozzá kell fűzni az adatok hitelességének ellenőrzéséhez. Az egyik az, hogy az EF.DG3, azaz a természetes személy ujjlenyomatának adata csak rendészeti szerv által lekérdezhető, azaz egy piaci szereplő nem fogja megkaparintani (igaz, nem is nagyon van olyan üzleti folyamata, amihez kellhetne). A másik az, hogy az EF.DG2, azaz a természetes személy arcának képe és az EF.DG7, azaz a természetes személy kézi aláírásának képe bár lekérdezhető, és a lenyomatuk is ellenőrizhető, a képként való megjelenítésükhöz még szükség van a JFIF elem (JPEG File Interchange Format) kiemelésére. Ez gyakorlatilag az FFD8 (Start Of Image) és FFD9 (End Of Image) vezérlőelemek megkeresését jelenti.

Kiderült tehát, hogy minden lekérdezett adat sértetlen és (köz)hiteles! De mit is jelent ez? Ha nem csak magukat a természetes személy adatokat, hanem az azok (köz)hitelességét igazoló elektronikus aláírási réteget is le lehet kérdezni, akkor az azt jelenti, hogy nem csak maga az eSzemélyi okmányt lekérdező tud megbizonyosodni az adatok minőségéről, hanem egy harmadik fél is, aki nem is látta a kártyát! Manapság, amikor a kényelmi szempontok egyre nagyobb ügyféligényként kerülnek előtérbe (általában az IT biztonság rovására), akkor érdekes lehet, ha ezen adathalmazt pl. mobiltelefonunkban tárolva mutogathatjuk egy-egy adategyeztetésnél vagy akár e-mail csatolmányként is elküldhetjük egy regisztráció során. A Belügyminisztérium elektronikus aláírása ilyen esetekben is védi az adathalmazt! De ez is - mint oly sok más dolog - kétélű fegyver: lehetnek olyan üzleti folyamatok, ahol ez hasznos lehet, de létezhetnek mások, ahol meg pont visszaélhetnek vele. A lényeg, hogy legyünk tisztában ezzel, és tudjunk róla, hogy ha valaki akár két másodpercre is megkaparintja az eSzemélyi okmányunkat, akkor az ePASS (MRTD, útlevél) JavaCard applet-ből - a kártyánkon feltüntetett adatok alapján (BAC protokoll esetén MRZ vagy PACE protokoll esetén CAN révén) - könnyedén le tudja kérdezni a (köz)hiteles adatainkat...

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