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

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

3天内不再提示

如何实现NXP S32K3系列MCU安全调试

IAR爱亚系统 ? 来源:IAR爱亚系统 ? 2025-08-18 11:07 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

随着汽车电子系统变得越来越智能,对功能安全(Safety)的要求越来越高,同时信息安全(Security)也越来越被关注,安全调试(Secure Debug)机制已成为一个重要的信息安全特性。NXP推出的S32K3系列MCU配备了多层次的生命周期管理和硬件安全引擎(Hardware Security Engine, HSE),以确保在产品开发与部署中的信息安全。

本文主要介绍如何在IAR Embedded Workbench for Arm中实现NXP S32K3的安全调试。

01NXP S32K3生命周期与调试权限

NXP S32K3的生命周期(Lifecycle,简称LC)是芯片内用于表示设备状态的重要机制,其状态变化遵循单向流程,不可逆转。生命周期的不同阶段(如: CUST_DEL、OEM_PROD、IN_FIELD等)决定了开发者是否可以访问特定的调试功能和HSE接口。调试功能通常在开发阶段可用,而在量产阶段需限制,以防止未经授权的访问。

在生命周期进入CUST_DEL后面的阶段(如:OEM_PROD、IN_FIELD、PRE_FA),可以配置为Trusted,即开发者通过安全身份认证机制,才可以访问调试端口,进行软件调试。

adc24dc8-77f6-11f0-a18e-92fbcf53809c.png

add62d34-77f6-11f0-a18e-92fbcf53809c.png

02安全调试身份认证机制

当MCU调试端口被设置为受保护状态后,若调试器未能通过身份认证,将无法建立调试会话。NXP提供了两种主要的身份认证方式:

1. 静态认证(Static Authentication):

调试器在每次复位后需提供相同的预设密钥(Application Debug Key/Password, ADKP)以解锁调试接口。

2. 动态认证(Dynamic Authentication):

调试器在每次复位后,需基于芯片生成的挑战数据进行加密计算,并返回相应响应数据以完成身份认证。

这两种模式均需通过HSE接口在CUST_DEL阶段配置,配置方式依赖于HSE的set attribute服务接口(HSE_DEBUG_AUTH_MODE_ATR_ID)。

另外,在每种身份认证方式下,都有两种情况,一种是密钥与MCU UID无关(w/o UID diversified), 另一种则是密钥与MCU UID相关(w UID diversified)。

adea3c48-77f6-11f0-a18e-92fbcf53809c.png

ae003c0a-77f6-11f0-a18e-92fbcf53809c.png

03加锁调试端口

1. 128 位ADKP是一个非常重要的 OTP HSE 系统属性,与安全调试、生命周期和 IVT 身份验证等功能密切相关。通过配置ADKP可以实现加锁调试端口,加锁方式如下:可以直接编写程序烧录ADKP,或者通过HSE进行配置。

ae13d968-77f6-11f0-a18e-92fbcf53809c.png

2. 生命周期需要配置到CUST_DEL之后的生命周期(OEM_PROD、IN_FIELD等),调试端口可基于ADKP的配置进行保护。生命周期配置到进入下一阶段之前,确保ADKP已配置。

加锁调试端口具体流程请咨询NXP。

04安全调试辅助工具 SDAF

NXP提供了对应的安全调试辅助工具(Secure Debug Assist Firmware, SDAF),支持用户在IAR Embedded Workbench for Arm中实现静态和动态身份认证。该工具可用于密钥派生、加密封装、UID管理等关键操作。

SDAF支持如下功能:

利用芯片UID派生ADKP密钥

封装ADKP(支持RSA-2048加密)

将封装密钥注册至本地数据库

SDAF工具与IAR调试脚本配合使用,以实现身份认证流程。SDAF工具可以在NXP S32DS的安装目录中找到,更多关于SDAF工具的信息请咨询NXP。

ae2b3d24-77f6-11f0-a18e-92fbcf53809c.png

05安全调试(静态认证)操作流程

ae3ff89a-77f6-11f0-a18e-92fbcf53809c.png

开发环境: IAR Embedded Workbench for Arm v9.60.4 + I-jet 硬件调试器

1. 准备工作:

a) 调试端口已加锁的NXP S32K3 MCU

b) 获取UID:在调试选项界面配置--macro_param vlk_path="C:/NXP/S32DS.3.5/S32DS/tools/S32Debugger/Debugger/Server/CCS/bin"即配置SDAF工具的路径,然后直接启动调试,身份认证失败后会退出调试,但在Debug log中有打印UID信息。(只有With UID Diversified情况下,需要进行这步操作)

ae4d8bfe-77f6-11f0-a18e-92fbcf53809c.png

ae688742-77f6-11f0-a18e-92fbcf53809c.png

c) 获取ADKP。ADKP为认证密钥,一般由安全人员保管。本示例的ADKP为0x00112233445566778899AABBCCDDEEFF

2. 使用SDAF工具(需要使用admin权限操作SDAF工具),通过volkano_utils.exe的derive_adkp命令,用芯片 UID 来派生 ADKP。(只有With UID Diversified情况下,需要进行这步操作)

ae817ff4-77f6-11f0-a18e-92fbcf53809c.png

3. 在Debugger选项中,按下图格式输入密钥,本示例中:

a) Without UID Diversified模式: 密钥为0x00112233445566778899AABBCCDDEEFF

b) With UID Diversified模式: 密钥为上一步所生成的派生后的ADKP,本例为0xB61A47A672A895E0F384EA32EBD99626

ae916b8a-77f6-11f0-a18e-92fbcf53809c.png

4. 启动调试后,在连接内核时,会调用调试脚本的函数_ExecDeviceCoreConnect() -> _authentication() ->_key(),将密钥写入相应的寄存器

