为什么javaSIM卡安全通道returns"do not match"?
Why java SIM card secure channel returns "do not match"?
我正在尝试在支持 java 卡 V3.0.4 的 SIM 卡上安装小程序。当我尝试建立一个安全通道来加载小程序时,卡returns一个错误:
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.)
我正在使用 GPSshell-1.4.4。我想问题是使用了错误的密钥集!我说的是真的还是有什么我猜不出来的?!
感谢您的回复,
(我部分重用了我为你之前突然删除的问题写的答案)
错误代码 GP211_ERROR_INCONSISTENT_SCP means that GPShell's intended SCP version mismatches with the real SCP version given by the card (see here).
检查卡对 INITIALIZE UPDATE
的第 12 个字节的响应 -- 安全通道协议标识符 (参见 GP Card Specification 2.3,E5.1.6 节)并使用参数 -scp
.
或者您可能想使用 GlobalPlatformPro,因为 GPSshell 已经过时了...
请注意,您可以在未成功验证的情况下发出多个 INITIALIZE UPDATE
命令来阻止您的卡!
由于您当前的问题包含完整的日志,因此可以 parse the Card Data tag giving (according to GP 2.2.1):
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
或 -scp 2 -scpimpl 85
(恰好相同)。
或者 -scpimpl 0x15
应该和 众所周知的伪随机算法一样有效
(卡片挑战) 'i' 中的位应该无关紧要...
祝你好运!
我正在尝试在支持 java 卡 V3.0.4 的 SIM 卡上安装小程序。当我尝试建立一个安全通道来加载小程序时,卡returns一个错误:
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.)
我正在使用 GPSshell-1.4.4。我想问题是使用了错误的密钥集!我说的是真的还是有什么我猜不出来的?!
感谢您的回复,
(我部分重用了我为你之前突然删除的问题写的答案)
错误代码 GP211_ERROR_INCONSISTENT_SCP means that GPShell's intended SCP version mismatches with the real SCP version given by the card (see here).
检查卡对 INITIALIZE UPDATE
的第 12 个字节的响应 -- 安全通道协议标识符 (参见 GP Card Specification 2.3,E5.1.6 节)并使用参数 -scp
.
或者您可能想使用 GlobalPlatformPro,因为 GPSshell 已经过时了...
请注意,您可以在未成功验证的情况下发出多个 INITIALIZE UPDATE
命令来阻止您的卡!
由于您当前的问题包含完整的日志,因此可以 parse the Card Data tag giving (according to GP 2.2.1):
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
或 -scp 2 -scpimpl 85
(恰好相同)。
或者 -scpimpl 0x15
应该和 众所周知的伪随机算法一样有效
(卡片挑战) 'i' 中的位应该无关紧要...
祝你好运!