Skip to content

← 返回 NFC.cool Blog

NFC 标签终极指南:每一款芯片、它适合做什么、什么设备能读它

一部 iPhone,背后是发光的 NFC 图标,前面排成一排各种形态的 NFC 标签:贴纸、圆片、PVC 卡、钥匙扣、腕带和一枚透明 Inlay

你点开一个 NFC 标签的商品链接。上面写着“NFC 213”,或者“兼容 NTAG215”,又或者只有一句“1K NFC 卡,所有手机通用”。你只想知道一件事:它能不能干我想让它干的活?而商品页回答不了你,因为写商品页的人自己也不知道。

我花了好几年打造 NFC.cool Tools,这款应用每次被轻触时要做的第一件事,恰恰就是回答这个问题:这是什么芯片,它能做什么?光是芯片识别这部分代码,就能认出七家厂商的大约六十款产品,而其中每一款之所以会进这份名单,都是因为有人把它贴到手机上,结果它的表现跟商品页承诺的不一样。写那段代码的时候,我一直希望世上能有一份这样的参考资料。它故意写得很长。如果你想看简短版,NFC 标签入门指南 是最好的起点,需要深入时它也会链回这里。

在看那些表格之前,先给你一句话结论:没有最好的 NFC 标签,只有最适合这项任务的芯片,而任务由三件事决定:你要存多少东西、你要防住谁,以及什么设备必须能读它。


怎样用好这份指南

这份指南里的每一个数字,都来自厂商的数据手册、Apple 或 Google 的平台文档,或者我自己应用的代码,参考资料 列在文末。凡是我亲手摆弄过的芯片,我会用一段实测笔记说明。没摆弄过的,我也会直说:那些冷门型号的信息来自数据手册,而数据手册是承诺,不是实测。

有两样东西你在这里找不到:写入第一枚标签的分步教程(那是 写入指南 的事),以及 NTAG 424 DNA 的完整故事,它有 专门的一篇文章。


NFC 标签的物理构造

一枚 NFC 标签由三样东西粘在一起组成:一颗沙粒大小的 芯片,一圈由蚀刻铝或铜绕成几匝的 天线,以及承载它们的 基材,基材可以是纸质贴纸、PET Inlay、PVC 卡片或者玻璃胶囊。芯片没有电池,它靠手机供电。

原理是电感耦合。手机的天线是一个线圈,驱动着一个每秒交变 1356 万次的磁场。把第二个线圈放进这个磁场,它里面就会感应出电流,跟无线充电器是同一个原理,只是功率小得多得多。标签的芯片就靠这股感应电流活着。要回传数据时,它并不自己发射任何信号,而是在天线两端反复接通、断开一个负载,手机的线圈会把这感知为自身磁场的一点点变化。这个技巧叫 负载调制,正因为如此,活全由手机来干,标签才能便宜到八美分一枚。

读取距离之所以是现在这样,也是这个原因。小线圈的磁场强度随距离的三次方衰减,所以在一厘米处读得好好的标签,到了十厘米就什么都收不到。我把它想成一支蜡烛:离得近,你能借着它看书;隔着整个房间,再怎么眯眼也没用。NFC Forum 自己的定义写的是“典型距离最远 2 厘米”,Android 的文档写的是“4 厘米或更短”,NXP 的数据手册写的则是“最远 100 毫米,取决于场强和天线几何形状”。三种说法都对。手机上的数字是你实际会看到的;100 毫米则是芯片配上大读卡器和大天线时的能力。

数据速率并不高,因为根本不需要更高。Type A 或 Type B 标签以 106 kbit/s 通信,速度更快的芯片会在初始握手之后协商到 212、424 或 848 kbit/s。FeliCa 跑在 212 或 424。ISO 15693 这个远距离家族更慢,常规模式只有 26.48 kbit/s,因为它的设计初衷是让仓库门禁在一米开外读取,而不是让手机来读。无论哪种速率,把一枚 NTAG216 的 888 字节完整导出一遍,都只需要几分之一秒。

标准基础速率更快的模式回传方式
ISO/IEC 14443 Type A 和 B106 kbit/s支持协商的芯片可达 212、424、848 kbit/s(DESFire、Plus、NTAG 424 DNA)在 847.5 kHz 副载波上做负载调制
FeliCa(JIS X 6319-4、ISO/IEC 18092)212 kbit/s424 kbit/s负载调制
ISO/IEC 1569326.48 kbit/s(低速模式 6.62 kbit/s)NXP 快速模式 53 kbit/s;ICODE 3 最高 212 kbit/s在 423.75 kHz 副载波上做负载调制

缩写大杂烩:标准、Forum 类型,以及哪些根本不是 NFC

每个商品页都混用着三套命名体系:定义无线电部分的 ISO 标准,定义数据如何排布的 NFC Forum 标签类型,以及厂商自己的产品名。下面是一张对照图。

标准

标准它定义了什么NFC Forum 名称芯片举例
ISO/IEC 14443 Type A(第 1 至 3 部分)近耦合卡、106 kbit/s、Type A 调制、防冲突、UIDNFC-ANTAG、MIFARE Ultralight、MIFARE Classic、Topaz
ISO/IEC 14443 Type B同上,但调制方式不同,也没有同等意义上的 UIDNFC-BST SRI512、Calypso 交通卡、许多电子护照
ISO/IEC 14443-4架在 A 或 B 之上的传输协议,叫 ISO-DEPISO-DEPDESFire、NTAG 424 DNA、处于 SL3 的 MIFARE Plus、银行卡、护照
ISO/IEC 7816-4在 ISO-DEP 上使用的命令语言(APDU)和文件系统上一行里的所有芯片
ISO/IEC 7816-6其中包括芯片厂商代码的注册表UID 的第一个字节
ISO/IEC 15693疏耦合卡,配合合适的读卡器可达一米,8 字节 UIDNFC-VICODE、ST25TV、ST25DV、TI Tag-it、NTAG 5
JIS X 6319-4索尼的 FeliCaNFC-FFeliCa Lite-S、Suica、八达通(Octopus)
ISO/IEC 18092NFC 本身(NFCIP-1):点对点模式以及手机使用的被动模式你的手机

NFC Forum 标签类型

NFC Forum 并没有设计芯片。它写了五套“配方”,规定如何把 NDEF 消息(每部手机都看得懂的容器格式)存进那些早已存在的芯片里。这就是“Type 2 标签”的含义:它不是一款芯片,而是一种排布方式。

Forum 类型无线接口内存模型典型芯片手机支持
Type 1NFC-A8 字节的块,可一次性锁定Innovision/Broadcom Topaz两个平台都能读;NFC Forum 在 2021 年发布的规范中删除了 Type 1
Type 2NFC-A4 字节的页,第 3 页是能力容器,TLV 块NTAG21x、MIFARE Ultralight、ST25TN、复旦 FM11NT0x1、Infineon my-d moveiPhone 和 Android,包括 iPhone 后台读取
Type 3NFC-F16 字节的块,服务代码FeliCa Lite-S、FeliCa StandardiPhone 和 Android(Android 必须支持 NFC-F)
Type 4架在 NFC-A 或 NFC-B 上的 ISO-DEP用 APDU 选择的文件:一个 CC 文件和一个 NDEF 文件NTAG 424 DNA、DESFire、ST25TAiPhone 和 Android
Type 5NFC-V4 字节的块,CC 在第 0 块ICODE SLIX 和 SLIX2、ST25TV、ST25DV、NTAG 5iPhone 从 iOS 13 起支持,Android 通过 NfcV 支持;2015 年加入 Forum

有两样东西是刻意不在这张表里的。MIFARE Classic 根本不是 Forum 标签类型;Classic 上的 NDEF 是 NXP 自己的一套映射,部分 Android 手机支持,而 iOS 在任何机型上都不支持。另外,Forum 的配方完全不涉及安全。一枚 Type 2 标签可以是普通的 NTAG213,也可以是带 AES-128 认证的 NTAG 224 DNA;一枚 Type 4 标签可以是光秃秃的 ST25TA02K,也可以是一张银行卡。类型告诉你的是 NDEF 消息怎么存,而不是谁能拿到它。

哪些东西不是 NFC 标签

我收到的“为什么我的手机读不了这个”的消息里,有一半说的东西根本就不是 NFC。手机的 NFC 线圈调谐在 13.56 MHz,只会说上面那些协议。除此之外的一切,在它眼里都是隐形的,不管长得多像标签。

看起来像标签,但其实是频率它实际上是什么手机能读吗
看不到芯片的办公室或停车场门禁卡125 kHz低频 RFID:EM4100 只读 ID、HID Prox、T5577 可重写卡不能,任何应用都改变不了这一点
宠物芯片134.2 kHzISO 11784/11785 FDX-B 应答器不能
零售防盗或物流标签860 至 960 MHz超高频 RAIN RFID,EPC Gen2不能
酒店房卡或老式交通卡13.56 MHzMIFARE Classic 或某种私有的高频卡Android 有时可以,iPhone 只显示 UID
银行卡13.56 MHz说 ISO-DEP 的 EMV 智能卡技术上可以;应用能读出卡上的应用列表和公开数据,但 Apple 的 Core NFC 禁止读取支付卡,而且没有任何手机能做出一张可用的副本
护照13.56 MHz符合 ICAO 9303 的电子证件可以,用机读区当钥匙;这个我做过
安全密钥13.56 MHz基于 ISO 7816 的 FIDO2 认证器浏览器可以用,但不是当作标签来读

最让人心疼的是那张 125 kHz 的门禁卡。它能刷开门口的读卡器,它是一张里面有线圈的塑料卡,但它永远不会跟手机说话。我写过一篇 为什么 iPhone 打不开你小区的门,因为诚实的答案是硬件层面的。


怎样读懂数据手册和商品页

数据手册的首页就有你需要的全部数字,好的商品页会照抄过来。下面逐一说明每个数字的含义,以及哪些会骗人。

用户内存与总内存

每颗芯片的 EEPROM 都比你能用的多。一枚 NTAG213 总共有 180 字节,其中 144 字节归你;另外 36 字节存放着 UID、锁定位、能力容器和配置页。一张 MIFARE Classic 1K 有 1024 字节,其中 752 字节是数据,因为每个扇区都要让出一个块来存密钥。商品页总是报更大的那个数字。真正要紧的是 用户内存,而即便是它,也不等于一条 NDEF 消息能装下的量,这是下一节要讲的。

UID

唯一标识符在出厂时烧录,无法更改,除非是那些专门为了能改它而造的克隆芯片。UID 有三种长度:

UID 长度出现在哪里说明
4 字节老款 MIFARE Classic,以及如今的廉价 Classic 卡NXP 把这类叫作“非唯一标识符”(NUID),因为 4 字节早就不够用了。4 字节 UID 里没有厂商代码。首字节为 08 意味着芯片每次被轻触都会生成一个随机 ID
7 字节NTAG、Ultralight、DESFire、NTAG 424 DNA、Classic EV1(可选),FeliCa 的 8 字节 IDm 算是近亲首字节是厂商代码
8 字节所有 ISO 15693 芯片首字节永远是 E0,第二个字节是厂商代码

厂商代码来自 ISO/IEC 7816-6 注册表,它是核查一个商品页最快、也最可靠的办法。如果一枚“正品 NXP”标签报出的是 1D,那它就是复旦造的。

代码厂商
01摩托罗拉(Motorola)
02意法半导体(STMicroelectronics)
03日立(Hitachi)
04恩智浦(NXP Semiconductors)
05英飞凌(Infineon)
07德州仪器(Texas Instruments)
08富士通(Fujitsu)
16EM Microelectronic
1A索尼(Sony)
1D上海复旦微电子
25Innovision(Topaz)
2CImpinj
2E博通(Broadcom)

ATQA、SAK 和 GET_VERSION:读卡器怎样区分芯片

Type A 芯片应答手机时,会发出两个小小的值:ATQA 和 SAK。读卡器(包括我的应用)用 SAK 把芯片归入各个家族,因为 SAK 的各个位说明了芯片是否支持 ISO-DEP,以及它大致属于哪个家族。NXP 自己的芯片识别应用笔记用粗体写着,不要把 ATQA 用于任何判断,因为它会撞车、会误导,我的经验也确实如此。