aea301d8-77f6-11f0-a18e-92fbcf53809c.png

5. 密钥写入后, _authentication()函数检查是否JTAG调试已开放,如已开放,则继续调试,否则退出调试。

aec0b796-77f6-11f0-a18e-92fbcf53809c.png

06总结

本文主要以静态认证为例介绍了如何在IAR Embedded Workbench for Arm中实现NXP S32K3的安全调试。

NXP S32K3的动态认证安全调试也已经在IAR Embedded Workbench for Arm中实现,如有需求,欢迎联系IAR中国获取更多详细信息。

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

    关注

    146

    文章

    18082

    浏览量

    371109
  • NXP
    NXP
    +关注

    关注

    61

    文章

    1358

    浏览量

    190272
  • 调试
    +关注

    关注

    7

    文章

    615

    浏览量

    34863
  • IAR
    IAR
    +关注

    关注

    5

    文章

    385

    浏览量

    37676

原文标题:在IAR Embedded Workbench for Arm中实现NXP S32K3安全调试

文章出处:【微信号:IAR爱亚系统,微信公众号:IAR爱亚系统】欢迎添加关注!文章转载请注明出处。

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    恩智浦推出用于汽车微控制器单元——S32K3系列

    S32K1系列开始,恩智浦半导体已将Cortex-M7内核用于一系列汽车微控制器单元(MCU)。新的S32K3
    发表于 11-29 11:31 ?2.7w次阅读

    IAR Systems支持NXP S32K3 MCU系列下一代汽车应用

     IAR Systems?提供的完整开发工具链IAR Embedded Workbench? for Arm?已经支持NXP?半导体的最新汽车级 S32K3 MCU系列
    发表于 11-24 09:07 ?1990次阅读
    IAR Systems支持<b class='flag-5'>NXP</b> <b class='flag-5'>S32K3</b> <b class='flag-5'>MCU</b><b class='flag-5'>系列</b>下一代汽车应用

    s32k3每次运行到Mcu_DistributePllClock报错怎么解决?

    刚开始接触s32k系列产品。s32k3每次运行到Mcu_DistributePllClock,都会报如下错误。问题是什么?
    发表于 03-14 08:38

    请问s32k3 mcu进入睡眠模式后flexcan可以工作吗?

    s32k3 mcu进入睡眠模式后flexcan可以工作吗?客户希望通过 flexcan 唤醒 MCU
    发表于 03-23 07:58

    S32DS和S32K3在软件下载页面中不再可用怎么解决?

    (com.nxp.s32ds.update_3.5.2.20221215192840 ) + S32K3开发包:com.nxp.s32ds.sp1.s32k3xx.update_3.5.0.20221216123831
    发表于 04-03 07:44

    在哪里可以获取S32DS和S32K3软件包下载包?

    (com.nxp.s32ds.update_3.5.2.20221215192840 ) + S32K3开发包:com.nxp.s32ds.sp1.s32k3xx.update_3.5.0.20221216123831
    发表于 04-06 07:06

    如何设置S32K3调试密码?

    1、如何设置S32K3调试密码?阿拉伯数字配置调试密码后如何解锁帐号?1、S32K3怎么配置调试密码?2、配置完成测试密码如何解锁?
    发表于 04-18 09:54

    S32K3系列安全性能如何?

    检查将被跳过。黑客会利用这一点来读取固件。 问题: (1) S32K3系列是否也存在这样的风险? (2) 如果没有,是否有针对这种风险的保护措施?它是如何受到保护的? 问题背后:有一款MCU
    发表于 04-24 07:02

    如何搭配S32K3实现不同系统功能安全要求

    S32K3推出之后,很多开发者都跃跃欲试,希望在自己汽车电子设计中能够尽快用上这款新一代的汽车通用MCU。可你知道吗,在S32K3的应用开发中,特别是在满足功能安全要求的过程中,还有一
    的头像 发表于 12-31 10:19 ?2932次阅读

    详细展示S32K3在功能安全的方方面面

    S32K3系列MCU是按照ISO 26262标准开发的,可以应用在需要满足ASIL B或者ASIL D安全完整性等级要求的系统中。根据应用的安全
    的头像 发表于 07-25 11:38 ?7243次阅读

    S32K3电机控制资源精华汇总

    NXP推出的S32K3XX系列微控制器在电机控制方面具有丰富的外设资源,相比较上个系列S32K1xx来说,控制方式有明显的不同。
    的头像 发表于 01-05 10:53 ?4564次阅读

    基于S32K3的新一代IBCM解决方案

    基于S32K3的新一代IBCM解决方案
    的头像 发表于 09-27 15:51 ?1412次阅读
    基于<b class='flag-5'>S32K3</b>的新一代IBCM解决方案

    S32K3可以直连AWS云服务啦!

    亚马逊云服务(AWS)集成到其广泛采用的S32K3汽车微控制器系列中,以用于车身控制、区域控制和电气化应用,进一步扩展对恩智浦 S32汽车计算平台 上的安全云连接的支持。
    的头像 发表于 10-20 10:15 ?983次阅读
    <b class='flag-5'>S32K3</b>可以直连AWS云服务啦!

    基于 NXP S32K312+FS23 的汽车通用评估板方案

    S32K3系列NXP推出的面向汽车电子和工业应用的微控制器,基于ARMCortex-M7内核,支持单核、双核和锁步内核配置。S32K3系列
    的头像 发表于 12-07 01:08 ?1399次阅读
    基于 <b class='flag-5'>NXP</b> <b class='flag-5'>S32K</b>312+FS23 的汽车通用评估板方案

    S32K3系列汽车级MCU应用笔记

    电子发烧友网站提供《S32K3系列汽车级MCU应用笔记.docx》资料免费下载
    发表于 12-30 15:43 ?2次下载