85
 SVEUILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAUNARSTVA DIPLOMSKI RAD br. 1451 PREZENTACIJSKI SUSTAV ZA PAMETNE KARTICE Tomislav Geceg Zagreb, rujan 2004.

Pametne Kartice Diplom Fer Zg

  • Upload
    spinst

  • View
    401

  • Download
    15

Embed Size (px)

Citation preview

Page 1: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 1/85

 

 

SVEUILIŠTE U ZAGREBUFAKULTET ELEKTROTEHNIKE I RAUNARSTVA

DIPLOMSKI RAD br. 1451

PREZENTACIJSKI SUSTAV ZA PAMETNEKARTICE

Tomislav Geceg

Zagreb, rujan 2004.

Page 2: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 2/85

 

 

 

 

!

"

 

#$%$&&'

 

Page 3: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 3/85

 

 

Sadržaj1.  UVOD ............................................. .................................................. ............................... 1 

2.  PAMETNA KARTICA............. .................................................. ....................................... 2 

2.1.  POVIJEST......................................... .................................................. ....................... 4 2.2.  TEHNOLOGIJA .................................................. .................................................. ....... 7 2.3.  OSNOVNA SVOJSTVA ................................................ ................................................. 8 2.4.  STANJE PRIJE POJAVE PAMETNIH KARTICA .................................................. ............... 9 2.5.  PRIMJENA PAMETNIH KARTICA............................................. ..................................... 10 

3.  OKRUŽENJE PAMETNE KARTICE.............. .................................................. ............. 12 

3.1.  KARTINA APLIKACIJA I APLIKACIJA TERMINALA............................................. ............. 13 3.2.  KAKO RADI KOMUNIKACIJA KARTICA-ITA? .............................................................. 14 

4.  SIGURNOST PAMETNIH KARTICA ............................................... ............................. 20 

4.1.  KOMUNIKACIJA......................................... .................................................. ............. 20 4.2.  SKLOPOVLJE............................................ .................................................. ............. 22 4.3.  OPERACIJSKI SUSTAV ....................................... .................................................. ..... 23 

4.4.  PROGRAMSKA RJEŠENJA ............................................ ............................................. 24 4.4.1.  Sigurnosne osobine Java Card tehnologije...................................................... 25  4.5.  MOGUE OPASNOSTI I NAINI OTKLANJANJA ................................................ ............. 28 

4.5.1.  Napad na osobni identifikacijski broj (PIN) prekidom napajanja ...................... 28  4.5.2.  Napad prekidom napajanja............................................................................... 30  4.5.3.  Defragmentacija memorije................................................................................ 32  4.5.4.  Greške u EEPROM-u ....................................................................................... 33  4.5.5.  Vremenski napadi............................................................................................. 34  4.5.6.  Analiza diferencijalnih grešaka......................................................................... 36  4.5.7.  Napad analizom potrošnje................................................................................ 37  4.5.8.  Napad analizom razlika u potrošnji .................................................................. 38  

4.6.  KAKO RIJEŠITI PITANJE SIGURNOSTI PAMETNIH KARTICA? .......................................... 40 

5.  USPOREDBA RAZVOJNIH PLATFORMI....................... ............................................. 41 

5.1. 

BASICCARD PAMETNE KARTICE ........................................... ..................................... 43 

5.1.1.  BasicCard tehnologija....................................................................................... 44  5.1.2.  ZBasic programski jezik.................................................................................... 44  5.1.3.  Arhitektura BasicCard pametne kartice............................................................ 45  

5.2.  JAVA PAMETNE KARTICE ............................................. ............................................. 49 5.2.1.  Java Card tehnologija....................................................................................... 51 5.2.2.  Java Card jezi  ni podskup................................................................................ 52  5.2.3.  Arhitektura Java Card pametne kartice ............................................................ 53  

6.  PRIMJER RAZVOJA KARTINOG SUSTAVA .............................................. ............. 58 

6.1.  APLIKACIJA TERMINALA HEALTHINSURANCEPROVIDER ......................................... ..... 59 6.1.1.  Postavke aplikacije HealthInsuranceProvider .................................................. 60  6.1.2.  U  itavanje karti  ne aplikacije na karticu........................................................... 61 6.1.3.  Inicijalizacija kartice .......................................................................................... 62  

6.1.4. 

Upis korisni  kih podataka na karticu ................................................................ 63 

 

6.2.  APLIKACIJA TERMINALA HEALTHDOCTOR ............................................. ..................... 64 6.2.1.   itanje podataka korisnika s kartice................................................................. 65  6.2.2.  Upis podataka na karticu i u bazu podataka .................................................... 66  6.2.3.  Pretraživanje baze podataka korisnika............................................................. 67  

6.3.  KARTINA APLIKACIJA HEALTHCARD ........................................... ............................. 68 6.3.1.  Razvojni put karti  ne aplikacije ........................................................................ 69  6.3.2.  Dizajniranje karti  ne aplikacije ......................................................................... 71 6.3.3.  Specifikacija funkcija karti  ne aplikacije........................................................... 71 6.3.4.  Odre  ivanje naredbi karti  ne aplikacije............................................................ 72  

Page 4: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 4/85

 

 

6.3.5.  Definiranje su  elja ............................................................................................ 72  6.3.6.  Svojstva korištene pametne kartice.................................................................. 73  

7.  ZAKLJUAK................ .................................................. ............................................... 74 

8.  LITERATURA................................................. .................................................. ............. 75 

9.  SAŽETAK............................................... .................................................. ..................... 77 

10.  ABSTRACT............................................ .................................................. ..................... 78 

PRILOG: KRATICE ................................................ .................................................. ............. 79

Page 5: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 5/85

 

  1

1. Uvod

Visoka tehnologija i sigurnost svojstva su današnjih pametnih kartica.Cilj ovog rada je prouiti postojea programska rješenja obzirom na njihovatehnološka, sigurnosna i razvojna svojstva. Posebna pažnja posveena jesigurnosnim opasnostima i nainima otklanjanja. Kao primjer ostvaren jeprezentacijski sustav za identifikaciju korisnika zdravstvenog osiguranja.Sustav se sastoji od kartine aplikacije (koju korisnik osiguranja upotrebljavaumjesto dosadašnje kartice s magnetskom trakom) i aplikacije terminala sbazom podataka o korisnicima. Sustav je priložen na optikom mediju.

Razvoj sustava i saznanja koja omoguuju daljnje istraživanje opisana

su u poglavljima ovog rada:

- prvo poglavlje opisuje povijesni razvoj, svojstva i razvojni putpametnih kartica

- drugo poglavlje bavi se standardima i komunikacijskimprotokolima važeima na podru ju pametnih kartica

- tree poglavlje opisuje mogue opasnosti gubitka podataka inaine njihova otklanjanja u razliitim razvojnim sustavima

-  etvto poglavlje opisuje dvije razvojne platforme, Java Card  koja je vodea na tržištu pametnih kartica i novu BasicCard koja jednostavnošu i nižom cijenom postaje vrlokonkurentna

- u posljednjem poglavlju ukratko je opisan razvoj sustava„HealthCard“  namijenjenog za upotrebu u zdrastvenomosiguranju (uz manje prilagodbe, mogue su sline primjene iu drugim djelatnostima)

Page 6: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 6/85

 

  2

2. Pametna kartica

Pametna kartica  (eng. Smart Card ) - što je to? Naziv govori malo omogunostima koje se danas mogu ostvariti pomou pametnih kartica.Pretee današnjih kartica pojavile su se u Americi ranih pedesetih godinaprošlog stoljea i bile su simbol bogatstva, posjedovala ih je samo probranaelita. Sadržavale su jednostavne podatke koje je bilo teško krivotvoriti.Kartice s magnetskom trakom bile su prvo znaajnije poboljšanje (u tomobliku se i danas veinom koriste). Pojavom elektronike i mikroelektronikeomoguena je izrada raunala na malom silicijskom ipu, površine nekolikokvadratnih milimetara, koji je mogue ugraditi na identifikacijsku karticu. Prvatakva ideja javila se 1968. u Njemakoj (Jurgen Dethloff, Helmut Grotrupp ), azatim 1970. u Japanu (Kunitaka Arimura ). Prvi patent registriran je uFrancuskoj 1974. (Roland Moreno ), kada je ve bilo mogue nabaviti traženekomponente po razumnoj cijeni. Komercijalno uvoenje pametnih kartica uFrancuskom PTT-u kao telefonskih kartica oznaava poetak njihove širokeupotrebe [1]. Danas se veinom koriste starije inaice koje zapravo nisupametne (telefonske kartice, SIM kartice, iksice itd.), jer nemajumikroprocesor. No zahvaljujui sve boljoj tehnologiji, mogunosti pametnihkartica danas su vrlo velike, a u budunosti e sigurno biti još vee jer e seprimjena pametnih kartica proširiti na sva podru  ja ljudskog života. To suzapravo mala raunala sa svim svojim potrebnim komponentama (sadržeCPU, RAM, ROM i EEPROM) i sve više neovisna o terminalu (host ).

Pojam „pametna kartica“ upotrebljava se za bilo kakvu karticu koja

može vezati informaciju uz neku praktinu primjenu. Kartice s magnetskom trakom  imaju traku s magnetskim materijalom na jednom dijelu svojepovršine, opti  ke kartice su iste veliine, ali za upis/ itanje informacija koristeneku vrstu lasera. Optike i kartice s magnetskom trakom su memorijske kartice  – mogu pohraniti razliite podatke, ali ih ne mogu obraivati.Mikroprocesorske kartice  mogu pohraniti podatke, obraivati ih i izvoditizahtjevne operacije. Memorijski prostor takvih kartica je postojan, fiziki isklopovski zaštien, omoguuje jednostavnu izmjenu podataka.Mikroprocesorske kartice se po nainu komunikacije s itaem dijele se nakontaktne  (komunikacija preko metalnih kontakata na površini kartice) ibeskontaktne  (komunikacija radio valovima). Preciznije, pojam „pametnekartice“ se odnosi na memorijske i mikroprocesorske kartice [13].

Page 7: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 7/85

 

  3

Posljednjih godina s programskim jezikom Java  te Java Card  tehnologijom, razvijenom samo za razvoj aplikacija pametnih kartica,otvorene su nove mogunosti programerima aplikacija pametnih kartica zbogneovisnosti programskog koda o kartici i njenom sklopovlju. U vrijemememorijskih kartica, svaki proizvoa imao je posebni razvojni tim jer se

programiranje kartica razliitih proizvoaa razlikovalo i nije bilostandardizirano. Pojavom novih standarda (ISO 7816-3, ISO 7816-4, i sl.)programiranje pametnih kartica postalo je pristupanije, brže i jednostavnije.Osim Java Card razvojne platforme, na tržištu se javljaju i druge poputBasicCard (za koju je pisan programski dio ovog rada).

86mm

     5     4    m    m

 Slika 2.1 Pametna kartica

Izmeu ostalih imbenika koji su doprinjeli bržem razvoju i usvajanjupametnih kartica, veliku težinu ima sigurnost. Podaci se kriptiraju poznatimalgoritmima (56 bitni DES, 512-1024 bitni RSA, 167 bitni ECC, IDEA, SHA,

itd.). Podaci su na kartici puno sigurniji nego u doba memorijskih kartica, kaoi komunikacijski kanal za razmjenu podataka izmeu raunala i itaa, teizmeu raunala i baze podataka (može biti kriptiran ili zaštien raznimtipovima stroge meusobne autentifikacije). U zadnje vrijeme se proizvodepametne kartice koje na sebi sadrže ugraene kriptografske procesoreodvojene od glavnog procesora radi što boljih performansi (sklopovskokriptiranje je uglavnom brže od izvršavanja programskog algoritma). Slika 2.1prikazuje vanjski izgled moderne pametne kartice.

I dok s jedne strane tehnologija napreduje munjevitom brzinom,pametne kartice se sve više koriste u svim granama ljudske djelatnosti.esto se javljaju problemi kad treba iz hrpe kartica izvaditi baš onu koju trebaza traženog davatelja usluge. Javljaju se prve višeuslužne pametne kartice  koje imaju više primjena (npr. bankovna i telefonska kartica). Razvojstandarda i specifikacija olakšati e njihovu primjenu. Važno je naglasiti da jerije „ita“ ostala ustaljenom u tehnologiji pametnih kartica još iz vremenamemorijskih kartica kad su itai imali samo funkciju itanja podataka, aprogramiranje memorijske kartice se obavljalo preko posebnih izlaznih jedinica. U vrijeme pametnih kartica, pod tim istim pojmom podrazumijeva sei „pisa“ jer se preko njega upisuju i mijenjaju podaci na pametnoj kartici.

Page 8: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 8/85

 

  4

2.1. Povijest

Iako su pametne kartice vrhunac tehnologije, od njihove pojave prošlo je ve 30-ak godina. Od 1970. godine do danas vidljiv je stalan napredak usklopovskim (mikroprocesorskim) mogunostima i rastu broja razliitih

podru ja njihove primjene. Glavni uzroci širenja njihove primjene su sve nižacijena (vea dostupnost) i nedovoljna sigurnost kartica s magnetskomtrakom. Slijedi kratak prikaz povijesti pametnih kartica, od pojavljivanja dodanas [13]:

- 1970. dr. Kunitaka Arimura (Japan) – prvi i jedini patent konceptualnezamisli pametne kartice.

- 1974. Roland Moreno  (Francuska) - patent kartice s integriranimsklopom (IC Card), kasnije postaje poznata pod imenom „pametnakartica“.

- 1977. troje komercijalnih proizvoaa (Bull CP8, SGS Thomson,Schlumberger) poinje s razvojem pametnih kartica.

- 1979. Motorola  za Francusko bankarstvo proizvodi prvi siguranmikrokontroler.

- 1982. terensko testiranje serijske memorijske telefonske kartice uFrancuskoj – prvi veliki ispit IC kartica.

- 1984. prvo uspješno terensko testiranje ATM bankovnih kartica.

- 1986. Bank of Virginia  i Maryland National Bank  izdaju 14 000 karticas Bull CP8 mikrokontrolerom, First National Palm Beach Bank  i Mall Bank izdaju 50 000 Casio kartica svojim klijentima.

- 1987. razvijena prva aplikacija pametnih kartica za široko tržišteAmerikog ministarstva poljoprivrede Peanut Marketing Card. 

- 1991. pokrenut projekt First Electronic Benefits Transfer za Wyoming 

Special Supplemental Nutrition Program for Women, Infants, and Children. 

- 1992. pokrenut nacionalni program elektronikog novanikaDANMONT u Nizozemskoj.

Page 9: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 9/85

 

  5

- 1993. terensko testiranje aplikacija za višeuslužne pametne kartice(Rennes, Francuska), bankovna kartica (Smart Bank Card) ujedno je itelefonska (Telecarte). 

- 1994. Europay, MasterCard  i Visa (EMV) objavljuju zajednikuspecifikaciju za bankovne kartice temeljene na mikrokontroleru.Njemaka poinje s izdavanjem 80 milijuna serijskih memorijskihzdravstvenih kartica.

- 1995. preko 3 milijuna korisnika mobilnih telefona sa SIM karticama.Amerikim marincima (Havaji) izdane prve od 40 000 višeuslužnihpametnih kartica (MARC Cards). 

- 1996. izdano preko milijun i pol VISACash  bankovnih kartica zaolimpijske igre u Atlanti. MasterCard i Visa sponzoriraju konzorcij zarješavanje problema interoperabilnosti pametnih kartica – razvijenadva rješenja: Java Card  (Visa) i Multi-application Operating System MULTOS (MasterCard).

- 1998. u rujnu, administracija Amerike vlade (U.S. Government“s General Services Administration) i Amerika mornarica (U.S. Navy) razvijaju sustav pametnih kartica s 9 aplikacija (Smart Card Technology Center, Washington DC.). Namjena centra jestdemonstracija i evaluacija integracije višeuslužnih pametnih kartica sdrugim vrstama tehnologije u cilju otkrivanja sustava pogodnih zauporabu u saveznoj vladi (Federal Government). Microsoft  objavljujenovi Windows  operativni sustav za pametne kartice. U Francuskoj

poinje izdavanje zdravstvenih pametnih kartica za 50 milijunastanovnika.

- 1999. administracija Amerike vlade (U.S. Government“s General Services Administration) sudjeluje u Smart Access Common ID  projektu. Smart Access Common ID Card  program koristiti e svefederalne agencije kao standard – interoperabilnu korisnikuidentifikacijsku karticu – u svrhu omoguavanja fizikog i logikog(system/network) pristupa njihovim zaposlenicima. Amerika vladapokree Java Card višeuslužni program (Washington DC.).

Page 10: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 10/85

 

  6

Dokumentirati noviju povijest pametnih kartica (od 1999. do danas)nije jednostavno. Na tržištu svakim danom ima sve više rješenja, za razliiteprimjene. Prihvaanje i primjena tehnologije pametnih kartica razlikuje se odzemlje do zemlje i nacionalni sustavi još nisu kompatibilni. Na slici 2.2prikazano je predvianje rasta broja proizvedenih pametnih kartica do 2006.

godine [20].

398541

599701

8721052

11691262

0

200

400

600

800

1000

1200

1400Broj prodanihpametnih kartica, umilijunima

1999 2000 2001 2002 2003 2004 2005 2006Godina

Slika 2.2 Predvianje rasta broja prodanih pametnih kartica u svijetu

Uloga pametnih kartica u novanim (i ostalim) transakcijama oita je ineizbježna. Interoperabilnost, standardizacija i razvoj izazovi su postavljenidanašnjim pametnim karticama. Ti izazovi nisu jednostavni - uz pomo 

