linksafe2016的个人空间 https://www.eechina.com/space-uid-131996.html [收藏] [复制] [RSS]

博客

MCU加密技术分析续

热度 8已有 1569 次阅读2016-9-9 13:22 | 加密, 安全, MCU

上期提到了嵌入式MCU破解技术,虽不全面,但足够起到警示作用。

       本期主要讲述嵌入式产品如何进行安全防护。

因为MCU端的程序很容易被获取到,所以MCU端的程序和数据都是不安全的。最直接的加密防护,就是提升MCU的安全等级,让它变得坚不可摧。有些主控厂家意识到这一点,也推出了一些安全主控。但目前市场上的大多数MCU都不会去做安全防护,我们是无法左右MCU原厂的,只能在MCU之外做文章。上期提到的认证方案,之所以不是绝对安全的,就是因为认证成功与否,还是需要MCU端程序自己做判断,因此这一动作是可以被绕过的。

目前市场上公认的最安全加密方案就是算法移植方案。之所以说它是最安全的,有以下两个原因;第一,MCU端的程序有一部分被移植走了。比如MCU端存储了一个图像优化算法,我们把它移植到另一颗芯片中去运行,当MCU需要调用这个算法时,将参数传递过去,并从另一颗芯片取回运算结果,这样一来,即使MCU端程序被破解了,也不可能拿到所有程序,必须要破解另外一颗芯片,才能拼凑出全部程序,这是方案上的优越性。第二个原因,就是算法移植方案都是基于高安全等级的加密芯片实现的,保证存储到加密芯片内部的程序算法是不可被读出的。因为加密芯片都是基于特殊的硬件平台(比如智能卡平台)专门针对暴力软硬件破解做了很多针对性的防护措施,如识别到硬件攻击则启动自毁机制等,所以它的破解代价远远高于破解MCU,我们移植到加密芯片中的算法是非常安全的。其中凌科芯安的LKT系列加密芯片就是极具代表性的产品。

但是算法移植方案也并不是完美的,毕竟很多用户产品的实时性要求非常高,从加密芯片中调用一个算法并获得运算结果,时间往往要比直接在MCU中运行多出很多。这样一来,算法移植方案就不再适合。此时,我们可以采用参数移植结合对比认证的方案。对比认证上期讲过,不再敷述。参数移植就是将MCU中的一部分参数移植到加密芯片中。在MCU程序运行的空闲期内,将关键参数从加密芯片端读回并解密,等待需要的时候再应用。这样就在牺牲一定安全强度的基础上,解决了实时性差的短板,同样也是很好的加密方案。

通过这两期的讲解,大家对于解密、加密技术应该有了一定的了解了。希望能够引起足够的重视,嵌入式行业内的安全防护是非常有必要的,一定不要忽略这一点。


路过

鸡蛋
1

鲜花

握手

雷人

刚表态过的朋友 (1 人)

发表评论 评论 (16 个评论)

回复 Nic_浩 2016-9-9 15:32
算法移植方案也不一定安全,如果别人抓到你MCU与加密芯片传递的数据,照样可以破解。
回复 Test_wf 2016-9-9 21:13
Nic_浩: 算法移植方案也不一定安全,如果别人抓到你MCU与加密芯片传递的数据,照样可以破解。
同意,我也这么认为
回复 ~姐、就是如此自 2016-9-10 17:40
我觉得确实可以,但是你最起码得知道通讯协议是什么,不然怎么抓?
回复 ?-о 2016-9-10 21:33
~姐、就是如此自: 我觉得确实可以,但是你最起码得知道通讯协议是什么,不然怎么抓?
逻辑分析仪就可以抓呀
回复 ~姐、就是如此自 2016-9-11 08:14
开玩笑呢?我给您逻辑分析仪,你知道按什么接口抓数据吗?SPI通讯,你设置成USB通讯,能抓到才怪呢。
回复 7788ttl 2016-9-14 09:37
?-о: 逻辑分析仪就可以抓呀
恩,肯定能抓,就是分析数据非常消耗时间。前提是不知道通讯协议是什么。
回复 wang0327 2016-9-14 10:54
我觉得没那么简单,不然要加密芯片干嘛。
回复 ?-о 2016-9-18 10:33
wang0327: 我觉得没那么简单,不然要加密芯片干嘛。
线路上的数据肯定是透明的,所以传输之前一定要转换成密文。这样即使截获到也破解不了。
回复 Test_wf 2016-9-18 14:59
密文照样也可以模拟啊
回复 ?-о 2016-9-18 16:35
Test_wf: 密文照样也可以模拟啊
这就涉及到算法的概念了。2位数加法是算法,2位数乘法也是算法,球体体积计算也是算法。复杂程度各不相同,要是移植个简单的加法公式,那肯定安全强度不够啊,而且算法移植并不是自创一个算法,最好是MCU的一个实际算法。而且要保证这个算法输入输出数据是变化的。这样跟踪到数据,也无法模拟,因为不知道数据变化的规律。
回复 Mr.Wang 2016-9-18 19:12
不错,有机会我也研究下加密芯片
回复 paultoday 2016-9-19 09:27
我同事用过ALPU的,是算法移植的方案吗?
回复 ?-о 2016-9-19 15:35
paultoday: 我同事用过ALPU的,是算法移植的方案吗?
我也不清楚,我只用过LKT的
回复 Nic_浩 2016-9-19 18:17
不是说可以绕过MCU里面的对比点吗,那你调用算法返回的数据也可以被绕过
回复 Test_wf 2016-9-19 21:47
Nic_浩: 不是说可以绕过MCU里面的对比点吗,那你调用算法返回的数据也可以被绕过
人家说的是移植算法,调回的数据肯定还要继续运行的。你绕过去程序应该就不能执行了,我这么理解没错吧?
回复 ?-о 2016-9-20 10:53
Test_wf: 人家说的是移植算法,调回的数据肯定还要继续运行的。你绕过去程序应该就不能执行了,我这么理解没错吧?
嗯是的,理解的非常正确

facelist

您需要登录后才可以评论 登录 | 立即注册

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
返回顶部