Other serial numbers (through
dmidecode) seem rather inconsistent to me. On my media centre they pour out but on my desktop I can't see anything.
I would have said if you wanted to do this, you just use
eth0. Almost every computer has at least one ethernet port and that will always render a MAC address. There are some problems though:
- MAC addresses can be changed. Easily.
- MAC addresses duplicate. Considering half the address is vendor/model ID, lots of vendors only get a few million unique keys and clearly make many millions more devices - so there are duplicates in the wild.
- Some devices don't have ethernet port, it's disabled, or it's only occasionally on. This is a problem if you try to dynamically change which port you're IDing from. If you start on
wlan0 because it's the only one available at the time and then
eth0 comes on line the next time you check, you might annoy the customer.
You might do best to take an amalgum of hardware information (motherboard name, processor ID, number of CPUs, graphics name, amount/configuration of RAM etc).
Just make sure you're not stupid about how paying customers go through the re-authentication process. As soon as you make this process harder to work through than just pirating it, you've lost the game. Oh and don't forget you'll need to advertise the fact you're collecting and storing this identifiable up-front, ideally before purchase.