我已经阅读了所有关于盗版和硬件支持的现有讨论,所以这不是同一个老问题。我对这个旧讨论有了新的转折。您现在可以购买用于 USB 的加密狗,允许您将一些重要的代码放入加密狗。如果您有一个复杂的算法并将其放入加密狗中,则必须有人对加密狗的内容进行逆向工程。如果他们像过去那样试图欺骗加密狗,这是行不通的。他们所能看到的只是数据进入一个“黑匣子”,结果数据出来了。在源代码中绕过许可证检查不再是寻找跳转真/假的问题。
也许一个手头有很多空闲时间的数学家最终可以扭转它,但那是一种极端的兴趣!另一种选择是硬件加密狗本身需要被黑客入侵。有许多针对此内置的保护措施,但这可能是最有效的方法。
所以我想采取一个场景,看看我是否错过了什么。我将算法的重要部分放入加密狗以保护它。6 个 double 和 1 个 int 进入加密狗,返回 1 个 double 和 1 个 int。这发生在数千个数据点上。这是具有相似复杂性的几个函数之一。黑客可以看到我的汇编代码的其余部分(我尽可能地对其进行混淆),但假设它很容易被黑客入侵。我的问题是,破解加密狗访问我在这个专有硬件中的汇编代码有多难?我们以这家公司的产品为例:http ://www.senselock.com
我对如何给客户带来不便的讲座不感兴趣,我应该开源我的产品,拜托。我正在寻找有关软件/硬件工程师如何从此类设备中提取我的装配对象的技术讨论。而且我问的不是为了破解一个,而是要知道我有多少麻烦,因为我不鼓励篡改。我知道,只要有意愿,总会有办法。但乍一看,绕过这个方案似乎需要花费数千美元的努力?
鉴于到目前为止的反应,我将添加更多细节。加密狗具有以下属性,“对芯片的访问受PIN保护,最大重试次数由软件开发人员预先设定。例如,在字典攻击下,一旦重试次数超过预先设定的设定值,芯片将触发“自锁机制”。因此,要访问芯片以及其中的代码,您必须知道 PIN 码,否则在尝试 10 次后,您将被锁定。我个人看不出任何人可以破坏这个系统。进出什么并不重要,重要的是加密狗 ARM 处理器内部运行的是什么。物理强制访问会破坏芯片。电气访问将需要 PIN,否则芯片将被锁定。不然怎么可能妥协?