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

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

3天内不再提示

如何在MCXN947微控制器上配置安全启动和生命周期

恩智浦MCU加油站 ? 来源:恩智浦MCU加油站 ? 2025-06-26 09:49 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文档旨在介绍如何在MCXN947微控制器上配置安全启动和生命周期,以确保产品在量产阶段的安全性,防止代码被窃取和篡改,并且能够安全地升级更新固件。通过本应用笔记,开发者可以更好地理解和实施安全启动和固件更新的最佳实践。

实施简介

1.1安全固件(Secure Binary)简介

安全启动(Secure Binary, SB)提供了一种安全且便捷的方法,用于在制造过程或最终用户设备生命周期中烧录或更新嵌入式设备的固件。SB文件是一种基于命令的固件更新镜像。SB文件可以被视为一种脚本(命令和数据),ROM是其解释器。ROM支持3.1版的SB镜像格式。

SB3.1使用最新的加密算法来确保所携带固件的真实性和机密性。启动时间和安全级别根据所需用例的最佳匹配来控制多种可用的安全配置。基于椭圆曲线密码学(ECC)的数字签名确保了SB3.1容器的真实性。使用高级加密标准(AES)的密码块链接(CBC)模式确保了SB3.1容器的机密性。

1.2生命周期(Lifecycle)简介

芯片生命周期状态用于反映芯片的实际状态,进一步用于指导芯片在特定时间如何保护其所托管的资产。例如,当客户开发完项目、进入量产阶段,或在终端客户使用时,芯片的访问权限比在开发阶段要少得多。

MCXN947微控制器支持多种安全生命周期状态,详细信息请参阅《MCX Nx4x安全参考手册》中的“生命周期状态”章节。注意,生命周期状态是单调递增的,这意味着它只能不断增加,访问权限只能更加严格。本文是针对现场模式(Infield)配置,确保设备在部署后的安全性。

1.3 MCUXpresso SEC工具简介

MCUXpresso安全配置(SEC)工具是一款基于GUI的应用程序,用于简化在恩智浦MCU上生成和配置可启动的可执行文件。该工具可用于生成SB3.1文件和部署MCU安全配置。

实施步骤

2.1准备

a4adb0d0-4ca7-11f0-b715-92fbcf53809c.png

2.2步骤

2.2.1恢复MCU到默认配置

1). ISP模式链接MCU

按住 ISP键,POR上电启动。本文使用ISP-USB接口,因此使用USB线连接J11(HS-USB)端口

2).配置CMPA和CFPA为默认状态

打开SEC工具,新建一个工作空间,选择对应的芯片。配置如下:

a4cb0068-4ca7-11f0-b715-92fbcf53809c.png

SEC工具配置方法:

a4e5ecd4-4ca7-11f0-b715-92fbcf53809c.png

a523f22c-4ca7-11f0-b715-92fbcf53809c.png

a53f5562-4ca7-11f0-b715-92fbcf53809c.png

3).烧写CMPA和CFPA

OK -> Build image, Write image,将配置好的默认的CMPA和CFPA烧写到MCU内。

4).全片擦除Flash

USB连接板子的调试接口MCU-link。SEC工具选择debug probe。连接成功后,利用Erase全片擦除。

a5598ca2-4ca7-11f0-b715-92fbcf53809c.png

芯片恢复为默认状态,没有任何使能的安全配置。

2.2.2配置安全启动和生命周期为现场模式(In-field)

1).生成配置安全启动的秘钥

选择PKI management界面->Generate Keys... ->Generate

a5720764-4ca7-11f0-b715-92fbcf53809c.png

2).配置镜像文件

打开“Build image”界面,配置如下:

Boot:选择Encrypted (PRINCE/IPED) and signed

Source executable image:选择应用镜像文件frdmmcxn947_led_blinky_green.s19

Start address: 0x00000000

Firmware version: 1

Authentication key: 4选1,任何一个都可以

CUST_MK_SK:点击Random随机数

OEM seed:点击Random随机数

a5895afe-4ca7-11f0-b715-92fbcf53809c.png

3).配置CMPA和CFPA

打开CMPA和CFPA,配置使能安全

a5a234e8-4ca7-11f0-b715-92fbcf53809c.png

a5bda192-4ca7-11f0-b715-92fbcf53809c.png

