【问题标题】:How do you protect your commercial application from being installed on multiple computers with one license? [closed]您如何保护您的商业应用程序不使用一个许可证安装在多台计算机上? [关闭]
【发布时间】:2008-10-06 19:41:02
【问题描述】:

您如何保护您的商业应用程序不被只拥有一个许可证的人安装在多台计算机上?

您认为拥有更多基于串行的方案是个好主意吗?

【问题讨论】:

  • 这个问题似乎是题外话,因为它是关于许可的。

标签: commercial-application


【解决方案1】:

我的一般规则是

  • 商业环境中的大规模部署 - 审计
  • 许可证密钥激活
  • 高价值软件的小型部署 > 10,000 美元/座 - 加密狗

【讨论】:

  • 我们使用密钥/电子邮件组合和在线验证对我们的产品进行了验证。在网络不允许这样做的情况下,我们还进行了电话验证。用户按下某个组合键,然后会通过电话取回他们读给我们的代码。然后我们可以验证我们的最终结果并给他们他们的密钥。该许可证适用于一台计算机上的多个用户或多台计算机上的一个用户;不是都。 (我们会收集超过 X 次验证的列表,并每隔一段时间检查一次。)此外,如果您使用管理员帐户进行验证,它会验证计算机上的所有用户。
【解决方案2】:

您认为拥有更多基于串行的方案是个好主意吗?

作为一个必须在各种机器上安装各种软件的人,在考虑您的复制保护方案时,请为可怜的网络管理员考虑一下。请,请,在编写您的安装程序时考虑网络范围的安装 - 一定要包括某种序列号保护,甚至让我打电话或联系您的网站并获取授权代码以获取站点范围的安装程序代码或其他,但请确保您的许可代码有效。确保您在技术上优于市场上任何其他软件的软件不会被安装和使用的一个好方法是弄乱安装程序或安装一个太麻烦的安装系统。

【讨论】:

  • 说得好。可用许可是一项功能。
【解决方案3】:

只要您有公共服务器可供使用,以下方法效果很好:

  • 基于串口的保护,用户在使用程序前必须输入一个串口
  • 在第一个序列条目时,将序列绑定到 MAC 地址并创建一个从这两个值生成的身份验证代码。
  • 检查您的服务器以确保串行和 MAC 可以相互绑定。在服务器上注册 MAC。
  • 在随后的每次运行中,永远不要再联系服务器,但每次都要确保序列号 + MAC 地址与其授权码匹配。
  • 如果用户没有 MAC 地址,只要他们有串口,就允许他们运行程序。

这可以防止有人简单地将注册表从一台计算机复制到另一台计算机。

如果用户尝试在另一台计算机上安装相同的序列号,服务器将不允许您将序列号绑定到 MAC 地址,因为它已经绑定了。

这不是一个完美的解决方案,但它可以在 99% 的时间内保护您。

【讨论】:

  • 我上一个项目的客户可能不会接受这样的保护,因为你不能轻易更换系统或网络适配器,并且在上一个项目中,他们可能无法访问互联网系统。所以它是一种特殊的解决方案,不会在任何地方都有效。
  • 如果您的程序需要互联网,您的工作会更好。但是只有在他们没有互联网的情况下,您才能依靠串行。您还可以在线设置网络服务进行手动重置,设置最大值或让他们联系支持进行重置。
  • 此解决方案不需要互联网。您仍然可以通过他们拨打您告诉他们的号码的电话进行激活。
【解决方案4】:

使用机器锁定许可证或需要激活的许可证将许可证锁定到特定机器。与其自己开发这样的方案,不如考虑使用支持这些功能的即用型方案,如 CryptoLicensing

免责声明:我为 CryptoLicensing 的开发商 LogicNP Software 工作。

【讨论】:

  • 它用于 C#。 QT呢?
【解决方案5】:

我们使用 MAC 地址加许可证文件的方法。我们让客户向我们发送他们 PC 的 MAC 地址,然后根据该 MAC 地址生成许可证文件。然后我们通过电子邮件将文件发送给他们,然后他们将许可证文件加载到程序中。不利的一面是,如果人们换掉网卡,您将不得不向他们颁发新的许可证。需要更多的簿记才能确保人们并不总是要求新的许可证,并且对您的客户群有一点信任,他们不会试图过多地玩弄系统。根据该信任级别,您可以在文件中添加编码或加密层,这样他们就不能轻易复制文件。从好的方面来说,您不必实现或维护任何类型的身份验证服务器。

【讨论】:

    【解决方案6】:

    如果软件值得,您可以随时使用 USB 加密狗。当然,所有加密狗制造商都声称他们的复制保护不能被破坏。

    这种方法的优点是它允许用户在多台计算机上使用该软件,但一次只能在一台计算机上运行,​​实际上并不像某种产品激活那样麻烦。当然,缺点是您不能完全以电子方式部署应用程序。尽管您可能会认为相反,但实际上许多客户似乎接受使用加密狗,至少在我工作的领域中。如果您希望您的客户在某个地方使用(并安装!)该软件,它会特别有用没有互联网连接的地方。

    编辑:我在原始问题中过度阅读了基于序列的内容。请注意,即使这样也可能比安装加密狗更让用户烦恼,而且对您来说也更容易,因为客户和您都不必处理这些数字。插入加密狗,应用程序即可运行。但是,仅串行方法是迄今为止最便宜的。

    【讨论】:

      【解决方案7】:

      我们使用 Agilis 的 Orion。对于我们的一些用户,我们会激活节点锁定许可证,对于其他用户,他们通过网页或电子邮件获得激活,对于其他用户,我们在他们的场所放置许可证服务器。 Orion 涵盖了我们需要的所有基础。

      【讨论】:

        猜你喜欢
        • 2011-07-28
        • 1970-01-01
        • 2015-07-13
        • 2012-03-31
        • 1970-01-01
        • 1970-01-01
        • 2016-01-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多