PAMETNE (SMART) KARTICE
U
današnje vrijeme elektronski oblici plaćanja zamjenjuju zastarjele metode
plaćanja «face to face» kao i one temeljene na klasičnom novčanom prometu.
Zbog toga raste i potreba za sigurnošću i privatnošću. Sveukupnom globalizacijom
kroz Internet i širenjem korporacijskih
mreža koje uključuju pristup kako prodavačima tako i davateljima usluga
izvan okruženja zaštićenih firewall-a
potražnja za rješenjima temeljenim na javnim ključevima postaje sve hitnija.
1.1 Zašto pametne kartice ?
U infrastrukturama javnih ključeva ključna komponentu predstavljaju pametne
kartice. One poboljšavaju softverska rješenja kao što su npr. autentikacija
klijenta, logiranje i sigurnost elektronske
pošte (email-a). U suštini pametne kartice su tačka spajanja za certifikate
koji su temeljeni na javnim ključevima i njima pridodane ključeve.
Razlozi tome su što:
• Pametne kartice pružaju zaštićeno skladište za privatne ključeve i
druge oblike ličnih podataka
• Pružaju izolaciju sigurnosno kritičnim operacijama koje uključuju
autentikaciju, digitalne potpise i razmjenu ključeva iz drugih dijelova
sistema
• Pružaju prenosivost privatnih informacija između računara na poslu,
kod kuće ili na putu.
Pametne kartice postaju dio Microsftove Windows platforme.
Uz cijenu od oko 20 USD po čitaču i maksimalnom iznosu od 5 USD po kartici,
pametne kartice postaju jeftin način za pojačanje sigurnosti unutar firme.
Čak i u slučajevima kada se kartice primjenjuju isključivo zbog npr. sigurnije
autentikacije razloga u posao se unose sve druge prednosti koje pametne
kartice pružaju. Te usluge uključuju funkcije plaćanja, pohranu povjerljivih
informacija o korisniku (npr. medicinske informacije ili baze kontakata).
Pametne kartice sve ovo pružaju bez potrebe za izmjenom postojeće infrastrukture.
Pametna kartica se može prilagoditi svakom korisniku i dodatno programirati
sa više ključeva. Kartice mogu biti korištene za logiranje na PC ili na
jednu pa i više mreža kako bi izvele udaljeno logiranje korisnika. Pohranom
svih informacija o autentikaciji korisnika pametna kartica može postati
pristupna tačka za sve korisnikove račune na lokalnoj mreži, Internetu
ili unutar finansijskih institucija.
2 PROBLEM KOMPATIBILNOSTI
Nekompatibilnost aplikacija, kartica i čitača je glavni razlog sporom
usvajanju pametnih kartica izvan Europe. Stoga se više napora mora uložiti
na poboljšanje kompatibilnosti između proizvoda različitih proizvođača
što je preduslov za šire prihvaćanje tehnologije pametnih kartica od strane
potrošača.
2.1 ISO 7816, EMV, i GSM
Kako bi promovisali kompatibilnost među čitačima pametnih kartica, International
Standards Organization (ISO) je razvila ISO 7816 standard za kontaktne
kartice sa integrisanim krugovima. Ove specifikacije prvenstveno su orjentisane
na kompatibilnost na fizičkom, električkom i nivou protokola podataka.
Godine 1996. Europay, Mastercard i Visa odnosno EMV definisali su industrijski
specifičan stadard koji usvaja ISO 7816 i definiše dodatne tipove podataka
i pravila kodiranja za upotrebu u području finansijskih usluga.
Evropska telekomunikacijska industrija također usvaja ISO 7816 standard
preko standarda za Global System for Mobile Communications (GSM) pametne
kartice kako bi omogućili identifikaciju i autentikaciju za korisnike
mobilnih telefona.
Iako su sve tri specifikacije (ISO 7816, EMV, and GSM) bile korak u pravom
smjeru svaka od njih je bila ili preniskog nivoa ili prespecifična za
određenu primjenu da bi dobila široku podršku industrije.
Pitanja kompatibilnosti na aplikacijskom nivou, kao što su Application
Programing Interface-ovi (API) nezavisni o uređajima, alati za razvoj
i djeljenje resursa nisu bila dotaknuta ovim specifikacijama.
2.2 PC/SC Radna grupa
PC/SC (Personal Computer/Smart Card) radna grupa je formirana 1996 u partnerstvu
sa velikim proizvođačima računarske opreme i firmama koje su razvijale
pametne kartice: Group Bull, Hewlett-Packard, Microsoft, Schlumberger
i Siemens Nixdorf. Osnovni cilj grupe je bio razrješiti pitanja kompatibilnosti.
Godine 1997. Radna grupa je objavila prvu verziju specifikacija http://www.smartcardsys.com/
PC/SC specifikacije bazirane su na ISO 7816 standardu i kompatibilne su
sa EMV i GSM specifikacijama. Postoji široka industrijska podrška ovim
specifikacijama kako bi postale nezavisni standard. Od osnivanja i objave
početnih specifikacija tom nastojanju pridružili su se i drugi proizvođači
kao što su Gemplus, IBM, Sun Microsystems, Toshiba i Verifone.
2.3 Windows-komaptibilni Logo Program
Svi čitači moraju biti podložni PC97 ili PC98 zahtjevima za dizajn hardware-a
i Microsoftovoj implementaciji PC/SC Workgroup 1.0 specifikacija. Također
postoji Windows-kompatibilni logo program za pametne kartice koji vodi
Windows Hardware Quality Lab (WHQL) kao što slični programi postoje i
za druge tipove uređaja.
Test kit za pametne kartice se može skinuti sa WHQL Web site-a http://www.microsoft.com/hwtest/.
Čitači pametnih kartica moraju zadovoljiti zahtjeve Windows platforme
uključujući «Plug and Play» i zahtjeve za Power Managementom kako bi se
kvalifikovali za Windows-kompatibilni logotip.
3 KONCEPT PAMETNIH KARTICA NA WINDOWS PLATFORMI
Microsoft Windows platforma operativnih sistema implementirala je pametne
kartice i prema tvrdnjama Microsofta upravo je ta platforma najisplativija
za razvoj rješenja koja se temelje na pametnim karticama. Zahtjevi za
pametnim karticama su uključeni u PC98 i NetPC specifikacije, a biti će
podržani u svim budućim izdanjima Microsoft Windows operativnih sistema.
Microsoft je objavio svoju implementaciju PC/SC 1.0 specifikacija za Windows
NT 4.0, Windows 95 i Windows 98 operativne sisteme, dok svi operativni
sistemi nakon navedenih tu podršku imaju ugrađenu (Windows 2000, Windows
XP, Windows CE).
Međutim Windows 2000 i Windows XP integrišu Smart Card Base Components
u samom operativnom sistemu kako bi podržale infrastrukturu javnih ključeva
i usluge koje pruža.
3.1 Davaoci usluga (Service Providers)
Sve pametne kartice moraju imati barem jednog «Service Providera» ili
pružatelja usluge za pristup uslugama za pametne kartice. Može postojati
više pružatelja usluga, ovisno o tipu kartice i izdavaču kartice. Općenito
postoje dva tipa pružatelja usluga (Service Provider): kriptografski i
nekriptografski. Ovo razlikovanje je važno zbog ograničenja na izvoz kriptografske
tehnologije koje je uvela vlada SAD-a.
3.1.1 Kriptografski davaoci usluga (Cryptographic Service Providers)
CSP-ovi mogu biti isključivo softverski kao što je Microsoft Base Provider
CSP koji dolazi standardno na Windows platformi ili mogu biti dio hardverskog
rješenja gdje je kriptografski engine implementiran na samoj kartici (ili
nekom drugom uređaju) koja se priključuje na računar. CSP koji služi pametnim
karticama zovemo Smart Card Cryptographic Provider (SCCP) ili Kriptografski
pružatelj usluga za pametne kartice kako bi ga razlikovali od općenitijih
CSP-ova. Kako SCCP-ovi tako i CSP-ovi
nude kriptografske usluge kao što je generator slučajnih brojeva, generiranje
ključeva, digitalni potpis, razmjena ključeva i enkripcija a sve to kroz
Crypto API.
3.1.2 Davaoci usluga za pametne kartice (Smart Card Service Providers)
Smart Card Service Providers (SCSP) nude nekriptografske usluge pametne
kartice aplikaciji kroz sučelja. Sučelje pametne kartice sastoji se od
predefinisanog skupa usluga, protokola potrebnih za pozivanje usluga i
ostalih usluga koje pretpostavljaju korištenje određene specifične funkcije.
Pametna kartica može se registrovati da podržava određeno sučelje povezivanjem
sa (GUID) globally unique identifier-om toga sučelja. Ovo vezivanje kartice
i sučelja provodi se prvi put kada se kartica priključi na računar. Jednom
kad je kartica uvedena u sistem, aplikacije mogu tražiti pametne kartice
temeljem specifičnog sučelja ili GUID-a. Npr. kartica za novčano poslovanje
(cash card) bi se prijavila aplikacijama registrujući svoje sučelje za
pristup novčaniku.
Unutar Smart Card Base Components 1.0 paketa Microsoft je objavio nekoliko
osnovnih pružatelja usluga za izvođenje generičkih operacija (lociranje
kartica, «command» and «reply» APDU-Application Protocol Data Unit, management
i pristup fajliranom sistemu kartica). Ti su pružatelji usluga implementirani
kao objekti COM sučelja koji omogućuju programerima i proizvođačima kartica
da razviju pružatelje usluga višeg nivoa i aplikacije koje ih koriste.
3.2 Kartice
Termin pametna kartica se koristi za opisivanje tipa uređaja veličine
kreditne kartice različitih mogućnosti: kartice za pohranu vrijednosti,
bezkontaktne kartice i kartice sa integrisanim krugovima ili «Integrated
Circuit Cards» (ICC). Sve ove kartice se razlikuju u funlcionalnosti jedna
od druge i od poznatijih kartica sa magnetnom trakom. IT industriji su
najinteresantnije ICC kartice obzirom da one mogu izvoditi sofisticirae
operacije uključujući potpisivanje i izmjenu ključeva.
Kako bi radila pod Windows implementacijom PC/SC 1.0 specifikacija, pametna
kartica mora zadovoljavati fizički i elektronski ISO 7816-1, 7816-2 i
7816-3 standarde.
Pametna kartica mora biti uvedena u sistem preko instalacijskog programa
od proizvođača kartice obzirom da ne postoji «Plug and Play» model za
pametne kartice.
Ne postoji standard za enkodiranje jedinstvenog identifikatora unutar
ATR-(«Answer-to-Reset») stringa koji se koristi da bi jedinstveno identifikovao
kartice istog tipa. Instalacijski softver za pametne kartice instalira
pridruženog pružatelja usluga koji svoje sučelje registruje u «Resource
Manageru» (Upravitelj Resursa) koji onda vezuje karticu na registirovano
sučelje omogučujući ostalim aplikacijama pristup do usluga na kartici
preko podržanog sučelja. Kartica se isto tako može povezati na prethodno
registrovana sučelja postojećeg pružetelja usluga.
3.3 Upravitelj Resursa (Resource Manager)
«Resource Manager» pokrenut je kao «trusted service» odnosno povjerljiva
usluga u jednom procesu. Svi zahtjevi za pristup pametnoj kartici idu
kroz Resource Manager i bivaju usmjereni do čitača kartica. «Resource
Manager» je odgovoran za upravljanje i kontrolu pristupa svih aplikacija
bilo kojoj pametnoj kartici u bilo kojem čitaču povezanom na računar.
«Resource Manager» pruža neku vrstu virtualne direktne veze do pametne
kartice. «Resource Manager» izvodi tri osnovna zadatka u upravljanju pristupom
višestrukim čitačima i karticama. Prvo on identifikuje i prati resurse.
Drugo on kontroliše alokaciju čitača i resursa kroz više aplikacija. Konačno,
on podržava elementarne transakcije (transaction primitive) za pristup
uslugama raspoloživim na pojedinoj kartici. Ovo je bitno jer su za sada
modeli pametnih kartica jednonitni, a često za dovršenje jedne funkcije
je potrebno izvršavanje više operacija. Kontrola transakcija tako omogućuje
višestrukim komandama da budu izvršene bez prekida, osiguravajući tako
da informacije u međustanju nisu pokvarene odnosno promjenjene.
3.4 Upravljački programi za uređaje (Device Drivers)
Upravljački program za specifični čitač mapira funkcionalnost čitača na
ugrađene usluge koje pruža Windows platforma i infrastruktura pametne
kartice. Upravljački program za čitač javlja o umetanju i vađenju kartice
upravitelju resursa («Resource Manager») i pruža mogućnost komunikacije
sa karticom preko T=0 ili T=1 protokola.
Zajednička biblioteka upravljačkih programa (Common Driver Library) je
uključena u «Smart Card Base Components 1.0» kako bi se programerima olakšao
razvoj upravljačkih programa. Ova biblioteka podržava ISO 7816 i zajednički
sistem funkcija koje ostvaruju komunikaciju između pametne kartice i čitača.
Ovo je značajno jer daje standardno sučelje za razvoj upravljačkih programa.
Ovo sučelje omogućava da upravljački program čitača bude razvijen na jedinstven
način i dostupan svim Windows aplikacijama nasuprot prijašnjem pristupu
samo specifičnih aplikacija koje znaju komunicirati sa čitačem.
3.4.1 Kitovi za razvoj upravljačkih programa (Device Driver Kits)
Tip upravljačkog programa (npr. vxd ili .sys) ovisi o ciljnoj Windows
platformi. Korištenjem standardnog kita za razvoj upravljačkih programa
«Device Driver Kit» (DDK) za ciljnu platformu nezavisni proizvođač može
razviti upravljački program za svoj čitač jednako kao i za bilo koji drugi
uređaj. Za svaku Windows platformu postoje odvojeni kitovi za razvoj upravljačkih
programa za pametne kartice. Oni se mogu nači na MSDN CD-ovima ili DVD-ovima
no ne mogu biti skinuti sa Microsoftovog weba.
Modeli za upravljačke programe za RS-232, PS/2 i PC Card čitače se mjenjaju
prema ciljnoj Windows platformi i tipu sabirnice.
3.5 Čitači (Readers)
Čitači pametnih kartica spajaju se na standardna sučelja kao što su RS-232,
PS/2, PCMCIA i «Universal Serial Bus» (USB). Čitači se smatraju standardnim
Windows uređajima i posjeduju sigurnosni opisnik (security descriptor)
i «Plug and Play» identifikator. Njima se upravlja kroz standardne Windows
upravljačke programe koji se unose kroz «Hardware Wizard» koji je standardni
dio Windows platformi.
4 POBOLJŠANA RJEŠENJA
Poboljšavanjem softverskih rješenja kao što su autentikacija klijenata
i sigurna razmjena poruka, pametne kartice nude niz novih rješenja ciljanih
ka novoj globalnoj digitalnoj ekonomiji. Ovdje navodim po meni tri karakteristična
primjera takvih primjena.
4.1 Autentikacija klijenta
Autentikacija klijenta uključuje identifikaciju i verifikaciju klijenta
prema poslužitelju tj. serveru kako bi se uspostavio sigurni komunikacijski
kanal. Sigurnosni protokoli kao «Secure Sockets Layer» (SSL) ili «Transport
Layer Security» (TLS), tipično se koriste u kombinaciji sa vjerodostojnim
pružateljem certifikata javnih ključeva (Public-key Certificate Provider)
koji identifikuje klijenta serveru. Sigurna veza se uspostavlja korištenjem
autentikacije javnim ključem (Public-key authentication), izmjenom ključeva
kako bi se dobio jedinstveni ključ za uspostavu te veze.
Dodatna autentikacija se može postići mapiranjem certifikata na korisnika
ili korisničku grupu sa prethodno uspostavljenim privilegijama pristupa.
Pametna kartica poboljšava autentikaciju javnog ključa kao sigurno mjesto
za pohranu privatnih ključeva i kriptografskog enginea za provedbu operacija
digitalnog potpisa ili razmjene ključeva. Microsoft je postavio server
za provjeru certifikata koji je preko Interneta radi testiranja i demonstracije
dostupan na adresi http://sectest.microsoft.com/.
4.2 Interaktivna autentikacija mehanizmom javnih ključeva
U prošlosti interaktivna autentikacija je značila mogućnost da korisnik
mreži potvrdi autentičnost koristeći oblik dijeljenih vjerodajnica (shared
credential). Windows 2000 podržava interaktivnu autentikaciju korištenjem
mehanizma javnih ključeva, korištenjem «X.509 version 3» certifikata pohranjenog
na pametnoj kartici zajedno sa privatnim ključem. Korisnik unosi osobni
identifikacijski broj ili «Personal Identification Number» (PIN) u «Graphical
Identification and Authentication» (GINA) sučelju.
PIN je jednostavno sredstvo kojim korisnik potvrđuje autentičnost samoj
pametnoj kartici. Korisnikov certifikat javnog ključa (Public-key certificate)
prenosi se sa kartice sigurnom vezom i verifikuje se da li je važeći te
da li dolazi od izdavača (issuer) kojem sistem vjeruje.
Tokom procesa autentikacije, temeljem javnog ključa koji je sadržan u
certifikatu, izdaje se izazov pametnoj kartici kako bi se verifikovalo
da li je kartica stvarno u posjedu odgovarajućeg privatnog ključa. Nakon
uspješne verifikacije javnog i privatnog ključa identitet korisnika sadržan
u certifikatu koristi se za pristup korisničkom objektu pohranjenom u
«Active Directory» direktoriju za izdavanje «tokena» i predaju «Ticket-Granting
Ticket» (TGT) klijentu. Mehanizam autentikacije temeljem javnog ključa
(Public-key logon) je integrisan sa Microsoftovom implementacijom Kerberos
protokola «Version 5.» koji je kompatibilan sa IETF nacrtom RFC-1510.
4.3 Siguran e-mail
Siguran e-mail je jedna od važnijih primjena autentikacije javnim ključem
budući da omogućuje razmjenu osjetljivih informacija među korisnicima
uz garanciju integriteta informacije tokom prijenosa. Objavom korisničkog
certifikata u javnom direktoriju unutar firme ili Interneta drugi korisnici
unutar firme ili čitavog Interneta mogu slati kriptovane poruke korisniku.
Pametna kartica dodaje novi nivo integriteta sigurnim e-mail aplikacijama
budući da pohranjuje privatni ključ na karticu zaštićenu PIN-om. Da bi
se kompromitovao privatni ključ i poslala potpisana poruka pod tuđim identitetom,
neko bi morao pribaviti korisnikovu pametnu karticu i PIN.
U skoroj budućnosti PIN bi se mogao zamjeniti biometrijskim otiskom prsta
ili snimkom oka, pojačavajući time dodatno proces autentikacije.
5 PRIMJER SISTEMA TEMELJENOG NA TEHNOLOGIJI PAMETNIH KARTICA
5.1 Arhitektura
Za prikaz korištenja rješenja temeljenog na pametnim karticama uzeo sam
već dostupan primjer sa Microsoftovih stranica. Radi se o «online» sistemu
naručivanja koji se temelji na aplikaciji na pametnoj kartici, klijent
dijelu aplikacije i serverskom dijelu aplikacije. Aplikacija ima Web sučelje
i obrađuje se na strani servera (Server-Side Request Processing).
HBT kontrola se pokreće Visual Basic skriptom pokrenutom sa strane klijenta
(client-side) prilikom pristupa Web site-u.Ovu kontrolu mogu koristiti
i druge klijentske aplikacije.
5.2 Rad sistema
Na web site-u korisnik može kupiti proizvod i izvršiti transakciju preko
pametne kartice. Kada transakcija započne aplikacija na strani klijenta
generira slučajni broj vezan uz tu transakciju (transaction ID) koji je
pohranjen na pametnoj kartici. Taj broj se prenosi zajedno sa ostalim
informacijama poslužitelju koji tada obrađuje zahtjev. Serverski dio aplikacije
analizira kriptovanu informaciju od strane klijenta. Ukoliko server prihvati
zahtjev, on kriptira informaciju zajedno sa brojem transakcije i njezinim
rezultatom i vraća ga klijentu.
Aplikacija na klijentu ostvarena preko «ActiveX kontrole», dekriptira
poruku korištenjem «Data Encryption Standard» (DES) protokola sa pametne
kartice. Dekriptirana informacija se tada koristi za manipulaciju iznosom
koji je pohranjen na kartici. Kada god se poziva metoda koja mjenja iznos
na pametnoj kartici broj transakcije (transaction ID) se resetuje. To
spriječava korisnika da koristi kriptovanu poruku više puta (npr. kako
bi više puta dodao određeni iznos na karticu). Korisnik vrši autentikaciju
kartici korištenjem PIN-a, a pametna kartica i server koriste isti DES
ključ kako bi kriptirali i dekriptirali podatke.
5.3 Zahtjevi
Sistemski zahtjevi prema klijentu su:
• Microsoft Windows 2000 Professional (Service Pack 1. ili viši)
• Microsoft Visual Basic 6.0 (Service Pack 5. ili viši)
• Windows Smart Card Toolkit 1.1 (Service Pack 1)
• Hay Buv ActiveX kontrola (HayBuvControl.ocx)
• Čitač pametnih kartica
• Pametna kartica kompatibilna sa Windows for Smart Cards sistemom
Zahtjevi sistema prema serveru su:
• Windows 2000 Server (Service Pack 1 ili viši)
• Internet Information Services (IIS) 5.0
• Visual Basic 6.0 (Service Pack 5 ili viši)
• Windows Smart Card Toolkit 1.1 (Service Pack 1 ili viši)
• Hay Buv server komponenta (HayBuvServer.dll)
5.4 Prikaz rada sa sistemom
Sljedeći postupak prikazuje iskustvo rada sa sistemom od strane korisnika
koji kupuje na Web Siteu «Hay Buv Toys»:
1. Pokretanje Internet Explorera i odlazak na web stranicu:
«Get balance» jedina je opcija koja se može obraditi na strani klijenta.
Sve druge akcije zahtijevaju potvrdu od strane servera.
2. Klikom na Connect vrši se spajanje na čitač pametne kartice
Zbog sigurnosnih razloga zahtjeva se autentikacija. U ovom slučaju definisane
su dvije grupe
• Admin. Članovi sa punim pristupom koji mogu mijenjati ključeve i aplikaciju
• User. Članovi sa ograničenim pristupom
U ovom primjeru poznata su samo dva korisnika ili principa «Known Principals»
(KP), svaki sa 6cifrenim pinom:
• admin (PIN: 123456).
• user (PIN: 123456).
Ova podešavanja su dio Windows Smart Card Toolkit i pohranjena su u: \CompiledDiskImage\fsimage.txt
3. U «Login» dijalogu unosi se korisničko ime u PIN
4. Nakon autentikacije transakcija može početi. Odabere se akcija
i iznos, te klikne na «Execute».
Nakon toga pojavljuje se prozor sa potvrdom onoga što je server primio.
Šifrovani tekst prikazuje serverov odgovor koji skriva broj transakcije,
iznos, akciju i odgovor prihvaća li se transakcija. Nakon klika na «Confirm»
iznos se obrađuje na kartici i rezultat se šalje serveru kako bi se završila
transakcija.
6 RAZVOJ APLIKACIJA
6.1 Microsoftov pristup
Microsoftov pristup se sastoji od slijedećih elemenata:
• Standardni model za sučelje između čitača pametnih kartica i računara
• API-ji nezavisni o uređajima
• Upotreba već poznatih alata za razvoj (Visual Basic, Visual C++ ...)
• Integracija sa svim Windows platformama
Standardni model sučelja između čitača pametnih kartica i računara omogućava
kompatibilnost među karticama i čitačima različitih proizvođača.
API-ji nezavisni o uređajima štite programere od razlika između sadašnjih
i budućih implementacija, te smanjuju cijenu razvoja aplikacija izbjegavajući
zastarjevanje aplikacija uslijed promjena u hardware-u.
6.2 SDK
SDK (Software Development Kit) za pametne kartice je integrisan u Microsoft
Platforma SDK kao dio osnovnih uluga «Windows Base Services». Platforma
SDK sadrži osnovne alate i API-je potrebne za razvoj rješenja temeljenih
na pametnim karticama. Platforma SDK se može nabaviti preko «Microsoft
Developer Network» (MSDN) ili na adresi http://msdn.microsoft.com/developer/sdk.
Sam «Smartcard Toolkit» je veličine oko 30 Mb.
Dodatno je moguć pristup na grupu za diskusiju SmartCardSDK@DISCUSS.MICROSOFT.COM
koja je uspostavljena kako bi programeri mogli postavljati pitanja Microsoftu,
ali i drugim korisnicima Smart Card API-ja.
6.3 API
Sa stajališta programera postoje tri mehanizma pristupa uslugama koje
podržava pametna kartica: CryptoAPI, Win32 API i SCard COM. Odabrani mehanizam
ovisi o tipu aplikacije i mogućnostima same kartice.
6.3.1 CryptoAPI
CryptoAPI je kriptografski API za pisanje «Cryptographic Service Provider»
(CSP) a u stvari to su entiteti koji pružaju kriptografske usluge aplikacijama.
Crypto API zahtjeva zaseban «development kit» skup razvojnih alata koji
je moguće, uz određena ograničenja, dobiti od Microsoft sa stranica http://www.microsoft.com/security/.
CSP skup razvojnih alata je zaštićen izvoznim zakonima koji se odnose
na visoku tehnologiju i zahtjeva se ispunjavanje upitnika kako bi se procijenilo
da li imate pravo na download spomenutog kita. Prednosti korištenja Crypto
APIja su značajne jer programer može iskoristiti prednosti kriptografskih
mehanizama integriranih u Windows platformi bez samog poznavanja kriptografskih
metoda ili rada pojedinog kriptografskog algoritma.
Tako bi npr. pravilno programirana pametna kartica koristila postojeći
CSP (npr. Microsoft Base Provider) za provođenje svih operacija za rad
sa javnim i simetričnim ključevima te bi koristila pametnu karticu za
izvođenje svih operacija sa privatnim ključevima.
6.3.2 SCard COM
SCARD COM je implementacija nekriptografskog sučelja koju je Microsoft
namjenio za pristup generičkim uslugama temeljenim na pametnoj kartici
i razvijenim u različitim jezicima C, Microsoft Visual C++, Java i Microsoft
Visual Basic.
SCARD COM se sastoji od seta osnovnih objekata COM sučelja koje je moguće
koristiti za izradu bogatijih sučelja za korištenje u Windows aplikacijama.
Općenito programer ne mora poznavati detalje funkcija određene pametne
kartice kako bi pristupio njenim uslugama kroz COM sučelje. Ovakva apstrakcija
ubrzava razvoj aplikacija za Windows platformu te štiti aplikaciju od
zastarjevanja promjenama u dizajnu kartice.
6.3.3 Win32
Da bi se efektivno koristilo Win 32 API-ji koji su temeljni API-ji za
pristup pametnim karticama potrebno je dublje i temeljnije razumijevanje
operativnog sistema Windowsa i samih mehanizama pametne kartice.
API-ji također pružaju i najveću fleksibilnost aplikaciji za kontrolu
čitača, kartica i ostalih komponenata. Za programera koji treba maksimalnu
kontrolu nad aplikacijom i njenom upotrebom pametne kartice ovo je idealno
rješenje.
Studia» tj. uključuju ne samo konfiguraciju postavki pametne kartice,
njezinog fajliranog sistema, već i samih aplikacija za pametnu karticu.
ZAKLJUČAK
Ovim seminarskim radom uspio sam obuhvatiti samo mali dio područja primjene
pametnih kartica. Nisam ulazio u detaljne opise same arhitekture pametnih
kartica. Takođe nisam spomenuo uvođenje (deployment) pametnih kartica
u firme, te postupke koji tome trebaju prethoditi. Osobito se to odnosi
na potrebu izrade infrastrukture javnih ključeva koja sama po sebi predstavlja
novu temu. Dobra referenca za navedene postupke je Microsoftov web site
The Smart Card deployment cookbook .
LITERATURA:
Dio materijala i SDK preuzeti su sa MSDN DVD-ova.
Microsoftov platform SDK http://msdn.microsoft.com/developer/sdk
The Smart Card deployment cookbook http://www.microsoft.com/technet/treeview/default.asp?url=/technet/security/smrtcard/smartc00.asp
Smart Card SDK Documentation http://msdn.microsoft.com/library/default.asp?url=/library/en-us/security/smartfun_1jj9.asp
Smart Card Technology http://www.microsoft.com/HWDEV/TECH/input/smartcard/default.asp
Security Services http://www.microsoft.com/windows2000/technologies/security/default.asp
Microsoft Test Certificate Server http://sectest.microsoft.com/
Microsoft CryptoAPI and other public-key technologies http://www.microsoft.com/workshop/prog/security/capi/cryptfaq
Microsoft Zero Administration Initiative for Windows: http://www.microsoft.com/windows/platform/info/zawmb.html
NetPC http://www.microsoft.com/windows/netpc/default.html
PC98 Design Guide http://www.microsoft.com/hwdev/
Microsoft http://www.microsoft.com/
Schlumberger http://www.slb.com/
Sun Microsystems http://www.sun.com/
PROCITAJ
/ PREUZMI I DRUGE SEMINARSKE RADOVE IZ OBLASTI:
|
|
seminarski
rad u wordu » » »
Besplatni
Seminarski Radovi
|