SAK家族常见的 ATQA
00NTAG 和 MIFARE Ultralight,全部00 44
08MIFARE Classic 1K,处于安全等级 1 的 MIFARE Plus 2K 或 SE00 04(4 字节 UID),00 44(7 字节)
09MIFARE Classic Mini
18MIFARE Classic 4K,处于等级 1 的 MIFARE Plus 4K00 02 或 00 42
10、11处于等级 2 的 MIFARE Plus X
20一切支持 ISO-DEP 的芯片:DESFire、NTAG 424 DNA、处于等级 3 的 Plus、银行卡、JCOP03 44(DESFire、424),使用随机 ID 时为 03 04

既然所有 NTAG 和 Ultralight 都应答 SAK 00,要把 NTAG213、NTAG216 和 Ultralight EV1 区分开,就还需要一条命令:GET_VERSION。它返回八个字节,其中三个起作用。第 2 字节是产品类型(03 Ultralight、04 NTAG、07 NTAG I2C、01 DESFire、02 Plus、08 DESFire Light),第 4 字节是代际,第 6 字节编码了存储容量。NFC.cool 就是靠它知道自己面对的是什么,这也是读取 Amiibo 的游戏机向标签发出的第一个问题。

芯片GET_VERSION 响应
NTAG21300 04 04 02 01 00 0F 03
NTAG21500 04 04 02 01 00 11 03
NTAG21600 04 04 02 01 00 13 03
NTAG21000 04 04 01 01 00 0B 03
NTAG21200 04 04 01 01 00 0E 03
Ultralight EV1 48 B00 04 03 01 01 00 0B 03
Ultralight EV1 128 B00 04 03 01 01 00 0E 03
Ultralight AES00 04 03 0x 04 00 0F 03
NTAG 223 DNA00 04 04 02 04 00 0F 03
NTAG 424 DNA(包在 APDU 里)厂商 04,类型 04,主版本 30,容量 11

也有不支持 GET_VERSION 的芯片:初代 Ultralight、Ultralight C 和老款 NTAG203 从来就没有这条命令,大多数克隆芯片也没有。这种缺失本身就是一种指纹。

擦写寿命、数据保存期、工作温度

这三个数字,商品页几乎从来不写,数据手册却一定会写。

  • 擦写寿命 指一个字节能被重写多少次。对任何现行芯片来说,100,000 次是底线;Classic 时代的芯片和初代 Ultralight 标称 10,000 次。DESFire EV3 和 ST25DV 家族的典型值是 1,000,000 次。

  • 数据保存期 指字节在不通电的情况下能保存多久。10 年是老标准,NXP 给 NTAG 424 DNA 和 ICODE SLIX 家族标的是 50 年,ST 给 ST25TA 这一系列 Type 4 芯片标的是 200 年。保存期是在室温下标定的;高温会缩短它。

  • 工作温度 对大多数 NXP 消费级芯片是 -25 到 +70 °C,ST 和 EM 的型号是 -40 到 +85 °C,ICODE 3 最高可到 105 °C。瓶颈通常不在芯片,而在背胶和基材。

安全等级阶梯

这是商品页里最爱说谎的部分。“加密”“安全”“防克隆”这些字样,被印在了唯一保护只是一个明文传输的 32 位密码的标签上。下面是这道阶梯,从下往上排,本指南里的每一颗芯片都站在其中某一级上。

级别是什么芯片能防住什么
0. 什么都没有谁都能读、谁都能写初代 Ultralight、NTAG203、TI Tag-it Standard、Topaz什么也防不住
1. 锁定位单向的位,让页面永久只读所有 Type 2 和 Type 5 芯片重写;防不住复制
2. 密码一个 32 位密码加一个 16 位确认值(PACK),可选失败次数上限;在 NTAG21x 上,密码以明文方式在空中传输NTAG21x、Ultralight EV1、NTAG 223 DNA、ICODE SLIX 家族(32 位)、ST25TV(32 或 64 位)、ST25TA(128 位)能挡住拿着应用随手重写的陌生人;挡不住拿着嗅探器、铁了心的攻击者
3. CRYPTO1NXP 上世纪 90 年代的 48 位流密码MIFARE Classic、处于等级 1 的 MIFARE Plus自 2008 年起什么也防不住;按第 0 级对待
4. 三重 DES用 16 字节密钥做双向认证Ultralight C、FeliCa Lite-S、DESFire D40 和 EV1没有密钥就复制不了内容
5. AES-128双向认证、安全报文Ultralight AES、NTAG 224 DNA、DESFire EV1 至 EV3、DESFire Light、处于等级 3 的 Plus、ICODE DNA、FeliCa Standard、EM4425同上,而且用的是至今仍被信任的密码算法
6. AES 加 SUN每次轻触都会在 URL 本身里生成一份全新的密码学证明NTAG 424 DNA、NTAG 22x DNA、DESFire EV3克隆,因为副本无法为下一次轻触签名
7. 防拆回路一根导线,只要被弄断过一次,就会永久报告NTAG 213 TT、NTAG 424 DNA TT、NTAG 22x DNA StatusDetect、ICODE 3 TT、ST25TV02KC-T封条被重复使用

有两项功能不在这道阶梯上,而是在它旁边。原厂签名 是厂商写入的一份针对 UID 的数字签名,让读卡器可以核验芯片确实出自 NXP 或 ST。它防不住复制,因为克隆芯片可以带着一份复制来的签名,NXP 在自己的应用笔记里也是这么说的。至于 计数器(NTAG213/215/216 上的 24 位读取计数器,Ultralight EV1 上的三个单向计数器,SLIX2 上的 16 位写入计数器),它们是为具体用例服务的,不是安全功能,除非被纳入一条 SUN 消息。


NDEF,以及标签上究竟能装下什么

NDEF(NFC Data Exchange Format,NFC 数据交换格式)是一个信封。手机并不是从标签上读出“一个网址”;它读出的是一条包含 URI 记录的 NDEF 消息,而信封本身是有分量的。知道了这个分量,你才能回答“我的链接能不能塞进一枚 NTAG213”。

记录本身

每条记录都以一个标志字节开头(消息开始、消息结束、短记录,以及一个三位的类型名称格式),接着是类型的长度、负载的长度(负载小于 256 字节时占一个字节,否则占四个字节)、类型本身,最后是负载。所以,一条短 URL 记录在你链接的第一个字节之前,就要先花掉 4 字节的头部。

记录类型负载
URL知名类型 U一个前缀字节,加上 URL 的其余部分(UTF-8)
文本知名类型 T一个状态字节、一个语言代码(en),然后是文本
Smart Poster知名类型 Sp里面套着一整条 NDEF 消息:一个 URL,加上可选的标题和一个动作
联系人MIME text/vcard原样的 vCard 文本
Wi-FiMIME application/vnd.wfa.wscWi-Fi Simple Configuration 属性:SSID、认证类型、密钥
Android 应用外部类型 android.com:pkg一个包名;Android 会打开这个应用或它在 Play 商店的页面

前缀字节是 URI 记录里唯一的巧思。它不把 https:// 一个字母一个字母地写出来,而是让负载的第一个字节代表一个常见前缀,再由手机把它还原回去。

代码前缀代码前缀
00无12rtsp://
01http://www.13urn:
02https://www.14pop:
03http://15sip:
04https://16sips:
05tel:17tftp:
06mailto:18btspp://
07ftp://anonymous:anonymous@19btl2cap://
08ftp://ftp.1Abtgoep://
09ftps://1Btcpobex://
0Asftp://1Cirdaobex://
0Bsmb://1Dfile://
0Cnfs://1Eurn:epc:id:
0Dftp://1Furn:epc:tag:
0Edav://20urn:epc:pat:
0Fnews:21urn:epc:raw:
10telnet://22urn:epc:
11imap:23urn:nfc:

所以 https://nfc.cool/ 会被存成字节 04 加上 nfc.cool/:一个十七个字符的 URL,负载只占九个字节。NXP 自己的 NTAG 5 数据手册里附了一个例子:D1 01 0C 55 01 后接 nxp.com/nfc,解码出来就是 http://www.nxp.com/nfc。

记录外面的那层信封

在 Type 2 或 Type 5 标签上,消息装在一个 TLV 里:一个表示“NDEF 消息”的字节(03),一个长度字节(消息达到 255 字节或更长时占三个字节),消息本身,再加一个终止字节(FE)。Type 4 标签上没有 TLV;NDEF 文件以一个两字节的长度开头。另外,在出厂状态的 NTAG213 或 NTAG212 上,用户内存的前五个字节已经被一个 Lock Control TLV 占用了,这是 NXP 出厂时预先写好的,每个写入工具都会保留它。

下面是一条 https:// 链接的账,针对大多数人会买的那颗芯片,手算一遍:

  • NTAG213 用户内存:144 字节

  • 减去出厂的 Lock Control TLV:139

  • 减去 NDEF TLV 的封装(03、长度、FE):消息可用 136 字节

  • 减去记录头(标志、类型长度、负载长度、U):负载可用 132 字节

  • 减去前缀字节:https:// 之后还能写 131 个字符

什么能装进哪颗芯片

标签NDEF 区域https:// 之后的 URL 字符数最简 vCard(132 B,姓名、电话、邮箱、网址)典型 vCard(250 至 500 B)Wi-Fi 记录(67 至 88 B)
NTAG210、Ultralight EV1 48 B4840不能不能不能
NTAG212128115不能不能能
Ultralight EV1 128 B128120不能不能能
NTAG213,出厂状态144131不能,差 9 字节不能能
NTAG213,去掉锁定 TLV144136不能,差 4 字节不能能
ST25TN01K160约 147能,勉强不能能
NTAG215声明 496(用户内存 504)483能能,大多数可以能
NTAG216声明 872(用户内存 888)859能能能
ICODE SLIX112(含 CC)100不能不能能
ICODE SLIX2316约 300能通常能能
NTAG 424 DNA256 字节的 NDEF 文件249能小的可以能
DESFire EV3 2K最大 2048 字节的 NDEF 文件最多 2038能能能

有两处脚注常常让人栽跟头。NXP 自己在 NTAG215 和 NTAG216 上写的能力容器,声明的是 496 和 872 字节,比用户内存少,所以 Android 的 getMaxSize() 报的是那个较小的数字,而它是对的。另外,一张包含姓名、电话、邮箱和网址的 vCard,套信封之前是 132 字节,套上之后是 148 字节,这就是为什么它差一点塞不进 NTAG213,也是为什么做名片的厂商默认都用 NTAG215 或 NTAG216。我在入门指南里用的那些约数(大约 130、480 和 850 个字符),就是把这些数字的零头抹掉之后的结果。


内存映射:芯片上什么东西在哪里

如果你曾经在 NFC.cool 里导出过一枚标签,然后对着那堆十六进制发呆,这一节就是你的解码手册。

Type 2:NTAG213 的页面映射

页字节数内容
004UID 第 0 至 2 字节和一个校验字节
014UID 第 3 至 6 字节
024校验字节、一个内部字节、两个管第 3 至 15 页的静态锁定字节
034能力容器:E1 10 12 00(魔数、版本 1.0、18 x 8 = 144 字节、允许读写)
04 至 27144用户内存,TLV 就放在这里
284管第 16 页及以后的动态锁定字节
294CFG0:镜像配置、镜像落在哪一页,以及 AUTH0,即第一个受密码保护的页
2A4CFG1:带读写保护位的 ACCESS 字节,以及失败次数上限 AUTHLIM
2B4PWD,即密码,只能写不能读
2C4PACK,两字节的确认值,加上两个保留字节

NTAG215 的结构相同,用户内存一直到第 81 页,配置位于 83 至 86 页;NTAG216 的用户内存一直到 E1,配置位于 E3 至 E6。能力容器的这些位都是单向的:一旦第 3 字节里的只读标志被置位,或者某个锁定位被置位,就再也清除不掉,应用里的“永久锁定”实际写下的就是这个。在 Type 2 上,“格式化”是往第 4 页写一个空的 NDEF TLV(03 00 FE);它并不会把内存清零,所以在被覆盖之前,旧数据仍然可以被导出来。

