I've recently implemented a hardware-locked licensing system with fuzzy-matching to handle changes in hardware without requiring a re-activation, but i need more hardware pieces to match to be more secure / create more reliable fuzzy-matching.
Right now I'm matching against the following:
What are some other machine-specific non-changing hardware serial numbers that would be good to use in this situation, and can be retrieved easily from C#.
Code examples of retrieving such hardware information would be appreciated as-well.
CLARIFICATION
When I said "Non-changing", I mean hardware serials or information that will not change without modifying the hardware in the machine directly. (IE, will not change on their own, or by software)
Having worked at a company that does this kind of hardware fingerprinting, I can tell you that the commercial alternatives are generally pretty solid, but they will all fail in some legitimate cases.
Be aware that some patents in this space are very actively enforced. Some large, successful companies (like Microsoft) who came up with hardware locking algorithms have been successfully sued. If you are very successful in what you do, that may unfortunately happen to you.
If you feel that you need hardware locking, select a company that will make it easy for you to provide customer service to those customers who perform a legitimate upgrade to their system that ends up breaking the fuzzy matching rules. And, be prepared to provide that service quickly and efficiently.
For most use cases, I would warn against hardware locking. It places limitations on your software that will tend to hamper your legitimate customer's legitimate desires to use the software.
Update
Here are a few metrics that can be used in addition to the ones you list. I have not looked into which are particularly easy to get from C#, as most of the code I dealt with at this level was portable C++ with some platform-specific assembly as needed.
Keep in mind that laptops plug into docking stations and may get a number of additional ports, new monitors, etc...
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With