industrije javiti e se inovativna rješenja koja spajaju nove tehnologije (poputinteraktivne televizije, pametnih mobilnih telefona, runih digitalnihorganizatora (PDA), elektronikih novanika i interenta.

Uslijed zahtjeva na sve široj primjeni pametnih kartica javlja sepotreba za bržim razvojem kartinih aplikacija. Sigurnosni zahtjevi seneprestano mijenjaju, nema proizvoaa pametnih kartica koji može rei da  je njegov proizvod otporan na sve mogue (budue) napade. Pristupsigurnosti pametnih kartica sve više se okree standardizaciji. Prepoznavanjeopasnosti, njihova specifikacija i protumjere implementirane premastandardima, znatno e pojednostaviti korištenje i razumijevanje s jedne

strane, a otežati gubitak informacije s druge. Sigurnosna evaluacija rješenjatreba poeti u što ranijoj fazi izrade, i tei paralelno s razvojem u ciljupristupanog i pouzdanog rješenja. Neovisnost proizvoaa mikromodulapametnih kartica i proizvoaa kartinih operacijskih sustava uzrokovati eniže cijene kartinih sustava. Od pametnih kartica se u budunosti oekujeraširena uporaba na svim podru jima ljudskih djelatnosti, objedinjavanje višeusluga na jednoj kartici i lakše poslovanje uz maksimalnu sigurnost.

Page 11: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 11/85

 

  7

2.2. Tehnologija

Veliina pametnih kartica odgovara veliini uobiajenih kreditnih

kartica. Izrauju se od polivinil-klorida (PVC) i sadrže ugraeni mikromodul .Mikromodul se sastoji od jednog integriranog ipa s memorijom imikroprocesorom, a na površini ima osam metalnih kontakata (vidi poglavlje3.2.). Umetanjem kartice u ita (CAD – Card Acceptance Device) spajaju sekontakti itaa s odgovarajuim kontaktima pametne kartice i omoguavameusobna komunikacija [13].

Dijelovi mikromodula su:

-  mikroprocesor   (Microprocessor Unit – MPU), starije pametne karticekoristile su 8-bitne, a tijekom 90-tih godina prelazi se na 32-bitne RISC

mikroprocesore s taktom od 25 do 30 MHz. 

-  ulazno-izlazni kontroler   (I/O Controller) koji upravlja tokom podatakaizmeu mikroprocesora i itaa. 

-  memorija za  itanje  (ROM) ili programska memorija u koju proizvoa trajno upisuje programske instrukcije. Te instrukcije su osnovaoperacijskog sustava pametne kartice (Chip Operating System – COS), danas se izvodi kao flash ROM.

-  memorija sa slu  ajnim pristupom   (RAM) ili radna memorija koja sekoristi kao privremeno spremište izrauna, operacija nad podacima iulazno/izlaznih komunikacija. Ta memorija nije postojana i gubipodatke pri iskljuenju napajanja. 

-  aplikacijska memorija , danas veinom EEPROM . Pisanje i brisanjeaplikacijske memorije izvodi se elektriki. Prema internacionalnimstandardima, podaci u EEPROM-u „traju“ 10 godina, mogu seitati/pisati najmanje 10 000 puta za vrijeme života kartice. Kartineaplikacije koriste ovu vrstu memorije za pohranu podataka na karticu.  

Page 12: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 12/85

 

  8

2.3. Osnovna svojstva

-  cijena  – od 1  do 10 , raste s veim kapacitetom i složenijimmikrokontrolerom, niža za velike narudžbe.

-  pouzdanost  – kartice izvedene prema ISO  standardima trebaju bitiotporne na pad, savijanje, abraziju, pritisak, temperaturu, vlažnost,statiki elektricitet, napad kemikalijama, ultraljubiasto i rendgenskozraenje, te magnetsko polje.

-  ispravljanje grešaka – operacijski sustav kartice ima ugraenu zaštituod grešaka, aplikacija terminala mora provjeravati dvo-bajtnu statusnurije (vidi poglavlje 3.2.) dobivenu od operacijskog sustava karticenakon izvršenja naredbe i, prema potrebi, izvršiti ispravljanje.

-  veli  ina EEPROM-a  1-64 kilobajta, 8-32 kilobajta ROM-a, 256-2048

bajtova RAM-a. Novije metode sažimanja podataka omoguujuspremanje vee koliine podataka od navedene.

-    jednostavnost korištenja – pametne kartice imaju jednostavno sueljeza praktinu primjenu, slino bankovnoj kartici s magnetskom trakom.

-  osjetljivost – osjetlijve su na fizika ošteenja mikromodula, no ipak ih je teže oštetiti nego kartice s magnetskom trakom.

-  sigurnost  – pametne kartice su vrlo sigurne (no ne i potpuno, vidipoglavlje 4.5.), podatke pohranjene u mikromodulu je teško kopirati ilioštetiti, za razliku od kartica s magnetskom trakom. Podrškaenkripcijskim i autentifikacijskim algoritmima te digitalnom potpisu.

-  brzina prijenosa – ISO 7816 ograniava kontaktne pametne kartice na9600   bauda . Neki kartini operacijski sustavi dozvoljavaju promjenubrzine prijenosa nakon pokretanja mikromodula, dobro dizajniraneaplikacije izvode operacije u trajanju do 2 sekunde.

-  procesna snaga  – stariji mikroprocesori na kartici bili su 8-bitni s 16MHz taktom, današnji 32-bitni s 25-32 MHZ taktom, bolji s pomonimprocesorom za brzu enkripciju.

-  izvor napajanja 5V istosmjerno. Veina primjena zahtjeva samo ita (CAD) s asinkronim taktom, serijskim sueljem i 5-voltnim izvoromnapajanja.

Kljunu ulogu interoperabilnosti i kompatibilnosti u okruženju s višeproizvoaa pametnih kartica imaju standardi. Standardi za integriranosklopovlje postoje od 1980-tih. Svjetski standard za pametne kartice je ISO7816, no još uvijek ne postoji standard za kartini operacijski sustav. Razliitiproizvoai nude razliite COS-ove, što je važan imbenik pri odabiru karticeza odreeno rješenje. Razliite grupe i konzorciji rade na prijedlozimastandarda i specifikacija vezanim za pametne kartice (vidi poglavlje 4.6.).

Page 13: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 13/85

 

  9

2.4. Stanje prije pojave pametnih kartica

Prije pojave pametnih kartica, postojale su razne magnetske

memorijske kartice koje nisu bile standardizirane i kompatibilne. Magnetskatraka je robustna i lako itljiva, ali nije sigurna. Podatke koji su na njoj možeproitati (i kopirati) bilo koji ita magnetskih kartica. Kartice razliitihproizvoaa drugaije su se programirale i vrijedila su posebna pravila zapojedinog proizvoaa. Tako su proizvoai razvijali svoj strojni jezik pa ak i  jezik više razine za programiranje kartica. Obino su se takve karticeprogramirale u tvornici prilikom izrade ili odmah nakon izrade, pa je postojaododatni trošak za korisnika. Naruitelj je morao plaati svoje programere zaizradu aplikacija terminala, i programere proizvoaa kartica (za izradukartinih aplikacija). Ako se programeri proizvoaa i programeri naruiteljanisu dobro sporazumjeli (npr. loša specifikacija funkcija), znalo je doi dopopriline zbrke što je dodatno povealo troškove za naruitelja. Slika 2.3prikazuje razvojni put memorijske kartice. Idealni razvojni put je oznaenstrelicama sa punom crtom, a sluajevi greški prikazani su crtkanimstrelicama. Do problema može doi na tri mjesta i to:

- prilikom razvoja aplikacije terminala- prilikom testiranja aplikacije terminala- krajnji korisnik ili davatelj usluge je uoava probleme bilo sa

aplikacijom terminala ili s programiranom karticom

Naješe razvojni put nije bio idealan, postojali su odreeni problemikoji su zahtjevali prepravljanje bilo aplikacije terminala, bilo programa namemorijskoj kartici, što je poveavalo troškove i vremenska kašnjenja. Novijekartice mogao je programirati i sam naruitelj te se tako izbjeglo nesuglasje,ali se javio drugi problem: treba nauiti strojni jezik za programiranje kartica(koji obino nije kompatibilan s drugim proizvoaima). Nestandardiziranostrazliitih proizvoaa uzrokovala je spor razvoj i prihvaanje sustavapametnih kartica [1].

Programerimemorijskih kartica

Krajnjikorisnikusluge

Programeri aplikacijeterminala

Izrada memorijske kartice Uvoenje kartice u rad

Proizvoa memorijskih kartica Naruitelj-davatelj usluge Krajnji korisnik

 Slika 2.3 Nekadašnji razvoj pametnih kartica

Page 14: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 14/85

 

  10

2.5. Primjena pametnih kartica

Slika 2.4  prikazuje razvojni put pametnih kartica koji je mnogo krai,brži i pouzdaniji od razvojnog puta magnetskih kartica. Pametne kartice imajusklopovlje i programe koji se pokreu s umetanjem u ita. Može se rei da jeoperacijski sustav na pametnoj kartici u neku ruku pasivan, jer interpretersamo odgovara na prije definirane naredbe (veza s vanjskim svijetom jeograniena). Mikroprocesor na pametnoj kartici može zabraniti (zakljuati)pristup svojoj programskoj memoriji, a novije pametne kartice imaju ugraeneenkripcijske procedure (funkcije). Zbog tih svojstava pametne kartice susigurnije (npr. pametna kartica za satelitski reciver, koja selektivnoomoguava gledanje satelitskih programa na koje ste se pretplatili). Naruiteljviše ne ovisi o programerima proizvoaa, kartine aplikacije se razvijajuparalelno sa korisnikom aplikacijom te se tako izbjegavaju nesuglasnosti inestandardiziranost.

Ako se pojavi greška, brže se otklanja jer se dogodila unutar užegkruga ljudi. Pojavom programskih jezika poput Jave  i ZBasica (Java Card  iBasicCard ) razvoj korisnikih aplikacija i kartinih aplikacija je puno brži i jednostavniji.

Krajnji

korisnikusluge

Programeri appleta i

terminalske aplikacijeIzrada pametne karticeUvoenje kartice u rad s

terminalskom aplikacijom

Proizvoa pametnih kartica Naruitelj-davatelj usluge Krajnji korisnik

 

Slika 2.4 Razvojni put današnjih pametnih kartica

Danas na tržištu prevladavaju kartice temeljene na Java Card

tehnologiji. Visoko su standardizirane pa korisnik (naruitelj) pametnih karticaviše nije vezan za jednog proizvoaa (može ih naruiti od razliitihproizvoaa).

Page 15: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 15/85

 

  11

Mogua primjena pametnih kartica je vrlo široka. Pametna kartica semože upotrijebiti za pohranu svih osobnih identifikacijskih podataka kao iostalih podataka svojstvenih samo korisniku kartice. Sve usluge kojimakorisnik raspolaže biti e pohranjene na jednom mjestu – na jednoj pametnojkartici. Osim pohranjivanja osobnih identifikacijskih podataka, mogue e biti

pohraniti neke druge dokumente poput lijenikih recepata (ostvareno uprogramskom dijelu ovog rada, poglavlje 6.), vozake dozvole, prijevoznihkarata, sredstava plaanja (za npr. cestarinu, benzinske crpke, hotele), islino. Pametna kartica e se u isto vrijeme koristiti kao klju vrata obiteljskekue, klju vrata tvrtke u kojoj ste zaposleni i kao lanska iskaznica u npr.knjižnici (uvati e podatke o knjigama koje ste posudili).

Zbog visokih sigurnosnih zahtjeva koje pametne kartice morajuzadovoljavati, njihova „unutrašnjost“ se obino taji, kako bi se otežali moguinapadi. Uz pojednostavljeno korištenje, od pametnih se kartica oekuje brzrazvoj i uporaba u svakodnevnom životu – stoga je potrebno zadovoljiti

sljedee uvjete:

- višeuslužnost- sigurnost podataka- standardiziranost na visokom nivou

Višeuslužnost je svojstvo kartica koje podržavaju sigurno izvoenjeaplikacija namjenjenih ostvarenju razliitih usluga (npr. bankovna kartica koja  je ujedno i klju za ulazak u prostorije neke tvrtke). Sigurnost je osnovnipreduvjet za sve primjene pametnih kartica. Razvojem specifikacija istandarda proizašlih iz dosadašnjih rješenja i novih saznanja, poveava se i

sigurnost sklopovlja i aplikacija u sustavima pametnih kartica. Novi standardiodreuju i naine ostvarenja sigurnog izvršavanja i pohrane višeuslužnihaplikacija.

Page 16: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 16/85

 

  12

3. Okruženje pametne kartice

Prikaz meudjelovanja i okruženje kartinih aplikacija i aplikacijaterminala prikazan je na slici 3.1.

Raunalo/Terminal

Korisnik kartice

JavaCard/BasicCard appletuitan na kartici -kartina aplikacija

Klijent aplikacijakoja se nalazi na

terminalu -aplikacija terminala

Komunikacija itaa i terminalapomou APDU-a Davatelj usluge

ita kartice

Slika 3.1 Okruženje pametne kartice

Kartine aplikacije su u vrstoj sprezi s aplikacijom terminala.Aplikacija terminala kontrolira ulazne i izlazne podatke koje kartica prima ilidaje, te šalje zahtjeve kartinoj aplikaciji pomou APDU-a (engl. Application Protocol Data Unit ). Kartina aplikacija se na kartici prilikom izvršavanjaponaša kao jednostavan server - prima, obrauje podatke i vraa rezultateaplikaciji terminala. Obino u razvojnom paketu dobivenom od proizvoaapostoji simulator tako da se funkcionalnost i rezultati konstruirane kartineaplikacije mogu isprobavati prije uitavanja na karticu (vidi poglavlje 6.3.1.).Time se izbjegavaju nepotrebna uitavanja (download) kartinih aplikacija,sporije izvršavanje i teže otklanjanje pogrešaka [2].

Page 17: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 17/85

 

  13

3.1. Kartina aplikacija i aplikacija terminala

Što je aplikacija terminala? Ve je spomenuto da je pametna kartica

malo „neovisno“ raunalo - neovisno utoliko što kad je isprogramirana, možeobavljati svoju funkciju do daljnjega. Dakle postoje aplikacije koje seizvršavaju na „samoj“ pametnoj kartici (pisane u npr. Javi ili ZBasicu) iaplikacije koje se izvršavaju na „terminalu“. Pod pojmom terminal misli se nabilo kakvo raunalo (npr. bankomat) koje uitava podatke s pametne kartice ibarata s tim podacima (npr. skida novac s rauna). Pametne kartice nemajuvlastito napajanje, stoga je za njihov rad potreban sklop koji im osiguravanapajanje. Nedostatak neovisnosti uzrok je i nekih sigurnosnih problema, noo tome više u kasnijim poglavljima. Dakle aplikacija terminala je program kojise izvršava na terminalu, a ima mogunost komunikacije s pametnomkarticom (preko npr. itaa pametnih kartica). Aplikacija terminala može sepisati u višim programskim jezicima poput C++, Visual Basic, Java itd. (jezicikoji su podržani sueljem proizvoaa pametnih kartica).

Karti  na aplikacija  (koja se izvršava na kartici) je pisana kao zasebnacjelina, a potom prevedena i uitana na karticu (danas se razvijaju i drugiprogramski jezici kao konkurencija Javi, npr. jezik Forth  i korišteni ZBasic ).Programeri koji razvijaju kartine aplikacije moraju obratiti posebnu pozornostna podru je njene primjene i, prema tom podru ju, na mogue izvore napadaili gubitka podataka (npr. gubitak napajanja u jeftinijim pametnim karticama).Dakle na vlastitom raunalu pišemo program u jeziku podržanom odproizvoaa pametnih kartica, prevedemo ga i možemo ga uitati na karticu,dok aplikacija terminala može (treba) osiguravati podatke za rad kartine

aplikacije. Kako bi pametna kartica poela obavljati svoju funkciju (kaonovanik, kao identifikacija, u upravljanju raznim procesima...), nužna je nekavrsta aplikacije terminala koja s karticom komunicira. Na karticu se uitavave preveden kod (Java byte code, P-code) koji izvodi interpreter.Ogranienje nije broj uitavanja, ve memorijski prostor.

Page 18: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 18/85

 

  14

3.2. Kako radi komunikacija kartica-ita?

Za opis komunikacije kartica-ita, može se koristiti OSI model (slika

3.2). U tom modelu su navedeni standardi koji se danas koriste i definirajuponašanje u i izmeu slojeva modela.

ISO/IEC 7816-4 ISO/IEC 7816-7 

EN 726-3 

prEN 1546-3 GSM 11.11

ISO/IEC 7816-3 (T=0)ISO/IEC 7816-3 Amd (T=1)

ISO/IEC 10 536-3 (T=2)

ISO/IEC 7816-3 

(kontaktne kartice)

ISO/IEC 10 536-3 (beskontaktne kartice)

OSI sloj 7 

aplikacijski sloj 

OSI sloj 2 sloj podatkovne veze 

OSI sloj 1

fizi  ki sloj 

 Slika 3.2 OSI model komunikacije kartice i itaa

Fiziki sloj je definiran standardom ISO/IEC 7816-3 u kojem suopisane sve karakteristike komunikacije i implementacije na najnižoj razini.Komunikacija kartica-ita je digitalna. Tipino se koriste naponske razine+5/+3 V, obino se visoka razina „1“ definira prvim znakom ATR odgovora.

Prilikom umetanja kartice u ita mehaniki se registrira prisutnost

kartice, zatim se uspostavlja elektrina veza izmeu vanjskih kontakata nakartici i kontakata u itau (terminalu). Tu leži opasnost od kratkog spojaizmeu kontakata na samoj kartici (dok se umee ili vadi), pa se naodgovarajui nain mora zaštititi i kartica i terminal (propisano standardomISO/IEC 7816-3). Stoga se spajanje kartice provodi postepeno, pet aktivnihkontakata se omoguava tonim redoslijedom: prvo se spaja kontaktuzemljenja (GND), zatim napajanje (VCC) pa takt (CLK). Time je omoguenrad mikrokontrolera na samoj kartici i on se može resetirati (na kontaktuRST), na prvom rastuem bridu. tj. kartica se sama upali (tzv. power-on reset ). Metalna ploica s kontaktima pametne kartice prikazana je na slici3.3.

Page 19: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 19/85

 

  15

Slika 3.3 Kontakti mikromodula pametne kartice

Zapravo ita nije dobar naziv za ureaj koji služi komunikaciji izmeukartice i PC-a jer se njime osim itanja obavlja i pisanje. Dakle komunikacija  je dvosmjerna. Za komunikaciju je raspoloživa samo jedna I/O linija, papodatke šalju naizmjence kartica ili ita (druga strana sluša). Ovakav nain

komunikacije naziva se half-duplex  procedura. Full-duplex T=1 nainkomunikacije je prijenos na razini blokova podataka. U tom nainu prijenosaAPDU naredbe se prenose podijeljene na blokove podataka. Podržano jeulanavanje, ponovno slanje i produljenje vremena ekanja. Ako kartica trebaviše vremena za obradu podataka izmeu APDU naredbi, može od terminalazatražiti „produljenje vremena ekanja“ (WTX – Waiting Time Extension) [4]. 

Svaki blok podataka T=1 protokola sastoji se od sljedeih polja:- adresa primatelja i poštiljatelja (NAD) - polja kontrole protokola (PCB) - dužine INF polja u bajtovima- informacijskog polja (INF) s podacima o sadržaju bloka- zaštitnog polja (LRC) 

Half-duplex ISO T=0 protokol (standard ISO/IEC 7816-3) je protokolrazvijen u Francuskoj za vrijeme poetnog razvoja pametnih kartica.Pretpostavlja asinkronu komunikaciju (start i stop bitovi) i bajtno je orijentiran(najmanja jedinica koja se prenosi je bajt). Svojstvo tog protokola jemaksimalna jednostavnost uz minimalno korištenje memorije. ita razmjenjuje podatke s karticom preko ulaznih naredbi i izlaznih poruka(dobivenih od kartice). Format poruke kompatibilan je s ISO 7816-4standardom (kartice je mogue proitati s bilo kojim itaem koji jekompatibilan tom protokolu). Poruka (naredba) se prenosi bajt po bajt, kao naslici 3.4, samo što su umjesto stop bitova na kraju podatkovnog bajta dva bitauvanja vremena (guard time ), tj. dvije elementarne vremenske jedinice (etu )koje oznaavaju kraj prijenosa bajta. Ako doe do greške, unutar te dvije  jedinice primatelj (terminal ili kartica) treba I/O liniju postaviti nisko, kako bipošiljaoc ponovo poslao pogrešan bajt.

Page 20: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 20/85

 

  16

Komunikacija kartice s vanjskim svijetom je serijska, tj. niz bitova kojise slijedno šalju preko I/O linije. Smjer bitova ovisi o dogovoru: direktan smjer(ako je prvi bit nakon poetnog najmanje znaajan) ili inverzni smjer (ako jeprvi bit najznaajniji bit u bajtu). Slika 3.4 prikazuje serijski prijenos podatakaizmeu itaa i kartice.

visoko 

nisko 

start bit podatkovni bitovi  paritetni bit 

stop bit(ovi)

 

Slika 3.4 Struktura prijenosa znaka preko I/O linije

Proces komunikacije uvijek zapoinje terminal (ita), karticaodgovara na naredbe dobivene od terminala (ne šalje podatke sama odsebe, bez vanjskog zahtjeva). To je komunikacija gospodar-sluga (master- slave ), u kojoj je terminal gospodar, a kartica sluga. Komunikaciju možemosimboliki prikazati dijagramom na slici 3.5:

Terminal Pametna kartica 

PTS 

potreban? 

Reset 

PTS zahtjev 

ATR 

PTS odgovor 

naredba 1

odgovor 1

da 

ne 

. . .

 Slika 3.5 Poetak komunikacije itaa i pametne kartice

Page 21: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 21/85

 

  17

Nakon što je osigurano uzemljenje, napajanje i takt (time se misli daizmeu odgovarajuih kontakata nema kratkog spoja ili drugih moguihgrešaka), pametna kartica šalje odgovor na resetiranje ATR (Answer to Reset ) preko ulazno-izlaznog I/O kontakta. To je podatkovni niz maksimalneduljine 33 bajta, sadrži podatke vezane za prijenosni protokol, podatke

vezane za samu karticu i obino se šalje s vrijednošu djelitelja 372 (divider value ). Vrijednost djelitelja je broj koji pokazuje koliko ciklusa vanjskog takta(external clock ) terminala, na I/O liniji stoji jedan znak (toliko vremena imamikroprocesor na kartici da ga prepozna i spremi u I/O meuspremnik). Osimvrijednosti djelitelja 372 koristi se još standardno vrijednost 512. ATR seobino sastoji od samo nekoliko bajtova, posebno za aplikacije koje setrebaju brzo izvesti. Kartica treba vratiti ATR u vremenu 400 – 40000 ciklusavanjskog takta od slanja reset signala, ako ne vrati ATR u tom vremenuterminal ponavlja aktivacijski ciklus (pokušava par puta, ako ne proradismatra da je kartica ili ita neispravan). Bez ulaženja u detalje, ATR-omterminal dobiva niz bajtova ili znakova: TS i T0 – odreuju temeljna svojstvaprijenosa i najavljuju sljedee znakove, TA1, TB1, TC1, … znakovi koji

definiraju suelje prijenosa (važno za naredbe koje slijede), T1, T2, T3 …znakovi povijesti kartice, te TCK koji je zaštitna suma prethodnih bajtova(eventualno može biti i posljednji znak ATR-a, ovisno o protokolu) [1].

Poslije ATR-a (a prije slanja prve naredbe) terminal može poslatinaredbu za odabir tipa protokola – PTS . Ta naredba nije dio standarda,pomou nje je mogue postaviti razliite parametre kartinog protokola.Zatim kartica eka poruku (naredbu) od terminala, izvršava ju i vraaodgovor.

Postoje tri vrste naredbi:

  Ulazne (Input )  ita šalje kartici naredbu i podatke  Izlazne (Output )  ita dobiva podatke od kartice  Bez podataka (No data )   ita kartici šalje samo naredbu (bez

podataka)

Format naredbe je tzv. Application Protocol Data Unit  (APDU) -  jedinica podataka aplikacijskog protokola. Struktura poruke naredba-odgovor(command-response ) je prikazana na slici 3.6 (za ulazne i izlazne naredbe):

CLA P1INS P2 P3 DATA

zaglavlje  podatkovni dio 

 Slika 3.6 Struktura APDU naredbe

Page 22: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 22/85

 

  18

Opis polja APDU naredbe prikazan je u tablici 3.1. Sve vrijednosti su uheksadecimalnom obliku (ako drugaije nije navedeno)

Tablica 3.1 Opis polja APDU naredbe-odgovora

CLA razred naredbe

INS identifikator naredbe (instrukcije)

P1, P2 ulazni parametri za naredbu

P3 duljina, parametar koji specificira broj podatkovnihbajtova (unutar naredbe) za prijenos na (ili prijenos od)kartice

Ack 

potvrda da je kartica primila naredbu i da je spremna zaprijenos podataka. U sustavu PC-pametna kartica,driver od itaa lovi odgovor, pa on uope ne dolazi doaplikacije terminala.

Input data podaci koje ita šalje kartici

Output data podaci koje kartica vraa itau

SW1  status kartice (status word), odgovor na naredbu(1 bajt)

SW2  opcionalni odgovor koji omoguava dodatne statusneinformacije

Format ulazne poruke naredba-odgovor  prikazan je u tablici 3.2:

Tablica 3.2 Ulazna naredba

 

Opisno to bi izgledalo ovako: terminal šalje kartici zaglavlje od 5bajtova (CLA, INS, P1, P2, P3) - ako nema greške, kartica vraa potvrdu(ACK) da je primila zaglavlje - terminal šalje podatkovni dio s brojem bajtovaspecificiranim u P3 (Data) - kartica izvršava naredbu, vraa status (SW1) iduljinu podataka (SW2) - terminal traži odgovor (get response ) s traženimbrojem bajtova u P3 (CLA, INS, P1, P2, P3) - kartica vraa podatke i status(Data, SW1, SW2) - kraj poruke naredba-odgovor .

Page 23: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 23/85

 

  19

Format izlazne poruke naredba-odgovor prikazan je u tablici 3.3:

Tablica 3.3 Izlazna naredba

 Za oba formata duljina  je duljina ulaznih podataka specificirana

parametrom P3 (drugi nain oznaavanja duljine ulaznih podataka je Lc).Ako je P3=00h (heksadecimalno), šalje se samo naredba, bez podataka.Statusna rije (status word ) SW1 u izlaznoj poruci pokazuje da li je kartica

uspješno izvršila naredbu i vratila željene podatke, a SW2 sadrži brojpodatkovnih bajtova u izlaznoj poruci, tj. broj znakova koje kartica vraa kaorezultat (drugi nain oznaavanja duljine izlaznih podataka je Le). Postojimogunost individualnog slanja podatkovnih bajtova na karticu (npr. ako jepotrebno duže vrijeme za obradu ili se oekuju greške u prijenosu). U tomsluaju kartica treba nakon svakog podatkovnog bajta terminalu vratitiinvertirano zaglavlje (CLA, INS, P1, P2, P3) [1].

Page 24: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 24/85

 

  20

4. Sigurnost pametnih kartica

Može se rei da su pametne kartice samostalni sustavi, no ipak suizložene opasnostima vanjskih imbenika. esto se primjenjuju u sustavimakoji zahtijevaju jaku sigurnosnu zaštitu i autentifikaciju, pa je tehnologijaizrade pametnih kartica vrsto vezana uz sigurnost. Proizvoai donose novesloženije mjere zaštite – a hackeri smišljaju sve bolje i bolje naine probijanjatih zaštita. Ovo neprestano „natjecanje“ vodi otkrivanju sve bolje i boljetehnologije [17].

Sigurnost pametnih kartica možemo promatrati kroz:- komunikaciju- sklopovlje- operacijski sustav- programe koji se izvršavaju na kartici ili ju koriste

4.1. Komunikacija

Komunikacija kartice s vanjskim svijetom opisana je u poglavlju 3.2.Odvija se pomou APDU paketa izmeu itaa pametnih kartica (CAD) ikartine aplikacije. Karakteristike komunikacije su:

- mala brzina prijenosa (bit rate) preko serijske dvosmjerne linije(ISO 7816-3 standard)-  half duplex prijenos informacija (podaci se prenose samo u jednom

smjeru u odreenom trenutku)- komunikacija se odvija prema složenom protokolu (opisano u

poglavlju 3.2.) opisanom na slici 4.1:

APLIKACIJA

Protokol komunikacije

ITA (CAD) APDUPROCESOR

SPECIFINEFUNKCIJE

APDU

APDU

Odgovor

Odgovor

Naredba

T=0, T=1

OdgovorKARTICA

Slika 4.1 Komunikacija aplikacije terminala i kartine aplikacije

Page 25: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 25/85

 

  21

Protokol meusobnog identificiranja kartice i itaa obino se izvodi nasljedei nain:

- kartica generira sluajni broj i šalje ga itau/aplikaciji terminala-

aplikacija kriptira broj s dijeljenom tajnom i šalje ga natragpametnoj kartici- kartica usporeuje dobiveni podatak s vlastitim- ako je potrebno, ponavlja se isti postupak ali kartica i ita 

zamjenjuju mjesta (ita šalje sluajni broj itd.)

Po uspostavi sigurne komunikacije, sve poruke izmeu itaa i karticeverificiraju se kroz postupak autentifikacije poruke. To je broj koji seizraunava na temelju podataka, kljua enkripcije i sluajnog broja. Ako jedobiveni podatak izmijenjen iz bilo kojeg razloga, potrebno je ponovo poslatiporuku. Na karticama koje imaju dovoljno snažan procesor i dovoljno

memorijskog prostora, podaci se mogu verificirati pomou digitalnog potpisa[17].

Naješe korišteni enkripcijski algoritmi su DES, 3DES (triple DES) iRSA s kljuevima 56, 168 i 1024 bita respektivno. Nažalost ti algoritmi nisuneprobojni (dokazali Ross Anderson  i Markus Kuhn  [12]). Pronalazaksigurnosnih nedostataka omoguuje definiranje i nadopunjavanje postojeihstandarda te implementaciju novih rješenja u kojima se ti nedostaciotklanjaju.

Page 26: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 26/85

 

  22

4.2. Sklopovlje

Svi podaci, lozinke i kljuevi spremljeni u EEPROM-u pametne kartice

mogu biti izbrisani ili izmijenjeni zbog neprikladnog napona napajanja. Stoganeki sigurnosni procesori na pametnim karticama imaju implementiranesenzore za ispitivanje vanjskih uvjeta. Pravu osjetljivost teško je odrediti aprilikom svakog umetanja/vaenja kartice iz itaa javlja se kolebanjenapona, pa su takvi procesori rijetki. Postoje i druge opasnosti za podatke nakartici – poput zagrijavanja na visoku temperaturu ili izlaganja EEPROM-aultraljubiastim zrakama.

Slika 4.2 Mikromodul pametne kartice

Ako se kartica uništi i iz plastinog kuišta izvadi mikromodul (slika4.2) mogu je i reverzni inženjering (kopiranje sklopovlja). Napad analizomrazlika u potrošnji (DPA) je statistiki napad na kriptografske algoritme (vidipoglavlje 4.5.8.). Temelji se na usporedbi hipoteze s izmjerenim rezultatom imože otkriti klju enkripcije. Jednostavniji napad analizom potrošnje (SPA)takoer se može iskoristiti za otkrivanje povjerljivih podataka (vidi poglavlje4.5.7.).

Page 27: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 27/85

 

  23

4.3. Operacijski sustav

Operacijski sustav pametne kartice je vrlo jednostavan operacijski

sustav sa najviše jednom niti izvršavanja koja upravlja raspoloživimresursima kartice. To je I/O (ulazno-izlazni) podsustav kompatibilan s ISO7816-3 i ISO 7816-4 standardima. Uz upravljanje memorijom koju koristefunkcije visokog nivoa, neki operacijski sustavi kao dodatak ukljuuju i nizkriptografskih funkcija.

Podaci na kartici su organizirani u stablastoj strukturi. Korijen testrukture je jedna glavna datoteka (master file – MF) koja može sadržavatielementarne datoteke (elementary file – EF) i povezne datoteke (dedicated file). Elementarne datoteke su datoteke s korisnikim podacima, a poveznedatoteke sadrže podatke o drugim elementarnim i poveznim datotekama –

poput direktorija. Glavna datoteka analogna je osnovnom direktoriju. Slika4.3 prikazuje strukturu podataka pametnih kartica.

Glavna datoteka

Povezna datotekaElementarna datoteka Elementarna datoteka Elementarna datoteka

Elementarna datoteka Elementarna datoteka Povezna datoteka

Elementarna datoteka

 

Slika 4.3 Struktura podataka pametne kartice

Zaglavlja navedenih datoteka sadrže sigurnosne atribute povezane spravima korisnika. Aplikacija može pristupiti nekoj datoteci samo ako imaodgovarajua prava. Osnovna prava su:

- uvijek (always – ALV), pristup datoteci sa svim pravima- verifikacija korisnika kartice 1 (card holder verification 1 – CHV1),

pristup datoteci mogu je samo ako se korisnik verificirao krozCHV1, tj. ako je korisnik upisao ispravan PIN 1 ili ako je aktivnaenkripcija podataka kljuem enkripcije s brojem 1

Page 28: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 28/85

 

  24

- verifikacija korisnika kartice 2 (card holder verification 2 – CHV2),pristup datoteci mogu je samo ako se korisnik verificirao krozCHV2, tj. ako je korisnik upisao ispravan PIN 2 ili ako je aktivnaenkripcija podataka kljuem enkripcije s brojem 2

- administrativna (administrative – ADM), pistup datotekama mogu 

 je samo odgovornom administrativnom tijelu- nikad (never – NEV), pristup datoteci je zabranjen

Kartice koje koriste verifikaciju PIN-om, obino PIN-ove spremaju udvije elementarne datoteke (npr. EFCHV1 i EFCHV2). Ako je PIN pogrešnounesen nekoliko puta, operacijski sustav zakljuava (blokira) karticu. Brojmoguih pogrešnih unosa ovisi o programskom rješenju. Nakonzakljuavanja, kartica se može otkljuati ako se unese poseban PIN zaotkljuavanje. I taj PIN ima broja pogrešnih unosa, koji takoer možezakljuati pametnu karticu (u nekim sluajevima, nepovratno – pa se karticamože „baciti“ iz sigurnosnih razloga). Ako je kartica zakljuana zbog krivog

unosa PIN-a, atributi u zaglavlju svake datoteke se mijenjaju i kod pristupazahtijevaju verifikaciju korisnika 1 ili 2 (CHV1 ili CHV2). Kad korisnik unesePIN za otkljuavanje, atributi datoteka se vraaju u poetno stanje. Broja pogrešnih unosa PIN-a vraa se na najveu vrijednost, a broja PIN-a zaotkljuavanje smanjuje se za 1 (ako postane 0, više nije mogue otkljuatikarticu).

4.4. Programska rješenja

Openito, sigurnost aplikacije odreena je sigurnošu platforme na

kojoj se aplikacija izvodi, te sigurnosnim osobinama izvedenim u samomdizajnu aplikacije. Veina današnjih platformi (npr. BasicCard, Java Card )dizajnirana je na nain da omoguava izgradnju, instalaciju i izvoenjekartinih aplikacija u visoko zaštienom okruženju. Zbog prisutnostisigurnosnih osobina u samoj platformi, programeri koji razvijaju kartineaplikacije mogu usredotoiti svoje napore na definiranje strategije zaštite,umjesto na programiranje aplikacija u svrhu nadomještanja nesigurnostiplatforme.

Dobro definirana strategija zaštite mora zadovoljiti sljedea svojstva:

•  Autentifikacija –  pristup funkcijama i podacima kartine aplikacije morabiti strogo provjeren. Nužno je provesti proceduru autentifikacije u ciljuprovjere identiteta aplikacije terminala. Kod višeuslužnih pametnihkartica potrebno je provjeriti identitet kartine aplikacije kojoj pristupaaplikacija terminala, te zadovoljavanje prava pristupa objektima ipodacima spremljenima na pametnoj kartici.

Page 29: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 29/85

 

  25

•  Tajnost –  nužna je zaštita privatnosti podataka kartine aplikacije.Onemoguiti pristup zaštienim podacima, kao što su broj rauna i iznoskredita, bez prethodno izvršene autentifikacije. Tajni podaci, PIN i tajni(privatni) kriptografski kljuevi, nikad ne smiju napustiti karticu.

•  Integritet  – potrebno je osigurati ispravnost podataka kartine aplikacije.Podaci ne smiju biti mijenjani bez prethodno izvršene procedureautentifikacije. Promjena podataka štiti se i provjerom potencijalnihpogreški, npr. iznos e-novanika ne smije prijei maksimalni iznos nitipostati negativan, te ugraenim sklopovsko-programskim rješenjimapoput zaštitne sume i slino.

Razliite kartine aplikacije zahtijevaju razliite razine sigurnosti.Implementirani sigurnosni mehanizmi esto zahtijevaju više raunarskihresursa, smanjujui time performanse izvoenja kartinih aplikacija. Zbogtoga je potrebno za svaku kartinu aplikaciju odrediti sigurnosne zahtjeve iprema njima implementirati odgovarajue sigurnosne mehanizme da bi sezadovoljila željena razina sigurnosti. Sklopovska podrška, gotove procedurei biblioteke enkripcijskih algoritama znatno olakšavaju postizanje visokerazine sigurnosti [14].

4.4.1. Sigurnosne osobine Java Card tehnologije

Sigurnosne se osobine Java Card tehnologije direktno nadograuju inadopunjuju iz sigurnosnih osobina Java programskog jezika. Da bi razumjelisigurnosne osobine Java Card tehnologije, potrebno je prvo prouitisigurnosna svojstva Jave. Java Card platforma podržava podskupprogramskog jezika Jave i specifikaciju stogovnog stroja prilagoenuaplikacijama pametnih kartica (vidi poglavlje 5.2.). Zbog toga Java Cardplatforma nasljeuje sigurnosne osobine ugraene u podržani podskup jezikaJave. Sigurnost jezika Jave tvori temelje sigurnosti Java Card platforme:

- onemoguena je bilo kakva ilegalna konverzija tipova podataka, poputpretvorbe cjelobrojnog tipa podatka u pokaziva. Dakle, jezik je strogotipiziran.

- nužna je provjera granice i duljine polja, prilikom pristupanja poljupodataka.

- ne koristi se aritmetika pokazivaa. Zbog toga ne postoji mogunostkrivotvorenja pokazivaa s ciljem da se zlonamjernim programimadozvoli njuškanje po sadržaju memorije.

- inicijalizacija varijabli mora biti provedena prije korištenja istih.- razina pristupa svim razredima, metodama i poljima je strogo

kontrolirana. Na primjer, privatna metoda ne može biti pozvana izvanrazreda u kojem je definirana.

Page 30: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 30/85

 

  26

U izrazito sigurnosno-osviještenom svijetu pametnih kartica, izdavaipametnih kartica žele imati sigurnu raunarsku platformu koja e zadovoljitispecijalne zahtjeve kartinih sustava. Dodatne sigurnosne osobine definiraneu Java Card platformi su:

-  tranzijentni i postojani objektni modeli – na Java Card platformi objektise standardno pohranjuju u postojanoj memoriji. Iz sigurnosnihrazloga i razloga vezanih uz performanse, Java Card platformadopušta da se privremeni podaci, kao što su kljuevi sjednica,pohrane kao tranzijentni objekti u RAM memoriju. Životno vrijemetakvih objekata može biti deklarirano kao CLEAR_ON_RESET iliCLEAR_ON_DESELECT. Što znai da se sadržaj tranzijentnog objektapostavlja na predefiniranu vrijednost (zero, false, null) svakiput kad kartica uspostavi novu sjednicu (reset) ili kad se deselektiratrenutno oznaena, selektirana kartina aplikacija.

-  atomarnost i transakcije – na Java Card platformi podaci se pohranjujukao objekti u postojanu memoriju. Nad njima vršimo operacije pisanja iitanja. Za vrijeme operacije pisanja može doi do sklopovskepogreške ili do gubitka napajanja. Da u takvim sluajevima osiguraintegritet podataka, Java Card tehnologija definira tri sigurnosnasvojstva. Kao prvo, Java Card platforma jami atomarnost upojedinanom ažuriranju elementa postojanog objekta ili razreda. Štoznai da kad doe do pogreške za vrijeme ažuriranja elementa,platforma osigurava obnavljanje sadržaja elementa na prijašnjuvrijednost. Drugo, metoda arrayCopy u razredu Java

Card.framework.Util jami atomarnost blokovskog ažuriranjavišestrukih podatkovnih elemenata u polju. Ovdje atomarnost znai dae svi bajtovi biti ili ispravno kopirani ili e kompletno odredišno poljebiti obnovljeno na prijašnju vrijednost. Tree, Java Card platformapodržava transakcijski model u kojem kartina aplikacija atomarnoažurira nekoliko razliitih elemenata unutar razliitih postojanihobjekata. Ili se sva ažuriranja unutar transakcije moraju izvestiispravno i konzistentno ili se svi postojani elementi vraaju u prijašnjastanja.

-  vatrozid karti  ne aplikacije  – on uva kako sigurnost i integritet

sustava (JCRE) tako i sigurnost i integritet svake kartine aplikacijekoja se nalazi na Java pametnoj kartici. Vatrozid (applet firewall) 

kartine aplikacije provodi izolaciju i odvaja sistemski prostor odprostora kartine aplikacije. Svaka kartina aplikacija se izvodi unutarkonteksta (prostor objekta), a sam vatrozid predstavlja granicu meunjima. Aplikacije ne mogu meusobno pristupati svakom objektu osimako su definirane unutar istog paketa (time dijele isti kontekst) ili ako

Page 31: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 31/85

 

  27

za pristup objektu koriste dobro definirane, sigurne mehanizmedijeljenja objekata podržane platformom.

-  dijeljenje objekata –  dijeljenje objekata je u Java Card sustavupostignuto na sljedee naine. Prvo, JCRE je povlašten korisnik smogunošu pristupa svim kartinim aplikacijama i svim objektimakoje one stvaraju. Drugo, kartina aplikacija potražuje pristup JCREservisima i resursima kroz tzv. ulazne toke, ulazne objekte JCRE-a.Tree, kartine aplikacije koje pripadaju razliitim kontekstima mogudijeliti objekte ako su oni instance razreda koje implementiraju sueljeza dijeljenje objekata. Takvi objekti nazivaju se dijeljeni objekti. Ikonano, kartine aplikacije i JCRE mogu dijeliti podatke prekoglobalno definiranih polja.

-  izvorne metode u karti  nim aplikacijama – izvorne metode ne izvršavaJava Card stogovni stroj i kao takve nisu predmet sigurnosne zaštite

Java Card platforme. Zbog toga je postizdanim kartinim aplikacijama(kartine aplikacije koje su uitane na karticu nakon što je karticaizdana) zabranjeno koristiti izvorne metode. ROM kartine aplikacije ipredizdane kartine aplikacije su kontrolirane od strane izdavaa te senjima dopušta korištenje izvornih metoda. U takvim kartinimaplikacijama je suelje izvornog koda predstavljeno vlasnikomtehnologijom kartinog izdavaa [15].

Page 32: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 32/85

 

  28

4.5. Mogue opasnosti i naini otklanjanja

Operacijski sustavi pametnih kartica nisu poznati poput komercijalnih

operacijskih sustava (poput Microsoft Windows -a, Unix -a i sl.), i još uvijek nepostoje etablirana imena za njih. Ti mali sustavi posjeduju zavidnufunkcionalnost na malom memorijskom prostoru. Ponekad sami proizvoaioperacijskih sustava za pametne kartice ne objavljuju sve sigurnosnekarakteristike, kako bi ih time zaštitili. Pri razmatranju takvih sustava obinose spominju standardi poput ISO 7816, CEN TC224 ili EMV. U novije vrijemesve više se spominje i primjenjuje Java zbog svojih prednosti i raspoloživosti.Prilikom odabira pametne kartice potrebno je odabrati jedan od tih operacijskisustava. U ovom poglavlju ukratko se obrauju pitanja sigurnosti operacijskihsustava pametnih kartica koja se ne nalaze unutar spomenutih standarda ispecifikacija [8].

Izgraditi kartini sustav koji je jeftin i siguran iznimno je težak posao.Dizajneri moraju razriješiti pitanja poput programske pouzdanosti, odabratialgoritam enkripcije i veliinu kljua, uoiti sigurnosne propuste sklopovlja itrenutno važeih protokola. Dizajneri koji razvijaju sigurno sklopovlje suoenisu s izazovima poput: invazivnih napada (napada prekidom napajanja) ,analize razlike u potrošnji ili iskorištavanja greške uzrokovane nepredvienimokolnostima (npr. vaenje kartice za vrijeme izvršavanja aplikacije). Tinapadi opisuju se u iduim poglavljima.

Opasnosti i napadi kojima su izložene pametne kartice vrlo su skupi(cijena sustava za otkrivanje podataka obino uvelike nadmašuje cijenusustava koji se želi kompromitirati) ili je potrebno puno vremena za otkrivanjepovjerljivih informacija. Tehnologija pametnih kartica se razvija brže odtehnika napada na njih, i svaka nova generacija pametnih kartica obinopopravlja sve sigurnosne mane prethodne generacije, što ujedno znai iotpornost na postojee napade.

4.5.1. Napad na osobni identifikacijski broj (PIN) prekidomnapajanja

Uobiajen nain izvedbe kartinih aplikacija koje koriste zaštitu svojih

podataka osobnim identifikacijskim brojem, jest broja

pogrešnih unosa.Svaki krivi unos osobnog identifikacijskog broja uzrokuje poveavanjebrojaa za jedan. Nakon što broja dosegne prije definiranu vrijednost,kartica (funkcija ili datoteka na kartici) se zakljuava i više se ne možekoristiti (ovdje se promatraju pojednostavljeni primjeri kako bi se lakšedoarale mogue opasnosti).

Page 33: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 33/85

 

  29

Broja pogrešnih unosa spremljen je u EEPROM-u (privremenojmemoriji pametne kartice). Kad korisnik unese pogrešan osobniidentifikacijski broj, potrebno je promijeniti broja u EEPROM-u, što uzrokujepoveanu potrošnju. Tu poveanu potrošnju mogue je mjerenjem lako otkriti(prikazano na slici 4.4).

I (ma)

t (ms)

90

100

0

30

60

-30

20 40 60 80

I (ma)

t (ms)

90

100

0

30

60

-30

20 40 60 80

Poetak provjere PIN-a

Promjena brojaa -

detekcija i prekid napajanja 

Slika 4.4 Otkrivanje pogrešno unesenog PIN-a

Vremensko trajanje operacije upisivanja u EEPROM je nekolikomilisekundi, a poveana potrošnja se može otkriti i prekinuti nakon nekolikomikrosekundi. Dakle, mogue je prekinuti napajanje prije promjene brojaaunutar EEPROM-a. Sama injenica da je potrebno nešto upisivati uEEPROM, otkriva krivo unešen osobni identifikacijski broj. Napada možemetodom pokušaja i pogrešaka iskušavati pogrešne PIN-ove, sve dokoperacijski sustav pametne kartice ne upiše ništa u EEPROM, što pokazuje

da je pogoen ispravan PIN.

Programeri pametnih kartica mogu jednostavno otkloniti mogunostovakvog napada: prije provjere osobnog identifikacijskog broja, broja jepotrebno umanjiti te ga nakon provjere, samo ako je PIN ispravan vratiti napoetnu vrijednost. Bilo kakav prekid napajanja prije, tijekom ili nakonprovjere PIN-a, ostavlja broja u umanjenom stanju pa ovakav napad višenema smisla.

Iako je ovo zastario nain napada, vjerno je prikazana najvea mana isigurnosna „rupa“ pametnih kartica – praenje potrošnje struje kako bi se

otkrile povjerljive informacije.

Page 34: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 34/85

 

  30

4.5.2. Napad prekidom napajanja

itai pametnih kartica obino nemaju mehaniku zaštitu od vaenjapametne kartice za vrijeme njenog korištenja. Zbog toga postoji mogunostprekida napajanja koja nije napad na zaštiene kartine podatke, negonenamjerna greška [8].

4.5.2.1 Nenamjerni prekid napajanja

Veina današnjih pametnih kartica koristi se u sustavu (terminal –pametna kartica) koji dozvoljava vaenje kartice za vrijeme njenog korištenja.Takvo vaenje uzrokuje prekid napajanja na nain koji nije specificiranstandardom. Ako se u trenutku vaenja pametne kartice upravo izvršavalopisanje u EEPROM, velika je vjerojatnost da e korištena memorijska adresa

ostati u nedefiniranom stanju, s nedefiniranim podacima. Bez mjera zaštite,može doi do uništenja važnih informacija, pa ak i do toga da cijela pametnakartica postane neupotrebljiva. U najgorem sluaju, mogue je odavanjepovjerljivih informacija (iako su u tom sluaju, one korisne samozaposlenicima – korisnicima kartinog sustava).

Manjak standarda i specifikacija koji definiraju protumjere, dovodi doupitnog integriteta podataka – koji bi trebao biti najvažniji kriterij sigurnostipametnih kartica kao vrhunskog tehnološkog rješenja. Rješenja raznihproizvoaa su, iz navedenih razloga, razliita i iz istog razloga i razliitekvalitete.

4.5.2.2 Namjerni prekid napajanja

Ovakav napad je poznat kao napad na generator sluajnih brojeva(random seed attack). Jedan od problema pametnih kartica je internogeneriranje kvazi-sluajnih brojeva. DES algoritam koristi stari kvazi-sluajnibroj da bi generirao novi koji treba spremiti u EEPROM za generiranjesljedeih kvazi-sluajnih brojeva. Pisanje u EEPROM se zbog EEPROMtehnologije odvija u dva koraka: u prvom se svaki bajt EEPROM elije

postavlja na nulu, a u drugom koraku se upisuju nove vrijednosti.

Page 35: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 35/85

 

  31

Najbolji trenutak za prekid napajanja je nakon što su u prvom koraku uEEPROM eliju upisane nule (vidi sliku 4.5). Na taj nain dobiva se poznatosjeme za nove kvazi-sluajne brojeve i mogu je gubitak povjerljivihpodataka.

EEPROM............

10100101.....

EEPROM............

00000000.....

EEPROM............

00111110

.....

Poetna vrijednost

Brisanje EEPROM elije

Upis nove vrijednosti

Najbolji trenutak zaprekid napajanja

 Slika 4.5 Ciklus upisivanja u EEPROM

Za obje vrste prekida napajanja postoje zaštitne protumjere koje suosnovni preduvjet sigurnosti pametnih kartica. Na tržištu se mogu nai dvijevrste rješenja [8]:

-  ograniena zaštita transakcije: nakon prekida napajanja ošteeni

podaci se prepoznaju i dojavljuje ih operacijski sustav pametnekartice, funkcionalnost pametne kartice nije narušena, ali podaci suizgubljeni. Ovakva zaštita nije dovoljna za zahtjevne aplikacije, a njenaprednost je jednostavna implementacija.

-  potpuna zaštita transakcije: prekid napajanja nakon primitkanaredbe, a prije slanja odgovora s pametne kartice, uzrokujeautomatsku rekonstrukciju podataka kao na poetku naredbe.

Spomenuta rješenja nisu nova: nazivi poput jedinine transakcije(atomized transaction), shema potvrivanja transakcija (commitment 

shemes) i backtrace meuspremnika ve su poznata iz implementacija bazapodataka. No, potpuna zaštita transakcije dovodi do smanjenja uinkovitostitransakcije. Stari podaci se prvo moraju sauvati, a potom upisivati novi –broj ciklusa pisanja/ itanja u EEPROM se u najmanju ruku udvostruuje uusporedbi sa sluajem u kojem nema zaštite transakcije.

Page 36: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 36/85

 

  32

Uinkovitost se kod razliitih proizvoaa pametnih kartica znatnorazlikuje. U stvarnosti se broj ciklusa pisanja višestruko poveava zbogmehanizama koji spremaju, upisuju i dodaju administrativne podatke,zauzimaju, iste, pune i otpuštaju backtrace meuspremnik, pa broj može bitii pet do deset puta vei. Najbolji mehanizmi imaju broj ciklusa pisanja

otprilike trostruko vei od nezaštiene inaice zbog specijalnih aplikacija kojeuinkovito koriste prirunu (cache) memoriju. Postoje rješenja koja štite samovažnije transakcije (npr. plaanje), manje važne transakcije su nezaštiene.Takva rješenja prihvatljiva su na jeftinim pametnim karticama s ogranienimEEPROM-om.

4.5.3. Defragmentacija memorije

Pitanje defragmentacije memorije dugo je bilo neriješeno pitanje napodru  ju pametnih kartica. Prilikom brisanja ili upisivanja datoteka u

EEPROM, javljaju se manje ili vee „rupe“ u memoriji ako je nova datotekamanja od raspoložive memorije. Memorija koja sadrži takva malaneiskorištena podru ja, zove se fragmentirana memorija (vidi sliku 4.6).

1) Inicijalizacija

