COMPUTERWORLD
Specializovan² t²denφk o v²poΦetnφ technice

Serißl
o bezpeΦnosti
a informaΦnφm soukromφ

╚ßst 55 - CW 31/98

╚ipovΘ karty

Petr HanßΦek

╚ipovß karta (smart card) je plastickß karta o velikosti b∞₧nΘ platebnφ karty, kterß obsahuje zabudovan² Φip. Tento Φip slou₧φ jako pam∞¥, na kterΘ jsou ulo₧ena data. ╚asto je vÜak Φipovß karta natolik inteligentnφ, ₧e obsahuje na svΘm Φipu samostatn² jednoΦipov² procesor, kter² m∙₧e provßd∞t r∙znΘ v²poΦty, vΦetn∞ kryptografick²ch operacφ. SkuteΦnost, ₧e tento procesor je umφst∞n v jedinΘm Φipu, zajiÜ¥uje odolnost ΦipovΘ karty proti ·toku a karta p°i sv²ch v²poΦtech nenφ zßvislß na pom∞rn∞ zranitelnΘm vn∞jÜφm prost°edφ. Vzhledem k t∞mto vlastnostem jsou ΦipovΘ karty Φasto vyu₧φvßny v aplikacφch, kterΘ po₧adujφ silnΘ zabezpeΦenφ dat a bezpeΦnΘ provßd∞nφ kryptografick²ch operacφ v prost°edφ, kterΘ nenφ bezpeΦnΘ.

Typy Φipov²ch karet

╚ipovΘ karty jsou dvojφho druhu -- kontaktnφ a bezkontaktnφ. Kontaktnφ ΦipovΘ karty se dajφ snadno rozeznat podle typickΘho tvaru osmice kontakt∙, jak je znßme nap°φklad z telefonnφch karet. Kontaktnφ karta musφ b²t v okam₧iku jejφ Φinnosti zasunuta v konektoru nebo v takzvanΘ ΦteΦce. Bezkontaktnφ kartu m∙₧e jejφ majitel dr₧et v ruce nebo nosit p°ipnutou na svΘm od∞vu, proto₧e pou₧φvajφ pro styk s vn∞jÜφm sv∞tem a pro napßjenφ elektromagnetickou indukΦnφ smyΦku.

Karta se sklßdß ze 3 zßkladnφch Φßstφ: z plastovΘho nosiΦe o rozm∞rech 85,60 mm x 53,98 mm x 0,80 mm, z ploÜnΘho spoje, kter² obsahuje 8 kontakt∙ konektoru a z Φipu integrovanΘho obvodu. Schopnosti ΦipovΘ karty jsou dßny schopnostmi jejφho Φipu. Podle jejich schopnostφ d∞lφme ΦipovΘ karty na 3 skupiny: na pam∞¥ovΘ ΦipovΘ karty, na pam∞¥ovΘ ΦipovΘ karty se specißlnφ logikou a na procesorovΘ ΦipovΘ karty.

Pam∞¥ovΘ ΦipovΘ karty

Obsahujφ na svΘm Φipu pouze elektricky programovatelnou polovodiΦovou pam∞¥ (obvykle typu EEPROM nebo EPROM). Tato pam∞¥ slou₧φ pro zapamatovßnφ ·daj∙, kterΘ jsou z karty p°eΦteny p°i jejφm zasunutφ do ΦteΦky. ┌daje, ulo₧enΘ na kart∞, jsou obvykle ·daje o dr₧iteli karty. Pam∞¥ovΘ karty jsou nejvφce pou₧φvßny jako zdravotnφ karty, kterΘ obsahujφ zdravotnφ informace o dr₧iteli karty.

Karty se specißlnφ logikou

