Mitl intelligens, és hogyan lehet megtámadni? - Intelligens kártyák biztonsági kérdései - Dr. Berta István Zsolt, PhD,, MBA, CISA Microsec Kft, K+F és folyamatszervezési igazgató <istvan@berta.hu> www.berta.hu Dr. Berta István Zsolt <istvan@berta.hu> 1
Magamról BME, info szak, 2001. BME, CrySys labor (www.crysys.hu) Microsec Kft. - e-szignó Hitelesítés Szolgáltató (www.e-szigno.hu) Dr. Berta István Zsolt <istvan@berta.hu> 2
Mirl fogok beszélni? 1. Mik azok az intelligens kártyák, és miért nevezzük ket intelligensnek? 2. Hogyan lehet megtámadni egy intelligens kártyát (vagy kártyát használó rendszert)? 3. Támadás elektronikus aláírásra szolgáló kártya ellen. Dr. Berta István Zsolt <istvan@berta.hu> 3
Mik azok az intelligens kártyák, és miért nevezzük ket intelligensnek? Dr. Berta István Zsolt <istvan@berta.hu> 4
Mik azok az intelligens kártyák? ISO 7816-2 szabvány írja le kontaktus nélküli kártyák: ISO 14443 Dr. Berta István Zsolt <istvan@berta.hu> 5
Mi van a kártya belsejében? RAM (~1 kilobyte) CPU EEPROM (~16-64 kilobyte) ROM (operációs rendszer) Dr. Berta István Zsolt <istvan@berta.hu> 6
Mágneskártya - Chipkártya Az adatokat csak tárolni képes Adatai közvetlenül írhatóak/olvashatóak Adattároló egység (~floppy disk) Adatokat tárol és velük mveleteket végez Tartalma csak védelmi mechanizmusokon keresztül érhet el Biztonságos mikroszámítógép Dr. Berta István Zsolt <istvan@berta.hu> 7
A chipkártyák generációi 1. Memóriakártyák (a kártyán csak memóriachip van) 2. Fájlrendszerkártyák v generikus kártyák (mikroprocesszor, fájlrendszer, több felhasználó, hozzáférési jogosultságok, kriptográfiai mveletek, ) 3. Programozható kártyák A kártyán tetszleges program futtatható Nyílt és zárt platformok Dr. Berta István Zsolt <istvan@berta.hu> 8
Különféle elnevezések Chipkártya Smart card Mikroprocesszoros kártya Intelligens kártya Dr. Berta István Zsolt <istvan@berta.hu> 9
Mire használnak chipkártyákat? elektronikus igazolvány digitális aláírás hozzáférés-védelem hitelkártyák elektronikus pénztárca telefonkártyák SIM kártyák parkoló v közlekedési kártya hségkártya pay TV alkalmazás loyalty application e-purse electronic ID Többalkalmazásos kártyák: több alkalmazás együtt is mködhetnek Dr. Berta István Zsolt <istvan@berta.hu> 10
Fájlrendszer DF DF EF EF MF DF EF (3F00) EF Fastruktúra Master file ~ / Dedicated file Elementary file Minden fájlnak van azonosítója (FID) A DF-eknek neve is lehet DF ~ alkalmazás Fájlokhoz hozzáférési jogok, PIN kódok rendelhetek Kulcsok Dr. Berta István Zsolt <istvan@berta.hu> 11
Gyakori alkalmazás A kártya egy v. több kulcspárt véd; A kulcsokat a kártya generálja; A titkos kulcs nem olvasható ki; Helyes PIN megadása esetén a kártya kódol a titkos kulccsal. PIN nyilvános kulcs titkos kulcs Dr. Berta István Zsolt <istvan@berta.hu> 12
A kártyának küldhet parancs (APDU) formátuma CLA INS P1 P2 LC Data LE CLA (class( class): függ a kártyától, alkalmazástól, stb. INS (instruction( instruction): az utasítást választja ki P1, P2: paraméterek, az utasítástól függenek LC (length( command): az adatmez hossza LE: a várt adatok hossza Dr. Berta István Zsolt <istvan@berta.hu> 13
A kártya válaszának formátuma Parancs: CLA INS P1 P2 LC Data LE Válasz: SW1 SW2 Output Data Négy eset (type( type): LC, se LE csak LE Csak LC és Data LC, Data,, LE Dr. Berta István Zsolt <istvan@berta.hu> 14
A két állapotbájt értéke Dr. Berta István Zsolt <istvan@berta.hu> 15
Fontosabb ISO 7816 parancsok Select File Read/Write/Update/Erase Binary Read/Update Update/ Record Get Response Verify (PIN), Change Reference Data, Reset Retry Counter Manage Security Environment Perform Security Operation (pl.: Hash, Digital Signature,, stb.) Dr. Berta István Zsolt <istvan@berta.hu> 16
MF kiválasztása Parancs: 00 A4 00 00 02 3F 00 select file select DF or EF by FID Válasz: 90 00 minden rendben Type 3 Dr. Berta István Zsolt <istvan@berta.hu> 17
8 byte olvasása az 1234 fájból A 20 00 FID-j DF kiválasztása: 00 A4 00 00 02 200 00 Az 12 34 FID-j EF kiválasztása: 00 A4 02 00 02 12 34 8 byte olvasása ása: 00 B0 00 00 LE 90 00 11 22 33 44 55 66 77 88 Dr. Berta István Zsolt <istvan@berta.hu> 18
Digitális aláírás HUNEID kártyán A szükséges PIN kód ellenrzése (Verify( Verify) 00 20 00 84 04 1 : 2 : 3 : 4 Az aláírás mvelet és az aláíró kulcs kiválasztása (MSE) 00 22 41 B6 03 84 01 84 Aláírás (PSO: Compute Digital Signature) 00 2A 9E 9A 14 20=0x14 hash 90 00 128 = 0x80 byte aláírás 80 Dr. Berta István Zsolt <istvan@berta.hu> 19
Diákigazolvány Gemplus MPCOS-EMV típusú kártya 8k memória 3DES kódolás (csak szimmetrikus kulcsú kriptográfia!) SAM modulok segítségével használható SAM modul nélkül csak a CSN olvasható ki Digitális pénztárca Különböz oktatási intézmények pecsétjei ~matricák Mire lehet használni? Dr. Berta István Zsolt <istvan@berta.hu> 20
Kommunikáció a kártyával Alkalmazás a terminálon GSC Terminál OCF CAPI/CSP PC/SC rétegr PKCS#11 olvasó drivere kártyaolvasó PKCS#15 Dr. Berta István Zsolt <istvan@berta.hu> 21
PKCS#11 (Cryptoki) Egységes interfészt az alkalmazás számára Token-drivert igényel ANSI C-ben C készült Elterjedt (Netscape( Netscape, Mozilla) Login/Logout, Security Officer / User Több token párhuzamos használata, egy tokent egyszerre több alkalmazás is használhatja Dr. Berta István Zsolt <istvan@berta.hu> 22
CryptoAPI, CSP Egységes felület (CryptoAPI( CryptoAPI) ) Windows alatt a kulcsok, tanúsítványok kezelésére, az egyes kripto- tokeneknek driverei (CSP) vannak. Közös funkciók, pl: aláírás kulcsgenerálás titkosítás A PKCS#11 11-hez hasonló felület CSP11 Dr. Berta István Zsolt <istvan@berta.hu> 23
Programozható kártyák A kártyára programot lehet feltölteni, így a kártya mködése jelentsen testreszabható Nyílt platformok, magas-szint szint nyelvek esetén ha áttérünk más kártyatípusra, a programot nem kell újra kifejleszteni, verifikálni Dr. Berta István Zsolt <istvan@berta.hu> 24
Nyílt kártyaplatformok Java Card MULTOS Smart Card for Windows Dr. Berta István Zsolt <istvan@berta.hu> 25
Hogyan lehet megtámadni egy intelligens kártyát? Dr. Berta István Zsolt <istvan@berta.hu> 26
Hogyan lehet megtámadni? C:>_ Chip védelme Kártyán futó szoftver helyessége Program #1 Terminál, kommunikáció a terminállal Program #2 Több vállalat egyetlen kártyán Dr. Berta István Zsolt <istvan@berta.hu> 27
A kártya - egy rendszer része (1) A támadó általában nem közvetlenül a kártyát akarja megtámadni. A kártya egy rendszerben tölt be valamilyen - biztonsági - funkciót A támadó a rendszert akarja megtámadni, ezért támadhatja a kártyát. Dr. Berta István Zsolt <istvan@berta.hu> 28
A kártya - egy rendszer része (2) hálózat C:> _ Program #1 Program #2 adatbázis Dr. Berta István Zsolt <istvan@berta.hu> 29
A kártya szerepe Magánkulcsot tárol a a kulccsal hitelesítheti magát a kártyabirtokos, és hozzáfér egy rendszer szolgáltatásaihoz elektronikus aláírás, PKI Adatokat tárol egyenleget a a kártyabirtokos adatait Dr. Berta István Zsolt <istvan@berta.hu> 30
Támadások a chip ellen Rácsatlakozás a kártya bus-aira aira. Védekezés: Egy chipbe integrált kártya. Memóriaterületek feltérképezése. Védekezés: Szándékosan összezagyvált architektúra. Kártya szétszedése. Védekezés: Bontásbiztos Bontásbiztos kártya. Dr. Berta István Zsolt <istvan@berta.hu> 31
Támadás a kártyán futó alkalmazás ellen A kártyán futó alkalmazás vagy a kártya operációs rendszerében lév hibák kihasználása Védekezés: Bevizsgált, minsített, esetleg formálisan verifikált szoftverek. Dr. Berta István Zsolt <istvan@berta.hu> 32
Kártyán futó alkalmazás A kártyán bonyolult programok futnak Érzékeny adatokat bízunk rájuk A kártyán futó szoftver mködésébe nem mindig van lehetség késbb beavatkozni A kártyák nagyon nagy példányszámban kerülhetnek forgalomba A tesztelés nem bizonyítja egy komplex szoftver helyességét Dr. Berta István Zsolt <istvan@berta.hu> 33
Kártya - Terminál kommunikáció Lehallgatás - (pl.: PIN kód elkapása) Manipulálás (man-in in-the-middle) byte-ok cserélése megfigyelt kommunikáció visszajátszása Védekezés: PIN lehallgatása ellen PIN pad-es kártyaolvasó Védekezés: titkosított és hitelesített kapcsolat kiépítése a kártya és az olvasó között. secure messaging,, ~ SSL a a rendszerhez tartozó terminálok felismerése Dr. Berta István Zsolt <istvan@berta.hu> 34
Tápfeszültség befolyásolása Írás és olvasás eltér tápfeszültség-igénye Védekezés: A kártya ne mködjön, ha nem elegend, vagy ha ingadozik a tápfeszültség. Kártya mködésének megfelel pillanatban történ megszakítása; inkonzisztens állapotba hozhatja a kártyát. Védekezés: Tranzakció-kezelés. kezelés. Dr. Berta István Zsolt <istvan@berta.hu> 35
Side channel támadások (1) Bemenet (pl. aláírandó elektronikus dokumentum) kriptográfiai kulcsok védett adatok Kimenet (pl. elektronikus aláírás) Ezen információkból próbálunk a védett adatokra, kulcsokra következtetni Idzítések vizsgálata Kártya teljesítményfelvétele Elektromágneses sugárzások Szándékosan elrontott kártya hibás kimenetének vizsgálata Dr. Berta István Zsolt <istvan@berta.hu> 36
Side channel támadások (2) Példa: Idzítések vizsgálata PIN kód ellenrzésekor. Példa: RSA magánkulcs meghatározása. Védekezés: A kártya ne bocsásson ki magából zajt. Védekezés: A kártya ne legyen hajlandó mködni, ha elrontják. Dr. Berta István Zsolt <istvan@berta.hu> 37
Többalkalmazásos kártyák - egymást támadó alkalmzások? Az alkalmazásokat védeni kell a kártya fell érkez támadásokkal szemben is A támadó is letölthet csaló appleteket Appletek közti kommunikáció veszélyei A szoftver és hardver minsége központi kérdéssé válik Információ szivárgás problémája Dr. Berta István Zsolt <istvan@berta.hu> 38
Támadás elektronikus aláírásra szolgáló kártya ellen Dr. Berta István Zsolt <istvan@berta.hu> 39
Elektronikus aláírás Jogszabály is elismeri (2001. évi XXXV. tv.) Minsített aláírás - egyenérték a kézzel írott aláírással, st, teljes bizonyító erej magánokirat létrehozására alkalmas. A létrehozásához kell: minsített tanúsítvány, biztonságos aláírás-létrehozó létrehozó eszköz (BALE - SSCD) minsítés eszköz (kártya) Dr. Berta István Zsolt <istvan@berta.hu> 40
Támadási fa - elektronikus aláírás A támadó célja megszerezni a kártyabirtokos aláírását egy olyan dokumentumra, amelyet az nem akar aláírni. Algoritmus feltörése Kártya támadása, hozzáférés a kulcshoz Kártyabirtokos támadása Terminál manipulálása Hitelesítés Szolgáltató megtévesztése Dr. Berta István Zsolt <istvan@berta.hu> 41
Nem biztonságos terminálok terminál C:>_ nem biztonságos csatorna Hálózat távoli fél felhasználó kártya Dr. Berta István Zsolt <istvan@berta.hu> 42
Nem biztonságos terminálok Ha az ellenség teljes mértékben irányítása alá vonhatja a terminált, a terminál képes a kártya minden inputját és outputját megfigyelni és megváltoztatni, természetesen képes a PIN kódot elfogni. Hogyan vehetjük észre, ha a terminál man-in in-the-middle támadásba kezd? Honnan tudjuk, hogy valójában mit írtunk alá a titkos kulcsunkkal? Dr. Berta István Zsolt <istvan@berta.hu> 43
Hogy lehet kivédeni? ~ Sehogy. Ha nem bízunk meg az aláírásra használt számítógépben, hiába biztonságos a kártyánk, nem tudjuk befolyásolni, hogy mit írunk alá. Ne használjunk csaló terminált Megoldás: Megbízható terminált kell használni. biztonságos számítógép kártya biztosítson lehetséget az aláírandó dokumentum biztonságos megjelenítésére Dr. Berta István Zsolt <istvan@berta.hu> 44
Ez esetben mire jó a kártya? Biztosítja, hogy az aláíró kulcsunk a zsebünkben van. A kulcsról nem lehet másolatot készíteni. Ha a kártya egy olvasóhoz csatlakozik, nem tudja befolyásolni, hogy ki, mikor és mit ír vele alá. Dr. Berta István Zsolt <istvan@berta.hu> 45
Összefoglalás Az intelligens kártyák biztonságos mikroszámítógépek; Elssorban magánkulcsok védelmére (a felhasználó kilétének igazolására), vagy egyenleg tárolására használják ket; Ers védelmet jelentenek, nagyon nehéz a bennük tárolt információhoz illetéktelenül hozzáférni; Nem tudnak közvetlenül a felhasználóval kommunikálni, ez támadási felületet jelent. Dr. Berta István Zsolt <istvan@berta.hu> 46
A bemutató során használt programok elérhetsége Diákigazolvány - GPKPilot (www.gemplus.com???) USB monitor - USBlyzer www.usblyzer.com Elektronikus aláírás - e-szignó www.e-szigno.hu Smart Card Toolset www.scardsoft.com Hasznos cuccok: www.wrankl.de Dr. Berta István Zsolt <istvan@berta.hu> 47
Köszönöm a figyelmet! Dr. Berta István Zsolt <istvan@berta.hu> 48
Mitl intelligens, és hogyan lehet megtámadni? - Intelligens kártyák biztonsági kérdései - Dr. Berta István Zsolt, PhD,, MBA, CISA Microsec Kft, K+F és folyamatszervezési igazgató <istvan@berta.hu> www.berta.hu Dr. Berta István Zsolt <istvan@berta.hu> 49