2014-09-03 4 views
1

Я пытаюсь отправить команду STORE DATA на свою EMV-карту для хранения значений DGI. У меня есть документ, описывающий команду APDU установить и персонализировать приложение EMV на JCOP 2.4.1 Revision 3.ВЗАИМНАЯ АУТЕНТИФИКАЦИЯ не выполнена на карте EMV

В документе, последовательность команд:

SELECT 
INITIALIZE UPDATE 
EXTERNAL AUTHENTICATION 
STORE DATA FOR DGI 
... 
... 
STORE DATA FOR DGI. 

Line написано в этом Документ:

значение ключа домена безопасности эмитента (шифрование, MAC и ключ ключа шифрования): 404142434445464748494a4b4c4d4e4f. и значение счетчика последовательности является 0.

Я просто скачал GPSHELL 1.4.4 и попробуйте запустить следующий сценарий: -

mode_211 
enable_trace 
establish_context 
card_connect 
select -AID A000000003000000 
open_sc -security 1 -keyind 0 -keyver 0 -mac_key 404142434445464748494a4b4c4d4e4f -enc_key 404142434445464748494a4b4c4d4e4f // Open secure channel 
card_disconnect 
release_context 

однако мой выход:

D:\users\Amitp\My Documents\Downloads\GPShell-1.4.4\GPShell-1.4.4>GPShell.exe he 
lloInstalll.txt 
mode_211 
enable_trace 
establish_context 
card_connect 
select -AID A000000003000000 
Command --> 00A4040008A000000003000000 
Wrapped command --> 00A4040008A000000003000000 
Response <-- 6F658408A000000003000000A5599F6501FF9F6E06479100783300734A06072A864 
886FC6B01600C060A2A864886FC6B02020101630906072A864886FC6B03640B06092A864886FC6B0 
40215650B06092B8510864864020103660C060A2B060104012A026E01029000 
open_sc -security 1 -keyind 0 -keyver 0 -mac_key 404142434445464748494a4b4c4d4e4 
f -enc_key 404142434445464748494a4b4c4d4e4f // Open secure channel 
Command --> 80CA006600 
Wrapped command --> 80CA006600 
Response <-- 664C734A06072A864886FC6B01600C060A2A864886FC6B02020101630906072A864 
886FC6B03640B06092A864886FC6B040215650B06092B8510864864020103660C060A2B060104012 
A026E01029000 
Command --> 8050000008FB3EE9FE0812ABFF00 
Wrapped command --> 8050000008FB3EE9FE0812ABFF00 
Response <-- 0000322000186396921901020000CEBCF3A2D47130C736B6480E4DD59000 
mutual_authentication() returns 0x80302000 (The verification of the card cryptog 
ram failed.) 

Почему происходит ли аутентификация? Чтобы отправить команду STORE, мне нужно пройти аутентификацию. Как я могу пройти аутентификацию?

+2

Если проверка криптограммы карты не удалась, вполне вероятно, что вы используете неправильные ключи. Ответ INITIALIZE UPDATE указывает, что используется клавиша 1. Знаете ли вы ключи или вы просто их угадываете? – lletami

ответ

0

Обычно для карт с образцами используются клавиши 40..4F. Если вы получаете другие карточки, вам необходимо запросить ключи у поставщика (возможно, NXP). Если присутствует ключ по умолчанию, он обычно имеет индекс 255 (вместо 1, который является первым найденным ключом), поэтому вы можете попробовать -keyind 255 в вашей команде open_sc.

+1

Обратите внимание, что это может быть так, что ключ 255 больше не появляется после установки другой клавиши. Обязательно проверьте спецификации глобальной платформы - я, кажется, забыл детали. –

Смежные вопросы