Mifare卡版获取方法

Posted

技术标签:

【中文标题】Mifare卡版获取方法【英文标题】:How to get Mifare card version 【发布时间】:2020-05-26 03:51:20 【问题描述】:

我想检测 Mifare 卡类型。 根据 NXP 文档 AN10834 Fig 3,我可以通过 sak number 和 Get Version 检测卡类型。

我卡的 SAK 是 0x20,但我想知道它是 DESFire 还是 plus。

什么是3级和4级Get Version? 我在哪里可以获得信息? 有什么帮助吗?

【问题讨论】:

【参考方案1】:

ISO/IEC 14443 协议有 4 个部分:

    ISO/IEC 14443-1:第 1 部分:物理特性 ISO/IEC 14443-2:第 2 部分:射频电源和信号接口 ISO/IEC 14443-3:第 3 部分:初始化和防冲突 ISO/IEC 14443-4:第 4 部分:传输协议 (ISO/IEC 14443 wiki)

ISO/IEC 14443-3 描述了如何选择(“激活”)单张卡,ISO/IEC 14443-4 设置了传输协议。

如何区分黑白 DESFire 和 Plus:

    返回的 SAK 为 0x20 激活第 4 层,并执行 GET_VERSION。如果响应成功,卡类型将为 Plus EV1、DESFire、DESFire Light 或 NTAG 4xx 如果 GET_VERSION 响应失败,则必须使用 IsoDep 读取器 (IsoDep:GetHistoricalBytes) 读取历史字节。根据历史字节值,卡类型将为 Plus X、Plus S 或 Plus SE。

第 4 层的激活:

要激活第 4 层,您必须执行 RATS(Request Answer To Select)命令,即 0xE080。

例如:发送到卡:E080

从卡接收:0C75778002C1052F2F01BCD6

如果收到 12 字节的 ATS(Answer To Select) 作为响应,则表示第 4 层已成功激活。

如果您使用 NXP 智能卡,NXP 提供了一个名为 TapLinx 的开放 API,可以使用它,它会让您的生活更轻松。

更新:

0x60 是 GetVersion 命令。它应该看起来像

阅读器 ---> 卡片:60

卡片

阅读器 ---> 卡片:AF

卡片

阅读器 ---> 卡片:AF

卡片

其中,04 是制造商 ID,HT 是硬件类型

干杯!

【讨论】:

如何执行 GET_VERSION ?找不到命令或其他方法。

以上是关于Mifare卡版获取方法的主要内容,如果未能解决你的问题,请参考以下文章

使用 SCL010 获取 Mifare Ultralight 的 UID

从 MIFARE DESFire 获取 UID 的 APDU?

如何使用Nexus 5获取Mifare Ultralight 16位UID读数

第三次入手卡版掉毛飞翼

第三次入手卡版掉毛飞翼

Mifare DESFIRE EV1 GetCardUid