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

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

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

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

【问题讨论】:

    标签: smartcard mifare


    【解决方案1】:

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

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

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

    如何区分黑白 DESFire 和 Plus:

    1. 返回的 SAK 为 0x20
    2. 激活第 4 层,并执行 GET_VERSION。如果响应成功,卡类型将为 Plus EV1、DESFire、DESFire Light 或 NTAG 4xx
    3. 如果 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 ?找不到命令或其他方法。
    猜你喜欢
    • 2012-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多