单片机程序固件加密交付的另一种思路

2021-01-14 14:50:35 3

随着大规模集成电路的出现和发展,单片机(MCU)将原有计算机上的CPU、RAM、ROM、定时计数器和多种I/O接口集成到一个芯片,从而形成芯片级的计算机。这也是TI工程师的Gary Boone和Michael Cochran发明的全球第一颗微控制器(MCU)--TMS 1000系列(下图)的雏形。之后,日本电子厂商开始生产汽车用微控制器,包括用于车内娱乐、自动雨刷、电子锁和仪表盘的4位MCU,以及用于发动机控制的8位MCU。


图片关键词

* TI的TMS 1000系列MCU *


时至今日,单片机除了传统的玩具市场、工业控制、汽车电子、白家电等,在物联网以及智能化浪潮来临以后,单片机更加成为产品设备的核心部件,一方面设备需要进行实时性高效智能的信息,另一方面还要能与其他设备进行信息互换,这些需求都需要由单片机来完成。可以说,单片机因应用而生,除了芯片本身硬件性能,与应用相关的程序固件越发显得重要,固件安全的需求也就越来越受到关注!


首先,广义上的“安全”,也可视作为“信息安全”,它具有三个重要的特点:


1、保密性:需要确保信息不为其它未授权的个人或团体所获得


2、完整性:维持和确保信息的完整,不被未授权的篡改


3、可行性:被授权访问信息的主体,在需要信息的时候能及时访问并获取


保密性 Confidentiality,Integrity 完整性 和 可行性 Availability,简称:CIA  


从以上特征描述,引申出处理信息安全的三种常用工具:标识、认证以及授权,也简称为:IAA


1)标识:Identity

首先,信息访问者标明主体身份,但是不确定该主体确实可访问该信息?所以,得验证其真假;


2)认证:Authentication

身份认证也就是核实主体声称的内容是否属实?以便在主体身份核实后,进行更细化的动作


3)授权:Authorization

作为更精细的信息处理,需要解决的问题包括:确保哪些信息可被授权人查看?被查看的信息是否保持完整,未被未授权的修改?以及被授权人可以随时方便的访问可查看的信息。


信息安全的三要素以及三种工具的相互关系,可以参考下图:


图片关键词


单片机一般都有内部程序区和数据区,供用户存放程序和工作数据。为了防止未经授访问或拷贝单片机的机内程序,大部分单片机都带有加密锁定位或者加密字节,以保护片内程序。如果在编程时加密锁定位被使能(锁定),就无法用普通编程器直接读取单片机内的程序,这就叫单片机加密。


单片机攻击者借助专用设备或者自制设备,利用单片机芯片设计上的漏洞或软件缺陷,通过多种技术手段,就可以从芯片中提取关键信息,获取单片机内程序这就叫单片机解密。目前单片机常用解密方法主要包括:


(1)软件攻击:该技术通常使用处理器通信接口并利用协议、加密算法或这些算法中的安全漏洞来进行攻击。软件攻击取得成功的一个典型事例是对早期ATMEL AT89C51系列单片机的攻击。攻击者利用了该系列单片机擦除操作时序设计上的漏洞,使用自编程序在擦除加密锁定位后,停止下一步擦除片内程序存储器数据的操作,从而使加过密的单片机变成没加密的单片机,然后利用编程器读出片内程序。


(2) 电子探测攻击
该技术通常以高时间分辨率来监控处理器在正常操作时所有电源和接口连接的模拟特性,并通过监控它的电磁辐射特性来实施攻击。因为单片机是一个活动的电子器件,当它执行不同的指令时,对应的电源功率消耗也相应变化。这样通过使用特殊的电子测量仪器和数学统计方法分析和检测这些变化,即可获取单片机中的特定关键信息


(3)过错产生技术

该技术使用异常工作条件来使处理器出错,然后提供额外的访问来进行攻击。使用最广泛的过错产生,攻击手段包括电压冲击和时钟冲击。低电压和高电压攻击可用来禁止保护电路工作或强制处理器执行错误操作。时钟瞬态跳变也许会复位保护电路而不会破坏受保护 信息。电源和时钟瞬态跳变可以在某些处理器中影响单条指令的解码和执行。


(4)探针技术

该技术是直接暴露芯片内部连线,然后观察、操控、干扰单片机以达到攻击目的。

为了方便起见,人们将以上四种攻击技术分成两类,一类是侵入型攻击(物理攻击),这类攻击需要破坏封装,然后借助半导体测试设备、显微镜和微定位器,在专门的实验室花上几小时甚至几周时间才能完成。所有的微探针技术都属于侵入型攻击。另外三种方法属于非侵入型攻击,被攻击的单片机不会被物理损坏。


图片关键词


针对以上解密方式,为了避免用户损失,各家原厂都开始从自身芯片做起,强化芯片安全等级,比如STM32最早提出的 STM32 Trust解决方案,提供完整的代码保护和执行保护工具套件,但是覆盖芯片类型有限,且对应芯片价格不同。


图片关键词


同时,方案交付也会涉及多个环节,包括代理商、方案公司、烧录厂和加工厂等,现有单一调试或烧录工具也无法满足整个交付链条的安全管控。

针对这一痛点,创芯工坊(ICWORKSHOP.com)在2017年首次提出程序固件云端交付的概念,并实施上线。在程序开发者/方案公司与终端用户间,搭建一个可靠安全的交付平台,通过固件与烧录次数绑定,从而保护开发者知识产权,使双方受益。


图片关键词


整个交付链条,终端用户接触不到程序固件源码,降低了固件被破解的风险,提升了效率,解决了以往区域限制和授权限制的困扰。

如果你手上有ST-Link或GD-Link,现在免费注册创芯工坊账号,即能体验。

ST-Link云交付介绍:https://www.stmcu.com.cn/hardwaredevelopmenttools/1242


图片关键词


GD-Link 云交付介绍:http://www.gd32mcu.com/cn/detail/289


同时,配合PowerWriter烧录器提供的多种加密机制,在不提升芯片等级的情况下,同样实现了“一芯一密”功能!同时,配合PowerWriter烧录器提供的离线(UID绑定)和在线授权等多种加密方式,大大提升了芯片破解的难度。


图片关键词

图片关键词


2021年伊始,PowerWriter 烧录器再传喜讯,目前已完成包括STM8、STM32、GD32、MM32、HC32、HK32、CX32、CS32 和 AT32 等8个单片机品牌,600多个系列,数千万款芯片型号,欢迎访问 www.powerwriter.cn ,详细了解!


图片关键词


“ICWORKSHOP 创芯工坊” 简称ICW,分别代表Innovation + Creativity + Wealth,助力单片机开发者,激发开发者创造精神,为开发者创意保驾护航,从而体现知识产权价值!


电话咨询
产品中心
服务支持
QQ客服