2) Brisanje

3) Fragmentiranamemorija

Stvaranje datoteka:- razne aplikacije- Java appleti- brisanje aplikacija- izvršavanje aplikacija- privremene datoteke

Nema mjesta umemoriji!

Novi podaci

 

Slika 4.6 Fragmentacija memorije pametne kartice

U rješenjima s optimizacijom memorije, fragmentacija se ne možeizbjei. Na primjer programski jezik Java esto mijenja applete , pa se zavrijeme itanja/brisanja appleta u EEPROM-u pojavljuju neiskorištenapodru ja. U ekstremnom sluaju može biti slobodno i preko 50% memorije, ada nema dovoljno velikog dijela za novu datoteku.

Page 37: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 37/85

 

  33

Defragmentacija je rješenje – postupak u kojem se sav aktivni sadržajmemorije kopira u kontinuiranom poretku, spajaju se sva manja neiskorištenamemorijska podru  ja u jedno – slobodnu memoriju. Java programski jeziknakon izvršavanja programa poziva metodu za skupljanje smea (garbage collection), ali pritom ne optimizira ono što ostane u memoriji (fiziki sadržaj).

I ovdje, kao i na stolnim raunalima, javlja se problem fizikih referenci – jerse fizike adrese datoteka ili objekata spremaju kao pokazivai, pa se koddefragmentacije moraju preraunati i promijeniti sve odgovarajue referenceu memoriji pametne kartice. Defragmentacija naravno mora biti otporna naprekid napajanja. Kako postupak defragmentacije može trajati i do 10sekundi, i nije mogue napraviti backtrace  meuspremnik u raspoloživomEEPROM-u, dosad se smatralo da defragmentacija nije izvediva napametnim karticama.

