Chip-Level Cryptographic Authenticity

让防伪从「读编号」升级为
芯片 AES 动态码挑战

普通二维码与芯片 UID 是一串静态编号,复制一份即与真品无异。NTAG 424 DNA 的 Secure Dynamic Messaging(SDM / SUN)让芯片在每次被读取时,用片内 AES-128 密钥对 「UID + 读取计数器」实时生成动态 CMAC —— 同一张标签,每次跳转链接都不同,无法复制、无法预录。

NXP NTAG 424 DNA AES-128 CMAC(RFC 4493) EN 18220 Level 2 安全载体 读取计数器 · 克隆池识别
Why static IDs fail

静态编号可复制,动态密码不可复制

核心区别在于:验证所依赖的秘密,是否存在于芯片之外。

Level 1 · Static carrier

二维码 / 普通 NFC UID

  • 二维码内容是明文,拍照、截图即可得到完整副本
  • 普通 NFC 标签的 UID 可被特殊设备(如 Proxmark、变色龙)模拟
  • 验证时只比对「编号是否在数据库」,副本与真品回答完全相同
  • 无法感知标签被读取了多少次,更无法识别克隆池
Level 2 · Secure carrier

NTAG 424 DNA Dynamic CMAC

  • AES-128 密钥永不出芯片,外部只拿到一次性消息认证码
  • 每次读取计数器 +1,CMAC 随之改变,旧链接立即失效
  • 服务端用登记密钥重算 CMAC,伪造者没有密钥就无法生成下一个码
  • 读取计数器可识别「异常大量读取」「同一码在多处出现」等克隆信号
How SDM works

一次轻触,背后四步密码学

STEP 01

芯片读取

手机轻触标签,芯片读出自身 UID 与当前 SDM 读取计数器。

STEP 02

片内生成 CMAC

芯片用片内 SDM 密钥,经 SV2 派生会话密钥,对 SDM 输入计算 AES-CMAC。

STEP 03

跳转验真链接

芯片把加密 PICC 数据与截断后的 8 字节 CMAC 拼进 URL,打开本页验真。

STEP 04

服务端重算比对

引擎按 UID 取登记密钥重算,常量时间比对,并关联到具体产品护照。

Live verifier

现场验证一段 NTAG 424 DNA 扫码链接

把真实标签跳转出的完整链接(或其中 query 部分)粘贴到下方;也可点选预置向量现场演算。

NXP 向量随请求携带文档中登记的密钥,在服务端真实重算 CMAC。
演示向量的诚实边界:上方「NXP 向量」取自 NXP 官方应用笔记 AN12196 第 4 节示例,密钥为该文档给出的出厂默认键(16 字节 0x00),服务端据此重算并比对,属于密码学自验真;「自测向量」由本站以固定密钥自行生成、前后自洽,非官方材料。这些向量证明的是「验真算法与官方规范一致」,并不对应任何真实在售商品。真实产品验真须逐标签注入并登记独立密钥。
Specifications & sources

规范依据与来源

AN12196 · NTAG 424 DNA and NTAG 424 DNA TagTamper features and hints — NXP 官方应用笔记,定义 SDM/SUN、SV2 会话密钥派生、SDM 加密 UID(PICCData)与 CMAC 截断规则,并提供第 4 节示例向量。
https://www.nxp.com/docs/en/application-note/AN12196.pdf

AN10922 · Key diversification — NXP 官方应用笔记,标签密钥按 UID 分散的标准方法(CMAC 方案)。
https://www.nxp.com/docs/en/application-note/AN10922.pdf

RFC 4493 · The AES-CMAC Algorithm — Internet Engineering Task Force,本引擎 CMAC 原语的实现依据,并用其官方测试向量逐组验证。
https://www.rfc-editor.org/rfc/rfc4493

CEN EN 18220 — 数字产品护照数据载体与安全等级框架;带安全元件、支持动态安全特征与防克隆的载体对应其更高安全层级(常称 L2 安全载体)。本引擎使 SDM 动态 CMAC 成为可验证事实,而非仅声称「芯片可防伪」。