0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ACM32 MCU安全特性的详细说明

h1654156076.0237 来源:TEL15286334923 作者:h1654156076.0237 2022-04-22 17:27 次阅读

随着物联网的发展,智能产品的不断涌现,信息安全问题也日渐受到关注。因此,通用安全MCU产品也应运而生,能够更好地帮助客户在其产品设计中加强安全性,助力IoT的应用创新。

本文将详细介绍上海航芯ACM32 MCU的安全特性。

1

安全启动与安全更新

上海航芯MCU提供安全启动与安全更新参考实现,具体可见对应的软件包。安全启动与安全更新利用芯片硬件安全特性来保证启动代码和更新固件不被篡改,启动入口唯一。

2

存储保护

存储保护主要就是保护存储区的代码和数据不被篡改以及非法获取,主要需要抵抗三个方面的攻击,软件攻击、非侵入式攻击和侵入式攻击。

• 软件攻击主要包括通过调试端口访问数据,软件漏洞和缓冲区溢出等;

•非侵入攻击主要包括通过故障注入导致程序和数据出错,以及旁路攻击获取敏感信息;

•侵入式攻击主要是通过开盖或者直接通过测试仪器来探测内部信号

针对这些攻击,芯片主要从五个方面进行应对,包括存储区域访问控制、存储地址加扰、数据加密和完整性校验以及环境检测

其中存储区域访问控制包括读保护(RDP),写保护(WRP),专有代码读保护(PCROP),存储区域权限控制以及安全存储区。

具体配置可见《ACM32-在线编程器》:http://www.aisinochip.com/index.php/product/detail/id/44.html

•读取保护(RDP)是全局Flash读保护,可保护嵌入式固件代码,避免复制、逆向工程、使用调试工具读出或其他方式的入侵攻击。该保护功能在用户下载Flash代码后,由用户在下载固件时自行设置。

forum.php?mod=image&aid=834158&size=300x300&key=b2af56c47c33d751&nocache=yes&type=fixnone

eflash启动:勾选表示从eflash启动,未选表示从Boot模式;

SWD使能:勾选表示使能SWD功能,未选表示禁止SWD功能;

读保护配置锁定:勾选后,将锁定“eflash启动”和“SWD使能”的设置,生效后不可再更改;反之未选则不会锁定。

勾选或取消选择所要配置的项目,点击“配置”进行操作,操作完成,将在“发送显示区”显示操作结果,复位或重新上电生效。

注:此配置可能会影响SWD或者BOOT功能,请谨慎操作。

•写保护(WRP)用于保护指定区域Flash数据,避免数据被恶意更新或擦除。写保护可应用于Flash内指定的内存空间。

forum.php?mod=image&aid=834159&size=300x300&key=8d787b8375103084&nocache=yes&type=fixnone

写保护(WRP)后,相应的区域将禁止擦写,片擦指令将不能使用。

在所要配置的区域,输入“起始地址”和“操作长度”,勾选“配置”按钮,点击“使能/禁止”进行操作,操作完成,将在“发送显示区”显示操作结果,复位或重新上电生效。

若操作范围超过eflash最大长度,或要使能的两个区域地址重叠,将报错。

注:使能/禁止后,立即写入相应NVR,读取配置为操作后的设置,但需复位或重新上电方能生效。

•专有代码读保护(PCROP)用于保护指定区域Flash代码,保护专有代码不被最终用户代码、调试器工具或恶意代码所修改或读取。

forum.php?mod=image&aid=834160&size=300x300&key=4fd339457472755a&nocache=yes&type=fixnone

PCROP使能后,所选区域只能执行,不能读取和擦写,片擦指令将不能使用。

在所要配置的区域,输入“起始地址”和“操作长度”,勾选“配置”按钮,点击“使能/禁止”进行操作,操作完成,将在“发送显示区”显示操作结果,复位或重新上电生效。

若操作范围超过eflash最大长度,或要使能的两个区域地址重叠,将报错。

注:禁止PCROP区域后,此时读取配置依然是禁止前的设置,需要将SWD使能关闭,复位或重新上电方能生效。

•存储区域权限控制利用内核本身自带的MPU单元,这个单元可以划分出几个region,每个region可以设置不同的访问属性,配合内核的User和Privilege模式,能够实现对敏感数据的访问控制,使得敏感数据不能够被恶意代码获取。这样隔离能够有效地降低软件漏洞带来的风险。

•安全存储区可以用于保护特有的一些程序,安全存储区的大小可以进行配置,程序运行期间可以通过寄存器打开对这段安全存储区的保护,保护使能后则无法再次访问其中的任何内容。

forum.php?mod=image&aid=834161&size=300x300&key=da61fc47b054c51a&nocache=yes&type=fixnone