Type 4:NTAG 424 DNA 的文件系统

这里没有页。一个名为 D2760000850101 的 ISO 7816 应用里包含三个文件:一个 32 字节的能力容器(E103)、一个 256 字节的 NDEF 文件(E104),以及一个 128 字节的专有文件(E105)。每个文件都有各自的读、写和修改权限,每项权限都对应五把 AES 密钥中的一把。DESFire 的工作方式相同,只是允许你自己创建应用和文件;NTAG 424 DNA 的三个文件是固定的,所以我才把它形容为 一个带三个抽屉、上了锁的小保险箱。

Type 5:ISO 15693 的块

四字节一块,从零开始编号,能力容器在第 0 块(E1 40 后接容量),NDEF TLV 从第 1 块开始。UID、AFI、DSFID 和锁定状态都不在可寻址的块里,要用一条单独的 GET SYSTEM INFORMATION 命令来读。在 ICODE SLIX2 上,最后一个可寻址块(第 79 块)是那个 16 位计数器;在 ICODE 3 上,第 75 块存着一个 24 位计数器,第 76 块及以后是一个单独的配置区。

MIFARE Classic:扇区、尾块和目录

一张 Classic 1K 有 16 个扇区,每个扇区 4 个块,每块 16 字节。每个扇区的最后一块是 扇区尾块:密钥 A、三个访问控制字节、一个空闲字节、密钥 B。第 0 扇区的第 0 块是厂商块,里面存着 UID。为了把 NDEF 放进 Classic,NXP 定义了一套目录:第 0 扇区变成 MIFARE 应用目录(MAD),可以用公开密钥 A0 A1 A2 A3 A4 A5 读取,它列出了哪些扇区以应用代码 03 E1 存放着 NDEF。这些扇区用的是第二把公开密钥 D3 F7 D3 F7 D3 F7。一张刚出厂的卡,所有密钥都是 FF FF FF FF FF FF。Android 版 NFC.cool 格式化 Classic 卡时,写入的就是这套目录和这些密钥,这也是为什么格式化过的 Classic 卡能在部分 Android 手机上读出来,却在任何 iPhone 上都读不出来。


选型决策表

如果你已经知道要干什么、只想知道该用哪颗芯片,从这里开始。

任务芯片理由NFC.cool 支持情况
一个链接、一个 Wi-Fi 网络、一个快捷指令触发器、贴在某样东西上的贴纸NTAG213131 个字符的 URL、密码、计数器,八美分在 iPhone、Android、iPad 和 Mac 上完整支持
一张联系人名片、一个较长的链接、任何需要留出余量的用途NTAG216859 个字符,功能相同,也是我做测试用的芯片完整支持
AmiiboNTAG215游戏机检查的正是这颗芯片和它的 504 字节两个平台都支持备份与恢复
统计海报、名片、演示机上的轻触次数NTAG213、215 或 216硬件读取计数器和 ASCII 镜像,而且应用的轻触计数器支持的正是这三款芯片两个平台都支持 轻触计数器
超小天线、戒指、廉价的一次性用途NTAG 210µ 或 Ultralight EV1 48 B48 字节,17 pF 适合小线圈,没有密码读取和写入
证明产品是正品,轻触一次,无需应用NTAG 424 DNA每次轻触都用 AES-128 自行签名;副本做不到完整配置,包括签名校验
同上,但想要一枚便宜的 Type 2 贴纸NTAG 223 DNAType 2 芯片上的 SUN,144 字节显示为 Type 2 标签;暂不支持 SUN 配置
一个被打开时会报告的封条NTAG 213 TT、NTAG 424 DNA TT、ST25TV02KC-T一根防拆导线,状态被永久记住424 TT 完整支持;其他的按其基础芯片读取
隔着一臂距离做库存盘点或图书馆管理,配合门禁式读写器ICODE SLIX2 或 ICODE 3ISO 15693 用合适的读写器能在 1 至 1.5 米读取,用手机照样能轻触读两个平台都支持读取、写入、格式化
需要被 3D 打印机本身读取的耗材盘ICODE SLIX2OpenPrintTag 标准要求 NFC-V读取和写入
门禁、闸机、交通系统DESFire EV3 或 MIFARE Plus EV2AES、真正的密钥管理、经过认证的安全性识别并导出公开内容;不做任何密钥操作
与单片机通信的无源传感器NTAG I2C plus、ST25DV、NTAG 5同一颗晶粒上集成 I2C 接口和能量采集按其 NFC 一面读取
日本交通或电子钱包体系里的一切FeliCa那里的读卡器说的就是这种语言读取;在 iPhone 上可向 Lite-S 和 Standard 写入 NDEF
贴在金属表面上的标签以上任意一款的抗金属形态让它能用的是铁氧体层,而不是芯片视芯片而定
植入皮下NTAG216(xNT)、NTAG I2C(xSIID)、DESFire(xDF)小小的玻璃天线需要对准手机的最佳位置视芯片而定

表里没有的是:MIFARE Classic。在 2026 年,没有任何一项任务会让我去买一颗 Classic 芯片,下面的章节会解释为什么。


逐个家族细看

每个家族都按同样的方式来讲:一张来自数据手册的规格表,这颗芯片是干什么用的,手机拿它能做什么,以及我手上有的话,再加一段实测笔记。

NTAG 21x:贴纸家族

面向普通消费者出售的 NFC 贴纸、圆片和卡片,几乎全都用这颗芯片。虽然数据手册自 2015 年以来就没改过,NXP 在 2026 年仍把它们全部列为在产。

芯片用户 / 总字节数密码计数器镜像签名擦写寿命 / 保存期状态
NTAG 210µ48 / 64无无无有,可重新编程10 万次 / 10 年在产
NTAG21048 / 8032 位 + PACK,AUTHLIM无UID有10 万次 / 10 年在产
NTAG212128 / 164有无UID有10 万次 / 10 年在产
NTAG213144 / 180有24 位读取计数器UID 和计数器有10 万次 / 10 年在产
NTAG215504 / 540有有有有10 万次 / 10 年在产
NTAG216888 / 924有有有有10 万次 / 10 年在产
NTAG213F、NTAG216F144 或 888有有有有10 万次 / 10 年在产;增加了场检测引脚和休眠模式,便于嵌入电子产品
NTAG 213 TT144 / 184有有UID、计数器和防拆状态有10 万次 / 10 年在产;增加了一根防拆导线
NTAG203144 / 168无,只有一个 32 位 OTP 区16 位写入计数器无无1 万次 / 5 年已停产,由 NTAG213 取代

它们全都是 NFC Forum Type 2、ISO/IEC 14443 Type A、7 字节 UID、106 kbit/s,额定工作温度 -25 到 +70 °C。NTAG210 和 NTAG212 的输入电容是 17 pF,适合小天线;213、215 和 216 是 50 pF。原厂签名是基于 secp128r1 曲线的 ECDSA,32 字节,用 READ_SIG 命令读取;验证用的密钥写在一份不公开的 NXP 应用笔记里,所以几乎没有哪款消费级应用会去核验它。

实际使用中真正要紧的是三项功能:密码(32 位的 PWD,标签用来应答的 16 位 PACK,标明保护从哪一页开始的 AUTH0,以及在猜错指定次数后让标签变砖的 AUTHLIM)、NFC 计数器(24 位,每个读取会话加一,可以用专门的命令读出),以及 ASCII 镜像,它会把 UID 和计数器以文本形式贴进你的 NDEF 消息,于是一个普通的 URL 每次被轻触都会变成 https://example.com/?u=04A1...&c=000123。我写过的飞利浦 Sonicare 刷头用的就是 NTAG213,AUTHLIM 设成了三次,这就是你猜错密码时 刷头会把自己锁死 的原因。

实测笔记:每次发版我都拿这几颗芯片做测试,有人只想买一包、然后再也不用操心的话,我推荐的就是 NTAG216。凡是放在公共场所的标签,都值得设个密码;它能挡住拿着免费应用的人,而大多数人就是这样的人。它挡不住拿着嗅探器的人,因为密码本身是不加密地在空中传输的,这一点我在应用里也直说了。

在手机上:所有型号都能读写 NDEF,iPhone 能在后台读取 URL 记录,两个平台都能对密码、计数器和镜像做底层访问。NFC.cool 在 iPhone、Android 上,以及在 iPad 和 Mac 上通过 USB 读卡器,全都能做到。

NTAG DNA:每次轻触都签名的芯片

三代产品,其中两代仍在生产。

芯片Forum 类型用户字节数密钥SUN签名擦写寿命 / 保存期状态
NTAG 413 DNAType 4160(32 CC + 128 NDEF)3 把 AES-128有,24 位计数器ECC20 万次 / 50 年已不再生产
NTAG 424 DNAType 4416(32 + 256 + 128)5 把 AES-128,可选 LRP,可选随机 ID有,可选加密 UIDECDSA secp224r1,56 字节,外加 AES 原厂密钥20 万次 / 50 年在产;Common Criteria EAL4
NTAG 424 DNA TTType 44165 把 AES-128有,并在消息中附带防拆状态同上20 万次 / 50 年在产
NTAG 223 DNAType 2144 / 240一把 16 字节的 SUN 密钥加一个 32 位密码有,24 位计数器ECDSA secp192r1,48 字节10 万次 / 10 年自 2022 年 2 月起在产
NTAG 224 DNAType 2208 / 304用 AES-128 双向认证取代密码有同上10 万次 / 10 年在产
NTAG 223 和 224 DNA StatusDetectType 2同上同上有,并在消息中附带传感器状态同上10 万次 / 10 年在产

SUN(Secure Unique NFC)正是让这些芯片值 NTAG213 三倍价钱的那项功能:标签把自己的 UID 和读取计数器镜像进 URL,再附上一个针对它们计算的 AES-128 CMAC,每次轻触都重新计算。服务器校验这个 MAC;克隆标签没有密钥,就会校验失败。包括 LRP 模式和那五把密钥在内,我在 NTAG 424 DNA 那篇文章 里全都讲过了,所以这里只说之后的变化:NXP 现在还在卖 NTAG 426Q DNA 和 NTAG X DNA,后者是一颗 16 kB、获得 EAL6+ 认证的联网 Type 4 芯片,所以 424 已经不是最新的 DNA 芯片了,只是你真能以贴纸形式买到的那一款。

22x DNA 家族是个有意思的新成员:Type 2 芯片上的 SUN,这意味着贴纸更便宜,手机也会把它当成普通 NTAG 来读。StatusDetect 版本多了一个传感器:要么是一个导电回路,会不可逆地记录下它曾被弄断;要么是在两个引脚之间测量 0 到 11 pF 的电容,NXP 把它推荐用于液位、湿度和压力检测。

实测笔记:我的第一批 NTAG 424 DNA 标签是在 AliExpress 上花几欧元买的,应用里整套 424 功能都是围着它们做出来的:更换密钥、明文和加密两种模式的 SUN、文件访问权限、保险箱文件、防拆状态。424 也是唯一一颗 NFC.cool 会拿 NXP 公开的公钥去核验原厂签名、并显示“Genuine NXP”的芯片。22x DNA 我只在纸面上见过。

MIFARE Ultralight:票务家族

Ultralight 是 NTAG 的兄长。同样的空中接口,同样的 4 字节页,同样的 SAK,从 EV1 起连命令也一样。区别在于设计意图:Ultralight 是为单程票而造的,NTAG 系列则是为带网址的贴纸而造的,所以 NTAG 出厂时预先写好了能力容器,而 Ultralight 没有。