Obsahujφ na svΘm Φipu op∞t elektricky programovatelnou polovodiΦovou pam∞¥, kterß vÜak b²vß dopln∞na n∞jakou specißlnφ logickou funkcφ. P°φkladem takovΘto logiky m∙₧e b²t ochrana p°φstupu k dat∙m na kart∞ pomocφ hesla nebo PINu (pak zpravidla hovo°φme o pam∞¥ovΘ kart∞ chrßn∞nΘ PINem). Jin²m p°φkladem m∙₧e b²t pam∞¥ovß karta, do kterΘ lze pouze zapisovat logickΘ jedniΦky a nikoli logickΘ nuly (p°ibli₧n∞ takto funguje klasickß telefonnφ karta) nebo karta, kterß obsahuje ΦφtaΦ n∞jak²ch jednotek (tyto karty se obvykle pou₧φvajφ jako p°edplatnφ, telefonnφ nebo parkovacφ karty).

ProcesorovΘ karty

Jsou nejuniverzßln∞jÜφ skupinou. Na svΘm Φipu majφ jednoΦipov² mikroprocesor, kter² je schopen sßm provßd∞t vφce Φi mΘn∞ slo₧itΘ v²poΦty. Mezi tyto v²poΦty velmi Φasto pat°φ schopnost zaÜifrovat nebo deÜifrovat data pomocφ klφΦe, kter² je ulo₧en na kart∞, co₧ dßvß tomuto typu karet znaΦnΘ mo₧nosti pro kryptografickou autentizaci nebo pro realizaci platebnφch transakcφ. Jeliko₧ tyto ΦipovΘ karty pat°φ k nejuniverzßln∞jÜφm a v oblasti zabezpeΦenφ k nejpou₧φvan∞jÜφm, budeme se dßle v tomto Φlßnku zab²vat pouze kontaktnφmi procesorov²mi Φipov²mi kartami.

Kontaktnφ procesorovΘ ΦipovΘ karty

Kontaktnφ procesorovß Φipovß karta je spojena vn∞jÜφm sv∞tem konektorem. AΦkoli ISO standard 7816-2 definuje 8 kontakt∙ tohoto konektoru, v praxi se z nich vyu₧φvß pouze 5 nebo 6. Dva z t∞chto kontakt∙ (Vcc a Vss) slou₧φ pro napßjenφ karty. Karta je v₧dy napßjena extern∞ a pro napßjenφ se pou₧φvß nap∞tφ 5 V. Kontakt Reset slou₧φ pro resetovßnφ procesoru karty. Kontakt I/O je pou₧it pro vstup p°φkaz∙ a dat do karty a pro v²stup dat z karty. Kontakt Clk slou₧φ jako vstup externφch hodin pro procesor a jako referenΦnφ kmitoΦet pro vstup a v²stup dat p°es kontakt I/O. Standard ISO 7816 p°edepisuje pou₧itφ externφch hodin s kmitoΦtem 3,5795 MHz a p°enosovΘ rychlosti 9 600 Baud∙. U n∞kter²ch nov²ch karet je mo₧no pozd∞ji kartu p°eprogramovat pro pou₧itφ jinΘho hodinovΘho kmitoΦtu a jinΘ p°enosovΘ rychlosti -- toto p°eprogramovßnφ ale vÜechny karty neum∞jφ a karta nemusφ v₧dy pracovat spolehliv∞. Kontakt Vpp je urΦen pro p°ivedenφ vyÜÜφho napßjecφho nap∞tφ, kterΘ je nezbytnΘ pro zßpis a mazßnφ pam∞tφ EPROM a EEPROM. V modernφch kartßch se tento kontakt ji₧ nevyu₧φvß, proto₧e tyto karty si pot°ebnΘ programovacφ nap∞tφ generujφ samy na Φipu z napßjecφho nap∞tφ.

