Vodič za komande pametnih kartica prema ISO 7816-4

August 18, 2024 1072 pregleda

Preuzmite  MODBUS referentni vodič za protokol



Ova slika prikazuje ISO 7816-4 vodič za komande pametnih kartica za beskontaktno skeniranje za primene u oblasti standarda & i protokola.



ISO 7816-4 vodič za komande pametnih kartica

Pregled ISO 7816-4

ISO 7816-4 je osnovni standard za pametne kartice koji definiše međuindustrijske komande koje se koriste nakon što kartica i terminal uspostave komunikaciju. Dok drugi delovi familije ISO 7816 opisuju fizičke karakteristike, kontakte, električne signale i pravila prenosa, ISO 7816-4 se fokusira na aplikacioni sloj: kako terminal bira aplikacije, adresira datoteke, razmenjuje podatke, verifikuje prava pristupa i tumači odgovore kartice. U praktičnom smislu, on daje sistemima pametnih kartica zajednički jezik komandi, tako da kartice, terminali, alati za personalizaciju, bezbednosni moduli i aplikacioni softver mogu da rade zajedno sa predvidivim ponašanjem.

Standard je posebno važan za bankarske kartice, identifikacione kartice, pristupne akreditive za siguran pristup, transportne kartice, zdravstvene kartice, SIM okruženja i mnoge druge proizvode gde kartica sa integrisanim kolom mora bezbedno da čuva podatke i odgovara na kontrolisane komande. Za proizvođače i programere projekata, ISO 7816-4 nije vizuelna specifikacija proizvoda. To je referentni vodič za protokol koji pomaže da se definiše kako operativni sistem kartice, aplet, firmver čitača i host softver treba da organizuju razmenu aplikacionih podataka.

Kako ISO 7816-4 strukturira komunikaciju pametnih kartica

Komunikacija ISO 7816-4 je izgrađena oko APDU, odnosno Application Protocol Data Units (jedinica aplikacionih protokolskih podataka). Komandna APDU se šalje sa terminala na karticu, a odgovorna APDU se vraća sa kartice na terminal. Komandna APDU obično sadrži bajt klase, bajt instrukcije, bajtove parametara, opcione komandne podatke i očekivanu dužinu odgovora. Odgovorna APDU može da sadrži vraćene podatke i završava se sa dva statusna bajta, poznata kao SW1 i SW2, koji terminalu govore da li je komanda uspela, nije uspela, zahteva dodatnu radnju ili je proizvela određeno upozorenje.

Ova struktura odvaja detalje prenosa od aplikacione logike. Čitač može da obrađuje fizičku vezu, dok aplikacioni sloj koristi komande kao što su SELECT, READ BINARY, UPDATE BINARY, READ RECORD, VERIFY, INTERNAL AUTHENTICATE, GET DATA i PUT DATA. Tačan skup komandi zavisi od operativnog sistema kartice i profila aplikacije, ali standard pruža zajedničku gramatiku za implementaciju.

Datoteke, aplikacije i objekti podataka

Jedna od ključnih ideja u ISO 7816-4 je da kartica može da organizuje informacije u logičkom sistemu datoteka. Glavna datoteka, namenske datoteke, elementarne datoteke, zapisi i objekti podataka mogu se koristiti za čuvanje aplikacionih informacija. Neki sistemi koriste model orijentisan na datoteke, dok drugi koriste model orijentisan na aplikacije gde se identifikator aplikacije bira pre izvršavanja komandi. Komanda SELECT je stoga centralna za standard jer govori kartici koji kontekst datoteke ili aplikacije terminal želi da koristi.

Standard takođe opisuje kako se objekti podataka mogu kodirati i referencirati. To je važno kada aplikacije treba da razmenjuju strukturirane informacije, a ne jednostavne blokove bajtova. U bezbednim kartičnim projektima, sposobnost doslednog organizovanja podataka utiče na personalizaciju, upravljanje životnim ciklusom, testiranje interoperabilnosti i dugoročno održavanje. Kartica koja podržava koncepte ISO 7816-4 može biti lakša za integraciju u sisteme sa više dobavljača, pod uslovom da je izabrani profil aplikacije takođe jasno definisan.

Koncepti bezbednosti i kontrole pristupa

ISO 7816-4 uključuje komande i koncepte koji se odnose na bezbednosni status, autentifikaciju, verifikaciju i uslove pristupa. Komanda VERIFY se obično povezuje sa proverom PIN-a ili referentnih podataka, dok se komande autentifikacije mogu koristiti u sistemima koji zahtevaju kriptografski dokaz pre nego što osetljive datoteke ili funkcije postanu dostupne. Standard ne nameće jednu univerzalnu bezbednosnu politiku za svaku karticu. Umesto toga, on pruža strukture komandi i ponašanje odgovora koje operativni sistemi kartica mogu da koriste za implementaciju kontrole pristupa specifične za projekat.

Ovaj pristup je koristan jer različite industrije imaju različite modele rizika. Hotelski akreditiv, državna identifikaciona karta, platna aplikacija i industrijski bezbednosni token mogu svi da zahtevaju različite nivoe zaštite. ISO 7816-4 im daje standardizovani okvir komunikacije, dok se algoritmi, pravila upravljanja ključevima, politike izdavaoca i bezbednosni zahtevi specifični za aplikaciju obično definišu odvojeno.

Zašto je ISO 7816-4 važan za proizvode i uređaje sa karticama

Za izbor proizvoda, ISO 7816-4 je blisko povezan sa kontaktnim IC karticama, jer ove kartice često treba da podržavaju strukturiranu razmenu komandi i odgovora, a ne samo jednostavno čitanje memorije. Standard je takođe važan kada kupac bira bezbedne identifikacione medije, akreditive za članstvo, transportne karte ili prilagođene plastične karte sa ugrađenim čipovima. Fizičko kućište kartice može izgledati jednostavno, ali protokol čipa, struktura datoteka i podrška komandi određuju da li kartica može da radi sa ciljnim sistemom.

