Mit l 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ó
www.berta.hu Dr. Berta István Zsolt
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
2
Mir l 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
3
Mik azok az intelligens kártyák, és miért nevezzük ket intelligensnek?
Dr. Berta István Zsolt
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
5
Mi van a kártya belsejében? RAM
CPU
(~1 kilobyte)
EEPROM (~16-64 kilobyte)
ROM (operációs rendszer) Dr. Berta István Zsolt
6
Mágneskártya
-
Chipkártya
Az adatokat csak tárolni képes
Adatokat tárol és velük m veleteket végez
Adatai közvetlenül írhatóak/olvashatóak
Tartalma csak védelmi mechanizmusokon keresztül érhet el
Adattároló egység (~floppy disk)
Biztonságos mikroszámítógép
Dr. Berta István Zsolt
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 m veletek, …) 3. Programozható kártyák A kártyán tetsz leges program futtatható Nyílt és zárt platformok Dr. Berta István Zsolt
8
Különféle elnevezések Chipkártya Smart card Mikroprocesszoros kártya Intelligens kártya
Dr. Berta István Zsolt
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 h ségkártya pay TV alkalmazás Dr. Berta István Zsolt
e-purse
loyalty application
electronic ID
Többalkalmazásos kártyák: több alkalmazás együtt is m ködhetnek 10
Fájlrendszer MF (3F00)
DF DF
DF EF
EF EF
EF Dr. Berta István Zsolt
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 rendelhet ek Kulcsok… 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. Dr. Berta István Zsolt
PIN titkos kulcs nyilvános kulcs
12
A kártyának küldhet parancs (APDU) formátuma CLA INS
P1
P2
LC
Data
LE
CLA (class): függ a kártyától, alkalmazástól, stb. INS (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
13
A kártya válaszának formátuma Parancs: CLA INS
P1
P2
LC
Válasz: SW1 SW2 Output Data
Dr. Berta István Zsolt
Data
LE
Négy eset (type): LC, se LE csak LE Csak LC és Data LC, Data, LE 14
A két állapotbájt értéke
Dr. Berta István Zsolt
15
Fontosabb ISO 7816 parancsok Select File Read/Write/Update/Erase Binary Read/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
16
MF kiválasztása Parancs: 00 A4 00 00 select file select DF or EF by FID Válasz: 90
02
3F 00
00
minden rendben Dr. Berta István Zsolt
Type 3 17
8 byte olvasása az 1234 fájból A ‘20 00’ FID-j DF kiválasztása:
00
A4
00
00
02
20 00
Az ’12 34’ FID-j EF kiválasztása:
00
A4
02
00
02
00
LE
12 34
8 byte olvasása:
00
B0
00
90
00
11 22 33 44 55 66 77 88
Dr. Berta István Zsolt
18
Digitális aláírás HUNEID kártyán 00 00 00 90
A szükséges PIN kód ellen rzése (Verify) 20 00 84 04 ‘1’:’2’:’3’:’4’ Az aláírás m velet és az aláíró kulcs kiválasztása (MSE) 22 41 B6 03 84 01 84 Aláírás (PSO: Compute Digital Signature) 2A 9E 9A 14 20=0x14 hash 00
80
128 = 0x80 byte aláírás
Dr. Berta István Zsolt
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
20
Kommunikáció a kártyával Alkalmazás a terminálon GSC OCF CAPI/CSP PKCS#11 PC/SC réteg Terminál
olvasó drivere kártyaolvasó PKCS#15
Dr. Berta István Zsolt
21
PKCS#11 (Cryptoki) Egységes interfészt az alkalmazás számára „Token-drivert” igényel ANSI C-ben készült Elterjedt (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
22
CryptoAPI, CSP Egységes felület (CryptoAPI) Windows alatt a kulcsok, tanúsítványok kezelésére, az egyes kriptotokeneknek driverei (CSP) vannak. Közös funkciók, pl: aláírás kulcsgenerálás titkosítás A PKCS#11-hez hasonló felület CSP11 Dr. Berta István Zsolt
23
Programozható kártyák A kártyára programot lehet feltölteni, így a kártya m ködése jelent sen testreszabható Nyílt platformok, magas-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
24
Nyílt kártyaplatformok Java Card MULTOS Smart Card for Windows
Dr. Berta István Zsolt
25
Hogyan lehet megtámadni egy intelligens kártyát?
Dr. Berta István Zsolt
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 Dr. Berta István Zsolt
Program #2 Több vállalat egyetlen kártyán 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
28
A kártya - egy rendszer része (2)
hálózat
C:> _
Program #1 Program #2
adatbázis Dr. Berta István Zsolt
29
A kártya szerepe Magánkulcsot tárol 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 kártyabirtokos adatait Dr. Berta István Zsolt
30
Támadások a chip ellen Rácsatlakozás a kártya bus-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” kártya. Dr. Berta István Zsolt
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, min sített, esetleg formálisan verifikált szoftverek.
Dr. Berta István Zsolt
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 m ködésébe nem mindig van lehet ség kés bb 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
33
Kártya - Terminál kommunikáció Lehallgatás - (pl.: PIN kód elkapása) Manipulálás (man-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 rendszerhez tartozó terminálok felismerése Dr. Berta István Zsolt
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 m ködjön, ha nem elegend , vagy ha ingadozik a tápfeszültség. Kártya m ködésének megfelel pillanatban történ megszakítása; inkonzisztens állapotba hozhatja a kártyát. Védekezés: Tranzakció-kezelés.
Dr. Berta István Zsolt
35
„Side channel” támadások (1) Bemenet (pl. aláírandó elektronikus dokumentum)
védett adatok kriptográfiai kulcsok
Ezen információkból próbálunk a védett adatokra, kulcsokra következtetni Dr. Berta István Zsolt
Kimenet (pl. elektronikus aláírás)
• • • •
Id zí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 • …
36
„Side channel” támadások (2) Példa: Id zítések vizsgálata PIN kód ellen rzé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ó m ködni, ha elrontják.
Dr. Berta István Zsolt
37
Többalkalmazásos kártyák egymást támadó alkalmzások? Az alkalmazásokat védeni kell a kártya fel l é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 min sége központi kérdéssé válik Információ szivárgás problémája
Dr. Berta István Zsolt
38
Támadás elektronikus aláírásra szolgáló kártya ellen
Dr. Berta István Zsolt
39
Elektronikus aláírás Jogszabály is elismeri (2001. évi XXXV. tv.) Min sített aláírás - egyenérték a kézzel írott aláírással, s t, teljes bizonyító erej magánokirat létrehozására alkalmas. A létrehozásához kell: min sített tanúsítvány, „biztonságos aláírás-létrehozó eszköz (BALE - SSCD) min sítés eszköz (kártya) Dr. Berta István Zsolt
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ártyabirtokos támadása
Kártya támadása, hozzáférés a kulcshoz
Terminál manipulálása
Hitelesítés Szolgáltató megtévesztése Dr. Berta István Zsolt
41
Nem biztonságos terminálok nem biztonságos csatorna terminál
távoli fél
C:>_
Hálózat felhasználó
kártya
Dr. Berta István Zsolt
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-the-middle támadásba kezd? Honnan tudjuk, hogy valójában mit írtunk alá a titkos kulcsunkkal? Dr. Berta István Zsolt
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 lehet séget az aláírandó dokumentum biztonságos megjelenítésére Dr. Berta István Zsolt
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
45
Összefoglalás Az intelligens kártyák biztonságos mikroszámítógépek; Els sorban magánkulcsok védelmére (a felhasználó kilétének igazolására), vagy egyenleg tárolására használják ket; Er s 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
46
A bemutató során használt programok elérhet sé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
47
Köszönöm a figyelmet!
Dr. Berta István Zsolt
48
Mit l 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ó www.berta.hu Dr. Berta István Zsolt
49