Skip to Content
The NFC Mint
The NFC Mint Menu

How a Tag Proves Itself

We use NXP NTAG 424 DNA chips in our tags. Each scan advances a monotonic counter and generates an AES-CMAC authentication code using the chip's secret key. Our validation service checks the code and counter. It rejects a code that has already been validated. A copied link cannot generate a fresh valid code without the key. A valid scan authenticates the tag. It does not prove the attached item is genuine.

Diagram of monotonic counter security

How the Monotonic Counter Prevents Cloning

Data only NFC tags (like an NTAG 216) provide only information, not security. They store static information that any reader can duplicate. Each time an NFC tag is scanned, an internal counter increments by one. This counter value is combined with the tag's unique data and a secret key to generate a cryptographic signature using AES-CMAC (Cipher-based Message Authentication Code). Because the counter changes with every scan, the signature is different each time, even for the same tag.

The authentication equation is:

CMAC = AES-CMAC(K, UID || Counter || Data)

Where K is the secret key, UID is the tag's unique identifier, Counter increments with each scan, and Data is the tag's payload. A counterfeit tag cannot predict future counter values or generate valid signatures without knowing the secret key, making cloning mathematically infeasible.

A hardware security module holds the master key and derives each tag's unique key from it and the tag's UID. We write that key once into its NTAG 424 DNA chip. It cannot be read back from the chip. A key extracted from one tag cannot generate valid codes for another tag.

Static NFC Tags vs. Our NTAG 424 DNA Tags

Feature Static NFC Tags Our NTAG 424 DNA Tags
Static Serial Number Easily Copied Not Used Alone
Rolling Counter Unsigned When Available Incremented Every Scan
AES-CMAC Validation No Protection AES-CMAC Verified
Clone Detection Not Available Counter Divergence
Chip Verification None ECC secp224r1
Physical Tamper Detection Not Available TagTamper Wire

Keep Reading

Verification Anyone Can Perform

Result Help on the Validation Service