今天讨论一个在产品量产时需要十分关注的问题:产品信息安全。 一般这块分为三类:产品自身的固件信息安全,产品与外部通信协议的信息安全,产品采集存储用户数据的信息安全。 现在无论是生产商还是用户,都十分在意一个产品量产出去了,给别人使用信息保密到底有没有问题。最简单的来说,如果产品的程序直接被人破解了,那问题就大了,第二天可能市面上就会出现大批量的克隆产品。严重一点的,比如pos刷卡机,那就涉及到现金交易问题了。 信息加密,这个手段就很多了,比如常见的就有: 根据芯片独一无二的UID对芯片进行程序加密; 暴力点的,直接打磨或更改芯片型号丝印; 有些单片机可以开启Flash保护; 量产时禁闭调试口等; 如果是协议加密,那就更为复杂了,可以用主流的加密算法加密数据,或者自定义编解码的算法。 最近新出的基于arm v8架构的CM23和CM33核,也是专注于信息安全的。 未来是物联网的时代,与此对应的,也是关注信息安全的时代,对于研发生产过程中的信息安全问题,不知各位网友你们有什么样的”骚操作“呢?不限于理论,想法,经验,方法,欢迎各位畅所欲言! /************************************个人分享************************************/ 我最近正在看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上两个操作系统间的切换。 |
只要有产品的市场反馈好,哪怕用别的实现方式绕过专利保护也能给你快速山寨出来。只是代价大小区别而已,毕竟市场经济就是这样。
大家想一想,PS4为例的各代游戏主机用的不是自己定制的芯片吗?只要有决心不是都能破解出来吗?更别说M32、M33这种架构都知道的产品。
我觉得与其讨论怎么加密,不如讨论怎么让自己的产品做出来能有别人抄袭的价值。
点评
点评
这确实是财大气粗的做法,芯片丝印都不用打磨了,直接摆给别人看。
双flash是为了防止单片机程序的篡改和非正常读取吗
点评
点评
点评
Key的算法和秘钥自己掌握。没有相应的Key芯片,MCU程序不能正确执行,当然也得执行,只是执行的结果不对。或者直接不成功的话,MCU执行自宫。
点评
点评
点评
点评