Что такое последовательность входа DoD CAC ADPU? - PullRequest
0 голосов
/ 22 марта 2019

Я был по всей сети, у меня есть документы DOD и IDO для CAC / ADPU, но я не могу найти / выяснить последовательность доступа к данным на карте.Я хотел бы получить имя пользователя с общедоступной информацией, например, SMITH.JOE.123123123

Толстое Java-приложение, используя smartcardio.

Я ввожу команду 0x84 CHALLENGE и возвращаю байты вызова с 9000 returnкод.Я полагаю, что они в 3DES, но как бы я расшифровал, если у меня нет ключа / пароля?

Теперь я не понимаю, что делать дальше.Что мне нужно сделать с байтами CHALLENGE?

Я попытался использовать ВНЕШНЮЮ АВТОМАТИЮ (0x82). Это успешно, но с кодом возврата 6300 (который предупреждает, что NV RAM обновлено). Обратите внимание, если это хорошо или плохо - возможноон обновляет счет или дату или что-то еще.

Затем я пытаюсь выбрать SELECT (0xa4), но получаю 6D00 - команда не найдена

Я также пытался получить данные (0xCB) - также 6D00

Я предполагаю, что последние два не удаются, потому что я не в правильном состоянии безопасности для их выдачи.

Какая последовательность команд мне нужно выполнить?

Любая информация с благодарностью!

1 Ответ

0 голосов
/ 22 марта 2019

Вы должны зашифровать запрос (случайная последовательность байтов, важна длина) и отправить результат с помощью внешней аутентификации.Без знания соответствующего ключа или его алгоритма путешествие заканчивается здесь.

Некоторые данные могут быть читаемы без аутентификации, но я недостаточно знаком с CAC, чтобы решить, относится ли имя пользователя к этой категории.

Код результата 6D 00 вряд ли будет означать статус безопасности не удовлетворен , для которого определено 69 82.

Для начала попробуйте ISO 7816-4 (не оченьобъяснение, трудно переварить) или введение в смарт-карты.

...