【问题标题】:MUTUAL AUTHENTICATION failed in EMV cardEMV 卡中的 MUTUAL AUTHENTICATION 失败
【发布时间】:2014-09-03 05:16:45
【问题描述】:

我正在尝试向我的 EMV 卡发送 STORE DATA 命令以存储 DGI 值。我有一个文档,描述了在 JCOP 2.4.1 Revision 3 上安装和个性化 EMV 应用程序的 APDU 命令。

在文档中,命令的顺序是:

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

本文档中写的行是:

颁发者安全域的密钥值(加密、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 命令,我需要通过身份验证。如何通过认证?

【问题讨论】:

  • 如果卡密码验证失败,很可能是您使用了错误的密钥。 INITIALIZE UPDATE 的响应表明使用了 keyset 1。你知道钥匙还是只是在猜?

标签: javacard emv globalplatform


【解决方案1】:

通常40..4F 键用于样本卡。如果您收到其他卡,则需要向供应商(可能是 NXP)索取钥匙。如果默认键存在,它通常具有索引 255(而不是 1,这是找到的第一个键),因此您可以在 open_sc 命令中尝试 -keyind 255

【讨论】:

  • 请注意,可能是在设置另一个键后,键 255 不再存在。检查全球平台规范以确保 - 我似乎忘记了细节。
猜你喜欢
  • 2020-06-07
  • 1970-01-01
  • 2014-09-03
  • 2022-01-18
  • 2017-01-02
  • 1970-01-01
  • 1970-01-01
  • 2013-11-02
  • 2016-03-06
相关资源
最近更新 更多