Intelligens kártya (Smart card)

1998 a smart card éve

Nincs az angolhoz hasonló tömör, mindenki által egységesen alkalmazott megnevezés a smart cardra. Ebbe a műanyag lapkába egy mikroprocesszor van beágyazva, ezért kis számítógépnek is nevezik. Külsőre az ismert telefonkártyához hasonlít, a különbség a chip felépítésében van. Az IC-kártya (IC = Integrated Circuit, vagyis integrált áramkör) kifejezés is használatos, mivel az eredeti 1974-es Roland Moreno-szabvány ezt a meghatározást alkalmazta. A magyar terminológiában az intelligens kártya (IK) elnevezést igyekszik elterjeszteni a nemrég alakult Intelligens Kártya Fórum (IKF).

A Neumann János Számítógép-tudományi Társaságon belül létrejött nonprofit szervezet célul tűzte ki az IK honi elterjedésének elősegítését, a technológia és a felhasználási területeken folyó munkálatok koordinálását, az érdekeltek és szakemberek egy szervezetbe integrálását a jobb információcsere és kooperáció érdekében (honlap: www.njszt.iif.hu/ikf/).

Az intelligens kártya szabványai

A műanyag lapka mérete, valamint a mikroprocesszor mérete és elhelyezkedése a lapkán nemzetközi szabványban rögzített. Az ISO 7816-os szabvány hét részre osztható a következőképpen:

    ISO 7816-1: fizikai paraméterek (pl. szélesség: 85,72 mm/3,375 inch, magasság: 54,03 mm/2,125 inch, vastagság: 0,76 mm [±0,08]/0,03 inch);
    ISO 7816-2: a kapcsolódási pontok leírása (kártyaolvasók részére);
    ISO 7816-3: az elektronikus jelek és az átviteli protokoll leírása;
    ISO 7816-4: belső utasítások;
    ISO 7816-5: alkalmazások kezelésének leírása;
    ISO 7816-6: adatelemek leírása;
    ISO 7816-7: SCQL (Structured Card Query Language) parancsok leírása.

Az utóbbi időben a szabvány újabb alpontokkal bővült (8–11), melyek közül kettő a biztonsági követelményeket határozza meg. Az intelligens kártyák területén, hasonlóan az internethálózathoz vagy a honi telefonkártya-rendszerhez, eleinte csupán a működés volt a fontos, de terjedését követően a biztonságos működésre helyeződik át a hangsúly.

Kapcsolódási pont alatt a kártya nyolc lábát értjük, amelyek az alábbi funkciókkal rendelkeznek:

• clock, azaz órajel;
• reset, azaz törlőjel;
• 0 V-os láb, ami a GND-nak felel meg;
• 5 V-os láb a tápfeszültségnek;
• 25 V-os láb a programozáshoz szükséges feszültség részére;
• I/O láb, amelyen az adatjelek közlekednek;
• 2 tartalék láb jövőbeni alkalmazások részére szabadon hagyva.

Meg kell említenünk a szabadon hagyott lábakkal kapcsolatban, hogy létezik olyan IK, amelyik használja e lábak egyikét. Ilyen az SGS–Thomson által gyártott ST19-es kártyacsalád is, amely ma az egyik legsokoldalúbb és legbiztonságosabb a piacon.

A chip belseje

Az IK-nak különböző felépítésű, méretű és védelmű memóriaterületei vannak (EEPROM, RAM, ROM). Ezeknek köszönhetően a kártya saját operációs rendszere és utasításkészlete segítségével kezelni tudja állományainak felépítését (file system) a külvilágból érkezett megfelelő jogosultságú utasítások szerint.

Beépíthető biztonsági eljárásainak köszönhetően operációs rendszere nem teljesíti a jogosulatlan utasításokat. Egyes típusok adott számú jogosulatlan hozzáférési próbálkozás után blokkoló (megfelelő joggal rendelkező személy oldhatja a blokkolást) vagy önmegsemmisítő (a kártya adattartalma többé nem elérhető) folyamatot hajtanak végre az adatok védelmében.

A tárolókapacitás széles skálán mozog a néhány bites kártyáktól (pl. 256 bites tárolt értékű nem intelligens kártya) a több kilobájtosokig (16 kB). Sokszor megtévesztő lehet egy-egy ismertető, amelyben kilobitekről beszélnek.

