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

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

[复制链接]
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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版