如何检查ISD / CM下的哪些密钥是“安全通道基本密钥”?

时间:2019-04-10 09:14:04

标签: smartcard javacard globalplatform

我当时正在研究一些问题,发现每个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

0 个答案:

没有答案