Сервисные команды
Сервисные команды предназначены для контроля целостности карты и диагностики сбоев.
9.9.1 VALIDATE CARD
Команда VALIDATE CARD выполняет расширенную диагностику карты Команда работает на всех фазах жизни карты кроме блокирования.
При отсутствии возможности выдать код ошибки непосредственно в ответе на какую-либо команду (в том числе в случаях, определяющих переход карты в состояние “MUTE”), ОС сохраняет на карте код ошибки. Этот код впоследствии может быть считан с помощью данной команды.
Если же протокол обработки ошибки не позволяет ОС сохранить этот код, он может быть получен с помощью «теплого» сброса карты (т.е. Reset без снятия питания). В этом случае карта выдаст диагностический ATR, последние два байта которого будут содержать код ошибки.
тип команды | out (case 2) |
формат команды:
CLA | 80 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
INS | FE | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
P1 | 0 – получить информацию об ОС и микроконтроллере 1 – выдать флаги диагностики карты 2 – проверить EEPROM 3 – выполнить расширенную диагностику оборудования 4 – получить случайные числа со встроенного ДСЧ 5 – проверить криптографические алгоритмы на контрольной задаче 6 – получить OTP производителя микроконтроллера 7 – вычислить криптографическую контрольную сумму ОС или отдельных модулей ОС |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
P2 | P1=4 - количество случайных байт N P1=7 0 – контрольная сумма ОС 1 – контрольная сумма криптографического модуля |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Lc | P1=1..6 – 0 P1=7 – 32 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
данные | P1=1..6 – нет P1=7 – ключ для криптографического алгоритма ГОСТ 28147-89 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Le | размер данных | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ответ |
|
Во флагах ошибок (P1=1):
- бит 0 – ошибка в области файловой системы
- бит 1 – ошибка в транзакционном буфере
- бит 2 – ошибка в служебных областях EEPROM
9.9.2 HANG CARD
Проверить срабатывание защитных механизмов карты.
После выполнения команды карта отключается и для ее активизации требуется Reset.
Если команда вернет какой бы то ни было либо статус, значит произошла ошибка.
В параметре P1 указывается тип тестируемого защитного механизма.
Для ST19(ОС "Магистра 1.2"):
- 1 – переход на несуществующий адрес
- 2 – обращение по несуществующему адресу
- 3 – неверный код команды
- 4 – переполнение стека
- 5 – выбор элемента из пустого стека
- 6 – программная защита
Для ST23(ОС "Магистра 1.3" и ОС "Магистра 1.30"):
- 1 – переход на несуществующий адрес
- 2 – обращение по несуществующему адресу
- 3 – неверный код команды
- 6 – программная защита
- 7 – проверка защиты памяти
тип команды | case 1 |
формат команды:
CLA | |
INS | |
P1 | |
P2 | |
Lc | |
данные | |
Le | |
ответ |
9.9.3 FS_MAINTANANCE (ОС Магистра 1.30, отсутствует для ST23YL18)
Выполнить дефрагментацию файловой системы.
тип команды | case 1 |
формат команды:
CLA | |
INS | |
P1 | |
P2 | |
Lc | |
данные | |
Le | |
ответ |