ISO 7816-4 je jednako relevantan za opremu na strani terminala. Programeri koji grade ili nabavljaju čitače kartica treba da razumeju kako se APDU komande prenose između host softvera i kartice. Čak i kada čitač ispravno prati standarde interfejsa nižeg nivoa, uspeh aplikacije zavisi od toga da li softver može da izabere ispravnu aplikaciju, pošalje ispravan niz komandi, obradi statusne reči i upravlja izuzecima. Zato je znanje o ISO 7816-4 korisno ne samo za proizvođače kartica, već i za integratore, softverske inženjere, dobavljače uređaja i timove za kontrolu kvaliteta.

Napomene za implementaciju u realnim projektima

U realnom projektu, ISO 7816-4 treba tretirati kao osnovu, a ne kao kompletan priručnik za projekat. Kupci i inženjeri ipak treba da potvrde tačan model čipa, veličinu memorije, operativni sistem, podržani skup komandi, identifikatore aplikacija, uslove pristupa, mapiranje podataka, metod personalizacije i zahteve kompatibilnosti. Dve kartice mogu obe biti povezane sa ISO 7816-4, ali ne moraju da se ponašaju identično ako koriste različite čipove, različite profile aplikacija ili različite bezbednosne konfiguracije.

Testiranje treba da uključi normalne tokove komandi, rukovanje neispravnim parametrima, tumačenje statusnih reči, promene bezbednosnog stanja, ponašanje pri izboru datoteka i kompatibilnost čitača. Za proizvodne narudžbine, uskladite zahteve kartice, čitača i softvera pre masovne proizvodnje. Jasna APDU dokumentacija, uzorak kartica i definisan tok personalizacije mogu da smanje rizik integracije.

Često postavljana pitanja o ISO 7816-4

Šta definiše ISO 7816-4?

ISO 7816-4 definiše međuindustrijske komande pametnih kartica, strukture odgovora, koncepte organizacije datoteka, ponašanje komandi povezanih sa bezbednošću i razmenu podataka zasnovanu na APDU. On uglavnom ne opisuje plastično kućište ili dimenzije kontakata kartice. Njegova glavna vrednost je na aplikacionom sloju, gde terminali i kartice treba da imaju zajednički metod za izbor datoteka, razmenu podataka i tumačenje rezultata.

Da li se ISO 7816-4 koristi samo za kontaktne pametne kartice?

ISO 7816-4 je razvijen u okviru familije kontaktnih kartica sa integrisanim kolom ISO 7816, tako da je snažno povezan sa kontaktnim pametnim karticama. Međutim, APDU koncepti se takođe koriste u mnogim širećim okruženjima pametnih kartica. U praksi, inženjeri često razmatraju ISO 7816-4 kada im je potrebna kompatibilnost na nivou komandi između bezbednosnih čipova, uređaja čitača i host aplikacija.

Šta je APDU u ISO 7816-4?

APDU je Application Protocol Data Unit (jedinica aplikacionih protokolskih podataka). Terminal šalje komandnu APDU da zatraži operaciju, a kartica vraća odgovornu APDU sa podacima i statusnim rečima. Ova struktura omogućava softveru da izvršava radnje kao što su izbor aplikacije, čitanje podataka, ažuriranje zapisa, verifikacija PIN-a ili zahtev za autentifikaciju u predvidivom formatu.

Da li ISO 7816-4 definiše veličinu memorije čipa?

Ne. ISO 7816-4 ne definiše jednu fiksnu veličinu memorije za sve pametne kartice. Kapacitet memorije zavisi od modela čipa i operativnog sistema kartice. Standard objašnjava kako se može pristupiti datotekama, zapisima i objektima podataka, ali stvarni EEPROM, Flash, RAM, bezbednosne karakteristike i dostupan prostor za aplikacije moraju se potvrditi iz tehničkog lista čipa ili specifikacije dobavljača.

Zašto su statusne reči važne?

Statusne reči su od suštinske važnosti jer terminalu govore kako je kartica obradila komandu. Uspešan odgovor, upozorenje, pogrešna dužina, nepodržana instrukcija, bezbednosna greška ili nedostajuća datoteka mogu se svi naznačiti preko SW1 i SW2. Ispravno rukovanje statusnim rečima pomaže softveru da dijagnostikuje probleme, nastavi višestepene operacije i izbegne tretiranje neuspešnih komandi kao uspešnih transakcija.

Može li ISO 7816-4 sam po sebi da garantuje interoperabilnost?

Ne potpuno. ISO 7816-4 pruža standardizovani okvir komandi, ali stvarna interoperabilnost takođe zavisi od tipa čipa, operativnog sistema, identifikatora aplikacija, bezbednosnih pravila, podataka za personalizaciju i softvera čitača. Projekat stoga treba da definiše tačan profil kartice, niz komandi i test slučajeve, umesto da pretpostavlja da će se svaka kartica koja pominje ISO 7816-4 ponašati na isti način.

Kako kupci treba da koriste ISO 7816-4 pri nabavci kartica?

Kupci treba da koriste ISO 7816-4 kao tehničku referencu kada razgovaraju o podršci komandi pametnih kartica, izboru aplikacija, bezbednosnoj verifikaciji i zahtevima za pristup podacima. Pre naručivanja, treba da potvrde model čipa, protokolni interfejs, mapu memorije, format personalizacije, kompatibilnost čitača i rezultate testiranja uzoraka. To sprečava zabunu između prilagođavanja fizičke kartice i kompatibilnosti sistema na nivou komandi.

Verifikacioni kod