Mimo interface pro styk s vn∞jÜφm sv∞tem obsahuje procesorovß Φipovß karta mikroprocesor a pam∞ti. V souΦasnΘ dob∞ mß p°evß₧nß v∞tÜina Φipov²ch karet 8bitov² mikroprocesor s instrukΦnφ sadou kompatibilnφ bu∩ s jednoΦipov²mi mikroprocesory Intel, nebo Motorola. Pokud mß karta provßd∞t kryptografickΘ operace s ve°ejn²m klφΦem, kterΘ jsou znaΦn∞ v²poΦetn∞ nßroΦnΘ (nap°. pomocφ algoritm∙ RSA nebo DSS), je vybavena specißlnφm hardwarov²m koprocesorem pro operace modulßrnφ aritmeticky s velk²mi Φφsly. Pam∞¥ b²vß v ΦipovΘ kart∞ rozd∞lena na n∞kolik oblastφ, kterΘ jsou realizovßny r∙znou technologiφ. Karta obsahuje pam∞¥ RAM (Random Access Memory), kterß p°i vyjmutφ karty ze ΦteΦky ztrßcφ sv∙j obsah a slou₧φ pouze pro ulo₧enφ doΦasn²ch v²sledk∙ p°i v²poΦtech. Kapacita tΘto pam∞ti u v∞tÜiny karet nep°evyÜuje 512 bajt∙. DalÜφ oblast pam∞ti b²vß realizovßna pam∞tφ ROM (Read Only Memory), kterß je nep°episovatelnß a obsahuje operaΦnφ systΘm karty a n∞kdy takΘ samotnou aplikaci karty. Kapacita tΘto pam∞ti b²vß n∞kolik kilobajt∙, v²jimeΦn∞ i n∞kolik mßlo desφtek kilobajt∙. Poslednφ Φßst pam∞ti je provedena technologiφ EEPROM (Electrically Erasable Programmable Read Only Memory), kterß je elektricky programovatelnß a mazatelnß. Na rozdφl od pam∞ti RAM si vÜak pamatuje informace i po vyta₧enφ karty ze ΦteΦky a obsahuje vÜechny vitßlnφ informace aplikace. Kapacita tΘto pam∞ti do znaΦnΘ mφry ovliv≥uje pou₧itelnost karty a na zvyÜovßnφ kapacity tΘto pam∞ti b²vß kladen nejv∞tÜφ tlak. U b∞₧n²ch souΦasn²ch karet bohu₧el kapacita pam∞ti EEPROM obvykle nep°evyÜuje 8 KB.

Logickß struktura ΦipovΘ karty

Pam∞¥ EEPROM, kterß obsahuje data aplikace, je nejd∙le₧it∞jÜφ pam∞¥ovou oblastφ ΦipovΘ karty. Proto je strukturovßnφ t∞chto dat v∞novßna velkß pozornost. U d°φv∞jÜφch karet byl obsah pam∞ti EEPROM adresovßn b∞₧nou lineßrnφ adresou nebo byl v lepÜφm p°φpad∞ rozd∞len do z≤n. Tento p°φstup byl vÜak mßlo flexibilnφ a byl zßhy opuÜt∞n. V souΦasnosti je tato pam∞¥ u v∞tÜiny modernφch karet rozd∞lena na soubory. Tyto soubory mohou b²t organizovßny do stromovΘ struktury, podobn∞ jako soubory u operaΦnφho systΘmu MS-DOS nebo UNIX. Ko°enov² adresß° je naz²vßn u ΦipovΘ karty master file (MF), podadresß° je naz²vßn dedicated file (DF) a datov² soubor je v terminologii Φipov²ch karet elementary file (EF).

Podobn∞ jako u operaΦnφho systΘmu UNIX, je p°φstup k jednotliv²m soubor∙ chrßn∞n pomocφ p°φstupov²ch prßv. Tato p°φstupovß prßva jsou u₧ivateli p°id∞lena bu∩ na zßklad∞ toho, ₧e zadß sprßvn∞ n∞kterΘ z definovan²ch hesel (kterß jsou naz²vßna PIN -- Personal Identification Number nebo CHV -- Cardholder Verification Value), nebo na zßklad∞ ·sp∞ÜnΘho provedenφ n∞kterΘ kryptografickΘ operace.

