将许可应用程序限制为服务器

时间:2011-12-23 11:27:59

标签: java jboss licensing install

我们为您的客户提供每个服务器的应用程序许可。确保不将其复制到其他服务器的最佳方法是什么?这是一个JBoss服务器应用程序。 MAC地址限制是否足够?许多应用程序受MAC地址限制,但我认为它很容易伪造。

6 个答案:

答案 0 :(得分:4)

滚动自己的许可管理软件存在许多问题。如果您锁定硬件,当服务器出现并且您的客户想要迁移到新计算机时会发生什么?你支持热备用吗?你支持虚拟化吗?它是按CPU还是按实例许可的?这些只是一些示例问题;还有很多,还有很多需要考虑。

几年前,我在一个服务器系统上工作,我们需要实施许可证管理和执行。我们使用Macrovision的FlexLM。它现在似乎已成为FlexNet新公司和产品套件。这是一个昂贵的,但更好地考虑许可证管理而不是手动解决方案,并且它几乎可以满足任何服务器许可需求。

尽管如此,我非常建议您不要以这种方式处理许可证合规性。您的客户不太可能对此做出好的反应,不是因为他们想要欺骗您,而是因为您正在为使用他们授权的软件添加额外的步骤,无论多么微小。根据我的经验,更好的解决方案包括简单地信任您的客户遵守许可协议(作为一个jboss应用程序,我假设您正在与企业客户打交道而不是更容易“共享”的消费者桌面应用程序),包括审计权利通过许可协议,或设置许可证,以便您的客户可以随意安装并支付在指定时间段内使用的许可证。您的客户经理应该喜欢有一个询问新许可证的接触点。根据我使用服务器软件的经验,当您让企业客户轻松扩展软件使用时,他们倾向于这样做,从而带来净销售额。

无论你走哪条路,祝你好运!

答案 1 :(得分:2)

我认为MAC地址限制不是一个好主意。首先,服务器可能有多个网卡。第二 - 有时网卡出现故障,需要更换 - 因此MAC地址会发生变化。

可能的是收集尽可能多的组件的某种硬件指纹,然后使用它们来决定这是否是同一台机器。如果您允许更改某个更改,则单个组件不会停止该软件,但更改2或3将要求您的客户与您联系,以获取新许可。

当然,最终的保护是所谓的加密狗。维基百科上有一篇很好的Software protection dongle文章。

总而言之,没有任何保护,无法破解。因此,无论您选择什么,请确保它不会损害您的用户,或者您可以通过不良保护机制而不是未经许可使用来释放更多客户。

答案 2 :(得分:1)

使用许可证,如果你想破解它,你可以破解它;) 话虽如此, 如果您打算使用MAC地址以确保仅使用您的软件副本,请为以下内容做好准备:

  1. 您需要在多个MAC地址上支持单个许可证,这是因为客户通常会拥有多个NIC,并且一次保持其中一个NIC处于活动状态。

  2. 您需要拥有超快速的客户服务。假设您的客户计划将此软件从一台计算机转移到另一台计算机,然后他会要求您将许可证转移到新的MAC地址。如果软件是时间关键的,那么这种转移应该非常快 当然,您可以将解决方案1与解决方案2结合使用。
  3. 如果您安装软件的客户服务器可以访问互联网,那么最好的选择是进行在线许可续订,在您的软件中,您的许可服务器将续订许可。但考虑到所需的所有基础设施,成本是一个问题。

    在决定许可方案license-scheme之前,请考虑此讨论 这也是how-are-software-license-keys-generatedconsideration for License Management 此外,JLicense是一个简单的库,可用于简单的许可证管理。

答案 3 :(得分:0)

建议。构建功能缺陷的自动更新(安全补丁/错误修复/优化)。然后做一个ID& IP检查。

答案 4 :(得分:0)

您需要考虑以下问题:

  1. 您的客户是否会违反许可协议?
  2. 您的客户是否熟练且可能违反保护措施?
  3. 如果两个答案都是真的,则没有机会保护您的软件,除非您使用加密狗这样的硬件组件。

    如果一个答案是假的,你可以使用这个简单的方法:

    1. 安装软件时,使用某些秘密算法在客户计算机上生成 Install-Id ,并将其加密存储在计算机上不常见的秘密位置并显示给客户。
    2. 从客户那里请求Install-Id并检查它是否真的与您的algorythm一起生成。
    3. 使用第二个秘密algorythm生成许可证密钥并将其提供给客户。
    4. 在您的软件中验证使用Install-Id生成许可证密钥。
    5. 由于可以更换硬件,因此无法使用MAC地址等参数,因此您必须使用类似于Install-Id的通用内容。

答案 5 :(得分:0)

最好的方法是在软件外部执行此操作,使用软件协议来设置这些限制。客户可以选择遵循指南并遵守或不符合要求。如果他们是一家上市公司,他们可能会进行软件审计,而只是支付合规性,而不是冒被起诉的风险。