【问题标题】:Is it possible to calculate Card Cryptogram manually on EMV Card?是否可以在 EMV 卡上手动计算卡密码?
【发布时间】:2019-12-18 08:37:17
【问题描述】:

我的 EMV 卡上的 EXTERNAL AUTHENTICATE 进程有问题。当我向主机验证卡时,主机响应失败:Card Cryptogram Verification Error
卡密文是从前面的过程中获取到卡的:INITIALIZE UPDATE

INITIALIZE UPDATE response
Key Diversification Data (10 bytes)
Key Information (2 bytes)
Sequence Counter (2 bytes)
Card Challenge (6 bytes)
Card Cryptogram (8 bytes)

在我们与主办方团队讨论后,卡密码计算中可能存在不匹配的过程。

所以我们正在寻找手动计算密码卡的算法或公式。

是否有手动计算卡密码的算法或公式?
而不是 INITIALIZE UPDATE 数据响应。

我的参考: How can I check INITIALIZE UPDATE and EXTERNAL AUTHENTICATE correctness?

【问题讨论】:

  • 在 emv 安全和密钥管理书中有应用密码的通用规范,但我认为卡方案可能有自己的算法变体,所以最好用卡方案检查文档跨度>
  • 答案是肯定的,如果你有卡主密钥。您是否检查了全球平台规范,了解如何从卡主密钥派生会话密钥,然后是生成密码的算法。我想数据将是挑战。每个安全通道协议都可能遵循不同的方式。详细了解 GP 规范。

标签: javacard apdu emv globalplatform mastercard


【解决方案1】:

我不明白这一点。如果 GP 不处理 INITIALIZE UPDATE 命令,则它不会建立安全上下文。在这种情况下,计算密码根本没有用。我认为您没有直接(或至少足够)从作为安全域的小程序访问密钥的权限,因此检索密钥以执行计算应该是不可能的。

确实,解决问题的责任在于主机,而不是卡。通常卡是根据规范实施和测试的,因此必须缺少选项,否则主机可能使用不同的 SCP,从而导致密码失败。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-07
    • 2021-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-29
    • 2021-08-21
    相关资源
    最近更新 更多