NFC Utils 指南
NTAG 与 Ultralight
具体芯片型号决定可用的工具。NTAG210/212 使用 UID 镜像,NTAG213/215/216 有计数器与镜像,Ultralight EV1 有三个通过命令递增的计数器。
概览
NTAG210、NTAG212、NTAG213、NTAG215、NTAG216 和 Ultralight EV1 MF0UL11/MF0UL21 各有独立的工具页。它们支持 NDEF 写入、密码,以及受支持的标签或配置锁定。存储器以四字节页组织,末尾是芯片特有的配置。
每个任务都先读取配置页,只重写属于自己的位,所以更改密码不会影响镜像设置,更改镜像也不会影响计数器设置。
Ultralight AES、Ultralight C、初代 Ultralight 和 Nano 各有独立的工具页,提供「写入」、「擦除」和「锁定」。Ultralight C 和 AES 另外提供认证、密钥和保护设置。这些工具请参阅Ultralight 芯片检查。
写入
卡片顶部有两种模式,「记录」和「名片」。固定按钮显示「写入标签」或「写入卡片」,编辑器中没有完整内容时保持灰色。写入后应用会回读标签并比对,「一致」表示芯片上的字节就是发送的字节。
记录
「记录」就是编辑器。「添加」打开记录类型,有 URL、文本、电话、邮件、短信、位置、Wi-Fi、Android 应用、联系人(vCard)和自定义 MIME。每条记录是一张小卡片,带有自己的字段和一个移除叉号。写入会替换标签上的整条 NDEF 消息,没有追加。记录下方的字节行显示 NDEF 大小,对于 Type 2 标签还显示包含 TLV 封装的大小。当上一次读取告诉应用这是哪款芯片时,该行还会指明容量,例如 NTAG213 上的 144 字节中已用 24 字节。
「从标签载入」把标签内容直接读入编辑器,成为可编辑的记录。原地编辑和克隆都是这样完成的,没有单独的克隆工具。
名片
「名片」写入一条记录,要么是 URL 名片,要么是 vCard。URL 名片是指向任意页面的链接,在每部手机上都能用。vCard 把联系人放在芯片上,iPhone 会忽略它,卡片上也会如此说明。
受保护的标签
在 NTAG 21x 下,卡片会提醒你受保护的标签需要在「标签密码」中输入密码。写入只出示该密码,不出示其他内容。草稿保存在应用中而不是页面中,所以切换芯片家族会保留你正在编辑的内容。
擦除与格式化
「擦除标签」和「格式化为 NDEF」只触及 NDEF 数据。密码、保护和配置都保持原样。标签受保护时,两者都从「标签密码」取用密码。
擦除标签
写入一条空的 NDEF 消息并将用户存储器清零。
格式化为 NDEF
还会写入空白标签在能够保存 NDEF 之前所需的能力容器。出厂时未格式化的标签或被其他应用损坏的标签需要做一次。
密码
密码工具适用于受支持的 NTAG210–216 和 EV1 型号。「保护计数器」只出现在 NTAG213/215/216 上,EV1 和 NTAG210/212 没有该设置。
一个页面,包含「检查」和「更改」两个标签页。密码是普通存储芯片上的访问控制。它以明文传输,所以能阻止随意覆写,挡不住有心的攻击者。
检查
「检查」接收密码(八位十六进制数),发送 PWD_AUTH,并报告标签返回的 PACK。它不写入任何内容。设置了次数限制时,错误尝试会计入标签的限制。这里输入的值就是标签受保护时其他所有 21x 工具(包括写入和擦除)出示的值。
更改
「更改」提供「设置或更改」和「移除」。两者都先接收旧密码(新标签上留空),这样受保护的标签会在写入任何内容之前先被打开。「设置或更改」增加以下字段。
| 字段 | 芯片上的位置 | 含义 |
|---|---|---|
| 新密码 | PWD 页 | 标签将要求的八位十六进制数。 |
| PACK | PACK 页 | 密码正确时标签应答的四位十六进制数,让读卡器能确认这是它期望的标签。 |
| 起始保护页 | AUTH0 | 密码覆盖的第一页。从这里到存储器末尾都受保护,之前的页保持开放。第 4 页保护全部用户数据。 |
| 同时保护读取 | PROT 位 | 关闭时只保护写入,任何人仍能读取每一页,手机仍能打开链接。开启时,没有密码的读卡器看不到受保护的页,若链接位于边界之后,手机什么也得不到。关闭适用于供人触碰但不应改写的标签,开启适用于应保持私密的数据。 |
| 保护计数器 | NFC_CNT_PWD_PROT | READ_CNT 只在密码之后应答。 |
| 允许的错误尝试次数 | AUTHLIM | 无限制、4、16 或 64。芯片统计错误密码次数,计数永不下降。达到上限后,它会永久拒绝 PWD_AUTH,正确密码也不例外,受保护的页就此冻结。除非标签守护着重要内容,否则保持「无限制」。在桌面读卡器上,被拒绝的密码表现为沉默,应用只报告一次而不重试,因为每次重试都会计数。 |
标签密码
- 它是什么
- 存储在标签上的 8 位密码,加上密码正确时标签回传的 4 位应答,即 PACK。
- 更改它会发生什么
- 它本身不做任何事。它是标签受保护时其他工具出示的值,「检查」会发送它并显示 PACK。
- 它需要什么
- 无。
- 撤销
- 这不是更改。
密码保护
- 它是什么
- 一个表示「从第 N 页起要求密码」的开关。起始保护页设为 4 即覆盖全部用户数据。
- 更改它会发生什么
- 「同时保护读取」关闭时,任何人仍能读取标签,手机仍能打开链接,但写入受保护的页需要密码。开启时,没有密码也无法读取受保护的页,所以触碰标签的手机看不到那一页之后的内容。
- 它需要什么
- 已设置密码时,需要当前密码。
- 撤销
- 「移除」,需要当前密码。若「允许的错误尝试次数」已达上限,则无法撤销。
移除
「移除」用旧密码打开标签,并把 AUTH0 移到存储器末尾之后,这是 NXP 对「无保护」的定义。其他一些编码器会在这一步失败,并报告标签无法解除保护。
计数器与镜像
这个组合工具适用于 NTAG213、NTAG215 和 NTAG216。NTAG210/212 和 EV1 使用下面的独立工具。
- 它是什么
- 一个 24 位计数器,芯片在每次触碰后的首次读取时加一;以及一个镜像,在芯片送出每一页时把几个字符的实时数据替换进用户存储器。那里不存储任何东西。手机在那个位置看到的,就是芯片在那一刻放进去的内容。它是 21x 上安全动态消息的简化版,没有签名也没有密钥,只有 NTAG213、NTAG215 和 NTAG216 具备。
- 更改它会发生什么
- 「启用计数器」和「禁用计数器」切换 NFC_CNT_EN。把镜像放进 URL 后,手机打开的链接会带上标签的序列号和触碰次数,网页就能区分五十枚标签,并看到每枚被触碰的频率。
- 它需要什么
- 标签受保护时,需要密码。
- 撤销
- 把镜像设为「关闭」并禁用计数器。计数本身无法重置。
| 设置项 | 含义 |
|---|---|
| 镜像关闭 | 不替换任何内容。 |
| 镜像 UID | 7 字节序列号,以 14 个十六进制字符表示。 |
| 镜像计数器 | NFC 计数器,以 6 个十六进制字符表示。需要先「启用计数器」,否则读到的是零。 |
| 镜像两者 | 先是 UID,然后是字母 x,再是计数器,共 21 个字符。x 是芯片固定的分隔符。 |
| 镜像页 | 第一个镜像字符所在的页。用户存储器从第 4 页开始,最前面的几页保存 NDEF 头,所以对于 URL 记录,文本通常从第 5 或第 6 页附近开始。选择保存你留作占位符的那些字符的页。 |
| 页内字节 | 一页是 4 字节,这里选择镜像从四个字节中的哪一个开始,0 到 3,这样它可以在页中间与占位符对齐。 |
镜像只做替换,不会腾出空间。你写入的 URL 必须在那个位置包含占位符字符,14、6 或 21 个,并且镜像必须在用户存储器末尾之前放得下,否则芯片会忽略该设置。应用检查页码,是否放得下由你负责。先写入 https://example.com/t?u=00000000000000x000000,再在第一个零所在的页和字节处把镜像设为「两者」。
NTAG210 和 NTAG212 上的 UID 镜像
UID 镜像提供「关闭」或「UID」。设置镜像页和页内字节。读取受影响的用户数据时,芯片会把其七字节 UID 以 14 个十六进制字符替换进去。
先把占位符写进你的 NDEF 消息,并在用户存储器末尾之前留足空间。相关配置受保护时需要密码。关闭镜像即可停止替换。
NTAG210 和 NTAG212 没有 NFC 触碰计数器、计数器镜像或计数器密码设置。