A processzorhoz (lehet mellette még társprocesszor is) egyik oldalról a lábak csatlakoznak, a másikról pedig a memóriarész (EEPROM, RAM, ROM). Úgynevezett kriptoprocesszor is kapcsolható hozzá – ez a kártya perszonalizálása (megszemélyesítés, amikor a kártyát a leendő tulajdonoshoz rendelik) után játszik szerepet. Segítségével létrehozható az RSA alapú nyilvános-titkos kulcspár a kódolt üzenetváltásokhoz és a digitális aláírások elkészítéséhez. A kulcspár titkos fele a kártyán tárolódik, és a különböző kommunikációk során a kódolásra szánt információ is rajta megy keresztül. Ennek köszönhetően a titkos kulcs nem hagyja el a kártyát, és az olvasásvédett területről nem is szerezhető meg a külvilág számára. A tulajdonos kényszer hatására sem tudja kiadni a kulcsot, de magával hordhatja a kártyán és használhatja a megfelelő alkalmazásokban.

Hiteles azonosítás

A biztonsági rendszerek egyik legnagyobb gondja, hogy az egyén helyett az eszközt/jelszót azonosítják, és ezáltal nyerhet jogot az egyén, de ez alapján tartozik felelősséggel is az eszköz segítségével elkövetett viszszaélésekért az eszköz/jelszó tulajdonosa. Ez számtalan problémát vet fel, amikor a nagy számok törvénye érvényesül ugyan, ám sok esetben ártatlanok es(het)nek áldozatul a nevük vagy azonosítójuk alatt elkövetett visszaéléseknek.

A megoldást az egyénre jellemző jegyek alapján történő azonosítás jelenti, amelyet biometrikus azonosításnak nevezünk.

A bűnüldözésben már száz éve alkalmazott ujjlenyomat alapú azonosítás mellett több helyen használnak retina, kéz, hang és más alapú azonosítást. Ezek között szerepelnek könnyebben algoritmizálható, egyszerűbben alkalmazható vagy olcsóbb megoldások, de mindegyiknek van hátránya is. Az egyik fő hiányosság az, hogy semelyik sem ad teljes lefedettséget a társadalomban jelentkező különböző fogyatékosságokkal szemben. Európa 800 millió lakosát véve alapul 1 millió körül van a vakok száma, de az ujjal nem rendelkezők vagy a némák száma is jelentős.

A minden ember által hordozott biometrikus azonosító a DNS, és a mintavételezés, valamint a DNS alapú azonosítás eljárásának számítógépes algoritmizálása terén nagy eredmények vannak. Ezek megteremtik a jövőbeni széles körű alkalmazás lehetőségét.

Az orwelli világtól óvakodni kell, emiatt ezek a technikák csak segítségül szolgálhatnak a privacy teljes betartásával. Léteznek olyan technikák is, melyek a holland David Chaum „azonosítás nélküli biztonság” elvét alkalmazzák. Ez komoly matematikai alapokra épül, így helyessége is igazolható matematikai eljárásokkal. Chaum ügyelt arra, hogy elvét ne csak a matematikusok értsék meg, ezért egyszerű eszközökkel is szemlélteti az elv működését és helyességét.

Az SGS–Thomson (www.st.com) által gyártott chipek több smart card-gyártó termékének alapelemei. Az első Java kártya (a Schlumberger Cyberflex nevű terméke) is SGS–Thomson chipet tartalmaz.

Típus User ROM RAM EEPROM
ST16CF54B (Cyberflex) 16 kB 512 B 4 kB
ST19CF68 23 kB 960 B 8 kB
ST19SF64 32 kB 960 B 64 kB
ST19SF32 32 kB 960 B 32 kB

2. ábra: Memóriakapacitások az SGS–Thomson „ST” családjában

Platformfüggetlenség

A számítástechnika fejlődésének „köszönhetően” a platformfüggőség valós probléma, amikor napjainkban a különböző rendszerek közötti kommunikációt kellene megoldani. Sokat segítenek a szabványok és a különböző fejlesztések között meglévő kompatibilitások, de számos esetben így sem lehetett feloldani a platformok okozta függőségeket, mint például eltérő operációs rendszer vagy különböző típusú processzor stb. Ezen eltéréseknek komoly anyagi következményeik is vannak, ha a hordozhatóságot meg kell oldani!

A platformfüggetlen Java programozási nyelv megjelenésével és különböző területeken történő alkalmazásával mérföldkőhöz érkeztünk.

Java (intelligens) kártya

1997. október 13-án látott napvilágot a Java kártya 2.0-s specifikációja, amely a Java nyelvből kiindulva az IK terén is megoldást kínál a platformfüggetlen fejlesztésekre.

A Java alapú IK saját virtuális gépe (VG) futtatja a kártyára letöltött alkalmazásokat. A biztonság a bájtkód (a forráskódból platformfüggetlen bájtkód készül, amelyet a VG futtat) előállításakor is adott, és a VG is ügyel a nem megengedett műveletek leállítására.

A SandBoxnak nevezett felügyelő a biztonságot súlyosan veszélyeztető műveletek észlelésekor képes a kártya időszakos vagy végleges blokkolására. Ezek mellett a kártya programozója (egyes feltételek mellett akár a tulajdonosa) is beépíthet saját biztonsági funkciókat.