No, 1998. godine IBM je razvio sofisticiranu metodu za rješavanjeproblema defragmentacije, i može se rei da je defragmentacija pametnih

kartica implementirana, iako zahtjeva vrlo specifinu potporu. Predloženametoda omoguava brzu defragmentaciju i potpuno je otporna na prekid

napajanja [18]. Spomenuta razmatranja su osnova za daljnje proširivanje, acilj je automatski postupak defragmentacije, nevidljiv korisnicima pametnihkartica.

4.5.4. Greške u EEPROM-u

Puno neugodniji problem su greške u EEPROM-u. Proizvoaimikroipova garantiraju uvanje podataka u vremenu od 10 godina. To jestatistiki rezultat koji teoretski ima i odstupanja - rijetke EEPROM greške

(npr. promjenu memorijskih podataka kada pametna kartica nije ukljuena).Zapravo se takve promjene (npr. nekog bita u memorij) javljaju vrlo rijetko u

usporedbi s gubitkom pametnih kartica ili njihovim uništenjem, ali se trebajurazmotriti zbog mogunosti njihova javljanja. Lokacija promijenjenog bita nemože se predvidjeti, a stvarno iskustvo pokazuje da se (Murphyev zakon )obino mijenja najvažniji bit. Takva promjena može uzrokovati sigurnosniproblem i brigu korisnika zbog nepoznavanja uzroka greške.

Namjerna promjena memorijskog sadržaja na pametnoj karticimogua je u ekstremnim uvjetima poput izlaganja ultraljubiastom ilinuklearnom zraenju, no takav napad je gotovo nemogue izvesti precizno (usadašnjim uvjetima) i rezultat je nepredvidiv.

Mogua namjerna ili nenamjerna promjena bita u memoriji pametnekartice zahtjeva adekvatnu zaštitu u operacijskom sustavu. Zbog toga svakisadržaj EEPROM memorije mora imati zaštitnu sumu (checksum).Navedenog zahtjeva nema u postojeim standardima niti u veinispecifikacija, ali ga je mogue nai u sigurnosnim karakteristikamakvalitetnijih rješenja. Primjer uinkovitog naina izraunavanja zaštitne sume

Page 38: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 38/85

 

  34

može biti XOR operacija izmeu bajtova koje treba zaštititi. Meutim,dokazano je da je u sluaju malog broja promijenjenih bitova ADD operacijaizmeu bajtova puno uinkovitija i jednako elegantna kao XOR operacija.

I ovdje, kao i kod zaštite od prekida napajanja, svaka mjera zaštite odpromjene bitova memorije uzrokuje smanjenje uinkovitosti sustava pametnekartice jer je potrebno dodatno vrijeme za izraunavanje zaštitne sume, kao isigurna promjena zaštitne sume u sluaju promjene podataka. Kvalitetnioperativni sustavi pametnih kartica primjenjuju specijalne mehanizmeprirune (cache) memorije kako bi minimizirali smanjenje uinkovitosti.

4.5.5. Vremenski napadi

Navedeni primjeri koncentriraju se na trenutak pisanja u EEPROM.Kako je za rad pametne kartice potrebna energija, još jedan izvor opasnostiza podatke kojima se koristi pametna kartica jest potrošnja struje.

Zapravo svaki podatak koji se sprema na ili koji se ita iz pametnekartice zahtjeva specifinu koliinu struje, koju možemo na neki nainsmatrati „otiskom“ odgovarajueg podatka (footstep). Kako je to realnaopasnost, proizvoai mikroipova razvili su uinkovite mehanizme zaštite.Najbolji nain zaštite postiže se kombinacijom programskih i sklopovskihrješenja.

Svrha napada na „otisak“ potrošnje obino je otkrivanje kljueva iliPIN-ova pametne kartice. Dosad je najuinkovitiji nain napada bio

vremenski napad.

Korelacija izmeu potrošnje struje i podataka koji se obrauju jefunkcija broja jedinica sadržanih unutar podataka (ako podatak ima višebitova s vrijednošu „1“, potrebno je više energije za manipulaciju njime).Struju definiramo kao kretanje naboja u neki od memorijskih registara.Izravan prijevod u bitove nije mogu, osim ako operacija koja se prati nijeoperacija nad bitom. No, mogue je prepoznati odreeni uzorak u potrošnjistruje – razmotrimo kao primjer lošu izvedbu verifikacije PIN-a:

Usporedi_PIN: 

