NFC 标签类型识别:ATQA、SAK、ATS 完全解读

当 NFC 读卡器靠近一张标签时,在读出任何 NDEF 数据之前,标签会先通过反碰撞(Anti-collision)流程上报自己的"身份证"——几个关键字节。读懂这些字节,就能在不读取任何应用数据的情况下判断芯片型号、UID 长度和协议能力。本文以 ISO 14443 Type A 为主线,完整解读 ATQA、SAK、ATS 三个核心字节,并给出常见芯片的对照速查表。

一、反碰撞流程:标签自报家门的过程

读卡器与 Type A 标签的初始交互遵循 ISO 14443-3 定义的四步流程:

ATQA 告诉你"这是哪类平台",SAK 告诉你"这张卡遵循什么协议",ATS 则补充"传输参数细节"。三者组合即可唯一定位绝大多数市售芯片。

二、ATQA:请求应答字节

ATQA 共 2 字节 16 位。其中两个最高有效位(bit 8)标识 UID 大小,其余位编码芯片平台。常见 ATQA 值如下:

ATQA(十六进制)芯片家族UID 长度说明
00 04 / 00 44MIFARE Ultralight、NTAG 21x 系列7 字节NXP NFC Forum Type 2 平台
00 08MIFARE Classic 1K / Mini4 字节最经典的 Classic 1K 组合
00 18MIFARE Classic 4K4 字节同家族,容量更大
03 44MIFARE DESFire EV1/EV2/EV37 字节ISO 14443-4(Type 4)
03 04MIFARE Plus(SL3 模式)7 字节向下兼容 Classic
00 02MIFARE Classic(随机 UID)7 字节部分防克隆版本

注意:同一芯片在不同级联层级的 ATQA 可能不同(如 00 04 与 00 44 属于同一芯片的不同 cascade level),这属于正常现象而非不同型号。

三、SAK:选择确认字节

SAK 只有 1 字节,但信息密度极高。关键位定义如下:

SAK芯片ISO 14443-4NFC Forum
0x08MIFARE Classic 1K
0x18MIFARE Classic 4K
0x00Ultralight / NTAG 21x是(Type 2)
0x20DESFire / NTAG 424 DNA / JCOPType 4
0x28MIFARE Plus(SL1→SL3)

四、ATS:选择应答字节(仅 14443-4 卡)

若 SAK bit 6 = 1,读卡器发送 RATS 后标签回应 ATS,进一步说明传输能力。ATS 结构为:[TL] [T0] [TA(1)] [TB(1)] [TC(1)] [历史字节]。以 DESFire EV3 的 ATS 06 75 77 81 02 80 为例:

调试支付终端时,ATS 是判断卡片是否达到目标波特率的第一手资料。

五、Type 3(FeliCa)与 Type 5(ISO 15693)的识别

日本交通卡(Suica)、部分国内园区卡使用 FeliCa(Type 3),它不走 ATQA/SAK 流程,而是响应 REQC(0x30)命令,返回 18 字节的 SENSF_RES,前缀 01 01 是 FeliCa 家族的明显标志。而 ICODE SLIX、ST25TV 等仓储/图书馆标签属于 ISO 15693(Type 5),使用 Inventory 命令响应 1 字节 DSFID + 8 字节 UID,读距可达 1 米以上但速率较慢。手机 App(如 NXP TagInfo)会把这三类协议统一展示,自己写底层驱动时则需要分别处理。

六、实用识别流程与技巧

  1. 先看 ATQA 前半字节:00 开头大概率是 NXP Type 2 平台或 Classic,03 开头大概率是 14443-4 支付卡;
  2. 再看 SAK bit 6:为 1 则发 RATS 取 ATS,为 0 则按 Type 2 / Classic 路径处理;
  3. UID 长度辅助判断:4 字节 UID 的现代标签(ATQA 00 08)多为老版 Classic 或兼容卡,7 字节 UID 是近十年主流;
  4. 遇到识别不出的组合,用固定模板记录 ATQA+SAK+ATS 全部字节,对照 NXP 产品选型手册即可缩小范围。
国内门禁场景提示:大量 2015 年前的旧门禁卡是 MIFARE Classic 1K(ATQA 00 08 / SAK 08)。若新发的员工卡 SAK 为 0x20 且 ATQA 为 03 44,则基本可断定为 DESFire,安全级别高一个档次。

七、相关工具与延伸阅读

拿到手上的标签字节后,可以配合本站工具继续分析:TLV 解析器 解析标签返回的数据结构,APDU 状态码速查 解释 14443-4 卡的响应状态字,ATR 解码器 处理接触式双界面卡的复位应答。想继续深入 NFC 主题,推荐阅读本知识库的《NDEF 报文格式详解》《如何向 NFC 标签写入 NDEF》《MIFARE Classic 存取控制位详解》