我有这个java swing应用程序,我打算通过互联网销售。目前我倾向于使用java webstart部署应用程序。该产品将被授权用户在一台计算机上一次只能使用该程序。我对这种模式的盗版感到担忧。我想安装一些安全功能来执行许可证模式。目标至少是让授权用户难以将安装的产品(包括许可证密钥)复制到未经授权的用户。下面是我在看现在的选项:如何防止java webstart应用程序盗版
强制用户在每次程序启动时间验证到母船与一个用户名/密码。
只需在用户PC上的某个地方(隐藏?)安装许可证密钥,然后他们已经注册并付款。在运行时,验证是否安装了有效的许可证密钥。
使用/构建基于用户计算机的硬件指纹的安全软件包。每次启动应用程序时都会计算此指纹,并使用某种散列与本地安装的许可证密钥进行比较。此许可证密钥将仅对此硬件指纹有效。
这里的一个问题是,一旦安装了该应用程序,没有任何运行时需要对应用程序联系母船,不是检查使用Java Webstart的应用程序更新等。应用程序执行的所有操作都是在本地执行的,并使用swing将结果显示给用户。因此,涉及母船的任何解决方案基本上都意味着建立一个服务器基础设施,仅用于许可证验证。
我想我正在寻找的是基于java的东西,至少有点安全,易于部署,对用户来说不是一件痛苦的事情。你使用了什么安全/授权方法?
编辑:我应该补充一点,我并不一定会寻找一颗银子弹来防止绝对每个人都击败安全。总会有人有足够的时间来找到完成任务的方法。我不太关心这些人。我基本上是想让一个临时用户很难复制许可密钥并发送给他的好友。正确实施,解决方案应该说服临时用户购买它比较简单。
计算您的硬件指纹并与母舰进行谈判仅用于许可目的的软件?听起来像一个**的痛苦,并让我想起那个Windows激活的东西。请不要这样做。 – 2009-11-25 22:08:14