17
FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA Zavod za primjenjenu matematiku Seminarski rad iz kolegija Ergonomija računalne i programske opreme PAMETNE KARTICE Vlatka Antončić Prof. dr.sc. Marijan Đurek Zagreb, travanj 2005.

pametnekartice

Embed Size (px)

Citation preview

Page 1: pametnekartice

FAKULTET ELEKTROTEHNIKE I RAČUNARSTVAZavod za primjenjenu matematiku

Seminarski rad iz kolegija

Ergonomija računalne i programske opreme

PAMETNE KARTICE

Vlatka Antončić

Prof. dr.sc. Marijan Đurek

Zagreb, travanj 2005.

Page 2: pametnekartice

�����������1.Uvod......................................................................................................................................12.Podjela kartica.......................................................................................................................1

2.1.Podjela ovisno o čipu....................................................................................................22.1.1. Pasivne kartice.....................................................................................................22.1.2. Memorijske kartice..............................................................................................22.1.3. Mikroprocesorske kartice....................................................................................2

2.2.Podjela ovisno o načinu pristupa.................................................................................32.2.1. Kontaktne kartice.................................................................................................32.2.2. Bezkontaktne kartice ........................................................................................3

3.Fizička i električna svojstva.................................................................................................43.1.Formati i dimenzije.......................................................................................................43.2.Kontaktna površina.......................................................................................................43.3. Memorija......................................................................................................................5

3.3.1.RAM......................................................................................................................53.3.2.ROM......................................................................................................................53.3.3.EEPROM...............................................................................................................6

4.Komunikacijski model..........................................................................................................64.1.CAD uređaj...................................................................................................................64.2.Komunikacija s računalom...........................................................................................64.3.APDU protokol.............................................................................................................7

4.3.1. APDU naredba.....................................................................................................74.3.2. APDU odgovor....................................................................................................8

4.4.TPDU protokol.............................................................................................................84.4.1. T=0.......................................................................................................................94.4.2. T=1.......................................................................................................................94.4.3. T=2.......................................................................................................................9

5.Operacijski sustavi kartice...................................................................................................96.Životni ciklus kartice..........................................................................................................11

6.1. Faza 1: Proizvodnja čipa i proizvodnja kartice........................................................116.2. Faza 2: Priprema kartice............................................................................................116.3. Faza 3: Priprema aplikacije.......................................................................................116.4. Faza 4: Korištenje kartice..........................................................................................116.5. Faza 5: Kraj korištenja kartice..................................................................................11

7.Sigurnosni mehanizmi........................................................................................................127.1. Sklopovski sigurnosni aspekti .................................................................................127.2. Programski sigurnosni aspekti..................................................................................13

8. Literatura............................................................................................................................15

Page 3: pametnekartice

�� ��������

Začetnik pametne kartice je francuski novinar Roland Moreno koji je 1974.

registrirao idejne patente pametne kartice. Naziv “pametna kartica” osmislio je Roy

Bright iz marketinške oganizacije francuske vlade.

Francuska telefonska industrija 1984. godine izdaje prvu telefonsku karticu.

Danas se ona koristi u javnoj telefoniji u više od 50 zemalja širom svijeta. Europay,

Mastercard i Visa počinju s upotrebom pametne kartice u financijskoj industriji. 1994.

godine izdana je EMV specifikacija. Mobilna telefonija 1998. godine izdaje GSM

specifikaciju koja otvara novo područje primjene pametne kartice.

Što je pametna kartica?

Pametna kartica je prijenosno, na napade relativno otporno računalo. Neke

pametne kartice imaju mali ekran od tekućih kristala (engl. liquid crystal display, LCD) i

tipkovnicu za npr. unos zaporke. Te kartice nazivaju se “super pametne kartice”.

�� ��������������! ��#"%$'&)(*�

Pametne kartice se mogu razvrstati u nekoliko grupa. Ovisno o čipu

razlikujemo memorijske kartice i mikroprocesorske kartice. Uzimajući u obzir prijenos

podataka i mehanizam pristupa razlikujemo kontaktne, bezkontaktne i kombinirane

kartice.

1

Page 4: pametnekartice

+-,/.0,)1�2�3547608:9;2*<>=@?BAC2D2DEF=HG�I