在所要配置的区域,输入“操作长度”,点击“使能/禁止”进行操作,操作完成,将在“发送显示区”显示操作结果,复位或重新上电生效。若操作范围超过eflash最大长度,将报错。

注:使能/禁止后,立即写入相应NVR,读取配置为操作后的设置,但需复位或重新上电方能生效。

存储数据加密,地址加扰主要就是对片内FLASH和SRAM上的数据进行加密存储,并且存储的地址也被串扰。针对于部分代码和数据需要放在片外存储器的情况,公司也有部分系列带有OTFDEC(On The Fly DECryption)硬件,OTFDEC模块在总线与OSPI之间,可以实时地解密外部Flash上的密文代码和数据,只需要设置好相应的区域、密钥等,OTFDEC就可以自动解密被访问的密文数据,无需额外的软件参与解密,不需要将解密数据加载到内部RAM,可以直接运行片外Flash上的加密代码。OTFDEC模块也支持加密,但不是实时加密,数据首先被加密到RAM中,需要另外将RAM中的密文写回外部FLASH。

存储数据完整性校验主要就是对存储区的数据进行奇偶校验,可以有效抵抗故障注入攻击。

环境检测主要是检测芯片工作电压是否在正常范围,如果不在正常工作范围则进行报警,以抵抗电压故障注入攻击。

3

密码学算法引擎

上海航芯MCU系列都带有HASH,AES,TRNG和CRC硬件模块。直接调用对应的API函数即可使用相应的算法功能,有效满足数据传输及其完整性校验中的密码需求。

4

入侵保护

入侵保护主要是芯片可以检测遭受的物理入侵从而删除备份寄存器中的敏感数据,从而保护芯片敏感数据不会窃取。该功能主要由RTC和备份寄存器完成。

备份寄存器处于备份域中。待机模式唤醒或系统复位操作都不会影响这些寄存器。只有当被检测到有侵入事件和备份域复位时,这些寄存器才会复位。

RTC支持两个外部IO侵入事件检测,并可以记录侵入时间。并且需要输入私钥才允许对RTC寄存器进行写操作,避免攻击者篡改RTC寄存器。

5

生命周期管理

生命周期管理主要针对芯片测试开发到芯片使用阶段中可能存在的一些安全风险,例如调用测试或者调试接口非法获取数据。具体对应的功能包括测试模式禁止,JTAG禁止和128位唯一序列号。

•测试模式禁止:芯片测试完成之后将测试模式禁止,交给客户的芯片不能再返回到测试模式,这样攻击者就不能通过测试接口获取敏感数据;

• JTAG禁止:当读保护(RDP)设置Level 1以上时,则会将JTAG功能禁止,使得攻击者不能通过调试接口获取敏感数据;

• 128位唯一序列号:128位唯一序列号绑定了芯片出厂的LOT/WAFER ID和坐标等。该序列号唯一且不可复制,开发者可将应用程序与该芯片的序列号绑定,这样可以使每个下载应用程序的芯片不可被复制。管理员需要管控好每颗芯片的序列号,这样便于产品的定位和追踪,防止安全产品的复制。

6

安全生产

安全生产主要是保证交由第三方工厂进行烧写的代码或者数据不被盗取和篡改以及过量生产。

针对安全生产,上海航芯提供了一套安全的解决方案,全程代码加密烧录,并带动态校验码(动态校验码与芯片唯一序列号绑定),而且可以进行烧录计数,进行产量控制,避免过量生产。并且支持在线/离线烧录,远程交付和更新固件,在保证固件安全性的前提下极大方便客户进行烧录固件。

审核编辑:符乾江

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    447

    文章

    47821

    浏览量

    409198
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16022

    浏览量

    343682