芯片用户 / 总字节数保护计数器签名擦写寿命 / 保存期状态
MIFARE Ultralight(MF0ICU1)48 / 64锁定位和一个 32 位 OTP 区无无1 万次 / 5 年已不再生产
Ultralight C144 / 192三重 DES 双向认证,16 字节密钥16 位单向无10 万次 / 10 年不推荐用于新设计,由 Ultralight AES 取代
Ultralight EV148 / 80 或 128 / 16432 位密码,AUTHLIM三个独立的 24 位单向计数器有,32 字节10 万次 / 10 年在产
Ultralight AES144 / 240AES-128 双向认证,CMAC 报文,可选随机 ID三个 24 位计数器有,外加一把 AES 原厂密钥10 万次 / 10 年自 2022 年 2 月起在产,Common Criteria EAL3+
Ultralight Nano40 / 56锁定位和 OTP无有10 万次 / 10 年已从 NXP 产品目录中消失,我没找到任何通告

Ultralight EV1 的标志性功能是那三个单向计数器:交通运营方把计数往下扣,芯片拒绝再往回加。Ultralight AES 则低调地回答了“我想要一颗带真正认证的 NTAG213”这个需求:同样是 144 字节,用 AES-128 取代密码,而且是任何手机都能读的 Type 2 标签。

在手机上:这里的所有芯片都被当作 Type 2 标签读取。Apple 的 Core NFC 提供了 .ultralight 家族,并允许应用发送原生命令;Android 有一个 MifareUltralight 类,它是可选的,但我见过的每部手机上都有。NFC.cool 会根据 GET_VERSION 报出 EV1 的各个型号和 AES 版本,并像对待 NTAG 一样处理 EV1 上的密码;AES 认证本身,应用并不做。

MIFARE Classic、Plus 和 DESFire:门禁家族

把三个家族放在一节里,是因为它们讲的是同一个故事:Classic 被攻破了,Plus 是迁移路线,DESFire 是整个行业最终落脚的地方。

MIFARE Classic 就是你那张旧酒店房卡、健身房会员卡以及大量办公室工牌里的芯片。它不是 NFC Forum 标签类型。它有自己的密码算法 CRYPTO1,2008 年被两个研究团队逆向破解:Nohl 和 Plötz 是在显微镜下观察硅片,拉德堡德大学的团队则是观察协议,他们“只需与真实读卡器进行一两次认证尝试,不到一秒钟”就恢复出了一把密钥。NXP 曾上法庭试图阻止第二篇论文发表,结果败诉。十六年后的 2024 年 8 月,Quarkslab 公布了复旦 FM11RF08S 中的一个硬件后门,这是过去五年里最常见的 Classic 兼容芯片;他们还发现了一把更老的后门密钥,早期的复旦芯片、部分英飞凌芯片,甚至一些 2000 年前后的 NXP 芯片都共用这把密钥。Classic 不是安全产品,NXP 自己的 Classic EV1 产品页现在也写着“不推荐用于新设计”,并指向了 DESFire Light。

芯片用户 / 总字节数UID保护擦写寿命 / 保存期状态
Classic Mini224 / 3204 字节CRYPTO110 万次 / 10 年已停产
Classic 1K752 / 10244 字节 NUIDCRYPTO110 万次 / 10 年已停产;EV1 不推荐用于新设计
Classic 4K3440 / 40964 字节 NUIDCRYPTO110 万次 / 10 年已停产;EV1 不推荐
Classic EV1 1K 和 4K同上7 字节或 4 字节,可选随机 IDCRYPTO1;仅 1K 有原厂校验至少 10 万次 / 10 年不推荐用于新设计

关于 iPhone 的直白答案,因为每周都有人问我:iPhone 读不了 MIFARE Classic 卡里的内容,任何应用都改变不了这一点。Apple 的 Core NFC 在 API 里根本没有 Classic 家族,它的 MIFARE 命令文档也直接写明“不支持 Crypto1 协议”。手机能看到 UID 和 SAK,我的应用据此报出芯片家族,到此为止。Android 就不一样了:MifareClassic 类是可选的,只有 NFC 控制器在硬件上带 CRYPTO1 的手机才会实现它(NXP 的控制器带;某一代 Nexus 和 Galaxy 手机里的博通芯片不带)。在这些手机上,NFC.cool 能读出出厂密钥能打开的每一个扇区,还能把一张新卡格式化成 NDEF。

MIFARE Plus 是在 Classic 的内存映射上加装了 AES-128,这样运营方可以先换卡,再换读卡器。它按安全等级运行:SL1 的行为跟 Classic 一样(可选 AES),SL3 是只走 ISO-DEP 的纯 AES,Plus X 在两者之间还有一个 SL2。Plus S 和 Plus X 已经停产;Plus SE(1K,752 字节)和 Plus EV2(2K 或 4K,EAL5+,25 年保存期,典型擦写寿命 1,000,000 次)是现行型号。在 SL1 下,手机看到的是 SAK 08 或 18,跟 Classic 一样;在 SL3 下,它看到的是一张 ISO-DEP 卡。

MIFARE DESFire 则完全是另一种东西:一个小型文件系统,有应用、有文件、有逐文件的访问权限,每个应用最多 14 把密钥,通过 ISO-DEP 以最高 848 kbit/s 收发 APDU。

芯片可用内存密码算法额外功能擦写寿命 / 保存期状态
DESFire D404 kBDES、三重 DES10 万次 / 10 年2011 年逐步淘汰;同年其密钥被功耗分析攻击恢复出来
DESFire EV12304、4864 或 7936 字节DES、3DES、AES-128支持 NFC Forum Type 4,随机 ID至少 20 万次 / 10 年不推荐用于新设计
DESFire EV22560、5120、8192 或 16384 字节AES-128,EAL5+交易 MAC、距离检查、原厂签名20 万次 / 25 年不推荐用于新设计
DESFire EV32560、5120、8192 或 16384 字节AES-128,EAL5+EV2 的全部功能,外加 SUN/SDM 和交易计时器;NFC Forum Type 4 证书 58652至少 20 万次、典型 100 万次 / 25 年,-25 到 +85 °C在产
DESFire Light640 字节仅 AES-128,可选 LRP,EAL4一个固定应用,含六个文件20 万次 / 10 年在产

DESFire 名字里的“2K”,并不是 2048 字节你能直接用的空间。NXP 的对比说明给出了表中那些可用容量,而你创建的每个应用和文件,都要以 256 字节为单位分配,从中划走一块存放自己的头部信息。与其相信标签上的标称值,不如用 FreeMemory 命令直接问卡。DESFire EV3 也给这个家族带来了 SUN,所以 EV3 能玩 NTAG 424 DNA 那套给 URL 签名的把戏,而 EV2 不能。

在手机上:iOS 把 DESFire 当作 .desfire MIFARE 标签交给应用,如果应用请求的是 NDEF 应用,则当作 ISO 7816 标签;Android 用的是 IsoDep。NFC.cool 会根据 GetVersion 识别出代际和容量,并列出无需密钥就允许查看的应用和文件。它不会对 DESFire 做认证,也不会往里写东西;那是运营方自己的工具该干的活,我宁愿直说,也不想装作能做。

ISO 15693:远距离家族

这些芯片是为一米、而不是一厘米的距离设计的。手机照样能读它们(Apple 从 iOS 13 起,Android 通过 NfcV),GoToTags 实测发现,在 iPhone 上 Type 5 标签的读取距离大约是 Type 2 标签的两倍,但它们真正的主场是图书馆的门禁、仓库的货架和洗衣房。UID 是以 E0 开头的 8 字节,块大小是 4 字节,而且这个家族多了三样 Type A 芯片没有的东西:AFI(一个应用族字节,读卡器可以按它筛选)、DSFID(一个数据格式字节),以及 EAS,也就是让商店门口的防盗门响起来的那个电子商品防盗位。

NXP ICODE。它的谱系依次是 SLI(2000)、SLI-S 和 SLI-L(2007)、SLIX 及其 S 和 L 版本(2010)、SLIX2(2014)、ICODE DNA(2016)和 ICODE 3(2024)。不存在什么“SLIX3”;商品页上要是这么写,要么指的是 ICODE 3,要么就是在瞎猜。

芯片用户 / 总字节数保护计数器签名擦写寿命 / 保存期状态
ICODE SLI112 / 128只有锁定位无无10 万次 / 10 年已停产
ICODE SLI-S160 / 256五个 32 位密码:读取、写入、销毁、隐私、EAS无无10 万次 / 10 年已不再生产
ICODE SLI-L32 / 64三个密码无无10 万次 / 10 年已不再生产
ICODE SLIX112 / 128一个用于 EAS 和 AFI 的 32 位密码无无10 万次 / 50 年不推荐用于新设计
ICODE SLIX-S160 / 256五个 32 位密码,隐私模式,销毁无无10 万次 / 50 年在产
ICODE SLIX-L32 / 64三个密码无无10 万次 / 50 年在产
ICODE SLIX2316 / 320五个 32 位密码,隐私模式,销毁16 位,由写入命令推进有,32 字节10 万次 / 50 年在产
ICODE DNA252 / 256AES-128 双向认证,三把密钥16 位有,可重新编程10 万次 / 50 年在产
ICODE 3300 / 304,外加一个 192 字节的配置区六个 32 位密码,两种隐私模式24 位,能像 NTAG 一样统计轻触次数有,32 或 48 字节,可重新编程10 万次 / 50 年,最高 105 °C在产;有 TagTamper 版本

ICODE 3 是值得了解的那一款:它会像 NTAG213 那样把 UID 和轻触计数器镜像进 NDEF 消息,读取速率最高 212 kbit/s,还能自动调谐天线。它没有 AES;带 AES 的是 ICODE DNA,而这两款都不支持 SUN。

意法半导体 ST25TV 和 ST25DV。这是 ST 的 Type 5 产品线,也是整份指南里数据手册数字最漂亮的一条。

芯片用户字节数保护计数器签名擦写寿命 / 保存期状态
ST25TV512、ST25TV02K64 或 25632 或 64 位密码,kill,不可追踪模式,-AD 版本带防拆16 位写入事件计数器TruST2510 万次 / 60 年不推荐用于新设计
ST25TV512C、ST25TV02KC64 或 320密码,kill,静默和隐身模式,-T 版本带防拆无;取而代之的是一个 3 位的唯一轻触码TruST2510 万次 / 60 年在产,供货至 2035 年
ST25TV04K-P51264 位密码,kill无无100 万次 / 40 年在产;带一个能量采集引脚
ST25TV16K、ST25TV64K 及 KC 版本2048 或 819264 位密码,kill无无100 万次 / 40 年K 型号不推荐,KC 型号在产
ST25DV04K、16K、64K 及 KC 版本512、2048 或 8192三个 64 位射频密码加一个 I2C 密码无无100 万次 / 40 年K 型号不推荐,KC 型号在产
M24LR04E、16E、64E512、2048 或 819232 位密码无无100 万次 / 40 年不推荐用于新设计

ST25TV02KC 的 Augmented NDEF 值得单独说一段,因为它常被当成安全功能来卖。这颗芯片每次被读取时,都会把自己的 UID、一个自定义字段和一个三字符的 唯一轻触码 插进 URL,而且完全不碰 EEPROM。轻触码每次都会变,但 ST 的数据手册明明白白地写着它是“可预测的”。它是一个新鲜度令牌,告诉你的服务器这是一次新的轻触,而不是标签为正品的证明。TruST25,也就是 ST 针对 UID 的原厂签名,才是证明真伪的功能,而且和 NXP 的一样,它是一份克隆芯片可以照抄的静态签名。

Type 5 世界的其余成员。德州仪器的 Tag-it HF-I Inlay(Standard 32 字节;Pro 32 字节,带密码保护写入和 kill 命令;Plus 256 字节)遍布每一家在 2015 年前装上 NFC 的图书馆,如今它们全都被标为不推荐或已淘汰。EM Microelectronic 的 EM4233(208 字节,96 位密钥的隐私模式,60 年保存期)可按需供货。英飞凌的 my-d 和富士通的 MB89R118 之所以出现在 NFC.cool 的识别代码里,是因为有用户把它们寄给了我。NXP 的 NTAG 5(link、boost、switch)虽然名叫 NTAG,却是一颗 ISO 15693 芯片,容量 2048 或 512 字节,带 I2C 端口,能量采集最高 30 mW,EEPROM 擦写寿命 1,000,000 次、保存期 40 年:它是给电子产品用的联网标签,不是贴纸,为 NTAG21x 写的软件也没法跟它对话。

