I created an AIR app which sends an ID to my server to verify the user's licence.
I created it using NetworkInfo.networkInfo.findInterfaces() and I use the first "name" value for "displayName" containing "LAN" (or first mac address I get if the user is on a MAC).
But I get a problem: sometime users connect to internet using an USB stick (given from a mobile phone company) and it changes the serial number I get; probably the USB stick becomes the first value in the vector of findInterfaces(). I could take the last value, but I think I could get similar problems too.
So is there a better way to identify the computer even with this small hardware changes? It would be nice to get motherboard or CPU serial, but it seems to be not possible. I've found some workaround to get it, but working on WIN and not on a MAC.
I don't want to store data on the user computer for authentication to set "a little" more difficult to hack the software.
Any idea?
Thanks
Nadia
Digital Rights Management
of this sort gives theOwnership
of the licence to the card or chip instead of to the owner. It's important to remember anything about a computer can change even down the the CPU or Motherboard. If you don't want to store the licence as a file (understandable), the next best method would be to have the user log in, have your code produce a hash (include salt) or an encrypted string from that, transmit it to a server for validation. The server would just need to compare it to a key it would make using a similar method. – CyanAngel