收藏 人收藏

    评论

    相关推荐

    3KW工业变频器电路设计方案详细说明

    3KW工业变频器电路设计方案详细说明
    的头像 发表于 03-19 08:33 157次阅读
    3KW工业变频器电路设计方案<b class='flag-5'>详细说明</b>

    高效提升控制效率 | 基于ACM32 MCU的LED灯箱控制器方案

    方面的作用:节省了宝贵的MCU时间。 LED单元板的最基本元件74HC595是8位串行移位寄存器和8位存储/输出寄存器组成,移位寄存器负责在时钟脉冲的每个上升沿接收输入的数据,而存储/输出寄存器负责将
    发表于 03-07 13:47

    基于ACM32 MCU的两轮车充电桩方案,打造高效安全的电池管理

    桩不仅能解决两轮车充电难、乱摆放的问题,而且能够更大限度的保证了用户的充电安全,有效降低了充电过程火灾事故的发生。 两轮车充电桩解决方案 我们推出的两轮车充电桩解决方案是以
    发表于 03-06 15:10

    MCU在线技术讲座-EFM和EFR: 面向物联网开发的通用MCU平台

    : 面向物联网开发的通用MCU平台”。 本次技术讲座将详细说明以芯科科技8位和32位MCU,以及无线SoC作为物联网开发通用平台的诸多优势,包括低功耗、高性能、缩减物料清单(BOM)成本,以及可轻松
    发表于 11-23 13:45

    基于ACM32 MCU的LED灯箱控制器方案

    基于ACM32 MCU的LED灯箱控制器方案
    的头像 发表于 11-03 17:30 330次阅读
    基于<b class='flag-5'>ACM32</b> <b class='flag-5'>MCU</b>的LED灯箱控制器方案

    基于ACM32 MCU的胎压监测仪方案

    基于ACM32 MCU的胎压监测仪方案
    的头像 发表于 11-03 17:26 304次阅读
    基于<b class='flag-5'>ACM32</b> <b class='flag-5'>MCU</b>的胎压监测仪方案

    黑金Spartan6开发板的Verilog教程详细说明

    黑金Spartan6开发板的Verilog教程详细说明
    发表于 10-11 18:02 7次下载

    电子管的代换资料详细说明

    本文档的主要内容详细介绍的是电子管的代换资料详细说明
    发表于 09-26 07:24

    KT142C-sop16语音芯片ic的串口指令详细说明_默认9600指令可设

    KT142C-sop16语音芯片ic的串口指令详细说明_默认9600指令可设
    的头像 发表于 09-07 12:00 432次阅读
    KT142C-sop16语音芯片ic的串口指令<b class='flag-5'>详细说明</b>_默认9600指令可设

    基于ACM32 MCU的胎压监测仪方案

    概述胎压监测系统作为车辆的基础部件,轮胎是影响行车安全不可忽视的因素之一。据统计,中国每年由胎压问题引起轮胎爆炸的交通事故约占30%,其中50%的高速交通事故是由车辆胎压异常引起。因此,准确
    的头像 发表于 07-31 23:38 353次阅读
    基于<b class='flag-5'>ACM32</b> <b class='flag-5'>MCU</b>的胎压监测仪方案

    提高驾驶安全性 | 基于ACM32 MCU的胎压监测仪方案

    广泛应用于智能交通解决方案,保证车辆行车安全
    的头像 发表于 07-17 14:56 392次阅读
    提高驾驶<b class='flag-5'>安全</b>性 | 基于<b class='flag-5'>ACM32</b> <b class='flag-5'>MCU</b>的胎压监测仪方案

    基于ACM32 MCU的胎压监测仪方案

    作为车辆的基础部件,轮胎是影响行车安全不可忽视的因素之一。据统计,中国每年由胎压问题引起轮胎爆炸的交通事故约占 30%,其中 50%的高速交通事故是由车辆胎压异常引起。因此,准确实时地监测车辆在行驶过程中的轮胎压监测系统,采用直接测量方式,能够满足频繁换胎的需要,匹配方便。
    的头像 发表于 07-15 11:15 371次阅读
    基于<b class='flag-5'>ACM32</b> <b class='flag-5'>MCU</b>的胎压监测仪方案

    基于ACM32 MCU的两轮车充电桩方案

    上海航芯的两轮车充电桩解决方案以ACM32F403RET7为主控芯片,该方案包含了电源模块、控制模块、显示模块、通讯模块等。
    发表于 06-19 15:05 671次阅读
    基于<b class='flag-5'>ACM32</b> <b class='flag-5'>MCU</b>的两轮车充电桩方案

    实现智能水控 | 基于ACM32 MCU的分体式水控方案

    的开和关,从而实现水流的控制。基于上海航芯ACM32F403的物联网分体水控是一款以M1卡或CPU卡作为电子钱包,以实时扣费的方式实时扣取卡中金额,通过对出水管道电磁阀(或电
    的头像 发表于 05-31 17:12 422次阅读
    实现智能水控 | 基于<b class='flag-5'>ACM32</b> <b class='flag-5'>MCU</b>的分体式水控方案

    上海航芯基于ACM32 MCU电动滑板车驱动方案

    上海航芯电动滑板车方案采用ACM32F403作为主控芯片,主要电力来源为24V锂电池组,通过电源转换,为控制系统供电,同时也提供MOS的门级驱动。通过HALL传感器获取轮毂电机的位置信息以及相位,通过高速ADC采样相关电流。
    发表于 05-11 12:24 236次阅读
    上海航芯基于<b class='flag-5'>ACM32</b> <b class='flag-5'>MCU</b>电动滑板车驱动方案