JBKMLNKMLNKBOQPSRTVUCWBXZY�P\[^]_Ta`bX

Pasivne kartice ne sadrže čip, te ih ne svrstavamo u pametne kartice.

Najpoznatije pasivne kartice su magnetske kartice s magnetskom trakom na stražnjoj

strani kao što su bankovne kartice, zdravstvene iskaznice...

JBKMLNKcJBKBdeXgfih�[jT k5R�YlXZYlP�[^]mTH`X

Memorijske kartice su kartice koje nemaju vlastiti procesor, te ne mogu

samostalno obrađivati podatke. Uvrštavamo ih u pametne kartice samo iz povijesnih

razloga. S obzirom na vrstu memorije razlikujemo tri tipa memorijskih kartica: nkartice s običnom memorijom koje su obično namjenjene samo za

pohranjivanje podataka,nkartice s zaštićenom ili dijeljenom memorijom koje sadrže jednostavne

logičke veze s kojima nadziru pristup podacima i upotrebljavaju se tamo

gdje nije potrebna visoka razina sigurnost podataka,nkartice s pohranjenom vrijednošću kao npr. telefonske kartice.

JBKMLNK)opKBdqT)Y[rh�sQ[rh\`XBRFh�[mR�YlXZYlP�[^]mTH`X

Pod pojmom pametne kartice uglavnom se misli na mikroprocesorske

kartice zbog “inteligencije” koju pruža ugrađeni čip. Te su kartice sposobne same

obrađivati podatke. Mikroprocesorske kartice koriste se u aplikacijama koje zahtjevaju

sigurnost i privatnost podataka.

2

Page 5: pametnekartice

t-uat-u)vxwgy5z7{0|:};w*~>�:���CwDw��g}B�p���C�����j�@�����b�*}

�B�c�B�M�N�B���������g�l�m�B�Z�l���^�_�a�b�

Kontaktne kartice komuniciraju s vanjskim svijetom preko fizičkog

komunikacijskog sučelja. Sučelje ostvaruje fizički i električni kontakt s uređajem za

prihvat kartice – CAD uređajem (engl. Card Acceptance Device). Kartica ne posjeduje

unutrašnje napajanje te ne može generirati signal vremenskog vođenja (engl. clock).

�B�c�B�c�B�B�����N�l�����������j�B�;�l���^�m�H��

Bezkontaktne kartice komuniciraju s vanjskim svijetom preko antene

ugrađene u tijelo kartice. Napajanje se izvodi pomoću baterije ugrađene u karticu ili

elektormagnetske indukcije preko antene. Podaci se do CAD uređaja prenose

elektromagnetskim poljem.

Prednost kontaktnih kartica u odnosu na bezkontaktne kartice je ta što su

kontaktne kartice manje osjetljive na torzije i savijanja. Također, kod bezkontaktne

kartice, postoji potencijalna opasnost da se bez znanja vlasnika presretnu podaci ili

izvedu neke kartične transakcije. Zbog sigurnosnih razloga transakcije bezkontaktnih

pametnih kartica traju kraće nego transakcije kontaktnih kartica, pa se zbog toga pri

transakciji s bezkontaktnim karticama prenesu manje količine podataka.

3

Page 6: pametnekartice

�������/ g��¡£¢g¤¥��¦x§)¦�¢g¨�©ª��¡£«¬¤®­-¯x°B±²­\¨³¯x¤

´bµ/¶0µ)·Q¸g¹%ºZ»�¼¾½b½�¿g½)ºÁÀFÂSÃ�½ Ä7À

Pametne kartice najčešće dolaze u tri fomata : ID-0 (85.6mm x 54mm x

0.76mm), ID-00 (66mm x 33mm x 0.76mm ) i ID-000 (25mm x 15 mm x 0.76mm). ID-

0 je format kreditnih kartica a ID-000 je format GSM SIM kartica. Format ID-0 je

najčešći te ga, osim kod kreditnih kartica susrećemo kod osobnih iskaznica.

´bµaÅ-µ)ÆǸgÂ*¼)»BÈ-¼/Âg»ÊÉ�¸*ËN¹_̽)Âg»

Osnovno obilježje kontaktnih pametnih kartica je čip. Čip je

krhak i podložan vanjskim uvjetima kao što su torzija i savijanje. Zbog