Pro manipulaci se soubory ΦipovΘ karty slou₧φ sada p°φkaz∙, kterΘ jsou definovßny ve standardu ISO 7816. Tyto p°φkazy nepokr²vajφ vÜechny pot°ebnΘ Φinnosti a Φasto jsou jednotliv²mi v²robci rozÜi°ovßny o proprietßrnφ p°φkazy. Mezi nejd∙le₧it∞jÜφ p°φkazy ΦipovΘ karty pat°φ nap°φklad:

  • READ BINARY -- Φte data ze souboru,

  • WRITE BINARY -- zapisuje data do souboru,

  • ERASE BINARY -- ma₧e data v souboru,

  • SELECT FILE -- nastavuje "aktußlnφ soubor", kter² m∙₧e b²t implicitn∞ pou₧it v nßsledujφcφch p°φkazech,

  • VERIFY -- porovnßvß verifikaΦnφ data (typicky heslo nebo PIN), zaslanß ΦteΦkou kart∞ s hodnotou, ulo₧enou v kart∞,

  • INTERNAL AUTHENTICATE -- vypoΦφtß autentizaΦnφ odpov∞∩ z v²zvy, zaslanΘ ΦteΦkou a tajemstvφ (klφΦe), ulo₧enΘho v kart∞,

  • EXTERNAL AUTHENTICATE -- dostßvß jako vstup autentizaΦnφ odpov∞∩ a v p°φpad∞ jejφ sprßvnosti nastavφ podmφnkovΘ bity v kart∞.

Standardy pro ΦipovΘ karty

╚ipovΘ karty jsou p°edm∞tem znaΦnΘho standardizaΦnφho ·silφ. Vlastnosti Φipov²ch karet jsou pokryty p°edevÜφm n∞kolika nejd∙le₧it∞jÜφmi standardy, kterΘ vydala mezinßrodnφ standardizaΦnφ organizace ISO. Mezi nejd∙le₧it∞jÜφ standardy pat°φ:

  • ISO 7810 -- IdentifikaΦnφ karty -- FyzickΘ charakteristiky karet. Tento standard mimo jinΘ definuje vn∞jÜφ rozm∞ry karet.

  • ISO/IEC 7812 -- IdentifikaΦnφ karty -- Identifikace vydavatele.

  • ISO/IEC 7816 -- IdentifikaΦnφ karty -- Kontaktnφ karty s integrovan²mi obvody. Toto je nejd∙le₧it∞jÜφ standard pro procesorovΘ ΦipovΘ karty. Sklßdß se z n∞kolika Φßstφ. ╚ßsti 1--3 definujφ protokoly pro komunikaci karty s vn∞jÜφm sv∞tem. ╚ßstφ 4--6 definujφ podstatnΘ Φßsti operaΦnφho systΘmu procesorov²ch Φipov²ch karet. ╚ßsti 7 a 8 jsou rozÜφ°enφm Φßstφ 4 a 6 o n∞kterΘ specißlnφ vlastnosti.

  • ISO/IEC 10536 -- IdentifikaΦnφ karty -- Bezkontaktnφ karty s integrovan²mi obvody. Tento standard definuje protokol pro komunikaci bezkontaktnφch karet s okolφm.

  • ISO standard ISO 10202-1, jeho₧ nßzev je "BezpeΦnostnφ architektura finanΦnφch transakΦnφch systΘm∙ pou₧φvajφcφch ΦipovΘ karty", je u₧ mnohem specißln∞ji zam∞°en² a zab²vß se standardizacφ Φipov²ch karet pro aplikace, znßmΘ jako "elektronickß pen∞₧enka".

V²znamn²m poΦinem v oblasti elektronick²ch pen∞₧enek bylo vytvo°enφ standardu pro pou₧itφ Φipov²ch karet v elektronick²ch platebnφch systΘmech, na kterΘm se dohodla Europay, VISA a MasterCard v roce 1994. Tento standard mß nßzev Integrated Circuit Card Specifications for Payment Systems (n∞kdy se zkrßcen∞ naz²vß EMV podle poΦßteΦnφch pφsmen institucφ) a definuje podstatnΘ Φßsti systΘmu elektronickΘ pen∞₧enky.

Aplikace Φipov²ch karet

Aplikace Φipov²ch karet jsou velmi rozmanitΘ a je obtφ₧nΘ vyjmenovat vÜechny mo₧nΘ aplikace. Pokusφme se naznaΦit alespo≥ zßkladnφ oblasti nasazenφ Φipov²ch karet.

