硬件加密狗软件安全保护

时间:2014-01-05 20:30:21

标签: reverse-engineering dongle software-protection

我已经阅读了有关盗版和硬件支持的所有现有讨论,所以这不是一个老问题。我对这个旧讨论有了新的看法。您现在可以购买USB加密狗,它允许您将一些重要的代码放入加密狗。如果您有一个复杂的算法并将其放入加密狗,则有人必须对加密狗的内容进行反向工程。如果他们试图欺骗加密狗,就像过去一样,这是行不通的。他们只能看到数据进入“黑匣子”并且结果数据出来了。在源代码中绕过许可证检查不再是找到跳转true / false的问题。

也许一个手上有很多空闲时间的数学家最终可以逆转它,但这是一个极端的兴趣!另一个选择是硬件加密狗本身需要被黑客入侵。对内置有许多保护措施,但这可能是最有效的方法。

所以我想采取一个场景,看看我是否错过了什么。我将算法的重要部分放入加密狗以保护它。 6个双打和1个int进入加密狗,返回1个double和1个int。数千个数据点就会发生这种情况。这是类似复杂性的几个功能之一。黑客可以看到我的汇编代码的其余部分(我尽可能多地进行混淆),但我们假设它很容易被黑客入侵。我的问题是,在这个专有硬件中进入加密狗访问我的汇编代码有多难?我们以此公司产品为例:http://www.senselock.com

我对如何给客户带来不便感到兴趣,并且应该开源我的产品。我正在寻找关于软件/硬件工程师如何从这样的设备中提取我的装配对象的技术讨论。而且我不是要求攻击一个,而是要知道我有多少麻烦,因为我劝阻篡改。我知道如果有遗嘱,总会有办法。但乍一看,似乎需要几千美元的努力来绕过这个计划?

鉴于到目前为止的反应,我正在添加更多细节。加密狗具有以下属性:“访问芯片受PIN保护,最大重试是由软件开发人员预先设定的。例如,在字典攻击下,一旦重试次数超过预先设定值,芯片将触发自锁机制“。因此,要访问芯片及其中的代码,您必须知道PIN,否则在让我们说10次尝试之后您将被锁定。我个人无法看到任何人可以妥协这个系统。无论进出什么都没关系,重要的是加密狗ARM处理器内部运行的内容。物理强制访问会破坏芯片。电气访问需要PIN或芯片锁定。怎么可能被妥协?

2 个答案:

答案 0 :(得分:1)

我非常同意你的观点,即所有加密狗都可能被黑客攻击,这只是时间和成本问题。如果您的加密方案设计良好,EAL 5+芯片应该足够安全,以防止您的软件形成恶意攻击。

我认为如果你能阅读加密狗那可能意味着你已经破解了加密狗,或者证明加密方案存在致命的漏洞。

顺便说一下,你上面给出的链接不起作用。你指的是这个加密狗吗? http://www.senselock.com/en/productinfor.php?nid=180&id=142&pid=

答案 1 :(得分:-1)

有些公司(例如break-ic.com)有他们可以破解的mcu列表。 打破后,他们只给你十六进制文件。 在这种情况下(mcu)由于每个 mcu 内核的硬件架构,每个制造商都有自己的反汇编程序,并且不能保证存在您想要的反汇编程序!!!
因此,您必须搜索具有牢不可破的 mcu 或他们的 mcu 没有反汇编程序的加密狗。 或者你可以建立你自己的加密狗!!