点击这里可以发送分享哦!

找更多的资料吗?点我立即搜索!!
查看: 5146|回复: 16
打印 上一主题 下一主题

MCU加密技术分析续

[复制链接]
跳转到指定楼层
楼主
发表于 2016-9-9 09:59:04 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
      上期提到了嵌入式MCU破解技术,虽不全面,但足够起到警示作用。
本期主要讲述嵌入式产品如何进行安全防护。
因为MCU端的程序很容易被获取到,所以MCU端的程序和数据都是不安全的。最直接的加密防护,就是提升MCU的安全等级,让他变得坚不可摧。有些主控厂家意识到这一点,也推出了一些安全主控。但目前市场上的大多数MCU都不会去做安全防护,我们是无法左右MCU原厂的,只能在MCU之外做文章。上期提到的认证方案,之所以不是绝对安全的,就是因为认证成功与否,还是需要MCU端程序自己做判断,因此这一动作是可以被绕过的。
目前市场上公认的最安全加密方案就是算法移植方案。之所以说它是最安全的,有以下两个原因。第一,MCU端的程序有一部分被移植走了。比如MCU端存储了一个图像优化算法,我们把它移植到另一颗芯片中去运行,当MCU需要调用这个算法时,将参数传递过去,并从另一颗芯片取回运算结果。这样一来,即使MCU端程序被破解了,也不可能拿到所有程序,必须要破解另外一个芯片,才能拼凑出全部程序,这是方案上的优越性。第二个原因,就是算法移植方案都是基于高安全等级的加密芯片实现的,保证存储到加密芯片内部的程序算法是不可被读出的。因为加密芯片都是基于特殊的硬件平台(比如智能卡平台)专门针对暴力软硬件破解做了很多针对性的防护措施,如识别到硬件攻击则启动自毁机制等,所以它的破解代价远远高于破解MCU,我们移植到加密芯片中的算法是非常安全的。其中凌科芯安的LKT系列加密芯片就是极具代表性的产品。
但是算法移植方案也并不是完美的,毕竟很多用户对产品的实时性要求非常高,从加密芯片中调用一个算法并获得运算结果,时间往往要比直接在MCU中运行多出很多。这样一来,算法移植方案就不再适用。此时,我们可以采用参数移植结合对比认证的方案。对比认证上期讲过,不再敷述。参数移植就是将MCU中的一部分参数移植到加密芯片中。在MCU程序运行的空闲期内,将关键参数从加密芯片端读回并解密,等待需要的时候再应用。这样就在牺牲一定安全强度的基础上,解决了实时性差的短板。同样也是很好的加密方案。
通过这两期的讲解,大家对于解密、加密技术应该有了一定的了解。希望能够引起足够的重视,嵌入式行业内的安全防护是非常有必要的,一定不要忽略这一点!

2楼
 楼主| 发表于 2016-9-18 10:12:52 | 显示全部楼层
逻辑分析仪就可以抓啊
回复

使用道具 举报

3楼
 楼主| 发表于 2016-9-18 11:02:47 | 显示全部楼层
miniminimini 发表于 2016-9-18 10:56
我觉得没那么简单,不然要加密芯片干嘛。

线路上的数据肯定是透明的,所以传输之前一定要转换成密文,这样即使截获到也破解不了
回复

使用道具 举报

4楼
 楼主| 发表于 2016-9-19 11:21:42 | 显示全部楼层
这就涉及到算法的概念了,2位数加法是算法,2位数乘法也是算法,球体体积计算也是算法,复杂程度各不相同,要是移植个简单的加法公式,那肯定安全强度不够啊,而且算法移植并不是自创一个算法,最好是MCU的一个实际算法。而且要保证这个算法输入输出数据是变化的,这样跟踪到数据也无法模拟,因为不知道数据变化的规律
回复

使用道具 举报

5
 楼主| 发表于 2016-9-19 15:21:53 | 显示全部楼层
訫@謜 发表于 2016-9-19 14:58
我同事用过ALPU的,是算法移植的方案吗?

我也不清楚,我只用过LKT的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright@支付产业网   |   京ICP备17067647号-3   |   联系我们
返回顶部