Cloneability of AES-128 I would like to implement an anti-counterfeiting scheme for tools my company manufactures. This would ideally be done via RFID/NFC tags. However, the environment in which these tags operate would either be behind a heavy firewall or not web-enabled at all. So a database of unique, valid numbers isn't feasible. I'd rather have some sort of generic key programmed to the tag that the software could then verify. However, since all the tags will contain common data, this presents the possibility that a tag could be cloned since the data (or at least a portion of it) on the tag will be identical. 

In other words, I am not interested in protecting the contents of the secret message. Rather, I am concerned about ensuring that the tags cannot be cloned and then embedded on other, counterfeit tools. 

While AES-128 is high security, I am questioning whether or not this encryption method is cloneable. If so, what other encryption technologies might I want to look into? I've been looking into the Algebraic Eraser and SecureRF, which use a public-key methodology.
Basically, there are two ways of doing this: the symmetric and the asymmetric way. 



For the symmetric way: you put in a secret key, which can be derived from a master key. In that case it makes sense to have a static, unique UID per card, which you can use to derive a key for the tag with the master key. Then that key is put on the card, and you can then create e.g. a challenge-response protocol for it. The inspection system needs to have the master key and do the derivation as well, so to be able to verify the challenge-response.

Of course somebody being able to steal an inspection system and/or retrieve the master key from it is of course the weak point of the system. A lot of these systems have methods of using a new master key / derived key in case a master key gets stolen (and this is detected).



Of course you can also put on a private key and (card verifiable) certificate, signed by a higher level certificate. That way the inspection system can first read out the certificate, verify it using a parent certificate in a trust store, and then again verify a challenge signed with the private key. Of course, a smart card chip costs more than a chip that implements challenge-response, doubly so if it contains a private key - and therefore an asymmetric co-processor (Montgomery multiplier), because these CPU's are too slow and possibly too vulnerable against side channel attacks.

This is the asymmetric way, and it only requires a trusted public key to be present in the inspection system.



As always, with NFC tags or contactless (smart) cards, the more complex / secure the more expensive. Prices quickly go down on higher volumes though.