A kártya specifikálja a szimmetrikus (DES, 3DES), az aszimmetrikus (RSA) s az úgynevezett challenge-response alapú kódolásokhoz szükséges osztályokat és metódusokat, melyekkel lefedi a ma használatos kriptológiai eljárásokat. A kétszáz oldalas specifikáció a webről szabadon letölthető.

A fenti specifikáció megjelenése után, 1997. december 31-én készült el és 1998 elejétől szabadon elérhető a Schlumberger által kifejlesztett, Cyberflex elnevezésű konkrét alkalmazás. A megvásárolható fejlesztőkörnyezet két kártyát és egy kártya író/olvasó eszközt is tartalmaz. A kártya felületének jellegzetes ábrája egy pillangó. Ez az ismert pillangóhatás (egy pillangó szárnylengetéséből is kialakulhat szélvihar – Dave Olson Chaos elmélete) alapján szeretné kifejezni a Java kártya alapú Cyberflex kártya várható/remélt hatását.

Az IK terén világelső Gemplus cég GemXPresso néven ugyancsak kifejlesztette saját alkalmazását, melyhez fejlesztőkörnyezet is elérhető.

A Java kártya egyik legnagyobb előnye az, hogy az alkalmazásokat nem kell a kártyán tárolni, hanem azok arra „töltődnek le”. Ennek köszönhetően az egyes alkalmazások helyett egyéb adatok elhelyezésére nyílik lehetőség, ami a multifunkcionalitáshoz szükséges; ugyanakkor ez a megoldás a későbbiekben bekövetkező változások esetén sem vonja maga után a kibocsátott kártyák cseréjét, hanem csak a központi alkalmazásokét. A csere után a rendszer elemei már az új alkalmazást használják.

A mobil ágensek területén elért eredmények szorosan kapcsolódnak a Java kártya területéhez. Az elektronikus kereskedelemben az IK döntő szerepet játszik, míg a mobil ágens technológián belül is léteznek olyan kutatások, melyek az elektronikus kereskedelemmel kapcsolatosak. A két terület kutatási eredményeinek közös alkalmazása érdekes megoldásokhoz vezethet a közeli jövőben.
 
 

Feladatok 512 bites MAP 1024 bites MAP ST19CF68
512 bites aláírás KMT*-vel 70 15 70
KMT nélkül 195 50 195
512 bites hitelesítés 6 3 6
1024 bites aláírás KMT-vel 420 100 420
KMT nélkül 350
1024 bites hitelesítés 150 9 150
2048 bites aláírás KMT-vel 730

* KMT = Kínai maradék tétel (CRT – Chinese Remainder Theorem)

3. ábra: Modular Arithmetic Processor (MAP) segítségével végzett feladatok időigénye milliszekundumban (ms) mérve

Multifunkcionalitás

Az IK jelenti azt az egyszerű és szabványos eszközt, melynek segítségével több terület is közös alkalmazásokat (multifunkcionalitás) készíthet. Egyik adódó lehetőség a leendő intelligens kártya alapú diákigazolvány készpénz-helyettesítő funkciója, amikor a kártya adott memóriarekeszeiben tárolt egységek pótolják vásárláskor a pénzt. Ezeket a rekeszeket akár az ösztöndíj számlájáról is fel lehet tölteni, az egységek pedig telekommunikációs felhasználásra is alkalmazhatók.

A rendszerbe építhető a különböző utazási kedvezmények kezelése, bevonva a közlekedési vállalatokat is. Az állami szervek szerepe ott jelentkezik, hogy a diákigazolvány B kategóriás biztonsági okmány, hatósági igazolvány is egyben, így azonosításra és ehhez köthető alkalmazásokra (pl. beléptető rendszerek) is felhasználható.

Hosszabb távon a hasonló igazolványokon egyéb adatok is tárolhatók, mint például a tulajdonban lévő gépjármű adatai, a jogosítvány, vagy éppen az ingatlan adatai, melyek alapján a kártya lakáskulcsként is funkcionálhat. A jelenlegi kerettervek szerint nem kizárt, hogy a jövő személyi igazolványa is intelligens kártya legyen.

Ugyancsak megoldott a biztonságos és hiteles adatmozgás a kriptológia s a biometriai eljárások jóvoltából. A platformfüggetlen fejlesztőeszközök a jelenlegi és a leendő rendszerek közötti együttműködést is biztosítják. Ez a szolgáltatói és a felhasználói réteg számára kényelmi és anyagi szempontból egyaránt előnyös.

Az Európai Uniónak is vannak előírásai és ajánlásai az IK területére, melyek alkalmazására mielőbb meg kell kezdeni a felkészülést.

Kincses Zoltán