实测笔记:每一个 OpenPrintTag 耗材盘里都是 SLIX2,所以我经手过不少,NFC.cool 在两个平台上都能读取、写入和格式化它们。应用做不到的事,我想说清楚:ISO 15693 的密码、隐私、EAS 和 AFI 命令。这些命令字节作为一张参考表写在代码里了;但对应的按钮还没有做出来。

MIFARE 之外的 Type 4:ST25TA

ST 的 ST25TA 家族是基于 ISO/IEC 14443 Type A 的 Type 4 标签,但没有 DESFire 那一整套机制:一个 NDEF 文件、一个能力容器文件和一个系统文件,两个 128 位密码(读和写),以及一个可以统计读取或写入次数的 20 位事件计数器。

芯片NDEF 文件密码计数器签名擦写寿命 / 保存期状态
ST25TA512、ST25TA512B64 字节两个 128 位B 版本为 20 位B 版本有 TruST25100 万次 / 200 年512 不推荐
ST25TA02K、ST25TA02KB(-P、-D)256 字节两个 128 位20 位B 版本有 TruST25100 万次 / 200 年02K 和 02KB 不推荐;02KB-P 和 02KB-D 在产
ST25TA16K、ST25TA64K2048 或 8192 字节两个 128 位无无100 万次 / 200 年在产

两百年的保存期,一百万次擦写,只是速率仅有 106 kbit/s。-P 和 -D 版本带一个通用输出引脚,标签被读取时会切换电平,你就是靠它让一盏灯对手机做出反应的。在两种手机上,这些芯片都被当作 Type 4 标签读取;NFC.cool 能在上面读写 NDEF,并显示 ISO-DEP 的详细信息。

传感器芯片与双接口芯片

这些芯片有两副面孔:一面是 NFC 天线,另一面是 I2C 总线、传感器或者第二个无线电。

芯片NFC 一面另一面内存值得注意的地方
NTAG I2C plus(NT3H2111、NT3H2211)Type 2,888 或 1912 字节,32 位密码,签名最高 400 kHz 的 I2C,64 字节 SRAM 直通,场检测引脚20 万至 50 万次 / 20 年能量采集最高 15 mW;xSIID 植入体里用的就是它
ST25DV(见上文)Type 5最高 1 MHz 的 I2C,一个用于数据流的 256 字节邮箱100 万次 / 40 年通过 V_EH 引脚采集能量,不稳压,按数据手册的说法是“几微瓦”
NTAG 5 link、boost、switchType 5,2048 或 512 字节,5332 带 AESI2C、GPIO、PWM 输出100 万次 / 40 年最高 30 mW 能量采集;switch 版本完全不需要单片机
NHS3100Type 2,由固件模拟一颗 Cortex-M0+,配有精度 0.3 °C 的温度传感器32 kB 闪存,4 kB EEPROM做在一张薄膜上的冷链记录仪,通过 NFC Forum 认证
EM4423“em echo”Type 2,240 字节 NDEF 区超高频 RAIN RFID,共用内存,共用序列号10 万次 / 10 年已停产
EM4425“em echo-V”Type 5,最多 256 字节共享超高频 RAIN RFID,AES-128,防拆焊盘,数字签名10 万次 / 50 年现行型号;同一颗晶粒,手机在一厘米处能读,超高频装卸门读写器在几米外也能读

这些芯片我都没拿来做过东西,所以这张表纯粹来自数据手册。它们之所以出现在这份指南里,是因为它们会以“NFC 芯片”的名义出现在商品页上,把人搞糊涂:NTAG 5 不是 NTAG213,em echo 标签在你的手机上也不会有什么特别的表现。

老旧型号与小众芯片

Topaz(Innovision 出品,后归博通)是 NFC Forum Type 1:8 字节的块,96 或 512 字节,一次性锁定,擦写寿命 10,000 次。两种手机都还能从 Topaz 上读出 NDEF,但 NFC Forum 已在 2021 年的规范中删除了 Type 1,也不再有人在新设计中采用它。经销商手里仍有库存。

FeliCa 是索尼的家族,也是日本公共交通的基础。FeliCa Lite-S(224 字节用户内存,16 字节一块,8 字节 IDm,精简的三重 DES MAC)是标签版本,属于 NFC Forum Type 3;FeliCa Standard 是智能卡版本,在现行的 RC-SA01 上已支持 AES,并获得 Common Criteria EAL6+ 评级,Suica、PASMO、Edy、WAON、nanaco 和香港八达通都跑在它上面。索尼的 FeliCa Plug 模块已于 2026 年 3 月停产。NFC.cool 在两个平台上都能根据系统代码报出交通卡和电子钱包的品牌,能读取 Lite-S 和 Standard,并能在 iPhone 上向它们写入 NDEF。

Kovio NFC Barcode 是一种印刷硅工艺的只读标签,容量 16 字节。Android 至今仍为它保留着一个 NfcBarcode 类。Kovio 的资产在 2014 年转给了 Thinfilm,Thinfilm 在 2019 年停止了 NFC 生产,并在 2021 年改了名。这个类已经是一块化石了。

ISO 14443 Type B 存储芯片。ST 的 SRI512、SRT512 和 SRI4K(512 或 4096 位,以 32 位为一块,两个递减计数器,1,000,000 次擦写,40 年保存期)用在法国和比利时的交通系统以及一些滑雪通行证上。Android 通过 NfcB 开放它们;iPhone 则根本没有底层的 Type B 标签对象,所以除非一张 Type B 卡支持 ISO-DEP 并能应答 SELECT,否则 iPhone 看不见它。巴黎 Navigo 系统所用的 Calypso 就是一种能做到这一点的 Type B 智能卡。

克隆芯片与兼容芯片

这是商品页最不希望你读到的一节。

复旦 FM11NT021 是最常见的那种“NTAG213”,其实并不是 NTAG213。它同样是 45 页共 180 字节,同样有 144 字节的用户区、一个密码、一个 24 位读取计数器,UID 里的厂商代码是复旦的 1D。它没有实现 GET_VERSION,现行的数据手册里也没有列出 READ_SIG 命令,所以读卡器问这两个问题中的任何一个,都只会得到沉默,然后只能退回到按内存大小去猜,这就是为什么 Proxmark3 社区会把它报成 NTAG203。复旦也生产 504 和 888 字节的版本(FM11NT041、FM11NT081)。用来在贴纸上放一个链接,它们没问题。用来做 Amiibo 就不行,因为游戏机第一个问的就是 GET_VERSION。

复旦 FM11RF08 和 FM11RF08S 是大多数廉价“1K”卡里的 Classic 兼容芯片。08S 在 2020 年加入了针对已知 Classic 攻击的防御措施,结果后来被发现带着一把所有出厂卡通用的硬件后门密钥,Quarkslab 在 2024 年公布了它,连同相应的工具,这些工具如今已经进了 Proxmark3 固件。

MIFARE Classic 魔术卡 是专门造出来、让 UID 和厂商块可以被重写的芯片,而真正的 Classic 永远不允许这么做。它的各个代际本身就是一门爱好:

代际怎样修改 UID能否被检测出来说明
Gen1a、Gen1b一条后门唤醒命令能,任何读卡器都可以探测这个后门最早的“中国魔术卡”;门禁系统会把它过滤掉
Gen2、CUID认证后对第 0 块做一次普通写入没有后门可探测;读卡器只能试着写一下兼容手机,是如今最常见的一种
FUID、UFUID只能改一次,或者在封卡之前可改封卡之前可以用来永久克隆一张工牌的一次性卡
Gen3、APDU特殊的 APDU 命令知道这些命令的读卡器可以
Gen4 GTU、GDM、“Ultimate”一套受密码保护的配置;还能模拟 Ultralight 和 NTAG仅在密码仍为默认值时可以一张卡片形态、7 字节 UID、什么家族都能扮演的变色龙

魔术 NTAG21x 卡也存在,而那些完全模拟的版本甚至会接受一份复制来的原厂签名,这正是 NXP 关于静态签名所强调的一点。

用于 Amiibo 的“NTAG215 兼容”芯片。Amiibo 就是一枚普通的 NTAG215,它的 540 字节里装着用这枚标签自己的 UID 派生出的密钥加密并签名的数据。把这些字节复制到另一枚标签上,签名就对不上了,所以备份必须针对目标 UID 重新生成密钥,NFC.cool 的 Amiibo 备份与恢复 做的正是这件事。游戏机的读取流程是:先发 GET_VERSION,然后进行一次由 UID 派生的密码认证,再读取全部 135 页,包括配置页。缺少 GET_VERSION、或者只有 45 页而不是 135 页的芯片,第一步就会失败。TagMo 的文档用一句话概括了这件事:只认 NTAG215。

克隆芯片在应用里会怎么显示。NFC.cool 首先靠 GET_VERSION 来识别。不应答这条命令的芯片,或者应答的内存大小与它宣称的不符的芯片,会按它实际是什么来命名,而不是按商品页上写的。对于 NTAG 424 DNA,应用会再进一步,拿 NXP 的公钥去核验 ECDSA 原厂签名,这是应用里唯一一个能以密码学为依据说出“Genuine NXP”的地方。对于 NTAG21x,应用不读取签名,一方面因为 NXP 的验证密钥受保密协议约束,另一方面因为一份复制来的静态签名反正也能通过校验。对一枚 Type 2 标签来说,诚实的证据链是:厂商代码、GET_VERSION、内存大小,以及芯片宣称的那些功能是否真的存在。


外形与读取距离

芯片决定标签能做什么;外形决定手机能不能够得着它。

外形是什么典型天线尺寸手机读取距离规格与说明
湿 Inlay蚀刻天线和芯片做在 PET 薄膜上,带背胶和离型纸22 至 38 mm2 至 4 cm买芯片最便宜的方式;只能粘一次
干 Inlay同上,但没有背胶同上同上用来层压进别的东西里
纸质或 PET 贴纸一枚带可印刷面层的 Inlay22 至 38 mm2 至 4 cm纸质面层可以印刷,PET 面层能防水
PVC 卡ISO 7810 ID-1,85.60 x 53.98 mm,厚 0.76 mm整张卡3 至 5 cm你能拿在手里的最大天线;也是读卡器设计时的目标对象
圆片、滴胶标签封在坚硬树脂穹顶下的 Inlay,常带一个孔20 至 30 mm2 至 3 cm防水;Amiibo 就是这种外形
钥匙扣装在 ABS 外壳里的 Inlay20 至 30 mm2 至 3 cmGoToTags 的钥匙扣标称 IP67,-25 到 +75 °C
腕带带 Inlay 的硅胶腕带20 至 25 mm1 至 3 cm音乐节、泳池;腕带可以弯,Inlay 最好别弯
抗金属在天线和金属之间垫一层铁氧体片的 Inlay22 至 34 mm贴在金属上 2 至 3 cmSeritag 实测,同一款 22 mm 标签贴在金属上读取距离为 21 至 25 mm,不贴金属时为 26 至 30 mm;工业级 34 mm 版本读取距离为 31 至 40 mm,IP68,-25 到 +85 °C
洗衣标签封在 PPS 纽扣里的芯片16 mm1 至 2 cmSmartrac 给自家高频洗衣标签标称 200 次洗涤、-30 到 +200 °C、60 bar;大多数洗衣标签是只有 UID 的 ISO 15693 芯片
植入体封在 2 x 12 mm 玻璃胶囊或柔性聚合物里的芯片几毫米必须对准手机的那个最佳位置xNT 是 NTAG216,NExT 额外加了一颗 125 kHz 的 T5577,xSIID 是带 LED 的 NTAG I2C plus,xDF 是 DESFire;柔性版本比玻璃版本好读得多

