Ръководство за команди ISO 7816-4 за смарт карти

August 18, 2024 1072 коментари

Изтегляне на  MODBUS Protocol Reference Guide



Изображението представя ръководство за команди ISO 7816-4 за смарт карти при безконтактно сканиране в приложения за стандарти и протоколи.



Ръководство за команди ISO 7816-4 за смарт карти

Общ преглед на ISO 7816-4

ISO 7816-4 е основен стандарт за смарт карти, който определя междуотрасловите команди, използвани след установяване на комуникация между карта и терминал. Докато други части от серията ISO 7816 описват физически характеристики, контакти, електрически сигнали и правила за предаване, ISO 7816-4 се фокусира върху приложния слой: как терминалът избира приложения, адресира файлове, обменя данни, проверява права за достъп и тълкува отговорите на картата. На практика стандартът осигурява общ команден език за системи със смарт карти, така че карти, терминали, инструменти за персонализация, защитени модули и приложен софтуер да работят съвместимо и предвидимо.

Стандартът е особено важен за банкови карти, идентификационни карти, защитени пропуски за достъп, транспортни карти, здравни карти, среди, свързани със SIM, и много други продукти, при които карта с интегрална схема трябва да съхранява данни сигурно и да отговаря на контролирани команди. За производители и разработчици на проекти ISO 7816-4 не е визуална спецификация на продукта. Това е протоколна референция, която помага да се дефинира как операционната система на картата, аплетът, фърмуерът на четеца и хост софтуерът трябва да организират обмена на приложни данни.

Как ISO 7816-4 структурира комуникацията със смарт карти

Комуникацията по ISO 7816-4 е изградена около APDU, или Application Protocol данни Units. Командна APDU се изпраща от терминала към картата, а ответна APDU се връща от картата към терминала. Командната APDU обикновено включва класов байт, байт на инструкцията, параметърни байтове, незадължителни командни данни и очаквана дължина на отговора. Ответната APDU може да съдържа върнати данни и завършва с два статусни байта, познати като SW1 и SW2, които показват на терминала дали командата е успешна, неуспешна, изисква допълнително действие или е довела до конкретно предупреждение.

Тази структура отделя транспортните детайли от приложната логика. Четецът може да управлява физическата връзка, докато приложният слой използва команди като SELECT, READ BINARY, UPDATE BINARY, READ RECORD, VERIFY, INTERNAL AUTHENTICATE, GET DATA и PUT DATA. Точният набор от команди зависи от операционната система на картата и профила на приложението, но стандартът предоставя обща граматика за внедряване.

Файлове, приложения и обекти с данни

Една от ключовите идеи в ISO 7816-4 е, че картата може да организира информацията в логическа файлова система. За съхранение на приложна информация могат да се използват главен файл, специализирани файлове, елементарни файлове, записи и обекти с данни. Някои системи използват файлово ориентиран модел, докато други работят с приложно ориентиран модел, при който преди изпълнение на команди се избира идентификатор на приложение. Затова командата SELECT е централна за стандарта, тъй като указва на картата кой файлов или приложен контекст терминалът иска да използва.

Стандартът също описва как обектите с данни могат да бъдат кодирани и адресирани. Това е важно, когато приложенията трябва да обменят структурирана информация, а не само прости блокове от байтове. При проекти със защитени карти последователната организация на данните влияе върху персонализацията, управлението на жизнения цикъл, тестовете за съвместимост и дългосрочната поддръжка. Карта, която поддържа концепциите на ISO 7816-4, може да се интегрира по-лесно в системи с различни доставчици, при условие че избраният приложен профил също е ясно дефиниран.

Концепции за сигурност и контрол на достъпа

ISO 7816-4 включва команди и концепции, свързани със статус на сигурност, удостоверяване, проверка и условия за достъп. Командата VERIFY обикновено се свързва с проверка на PIN или референтни данни, докато командите за удостоверяване могат да се използват в системи, които изискват криптографско доказателство, преди чувствителни файлове или функции да станат достъпни. Стандартът не налага една универсална политика за сигурност за всяка карта. Вместо това той предоставя командни структури и поведение на отговорите, които операционните системи на картите могат да използват за внедряване на специфичен за проекта контрол на достъпа.

Този подход е полезен, защото различните индустрии имат различни модели на риск. Хотелски пропуск, държавна лична карта, платежно приложение и индустриален токен за сигурност могат да изискват различни нива на защита. ISO 7816-4 им предоставя стандартизирана комуникационна рамка, докато алгоритмите, правилата за управление на ключове, политиките на издателя и специфичните изисквания за сигурност на приложението обикновено се определят отделно.

Защо ISO 7816-4 е важен за картови продукти и устройства

При избор на продукт ISO 7816-4 е тясно свързан с Contact IC карти, защото тези карти често трябва да поддържат структурирани обмени на команди и отговори, а не само просто четене на памет. Стандартът е важен и когато клиентът избира защитени носители за идентичност, членски карти, транспортни билети или персонализирани пластмаса карти с вградени чипове. Физическото тяло на картата може да изглежда просто, но протоколът на чипа, файловата структура и поддръжката на команди определят дали картата ще работи с целевата система.