4).生成配置文件和镜像文件

配置完成后,Build image生CMPA, CFPA配置文件及SB3格式的镜像文件。

2.2.3烧录应用程序

1).烧写配置文件和镜像文件

打开“Write image”窗口,点击“Write image”烧写配置文件及镜像SB文件。

a5d9183c-4ca7-11f0-b715-92fbcf53809c.png

2).验证应用程

重新上电板子,可以看到绿灯闪烁,应用程序正常运行。

然后按住ISP按键同时PIN软件重启板子(注意此处必须是软件重启,CFPA生命周期配置才生效,如果是上电POR重启CFPA不生效。如果开发完毕生产阶段,用OTP管理生命周期,则可以忽略此处,任何重启都会检测OTP的配置。)。

此时,使能了安全启动和配置生命周期为现场模式。所以此时芯片不再支持SWD接口调试,也不支持通过ISP读取Flash内容。如果想更新Flash程序,只能通过烧写一个合格的SB3文件更新。

2.2.4更新应用程序

1).制作新的SB3文件

编译SDK例程frdmmcxn947_led_blinky生成.bin文件或s19文件,具体SEC工具支持的所有格式可以查看SEC手册。

此处,使用S19文件格式frdmmcxn947_led_blinky_red.s19。

打开SEC工具,最好使用生成第一个应用镜像文件时的工作空间。因为这样会直接导入所需的秘钥。然后导入frdmmcxn947_led_blinky_red.s19。

Image firmware version大于0即可。因为我们没有配置Set minimal firmware version,限定的最小版本号就是0。此处涉及更新防回滚功能,将在以后具体详解介绍。

配置完成后,板子按住ISP同时上电重启。然后Build image.则生成frdmmcxn947_led_blinky_red.sb。

2).烧写新的SB3文件

使用blhost receive-sb-file命令烧写:

blhost.exe -u0x1fc90x014f receive-sb-file frdmmcxn947_led_blinky_red.sb

烧写完毕,重启MCU,开发板红灯闪烁说明更新固件成功。

2.2.5验证安全特性

使能了安全启动和生命周期配置为现场模式后,MCU不能通过SWD和ISP读取Flash,保证了客户代码的安全,不被盗取和更改。如果想测试是否配置成功,可以通过SWD和ISP接口测试。发现SWD接口无法连接,ISP可以连接,但不能读写。注意,测试前需要按住ISP同时软件PIN reset,并非重新上电。

a5f873e4-4ca7-11f0-b715-92fbcf53809c.png

a60ad642-4ca7-11f0-b715-92fbcf53809c.png

注意事项

通过本文档,开发者可以了解如何在MCX N947微控制器上配置和管理安全生命周期,确保设备在不同阶段的安全性和可靠性。遵循本文档中的步骤,可以有效地实现安全启动和运行,以及升级固件。

作者:Alice Yang

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

    关注

    48

    文章

    7966

    浏览量

    156036
  • 恩智浦
    +关注

    关注

    14

    文章

    5991

    浏览量

    118478
  • 应用程序
    +关注

    关注

    38

    文章

    3338

    浏览量

    59142
  • 生命周期
    +关注

    关注

    0

    文章

    18

    浏览量

    7518

原文标题:MCX N947安全配置?(Secure Binary + Lifecycle),一文讲通!