大多数“读不出来”的工单,都能用两条物理规律解释。天线大小决定距离,大致来说:卡片比圆片读得远,圆片比 10 mm 的 Inlay 读得远,而植入体得贴着读。金属会让天线失谐:贴在金属表面上的线圈会在金属里感应出涡流,电感随之下降,谐振频率偏离 13.56 MHz,所以一枚普通标签贴到铁皮柜上就废了。在线圈和金属之间垫一层铁氧体片,能把磁场引导回来,让标签复活,代价是距离更短、成本更高,这就是为什么抗金属标签要贵上三倍。

手机怎么拿,和标签本身一样重要。iPhone 的天线在顶部边缘;Apple 自己的说明是“将 iPhone 的顶部靠近”标签。Android 则因机型而异,通常在背面中央或摄像头附近。入门指南 里有详细的操作说明。


什么设备能读什么芯片

这是一张手机和读卡器的对照矩阵。手机那几列来自 Apple 和 Google 的文档以及我自己的应用;桌面读卡器和极客工具那几列来自厂商的规格表和各个项目自己的文档,除了 iPad 和 Mac 那一列里提到的读卡器之外,这些设备我都没有亲自测试过。

芯片家族iPhone 后台读取iPhone 应用内AndroidiPad 和 Mac 配 USB 读卡器Web NFC(Android 上的 Chrome)ACR122UACR1552U、OMNIKEY 5022PN532 开发板Proxmark3Flipper Zero
NTAG21x、Ultralight EV1 及其他 Type 2仅 URL 记录NDEF、密码、计数器、镜像、导出同左同左,通过 NFC.cool仅 NDEF能能能能,还能模拟能,还能模拟
NTAG 22x DNAURL 记录NDEF、原始命令同左同 Type 2NDEF能能能能按 NTAG 读取
NTAG 424 DNA、ST25TA、作为 Type 4 的 DESFireURL 记录NDEF、APDUNDEF、APDUNDEF、完整的 424 配置NDEF能能能能读取 NDEF;不做密钥操作
Ultralight C格式化后可读 NDEFNDEF、原生命令同左NDEFNDEF能能能能能
Ultralight AES格式化后可读 NDEFNDEF、原生命令同左NDEFNDEF能能能能按 Ultralight 读取
MIFARE Classic不能仅 UID 和家族控制器带 CRYPTO1 的手机上可完整读写仅读取 NDEF,用公开密钥不能能,需密钥能,需密钥能,需密钥能,还能恢复密钥和模拟能,还能恢复密钥和模拟
MIFARE Plus不能SL1 下仅 UID;SL3 下为 ISO-DEPSL1 下同 Classic;SL3 下为 IsoDepUID不能能能能能未见文档说明
DESFire,原生模式不能家族和版本、APDUIsoDep版本不能能能能能仅读取和保存
ISO 15693:ICODE、ST25TV、ST25DV、TI、EMURL 记录自 iOS 13 起支持完整的 ISO 15693 命令集NfcV未测试NDEF不能能不能能,还能模拟能,还能模拟
FeliCa Lite-S 和 StandardURL 记录声明系统代码后可读写NfcF读取;通过 NFC.cool 可写入 FeliCaNDEF能OMNIKEY 上仅 UID能能Lite-S 可读取和模拟
Topaz(Type 1)NDEFNDEFNDEF未测试NDEF能未见文档说明能能未见文档说明
ISO 14443 Type B 存储芯片(SRI512)不能不能NfcB未测试不能能能仅读卡器模式能仅 UID
125 kHz 门禁卡、宠物芯片、超高频标签不能不能不能不能不能不能不能不能125 kHz 能125 kHz 能

有几行值得多说一句。

  • iPhone 后台读取 只对 NDEF URL 记录生效,只在手机已解锁且正在使用时生效,而且在相机、钱包、某个读取会话或飞行模式处于活动状态时不会触发。它从不读取原始芯片。需要 iPhone XS 及更新机型。

  • 哪些 iPhone 能读标签:根据 Apple 在 WWDC 2019 上的讲座,iPhone 7 及更新机型可以在应用内读取。写入和原始命令是从 iOS 13 开始支持的。

  • Android 的 MifareClassic 类是可选的。Google 的原话是:“如果它没有被实现,那么 MifareClassic 永远不会被枚举出来”。决定因素是控制器,而不是 Android 版本。

  • Web NFC 只支持 NDEF,需要 Chrome 89 及更高版本,仅限 Android,而 Apple 对它持反对立场,所以不会有 Safari 版本。这就是为什么本站的 在线 NFC 读取器 在 Android 上能用,而对 iPhone 用户则会提示去用应用。

  • iPad 和 Mac 没有 NFC 无线模块。从 NFC.cool 6.15.0 起,应用改为通过 Apple 的智能卡框架与 USB CCID 读卡器通信;我测试的是 HID OMNIKEY 5022 CL,用户反馈 ACS ACR1552U-M1 和 ACR1255U-J1 也能用,那篇文章 列出了各种限制。通过读卡器可以给 NTAG 设置密码;移除密码则需要一条 OMNIKEY 拒绝执行的命令,所以这件事得用手机来做。

  • ACS ACR122U 不支持 ISO 15693,ACR1252U 和 ACR1255U-J1 也不支持。在 ACS 的产品线里,只有 ACR1552U 支持。OMNIKEY 5022 两者都支持。如果你要给图书馆标签买读卡器,这一点值得事先知道。

  • Proxmark3 和 Flipper Zero 是能够恢复 MIFARE Classic 密钥、模拟卡片的工具。它们就是干这个用的,这份指南之所以提到它们,是因为少了它们,“什么设备能读”这个问题的答案就不诚实了。

读卡器接口Type AType BFeliCaISO 15693125 kHz有密钥时读 ClassicClassic 密钥恢复模拟2026 年 9 月所见价格
ACS ACR122UUSB,PC/SC能能能不能不能能不能不能约 40 至 50 美元;ACS 已停产,仿冒品很常见
ACS ACR1252UUSB,PC/SC能能能不能不能能不能卡模拟模式97.50 美元
ACS ACR1552UUSB,PC/SC能能能能不能能不能卡模拟模式44.81 美元
ACS ACR1255U-J1蓝牙和 USB能能能不能不能能不能不能64.81 美元
HID OMNIKEY 5022 CLUSB,PC/SC能能仅 UID能不能能不能不能69.99 欧元
PN532 扩展板SPI、I2C、UART能仅读卡器模式能不能不能能靠主机工具Classic 1K/4K 和 FeliCa24 至 40 美元
Proxmark3 RDV4USB,可选 BLE能能能能能能能能329 至 529 欧元
Proxmark3 EasyUSB能能能能能能部分支持能78 欧元;克隆版约 28 英镑起
Flipper Zero独立设备,USB-C,BLE能有限Lite-S能能能能能169 美元
Chameleon UltraUSB-C,BLE读取和模拟不能不能不能模拟和读取能能能129 欧元

NFC.cool Tools 对每种芯片能做什么

写到这里,该轮到我自己做的东西出场了,而它确实应该出现在这里,因为上面每一行最后都会落到一个问题上:“那应用能拿它做什么?”下面这张表不是营销文案;它是我在写这份指南时,直接从应用自己的源代码里整理出来的,而且它纠正了两件我本来会写错的事。

芯片家族iPhoneAndroidiPad 和 Mac 配读卡器
按具体产品识别约 60 个型号:NTAG203 至 216、NTAG I2C、Ultralight 和 C、按容量区分的 Ultralight EV1、Ultralight AES、Classic Mini、1K 和 4K、按安全等级区分的 Plus 2K 和 4K、按容量区分的 DESFire EV1、EV2 和 EV3、NTAG 424 DNA 及其 TagTamper 版本、ICODE SLI、SLI-S、SLI-L、SLIX、SLIX-S、SLIX-L 和 SLIX2、TI Tag-it Standard、Pro 和 Plus、ST25TV、ST25DV 和 M24LR、英飞凌 my-d、富士通 MB89R118、EM4233 和 EM4423、FeliCa Lite 和 Standard,以及 Suica、PASMO、ICOCA、Edy、WAON 和 nanaco;EMV 卡和 PIV 卡会被识别为对应的卡种约 20 个型号:NTAG203、213、215 和 216、NTAG 424 DNA、DESFire、Classic Mini、1K 和 4K、Plus 2K 和 4K、JCOP 和 SmartMX、包括八达通在内的 FeliCa 品牌;ISO 15693 芯片按容量报告,不区分具体产品根据读卡器的复位应答(ATR)得出的卡片类型
读取 NDEF所有家族所有家族Type 2、Type 4、FeliCa;Classic 用公开密钥
写入 NDEF、清空标签Type 2、Type 4、Type 5、FeliCa Lite-S 和 StandardType 2、Type 5、带 NDEF 目录的 MIFARE Classic,以及 Android 能格式化的一切Type 2、Type 4、FeliCa
将整个内存清零Type 5Type 2、Type 5、Classic同 iPhone
永久锁定Type 2 锁定字节;Type 4、Type 5 和 FeliCa 上将 NDEF 设为只读;在 NTAG 424 DNA 上刻意拒绝执行Type 2能
密码NTAG213、215、216 和 203Type 2 家族能设置;能否移除取决于读卡器
轻触计数器和镜像NTAG213、215、216NTAG213、215、216能
完整内存导出Type 2、ISO 15693、DESFire 文件列表、FeliCa、NTAG 424 DNA 文件用出厂密钥的 Classic、Ultralight、ISO 15693、FeliCa、任意 Type AType 2、Type 4、FeliCa
MIFARE Classic 内容不能;Core NFC 没有 CRYPTO1用出厂密钥读取,用公开密钥格式化和写入仅读取 NDEF
NTAG 424 DNA密钥、明文和加密模式的 SUN、文件访问权限、芯片配置、保险箱文件、随机 UID、LRP、防拆状态、原厂签名校验同左同左
AmiiboNTAG215 备份与恢复,针对目标标签重新生成密钥同左能
ISO 15693 密码、EAS、AFI暂不支持暂不支持不能
DESFire 认证和写入不能不能不能
原始命令专家级 APDU 模式一份命令目录能

记录一下那两处纠正:我本来会写应用会核验 NTAG21x 标签的原厂签名,但它并不会;只有 424 才有这项待遇。我本来还会写 ISO 15693 的密码命令已经做好了,但它们其实只是一张参考表,还在等界面。这两件事都在我的待办清单上。


怎样买才不踩坑

一个商品页要写清楚下面这些,我才会下单:

  1. 准确的芯片名称。要写“NTAG213”,而不是“NFC 213”;要写“ICODE SLIX2”,而不是“ISO 15693 标签”;要写“MIFARE Classic EV1 1K”,而不是“1K 卡”。如果商品页连芯片都不报名字,那卖家要么不知道,要么不想让你知道。

  2. 以字节为单位的用户内存,而且必须跟芯片对得上:NTAG213 是 144,215 是 504,216 是 888,SLIX2 是 316。一张最后发现是 MIFARE Classic 的“1K”卡,在 iPhone 上是用不了的。

  3. 厂商,如果它声称是正品 NXP 或 ST 的话。买到之后,UID 里的厂商代码会告诉你真相;买之前,价格就会告诉你。没有人会以市价的三分之一卖正品 NTAG216 贴纸。

  4. 天线尺寸和外形。10 mm 的 Inlay 读取距离是一厘米;38 mm 的是四厘米。抗金属标签必须写明抗金属。

  5. 是否已做 NDEF 格式化。NTAG 出厂时就已格式化;Ultralight EV1 和大多数 ISO 15693 芯片没有,NFC.cool 可以给它们格式化,但这毕竟多了一步。

危险信号:“NTAG215 兼容”(它就不是 NTAG215)、安全阶梯第 4 级以下的芯片却写着“加密”、MIFARE Classic 写着“所有手机通用”,以及任何带有厂商从未用过的字母的芯片名,比如 SLIX3。

标签的价格。这是我在 2026 年 9 月 9 日于 Seritag、Shop NFC、GoToTags、NFCW Shop、NFC.CARDS、NFC-Tag-Shop.de、Tagstand 和 Digi-Key 上看到的标价。大多数店铺最少按十个起卖,所以“单个”那一列是它们提供的最小档位。价格会变动;把这些数字当成比例来看。

