SCP03 Внешняя Аутентификация - PullRequest
1 голос
/ 17 января 2020

Я пытаюсь выполнить взаимную аутентификацию на eUI CC, используя SCP03. Когда я отправляю на карту команду внешней аутентификации, я получаю от нее ответ: AF8023026985, который, как мне кажется, SW = 6985.

Кто-нибудь может сказать, что мне не хватает?

Это как я создаю команду внешней аутентификации в Python 3:

extAuthCmdBase = '8482330010'
initialStrForMac = 16 * '00' + extAuthCmdBase + hostCryptogram
C_MAC = aes.CMAC(initialStrForMac, sMAC)
extAuthAPDU = extAuthCmdBase + hostCryptogram + C_MAC[:16]
len_apdu = hex(len(extAuthAPDU))[2:].upper().zfill(2)
expExtAuthAPDU = 'AE80' + '22' + len_apdu + extAuthAPDU + '0000'

1 Ответ

1 голос
/ 18 января 2020

Я наконец получил SW = 9000 от доп. auth.

Используется цепочка сценариев как для инициализации обновления, так и для доп. Команда auth.

Все эти команды инициализации обновления и внешней аутентификации должны отправляться в одном сеансе. Это, в зависимости от того, как запрограммирована ОС eUI CC, может быть реализовано с помощью концепции цепочки сценариев, благодаря которой eUI CC будет понимать, что сеанс будет продолжен, и хост будет посылать последующие последующие команды.

Подробнее о процедуре формирования цепочки скриптов см. В ETSI TS 102 226, раздел «Цепочка цепочек сценариев TLV».

Метка для команды инициализации обновления: «AE80830101» Метка для внешней команды аутентификации: «AE80830102»

Используемый здесь режим тегов - это расширенный формат команды приложения удаленного управления «Защищенные данные» - кодирование неопределенной длины.

...