我设计了以下机制,以不许可直接连接到服务器软件,它似乎很简单,但我无法找到任何严重的缺陷:
我打算使用不对称加密,以便从一台服务器(许可证服务器)将消息发送到N个客户端(在其上安装软件n个计算机)
客户端发送(通过邮件,例如)有关计算机的一些信息(MAC地址,计算机名称,你的名字)
在许可证服务器,这些信息使用的是良好保护的公共(不那么公开)的RSA密钥加密,这个加密的有效载荷是许可证。
加密的许可证发送到客户端
当软件启动时,它检测开关的许可文件,它能够确保有效载荷与服务器的密钥进行加密,使用相应的RSA私钥,附带软件的各个版本。
一旦许可证解密,软件检查它的许可是给在同一台机器上运行。
在我看来,没有人会能够建立一个加密的有效载荷没有获得许可证服务器的RSA密钥。
当然,许可证可能被偷走,然后以模仿真正的客户端机器,或软件可能会被拆解,以便拔掉许可检查虚拟机启动的软件中。
但就是这个方案不够好,或者在这方面,我是完全天真?
谢谢