for ( i=0; i<length(PIN); i++ ){ 

if ( PIN[i] != Ispravan_PIN[i] )

return(1)

return(0);

Page 39: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 39/85

 

  35

Ovakva oita izvedba provjere PIN-a nije dozvoljena u operacijskomsustavu pametne kartice jer dozvoljava jednostavan napad na PIN (slika 4.7).

I (ma)

t (ms)

90

1000

0

30

60

-30

200 400 600 800

I (ma)

t (ms)

90

1000

0

30

60

-30

400 600 800

Referentna toka

200

Razlika trajanju

 Slika 4.7 Otkrivanje podataka vremenskim napadom

Funkcija Usporedi_PIN usporeuje uneseni PIN s tonim PIN-omznak po znak. Na prvi razliit znak izlazi se iz funkcije. Ako pretpostavimo danema brojaa „krivih pokušaja“, napada može mjerenjem uzoraka potrošnjestruje vidjeti slinost prilikom iskušavanja PIN-ova i namještati uneseni PINsve dok ne pogodi idui znak. Pritom se može ravnati vremenskim trajanjemobrade i pravilom – što je obrada duža to bolje.

Ve spomenute mjere zaštite od napada PIN-a prekidom napajanjamogu se primijeniti i protiv vremenskog napada, no nije teško zamislitisituaciju u kojoj se mjerenje potrošnje struje kartice može iskoristiti zaotkrivanje povjerljivih podataka, ako nisu prikladno zaštieni. Jednostavanprimjer bila bi lozinka koja nema broja krivih unosa ili je on dovoljno velik, pa je mogue donijeti zakljuke iz uzoraka dobivenih mjerenjem potrošnje strujepametne kartice. Toka koju bi u tom sluaju trebalo promatrati jest npr.

Page 40: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 40/85

 

  36

provjera pariteta, u kojoj se ponovo obrauju bajtovi ili bitovi lozinke. Iako jena ovaj nain teško otkriti podatke mogunost ovakvog napada mora bitisprijeena, pogotovo kod usporedbe npr. certifikata koji se koriste zatransakcije plaanja.

Sigurnosna zaštita protiv vremenskog napada je generiranje jednakogbroja procesorskih ciklusa za razliite namjene, te onemoguavanjeotkrivanja podataka iz mjerenja potrošnje struje (za pogrešan i ispravan unosuzorci bi trebali biti isti). Korištenje takvih mjera ne smeta krajnjem korisnikukoji primjenu zaštitnih mjera može primijetiti jedino na sigurnosnomodobrenju dobivenom s pametnom karticom. Izloženost i opasnost ovakvevrste napada još uvijek je slabo specificirana i dokumentirana [8].

4.5.6. Analiza diferencijalnih grešaka

Prije nekoliko godina industrija pametnih kartica bila je uzdrmanaobjavom kriptografskih razmatranja o jednostavnom razbijanju kljueva napametnim karticama (Bellcore  napad na RSA algoritam i upotreba analizediferencijalnih grešaka – Differential Fault Analysis). Oba napada temelje sena pretpostavci da napada može postaviti/obrisati odreeni bit u memoriji uodreenom trenutku. To nije mogue u današnjim rješenjima, pa semogunost ovakvog napada razmatra samo teoretski.

Dobro je poznato da se tipini DES klju sastoji od 56 bitova, od kojihsvaki ima vrijednost „0“ ili „1“. U prvom koraku izvršavamo normalnuoperaciju enkripcije/autentifikacije u kojoj se koristi klju koji želimo otkriti.Drugi korak jest postavljanje vrijednosti odreenog bita kljua u „0“(pretpostavimo da možemo postaviti vrijednost bilo kojeg bita kljua). Akosada ponovo izvršimo operaciju iz prvog koraka, dobiti emo ili isti ili razliitrezultat.

Ako je rezultat razliit, možemo zakljuiti da je vrijednostpromijenjenog bita prije promjene bila „1“ – a ako je rezultat isti, vrijednosttog bita mora biti „0“. Otkriven je jedan bit. Na isti nain mogu se otkriti i ostalibitovi. Ovo je samo grubi opis analize diferencijalnih grešaka, u stvarnosti biotkrivanje povjerljivih podataka bilo puno kompliciranije. Kako se poetnapretpostavka promjene vrijednosti bita u memoriji pametne kartice ne može

ostvariti, ovakva vrsta napada nije mogua u današnjim sustavima pametnihkartica.

Page 41: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 41/85

 

  37

4.5.7. Napad analizom potrošnje

Kao realna mogunost otkrivanja povjerljivih podataka puno opasnijisu napadi izravnim mjerenjem potrošnje struje. Kod vremenskog napadausporeivali su se uzorci mjerenja potrošnje struje u korelaciji s vremenskimtrajanjem neke operacije. Utvreno je da iste operacije nad istim podacimaimaju iste uzorke mjerenja struje. Analogno, ista operacija nad razliitimpodacima daje razliite uzorke mjerenja struje, a razlika je povezana spodacima koji se obrauju. Te razlike u mjerenjima struje mogu se iskoristitiza otkrivanje povjerljivih podataka.

Fiziki, razlike u mjerenjima struje uzrokovane su brojem bitova sasadržajem „1“ u nekom registru, no za uspješan napad nije potrebnorazumijevanje tih detalja. Dvije eše korištene vrste ovakvog napada su:

- analiza potrošnje (Single Power Analysis – SPA) - analiza razlika u potrošnji (Differential Power Analysis – DPA) 

Napad analizom potrošnje je posebno primjenjiv ako se npr. bitovikljua obrauju jedan za drugim (kao u procedurama za provjeru paritetakljua). U takvoj situaciji mjerenjem uzoraka potrošnje struje može se otkritirazlika u ovisnosti je li obraivani bit „0“ ili „1“ i mogue je direktno otkrivanjebitova kljua. Ako se povjerljivi podaci ne obrauju bit po bit (što se uvijekmože izbjei), napad analizom potrošnje je mnogo zamršeniji i obino gaizvode korisnici (insiders) koji znaju izvorni kod operacije koja se analizira.Takvi korisnici mogu imati i druge primamljivije naine za otkrivanjepovjerljivih podataka jednostavnije od teškog i preciznog mjerenja potrebnogza uspješan napad analizom potrošnje. Meutim razmatranja vezana zanapad analizom potrošnje mogu se koristiti kao podloga za napad analizomrazlika u potrošnji [8].

Osim u DES algoritmu, obrada podataka bit po bit može se izbjei,posebno u procedurama provjere pariteta kljua. Za DES algoritam trebaostvariti prikladnu zaštitu koja otklanja mogunost SPA/DPA napada.Vjerojatnost uspješnog napada analizom potrošnje (SPA) vea je negovjerojatnost uspješnog napada analizom razlika u potrošnji (DPA) ali zahtjevamnogo podataka poznatih samo programerima promatranog sustava idetaljnu istragu (za napad na pametnu karticu koja nema odgovarajuu

zaštitu).

Page 42: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 42/85

 

  38

4.5.8. Napad analizom razlika u potrošnji

Napad analizom razlika u potrošnji lakše je izvediv od napadaanalizom potrošnje i smatra se najopasnijom vrstom napada kojoj su izloženedanašnje pametne kartice. Predstavio ga je Paul Kocher 1998. godine.

Ovakva vrsta napada ne zahtjeva poznavanje programskog rješenjaunutar pametne kartice, pa je primamljiv napadaima koji na raspolaganjuimaju odgovarajuu opremu za mjerenje. Za uspješan napad potreban jevelik broj mjerenja potrošnje struje DES operacija enkripcije/autentifikacije sistim kljuem.

Odabiru se sigurnosne operacije s poznatim ulaznim ili izlaznim

podacima. Nakon obrade nekoliko tisua uzoraka mjerenja potrošnje struje,odgovarajue uzorke treba „poravnati“ kako bi se moglo tono odreditipojedine (npr. DES) operacije u ovisnosti o taktu. Promatraju se operacije uprvom krugu DES algoritma, jer se time smanjuje broj podataka koje trebaobraditi.

Svakom od mjerenih uzoraka pridjeljuje se pozitivan ili negativanpredznak, ovisno o pretpostavljenom podkljuu (Ki). Osnovni DES algoritamkoristi 56-bitni klju podijeljen na 6-bitne podkljueve koji se koriste u prvomkrugu algoritma. Napad analizom razlika u potrošnji pokušava nai jedan odtih kljueva kako bi se mogao rekonstruirati glavni klju.

Potrebno je generirati svaki od 64 mogua podkljua, te svakom od Nmjerenih uzoraka pridijeliti pozitivan ili negativan predznak u ovisnosti orezultatu pretpostavke. Ako se potom N poravnanih uzoraka zbroji, rezultate biti šum u 63 od 64 sluaja. U jednom sluaju postoji jedan ili više skokovau mjerenju potrošnje koji su uzrokovani tonom pretpostavkom (doprinosnekoliko elektrona koji u svakom od uzroka odgovaraju pogoenompodkljuu).

Generiranje sljedeih 64 podkljueva za iduu operaciju supstitucijeDES algoritma otkriva svih 48 bitova kljua koji se koriste u prvom krugu (8

podkljueva). Drugi krug otkriva preostalih 8 bitova. Pridavanjeodgovarajueg predznaka može se izvesti ako poznajemo ulazni, izlazni

podatak i pretpostavljeni klju, a ovisi o predvianju rezultata operacijesupstitucije DES algoritma. Ovdje se iznosi samo gruba zamisao napada,detaljno su opisani u literaturi [18] [19].

Page 43: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 43/85

 

  39

Oprema potrebna za izvoenje ovakvog napada je vrlo skupa idostupna npr. istraživakim institutima i fakultetima, što otežava njegovuizvedbu. Najvea zapreka analizi razlika u potrošnji jest ogranien broj DESoperacija s istim kljuem. Dok god klju nije poznat, treba ponavljati operacijukoja obino posjeduje broja pogrešnih pokušaja. Ako postoji takav broja,

broj uzoraka koji se mogu dobiti mjerenjem ogranien je na maksimalan brojpogrešnih pokušaja što znatno otežava otkrivanje kljua, pa se može rei da je to prikladna zaštitna mjera. Novija sklopovska rješenja i operacijski sustavipametnih kartica takoer imaju ugraenu zaštitu od napada analizom razlikau potrošnji, pa je on gotovo nemogu ak i s neogranienim brojem mjerenihuzoraka. Neke od zaštitnih mjera su:

-  tehnološka barijera  – napredna 0.6 mikronska tehnologija uvelikesmanjuje potrošnju i relativne varijacije operativnih parametara(napon, struja) pametnih kartica.

-  fluktuacija takta  – posebna programska rješenja koja, kada seispravno koriste, iz ugraenih aplikacija na pametnoj kartici stvarajuvremenski varijabilne inaice.

-  nepredvidljivo ponašanje  – ugraeni vremenski okida  (timer) smogunošu slanja zahtjeva za prekid (interrupt) i nepredvidivigenerator brojeva stvaraju nepredvidive varijacije kod izvršavanjaprogramskih rješenja, i znatnu razliku u uzorku potrošnje struje za istikod.

-  robustan dizajn  – dizajniranje je modularno i dozvoljava promjene

sklopovlja radi brze i uinkovite primjene, omoguen je brz odgovor namogue nove napade.

-  kontrola memorije za višeuslužne pametne kartice  – napredan sustavkontrole pristupa memoriji osigurava sigurnu podršku višeuslužnimpametnim karticama.

-  sigurnosni mehanizmi i sklopovske funkcije    – skup sigurnosnihmehanizama i sklopovskih funkcija koje aplikacijama omoguujuotkrivanje i zaštitu od mogueg napada poput neispravnih uvjeta rada,pogrešnog adresiranja, narušavanja integriteta mikroprocesora islino. Mogui odgovori na napad su: slanje zahtjeva za prekid,ponovno pokretanje programa (reset), trenutno brisanje svih podatakau RAM-u i reprogramiranje EEPROM-a.

Page 44: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 44/85

 

  40

4.6. Kako riješiti pitanje sigurnosti pametnih kartica?

Pametne kartice su primjenjive u mnogim podru  jima. Zamisao je

objediniti što više aplikacija na jednoj kartici, i smanjiti broj kartica kojesvakodnevno koristimo. Npr. kartica koju nam je izdala jedna banka mogla bise koristiti i za bankovne raune drugih banaka, za knjižnice, osiguranja,benzinske crpke, hotele, za kupovinu zrakoplovnih karata i sl. Kartica bimogla imati ugraene osnovne programe kod izdavanja i podršku zadodavanje novih programa, naravno, uz uvjet da je dodavanje dozvolioizdava kartica. Ako imamo samo jednu karticu, a više kartinih aplikacijakoje su na kartici i više aplikacija terminala koje koriste karticu, namee sepitanje sigurnosti. Što ako kartica doe u krive ruke, može li jedan davaocusluga (npr. knjižniar) mijenjati podatke kartinih aplikacija drugih davaoca(npr. policijskog službenika). Kakva je sigurnost pri prijenosu povjerljivihpodataka s kartice preko Interneta ili mobitelom putem WAP-a. Može li se ikartini sustav zaraziti virusom? Može li netko ukrasti novac s nje ili otkritigdje ste ga trošili?

Nabrojana su razna sigurnosna pitanja koja moraju biti riješena takoda se zaštiti korisnik i njegovi (povjerljivi) podaci. Izdavai kartica iproizvoai programskih rješenja za pametne kartice moraju koristitizajedniki jezik, u svrhu što kvalitetnijeg i sigurnijeg proizvoda (npr.sklopovskim rješenjima prilikom izrade kartica zaštititi mogue programskesigurnosne rupe i obrnuto). Neke od odgovora na ta pitanja sadrži Common Criteria  (ISO 14508) standard, no ta pitanja potiu druga [16].

Poetni koraci u podru ju višeuslužnih pametnih kartica uinjeni su:- u Europi, s EuroSmart  standardom koji okuplja proizvoae

pametnih kartica i ISO 14508 standard.- u Sjedinjenim Amerikim državama, Visa  i Smart Card Security 

User“s Group (SCSUG) razvojem SCSUG-Smart Card Protection Profile koji izražava sigurnosne zahtjeve korisnika.

- u Tajvanu, na Industrial Technology Research Institute (ITRI) razvojem Comprehensive Smart Card Architecture. 

- u Sjedinjenim Amerikim državama, Visa i GlobalPlatform razvojemGlobalPlatform Card Specification  i GlobalPlatform Card Security 

Requirements Specification temeljenoj na ITRI arhitekturi.- u Sjedinjenim Amerikim državama, gdje je Visa razvila Visa Open Platform Protection Profile (OP 3  ). 

Specifikacijom sigurnosnih zahtjeva omoguen je razvoj pametnihkartica kompatibilnih sa svima zahtjevima, dok se ISO SC 27  WG 3  rad baviproblemima evaluacije sustava koji trebaju zadovoljiti spomenute sigurnosnekriterije.

Page 45: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 45/85

 

  41

5. Usporedba razvojnih platformi

Na tržištu postoji nekoliko programskih jezika u kojima se izraujukartine aplikacije (Java,  ZBasic). Aplikacije terminala su takoer odreeneproizvoaem, tj. sueljem (API-jem) koje je razvio proizvoa. U ovompoglavlju opisuje se razvoj kartinih aplikacija u Javi i ZBasicu. 

Nekad je postojalo svega nekoliko proizvoaa pametnih kartica.Danas je taj broj mnogo vei. Razlog je kljuni dio tehnologije pametnihkartica – operacijski sustav. Tvrtke koje nude samo operacijske sustave(programe), omoguuju raznim proizvoaima silicijskih mikromodula(sklopovlja) jednostavan i uspješan izlazak na tržište pametnih kartica.Operacijski sustav povezuje instrukcije kartinih aplikacija sa sklopovljem

silicijskog mikromodula. Velike tvrtke koje su ve poznata imena na podru jupametnih kartica (Schlumberger, Gemplus, Oberthur, Giesecke & Devrient,Orga) uložile su godine istraživanja u razvoj operacijskih sustava pametnihkartica. Razvijeni su sigurni programski sustavi za rad s ogranienimmogunostima kojima raspolažu pametne kartice. Ti proizvoai prodajusvoje operacijske sustave uz licenciranje i obino je najpovoljnija kupovinaprograma u kompletu s pametnom karticom istog proizvoaa (monopol).

No, sve više novih proizvoaa pametnih kartica licencira operacijskesustave od nezavisnih tvrtki (koje ne proizvode sklopovlje, tj. mikromodule).Veinom se temelje na Java Card  platformi (razvio Sun Microsystems ),vodeoj u programskoj podršci za kartice s mikromodulom. Neovisnostproizvoaa sklopovlja i proizvoaa programa pametnih kartica uzrokujesniženje cijena na dva naina:

- više proizvoaa nudi pametne kartice (bez operacijskog sustava)

- korisnici mogu zasebno kupiti pametnu karticu, operacijski sustavza nju, terminal i ita – od razliitih proizvoaa

Npr. mnoge tvrtke koje proizvode pametne kartice za Visa International  bankovni sustav, nisu poznata imena (na svjetskom tržištu), ali

nude sklopovsko rješenje s potporom za Java Card  i GlobalPlatform  (vidipoglavlje 5.2.3.). Operacijski sustav koji koristi 14 milijuna Visa izdanihpametnih kartica je JCOP  (razvio IBM Corp.). Slino rješenje koristi iMasterCard International  ali s Multos  operacijskim sustavom – preko 2milijuna kartica izdano je u Južnoj Koreji, Tajvanu, Maleziji i Filipinima. Veliketvrtke tako omoguuju manje poznatim proizvoaima uspjeh na tržištu, akorisnici na raspolaganju imaju jeftiniji proizvod.

Page 46: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 46/85

 

  42

Tradicionalni proizvoai pametnih kartica još uvijek tvrde da enjihovo iskustvo i strunost na kraju prevladati – pametne kartice su vrlospecifine, mnogo sigurnosnih osobina mora biti ugraeno u operacijskisustav kako bi se postigla najvea razina sigurnosti. Pored toga tradicionalniproizvoai pokušavaju zadržati tržište licenciranjem svojih operacijskih

sustava za pametne kartice (poput SchlumbergerSema ) drugimproizvoaima sklopovlja.

Odabir operacijskog sustava za kartini sustav ovisi o performansamai kompatibilnosti sa standardima. Mnogo novih kartinih operacijskih sustavanije detaljno ispitano (sigurnosni certifikati su skupi i vremenski zahtjevni) aliimaju veu uinkovitost od poznatih imena. Kartice razvijene prema JavaCard specifikaciji imaju odreenu slobodu u interpretaciji nekih funkcija (npr.uitavanje aplikacije na karticu) što može uzrokovati probleme (npr. GSMtvrtki jer ne može koristiti iste aplikacije terminala za razliite Java Cardpametne kartice). Novija rješenja su sve više standardizirana i uz

organizacije koje donose standarde izbjeie se problem interoperabilnosti.Sve vea procesorska snaga pametnih kartica približava ih osobnim

raunalima. Programeri osobnih raunala ukljuiti e se u razvoj sustavapametnih kartica i donijeti nova i bolja rješenja.

Meu proizvoaima neovisnih rješenja je i tvrtka ZeitControl . Sproizvodnjom BasicCard  pametnih kartica zapoela je 1996. godine.BasicCard pametne kartice su jeftinije od Java Card pametnih kartica jer nezahtijevaju tako složen kartini operacijski sustav (COS) i mikrokontroler semože smjestiti na manjem silicijskom ipu. Tvrtke koje nude cjelovita kartinarješenja odabiru BasicCard kako bi poveale svoju zaradu [11].

Page 47: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 47/85

 

  43

5.1. BasicCard pametne kartice

Implementacija kartinih sustava dosad se zasnivala na dobrom

poznavanju specifinog jezika i specifinih suelja pojedinih proizvoaa.Osnovna prednost ZBasic – BasicCard pametnih kartica jest jednostavnost iniska cijena. Kupljena kartica se može programirati u vrlo kratkom vremenu ine zahtjeva veliko iskustvo. ZBasic je jezik slian Basicu (još iz vremenaDOS-a ). Prilagoen je operacijskom sustavu pametne kartice s ogranienimresursima. Porodica BasicCard pametnih kartica dijeli se na:

-  Compact  -  Enhanced  -  Professional  

Svojstva BasicCard pametnih kartica [4]:

-  niska cijena  – razvojni sustav je besplatan (može se skinuti sInterneta), veina BasicCard pametnih kartica ima cijenu upolanižu od ostalih trenutno raspoloživih pametnih kartica.

-    jednostavno programiranje   – gotovo svatko može programirati uZBasicu, ili to može nauiti u kratkom vremenu. Naredbe kartineaplikacije definiraju se poput funkcija u Basic programskom jeziku.Datoteni sustav BasicCard pametne kartice slian je datotenom

sustavu obine diskete. Ugraena je podrška za enkripcijskealgoritme, a upisivanje i itanje iz EEPROM-a je vrlo jednostavno.

-  sigurnost:  o Professional BasicCard podržava enkripciju javnog kljua

RSA, ECC, te AES i SHA-1 algoritmeo Enhanced BasicCard podržava DES, SHA-1, ECC i IDEA

algoritmeo Compact BasicCard podržava SG-LFSR algoritam

-

  kompatibilnost s ISO standardom – deklariranje ISO kompatibilnihnaredbi u ZBasicu jednostavno je poput deklariranja funkcije, stoga je razvoj nove ISO kompatibilne pametne kartice vrlo brz.

Page 48: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 48/85

 

  44

5.1.1. BasicCard tehnologija

ZeitControl Cardsystems je njemaka tvrtka koja proizvodi pametnekartice i opremu. ZeitControl nudi nekoliko vrsta pametnih kartica.Najjednostavnija „Compact“ pametna kartica s 1 KB EEPROM memorije,

dovoljna je za male korisnike programe. Za kompleksnije programe, naraspolaganju su „Enhanced“ i „ Professional“ inaice s najviše 32 KBEEPROM memorije. Operacijski sustav na kartici temelji se na Basicinterpreteru. Slinost s Java Card tehnologijom i Java programskim jezikom  je velika. Kao što za Javu postoji specifian jezini podskup koji „razumije“Java Card interpreter, tako i na BasicCard pametnim karticama interpreterkoristi samo dio Basic programskog jezika. Slino Javi, taj interpreterizvršava P-code (razlikuje se od Java bytecode u instrukcijskom skupu itipovima podataka koje podržava [4][15]). U „Enhanced“ karticama interpreterse izvodi u 17 KB ROM memorije, dok se „Professional“ kartice koristevarijabilnom koliinom EEPROM memorije za izvedbu Basic interpretera.Osim spomenutog najjednostavnijeg modela, jae inaice sadrže prilino

sveobuhvatnu implementaciju Basic programskog jezika (ZBasic). Osim byte,integer i long tipova podataka, podržani su i IEEE brojevi s pominomtokom. Na raspolaganju je datoteni sustav slian DOS-u (koristi EEPROMmemoriju kao prostor za spremanje podataka) i procedure za pretvorbupodataka u znakovni niz (string) [9].

Prvenstvena namjena BasicCard pametnih kartica je u trgovini, stogasve kartice imaju u operacijski sustav ugraenu enkripcijsku potporu.Algoritmi enkripcije su složeni i prosjenom korisniku previše zahtjevni, patakva ugraena sposobnost znatno olakšava razvoj sigurnih rješenja.BasicCard pametne kartice izraene su prema ISO standardima važeima na

podru  ju pametnih kartica. Compact  i Enhanced  inaice za komunikacijukoriste T=1 protokol, a Professional  inaice uz navedeni koriste i T=0  protokol.

5.1.2. ZBasic programski jezik

ZBasic je potpuno funkcionalan Basic programski jezik. Podržavapozive funkcija i procedura, korisniki definirane podatke, ulazno-izlaznedatotene operacije, naredbe pretprocesoru itd. Zbog specifinih zahtjeva iuvjeta rada (pametna kartica) podupire i deklariranje naredbi (commands), njihovo pozivanje, ulazno-izlaznu enkripciju i kontrolu pristupa datotekama.

ZBasic program sastoji se od jedne kompilacijske jedinice. Kodprevoenja nema faze povezivanja (linking stage) kako bi se prevoditeljuomoguilo izraunavanje prostora potrebnog za spremanje cijelog programana pametnu karticu i uinkovito iskorištenje RAM-a. Izvorni kod se možeraspodijeliti po datotekama, ali sve potrebne datoteke trebaju s kljunomrijei #Include biti ukljuene u datoteku koja se prevodi.

Page 49: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 49/85

 

  45

5.1.3. Arhitektura BasicCard pametne kartice

Meudjelovanje izmeu terminala i kartine aplikacije izvodi senaredbama (commands). Za vrijeme razvoja kartine aplikacije potrebno jespecificirati naredbe koje e ta aplikacija moi izvršavati. Prema ISO 7816-4standardu za definiranje naredbe se koriste po dva bajta za odabir razreda(CLA) i instrukcije (INS) unutar razreda (vidi poglavlje 3.2.). Na slici 5.1prikazana je arhitektura BasicCard pametne kartice:

Operacijski sustav

P-Code interpreterP-Code stog

BasicCard Virtual Machine

Kartina aplikacija

Programsko suelje -korisniki definirane naredbe

Predefinirane naredbe(zajednike svim BasicCard

pametnim karticama)

Suelje itaa (Common Reader Interface)

BasicCard naredbeno suelje (Command Interface)

Aplikacija terminala (C, Visual Basic, Deplhi)

 

Slika 5.1 Arhitektura BasicCard pametne kartice

Uz parametre broja razreda i broja instrukcije, definicija naredbe

sastoji se i od tone definicije parametara koji se prosljeuju na karticu sterminala ili ih terminal ita s kartice. Kartina aplikacija BasicCard pametnekartice zapravo je grupa funkcija koje se izvršavaju po primitku naredbi odstrane terminala. Pametna kartica je podreeni ureaj (slave), dok je terminalnadreen (master) i aplikacije koje se izvršavaju na terminalu odabirunaredbe koje e izvršavati kartina aplikacija. Kartina aplikacija možesadržavati i inicijalizacijski kod koji se pokree svaki puta kada se karticaumetne u ita [4].

Page 50: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 50/85

 

  46

5.1.3.1 BasicCard operacijski sustav

Operacijski sustav BasicCard pametne kartice ima sljedee

karakteristike:

- potpunu implementaciju T=1 komunikacijskog protokola kojaukljuuje ulanavanje, ponovno slanje i produženje vremenaekanja (vidi poglavlje 3.2).

- predefinirane naredbe za uitavanje programa i podataka napametnu karticu, ukljuujui automatsku enkripciju.

- virtualni stroj za izvršavanje P-code.

- Enhanced i Professional inaice sadrže log  datoteke svihEEPROM operacija, kako bi se omoguilo njihovo rekonstruiranje usluaju gubitka napajanja. Compact inaice nemaju takavmehanizam, pa je njihove transakcije potrebno štititi programski.

- Enhanced i Professional inaice sadrže datoteni sustav slianDOS-u s direktorijima organiziranima u stablastoj strukturi (vidipoglavlje 4.3.). Pristupanje direktorijima i datotekama mogue je naviše naina:

o iz kartine aplikacije datoteke se mogu stvarati, pisati i itatipomou naredbi istovjetnih naredbama Basic programskog  jezika. Posebne naredbe omoguuju postavljanje pravapristupa na datoteke i direktorije kako bi se ograniio pristupaplikaciji terminala. Prava pristupa ovise o kriptografskimkljuevima, korisnikim lozinkama i sl.

o iz aplikacije terminala, BasicCard pametna kartica izgledapoput diskete sa simbolikim imenom „@:“. Ako zadovoljavaprava pristupa, aplikacija terminala može na karticu pisati,itati ili mijenjati datoteke i direktorije kao da je obina

disketa.

o struktura direktorija i datoteka može se definirati uinicijalizacijskom dijelu kartine aplikacije (File Definition Section). 

Page 51: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 51/85

 

  47

- nalazi se u flash programabilnom ROM-u, i lako se nadograuje.

- Professional inaice sadrže generator sluajnih brojeva i nudekvalitetniju sigurnosnu zaštitu [5].

5.1.3.2 BasicCard virtualni stroj

Virtualni stroj BasicCard pametne kartice koristi RAM i EEPROMmemoriju. BasicCard RAM ima sljedea podru  ja: sustavski RAM, P-Codestog, podru je public  i static  podataka i podru  je alocirano za izvršavanjeprograma (Run-time memory allocation). BasicCard EEPROM ima sljedeapodru ja: sustavski EEPROM, tablicu opisnika naredbi (Command descriptor table), ZBasic programski kod, podru  je za znakovne konstante (String constants), podru  je za enkripcijske kljueve, EEPROM podatke i podru jealocirano za izvršavanje programa. ZC-Basic prevodioc izraunava koliko

memorije treba iz kojeg podru  ja, a ostatak dodjeljuje RAM i EEPROMpodru  ju alociranom za izvršavanje programa. BasicCard virtualni strojpodržava etiri tipa podataka:

-  char (1-byte unsigned integer)

-  word (2-byte signed integer)

-  long (4-byte signed integer)

-  real (4-byte IEEE-format floating-point number)

-  string 

P-code stog se sastoji od tri registra (PC – Program counter, SP – Stack Pointer, FP – Frame Pointer). Može sadržavati etiri vrste podataka:

- parametre naredbi dobivene s I/O ulaza (nalaze se na dnu stoga).

- argumente procedura i povratnu adresu (prije poziva procedure,parametri se stavljaju na stog).

- okvir podataka (FRAME data), ine ga Private podaci i privremenevarijable koje je generirao prevodioc. Svaka procedura ima svojokvir podataka fiksne veliine, alociran prilikom poziva procedure.FP registar pokazuje na poetak okvira podataka.

- meurezultate operacija, virtualni stroj nema podatkovnih registara,sva izraunavanja se obavljaju na P-Code stogu.

Page 52: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 52/85

 

  48

5.1.3.3 Suelje prema višim programskim jezicima

Tvrtka ZeitControl razvila je efikasno suelje (API) za više programske

 jezike (trenutno su podržani C/C++, Visual Basic i Delphi) koje programerimaomoguava korištenje i povezivanje obaju sustava (npr. grafiko korisnikosuelje i BasicCard aplikaciju). Suelje je razvijeno za Windows 32-bitnurazvojnu platformu. Podržani su ZeitControl CyberMouse, ZeitControl Chipi iPC/SC kompatibilni itai [6] [7].

Temelj je BasicCard naredbeno suelje za C programski jezik (vidisliku 5.1) jer ga mogu koristiti gotovo svi ostali programski jezici. Visual Basickoristi ActiveX kontrolu nadograenu na spomenuto C suelje. Suelje itaapotrebno je za povezivanje s jednim od podržanih itaa (detektiraju se zavrijeme izvršavanja kada se provjeravaju podaci o registriranim itaima na

terminalu na kojem se izvodi aplikacija). U tom suelju nalaze se funkcije zaotvaranje/zatvaranje itaa, spajanje/odspajanje kartice, odabir default  itaa, itd. Naredbeno suelje koristi suelje itaa kako bi povezalo ita sodgovarajuim objektom u aplikaciji terminala. Podržane su predefiniranenaredbe, jednostavne transakcije, transparentna enkripcija, funkcije zapostavljanje kljueva i polinomijala, funkcije za povezivanje s itaem itd.

Page 53: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 53/85

 

  49

5.2. Java pametne kartice

S Java  tehnologijom, programeri koji rade na podru  ju pametnih

kartica imaju mogunost standardizacije. Tako, npr. GSM provider može vrlolako razvijati nove usluge, koje se mogu selektivno uitati na karticu umobitelu („preko zraka“). Kao rezultat, mobilni telefon postaje npr. novanik,omoguuje prijenos s rauna na raun, kupovinu, iznajmljivanje... i sve to uvrlo sigurnom i interoperabilnom okruženju. Ako želite promijeniti mobilnitelefon, samo zamijenite aparat, a vašu „osobnu“ pametnu karticupremjestite.

Današnje pametne kartice proširuju mogunosti tradicionalnih karticas magnetskom trakom, dajui korisnicima nove mogunosti i poboljšanja,ukljuujui:

- siguran pristup podacima s Internet (web-based ) i mogunost pohraneviše aplikacija na samo jednu pametnu karticu

- 100 (i više) puta vei kapacitet za pohranu podataka (memorije suvee, jeftinije)

- poveanu sigurnost i zaštitu od prijevare- veu pouzdanost zbog boljeg dizajna i kontrole kvalitete u proizvodnji- raznolikost mikroipova, na raspolaganju su kartice sa širokim

spektrom memorijskih i procesnih svojstava, što omoguuje jednostavan odabir za specifinu primjenu

Java tehnologija je odigrala veliku ulogu na tržištu pametnih kartica jer  je postala vodea platforma za njihov razvoj. 1999. je isporueno preko 20milijuna pametnih kartica temeljenih na Java  tehnologiji, a u 2000. godinispominje se broj od preko 100 milijuna. Osim toga, Sun je ušao u partnerstvos više od 35 vodeih tvrtki na tom podru ju, a vrlo veliki broj Java programera je mamac za proizvoae. Broj rješenja koja ukljuuju Java pametne karticeiz dana u dan je sve vei (analogno slici 2.2).

U sluaju pametne kartice koja se temelji na Java  tehnologiji,aplikacije pisane u Javi, u obliku byte-koda, se uitavaju u memorijumikroprocesora pametne kartice, gdje ih pokree Java Virtual Machine 

(JVM). Izvršni kod nije ovisan o platformi, pa svaka kartica koja ima Javainterpreter može izvršiti istu aplikaciju. Na jednoj kartici može biti više Javaaplikacija, od kojih svaka ima svoj sigurni memorijski prostor kako bi seosigurao integritet i sprijeilo itanje/pisanje po memoriji programa(interferencija s drugim programima, ili namjerno, u cilju promjene npr. iznosana bankovnom raunu) [3].

Page 54: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 54/85

 

  50

Veina aplikacija za koje se mogu koristiti pametne kartice zahtjevavisoku razinu autentifikacije. Stoga pametne kartice imaju mogunostkorištenja javnih i privatnih kljueva i na taj nain ostvaruju tu razinu.Trenutno je osobni identifikacijski broj (PIN) uobiajeni nain za siguranpristup, ali u bližoj budunosti to bi mogao biti i npr. otisak prsta. Teži se

tome da se proces autentifikacije što više pojednostavi uz što višu razinusigurnosti.

Snaga Java platforme i mogunost pohrane više aplikacija na jednojpametnoj kartici – i to od razliitih proizvoaa (providers ) - namee JavaCard pametne kartice kao vrlo moan alat u svakodnevnom životu. Trenutnosu za programere pametnih kartica vrlo interesantna sljedea podru ja:mobilna telefonija, zdravstvo, financije te transport. Rastue mogunostimobilnih telefona predstavljaju (1999.) 43% tržišta pametnih kartica.Financijska tržišta su takoer vrlo velika mogunost. Do 2005. velik diosvjetske bankovne industrije, poevši od Evrope, morati e svoje korisnike

opskrbiti pametnim karticama, jer to zahtijevaju kreditne tvrtke, koje nudesvoje usluge (npr. Visa). Pametne kartice bitno reduciraju mogunostprijevare, i kreditne tvrtke ih prilagoavaju kao vrlo uinkovitu zaštitu.Porastom tzv. e-commerce  poslova sve više kreditnih tvrtki e nuditi svojeusluge u ovom obliku. Na podru ju medicine, pametne kartice takoer unosevelike mogunosti i veliku pouzdanost, uz smanjenje papirologije iadministrativnih poslova. U prometu je mogue pametne kartice koristiti kaosredstvo plaanja (naplatne kuice na autoputovima, parkirališta i garaže) ilikao kartu (npr. avionsku ili autobusnu), sve to bez potrebe za kopanjem podžepovima i traženjem sitnog novca [3].

Page 55: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 55/85

 

  51

5.2.1. Java Card tehnologija

Java Card  specifikacija omoguuje pokretanje Java programa napametnim karticama i drugim ureajima s ogranienom memorijom (npr.danas 16k, 32k, itd.). Danas je Java Card aplikacijsko okružje registrirano naOEM bazi kod proizvoaa pametnih kartica i zauzima 90% tržišta pametnihkartica.

Prednosti Java Card tehnologije su sljedee [2]:

-  interoperabilnost – kartine aplikacije razvijene s Java Card  tehnologijom mogu se uitati i pokrenuti na bilo kojoj kartici kojapodupire Java Card  tehnologiju, neovisno o proizvoau kartice injenom hardwareu. 

-  sigurnost – Java Card  tehnologija se temelji na inherentnoj(naslijeenoj) sigurnosti Java programskog jezika i omoguuje sigurnookruženje za izvoenje programa (vidi poglavlje 4.4.1.). Razvijena je uotvorenom procesu, a industrijska primjena i sigurnosne evaluacijeosiguravaju da vlasnici kartica imaju na raspolaganju najsposobniju inajsigurniju tehnologiju koja je danas raspoloživa.

-  mogunost multi-aplikacija – Java Card  tehnologija omoguujeistovremenu sigurnu koegzistenciju više aplikacija na jednoj pametnojkartici.

-  dinaminost – nove aplikacije mogu biti sigurno instalirane nakon što je kartica ve prodana, tako da prodavai mogu dinamino odgovaratina potrebe kupaca.

-  otvorenost – programeri Java Card aplikacija imaju na raspolaganjuprednosti objektno-orijentiranog jezika i dizajna, te pristup ve gotovimJava razvojnim alatima.

-  kompatibilnost s postojeim standardima – Java Card  API jekompatibilan s internacionalnim standardima za pametne kartice poputISO 7816 ili EMV. Naveden je kao referenca vodeih industrijsko-specifinih standarda (npr. Global Platform, ETSI ).

Page 56: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 56/85

 

  52

5.2.2. Java Card jezini podskup

Zbog svojeg malog memorijskog kapaciteta, Java Card platformapodržava samo pažljivo odabrani, prilagoeni podskup osobina Java jezika.Taj podskup ukljuuje osobine koje su prilagoene pisanju programa zapametne kartice i druge male ureaje, istodobno uvajui objektno-orijentirane osobine Java programskog jezika. Tablica 5.1 istie neke bitnepodržane i nepodržane osobine Java jezika u tehnologiji Smart Card. Kljunerijei nepodržanih svojstava su takoer ispuštene iz jezika. Neke odnaprednih Java pametnih kartica implementiraju mehanizam sakupljanjasmea, odnosno mehanizam brisanja objekata naslijeen iz Java platforme.

Tablica 5.1 Osobine Java Card jezinog podskupa

Podržane osobine Jave Osobine Jave koje nisu podržane

• Mali primitivni tipovipodataka: boolean, byte,short

• Java paketi, razredi, suelja,iznimke

• Objektno-orijentiraneosobine: nasljeivanje,virtualne metode,nadjaavanje, dinamikokreiranje objekta, opsegpristupa, pravila povezivanja

• Opcionalni su kljuna rije inti 32-bitni tip podatka

• Veliki primitivni tipovipodataka: long, double, float

• Znakovi i stringovi• Višedimenzionalna polja• Dinamiko uitavanje razreda• Sigurnosni manager• Sakupljanje smea i

finalizacija• Dretve• Serijalizacija objekata• Kloniranje objekata

Programski alat za provjeru koda (provjera class datoteka) smješten jena terminalu i taj alat sustavno obavlja provjeru da li kod zadovoljavaspecifikaciju Java Card podskupa naredbi iz programskog jezika Java [2].

Page 57: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 57/85

 

  53

5.2.3. Arhitektura Java Card pametne kartice

Osnovna razlika memorijskih i „pametnih“ kartica (kartica smikrokontrolerom) je jednostavan operacijski sustav koji može uitati iizvršavati razne aplikacije. Budui da se radi o otvorenoj platformi, pametnakartica sama za sebe slii arhitekturi jednostavnog servera sa sljedeimosnovnim komponentama (vidi sliku 5.2):

- operacijski sustav kartice (COS)

- JCRE (Java Card Runtime Environment ) je izvršna okolina kojaosigurava sigurno i nezavisno izvršavanje kartinih aplikacija

- VOP/SC (Visa Open Platform Security Control ) su mehanizmi kojiomoguuju upravljanje funkcijama aplikacije i sigurnosnu kontrolu

izvršavanja

Uz navedene osnovne komponente na slici 5.2 prikazana su dvasuelja pametne kartice koja programer može koristiti u toku razvoja kartineaplikacije [14].

Operacijski sustav

VOP CardManager

Java Card APIOpen Platfom

API

Java Card Virtual Machine

JCRE

Applet 4 Applet 3

Applet 2 Applet 1

Programsko suelje (ukljuujeprogramere appleta)

APDU suelje (ukljuuje proizvoaekartica i programere korisnikih

aplikacija)

 

Slika 5.2 Arhitektura Java Card pametne kartice

Page 58: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 58/85

 

  54

5.2.3.1 Java Card izvršna okolina

Sve su Java Card pametne kartice potpuno kompatibilne s Java Card

specifikacijom koja je specificirana od Sun Microsystems  grupe. Izvršnaokolina omoguuje izvršavanje Java Card kartinih aplikacija. Java Cardizvršnu okolinu ine Java Card sustavske komponente na samoj pametnojkartici (ne koriste se komponente na terminalu). Na terminalu se nalazi dioJava Card virtualnog stroja, programski alat za provjeru class  datoteka ipretvara class datoteka u CAP datoteke pogodne za uitavanje na karticu.JCRE je odgovorna za upravljanje kartinim resursima, mrežnomkomunikacijom, za izvršavanje kartinih aplikacija i za sigurnost kartinihaplikacija. No njena osnovna uloga je uloga operacijskog sustava pametnekartice.

Kao što je prikazano na slici 5.2,  JCRE se nalazi iznad sklopovlja(hardware-a ) pametne kartice i iznad izvornog operacijskog sustava. JCREelegantno odvaja kartine aplikacije od specifinih tehnologija proizvoaapametnih kartica i osigurava standardizirani sustav i suelje za kartineaplikacije. Kao rezultat, kartine aplikacije je jednostavnije i lakše pisati zarazliite arhitekture.

Dijelovi Java Card izvršne okoline (JCRE) su:

1. Java Card stogovni stroj (JCVM) 2. Java Card API (engl. Application Programing Interface )

3. Suelje otvorene platforme (OP API) 4. Suelje Visa otvorene platforme (opcija)

JCRE sadrži i neke servise specifine za pametne kartice poputdijeljenja objekata izmeu kartinih aplikacija i odašiljanja APDU-a izmeurazliitih kartinih aplikacija ili njihovih dijelova. Aplikacijski zaštitni zid (applet firewall) omoguava meusobnu strogu i potpunu izolaciju uitanih kartinihaplikacija (ne mogu meusobno dijeliti polja, podatke, objekte i metode).

Java stogovni stroj na osobnom raunalu ili radnoj stanici izvršava sekao proces operacijskog sustava. Podaci i objekti se kreiraju u RAM-u. Kadaproces završi s radom, Java aplikacije i njihovi objekti se automatskiuništavaju. Na Java pametnoj kartici, Java stogovni stroj se izvršava unutarJava Card izvršne okoline. JCRE se inicijalizira samo jednom i to onogtrenutka kad se kartica stavi u ita. Pritom se inicijalizira stogovni stroj ikreiraju objekti koji omoguavaju JCRE servise i upravljanje kartinimaplikacijama [14].

Page 59: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 59/85

 

  55

Veina informacija na kartici mora biti ouvana ak i kad kartica nemanapajanja, takvi podaci spremaju se u postojanu memoriju (EEPROM). Kadse ukloni napajanje zaustavlja se stogovni stroj, ali stanje JCRE-a i objektikreirani na kartici ostaju sauvani. Sljedei put kad se na karticu dovedenapajanje, JCRE ponovno pokree izvršavanje stogovnog stroja te uitavanje

podatka iz postojane memorije (EEPROM-a). Treba napomenuti da JCRE nenastavlja operacije stogovnog stroja na mjestu na kojem je stogovni stroj staokad je kartica ostala bez napajanja. Stogovni stroj se ponovno pokree.Prekid sjednice JCRE se razlikuje od JCRE inicijalizacije po tome štokartine aplikacije i objekti kreirani na kartici ostaju sauvani. Za vrijeme novesjednice, ako transakcija prethodno nije završila, JCRE izvodi potrebnoišenje (vraa se u konzistentno stanje).

Razdoblje izmeu vremena kad je kartica stavljena u CAD ureaj iprikljuena na napajanje, i vremena kad se kartica ukloni iz CAD-a, naziva seCAD sjednica. Za vrijeme CAD sjednice JCRE radi kao obina pametna

kartica – podržava APDU I/O komunikaciju s aplikacijom terminala (slika 5.3).

Slika 5.3 CAD sjednica

Ponovnim uspostavljanjem sjednice (JCRE reset) JCRE ulazi u petlju,i eka APDU naredbu od terminala. Terminal šalje APDU naredbe Java Cardplatformi koristei suelje serijske komunikacije kartinog ulaznog/izlaznogkontakta. Kad stigne naredba, JCRE ili odabire kartinu aplikaciju zaizvoenje, na što upuuje pristigla naredba, ili prosljeuje naredbu trenutnoaktivnoj, odabranoj kartinoj aplikaciji. Odabrana aplikacija preuzima kontrolui obrauje APDU naredbu. Po završetku šalje odgovor terminalu i predajekontrolu JCRE-u. Taj proces se ponavlja kad stigne sljedea naredba.

Page 60: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 60/85

 

  56

5.2.3.2 Java Card stogovni stroj

Java Card stogovni stroj   (JCVM) je pojednostavljena inaica Java 

stogovnog stroja (JVM) prilagoena pametnim karticama. Tako se Java Cardaplikacije mogu izvršavati na bilo kojoj pametnoj kartici koja podržava JCVM,nezavisne su o sklopovskim komponentama na kojima se izvršavaju ipojedine aplikacije se mogu izvršavati na pametnim karticama razliitihproizvoaa.

class datoteke

Provjera koda

Konverter

Izvankartini JCVM

Interpreter

CAPdatoteka

Uitavanje datoteka

Kartini JCVM

 

Slika 5.4 Struktura JCVM

Java Card stogovni stroj dijeli na dva dijela (slika 5.4). Prvi dio senalazi na terminalu na kojeg je spojen ita. Sastoji se od programskog alataza provjeru koda i alata za pretvorbu koda u byte-kod. Byte-kod se kasnijeuitava na pametnu karticu pomou programskog alata za uitavanje. Drugidio je dio koji se nalazi na kartici – sadrži byte-kod interpreter i alat zaupravljanje sigurnošu.

Page 61: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 61/85

 

  57

5.2.3.3 Java Card API

Java Card API razredi definiraju funkcionalnost razvijenu od Java

Card razvojnog tima, potrebnu aplikacijskim programerima. API ukljuuje vrlomali podskup standardnih Java razreda (java.lang.Object i nekolikorazreda za iznimke). Izmeu ostalog, API definira i konvencije preko kojihkartine aplikacije pristupaju JCRE-u i nativnim metodama, ukljuujui ifunkcionalnost operacijskog sistema, pristup memoriji i I/O operacije.Ukljuuje pakete posveene upravljanju kriptografskim kljuevima i raznimkriptografskim izraunavanjima:

-  Java.lang -  Java Card.framework

-  Java Card.security

-  Java Card.crypto 

5.2.3.4 Otvorena platforma

VOP (engl. Visa Open Platform) je okruženje za upravljanje pametnimkarticama koje na sebi sadrže više kartinih aplikacija. Omoguuje potpunosigurno i nezavisno upravljanje pojedinim aplikacijama. Otvorena platformase sastoji od sljedeih komponenti:

- naredbi za upravljanje karticom nakon inicijalizacije- naredbi za uitavanje i instaliranje kartinih aplikacija- naredbi za upravljanje sigurnošu kartice, ukljuujui naredbe za

kreiranje kljueva i stvaranje sigurnog kanala izmeu kartice iterminala

- naredbi za siguran rad i komunikaciju itaa i terminala

Isto tako otvorena platforma sadrži specifikaciju koja definira razliiteživotne cikluse kartice, kartinih aplikacija te aplikacije terminala. Ovdje sepod razliitim životnim ciklusima kartinih aplikacija za vrijeme životnogciklusa kartice misli na sluajeve kada je kartica prikljuena na ita, ali se

unutar tog vremena izvrši više kartinih aplikacija (imaju razliito trajanje, uvremenu izmeu jednog umetanja i vaenja kartice iz itaa) [14].

Page 62: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 62/85

 

  58

6. Primjer razvoja kartinog sustava

Razvijeni sustav „HealthCard“  namijenjen je uporabi u sustavuzdravstva. ine ga programi koje koristi osiguravajue društvo (zavod),programi koje koristi lijenik (ili ljekarnik) te podaci o korisniku i programipohranjeni na pametnoj kartici. Meudjelovanje pojedinih dijelova sustavaprikazano je na slici 6.1.

Osiguravajuedruštvo

Korisnik

Pametna kartica

Baza podataka

HealthProviderDB

HealthInsuranceProvider- uitavanje programa nakarticu- inicijalizacija kartice- personalizacija kartice- izdavanje kartice korisniku

Lijenik

2

Baza podataka

HealthDoctorDB

 

HealthDoctor- evidencija podataka o korisnicima- izdavanje recepata (uputnica, i sl.)- pohrana podataka na karticu i ubazu podataka

Korisnik

HealthCard

 

Slika 6.1 Struktura prezentacijskog sustava za pametne kartice HeallthCard

Prezentacijski sustav sastoji se od:

- aplikacije terminala HealthInsuranceProvider i baze podataka okorisnicima zdravstvenog osiguranja HealthProviderDB  

- aplikacije terminala HealthDoctor i baze podataka o pacijentima injihovim dokumentima (receptima, uputnicama itd.) HealthDoctorDB 

- kartine aplikacije HealthCard 

Page 63: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 63/85

 

  59

6.1. Aplikacija terminala HealthInsuranceProvider

Osiguravajue društvo (zavod za zdrastveno osiguranje) izdaje

pametne kartice korisnicima zdrastvenog osiguranja pomou aplikacijeterminala HealthInsuranceProvider. Namjena te aplikacije je:

- uitavanje kartine aplikacije na (praznu) pametnu karticu- inicijalizacija kartice – generiranje javnog i privatnog kljua ECC-167

algoritma, te dijeljene tajne na kartici- personalizacija kartice – uitavanje identifikacijskih podataka korisnika

zdrastvenog osiguranja- pohrana podataka o korisnicima u bazu podataka HealthProviderDB

Izgled aplikacije terminala prikazan je na slici 6.2.

Slika 6.2 Izgled aplikacije terminala HealthInsuranceProvider

U iduim poglavljima ukratko se opisuju glavni dijelovi aplikacijeterminala HealthInsuranceProvider i korištenje aplikacije u trenutku izdavanjanove zdravstvene pametne kartice. Sve operacije mogue je pratiti u Log  prozoru koji se ukljuuje/iskljuuje u glavnom izborniku odabirom stavkiPostavke  i Log box . Za kljune operacije pisanja i itanja s kartice mjeri sevrijeme izvoenja i takoer ispisuje u Log prozoru.

Page 64: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 64/85

 

  60

6.1.1. Postavke aplikacije HealthInsuranceProvider

Za ispravan rad potrebno je aplikaciji definirati koji ita treba koristiti ipostaviti parametre veze s bazom podatka o korisnicima. Definiranje itaapostiže se odabirom stavki Edit  i Refresh  u glavnom izborniku. Aplikacijapretražuje registrirane itae i zahtjeva odabir itaa kojeg ete koristiti(prikazano na slici 6.3).

Slika 6.3 Odabir korištenog itaa

Promjena itaa (ako ih ima više) mogua je i u osnovnom prozoru,pritiskom na prozor u kojem je ispisan naziv itaa (prikazano na slici 6.4).Nakon izbora itaa aplikacija se pokušava povezati s karticom. U sluajuuspješnog povezivanja u prozoru Status  ispisuje se ATR i stanje veze skarticom (slika 6.4).

Slika 6.4 Spajanje s odabranim itaem

Spajanje i odspajanje aplikacije terminala i kartice mogue jepokrenuti odabirom stavki Connect/Reconnect  i Disconnect  iz stavke File  glavnog izbornika (stanje veze prikazuje se u prozoru Status ). Izboromstavke Postavke  i unutar nje Change Private Key  mogue je promijenitiprivatni (ujedno i javni) klju aplikacije terminala (osiguravajueg društva) koji

se koristi za generiranje dijeljene tajne na kartici.

Postavke veze s bazom podataka mogue je mijenjati odabirom stavkiPostavke  i DataBase Connection glavnog izbornika. Parametri se postavljajuprema raunalu na kojem je poslužitelj s bazom podataka o korisnicima.Unutar prozora HealthInsuranceUser  može se odabirom tipke Pretraživanje baze, pretraživati baza podataka o korisnicima po bilo kojem od polja(prezime, ime, JMBG...).

Page 65: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 65/85

 

  61

6.1.2. Uitavanje kartine aplikacije na karticu

Kada korisnik od osiguravajueg društva zatraži zdravstvenu pametnukarticu „HealthCard“ , osiguravajue društvo praznu pametnu karticu puniprogramima potrebnima za njen rad (vidi poglavlje 6.3). U glavnom izbornikupotrebno je odabrati stavku File  i zatim Load . Prikazati e se prozor u kojemse zahtjeva unos port number   itaa pametnih kartica i stanje u koje sekartica postavlja nakon uitavanja aplikacije. Stanja kartice su L – Load, P – Pers, T – Test i R – Run [4]. Stanje Load postavljeno je za vrijeme uitavanjaaplikacija na karticu, stanje Pers postavlja se kada se kartica personalizira(kad se upišu podaci o korisniku), stanje Test postavlja se za vrijemetestiranja sustava, a stanje Run se postavlja kad je kartina aplikacija ucijelosti razvijena (više nisu mogue promjene i ponovna uitavanja – karticase zakljuava). Unosom port number  i stanja kartice, otvara se dijalog zaodabir datoteke za uitavanje na karticu (prikazano na slici 6.5).

Slika 6.5 Uitavanje kartine aplikacije na karticu

Službenik osiguravajueg društva odabire kartinu aplikaciju zauitavanje koja se zatim uitava na karticu (briše se sadržaj EEPROM-a nakartici i puni novom kartinom aplikacijom). Kartina aplikacija definira pristupdirektorijima i datotekama na pametnoj kartici (mogu ako je ukljuena AESenkripcija sjednikim kljuem br. 1). Idui korak je generiranje javnih iprivatnih kljueva (ECC-167 algoritam), te dijeljene tajne na kartici.

Page 66: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 66/85

 

  62

6.1.3. Inicijalizacija kartice

Inicijalizacija kartice ukljuuje generiranje javnog i privatnog kljua tedijeljene tajne. Javni i privatni klju korisnika zdravstvenog osiguranjageneriraju se jednom u životnom ciklusu kartice (generiranje izvodi kartica).Privatni klju nikad ne napušta karticu, za sva ostala potrebna izraunavanjakoristi se javni klju. Dijeljena tajna (shared secret) se takoer generira nakartici samo jednom iz javnog kljua osiguravajueg društva (terminala) i  javnog kljua korisnika (kartice). Jednom kada je kartica inicijalizirana,komunikacija s karticom (upis i itanje podataka korisnika) štiti se simetrinimAES algorimom koji koristi 16 bajtni klju sjednice.

Službenik osiguravajueg društva u glavnom izborniku odabire stavkeKorisnik i New (prethodno se aplikacija treba spojiti s karticom – vidi poglavlje6.1.1.). Otvara se prozor HealthInsuranceUser  u kojem treba odabrati tipkuInicijaliziraj karticu. Aplikacija pokree niz procedura potrebnih zainicijalizaciju, mjeri se vrijeme potrebno za generiranje kljueva i dijeljenetajne na kartici i prikazuje u Log prozoru (prikazano na slici 6.6).

Slika 6.6 Inicijalizacija pametne kartice HealthCard

Za vrijeme inicijalizacije kartice pripremaju se objekti (varijable) karticeza sigurnu komunikaciju kartice i itaa u iduim koracima. Svako itanje ipisanje podataka na karticu zapoinje generiranjem sjednikog kljua.Sjedniki klju generira se iz javnog kljua kartice (dobivenog ECC-167algoritmom) i parametra derivacije kljua (trenutno vrijeme kao znakovni niz).Ako i kartica i terminal uspješno postave sjedniki klju, aplikacija terminalašalje kartici zahtjev za poetak enkripcije. Nakon toga izvodi se itanje ilipisanje podataka, te zaustavljanje enkripcije.

Page 67: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 67/85

 

  63

6.1.4. Upis korisnikih podataka na karticu

Personalizacija kartice je unošenje osobnih podataka korisnikazdravstvenog osiguranja na karticu i u bazu podataka o korisnicima. Podaci okorisniku se na kartici spremaju kao polja bajtova (vidi poglavlje 6.3).Službenik osiguravajueg društva popunjava potrebna polja u prozoruHealthInsuranceUser  i odabire tipku Upiši na karticu i u bazu . Aplikacijazapoinje komunikaciju kriptiranu sjednikim kljuem, upisuje podatke okorisniku na karticu i završava sjednicu. U bazi podataka podaci se mijenjajutransparentno (bilo u sluaju promjene podataka korisnika, bilo u sluajudodavanja novog korisnika). Primjer personalizacije kartice prikazan je naslici 6.7.

Slika 6.7 Unos osobnih podataka korisnika na karticu

Personalizirana kartica spremna je za upotrebu. Korisnik preuzimakarticu i kod prvog posjeta lijeniku poinje praktina upotreba HealthCard  pametne kartice.

Page 68: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 68/85

 

  64

6.2. Aplikacija terminala HealthDoctor

Lijenik u svojoj ordinaciji posjeduje raunalo s itaem pametnih

kartica i vezom prema bazi podataka HealthDoctorDB . Dolaskom pacijentalijenik postavlja dijagnozu i izdaje potrebne recepte, uputnice i slino.Aplikacija terminala (prikazana na slici 6.8) ima sljedeu namjenu:

- voenje podataka o korisnicima- voenje podataka o izdanim receptima- pisanje/brisanje recepata s kartice

Slika 6.8 Izgled aplikacije terminala HealthDoctor

U bazi podataka HealthDoctorDB  pohranjuju se podaci o korisniku ipodaci o receptima izdanima za pojedinog korisnika. Postavke itaa i veze sbazom podataka potrebno je postaviti kao u aplikaciji

HealthInsuranceProvider  (vidi poglavlje 6.1.1.). Osnovni prozor aplikacijesastoji se od etiri dijela (slika 6.8):

- osobni podaci korisnika- korišteni enkripcijski kljuevi i parametri- prikaz podataka o korisnicima iz baze HealthDoctorDB  - prikaz podataka o receptima iz baze HealthDoctorDB 

Page 69: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 69/85

 

  65

6.2.1. itanje podataka korisnika s kartice

Pacijent po dolasku predaje svoju HealthCard  pametnu karticulijeniku, koji odabirom stavke Korisnik  i podstavke Pro  itaj s kartice glavnogizbornika dobiva prikaz osobnih podataka pacijenta i dosad izdanih recepata.(slika 6.9). itanje (i pisanje) podataka s kartice je kriptirano AES sjednikimkljuem (16 bajtova) istovjetno aplikaciji namijenjenoj osiguravajuem društvuHealthInsuranceProvider  (vidi poglavlje 6.1.3).

Slika 6.9 itanje podataka s pametne kartice

Log  prozor se koristi za praenje toka izvoenja operacija(prezentacija mogunosti pametnih kartica). Ukljuuje se kao i u aplikacijiosiguravajueg društva, odabirom stavke Postavke  i unutar nje Log Box  glavnog izbornika. Mjeri se vremensko trajanje operacija itanja/pisanja iprikazuje unutar Log prozora.

Page 70: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 70/85

 

  66

6.2.2. Upis podataka na karticu i u bazu podataka

Ako lijenik želi izdati recept, odabire stavku Dokument  i unutar njeNovi recept (prethodno aplikacija mora biti spojena s karticom). Prikazuje seprozor Recept u kojem se popunjavaju polja s podacima o lijeku koji pacijenttreba koristiti. Nakon unosa, odabirom tipke Spremi\Ispiši  podaci o receptuspremaju se na karticu, u bazu podataka i, ako je potrebno, ispisuju napisau (slika 6.10).

Slika 6.10 Unos podataka o lijeku

Recepti se na pametnu karticu spremaju kao datoteke (zaštieni AESsimetrinom enkripcijom). U imenu datoteke nalazi se jednoznana šifra kojaodreuje recept. Odlaskom kod ljekarnika i izdavanjem odreenog lijeka,recept (datoteka) se briše s kartice, ušteeno je dragocjeno vrijeme,izbjegava se papirologija, poveava jednostavnost i sigurnost korištenja.Recepti se brišu pojedinano (stavka Obriši recept ) ili svi (stavka Obriši sve )

Page 71: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 71/85

 

  67

unutar stavke Dokument glavnog izbornika. Brisanje se izvodi transparentnou bazi podataka i na kartici (ako je umetnuta u ita i spojena s aplikacijom).

6.2.3. Pretraživanje baze podataka korisnika

Kao i u aplikaciji namijenjenoj osiguravajuem društvu omogueno jepretraživanje baze podataka i pregled rezultata. Pretraživanje zapoinjeodabirom stavke Korisnik i Pretraživanje baze . Otvara se prozor s poljima zaunos podataka o korisniku kojeg želite pronai (slika 6.11). Pretraga se izvodiprema bilo kojem polju (tj. prema ispunjenim poljima) i prikazuje rezultate udonjem dijelu aplikacije u kojem je prikaz baze podataka. Ako pretraga vraaviše rezultata, mogue ih je pregledavati – prijelazom na idui ili prethodnizapis, te „skakanjem“ na odreeni zapis (potrebno je upisati redni brojželjenog zapisa i pritisnuti tipku Sko  i na zapis ).

Slika 6.11 Pretraživanje baze podataka o korisnicima

Page 72: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 72/85

 

  68

6.3. Kartina aplikacija HealthCard

Kartine aplikacije (appleti, cardleti) se pišu na terminalu, u jezikukojeg podržava operacijski sustav kartice. Nakon prevoenja uitavaju se nakarticu pomou naredbi ili gotovih alata (dobivenih od proizvoaa).Programeri kartinih aplikacija trebaju se pridržavati pravila jezika u kojempišu (podskup jezika Jave, podskup jezika Basic) i imati na umu da pametnakartica ima ograniene resurse. Sigurnosne opasnosti trebaju biti dobrodefinirane u fazi specifikacije sustava, kako bi se smanjila mogunost gubitkapodataka.

Prijašnje pametne kartice su zahtijevale specijalizirani softver zarazvoj i strunjaka za razvoj aplikacija koje su se uitavale na karticu prilikom

proizvodnje. Takvi su programi maskirani u kartici prilikom proizvodnje i nemogu se mijenjati. Obino je aplikacija bila kodirana direktno u instrukcijskiset CPU-a. Stoga je imala pristup cijeloj memoriji. Sigurnost je trebaloprovjeriti prije prodaje, jer bi nadogradnja aplikacije iziskivala preveliki trošak(nakon puštanja kartica u prodaju). S pojavom novih tehnologija (Java Card,BasicCard), aplikacije se razvijaju s up-to-date  razvojnim alatima i odmahuitavaju na karticu. Stoga se aplikacije brzo razvijaju, uitavaju inadograuju nakon inicijalne prodaje kartice, a to pak uzrokuje brže vrijemedo pojave na tržištu (time to market ) i znatno produžuje korisni vijek kartice.

Osnova sustava je kartina aplikacija „HealthCard“. Na kartici su

pohranjeni podaci o korisniku osiguranja, javni i tajni klju, dijeljena tajna tepodaci o npr. ljenikim receptima za lijekove koje korisnik treba kupiti u

ljekarni. Podaci se na karticu uitavaju iz aplikacija terminala„HealthInsuranceProvider“ i „HealthDoctor“ opisanima u prethodnimpoglavljima. Podaci o korisnicima (i njihovim karticama) pohranjuju se u bazipodataka (na koju se mogu spajati aplikacije kojima to dozvoli zdrastvenoosiguranje). Personalizacija kartice (povezivanje s odreenim korisnikom) seobavlja na nain da se uz osnovne podatke o korisniku generiraju javni i tajniklju te dijeljena tajna. Javni klju se uz ostale podatke o korisniku sprema ubazu podataka, a kartica se postavlja u stanje run. Zaštita komunikacijeimplementirana je upotrebom simetrinog AES algoritma s 16 bajtnimsjednikim kljuem enkripcije. Sjedniki klju se generira iz javnog kljua

kartice i parametra derivacije kljua (radi jednostavnosti taj parametar jetrenutno vrijeme kao znakovni niz).

Postupak razvoja kartinog sustava temeljenog na BasicCardtehnologiji slian je razvoju Java Card sustava. Specifinosti odabranog jezika odreuju razlike u dizajnu (pogotovo u sigurnosnim pitanjima).

Page 73: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 73/85

 

  69

6.3.1. Razvojni put kartine aplikacije

Prema slici 6.12 tipian razvojni put kartine aplikacije poinjepisanjem izvornog koda u ZBasic programskom jeziku. Razvojni alat osimdatoteka s izvornim kodom (*.bas) i definicijskih datoteka (*.def), generira:

- projektnu datoteku (*.zcp) 

- programsku datoteku terminala (*.zct) koja se sastoji od:o parametara prevodioca (predefinirane konstante, izvorni kod,

include datoteke)o izvršnih parametara (parametri naredbene linije, broj COM

port-a)

- programsku datoteku kartice (*.zcc) koja je zapravo virtualnaBasicCard kartica i sastoji se od:

o parametara prevodioca (predefinirane konstante, izvorni kod,include datoteke)

o memorijskog EEPROM sadržaja virtualne karticeo broja COM port-a virtualnog itaa

Izvorni kod je mogue odmah prevesti pomou ZC-Basic prevoditeljaili pokrenuti alat za ispravljanje koda (debugger). ZeitControl nudi dvije vrstealata za ispravljanje koda – kartini (ispravljanje koda kartinih aplikacija) i

terminalski (ispravljanje koda aplikacija terminala). Obje vrste kao izlaz dajudatoteke (*.dbg) s podacima o greškama u kodu, a mogu se koristiti iistovremeno kao virtualna kartica i ita (time se olakšava traženje greške).Prilikom prevoenja potrebno je specificirati inaicu korištene BasicCardpametne kartice. Prevoenjem se dobiva datoteka (*.img) pogodna zaprijenos i pohranu na karticu ili za simulaciju. Alat za simulaciju možeistovremeno pokrenuti prevedene kartine aplikacije, aplikacije terminala ilikomunicirati s stvarnim itaem i karticom. Alat za uitavanje podataka nakarticu provjerava ima li na kartici dovoljno memorijskog mjesta i inaicukartice, a nakon uitavanja postavlja karticu u jedno od pet stanja [4]:

- load 

– postavlja se za vrijeme uitavanja kartinih aplikacija-  pers  – postavlja se dok kartica nije personalizirana (povezana s

odreenim korisnikom), a nakon uitavanja kartine aplikacije-  test – postavlja se za vrijeme testiranja kartice-  run – postavlja se kad je kartica prošla sva testiranja i personalizirana

  je, ovom stanju kartica dolazi u ruke korisnika, više nije moguemijenjati kartinu aplikaciju

Page 74: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 74/85

 

  70

Alat zauitavanje na

karticuBCLoad

SimulatorZCMSim

Testiranje

ZBasic datoteke(*.zcp, *.bas, *.def,

*.zct, *.zcc)

Prevedene datoteke(*.img)

Upotreba karticeili simulatora?

Kartica Simulator

PrevoenjeZC-Basic compiler

ZCMBasic

ZBasic razvojni alatZeitControl

Professional IDE

TerminalProgramDebbugerZCMTerm

BasicCardProgramDebuggerZCMCard

Debugg datoteke(*.dbg)

Debugg datoteke(*.dbg)

Potrebnoispravljanje

koda?

 Slika 6.12 Razvojni put ZBasic kartine aplikacije

Testiranje kartine aplikacije se obino prvo izvodi sa simulatorom, jer je tako lakše otkriti greške same kartine aplikacije. Otkrivene greške seispravljaju i kartina aplikacija se ponovo uitava na karticu. Konano, nakonispravljanja grešaka kartina aplikacija se testira s aplikacijom terminala(kartina aplikacija je ve testirana i lakše se otkrivaju greške nastale

razvojem aplikacije terminala). Radi jednostavnosti, esto se kao „podloga“za novu kartinu aplikaciju koristi neka posve jednostavna, a zatim se dodajunove funkcionalnosti. Krajnji oblik tog naina razvoja bio bi dodavanjeinstrukcije po instrukciju, prevoenje i integracija s aplikacijom terminala(nakon dodavanja svake instrukcije, prevesti i testirati s aplikacijomterminala).

Page 75: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 75/85

 

  71

6.3.2. Dizajniranje kartine aplikacije

Poetak razvoja bilo koje programske aplikacije, pa tako i kartineaplikacije, treba zapoeti fazom dizajna. U toj fazi se definira arhitekturakartine aplikacije, a obuhvaa sljedee korake:

- specifikaciju funkcija kartine aplikacije- odreivanje i dodjeljivanje identifikatora naredbama koje e kartina

aplikacija moi izvršavati- dizajn strukture same kartine aplikacije- definiranje suelja izmeu kartine aplikacije i aplikacije terminala

6.3.3. Specifikacija funkcija kartine aplikacije

Za primjer biti e opisana ostvarena kartina aplikacija „HealthCard“koja omoguava siguran pregled i promjenu podataka o korisniku npr.zdravstvenog osiguranja. Podaci o korisniku se spremaju u postojanojEEPROM memoriji kao polje znakova:

Eeprom User As String*250

Svi podaci o korisniku spremljeni su u jedan niz znakova. Tonoznaenje pojedinog znaka poznato je samo dizajneru sustava. Dekodiranjese izvodi u aplikaciji terminala. Osim podataka o korisniku u postojanojmemoriji kartice pohranjeni su podaci o stanju kartice (da li je

personalizirana), dijeljena tajna (shared secret), te simetrini AES sjednikiklju:

Eeprom Personalised = False

Eeprom SharedSecret As String

Declare Key 1(16) 

Aplikacija terminala prepoznaje kartinu aplikaciju pomou imenadefiniranog unutar kartine aplikacije:

Declare ApplicationID = ApplicationName$

Osnovni direktorij zaštien je pravima pristupa – aplikacija terminala možepisati ili itati iz njega samo ako je ukljuena AES enkripcija sjednikimkljuem br. 1:

Dir "\"

Read Lock Key=1

Write Lock Key=1

End Dir 

Page 76: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 76/85

 

  72

6.3.4. Odreivanje naredbi kartine aplikacije

Kartina aplikacija od aplikacije terminala dobiva zahtjeve za izvršenje

naredbi. Naredbe se definiraju svojim razredom i instrukcijom unutar razreda(CLA i INS bajtovi – vidi poglavlje 3.2.). „HealthCard“ podržava sljedeenaredbe:

Declare Command &H20 &H00 GetCurve

Declare Command &H20 &H01 GenerateKeyPair

Declare Command &H20 &H02 SetPrivateKey

Declare Command &H20 &H04 GetPublicKey

Declare Command &H20 &H05 Sign

Declare Command &H20 &H06 SetSharedSecred

Declare Command &H20 &H07 SetSessionKey

Declare Command &H80 &H00 WriteUserDeclare Command &H80 &H02 ReadUser

Na svaku APDU naredbu kartina aplikacija odgovara itau tako davraa APDU odgovor (koji obavještava ita rezultatu poslane naredbe).Odgovor sadrži i statusne rijei koje definiraju moguu grešku. Ovaj nainkomuniciranja naredba-odgovor se nastavlja sve dok se aplikacija terminalane odspoji ili dok se kartica ne izvadi iz itaa.

6.3.5. Definiranje suelja

Kartina aplikacija koja se izvršava na kartici komunicira s aplikacijomterminala preko itaa koristei parove APDU naredba-odgovor (Application Protocol Data Units ). Zapravo, suelje izmeu kartine aplikacije i aplikacijeterminala je skup APDU naredbi koje su poznate i podržane od stranekartine aplikacije i aplikacije terminala. Za svaku APDU naredbu, kartinaaplikacija treba dekodirati polja APDU naredbe. Ako se koriste opcionalnapolja, takoer treba utvrditi njihov format i strukturu. Koristei te definicijekartina aplikacija zna kako interpretirati svaku naredbu i proitati podatke.Pomou njih može izvršiti zadatak odreen primljenom naredbom. Za svaki

APDU odgovor, kartina aplikacija bi trebala definirati skup statusnih rijei(status words SW) koje pokazuju rezultat izvršavanja naredbe. Za normalanzavršetak izvoenja, aplet šalje „succes “ (0x9000, prema ISO 7816). Akodoe do greške, treba vratiti statusnu rije koja definira interno stanjekartine aplikacije.

Page 77: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 77/85

 

  73

Const swNotPersonalised = &H6B00

Const swEncryptionRequired = &H6B02

Const swIssuingKeyRequired = &H6B03

Osim navedenih statusnih rijei koje kartina aplikacija vraa sama,suelje prema višem programskom jeziku (u ovom primjeru Visual Basic [6])definira i skup statusnih rijei koje signaliziraju uobiajene greške, poputkrivog formata APDU naredbe.

6.3.6. Svojstva korištene pametne kartice

Razvoj aplikacije terminala i kartine aplikacije proveden je zaZeitControl Professional BasicCard pametnu karticu (revizija 5.4C) i PCSC

USB ita ZeitControl CyberMouse ACR30U-CFC. Kartica koristikomunikacijski protokol ISO T=1 (opcionalno T=0), 16335 bajtova EEPROM-a i 686 bajtova RAM-a. Sigurnost je omoguena kroz kriptografske usluge isvojstva operacijskog sustava kartice koji ima ugraenu podršku za ECC-167, AES, DES i SHA-1 enkripcijske algoritme.

Aplikacije terminala pisane su u Microsoft Visual Studio.NET – VisualBasicu. Korišteno je ZeitControl Visual Basic suelje (Active X  i Crypto Control) [6][7], ZeitControl Professional IDE razvojni alat i Microsoft SQLServer 7.0. Osobno raunalo na kojem je sustav razvijen je AMD Duron 1400MHz s 256 MB RAM-a.

Page 78: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 78/85

 

  74

7. Zakljuak

Prezentacijski sustav HealtCard prikazuje jednu od moguih primjenapametnih kartica. Ostvarene aplikacije terminala i kartina aplikacija inecjelinu koja obuhvaa sve radnje potrebne za jednostavno, sigurno iuinkovito korištenje u sustavu zdravstva. Primjenom takvog sustavaolakšan je posao lijenicima, ljekarnama, specijaliziranim ustanovama zarazne zdrastvene preglede, bolnicama i samim korisnicima – pacijentima.Pametna kartica koristi se kao identifikacija i mjesto pohrane dokumenata,skraeno je vrijeme pojedine radnje (pregleda kod lijenika, kupovine lijeka)bez potrebe za dosadašnjim papirnatim dokumentima. Sustav kao primjerkoristi lijeniki recept, ali mogue ga je proširiti novim primjenama poput

pohrane rezlutata pregleda, uputnica ili kljua vrata bolni

ke sobe.

Page 79: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 79/85

 

  75

8. Literatura

[1] W. Rankl, W. Effing : Smart Card - Hand Book, Second Edition, JohnWiley & Sons, New York, 1999.

[2] Zhiqun Chen : Java Card Tehnology for Smart Cards, Addison-Wesley, US, 2000.

[3] Schlumberger : Hands On Java ™ Card Applet Development WithSchlumberger

[4] Tony Guilfoye : BasicCard - The Compact, Enhanced, andProfessional BasicCards, ZeitControl cardsystems GmbH, MindenGermany, 2003., dostupno na internet adresi: http://www.basiccard.com

[5] Tony Guilfoye : Professional BasicCard Datasheet, ZeitControl

cardsystems GmbH, Minden Germany, 2003., dostupno na internetadresi: http://www.basiccard.com

[6] Michael Petig, Robert Kazimirski:  BasicCard ActiveX Control – VisualBasic Programming Manual, ZeitControl Cardsystems GmbH, MindenGermany, 2002., dostupno na internet adresi: http://www.basiccard.com

[7] Michael Petig:  BasicCard Crypto Control – Visual BasicProgramming Manual, ZeitControl Cardsystems GmbH, MindenGermany, 2002., dostupno na internet adresi: http://www.basiccard.com

[8] Helmut Scherzer:  SmartCard Operating System Potential risks andsecurity countermeasures, IBM Germany Corp., Boeblingen, 2003.,

dostupno na internet adresi: http://ca.itsc.ruhr-uni-bochum.de/hgi/smaca/scherzer.pdf

[9] Brian Miller:  BasicCards 101, Circuit Cellar, Issue 164, March 2004,dostupno na internet adresi: http://www.basiccard.com

[10] Anthony Cola:  Security Is Not Child“s Play, Card Technology, August2002., dostupno na internet adresi: http://www.basiccard.com

[11] Donald Davis:  Battering Down A Barrier To Entry, Card Techlology,August 2002., dostupno na internet adresi: http://www.basiccard.com

[12] Ross Anderson, Markus Kuhn: Tamper Resistance – A CautionaryNote, Computer Laboratory, Cambridge University, Department of

Computer Sciences, Purdue University, 1996., dostupno na internetadresi: http://www.cl.cam.ac.uk/users/rja14/tamper.html

[13] Cardwerk , Smarter Card Solutions, http://www.cardwerk.com

[14] Java Technology , http://java.sun.com

[15] JavaWorld , Fueling Innovation, http://www.javaworld.com

Page 80: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 80/85

 

  76

[16] Smart Card Security – GlobalPlatform Technology, http://www.gammassl.co.uk

[17] Smart Card Technology and Security ,http://people.cs.uchicago.edu/~dinoj/smartcard/security.html

[18] IBM Research , http://www.research.ibm.com[19] Cryptography Research , http://www.cryptography.com

[20] U.S. General Services Administration, Smart Card Standards and Interoperability , http://www.estrategy.gov/smartgov/smart_card.cfm

Page 81: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 81/85

 

  77

9. Sažetak

Ovaj diplomski rad prouava sigurnost pametnih kartica, moguesigurnosne nedostatke i naine njihova otklanjanja. Usporeuju se Java Cardi BasicCard razvojne platforme. Praktini (programski dio) ine aplikacijeterminala (Visual Basic) i kartina aplikacija (ZBasic) namijenjene upotrebi uzdravstvu. Sustav omoguava uitavanje kartinih aplikacija na pametnukarticu, inicijalizaciju kartice (generiranje javnog i privatnog kljua ECC 167algoritmom, te dijeljene tajne), personalizaciju kartice (unos osobnihpodataka korisnika), upisivanje, itanje i brisanje dokumenata (lijenikihrecepata), te zaštitu komunikacije simetrinim AES algoritmom. Podaci okorisnicima i dokumentima su pohranjeni u bazama podataka, jednostavnose mijenjaju, brišu i unose. Pametna kartica koristi se kao identifikacijakorisnika i kao mjesto pohrane podataka umjesto dosadašnjih papira,upotreba je jednostavna, brza i sigurna.

Page 82: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 82/85

 

  78

10. Abstract

This work examines security of smart cards, their potential flaws  andsecurity countermeasures. It also compares two smart card platforms JavaCard and BasicCard. It's practical part are terminal applications (VisualBasic)and card application (ZBasic), developed for use in healthcare. Systemenables downloading card applications on the smart card, initialization ofsmart card (generation of the public and private key with ECC 167 algorithm,setting shared secret on the card), personalization of smart card (enteringpersonal user data on the card), writting, reading and deleting documents(medical prescriptions) and it uses secure communication (symmetric AESalgorithm). User data and documents are stored in two databases, they areeasy to update, delete or insert. Smart card is used as user identification anddata storage, there is no need for papers, so it provides simple, fast andsecure use.

Page 83: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 83/85

 

  79

Prilog: Kratice

ADM Administrative

AES Advanced Encryption Standard

AID Application Identifier

ALW Always

APDU Application Protocol Data Unit

API Application Programming Interface

ATR Answer to Reset

CAD Card Acceptance Device

CAP Java Card executable code format

CHV Card Holder Verification

CLK Clock

COM Component Object Model Implementation

COS Chip/Card Operating System

CPU Central Processing Unit

DES Data Encrytption Standard

DF Dedicated File

DFA Differential Fault Analysis

DOS Disk Operating SystemDPA Differential Power Analysis

ECC Elliptic Curve Cryptography

EEPROM Electrical Erasable Programmable Read-Only Memory

EF Elementary File

etu Elementary time unit

GND Ground

GSM Global System for Mobile Communications

I/O Input/output

IBM International Business MachinesIC Integrated Circuit

IDEA International Data Encryption Algorithm

INF Information Field

IOP COM Interoperabilitiy COM

Page 84: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 84/85

 

  80

ISO/IEC International Organization for Standardization / InternationalElectrotehnical Commission

ITRI Industrial Technology Research Institute

JCOP Java Card Open Platform

JCRE Java Card Runtime EnviromentJCVM Java Card Virtual Machine

JVM Java Virtual Machine

LEN Length

LRC Longitudinal Redundancy Check

MAC Message Authentication Code

MF Master File

MPU Microprocessor Unit

NAD Nod Address

NEV Never

OSI Open Systems Interconnection

PCB Protocol Control Byte

PIN Personal Identification Number

PDA Personal Digital Assistant 

PTS Protocol Type Select

PVC Polyvinyl Chloride

RAM Random Access Memory

RISC Reduced Instruction Set ComputingROM Read-Only Memory

RSA Rivest-Shamir-Adleman

RST Reset

SCSUG Smart Card Security User's Group

SG-LFSR Shrinking Generator – Linear Feedback Shift Registers

SHA Secure Hash Algorithm

SIM Subscriber Identification Module

SPA Single Power Analysis

VCC Power supply voltageVOP Visa Open Platform

VOP/SC Visa Open Platform Security Control

WAP Wireless Application Protocol

WTX Waiting Time Extension

XOR Exclusive OR

Page 85: Pametne Kartice Diplom Fer Zg

5/7/2018 Pametne Kartice Diplom Fer Zg - slidepdf.com

http://slidepdf.com/reader/full/pametne-kartice-diplom-fer-zg 85/85

 

  81