Deploying protected executable or p-code (Taurus Software or similar)

4 views (last 30 days)
Hello,
I am looking for a solution to protect my matlab codes when I deploy them either as pcodes or executable files. I was going to get Taurus from http://www.algorithmprotection.com/ but the site is not working anymore. is there another professional solution to my problem?
  2 Comments
Kamuran
Kamuran on 6 Sep 2015
Edited: per isakson on 6 Sep 2015
I am going to create executable or GUI or p-code and I would like to be control it so it wont be distributed without my permission. Run only one computer for given time. (I can ask user for mac address and insert a time bomb but I want more robust and automatic way of doing it). Encryption would be nice but I am not sure if you can create executable from p-code. If you can check
what they offer sounds perfect for me. I am okay to pay for a service too. I am really surprised that MathWorks is not delivering such solution.
Thanks for the help

Sign in to comment.

Answers (2)

Walter Roberson
Walter Roberson on 6 Sep 2015
The files compiled with MATLAB Compiler are encrypted with AES.
There is no way to prevent a program from being distributed without your permission, except perhaps to burn the program into tamper-resistant chips, preferably ones that use a store of entangled particles to communicate with your server in order to authenticate.
Yes you can use MAC addresses, but it is not at all uncommon for systems to be able to rewrite their MAC addresses.
  2 Comments
Kamuran
Kamuran on 7 Sep 2015
I know what you mean but I can at least make it harder to distribute without my permission. Some how creating a license file locked to a computer. I think Mathworks can develop something like TAURUS. I admit I didn't use the software, I just read the manual and it looks like an easy and acceptable solution.
Walter Roberson
Walter Roberson on 10 Sep 2015
For Mathworks to develop a license file system for user deployment would place them in competition with their provider for FlexLM. Mathworks would be unlikely to do that unless they were to replace the use of FlexLM with their own in-house product.
One thing that I learned in my former work as a Systems Administrator is that license file management gets very complicated and breaks really often.
Do you lock by user but allow each user to have the software on a few different registered systems? Do you lock by user but allow each user to use the software on any host in their network? Do you lock by hardware but allow any one user on the hardware to have multiple sessions? Do you lock by hardware but allow any number of users working directly on the hardware to use it simultaneously? Do you support groups of users? Can groups of users have a set up to allow any (say) 6 of them to be using the software simultaneously? Can different groups have different rights? Can you "borrow" a license for when you are going to be away from the network? Can a large organization manage the licenses at a central server that might be connected to regional offices by way of VPN? How do you support classrooms? How do you support MOOCs?
When you are locking by hardware, do you lock by hard drive serial number, or do you lock by ethernet MAC or do you lock by CPU serial number? It is not uncommon to replace hard drives in any system larger than a laptop. It is not uncommon to have multiple ethernet ports. It is not uncommon to replace ethernet cards. What about when the user pulls out the ethernet wire and picks up their laptop and takes it somewhere in the building using WiFi, do you switch which ethernet card you are paying attention to? When you have multiple ethernet ports and can add and remove them on the fly (such as USB), then how do you decide which one to lock against? Do you go by naming system? If you do, what if the operating system changes the naming system?
Firewalls, firewalls, firewalls! Every non-trivial organization needs them, but they tend to interfere with the ability of systems to reach each other for license checks!
And so on.
Last time I looked at the administration documentation for FlexLM (license management software) there were over 225 different possible configuration error messages, each with multiple causes -- and that was years ago so there are probably more now.
Robust and flexible license management is difficult. No science and technology software company would want to get into the hassles of manufacturing flexible license management software -- the task is too thankless (and unprofitable) for any company that does not choose that as a niche.

Sign in to comment.


Francesco Sigona
Francesco Sigona on 11 May 2018
Hi Kamuran, did you manage to find your way?

Categories

Find more on Manage Products in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!