是否可以使用ATR来确定我是否有ISO14443A或ISO14443B型卡?如果是,怎么样?
答案 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]
T[1] T[2] T[3] T[4]
),ATQB协议信息字段(T[5] T[6] T[7]
)和ATTRIB MBLI字段(T[8]
)的串联。因此,如果它是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类型。
所以我建议的方式是:
非接触式读卡器的驱动程序应将此信息传递给您的软件。 我建议您获取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)中找到卡的列表