软件授权方案[关闭](Software licencing scheme [closed])

2019-09-23 08:45发布

我设计了以下机制,以不许可直接连接到服务器软件,它似乎很简单,但我无法找到任何严重的缺陷:

我打算使用不对称加密,以便从一台服务器(许可证服务器)将消息发送到N个客户端(在其上安装软件n个计算机)

  1. 客户端发送(通过邮件,例如)有关计算机的一些信息(MAC地址,计算机名称,你的名字)

  2. 在许可证服务器,这些信息使用的是良好保护的公共(不那么公开)的RSA密钥加密,这个加密的有效载荷是许可证。

  3. 加密的许可证发送到客户端

  4. 当软件启动时,它检测开关的许可文件,它能够确保有效载荷与服务器的密钥进行加密,使用相应的RSA私钥,附带软件的各个版本。

  5. 一旦许可证解密,软件检查它的许可是给在同一台机器上运行。

    在我看来,没有人会能够建立一个加密的有效载荷没有获得许可证服务器的RSA密钥。

当然,许可证可能被偷走,然后以模仿真正的客户端机器,或软件可能会被拆解,以便拔掉许可检查虚拟机启动的软件中。

但就是这个方案不够好,或者在这方面,我是完全天真?

谢谢

Answer 1:

这是一个不错的方案,虽然你确定你希望客户端的私钥和服务器的公钥? 除非你生成一个密钥对每个安装,应该不会是周围的其他方式?

该方案很简单,但它是现实? 如果你的目标是防止您的应用程序的休闲裂纹有更简单的解决方案,也一样有效。 如果你的目标是防止破解运行你的应用程序,机会是,(一)你不会成功和(b)你的程序是不是值得如此重视不够重要。

为什么会有人谋攻许可计划的加密部分时,只需十六进制编辑二进制更改许可证校验码NOP指令几乎肯定会工作得很好?

我会重新考虑发牌战略及其对您的产品的重要性以及它的成功,如果我是你。



文章来源: Software licencing scheme [closed]