Не удалось выполнить аутентификацию в диспетчере карт Java после изменения ключа глобальной платформы по умолчанию в gpshell

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

mode_211
enable_trace
establish_context
card_connect -readerNumber 1
select -AID A000000018434D00
open_sc -security 1 -keyind 0 -keyver 1 -key 47454d5850524553534f53414d504c45  -keyDerivation visa2 // Open secure channel
put_sc_key -keyver 0 -newkeyver 1 -key 505152535455565758595a5b5c5d5e5f // Put secure channel keys
card_disconnect
release_context

Но когда я хочу создать безопасный канал для диспетчера карт с помощью нового ключа, криптограмма, которая создается на стороне хоста, не соответствует стороне карты. Старый ключ тоже не работает. Команды для аутентификации в диспетчере карт:

open_sc -security 1 -keyind 0 -keyver 0 -key 505152535455565758595a5b5c5d5e5f  -keyDerivation visa2 // Open secure channel

также я тестировал

open_sc -security 1 -keyind 0 -keyver 1 -key 505152535455565758595a5b5c5d5e5f  -keyDerivation visa2 // Open secure channel

а также

open_sc -security 1 -keyind 1 -keyver 0 -key 505152535455565758595a5b5c5d5e5f  -keyDerivation visa2 // Open secure channel

а также

open_sc -security 1 -keyind 1 -keyver 0 -key 505152535455565758595a5b5c5d5e5f  -keyDerivation visa2 // Open secure channel

Также я проверил этот процесс с помощью SmartCafe Smart Expert 3.2 (карта G&D), и результаты такие же.

Я ценю, если кто-нибудь может мне помочь.


person Mohsen Gorgani    schedule 07.04.2016    source источник
comment
Я вижу, ты меняешь только один ключ. Я думаю, вам также следует изменить ключ № 2, который, если я правильно помню, является ключом MAC, используемым для аутентификации. Так что этот, вероятно, все еще имеет старое значение. Если это обоснованное предположение верно, пожалуйста, сообщите мне, чтобы я мог изменить его на ответ.   -  person Maarten Bodewes    schedule 07.04.2016


Ответы (1)


Вам нужно использовать:

open_sc -security 1 -key 505152535455565758595a5b5c5d5e5f

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

Удачи!


И помните, что существует ограничение на количество неудачных попыток аутентификации — вы можете заблокировать свою карту.

person vlp    schedule 08.04.2016
comment
Большое спасибо, влп. вы правы и это работает. - person Mohsen Gorgani; 09.04.2016
comment
с учетом вашего замечания gpshell 1.4.4 работает корректно. - person Mohsen Gorgani; 09.04.2016
comment
@MohsenGorgani Спасибо за ваш отзыв, я удалил примечание из ответа. - person vlp; 15.04.2016