Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 相当开放的UNIX产品的许可证和/或并发使用强制机制?_Security_Software Distribution_Piracy Prevention_Piracy Protection - Fatal编程技术网

Security 相当开放的UNIX产品的许可证和/或并发使用强制机制?

Security 相当开放的UNIX产品的许可证和/或并发使用强制机制?,security,software-distribution,piracy-prevention,piracy-protection,Security,Software Distribution,Piracy Prevention,Piracy Protection,对于如何将许可证密钥强制执行或并发用户限制强制执行添加到(基于UNIX的)软件产品中的任何建议,我将不胜感激,因为最终用户名义上拥有源代码,或者可以想象,可以相对轻松地获得源代码,因为运行它的服务器位于他们的场所,等等 显然,我既不寻求也不期望有一种技术能够被一个有强烈动机的人和/或1337 H4x0R这样的好技术所规避。这种反盗版机制的目的不是为了阻止用户做他们真正想做的事情,而是为了让它变得足够烦人,以至于与只需支付另一个(便宜的)许可证的相对容易相比,这样做并不真正值得麻烦——至少对于一个

对于如何将许可证密钥强制执行或并发用户限制强制执行添加到(基于UNIX的)软件产品中的任何建议,我将不胜感激,因为最终用户名义上拥有源代码,或者可以想象,可以相对轻松地获得源代码,因为运行它的服务器位于他们的场所,等等

显然,我既不寻求也不期望有一种技术能够被一个有强烈动机的人和/或1337 H4x0R这样的好技术所规避。这种反盗版机制的目的不是为了阻止用户做他们真正想做的事情,而是为了让它变得足够烦人,以至于与只需支付另一个(便宜的)许可证的相对容易相比,这样做并不真正值得麻烦——至少对于一个能力一般的最终用户来说是如此

这就需要一些更为复杂的东西,而不仅仅是隐蔽的安全(这也会让可能遇到它的用户嘲笑你,即使无意中没有修改设置的意图),但没有什么比保护导弹发射井所需的更接近。只要说“是的,这个产品确实限制了你购买的东西的使用”就足够了。这不应该是一件有趣的事情,足以激励那些追求名利的人发布一篇关于如何破解它的博客文章,理想情况下,尽管考虑到这个产品是多么的利基和便宜,我不认为这是一个问题

我能想到的唯一真正的技术是将程序其余部分功能上必不可少的一些例程编译成静态或动态二进制可重新加载对象,并包括检查。在某些不可分割的方面,例程必须是关键的,而不是仅仅针对特定条件进行人工检查,否则用户可以直接去禁用对函数的调用。其思想是,禁用对函数的调用也会产生其他不吸引人的后果

这不是聪明的黑客不能分解的,而且,很明显,如果函数足够简单,可以构建成一个没有目的的二进制文件,那么它也足够简单,可以在它之外重新实现。但是,这比一个典型的终端用户要费劲的多。当然,再次强调的是,重点不是机械地阻止盗版,而是在适当的地方设置一个小小的限制,这样产品就不会纯粹在荣誉系统上工作,尽管我相信这对美国的许多公司买家来说已经足够了


这是一种常见的方法吗?有更好的吗

所有这些都会激怒你的诚实用户,而任何称职的海盗都会在五分钟内破解-不要这样做。

所有这些都会激怒你的诚实用户,而任何称职的海盗都会在五分钟内破解-不要这样做。

重点不是防止任何海盗破解它。问题的关键并不是要激怒那些在他们最疯狂的梦中永远不会盗版一件东西的少数用户——那些永远也不会偷一块泡泡糖的用户。真正的目的是抓住钟形曲线的中间,答案是,“当然,我会盗版——如果这么容易的话。”让它变得如此容易,以至于它实际上乞求被盗版,这不是件好事,对吧?也就是说,你为什么认为它会激怒诚实的用户?诚实的用户知道他们为x个许可证付费,所以为什么他们希望程序允许x个以上的许可证?这让他们很恼火,因为方案总是出错-加密狗密码、许可证文件丢失、安装新服务器时需要复制软件等。在这种情况下,服务器和安装是远程管理的;客户不处理任何问题,也不想处理任何问题——他们名义上满足于将其保留为“黑盒子”。只是因为服务器在他们的经营场所(这不是托管产品),他们不需要花太多时间就可以在盒子上扎根,自己去翻查代码。重点不是防止任何海盗破解它。问题的关键并不是要激怒那些在他们最疯狂的梦中永远不会盗版一件东西的少数用户——那些永远也不会偷一块泡泡糖的用户。真正的目的是抓住钟形曲线的中间,答案是,“当然,我会盗版——如果这么容易的话。”让它变得如此容易,以至于它实际上乞求被盗版,这不是件好事,对吧?也就是说,你为什么认为它会激怒诚实的用户?诚实的用户知道他们为x个许可证付费,所以为什么他们希望程序允许x个以上的许可证?这让他们很恼火,因为方案总是出错-加密狗密码、许可证文件丢失、安装新服务器时需要复制软件等。在这种情况下,服务器和安装是远程管理的;客户不处理任何问题,也不想处理——他们名义上满足于将其保留为“黑盒子”。只是因为服务器在他们的场所(这不是托管产品),所以他们不需要花太多时间就可以在盒子上扎根,自己去翻查代码。