Hardware token/UUID for authentication of software

Solution 1:

The problem in your approach is that you are outsourcing part of your licensing to third parties, that is, equipment manufacturers.

Even if you found some kind of universal authentication token, there can still be thousands of hardware products with buggy implementation of the feature. Once something is broken, you cannot do anything to fix it.

It is also impossible for you to test licensing when you outsource part of it to third parties.

You should own the licensing infrastructure completely. One way to do this is to implement licensing backend in the cloud. All software instances would receive unique licensing credentials, which are checked from backend.

If backend detects two users of the same license, then it will disable both licenses.

This approach does require connection to the license backend.

Overall, designing a well-functioning licensing system is a very complex topic. Therefore I suggest you to get some professional help on the subject.