标签单个或最小档位每个(100 个起)每个(1,000 个起)裸芯片
NTAG213 贴纸0.32 至 0.65 欧元,0.33 至 0.58 美元0.29 至 0.34 欧元0.23 至 0.24 欧元,0.50 美元晶圆批量 0.14 美元
NTAG215 贴纸或卡片0.48 至 0.54 美元,0.64 至 0.67 英镑0.35 美元0.33 美元0.21 美元
NTAG216 贴纸0.97 欧元,0.71 美元0.70 欧元,0.61 美元0.56 欧元,0.56 美元0.37 美元
NTAG 424 DNA 贴纸0.63 欧元,0.90 美元0.62 欧元,0.77 美元0.57 欧元,0.68 美元单颗 0.79 美元,1,000 颗起每颗 0.51 美元
MIFARE Classic 1K 卡十张起 1.35 至 1.59 欧元;单张零售 6.69 欧元1.29 至 1.52 欧元,1.98 美元0.95 至 1.13 欧元,0.86 美元
DESFire EV3 卡1.85 至 2.79 欧元1.85 至 2.45 欧元1.35 至 2.29 欧元31,000 颗起 1.18 美元
ICODE SLIX2 标签0.69 欧元0.34 至 0.37 欧元0.22 至 0.25 欧元单颗 0.35 美元,1,000 颗起每颗 0.22 美元
ST25TV02KC Inlay0.32 至 0.87 美元0.30 至 0.79 美元0.28 至 0.77 美元整卷每颗 0.13 美元

规律跟你猜的一样:内存几乎不要钱,密码学功能大约让价格翻倍,而外形比芯片本身更贵。一颗裸 NTAG213 晶粒只要十四美分;包在它外面的贴纸才占了价格的大头。

去哪里买:我在 推荐链接页面 上维护着一份我自己真正在用的标签和读卡器清单,而当初催生整套 DNA 功能的那批 424 标签就是从 AliExpress 买的,所以我不会跟你说网购平台碰不得。只是在往标签里写任何东西之前,先用应用检查一下到手的是什么。


一张表看完全部芯片

每颗芯片一行。“用户字节数”是你能写入的量;DESFire 用的是 NXP 给出的可用容量。手机那两列说的是平台能做什么,而不是每款应用都能做什么;NFC.cool 那一列说的是我的应用能做什么。在手机上请左右滑动查看,第一列会固定不动。

芯片厂商Forum 类型标准用户字节数UID保护擦写寿命 / 保存期iPhoneAndroidNFC.cool最适合
NTAG 210µNXP214443-A487锁定位10 万次 / 10 年NDEF、原始命令NDEF、原始命令读取、写入超小的一次性用途
NTAG210NXP214443-A487密码10 万次 / 10 年NDEF、原始命令NDEF、原始命令读取、写入小天线
NTAG212NXP214443-A1287密码10 万次 / 10 年NDEF、原始命令NDEF、原始命令读取、写入需要多点空间的小天线
NTAG213NXP214443-A1447密码、计数器、镜像10 万次 / 10 年NDEF、原始命令NDEF、原始命令全部功能默认首选的贴纸
NTAG215NXP214443-A5047密码、计数器、镜像10 万次 / 10 年NDEF、原始命令NDEF、原始命令全部功能,含 AmiiboAmiibo、中等大小的数据
NTAG216NXP214443-A8887密码、计数器、镜像10 万次 / 10 年NDEF、原始命令NDEF、原始命令全部功能联系人,稳妥之选
NTAG213F、216FNXP214443-A144、8887密码、场检测引脚10 万次 / 10 年同 213同 213同 213嵌入电子产品的标签
NTAG 213 TTNXP214443-A1447密码、防拆导线10 万次 / 10 年同 213同 213同 213封条
NTAG203NXP214443-A1447锁定、OTP1 万次 / 5 年NDEFNDEF读取、写入、密码老库存
NTAG I2C plusNXP214443-A888、19127密码20 万至 50 万次 / 20 年NDEF、原始命令NDEF、原始命令识别、读取、写入带单片机的电子产品
NTAG 223、224 DNANXP214443-A144、2087密码或 AES、SUN10 万次 / 10 年NDEF、原始命令NDEF、原始命令同 Type 2低成本防伪
NTAG 22x DNA StatusDetectNXP214443-A144、2087同上,加传感器10 万次 / 10 年NDEF、原始命令NDEF、原始命令同 Type 2封条与传感
NTAG 413 DNANXP414443-416073 把 AES 密钥、SUN20 万次 / 50 年NDEF、APDUNDEF、APDU识别已停产
NTAG 424 DNANXP414443-441675 把 AES 密钥、SUN、LRP20 万次 / 50 年NDEF、APDUNDEF、APDU完整配置防伪验证
NTAG 424 DNA TTNXP414443-44167同上,加防拆20 万次 / 50 年NDEF、APDUNDEF、APDU完整配置防伪封条
UltralightNXP214443-A487锁定、OTP1 万次 / 5 年NDEFNDEF读取、写入已停产
Ultralight CNXP214443-A14473DES10 万次 / 10 年NDEF、原始命令NDEF、原始命令读取、写入老式票务
Ultralight EV1NXP214443-A48、1287密码、3 个计数器10 万次 / 10 年NDEF、原始命令NDEF、原始命令读取、写入、密码票务、一次性用途
Ultralight AESNXP214443-A1447AES-12810 万次 / 10 年NDEF、原始命令NDEF、原始命令读取、写入带认证的 Type 2
Ultralight NanoNXP214443-A407锁定、OTP10 万次 / 10 年NDEFNDEF读取、写入单程票
Classic MiniNXP无14443-A2244CRYPTO110 万次 / 10 年UID取决于控制器Android:读取、格式化无
Classic 1K、EV1NXP无14443-A7524 或 7CRYPTO110 万次 / 10 年UID取决于控制器Android:读取、格式化无
Classic 4K、EV1NXP无14443-A34404 或 7CRYPTO110 万次 / 10 年UID取决于控制器Android:读取、格式化无
Plus SENXP无14443-A7524 或 7SL3 下为 AES10 万次 / 10 年UID同 Classic识别从 Classic 迁移
Plus EV2NXP无SL3 下为 14443-41520、34404 或 7AES-128,EAL5+20 万次 / 25 年ISO-DEPIsoDep识别门禁
DESFire EV1NXP414443-42304 至 79367DES、3DES、AES20 万次 / 10 年NDEF、APDUNDEF、APDU识别、列出文件老式交通系统
DESFire EV2NXP414443-42560 至 163847AES,EAL5+20 万次 / 25 年NDEF、APDUNDEF、APDU识别、列出文件门禁
DESFire EV3NXP414443-42560 至 163847AES、SUN,EAL5+最少 20 万次、典型 100 万次 / 25 年NDEF、APDUNDEF、APDU识别、列出文件门禁、交通
DESFire LightNXP414443-46407AES、LRP,EAL420 万次 / 10 年NDEF、APDUNDEF、APDU识别单应用卡
ICODE SLINXP5156931128锁定10 万次 / 10 年NDEF、原始命令NfcV读取、写入、格式化已停产
ICODE SLI-S、SLI-LNXP515693160、328密码10 万次 / 10 年NDEF、原始命令NfcV读取、写入、格式化已不再生产
ICODE SLIXNXP5156931128EAS/AFI 密码10 万次 / 50 年NDEF、原始命令NfcV读取、写入、格式化图书馆和物流存量
ICODE SLIX-S、SLIX-LNXP515693160、328密码、隐私模式10 万次 / 50 年NDEF、原始命令NfcV读取、写入、格式化物流
ICODE SLIX2NXP5156933168密码、隐私模式、计数器、签名10 万次 / 50 年NDEF、原始命令NfcV读取、写入、格式化库存盘点、OpenPrintTag 耗材盘
ICODE DNANXP5156932528AES-12810 万次 / 50 年NDEF、原始命令NfcV按 ISO 15693 读取远距离品牌保护
ICODE 3NXP5156933008密码、轻触计数器、镜像、签名10 万次 / 50 年NDEF、原始命令NfcV按 ISO 15693 读取当下的库存盘点芯片
NTAG 5NXP515693512、20488密码,5332 带 AES100 万次 / 40 年NDEF、原始命令NfcV按 ISO 15693 读取联网电子产品
ST25TN512、01KST214443-A64、1607kill、轻触码、TruST2510 万次 / 40 年NDEF、原始命令NDEF、原始命令按 Type 2 读取NTAG213 的替代品
ST25TV512C、02KCST51569364、3208密码、kill、隐私模式、轻触码、TruST2510 万次 / 60 年NDEF、原始命令NfcV识别为 ST25TV,读取、写入每次轻触生成新 URL 的标签
ST25TV16K、64KST5156932048、8192864 位密码、kill100 万次 / 40 年NDEF、原始命令NfcV读取、写入大容量 Type 5 存储
ST25DV04K 至 64KST515693512 至 8192864 位密码100 万次 / 40 年NDEF、原始命令NfcV识别为 ST25DV,读取、写入带单片机的动态标签
M24LRST未声明15693512 至 8192832 位密码100 万次 / 40 年NDEF、原始命令NfcV按 ST25TV 读取老式双接口
ST25TA02K、02KBST414443-42567128 位密码、计数器,B 版本有 TruST25100 万次 / 200 年NDEF、APDUNDEF、APDU读取、写入不带 DESFire 的 Type 4
ST25TA16K、64KST414443-42048、81927128 位密码100 万次 / 200 年NDEF、APDUNDEF、APDU读取、写入大容量 Type 4 存储
TI Tag-it HF-I Standard、Pro、PlusTI未声明1569332、32、2568锁定;Pro 增加密码写入和 kill10 万次 / 10 年NDEF、原始命令NfcV识别、读取老式图书馆系统
EM4233EM未声明15693208896 位密钥、隐私模式、销毁? / 60 年NDEF、原始命令NfcV识别、读取按需供货
EM4425 em echo-VEM515693 加超高频最多 2568AES-128、密码、防拆10 万次 / 50 年NDEF、原始命令NfcV按 ISO 15693 读取双频零售
Infineon my-d move英飞凌214443-A1287密码、数值计数器10 万次 / 10 年NDEF、原始命令NDEF、原始命令识别、读取票务
Fudan FM11NT021复旦214443-A1447密码、计数器号称 50 万次 / 10 年NDEF、原始命令NDEF、原始命令按通用 Type 2 读取廉价链接贴纸
Fudan FM11RF08、08S复旦无14443-A7524CRYPTO1,带后门?UID取决于控制器同 Classic无
Topaz 96、512Innovision、博通114443-A96、约 4807一次性锁定1 万次 / 5 年NDEFNDEFNDEF老旧型号
FeliCa Lite-S索尼318092、JIS X 6319-42248(IDm)3DES MAC?NDEF、原始命令NfcF读取、写入日本
FeliCa Standard索尼3180924 kB8AES,EAL6+?NDEF、原始命令NfcF读取、品牌识别交通和电子钱包
Kovio NFC BarcodeKovio、Thinfilm无私有16,只读无无不适用不能NfcBarcode不能已消亡
ST SRI512、SRT512、SRI4KST无14443-B64、5128计数器、锁定100 万次 / 40 年不能NfcB不能Type B 交通卡

大家常搜的芯片对比

NTAG213、NTAG215 和 NTAG216 怎么选:同一颗芯片的三种内存规格,144、504 和 888 字节,密码、计数器、镜像和签名全都一样。放一个链接买 213,做 Amiibo 买 215,放联系人名片或者懒得多想就买 216。价格差大约三十美分。

NTAG213 对比 Ultralight EV1:空中接口和命令都一样;NTAG 有 ASCII 镜像和预先写好的能力容器,EV1 有三个单向计数器,有 48 和 128 字节两种规格。贴纸要用 NTAG;票务要用 EV1。