toga je čip ograničen na veličinu od 25mm2. Pametna kartica ima 8

kontaktnih točaka:

1. na Vcc kontakt dovodi se napajanje; naponska razina je 3V ili 5V s maksimalnim

odstupanjem od 10%,

2. GND (engl. ground) kontakt se koristi kao referentna naponska razina; najčešće je to

nulta razina,

3. RST (engl. reset) kontakt služi za resetiranje mikroprocesora,

4. Vpp kontakt je opcionalan i koristi se samo kod starih tipova kartica koje su zahtjevale

korištenje dvije programske razine; niža razina označavala je pasivno stanje, viša

razina se koristila za pisanje u EEPROM; današnji mikrokontroleri koriste ugrađenu

strujnu pumpu,

5. I/O (engl. Input/Output) kontakt služi za komunikaciju između kartice i vanjskog

svijeta i obratno,

4

Page 7: pametnekartice

6. RFU (engl. Reserved for Future Use) kontakti su rezervirani za buduća proširenja,

7. CLK (engl. clock) je signal vremenskog vođenja.

ÍpÎ)ÍpÎBÏÑÐpÒÁÓgÔjÕ ÖØ×

Pametne kartice sadrže tri tipa memorije trajnu upisnu memoriju, trajnu

upisno-ispisnu memoriju i netrajnu upisno-ispisnu memoriju. Najčešće korištene

memorije su RAM, ROM i EEPROM.

ÙbÚ�ÙbÚ/Û0ÚcÜ�ÝßÞ

Zbog svoje veličine (veličina jedne ćelije je cca. 40µ m x ��40 µm ) i zbog

ograničene površine čipa uvijek je prisutan zahtjev za što manjom količinom RAM

memorije.

RAM memorija se koristi kao privremeni radni prostor za pohranu i

modifikaciju podataka. Uklanjanjem napajanja gubi se informacija o sadržaju memorije.

ÙbÚ�ÙbÚaà-ÚcÜ�áqÞ

ROM memorija se koristi za pohranu nepromjenjivog programskog koda.

Zapisani podaci se mogu samo čitati. ROM memorija zadržava svoje stanje i bez

prisutnosti napajanja.

Veličina jedne ROM ćelije je cca. 10 µ m x 10µ m, što je čini 16 puta

manjom od RAM ćelije.

5

Page 8: pametnekartice

âbã�âbã�âbãcä�ä�å�æxçqè

EEPROM memorija se koristi za pohranu podataka i korisničkih aplikacija.

EEPROM memorija zadržava svoje stanje kad nema napajanja.

EEPROM koji koriste pametne katice može izvesti minimalno 100 000

ciklusa pisanja i zadržati podatke dulje od 10 godina. Čitanje EEPROM-a je jednako brzo

kao i čitanje RAM-a, ali je zato pisanje u EEPROM 1000 puta sporije od pisanja u RAM.

é£ê�ëíìïîñð�ò#óõô�ö*÷�ó ø7ù�ô*ó�îúì�û#üxý

þ�ÿ��0ÿ�������� �������

Pametna kartica komunicira s okolinom preko CAD uređaja. Postoje dvije

vrste CAD uređaja: terminal i čitač kartica.

Čitač je povezan s računalom putem USB (engl. Universal Serial Bus),

serijskog, paralelnog ili PCMCIA (engl. Personal Computer Memory Card International

Asociation) sučelja.

Terminali su računala koja čitač kartica imaju ugrađen kao vlastitu

komponentu. Primjer terminala je bankomat. Osim funkcije čitača terminali posjeduju i

mogućnost obrade podataka.

þ�ÿ��-ÿ������������ ���"!#� �$�&%'(�")*�����,+-���

Komunikacijski kanal izeđu pametne kartice i računala podržava

dvosmjernu komunikaciju, tj. prijenos podataka u oba smjera, no ne istovremeno (engl.

half duplex).

Dva računala međusobno komuniciraju razmjenjujući podatkovne pakete.

Podatkovni paketi su inspirirani protokolima kao što su TCP (engl. Transfer Control

6

Page 9: pametnekartice

Protocol) i UDP ( engl. User Datagram Protocol ). Pametna kartica komunicira s

računalom na sličan način koristeći vlastiti format podatkovnih paketa – APDU protokol