文章出处:【微信号:NXP_SMART_HARDWARE,微信公众号:恩智浦MCU加油站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    恩智浦MCU MCXN947 基于MCUXpresso Config tools创建IIC的教程步骤

    MCXN947是NXP推出的高性能微控制器,支持丰富的通信接口,如I2C。借助MCUXpresso Config Tools,开发者可快速配置I2C外设,生成初始化代码。该工具提供图形化界面,简化
    的头像 发表于 05-22 09:40 ?1273次阅读
    恩智浦MCU <b class='flag-5'>MCXN947</b> 基于MCUXpresso Config tools创建IIC的教程步骤

    何在MCXN947板的FlexSPI接口接HyperRAM

    MCXN947芯片是一款高度集成的微控制器,具有强大的处理能力、丰富的外设支持和高级安全特性,适用于多种复杂应用。其中有个非常重要的外设为FlexSPI。
    的头像 发表于 06-04 09:39 ?1130次阅读
    如<b class='flag-5'>何在</b><b class='flag-5'>MCXN947</b>板的FlexSPI接口接HyperRAM

    关于将Flash写入FRDM-MCXN947的问题求解

    这次我想问一个关于使用 MCXN947 将 Flash 写入另一个板的问题。 我尝试使用 FRDM-MCXN947 的写入方法作为参考写入此板,但发生了错误。 下面是当时控制台的内容。 NXP
    发表于 03-17 06:29

    MCXN947使用ADC并编写代码,总是报警告是怎么回事?

    我使用 MCXN947,我想使用 ADC 并编写代码,但警告总是发生。然后我创建了一个新项目进行调试,它仍然发生了。 我试着打扫,但还是没用。 警告:无法将 \'main\' 从主机编码 (CP1252) 转换为 UTF-32。 这通常不会发生,请提交 bug 报告。
    发表于 03-20 08:17

    MCXN947如何配置和外扩PSRAM?

    mcxn947自带的ram太小了,无法满足需求,想外扩一块psram,比如乐鑫的esp-psram64芯片,这个需求有哪个案例可以参考吗?
    发表于 03-31 06:54

    MCXN947怎么驱动FRDM-STBI-A8974三轴陀螺仪?

    MCXN947怎么驱动FRDM-STBI-A8974三轴陀螺仪
    发表于 04-14 10:50

    ServiceAbility的生命周期介绍

    ServiceAbility的生命周期 开发者可以根据业务场景重写生命周期相关接口。ServiceAbility生命周期接口说明见下表。 表1 ServiceAbility生命周期
    发表于 05-28 08:22

    《电子发烧友电子设计周报》聚焦硬科技领域核心价值 第17期:2025.06.23--2025.06.27

    、如何在MCXN947微控制器配置安全启动
    发表于 06-27 18:24

    AutoScaling 生命周期挂钩功能

    活动挂起,执行自定义操作。使用 LifecycleHook 功能,可以更加灵活地管理控制伸缩组内 ECS 实例的生命周期,灵活地控制伸缩组内实例的创建和移出过程。当伸缩组发生伸缩活动,触发生命
    发表于 06-27 17:13

    贯穿于全生命周期的功能安全

    简要介绍了功能安全在SIS 全安全生命周期的主要活动,叙述了全生命周期的功能安全管理。简要阐述了贯穿于整体
    发表于 01-06 17:11 ?6次下载

    安全软件开发生命周期与业务安全

    安全软件开发生命周期与业务安全
    发表于 09-08 14:11 ?11次下载
    <b class='flag-5'>安全</b>软件开发<b class='flag-5'>生命周期</b>与业务<b class='flag-5'>安全</b>

    Synopsys 启动生命周期管理计划

    Synopsis 的数据分析驱动的硅生命周期管理计划解决了 IC 生命周期中的质量、可靠性和安全挑战。
    发表于 08-18 15:37 ?1126次阅读
    Synopsys <b class='flag-5'>启动</b>硅<b class='flag-5'>生命周期</b>管理计划

    恩智浦MCX系列MCU的新品MCXN947

    鉴于 N54x 是 N94x 的简配版,我们今天主要聊 MCXN947 这个型号。老规矩先来看一下 MCXN947 内部模块框图,它搭载了两个 Arm Cortex-M33 内核,主频可达 150MHz,此外还为 CM33 配备了 DSP 协处理
    的头像 发表于 12-21 12:57 ?2728次阅读

    使用VSCode调试FRDM MCXN947开发板

    想必关注MCXN947系列MCU的朋友们已经知道板载MCXN947的FRDM开发板已经正式和大家见面了。
    的头像 发表于 05-16 11:16 ?1334次阅读
    使用VSCode调试FRDM <b class='flag-5'>MCXN947</b>开发板

    MCXN947系列高性能微控制器产品介绍

    基于Arm? Cortex?-M33的双核边缘人工智能新品MCXN947系列,搭配功能强大且完全开源的AWTK GUI框架,可轻松令产品方案实现成本与性能的完美平衡。
    的头像 发表于 08-06 16:14 ?1955次阅读
    <b class='flag-5'>MCXN947</b>系列高性能<b class='flag-5'>微控制器</b>产品介绍