你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

第五期:守住单片机的小秘密,你知道哪些骚操作

[复制链接]
1209实验室@ujn 提问时间:2018-11-7 09:21 /
       今天讨论一个在产品量产时需要十分关注的问题:产品信息安全。
       一般这块分为三类:产品自身的固件信息安全,产品与外部通信协议的信息安全,产品采集存储用户数据的信息安全。
现在无论是生产商还是用户,都十分在意一个产品量产出去了,给别人使用信息保密到底有没有问题。最简单的来说,如果产品的程序直接被人破解了,那问题就大了,第二天可能市面上就会出现大批量的克隆产品。严重一点的,比如pos刷卡机,那就涉及到现金交易问题了。
       信息加密,这个手段就很多了,比如常见的就有:
       根据芯片独一无二的UID对芯片进行程序加密;
       暴力点的,直接打磨或更改芯片型号丝印;
       有些单片机可以开启Flash保护;
       量产时禁闭调试口等;
       如果是协议加密,那就更为复杂了,可以用主流的加密算法加密数据,或者自定义编解码的算法。
       最近新出的基于arm v8架构的CM23和CM33核,也是专注于信息安全的。
       未来是物联网的时代,与此对应的,也是关注信息安全的时代,对于研发生产过程中的信息安全问题,不知各位网友你们有什么样的”骚操作“呢?不限于理论,想法,经验,方法,欢迎各位畅所欲言!
security.jpg

/************************************个人分享************************************/
       我最近正在看CM33核的相关安全模块。不得不说,越是网络发达的时代,信息安全就越是重要,arm新推出的CM33核就是专注信息安全领域。ST发布STM32L5系列就是属于CM33核的,旨在加强物联网安全防御能力。我现在正在看CM33里面的TrustZone部分。我先起个头,说一下这个TrustZone到底是个什么东西:
       TrustZone是ARM针对消费电子设备设计的一种硬件架构,其目的是为消费电子产品构建一个安全框架来抵御各种可能的攻击。
       TrustZone在概念上将SoC的硬件和软件资源划分为安全(Secure World)和非安全(Normal World)两个世界,所有需要保密的操作在安全世界执行(密码核对,数据解码等),其余操作在非安全世界执行(界面操作),安全世界和非安全世界通过一个名为Monitor Mode的模式进行转换。
       处理器架构上,TrustZone将每个物理核虚拟为两个核,一个非安全核,运行非安全世界的代码;和另一个安全核,运行安全世界的代码。两个虚拟的核以基于时间片的方式运行,根据需要实时占用物理核,并通过Monitor Mode在安全世界和非安全世界之间切换,类似同一CPU下的多应用程序环境,不同的是多应用程序环境下操作系统实现的是进程间切换,而Trustzone下的Monitor Mode实现了同一CPU上两个操作系统间的切换。


收藏 评论24 发布时间:2018-11-7 09:21

举报

24个回答
奏奏奏 回答时间:2018-11-7 10:20:39
如果目标是用控制芯片做出来的产品不被别人模仿,这个不现实。
只要有产品的市场反馈好,哪怕用别的实现方式绕过专利保护也能给你快速山寨出来。只是代价大小区别而已,毕竟市场经济就是这样。
大家想一想,PS4为例的各代游戏主机用的不是自己定制的芯片吗?只要有决心不是都能破解出来吗?更别说M32、M33这种架构都知道的产品。
我觉得与其讨论怎么加密,不如讨论怎么让自己的产品做出来能有别人抄袭的价值。

点评

是的,大多数的产品如果需要考虑复杂芯片固件的加密,成本上会增加不少,而且可能收效甚微。不过通信协议和数据保存的加密,还是非常重要的  发表于 2018-11-7 10:56
stm1024 回答时间:2018-11-7 09:29:17
我听说过的最嚣张的做法是一个不差钱的主,找芯片厂专门定制一批芯片,不对外销售的那种

点评

这确实是财大气粗的做法,芯片丝印都不用打磨了,直接摆给别人看。  发表于 2018-11-7 09:35
yangjiaxu 回答时间:2018-11-7 09:30:25
给力奥 信息安全这块属实很流弊,之前瑞萨有款单片机就是双flash,还有校验功能,如果口令不对 程序下载不进去,里面的程序也复制不出来。
1209实验室@ujn 回答时间:2018-11-7 09:35:01
stm1024 发表于 2018-11-7 09:29
我听说过的最嚣张的做法是一个不差钱的主,找芯片厂专门定制一批芯片,不对外销售的那种 ...

这确实是财大气粗的做法,芯片丝印都不用打磨了,直接摆给别人看。
1209实验室@ujn 回答时间:2018-11-7 09:41:10
yangjiaxu 发表于 2018-11-7 09:30
给力奥 信息安全这块属实很流弊,之前瑞萨有款单片机就是双flash,还有校验功能,如果口令不对 程序下载不 ...

双flash是为了防止单片机程序的篡改和非正常读取吗
anny 回答时间:2018-11-7 09:48:37
我见过有大神这样操作过,板子上挂二个单片机,一个用来运行项目应用程序,一个用来加密。

点评

这个确实是骚操作了,成本+1  发表于 2018-11-7 09:52
limale 回答时间:2018-11-7 09:57:50
信息安全确实重要,不然现今这种环境下分分钟给你仿出来。

点评

华强北式的环境,今天新产品上市,明天克隆产品跟上,后天克隆之后再升级版的跟上。  发表于 2018-11-7 09:59
dsjsjf 回答时间:2018-11-7 10:06:06
ST今年也是主推系统安全,但是我在目前的工作中还没那么高的保密级别,所以也不好乱说。
就说说我自己用得比较多的Flash加密措施吧
第一种,直接使用STM32自带的读保护功能,使能之后,Flash中的内容不可以通过调试端口读出来。这种方法比较简单,保密级别不高,只需要在烧写程序时勾选就可以。
第二种,通过STM32的自身唯一的UID来做加密。这种方法需要程序中实现,把UID备份在Flash中的某个区域,初次烧写程序时,其实这个区域是空的,这时备份UID,以后每次运行,都判断UID与Flash中备份的是否一致,一致才可运行,不一致的话,你想干啥都行,死机啊重启啊自毁等等。。。

附上两份官方文档,也是主要讲安全的,比较全面。
2-基于STM32的系统安全初探.pdf (1.78 MB, 下载次数: 24)

点评

很不错的资料,多谢分享。flash读写保护和UID加密确实是一种简单而又高效的加密手段,很适合使用在加密等级不高的产品中。  发表于 2018-11-7 10:18
maxtch 回答时间:2018-11-7 13:06:09
有那种专用加密芯片的,然后做一个随时在线激活机制。

点评

这个是指先把数据传到芯片,加密完再回传给MCU?似乎使用起来不是很方便  发表于 2018-11-7 13:32
12下一页

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版