'Avoid NFC copying

I would like to protect an NFC NTag213 tag against copying. My constraints are:

  • The tag must include an NDEF record with a URL readable by any NFC-compatible application.
  • The verification of the validity of the tag will be done via my application. It is separate from link functionality.

Basically, it should be seen as if the URL is a simple information accessible to all. And the application simply allows you to check if the tag is a copy, or an original.

The application must not store any private key or authentication information because the tag must be able to be sent to anyone, who must be able to verify that it is not a copy and open the URL.

I'm talking about NTag213 because it's well known and inexpensive, but I'm open to other tag formats. However, they must remain affordable and be compatible with inexpensive NFC devices (including smartphones).



Solution 1:[1]

Given the availability of changeable UID Tags and the fact that you are giving away how to validate the card, no amount of using the Unit ID, password protection or cryptographic methods is going to prevent cloning.

The UID is more like Unit ID and the NFC's design requires it only to be different when multiple Tags are presented at the same time as part of the Anti collision process.

Solution 2:[2]

The NFC tag with dynamic NDEF could help. The tag keeps change the value every tap and if you know the secret key, you can verify the authenticity from the URL. Have you seen https://youtu.be/V_sl2s9IZao

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Andrew
Solution 2