很多企业做项目定制开发,一般都是用Java开发语言,但是Java开发的程序在安全性上有很多需要解决的问题。
1. 保护Java代码不被反编译。
2. 项目不被随意拷贝复制到其他服务器,一般要做到绑定服务器
3. 项目离线授权,可以控制时间,需要做限时、限制功能等
4. docker 部署,所以授权也要能支持在docker里运行,有时候需要限制启动docker的数量,同时要防止随意把整个docker拷走。
5. 授权要能支持微服务部署的程序。

针对以上需求,调研了深思数盾的一款VirboxLM的产品,基本可以满足。

第一点,保护java代码不被反编译。
VirboxLM 提供的SDK里带有一款 虚拟机加壳工具,可以直接对jar、war、class文件进行加密,加密后可以防止jd-gui等反编译工具查看源代码。
二点:防止项目被拷贝
VirboxLM有三种授权方式:加密锁、软锁、云锁。
加密锁:精锐5加密锁,是以USB设备形式插在电脑上,才能打开加密后的软件。纯离线可用,无需激活,支持限时/限次/限功能模块等授权,支持远程升级。
软锁:授权码形式:软件用户只需要输入授权码(由数字和字母组成的一串字符),激活授权码后即可使用软件。可以离线激活,绑定设备。支持单机授权和集团网络授权。
云锁:开发者在VirboxLM平台为软件用户添加账号,并给账号发放许可。软件用户通过账号密码登录Virbox用户工具后,可查看是否有软件的使用许可,许可有效才能使用加密后的软件。可对软件进行限时/限次/限模块的授权使用。

他需求:
可以支持限时、永久的授权方式;
支持docker K8S的部署方式
支持微服务部署。