(engl. Aplication Protocol Data Unit).

Nakon što se kartica umetne u čitač njeni se kontakti mehanički povežu s

čitačem. Nakon toga kartica automatski izvršava power on reset i šalje ATR (engl.

Answer To Reset) poruku (tzv. “topli reset”). Tom porukom kartica šalje vrijednosti

parametara potrebnih za uspostavljanje međusobne komunikacije. Terminal obradi ATR

i šalje naredbu. Kartica prima naredbu i šalje odgovor. Terminal izdaje naredbe, a kartica

ih izvršava sve dok se kartica ne izvadi iz čitača. Nakon primitka ATR-a terminal, ako

želi promjeniti neki od parametara, kartici šalje PTS (engl. Protocol Type Select)

naredbu. Na taj način terminal može promijeniti parametre komunikacijskog protokola,

ali samo one koje dotična kartica dozvoljava. PTS naredba može se poslati samo nakon

primitka ATR poruke.

.,/ 01/32547698;:=< >@?A>�B,>�C

APDU protokol je komunikacijski protokol namjenjen za komunikaciju

pametnih kartica i vankartičnih aplikacija. APDU format je definiran standardom ISO

7816-4.

Razikujemo dva oblika APDU protokola: APDU naredba i APDU odgovor.

Kartična komunikacija temelji se na organizaciji sluga-gospodar (engl. slave-master

organization). Kartica uvijek preuzima ulogu sluge, čeka APDU naredbu od računala te

šalje APDU odgovor.

D�E�F�E�GHEJI�K7LNMPO,Q�RTS1UWV,Q

Zaglavlje APDU naredbe sastoji se od 5 okteta: oznake razreda kojoj

pripada naredba (CLA – engl. class), oznaka naredbe (INS – engl. instruction), parametri

7

Page 10: pametnekartice

naredbe (P1 i P2) i veličina podatkovnog dijela poruke u oktetima (Lc). Nakon zaglavlja

APDU naredbe slijedi tijelo APDU naredbe. Tijelo je veličine određene Lc poljem

zaglavlja. Nakon podatkovnog polja slijedi opcionalno Le polje koje pokazuje

maksimalan broj okteta koji očekuje od aplikacije u sljedećem odgovoru.

Struktura APDU naredbe