Telefonnφ karty jsou nejrozÜφ°en∞jÜφ a ka₧dΘmu znßmß aplikace Φipov²ch karet. V souΦasnosti jsou jako telefonnφ karty pou₧φvßny pam∞¥ovΘ karty se specißlnφ logikou, kterΘ neodpovφdajφ standard∙m ISO 7816. Vzhledem k nevyhovujφcφm bezpeΦnostnφm vlastnostem t∞chto Φipov²ch karet jsou vÜak v n∞kter²ch zemφch u₧ postupn∞ nahrazovßny modern∞jÜφmi kartami s kryptografick²m zabezpeΦenφm.

╚ipovß karta je takΘ d∙le₧itou souΦßstφ systΘmu digitßlnφch mobilnφch telefon∙ GSM, kde je naz²vßna SIM modul (zkratka SIM znamenß Subsriber Identity Module) a ve kterΘm hraje klφΦovou ·lohu v kryptografickΘm zabezpeΦenφ telefonnφho hovoru.

Zdravotnφ Φipovß karta slou₧φ jako identifikaΦnφ pr∙kaz (potencißlnφho) pacienta a nosiΦ informacφ o pacientovi.

╚ipovΘ karty jsou takΘ klφΦovou souΦßstφ mnoha systΘmu placenΘ televize, nap°. Üφ°enΘ kabelov²m rozvodem nebo satelitnφm vysφlßnφm a slou₧φ jako "hlφdaΦ", zda si divßk sledovan² kanßl nebo po°ad skuteΦn∞ zaplatil.

╚ipovΘ karty hrajφ takΘ d∙le₧itou ·lohu p°i zabezpeΦenφ p°φstupu k poΦφtaΦov²m systΘm∙m, kde provßd∞jφ kryptografickou autentizaci u₧ivatele a mohou slou₧it i pro zabezpeΦenφ samotnΘho p°enosu dat.

IdentifikaΦnφ Φipovß karta m∙₧e mφt spoustu podob nebo nßzv∙. Podle zp∙sobu pou₧itφ m∙₧e fungovat jako elektronick² slu₧ebnφ pr∙kaz, elektronick² obΦansk² pr∙kaz, elektronick² °idiΦsk² pr∙kaz, studentskß karta, pr∙kaz ke vstupu do budovy apod.

ElektronickΘ platebnφ systΘmy s Φipov²mi kartami (obvykle naz²vanΘ elektronickΘ pen∞₧enky) majφ slou₧it jako nßhrada hotovosti pro drobnΘ platby. Jejich funkce je na prvnφ pohled podobnß funkci magnetick²ch platebnφch karet, avÜak je zde n∞kolik v²znamn²ch rozdφl∙. Hlavnφ rozdφl spoΦφvß v tom, ₧e elektronickß pen∞₧enka v sob∞ obsahuje elektronickΘ penφze a je s nφ tedy mo₧no provßd∞t transakce i bez on-line spojenφ s bankou. DalÜφm v²znamn²m rozdφlem je zv²Üenß bezpeΦnost oproti systΘm∙m s magnetick²mi kartami. PIN zßkaznφka je ov∞°ovßn lokßln∞ Φipovou kartou a po urΦitΘm poΦtu pokus∙ o zadßnφ nesprßvnΘho PINu se karta zablokuje.

JednoduÜÜφ variantou elektronick²ch platebnφch karet jsou p°edplatnφ karty (nap°. parkovacφ karty) a v∞rnostnφ (anglicky loyalty) ΦipovΘ karty. Tyto karty neobsahujφ elektronickΘ penφze, ale tzv. ₧etony nebo body, kterΘ je mo₧no sm∞nit pouze za velmi omezen² okruh zbo₧φ nebo slu₧eb.

P°φÜt∞ se budeme podrobn∞ji v∞novat problematice bezpeΦnosti Φipov²ch karet.


| COMPUTERWORLD - serißl o bezpeΦnosti | COMPUTERWORLD | IDG CZ homepage |