NTAG213、ST25TN01K 和复旦 FM11NT021 对比:三颗 144 到 160 字节的 Type 2 芯片。NTAG 有密码和读取计数器,也会应答 GET_VERSION;ST25TN 内存更大,有 kill 命令、轻触码和 TruST25,但没有密码;复旦的芯片照搬了 NTAG 的功能,唯独没有 GET_VERSION,而且现行数据手册里也没有签名。只放一个普通链接的话,哪颗都行;要用计数器或做 Amiibo,就选 NTAG。

MIFARE Classic 对比 DESFire:这根本没得比。Classic 的密码算法 2008 年就被攻破了,它最常见的克隆芯片 2024 年又被发现带后门;DESFire EV3 有 AES、密钥管理、EAL5+ 认证和 SUN。支持 Classic 的唯一理由,就是墙上那台读卡器是 2009 年装的。

NTAG 424 DNA 对比 NTAG213:424 用 AES-128 给每次轻触签名,以三个文件、五把密钥存储 416 字节;213 存储 144 字节,配一个 32 位密码。如果问题是“这个产品是不是真的”,只有 424 回答得了。如果问题是“这张贴纸能不能打开一个链接”,213 能做到,价格只有三分之一。

NTAG 424 DNA 对比 NTAG 223 DNA:两者都支持 SUN。424 是 Type 4,有五把密钥、LRP、可选随机 UID、一个保险箱文件和 50 年保存期;223 是一枚 Type 2 贴纸,只有一把 SUN 密钥、一个 32 位密码,保存期 10 年。想在标签上放一个带签名的 URL,223 是更便宜的办法;424 则是如今就有应用能配置它的那一款。

做库存盘点选 ICODE SLIX2 还是 NTAG216:如果手机是唯一的读取设备,NTAG216 内存更大,还有计数器。如果要用到门禁式读写器或手持读写器,SLIX2 能在一米外读取,NTAG 只有四厘米,这一点就决定了答案。

在日本选 FeliCa 还是 NTAG:日本的交通闸机只说 FeliCa,别的都不认;日本的手机两种都能读。在东京的海报上贴一枚标签,NTAG 就够了。任何必须被 Suica 读卡器接受的东西,就得用 FeliCa,而那不是一颗能用手机应用来编程的芯片。


常见问题

我该买 NTAG215 还是 NTAG216?

除非你要写 Amiibo,否则选 216。它有 888 字节,215 只有 504 字节,密码、计数器和镜像一样,手机支持也一样。215 之所以每家店都有卖,是因为任天堂的手办用的就是它,如果你要做的正是这件事,它就是唯一的选择。

iPhone 能读 MIFARE Classic 标签吗?

它能看出那里有一张。Core NFC 读到 UID 和 SAK 就停下了;Apple 的 API 里没有 Classic 家族,文档里也写着 MIFARE 命令“不支持 Crypto1 协议”。在 iPhone 上,没有任何应用能读出一个扇区。配有 NXP NFC 控制器的 Android 手机可以读;配某些其他控制器的手机则不行,在那些手机上,MifareClassic 类压根就不会出现。

一枚 NFC 标签能重写多少次?

对 NXP 或 ST 的任何现行芯片来说,室温下是 100,000 次,而且数据手册上的数字是最低值。DESFire EV3 或 ST25DV 标称一百万次。老款 NTAG203、初代 Ultralight 和 Topaz 标称 10,000 次。没有人会把一张贴纸重写一万次;这个数字真正有意义的场合,是计数器和需要记录日志的标签。

NFC 标签的读取距离有多远?

用手机读的话,卡片大小的天线最远约四厘米,小贴纸约两厘米,前提是对准手机上的正确位置。NFC Forum 自己的定义写的是“最远 2 厘米”。一枚 ISO 15693 标签配上带大天线的门禁式读写器,能在一米外工作,但手机读它时,距离跟读其他标签一样只有几厘米,大概是 Type 2 标签的两倍。

NFC 标签会过期或者用坏吗?

大多数消费级芯片的数据保存期标称 10 年,NTAG 424 DNA 和 ICODE SLIX 家族是 50 年,ST25TV 是 60 年,ST25TA 是 200 年,全都是在室温下。高温会缩短保存期。实际使用中,背胶、纸质面层和天线会比 EEPROM 早得多就撑不住了。

网购平台上的便宜 NFC 标签能放心买吗?

安全是安全的;但它们宣称的东西不一定属实。一枚便宜的“NTAG213”往往是复旦 FM11NT021,放个链接没问题,但遇到任何会发 GET_VERSION 的场景就会失败。一枚便宜的“NTAG215”往往根本不是 NTAG215,Amiibo 会拒绝它。在写入任何东西之前,先用应用查看厂商代码和芯片名称,并且从会写明芯片型号的店铺购买。

我的手机能用 NFC 应用读取银行卡或护照吗?

护照可以:以机读区作为钥匙,应用就能读出芯片里的数据组,NFC.cool 在两个平台上都能做到。银行卡是一张 EMV 智能卡;应用能读出它的应用列表和一些公开记录,但 Apple 在 Core NFC 中禁止读取支付卡,卡的安全码并不在芯片上,而且每一笔交易都由一把永远不会离开卡片的密钥签名,所以根本没有东西可复制。

为什么我的办公室工牌或酒店房卡在应用里不显示?

大多数办公室工牌是 125 kHz 的感应卡,手机 13.56 MHz 的线圈连感知都感知不到。大多数酒店房卡和老式交通卡是 MIFARE Classic,iPhone 只能识别它,Android 手机也只有在控制器合适、密钥正确的情况下才能读取。这两种情况都不是应用能解决的,我宁愿直说,也不想卖给你一个变通方案。

已经设为只读的 NFC 标签还能解锁吗?

不能。Type 2 或 Type 5 标签上的锁定位是芯片里的单向位;能力容器里的只读标志也一样。密码只要你知道,就能移除;锁定则不行。这就是为什么 NFC.cool 在锁定任何东西之前都会问你两遍。

NTAG 的密码算真正的安全措施吗?

它能挡住拿着免费应用的人,而大多数人就是这样的人。它挡不住拿着能监听的读卡器的人,因为 32 位密码是不加密地在空中传输的,标签应答的也只是一个 16 位的确认值。任何需要扛得住有心攻击者的场景,安全阶梯都要从 AES 起步:Type 2 贴纸选 Ultralight AES,如果轻触本身就必须证明点什么,就选 NTAG 424 DNA。

做 Amiibo 需要哪种标签?

NTAG215,而且只能是 NTAG215。游戏机会先发 GET_VERSION,再用一个由 UID 派生的密码进行认证,然后读取全部 135 页。没有 GET_VERSION、或者页数不同的芯片,第一条命令就会失败。把 Amiibo 写进一枚标签是不可逆的,因为锁定字节和密码都是这种格式的一部分。

哪种 NFC 标签能贴在金属表面上用?

任何一颗采用抗金属外形的芯片都可以,也就是在天线和金属之间垫一层铁氧体片。普通标签贴在钢板上根本读不出来;抗金属标签的读取距离大约是它正常距离的五分之四。如果你能在普通标签和金属之间垫上三毫米任意非金属材料,也同样管用。

NFC.cool 能在 iPad 和 Mac 上用吗?

能,从 6.15.0 版本起,通过 USB 智能卡读卡器实现;这两种设备本身都没有 NFC 无线模块。我测试的是 HID OMNIKEY 5022 CL,用户反馈 ACS ACR1552U 和 ACR1255U-J1 也能用。凡是在手机上对 Type 2、Type 4 和 FeliCa 能用的功能,通过读卡器都能用,MIFARE Classic 则只能读取。


术语表

术语含义
AFIApplication Family Identifier,应用族标识符,ISO 15693 标签上的一个字节,让读卡器在盘点时只读取某一类标签
APDUApplication Protocol Data Unit,应用协议数据单元,ISO 7816-4 的命令与响应格式,所有 ISO-DEP 芯片都用它
ATQAAnswer To Request,请求应答,Type A 芯片发出的头两个字节;NXP 说不要靠它来识别芯片
AUTH0NTAG 的一个配置字节,标明从哪一页开始需要密码
AUTHLIMNTAG 的一项设置,在密码错误达到指定次数后锁死标签
CCCapability Container,能力容器,即告诉读卡器这枚标签存有 NDEF 以及容量多大的那四个字节(在 Type 4 上是一个文件)
CMAC用 AES 计算的消息认证码;正是它让 SUN 消息无法伪造
CRYPTO1NXP 用在 MIFARE Classic 里的私有 48 位流密码,2008 年被攻破
DSFIDData Storage Format Identifier,数据存储格式标识符,ISO 15693 上描述内存如何组织的一个字节
EASElectronic Article Surveillance,电子商品防盗,ISO 15693 标签上让商店防盗门报警的那个位
GET_VERSIONNXP 的一条命令,返回八个字节,标明芯片的厂商、类型、代际和容量
ISO-DEPISO/IEC 14443-4 传输协议;支持它的芯片会应答 SAK 20 并接受 APDU
负载调制无源标签发送数据的方式:在天线上切换一个负载,读卡器会在自己的磁场中感知到这个变化
LRPLeakage Resilient Primitive,抗泄漏原语,NTAG 424 DNA 和 DESFire Light 上一种能抵御侧信道攻击的 AES 模式
MADMIFARE Application Directory,MIFARE 应用目录,即 Classic 卡的第 0 扇区,列出其他扇区里存放着什么
镜像NTAG 的一项功能,每次被读取时把 UID 和计数器以 ASCII 形式贴进 NDEF 消息
NDEFNFC Data Exchange Format,NFC 数据交换格式,每部手机都能读的记录容器
NUIDNon-Unique Identifier,非唯一标识符,NXP 对 4 字节 UID 的叫法
OTPOne Time Programmable,一次性可编程,只能置位一次、永远无法清除的位
PACKPassword Acknowledge,密码确认,NTAG 在密码正确后返回的两个字节
PICC、PCD标准里对卡片和读卡器的称呼
随机 ID一种模式,芯片在防冲突阶段每次都用一个全新的随机 4 字节 ID 应答,以保护隐私
READ_SIG返回芯片原厂签名的命令
SAKSelect Acknowledge,选择确认,Type A 芯片被选中后返回的字节;它的各个位把芯片归入不同家族
SDMSecure Dynamic Messaging,安全动态消息,NTAG 424 DNA 和 DESFire EV3 上支撑 SUN 的机制
SUNSecure Unique NFC,一个每次轻触都携带全新密码学证明的 URL
T5T、T2T、T4TNFC Forum 对 Type 5、Type 2 和 Type 4 标签的简称
TLVTag-Length-Value,标签-长度-值,Type 2 和 Type 5 芯片上包在 NDEF 消息外面的封装
TruST25ST 针对 UID 的原厂签名
UID芯片出厂时写入的标识符,4、7 或 8 字节

参考资料与延伸阅读

这份指南里的每一张表,都对照过下面其中一份资料。价格来自选购一节里提到的那些店铺,时间是 2026 年 9 月 9 日。

NXP NTAG

NXP MIFARE

NXP ICODE

意法半导体、德州仪器、EM、索尼、复旦

安全研究与标准

手机与读卡器


总结

让芯片匹配任务。放链接用 NTAG213,拿不准就用 NTAG216,做 Amiibo 用 NTAG215,轻触必须证明点什么时用 NTAG 424 DNA,需要被门禁式读写器读取时用 ICODE SLIX2 或 ICODE 3,门禁必须信任它时用 DESFire EV3,而 MIFARE Classic 那一排货架上的东西,一样都别碰。这份指南里的其他所有内容,都是这句话背后的推理过程,而那些表格的存在,就是为了让你再也不必轻信商品页上的说辞。

如果你想在写入之前先看清一枚标签到底是什么,这正是 NFC.cool Tools 每次轻触都会做的事,无论是在 iPhone 上、Android 上,还是在插着读卡器的 iPad 或 Mac 上。如果你桌上有一颗芯片被应用认错了,或者应用根本认不出来,请写信告诉我。那六十款里的大多数,就是这样进入名单的。

准备好扫描了吗?

★4.5·73,500 个评分·免费