X�Y�Z�Y\["YJ]�^7_N`badcdedagfgaih

APDU odgovor koji se sastoji od obaveznog zaglavlja i opcionalnog tijela.

Zaglavlje se sastoji od polja SW1 i SW2 koji zajedno tvore statusnu riječ (engl. status

word ) te opisuju u kojem se stanju kartica nalazi nakon što izvrši APDU naredbu. Ta

dva okteta označavaju da li je naredba izvršena ili je došlo do pogreške. Tijelo je

podatkovno polje čija je duljina određena Le poljem APDU naredbe.

Struktura APDU odgovora

j,klj,kTm�n=oqp;r=s t@uvt�w,t�x

TPDU protokol (engl. Transmission Protocol Data Unit) je prenosni

protokol niže razine definiran standardom ISO 7816-3. Podatkovne strukture koje

izmjenjuju kartica i računalo nazivaju se TPDU jedinice.

Trenutačno su u kartičnim sustavima najraširenija dva tipa prijenosnih protokola: T=0

protokol i T=1 protokol. Oba protokola su asinkroni i dvosmjerni.

8

CLA INS P1 P2 podaciLc Le

SW1SW2 podaci

Page 11: pametnekartice

y�z{y�z�|Hz~}��"�

T=0 protokol je oktet orijentiran, što znači da je najmanja prenesena jedinica

jedan oktet. Zahvaljujući oktet orijentaciji protokola, prilikom detekcije pogreške u

prijenosu odmah se zahtjeva ponovni prijenos netočnog okteta. Detekcija pogreške se

bazira na paritetnom bitu koji se dodaje svakom poslanom oktetu.

���{���\�"�~���@�

T=1 protokol je blok orijentiran. T=0 protokol smatra se zastarjelim jer

nejasno odvaja aplikacijski i prijenosni sloj, dok T=1 protokol odvaja ta dva sloja

ukalupljujući APDU poruke u TPDU jedinice.

���{�������~���"�

T=2 protokol se temelji na T=1 protokolu. Također je blok orjentiran.

Razlika je u tome što T=2 protokol omogućuje istovremeni prijenos podataka u oba

smjera (engl. full duplex).

�������=��� ����� ���=�����i ���¡ �d¢N�W���£��¡¤� �W�

Za razliku od operacijskih sustava na osobnim računalima, operacijski

sustav kartice ne uključuje korisničko sučelje i nema mogućnost pristupa vanjskim

jedinicama za pohranu podataka. Njegova osnovna namjena je prijenos podataka,

kontrola izvršavanja naredbi, upravljanje datotekama, izvršavanje kriptografskih

algoritama, provjera i kreiranje digitalnih potpisa. Standard ISO 7816-4 predstavlja

temelj za većinu današnjih operacijskih sustava kartica. Zbog sve većih zahtjeva za

pametnim karticama razvila se potreba za bržim razvojem kartičnih aplikacija. Brži

9

Page 12: pametnekartice

razvoj kartičnih aplikacija ne smije ugroziti glavni razlog upotrebe pametnih kartica,

njihovu sigurnost. Java Card tehnologija omogućuje da se programi pisani u Java

programskom jeziku izvode na računalima ograničenih sredstava s jednakom sigurnošću

kao i na računalima neograničenih sredstava.

Razlika između Java kartica i ostalih kartica je podjela na razine s jasno određenim

pravilima među njima.

Podjela na razine kod Java kartica

Podjela na razine kod ostalih pametnih kartica

10

Page 13: pametnekartice

¥�¦¨§�©�ª�«�¬¤­�©�®¯©A°�±v²�³´°�µ�¶·¬¸©�®�¹

Standard ISO 10202-1 razlikuje 5 glavnih faza u životnom ciklusu kartice.

º#»�¼½»*¾�¿�À~¿Á¼*Â�Ã7Ä Å�ÆlÀ*ǽÅ�È�ɸÊË¿'Ì#ÍÏÎ�ÐÑÍÒÎ=Ó Ô�Í\Õ,ÖHÔ�×�ظÙËÐÛÚ#Ð"ÓÝÜ-Í�Þ,ß

à dizajn čipaá generacija operacijskog sustava karticeâ proizvodnja čipa i modulaã proizvodnja tijela karticeä ugrađivanje modula u tijelo kartice

å#æ�çgæ*è�é�ê~éëçdì�í7î(ïÏð=î ñ#òóéÛô#égîöõ-ï-÷*ñ

ø završavanje operacijskog sustava kartice

ù#ú û1ú*ü�ý�þ~ýÑûgÿ������������óý&ý ��������ý���� ��

� inicijalizacija aplikacije� personalizacija aplikacije

���������! �"# $��%�&('*)�+�,*-/.�0213.54� 6)7-8+89�.

: aktiviranje aplikacije; deaktiviranje aplikacije

<�=?>@=�A!B�C#BD>�E�FHGIBKJML�N*G�OQP�R/S�T2JUBVL�B6G7R8O8W�SX deaktiviranje aplikacijeY deaktiviranje kartice

11

Page 14: pametnekartice

Z�[I\^]`_(aHbdc�e(f�cg]�hjilk�mncg]?o*hp]

q@rts rvu�w#xQy z{y�|~} w#��}����������6y�} ���#� }�z{��w����

Sklopovi pametnih kartica nikad se ne proizvode od standardnih ćelija i

često posjeduju lažne strukture čija je jedina svrha zbunjivanje potencijalnog napadača.

Sabirnice unutar pametne kartice koje povezuju procesor, ROM, EEPROM i

RAM su interne sabirnice, što znači da nikad ne izlaze iz čipa. Time je onemogućeno

direktno priključivanje na linije sabirnice. Kako bi se spriječilo bezkontaktno

prisluškivanje ili interakcija s podacima na sabirnici, promet preko sabirnica često se

kriptira.

Kako je sadržaj ROM-a čitljiv bit po bit uz pomoć optičkog mikroskopa, u

pametnim karticama se koristi specijalni ionski usađen ROM čiji se sadržaj ne može

pročitati niti uz pomoć ultraljubičaste svjetlosti.

Informacije sakupljene analizom električnog potencijala aktivnog čipa

moguće je iskoristiti u svrhu izvođenja zaključaka o trenutnom sadržaju RAM-a.

Smještanjem vodljivih metalnih slojeva iznad memorijskih ćelija postiže se da, ukoliko se

ti slojevi uklone (npr. kemijskim urezivanjem), čip postaje neupotrebljiv. Osim toga prati

se njihov električni otpor tako da čip automatski prestaje s radom ako dođe do oštećenja

zaštitnog sloja. Ispod zaštitnih slojeva nalaze se i fototranzistori koji dodatno detektiraju

njihovo uklanjanje.

Postoji mogućnost čitanja RAM ćelija bez napajanja, ali to zahtjeva

prethodno hlađenje ćelija na temperaturu ispod –60°C što uzrokuje da sadržaj RAM

ćelija ostaje trajan. Stoga se tajni ključevi ne bi smjeli nepotrebno držati u RAM-u.

Nakon njihovog pohranjivanja u RAM-u treba slijediti brisanje ili prepisivanje memorije

novim vrijednostima.

U pametnim karticama slijed memorijskih lokacija RAM-a nikada nije

linearan kao u ostalim računalnim sustavima. Fizički bliske memorijske ćelije

12

Page 15: pametnekartice

predstavljaju logički neslijedne lokacije. Zbog toga nije dovoljno znati sam sadržaj ćelija

već je potrebno znanje i o načinu adresiranja. Način adresiranja može biti unaprijed

određen i strogo tajan ili pak programski riješen i dinamičan.

Pametne kartice nadziru naponsku razinu kako bi onemogućili DFA (engl.

Differential Fault Analysis) napade, frekvenciju radnog takta koja je dovedena izvana

kako bi se onemogućilo drastično usporavanje rada kartice čime pračenje internih

promijena postaje jednostavnije. Kako bi se onemogućili DPA napadi (engl. Differential

Power Analysis) pametne kartice potrošnju elektirične energije reguliraju i održavaju

stalnom.

�@��������������I�����������������*�K���6���*�����  �¡��6¢8�

S programske strane, pametne kartice također se odlikuju zavidnom razinom

sigurnosti. Kao što je opisano u prošlom odlomku, vrlo je teško iz pametne kartice

“izvući” korisne informacije, što odmah upućuje na mogućnost prisluškivanja informacija

koje kartica prima ili odašilje. Dok su gore navedene sklopovske zaštite implementirane u

tvornici i ne mogu se isključiti, programska zaštita najviše ovisi o programeru koji

implementira kartične aplikacije. Kao što je već navedeno, mikroprocesorske pametne

kartice dijelimo na one s kripto koprocesorom i one bez kripto koprocesora. Kripto

koprocesor je sklopovska podrška kriptiranju. Neke pametne kartice podržavaju samo

simetrične kripto-algoritme (najčešće DES), bolje kartice podržavaju još i asimetrične

(najčešće RSA), a najbolje još i funkcije za izračunavanje sažetka (engl. Digest ili engl.

Hash). Ovisno o vrsti kartice postoji standarnizirano programsko sučelje koje omogućuje

iskorištavanje implementiranih kripto algoritama. Pametne kartice koje nemaju kripto

koprocesor zahtjevaju od programera, koji želi stvoriti sigurni komunikacijski kanal,

samostalno programsko implementiranje potrebnih algoritama ili nabavu nekih drugih

implementacija. Radi velike ograničenosti memorijskog prostora na pametnim karticama

(tipično 32 KB ROM-a, 16 KB EEPROM-a i 1 KB RAM-a), često se ne implementiraju

13

Page 16: pametnekartice

svi potrebni algoritmi čime čitava “besprijekorna” sigurnost pametnih kartica pada u

vodu. Zbog toga se, za bilo kakvu ozbiljniju primjenu, pametne kartice bez kripto

koprocesora ne upotrebljavaju.

14

Page 17: pametnekartice

£�¤�¥n¦Q§¨g©ª«§­¬H©®ª

1. http://www.smartcardbasics.com/

2. http://sigurnost.zemris.fer.hr/kartice

3. http://www.aidia-i.ba

4. http://electronics.howstuffworks.com/question332.htm

5. http://home.hkstar.com/~alanchan/papers/smartCardSecurity/

15