1
10
我还没有看到一个许可计划,如果有足够的兴趣,几个星期内没有被打破。你的计划看起来很好(尽管要确定如果有人真的想,他们会破坏它)。 不管你做什么,你都应该跟着埃里克·辛克的 advice :
由于您正在为一个专为公司使用而设计的程序实施许可证方案,因此您可以更简单地在客户机上保留某种ID和到期日期以及一个简单的签名,并在许可证过期或签名失败时拒绝启动。打破它并不难,但没有许可计划,如果你认为你的客户诚实,这就足够了。 |
2
1
你的问题并不完全清楚你的计划是如何运作的。客户端软件的每个实例都有不同的密钥吗?许可证有效期是多久?每个客户都有不同的钥匙吗?许可证是如何支付的?如何更新许可证? 如果您试图控制客户机代码的使用数量,那么只有上面的第一个代码可以做到这一点。 一天结束的时候,在这个你似乎居住的世界里,我怀疑你将不得不相信没有公然侵犯你的执照。大多数正派的组织(听起来像你的客户)都有责任不侵权,如果他们违反许可协议,可能会导致严重后果。他们也会定期对其进行审计,您可能有一些法定权利去检查他们的使用情况(如果没有,您应该将其写入您的许可协议)。 如果USB钥匙的内容进入网络,对您来说会变得非常危险。在这方面,任何使用已发布密钥的方案都容易受到故意泄露机密的攻击。 我敢肯定这方面有很多文献,所以很可能值得你继续研究。 顺便说一句,我不确定您在中间部分对SLA的引用是否与您的服务器许可有关。许可证和SLA非常不同。许可证是客户的义务,SLA是您的。 |
3
1
如果您给了他们私钥,那么是什么阻止他们创建更多的签名XML文件而不是从您那里购买额外的许可证呢?还是网站许可证?如果是后者,如何阻止他们为其他人/站点创建许可证? 一般来说,开发许可方案使用MAC地址和/或硬盘驱动器序列号将许可证绑定到特定的机器,或者有时仅使用激活密钥(通常只是硬件信息的散列)。 通常,编码是用您保密的私钥完成的,许可证是用公钥验证的;客户机永远没有私钥,否则,如果愿意,他们可以生成自己的许可证。 |
4
1
我同意史蒂文A.洛的观点(我没有15个名声,所以我不能投票给他)。 这似乎也太复杂了。你想让它牢不可破吗?你不可能。任何有足够动力的大师都会找到一种解决方法。 有时简单的许可方案最有效: 我建议管理员将一个简单的加密文件放在客户机可以访问的地方-它将包含客户机名称和到期日期。在所有打印的报告中使用文件中的客户机名称(这是最重要的 PHBs 注意,这样他们就不会使用打印别人名字的许可证了。 |
MettDich · 使用带有触摸ID保护设备的3D触摸动作 7 年前 |