我当时正在研究一些问题,发现每个ISD或CM至少都有一个“安全通道基本密钥”,可用于创建安全通道会话密钥。
现在,我的卡有2套密钥,版本分别为0x01和0x20(由发行者预先加载在卡上)。在每个版本下,都有3个密钥标识符,密钥类型为0x80(DES),密钥长度为16个字节。
因此,在初始化更新命令期间,我将P1(密钥版本)指定为0x01,并且卡提供了错误状态字“ 69 85”(不满足使用条件),但是当我将密钥版本指定为0x20时,它工作正常且需要数据已接收。
请帮助我了解为什么我的卡使用0x20密钥版本而不是0x01进行响应。
仅供参考,ISD关键信息:
E0 3A
C0 04 Id Ver Type Len
01 01 80 10
C0 04
02 01 80 10
C0 04
03 01 80 10
C0 04
01 20 80 10
C0 04
02 20 80 10
C0 04
03 20 80 10
C0 04
01 71 80 10 Type2 Len2 Key usage Key access
C0 0E
01 70 FFA1 0080 FFA0 0001 0181 0101
我有两组密钥版本(0x01和0x20),每个密钥版本和3组密钥。
当我将P1指定为0x01时:
CMD::00 A4 04 00 08 A0 00 00 00 03 00 00 00
RSP: 61 13
CMD::00 C0 00 00 13
RSP: 6F 11 84 08 A0 00 00 00 03 00 00 00 A5 05 9F 65 02 01 00 90 00
CMD::80 50 01 00 08 AF 7B E0 42 A9 5E C2 30 00
RSP::69 85
当我将P1指定为20时:
CMD::00 A4 04 00 08 A0 00 00 00 03 00 00 00
RSP: 61 13
CMD::00 C0 00 00 13
RSP: 6F 11 84 08 A0 00 00 00 03 00 00 00 A5 05 9F 65 02 01 00 90 00
CMD::80 50 20 00 08 AF 7B E0 42 A9 5E C2 30 00
RSP: 61 1C
CMD::00 C0 00 00 1C
RSP: 11 22 33 44 55 66 77 88 99 AA 20 02 1B 45 33 F6 23 28 3E 96 CF E4 3F E4 22 C0 F2 4F 90 00