Блок данных протокола приложения смарт-карты - Smart card application protocol data unit
В контексте смарт-карт блок данных протокола приложения ( APDU ) - это блок связи между устройством чтения смарт-карт и смарт-картой. Структура APDU определяется стандартом ISO / IEC 7816 -4 организации, безопасности и команды для обмена .
Пара команда-ответ сообщения APDU
Существует две категории APDU: командные APDU и ответные APDU. Командный APDU отправляется считывателем на карту - он содержит обязательный 4- байтовый заголовок (CLA, INS, P1, P2) и от 0 до 65 535 байтов данных. Ответный APDU отправляется картой считывателю - он содержит от 0 до 65 536 байтов данных и 2 обязательных байта состояния (SW1, SW2).
Командный APDU | ||
---|---|---|
Имя поля | Длина (байты) | Описание |
CLA | 1 | Класс инструкции - указывает тип команды, например межотраслевую или частную. |
INS | 1 | Код инструкции - указывает конкретную команду, например, «записать данные». |
P1-P2 | 2 | Параметры инструкции для команды, например, смещение в файл, в который следует записать данные |
L c | 0, 1 или 3 | Кодирует количество (N c ) байтов данных команды, чтобы следовать
0 байтов обозначает N c = 0 |
Данные команды | N c | N c байтов данных |
L e | 0, 1, 2 или 3 | Кодирует максимальное количество (N e ) ожидаемых байтов ответа
0 байтов обозначает N e = 0 |
Ответ APDU | ||
Данные ответа | N r (не более N e ) | Данные ответа |
SW1-SW2 (Ответный трейлер) |
2 | Статус обработки команды, например 90 00 ( шестнадцатеричный ), указывает на успех. |