为什么java SIM卡安全通道返回"不匹配"?

时间:2017-05-01 05:59:53

标签: security channel javacard gpshell

我试图在支持java卡V3.0.4的SIM卡上安装小程序。当我尝试建立一个加载applet的安全通道时,该卡会返回错误:

mode_211
enable_trace
establish_context
card_connect
select -AID A000000151000000
Command --> 00A4040008A000000151000000
Wrapped command --> 00A4040008A000000151000000
Response <-- 6F108408A000000151000000A5049F6501FF9000
open_sc -security 1 -keyind 0 -keyver 0 -mac_key 79AA24D80FF0056101F1D9AB6DCAF0E6
 -enc_key 79AA24D80FF0056101F1D9AB6DCAF0E6
Command --> 80CA006600
Wrapped command --> 80CA006600
Response <-- 664A734806072A864886FC6B01600B06092A864886FC6B020202630906072A86488
6FC6B03640B06092A864886FC6B048000640B06092A864886FC6B040255640B06092A864886FC6B0
481079000
Command --> 8050000008F05E65BF5254BC9F00
Wrapped command --> 8050000008F05E65BF5254BC9F00
Response <-- 00005147A5190C5352322002001C1F47B6C76BABFD305EBBC2CD1BB39000
mutual_authentication() returns 0x8030F00A (The Secure Channel Protocol passed and reported do not match.)

我使用的是GPShell-1.4.4。我猜问题是使用错误的密钥集!我是真的还是还有其他什么我猜不出来的东西?!

感谢您的回复,

1 个答案:

答案 0 :(得分:3)

(我部分重复使用我为你之前的问题写的答案,你突然删除了)

错误代码GP211_ERROR_INCONSISTENT_SCP表示GPShell的SCP版本与卡片提供的真实SCP版本不匹配(see here)。

检查卡响应的第12个字节INITIALIZE UPDATE - 安全通道协议标识符(参见例如GP Card Specification 2.3,E5.1.6节)并使用参数{{1} }。

或者你可能想使用GlobalPlatformPro,因为GPShell已经过时了......

请注意,您可以通过发出多个-scp命令来阻止您的卡,而无需成功验证!

由于您当前的问题包含完整日志,因此可以parse 卡数据标记给出(根据GP 2.2.1):

INITIALIZE UPDATE

所以你可能想要使用66 Card Data 73 Card Recognition Data / Discretionary Data Objects 06 OID 2A864886FC6B01 {globalPlatform 1} // Card Recognition Data 60 Application Tag 0 06 OID 2A864886FC6B020202 {globalPlatform 2 2 2} // GP 2.2 Card 63 Application Tag 3 06 OID 2A864886FC6B03 {globalPlatform 3} // Card Identification Scheme 64 Application Tag 4 06 OID 2A864886FC6B048000 {globalPlatform 4 128 0x00} // SCP80 i=0x00 64 Application Tag 4 06 OID 2A864886FC6B040255 {globalPlatform 4 2 0x55} // SCP02 i=0x55 64 Application Tag 4 06 OID 2A864886FC6B048107 {globalPlatform 4 129 0x07} // SCP81 i=0x07 -scp 2 -scpimpl 0x55(恰好相同)。

或使用GlobalPlatformPro

或者-scp 2 -scpimpl 85应该与众所周知的伪随机算法一样有效 (卡挑战)位于&#39; i&#39;无所谓......

祝你好运!