How can I lock my software to my marketplace VM? RRS feed

  • Question

  • Hi all.

    I would like to sell the use of my software through a marketplace VM on which the software has been installed. What options do I have for locking the software to the VM such that customers cannot simply deploy the VM, connect to it (or otherwise access its VHD) and copy the software to a different machine to run it, free of the billing built into my marketplace VM?

    For simplicity, assume the software is a single binary executable and that the normal way to interact with it is over a specified port on the VM on which it has been installed.

    I am aware that there are various third party tools out there for enforcing licensing in cloud-deployed applications (e.g. Gemalto's cloud licensing) but it seems to me that it ought to be possible to use the native capabilities of Azure marketplace VMs to achieve this in a simpler and less intrusive way.

    I can think of a couple of possibilities:

    One is to create the VM image in some sort of locked-down, internally-encrypted state such that the end-user simply cannot access the internal software. But I am not convinced this is even technically possible, and it would certainly making debugging such VMs very problematic.

    Another, more attractive, possibility, would be if my exe was able to inspect some internal, non-spoofable property of the VM it was running on, to confirm that it was indeed running in my marketplace VM. Alternatively, a call out to some Azure API to confirm the same thing. Does such a thing exist?

    I would have thought that this is an issue that many companies who offer marketplace VMs would have needed to address, so I am a bit surprised that I have been able to find nothing on this subject in the usual places (Azure docs and forums, stackoverflow, etc.).

    Thanks in advance for any replies.

    Roger Austin

    Friday, July 26, 2019 1:12 AM

All replies