Ръководство за команди за смарт карти по ISO 7816-4
August 18, 2024 1071 коментари
Изтегляне на стандарта ISO 7816-4
Какво дефинира ISO 7816-4
ISO 7816-4 е една от най-практичните части от семейството стандарти ISO/IEC 7816, защото описва как интерфейсното устройство и картата с интегрална схема обменят команди и отговори на ниво приложение. Докато ISO 7816-3 се фокусира върху електрическите сигнали и протоколите за предаване, ISO 7816-4 работи над този слой. Той предоставя общ команден език за картови приложения, включително избор на файлове, достъп до двоични данни, обработка на записи, поддръжка на удостоверяване, защитени съобщения и отчитане на статусите на отговора.
Стандартът е важен за контактни смарт карти, използвани в идентификация, банкиране, контрол на достъпа, транспорт, здравеопазване, програми за лоялност и проекти за защитени идентификационни носители. За производители, интегратори и софтуерни разработчици той намалява неяснотите между картата, четеца и приложението. Картата може да съдържа собствена логика, но ISO 7816-4 осигурява обща рамка, така че командите да бъдат структурирани, интерпретирани и тествани по предвидим начин.
Структура на APDU съобщенията
Основната комуникационна единица в ISO 7816-4 е APDU, или Application Protocol данни Unit. Командният APDU обикновено съдържа четирибайтов хедър, съставен от CLA, INS, P1 и P2. CLA указва класа на командата и може да носи информация за логически канали или защитени съобщения. INS идентифицира инструкцията, а P1 и P2 предоставят параметрите. В зависимост от типа команда тялото може да съдържа още Lc, поле с данни и Le.
Lc указва на картата колко байта има в полето за командни данни. Le указва максималния брой байтове, очаквани в отговора. ISO 7816-4 описва различни командни случаи — от липса на обмен на данни до команди, които едновременно изпращат данни и изискват връщане на данни. Отговорният APDU съдържа незадължително поле с данни, последвано от два задължителни статусни байта, SW1 и SW2, които показват на терминала дали обработката е успешна, неуспешна или изисква допълнителни действия.
Логическа файлова организация
ISO 7816-4 дефинира логически файлов модел, видим от интерфейса на картата. В основата е Master File, или MF. Под него Dedicated Files, или DFs, могат да групират приложения или среди с данни. Elementary Files, или EFs, съхраняват реалните данни. Някои EFs са прозрачни и се достъпват чрез отмествания, докато EFs, базирани на записи, се достъпват чрез номера на записи или идентификатори на записи.
Тази организация е важна, защото много приложения за смарт карти не са просто блокове памет. Те могат да съдържат няколко приложения, обекти с лични данни, защитни обекти, записи за използване или области, контролирани от издателя. Командата SELECT FILE позволява на приложението на четеца да избере файл чрез файлов идентификатор, път или име на DF. След избора команди като READ BINARY, READ RECORD, UPDATE BINARY или UPDATE RECORD могат да работят с данните според правилата за достъп на картата.
Обекти с данни, TLV кодиране и FCI
ISO 7816-4 описва и как данните могат да бъдат представяни през интерфейса на картата. TLV означава етикет, Length и Value. Тагът идентифицира обекта, дължината показва колко байта следват, а стойността съдържа самите данни. Стандартът се позовава на структури BER-TLV, COMPACT-TLV и SIMPLE-TLV според контекста. Този метод позволява на картата да връща структурирани данни, без всяко приложение да бъде принудено да интерпретира сурови байтове в една и съща фиксирана подредба.
File контрол Information, често наричана FCI, дава на терминала информация за избрания файл. Тя може да включва файлови дескриптори, файлови идентификатори, информация за размера на файла, имена на DF, собственически данни и атрибути за сигурност. В реални проекти разбирането на FCI помага на инженерите да потвърдят дали правилното приложение или файл е избран, преди да изпратят команди за четене, запис или удостоверяване.
Архитектура на сигурността и защитени съобщения
ISO 7816-4 не дефинира един универсален криптографски алгоритъм за всяка карта. Вместо това той определя как могат да бъдат представяни и използвани статусът на сигурността, атрибутите за сигурност, командите, свързани с удостоверяване, и защитените съобщения. Картата може да изисква парола, PIN, удостоверяване чрез ключ или защитени съобщения, преди да разреши достъп до файл или команда. Дори правилно оформена команда може да бъде отхвърлена, ако необходимият статус на сигурност не е достигнат.
Команди като VERIFY, GET CHALLENGE, INTERNAL AUTHENTICATE и EXTERNAL AUTHENTICATE поддържат често използвани работни процеси за сигурност. Защитените съобщения могат да предпазват командните и отговорните данни чрез механизми за цялост, удостоверяване и поверителност според конкретната реализация. При персонализация на карти, контрол на достъпа и издаване на идентификационни носители тези правила помагат да се разграничат операциите с публични данни от защитените операции.
Защо ISO 7816-4 е важен при проекти за карти и четци
За една фабрика за карти ISO 7816-4 не е само протоколна справка. Той влияе върху начина, по който се персонализират приложенията, пишат се тестови скриптове, проверява се съвместимостта на четците и клиентските системи комуникират с издадените карти. При производство на Contact IC карти инженерите често трябва да потвърдят файловата структура, поведението на APDU, съответствието на статусните думи и условията за достъп преди масово производство.
Същата логика е полезна, когато контактни чипове се вграждат в печатни идентификационни карти, членски карти или защитени носители за самоличност. Проекти, използващи PVC карти с контактни IC модули, се нуждаят от стабилна обработка на команди между чипа на картата и терминала. Доставчиците и интеграторите на четци също трябва да проверят дали техните четци за карти с двоен интерфейс обработват правилно APDU обмена, избраните файлове, дължините на отговорите и статусните думи в различни приложения.
Практическият преглед на ISO 7816-4 трябва да разглежда и двете страни на системата. От страна на картата трябва да бъдат документирани файловата йерархия, поддържаните инструкции, изискванията за сигурност и очакваните статусни думи. От страна на четеца приложението трябва да изгражда валидни APDU, да обработва поддържаните дължини, да анализира правилно TLV данните и да реагира адекватно на статусни думи като успешна операция, грешна дължина, неудовлетворен статус на сигурност или липсващ файл.
Често използвани команди по ISO 7816-4
Няколко команди се срещат често в реалната работа със смарт карти. SELECT FILE избира приложението или файла, с който ще се работи. READ BINARY и UPDATE BINARY се използват за прозрачни файлове. READ RECORD, APPEND RECORD и UPDATE RECORD се използват при файлове, ориентирани към записи. GET DATA и PUT DATA обработват обекти с данни. VERIFY обикновено е свързана с проверка на PIN или парола. GET CHALLENGE и командите за удостоверяване поддържат криптографски процедури. MANAGE CHANNEL се използва там, където логическите канали позволяват поддържането на няколко сесии.
FAQ
За какво се използва ISO 7816-4?
ISO 7816-4 се използва за дефиниране на начина, по който смарт карта и терминал обменят междусекторни команди и отговори. Той обхваща структурата на APDU, файловата организация, достъпа до данни, статусните байтове, концепциите за защитени съобщения и услуги, независими от конкретното приложение. Това е основа за много системи с контактни смарт карти, които изискват надеждна комуникация между чиповете на картите и софтуера на четците.
ISO 7816-4 само за контактни смарт карти ли е?
ISO 7816 се свързва основно с карти с интегрална схема с контакти, а ISO 7816-4 е част от това семейство. Въпреки това комуникацията в APDU стил е позната и в много по-широки среди за смарт карти и защитени елементи. Инженерите все пак трябва да потвърдят отделно физическия интерфейс и транспортния слой, защото ISO 7816-4 се фокусира върху организацията на командите и отговорите, а не върху антената, радиовръзката или електрическите детайли.
Какво е APDU в ISO 7816-4?
APDU означава Application Protocol данни Unit. Командният APDU пренася инструкцията от интерфейсното устройство към картата, а отговорният APDU пренася върнатите данни и статусните байтове от картата към интерфейсното устройство. APDU е в центъра на избора на файлове, четенето на данни, актуализирането на данни, проверката на условията за сигурност и обработката на работните процеси в картовите приложения.
Какво означават SW1 и SW2?
SW1 и SW2 са двата статусни байта в края на отговорния APDU. Те описват резултата от обработката на командата. Например могат да указват успешно изпълнение, грешна дължина, липсващ файл, неподдържана инструкция или неудовлетворен статус на сигурност. Правилната обработка на тези байтове е от ключово значение за надежден софтуер на четеца и стабилно производствено тестване.
Как ISO 7816-4 обработва файловете в картата?
Стандартът описва логическа йерархия с Master File, незадължителни Dedicated Files и Elementary Files. Elementary Files могат да бъдат прозрачни или ориентирани към записи. Обикновено терминалът първо избира файл и след това изпълнява файлови операции като четене на двоични данни, четене на записи, актуализиране на данни или извличане на информация за файловия контрол според поддържаните команди и разрешения.
ISO 7816-4 дефинира ли алгоритми за криптиране?
Не. ISO 7816-4 дефинира командни структури, концепции за статус на сигурността, формати за защитени съобщения и поддръжка на команди, свързани с удостоверяване, но не предписва един конкретен алгоритъм за криптиране за всички карти. Реалният алгоритъм, методът за управление на ключове и политиката на приложението обикновено се определят от операционната система на картата, спецификацията на издателя или профила за сигурност на проекта.
Защо ISO 7816-4 е важен за производството на карти?
Той помага на производителите и интеграторите да проверят дали картовият продукт се държи предвидимо по време на персонализация, тестване с четци и внедряване в системата. Ако изборът на файл, обработката на APDU дължини, статусните думи и условията за сигурност не са последователни, дори физически правилна карта може да не работи в клиентски терминал. ISO 7816-4 предоставя обща техническа база за отстраняване на проблеми и приемателни тестове.



