Foremost, I'd like to state that I have gone through quite a few similar questions posted on stackoverflow and elsewhere, but they don't seem to have answered the extact question that I have.
I know there is no way to fool-proof software registration etc, its just a way I am trying to figure out so that things are very lame for everyone to crack open the software that I am making.
I have been looking to uniquely identify a user (for software registration purposes) using the Mac address. The platform I am working on is Java. Now, getting the Mac address from InetAddress has been a little risky to me - when computer has multiple MAC addresses (multiple NICs), then there are multiple connectivity options - through Wifi, Ethernet cable, 3G dongle etc. Different connectivity options return different InetAddresses and different Mac associated with them- so I cannot validate a software license for a user against this changing value of Mac address.
Is there another way I can uniquely identify a computer? Any other hardware authentication that can be done through Java ( that is platform independent - works on Windows, Mac and Linux).
Thanks