是否可以使用ATR来确定我是否拥有ISO14443A或ISO14443B类型的卡?如果是,怎么办?
最佳答案
由于mictter正确为explained,因此仅对ISO 7816联系人卡存在真实的ATR。我可以接受这样的论点,即等效于ISO 14443的可能是ATQA/ATQB,因为这是激活后从标签中获得的第一个答案,尽管我宁愿说ATR的等效物是ATQA + SAK + ATS的组合( A型)和ATQB + ATTRIB答案的组合(B型)。
关于您看到的ATR,根据PC/SC specification,我认为这是PC/SC模拟的ATR。
对于智能卡(ISO 14443-4传输协议(protocol)),此ATR的格式为
3B 8n 80 01 T[1]..T[n] xx
与
T[1]
到T[n]
T[1] T[2] T[3] T[4]
),ATQB协议(protocol)信息字段(T[5] T[6] T[7]
)和ATTRIB MBLI字段(T[8]
)组成。 因此,您可以进行某种形式的匹配,以猜测它是A型还是B型智能卡。 IE。如果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
识别卡的协议(protocol):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)。关于nfc - 从ATR确定卡类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23404314/