Ultralight EV1 计数器
「读取计数器」显示计数器 0、1 和 2,并标记报告的撕裂事件。选择一个计数器,在「增加量(十进制)」下输入数值,然后使用「递增计数器」。应用会检查结果。
这些是单向计数器。普通读取从不递增它们,它们无法重置或减少,每个上限为 16,777,215。需要时会使用当前密码。
EV1 没有 ASCII 镜像,也没有 NTAG 式的计数器启用开关。它的密码工具和受支持的配置锁定工具仍然可用。

锁定
这些锁定适用于受支持的 NTAG 和 EV1 型号。应用在更改之前会检查芯片及其锁定布局。Ultralight AES、Ultralight C、初代 Ultralight 和 Nano 在各自的工具页中提供「锁定」。
- 它是什么
- 两个独立的单向开关。「锁定标签为只读」设置每个用户页上的静态和动态锁定位,并把能力容器标记为只读。「锁定配置」设置 CFGLCK,冻结密码范围、计数器和镜像设置。
- 更改它会发生什么
- 只读标签再也不能被任何应用写入。配置已锁定的标签数据页仍可写,但设置固定不变。
- 它需要什么
- 标签受保护时,需要密码。
- 撤销
- 无。两种锁定都先在「此操作无法撤销」下确认,弹窗会列出将要写入的确切页。
哪些操作无法撤销
| 操作 | 冻结的内容 |
|---|---|
| 锁定标签为只读 | 全部用户数据,永久。 |
| 锁定配置 | 密码、计数器和镜像设置。 |
| 允许的错误尝试次数达到上限 | 密码从此被永久拒绝,受保护的页停留在开关留下的任何状态。 |