从ATR确定卡片类型

时间:2014-05-01 08:21:11

标签: nfc smartcard rfid pcsc contactless-smartcard

是否可以使用ATR来确定我是否有ISO14443A或ISO14443B型卡?如果是,怎么样?

3 个答案:

答案 0 :(得分:7)

正确mictter正确explained真实 AT R 仅适用于ISO 7816联系人卡片。我可以遵循ISO 14443等效物可能是ATQA / ATQB的论证,因为这是激活后从标签获得的第一个答案,但我宁愿说ATR的等价是ATQA + SAK + ATS的组合(对于类型A)和ATQB的组合+对ATTRIB的回答(对于类型B)。

关于您的ATR ,我认为这是根据PC/SC specification的PC / SC模拟ATR。

对于智能卡(ISO 14443-4传输协议),此ATR的格式为

3B 8n 80 01 T[1]..T[n] xx

T[1]T[n]

  1. ISO 14443 Type A或
  2. 的AT​​S历史字节
  3. ATQB应用程序数据(T[1] T[2] T[3] T[4]),ATQB协议信息字段(T[5] T[6] T[7])和ATTRIB MBLI字段(T[8])的串联。
  4. 因此,如果它是A型或B型智能卡,您可以对 guess 进行某种形式的匹配。即如果 n == 8且T[1]T[n]中的参数与您对B类卡的那些字段所期望的内容匹配。我仍然怀疑你会得到任意卡的可靠结果。

    对于非接触式存储卡,情况肯定更好。对于这些卡,模拟的ATR看起来像这样:

    3B 8n 80 01 T[1]..T[n] xx
    

    T[1]T[n],其中包含应用程序标识符存在指示符(标记4F)。因此T[1]T[n]通常看起来像这样:

    80 4F yy A000000306 ss nnnn 00000000
    

    ss识别卡的协议:

    0x01: ISO 14443-1 Type A
    0x02: ISO 14443-2 Type A
    0x03: ISO 14443-3 Type A
    0x05: ISO 14443-1 Type B
    0x06: ISO 14443-2 Type B
    0x07: ISO 14443-3 Type B
    

    nnnn识别卡片名称(有关完整列表,请参阅PC/SC specifications)。

答案 1 :(得分:3)

仅适用于联系智能卡的ATR。对于非接触式卡,其等价物称为ATQ,它有两种变体:ATQ-A和ATQ-B,适用于两种ISO14443类型。

所以我建议的方式是:

  • 读者发送REQ-A和REQ-B,轮询以查看范围内是否有非接触式卡。
  • 如果卡片以REQ-A响应,则为A类;或者如果是REQ-B,则为B型。

非接触式读卡器的驱动程序应将此信息传递给您的软件。 我建议您获取ISO 14443-3标准的副本,它解释了卡发现和防冲突协议的初始步骤,因此您可以看到类型A和B之间的差异。

答案 2 :(得分:0)

@haythem souissi

您可以在pcsc3_v2.01.09_sup(http://pcscworkgroup.com/Download/Specifications/pcsc3_v2.01.09_sup.pdf)中找到卡的列表