您的位置 首页 > 数码极客

‘单片机程序如何加密’STC单片机加密!

MCU的前世今生

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

图1:TI TMS 1000 系列MCU

时至今日,单片机除了传统的玩具市场、工业控制、汽车电子、白家电等,在物联网以及智能化浪潮来临以后,单片机更加成为产品设备的核心部件,一方面设备需要进行实时性高效智能的信息,另一方面还要能与其他设备进行信息互换,这些需求都需要由单片机来完成。

完成。而中国拥有最为广泛的消费群体和应用场景,单片机在国内的发展优势也更为明显。从图2所示,预计到2022年,中国MCU市场规模将突破300亿元大关,预计达到319亿元!

图2:中国MCU市场规模增长与预测

可以说,单片机因应用而生,除了芯片本身硬件性能,与应用相关的程序固件越发显得重要,固件安全的需求也就越来越受到关注!


单片机安全的攻与防

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

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

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

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

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

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

1)标识:Identity

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

2)认证:Authentication

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

3)授权:Authorization

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

信息安全的三要素以及三种工具的相互关系,如图3所示:

图3:信息安全三要素与信息安全工具相互关系

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

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

(1) 软件攻击

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

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


(3)过错产生技术

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


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

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

图4:STM32 Trust 架构

来源:


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

图5:支持STM32 Trust功能芯片列表

来源:

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


TRUST

信任机制下的创芯工坊

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


图6:云端固件交付流程图及安全要点

整个交付链条,以授权订单代替了以往的单个固件传输和交接,生产厂家或用户接触不到程序固件源码,降低了固件被破解的风险。同时也适用于项目初期的程序调试,以往需要频繁地将升级改动过的程序烧入烧录器中,再快递给用户确认,现在通过云端交付,用户直接可以方便地下载更新固件,节省了沟通成本和物流成本,大大提升了效率。

创芯工坊除了提供平台端服务,配合PowerWriter安全烧录器提供的多种加密机制,在不提升芯片安全等级的情况下,同样实现了“一芯一密”功能!同时,配合PowerWriter烧录器提供的离线(UID绑定)和ICWKEY授权密钥,以及在线授权等多种加密方式(如图7所示),大大提升了芯片破解的难度。

图7:PowerWriter上位机加密模式选项

图8:PowerWriter 安全机制

同时,考虑到程序固件所需要的保护级别不同,以及安全级别更高的物联网设备应用场景,如图9 所示,除了在本地实现了UID绑定固件的机制,创芯工坊也支持用户通过创芯工坊服务器或自建服务器,自行实现授权算法,从而真正实现”一芯一机一密”!

图9:创芯工坊加密机制流程

总结

“Silicon without software is just sand!”

嵌入式开发方案的交付,离不开程序固件,而随着互联网的渗透以及物联网的行业落地,在市场价格竞争和交付效率压力面前,半导体行业从业者(从芯片原厂、方案集成到渠道通路)都面临巨大挑战和改变:传统的单兵出击变为协同作战,传统的PCB交付变成程序授权,传统的芯片贸易变为提升附加值 。。。。所有的改变都需要基于“信任与安全”的前提,而这就是创芯工坊基于互联网技术,结合硬件产品,提供更为完善的本地化安全交付和安全烧录方案的初衷!

欢迎探讨!谢谢指正!

www.icwork // www.

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“单片机程序如何加密,STC单片机加密,单片机程序加密的几种实用方法,单片机程序破解,单片机程序100例,单片机程序”边界阅读