Published by Vera, which makes product identity tags, certificates and software. Vera's own role is set out under 'Where Vera fits'.
This is for general information and is not legal advice.
7 min read
A near-field communication (NFC) tag authenticates a product when every tap produces something a copy cannot repeat. A plain tag returns the same link every time; a secure tag adds a fresh code, so a copied link fails.

Listen to this article
NFC tags for product authentication are small radio tags fitted into a product, which a phone reads with a tap. Near Field Communication runs at 13.56 MHz over a few centimeters: the NFC Forum gives a typical range of up to 2 cm. A tag on its own only identifies. It authenticates when each tap gives the phone something a copy cannot produce.1
Definition
An NFC authentication tag is a tag that proves it is the one the brand fitted, every time it is read. It has no battery: NFC carries power as well as data, which the NFC Forum notes allows battery-less operation, so the phone's field powers the tag for the moment of the tap.1
The proof comes from a secret key held inside the tag. On each read the tag uses the key to compute a short code, and a server that knows the key checks it. Cryptographers call this kind of code a message authentication code: the US National Institute of Standards and Technology (NIST) defines it as a value computed with a secret key and used to establish that data is authentic. The key is never part of what the phone reads, so reading the tag, or copying what it sent, gives nobody the means to make the next code.3
Two kinds
Most NFC tags are plain. They store a link and other data in a standard record, which the NFC Forum calls an NFC Data Exchange Format (NDEF) payload, and a phone reads it and acts on it. Locking a plain tag against rewriting stops someone changing it, not someone copying it. A link copied from a plain tag is the same link, and it reads the same way from a web page or from a second tag.1
A secure tag adds cryptography to the read itself. It still holds a link, but each tap adds a fresh code computed with the tag's key, and a count of how many times the tag has been read. Secure tags follow the same contactless standards as plain ones, so ordinary phones read them in the same way, and the difference only shows when the code reaches the server.
Comparison
A plain tag stores a link; a secure tag signs every read
Plain NFC tag
What it holds
A link and other data in a standard record
What a tap returns
The same link, every time
What protects it
At most a lock against rewriting
What a copied link shows
The same link, which reads the same anywhere
Secure NFC tag
What it holds
A link and a secret key held inside the tag
What a tap returns
The link plus a fresh code and a read count
What protects it
The key: without it, nobody can make the next code
What a copied link shows
An old code, which the server rejects
A comparison of a plain and a secure NFC tag. A plain tag holds a link and other data in a standard record; a tap returns the same link every time; at most it is locked against rewriting; a copied link is the same link and reads the same anywhere. A secure tag holds a link and a secret key held inside the tag; a tap returns the link plus a fresh code and a read count; the key protects it, because without it nobody can make the next code; a copied link carries an old code, which the server rejects.
How it works
Phones read NFC tags in that standard record format and act on what it holds. For a web link, that means opening it or offering to: the NFC Forum describes a phone showing a dialog that confirms the URL to visit. Android's documentation says that from Android 16 a tag holding a web link opens it directly, and that Android 17 first shows an "open link" notification for the user to tap.1,2
With a secure tag, the link carries the code. The phone opens the link, the code travels with it to the brand's server, and the server checks it and returns the result. All of this happens inside an ordinary read of an ordinary link, which is why a tap can open a page in the phone's browser rather than a dedicated app.
Process
What happens when a phone taps a secure NFC tag
The phone powers the tag
The tag has no battery; the phone's field wakes it for the read.
The tag computes a code
A fresh code made with its secret key, and its read count goes up by one.
The phone opens the link
The code travels in the link to the brand's server.
The server checks it
A genuine, unused code verifies; a repeated one is rejected.
A four-step process. First, the phone powers the tag: the tag has no battery, and the phone's radio field wakes it for the read. Second, the tag computes a fresh code with its secret key, and its read count goes up by one. Third, the phone opens the link, and the code travels in the link to the brand's server. Fourth, the server checks it: a genuine, unused code verifies, and a repeated one is rejected.
Copies
Security standards have a name for passing off a captured message as a fresh one: NIST calls it a replay attack, in which someone replays previously captured messages to pass as the genuine party. A secure tag defends against it by making every code single-use. The server remembers which codes, and which read counts, it has already seen for each tag, and turns away any it has seen before or that arrive out of order.4
That is what defeats the easy copies. A screenshot of the page, a forwarded link, or the URL written onto a cheap plain tag all carry a code the server has already seen. The code itself is genuine; it is simply used up. A counterfeiter would need the secret key to make the next one, and the key stays in the tag.
Cloning
A plain tag can be, in the sense that matters: its stored link and data can be read and written onto another tag. A secure tag is built to resist that, because the key that makes its codes stays inside the tag.
What a secure tag changes is what a copy can do. A copy of the link is not enough to pass for the original, it cannot make a new code without the key, and a replayed code shows up as one.
Decision
What a copy of a secure tag can pass for depends on the code it carries
What code does the copy carry?
A decision tree for a copy of a secure NFC tag, sorted by the code the copy carries. If it carries a code the server has already seen, as a screenshot, a forwarded link or the URL written onto a plain tag all do, it is rejected. If it would need a new code, it is out of reach, because making the next code needs the secret key, and the key stays in the tag.
Placement
A tag only proves something while it stays with the item, so placement is decided before the tag goes in. The rule is the same in every category: fit the tag where it is protected, usually out of sight, and hard to move to another object without damage.
Where Vera fits
Each read of a Vera Tag produces a signed, single-use response, and the secret that signs it stays in the tag, so reading a tag's identifier does not give anyone the ability to verify. A copied or screenshotted link is not shown as verified, a replayed tap is flagged on the item's certificate for the brand and for whoever holds the item, and the brand can see where suspicious scans happen.
A tap opens the certificate in the phone's own browser, with nothing to install, and the tag needs no battery. Vera encodes every tag before it ships and can bind a box of tags to a product first, so each item carries its identity from the factory, before it is sold, and keeps it through every owner after. A damaged tag is replaced and the certificate moves to the new one with its whole history.
Checklist
Published by Vera, which makes product identity tags, certificates and software. Vera's own role is set out under 'Where Vera fits'.
This is for general information and is not legal advice.
Questions