APDU 响应 910B 对 DESFire EV2 卡意味着啥?

Posted

技术标签:

【中文标题】APDU 响应 910B 对 DESFire EV2 卡意味着啥?【英文标题】:What does APDU response 910B mean for a DESFire EV2 card?APDU 响应 910B 对 DESFire EV2 卡意味着什么? 【发布时间】:2017-10-02 21:57:28 【问题描述】:

我正在通过 DESFire 命令将 DESFire EV1 和 DESFire EV2 卡编程为封装的 APDU。当一张卡片出现时,我使用 GetVersion 命令来获取 UID(然后我用它来查找卡片历史记录和多样化密钥)。我发送此命令以获取卡版本信息:

90 60 00 00 00

通常我会收到一些字节加上91 AF 的响应,表明有更多信息需要我们根据文档重复等。这适用于 DESFire EV1 和 DESFire EV2 卡,直到我们在 OMNIKEY 5x21 读卡器中使用它们(读卡器在两种型号的 HID 卡打印机中,HDP5000 和 DTC4500e)。当我们这样做时,我们会收到回复91 0B 并且没有数据 - 但仅来自 EV2 卡,我们认为 EV1 没有问题。我没有在任何地方看到此响应的记录,我不清楚它可能意味着什么。

重申一下——我们只在配备 DESFire EV2 卡的全能读卡器中看到这一点。 DESFire EV1 卡不这样做,我们在其他读卡器上根本没有看到这一点(到目前为止)。

我们在轮换牌方面取得了一些有限的成功。我们的一位远程工程师在卡的特定方向上取得了成功,这表明存在一些 EM/范围/天线问题,但到目前为止,QA 和生产根本无法重现此问题。

我还在 NXP 论坛上发布了这个问题,但没有任何回应。这篇文章有更多细节。


2020 年更新:我很高兴再次遇到 91 0B 作为 Desfire 卡的回复,搜索错误并找到我多年前的旧帖子。情况完全不同,但我现在可以补充这么多:91 0B 的回复意味着:

在不支持该命令的状态下接收命令,或接收到完全未知的命令。

【问题讨论】:

【参考方案1】:

我看到了用于 OMNIKEY 阅读器的 HID 固件源代码,我可以告诉你这是一个灾难性的混乱。 OK5x21 读卡器比较老旧,建议您直接联系 HID 并请求固件更新。这在很多情况下帮助了我,因为过时的固件无法与 DESFire EV2 等较新的智能卡正确通信,从而导致奇怪的响应状态等。

【讨论】:

谢谢@arminb!这似乎是一个非常好的起点。它还可能解释了开发人员和 QA 之间的一些差异,因为它们彼此远离并且可能使用不同的固件版本。我们会试一试,看看我们的进展如何。 所以我已经确认 HID/Omnikey 已经在他们的固件中排队了一个修复程序。感谢您为我指明正确的方向。 还在继续。似乎建议不要将那些特定的读卡器用于 DESFire EV2 卡。

以上是关于APDU 响应 910B 对 DESFire EV2 卡意味着啥?的主要内容,如果未能解决你的问题,请参考以下文章

使用 ISO 7816-4 APDU 的 DESFire 卡中的外部身份验证

如何在 DESfire Ev1 卡上使用 ISO7816 选择命令?

从 MIFARE DESFire 获取 UID 的 APDU?

Mifare desfire apdu 命令

Mifare DESFIRE EV1 GetCardUid

javax.smartcardio:如何将本机命令发送到 Desfire 卡?