ISO 7816-4 е също толкова важен и за оборудването от страна на терминала. Разработчиците, които изграждат или доставят карта четци, трябва да разбират как APDU командите се предават между хост софтуера и картата. Дори когато четецът спазва правилно стандартите на по-ниско ниво, успехът на приложението зависи от това дали софтуерът може да избере правилното приложение, да изпрати точната последователност от команди, да обработи статусните думи и да управлява изключенията. Затова познаването на ISO 7816-4 е полезно не само за производителите на карти, но и за интегратори, софтуерни инженери, доставчици на устройства и екипи за контрол на качеството.

Бележки за внедряване в реални проекти

В реален проект ISO 7816-4 трябва да се разглежда като основа, а не като пълно ръководство за проекта. Купувачите и инженерите все пак трябва да потвърдят точния модел на чипа, размера на паметта, операционната система, поддържания набор от команди, идентификаторите на приложения, условията за достъп, картографирането на данните, метода на персонализация и изискванията за съвместимост. Две карти могат да бъдат свързани с ISO 7816-4, но да не се държат еднакво, ако използват различни чипове, различни приложни профили или различни настройки за сигурност.

Тестването трябва да включва нормални командни потоци, обработка на неправилни параметри, тълкуване на статусни думи, промени в статуса на сигурност, поведение при избор на файл и съвместимост с четци. При производствени поръчки изискванията към картата, четеца и софтуера трябва да бъдат съгласувани преди масово производство. Ясната APDU документация, примерните карти и дефинираният процес на персонализация могат да намалят риска при интеграция.

Често задавани въпроси за ISO 7816-4

Какво определя ISO 7816-4?

ISO 7816-4 определя междуотраслови команди за смарт карти, структури на отговорите, концепции за организация на файлове, поведение на команди, свързани със сигурността, и обмен на данни чрез APDU. Той не описва основно пластмасовото тяло или контактните размери на картата. Основната му стойност е в приложния слой, където терминалите и картите се нуждаят от общ метод за избор на файлове, обмен на данни и тълкуване на резултатите.

ISO 7816-4 използва ли се само за контактни смарт карти?

ISO 7816-4 е разработен в рамките на семейството ISO 7816 за контактни карти с интегрална схема, затова е силно свързан с контактните смарт карти. Въпреки това APDU концепциите се използват и в много по-широки среди за смарт карти. На практика инженерите често обсъждат ISO 7816-4, когато се нуждаят от съвместимост на командно ниво между защитени чипове, четящи устройства и хост приложения.

Какво е APDU в ISO 7816-4?

APDU означава Application Protocol данни Unit. Терминалът изпраща командна APDU, за да заяви операция, а картата връща ответна APDU с данни и статусни думи. Тази структура позволява на софтуера да изпълнява действия като избор на приложение, четене на данни, актуализиране на записи, проверка на PIN или заявка за удостоверяване в предвидим формат.

ISO 7816-4 определя ли размера на паметта на чипа?

Не. ISO 7816-4 не определя един фиксиран размер на паметта за всички смарт карти. Капацитетът на паметта зависи от модела на чипа и операционната система на картата. Стандартът обяснява как могат да се достъпват файлове, записи и обекти с данни, но реалните EEPROM, Flash, RAM, функциите за сигурност и наличното пространство за приложения трябва да се потвърдят от техническия лист на чипа или спецификацията на доставчика.

Защо статусните думи са важни?

Статусните думи са от съществено значение, защото показват на терминала как картата е обработила дадена команда. Успешен отговор, предупреждение, грешна дължина, неподдържана инструкция, грешка в сигурността или липсващ файл могат да бъдат обозначени чрез SW1 и SW2. Правилната обработка на статусните думи помага на софтуера да диагностицира проблеми, да продължава многостъпкови операции и да избягва приемането на неуспешни команди като успешни транзакции.

Може ли ISO 7816-4 сам по себе си да гарантира съвместимост?

Не напълно. ISO 7816-4 предоставя стандартизирана командна рамка, но реалната съвместимост зависи и от типа чип, операционната система, идентификаторите на приложения, правилата за сигурност, данните за персонализация и софтуера на четеца. Затова проектът трябва да дефинира точния профил на картата, последователността от команди и тестовите случаи, вместо да приема, че всяка карта, която споменава ISO 7816-4, ще се държи по един и същ начин.

Как купувачите трябва да използват ISO 7816-4 при доставка на карти?

Купувачите трябва да използват ISO 7816-4 като техническа референция при обсъждане на поддръжка на команди за смарт карти, избор на приложение, проверка на сигурността и изисквания за достъп до данни. Преди поръчка те трябва да потвърдят модела на чипа, протоколния интерфейс, картата на паметта, формата за персонализация, съвместимостта с четеца и резултатите от тестове с мостри. Това предотвратява объркване между физическата персонализация на картата и системната съвместимост на командно ниво.

Код за проверка