Software License Protection is means 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 spoiled, license re-activation will be needed. It will also means 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 registry.
Pro
- 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.
Con
- Lower security
As Software based can only store and hide all the protection information into the computer system, it will come with higher risk as hackers are able to find those 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 MCU Smart Card of which it is able to provide very 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.
Pro
-Higher security
A good Dongle can provide very 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 lasted MCU Smart Card based Dongles will make hacking such protection like hacking our EMV Credit Cards, at least it is impossible with today 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.
Con
-Higher cost per license
As the protected software will need to distribute together with Dongle, it will add into the software costing as well.
-Compatibility issue
Some Dongle might have some compatibility problem 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 acquire such protection method which can be the Initial cost to obtain, cost to integrate and cost per software license. Most importantly, will the choice taken provide positive return on investment.
Time to Roll-Out
-Overall implementation time, will this protection affect the software roll out schedule or will the integration consume too much of our resources to accomplish it. A good protection strategy should find the right balance point among this consideration.
Security
-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.
Business Model
-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.