打印

如果固件被**了,用加密芯片还有用吗?

[复制链接]
14131|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huangxz|  楼主 | 2013-1-5 22:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近看了一下关于固件加密的一些方面的文章,比如使用ds2432芯片进行口令认证,
可是就是不明白,如果口令在固件里面,如果固件被破解了,那使用加密芯片还有没有价值?

相关帖子

沙发
ymind| | 2013-1-6 09:02 | 只看该作者
理解有误,建议再看看相关原理。简单地说,DS2432内嵌的hash算法是固定的,挑战码(chanllege,用口令不严谨)是随机生成的。

使用特权

评论回复
板凳
huangxz|  楼主 | 2013-1-6 17:23 | 只看该作者
ymind 发表于 2013-1-6 09:02
理解有误,建议再看看相关原理。简单地说,DS2432内嵌的hash算法是固定的,挑战码(chanllege,用口令不严 ...

2#的你好,我看了ds2432的双向认证,可以看出ds2432使用的mac计算方法和质询过程,但这些是主机与ds2432之间进行的。就算认证过程失败,但是eeprom的读取是没有保护的,那如何保证代码受保护啊?

使用特权

评论回复
地板
ymind| | 2013-1-7 08:54 | 只看该作者
secret或称作seed,主机读不出来的,除非你decap芯片。但好的安全芯片一般有防decap机制,即一打开就自毁。不知道ds2432有否。
事实上,这种hash算法公开的认证机制,最可能的被攻击环节是分析chanlleng/respons序列(SHA-1强度不够),尤其是在伪随机数生成做得较差的时候,就更容易一些。

使用特权

评论回复
5
huangxz|  楼主 | 2013-1-7 13:47 | 只看该作者
无论使用随机数质询,还是比较sha-1计算后比较mac,如果固件被读出来,因为现在条件下,进行逆向的成本是很低的,完全有可能短时间分析出你的程序流程,如果不能屏蔽固件中的关键性代码,那加密的效果有多明显呢?

AN190.pdf

87.11 KB

使用特权

评论回复
6
ymind| | 2013-1-8 09:00 | 只看该作者
你说的对,由于开发环节的问题,主机代码(固件)容易流失出去,且逆向出来也较容易,包括hash算法本身和主机中的secret。但问题是,主机中的secret和安全芯片中的secret需要做成不同,因此,只要安全芯片的个性化环节控制好,别人抄板也只能抄主机板和hack主机固件,无法自己个性化安全芯片啊。
当然,由于主机认证机制没实现好(多半是理解不完全),导致主机中的secret和安全芯片中的secret一样(即你AppNote中的system authentication secret和device authenticationsecret),那别人也能“个性化”你的安全芯片。
BTW, 你AppNote中的图2也不严谨。

使用特权

评论回复
7
huangxz|  楼主 | 2013-1-8 12:29 | 只看该作者
ymind 发表于 2013-1-8 09:00
你说的对,由于开发环节的问题,主机代码(固件)容易流失出去,且逆向出来也较容易,包括hash算法本身和主 ...

呵呵,谢谢ymind了,关于maxim(dallas)的加密芯片的使用,国内介绍的真是很少,除了吹嘘功能有多强大以为,从来没有一篇像样的**教我们详细的使用方法.真心感谢ymind的指导。

使用特权

评论回复
8
ymind| | 2013-1-8 13:22 | 只看该作者
  我又仔细想了一下,发现我的思维实际上还停在非对称加密体系下。而本质上maxim的这些加密芯片的authentication secret还是双方share的,不管用了什么两步法(如maxim's AppNote),还是再加密(如rfc6287推荐10)等,只要主机固件算法和secret全暴露了,总能推出加密芯片上的个性化secret的。追加步骤只是让攻击者更麻烦一点而已。
  所以maxim‘s AppNote强调coprocessor这个第三者,它可以让算法和secret不放在主机上,而是coprocessor上。于是我马上上网搜了一下,DS2432的coprocessor是DS2460。这样攻击者就没算法可分析了,而要用我4#的方法。
  话又说回来,固件暴露到这份上,还可侵入式的修改固件来达到跳过authentication的目的。这时需另一个安全措施了,简单的如软件的周期性认证检查,稍复杂的如硬件实现的固件代码完整性检查。

使用特权

评论回复
9
huangxz|  楼主 | 2013-1-8 14:56 | 只看该作者
就算是进行完整性检查(如MD5),也只能够做到防止复制(因为完整性检查,周期认证都是固件的行为,也是可以跳过去的),但对于进行逆向改变了你的验证流程的一点办法都没有啊,我在想如果能将固件进行分割,关键性代码能由加密器件load到指定的代码空间。也许能够杜绝大部分的对固件进行逆向的行为。
但是又有新的问题,如果入侵者对嵌入式进行动态的加载(就是固件由jtag之类的接口装载到flash中),然后再去跟踪后面的ram的内容,一样可以将关键部分code暴露出来,所以也没有办法完全防止入侵。
所以说使用任何技术手段,只要firmware被**了,都没有办法保证产品不能被抄袭,不知道我这样理解对不对啊?

使用特权

评论回复
10
ymind| | 2013-1-9 08:59 | 只看该作者
1. 完整性检查不是为了防止复制,而是防止纂改。即加载代码时,做完整性检查;也可运行时动态检查。一般是硬件(freescale有款MCU支持在运行空间做动态完整性检查)或操作系统完成这件事;固件自己做,就没意思了。
2. "关键性代码能由加密器件load到指定的代码空间",secure RAM就是这种机制。ARM的TrustZone技术应该类似这种思想,不过更高级(我的理解是支持OS进程),而且其也能防止用JTAG等动态跟踪。
3. 对MCU系统来说,固件的泄漏一般不是动态跟踪出来的;而是在开发环节或生产环节,由于人的因素,导致的泄漏;或MCU的防读出机制太简单(如MPS430用eFuse, STM8用EEPROM的Option Byte)。
4. “只要firmware被**了,都没有办法保证产品不能被抄袭”,我个人赞同这个观点。从中泄漏出来的算法和创意都能被拷贝和借鉴。

使用特权

评论回复
11
ymind| | 2013-1-9 09:35 | 只看该作者
“就算是进行完整性检查(如MD5),也只能够做到防止复制”
1. 完整性检查不是为了防止复制,而是防止纂改.
补充一下1。签名(基于非对称的公私钥)是为了防止复制。不过签名和完整性检查(基于hash)通常实现在一起,所以你的说法也没大问题。有点扣字眼哈。

使用特权

评论回复
12
huangxz|  楼主 | 2013-1-9 14:21 | 只看该作者
ymind 发表于 2013-1-9 08:59
1. 完整性检查不是为了防止复制,而是防止纂改。即加载代码时,做完整性检查;也可运行时动态检查。一般是 ...

ymind这个帖道出了当前环境下嵌入式系统防解密的现状,其实目前最狠的就是s/c模式的验证,可惜嵌入式设备大多无法连接到internet,所以大多数的防解密难以让入侵从理论上杜绝。
另外值的一提的是固件的泄漏是因为市面上有许多固件恢复(通俗点讲就是芯片**)公司能够直接从晶圆上提取数据,而且好像"只有愿意花钱,就没有解不了的芯片"。
很感谢ymind回复的话题,让我对固件的防解密技术有近距离的了解,也感谢21ic网络,有真正高手亲睐的网站:victory:

使用特权

评论回复
13
leiwencong01| | 2014-4-28 13:54 | 只看该作者
韩国NEOWINE品牌ALPU加密芯片
全球无数公司都曾有过产品被盗版的经历,并由此蒙受了巨大损失。在激烈的市场竞争压力下,许多小公司纷纷企图凭借盗版更快地挤进市场,而仅依靠规章制度及反盗版运动根本无法杜绝此类行为。为了保护原创公司的知识产权,版权保护技术成为近来大家关注的重点。

在电子行业,由于整个媒体产业的扩展,有关其的内容和数据保护一直都得到了高度关注;而硬件系统由于开发成本巨大,对其进行保护更是该行业的重点。对固件、产品开发核心技术的保护固然重要,而对封装和PCB布线等可见部分的保护也不容忽视。多数公司一般习惯于使用采纳了安全芯片和算法的版权保护系统。

- 与众不同的技术

传统的版权保护方法是从同一晶圆上得到相同的IC,再将不同代码输入内置EPROM中,然后提供给不同公司。虽然采用EPROM方法各家公司可随意写进自己想要的代码,但面对版权保护IC自身也可能被复制这一难题,它束手无策。这种情况之所以发生是因为提供给不同公司的芯片具有相同的逻辑。我们采用的是类似ASIC的方法,这种截然不同的方法从根本上杜绝了翻版的可能性。在同一晶圆上,我们为不同公司采用不同算法制造IC。这样,一旦版权保护IC投放市场,就不可能通过原有方法对其进行仿冒和篡改。

- 我们公司版权保护IC ALPU-M

算法许可单元(ALPU)是我们公司用于系统版权保护的产品,这是一款采用随机变量交换系统的认证芯片,在SOT-23F这样一个小封装内整合了1万多个逻辑门。ALPU与系统CPU以密码方式通信,CPU在诸如系统启动等关键场合检测ALPU。所以,即使盗版系统复制了PCB、内核甚至存储器中的固件,但若缺少ALPU芯片,该系统仍然无法工作。另外,由于我们对ALPU产品采用了百密无疏的单线直销渠道,所以盗版系统根本四轴飞行器可乘。

- 监管过量制造

除了用于防止固件被复制,我们的版权保护IC还能监控过量制造或用来收取版税。例如,一家机顶盒公司在某海外OEM那里定制了10万台设备,但这家OEM却生产了100万台,除交付10万台后,剩下的90万台就自己出售。由于OEM身处异邦,即使机顶盒公司想起诉,也必须面对鞭长莫及的不利因素。设想如果机顶盒或手机方案的原创公司采用了ALPU技术的话,就可以利用该技术向使用其方案的独立制造公司收取版税。而在ALPU问世之前,方案公司很难掌控制造公司的不法行为,如隐瞒产量或向第三方泄露数据等。现在,通过控制ALPU的配给数量,就能轻松控制生产数量。

我们的加密芯片已经数百家公司已经用了10年。目前该公司可提供的产品根据管脚数和使用用途。由于要按用户要求生成差异化产品,所以其最小定货量是3万片。ALPU加密芯片交货周期有库存的话10天内,没有库存的情况下定做的话约4周。所以ALPU产品可立即投入使用,它适用于许多内置CPU的产品如手机,机顶盒,GPS,PMP,MP4,数码相机和DVR等。

中国区代理商
DCT GLOBAL LIMITED梦成真环球有限公司
雷先生(Mars Lei)
DCT GLOBAL LIMITED.
深圳市福田区车公庙泰然工业园201栋西座410
Mobile: +86-132-6672-6119
Email: mars@dct-global.com

使用特权

评论回复
14
864| | 2015-4-13 10:03 | 只看该作者
huangxz 发表于 2013-1-9 14:21
ymind这个帖道出了当前环境下嵌入式系统防解密的现状,其实目前最狠的就是s/c模式的验证,可惜嵌入式设备大 ...

看贴学习了,向您说的芯片解密已经太普遍了,解密成本对收益来说通常也微乎其微,只要芯片固件被解密修改代码跳过加密环节,加密是不是都徒劳了

使用特权

评论回复
15
huangxz|  楼主 | 2015-4-13 16:42 | 只看该作者
864 发表于 2015-4-13 10:03
看贴学习了,向您说的芯片解密已经太普遍了,解密成本对收益来说通常也微乎其微,只要芯片固件被解密修改 ...

有这个意思,所以芯片本身的保密性能还是很重要的.

使用特权

评论回复
16
864| | 2015-4-14 08:22 | 只看该作者
huangxz 发表于 2015-4-13 16:42
有这个意思,所以芯片本身的保密性能还是很重要的.

看了一些网站宣传的**方法,什么开盖紫外光什么的,感觉什么芯片都能被他们搞定似的,一副赤裸裸站在人家面前的样子,敢情只能厂商去做防开盖自毁之类的了,可为了卖片子他们又不会尽力,尴尬啊

使用特权

评论回复
17
542628028| | 2016-7-12 11:40 | 只看该作者
北京宝兴达信息技术有限公司 加密芯片 方案设计 13241744228

使用特权

评论回复
18
huangxz|  楼主 | 2016-7-15 14:19 | 只看该作者
864 发表于 2015-4-14 08:22
看了一些网站宣传的**方法,什么开盖紫外光什么的,感觉什么芯片都能被他们搞定似的,一副赤裸裸站在人 ...

不一定啊,FLASH工艺的一般是没有办法防的,所以只能寄托于内存了.

使用特权

评论回复
19
SMEC98SP| | 2018-4-19 11:07 | 只看该作者
有用,可以看看深圳市中巨伟业信息科技有限公司推出的 SMEC98SP 加密芯片

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:醒来才发现,一切都是一场梦

176

主题

4917

帖子

11

粉丝