0

我想谈两种类型的问题:

  1. 假设您出于版权目的编写了一个要加密的程序(例如:拒绝未经许可的用户读取某个文件,或禁用该程序的某些功能),但大多数基于软件的加密都可以被黑客破解(只需查看数量HACK 程序可用的程序成为“完整版本”。)

  2. 假设您想将软件推送给其他用户,但想防止盗版(即,其他用户复制该软件并将其作为自己的软件出售)。有什么有效的方法来防止这种情况(类似于 CD 上的音乐保护,如 DRM)?无论是从软件角度还是硬件角度?

还是这两个属于同一类问题?(加密狗是基于硬件/芯片的解决方案,如下所述)?

那么,可以使用基于芯片或硬件的加密吗?如果是这样,究竟需要什么?您是否购买了一种特殊的 CPU、特殊的硬件?我们需要做什么?

任何指导表示赞赏,谢谢!

4

4 回答 4

2

除非您以数千美元的价格出售该程序,否则几乎可以肯定不值得付出努力。

正如其他人所指出的那样,您基本上是在谈论加密狗,它除了是开发人员难以修复的错误的主要来源之外,也是用户恼火的主要来源,而且历史悠久这些所谓的“不可破解”的加密狗被破解了。AutoCAD 和 Cubase 是我想到的两个例子。

底线是足够坚定的破解者仍然可以破解加密狗保护;如果你的软件对破解者来说不是一个足够有吸引力的目标,那么它可能一开始就不值得花钱。

只是我的两分钱。

于 2010-01-13T23:53:53.110 回答
1

正如其他人所建议的那样,硬件加密狗是一种常见的方法。但是,这仍然不能解决您的问题,因为聪明的程序员可以修改您的代码以跳过加密狗检查 - 他们只需要根据检查是否通过,在您的代码中找到您分支的位置,然后修改它测试总是通过。

您可以通过混淆代码使事情变得更加困难,但您仍然回到软件领域,同样聪明的程序员可以找出混淆并仍然实现他想要的目标。

更进一步,您可以使用存储在加密狗中的密钥加密部分代码,并要求引导代码从加密狗中获取它。现在你的攻击者的工作有点复杂 - 他们必须拦截密钥并修改你的代码,以认为它是从加密狗获得的,而实际上它是硬编码的。或者你可以让加密狗自己进行解密,传递代码并取回解密的代码——所以现在你的攻击者也必须模仿它,或者只是获取解密的代码并将其永久存储在某个地方。

如您所见,就像软件保护方法一样,您可以将其任意复杂化,给攻击者增加更多负担,但历史表明,表格向攻击者倾斜。虽然破解您的计划可能很困难,但只需执行一次,之后攻击者就可以将修改后的副本分发给每个人。盗版用户现在可以轻松使用您的软件,而您的合法客户则背负着繁重的复制保护机制。为盗版者提供比合法客户更好的体验是将合法客户变成盗版者的非常好的方法,如果这是您的目标的话。

解决此问题的唯一(很大程度上是假设性的)方法称为可信计算,它依赖于向用户的计算机添加硬件,将他们可以用它做的事情限制为经过批准的操作。您可以在此处查看硬件支持的详细信息。

我强烈建议您不要使用这条路线,原因我在上面详述:与使用盗版副本的客户相比,您最终为合法客户提供了更糟糕的体验,这会积极鼓励人们不要购买您的软件。盗版是生活中的事实,即使您可以提供无懈可击的保护,有些用户也根本不会购买您的软件,但会很乐意使用非法副本。您能做的最好的事情就是为您的合法客户提供最佳体验和客户服务,使合法副本比盗版更具吸引力。

于 2011-08-15T01:04:55.753 回答
0

早在那天,我就在并行端口上看到了硬件加密狗。今天你使用这样的 USB加密狗维基百科链接

于 2010-01-13T23:44:13.510 回答
0

它们被称为加密狗,它们适合 USB 端口(现在)并包含自己的小型计算机和一些加密内存。

您可以使用它们通过测试是否存在硬件加密狗来检查程序是否有价值,您可以在加密狗中存储加密密钥和其他信息,或者有时您可以在加密狗中运行一些程序功能。它基于加密狗比您的软件更难复制和逆向工程。

deskkeyhasp(似乎已被接管)

于 2010-01-13T23:47:00.130 回答