I am trying to find a good way of protecting a program that needs to manage its users. The program is targeted for a very specific market that has a low chance of being people going out of their way to crack or pirate it, so that is not the issue.
Currently we bind the user by username / MAC address and that is a very bad way of securing the software due to issues with laptop docks or wifi.
I need a way figuring out how to bind the user to a machine so if they try to use the same software on another computer it will not work.
-Does not need to be totally secure, just needs to have less rate of failure
It will be a windows only environment from xp-> windows 7 that could be on anything from laptop to servers and VMs.
Thanks
(Disclosure - I work for Agilis Software, a provider of software protection systems).
First of all, the MAC address is not a good idea for locking, even if it is widely used, as it can be set by an admin, making it easy to run your app anywhere. A combination of parameters is best, but you do need to think about the following (all provided for in Agilis's system, of course):
Hope this helps.