Software License Protection is the security solution where software developers use to integrate into their software applications with the intention to prevent unauthorized usage or illegal execution of their software. Software developers can either purchase Software License Protection solutions from third party solution providers or develop it in-house. Currently, there are 2 common Software License Protection methods, i.e. Software based and Hardware based.
Software based Software License Protection is the earliest protection method available and usually the protected application will require user to key in Serial No., License Key or Unlock Code to activate the software license. Most of the third party Software License Protection provider will provide a ready made encryption engine of which software developers can use this to encrypt their software applications as to add the protection layer onto their software applications. Usually, the protection will tie with some unique ID from the computer system such as Hard Disk ID or Network Card ID. Also due to this reason, usually if there is any hardware problem such as Hard Disk or Network Card spoilt, license re-activation will be needed. It will also mean the Software Developers will need to keep track and verify the License Key reissue request from the end users, of which some end users might try to take advantage on it. As Software based Protection do not come with any additional devices, it will have to store all the licensing information into the computer system and mostly hide it inside the registry.
Lower ownership cost
Most probably it is cheaper than Hardware based in long run if you purchase from third party provider with one-off purchase (without license loyalty model).
Easier to implement
Usually it comes with limited security features and thus the implementation can be easier.
As Software based can only store and hide all the protection information into the computer system, it will come with higher risk as hacker will be able to locate those security information easily and perhaps crack it.
Too dependent on computer hardware
Most Software based protections are too computer hardware dependent and thus if any computer hardware problem, reinstallation or license reactivation will be required. There are also possibilities some end users will try to take advantage of it by requesting additional license keys for additional workstations instead.
Hardware based Software License Protection is now the most popular protection method where the end user will require to plug in the valid hardware device to the computer in order to run the application. Third party provider will sell the devices which is commonly called Dongles together with software SDK for software developers to do the integration. Usually for Hardware based Software License Protection, end user will not require to key in any Serial No., License Key nor Unlock Code, just plug in the Dongle and run the application, the protection will authenticate the license through Dongle. There are many different forms of Dongles available in the market and the most advanced Dongles are now built based on Microprocessor Smart Card of which it is able to provide maximum protection and thus make hacking almost impossible. As now, software developers are able to determine your software licenses with their Dongles thus make software distribution much easier and more secure.
A good Dongle can provide maximum security if software developers implement it in the right way. As Software developers not only able store the license information inside the Dongle but also able to perform many others security features onboard of which it will certainly make hacking more difficult. The latest MCU Smart Card based Dongles will make hacking such as the EMV Credit Cards, at least impossible with today’s hacking technology.
Better software distribution
With Dongle, software developers will be able to distribute their software as ready-pack product and thus make many different software distribution models possible.
Higher cost per license
As the protected software will need to distribute together with Dongle, it will add into the software costing as well.
Some Dongle might have some compatibility problems to certain environment such as different OS, different network settings or even different firewall configuration. Choosing the proven and well-known Dongle will be able to eliminate such issue.
Different software developers might have different preferences on selecting either Software based or Hardware based Software License Protection into their software applications. The common factors influence their decisions are as below:-
Total Cost of Ownership
This will include overall investment on acquiring such protection method which may be the initial cost to obtain, cost to integrate and cost per software license. Most importantly, will the choice taken to provide positive return on investment.
Time to Roll-Out
Overall implementation time-whether this protection will affect the software roll out schedule or whether the integration will consume too much of our resources to accomplish it. A good protection strategy should find the right balance among these considerations.
How strong can the protection method combat against the potential threat of being pirated, usually higher value software might require higher security protection then low value mass market software.
Whether the protection method can best suit into their overall business model, of which will include product distribution, product pricing, licensing management and of course marketing activities.