【问题标题】:Why my smart card accepts two different keys as its MAC key?为什么我的智能卡接受两个不同的密钥作为其 MAC 密钥?
【发布时间】:2015-02-08 08:42:04
【问题描述】:

如下所示,我尝试使用 gp -list 列出卡上已安装的小程序。我指定了一些不同的键:

GP: gp -mac 404142434445464748494A4B4C4D4E4F -list
AID: A000000151000000 (|....Q...|)
     ISD OP_READY: Security Domain, Card lock, Card terminate, Default selected,
 CVM (PIN) management

AID: A0000001515350 (|....QSP|)
     ExM LOADED: (none)
     A000000151535041 (|....QSPA|)


GP: gp -mac 404142434445464748494A4B4C4D4E4E -list
AID: A000000151000000 (|....Q...|)
     ISD OP_READY: Security Domain, Card lock, Card terminate, Default selected,
 CVM (PIN) management

AID: A0000001515350 (|....QSP|)
     ExM LOADED: (none)
     A000000151535041 (|....QSPA|)


GP: gp -mac 404142434445464748494A4B4C4D4E4D -list
openkms.gp.GPException: External authenticate failed SW: 6982
        at openkms.gp.GlobalPlatform.check(GlobalPlatform.java:924)
        at openkms.gp.GlobalPlatform.openSecureChannel(GlobalPlatform.java:447)
        at openkms.gp.GPTool.main(GPTool.java:280)

为什么用两个不同的键都能正常工作?

404142434445464748494A4B4C4D4E4F

404142434445464748494A4B4C4D4E4E

请注意,我尝试了其他一些卡片和工具!相同的输出。

这是因为使用两个密钥的加密具有相同的输出吗?

【问题讨论】:

    标签: smartcard javacard 3des parity globalplatform


    【解决方案1】:

    您只是翻转卡(或软件)未使用或检查的奇偶校验位。这意味着密码的结果是相同的,是的。

    【讨论】:

    • 哇!我测试了其他一些键。每个字节中的最低有效位是否用于奇偶校验?换句话说,每个键都有 2^16 对吗?!
    • @Am1r:是的,对于所有 DES 系列密钥,每个字节都有这个奇偶校验位。这就是单 DES 只有 56 个有效密钥位和三重 DES 168 个有效密钥位的原因。
    • @guidot 不应该被卡检查吗?我的意思是为什么卡忽略它?
    • @Am1r 你是对的,当然,一些实现会执行检查.. 但是手动输入一张纸或串行线路传输的密钥的时代已经过去了。没有 RSA 或椭圆曲线密钥格式提供了类似的机制(缺少完整的签名证书),即使(在 RSA 的情况下)较长的密钥大小会留下更多的错误空间。
    猜你喜欢
    • 2016-07-17
    • 2021-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-30
    • 2015-04-28
    相关资源
    最近更新 更多