7

我检查了 MIFARE Ultralight 和 TOPAZ/Jewel IC 标签的编程接口。API 很好地描述了字节如何保存在卡上,如何寻址内存块,如何进行所有操作,如读取、全部读取、使用 OTP(一次性可编程)功能、如何读取 ROM 字节、如何从空闲状态切换到就绪状态(REQA、WUPA 命令),它说明命令是否受 CRC 保护,如何访问标签 UID 等。

当开始对 NFC 阅读器(ACR122U 或 SCL010)进行编程时,我发现 PCD(阅读器)和 PICC(标签)之间的所有通信都以 ATR(Answer-To-Reset)命令开始,正如 Internet 上所描述的那样PCD 发送给 PICC 用于识别目的。

但是没有任何标签文档提到 ATR 命令——所有与标签通电时的通信 (PQR) 都以 REQA、WUPA 命令开始,以便将卡切换到就绪模式。

我的理解是 ATR 是由 PC/SC 基于读卡器与之通信的 NFC 卡构建的。一旦阅读器检测到基于它的标签是什么类型的技术,它就会创建 ATR。同样根据文档,不同 NFC 阅读器的 ATR 对于相同的 NFC 标签是不同的。

我对吗?PC/SC 是否构建 ATR?

BR 斯坦

4

2 回答 2

16

简短的回答:

  • 您对 PCSC 阅读器生成的 ATR 是正确的
  • 我认为无论非接触式卡的读卡器如何,ATR 都将保持不变

长答案:

ATR 适用于接触式卡,并在 ISO 7816 中指定。对于非接触式卡,生成 ATR 的是 PC/SC 读卡器 (IFD)。

ATR 的构建基于:

  • 适用于 ISO 14443 A 类卡的 ATS(选择答案)
  • ISO 14443 B 类卡的 ATQB 和 ATTRIB 字节

ATR 的格式为 3B 8X 80 01 HB_ATS Parity_Byte,其中 X 是 ATS 的历史字节 (HB_ATS) 的字节数。

PC/SC 规范的第 3.1.3.2.3 节给出了非接触式卡 ATR 的确切结构。

鉴于唯一的变量是 ATS,无论读者如何,它都应该是相同的。

——席德

于 2011-06-23T15:46:31.353 回答
1

ATR 包含固定字段以及可选字段(条件)。因此,根据字段的某些值,可能会省略后续字段,因此 ATR 对于不同的阅读器可能会有所不同,但它们都符合标准。

在此处查看智能卡教程。
简而言之,ATR 帧如下:
在此处输入图像描述

于 2013-02-26T08:23:36.547 回答