pametnekartice
-
Upload
ermina-hadzikadunic -
Category
Documents
-
view
19 -
download
2
Transcript of 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.
�����������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
�� ��������
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
+-,/.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
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
�������/ 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
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
â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
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
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
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
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
¥�¦¨§�©�ª�«�¬¤�©�®¯©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
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
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
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
£�¤�¥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